nted-1.10.18/0000775001041000007640000000000011520270234007610 500000000000000nted-1.10.18/page.cpp0000664001041000007640000014501311520267230011156 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include #include #include "page.h" #include "system.h" #include "mainwindow.h" #include "clipboard.h" #include "staff.h" #include "deletesystemcommand.h" #include "appendsystemcommand.h" #include "movesystemcommand.h" #include "removepagecommand.h" #include "insertfreeplaceablecommand.h" #include "getsystemfromnextpagecmmand.h" #include "commandhistory.h" #include "commandlist.h" #include "chordorrest.h" #include "volumesign.h" #include "temposign.h" #include "scoreinfodialog.h" #include "slurpoint.h" #include "slur.h" #include "linepoint.h" #include "crescendo.h" #include "linesdialog.h" #include "octavation.h" #include "acceleration.h" #include "freesign.h" #include "freechord.h" #include "freespacer.h" #include "pangocairotext.h" #include "freechordname.h" #define X_POS_INVERS(p) ((leftx + (p) / current_scale) / zoom_factor - m_xpos) #define Y_POS_INVERS(p) ((topy + (p) / current_scale) / zoom_factor) #define X_POS_INVERS_PAGE_REL(p) (((leftx + (p) / current_scale) / zoom_factor - getContentXpos())) #define X_POS(p) (((p) + m_xpos) * zoom_factor - leftx) #define Y_POS(p) ((p) * zoom_factor - topy) #define X_POS_PAGE_REL(p) (((p) + getContentXpos()) * zoom_factor - leftx) #define DEFAULT_SYSTEM_DIST (2 * 5 * LINE_DIST) NedPage::NedPage(NedMainWindow *main_window, double width, double height, int nr, unsigned int start_measure_number, bool start) : m_systems(NULL), m_xpos(nr * (width + DEFAULT_BORDER)), m_width(width), m_height(height), default_border(DEFAULT_BORDER), m_page_number(nr), m_main_window(main_window) { int i; double system_pos = TOP_BOTTOM_BORDER; NedSystem *system; if (start) { i = 0; m_system_diff = 100.0; m_systems = g_list_append(m_systems, system = new NedSystem(this, system_pos, m_width - 2 * (LEFT_RIGHT_BORDER - DEFAULT_BORDER), i, start_measure_number, TRUE)); placeStaffs(0); /* do { m_systems = g_list_append(m_systems, system = new NedSystem(this, system_pos, m_width - 2 * (LEFT_RIGHT_BORDER - DEFAULT_BORDER), i, start_measure_number, TRUE)); system_pos += system->getHeight() + DEFAULT_SYSTEM_DIST; i++; placeStaffs(0); } while (m_system_diff > MIN_SYSTEM_Y_DIST); if (g_list_length(m_systems) > 1) { lptr = g_list_last(m_systems); delete ((NedSystem *) lptr->data); m_systems = g_list_delete_link(m_systems, lptr); placeStaffs(0); } */ } } NedPage::~NedPage() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { delete ((NedSystem *) lptr->data); } g_list_free(m_systems); m_systems = NULL; } NedPage *NedPage::clone(struct addr_ref_str **addrlist, struct addr_ref_str **slurlist, NedMainWindow *p_main_window, bool *staves) { GList *lptr; NedPage *page = new NedPage(p_main_window, m_width, m_height, m_page_number, ((NedSystem *)g_list_first(m_systems)->data)->getNumberOfFirstMeasure(), false); for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { page->m_systems = g_list_append(page->m_systems, ((NedSystem *) lptr->data)->clone(addrlist, slurlist, page, staves)); } return page; } void NedPage::adjust_pointers(struct addr_ref_str *addrlist, struct addr_ref_str *slurlist) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->adjust_pointers(addrlist, slurlist); } } #ifdef XXX void NedPage::removeAllBeams() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->removeAllBeams(); } } #endif double NedPage::getTopPos() {return (2 * default_border + m_height) * m_main_window->getCurrentZoomFactor();} double NedPage::getLeftPos() {return (( m_xpos + 2*default_border + m_width)) * m_main_window->getCurrentZoomFactor();} NedSystem *NedPage::appendSystem() { int system_nr; NedSystem *system; system_nr = g_list_length(m_systems); m_systems = g_list_append(m_systems, system = new NedSystem(this, 0, m_width - 2 * (LEFT_RIGHT_BORDER - DEFAULT_BORDER), system_nr, 1, TRUE)); placeStaffs(0); return system; } void NedPage::insertSystem(NedSystem *system) { m_systems = g_list_prepend(m_systems, system); system->changePageInfo(this); } void NedPage::removeSystem(NedSystem *system) { GList *lptr; int system_nr; if ((lptr = g_list_find(m_systems, system)) == NULL) { NedResource::Abort("NedPage::removeSystem"); } m_systems = g_list_delete_link(m_systems, lptr); for (system_nr = 0, lptr = g_list_first(m_systems); lptr; system_nr++, lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->setSystemNumber(system_nr); } } void NedPage::appendSystem(NedCommandList *command_list) { NedAppendSystemCommand *append_sys_cmd = new NedAppendSystemCommand(this); append_sys_cmd->execute(); command_list->addCommand(append_sys_cmd); } bool NedPage::isPageOverflow() { if (g_list_length(m_systems) < 2) return false; do_place_staffs(0.0); return m_system_diff <= MIN_SYSTEM_Y_DIST; } unsigned int NedPage::getNumberOfLastMeasure() { GList *lptr; lptr = g_list_last(m_systems); if (lptr == NULL) { NedResource::Abort("NedPage::getNumberOfLastMeasure"); } return ((NedSystem *) g_list_last(m_systems)->data)->getNumberOfLastMeasure(); } int NedPage::getSorting(NedStaff *this_staff, NedSystem *this_system, NedStaff *other_staff, NedSystem *other_system) { int pos0, pos1; if (this_staff->getStaffNumber() != other_staff->getStaffNumber()) { return SORTING_NONE; } if ((pos0 = g_list_index(m_systems, this_system)) < 0) { NedResource::Warning("NedPage::getSorting: didn't foind system 0"); return SORTING_NONE; } if ((pos1 = g_list_index(m_systems, other_system)) < 0) { NedResource::Warning("dNedPage::getSorting: idn't foind system 1"); return SORTING_NONE; } if (pos0 + 1 == pos1) { return SORTING_GREAT; } if (pos1 + 1 == pos0) { return SORTING_LESS; } return SORTING_NONE; } bool NedPage::isFirst(NedSystem *system) { GList *lptr; if ((lptr = g_list_find(m_systems, system)) == NULL) { NedResource::Abort("NedPage::isFirst"); } return (lptr == g_list_first(m_systems)); } bool NedPage::isLast(NedSystem *system) { GList *lptr; if ((lptr = g_list_find(m_systems, system)) == NULL) { NedResource::Abort("NedPage::isLast"); } return (lptr == g_list_last(m_systems)); } NedSystem *NedPage::getLastSystem() { return (NedSystem *) g_list_last(m_systems)->data; } bool NedPage::find_staff_and_line(int x, int y, NedStaff **last_staff, int *last_line) { double zoom_factor = m_main_window->getCurrentZoomFactor(); double current_scale = m_main_window->getCurrentScale(); double leftx = m_main_window->getLeftX(); double bottom; double xl = X_POS_INVERS(x); double yl2; if (xl < 0.0 || xl > m_width) return false; return findLine(x, y, &yl2, last_line, &bottom, last_staff); } void NedPage::draw(cairo_t *cr, bool show_measure_numbers, double main_width, double main_height) { double leftx = m_main_window->getLeftX(); double topy = m_main_window->getTopY(); double zoom_factor = m_main_window->getCurrentZoomFactor(); double scale = m_main_window->getCurrentScale(); ScoreInfo *score_info = NULL; double xp, yp; bool first = true; bool freetext_or_lyrics_present; cairo_scale(cr, m_main_window->getCurrentScale(), m_main_window->getCurrentScale()); if (!m_main_window->doDrawPostscript()) { if ((m_xpos * zoom_factor - leftx) * scale > main_width) {cairo_identity_matrix(cr); return;} if (((m_xpos + (DEFAULT_BORDER + m_width)) * zoom_factor - leftx) * scale < 0) {cairo_identity_matrix(cr); return;} cairo_set_source_rgb (cr, 0.3, 0.3, 0.3); cairo_rectangle (cr, m_xpos * zoom_factor - leftx, -topy, (2 * DEFAULT_BORDER + m_width) * zoom_factor, (2 * DEFAULT_BORDER + m_height) * zoom_factor); cairo_fill(cr); cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); cairo_rectangle (cr, (m_xpos + DEFAULT_BORDER) * zoom_factor -leftx, DEFAULT_BORDER * zoom_factor - topy, m_width * zoom_factor, m_height * zoom_factor); cairo_fill(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); xp = m_xpos; } else { cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); cairo_rectangle (cr, (DEFAULT_BORDER) * zoom_factor, DEFAULT_BORDER * zoom_factor, m_width * zoom_factor, m_height * zoom_factor); cairo_fill(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); xp = 0.0; } if (m_page_number == 0) { cairo_identity_matrix(cr); yp = 0.0; score_info = getMainWindow()->getScoreInfo(); if (m_main_window->getScoreInfo()->title != NULL) { score_info->title->draw(cr, ((xp + DEFAULT_BORDER + (m_width - score_info->title_extends.width) / 2.0) * zoom_factor -leftx ) * scale, (STAFF_TOP_DIST + score_info->title_extends.height) * zoom_factor - topy, zoom_factor, scale); yp += score_info->title_extends.height + 4.0 * SCORE_INFO_EXTRA_DIST; } if (m_main_window->getScoreInfo()->subject != NULL) { score_info->subject->draw(cr, ((xp + DEFAULT_BORDER + (m_width - score_info->subject_extends.width) / 2.0) * zoom_factor -leftx) * scale, (STAFF_TOP_DIST + yp + score_info->subject_extends.height) * zoom_factor - topy, zoom_factor, scale); yp += score_info->subject_extends.height; } if (m_main_window->getScoreInfo()->composer != NULL) { score_info->composer->draw(cr, ((xp + DEFAULT_BORDER + (m_width - score_info->composer_extends.width - DEFAULT_BORDER - LEFT_RIGHT_BORDER)) * zoom_factor -leftx) * scale, (STAFF_TOP_DIST + yp + score_info->composer_extends.height) * zoom_factor - topy, zoom_factor, scale); yp += score_info->composer_extends.height + SCORE_INFO_EXTRA_DIST; } if (m_main_window->getScoreInfo()->arranger != NULL) { score_info->arranger->draw(cr, ((xp + DEFAULT_BORDER + (m_width - score_info->arranger_extends.width - DEFAULT_BORDER - LEFT_RIGHT_BORDER)) * zoom_factor -leftx) * scale, (STAFF_TOP_DIST + yp + score_info->arranger_extends.height) * zoom_factor - topy, zoom_factor, scale); yp += score_info->arranger_extends.height + SCORE_INFO_EXTRA_DIST; } if (m_main_window->getScoreInfo()->copyright != NULL) { score_info->copyright->draw(cr, ((xp + DEFAULT_BORDER + (m_width - score_info->copyright_extends.width - DEFAULT_BORDER - LEFT_RIGHT_BORDER)) * zoom_factor -leftx) * scale, (STAFF_TOP_DIST + yp + score_info->copyright_extends.height) * zoom_factor - topy, zoom_factor, scale); } cairo_scale(cr, m_main_window->getCurrentScale(), m_main_window->getCurrentScale()); } GList *lptr; freetext_or_lyrics_present = false; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->draw(cr, m_page_number == 0 && first, show_measure_numbers, &freetext_or_lyrics_present); first = false; } cairo_identity_matrix(cr); if (freetext_or_lyrics_present) { first = true; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->drawTexts(cr, m_page_number == 0 && first, scale); first = false; } } cairo_show_page(cr); }; int NedPage::getNumberOfStaffs() { return ((NedSystem *) g_list_first(m_systems)->data)->getNumberOfStaffs(); } double NedPage::getContentXpos() { if (m_main_window->doDrawPostscript()) { return LEFT_RIGHT_BORDER; } return m_xpos + LEFT_RIGHT_BORDER; } bool NedPage::isLastPage() { return m_main_window->getLastPage() == this; } bool NedPage::isLastSystem(NedSystem *system) { GList *lptr; if (m_main_window->getLastPage() != this) return false; if ((lptr = g_list_last(m_systems)) == NULL) { NedResource::Abort("NedPage::isLastSystem"); } return (((NedSystem *) lptr->data) == system); } void NedPage::setAndUpdateClefTypeAndKeySig(int *clef_and_key_array, bool first) { GList *lptr; double indent = first ? m_main_window->getFirstSystemIndent() : m_main_window->get2ndSystemIndent(); if ((lptr = g_list_first(m_systems)) == NULL) return; ((NedSystem *) lptr->data)->setAndUpdateClefTypeAndKeySig(clef_and_key_array, indent, first); indent = m_main_window->get2ndSystemIndent(); for (lptr = g_list_next(lptr); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->setAndUpdateClefTypeAndKeySig(clef_and_key_array, indent, false); } } void NedPage::determineTempoInverse(NedChordOrRest *element, NedSystem* system, double *tempoinverse, bool *found) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { if ((NedSystem *) lptr->data == system) { ((NedSystem *) lptr->data)->determineTempoInverse(element, element->getMidiTime(), tempoinverse, found); break; } ((NedSystem *) lptr->data)->determineTempoInverse(NULL, element->getMidiTime(), tempoinverse, found); } } void NedPage::detectVoices(int staff_nr, unsigned int *voice_mask, NedSystem **last_system, unsigned long long *end_time) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->detectVoices(staff_nr, voice_mask, last_system, end_time); } } void NedPage::cutEmptyVoices() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->cutEmptyVoices(); } } void NedPage::handleEmptyMeasures() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->handleEmptyMeasures(); } } bool NedPage::hasOnlyRests() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { if (!((NedSystem *) lptr->data)->hasOnlyRests()) return false; } return true; } void NedPage::setAllUnpositioned() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->m_is_positioned = false; } } void NedPage::zoomFreeReplaceables(double zoom, double scale) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->zoomFreeReplaceables(zoom, scale); } } void NedPage::recomputeFreeReplaceables() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->recomputeFreeReplaceables(); } } void NedPage::testTies() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->testTies(); } } bool NedPage::exportLilyPond(FILE *fp, int staff_nr, int voice_nr, int *last_line, unsigned int *midi_len, NedSystem *last_system, unsigned long long end_time, bool *in_alternative, NedSlur **lily_slur, unsigned int *lyrics_map, bool with_break, bool *guitar_chordnames, bool *chordnames, int *breath_script, bool keep_beams) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->exportLilyPond(fp, staff_nr, voice_nr, last_line, midi_len, last_system, end_time, in_alternative, lily_slur, lyrics_map, with_break, guitar_chordnames, chordnames, breath_script, keep_beams); if ((NedSystem *) lptr->data == last_system) return false; } return true; } bool NedPage::exportLilyGuitarChordnames(FILE *fp, int staff_nr, int *last_line, unsigned int *midi_len, NedSystem *last_system, unsigned long long end_time, bool *in_alternative, bool with_break) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->exportLilyGuitarChordnames(fp, staff_nr, last_line, midi_len, last_system, end_time, in_alternative, with_break); if ((NedSystem *) lptr->data == last_system) return false; } return true; } bool NedPage::exportLilyFreeChordName(FILE *fp, int staff_nr, int *last_line, unsigned int *midi_len, NedSystem *last_system, unsigned long long end_time, bool *in_alternative, bool with_break) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->exportLilyFreeChordName(fp, staff_nr, last_line, midi_len, last_system, end_time, in_alternative, with_break); if ((NedSystem *) lptr->data == last_system) return false; } return true; } bool NedPage::exportLilyLyrics(FILE *fp, int staff_nr, int voice_nr, int line_nr, NedSystem *last_system, unsigned long long end_time, int *sil_count) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->exportLilyLyrics(fp, ((NedSystem *) lptr->data) == last_system, staff_nr, voice_nr, line_nr, end_time, sil_count); if (((NedSystem *) lptr->data) == last_system) return false; } return true; } void NedPage::collectLyrics(NedLyricsEditor *leditor, int staff_nr) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->collectLyrics(leditor, staff_nr); } } void NedPage::setLyrics(NedCommandList *command_list, NedLyricsEditor *leditor, int staff_nr) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->setLyrics(command_list, leditor, staff_nr); } } void NedPage::copyDataOfWholeStaff(int staff_nr) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->copyDataOfWholeStaff(staff_nr); } } void NedPage::handleStaffElements() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->handleStaffElements(); } } void NedPage::setInternalPitches() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->setInternalPitches(); } } void NedPage::adjustAccidentals(int staff_nr) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->adjustAccidentals(staff_nr); } } void NedPage::changeAccidentals(NedCommandList *command_list, int preferred_offs, bool *staff_list, GList *selected_group) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->changeAccidentals(command_list, preferred_offs, staff_list, selected_group); } } void NedPage::transpose(int pitchdist, bool *staff_list, GList *selected_group) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->transpose(pitchdist, staff_list, selected_group); } } void NedPage::hideRests(NedCommandList *command_list, bool unhide, int staff_nr, int voice_nr) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->hideRests(command_list, unhide, staff_nr, voice_nr); } } bool NedPage::shiftNotes(unsigned long long start_time, int linedist, NedSystem *start_system, int staff_number) { GList *lptr; if (start_system == 0) { lptr = g_list_first(m_systems); } else { if ((lptr = g_list_find(m_systems, start_system)) == NULL) { NedResource::Abort("NedPage::shiftNotes"); } } for (; lptr; lptr = g_list_next(lptr)) { if (!((NedSystem *) lptr->data)->shiftNotes(start_time, linedist, staff_number)) { return false; } } return true; } void NedPage::removeUnneededAccidentals(int staff_nr /* = -1 */) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->removeUnneededAccidentals(staff_nr); } } void NedPage::prepareReplay(bool with_keysig /* = false */) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->prepareReplay(with_keysig); NedResource::increaseSystemStartTime(((NedSystem *) lptr->data)->getSystemEndTime()); } } void NedPage::reconfig_paper(double width, double height) { GList *lptr; m_xpos = m_page_number * (width + DEFAULT_BORDER) * m_main_window->getCurrentScale(); m_width = width; m_height = height; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->setWidth(m_width - 2 * (LEFT_RIGHT_BORDER - DEFAULT_BORDER)); } } void NedPage::getLinePoints(NedStaff *start_staff, NedStaff *end_staff, GList **staves) { GList *lptr; NedStaff *staff; NedPage *next_page; int staff_nr = start_staff->getStaffNumber(); int i; if (start_staff->getPage() != this) { if ((next_page = m_main_window->getNextPage(this)) == NULL) { NedResource::Abort("NedPage::getLinePoints: error 1"); } if ((lptr = g_list_find(next_page->m_systems, start_staff->getSystem())) == NULL) { NedResource::Abort("NedPage::getLinePoints: error 2"); } } else { if ((lptr = g_list_find(m_systems, start_staff->getSystem())) == NULL) { NedResource::Abort("NedPage::getLinePoints: error 3"); } } for (i = 0; i < 2; i++) { for (; lptr; lptr = g_list_next(lptr)) { if ((staff = ((NedSystem *) lptr->data)->getStaff(staff_nr)) == NULL) { NedResource::Abort("NedPage::getLinePoints: error 4"); } *staves = g_list_append(*staves, staff); if (staff == end_staff) return; } if ((next_page = end_staff->getPage()) == NULL) { NedResource::Abort("NedPage::getLinePoints: error 6"); } if ((lptr = g_list_first(next_page->m_systems)) == NULL) { NedResource::Abort("NedPage::getLinePoints: error 7"); } } NedResource::DbgMsg(DBG_CRITICAL, "gesucht wurde in staff %d\n", staff_nr); NedResource::Abort("NedPage::getLinePoints: error 8"); } void NedPage::savePage(FILE *fp) { GList *lptr; fprintf(fp, "PAGE %d\n", m_page_number); for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->saveSystem(fp); } } void NedPage::restorePage(FILE *fp) { int i, system_nr; char buffer[128]; NedSystem *system; double system_pos = TOP_BOTTOM_BORDER; i = 0; do { if (!NedResource::readWord(fp, buffer)) { if (feof(fp)) return; NedResource::m_error_message = "(1)SYSTEM or PAGE expected"; return; } if (strcmp(buffer, "SYSTEM")) { if (!strcmp(buffer, "PAGE")) { NedResource::unreadWord(buffer); return; } NedResource::DbgMsg(DBG_CRITICAL, "buffer = %s\n", buffer); NedResource::m_error_message = "(2)SYSTEM or PAGE expected"; return; } if (!NedResource::readInt(fp, &system_nr)) { NedResource::m_error_message = "SYSTEM number expected"; return; } /* if (system_nr != i) { NedResource::m_error_message = "bad system_nr"; return; } */ if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": expected"; return; } system = new NedSystem(this, system_pos, m_width - 2 * (LEFT_RIGHT_BORDER - DEFAULT_BORDER), system_nr, 0 /* dummy is reset during "renumberMeasures()" at the end of "reposit()" */, FALSE); m_systems = g_list_append(m_systems, system); system->restoreSystem(fp); i++; system_pos += system->getHeight() + DEFAULT_SYSTEM_DIST; } while (NedResource::m_error_message == NULL); } bool NedPage::tryChangeLength(NedChordOrRest *chord_or_rest) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { if (((NedSystem *) lptr->data)->tryChangeLength(chord_or_rest)) { return TRUE; } } return FALSE; } bool NedPage::trySelect(double x, double y, bool only_free_placeables /* = false */) { double zoom_factor = m_main_window->getCurrentZoomFactor(); double leftx = m_main_window->getLeftX(); double current_scale = m_main_window->getCurrentScale(); double xl = X_POS_INVERS(x); if (xl < 0.0 || xl > m_width) return false; GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { if (((NedSystem *) lptr->data)->trySelect(x, y, only_free_placeables)) { return true; } } return false; } NedChordOrRest *NedPage::findNearestElement(int staff_nr, double x, double y, NedStaff *oldstaff, double *ydist) { double mindist = 10000000.0; NedChordOrRest *nearestElement = NULL, *element; GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { if ((element = ((NedSystem *) lptr->data)->findNearestElement(staff_nr, x, y, oldstaff, &mindist, ydist)) != NULL) { nearestElement = element; } } return nearestElement; } bool NedPage::findTimeOfMeasure(int meas_num, unsigned long long *meas_time, unsigned long long *system_offs) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { if (((NedSystem *) lptr->data)->findTimeOfMeasure(meas_num, meas_time)) { return true; } *system_offs += ((NedSystem *) lptr->data)->getSystemEndTime(); } return false; } void NedPage::collectSelectionRectangleElements(NedBbox *sel_rect, GList **sel_group, NedSystem *first_selected_system, NedSystem *last_selected_system, NedPage *first_selected_page, NedPage *last_selected_page) { double xp = sel_rect->x - m_xpos; if (xp + sel_rect->width < 0.0 || m_width < xp) return; GList *lptr; xp -= LEFT_RIGHT_BORDER; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->collectSelectionRectangleElements(xp, sel_rect, sel_group, first_selected_system, last_selected_system, first_selected_page == this, last_selected_page == this); } } void NedPage::findSelectedFirstsLasts(NedBbox *sel_rect, int *number_of_first_selected_staff, int *number_of_last_selected_staff, NedSystem **first_selected_system, NedSystem **last_selected_system, NedPage **first_selected_page, NedPage **last_selected_page) { double xp = sel_rect->x - m_xpos; if (xp + sel_rect->width < 0.0 || m_width < xp) return; GList *lptr; xp -= LEFT_RIGHT_BORDER; if (*first_selected_page == NULL) { *first_selected_page = *last_selected_page = this; } else { *last_selected_page = this; } for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->findSelectedSystems(sel_rect, number_of_first_selected_staff, number_of_last_selected_staff, first_selected_system, last_selected_system); } } void NedPage::findFromTo(GList *clipboard, NedPage **min_page, NedPage **max_page, NedSystem **min_sys, NedSystem **max_sys) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { if (((NedSystem *) lptr->data)->findFromTo(clipboard, min_sys, max_sys)) { if (*min_page == NULL) { *min_page = *max_page = this; } else { *max_page = this; } } } } void NedPage::deleteItemsFromTo(NedCommandList *command_list, bool is_first_page, bool is_last_page, NedSystem *min_sys, NedSystem *max_sys, unsigned long long start_midi, unsigned long long end_midi) { NedSystem *system; GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { system = (NedSystem *) lptr->data; if (is_first_page && system->getSystemNumber() < min_sys->getSystemNumber()) continue; if (is_last_page && system->getSystemNumber() > max_sys->getSystemNumber()) break; system->deleteItemsFromTo(command_list, system == min_sys, system == max_sys, start_midi, end_midi); } } void NedPage::removeNotesFromTo(NedCommandList *command_list, GList *items, bool is_first_page, bool is_last_page, NedSystem *min_sys, NedSystem *max_sys) { GList *lptr; NedSystem *system; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { system = (NedSystem *) lptr->data; if (is_first_page && system->getSystemNumber() < min_sys->getSystemNumber()) continue; if (is_last_page && system->getSystemNumber() > max_sys->getSystemNumber()) break; system->removeNotesFromTo(command_list, items, system == min_sys, system == max_sys); } } void NedPage::testForPageBackwardTies(NedCommandList *command_list) { ((NedSystem *) g_list_first(m_systems)->data)->testForPageBackwardTies(command_list); } void NedPage::checkForElementsToSplit(NedCommandList *command_list, int *measure_number) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->checkForElementsToSplit(command_list, measure_number); } } NedStaff *NedPage::findStaff(double x, double y, NedMeasure **measure) { double zoom_factor = m_main_window->getCurrentZoomFactor(); double current_scale = m_main_window->getCurrentScale(); double leftx = m_main_window->getLeftX(); NedStaff *staff; double xl = X_POS_INVERS(x); if (xl < 0.0 || xl > m_width) return NULL; GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { if ((staff = ((NedSystem *) lptr->data)->findStaff(xl + m_xpos, y, measure)) != NULL) { return staff; } } return NULL; } double NedPage::convertX(double xpos) { double zoom_factor = m_main_window->getCurrentZoomFactor(); double leftx = m_main_window->getLeftX(); return m_main_window->getCurrentScale() * X_POS_PAGE_REL(xpos); } bool NedPage::isXOnPage(double x) { double zoom_factor = m_main_window->getCurrentZoomFactor(); double current_scale = m_main_window->getCurrentScale(); double leftx = m_main_window->getLeftX(); double xl = X_POS_INVERS(x); if (xl < 0.0 || xl > m_width) return false; return true; } bool NedPage::tryInsertOrErease(double x, double y, int num_midi_input_notes, int *midi_input_chord /* given if insert from midikeyboard */, NedChordOrRest **newObj /* = NULL */, bool force_rest /* = false */) { double zoom_factor = m_main_window->getCurrentZoomFactor(); double current_scale = m_main_window->getCurrentScale(); double leftx = m_main_window->getLeftX(); NedChordOrRest *element; NedChordName *chordname; double dummy, dummy0; double topy, xx, yy; double xx2, yy2; unsigned int kind, tempo; NedCommandList *command_list; NedLinePoint *lp0, *lp1, *lp2; if (newObj != NULL) { *newObj = NULL; } double xl = X_POS_INVERS(x); #define LINE_START_X_DIST 2.0 #define SLUR_START_X_DIST 1.0 #define SLUR_START_Y_DIST ( 2 * LINE_DIST ) if (xl < 0.0 || xl > m_width) return FALSE; GList *lptr; double mindist, d; if (midi_input_chord == NULL) { // x, y given switch(m_main_window->getSpecialType()) { case TYPE_DYNAMIC: case TYPE_TEMPO: topy = m_main_window->getTopY(); xx = X_POS_INVERS_PAGE_REL(x); yy = Y_POS_INVERS(y); element = findNearestElement(-1, xx, yy, NULL, &dummy); command_list = new NedCommandList(m_main_window); if (m_main_window->getSpecialType() == TYPE_DYNAMIC) { command_list->addCommand(new NedInsertFreePlaceableCommand(new NedVolumeSign(m_main_window->getSpecialSubTypeInt()), element, xx, yy)); } else { kind = (m_main_window->getSpecialSubTypeInt() & 0xffff) * FACTOR; tempo = ((m_main_window->getSpecialSubTypeInt() >> 16) & 0xffff); command_list->addCommand(new NedInsertFreePlaceableCommand(new NedTempoSign(kind, tempo), element, xx, yy)); } command_list->execute(); m_main_window->getCommandHistory()->addCommandList(command_list); m_main_window->resetSpecialType(); return TRUE; case TYPE_SIGN: topy = m_main_window->getTopY(); xx = X_POS_INVERS_PAGE_REL(x); yy = Y_POS_INVERS(y); element = findNearestElement(-1, xx, yy, NULL, &dummy); command_list = new NedCommandList(m_main_window); command_list->addCommand(new NedInsertFreePlaceableCommand(new NedFreeSign(m_main_window->getSpecialSubTypeInt()), element, xx, yy)); command_list->execute(); m_main_window->getCommandHistory()->addCommandList(command_list); m_main_window->resetSpecialType(); return TRUE; case TYPE_GUITAR_CHORD: topy = m_main_window->getTopY(); xx = X_POS_INVERS_PAGE_REL(x); yy = Y_POS_INVERS(y); #define CHOR_NAME_Y_DIST 0.4 #define CHOR_NAME_X_DIST 0.4 element = findNearestElement(-1, xx, yy, NULL, &dummy); xx2 = element->getXPos() - CHOR_NAME_X_DIST; yy2 = element->getSystem()->getYPos() + element->getStaff()->getTopPos() - CHOR_NAME_Y_DIST; command_list = new NedCommandList(m_main_window); command_list->addCommand(new NedInsertFreePlaceableCommand(new NedFreeChord(m_main_window->getSpecialSubTypeChordInfo().chord_ptr, m_main_window->getSpecialSubTypeChordInfo().chord_name_num, m_main_window->getSpecialSubTypeChordInfo().status, m_main_window), element, xx2, yy2)); command_list->execute(); m_main_window->setAllUnpositioned(); m_main_window->reposit(command_list); m_main_window->getCommandHistory()->addCommandList(command_list); m_main_window->resetSpecialType(); return TRUE; case TYPE_SPACER: topy = m_main_window->getTopY(); xx = X_POS_INVERS_PAGE_REL(x); yy = Y_POS_INVERS(y); element = findNearestElement(-1, xx, yy, NULL, &dummy); command_list = new NedCommandList(m_main_window); command_list->addCommand(new NedInsertFreePlaceableCommand(new NedFreeSpacer(m_main_window), element, xx, yy)); command_list->execute(); m_main_window->setAllUnpositioned(); m_main_window->reposit(command_list); m_main_window->getCommandHistory()->addCommandList(command_list); m_main_window->resetSpecialType(); return TRUE; case TYPE_CHORDNAME: topy = m_main_window->getTopY(); xx = X_POS_INVERS_PAGE_REL(x); yy = Y_POS_INVERS(y); element = findNearestElement(-1, xx, yy, NULL, &dummy); xx2 = element->getXPos() - CHOR_NAME_X_DIST; yy2 = element->getSystem()->getYPos() + element->getStaff()->getTopPos() - m_main_window->getSpecialSubTypeChordNameInfo().ydist; command_list = new NedCommandList(m_main_window); command_list->addCommand(new NedInsertFreePlaceableCommand(chordname = new NedChordName(m_main_window->getDrawingArea(),m_main_window->getSpecialSubTypeChordNameInfo().root_name, m_main_window->getSpecialSubTypeChordNameInfo().up_name,m_main_window->getSpecialSubTypeChordNameInfo().down_name, m_main_window->getSpecialSubTypeChordNameInfo().fontsize), element, xx2, yy2)); chordname->setZoom(zoom_factor, current_scale); command_list->execute(); m_main_window->setAllUnpositioned(); m_main_window->reposit(command_list); m_main_window->getCommandHistory()->addCommandList(command_list); //m_main_window->resetSpecialType(); return TRUE; case TYPE_FREE_TEXT: topy = m_main_window->getTopY(); xx = X_POS_INVERS_PAGE_REL(x); yy = Y_POS_INVERS(y); element = findNearestElement(-1, xx, yy, NULL, &dummy); command_list = new NedCommandList(m_main_window); command_list->addCommand(new NedInsertFreePlaceableCommand(m_main_window->m_freetext, element, xx, yy)); m_main_window->m_freetext->setZoom(zoom_factor, current_scale); command_list->execute(); m_main_window->m_freetext = NULL; m_main_window->getCommandHistory()->addCommandList(command_list); m_main_window->resetSpecialType(); return TRUE; case TYPE_LINE: topy = m_main_window->getTopY(); xx = X_POS_INVERS_PAGE_REL(x); if (xx > m_width / 2.0) xx -= 2 * SLUR_START_X_DIST; yy = Y_POS_INVERS(y); command_list = new NedCommandList(m_main_window); element = findNearestElement(-1, xx, yy, NULL, &dummy); command_list->addCommand(new NedInsertFreePlaceableCommand(lp0 = new NedLinePoint(NULL, 0), element, xx, yy)); dummy0 = 10000000.0; element = element->getStaff()->findNearestElement(xx + LINE_START_X_DIST, yy, NULL, &dummy0, &dummy); command_list->addCommand(new NedInsertFreePlaceableCommand(lp1 = new NedLinePoint(NULL, 1), element, xx + LINE_START_X_DIST, yy)); command_list->execute(); switch (m_main_window->getSpecialSubTypeInt()) { case LINE_CRESCENDO: case LINE_DECRESCENDO: new NedCrescendo(lp0, lp1, m_main_window->getSpecialSubTypeInt() == LINE_DECRESCENDO); break; case LINE_OCTAVATION1: case LINE_OCTAVATION_1: case LINE_OCTAVATION2: case LINE_OCTAVATION_2: new NedOctavation(lp0, lp1, m_main_window->getSpecialSubTypeInt()); break; } m_main_window->getCommandHistory()->addCommandList(command_list); m_main_window->resetSpecialType(); m_main_window->m_selected_free_replaceable = lp0; return TRUE; case TYPE_LINE3: topy = m_main_window->getTopY(); xx = X_POS_INVERS_PAGE_REL(x); //if (xx > m_width / 2.0) xx -= 3 * SLUR_START_X_DIST; yy = Y_POS_INVERS(y); command_list = new NedCommandList(m_main_window); element = findNearestElement(-1, xx, yy, NULL, &dummy); command_list->addCommand(new NedInsertFreePlaceableCommand(lp0 = new NedLinePoint(NULL, 0), element, xx, yy)); dummy0 = 10000000.0; element = element->getStaff()->findNearestElement(xx + LINE_START_X_DIST, yy, NULL, &dummy0, &dummy); command_list->addCommand(new NedInsertFreePlaceableCommand(lp1 = new NedLinePoint(NULL, 1), element, xx + LINE_START_X_DIST, yy)); dummy0 = 10000000.0; element = element->getStaff()->findNearestElement(xx + 2 * LINE_START_X_DIST, yy, NULL, &dummy0, &dummy); command_list->addCommand(new NedInsertFreePlaceableCommand(lp2 = new NedLinePoint(NULL, 1), element, xx + 2 * LINE_START_X_DIST, yy)); command_list->execute(); new NedAcceleration(lp0, lp1, lp2, m_main_window->getSpecialSubTypeInt() == LINE_RITARDANDO); m_main_window->getCommandHistory()->addCommandList(command_list); m_main_window->resetSpecialType(); m_main_window->m_selected_free_replaceable = lp0; return TRUE; } } lptr = g_list_first(m_systems); NedSystem *nearest_system = (NedSystem *) lptr->data; mindist = nearest_system->computeMidDist(y); for (lptr = g_list_next(lptr); lptr; lptr = g_list_next(lptr)) { if ((d = ((NedSystem *) lptr->data)->computeMidDist(y)) < mindist) { nearest_system = (NedSystem *) lptr->data; mindist = d; } } if (nearest_system->tryInsertOrErease(x, y, num_midi_input_notes, midi_input_chord, newObj, force_rest)) { return true; } return false; } void NedPage::insertSlur(GdkRectangle *selection_rect) { double zoom_factor = m_main_window->getCurrentZoomFactor(); double current_scale = m_main_window->getCurrentScale(); double leftx = m_main_window->getLeftX(); double topy, xx, yy, yyy; double xx0, yy0, xx1, yy1, xx2, yy2; double xdist, ydist, dist; double dummy, dummy0; int dir, l, mid; NedSlurPoint *sp[3]; GList *lptr; NedChordOrRest *element, *element0, *element1, *element2; NedCommandList *command_list = new NedCommandList(m_main_window); if (NedResource::m_main_clip_board == NULL) { //printf("Paramater vom Rect\n"); fflush(stdout); topy = m_main_window->getTopY(); xx = X_POS_INVERS_PAGE_REL(selection_rect->x); if (xx > m_width / 2.0) xx -= (3 * SLUR_START_X_DIST) / zoom_factor; yy = Y_POS_INVERS(selection_rect->y); command_list = new NedCommandList(m_main_window); element = findNearestElement(-1, xx, yy, NULL, &dummy); yyy = element->getSystem()->getYPos() + element->getStaff()->getMidPos(); command_list->addCommand(new NedInsertFreePlaceableCommand(sp[0] = new NedSlurPoint(NULL, 0), element, xx, yyy)); dummy0 = 10000000.0; element1 = element->getStaff()->findNearestElement(xx + SLUR_START_X_DIST, yyy - SLUR_START_Y_DIST, NULL, &dummy0, &dummy); command_list->addCommand(new NedInsertFreePlaceableCommand(sp[1] = new NedSlurPoint(NULL, 1), element1, xx + SLUR_START_X_DIST, yyy - SLUR_START_Y_DIST)); dummy0 = 10000000.0; element2 = element->getStaff()->findNearestElement(xx + 2 * SLUR_START_X_DIST, yyy - SLUR_START_Y_DIST / 2, NULL, &dummy0, &dummy); command_list->addCommand(new NedInsertFreePlaceableCommand(sp[2] = new NedSlurPoint(NULL, 2), element2, xx + 2 * SLUR_START_X_DIST, yyy - SLUR_START_Y_DIST / 2)); } else { //printf("Paramater von Elementen\n"); fflush(stdout); dir = 0; l = g_list_length(NedResource::m_main_clip_board); if (l < 2) { NedResource::Abort("l > 2"); } mid = l / 2; lptr = g_list_last(NedResource::m_main_clip_board); dir += ((NedChordOrRest *) lptr->data)->hasUpDir() ? 1 : -1; element2 = (NedChordOrRest *) lptr->data; lptr = g_list_first(NedResource::m_main_clip_board); dir += ((NedChordOrRest *) lptr->data)->hasUpDir() ? 1 : -1; element0 = (NedChordOrRest *) lptr->data; #define SLUR_X_DIST_PROLONG (LINE_DIST * 0.5) xx2 = element2->getXPos() + element2->getBBox()->width_netto + element2->getBBox()->x + SLUR_X_DIST_PROLONG; yy2 = element2->getStaff()->getTopPos() + element2->getSystem()->getYPos() + element2->getStemBottom(); lptr = g_list_nth(NedResource::m_main_clip_board, mid); dir += ((NedChordOrRest *) lptr->data)->hasUpDir() ? 1 : -1; element1 = (NedChordOrRest *) lptr->data; /* xx1 = element1->getXPos(); yy1 = element1->getStaff()->getTopPos() + element1->getSystem()->getYPos() + element1->getStemBottom(); */ dir = (dir > 0.0) ? 1.0 : -1.0; #define SLUR_MIDDLE_DIST (LINE_DIST * 1.8) #define SLUR_Y_DIST_UP (LINE_DIST * 1.0) #define SLUR_Y_DIST_DOWN (LINE_DIST * 2.0) xx0 = element0->getXPos() + element2->getBBox()->x - SLUR_X_DIST_PROLONG; yy0 = element0->getStaff()->getTopPos() + element0->getSystem()->getYPos() + element0->getStemBottom(); yy2 += dir * ((dir > 0) ? SLUR_Y_DIST_DOWN : SLUR_Y_DIST_UP); yy0 += dir * ((dir > 0) ? SLUR_Y_DIST_DOWN : SLUR_Y_DIST_UP); command_list->addCommand(new NedInsertFreePlaceableCommand(sp[0] = new NedSlurPoint(NULL, 0), element2, xx2, yy2)); command_list->addCommand(new NedInsertFreePlaceableCommand(sp[2] = new NedSlurPoint(NULL, 0), element0, xx0, yy0)); xdist = xx2 - xx0; ydist = yy2 - yy0; xx1 = xx0 + xdist / 2.0; yy1 = yy0 + ydist / 2.0; dist = sqrt(xdist * xdist + ydist * ydist); xdist /= dist; ydist /= dist; xx1 -= ydist * dir * SLUR_MIDDLE_DIST; yy1 += xdist * dir * SLUR_MIDDLE_DIST; command_list->addCommand(new NedInsertFreePlaceableCommand(sp[1] = new NedSlurPoint(NULL, 0), element1, xx1, yy1)); } command_list->execute(); new NedSlur(sp); m_main_window->getCommandHistory()->addCommandList(command_list); m_main_window->resetSpecialType(); m_main_window->m_selected_free_replaceable = sp[2]; } bool NedPage::findLine(double x, double y, double *ypos, int *line, double *bottom, NedStaff **staff) { double zoom_factor = m_main_window->getCurrentZoomFactor(); double leftx = m_main_window->getLeftX(); double current_scale = m_main_window->getCurrentScale(); double xl = X_POS_INVERS(x); if (xl < 0.0 || xl > m_width) return FALSE; GList *lptr; double mindist, d; lptr = g_list_first(m_systems); if (lptr == NULL) { return FALSE; // don't know in which case this happens; concerns mainly MIDI import } NedSystem *nearest_system = (NedSystem *) lptr->data; mindist = nearest_system->computeMidDist(y); for (lptr = g_list_next(lptr); lptr; lptr = g_list_next(lptr)) { if ((d = ((NedSystem *) lptr->data)->computeMidDist(y)) < mindist) { nearest_system = (NedSystem *) lptr->data; mindist = d; } } if (nearest_system->findLine(x, y, ypos, line, bottom, staff)) { return TRUE; } return FALSE; } bool NedPage::findXposInOtherMeasure(guint keyval, double x, double y, double *newx, double *newy) { double zoom_factor = m_main_window->getCurrentZoomFactor(); double current_scale = m_main_window->getCurrentScale(); double leftx = m_main_window->getLeftX(); NedChordOrRest *element; NedStaff *staff; NedSystem *system; double xl = X_POS_INVERS(x); *newy = y; if (xl < 0.0 || xl > m_width) return false; GList *lptr; double mindist, d; lptr = g_list_first(m_systems); NedSystem *nearest_system = (NedSystem *) lptr->data; mindist = nearest_system->computeMidDist(y); for (lptr = g_list_next(lptr); lptr; lptr = g_list_next(lptr)) { if ((d = ((NedSystem *) lptr->data)->computeMidDist(y)) < mindist) { nearest_system = (NedSystem *) lptr->data; mindist = d; } } if (nearest_system->findElement(keyval, x, y, &element, &staff)) { m_main_window->setVisible(element); leftx = m_main_window->getLeftX(); *newx = X_POS_PAGE_REL(element->getXPos()); return true; } else { if ((lptr = g_list_find(m_systems, nearest_system)) == NULL) { NedResource::Abort("NedPage::findXposInOtherMeasure"); } switch (keyval) { case GDK_Right: lptr = g_list_next(lptr); if (lptr == NULL) return false; system = (NedSystem *) lptr->data; lptr = system->getFirstChordOrRest(staff->getStaffNumber(), 0, 0, false, false); if (lptr == NULL) return false; element = (NedChordOrRest *) lptr->data; m_main_window->setVisible(element); *newx = X_POS_PAGE_REL(element->getXPos()); *newy = element->getStaff()->getRealYPosOfLine(-3); return true; case GDK_Left: lptr = g_list_previous(lptr); if (lptr == NULL) return false; system = (NedSystem *) lptr->data; lptr = system->getLastChordOrRest(staff->getStaffNumber(), 0, 0, false, false); if (lptr == NULL) return false; element = (NedChordOrRest *) lptr->data; m_main_window->setVisible(element); *newx = X_POS_PAGE_REL(element->getXPos()); *newy = element->getStaff()->getRealYPosOfLine(-3); return true; } } return false; } void NedPage::renumberSystems() { int i; GList *lptr; for (i = 0, lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr), i++) { ((NedSystem *) lptr->data)->setSystemNumber(i); } } void NedPage::resetActiveFlags() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->resetActiveFlags(); } } NedPage *NedPage::getNextPage() { return m_main_window->getNextPage(this); } NedPage *NedPage::getPreviousPage() { return m_main_window->getPreviousPage(this); } bool NedPage::placeStaffs(int pass, NedCommandList *command_list /* = NULL */) { GList *lptr; NedPage *other_page; double offs = STAFF_TOP_DIST; do_place_staffs(offs); bool changed = FALSE; if (m_page_number == 0) { offs += getMainWindow()->getFirstPageYOffs() / getMainWindow()->getCurrentScale(); } if (pass == 0) m_ping_pong = false; do_place_staffs(offs); if (pass == 0 && m_system_diff < 0) { if (command_list != NULL && g_list_length(m_systems) > 1) { lptr = g_list_last(m_systems); if (m_main_window->getLastPage() && hasOnlyRests()) { NedDeleteSystemCommand *del_system_command = new NedDeleteSystemCommand((NedSystem *) lptr->data); del_system_command->execute(); command_list->addCommand(del_system_command); } else { other_page = m_main_window->getNextPage(this, command_list); NedMoveSystemCommand *move_system_command = new NedMoveSystemCommand(this, (NedSystem *) lptr->data, other_page); move_system_command->execute(); // the commandlist is not executed command_list->addCommand(move_system_command); } changed = TRUE; do_place_staffs(offs); } } #define MAX_Y_BORDER 1.0 if (pass == 1 && !isEmpty() && !m_ping_pong && command_list != NULL && m_system_diff > MAX_Y_BORDER) { other_page = m_main_window->getNextPage(this); if (other_page == NULL) return FALSE; if ((lptr = g_list_first(other_page->m_systems)) == NULL) { NedRemovePageCommand *rem_page_command = new NedRemovePageCommand(m_main_window, other_page); rem_page_command->execute(); command_list->addCommand(rem_page_command); return FALSE; } NedGetSystemFromNextPageCommand *get_system_from_next_page_command = new NedGetSystemFromNextPageCommand(lptr, this, other_page); get_system_from_next_page_command->execute(); // the commandlist is not executed; performs placeStaffs() if (m_system_diff < MIN_SYSTEM_Y_DIST) { m_ping_pong = TRUE; get_system_from_next_page_command->unexecute(); delete get_system_from_next_page_command; } else { command_list->addCommand(get_system_from_next_page_command); changed = TRUE; } if (!isEmpty()) { do_place_staffs(offs); } } return changed; } void NedPage::computeTuplets() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->computeTuplets(); } } int NedPage::getSystemCount() { return g_list_length(m_systems); } void NedPage::do_place_staffs(double offs) { GList *lptr; double staffpos = TOP_BOTTOM_BORDER + offs; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { staffpos = ((NedSystem *) lptr->data)->placeStaffs(staffpos); } m_system_diff = m_height - staffpos; } NedSystem *NedPage::getNextSystem(NedSystem *system, NedCommandList *command_list /* = NULL */) { GList *lptr; NedAppendSystemCommand *app_sys_cmd; NedSystem *system_on_next_page; bool append_system_if_necessary = ((m_main_window->getLastPage() == this) && (system == ((NedSystem *) g_list_last(m_systems)->data))); if (isEmpty()) return NULL; if ((lptr = g_list_find(m_systems, system)) == NULL) { printf("gesucht war: 0x%p\n", system); fflush(stdout); NedResource::Abort("NedPage::getNextSystem"); } if ((lptr = g_list_next(lptr)) == NULL) { system_on_next_page = m_main_window->getNextSystem(this, NULL); if (system_on_next_page == NULL) { if (command_list != NULL && append_system_if_necessary) { app_sys_cmd = new NedAppendSystemCommand(this); app_sys_cmd->execute(); command_list->addCommand(app_sys_cmd); return app_sys_cmd->getSystem(); } return NULL; } return system_on_next_page; } return (NedSystem *) lptr->data; } NedSystem *NedPage::getPreviousSystem(NedSystem *system) { GList *lptr; if ((lptr = g_list_find(m_systems, system)) == NULL) { NedResource::Abort("NedPage::getPreviousSystem"); } if ((lptr = g_list_previous(lptr)) == NULL) { return NULL; } return (NedSystem *) lptr->data; } NedSystem *NedPage::getFirstSystem() { GList *lptr; if ((lptr = g_list_first(m_systems)) == NULL) { NedResource::Abort("NedPage::getFirstSystem"); } return (NedSystem *) lptr->data; } void NedPage::appendStaff(NedCommandList *command_list, int p_staff_nr /* = -1 */) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->appendStaff(command_list, p_staff_nr); } } void NedPage::removeLastStaff() { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->removeLastStaff(); } } void NedPage::deleteStaff(int staff_number) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->deleteStaff(staff_number); } } void NedPage::restoreStaff(int staff_number) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->restoreStaff(staff_number); } } void NedPage::shiftStaff(int staff_number, int position) { GList *lptr; for (lptr = g_list_first(m_systems); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->shiftStaff(staff_number, position); } } nted-1.10.18/slur.h0000664001041000007640000000363111520267230010673 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef SLUR_H #define SLUR_H #include class NedSlurPoint; class NedSlur { public: NedSlur(NedSlurPoint *points[3]); void draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level); void computeParams(); bool isActive(); NedSlurPoint **getSlurPoints() {return m_slur_points;} private: NedSlurPoint *m_slur_points[3]; double m_xpos0, m_ypos0; double m_xpos1, m_ypos1; double m_xpos2, m_ypos2; double m_xpos11, m_xpos12, m_ypos11, m_ypos12; double m_xpos11_l, m_xpos12_l, m_ypos11_l, m_ypos12_l; double m_xpos11_r, m_xpos12_r, m_ypos11_r, m_ypos12_r; double m_midx1_0, m_midy1_0, m_midx1_1, m_midy1_1; bool m_distributed; friend class NedSlurPoint; }; #endif /* SLUR_H */ nted-1.10.18/chordorrest.h0000664001041000007640000003265411520267230012253 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHORD_OR_REST_H #define CHORD_OR_REST_H #include "config.h" #include "resource.h" #include "beam.h" #include #include #define LAST_TUPLET_FLAG (1 << 24) #define TUPLET_VAR_MASK (0xfff) #define BREAK_TIE_FORWARD (1 << 0) #define BREAK_TIE_BACKWARD (1 << 1) #define TYPE_REST (1 << 0) #define TYPE_CHORD (1 << 1) #define TYPE_CLEF (1 << 2) #define TYPE_KEYSIG (1 << 3) #define TYPE_STAFF_SIGN (1 << 5) // otherwise conflic with CLEFS : -(( #define TYPE_GRACE (1 << 4) #define TYPE_DYNAMIC (1 << 6) #define TYPE_TEMPO (1 << 7) #define TYPE_SLUR (1 << 8) #define TYPE_LINE (1 << 9) #define TYPE_LINE3 (1 << 10) #define TYPE_FREE_TEXT (1 << 11) #define TYPE_SIGN (1 << 12) #define TYPE_GUITAR_CHORD (1 << 13) #define TYPE_SPACER (1 << 14) #define TYPE_CHORDNAME (1 << 15) #define LYR_CURSOR_LEFT -1 #define LYR_CURSOR_RIGHT 1 #define LYR_CURSOR_START -2 #define LYR_CURSOR_END 2 #define MAX_ARTICULATIONS 10 #define WRITTEN_SLANT_NORMAL 0 #define WRITTEN_SLANT_ITALIC 1 #define WRITTEN_SLANT_OBLIQUE 2 #define WRITTEN_WEIGHT_NORMAL 0 #define WRITTEN_WEIGHT_BOLD 1 #define UNSET_STEM_HEIGHT -10000.0 #define UNSET_SLOPE_OFFS -1000 class NedMainWindow; class NedPage; class NedSystem; class NedStaff; class NedVoice; class NedTuplet; class BBox; class NedCommandList; class NedNote; class NedFreeReplaceable; class NedLyricsEditor; class NedSlur; class NedMeasure; class NedPangoCairoText; class VolumeChange { public: VolumeChange(int vol, unsigned long long time) : m_volume(vol), m_midi_time(time) {} int m_volume; unsigned long long m_midi_time; static int compare(VolumeChange *v1, VolumeChange *v2) { if (v1->m_midi_time < v2->m_midi_time) return -1; if (v1->m_midi_time > v2->m_midi_time) return 1; return 0; } }; class NedChordOrRest { public: NedChordOrRest(NedVoice *voice, int type, bool is_hidden, int line, int dot_count, unsigned int length, int head, unsigned int status, unsigned long long time); NedChordOrRest(NedVoice *voice, int type, unsigned int clef_number, int octave_shift, unsigned long long time, bool dummy); // clef NedChordOrRest(NedVoice *voice, int type, int keysig, int last_keysig, unsigned long long time); // key signature NedChordOrRest(NedVoice *voice, int type, int sub_type, unsigned long long time); // sign ~NedChordOrRest(); NedChordOrRest *clone(struct addr_ref_str **addrlist, bool keep_beam = false); NedChordOrRest *clone(struct addr_ref_str **addrlist, struct addr_ref_str **slurlist, NedVoice *p_voice); void setActive(); void setForceBeamFlag() {m_status &= (~(STAT_BREAK_BEAM)); m_status |= STAT_FORCE_BEAM;} void setBreakBeamFlag() {m_status &= (~(STAT_FORCE_BEAM)); m_status |= STAT_BREAK_BEAM;} bool hasUpDir(); void flipStem(NedCommandList *command_list); void print(); void draw(cairo_t *cr, bool *freetexts_or_lyrics_present); void drawTexts(cairo_t *cr, double scale, double last_left_bbox_edge, bool last); double getRealXpos() {return m_xpos;} double getXPos() {/* if (m_tmp_xpos < 0.0) */return m_xpos; /* return m_tmp_xpos; */} double getLeftBboxEdge() {return m_xpos + m_bbox.x;} double getXPosAndMicroshifts() {if (m_tmp_xpos < 0.0) return m_xpos + m_micro_shift; return m_tmp_xpos + m_micro_shift;} void insertNoteAt(NedNote *note, bool echo = FALSE); bool removeNoteAt(int line); bool noConflict(int line); void testTies(); void tryTieBackward(); void reConfigure(); NedMeasure *m_measure; NedNote *getFirstNote(); int getLineOfLowestNote(); int getLineOfFirstNote(); NedMainWindow *getMainWindow(); NedPage *getPage(); NedSystem *getSystem(); NedStaff *getStaff(); int getPosition(); int lengthForFlagCountComputation(); int numberOfFlagSigns(); int numberOfTremoloSigns(); NedVoice *getVoice() {return m_voice;} void createLyrics(int line, char *text); void setLyrics(int line, char *text); void setLyrics(NedCommandList *command_list, NedLyricsEditor *leditor); void setLyricsFromOldContext(NedMainWindow *main_window, int line, char *text); void appendToLyrics(NedCommandList *command_list, int line, const char *text); bool deleteLyricsLetter(NedCommandList *command_list, int line); bool setLyricsCursor(int line, int pos); void selectNextChord(int line, bool lyrics_required); void selectPreviousChord(int line, bool lyrics_required); void setVoice(NedVoice *voice) {m_voice = voice;} void removeUnneededAccidentals(int clef, int keysig, int octave_shift); void setToRest(bool toRest); int getType() {return m_type;} bool isRest() {return (m_type == TYPE_REST);} bool isHidden() {return m_is_hidden || (m_status & STAT_USER_HIDDEN_REST);} void setHidden() {m_is_hidden = true;} void setTime(unsigned int time) {m_time = time;} unsigned int getStatus() {return m_status;} void setStatus(unsigned int status); unsigned int getLength() {return m_length;} void setLength(int length); bool trySelect (double x, double y, bool only_free_placeables); bool hitStemEnd(double x, double y); double computeDistFrom(double x, double y, double factor, double *ydist); bool tryErease (double x, double y, bool *removed); void ereaseNote(NedNote *note); bool testXShift(double x); void moveToLine(int line); bool scaleStem(double y, double old_ypos); void fixIntermediateValues(); double getCurrentStemLen() {return m_stem_height;} double getOldStemLen() {return m_stemheight_copy;} bool ReleaseTmpValue(); static int compareMidiTimes(NedChordOrRest *c1, NedChordOrRest *c2); static int compareMidiTimesAndTypes(NedChordOrRest *c1, NedChordOrRest *c2); unsigned int getTime() {return m_time;} unsigned int getDuration(unsigned int measure_duration = -1); double determineTempoInverse(); void recomputeFreeReplaceables(); void zoomFreeReplaceables(double zoom, double scale); void determineTempoInverse(double *tempoinverse); void setXPos(double pos); void setXPos2(double pos); void shiftX(double x); void shiftY(double y); void setRestsY(double y); void setXPosAccordingBBox(double pos) {m_xpos = pos - m_bbox.x;} unsigned int getStopTime(); void setBeam(NedBeam *beam) {m_beam = beam;} NedBeam *getBeam() {return m_beam;} void reposit(unsigned int pos); void xPositNotes(); void collectNotesWithAccidentals(unsigned int *num_notes_with_accidentals, NedNote **note_field); void sortNotes(); double getBeamXPos(); double getStemTop(); double getStemBottom(); int getStemDir(); void resetYPos(); double getStemYStart(); void getTopBotY(int *lyrics_lines, double *topy , double *boty/* , bool *topFix, bool *botFix */); double getTopOfChordOrRest(); double getBottomOfChordOrRest(); bool testForTiesToDelete(NedCommandList *command_list, unsigned int dir = BREAK_TIE_BACKWARD, bool execute = false); void testForFreeReplaceablesToDelete(NedCommandList *command_list, GList **already_deleted, bool execute = false); void testForDeleteableConstraints(NedCommandList *command_list); void tieAllNotes(NedChordOrRest *other_chord); static void handleOpenTies(NedCommandList *command_list, GList *pool); bool isTied(); void tieCompleteTo(NedChordOrRest *other_chord, bool check_pitch); int getDotCount() {return m_dot_count;} void setDotCount(int dot_count) {m_dot_count = dot_count;} NedBbox *getBBox() {return &m_bbox;} void computeBbox(); void computeTies(); double getNeededSpace(); bool testMeasureSpread(int dir); void setMidiTime(unsigned long long time); void incrMidiTime(unsigned long long incr) {m_midi_time += incr;} void decrMidiTime(unsigned long long incr); // {m_midi_time -= incr;} unsigned long long getMidiTime() {return m_midi_time;} bool isDown() {return m_beam ? !m_beam->isBeamUp() : !(m_status & STAT_UP);} int getSorting(NedChordOrRest *other_chord); void changeDuration(unsigned int new_duration, int tuplet_val); NedChordOrRest *cloneWithDifferentLength(unsigned int newlen, int dotcount); static unsigned int computeDuration(unsigned int length, int dotcount, int tuplet_val); static void compute_fitting_duration(unsigned int sum, unsigned int *length, int *dot_count); static NedChordOrRest *restoreChordOrRest(FILE *fp, NedVoice *voice); NedChordOrRest *getNextChordOrRest(); NedChordOrRest *getPreviousChordOrRest(); NedChordOrRest *getFirstObjectInNextSystem(); int m_position; int getStemDirectionOfTheMeasure(int staff_voice_offs); double computeStemDist(bool thisup, NedChordOrRest *other_chord, bool otherup); double getBeamOffset() {return m_beam_y_offs;} int getSlopeOffset() {return m_slope_offs;} void setStemHeight(double stem_height) {m_stem_height = stem_height;} void setBeamYOffset(double beam_offset) {m_beam_y_offs = beam_offset;} void setBeamSlopeOffset(int beam_slope_offs) {m_slope_offs = beam_slope_offs;} void saveChordOrRest(FILE *fp); void changeStemDir(int dir); void saveTies(FILE *fp, bool *ties_written); void saveFreePlaceables(FILE *fp, bool *free_placeables_written); void prepareMutedReplay(); void resetActiveFlags(); void prepareReplay(int clef, int keysig, int octave_shift, int voice_idx, unsigned int grace_time); void setOffset(char offs_array[115]); int getPitchOfFirstNote(); void setInternalPitch(int pitchdist); void hideRest(NedCommandList *command_list, bool unhide); void shiftNotes(int linedist); void adjustAccidentals(); void changeAccidentals(NedCommandList *command_list, int preferred_offs); void resetMicroshift() {m_micro_shift = 0.0;} double compute_microshift(NedChordOrRest *right_chord, int mnum, int pos); double compute_y_shift(NedChordOrRest *other_chord, int dir); bool hasLastTupletFlag() {return (m_tuplet_val & LAST_TUPLET_FLAG);} void setLastTupletFlag(bool on) {if (on) m_tuplet_val |= LAST_TUPLET_FLAG; else m_tuplet_val &= (~(LAST_TUPLET_FLAG));} void correctTiesForward(); void removeAllBackwardTies(); bool tieBackward(NedChordOrRest *prev, NedNote *note); void setTupletVal(int tuplet_val) {m_tuplet_val = tuplet_val;} void setTupletPtr(NedTuplet *tuplet_ptr) {m_tuplet_ptr = tuplet_ptr;} NedTuplet *getTupletPtr() {return m_tuplet_ptr;} int getTupletVal() {return m_tuplet_val & TUPLET_VAR_MASK;} int getTupletValRaw() {return m_tuplet_val;} bool isUp(); int getLine() {return m_line;} void adjust_pointers(struct addr_ref_str *addrlist, struct addr_ref_str *slurlist); char *getLyrics(int line); void exportLilyPond(FILE *fp, int *last_line, unsigned int *midi_len, NedSlur **lily_slur, unsigned int *lyrics_map, bool *guitar_chordnames, bool *chordname, int *breath_script, bool keep_beams); void exportLilyGuitarChordnames(FILE *fp, int *last_line, unsigned int *midi_len); void exportLilyFreeChordName(FILE *fp, int *last_line, unsigned int *midi_len); void exportLilyLyrics(FILE *fp, int line_nr, int *sil_count); void collectLyrics(NedLyricsEditor *leditor); private: void removeFreeDisplaceable(NedFreeReplaceable *freedisplaceable); void addFreeDislaceable(NedFreeReplaceable *freedisplaceable); void exportLilyAccents(FILE *fp); void exportLilyFreePlaceablesBefore(FILE *fp); void exportLilyFreePlaceablesAfter(FILE *fp, NedSlur **lily_slur, bool *guitar_chordnames, bool *chordnames); GList *m_notes; NedBeam *m_beam; NedTuplet *m_tuplet_ptr; int m_tuplet_val; int m_type; bool m_is_hidden; unsigned int m_length; double m_xpos, m_ypos; unsigned int m_time; int m_dot_count; unsigned int m_status; int m_line; NedVoice *m_voice; NedBbox m_bbox; unsigned long long m_midi_time; double m_tmp_xpos; bool m_all_shifted; double m_art_up_y_pos[MAX_ARTICULATIONS]; double m_art_down_y_pos[MAX_ARTICULATIONS]; int m_up_art_count, m_down_art_count; NedPangoCairoText *m_lyrics[MAX_LYRICS_LINES]; GList *m_freedisp; bool m_active; double m_stem_end_xpos, m_stem_end_ypos; double m_stem_height, m_stemheight_copy; double m_beam_y_offs; int m_slope_offs; double m_beam_y_offs_copy; double m_micro_shift; int m_slope_offs_copy; unsigned int m_status_copy; bool m_free_texts_present, m_lyrics_present; bool m_has_open_highhat, m_has_closed_highhat; friend class NedNewLyricsCommand; friend class NedDeleteLyricsCommand; friend class NedFreeReplaceable; friend class NedFixIntermediateCommand; friend class NedMoveNoteRelativeCommand; friend class NedFlipValuesCommand; friend class NedRemoveConstraintsCommand; friend class NedChangeLyricsCommand; }; #endif /* CHORD_OR_REST_H */ nted-1.10.18/measure.h0000664001041000007640000000647211520267230011355 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef MEASURE_H #define MEASURE_H #include "config.h" #include #include #include #include "positionarray.h" class SpecialMeasure; class NedSystem; class NedMainWindow; #define SPECIAL_POSITION_NONE 0 #define SPECIAL_POSITION_START 1 #define SPECIAL_POSITION_END 2 class NedMeasure { public: NedMeasure(); void setSystem(NedSystem *system) {m_system = system;} void setMeasureNumber(int num, GList *special_measures, bool force = false); unsigned int getMeasureDuration() {return (unsigned int) (midi_end - midi_start);} double m_staff_elements_width; // width of leading keysigs and timesigs bool m_measure_has_only_staff_members; int position; int getSpecial(); void setSpecial(int type); bool barRequiresHideFollowing(); unsigned long long midi_start, midi_end; double start, end; char *getNumberString() {return m_measure_number_str;} int getMeasureNumber() {return m_measure_number;} void draw(cairo_t *cr, int special_position, double xpos, double content_x_pos, double sys_y_pos, double top, double bottom, double bottom_ori, double leftx, double topy, double staff_border_dist, double zoom_factor, int zoom_level, bool rep_line_needed, int spec_measure_at_end, bool out); double getNeededSpaceBefore(); double getNeededSpaceAfter(); double shiftXpos(double extra_space_divided, double shift, bool out); double computeAndSetPositions(double start_position, int *num_elements, double *extra_space_for_accidentals, bool *measure_has_only_staff_members /* means keysig */, bool out); bool isNearStart(double x); bool isNearEnd(double x); bool nearRepeatElement(double x, double y); unsigned int getStoredStaffCount(); void setNewStaffCount(int newstaffcount); NedPositionArray m_position_array; int getStemDirectionOfTheMeasure(int staff_voice_offs) {return m_position_array.getStemDirectionOfTheMeasure(staff_voice_offs);} double m_spread_fac; bool m_special_spread; bool m_hide_following; private: int m_measure_number; char m_measure_number_str[8]; SpecialMeasure *m_special_descr; NedSystem *m_system; friend class NedMainWindow; }; #endif /* MEASURE_H */ nted-1.10.18/midiimporter.cpp0000664001041000007640000003071111520267230012744 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "midiimporter.h" #include "idiotseditor.h" #include "resource.h" #include #define NOTE_OFF 0x80 #define NOTE_ON 0x90 #define META_EVENT 0xFF #define SYS_EXCLUSIVE_MESSAGE1 0xF0 #define SYS_EXCLUSIVE_MESSAGE2 0xF7 #define PGM_CHANGE 0xC0 #define AFTER_TOUCH 0xA0 #define CTRL_CHANGE 0xB0 #define CHANNEL_PRESSURE 0xD0 #define PITCH_BEND 0xE0 #define SONG_POS_PTR 0xF2 #define SONG_SELECT 0xF3 #define TUNE_REQU 0xF6 #define META_TEXT 0x01 #define META_TRACK_NAME 0x03 #define META_TIMESIG 0x58 #define META_KEYSIG 0x59 #define META_TEMPO 0x51 NedMidiImporter::NedMidiImporter(bool with_triplets, int tempo_change_density, int volume_change_density, bool force_piano, bool sort_instruments, bool dont_split, bool use_id_ed) : NedImporter(), m_error_string(NULL), m_current_time(0), m_last_event_time(0), m_with_triplets(with_triplets), m_use_id_ed(use_id_ed) { m_idiots_editor = new NedIdiotsEditor(tempo_change_density, volume_change_density, force_piano, sort_instruments, dont_split, use_id_ed); for (int i = 0; i < 16; m_current_midi_instrument[i++] = 0); } bool NedMidiImporter::import() { int track_nr; read_header(m_FILE); for (track_nr = 0; track_nr < m_ntracks; track_nr++) { readTrack(m_FILE, track_nr, 0); if (m_current_time > m_last_event_time) m_last_event_time = m_current_time; if (m_error_string != NULL) break; } if (m_error_string != NULL) { NedResource::DbgMsg(DBG_TESTING, "%s\n", m_error_string); return false; } m_idiots_editor->setLastTime(m_last_event_time); return true; } bool NedMidiImporter::convertToScore() { int i, j; char *cptr; m_idiots_editor->computeTimeSigMeasureNumbers(m_main_window); m_idiots_editor->computeTempo(); m_idiots_editor->computeVolumes(); m_idiots_editor->snapStartOfNotes(); if (m_with_triplets) { m_idiots_editor->recognizeTriplets(); } m_idiots_editor->trySplitInstruments(); m_tempo_inverse = m_idiots_editor->m_tempo_inverse; m_upbeat_inverse = 0; m_partcount = m_idiots_editor->getPartCount(); for (i = 0; i < m_partcount; i++) { m_parts[i].voices[0] = m_idiots_editor->convertToNtEdNotes(i, 0); for (j = 1; j < VOICE_COUNT; j++) { m_parts[i].voices[j] = m_idiots_editor->convertToNtEdNotes(i, j); } strcpy(m_parts[i].id, "part1"); cptr = m_idiots_editor->getInstrumentName(i); if (cptr == NULL) { m_parts[i].name[0] = '\0'; } else { if (*cptr == '\0') { m_parts[i].name[0] = '\0'; } else { strcpy(m_parts[i].name, cptr); } } m_parts[i].clef = m_idiots_editor->getClef(i); m_parts[i].clef_octave = m_idiots_editor->getOctaveShift(i); m_parts[i].key_signature = m_idiots_editor->getKeySig(i); m_parts[i].numerator = m_idiots_editor->getNumerator(); m_parts[i].denominator = m_idiots_editor->getDenominator(); m_parts[i].midi_pgm = m_idiots_editor->getMidiPgm(i); m_parts[i].midi_channel = m_idiots_editor->getChannel(i); m_parts[i].volume = m_idiots_editor->getVolume(i); } return true; } NedMidiImporter::~NedMidiImporter() { //printf("NedMidiImporter::~NedMidiImporter\n"); fflush(stdout); delete m_idiots_editor; } void NedMidiImporter::read_header(FILE *fp) { char buffer[1024]; int len; if (fread(buffer, 1, 4, fp) != 4) { m_error_string = "error in fread"; return; } buffer[4] = '\0'; if (strcmp(buffer, "MThd")) { if (!strcmp(buffer, "RIFF")) { if (fread(buffer, 1, 16, fp) != 16) { m_error_string = "unexpected EOF(0)"; return; } if (fread(buffer, 1, 4, fp) != 4) { m_error_string = "unexpected EOF(1)"; return; } buffer[4] = '\0'; if (strcmp(buffer, "MThd")) { m_error_string = "No MIDI file"; return; } } else { m_error_string = "No MIDI file"; return; } } if (!readdword(fp, &len)) { m_error_string = "cannot read len"; return; } if (len != 6) { m_error_string = "bad header length"; return; } if (!readword(fp, &m_format)) { m_error_string = "cannot read format"; return; } if (!readword(fp, &m_ntracks)) { m_error_string = "cannot read ntracks"; return; } if (!readword(fp, &m_division)) { m_error_string = "cannot read division"; return; } if (m_division < 0) { m_error_string = "cannot deal with negative divisions"; return; } } void NedMidiImporter::readTrack(FILE *fp, int track_nr, int pass) { char buffer[1024]; int len; unsigned int tempo; unsigned long long time_dist; char type; unsigned int meta_len; unsigned char status_byte, last_status; char sbyte, data1, data2; int num, denom; unsigned int chan; struct { long long time; int key; int state; #define KEYSIG_INVALID 0 #define KEYSIG_SET 1 #define KEYSIG_NOT_RELEVANT 2 } first_keysig; first_keysig.state = KEYSIG_INVALID; first_keysig.time = 0; first_keysig.key = 0; if (fread(buffer, 1, 4, fp) != 4) { m_error_string = "unexpected EOF(2)"; return; } buffer[4] = '\0'; if (strcmp(buffer, "MTrk")) { m_error_string = "No MIDI track"; return; } if (!readdword(fp, &len)) { m_error_string = "cannot read track len"; return; } last_status = 0; m_current_time = 0; while (len > 0) { time_dist = read_val_var(fp, &len); m_current_time += time_dist * NOTE_4 / m_division; sbyte = getc(fp); status_byte = sbyte; if ((status_byte & 0x80) == 0) { ungetc(status_byte, fp); status_byte = last_status; } else { last_status = status_byte; len--; } if (status_byte == META_EVENT) { if ((type = getc(fp)) == EOF) { m_error_string = "unexpected EOF(3)"; return; } meta_len = read_val_var(fp, &len); if (fread(buffer, 1, meta_len, fp) != meta_len) { m_error_string = "unexpected EOF(4)"; return; } len -= meta_len + 1; switch (type) { case META_TRACK_NAME: buffer[meta_len] = '\0'; m_idiots_editor->setInstrumentName(buffer); break; case META_TIMESIG: num = buffer[0]; switch(buffer[1]) { case 0: denom = 1; break; case 1: denom = 2; break; case 2: denom = 4; break; case 3: denom = 8; break; default: denom =16; break; } NedResource::DbgMsg(DBG_TESTING, "TIMESIG: %llu(%llu): num = %d, dmon = %d\n", m_current_time, m_current_time / NOTE_64, num, denom); m_idiots_editor->addTimeSigChange(m_current_time, num, denom); break; case META_TEMPO: tempo = ((0xff & buffer[0]) << 16) | ((0xff & buffer[1]) << 8) | (0xff & buffer[2]); m_idiots_editor->addTempoChange(m_current_time, (int) (60000000.0 / (double) tempo)); break; case META_KEYSIG: if (track_nr > 0 && first_keysig.state == KEYSIG_INVALID) { // avoid keysigs of empry tracks first_keysig.time = m_current_time; first_keysig.key = buffer[0]; first_keysig.state = KEYSIG_SET; break; } m_idiots_editor->addKeySig(m_current_time, 0, buffer[0]); break; } } else if (status_byte == SYS_EXCLUSIVE_MESSAGE1 || status_byte == SYS_EXCLUSIVE_MESSAGE2) { meta_len = read_val_var(fp, &len); if (fread(buffer, 1, meta_len, fp) != meta_len) { m_error_string = "unexpected EOF(5)"; return; } len -= meta_len; } else if ((status_byte & 0xf0) == NOTE_ON) { if ((data1 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(6)"; return; } if ((data2 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(7)"; return; } len -= 2; chan = status_byte & 0x0f; if (chan == 9) { m_current_midi_instrument[chan] = -1; } if (pass == 0) { if (data2 == 0) { m_idiots_editor->closeNote(data1, m_current_time, m_current_midi_instrument[chan], chan); } else { /* note = new NedTableNote(m_current_time, 0, data1, data2); m_idiots_editor->addNote(note, m_current_midi_instrument[chan]); */ if (first_keysig.state == KEYSIG_SET) { m_idiots_editor->addKeySig(first_keysig.time, 0, first_keysig.key); first_keysig.state = KEYSIG_NOT_RELEVANT; } m_idiots_editor->addNote(data1, data2, m_current_time, m_current_midi_instrument[chan], chan); } } } else if ((status_byte & 0xf0) == NOTE_OFF) { if ((data1 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(8)"; return; } if ((data2 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(9)"; return; } len -= 2; chan = status_byte & 0x0f; if (pass == 0) { m_idiots_editor->closeNote(data1, m_current_time, m_current_midi_instrument[chan], chan); } } else if ((status_byte & 0xf0) == AFTER_TOUCH) { if ((data1 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(14)"; return; } if ((data2 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(15)"; return; } len -= 2; } else if ((status_byte & 0xf0) == CTRL_CHANGE) { if ((data1 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(16)"; return; } if ((data2 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(17)"; return; } len -= 2; } else if ((status_byte & 0xf0) == PGM_CHANGE) { chan = status_byte & 0x0f; if ((m_current_midi_instrument[chan] = getc(fp)) == EOF) { m_error_string = "unexpected EOF(18)"; return; } if (chan == 9) { m_current_midi_instrument[chan] = -1; } len -= 1; } else if ((status_byte & 0xf0) == CHANNEL_PRESSURE) { if ((data1 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(19)"; return; } len -= 1; } else if ((status_byte & 0xf0) == PITCH_BEND) { if ((data1 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(20)"; return; } if ((data2 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(21)"; return; } len -= 2; } else if ((status_byte & 0xF8) == 0xF8) { } else if (status_byte == SONG_POS_PTR) { if ((data1 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(22)"; return; } if ((data2 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(23)"; return; } len -= 2; } else if (status_byte == SONG_SELECT) { if ((data1 = getc(fp)) == EOF) { m_error_string = "unexpected EOF(24)"; return; } len -= 1; } else if (status_byte == 0xF1) { } else if (status_byte == 0xF4) { } else if (status_byte == 0xF5) { } else if (status_byte == TUNE_REQU) { } if (len < 0) { m_error_string = "length error"; return; } } } unsigned long NedMidiImporter::read_val_var(FILE *fp, int *len) { unsigned long the_val; char c; if (*len < 0) { m_error_string = "bad length in val(1)"; return 0; } (*len)--; if ((the_val = getc(fp)) & 0x80) { the_val &= 0x7F; do { if (*len < 0) { m_error_string = "bad len in val(2)"; return 0; } (*len)--; the_val = (the_val << 7) + ((c = getc(fp)) & 0x7F); } while (c & 0x80); } return the_val; } int NedMidiImporter::readdword(FILE *fp, int *data) { char c[4]; int i; for (i = 0; i < 4; i++) { if (feof(fp)) return 0; c[i] = getc(fp); } *data = (c[3] & 0xff) | ((c[2] & 0xff) << 8) | ((c[1] & 0xff) << 16)| ((c[0] & 0xff) << 24); return 1; } int NedMidiImporter::readword(FILE *fp, short *data) { char c[2]; int i; for (i = 0; i < 2; i++) { if (feof(fp)) return 0; c[i] = getc(fp); } *data = ((c[1] & 0xff) << 0)| ((c[0] & 0xff) << 8); return 1; } nted-1.10.18/chordorrest.cpp0000664001041000007640000047457711520267230012624 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include #include "chordorrest.h" #include "voice.h" #include "note.h" #include "staff.h" #include "system.h" #include "page.h" #include "tuplet.h" #include "system.h" #include "mainwindow.h" #include "commandlist.h" #include "commandhistory.h" #include "ereasechordorrestcommand.h" #include "changechordorreststatus.h" #include "ereasenotecommand.h" #include "deletechordcommand.h" #include "flipvaluescommand.h" #include "removeconstraintscommand.h" #include "removefreeplaceablecommand.h" #include "changelyricscommand.h" #include "newlyricscommand.h" #include "volumesign.h" #include "temposign.h" #include "deletelyricscommand.h" #include "tienotescommand.h" #include "slurpoint.h" #include "slur.h" #include "linepoint.h" #include "line.h" #include "crescendo.h" #include "octavation.h" #include "acceleration.h" #include "freetext.h" #include "freesign.h" #include "freechord.h" #include "chordpainter.h" #include "chordstruct.h" #include "freespacer.h" #include "freechordname.h" #include "pangocairotext.h" #include "scoreinfodialog.h" #include "lyricseditor.h" #define X_POS_PAGE_REL(p) ((getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_STAFF_REL(p) (((p) + getSystem()->getYPos() + getStaff()->getBottomPos()) * zoom_factor - topy) #define X_POS_INVERS_PAGE_REL(p) ((leftx + (p) / current_scale) / zoom_factor - getPage()->getContentXpos()) #define Y_POS_INVERS_ABS(p) ((topy + (p) / current_scale) / zoom_factor) #define Y_POS_INVERSE_STAFF_REL(p) (((p) / current_scale + topy) / zoom_factor - getSystem()->getYPos() - getStaff()->getBottomPos()) NedChordOrRest::NedChordOrRest(NedVoice *voice, int type, bool is_hidden, int line, int dot_count, unsigned int length, int head, unsigned int status, unsigned long long time) : m_measure(NULL), m_notes(NULL), m_beam(NULL), m_tuplet_ptr(NULL), m_tuplet_val(0), m_type(type), m_is_hidden(is_hidden), m_length(length), m_xpos(0.0), m_ypos(0.0), m_time(time), m_dot_count(dot_count), m_status(status), m_line(line), m_voice(voice), m_midi_time(time), m_tmp_xpos(-1.0), m_all_shifted(FALSE), m_up_art_count(0), m_down_art_count(0), m_freedisp(NULL), m_active(false), m_stem_end_xpos(0.0), m_stem_end_ypos(0.0), m_stem_height(STEM_DEFAULT_HEIGHT), m_stemheight_copy(UNSET_STEM_HEIGHT - 10.0), m_beam_y_offs(0.0), m_slope_offs(0), m_beam_y_offs_copy(UNSET_STEM_HEIGHT - 10.0), m_micro_shift(0.0), m_slope_offs_copy(UNSET_SLOPE_OFFS), m_has_open_highhat(false), m_has_closed_highhat(false) { m_bbox.width = -0.1; for (int i = 0; i < MAX_LYRICS_LINES; i++) { m_lyrics[i] = NULL; } if (m_length < NOTE_64) { m_type = TYPE_GRACE; m_dot_count = 0; m_status = 0; } if (m_type == TYPE_REST) { m_status &= (STAT_FERMATA | STAT_USER_HIDDEN_REST | STAT_USER_PLACED_REST); m_line = 3; m_ypos = -m_line * LINE_DIST/2.0; if (m_length == WHOLE_NOTE) { if (m_voice != NULL && m_voice->getVoiceNumber() > 0) { m_is_hidden = TRUE; } } } else { if (head == GUITAR_NOTE_STEM || head == GUITAR_NOTE_NO_STEM) { m_line = 5; } NedNote *note = new NedNote(this, m_line, head, m_status); m_notes = g_list_append(m_notes, note); //#define OOO #ifdef OOO #define TTT #ifdef TTT static int zz; zz++; if (m_type == TYPE_CHORD && (zz % 3) == 0) { //createLyrics(0, "Хěвел-"); createLyrics(0, "aaa"); } else if (m_type == TYPE_CHORD && (zz % 3) == 1) { //createLyrics(0, "ухăç"); createLyrics(0, "aaa"); } else if (m_type == TYPE_CHORD) { //createLyrics(0, "округě"); //createLyrics(0, "Ärger"); createLyrics(0, "aaa"); } #else static int zz; zz++; if ((zz % 4) == 0) { createLyrics(0, "תדמיתה"); } else if ((zz % 4) == 1) { createLyrics(0, "פעילות"); } else if ((zz % 4) == 2) { createLyrics(0, "Хěвел-"); } else { //createLyrics(0, "округě"); createLyrics(0, "Ärger"); } #endif #endif if (m_voice != NULL) { reConfigure(); } xPositNotes(); m_ypos = 0.0; } if (m_voice != NULL) { computeBbox(); } //#define VVV #ifdef VVV static int zz = 2; static NedSlurPoint *slur_points[3]; if (zz >= 0 && m_type == TYPE_CHORD) { NedSlur *slur; //m_freedisp = g_list_append(m_freedisp, new NedVolumeSign(zz + 1, this, 0.8, 0.0, true)); slur_points[2-zz] = new NedSlurPoint(NULL, 2 - zz, this, 0.8, 0.0, true); m_freedisp = g_list_append(m_freedisp, slur_points[2-zz]); if (zz == 0) { slur = new NedSlur(slur_points); slur_points[0]->setSlur(slur); slur_points[1]->setSlur(slur); slur_points[2]->setSlur(slur); } zz--; } #endif } NedChordOrRest::NedChordOrRest(NedVoice *voice, int type, unsigned int clef_number, int octave_shift, unsigned long long time, bool dummy) : // clef m_measure(NULL), m_notes(NULL), m_beam(NULL), m_tuplet_ptr(NULL), m_tuplet_val(0), m_type(type), m_is_hidden(false), m_length(clef_number), m_xpos(0.0), m_ypos(0.0), m_time(time), m_dot_count(octave_shift), m_status(0), m_line(3), m_voice(voice), m_midi_time(time), m_tmp_xpos(-1.0), m_all_shifted(FALSE), m_freedisp(NULL), m_stem_end_xpos(0.0), m_stem_end_ypos(0.0), m_stem_height(STEM_DEFAULT_HEIGHT), m_stemheight_copy(UNSET_STEM_HEIGHT - 10.0), m_beam_y_offs(0.0), m_slope_offs(0), m_beam_y_offs_copy(UNSET_STEM_HEIGHT - 10.0), m_micro_shift(0.0), m_slope_offs_copy(UNSET_SLOPE_OFFS), m_has_open_highhat(false), m_has_closed_highhat(false) { m_bbox.width = -0.1; for (int i = 0; i < MAX_LYRICS_LINES; i++) { m_lyrics[i] = NULL; } if (m_voice != NULL) { computeBbox(); } } NedChordOrRest::NedChordOrRest(NedVoice *voice, int type, int keysig, int last_keysig, unsigned long long time) : // keysig m_measure(NULL), m_notes(NULL), m_beam(NULL), m_tuplet_ptr(NULL), m_tuplet_val(0), m_type(type), m_is_hidden(false), m_length(keysig), m_xpos(0.0), m_ypos(0.0), m_time(time), m_dot_count(last_keysig), m_status(0), m_line(3), m_voice(voice), m_midi_time(time), m_tmp_xpos(-1.0), m_all_shifted(FALSE), m_freedisp(NULL), m_stem_end_xpos(0.0), m_stem_end_ypos(0.0), m_stem_height(STEM_DEFAULT_HEIGHT), m_stemheight_copy(UNSET_STEM_HEIGHT - 10.0), m_beam_y_offs(0.0), m_slope_offs(0), m_beam_y_offs_copy(UNSET_STEM_HEIGHT - 10.0), m_micro_shift(0.0), m_slope_offs_copy(UNSET_SLOPE_OFFS), m_has_open_highhat(false), m_has_closed_highhat(false) { for (int i = 0; i < MAX_LYRICS_LINES; i++) { m_lyrics[i] = NULL; } if (m_voice != NULL) { computeBbox(); } } NedChordOrRest::NedChordOrRest(NedVoice *voice, int type, int sub_type, unsigned long long time) : //staff sign m_measure(NULL), m_notes(NULL), m_beam(NULL), m_tuplet_ptr(NULL), m_tuplet_val(0), m_type(type), m_is_hidden(false), m_length(0), m_ypos(0.0), m_time(time), m_dot_count(sub_type), m_status(0), m_line(3), m_voice(voice), m_midi_time(time), m_tmp_xpos(-1.0), m_all_shifted(FALSE), m_freedisp(NULL), m_stem_end_xpos(0.0), m_stem_end_ypos(0.0), m_stem_height(STEM_DEFAULT_HEIGHT), m_stemheight_copy(UNSET_STEM_HEIGHT - 10.0), m_beam_y_offs(0.0), m_slope_offs(0), m_beam_y_offs_copy(UNSET_STEM_HEIGHT - 10.0), m_micro_shift(0.0), m_slope_offs_copy(UNSET_SLOPE_OFFS) { m_bbox.width = -0.1; for (int i = 0; i < MAX_LYRICS_LINES; i++) { m_lyrics[i] = NULL; } if (m_voice != NULL) { computeBbox(); } } NedChordOrRest::~NedChordOrRest() { GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { delete ((NedNote *) lptr->data); } g_list_free(m_notes); m_notes = NULL; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { delete (NedFreeReplaceable *) lptr->data; } for (int i = 0; i < MAX_LYRICS_LINES; i++) { if (m_lyrics[i] != NULL) { delete m_lyrics[i]; } } g_list_free(m_freedisp); m_freedisp = NULL; } NedChordOrRest *NedChordOrRest::clone(struct addr_ref_str **addrlist, bool keep_beam /* = false */) { GList *lptr; NedChordOrRest *cl = new NedChordOrRest(*this); NedNote *note; int i; struct addr_ref_str *adr_ptr; cl->m_notes = NULL; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { note = new NedNote(*((NedNote *) lptr->data)); note->setChord(cl); if ((adr_ptr = (struct addr_ref_str *) g_try_malloc(sizeof(struct addr_ref_str))) == NULL) { NedResource::Abort("NedChordOrRest::clone"); } adr_ptr->ori = lptr->data; adr_ptr->copy = (void *) note; adr_ptr->next = *addrlist; *addrlist = adr_ptr; cl->m_notes = g_list_append(cl->m_notes, note); if (!keep_beam) { cl->m_beam = NULL; } } for (i = 0; i < MAX_LYRICS_LINES; i++) { if (m_lyrics[i] != NULL) { cl->m_lyrics[i] = m_lyrics[i]->clone(); } } cl->m_freedisp = NULL; /* for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if (((NedFreeReplaceable *) lptr->data)->getType() == FREE_PLACEABLE_TEXT) { ((NedFreeReplaceable *) lptr->data)->clone(slurlist, cl, getMainWindow()->getDrawingArea(), getMainWindow()); continue; } if ((((NedFreeReplaceable *) lptr->data)->getType() & (FREE_PLACEABLE_SLUR_POINT | FREE_PLACEABLE_LINE_POINT)) == 0) continue; ((NedFreeReplaceable *) lptr->data)->clone(slurlist, cl); } */ return cl; } int NedChordOrRest::getPosition() { return m_voice->getPosition(this); } NedChordOrRest *NedChordOrRest::clone(struct addr_ref_str **addrlist, struct addr_ref_str **slurlist, NedVoice *p_voice) { GList *lptr; NedChordOrRest *cl = new NedChordOrRest(*this); NedNote *note; struct addr_ref_str *adr_ptr; int i; cl->m_notes = NULL; cl->m_voice = p_voice; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { note = new NedNote(*((NedNote *) lptr->data)); note->setChord(cl); if ((adr_ptr = (struct addr_ref_str *) g_try_malloc(sizeof(struct addr_ref_str))) == NULL) { NedResource::Abort("NedChordOrRest::clone"); } adr_ptr->ori = lptr->data; adr_ptr->copy = (void *) note; adr_ptr->next = *addrlist; *addrlist = adr_ptr; cl->m_notes = g_list_append(cl->m_notes, note); cl->m_beam = NULL; } for (i = 0; i < MAX_LYRICS_LINES; i++) { if (m_lyrics[i] != NULL) { cl->m_lyrics[i] = m_lyrics[i]->clone(); } } cl->m_freedisp = NULL; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if (((NedFreeReplaceable *) lptr->data)->getType() == FREE_PLACEABLE_TEXT) { ((NedFreeReplaceable *) lptr->data)->clone(slurlist, cl, getMainWindow()->getDrawingArea(), getMainWindow()); continue; } if ((((NedFreeReplaceable *) lptr->data)->getType() & (FREE_PLACEABLE_SLUR_POINT | FREE_PLACEABLE_LINE_POINT)) == 0) continue; ((NedFreeReplaceable *) lptr->data)->clone(slurlist, cl); } return cl; } char * NedChordOrRest::getLyrics(int line) { if (m_lyrics[line] == NULL) return NULL; return m_lyrics[line]->getText(); } void NedChordOrRest::adjust_pointers(struct addr_ref_str *addrlist, struct addr_ref_str *slurlist) { GList *lptr; GList *newlist = NULL; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if (lptr->data == NULL) continue; newlist = g_list_append(newlist, lptr->data); } g_list_free(m_freedisp); m_freedisp = newlist; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if ((((NedFreeReplaceable *) lptr->data)->getType() & (FREE_PLACEABLE_SLUR_POINT)) == 0) continue; ((NedFreeReplaceable *) lptr->data)->adjust_pointers(slurlist); } for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->adjust_pointers(addrlist); } } void NedChordOrRest::setLyrics(int line, char *text) { if (text == 0 || strlen(text) < 1) return; if (g_utf8_strlen(text, -1) > MAX_TEXT_LENGTH) return; m_lyrics[line] = new NedPangoCairoText(getMainWindow()->getDrawingArea()->window, text, LYRICS_FONT, LYRICS_FONT_SLANT, LYRICS_FONT_WEIGHT, LYRICS_FONT_SIZE, getMainWindow()->getCurrentZoomFactor(), getMainWindow()->getCurrentScale(), true); } void NedChordOrRest::setLyrics(NedCommandList *command_list, NedLyricsEditor *leditor) { GList *lptr; char *text; bool has_tie; int line; NedPangoCairoText *new_pango_text; NedChangeLyricsCommand *change_lyrics_cmd; if (m_type != TYPE_CHORD) return; has_tie = false; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { if (((NedNote *) lptr->data)->getTieBackward() != NULL) { has_tie = true; } } if (has_tie) { return; } for (line = 0; line < MAX_LYRICS_LINES; line++) { new_pango_text = NULL; if (leditor->m_newchar[line]) { text = leditor->getNextWord(line); if (text != NULL) { if (*text != '.' || *(text + 1) != '\0') { if (g_utf8_strlen(text, -1) <= MAX_TEXT_LENGTH) { if (m_lyrics[line] != NULL && !strcmp(m_lyrics[line]->getText(), text)) continue; new_pango_text = new NedPangoCairoText(getMainWindow()->getDrawingArea()->window, text, LYRICS_FONT, LYRICS_FONT_SLANT, LYRICS_FONT_WEIGHT, LYRICS_FONT_SIZE, getMainWindow()->getCurrentZoomFactor(), getMainWindow()->getCurrentScale(), true); } } } } if (m_lyrics[line] == NULL && new_pango_text == NULL) continue; change_lyrics_cmd = new NedChangeLyricsCommand(this, line, new_pango_text); change_lyrics_cmd->execute(); command_list->addCommand(change_lyrics_cmd); } } void NedChordOrRest::setLyricsFromOldContext(NedMainWindow *main_window, int line, char *text) { if (text == 0 || strlen(text) < 1) return; if (g_utf8_strlen(text, -1) > MAX_TEXT_LENGTH) return; m_lyrics[line] = new NedPangoCairoText(main_window->getDrawingArea()->window, text, LYRICS_FONT, LYRICS_FONT_SLANT, LYRICS_FONT_WEIGHT, LYRICS_FONT_SIZE, main_window->getCurrentZoomFactor(), main_window->getCurrentScale(), true); } void NedChordOrRest::createLyrics(int line, char *text) { if (line < 0 || line >= MAX_LYRICS_LINES) { NedResource::Abort("NedChordOrRest::createLyrics(1)"); } if (m_type != TYPE_CHORD) return; if (m_voice->getVoiceNumber() > 0) return; if (text == 0 || strlen(text) < 1) return; m_lyrics[line] = new NedPangoCairoText(getMainWindow()->getDrawingArea()->window, text, LYRICS_FONT, LYRICS_FONT_SLANT, LYRICS_FONT_WEIGHT, LYRICS_FONT_SIZE, getMainWindow()->getCurrentZoomFactor(), getMainWindow()->getCurrentScale(), true); } void NedChordOrRest::appendToLyrics(NedCommandList *command_list, int line, const char *text) { if (line < 0 || line >= MAX_LYRICS_LINES) { NedResource::Abort("NedChordOrRest::appendToLyrics(1)"); } //#define RTL_TEST2 #ifdef RTL_TEST2 printf("appendToLyrics(a): string = %s : ", text); for (unsigned int i = 0; i < strlen(text); i++) { printf("s[%u] = 0x%x, ", i, 0xff & text[i]); } putchar('\n'); fflush(stdout); #endif if (m_voice->getVoiceNumber() > 0) return; #ifdef RTL_TEST2 printf("appendToLyrics(b): string = %s : ", text); for (unsigned int i = 0; i < strlen(text); i++) { printf("s[%u] = 0x%x, ", i, 0xff & text[i]); } putchar('\n'); fflush(stdout); #endif if (m_type != TYPE_CHORD) return; #ifdef RTL_TEST2 printf("appendToLyrics(c): string = %s : ", text); for (unsigned int i = 0; i < strlen(text); i++) { printf("s[%u] = 0x%x, ", i, 0xff & text[i]); } putchar('\n'); fflush(stdout); #endif if (text == NULL || strlen(text) < 1) return; #ifdef RTL_TEST2 printf("appendToLyrics(d): string = %s : ", text); for (unsigned int i = 0; i < strlen(text); i++) { printf("s[%u] = 0x%x, ", i, 0xff & text[i]); } putchar('\n'); fflush(stdout); #endif //#define RTL_TEST #ifdef RTL_TEST static int zz = 0; if (text[0] != '-') { switch (zz++ % 6) { case 0: text = "פ"; break; case 1: text = "ע"; break; case 2: text = "י"; break; case 3: text = "ל"; break; case 4: text = "ו"; break; case 5: text = "ת"; break; } } #endif if (m_lyrics[line] == NULL) { if (text == NULL || strlen(text) < 1) return; m_lyrics[line] = new NedPangoCairoText(getMainWindow()->getDrawingArea()->window, text, LYRICS_FONT, LYRICS_FONT_SLANT, LYRICS_FONT_WEIGHT, LYRICS_FONT_SIZE, getMainWindow()->getCurrentZoomFactor(), getMainWindow()->getCurrentScale(), true); command_list->addCommand(new NedNewLyricsCommand(this, line)); } else { m_lyrics[line]->insertAtCursorPosition( text, getMainWindow()->getCurrentZoomFactor()); } computeBbox(); } bool NedChordOrRest::deleteLyricsLetter(NedCommandList *command_list, int line) { if (line < 0 || line >= MAX_LYRICS_LINES) { NedResource::Abort("NedChordOrRest::deleteLyricsLetter(1)"); } if (m_type != TYPE_CHORD || m_lyrics[line] == NULL) return TRUE; if (!m_lyrics[line]->removeAtCursorPosition(getMainWindow()->getCurrentZoomFactor())) { delete m_lyrics[line]; m_lyrics[line] = NULL; return false; } computeBbox(); return true; } bool NedChordOrRest::setLyricsCursor(int line, int pos) { if (line < 0 || line >= MAX_LYRICS_LINES) { NedResource::Abort("NedChordOrRest::setLyricsCursor"); } switch(pos) { case LYR_CURSOR_RIGHT: if (m_lyrics[line] == NULL) return false; return m_lyrics[line]->moveCursor(1); break; case LYR_CURSOR_LEFT: if (m_lyrics[line] == NULL) return false; return m_lyrics[line]->moveCursor(-1); break; case LYR_CURSOR_END: if (m_lyrics[line] == NULL) return false; m_lyrics[line]->setCursorToLastPos(); break; case LYR_CURSOR_START: if (m_lyrics[line] == NULL) return false; m_lyrics[line]->setCursorToFirstPos(); break; } return true; } void NedChordOrRest::setXPos2(double pos) { m_xpos = pos; computeBbox(); } void NedChordOrRest::selectNextChord(int line, bool lyrics_required) { return m_voice->selectNextChord(this, line, lyrics_required); } void NedChordOrRest::selectPreviousChord(int line, bool lyrics_required) { return m_voice->selectPreviousChord(this, line, lyrics_required); } NedMainWindow *NedChordOrRest::getMainWindow() {return m_voice->getStaff()->getSystem()->getPage()->getMainWindow();} NedPage *NedChordOrRest::getPage() {return m_voice->getStaff()->getSystem()->getPage();} NedSystem *NedChordOrRest::getSystem() {return m_voice->getStaff()->getSystem();} NedStaff *NedChordOrRest::getStaff() {return m_voice->getStaff();} void NedChordOrRest::setToRest(bool toRest) { if (m_type != TYPE_REST && toRest) { if (m_beam != NULL) { delete m_beam; // includes unbeaming other notes and unregister on voice } } if (toRest) { m_type = TYPE_REST; } else { m_type = TYPE_CHORD; } if (m_type == TYPE_REST) { m_ypos = - 3 * LINE_DIST/2.0; } else { m_ypos = 0.0; reConfigure(); xPositNotes(); } computeBbox(); } void NedChordOrRest::reposit(unsigned int pos) { m_xpos = 1.0 + 1.0 * pos; } int NedChordOrRest::getPitchOfFirstNote() { int clef, keysig, octave_shift; bool dummy; getStaff()->getCurrentClefAndKeysig(m_midi_time, &clef, &keysig, &octave_shift); return ((NedNote *) g_list_first(m_notes)->data)->getPitch(clef, keysig, octave_shift, 0, &dummy, true); } void NedChordOrRest::setInternalPitch(int pitchdist) { int clef, keysig, octave_shift; GList *lptr; getStaff()->getCurrentClefAndKeysig(m_midi_time, &clef, &keysig, &octave_shift); for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->setInternalPitch(pitchdist, clef, keysig, octave_shift); } } void NedChordOrRest::hideRest(NedCommandList *command_list, bool unhide) { if (m_type != TYPE_REST) return; if (m_is_hidden) return; NedChangeChordOrRestStatusCommand *chordstatus; unsigned int newstatus = m_status; if (unhide) { newstatus = m_status & (~(STAT_USER_HIDDEN_REST)); } else { newstatus = m_status | STAT_USER_HIDDEN_REST; } chordstatus = new NedChangeChordOrRestStatusCommand(this, newstatus); command_list->addCommand(chordstatus); chordstatus->execute(); } void NedChordOrRest::shiftNotes(int linedist) { GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->shiftNoteLine(linedist); } reConfigure(); xPositNotes(); computeBbox(); } void NedChordOrRest::adjustAccidentals() { int clef, keysig, octave_shift; GList *lptr; getStaff()->getCurrentClefAndKeysig(m_midi_time, &clef, &keysig, &octave_shift); for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->adjustAccidental(clef, keysig, octave_shift); } reConfigure(); xPositNotes(); computeBbox(); } void NedChordOrRest::changeAccidentals(NedCommandList *command_list, int preferred_offs) { int clef, keysig, octave_shift; GList *lptr; getStaff()->getCurrentClefAndKeysig(m_midi_time, &clef, &keysig, &octave_shift); for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->changeAccidental(command_list, preferred_offs, clef, keysig, octave_shift); } reConfigure(); xPositNotes(); computeBbox(); } void NedChordOrRest::insertNoteAt(NedNote *note, bool echo /* = FALSE */) { staff_context_str *context; bool dummy; int clef, keysig, octave_shift; int pitch; GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { if (((NedNote *) lptr->data)->isTheSame(note)) return; } note->setChord(this); if (m_voice != NULL) { context = &(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()]); getStaff()->getCurrentClefAndKeysig(m_midi_time, &clef, &keysig, &octave_shift); if (echo && NedResource::m_midi_echo) { pitch = note->getPitch(clef, keysig, octave_shift, 0, &dummy, true); NedResource::playImmediately(context->m_midi_channel, context->voices[0].m_midi_program, 1, &pitch, context->voices[0].m_midi_volume); } xPositNotes(); } m_notes = g_list_insert_sorted(m_notes, note, (gint (*)(const void*, const void*)) NedNote::compare); } bool NedChordOrRest::removeNoteAt(int line) { GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { if (((NedNote *) lptr->data)->getLine() == line) { m_notes = g_list_delete_link(m_notes, lptr); xPositNotes(); return g_list_length(m_notes) > 0; } } NedResource::Abort("NedChordOrRest::removeNoteAt"); return FALSE; } NedChordOrRest *NedChordOrRest::cloneWithDifferentLength(unsigned int newlen, int dotcount) { int line, head; GList *lptr; if (m_type == TYPE_REST) { line = 3; } else { NedNote *note = (NedNote *) g_list_first(m_notes)->data; line = note->getLine(); } if (m_notes != NULL) { head = ((NedNote *) g_list_first(m_notes)->data)->getNoteHead(); } else { head = NORMAL_NOTE; } NedChordOrRest *newChord = new NedChordOrRest(m_voice, m_type, FALSE /* m_is_hidden */ , line, dotcount, newlen, head, m_status, 0); if (m_type != TYPE_REST) { lptr = g_list_first(m_notes); for (lptr = g_list_next(lptr); lptr; lptr = g_list_next(lptr)) { newChord->m_notes = g_list_append(newChord->m_notes, new NedNote(newChord, ((NedNote *) lptr->data)->getLine(), ((NedNote *) lptr->data)->getNoteHead(), 0)); } } /* not correct, because it will be a new NedChordOrRest for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if ((((NedFreeReplaceable *) lptr->data)->getType() & (FREE_PLACEABLE_SLUR_POINT | FREE_PLACEABLE_LINE_POINT)) != 0) continue; ((NedFreeReplaceable *) lptr->data)->clone(NULL, newChord); } */ return newChord; } void NedChordOrRest::print() { GList *lptr; NedResource::DbgMsg(DBG_TESTING, "len = %u(%u) time = %llu(%llu) lines = ", m_length, m_length / NOTE_64, m_midi_time, m_midi_time /NOTE_64); for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { NedResource::DbgMsg(DBG_TESTING, " %d, ", ((NedNote *) lptr->data)->getLine()); } } bool NedChordOrRest::isTied() { GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { if (((NedNote *) lptr->data)->getTieBackward() != NULL) { return true; } } return false; } void NedChordOrRest::testTies() { GList *lptr; NedNote *n, *c; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { n = (NedNote *) lptr->data; c = n->getTieBackward(); if (c != NULL) { if (c->getVoice()->getVoiceNumber() != m_voice->getVoiceNumber()) { n->removeBackwardTie(); } } c = n->getTieForward(); if (c != NULL ) { if (c->getVoice()->getVoiceNumber() != m_voice->getVoiceNumber()) { n->removeForwardTie(); } } } } void NedChordOrRest::removeAllBackwardTies() { GList *lptr; if (m_type == TYPE_REST) return; for (lptr= g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->removeBackwardTie(); } } bool NedChordOrRest::tieBackward(NedChordOrRest *prev, NedNote *note) { GList *lptr; int line = note->getLine(); if (g_list_find(m_notes, note) == NULL) { NedResource::Abort("NedChordOrRest::tieBackward"); } for (lptr = g_list_first(prev->m_notes); lptr; lptr = g_list_next(lptr)) { if (((NedNote *) lptr->data)->getLine() == line) { ((NedNote *) lptr->data)->setTies((NedNote *) lptr->data, note); return true; } } return false; } void NedChordOrRest::handleOpenTies(NedCommandList *command_list, GList *pool) { GList *chord_ptr1, *chord_ptr2; GList *note_ptr1, *note_ptr2; bool check; for (chord_ptr1 = g_list_first(pool); chord_ptr1; chord_ptr1 = g_list_next(chord_ptr1)) { if (((NedChordOrRest *) chord_ptr1->data)->getType() != TYPE_CHORD) continue; for (note_ptr1 = g_list_first(((NedChordOrRest *) chord_ptr1->data)->m_notes); note_ptr1; note_ptr1 = g_list_next(note_ptr1)) { if (((NedNote *) note_ptr1->data)->getTieForward() != NULL) { check = false; for (chord_ptr2 = g_list_first(pool); chord_ptr2; chord_ptr2 = g_list_next(chord_ptr2)) { if (chord_ptr1->data == chord_ptr2->data) continue; if (((NedChordOrRest *) chord_ptr2->data)->getType() != TYPE_CHORD) continue; for (note_ptr2 = g_list_first(((NedChordOrRest *) chord_ptr2->data)->m_notes); note_ptr2; note_ptr2 = g_list_next(note_ptr2)) { if (((NedNote *) note_ptr1->data)->getTieForward() == (NedNote *) note_ptr2) { check = true; break; } } } if (!check) { ((NedNote *) note_ptr1->data)->testForTiesToDelete(command_list, BREAK_TIE_FORWARD, true); } } if (((NedNote *) note_ptr1->data)->getTieBackward() != NULL) { check = false; for (chord_ptr2 = g_list_first(pool); chord_ptr2; chord_ptr2 = g_list_next(chord_ptr2)) { if (chord_ptr1->data == chord_ptr2->data) continue; if (((NedChordOrRest *) chord_ptr2->data)->getType() != TYPE_CHORD) continue; for (note_ptr2 = g_list_first(((NedChordOrRest *) chord_ptr2->data)->m_notes); note_ptr2; note_ptr2 = g_list_next(note_ptr2)) { if (((NedNote *) note_ptr1->data)->getTieBackward() == (NedNote *) note_ptr2) { check = true; break; } } } if (!check) { ((NedNote *) note_ptr1->data)->testForTiesToDelete(command_list, BREAK_TIE_BACKWARD, true); } } } } } bool NedChordOrRest::testForTiesToDelete(NedCommandList *command_list, unsigned int dir /* = BREAK_TIE_BACKWARD */, bool execute /* = false */) { bool deleted_ties = FALSE, delties; for (GList *lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { delties = ((NedNote *) lptr->data)->testForTiesToDelete(command_list, dir, execute); deleted_ties = deleted_ties || delties; } return deleted_ties; } void NedChordOrRest::testForFreeReplaceablesToDelete(NedCommandList *command_list, GList **already_deleted, bool execute /* = false */) { NedSlurPoint **sp; NedLinePoint *startp, *endp, *midp; GList *lptr; NedFreeReplaceable * freereplaceable; NedRemoveFreePlaceableCommand *rem_displaceable; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { switch (((NedFreeReplaceable *) lptr->data)->getType()) { case FREE_PLACEABLE_SLUR_POINT: sp = ((NedSlurPoint *) lptr->data)->getSlurPoints(); if (g_list_find(*already_deleted, sp[0]) == NULL) { rem_displaceable = new NedRemoveFreePlaceableCommand(sp[0]); *already_deleted = g_list_append(*already_deleted, sp[0]); command_list->addCommand(rem_displaceable); if (execute) rem_displaceable->execute(); } if (g_list_find(*already_deleted, sp[1]) == NULL) { rem_displaceable = new NedRemoveFreePlaceableCommand(sp[1]); *already_deleted = g_list_append(*already_deleted, sp[1]); command_list->addCommand(rem_displaceable); if (execute) rem_displaceable->execute(); } if (g_list_find(*already_deleted, sp[2]) == NULL) { rem_displaceable = new NedRemoveFreePlaceableCommand(sp[2]); *already_deleted = g_list_append(*already_deleted, sp[2]); command_list->addCommand(rem_displaceable); if (execute) rem_displaceable->execute(); } break; case FREE_PLACEABLE_LINE_POINT: startp = ((NedLinePoint *) lptr->data)->getLineStartPoint(); endp = ((NedLinePoint *) lptr->data)->getLineEndPoint(); if (g_list_find(*already_deleted, startp) == NULL) { rem_displaceable = new NedRemoveFreePlaceableCommand(startp); *already_deleted = g_list_append(*already_deleted, startp); command_list->addCommand(rem_displaceable); if (execute) rem_displaceable->execute(); } if (g_list_find(*already_deleted, endp) == NULL) { rem_displaceable = new NedRemoveFreePlaceableCommand(endp); *already_deleted = g_list_append(*already_deleted, endp); command_list->addCommand(rem_displaceable); if (execute) rem_displaceable->execute(); } if ((((NedLinePoint *) lptr->data)->getLine()->getLineType() & LINE_TEMPO_CHANGE) != 0) { midp = ((NedLine3 *) ((NedLinePoint *) lptr->data)->getLine())->getLineMidPoint(); if (g_list_find(*already_deleted, midp) == NULL) { rem_displaceable = new NedRemoveFreePlaceableCommand(midp); *already_deleted = g_list_append(*already_deleted, midp); command_list->addCommand(rem_displaceable); if (execute) rem_displaceable->execute(); } } break; default: freereplaceable = (NedFreeReplaceable *) lptr->data; if (g_list_find(*already_deleted, freereplaceable) == NULL) { rem_displaceable = new NedRemoveFreePlaceableCommand(freereplaceable); *already_deleted = g_list_append(*already_deleted, freereplaceable); command_list->addCommand(rem_displaceable); if (execute) rem_displaceable->execute(); } break; } } } void NedChordOrRest::testForDeleteableConstraints(NedCommandList *command_list) { bool constraint = false; NedRemoveConstraintsCommand *rem_constr_cmd; NedChordOrRest *other_chord = NULL; constraint = ((m_status & STAT_USER_STEMDIR) != 0); constraint = constraint || (m_stem_height != STEM_DEFAULT_HEIGHT); constraint = constraint || (m_beam_y_offs != 0.0); constraint = constraint || (m_slope_offs != 0); if (constraint) { rem_constr_cmd = new NedRemoveConstraintsCommand(this); rem_constr_cmd->execute(); command_list->addCommand(rem_constr_cmd); } if (m_beam == NULL) return; if (m_beam->isFirstInBeam(this)) { other_chord = m_beam->getLast(); } else if (m_beam->isLastInBeam(this)) { other_chord = m_beam->getFirst(); } if (other_chord == NULL) return; constraint = ((other_chord->m_status & STAT_USER_STEMDIR) != 0); constraint = constraint || (other_chord->m_stem_height != STEM_DEFAULT_HEIGHT); constraint = constraint || (other_chord->m_beam_y_offs != 0.0); constraint = constraint || (other_chord->m_slope_offs != 0); if (constraint) { rem_constr_cmd = new NedRemoveConstraintsCommand(other_chord); rem_constr_cmd->execute(); command_list->addCommand(rem_constr_cmd); } } void NedChordOrRest::tryTieBackward() { NedChordOrRest *previousChord = getPreviousChordOrRest(); if (previousChord == NULL) return; if (previousChord->getType() != TYPE_CHORD) return; previousChord->tieAllNotes(this); } void NedChordOrRest::correctTiesForward() { GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->correctTieForward(); } } void NedChordOrRest::tieAllNotes(NedChordOrRest *other_chord) { NedCommandList *command_list = NULL; GList *lptr1, *lptr2; for (lptr1 = g_list_first(m_notes); lptr1; lptr1 = g_list_next(lptr1)) { for (lptr2 = g_list_first(other_chord->m_notes); lptr2; lptr2 = g_list_next(lptr2)) { if (((NedNote *) lptr1->data)->isTheSame((NedNote *) lptr2->data)) { NedTieNotesCommand *cmd = new NedTieNotesCommand((NedNote *) lptr1->data, (NedNote *) lptr2->data); if (command_list == NULL) { command_list = new NedCommandList(getMainWindow(), getSystem()); } command_list->addCommand(cmd); } } } if (command_list != NULL) { command_list->execute(); getMainWindow()->getCommandHistory()->addCommandList(command_list); } } void NedChordOrRest::tieCompleteTo(NedChordOrRest *other_chord, bool check_pitch) { GList *lptr1, *lptr2; for (lptr1 = g_list_first(m_notes); lptr1; lptr1 = g_list_next(lptr1)) { for (lptr2 = g_list_first(other_chord->m_notes); lptr2; lptr2 = g_list_next(lptr2)) { ((NedNote *) lptr1->data)->setTieIfSamePitch((NedNote *) lptr2->data, check_pitch); } } } void NedChordOrRest::computeTies() { GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->computeTie(); } } bool NedChordOrRest::noConflict(int line) { if (m_type == TYPE_REST) { NedResource::Abort("NedChordOrRest::noConflict"); } if (((NedNote *) g_list_first(m_notes)->data)->getNoteHead() == GUITAR_NOTE_STEM) return false; if (((NedNote *) g_list_first(m_notes)->data)->getNoteHead() == GUITAR_NOTE_NO_STEM) return false; GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { if (((NedNote *) lptr->data)->getLine() == line) { return false; } } return true; } int NedChordOrRest::getSorting(NedChordOrRest *other_chord) { NedVoice *other_voice; NedChordOrRest *c0, *c1; int sorting; if (other_chord == this) return SORTING_NONE; if (getPage() != other_chord->getPage()) { sorting = getMainWindow()->getSorting(getPage(), getStaff(), other_chord->getPage(), other_chord->getStaff()); switch (sorting) { case SORTING_NONE: return SORTING_NONE; case SORTING_LESS: c0 = other_chord; c1 = this; break; default: c0 = this; c1 = other_chord; break; } if (!c0->getPage()->isLast(c0->getSystem())) return SORTING_NONE; if (!c1->getPage()->isFirst(c1->getSystem())) return SORTING_NONE; if (!c0->m_voice->isLast(c0)) return SORTING_NONE; if (!c1->m_voice->isFirst(c1)) return SORTING_NONE; return sorting; } other_voice = other_chord->m_voice; if (m_voice != other_voice) { sorting = getPage()->getSorting(getStaff(), getSystem(), other_chord->getStaff(), other_chord->getSystem()); switch (sorting) { case SORTING_NONE: return SORTING_NONE; case SORTING_LESS: c0 = other_chord; c1 = this; break; default: c0 = this; c1 = other_chord; break; } if (!c0->m_voice->isLast(c0)) return SORTING_NONE; if (!c1->m_voice->isFirst(c1)) return SORTING_NONE; return sorting; } return m_voice->getSorting(this, other_chord); } void NedChordOrRest::reConfigure() { int line_sum = 0; unsigned int oldstemdir; if (m_type == TYPE_REST) { if (getStemDir() == STEM_DIR_NONE && !(m_status & STAT_USER_PLACED_REST)) { m_ypos = - 3 * LINE_DIST/2.0; } return; } m_notes = g_list_sort(m_notes, (gint (*)(const void*, const void*)) NedNote::compare); GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { line_sum += ((NedNote *) lptr->data)->getLine(); } if ((m_status & STAT_USER_STEMDIR) == 0) { oldstemdir = (m_status & STAT_UP); switch (getStemDir()) { case STEM_DIR_UP: m_status |= STAT_UP; if (!oldstemdir) {xPositNotes(); computeBbox();} break; case STEM_DIR_DOWN: m_status &= (~(STAT_UP)); if (oldstemdir) {xPositNotes(); computeBbox();} break; default: int c = 4 * g_list_length(m_notes); if (line_sum < c || m_length == WHOLE_NOTE) { m_status |= STAT_UP; if (!oldstemdir) { xPositNotes(); computeBbox(); } } else { m_status &= (~(STAT_UP)); if (oldstemdir) { xPositNotes(); computeBbox(); } } break; } } if (m_beam != NULL) { if (m_length >= NOTE_4) { m_beam->removeChord(this); m_beam = NULL; } else { m_beam->computeBeam(getStemDir()); } } } void NedChordOrRest::flipStem(NedCommandList *command_list) { NedChangeChordOrRestStatusCommand *notestatus; NedFlipValuesCommand *flipbeamvaluecmd1, *flipbeamvaluecmd2; NedChordOrRest *other_chord; unsigned int newstatus; if (m_beam == NULL) { newstatus = m_status; newstatus |= STAT_USER_STEMDIR; if ((m_status & STAT_UP) == 0) { newstatus |= STAT_UP; } else { newstatus &= (~(STAT_UP)); } notestatus = new NedChangeChordOrRestStatusCommand(this, newstatus); command_list->addCommand(notestatus); notestatus->execute(); } else if (m_beam->isFirstInBeam(this)) { newstatus = m_status; newstatus |= STAT_USER_STEMDIR; if ((m_status & STAT_UP) == 0) { newstatus |= STAT_UP; } else { newstatus &= (~(STAT_UP)); } notestatus = new NedChangeChordOrRestStatusCommand(this, newstatus); command_list->addCommand(notestatus); other_chord = m_beam->getLast(); if ((((newstatus & STAT_UP) == 0) && m_beam->isBeamUp()) || (((newstatus & STAT_UP) != 0) && !m_beam->isBeamUp())) { flipbeamvaluecmd1 = new NedFlipValuesCommand(this); command_list->addCommand(flipbeamvaluecmd1); flipbeamvaluecmd2 = new NedFlipValuesCommand(other_chord); command_list->addCommand(flipbeamvaluecmd2); notestatus->execute(); flipbeamvaluecmd1->execute(); flipbeamvaluecmd2->execute(); } else { notestatus->execute(); } } else if (m_beam->isLastInBeam(this)) { other_chord = m_beam->getFirst(); newstatus = other_chord->m_status; newstatus |= STAT_USER_STEMDIR; if ((newstatus & STAT_UP) == 0) { newstatus |= STAT_UP; } else { newstatus &= (~(STAT_UP)); } notestatus = new NedChangeChordOrRestStatusCommand(other_chord, newstatus); command_list->addCommand(notestatus); if ((((newstatus & STAT_UP) == 0) && other_chord->m_beam->isBeamUp()) || (((newstatus & STAT_UP) != 0) && !other_chord->m_beam->isBeamUp())) { flipbeamvaluecmd1 = new NedFlipValuesCommand(this); command_list->addCommand(flipbeamvaluecmd1); flipbeamvaluecmd2 = new NedFlipValuesCommand(other_chord); command_list->addCommand(flipbeamvaluecmd2); notestatus->execute(); flipbeamvaluecmd1->execute(); flipbeamvaluecmd2->execute(); } else { notestatus->execute(); } } } void NedChordOrRest::setLength(int length) { m_length = length; unsigned int upbeat; unsigned int measure_length; if (m_length == WHOLE_NOTE) { if (m_voice->getVoiceNumber() > 0) { m_is_hidden = TRUE; } } else if (m_midi_time == 0 && getMainWindow()->getUpBeatInverse() > 0) { measure_length = getMainWindow()->getNumerator() * WHOLE_NOTE / getMainWindow()->getDenominator(); upbeat = measure_length - getMainWindow()->getUpBeatInverse(); if (m_voice->getVoiceNumber() > 0 && getDuration() == measure_length) { m_is_hidden = TRUE; } } } bool NedChordOrRest::ReleaseTmpValue() { if (m_tmp_xpos < 0.0) return FALSE; bool ret = m_voice->setNewXpos(this, m_tmp_xpos); m_tmp_xpos = -1.0; if (!ret) { getMainWindow()->reposit(NULL, getPage()); } return ret; } void NedChordOrRest::changeDuration(unsigned int new_duration, int tuplet_val) { if (m_tuplet_val != 0) { new_duration *= tuplet_val; new_duration /= (tuplet_val - 1); } compute_fitting_duration(new_duration, &m_length, &m_dot_count); } void NedChordOrRest::compute_fitting_duration(unsigned int sum, unsigned int *length, int *dot_count) { unsigned int dur = NOTE_64; while (dur <= sum && dur <= WHOLE_NOTE) { dur <<= 1; } dur >>= 1; *length = dur; *dot_count = (*length / 2 * 3 <= sum) ? 1 : 0; } bool NedChordOrRest::testXShift(double x) { double leftx = getMainWindow()->getLeftX(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double current_scale = getMainWindow()->getCurrentScale(); double xx = X_POS_INVERS_PAGE_REL(x); double xxdiff = xx - m_xpos; if (xxdiff < 0.0) xxdiff = -xxdiff; if (xxdiff > MIN_SHIFT_X_DIFF) { m_tmp_xpos = xx; return TRUE; } return FALSE; } void NedChordOrRest::moveToLine(int line) { if (m_type != TYPE_REST) return; m_line = line; m_ypos = -m_line * LINE_DIST/2.0; m_status |= STAT_USER_PLACED_REST; } void NedChordOrRest::computeBbox() { double minx = 10000.0, miny = 10000.0; double maxx = -10000.0, maxy = -10000.0; double zoom_factor; int zoom_level; cairo_text_extents_t *extention = NULL; NedNote *stem_start_note; int dir, i; double yy; int fac, ll, lll; double extry_y_offs = 0, off1; double maxlyricslength; switch (m_type) { case TYPE_CLEF: zoom_factor = getMainWindow()->getCurrentZoomFactor(); zoom_level = getMainWindow()->getCurrentZoomLevel(); extention = &(NedResource::fontextentions[zoom_level][3]); m_bbox.x = extention->x_bearing / zoom_factor; m_bbox.y = (extention->y_bearing) / zoom_factor + (m_ypos -3 * LINE_DIST/2.0); m_bbox.width_netto = m_bbox.width = extention->width / zoom_factor; m_bbox.height = extention->height / zoom_factor; break; case TYPE_KEYSIG: lll = m_dot_count; // keysig so far if (lll < 0) lll = -lll; ll = (int) m_length; // "new" keysig off1 = (ll > 0) ? (0.5 * LINE_DIST) : 0.0; if (ll < 0) ll = -ll; m_bbox.x = 0.0; m_bbox.y = - 6 * LINE_DIST; m_bbox.width_netto = m_bbox.width = (ll + lll) * (SIG_X_SHIFT /* + EXTRA_KEY_OFF */ ) + off1; m_bbox.height = 7 * LINE_DIST; break; case TYPE_STAFF_SIGN: #define BREATH_WIDTH 0.4 #define BREATH_HEIGHT (2.0 * LINE_DIST) #define STAFF_SIGN_Y_OFFS (5.0 * LINE_DIST) m_bbox.x = -BREATH_WIDTH / 2.0; m_bbox.y = -STAFF_SIGN_Y_OFFS - 0.5 * BREATH_HEIGHT; m_bbox.width_netto = m_bbox.width = BREATH_WIDTH; m_bbox.height = BREATH_HEIGHT; break; case TYPE_REST: zoom_factor = getMainWindow()->getCurrentZoomFactor(); zoom_level = getMainWindow()->getCurrentZoomLevel(); switch(m_length) { case WHOLE_NOTE: extry_y_offs = WHOLE_NOTE_Y_OFFS; extention = &(NedResource::fontextentions[zoom_level][9]); break; break; case NOTE_2: extry_y_offs = HALF_NOTE_Y_OFFS; extention = &(NedResource::fontextentions[zoom_level][10]); break; case NOTE_4: extention = &(NedResource::fontextentions[zoom_level][11]); break; case NOTE_8: extention = &(NedResource::fontextentions[zoom_level][12]); break; case NOTE_16: extention = &(NedResource::fontextentions[zoom_level][13]); break; case NOTE_32: extention = &(NedResource::fontextentions[zoom_level][14]); break; case NOTE_64: extention = &(NedResource::fontextentions[zoom_level][15]); break; } switch(m_length) { case NOTE_2: m_bbox.x = (extention->x_bearing - 3.2) / zoom_factor; // half rests are too close to others m_bbox.width_netto = m_bbox.width = (extention->width + 6.4) / zoom_factor; break; default: m_bbox.x = extention->x_bearing / zoom_factor; m_bbox.width_netto = m_bbox.width = extention->width / zoom_factor; break; } m_bbox.y = (extention->y_bearing) / zoom_factor + m_ypos; m_bbox.height = extention->height / zoom_factor; switch (m_dot_count) { case 1: m_bbox.width_netto = (m_bbox.width += m_dot_count * HEAD_THICK + DOT1POS + extry_y_offs); break; case 2: m_bbox.width_netto = (m_bbox.width += m_dot_count * HEAD_THICK + DOT2POS + extry_y_offs); break; } break; case TYPE_CHORD: zoom_factor = getMainWindow()->getCurrentZoomFactor(); zoom_level = getMainWindow()->getCurrentZoomLevel(); GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->computeBounds(m_length, &minx, &miny, &maxx, &maxy); } if (m_length < NOTE_4 && m_beam == NULL && (m_status & STAT_UP)) { if (NedResource::getFlagWidth() > maxx) maxx = NedResource::getFlagWidth(); } if (m_beam != NULL) { if (m_beam->isBeamUp()) { dir = -1; stem_start_note = (NedNote *) g_list_last(m_notes)->data; } else { dir = 1; stem_start_note = (NedNote *) g_list_first(m_notes)->data; } fac = 0; } else { dir = (m_status & STAT_UP) ? -1 : 1; if (m_status & STAT_UP) { stem_start_note = (NedNote *) g_list_last(m_notes)->data; } else { stem_start_note = (NedNote *) g_list_first(m_notes)->data; } switch(m_length) { case NOTE_32: fac = 1; break; case NOTE_64: fac = 2; break; default: fac = 0; break; } } #define ARPEGGIO_X_DIST -0.4 #define ARPEGGIO_THICK 0.4 #define ARPEGGO_Y_SEGMENT_LENGTH 0.2 #define ARPEGG_EXTRA 0.2 #define ARPEGGIO_MIDI_DIST NOTE_32 if (m_length < WHOLE_NOTE) { yy = stem_start_note->getYpos() + dir * (m_stem_height + fac * FLAG_DIST); if (yy > maxy) maxy = yy; if (yy < miny) miny = yy; } if (m_status & STAT_ARPEGGIO) { minx += ARPEGGIO_X_DIST /* + (m_all_shifted ? HEAD_THICK : 0.0) */ + 0.1; } #define TREMOLO_WIDTH (LINE_DIST) #define REAL_TREMOLO_WIDTH ( 0.7 * LINE_DIST) #define TREMOLO_SHIFT (1.2 * LINE_DIST) #define TREMOLO_BEAM_SHIFT (0.4 * LINE_DIST) #define TREMOLO_THICK (0.5 * LINE_DIST) if (m_length < WHOLE_NOTE && (m_status & TREMOLO_MASK)) { if (dir < 0) { if (maxx < TREMOLO_WIDTH) maxx = TREMOLO_WIDTH; if (minx > -TREMOLO_WIDTH) minx = -TREMOLO_WIDTH; } else { if (minx > -2 * TREMOLO_WIDTH) minx = -2 * TREMOLO_WIDTH; } } m_bbox.x = minx; m_bbox.y = miny; m_bbox.width_netto /* width without lyrics */ = m_bbox.width = maxx - minx; maxlyricslength = 0.0; for (i = 0; i < MAX_LYRICS_LINES; i++) { if (m_lyrics[i] != NULL) { if (m_lyrics[i]->getWidth() / getMainWindow()->getCurrentZoomFactor() / getMainWindow()->getCurrentScale() > maxlyricslength) { maxlyricslength = m_lyrics[i]->getWidth() / getMainWindow()->getCurrentZoomFactor() / getMainWindow()->getCurrentScale(); } } } #define HYPHEN_LONG 0.2 if (maxlyricslength > 0.0) { if (maxlyricslength + HYPHEN_LONG > m_bbox.width) { m_bbox.width = maxlyricslength + HYPHEN_LONG; m_bbox.x = -m_bbox.width / 2.0; m_bbox.width_netto += m_bbox.width / 2.0 - HYPHEN_LONG; } } m_bbox.height = maxy - miny; break; case TYPE_GRACE: zoom_factor = getMainWindow()->getCurrentZoomFactor(); zoom_level = getMainWindow()->getCurrentZoomLevel(); extention = &(NedResource::fontextentions[zoom_level][18]); m_bbox.x = extention->x_bearing / zoom_factor; m_bbox.y = (extention->y_bearing) / zoom_factor - ((NedNote *) g_list_first(m_notes)->data)->getLine() * LINE_DIST / 2.0; m_bbox.width_netto = m_bbox.width = extention->width / zoom_factor; m_bbox.height = extention->height / zoom_factor; break; } } double NedChordOrRest::compute_microshift(NedChordOrRest *right_chord, int mnum, int pos) { //int line1, line2, dir1, dir2; GList *lptr1, *lptr2; double new_micro_shift; int linedist; bool no_conflict; right_chord->m_micro_shift = m_micro_shift; /* ignore the beams because they can be wrong at this moment */ /* if (m_status & STAT_UP) { dir1 = -1; line1 = ((NedNote *) g_list_first(m_notes)->data)->getLine(); } else { dir1 = 1; line1 = ((NedNote *) g_list_last(m_notes)->data)->getLine(); } if (right_chord->m_status & STAT_UP) { dir2 = -1; line2 = ((NedNote *) g_list_first(right_chord->m_notes)->data)->getLine(); } else { dir2 = 1; line2 = ((NedNote *) g_list_last(right_chord->m_notes)->data)->getLine(); } if (dir1 * dir2 < 0 && line1 == line2) return m_micro_shift; if (dir1 < 0 && dir2 > 0) { if (line1 - line2 > 1) return m_micro_shift; } if (dir1 > 0 && dir2 < 0) { if (line2 - line1 > 1) return m_micro_shift; } if (right_chord->m_bbox.y > m_bbox.y + m_bbox.height) return m_micro_shift; if (m_bbox.y > right_chord->m_bbox.y + right_chord->m_bbox.height) return m_micro_shift; if (right_chord->m_xpos + right_chord->m_bbox.x > m_xpos + m_bbox.x + m_bbox.width) return m_micro_shift; if (right_chord->m_xpos + right_chord->m_bbox.x + right_chord->m_bbox.width < m_xpos + m_bbox.x) return m_micro_shift; */ no_conflict = true; for (lptr1 = g_list_first(right_chord->m_notes); lptr1 && no_conflict; lptr1 = g_list_next(lptr1)) { for (lptr2 = g_list_first(m_notes); lptr2 && no_conflict; lptr2 = g_list_next(lptr2)) { linedist = ((NedNote *) lptr1->data)->getLine() - ((NedNote *) lptr2->data)->getLine(); if (linedist < 0) linedist = -linedist; if (linedist > 0 && linedist < 2) no_conflict = false; } } if (no_conflict) return m_micro_shift; new_micro_shift = m_micro_shift + m_bbox.x + m_bbox.width_netto /* width without lyrics */ - (right_chord->m_bbox.x); if (new_micro_shift > right_chord->m_micro_shift) { right_chord->m_micro_shift = new_micro_shift; } return right_chord->m_micro_shift; } double NedChordOrRest::compute_y_shift(NedChordOrRest *other_chord, int dir) { if (other_chord->m_bbox.y > MIN_REST_Y_VOICE_DIST + m_bbox.y + m_bbox.height) return -1.0; if (m_bbox.y > MIN_REST_Y_VOICE_DIST + other_chord->m_bbox.y + other_chord->m_bbox.height) return -1.0; if (other_chord->m_xpos + other_chord->m_bbox.x > m_xpos + m_bbox.x + m_bbox.width) return -1.0; if (other_chord->m_xpos + other_chord->m_bbox.x + other_chord->m_bbox.width < m_xpos + m_bbox.x) return -1.0; if (dir == STEM_DIR_DOWN) { return m_bbox.y + m_bbox.height - other_chord->m_bbox.y + MIN_REST_Y_VOICE_DIST; } return other_chord->m_bbox.y + other_chord->m_bbox.height - m_bbox.y + MIN_REST_Y_VOICE_DIST; } void NedChordOrRest::sortNotes() { m_notes = g_list_sort(m_notes, (gint (*)(const void*, const void*)) NedNote::compare); } void NedChordOrRest::setMidiTime(unsigned long long time) { m_midi_time = time; if (m_type == TYPE_REST) { computeBbox(); } } void NedChordOrRest::resetYPos() { if (m_status & STAT_USER_PLACED_REST) return; m_ypos = - 3 * LINE_DIST/2.0; computeBbox(); } bool NedChordOrRest::hasUpDir() { if (m_beam != NULL) { return m_beam->isBeamUp(); } return ((m_status & STAT_UP) != 0); } int NedChordOrRest::lengthForFlagCountComputation() { unsigned int effective_length = m_length; if (m_length < WHOLE_NOTE && (m_status & TREMOLO_MASK)) { switch (m_status & TREMOLO_MASK) { case STAT_TREMOLO1: if (m_length > NOTE_8) effective_length = NOTE_8; break; case STAT_TREMOLO2: if (m_length > NOTE_16) effective_length = NOTE_16;break; case STAT_TREMOLO3: if (m_length > NOTE_32) effective_length = NOTE_32;break; case STAT_TREMOLO4: if (m_length > NOTE_64) effective_length = NOTE_64;break; } } return effective_length; } int NedChordOrRest::numberOfFlagSigns() { switch(m_length) { case NOTE_8: return 1; case NOTE_16: return 2; case NOTE_32: return 3; case NOTE_64: return 4; } return 0; } int NedChordOrRest::numberOfTremoloSigns() { switch (m_status & TREMOLO_MASK) { case STAT_TREMOLO1: return 1; case STAT_TREMOLO2: return 2; case STAT_TREMOLO3: return 3; case STAT_TREMOLO4: return 4; } return 0; } void NedChordOrRest::draw(cairo_t *cr, bool *freetexts_or_lyrics_present) { cairo_glyph_t glyph; double leftx = getMainWindow()->getLeftX(); double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); int zoom_level = getMainWindow()->getCurrentZoomLevel(); int dir, i, ll; double sig_xpos, yl; int flag_glyph = 0, tremolo_glyph = 0, clef_type, keysig_type, octave_shift; double real_xpos = m_tmp_xpos < 0.0 ? m_xpos : m_tmp_xpos; double y_start, y_stem_start, ydist; double oct_shift_y_offs = 0.0, oct_shift_x_offs = 0.0; double clef_y_offs = 0.0; bool oct_shift = false; int up_art_nr = 0, down_art_nr = 0; double art_y_pos; int noteline, line; bool user_hidden_rest; int arpeg_parts; //#define SHOW_HIDDEN #ifdef SHOW_HIDDEN bool is_hidden = false; #endif GList *lptr; real_xpos += m_micro_shift; m_free_texts_present = m_lyrics_present = false; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if ((((NedFreeReplaceable *) lptr->data)->getType() & (FREE_PLACEABLE_TEXT|FREE_PLACEABLE_CHORDNAME)) != 0) {m_free_texts_present = true; continue;} ((NedFreeReplaceable *) lptr->data)->draw(cr, leftx, topy, zoom_factor, zoom_level, getMainWindow()->getCurrentScale()); } if (m_free_texts_present) *freetexts_or_lyrics_present = true; switch (m_type) { case TYPE_CLEF: switch (m_length) { // kind case TREBLE_CLEF: glyph.index = BASE + 2; switch (m_dot_count) { // octave shift case 12: oct_shift_y_offs = OCTUP_Y_TREBLE_DIST_UP; oct_shift = true; break; case -12: oct_shift_y_offs = OCTUP_Y_TREBLE_DIST_DOWN; oct_shift = true; break; } break; case ALTO_CLEF: glyph.index = BASE + 1; switch (m_dot_count) { case 12: oct_shift_y_offs = OCTUP_Y_ALTO_DIST_UP; oct_shift_x_offs = OCTUP_X_ALTO_DIST; oct_shift = true; break; case -12: oct_shift_y_offs = OCTUP_Y_ALTO_DIST_DOWN; oct_shift_x_offs = OCTUP_X_ALTO_DIST; oct_shift = true; break; } break; case SOPRAN_CLEF: glyph.index = BASE + 1; switch (m_dot_count) { case 12: oct_shift_y_offs = OCTUP_Y_ALTO_DIST_UP; oct_shift_x_offs = OCTUP_X_ALTO_DIST; oct_shift = true; break; case -12: oct_shift_y_offs = OCTUP_Y_ALTO_DIST_DOWN; oct_shift_x_offs = OCTUP_X_ALTO_DIST; oct_shift = true; break; } clef_y_offs = 2 * LINE_DIST; break; case TENOR_CLEF: glyph.index = BASE + 1; switch (m_dot_count) { case 12: oct_shift_y_offs = OCTUP_Y_ALTO_DIST_UP; oct_shift_x_offs = OCTUP_X_ALTO_DIST; oct_shift = true; break; case -12: oct_shift_y_offs = OCTUP_Y_ALTO_DIST_DOWN; oct_shift_x_offs = OCTUP_X_ALTO_DIST; oct_shift = true; break; } clef_y_offs = -LINE_DIST;break; case NEUTRAL_CLEF1: case NEUTRAL_CLEF2: case NEUTRAL_CLEF3: glyph.index = BASE + 27; break; default: glyph.index = BASE + 3; switch (m_dot_count) { case 12: oct_shift_y_offs = OCTUP_Y_BASS_DIST_UP; oct_shift = true; break; case -12: oct_shift_y_offs = OCTUP_Y_BASS_DIST_DOWN; oct_shift = true; break; } break; } #define CLEF_ADDITIONAL_OFFS 0.1 glyph.x = X_POS_PAGE_REL(real_xpos + CLEF_ADDITIONAL_OFFS); glyph.y = Y_POS_STAFF_REL(m_ypos + clef_y_offs + -3 * LINE_DIST/2.0); if (getMainWindow()->m_selected_chord_or_rest == this) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } cairo_show_glyphs(cr, &glyph, 1); if (oct_shift) { glyph.index = BASE + 28; glyph.x = X_POS_PAGE_REL(real_xpos + oct_shift_x_offs + CLEF_ADDITIONAL_OFFS); glyph.y = Y_POS_STAFF_REL(m_ypos -3 * LINE_DIST/2.0 + clef_y_offs + oct_shift_y_offs); cairo_show_glyphs(cr, &glyph, 1); } cairo_stroke(cr); if (getMainWindow()->m_selected_chord_or_rest == this) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } break; case TYPE_STAFF_SIGN: switch (m_dot_count) { // sub type case SIGN_BREATH1: glyph.index = BASE + 58; break; case SIGN_BREATH2: glyph.index = BASE + 59; break; } glyph.x = X_POS_PAGE_REL(real_xpos); glyph.y = Y_POS_STAFF_REL(m_ypos-STAFF_SIGN_Y_OFFS); if (getMainWindow()->m_selected_chord_or_rest == this) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } cairo_show_glyphs(cr, &glyph, 1); cairo_stroke(cr); if (getMainWindow()->m_selected_chord_or_rest == this) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } break; case TYPE_KEYSIG: #define KEYSIG_ADITIONAL_X_OFFS -0.2 ll = m_dot_count; getStaff()->getCurrentClefAndKeysig(m_time, &clef_type, &keysig_type, &octave_shift); sig_xpos = real_xpos + KEYSIG_ADITIONAL_X_OFFS; if (getMainWindow()->m_selected_chord_or_rest == this) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } if (ll > 0) { // keysig type so far cairo_new_path(cr); glyph.index = BASE + 17; for (i = 0; i < ll; i++) { glyph.x = X_POS_PAGE_REL(sig_xpos); glyph.y = Y_POS_STAFF_REL(-NedStaff::m_sharpPos[clef_type][i] * LINE_DIST/2.0); sig_xpos += SIG_X_SHIFT; cairo_show_glyphs(cr, &glyph, 1); } cairo_stroke(cr); } else if (ll < 0) { cairo_new_path(cr); glyph.index = BASE + 17; for (i = 0; i > ll; i--) { glyph.x = X_POS_PAGE_REL(sig_xpos); glyph.y = Y_POS_STAFF_REL(-NedStaff::m_flatPos[clef_type][-i] * LINE_DIST/2.0); sig_xpos += SIG_X_SHIFT; cairo_show_glyphs(cr, &glyph, 1); } cairo_stroke(cr); } ll = (int) m_length; if (ll > 0) { // keysig type cairo_new_path(cr); glyph.index = BASE - 1; for (i = 0; i < ll; i++) { glyph.x = X_POS_PAGE_REL(sig_xpos); glyph.y = Y_POS_STAFF_REL(-NedStaff::m_sharpPos[clef_type][i] * LINE_DIST/2.0); sig_xpos += SIG_X_SHIFT; cairo_show_glyphs(cr, &glyph, 1); } cairo_stroke(cr); } else if (ll < 0) { cairo_new_path(cr); glyph.index = BASE + 16; for (i = 0; i > ll; i--) { glyph.x = X_POS_PAGE_REL(sig_xpos); glyph.y = Y_POS_STAFF_REL(-NedStaff::m_flatPos[clef_type][-i] * LINE_DIST/2.0); sig_xpos += SIG_X_SHIFT; cairo_show_glyphs(cr, &glyph, 1); } cairo_stroke(cr); } if (getMainWindow()->m_selected_chord_or_rest == this) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } break; case TYPE_REST: #ifndef SHOW_HIDDEN if (m_is_hidden) return; #endif user_hidden_rest = false; if (m_status & STAT_USER_HIDDEN_REST) { if (getMainWindow()->getShowHidden()) { user_hidden_rest = true; cairo_set_source_rgb (cr, HIDD_RED, HIDD_GREEN, HIDD_BLUE); } else break; } glyph.x = X_POS_PAGE_REL(real_xpos); glyph.y = Y_POS_STAFF_REL(m_ypos); #ifdef SHOW_HIDDEN if (m_is_hidden) { m_is_hidden = true; glyph.y = Y_POS_STAFF_REL(m_ypos + LINE_DIST / 2 * m_voice->getVoiceNumber()); } #endif if (m_active) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } #ifdef SHOW_HIDDEN /* else if (m_is_hidden) { cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); } */ #endif switch(m_length) { case WHOLE_NOTE: glyph.index = BASE + 9; break; case NOTE_2: glyph.index = BASE + 10; break; case NOTE_4: glyph.index = BASE + 11; break; case NOTE_8: glyph.index = BASE + 12; break; case NOTE_16: glyph.index = BASE + 13; break; case NOTE_32: glyph.index = BASE + 14; break; case NOTE_64: glyph.index = BASE + 15; break; } if (getMainWindow()->m_selected_chord_or_rest == this) { if (getMainWindow()->doPaintColored()) { switch(getVoice()->getVoiceNumber()) { case 0: cairo_set_source_rgb (cr, DSCOLOR(V1RED), DSCOLOR(V1GREEN), DSCOLOR(V1BLUE)); break; case 1: cairo_set_source_rgb (cr, DSCOLOR(V2RED), DSCOLOR(V2GREEN), DSCOLOR(V2BLUE)); break; case 2: cairo_set_source_rgb (cr, DSCOLOR(V3RED), DSCOLOR(V3GREEN), DSCOLOR(V3BLUE)); break; default: cairo_set_source_rgb (cr, DSCOLOR(V4RED), DSCOLOR(V4GREEN), DSCOLOR(V4BLUE)); break; } } else { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } } else if (!user_hidden_rest && getMainWindow()->doPaintColored()) { switch(getVoice()->getVoiceNumber()) { case 0: cairo_set_source_rgb (cr, DCOLOR(V1RED), DCOLOR(V1GREEN), DCOLOR(V1BLUE)); break; case 1: cairo_set_source_rgb (cr, DCOLOR(V2RED), DCOLOR(V2GREEN), DCOLOR(V2BLUE)); break; case 2: cairo_set_source_rgb (cr, DCOLOR(V3RED), DCOLOR(V3GREEN), DCOLOR(V3BLUE)); break; default: cairo_set_source_rgb (cr, DCOLOR(V4RED), DCOLOR(V4GREEN), DCOLOR(V4BLUE)); break; } } cairo_show_glyphs(cr, &glyph, 1); if (m_dot_count > 0) { double extra_x_offs, extry_y_offs; switch (m_length) { case WHOLE_NOTE: extra_x_offs = WHOLE_NOTE_X_OFFS; extry_y_offs = WHOLE_NOTE_Y_OFFS; break; case NOTE_2: extra_x_offs = HALF_NOTE_X_OFFS; extry_y_offs = HALF_NOTE_Y_OFFS; break; default: extra_x_offs = 0; extry_y_offs = 0; break; } cairo_new_path(cr); cairo_arc(cr, X_POS_PAGE_REL(real_xpos + DOT1_REST_POS + extra_x_offs), Y_POS_STAFF_REL(m_ypos + extry_y_offs), zoom_factor * DOT_RAD, 0, 2.0 * M_PI); cairo_fill(cr); if (m_dot_count > 1) { cairo_arc(cr, X_POS_PAGE_REL(real_xpos + DOT2_REST_POS + extra_x_offs), Y_POS_STAFF_REL(m_ypos + extry_y_offs), zoom_factor * DOT_RAD, 0, 2.0 * M_PI); cairo_fill(cr); } } if (m_status & STAT_FERMATA) { #define REST_FERMATA_DIST -0.2 glyph.index = BASE + 45; glyph.x = X_POS_PAGE_REL(real_xpos + REST_FERMATA_DIST); glyph.y = Y_POS_STAFF_REL(-5 * LINE_DIST); cairo_show_glyphs(cr, &glyph, 1); } if (m_active || getMainWindow()->m_selected_chord_or_rest == this || getMainWindow()->doPaintColored()) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } if (user_hidden_rest) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } #ifdef SHOW_HIDDEN if (m_is_hidden) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } #endif break; case TYPE_CHORD: NedNote *start_note, *stem_start_note; if (m_beam != NULL) { if (m_beam->isBeamUp()) { dir = -1; start_note = (NedNote *) g_list_first(m_notes)->data; stem_start_note = (NedNote *) g_list_last(m_notes)->data; } else { dir = 1; if (m_all_shifted) { real_xpos -= HEAD_THICK; } stem_start_note = (NedNote *) g_list_first(m_notes)->data; start_note = (NedNote *) g_list_last(m_notes)->data; } } else { tremolo_glyph = BASE + 63; dir = (m_status & STAT_UP) ? -1 : 1; flag_glyph = (m_status & STAT_UP) ? BASE + 5 : BASE + 8; if (m_status & STAT_UP) { start_note = (NedNote *) g_list_first(m_notes)->data; stem_start_note = (NedNote *) g_list_last(m_notes)->data; } else { if (m_all_shifted) { real_xpos -= HEAD_THICK; } stem_start_note = (NedNote *) g_list_first(m_notes)->data; start_note = (NedNote *) g_list_last(m_notes)->data; } } y_start = start_note->getYpos(); y_stem_start = stem_start_note->getYpos(); if (((NedNote *) g_list_first(m_notes)->data)->getNoteHead() != GUITAR_NOTE_NO_STEM) { if (m_beam == NULL) { switch(lengthForFlagCountComputation()) { case NOTE_2: case NOTE_4: cairo_set_line_width(cr, zoom_factor * STEM_THICK); cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos), Y_POS_STAFF_REL(y_start)); cairo_line_to(cr, X_POS_PAGE_REL(m_stem_end_xpos = real_xpos), Y_POS_STAFF_REL(m_stem_end_ypos = (y_stem_start + dir * m_stem_height))); cairo_stroke(cr); break; case NOTE_8: glyph.index = (m_length > NOTE_8) ? tremolo_glyph : flag_glyph; glyph.x = X_POS_PAGE_REL(real_xpos); glyph.y = Y_POS_STAFF_REL(y_stem_start + dir * (m_stem_height - ((m_length > NOTE_8) ? TREMOLO_SHIFT : 0))); cairo_show_glyphs(cr, &glyph, 1); cairo_set_line_width(cr, zoom_factor * STEM_THICK); cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos), Y_POS_STAFF_REL(y_start)); cairo_line_to(cr, X_POS_PAGE_REL(m_stem_end_xpos = real_xpos), Y_POS_STAFF_REL(m_stem_end_ypos = (y_stem_start + dir * m_stem_height))); cairo_stroke(cr); break; case NOTE_16: glyph.index = (m_length > NOTE_8) ? tremolo_glyph : flag_glyph; glyph.x = X_POS_PAGE_REL(real_xpos); glyph.y = Y_POS_STAFF_REL(y_stem_start + dir * (m_stem_height - ((m_length > NOTE_8) ? TREMOLO_SHIFT : 0))); cairo_show_glyphs(cr, &glyph, 1); glyph.index = (m_length > NOTE_16) ? tremolo_glyph : flag_glyph; glyph.y = Y_POS_STAFF_REL(y_stem_start + dir * (m_stem_height - FLAG_DIST + ((m_length > NOTE_16) ? -TREMOLO_SHIFT : 0))); cairo_show_glyphs(cr, &glyph, 1); cairo_set_line_width(cr, zoom_factor * STEM_THICK); cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos), Y_POS_STAFF_REL(y_start)); cairo_line_to(cr, X_POS_PAGE_REL(m_stem_end_xpos = real_xpos), Y_POS_STAFF_REL(m_stem_end_ypos = (y_stem_start + dir * m_stem_height))); cairo_stroke(cr); break; case NOTE_32: glyph.index = (m_length > NOTE_8) ? tremolo_glyph : flag_glyph; glyph.x = X_POS_PAGE_REL(real_xpos); glyph.y = Y_POS_STAFF_REL(y_stem_start + dir * (m_stem_height + FLAG_DIST + ((m_length > NOTE_8) ? -TREMOLO_SHIFT : 0))); cairo_show_glyphs(cr, &glyph, 1); glyph.index = (m_length > NOTE_16) ? tremolo_glyph : flag_glyph; glyph.y = Y_POS_STAFF_REL(y_stem_start + dir * (m_stem_height + ((m_length > NOTE_16) ? -TREMOLO_SHIFT : 0))); cairo_show_glyphs(cr, &glyph, 1); glyph.index = (m_length > NOTE_32) ? tremolo_glyph : flag_glyph; glyph.y = Y_POS_STAFF_REL(y_stem_start + dir * (m_stem_height - FLAG_DIST + ((m_length > NOTE_32) ? -TREMOLO_SHIFT : 0))); cairo_show_glyphs(cr, &glyph, 1); cairo_set_line_width(cr, zoom_factor * STEM_THICK); cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos), Y_POS_STAFF_REL(y_start)); cairo_line_to(cr, X_POS_PAGE_REL(m_stem_end_xpos = real_xpos), Y_POS_STAFF_REL(m_stem_end_ypos = (y_stem_start + dir * (m_stem_height + FLAG_DIST)))); cairo_stroke(cr); break; case NOTE_64: glyph.index = (m_length > NOTE_8) ? tremolo_glyph : flag_glyph; glyph.x = X_POS_PAGE_REL(real_xpos); glyph.y = Y_POS_STAFF_REL(y_stem_start + dir * (m_stem_height + 2 * FLAG_DIST + ((m_length > NOTE_8) ? -TREMOLO_SHIFT : 0))); cairo_show_glyphs(cr, &glyph, 1); glyph.x = X_POS_PAGE_REL(real_xpos); glyph.y = Y_POS_STAFF_REL(y_stem_start + dir * (m_stem_height + FLAG_DIST + ((m_length > NOTE_16) ? -TREMOLO_SHIFT : 0))); glyph.index = (m_length > NOTE_16) ? tremolo_glyph : flag_glyph; cairo_show_glyphs(cr, &glyph, 1); glyph.index = (m_length > NOTE_32) ? tremolo_glyph : flag_glyph; glyph.y = Y_POS_STAFF_REL(y_stem_start + dir * (m_stem_height + ((m_length > NOTE_32) ? -TREMOLO_SHIFT : 0))); cairo_show_glyphs(cr, &glyph, 1); glyph.index = (m_length > NOTE_64) ? tremolo_glyph : flag_glyph; glyph.y = Y_POS_STAFF_REL(y_stem_start + dir * (m_stem_height - FLAG_DIST + ((m_length > NOTE_64) ? -TREMOLO_SHIFT : 0))); cairo_show_glyphs(cr, &glyph, 1); cairo_set_line_width(cr, zoom_factor * STEM_THICK); cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos), Y_POS_STAFF_REL(y_start)); cairo_line_to(cr, X_POS_PAGE_REL(m_stem_end_xpos = real_xpos), Y_POS_STAFF_REL(m_stem_end_ypos = (y_stem_start + dir * (m_stem_height + 2 * FLAG_DIST)))); cairo_stroke(cr); break; } if (getMainWindow()->m_selected_chord_or_rest == this && ((getMainWindow()->getMainWindowStatus() & INSERT_EREASE_MODE) == 0)) { if (getMainWindow()->m_selected_stem == this) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } else { cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); } cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * STEM_THICK); cairo_rectangle (cr, X_POS_PAGE_REL(m_stem_end_xpos - STEM_TOP_DIST), Y_POS_STAFF_REL(m_stem_end_ypos - STEM_TOP_DIST), zoom_factor * 2 * STEM_TOP_DIST, zoom_factor * 2 * STEM_TOP_DIST); cairo_stroke(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } } else { cairo_set_line_width(cr, zoom_factor * STEM_THICK); cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos), Y_POS_STAFF_REL(y_start)); cairo_line_to(cr, X_POS_PAGE_REL(m_stem_end_xpos = real_xpos), Y_POS_STAFF_REL(m_stem_end_ypos = m_beam->getYPosAt(real_xpos))); cairo_stroke(cr); if (m_status & TREMOLO_MASK) { ydist = REAL_TREMOLO_WIDTH * m_beam->getSlope(); cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * TREMOLO_THICK); for (i = numberOfFlagSigns(); i < numberOfTremoloSigns(); i++) { cairo_move_to(cr, X_POS_PAGE_REL(real_xpos - REAL_TREMOLO_WIDTH), Y_POS_STAFF_REL(m_stem_end_ypos + ydist - dir * (TREMOLO_BEAM_SHIFT + i * FLAG_DIST))); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + REAL_TREMOLO_WIDTH), Y_POS_STAFF_REL(m_stem_end_ypos - ydist - dir * (TREMOLO_BEAM_SHIFT + i * FLAG_DIST))); } cairo_stroke(cr); } if (getMainWindow()->m_selected_chord_or_rest == this && ((getMainWindow()->getMainWindowStatus() & INSERT_EREASE_MODE) == 0) && (m_beam->isFirstInBeam(this) || m_beam->isLastInBeam(this))) { if (getMainWindow()->m_selected_stem == this) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } else { cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); } cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * STEM_THICK); cairo_rectangle (cr, X_POS_PAGE_REL(m_stem_end_xpos - STEM_TOP_DIST), Y_POS_STAFF_REL(m_stem_end_ypos - STEM_TOP_DIST), zoom_factor * 2 * STEM_TOP_DIST, zoom_factor * 2 * STEM_TOP_DIST); cairo_stroke(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } } } // "notehead" != GUITAR_NOTE_NO_STEM if (m_status & STAT_ARPEGGIO) { cairo_new_path(cr); glyph.index = BASE + 46; glyph.x = X_POS_PAGE_REL(m_xpos + m_bbox.x /* + (m_all_shifted ? HEAD_THICK : 0.0) */ + 0.15); glyph.y = Y_POS_STAFF_REL(y_start); arpeg_parts = (int) ( (dir * (y_stem_start - y_start) + ARPEGG_EXTRA) / ARPEGGO_Y_SEGMENT_LENGTH); cairo_show_glyphs(cr, &glyph, 1); for (i = 1; i < arpeg_parts; i++) { glyph.y = Y_POS_STAFF_REL(y_start + dir * i * ARPEGGO_Y_SEGMENT_LENGTH); cairo_show_glyphs(cr, &glyph, 1); } cairo_stroke(cr); } #define STACC_DOT_X_DIST 0.13 if (m_status & STAT_STACC) { cairo_new_path(cr); art_y_pos = (dir < 0) ? m_art_down_y_pos[down_art_nr++] : m_art_up_y_pos[up_art_nr++]; cairo_arc(cr, X_POS_PAGE_REL(real_xpos + dir * STACC_DOT_X_DIST), Y_POS_STAFF_REL(art_y_pos), zoom_factor * DOT_RAD, 0, 2.0 * M_PI); cairo_fill(cr); } if (m_status & STAT_STACCATISSIMO) { cairo_new_path(cr); art_y_pos = (dir < 0) ? m_art_down_y_pos[down_art_nr++] : m_art_up_y_pos[up_art_nr++]; #define STR_STACC_X_ARC_OFFS 0.13 #define STR_STACC_X_ARC_DIST 0.052 #define STR_STACC_Y_ARC_OFFS 0.08 #define STR_STACC_X_CONE_DIST 0.016 #define STR_STACC_HEIGHT 0.24 art_y_pos -= dir * STR_STACC_HEIGHT; cairo_move_to(cr, X_POS_PAGE_REL(real_xpos + dir * STR_STACC_X_ARC_OFFS - STR_STACC_X_ARC_DIST), Y_POS_STAFF_REL(art_y_pos + dir * STR_STACC_Y_ARC_OFFS)); cairo_curve_to(cr, X_POS_PAGE_REL(real_xpos + dir * STR_STACC_X_ARC_OFFS - STR_STACC_X_ARC_DIST), Y_POS_STAFF_REL(art_y_pos + dir * STR_STACC_Y_ARC_OFFS), X_POS_PAGE_REL(real_xpos + dir * STR_STACC_X_ARC_OFFS), Y_POS_STAFF_REL(art_y_pos), X_POS_PAGE_REL(real_xpos + dir * STR_STACC_X_ARC_OFFS + STR_STACC_X_ARC_DIST), Y_POS_STAFF_REL(art_y_pos + dir * STR_STACC_Y_ARC_OFFS)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * STR_STACC_X_ARC_OFFS + STR_STACC_X_CONE_DIST), Y_POS_STAFF_REL(art_y_pos + dir * STR_STACC_HEIGHT)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * STR_STACC_X_ARC_OFFS - STR_STACC_X_CONE_DIST), Y_POS_STAFF_REL(art_y_pos + dir * STR_STACC_HEIGHT)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * STR_STACC_X_ARC_OFFS - STR_STACC_X_ARC_DIST), Y_POS_STAFF_REL(art_y_pos + dir * STR_STACC_Y_ARC_OFFS)); cairo_fill(cr); } #define TENUTO_X_DIST 0.13 #define TENUTO_LONG 0.2 #define TENUTO_LONG_2 (TENUTO_LONG / 2.0) #define TENUTO_THICK 0.04 if (m_status & STAT_TENUTO) { cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * TENUTO_THICK); art_y_pos = (dir < 0) ? m_art_down_y_pos[down_art_nr++] : m_art_up_y_pos[up_art_nr++]; cairo_move_to(cr, X_POS_PAGE_REL(real_xpos + dir * TENUTO_X_DIST - TENUTO_LONG_2), Y_POS_STAFF_REL(art_y_pos)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * TENUTO_X_DIST + TENUTO_LONG_2), Y_POS_STAFF_REL(art_y_pos)); cairo_stroke(cr); } if (m_status & STAT_SFORZANDO) { #define SFORZANDO_X_DIST 0.13 #define SFORZANDO_LONG 0.2 #define SFORZANDO_LONG_2 (SFORZANDO_LONG / 2.0) #define SFORZANDO_HIGHT 0.15 #define SFORZANDO_HIGHT_2 (SFORZANDO_HIGHT / 2.0) #define SFORZANDO_THICK 0.04 cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * SFORZANDO_THICK); art_y_pos = (dir < 0) ? m_art_down_y_pos[down_art_nr++] : m_art_up_y_pos[up_art_nr++]; cairo_move_to(cr, X_POS_PAGE_REL(real_xpos + dir * SFORZANDO_X_DIST - SFORZANDO_LONG_2), Y_POS_STAFF_REL(art_y_pos)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * SFORZANDO_X_DIST + SFORZANDO_LONG_2), Y_POS_STAFF_REL(art_y_pos - dir * SFORZANDO_HIGHT_2)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * SFORZANDO_X_DIST - SFORZANDO_LONG_2), Y_POS_STAFF_REL(art_y_pos - dir * SFORZANDO_HIGHT)); cairo_stroke(cr); } if (m_status & STAT_SFORZATO) { #define SFORZATO_X_DIST 0.13 #define SFORZATO_LONG 0.15 #define SFORZATO_LONG_2 (SFORZATO_LONG / 2.0) #define SFORZATO_HIGHT 0.2 #define SFORZATO_THICK1 0.08 #define SFORZATO_THICK2 0.04 cairo_new_path(cr); if (dir > 0) { cairo_set_line_width(cr, zoom_factor * SFORZATO_THICK1); art_y_pos = m_art_up_y_pos[up_art_nr++]; cairo_move_to(cr, X_POS_PAGE_REL(real_xpos + dir * SFORZATO_X_DIST - SFORZATO_LONG_2), Y_POS_STAFF_REL(art_y_pos)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * SFORZATO_X_DIST), Y_POS_STAFF_REL(art_y_pos - SFORZATO_HIGHT)); cairo_stroke(cr); cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * SFORZATO_THICK2); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos + dir * SFORZATO_X_DIST), Y_POS_STAFF_REL(art_y_pos - SFORZATO_HIGHT)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * SFORZATO_X_DIST + SFORZATO_LONG_2), Y_POS_STAFF_REL(art_y_pos)); cairo_stroke(cr); } else { cairo_set_line_width(cr, zoom_factor * SFORZATO_THICK2); art_y_pos = m_art_down_y_pos[down_art_nr++]; cairo_move_to(cr, X_POS_PAGE_REL(real_xpos + dir * SFORZATO_X_DIST - SFORZATO_LONG_2), Y_POS_STAFF_REL(art_y_pos)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * SFORZATO_X_DIST), Y_POS_STAFF_REL(art_y_pos + SFORZATO_HIGHT)); cairo_stroke(cr); cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * SFORZATO_THICK1); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos + dir * SFORZATO_X_DIST), Y_POS_STAFF_REL(art_y_pos + SFORZATO_HIGHT)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * SFORZATO_X_DIST + SFORZATO_LONG_2), Y_POS_STAFF_REL(art_y_pos)); cairo_stroke(cr); } } if (m_status & STAT_BOW_UP) { #define BOW_UP_X_DIST 0.13 #define BOW_UP_LONG 0.2 #define BOW_UP_HIGHT 0.3 #define BOW_UP_LONG_2 (BOW_UP_LONG / 2.0) #define BOW_UP_THICK 0.04 cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * BOW_UP_THICK); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos + dir * BOW_UP_X_DIST - BOW_UP_LONG_2), Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr] - BOW_UP_HIGHT)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * BOW_UP_X_DIST), Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr])); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * BOW_UP_X_DIST + BOW_UP_LONG_2), Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr++] - BOW_UP_HIGHT)); cairo_stroke(cr); } if (m_status & STAT_BOW_DOWN) { #define BOW_DOWN_X_DIST 0.13 #define BOW_DOWN_LONG 0.25 #define BOW_DOWN_HIGHT 0.2 #define BOW_DOWN_UNDER 0.07 #define BOW_DOWN_LONG_2 (BOW_DOWN_LONG / 2.0) #define BOW_DOWN_THICK1 0.04 #define BOW_DOWN_THICK2 0.08 cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * BOW_DOWN_THICK1); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos + dir * BOW_DOWN_X_DIST - BOW_DOWN_LONG_2), Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr] + BOW_DOWN_UNDER)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * BOW_DOWN_X_DIST - BOW_DOWN_LONG_2), Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr] - BOW_DOWN_HIGHT + BOW_DOWN_UNDER)); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos + dir * BOW_DOWN_X_DIST + BOW_DOWN_LONG_2), Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr] + BOW_DOWN_UNDER)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * BOW_DOWN_X_DIST + BOW_DOWN_LONG_2), Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr] - BOW_DOWN_HIGHT + BOW_DOWN_UNDER)); cairo_stroke(cr); cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * BOW_DOWN_THICK2); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * BOW_DOWN_X_DIST - BOW_DOWN_LONG_2), Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr] - BOW_DOWN_HIGHT + BOW_DOWN_UNDER)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + dir * BOW_DOWN_X_DIST + BOW_DOWN_LONG_2), Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr++] - BOW_DOWN_HIGHT + BOW_DOWN_UNDER)); cairo_stroke(cr); } if (m_status & STAT_TRILL) { #define PEDAL_OFF_X_DIST 0.13 #define PEDAL_ON_X_DIST 0.13 glyph.index = BASE + 33; glyph.x = X_POS_PAGE_REL(real_xpos + dir * PEDAL_OFF_X_DIST); glyph.y = Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr++]); cairo_show_glyphs(cr, &glyph, 1); } if (m_has_open_highhat) { glyph.index = BASE + 34; glyph.x = X_POS_PAGE_REL(real_xpos + dir * PEDAL_OFF_X_DIST); glyph.y = Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr++]); cairo_show_glyphs(cr, &glyph, 1); } if (m_has_closed_highhat) { glyph.index = BASE + 60; glyph.x = X_POS_PAGE_REL(real_xpos + dir * PEDAL_OFF_X_DIST); glyph.y = Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr++]); cairo_show_glyphs(cr, &glyph, 1); } if (m_status & STAT_PRALL) { glyph.index = BASE + 35; glyph.x = X_POS_PAGE_REL(real_xpos + dir * PEDAL_OFF_X_DIST); glyph.y = Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr++]); cairo_show_glyphs(cr, &glyph, 1); } if (m_status & STAT_MORDENT) { glyph.index = BASE + 36; glyph.x = X_POS_PAGE_REL(real_xpos + dir * PEDAL_OFF_X_DIST); glyph.y = Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr++]); cairo_show_glyphs(cr, &glyph, 1); } if (m_status & STAT_TURN) { glyph.index = BASE + 61; glyph.x = X_POS_PAGE_REL(real_xpos + dir * PEDAL_OFF_X_DIST); glyph.y = Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr++]); cairo_show_glyphs(cr, &glyph, 1); } if (m_status & STAT_REV_TURN) { glyph.index = BASE + 62; glyph.x = X_POS_PAGE_REL(real_xpos + dir * PEDAL_OFF_X_DIST); glyph.y = Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr++]); cairo_show_glyphs(cr, &glyph, 1); } if (m_status & STAT_FERMATA) { glyph.index = BASE + 45; glyph.x = X_POS_PAGE_REL(real_xpos + dir * PEDAL_OFF_X_DIST); glyph.y = Y_POS_STAFF_REL(m_art_up_y_pos[up_art_nr++]); cairo_show_glyphs(cr, &glyph, 1); } if (m_status & STAT_PED_ON) { glyph.index = BASE + 31; glyph.x = X_POS_PAGE_REL(real_xpos + dir * PEDAL_ON_X_DIST); glyph.y = Y_POS_STAFF_REL(m_art_down_y_pos[down_art_nr++]); cairo_show_glyphs(cr, &glyph, 1); } if (m_status & STAT_PED_OFF) { glyph.index = BASE + 32; glyph.x = X_POS_PAGE_REL(real_xpos + dir * PEDAL_OFF_X_DIST); glyph.y = Y_POS_STAFF_REL(m_art_down_y_pos[down_art_nr++]); cairo_show_glyphs(cr, &glyph, 1); } GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->draw(cr); } for (i = 0; !(m_lyrics_present) && i < MAX_LYRICS_LINES; i++) { if (m_lyrics[i] != NULL) m_lyrics_present = true; } if (m_lyrics_present) *freetexts_or_lyrics_present = true; break; case TYPE_GRACE: if (getMainWindow()->m_selected_chord_or_rest == this) { if (getMainWindow()->doPaintColored()) { switch(getVoice()->getVoiceNumber()) { case 0: cairo_set_source_rgb (cr, DSCOLOR(V1RED), DSCOLOR(V1GREEN), DSCOLOR(V1BLUE)); break; case 1: cairo_set_source_rgb (cr, DSCOLOR(V2RED), DSCOLOR(V2GREEN), DSCOLOR(V2BLUE)); break; case 2: cairo_set_source_rgb (cr, DSCOLOR(V3RED), DSCOLOR(V3GREEN), DSCOLOR(V3BLUE)); break; default: cairo_set_source_rgb (cr, DSCOLOR(V4RED), DSCOLOR(V4GREEN), DSCOLOR(V4BLUE)); break; } } else { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } } else if (getMainWindow()->doPaintColored()) { switch(getVoice()->getVoiceNumber()) { case 0: cairo_set_source_rgb (cr, DCOLOR(V1RED), DCOLOR(V1GREEN), DCOLOR(V1BLUE)); break; case 1: cairo_set_source_rgb (cr, DCOLOR(V2RED), DCOLOR(V2GREEN), DCOLOR(V2BLUE)); break; case 2: cairo_set_source_rgb (cr, DCOLOR(V3RED), DCOLOR(V3GREEN), DCOLOR(V3BLUE)); break; default: cairo_set_source_rgb (cr, DCOLOR(V4RED), DCOLOR(V4GREEN), DCOLOR(V4BLUE)); break; } } stem_start_note = (NedNote *) g_list_first(m_notes)->data; y_stem_start = stem_start_note->getYpos(); switch(m_length) { case STROKEN_GRACE: glyph.index = BASE + 18; break; case GRACE_8: case GRACE_16: glyph.index = BASE + 19; break; } glyph.x = X_POS_PAGE_REL(real_xpos); glyph.y = Y_POS_STAFF_REL(y_stem_start); cairo_show_glyphs(cr, &glyph, 1); if (m_beam == NULL) { switch(m_length) { case GRACE_16: glyph.index = BASE + 20; glyph.y = Y_POS_STAFF_REL(y_stem_start + GRACE_HEIGHT2); cairo_show_glyphs(cr, &glyph, 1); case GRACE_8: glyph.index = BASE + 20; glyph.y = Y_POS_STAFF_REL(y_stem_start + GRACE_HEIGHT1); cairo_show_glyphs(cr, &glyph, 1); cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * GRACE_STEM_THICK); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos + GRACE_HEAD_THICK_HALF), Y_POS_STAFF_REL(y_stem_start)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + GRACE_HEAD_THICK_HALF), Y_POS_STAFF_REL(y_stem_start - GRACE_HEIGHT3)); cairo_stroke(cr); break; } } else { cairo_set_line_width(cr, zoom_factor * GRACE_STEM_THICK); cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(real_xpos + GRACE_HEAD_THICK_HALF), Y_POS_STAFF_REL(y_stem_start)); cairo_line_to(cr, X_POS_PAGE_REL(real_xpos + GRACE_HEAD_THICK_HALF), Y_POS_STAFF_REL(m_beam->getYPosAt(real_xpos + GRACE_HEAD_THICK_HALF))); cairo_stroke(cr); } if (getMainWindow()->m_selected_chord_or_rest == this || getMainWindow()->doPaintColored()) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } noteline = ((NedNote *) g_list_first(m_notes)->data)->getLine(); if (noteline < -1) { cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * AUX_LINE_THICK); line = noteline / 2; line *= 2; for (; line < -1; line += 2) { yl = - line * LINE_DIST/2.0; cairo_move_to(cr, X_POS_PAGE_REL(m_xpos + m_micro_shift - HEAD_THICK_2 / 2.0 - AUX_LINE_OVER), Y_POS_STAFF_REL(yl)); cairo_line_to(cr, X_POS_PAGE_REL(m_xpos + m_micro_shift + HEAD_THICK_2 / 2.0 + AUX_LINE_OVER), Y_POS_STAFF_REL(yl)); } cairo_stroke(cr); } if (noteline > 9) { cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * AUX_LINE_THICK); line = noteline / 2; line *= 2; for (; line > 9; line -= 2) { yl = - line * LINE_DIST/2.0; cairo_move_to(cr, X_POS_PAGE_REL(m_xpos + m_micro_shift - HEAD_THICK_2 / 2.0 - AUX_LINE_OVER), Y_POS_STAFF_REL(yl)); cairo_line_to(cr, X_POS_PAGE_REL(m_xpos + m_micro_shift + HEAD_THICK_2 / 2.0 + AUX_LINE_OVER), Y_POS_STAFF_REL(yl)); } cairo_stroke(cr); } break; } //#define SHOW_BBOX #ifdef SHOW_BBOX cairo_set_source_rgb (cr, 1.0, 0.0, 1.0); cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * STEM_THICK); cairo_rectangle (cr, X_POS_PAGE_REL(m_xpos + m_micro_shift + m_bbox.x), Y_POS_STAFF_REL(m_bbox.y), zoom_factor * (m_bbox.width), zoom_factor * m_bbox.height); cairo_stroke(cr); cairo_new_path(cr); cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); cairo_move_to(cr, X_POS_PAGE_REL(m_xpos + m_micro_shift), Y_POS_STAFF_REL(m_bbox.y)); cairo_line_to(cr, X_POS_PAGE_REL(m_xpos + m_micro_shift), Y_POS_STAFF_REL(m_bbox.y + m_bbox.height)); cairo_stroke(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); #endif } void NedChordOrRest::drawTexts(cairo_t *cr, double scale, double last_left_bbox_edge, bool last) { GList *lptr; int line, i; double dist; double leftx = getMainWindow()->getLeftX(); double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); if (m_free_texts_present) { for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if ((((NedFreeReplaceable *) lptr->data)->getType() & (FREE_PLACEABLE_TEXT|FREE_PLACEABLE_CHORDNAME)) == 0) continue; ((NedFreeReplaceable *) lptr->data)->draw(cr, leftx, topy, zoom_factor, getMainWindow()->getCurrentZoomLevel(), getMainWindow()->getCurrentScale()); } } if (m_type != TYPE_CHORD) return; if (!m_lyrics_present) return; for (i = 0; i < MAX_LYRICS_LINES; i++) { if (m_lyrics[i] != NULL) { m_lyrics_present = true; if (last_left_bbox_edge >= 0.0 && m_lyrics[i]->hasHiddenHyphen()) { dist = (last_left_bbox_edge - (m_xpos + m_bbox.x + m_bbox.width - 1.5 * HYPHEN_LONG)) / 2.0; if (dist < 0.0) dist = 0.0; cairo_new_path(cr); #define HYPHEN_WIDTH 0.10 #define HYPHEN_HEIGHT 0.03 #define HYPHEN_Y_OFFS (TEXT_Y_OFFS + 0.02) cairo_rectangle(cr, X_POS_PAGE_REL(last_left_bbox_edge - dist - 0.25 * HYPHEN_LONG) * scale, Y_POS_STAFF_REL(getStaff()->getBottomYBorder() + HYPHEN_Y_OFFS + i * LYRICS_HEIGHT) * scale, HYPHEN_WIDTH * zoom_factor * scale, HYPHEN_HEIGHT * zoom_factor * scale); cairo_fill(cr); } else if (last && m_lyrics[i]->hasHiddenHyphen()) { cairo_new_path(cr); cairo_rectangle(cr, X_POS_PAGE_REL(m_xpos + m_bbox.x + m_bbox.width) * scale, Y_POS_STAFF_REL(getStaff()->getBottomYBorder() + HYPHEN_Y_OFFS + i * LYRICS_HEIGHT) * scale, HYPHEN_WIDTH * zoom_factor * scale, HYPHEN_HEIGHT * zoom_factor * scale); cairo_fill(cr); } m_lyrics[i]->draw(cr, X_POS_PAGE_REL(m_xpos + m_bbox.x) * scale, Y_POS_STAFF_REL(getStaff()->getBottomYBorder() + TEXT_Y_OFFS + i * LYRICS_HEIGHT) * scale, zoom_factor, scale); } } if (!getMainWindow()->doDrawPostscript() && m_lyrics_present && ((line = getMainWindow()->getLyricsMode()) != -1) && getMainWindow()->m_selected_chord_or_rest == this) { if (m_lyrics[line] != NULL) { cairo_stroke(cr); m_lyrics[line]->drawCursor(cr, scale * X_POS_PAGE_REL(m_xpos - m_bbox.width / 2.0), scale * Y_POS_STAFF_REL(getStaff()->getBottomYBorder() + TEXT_Y_OFFS + line * LYRICS_HEIGHT), zoom_factor); } } } void NedChordOrRest::xPositNotes() { int line_num, last_line_num; bool shifted = false; GList *lptr; int dir; double y_stem_end, up_art_offs = 0.0, down_art_offs = 0.0; int art_line; int i = 0, j; m_up_art_count = m_down_art_count = 0; NedNote *start_note, *stem_start_note; static unsigned int freePosArticulations[] = { STAT_STACC, STAT_STACCATISSIMO, STAT_TENUTO, STAT_SFORZANDO, STAT_SFORZATO, 0}; static unsigned int upPosArticulations[] = { STAT_BOW_UP, STAT_BOW_DOWN, STAT_TRILL, STAT_OPEN, STAT_PRALL, STAT_MORDENT, STAT_TURN, STAT_REV_TURN, STAT_FERMATA, 0 }; static unsigned int downPosArticulations[] = { STAT_PED_ON, STAT_PED_OFF, 0 }; if (m_beam) { dir = m_beam->isBeamUp() ? -1 : 1; } else { dir = ((m_status & STAT_UP) != 0) ? -1 : 1; } m_has_open_highhat = m_has_closed_highhat = false; if (dir < 0) { last_line_num = -100; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr), i++) { if (((NedNote *) lptr->data)->getNoteHead() == OPEN_HIGH_HAT) { m_has_open_highhat = true; } if (((NedNote *) lptr->data)->getNoteHead() == CLOSED_HIGH_HAT) { m_has_closed_highhat = true; } line_num = ((NedNote *) lptr->data)->getLine(); if (!shifted && line_num - last_line_num < 2) { ((NedNote *) lptr->data)->shiftNote(true); shifted = true; } else { ((NedNote *) lptr->data)->shiftNote(false); m_all_shifted = false; shifted = false; } last_line_num = line_num; } start_note = (NedNote *) g_list_first(m_notes)->data; stem_start_note = (NedNote *) g_list_last(m_notes)->data; } else { m_all_shifted = true; last_line_num = 100; i = g_list_length(m_notes) - 1; for (lptr = g_list_last(m_notes); lptr; lptr = g_list_previous(lptr), i--) { if (((NedNote *) lptr->data)->getNoteHead() == OPEN_HIGH_HAT) { m_has_open_highhat = true; } if (((NedNote *) lptr->data)->getNoteHead() == CLOSED_HIGH_HAT) { m_has_closed_highhat = true; } line_num = ((NedNote *) lptr->data)->getLine(); if (!shifted && last_line_num - line_num < 2) { ((NedNote *) lptr->data)->shiftNote(false); shifted = true; m_all_shifted = false; } else { ((NedNote *) lptr->data)->shiftNote(true); shifted = false; } last_line_num = line_num; } if (m_all_shifted) { for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->shiftNote(false); } } stem_start_note = (NedNote *) g_list_first(m_notes)->data; start_note = (NedNote *) g_list_last(m_notes)->data; } #ifdef XXX acc_places[0] = acc_places[1] = acc_places[2] = acc_places[3] = -10000; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->placeAccidental(FALSE /*all_shifted*/, acc_places); } #endif if (m_beam) { y_stem_end = m_beam->getYPosAt(m_xpos + m_micro_shift); } else if (m_length == WHOLE_NOTE || m_type == TYPE_REST) { y_stem_end = stem_start_note->getYpos(); } else { y_stem_end = stem_start_note->getYpos() + dir * m_stem_height; } for (j = 0; freePosArticulations[j]; j++) { if (m_status & freePosArticulations[j]) { art_line = start_note->getLine() + 2 * dir; switch (art_line) { case 0: case 2: case 4: case 6: case 8: art_line += dir; break; } if (dir < 0) { m_art_down_y_pos[m_down_art_count++] = -art_line * LINE_DIST/2.0 + down_art_offs; down_art_offs += LINE_DIST; } else { m_art_up_y_pos[m_up_art_count++] = -art_line * LINE_DIST/2.0 - up_art_offs; up_art_offs += LINE_DIST; } } } for (j = 0; upPosArticulations[j]; j++) { if (j == 3 && (m_has_open_highhat || m_has_closed_highhat)) { if (dir < 0) { m_art_up_y_pos[m_up_art_count] = y_stem_end - LINE_DIST; } else { art_line = start_note->getLine() + 2 * dir; m_art_up_y_pos[m_up_art_count] = -art_line * LINE_DIST/2.0; } if (m_art_up_y_pos[m_up_art_count] > -5 * LINE_DIST) m_art_up_y_pos[m_up_art_count] = -5 * LINE_DIST; m_up_art_count++; continue; } if (m_status & upPosArticulations[j]) { if (dir < 0) { m_art_up_y_pos[m_up_art_count] = y_stem_end - LINE_DIST; } else { art_line = start_note->getLine() + 2 * dir; m_art_up_y_pos[m_up_art_count] = -art_line * LINE_DIST/2.0; } if (m_art_up_y_pos[m_up_art_count] > -5 * LINE_DIST) m_art_up_y_pos[m_up_art_count] = -5 * LINE_DIST; m_art_up_y_pos[m_up_art_count] -= up_art_offs; if (upPosArticulations[j] & (STAT_BOW_UP | STAT_BOW_DOWN)) { up_art_offs += 2.5*LINE_DIST; } else if (upPosArticulations[j] & (STAT_FERMATA)) { up_art_offs += 2.8*LINE_DIST; } else { up_art_offs += 2 * LINE_DIST; } m_up_art_count++; } } for (j = 0; downPosArticulations[j]; j++) { if (m_status & downPosArticulations[j]) { if (dir < 0) { art_line = start_note->getLine() + 2 * dir; m_art_down_y_pos[m_down_art_count] = -art_line * LINE_DIST/2.0; } else { m_art_down_y_pos[m_down_art_count] = y_stem_end + LINE_DIST; } if (m_art_down_y_pos[m_down_art_count] < LINE_DIST) m_art_down_y_pos[m_down_art_count] = LINE_DIST; m_art_down_y_pos[m_down_art_count] += down_art_offs; down_art_offs += 2 * LINE_DIST; m_down_art_count++; } } } bool NedChordOrRest::testMeasureSpread(int dir) { if (m_measure == NULL) return false; if (m_measure->m_spread_fac + dir * MEASURE_SPREAD_STEP > MEASURE_MAX_SPREAD) return false; if (m_measure->m_spread_fac + dir * MEASURE_SPREAD_STEP < MEASURE_MIN_SPREAD) return false; return true; } void NedChordOrRest::collectNotesWithAccidentals(unsigned int *num_notes_with_accidentals, NedNote **note_field) { GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->collectNotesWithAccidentals(num_notes_with_accidentals, note_field); } } double NedChordOrRest::getBeamXPos() { if (m_type == TYPE_GRACE) return m_xpos + m_micro_shift + GRACE_HEAD_THICK_HALF; if (m_all_shifted) return m_xpos + m_micro_shift - HEAD_THICK; return m_xpos + m_micro_shift; } double NedChordOrRest::getStemTop() { NedNote *stem_start_note; stem_start_note = (NedNote *) g_list_last(m_notes)->data; double y_stem_start = stem_start_note->getYpos(); if (m_type == TYPE_GRACE) { return y_stem_start - GRACE_HEIGHT3; } switch(lengthForFlagCountComputation()) { case NOTE_32: return y_stem_start - m_stem_height - FLAG_DIST; case NOTE_64: return y_stem_start - m_stem_height - 2 * FLAG_DIST; } return y_stem_start - m_stem_height; } double NedChordOrRest::getTopOfChordOrRest() { if (m_type == TYPE_REST) { return -3 * LINE_DIST / 2.0; } NedNote *stem_start_note; stem_start_note = (NedNote *) g_list_last(m_notes)->data; double y_stem_start = stem_start_note->getYpos(); if (!(m_status & STAT_UP)) { return y_stem_start - 0.1; } if (m_beam != NULL) { return m_beam->getTopOfBeam(); } switch(lengthForFlagCountComputation()) { case NOTE_32: return y_stem_start - m_stem_height - FLAG_DIST; case NOTE_64: return y_stem_start - m_stem_height - 2 * FLAG_DIST; } return y_stem_start - m_stem_height; } double NedChordOrRest::getBottomOfChordOrRest() { if (m_type == TYPE_REST) { return -3 * LINE_DIST / 2.0; } NedNote *stem_start_note; stem_start_note = (NedNote *) g_list_first(m_notes)->data; double y_stem_start = stem_start_note->getYpos(); if (m_status & STAT_UP) { return y_stem_start + 0.1; } if (m_beam != NULL) { return m_beam->getBottomOfBeam(); } switch(lengthForFlagCountComputation()) { case NOTE_32: return y_stem_start + m_stem_height + FLAG_DIST; case NOTE_64: return y_stem_start + m_stem_height + 2 * FLAG_DIST; } return y_stem_start + m_stem_height; } double NedChordOrRest::getStemBottom() { NedNote *stem_start_note; stem_start_note = (NedNote *) g_list_first(m_notes)->data; double y_stem_start = stem_start_note->getYpos(); switch(lengthForFlagCountComputation()) { case NOTE_32: return y_stem_start + m_stem_height + FLAG_DIST; case NOTE_64: return y_stem_start + m_stem_height + 2 * FLAG_DIST; } return y_stem_start + m_stem_height; } int NedChordOrRest::getStemDir() { if (m_measure == NULL) return STEM_DIR_NONE; return m_measure->getStemDirectionOfTheMeasure( getStaff()->getStaffNumber() * VOICE_COUNT + m_voice->getVoiceNumber()); } /* double getTopPos() { if (m_status & STAT_UP) { return getStemTop(); } return getStemBottom(); } */ double NedChordOrRest::getStemYStart() { NedNote *start_note; if (m_status & STAT_UP) { start_note = (NedNote *) g_list_first(m_notes)->data; } else { start_note = (NedNote *) g_list_last(m_notes)->data; } return start_note->getYpos(); } void NedChordOrRest::getTopBotY(int *lyrics_lines, double *topy, double *boty/* , bool *topFix, bool *botFix*/) { int dir; NedNote *start_note, *stem_start_note; double endposoffs = 0.0; double y_start; double freetop; int i; GList *lptr; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if ((((NedFreeReplaceable *) lptr->data)->getType() & (FREE_PLACEABLE_CHORD | FREE_PLACEABLE_SPACER | FREE_PLACEABLE_CHORDNAME)) == 0) continue; freetop = ((NedFreeReplaceable *) lptr->data)->getTop(); //if (!*topFix) { if (freetop < *topy) { *topy = freetop; //if (((NedFreeReplaceable *) lptr->data)->getType() & FREE_PLACEABLE_SPACER) { //*topFix = true; //} } //} if (((NedFreeReplaceable *) lptr->data)->getType() & FREE_PLACEABLE_CHORD) return; //if (!*botFix) { if (freetop + 4 * LINE_DIST > *boty) { *boty = freetop + 4 * LINE_DIST; //*botFix = true; } //} return; } if (m_type == TYPE_REST) { if (m_is_hidden) { *topy = *boty = 3 * LINE_DIST / 2.0; } else { *topy = m_bbox.y + 4 * LINE_DIST; *boty = m_bbox.y + m_bbox.height + 4 * LINE_DIST; } return; } for (i = 0; i < MAX_LYRICS_LINES; i++) { if (m_lyrics[i] != NULL && *lyrics_lines < (i + 1)) { *lyrics_lines = (i + 1); } } if (m_beam != NULL) { if (m_beam->isBeamUp()) { dir = -1; } else { dir = 1; } } else { dir = (m_status & STAT_UP) ? -1 : 1; } if (dir == -1) { start_note = (NedNote *) g_list_first(m_notes)->data; stem_start_note = (NedNote *) g_list_last(m_notes)->data; y_start = start_note->getYpos() + HEAD_THICK_HALF; } else { stem_start_note = (NedNote *) g_list_first(m_notes)->data; start_note = (NedNote *) g_list_last(m_notes)->data; y_start = start_note->getYpos() - HEAD_THICK_HALF; } if (m_length > NOTE_2) { *boty = 4 * LINE_DIST + y_start; *topy = 4 * LINE_DIST + stem_start_note->getYpos(); } else if (m_beam != NULL) { if (dir == -1) { *boty = 4 * LINE_DIST + y_start; *topy = 4 * LINE_DIST + m_beam->getYPosAt(m_xpos + m_micro_shift); } else { *topy = 4 * LINE_DIST + y_start; *boty = 4 * LINE_DIST + m_beam->getYPosAt(m_xpos + m_micro_shift); } /* *topy = 4 * LINE_DIST + m_beam->getTopOfBeam(); *boty = 4 * LINE_DIST + m_beam->getBottomOfBeam(); */ } else { switch(lengthForFlagCountComputation()) { case NOTE_2: case NOTE_4: case NOTE_8: case NOTE_16: endposoffs = m_stem_height; break; case NOTE_32: endposoffs = m_stem_height + FLAG_DIST; break; case NOTE_64: endposoffs = m_stem_height + 2 * FLAG_DIST; break; } } double y_stem_start = stem_start_note->getYpos(); if (dir == -1) { if (m_beam == NULL) { *topy = 4 * LINE_DIST + y_stem_start - endposoffs; *boty = 4 * LINE_DIST + y_start; } if (m_up_art_count > 0 && m_art_up_y_pos[m_up_art_count-1] + 3 * LINE_DIST < *topy) *topy = m_art_up_y_pos[m_up_art_count-1] + 3 * LINE_DIST; if (m_down_art_count > 0 && m_art_down_y_pos[m_down_art_count-1] + 5 * LINE_DIST > *boty) *boty = m_art_down_y_pos[m_down_art_count-1] + 5 * LINE_DIST ; } else { if (m_beam == NULL) { *boty = 4 * LINE_DIST + (y_stem_start + endposoffs); *topy = 4 * LINE_DIST + y_start; } if (m_up_art_count > 0 && m_art_up_y_pos[m_up_art_count-1] + 3 * LINE_DIST < *topy) *topy = m_art_up_y_pos[m_up_art_count-1] + 3 * LINE_DIST; if (m_down_art_count > 0 && m_art_down_y_pos[m_down_art_count-1] + 5 * LINE_DIST > *boty) *boty = m_art_down_y_pos[m_down_art_count-1] + 5 * LINE_DIST ; } } bool NedChordOrRest::isUp() { if (m_beam != NULL) { return m_beam->isBeamUp(); } return (m_status & STAT_UP); } double NedChordOrRest::computeStemDist(bool thisup, NedChordOrRest *other_chord, bool otherup) { double d, dist = 0.0; int dir; double thisypos, otherypos; NedNote *this_stem_start_note, *other_stem_start_note; if (m_type == TYPE_REST || other_chord->m_type == TYPE_REST) return 0.0; dir = thisup ? 1 : -1; if (dir > 0) { this_stem_start_note = (NedNote *) g_list_first(m_notes)->data; } else { this_stem_start_note = (NedNote *) g_list_last(m_notes)->data; } thisypos = this_stem_start_note->getYpos() + dir * m_stem_height; dir = otherup ? 1 : -1; if (dir > 0) { other_stem_start_note = (NedNote *) g_list_first(other_chord->m_notes)->data; } else { other_stem_start_note = (NedNote *) g_list_last(other_chord->m_notes)->data; } otherypos = other_stem_start_note->getYpos() + dir * m_stem_height; d = otherypos - this_stem_start_note->getYpos(); if (d < 0.0) d = -d; dist += d; d = thisypos - other_stem_start_note->getYpos(); if (d < 0.0) d = -d; dist += d; return dist; } int NedChordOrRest::getLineOfLowestNote() { if ((m_type & TYPE_CHORD) == 0) return 0; return ((NedNote *) g_list_first(m_notes)->data)->getLine(); } int NedChordOrRest::getLineOfFirstNote() { if ((m_type & TYPE_CHORD) == 0) return 0; if (m_beam) { if (m_beam->isBeamUp()) { return ((NedNote *) g_list_first(m_notes)->data)->getLine(); } return ((NedNote *) g_list_last(m_notes)->data)->getLine(); } if (m_status & STAT_UP) { return ((NedNote *) g_list_first(m_notes)->data)->getLine(); } return ((NedNote *) g_list_last(m_notes)->data)->getLine(); } int NedChordOrRest::compareMidiTimes(NedChordOrRest *c1, NedChordOrRest *c2) { if (c1->m_midi_time < c2->m_midi_time) return -1; if (c1->m_midi_time == c2->m_midi_time) return 0; return 1; } int NedChordOrRest::compareMidiTimesAndTypes(NedChordOrRest *c1, NedChordOrRest *c2) { if (c1->m_midi_time < c2->m_midi_time) return -1; if (c1->m_midi_time > c2->m_midi_time) return 1; if (c1->getType() == c2->getType()) return 0; if (c1->getType() < c2->getType()) return -1; // TYPE_CLEF < TYPE_KEYSIG return 1; } void NedChordOrRest::shiftY(double y) { m_ypos += y; computeBbox(); } void NedChordOrRest::setRestsY(double y) { if (m_status & STAT_USER_PLACED_REST) return; m_ypos = - 3 * LINE_DIST/2.0 + y; computeBbox(); } void NedChordOrRest::setXPos(double pos) { m_xpos = pos; } void NedChordOrRest::shiftX(double x) { m_xpos += x; } void NedChordOrRest::recomputeFreeReplaceables() { GList *lptr; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { ((NedFreeReplaceable *) lptr->data)->recompute(); } } void NedChordOrRest::changeStemDir(int dir) { unsigned int upbeat; unsigned int measure_length; if (m_type == TYPE_REST) { if (m_length != WHOLE_NOTE) { if (getSystem()->getSystemNumber() > 0) { m_is_hidden = FALSE; return; } if (getMainWindow()->getUpBeatInverse() == 0) { m_is_hidden = FALSE; return; } if (m_midi_time != getMainWindow()->getUpBeatInverse()) { m_is_hidden = FALSE; return; } measure_length = getMainWindow()->getNumerator() * WHOLE_NOTE / getMainWindow()->getDenominator(); upbeat = measure_length - getMainWindow()->getUpBeatInverse(); if (getDuration() != upbeat) { m_is_hidden = FALSE; } } return; } if (m_status & STAT_USER_STEMDIR) return; bool changed = FALSE; switch(dir) { case STEM_DIR_UP: if (m_status & STAT_UP) break; changed = TRUE; m_status |= STAT_UP; break; case STEM_DIR_DOWN: if (!(m_status & STAT_UP)) break; changed = TRUE; m_status &= (~(STAT_UP)); break; default: reConfigure(); changed = TRUE; break; } if (changed) { xPositNotes(); computeBbox(); } } void NedChordOrRest::setStatus(unsigned int status) { if (m_type == TYPE_REST) { status &= (STAT_FERMATA | STAT_USER_HIDDEN_REST | STAT_USER_PLACED_REST); m_status = status; } else if (m_type != TYPE_CHORD) return; m_status = status; } bool NedChordOrRest::trySelect(double x, double y, bool only_free_placeables) { int zoom_level; double leftx, topy; double zoom_factor; double current_scale = getMainWindow()->getCurrentScale(); double xl, yl; GList *lptr; cairo_text_extents_t *extention = NULL; if (m_freedisp) { leftx = getMainWindow()->getLeftX(); topy = getMainWindow()->getTopY(); zoom_factor = getMainWindow()->getCurrentZoomFactor(); for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if (((NedFreeReplaceable *) lptr->data)->trySelect(x, y, zoom_factor, current_scale, leftx, topy)) { return TRUE; } } } if (only_free_placeables) return FALSE; switch (m_type) { case TYPE_CLEF: zoom_level = getMainWindow()->getCurrentZoomLevel(); leftx = getMainWindow()->getLeftX(); topy = getMainWindow()->getTopY(); zoom_factor = getMainWindow()->getCurrentZoomFactor(); xl = X_POS_INVERS_PAGE_REL(x); yl = Y_POS_INVERS_ABS(y); switch (m_length) { case TREBLE_CLEF: extention = &(NedResource::fontextentions[zoom_level][2]); break; case BASS_CLEF: extention = &(NedResource::fontextentions[zoom_level][3]); break; case ALTO_CLEF: case SOPRAN_CLEF: case TENOR_CLEF: extention = &(NedResource::fontextentions[zoom_level][1]); break; case NEUTRAL_CLEF1: case NEUTRAL_CLEF2: case NEUTRAL_CLEF3: extention = &(NedResource::fontextentions[zoom_level][27]); break; } if (getSystem()->getYPos() + getStaff()->getBottomPos() + m_ypos + extention->y_bearing / zoom_factor < yl && getSystem()->getYPos() + getStaff()->getBottomPos() + m_ypos + (extention->y_bearing + extention->height) / zoom_factor > yl && m_xpos + extention->x_bearing / zoom_factor < xl && m_xpos + (extention->x_bearing + extention->width) / zoom_factor > xl) { getMainWindow()->m_selected_chord_or_rest = this; return TRUE; } return FALSE; case TYPE_STAFF_SIGN: leftx = getMainWindow()->getLeftX(); zoom_factor = getMainWindow()->getCurrentZoomFactor(); topy = getMainWindow()->getTopY(); xl = X_POS_INVERS_PAGE_REL(x); yl = Y_POS_INVERS_ABS(y); if (getSystem()->getYPos() + getStaff()->getBottomPos() + m_ypos + m_bbox.y < yl && getSystem()->getYPos() + getStaff()->getBottomPos() + m_ypos + (m_bbox.y + m_bbox.height) > yl && m_xpos + m_bbox.x < xl && m_xpos + m_bbox.x + m_bbox.width > xl) { getMainWindow()->m_selected_chord_or_rest = this; return TRUE; } return FALSE; case TYPE_KEYSIG: zoom_level = getMainWindow()->getCurrentZoomLevel(); leftx = getMainWindow()->getLeftX(); topy = getMainWindow()->getTopY(); zoom_factor = getMainWindow()->getCurrentZoomFactor(); xl = X_POS_INVERS_PAGE_REL(x); yl = Y_POS_INVERS_ABS(y); if (getSystem()->getYPos() + getStaff()->getBottomPos() + m_ypos - m_bbox.height < yl && getSystem()->getYPos() + getStaff()->getBottomPos() + m_ypos > yl && m_xpos < xl && m_xpos + m_bbox.width > xl) { getMainWindow()->m_selected_chord_or_rest = this; return TRUE; } return FALSE; case TYPE_REST: zoom_level = getMainWindow()->getCurrentZoomLevel(); leftx = getMainWindow()->getLeftX(); topy = getMainWindow()->getTopY(); zoom_factor = getMainWindow()->getCurrentZoomFactor(); xl = X_POS_INVERS_PAGE_REL(x); yl = Y_POS_INVERS_ABS(y); switch(m_length) { case WHOLE_NOTE: extention = &(NedResource::fontextentions[zoom_level][9]); break; case NOTE_2: extention = &(NedResource::fontextentions[zoom_level][10]); break; case NOTE_4: extention = &(NedResource::fontextentions[zoom_level][11]); break; case NOTE_8: extention = &(NedResource::fontextentions[zoom_level][12]); break; case NOTE_16: extention = &(NedResource::fontextentions[zoom_level][13]); break; case NOTE_32: extention = &(NedResource::fontextentions[zoom_level][14]); break; case NOTE_64: extention = &(NedResource::fontextentions[zoom_level][15]); break; } if (getSystem()->getYPos() + getStaff()->getBottomPos() + m_ypos + extention->y_bearing / zoom_factor < yl && getSystem()->getYPos() + getStaff()->getBottomPos() + m_ypos + (extention->y_bearing + extention->height) / zoom_factor > yl && m_xpos + extention->x_bearing / zoom_factor < xl && m_xpos + (extention->x_bearing + extention->width) / zoom_factor > xl) { getMainWindow()->m_selected_chord_or_rest = this; return TRUE; } return FALSE; case TYPE_GRACE: zoom_level = getMainWindow()->getCurrentZoomLevel(); leftx = getMainWindow()->getLeftX(); topy = getMainWindow()->getTopY(); zoom_factor = getMainWindow()->getCurrentZoomFactor(); xl = X_POS_INVERS_PAGE_REL(x); yl = Y_POS_INVERS_ABS(y); if (getSystem()->getYPos() + getStaff()->getBottomPos() + m_bbox.y < yl && getSystem()->getYPos() + getStaff()->getBottomPos() + m_bbox.y + m_bbox.height > yl && m_xpos + m_bbox.x < xl && m_xpos + m_bbox.x + m_bbox.width > xl) { getMainWindow()->m_selected_chord_or_rest = this; getMainWindow()->m_selected_note = (NedNote *) g_list_first(m_notes)->data; return TRUE; } return FALSE; default: for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { if (((NedNote *) lptr->data)->trySelect(x, y)) { getMainWindow()->m_selected_chord_or_rest = this; return TRUE; } } return FALSE; } } bool NedChordOrRest::hitStemEnd(double x, double y) { double xd, yd; double leftx = getMainWindow()->getLeftX(); double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double current_scale = getMainWindow()->getCurrentScale(); double xl = X_POS_INVERS_PAGE_REL(x); double yl = Y_POS_INVERSE_STAFF_REL(y); if (m_beam == NULL) { xd = xl - m_stem_end_xpos; yd = yl - m_stem_end_ypos; if (xd < 0.0) xd = -xd; if (yd < 0.0) yd = -yd; if (xd < STEM_TOP_DIST && yd < STEM_TOP_DIST) { return true; } } else if (m_beam->isFirstInBeam(this) || m_beam->isLastInBeam(this)) { xd = xl - m_stem_end_xpos; yd = yl - m_stem_end_ypos; if (xd < 0.0) xd = -xd; if (yd < 0.0) yd = -yd; if (xd < STEM_TOP_DIST && yd < STEM_TOP_DIST) { return true; } } return false; } bool NedChordOrRest::scaleStem(double y, double old_ypos) { double yd; double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double current_scale = getMainWindow()->getCurrentScale(); double yl = Y_POS_INVERSE_STAFF_REL(y); bool ret = false; m_status_copy = m_status; if (m_beam == NULL) { if (m_stemheight_copy < UNSET_STEM_HEIGHT) { m_stemheight_copy = m_stem_height; } yd = yl - m_stem_end_ypos; if (m_status & STAT_UP) { m_stem_height -= yd; } else { m_stem_height += yd; } if (m_stem_height > 3 * STEM_DEFAULT_HEIGHT) m_stem_height = 3 * STEM_DEFAULT_HEIGHT; if (m_stem_height < 0.4 * STEM_DEFAULT_HEIGHT) m_stem_height = 0.4 * STEM_DEFAULT_HEIGHT; } else if (m_beam->isFirstInBeam(this)) { m_status |= STAT_USER_STEMDIR; if (m_beam->isBeamUp()) { m_status |= STAT_UP; } else { m_status &= (~(STAT_UP)); } if (m_beam_y_offs_copy < UNSET_STEM_HEIGHT) { m_beam_y_offs_copy = m_beam_y_offs; } yd = yl - m_stem_end_ypos; m_beam_y_offs += yd; if (m_beam->isBeamUp()) { if (m_beam_y_offs < -2 * STEM_DEFAULT_HEIGHT) m_beam_y_offs = -2 * STEM_DEFAULT_HEIGHT; if (m_beam_y_offs > 0.4 * STEM_DEFAULT_HEIGHT) m_beam_y_offs = 0.4 * STEM_DEFAULT_HEIGHT; } else { if (m_beam_y_offs > 2 * STEM_DEFAULT_HEIGHT) m_beam_y_offs = 2 * STEM_DEFAULT_HEIGHT; if (m_beam_y_offs < -0.4 * STEM_DEFAULT_HEIGHT) m_beam_y_offs = -0.4 * STEM_DEFAULT_HEIGHT; } m_beam->computeBeam(getStaff()->getStaffNumber() * VOICE_COUNT + m_voice->getVoiceNumber()); } #define MIN_SLOPE_CHANGE_DIST 0.09 else if (m_beam->isLastInBeam(this)) { m_status |= STAT_USER_STEMDIR; if (m_beam->isBeamUp()) { m_status |= STAT_UP; } else { m_status &= (~(STAT_UP)); } double yl_old = Y_POS_INVERSE_STAFF_REL(old_ypos); double motion_dist = yl - yl_old; if (m_slope_offs_copy == UNSET_SLOPE_OFFS) { m_slope_offs_copy = m_slope_offs; } if (motion_dist > MIN_SLOPE_CHANGE_DIST * m_beam->getBeamLength()) { m_slope_offs--; ret = true; } else if (motion_dist < -MIN_SLOPE_CHANGE_DIST * m_beam->getBeamLength()) { m_slope_offs++; ret = true; } if (m_slope_offs < -SLOPE_COUNT) m_slope_offs = -SLOPE_COUNT; if (m_slope_offs > SLOPE_COUNT) m_slope_offs = SLOPE_COUNT; m_beam->computeBeam(getStaff()->getStaffNumber() * VOICE_COUNT + m_voice->getVoiceNumber()); } return ret; } double NedChordOrRest::computeDistFrom(double x, double y, double factor, double *ydist) { double xdist; switch (m_type) { case TYPE_CLEF: case TYPE_STAFF_SIGN: case TYPE_KEYSIG: case TYPE_GRACE: return 100000000.0; default: xdist = m_xpos - x; *ydist = getSystem()->getYPos() + getStaff()->getMidPos() - y; return xdist * xdist + (*ydist * factor) * (*ydist * factor); } } void NedChordOrRest::setActive() { switch (m_type) { case TYPE_CHORD: ((NedNote *) g_list_first(m_notes)->data)->m_active = true; break; default: m_active = true; break; } } void NedChordOrRest::decrMidiTime(unsigned long long incr) { if (incr > m_midi_time) { NedResource::DbgMsg(DBG_CRITICAL, "this = 0x%x, m_type = 0x%x, m_midi_time = %llu, incr = %llu\n", this, m_type, m_midi_time, incr) ; NedResource::Abort("NedChordOrRest::decrMidiTime, incr > m_midi_time"); } m_midi_time -= incr; } int NedChordOrRest::getStemDirectionOfTheMeasure(int staff_voice_offs) { //NedMeasure *measure = getSystem()->getMeasure(m_midi_time); //return measure->getStemDirectionOfTheMeasure(staff_voice_offs); return m_measure->getStemDirectionOfTheMeasure(staff_voice_offs); } #ifdef AAA unsigned int NedChordOrRest::getDuration(unsigned int measure_duration /* = -1 */) { int denom; if (m_type & (TYPE_STAFF_SIGN | TYPE_CLEF | TYPE_KEYSIG | TYPE_GRACE)) return 0; if (m_type == TYPE_REST && m_length == WHOLE_NOTE) { if ((signed int) measure_duration != -1) { return measure_duration; } if (m_measure == NULL) { return getMainWindow()->getNumerator() * WHOLE_NOTE / getMainWindow()->getDenominator(); } denom = getMainWindow()->getDenominator(m_measure->getMeasureNumber()); if (denom == 0) { return getMainWindow()->getNumerator() * WHOLE_NOTE / getMainWindow()->getDenominator(); } return getMainWindow()->getNumerator(m_measure->getMeasureNumber()) * WHOLE_NOTE / denom; } return computeDuration(m_length, m_dot_count, m_tuplet_val); } #else unsigned int NedChordOrRest::getDuration(unsigned int measure_duration /* = -1 */) { int denom; if (m_type & (TYPE_CLEF | TYPE_STAFF_SIGN | TYPE_KEYSIG | TYPE_GRACE | TYPE_KEYSIG /* can happen during import_from_other */)) return 0; if (m_type == TYPE_REST && m_length == WHOLE_NOTE) { if ((signed int) measure_duration != -1) { return measure_duration; } NedMeasure *measure = getSystem()->getMeasure(m_midi_time); if (measure == NULL) { return getMainWindow()->getNumerator() * WHOLE_NOTE / getMainWindow()->getDenominator(); } denom = getMainWindow()->getDenominator(measure->getMeasureNumber()); if (denom == 0) { return getMainWindow()->getNumerator() * WHOLE_NOTE / getMainWindow()->getDenominator(); } return getMainWindow()->getNumerator(measure->getMeasureNumber()) * WHOLE_NOTE / denom; } return computeDuration(m_length, m_dot_count, m_tuplet_val); } #endif unsigned int NedChordOrRest::computeDuration(unsigned int length, int dotcount, int tuplet_val) { unsigned int ret; if (dotcount == 1) { ret = length / 2 * 3; if (tuplet_val != 0) { ret = ret * NedResource::m_tuplet_tab[tuplet_val & TUPLET_VAR_MASK]; return ret / (tuplet_val & TUPLET_VAR_MASK); } return ret; } if (dotcount == 2) { ret = length / 4 * 7; if (tuplet_val != 0) { ret = ret * NedResource::m_tuplet_tab[tuplet_val & TUPLET_VAR_MASK]; return ret / (tuplet_val & TUPLET_VAR_MASK); } return ret; } if (tuplet_val != 0) { ret = length * NedResource::m_tuplet_tab[tuplet_val & TUPLET_VAR_MASK]; return ret / (tuplet_val & TUPLET_VAR_MASK); } return length; } bool NedChordOrRest::tryErease(double x, double y, bool *removed) { NedCommandList *command_list; GList *lptr; *removed = false; if (m_type == TYPE_REST) return FALSE; if (g_list_length(m_notes) < 2) { for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { if (((NedNote *) lptr->data)->trySelect(x, y)) { *removed = true; return TRUE; } } } else { for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { if (((NedNote *) lptr->data)->trySelect(x, y)) { command_list = new NedCommandList(getMainWindow(), getSystem()); ((NedNote *) lptr->data)->testForTiesToDelete(command_list, BREAK_TIE_FORWARD | BREAK_TIE_BACKWARD); command_list->addCommand(new NedEreaseNoteCommand(&m_notes, lptr)); getMainWindow()->getCommandHistory()->addCommandList(command_list); command_list->execute(); *removed = true; return FALSE; } } return FALSE; } return FALSE; } void NedChordOrRest::ereaseNote(NedNote *note) { GList *lptr; NedCommandList *command_list; if (m_type == TYPE_REST) return; if (g_list_length(m_notes) < 2) { NedCommandList *command_list = new NedCommandList(getMainWindow(), getSystem()); testForTiesToDelete(command_list, BREAK_TIE_FORWARD | BREAK_TIE_BACKWARD); command_list->addCommand(new NedDeleteChordCommand(this)); command_list->execute(); getMainWindow()->getCommandHistory()->addCommandList(command_list); } else { if ((lptr = g_list_find(m_notes, note)) == NULL) { NedResource::Abort("NedChordOrRest::ereaseNote"); } command_list = new NedCommandList(getMainWindow(), getSystem()); note->testForTiesToDelete(command_list, BREAK_TIE_FORWARD | BREAK_TIE_BACKWARD); command_list->addCommand(new NedEreaseNoteCommand(&m_notes, lptr)); getMainWindow()->getCommandHistory()->addCommandList(command_list); command_list->execute(); } } unsigned int NedChordOrRest::getStopTime() { return m_time + m_length; } double NedChordOrRest::getNeededSpace() { return m_bbox.width; } void NedChordOrRest::saveChordOrRest(FILE *fp) { GList *lptr; char Str[1024], *cptr; int marker; int last_font_line; int i; fprintf(fp, "("); if (m_beam != NULL || m_tuplet_ptr != NULL || m_freedisp != NULL) { marker = NedResource::addAddr(this); fprintf(fp, "<%d>", marker); } if (m_type == TYPE_REST) { fprintf(fp, "r"); if (m_is_hidden) { fprintf(fp, "h"); } } else { fprintf(fp, "n"); if ((m_status & STAT_UP) != 0) { fprintf(fp, "u"); } else { fprintf(fp, "d"); } } fprintf(fp, " %d, %x ", m_length / LENGH_FACTOR, m_status & (~(ACCIDENTAL_MASK))); if (m_type == TYPE_REST && (m_status & STAT_USER_PLACED_REST)) { fprintf(fp, "%d ", m_line); } if (m_dot_count > 0) { fprintf(fp, " D %d ", m_dot_count); } if (m_type == TYPE_REST) { fprintf(fp, ")"); return; } fprintf(fp, " { "); for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->saveNote(fp); if (lptr != g_list_last(m_notes)) { fprintf(fp, " , "); } } fprintf(fp, " } "); #define MIN_DRIFT 0.01 if (fabs(m_stem_height - STEM_DEFAULT_HEIGHT) > MIN_DRIFT) { fprintf(fp, " STEM_HEIGHT: %f ", m_stem_height); } if (fabs(m_beam_y_offs) > MIN_DRIFT) { fprintf(fp, " BEAM_Y_OFFS: %f ", m_beam_y_offs); } if (m_slope_offs != 0) { fprintf(fp, " BEAM_SLOPE_OFFS: %d ", m_slope_offs); } last_font_line = -1; for (i = 0; i < MAX_LYRICS_LINES; i++) { if (m_lyrics[i] != NULL) { last_font_line = i; } } if (m_type == TYPE_CHORD && last_font_line >= 0) { fprintf(fp, "["); for (i = 0; i <= last_font_line; i++) { if (m_lyrics[i] != NULL) { strcpy(Str, m_lyrics[i]->getText()); while ((cptr = strchr(Str, ' ')) != NULL) *cptr = '_'; fprintf(fp, " %s ", Str); } if (i < last_font_line) { fprintf(fp, " , "); } } fprintf(fp, " ] "); } fprintf(fp, ")"); } void NedChordOrRest::saveTies(FILE *fp, bool *ties_written) { GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->saveTies(fp, ties_written); } } void NedChordOrRest::saveFreePlaceables(FILE *fp, bool *free_placeables_written) { GList *lptr; NedVolumeSign *vol_sign; NedTempoSign *tempo_sign; NedLine *line; NedLinePoint *startp,*endp; NedSlurPoint **sp; NedFreeText *ftext; NedFreeSign *fsign; NedFreeChord *fchord; NedFreeSpacer *fspacer; NedChordName *fcn; char *roottext, *uptext, *downtext; int marker; if (m_freedisp) { marker = NedResource::getMarkerOfAddress(this); for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { switch (((NedFreeReplaceable *) lptr->data)->getType()) { case FREE_PLACEABLE_VOLSIGN: if (!*free_placeables_written) { fprintf(fp, "FREE_PLACEABLES "); *free_placeables_written = true; } vol_sign = (NedVolumeSign *) lptr->data; fprintf(fp, "( < %d %f %f > VOLUME_SIGN ", marker, vol_sign->getX(), vol_sign->getY()); switch (vol_sign->getKind()) { case VOL_PPP: fprintf(fp, "VOL_PPP " ); break; case VOL_PP: fprintf(fp, "VOL_PP " ); break; case VOL_P: fprintf(fp, "VOL_P " ); break; case VOL_MP: fprintf(fp, "VOL_MP " ); break; case VOL_SP: fprintf(fp, "VOL_SP " ); break; case VOL_MF: fprintf(fp, "VOL_MF " ); break; case VOL_SF: fprintf(fp, "VOL_SF " ); break; case VOL_F: fprintf(fp, "VOL_F " ); break; case VOL_FF: fprintf(fp, "VOL_FF " ); break; case VOL_FFF: fprintf(fp, "VOL_FFF " ); break; } fprintf(fp, "%d ) ", vol_sign->m_midi_volume); break; case FREE_PLACEABLE_TEMPO: if (!*free_placeables_written) { fprintf(fp, "FREE_PLACEABLES "); *free_placeables_written = true; } tempo_sign = (NedTempoSign *) lptr->data; fprintf(fp, "( < %d %f %f > TEMPO_SIGN %u %d %u) ", marker, tempo_sign->getX(), tempo_sign->getY(), tempo_sign->getKind(), tempo_sign->getDot(), tempo_sign->getTempo()); break; case FREE_PLACEABLE_CHORDNAME: fcn = (NedChordName *) lptr->data; roottext = fcn->getRootText(); uptext = fcn->getUpText(); downtext = fcn->getDownText(); if (!*free_placeables_written) { fprintf(fp, "FREE_PLACEABLES "); *free_placeables_written = true; } fprintf(fp, "( < %d %f %f > FREE_CHORD_NAME %zu %s %zu %s %zu %s %f) ", marker, fcn->getX(), fcn->getY(), roottext == NULL ? 0 : strlen(roottext), roottext == NULL ? "" : roottext, uptext == NULL ? 0 : strlen(uptext), uptext == NULL ? "" : uptext, downtext == NULL ? 0 : strlen(downtext), downtext == NULL ? "" : downtext, fcn->getSize()); break; case FREE_PLACEABLE_SLUR_POINT: if (((NedSlurPoint *) lptr->data)->m_point_number != 2) break; if (!*free_placeables_written) { fprintf(fp, "FREE_PLACEABLES "); *free_placeables_written = true; } sp = ((NedSlurPoint *) lptr->data)->getSlurPoints(); fprintf(fp, "( < %d %f %f > SLUR %d %f %f %d %f %f ) ", NedResource::getMarkerOfAddress(sp[0]->getElement()), sp[0]->getX(), sp[0]->getY(), NedResource::getMarkerOfAddress(sp[1]->getElement()), sp[1]->getX(), sp[1]->getY(), NedResource::getMarkerOfAddress(sp[2]->getElement()), sp[2]->getX(), sp[2]->getY()); break; case FREE_PLACEABLE_LINE_POINT: line = ((NedLinePoint *) lptr->data)->getLine(); startp = line->getLineStartPoint(); endp = line->getLineEndPoint(); if (lptr->data != endp) break; if (!*free_placeables_written) { fprintf(fp, "FREE_PLACEABLES "); *free_placeables_written = true; } fprintf(fp, "( < %d %f %f > ", NedResource::getMarkerOfAddress(startp->getElement()), startp->getX(), startp->getY()); switch (line->getLineType()) { case LINE_CRESCENDO: fprintf(fp, "LINE_CRESCENDO %d ", ((NedCrescendo *) line)->m_volume_diff); break; case LINE_DECRESCENDO: fprintf(fp, "LINE_DECRESCENDO %d ", ((NedCrescendo *) line)->m_volume_diff) ; break; case LINE_OCTAVATION1: case LINE_OCTAVATION_1: case LINE_OCTAVATION2: case LINE_OCTAVATION_2: fprintf(fp, "LINE_OCTAVATION %d ", ((NedOctavation *) line)->getPitchOffset()); break; case LINE_ACCELERANDO: fprintf(fp, "LINE_ACCELERATO %d", (int) ((NedAcceleration *) line)->m_tempodiff); break; case LINE_RITARDANDO: fprintf(fp, "LINE_RITARDANDO %d", (int) ((NedAcceleration *) line)->m_tempodiff); break; } if ((line->getLineType() & LINE_TEMPO_CHANGE) != 0) { NedLinePoint *midp = ((NedLine3 *) line)->getLineMidPoint(); fprintf(fp, " %d %f %f %d %f %f ) ", NedResource::getMarkerOfAddress(midp->getElement()), midp->getX(), midp->getY(), NedResource::getMarkerOfAddress(endp->getElement()), endp->getX(), endp->getY()); } else { fprintf(fp, " %d %f %f ) ", NedResource::getMarkerOfAddress(endp->getElement()), endp->getX(), endp->getY()); } break; case FREE_PLACEABLE_TEXT: ftext = (NedFreeText *) lptr->data; if (!*free_placeables_written) { fprintf(fp, "FREE_PLACEABLES "); *free_placeables_written = true; } tempo_sign = (NedTempoSign *) lptr->data; fprintf(fp, "( < %d %f %f > FREE_TEXT %zu %s %zu %s %f %d %d %d %d %x %d %d %d %d ", marker, ftext->getX(), ftext->getY(), strlen(ftext->getText()), ftext->getText(), strlen(ftext->m_font_family), ftext->m_font_family, ftext->m_font_size, ftext->m_enable_volume_change, ftext->m_midi_volume, ftext->m_enable_tempo_change, ftext->getTempo(), ftext->m_segno_sign, ftext->m_midi_pgm, ftext->m_enable_channel, ftext->m_channel, ftext->m_anchor); switch (ftext->m_font_slant) { case CAIRO_FONT_SLANT_ITALIC: fprintf(fp, "%d ", WRITTEN_SLANT_ITALIC); break; case CAIRO_FONT_SLANT_OBLIQUE: fprintf(fp, "%d ", WRITTEN_SLANT_OBLIQUE); break; default: fprintf(fp, "%d ", WRITTEN_SLANT_NORMAL); break; } switch (ftext->m_font_weight) { case CAIRO_FONT_WEIGHT_BOLD: fprintf(fp, "%d ", WRITTEN_WEIGHT_BOLD); break; default: fprintf(fp, "%d ", WRITTEN_WEIGHT_NORMAL); break; } fprintf(fp, " ) "); break; case FREE_PLACEABLE_SIGN: if (!*free_placeables_written) { fprintf(fp, "FREE_PLACEABLES "); *free_placeables_written = true; } fsign = (NedFreeSign *) lptr->data; fprintf(fp, "( < %d %f %f > FREE_SIGN %d) ", marker, fsign->getX(), fsign->getY(), fsign->getKind()); break; case FREE_PLACEABLE_CHORD: if (!*free_placeables_written) { fprintf(fp, "FREE_PLACEABLES "); *free_placeables_written = true; } fchord = (NedFreeChord *) lptr->data; fprintf(fp, "( < %d %f %f > FREE_CHORD %zu %s, %d, %x ) ", marker, fchord->getX(), fchord->getY(), strlen(fchord->getCode()), fchord->getCode(), fchord->getChordName(), fchord->getStatus()); break; case FREE_PLACEABLE_SPACER: if (!*free_placeables_written) { fprintf(fp, "FREE_PLACEABLES "); *free_placeables_written = true; } fspacer = (NedFreeSpacer *) lptr->data; fprintf(fp, "( < %d %f %f > FREE_SPACER ) ", marker, fspacer->getX(), fspacer->getY()); break; } } } } NedNote* NedChordOrRest::getFirstNote() { return (NedNote *)g_list_first(m_notes)->data; } NedChordOrRest *NedChordOrRest::getNextChordOrRest() {return m_voice->getNextChordOrRest(this);} NedChordOrRest *NedChordOrRest::getPreviousChordOrRest() {return m_voice->getPreviousChordOrRest(this);} NedChordOrRest *NedChordOrRest::getFirstObjectInNextSystem() { return getSystem()->getFirstObjectInNextSystem(getStaff()->getStaffNumber()); } void NedChordOrRest::prepareMutedReplay() { GList *lptr; int staff_nr; struct staff_context_str *contexts; staff_nr = getStaff()->getStaffNumber(); contexts = getMainWindow()->m_staff_contexts; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if (((NedFreeReplaceable *) lptr->data)->getType() == FREE_PLACEABLE_TEMPO) { NedResource::addTempoChange(m_midi_time, ((NedTempoSign *) lptr->data)->getTempoInverse()); } } } void NedChordOrRest::resetActiveFlags() { GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->resetActiveFlag(); } } void NedChordOrRest::prepareReplay(int clef, int keysig, int octave_shift, int voice_idx, unsigned int grace_time) { GList *lptr; int staff_nr, i; unsigned int midi_start_offs; NedCrescendo *cres; NedAcceleration *accel; NedFreeText *ftext; bool reset_pitch_offset = false; struct staff_context_str *contexts; NedLinePoint *startp, *endp; NedOctavation *oct; staff_nr = getStaff()->getStaffNumber(); contexts = getMainWindow()->m_staff_contexts; unsigned short segno_sign = 0; if (m_status & STAT_PED_ON) { NedResource::addMidiCtrlEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, getMidiTime(), MIDI_CTL_SUSTAIN, 100); } if (m_status & STAT_PED_OFF) { NedResource::addMidiCtrlEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, getMidiTime(), MIDI_CTL_SUSTAIN, 1); } if (m_status & STAT_FERMATA) { NedResource::addFermata(getMidiTime()); } for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if (((NedFreeReplaceable *) lptr->data)->getType() == FREE_PLACEABLE_TEMPO) { NedResource::addTempoChange(m_midi_time, ((NedTempoSign *) lptr->data)->getTempoInverse()); } else if (((NedFreeReplaceable *) lptr->data)->getType() == FREE_PLACEABLE_TEXT) { ftext = (NedFreeText *) lptr->data; if (ftext->m_enable_tempo_change) { NedResource::addTempoChange(m_midi_time, ftext->getTempoInverse()); } segno_sign |= ftext->m_segno_sign; if (ftext->m_enable_channel) { getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel = ftext->m_channel; } if (ftext->m_midi_pgm >= 0) { getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[0].m_current_midi_program = ftext->m_midi_pgm; } if (ftext->m_enable_volume_change) { NedResource::addPseudoEvent2(m_midi_time, PSEUDO_EVENT_VOL_CHANGE, getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, ftext->m_midi_volume); } } else if (((NedFreeReplaceable *) lptr->data)->getType() == FREE_PLACEABLE_VOLSIGN) { NedResource::addPseudoEvent2(m_midi_time, PSEUDO_EVENT_VOL_CHANGE, getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, ((NedVolumeSign *) lptr->data)->m_midi_volume); } else if (((NedFreeReplaceable *) lptr->data)->getType() == FREE_PLACEABLE_LINE_POINT) { if ((((NedLinePoint *) lptr->data)->getLine()->getLineType() & (LINE_CRESCENDO | LINE_DECRESCENDO)) != 0) { startp = ((NedLinePoint *) lptr->data)->getLine()->getLineStartPoint(); endp = ((NedLinePoint *) lptr->data)->getLine()->getLineEndPoint(); cres = (NedCrescendo *) ((NedLinePoint *) lptr->data)->getLine(); if (startp == lptr->data) { NedResource::addPseudoEvent2((unsigned int) m_midi_time, PSEUDO_EVENT_CRES_START, getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, cres->m_volume_diff); } else if (endp == lptr->data) { NedResource::addPseudoEvent2((unsigned int) m_midi_time, PSEUDO_EVENT_CRES_STOP, getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, cres->m_volume_diff); } } else if ((((NedLinePoint *) lptr->data)->getLine()->getLineType() & LINE_TEMPO_CHANGE) != 0) { startp = ((NedLinePoint *) lptr->data)->getLine()->getLineStartPoint(); endp = ((NedLinePoint *) lptr->data)->getLine()->getLineEndPoint(); accel = (NedAcceleration *) ((NedLinePoint *) lptr->data)->getLine(); if (startp == lptr->data) { NedResource::addPseudoEvent2((unsigned int) m_midi_time, PSEUDO_EVENT_RIT_START, 0 /*dummy */, accel->m_tempodiff); } else if (endp == lptr->data) { NedResource::addPseudoEvent2((unsigned int) m_midi_time, PSEUDO_EVENT_RIT_STOP, 0 /*dummy */, accel->m_tempodiff); } } else if ((((NedLinePoint *) lptr->data)->getLine()->getLineType() & LINE_OCTAVIATION_MASK) != 0) { startp = ((NedLinePoint *) lptr->data)->getLine()->getLineStartPoint(); endp = ((NedLinePoint *) lptr->data)->getLine()->getLineEndPoint(); oct = (NedOctavation *) ((NedLinePoint *) lptr->data)->getLine(); if (startp == lptr->data) { contexts[staff_nr].m_pitch_offs = oct->getPitchOffset(); } else if (endp == lptr->data) { reset_pitch_offset = true; } } } else if (((NedFreeReplaceable *) lptr->data)->getType() == FREE_PLACEABLE_SIGN) { switch (((NedFreeSign *) lptr->data)->getKind()) { case SIGN_SEGNO: segno_sign |= SEGNO_SIGN; break; case SIGN_CODA: segno_sign |= SEGNO_CODA; break; } } } midi_start_offs = 0; if ((m_status & STAT_ARPEGGIO) != 0 && g_list_length(m_notes) * ARPEGGIO_MIDI_DIST < getDuration()) { midi_start_offs = ARPEGGIO_MIDI_DIST; } if (m_type & (TYPE_CHORD | TYPE_GRACE) ) { for (i = 0, lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr), i++) { ((NedNote *) lptr->data)->prepareReplay(m_midi_time + i * midi_start_offs, clef, keysig, octave_shift, contexts[staff_nr].m_pitch_offs, voice_idx, grace_time, m_type == TYPE_GRACE, (m_status & (STAT_STACC | STAT_STACCATISSIMO)) != 0, segno_sign); } } else if (segno_sign) { // ensure segno staff attached to rests is correctly handled NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, (unsigned char) m_voice->getVoiceNumber(), m_midi_time, SND_SEQ_EVENT_NOTEON | PSEUDO2_FLAG /* keep during replay */ , 60 /* dummy */, 0 /* dummy */, segno_sign, NULL /* dummy */); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, (unsigned char) m_voice->getVoiceNumber(), m_midi_time + getDuration() - grace_time, SND_SEQ_EVENT_NOTEOFF | PSEUDO2_FLAG /* keep during replay */ , 60 /* dummy */, 0, segno_sign, NULL /* dummy */); } if (reset_pitch_offset) { contexts[staff_nr].m_pitch_offs = 0; } } void NedChordOrRest::exportLilyPond(FILE *fp, int *last_line, unsigned int *midi_len, NedSlur **lily_slur, unsigned int *lyrics_map, bool *guitar_chordnames, bool *chordname, int *breath_script, bool keep_beams) { GList *lptr; bool force_length = false; char restchar; int dotcount, tremolo; unsigned int duration, len2; char Str[100], Str2[100]; int i; int clef, keysig, octave_shift; int new_line, old_line; int clef_number; bool tie = false; duration = getDuration(); switch (m_type) { case TYPE_REST: exportLilyFreePlaceablesBefore(fp); restchar =m_is_hidden ? 's' : 'r'; if (m_length == WHOLE_NOTE && duration != WHOLE_NOTE) { NedResource::setLengthField(duration); len2 = NedResource::getPartLength(&dotcount); sprintf(Str, "%c%d", restchar, WHOLE_NOTE / len2); for (i = 0; i < dotcount; i++) { strcat(Str, "."); } strcat(Str, " "); len2 = NedResource::getPartLength(&dotcount); while (len2) { sprintf(Str2, "%c%d", restchar, WHOLE_NOTE / len2); strcat(Str, Str2); for (i = 0; i < dotcount; i++) { strcat(Str, "."); } strcat(Str, " "); len2 = NedResource::getPartLength(&dotcount); } fprintf(fp, Str); *midi_len = 0; } else { fprintf(fp, "%c%d ", restchar, WHOLE_NOTE / m_length); for (i = 0; i < m_dot_count; i++) { fprintf(fp, "."); } *midi_len = getDuration(); } exportLilyAccents(fp); exportLilyFreePlaceablesAfter(fp, lily_slur, guitar_chordnames, chordname); putc(' ', fp); break; case TYPE_CHORD: exportLilyFreePlaceablesBefore(fp); if (g_list_length(m_notes) > 1) { fprintf(fp, " <"); } for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->exportLilyPond(fp, last_line, &tie); } *last_line = ((NedNote *) g_list_first(m_notes)->data)->getLine(); if (g_list_length(m_notes) > 1) { fprintf(fp, " >"); } if (duration != *midi_len || (m_status & TREMOLO_MASK)) { if (m_status & TREMOLO_MASK) { switch (m_status & TREMOLO_MASK) { case STAT_TREMOLO1: tremolo = 8; break; case STAT_TREMOLO2: tremolo = 16; break; case STAT_TREMOLO3: tremolo = 32; break; case STAT_TREMOLO4: tremolo = 64; break; } sprintf(Str, "%d:%d", WHOLE_NOTE / m_length, tremolo); } else { sprintf(Str, "%d", WHOLE_NOTE / m_length); } for (i = 0; i < m_dot_count; i++) { strcat(Str, "."); } force_length = true; } if (force_length) { fprintf(fp, Str); } exportLilyAccents(fp); if (keep_beams && m_beam) { if (m_beam->getFirst() == this) { fprintf(fp, " [ "); } if (m_beam->getLast() == this) { fprintf(fp, " ] "); } } if (tie) { fprintf(fp, " ~ "); } exportLilyFreePlaceablesAfter(fp, lily_slur, guitar_chordnames, chordname); putc(' ', fp); *midi_len = getDuration(); for (i = 0; i < MAX_LYRICS_LINES; i++) { if (m_lyrics[i] != NULL) { (*lyrics_map) |= (1 << i); } } break; case TYPE_GRACE: switch (m_length) { case STROKEN_GRACE: fprintf(fp, "\\acciaccatura "); break; default: fprintf(fp, "\\grace{ "); break; } for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->exportLilyPond(fp, last_line, &tie); } switch (m_length) { case GRACE_8: case STROKEN_GRACE: fprintf(fp, "8 "); break; case GRACE_16: fprintf(fp, "16 "); break; } switch (m_length) { case STROKEN_GRACE: break; default: fprintf(fp, "}"); break; } *midi_len = 0; break; case TYPE_CLEF: getStaff()->getCurrentClefAndKeysig(m_midi_time - NOTE_64, &clef, &keysig, &octave_shift); old_line = NedResource::determineLastLine(-2, clef); clef_number = m_length; new_line = NedResource::determineLastLine(-2, clef_number); fprintf(fp, " \\clef %s ", NedResource::getLilyPondClefName(clef_number)); *last_line += new_line - old_line; break; case TYPE_STAFF_SIGN: switch (m_dot_count) { case SIGN_BREATH1: if (*breath_script != LILY_BREAH_SCRIPT_RCOMMA) { fprintf(fp, " \\override BreathingSign #'text = #(make-musicglyph-markup \"scripts.rcomma\") "); *breath_script = LILY_BREAH_SCRIPT_RCOMMA; } fprintf(fp, " \\breathe "); break; case SIGN_BREATH2: if (*breath_script != LILY_BREAH_SCRIPT_UPBOW) { fprintf(fp, " \\override BreathingSign #'text = #(make-musicglyph-markup \"scripts.upbow\") "); *breath_script = LILY_BREAH_SCRIPT_UPBOW; } fprintf(fp, " \\breathe "); break; } break; case TYPE_KEYSIG: fprintf(fp, " %s ", NedResource::getLilyPondKeySigName(m_length)); break; } } void NedChordOrRest::exportLilyAccents(FILE *fp) { if (m_status & STAT_STACC) { fprintf(fp, "\\staccato "); } if (m_status & STAT_TENUTO) { fprintf(fp, "\\tenuto "); } if (m_status & STAT_SFORZATO) { fprintf(fp, "\\marcato "); } if (m_status & STAT_SFORZANDO) { fprintf(fp, "\\accent "); } if (m_status & STAT_BOW_UP) { fprintf(fp, "\\upbow "); } if (m_status & STAT_BOW_DOWN) { fprintf(fp, "\\downbow "); } if (m_status & STAT_PED_ON) { fprintf(fp, "\\sustainDown "); } if (m_status & STAT_PED_OFF) { fprintf(fp, "\\sustainUp "); } if (m_status & STAT_TRILL) { fprintf(fp, "\\trill "); } if (m_status & STAT_PRALL) { fprintf(fp, "\\prall "); } if (m_status & STAT_MORDENT) { fprintf(fp, "\\mordent "); } if (m_status & STAT_TURN) { fprintf(fp, "\\turn "); } if (m_status & STAT_REV_TURN) { fprintf(fp, "\\reverseturn "); } if (m_status & STAT_OPEN) { fprintf(fp, "\\open "); } if (m_status & STAT_FERMATA) { fprintf(fp, "\\fermata "); } if (m_status & STAT_ARPEGGIO) { fprintf(fp, "\\arpeggio "); } } void NedChordOrRest::exportLilyFreePlaceablesBefore(FILE *fp) { GList *lptr; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { switch (((NedFreeReplaceable *) lptr->data)->getType()) { case FREE_PLACEABLE_TEMPO: fprintf(fp, "\\tempo "); switch (((NedTempoSign *) lptr->data)->getKind()) { case WHOLE_NOTE: fprintf(fp, "1="); break; case NOTE_2: fprintf(fp, "2="); break; case NOTE_4: fprintf(fp, "4="); break; case NOTE_8: fprintf(fp, "8="); break; case NOTE_16: fprintf(fp, "16="); break; } fprintf(fp, "%d ", ((NedTempoSign *) lptr->data)->getTempo()); break; } } } void NedChordOrRest::exportLilyFreePlaceablesAfter(FILE *fp, NedSlur **lily_slur, bool *guitar_chordnames, bool *chordnames) { GList *lptr; NedSlur *slur; NedSlurPoint **sp; char Str[1024]; int bracenum; NedLine *line; NedLinePoint *endp; NedLinePoint *startp; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { switch (((NedFreeReplaceable *) lptr->data)->getType()) { case FREE_PLACEABLE_VOLSIGN: switch (((NedVolumeSign *) lptr->data)->getKind()) { case VOL_PPP: fprintf(fp, "\\ppp"); break; case VOL_PP: fprintf(fp, "\\pp"); break; case VOL_P: fprintf(fp, "\\p"); break; case VOL_MF: fprintf(fp, "\\mf"); break; case VOL_SF: fprintf(fp, "\\sf"); break; case VOL_MP: fprintf(fp, "\\mp"); break; case VOL_SP: fprintf(fp, "\\sp"); break; case VOL_F: fprintf(fp, "\\f"); break; case VOL_FF: fprintf(fp, "\\ff"); break; case VOL_FFF: fprintf(fp, "\\fff"); break; } break; case FREE_PLACEABLE_SLUR_POINT: slur = ((NedSlurPoint *) lptr->data)->getSlur(); sp = slur->getSlurPoints(); if (((NedSlurPoint *) lptr->data) == sp[0]) { if (*lily_slur == NULL) { fprintf(fp, " ( "); *lily_slur = slur; } } else if (((NedSlurPoint *) lptr->data) == sp[2]) { if (*lily_slur == slur) { fprintf(fp, " ) " ); *lily_slur = NULL; } } break; case FREE_PLACEABLE_LINE_POINT: line = ((NedLinePoint *) lptr->data)->getLine(); startp = line->getLineStartPoint(); if (lptr->data == startp) { switch (line->getLineType()) { case LINE_CRESCENDO: fprintf(fp, "\\< "); break; case LINE_DECRESCENDO: fprintf(fp, "\\> "); break; } } endp = line->getLineEndPoint(); if (lptr->data == endp) { switch (line->getLineType()) { case LINE_CRESCENDO: case LINE_DECRESCENDO: fprintf(fp, "\\! "); break; } } break; case FREE_PLACEABLE_TEXT: fprintf(fp, "^\\markup {"); bracenum = 0; if (((NedFreeText *) lptr->data)->m_font_slant == PANGO_STYLE_ITALIC) { fprintf(fp, " \\italic {"); bracenum++; } if (((NedFreeText *) lptr->data)->m_font_weight == PANGO_WEIGHT_BOLD) { fprintf(fp, " \\bold {"); bracenum++; } ((NedFreeText *) lptr->data)->getLilyText(Str); fprintf(fp, "%s }", Str); while (bracenum--) { fprintf(fp, " } "); } break; case FREE_PLACEABLE_SIGN: switch (((NedFreeSign *) lptr->data)->getKind()) { case SIGN_SEGNO: fprintf(fp, "\\mark \\markup { \\musicglyph #\"scripts.segno\" } "); break; case SIGN_CODA: fprintf(fp, "\\mark \\markup { \\musicglyph #\"scripts.coda\" } "); break; } break; case FREE_PLACEABLE_CHORD: if ((((NedFreeChord *) lptr->data)->getStatus() & GUITAR_CHORD_DRAW_TEXT) != 0) { *guitar_chordnames = true; } if ((((NedFreeChord *) lptr->data)->getStatus() & GUITAR_CHORD_DRAW_DIAGRAM) == 0) break; NedChordPainter::writeLilyChord(fp, ((NedFreeChord *) lptr->data)->getChordPtr()); break; case FREE_PLACEABLE_CHORDNAME: *chordnames = true; break; } } } void NedChordOrRest::exportLilyLyrics(FILE *fp, int line_nr, int *sil_count) { #define MAX_LILY_SIL_COUNT 8 GList *lptr; bool has_tie; char buffer[1024]; if (line_nr < 0 || line_nr >= MAX_LYRICS_LINES) { NedResource::Abort("NedChordOrRest::exportLilyLyrics"); } switch (m_type) { case TYPE_CHORD: has_tie = false; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { if (((NedNote *) lptr->data)->getTieBackward() != NULL) { has_tie = true; } } if (has_tie) { break; } if (m_lyrics[line_nr] == NULL) { fprintf(fp, "\" \"" ); } else { NedPangoCairoText::makeLilyString(m_lyrics[line_nr]->getText(), buffer); fprintf(fp, "%s ", buffer); } (*sil_count)++; if (*sil_count > MAX_LILY_SIL_COUNT) { fprintf(fp, "\n\t"); *sil_count = 0; } break; } } void NedChordOrRest::exportLilyGuitarChordnames(FILE *fp, int *last_line, unsigned int *midi_len) { GList *lptr; int dotcount; unsigned int duration, len2; char Str[100], Str2[100]; int i; bool chord_name_written = false; duration = getDuration(); if ((m_type & (TYPE_CHORD | TYPE_REST)) == 0) return; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if (((NedFreeReplaceable *) lptr->data)->getType() == FREE_PLACEABLE_CHORD) { if (((((NedFreeChord *) lptr->data)->getStatus() & GUITAR_CHORD_DRAW_TEXT) != 0)) { NedChordPainter::writeLilyChordName(fp, (NedFreeChord *) lptr->data, m_length, duration, m_dot_count, midi_len); chord_name_written = true; } } } if (chord_name_written) return; if (m_length == WHOLE_NOTE && duration != WHOLE_NOTE) { NedResource::setLengthField(duration); len2 = NedResource::getPartLength(&dotcount); sprintf(Str, "s%d", WHOLE_NOTE / len2); for (i = 0; i < dotcount; i++) { strcat(Str, "."); } strcat(Str, " "); len2 = NedResource::getPartLength(&dotcount); while (len2) { sprintf(Str2, "s%d", WHOLE_NOTE / len2); strcat(Str, Str2); for (i = 0; i < dotcount; i++) { strcat(Str, "."); } strcat(Str, " "); len2 = NedResource::getPartLength(&dotcount); } fprintf(fp, Str); *midi_len = 0; } else { if (*midi_len == getDuration()) { fprintf(fp, "s"); } else { fprintf(fp, "s%d ", WHOLE_NOTE / m_length); for (i = 0; i < m_dot_count; i++) { fprintf(fp, "."); } *midi_len = getDuration(); } } putc(' ', fp); } void NedChordOrRest::exportLilyFreeChordName(FILE *fp, int *last_line, unsigned int *midi_len) { GList *lptr; int dotcount; unsigned int duration, len2; char Str[100], Str2[100]; int i; bool chord_name_written = false; duration = getDuration(); if ((m_type & (TYPE_CHORD | TYPE_REST)) == 0) return; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if (((NedFreeReplaceable *) lptr->data)->getType() == FREE_PLACEABLE_CHORDNAME) { NedResource::writeLilyFreeChord(fp, (NedChordName *) lptr->data, m_length, duration, m_dot_count, midi_len); chord_name_written = true; } } if (chord_name_written) return; if (m_length == WHOLE_NOTE && duration != WHOLE_NOTE) { NedResource::setLengthField(duration); len2 = NedResource::getPartLength(&dotcount); sprintf(Str, "s%d", WHOLE_NOTE / len2); for (i = 0; i < dotcount; i++) { strcat(Str, "."); } len2 = NedResource::getPartLength(&dotcount); while (len2) { sprintf(Str2, "s%d", WHOLE_NOTE / len2); strcat(Str, Str2); for (i = 0; i < dotcount; i++) { strcat(Str, "."); } strcat(Str, " "); len2 = NedResource::getPartLength(&dotcount); } fprintf(fp, Str); *midi_len = 0; } else { if (*midi_len == getDuration()) { fprintf(fp, "s"); } else { fprintf(fp, "s%d ", WHOLE_NOTE / m_length); for (i = 0; i < m_dot_count; i++) { fprintf(fp, "."); } *midi_len = getDuration(); } } putc(' ', fp); } void NedChordOrRest::collectLyrics(NedLyricsEditor *leditor) { GList *lptr; bool has_tie; int line_nr; if (m_type != TYPE_CHORD) return; has_tie = false; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { if (((NedNote *) lptr->data)->getTieBackward() != NULL) { has_tie = true; } } if (has_tie) { return; } for (line_nr = 0; line_nr < MAX_LYRICS_LINES; line_nr++) { if (m_lyrics[line_nr] == NULL) { leditor->addDot(line_nr); } else { leditor->appendText(line_nr, m_lyrics[line_nr]->getText()); } } } void NedChordOrRest::zoomFreeReplaceables(double zoom, double scale) { GList *lptr; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if (((NedFreeReplaceable *) lptr->data)->getType() & (FREE_PLACEABLE_TEXT|TYPE_CHORDNAME|FREE_PLACEABLE_CHORDNAME)) { ((NedFreeReplaceable *) lptr->data)->setZoom(zoom, scale); } } for (int i = 0; i < MAX_LYRICS_LINES; i++) { if (m_lyrics[i] != NULL) { m_lyrics[i]->setZoom(zoom, scale); } } } double NedChordOrRest::determineTempoInverse() { return getMainWindow()->determineTempoInverse(this); } void NedChordOrRest::determineTempoInverse(double *tempoinverse) { GList *lptr; double temp; for (lptr = g_list_first(m_freedisp); lptr; lptr = g_list_next(lptr)) { if (((NedFreeReplaceable *) lptr->data)->getType() == FREE_PLACEABLE_LINE_POINT) { if ((((NedLinePoint *) lptr->data)->getLine()->getLineType() & LINE_TEMPO_CHANGE) != 0) { NedLinePoint *startp = ((NedLinePoint *) lptr->data)->getLine()->getLineStartPoint(); if (startp == lptr->data) { temp = 60000.0 / *tempoinverse; temp += ((NedAcceleration *) ((NedLinePoint *) lptr->data)->getLine())->m_tempodiff; *tempoinverse = 60000.0 / temp; if (*tempoinverse < 10.0) *tempoinverse = 10.0; if (*tempoinverse > 999.0) *tempoinverse = 999.0; } } } else if (((NedFreeReplaceable *) lptr->data)->getType() == FREE_PLACEABLE_TEMPO) { *tempoinverse = ((NedTempoSign *) lptr->data)->getTempoInverse(); } } } void NedChordOrRest::removeUnneededAccidentals(int clef, int keysig, int octave_shift) { GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->removeUnneededAccidental(clef, keysig, octave_shift); } } void NedChordOrRest::setOffset(char offs_array[115]) { GList *lptr; for (lptr = g_list_first(m_notes); lptr; lptr = g_list_next(lptr)) { ((NedNote *) lptr->data)->setOffset(offs_array); } } NedChordOrRest *NedChordOrRest::restoreChordOrRest(FILE *fp, NedVoice *voice) { char buffer[128], note_descr[128], *cptr; NedChordOrRest *chord_or_rest; NedNote *note; int ival; double fval; int length; int dotcount = 0; int marker, chord_marker; bool marker_read = FALSE, chord_marker_read = FALSE; unsigned int status = 0; int line, head; int rest_line = -1000; if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "Note or address expected"; return NULL; } if (!strcmp(buffer, "<")) { if (!NedResource::readInt(fp, &chord_marker)) { NedResource::m_error_message = "Hex number expected"; return NULL; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ">")) { NedResource::m_error_message = "> expected"; return NULL; } if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "Note expected"; return NULL; } chord_marker_read = TRUE; } strcpy(note_descr, buffer); if (!NedResource::readInt(fp, &length)) { NedResource::m_error_message = "Note length expected"; return NULL; } if (voice->getMainWindow()->getFileVersion() > 5) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ",")) { NedResource::m_error_message = ", expected(0)"; return NULL; } if (!NedResource::readHex(fp, (int *) &status)) { NedResource::m_error_message = "status expected"; return NULL; } } if (status & STAT_USER_PLACED_REST) { if (!NedResource::readInt(fp, &rest_line)) { NedResource::m_error_message = "rest line expected(1)"; return NULL; } } if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "{ or D expected"; return NULL; } if (!strcmp(buffer, "D")) { if (!NedResource::readInt(fp, &dotcount)) { NedResource::m_error_message = "dotcount expected"; return NULL; } if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "{ expected"; return NULL; } } if (note_descr[0] == 'r') { if (note_descr[1] != '\0') { if (note_descr[1] != 'h') { NedResource::m_error_message = "rh expected"; return NULL; } if (voice->getMainWindow()->getFileVersion() > 9) { chord_or_rest = new NedChordOrRest(voice, TYPE_REST, TRUE, 3, dotcount, length * LENGH_FACTOR, NORMAL_NOTE, status, 0); } else { chord_or_rest = new NedChordOrRest(voice, TYPE_REST, TRUE, 3, dotcount, length * FACTOR, NORMAL_NOTE, status, 0); } if (chord_marker_read) { NedResource::addAddr(chord_marker, chord_or_rest); } if (rest_line > -900) { chord_or_rest->moveToLine(rest_line); } return chord_or_rest; } if (voice->getMainWindow()->getFileVersion() > 9) { chord_or_rest = new NedChordOrRest(voice, TYPE_REST, FALSE, 3, dotcount, length * LENGH_FACTOR, NORMAL_NOTE, status, 0); } else { chord_or_rest = new NedChordOrRest(voice, TYPE_REST, FALSE, 3, dotcount, length * FACTOR, NORMAL_NOTE, status, 0); } if (chord_marker_read) { NedResource::addAddr(chord_marker, chord_or_rest); } if (rest_line > -900) { chord_or_rest->moveToLine(rest_line); } return chord_or_rest; } if (note_descr[0] != 'n') { NedResource::m_error_message = "n or r expected"; return NULL; } if (strcmp(buffer, "{")) { NedResource::m_error_message = "{ expected"; return NULL; } if (!NedResource::readWord(fp, buffer) || buffer[1] != '\0') { NedResource::m_error_message = " | _, b , #, p, c, or = expected(1)"; return NULL; } if (buffer[0] == '|') { if (!NedResource::readInt(fp, &marker)) { NedResource::m_error_message = "addr expected"; return NULL; } if (!NedResource::readWord(fp, buffer) || buffer[0] != '|' || buffer[1] != '\0') { NedResource::m_error_message = " | expected"; return NULL; } if (!NedResource::readWord(fp, buffer) || buffer[1] != '\0') { NedResource::m_error_message = " _, b , #, p, c, or = expected"; return NULL; } marker_read = TRUE; } switch (buffer[0]) { case '_': break; case 'b': status |= STAT_FLAT; break; case 'p': status |= STAT_DFLAT; break; case '#': status |= STAT_SHARP; break; case 'c': status |= STAT_DSHARP; break; case '=': status |= STAT_NATURAL; break; default: NedResource::m_error_message = "_, b , #, p, c, or = expected"; return NULL; } if (!NedResource::readInt(fp, &line) || line < MIN_LINE || line > MAX_LINE) { printf("line = %d\n", line); fflush(stdout); NedResource::m_error_message = "line expected(2)"; return NULL; } head = NORMAL_NOTE; if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = " [ or } or , expected"; return NULL; } if (strcmp(buffer, "[")) { NedResource::unreadWord(buffer); } else { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "head")) { NedResource::m_error_message = "head expected"; return NULL; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": expected"; return NULL; } if (!NedResource::readInt(fp, &head) || head < CROSS_NOTE1 || head > CLOSED_HIGH_HAT) { NedResource::m_error_message = "head value expected(2)"; return NULL; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "]")) { NedResource::m_error_message = "] expected"; return NULL; } } if (voice->getMainWindow()->getFileVersion() > 9) { chord_or_rest = new NedChordOrRest(voice, TYPE_CHORD, FALSE, line, dotcount, length * LENGH_FACTOR, head, status, 0); } else { chord_or_rest = new NedChordOrRest(voice, TYPE_CHORD, FALSE, line, dotcount, length * FACTOR, head, status, 0); } if (chord_marker_read) { NedResource::addAddr(chord_marker, chord_or_rest); } if (marker_read) { NedResource::addAddr(marker, g_list_first(chord_or_rest->m_notes)->data); } if (!NedResource::readWord(fp, buffer) || buffer[1] != '\0') { NedResource::m_error_message = " } or , expected"; return NULL; } while (buffer[0] != '}') { marker_read = FALSE; if (buffer[0] != ',') { NedResource::DbgMsg(DBG_CRITICAL, "gelesen(1): *%s*\n", buffer); NedResource::m_error_message = " , expected"; return NULL; } if (!NedResource::readWord(fp, buffer) || buffer[1] != '\0') { NedResource::DbgMsg(DBG_CRITICAL, "buffer = %s\n", buffer); NedResource::m_error_message = " | _, b , #, p, c, or = expected(2)"; return NULL; } if (buffer[0] == '|') { if (!NedResource::readInt(fp, &marker)) { NedResource::m_error_message = "addr expected"; return NULL; } if (!NedResource::readWord(fp, buffer) || buffer[0] != '|' || buffer[1] != '\0') { NedResource::m_error_message = " | expected"; return NULL; } if (!NedResource::readWord(fp, buffer) || buffer[1] != '\0') { NedResource::m_error_message = " _, b , #, p, c, or = expected"; return NULL; } marker_read = TRUE; } status = 0; switch (buffer[0]) { case '_': break; case 'p': status |= STAT_DFLAT; break; case 'b': status |= STAT_FLAT; break; case '#': status |= STAT_SHARP; break; case 'c': status |= STAT_DSHARP; break; case '=': status |= STAT_NATURAL; break; default: NedResource::m_error_message = "_, b , #, p, c or = expected"; return NULL; } if (!NedResource::readInt(fp, &line) || line < MIN_LINE || line > MAX_LINE) { printf("line = %d\n", line); fflush(stdout); NedResource::m_error_message = "line expected(3)"; return NULL; } if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = " }, [ or , expected"; return NULL; } head = NORMAL_NOTE; if (strcmp(buffer, "[")) { NedResource::unreadWord(buffer); } else { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "head")) { NedResource::m_error_message = "head expected"; return NULL; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": expected"; return NULL; } if (!NedResource::readInt(fp, &head) || head < CROSS_NOTE1 || head > CLOSED_HIGH_HAT) { NedResource::m_error_message = "head value expected(1)"; return NULL; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "]")) { NedResource::m_error_message = "] expected"; return NULL; } } note = new NedNote(chord_or_rest, line, head, status); void *addr = (void *) note; chord_or_rest->insertNoteAt(note, FALSE); if (marker_read) { NedResource::addAddr(marker, addr); } if (!NedResource::readWord(fp, buffer)) { NedResource::DbgMsg(DBG_CRITICAL, "gelesen(2): *%s*\n", buffer); NedResource::m_error_message = " } or , expected"; return NULL; } } if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = " ) or STEM_HEIGHT or BEAM_Y_OFFS or BEAM_SLOPE_OFFS expected"; return NULL; } while (!strcmp(buffer, "STEM_HEIGHT") || !strcmp(buffer, "BEAM_Y_OFFS") || !strcmp(buffer, "BEAM_SLOPE_OFFS")) { if (!strcmp(buffer, "STEM_HEIGHT")) { if (!NedResource::readWord(fp, buffer) || buffer[0] != ':' || buffer[1] != '\0') { NedResource::m_error_message = " : expected"; return NULL; } if (!NedResource::readFloat(fp, &fval)) { NedResource::m_error_message = "stem height value expected"; return NULL; } chord_or_rest->setStemHeight(fval); } else if (!strcmp(buffer, "BEAM_Y_OFFS")) { if (!NedResource::readWord(fp, buffer) || buffer[0] != ':' || buffer[1] != '\0') { NedResource::m_error_message = " : expected"; return NULL; } if (!NedResource::readFloat(fp, &fval)) { NedResource::m_error_message = "beam y offset value expected"; return NULL; } chord_or_rest->setBeamYOffset(fval); } else if (!strcmp(buffer, "BEAM_SLOPE_OFFS")) { if (!NedResource::readWord(fp, buffer) || buffer[0] != ':' || buffer[1] != '\0') { NedResource::m_error_message = " : expected"; return NULL; } if (!NedResource::readInt(fp, &ival)) { NedResource::m_error_message = "beam slope offset value expected"; return NULL; } chord_or_rest->setBeamSlopeOffset(ival); } if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = " ) or STEM_HEIGHT or BEAM_Y_OFFS or BEAM_SLOPE_OFFS expected"; return NULL; } } if (buffer[0] == '[' && buffer[1] == '\0') { line = 0; while (buffer[0] != ']') { if (!NedResource::readString(fp, buffer)) { NedResource::m_error_message = "lyrics expected"; return NULL; } if (buffer[0] == ',' && buffer[1] == '\0') { line++; continue; } while ((cptr = strchr(buffer, '_')) != NULL) *cptr = ' '; chord_or_rest->createLyrics(line, buffer); if (!NedResource::readWord(fp, buffer) || (buffer[0] != ']' && buffer[0] != ',') || buffer[1] != '\0') { NedResource::m_error_message = ", or ] expected"; return NULL; } line++; } if (!NedResource::readWord(fp, buffer) || buffer[0] != ')' || buffer[1] != '\0') { NedResource::m_error_message = " ) expected"; return NULL; } } else if (buffer[0] != ')' || buffer[1] != '\0') { NedResource::m_error_message = " ) expected"; return NULL; } chord_or_rest->xPositNotes(); chord_or_rest->computeBbox(); return chord_or_rest; } void NedChordOrRest::removeFreeDisplaceable(NedFreeReplaceable *freedisplaceable) { GList *lptr; if ((lptr = g_list_find(m_freedisp, freedisplaceable)) == NULL) { NedResource::Abort("removeFreeDisplaceable"); } m_freedisp = g_list_delete_link(m_freedisp, lptr); } void NedChordOrRest::addFreeDislaceable(NedFreeReplaceable *freedisplaceable) { if (g_list_find(m_freedisp, freedisplaceable)) { return; } m_freedisp = g_list_append(m_freedisp, freedisplaceable); } nted-1.10.18/octavation.cpp0000664001041000007640000001205011520267230012403 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "octavation.h" #include "linepoint.h" #include "page.h" #include "staff.h" #include "chordorrest.h" #include "system.h" #include "volumedialog.h" #include #define X_POS_PAGE_REL(sp, p) ((sp->m_element->getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define X_PAGE_POS_PAGE_REL(page, p) (((page)->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_PAGE_REL(p) ((p) * zoom_factor - topy) static double dash_array[2] = {1.0, 3.0}; NedOctavation::NedOctavation(NedLinePoint *start, NedLinePoint *end, int sub_type) : NedLine(start, end), m_octave_dist(1) { switch(sub_type) { case LINE_OCTAVATION_1: m_octave_dist = -1; break; case LINE_OCTAVATION2: m_octave_dist = 2; break; case LINE_OCTAVATION_2: m_octave_dist = -2; break; } } NedOctavation::NedOctavation(NedLinePoint *start, NedLinePoint *end, NedLinePoint *dummy, int octave_shift) : NedLine(start, end), m_octave_dist(1) { switch(octave_shift) { case -12: m_octave_dist = -1; break; case 24: m_octave_dist = 2; break; case -24: m_octave_dist = -2; break; } } #define OCTAVIATION_THICK 0.03 #define OCT_SIGN_LENGTH1 0.5 #define OCT_SIGN_LENGTH2 0.8 void NedOctavation::draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level) { double ypos1; NedStaff *staff; GList *lptr, *last; cairo_glyph_t glyph; double sign_length = OCT_SIGN_LENGTH1; if (!m_allow_drawing) return; cairo_new_path(cr); switch (m_octave_dist) { case 1: glyph.index = BASE + 41; break; case -1: glyph.index = BASE + 42; break; case 2: glyph.index = BASE + 43; sign_length = OCT_SIGN_LENGTH2; break; case -2: glyph.index = BASE + 44; sign_length = OCT_SIGN_LENGTH2; break; } glyph.x = X_POS_PAGE_REL(m_line_start_point, m_start_x); glyph.y = Y_POS_PAGE_REL(m_start_y); cairo_show_glyphs(cr, &glyph, 1); cairo_new_path(cr); cairo_stroke(cr); cairo_set_line_width(cr, zoom_factor * OCTAVIATION_THICK); cairo_set_dash(cr, dash_array, 2, 0.0); if (m_distributed) { if ((lptr = g_list_first(m_intermediate_staves)) == NULL) { NedResource::Abort("NedOctavation::draw: error 1"); } last = g_list_last(m_intermediate_staves); staff = (NedStaff *) lptr->data; cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), m_start_x), Y_POS_PAGE_REL(m_start_y)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemEnd()), Y_POS_PAGE_REL(m_start_y)); cairo_stroke(cr); for (lptr = g_list_next(lptr); lptr != last; lptr = g_list_next(lptr)) { staff = (NedStaff *) lptr->data; ypos1 = staff->getSystem()->getYPos() + staff->getMidPos() + m_line_start_point->getYposRelative(); cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemStart()), Y_POS_PAGE_REL(ypos1)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemEnd()), Y_POS_PAGE_REL(ypos1)); cairo_stroke(cr); } staff = (NedStaff *) lptr->data; ypos1 = staff->getSystem()->getYPos() + staff->getMidPos() + m_line_start_point->getYposRelative(); cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemStart()), Y_POS_PAGE_REL(ypos1)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), m_end_x), Y_POS_PAGE_REL(ypos1)); cairo_stroke(cr); } else { cairo_move_to(cr, X_POS_PAGE_REL(m_line_start_point, m_start_x + sign_length), Y_POS_PAGE_REL(m_start_y)); cairo_line_to(cr, X_POS_PAGE_REL(m_line_end_point, m_end_x), Y_POS_PAGE_REL(m_start_y)); cairo_stroke(cr); } cairo_set_dash(cr, dash_array, 0, 0.0); } int NedOctavation::getLineType() { switch (m_octave_dist) { case 1: return LINE_OCTAVATION1; case -1: return LINE_OCTAVATION_1; case 2: return LINE_OCTAVATION2; } return LINE_OCTAVATION_2; } int NedOctavation::getPitchOffset() { switch (m_octave_dist) { case 1: return 12; case -1: return -12; case 2: return 24; } return -24; } nted-1.10.18/volumesign.h0000664001041000007640000000443311520267230012077 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef VOLUME_SIGN_H #define VOLUME_SIGN_H #include "freereplaceable.h" #define VOL_PPP 1 #define VOL_PP 2 #define VOL_P 3 #define VOL_MF 4 #define VOL_SF 5 #define VOL_MP 6 #define VOL_SP 7 #define VOL_F 8 #define VOL_FF 9 #define VOL_FFF 10 class NedVolumeSign : public NedFreeReplaceable { public: NedVolumeSign(int kind); NedVolumeSign(int kind, NedChordOrRest *element); NedVolumeSign(int kind, NedChordOrRest *element, double x, double y, bool relative); virtual NedFreeReplaceable *clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area = NULL, NedMainWindow *main_window = NULL ); virtual void adjust_pointers(struct addr_ref_str *slurlist); virtual void draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale); virtual int getType() {return FREE_PLACEABLE_VOLSIGN;} static int determineKind(int volume); int getKind() {return m_kind;} virtual void startContextDialog(GtkWidget *ref); int m_midi_volume; private: void setMidiVolume(); int m_kind; }; #endif /* VOLUME_SIGN_H */ nted-1.10.18/note.h0000664001041000007640000001323311520267230010652 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef NOTE_H #define NOTE_H #include "config.h" #include #include #include "chordorrest.h" #include "resource.h" class NedMainWindow; class NedPage; class NedSystem; class NedStaff; class NedVoice; class NedChordOrRest; class NedBbox; class NedCommandList; struct pitch_descr; #define UNKNOWN_LINE -1111111 class NedNote { public: NedNote(NedChordOrRest *chord_or_rest, int line, int head, unsigned int status); void draw(cairo_t *cr); static gint compare(NedNote *a, NedNote *b); NedMainWindow *getMainWindow(); NedPage *getPage(); NedSystem *getSystem(); NedStaff *getStaff(); NedVoice *getVoice(); NedChordOrRest *getChord() {return m_chord_or_rest;} void setChord(NedChordOrRest *chord) {m_chord_or_rest = chord;} void handleRelease() {m_tmp_line = UNKNOWN_LINE;} bool noConflict(); void shiftNote(bool shift); double placeAccidental(bool all_shifted, int acc_places[4], bool has_arpeggio, bool out); void collectNotesWithAccidentals(unsigned int *num_notes_with_accidentals, NedNote **note_field); static int compare_note_lines(NedNote **n1, NedNote **n2); bool trySelect (double x, double y); double getYpos(); bool testYShift(double y); void moveUpDown(int line); bool testRelativeMove(int dist); int getTempLine() {return (m_tmp_line == m_line) ? UNKNOWN_LINE : m_tmp_line;} int getLine() {return m_line;} void shiftNoteLine(int linedist); unsigned int getStatus() {return m_status;} void setStatus(unsigned int status); void computeBounds(int len, double *minx, double *miny, double *maxx, double *maxy); void do_tie(NedNote *other_note); void setTieSimple(NedNote *other_note); void setTieIfSamePitch(NedNote *other_note, bool check_pitch); void computeTie(); bool isTheSame(NedNote *other_note); void tryTieBackward(); void removeBackwardTie(); void resetActiveFlag() {m_active = NOTE_ACTIVE_STATE_NONE;} void removeForwardTie(); void setTieForward(NedNote *tie_forward) {m_tie_forward = tie_forward;} void setTieBackward(NedNote *tie_backward) {m_tie_backward = tie_backward;} bool testForTiesToDelete(NedCommandList *command_list, unsigned int dir = BREAK_TIE_BACKWARD, bool execute = false); NedNote *getTieForward() {return m_tie_forward;} NedNote *getTieBackward() {return m_tie_backward;} void correctTieForward(); void saveNote(FILE *fp); void saveTies(FILE *fp, bool *ties_written); bool test_tie_increment(double incr); void setInternalPitch(int pitchdist, int clef, int keysig, int octave_shift); void adjustAccidental(int clef, int keysig, int octave_shift); void changeAccidental(NedCommandList *command_list, int preferred_offs, int clef, int keysig, int octave_shift); void prepareReplay(unsigned long long midi_start_time, int clef, int keysig, int octave_shift, int pitch_offs, int voice_idx, unsigned int grace_time, bool is_grace, bool is_stacc, unsigned short segno_sign); char m_active; int getPitch(int clef, int keysig, int octave_shift, int pitch_offs, bool *flat, bool use_transpose); int getPitch(); void removeUnneededAccidental(int clef, int keysig, int octave_shift); int getNoteHead() {return m_head;} void setNoteHead(int head) {m_head = head;} void setOffset(char offs_array[OFFS_ARRAY_SIZE]); static void setTies(NedNote *n1, NedNote *n2); void adjust_pointers(struct addr_ref_str *addrlist); void exportLilyPond(FILE *fp, int *last_line, bool *tie); static int determineLineOf(int oldline, int newclef); static int pitchToLine(int pitch, int clef, int keysig, int octave_shift, int *offs, int preferred_offs = 0); static unsigned int determineState(int pitch, int line, int half_offs, char offs_array[115], int keysig); bool isFirstNote(); void setTieOffset(double offs) {m_tie_offs = offs;} private: int findPitchUpDown(int key, int pitch, int dist); int getDrumPitch(); void exportLilyPondDrums(FILE *fp); static pitch_descr lineToPitch[]; static int signToBase[][2]; static int diaDists[]; double m_xpos, m_ypos; double m_tmp_ypos; double m_acc_dist; int m_line, m_tmp_line; unsigned int m_status; int m_head; NedChordOrRest *m_chord_or_rest; NedNote *m_tie_forward, *m_tie_backward; double m_tie_y_offs1, m_tie_y_offs2; double m_tie_xpos0, m_tie_xpos1; double m_tie_back_xpos0, m_tie_back_xpos1; double m_tie_offs; int m_pitch; // used temporarily friend class NedChangeTieCommand; friend class NedTieNotesCommand; friend class NedMoveNoteRelativeCommand; friend class NedChangeAccidentalCommand; }; #endif /* NOTE_H */ nted-1.10.18/COPYING.GFDL0000664001041000007640000004766311520267230011320 00000000000000 GNU Free Documentation License Version 1.2, November 2002 Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License. I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version. N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section. O. Preserve any Warranty Disclaimers. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements". 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. nted-1.10.18/resource.h0000664001041000007640000007332111520267230011540 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef RESOURCE_H #define RESOURCE_H #include "config.h" #include #include #include #include #define FONTFILE "ntedfont.pfa" #define WIDTH 1023 #define HEIGHT 767 #define ZOOMLEVELS 20 #define MAXELEMENTS 30 #define DEFAULT_BORDER 0.2 #define LEFT_RIGHT_BORDER 1.5 #define TOP_BOTTOM_BORDER 1.5 #define FONT_REL_SIZE 10.0 #define STAFF_TOP_DIST (5.0 * LINE_DIST) #define PS_ZOOM 24.0 #define PS_ZOOM2 22.4 #define LINE_DIST 0.22 #define LINE_THICK 0.02 #define MEASURE_LINE_THICK 0.03 #define BEAM_THICK 0.1 #define STEM_DEFAULT_HEIGHT (3.4 * LINE_DIST) #define STEM_THICK 0.04 #define HEAD_THICK (1.2 * LINE_DIST) #define HEAD_THICK_HALF (1.09 * HEAD_THICK) #define FLAG_DIST (0.87 * LINE_DIST) #define STEM_TOP_DIST 0.09 #define HEAD_THICK_2 (HEAD_THICK / 2.0) #define HEAD_THICK_HALF_2 (HEAD_THICK_HALF / 2.0) #define HEAD_HIGHT (1.0 * LINE_DIST) #define HEAD_HIGHT_HALF HEAD_HIGHT #define HEAD_HIGHT_2 (HEAD_HIGHT / 2.0) #define HEAD_HIGHT_HALF_2 (HEAD_HIGHT_HALF / 2.0) #define BRACE_SPACE 0.05 #define BRACE_X_OFFSET 5.0 #define BRACKET_INDENT 0.2 #define NESTED_BRACE_INDENT 0.18 #define VOICE_COUNT 4 #define COUNT_OF_PARALLEL_ELEMENTS 1024 #define MIN_SELECTION_RECTANGLE_DIM 2.0 #define TRIPLET_VAL_SHIFT_X 0.15 #define TUPLET_XOVER 0.15 #define TUPLET_XFRONTOVER 0.1 #define TUPLET_MARKER_DIST 0.1 #define TUPLET_MARKER_DIST_UP 0.2 #define TUPLET_MARKER_DIST_DOWN 0.8 #define NUMNBER_GLYPH_WIDTH 0.4 #define NUMNBER_GLYPH_HEIGHT_UP 0.0 #define NUMNBER_GLYPH_HEIGHT_DOWN 0.6 #define NUMNBER_GLYPH_HEIGHT -0.3 #define TUPLET_LINE_THICK 0.02 #define TUPLET_BRACKET_HEIGHT 0.1 #define FIRST_TUPLET_DIGIT_DIST 0.2 #define TUPLET_MARKER_HEIGHT 0.7 #define DOT1POS (0.145 * LINE_DIST) #define DOT2POS (0.76 * LINE_DIST) #define DOT1_REST_POS (0.87 * LINE_DIST) #define DOT2_REST_POS (1.0 * LINE_DIST) #define DOT_RAD 0.05 #define WHOLE_NOTE_X_OFFS (0.43 * LINE_DIST) #define HALF_NOTE_X_OFFS (0.43 * LINE_DIST) #define WHOLE_NOTE_Y_OFFS (-0.217 * LINE_DIST) #define HALF_NOTE_Y_OFFS (0.2 * LINE_DIST) #define ACCIDENTAL_BASE_DIST (1.3 * LINE_DIST) #define MIN_SHIFT_X_DIFF (0.87 * LINE_DIST) #define START_ZOOM_LEVEL (ZOOMLEVELS / 2) #define BASE 66 #define FONT_FACTOR 0.97 #define START_TEMPO_INVERSE 500.0 #define NUMBERBASE 49 #define SIG_HALF (0.4 * LINE_DIST) #define Y_NUMRATOR_POS (-1.6 * LINE_DIST) #define Y_DENOMINATOR_POS (0.4 * LINE_DIST) #define AUX_LINE_OVER (0.435 * LINE_DIST) #define AUX_LINE_THICK (0.087 * LINE_DIST) #define MAX_LINE 30 #define MIN_LINE -MAX_LINE #define TIE_X_START (0.456 * LINE_DIST) #define TIE_X_START_LARGE (0.6 * LINE_DIST) #define MIN_TIE_LEN 1.2 #define TIE_Y_OFFS1 (1.74 * LINE_DIST) #define TIE_Y_OFFS2 (2.174 * LINE_DIST) #define TIE_X_RIGHT_OVER (3.48 * LINE_DIST) #define TIE_X_OFFS 0.5 #define D_TIE 0.1 #define MAX_TIE_INCR 1.5 #define MIN_TIE_INCR -1.5 #define SORTING_NONE 0 #define SORTING_LESS 1 #define SORTING_GREAT 2 #define STEM_DIR_NONE 0 #define STEM_DIR_UP 1 #define STEM_DIR_DOWN 2 #define LYRICS_FONT_SIZE 0.4 #define LYRICS_FONT "Sans" #define LYRICS_FONT_SLANT PANGO_STYLE_NORMAL #define LYRICS_FONT_WEIGHT PANGO_WEIGHT_NORMAL #define TITLE_FONT_SIZE 0.8 #define TITLE_FONT "Serif" #define TITLE_FONT_SLANT PANGO_STYLE_NORMAL #define TITLE_FONT_WEIGHT PANGO_WEIGHT_BOLD #define SUBJECT_FONT_SIZE 0.5 #define SUBJECT_FONT "Serif" #define SUBJECT_FONT_SLANT PANGO_STYLE_ITALIC #define SUBJECT_FONT_WEIGHT PANGO_WEIGHT_NORMAL #define COMPOSER_FONT_SIZE 0.5 #define COMPOSER_FONT "Sans" #define COMPOSER_FONT_SLANT PANGO_STYLE_NORMAL #define COMPOSER_FONT_WEIGHT PANGO_WEIGHT_BOLD #define ARRANGER_FONT_SIZE 0.5 #define ARRANGER_FONT "Sans" #define ARRANGER_FONT_SLANT PANGO_STYLE_NORMAL #define ARRANGER_FONT_WEIGHT PANGO_WEIGHT_NORMAL #define COPYRIGHT_FONT_SIZE 0.4 #define COPYRIGHT_FONT "Sans" #define COPYRIGHT_FONT_SLANT PANGO_STYLE_NORMAL #define COPYRIGHT_FONT_WEIGHT PANGO_WEIGHT_NORMAL #define STAFF_NAME_FONT_SIZE 0.4 #define STAFF_NAME_FONT "Serif" #define STAFF_NAME_FONT_SLANT PANGO_STYLE_NORMAL #define STAFF_NAME_FONT_WEIGHT PANGO_WEIGHT_NORMAL #define STAFF_SHORT_NAME_FONT_SIZE 0.4 #define STAFF_SHORT_NAME_FONT "Serif" #define STAFF_SHORT_NAME_FONT_SLANT PANGO_STYLE_NORMAL #define STAFF_SHORT_NAME_FONT_WEIGHT PANGO_WEIGHT_NORMAL #define TEXT_FONT_NAME_DEFAULT "Sans" #define TEXT_FONT_SIZE_DEFAULT 0.5 #define TEXT_FONT_SLANT_DEFAULT PANGO_STYLE_NORMAL #define TEXT_FONT_WEIGHT_DEFAULT PANGO_WEIGHT_NORMAL #define SYSTEM_INTENT_SEC_SPACE 0.2 #define SCORE_INFO_EXTRA_DIST 0.1 #define SCALE_GRANULARITY 50 #define SCALE_MIN 0.6 #define SCALE_MAX 1.4 #define TEXT_Y_OFFS (- 2.0 * LINE_DIST) #define LYRICS_HEIGHT 0.35 #define MAX_LYRICS_LINES 5 #define MAX_TEXT_LENGTH 10 /* WHOLE_NOTE divisable by 13, 12, ... 5, 4, 3, 2, 1 * and 20 * WHOLE_NOTE < 2^31 - 1 * permits 13plets and up to 20 whole notes per staff */ #define FACTOR (13*11*9*8*7*5) #define WHOLE_NOTE (128*FACTOR) #define NOTE_2 (WHOLE_NOTE/2) #define NOTE_4 (NOTE_2/2) #define NOTE_8 (NOTE_4/2) #define NOTE_16 (NOTE_8/2) #define NOTE_32 (NOTE_16/2) #define NOTE_64 (NOTE_32/2) #define NOTE_128 (NOTE_64/2) #define GRACE_DURATION NOTE_32 #define NORMAL_NOTE 0 #define CROSS_NOTE1 1 #define CROSS_NOTE2 2 #define RECT_NOTE1 3 #define RECT_NOTE2 4 #define TRIAG_NOTE1 5 #define TRIAG_NOTE2 6 #define CROSS_NOTE3 7 #define CROSS_NOTE4 8 #define TRIAG_NOTE3 9 #define QUAD_NOTE2 10 #define GUITAR_NOTE_STEM 11 #define GUITAR_NOTE_NO_STEM 12 #define OPEN_HIGH_HAT 13 #define CLOSED_HIGH_HAT 14 #define COUNT_OF_DRUMS_TO_CHOOSE_DURING_MIDI_IMPORT 9 #define OFFSET_TO_BE_USED_DURING_MIDI_IMPORT 1007 #define STROKEN_GRACE (NOTE_64/2) #define GRACE_8 (STROKEN_GRACE/2) #define GRACE_16 (GRACE_8/2) #define GRACE_NOTE_TIME NOTE_32 #define LENGH_FACTOR GRACE_16 #define GRACE_HEIGHT1 0.0 #define GRACE_HEIGHT2 0.1 #define GRACE_HEIGHT3 0.5 #define GRACE_HEAD_THICK 0.12 #define GRACE_HEAD_THICK_HALF (GRACE_HEAD_THICK / 2.0) #define GRACE_STEM_THICK 0.03 #define GRACE_BEAM_THICK 0.06 #define GRACE_BEAM_DIST 0.1 #define SIGN_BREATH1 3 #define SIGN_BREATH2 4 #define LILY_BREAH_SCRIPT_RCOMMA 0 #define LILY_BREAH_SCRIPT_UPBOW 1 #define SHIFT_MODE (1 << 0) #define INSERT_EREASE_MODE (1 << 1) #define KEYBOARD_CTRL_MODE (1 << 2) #define STAT_UP (1 << 0) #define STAT_SHARP (1 << 1) #define STAT_FLAT (1 << 2) #define STAT_NATURAL ((1 << 1) | (1 << 2)) #define STAT_DSHARP (1 << 3) #define STAT_DFLAT ((1 << 3) | (1 << 1)) #define ACCIDENTAL_MASK ((1 << 1) | (1 << 2) | (1 << 3)) #define STAT_STACC (1 << 4) #define STAT_PIZZ (1 << 5) #define STAT_TENUTO (1 << 6) #define STAT_SFORZATO (1 << 7) #define STAT_SFORZANDO (1 << 8) #define STAT_BOW_UP (1 << 9) #define STAT_BOW_DOWN (1 << 10) #define STAT_PED_ON (1 << 11) #define STAT_PED_OFF (1 << 12) #define STAT_TRILL (1 << 13) #define STAT_PRALL (1 << 14) #define STAT_MORDENT (1 << 15) #define STAT_OPEN (1 << 16) #define STAT_STACCATISSIMO (1 << 17) #define STAT_FERMATA (1 << 18) #define STAT_ARPEGGIO (1 << 19) #define STAT_BREAK_BEAM (1 << 20) #define STAT_FORCE_BEAM (1 << 21) #define STAT_USER_STEMDIR (1 << 22) #define STAT_USER_HIDDEN_REST (1 << 23) #define STAT_USER_PLACED_REST (1 << 24) #define STAT_TURN (1 << 25) #define STAT_REV_TURN (1 << 26) #define STAT_TREMOLO1 (0x1 << 27) #define STAT_TREMOLO2 (0x2 << 27) #define STAT_TREMOLO3 (0x3 << 27) #define STAT_TREMOLO4 (0x4 << 27) #define TREMOLO_MASK (0x7 << 27) #define CHORD_STAT_MASK (STAT_STACC | STAT_PIZZ | STAT_TENUTO | \ STAT_SFORZATO | STAT_SFORZANDO | STAT_BOW_UP | STAT_BOW_DOWN | \ STAT_PED_ON | STAT_PED_OFF | STAT_TRILL | STAT_PRALL | \ STAT_MORDENT | STAT_OPEN | STAT_STACCATISSIMO | STAT_FERMATA | STAT_ARPEGGIO | \ STAT_TURN | STAT_REV_TURN | TREMOLO_MASK ) #define VIRTUAL_NATURAL_OFFS -111 #define CLEF_SPACE 0.9 #define CLEF_POS 0.5 #define TIME_SIGNATURE_SPACE 0.37 #define SIG_X_SHIFT (0.87 * LINE_DIST) #define EXTRA_KEY_OFF 0.05 #define MEAS_BAR_SPACE (0.74 * LINE_DIST) #define RIGHT_DIST (0.174 * LINE_DIST) //#define EXTRA_SPACE (0.652 * LINE_DIST) //#define EXTRA_SPACE (0.2 * LINE_DIST) #define WHOLE_EXTRA_SPACE (2.6 * LINE_DIST) #define TIME_SYMBOL_NONE 0 #define TIME_SYMBOL_COMMON_TIME 1 #define TIME_SYMBOL_CUT_TIME 2 // real measure numbers #define MEASURE_NUMBER_X_POS -0.45 #define MEASURE_NUMBER_Y_POS -0.45 #define MEASURE_NUMBER_SLANT CAIRO_FONT_SLANT_ITALIC #define MEASURE_NUMBER_WEIGHT CAIRO_FONT_WEIGHT_NORMAL #define MEASNUMBER_SIZE 0.35 // for testing #define MEASURE_WEIGHT NOTE_4 #define MEASURE_NUMBER_Y_DIST 0.1 #define MEASURE_NUMBER_X_DIST 0.1 #define MEASURE_NUMBER_SIZE 0.3 #define TIME_SIG_WIDTH 0.5 #define MEASURE_SPREAD_STEP 0.1 #define MEASURE_MAX_SPREAD 2.0 #define MEASURE_MIN_SPREAD 0.4 #define MIN_NEAR_DIST 0.4 #define MIN_STAFF_BORDER_DIST 0.3 #define SEC_DIST_BELOW 0.3 #define SEC_DIST_ABOVE 0.1 #define MIN_SEC_DIST (2 * LINE_DIST) #define REP_NUM_XPOS 0.09 #define REP_NUM_YPOS 0.4 #define MAX_NON_FULL_REPOSITS 15 #define MAX_NOTES_PER_WITH_ACCIDENTALS_STAFF 50 #define TREBLE_CLEF 0 #define BASS_CLEF 1 #define ALTO_CLEF 2 #define SOPRAN_CLEF 3 #define TENOR_CLEF 4 #define NEUTRAL_CLEF1 5 #define NEUTRAL_CLEF2 6 #define NEUTRAL_CLEF3 7 #define MINCLEF_NUMBER TREBLE_CLEF #define MAXCLEF_NUMBER NEUTRAL_CLEF3 #define OCTUP_Y_TREBLE_DIST_DOWN 0.8 #define OCTUP_Y_TREBLE_DIST_UP -1.05 #define OCTUP_Y_BASS_DIST_DOWN 0.25 #define OCTUP_Y_BASS_DIST_UP -0.7 #define OCTUP_Y_ALTO_DIST_DOWN 0.5 #define OCTUP_Y_ALTO_DIST_UP -0.7 #define OCTUP_X_ALTO_DIST 0.15 #define DEMO_LINE_THICK 1.4 #define DEMO_LINE_BEGIN 10.0 #define DEMO_LINE_END 80.0 #define DEMO_LINE_YPOS 46.0 #define DEMO_LINE_DIST 9.6 #define DEMO_POS_FAK 44.0 #define MAX_MIDI_INPUT_CHORD 25 #define MAX_RECENT_FILES 8 #define START_EXTRA_SPACE (1.5 * LINE_DIST) #define OLDVALUES #ifdef OLDVALUES #define MINIMUM_EXTRA_SPACE (2.0 * LINE_DIST) #define MAXIMUM_EXTRA_SPACE (10.0 * LINE_DIST) #else #define MINIMUM_EXTRA_SPACE (0.0 * LINE_DIST) #define MAXIMUM_EXTRA_SPACE (5.0 * LINE_DIST) #endif #define MIN_SYSTEM_Y_DIST (1.2 * LINE_DIST) #define MAX_SYSTEM_Y_DIST (1.8 * LINE_DIST) #define REP_DOTS_X_DIST (0.8 * LINE_DIST) #define REP_DOTS_X_EXTRA_DIST (1.0 * LINE_DIST) #define REP_DOTS_Y1DIST (1.4 * LINE_DIST) #define REP_DOTS_Y2DIST (2.4 * LINE_DIST) #define REP_DOTS_RADIUS (0.2 * LINE_DIST) #define REPEAT_MEASURE_LINE_THICK 0.1 #define REP_THICK_LINE_DIST (0.6 * LINE_DIST) #define REP_DOUBLE_LINE_DIST (0.4 * LINE_DIST) #define V1RED 0xf800 #define V1GREEN 0x8b00 #define V1BLUE 0x3100 #define V2RED 0x0000 #define V2GREEN 0xb333 #define V2BLUE 0x0000 #define V3RED 0x2200 #define V3GREEN 0x5800 #define V3BLUE 0xe000 #define V4RED 0xb444 #define V4GREEN 0x4443 #define V4BLUE 0x0000 #define DCOLOR(x) ((double) (x) / (double) (1 << 16)) #define DSCOLOR(x) (0.6 * (double) (x) / (double) (1 << 16)) #define HIDD_RED 255 #define HIDD_GREEN 0 #define HIDD_BLUE 255 #define NOTE_ACTIVE_STATE_NONE 0 #define NOTE_ACTIVE_STATE_ON 1 #define NOTE_ACTIVE_STATE_OFF 2 #define TOLERANCE 0.05 #define MIN_REST_Y_VOICE_DIST 0.1 #define MAX_OVER_UNDER_LINES 12 #define OFFS_ARRAY_SIZE 115 #define OFFS_ARRAY_HALF (OFFS_ARRAY_SIZE / 2) #define X11_ICONS_DIM 25 #define X11_ICONS_BACK_DIM 35 #define X11_MINI_ICONS_DIM 20 #define X11_ICONS_BACK_MINI_DIM 25 #define MAX_SCREEN_DIM 100000 #define DBG_NO 0 #define DBG_TESTING 1 #define DBG_CRITICAL 2 #define SEGNO_SIGN (1 << 0) #define SEGNO_D_S_AL_CODA (1 << 1) #define SEGNO_D_S_AL_FINE (1 << 2) #define SEGNO_D_CAPO_AL_CODA (1 << 3) #define SEGNO_D_CAPO_AL_FINE (1 << 4) #define SEGNO_FINE (1 << 5) #define SEGNO_FINE2 (1 << 6) // "valid" fine (during replay) #define SEGNO_CODA (1 << 7) #define SEGNO_AL_CODA (1 << 8) #define SEGNO_AL_CODA2 (1 << 9) // "valid" al coda (during replay) /* Debug macros */ #define LAUS(var) (var), (var) / NOTE_64, (var) / NOTE_4 /* */ class NedNote; class NedChordOrRest; class NedMainWindow; class NedSystem; class NedStaff; class NedPage; class NedMeasure; class NedTools; class NedChordName; struct MidiPortStruct; struct MidiPortStruct { int client, port; char *name; }; struct addr_ref_str { void *ori, *copy; struct addr_ref_str *next; }; struct MidiListStruct { double tempoinverse; GList *notes; }; struct MidiEventStruct { unsigned short channel, segno_sign; unsigned long long midi_time; unsigned int type; #define PSEUDO_FLAG (0x1 << 17) // MidiEventStruct will be deleted before reply starts #define PSEUDO2_FLAG (0x1 << 18) // MidiEventStruct is kept during replay #define PSEUDO_MASK (0xffff << 16) #define NOTE_MASK (0xffff) #define PSEUDO_EVENT_MEASURE (PSEUDO_FLAG | 0x1) #define PSEUDO_EVENT_VOL_CHANGE (PSEUDO_FLAG | 0x2) #define PSEUDO_EVENT_RIT_START (PSEUDO2_FLAG | 0x1) #define PSEUDO_EVENT_RIT_STOP (PSEUDO2_FLAG | 0x2) #define PSEUDO_EVENT_CRES_START (PSEUDO2_FLAG | 0x4) #define PSEUDO_EVENT_CRES_STOP (PSEUDO2_FLAG | 0x8) #define PSEUDO_EVENT_TEMPO_CHANGE (PSEUDO2_FLAG | 0x10) #define PSEUDO_EVENT_KEY_CHANGE (PSEUDO2_FLAG | 0x20) unsigned char data2; unsigned char pgm; // for notes; unsigned char voice; double tempoinverse; int data1; NedNote *note; NedMeasure *measure; bool repetition; }; struct paper_info_struct { const char *name; int width, height; }; class NedBbox { public: double x, y, width, width_netto /* width without lyrics */, height; }; struct crescendo_info { unsigned int symbol; GList *listptr; unsigned long long midi_time; int volume; }; struct accel_info { unsigned int symbol; GList *listptr; unsigned long long midi_time; double tempo_inverse; }; class NedResource { public: static void initialize(); static void cleanup(); static char *getFontFileName() {return m_font_file_name;} static cairo_scaled_font_t *getScaledFont(int zoom_level); static double getStartZoomScale() {return m_zoom_factors[START_ZOOM_LEVEL];} static double getZoomFactor(int zoom_level); static void Abort(const char *s); static void DbgMsg(int level, const char *format, ...); static void Warning(const char *s); static void Info(const char *s); static cairo_text_extents_t fontextentions[ZOOMLEVELS][MAXELEMENTS]; static double m_braceOutline[16][6]; static double m_bracketEndOutline[5][6]; #ifndef HAS_SET_SCALED_FONT static cairo_font_face_t *getFontFace() {return m_font_face;} static cairo_matrix_t *getFontMatrix(int zoom_level); static cairo_font_options_t *getFontOptions() {return m_fontoptions;} #endif static GdkPixbuf *m_the_nted_icon; static GdkPixbuf *m_32ndnote_icon; static GdkPixbuf *m_64thnote_icon; static GdkPixbuf *m_eightnote_icon; static GdkPixbuf *m_eightnote_dot_icon; static GdkPixbuf *m_fullnote_icon; static GdkPixbuf *m_halfnote_icon; static GdkPixbuf *m_halfnote_dot_icon; static GdkPixbuf *m_quarternote_icon; static GdkPixbuf *m_quarternote_dot_icon; static GdkPixbuf *m_stroken_grace_icon; static GdkPixbuf *m_grace_eighth_icon; static GdkPixbuf *m_grace_sixth_icon; static GdkPixbuf *m_sixteenthnote_icon; static GdkPixbuf *m_sixteenthnote_dot_icon; static GdkPixbuf *m_rest_icon; static bool equalContent(GList *l1, GList *l2, NedChordOrRest *except, int *diff_pos); static GdkPixbuf *m_shift_mode_icon; static GdkPixbuf *m_insert_mode_icon; static GdkPixbuf *m_dot_icon; static GdkPixbuf *m_ddot_icon; static GdkPixbuf *m_cross_icon; static GdkPixbuf *m_flat_icon; static GdkPixbuf *m_natural_icon; static GdkPixbuf *m_tied_icon; static GdkPixbuf *m_arrow_up_icon; static GdkPixbuf *m_arrow_down_icon; static GdkPixbuf *m_arrow_left_icon; static GdkPixbuf *m_arrow_right_icon; static GdkPixbuf *m_treble_clef_icon; static GdkPixbuf *m_bass_clef_icon; static GdkPixbuf *m_alto_clef_icon; static GdkPixbuf *m_delete_staff_icon; static GdkPixbuf *m_delete_system_icon; static GdkPixbuf *m_color_icon; static GdkPixbuf *m_lyrics_icon; static GdkPixbuf *m_key_icon; static GdkPixbuf *m_tool_icon; static GdkPixbuf *m_normal_note_icon; static GdkPixbuf *m_drum1_icon; static GdkPixbuf *m_drum2_icon; static GdkPixbuf *m_drum3_icon; static GdkPixbuf *m_drum4_icon; static GdkPixbuf *m_drum5_icon; static GdkPixbuf *m_drum6_icon; static GdkPixbuf *m_drum7_icon; static GdkPixbuf *m_drum8_icon; static GdkPixbuf *m_drum9_icon; static GdkPixbuf *m_drum10_icon; static GdkPixbuf *m_drum11_icon; static GdkPixbuf *m_drum12_icon; static GdkPixbuf *m_guitar_note_icon; static GdkPixbuf *m_guitar_note_no_stem_icon; static GdkPixbuf *m_drum1_icon_small; static GdkPixbuf *m_drum2_icon_small; static GdkPixbuf *m_drum4_icon_small; static GdkPixbuf *m_drum6_icon_small; static GdkPixbuf *m_drum8_icon_small; static GdkPixbuf *m_drum3_icon_small; static GdkPixbuf *m_drum5_icon_small; static GdkPixbuf *m_drum7_icon_small; static GdkPixbuf *m_drum9_icon_small; static GdkPixbuf *m_drum10_icon_small; static GdkPixbuf *m_drum11_icon_small; static GdkPixbuf *m_drum12_icon_small; static GdkPixbuf *m_normal_note_icon_small; static GdkPixbuf *m_dcross_icon; static GdkPixbuf *m_dflat_icon; static GdkPixbuf *m_stacc_icon; static GdkPixbuf *m_staccatissimo_icon; static GdkPixbuf *m_str_pizz_icon; static GdkPixbuf *m_tenuto_icon; static GdkPixbuf *m_sforzato_icon; static GdkPixbuf *m_sforzando_icon; static GdkPixbuf *m_bow_up_icon; static GdkPixbuf *m_bow_down_icon; static GdkPixbuf *m_groupbeams_icon; static GdkPixbuf *m_isolate_icon; static GdkPixbuf *m_flipstem_icon; static GdkPixbuf *m_tremolo_icon1; static GdkPixbuf *m_tremolo_icon2; static GdkPixbuf *m_tremolo_icon3; static GdkPixbuf *m_tremolo_icon4; static GdkPixbuf *m_brace_icon; static GdkPixbuf *m_bracket_icon; static GdkPixbuf *m_ped_on_icon; static GdkPixbuf *m_ped_off_icon; static GdkPixbuf *m_trill_icon; static GdkPixbuf *m_prall_icon; static GdkPixbuf *m_open_icon; static GdkPixbuf *m_mordent_icon; static GdkPixbuf *m_fermata_icon; static GdkPixbuf *m_arpeggio_icon; static GdkPixbuf *m_turn_icon; static GdkPixbuf *m_revturn_icon; static GdkPixbuf *m_comm_icon; static GdkPixbuf *m_cut_icon; static GdkPixbuf *m_midikeyboard_icon; static GdkPixbuf *m_record_icon; static GdkPixbuf *m_lines; static int m_lines_buf_width, m_lines_buf_height; static GdkPixbuf *m_signs; static int m_signs_buf_width, m_signs_buf_height; static int m_drum_icons_width, m_drum_icons_height; static GdkPixbuf *m_background1; static GdkPixbuf *m_mini_background1; static GdkPixbuf *m_mini_background2; static GdkPixbuf *m_background2; static GdkPixbuf *m_backgroundv1; static GdkPixbuf *m_backgroundv2; static GdkPixbuf *m_backgroundh1; static GdkPixbuf *m_backgroundh2; static NedBbox m_acc_bbox; static double getFlagWidth() {return m_flag_width;} static char my_getc(FILE *fp); static void my_ungetc(char c, FILE *fp); static void unreadWord(char *word); static bool readWord(FILE *fp, char *word); static bool readWordWithNum(FILE *fp, char *word); static bool readWordWithAllChars(FILE *fp, char *word); static bool readWordOfLength(FILE *fp, char *word); static bool readString(FILE *fp, char *word); static bool readTillEnd(FILE *fp, char *word); static bool readInt(FILE *fp, int *val); static bool readUnsignedInt(FILE *fp, unsigned int *val); static bool readLong(FILE *fp, unsigned long long*val); static bool readHex(FILE *fp, int *val); static bool readFloat(FILE *fp, double *val); static bool removeWhiteSpaces(char **s); static void removeNonAsciiFromUTF8String(const gchar *s); static const char *m_error_message; static int m_input_line; static void startMidiInput(); static void stopMidiInput(); static void close_sequ(); static void MidiCtrl(unsigned int ctrl_param, int channel, int val); static void NoteOn(int channel, int pitch, int pgm, int vol); static void NoteOff(int channel, int pitch); static void SeqReset(); static void addMidiNoteEvent(unsigned short channel, unsigned char voice, unsigned int offset, unsigned int type, int data1, int pgm, unsigned short segno_sign, NedNote *note); static void addMidiCtrlEvent(unsigned short channel, unsigned int offset, unsigned int ctrl_param, int val); static void addTempoChange(unsigned int offset, double tempoinverse); static void addKeysigEntry(unsigned int offset, int chn, int key); static void addTempoChangeAbs(unsigned long long midi_time, double tempoinverse); static void addMeasureEntry(NedMeasure *measure); static void addTempoChange(double tempoinverse); static void addFermata(unsigned int offset); static void addPseudoEvent2(unsigned int offset, int event, int chn, int data); static void setStartVolume(unsigned char chn, int voice_idx, unsigned char vol); static void correctFermataTempo(); static void handleSegnos(); static void prepareMidiEventList(double tempo_inverse); static void startReplay(NedNote *startNote, double tempo_inverse); static void collectTempoEvents(GList **tempo_chords); static void copyAllBetweenMeasures(int start_measure_number, int alternative1_measure_number, int end_measure_number); static bool isPlaying() {return m_playing;} static bool m_midi_echo; static void stopReplay(); static void increaseSystemStartTime(unsigned long long system_duration); static const char *GM_Instruments[]; static int getNumInstruments(); static GList *listMidiOutDevices(int *index_of_subscribed_out_device); static GList *listMidiInDevices(int *index_of_subscribed_in_device); static void subscribe_out(int idx); static void subscribe_in(int idx); static void prepareAddrStruct(); static int addAddr(void *addr); static void addAddr(int marker, void *addr); static void *getAdressOfMarker(int marker); static int getMarkerOfAddress(void *addr); static void startMidiExport(FILE *fp, NedMainWindow *main_window); static void addLastFile(char *filename); static char *m_recent_files[MAX_RECENT_FILES]; static void addToRecentFiles(char *fname); static int getClefDist(int oldclef, int old_oct_offs, int newclef, int new_oct_offs); static void reset_tools(); static void playImmediately(int channel, int pgm, int num_midi_input_notes, int *midi_input_chord, int vol); static bool alsaSequencerOutOk() {return m_sequ_out != NULL;} static bool alsaSequencerInOk() {return m_sequ_in != NULL;} static bool m_avoid_immadiate_play; static struct paper_info_struct *getPaperInfo(const char *papername); static const char *m_print_cmd; static int m_width; static int m_height; static int m_tuplet_tab[14]; static GList *m_main_clip_board; static int m_number_of_first_selected_staff, m_number_of_last_selected_staff; #ifdef YELP_PATH static char *m_yelparg; #endif static GList *m_main_windows; static NedMainWindow *m_window_with_last_focus; static void appendTempFileName(char *fname); static const char *m_last_folder; static char *m_last_xml_dir; static char *m_last_midi_dir; static GList *clone_chords_and_rests(GList *group, bool remove_completely_hidden_voices); static void split_element(GList **elements, GList *sp_element, unsigned long long delta1, unsigned long long delta2); static bool test_for_incomplete_tuplets(GList *elements); static void showLicense(GtkWindow *parent); static bool selection_has_uncomplete_tuplets(GList *elements); static void setLengthField(unsigned int length_field_value) {m_length_field_value = length_field_value;} static unsigned int getPartLength(int *dotcount); static unsigned int getPartLength(int *dotcount, bool is_rest, bool build_whole_rests, unsigned int measure_duration); static void setLengthField2(unsigned long long measure_start, unsigned long long note_start, unsigned int length_field_value); static unsigned int getPartLength2(int *dotcount); static unsigned int getPartLength2(int *dotcount, bool is_rest, bool build_whole_rests, unsigned int measure_duration); static bool fittingDuration(unsigned int duration); static bool fittingPosition(unsigned long long position); static unsigned int subtime(struct timeval *future, struct timeval *now); static void addtime(struct timeval *now, unsigned int msecs, struct timeval *res); static unsigned long long getSystemStartTime() {return m_system_start_time;} static int determineLastLine(int treble_line, int clef); static const char *getLilyPondClefName(int clef_number); static const char *getLilyPondKeySigName(int keysig_number); static void writeLilyFreeChord(FILE *fp, NedChordName *chordname, unsigned int length, unsigned int duration, int dotcount, unsigned int *midi_len); static unsigned int getCurrentLength(); static int getCurrentNoteHead(); static unsigned int getStatus(); static bool getRestMode(); static int getDotCount(); static bool getTiedMode(); static void setButtons(unsigned int length, int dotcount, unsigned int chord_status, unsigned int note_status, bool isRest, bool tie_forward, int note_head); static void setNoteLengthButtons(unsigned int length); static void setToolboxTransient(NedMainWindow *w); static void popup_tools(NedMainWindow *w); static void resetSomeButtons(); static void resetButtons(); static void resetTieButton(); static void toggleButton(int nr); static void toggleRest(); static void toggleTie(); static void toggleDot(); static void toggleSharp(); static void toggleNatural(); static void toggleFlat(); static NedMainWindow *getMainwWindowWithLastFocus(); static NedStaff *m_recorded_staff; static void setMainwWindowWithFocus(NedMainWindow *w); static snd_seq_t *getMidiInSequ() {return m_sequ_in;} static snd_seq_t *getMidiOutSequ() {return m_sequ_out;} static gint m_toolboxX, m_toolboxY; private: static void printMidiEvent(MidiEventStruct *ev); static void handleVolAndTempoChanges(double tempo_inverse); static void removeAllPseudosEvents(); static GList *findListAtMeasure(int meas_number, NedMeasure **measure); static void addTimeOffsetAfter(GList *end_ptr, unsigned long long time_diff); static void subTimeOffsetAfter(GList *end_ptr, unsigned long long time_diff); static GList *cloneAllMidiEventsBetween(GList *start_ptr, GList *end_ptr, unsigned long long extra_offs); static void deleteAllBetween(GList *start_ptr, GList *end_ptr /* , unsigned long long time_diff */); static void handleDSalFine(bool da_capo); static void handleDSalCoda(bool da_capo); static struct paper_info_struct m_paper_info[]; static void process_midi_event(); static gboolean do_poll_midi_device(void *data); static gboolean stopImmediate(void *data); static int m_number_of_midi_poll_fds; static bool m_run_midi_in; static GList *m_midi_out_devices, *m_midi_in_devices; static GList *m_midi_events; static GList *m_play_ptr; static int m_handler_id; static snd_seq_addr_t m_alsa_out_addr; static snd_seq_addr_t m_alsa_in_addr; static snd_seq_addr_t m_alsa_out_dest_addr; static snd_seq_addr_t m_alsa_in_src_addr; static unsigned long long m_system_start_time; static int m_channel_pgms[16]; static int m_channel_volume[16][VOICE_COUNT]; static struct crescendo_info m_last_crescendo_info[16]; static double m_channel_volume_ratio[16][VOICE_COUNT]; static struct accel_info m_last_ritardando; static GList *m_addr_rel_list; static void write_config(); static void read_config(); static bool permtest(snd_seq_port_info_t *pinfo, unsigned int perm); static void placeMidiEvent(MidiEventStruct *ev); static int m_marker_counter; static gboolean playNext(void *data); static bool m_playing; static cairo_font_options_t *m_fontoptions; #ifndef HAS_SET_SCALED_FONT static cairo_matrix_t m_matrixes[ZOOMLEVELS]; #endif static void open_seq(); static cairo_font_face_t *m_font_face; static cairo_scaled_font_t *m_scaled_fonts[ZOOMLEVELS]; static char *m_font_file_name; static double m_zoom_factors[ZOOMLEVELS]; static cairo_scaled_font_t *createScaledFont(int zoom_level); static unsigned int m_length_field_value; static unsigned int m_part_start, m_part_end; static void init_fonts(char *font_file_name); static int loadfontface(char *font_file_name); static void loadPixmap(const guint8 *data, GdkPixbuf **pixbuf, const char *stock_id, int *width, int *height); static GtkIconFactory *m_icon_factory; static struct timeval m_expected_time; static NedTools *m_tools; static double m_flag_width; static char m_word_buffer[128]; static snd_seq_t *m_sequ_out; static snd_seq_t *m_sequ_in; static int m_count_of_last_imm_pitches; static snd_seq_event_t m_last_imm_notes[MAX_MIDI_INPUT_CHORD]; static GList *m_temp_file_names; static double m_tempo_inverse; static GList *m_fermata_list; static bool m_ds_al_coda_available, m_ds_al_fine_available; static bool m_d_capo_al_fine_available, m_d_capo_al_coda_available; }; #endif /* RESOURCE_H */ nted-1.10.18/linepoint.h0000664001041000007640000000517211520267230011711 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef LINE_POINT_H #define LINE_POINT_H #include "freereplaceable.h" #include class NedStaff; class NedLine; class NedCrescendo; class NedLinePoint : public NedFreeReplaceable { public: NedLinePoint(NedLine *line, int p_nr); NedLinePoint(NedLine *line, int p_nr, NedChordOrRest *element); NedLinePoint(NedLine *line, int p_nr, NedChordOrRest *element, double x, double y, bool relative); void getXYPosAndStaff(double *xpos, double *ypos, NedStaff **staff); virtual NedFreeReplaceable *clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area = NULL, NedMainWindow *main_window = NULL); virtual void adjust_pointers(struct addr_ref_str *slurlist); NedStaff *getStaff(); NedLinePoint *getLineStartPoint(); NedLinePoint *getLineEndPoint(); virtual void shift(double x, double y, double zoom_factor, double current_scale, double leftx, double topy); void setLine(NedLine *line) {m_line = line;} NedLine *getLine() {return m_line;} virtual void draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale); virtual int getType() {return FREE_PLACEABLE_LINE_POINT;} virtual void startContextDialog(GtkWidget *ref); virtual void toRel(); virtual void toRel2(); void virtual recompute(); int getNumber() {return m_point_number;} private: int m_point_number; NedLine *m_line; friend class NedLine; friend class NedCrescendo; }; #endif /* LINE_POINT_H */ nted-1.10.18/freereplaceable.cpp0000664001041000007640000002716111520267230013346 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "mainwindow.h" #include "volumesign.h" #include "chordorrest.h" #include "staff.h" #include "system.h" #include "page.h" #include "freereplaceable.h" #define X_POS_PAGE_REL(p) (((p) + m_element->getPage()->getContentXpos()) * zoom_factor - leftx) #define Y_POS_PAGE_REL(p) ((p) * zoom_factor - topy + (TOP_BOTTOM_BORDER + DEFAULT_BORDER)) #define X_POS_PAGE_REL_INVERSE(p) (((p) / current_scale + leftx) / zoom_factor - m_element->getPage()->getContentXpos()) //#define Y_POS_PAGE_REL_INVERSE(p) (((p) / current_scale + topy) / zoom_factor - (TOP_BOTTOM_BORDER + DEFAULT_BORDER)) #define Y_POS_PAGE_REL_INVERSE(p) (((p) / current_scale + topy - (TOP_BOTTOM_BORDER + DEFAULT_BORDER)) / zoom_factor) NedFreeReplaceable::NedFreeReplaceable() : m_abs(false), m_element(NULL), m_is_abs(false) {} NedFreeReplaceable::NedFreeReplaceable(NedChordOrRest *element) : m_abs(false), m_element(element), m_is_abs(false), m_element_at_move_start(element) { m_element->addFreeDislaceable(this); if (m_is_abs) { toRel(); } } NedFreeReplaceable::NedFreeReplaceable(NedChordOrRest *element, double x, double y, bool relative) : m_x(x), m_y(y), m_abs(false), m_element(element), m_is_abs(!relative), m_element_at_move_start(element) { m_element->addFreeDislaceable(this); if (m_is_abs) { toRel(); } m_x_at_start = m_x; m_y_at_start = m_y; m_yrel = m_y; } void NedFreeReplaceable::setElement(NedChordOrRest *element) { m_element = element; m_element->addFreeDislaceable(this); // friend !! m_element_at_move_start = element; } void NedFreeReplaceable::freeFromElement() { if (m_element == NULL) return; m_element->removeFreeDisplaceable(this); // friend !! } void NedFreeReplaceable::setXY(double x, double y, bool relative) { m_x = x; m_y = y; m_is_abs = !relative; if (m_is_abs) { toRel(); } m_x_at_start = m_x; m_y_at_start = m_y; m_yrel = m_y; computeBbox(); } double NedFreeReplaceable::getAbsoluteX() { if (m_is_abs) { return m_x; } return m_x + m_element->m_xpos; } double NedFreeReplaceable::getAbsoluteY() { if (m_is_abs) { return m_y; } return m_y + m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos(); } void NedFreeReplaceable::setThis() { if (m_element == NULL) return; m_element->getMainWindow()->m_selected_free_replaceable = this; } bool NedFreeReplaceable::isActive() { if (m_element == NULL) return false; return m_element->getMainWindow()->m_selected_free_replaceable == this; } void NedFreeReplaceable::getXYPos(double *xpos, double *ypos) { if (m_is_abs) { *xpos = m_x; *ypos = m_y; } else { *xpos = m_x + m_element->m_xpos; *ypos = m_y + m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos(); } } void NedFreeReplaceable::toAbs() { m_x_at_start = m_x; m_y_at_start = m_y; m_element_at_move_start = m_element; if (m_is_abs) return; m_x += m_element->m_xpos; m_y += m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos(); m_last_elements_y = m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos(); m_last_ref_x = m_x; m_last_ref_y = m_y; m_is_abs = true; } void NedFreeReplaceable::toRel() { if (!m_is_abs) return; m_x -= m_element->m_xpos; m_y -= m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos(); m_yrel = m_y; m_is_abs = false; computeBbox(); } void NedFreeReplaceable::shift(double x, double y, double zoom_factor, double current_scale, double leftx, double topy) { NedChordOrRest *newelement; NedPage *nextpage; double ydist, yd; if (!m_is_abs) { toAbs(); } #define CRITICAL_DIST 0.4 m_x = X_POS_PAGE_REL_INVERSE(x); m_y = Y_POS_PAGE_REL_INVERSE(y); if (m_x < 0.0) { if ((nextpage = m_element->getPage()->getPreviousPage()) == NULL) { m_x = 0.0; } else { newelement = nextpage->findNearestElement(-1, m_x, m_y, m_element ? m_element->getStaff() : NULL, &ydist); m_element->removeFreeDisplaceable(this); newelement->addFreeDislaceable(this); m_element = newelement; m_last_elements_y = m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos(); return; } } if (m_x > m_element->getPage()->getWidth()) { if ((nextpage = m_element->getPage()->getNextPage()) == NULL) { m_x = m_element->getPage()->getWidth() - LEFT_RIGHT_BORDER; } else { newelement = nextpage->findNearestElement(-1, m_x, m_y, m_element ? m_element->getStaff() : NULL, &ydist); m_element->removeFreeDisplaceable(this); newelement->addFreeDislaceable(this); m_element = newelement; m_last_elements_y = m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos(); return; } } if (m_y < TOP_BOTTOM_BORDER) m_y = TOP_BOTTOM_BORDER; if (m_y > m_element->getPage()->getHeight() - TOP_BOTTOM_BORDER) m_y = m_element->getPage()->getHeight() - TOP_BOTTOM_BORDER; if ((m_x - m_last_ref_x) * (m_x - m_last_ref_x) + (m_y - m_last_ref_y) * (m_y - m_last_ref_y) > CRITICAL_DIST) { newelement = m_element->getPage()->findNearestElement(-1, m_x, m_y, m_element ? m_element->getStaff() : NULL, &ydist); yd = m_y - m_last_elements_y; if (yd < 0.0) yd = -yd; if (m_element != newelement) { m_element->removeFreeDisplaceable(this); newelement->addFreeDislaceable(this); m_element = newelement; m_last_elements_y = m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos(); } } } void NedFreeReplaceable::shiftOnlyX(double x, double y, double zoom_factor, double current_scale, double leftx, double topy) { NedChordOrRest *newelement; NedPage *nextpage; int staff_nr; double ydist, yd, test_y; if (!m_is_abs) { toAbs(); } #define CRITICAL_DIST 0.4 m_x = X_POS_PAGE_REL_INVERSE(x); test_y = Y_POS_PAGE_REL_INVERSE(y); staff_nr = m_element->getStaff()->getStaffNumber(); if (m_x < 0.0) { if ((nextpage = m_element->getPage()->getPreviousPage()) == NULL) { m_x = 0.0; } else { newelement = nextpage->findNearestElement(staff_nr, m_x, test_y, m_element ? m_element->getStaff() : NULL, &ydist); m_element->removeFreeDisplaceable(this); newelement->addFreeDislaceable(this); m_element = newelement; m_last_elements_y = m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos(); return; } } if (m_x > m_element->getPage()->getWidth()) { if ((nextpage = m_element->getPage()->getNextPage()) == NULL) { m_x = m_element->getPage()->getWidth() - LEFT_RIGHT_BORDER; } else { newelement = nextpage->findNearestElement(staff_nr, m_x, test_y, m_element ? m_element->getStaff() : NULL, &ydist); m_element->removeFreeDisplaceable(this); newelement->addFreeDislaceable(this); m_element = newelement; m_last_elements_y = m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos(); return; } } if (test_y < TOP_BOTTOM_BORDER) test_y = TOP_BOTTOM_BORDER; if (test_y > m_element->getPage()->getHeight() - TOP_BOTTOM_BORDER) test_y = m_element->getPage()->getHeight() - TOP_BOTTOM_BORDER; if ((m_x - m_last_ref_x) * (m_x - m_last_ref_x) + (test_y - m_last_ref_y) * (test_y - m_last_ref_y) > CRITICAL_DIST) { newelement = m_element->getPage()->findNearestElement(staff_nr, m_x, test_y, m_element ? m_element->getStaff() : NULL, &ydist); yd = test_y - m_last_elements_y; if (yd < 0.0) yd = -yd; if (m_element != newelement) { if (m_element->getStaff() != newelement->getStaff()) { m_y += newelement->getSystem()->getYPos() + newelement->getStaff()->getMidPos() - ( m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos()); } m_element->removeFreeDisplaceable(this); newelement->addFreeDislaceable(this); m_element = newelement; m_last_elements_y = m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos(); } } } void NedFreeReplaceable::shiftOnlyY(int staff_nr, double y, double zoom_factor, double current_scale, double leftx, double topy) { NedChordOrRest *newelement; double dummy0 = 10000000.0, dummy; if (!m_is_abs) { toAbs(); } #define CRITICAL_DIST 0.4 m_y = Y_POS_PAGE_REL_INVERSE(y); if (m_y < TOP_BOTTOM_BORDER) m_y = TOP_BOTTOM_BORDER; if (m_y > m_element->getPage()->getHeight() - TOP_BOTTOM_BORDER) m_y = m_element->getPage()->getHeight() - TOP_BOTTOM_BORDER; if (m_element->getStaff()->getStaffNumber() != staff_nr) { newelement = m_element->getSystem()->findNearestElement(staff_nr, m_x, m_y, NULL, &dummy0, &dummy); if (m_element != newelement) { m_element->removeFreeDisplaceable(this); newelement->addFreeDislaceable(this); m_element = newelement; m_last_elements_y = m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos(); } } } bool NedFreeReplaceable::trySelect(double xl, double yl, double zoom_factor, double current_scale, double leftx, double topy) { bool ret; double x = X_POS_PAGE_REL_INVERSE(xl); double y = Y_POS_PAGE_REL_INVERSE(yl); double xx, yy; getXYPos(&xx, &yy); ret = ((xx - x) * (xx - x) + (yy - y) * (yy - y) < 0.15); if (ret) { setThis(); } return ret; } void NedFreeReplaceable::drawConnection(cairo_t *cr, double xpos, double ypos, double leftx, double topy, double zoom_factor) { cairo_new_path(cr); #define THIN_LINE_THICK 0.02 cairo_set_line_width(cr, zoom_factor * THIN_LINE_THICK); cairo_set_source_rgb (cr, 0.0, 0.8, 0.8); cairo_move_to(cr, X_POS_PAGE_REL(xpos), Y_POS_PAGE_REL(ypos)) ; cairo_line_to(cr, X_POS_PAGE_REL(m_element->getRealXpos()), Y_POS_PAGE_REL(m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos())); cairo_stroke(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } void NedFreeReplaceable::drawConnectionInFreeText(cairo_t *cr, double xpos, double ypos, double scale, double leftx, double topy, double zoom_factor) { cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * THIN_LINE_THICK); cairo_set_source_rgb (cr, 0.0, 0.8, 0.8); cairo_move_to(cr, scale * X_POS_PAGE_REL(xpos), scale * Y_POS_PAGE_REL(ypos)) ; cairo_line_to(cr, scale * X_POS_PAGE_REL(m_element->getRealXpos()), scale * Y_POS_PAGE_REL(m_element->getSystem()->getYPos() + m_element->getStaff()->getMidPos())); cairo_stroke(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } bool NedFreeReplaceable::less_than(NedFreeReplaceable *other) { NedPage *my_page, *other_page; NedStaff *my_staff, *other_staff; my_staff = m_element->getStaff(); other_staff = other->m_element->getStaff(); if (my_staff == other_staff) { return getAbsoluteX() < other->getAbsoluteX(); } my_page = my_staff->getPage(); other_page = other_staff->getPage(); if (my_page == other_page) { return my_staff->getSystem()->getSystemNumber() < other_staff->getSystem()->getSystemNumber(); } return my_page->getPageNumber() < other_page->getPageNumber(); } nted-1.10.18/idiotseditor/0000775001041000007640000000000011520270234012312 500000000000000nted-1.10.18/idiotseditor/idiotseditor.cpp0000664001041000007640000034302511520267221015451 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "idiotseditor.h" #include "chordorrest.h" #include "mainwindow.h" #include "temposign.h" #include "volumesign.h" #include "idcommandhistory.h" #include "changeidnotecommand.h" #include "idcommandlist.h" #include "note.h" #include #include #include "localization.h" #include #define STEP_DIVISION 10.0 #define ID_ZOOM_STEP (8.0 / 3.0) #define ID_MIN_ZOOM 0.25 #define ID_MAX_ZOOM 8.0 #define ID_DEFAULT_ZOOM 1.0 #define PIANO_PART_WIDTH 50 #define TUNE_NAME_X_START 10 #define TIME_SIG_TRACK_HEIGHT 8.0 #define TEMPO_TRACK_HEIGHT 8.0 #define SIGN_TRACK_HEIGHT 8.0 #define VOLUME_TRACK_HEIGHT 8.0 #define SPEC_TRACKS_HEIGHT (TIME_SIG_TRACK_HEIGHT + TEMPO_TRACK_HEIGHT + SIGN_TRACK_HEIGHT + VOLUME_TRACK_HEIGHT) #define NOTE_BORDER_LINE_THICK 4.0 #define NOTE_BORDER_LINE_THICK_2 (NOTE_BORDER_LINE_THICK / 2.0) #define SEP_LINE_THICK 2.0 #define BAR_LINE_THICK 3.0 #define NOTE_LINE_THICK 0.8 #define SEP_LINE_DIST 20.0 #define NOTE_SEP_THICK 4 #define NOTE_SEP_THICK_2 (NOTE_SEP_THICK / 2) #define SEP_LINE_BORDER (0.2 * SEP_LINE_DIST) #define ID_HEIGHT (120 - 4 + 1) * SEP_LINE_DIST #define START_HEIGHT 800 #define START_WIDTH 1000 #define MIN_VERTICAL_LINES_DIST 12.0 #define TREBLE_CLEF_UPPER_PITCH 88 #define BASS_CLEF_UPPER_PITCH 59 #define BASS_CLEF_LOWER_PITCH 33 #define PART_RELEVANT 10 /* % */ #define ALLOW1 4 #define ALLOW2 2 #define ALLOW3 4 #define DEFAULT_FREE_X_DIST -0.3 #define DEFAULT_FREE_Y_DIST -1.3 #define VOLUME_SIGN_Y_DIST 1.3 #define MOTION_MODE_NONE 0 #define MOTION_MODE_MOVE 1 #define MOTION_NODE_LEFT 2 #define MOTION_NODE_RIGHT 3 #define CHOOSE_HEAD(line) ((m_channel == 9) ? (((line + OFFSET_TO_BE_USED_DURING_MIDI_IMPORT) % COUNT_OF_DRUMS_TO_CHOOSE_DURING_MIDI_IMPORT) + 1) : NORMAL_NOTE ) #define X_POS(p) (PIANO_PART_WIDTH + (p) / FACTOR * zoom_value - xleft) #define PITCH_TO_YPOS(pi) ((116 - ((pi) - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT) #define POS_TO_PITCH(y) (((116 + 4) * SEP_LINE_DIST - (y) - SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT) / SEP_LINE_DIST + 0.5) #define WITH_SHOWING_ID_EDITOR const char *NedIdiotsEditor::guiDescription = "" " " " " " " " " " \n" " " " " " " " " " " " " " " " " " " " " " " " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" ""; const GtkActionEntry NedIdiotsEditor::file_entries[] = { { "IdFileMenu", NULL, _("_File")}, { "IdViewMenu", NULL, _("_View")}, { "IdEditMenu", NULL, _("_Edit") }, { "IdNew", GTK_STOCK_NEW, _("New"), NULL, _("New File"), NULL /* G_CALLBACK(new_file) */ }, { "IdOpen", GTK_STOCK_OPEN, _("Open ..."), "O", _("Open a file"), NULL /* G_CALLBACK(restore_score) */ }, { "IdExit", GTK_STOCK_QUIT, _("E_xit"), "Q", _("Exit the program"), G_CALLBACK(close_i_edit)}, {"IdzoomIn", GTK_STOCK_ZOOM_IN, "in", "plus", _("Zoom in Ctrl + +"), G_CALLBACK(zoom_in)}, {"IdzoomOut", GTK_STOCK_ZOOM_OUT, "out", "minus", _("Zoom out Ctrl + -"), G_CALLBACK(zoom_out)}, {"Idundo", GTK_STOCK_UNDO, _("undo"), "z", _("Undo Ctrl + z"), G_CALLBACK(do_undo)}, {"Idredo", GTK_STOCK_REDO, _("redo"), "y", _("Redo Ctrl + y"), G_CALLBACK(do_redo)} }; const char *NedIdiotsEditor::pitch_tab[] = { "E", "F", "F#", "G", "G#", "A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "C"}; NedIdNote::~NedIdNote() { GList *lptr; if (m_chordnotes != NULL) { for (lptr = g_list_first(m_chordnotes); lptr; lptr = g_list_next(lptr)) { delete (pitch_info *) lptr->data; } g_list_free(m_chordnotes); m_chordnotes = NULL; } for (int i = 0; i < 3; i++) { if (m_tripletnotes[i] != NULL) { delete m_tripletnotes[i]; m_tripletnotes[i] = NULL; } } } void NedIdNote::addPitch(int pitch, bool tiebackward) { GList *lptr; pitch_info *pi; int p; if (pitch == m_pitch) return; if (pitch < m_pitch) { p = pitch; pitch = m_pitch; m_pitch = p; } for (lptr = g_list_first(m_chordnotes); lptr; lptr = g_list_next(lptr)) { if (pitch == ((pitch_info* ) lptr->data)->m_pitch) return; if (pitch < ((pitch_info *) lptr->data)->m_pitch) { pi = new pitch_info(); pi->m_pitch = pitch; pi->m_tiebackward = tiebackward; m_chordnotes = g_list_insert_before(m_chordnotes, lptr, pi); return; } } pi = new pitch_info(); pi->m_pitch = pitch; pi->m_tiebackward = tiebackward; m_chordnotes = g_list_append(m_chordnotes, pi); } void NedIdNote::determineLines(int clef, int octave_shift, int key, char *offs_array) { pitch_info *pi; GList *lptr; int offs; m_line = NedNote::pitchToLine(m_pitch, clef, key, octave_shift, &offs); m_state = NedNote::determineState(m_pitch, m_line, offs, offs_array, key); for (lptr = g_list_first(m_chordnotes); lptr; lptr = g_list_next(lptr)) { pi = (pitch_info *) lptr->data; pi->m_line = NedNote::pitchToLine(pi->m_pitch, clef, key, octave_shift, &offs); pi->m_state = NedNote::determineState(pi->m_pitch, pi->m_line, offs, offs_array, key); } } NedIdNote *NedIdNote::cloneWithDifferentTime(unsigned long long sta, unsigned long long sto) { pitch_info *pi; GList *lptr; NedIdNote *cl = new NedIdNote(m_pitch, m_volume, sta, sto); cl->m_line = m_line; cl->m_state = m_state; cl->m_tiedbackward = true; for (lptr = g_list_first(m_chordnotes); lptr; lptr = g_list_next(lptr)) { pi = new pitch_info(); pi->m_pitch = ((pitch_info *) lptr->data)->m_pitch; pi->m_line = ((pitch_info *) lptr->data)->m_line; pi->m_state = ((pitch_info *) lptr->data)->m_state; cl->m_chordnotes = g_list_append(cl->m_chordnotes, pi); } return cl; } bool NedIdNote::isInRect(double x, double y, double zoom_value, double xleft, double ytop) { double startpos = X_POS(m_midi_start); double endpos = X_POS(m_midi_stop); double ypos = PITCH_TO_YPOS(m_pitch); if (x < startpos) return false; if (x > endpos) return false; if (y < ypos) return false; if (y > ypos + SEP_LINE_DIST - 2 * SEP_LINE_BORDER) return false; return true; } int NedIdiotsInstrument::m_mid_lines[4] = { 38, 50, 67, 79 }; NedIdiotsInstrument::NedIdiotsInstrument(NedIdiotsEditor *id_edit, int channel, int orig_channel, int midi_nr, int volume_change_density) : m_id_edit(id_edit), m_specials(NULL), m_selected_note(NULL), m_volume_change_density(volume_change_density), m_midi_nr(midi_nr), m_channel(channel), m_orig_channel(orig_channel), m_volume(64) {m_inst_name[0] = '\0'; for (int i = 0; i < VOICE_COUNT; m_notes[i++] = NULL);} NedIdiotsInstrument::~NedIdiotsInstrument() { GList *lptr; int voi; for (voi = 0; voi < VOICE_COUNT; voi++) { if (m_notes[voi] != NULL) { for (lptr = m_notes[voi]; lptr; lptr = g_list_next(lptr)) { delete (NedIdNote *) lptr->data; } g_list_free(m_notes[voi]); m_notes[voi] = NULL; } } if (m_specials != NULL) { for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { switch (((NedIdSpecial *) lptr->data)->m_type) { case ID_SPEC_VOLUME_CHANGE: delete (NedIdVolumeChange *) lptr->data; break; } } g_list_free(m_specials); m_specials = NULL; } } void NedIdiotsInstrument::draw(Display *dpy, Drawable d, GC xgc, GC x_border_gc, double zoom_value, double xleft, double ytop, double visible_start_pos, double visible_end_pos) { GList *lptr; NedIdNote *note; int voice; XSetLineAttributes(dpy, x_border_gc, NOTE_BORDER_LINE_THICK, LineSolid, CapRound, JoinMiter); XSetForeground(dpy, x_border_gc, 0x000000); //for (voice = 0; voice < VOICE_COUNT; voice++) { for (lptr = g_list_first(m_notes[0]); lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (!note->m_valid) continue; if (note->m_midi_start / FACTOR * zoom_value > visible_end_pos) continue; if (note->m_midi_stop / FACTOR * zoom_value < visible_start_pos) continue; if (note == m_selected_note && m_id_edit->motion_mode != MOTION_MODE_NONE) { XSetForeground(dpy, xgc, 0x00ff00); switch(m_id_edit->motion_mode) { case MOTION_MODE_MOVE: XFillRectangle(dpy, d, xgc, PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value - xleft + m_id_edit->getOffX(), (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT + m_id_edit->getOffY(), (note->m_midi_stop - note->m_midi_start) / FACTOR * zoom_value, SEP_LINE_DIST - 2 * SEP_LINE_BORDER); XDrawRectangle(dpy, d, x_border_gc, PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value - xleft + NOTE_BORDER_LINE_THICK_2 + m_id_edit->getOffX(), (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT + m_id_edit->getOffY(), (note->m_midi_stop - note->m_midi_start) / FACTOR * zoom_value - NOTE_BORDER_LINE_THICK_2, SEP_LINE_DIST - 2 * SEP_LINE_BORDER); break; case MOTION_NODE_LEFT: XFillRectangle(dpy, d, xgc, PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value - xleft + m_id_edit->getOffX(), (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT, (note->m_midi_stop - note->m_midi_start) / FACTOR * zoom_value - m_id_edit->getOffX(), SEP_LINE_DIST - 2 * SEP_LINE_BORDER); XDrawRectangle(dpy, d, x_border_gc, PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value - xleft + NOTE_BORDER_LINE_THICK_2 + m_id_edit->getOffX(), (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT, (note->m_midi_stop - note->m_midi_start) / FACTOR * zoom_value - NOTE_BORDER_LINE_THICK_2 - m_id_edit->getOffX(), SEP_LINE_DIST - 2 * SEP_LINE_BORDER); break; case MOTION_NODE_RIGHT: XFillRectangle(dpy, d, xgc, PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value - xleft, (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT, (note->m_midi_stop - note->m_midi_start) / FACTOR * zoom_value + m_id_edit->getOffX(), SEP_LINE_DIST - 2 * SEP_LINE_BORDER); XDrawRectangle(dpy, d, x_border_gc, PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value - xleft + NOTE_BORDER_LINE_THICK_2, (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT, (note->m_midi_stop - note->m_midi_start) / FACTOR * zoom_value - NOTE_BORDER_LINE_THICK_2 + m_id_edit->getOffX(), SEP_LINE_DIST - 2 * SEP_LINE_BORDER); break; } } else { XSetForeground(dpy, xgc, 0xff0000); XFillRectangle(dpy, d, xgc, PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value - xleft, (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT, (note->m_midi_stop - note->m_midi_start) / FACTOR * zoom_value, SEP_LINE_DIST - 2 * SEP_LINE_BORDER); XDrawRectangle(dpy, d, x_border_gc, PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value - xleft + NOTE_BORDER_LINE_THICK_2, (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT, (note->m_midi_stop - note->m_midi_start) / FACTOR * zoom_value - NOTE_BORDER_LINE_THICK_2, SEP_LINE_DIST - 2 * SEP_LINE_BORDER); } /* XDrawLine(dpy, d, xgc, PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value + NOTE_BORDER_LINE_THICK / 2.0 - xleft, (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT, PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value + NOTE_BORDER_LINE_THICK / 2.0 - xleft, (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_DIST - SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT); XDrawLine(dpy, d, xgc, PIANO_PART_WIDTH + note->m_midi_stop / FACTOR * zoom_value - NOTE_BORDER_LINE_THICK / 2.0 - xleft, (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT, PIANO_PART_WIDTH + note->m_midi_stop / FACTOR * zoom_value - NOTE_BORDER_LINE_THICK / 2.0 - xleft, (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_DIST - SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT); */ /* cairo_rectangle (cr, note->m_midi_start / FACTOR * zoom_value, (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER, (note->m_midi_stop - note->m_midi_start) / FACTOR * zoom_value, SEP_LINE_DIST - 2 * SEP_LINE_BORDER - SPEC_TRACKS_HEIGHT); */ } //} } void NedIdiotsInstrument::draw_specials(cairo_t *cr, double zoom_value, double xleft, double ytop, double visible_start_pos, double visible_end_pos) { GList *lptr; NedIdSpecial *spec; char Str[128]; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { spec = (NedIdSpecial *) lptr->data; if (spec->m_time / FACTOR * zoom_value > visible_end_pos) break; if (spec->m_time / FACTOR * zoom_value < visible_start_pos) continue; switch (spec->m_type) { case ID_SPEC_KEYSIG_CHANGE: sprintf(Str, "%d", ((NedIdKeysigChange *) spec)->m_key); cairo_new_path(cr); cairo_move_to(cr, PIANO_PART_WIDTH + spec->m_time / FACTOR * zoom_value - xleft, TIME_SIG_TRACK_HEIGHT + TEMPO_TRACK_HEIGHT + SIGN_TRACK_HEIGHT); cairo_show_text(cr, Str); cairo_stroke(cr); break; case ID_SPEC_VOLUME_CHANGE: sprintf(Str, "%d", ((NedIdVolumeChange *) spec)->m_volume); cairo_new_path(cr); cairo_move_to(cr, PIANO_PART_WIDTH + spec->m_time / FACTOR * zoom_value - xleft, TIME_SIG_TRACK_HEIGHT + TEMPO_TRACK_HEIGHT + SIGN_TRACK_HEIGHT + VOLUME_TRACK_HEIGHT); cairo_show_text(cr, Str); cairo_stroke(cr); break; default: NedResource::Abort("draw_specials"); } } } void NedIdiotsEditor::getMeasureNumber(unsigned long long start_time, int *num, int *denom) { GList *lptr; NedIdTimesigChange *found = NULL, *newfound; int numerator = 4, denominator = 4; unsigned long long duration = WHOLE_NOTE; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (((NedIdSpecial *) lptr->data)->m_time > start_time) break; if (((NedIdSpecial *) lptr->data)->m_type == ID_SPEC_TIME_SIG_CHANGE) { newfound = (NedIdTimesigChange *) lptr->data; numerator = newfound->m_numerator; denominator = newfound->m_denominator; if (found != NULL) { if (((newfound->m_time - found->m_time) % duration) != 0) { printf("start_time = %llu(%llu), %llu(%llu) - %llu(%llu) = %llu(%llu), duration = %llu(%llu) mod = %llu(%llu)\n", start_time, start_time/ NOTE_8, newfound->m_time, newfound->m_time / NOTE_8, found->m_time, found->m_time / NOTE_8, newfound->m_time - found->m_time, (newfound->m_time - found->m_time) / NOTE_8, duration, duration / NOTE_8, (newfound->m_time - found->m_time) % duration, ((newfound->m_time - found->m_time) % duration) / NOTE_8); fflush(stdout); NedResource::Abort("NedIdiotsEditor::getMeasureNumber"); } } found = newfound; duration = numerator * WHOLE_NOTE / denominator; } } *num = numerator; *denom = denominator; } unsigned long long NedIdiotsEditor::getMeasureStart(unsigned long long sample_time, bool endtime) { GList *lptr; double divide_d; int divide; NedIdTimesigChange *found = NULL, *newfound; int numerator = 4, denominator = 4; unsigned long long duration = WHOLE_NOTE; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (!endtime && ((NedIdSpecial *) lptr->data)->m_time > sample_time) break; if (endtime && ((NedIdSpecial *) lptr->data)->m_time >= sample_time) break; if (((NedIdSpecial *) lptr->data)->m_type == ID_SPEC_TIME_SIG_CHANGE) { newfound = (NedIdTimesigChange *) lptr->data; numerator = newfound->m_numerator; denominator = newfound->m_denominator; if (found != NULL) { if (((newfound->m_time - found->m_time) % duration) != 0) { printf("sample_time = %llu(%llu), %llu(%llu) - %llu(%llu) = %llu(%llu), duration = %llu(%llu) mod = %llu(%llu)\n", sample_time, sample_time/ NOTE_8, newfound->m_time, newfound->m_time / NOTE_8, found->m_time, found->m_time / NOTE_8, newfound->m_time - found->m_time, (newfound->m_time - found->m_time) / NOTE_8, duration, duration / NOTE_8, (newfound->m_time - found->m_time) % duration, ((newfound->m_time - found->m_time) % duration) / NOTE_8); fflush(stdout); NedResource::Abort("NedIdiotsEditor::getMeasureStart(1)"); } } found = newfound; duration = numerator * WHOLE_NOTE / denominator; } } if (found == NULL) { divide_d = (double) sample_time / (double) duration; divide = (int) divide_d; return (unsigned long long) divide * (unsigned long long) duration; } if (sample_time < found->m_time) { NedResource::Abort("NedIdiotsEditor::getMeasureStart(2)"); } divide_d = (double) (sample_time - found->m_time) / (double) duration; divide = (int) divide_d; return found->m_time + (unsigned long long) divide * duration; } GList* NedIdiotsInstrument::trySplitInstrument(bool force_piano, bool dont_split) { NedIdNote *note; int i, idx, dist, mindist; GList *lptr; GList *deleted_note_ptrs = NULL; int sum = 1; int max_idx, max_sum; int part_sums[4]; NedIdiotsInstrument *newinstruments[4]; GList *instruments_list = NULL; bool first; for (i = 0; i < 4; i++) { part_sums[i] = 0; newinstruments[i] = NULL; } for (lptr = g_list_first(m_notes[0]); lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (!note->m_valid) continue; sum++; if (note->m_pitch > TREBLE_CLEF_UPPER_PITCH) part_sums[3]++; else if (note->m_pitch > BASS_CLEF_UPPER_PITCH) part_sums[2]++; else if (note->m_pitch > BASS_CLEF_LOWER_PITCH) part_sums[1]++; else part_sums[0]++; } if (force_piano || m_channel == 9) { part_sums[2] += part_sums[3]; part_sums[3] = 0; part_sums[1] += part_sums[0]; part_sums[0] = 0; } if (!dont_split) { first = true; for (i = 3; i >= 0; i--) { if (part_sums[i] * 100 / sum > PART_RELEVANT) { if (first) { first = false; newinstruments[i] = this; } else { newinstruments[i] = new NedIdiotsInstrument(m_id_edit, m_channel, m_orig_channel, m_midi_nr, m_volume_change_density); if (m_inst_name[0] != '\0') { strcpy(newinstruments[i]->m_inst_name, m_inst_name); } newinstruments[i]->m_volume = m_volume; newinstruments[i]->m_inst_number = m_inst_number; newinstruments[i]->m_specials = clone_specials(); } switch(i) { case 3: newinstruments[i]->m_clef = TREBLE_CLEF; newinstruments[i]->m_octave_shift = 12; break; case 2: newinstruments[i]->m_clef = (m_channel == 9) ? NEUTRAL_CLEF1 : TREBLE_CLEF; newinstruments[i]->m_octave_shift = 0; break; case 1: newinstruments[i]->m_clef = (m_channel == 9) ? NEUTRAL_CLEF2 : BASS_CLEF; newinstruments[i]->m_octave_shift = 0; break; default: newinstruments[i]->m_clef = BASS_CLEF; newinstruments[i]->m_octave_shift = -12; break; } } } } if (newinstruments[0] == NULL && newinstruments[1] == NULL && newinstruments[2] == NULL && newinstruments[3] == NULL) { max_idx = 0; max_sum = part_sums[0]; for (i = 1; i < 4; i++) { if (part_sums[i] > max_sum) { max_sum = part_sums[i]; max_idx = i; } } switch(max_idx) { case 3: m_clef = TREBLE_CLEF; m_octave_shift = 12; break; case 2: m_clef = (m_channel == 9) ? NEUTRAL_CLEF1 : TREBLE_CLEF; m_octave_shift = 0; break; case 1: m_clef = (m_channel == 9) ? NEUTRAL_CLEF2 : BASS_CLEF; m_octave_shift = 0; break; default: m_clef = BASS_CLEF; m_octave_shift = -12; break; } return NULL; } for (lptr = g_list_first(m_notes[0]); lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (!note->m_valid) continue; mindist = 1000; idx = -1; for (i = 0; i < 4; i++) { if (newinstruments[i] != NULL) { dist = note->m_pitch - m_mid_lines[i]; if (dist < 0) dist = -dist; if (dist < mindist) { mindist = dist; idx = i; } } } if (idx < 0) { NedResource::Abort("NedIdiotsInstrument::trySplitInstrument"); } if (newinstruments[idx] != this) { newinstruments[idx]->addNote(note); deleted_note_ptrs = g_list_append(deleted_note_ptrs, lptr); } } for (lptr = g_list_first(deleted_note_ptrs); lptr; lptr = g_list_next(lptr)) { m_notes[0] = g_list_delete_link(m_notes[0], (GList *) lptr->data); } g_list_free(deleted_note_ptrs); for (i = 3; i >= 0; i--) { if (newinstruments[i] == NULL) continue; if (newinstruments[i] == this) continue; instruments_list = g_list_append(instruments_list, newinstruments[i]); } return instruments_list; } void NedIdiotsInstrument::determineLines(NedIdiotsEditor *id) { char offs_array[115]; NedIdNote *note; bool first; int key; unsigned long long start_time = 0, end_time, measure_width; int numerator, denominator; id->getMeasureNumber(start_time, &numerator, &denominator); m_notes[0] = g_list_sort(m_notes[0], (gint (*)(const void*, const void*)) NedIdNote::compare_note_start); GList *lptr = g_list_first(m_notes[0]); do { memset(offs_array, 0, sizeof(offs_array)); measure_width = numerator * WHOLE_NOTE / denominator; end_time = start_time + measure_width; for (; lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (!note->m_valid) continue; if (note->m_midi_start < start_time) { NedResource::Abort("NedIdiotsInstrument::determineLines"); } if (note->m_midi_start >= end_time) break; if (note->m_is_triplet_note) { first = true; for (int i = 0; i < 3; i++) { if (note->m_tripletnotes[i] != NULL) { key = id->determine_key(note->m_tripletnotes[i]->m_midi_start, m_channel); note->m_tripletnotes[i]->determineLines(m_clef, m_octave_shift, key, offs_array); if (first) { first = false; note->m_line = note->m_tripletnotes[i]->m_line; note->m_state = note->m_tripletnotes[i]->m_state; note->m_pitch = note->m_tripletnotes[i]->m_pitch; } } } } else { key = id->determine_key(note->m_midi_start, m_channel); note->determineLines(m_clef, m_octave_shift, key, offs_array); } } id->getMeasureNumber(end_time, &numerator, &denominator); start_time = end_time; } while (lptr != NULL); } void NedIdiotsInstrument::splitNotesAtMeasureStart(NedIdiotsEditor *id) { char offs_array[115]; GList *lptr; NedIdNote * note; unsigned long long duration, start_time, end_time, split_time; int dist; int pitch; int pos; int voi; int key; for (voi = 0; voi < VOICE_COUNT; voi++) { for (lptr = g_list_first(m_notes[voi]); lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (!note->m_valid) continue; pos = g_list_position(m_notes[voi], lptr); duration = note->m_midi_stop - note->m_midi_start; if (duration > WHOLE_NOTE) duration = WHOLE_NOTE; start_time = note->m_midi_start; while ((split_time = id->getFirstSplitTime(start_time, note->m_midi_stop)) != 0) { if (note->m_is_triplet_note) { NedResource::Abort("NedIdiotsInstrument::splitNotesAtMeasureStart(1)"); } dist = (int) (split_time - note->m_midi_start); if ((unsigned int ) dist < duration / ALLOW1) { note->m_midi_start = split_time; if (note->m_max_stop > 0 && note->m_max_stop <= note->m_midi_start) { note->m_max_stop = 0; } note->fix_start = true; memset(offs_array, 0, sizeof(offs_array)); key = id->determine_key(note->m_midi_start, m_channel); note->determineLines(m_clef, m_octave_shift, key, offs_array); // because the start is now behind the new measure start_time = split_time; continue; } dist = (int) (note->m_midi_stop - start_time); if ((unsigned int) dist < duration / ALLOW1) { note->m_midi_stop = split_time; if (note->m_max_stop > 0 && note->m_max_stop <= note->m_midi_start) { NedResource::Abort("NedIdiotsInstrument::splitNotesAtMeasureStart(2)"); } note->fix_end = true; break; } if (note->m_midi_stop <= note->m_midi_start) { note->m_valid = false; break; } dist = note->m_midi_stop - note->m_midi_start; if ((unsigned int) dist < duration / ALLOW1) { note->m_valid = false; break; } end_time = note->m_midi_stop; pitch = note->m_pitch; note->m_midi_stop = split_time; if (note->m_max_stop > 0 && note->m_max_stop <= note->m_midi_start) { NedResource::Abort("NedIdiotsInstrument::splitNotesAtMeasureStart(3)"); } note->fix_end = true; if (end_time - split_time < NOTE_16) break; note = note->cloneWithDifferentTime(split_time, end_time); note->fix_start = true; if (note->m_max_stop > 0 && note->m_max_stop <= note->m_midi_start) { NedResource::Abort("NedIdiotsInstrument::splitNotesAtMeasureStart(4)"); } m_notes[voi] = g_list_insert(m_notes[voi], note, ++pos); memset(offs_array, 0, sizeof(offs_array)); key = id->determine_key(note->m_midi_start, m_channel); note->determineLines(m_clef, m_octave_shift, key, offs_array); // because the start is now behind the new measure start_time = split_time; if ((lptr = g_list_find(m_notes[voi], note)) == NULL) { NedResource::Abort("NedIdiotsInstrument::splitNotesAtMeasureStart(5)"); } } } m_notes[voi] = g_list_sort(m_notes[voi], (gint (*)(const void*, const void*)) NedIdNote::compare_note_start); } } void NedIdiotsInstrument::snapStartOfNotes(NedIdiotsEditor *id) { unsigned long long start_time, snap, divide; double divide_d; int duration; GList *lptr; NedIdNote *note; unsigned long long pow2dist, pow23dist; for (lptr = g_list_first(m_notes[0]); lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (!note->m_valid) continue; start_time = id->getMeasureStart(note->m_midi_start, false); duration = (int) (note->m_midi_stop - note->m_midi_start); if (duration > NOTE_8) duration = NOTE_8; for (snap = NOTE_64; snap < NOTE_4 && snap < (unsigned int) duration / ALLOW2; snap <<= 1); divide_d = (double) (note->m_midi_start - start_time) / (double) snap; divide = (unsigned long long) (divide_d + 0.5); note->m_midi_start = start_time + divide * snap; if (note->m_midi_stop < note->m_midi_start) { note->m_valid = false; } } m_notes[0] = g_list_sort(m_notes[0], (gint (*)(const void*, const void*)) NedIdNote::compare_note_start); for (lptr = g_list_first(m_notes[0]); lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (!note->m_valid) continue; start_time = id->getMeasureStart(note->m_midi_start, false); pow2dist = (note->m_ori_start > note->m_midi_start) ? (note->m_ori_start - note->m_midi_start) : (note->m_midi_start - note->m_ori_start); snap = NOTE_4 / 3; divide_d = (double) (note->m_ori_start - start_time) / (double) snap; divide = (unsigned long long) (divide_d + 0.5); //if (divide % 3 != 0) continue; note->m_tri_start = start_time + divide * snap; pow23dist = (note->m_tri_start > note->m_ori_start) ? ( note->m_tri_start - note->m_ori_start ) : (note->m_ori_start - note->m_tri_start); if ((int) divide >= 0 && (int) divide < 40) { note->m_tri_start_numerator = (pow23dist < pow2dist) ? ((int) divide) : 0; } } } void NedIdiotsInstrument::findChords(bool all_voices) { GList *lptr1, *lptr2; NedIdNote *note1, *note2; int dur1, dur2, dist, durmax; int i, max_voice = all_voices ? 4 : 1; for (i = 0; i < max_voice; i++) { for (lptr1 = g_list_first(m_notes[i]); lptr1; lptr1 = g_list_next(lptr1)) { note1 = (NedIdNote *) lptr1->data; if (!note1->m_valid) continue; if (note1->m_is_triplet_note) continue; for (lptr2 = g_list_next(lptr1); lptr2; lptr2 = g_list_next(lptr2)) { note2 = (NedIdNote *) lptr2->data; if (!note2->m_valid) continue; if (note2->m_is_triplet_note) continue; if (note2->m_midi_start >= note1->m_midi_stop) break; if (note1->m_midi_start != note2->m_midi_start) continue; dur1 = (int) (note1->m_midi_stop - note1->m_midi_start); dur2 = (int) (note2->m_midi_stop - note2->m_midi_start); durmax = (dur1 > dur2) ? dur1 : dur2; dist = (dur1 > dur2) ? (dur1 - dur2) : (dur2 - dur1); if (dist < durmax / 2) { note1->addPitch(note2->m_pitch, note2->m_tiedbackward); note2->m_valid = false; } } } } } bool NedIdiotsInstrument::newVolumeNeeded(unsigned long long time, int *new_volume) { GList *lptr; for (lptr = g_list_last(m_specials); lptr; lptr = g_list_previous(lptr)) { if (((NedIdSpecial *) lptr->data)->m_type != ID_SPEC_VOLUME_CHANGE) continue; if (((NedIdSpecial *) lptr->data)->m_time > time) continue; if (((NedIdVolumeChange *) lptr->data)->m_taken) return false; *new_volume = ((NedIdVolumeChange *) lptr->data)->m_volume; ((NedIdVolumeChange *) lptr->data)->m_taken = true; return true; } return false; } #define WEIGHT_PAUSE 4 #define WEIGHT_DOTTED_PAUSE 6 #define WEIGHT_DOTTED_NOTE 2 #define WEIGHT_NOTE 1 int NedIdiotsInstrument::compute_weight(unsigned long long sta, unsigned long long sto, bool is_rest) { int ndotcount = 0, rdotcount = 0; int ncount = 0, rcount = 0; int dotcount; unsigned int len2; if (sto < sta) { NedResource::Abort("NedIdiotsInstrument::compute_weight"); } NedResource::setLengthField((int) sto - sta); len2 = NedResource::getPartLength(&dotcount); while(len2) { if (is_rest) { if (dotcount != 0) { rdotcount++; } else { rcount++; } } else { if (dotcount != 0) { ndotcount++; } else { ncount++; } } len2 = NedResource::getPartLength(&dotcount); } return rcount * WEIGHT_PAUSE + ncount * WEIGHT_NOTE + rdotcount * WEIGHT_DOTTED_PAUSE + ndotcount * WEIGHT_DOTTED_NOTE; } unsigned long long NedIdiotsInstrument::findEndTime(unsigned long long sta, unsigned long long sto, unsigned long long max_stop, unsigned long long rest_end, unsigned long long measure_start) { unsigned long long duration, snap, i, minsnap = 0, mini = 0; int weight, minweight = 10000; if (rest_end < max_stop) { NedResource::Abort("NedIdiotsInstrument::findEndTime"); } duration = sto - sta; sto = sta + (duration >> 1); for (snap = NOTE_2; snap >= NOTE_64; snap >>= 1) { i = 0; while (true) { if (measure_start + i * snap <= sto) {i++; continue;} if (measure_start + i * snap > max_stop) break; weight = compute_weight(sta, measure_start + i * snap, false); weight += compute_weight(measure_start + i * snap, rest_end, true); if (weight < minweight) { minweight = weight; mini = i; minsnap = snap; } i++; } } if (minsnap != 0) { return measure_start + mini * minsnap; } return sto; } void NedIdiotsInstrument::enlargeNotesWithUnusualLength(NedIdiotsEditor *id) { NedIdNote *note, *note2; unsigned long long note_duration, new_end_time, max_end_time, start_time, end_time, measure_width; /* unsigned long long snap, minsnap, maxsnap, dist, mindist; */ int numerator, denominator; GList *lptr, *lptr2; m_notes[0] = g_list_sort(m_notes[0], (gint (*)(const void*, const void*)) NedIdNote::compare_note_start); start_time = 0; id->getMeasureNumber(start_time, &numerator, &denominator); lptr = g_list_first(m_notes[0]); do { measure_width = numerator * WHOLE_NOTE / denominator; end_time = start_time + measure_width; for (; lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (note->m_is_triplet_note) continue; if (!note->m_valid) continue; if (note->m_midi_start >= end_time) break; for (lptr2 = g_list_next(lptr); lptr2; lptr2 = g_list_next(lptr2)) { note2 = (NedIdNote *) lptr2->data; if (note2->m_midi_start == note->m_midi_start) continue; if (note2->m_valid) break; } if (lptr2 == NULL) { new_end_time = max_end_time = end_time; if (new_end_time <= note->m_midi_start) { NedResource::Abort("NedIdiotsInstrument::enlargeNotesWithUnusualLength(1)"); } } else { if (note2->m_midi_start > end_time) { new_end_time = max_end_time = end_time; if (new_end_time <= note->m_midi_start) { NedResource::Abort("NedIdiotsInstrument::enlargeNotesWithUnusualLength(2)"); } } else { new_end_time = max_end_time = note2->m_midi_start; note_duration = note->m_midi_stop - note->m_midi_start; if (max_end_time - note->m_midi_start < 3 * note_duration / 5) { new_end_time = max_end_time = end_time; } if (new_end_time <= note->m_midi_start) { NedResource::Abort("NedIdiotsInstrument::enlargeNotesWithUnusualLength(3)"); } } } note_duration = note->m_midi_stop - note->m_midi_start; if (note_duration < NOTE_8) { if (new_end_time - note->m_midi_start > (note_duration << 2)) { new_end_time = note->m_midi_start + (note_duration << 2); } } else { if (new_end_time - note->m_midi_start > (note_duration + (note_duration >> 1))) { new_end_time = note->m_midi_start + (note_duration + (note_duration >> 1)); } } note->m_max_stop = new_end_time; if (note->m_max_stop > 0 && note->m_max_stop <= note->m_midi_start) { //NedResource::Abort("NedIdiotsInstrument::enlargeNotesWithUnusualLength(4)"); note->m_valid = false; continue; } note->m_midi_stop = findEndTime(note->m_midi_start, note->m_midi_stop, new_end_time, max_end_time, start_time); /* note_duration = new_end_time - note->m_midi_start; mindist = WHOLE_NOTE; minsnap = 0; for (snap = WHOLE_NOTE; snap >= NOTE_64; snap >>= 1) { dist = (note_duration > snap ) ? (note_duration - snap) : (snap - note_duration); if (dist < mindist && note->m_midi_start + snap <= new_end_time) { mindist = dist; minsnap = snap; } } for (snap = NOTE_2 + NOTE_4; snap > NOTE_64; snap >>= 1) { dist = (note_duration > snap ) ? (note_duration - snap) : (snap - note_duration); if (dist < mindist && note->m_midi_start + snap <= new_end_time) { mindist = dist; minsnap = snap; } } if (minsnap > 0) { note->m_midi_stop = note->m_midi_start + minsnap; } */ } id->getMeasureNumber(end_time, &numerator, &denominator); start_time = end_time; } while (lptr != NULL); } void NedIdiotsInstrument::notesAus(char *s, int i) { GList *lptr; NedIdNote *note; printf("%s, voi %d:\n", s, i); for (lptr = g_list_first(m_notes[i]); lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; printf("\tnote(0x%p): %llu(%llu, %llu) - %llu(%llu,%llu), m_pitch = %d, m_line = %d, m_is_triplet_note = %d, m_valid = %d\n", note, LAUS(note->m_midi_start), LAUS(note->m_midi_stop), note->m_pitch, note->m_line, note->m_is_triplet_note, note->m_valid); if (note->m_is_triplet_note) { for (int i = 0; i <3; i++) { printf("\t\tnote(0x%p): %llu(%llu, %llu) - %llu(%llu,%llu), m_pitch = %d, m_line = %d, m_triplet_type = %d, m_valid = %d\n", note->m_tripletnotes[i], LAUS(note->m_tripletnotes[i]->m_midi_start), LAUS(note->m_tripletnotes[i]->m_midi_stop), note->m_tripletnotes[i]->m_pitch, note->m_tripletnotes[i]->m_line, note->m_tripletnotes[i]->m_is_triplet_note, note->m_tripletnotes[i]->m_valid); } } } fflush(stdout); } NedIdNote *NedIdiotsInstrument::findNote(GList *start, unsigned long long start_time, unsigned long long end_time, NedIdNote *not_note1, NedIdNote *not_note2) { NedIdNote *note; unsigned long long diff, dur; for (; start; start = g_list_next(start)) { note = (NedIdNote *) start->data; if (!note->m_valid) continue; if (note == not_note1) continue; if (note == not_note2) continue; if (note->m_ori_start > end_time) return NULL; diff = (start_time > note->m_ori_start) ? (start_time - note->m_ori_start) : ( note->m_ori_start - start_time); if (diff > NOTE_8) continue; dur = note->m_ori_stop - note->m_ori_start; diff = (dur > NOTE_4 / 3) ? (dur - NOTE_4 / 3) : (NOTE_4 / 3 - dur); if (diff > NOTE_8) continue; if (note->m_ori_stop - note->m_ori_start <= NOTE_32) continue; return note; } return NULL; } void NedIdiotsInstrument::recognizeTriplets(NedIdiotsEditor *id) { NedIdNote *note = NULL, *tri_note, *tri_array[40][3]; // worst case: 20/2 that is 40 quarter triplets unsigned long long start_time, end_time, measure_width; int numerator, denominator, i, j; GList *lptr_start, *lptr, *lptr2; GList *tri_notes = NULL; m_notes[0] = g_list_sort(m_notes[0], (gint (*)(const void*, const void*)) NedIdNote::compare_note_start); start_time = 0; id->getMeasureNumber(start_time, &numerator, &denominator); lptr = g_list_first(m_notes[0]); do { for (i = 0; i < 40; i++) { for (j = 0; j < 3; tri_array[i][j++] = NULL); } measure_width = numerator * WHOLE_NOTE / denominator; end_time = start_time + measure_width; lptr_start = lptr; for (; lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (!note->m_valid) continue; if (note->m_midi_start >= end_time) break; if (note->m_tri_start_numerator) { tri_array[note->m_tri_start_numerator / 3][note->m_tri_start_numerator % 3] = note; } } if (measure_width >= NOTE_4) { for (i = 0; i < 40; i++) { if (tri_array[i][1] && tri_array[i][1]->m_valid && start_time + (i + 1) * NOTE_4 <= end_time) { if ((tri_array[i][0] = findNote(lptr_start, start_time + i * NOTE_4, start_time + i * NOTE_4 + NOTE_8, tri_array[i][1], tri_array[i][2]))) { tri_note = new NedIdNote(tri_array[i][0]->m_pitch, tri_array[i][0]->m_volume, start_time + i * NOTE_4, start_time + (i + 1) * NOTE_4); tri_note->m_line = tri_array[i][0]->m_line; tri_note->m_state = tri_array[i][0]->m_state; tri_note->m_is_triplet_note = true; tri_notes = g_list_append(tri_notes, tri_note); for (j = 0; j < 2; j++) { tri_note->m_tripletnotes[j] = tri_array[i][j]; tri_array[i][j]->m_valid = false; // avoid normal treatment of these notes } if (tri_array[i][2] && tri_array[i][2]->m_valid) { tri_note->m_tripletnotes[2] = tri_array[i][2]; tri_array[i][2]->m_valid = false; // avoid normal treatment of these notes } } else if (tri_array[i][2] && tri_array[i][2]->m_valid) { tri_note = new NedIdNote(tri_array[i][1]->m_pitch, tri_array[i][1]->m_volume, start_time + i * NOTE_4, start_time + (i + 1) * NOTE_4); tri_note->m_is_triplet_note = true; tri_note->m_line = tri_array[i][1]->m_line; tri_note->m_state = tri_array[i][1]->m_state; tri_note->m_is_triplet_note = true; tri_notes = g_list_append(tri_notes, tri_note); for (j = 1; j < 3; j++) { // only 2 notes --> first ist a break tri_note->m_tripletnotes[j] = tri_array[i][j]; tri_array[i][j]->m_valid = false; // avoid normal treatment of these notes } } } } } id->getMeasureNumber(end_time, &numerator, &denominator); start_time = end_time; } while (lptr != NULL); for (lptr = g_list_first(tri_notes); lptr; lptr = g_list_next(lptr)) { tri_note = (NedIdNote *) lptr->data; for (i = 0; i < 3; i++) { if (tri_note->m_tripletnotes[i] != NULL) { if ((lptr2 = g_list_find(m_notes[0], tri_note->m_tripletnotes[i])) == NULL) { NedResource::Abort("NedIdiotsInstrument::recognizeTriplets(1)"); } m_notes[0] = g_list_delete_link(m_notes[0], lptr2); note->m_valid = true; } } } for (lptr = g_list_first(tri_notes); lptr; lptr = g_list_next(lptr)) { m_notes[0] = g_list_insert_sorted(m_notes[0], lptr->data, (gint (*)(const void*, const void*)) NedIdNote::compare_note_start); } g_list_free(tri_notes); } void NedIdiotsInstrument::enlargeNotesToAvoidSmallRests(NedIdiotsEditor *id) { NedIdNote *note, *note2; unsigned long long note_duration, max_end_time, new_end_time, start_time, end_time, measure_width; /* unsigned long long snap, minsnap, maxsnap, dist, mindist; */ int numerator, denominator; GList *lptr, *lptr2; int voi; for (voi = 0; voi < VOICE_COUNT; voi++) { m_notes[voi] = g_list_sort(m_notes[voi], (gint (*)(const void*, const void*)) NedIdNote::compare_note_start); start_time = 0; id->getMeasureNumber(start_time, &numerator, &denominator); lptr = g_list_first(m_notes[voi]); do { measure_width = numerator * WHOLE_NOTE / denominator; end_time = start_time + measure_width; for (; lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (!note->m_valid) continue; if (note->m_is_triplet_note) continue; if (note->fix_end) continue; if (note->m_midi_start >= end_time) break; for (lptr2 = g_list_next(lptr); lptr2; lptr2 = g_list_next(lptr2)) { note2 = (NedIdNote *) lptr2->data; if (note2->m_midi_start == note->m_midi_start) continue; if (note2->m_valid) break; } if (lptr2 == NULL || note2->m_midi_start > end_time) { new_end_time = max_end_time = end_time; } else { new_end_time = max_end_time = note2->m_midi_start; } if (new_end_time > end_time) { NedResource::Abort("NedIdiotsInstrument::enlargeNotesToAvoidSmallRests(1)"); } if (max_end_time > end_time) { NedResource::Abort("NedIdiotsInstrument::enlargeNotesToAvoidSmallRests(2)"); } /* if (note->m_max_stop > 0 && max_end_time > note->m_max_stop) { if (note->m_max_stop <= note->m_midi_start) { NedResource::Abort("NedIdiotsInstrument::enlargeNotesToAvoidSmallRests(3)"); } new_end_time = max_end_time = note->m_max_stop; } */ if (new_end_time > end_time) { NedResource::Abort("NedIdiotsInstrument::enlargeNotesToAvoidSmallRests(4)"); } note_duration = note->m_midi_stop - note->m_midi_start; if (note_duration < NOTE_16) { if (new_end_time - note->m_midi_start > (note_duration << 2)) { new_end_time = note->m_midi_start + (note_duration << 2); } } else { if (new_end_time - note->m_midi_start > (note_duration + (note_duration >> 1))) { new_end_time = note->m_midi_start + (note_duration + (note_duration >> 1)); } } if (new_end_time > end_time) { NedResource::Abort("NedIdiotsInstrument::enlargeNotesToAvoidSmallRests(5)"); } if (new_end_time > max_end_time) { NedResource::Abort("NedIdiotsInstrument::enlargeNotesToAvoidSmallRests(6)"); } note->m_midi_stop = findEndTime(note->m_midi_start, note->m_midi_stop, new_end_time, max_end_time, start_time); if (note->m_midi_stop > end_time) { NedResource::Abort("NedIdiotsInstrument::enlargeNotesToAvoidSmallRests(7)"); } /* note_duration = new_end_time - note->m_midi_start; mindist = WHOLE_NOTE; minsnap = 0; for (snap = WHOLE_NOTE; snap >= NOTE_64; snap >>= 1) { dist = (note_duration > snap ) ? (note_duration - snap) : (snap - note_duration); if (dist < mindist && note->m_midi_start + snap <= new_end_time) { mindist = dist; minsnap = snap; } } for (snap = NOTE_2 + NOTE_4; snap > NOTE_64; snap >>= 1) { dist = (note_duration > snap ) ? (note_duration - snap) : (snap - note_duration); if (dist < mindist && note->m_midi_start + snap <= new_end_time) { mindist = dist; minsnap = snap; } } if (minsnap > 0) { note->m_midi_stop = note->m_midi_start + minsnap; } */ } id->getMeasureNumber(end_time, &numerator, &denominator); start_time = end_time; } while (lptr != NULL); } } void NedIdiotsInstrument::computeVolume() { GList *lptr; NedIdNote *note; for (lptr = g_list_first(m_notes[0]); lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (!note->m_valid) continue; m_volume = note->m_volume; return; } } void NedIdiotsInstrument::findConflictingNotes() { GList *lptr1, *lptr2; NedIdNote *note1, *note2; GList *conflict_list_ptrs = NULL; GList *conflict_list_nts = NULL; int voi; for (voi = 0; voi < VOICE_COUNT; voi++) { m_notes[voi] = g_list_sort(m_notes[voi], (gint (*)(const void*, const void*)) NedIdNote::compare_note_start); for (lptr1 = g_list_first(m_notes[voi]); lptr1; lptr1 = g_list_next(lptr1)) { note1 = (NedIdNote *) lptr1->data; if (!note1->m_valid) continue; if (conflict_list_ptrs != NULL) { g_list_free(conflict_list_ptrs); } conflict_list_ptrs = NULL; if (conflict_list_nts != NULL) { g_list_free(conflict_list_nts); } conflict_list_nts = NULL; for (lptr2 = g_list_next(lptr1); lptr2; lptr2 = g_list_next(lptr2)) { note2 = (NedIdNote *) lptr2->data; if (!note2->m_valid) continue; if (note2->m_midi_start >= note1->m_midi_stop) break; if (note2->m_midi_start < note1->m_midi_stop) { conflict_list_ptrs = g_list_append(conflict_list_ptrs, lptr2); conflict_list_nts = g_list_append(conflict_list_nts, lptr2->data); } } for (lptr2 = g_list_first(conflict_list_ptrs); lptr2; lptr2 = g_list_next(lptr2)) { m_notes[voi] = g_list_delete_link(m_notes[voi], (GList *) (lptr2->data)); } if (voi < VOICE_COUNT - 1) { for (lptr2 = g_list_first(conflict_list_nts); lptr2; lptr2 = g_list_next(lptr2)) { m_notes[voi + 1] = g_list_append(m_notes[voi + 1], lptr2->data); } } } if (conflict_list_ptrs != NULL) { g_list_free(conflict_list_ptrs); conflict_list_ptrs = NULL; } if (conflict_list_nts != NULL) { g_list_free(conflict_list_nts); conflict_list_nts = NULL; } } for (voi = 0; voi < VOICE_COUNT; voi++) { for (lptr1 = g_list_first(m_notes[voi]); lptr1; lptr1 = g_list_next(lptr1)) { note1 = (NedIdNote *) lptr1->data; if (!note1->m_valid) continue; if (note1->m_max_stop > 0 && note1->m_max_stop <= note1->m_midi_start) { NedResource::Abort("NedIdiotsInstrument::findConflictingNotes"); } } } } void NedIdiotsInstrument::addSpecial(NedIdSpecial *spec) { m_specials = g_list_insert_sorted(m_specials, spec, (gint (*)(const void*, const void*)) NedIdSpecial::compare_specials); } GList *NedIdiotsInstrument::clone_specials() { GList *cl = NULL; GList *lptr; NedIdVolumeChange *vc0, *vc1; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { switch (((NedIdSpecial *) lptr->data)->m_type) { case ID_SPEC_VOLUME_CHANGE: vc0 = (NedIdVolumeChange *) lptr->data; vc1 = new NedIdVolumeChange(vc0->m_time, 0, vc0->m_volume); cl = g_list_insert_sorted(cl, vc1, (gint (*)(const void*, const void*)) NedIdSpecial::compare_specials); break; } } return cl; } int NedIdiotsInstrument::specCount() { return g_list_length(m_specials); } void NedIdiotsInstrument::generateVolumeSigns(int volume_change_density) { GList *lptr; int current_volume = -1000; int vol_dist; NedIdNote *note; NedIdVolumeChange *vc; for (lptr = g_list_first(m_notes[0]); lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (!note->m_valid) continue; vol_dist = note->m_volume - current_volume; if (vol_dist < 0) vol_dist = -vol_dist; if ((int) ((double) (vol_dist * 100) / /* 127.0 */ (double) (current_volume + 1) ) > volume_change_density) { vc = new NedIdVolumeChange(note->m_midi_start, 0, note->m_volume); m_specials = g_list_insert_sorted(m_specials, vc, (gint (*)(const void*, const void*)) NedIdSpecial::compare_specials); current_volume = note->m_volume; } } } GList * NedIdiotsInstrument::convertToNtEdNotes(NedIdiotsEditor *id, bool place_tempo_sigs, bool place_volume_or_key_signs, int voice_nr, unsigned long long last_time) { /* int j; */ pitch_info *pi; GList *notes = NULL; NedChordOrRest *chord_or_rest = NULL, *last_chord = NULL, *last_splitted_chord = NULL; int measure_nr = 0; int dotcount, len2; unsigned long long start_time = 0, end_time, current_time; unsigned long long measure_width; unsigned long long last_tempo_test = 0, last_key_test = 0; int numerator, denominator; int current_tempo = -1, newtempo, newvolume = 1000, newkey; int last_key = 0; NedVolumeSign *volsign; GList *lptr2; NedIdNote *note, *tri_note; NedNote *ned_note; bool first, tie_required; bool volume_set = false; if (voice_nr == 0) { generateVolumeSigns(id->getVolumeChangeDensity()); splitNotesAtMeasureStart(id); findChords(false); determineLines(id); enlargeNotesWithUnusualLength(id); findConflictingNotes(); enlargeNotesToAvoidSmallRests(id); //findChords(true); // after "splitNotesAtMeasureStart" new chords are possible } id->getMeasureNumber(start_time, &numerator, &denominator); GList *lptr = g_list_first(m_notes[voice_nr]); do { measure_nr++; current_time = start_time; measure_width = numerator * WHOLE_NOTE / denominator; end_time = start_time + measure_width; for (; lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (!note->m_valid) continue; if (note->m_midi_start < start_time) { NedResource::Abort("NedIdiotsInstrument::convertToNtEdNotes(1)"); } if (note->m_midi_start >= end_time) { NedResource::setLengthField(end_time - current_time); } else { NedResource::setLengthField(note->m_midi_start - current_time); } if (place_volume_or_key_signs && m_channel != 9 && id->newKeyNeeded(current_time, &newkey, &last_key_test)) { if (current_time != 0) { chord_or_rest = new NedChordOrRest(NULL, TYPE_KEYSIG, newkey, last_key, 0); notes = g_list_append(notes, chord_or_rest); } last_key = newkey; } len2 = NedResource::getPartLength(&dotcount, true, current_time == start_time && measure_width <= NOTE_4, measure_width); while (len2) { last_chord = NULL; chord_or_rest = new NedChordOrRest(NULL, TYPE_REST, false, 3 /* dummy */, dotcount, len2, NORMAL_NOTE, 0, 0); if (place_tempo_sigs && m_channel != 9 && id->newTempoNeeded(current_time, &newtempo, current_tempo, &last_tempo_test)) { new NedTempoSign(NOTE_4, newtempo, chord_or_rest, DEFAULT_FREE_X_DIST, DEFAULT_FREE_Y_DIST, true); current_tempo = newtempo; } current_time += chord_or_rest->getDuration(measure_width); notes = g_list_append(notes, chord_or_rest); len2 = NedResource::getPartLength(&dotcount, true, current_time == start_time, measure_width); } if (note->m_midi_start >= end_time) break; if (end_time < current_time + note->m_midi_stop - note->m_midi_start) { NedResource::Abort("NedIdiotsInstrument::convertToNtEdNotes(2a)"); } if (note->m_midi_stop < note->m_midi_start) { NedResource::Abort("NedIdiotsInstrument::convertToNtEdNotes(2)"); } if (place_volume_or_key_signs && m_channel != 9 && id->newKeyNeeded(current_time, &newkey, &last_key_test)) { if (current_time != 0) { chord_or_rest = new NedChordOrRest(NULL, TYPE_KEYSIG, newkey, last_key, 0); notes = g_list_append(notes, chord_or_rest); } last_key = newkey; } chord_or_rest = NULL; if (note->m_is_triplet_note) { for (int i = 0; i < 3; i++) { if ((tri_note = note->m_tripletnotes[i]) != NULL) { chord_or_rest = new NedChordOrRest(NULL, TYPE_CHORD, false, tri_note->m_line, 0, NOTE_8, CHOOSE_HEAD(tri_note->m_line), tri_note->m_state, 0); for (lptr2 = g_list_first(tri_note->m_chordnotes); lptr2; lptr2 = g_list_next(lptr2)) { pi = (pitch_info *) lptr2->data; ned_note = new NedNote(chord_or_rest, pi->m_line, CHOOSE_HEAD(pi->m_line), pi->m_state); chord_or_rest->insertNoteAt(ned_note); } } else { chord_or_rest = new NedChordOrRest(NULL, TYPE_REST, false, 3 /* dummy */, 0, NOTE_8, NORMAL_NOTE, 0, 0); } chord_or_rest->setTupletVal(3); notes = g_list_append(notes, chord_or_rest); } chord_or_rest->setLastTupletFlag(true); current_time += NOTE_4; last_chord = NULL; } else { first = true; last_splitted_chord = NULL; #define SPLIT2 #ifdef SPLIT2 NedResource::setLengthField2(start_time, note->m_midi_start, note->m_midi_stop - note->m_midi_start); len2 = NedResource::getPartLength2(&dotcount, false, true, measure_width); #else NedResource::setLengthField(note->m_midi_stop - note->m_midi_start); len2 = NedResource::getPartLength(&dotcount, false, true, measure_width); #endif while (len2) { chord_or_rest = new NedChordOrRest(NULL, TYPE_CHORD, false, note->m_line, dotcount, len2, CHOOSE_HEAD(note->m_line), note->m_state, 0); if (place_tempo_sigs && id->newTempoNeeded(current_time, &newtempo, current_tempo, &last_tempo_test)) { new NedTempoSign(NOTE_4, newtempo, chord_or_rest, DEFAULT_FREE_X_DIST, DEFAULT_FREE_Y_DIST, true); current_tempo = newtempo; } if (first && place_volume_or_key_signs && newVolumeNeeded(current_time, &newvolume)) { if (volume_set) { volsign = new NedVolumeSign(NedVolumeSign::determineKind(newvolume), chord_or_rest, DEFAULT_FREE_X_DIST, VOLUME_SIGN_Y_DIST, true); volsign->m_midi_volume = newvolume; } else { //m_volume = newvolume; } volume_set = true; } tie_required = (first && note->m_tiedbackward); for (lptr2 = g_list_first(note->m_chordnotes); lptr2; lptr2 = g_list_next(lptr2)) { pi = (pitch_info *) lptr2->data; ned_note = new NedNote(chord_or_rest, pi->m_line, CHOOSE_HEAD(pi->m_line), pi->m_state); tie_required = (tie_required || (first && pi->m_tiebackward)); chord_or_rest->insertNoteAt(ned_note); } if (tie_required) { if (last_chord == NULL) { fprintf(stderr, "cannot tie\n"); fflush(stderr); } else { last_chord->tieCompleteTo(chord_or_rest, false); last_chord = NULL; } } if (last_splitted_chord != NULL) { last_splitted_chord->tieCompleteTo(chord_or_rest, false); } last_splitted_chord = chord_or_rest; current_time += chord_or_rest->getDuration(measure_width); notes = g_list_append(notes, chord_or_rest); #ifdef SPLIT2 len2 = NedResource::getPartLength2(&dotcount, false, true, measure_width); #else len2 = NedResource::getPartLength(&dotcount, false, true, measure_width); #endif first = false; last_chord = chord_or_rest; } } } if (end_time < current_time) { printf("Crash: end_time = %llu(%llu, %llu), current_time = %llu(%llu, %llu)\n", end_time, end_time / NOTE_64, end_time / NOTE_4, current_time, current_time / NOTE_64, current_time / NOTE_4); fflush(stdout); NedResource::Abort("NedIdiotsInstrument::convertToNtEdNotes(3)"); } NedResource::setLengthField(end_time - current_time); if (place_volume_or_key_signs && id->newKeyNeeded(current_time, &newkey, &last_key_test)) { if (current_time != 0) { chord_or_rest = new NedChordOrRest(NULL, TYPE_KEYSIG, newkey, last_key, 0); notes = g_list_append(notes, chord_or_rest); } last_key = newkey; } len2 = NedResource::getPartLength(&dotcount, true, current_time == start_time && measure_width <= NOTE_4, measure_width); while (len2) { last_chord = NULL; chord_or_rest = new NedChordOrRest(NULL, TYPE_REST, false, 3 /* dummy */, dotcount, len2, NORMAL_NOTE, 0, 0); if (place_tempo_sigs && id->newTempoNeeded(current_time, &newtempo, current_tempo, &last_tempo_test)) { new NedTempoSign(NOTE_4, newtempo, chord_or_rest, DEFAULT_FREE_X_DIST, DEFAULT_FREE_Y_DIST, true); current_tempo = newtempo; } current_time += chord_or_rest->getDuration(measure_width); notes = g_list_append(notes, chord_or_rest); len2 = NedResource::getPartLength(&dotcount, true, current_time == start_time, measure_width); } if (end_time != current_time) { printf("Crash: end_time = %llu(%llu, %llu), current_time = %llu(%llu, %llu)\n", end_time, end_time / NOTE_64, end_time / NOTE_4, current_time, current_time / NOTE_64, current_time / NOTE_4); fflush(stdout); NedResource::Abort("NedIdiotsInstrument::convertToNtEdNotes(4)"); } id->getMeasureNumber(end_time, &numerator, &denominator); start_time = end_time; } while(end_time < last_time); /* } else { for (j = 0; j < measure_nr; j++) { chord_or_rest = new NedChordOrRest(NULL, TYPE_REST, true, 3, 0, WHOLE_NOTE, NORMAL_NOTE, 0, 0); notes = g_list_append(notes, chord_or_rest); } } */ return notes; } void NedIdiotsInstrument::addNote(int pitch, int volume, unsigned long long start, int midi_nr) { m_notes[0] = g_list_append(m_notes[0], new NedIdNote(pitch, volume, start)); } void NedIdiotsInstrument::addNote(NedIdNote *note) { m_notes[0] = g_list_append(m_notes[0], note); } void NedIdiotsInstrument::setInstrumentName(char *name) { strcpy(m_inst_name, name); } void NedIdiotsInstrument::closeNote(int pitch, unsigned long long end_time, int midi_nr) { GList *lptr; for (lptr = g_list_last(m_notes[0]); lptr; lptr = g_list_previous(lptr)) { if (((NedIdNote *) lptr->data)->m_pitch == pitch && !((NedIdNote *) lptr->data)->m_valid && ((NedIdNote *) lptr->data)->m_midi_start < end_time) { ((NedIdNote *) lptr->data)->m_midi_stop = ((NedIdNote *) lptr->data)->m_ori_stop = end_time; ((NedIdNote *) lptr->data)->m_valid = true; return; } } printf("cannot close note, inst = %d, pitch = %d\n", m_midi_nr, pitch); fflush(stdout); } #define MAX_BORDER_CLICK_DIST 5.4 void NedIdiotsInstrument::handle_button_press (GdkEventButton *event, double xleft, double ytop, double visible_start_pos, double visible_end_pos) { NedIdNote *note, *prev_selected; GList * lptr; double dist; double zoom_value = m_id_edit->getZoomValue(); prev_selected = m_selected_note; m_selected_note = NULL; for (lptr = g_list_first(m_notes[0]); lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (note->m_midi_start / FACTOR * zoom_value > visible_end_pos) continue; if (note->m_midi_stop / FACTOR * zoom_value < visible_start_pos) continue; double startpos = X_POS(note->m_midi_start); double endpos = X_POS(note->m_midi_stop); double ypos = PITCH_TO_YPOS(note->m_pitch); if (note->isInRect(event->x, event->y, zoom_value, xleft, ytop)) { m_selected_note = note; dist = event->x - startpos; if (dist < 0) dist = -dist; if (dist < MAX_BORDER_CLICK_DIST) { //printf("move start\n"); fflush(stdout); gdk_window_set_cursor (GDK_WINDOW(m_id_edit->getDrawingArea()->window), m_id_edit->getDoubldArrowCursor()); m_id_edit->motion_mode = MOTION_NODE_LEFT; } else { dist = event->x - endpos; if (dist < 0) dist = -dist; if (dist < MAX_BORDER_CLICK_DIST) { //printf("move end\n"); fflush(stdout); m_id_edit->motion_mode = MOTION_NODE_RIGHT; gdk_window_set_cursor (GDK_WINDOW(m_id_edit->getDrawingArea()->window), m_id_edit->getDoubldArrowCursor()); } else { //printf("move mid\n"); fflush(stdout); m_id_edit->motion_mode = MOTION_MODE_MOVE; gdk_window_set_cursor (GDK_WINDOW(m_id_edit->getDrawingArea()->window), m_id_edit->getFleurCursor()); } } } } if (m_selected_note == prev_selected) return; m_id_edit->repaint(); } NedIdiotsEditor::NedIdiotsEditor(int tempo_change_density, int volume_change_density, bool force_piano, bool sort_instruments, bool dont_split, bool X11Version /* = false */) : m_tempo_inverse(START_TEMPO_INVERSE), motion_mode(MOTION_MODE_NONE), m_zoom_value(ID_DEFAULT_ZOOM), m_force_piano(force_piano), m_tempo_change_density(tempo_change_density), m_volume_change_density(volume_change_density), m_current_instrument_number(0), m_channel_nr(0), m_last_inserted(NULL), m_sort_according_instrument(sort_instruments), m_dont_split(dont_split), m_X11version(X11Version), m_min_denom(1), m_instruments(NULL), m_specials(NULL), m_mouse_x(0.0), m_mouse_y(0.0), m_dpy(NULL), m_off_x(0.0), m_off_y(0.0) { m_pending_inst_name[0] = '\0'; GtkWidget *menubar; if (m_X11version) { GtkWidget *drawing_hbox; GdkColor bgcolor; GtkWidget *main_vbox; GtkWidget *toolbar; GtkWidget *hscrollbar; GtkWidget *vscrollbar; GtkAccelGroup *accel_group; #ifdef ORIORI GtkActionGroup *instrument_group; #endif m_command_history = new NedIdCommandHistory(this); GError *error; double min, max; m_main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (m_main_window), _("Idiot's editor")); gtk_window_set_default_size (GTK_WINDOW (m_main_window), 600, 400); m_menu_action_group = gtk_action_group_new ("IdMenuActions"); gtk_action_group_set_translation_domain(m_menu_action_group, NULL); gtk_action_group_add_actions (m_menu_action_group, file_entries, G_N_ELEMENTS (file_entries), (void *) this); m_ui_manager = gtk_ui_manager_new (); gtk_ui_manager_insert_action_group (m_ui_manager, m_menu_action_group, 0); accel_group = gtk_ui_manager_get_accel_group (m_ui_manager); gtk_window_add_accel_group (GTK_WINDOW (m_main_window), accel_group); error = NULL; if (!gtk_ui_manager_add_ui_from_string (m_ui_manager, guiDescription, -1, &error)) { g_message ("building menus failed: %s", error->message); g_error_free (error); NedResource::Abort("error"); } menubar = gtk_ui_manager_get_widget (m_ui_manager, "/IdMainMenu"); toolbar = gtk_ui_manager_get_widget (m_ui_manager, "/IdToolBar"); gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS); //table = gtk_notebook_new(); m_instrument_toolbar = gtk_toolbar_new(); m_instr_bu = gtk_radio_button_new_with_label(NULL, "Inst 1"); g_signal_connect (GTK_BUTTON(m_instr_bu), "pressed", G_CALLBACK (select_instrument), (void *) this); gtk_toolbar_append_widget(GTK_TOOLBAR(m_instrument_toolbar), m_instr_bu , NULL, NULL); m_drawing_area = gtk_drawing_area_new (); gtk_widget_set_double_buffered(m_drawing_area, FALSE); //gtk_widget_set_size_request(m_drawing_area, 16 * m_zoom_value , (int) ID_HEIGHT); gtk_widget_set_size_request(m_drawing_area, START_WIDTH, START_HEIGHT); m_hadjust = GTK_ADJUSTMENT(gtk_adjustment_new(0, 0, 100, 1, 100, START_WIDTH)); m_vadjust = GTK_ADJUSTMENT(gtk_adjustment_new(0, 0, ID_HEIGHT, 1, 10, START_HEIGHT)); hscrollbar = gtk_hscrollbar_new(m_hadjust); vscrollbar = gtk_vscrollbar_new(m_vadjust); bgcolor.pixel = 0; bgcolor.red = bgcolor.green = bgcolor.blue = 0xffff; gtk_widget_modify_bg(GTK_WIDGET(m_drawing_area), GTK_STATE_NORMAL, &bgcolor); /* GTK_WIDGET_SET_FLAGS(m_drawing_area, GTK_CAN_FOCUS); GTK_WIDGET_SET_FLAGS(m_main_window, GTK_CAN_FOCUS); GTK_WIDGET_SET_FLAGS(m_drawing_area, GTK_CAN_FOCUS); GTK_WIDGET_SET_FLAGS(m_main_window, GTK_CAN_FOCUS); gtk_widget_add_events(m_main_window, GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK ); gtk_widget_add_events(m_drawing_area, GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK ); gtk_widget_add_events(m_main_window, GDK_KEY_RELEASE_MASK ); gtk_widget_add_events(m_drawing_area, GDK_KEY_RELEASE_MASK ); */ /* gtk_widget_add_events(m_drawing_area, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); */ m_double_arrow = gdk_cursor_new(GDK_SB_H_DOUBLE_ARROW); m_pointer = gdk_cursor_new(GDK_LEFT_PTR); m_fleur = gdk_cursor_new(GDK_FLEUR); gtk_widget_add_events(m_drawing_area, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK ); g_signal_connect (m_drawing_area, "expose-event", G_CALLBACK (handle_expose), (void *) this); g_signal_connect (m_hadjust, "value-changed", G_CALLBACK (handle_scroll), (void *) this); g_signal_connect (m_vadjust, "value-changed", G_CALLBACK (handle_scroll), (void *) this); g_signal_connect (m_drawing_area, "size-allocate", G_CALLBACK (size_change_handler), (void *) this); g_signal_connect (m_drawing_area, "button-press-event", G_CALLBACK (handle_button_press), (void *) this); g_signal_connect (m_drawing_area, "motion-notify-event", G_CALLBACK (handle_motion), (void *) this); g_signal_connect (m_drawing_area, "button-release-event", G_CALLBACK (handle_button_release), (void *) this); /* g_signal_connect (m_drawing_area, "motion-notify-event", G_CALLBACK (handle_motion), (void *) this); g_signal_connect (m_drawing_area, "key-press-event", G_CALLBACK (key_press_handler), (void *) this); g_signal_connect (m_drawing_area, "key-release-event", G_CALLBACK (key_release_handler), (void *) this); g_signal_connect (m_drawing_area, "enter-notify-event", G_CALLBACK (window_enter_handler), (void *) this); g_signal_connect (m_drawing_area, "leave-notify-event", G_CALLBACK (window_leave_handler), (void *) this); g_signal_connect (m_drawing_area, "scroll-event", G_CALLBACK (scroll_event_handler), (void *) this); g_signal_connect (m_main_window, "delete-event", G_CALLBACK (handle_delete), (void *) this); g_signal_connect (m_page_selector, "value-changed", G_CALLBACK (handle_page_request), (void *) this); */ drawing_hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (drawing_hbox), m_drawing_area, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (drawing_hbox), vscrollbar, FALSE, FALSE, 0); main_vbox = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (main_vbox), menubar, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (main_vbox), toolbar, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (main_vbox), m_instrument_toolbar, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (main_vbox), drawing_hbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (main_vbox), hscrollbar, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (m_main_window), main_vbox); gtk_widget_show_all (m_main_window); g_object_get (m_vadjust, "lower", &min, "upper", &max, NULL); gtk_adjustment_set_value(GTK_ADJUSTMENT(m_vadjust), min + (max - min) / 3.0); } /* if (x11version) */ m_instruments = g_list_append(m_instruments, new NedIdiotsInstrument(this, m_channel_nr++, -2, -2, m_volume_change_density)); setLastTime(4 * NOTE_4); } NedIdiotsEditor::~NedIdiotsEditor() { GList *lptr; if (m_dpy != NULL) { XFreePixmap(m_dpy, m_back_image); } if (m_X11version) { gtk_widget_destroy(m_main_window); } if (m_instruments != NULL) { for (lptr = g_list_first(m_instruments); lptr; lptr = g_list_next(lptr)) { delete (NedIdiotsInstrument *) lptr->data; } g_list_free(m_instruments); m_instruments = NULL; } if (m_specials != NULL) { for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { delete (NedIdSpecial *) lptr->data; } g_list_free(m_specials); m_specials = NULL; } } void NedIdiotsEditor::initX11() { char *image_data; unsigned int i; bool ok = false; XGCValues vals; const char* font_names [] = { "-misc-*-bold-r-normal--13-*-*-*-*-*-*-*", "-*-*-bold-r-normal--13-*-*-*-*-*-*-*", "-*-*-bold-*-normal--13-*-*-*-*-*-*-*", "-*-*-bold-*-*--13-*-*-*-*-*-*-*", "-*-*-*-*-*--13-*-*-*-*-*-*-*"}; XFontStruct *font_info; if (m_dpy != NULL) return; GTK_WIDGET_UNSET_FLAGS (m_drawing_area, GTK_DOUBLE_BUFFERED); m_dpy = gdk_x11_drawable_get_xdisplay(m_drawing_area->window); m_win = gdk_x11_drawable_get_xid(m_drawing_area->window); m_screen = DefaultScreen(m_dpy); m_xgc = DefaultGC(m_dpy, m_screen); for (i = 0; i < sizeof(font_names) / sizeof(const char*); i++) { font_info = XLoadQueryFont(m_dpy, font_names[i]); if (font_info) { ok = true; break; } } if (ok) { XSetFont(m_dpy, m_xgc, font_info->fid); } else { fprintf(stderr, "XLoadQueryFont: failed loading font '%s'\n", font_names[(sizeof(font_names) / sizeof(const char*)) - 1]); } m_x_border_gc = XCreateGC(m_dpy, m_win, 0, &vals); if ((image_data = (char *) g_try_malloc(4 * m_drawing_area->allocation.width * m_drawing_area->allocation.height)) == NULL) { NedResource::Abort("NedIdiotsEditor::handle_map_event"); } m_back_image = XCreatePixmap(m_dpy, m_win, m_drawing_area->allocation.width, m_drawing_area->allocation.height, DefaultDepth(m_dpy, m_screen)); } gboolean NedIdiotsEditor::handle_button_press (GtkWidget *widget, GdkEventButton *event, gpointer data) { if (event->button != 1) return FALSE; NedIdiotsEditor *id_editor = (NedIdiotsEditor*) data; double visible_start_pos, visible_end_pos; double xleft = gtk_adjustment_get_value(id_editor->m_hadjust); double ytop = gtk_adjustment_get_value(id_editor->m_vadjust); int width = id_editor->m_drawing_area->allocation.width; int height = id_editor->m_drawing_area->allocation.height; visible_start_pos = xleft; visible_end_pos = xleft + width; id_editor->m_mouse_x = event->x; id_editor->m_mouse_y = event->y; NedIdiotsInstrument *inst = (NedIdiotsInstrument *) g_list_first(id_editor->m_instruments)->data; inst->handle_button_press(event, xleft, ytop, visible_start_pos, visible_end_pos); return FALSE; } gboolean NedIdiotsEditor::handle_motion (GtkWidget *widget, GdkEventMotion *event, gpointer data) { if ((event->state & GDK_BUTTON1_MASK) == 0) return FALSE; NedIdiotsEditor *id_editor = (NedIdiotsEditor*) data; if (id_editor->motion_mode == MOTION_MODE_NONE) return FALSE; NedIdiotsInstrument *inst = (NedIdiotsInstrument *) g_list_first(id_editor->m_instruments)->data; id_editor->m_off_x = event->x - id_editor->m_mouse_x; id_editor->m_off_y = event->y - id_editor->m_mouse_y; id_editor->repaint(); return FALSE; } gboolean NedIdiotsEditor::handle_button_release (GtkWidget *widget, GdkEventButton *event, gpointer data) { NedIdiotsEditor *id_editor = (NedIdiotsEditor*) data; double xleft = gtk_adjustment_get_value(id_editor->m_hadjust); double ytop = gtk_adjustment_get_value(id_editor->m_vadjust); double zoom_value = id_editor->getZoomValue(); gdk_window_set_cursor(GDK_WINDOW(id_editor->m_drawing_area->window), id_editor->m_pointer); NedIdiotsInstrument *inst = (NedIdiotsInstrument *) g_list_first(id_editor->m_instruments)->data; inst->recomputeNotes(zoom_value, xleft, ytop); id_editor->motion_mode = MOTION_MODE_NONE; id_editor->m_off_x = id_editor->m_off_y = 0.0; id_editor->repaint(); } void NedIdiotsInstrument::recomputeNotes(double zoom_value, double xleft, double ytop) { if (!m_selected_note) return; GList *lptr; NedIdNote *note; unsigned int f, snap, xpitch; double xstart, xend, ypos; unsigned int newstart, newstop; int newpitch; NedChangeIdNoteCommand *nidchange; NedIdCommandList *nidchange_cl; for (lptr = g_list_first(m_notes[0]); lptr; lptr = g_list_next(lptr)) { note = (NedIdNote *) lptr->data; if (note != m_selected_note) continue; switch(m_id_edit->motion_mode) { case MOTION_MODE_MOVE: ypos = (116 - (note->m_pitch - 4)) * SEP_LINE_DIST + SEP_LINE_BORDER - ytop - SPEC_TRACKS_HEIGHT; newpitch = POS_TO_PITCH(ypos + m_id_edit->getOffY()); xstart = PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value - xleft + m_id_edit->getOffX(); xend = PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value - xleft + m_id_edit->getOffX() + (note->m_midi_stop - note->m_midi_start) / FACTOR * zoom_value; newstart = (xstart - PIANO_PART_WIDTH + xleft) * FACTOR / zoom_value; newstop = (xend - PIANO_PART_WIDTH + xleft) * FACTOR / zoom_value; snap = WHOLE_NOTE / m_id_edit->getMinDenom(); f = (newstart + snap / 2) / snap; newstart = snap * f; f = (newstop + snap / 2) / snap; newstop = snap * f; nidchange = new NedChangeIdNoteCommand(note, newstart, newstop, newpitch); nidchange_cl = new NedIdCommandList(m_id_edit); nidchange_cl->addCommand(nidchange); nidchange->execute(); m_id_edit->getCommandHistory()->addCommandList(nidchange_cl); m_selected_note = NULL; return; case MOTION_NODE_LEFT: xstart = PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value - xleft + m_id_edit->getOffX(); newstart = (xstart - PIANO_PART_WIDTH + xleft) * FACTOR / zoom_value; snap = WHOLE_NOTE / m_id_edit->getMinDenom(); f = (newstart + snap / 2) / snap; newstart = snap * f; nidchange = new NedChangeIdNoteCommand(note, newstart, note->m_midi_stop, note->m_pitch); nidchange_cl = new NedIdCommandList(m_id_edit); nidchange_cl->addCommand(nidchange); nidchange->execute(); m_id_edit->getCommandHistory()->addCommandList(nidchange_cl); m_selected_note = NULL; return; case MOTION_NODE_RIGHT: xend = PIANO_PART_WIDTH + note->m_midi_start / FACTOR * zoom_value - xleft + m_id_edit->getOffX() + (note->m_midi_stop - note->m_midi_start) / FACTOR * zoom_value; newstop = (xend - PIANO_PART_WIDTH + xleft) * FACTOR / zoom_value; snap = WHOLE_NOTE / m_id_edit->getMinDenom(); f = (newstop + snap / 2) / snap; newstop = snap * f; m_selected_note = NULL; nidchange = new NedChangeIdNoteCommand(note, note->m_midi_start, newstop, note->m_pitch); nidchange_cl = new NedIdCommandList(m_id_edit); nidchange_cl->addCommand(nidchange); nidchange->execute(); m_id_edit->getCommandHistory()->addCommandList(nidchange_cl); return; default: return; } } } void NedIdiotsEditor::close_i_edit(GtkWidget *widget, void *data) { /* GList *lptr; */ NedIdiotsEditor *id_editor = (NedIdiotsEditor*) data; /* for (i = 0, lptr = g_list_first(id_editor->m_instruments); lptr; lptr = g_list_next(lptr), i++) { ((NedIdiotsInstrument *) lptr->data)->convertToNotes(id_editor, i, id_editor->m_last_time); } gtk_widget_destroy(id_editor->m_main_window); */ delete id_editor; } void NedIdiotsEditor::addTimeSigChange(unsigned long long time, int numerator, int denominator) { NedIdTimesigChange *time_sig_change; bool deleted; time_sig_change = new NedIdTimesigChange(time, 0, numerator, denominator); m_specials = g_list_insert_sorted(m_specials, time_sig_change, (gint (*)(const void*, const void*)) NedIdSpecial::compare_specials); do { correct_times_of_specials(); deleted = delete_double_specials(); } while (deleted); } void NedIdiotsEditor::addTempoChange(unsigned long long time, int tempo) { NedIdTempoChange *tempo_change; bool deleted; tempo_change = new NedIdTempoChange(time, 0, tempo); m_specials = g_list_insert_sorted(m_specials, tempo_change, (gint (*)(const void*, const void*)) NedIdSpecial::compare_specials); do { deleted = delete_double_specials(); } while (deleted); } bool NedIdiotsEditor::newTempoNeeded(unsigned long long current_time, int *newtempo, int current_tempo, unsigned long long *last_tempo_test) { GList *lptr; int tempo = -1; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (((NedIdSpecial *) lptr->data)->m_time <= *last_tempo_test) continue; if (((NedIdSpecial *) lptr->data)->m_time > current_time) break; if (((NedIdSpecial *) lptr->data)->m_type != ID_SPEC_TEMPO_CHANGE) continue; if (((NedIdTempoChange *) lptr->data)->m_used) continue; tempo = ((NedIdTempoChange *) lptr->data)->m_tempo; ((NedIdTempoChange *) lptr->data)->m_used = true; } if (tempo >= 0) { if (tempo == current_tempo) return false; *newtempo = tempo; *last_tempo_test = current_time; return true; } return false; } bool NedIdiotsEditor::newKeyNeeded(unsigned long long current_time, int *newkey, unsigned long long *last_key_test) { GList *lptr; int key = -100; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (((NedIdSpecial *) lptr->data)->m_time <= *last_key_test) continue; if (((NedIdSpecial *) lptr->data)->m_time > current_time) break; if (((NedIdSpecial *) lptr->data)->m_type != ID_SPEC_KEYSIG_CHANGE) continue; key = ((NedIdKeysigChange *) lptr->data)->m_key; } if (key > -100) { *newkey = key; *last_key_test = current_time; return true; } return false; } void NedIdiotsEditor::correct_times_of_specials() { unsigned long long last_measure_change_time = 0; unsigned long long time; unsigned long current_measure_length = WHOLE_NOTE; double measure_dist_d; unsigned int measure_dist; GList *lptr; bool time_changed; m_specials = g_list_sort(m_specials, (gint (*)(const void*, const void*)) NedIdSpecial::compare_specials); do { time_changed = false; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (last_measure_change_time > ((NedIdSpecial *)lptr->data)->m_time) { //time_changed = true; continue; } measure_dist_d = (double)(((NedIdSpecial *)lptr->data)->m_time - last_measure_change_time) / (double) current_measure_length; measure_dist = (unsigned int) measure_dist_d; time = last_measure_change_time + (unsigned long long) measure_dist * (unsigned long long) current_measure_length; if (time != ((NedIdSpecial *)lptr->data)->m_time) { time_changed = true; ((NedIdSpecial *)lptr->data)->m_time = time; } //((NedIdSpecial *)lptr->data)->m_time = time; //((NedIdSpecial *)lptr->data)->m_measure_number = last_measure_change_number + measure_dist; if (((NedIdSpecial *)lptr->data)->m_type == ID_SPEC_TIME_SIG_CHANGE) { current_measure_length = ((NedIdTimesigChange *)lptr->data)->m_numerator * WHOLE_NOTE / ((NedIdTimesigChange *)lptr->data)->m_denominator; last_measure_change_time = ((NedIdSpecial *)lptr->data)->m_time; } } if (time_changed) { m_specials = g_list_sort(m_specials, (gint (*)(const void*, const void*)) NedIdSpecial::compare_specials); } } while (time_changed); } bool NedIdiotsEditor::delete_double_specials() { int type = ID_SPEC_TIME_SIG_CHANGE; GList *lptr, *lptr2; bool del; bool deleted = false; NedIdSpecial *spec; unsigned long long time; for (type = ID_SPEC_TIME_SIG_CHANGE; type <= ID_SPEC_TEMPO_CHANGE; type++) { for(lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (((NedIdSpecial *)lptr->data)->m_type != type) continue; time = ((NedIdSpecial *)lptr->data)->m_time; del= false; for (lptr2 = g_list_first(m_specials); lptr2; lptr2 = g_list_next(lptr2)) { if (lptr2 == lptr) continue; if (((NedIdSpecial *)lptr2->data)->m_type != type) continue; if (((NedIdSpecial *)lptr2->data)->m_time == time) { del = true; deleted = true; spec = (NedIdSpecial *) lptr2->data; m_specials = g_list_delete_link(m_specials, lptr2); switch (spec->m_type) { case ID_SPEC_TIME_SIG_CHANGE: delete (NedIdTimesigChange *) spec; break; case ID_SPEC_TEMPO_CHANGE: delete (NedIdTempoChange *) spec; break; default: NedResource::Abort("delete_double_specials(1)"); break; } lptr2 = g_list_first(m_specials); } } if (del) { if ((lptr = g_list_find(m_specials, lptr->data)) == NULL) { NedResource::Abort("delete_double_specials(2)"); } } } } return deleted; } void NedIdiotsEditor::thin_out_temposigs() { GList *lptr; GList *del_list_ptr = NULL, *del_list_specials = NULL; int last_tempo = -1, tempo_dist, proz_dist; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (((NedIdSpecial *)lptr->data)->m_type != ID_SPEC_TEMPO_CHANGE) continue; tempo_dist = ((NedIdTempoChange *) lptr->data)->m_tempo - last_tempo; if (tempo_dist < 0) tempo_dist = -tempo_dist; proz_dist = (int) ((double) (tempo_dist * 100) / /*127.0*/ (double) (last_tempo + 1)); if (last_tempo > 0 && proz_dist < m_tempo_change_density) { del_list_ptr = g_list_append(del_list_ptr, lptr); del_list_specials = g_list_append(del_list_specials, lptr->data); } else { last_tempo = ((NedIdTempoChange *) lptr->data)->m_tempo; } } for (lptr = g_list_first(del_list_ptr); lptr; lptr = g_list_next(lptr)) { m_specials = g_list_delete_link(m_specials, (GList *) lptr->data); } for (lptr = g_list_first(del_list_specials); lptr; lptr = g_list_next(lptr)) { delete (NedIdTempoChange *) lptr->data; } g_list_free(del_list_ptr); g_list_free(del_list_specials); } int NedIdiotsEditor::determine_key(unsigned long long time, int channel) { GList *lptr; if (channel == 9) return 0; for (lptr = g_list_last(m_specials); lptr; lptr = g_list_previous(lptr)) { if (((NedIdSpecial *) lptr->data)->m_type != ID_SPEC_KEYSIG_CHANGE) continue; if (((NedIdSpecial *) lptr->data)->m_time <= time) return ((NedIdKeysigChange *) lptr->data)->m_key; } return 0; } void NedIdiotsEditor::getNumDenom(unsigned long long time, unsigned int *num, unsigned int *denom) { GList *lptr; *num = *denom = 4; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (((NedIdSpecial *)lptr->data)->m_time > time) break; if (((NedIdSpecial *)lptr->data)->m_type != ID_SPEC_TIME_SIG_CHANGE) continue; *num = ((NedIdTimesigChange *)lptr->data)->m_numerator; *denom = ((NedIdTimesigChange *)lptr->data)->m_denominator; } } char *NedIdiotsInstrument::getInstrumentName() { static char inst_name[128]; if (m_inst_name[0] != '\0') return m_inst_name; sprintf(inst_name, "Inst %d", m_inst_number + 1); return inst_name; } void NedIdiotsEditor::addNote(int pitch, int volume, unsigned long long start, int midi_nr, int chan) { GList *lptr; NedIdiotsInstrument *inst = NULL; for (lptr = g_list_first(m_instruments); lptr; lptr = g_list_next(lptr)) { if (((NedIdiotsInstrument *) lptr->data)->getMidiNr() == -2) { inst = (NedIdiotsInstrument *) lptr->data; inst->setMidiNr(midi_nr); inst->setOrigChannel(chan); inst->setChannel(chan); break; } if (m_sort_according_instrument) { if (((NedIdiotsInstrument *) lptr->data)->getMidiNr() == midi_nr) { inst = (NedIdiotsInstrument *) lptr->data; inst->setOrigChannel(chan); break; } } else { if (((NedIdiotsInstrument *) lptr->data)->getOrigChannel() == chan) { inst = (NedIdiotsInstrument *) lptr->data; break; } } } if (inst == NULL) { if (midi_nr == -1) { inst = new NedIdiotsInstrument(this, 9, chan, midi_nr, m_volume_change_density); } else { while (++m_channel_nr == 9); inst = new NedIdiotsInstrument(this, m_channel_nr, chan, midi_nr, m_volume_change_density); } m_instruments = g_list_append(m_instruments, inst); } inst->addNote(pitch, volume, start, midi_nr); m_last_inserted = inst; if (m_pending_inst_name[0] != '\0') { inst->setInstrumentName(m_pending_inst_name); m_pending_inst_name[0] = '\0'; } } void NedIdiotsEditor::addKeySig(unsigned long long time, int measure_number, int key) { NedIdKeysigChange* kc = new NedIdKeysigChange(time, measure_number, key); m_specials = g_list_insert_sorted(m_specials, kc, (gint (*)(const void*, const void*)) NedIdSpecial::compare_specials); } void NedIdiotsEditor::closeNote(int pitch, unsigned long long end_time, int midi_nr, int chan) { GList *lptr; for (lptr = g_list_first(m_instruments); lptr; lptr = g_list_next(lptr)) { if (m_sort_according_instrument) { if (((NedIdiotsInstrument *) lptr->data)->getMidiNr() != midi_nr) continue; } else { if (((NedIdiotsInstrument *) lptr->data)->getOrigChannel() != chan) continue; } ((NedIdiotsInstrument *) lptr->data)->closeNote(pitch, end_time, midi_nr); return; } fprintf(stderr, "cannot close note(1), midi_nr = %d\n", midi_nr); fflush(stderr); } gboolean NedIdiotsEditor::handle_expose (GtkWidget *widget, GdkEventExpose *event, gpointer data) { NedIdiotsEditor *id_editor = (NedIdiotsEditor*) data; #ifdef ORIORI if (id_editor->m_X11version) { #endif id_editor->draw_new(); #ifdef ORIORI } else { id_editor->draw(); } #endif return FALSE; } void NedIdiotsEditor::repaint() { if (!m_X11version) return; gdk_window_invalidate_rect (m_main_window->window, NULL, FALSE); gdk_window_invalidate_rect (m_drawing_area->window, NULL, FALSE); } void NedIdiotsEditor::handle_scroll(GtkAdjustment *adjustment, gpointer data) { NedIdiotsEditor *id_editor = (NedIdiotsEditor*) data; if (!id_editor->m_X11version) return; id_editor->repaint(); } void NedIdiotsEditor::setHadjust() { if (!m_X11version) return; m_hadjust->upper = m_paper_len * m_zoom_value; m_hadjust->page_size = m_drawing_area->allocation.width - PIANO_PART_WIDTH; m_hadjust->page_increment = (m_drawing_area->allocation.width - PIANO_PART_WIDTH) / STEP_DIVISION; } void NedIdiotsEditor::setVadjust() { if (!m_X11version) return; m_vadjust->upper = ID_HEIGHT - SPEC_TRACKS_HEIGHT; m_vadjust->page_size = m_drawing_area->allocation.height; m_vadjust->page_increment = m_drawing_area->allocation.height / STEP_DIVISION; } void NedIdiotsEditor::setLastTime(unsigned long long last_time) { GList *lptr; GtkWidget *instr_bu; int inst_num = 0; m_paper_len = last_time / FACTOR; m_last_time = last_time; //gtk_widget_set_size_request(m_drawing_area, (int) (m_paper_len * m_zoom_value) , (int) ID_HEIGHT); setHadjust(); /* printf("A:up = %f (l = %f, zv = %f), ps = %f, pi = %f\n", m_hadjust->upper, m_paper_len, m_zoom_value, m_hadjust->page_size, m_hadjust->page_increment); */ lptr = g_list_first(m_instruments); ((NedIdiotsInstrument *) lptr->data)->setInstNumber(inst_num); if (m_X11version) { gtk_button_set_label(GTK_BUTTON(m_instr_bu), ((NedIdiotsInstrument *) lptr->data)->getInstrumentName()); } for (inst_num++,lptr = g_list_next(lptr); lptr; lptr = g_list_next(lptr), inst_num++) { ((NedIdiotsInstrument *) lptr->data)->setInstNumber(inst_num); if (m_X11version) { instr_bu = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_instr_bu), ((NedIdiotsInstrument *) lptr->data)->getInstrumentName()); g_signal_connect (GTK_BUTTON(instr_bu), "pressed", G_CALLBACK (select_instrument), (void *) this); gtk_toolbar_append_widget(GTK_TOOLBAR(m_instrument_toolbar), instr_bu , NULL, NULL); } } if (m_X11version) { gtk_widget_hide (m_main_window); gtk_widget_show_all (m_main_window); } } #ifdef ORIORI void NedIdiotsEditor::draw () { int i; double x, y; int width, height; cairo_t *cr; unsigned int measure_width; unsigned long long current_time, time_dist; double d, measure_dist_d; int measure_dist; double start_pos_measure, end_pos_measure; double visible_start_pos, visible_end_pos; unsigned int current_dist, nominator_dist; int current_color; unsigned int curr_dnom; GList *lptr; unsigned int numerator = 4; unsigned int denominator = 4; x = gtk_adjustment_get_value(m_hadjust); y = gtk_adjustment_get_value(m_vadjust); width = m_drawing_area->allocation.width; height = m_drawing_area->allocation.height; cr = gdk_cairo_create (m_drawing_area->window); //cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE); #define BAR_COLOR 0.0, 0.0, 0.0 #define NOMINATOR_COLOR 0.0, 0.0, 0.8 #define HALF_COLOR 0.0, 0.1, 0.6 #define QUARTER_COLOR 0.0, 0.2, 0.5 #define EIGHTS_COLOR 0.5, 0.3, 0.4 #define COLOR_16 0.0, 0.4, 0.3 #define COLOR32 0.5, 0.5, 0.2 #define COLOR64 0.9, 0.6, 0.1 #ifdef ORIORI static double color_array[8][3] = { {BAR_COLOR}, {NOMINATOR_COLOR}, {HALF_COLOR}, {QUARTER_COLOR}, {EIGHTS_COLOR}, {COLOR_16}, {COLOR32}, {COLOR64}}; #endif cairo_new_path(cr); cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); cairo_rectangle (cr, PIANO_PART_WIDTH, SPEC_TRACKS_HEIGHT, width - PIANO_PART_WIDTH, height - SPEC_TRACKS_HEIGHT); cairo_fill(cr); cairo_set_line_width(cr, SEP_LINE_THICK); for (i = 4; i < 4 + 117; i++) { cairo_new_path(cr); if (strlen(pitch_tab[i-4]) > 1) { cairo_new_path(cr); cairo_set_source_rgb (cr, 0.8, 0.8, 0.8); cairo_rectangle (cr, PIANO_PART_WIDTH, (i - 4) * SEP_LINE_DIST - y - SPEC_TRACKS_HEIGHT, width - PIANO_PART_WIDTH, SEP_LINE_DIST); cairo_fill(cr); } cairo_new_path(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); if (y < (i - 3) * SEP_LINE_DIST && y + height > (i - 4) * SEP_LINE_DIST) { cairo_move_to(cr, PIANO_PART_WIDTH, (i - 4) * SEP_LINE_DIST - y - SPEC_TRACKS_HEIGHT); cairo_line_to(cr, width, (i - 4) * SEP_LINE_DIST - y - SPEC_TRACKS_HEIGHT); } cairo_stroke(cr); } visible_start_pos = x; /* current_time = 0; getNumDenom(current_time, &numerator, &denominator); */ measure_width = numerator * WHOLE_NOTE / FACTOR / denominator; start_pos_measure = 0; visible_end_pos = x + width; end_pos_measure = start_pos_measure + m_zoom_value * measure_width; /* while (end_pos_measure < visible_start_pos) { current_time += numerator * WHOLE_NOTE / denominator; getNumDenom(current_time, &numerator, &denominator); start_pos_measure = end_pos_measure; measure_width = numerator * WHOLE_NOTE / FACTOR / denominator; end_pos_measure = start_pos_measure + m_zoom_value * measure_width; } */ current_time = (unsigned long long) ((visible_start_pos * (double) FACTOR) / m_zoom_value); for (lptr = g_list_last(m_specials); lptr; lptr = g_list_previous(lptr)) { if (((NedIdSpecial *) lptr->data)->m_type != ID_SPEC_TIME_SIG_CHANGE) continue; measure_width = ((NedIdTimesigChange *) lptr->data)->m_numerator * WHOLE_NOTE / FACTOR / ((NedIdTimesigChange *) lptr->data)->m_denominator; if (((NedIdSpecial *) lptr->data)->m_time + measure_width * FACTOR <= current_time) break; } if (lptr != NULL) { time_dist = current_time - (((NedIdSpecial *) lptr->data)->m_time + measure_width * FACTOR); numerator = ((NedIdTimesigChange *) lptr->data)->m_numerator; denominator = ((NedIdTimesigChange *) lptr->data)->m_denominator; current_time = ((NedIdSpecial *) lptr->data)->m_time; measure_dist_d = (double) time_dist / (double) (measure_width * FACTOR); measure_dist = (int) measure_dist_d; unsigned long long add = (unsigned long long) measure_dist * (unsigned long long) measure_width * (unsigned long long) FACTOR; current_time += add; //printf("current_time = %llu(%llu), add = %llu(%llu)\n", current_time, current_time / NOTE_8, add, add / NOTE_8); fflush(stdout); //current_time += measure_dist * measure_width * FACTOR; start_pos_measure = current_time / FACTOR * m_zoom_value; } else { current_time = 0; measure_width = WHOLE_NOTE / FACTOR; start_pos_measure = 0; numerator = denominator = 4; } end_pos_measure = start_pos_measure + m_zoom_value * measure_width; while (start_pos_measure < visible_end_pos) { nominator_dist = measure_width / numerator; current_dist = nominator_dist / (64 / denominator); cairo_set_line_width(cr, NOTE_LINE_THICK); curr_dnom = 64; current_color = 6; cairo_stroke(cr); while (curr_dnom > denominator) { if (current_dist * m_zoom_value > MIN_ZOOM_DIST) { cairo_new_path(cr); cairo_set_source_rgb (cr, color_array[current_color][0], color_array[current_color][1],color_array[current_color][2]); i = 0; do { d = PIANO_PART_WIDTH + start_pos_measure + ((double) i * (double) current_dist) * m_zoom_value - x; cairo_move_to(cr, d, SPEC_TRACKS_HEIGHT); cairo_line_to(cr, d, height - SPEC_TRACKS_HEIGHT); cairo_stroke(cr); i++; } while (d < end_pos_measure + PIANO_PART_WIDTH); cairo_stroke(cr); } current_color--; curr_dnom /= 2; current_dist *= 2; } current_color = 1; cairo_new_path(cr); cairo_set_line_width(cr, NOTE_LINE_THICK); cairo_set_source_rgb (cr, color_array[current_color][0], color_array[current_color][1],color_array[current_color][2]); i = 0; do { d = PIANO_PART_WIDTH + start_pos_measure + ((double) i * (double) nominator_dist) * m_zoom_value - x; cairo_move_to(cr, d, SPEC_TRACKS_HEIGHT); cairo_line_to(cr, d, height - SPEC_TRACKS_HEIGHT); cairo_stroke(cr); i++; } while (d < end_pos_measure + PIANO_PART_WIDTH); current_color = 0; cairo_new_path(cr); cairo_set_line_width(cr, BAR_LINE_THICK); cairo_set_source_rgb (cr, color_array[current_color][0], color_array[current_color][1],color_array[current_color][2]); d = PIANO_PART_WIDTH + start_pos_measure - x; cairo_move_to(cr, d, SPEC_TRACKS_HEIGHT); cairo_line_to(cr, d, height - SPEC_TRACKS_HEIGHT); cairo_stroke(cr); current_time += numerator * WHOLE_NOTE / denominator; getNumDenom(current_time, &numerator, &denominator); start_pos_measure = end_pos_measure; measure_width = numerator * WHOLE_NOTE / FACTOR / denominator; end_pos_measure = start_pos_measure + m_zoom_value * measure_width; } lptr = g_list_nth(m_instruments, m_current_instrument_number); ((NedIdiotsInstrument *) lptr->data)->draw(cr, m_zoom_value, x, y, visible_start_pos, visible_end_pos); draw_specials(cr, m_zoom_value, x, y, width, visible_start_pos, visible_end_pos); ((NedIdiotsInstrument *) lptr->data)->draw_specials(cr, m_zoom_value, x, y, visible_start_pos, visible_end_pos); draw_piano(cr, y, height); cairo_destroy (cr); } #endif void NedIdiotsEditor::draw_new () { int i; double xleft, ytop; int width, height; unsigned int measure_width; unsigned long long current_time, time_dist; double d, measure_dist_d; int measure_dist; double start_pos_measure, end_pos_measure; double visible_start_pos, visible_end_pos; unsigned int current_dist, nominator_dist; int current_color; unsigned int curr_dnom; GList *lptr; unsigned int numerator = 4; unsigned int denominator = 4; #define MIN_ZOOM_DIST 8.0 if (m_dpy == NULL) initX11(); xleft = gtk_adjustment_get_value(m_hadjust); ytop = gtk_adjustment_get_value(m_vadjust); width = m_drawing_area->allocation.width; height = m_drawing_area->allocation.height; #define BAR_COLOR 0, 0, 0 #define NOMINATOR_COLOR 0, 0, 204 #define HALF_COLOR 0.0, 26, 153 #define QUARTER_COLOR 0, 51, 127 #define EIGHTS_COLOR 127, 77, 102 #define COLOR_16 0, 102, 77 #define COLOR32 127, 127, 51 #define COLOR64 230, 153,25 static unsigned int color_array[8][3] = { {BAR_COLOR}, {NOMINATOR_COLOR}, {HALF_COLOR}, {QUARTER_COLOR}, {EIGHTS_COLOR}, {COLOR_16}, {COLOR32}, {COLOR64}}; XSetForeground(m_dpy, m_xgc, 0xeeeeee); XFillRectangle(m_dpy, m_back_image, m_xgc, 0, 0, width, height); XSetForeground(m_dpy, m_xgc, 0x0); XSetLineAttributes(m_dpy, m_xgc, SEP_LINE_THICK, LineSolid, CapRound, JoinMiter); for (i = 4; i < 4 + 117; i++) { if (strlen(pitch_tab[i-4]) > 1) { XSetForeground(m_dpy, m_xgc, 0x999999); XFillRectangle(m_dpy, m_back_image, m_xgc, PIANO_PART_WIDTH, (i - 4) * SEP_LINE_DIST - ytop - SPEC_TRACKS_HEIGHT, width - PIANO_PART_WIDTH, SEP_LINE_DIST); } XSetForeground(m_dpy, m_xgc, 0x0); if (ytop < (i - 3) * SEP_LINE_DIST && ytop + height > (i - 4) * SEP_LINE_DIST) { XDrawLine(m_dpy, m_back_image, m_xgc, PIANO_PART_WIDTH, (i - 4) * SEP_LINE_DIST - ytop - SPEC_TRACKS_HEIGHT, width, (i - 4) * SEP_LINE_DIST - ytop - SPEC_TRACKS_HEIGHT); } } visible_start_pos = xleft; /* current_time = 0; getNumDenom(current_time, &numerator, &denominator); */ measure_width = numerator * WHOLE_NOTE / FACTOR / denominator; start_pos_measure = 0; visible_end_pos = xleft + width; end_pos_measure = start_pos_measure + m_zoom_value * measure_width; /* while (end_pos_measure < visible_start_pos) { current_time += numerator * WHOLE_NOTE / denominator; getNumDenom(current_time, &numerator, &denominator); start_pos_measure = end_pos_measure; measure_width = numerator * WHOLE_NOTE / FACTOR / denominator; end_pos_measure = start_pos_measure + m_zoom_value * measure_width; } */ current_time = (unsigned long long) ((visible_start_pos * (double) FACTOR) / m_zoom_value); for (lptr = g_list_last(m_specials); lptr; lptr = g_list_previous(lptr)) { if (((NedIdSpecial *) lptr->data)->m_type != ID_SPEC_TIME_SIG_CHANGE) continue; measure_width = ((NedIdTimesigChange *) lptr->data)->m_numerator * WHOLE_NOTE / FACTOR / ((NedIdTimesigChange *) lptr->data)->m_denominator; if (((NedIdSpecial *) lptr->data)->m_time + measure_width * FACTOR <= current_time) break; } if (lptr != NULL) { time_dist = current_time - (((NedIdSpecial *) lptr->data)->m_time + measure_width * FACTOR); numerator = ((NedIdTimesigChange *) lptr->data)->m_numerator; denominator = ((NedIdTimesigChange *) lptr->data)->m_denominator; current_time = ((NedIdSpecial *) lptr->data)->m_time; measure_dist_d = (double) time_dist / (double) (measure_width * FACTOR); measure_dist = (int) measure_dist_d; unsigned long long add = (unsigned long long) measure_dist * (unsigned long long) measure_width * (unsigned long long) FACTOR; current_time += add; //printf("current_time = %llu(%llu), add = %llu(%llu)\n", current_time, current_time / NOTE_8, add, add / NOTE_8); fflush(stdout); //current_time += measure_dist * measure_width * FACTOR; start_pos_measure = current_time / FACTOR * m_zoom_value; } else { current_time = 0; measure_width = WHOLE_NOTE / FACTOR; start_pos_measure = 0; numerator = denominator = 4; } end_pos_measure = start_pos_measure + m_zoom_value * measure_width; m_min_denom = 1; while (start_pos_measure < visible_end_pos) { nominator_dist = measure_width / numerator; current_dist = nominator_dist / (64 / denominator); XSetLineAttributes(m_dpy, m_xgc, SEP_LINE_THICK, LineSolid, CapRound, JoinMiter); curr_dnom = 64; current_color = 6; while (curr_dnom > denominator) { if (current_dist * m_zoom_value > MIN_VERTICAL_LINES_DIST) { if (m_min_denom == 1) { m_min_denom = curr_dnom; } XSetForeground(m_dpy, m_xgc, (color_array[current_color][0] << 16 ) | (color_array[current_color][1] << 8) | color_array[current_color][2]); i = 0; do { d = PIANO_PART_WIDTH + start_pos_measure + ((double) i * (double) current_dist) * m_zoom_value - xleft; XDrawLine(m_dpy, m_back_image, m_xgc, d, SPEC_TRACKS_HEIGHT, d, height - SPEC_TRACKS_HEIGHT); i++; } while (d < end_pos_measure + PIANO_PART_WIDTH); } current_color--; curr_dnom /= 2; current_dist *= 2; } current_color = 1; XSetLineAttributes(m_dpy, m_xgc, NOTE_LINE_THICK, LineSolid, CapRound, JoinMiter); XSetForeground(m_dpy, m_xgc, (color_array[current_color][0] << 16 ) | (color_array[current_color][1] << 8) | color_array[current_color][2]); i = 0; do { d = PIANO_PART_WIDTH + start_pos_measure + ((double) i * (double) nominator_dist) * m_zoom_value - xleft; XDrawLine(m_dpy, m_back_image, m_xgc, d, SPEC_TRACKS_HEIGHT, d, height - SPEC_TRACKS_HEIGHT); i++; } while (d < end_pos_measure + PIANO_PART_WIDTH); current_color = 0; XSetLineAttributes(m_dpy, m_xgc, BAR_LINE_THICK, LineSolid, CapRound, JoinMiter); XSetForeground(m_dpy, m_xgc, (color_array[current_color][0] << 16 ) | (color_array[current_color][1] << 8) | color_array[current_color][2]); d = PIANO_PART_WIDTH + start_pos_measure - xleft; XDrawLine(m_dpy, m_back_image, m_xgc, d, SPEC_TRACKS_HEIGHT, d, height - SPEC_TRACKS_HEIGHT); current_time += numerator * WHOLE_NOTE / denominator; getNumDenom(current_time, &numerator, &denominator); start_pos_measure = end_pos_measure; measure_width = numerator * WHOLE_NOTE / FACTOR / denominator; end_pos_measure = start_pos_measure + m_zoom_value * measure_width; } lptr = g_list_nth(m_instruments, m_current_instrument_number); ((NedIdiotsInstrument *) lptr->data)->draw(m_dpy, m_back_image, m_xgc, m_x_border_gc, m_zoom_value, xleft, ytop, visible_start_pos, visible_end_pos); XSetForeground(m_dpy, m_xgc, 0xffffff); XFillRectangle(m_dpy, m_back_image, m_xgc, 0, 0, PIANO_PART_WIDTH, height); XSetForeground(m_dpy, m_xgc, 0x0); for (i = 4; i < 4 + 117; i++) { /* if (strlen(pitch_tab[i-4]) > 1) { XSetForeground(m_dpy, m_xgc, 0x999999); XFillRectangle(m_dpy, m_back_image, m_xgc, PIANO_PART_WIDTH, (i - 4) * SEP_LINE_DIST - ytop - SPEC_TRACKS_HEIGHT, width - PIANO_PART_WIDTH, SEP_LINE_DIST); } */ if (ytop < (i - 3) * SEP_LINE_DIST && ytop + height > (i - 4) * SEP_LINE_DIST) { XDrawString(m_dpy, m_back_image, m_xgc, TUNE_NAME_X_START, (i - 4) * SEP_LINE_DIST + SEP_LINE_DIST / 2 - ytop - SPEC_TRACKS_HEIGHT, "ABC", strlen("ABC")); } } XSetForeground(m_dpy, m_xgc, 0xffffff); XFillRectangle(m_dpy, m_back_image, m_xgc, 0, 0, width, SPEC_TRACKS_HEIGHT); XFillRectangle(m_dpy, m_back_image, m_xgc, 0, height - SPEC_TRACKS_HEIGHT, width, height); #ifdef XXX draw_specials(cr, m_zoom_value, xleft, ytop, width, visible_start_pos, visible_end_pos); ((NedIdiotsInstrument *) lptr->data)->draw_specials(cr, m_zoom_value, xleft, ytop, visible_start_pos, visible_end_pos); draw_piano(cr, ytop, height); #endif XCopyArea(m_dpy, m_back_image, m_win, m_xgc, 0, 0, width, height, 0, 0); XFlush(m_dpy); } void NedIdiotsEditor::do_undo(GtkWidget *widget, void *data) { //if (NedResource::isPlaying()) return; //NedResource::m_avoid_immadiate_play = TRUE; NedIdiotsEditor *id_editor = (NedIdiotsEditor *) data; //id_editor->m_selected_note = NULL; id_editor->m_command_history->unexecute(); id_editor->repaint(); //NedResource::m_avoid_immadiate_play = FALSE; } void NedIdiotsEditor::do_redo(GtkWidget *widget, void *data) { //if (NedResource::isPlaying()) return; //NedResource::m_avoid_immadiate_play = TRUE; NedIdiotsEditor *id_editor = (NedIdiotsEditor *) data; //id_editor->m_selected_note = NULL; id_editor->m_command_history->execute(); id_editor->repaint(); //NedResource::m_avoid_immadiate_play = FALSE; } unsigned long long NedIdiotsEditor::getFirstSplitTime(unsigned long long start_time, unsigned long long end_time) { GList *lptr; unsigned long long time_dist, current_time; int numerator, denominator, measure_width, measure_dist; for (lptr = g_list_last(m_specials); lptr; lptr = g_list_previous(lptr)) { if (((NedIdSpecial *) lptr->data)->m_type != ID_SPEC_TIME_SIG_CHANGE) continue; if (((NedIdSpecial *) lptr->data)->m_time <= start_time) break; } if (lptr != NULL) { time_dist = start_time - ((NedIdSpecial *) lptr->data)->m_time; numerator = ((NedIdTimesigChange *) lptr->data)->m_numerator; denominator = ((NedIdTimesigChange *) lptr->data)->m_denominator; measure_width = numerator * WHOLE_NOTE / denominator; current_time = ((NedIdSpecial *) lptr->data)->m_time; measure_dist = (time_dist / measure_width) + 1; current_time += (unsigned long long) measure_dist * (unsigned long long) measure_width; } else { time_dist = start_time; current_time = 0; measure_width = WHOLE_NOTE; numerator = denominator = 4; measure_dist = (time_dist / measure_width) + 1; current_time += (unsigned long long) measure_dist * (unsigned long long) measure_width; } if (current_time > start_time && current_time < end_time) return current_time; return 0; } void NedIdiotsEditor::draw_specials (cairo_t *cr, double zoom_value, double xleft, double ytop, int width, double visible_start_pos, double visible_end_pos) { GList *lptr; NedIdSpecial *spec; char Str[128]; cairo_new_path(cr); cairo_set_source_rgb (cr, 0.9, 0.9, 0.0); cairo_rectangle (cr, PIANO_PART_WIDTH, 0, width - PIANO_PART_WIDTH, TIME_SIG_TRACK_HEIGHT); cairo_fill(cr); cairo_new_path(cr); cairo_set_source_rgb (cr, 0.8, 0.8, 0.4); cairo_rectangle (cr, PIANO_PART_WIDTH, TIME_SIG_TRACK_HEIGHT, width - PIANO_PART_WIDTH, TEMPO_TRACK_HEIGHT); cairo_fill(cr); cairo_new_path(cr); cairo_set_source_rgb (cr, 0.9, 0.9, 0.2); cairo_rectangle (cr, PIANO_PART_WIDTH, TIME_SIG_TRACK_HEIGHT + SIGN_TRACK_HEIGHT, width - PIANO_PART_WIDTH, SIGN_TRACK_HEIGHT); cairo_fill(cr); cairo_new_path(cr); cairo_set_source_rgb (cr, 0.4, 0.9, 0.4); cairo_rectangle (cr, PIANO_PART_WIDTH, TIME_SIG_TRACK_HEIGHT + SIGN_TRACK_HEIGHT + VOLUME_TRACK_HEIGHT, width - PIANO_PART_WIDTH, VOLUME_TRACK_HEIGHT); cairo_fill(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { spec = (NedIdSpecial *) lptr->data; if (spec->m_time / FACTOR * zoom_value > visible_end_pos) break; if (spec->m_time / FACTOR * zoom_value < visible_start_pos) continue; switch (spec->m_type) { case ID_SPEC_TIME_SIG_CHANGE: sprintf(Str, "%d/%d", ((NedIdTimesigChange *) spec)->m_numerator, ((NedIdTimesigChange *) spec)->m_denominator); cairo_new_path(cr); cairo_move_to(cr, PIANO_PART_WIDTH + spec->m_time / FACTOR * zoom_value - xleft, TIME_SIG_TRACK_HEIGHT); cairo_show_text(cr, Str); cairo_stroke(cr); break; case ID_SPEC_TEMPO_CHANGE: sprintf(Str, "%d", ((NedIdTempoChange *) spec)->m_tempo); cairo_new_path(cr); cairo_move_to(cr, PIANO_PART_WIDTH + spec->m_time / FACTOR * zoom_value - xleft, TIME_SIG_TRACK_HEIGHT + TEMPO_TRACK_HEIGHT); cairo_show_text(cr, Str); cairo_stroke(cr); break; case ID_SPEC_KEYSIG_CHANGE: /* TODO: draw */break; default: NedResource::Abort("draw_specials"); } } } void NedIdiotsEditor::draw_piano (cairo_t *cr, double ytop, int height) { int i; #define T_X_OFFS 2.0 //cr = gdk_cairo_create (m_drawing_area->window); cairo_set_source_rgb (cr, 1.0, 2.0, 1.0); cairo_rectangle (cr, 0, 0, PIANO_PART_WIDTH, m_drawing_area->allocation.height); cairo_fill(cr); cairo_select_font_face (cr, "SANS", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size(cr, 8.0); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); for (i = 4; i < 4 + 117; i++) { if (ytop < (116 - (i - 4)) * SEP_LINE_DIST && ytop + height > (116 - (i - 5)) * SEP_LINE_DIST) { if (strlen(pitch_tab[i-4]) > 1) { cairo_new_path(cr); cairo_set_source_rgb (cr, 0.8, 0.8, 0.8); cairo_rectangle (cr, 0, (116 - (i - 4)) * SEP_LINE_DIST - ytop - TIME_SIG_TRACK_HEIGHT, PIANO_PART_WIDTH, SEP_LINE_DIST); cairo_fill(cr); } } cairo_new_path(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); if (ytop < (116 - (i - 4)) * SEP_LINE_DIST && ytop + height > (116 - (i - 5)) * SEP_LINE_DIST) { cairo_move_to(cr, T_X_OFFS, (116 - (i - 4)) * SEP_LINE_DIST - ytop + SEP_LINE_DIST / 1.2 - TIME_SIG_TRACK_HEIGHT); cairo_show_text(cr, pitch_tab[i-4]); } cairo_stroke(cr); } } void NedIdiotsEditor::zoom_in(GtkWidget *widget, void *data) { NedIdiotsEditor *id_editor = (NedIdiotsEditor*) data; id_editor->m_zoom_value *= ID_ZOOM_STEP; if (id_editor->m_zoom_value > ID_MAX_ZOOM) { id_editor->m_zoom_value = ID_MAX_ZOOM; } id_editor->setHadjust(); id_editor->repaint(); } void NedIdiotsEditor::zoom_out(GtkWidget *widget, void *data) { NedIdiotsEditor *id_editor = (NedIdiotsEditor*) data; id_editor->m_zoom_value /= ID_ZOOM_STEP; if (id_editor->m_zoom_value < ID_MIN_ZOOM) { id_editor->m_zoom_value = ID_MIN_ZOOM; } id_editor->setHadjust(); id_editor->repaint(); } void NedIdiotsEditor::size_change_handler(GtkWidget *widget, GtkRequisition *requisition, gpointer data) { NedIdiotsEditor *id_editor = (NedIdiotsEditor*) data; if (id_editor->m_dpy == NULL) return; XFreePixmap(id_editor->m_dpy, id_editor->m_back_image); id_editor->m_back_image = XCreatePixmap(id_editor->m_dpy, id_editor->m_win, id_editor->m_drawing_area->allocation.width, id_editor->m_drawing_area->allocation.height, DefaultDepth(id_editor->m_dpy, id_editor->m_screen)); id_editor->setHadjust(); id_editor->setVadjust(); } void NedIdiotsEditor::setInstrumentName(char *name) { name[MAX_INST_NAME - 1] = '\0'; strcpy(m_pending_inst_name, name); } int NedIdiotsEditor::getPartCount() { return g_list_length(m_instruments); } char *NedIdiotsEditor::getInstrumentName(int staff_nr) { GList *lptr; if ((lptr = g_list_nth(m_instruments, staff_nr)) == NULL) { NedResource::Abort("NedIdiotsEditor::getInstrumentName"); } return ((NedIdiotsInstrument *) lptr->data)->getInstrumentName(); } int NedIdiotsEditor::getNumerator() { GList *lptr; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (((NedIdSpecial *) lptr->data)->m_time > 0) break; if (((NedIdSpecial *) lptr->data)->m_type != ID_SPEC_TIME_SIG_CHANGE) continue; return ((NedIdTimesigChange *) lptr->data)->m_numerator; } return 4; } int NedIdiotsEditor::getDenominator() { GList *lptr; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (((NedIdSpecial *) lptr->data)->m_time > 0) break; if (((NedIdSpecial *) lptr->data)->m_type != ID_SPEC_TIME_SIG_CHANGE) continue; return ((NedIdTimesigChange *) lptr->data)->m_denominator; } return 4; } void NedIdiotsEditor::computeTimeSigMeasureNumbers(NedMainWindow *main_window) { unsigned int num = 0; unsigned long long last_timesig_time = 0; int dummy; unsigned int dummy2; GList *lptr; unsigned int duration = WHOLE_NOTE; NedIdTimesigChange *timesig; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (((NedIdSpecial *) lptr->data)->m_type != ID_SPEC_TIME_SIG_CHANGE) continue; timesig = (NedIdTimesigChange *) lptr->data; num = timesig->m_measure_number = num + (timesig->m_time - last_timesig_time) / duration; if (timesig->m_time > 0) { main_window->setSpecialTimesig(num + 1, timesig->m_numerator, timesig->m_denominator, TIME_SYMBOL_NONE, &dummy, &dummy, &dummy2, false); } duration = timesig->m_numerator * WHOLE_NOTE / timesig->m_denominator; last_timesig_time = timesig->m_time; } } void NedIdiotsEditor::trySplitInstruments() { GList *lptr, *lptr2; GList *new_instruments; int pos; for (lptr = g_list_first(m_instruments); lptr; lptr = g_list_next(lptr)) { new_instruments = ((NedIdiotsInstrument *) lptr->data)->trySplitInstrument(m_force_piano, m_dont_split); pos = g_list_position(m_instruments, lptr); for (lptr2 = g_list_first(new_instruments); lptr2; lptr2 = g_list_next(lptr2)) { m_instruments = g_list_insert(m_instruments, lptr2->data, ++pos); if ((lptr = g_list_find(m_instruments, lptr2->data)) == NULL) { NedResource::Abort("NedIdiotsEditor::trySplitInstruments"); } } g_list_free(new_instruments); } } void NedIdiotsEditor::computeVolumes() { GList *lptr; for (lptr = g_list_first(m_instruments); lptr; lptr = g_list_next(lptr)) { ((NedIdiotsInstrument *) lptr->data)->computeVolume(); } } void NedIdiotsEditor::snapStartOfNotes() { GList *lptr; for (lptr = g_list_first(m_instruments); lptr; lptr = g_list_next(lptr)) { ((NedIdiotsInstrument *) lptr->data)->snapStartOfNotes(this); } } void NedIdiotsEditor::recognizeTriplets() { GList *lptr; for (lptr = g_list_first(m_instruments); lptr; lptr = g_list_next(lptr)) { ((NedIdiotsInstrument *) lptr->data)->recognizeTriplets(this); } } void NedIdiotsEditor::computeTempo() { GList *lptr; GList *del_list_ptr = NULL, *del_list_specs = NULL; thin_out_temposigs(); for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (((NedIdSpecial *) lptr->data)->m_time > 0) break; if (((NedIdSpecial *) lptr->data)->m_type != ID_SPEC_TEMPO_CHANGE) continue; m_tempo_inverse = 60000.0 / (double) ((NedIdTempoChange *) lptr->data)->m_tempo; del_list_ptr = g_list_append(del_list_ptr, lptr); del_list_specs = g_list_append(del_list_specs, lptr->data); } for (lptr = g_list_first(del_list_ptr); lptr; lptr = g_list_next(lptr)) { m_specials = g_list_delete_link(m_specials, (GList *) lptr->data); } for (lptr = g_list_first(del_list_specs); lptr; lptr = g_list_next(lptr)) { delete (NedIdTempoChange *) lptr->data; } g_list_free(del_list_ptr); g_list_free(del_list_specs); } GList *NedIdiotsEditor::convertToNtEdNotes(int staff_nr, int voice_nr) { GList *lptr; if ((lptr = g_list_nth(m_instruments, staff_nr)) == NULL) { NedResource::Abort("NedIdiotsEditor::convertToNtEdNotes"); } return ((NedIdiotsInstrument *) lptr->data)->convertToNtEdNotes(this, /* staff_nr == 0 && */ voice_nr == 0, voice_nr == 0, voice_nr, m_last_time); } int NedIdiotsEditor::getClef(int staff_nr) { GList *lptr; if ((lptr = g_list_nth(m_instruments, staff_nr)) == NULL) { NedResource::Abort("NedIdiotsEditor::getClef"); } return ((NedIdiotsInstrument *) lptr->data)->getClef(); } int NedIdiotsEditor::getOctaveShift(int staff_nr) { GList *lptr; if ((lptr = g_list_nth(m_instruments, staff_nr)) == NULL) { NedResource::Abort("NedIdiotsEditor::getOctaveShift"); } return ((NedIdiotsInstrument *) lptr->data)->getOctaveShift(); } int NedIdiotsEditor::getMidiPgm(int staff_nr) { GList *lptr; int midi_pgm; if ((lptr = g_list_nth(m_instruments, staff_nr)) == NULL) { NedResource::Abort("NedIdiotsEditor::getMidiPgm"); } midi_pgm = ((NedIdiotsInstrument *) lptr->data)->getMidiNr(); if (midi_pgm < 0) { midi_pgm = 0; } return midi_pgm; } int NedIdiotsEditor::getChannel(int staff_nr) { GList *lptr; int midi_pgm; if ((lptr = g_list_nth(m_instruments, staff_nr)) == NULL) { NedResource::Abort("NedIdiotsEditor::getMidiPgm"); } midi_pgm = ((NedIdiotsInstrument *) lptr->data)->getMidiNr(); if (midi_pgm < 0) { return 9; } return ((NedIdiotsInstrument *) lptr->data)->getChannel(); } int NedIdiotsEditor::getVolume(int staff_nr) { GList *lptr; if ((lptr = g_list_nth(m_instruments, staff_nr)) == NULL) { NedResource::Abort("NedIdiotsEditor::getVolume"); } return ((NedIdiotsInstrument *) lptr->data)->getVolume(); } int NedIdiotsEditor::getKeySig(int staff_nr) { GList *lptr; if ((lptr = g_list_nth(m_instruments, staff_nr)) == NULL) { } if (((NedIdiotsInstrument *) lptr->data)->getChannel() == 9) return 0; for (lptr = g_list_first(m_specials); lptr; lptr = g_list_next(lptr)) { if (((NedIdSpecial *) lptr->data)->m_type == ID_SPEC_KEYSIG_CHANGE) { if (((NedIdSpecial *) lptr->data)->m_time > 0) return 0; return ((NedIdKeysigChange *) lptr->data)->m_key; } } return 0; } void NedIdiotsEditor::changeChannelAndPgm(int staff_nr, int chan, int pgm) { GList *lptr; if ((lptr = g_list_nth(m_instruments, staff_nr)) == NULL) { NedResource::Abort("NedIdiotsEditor::changeChannelAndPgm"); } ((NedIdiotsInstrument *) lptr->data)->setChannel(chan); ((NedIdiotsInstrument *) lptr->data)->setMidiNr(pgm); } void NedIdiotsEditor::select_instrument(GtkButton *button, gpointer data) { NedIdiotsEditor *id_editor = (NedIdiotsEditor*) data; GSList *l, *ll; int i; l = gtk_radio_button_get_group(GTK_RADIO_BUTTON(id_editor->m_instr_bu)); ll = gtk_radio_button_get_group(GTK_RADIO_BUTTON(id_editor->m_instr_bu)); for (; ll ; ll = g_slist_next(ll)) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ll->data))) { i = g_slist_position(l, ll); if (i > 0) { i = g_slist_length(l) - i; } id_editor->m_current_instrument_number = i; id_editor->repaint(); return; } } } nted-1.10.18/idiotseditor/idcommandlist.cpp0000664001041000007640000000501011520267221015563 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "idcommandlist.h" #include "command.h" #include "idiotseditor.h" NedIdCommandList::NedIdCommandList(NedIdiotsEditor *id_edit): m_commands(NULL), m_id_edit(id_edit) {} NedIdCommandList::~NedIdCommandList() { GList *lptr; lptr = g_list_first(m_commands); while (lptr != NULL) { delete ((NedCommand*) lptr->data); m_commands = g_list_delete_link(m_commands, lptr); lptr = g_list_first(m_commands); } } void NedIdCommandList::execute(bool adjust /* = false */) { GList *lptr; #ifdef EXECUTE_DEBUG printf("NedIdCommandList::execute\n"); #endif for (lptr = g_list_first(m_commands); lptr; lptr = g_list_next(lptr)) { ((NedCommand*) lptr->data)->execute(adjust); } m_id_edit->repaint(); #ifdef EXECUTE_DEBUG printf("NedIdCommandList::execute END\n"); #endif } void NedIdCommandList::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("NedIdCommandList::unexecute\n"); #endif GList *lptr; for (lptr = g_list_last(m_commands); lptr; lptr = g_list_previous(lptr)) { ((NedCommand*) lptr->data)->unexecute(adjust); } m_id_edit->repaint(); #ifdef UNEXECUTE_DEBUG printf("NedIdCommandList::unexecute END\n"); #endif } void NedIdCommandList::addCommand(NedCommand *command) { m_commands = g_list_append(m_commands, command); } int NedIdCommandList::getNumberOfCommands() { return g_list_length(m_commands); } nted-1.10.18/idiotseditor/changeidnotecommand.h0000664001041000007640000000350611520267221016400 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_ID_NOTE_COMMAND_H #define CHANGE_ID_NOTE_COMMAND_H #include "config.h" #include "command.h" class NedIdNote; class NedChangeIdNoteCommand : public NedCommand { public: NedChangeIdNoteCommand(NedIdNote *id_note, unsigned long long new_start, unsigned long long new_stop, int new_pitch); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedIdNote *m_id_note; unsigned long long m_old_midi_start, m_new_midi_start; unsigned long long m_old_midi_stop, m_new_midi_stop; int m_old_pitch, m_new_pitch; bool m_old_valid, m_new_valid; }; #endif /* CHANGE_ID_NOTE_COMMAND_H */ nted-1.10.18/idiotseditor/Makefile.am0000775001041000007640000000274211520267221014300 00000000000000######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### AM_CPPFLAGS = $(FT2_CFLAGS) -I$(top_srcdir) -I$(top_srcdir)/commands $(CAIRO_CFLAGS) $(GTK_CFLAGS) noinst_LIBRARIES = libidiotseditor.a libidiotseditor_a_SOURCES = idiotseditor.cpp idcommandhistory.cpp idcommandlist.cpp changeidnotecommand.cpp libidiotseditor_a_SOURCES += idiotseditor.h idcommandhistory.h idcommandlist.h changeidnotecommand.h nted-1.10.18/idiotseditor/idcommandhistory.cpp0000664001041000007640000000624711520267221016326 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "idcommandhistory.h" #include "idcommandlist.h" #include "idiotseditor.h" NedIdCommandHistory::NedIdCommandHistory(NedIdiotsEditor *id_edit) : m_command_lists(NULL), m_current_command_list(NULL), m_id_edit(id_edit) { } void NedIdCommandHistory::reset() { /* TODO: free commdand lists */ m_command_lists = NULL; m_current_command_list = NULL; } void NedIdCommandHistory::execute() { GList *lptr; if (m_current_command_list == NULL) { if (m_command_lists == NULL) { return; } m_current_command_list = g_list_first(m_command_lists); ((NedIdCommandList *) m_current_command_list->data)->execute(true); return; } lptr = g_list_next(m_current_command_list); if (lptr == NULL) { return; } m_current_command_list = lptr; ((NedIdCommandList *) m_current_command_list->data)->execute(true); } void NedIdCommandHistory::unexecute() { if (m_current_command_list == NULL) { return; } ((NedIdCommandList *) m_current_command_list->data)->unexecute(true); m_current_command_list = g_list_previous(m_current_command_list); } void NedIdCommandHistory::addCommandList(NedIdCommandList *command_list) { GList *lptr; if (m_current_command_list == NULL) { // TODO free old command list m_command_lists = NULL; } if (m_command_lists != NULL) { if (m_current_command_list == NULL) { lptr = m_command_lists; } else { lptr = g_list_next(m_current_command_list); } while (lptr != NULL) { delete ((NedIdCommandList *) lptr->data); m_command_lists = g_list_delete_link(m_command_lists, lptr); lptr = g_list_next(m_current_command_list); } } m_command_lists = g_list_append(m_command_lists, command_list); m_current_command_list = g_list_last(m_command_lists); } bool NedIdCommandHistory::unexecute_possible() { return m_current_command_list != NULL; } bool NedIdCommandHistory::execute_possible() { if (m_current_command_list == NULL) { if (m_command_lists == NULL) { return FALSE; } return TRUE; } return g_list_next(m_current_command_list) != NULL; } nted-1.10.18/idiotseditor/idiotseditor.h0000664001041000007640000003206711520267221015117 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef IDIOTSEDITOR_H #define IDIOTSEDITOR_H #include "config.h" #include #include #include #include #include #include #include "resource.h" #include "paths.h" class NedIdiotsEditor; class NedIdCommandHistory; class pitch_info { public: int m_pitch, m_line; bool m_tiebackward; unsigned int m_state; }; class NedIdNote { public: NedIdNote(int f_pitch, int volume, unsigned long long sta, unsigned long long sto) : m_midi_start(sta), m_midi_stop(sto), m_max_stop(0), m_ori_start(sta), m_ori_stop(sto), m_tri_start_numerator(0), m_chordnotes(NULL), m_pitch(f_pitch), m_valid(true), m_is_triplet_note(false), fix_start(false), fix_end(false), m_volume(volume), m_line(3 /* dummy */), m_tiedbackward(false) { m_tripletnotes[0] = m_tripletnotes[1] = m_tripletnotes[2] = NULL; } NedIdNote(int f_pitch, int volume, unsigned long long sta) : m_midi_start(sta), m_midi_stop(sta), m_max_stop(0), m_ori_start(sta), m_tri_start_numerator(0), m_chordnotes(NULL), m_pitch(f_pitch), m_valid(false), m_is_triplet_note(false), fix_start(false), fix_end(false), m_volume(volume), m_line(3 /* dummy */), m_tiedbackward(false) { m_tripletnotes[0] = m_tripletnotes[1] = m_tripletnotes[2] = NULL; } NedIdNote *cloneWithDifferentTime(unsigned long long sta, unsigned long long sto); bool isInRect(double x, double y, double zoom_value, double xleft, double ytop); void determineLines(int clef, int octave_shift, int key, char *offs_array); ~NedIdNote(); void addPitch(int pitch, bool tiebackward); void closeNote(unsigned long long sto) { if (sto > m_midi_start) { m_midi_stop = sto; m_valid = true; } } static int compare_note_start(NedIdNote *n1, NedIdNote *n2) { if (n1->m_midi_start < n2->m_midi_start) return -1; if (n1->m_midi_start < n2->m_midi_start) return 0; return 1; } unsigned long long m_midi_start, m_midi_stop, m_max_stop; unsigned long long m_ori_start, m_ori_stop; unsigned long long m_tri_start; int m_tri_start_numerator; GList *m_chordnotes; NedIdNote *m_tripletnotes[3]; int m_pitch; bool m_valid; bool m_is_triplet_note; bool fix_start, fix_end; unsigned int m_state; int m_volume; int m_line; bool m_tiedbackward; }; class NedIdSpecial { public: NedIdSpecial(int type, unsigned long long time, int measure_number) : m_type(type), m_time(time), m_measure_number(measure_number) {} int m_type; #define ID_SPEC_TIME_SIG_CHANGE 1 #define ID_SPEC_TEMPO_CHANGE 2 #define ID_SPEC_VOLUME_CHANGE 3 #define ID_SPEC_KEYSIG_CHANGE 4 unsigned long long m_time; int m_measure_number; static int compare_specials(NedIdSpecial *m1, NedIdSpecial *m2) { if (m1->m_time == m2->m_time) return 0; if (m1->m_time < m2->m_time) return -1; return 1; } }; class NedIdTimesigChange : public NedIdSpecial { public: NedIdTimesigChange(unsigned long long time, int measure_number, int numerator, int denominator) : NedIdSpecial(ID_SPEC_TIME_SIG_CHANGE, time, measure_number), m_numerator(numerator), m_denominator(denominator) {} int m_numerator, m_denominator; }; class NedIdTempoChange : public NedIdSpecial { public: NedIdTempoChange(unsigned long long time, int measure_number, int tempo) : NedIdSpecial(ID_SPEC_TEMPO_CHANGE, time, measure_number), m_tempo(tempo), m_used(false) {} int m_tempo; bool m_used; }; class NedIdVolumeChange : public NedIdSpecial { public: NedIdVolumeChange(unsigned long long time, int measure_number, int volume) : NedIdSpecial(ID_SPEC_VOLUME_CHANGE, time, measure_number), m_volume(volume), m_taken(false) {} int m_volume; bool m_taken; }; class NedIdKeysigChange : public NedIdSpecial { public: NedIdKeysigChange(unsigned long long time, int measure_number, int key) : NedIdSpecial(ID_SPEC_KEYSIG_CHANGE, time, measure_number), m_key(key) {} int m_key; }; #define MAX_INST_NAME 12 #define MAX_64TH 640 class NedIdiotsInstrument { public: NedIdiotsInstrument(NedIdiotsEditor *id_edit, int channel, int orig_channel, int midi_nr, int volume_change_density); ~NedIdiotsInstrument(); GList* trySplitInstrument(bool force_piano, bool dont_split); void setInstNumber(int nr) {m_inst_number = nr;} void draw(Display *dpy, Window win, GC xgc, GC border_gc, double zoom_value, double xleft, double ytop, double visible_start_pos, double visible_end_pos); void draw_specials(cairo_t *cr, double zoom_value, double xleft, double ytop, double visible_start_pos, double visible_end_pos); void closeNote(int pitch, unsigned long long end_time, int midi_nr); int specCount(); void addNote(int pitch, int volume, unsigned long long start, int midi_nr); void addNote(NedIdNote *note); void addKeySig(NedIdKeysigChange *kc); void handle_button_press (GdkEventButton *event, double xleft, double ytop, double visible_start_pos, double visible_end_pos); void enlargeNotesWithUnusualLength(NedIdiotsEditor *id); void recognizeTriplets(NedIdiotsEditor *id); void enlargeNotesToAvoidSmallRests(NedIdiotsEditor *id); void generateVolumeSigns(int volume_change_density); int getMidiNr() {return m_midi_nr;} void setMidiNr(int midi_nr) {m_midi_nr = midi_nr;} void setInstrumentName(char *name); void snapStartOfNotes(NedIdiotsEditor *id); void computeVolume(); void recomputeNotes(double zoom_value, double xleft, double ytop); int getChannel() {return m_channel;} int getClef() {return m_clef;} int getOctaveShift() {return m_octave_shift;} int getVolume() {return m_volume;} int getOrigChannel() {return m_orig_channel;} void setOrigChannel(int chan) {m_orig_channel = chan;} void setChannel(int chan) {m_channel = chan;} void determineLines(NedIdiotsEditor *id); void findConflictingNotes(); void findChords(bool all_voices); void addSpecial(NedIdSpecial *spec); GList *clone_specials(); GList *convertToNtEdNotes(NedIdiotsEditor *id, bool place_tempo_sigs, bool place_volume_or_key_signs, int voice_nr, unsigned long long last_time); char *getInstrumentName(); private: void splitNotesAtMeasureStart(NedIdiotsEditor *id); int compute_weight(unsigned long long sta, unsigned long long sto, bool is_rest); unsigned long long findEndTime(unsigned long long sta, unsigned long long sto, unsigned long long max_stop, unsigned long long rest_end, unsigned long long measure_start); bool newVolumeNeeded(unsigned long long time, int *new_volume); NedIdNote *findNote(GList *start, unsigned long long start_time, unsigned long long end_time, NedIdNote *not_note1, NedIdNote *not_note2); void notesAus(char *s, int i); NedIdiotsEditor *m_id_edit; int m_clef, m_octave_shift; GList *m_notes[VOICE_COUNT]; GList *m_specials; NedIdNote *m_selected_note; int m_inst_number; int m_volume_change_density; int m_midi_nr; int m_channel; int m_orig_channel; int m_volume; char m_inst_name[MAX_INST_NAME]; char m_dist_array[4][MAX_64TH]; static int m_mid_lines[4]; }; class NedIdiotsEditor { public: NedIdiotsEditor(int tempo_change_density, int volume_change_density, bool force_piano, bool sort_instruments, bool dont_split, bool X11Version = false); ~NedIdiotsEditor(); void setLastTime(unsigned long long last_time); void closeNote(int pitch, unsigned long long end_time, int midi_nr, int chan); void addNote(int pitch, int volume, unsigned long long start, int midi_nr, int chan); void addTimeSigChange(unsigned long long time, int numerator, int denominator); void addTempoChange(unsigned long long time, int tempo); void addKeySig(unsigned long long time, int measure_number, int key); void setInstrumentName(char *name); void computeTimeSigMeasureNumbers(NedMainWindow *main_window); int getVolumeChangeDensity() {return m_volume_change_density;} void computeTempo(); bool newTempoNeeded(unsigned long long current_time, int *newtempo, int current_tempo, unsigned long long *last_tempo_test); bool newVolumeNeeded(int *current_volume, int volume); bool newKeyNeeded(unsigned long long current_time, int *newkey, unsigned long long *last_key_test); void printMeasures(); void getMeasureNumber(unsigned long long start_time, int *num, int *denom); void computeVolumes(); void changeChannelAndPgm(int staff_nr, int chan, int pgm); unsigned long long getMeasureStart(unsigned long long sample_time, bool endtime); unsigned long long getFirstSplitTime(unsigned long long start_time, unsigned long long end_time); char* getInstrumentName(int staff_nr); int getNumerator(); int getDenominator(); int getPartCount(); int determine_key(unsigned long long time, int channel); void trySplitInstruments(); void snapStartOfNotes(); void recognizeTriplets(); GList *convertToNtEdNotes(int staff_nr, int voice_nr); GList *colone_specials(); int getClef(int staff_nr); int getOctaveShift(int staff_nr); int getMidiPgm(int staff_nr); int getChannel(int staff_nr); int getVolume(int staff_nr); int getKeySig(int staff_nr); GtkWidget *getDrawingArea() {return m_drawing_area;} GdkCursor *getPointCursor() {return m_pointer;} GdkCursor *getFleurCursor() {return m_fleur;} GdkCursor *getDoubldArrowCursor() {return m_double_arrow;} NedIdCommandHistory *getCommandHistory() {return m_command_history;} double getOffX() {return m_off_x;} double getOffY() {return m_off_y;} double getZoomValue() {return m_zoom_value;} unsigned int getMinDenom() {return m_min_denom;} void repaint(); double m_tempo_inverse; int motion_mode; private: void correct_times_of_specials(); bool delete_double_specials(); void initX11(); GdkCursor *m_double_arrow, *m_pointer, *m_fleur; static const char *guiDescription; static const GtkActionEntry file_entries[]; static gboolean handle_expose(GtkWidget *widget, GdkEventExpose *event, gpointer data); void draw_piano(cairo_t *cr, double ytop, int height); static void select_instrument(GtkButton *button, gpointer data); static void zoom_in(GtkWidget *widget, void *data); static void zoom_out(GtkWidget *widget, void *data); static void size_change_handler(GtkWidget *widget, GtkRequisition *requisition, gpointer data); static void handle_scroll(GtkAdjustment *adjustment, gpointer data); static gboolean handle_button_press (GtkWidget *widget, GdkEventButton *event, gpointer data); static gboolean handle_motion (GtkWidget *widget, GdkEventMotion *event, gpointer data); static gboolean handle_button_release (GtkWidget *widget, GdkEventButton *event, gpointer data); static void do_undo(GtkWidget *widget, void *data); static void do_redo(GtkWidget *widget, void *data); void getNumDenom(unsigned long long time, unsigned int *num, unsigned int *denom); static const char *pitch_tab[]; #ifdef ORIORI void draw(); #endif void draw_new(); void draw_specials (cairo_t *cr, double zoom_value, double xleft, double ytop, int width, double visible_start_pos, double visible_end_pos); void thin_out_temposigs(); void setHadjust(); void setVadjust(); double m_zoom_value; GtkUIManager *m_ui_manager; GtkActionGroup *m_menu_action_group; GtkWidget *m_main_window; GtkWidget *m_drawing_area; GtkWidget *m_instrument_toolbar; GtkAdjustment *m_hadjust; GtkAdjustment *m_vadjust; GtkWidget *m_instr_bu; double m_paper_len; double m_paper_height; bool m_force_piano, m_force_one_staff; int m_tempo_change_density, m_volume_change_density; int m_current_instrument_number; unsigned long long m_last_time; char m_pending_inst_name[MAX_INST_NAME]; int m_channel_nr; NedIdiotsInstrument *m_last_inserted; bool m_sort_according_instrument; bool m_dont_split; bool m_X11version; unsigned int m_min_denom; NedIdCommandHistory *m_command_history; GList *m_instruments; GList *m_specials; double m_mouse_x, m_mouse_y; double m_off_x, m_off_y; Display *m_dpy; Window m_win; GC m_xgc, m_x_border_gc; Pixmap m_back_image; int m_screen; static void close_i_edit(GtkWidget *widget, void *data); }; #endif /* IDIOTSEDITOR_H */ nted-1.10.18/idiotseditor/idcommandlist.h0000664001041000007640000000323211520267221015234 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef ID_COMMAND_LIST_H #define ID_COMMAND_LIST_H #include #include "config.h" class NedCommand; class NedIdiotsEditor; class NedIdCommandList { public: NedIdCommandList(NedIdiotsEditor *id_edit); ~NedIdCommandList(); void addCommand(NedCommand *command); int getNumberOfCommands(); void execute(bool adjust = false); void unexecute(bool adjust = false); private: GList *m_commands; NedIdiotsEditor *m_id_edit; }; #endif /* ID_COMMAND_LIST_H */ nted-1.10.18/idiotseditor/idcommandhistory.h0000664001041000007640000000332611520267221015766 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef ID_COMMAND_HISTORY_H #define ID_COMMAND_HISTORY_H #include #include "config.h" class NedIdCommandList; class NedIdiotsEditor; class NedIdCommandHistory { public: NedIdCommandHistory(NedIdiotsEditor *main_window); void addCommandList(NedIdCommandList *command_list); void execute(); void unexecute(); void reset(); private: bool execute_possible(); bool unexecute_possible(); GList *m_command_lists; GList *m_current_command_list; NedIdiotsEditor *m_id_edit; }; #endif /* ID_COMMAND_HISTORY_H */ nted-1.10.18/idiotseditor/changeidnotecommand.cpp0000664001041000007640000000436311520267221016735 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changeidnotecommand.h" #include "idiotseditor.h" NedChangeIdNoteCommand::NedChangeIdNoteCommand(NedIdNote *id_note, unsigned long long new_start, unsigned long long new_stop, int new_pitch) : m_id_note(id_note), m_new_midi_start(new_start), m_new_midi_stop(new_stop), m_new_pitch(new_pitch) { m_old_valid = m_new_valid = id_note->m_valid; m_old_midi_start = id_note->m_midi_start; m_old_midi_stop = id_note->m_midi_stop; m_old_pitch = id_note->m_pitch; } void NedChangeIdNoteCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeIdNoteCommand::execute\n"); #endif m_id_note->m_midi_start = m_new_midi_start; m_id_note->m_midi_stop = m_new_midi_stop; m_id_note->m_pitch = m_new_pitch; m_id_note->m_valid = m_new_valid; } void NedChangeIdNoteCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedChangeIdNoteCommand::unexecute\n"); #endif m_id_note->m_midi_start = m_old_midi_start; m_id_note->m_midi_stop = m_old_midi_stop; m_id_note->m_pitch = m_old_pitch; m_id_note->m_valid = m_old_valid; } nted-1.10.18/idiotseditor/Makefile.in0000664001041000007640000003725311520267353014321 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ ######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = idiotseditor DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru libidiotseditor_a_AR = $(AR) $(ARFLAGS) libidiotseditor_a_LIBADD = am_libidiotseditor_a_OBJECTS = idiotseditor.$(OBJEXT) \ idcommandhistory.$(OBJEXT) idcommandlist.$(OBJEXT) \ changeidnotecommand.$(OBJEXT) libidiotseditor_a_OBJECTS = $(am_libidiotseditor_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libidiotseditor_a_SOURCES) DIST_SOURCES = $(libidiotseditor_a_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_LIBS = @ALSA_LIBS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ IMAGE2HEADER = @IMAGE2HEADER@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PO2XML = @PO2XML@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ X11_CFLAGS = @X11_CFLAGS@ X11_LIBS = @X11_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XML2POT = @XML2POT@ XMLTO = @XMLTO@ YELP = @YELP@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = $(FT2_CFLAGS) -I$(top_srcdir) -I$(top_srcdir)/commands $(CAIRO_CFLAGS) $(GTK_CFLAGS) noinst_LIBRARIES = libidiotseditor.a libidiotseditor_a_SOURCES = idiotseditor.cpp idcommandhistory.cpp \ idcommandlist.cpp changeidnotecommand.cpp idiotseditor.h \ idcommandhistory.h idcommandlist.h changeidnotecommand.h all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign idiotseditor/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign idiotseditor/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libidiotseditor.a: $(libidiotseditor_a_OBJECTS) $(libidiotseditor_a_DEPENDENCIES) -rm -f libidiotseditor.a $(libidiotseditor_a_AR) libidiotseditor.a $(libidiotseditor_a_OBJECTS) $(libidiotseditor_a_LIBADD) $(RANLIB) libidiotseditor.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changeidnotecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idcommandhistory.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idcommandlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idiotseditor.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/line.h0000664001041000007640000000507711520267230010643 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef LINE_H #define LINE_H #include #include #define LINE_CRESCENDO (1 << 0) #define LINE_DECRESCENDO (1 << 1) #define LINE_OCTAVATION1 (1 << 3) #define LINE_OCTAVATION_1 (1 << 4) #define LINE_OCTAVATION2 (1 << 5) #define LINE_OCTAVATION_2 (1 << 6) #define LINE_OCTAVIATION_MASK (LINE_OCTAVATION1 | LINE_OCTAVATION_1 | LINE_OCTAVATION2 | LINE_OCTAVATION_2) #define LINE_ACCELERANDO (1 << 7) #define LINE_RITARDANDO (1 << 8) #define LINE_TEMPO_CHANGE (LINE_ACCELERANDO | LINE_RITARDANDO) class NedLinePoint; class NedLine { public: NedLine(NedLinePoint *start, NedLinePoint *end); virtual ~NedLine() {} virtual void draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level) = 0; virtual void computeParams(); virtual void startContextDialog(GtkWidget *ref) {} virtual bool isActive(); virtual bool isLine3() {return false;} NedLinePoint *getLineStartPoint() {return m_line_start_point;} NedLinePoint *getLineEndPoint() {return m_line_end_point;} virtual int getLineType() = 0; virtual unsigned long long computeMidiDuration(); virtual void setAllPointsToRel(NedLinePoint *initiator); protected: NedLinePoint *m_line_start_point, *m_line_end_point; double m_start_x, m_start_y; double m_end_x, m_end_y; GList *m_intermediate_staves; bool m_distributed; bool m_allow_drawing; friend class NedLinePoint; }; #endif /* LINE_H */ nted-1.10.18/freechordname.h0000664001041000007640000000536611520267230012517 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef FREE_CHORD_NAME #define FREE_CHORD_NAME #include "freereplaceable.h" #include class NedPangoCairoText; class NedChordName : public NedFreeReplaceable { public: NedChordName(GtkWidget *drawing_area, char *roottext, char *uptext, char *downtext, double fontsize); NedChordName(GtkWidget *drawing_area, char *roottext, char *uptext, char *downtext, double fontsize, NedChordOrRest *element); NedChordName(GtkWidget *drawing_area, char *roottext, char *uptext, char *downtext, double fontsize, NedChordOrRest *element, double x, double y, bool relative); ~NedChordName(); virtual NedFreeReplaceable *clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area = NULL, NedMainWindow *main_window = NULL); virtual void adjust_pointers(struct addr_ref_str *slurlist); virtual void draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale); virtual int getType() {return FREE_PLACEABLE_CHORDNAME;} virtual void startContextDialog(GtkWidget *ref); virtual bool trySelect(double xl, double yl, double zoom_factor, double current_scale, double leftx, double topy); char *getRootText(); char *getUpText(); char *getDownText(); double getSize() {return m_fontsize;} void setTexts(char *roottext, char *uptext, char *downtext, double zoom); virtual void setZoom(double zoom, double scale); const char *m_font_family; private: NedPangoCairoText *m_root_text, *m_up_text, *m_down_text; double m_fontsize; GtkWidget *m_drawing_area; }; #endif /* FREE_CHORD_NAME */ nted-1.10.18/AUTHORS0000664001041000007640000000005411520267230010601 00000000000000Joerg Anders nted-1.10.18/beam.h0000664001041000007640000000553511520267230010617 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef BEAM_H #define BEAM_H #include "config.h" #include "resource.h" #include "resource.h" #include #include #define SLOPE_COUNT 7 class NedMainWindow; class NedPage; class NedSystem; class NedStaff; class NedVoice; class NedChordOrRest; class NedBeam { public: NedBeam(GList *beamed_chords_list); ~NedBeam(); void print(); void draw(cairo_t *cr); void drawPostscript(cairo_t *cr); void insertChord(NedChordOrRest *chord, int newpos); void removeChord(NedChordOrRest *chord); bool isEqual(GList *beamlist, NedChordOrRest *except, int *diff_pos); void changeStemDir(int dir); NedMainWindow *getMainWindow(); NedPage *getPage(); NedSystem *getSystem(); NedStaff *getStaff(); double getTopOfBeam(); double getBottomOfBeam(); int getChordCount(); int getPosition(NedChordOrRest *chord); double getYPosAt(double xpos); void setTupletMarker(int tuplet_marker, double *topy, double *boty); bool isBeamUp() {return m_up;} void computeBeam(int staff_voice_offs); void freeChords(); void reconnect(); void saveBeam(FILE *fp); NedChordOrRest *getFirst(); NedChordOrRest *getLast(); double getBeamLength(); bool isFirstInBeam(NedChordOrRest *chord); bool isLastInBeam(NedChordOrRest *chord); bool m_needed; // aux. double getSlope() {return m_slope;} private: void computeGraceBeam(NedChordOrRest *first, NedChordOrRest *last); void drawGraceBeam(cairo_t *cr); static double m_slopes[SLOPE_COUNT]; GList *m_beamed_chords; double m_slope; double m_start_x, m_start_y; double m_end_x, m_end_y; double m_tuplet_x, m_tuplet_y; bool m_up; int m_tuplet_marker; int m_beam_count; }; #endif /* BEAM_H */ nted-1.10.18/Makefile.am0000664001041000007640000000736211520267230011576 00000000000000######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### SUBDIRS = commands idiotseditor dialogs chords icons . po datafiles doc man dist_doc_DATA = dist_doc_DATA += AUTHORS dist_doc_DATA += ABOUT_THE_EXAMPLES.TXT dist_doc_DATA += FAQ AM_CPPFLAGS = AM_CPPFLAGS += -DNTED_HTMLDIR=\"${htmldir}\" AM_CPPFLAGS += -DNTED_DATADIR=\"${datarootdir}/${PACKAGE_TARNAME}\" AM_CPPFLAGS += -DLOCALEDIR=\"${localedir}\" AM_CPPFLAGS += -I$(top_srcdir)/dialogs -I$(top_srcdir)/commands -I$(top_srcdir)/chords -I$(top_srcdir)/idiotseditor AM_CPPFLAGS += $(FT2_CFLAGS) $(CAIRO_CFLAGS) $(GTK_CFLAGS) $(PANGO_CFLAGS) bin_PROGRAMS = nted nted_SOURCES = mainwindow.cpp resource.cpp page.cpp system.cpp staff.cpp \ voice.cpp chordorrest.cpp note.cpp musicxmlimport.cpp \ beam.cpp tuplet.cpp clipboard.cpp midiexport.cpp measure.cpp \ freereplaceable.cpp volumesign.cpp temposign.cpp slurpoint.cpp \ slur.cpp linepoint.cpp line.cpp crescendo.cpp octavation.cpp \ line3.cpp acceleration.cpp freetext.cpp freesign.cpp \ importer.cpp positionarray.cpp freechord.cpp freespacer.cpp \ pangocairotext.cpp freechordname.cpp midiimporter.cpp midirecorder.cpp nted_SOURCES += acceleration.h beam.h beaming.h chordorrest.h \ clipboard.h crescendo.h freereplaceable.h freesign.h freetext.h \ importer.h line3.h line.h linepoint.h localization.h \ mainwindow.h measure.h midiexport.h musicxmlimport.h note.h\ octavation.h page.h resource.h slur.h slurpoint.h staff.h system.h \ temposign.h tuplet.h voice.h volumesign.h positionarray.h dynarray.h COPYING.GFDL COPYING.FONT.TXT \ freechord.h freespacer.h pangocairotext.h freechordname.h midiimporter.h midirecorder.h nted_LDADD = commands/libcommands.a dialogs/libdialogs.a chords/libchords.a idiotseditor/libidiotseditor.a $(CAIRO_LIBS) $(PANGO_LIBS) $(GTK_LIBS) $(X11_LIBS) -lasound cleanup: maintainer-clean cleanup-local distclean-local: rm -f po/stamp-po # Clean up all generated files. You can re-create them with autoreconf. cleanup-local: find . -name Makefile | xargs rm -f find $(srcdir) -name Makefile.in | xargs rm -f rm -f ./config.status ./config.log cd $(srcdir) && rm -f config.sub config.guess config.rpath cd $(srcdir) && rm -f aclocal.m4 configure config.h.in cd $(srcdir) && rm -f depcomp install-sh missing mkinstalldirs rm -f ./config.h find . -type d -name .deps -exec rm -fr {} \; -prune rm -f stamp-h1 rm -rf $(srcdir)/autom4te.cache cd $(srcdir) && rm -rf m4 cd $(srcdir)/po && rm -f boldquot.sed en@boldquot.header en@quot.header insert-header.sin quot.sed remove-potcdate.sin Rules-quot cd $(srcdir)/po && rm -f Makefile.in.in Makevars.template cd $(srcdir) && rm -f ABOUT-NLS ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = config.rpath INSTALL README nted-1.10.18/ABOUT_THE_EXAMPLES.TXT0000664001041000007640000001030311520267230013000 00000000000000Here is some information about the 11 examples, to enable a copyright-free estimation: First of all: I (J.Anders wrote down all these notes. I wrote all notes from my remembrances, not from a sheet of paper. So the notes are not copies of some printed notes. And I declare I'll never demand any copyright. Of course I'm not the composer! Thus, the question is: Does any composer hold a copyright? I think this isn't the case because according to (German) copyright law the copyright ends 70 years after the composer died. And this is the case here. I'll tell something about the examples to give others the opportunity to find out whether the examples are copyright free: example1.ntd, example2.ntd, example11.ntd: This is a jazz variant of the famous Barcarole from the opera "Les Contes d'Hoffmann" ("The Tales of Hoffmann") by Jacques Offenbach. Offenbach died 5 October 1880. See also : http://en.wikipedia.org/wiki/Jacques_Offenbach As a child I heard a big band playing this song this way. But note: I never saw any notes. example3.ntd This is the famous Bouree e - minor (BWV Nr. 996) by Johann Sebastian Bach who died 28 July 1750. see: http://en.wikipedia.org/wiki/Bach I can play this without any notes on guitar. I don't know from which notes I learned it. I simply wrote down what I'm playing. You can find the notes at many places in Internet: http://bs.cyty.com/visitabilis/gitarre/img/bourree.gif http://www.delcamp.net/pdf/2_baroque/bwv9965_bach_bourree.pdf http://www.thomaskoenigs.de/bach_bwv996.zip example4.ntd This is an Irish folk song called "Oh danny boy". Again as a child I heard a big band playing the song this way. But I never saw any notes. To hear a MIDI example look here: http://www.ireland-information.com/irishmusic/dannyboy.shtml (you'll hear I made some mistakes, the exact melody differs from my version, another indication: It is written down from my remembrances) Actually the song is by Frederic Edward Weatherly (1848-1929). But he only wrote the lyrics to an unsuccessful song called "Danny Boy". As he heard an old song called "Londonderry Air" he found the words fit exactly to the music. So he used the melody of "Londonderry Air" for his song "Danny Boy". Therefore the question is: Where does the melody of "Londonderry Air" come form: It was first published 1855 in "Ancient Music of Ireland" by the collector George Petrie (1789-1866) as untitled melody, who claimed he had written down it from an itinerant piper. The whole story about this song is at: http://www.standingstones.com/dannyboy.html example5.ntd, example6.ntd: This is a Celtic/Irish folk song known as "Kilgary Mountain" or "Whiskey In The Jar" (I changed some notes and added my own finish) The MIDI and the words are mentiond here: http://www.contemplator.com/tunebook/ireland/kilgary.htm http://www.contemplator.com/tunebook/midimusic/kilgary.mid example7.ntd: This is the famous "Huntmen's Chorus" ("Jaegerchor") from the opera "The Freeshooter" ("Der Freischuetz") by the German composer Carl Maria von Weber who died June 5, 1826, see http://en.wikipedia.org/wiki/Carl_Maria_von_Weber example8.ntd: This song is called "Old folks at home", also known as "Suwanee River". It is written by Stephen C. Foster who died January 13, 1864. See also: http://en.wikipedia.org/wiki/Stephen_C._Foster example9.ntd: This is the famous Prelude No.1 in C Major from "Well-tempered Clavier" BWV846 by Johann Sebastian Bach who died 28 July 1750. see: http://en.wikipedia.org/wiki/Bach I could play this on piano and wrote down what I'm playing as I developed "NoteEdit". What you see here is the MusicXML import from MusicXML created by "NoteEdit". example10.ntd: This is a German folk song: "Es wollt ein Schneider wandern" first published in Stuttgart, 1850. You can find the text, the melody, and the history on many WEB sites, for instance: http://musicanet.org/robokopp/Lieder/eswollts.html http://ingeb.org/Lieder/eswollts.html http://www.lieder-archiv.de/lieder/show_song.php?ix=300641 nted-1.10.18/system.cpp0000664001041000007640000017551611520267230011601 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include #include "system.h" #include "staff.h" #include "page.h" #include "chordorrest.h" #include "resource.h" #include "mainwindow.h" #include "clipboard.h" #include "commandlist.h" #include "commandhistory.h" #include "voice.h" #include "movechordsandrestscommand.h" #include "movechordsandrestsreversecommand.h" #include "appendstaffcommand.h" #include "mainwindow.h" #include "musicxmlimport.h" #include "pangocairotext.h" #define DEFAULT_SYSTEM_DIST (4 * LINE_DIST) #define X_POS_PAGE_REL(p) ((getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS(p) ((p) * zoom_factor - topy) #define Y_POS_INVERSE(p) (((p) / current_scale + topy) / zoom_factor) #define X_POS_PAGE_REL_INVERSE(p) (((p) + leftx) / zoom_factor - getPage()->getContentXpos()) #define X_POS_INVERSE(p) (((p) / current_scale + leftx) / zoom_factor) #define X_PS_POS(p) ((DEFAULT_BORDER + LEFT_RIGHT_BORDER + (p)) * PS_ZOOM) #define Y_PS_POS(p) ((height - (p)) * PS_ZOOM) NedSystem::NedSystem(NedPage *page, double ypos, double width, int nr, unsigned int start_measure_number, bool start) : m_system_start(CLEF_SPACE), m_is_positioned(false), m_staffs(NULL), m_deleted_staffs(NULL), m_ypos(ypos), m_width(width), m_system_number(nr), m_has_repeat_lines(false), m_page(page), m_measure_count(0), m_extra_space(0.0), m_only_whole_elements(FALSE), m_endMeasure(NULL), m_special_measure_at_end(0) { int i; double staff_pos = 0; NedStaff *staff; GList *lptr; if (page->getPageNumber() == 0 && nr == 0) { m_system_start += TIME_SIGNATURE_SPACE; } for (i = 0; i < MAX_MEASURES; m_measures[i++].setSystem(this)); if (start) { for (i = 0; i < getMainWindow()->getStaffCount(); i++) { m_staffs = g_list_append(m_staffs, staff = new NedStaff(this, staff_pos, m_width, i, TRUE)); staff_pos += staff->getHeight() + DEFAULT_SYSTEM_DIST; } do { for (i = 0, lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr), i++) { ((NedStaff *) lptr->data)->appendWholeRest(); } //do_reposit(); reposit(start_measure_number); } while (m_extra_space > MAXIMUM_EXTRA_SPACE); } } NedSystem::~NedSystem() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { delete ((NedStaff *) (lptr->data)); } g_list_free(m_staffs); m_staffs = NULL; for (lptr = g_list_first(m_deleted_staffs); lptr; lptr = g_list_next(lptr)) { delete ((NedStaff *) (lptr->data)); } g_list_free(m_deleted_staffs); m_deleted_staffs = NULL; } NedSystem *NedSystem::clone(struct addr_ref_str **addrlist, struct addr_ref_str **slurlist, NedPage *p_page, bool *staves) { GList *lptr; int i, j; NedSystem *system = new NedSystem(p_page, m_ypos, m_width, m_system_number, getNumberOfFirstMeasure(), false); for (i = j = 0, lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr), i++) { if (!staves[i]) continue; system->m_staffs = g_list_append(system->m_staffs, ((NedStaff *) lptr->data)->clone(addrlist, slurlist, system, j++)); } return system; } void NedSystem::adjust_pointers(struct addr_ref_str *addrlist, struct addr_ref_str *slurlist) { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->adjust_pointers(addrlist, slurlist); } } NedStaff *NedSystem::getStaff(int nr) { GList *lptr; if ((lptr = g_list_nth(m_staffs, nr)) == NULL) { return NULL; } return (NedStaff *) lptr->data; } void NedSystem::fill_up(NedCommandList *command_list) { GList *lptr; do { for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->appendWholeRest(command_list); } compute_extra_space(false); //do_reposit(false); } while (m_extra_space > MINIMUM_EXTRA_SPACE); } double NedSystem::getHeight() { NedStaff *staff; staff = (NedStaff *) g_list_last(m_staffs)->data; return staff->getBottomPos(); } double NedSystem::getBottomPos() { NedStaff *staff; staff = (NedStaff *) g_list_last(m_staffs)->data; return m_ypos + staff->getBottomPos(); } NedMainWindow *NedSystem::getMainWindow() {return m_page->getMainWindow();} /* bool NedSystem::find_new_cursor_pos(guint keyval, int *x, int *y, double *dist) { GList *lptr; double newx = x, newy = y; bool found = false; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { if (((NedSystem *) lptr->data)->find_new_cursor_pos(keyval, &newx, &newy, dist)) { found = true; *x = newx; *y = newy; } } return found; } */ void NedSystem::draw(cairo_t *cr, bool first_page, bool show_measure_numbers, bool *freetexts_or_lyrics_present) { double leftx = getMainWindow()->getLeftX(); double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); NedStaff *firststaff, *laststaff; NedStaff *staff; double brace_start_y_pos = -1.0; double bracket_start_y_pos = -1.0; bool inside_connected_staves = false; bool inside_bracket = false; int i; double botp, botp1, botp2; double indent = first_page ? getMainWindow()->getFirstSystemIndent() : getMainWindow()->get2ndSystemIndent(); GList *lptr1, *lptr2; lptr1 = g_list_first(m_staffs); lptr2 = g_list_next(lptr1); m_freetexts_or_lyrics_present = false; for (i = 0, lptr2 = g_list_next(lptr1); lptr1; lptr1 = lptr2, lptr2 = g_list_next(lptr2), i++) { if ((getMainWindow()->m_staff_contexts[i].m_flags & CON_BAR_START) != 0) { inside_connected_staves = true; } if ((getMainWindow()->m_staff_contexts[i].m_flags & CON_BAR_END) != 0) { inside_connected_staves = false; } botp1 = botp2 = ((NedStaff *) lptr1->data)->getBottomPos(); if (lptr2) botp2 = ((NedStaff *) lptr2->data)->getBottomPos(); if (inside_connected_staves) { if (lptr2 == NULL) { NedResource::Abort("NedSystem::draw"); } botp = botp2; } else { botp = botp1; } ((NedStaff *) lptr1->data)->draw(cr, botp, first_page, indent, &m_freetexts_or_lyrics_present); } firststaff = (NedStaff *) g_list_first(m_staffs)->data; laststaff = (NedStaff *) g_list_last(m_staffs)->data; if (show_measure_numbers && (m_system_number != 0 || !first_page)) { cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(indent + MEASURE_NUMBER_X_POS), Y_POS(m_ypos + firststaff->getTopPos() + MEASURE_NUMBER_Y_POS)); cairo_select_font_face(cr, "Sans", MEASURE_NUMBER_SLANT, MEASURE_NUMBER_WEIGHT); cairo_set_font_size(cr, MEASNUMBER_SIZE * zoom_factor); cairo_show_text(cr, m_measures[0].getNumberString()); cairo_stroke(cr); #ifdef HAS_SET_SCALED_FONT cairo_set_scaled_font (cr, scaled_font); #else cairo_set_font_face(cr, NedResource::getFontFace()); cairo_set_font_matrix(cr, NedResource::getFontMatrix(getMainWindow()->getCurrentZoomLevel())); #endif } cairo_new_path(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); #ifdef BADLINEPOLICY cairo_set_line_width(cr, zoom_factor * STAFF_START_LEFT_THICK); #else cairo_set_line_width(cr, zoom_factor * MEASURE_LINE_THICK); #endif if (g_list_length(m_staffs) > 1) { cairo_move_to(cr, X_POS_PAGE_REL(indent), Y_POS(m_ypos + firststaff->getTopPos() - LINE_THICK / 2.0)); cairo_line_to(cr, X_POS_PAGE_REL(indent), Y_POS(m_ypos + laststaff->getBottomPos() + LINE_THICK / 2.0)); } #ifdef BADLINEPOLICY if (!m_special_measure_at_end) { // i.e there is a key signature at the end cairo_move_to(cr, X_POS_PAGE_REL(m_width), Y_POS(m_ypos + firststaff->getTopPos() - LINE_THICK / 2.0)); cairo_line_to(cr, X_POS_PAGE_REL(m_width), Y_POS(m_ypos + laststaff->getBottomPos() + LINE_THICK / 2.0)); } #endif cairo_stroke(cr); //#define SHOW_MEASURES_END #ifdef SHOW_MEASURES_END cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * 4 * STEM_THICK); cairo_move_to(cr, X_POS_PAGE_REL(m_measures[m_measure_count].end), Y_POS(m_ypos + firststaff->getTopPos() - LINE_THICK / 2.0)); cairo_line_to(cr, X_POS_PAGE_REL(m_measures[m_measure_count].end), Y_POS(m_ypos + laststaff->getBottomPos() + LINE_THICK / 2.0)); cairo_stroke(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(m_measures[m_measure_count].end - m_extra_space), Y_POS(m_ypos + firststaff->getTopPos() + 3 * LINE_THICK)); cairo_line_to(cr, X_POS_PAGE_REL(m_measures[m_measure_count].end), Y_POS(m_ypos + firststaff->getTopPos() + 3 * LINE_THICK)); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); cairo_stroke(cr); #endif for (i = 0; i < getMainWindow()->getStaffCount(); i++) { staff = (NedStaff *) g_list_nth(m_staffs, i)->data; if ((getMainWindow()->m_staff_contexts[i].m_flags & BRACE_START) != 0) { brace_start_y_pos = staff->getTopPos(); } if ((getMainWindow()->m_staff_contexts[i].m_flags & BRACE_END) != 0) { if (brace_start_y_pos >= 0.0) { drawBrace(cr, leftx, indent - (inside_bracket ? 2 * NESTED_BRACE_INDENT : BRACE_SPACE) , topy, zoom_factor, staff->getBottomPos() - brace_start_y_pos, brace_start_y_pos); if (first_page) { if (getMainWindow()->m_staff_contexts[i].m_group_name != NULL) { m_freetexts_or_lyrics_present = true; } } else if (getMainWindow()->m_staff_contexts[i].m_group_short_name != NULL) { m_freetexts_or_lyrics_present = true; } brace_start_y_pos = -1.0; } } if ((getMainWindow()->m_staff_contexts[i].m_flags & BRACKET_START) != 0) { bracket_start_y_pos = staff->getTopPos(); inside_bracket = true; } if ((getMainWindow()->m_staff_contexts[i].m_flags & BRACKET_END) != 0) { if (bracket_start_y_pos >= 0.0) { drawBracket(cr, leftx, indent, topy, zoom_factor, bracket_start_y_pos, staff->getBottomPos()); if (first_page) { if (getMainWindow()->m_staff_contexts[i].m_group_name != NULL) { m_freetexts_or_lyrics_present = true; } } else if (getMainWindow()->m_staff_contexts[i].m_group_short_name != NULL) { m_freetexts_or_lyrics_present = true; } bracket_start_y_pos = -1.0; } inside_bracket = false; } } if (m_freetexts_or_lyrics_present) *freetexts_or_lyrics_present = true; if (m_endMeasure != NULL) { cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); cairo_rectangle (cr, X_POS_PAGE_REL(m_endMeasure->start + REP_THICK_LINE_DIST / 3.0), Y_POS(m_ypos + firststaff->getTopPos() + firststaff->getTopYBorder() - 2 * REP_THICK_LINE_DIST ), (m_width - (m_endMeasure->start) + (LEFT_RIGHT_BORDER - 2 * DEFAULT_BORDER)) * zoom_factor, (laststaff->getBottomPos() + laststaff->getBottomYBorder() - (firststaff->getTopPos() + firststaff->getTopYBorder()) + 4 * REP_THICK_LINE_DIST) * zoom_factor); cairo_fill(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } }; void NedSystem::drawTexts(cairo_t *cr, bool first_page, double scale) { double leftx = getMainWindow()->getLeftX(); double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); NedStaff *staff; double brace_start_y_pos = -1.0; double bracket_start_y_pos = -1.0; int i; bool group_written; if (!m_freetexts_or_lyrics_present) return; for (i = 0; i < getMainWindow()->getStaffCount(); i++) { staff = (NedStaff *) g_list_nth(m_staffs, i)->data; if ((getMainWindow()->m_staff_contexts[i].m_flags & BRACE_START) != 0) { brace_start_y_pos = staff->getTopPos(); } group_written = false; if ((getMainWindow()->m_staff_contexts[i].m_flags & BRACE_END) != 0) { if (brace_start_y_pos >= 0.0) { if (first_page) { if (getMainWindow()->m_staff_contexts[i].m_group_name != NULL) { group_written = true; getMainWindow()->m_staff_contexts[i].m_group_name->draw(cr, ((getPage()->getContentXpos()) * zoom_factor - leftx - BRACE_X_OFFSET) * scale + (getMainWindow()->getNettoIndent() - getMainWindow()->m_staff_contexts[i].m_group_name->getInternalWidth()), Y_POS(m_ypos + brace_start_y_pos + (staff->getTopPos() + 4 * LINE_DIST - brace_start_y_pos - LINE_DIST) / 2.0) * scale, zoom_factor, scale); } } else if (getMainWindow()->m_staff_contexts[i].m_group_short_name != NULL) { group_written = true; getMainWindow()->m_staff_contexts[i].m_group_short_name->draw(cr, ((getPage()->getContentXpos()) * zoom_factor - leftx - BRACE_X_OFFSET) * scale + (getMainWindow()->get2ndNettoIndent() - getMainWindow()->m_staff_contexts[i].m_group_short_name->getInternalWidth()), Y_POS(m_ypos + brace_start_y_pos + (staff->getTopPos() + 4 * LINE_DIST - brace_start_y_pos - LINE_DIST) / 2.0) * scale, zoom_factor, scale); } } } if ((getMainWindow()->m_staff_contexts[i].m_flags & BRACKET_START) != 0) { bracket_start_y_pos = staff->getTopPos(); } if ((getMainWindow()->m_staff_contexts[i].m_flags & BRACKET_END) != 0) { if (bracket_start_y_pos >= 0.0) { if (!group_written) { if (first_page) { if (getMainWindow()->m_staff_contexts[i].m_group_name != NULL) { getMainWindow()->m_staff_contexts[i].m_group_name->draw(cr, ((getPage()->getContentXpos()) * zoom_factor - leftx) * scale + (getMainWindow()->getNettoIndent() - getMainWindow()->m_staff_contexts[i].m_group_name->getInternalWidth()), Y_POS(m_ypos + bracket_start_y_pos + (staff->getTopPos() + 4 * LINE_DIST - bracket_start_y_pos - LINE_DIST) / 2.0) * scale, zoom_factor, scale); } } else if (getMainWindow()->m_staff_contexts[i].m_group_short_name != NULL) { getMainWindow()->m_staff_contexts[i].m_group_short_name->draw(cr, ((getPage()->getContentXpos()) * zoom_factor - leftx) * scale + (getMainWindow()->get2ndNettoIndent() - getMainWindow()->m_staff_contexts[i].m_group_short_name->getInternalWidth()), Y_POS(m_ypos + bracket_start_y_pos + (staff->getTopPos() + 4 * LINE_DIST - bracket_start_y_pos - LINE_DIST) / 2.0) * scale, zoom_factor, scale); } bracket_start_y_pos = -1.0; } } } staff->drawTexts(cr, first_page, scale); } }; void NedSystem::drawBrace (cairo_t *cr, double leftx, double indent, double topy, double zoom_factor, double height, double toppos) { int i; cairo_new_path(cr); cairo_set_line_width(cr, 1.0); #define BRACE_OFFS -0.03 #define BRACE_X_FACTOR 0.004 #define BRACE_Y_FACTOR 0.00106 #define FAKX(a) (BRACE_X_FACTOR * zoom_factor * a) #define FAKY(a) (BRACE_Y_FACTOR * zoom_factor * a * height) cairo_move_to(cr, X_POS_PAGE_REL(indent-0.05), Y_POS(m_ypos + toppos + BRACE_OFFS)); for (i = 0; i < 16; i++) { cairo_rel_curve_to(cr, FAKX(NedResource::m_braceOutline[i][0]), FAKY(NedResource::m_braceOutline[i][1]), FAKX(NedResource::m_braceOutline[i][2]), FAKY(NedResource::m_braceOutline[i][3]), FAKX(NedResource::m_braceOutline[i][4]), FAKY(NedResource::m_braceOutline[i][5])); } cairo_fill(cr); } void NedSystem::drawBracket (cairo_t *cr, double leftx, double indent, double topy, double zoom_factor, double toppos, double botpos) { int i; cairo_new_path(cr); cairo_set_line_width(cr, 1.0); #define BRACKET_X_OFFS -0.2 #define BRACKET_Y_OFFS 0.1 #define BRACKET_X_FACTOR 0.0008 #define BRACKET_Y_FACTOR 0.0008 #define BRACKET_FAKX(a) (BRACKET_X_FACTOR * zoom_factor * a) #define BRACKET_FAKY(a) (BRACKET_Y_FACTOR * zoom_factor * a) #define BRACKET_THICK 0.1 #define BRACKET_LINE_DIST 0.05 cairo_move_to(cr, X_POS_PAGE_REL(indent+BRACKET_X_OFFS), Y_POS(m_ypos + botpos + BRACKET_Y_OFFS)); for (i = 0; i < 5; i++) { cairo_rel_curve_to(cr, BRACKET_FAKX(NedResource::m_bracketEndOutline[i][0]), BRACKET_FAKY(NedResource::m_bracketEndOutline[i][1]), BRACKET_FAKX(NedResource::m_bracketEndOutline[i][2]), BRACKET_FAKY(NedResource::m_bracketEndOutline[i][3]), BRACKET_FAKX(NedResource::m_bracketEndOutline[i][4]), BRACKET_FAKY(NedResource::m_bracketEndOutline[i][5])); } cairo_close_path(cr); cairo_fill(cr); cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(indent+BRACKET_X_OFFS), Y_POS(m_ypos + toppos - BRACKET_Y_OFFS)); for (i = 0; i < 5; i++) { cairo_rel_curve_to(cr, BRACKET_FAKX(NedResource::m_bracketEndOutline[i][0]), BRACKET_FAKY(-NedResource::m_bracketEndOutline[i][1]), BRACKET_FAKX(NedResource::m_bracketEndOutline[i][2]), BRACKET_FAKY(-NedResource::m_bracketEndOutline[i][3]), BRACKET_FAKX(NedResource::m_bracketEndOutline[i][4]), BRACKET_FAKY(-NedResource::m_bracketEndOutline[i][5])); } cairo_close_path(cr); cairo_fill(cr); cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * BRACKET_THICK); cairo_move_to(cr, X_POS_PAGE_REL(indent+BRACKET_X_OFFS - BRACKET_LINE_DIST), Y_POS(m_ypos + toppos - BRACKET_Y_OFFS)); cairo_line_to(cr, X_POS_PAGE_REL(indent+BRACKET_X_OFFS - BRACKET_LINE_DIST), Y_POS(m_ypos + botpos + BRACKET_Y_OFFS)); cairo_stroke(cr); } void NedSystem::empty() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->empty(); } } bool NedSystem::hasOnlyRests() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { if (!((NedStaff *) lptr->data)->hasOnlyRests()) return false; } return true; } bool NedSystem::trySelect(double x, double y, bool only_free_placeables) { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { if (((NedStaff *) lptr->data)->trySelect(x, y, only_free_placeables)) { return TRUE; } } return FALSE; } NedChordOrRest *NedSystem::findNearestElement(int staff_nr, double x, double y, NedStaff *oldstaff, double *mindist, double *ydist) { NedChordOrRest *nearestElement = NULL, *element; GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { if (staff_nr >= 0 && ((NedStaff *) lptr->data)->getStaffNumber() != staff_nr) continue; if ((element = ((NedStaff *) lptr->data)->findNearestElement(x, y, oldstaff, mindist, ydist)) != NULL) { nearestElement = element; } } return nearestElement; } bool NedSystem::tryChangeLength(NedChordOrRest *chord_or_rest) { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { if (((NedStaff *) lptr->data)->tryChangeLength(chord_or_rest)) { return TRUE; } } return FALSE; } double NedSystem::computeMidDist(double y) { double tp, bt; double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); tp = Y_POS(m_ypos + ((NedStaff *) g_list_first(m_staffs)->data)->getTopPos()); bt = Y_POS(m_ypos + ((NedStaff *) g_list_last(m_staffs)->data)->getBottomPos()); y /= getMainWindow()->getCurrentScale(); if (y < tp) { return tp - y; } if (y > bt) { return y - bt; } return 0.0; } bool NedSystem::testLineOverflow() { compute_extra_space(false); //do_reposit(false); return m_extra_space < MINIMUM_EXTRA_SPACE && m_measure_count > 1; } void NedSystem::removeLastImported() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->removeLastImported(); } m_measure_count--; } bool NedSystem::truncateAtStart(NedCommandList *command_list, unsigned long long midi_time) { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { if (!((NedStaff *) lptr->data)->truncateAtStart(command_list, midi_time)) return false; } return true; } bool NedSystem::handleImportedTuplets() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { if (!((NedStaff *) lptr->data)->handleImportedTuplets()) return false; } return true; } void NedSystem::prepareForImport() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->prepareForImport(); } } void NedSystem::appendElementsOfMeasureLength(part *parts, unsigned int meas_duration, int meas_num) { NedStaff *staff; part *part_ptr; int i; GList *lptr; for (i = 0, lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr), i++) { staff = (NedStaff *) lptr->data; part_ptr = &(parts[i]); staff->appendElementsOfMeasureLength(part_ptr, meas_duration, meas_num); } } void NedSystem::copyDataOfWholeStaff(int staff_nr) { GList *lptr; if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("NedSystem::copyDataOfWholeStaff"); } ((NedStaff *) lptr->data)->copyDataOfWholeStaff(); } void NedSystem::handleStaffElements() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->handleStaffElements(); } } void NedSystem::setInternalPitches() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->setInternalPitches(); } } void NedSystem::adjustAccidentals(int staff_nr) { GList *lptr; if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("NedSystem::adjustAccidentals"); } ((NedStaff *) lptr->data)->adjustAccidentals(); } void NedSystem::changeAccidentals(NedCommandList *command_list, int preferred_offs, bool *staff_list, GList *selected_group) { GList *lptr; int i; for (i = 0, lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr), i++) { if (!staff_list[i]) continue; ((NedStaff *) lptr->data)->changeAccidentals(command_list, preferred_offs, selected_group); } } void NedSystem::transpose(int pitchdist, bool *staff_list, GList *selected_group) { GList *lptr; int i; for (i = 0, lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr), i++) { if (!staff_list[i]) continue; ((NedStaff *) lptr->data)->transpose(pitchdist, selected_group); } } void NedSystem::hideRests(NedCommandList *command_list, bool unhide, int staff_nr, int voice_nr) { GList *lptr; if (staff_nr < 0) { for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->hideRests(command_list, unhide, voice_nr); } return; } if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("NedSystem::hideRests"); } ((NedStaff *) lptr->data)->hideRests(command_list, unhide, voice_nr); } bool NedSystem::shiftNotes(unsigned long long start_time, int linedist, int staff_number) { GList *lptr; if ((lptr = g_list_nth(m_staffs, staff_number)) == NULL) { NedResource::Abort("NedSystem::shiftNotes"); } return ((NedStaff *) lptr->data)->shiftNotes(start_time, linedist); } void NedSystem::removeUnneededAccidentals(int staff_nr) { GList *lptr; if (staff_nr < 0) { for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->removeUnneededAccidentals(); } } else { if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("NedSystem::removeUnneededAccidentals"); } ((NedStaff *) lptr->data)->removeUnneededAccidentals(); } } bool NedSystem::tryInsertOrErease(double x, double y, int num_midi_input_notes, int *midi_input_chord /* given if insert from midikeyboard */, NedChordOrRest **newObj, bool force_rest) { GList *lptr; double mindist, d; lptr = g_list_first(m_staffs); NedStaff *nearest_staff = (NedStaff *) lptr->data; mindist = nearest_staff->computeMidDist(y); for (lptr = g_list_next(lptr); lptr; lptr = g_list_next(lptr)) { if ((d = ((NedStaff *) lptr->data)->computeMidDist(y)) < mindist) { nearest_staff = (NedStaff *) lptr->data; mindist = d; } } if (nearest_staff->tryInsertOrErease(x, y, num_midi_input_notes, midi_input_chord, newObj, force_rest)) { return true; } return false; } bool NedSystem::findLine(double x, double y, double *ypos, int *line, double *bottom, NedStaff **staff) { GList *lptr; double mindist, d; lptr = g_list_first(m_staffs); NedStaff *nearest_staff = (NedStaff *) lptr->data; mindist = nearest_staff->computeMidDist(y); for (lptr = g_list_next(lptr); lptr; lptr = g_list_next(lptr)) { if ((d = ((NedStaff *) lptr->data)->computeMidDist(y)) < mindist) { nearest_staff = (NedStaff *) lptr->data; mindist = d; } } if (nearest_staff->findLine(x, y, ypos, line, bottom)) { *staff = nearest_staff; return TRUE; } return FALSE; } bool NedSystem::findElement(guint keyval, double x, double y, NedChordOrRest **element, NedStaff **staff) { double leftx = getMainWindow()->getLeftX(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); int i; double dummy1, dummy3; int dummy2; double xx; if (!findLine(x, y, &dummy1, &dummy2, &dummy3, staff) ) return FALSE; xx = X_POS_PAGE_REL_INVERSE(x); switch(keyval) { case GDK_Right: for (i = 0; i < m_measure_count; i++) { if (m_measures[i].start <= xx && m_measures[i].end >= xx) { return (*staff)->findFirstElementeGreaterThan(m_measures[i].end, element); } } return false; case GDK_Left: for (i = m_measure_count - 1; i >= 0; i--) { if (m_measures[i].start <= xx && m_measures[i].end >= xx) { return (*staff)->findLastElementeLessThan(m_measures[i].start, element); } } return false; } return false; } NedStaff *NedSystem::findStaff(double x, double y, NedMeasure **measure) { double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double topy = getMainWindow()->getTopY(); double current_scale = getMainWindow()->getCurrentScale(); double yl = Y_POS_INVERSE(y) - m_ypos; int i; GList *lptr; x -= getPage()->getContentXpos(); for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { if (((NedStaff *) lptr->data)->getTopPos() < yl && ((NedStaff *) lptr->data)->getBottomPos() > yl) { for (i = 0; i <= m_measure_count; i++) { if (m_measures[i].isNearStart(x)) { *measure = &(m_measures[i]); } } return (NedStaff *) lptr->data; } } return NULL; } void NedSystem::appendStaff(NedCommandList *command_list, int p_staff_nr /* = -1 */) { NedStaff *staff; int staff_nr; if (p_staff_nr < 0) { staff_nr = g_list_length(m_staffs); } else { staff_nr = p_staff_nr; } staff = new NedStaff(this, 10.0 /* dummy */, m_width, staff_nr, TRUE); if (getMainWindow()->getUpBeatInverse() > 0 && m_page->getPageNumber() == 0 && m_system_number == 0) { staff->setUpbeatRests(getMainWindow()->getNumerator() * WHOLE_NOTE / getMainWindow()->getDenominator() - getMainWindow()->getUpBeatInverse()); staff->appendAppropriateWholes(1); } else { staff->appendAppropriateWholes(0); } command_list->addCommand(new NedAppendStaffCommand(this, staff)); } NedChordOrRest *NedSystem::getFirstObjectInNextSystem(int staff_nr) { NedSystem *system; GList *lptr; if ((system = m_page->getNextSystem(this)) == NULL) return NULL; if ((lptr = g_list_nth(system->m_staffs, staff_nr)) == NULL) { NedResource::Abort("NedSystem::getFirstObjectInNextSystem"); } lptr = ((NedStaff *) lptr->data)->getFirstChordOrRest(0, 0, false, false); if (lptr == NULL) return NULL; return (NedChordOrRest *) lptr->data; } void NedSystem::do_append_staff(NedStaff *staff) { m_staffs = g_list_append(m_staffs, staff); } void NedSystem::do_remove_staff(NedStaff *staff) { GList *lptr; if ((lptr = g_list_find(m_staffs, staff)) == NULL) { NedResource::Abort("NedSystem::do_remove_staff"); } m_staffs = g_list_delete_link(m_staffs, lptr); } void NedSystem::cutEmptyVoices() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->cutEmptyVoices(); } } void NedSystem::handleEmptyMeasures() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->handleEmptyMeasures(); } } void NedSystem::zoomFreeReplaceables(double zoom, double scale) { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->zoomFreeReplaceables(zoom, scale); } } void NedSystem::recomputeFreeReplaceables() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->recomputeFreeReplaceables(); } } void NedSystem::testTies() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->testTies(); } } void NedSystem::removeLastStaff() { GList *lptr; NedStaff *staff; if (g_list_length(m_staffs) < 2) { NedResource::Abort("NedSystem::removeLastStaff"); } lptr = g_list_last(m_staffs); staff = (NedStaff *) lptr->data; delete staff; m_staffs = g_list_delete_link(m_staffs, lptr); } void NedSystem::deleteStaff(int staff_number) { GList *lptr; NedStaff *staff; int i; if ((lptr = g_list_nth(m_staffs, staff_number)) == NULL) { NedResource::Abort("NedSystem::deleteStaff"); } staff = (NedStaff *) lptr->data; m_staffs = g_list_delete_link(m_staffs, lptr); m_deleted_staffs = g_list_append(m_deleted_staffs, staff); for (i = 0, lptr = g_list_first(m_staffs); lptr; i++, lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->setStaffNumber(i); } } void NedSystem::restoreStaff(int staff_number) { GList *lptr; NedStaff *staff; int pos, i; if ((lptr = g_list_last(m_deleted_staffs)) == NULL) { NedResource::Abort("NedSystem::restoreStaff"); } staff = (NedStaff *) lptr->data; m_deleted_staffs = g_list_delete_link(m_deleted_staffs, lptr); pos = staff->getStaffNumber(); if (pos != staff_number) { NedResource::Abort("NedSystem::restoreStaff: pos != staff_number"); } m_staffs = g_list_insert(m_staffs, staff, pos); for (i = 0, lptr = g_list_first(m_staffs); lptr; i++, lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->setStaffNumber(i); } } void NedSystem::shiftStaff(int staff_number, unsigned int position) { GList *lptr; NedStaff *staff; int i; if (position > g_list_length(m_staffs)) { NedResource::Abort("NedSystem::shiftStaff(1)"); } if ((lptr = g_list_nth(m_staffs, staff_number)) == NULL) { NedResource::Abort("NedSystem::shiftStaff(2)"); } staff = (NedStaff *) lptr->data; m_staffs = g_list_delete_link(m_staffs, lptr); m_staffs = g_list_insert(m_staffs, staff, position); for (i = 0, lptr = g_list_first(m_staffs); lptr; i++, lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->setStaffNumber(i); } } bool NedSystem::reposit(int measure_number, NedCommandList *command_list /* = NULL */, NedSystem **next_system /* = NULL */) { GList *lptr; NedSystem *other_system; int newnum, i; unsigned long long midi_time = 0; unsigned int meas_duration; bool use_upbeat = (m_system_number == 0 && m_page->getPageNumber() == 0); int critical_measure; //bool changed = false; //bool out = (m_system_number == 6 && m_page->getPageNumber() == 2); if (next_system != NULL) *next_system = m_page->getNextSystem(this); if (m_is_positioned) { return false; } if (measure_number < 0) { measure_number = m_measures[0].getMeasureNumber(); } for (i = 0; i < MAX_MEASURES; i++) { m_measures[i].midi_start = midi_time; meas_duration = getMainWindow()->getMeasureDuration(measure_number); m_measures[i].setMeasureNumber(measure_number++, getMainWindow()->m_special_measures /* friend !! */, true); if (!m_measures[i].m_special_spread) { m_measures[i].m_spread_fac = getMainWindow()->getGlopabSpreadFac(); } midi_time += meas_duration; m_measures[i].midi_end = midi_time; } if (command_list == NULL) { do_reposit(use_upbeat); return false; } compute_extra_space(use_upbeat); //do_reposit(use_upbeat); m_check_line_compression = true; if (m_extra_space < MINIMUM_EXTRA_SPACE && m_measure_count > 1) { //printf("pag: %d sys: %d: m_extra_space(%f) < MINIMUM_EXTRA_SPACE (%f)reposit\n", m_page->getPageNumber(), m_system_number, m_extra_space, MINIMUM_EXTRA_SPACE); fflush(stdout); m_check_line_compression = FALSE; //critical_measure = m_special_measure_at_end ? m_measure_count-2 : m_measure_count-1; critical_measure = m_measure_count-1; //int xx = 0; NedClipBoard *board = new NedClipBoard(); if (m_measures[critical_measure].m_measure_has_only_staff_members) critical_measure--; board->setRefTimeAndDuration(m_measures[critical_measure].midi_start, m_measures[critical_measure].midi_end - m_measures[critical_measure].midi_start); for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->collectChordsAndRests(board, m_measures[critical_measure].midi_start, m_measures[critical_measure].midi_end); } if ((board->onlyWholeRests() && m_page->isLastSystem(this))) { board->setDeleteOnly(); other_system = NULL; } else { other_system = m_page->getNextSystem(this, command_list); if (next_system != NULL) *next_system = other_system; } //changed = true; newnum = m_measures[m_measure_count-1].getMeasureNumber(); if (other_system != NULL) { other_system->collectDestinationVoices(board); // Do not add this because if unexecute the syszem is already deleted command_list->addSystemForRepositioning(other_system); compute_extra_space(use_upbeat); //do_reposit(use_upbeat); newnum = m_measures[m_measure_count-1].getMeasureNumber() + 1; other_system->m_is_positioned = false; if (other_system != NULL && getMainWindow()->m_start_measure_number_for_renumbering > newnum) { getMainWindow()->m_start_system_for_renumbering = other_system; getMainWindow()->m_start_measure_number_for_renumbering = newnum; } } NedMoveChordsAndRestsCommand *command = new NedMoveChordsAndRestsCommand(board); command_list->addCommand(command); command->execute(); } if (m_check_line_compression && m_extra_space > MAXIMUM_EXTRA_SPACE) { //printf("pag: %d sys: %d : m_extra_space(%f) > MAXIMUM_EXTRA_SPACE (%f)reposit\n", m_page->getPageNumber(), m_system_number, m_extra_space, MAXIMUM_EXTRA_SPACE); fflush(stdout); if ((other_system = m_page->getNextSystem(this)) != NULL) { NedClipBoard *board = new NedClipBoard(); if (other_system->collectFirstMeasure(board, getMainWindow()->getMeasureDuration(m_measures[m_measure_count].getMeasureNumber()), getSystemEndTime())) { collectDestinationVoices(board); if (board->onlyWholeRests() && m_page->isLastSystem(this)) { board->setInsertOnly(); } board->execute_reverse(); compute_extra_space(use_upbeat); //do_reposit(use_upbeat); if (m_extra_space < MINIMUM_EXTRA_SPACE) { board->unexecute_reverse(); compute_extra_space(use_upbeat); //do_reposit(use_upbeat); other_system->do_reposit(false); // the ping-pong elements have bad x position m_check_line_compression = false; } else { //board->unexecute_reverse(); NedMoveChordsAndRestsReverseCommand *command = new NedMoveChordsAndRestsReverseCommand(board); for (lptr = g_list_first(other_system->m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->assignMidiTimes(); } //changed = true; command_list->addCommand(command); //command->execute(); do not execut because is already done command_list->addSystemForRepositioning(other_system); if (board->onlyWholeRests() && m_page->isLastSystem(this)) { board->setInsertOnly(); } compute_extra_space(use_upbeat); //do_reposit(use_upbeat); newnum = m_measures[0].getMeasureNumber(); if (other_system != NULL && getMainWindow()->m_start_measure_number_for_renumbering > newnum) { getMainWindow()->m_start_system_for_renumbering = this; getMainWindow()->m_start_measure_number_for_renumbering = newnum; } } } else { m_check_line_compression = FALSE; } other_system->m_is_positioned = false; } else { m_check_line_compression = FALSE; if (command_list != NULL) { fill_up(command_list); } } } do_reposit(use_upbeat); m_is_positioned = (m_extra_space >= MINIMUM_EXTRA_SPACE || m_measure_count < 2) && (!m_check_line_compression || m_extra_space <= MAXIMUM_EXTRA_SPACE); /* if (out) { printf("raus mit %d, m_extra_space >= MINIMUM_EXTRA_SPACE = %d, m_measure_count = %d, m_check_line_compression = %d, m_extra_space <= MAXIMUM_EXTRA_SPACE = %d\n", !m_is_positioned, m_extra_space >= MINIMUM_EXTRA_SPACE, m_measure_count, m_check_line_compression , m_extra_space <= MAXIMUM_EXTRA_SPACE ); fflush(stdout); } */ return !m_is_positioned; } bool NedSystem::findTimeOfMeasure(int meas_num, unsigned long long *meas_time) { int i; for (i = 0; i < m_measure_count; i++) { if (m_measures[i].getMeasureNumber() == meas_num) { *meas_time = m_measures[i].midi_start; return true; } } return false; } void NedSystem::renumberMeasures(int *measure_number, GList *special_measures, bool force) { int i; for (i = 0; i <= m_measure_count; i++) { m_measures[i].setMeasureNumber((*measure_number)++, special_measures, force); } (*measure_number)--; } void NedSystem::setNewMeasureSpread(double spread) { for (int i = 0; i < MAX_MEASURES; i++) { m_measures[i].m_spread_fac = spread; m_measures[i].m_special_spread = false; } } int NedSystem::getNumberOfFirstMeasure() { return m_measures[0].getMeasureNumber(); } int NedSystem::getNumberOfLastMeasure() { return m_measures[m_measure_count - 1].getMeasureNumber(); } unsigned long long NedSystem::getSystemEndTime() { return m_measures[m_measure_count - 1].midi_end; } double NedSystem::placeStaffs(double staffpos) { #define SYSTEM_MIN_DIST 0.08 GList *lptr; m_ypos = staffpos; double yy = 0.0; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { yy = ((NedStaff *) lptr->data)->placeStaff(yy); } return yy + m_ypos + SYSTEM_MIN_DIST; } bool NedSystem::collectFirstMeasure(NedClipBoard *board, unsigned long long length_of_first_measure, unsigned long long length_of_previous_system) { GList *lptr; if (m_measure_count < 2) return FALSE; m_measures[0].midi_start = 0; m_measures[0].midi_end = length_of_first_measure; // preliminary times importatnt is the correct duration. Under some circumstances // collectFirstMeasure is called before the measure got their time board->setRefTimeAndDuration(length_of_previous_system, m_measures[0].midi_end); for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->collectChordsAndRests(board, m_measures[0].midi_start, m_measures[0].midi_end); } return TRUE; } void NedSystem::collectSelectionRectangleElements(double xp, NedBbox *sel_rect, GList **sel_group, NedSystem *first_selected_system, NedSystem *last_selected_system, bool is_first_selected_page, bool is_last_selected_page) { GList *lptr; NedStaff *firststaff, *laststaff; firststaff = (NedStaff *) g_list_first(m_staffs)->data; laststaff = (NedStaff *) g_list_last(m_staffs)->data; double yp = firststaff->getTopPos() + firststaff->getTopYBorder() + m_ypos; if (is_last_selected_page && sel_rect->y + sel_rect->height < yp) return; if (is_first_selected_page && m_ypos + laststaff->getBottomPos() < sel_rect->y) return; yp = sel_rect->y - m_ypos; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->collectSelectionRectangleElements(xp, yp, sel_rect, sel_group, is_first_selected_page && (first_selected_system == this), is_last_selected_page && (last_selected_system == this)); } } void NedSystem::findSelectedSystems(NedBbox *sel_rect, int *number_of_first_selected_staff, int *number_of_last_selected_staff, NedSystem **first_selected_system, NedSystem **last_selected_system) { GList *lptr; NedStaff *firststaff, *laststaff; firststaff = (NedStaff *) g_list_first(m_staffs)->data; laststaff = (NedStaff *) g_list_last(m_staffs)->data; double yp = firststaff->getTopPos() + m_ypos; if (sel_rect->y + sel_rect->height < yp || yp + laststaff->getBottomPos() - firststaff->getTopPos() < sel_rect->y) return; if (*first_selected_system == NULL) { *first_selected_system = *last_selected_system = this; } else { *last_selected_system = this; } if (first_selected_system == last_selected_system) { *number_of_first_selected_staff = 0; *number_of_last_selected_staff = g_list_length(m_staffs) - 1; } else { double yp = sel_rect->y - m_ypos; /* if (m_page->getPageNumber() == 0) { printf("yp = %f, m_ypos = %f, m_ypos + 4 * LINE_DIST = %f\n", yp, m_ypos, m_ypos + 4 * LINE_DIST); fflush(stdout); } */ for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->findSelectedStaffs(yp, sel_rect, number_of_first_selected_staff, number_of_last_selected_staff); } } } void NedSystem::setAndUpdateClefTypeAndKeySig(int *clef_and_key_array, double indent, bool first) { GList *lptr; m_system_start = CLEF_SPACE; if (getMainWindow()->isTimsigChangingMeasure(getNumberOfFirstMeasure())) { m_system_start += SIG_X_SHIFT; } if (first) { m_system_start += TIME_SIGNATURE_SPACE; } for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->setAndUpdateClefTypeAndKeySig(clef_and_key_array, first); } m_system_start += indent; // do this here because otherwise the staves // do not update m_system_start correctly } void NedSystem::determineTempoInverse(NedChordOrRest *element, unsigned long long till, double *tempoinverse, bool *found) { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->determineTempoInverse(element, till, tempoinverse, found); } } GList *NedSystem::getFirstChordOrRest(int staff_nr, int voice_nr, int lyrics_line, bool lyrics_required, bool note_required) { GList *lptr; if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("getFirstChordOrRest"); } return ((NedStaff *) lptr->data)->getFirstChordOrRest(voice_nr, lyrics_line, lyrics_required, note_required); } GList *NedSystem::getLastChordOrRest(int staff_nr, int voice_nr, int lyrics_line, bool lyrics_required, bool note_required) { GList *lptr; if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("getFirstChordOrRest"); } return ((NedStaff *) lptr->data)->getLastChordOrRest(voice_nr, lyrics_line, lyrics_required, note_required); } bool NedSystem::hasTupletConflict(unsigned int meas_duration, GList **elements, int from_staff, int to_staff, unsigned long long start_midi_time) { GList *lptr; if ((lptr = g_list_nth(m_staffs, to_staff)) == NULL) { NedResource::Abort("NedSystem::hasTupletConflict"); } return ((NedStaff *) lptr->data)->hasTupletConflict(meas_duration, elements, from_staff, start_midi_time); } void NedSystem::pasteElements(NedCommandList *command_list, GList **elements, int from_staff, int to_staff, unsigned long long start_midi_time) { GList *lptr; if ((lptr = g_list_nth(m_staffs, to_staff)) == NULL) { NedResource::Abort("NedSystem::pasteElements"); } ((NedStaff *) lptr->data)->pasteElements(command_list, elements, from_staff, start_midi_time); } bool NedSystem::findFromTo(GList *clipboard, NedSystem **min_sys, NedSystem **max_sys) { GList *lptr; bool found = FALSE; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { if (((NedStaff *) lptr->data)->findFromTo(clipboard)) { found = TRUE; if (*min_sys == NULL) { *min_sys = *max_sys = this; } else { *max_sys = this; } } } return found; } bool NedSystem::findStartMeasureLimits(GList *clipboard, unsigned long long *start_midi) { GList *lptr; bool found = FALSE, fnd; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { fnd = ((NedStaff *) lptr->data)->findStartMeasureLimits(clipboard, start_midi); found = found || fnd; } return found; } bool NedSystem::findEndMeasureLimits(GList *clipboard, unsigned long long *end_midi) { GList *lptr; bool found = FALSE, fnd; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { fnd = ((NedStaff *) lptr->data)->findEndMeasureLimits(clipboard, end_midi); found = found || fnd; } return found; } void NedSystem::deleteItemsFromTo(NedCommandList *command_list, bool is_first, bool is_last, unsigned long long start_midi, unsigned long long end_midi) { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->deleteItemsFromTo(command_list, is_first, is_last, start_midi, end_midi); } } void NedSystem::removeNotesFromTo(NedCommandList *command_list, GList *items, bool is_first, bool is_last) { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->removeNotesFromTo(command_list, items, is_first, is_last); } } void NedSystem::insertBlocks(NedCommandList *command_list, int blockcount, unsigned long long midi_time) { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->insertBlocks(command_list, blockcount, midi_time); } } void NedSystem::checkForElementsToSplit(NedCommandList *command_list, int *measure_number) { GList *lptr; int i; unsigned int meas_duration; unsigned long long midi_time = 0; unsigned long long end_time = getSystemEndTime(); for (i = 0; midi_time < end_time && i < MAX_MEASURES; i++) { m_measures[i].midi_start = midi_time; meas_duration = getMainWindow()->getMeasureDuration(*measure_number); m_measures[i].setMeasureNumber((*measure_number)++, getMainWindow()->m_special_measures /* friend !! */, true); midi_time += meas_duration; m_measures[i].midi_end = midi_time; } m_measure_count = i; // otherwise " NedVoice::checkForElementsToSplit" crashes, because it cannot find the appropriate measure // if the measure count increases/decreases for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->checkForElementsToSplit(command_list); } } void NedSystem::testForPageBackwardTies(NedCommandList *command_list) { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->testForPageBackwardTies(command_list); } } void NedSystem::collectDestinationVoices(NedClipBoard *board) { GList *lptr; board->element_counter = g_list_first(board->m_elements); for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->collectDestinationVoices(board); } } void NedSystem::assignMidiTimes() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->assignMidiTimes(); } } void NedSystem::do_reposit(bool use_upbeat) { GList *lptr; int num_elements; int i; double current_position; double shift; double extra_space_divided; double extra_width_at_end; int new_measure_count; int grace_positions[MAX_POSITIONS]; double extra_space_for_accidentals; bool measure_has_only_staff_members; m_special_measure_at_end = new_measure_count = 0; if (m_measures[0].getStoredStaffCount() != g_list_length(m_staffs)) { for (i = 0; i < MAX_MEASURES; i++) { m_measures[i].m_position_array.setNewStaffCount(g_list_length(m_staffs)); } } for (i = 0; i < MAX_MEASURES; i++) { m_measures[i].m_position_array.empty(); m_measures[i].m_staff_elements_width = 0.0; } current_position = m_system_start - m_measures[0].getNeededSpaceAfter(); if (m_measures[0].getSpecial() == REPEAT_OPEN || m_measures[0].getSpecial() == REPEAT_OPEN_CLOSE) { current_position += m_measures[0].getNeededSpaceAfter(); } for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->assignMidiTimes(); } memset(grace_positions, 0, sizeof(grace_positions)); for (i = 0, lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr), i++) { new_measure_count = ((NedStaff *) lptr->data)->assignElementsToMeasures(m_measures, VOICE_COUNT * i, use_upbeat, &m_special_measure_at_end, m_system_number == 0); new_measure_count++; m_measure_count = new_measure_count; } if (m_special_measure_at_end) { m_measures[m_measure_count+1].m_staff_elements_width = 0.2; m_measures[m_measure_count+1].m_position_array.empty(); } if (((m_measures[m_measure_count+m_special_measure_at_end].getSpecial() & REP_TYPE_MASK) == REPEAT_CLOSE) || ((m_measures[m_measure_count+m_special_measure_at_end].getSpecial() & REP_TYPE_MASK) == REPEAT_OPEN_CLOSE) || (m_measures[m_measure_count+m_special_measure_at_end].getSpecial() & REP_TYPE_MASK) == END_BAR) { extra_width_at_end = m_measures[m_measure_count+m_special_measure_at_end].getNeededSpaceBefore(); } else { extra_width_at_end = 0.0; } num_elements = 0; extra_space_for_accidentals = 0.0; current_position = m_measures[0].computeAndSetPositions(current_position, &num_elements, &extra_space_for_accidentals, &measure_has_only_staff_members, false); if (m_measures[0].getSpecial() & (START_TYPE_MASK | END_TYPE_MASK)) { } m_endMeasure = NULL; m_has_repeat_lines = false; for (i = 1; i < m_measure_count+m_special_measure_at_end; i++) { measure_has_only_staff_members = true; current_position = m_measures[i].computeAndSetPositions(current_position, &num_elements, &extra_space_for_accidentals, &measure_has_only_staff_members, false); if (m_measures[i].barRequiresHideFollowing()) { m_endMeasure = &(m_measures[i]); } m_measures[i-1].end = m_measures[i].start; if (m_measures[i].getSpecial() & (START_TYPE_MASK | END_TYPE_MASK)) { m_has_repeat_lines = true; } } m_measures[i-1].end = m_width - RIGHT_DIST; if (m_measures[i].getSpecial() & (START_TYPE_MASK | END_TYPE_MASK)) { m_has_repeat_lines = true; } num_elements += m_measure_count+m_special_measure_at_end; m_extra_space = m_width - current_position - extra_space_for_accidentals - m_measures[m_measure_count+m_special_measure_at_end+1].getNeededSpaceBefore() - RIGHT_DIST - extra_width_at_end; /* if (m_page->getPageNumber() == 0 && m_system_number == 0) { printf("m_extra_space(%f) = m_width(%f) - current_position(%f) - extra_space_for_accidentals(%f) - nb(%f) - RIGHT_DIST(%f)\n", m_extra_space, m_width, current_position, extra_space_for_accidentals, m_measures[m_measure_count+m_special_measure_at_end+1].getNeededSpaceBefore(), RIGHT_DIST); fflush(stdout); } */ extra_space_divided = m_extra_space / (num_elements + 2); shift = 0; if (extra_space_divided > 0.0) { for (i = 0; i < m_measure_count+m_special_measure_at_end+1; i++) { #define BBB #ifdef BBB shift = m_measures[i].shiftXpos(extra_space_divided, shift, m_page->getPageNumber() == 0 && m_system_number == 0); #endif if (i > 0) { m_measures[i-1].end = m_measures[i].start; } } } m_measures[i-2].end = m_measures[i-1].start = m_width - RIGHT_DIST; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->searchForBeamGroups(use_upbeat ? getMainWindow()->getUpBeatInverse() : 0); ((NedStaff *) lptr->data)->computeBeams(); ((NedStaff *) lptr->data)->computeTuplets(m_has_repeat_lines); ((NedStaff *) lptr->data)->computeTies(); } if (m_special_measure_at_end) { /* means last measure consists of only a key signature */ /* m_measures[i-2].start -= 0.15; m_measures[i-1].end = m_measures[i-2].start; */ } } void NedSystem::computeTuplets() { GList *lptr; int i; m_has_repeat_lines = false; for (i = 0; i < m_measure_count; i++) { if (m_measures[i].getSpecial() & (START_TYPE_MASK | END_TYPE_MASK)) { m_has_repeat_lines = true; } } for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->computeBeams(); ((NedStaff *) lptr->data)->computeTuplets(m_has_repeat_lines); } } void NedSystem::resetActiveFlags() { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->resetActiveFlags(); } } void NedSystem::compute_extra_space(bool use_upbeat) { GList *lptr; int num_elements; int i; double current_position; double extra_width_at_end; int new_measure_count; int grace_positions[MAX_POSITIONS]; double extra_space_for_accidentals; bool measure_has_only_staff_members; new_measure_count = 0; if (m_measures[0].getStoredStaffCount() != g_list_length(m_staffs)) { for (i = 0; i < MAX_MEASURES; i++) { m_measures[i].m_position_array.setNewStaffCount(g_list_length(m_staffs)); } } for (i = 0; i < MAX_MEASURES; i++) { m_measures[i].m_position_array.empty(); m_measures[i].m_staff_elements_width = 0.0; } current_position = m_system_start - m_measures[0].getNeededSpaceAfter(); if (m_measures[0].getSpecial() == REPEAT_OPEN || m_measures[0].getSpecial() == REPEAT_OPEN_CLOSE) { current_position += m_measures[0].getNeededSpaceAfter(); } for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->assignMidiTimes(); } memset(grace_positions, 0, sizeof(grace_positions)); for (i = 0, lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr), i++) { new_measure_count = ((NedStaff *) lptr->data)->assignElementsToMeasures(m_measures, VOICE_COUNT * i, use_upbeat, &m_special_measure_at_end, m_system_number == 0); new_measure_count++; m_measure_count = new_measure_count; } if (m_special_measure_at_end) { m_measures[m_measure_count+1].m_staff_elements_width = 0.2; m_measures[m_measure_count+1].m_position_array.empty(); } if (((m_measures[m_measure_count+m_special_measure_at_end].getSpecial() & REP_TYPE_MASK) == REPEAT_CLOSE) || ((m_measures[m_measure_count+m_special_measure_at_end].getSpecial() & REP_TYPE_MASK) == REPEAT_OPEN_CLOSE) || (m_measures[m_measure_count+m_special_measure_at_end].getSpecial() & REP_TYPE_MASK) == END_BAR) { extra_width_at_end = m_measures[m_measure_count+m_special_measure_at_end].getNeededSpaceBefore(); } else { extra_width_at_end = 0.0; } num_elements = 0; extra_space_for_accidentals = 0.0; current_position = m_measures[0].computeAndSetPositions(current_position, &num_elements, &extra_space_for_accidentals, &measure_has_only_staff_members, false); m_endMeasure = NULL; for (i = 1; i < m_measure_count+m_special_measure_at_end; i++) { measure_has_only_staff_members = true; current_position = m_measures[i].computeAndSetPositions(current_position, &num_elements, &extra_space_for_accidentals, &measure_has_only_staff_members, false); if (m_measures[i].barRequiresHideFollowing()) { m_endMeasure = &(m_measures[i]); } m_measures[i-1].end = m_measures[i].start; } m_measures[i-1].end = m_width - RIGHT_DIST; num_elements += m_measure_count+m_special_measure_at_end; m_extra_space = m_width - current_position - extra_space_for_accidentals - m_measures[m_measure_count+m_special_measure_at_end+1].getNeededSpaceBefore() - RIGHT_DIST - extra_width_at_end; /* if (m_page->getPageNumber() == 0 && m_system_number == 0) { printf("m_extra_space(%f) = m_width(%f) - current_position(%f) - extra_space_for_accidentals(%f) - nb(%f) - RIGHT_DIST(%f)\n", m_extra_space, m_width, current_position, extra_space_for_accidentals, m_measures[m_measure_count+1].getNeededSpaceBefore(), RIGHT_DIST); fflush(stdout); } */ //if (measure_has_only_staff_members) { /* means last measure consists of only a key signature */ /* m_measures[i-2].start -= 0.15; m_measures[i].end = m_measures[i-2].start; */ // } } unsigned int NedSystem::getWholeMidiLength() { return m_measure_count * getMainWindow()->getNumerator() * WHOLE_NOTE / getMainWindow()->getDenominator(); } NedMeasure *NedSystem::getMeasure(unsigned long long midi_time) { int i; for (i = 0; i < m_measure_count; i++) { if (m_measures[i].midi_start <= midi_time && m_measures[i].midi_end > midi_time) { return (&(m_measures[i])); } } #ifdef VVV NedResource::DbgMsg(DBG_TESTING, "pag: %d, sys. %d, midi_time = %llu(%llu, %llu) , m_measures[m_measure_count(%d)].midi_start = %llu(%llu,%llu), m_measures[m_measure_count(%d)].midi_end = %llu(%llu, %llu)\n", m_page->getPageNumber(), m_system_number, LAUS(midi_time), m_measure_count, m_measures[m_measure_count].midi_start, m_measure_count, m_measures[m_measure_count].midi_end, NOTE_4); if (m_measure_count >= 0) { NedResource::DbgMsg(DBG_TESTING, "m_measures[m_measure_count - 1(%d)].midi_start = %llu, m_measures[m_measure_count - 1(%d)].midi_end = %llu\n", m_measure_count-1, m_measures[m_measure_count-1].midi_start, m_measure_count-1, m_measures[m_measure_count-1].midi_end); } NedResource::Abort("NedSystem::getMeasure"); #endif return NULL; } int NedSystem::getNumberOfStaffs() { return g_list_length(m_staffs); } void NedSystem::prepareReplay(bool with_keysig) { GList *lptr; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->prepareReplay(with_keysig); } } void NedSystem::setWidth(double w) { GList *lptr; m_width = w; for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->setWidth(m_width); } } void NedSystem::saveSystem(FILE *fp) { int i; GList *lptr; fprintf(fp, "SYSTEM %d: %d MEASURES\n", m_system_number, m_measure_count); for (i = 0; i < m_measure_count; i++) { fprintf(fp, "MEASURE: %d %f\n", m_measures[i].getMeasureNumber(), m_measures[i].m_spread_fac); } for (lptr = g_list_first(m_staffs); lptr; lptr = g_list_next(lptr)) { ((NedStaff *) lptr->data)->saveStaff(fp); } } void NedSystem::restoreSystem(FILE *fp) { char buffer[128]; int i, measnum, staffnum; NedStaff *staff; double staff_pos = 0; if (!NedResource::readInt(fp, &m_measure_count)) { NedResource::m_error_message = "Measure count expected"; return; } if (m_measure_count < 0 || m_measure_count >= MAX_MEASURES) { NedResource::m_error_message = "Bad measure count"; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "MEASURES")) { NedResource::m_error_message = "MEASURES expected"; return; } for (i = 0; NedResource::m_error_message == NULL && i < m_measure_count; i++) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "MEASURE")) { NedResource::m_error_message = "MEASURE expected"; return; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": expected"; return; } if (getMainWindow()->getFileVersion() > 14) { if (!NedResource::readInt(fp, &measnum)) { NedResource::m_error_message = "measure number expected"; return; } } if (getMainWindow()->getFileVersion() > 9) { if (!NedResource::readFloat(fp, &(m_measures[i].m_spread_fac))) { NedResource::m_error_message = "spread factor expected"; return; } } else { if (!NedResource::readInt(fp, &measnum)) { NedResource::m_error_message = "MeasureNumber expected"; return; } if (i != measnum) { NedResource::m_error_message = "Bad measure number"; return; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": expected"; return; } if (!NedResource::readLong(fp, (unsigned long long *) &(m_measures[i].midi_start))) { NedResource::m_error_message = "Midi start value expected"; return; } if (!NedResource::readLong(fp, (unsigned long long *) &(m_measures[i].midi_end))) { NedResource::m_error_message = "Midi end value expected"; return; } } } for (i = 0; NedResource::m_error_message == NULL && i < getMainWindow()->getPreStaffCount(); i++) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "STAFF")) { NedResource::m_error_message = "STAFF expected(2)"; return; } if (!NedResource::readInt(fp, &staffnum)) { NedResource::m_error_message = "STAFF number expected"; return; } if (staffnum != i) { NedResource::m_error_message = "Bad STAFF number"; return; } staff = new NedStaff(this, staff_pos, m_width, i, FALSE); m_staffs = g_list_append(m_staffs, staff); staff->restoreStaff(fp); staff_pos += staff->getHeight() + DEFAULT_SYSTEM_DIST; } } void NedSystem::detectVoices(int staff_nr, unsigned int *voice_mask, NedSystem **last_system, unsigned long long *end_time) { GList *lptr; unsigned long long e_time = 0; if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("NedSystem::detectVoices"); } if (((NedStaff *) lptr->data)->detectVoices(voice_mask, &e_time)) { if (*last_system == NULL) { *last_system = this; *end_time = e_time; } else if ((*last_system)->m_page->getPageNumber() < m_page->getPageNumber()) { *last_system = this; *end_time = e_time; } else if ((*last_system)->m_page->getPageNumber() == m_page->getPageNumber() && (*last_system)->m_system_number < m_system_number) { *last_system = this; *end_time = e_time; } else if ((*last_system)->m_page->getPageNumber() == m_page->getPageNumber() && (*last_system)->m_system_number == m_system_number && *last_system == this) { if (e_time > *end_time) { *end_time = e_time; } } } } void NedSystem::exportLilyPond(FILE *fp, int staff_nr, int voice_nr, int *last_line, unsigned int *midi_len, NedSystem *last_system, unsigned long long end_time, bool *in_alternative, NedSlur **lily_slur, unsigned int *lyrics_map, bool with_break, bool *guitar_chordnames, bool *chordnames, int *breath_script, bool keep_beams) { GList *lptr; if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("NedSystem::exportLilyPond"); } ((NedStaff *) lptr->data)->exportLilyPond(fp, voice_nr, last_line, midi_len, last_system == this, end_time, in_alternative, lily_slur, lyrics_map, with_break, guitar_chordnames, chordnames, breath_script, keep_beams); } void NedSystem::exportLilyGuitarChordnames(FILE *fp, int staff_nr, int *last_line, unsigned int *midi_len, NedSystem *last_system, unsigned long long end_time, bool *in_alternative, bool with_break) { GList *lptr; if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("NedSystem::exportLilyGuitarChordnames"); } ((NedStaff *) lptr->data)->exportLilyGuitarChordnames(fp, last_line, midi_len, last_system == this, end_time, in_alternative, with_break); } void NedSystem::exportLilyFreeChordName(FILE *fp, int staff_nr, int *last_line, unsigned int *midi_len, NedSystem *last_system, unsigned long long end_time, bool *in_alternative, bool with_break) { GList *lptr; if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("NedSystem::exportLilyFreeChordName"); } ((NedStaff *) lptr->data)->exportLilyFreeChordName(fp, last_line, midi_len, last_system == this, end_time, in_alternative, with_break); } void NedSystem::exportLilyLyrics(FILE *fp, bool last_system, int staff_nr, int voice_nr, int line_nr, unsigned long long end_time, int *sil_count) { GList *lptr; if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("NedSystem::exportLilyLyrics"); } ((NedStaff *) lptr->data)->exportLilyLyrics(fp, last_system, voice_nr, line_nr, end_time, sil_count); } void NedSystem::collectLyrics(NedLyricsEditor *leditor, int staff_nr) { GList *lptr; if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("NedSystem::collectLyrics"); } ((NedStaff *) lptr->data)->collectLyrics(leditor); } void NedSystem::setLyrics(NedCommandList *command_list, NedLyricsEditor *leditor, int staff_nr) { GList *lptr; if ((lptr = g_list_nth(m_staffs, staff_nr)) == NULL) { NedResource::Abort("NedSystem::setLyrics"); } ((NedStaff *) lptr->data)->setLyrics(command_list, leditor); } nted-1.10.18/aclocal.m40000664001041000007640000011654711520267351011414 00000000000000# generated automatically by aclocal 1.11.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.66],, [m4_warning([this file was generated for autoconf 2.66. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # # 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 # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) # only at the first occurence in configure.ac, so if the first place # it's called might be skipped (such as if it is within an "if", you # have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT]) ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .]) ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.11.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 10 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 16 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The `parallel-tests' driver may need to know about EXEEXT, so add the dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/gettext.m4]) m4_include([m4/iconv.m4]) m4_include([m4/intlmacosx.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/nls.m4]) m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) nted-1.10.18/beaming.h0000664001041000007640000000564711520267230011321 00000000000000#ifndef BEAM_RULES_H #define BEAM_RULES_H #define NUM_BEAM_RULES 71 static struct rule_str { #define FUNC_BEGIN 1 #define FUNC_END 2 #define END_OF_TABLE 3 int function; int notelen; int time_num, time_denom; int duration; } beam_rules_tab__[NUM_BEAM_RULES] = { { FUNC_END, -1, 3, 2, 23063040}, { FUNC_END, -1, 3, 2, 46126080}, { FUNC_END, 2882880, 3, 2, 11531520}, { FUNC_END, 2882880, 3, 2, 23063040}, { FUNC_END, 2882880, 3, 2, 34594560}, { FUNC_END, 2882880, 3, 2, 57657600}, { FUNC_END, 1441440, 3, 2, 5765760}, { FUNC_END, 1441440, 3, 2, 11531520}, { FUNC_END, 1441440, 3, 2, 17297280}, { FUNC_END, 1441440, 3, 2, 23063040}, { FUNC_END, 1441440, 3, 2, 28828800}, { FUNC_END, 1441440, 3, 2, 34594560}, { FUNC_END, 1441440, 3, 2, 51891840}, { FUNC_END, 1441440, 3, 2, 57657600}, { FUNC_END, 1441440, 3, 2, 63423360}, { FUNC_END, -1, 3, 4, 34594560}, { FUNC_END, 2882880, 3, 4, 11531520}, { FUNC_END, 2882880, 3, 4, 23063040}, { FUNC_END, 1441440, 3, 4, 5765760}, { FUNC_END, 1441440, 3, 4, 11531520}, { FUNC_END, 1441440, 3, 4, 17297280}, { FUNC_END, 1441440, 3, 4, 23063040}, { FUNC_END, 1441440, 3, 4, 28828800}, { FUNC_END, -1, 3, 8, 17297280}, { FUNC_END, -1, 4, 4, 23063040}, { FUNC_END, 3843840, 4, 4, 11531520}, { FUNC_END, 3843840, 4, 4, 34594560}, { FUNC_END, 2882880, 4, 4, 11531520}, { FUNC_END, 2882880, 4, 4, 34594560}, { FUNC_END, 1441440, 4, 4, 5765760}, { FUNC_END, 1441440, 4, 4, 11531520}, { FUNC_END, 1441440, 4, 4, 17297280}, { FUNC_END, 1441440, 4, 4, 28828800}, { FUNC_END, 1441440, 4, 4, 34594560}, { FUNC_END, 1441440, 4, 4, 40360320}, { FUNC_END, 1441440, 2, 2, 11531520}, { FUNC_END, 1441440, 2, 2, 23063040}, { FUNC_END, 1441440, 2, 2, 34594560}, { FUNC_END, 2882880, 2, 2, 11531520}, { FUNC_END, 2882880, 2, 2, 23063040}, { FUNC_END, 2882880, 2, 2, 34594560}, { FUNC_END, 5765760, 2, 2, 11531520}, { FUNC_END, 5765760, 2, 2, 23063040}, { FUNC_END, 5765760, 2, 2, 34594560}, { FUNC_END, -1, 2, 4, 11531520}, { FUNC_END, 1441440, 2, 4, 5765760}, { FUNC_END, 1441440, 2, 4, 17297280}, { FUNC_END, -1, 4, 8, 11531520}, { FUNC_END, 1441440, 4, 8, 5765760}, { FUNC_END, 1441440, 4, 8, 17297280}, { FUNC_END, -1, 4, 16, 5765760}, { FUNC_END, -1, 6, 8, 17297280}, { FUNC_END, 1441440, 6, 8, 5765760}, { FUNC_END, 1441440, 6, 8, 11531520}, { FUNC_END, 1441440, 6, 8, 23063040}, { FUNC_END, 1441440, 6, 8, 28828800}, { FUNC_END, -1, 9, 8, 17297280}, { FUNC_END, -1, 9, 8, 34594560}, { FUNC_END, 1441440, 9, 8, 5765760}, { FUNC_END, 1441440, 9, 8, 11531520}, { FUNC_END, 1441440, 9, 8, 23063040}, { FUNC_END, 1441440, 9, 8, 28828800}, { FUNC_END, 1441440, 9, 8, 40360320}, { FUNC_END, 1441440, 9, 8, 46126080}, { FUNC_END, 1441440, 9, 8, 51891840}, { FUNC_END, -1, 12, 8, 17297280}, { FUNC_END, -1, 12, 8, 34594560}, { FUNC_END, -1, 12, 8, 51891840}, { FUNC_END, -1, 12, 8, 92252160}, { FUNC_END, 1441440, 12, 8, 5765760}, { END_OF_TABLE, -1, -1, -1, -1} }; #endif /* BEAM_RULES_H */ nted-1.10.18/mainwindow.cpp0000664001041000007640000130573011520267230012423 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ //#define KEYDEBUG #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef CAIRO_HAS_SVG_SURFACE #include #endif #ifdef CAIRO_HAS_PDF_SURFACE #include #endif #include "localization.h" #include "mainwindow.h" #include "freereplaceable.h" #include "page.h" #include "system.h" #include "clipboard.h" #include "chordorrest.h" #include "note.h" #include "staff.h" #include "voice.h" #include "measure.h" #include "commandhistory.h" #include "commandlist.h" #include "notemovecommand.h" #include "notemoverelativecommand.h" #include "changenotestatus.h" #include "changenotehead.h" #include "untieforwardcommand.h" #include "appendnewpagecommand.h" #include "removelastpagecommand.h" #include "removepagecommand.h" #include "deletestaffcommand.h" #include "deletesystemcommand.h" #include "clefconfigdialog.h" #include "staffcontextdialog.h" #include "lilypondexportdialog.h" #include "measureconfigdialog.h" #include "midirecordconfigdialog.h" #include "drumconfigdialog.h" #include "appendsystemcommand.h" #include "spacementdialog.h" #include "scoreinfodialog.h" #include "setstaffcontext.h" #include "keysigdialog.h" #include "linesdialog.h" #include "signsdialog.h" #include "freesign.h" #include "tupletdialog.h" #include "printconfigdialog.h" #include "deletechordcommand.h" #include "ereasechordorrestcommand.h" #include "paperconfigdialog.h" #include "paperconfigcommand.h" #include "insertnewpagecommand.h" #include "portchoosedialog.h" #include "insertblockdialog.h" #include "shiftstaffcommand.h" #include "lyricseditor.h" #include "changemeasuretypecommand.h" #include "movespecmeasurecommand.h" #include "changemeasuretimsigcommand.h" #include "changechordorreststatus.h" #include "changeupbeatcommand.h" #include "changetimsigcommand.h" #include "removestaffelemcommand.h" #include "removefreeplaceablecommand.h" #include "fixmovedfreeplaceablecommand.h" #include "restmovecommand.h" #include "fixintermediatecommand.h" #include "changemeasurespread.h" #include "staffselectdialog.h" #include "changespacement.h" #include "changestaffkeysigcmd.h" #include "changestaffclefcmd.h" #include "transposecommand.h" #include "changetie.h" #include "slurpoint.h" #include "volumesign.h" #include "tempodialog.h" #include "textdialog.h" #include "chordnamedialog.h" #include "importer.h" #include "musicxmlimport.h" #include "mutedialog.h" #include "selectordialog.h" #include "midiimportdialog.h" #include "chorddialog.h" #include "scaledialog.h" #include "chordstruct.h" #include "linepoint.h" #include "line3.h" #include "freetext.h" #include "midiimporter.h" #include "midirecorder.h" #include "pangocairotext.h" #define SHIFT_ACCEL 3.0 #ifdef WITH_TIME_TEST #define MIN_TIME_BETWEEN_MOTION 20 #endif const char *NedMainWindow::guiDescription = "" " " " " " " " " " " " " " \n" " " " " " " " \n" " " " " " \n" " " " " " " " " " \n" " " #ifdef CAIRO_HAS_PDF_SURFACE " " #endif " " #ifdef CAIRO_HAS_SVG_SURFACE " " #endif " " " " " \n" " " " " //" " " \n" " " " \n" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " //" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " " " " " " " " " " " " " " " " /* " " " " */ " " " \n" " \n" " \n" " \n" " \n" " " " " " " " " " " " " " " " " " " " " " " " " " " " " #ifdef YELP_PATH " " #endif " " " " " " " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " " " " " " " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" ""; const GtkActionEntry NedMainWindow::file_entries[] = { { "FileMenu", NULL, _("_File") }, { "OpenRecentMenu", NULL, _("Open_Recent") }, { "ExportMenu", NULL, _("_Export") }, { "ViewMenu", NULL, _("_View") }, { "EditMenu", NULL, _("_Edit") }, { "ToolsMenu", NULL, _("_Tools") }, { "SystemLayout", NULL, _("_System layout ...") }, { "InsertMenu", NULL, _("_Insert") }, { "UpbeatMenu", NULL, _("_Upbeat ...") }, { "PrefMenu", NULL, _("_Preferences ...") }, { "DynamicsMenu", NULL, _("_Dynamics ...") }, { "LyricsMenu", NULL, _("_Lyrics") }, { "HelpMenu", NULL, _("_Help") }, { "config_midi_out", NULL, _("Configure MIDI out..."), NULL, _("configure MIDI output"), G_CALLBACK(config_midi_out) }, { "config_midi_in", NULL, _("Configure MIDI in..."), NULL, _("configure MIDI input"), G_CALLBACK(config_midi_in) }, { "config_paper", NULL, _("Configure Paper..."), NULL, _("configure paper"), G_CALLBACK(config_paper) }, { "config_print_cmd", NULL, _("Configure Print..."), NULL, _("configure print command"), G_CALLBACK(config_print_cmd) }, { "New", GTK_STOCK_NEW, _("New"), NULL, _("New File"), G_CALLBACK(new_file) }, { "Open", GTK_STOCK_OPEN, _("Open ..."), "O", _("Open a file"), G_CALLBACK(restore_score) }, { "Save", GTK_STOCK_SAVE, _("Save ..."), NULL, _("Save a file"), G_CALLBACK(save_score) }, { "SaveAs", GTK_STOCK_SAVE, _("Save As ..."), NULL, _("Save a file"), G_CALLBACK(save_score_as) }, { "print_file", GTK_STOCK_PRINT, _("Print"), NULL, _("print file"), G_CALLBACK(print_file) }, { "import_musicxml", NULL, _("Import MusicXML ..."), NULL, _("import a musicxml file"), G_CALLBACK(import_musicxml) }, { "import_midi", NULL, _("Import MIDI..."), NULL, _("import a midi file"), G_CALLBACK(import_midi) }, { "import_midi2", NULL, _("Import MIDI(2)..."), NULL, _("import a midi file(2)"), G_CALLBACK(import_midi2) }, { "copy", GTK_STOCK_COPY, _("Copy"), "C", _("copy - Ctrl + C"), G_CALLBACK(copy_data) }, { "paste", GTK_STOCK_PASTE, _("Paste"), "V", _("paste - Ctrl + V"), G_CALLBACK(paste_data) }, { "delete_block", NULL, _("Delete block"), "X", _("delete block - Ctrl + X"), G_CALLBACK(delete_block) }, { "append_system", NULL, _("append a system at end"), "B", _("append system - Ctrl + B"), G_CALLBACK(append_system) }, { "insert_block", NULL, _("Insert block"), NULL, _("insert block"), G_CALLBACK(insert_block) }, { "insert_clef", NULL, _("Insert clef ..."), NULL, _("insert a clef"), G_CALLBACK(insert_clef) }, { "empty_block", NULL, _("Empty block"), "E", _("empty block - Ctrl + E"), G_CALLBACK(empty_block) }, { "reposit_all", NULL, _("reposit all"), "T", _("reposit the whole score - Ctrl + T"), G_CALLBACK(reposit_all) }, { "export_midi", NULL, _("Export MIDI ..."), NULL, _("export a midi file"), G_CALLBACK(export_midi) }, { "export_lily", NULL, _("Export LilyPond ..."), NULL, _("LilyPond export"), G_CALLBACK(export_lily) }, #ifdef CAIRO_HAS_PDF_SURFACE { "write_pdf", NULL, _("Export PDF ..."), NULL, _("export PDF"), G_CALLBACK(write_pdf) }, #endif { "write_png", NULL, _("Export P_NG ..."), NULL, _("Write a png image"), G_CALLBACK(write_png) }, #ifdef CAIRO_HAS_SVG_SURFACE { "write_svg", NULL, _("Export S_VG ..."), NULL, _("Write an svg image"), G_CALLBACK(write_svg) }, #endif { "write_ps_action", NULL, _("Export P_S ..."), NULL, _("Write PostScript"), G_CALLBACK(write_ps) }, { "new_window", NULL, _("New Window"), NULL, _("Open a new window"), G_CALLBACK(new_window) }, { "excerpt", NULL, _("Excerpt ..."), NULL, _("Make an excerpt of the score"), G_CALLBACK(create_excerpt) }, { "close_window", NULL, _("Close Window"), NULL, _("Close current window"), G_CALLBACK(close_window) }, /* { "append_page", NULL, _("Append page"), NULL, _("append an empty page"), G_CALLBACK(append_page) }, { "insert_page", NULL, _("Insert page"), NULL, _("insert an empty page"), G_CALLBACK(insert_page) }, */ { "remove_page", NULL, _("Remove last page"), NULL, _("remove the last page"), G_CALLBACK(remove_page) }, { "remove_empty_pages", NULL, _("Remove empty pages"), NULL, _("remove empty pages at end"), G_CALLBACK(remove_empty_pages) }, { "change_spacement", NULL, _("Change spacement ..."), NULL, _("change the horizontal spacement"), G_CALLBACK(change_spacement) }, { "change_scale", NULL, _("Change Scale ..."), NULL, _("change scale"), G_CALLBACK(change_scale) }, { "config_record", NULL, _("Configure Record ..."), NULL, _("configure record"), G_CALLBACK(config_record) }, { "config_drums", NULL, _("Configure Drums ..."), NULL, _("configure drums"), G_CALLBACK(config_drums) }, { "toolbox", "tool-icon", _("Tools ..."), NULL, _("Tools "), G_CALLBACK(popup_tools) }, { "set_upbeat_measure", NULL, _("give first measure"), NULL, _("set upbeat by giving the start of first full measure"), G_CALLBACK(set_upbeat_measure) }, { "set_upbeat_start", NULL, _("give start"), NULL, _("set upbeat by giving the start of the score"), G_CALLBACK(set_upbeat_start) }, { "score_info", NULL, _("Score info ..."), NULL, _("edit score info"), G_CALLBACK(edit_score_info) }, { "insert_keysig", NULL, _("Insert keysig ... "), NULL, _("insert a key signature"), G_CALLBACK(insert_keysig) }, { "insert_lines", NULL, _("Insert lines ... "), NULL, _("insert a horizontal line"), G_CALLBACK(insert_lines) }, { "insert_signs", NULL, _("Insert sign ... "), NULL, _("insert a free placeable sign"), G_CALLBACK(insert_signs) }, { "insert_slur", NULL, _("Slur"), "h", _("insert a slur - Ctrl+H"), G_CALLBACK(insert_slur) }, { "insert_chord", NULL, _("chord ..."), NULL , _("insert a chord"), G_CALLBACK(insert_chord) }, { "insert_chord_name", NULL, _("chordname ..."), NULL , _("insert a chordname"), G_CALLBACK(insert_chord_name) }, { "insert_spacer", NULL, _("spacer"), NULL , _("insert a staff spacer"), G_CALLBACK(insert_spacer) }, { "append_staff", NULL, _("Append staff"), "a", _("append a new staff"), G_CALLBACK(append_staff) }, { "import_recorded", NULL, _("Import recorded"), NULL, _("import recorded staff"), G_CALLBACK(importRecorded) }, { "lyrics_editor", NULL, _("Lyrics editor ..."), NULL, _("edit lyrics in text editor"), G_CALLBACK(lyrics_editor) }, { "dyn_ppp", NULL, _("ppp"), NULL, _("insert ppp"), G_CALLBACK(insert_ppp)}, { "dyn_pp", NULL, _("pp"), NULL, _("insert pp"), G_CALLBACK(insert_pp)}, { "dyn_p", NULL, _("p"), NULL, _("insert p"), G_CALLBACK(insert_p)}, { "dyn_mp", NULL, _("mp"), NULL, _("insert mp"), G_CALLBACK(insert_mp)}, { "dyn_sp", NULL, _("sp"), NULL, _("insert sp"), G_CALLBACK(insert_sp)}, { "dyn_mf", NULL, _("mf"), NULL, _("insert mf"), G_CALLBACK(insert_mf)}, { "dyn_sf", NULL, _("sf"), NULL, _("insert sf"), G_CALLBACK(insert_sf)}, { "dyn_f", NULL, _("f"), NULL, _("insert f"), G_CALLBACK(insert_f)}, { "dyn_ff", NULL, _("ff"), NULL, _("insert ff"), G_CALLBACK(insert_ff)}, { "dyn_fff", NULL, _("fff"), NULL, _("insert fff"), G_CALLBACK(insert_fff)}, { "insert_tempo", NULL, _("tempo ..."), NULL, _("insert tempo"), G_CALLBACK(insert_tempo)}, { "insert_text", NULL, _("Text ..."), NULL, _("insert text"), G_CALLBACK(insert_text)}, { "insert_accelerato", NULL, _("accelerando"), NULL, _("insert accelerando"), G_CALLBACK(insert_accelerando)}, { "insert_ritardando", NULL, _("ritardando"), NULL, _("insert ritardando"), G_CALLBACK(insert_ritardando)}, { "lyrics_mode1", NULL, _("lyrics1"), NULL, _("insert lyrics at line 1"), G_CALLBACK(set_lyrics_mode1)}, { "lyrics_mode2", NULL, _("lyrics2"), NULL, _("insert lyrics at line 2"), G_CALLBACK(set_lyrics_mode2)}, { "lyrics_mode3", NULL, _("lyrics3"), NULL, _("insert lyrics at line 3"), G_CALLBACK(set_lyrics_mode3)}, { "lyrics_mode4", NULL, _("lyrics4"), NULL, _("insert lyrics at line 4"), G_CALLBACK(set_lyrics_mode4)}, { "lyrics_mode5", NULL, _("lyrics5"), NULL, _("insert lyrics at line 5"), G_CALLBACK(set_lyrics_mode5)}, { "insert_tuplet", NULL, _("Insert tuplet ..."), NULL, _("insert a tuplet (Ctrl + num)"), G_CALLBACK(insert_tuplet) }, { "set_brace", "brace-icon", _("brace"), NULL, _("group staves by means of a brace"), G_CALLBACK(set_brace_system_delimiter) }, { "set_bracket", "bracket-icon", _("bracket"), NULL, _("group staves by means of a bracket"), G_CALLBACK(set_bracket_system_delimiter) }, { "set_connected", NULL, _("connect barlines"), NULL, _("set connected bar lines"), G_CALLBACK(set_connected_bar_line) }, { "remove_element", GTK_STOCK_CANCEL, _("remove group"), NULL, _("remove a group of connected staves"), G_CALLBACK(remove_system_delimiter) }, { "remove_tuplet", NULL, _("Remove tuplet"), NULL, _("remove a tuplet"), G_CALLBACK(remove_tuplet) }, { "mute_staves", NULL, _("Muting ..."), NULL, _("mute some staves"), G_CALLBACK(mute_staves) }, { "transpose", NULL, _("Transpose ..."), NULL, _("transpose"), G_CALLBACK(transpose) }, { "hide_rests", NULL, _("hide rests"), "R", _("hide (selected) rests"), G_CALLBACK(hide_rests) }, { "unhide_rests", NULL, _("unhide rests"), "U", _("unhide (selected) rests"), G_CALLBACK(unhide_rests) }, { "hide_rests_of_all_voices", NULL, _("hide rests (all v.)"), NULL, _("hide selected rests (all v.)"), G_CALLBACK(hide_rests_of_all_voices) }, { "unhide_rests_of_all_voices", NULL, _("unhide rests (all v.)"), NULL, _("unhide selected rests (all v.)"), G_CALLBACK(unhide_rests_of_all_voices) }, { "set_all_halfs_to_sharp", NULL, _("set all to sharp ..."), NULL, _("set all flats to sharp"), G_CALLBACK(set_all_halfs_to_sharp) }, { "set_all_halfs_to_flat", NULL, _("set all to flat ..."), NULL, _("set all sharps to flat"), G_CALLBACK(set_all_halfs_to_flat) }, { "about_nted", NULL, _("About NtEd"), NULL, NULL, G_CALLBACK(show_about) }, #ifdef YELP_PATH { "show_docu", NULL, _("Documentation ..."), NULL, NULL, G_CALLBACK(show_docu) }, #endif { "show_license", NULL, _("License"), NULL, NULL, G_CALLBACK(show_license) }, { "Exit", GTK_STOCK_QUIT, _("E_xit"), "Q", _("Exit the program"), G_CALLBACK(quit_app)} }; const GtkToggleActionEntry NedMainWindow::accessory_buttons[] = { {"play", GTK_STOCK_MEDIA_PLAY, "play", NULL, _("play"), G_CALLBACK(do_play), FALSE}, {"color_notes", "color-notes", "color notes", NULL, _("voices in different colors"), G_CALLBACK(set_paint_colored), FALSE}, {"show_measure_numbers", NULL, _("show measure numbers"), NULL, _("show measure numbers"), G_CALLBACK(initiate_repaint), FALSE}, {"show_hidden_elements", NULL, _("show hidden elements"), NULL, _("show hidden elements"), G_CALLBACK(toggle_show_hidden), FALSE}, {"midi_input", "midikeyboard-icon", _("midi input"), NULL, _("midi input"), G_CALLBACK(toggle_midi_input), FALSE}, {"record_midi", "record-icon", _("record midi"), "i", _("record midi - i"), G_CALLBACK(toggle_record_midi), FALSE} }; const GtkActionEntry NedMainWindow::main_tools[] = { {"zoom_in", GTK_STOCK_ZOOM_IN, _("in"), "plus", _("Zoom in Ctrl + +"), G_CALLBACK(zoom_in)}, {"zoom_out", GTK_STOCK_ZOOM_OUT, _("out"), "minus", _("Zoom out Ctrl + -"), G_CALLBACK(zoom_out)}, {"undo", GTK_STOCK_UNDO, _("undo"), "z", _("Undo Ctrl + z"), G_CALLBACK(do_undo)}, {"redo", GTK_STOCK_REDO, _("redo"), "y", _("Redo Ctrl + y"), G_CALLBACK(do_redo)}, {"customize_beam", "isolate-icon", _("customize beam"), "j", _("customize beam - Ctrl + j"), G_CALLBACK(customize_beam)}, {"flip_stem", "flipstem-icon", _("flip stem"), "f", _("flip stem - Ctrl + f"), G_CALLBACK(flip_stem)} }; const GtkToggleActionEntry NedMainWindow::insert_erease_button[] = { {"toggle_insert_erease_mode", "insert-mode-icon", _("insert"), "n", _("Toggle Insert/Erase Mode - n"), G_CALLBACK(toggle_insert_erease_mode), FALSE}, }; const GtkToggleActionEntry NedMainWindow::toggle_mode_buttons[] = { {"set_page_mode", "shift-mode-icon", _("page"), "p", _("Page Mode - p"), G_CALLBACK(toggle_shift_mode), FALSE}, {"toggle_keyboard_insert_mode", "key-icon", _("key"), "k", _("Keyboard insert mode - k"), G_CALLBACK(prepare_keyboard_insertion), FALSE}, }; NedMainWindow::NedMainWindow() : m_selected_note(NULL), m_selected_chord_or_rest(NULL), m_selected_stem(NULL), m_selected_free_replaceable(NULL), m_selected_spec_measure(NULL), m_selected_tie_forward(NULL), m_freetext(NULL), m_special_measures(NULL), m_last_staff_during_key_insertion(NULL), m_current_scale(SCALE_GRANULARITY), m_leftx(0), m_topy(0), m_mouse_x(0), m_mouse_y(0), m_current_zoom_level(START_ZOOM_LEVEL), m_special_type(-1), m_pages(NULL), m_recentFileMergeId(-1), m_numerator(4), m_denominator(4), m_timesig_symbol(TIME_SYMBOL_NONE), m_staff_count(1), m_config_changed(FALSE), m_midi_tempo_inverse(START_TEMPO_INVERSE), m_last_touched_system(NULL), m_first_page_yoffs(0.0), m_upbeat_inverse(0), m_selected_group(NULL), m_avoid_feedback(FALSE), m_avoid_feedback_action(FALSE), m_lyrics_mode(NO_LYRICS), m_midi_recorder(NULL), m_pointer_xpos(-1.0), m_paint_colored(FALSE), m_portrait(TRUE), m_keyboard_ctrl_mode(FALSE), m_draw_postscript(false), m_netto_indent(0.0), m_2ndnetto_indent(0.0), m_first_system_indent(0.0), m_2nd_system_indent(0.0), m_global_spacement_fac(1.0), m_last_cursor_x(-1), m_last_cursor_y(-1), m_last_obj(NULL), m_record_midi_numerator(4), m_record_midi_denominator(4), m_record_midi_pgm(0), m_record_midi_tempo_inverse(170000), m_record_midi_metro_volume(64), m_record_midi_triplet_recognition(true), m_record_midi_f_piano(false), m_record_midi_dnt_split(false), m_record_midi_keysig(0) #ifdef YELP_PATH ,m_docu(NULL) #endif { int i; NedResource::m_main_windows = g_list_append(NedResource::m_main_windows, this); m_command_history = new NedCommandHistory(this); m_special_sub_type.m_special_sub_type_int = -1; m_special_sub_type.m_chord_info.chord_ptr = NULL; if ((m_current_paper = NedResource::getPaperInfo("A4")) == NULL) { NedResource::Abort("paper info A4 not available"); } m_score_info = new ScoreInfo(); m_current_filename[0] = '\0'; #ifdef TTT char *str1, *str2, *str3, *str4; str1 = strdup("Хěвел"); str2 = strdup(" Хěвел"); str3 = strdup("Хěвел "); str4 = strdup(" Хěвел "); NedResource::removeWhiteSpaces(&str1); NedResource::DbgMsg(DBG_TESTING, "str1 = *%s*\n", str1); NedResource::removeWhiteSpaces(&str2); NedResource::DbgMsg(DBG_TESTING, "str2 = *%s*\n", str2); NedResource::removeWhiteSpaces(&str3); NedResource::DbgMsg(DBG_TESTING,"str3 = *%s*\n", str3); NedResource::removeWhiteSpaces(&str4); NedResource::DbgMsg(DBG_TESTING, "str4 = *%s*\n", str4); #endif m_staff_contexts[0].m_key_signature_number = 0; m_staff_contexts[0].m_clef_number = 0; m_staff_contexts[0].m_clef_octave_shift = 0; m_staff_contexts[0].m_different_voices = false; for (i = 0; i < MAX_STAFFS; i++) { m_staff_contexts[i].m_staff_name = NULL; m_staff_contexts[i].m_staff_short_name = NULL; m_staff_contexts[i].m_group_name = NULL; m_staff_contexts[i].m_group_short_name = NULL; } for (i = 0; i < VOICE_COUNT; i++) { m_staff_contexts[0].voices[i].m_midi_volume = 64; m_staff_contexts[0].voices[i].m_midi_pan = 64; m_staff_contexts[0].voices[i].m_midi_program = 0; m_staff_contexts[0].m_muted[i] = false; } m_staff_contexts[0].m_midi_chorus = 0; m_staff_contexts[0].m_play_transposed = 0; m_staff_contexts[0].m_midi_reverb = 0; m_staff_contexts[0].m_midi_channel = 0; m_staff_contexts[0].m_flags = 0; m_selection_rect.width = m_selection_rect.height = 0; gettimeofday(&m_last_motion_call, NULL); } void NedMainWindow::createLayout(char *fname, char *yelparg) { FILE *fp; GtkAccelGroup *accel_group; GtkActionGroup *tool_action_group; GtkActionGroup *cursor_action_group; GtkActionGroup *accessories_action_group; GtkActionGroup *insert_erease_action_group; GError *error; GtkWidget *menubar; GtkWidget *toolbar; GdkColor bgcolor; GtkToolItem* pageitem; GtkToolItem* voicesitem; GtkWidget *vc_bu_vbox, *vc_bu_hbox1, *vc_bu_hbox2; int i; char pathfoldername[1024], *cptr; #ifdef YELP_PATH m_docu = yelparg; #endif m_hand = gdk_cursor_new(GDK_HAND2); m_pointer = gdk_cursor_new(GDK_TOP_LEFT_ARROW); m_pencil = gdk_cursor_new(GDK_PENCIL); m_current_zoom = NedResource::getZoomFactor(m_current_zoom_level); m_main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size (GTK_WINDOW (m_main_window), NedResource::m_width, NedResource::m_height); gtk_window_set_title (GTK_WINDOW (m_main_window), "Nted"); gtk_window_set_default_icon(NedResource::m_the_nted_icon); m_menu_action_group = gtk_action_group_new ("MenuActions"); gtk_action_group_set_translation_domain(m_menu_action_group, NULL); gtk_action_group_add_actions (m_menu_action_group, file_entries, G_N_ELEMENTS (file_entries), (void *) this); for (i = 0; i < MAX_RECENT_FILES; i++) { char ac_name[128], ac_label[128]; sprintf(ac_name, "open_recent_action_%d", i); sprintf(ac_label, "Open Recent %d", i); m_recent_actions[i] = gtk_action_new (ac_name, ac_label, NULL, NULL); } m_open_recent_action_group = gtk_action_group_new ("OpenRecent"); gtk_action_group_set_translation_domain(m_open_recent_action_group, NULL); tool_action_group = gtk_action_group_new ("ToolActions"); gtk_action_group_set_translation_domain(tool_action_group, NULL); gtk_action_group_add_actions (tool_action_group, main_tools, G_N_ELEMENTS (main_tools), (void *) this); cursor_action_group = gtk_action_group_new ("CursorActions"); gtk_action_group_set_translation_domain(cursor_action_group, NULL); gtk_action_group_add_toggle_actions (cursor_action_group, toggle_mode_buttons, G_N_ELEMENTS (toggle_mode_buttons), (void *) this); insert_erease_action_group = gtk_action_group_new ("InsertEreaseActions"); gtk_action_group_set_translation_domain(insert_erease_action_group, NULL); gtk_action_group_add_toggle_actions (insert_erease_action_group, insert_erease_button, G_N_ELEMENTS (insert_erease_button), (void *) this); accessories_action_group = gtk_action_group_new ("AccessoryAction"); gtk_action_group_set_translation_domain(accessories_action_group, NULL); gtk_action_group_add_toggle_actions (accessories_action_group, accessory_buttons, G_N_ELEMENTS (accessory_buttons), (void *) this); m_ui_manager = gtk_ui_manager_new (); gtk_ui_manager_insert_action_group (m_ui_manager, m_menu_action_group, 0); gtk_ui_manager_insert_action_group (m_ui_manager, tool_action_group, 1); gtk_ui_manager_insert_action_group (m_ui_manager, insert_erease_action_group, 3); gtk_ui_manager_insert_action_group (m_ui_manager, cursor_action_group, 3); gtk_ui_manager_insert_action_group (m_ui_manager, accessories_action_group, 4); gtk_ui_manager_insert_action_group (m_ui_manager, m_open_recent_action_group, 5); accel_group = gtk_ui_manager_get_accel_group (m_ui_manager); gtk_window_add_accel_group (GTK_WINDOW (m_main_window), accel_group); error = NULL; if (!gtk_ui_manager_add_ui_from_string (m_ui_manager, guiDescription, -1, &error)) { g_message ("building menus failed: %s", error->message); g_error_free (error); NedResource::Abort("error"); } menubar = gtk_ui_manager_get_widget (m_ui_manager, "/MainMenu"); toolbar = gtk_ui_manager_get_widget (m_ui_manager, "/ToolBar"); gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS); m_undo_action = gtk_ui_manager_get_action (m_ui_manager, "/MainMenu/EditMenu/undo"); if (m_undo_action == NULL) { NedResource::Abort("m_undo_action not found"); } gtk_action_set_sensitive(m_undo_action, FALSE); m_redo_action = gtk_ui_manager_get_action (m_ui_manager, "/MainMenu/EditMenu/redo"); if (m_redo_action == NULL) { NedResource::Abort("m_redo_action not found"); } gtk_action_set_sensitive(m_redo_action, FALSE); m_insert_erease_mode_action = GTK_TOGGLE_ACTION(gtk_ui_manager_get_action (m_ui_manager, "/ToolBar/toggle_insert_erease_mode")); if (m_insert_erease_mode_action == NULL) { NedResource::Abort("insert_mode_erease_action not found"); } m_shift_action = GTK_TOGGLE_ACTION(gtk_ui_manager_get_action (m_ui_manager, "/ToolBar/set_page_mode")); if (m_shift_action == NULL) { NedResource::Abort("m_shift_action not found"); } m_keyboard_insert_action = GTK_TOGGLE_ACTION(gtk_ui_manager_get_action (m_ui_manager, "/ToolBar/toggle_keyboard_insert_mode")); if (m_keyboard_insert_action == NULL) { NedResource::Abort("m_keyboard_insert_action not found"); } m_midi_input_action = GTK_TOGGLE_ACTION(gtk_ui_manager_get_action (m_ui_manager, "/ToolBar/midi_input")); if (m_midi_input_action == NULL) { NedResource::Abort("m_midi_input_action not found"); } m_midi_record_action = GTK_TOGGLE_ACTION(gtk_ui_manager_get_action (m_ui_manager, "/ToolBar/record_midi")); if (m_midi_record_action == NULL) { NedResource::Abort("m_midi_record_action not found"); } m_replay_action = GTK_TOGGLE_ACTION(gtk_ui_manager_get_action (m_ui_manager, "/ToolBar/play")); if (m_replay_action == NULL) { NedResource::Abort("m_replay_action not found"); } m_remove_page_action = gtk_ui_manager_get_action (m_ui_manager, "/MainMenu/EditMenu/remove_page"); if (m_remove_page_action == NULL) { NedResource::Abort("m_remove_page_action not found"); } m_show_hidden_action = GTK_TOGGLE_ACTION(gtk_ui_manager_get_action (m_ui_manager, "/MainMenu/ViewMenu/show_hidden_elements")); if (m_show_hidden_action == NULL) { NedResource::Abort("m_show_hidden_action not found"); } m_show_measure_numbers_action = GTK_TOGGLE_ACTION(gtk_ui_manager_get_action (m_ui_manager, "/MainMenu/ViewMenu/show_measure_numbers")); if (m_show_measure_numbers_action == NULL) { NedResource::Abort("m_show_measure_numbers_action not found"); } m_customize_beam_button = gtk_ui_manager_get_widget(m_ui_manager, "/ToolBar/customize_beam"); if (m_customize_beam_button == NULL) { NedResource::Abort("m_customize_beam_button not found"); } gtk_action_set_sensitive(m_remove_page_action, FALSE); g_signal_connect (m_main_window, "delete-event", G_CALLBACK (close_window2), this); g_signal_connect (m_main_window, "set-focus", G_CALLBACK (OnSetFocus), this); double w = m_portrait ? m_current_paper->width : m_current_paper->height; double h = m_portrait ? m_current_paper->height : m_current_paper->width; w /= PS_ZOOM * (double) m_current_scale / (double) SCALE_GRANULARITY; h /= PS_ZOOM * (double) m_current_scale / (double) SCALE_GRANULARITY; NedPage *page = new NedPage(this, w, h, 0, 1, TRUE); m_pages = g_list_append(m_pages, page); reposit(); m_page_selector = gtk_spin_button_new_with_range (1.0, g_list_length(m_pages), 1.0); pageitem = gtk_tool_item_new(); gtk_container_set_border_width(GTK_CONTAINER(pageitem), 5); gtk_container_add(GTK_CONTAINER(pageitem), m_page_selector); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), pageitem, 8); vc_bu_vbox = gtk_vbox_new (FALSE, 0); vc_bu_hbox1 = gtk_hbox_new (FALSE, 0); vc_bu_hbox2 = gtk_hbox_new (FALSE, 0); m_v1bu = gtk_radio_button_new_with_label(NULL, "1"); m_v2bu = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_v1bu), "2"); m_v3bu = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_v1bu), "3"); m_v4bu = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_v1bu), "4"); m_voice_buttons = gtk_radio_button_get_group(GTK_RADIO_BUTTON(m_v1bu)); GdkColor bucolor; bucolor.pixel = 0; bucolor.red = V1RED; bucolor.green = V1GREEN; bucolor.blue = V1BLUE; gtk_widget_modify_base(m_v1bu, GTK_STATE_NORMAL, &bucolor); bucolor.red = V2RED; bucolor.green = V2GREEN; bucolor.blue = V2BLUE; gtk_widget_modify_base(m_v2bu, GTK_STATE_NORMAL, &bucolor); bucolor.red = V3RED; bucolor.green = V3GREEN; bucolor.blue = V3BLUE; gtk_widget_modify_base(m_v3bu, GTK_STATE_NORMAL, &bucolor); bucolor.red = V4RED; bucolor.green = V4GREEN; bucolor.blue = V4BLUE; gtk_widget_modify_base(m_v4bu, GTK_STATE_NORMAL, &bucolor); g_signal_connect (GTK_BUTTON(m_v1bu), "pressed", G_CALLBACK (select_voice), (void *) this); g_signal_connect (GTK_BUTTON(m_v2bu), "pressed", G_CALLBACK (select_voice), (void *) this); g_signal_connect (GTK_BUTTON(m_v3bu), "pressed", G_CALLBACK (select_voice), (void *) this); g_signal_connect (GTK_BUTTON(m_v4bu), "pressed", G_CALLBACK (select_voice), (void *) this); gtk_box_pack_start (GTK_BOX (vc_bu_hbox1), m_v1bu, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vc_bu_hbox1), m_v2bu, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vc_bu_hbox2), m_v3bu, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vc_bu_hbox2), m_v4bu, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vc_bu_vbox), vc_bu_hbox1, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vc_bu_vbox), vc_bu_hbox2, FALSE, FALSE, 0); voicesitem = gtk_tool_item_new(); gtk_container_add(GTK_CONTAINER(voicesitem), vc_bu_vbox); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), voicesitem, 10); m_drawing_area = gtk_drawing_area_new (); bgcolor.pixel = 0; bgcolor.red = bgcolor.green = bgcolor.blue = 0xffff; gtk_widget_modify_bg(GTK_WIDGET(m_drawing_area), GTK_STATE_NORMAL, &bgcolor); GTK_WIDGET_SET_FLAGS(m_drawing_area, GTK_CAN_FOCUS); GTK_WIDGET_SET_FLAGS(m_main_window, GTK_CAN_FOCUS); gtk_widget_add_events(m_drawing_area, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); g_signal_connect (m_drawing_area, "expose-event", G_CALLBACK (handle_expose), (void *) this); g_signal_connect (m_drawing_area, "button-press-event", G_CALLBACK (handle_button_press), (void *) this); g_signal_connect (m_drawing_area, "button-release-event", G_CALLBACK (handle_button_release), (void *) this); g_signal_connect (m_drawing_area, "motion-notify-event", G_CALLBACK (handle_motion), (void *) this); g_signal_connect (m_drawing_area, "size-allocate", G_CALLBACK (size_change_handler), (void *) this); g_signal_connect (m_drawing_area, "key-press-event", G_CALLBACK (key_press_handler), (void *) this); g_signal_connect (m_drawing_area, "key-release-event", G_CALLBACK (key_release_handler), (void *) this); g_signal_connect (m_drawing_area, "enter-notify-event", G_CALLBACK (window_enter_handler), (void *) this); g_signal_connect (m_drawing_area, "leave-notify-event", G_CALLBACK (window_leave_handler), (void *) this); g_signal_connect (m_drawing_area, "scroll-event", G_CALLBACK (scroll_event_handler), (void *) this); g_signal_connect (m_main_window, "delete-event", G_CALLBACK (handle_delete), (void *) this); g_signal_connect (m_page_selector, "value-changed", G_CALLBACK (handle_page_request), (void *) this); m_main_vbox = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (m_main_vbox), menubar, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (m_main_vbox), toolbar, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (m_main_vbox), m_drawing_area, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (m_main_window), m_main_vbox); gtk_widget_show_all (m_main_window); gtk_toggle_action_set_active(m_show_measure_numbers_action, TRUE); m_im_context = gtk_im_context_simple_new (); g_signal_connect (m_im_context, "commit", G_CALLBACK (OnCommit), this); gdk_window_set_cursor (GDK_WINDOW(m_drawing_area->window), m_pointer); gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(m_insert_erease_mode_action), TRUE); if (fname != NULL) { if ((fp = fopen(fname, "r")) == NULL) { fprintf(stderr, "Cannot open %s\n", fname); } else { do_restore(fp, fname); fclose(fp); if (fname[0] == '/' && (cptr = strrchr(fname, '/')) != NULL) { strncpy(pathfoldername, fname, cptr - fname); pathfoldername[cptr - fname] = '\0'; NedResource::m_last_folder = strdup(pathfoldername); } } } updateRecentFiles(); NedResource::popup_tools(this); #ifdef WITH_BANNER #define BANNERSIZE 4.0 m_banner1 = new NedPangoCairoText(m_drawing_area->window, "Vorführung", STAFF_NAME_FONT, STAFF_NAME_FONT_SLANT, STAFF_NAME_FONT_WEIGHT, BANNERSIZE, m_current_zoom, getCurrentScale(), false); m_banner2 = new NedPangoCairoText(m_drawing_area->window, "dieser", STAFF_NAME_FONT, STAFF_NAME_FONT_SLANT, STAFF_NAME_FONT_WEIGHT, BANNERSIZE, m_current_zoom, getCurrentScale(), false); m_banner3 = new NedPangoCairoText(m_drawing_area->window, "Software", STAFF_NAME_FONT, STAFF_NAME_FONT_SLANT, STAFF_NAME_FONT_WEIGHT, BANNERSIZE, m_current_zoom, getCurrentScale(), false); m_banner4 = new NedPangoCairoText(m_drawing_area->window, "11:00 Uhr", STAFF_NAME_FONT, STAFF_NAME_FONT_SLANT, STAFF_NAME_FONT_WEIGHT, BANNERSIZE, m_current_zoom, getCurrentScale(), false); m_banner5 = new NedPangoCairoText(m_drawing_area->window, "Raum N105", STAFF_NAME_FONT, STAFF_NAME_FONT_SLANT, STAFF_NAME_FONT_WEIGHT, BANNERSIZE, m_current_zoom, getCurrentScale(), false); #endif } NedMainWindow::~NedMainWindow() { GList *lptr; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { delete (NedPage *) lptr->data; } g_list_free(m_pages); m_pages = NULL; gtk_widget_destroy (m_main_window); } bool NedMainWindow::isTimsigChangingMeasure(int meas_num) { GList *lptr; if (meas_num < 0) { return false; } for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number == meas_num && ((SpecialMeasure *) lptr->data)->type == TIMESIG) { return true; } } return false; } int NedMainWindow::getNumerator(int meas_num) { GList *lptr; if (meas_num < 0) { return m_numerator; } int num = m_numerator; for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number > meas_num) { return num; } if ((((SpecialMeasure *) lptr->data)->type & TIMESIG) == 0) continue; num = ((SpecialMeasure *) lptr->data)->numerator; /* if (meas_num == 1) { NedResource::DbgMsg(DBG_TESTING, "Stelle 3 num = %d, ((SpecialMeasure *) lptr->data)->measure_number = %d\n", num, ((SpecialMeasure *) lptr->data)->measure_number); } */ } /* if (meas_num == 1) { NedResource::DbgMsg(DBG_TESTING, "Stelle 4 num = %d\n", num); } */ return num; } int NedMainWindow::getDenominator(int meas_num) { GList *lptr; if (meas_num < 0) { return m_denominator; } int denom = m_denominator; for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number > meas_num) { return denom; } if ((((SpecialMeasure *) lptr->data)->type & TIMESIG) == 0) continue; denom = ((SpecialMeasure *) lptr->data)->denominator; } return denom; } unsigned int NedMainWindow::getTimesigSymbol(int meas_num) { GList *lptr; if (meas_num < 0) { return TIME_SYMBOL_NONE; } unsigned int symbol = m_timesig_symbol; for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number > meas_num) { return symbol; } if ((((SpecialMeasure *) lptr->data)->type & TIMESIG) == 0) continue; symbol = ((SpecialMeasure *) lptr->data)->symbol; } return symbol; } unsigned int NedMainWindow::getTimesigSymbolOfThisMeasure(int meas_num) { GList *lptr; if (meas_num < 0) { return TIME_SYMBOL_NONE; } for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number == meas_num) { if ((((SpecialMeasure *) lptr->data)->type & TIMESIG) == 0) return TIME_SYMBOL_NONE; return ((SpecialMeasure *) lptr->data)->symbol; } } return TIME_SYMBOL_NONE; } int NedMainWindow::getNumeratorOfThisMeasure(int meas_num) { GList *lptr; if (meas_num < 0) { return 4; } for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number == meas_num) { if ((((SpecialMeasure *) lptr->data)->type & TIMESIG) == 0) return 4; return ((SpecialMeasure *) lptr->data)->numerator; } } return 4; } int NedMainWindow::getDenominatorOfThisMeasure(int meas_num) { GList *lptr; if (meas_num < 0) { return 4; } for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number == meas_num) { if ((((SpecialMeasure *) lptr->data)->type & TIMESIG) == 0) return 4; return ((SpecialMeasure *) lptr->data)->denominator; } } return 4; } unsigned int NedMainWindow::getMeasureDuration(int meas_num) { GList *lptr; if (meas_num < 0) { return WHOLE_NOTE; } unsigned int duration = m_numerator * WHOLE_NOTE / m_denominator; for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number > meas_num) { return duration; } if ((((SpecialMeasure *) lptr->data)->type & TIMESIG) == 0) continue; duration = ((SpecialMeasure *) lptr->data)->measure_duration; } return duration; } bool NedMainWindow::findTimeOfMeasure(int meas_num, unsigned long long *meas_time) { GList *lptr; unsigned long long system_offs = 0; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->findTimeOfMeasure(meas_num, meas_time, &system_offs)) { *meas_time += system_offs; return true; } } return false; } void NedMainWindow::setAllUnpositioned() { GList *lptr; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->setAllUnpositioned(); } } void NedMainWindow::zoomFreeReplaceables(double zoom, double scale) { GList *lptr; if (m_score_info->title != NULL && strlen(m_score_info->title->getText()) > 0) { m_score_info->title->setZoom(m_current_zoom, 1.0); } if (m_score_info->subject != NULL && strlen(m_score_info->subject->getText()) > 0) { m_score_info->subject->setZoom(m_current_zoom, 1.0); } if (m_score_info->composer != NULL && strlen(m_score_info->composer->getText()) > 0) { m_score_info->composer->setZoom(m_current_zoom, 1.0); } if (m_score_info->arranger != NULL && strlen(m_score_info->arranger->getText()) > 0) { m_score_info->arranger->setZoom(m_current_zoom, 1.0); } if (m_score_info->copyright != NULL && strlen(m_score_info->copyright->getText()) > 0) { m_score_info->copyright->setZoom(m_current_zoom, 1.0); } for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->zoomFreeReplaceables(zoom, scale); } } void NedMainWindow::removeEmptyInteriourPages() { GList *lptr; bool empty_found; do { empty_found = false; lptr = g_list_first(m_pages); while (lptr) { if (((NedPage *) lptr->data)->isEmpty()) { m_pages = g_list_delete_link(m_pages, lptr); lptr = g_list_first(m_pages); empty_found = true; continue; } lptr = g_list_next(lptr); } } while (empty_found); } NedSystem *NedMainWindow::getNextSystem(NedPage *page, NedCommandList *command_list /* ev. == NULL */) { GList *lptr; int len; unsigned int measure_number; NedPage *newpage; if ((lptr = g_list_find(m_pages, page)) == NULL) { NedResource::Abort("NedMainWindow::getNextSystem"); } lptr = g_list_next(lptr); if (lptr == NULL) { if (command_list == NULL) { return NULL; } len = g_list_length(m_pages); measure_number = ((NedPage *) g_list_last(m_pages)->data)->getNumberOfLastMeasure(); NedAppendNewPageCommand *app_page_command = new NedAppendNewPageCommand(this, len, measure_number + 1); app_page_command->execute(); // the commend list is not executed resetPointerLastTouchedSystems(); command_list->addCommand(app_page_command); lptr = g_list_last(m_pages); } newpage = (NedPage *) lptr->data; if (newpage->isEmpty()) return NULL; return newpage->getFirstSystem(); } NedPage *NedMainWindow::getNextPage(NedPage *page, NedCommandList *command_list /* ev. == NULL */) { GList *lptr; int len; unsigned int measure_number; if ((lptr = g_list_find(m_pages, page)) == NULL) { NedResource::Abort("NedMainWindow::getNextPage"); } if ((lptr = g_list_next(lptr)) == NULL) { if (command_list == NULL) { return NULL; } measure_number = ((NedPage *) g_list_last(m_pages)->data)->getNumberOfLastMeasure(); len = g_list_length(m_pages); NedAppendNewPageCommand *app_page_command = new NedAppendNewPageCommand(this, len, measure_number + 1); app_page_command->execute(); // the commend list is not executed command_list->addCommand(app_page_command); lptr = g_list_last(m_pages); } return ((NedPage *) lptr->data); } NedPage *NedMainWindow::getPreviousPage(NedPage *page) { GList *lptr; if ((lptr = g_list_find(m_pages, page)) == NULL) { NedResource::Abort("NedMainWindow::getNextPage"); } if ((lptr = g_list_previous(lptr)) == NULL) { return NULL; } return ((NedPage *) lptr->data); } void NedMainWindow::setUnRedoButtons(bool execute_possible, bool unexecute_possible) { gtk_action_set_sensitive(m_undo_action, unexecute_possible); gtk_action_set_sensitive(m_redo_action, execute_possible); } void NedMainWindow::updatePageCounter() { gtk_spin_button_set_range(GTK_SPIN_BUTTON(m_page_selector), 1, g_list_length(m_pages)); m_selection_rect.width = m_selection_rect.height = 0; gtk_action_set_sensitive(m_remove_page_action, (g_list_length(m_pages) > 1)); } double NedMainWindow::getLeftX() { if (m_draw_postscript) return 0.0; return m_leftx; } double NedMainWindow::getTopY() { if (m_draw_postscript) return 0.0; return m_topy; } void NedMainWindow::draw (cairo_t *cr, int width, int height) { cairo_scaled_font_t *scaled_font; bool dummy = false; scaled_font = NedResource::getScaledFont(m_current_zoom_level); GdkColor sel_color; //cairo_scale(cr, 0.4, 0.4); #ifdef HAS_SET_SCALED_FONT cairo_set_scaled_font (cr, scaled_font); #else cairo_set_font_face(cr, NedResource::getFontFace()); cairo_set_font_matrix(cr, NedResource::getFontMatrix(m_current_zoom_level)); cairo_set_font_options(cr, NedResource::getFontOptions()); #endif GList *lptr; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->draw(cr, gtk_toggle_action_get_active(m_show_measure_numbers_action), width, height); } cairo_new_path(cr); #ifdef WITH_BANNER #define BANNER_Y_DIST 180 #define BANNER_X 50 cairo_set_source_rgba(cr, 0.0, 0.0, 1.0, 0.3); m_banner1->draw(cr, BANNER_X, 100 + 0 * BANNER_Y_DIST, 200, 1); m_banner2->draw(cr, BANNER_X, 100 + 1 * BANNER_Y_DIST, 200, 1); m_banner3->draw(cr, BANNER_X, 100 + 2 * BANNER_Y_DIST, 200, 1); m_banner4->draw(cr, BANNER_X, 100 + 3 * BANNER_Y_DIST, 200, 1); m_banner5->draw(cr, BANNER_X, 100 + 4 * BANNER_Y_DIST, 200, 1); cairo_stroke(cr); cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 0.0); #endif if (!NedResource::isPlaying() && m_selection_rect.width > MIN_SELECTION_RECTANGLE_DIM && m_selection_rect.height > MIN_SELECTION_RECTANGLE_DIM) { cairo_new_path(cr); cairo_set_line_width(cr, 1.0); cairo_set_source_rgb (cr, 0.4, 0.0, 1.0); cairo_move_to(cr, m_selection_rect.x, m_selection_rect.y); cairo_line_to(cr, m_selection_rect.x + m_selection_rect.width, m_selection_rect.y); cairo_line_to(cr, m_selection_rect.x + m_selection_rect.width, m_selection_rect.y + m_selection_rect.height); cairo_line_to(cr, m_selection_rect.x , m_selection_rect.y + m_selection_rect.height); cairo_line_to(cr, m_selection_rect.x , m_selection_rect.y); cairo_stroke(cr); cairo_scale(cr, getCurrentScale(), getCurrentScale()); sel_color.pixel = 0; sel_color.red = 200; sel_color.green = 0; sel_color.blue = 250; for (lptr = g_list_first(m_selected_group); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->draw(cr, &dummy); } cairo_identity_matrix(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } } void NedMainWindow::repaintDuringReplay(NedNote *notes[], int num_notes) { int i; bool dummy; cairo_t *cr; cr = gdk_cairo_create (m_drawing_area->window); cairo_scaled_font_t *scaled_font; scaled_font = NedResource::getScaledFont(m_current_zoom_level); #ifdef HAS_SET_SCALED_FONT cairo_set_scaled_font (cr, scaled_font); #else cairo_set_font_face(cr, NedResource::getFontFace()); cairo_set_font_matrix(cr, NedResource::getFontMatrix(m_current_zoom_level)); cairo_set_font_options(cr, NedResource::getFontOptions()); #endif cairo_scale(cr, getCurrentScale(), getCurrentScale()); for (i = 0; i < num_notes; i++) { if (notes[i]->getChord()->getType() == TYPE_GRACE) { notes[i]->getChord()->draw(cr, &dummy); continue; } notes[i]->draw(cr); } cairo_destroy (cr); } void NedMainWindow::reposit(NedCommandList *command_list /* = NULL */, NedPage *start_page /* = NULL */, NedSystem *start_system /* = NULL */, bool with_progress_bar /* = false */) { GList *lptr, *plptr; GtkWidget *progressbar = NULL, *progressdialog = NULL; bool changes, ch; //bool page_deleted = false; int pass, lowest_page = 0; int page_number; double percent; NedSystem *system, *next_system; m_start_system_for_renumbering = NULL; m_start_measure_number_for_renumbering = (1 << 30); //NedRemovePageCommand *rem_page_cmd; int measure_number; if (start_page == NULL) { start_page = ((NedPage *) g_list_first(m_pages)->data); plptr = g_list_first(m_pages); } else { if ((plptr = g_list_find(m_pages, start_page)) == NULL) { // can happen in unexecute if the page ist inserted //NedResource::Abort("NedMainWindow::reposit"); start_page = ((NedPage *) g_list_first(m_pages)->data); plptr = g_list_first(m_pages); } } resetPointerLastTouchedSystems(); if (with_progress_bar) { progressdialog = gtk_dialog_new_with_buttons("Placing", NULL, (GtkDialogFlags) 0, NULL); progressbar = gtk_progress_bar_new(); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(progressdialog)->vbox), progressbar); gtk_widget_show_all(progressdialog); } #ifdef XXX unsigned int old_page_map = 0; unsigned int page_map = 0; int zz = 0; #endif do { #ifdef XXX page_map = 0; #endif changes = FALSE; if (start_system == NULL) { system = start_page->getFirstSystem(); } else { system = start_system; system->m_is_positioned = false; } measure_number = system->getNumberOfFirstMeasure(); if (with_progress_bar) { lowest_page = 100000; } while (system != NULL) { ch = system->reposit(measure_number, command_list, &next_system); /* if (ch) { printf("pag: %d, sys %d: changes = 1\n", system->getPage()->getPageNumber(), system->getSystemNumber()); fflush(stdout); } */ measure_number = system->getNumberOfLastMeasure(); measure_number++; #ifdef XXX if (ch) { page_map |= (1 << system->getPage()->getPageNumber()); } #endif if (with_progress_bar) { if (ch) { if (system->getPage()->getPageNumber() < lowest_page) { lowest_page = system->getPage()->getPageNumber(); } } } changes = changes || ch; system = next_system; } if (with_progress_bar) { percent = (double) lowest_page / (double) g_list_length(m_pages); if (percent > 1.0) percent = 1.0; gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(progressbar), percent); g_main_context_iteration(NULL, FALSE); } #ifdef XXX if (old_page_map != page_map) { for (int i = 0; i < 31; i++) { NedResource::DbgMsg(DBG_TESTING, "%c ", (page_map & (1 << i)) == 0 ? '.' : 'x'); } NedResource::DbgMsg(DBG_TESTING, "\n"); old_page_map = page_map; } zz++; #endif } while (changes); #ifdef XXX NedResource::DbgMsg(DBG_TESTING, "%d elemente bewegt\n", NedClipBoard::count); //NedClipBoard::count = 0; #endif for (pass = 0; pass < 2; pass++) { do { changes = FALSE; ch = TRUE; for (lptr = plptr; lptr; lptr = g_list_next(lptr)) { ch = ((NedPage *) lptr->data)->placeStaffs(pass, command_list); changes = changes || ch; } } while (changes); } #ifdef UNNEEDED // removing a page is already done during placeStaffs (above) if (command_list != NULL) { command_list->setRenumber(); for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->isEmpty()) { rem_page_cmd = new NedRemovePageCommand(this, (NedPage *) lptr->data); rem_page_cmd->execute(); page_deleted = true; lptr = g_list_first(m_pages); command_list->addCommand(rem_page_cmd); } } if (page_deleted) { command_list->setRenumberPages(); renumberPages(); } } #endif deletePagesWithoutSystem(); for (page_number = 0, lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->setPageNumber(page_number++); ((NedPage *) lptr->data)->recomputeFreeReplaceables(); ((NedPage *) lptr->data)->computeTuplets(); // do it here again, otherwise // it can happen some tuplets are not recomputed } renumberMeasures(NULL, 1, true); if (with_progress_bar) { gtk_widget_destroy (GTK_WIDGET(progressdialog)); } } void NedMainWindow::renumberMeasures(NedSystem *start_system /* = NULL */, int measure_number /* = 1 */, bool force /* = false */) { NedSystem *system; NedPage *start_page; /* GList *lptr; for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number == 17) { NedResource::DbgMsg(DBG_TESTING, "setspecial (17) auf 0x0 (0x%x)\n", &(((SpecialMeasure *) lptr->data)->measure_number)); } ((SpecialMeasure *) lptr->data)->measure = NULL; } */ system = start_system; if (start_system == NULL) { start_page = (NedPage *) g_list_first(m_pages)->data; system = start_page->getFirstSystem(); } while (system != NULL) { system->renumberMeasures(&measure_number, m_special_measures, force); system = system->getPage()->getNextSystem(system); } } void NedMainWindow::setNewMeasureSpread(double spread) { NedSystem *system; system = ((NedPage *) g_list_first(m_pages)->data)->getFirstSystem(); while (system != NULL) { system->setNewMeasureSpread(spread); system = system->getPage()->getNextSystem(system); } } bool NedMainWindow::needsARepLine(int measure_number) { int current_type = 0; GList *lptr; for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number > measure_number) { return current_type != 0; } switch ((((SpecialMeasure *) lptr->data)->type & END_TYPE_MASK)) { case REP1END: case REP2END: current_type = 0; break; } switch ((((SpecialMeasure *) lptr->data)->type & START_TYPE_MASK)) { case REP1START: case REP2START: current_type = ((SpecialMeasure *) lptr->data)->type; break; } } return false; } gboolean NedMainWindow::handle_expose (GtkWidget *widget, GdkEventExpose *event, gpointer data) { cairo_t *cr; NedMainWindow *main_window = (NedMainWindow *) data; GList *lptr; int c, line, yy, l; double xpos, ypos, bottom; NedStaff *dummy; cr = gdk_cairo_create (widget->window); main_window->draw (cr, widget->allocation.width, widget->allocation.height); if (main_window->m_lyrics_mode < 0 && (main_window->getMainWindowStatus() & INSERT_EREASE_MODE) != 0 && !NedResource::isPlaying() && main_window->m_pointer_xpos >= 0.0) { for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->findLine(main_window->m_pointer_xpos, main_window->m_pointer_ypos, &ypos, &line, &bottom, &dummy)) { ypos *= (double) main_window->m_current_scale / (double) SCALE_GRANULARITY; bottom *= (double) main_window->m_current_scale / (double) SCALE_GRANULARITY; xpos = main_window->m_pointer_xpos; #ifdef OOO #ifdef CCC Display *dpy = cairo_xlib_surface_get_display (cairo_get_target (cr)); Window win = cairo_xlib_surface_get_drawable (cairo_get_target (cr)); #else Display *dpy = gdk_x11_drawable_get_xdisplay(widget->window); Window win =gdk_x11_drawable_get_xid(widget->window); #endif GC gc = DefaultGC(dpy, DefaultScreen(dpy)); XSetForeground(dpy, gc, 0x0000bb); linewidth = (int) main_window->m_current_zoom * 0.5; rad1 = (int) main_window->m_current_zoom * 0.15; rad2 = (int) main_window->m_current_zoom * 0.1; XDrawArc(dpy, win, gc, main_window->m_pointer_xpos - rad1, ypos - rad2, 2 * rad1, 2 * rad2, 0, 64 * 360); if (line < -9) { c = -(line + 8) / 2; for (l = 0; l < c; l++) { yy = (int) (bottom - ((5 + l) * LINE_DIST) * main_window->m_current_zoom); XDrawLine(dpy, win, gc, main_window->m_pointer_xpos - linewidth / 2, yy, main_window->m_pointer_xpos + linewidth / 2, yy); } } if (line > 1) { c = line / 2; for (l = 0; l < c; l++) { yy = (int) (bottom + ((1 + l) * LINE_DIST) * main_window->m_current_zoom); XDrawLine(dpy, win, gc, main_window->m_pointer_xpos - linewidth / 2, yy, main_window->m_pointer_xpos + linewidth / 2, yy); } } break; } #else double dlinewidth = main_window->m_current_zoom * 0.5 * (double) main_window->m_current_scale / (double) SCALE_GRANULARITY; double drad1 = main_window->m_current_zoom * 0.15 * (double) main_window->m_current_scale / (double) SCALE_GRANULARITY; double drad2 = main_window->m_current_zoom * 0.24 * (double) main_window->m_current_scale / (double) SCALE_GRANULARITY; cairo_new_path(cr); cairo_set_line_width(cr, 0.02 * main_window->m_current_zoom); cairo_set_source_rgb (cr, 0.0, 0.0, 0.9); //cairo_arc(cr, main_window->m_pointer_xpos - rad1, ypos - rad1, 2 * rad1, 0, 2.0 *M_PI); cairo_move_to(cr, xpos - drad1, ypos); cairo_curve_to(cr, xpos - drad1, ypos, xpos, ypos + drad2, xpos + drad1, ypos); cairo_curve_to(cr, xpos + drad1, ypos, xpos, ypos - drad2, xpos - drad1, ypos); /* cairo_move_to(cr, main_window->m_pointer_xpos - drad1, ypos); cairo_line_to(cr, main_window->m_pointer_xpos, ypos + drad2); cairo_line_to(cr, main_window->m_pointer_xpos + drad1, ypos); cairo_line_to(cr, main_window->m_pointer_xpos, ypos - drad2); cairo_line_to(cr, main_window->m_pointer_xpos - drad1, ypos); */ cairo_stroke(cr); if (line < -9) { c = -(line + 8) / 2; for (l = 0; l < c; l++) { yy = (int) (bottom - ((5 + l) * LINE_DIST) * main_window->m_current_zoom * main_window->getCurrentScale()); cairo_new_path(cr); cairo_move_to(cr, xpos - dlinewidth / 2, yy); cairo_line_to(cr, xpos + dlinewidth / 2, yy); cairo_stroke(cr); } } if (line > 1) { c = line / 2; for (l = 0; l < c; l++) { yy = (int) (bottom + ((1 + l) * LINE_DIST) * main_window->m_current_zoom * main_window->getCurrentScale()); cairo_new_path(cr); cairo_move_to(cr, xpos - dlinewidth / 2, yy); cairo_line_to(cr, xpos + dlinewidth / 2, yy); cairo_stroke(cr); } } break; } #endif } } cairo_destroy (cr); return FALSE; } void NedMainWindow::do_undo(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedResource::m_avoid_immadiate_play = TRUE; NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_selected_note = NULL; main_window->m_selected_chord_or_rest = NULL; main_window->m_selected_spec_measure = NULL; main_window->m_selected_tie_forward = NULL; main_window->m_command_history->unexecute(); main_window->repaint(); NedResource::m_avoid_immadiate_play = FALSE; } int NedMainWindow::getLyricsMode() { return m_lyrics_mode; } unsigned int NedMainWindow::getMainWindowStatus() { unsigned int status = 0; if (gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(m_insert_erease_mode_action))) { status |= INSERT_EREASE_MODE; } if (gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(m_shift_action))) { status |= SHIFT_MODE; } return status; } bool NedMainWindow::getShowHidden() { return gtk_toggle_action_get_active(m_show_hidden_action); } bool NedMainWindow::hasFocus() { return gtk_widget_is_focus(m_main_window); } void NedMainWindow::do_redo(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedResource::m_avoid_immadiate_play = TRUE; NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_selected_note = NULL; main_window->m_selected_chord_or_rest = NULL; main_window->m_selected_spec_measure = NULL; main_window->m_selected_tie_forward = NULL; main_window->m_command_history->execute(); main_window->repaint(); NedResource::m_avoid_immadiate_play = FALSE; } int NedMainWindow::getCurrentVoice() { int voice_nr = 3; GSList *l; for (l = m_voice_buttons; l ; l = l->next, voice_nr--) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(l->data))) { return voice_nr; } } NedResource::Abort("NedMainWindow::getCurrentVoice"); return 0; } void NedMainWindow::select_voice(GtkButton *button, gpointer data) {} void NedMainWindow::do_play(GtkAction *action, gpointer data) { if (!NedResource::alsaSequencerOutOk()) { NedResource::Info(_("Cannot replay because could not open ALSA sequencer")); return; } NedMainWindow *main_window = (NedMainWindow *) data; main_window->replay(gtk_toggle_action_get_active(GTK_TOGGLE_ACTION (action))); } void NedMainWindow::replay(bool on) { int i, j; GList *lptr; SpecialMeasure *spec_ptr; int last_rep_open = 1, last_alternative1 = -1; m_last_y_adjustment = NULL; if (NedResource::isPlaying() && NedResource::getMainwWindowWithLastFocus() != this) { gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(m_replay_action), FALSE); return; } if (on) { gtk_toggle_action_set_active(m_midi_record_action, FALSE); gtk_toggle_action_set_active(m_midi_input_action, FALSE); for (i = 0; i < m_staff_count; i++) { m_staff_contexts[i].m_effective_channel = m_staff_contexts[i].m_midi_channel; m_staff_contexts[i].m_pitch_offs = 0; if (m_staff_contexts[i].m_different_voices) { for (j = 0; j < VOICE_COUNT; j++) { m_staff_contexts[i].voices[j].m_current_midi_program = m_staff_contexts[i].voices[j].m_midi_program; NedResource::setStartVolume(m_staff_contexts[i].m_midi_channel, j, m_staff_contexts[i].voices[j].m_midi_volume); } } else { for (j = 0; j < VOICE_COUNT; j++) { m_staff_contexts[i].voices[j].m_current_midi_program = m_staff_contexts[i].voices[j].m_midi_program; NedResource::setStartVolume(m_staff_contexts[i].m_midi_channel, j, m_staff_contexts[i].voices[0].m_midi_volume); } } } for (i = 0; i < m_staff_count; i++) { //NedResource::MidiProgramChange(m_staff_contexts[i].m_midi_channel, m_staff_contexts[i].voices[0].m_current_midi_program); NedResource::MidiCtrl(MIDI_CTL_MSB_PAN, m_staff_contexts[i].m_midi_channel, m_staff_contexts[i].voices[0].m_midi_pan); NedResource::MidiCtrl(MIDI_CTL_LSB_PAN, m_staff_contexts[i].m_midi_channel, 0); NedResource::MidiCtrl(MIDI_CTL_E1_REVERB_DEPTH, m_staff_contexts[i].m_midi_channel, m_staff_contexts[i].m_midi_reverb); NedResource::MidiCtrl(MIDI_CTL_E3_CHORUS_DEPTH, m_staff_contexts[i].m_midi_channel, m_staff_contexts[i].m_midi_chorus); } NedResource::prepareMidiEventList(m_midi_tempo_inverse); for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->prepareReplay(); } NedResource::correctFermataTempo(); for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { spec_ptr = (SpecialMeasure *) lptr->data; switch (spec_ptr->type & REP_TYPE_MASK) { case REPEAT_OPEN: last_rep_open = spec_ptr->measure_number; break; case REPEAT_CLOSE: NedResource::copyAllBetweenMeasures(last_rep_open, last_alternative1, spec_ptr->measure_number); last_alternative1 = -1; break; case REPEAT_OPEN_CLOSE: NedResource::copyAllBetweenMeasures(last_rep_open, -1, spec_ptr->measure_number); last_rep_open = spec_ptr->measure_number; last_alternative1 = -1; break; } switch (spec_ptr->type & START_TYPE_MASK) { case REP1START: last_alternative1 = spec_ptr->measure_number; break; } } NedResource::handleSegnos(); NedResource::startReplay(m_selected_note, m_midi_tempo_inverse); /* m_selected_note = NULL; m_selected_spec_measure = NULL; m_selected_chord_or_rest = NULL; m_selected_tie_forward = NULL; */ } else { NedResource::stopReplay(); } } void NedMainWindow::resetActiveFlags() { GList *lptr; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->resetActiveFlags(); } } double NedMainWindow::determineTempoInverse(NedChordOrRest *element) { double tempoinverse = m_midi_tempo_inverse; bool found = false; GList *lptr; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->determineTempoInverse(element, element->getSystem(), &tempoinverse, &found); if (found) break; } if (!found) { NedResource::Abort("NedMainWindow::determineTempo"); } return tempoinverse; } void NedMainWindow::deleteStaff(int staff_number) { int i; GList *lptr; if (staff_number < 0 || staff_number >= m_staff_count || m_staff_count < 2) { NedResource::Abort("NedMainWindow::deleteStaff"); } for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->deleteStaff(staff_number); } for (i = staff_number; i < m_staff_count - 1; i++) { m_staff_contexts[i] = m_staff_contexts[i+1]; } m_staff_count--; computeSystemIndent(); } void NedMainWindow::shiftStaff(int staff_number, int position) { int i; GList *lptr; struct staff_context_str context; if (staff_number < 0 || staff_number >= m_staff_count || position < 0 || position >= m_staff_count) { NedResource::Abort("NedMainWindow::shiftStaff"); } for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->shiftStaff(staff_number, position); } context = m_staff_contexts[staff_number]; if (position > staff_number) { for (i = staff_number; i < position; i++) { m_staff_contexts[i] = m_staff_contexts[i+1]; } } else { for (i = staff_number; i > position; i--) { m_staff_contexts[i] = m_staff_contexts[i-1]; } } m_staff_contexts[position] = context; reposit(); repaint(); } void NedMainWindow::restoreStaff(int staff_number, staff_context_str *staff_context) { int i; GList *lptr; if (staff_number < 0 || staff_number > m_staff_count) { NedResource::Abort("NedMainWindow::restoreStaff"); } for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->restoreStaff(staff_number); } for (i = m_staff_count; i > staff_number; i--) { m_staff_contexts[i] = m_staff_contexts[i-1]; } m_staff_contexts[staff_number] = *staff_context; m_staff_count++; computeSystemIndent(); } void NedMainWindow::do_staff_config(int staff_number, NedSystem *system) { bool state, delete_staff, delete_system, do_adjust; int clef_number, key_signature_number, numerator, denominator, tempo; int chorus, reverb; int pan[VOICE_COUNT], vol[VOICE_COUNT], midi_program[VOICE_COUNT]; char *staff_name, *staff_short_name; char *group_name, *group_short_name; bool different_voices; unsigned int symbol = m_timesig_symbol; int channel, position, play_transposed; NedChangeTimeSigCommand *change_timesig_command; int octave_shift = 0; bool allow_delete_systems; NedCommandList *command_list = NULL; bool text_diff; bool newmuted[VOICE_COUNT]; int i; /* allow_delete_systems = ((g_list_length(m_pages) > 1) || (((NedPage *) g_list_first(m_pages)->data)->getSystemCount() > 1)); if (allow_delete_systems && system->getPage()->getPageNumber() == 0 && ((NedPage *) g_list_first(m_pages)->data)->getSystemCount() < 2) { allow_delete_systems = false; } */ allow_delete_systems = system->getPage()->getSystemCount() > 1; if (NedResource::isPlaying()) return; for (i = 0; i < VOICE_COUNT; i++) { pan[i] = m_staff_contexts[staff_number].voices[i].m_midi_pan; vol[i] = m_staff_contexts[staff_number].voices[i].m_midi_volume; midi_program[i] = m_staff_contexts[staff_number].voices[i].m_midi_program; } NedStaffContextDialog *dialog = new NedStaffContextDialog (GTK_WINDOW(m_main_window), this, m_staff_contexts[staff_number].m_different_voices, allow_delete_systems, m_staff_count, staff_number, m_staff_contexts[staff_number].m_staff_name != NULL ? m_staff_contexts[staff_number].m_staff_name->getText() : NULL, m_staff_contexts[staff_number].m_staff_short_name != NULL ? m_staff_contexts[staff_number].m_staff_short_name->getText() : NULL, m_staff_contexts[staff_number].m_group_name != NULL ? m_staff_contexts[staff_number].m_group_name->getText() : NULL, m_staff_contexts[staff_number].m_group_short_name != NULL ? m_staff_contexts[staff_number].m_group_short_name->getText() : NULL, m_staff_contexts[staff_number].m_clef_number, m_staff_contexts[staff_number].m_clef_octave_shift, m_staff_contexts[staff_number].m_key_signature_number, m_numerator, m_denominator, symbol, vol, midi_program, m_staff_contexts[staff_number].m_midi_channel, (int) (60000.0 / m_midi_tempo_inverse), pan, m_staff_contexts[staff_number].m_midi_chorus, m_staff_contexts[staff_number].m_play_transposed, m_staff_contexts[staff_number].m_midi_reverb, m_staff_contexts[staff_number].m_muted); dialog->getValues(&state, &different_voices, &delete_staff, &delete_system, &position, &staff_name, &staff_short_name, &group_name, &group_short_name, &clef_number, &octave_shift, &key_signature_number, &do_adjust, &numerator, &denominator, &symbol, vol, midi_program, &channel, &tempo, pan, &chorus, &play_transposed, &reverb, &m_config_changed, newmuted); delete dialog; if (delete_staff) { NedCommandList *command_list = new NedCommandList(this); NedResource::m_recorded_staff = NULL; NedDeleteStaffCommand *delete_staff_command = new NedDeleteStaffCommand(this, staff_number); command_list->addCommand(delete_staff_command); delete_staff_command->execute(); setAllUnpositioned(); command_list->setFullReposit(); reposit(command_list); m_command_history->addCommandList(command_list); return; } if (delete_system) { NedCommandList *command_list = new NedCommandList(this); NedDeleteSystemCommand *delete_system_command = new NedDeleteSystemCommand(system); command_list->addCommand(delete_system_command); delete_system_command->execute(); setAllUnpositioned(); command_list->setFullReposit(); reposit(command_list); m_command_history->addCommandList(command_list); return; } if (state) { if (staff_number != position) { NedShiftStaffCommand *shift_staff_command = new NedShiftStaffCommand(this, staff_number, position); command_list = new NedCommandList(this); command_list->addCommand(shift_staff_command); shift_staff_command->execute(); command_list->setFullReposit(); m_command_history->addCommandList(command_list); computeSystemIndent(); setAndUpdateClefTypeAndKeySig(); setAllUnpositioned(); reposit(command_list); repaint(); return; // this has priority; all other operations are ignored } if (m_staff_contexts[staff_number].m_staff_name != NULL) { text_diff = m_staff_contexts[staff_number].m_staff_name->textDiffers(staff_name); } else { text_diff = (staff_name != NULL); } if (text_diff) { if (m_staff_contexts[staff_number].m_staff_name != NULL) { delete m_staff_contexts[staff_number].m_staff_name; m_staff_contexts[staff_number].m_staff_name = NULL; } if (staff_name != NULL && strlen(staff_name) > 0) { m_staff_contexts[staff_number].m_staff_name = new NedPangoCairoText(m_drawing_area->window, staff_name, STAFF_NAME_FONT, STAFF_NAME_FONT_SLANT, STAFF_NAME_FONT_WEIGHT, STAFF_NAME_FONT_SIZE, m_current_zoom, getCurrentScale(), false); } } if (staff_name != NULL) { free(staff_name); } if (m_staff_contexts[staff_number].m_staff_short_name != NULL) { text_diff = m_staff_contexts[staff_number].m_staff_short_name->textDiffers(staff_short_name); } else { text_diff = (staff_short_name != NULL); } if (text_diff) { if (m_staff_contexts[staff_number].m_staff_short_name != NULL) { delete m_staff_contexts[staff_number].m_staff_short_name; m_staff_contexts[staff_number].m_staff_short_name = NULL; } if (staff_short_name != NULL && strlen(staff_short_name) > 0) { m_staff_contexts[staff_number].m_staff_short_name = new NedPangoCairoText(m_drawing_area->window, staff_short_name, STAFF_SHORT_NAME_FONT, STAFF_SHORT_NAME_FONT_SLANT, STAFF_SHORT_NAME_FONT_WEIGHT, STAFF_SHORT_NAME_FONT_SIZE, m_current_zoom, getCurrentScale(), false); } } if (staff_short_name != NULL) { free(staff_short_name); } if (m_staff_contexts[staff_number].m_group_short_name != NULL) { text_diff = m_staff_contexts[staff_number].m_group_short_name->textDiffers(group_name); } else { text_diff = (group_name != NULL); } if (text_diff) { if (m_staff_contexts[staff_number].m_group_name != NULL) { delete m_staff_contexts[staff_number].m_group_name; m_staff_contexts[staff_number].m_group_name = NULL; } if (group_name != NULL && strlen(group_name) > 0) { m_staff_contexts[staff_number].m_group_name = new NedPangoCairoText(m_drawing_area->window, group_name, STAFF_NAME_FONT, STAFF_NAME_FONT_SLANT, STAFF_NAME_FONT_WEIGHT, STAFF_NAME_FONT_SIZE, m_current_zoom, getCurrentScale(), false); } } if (group_name != NULL) { free(group_name); } if (m_staff_contexts[staff_number].m_group_short_name != NULL) { text_diff = m_staff_contexts[staff_number].m_group_short_name->textDiffers(group_short_name); } else { text_diff = (group_short_name != NULL); } if (text_diff) { if (m_staff_contexts[staff_number].m_group_short_name != NULL) { delete m_staff_contexts[staff_number].m_group_short_name; m_staff_contexts[staff_number].m_group_short_name = NULL; } if (group_short_name != NULL && strlen(group_short_name) > 0) { m_staff_contexts[staff_number].m_group_short_name = new NedPangoCairoText(m_drawing_area->window, group_short_name, STAFF_SHORT_NAME_FONT, STAFF_SHORT_NAME_FONT_SLANT, STAFF_SHORT_NAME_FONT_WEIGHT, STAFF_SHORT_NAME_FONT_SIZE, m_current_zoom, getCurrentScale(), false); } } if (group_short_name != NULL) { free(group_short_name); } if (m_staff_contexts[staff_number].m_different_voices != different_voices) { m_staff_contexts[staff_number].m_different_voices = different_voices; } for (i = 0; i < VOICE_COUNT; i++) { if (midi_program[i] >= 0) { m_staff_contexts[staff_number].voices[i].m_midi_program = midi_program[i]; } m_staff_contexts[staff_number].voices[i].m_midi_volume = vol[i]; m_staff_contexts[staff_number].voices[i].m_midi_pan = pan[i]; m_staff_contexts[staff_number].m_muted[i] = newmuted[i]; } m_staff_contexts[staff_number].m_midi_channel = channel; m_staff_contexts[staff_number].m_midi_chorus = chorus; m_staff_contexts[staff_number].m_play_transposed = play_transposed; m_staff_contexts[staff_number].m_midi_reverb = reverb; m_midi_tempo_inverse = 60000.0 / (double) tempo; if (m_numerator != numerator || m_denominator != denominator || m_timesig_symbol != symbol) { if (command_list == NULL) { command_list = new NedCommandList(this); } change_timesig_command = new NedChangeTimeSigCommand(this, numerator, denominator, symbol); change_timesig_command->execute(); command_list->addCommand(change_timesig_command); command_list->setFullReposit(); //setAllUnpositioned(); //reposit(command_list); checkForElementsToSplit(command_list); } if (m_staff_contexts[staff_number].m_key_signature_number != key_signature_number) { if (command_list == NULL) { command_list = new NedCommandList(this); } NedChangeStaffKeysigCmd *change_staff_keysig_cmd = new NedChangeStaffKeysigCmd(this, staff_number, key_signature_number, do_adjust); change_staff_keysig_cmd->execute(); command_list->addCommand(change_staff_keysig_cmd); command_list->setFullReposit(); setAllUnpositioned(); } if (m_staff_contexts[staff_number].m_clef_number != clef_number || m_staff_contexts[staff_number].m_clef_octave_shift != octave_shift) { if (command_list == NULL) { command_list = new NedCommandList(this); } NedChangeStaffClefCmd *change_staff_clef_cmd = new NedChangeStaffClefCmd(this, staff_number, clef_number, octave_shift, do_adjust); change_staff_clef_cmd->execute(); command_list->addCommand(change_staff_clef_cmd); command_list->setFullReposit(); setAllUnpositioned(); } if (command_list != NULL) { command_list->setFullReposit(); m_command_history->addCommandList(command_list); } computeSystemIndent(); setAndUpdateClefTypeAndKeySig(); setAllUnpositioned(); reposit(command_list); repaint(); } } void NedMainWindow::computeSystemIndent() { int i; double bracket_indent = 0.0, nested_braceindent = 0.0; double width, width2 = 0.0; bool inside_bracket = false; bool inside_brace = false; m_2ndnetto_indent = m_netto_indent = m_first_system_indent = m_2nd_system_indent = 0.0; for (i = 0; i < m_staff_count; i++) { if (m_staff_contexts[i].m_flags & BRACKET_START) { bracket_indent = BRACKET_INDENT; inside_bracket = true; } if (m_staff_contexts[i].m_flags & BRACKET_END) { if (inside_bracket && m_staff_contexts[i].m_group_name) { if (m_staff_contexts[i].m_group_name->getWidth() > width2) { width2 = m_staff_contexts[i].m_group_name->getWidth(); } } inside_bracket = false; } if (m_staff_contexts[i].m_flags & BRACE_END) { if (inside_brace && m_staff_contexts[i].m_group_name) { if (m_staff_contexts[i].m_group_name->getWidth() > width2) { width2 = m_staff_contexts[i].m_group_name->getWidth() + BRACE_X_OFFSET; } } inside_brace = false; } if ((m_staff_contexts[i].m_flags & BRACE_START)) { inside_brace = true; if (inside_bracket) { nested_braceindent = NESTED_BRACE_INDENT; } bracket_indent = BRACKET_INDENT; } if (width2 > m_netto_indent) { m_netto_indent = width2; } if (m_staff_contexts[i].m_staff_name == NULL) continue; width = m_staff_contexts[i].m_staff_name->getWidth(); if (width > m_netto_indent) { m_netto_indent = width; } } if (m_netto_indent > 0.0) { m_first_system_indent = m_netto_indent / m_current_zoom / getCurrentScale() + SYSTEM_INTENT_SEC_SPACE + bracket_indent + 2 * nested_braceindent; } inside_brace = inside_bracket = 0; width2 = 0.0; for (i = 0; i < m_staff_count; i++) { if (m_staff_contexts[i].m_flags & BRACKET_START) { inside_bracket = true; } if (m_staff_contexts[i].m_flags & BRACKET_END) { if (inside_bracket && m_staff_contexts[i].m_group_short_name) { if (m_staff_contexts[i].m_group_short_name->getWidth() > width2) { width2 = m_staff_contexts[i].m_group_short_name->getWidth(); } } inside_bracket = false; } if (m_staff_contexts[i].m_flags & BRACE_END) { if (inside_brace && m_staff_contexts[i].m_group_short_name) { if (m_staff_contexts[i].m_group_short_name->getWidth() > width2) { width2 = m_staff_contexts[i].m_group_short_name->getWidth(); } } inside_brace = false; } if ((m_staff_contexts[i].m_flags & BRACE_START)) { inside_brace = true; } if (width2 > m_2ndnetto_indent) { m_2ndnetto_indent = width2; } if (m_staff_contexts[i].m_staff_short_name == NULL) continue; width = m_staff_contexts[i].m_staff_short_name->getWidth(); if (width > m_2ndnetto_indent) { m_2ndnetto_indent = width; } } if (m_2ndnetto_indent > 0.0) { m_2nd_system_indent = m_2ndnetto_indent / m_current_zoom / getCurrentScale() + 2 * SYSTEM_INTENT_SEC_SPACE + bracket_indent + 2 * nested_braceindent; } } void NedMainWindow::setSelected(NedChordOrRest *chord_or_rest, NedNote *note) { if (gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(m_keyboard_insert_action))) { m_selected_chord_or_rest = NULL; m_selected_tie_forward = NULL; m_selected_note = NULL; return; } m_selected_chord_or_rest = chord_or_rest; m_selected_note = note; } void NedMainWindow::setVisibleSystem(NedSystem *system) { #define OFFS 1.0 NedPage *page; page = system->getPage(); double ytop = system->getYPos() * m_current_zoom * getCurrentScale() - m_topy; double height = system->getHeight() * m_current_zoom * getCurrentScale(); double page_height = page->getHeight() * m_current_zoom * getCurrentScale(); double ybot = ytop + height; bool repaint_needed = FALSE; if (ybot > m_drawing_area->allocation.height) { m_topy = (system->getYPos() - OFFS) * m_current_zoom; if (m_topy + m_drawing_area->allocation.height > page_height) m_topy = page_height - m_drawing_area->allocation.height; if (m_topy < 0.0) m_topy = 0.0; repaint_needed = TRUE; } if (ytop < 0) { m_topy = 0.0; if (m_topy + m_drawing_area->allocation.height > page_height) m_topy = page_height - m_drawing_area->allocation.height; repaint_needed = TRUE; } else if (ytop < 0) { m_topy = ytop + OFFS; if (m_topy < 0) { m_topy = 0; } repaint_needed = TRUE; } if (m_selected_group != NULL) { g_list_free(m_selected_group); m_selected_group = NULL; } m_selection_rect.width = m_selection_rect.height = 0; if (repaint_needed) { repaint(); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_page_selector), page->getPageNumber() + 1); } } /* void NedMainWindow::setVisiblePage(NedPage *page) { int page_nr; m_leftx = page->getXPos() * m_current_zoom; if (m_leftx < 0.0) m_leftx = 0.0; if ((page_nr = g_list_index(m_pages, page)) >= 0) { gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_page_selector), page_nr + 1); } repaint(); } */ void NedMainWindow::drawVisibleRectangle(cairo_t *cr, NedNote *note) { double pointx = (note->getPage()->getContentXpos() + note->getChord()->getXPos()) * m_current_zoom - m_leftx; double pointy = (note->getSystem()->getYPos() + note->getStaff()->getTopPos()) * m_current_zoom - m_topy; double width = (double) m_drawing_area->allocation.width / getCurrentScale(); double height = (double) m_drawing_area->allocation.height / getCurrentScale(); printf("left: %f, top: %f, width: %f, height: %f\n", pointx, pointy, width, height); } void NedMainWindow::setVisible(NedNote *note) { double pointx = (note->getPage()->getContentXpos() + note->getChord()->getXPos()) * m_current_zoom - m_leftx; double pointy = (note->getSystem()->getYPos() + note->getStaff()->getBottomPos()) * m_current_zoom - m_topy; //double pointy = note->getSystem()->getYPos() * m_current_zoom - m_topy; double width = (double) m_drawing_area->allocation.width / getCurrentScale(); double height = (double) m_drawing_area->allocation.height / getCurrentScale(); bool repaint_needed = false; if (pointx > width) { if ((note->getPage()->getContentXpos() + note->getChord()->getXPos() - note->getPage()->getXPos()) * m_current_zoom < width) { m_leftx = note->getPage()->getXPos() * m_current_zoom; } else { m_leftx = (note->getPage()->getContentXpos() + note->getChord()->getXPos()) * m_current_zoom; if (m_leftx < 0.0) m_leftx = 0.0; } repaint_needed = true; } else if (pointx < 0.0) { if ((note->getPage()->getContentXpos() + note->getChord()->getXPos() - note->getPage()->getXPos()) * m_current_zoom < width) { m_leftx = note->getPage()->getXPos() * m_current_zoom; } else { m_leftx = (note->getPage()->getContentXpos() + note->getChord()->getXPos()) * m_current_zoom - m_drawing_area->allocation.width; } repaint_needed = true; } if (m_last_y_adjustment != note->getSystem()) { if (pointy > height) { m_topy = (note->getSystem()->getYPos() - OFFS) * m_current_zoom; if (m_topy < 0.0) m_topy = 0.0; m_last_y_adjustment = note->getSystem(); repaint_needed = true; } if (pointy < 0) { if (note->getSystem()->getBottomPos() * m_current_zoom < height) { m_topy = 0.0; } else { m_topy = (note->getSystem()->getYPos() - OFFS) * m_current_zoom; } m_last_y_adjustment = note->getSystem(); repaint_needed = true; } } if (repaint_needed) { repaint(); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_page_selector), note->getPage()->getPageNumber() + 1); } } void NedMainWindow::setVisible(NedChordOrRest *chord_or_rest) { double pointx = (chord_or_rest->getPage()->getContentXpos() + chord_or_rest->getXPos()) * m_current_zoom - m_leftx; double pointy = (chord_or_rest->getSystem()->getYPos() + chord_or_rest->getStaff()->getTopPos()) * m_current_zoom - m_topy; double width = (double) m_drawing_area->allocation.width / getCurrentScale(); double height = (double) m_drawing_area->allocation.height / getCurrentScale(); bool repaint_needed = false; if (pointx > width) { if ((chord_or_rest->getPage()->getContentXpos() + chord_or_rest->getXPos() - chord_or_rest->getPage()->getXPos()) * m_current_zoom < width) { m_leftx = chord_or_rest->getPage()->getXPos() * m_current_zoom; } else { m_leftx = (chord_or_rest->getPage()->getContentXpos() + chord_or_rest->getXPos()) * m_current_zoom; if (m_leftx < 0.0) m_leftx = 0.0; } repaint_needed = true; } else if (pointx < 0.0) { if ((chord_or_rest->getPage()->getContentXpos() + chord_or_rest->getXPos() - chord_or_rest->getPage()->getXPos()) * m_current_zoom < width) { m_leftx = chord_or_rest->getPage()->getXPos() * m_current_zoom; } else { m_leftx = (chord_or_rest->getPage()->getContentXpos() + chord_or_rest->getXPos()) * m_current_zoom - m_drawing_area->allocation.width; } repaint_needed = true; } if (pointy > height) { m_topy = (chord_or_rest->getSystem()->getYPos() - OFFS) * m_current_zoom; if (m_topy < 0.0) m_topy = 0.0; repaint_needed = true; } else if (pointy < 0) { if (chord_or_rest->getSystem()->getBottomPos() * m_current_zoom < height) { m_topy = 0.0; } else { m_topy = (chord_or_rest->getSystem()->getYPos() - OFFS) * m_current_zoom; } repaint_needed = true; } if (repaint_needed) { repaint(); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_page_selector), chord_or_rest->getPage()->getPageNumber() + 1); } } void NedMainWindow::toggle_shift_mode(GtkAction *action, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_avoid_feedback) return; if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action))) { main_window->m_avoid_feedback = TRUE; gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(main_window->m_insert_erease_mode_action), FALSE); main_window->m_avoid_feedback = FALSE; } main_window->setCursor(); } void NedMainWindow::toggle_insert_erease_mode(GtkAction *action, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_avoid_feedback) return; if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action))) { main_window->m_avoid_feedback = TRUE; gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(main_window->m_shift_action), FALSE); gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(main_window->m_midi_record_action), FALSE); NedResource::resetSomeButtons(); NedResource::resetTieButton(); main_window->m_avoid_feedback = FALSE; main_window->m_selected_note = NULL; main_window->m_selected_chord_or_rest = NULL; main_window->m_selected_spec_measure = NULL; main_window->m_selected_tie_forward = NULL; } main_window->setCursor(); main_window->repaint(); } void NedMainWindow::resetMidiInput() { gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(m_midi_input_action), FALSE); } void NedMainWindow::prepare_keyboard_insertion(GtkAction *action, gpointer data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (gtk_toggle_action_get_active(GTK_TOGGLE_ACTION (action))) { if (NedChordNameDialog::isAlreadyActive()) return; gtk_toggle_action_set_active(main_window->m_midi_record_action, FALSE); main_window->m_last_cursor_x = main_window->m_last_cursor_y = -1; main_window->m_last_obj = NULL; } } void NedMainWindow::setCursor() { if (getMainWindowStatus() & SHIFT_MODE) { gdk_window_set_cursor (GDK_WINDOW(m_drawing_area->window), m_hand); return; } if (m_lyrics_mode != NO_LYRICS) { gdk_window_set_cursor (GDK_WINDOW(m_drawing_area->window), m_pencil); } else { gdk_window_set_cursor (GDK_WINDOW(m_drawing_area->window), m_pointer); } } void NedMainWindow::changeLength() { if (NedResource::isPlaying()) return; if (m_selected_chord_or_rest != NULL && m_selected_chord_or_rest->getType() == TYPE_CHORD && NedResource::getCurrentLength() > STROKEN_GRACE && (((getMainWindowStatus() & INSERT_EREASE_MODE) == 0) || (m_keyboard_ctrl_mode))) { GList *lptr; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->tryChangeLength(m_selected_chord_or_rest)) break; } } } void NedMainWindow::changeState() { unsigned int status; NedCommandList *command_list; if (m_selected_chord_or_rest != NULL && ((m_selected_chord_or_rest->getType() & (TYPE_CHORD | TYPE_REST)) != 0) && NedResource::getCurrentLength() > STROKEN_GRACE && (((getMainWindowStatus() & INSERT_EREASE_MODE) == 0) || (m_keyboard_ctrl_mode))) { status = m_selected_chord_or_rest->getStatus(); status &= (~(CHORD_STAT_MASK)); status |= (NedResource::getStatus() & CHORD_STAT_MASK); command_list = new NedCommandList(this, m_selected_chord_or_rest->getSystem()); command_list->addCommand(new NedChangeChordOrRestStatusCommand(m_selected_chord_or_rest, status)); command_list->execute(); m_command_history->addCommandList(command_list); repaint(); } } void NedMainWindow::changeDots() { if (NedResource::isPlaying()) return; if (m_selected_chord_or_rest != NULL && m_selected_chord_or_rest->getType() == TYPE_CHORD && NedResource::getCurrentLength() > STROKEN_GRACE && (((getMainWindowStatus() & INSERT_EREASE_MODE) == 0) || (m_keyboard_ctrl_mode))) { GList *lptr; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->tryChangeLength(m_selected_chord_or_rest)) break; } } } void NedMainWindow::changeNoteHead() { if (NedResource::isPlaying()) return; if (m_selected_chord_or_rest != NULL && m_selected_chord_or_rest->getType() == TYPE_CHORD && NedResource::getCurrentLength() > STROKEN_GRACE && (((getMainWindowStatus() & INSERT_EREASE_MODE) == 0) || (m_keyboard_ctrl_mode))) { if (m_selected_note == NULL) return; if (m_selected_note->getNoteHead() == NedResource::getCurrentNoteHead()) return; NedCommandList *command_list = new NedCommandList(this, m_selected_chord_or_rest->getSystem()); command_list->addCommand(new NedChangeNoteHeadCommand(m_selected_note, NedResource::getCurrentNoteHead())); command_list->execute(); m_command_history->addCommandList(command_list); repaint(); } } void NedMainWindow::changeTieState() { if (!NedResource::getTiedMode() && m_selected_note != NULL && m_selected_note->getTieForward() != NULL) { NedCommandList *command_list = new NedCommandList(this, m_selected_chord_or_rest->getSystem()); command_list->addCommand(new NedUnTieForwardCommand(m_selected_note, m_selected_note->getTieForward())); m_command_history->addCommandList(command_list); command_list->execute(); } } void NedMainWindow::changeNoteState() { if (m_selected_note != NULL && m_selected_chord_or_rest != NULL && (((getMainWindowStatus() & INSERT_EREASE_MODE) == 0) || (m_keyboard_ctrl_mode))) { unsigned int status = m_selected_note->getStatus(); status &= (~(ACCIDENTAL_MASK)); status |= ACCIDENTAL_MASK & NedResource::getStatus(); NedCommandList *command_list = new NedCommandList(this, m_selected_note->getSystem()); command_list->addCommand(new NedChangeNoteStatusCommand(m_selected_note, status)); m_command_history->addCommandList(command_list); command_list->execute(); } } void NedMainWindow::set_paint_colored(GtkAction *action, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_paint_colored = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)); main_window->repaint(); } void NedMainWindow::initiate_repaint(GtkAction *action, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->repaint(); } void NedMainWindow::customize_beam(GtkAction *action, gpointer data) { if (NedResource::isPlaying()) return; NedChordOrRest *first_element = NULL; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_selection_rect.width > MIN_SELECTION_RECTANGLE_DIM && main_window->m_selection_rect.height > MIN_SELECTION_RECTANGLE_DIM) { if (g_list_length(main_window->m_selected_group) > 0) { first_element = main_window->findAndBeamElementsOfCurrentVoice(); if (first_element != NULL) { main_window->reposit(NULL, first_element->getPage(), first_element->getSystem()); main_window->repaint(); } } return; } if (main_window->m_selected_chord_or_rest != NULL && main_window->m_selected_chord_or_rest->getType() == TYPE_CHORD) { NedCommandList *command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); main_window->m_selected_chord_or_rest->getVoice()->isolate(command_list, main_window->m_selected_chord_or_rest); if (command_list->getNumberOfCommands() > 0) { main_window->m_command_history->addCommandList(command_list); } else { delete command_list; } main_window->reposit(NULL, main_window->m_selected_chord_or_rest->getPage(), main_window->m_selected_chord_or_rest->getSystem()); main_window->repaint(); } } void NedMainWindow::flip_stem(GtkAction *action, gpointer data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_selected_chord_or_rest == NULL) return; if (main_window->m_selected_chord_or_rest->getType() != TYPE_CHORD) return; if (main_window->m_selected_chord_or_rest->getFirstNote()->getNoteHead() == GUITAR_NOTE_STEM || main_window->m_selected_chord_or_rest->getFirstNote()->getNoteHead() == GUITAR_NOTE_NO_STEM) return; NedCommandList *command_list; command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); main_window->m_selected_chord_or_rest->flipStem(command_list); main_window->m_command_history->addCommandList(command_list); main_window->reposit(NULL, main_window->m_selected_chord_or_rest->getPage(), main_window->m_selected_chord_or_rest->getSystem()); main_window->repaint(); } void NedMainWindow::resetSomeButtons() { NedResource::resetSomeButtons(); } void NedMainWindow::disconnectKeys() { if (m_lyrics_mode != NO_LYRICS) return; gtk_action_disconnect_accelerator(GTK_ACTION(m_shift_action)); gtk_action_disconnect_accelerator(GTK_ACTION(m_keyboard_insert_action)); gtk_action_disconnect_accelerator(GTK_ACTION(m_insert_erease_mode_action)); gtk_action_disconnect_accelerator(GTK_ACTION(m_shift_action)); gtk_action_disconnect_accelerator(GTK_ACTION(m_replay_action)); gtk_action_disconnect_accelerator(GTK_ACTION(m_midi_record_action)); } void NedMainWindow::insert_ppp(GtkAction *widget, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_special_type = TYPE_DYNAMIC; main_window->m_special_sub_type.m_special_sub_type_int = VOL_PPP; main_window->prepareInsertion(); } void NedMainWindow::insert_pp(GtkAction *widget, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_special_type = TYPE_DYNAMIC; main_window->m_special_sub_type.m_special_sub_type_int = VOL_PP; main_window->prepareInsertion(); } void NedMainWindow::insert_p(GtkAction *widget, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_special_type = TYPE_DYNAMIC; main_window->m_special_sub_type.m_special_sub_type_int = VOL_P; main_window->prepareInsertion(); } void NedMainWindow::insert_mp(GtkAction *widget, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_special_type = TYPE_DYNAMIC; main_window->m_special_sub_type.m_special_sub_type_int = VOL_MP; main_window->prepareInsertion(); } void NedMainWindow::insert_sp(GtkAction *widget, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_special_type = TYPE_DYNAMIC; main_window->m_special_sub_type.m_special_sub_type_int = VOL_SP; main_window->prepareInsertion(); } void NedMainWindow::insert_mf(GtkAction *widget, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_special_type = TYPE_DYNAMIC; main_window->m_special_sub_type.m_special_sub_type_int = VOL_MF; main_window->prepareInsertion(); } void NedMainWindow::insert_sf(GtkAction *widget, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_special_type = TYPE_DYNAMIC; main_window->m_special_sub_type.m_special_sub_type_int = VOL_SF; main_window->prepareInsertion(); } void NedMainWindow::insert_f(GtkAction *widget, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_special_type = TYPE_DYNAMIC; main_window->m_special_sub_type.m_special_sub_type_int = VOL_F; main_window->prepareInsertion(); } void NedMainWindow::insert_ff(GtkAction *widget, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_special_type = TYPE_DYNAMIC; main_window->m_special_sub_type.m_special_sub_type_int = VOL_FF; main_window->prepareInsertion(); } void NedMainWindow::insert_fff(GtkAction *widget, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_special_type = TYPE_DYNAMIC; main_window->m_special_sub_type.m_special_sub_type_int = VOL_FFF; main_window->prepareInsertion(); } void NedMainWindow::insert_tempo(GtkAction *widget, gpointer data) { bool state; unsigned int kind, tempo; bool dot; NedMainWindow *main_window = (NedMainWindow *) data; NedTempoDialog *dialog = new NedTempoDialog((GTK_WINDOW(main_window->m_main_window)), false); dialog->getValues(&state, &kind, &dot, &tempo); delete dialog; main_window->m_special_type = TYPE_TEMPO; main_window->m_special_sub_type.m_special_sub_type_int = dot ? (3 * kind / 2 / FACTOR) : (kind / FACTOR); main_window->m_special_sub_type.m_special_sub_type_int |= (tempo << 16); main_window->prepareInsertion(); } void NedMainWindow::insert_text(GtkAction *widget, gpointer data) { bool state; char *textptr = NULL; const char *font_family; PangoStyle font_slant; PangoWeight font_weight; bool enable_volume = false; bool enable_tempo = false; unsigned short segno_sign = 0; int anchor = ANCHOR_MID; unsigned int volume = 64; unsigned int tempo = 120; unsigned int channel; bool enable_channel; int midi_pgm; double font_size; NedMainWindow *main_window = (NedMainWindow *) data; font_slant = TEXT_FONT_SLANT_DEFAULT; font_size = TEXT_FONT_SIZE_DEFAULT; font_weight = TEXT_FONT_WEIGHT_DEFAULT; NedTextDialog *dialog = new NedTextDialog (GTK_WINDOW(main_window->m_main_window), textptr, anchor, tempo, enable_tempo, volume, enable_volume, segno_sign, -1, 1, false, TEXT_FONT_NAME_DEFAULT, TEXT_FONT_SIZE_DEFAULT, TEXT_FONT_SLANT_DEFAULT, TEXT_FONT_WEIGHT_DEFAULT); dialog->getValues(&state, &textptr, &anchor, &tempo, &enable_tempo, &volume, &enable_volume, &segno_sign, &midi_pgm, &channel, &enable_channel, &font_family, &font_size, &font_slant, &font_weight); if (state) { /* NedResource::DbgMsg(DBG_TESTING, "family = %s, size = %f, slant = ", font_family, font_size); switch (font_slant) { case CAIRO_FONT_SLANT_NORMAL: NedResource::DbgMsg(DBG_TESTING, "CAIRO_FONT_SLANT_NORMAL"); break; case CAIRO_FONT_SLANT_ITALIC: NedResource::DbgMsg(DBG_TESTING, "CAIRO_FONT_SLANT_ITALIC"); break; case CAIRO_FONT_SLANT_OBLIQUE: NedResource::DbgMsg(DBG_TESTING, "CAIRO_FONT_SLANT_OBLIQUE"); break; default: NedResource::DbgMsg(DBG_TESTING, "unknown"); break; } NedResource::DbgMsg(DBG_TESTING, "; weight = "); switch (font_weight) { case CAIRO_FONT_WEIGHT_NORMAL: NedResource::DbgMsg(DBG_TESTING, "CAIRO_FONT_WEIGHT_NORMAL"); break; case CAIRO_FONT_WEIGHT_BOLD: NedResource::DbgMsg(DBG_TESTING, "CAIRO_FONT_WEIGHT_BOLD"); break; default: NedResource::DbgMsg(DBG_TESTING, "unknown"); break; } NedResource::DbgMsg(DBG_TESTING, "\n"); */ if (main_window->m_freetext != NULL) { delete main_window->m_freetext; main_window->m_freetext = NULL; } if (textptr != NULL) { if (strlen(textptr) > 0) { main_window->m_freetext = new NedFreeText(textptr, main_window->m_drawing_area, anchor, tempo, enable_tempo, volume, enable_volume, segno_sign, midi_pgm, channel, enable_channel, font_family, font_size, font_slant, font_weight); free(textptr); main_window->m_special_type = TYPE_FREE_TEXT; main_window->prepareInsertion(); } } } delete dialog; } void NedMainWindow::set_lyrics_mode1(GtkAction *widget, gpointer data) { if (NedChordNameDialog::isAlreadyActive()) return; NedMainWindow *main_window = (NedMainWindow *) data; main_window->disconnectKeys(); main_window->m_lyrics_mode = LYRICS1; main_window->setCursor(); main_window->repaint(); } void NedMainWindow::set_lyrics_mode2(GtkAction *widget, gpointer data) { if (NedChordNameDialog::isAlreadyActive()) return; NedMainWindow *main_window = (NedMainWindow *) data; main_window->disconnectKeys(); main_window->m_lyrics_mode = LYRICS2; main_window->setCursor(); main_window->repaint(); } void NedMainWindow::set_lyrics_mode3(GtkAction *widget, gpointer data) { if (NedChordNameDialog::isAlreadyActive()) return; NedMainWindow *main_window = (NedMainWindow *) data; main_window->disconnectKeys(); main_window->m_lyrics_mode = LYRICS3; main_window->setCursor(); main_window->repaint(); } void NedMainWindow::set_lyrics_mode4(GtkAction *widget, gpointer data) { if (NedChordNameDialog::isAlreadyActive()) return; NedMainWindow *main_window = (NedMainWindow *) data; main_window->disconnectKeys(); main_window->m_lyrics_mode = LYRICS4; main_window->setCursor(); main_window->repaint(); } void NedMainWindow::set_lyrics_mode5(GtkAction *widget, gpointer data) { if (NedChordNameDialog::isAlreadyActive()) return; NedMainWindow *main_window = (NedMainWindow *) data; main_window->disconnectKeys(); main_window->m_lyrics_mode = LYRICS5; main_window->setCursor(); main_window->repaint(); } void NedMainWindow::resetLyricsMode() { if (m_lyrics_mode == NO_LYRICS) return; gtk_action_connect_accelerator(GTK_ACTION(m_shift_action)); gtk_action_connect_accelerator(GTK_ACTION(m_keyboard_insert_action)); gtk_action_connect_accelerator(GTK_ACTION(m_insert_erease_mode_action)); gtk_action_connect_accelerator(GTK_ACTION(m_shift_action)); gtk_action_connect_accelerator(GTK_ACTION(m_replay_action)); gtk_action_connect_accelerator(GTK_ACTION(m_midi_record_action)); m_lyrics_mode = NO_LYRICS; setCursor(); } void NedMainWindow::lyrics_editor(GtkWidget *widget, void *data) { int staff_nr; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_lyrics_mode != NO_LYRICS) return; if (main_window->m_selected_chord_or_rest != NULL) { staff_nr = main_window->m_selected_chord_or_rest->getStaff()->getStaffNumber(); } else if (main_window->m_staff_count < 2) { staff_nr = 0; } else { NedResource::Info("Please select a chord or rest"); return; } new NedLyricsEditor(GTK_WINDOW(main_window->m_main_window), main_window, staff_nr); } void NedMainWindow::updateLyrics(NedLyricsEditor *leditor, int staff_nr) { GList *lptr; NedCommandList *command_list = new NedCommandList(this); for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->setLyrics(command_list, leditor, staff_nr); } setAllUnpositioned(); command_list->setFullReposit(); reposit(command_list); m_command_history->addCommandList(command_list); repaint(); } void NedMainWindow::collectLyrics(NedLyricsEditor *leditor, int staff_nr) { GList *lptr; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->collectLyrics(leditor, staff_nr); } } void NedMainWindow::stopReplay() { gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(m_replay_action), FALSE); repaint(); } void NedMainWindow::repaint() { GdkRectangle rect; int dummy; gdk_window_get_geometry(m_drawing_area->window, &dummy, &dummy, &rect.width, &rect.height, &dummy); rect.x = rect.y = 0; gdk_window_invalidate_rect (m_drawing_area->window, &rect, FALSE); } void NedMainWindow::new_file(GtkWidget *widget, void *data) { int i; GtkWidget *unsaved_dialog; bool stop_new = FALSE, do_save = FALSE; GList *lptr; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_config_changed || main_window->m_command_history->unsavedOperations()) { unsaved_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO, _("Save Changes ?")); gtk_dialog_add_buttons(GTK_DIALOG (unsaved_dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); switch (gtk_dialog_run (GTK_DIALOG (unsaved_dialog))) { case GTK_RESPONSE_YES: do_save = TRUE; break; case GTK_RESPONSE_REJECT: stop_new = TRUE; break; } gtk_widget_destroy (unsaved_dialog); if (stop_new) { return; } if (do_save) { main_window->save_score(widget, data); } } for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { delete ((NedPage *) lptr->data); } g_list_free(main_window->m_pages); main_window->m_pages = NULL; for (lptr = g_list_first(main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { free(lptr->data); } g_list_free(main_window->m_special_measures); main_window->m_special_measures = NULL; main_window->m_current_paper = NedResource::getPaperInfo("A4"); main_window->m_portrait = TRUE; double w = main_window->m_portrait ? main_window->m_current_paper->width : main_window->m_current_paper->height; double h = main_window->m_portrait ? main_window->m_current_paper->height : main_window->m_current_paper->width; w /= PS_ZOOM * (double) main_window->m_current_scale / (double) SCALE_GRANULARITY; h /= PS_ZOOM * (double) main_window->m_current_scale / (double) SCALE_GRANULARITY; main_window->m_global_spacement_fac = 1.0; main_window->m_numerator = 4; main_window->m_denominator = 4; main_window->m_timesig_symbol = TIME_SYMBOL_NONE; main_window->m_upbeat_inverse = 0; main_window->m_staff_count = 1; main_window->m_current_scale = SCALE_GRANULARITY; main_window->m_selected_note = NULL; main_window->m_selected_chord_or_rest = NULL; main_window->m_selected_tie_forward = NULL; main_window->m_selected_spec_measure = NULL; main_window->m_config_changed = FALSE; main_window->resetLyricsMode(); main_window->m_midi_tempo_inverse = START_TEMPO_INVERSE; main_window->m_staff_contexts[0].m_key_signature_number = 0; main_window->m_staff_contexts[0].m_clef_number = 0; main_window->m_staff_contexts[0].m_clef_octave_shift = 0; main_window->m_staff_contexts[0].m_different_voices = false; for (i = 0; i < VOICE_COUNT; i++) { main_window->m_staff_contexts[0].voices[i].m_midi_volume = 64; main_window->m_staff_contexts[0].voices[i].m_midi_program = 0; main_window->m_staff_contexts[0].voices[i].m_midi_pan = 64; main_window->m_staff_contexts[0].m_muted[i] = false; } main_window->m_staff_contexts[0].m_midi_channel = 0; main_window->m_staff_contexts[0].m_flags = 0; for (i = 0; i < MAX_STAFFS; i++) { if (main_window->m_staff_contexts[i].m_staff_name != NULL) { delete main_window->m_staff_contexts[i].m_staff_name; main_window->m_staff_contexts[i].m_staff_name = NULL; } if (main_window->m_staff_contexts[i].m_staff_short_name != NULL) { delete main_window->m_staff_contexts[i].m_staff_short_name; main_window->m_staff_contexts[i].m_staff_short_name = NULL; } if (main_window->m_staff_contexts[i].m_group_name != NULL) { delete main_window->m_staff_contexts[i].m_group_name; main_window->m_staff_contexts[i].m_group_name = NULL; } if (main_window->m_staff_contexts[i].m_group_short_name != NULL) { delete main_window->m_staff_contexts[i].m_group_short_name; main_window->m_staff_contexts[i].m_group_short_name = NULL; } } main_window->m_selection_rect.width = 0; main_window->m_first_page_yoffs = 0.0; if (main_window->m_selected_group != NULL) { g_list_free(main_window->m_selected_group); main_window->m_selected_group = NULL; } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(main_window->m_v1bu), TRUE); gtk_toggle_action_set_active(main_window->m_show_hidden_action, FALSE); delete main_window->m_score_info; main_window->m_score_info = new ScoreInfo(); main_window->computeSystemIndent(); main_window->computeScoreTextExtends(); main_window->m_command_history->reset(); main_window->m_current_filename[0] = '\0'; main_window->updatePageCounter(); main_window->m_pages = g_list_append(main_window->m_pages, new NedPage(main_window, w, h, 0, 1, TRUE)); main_window->resetButtons(); gtk_spin_button_set_value(GTK_SPIN_BUTTON(main_window->m_page_selector), 1); main_window->m_topy = main_window->m_leftx = 0; gtk_window_set_title (GTK_WINDOW (main_window->m_main_window), "Nted"); main_window->renumberMeasures(); main_window->reposit(); main_window->repaint(); } void NedMainWindow::save_score(GtkWidget *widget, void *data) { FILE *fp; GtkWidget *error_dialog; char fnamenew[1024]; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_current_filename[0] == '\0') { save_score_as(widget, data); return; } sprintf(fnamenew, "%s.new", main_window->m_current_filename); if ((fp = fopen(fnamenew, "w")) == NULL) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for writing"), fnamenew); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); return; } main_window->storeScore(fp); if (rename(fnamenew, main_window->m_current_filename) < 0) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot rename %s to %s"), fnamenew, main_window->m_current_filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); } } void NedMainWindow::save_score_as(GtkWidget *widget, void *data) { FILE *fp; char fnamenew[1024]; char the_filename[4096], show_file_name[4096]; NedMainWindow *main_window = (NedMainWindow *) data; char pathfoldername[4096]; DIR *the_directory; GtkWidget *save_dialog; GtkWidget *access_dialog; GtkWidget *error_dialog; char *filename; bool ok = FALSE; bool extend = FALSE; char *cptr; char *folder = NULL; if (NedResource::isPlaying()) return; GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, "*.ntd (Nted-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.ntd"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); save_dialog = gtk_file_chooser_dialog_new (_("Save score"), GTK_WINDOW(main_window->m_main_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(save_dialog), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(save_dialog), file_filter2); if (NedResource::m_last_folder != NULL) { if ((the_directory = opendir(NedResource::m_last_folder)) != NULL) { // avoid gtk error message gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(save_dialog), NedResource::m_last_folder); closedir(the_directory); } else { NedResource::m_last_folder = NULL; } } if (gtk_dialog_run (GTK_DIALOG (save_dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (save_dialog)); strcpy(the_filename, filename); folder = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER (save_dialog)); g_free (filename); ok = TRUE; } if (ok && gtk_file_chooser_get_filter((GTK_FILE_CHOOSER (save_dialog))) == file_filter1) { extend = TRUE; if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".ntd")) { extend = FALSE; } } if (extend) { strcat(the_filename, ".ntd"); } } gtk_widget_destroy (save_dialog); if (ok && access(the_filename, F_OK) == 0) { access_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("File %s already exists. Overwrite ?"), the_filename); if (gtk_dialog_run (GTK_DIALOG (access_dialog)) != GTK_RESPONSE_YES) { ok = FALSE; } gtk_widget_destroy (access_dialog); } if (ok) { sprintf(fnamenew, "%s.new", the_filename); if ((fp = fopen(fnamenew, "w")) == NULL) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for writing"), fnamenew); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); ok = FALSE; } } if (ok) { main_window->storeScore(fp); if (rename(fnamenew, the_filename) < 0) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot rename %s to %s"), fnamenew, the_filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); } if ((cptr = strrchr(the_filename, '/')) != NULL) { strncpy(pathfoldername, the_filename, cptr - the_filename); pathfoldername[cptr - the_filename] = '\0'; NedResource::m_last_folder = strdup(pathfoldername); } else { NedResource::m_last_folder = strdup(folder); } strcpy(main_window->m_current_filename, the_filename); if ((cptr = strrchr(the_filename, '/')) != NULL) { cptr++; } else { cptr = the_filename; } sprintf(show_file_name, "Nted - %s", cptr); gtk_window_set_title (GTK_WINDOW (main_window->m_main_window), show_file_name); NedResource::addToRecentFiles(main_window->m_current_filename); main_window->updateRecentFiles(); } if (folder != NULL) { g_free(folder); } } void NedMainWindow::storeScore(FILE *fp) { int i; GList *lptr; NedResource::prepareAddrStruct(); fprintf(fp, "NTED version 24\n"); fprintf(fp, "HEAD\n"); if (m_score_info->title != NULL && strlen(m_score_info->title->getText()) > 0) { fprintf(fp, "TITLE : %s\n", m_score_info->title->getText()); } if (m_score_info->subject != NULL && strlen(m_score_info->subject->getText()) > 0) { fprintf(fp, "SUBJECT : %s\n", m_score_info->subject->getText()); } if (m_score_info->composer != NULL && strlen(m_score_info->composer->getText()) > 0) { fprintf(fp, "COMPOSER : %s\n", m_score_info->composer->getText()); } if (m_score_info->arranger != NULL && strlen(m_score_info->arranger->getText()) > 0) { fprintf(fp, "ARRANGER : %s\n", m_score_info->arranger->getText()); } if (m_score_info->copyright != NULL && strlen(m_score_info->copyright->getText()) > 0) { fprintf(fp, "COPYRIGHT : %s\n", m_score_info->copyright->getText()); } fprintf(fp, "MEDIA %s\n", m_current_paper->name); fprintf(fp, "ORIENTATION %s\n", m_portrait ? "Portrait" : "Landscape"); fprintf(fp, "SPACEMENT %f\n", m_global_spacement_fac); fprintf(fp, "SCALE %d\n", m_current_scale); fprintf(fp, "NUMERATOR %d\n", m_numerator); fprintf(fp, "DENOMINATOR %d\n", m_denominator); fprintf(fp, "TIMESIG_SYMBOL %d\n", m_timesig_symbol); fprintf(fp, "TEMPOINVERSE %d\n", (int) m_midi_tempo_inverse); fprintf(fp, "UPBEAT_INVERSE %u\n", m_upbeat_inverse); fprintf(fp, "MEASURE_NUMBERS %s\n", gtk_toggle_action_get_active(m_show_measure_numbers_action) ? "On" : "Off"); fprintf(fp, "STAFFS %d\n", ((NedPage *) g_list_first(m_pages)->data)->getNumberOfStaffs()); for (i = 0; i < ((NedPage *) g_list_first(m_pages)->data)->getNumberOfStaffs(); i++) { fprintf(fp, "STAFF %d: ", i); if (m_staff_contexts[i].m_staff_name == NULL) { fprintf(fp, "NAME: 0 "); } else if (strlen(m_staff_contexts[i].m_staff_name->getText()) < 1) { fprintf(fp, "NAME: 0 "); } else { fprintf(fp, "NAME: %zd %s\n", strlen(m_staff_contexts[i].m_staff_name->getText()), m_staff_contexts[i].m_staff_name->getText()); } if (m_staff_contexts[i].m_staff_short_name == NULL) { fprintf(fp, "NAME_SHORT_NAME: 0 "); } else if (strlen(m_staff_contexts[i].m_staff_short_name->getText()) < 1) { fprintf(fp, "NAME_SHORT_NAME: 0 "); } else { fprintf(fp, "NAME_SHORT_NAME: %zd %s\n", strlen(m_staff_contexts[i].m_staff_short_name->getText()), m_staff_contexts[i].m_staff_short_name->getText()); } if (m_staff_contexts[i].m_group_name == NULL) { fprintf(fp, "GROUP_NAME: 0 "); } else if (strlen(m_staff_contexts[i].m_group_name->getText()) < 1) { fprintf(fp, "GROUP_NAME: 0 "); } else { fprintf(fp, "GROUP_NAME: %zd %s\n", strlen(m_staff_contexts[i].m_group_name->getText()), m_staff_contexts[i].m_group_name->getText()); } if (m_staff_contexts[i].m_group_short_name == NULL) { fprintf(fp, "GROUP_SHORT_NAME: 0 "); } else if (strlen(m_staff_contexts[i].m_group_short_name->getText()) < 1) { fprintf(fp, "GROUP_SHORT_NAME: 0 "); } else { fprintf(fp, "GROUP_SHORT_NAME: %zd %s\n", strlen(m_staff_contexts[i].m_group_short_name->getText()), m_staff_contexts[i].m_group_short_name->getText()); } fprintf(fp, " KEY: %d CLEF: ", m_staff_contexts[i].m_key_signature_number); switch (m_staff_contexts[i].m_clef_number) { case TREBLE_CLEF: fprintf(fp, "TREBLE "); break; case BASS_CLEF: fprintf(fp, "BASS "); break; case SOPRAN_CLEF: fprintf(fp, "SOPRAN "); break; case TENOR_CLEF: fprintf(fp, "TENOR "); break; case NEUTRAL_CLEF1: fprintf(fp, "NEUTRAL1 "); break; case NEUTRAL_CLEF2: fprintf(fp, "NEUTRAL2 "); break; case NEUTRAL_CLEF3: fprintf(fp, "NEUTRAL3 "); break; default: fprintf(fp, "ALTO "); break; } fprintf(fp, "%d ", m_staff_contexts[i].m_clef_octave_shift); fprintf(fp, "CHANNEL: %d DIFFERENT: %s VOL: %d %d %d %d MIDIPGM: %d %d %d %d PAN: %d %d %d %d CHORUS: %d REVERB: %d", m_staff_contexts[i].m_midi_channel, m_staff_contexts[i].m_different_voices ? "On" : "Off", m_staff_contexts[i].voices[0].m_midi_volume, m_staff_contexts[i].voices[1].m_midi_volume, m_staff_contexts[i].voices[2].m_midi_volume, m_staff_contexts[i].voices[3].m_midi_volume, m_staff_contexts[i].voices[0].m_midi_program, m_staff_contexts[i].voices[1].m_midi_program, m_staff_contexts[i].voices[2].m_midi_program, m_staff_contexts[i].voices[3].m_midi_program, m_staff_contexts[i].voices[0].m_midi_pan, m_staff_contexts[i].voices[1].m_midi_pan, m_staff_contexts[i].voices[2].m_midi_pan, m_staff_contexts[i].voices[3].m_midi_pan, m_staff_contexts[i].m_midi_chorus, m_staff_contexts[i].m_midi_reverb); fprintf(fp, " FLAGS: %x", m_staff_contexts[i].m_flags); putc('\n', fp); fprintf(fp, "PLAY_TRANSPOSED: %d\n", m_staff_contexts[i].m_play_transposed); } if (m_special_measures != NULL) { fprintf(fp, "SPEC_MEASURES\n"); for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { fprintf(fp, "( %d ", ((SpecialMeasure *) lptr->data)->measure_number); switch (((SpecialMeasure *) lptr->data)->type & REP_TYPE_MASK) { case REPEAT_OPEN: fprintf(fp, "REPEAT_OPEN "); break; case REPEAT_CLOSE: fprintf(fp, "REPEAT_CLOSE %s ", ((SpecialMeasure *) lptr->data)->hide_following ? "HIDE_FOLLOWING": "SHOW_FOLLOWING"); break; case REPEAT_OPEN_CLOSE: fprintf(fp, "REPEAT_OPEN_CLOSE "); break; case DOUBLE_BAR: fprintf(fp, "DOUBLE_BAR "); break; case END_BAR: fprintf(fp, "END_BAR %s ", ((SpecialMeasure *) lptr->data)->hide_following ? "HIDE_FOLLOWING": "SHOW_FOLLOWING"); break; default: fprintf(fp, "REPEAT_NONE "); break; } switch(((SpecialMeasure *) lptr->data)->type & START_TYPE_MASK) { case REP1START: fprintf(fp, " , REP1START "); break; case REP2START: fprintf(fp, " , REP2START "); break; } switch(((SpecialMeasure *) lptr->data)->type & END_TYPE_MASK) { case REP1END: fprintf(fp, " , REP1END "); break; case REP2END: fprintf(fp, " , REP2END "); break; } switch(((SpecialMeasure *) lptr->data)->type & TIMESIG_TYPE_MASK) { case TIMESIG: fprintf(fp, " , TIMSIG ( %d, %d, %d ) ", ((SpecialMeasure *) lptr->data)->numerator, ((SpecialMeasure *) lptr->data)->denominator, ((SpecialMeasure *) lptr->data)->symbol); break; } fprintf(fp, ")\n"); } } fprintf(fp, "MUSIC\n"); for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->savePage(fp); } fclose(fp); m_config_changed = FALSE; m_command_history->setSavePoint(); } void NedMainWindow::print_file(GtkWidget *widget, void *data) { NedMainWindow *main_window = (NedMainWindow *) data; char print_cmd[4096]; char fname[4096]; int fd; FILE *psfile; char Str[1024]; strcpy(fname, "/tmp/nted_tmp-XXXXXX"); if ((fd = mkstemp(fname)) < 0) { sprintf(Str, "Cannot open %s for writing(1)", fname); NedResource::Warning(Str); return; } if ((psfile = fdopen(fd, "w")) == NULL) { sprintf(Str, "Cannot open %s for writing(2)", fname); NedResource::Warning(Str); return; } main_window->do_export_to_stream(psfile, STREAM_FILE_TYPE_PS); fclose(psfile); sprintf(print_cmd, NedResource::m_print_cmd, fname); system(print_cmd); NedResource::appendTempFileName(fname); } void NedMainWindow::setAndUpdateClefTypeAndKeySig() { GList *lptr; bool first = true; int i; int clef_and_key_array[3 * m_staff_count]; for (i = 0; i < m_staff_count; i++) { clef_and_key_array[3 * i + 0] = m_staff_contexts[i].m_clef_number; clef_and_key_array[3 * i + 1] = m_staff_contexts[i].m_clef_octave_shift; clef_and_key_array[3 * i + 2] = m_staff_contexts[i].m_key_signature_number; } for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->setAndUpdateClefTypeAndKeySig(clef_and_key_array, first); first = false; } } void NedMainWindow::copy_data(GtkWidget *widget, void *data) { GList *lptr; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (NedResource::m_main_clip_board != NULL) { g_list_free(NedResource::m_main_clip_board); NedResource::m_main_clip_board = NULL; } for (lptr = g_list_first(main_window->m_selected_group); lptr; lptr = g_list_next(lptr)) { NedResource::m_main_clip_board = g_list_append(NedResource::m_main_clip_board, lptr->data); } } void NedMainWindow::importRecorded(GtkWidget *widget, void *data) { GList *lptr; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (NedResource::m_recorded_staff == NULL) { NedResource::Info("No recorded staff found"); return; } if (NedResource::m_main_clip_board != NULL) { g_list_free(NedResource::m_main_clip_board); NedResource::m_main_clip_board = NULL; } for (lptr = g_list_first(NedResource::m_recorded_staff->getMainWindow()->m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->copyDataOfWholeStaff(NedResource::m_recorded_staff->getStaffNumber()); } NedResource::m_number_of_first_selected_staff = NedResource::m_number_of_last_selected_staff = 0; paste_data(main_window->m_main_window, data); } void NedMainWindow::paste_data(GtkWidget *widget, void *data) { int start_staff; unsigned long long midi_time; unsigned int meas_duration; NedSystem *system; int i; int nelems, num_elems; GList *c_board; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (NedResource::m_main_clip_board == NULL) return; if (main_window->m_selected_chord_or_rest == NULL) { NedResource::Info(_("Please select a note or rest!")); return; } start_staff = main_window->m_selected_chord_or_rest->getStaff()->getStaffNumber(); if (main_window->m_selected_chord_or_rest->getTupletVal() != 0 && !NedResource::fittingPosition(main_window->m_selected_chord_or_rest->getMidiTime())) { NedResource::Info(_("You select a note in an tuplet")); return; } if (NedResource::test_for_incomplete_tuplets(NedResource::m_main_clip_board)) { NedResource::Info(_("You cannot copy incomplete tuplets!")); return; } system = main_window->m_selected_chord_or_rest->getSystem(); midi_time = main_window->m_selected_chord_or_rest->getMidiTime(); c_board = NedResource::clone_chords_and_rests(NedResource::m_main_clip_board, true); nelems = 0; num_elems = g_list_length(c_board); meas_duration = main_window->m_numerator * WHOLE_NOTE / main_window->m_denominator; while (nelems != num_elems && system != NULL) { for (i = 0; i <= NedResource::m_number_of_last_selected_staff - NedResource::m_number_of_first_selected_staff && start_staff + i < main_window->m_staff_count; i++) { if (system->hasTupletConflict(meas_duration, &(c_board), NedResource::m_number_of_first_selected_staff + i, start_staff + i, midi_time)) { NedResource::Info(_("Paste not possible: A tuplet would cross a measure")); return; } } system = system->getPage()->getNextSystem(system); midi_time = 0; num_elems = nelems; nelems = g_list_length(c_board); } g_list_free(c_board); c_board = NedResource::clone_chords_and_rests(NedResource::m_main_clip_board, true); system = main_window->m_selected_chord_or_rest->getSystem(); midi_time = main_window->m_selected_chord_or_rest->getMidiTime(); main_window->m_selected_chord_or_rest = NULL; main_window->m_selected_tie_forward = NULL; main_window->m_selected_note = NULL; main_window->m_selected_spec_measure = NULL; NedCommandList *command_list = new NedCommandList(main_window); nelems = 0; num_elems = g_list_length(c_board); while (nelems != num_elems && system != NULL) { for (i = 0; i <= NedResource::m_number_of_last_selected_staff - NedResource::m_number_of_first_selected_staff && start_staff + i < main_window->m_staff_count; i++) { system->pasteElements(command_list, &(c_board), NedResource::m_number_of_first_selected_staff + i, start_staff + i, midi_time); } system = system->getPage()->getNextSystem(system, command_list); midi_time = 0; num_elems = nelems; nelems = g_list_length(c_board); } g_list_free(c_board); main_window->setAllUnpositioned(); main_window->reposit(command_list); command_list->setFullReposit(); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } void NedMainWindow::delete_block(GtkWidget *widget, void *data) { NedPage *min_page = NULL, *max_page = NULL; NedSystem *min_sys = NULL, *max_sys = NULL; GList *lptr; GList *start_page_ptr, *end_page_ptr; unsigned long long min_time, max_time; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (NedResource::m_main_clip_board != NULL) { g_list_free(NedResource::m_main_clip_board); NedResource::m_main_clip_board = NULL; } for (lptr = g_list_first(main_window->m_selected_group); lptr; lptr = g_list_next(lptr)) { NedResource::m_main_clip_board = g_list_append(NedResource::m_main_clip_board, lptr->data); } for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->findFromTo(NedResource::m_main_clip_board, &min_page, &max_page, &min_sys, &max_sys); } if (min_page != NULL && max_page!= NULL) { if (min_sys == NULL || max_sys == NULL) { NedResource::Abort("NedMainWindow::delete_block(1)"); } if ((start_page_ptr = g_list_find(main_window->m_pages, min_page)) == NULL) { NedResource::Abort("NedMainWindow::delete_block(2)"); } if ((end_page_ptr = g_list_find(main_window->m_pages, max_page)) == NULL) { NedResource::Abort("NedMainWindow::delete_block(3)"); } min_time = (1 << 30); min_time = min_time * (1 << 30); max_time = 0; if (!min_sys->findStartMeasureLimits(NedResource::m_main_clip_board, &min_time)) return; if (!max_sys->findEndMeasureLimits(NedResource::m_main_clip_board, &max_time)) return; NedCommandList *command_list = new NedCommandList(main_window); while (1) { if (start_page_ptr == NULL) { NedResource::Abort("NedMainWindow::delete_block(4)"); } ((NedPage *) start_page_ptr->data)->deleteItemsFromTo(command_list, start_page_ptr->data == min_page, start_page_ptr->data == max_page, min_sys, max_sys, min_time, max_time); if (start_page_ptr == end_page_ptr) break; start_page_ptr = g_list_next(start_page_ptr); } main_window->m_selection_rect.width = main_window->m_selection_rect.height = 0; main_window->setAllUnpositioned(); main_window->reposit(command_list); command_list->setFullReposit(); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } } void NedMainWindow::append_system(GtkWidget *widget, void *data) { NedMainWindow *main_window = (NedMainWindow *) data; NedCommandList *command_list = new NedCommandList(main_window); NedPage *last_page; last_page = (NedPage *) g_list_last(main_window->m_pages)->data; NedAppendSystemCommand *app_sys_cmd = new NedAppendSystemCommand(last_page); app_sys_cmd->execute(); command_list->addCommand(app_sys_cmd); command_list->setFullReposit(); main_window->setAllUnpositioned(); main_window->reposit(command_list); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } void NedMainWindow::insert_block(GtkWidget *widget, void *data) { int blockcount; bool state; NedMeasure *measure; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_selected_chord_or_rest == NULL) { NedResource::Info(_("Please select a note or rest!")); return; } NedInsertBlockDialog *dialog = new NedInsertBlockDialog(GTK_WINDOW(main_window->m_main_window)); dialog->getValues(&state, &blockcount); delete dialog; if (!state) return; //measure = main_window->m_selected_chord_or_rest->getSystem()->getMeasure(main_window->m_selected_chord_or_rest->getMidiTime()); measure = main_window->m_selected_chord_or_rest->m_measure; NedCommandList *command_list = new NedCommandList(main_window); main_window->m_selected_chord_or_rest->getSystem()->insertBlocks(command_list, blockcount, measure->midi_end); main_window->setAllUnpositioned(); main_window->reposit(command_list); command_list->setFullReposit(); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } void NedMainWindow::empty_block(GtkWidget *widget, void *data) { NedPage *min_page = NULL, *max_page = NULL; NedSystem *min_sys = NULL, *max_sys = NULL; GList *lptr; GList *start_page_ptr, *end_page_ptr; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (NedResource::selection_has_uncomplete_tuplets(main_window->m_selected_group)) { NedResource::Info(_("Empty not possible because of incomplete tuplets")); return; } for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->findFromTo(main_window->m_selected_group, &min_page, &max_page, &min_sys, &max_sys); } if (min_page != NULL && max_page!= NULL) { if (min_sys == NULL || max_sys == NULL) { NedResource::Abort("NedMainWindow::empty_block(1)"); } if ((start_page_ptr = g_list_find(main_window->m_pages, min_page)) == NULL) { NedResource::Abort("NedMainWindow::empty_block(2)"); } if ((end_page_ptr = g_list_find(main_window->m_pages, max_page)) == NULL) { NedResource::Abort("NedMainWindow::empty_block(3)"); } NedCommandList *command_list = new NedCommandList(main_window); while (1) { if (start_page_ptr == NULL) { NedResource::Abort("NedMainWindow::empty_block(4)"); } ((NedPage *) start_page_ptr->data)->removeNotesFromTo(command_list, main_window->m_selected_group, start_page_ptr->data == min_page, start_page_ptr->data == max_page, min_sys, max_sys); if (start_page_ptr == end_page_ptr) break; start_page_ptr = g_list_next(start_page_ptr); } main_window->m_selection_rect.width = main_window->m_selection_rect.height = 0; main_window->setAllUnpositioned(); main_window->reposit(command_list); command_list->setFullReposit(); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } } void NedMainWindow::reposit_all(GtkWidget *widget, void *data) { NedMainWindow *main_window = (NedMainWindow *) data; NedCommandList *command_list = new NedCommandList(main_window); main_window->setAllUnpositioned(); main_window->reposit(command_list); if (command_list->getNumberOfCommands() > 0) { main_window->m_command_history->addCommandList(command_list); } main_window->repaint(); } void NedMainWindow::export_midi(GtkWidget *widget, void *data) { int i, j; FILE *fp; GList *lptr; char the_filename[4096]; NedMainWindow *main_window = (NedMainWindow *) data; GtkWidget *midi_export_dialog; GtkWidget *access_dialog; GtkWidget *error_dialog; char *filename; bool ok = FALSE; bool extend = FALSE; char *cptr; int last_rep_open = 1, last_alternative1 = -1; SpecialMeasure *spec_ptr; if (NedResource::isPlaying()) return; GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, "*.mid (MIDI-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.mid"); gtk_file_filter_add_pattern(file_filter1, "*.midi"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); midi_export_dialog = gtk_file_chooser_dialog_new ("Export MIDI", GTK_WINDOW(main_window->m_main_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(midi_export_dialog), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(midi_export_dialog), file_filter2); if (main_window->m_current_filename[0] != '\0') { strcpy(the_filename, main_window->m_current_filename); if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".ntd")) { *cptr = '\0'; } } strcat(the_filename, ".mid"); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(midi_export_dialog), the_filename); } if (gtk_dialog_run (GTK_DIALOG (midi_export_dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (midi_export_dialog)); strcpy(the_filename, filename); g_free (filename); ok = TRUE; } if (ok && gtk_file_chooser_get_filter((GTK_FILE_CHOOSER (midi_export_dialog))) == file_filter1) { extend = TRUE; if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".mid") || !strcmp(cptr, ".midi")) { extend = FALSE; } } if (extend) { strcat(the_filename, ".mid"); } } gtk_widget_destroy (midi_export_dialog); if (ok && access(the_filename, F_OK) == 0) { access_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("File %s already exists. Overwrite ?"), the_filename); if (gtk_dialog_run (GTK_DIALOG (access_dialog)) != GTK_RESPONSE_YES) { ok = FALSE; } gtk_widget_destroy (access_dialog); } if (ok) { if ((fp = fopen(the_filename, "w")) == NULL) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for writing"), the_filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); return; } for (i = 0; i < main_window->m_staff_count; i++) { main_window->m_staff_contexts[i].m_effective_channel = main_window->m_staff_contexts[i].m_midi_channel; main_window->m_staff_contexts[i].m_pitch_offs = 0; if (main_window->m_staff_contexts[i].m_different_voices) { for (j = 0; j < VOICE_COUNT; j++) { main_window->m_staff_contexts[i].voices[j].m_current_midi_program = main_window->m_staff_contexts[i].voices[j].m_midi_program; NedResource::setStartVolume(main_window->m_staff_contexts[i].m_midi_channel, j, main_window->m_staff_contexts[i].voices[j].m_midi_volume); } } else { for (j = 0; j < VOICE_COUNT; j++) { main_window->m_staff_contexts[i].voices[j].m_current_midi_program = main_window->m_staff_contexts[i].voices[j].m_midi_program; NedResource::setStartVolume(main_window->m_staff_contexts[i].m_midi_channel, j, main_window->m_staff_contexts[i].voices[0].m_midi_volume); } } } for (i = 0; i < main_window->m_staff_count; i++) { NedResource::MidiCtrl(MIDI_CTL_MSB_PAN, main_window->m_staff_contexts[i].m_midi_channel, main_window->m_staff_contexts[i].voices[0].m_midi_pan); NedResource::MidiCtrl(MIDI_CTL_LSB_PAN, main_window->m_staff_contexts[i].m_midi_channel, 0); NedResource::MidiCtrl(MIDI_CTL_E1_REVERB_DEPTH, main_window->m_staff_contexts[i].m_midi_channel, main_window->m_staff_contexts[i].m_midi_reverb); NedResource::MidiCtrl(MIDI_CTL_E3_CHORUS_DEPTH, main_window->m_staff_contexts[i].m_midi_channel, main_window->m_staff_contexts[i].m_midi_chorus); } NedResource::prepareMidiEventList(main_window->m_midi_tempo_inverse); for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->prepareReplay(true); } NedResource::correctFermataTempo(); for (lptr = g_list_first(main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { spec_ptr = (SpecialMeasure *) lptr->data; switch (spec_ptr->type & REP_TYPE_MASK) { case REPEAT_OPEN: last_rep_open = spec_ptr->measure_number; break; case REPEAT_CLOSE: NedResource::copyAllBetweenMeasures(last_rep_open, last_alternative1, spec_ptr->measure_number); last_alternative1 = -1; break; case REPEAT_OPEN_CLOSE: NedResource::copyAllBetweenMeasures(last_rep_open, -1, spec_ptr->measure_number); last_rep_open = spec_ptr->measure_number; last_alternative1 = -1; break; } switch (spec_ptr->type & START_TYPE_MASK) { case REP1START: last_alternative1 = spec_ptr->measure_number; break; } } NedResource::handleSegnos(); NedResource::startMidiExport(fp, main_window); fclose(fp); } } void NedMainWindow::export_lily(GtkWidget *widget, void *data) { FILE *fp; char the_filename[4096]; NedMainWindow *main_window = (NedMainWindow *) data; GtkWidget *access_dialog; GtkWidget *error_dialog; NedLilyPondExportDialog *lily_export_dialog; bool state, with_break, ok = FALSE; bool extend = FALSE; char *cptr; bool *selected_staves = NULL; bool *keep_beams = NULL; if (NedResource::isPlaying()) return; the_filename[0] = '\0'; if (main_window->m_current_filename[0] != '\0') { strcpy(the_filename, main_window->m_current_filename); if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".ntd")) { *cptr = '\0'; } } strcat(the_filename, ".ly"); } selected_staves = (bool *) alloca(main_window->m_staff_count * sizeof(bool)); for (int i = 0; i < main_window->m_staff_count; selected_staves[i++] = true); keep_beams = (bool *) alloca(main_window->m_staff_count * sizeof(bool)); for (int i = 0; i < main_window->m_staff_count; keep_beams[i++] = false); lily_export_dialog = new NedLilyPondExportDialog(GTK_WINDOW(main_window->m_main_window), main_window, the_filename, selected_staves, keep_beams); lily_export_dialog->getValues(&state, &with_break); delete lily_export_dialog; if (!state) return; extend = TRUE; if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".ly")) { extend = FALSE; } } if (extend) { strcat(the_filename, ".ly"); } ok = true; if (ok && access(the_filename, F_OK) == 0) { access_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("File %s already exists. Overwrite ?"), the_filename); if (gtk_dialog_run (GTK_DIALOG (access_dialog)) != GTK_RESPONSE_YES) { ok = FALSE; } gtk_widget_destroy (access_dialog); } if (ok) { if ((fp = fopen(the_filename, "w")) == NULL) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for writing"), the_filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); return; } main_window->do_lily_export(fp, with_break, selected_staves, keep_beams); fclose(fp); } } int NedMainWindow::computeLilySize() { #define LILY_MIN_SIZE 10 #define LILY_MAX_SIZE 27 double m = (double) (LILY_MAX_SIZE - LILY_MIN_SIZE) / ((SCALE_MAX - SCALE_MIN) * (double) SCALE_GRANULARITY); double n = (double) LILY_MIN_SIZE - SCALE_MIN * (double) SCALE_GRANULARITY * m; double ly_size = m * (double) m_current_scale + n; if (ly_size < 12.0) return 11; if (ly_size < 13.5) return 13; if (ly_size < 15.0) return 14; if (ly_size < 17.0) return 16; if (ly_size < 19.0) return 18; if (ly_size < 22.5) return 20; if (ly_size < 24.5) return 23; return 26; } void NedMainWindow::do_lily_export(FILE *fp, bool with_break, bool *selected_staves, bool *keep_beams) { GList *lptr; int i, j, k; unsigned int m, voice_mask[m_staff_count]; int the_voice = 0, voice_count[m_staff_count]; int last_line; unsigned int midi_len; NedSystem *last_system = NULL, *dummy = NULL; unsigned long long end_time = 0, dummy2; unsigned int partial = 0; bool open_repeat = false; bool go_on; int tabs; bool in_alternative; unsigned int lyrics_map[m_staff_count], lm_dummy, *lm; int clef_number; int sil_count; NedSlur *lily_slur; bool all_staves = true; bool guitar_chordnames[m_staff_count]; bool chordnames[m_staff_count]; int breath_script; char Str[1024]; computeLilySize(); for (i = 0; i < m_staff_count; i++) { guitar_chordnames[i] = false; chordnames[i] = false; if (!selected_staves[i]) { all_staves = false; break; } } fprintf(fp, "\\header {\n"); if (m_score_info->title != NULL && strlen(m_score_info->title->getText()) > 1) { NedPangoCairoText::makeLilyString(m_score_info->title->getText(), Str); fprintf(fp, "\ttitle = \\markup \\center-align {%s}\n", Str); } if (m_score_info->subject != NULL && strlen(m_score_info->subject->getText()) > 1) { NedPangoCairoText::makeLilyString(m_score_info->subject->getText(), Str); fprintf(fp, "\tsubtitle = \\markup \\center-align {%s}\n", Str); } if (m_score_info->composer != NULL && strlen(m_score_info->composer->getText()) > 1) { NedPangoCairoText::makeLilyString(m_score_info->composer->getText(), Str); fprintf(fp, "\tcomposer = %s\n", Str); } if (m_score_info->arranger != NULL && strlen(m_score_info->arranger->getText()) > 1) { NedPangoCairoText::makeLilyString(m_score_info->arranger->getText(), Str); fprintf(fp, "\tarranger = %s\n", Str); } if (m_score_info->copyright != NULL && strlen(m_score_info->copyright->getText()) > 1) { NedPangoCairoText::makeLilyString(m_score_info->copyright->getText(), Str); fprintf(fp, "\tcopyright = %s\n", Str); } fprintf(fp, "}\n\n"); if (!strcmp(m_current_paper->name, "A3")) { if (m_portrait) { fprintf(fp, "#(set-default-paper-size \"a3\")\n"); } else { fprintf(fp, "#(set-default-paper-size \"a3\" 'landscape)\n"); } } else if (!strcmp(m_current_paper->name, "A5")) { if (m_portrait) { fprintf(fp, "#(set-default-paper-size \"a5\")\n"); } else { fprintf(fp, "#(set-default-paper-size \"a5\" 'landscape)\n"); } } else { if (m_portrait) { fprintf(fp, "#(set-default-paper-size \"a4\")\n"); } else { fprintf(fp, "#(set-default-paper-size \"a4\" 'landscape)\n"); } } if (m_current_scale != SCALE_GRANULARITY) { fprintf(fp, "#(set-global-staff-size %d)\n", computeLilySize()); } for (go_on = true, lptr = g_list_first(m_special_measures); go_on && lptr; lptr = g_list_next(lptr)) { switch (((SpecialMeasure *) lptr->data)->type & REP_TYPE_MASK) { case REPEAT_OPEN_CLOSE: case REPEAT_CLOSE: open_repeat = true; go_on = false; break; case REPEAT_OPEN: if (((SpecialMeasure *) lptr->data)->measure_number == 1) open_repeat = true; go_on = false; break; } } if (m_upbeat_inverse != 0) { partial = m_numerator * WHOLE_NOTE / m_denominator - m_upbeat_inverse; partial /= NOTE_64; } for (i = 0; i < m_staff_count; i++) { voice_mask[i] = 0x0; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->detectVoices(i, &(voice_mask[i]), &last_system, &end_time); } } for (i = 0; i < m_staff_count; i++) { if (!selected_staves[i]) continue; voice_mask[i] = 0x0; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->detectVoices(i, &(voice_mask[i]), &dummy, &dummy2); } clef_number = m_staff_contexts[i].m_clef_number; voice_count[i] = 0; the_voice = 0; for (j = 0; j < VOICE_COUNT; j++) { m = (1 << j); if ((m & voice_mask[i]) != 0) { voice_count[i]++; the_voice = j; } } lyrics_map[i] = 0; lm = &(lyrics_map[i]); for (j = 0; j < VOICE_COUNT; j++) { m = (1 << j); if ((m & voice_mask[i]) == 0) continue; if (m_staff_contexts[i].m_clef_number == NEUTRAL_CLEF3) { fprintf(fp, "Staff%cVoice%c = \\drummode {\n", 'A' + i, 'A' + j); } else { fprintf(fp, "Staff%cVoice%c = \\relative c' {\n", 'A' + i, 'A' + j); } if (keep_beams[i]) { fprintf(fp, " \\autoBeamOff "); } if (open_repeat) { fprintf(fp, "\t\\repeat volta 2 {\n"); } putc('\t', fp); last_line = NedResource::determineLastLine(-2, clef_number); midi_len = 0; in_alternative = false; lily_slur = NULL; breath_script = LILY_BREAH_SCRIPT_RCOMMA; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (!((NedPage *) lptr->data)->exportLilyPond(fp, i, j, &last_line, &midi_len, last_system, end_time, &in_alternative, &lily_slur, lm, with_break, &(guitar_chordnames[i]), &(chordnames[i]), &breath_script, keep_beams[i])) break; } if (in_alternative) { // last measure is REP2END fprintf(fp, "\n\t}\n\t}\n"); } fprintf(fp, "\n}\n\n"); if (j == 0 && lyrics_map[i] != 0) { for (k = 0; k < MAX_LYRICS_LINES; k++) { if ((lyrics_map[i] & (1 << k)) == 0) continue; sil_count = 0; fprintf(fp, "Staff%cLyrics%c = \\lyricmode{\n\t", 'A' + i, 'A' + k); for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (!((NedPage *) lptr->data)->exportLilyLyrics(fp, i, 0, k, last_system, end_time, &sil_count)) { break; } } fprintf(fp, "\n}\n"); } } lm_dummy = 0; lm = &lm_dummy; } if (m_staff_contexts[i].m_clef_number == NEUTRAL_CLEF3) { fprintf(fp, "Staff%c = \\new DrumStaff { ", 'A' + i); } else { fprintf(fp, "Staff%c = \\new Staff \\relative c' {", 'A' + i); } if (m_staff_contexts[i].m_staff_name != NULL && strlen(m_staff_contexts[i].m_staff_name->getText()) > 0) { fprintf(fp, " \\set Staff.instrumentName = \"%s \"", m_staff_contexts[i].m_staff_name->getText()); } if (m_staff_contexts[i].m_staff_short_name != NULL && strlen(m_staff_contexts[i].m_staff_short_name->getText()) > 0) { fprintf(fp, " \\set Staff.shortInstrumentName = \"%s \"", m_staff_contexts[i].m_staff_short_name->getText()); } fprintf(fp, NedResource::getLilyPondClefName(m_staff_contexts[i].m_clef_number)); fprintf(fp, NedResource::getLilyPondKeySigName(m_staff_contexts[i].m_key_signature_number)); fprintf(fp, " \\time %d/%d", m_numerator, m_denominator); if (m_upbeat_inverse != 0) { fprintf(fp, " \\partial 64*%d", partial); } fprintf(fp, "\n"); fprintf(fp, "\t<<\n"); for (j = 0; j < VOICE_COUNT; j++) { m = (1 << j); if ((m & voice_mask[i]) == 0) continue; if (m_staff_contexts[i].m_clef_number == NEUTRAL_CLEF3) { fprintf(fp, "\\drummode{\n\t\t\\Staff%cVoice%c", 'A' + i, 'A' + j); } else { fprintf(fp, "\t\t\\new Voice = \""); switch(j) { case 0: if (voice_count[i] > 1) { fprintf(fp, "one\" { \\voiceOne "); } else { fprintf(fp, "one\" { "); } break; case 1: fprintf(fp, "two\" { \\voiceTwo "); break; case 2: fprintf(fp, "three\" { \\voiceThree "); break; case 3: fprintf(fp, "four\" { \\voiceFour "); break; } fprintf(fp, "\\Staff%cVoice%c }", 'A' + i, 'A' + j); } fprintf(fp, " \n"); if (m_staff_contexts[i].m_clef_number == NEUTRAL_CLEF3) { fprintf(fp, "\t\t}\n"); } } fprintf(fp, "\t>>\n"); fprintf(fp, "\n}\n\n"); if (guitar_chordnames[i]) { fprintf(fp, "Staff%cGuitarChords = \\new ChordNames {\n", 'A' + i); fprintf(fp, "\t\\chordmode {\n\t\t"); if (open_repeat) { fprintf(fp, "\t\\repeat volta 2 {\n"); } in_alternative = false; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (!((NedPage *) lptr->data)->exportLilyGuitarChordnames(fp, i, &last_line, &midi_len, last_system, end_time, &in_alternative, with_break)) break; } if (in_alternative) { // last measure is REP2END fprintf(fp, "\n\t}\n\t}\n"); } fprintf(fp, "\n\t}\n"); fprintf(fp, "}\n\n"); } if (chordnames[i]) { fprintf(fp, "Staff%cChords = \\new ChordNames {\n", 'A' + i); fprintf(fp, "\t\\chordmode {\n\t\t"); if (open_repeat) { fprintf(fp, "\t\\repeat volta 2 {\n"); } in_alternative = false; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (!((NedPage *) lptr->data)->exportLilyFreeChordName(fp, i, &last_line, &midi_len, last_system, end_time, &in_alternative, with_break)) break; } if (in_alternative) { // last measure is REP2END fprintf(fp, "\n\t}\n\t}\n"); } fprintf(fp, "\n\t}\n"); fprintf(fp, "}\n\n"); } } fprintf(fp, "\\score {\n"); fprintf(fp, "\t<<\n"); tabs = 1; for (i = 0; i < m_staff_count; i++) { if (!selected_staves[i]) continue; if ((all_staves && m_staff_contexts[i].m_flags & BRACKET_START) != 0) { for (j = 0; j < tabs; j++) putc('\t', fp); fprintf(fp, "\\new StaffGroup <<\n\n"); tabs++; } if (all_staves && (m_staff_contexts[i].m_flags & BRACE_START) != 0) { for (j = 0; j < tabs; j++) putc('\t', fp); fprintf(fp, "\\new PianoStaff <<\n"); tabs++; } if (guitar_chordnames[i]) { tabs++; for (j = 0; j < tabs; j++) putc('\t', fp); fprintf(fp, "<<\n"); tabs++; for (j = 0; j < tabs; j++) putc('\t', fp); fprintf(fp, "\\Staff%cGuitarChords\n", 'A' + i); tabs--; for (j = 0; j < tabs; j++) putc('\t', fp); fprintf(fp, ">>\n"); } if (chordnames[i]) { tabs++; for (j = 0; j < tabs; j++) putc('\t', fp); fprintf(fp, "<<\n"); tabs++; for (j = 0; j < tabs; j++) putc('\t', fp); fprintf(fp, "\\Staff%cChords\n", 'A' + i); tabs--; for (j = 0; j < tabs; j++) putc('\t', fp); fprintf(fp, ">>\n"); } for (j = 0; j < tabs; j++) putc('\t', fp); fprintf(fp, "\\Staff%c\n", 'A' + i); for (j = 0; j < MAX_LYRICS_LINES; j++) { m = (1 << j); if ((lyrics_map[i] & m) == 0) continue; for (k = 0; k < tabs; k++) putc('\t', fp); fprintf(fp, "\\new Lyrics \\lyricsto \"one\" { \\Staff%cLyrics%c }\n", 'A' + i, 'A' + j); } if (all_staves && ((m_staff_contexts[i].m_flags & BRACKET_END) != 0)) { tabs--; for (j = 0; j < tabs; j++) putc('\t', fp); fprintf(fp, ">>\n"); } if (all_staves && ((m_staff_contexts[i].m_flags & BRACE_END) != 0)) { tabs--; for (j = 0; j < tabs; j++) putc('\t', fp); fprintf(fp, ">>\n"); } } fprintf(fp, "\t>>\n"); fprintf(fp, "\t\\layout { }\n"); fprintf(fp, "}\n"); } /* void NedMainWindow::append_page(GtkWidget *widget, void *data) { NedCommandList *command_list; int len; unsigned int measure_number; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; measure_number = ((NedPage *) g_list_last(main_window->m_pages)->data)->getNumberOfLastMeasure(); command_list = new NedCommandList(main_window, NULL); len = g_list_length(main_window->m_pages); command_list->addCommand(new NedAppendNewPageCommand(main_window, len, measure_number + 1)); command_list->execute(); command_list->setFullReposit(); command_list->setRenumber(); main_window->m_command_history->addCommandList(command_list); main_window->renumberMeasures(NULL, 1, true); } void NedMainWindow::insert_page(GtkWidget *widget, void *data) { NedCommandList *command_list; int pos; unsigned int measure_number; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_selected_chord_or_rest == NULL) { NedResource::Info(_("Please select a note or rest!")); return; } command_list = new NedCommandList(main_window, NULL); if ((pos = g_list_index(main_window->m_pages, main_window->m_selected_chord_or_rest->getPage())) < 0) { NedResource::Abort("NedMainWindow::insert_page"); } measure_number = main_window->m_selected_chord_or_rest->getPage()->getNumberOfLastMeasure(); main_window->m_selected_chord_or_rest->getPage()->testForPageBackwardTies(command_list); command_list->addCommand(new NedInsertNewPageCommand(main_window, pos, measure_number + 1)); command_list->execute(); main_window->m_command_history->addCommandList(command_list); } */ void NedMainWindow::renumberPages() { int number = 0; GList *lptr; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->setPageNumber(number++); } } void NedMainWindow::checkForElementsToSplit(NedCommandList *command_list) { GList *lptr; int measure_number = 1; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->checkForElementsToSplit(command_list, &measure_number); } } #define ABOUT_WIDTH 700 #define ABOUT_HEIGHT 250 void NedMainWindow::show_about(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; GtkWidget *about_dialog; NedMainWindow *main_window = (NedMainWindow *) data; about_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_INFO, GTK_BUTTONS_OK, _("NtEd version %s by Joerg Anders\nSend bug reports to %s\n\nInfos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n\nAuthor:\n J.Anders \n\nTranslation: "), PACKAGE_VERSION, PACKAGE_BUGREPORT); gtk_dialog_run (GTK_DIALOG (about_dialog)); gtk_widget_destroy (about_dialog); } #ifdef YELP_PATH void NedMainWindow::show_docu(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; char arg[1024]; if (main_window->m_docu == NULL || access(YELP_PATH, X_OK)) { NedResource::Info(_("Excuse! The documentation is not available\n" "due to an installation error")); return; } switch (fork()) { case 0: sprintf(arg, "ghelp:%s", main_window->m_docu); fprintf(stderr, "YELP_PATH: %s\narg: %s\n", YELP_PATH, arg); if (execl(YELP_PATH, YELP_PATH, arg, NULL) < 0) { perror("execl"); NedResource::Info(_("Excuse! Cannot exec")); return; } exit(0); case -1: NedResource::Info(_("Excuse! Cannot fork")); return; default: return; } } #endif void NedMainWindow::show_license(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; NedResource::showLicense(GTK_WINDOW(main_window->m_main_window)); } void NedMainWindow::remove_page(GtkWidget *widget, void *data) { NedCommandList *command_list; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (g_list_length(main_window->m_pages) < 2) return; command_list = new NedCommandList(main_window, NULL); command_list->addCommand(new NedRemoveLastPageCommand(main_window)); command_list->setFullReposit(); command_list->execute(); main_window->m_command_history->addCommandList(command_list); } void NedMainWindow::remove_empty_pages(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; main_window->deleteEmptyPagesAtEnd(); main_window->updatePageCounter(); main_window->setAllUnpositioned(); main_window->reposit(); main_window->repaint(); } void NedMainWindow::realizeNewSpacement(double spacement) { m_global_spacement_fac = spacement; setNewMeasureSpread(spacement); setAllUnpositioned(); NedCommandList *command_list = new NedCommandList(this); reposit(command_list); repaint(); } void NedMainWindow::change_spacement(GtkWidget *widget, void *data) { double spacement; bool state; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; NedSpacementDialog *dialog = new NedSpacementDialog (GTK_WINDOW(main_window->m_main_window), main_window->m_global_spacement_fac); dialog->getValues(&state, &spacement); delete dialog; if (state) { NedCommandList *command_list = new NedCommandList(main_window); NedChangeSpacementCommand *new_spacement_cmd = new NedChangeSpacementCommand(main_window, spacement); new_spacement_cmd->execute(); command_list->addCommand(new_spacement_cmd); main_window->m_command_history->addCommandList(command_list); /* --- this is all done during new_spacement_cmd->execute(); see void NedMainWindow::realizeNewSpacement(double spacement) */ //command_list->setFullReposit(); //main_window->setAllUnpositioned(); //NedCommandList *command_list2 = new NedCommandList(main_window); //main_window->reposit(command_list2); //main_window->repaint(); } } void NedMainWindow::popup_tools(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedResource::popup_tools((NedMainWindow*) data); } void NedMainWindow::set_upbeat_measure(GtkWidget *widget, void *data) { unsigned int measure_length; NedCommandList *command_list; NedChangeUpbeadCommand *change_up_beat_cmd; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_selected_chord_or_rest == NULL) return; measure_length = main_window->m_numerator * WHOLE_NOTE / main_window->m_denominator; if (main_window->m_selected_chord_or_rest->getMidiTime() >= measure_length) return; change_up_beat_cmd = new NedChangeUpbeadCommand(main_window, measure_length - main_window->m_selected_chord_or_rest->getMidiTime()); change_up_beat_cmd->execute(); command_list = new NedCommandList(main_window); command_list->addCommand(change_up_beat_cmd); main_window->computeSystemIndent(); main_window->reposit(command_list); //((NedPage *) g_list_first(main_window->m_pages)->data)->getFirstSystem()->assignMidiTimes(); main_window->checkForElementsToSplit(command_list); //((NedPage *) g_list_first(main_window->m_pages)->data)->getFirstSystem()->assignMidiTimes(); main_window->m_command_history->addCommandList(command_list); command_list->setFullReposit(); main_window->setAndUpdateClefTypeAndKeySig(); main_window->setAllUnpositioned(); main_window->reposit(command_list); main_window->repaint(); } void NedMainWindow::set_upbeat_start(GtkWidget *widget, void *data) { unsigned int measure_length; NedCommandList *command_list; unsigned int upbeat_inverse; NedChangeUpbeadCommand *change_up_beat_cmd; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_selected_chord_or_rest == NULL) return; upbeat_inverse = main_window->m_selected_chord_or_rest->getMidiTime(); measure_length = main_window->m_numerator * WHOLE_NOTE / main_window->m_denominator; if (main_window->m_selected_chord_or_rest->getMidiTime() >= measure_length) return; command_list = new NedCommandList(main_window); if (!((NedPage *) g_list_first(main_window->m_pages)->data)->getFirstSystem()->truncateAtStart(command_list, main_window->m_selected_chord_or_rest->getMidiTime())) { NedResource::Info("Upbeat not possible here because note structures must be destroyed"); return; } command_list->execute(); ((NedPage *) g_list_first(main_window->m_pages)->data)->getFirstSystem()->assignMidiTimes(); change_up_beat_cmd = new NedChangeUpbeadCommand(main_window, upbeat_inverse); change_up_beat_cmd->execute(); command_list->addCommand(change_up_beat_cmd); main_window->computeSystemIndent(); //((NedPage *) g_list_first(main_window->m_pages)->data)->getFirstSystem()->assignMidiTimes(); //main_window->checkForElementsToSplit(command_list); ((NedPage *) g_list_first(main_window->m_pages)->data)->getFirstSystem()->assignMidiTimes(); main_window->m_command_history->addCommandList(command_list); command_list->setFullReposit(); main_window->setAndUpdateClefTypeAndKeySig(); main_window->setAllUnpositioned(); main_window->reposit(command_list); main_window->repaint(); } void NedMainWindow::edit_score_info(GtkWidget *widget, void *data) { bool state; NedMainWindow *main_window = (NedMainWindow *) data; NedScoreInfoConfigDialog *dialog = new NedScoreInfoConfigDialog(GTK_WINDOW(main_window->m_main_window), main_window, main_window->m_score_info); dialog->getValues(&state); delete dialog; if (!state) return; main_window->computeScoreTextExtends(); NedCommandList *command_list = new NedCommandList(main_window); command_list->setFullReposit(); main_window->setAllUnpositioned(); main_window->reposit(command_list); if (command_list->getNumberOfCommands() > 0) { main_window->m_command_history->addCommandList(command_list); } main_window->repaint(); } void NedMainWindow::mute_staves(GtkWidget *widget, void *data) { int i, j; bool state; NedMainWindow *main_window = (NedMainWindow *) data; bool mutes[main_window->m_staff_count]; NedMuteDialog *dialog = new NedMuteDialog(GTK_WINDOW(main_window->m_main_window), mutes, main_window->m_staff_contexts, main_window->m_staff_count); dialog->getValues(&state); if (state) { for (i = 0; i < main_window->m_staff_count; i++) { for (j = 0; j < VOICE_COUNT; j++) { main_window->m_staff_contexts[i].m_muted[j] = mutes[i]; } } } delete dialog; } void NedMainWindow::transpose(GtkWidget *widget, void *data) { NedTransposeCommand *transpose_cmd; int pitchdist; bool state, selected; NedMainWindow *main_window = (NedMainWindow *) data; bool staff_list[main_window->m_staff_count]; selected = main_window->m_selection_rect.width > MIN_SELECTION_RECTANGLE_DIM && main_window->m_selection_rect.height > MIN_SELECTION_RECTANGLE_DIM; if (selected) { if (g_list_length(main_window->m_selected_group) < 1) selected = false; } NedSelectorDialog *dialog = new NedSelectorDialog(GTK_WINDOW(main_window->m_main_window), true, staff_list, selected, main_window->m_staff_contexts, main_window->m_staff_count); dialog->getValues(&state, &pitchdist, &selected); delete dialog; if (!state) return; NedCommandList *command_list = new NedCommandList(main_window); if (main_window->m_selected_group != NULL) { NedChordOrRest::handleOpenTies(command_list, main_window->m_selected_group); } transpose_cmd = new NedTransposeCommand(main_window, pitchdist, main_window->m_staff_count, staff_list, selected ? main_window->m_selected_group : NULL); command_list->addCommand(transpose_cmd); transpose_cmd->execute(); command_list->setFullReposit(); main_window->setAllUnpositioned(); main_window->reposit(command_list); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } void NedMainWindow::do_transpose(int pitchdist, bool *staff_list, GList *selected_group) { GList *lptr; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->transpose(pitchdist, staff_list, selected_group); } } void NedMainWindow::set_all_halfs_to_sharp(GtkWidget *widget, void *data) { GList *lptr; bool state, selected; int dummy; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; bool staff_list[main_window->m_staff_count]; selected = main_window->m_selection_rect.width > MIN_SELECTION_RECTANGLE_DIM && main_window->m_selection_rect.height > MIN_SELECTION_RECTANGLE_DIM; if (selected) { if (g_list_length(main_window->m_selected_group) < 1) selected = false; } NedSelectorDialog *dialog = new NedSelectorDialog(GTK_WINDOW(main_window->m_main_window), false, staff_list, selected, main_window->m_staff_contexts, main_window->m_staff_count); dialog->getValues(&state, &dummy, &selected); delete dialog; if (!state) return; NedCommandList *command_list = new NedCommandList(main_window); for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->changeAccidentals(command_list, 1, staff_list, selected ? main_window->m_selected_group : NULL); } command_list->setFullReposit(); main_window->setAllUnpositioned(); main_window->reposit(command_list); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } void NedMainWindow::set_all_halfs_to_flat(GtkWidget *widget, void *data) { GList *lptr; bool state, selected; int dummy; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; bool staff_list[main_window->m_staff_count]; selected = main_window->m_selection_rect.width > MIN_SELECTION_RECTANGLE_DIM && main_window->m_selection_rect.height > MIN_SELECTION_RECTANGLE_DIM; if (selected) { if (g_list_length(main_window->m_selected_group) < 1) selected = false; } NedSelectorDialog *dialog = new NedSelectorDialog(GTK_WINDOW(main_window->m_main_window), false, staff_list, selected, main_window->m_staff_contexts, main_window->m_staff_count); dialog->getValues(&state, &dummy, &selected); delete dialog; if (!state) return; NedCommandList *command_list = new NedCommandList(main_window); for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->changeAccidentals(command_list, -1, staff_list, selected ? main_window->m_selected_group : NULL); } command_list->setFullReposit(); main_window->setAllUnpositioned(); main_window->reposit(command_list); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } void NedMainWindow::hide_rests(GtkWidget *widget, void *data) { int current_voice_nr; NedChordOrRest *element; int staff_number = -1; GList *lptr; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; NedCommandList *command_list = new NedCommandList(main_window); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(main_window->m_v2bu))) { current_voice_nr = 1; } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(main_window->m_v3bu))) { current_voice_nr = 2; } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(main_window->m_v4bu))) { current_voice_nr = 3; } else { current_voice_nr = 0; } if (main_window->m_selection_rect.width > MIN_SELECTION_RECTANGLE_DIM && main_window->m_selection_rect.height > MIN_SELECTION_RECTANGLE_DIM && g_list_length(main_window->m_selected_group) > 0) { for (lptr = g_list_first(main_window->m_selected_group); lptr; lptr = g_list_next(lptr)) { element = (NedChordOrRest *) lptr->data; if (element->getVoice()->getVoiceNumber() != current_voice_nr) continue; element->hideRest(command_list, false); } } else { if (main_window->m_selected_chord_or_rest != NULL) { staff_number = main_window->m_selected_chord_or_rest->getStaff()->getStaffNumber(); } for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->hideRests(command_list, false, staff_number, current_voice_nr); } } main_window->setAllUnpositioned(); command_list->setFullReposit(); main_window->reposit(command_list); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } void NedMainWindow::unhide_rests(GtkWidget *widget, void *data) { int current_voice_nr; NedChordOrRest *element; int staff_number = -1; GList *lptr; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; NedCommandList *command_list = new NedCommandList(main_window); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(main_window->m_v2bu))) { current_voice_nr = 1; } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(main_window->m_v3bu))) { current_voice_nr = 2; } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(main_window->m_v4bu))) { current_voice_nr = 3; } else { current_voice_nr = 0; } if (main_window->m_selection_rect.width > MIN_SELECTION_RECTANGLE_DIM && main_window->m_selection_rect.height > MIN_SELECTION_RECTANGLE_DIM && g_list_length(main_window->m_selected_group) > 0) { for (lptr = g_list_first(main_window->m_selected_group); lptr; lptr = g_list_next(lptr)) { element = (NedChordOrRest *) lptr->data; if (element->getVoice()->getVoiceNumber() != current_voice_nr) continue; element->hideRest(command_list, true); } } else { if (main_window->m_selected_chord_or_rest != NULL) { staff_number = main_window->m_selected_chord_or_rest->getStaff()->getStaffNumber(); } for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->hideRests(command_list, true, staff_number, current_voice_nr); } } main_window->setAllUnpositioned(); command_list->setFullReposit(); main_window->reposit(command_list); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } void NedMainWindow::hide_rests_of_all_voices(GtkWidget *widget, void *data) { NedChordOrRest *element; GList *lptr; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; NedCommandList *command_list = new NedCommandList(main_window); if (main_window->m_selection_rect.width > MIN_SELECTION_RECTANGLE_DIM && main_window->m_selection_rect.height > MIN_SELECTION_RECTANGLE_DIM && g_list_length(main_window->m_selected_group) > 0) { for (lptr = g_list_first(main_window->m_selected_group); lptr; lptr = g_list_next(lptr)) { element = (NedChordOrRest *) lptr->data; element->hideRest(command_list, false); } } main_window->setAllUnpositioned(); command_list->setFullReposit(); main_window->reposit(command_list); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } void NedMainWindow::unhide_rests_of_all_voices(GtkWidget *widget, void *data) { NedChordOrRest *element; GList *lptr; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; NedCommandList *command_list = new NedCommandList(main_window); if (main_window->m_selection_rect.width > MIN_SELECTION_RECTANGLE_DIM && main_window->m_selection_rect.height > MIN_SELECTION_RECTANGLE_DIM && g_list_length(main_window->m_selected_group) > 0) { for (lptr = g_list_first(main_window->m_selected_group); lptr; lptr = g_list_next(lptr)) { element = (NedChordOrRest *) lptr->data; element->hideRest(command_list, false); } } main_window->setAllUnpositioned(); command_list->setFullReposit(); main_window->reposit(command_list); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } void NedMainWindow::shiftNotes(unsigned long long start_time, int linedist, NedPage *start_page, NedSystem *start_system, int staff_number) { GList *lptr; if (start_page == NULL) { lptr = g_list_first(m_pages); } else { if ((lptr = g_list_find(m_pages, start_page)) == NULL) { NedResource::Abort("NedMainWindow::shiftNotes"); } } for (; lptr; lptr = g_list_next(lptr), start_system = NULL) { if (!((NedPage *) lptr->data)->shiftNotes(start_time, linedist, start_system, staff_number)) return; } } void NedMainWindow::computeScoreTextExtends() { cairo_t *cr = NULL; m_first_page_yoffs = 0.0; if (m_score_info->title != NULL) { m_score_info->title_extends.width = m_score_info->title->getWidth() / m_current_zoom / ((double) m_current_scale / (double) SCALE_GRANULARITY); m_score_info->title_extends.height = m_score_info->title->getHeight() / m_current_zoom / ((double) m_current_scale / (double) SCALE_GRANULARITY); m_first_page_yoffs += m_score_info->title_extends.height + SCORE_INFO_EXTRA_DIST / ((double) m_current_scale / (double) SCALE_GRANULARITY); } if (m_score_info->subject != NULL) { m_score_info->subject_extends.width = m_score_info->subject->getWidth() / m_current_zoom / ((double) m_current_scale / (double) SCALE_GRANULARITY); m_score_info->subject_extends.height = m_score_info->subject->getHeight() / m_current_zoom / ((double) m_current_scale / (double) SCALE_GRANULARITY); m_first_page_yoffs += m_score_info->subject_extends.height ; } if (m_score_info->composer != NULL) { m_score_info->composer_extends.width = m_score_info->composer->getWidth() / m_current_zoom / ((double) m_current_scale / (double) SCALE_GRANULARITY); m_score_info->composer_extends.height = m_score_info->composer->getHeight() / m_current_zoom / ((double) m_current_scale / (double) SCALE_GRANULARITY); m_first_page_yoffs += m_score_info->composer_extends.height + SCORE_INFO_EXTRA_DIST / ((double) m_current_scale / (double) SCALE_GRANULARITY); } if (m_score_info->arranger != NULL) { m_score_info->arranger_extends.width = m_score_info->arranger->getWidth() / m_current_zoom / ((double) m_current_scale / (double) SCALE_GRANULARITY); m_score_info->arranger_extends.height = m_score_info->arranger->getHeight() / m_current_zoom / ((double) m_current_scale / (double) SCALE_GRANULARITY); m_first_page_yoffs += m_score_info->arranger_extends.height + SCORE_INFO_EXTRA_DIST / ((double) m_current_scale / (double) SCALE_GRANULARITY); } if (m_score_info->copyright != NULL) { m_score_info->copyright_extends.width = m_score_info->copyright->getWidth() / m_current_zoom / ((double) m_current_scale / (double) SCALE_GRANULARITY); m_score_info->copyright_extends.height = m_score_info->copyright->getHeight() / m_current_zoom / ((double) m_current_scale / (double) SCALE_GRANULARITY); m_first_page_yoffs += m_score_info->copyright_extends.height + SCORE_INFO_EXTRA_DIST / ((double) m_current_scale / (double) SCALE_GRANULARITY); } if (cr != NULL) { cairo_destroy (cr); cr = NULL; } } void NedMainWindow::quit_app(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; main_window->closeApplication(); } void NedMainWindow::do_remove_last_staff() { GList *lptr; m_staff_count--; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->removeLastStaff(); } reposit(); repaint(); } void NedMainWindow::insert_keysig(GtkWidget *widget, void *data) { NedMainWindow *main_window = (NedMainWindow *) data; int key_signature_number; bool state, do_adjust; NedKeysigDialog *keysigdialog = new NedKeysigDialog(GTK_WINDOW(main_window->m_main_window), 0); keysigdialog->getValues(&state, &key_signature_number, &do_adjust); delete keysigdialog; if (state) { main_window->m_special_type = (TYPE_KEYSIG | (do_adjust << 24)); main_window->m_special_sub_type.m_special_sub_type_int = key_signature_number; main_window->prepareInsertion(); } } void NedMainWindow::insert_spacer(GtkWidget *widget, void *data) { NedMainWindow *main_window = (NedMainWindow *) data; gtk_toggle_action_set_active(main_window->m_show_hidden_action, TRUE); main_window->m_special_type = TYPE_SPACER; main_window->prepareInsertion(); } void NedMainWindow::insert_lines(GtkWidget *widget, void *data) { NedMainWindow *main_window = (NedMainWindow *) data; bool state; int line_type; NedLinesDialog *linedialog = new NedLinesDialog(GTK_WINDOW(main_window->m_main_window)); linedialog->getValues(&state, &line_type); delete linedialog; if (state) { main_window->prepareInsertion(); switch (line_type) { case LINE_CRESCENDO: main_window->m_special_type = TYPE_LINE; main_window->m_special_sub_type.m_special_sub_type_int = LINE_CRESCENDO; break; case LINE_DECRESCENDO: main_window->m_special_type = TYPE_LINE; main_window->m_special_sub_type.m_special_sub_type_int = LINE_DECRESCENDO; break; case LINE_OCTAVATION1: main_window->m_special_type = TYPE_LINE; main_window->m_special_sub_type.m_special_sub_type_int = LINE_OCTAVATION1; break; case LINE_OCTAVATION_1: main_window->m_special_type = TYPE_LINE; main_window->m_special_sub_type.m_special_sub_type_int = LINE_OCTAVATION_1; break; case LINE_OCTAVATION2: main_window->m_special_type = TYPE_LINE; main_window->m_special_sub_type.m_special_sub_type_int = LINE_OCTAVATION2; break; case LINE_OCTAVATION_2: main_window->m_special_type = TYPE_LINE; main_window->m_special_sub_type.m_special_sub_type_int = LINE_OCTAVATION_2; break; } } } void NedMainWindow::insert_signs(GtkWidget *widget, void *data) { NedMainWindow *main_window = (NedMainWindow *) data; bool state; int sign_type; NedSignsDialog *signsdialog = new NedSignsDialog(GTK_WINDOW(main_window->m_main_window)); signsdialog->getValues(&state, &sign_type); delete signsdialog; if (state) { main_window->prepareInsertion(); switch (sign_type) { case SIGN_SEGNO: main_window->m_special_type = TYPE_SIGN; main_window->m_special_sub_type.m_special_sub_type_int = SIGN_SEGNO; break; case SIGN_CODA: main_window->m_special_type = TYPE_SIGN; main_window->m_special_sub_type.m_special_sub_type_int = SIGN_CODA; break; case SIGN_BREATH1: main_window->m_special_type = TYPE_STAFF_SIGN; main_window->m_special_sub_type.m_special_sub_type_int = SIGN_BREATH1; break; case SIGN_BREATH2: main_window->m_special_type = TYPE_STAFF_SIGN; main_window->m_special_sub_type.m_special_sub_type_int = SIGN_BREATH2; break; } } } void NedMainWindow::insert_chord(GtkWidget *widget, void *data) { bool state; int chordnum; unsigned int status; struct chord_str *chord_ptr; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; NedChordDialog *dialog = new NedChordDialog (GTK_WINDOW(main_window->m_main_window), main_window, NULL, (GUITAR_CHORD_DRAW_DIAGRAM | GUITAR_CHORD_DRAW_TEXT)); dialog->getValues(&state, &chord_ptr, &chordnum, &status); if (!state) return; main_window->m_special_type = TYPE_GUITAR_CHORD; main_window->m_special_sub_type.m_chord_info.chord_ptr = chord_ptr; main_window->m_special_sub_type.m_chord_info.chord_name_num = chordnum; main_window->m_special_sub_type.m_chord_info.status = status; delete dialog; main_window->prepareInsertion(); } void NedMainWindow::setChorNameInfo(char *rootname, char *uptext, char *downtext, double fontsize, double ydist) { m_special_type = TYPE_CHORDNAME; m_special_sub_type.m_chordname_info.root_name = rootname; m_special_sub_type.m_chordname_info.up_name = uptext; m_special_sub_type.m_chordname_info.down_name = downtext; m_special_sub_type.m_chordname_info.fontsize = fontsize; m_special_sub_type.m_chordname_info.ydist = ydist; prepareInsertion(); } void NedMainWindow::insert_chord_name(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; if (NedChordNameDialog::isAlreadyActive()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_lyrics_mode >= 0) return; new NedChordNameDialog (main_window, GTK_WINDOW(main_window->m_main_window), NULL, NULL,NULL, -1.0, -1.0, true); } void NedMainWindow::insert_slur(GtkWidget *widget, void *data) { NedMainWindow *main_window = (NedMainWindow *) data; GList *lptr; NedStaff *staff = NULL; NedPage *page; int voice_nr = 0; copy_data(widget, data); lptr = g_list_first(NedResource::m_main_clip_board); while (lptr) { if (((NedChordOrRest *) lptr->data)->getType() != TYPE_CHORD) { NedResource::m_main_clip_board = g_list_delete_link(NedResource::m_main_clip_board, lptr); lptr = g_list_first(NedResource::m_main_clip_board); } else { if (staff == NULL) { staff = ((NedChordOrRest *) lptr->data)->getStaff(); voice_nr = ((NedChordOrRest *) lptr->data)->getVoice()->getVoiceNumber(); } else if (staff != ((NedChordOrRest *) lptr->data)->getStaff() || voice_nr != ((NedChordOrRest *) lptr->data)->getVoice()->getVoiceNumber()) { NedResource::m_main_clip_board = g_list_delete_link(NedResource::m_main_clip_board, lptr); lptr = g_list_first(NedResource::m_main_clip_board); } else { lptr = g_list_next(lptr); } } } if (main_window->m_selection_rect.width < MIN_SELECTION_RECTANGLE_DIM || main_window->m_selection_rect.height < MIN_SELECTION_RECTANGLE_DIM) { NedResource::Info("Please create a selection rectangle first"); return; } page = NULL; for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->isXOnPage(main_window->m_selection_rect.x)) { page = (NedPage *) lptr->data; break; } } if (page == NULL) { NedResource::Abort("No page found"); } if (g_list_length(NedResource::m_main_clip_board) < 2) { g_list_free(NedResource::m_main_clip_board); NedResource::m_main_clip_board = NULL; } else { NedResource::m_main_clip_board = g_list_sort(NedResource::m_main_clip_board, (gint (*)(const void*, const void*)) NedChordOrRest::compareMidiTimes); } page->insertSlur(&(main_window->m_selection_rect)); /* main_window->m_special_type = TYPE_SLUR; main_window->m_special_sub_type.m_special_sub_type_int = 0; main_window->prepareInsertion(); */ main_window->m_selection_rect.width = main_window->m_selection_rect.height = 0.0; } void NedMainWindow::insert_accelerando(GtkWidget *widget, void *data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_special_type = TYPE_LINE3; main_window->m_special_sub_type.m_special_sub_type_int = LINE_ACCELERANDO; main_window->prepareInsertion(); } void NedMainWindow::insert_ritardando(GtkWidget *widget, void *data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_special_type = TYPE_LINE3; main_window->m_special_sub_type.m_special_sub_type_int = LINE_RITARDANDO; main_window->prepareInsertion(); } void NedMainWindow::append_staff(GtkWidget *widget, void *data) { unsigned int staff_map = 0; int midi_channel = -1; int i; GList *lptr; staff_context_str staff_context; NedMainWindow *main_window = (NedMainWindow *) data; NedCommandList *command_list; if (NedResource::isPlaying()) return; command_list = new NedCommandList(main_window); for (i = 0; i < main_window->m_staff_count; i++) { staff_map |= (1 << main_window->m_staff_contexts[i].m_midi_channel); } for (i = 0; i < 16; i++) { if (i == 9) continue; if ((staff_map & (1 << i)) == 0) { midi_channel = i; break; } } if (midi_channel < 0) { NedResource::DbgMsg(DBG_TESTING, "To many staffs: no free MIDI channel! I choose channel 1\n"); midi_channel = 0; } staff_context.m_key_signature_number = 0; staff_context.m_clef_number = 0; staff_context.m_clef_octave_shift = 0; staff_context.m_different_voices = false; for (i = 0; i < VOICE_COUNT; i++) { staff_context.voices[i].m_midi_volume = 64; staff_context.voices[i].m_midi_pan = 64; staff_context.voices[i].m_midi_program = 0; staff_context.m_muted[i] = false; } staff_context.m_staff_name = NULL; staff_context.m_staff_short_name = NULL; staff_context.m_group_name = NULL; staff_context.m_group_short_name = NULL; staff_context.m_midi_chorus = 0; staff_context.m_play_transposed = 0; staff_context.m_midi_reverb = 0; staff_context.m_midi_channel = midi_channel; staff_context.m_flags = 0; for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->appendStaff(command_list); } command_list->addCommand(new NedSetStaffContext(main_window, &staff_context, &(main_window->m_staff_count))); main_window->m_command_history->addCommandList(command_list); command_list->execute(); command_list->setFullReposit(); main_window->setAllUnpositioned(); command_list->setRenumber(NULL, 0, true); main_window->reposit(command_list); main_window->renumberMeasures(NULL, 1, true); main_window->repaint(); } void NedMainWindow::insert_tuplet(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; bool state; int tuplet_val; int method; NedMainWindow *main_window = (NedMainWindow *) data; if (!main_window->m_selected_chord_or_rest) { NedResource::Info(_("please select a note or rest first")); return; } if (main_window->m_selected_chord_or_rest->getDotCount() != 0) { NedResource::Info(_("you cannot select an element with dot")); return; } NedTupletDialog *dialog = new NedTupletDialog(GTK_WINDOW(main_window->m_main_window)); dialog->getValues(&state, &tuplet_val, &method); delete dialog; if (!state) return; if (!main_window->m_selected_chord_or_rest->getVoice()-> tryConvertToTuplet(method, tuplet_val, main_window->m_selected_chord_or_rest)) { NedResource::Info(_("I'm not able to create a tuplet here")); } } void NedMainWindow::remove_tuplet(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (!main_window->m_selected_chord_or_rest) { NedResource::Info(_("please select a note or rest first")); return; } if (main_window->m_selected_chord_or_rest->getTupletVal() == 0) { NedResource::Info(_("selected element is not inside a tuplet")); return; } main_window->m_selected_chord_or_rest->getVoice()->removeTuplet(main_window->m_selected_chord_or_rest); } void NedMainWindow::insert_clef(GtkWidget *widget, void *data) { NedMainWindow *main_window = (NedMainWindow *) data; int clef_type, octave_shift; bool state, do_adjust; NedClefConfigDialog *dialog = new NedClefConfigDialog (GTK_WINDOW(main_window->m_main_window), TREBLE_CLEF, 0); dialog->getValues(&state, &clef_type, &octave_shift, &do_adjust); delete dialog; main_window->m_special_type = (TYPE_CLEF | (do_adjust << 24)); main_window->m_special_sub_type.m_special_sub_type_int = clef_type | ((octave_shift + 100) << 16); main_window->prepareInsertion(); } void NedMainWindow::set_brace_system_delimiter(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (NedResource::m_number_of_first_selected_staff < 0 || NedResource::m_number_of_last_selected_staff < 0) return; //if (NedResource::m_number_of_last_selected_staff - NedResource::m_number_of_first_selected_staff < 1) return; main_window->deleteEnclosedBras(BRACE_START, BRACE_END); main_window->m_staff_contexts[NedResource::m_number_of_first_selected_staff].m_flags |= BRACE_START; main_window->m_staff_contexts[NedResource::m_number_of_last_selected_staff].m_flags |= BRACE_END; main_window->computeSystemIndent(); main_window->reposit(); main_window->repaint(); } void NedMainWindow::set_bracket_system_delimiter(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (NedResource::m_number_of_first_selected_staff < 0 || NedResource::m_number_of_last_selected_staff < 0) return; //if (NedResource::m_number_of_last_selected_staff - NedResource::m_number_of_first_selected_staff < 1) return; if (main_window->deleteEnclosedBras(BRACE_START|BRACKET_START, BRACE_END|BRACKET_END)) { main_window->m_staff_contexts[NedResource::m_number_of_first_selected_staff].m_flags |= BRACKET_START; main_window->m_staff_contexts[NedResource::m_number_of_last_selected_staff].m_flags |= BRACKET_END; main_window->computeSystemIndent(); main_window->reposit(); main_window->repaint(); } } void NedMainWindow::set_connected_bar_line(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (NedResource::m_number_of_first_selected_staff < 0 || NedResource::m_number_of_last_selected_staff < 0) return; if (NedResource::m_number_of_last_selected_staff - NedResource::m_number_of_first_selected_staff < 1) return; if (main_window->deleteEnclosedConnections()) { main_window->m_staff_contexts[NedResource::m_number_of_first_selected_staff].m_flags |= CON_BAR_START; main_window->m_staff_contexts[NedResource::m_number_of_last_selected_staff].m_flags |= CON_BAR_END; main_window->repaint(); } } void NedMainWindow::remove_system_delimiter(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (NedResource::m_number_of_first_selected_staff < 0 || NedResource::m_number_of_last_selected_staff < 0) return; main_window->deleteEnclosedBras(BRACE_START|BRACKET_START, BRACE_END|BRACKET_END); main_window->deleteEnclosedConnections(); main_window->computeSystemIndent(); main_window->reposit(); main_window->repaint(); } bool NedMainWindow::deleteEnclosedBras(unsigned int starts, unsigned int ends) { int i, j; for (i = 0; i < m_staff_count; i++) { if (i < NedResource::m_number_of_first_selected_staff && (m_staff_contexts[i].m_flags & starts) != 0) { for (j = i + 1; j < m_staff_count; j++) { if ((m_staff_contexts[j].m_flags & ends) != 0) { if (j > NedResource::m_number_of_last_selected_staff) return false; break; } } } } for (i = 0; i < m_staff_count; i++) { if ((m_staff_contexts[i].m_flags & starts) != 0) { if (i >= NedResource::m_number_of_first_selected_staff && i <= NedResource::m_number_of_last_selected_staff) { for (j = i + 1; j < m_staff_count; j++) { if ((m_staff_contexts[j].m_flags & ends) != 0) { m_staff_contexts[j].m_flags &= (~ends); break; } } m_staff_contexts[i].m_flags &= (~starts); } } if ((m_staff_contexts[i].m_flags & ends) != 0) { if (i >= NedResource::m_number_of_first_selected_staff && i <= NedResource::m_number_of_last_selected_staff) { for (j = i - 1; j >= 0; j--) { if ((m_staff_contexts[j].m_flags & starts) != 0) { m_staff_contexts[j].m_flags &= (~starts); break; } } } } } return true; } bool NedMainWindow::deleteEnclosedConnections() { int i, j; for (i = 0; i < m_staff_count; i++) { if (i < NedResource::m_number_of_first_selected_staff && (m_staff_contexts[i].m_flags & CON_BAR_START) != 0) { for (j = i + 1; j < m_staff_count; j++) { if ((m_staff_contexts[j].m_flags & CON_BAR_END) != 0) { if (j > NedResource::m_number_of_last_selected_staff) return false; break; } } } } for (i = 0; i < m_staff_count; i++) { if ((m_staff_contexts[i].m_flags & CON_BAR_START) != 0) { if (i >= NedResource::m_number_of_first_selected_staff && i <= NedResource::m_number_of_last_selected_staff) { for (j = i + 1; j < m_staff_count; j++) { if ((m_staff_contexts[j].m_flags & CON_BAR_END) != 0) { m_staff_contexts[j].m_flags &= (~(CON_BAR_END)); break; } } m_staff_contexts[i].m_flags &= (~(CON_BAR_START)); } } if ((m_staff_contexts[i].m_flags & CON_BAR_END) != 0) { if (i >= NedResource::m_number_of_first_selected_staff && i <= NedResource::m_number_of_last_selected_staff) { for (j = i - 1; j >= 0; j--) { if ((m_staff_contexts[j].m_flags & CON_BAR_START) != 0) { m_staff_contexts[j].m_flags &= (~(CON_BAR_START)); break; } } } } } return true; } gboolean NedMainWindow::handle_delete(GtkWidget *widget, GdkEvent *event, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->closeApplication(); return TRUE; } void NedMainWindow::handle_page_request(GtkSpinButton *spinbutton, gpointer data) { int page; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_avoid_feedback) return; page = (int) gtk_spin_button_get_value(spinbutton); main_window->setToPage(page); } void NedMainWindow::closeApplication() { GtkWidget *unsaved_dialog; bool stop_closing, do_save; GList *lptr; NedMainWindow *main_window; if (NedResource::isPlaying()) return; for (lptr = g_list_first(NedResource::m_main_windows); lptr; lptr = g_list_next(lptr)) { main_window = (NedMainWindow *) lptr->data; stop_closing = false; do_save = false; if (main_window->m_config_changed || main_window->m_command_history->unsavedOperations()) { unsaved_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO, _("Save Changes ?")); gtk_dialog_add_buttons(GTK_DIALOG (unsaved_dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); switch (gtk_dialog_run (GTK_DIALOG (unsaved_dialog))) { case GTK_RESPONSE_YES: do_save = TRUE; break; case GTK_RESPONSE_REJECT: stop_closing = TRUE; break; } gtk_widget_destroy (unsaved_dialog); if (stop_closing) { return; } if (do_save) { save_score(main_window->m_main_window, main_window); } } if (g_list_length(NedResource::m_main_windows) == 1) { NedResource::cleanup(); } //delete main_window; } /* g_list_free(NedResource::m_main_windows); NedResource::m_main_windows = NULL; */ gtk_main_quit(); } void NedMainWindow::restore_score(GtkWidget *widget, void *data) { FILE *fp; NedMainWindow *main_window = (NedMainWindow *) data; DIR *the_directory; char pathfoldername[4096], *cptr; GtkWidget *open_dialog; GtkWidget *error_dialog; GtkWidget *unsaved_dialog; char *filename, *folder = NULL; bool ok = FALSE, stop_opening = FALSE, do_save = FALSE; if (NedResource::isPlaying()) return; if (main_window->m_config_changed || main_window->m_command_history->unsavedOperations()) { unsaved_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO, _("Save Changes ?")); gtk_dialog_add_buttons(GTK_DIALOG (unsaved_dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); switch (gtk_dialog_run (GTK_DIALOG (unsaved_dialog))) { case GTK_RESPONSE_YES: do_save = TRUE; break; case GTK_RESPONSE_REJECT: stop_opening = TRUE; break; } gtk_widget_destroy (unsaved_dialog); if (stop_opening) { return; } if (do_save) { main_window->save_score(widget, data); } } open_dialog = gtk_file_chooser_dialog_new (_("Open score"), GTK_WINDOW(main_window->m_main_window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, "*.ntd (Nted-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.ntd"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(open_dialog), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(open_dialog), file_filter2); if (NedResource::m_last_folder != NULL) { if ((the_directory = opendir(NedResource::m_last_folder)) != NULL) { // avoid gtk error message gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(open_dialog), NedResource::m_last_folder); closedir(the_directory); } else { NedResource::m_last_folder = NULL; } } if (gtk_dialog_run (GTK_DIALOG (open_dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (open_dialog)); folder = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER (open_dialog)); ok = TRUE; } gtk_widget_destroy (open_dialog); if (ok) { if ((fp = fopen(filename, "r")) == NULL) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for reading"), filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); ok = FALSE; } } if (ok) { main_window->do_restore(fp, filename); if ((cptr = strrchr(filename, '/')) != NULL) { strncpy(pathfoldername, filename, cptr - filename); pathfoldername[cptr - filename] = '\0'; NedResource::m_last_folder = strdup(pathfoldername); } else { NedResource::m_last_folder = strdup(folder); } g_free (filename); fclose(fp); } if (folder != NULL) { g_free(folder); } } void NedMainWindow::do_restore(FILE *fp, char *filename) { int i, j; int score_info_idx; int midi_channel = 0; unsigned int upbeat_inverse = 0; int pan, chorus, reverb; int pagenum; int tsig_sym; NedPangoCairoText **sc_ptr; NedPage *page; GList *lptr, *newpages = NULL; int num, denom, tempo_inverse; char the_filename[4096], *cptr, show_file_name[4096]; int play_transposed; staff_context_str staff_contexts[MAX_STAFFS]; unsigned int flags; NedResource::m_error_message = NULL; NedResource::m_input_line = 1; char buffer[128]; ScoreInfo *newscoreinfo = new ScoreInfo(); NedResource::prepareAddrStruct(); NedResource::m_avoid_immadiate_play = TRUE; GList *new_spec_measures = NULL; if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "NTED")) { NedResource::m_error_message = "NTED expected"; } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "version")) { NedResource::m_error_message = "version expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &m_file_version) || m_file_version < 1 || m_file_version > 24) { NedResource::m_error_message = "version number expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "HEAD")) { NedResource::m_error_message = "HEAD expected"; } } while(NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "MEDIA, SUBJECT, COMPOSER, ARRANGER, COPYRIGHT OR MEDIA expected"; } if (!strcmp(buffer, "MEDIA")) { NedResource::unreadWord(buffer); break; } else if (!strcmp(buffer, "TITLE")) { sc_ptr = &(newscoreinfo->title); score_info_idx = 1; } else if (!strcmp(buffer, "SUBJECT")){ sc_ptr = &(newscoreinfo->subject); score_info_idx = 2; } else if (!strcmp(buffer, "COMPOSER")){ sc_ptr = &(newscoreinfo->composer); score_info_idx = 3; } else if (!strcmp(buffer, "ARRANGER")) { sc_ptr = &(newscoreinfo->arranger); score_info_idx = 4; } else if (!strcmp(buffer, "COPYRIGHT")) { sc_ptr = &(newscoreinfo->copyright); score_info_idx = 5; } else { NedResource::m_error_message = "MEDIA, SUBJECT, COMPOSER, ARRANGER, COPYRIGHT OR MEDIA expected"; break; } if (*sc_ptr != NULL) { NedResource::m_error_message = "double information"; break; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": expected"; break; } if (!NedResource::readTillEnd(fp, buffer)) { NedResource::m_error_message = "value expected"; break; } switch (score_info_idx) { case 1: newscoreinfo->title = new NedPangoCairoText(m_drawing_area->window, buffer, TITLE_FONT, TITLE_FONT_SLANT, TITLE_FONT_WEIGHT, TITLE_FONT_SIZE, m_current_zoom, 1.0, false); break; case 2: newscoreinfo->subject = new NedPangoCairoText(m_drawing_area->window, buffer, SUBJECT_FONT, SUBJECT_FONT_SLANT, SUBJECT_FONT_WEIGHT, SUBJECT_FONT_SIZE, m_current_zoom, 1.0, false); break; case 3: newscoreinfo->composer = new NedPangoCairoText(m_drawing_area->window, buffer, COMPOSER_FONT, COMPOSER_FONT_SLANT, COMPOSER_FONT_WEIGHT, COMPOSER_FONT_SIZE, m_current_zoom, 1.0, false); break; case 4: newscoreinfo->arranger = new NedPangoCairoText(m_drawing_area->window, buffer, ARRANGER_FONT, ARRANGER_FONT_SLANT, ARRANGER_FONT_WEIGHT, ARRANGER_FONT_SIZE, m_current_zoom, 1.0, false); break; case 5: newscoreinfo->copyright = new NedPangoCairoText(m_drawing_area->window, buffer, STAFF_NAME_FONT, STAFF_NAME_FONT_SLANT, STAFF_NAME_FONT_WEIGHT, STAFF_NAME_FONT_SIZE, m_current_zoom, 1.0, false); break; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "MEDIA")) { NedResource::m_error_message = "MEDIA expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readString(fp, buffer)) { NedResource::m_error_message = "MEDIA value expected"; } if ((m_current_paper = NedResource::getPaperInfo(buffer)) == NULL) { NedResource::m_error_message = "wrong media"; NedResource::DbgMsg(DBG_CRITICAL, "buffer = %s\n", buffer); } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "ORIENTATION")) { NedResource::m_error_message = "ORIENTATION expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "ORIENTATION value expected"; } if (!strcmp(buffer, "Portrait")) { m_portrait = TRUE; } else if (!strcmp(buffer, "Landscape")) { m_portrait = FALSE; } else { NedResource::m_error_message = "Wrong orientation value"; } } if (m_file_version > 9) { if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "SPACEMENT")) { NedResource::m_error_message = "SPACEMENT expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readFloat(fp, &m_global_spacement_fac) || m_global_spacement_fac < MEASURE_MIN_SPREAD || m_global_spacement_fac > MEASURE_MAX_SPREAD) { NedResource::m_error_message = "SPACEMENT value expected"; } } } if (m_file_version > 13) { if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "SCALE")) { NedResource::m_error_message = "SCALE expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &m_current_scale) || m_current_scale < (int) (SCALE_MIN * (double) SCALE_GRANULARITY - 2.0) || m_current_scale > (int) (SCALE_MAX * (double) SCALE_GRANULARITY + 2.0)) { NedResource::m_error_message = "SCALE value expected"; } if (m_current_scale > (int) (SCALE_MAX * (double) SCALE_GRANULARITY + 2.0)) { m_current_scale = (int) (SCALE_MAX * (double) SCALE_GRANULARITY + 2.0); } if (m_current_scale < (int) (SCALE_MIN * (double) SCALE_GRANULARITY - 2.0)) { m_current_scale = (int) (SCALE_MIN * (double) SCALE_GRANULARITY - 2.0); } } } else { m_current_scale = SCALE_GRANULARITY; } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "NUMERATOR")) { NedResource::m_error_message = "NUMERATOR expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &num) || num > 20 || num < 0) { NedResource::m_error_message = "NUMERATOR value expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "DENOMINATOR")) { NedResource::m_error_message = "DENOMINATOR expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &denom) || (denom != 2 && denom != 4 && denom != 8 && denom != 16)) { NedResource::m_error_message = "DENOMINATOR value expected"; } } tsig_sym = TIME_SYMBOL_NONE; if (m_file_version > 16) { if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "TIMESIG_SYMBOL")) { NedResource::m_error_message = "TIMESIG_SYMBOL expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &tsig_sym) || ( tsig_sym < TIME_SYMBOL_NONE || tsig_sym > TIME_SYMBOL_CUT_TIME)) { NedResource::m_error_message = "TIMSIG_SYMBOL value expected"; } } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "TEMPOINVERSE")) { NedResource::m_error_message = "TEMPO_INVERSE expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &tempo_inverse) || tempo_inverse > 2900 || tempo_inverse < 200) { NedResource::m_error_message = "TEMPO INVERSE VALUE value expected"; } } if (m_file_version > 2) { if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "UPBEAT_INVERSE")) { NedResource::m_error_message = "UPBEAT_INVERSE expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readUnsignedInt(fp, &upbeat_inverse)) { NedResource::m_error_message = "UPBEAT_INVERSE VALUE value expected"; } } } if (m_file_version > 18) { if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "MEASURE_NUMBERS")) { NedResource::m_error_message = "MEASURE_NUMBERS expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || (strcmp(buffer, "On") && strcmp(buffer, "Off"))) { NedResource::m_error_message = "On or Off expected"; } if (!strcmp(buffer, "On")) { gtk_toggle_action_set_active(m_show_measure_numbers_action, TRUE); } else { gtk_toggle_action_set_active(m_show_measure_numbers_action, FALSE); } } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "STAFFS")) { NedResource::m_error_message = "STAFFS expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, & m_pre_staffcount) || m_pre_staffcount > MAX_STAFFS || m_pre_staffcount < 1) { NedResource::m_error_message = "STAFF COUNT value expected"; } } for (i = 0; i < MAX_STAFFS; i++) { staff_contexts[i].m_staff_name = NULL; staff_contexts[i].m_staff_short_name = NULL; staff_contexts[i].m_group_name = NULL; staff_contexts[i].m_group_short_name = NULL; } for (i = 0; NedResource::m_error_message == NULL && i < m_pre_staffcount; i++) { int key, staffnum, channel, vol, midi_pgm; staff_contexts[i].m_midi_channel = midi_channel++; for (j = 0; j < VOICE_COUNT; j++) { staff_contexts[i].voices[j].m_midi_program = 0; staff_contexts[i].voices[j].m_midi_pan = 64; staff_contexts[i].voices[j].m_midi_volume = 64; staff_contexts[i].m_muted[j] = false; } staff_contexts[i].m_flags = 0; if (staff_contexts[i].m_staff_name != NULL) { delete staff_contexts[i].m_staff_name; } staff_contexts[i].m_staff_short_name = NULL; if (staff_contexts[i].m_staff_short_name != NULL) { delete staff_contexts[i].m_staff_short_name; } staff_contexts[i].m_staff_short_name = NULL; if (staff_contexts[i].m_group_name != NULL) { delete staff_contexts[i].m_group_name; } staff_contexts[i].m_group_name = NULL; if (staff_contexts[i].m_group_short_name != NULL) { delete staff_contexts[i].m_group_short_name; } staff_contexts[i].m_group_short_name = NULL; staff_contexts[i].m_midi_chorus = 0; staff_contexts[i].m_play_transposed = 0; staff_contexts[i].m_midi_reverb = 0; if (midi_channel == 9) { midi_channel++; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "STAFF")) { NedResource::m_error_message = "STAFF expected(1)"; } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &staffnum) || staffnum != i) { NedResource::m_error_message = "STAFF_NUM value expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (1)expected"; } } if (m_file_version > 1) { if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "NAME")) { NedResource::m_error_message = "NAME expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (2)expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWordOfLength(fp, buffer)) { NedResource::m_error_message = "STAFF NAME value expected"; } else { if (buffer[0] != '\0') { if (staff_contexts[i].m_staff_name != NULL) { delete staff_contexts[i].m_staff_name; } staff_contexts[i].m_staff_name = new NedPangoCairoText(m_drawing_area->window, buffer, STAFF_NAME_FONT, STAFF_NAME_FONT_SLANT, STAFF_NAME_FONT_WEIGHT, STAFF_NAME_FONT_SIZE, m_current_zoom, getCurrentScale(), false); } } } } if (m_file_version > 10) { if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "NAME_SHORT_NAME")) { NedResource::m_error_message = "NAME_SHORT_NAME expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (2)expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWordOfLength(fp, buffer)) { NedResource::m_error_message = "STAFF SHORT NAME value expected"; } else { if (buffer[0] != '\0') { if (staff_contexts[i].m_staff_short_name != NULL) { delete staff_contexts[i].m_staff_short_name; } staff_contexts[i].m_staff_short_name = new NedPangoCairoText(m_drawing_area->window, buffer, STAFF_SHORT_NAME_FONT, STAFF_SHORT_NAME_FONT_SLANT, STAFF_SHORT_NAME_FONT_WEIGHT, STAFF_SHORT_NAME_FONT_SIZE, m_current_zoom, getCurrentScale(), false); } } } } if (m_file_version > 19) { if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "GROUP_NAME")) { NedResource::m_error_message = "GROUP_NAME expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (8)expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWordOfLength(fp, buffer)) { NedResource::m_error_message = "GROUP_NAME value expected"; } else { if (buffer[0] != '\0') { if (staff_contexts[i].m_group_name != NULL) { delete staff_contexts[i].m_group_name; } staff_contexts[i].m_group_name = new NedPangoCairoText(m_drawing_area->window, buffer, STAFF_SHORT_NAME_FONT, STAFF_SHORT_NAME_FONT_SLANT, STAFF_SHORT_NAME_FONT_WEIGHT, STAFF_SHORT_NAME_FONT_SIZE, m_current_zoom, getCurrentScale(), false); } } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "GROUP_SHORT_NAME")) { NedResource::m_error_message = "GROUP_SHORT_NAME expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (9)expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWordOfLength(fp, buffer)) { NedResource::m_error_message = "GROUP_SHORT_NAME value expected"; } else { if (buffer[0] != '\0') { if (staff_contexts[i].m_group_short_name != NULL) { delete staff_contexts[i].m_group_short_name; } staff_contexts[i].m_group_short_name = new NedPangoCairoText(m_drawing_area->window, buffer, STAFF_SHORT_NAME_FONT, STAFF_SHORT_NAME_FONT_SLANT, STAFF_SHORT_NAME_FONT_WEIGHT, STAFF_SHORT_NAME_FONT_SIZE, m_current_zoom, getCurrentScale(), false); } } } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "KEY")) { NedResource::DbgMsg(DBG_CRITICAL, "gelesen: %s\n", buffer); NedResource::m_error_message = "KEY expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (2)expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &key) || key < -6 || key > 6) { NedResource::m_error_message = "KEY value expected"; } else { staff_contexts[i].m_key_signature_number = key; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "CLEF")) { NedResource::DbgMsg(DBG_CRITICAL, "GOT: *%s*\n", buffer); NedResource::m_error_message = "CLEF expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = "(3): expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWordWithNum(fp, buffer)) { NedResource::m_error_message = "CLEF value expected"; } } if (NedResource::m_error_message == NULL) { if (!strcmp(buffer, "TREBLE")) { staff_contexts[i].m_clef_number = TREBLE_CLEF; } else if (!strcmp(buffer, "BASS")) { staff_contexts[i].m_clef_number = BASS_CLEF; } else if (!strcmp(buffer, "ALTO")) { staff_contexts[i].m_clef_number = ALTO_CLEF; } else if (!strcmp(buffer, "TENOR")) { staff_contexts[i].m_clef_number = TENOR_CLEF; } else if (!strcmp(buffer, "SOPRAN")) { staff_contexts[i].m_clef_number = SOPRAN_CLEF; } else if (!strcmp(buffer, "NEUTRAL1")) { staff_contexts[i].m_clef_number = NEUTRAL_CLEF1; } else if (!strcmp(buffer, "NEUTRAL2")) { staff_contexts[i].m_clef_number = NEUTRAL_CLEF2; } else if (!strcmp(buffer, "NEUTRAL3")) { staff_contexts[i].m_clef_number = NEUTRAL_CLEF3; } else { NedResource::m_error_message = "CLEF value expected"; } } staff_contexts[i].m_clef_octave_shift = 0; if (m_file_version > 3) { if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &(staff_contexts[i].m_clef_octave_shift)) || (staff_contexts[i].m_clef_octave_shift != -12 && staff_contexts[i].m_clef_octave_shift != 0 && staff_contexts[i].m_clef_octave_shift != 12)) { NedResource::m_error_message = "Octve shift expected"; } } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "CHANNEL")) { NedResource::m_error_message = "CHANNEL expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (2)expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &channel) || channel < 0 || channel > 15) { NedResource::m_error_message = "CHANNEL number expected"; } else { staff_contexts[i].m_midi_channel = channel; } } staff_contexts[i].m_different_voices = false; if (m_file_version > 23) { if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "DIFFERENT")) { NedResource::m_error_message = "DIFFERENT expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (2)expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "On/Off expected"; } if (!strcmp(buffer, "On")) { staff_contexts[i].m_different_voices = true; } else if (!strcmp(buffer, "Off")) { staff_contexts[i].m_different_voices = false; } else { NedResource::m_error_message = "On/Off(2) expected"; } } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "VOL")) { NedResource::m_error_message = "VOL expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (2)expected"; } } if (m_file_version > 23) { for (j = 0; j < VOICE_COUNT; j++) { if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &vol) || vol < 0 || channel > 127) { NedResource::m_error_message = "volume valueexpected"; } else { staff_contexts[i].voices[j].m_midi_volume = vol; } } } } else { if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &vol) || vol < 0 || channel > 127) { NedResource::m_error_message = "volume valueexpected"; } else { for (j = 0; j < VOICE_COUNT; j++) { staff_contexts[i].voices[j].m_midi_volume = vol; } } } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "MIDIPGM")) { NedResource::m_error_message = "MIDIPGM expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (2)expected"; } } if (m_file_version > 23) { if (NedResource::m_error_message == NULL) { for (j = 0; j < VOICE_COUNT; j++) { if (!NedResource::readInt(fp, &midi_pgm) || midi_pgm < 0 || midi_pgm >= NedResource::getNumInstruments()) { NedResource::m_error_message = "PROGRAM number expected"; } else { staff_contexts[i].voices[j].m_midi_program = midi_pgm; } } } } else { if (!NedResource::readInt(fp, &midi_pgm) || midi_pgm < 0 || midi_pgm >= NedResource::getNumInstruments()) { NedResource::m_error_message = "PROGRAM number expected"; } else { for (j = 0; j < VOICE_COUNT; j++) { staff_contexts[i].voices[j].m_midi_program = midi_pgm; } } } if (m_file_version > 1) { if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "PAN")) { NedResource::m_error_message = "PAN expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (3)expected"; } } if (m_file_version > 23) { for (j = 0; j < VOICE_COUNT; j++) { if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, (int *) &pan)) { NedResource::m_error_message = "pan value expected"; } else { staff_contexts[i].voices[j].m_midi_pan = pan; } } } } else { if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, (int *) &pan)) { NedResource::m_error_message = "pan value expected"; } else { for (j = 0; j < VOICE_COUNT; j++) { staff_contexts[i].voices[j].m_midi_pan = pan; } } } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "CHORUS")) { NedResource::m_error_message = "CHORUS expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (4)expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, (int *) &chorus)) { NedResource::m_error_message = "chorus value expected"; } else { staff_contexts[i].m_midi_chorus = chorus; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "REVERB")) { NedResource::m_error_message = "REVERB expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (5)expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, (int *) &reverb)) { NedResource::m_error_message = "reverb value expected"; } else { staff_contexts[i].m_midi_reverb = reverb; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "FLAGS")) { NedResource::m_error_message = "FLAGS expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (6)expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readHex(fp, (int *) &flags)) { NedResource::m_error_message = "flags value expected"; } else { staff_contexts[i].m_flags = flags; } } if (m_file_version > 7 ) { if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "PLAY_TRANSPOSED")) { NedResource::m_error_message = "PLAY_TRANSPOSED expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": (7)expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &play_transposed) || play_transposed < -24 || play_transposed > 24) { NedResource::m_error_message = "play transposed value expected"; } else { staff_contexts[i].m_play_transposed = play_transposed; } } } } } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "MUSIC or SPEC_MEASURES expected"; } if (NedResource::m_error_message == NULL) { if (!strcmp(buffer, "SPEC_MEASURES")) { readSpecMeasures(fp, &new_spec_measures); } else if (strcmp(buffer, "MUSIC")) { NedResource::m_error_message = "MUSIC expected"; } } } i = 0; while (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer)) { if (feof(fp)) { break; } } if (strcmp(buffer, "PAGE")) { NedResource::m_error_message = "PAGE expected"; } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &pagenum) || pagenum != i) { NedResource::m_error_message = "Pagenum expected expected"; } i++; double w = m_portrait ? m_current_paper->width : m_current_paper->height; double h = m_portrait ? m_current_paper->height : m_current_paper->width; w /= PS_ZOOM * (double) m_current_scale / (double) SCALE_GRANULARITY; h /= PS_ZOOM * (double) m_current_scale / (double) SCALE_GRANULARITY; page = new NedPage(this, w, h, pagenum, 0 /* dummy is reset during "renumberMeasures()" at the end of "reposit()" */, FALSE); newpages = g_list_append(newpages, page); page->restorePage(fp); } } if (NedResource::m_error_message == NULL) { NedResource::DbgMsg(DBG_TESTING, "%s successfully loaded\n", filename); m_numerator = num; m_denominator = denom; m_timesig_symbol = tsig_sym; m_staff_count = m_pre_staffcount; for (i = 0; i < m_staff_count; i++) { if (m_staff_contexts[i].m_staff_name != NULL) { delete m_staff_contexts[i].m_staff_name; } if (m_staff_contexts[i].m_staff_short_name != NULL) { delete m_staff_contexts[i].m_staff_short_name; } if (m_staff_contexts[i].m_group_name != NULL) { delete m_staff_contexts[i].m_group_name; } if (m_staff_contexts[i].m_group_short_name != NULL) { delete m_staff_contexts[i].m_group_short_name; } m_staff_contexts[i] = staff_contexts[i]; } for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { delete ((NedPage *) lptr->data); } g_list_free(m_pages); m_pages = newpages; for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { free(lptr->data); } g_list_free(m_special_measures); m_special_measures = new_spec_measures; m_command_history->reset(); m_selected_note = NULL; m_upbeat_inverse = upbeat_inverse; m_selected_chord_or_rest = NULL; m_selected_tie_forward = NULL; m_selected_spec_measure = NULL; resetLyricsMode(); m_midi_tempo_inverse = tempo_inverse; m_config_changed = FALSE; resetButtons(); m_selection_rect.width = 0; if (m_selected_group != NULL) { g_list_free(m_selected_group); m_selected_group = NULL; } m_selection_rect.width = m_selection_rect.height = 0; delete m_score_info; m_score_info = newscoreinfo; computeSystemIndent(); computeScoreTextExtends(); m_topy = m_leftx = 0; setAndUpdateClefTypeAndKeySig(); reposit(); updatePageCounter(); zoomFreeReplaceables(m_current_zoom, getCurrentScale()); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_page_selector), 1); strcpy(m_current_filename, filename); strcpy(the_filename, filename); if ((cptr = strrchr(the_filename, '/')) != NULL) { cptr++; } else { cptr = the_filename; } sprintf(show_file_name, "Nted - %s", cptr); gtk_window_set_title (GTK_WINDOW (m_main_window), show_file_name); NedResource::addToRecentFiles(filename); updateRecentFiles(); setAllUnpositioned(); NedCommandList *cm = new NedCommandList(this); reposit(cm, NULL, NULL, true); deleteEmptyPagesAtEnd(); setAllUnpositioned(); updatePageCounter(); repaint(); } else { delete newscoreinfo; NedResource::DbgMsg(DBG_CRITICAL, "Error loading %s: line %d: %s\n", filename, NedResource::m_input_line, NedResource::m_error_message); } NedResource::m_avoid_immadiate_play = FALSE; } void NedMainWindow::import_musicxml(GtkWidget *widget, void *data) { DIR *the_directory; char *filename = NULL, *folder = NULL; GtkWidget *import_dialog; GtkWidget *unsaved_dialog; bool stop_opening = FALSE, do_save = FALSE; bool ok=false; if (NedResource::isPlaying()) return; NedMusicXMLImport musicxmlimport; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_config_changed || main_window->m_command_history->unsavedOperations()) { unsaved_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO, _("Save Changes ?")); gtk_dialog_add_buttons(GTK_DIALOG (unsaved_dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); switch (gtk_dialog_run (GTK_DIALOG (unsaved_dialog))) { case GTK_RESPONSE_YES: do_save = TRUE; break; case GTK_RESPONSE_REJECT: stop_opening = TRUE; break; } gtk_widget_destroy (unsaved_dialog); if (stop_opening) { return; } if (do_save) { main_window->save_score(main_window->m_main_window, (void *) main_window); } } import_dialog = gtk_file_chooser_dialog_new (_("Import MusicXML"), GTK_WINDOW(main_window->m_main_window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, ".xml (XML-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.xml"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(import_dialog), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(import_dialog), file_filter2); if (NedResource::m_last_xml_dir != NULL) { if ((the_directory = opendir(NedResource::m_last_xml_dir)) != NULL) { // avoid gtk error message gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(import_dialog), NedResource::m_last_xml_dir); closedir(the_directory); } } if (gtk_dialog_run (GTK_DIALOG (import_dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (import_dialog)); folder = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER (import_dialog)); ok = TRUE; } gtk_widget_destroy (import_dialog); if (!ok) return; if (filename == NULL) return; if (strlen(filename) < 1) return; if (NedResource::m_last_xml_dir != NULL) { free(NedResource::m_last_xml_dir); NedResource::m_last_xml_dir = NULL; } if (folder != NULL) { if (strlen(folder) > 0) { NedResource::m_last_xml_dir = strdup(folder); } } main_window->import_from_other(&musicxmlimport, filename, true); } void NedMainWindow::import_midi(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; main_window->do_import_midi(false); } void NedMainWindow::import_midi2(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; main_window->do_import_midi(true); } void NedMainWindow::do_import_midi(bool use_id_ed) { bool state, with_triplets; GtkWidget *unsaved_dialog; bool stop_opening = FALSE, do_save = FALSE; bool force_piano, sort_instruments, dont_split; int tempo_change_density, volume_change_density; char *filename = NULL; if (m_config_changed || m_command_history->unsavedOperations()) { unsaved_dialog = gtk_message_dialog_new (GTK_WINDOW(m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO, _("Save Changes ?")); gtk_dialog_add_buttons(GTK_DIALOG (unsaved_dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); switch (gtk_dialog_run (GTK_DIALOG (unsaved_dialog))) { case GTK_RESPONSE_YES: do_save = TRUE; break; case GTK_RESPONSE_REJECT: stop_opening = TRUE; break; } gtk_widget_destroy (unsaved_dialog); if (stop_opening) { return; } if (do_save) { save_score(m_main_window, (void *) this); } } NedMidiImportDialog *dialog = new NedMidiImportDialog (GTK_WINDOW(m_main_window), &NedResource::m_last_midi_dir, &filename); dialog->getValues(&state, &with_triplets, &tempo_change_density, &volume_change_density, &force_piano, &sort_instruments, &dont_split); delete dialog; if (!state) return; if (filename == NULL) return; if (strlen(filename) < 1) return; NedMidiImporter *midiimport = new NedMidiImporter(with_triplets, tempo_change_density, volume_change_density, force_piano, sort_instruments, dont_split, use_id_ed); FILE *fp; if ((fp = fopen(filename, "r")) == NULL) { fprintf(stderr, "Cannot open %s\n", filename); return; } midiimport->setImportParameters(this, fp); if (use_id_ed) { if (!midiimport->import()) { if (midiimport->getErrorString()) { NedResource::Info(midiimport->getErrorString()); } } } else { import_from_other(midiimport, filename, true); } fclose(fp); if (!use_id_ed) { delete midiimport; } } void NedMainWindow::deleteEmptyPagesAtEnd() { GList *lptr; bool deleted; if (g_list_length(m_pages) < 2) return; do { deleted = false; lptr = g_list_last(m_pages); if (((NedPage *) lptr->data)->hasOnlyRests()) { deleted = true; m_pages = g_list_delete_link(m_pages, lptr); } } while (deleted && g_list_length(m_pages) > 0); } void NedMainWindow::deletePagesWithoutSystem() { GList *lptr; bool deleted; do { deleted = false; lptr = g_list_last(m_pages); if (((NedPage *) lptr->data)->getSystemCount() < 1) { deleted = true; m_pages = g_list_delete_link(m_pages, lptr); } if (g_list_length(m_pages) < 1) { NedResource::Abort("NedMainWindow::deletePagesWithoutSystem"); } } while (deleted); } bool NedMainWindow::import_from_other(NedImporter *im, char *filename, bool execute_import) { FILE *fp = NULL; GtkWidget *error_dialog; #ifdef ASSIGN1 char pathfoldername[4096], *cptr; #endif int i; GList *lptr; GList *old_spec_measures; GList *old_pages; bool old_portrait; double old_tempo_inverse; double old_spacement_fac; bool old_config_changed; int old_numerator; int old_denominator; unsigned int old_timesig_symbol; int old_staff_count; int old_scale; struct paper_info_struct *old_paper_type; unsigned int old_upbeat_inverse; staff_context_str old_staff_contexts[MAX_STAFFS]; double old_first_page_yoffs; ScoreInfo *old_score_info; bool state, portrait; const char *paper; bool ok = true; for (i = 0; i < MAX_STAFFS; i++) { old_staff_contexts[i].m_staff_name = NULL; old_staff_contexts[i].m_staff_short_name = NULL; old_staff_contexts[i].m_group_name = NULL; old_staff_contexts[i].m_group_short_name = NULL; } if (filename != NULL) { if ((fp = fopen(filename, "r")) == NULL) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for reading"), filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); ok = FALSE; } } if (ok) { im->setImportParameters(this, fp); old_spec_measures = m_special_measures; m_special_measures = NULL; old_pages = m_pages; old_portrait = m_portrait; old_paper_type = m_current_paper; old_tempo_inverse = m_midi_tempo_inverse; old_numerator = m_numerator; old_scale = m_current_scale; old_denominator = m_denominator; old_timesig_symbol = m_timesig_symbol; old_staff_count = m_staff_count; old_upbeat_inverse = m_upbeat_inverse; old_spacement_fac = m_global_spacement_fac; old_config_changed = m_config_changed; for (i = 0; i < old_staff_count; i++) { old_staff_contexts[i] = m_staff_contexts[i]; } old_first_page_yoffs = m_first_page_yoffs; old_score_info = m_score_info; m_staff_count = 1; m_current_scale = SCALE_GRANULARITY; m_selected_note = NULL; m_selected_chord_or_rest = NULL; m_selected_tie_forward = NULL; m_selected_spec_measure = NULL; m_config_changed = TRUE; m_selection_rect.width = 0; resetLyricsMode(); m_midi_tempo_inverse = START_TEMPO_INVERSE; if (m_selected_group != NULL) { g_list_free(m_selected_group); m_selected_group = NULL; } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_v1bu), TRUE); gtk_toggle_action_set_active(m_show_hidden_action, FALSE); m_score_info = new ScoreInfo(); computeScoreTextExtends(); resetButtons(); ok = true; if (execute_import) { ok = im->import(); } ok = ok && im->convertToScore(); if (ok) { NedPaperConfigDialog *dialog = new NedPaperConfigDialog (GTK_WINDOW(m_main_window), m_current_paper->name, m_portrait, true); dialog->getValues(&state, &paper, &portrait); delete dialog; ok = state; } if (ok) { struct paper_info_struct *paper_type = NedResource::getPaperInfo(paper); m_current_paper = paper_type; m_portrait = portrait; if (do_import_from_other(im)) { #ifdef ASSIGN1 if (filename != NULL) { if ((cptr = strrchr(filename, '/')) != NULL) { strncpy(pathfoldername, filename, cptr - filename); pathfoldername[cptr - filename] = '\0'; *last_dir = strdup(pathfoldername); } else { *last_dir = strdup(folder); } } #endif #define FREE1 #ifdef FREE1 if (filename != NULL) { g_free(filename); } for (lptr = g_list_first(old_pages); lptr; lptr = g_list_next(lptr)) { delete ((NedPage *) lptr->data); } g_list_free(old_pages); if (old_spec_measures != NULL) { for (lptr = g_list_first(old_spec_measures); lptr; lptr = g_list_next(lptr)) { delete ((SpecialMeasure *) lptr->data); } g_list_free(old_spec_measures); } delete old_score_info; #endif m_upbeat_inverse = im->m_upbeat_inverse; m_global_spacement_fac = 1.0; m_midi_tempo_inverse = im->m_tempo_inverse; m_command_history->reset(); m_current_filename[0] = '\0'; gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_page_selector), 1); m_topy = m_leftx = 0; gtk_window_set_title (GTK_WINDOW (m_main_window), "Nted"); for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->handleStaffElements(); } computeSystemIndent(); setAndUpdateClefTypeAndKeySig(); updatePageCounter(); zoomFreeReplaceables(m_current_zoom, getCurrentScale()); NedCommandList *command_list = new NedCommandList(this); renumberMeasures(NULL, 1, true); /* removeAllBeams(); */ reposit(command_list, NULL, NULL, true); for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->testTies(); } for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->cutEmptyVoices(); } for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->handleEmptyMeasures(); } for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->removeUnneededAccidentals(); } setAllUnpositioned(); removeEmptyInteriourPages(); reposit(command_list, NULL, NULL, true); deleteEmptyPagesAtEnd(); renumberMeasures(NULL, 1, true); updatePageCounter(); //delete command_list; } else { #define FREE2 #ifdef FREE2 for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { delete ((NedPage *) lptr->data); } g_list_free(m_pages); m_pages = NULL; if (m_special_measures != NULL) { for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { free(lptr->data); } g_list_free(m_special_measures); } delete m_score_info; #endif m_special_measures = old_spec_measures; m_pages = old_pages; m_upbeat_inverse = old_upbeat_inverse; m_global_spacement_fac = old_spacement_fac; m_portrait = old_portrait; m_current_paper = old_paper_type; m_midi_tempo_inverse = old_tempo_inverse; m_numerator = old_numerator; m_current_scale = old_scale; m_denominator = old_denominator; m_timesig_symbol = old_timesig_symbol; m_staff_count = old_staff_count; m_config_changed = old_config_changed; for (i = 0; i < old_staff_count; i++) { m_staff_contexts[i] = old_staff_contexts[i]; } m_first_page_yoffs = old_first_page_yoffs; m_score_info = old_score_info; computeSystemIndent(); } repaint(); } else { if (im->getErrorString()) { NedResource::Info(im->getErrorString()); } } if (filename != NULL) { fclose(fp); } } return ok; } bool NedMainWindow::do_import_from_other(NedImporter *im) { int i, j; bool first = true; bool first_measure = true; bool overflow; NedPage *current_page; NedSystem *current_system; int page_nr = 0; unsigned int measure_duration; int num, denom; unsigned int meas_num = 1; if (im->m_partcount < 1) return false; double w = m_portrait ? m_current_paper->width : m_current_paper->height; double h = m_portrait ? m_current_paper->height : m_current_paper->width; w /= PS_ZOOM * (double) m_current_scale / (double) SCALE_GRANULARITY; h /= PS_ZOOM * (double) m_current_scale / (double) SCALE_GRANULARITY; m_staff_count = im->m_partcount; m_numerator = im->m_parts[0].numerator; m_denominator = im->m_parts[0].denominator; m_timesig_symbol = TIME_SYMBOL_NONE; for (i = 0; i < m_staff_count; i++) { if (m_staff_contexts[i].m_staff_name != NULL) { delete m_staff_contexts[i].m_staff_name; m_staff_contexts[i].m_staff_name = NULL; } if (im->m_parts[i].name != NULL && strlen(im->m_parts[i].name) > 0) { m_staff_contexts[i].m_staff_name = new NedPangoCairoText(m_drawing_area->window, im->m_parts[i].name, STAFF_NAME_FONT, STAFF_NAME_FONT_SLANT, STAFF_NAME_FONT_WEIGHT, STAFF_NAME_FONT_SIZE, m_current_zoom, getCurrentScale(), false); } if (m_staff_contexts[i].m_staff_short_name != NULL) { delete m_staff_contexts[i].m_staff_short_name; } m_staff_contexts[i].m_staff_short_name = NULL; if (m_staff_contexts[i].m_group_name != NULL) { delete m_staff_contexts[i].m_group_name; } m_staff_contexts[i].m_group_name = NULL; if (m_staff_contexts[i].m_group_short_name != NULL) { delete m_staff_contexts[i].m_group_short_name; } m_staff_contexts[i].m_group_short_name = NULL; m_staff_contexts[i].m_key_signature_number = im->m_parts[i].key_signature; m_staff_contexts[i].m_clef_number = im->m_parts[i].clef; m_staff_contexts[i].m_clef_octave_shift = im->m_parts[i].clef_octave; m_staff_contexts[i].m_different_voices = false; for (j = 0; j < VOICE_COUNT; j++) { m_staff_contexts[i].voices[j].m_midi_volume = im->m_parts[i].volume; m_staff_contexts[i].voices[j].m_midi_pan = 64; m_staff_contexts[i].voices[j].m_midi_program = im->m_parts[i].midi_pgm; m_staff_contexts[i].m_muted[j] = false; } m_staff_contexts[i].m_midi_chorus = 0; m_staff_contexts[i].m_play_transposed = 0; m_staff_contexts[i].m_midi_reverb = 0; m_staff_contexts[i].m_midi_channel = im->m_parts[i].midi_channel; m_staff_contexts[i].m_flags = 0; } // current_page = (NedPage *) g_list_first(m_pages)->data; m_pages = NULL; current_page = new NedPage(this, w, h, page_nr++, 0, false); m_pages = g_list_append(m_pages, current_page); current_system = current_page->appendSystem(); /* NedCommandList *command_list = new NedCommandList(this); for (i = 1; i < m_staff_count; i++) { for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->appendStaff(command_list, i); } } command_list->execute(); */ current_system->empty(); current_system->prepareForImport(); computeSystemIndent(); num = getNumerator(meas_num); denom = getDenominator(meas_num); while(!im->is_eof() && !(overflow = current_system->testLineOverflow())) { if (first_measure) { first_measure = false; measure_duration = num * WHOLE_NOTE / denom - m_upbeat_inverse; } else { measure_duration = num * WHOLE_NOTE / denom; } current_system->appendElementsOfMeasureLength(im->m_parts, measure_duration, meas_num); meas_num++; num = getNumerator(meas_num); denom = getDenominator(meas_num); } if (overflow) { im->resetTaken(); current_system->removeLastImported(); meas_num--; num = getNumerator(meas_num); denom = getDenominator(meas_num); } if (!current_system->handleImportedTuplets()) { NedResource::Info("Problems setting Tuplets"); return false;; } if (!im->is_eof()) { if (current_page->isPageOverflow()) { current_page->removeSystem(current_system); current_page = new NedPage(this, w, h, page_nr++, 0, false); m_pages = g_list_append(m_pages, current_page); current_page->insertSystem(current_system); } current_system = current_page->appendSystem(); first = false; } while (!im->is_eof()) { current_system->empty(); current_system->prepareForImport(); overflow = false; while(!im->is_eof() && !overflow) { measure_duration = num * WHOLE_NOTE / denom; current_system->appendElementsOfMeasureLength(im->m_parts, num * WHOLE_NOTE / denom, meas_num); meas_num++; num = getNumerator(meas_num); denom = getDenominator(meas_num); overflow = current_system->testLineOverflow(); } if (overflow) { im->resetTaken(); current_system->removeLastImported(); NedResource::DbgMsg(DBG_TESTING, "Stelle 3: meas_num = %d\n", meas_num); meas_num--; NedResource::DbgMsg(DBG_TESTING, "Stelle 4: meas_num = %d\n", meas_num); num = getNumerator(meas_num); denom = getDenominator(meas_num); } if (!current_system->handleImportedTuplets()) { NedResource::Info("Problems setting Tuplets"); return false; } if (current_page->isPageOverflow()) { current_page->removeSystem(current_system); current_page = new NedPage(this, w, h, page_nr++, 0, false); m_pages = g_list_append(m_pages, current_page); current_page->insertSystem(current_system); } if (!im->is_eof()) { current_system = current_page->appendSystem(); } } current_system->fill_up(NULL); return true; } void NedMainWindow::readSpecMeasures(FILE *fp, GList **new_spec_measures) { int measnum, type; int tsig_sym = TIME_SYMBOL_NONE; bool hide_following; int num, denom; char buffer[1024], buffer2[1024]; SpecialMeasure *spec; if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "(")) { NedResource::m_error_message = "( expected"; return; } while (1) { hide_following = false; if (!NedResource::readInt(fp, &measnum) || measnum < 0 || measnum > 100000) { NedResource::m_error_message = "measure number expected"; return; } if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "REPEAT_OPEN, REPEAT_CLOSE, REPEAT_OPEN_CLOSE, END_BAR, DOUBLE_BAR or REPEAT_NONE expected"; return; } if (!strcmp(buffer, "REPEAT_OPEN")) { type = REPEAT_OPEN; } else if (!strcmp(buffer, "REPEAT_CLOSE")) { type = REPEAT_CLOSE; if (m_file_version > 15) { if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "HIDE_FOLLOWING or SHOW_FOLLOWING expected"; return; } if (!strcmp(buffer, "HIDE_FOLLOWING")) { hide_following = true; } else if (!strcmp(buffer, "SHOW_FOLLOWING")) { hide_following = false; } else { NedResource::m_error_message = "HIDE_FOLLOWING or SHOW_FOLLOWING expected"; return; } } } else if (!strcmp(buffer, "REPEAT_OPEN_CLOSE")) { type = REPEAT_OPEN_CLOSE; } else if (!strcmp(buffer, "END_BAR")) { type = END_BAR; if (m_file_version > 12) { if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "HIDE_FOLLOWING or SHOW_FOLLOWING expected"; return; } if (!strcmp(buffer, "HIDE_FOLLOWING")) { hide_following = true; } else if (!strcmp(buffer, "SHOW_FOLLOWING")) { hide_following = false; } else { NedResource::m_error_message = "HIDE_FOLLOWING or SHOW_FOLLOWING expected"; return; } } } else if (!strcmp(buffer, "DOUBLE_BAR")) { type = DOUBLE_BAR; } else if (!strcmp(buffer, "REPEAT_NONE")) { type = 0; } else { NedResource::m_error_message = "REPEAT_NONE, REPEAT_OPEN, REPEAT_CLOSE, REPEAT_OPEN_CLOSE, END_BAR, DOUBLE_BAR, REPEAT_NONE or TIMESIG expected"; return; } do { if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = ") or , expected"; return; } if (!strcmp(buffer, ",")) { if (!NedResource::readWordWithNum(fp, buffer)) { NedResource::m_error_message = "REP1START, REP1END, REP2START or REP2END expected(1)"; return; } if (!strcmp(buffer, "REP1START")) { type |= REP1START; } else if (!strcmp(buffer, "REP2START")) { type |= REP2START; } else if (!strcmp(buffer, "REP1END")) { type |= REP1END; } else if (!strcmp(buffer, "REP2END")) { type |= REP2END; } else if (!strcmp(buffer, "TIMSIG")) { type |= TIMESIG; if (!NedResource::readWord(fp, buffer2) || strcmp(buffer2, "(")) { NedResource::m_error_message = "( expected"; return; } if (!NedResource::readInt(fp, &num) || num < 1 || num > 20) { NedResource::m_error_message = "numerator expected"; return; } if (!NedResource::readWord(fp, buffer2) || strcmp(buffer2, ",")) { NedResource::m_error_message = ", expected"; return; } if (!NedResource::readInt(fp, &denom) || (denom != 2 && denom != 4 && denom != 8 && denom != 16)) { NedResource::m_error_message = "denominator expected"; return; } if (m_file_version > 16) { if (!NedResource::readWord(fp, buffer2) || strcmp(buffer2, ",")) { NedResource::m_error_message = ", expected"; return; } if (!NedResource::readInt(fp, &tsig_sym) || (tsig_sym < TIME_SYMBOL_NONE || tsig_sym > TIME_SYMBOL_CUT_TIME)) { NedResource::m_error_message = "timesig symbol value expected"; return; } } if (!NedResource::readWord(fp, buffer2) || strcmp(buffer2, ")")) { NedResource::m_error_message = ") expected"; return; } } else { NedResource::DbgMsg(DBG_CRITICAL, "buffer = %s\n", buffer); NedResource::m_error_message = "REP1START, REP1END, REP2START or REP2END expected"; return; } } } while (strcmp(buffer, ")")); spec = new SpecialMeasure(); spec->measure_number = measnum; spec->hide_following = hide_following; spec->type = type; if ((type & TIMESIG) != 0) { spec->setTimeSignature(num, denom, tsig_sym); } *new_spec_measures = g_list_insert_sorted(*new_spec_measures, spec, compare_spec_measures_according_measnum); if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "( or MUSIC expected"; return; } if (!strcmp(buffer, "MUSIC")) { //NedResource::unreadWord(buffer); return; } if (strcmp(buffer, "(")) { NedResource::m_error_message = "( or MUSIC expected"; return; } } } void NedMainWindow::testAlternativeState(NedCommandList *command_list, NedMeasure *measure, bool alter1, bool alter2) { GList *lptr; NedChangeMeasureTypeCommand *change_measure_command; if ((measure->getSpecial() & REP_TYPE_MASK) != REPEAT_CLOSE) return; if (!alter1 && ((measure->getSpecial() & END_TYPE_MASK) == REP1END)) { if ((lptr = g_list_find(m_special_measures, measure->m_special_descr /* friend!! */)) == NULL) { NedResource::Abort("NedMainWindow::testAlternativeState(1)"); } for (lptr = g_list_previous(lptr); lptr; lptr = g_list_previous(lptr)) { if (((((SpecialMeasure *) lptr->data)->type & START_TYPE_MASK)) == REP1START) { change_measure_command = new NedChangeMeasureTypeCommand(this, ((SpecialMeasure *) lptr->data)->measure_number, (((SpecialMeasure *) lptr->data)->type) & (~(REP1START)), false); command_list->addCommand(change_measure_command); change_measure_command->execute(); break; } } } if (!alter2 && ((measure->getSpecial() & START_TYPE_MASK) == REP2START)) { if ((lptr = g_list_find(m_special_measures, measure->m_special_descr /* friend!! */)) == NULL) { NedResource::Abort("NedMainWindow::testAlternativeState(2)"); } for (lptr = g_list_next(lptr); lptr; lptr = g_list_next(lptr)) { if (((((SpecialMeasure *) lptr->data)->type & END_TYPE_MASK)) == REP2END) { change_measure_command = new NedChangeMeasureTypeCommand(this, ((SpecialMeasure *) lptr->data)->measure_number, (((SpecialMeasure *) lptr->data)->type) & (~(REP2END)), false); command_list->addCommand(change_measure_command); change_measure_command->execute(); break; } } } } bool NedMainWindow::conflictWithOhterSpecMeasure(int measnum, int dir) { GList *lptr; int measnum2; measnum2 = measnum + dir; if (measnum2 < 2) return true; if (dir > 0) { for (lptr = g_list_first(m_special_measures); lptr ; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number > measnum2) return false; if (((SpecialMeasure *) lptr->data)->measure_number <= measnum) continue; if ((((SpecialMeasure *) lptr->data)->type & (REP_TYPE_MASK | START_TYPE_MASK | END_TYPE_MASK)) == 0) continue; if ((((SpecialMeasure *) lptr->data)->type & REP_TYPE_MASK) == DOUBLE_BAR) continue; if ((((SpecialMeasure *) lptr->data)->type & REP_TYPE_MASK) == END_BAR) continue; return true; } } else { for (lptr = g_list_last(m_special_measures); lptr ; lptr = g_list_previous(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number < measnum2) return false; if (((SpecialMeasure *) lptr->data)->measure_number >= measnum) continue; if ((((SpecialMeasure *) lptr->data)->type & (REP_TYPE_MASK | START_TYPE_MASK | END_TYPE_MASK)) == 0) continue; if ((((SpecialMeasure *) lptr->data)->type & REP_TYPE_MASK) == DOUBLE_BAR) continue; if ((((SpecialMeasure *) lptr->data)->type & REP_TYPE_MASK) == END_BAR) continue; return true; } } return false; } void NedMainWindow::moveSpecMeasure(SpecialMeasure *spec, int dir) { GList *lptr; NedMoveSpecMeasureCommand *spec_meas_cmd; NedCommandList *command_list; if ((spec->type & START_TYPE_MASK) == REP1START) { if (conflictWithOhterSpecMeasure(spec->measure_number, dir)) { return; } command_list = new NedCommandList(this); spec_meas_cmd = new NedMoveSpecMeasureCommand(this, spec->measure_number, dir); spec_meas_cmd->execute(); command_list->addCommand(spec_meas_cmd); command_list->setRenumber(NULL, 0, true); m_command_history->addCommandList(command_list); renumberMeasures(NULL, 1, true); repaint(); } else if ((spec->type & START_TYPE_MASK) == REP2START) { if ((lptr = g_list_find(m_special_measures, spec)) == NULL) { NedResource::Abort("NedMainWindow::move_spec_measure_to_left"); } for (lptr = g_list_next(lptr); lptr; lptr = g_list_next(lptr)) { spec = (SpecialMeasure *) lptr->data; if ((spec->type & START_TYPE_MASK) != 0) break; if ((spec->type & END_TYPE_MASK) == REP2END) break; } if (lptr == NULL) return; if ((spec->type & END_TYPE_MASK) == REP2END) { if (conflictWithOhterSpecMeasure(spec->measure_number, dir)) { return; } command_list = new NedCommandList(this); spec_meas_cmd = new NedMoveSpecMeasureCommand(this, spec->measure_number, dir); spec_meas_cmd->execute(); command_list->addCommand(spec_meas_cmd); command_list->setRenumber(NULL, 0, true); m_command_history->addCommandList(command_list); renumberMeasures(NULL, 1, true); repaint(); } } } void NedMainWindow::open_recent(GtkAction *action, gpointer data) { int idx; FILE *fp; NedMainWindow *main_window = (NedMainWindow *) data; char pathfoldername[4096], *cptr; GtkWidget *error_dialog; bool ok = TRUE; GtkWidget *unsaved_dialog; bool stop_opening = FALSE, do_save = FALSE; if (NedResource::isPlaying()) return; if (main_window->m_config_changed || main_window->m_command_history->unsavedOperations()) { unsaved_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO, _("Save Changes ?")); gtk_dialog_add_buttons(GTK_DIALOG (unsaved_dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); switch (gtk_dialog_run (GTK_DIALOG (unsaved_dialog))) { case GTK_RESPONSE_YES: do_save = TRUE; break; case GTK_RESPONSE_REJECT: stop_opening = TRUE; break; } gtk_widget_destroy (unsaved_dialog); if (stop_opening) { return; } if (do_save) { main_window->save_score(main_window->m_main_window, main_window); } } if (sscanf(gtk_action_get_name(action), "open_recent_action_%d", &idx) != 1) { NedResource::Warning("NedMainWindow::open_recent: cannot get index"); return; } if (NedResource::m_recent_files[idx] == NULL) { NedResource::Warning("NedMainWindow::open_recent: NedResource::m_recent_files[idx] == NULL"); return; } if ((fp = fopen(NedResource::m_recent_files[idx], "r")) == NULL) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for reading"), NedResource::m_recent_files[idx]); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); ok = FALSE; } if (ok) { main_window->do_restore(fp, NedResource::m_recent_files[idx]); if ((cptr = strrchr(NedResource::m_recent_files[idx], '/')) != NULL) { strncpy(pathfoldername, NedResource::m_recent_files[idx], cptr - NedResource::m_recent_files[idx]); pathfoldername[cptr - NedResource::m_recent_files[idx]] = '\0'; NedResource::m_last_folder = strdup(pathfoldername); } fclose(fp); } } void NedMainWindow::updateRecentFiles() { int i; GError *error = NULL; static const char *uiadd_start = "" " " " " " "; static const char *uiadd_end = "" " " " " ""; char Str[4096], str[4096], ac_name[128]; if (m_recentFileMergeId >= 0) { gtk_ui_manager_remove_ui(m_ui_manager, m_recentFileMergeId); m_recentFileMergeId = -1; } strcpy(Str, uiadd_start); for (i = 0; i < MAX_RECENT_FILES; i++) { if (NedResource::m_recent_files[i] != NULL) { sprintf(str, "", i); sprintf(ac_name, "open_recent_action_%d", i); gtk_action_group_remove_action(m_open_recent_action_group, m_recent_actions[i]); g_object_ref(m_recent_actions[i]); m_recent_actions[i] = gtk_action_new(ac_name, NedResource::m_recent_files[i], NULL, NULL); g_signal_connect (m_recent_actions[i], "activate", G_CALLBACK (open_recent), (void *) this); gtk_action_group_add_action(m_open_recent_action_group, m_recent_actions[i]); strcat(Str, str); } } strcat(Str, uiadd_end); m_recentFileMergeId = gtk_ui_manager_add_ui_from_string(m_ui_manager, Str, strlen(Str), &error); } void NedMainWindow::config_midi_out(GtkWidget *widget, void *data) { GList *midi_ports, *lptr; int idx; if (!NedResource::alsaSequencerOutOk()) { NedResource::Info(_("Cannot list midi ports because could not open ALSA sequencer")); return; } NedMainWindow *main_window = (NedMainWindow *) data; midi_ports = NedResource::listMidiOutDevices(&idx); NedPortChooseDialog *dialog = new NedPortChooseDialog(GTK_WINDOW(main_window->m_main_window), midi_ports, idx, NedResource::m_midi_echo, true); idx = dialog->getSelection(); if (idx < 0) { NedResource::DbgMsg(DBG_TESTING, "nothing selected\n"); } else { if ((lptr = g_list_nth(midi_ports, idx)) == NULL) { NedResource::Abort("NedMainWindow::do_configure"); } NedResource::subscribe_out(idx); NedResource::m_midi_echo = dialog->getMidiEcho(); } delete dialog; } void NedMainWindow::config_midi_in(GtkWidget *widget, void *data) { GList *midi_ports, *lptr; int idx; if (!NedResource::alsaSequencerInOk()) { NedResource::Info(_("Cannot list midi ports because could not open ALSA sequencer")); return; } NedMainWindow *main_window = (NedMainWindow *) data; midi_ports = NedResource::listMidiInDevices(&idx); NedPortChooseDialog *dialog = new NedPortChooseDialog(GTK_WINDOW(main_window->m_main_window), midi_ports, idx, false, false); idx = dialog->getSelection(); if (idx < 0) { NedResource::DbgMsg(DBG_TESTING, "nothing selected\n"); } else { if ((lptr = g_list_nth(midi_ports, idx)) == NULL) { NedResource::Abort("NedMainWindow::do_configure"); } gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(main_window->m_midi_input_action), FALSE); NedResource::subscribe_in(idx); } delete dialog; } void NedMainWindow::reconfig_paper(bool do_reposit, struct paper_info_struct *paper_type, bool portrait, int scale) { GList *lptr; m_current_scale = scale; m_current_paper = paper_type; m_portrait = portrait; double w = m_portrait ? m_current_paper->width : m_current_paper->height; double h = m_portrait ? m_current_paper->height : m_current_paper->width; w /= PS_ZOOM * (double) m_current_scale / (double) SCALE_GRANULARITY; h /= PS_ZOOM * (double) m_current_scale / (double) SCALE_GRANULARITY; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->reconfig_paper(w, h); } adjustAfterZoom(); computeScoreTextExtends(); /* NedCommandList *dummy = new NedCommandList(this); if (do_reposit) { reposit(dummy); } */ //delete dummy; repaint(); } void NedMainWindow::config_print_cmd(GtkWidget *widget, void *data) { bool state; const char *new_print_command; NedMainWindow *main_window = (NedMainWindow *) data; NedPrintConfigDialog *dialog = new NedPrintConfigDialog (GTK_WINDOW(main_window->m_main_window), NedResource::m_print_cmd); dialog->getValues(&state, &new_print_command); if (state) { NedResource::m_print_cmd = new_print_command; } /* else { free(new_print_command); } */ delete dialog; } void NedMainWindow::config_meas_num_font(GtkWidget *widget, void *data) { GtkWidget* fontdialog; gchar *fontname; fontdialog = gtk_font_selection_dialog_new(_("Font selection - Measure numbers")); gtk_dialog_run(GTK_DIALOG(fontdialog)); fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontdialog)); NedResource::DbgMsg(DBG_TESTING, "Font name = %s\n", fontname); gtk_widget_destroy (GTK_WIDGET(fontdialog)); } void NedMainWindow::config_paper(GtkWidget *widget, void *data) { bool state, portrait; const char *paper; int w, h; bool p; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; NedPaperConfigDialog *dialog = new NedPaperConfigDialog (GTK_WINDOW(main_window->m_main_window), main_window->m_current_paper->name, main_window->m_portrait, true); dialog->getValues(&state, &paper, &portrait); delete dialog; if (state) { struct paper_info_struct *paper_type = NedResource::getPaperInfo(paper); w = main_window->m_current_paper->width; h = main_window->m_current_paper->height; p = main_window->m_portrait; if (main_window->m_portrait != portrait || paper_type->width != w || paper_type->height != h) { //NedCommandList *dummy = new NedCommandList(main_window); NedCommandList *command_list = new NedCommandList(main_window); NedPaperConfigCommand *page_config_command = new NedPaperConfigCommand(main_window, main_window->m_current_paper, main_window->m_portrait, paper_type, portrait, main_window->m_current_scale, main_window->m_current_scale); page_config_command->execute(); command_list->addCommand(page_config_command); command_list->setFullReposit(); main_window->setAllUnpositioned(); main_window->reposit(command_list, NULL, NULL, true); main_window->repaint(); main_window->m_command_history->addCommandList(command_list); //delete dummy; // crashes shouldn't !!! } } } void NedMainWindow::change_scale(GtkWidget *widget, void *data) { bool state; int newscale; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; NedScaleDialog *dialog = new NedScaleDialog (GTK_WINDOW(main_window->m_main_window), main_window->m_current_scale); dialog->getValues(&state, &newscale); delete dialog; if (state && newscale != main_window->m_current_scale) { //NedCommandList *dummy = new NedCommandList(main_window); NedCommandList *command_list = new NedCommandList(main_window); NedPaperConfigCommand *page_config_command = new NedPaperConfigCommand(main_window, main_window->m_current_paper, main_window->m_portrait, main_window->m_current_paper, main_window->m_portrait, main_window->m_current_scale, newscale); page_config_command->execute(); command_list->addCommand(page_config_command); command_list->setFullReposit(); main_window->setAllUnpositioned(); main_window->reposit(command_list, NULL, NULL, true); main_window->repaint(); main_window->m_command_history->addCommandList(command_list); //delete dummy; // crashes shouldn't !!! } } void NedMainWindow::config_record(GtkWidget *widget, void *data) { bool state; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_selected_chord_or_rest != NULL) { NedStaff *staff = main_window->m_selected_chord_or_rest->getStaff(); main_window->m_record_midi_numerator = main_window->m_numerator; main_window->m_record_midi_denominator = main_window->m_denominator; main_window->m_record_midi_keysig = main_window->m_staff_contexts[staff->getStaffNumber()].m_key_signature_number; main_window->m_record_midi_pgm = main_window->m_staff_contexts[staff->getStaffNumber()].voices[0].m_midi_program; } NedMidiRecordConfigDialog *dialog = new NedMidiRecordConfigDialog (GTK_WINDOW(main_window->m_main_window), main_window->m_record_midi_numerator, main_window->m_record_midi_denominator, main_window->m_record_midi_pgm, main_window->m_record_midi_tempo_inverse, main_window->m_record_midi_metro_volume, main_window->m_record_midi_triplet_recognition, main_window->m_record_midi_f_piano, main_window->m_record_midi_dnt_split, main_window->m_record_midi_keysig); dialog->getValues(&state, &(main_window->m_record_midi_numerator), &(main_window->m_record_midi_denominator), &(main_window->m_record_midi_pgm), &(main_window->m_record_midi_tempo_inverse), &(main_window->m_record_midi_metro_volume), &(main_window->m_record_midi_triplet_recognition), &(main_window->m_record_midi_f_piano), &(main_window->m_record_midi_dnt_split), &(main_window->m_record_midi_keysig)); delete dialog; } void NedMainWindow::config_drums(GtkWidget *widget, void *data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; NedDrumConfigDialog NedDrumConfigDialog(GTK_WINDOW(main_window->m_main_window)); } void NedMainWindow::toggle_show_hidden(GtkAction *action, gpointer data) { if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; main_window->repaint(); } void NedMainWindow::toggle_midi_input(GtkAction *action, gpointer data) { if (NedResource::isPlaying()) return; if (gtk_toggle_action_get_active(GTK_TOGGLE_ACTION (action))) { NedMainWindow *main_window = (NedMainWindow *) data; gtk_toggle_action_set_active(main_window->m_midi_record_action, FALSE); NedResource::startMidiInput(); } else { NedResource::stopMidiInput(); } } int NedMainWindow::setChannelFromCursor() { GdkDisplay *display = NULL; NedStaff *staff; double dummy1; int dummy2; gint x=0, y=0; GList *lptr; bool found = false; GdkScreen *screen = NULL; gtk_widget_get_pointer(m_drawing_area, &x, &y); display = gdk_display_get_default(); screen = gdk_display_get_default_screen(display); for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->findLine(x, y, &dummy1, &dummy2, &dummy1, &staff)) { found = true; break; } } if (found) { return m_staff_contexts[staff->getStaffNumber()].m_midi_channel; } return 0; } void NedMainWindow::toggle_record_midi(GtkAction *action, gpointer data) { if (NedResource::isPlaying()) return; GList *lptr; bool ok; NedMainWindow *main_window = (NedMainWindow *) data; if (gtk_toggle_action_get_active(GTK_TOGGLE_ACTION (action))) { gtk_toggle_action_set_active(main_window->m_midi_input_action, FALSE); gtk_toggle_action_set_active(main_window->m_keyboard_insert_action, FALSE); gtk_toggle_action_set_active(main_window->m_insert_erease_mode_action, FALSE); if (main_window->m_selected_chord_or_rest != NULL) { NedStaff *staff = main_window->m_selected_chord_or_rest->getStaff(); main_window->m_record_midi_numerator = main_window->m_numerator; main_window->m_record_midi_denominator = main_window->m_denominator; main_window->m_record_midi_keysig = main_window->m_staff_contexts[staff->getStaffNumber()].m_key_signature_number; main_window->m_record_midi_pgm = main_window->m_staff_contexts[staff->getStaffNumber()].voices[0].m_midi_program; } main_window->m_midi_recorder = new NedMidiRecorder(main_window->m_record_midi_numerator, main_window->m_record_midi_denominator, main_window->m_record_midi_keysig, main_window->m_record_midi_pgm, main_window->m_record_midi_tempo_inverse, main_window->m_record_midi_metro_volume, main_window->m_record_midi_triplet_recognition, main_window->m_record_midi_f_piano, main_window->m_record_midi_dnt_split); main_window->m_midi_recorder->startMetronom(); } else { main_window->m_midi_recorder->stopMetronom(); NedMainWindow *ned_main_window = new NedMainWindow(); // the new window registers itself in NedResource::m_main_windows list #ifdef YELP_PATH ned_main_window->createLayout(NULL, NedResource::m_yelparg); #else ned_main_window->createLayout(NULL, NULL); #endif ok = ned_main_window->import_from_other(main_window->m_midi_recorder, NULL, true); delete main_window->m_midi_recorder; ned_main_window->m_midi_recorder = NULL; if (!ok) { if ((lptr = g_list_find(NedResource::m_main_windows, ned_main_window)) == NULL) { NedResource::Abort("NedMainWindow::toggle_record_midi(1)"); } if (g_list_length(NedResource::m_main_windows) < 1) { NedResource::Abort("NedMainWindow::toggle_record_midi(2)"); } NedResource::m_main_windows = g_list_delete_link(NedResource::m_main_windows, lptr); delete ned_main_window; } else { NedResource::m_recorded_staff = ((NedPage *) g_list_first(ned_main_window->m_pages)->data)->getFirstSystem()->getStaff(0); } } } void NedMainWindow::zoom_in(GtkWidget *widget, void *data) { double midx; double old_zoom; NedMainWindow *main_window = (NedMainWindow *) data; old_zoom = main_window->getCurrentZoomFactor(); main_window->m_current_zoom_level++; if (main_window->m_current_zoom_level >= ZOOMLEVELS) { main_window->m_current_zoom_level = ZOOMLEVELS - 1; } main_window->m_selection_rect.width = main_window->m_selection_rect.height = 0; main_window->m_current_zoom = NedResource::getZoomFactor(main_window->m_current_zoom_level); main_window->adjustAfterZoom(); main_window->repaint(); midx = main_window->m_leftx + main_window->m_drawing_area->allocation.width / 2; midx *= main_window->m_current_zoom / old_zoom; main_window->m_leftx = midx - main_window->m_drawing_area->allocation.width / 2; main_window->adjustView(); } void NedMainWindow::zoom_out(GtkWidget *widget, void *data) { double midx; double old_zoom; NedMainWindow *main_window = (NedMainWindow *) data; old_zoom = main_window->getCurrentZoomFactor(); main_window->m_current_zoom_level--; if (main_window->m_current_zoom_level < 0) { main_window->m_current_zoom_level = 0; } main_window->m_current_zoom = NedResource::getZoomFactor(main_window->m_current_zoom_level); main_window->adjustAfterZoom(); main_window->m_selection_rect.width = main_window->m_selection_rect.height = 0; if (main_window->m_selected_group != NULL) { g_list_free(main_window->m_selected_group); main_window->m_selected_group = NULL; } midx = main_window->m_leftx + main_window->m_drawing_area->allocation.width / 2; midx *= main_window->m_current_zoom / old_zoom; main_window->m_leftx = midx - main_window->m_drawing_area->allocation.width / 2; main_window->adjustView(); main_window->repaint(); } void NedMainWindow::adjustAfterZoom() { int i; for (i = 0; i < m_staff_count; i++) { if (m_staff_contexts[i].m_staff_name != NULL) { m_staff_contexts[i].m_staff_name->setZoom(m_current_zoom, getCurrentScale()); } if (m_staff_contexts[i].m_staff_short_name != NULL) { m_staff_contexts[i].m_staff_short_name->setZoom(m_current_zoom, getCurrentScale()); } if (m_staff_contexts[i].m_group_name != NULL) { m_staff_contexts[i].m_group_name->setZoom(m_current_zoom, getCurrentScale()); } if (m_staff_contexts[i].m_group_short_name != NULL) { m_staff_contexts[i].m_group_short_name->setZoom(m_current_zoom, getCurrentScale()); } } rezoomScoreInfo(); zoomFreeReplaceables(m_current_zoom, getCurrentScale()); computeSystemIndent(); computeScoreTextExtends(); //reposit(); } void NedMainWindow::rezoomScoreInfo() { if (m_score_info->title != NULL) { m_score_info->title->setZoom(m_current_zoom, 1.0); } if (m_score_info->subject != NULL) { m_score_info->subject->setZoom(m_current_zoom, 1.0); } if (m_score_info->composer != NULL) { m_score_info->composer->setZoom(m_current_zoom, 1.0); } if (m_score_info->arranger != NULL) { m_score_info->arranger->setZoom(m_current_zoom, 1.0); } if (m_score_info->copyright != NULL) { m_score_info->copyright->setZoom(m_current_zoom, 1.0); } } NedPage *NedMainWindow::getLastPage() { return (NedPage *) g_list_last(m_pages)->data; } void NedMainWindow::find_new_cursor_pos(guint keyval, int *x, int *y) { GList *lptr; bool found = false; if (m_last_staff_during_key_insertion == NULL) { for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->find_staff_and_line(*x, *y, &m_last_staff_during_key_insertion, &m_last_line_during_key_insertion)) { found = true; break; } } } else { found = true; } if (!found) { return; } switch (keyval) { case GDK_Up: m_last_line_during_key_insertion--; break; case GDK_Down: m_last_line_during_key_insertion++; break; default: return; } *y = (int) m_last_staff_during_key_insertion->getRealYPosOfLine(m_last_line_during_key_insertion); } bool NedMainWindow::find_new_cursor_pos_at_measure(guint keyval, int *x, int *y) { GList *lptr; double newx, newy; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->findXposInOtherMeasure(keyval, *x, *y, &newx, &newy)) { *x = (int) newx; *y = (int) newy; return true; } } return false; } gboolean NedMainWindow::key_press_handler (GtkWidget *widget, GdkEventKey *event, gpointer data) { int method, ret; unsigned int nl; NedMainWindow *main_window = (NedMainWindow *) data; NedCommandList *command_list; int tuplet_val = 0; NedRemoveFreePlaceableCommand *rem_displaceable; GList *lptr; NedChordOrRest *newObj, *newObj1; int wx, wy; int page_nr; double newx; gint x=0, y=0; bool keyboard_insertion = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(main_window->m_keyboard_insert_action)); NedPage *page; NedChangeMeasureSpreadCommand *change_spread_cmd; GdkDisplay *display = NULL; GdkScreen *screen = NULL; char utf8string[10]; guint32 unichar = gdk_keyval_to_unicode(event->keyval); int ll = g_unichar_to_utf8(unichar, utf8string); utf8string[ll] = '\0'; if (NedResource::isPlaying()) return FALSE; if (main_window->m_lyrics_mode >= 0) { if (event->keyval == GDK_Escape) { main_window->resetLyricsMode(); main_window->repaint(); return TRUE; } if (main_window->m_selected_chord_or_rest == NULL) return TRUE; if (event->keyval == GDK_Left) { if (!main_window->m_selected_chord_or_rest->setLyricsCursor(main_window->m_lyrics_mode, LYR_CURSOR_LEFT)) { main_window->m_selected_chord_or_rest->selectPreviousChord(true, main_window->m_lyrics_mode); if (main_window->m_selected_chord_or_rest != NULL) { main_window->m_selected_chord_or_rest->setLyricsCursor(main_window->m_lyrics_mode, LYR_CURSOR_END); } } main_window->repaint(); return TRUE; } else if (event->keyval == GDK_Right) { if (!main_window->m_selected_chord_or_rest->setLyricsCursor(main_window->m_lyrics_mode, LYR_CURSOR_RIGHT)) { main_window->m_selected_chord_or_rest->selectNextChord(true, main_window->m_lyrics_mode); if (main_window->m_selected_chord_or_rest != NULL) { main_window->m_selected_chord_or_rest->setLyricsCursor(main_window->m_lyrics_mode, LYR_CURSOR_START); } } main_window->repaint(); return TRUE; } else if (event->keyval == GDK_BackSpace) { command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); bool not_empty = main_window->m_selected_chord_or_rest->deleteLyricsLetter(command_list, main_window->m_lyrics_mode); main_window->reposit(command_list, main_window->m_selected_chord_or_rest->getPage(), main_window->m_selected_chord_or_rest->getSystem()); main_window->repaint(); if (!not_empty) { main_window->m_selected_chord_or_rest->selectPreviousChord(main_window->m_lyrics_mode, true); if (main_window->m_selected_chord_or_rest != NULL) { main_window->m_selected_chord_or_rest->setLyricsCursor(main_window->m_lyrics_mode, LYR_CURSOR_END); } } if (command_list->getNumberOfCommands() > 0) { main_window->m_command_history->addCommandList(command_list); } return TRUE; } if (!strcmp(event->string, " ") || event->keyval == GDK_Return) { main_window->m_selected_chord_or_rest->selectNextChord(false, main_window->m_lyrics_mode); if (main_window->m_selected_chord_or_rest != NULL) { main_window->m_selected_chord_or_rest->setLyricsCursor(main_window->m_lyrics_mode, LYR_CURSOR_START); } return TRUE; } #ifdef KEYDEBUG printf("KEY = %c(0x%x)\n", event->keyval, event->keyval); fflush(stdout); #endif gtk_im_context_filter_keypress(main_window->m_im_context, event); return TRUE; } /* ------------------------------------- */ if (keyboard_insertion) { gtk_widget_get_pointer(main_window->m_drawing_area, &x, &y); display = gdk_display_get_default (); screen = gdk_display_get_default_screen (display); switch (event->keyval) { case GDK_Up: case GDK_Down: gtk_widget_get_pointer(main_window->m_drawing_area, &x, &y); main_window->find_new_cursor_pos(event->keyval, &x, &y); gtk_widget_translate_coordinates(main_window->m_drawing_area, main_window->m_main_window, x, y, &x, &y); gdk_window_get_position(GDK_WINDOW(main_window->m_main_window->window), &wx, &wy); gdk_display_warp_pointer (display, screen, wx + x, wy + y); break; case GDK_Right: case GDK_Left: gtk_widget_get_pointer(main_window->m_drawing_area, &x, &y); if (!main_window->find_new_cursor_pos_at_measure(event->keyval, &x, &y)) break; gtk_widget_translate_coordinates(main_window->m_drawing_area, main_window->m_main_window, x, y, &x, &y); gdk_window_get_position(GDK_WINDOW(main_window->m_main_window->window), &wx, &wy); gdk_display_warp_pointer (display, screen, wx + x, wy + y); break; case GDK_BackSpace: if (main_window->m_last_obj == NULL) break; if (main_window->m_last_cursor_x < 0) break; if (main_window->m_last_cursor_y < 0) break; command_list = new NedCommandList(main_window, main_window->m_last_obj->getSystem()); main_window->m_last_obj->testForTiesToDelete(command_list, BREAK_TIE_FORWARD | BREAK_TIE_BACKWARD); if (main_window->m_last_obj->getType() == TYPE_GRACE) { command_list->addCommand(new NedEreaseChordOrRestCommand(main_window->m_last_obj)); } else { command_list->addCommand(new NedDeleteChordCommand(main_window->m_last_obj)); } command_list->execute(); main_window->m_command_history->addCommandList(command_list); main_window->reposit(command_list, main_window->m_last_obj->getPage(), main_window->m_last_obj->getSystem()); gtk_widget_translate_coordinates(main_window->m_drawing_area, main_window->m_main_window, main_window->m_last_cursor_x, main_window->m_last_cursor_y, &x, &y); gdk_window_get_position(GDK_WINDOW(main_window->m_main_window->window), &wx, &wy); gdk_display_warp_pointer (display, screen, wx + x, wy + y); main_window->m_last_obj = NULL; main_window->m_last_cursor_x = main_window->m_last_cursor_y = -1; main_window->repaint(); return TRUE; } } /*----------------------------------------- */ if (event->keyval == GDK_Control_L || event->keyval == GDK_Control_R) { main_window->m_keyboard_ctrl_mode = TRUE; main_window->m_pointer_xpos = -1.0; main_window->repaint(); } else if (event->keyval == GDK_Shift_L || event->keyval == GDK_Shift_R) { gdk_window_set_cursor (GDK_WINDOW(main_window->m_drawing_area->window), main_window->m_hand); } else if (!keyboard_insertion && event->keyval == GDK_Down) { if (main_window->m_selected_note != NULL) { if (event->state & GDK_SHIFT_MASK) { if (!main_window->m_selected_chord_or_rest->testMeasureSpread(-1)) return FALSE; command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); change_spread_cmd = new NedChangeMeasureSpreadCommand(main_window->m_selected_chord_or_rest->m_measure, -1); change_spread_cmd->execute(); command_list->addCommand(change_spread_cmd); main_window->setAllUnpositioned(); main_window->reposit(command_list); command_list->setFullReposit(); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } else if (main_window->m_selected_note->testRelativeMove(-1)) { command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); main_window->m_selected_note->testForTiesToDelete(command_list, BREAK_TIE_BACKWARD | BREAK_TIE_FORWARD); main_window->m_selected_chord_or_rest->testForDeleteableConstraints(command_list); command_list->addCommand(new NedMoveNoteRelativeCommand(main_window->m_selected_note, -1)); command_list->execute(); main_window->reposit(command_list, NULL, main_window->m_selected_chord_or_rest->getSystem()); main_window->m_command_history->addCommandList(command_list); } } else if (main_window->m_selected_chord_or_rest != NULL) { // rest command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); command_list->addCommand(new NedRestMoveCommand(main_window->m_selected_chord_or_rest, main_window->m_selected_chord_or_rest->getLine(), main_window->m_selected_chord_or_rest->getLine() - 1)); command_list->execute(); main_window->reposit(command_list, NULL, main_window->m_selected_chord_or_rest->getSystem()); main_window->m_command_history->addCommandList(command_list); } else if (main_window->m_selected_tie_forward != NULL) { if (main_window->m_selected_tie_forward->test_tie_increment(D_TIE)) { command_list = new NedCommandList(main_window, main_window->m_selected_tie_forward->getSystem()); command_list->addCommand(new NedChangeTieCommand(main_window->m_selected_tie_forward, D_TIE)); command_list->execute(); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } } return TRUE; } else if (!keyboard_insertion && event->keyval == GDK_Up) { if (main_window->m_selected_note != NULL) { if (event->state & GDK_SHIFT_MASK) { if (!main_window->m_selected_chord_or_rest->testMeasureSpread(1)) return FALSE; command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); change_spread_cmd = new NedChangeMeasureSpreadCommand(main_window->m_selected_chord_or_rest->m_measure, 1); change_spread_cmd->execute(); command_list->addCommand(change_spread_cmd); main_window->setAllUnpositioned(); main_window->reposit(command_list); command_list->setFullReposit(); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } else if (main_window->m_selected_note->testRelativeMove(1)) { command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); main_window->m_selected_note->testForTiesToDelete(command_list, BREAK_TIE_BACKWARD | BREAK_TIE_FORWARD); main_window->m_selected_chord_or_rest->testForDeleteableConstraints(command_list); command_list->addCommand(new NedMoveNoteRelativeCommand(main_window->m_selected_note, 1)); command_list->execute(); main_window->reposit(command_list, NULL, main_window->m_selected_chord_or_rest->getSystem()); main_window->m_command_history->addCommandList(command_list); } } else if (main_window->m_selected_chord_or_rest != NULL) { // rest command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); command_list->addCommand(new NedRestMoveCommand(main_window->m_selected_chord_or_rest, main_window->m_selected_chord_or_rest->getLine(), main_window->m_selected_chord_or_rest->getLine() + 1)); command_list->execute(); main_window->reposit(command_list, NULL, main_window->m_selected_chord_or_rest->getSystem()); main_window->m_command_history->addCommandList(command_list); } else if (main_window->m_selected_tie_forward != NULL) { if (main_window->m_selected_tie_forward->test_tie_increment(-D_TIE)) { command_list = new NedCommandList(main_window, main_window->m_selected_tie_forward->getSystem()); command_list->addCommand(new NedChangeTieCommand(main_window->m_selected_tie_forward, -D_TIE)); command_list->execute(); main_window->m_command_history->addCommandList(command_list); main_window->reposit(NULL, main_window->m_selected_tie_forward->getPage(), main_window->m_selected_tie_forward->getSystem()); main_window->repaint(); } } return TRUE; } else if (!keyboard_insertion && event->keyval == GDK_Left) { if (main_window->m_selected_chord_or_rest != NULL) { main_window->m_selected_chord_or_rest = main_window->m_selected_chord_or_rest->getPreviousChordOrRest(); if (main_window->m_selected_chord_or_rest != NULL) { if (main_window->m_selected_chord_or_rest->isRest()) { main_window->m_selected_note = NULL; } else { main_window->m_selected_note = main_window->m_selected_chord_or_rest->getFirstNote(); } } else { main_window->m_selected_note = NULL; } main_window->setButtons(); main_window->repaint(); } else if (main_window->m_selected_spec_measure) { main_window->moveSpecMeasure(main_window->m_selected_spec_measure, -1); } else if (main_window->m_score_info->title != NULL && strlen(main_window->m_score_info->title->getText()) > 0) { main_window->m_score_info->title->moveCursor(-1); main_window->repaint(); } return TRUE; } else if (!keyboard_insertion && event->keyval == GDK_Right) { if (main_window->m_selected_chord_or_rest != NULL) { main_window->m_selected_chord_or_rest = main_window->m_selected_chord_or_rest->getNextChordOrRest(); if (main_window->m_selected_chord_or_rest != NULL) { if (main_window->m_selected_chord_or_rest->isRest()) { main_window->m_selected_note = NULL; } else { main_window->m_selected_note = main_window->m_selected_chord_or_rest->getFirstNote(); } } else { main_window->m_selected_note = NULL; } main_window->setButtons(); main_window->repaint(); } else if (main_window->m_selected_spec_measure) { main_window->moveSpecMeasure(main_window->m_selected_spec_measure, 1); } else if (main_window->m_score_info->title != NULL && strlen(main_window->m_score_info->title->getText()) > 0) { main_window->m_score_info->title->moveCursor(1); main_window->repaint(); } return TRUE; } else if (!keyboard_insertion && event->keyval == GDK_BackSpace) { if (main_window->m_selected_chord_or_rest != NULL && ((main_window->m_selected_chord_or_rest->getType() & (TYPE_CLEF | TYPE_STAFF_SIGN | TYPE_KEYSIG)) != 0)) { if (main_window->m_selected_chord_or_rest->getType() & TYPE_STAFF_SIGN) { ret = GTK_RESPONSE_NO; } else { GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(main_window->m_main_window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("Adjust notes ?")); ret = gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); } command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); NedStaff *staff = main_window->m_selected_chord_or_rest->getStaff(); NedRemoveStaffElemCommand *rem_staff_el_cmd = new NedRemoveStaffElemCommand(main_window, staff->getStaffNumber(), main_window->m_selected_chord_or_rest, ret == GTK_RESPONSE_YES); rem_staff_el_cmd->execute(); command_list->setFullReposit(); command_list->addCommand(rem_staff_el_cmd); main_window->setAllUnpositioned(); main_window->reposit(command_list); main_window->m_command_history->addCommandList(command_list); main_window->m_selected_chord_or_rest = NULL; main_window->m_selected_note = NULL; } else if (main_window->m_selected_free_replaceable != NULL) { command_list = new NedCommandList(main_window); if (main_window->m_selected_free_replaceable->getType() == FREE_PLACEABLE_SLUR_POINT) { NedSlurPoint **sp; sp = ((NedSlurPoint *) main_window->m_selected_free_replaceable)->getSlurPoints(); rem_displaceable = new NedRemoveFreePlaceableCommand(sp[0]); command_list->addCommand(rem_displaceable); rem_displaceable->execute(); rem_displaceable = new NedRemoveFreePlaceableCommand(sp[1]); command_list->addCommand(rem_displaceable); rem_displaceable->execute(); rem_displaceable = new NedRemoveFreePlaceableCommand(sp[2]); command_list->addCommand(rem_displaceable); rem_displaceable->execute(); } else if (main_window->m_selected_free_replaceable->getType() == FREE_PLACEABLE_LINE_POINT) { NedLinePoint *startp, *endp, *midp; startp = ((NedLinePoint *) main_window->m_selected_free_replaceable)->getLine()->getLineStartPoint(); endp = ((NedLinePoint *) main_window->m_selected_free_replaceable)->getLine()->getLineEndPoint(); rem_displaceable = new NedRemoveFreePlaceableCommand(startp); command_list->addCommand(rem_displaceable); rem_displaceable->execute(); if ((((NedLinePoint *) main_window->m_selected_free_replaceable)->getLine()->getLineType() & LINE_TEMPO_CHANGE) != 0) { midp = ((NedLine3 *) ((NedLinePoint *) main_window->m_selected_free_replaceable)->getLine())->getLineMidPoint(); rem_displaceable = new NedRemoveFreePlaceableCommand(midp); command_list->addCommand(rem_displaceable); rem_displaceable->execute(); } rem_displaceable = new NedRemoveFreePlaceableCommand(endp); command_list->addCommand(rem_displaceable); rem_displaceable->execute(); } else { NedRemoveFreePlaceableCommand *rem_displaceable = new NedRemoveFreePlaceableCommand(main_window->m_selected_free_replaceable); rem_displaceable->execute(); command_list->addCommand(rem_displaceable); } main_window->m_command_history->addCommandList(command_list); main_window->repaint(); } else if (main_window->m_selected_chord_or_rest != NULL && !main_window->m_selected_chord_or_rest->isRest()) { command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); main_window->m_selected_chord_or_rest->testForTiesToDelete(command_list, BREAK_TIE_FORWARD | BREAK_TIE_BACKWARD); GList *already_deleted_free_displaceables = NULL; main_window->m_selected_chord_or_rest->testForFreeReplaceablesToDelete(command_list, &already_deleted_free_displaceables); g_list_free(already_deleted_free_displaceables); if (main_window->m_selected_chord_or_rest->getType() == TYPE_GRACE) { command_list->addCommand(new NedEreaseChordOrRestCommand(main_window->m_selected_chord_or_rest)); } else { command_list->addCommand(new NedDeleteChordCommand(main_window->m_selected_chord_or_rest)); } main_window->m_selected_chord_or_rest = main_window->m_selected_chord_or_rest->getPreviousChordOrRest(); if (main_window->m_selected_chord_or_rest != NULL) { if (main_window->m_selected_chord_or_rest->isRest()) { main_window->m_selected_note = NULL; } else { main_window->m_selected_note = main_window->m_selected_chord_or_rest->getFirstNote(); } } command_list->execute(); main_window->m_command_history->addCommandList(command_list); main_window->m_selected_spec_measure = NULL; if (main_window->m_selected_chord_or_rest != NULL) { main_window->reposit(command_list, main_window->m_selected_chord_or_rest->getPage(), main_window->m_selected_chord_or_rest->getSystem()); } else { main_window->reposit(command_list); } main_window->repaint(); } } else if (event->keyval == GDK_Page_Up) { page_nr = (int) gtk_spin_button_get_value(GTK_SPIN_BUTTON(main_window->m_page_selector)); gtk_spin_button_set_value(GTK_SPIN_BUTTON(main_window->m_page_selector), page_nr - 1); } else if (event->keyval == GDK_Page_Down) { page_nr = (int) gtk_spin_button_get_value(GTK_SPIN_BUTTON(main_window->m_page_selector)); gtk_spin_button_set_value(GTK_SPIN_BUTTON(main_window->m_page_selector), page_nr + 1); } else if (event->keyval >= GDK_2 && event->keyval <= GDK_9 && ( event->state & GDK_CONTROL_MASK) ) { method = (event->state & GDK_MOD1_MASK) ? 1 : 0; if (!main_window->m_selected_chord_or_rest) { NedResource::Info(_("please select a note or rest first")); return TRUE; } if (main_window->m_selected_chord_or_rest->getDotCount() != 0) { NedResource::Info(_("you cannot select an element with dot")); return TRUE; } switch (event->keyval) { case GDK_2: tuplet_val = 2; break; case GDK_3: tuplet_val = 3; break; case GDK_4: tuplet_val = 4; break; case GDK_5: tuplet_val = 5; break; case GDK_6: tuplet_val = 6; break; case GDK_7: tuplet_val = 7; break; case GDK_8: tuplet_val = 8; break; case GDK_9: tuplet_val = 9; break; } if (!main_window->m_selected_chord_or_rest->getVoice()-> tryConvertToTuplet(method, tuplet_val, main_window->m_selected_chord_or_rest)) { NedResource::Info(_("I'm not able to create a tuplet here")); return TRUE; } } else if ((event->keyval >= GDK_1 && event->keyval <= GDK_8) || (event->keyval >= GDK_KP_1 && event->keyval <= GDK_KP_8)) { switch (event->keyval) { case GDK_1: nl = WHOLE_NOTE; break; case GDK_2: nl = NOTE_2; break; case GDK_4: nl = NOTE_4; break; case GDK_5: nl = NOTE_8; break; case GDK_6: nl = NOTE_16; break; case GDK_7: nl = NOTE_32; break; case GDK_8: nl = NOTE_64; break; default: nl = NOTE_4; break; } NedResource::setNoteLengthButtons(nl); if (keyboard_insertion) { gtk_widget_get_pointer(main_window->m_drawing_area, &x, &y); display = gdk_display_get_default (); screen = gdk_display_get_default_screen (display); main_window->m_last_cursor_x = x; main_window->m_last_cursor_y = y; gtk_widget_get_pointer(main_window->m_drawing_area, &x, &y); main_window->find_new_cursor_pos(0, &x, &y); main_window->m_last_obj = NULL; for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->tryInsertOrErease(x, y, 0, NULL /* no pitch given */, &newObj, (event->state & GDK_MOD1_MASK))) { page = (NedPage *) lptr->data; if (newObj != NULL) { main_window->m_last_obj = newObj; newObj1 = newObj->getNextChordOrRest(); if (newObj1 == NULL) { newObj1 = newObj->getFirstObjectInNextSystem(); } if (newObj1 != NULL) { main_window->m_last_staff_during_key_insertion = newObj1->getStaff(); page = newObj1->getPage(); newx = page->convertX(newObj1->getXPos()); y = (int) main_window->m_last_staff_during_key_insertion->getRealYPosOfLine(main_window->m_last_line_during_key_insertion); gtk_widget_translate_coordinates(main_window->m_drawing_area, main_window->m_main_window, (gint)newx, y, &x, &y); gdk_window_get_position(GDK_WINDOW(main_window->m_main_window->window), &wx, &wy); gdk_display_warp_pointer (display, screen, (int) (x + wx), y + wy); } } main_window->resetSomeButtons(); } } } } else { switch(event->keyval) { case GDK_KP_Divide: NedResource::toggleButton(1); break; case GDK_KP_Multiply: NedResource::toggleButton(2); break; case GDK_KP_Subtract: NedResource::toggleButton(3); break; case GDK_KP_Home: NedResource::toggleButton(4); break; case GDK_KP_Up: NedResource::toggleButton(5); break; case GDK_KP_Prior: NedResource::toggleButton(6); break; case GDK_KP_Add: NedResource::toggleButton(7); break; case GDK_KP_Left: NedResource::toggleButton(8); break; case GDK_KP_Begin: NedResource::toggleButton(9); break; case GDK_KP_Right: NedResource::toggleButton(10); break; case GDK_KP_End: NedResource::toggleButton(11); break; case GDK_KP_Down: NedResource::toggleButton(12); break; case GDK_KP_Next: NedResource::toggleButton(13); break; case GDK_KP_Enter: NedResource::toggleButton(14); break; case GDK_KP_Insert: NedResource::toggleButton(15); break; case GDK_KP_Delete: NedResource::toggleButton(16); break; case GDK_R: case GDK_r: NedResource::toggleRest(); break; case GDK_comma: main_window->tryTieBackward(); break; case GDK_underscore: NedResource::toggleTie(); break; case GDK_period: NedResource::toggleDot(); break; case GDK_numbersign: NedResource::toggleSharp(); break; case GDK_equal: NedResource::toggleNatural(); break; case GDK_minus: NedResource::toggleFlat(); break; case GDK_Delete: if (main_window->m_selected_note == NULL) break; if (main_window->m_selected_chord_or_rest == NULL) break; main_window->m_selected_chord_or_rest->ereaseNote(main_window->m_selected_note); break; } } return TRUE; } void NedMainWindow::OnCommit(GtkIMContext *context, const gchar *str, void *data) { NedMainWindow *main_window = (NedMainWindow *) data; #ifdef KEYDEBUG printf("str = %s\n", str); fflush(stdout); #endif NedCommandList *command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); if (!strcmp(str, "_")) { main_window->m_selected_chord_or_rest->appendToLyrics(command_list, main_window->m_lyrics_mode, " "); } else { main_window->m_selected_chord_or_rest->appendToLyrics(command_list, main_window->m_lyrics_mode, str); } main_window->reposit(command_list, main_window->m_selected_chord_or_rest->getPage(), main_window->m_selected_chord_or_rest->getSystem()); if (!strcmp(str, "-")) { main_window->m_selected_chord_or_rest->selectNextChord(false, main_window->m_lyrics_mode); if (main_window->m_selected_chord_or_rest != NULL) { main_window->m_selected_chord_or_rest->setLyricsCursor(main_window->m_lyrics_mode, LYR_CURSOR_START); } } main_window->repaint(); if (command_list->getNumberOfCommands() > 0) { main_window->m_command_history->addCommandList(command_list); } } void NedMainWindow::tryTieBackward() { if (gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(m_keyboard_insert_action))) { // keyboard insertion mode if (m_last_obj == NULL) return; m_last_obj->tryTieBackward(); return; } if (m_selected_chord_or_rest == NULL || m_selected_note == NULL) return; m_selected_note->tryTieBackward(); } gboolean NedMainWindow::key_release_handler (GtkWidget *widget, GdkEventKey *event, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; if (event->keyval == GDK_Control_L || event->keyval == GDK_Control_R) { main_window->m_keyboard_ctrl_mode = false; main_window->m_selected_note = NULL; main_window->m_selected_chord_or_rest = NULL; main_window->m_selected_spec_measure = NULL; main_window->m_selected_tie_forward = NULL; main_window->repaint(); } else if (event->keyval == GDK_Shift_L || event->keyval == GDK_Shift_R) { main_window->setCursor(); } return FALSE; } gboolean NedMainWindow::window_leave_handler (GtkWidget *widget, GdkEventCrossing *event, gpointer data) { return FALSE; } gboolean NedMainWindow::window_enter_handler (GtkWidget *widget, GdkEventCrossing *event, gpointer data) { gtk_widget_grab_focus (widget); NedResource::setMainwWindowWithFocus((NedMainWindow *) data); return FALSE; } void NedMainWindow::OnSetFocus(GtkWindow *window, GtkWidget *widget, gpointer data) { } gboolean NedMainWindow::handle_button_press (GtkWidget *widget, GdkEventButton *event, gpointer data) { int staff_num, mtype, measnum, mtypeold; bool state; bool alter1, alter2, allow_alter; bool oldalter1, oldalter2, old_hide_following; GList *lptr, *lptr2; NedStaff *staff = NULL; NedMainWindow *main_window = (NedMainWindow *) data; NedNote *note; NedMeasure *measure; bool hide_following; int newnum, newdenom; int num, denom; unsigned int symbol, newsymbol; bool time_sig_state, delete_timesig; NedCommandList *command_list = NULL; NedChangeMeasureTimeSignatureCommand *change_sig_command; if (NedResource::isPlaying()) return FALSE; main_window->m_last_staff_during_key_insertion = NULL; main_window->m_pointer_ypos = event->y; if (event->button == 3) { if (g_list_length(main_window->m_selected_group) > 0 && main_window->m_selection_rect.width > MIN_SELECTION_RECTANGLE_DIM && main_window->m_selection_rect.height > MIN_SELECTION_RECTANGLE_DIM) { for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { if ((staff = ((NedPage *) lptr->data)->findStaff(event->x, event->y, &measure /* dummy */)) != NULL) { staff_num = staff->getStaffNumber(); lptr2 = g_list_first(main_window->m_selected_group); while (lptr2) { if (((NedChordOrRest *) lptr2->data)->getStaff()->getStaffNumber() == staff_num) { main_window->m_selected_group = g_list_delete_link(main_window->m_selected_group, lptr2); lptr2 = g_list_first(main_window->m_selected_group); } else { lptr2 = g_list_next(lptr2); } } main_window->repaint(); return FALSE; } } return FALSE; } for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->trySelect(event->x, event->y, true)) { if (main_window->m_selected_free_replaceable != NULL) { main_window->m_selected_free_replaceable->startContextDialog(main_window->m_main_window); return FALSE; } } } for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { measure = NULL; if ((staff = ((NedPage *) lptr->data)->findStaff(event->x, event->y, &measure)) != NULL) { if (measure != NULL) { mtype = measure->getSpecial(); measnum = measure->getMeasureNumber(); mtypeold = mtype; oldalter1 = ((mtype & REP_TYPE_MASK) == REPEAT_CLOSE) && ((mtype & END_TYPE_MASK) == REP1END); oldalter2 = ((mtype & REP_TYPE_MASK) == REPEAT_CLOSE) && ((mtype & START_TYPE_MASK) == REP2START); allow_alter = oldalter1 || oldalter2 || !main_window->conflictWithOhterSpecMeasure(measure->getMeasureNumber(), -1); if ((mtype & REP_TYPE_MASK) & (END_BAR | REPEAT_CLOSE)) { old_hide_following = measure->m_hide_following; } else { old_hide_following = true; } num = main_window->getNumeratorOfThisMeasure(measure->getMeasureNumber()); denom = main_window->getDenominatorOfThisMeasure(measure->getMeasureNumber()); symbol = main_window->getTimesigSymbolOfThisMeasure(measure->getMeasureNumber()); NedMeasureConfigDialog *dialog = new NedMeasureConfigDialog(GTK_WINDOW(main_window->m_main_window), mtype & REP_TYPE_MASK, oldalter1, oldalter2, allow_alter, old_hide_following, num, denom, symbol); dialog->getValues(&state, &mtype, &alter1, &alter2, &hide_following, &time_sig_state, &delete_timesig, &newnum, &newdenom, &newsymbol); if (state && (mtypeold != mtype || oldalter1 != alter1 || oldalter2 != alter2 || old_hide_following != hide_following)) { command_list = new NedCommandList(main_window, staff->getSystem()); main_window->testAlternativeState(command_list, measure, alter1, alter2); alter1 = alter1 && ((mtype & REP_TYPE_MASK) == REPEAT_CLOSE); alter2 = alter2 && ((mtype & REP_TYPE_MASK) == REPEAT_CLOSE); if (alter1) { mtype |= REP1END; } if (alter2) { mtype |= REP2START; } if ((mtypeold & END_TYPE_MASK) == REP2END) { mtype |= REP2END; } /* if ((mtypeold & END_TYPE_MASK) == REP1END) { mtype |= REP1END; } */ NedChangeMeasureTypeCommand *change_measure_command = new NedChangeMeasureTypeCommand(main_window, measnum, mtype, hide_following); command_list->addCommand(change_measure_command); change_measure_command->execute(); if (alter1 && !oldalter1) { if (measnum > 0) { change_measure_command = new NedChangeMeasureTypeCommand(main_window, measnum - 1, REP1START, hide_following); command_list->addCommand(change_measure_command); change_measure_command->execute(); } } if (alter2 && !oldalter2) { change_measure_command = new NedChangeMeasureTypeCommand(main_window, measnum + 1, REP2END, hide_following); command_list->addCommand(change_measure_command); change_measure_command->execute(); } } num = main_window->getNumerator(measure->getMeasureNumber()); denom = main_window->getDenominator(measure->getMeasureNumber()); if (time_sig_state && ((newnum != num || newdenom != denom || newsymbol != symbol) || delete_timesig)) { if (command_list == NULL) { command_list = new NedCommandList(main_window, staff->getSystem()); } if (delete_timesig) { change_sig_command = new NedChangeMeasureTimeSignatureCommand(main_window, measnum, -1, -1, -1); } else { change_sig_command = new NedChangeMeasureTimeSignatureCommand(main_window, measnum, newnum, newdenom, newsymbol); } command_list->addCommand(change_sig_command); change_sig_command->execute(); command_list->setFullReposit(); main_window->setAllUnpositioned(); main_window->reposit(command_list); main_window->checkForElementsToSplit(command_list); } if (command_list != NULL) { command_list->setFullReposit(); main_window->setAllUnpositioned(); main_window->m_command_history->addCommandList(command_list); main_window->reposit(command_list); } delete dialog; } else { main_window->do_staff_config(staff->getStaffNumber(), staff->getSystem()); } return FALSE; } } return FALSE; } main_window->m_mouse_x = event->x; main_window->m_mouse_y = event->y; main_window->m_leftx0 = main_window->m_leftx; main_window->m_topy0 = main_window->m_topy; main_window->m_selection_rect.x = (int) event->x; main_window->m_selection_rect.y = (int) event->y; main_window->m_selection_rect.width = 0; main_window->m_selection_rect.height = 0; if (main_window->m_selected_group != NULL) { g_list_free(main_window->m_selected_group); main_window->m_selected_group = NULL; } if (main_window->m_selected_chord_or_rest != NULL && ((main_window->getMainWindowStatus() & INSERT_EREASE_MODE) == 0)) { if (main_window->m_selected_chord_or_rest->hitStemEnd(event->x, event->y)) { main_window->m_selected_stem = main_window->m_selected_chord_or_rest; return FALSE; } } if (NedResource::getTiedMode()) { if (main_window->m_selected_note) { note = main_window->m_selected_note; bool sel2 = FALSE; for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->trySelect(event->x, event->y)) { sel2 = TRUE; break; } } if (main_window->m_selected_note) { main_window->m_selected_note->do_tie(note); main_window->m_selected_note = NULL; main_window->m_selected_chord_or_rest = NULL; main_window->m_selected_spec_measure = NULL; main_window->m_selected_tie_forward = NULL; } if (!sel2) { main_window->resetSomeButtons(); } } else { for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->trySelect(event->x, event->y)) { main_window->repaint(); return FALSE; } } main_window->resetSomeButtons(); } main_window->repaint(); return FALSE; } if ((main_window->getMainWindowStatus() & SHIFT_MODE) != 0 || ((event->state & GDK_SHIFT_MASK) != 0)) return FALSE; main_window->m_selected_note = NULL; main_window->m_selected_chord_or_rest = NULL; main_window->m_selected_spec_measure = NULL; main_window->m_selected_free_replaceable = NULL; main_window->m_selected_tie_forward = NULL; if (main_window->m_lyrics_mode < 0 && (main_window->getMainWindowStatus() & INSERT_EREASE_MODE) != 0 && ((event->state & GDK_CONTROL_MASK) == 0)) { for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->tryInsertOrErease(event->x, event->y, 0, NULL /* no pitch given */)) { main_window->resetSomeButtons(); main_window->repaint(); return FALSE; } } } else { for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->trySelect(event->x, event->y)) { main_window->setButtons(); main_window->repaint(); return FALSE; } } for (lptr = g_list_first(main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->isNear(event->x, event->y)) { main_window->m_selected_spec_measure = (SpecialMeasure *) lptr->data; } } main_window->resetSomeButtons(); } if (main_window->m_selected_chord_or_rest == NULL && main_window->m_selected_note == NULL && main_window->m_selected_spec_measure == NULL && main_window->m_selected_free_replaceable != NULL) { } main_window->repaint(); return FALSE; } void NedMainWindow::insertNoteWithPitch(int num_midi_input_notes, int *midi_input_chord) { GList *lptr; NedChordOrRest *newObj, *newObj1; GdkDisplay *display = NULL; GdkScreen *screen = NULL; double newx; gint x=0, y=0; NedPage *page; int wx, wy; bool found = false; double dummy1; int dummy2; NedStaff *staff; if (num_midi_input_notes == 0) return; gtk_widget_get_pointer(m_drawing_area, &x, &y); display = gdk_display_get_default (); screen = gdk_display_get_default_screen (display); m_last_cursor_x = x; m_last_cursor_y = y; gtk_widget_get_pointer(m_drawing_area, &x, &y); find_new_cursor_pos(0, &x, &y); for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->findLine(x, y, &dummy1, &dummy2, &dummy1, &staff)) { found = true; break; } } if (!found) return; if (!gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(m_keyboard_insert_action)) || !gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(m_insert_erease_mode_action))) { return; } m_last_obj = NULL; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { if (((NedPage *) lptr->data)->tryInsertOrErease(x, y, num_midi_input_notes, midi_input_chord, &newObj)) { page = (NedPage *) lptr->data; if (newObj != NULL) { m_last_obj = newObj; newObj1 = newObj->getNextChordOrRest(); if (newObj1 == NULL) { newObj1 = newObj->getFirstObjectInNextSystem(); } if (newObj1 != NULL) { m_last_staff_during_key_insertion = newObj1->getStaff(); page = newObj1->getPage(); newx = page->convertX(newObj1->getXPos()); y = (int) m_last_staff_during_key_insertion->getRealYPosOfLine(m_last_line_during_key_insertion); gtk_widget_translate_coordinates(m_drawing_area, m_main_window, (gint)newx, y, &x, &y); gdk_window_get_position(GDK_WINDOW(m_main_window->window), &wx, &wy); gdk_display_warp_pointer (display, screen, (int) (x + wx), y + wy); } } resetSomeButtons(); } } } gint NedMainWindow::compare_spec_measures_according_measnum(gconstpointer ptr1, gconstpointer ptr2) { SpecialMeasure *spec_meas1 = (SpecialMeasure *) ptr1; SpecialMeasure *spec_meas2 = (SpecialMeasure *) ptr2; if (spec_meas1->measure_number < spec_meas2->measure_number) return -1; if (spec_meas1->measure_number > spec_meas2->measure_number) return 1; return 0; } int NedMainWindow::setSpecial(int measnum, int mtype, bool hide, bool *oldhide, bool overwrite) { GList *lptr; SpecialMeasure *spec_meas; int ret = 0; for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number == measnum) { ret = (((SpecialMeasure *) lptr->data)->type & (REP_TYPE_MASK | START_TYPE_MASK | END_TYPE_MASK)); /* if (mtype == 0) { ((SpecialMeasure *) lptr->data)->type &= (~(REP_TYPE_MASK | START_TYPE_MASK | END_TYPE_MASK)); if (((SpecialMeasure *) lptr->data)->type == 0) { free(lptr->data); m_special_measures = g_list_delete_link(m_special_measures, lptr); } } else { ((SpecialMeasure *) lptr->data)->type |= mtype; } */ if (overwrite) { ((SpecialMeasure *) lptr->data)->type &= (~(REP_TYPE_MASK | START_TYPE_MASK | END_TYPE_MASK)); } ((SpecialMeasure *) lptr->data)->type |= mtype; if (oldhide != NULL) { *oldhide = ((SpecialMeasure *) lptr->data)->hide_following; } ((SpecialMeasure *) lptr->data)->hide_following = hide; if (((SpecialMeasure *) lptr->data)->type == 0) { free(lptr->data); m_special_measures = g_list_delete_link(m_special_measures, lptr); } repaint(); return ret; } } if (mtype == 0) return 0; spec_meas = new SpecialMeasure(); spec_meas->type = mtype; if (oldhide != NULL) { *oldhide = false; } spec_meas->hide_following = hide; spec_meas->measure_number = measnum; m_special_measures = g_list_insert_sorted(m_special_measures, spec_meas, compare_spec_measures_according_measnum); repaint(); return 0; } void NedMainWindow::setInternalPitches() { GList *lptr; for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->setInternalPitches(); } } void NedMainWindow::adjustAccidentals(int staff_nr) { GList *lptr; setAndUpdateClefTypeAndKeySig(); for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->adjustAccidentals(staff_nr); } for (lptr = g_list_first(m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->removeUnneededAccidentals(staff_nr); } } void NedMainWindow::setSpecialTimesig(int measnum, int num, int denom, unsigned int newsym, int *oldnum, int *olddenom, unsigned int *oldsym, bool do_reposit /* = true */) { GList *lptr; SpecialMeasure *spec_meas; *oldnum = *olddenom = -1; for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number == measnum) { if ((((SpecialMeasure *) lptr->data)->type & TIMESIG_TYPE_MASK) != 0) { *oldnum = ((SpecialMeasure *) lptr->data)->numerator; *olddenom = ((SpecialMeasure *) lptr->data)->denominator; *oldsym = ((SpecialMeasure *) lptr->data)->symbol; } if (num < 0 || denom < 0) { ((SpecialMeasure *) lptr->data)->type &= (~(TIMESIG)); if (((SpecialMeasure *) lptr->data)->type == 0) { free(lptr->data); m_special_measures = g_list_delete_link(m_special_measures, lptr); } } else { ((SpecialMeasure *) lptr->data)->setTimeSignature(num, denom, newsym); ((SpecialMeasure *) lptr->data)->type |= TIMESIG; } if (do_reposit) { renumberMeasures(NULL, 1, true); reposit(); repaint(); } return; } } if (num < 0 || denom < 0) return; spec_meas = new SpecialMeasure(); spec_meas->type = TIMESIG; spec_meas->measure_number = measnum; spec_meas->setTimeSignature(num, denom, newsym); m_special_measures = g_list_insert_sorted(m_special_measures, spec_meas, compare_spec_measures_according_measnum); if (do_reposit) { renumberMeasures(NULL, 1, true); reposit(); repaint(); } } unsigned int NedMainWindow::getSpecial(int meas_num) { GList *lptr; for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number == meas_num) { return ((SpecialMeasure *) lptr->data)->type; } } return 0; } SpecialMeasure *NedMainWindow::getSpecialMeasure(int meas_num) { GList *lptr; for (lptr = g_list_first(m_special_measures); lptr; lptr = g_list_next(lptr)) { if (((SpecialMeasure *) lptr->data)->measure_number == meas_num) { return (SpecialMeasure *) lptr->data; } } return NULL; } gboolean NedMainWindow::handle_motion (GtkWidget *widget, GdkEventMotion *event, gpointer data) { GList *lptr; if (NedResource::isPlaying()) return FALSE; NedBbox sel_rect; struct timeval now; NedSystem *first_selected_system, *last_selected_system; NedPage *first_selected_page, *last_selected_page; NedMainWindow *main_window = (NedMainWindow *) data; main_window->m_last_staff_during_key_insertion = NULL; if (!(event->state & GDK_BUTTON1_MASK)) { if (((main_window->getMainWindowStatus() & INSERT_EREASE_MODE) != 0) && (!main_window->m_keyboard_ctrl_mode) && ((main_window->getMainWindowStatus() & SHIFT_MODE) == 0)) { main_window->m_pointer_xpos = event->x; main_window->m_pointer_ypos = event->y; main_window->repaint(); } return FALSE; } main_window->m_pointer_xpos = -1.0; if ((main_window->getMainWindowStatus() & SHIFT_MODE) != 0 || ((event->state & GDK_SHIFT_MASK) != 0)) { main_window->m_selection_rect.width = main_window->m_selection_rect.height = 0; if (main_window->m_selected_group != NULL) { g_list_free(main_window->m_selected_group); main_window->m_selected_group = NULL; } main_window->setTopLeft(event->x, event->y); main_window->repaint(); return FALSE; } if (main_window->m_selected_stem != NULL && ((main_window->getMainWindowStatus() & INSERT_EREASE_MODE) == 0)) { gettimeofday(&now, NULL); if (NedResource::subtime(&now, &(main_window->m_last_motion_call)) > 50000) { if (main_window->m_selected_stem->scaleStem(event->y, main_window->m_pointer_ypos)) { main_window->m_pointer_ypos = event->y; } main_window->repaint(); gettimeofday(&(main_window->m_last_motion_call), NULL); } return FALSE; } if (NedResource::getTiedMode()) { return FALSE; } if (main_window->m_selected_chord_or_rest != NULL && ((main_window->m_selected_chord_or_rest->getType() & (TYPE_CLEF | TYPE_STAFF_SIGN | TYPE_KEYSIG)) != 0)) { return FALSE; } if (main_window->m_selected_chord_or_rest != NULL && (((main_window->getMainWindowStatus() & INSERT_EREASE_MODE) == 0) || (main_window->m_keyboard_ctrl_mode) != 0)) { main_window->m_selected_chord_or_rest->testXShift(event->x); main_window->repaint(); } else if (main_window->m_selected_free_replaceable != NULL && (((main_window->getMainWindowStatus() & INSERT_EREASE_MODE) == 0) || (main_window->m_keyboard_ctrl_mode) != 0)) { main_window->m_selected_free_replaceable->shift(event->x, event->y, main_window->m_current_zoom, main_window->getCurrentScale(), main_window->m_leftx, main_window->m_topy); main_window->repaint(); return FALSE; } if (main_window->m_selected_note == NULL || (((main_window->getMainWindowStatus() & INSERT_EREASE_MODE) != 0) && (!main_window->m_keyboard_ctrl_mode))) { gettimeofday(&now, NULL); if (NedResource::subtime(&now, &(main_window->m_last_motion_call)) > 50000) { if (main_window->m_selected_chord_or_rest == NULL) { int w = (int) (event->x - main_window->m_mouse_x); int h = (int) (event->y - main_window->m_mouse_y); if (w > 0) { main_window->m_selection_rect.width = w; } else { main_window->m_selection_rect.width = -w; main_window->m_selection_rect.x = (int) (main_window->m_mouse_x + w); } if (h > 0) { main_window->m_selection_rect.height = h; } else { main_window->m_selection_rect.height = -h; main_window->m_selection_rect.y = (int) (main_window->m_mouse_y + h); } if (main_window->m_selection_rect.width > MIN_SELECTION_RECTANGLE_DIM && main_window->m_selection_rect.height > MIN_SELECTION_RECTANGLE_DIM) { sel_rect.x = (main_window->m_leftx + main_window->m_selection_rect.x / main_window->getCurrentScale()) / main_window->m_current_zoom; sel_rect.y = (main_window->m_topy + main_window->m_selection_rect.y / main_window->getCurrentScale()) / main_window->m_current_zoom; sel_rect.width = main_window->m_selection_rect.width / main_window->m_current_zoom / main_window->getCurrentScale(); sel_rect.height = main_window->m_selection_rect.height / main_window->m_current_zoom / main_window->getCurrentScale(); if (main_window->m_selected_group != NULL) { g_list_free(main_window->m_selected_group); main_window->m_selected_group = NULL; } first_selected_system = last_selected_system = NULL; first_selected_page = last_selected_page = NULL; NedResource::m_number_of_first_selected_staff = NedResource::m_number_of_last_selected_staff = -1; for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->findSelectedFirstsLasts(&sel_rect, &(NedResource::m_number_of_first_selected_staff), &(NedResource::m_number_of_last_selected_staff), &first_selected_system, &last_selected_system, &first_selected_page, &last_selected_page); } for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->collectSelectionRectangleElements(&sel_rect, &(main_window->m_selected_group), first_selected_system, last_selected_system, first_selected_page, last_selected_page); } } main_window->repaint(); } gettimeofday(&(main_window->m_last_motion_call), NULL); } return FALSE; } if (main_window->m_selected_note->testYShift(event->y)) { main_window->repaint(); } return FALSE; } NedChordOrRest* NedMainWindow::findAndBeamElementsOfCurrentVoice() { GList *lptr; NedChordOrRest *element = NULL; NedCommandList *command_list; for (lptr = g_list_first(m_selected_group); lptr; lptr = g_list_next(lptr)) { if ((((NedChordOrRest *) lptr->data)->getType() & TYPE_CHORD) && (((NedChordOrRest *) lptr->data)->getVoice()->getVoiceNumber() == getCurrentVoice())){ element= (NedChordOrRest *) lptr->data; break; } } if (element == NULL) return NULL; command_list = new NedCommandList(this, element->getSystem()); element->getVoice()->setBeamFlagsOf(command_list, m_selected_group, element); if (command_list->getNumberOfCommands() > 0) { m_command_history->addCommandList(command_list); } else { delete command_list; } return element; } gboolean NedMainWindow::handle_button_release (GtkWidget *widget, GdkEventButton *event, gpointer data) { double x; int i; GList *lptr; NedCommandList *commandList; if (NedResource::isPlaying()) return FALSE; NedMainWindow *main_window = (NedMainWindow *) data; if (main_window->m_selected_stem != NULL) { NedCommandList *command_list = new NedCommandList(main_window, main_window->m_selected_stem->getSystem()); NedFixIntermediateCommand *fix_intermdiate_cmd = new NedFixIntermediateCommand(main_window->m_selected_stem); fix_intermdiate_cmd->execute(); command_list->addCommand(fix_intermdiate_cmd); main_window->reposit(NULL, main_window->m_selected_note->getPage(), main_window->m_selected_note->getSystem()); main_window->m_command_history->addCommandList(command_list); } main_window->m_selected_stem = NULL; if (main_window->m_selection_rect.width > MIN_SELECTION_RECTANGLE_DIM && main_window->m_selection_rect.height > MIN_SELECTION_RECTANGLE_DIM) { gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON(main_window->m_customize_beam_button), "groupbeams-icon"); } else { gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON(main_window->m_customize_beam_button), "isolate-icon"); } if (event->button != 1) { return FALSE; } if (main_window->getMainWindowStatus() & SHIFT_MODE) { x = main_window->m_leftx / main_window->m_current_zoom; for (i = 0, lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr), i++) { if (((NedPage *) lptr->data)->getXPos() > x) { break; } } main_window->m_avoid_feedback = TRUE; gtk_spin_button_set_value(GTK_SPIN_BUTTON(main_window->m_page_selector), i); main_window->m_avoid_feedback = FALSE; return FALSE; } if (main_window->getMainWindowStatus() & INSERT_EREASE_MODE && !main_window->m_keyboard_ctrl_mode) return FALSE; if (main_window->m_selected_chord_or_rest != NULL) { main_window->m_selected_chord_or_rest->ReleaseTmpValue(); main_window->repaint(); } if (main_window->m_selected_free_replaceable != NULL) { main_window->m_selected_free_replaceable->toRel(); commandList = new NedCommandList(main_window); commandList->addCommand(new NedFixMovedFreePlaceableCommand(main_window->m_selected_free_replaceable)); if ((main_window->m_selected_free_replaceable->getType() & (FREE_PLACEABLE_CHORD | FREE_PLACEABLE_SPACER | FREE_PLACEABLE_CHORDNAME)) != 0) { main_window->setAllUnpositioned(); main_window->reposit(commandList); } main_window->m_command_history->addCommandList(commandList); main_window->repaint(); return FALSE; } if (main_window->m_selected_note == NULL) return FALSE; int new_line = main_window->m_selected_note->getTempLine(); if (new_line == UNKNOWN_LINE) return FALSE; int old_line = main_window->m_selected_note->getLine(); if (main_window->m_selected_note->noConflict()) { commandList = new NedCommandList(main_window, main_window->m_selected_note->getSystem()); main_window->m_selected_note->testForTiesToDelete(commandList, BREAK_TIE_BACKWARD | BREAK_TIE_FORWARD); commandList->addCommand(new NedNoteMoveCommand(main_window->m_selected_note, old_line, new_line)); commandList->execute(); main_window->m_command_history->addCommandList(commandList); } main_window->m_selected_note->handleRelease(); main_window->reposit(NULL, main_window->m_selected_note->getPage(), main_window->m_selected_note->getSystem()); main_window->repaint(); return FALSE; } gboolean NedMainWindow::scroll_event_handler(GtkWidget *widget, GdkEventScroll *event, gpointer data) { #define SCROLL_INCREMENT 40.0 if (NedResource::isPlaying()) return FALSE; NedMainWindow *main_window = (NedMainWindow *) data; if (event->state & GDK_SHIFT_MASK) { if (main_window->m_selected_chord_or_rest == NULL) return FALSE; int dir = (event->direction == GDK_SCROLL_UP) ? 1 : -1; if (!main_window->m_selected_chord_or_rest->testMeasureSpread(dir)) return FALSE; NedCommandList *command_list; NedChangeMeasureSpreadCommand *change_spread_cmd; command_list = new NedCommandList(main_window, main_window->m_selected_chord_or_rest->getSystem()); change_spread_cmd = new NedChangeMeasureSpreadCommand(main_window->m_selected_chord_or_rest->m_measure, dir); change_spread_cmd->execute(); command_list->addCommand(change_spread_cmd); main_window->setAllUnpositioned(); main_window->reposit(command_list); command_list->setFullReposit(); main_window->m_command_history->addCommandList(command_list); main_window->repaint(); return FALSE; } if (event->direction == GDK_SCROLL_UP) { main_window->setTopRelative(-SCROLL_INCREMENT); } else if (event->direction == GDK_SCROLL_DOWN) { main_window->setTopRelative(SCROLL_INCREMENT); } return FALSE; } int NedMainWindow::getSorting(NedPage *this_page, NedStaff *this_staff, NedPage *other_page, NedStaff *other_staff) { int pos0, pos1; if (this_staff->getStaffNumber() != other_staff->getStaffNumber()) { return SORTING_NONE; } if ((pos0 = g_list_index(m_pages, this_page)) < 0) { NedResource::Warning("NedMainWindow::getSorting: didn't foind page 0"); return SORTING_NONE; } if ((pos1 = g_list_index(m_pages, other_page)) < 0) { NedResource::Warning("NedMainWindow::getSorting: didn't foind page 1"); return SORTING_NONE; } if (pos0 + 1 == pos1) { return SORTING_GREAT; } if (pos1 + 1 == pos0) { return SORTING_LESS; } return SORTING_NONE; } void NedMainWindow::size_change_handler(GtkWidget *widget, GtkRequisition *allocation, gpointer data) { NedMainWindow *main_window = (NedMainWindow *) data; main_window->adjustView(); } void NedMainWindow::setButtons() { if (m_selected_chord_or_rest == NULL) return; m_avoid_feedback_action = TRUE; NedResource::setButtons(m_selected_chord_or_rest->getLength(), m_selected_chord_or_rest->getDotCount(), m_selected_chord_or_rest->getStatus(), (m_selected_chord_or_rest->isRest() || m_selected_note == NULL) ? 0 : m_selected_note->getStatus(), m_selected_chord_or_rest->isRest(), (m_selected_note == NULL) ? false : m_selected_note->getTieForward() != NULL, (m_selected_note == NULL) ? NORMAL_NOTE : m_selected_note->getNoteHead()); } void NedMainWindow::resetButtons() { NedResource::resetButtons(); } void NedMainWindow::prepareInsertion() { gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (m_insert_erease_mode_action), TRUE); g_main_context_iteration (NULL, FALSE); NedResource::resetTieButton(); } void NedMainWindow::setTopLeft(double x, double y) { NedPage *page; m_leftx += SHIFT_ACCEL * (m_mouse_x - x); m_topy += SHIFT_ACCEL * (m_mouse_y - y); page = (NedPage *) g_list_first(m_pages)->data; if (m_topy > page->getTopPos() - m_drawing_area->allocation.height / getCurrentScale()) { m_topy = page->getTopPos() - m_drawing_area->allocation.height / getCurrentScale(); } page = (NedPage *) g_list_last(m_pages)->data; if (m_leftx > page->getLeftPos() - m_drawing_area->allocation.width / getCurrentScale()) { m_leftx = page->getLeftPos() - m_drawing_area->allocation.width / getCurrentScale(); } if (m_leftx < 0) {m_leftx = 0; } if (m_topy < 0) {m_topy = 0;} m_mouse_x = x; m_mouse_y = y; if (m_selected_group != NULL) { g_list_free(m_selected_group); m_selected_group = NULL; } m_selection_rect.width = m_selection_rect.height = 0; } void NedMainWindow::setTopRelative(double y_incr) { NedPage *page; bool next_page_allowed = FALSE; page = (NedPage *) g_list_first(m_pages)->data; if (m_topy < 0.001 || m_topy > page->getTopPos() - m_drawing_area->allocation.height / getCurrentScale() - 0.001) { next_page_allowed = TRUE; } m_topy += y_incr; if (m_topy > page->getTopPos() - m_drawing_area->allocation.height / getCurrentScale()) { if (next_page_allowed) { if (setPageRelative(1)) { m_topy = 0.0; } else { m_topy = page->getTopPos() - m_drawing_area->allocation.height / getCurrentScale(); } } else { m_topy = page->getTopPos() - m_drawing_area->allocation.height / getCurrentScale(); } } if (m_topy < 0) { if (next_page_allowed) { if (setPageRelative(-1)) { m_topy = page->getTopPos() - m_drawing_area->allocation.height / getCurrentScale(); } else { m_topy = 0; } } else { m_topy = 0; } } if (m_selected_group != NULL) { g_list_free(m_selected_group); m_selected_group = NULL; } m_selection_rect.width = m_selection_rect.height = 0; repaint(); } void NedMainWindow::setToPage(int page_nr) { GList *lptr; if ((lptr = g_list_nth (m_pages, page_nr - 1)) == NULL) { return; } m_topy = 0; m_leftx = ((NedPage *) lptr->data)->getXPos() * m_current_zoom; if (m_selected_group != NULL) { g_list_free(m_selected_group); m_selected_group = NULL; } m_selection_rect.width = m_selection_rect.height = 0; repaint(); } bool NedMainWindow::setPageRelative(int y_incr) { GList *lptr; int page_nr; page_nr = (int) gtk_spin_button_get_value(GTK_SPIN_BUTTON(m_page_selector)); page_nr += y_incr; if ((lptr = g_list_nth (m_pages, page_nr - 1)) == NULL) { return FALSE; } if (m_selected_group != NULL) { g_list_free(m_selected_group); m_selected_group = NULL; } m_selection_rect.width = m_selection_rect.height = 0; gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_page_selector), page_nr); m_leftx = ((NedPage *) lptr->data)->getXPos() * m_current_zoom; return TRUE; } void NedMainWindow::adjustView() { if (m_pages == NULL) return; NedPage *page; page = (NedPage *) g_list_first(m_pages)->data; if (m_topy > page->getTopPos() - m_drawing_area->allocation.height) { m_topy = page->getTopPos() - m_drawing_area->allocation.height; } page = (NedPage *) g_list_last(m_pages)->data; if (m_leftx > page->getLeftPos() - m_drawing_area->allocation.width) { m_leftx = page->getLeftPos() - m_drawing_area->allocation.width; } if (m_selected_group != NULL) { g_list_free(m_selected_group); m_selected_group = NULL; } m_selection_rect.width = m_selection_rect.height = 0; if (m_leftx < 0) m_leftx = 0; if (m_topy < 0) m_topy = 0; } void NedMainWindow::write_png(GtkWidget *widget, void *data) { GList *lptr; gchar *selected_filename; char the_filename[4096]; GtkWidget *png_file_dialog; GtkWidget *access_dialog; GtkWidget *error_dialog; char *cptr; bool ok = false; bool extend; int page_nr; NedPage *page; char page_num_str[128]; cairo_surface_t *surface; cairo_t *cr; bool old_paint_colored; NedNote *old_selected_note; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; page_nr = (int) gtk_spin_button_get_value(GTK_SPIN_BUTTON(main_window->m_page_selector)); sprintf(page_num_str, "_%d", page_nr); if ((lptr = g_list_nth (main_window->m_pages, page_nr - 1)) == NULL) { lptr = g_list_first(main_window->m_pages); } page = (NedPage *) lptr->data; GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, "*.png (PNG-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.png"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); png_file_dialog = gtk_file_chooser_dialog_new (_("Create PNG"), GTK_WINDOW(main_window->m_main_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(png_file_dialog), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(png_file_dialog), file_filter2); if (main_window->m_current_filename[0] != '\0') { strcpy(the_filename, main_window->m_current_filename); if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".ntd")) { *cptr = '\0'; } } strcat(the_filename, page_num_str); strcat(the_filename, ".png"); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(png_file_dialog), the_filename); } if (gtk_dialog_run (GTK_DIALOG (png_file_dialog)) == GTK_RESPONSE_ACCEPT) { selected_filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (png_file_dialog)); strcpy(the_filename, selected_filename); g_free (selected_filename); ok = true; } if (ok && gtk_file_chooser_get_filter((GTK_FILE_CHOOSER (png_file_dialog))) == file_filter1) { extend = true; if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".png")) { extend = false; } } if (extend) { strcat(the_filename, page_num_str); strcat(the_filename, ".png"); } } gtk_widget_destroy (png_file_dialog); if (ok && access(the_filename, F_OK) == 0) { access_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("File %s already exists. Overwrite ?"), the_filename); if (gtk_dialog_run (GTK_DIALOG (access_dialog)) != GTK_RESPONSE_YES) { ok = false; } gtk_widget_destroy (access_dialog); } if (!ok) return; NedChordOrRest *old_selected_chord_or_rest = main_window->m_selected_chord_or_rest; old_selected_note = main_window->m_selected_note; old_paint_colored = main_window->m_paint_colored; main_window->m_paint_colored = false; main_window->m_selected_chord_or_rest = NULL; main_window->m_selected_note = NULL; main_window->m_draw_postscript = true; surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, (int) (page->getWidth() * main_window->m_current_zoom * main_window->getCurrentScale()), (int) (page->getHeight() * main_window->m_current_zoom * main_window->getCurrentScale())); cr = cairo_create (surface); #ifdef HAS_SET_SCALED_FONT cairo_set_scaled_font (cr, scaled_font); #else cairo_set_font_face(cr, NedResource::getFontFace()); cairo_set_font_matrix(cr, NedResource::getFontMatrix(main_window->m_current_zoom_level)); cairo_set_font_options(cr, NedResource::getFontOptions()); #endif page->draw(cr, gtk_toggle_action_get_active(main_window->m_show_measure_numbers_action), page->getWidth() * main_window->m_current_zoom * main_window->getCurrentScale(), page->getHeight() * main_window->m_current_zoom * main_window->getCurrentScale()); if (cairo_surface_write_to_png (surface, the_filename) != CAIRO_STATUS_SUCCESS) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for writing"), the_filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); ok = false; } cairo_surface_destroy (surface); cairo_destroy (cr); main_window->m_draw_postscript = false; main_window->m_paint_colored = old_paint_colored; main_window->m_selected_chord_or_rest = old_selected_chord_or_rest; main_window->m_selected_note = old_selected_note; } #ifdef CAIRO_HAS_SVG_SURFACE void NedMainWindow::write_svg(GtkWidget *widget, void *data) { FILE *svgfile; GList *lptr; gchar *selected_filename; char the_filename[4096]; GtkWidget *svg_file_dialog; GtkWidget *access_dialog; GtkWidget *error_dialog; char *cptr; bool ok = false; bool extend; int page_nr; NedPage *page; char page_num_str[128]; cairo_surface_t *surface; cairo_t *cr; bool old_paint_colored; NedNote *old_selected_note; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; page_nr = (int) gtk_spin_button_get_value(GTK_SPIN_BUTTON(main_window->m_page_selector)); sprintf(page_num_str, "_%d", page_nr); if ((lptr = g_list_nth (main_window->m_pages, page_nr - 1)) == NULL) { lptr = g_list_first(main_window->m_pages); } page = (NedPage *) lptr->data; GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, "*.svg (SVG-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.svg"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); svg_file_dialog = gtk_file_chooser_dialog_new (_("Create SVG"), GTK_WINDOW(main_window->m_main_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(svg_file_dialog), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(svg_file_dialog), file_filter2); if (main_window->m_current_filename[0] != '\0') { strcpy(the_filename, main_window->m_current_filename); if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".ntd")) { *cptr = '\0'; } } strcat(the_filename, page_num_str); strcat(the_filename, ".svg"); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(svg_file_dialog), the_filename); } if (gtk_dialog_run (GTK_DIALOG (svg_file_dialog)) == GTK_RESPONSE_ACCEPT) { selected_filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (svg_file_dialog)); strcpy(the_filename, selected_filename); g_free (selected_filename); ok = true; } if (ok && gtk_file_chooser_get_filter((GTK_FILE_CHOOSER (svg_file_dialog))) == file_filter1) { extend = true; if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".svg")) { extend = false; } } if (extend) { strcat(the_filename, page_num_str); strcat(the_filename, ".svg"); } } gtk_widget_destroy (svg_file_dialog); if (ok && access(the_filename, F_OK) == 0) { access_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("File %s already exists. Overwrite ?"), the_filename); if (gtk_dialog_run (GTK_DIALOG (access_dialog)) != GTK_RESPONSE_YES) { ok = false; } gtk_widget_destroy (access_dialog); } if (ok) { if ((svgfile = fopen(the_filename, "w")) == NULL) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for writing"), the_filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); ok = false; } } if (!ok) return; NedChordOrRest *old_selected_chord_or_rest = main_window->m_selected_chord_or_rest; old_selected_note = main_window->m_selected_note; old_paint_colored = main_window->m_paint_colored; main_window->m_paint_colored = false; main_window->m_selected_chord_or_rest = NULL; main_window->m_selected_note = NULL; main_window->m_draw_postscript = true; surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, (int) (page->getWidth() * main_window->m_current_zoom * main_window->getCurrentScale()), (int) (page->getHeight() * main_window->m_current_zoom * main_window->getCurrentScale())); surface = cairo_svg_surface_create_for_stream (writefunc, (void *) svgfile, (int) (page->getWidth() * main_window->m_current_zoom * main_window->getCurrentScale()), (int) (page->getHeight() * main_window->m_current_zoom * main_window->getCurrentScale())); cr = cairo_create (surface); #ifdef HAS_SET_SCALED_FONT cairo_set_scaled_font (cr, scaled_font); #else cairo_set_font_face(cr, NedResource::getFontFace()); cairo_set_font_matrix(cr, NedResource::getFontMatrix(main_window->m_current_zoom_level)); cairo_set_font_options(cr, NedResource::getFontOptions()); #endif page->draw(cr, gtk_toggle_action_get_active(main_window->m_show_measure_numbers_action), page->getWidth() * main_window->m_current_zoom * main_window->getCurrentScale(), page->getHeight() * main_window->m_current_zoom * main_window->getCurrentScale()); cairo_surface_destroy (surface); cairo_destroy (cr); fclose(svgfile); main_window->m_draw_postscript = false; main_window->m_paint_colored = old_paint_colored; main_window->m_selected_chord_or_rest = old_selected_chord_or_rest; main_window->m_selected_note = old_selected_note; } #endif void NedMainWindow::write_ps(GtkWidget *widget, void *data) { FILE *psfile; gchar *selected_filename; char the_filename[4096]; GtkWidget *ps_file_dialog; GtkWidget *access_dialog; GtkWidget *error_dialog; char *cptr; bool ok = FALSE; bool extend; NedMainWindow *main_window = (NedMainWindow *) data; if (NedResource::isPlaying()) return; GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, "*.ps (PostScript-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.ps"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); ps_file_dialog = gtk_file_chooser_dialog_new (_("Create Postscript"), GTK_WINDOW(main_window->m_main_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(ps_file_dialog), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(ps_file_dialog), file_filter2); if (main_window->m_current_filename[0] != '\0') { strcpy(the_filename, main_window->m_current_filename); if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".ntd")) { *cptr = '\0'; } } strcat(the_filename, ".ps"); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(ps_file_dialog), the_filename); } if (gtk_dialog_run (GTK_DIALOG (ps_file_dialog)) == GTK_RESPONSE_ACCEPT) { selected_filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (ps_file_dialog)); strcpy(the_filename, selected_filename); g_free (selected_filename); ok = TRUE; } if (ok && gtk_file_chooser_get_filter((GTK_FILE_CHOOSER (ps_file_dialog))) == file_filter1) { extend = TRUE; if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".ps")) { extend = FALSE; } } if (extend) { strcat(the_filename, ".ps"); } } gtk_widget_destroy (ps_file_dialog); if (ok && access(the_filename, F_OK) == 0) { access_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("File %s already exists. Overwrite ?"), the_filename); if (gtk_dialog_run (GTK_DIALOG (access_dialog)) != GTK_RESPONSE_YES) { ok = FALSE; } gtk_widget_destroy (access_dialog); } if (ok) { if ((psfile = fopen(the_filename, "w")) == NULL) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for writing"), the_filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); ok = FALSE; } } if (!ok) return; main_window->do_export_to_stream(psfile, STREAM_FILE_TYPE_PS); fclose(psfile); } #ifdef CAIRO_HAS_PDF_SURFACE void NedMainWindow::write_pdf(GtkWidget *widget, void *data) { FILE *pdffile; gchar *selected_filename; char the_filename[4096]; GtkWidget *pdf_file_dialog; GtkWidget *access_dialog; GtkWidget *error_dialog; char *cptr; bool ok = FALSE; bool extend; NedMainWindow *main_window = (NedMainWindow *) data; if (NedResource::isPlaying()) return; GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, "*.pdf (PDF-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.pdf"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); pdf_file_dialog = gtk_file_chooser_dialog_new (_("Create PDF"), GTK_WINDOW(main_window->m_main_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(pdf_file_dialog), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(pdf_file_dialog), file_filter2); if (main_window->m_current_filename[0] != '\0') { strcpy(the_filename, main_window->m_current_filename); if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".ntd")) { *cptr = '\0'; } } strcat(the_filename, ".pdf"); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(pdf_file_dialog), the_filename); } if (gtk_dialog_run (GTK_DIALOG (pdf_file_dialog)) == GTK_RESPONSE_ACCEPT) { selected_filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (pdf_file_dialog)); strcpy(the_filename, selected_filename); g_free (selected_filename); ok = TRUE; } if (ok && gtk_file_chooser_get_filter((GTK_FILE_CHOOSER (pdf_file_dialog))) == file_filter1) { extend = TRUE; if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".pdf")) { extend = FALSE; } } if (extend) { strcat(the_filename, ".pdf"); } } gtk_widget_destroy (pdf_file_dialog); if (ok && access(the_filename, F_OK) == 0) { access_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("File %s already exists. Overwrite ?"), the_filename); if (gtk_dialog_run (GTK_DIALOG (access_dialog)) != GTK_RESPONSE_YES) { ok = FALSE; } gtk_widget_destroy (access_dialog); } if (ok) { if ((pdffile = fopen(the_filename, "w")) == NULL) { error_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for writing"), the_filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); ok = FALSE; } } if (!ok) return; main_window->do_export_to_stream(pdffile, STREAM_FILE_TYPE_PDF); fclose(pdffile); } #endif cairo_status_t NedMainWindow::writefunc(void *fdv, const unsigned char *data, unsigned int length) { if (fwrite(data, length, 1, (FILE *) fdv) != 1) { NedResource::Abort("Fehler in writefunc\n"); } return CAIRO_STATUS_SUCCESS; } void NedMainWindow::do_export_to_stream(FILE *psfile, int stream_file_type) { cairo_surface_t* stream_file_surface; cairo_t *cr; char Str[1024]; int old_zoom_level = m_current_zoom_level; NedChordOrRest *old_selected_chord_or_rest = m_selected_chord_or_rest; NedNote *old_selected_note = m_selected_note; bool old_paint_colored = m_paint_colored; m_paint_colored = false; m_selected_chord_or_rest = NULL; m_selected_note = NULL; m_draw_postscript = true; if (NedResource::isPlaying()) return; if (stream_file_type == STREAM_FILE_TYPE_PS) { if (m_portrait) { stream_file_surface = cairo_ps_surface_create_for_stream(writefunc, (void *) psfile, m_current_paper->width, m_current_paper->height); } else { stream_file_surface = cairo_ps_surface_create_for_stream(writefunc, (void *) psfile, m_current_paper->height, m_current_paper->width); } cairo_ps_surface_dsc_comment(stream_file_surface, "%%Creator: nted by J.Anders (ja@informatik.tu-chemnitz.de\n"); if (m_current_filename[0] == '\0') { cairo_ps_surface_dsc_comment(stream_file_surface, "%%Title: Music\n"); } else { sprintf(Str, "%%Title: %s\n", m_current_filename); cairo_ps_surface_dsc_comment(stream_file_surface, Str); } cairo_ps_surface_dsc_begin_setup(stream_file_surface); cairo_ps_surface_dsc_begin_page_setup (stream_file_surface); } else { if (m_portrait) { stream_file_surface = cairo_pdf_surface_create_for_stream(writefunc, (void *) psfile, m_current_paper->width, m_current_paper->height); } else { stream_file_surface = cairo_pdf_surface_create_for_stream(writefunc, (void *) psfile, m_current_paper->height, m_current_paper->width); } } cr = cairo_create (stream_file_surface); m_current_zoom_level = 4; m_current_zoom = PS_ZOOM2; adjustAfterZoom(); computeSystemIndent(); computeScoreTextExtends(); draw(cr, m_current_paper->width, m_current_paper->height); cairo_surface_destroy (stream_file_surface); cairo_destroy (cr); m_draw_postscript = false; m_paint_colored = old_paint_colored; m_selected_chord_or_rest = old_selected_chord_or_rest; m_selected_note = old_selected_note; m_current_zoom_level = old_zoom_level; m_current_zoom = NedResource::getZoomFactor(m_current_zoom_level); adjustAfterZoom(); computeSystemIndent(); computeScoreTextExtends(); } void NedMainWindow::new_window(GtkWidget *widget, void *data) { NedMainWindow *ned_main_window = new NedMainWindow(); // the new window registers itself in NedResource::m_main_windows list #ifdef YELP_PATH ned_main_window->createLayout(NULL, NedResource::m_yelparg); #else ned_main_window->createLayout(NULL, NULL); #endif } void NedMainWindow::create_excerpt(GtkWidget *widget, void *data) { GList *lptr; struct addr_ref_str *addrlist = NULL, *slurlist = NULL, *addr_ptr; SpecialMeasure *spec_measure; NedMainWindow *main_window = (NedMainWindow *) data; bool *staves = (bool *) alloca(main_window->m_staff_count * sizeof(bool)); bool state, correct_layout = false; int i, j; NedStaffSelectDialog *staff_select_dialog = new NedStaffSelectDialog(GTK_WINDOW(main_window->m_main_window), _("select staves"), main_window, staves); staff_select_dialog->getValues(&state); delete staff_select_dialog; if (!state) return; NedMainWindow *ned_main_window = new NedMainWindow(); // the new window registers itself in NedResource::m_main_windows list ned_main_window->m_staff_count = main_window->m_staff_count; ned_main_window->m_global_spacement_fac = main_window->m_global_spacement_fac; ned_main_window->m_numerator = main_window->m_numerator; ned_main_window->m_denominator = main_window->m_denominator; ned_main_window->m_timesig_symbol = main_window->m_timesig_symbol; ned_main_window->m_midi_tempo_inverse = main_window->m_midi_tempo_inverse; ned_main_window->m_upbeat_inverse = main_window->m_upbeat_inverse; ned_main_window->m_score_info = main_window->m_score_info; ned_main_window->m_first_page_yoffs = main_window->m_first_page_yoffs; ned_main_window->m_current_paper = main_window->m_current_paper; ned_main_window->m_current_scale = main_window->m_current_scale; ned_main_window->m_portrait = main_window->m_portrait; for (lptr = g_list_first(main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { if ((spec_measure = (SpecialMeasure *) g_try_malloc(sizeof(SpecialMeasure))) == NULL) { NedResource::Abort("NedMainWindow::create_excerpt: malloc"); } *spec_measure = (*((SpecialMeasure *) lptr->data)); ned_main_window->m_special_measures = g_list_append(ned_main_window->m_special_measures, spec_measure); } #ifdef YELP_PATH ned_main_window->createLayout(NULL, NedResource::m_yelparg); #else ned_main_window->createLayout(NULL, NULL); #endif for (i = j = 0; i < main_window->m_staff_count; i++) { if (!staves[i]) { ned_main_window->m_staff_count--; correct_layout = true; continue; } ned_main_window->m_staff_contexts[j] = main_window->m_staff_contexts[i]; if (main_window->m_staff_contexts[i].m_staff_name != NULL) { ned_main_window->m_staff_contexts[j].m_staff_name = main_window->m_staff_contexts[i].m_staff_name->clone(); } if (ned_main_window->m_staff_contexts[j].m_staff_short_name != NULL) { ned_main_window->m_staff_contexts[j].m_staff_short_name = main_window->m_staff_contexts[i].m_staff_short_name->clone(); } if (main_window->m_staff_contexts[i].m_group_name != NULL) { ned_main_window->m_staff_contexts[j].m_group_name = main_window->m_staff_contexts[i].m_group_name->clone(); } if (ned_main_window->m_staff_contexts[j].m_group_short_name != NULL) { ned_main_window->m_staff_contexts[j].m_group_short_name = main_window->m_staff_contexts[i].m_group_short_name->clone(); } j++; } delete (NedPage *) g_list_first(ned_main_window->m_pages)->data; g_list_free(ned_main_window->m_pages); ned_main_window->m_pages = NULL; for (lptr = g_list_first(main_window->m_pages); lptr; lptr = g_list_next(lptr)) { ned_main_window->m_pages = g_list_append(ned_main_window->m_pages, ((NedPage *) lptr->data)->clone(&addrlist, &slurlist, ned_main_window, staves)); } for (lptr = g_list_first(ned_main_window->m_pages); lptr; lptr = g_list_next(lptr)) { ((NedPage *) lptr->data)->adjust_pointers(addrlist, slurlist); } while (addrlist != NULL) { addr_ptr = addrlist->next; g_free(addrlist); addrlist = addr_ptr; } while (slurlist != NULL) { addr_ptr = slurlist->next; g_free(slurlist); slurlist = addr_ptr; } if (correct_layout) { for (i = 0; i < ned_main_window->m_staff_count; i++) { ned_main_window->m_staff_contexts[i].m_flags = 0; } } ned_main_window->computeSystemIndent(); ned_main_window->m_topy = ned_main_window->m_leftx = 0; NedCommandList *command_list = new NedCommandList(ned_main_window); ned_main_window->setNewMeasureSpread(ned_main_window->m_global_spacement_fac); ned_main_window->setAndUpdateClefTypeAndKeySig(); ned_main_window->setAllUnpositioned(); ned_main_window->reposit(command_list); ned_main_window->zoomFreeReplaceables(ned_main_window->m_current_zoom, ned_main_window->getCurrentScale()); ned_main_window->setAndUpdateClefTypeAndKeySig(); ned_main_window->setAllUnpositioned(); ned_main_window->reposit(command_list); ned_main_window->updatePageCounter(); } bool NedMainWindow::close_window2(GtkWidget *widget, GdkEvent *event, gpointer data) { close_window(widget, data); return FALSE; } void NedMainWindow::close_window(GtkWidget *widget, void *data) { GList *lptr; bool stop_closing = false, do_save = false; GtkWidget *unsaved_dialog; if (NedResource::isPlaying()) return; NedMainWindow *main_window = (NedMainWindow *) data; if ((lptr = g_list_find(NedResource::m_main_windows, main_window)) == NULL) { NedResource::Abort("NedMainWindow::close_window"); } if (main_window->m_config_changed || main_window->m_command_history->unsavedOperations()) { unsaved_dialog = gtk_message_dialog_new (GTK_WINDOW(main_window->m_main_window), (GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO, _("Save Changes ?")); gtk_dialog_add_buttons(GTK_DIALOG (unsaved_dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); switch (gtk_dialog_run (GTK_DIALOG (unsaved_dialog))) { case GTK_RESPONSE_YES: do_save = true; break; case GTK_RESPONSE_REJECT: stop_closing = true; break; } gtk_widget_destroy (unsaved_dialog); if (stop_closing) { return; } if (do_save) { save_score(main_window->m_main_window, data); } } NedResource::m_main_windows = g_list_delete_link(NedResource::m_main_windows, lptr); if (g_list_length(NedResource::m_main_windows) < 1) { NedResource::cleanup(); } if (NedResource::m_recorded_staff != NULL && NedResource::m_recorded_staff->getMainWindow() == main_window) { NedResource::m_recorded_staff = NULL; } delete main_window; if (g_list_length(NedResource::m_main_windows) < 1) { gtk_main_quit(); } } int main (int argc, char **argv) { #ifdef YELP_PATH const gchar* const *langnames; const gchar* const *cptr; char Str[1024]; #endif bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); NedMainWindow *ned_main_window = new NedMainWindow(); // the new window registers itself in NedResource::m_main_windows list if (argc > 2) { fprintf(stderr, _("Usage: %s [.ntd]\n"), argv[0]); exit(1); } gtk_init (&argc, &argv); #ifdef YELP_PATH langnames = g_get_language_names (); for (cptr = langnames; *cptr != NULL; cptr++) { sprintf(Str, "%s/%s/index.docbook", NTED_HTMLDIR, *cptr); if (!access(Str, R_OK)) { NedResource::m_yelparg = strdup(Str); break; } } if (NedResource::m_yelparg == NULL) { sprintf(Str, "%s/en/index.docbook", NTED_HTMLDIR); if (!access(Str, R_OK)) { NedResource::m_yelparg = strdup(Str); } } #endif if (setlocale(LC_NUMERIC, "C") == NULL) { if (setlocale(LC_NUMERIC, "POSIX") == NULL) { NedResource::Warning(_("unable to set decimal point to '.'. PostScript output will be erroneous. \ Please set the $LANG environment variable appropriately!")); } } NedResource::initialize(); #ifdef YELP_PATH ned_main_window->createLayout((argc == 2) ? argv[1] : NULL, NedResource::m_yelparg); #else ned_main_window->createLayout((argc == 2) ? argv[1] : NULL, NULL); #endif gtk_main (); return 0; } bool SpecialMeasure::isNear(double x, double y) { //if (type & REP_TYPE_MASK != REPEAT_CLOSE) return false; if ((type & START_TYPE_MASK) == 0) return false; if (measure == NULL) { NedResource::DbgMsg(DBG_CRITICAL, "0x%x: type = 0x%x, measnum = %d measure = 0x%x, (0x%x)\n", this, type, measure_number, measure, &measure); NedResource::Abort("SpecialMeasure::isNear"); } return measure->nearRepeatElement(x, y); } int SpecialMeasure::compare_spec_measures(const SpecialMeasure *a, const SpecialMeasure *b) { if (a->measure_number < b->measure_number) return -1; if (a->measure_number == b->measure_number) return 0; return 1; } nted-1.10.18/freespacer.h0000664001041000007640000000430011520267230012017 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef FREE_SPACER_H #define FREE_SPACER_H #include "freereplaceable.h" class NedMainWindow; class NedFreeSpacer : public NedFreeReplaceable { public: NedFreeSpacer(NedMainWindow *main_window); NedFreeSpacer(NedMainWindow *main_window, NedChordOrRest *element); NedFreeSpacer(NedMainWindow *main_window, NedChordOrRest *element, double x, double y, bool relative); virtual NedFreeReplaceable *clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area = NULL, NedMainWindow *main_window = NULL ) { return NULL; } virtual void adjust_pointers(struct addr_ref_str *slurlist) {} virtual bool trySelect(double xl, double yl, double zoom_factor, double current_scale, double leftx, double topy); virtual void draw(cairo_t *cr, double leftx, double topy, double zoom, int zoom_level, double scale); virtual int getType() {return FREE_PLACEABLE_SPACER;} virtual void startContextDialog(GtkWidget *ref) {} private: NedMainWindow *m_main_window; }; #endif /* FREE_SPACER_H */ nted-1.10.18/positionarray.h0000664001041000007640000000741411520267230012614 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef POSITIONARRAY_H #define POSITIONARRAY_H #include "dynarray.h" class NedChordOrRest; struct voice_properties { char m_stem_decision; short m_line_sum; short m_note_count; short m_rests_count; }; class NedPosition { public: NedPosition(NedChordOrRest *element, int offs, unsigned int staff_count); void placeRests(struct voice_properties *vprops); bool m_valid; bool m_has_notes; bool m_has_unhidden_elements; bool m_has_only_staff_members; bool m_has_only_graces; bool m_element_has_arpeggio; bool isUsed(int offs); double m_max_microshift; double m_step_width; unsigned int m_min_duration; unsigned long long m_midi_time; bool hasNote(); void placeAt(double xpos, int *v_array, struct voice_properties *v_props, int mnum, bool out); void computeAccidentalPositions(int mnum, bool out); void shiftXpos(double xshift, int mnum, int pos); void setNewStaffCount(unsigned int newstaffcount); void computeMicroShifts(int mnum, int pos, bool out); bool hasOtherStaffElements(int type); double m_min_width_after, m_min_width_before, m_acc_dist, m_needed_width, m_min_needed_width ; void insertElement(NedChordOrRest *element, int offs); bool insertStaffElement(NedChordOrRest *element, int staff_offs); void empty(); #ifdef UUU bool print(); #endif private: NedDynArray m_voice_members; NedDynArray m_count_of_elements_per_staff; NedDynArray m_staff_members; unsigned int m_staff_count; }; class NedPositionArray { public: NedPositionArray(); ~NedPositionArray(); void insertElement(NedChordOrRest *element, int offs, int mnum); void insertStaffElement(NedChordOrRest *element, int staff_offs, int mnum); void insertGraceElement(NedChordOrRest *element, int offs, int mnum); void empty(); double computeAndSetPositions(double start_position, int *num_elements, double *extra_space_for_accidentals, bool *measure_has_only_staff_members /* means keysig */ ,double timesig_space, int mnum, double spread_fac, bool out); void setNewStaffCount(unsigned int newstaffcount); double shiftXpos(double extra_space_divided, double shift, int mnum, bool out); unsigned int getStoredStaffCount() {return m_staff_count;} int getStemDirectionOfTheMeasure(int m_staff_voice_offs); #ifdef UUU void print(); #endif private: unsigned int m_staff_count; unsigned int m_min_duration; double m_min_durations_dist; NedDynArray m_positions; NedDynArray m_voice_properties; static int compare_positions(NedPosition **pos1, NedPosition **pos2); }; #endif /* POSITIONARRAY_H */ nted-1.10.18/pangocairotext.h0000664001041000007640000000676311520267230012746 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef PANGO_CAIRO_TEXT_H #define PANGO_CAIRO_TEXT_H #include "config.h" #include #include #include class NedPangoCairoText { public: NedPangoCairoText(GdkDrawable *d, const char *text, const char* font_family, PangoStyle style, PangoWeight weight, double size, double zoom, double scale, bool hide_trailing_hyphen); ~NedPangoCairoText(); NedPangoCairoText *clone(); void setZoom(double zoom, double scale); void adjust(GdkDrawable *d, double zoom, double scale); void setText(char *text, double zoom, bool hide_trailing_hyphen); bool textDiffers(char *other_text); bool moveCursor(int dist); void insertAtCursorPosition(const char *text, double zoom); bool removeAtCursorPosition(double zoom); char *getText(); double getWidth(); double getHeight(); double getInternalWidth(); double getInternalHeight(); bool hasHiddenHyphen() {return m_hidden_hyphen;} void setCursorToLastPos(); void setCursorToFirstPos(); double getFontSize(); void draw(cairo_t *cr, double xpos, double ypos, double zoom, double scale); void drawCursor(cairo_t *cr, double xpos, double ypos, double zoom_factor); static double getInternalFactor(); static void handle_spec_utf8_chars(char *cptr, char *cptr2); static void convert_bslash_text_to_utf8_text(const char *in_text, char *out_text); static void makeLilyString(char *n_string, char *buffer); private: void createLayout(cairo_t *cr, double zoom, double scale); void computeCursorPosition(); void computeDimensions(); char *inspect_text(const char *text); static struct utf8_element { const char *short_chars; unsigned char utf8code[4]; } utf8code_array[]; PangoLayout *m_display_layout; PangoLayout *m_measure_layout; GdkDrawable *m_drawable; bool m_hidden_hyphen; char *m_text; char *m_measure_text; const char *m_font_family; PangoStyle m_style; PangoWeight m_weight; double m_size; int m_width; int m_height; int m_internal_width; int m_internal_height; bool m_hide_hyphen; unsigned int m_cursor_idx; PangoRectangle m_cursorpos; class specLetter { public: specLetter(const char *let, int ix, double xo, double yo); const char *letter; int idx; double xoffs, yoffs; PangoRectangle pos; }; GList *m_spec_letters; }; #endif /* PANGO_CAIRO_TEXT_H */ nted-1.10.18/acceleration.h0000664001041000007640000000355411520267230012343 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef ACCELERATION_H #define ACCELERATION_H #include "line3.h" class NedAcceleration : public NedLine3 { public: NedAcceleration(NedLinePoint *start, NedLinePoint *mid, NedLinePoint *end, bool ritardando); NedAcceleration(NedLinePoint *start, NedLinePoint *mid, NedLinePoint *end, bool ritardando, double tempodiff); virtual void draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level); virtual int getLineType() {return m_ritardando ? LINE_RITARDANDO : LINE_ACCELERANDO;} virtual void startContextDialog(GtkWidget *ref); bool isRitardando() {return m_ritardando;} double m_tempodiff; private: bool m_ritardando; }; #endif /* ACCELERATION_H */ nted-1.10.18/missing0000775001041000007640000002623311520267230011137 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2009-04-28.21; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # 2008, 2009 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # 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 # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar*) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: nted-1.10.18/config.h.in0000664001041000007640000000252711520267352011570 00000000000000/* config.h.in. Generated from configure.in by autoheader. */ /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Version number of package */ #undef VERSION /* Path to yelp program */ #undef YELP_PATH nted-1.10.18/temposign.cpp0000664001041000007640000001605111520267230012246 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "temposign.h" #include "chordorrest.h" #include "tempodialog.h" #include "staff.h" #include "system.h" #include "page.h" #define X_POS_PAGE_REL(p) ((m_element->getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_PAGE_REL(p) ((p) * zoom_factor - topy) NedTempoSign::NedTempoSign(unsigned int kind, unsigned int tempo) : NedFreeReplaceable(), m_kind(kind), m_tempo(tempo), m_number_len(0), m_dot(0) {computeGlypths();} NedTempoSign::NedTempoSign(unsigned int kind, unsigned int tempo, NedChordOrRest *element) : NedFreeReplaceable(element), m_kind(kind), m_tempo(tempo), m_number_len(0), m_dot(0) {computeGlypths();} NedTempoSign::NedTempoSign(unsigned int kind, unsigned int tempo, NedChordOrRest *element, double x, double y, bool relative) : NedFreeReplaceable(element, x, y, relative), m_kind(kind), m_tempo(tempo), m_number_len(0), m_dot(0) {computeGlypths();} NedFreeReplaceable *NedTempoSign::clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area /* = NULL */, NedMainWindow *main_window /* = NULL */) { NedTempoSign *newVolSig = new NedTempoSign(m_kind, m_tempo, newelement, m_x, m_y, true); return newVolSig; } void NedTempoSign::adjust_pointers(struct addr_ref_str *slurlist) { } void NedTempoSign::setTempo(unsigned int kind, unsigned int tempo) { m_kind = kind; m_tempo = tempo; computeGlypths(); } double NedTempoSign::getTempoInverse() { if (m_dot) { return (double) NOTE_4 / (double) (3 * m_kind / 2) * 60000.0 / (double) m_tempo; } return (double) NOTE_4 / (double) m_kind * 60000.0 / (double) m_tempo; } void NedTempoSign::computeGlypths() { switch (m_kind) { case WHOLE_NOTE: m_dot = 0; break; case NOTE_2: m_dot = 0; break; case 3 * NOTE_2 / 2: m_dot = 1; m_kind = NOTE_2; break; case NOTE_4: m_dot = 0; break; case 3 * NOTE_4 / 2: m_dot = 1; m_kind = NOTE_4; break; case NOTE_8: m_dot = 0; break; case 3 * NOTE_8 / 2: m_dot = 1; m_kind = NOTE_8; break; case NOTE_16: m_dot = 0; break; case 3 * NOTE_16 / 2: m_dot = 1; m_kind = NOTE_16; break; default: NedResource::Abort("NedTempoSign::computeGlypths"); break; } if (m_tempo < 10) { m_number_len = 1; m_glyphs[0].index = m_tempo + NUMBERBASE; return; } if (m_tempo < 100) { m_number_len = 2; m_glyphs[0].index = (m_tempo / 10) + NUMBERBASE; m_glyphs[1].index = (m_tempo % 10) + NUMBERBASE; return; } m_number_len = 3; m_glyphs[0].index = (m_tempo / 100) + NUMBERBASE; m_glyphs[1].index = ((m_tempo % 100) / 10) + NUMBERBASE; m_glyphs[2].index = (m_tempo % 10) + NUMBERBASE; } void NedTempoSign::startContextDialog(GtkWidget *ref) { bool state; unsigned int newtempo, newkind; bool newdot; NedTempoDialog *tempo_dialog = new NedTempoDialog(GTK_WINDOW(ref), false, m_kind, m_dot, m_tempo); tempo_dialog->getValues(&state, &newkind, &newdot, &newtempo); delete tempo_dialog; if (state) { m_kind = newdot ? 3 * newkind / 2 : newkind; m_tempo = newtempo; computeGlypths(); } } void NedTempoSign::draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale) { if (m_element == NULL) return; double xpos, ypos; int i; #define EXTRA_OFFS 0.15 double extra_offs = 0.0; cairo_glyph_t glyph; cairo_matrix_t m; double extra_x_offs = 0.0; getXYPos(&xpos, &ypos); cairo_new_path(cr); if (isActive()) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } switch(m_kind) { case WHOLE_NOTE: glyph.index = BASE + 6; break; case NOTE_2: glyph.index = BASE + 7; break; case NOTE_4: glyph.index = BASE + 4; break; default: glyph.index = BASE + 4; extra_offs = EXTRA_OFFS; break; } glyph.x = 0.0; glyph.y = 0.0; cairo_get_matrix(cr, &m); #define X_SPACE 0.4 cairo_translate(cr, X_POS_PAGE_REL(xpos - X_SPACE), Y_POS_PAGE_REL(ypos)); #define SCALE 0.6 cairo_scale(cr, SCALE, SCALE); cairo_show_glyphs(cr, &glyph, 1); #define EQU_XOFFS 0.3 #define EQU_LEN 0.3 #define QE_1_POS 0.0 #define QE_2_POS 0.1 #define NUMBER_DIST 0.55 #define DIGIT_DIST 0.3 #define NUMBER_Y_POS 0.2 #define TEMPO_DOT_DIST (1.3 * LINE_DIST) #define TEMPO_DOT_RAD (0.2 * LINE_DIST) #define TEMPO_DOT_EXTRA_X_OFFS (0.4 * LINE_DIST) if (m_dot) { extra_x_offs = TEMPO_DOT_EXTRA_X_OFFS; cairo_new_path(cr); cairo_arc(cr, zoom_factor * TEMPO_DOT_DIST, 0.0, zoom_factor * TEMPO_DOT_RAD, 0.9, 2.0 * M_PI); cairo_fill(cr); } glyph.index = BASE + 5; if (m_kind < NOTE_4) { glyph.x = zoom_factor * (extra_x_offs + HEAD_THICK_HALF - 0.15); glyph.y = -zoom_factor * 0.8 * STEM_DEFAULT_HEIGHT; cairo_show_glyphs(cr, &glyph, 1); } if (m_kind < NOTE_8) { glyph.x = zoom_factor * (extra_x_offs + HEAD_THICK_HALF - 0.15); glyph.y = -zoom_factor * 0.6 * STEM_DEFAULT_HEIGHT; cairo_show_glyphs(cr, &glyph, 1); } for (i = 0; i < 3;i++) { m_glyphs[i].x = zoom_factor * (extra_x_offs + NUMBER_DIST + extra_offs + i * DIGIT_DIST); m_glyphs[i].y = zoom_factor * NUMBER_Y_POS; } cairo_show_glyphs(cr, m_glyphs, m_number_len); cairo_stroke(cr); cairo_set_line_width(cr, zoom_factor * 1.4 * STEM_THICK); if (m_kind < WHOLE_NOTE) { cairo_new_path(cr); cairo_move_to(cr, zoom_factor * (HEAD_THICK_HALF - 0.15), 0.0); cairo_line_to(cr, zoom_factor * (HEAD_THICK_HALF - 0.15), - zoom_factor * 0.8 * STEM_DEFAULT_HEIGHT); cairo_stroke(cr); } cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * STEM_THICK); cairo_move_to(cr, zoom_factor * (extra_x_offs + EQU_XOFFS + EQU_LEN + extra_offs), - zoom_factor * QE_1_POS); cairo_line_to(cr, zoom_factor * (extra_x_offs + EQU_XOFFS + extra_offs), - zoom_factor * QE_1_POS); cairo_move_to(cr, zoom_factor * (extra_x_offs + EQU_XOFFS + EQU_LEN + extra_offs), - zoom_factor * QE_2_POS); cairo_line_to(cr, zoom_factor * (extra_x_offs + EQU_XOFFS + extra_offs), - zoom_factor * QE_2_POS); cairo_stroke(cr); if (isActive()) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } cairo_set_matrix(cr, &m); if (m_is_abs) { drawConnection(cr, xpos, ypos, leftx, topy, zoom_factor); } } ; nted-1.10.18/staff.h0000664001041000007640000002143511520267230011013 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef STAFF_H #define STAFF_H #include "config.h" #include "resource.h" #include #include class NedMainWindow; class NedPage; class NedSystem; class NedVoice; class NedChordOrRest; class NedClipBoard; class NedCommandList; class NedLyricsEditor; struct VoiceInfoContainer; class NedMeasure; class NedSlur; class part; class NedStaff { public: NedStaff(NedSystem *system, double ypos, double width, int nr, bool start); ~NedStaff(); NedStaff *clone(struct addr_ref_str **addrlist, struct addr_ref_str **slurlist, NedSystem *p_system, int staff_number); void adjust_pointers(struct addr_ref_str *addrlist, struct addr_ref_str *slurlist); void draw(cairo_t *cr, double botpos, bool first_page, double indent, bool *freetexts_or_lyrics_present); void drawTexts(cairo_t *cr, bool first_page, double scale); NedMainWindow *getMainWindow(); NedPage *getPage(); NedSystem *getSystem() {return m_system;} int getStaffNumber() {return m_staff_number;} bool truncateAtStart(NedCommandList *command_list, unsigned long long midi_time); void setStaffNumber(int nr) {m_staff_number = nr;} void prepareForImport(); void appendElementsOfMeasureLength(part *part_ptr, unsigned int meas_duration, int meas_num); void copyDataOfWholeStaff(); void removeLastImported(); bool handleImportedTuplets(); void handleStaffElements(); //bool find_new_cursor_pos(guint keyval, int *x, int *y, double *dist); bool trySelect (double x, double y, bool only_free_placeables); NedChordOrRest *findNearestElement(double x, double y, NedStaff *oldstaff, double *mindist, double *ydist); bool tryInsertOrErease (double x, double y, int num_midi_input_notes, int *midi_input_chord/* given if insert from midikeyboard */, NedChordOrRest **newObj, bool force_rest); bool tryErease (double x, double y); bool findLine(double x, double y, double *ypos, int *line, double *bottom); bool findFirstElementeGreaterThan(double x, NedChordOrRest **element); bool findLastElementeLessThan(double x, NedChordOrRest **element); double getBottomPos(); double getMidPos(); double getTopPos() {return m_ypos;} double getWidth() {return m_width;} double getRealYPosOfLine(int line); void setWidth(double w) {m_width = w;} double getHeight(); void empty(); bool hasOnlyRests(); void cutEmptyVoices(); void handleEmptyMeasures(); void zoomFreeReplaceables(double zoom, double scale); void recomputeFreeReplaceables(); void computeBeams(); void computeTuplets(bool has_repeat_lines); void computeTies(); unsigned int getStaffDurationTotal(); void assignMidiTimes(); double computeMidDist(double y); void collectChordsAndRests(NedClipBoard *board, unsigned long long midi_start, unsigned long long midi_end); void collectDestinationVoices(NedClipBoard *board); int assignElementsToMeasures(NedMeasure *measures, int staff_offs, bool use_upbeat, int *special_measure_at_end, bool out = false); bool tryChangeLength(NedChordOrRest *chord_or_rest); void searchForBeamGroups(unsigned int midi_start_time); double getTopYBorder() {return m_top_y_border;} double getBottomYBorder() {return m_bottom_y_border;} void convertStaffRel(double x, double y, double *x_trans, double *y_trans); double placeStaff(double staffpos); int getNumberOfVoices(int staff_number); void saveStaff(FILE *fp); void restoreStaff(FILE *fp); void resetActiveFlags(); void prepareReplay(bool with_keysig); void findAccidentals(char offs_array[115], NedMeasure *meas_info, unsigned long long midi_time, bool including); void setInternalPitches(); void adjustAccidentals(); void changeAccidentals(NedCommandList *command_list, int preferred_offs, GList *selected_group); void transpose(int pitchdist, GList *selected_group); void hideRests(NedCommandList *command_list, bool unhide, int voice_nr); bool shiftNotes(unsigned long long start_time, int linedist); void removeUnneededAccidentals(GList *selected_group = NULL); void appendWholeRest(NedCommandList *command_list = NULL); void getCurrentClefAndKeysig(unsigned long long miditime, int *clef, int *keysig, int *octave_shift); void appendAppropriateWholes(int start_measure); void setUpbeatRests(unsigned int upbeat_inverse); void testTies(); void collectSelectionRectangleElements(double xp, double yp, NedBbox *sel_rect, GList **sel_group, bool is_first_selected, bool is_last_selected); void findSelectedStaffs(double yp, NedBbox *sel_rect, int *number_of_first_selected_staff, int *number_of_last_selected_staff); void pasteElements(NedCommandList *command_list, GList **elements, int from_staff, unsigned long long start_midi_time); bool hasTupletConflict(unsigned int meas_duration, GList **elements, int from_staff, unsigned int long long midi_time); bool findFromTo(GList *clipboard); bool findStartMeasureLimits(GList *clipboard, unsigned long long *start_midi); bool findEndMeasureLimits(GList *clipboard, unsigned long long *end_midi); void deleteItemsFromTo(NedCommandList *command_list, bool is_first, bool is_last, unsigned long long start_midi, unsigned long long end_midi); void removeNotesFromTo(NedCommandList *command_list, GList *items, bool is_first, bool is_last); void insertBlocks(NedCommandList *command_list, int blockcount, unsigned long long midi_time); void testForPageBackwardTies(NedCommandList *command_list); void checkForElementsToSplit(NedCommandList *command_list); void insertStaffElement(NedChordOrRest *elem, bool redraw = true); void removeStaffElement(NedChordOrRest *elem); void deleteStaffElements(bool unexecute, GList *elems, unsigned long long reftime, unsigned long duration); bool hasStaffElem(unsigned long long miditime); void insertIntoStaff(GList *elems, unsigned long long duration); void appendAtStaff(GList *elems); void setAndUpdateClefTypeAndKeySig(int *clef_and_key_array, bool first); double getSystemEnd(); double getSystemStart(); GList *getFirstChordOrRest(int voice_nr, int lyrics_line, bool lyrics_required, bool note_required); GList *getLastChordOrRest(int voice_nr, int lyrics_line, bool lyrics_required, bool note_required); void determineTempoInverse(NedChordOrRest *element, unsigned long long till, double *tempoinverse, bool *found); bool detectVoices(unsigned int *voice_mask, unsigned long long *e_time); void exportLilyPond(FILE *fp, int voice_nr, int *last_line, unsigned int *midi_len, bool last_system, unsigned long long end_time, bool *in_alternative, NedSlur **lily_slur, unsigned int *lyrics_map, bool with_break, bool *guitar_chordnames, bool *chordnames, int *breath_script, bool keep_beams); void exportLilyGuitarChordnames(FILE *fp, int *last_line, unsigned int *midi_len, bool last_system, unsigned long long end_time, bool *in_alternative, bool with_break); void exportLilyFreeChordName(FILE *fp, int *last_line, unsigned int *midi_len, bool last_system, unsigned long long end_time, bool *in_alternative, bool with_break); void exportLilyLyrics(FILE *fp, bool last_system, int voice_nr, int line_nr, unsigned long long end_time, int *sil_count); void collectLyrics(NedLyricsEditor *leditor); void setLyrics(NedCommandList *command_list, NedLyricsEditor *leditor); GList *getStaffElements(unsigned long long midi_time); static const char m_sharpPos[7][7]; static const char m_flatPos[7][7]; private: GList *m_staffelems; NedVoice *m_voices[VOICE_COUNT]; double m_ypos; double m_width; double m_top_y_border; int m_lyrics_lines; double m_bottom_y_border; int m_staff_number; int m_clef_type; int m_clef_octave_shift; int m_keysig; bool m_freetexts_or_lyrics_present; GList *m_volume_changes; NedSystem *m_system; }; #endif /* STAFF_H */ nted-1.10.18/system.h0000664001041000007640000002326711520267230011241 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef SYSTEM_H #define SYSTEM_H #include "config.h" #include #include #include "measure.h" class NedMainWindow; class NedPage; class NedStaff; class NedClipBoard; class NedCommandList; class NedChordOrRest; class NedLyricsEditor; class NedBbox; class NedSlur; class part; #define MAX_POSITIONS 4096 #define MAX_MEASURES 160 //#define WITH_WEIGHTS class NedSystem { public: NedSystem(NedPage *page, double ypos, double width, int nr, unsigned int start_measure_number, bool start); ~NedSystem(); NedSystem *clone(struct addr_ref_str **addrlist, struct addr_ref_str **slurlist, NedPage *p_page, bool *staves); void adjust_pointers(struct addr_ref_str *addrlist, struct addr_ref_str *slurlist); void draw(cairo_t *cr, bool first_page, bool show_measure_numbers, bool *freetexts_or_lyrics_present); void drawTexts(cairo_t *cr, bool first_page, double scale); NedMainWindow *getMainWindow(); NedPage *getPage() {return m_page;} void assignMidiTimes(); void prepareForImport(); void setInternalPitches(); bool testLineOverflow(); void appendElementsOfMeasureLength(part *parts, unsigned int meas_duration, int meas_num); void copyDataOfWholeStaff(int staff_nr); void removeLastImported(); bool handleImportedTuplets(); void handleStaffElements(); void transpose(int pitchdist, bool *staff_list, GList *selected_group); void hideRests(NedCommandList *command_list, bool unhide, int staff_nr, int voice_nr); bool shiftNotes(unsigned long long start_time, int linedist, int staff_number); void adjustAccidentals(int staff_nr); void changeAccidentals(NedCommandList *command_list, int preferred_offs, bool *staff_list, GList *selected_group); void testBeams(char *s); void removeUnneededAccidentals(int staff_nr); bool trySelect (double x, double y, bool only_free_placeables); NedChordOrRest *findNearestElement(int staff_nr, double x, double y, NedStaff *oldstaff, double *mindist, double *ydist); NedChordOrRest *getFirstObjectInNextSystem(int staff_nr); bool tryInsertOrErease (double x, double y, int num_midi_input_notes, int *midi_input_chord /* given if insert from midikeyboard */, NedChordOrRest **newObj, bool force_rest); bool findLine(double x, double y, double *ypos, int *line, double *bottom, NedStaff **staff); bool findElement(guint keyval, double x, double y, NedChordOrRest **element, NedStaff **staff); double getHeight(); double getYPos() {return m_ypos;} double getBottomPos(); int getSystemNumber() {return m_system_number;} void setSystemNumber(int number) {m_system_number = number;} void changePageInfo(NedPage *page) {m_page = page;} int getNumberOfStaffs(); void appendStaff(NedCommandList *command_list, int p_staff_nr = -1); void cutEmptyVoices(); void handleEmptyMeasures(); void zoomFreeReplaceables(double zoom, double scale); void recomputeFreeReplaceables(); void testTies(); void removeLastStaff(); void deleteStaff(int staff_number); void restoreStaff(int staff_number); void shiftStaff(int staff_number, unsigned int position); bool reposit(int measure_number, NedCommandList *command_list = NULL, NedSystem **next_system = NULL); void computeTuplets(); void resetActiveFlags(); void renumberMeasures(int *measure_number, GList *special_measures, bool force); void setNewMeasureSpread(double spread); int getNumberOfFirstMeasure(); int getNumberOfLastMeasure(); unsigned long long getSystemEndTime(); void checkForElementsToSplit(NedCommandList *command_list, int *measure_number); void collectDestinationVoices(NedClipBoard *board); bool collectFirstMeasure(NedClipBoard *board, unsigned long long length_of_first_measure, unsigned long long length_of_previous_system); void findSelectedSystems(NedBbox *sel_rect, int *number_of_first_selected_staff, int *number_of_last_selected_staff, NedSystem **first_selected_system, NedSystem **last_selected_system); void collectSelectionRectangleElements(double xp, NedBbox *sel_rect, GList **sel_group, NedSystem *first_selected_system, NedSystem *last_selected_system, bool is_first_selected_page, bool is_last_selected_page); void pasteElements(NedCommandList *command_list, GList **elements, int from_staff, int to_staff, unsigned long long start_midi_time); bool hasTupletConflict(unsigned int meas_duration, GList **elements, int from_staff, int to_staff, unsigned long long start_midi_time); bool findFromTo(GList *clipboard, NedSystem **min_sys, NedSystem **max_sys); bool truncateAtStart(NedCommandList *command_list, unsigned long long midi_time); bool findStartMeasureLimits(GList *clipboard, unsigned long long *start_midi); bool findEndMeasureLimits(GList *clipboard, unsigned long long *end_midi); void deleteItemsFromTo(NedCommandList *command_list, bool is_first, bool is_last, unsigned long long start_midi, unsigned long long end_midi); void removeNotesFromTo(NedCommandList *command_list, GList *items, bool is_first, bool is_last); void insertBlocks(NedCommandList *command_list, int blockcount, unsigned long long midi_time); void testForPageBackwardTies(NedCommandList *command_list); double computeMidDist(double y); NedMeasure *getMeasure(unsigned long long midi_time); NedMeasure *getMeasureNr(int m_number) {return &(m_measures[m_number]);} NedMeasure *getLastMeasure() {return &(m_measures[m_measure_count]);} bool findTimeOfMeasure(int meas_num, unsigned long long *meas_time); int getMeasureCount() {return m_measure_count;} int getFullMeasureCount() {return m_measure_count + m_special_measure_at_end;} int getSpecialMeasuresAtEnd() {return m_special_measure_at_end;} bool tryChangeLength(NedChordOrRest *chord_or_rest); double placeStaffs(double staffpos); NedStaff *findStaff(double x, double y, NedMeasure **measure); void empty(); bool hasOnlyRests(); void shiftY(double offs) {m_ypos += offs;} void saveSystem(FILE *fp); void restoreSystem(FILE *fp); void prepareReplay(bool with_keysig); unsigned int getWholeMidiLength(); void setWidth(double w); void do_remove_staff(NedStaff *staff); void do_append_staff(NedStaff *staff); void setAndUpdateClefTypeAndKeySig(int *clef_and_key_array, double indent, bool first); void fill_up(NedCommandList *command_list); GList *getFirstChordOrRest(int staff_nr, int voice_nr, int lyrics_line, bool lyrics_required, bool note_required); GList *getLastChordOrRest(int staff_nr, int voice_nr, int lyrics_line, bool lyrics_required, bool note_required); NedStaff *getStaff(int nr); void determineTempoInverse(NedChordOrRest *element, unsigned long long till, double *tempoinverse, bool *found); void detectVoices(int staff_nr, unsigned int *voice_mask, NedSystem **last_system, unsigned long long *end_time); void exportLilyPond(FILE *fp, int staff_nr, int voice_nr, int *last_line, unsigned int *midi_len, NedSystem *last_system, unsigned long long end_time, bool *in_alternative, NedSlur **lily_slur, unsigned int *lyrics_map, bool with_break, bool *guitar_chordnames, bool *chordnames, int *breath_script, bool keep_beams); void exportLilyGuitarChordnames(FILE *fp, int staff_nr, int *last_line, unsigned int *midi_len, NedSystem *last_system, unsigned long long end_time, bool *in_alternative, bool with_break); void exportLilyFreeChordName(FILE *fp, int staff_nr, int *last_line, unsigned int *midi_len, NedSystem *last_system, unsigned long long end_time, bool *in_alternative, bool with_break); void exportLilyLyrics(FILE *fp, bool last_system, int staff_nr, int voice_nr, int line_nr, unsigned long long end_time, int *sil_count); double m_system_start; void collectLyrics(NedLyricsEditor *leditor, int staff_nr); void setLyrics(NedCommandList *command_list, NedLyricsEditor *leditor, int staff_nr); bool m_is_positioned; private: void drawBrace (cairo_t *cr, double leftx, double indent, double topy, double zoom_factor, double height, double toppos); void drawBracket (cairo_t *cr, double leftx, double indent, double topy, double zoom_factor, double height, double toppos); bool m_tempUntouched; bool m_check_line_compression; void do_reposit(bool use_upbeat); void compute_extra_space(bool use_upbeat); GList *m_staffs; GList *m_deleted_staffs; double m_ypos; double m_width; int m_system_number; bool m_has_repeat_lines; NedPage *m_page; NedMeasure m_measures[MAX_MEASURES]; int m_measure_count; double m_ori,m_netto; double m_extra_space; bool m_only_whole_elements; NedMeasure *m_endMeasure; bool m_freetexts_or_lyrics_present; int m_special_measure_at_end; // last "measure" aith only keysig and/or tinmesig ? }; #endif /* SYSTEM_H */ nted-1.10.18/volumesign.cpp0000664001041000007640000001221511520267230012427 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "volumesign.h" #include "chordorrest.h" #include "volumedialog.h" #include "staff.h" #include "system.h" #include "page.h" #define X_POS_PAGE_REL(p) ((m_element->getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_PAGE_REL(p) ((p) * zoom_factor - topy) NedVolumeSign::NedVolumeSign(int kind) : NedFreeReplaceable(), m_kind(kind) {setMidiVolume();} NedVolumeSign::NedVolumeSign(int kind, NedChordOrRest *element) : NedFreeReplaceable(element), m_kind(kind) {setMidiVolume();} NedVolumeSign::NedVolumeSign(int kind, NedChordOrRest *element, double x, double y, bool relative) : NedFreeReplaceable(element, x, y, relative), m_kind(kind) {setMidiVolume();} void NedVolumeSign::setMidiVolume() { switch (m_kind) { case VOL_PPP: m_midi_volume = 18; break; case VOL_PP: m_midi_volume = 36; break; case VOL_P: m_midi_volume = 54; break; case VOL_MP: case VOL_SP: case VOL_MF: case VOL_SF: m_midi_volume = 72; break; case VOL_F: m_midi_volume = 91; break; case VOL_FF: m_midi_volume = 108; break; case VOL_FFF: m_midi_volume = 127; break; } } int NedVolumeSign::determineKind(int volume) { if (volume <= 18) return VOL_PPP; if (volume <= 36) return VOL_PP; if (volume <= 54) return VOL_P; if (volume <= 72) return VOL_MF; if (volume <= 91) return VOL_F; if (volume <= 108) return VOL_FF; return VOL_FFF; } NedFreeReplaceable *NedVolumeSign::clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area /* = NULL */, NedMainWindow *main_window /* = NULL */) { NedVolumeSign *newVolSig = new NedVolumeSign(m_kind, newelement, m_x, m_y, true); return newVolSig; } void NedVolumeSign::adjust_pointers(struct addr_ref_str *slurlist) { } void NedVolumeSign::startContextDialog(GtkWidget *ref) { bool state; int newvolume; NedVolumeDialog *volume_dialog = new NedVolumeDialog(GTK_WINDOW(ref), m_midi_volume, false); volume_dialog->getValues(&state, &newvolume); delete volume_dialog; if (state) { m_midi_volume = newvolume; } } void NedVolumeSign::draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale) { if (m_element == NULL) return; double xpos, ypos; getXYPos(&xpos, &ypos); cairo_glyph_t glyph[3]; int len = 0; double yoffs = 0.0; #define X_SPACE 0.2 #define FORTE_Y_OFFS 0.05 cairo_new_path(cr); if (isActive()) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } switch(m_kind) { case VOL_P: glyph[0].index = BASE + 40; len = 1; break; case VOL_PP: glyph[0].index = glyph[1].index = BASE + 40; len = 2; break; case VOL_PPP: glyph[0].index = glyph[1].index = glyph[2].index = BASE + 40; len = 3; break; case VOL_MF: glyph[0].index = BASE + 39; glyph[1].index = BASE + 37; len = 2; yoffs = -FORTE_Y_OFFS; break; case VOL_SF: glyph[0].index = BASE + 38; glyph[1].index = BASE + 37; len = 2; yoffs = -FORTE_Y_OFFS; break; case VOL_MP: glyph[0].index = BASE + 39; glyph[1].index = BASE + 40; len = 2; break; case VOL_SP: glyph[0].index = BASE + 38; glyph[1].index = BASE + 40; len = 2; break; case VOL_F: glyph[0].index = BASE + 37; len = 1; break; case VOL_FF: glyph[0].index = glyph[1].index = BASE + 37; len = 2; break; case VOL_FFF: glyph[0].index = glyph[1].index = glyph[2].index = BASE + 37; len = 3; break; } glyph[0].y = Y_POS_PAGE_REL(ypos + yoffs); glyph[1].y = glyph[2].y = Y_POS_PAGE_REL(ypos); for (int i = 0; i < len; i++) { glyph[i].x = X_POS_PAGE_REL(xpos - (len / 2 - i) * X_SPACE); } cairo_show_glyphs(cr, glyph, len); /* cairo_move_to(cr, X_POS_PAGE_REL(xpos - 1.0), Y_POS_PAGE_REL(ypos - 1.0)) ; cairo_line_to(cr, X_POS_PAGE_REL(xpos + 1.0), Y_POS_PAGE_REL(ypos + 1.0)) ; cairo_move_to(cr, X_POS_PAGE_REL(xpos + 1.0), Y_POS_PAGE_REL(ypos - 1.0)) ; cairo_line_to(cr, X_POS_PAGE_REL(xpos - 1.0), Y_POS_PAGE_REL(ypos + 1.0)) ; */ if (isActive()) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } cairo_stroke(cr); if (m_is_abs) { drawConnection(cr, xpos, ypos, leftx, topy, zoom_factor); } } nted-1.10.18/voice.cpp0000664001041000007640000043015011520267230011346 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "voice.h" #include "beaming.h" #include "staff.h" #include "chordorrest.h" #include "system.h" #include "page.h" #include "resource.h" #include "system.h" #include "mainwindow.h" #include "commandlist.h" #include "clipboard.h" #include "beam.h" #include "tuplet.h" #include "note.h" #include "commandhistory.h" #include "insertchordorrestcommand.h" #include "ereasechordorrestcommand.h" #include "changechordorrestlength.h" #include "addnoteatcommand.h" #include "deletechordorrestgroupcommand.h" #include "insertchordorrestgroupcommand.h" #include "changechordorreststatus.h" #include "deletechordcommand.h" #include "changexpositioncommand.h" #include "inserttiedelementcommand.h" #include "settotupletcommand.h" #include "insertstaffelemcommand.h" #include "musicxmlimport.h" #include "volumesign.h" #include "temposign.h" #include "freesign.h" #include "slur.h" #include "slurpoint.h" #include "linepoint.h" #include "crescendo.h" #include "octavation.h" #include "acceleration.h" #include "freetext.h" #include "freechord.h" #include "freechordname.h" #include "freespacer.h" #define DEFAULT_STAFF_DIST (4 * LINE_DIST) #define X_POS_INVERS_PAGE_REL(p) ((leftx + (p) / current_scale) / zoom_factor - getPage()->getContentXpos()) #define Y_POS_INVERS_STAFF_REL(p) ((topy + (p) / current_scale) / zoom_factor - (getSystem()->getYPos() + getStaff()->getBottomPos())) #define X_POS_PAGE_REL(p) ((getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_STAFF_REL(p) (((p) + getSystem()->getYPos() + getStaff()->getBottomPos()) * zoom_factor - topy) #define X_PS_POS(p) ((DEFAULT_BORDER + LEFT_RIGHT_BORDER + (p)) * PS_ZOOM) #define Y_PS_POS_STAFF_REL(p) ((height - ((p) + getSystem()->getYPos() + getStaff()->getBottomPos())) * PS_ZOOM) NedVoice::NedVoice(NedStaff *staff, int nr, bool start) : m_chord_or_rests(NULL), m_beam_list(NULL), m_tuplet_list(NULL), m_voice_nr(nr), m_staff(staff), m_start_of_last_imported(NULL) { #ifdef XXX unsigned int rest_time = 0; int i; if (start) { for (i = 0; i < START_MEASURE_COUNT; i++) { NedChordOrRest *rest = new NedChordOrRest(this, TYPE_REST, nr > 0, 3, 0, WHOLE_NOTE, getMainWindow->getCurrentNoteHead(), 0, rest_time); m_chord_or_rests = g_list_append(m_chord_or_rests, rest); rest_time = rest->getStopTime(); } } #endif } NedVoice *NedVoice::clone(struct addr_ref_str **addrlist, struct addr_ref_str **slurlist, NedStaff *p_staff) { GList *lptr; NedVoice *voice = new NedVoice(p_staff, m_voice_nr, false); for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { voice->m_chord_or_rests = g_list_append(voice->m_chord_or_rests, ((NedChordOrRest *) lptr->data)->clone(addrlist, slurlist, voice)); } return voice; } void NedVoice::adjust_pointers(struct addr_ref_str *addrlist, struct addr_ref_str *slurlist) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->adjust_pointers(addrlist, slurlist); } } void NedVoice::appendWholeRest(NedCommandList *command_list) { NedChordOrRest *rest = new NedChordOrRest(this, TYPE_REST, m_voice_nr > 0, 3, 0, WHOLE_NOTE, NORMAL_NOTE, 0, 0); if (command_list == NULL) { m_chord_or_rests = g_list_append(m_chord_or_rests, rest); return; } NedInsertChordOrRestCommand *command = new NedInsertChordOrRestCommand(this, -1, rest); command->resetAdjustable(); // avoid ajjustment to filling wholes if undo/redo command->execute(); command_list->addCommand(command); } void NedVoice::testTies() { GList *lptr1; for (lptr1 = g_list_first(m_chord_or_rests); lptr1; lptr1 = g_list_next(lptr1)) { ((NedChordOrRest *) lptr1->data)->testTies(); } } void NedVoice::setUpbeatRests(unsigned int upbeat_inverse) { unsigned int len2; int dotcount; NedResource::setLengthField(upbeat_inverse); len2 = NedResource::getPartLength(&dotcount); while (len2) { NedChordOrRest *rest = new NedChordOrRest(this, TYPE_REST, m_voice_nr > 0, 3, dotcount, len2, NORMAL_NOTE, 0, 0); m_chord_or_rests = g_list_append(m_chord_or_rests, rest); len2 = NedResource::getPartLength(&dotcount); } } void NedVoice::appendAppropriateWholes(int start_measure) { int meas_num = getSystem()->getMeasureCount(); for (; start_measure < meas_num; start_measure++) { NedChordOrRest *rest = new NedChordOrRest(this, TYPE_REST, m_voice_nr > 0, 3, 0, WHOLE_NOTE, NORMAL_NOTE, 0, 0); m_chord_or_rests = g_list_append(m_chord_or_rests, rest); } } int NedVoice::getPosition(NedChordOrRest *chord_or_rest) { return g_list_index(m_chord_or_rests, chord_or_rest); } NedVoice::~NedVoice() { GList *lptr; for(lptr = g_list_first(m_beam_list); lptr; lptr = g_list_next(lptr)) { // important: must be first delete ((NedBeam *) lptr->data); } g_list_free(m_beam_list); m_beam_list = NULL; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { delete ((NedChordOrRest *) lptr->data); } g_list_free(m_chord_or_rests); m_chord_or_rests = NULL; } int NedVoice::getNumElements() { return g_list_length(m_chord_or_rests); } void NedVoice::empty() { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { delete (NedChordOrRest *) lptr->data; } g_list_free(m_chord_or_rests); m_chord_or_rests = NULL; } NedMainWindow *NedVoice::getMainWindow() {return m_staff->getSystem()->getPage()->getMainWindow();} NedPage *NedVoice::getPage() {return m_staff->getSystem()->getPage();} NedSystem *NedVoice::getSystem() {return m_staff->getSystem();} void NedVoice::draw(cairo_t *cr, bool *freetexts_or_lyrics_present) { GList *lptr; m_free_texts_or_lyrics_present = false; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->draw(cr, &m_free_texts_or_lyrics_present); } if (m_free_texts_or_lyrics_present) *freetexts_or_lyrics_present = true; for(lptr = g_list_first(m_beam_list); lptr; lptr = g_list_next(lptr)) { ((NedBeam *) lptr->data)->draw(cr); } for(lptr = g_list_first(m_tuplet_list); lptr; lptr = g_list_next(lptr)) { ((NedTuplet *) lptr->data)->draw(cr); } /* if (true || lyrics_present) { for (lptr = g_list_last(m_chord_or_rests); lptr; lptr = g_list_previous(lptr)) { ((NedChordOrRest *) lptr->data)->drawlyrics(cr, last_left_bbox_edge); last_left_bbox_edge = ((NedChordOrRest *) lptr->data)->getLeftBboxEdge(); } } */ } void NedVoice::drawTexts(cairo_t *cr, double scale) { double last_left_bbox_edge = -1.0; GList *lptr; bool last = true; if (!m_free_texts_or_lyrics_present) return; for (lptr = g_list_last(m_chord_or_rests); lptr; lptr = g_list_previous(lptr), last = false) { ((NedChordOrRest *) lptr->data)->drawTexts(cr, scale, last_left_bbox_edge, last); last_left_bbox_edge = ((NedChordOrRest *) lptr->data)->getLeftBboxEdge(); } } bool NedVoice::hasOnlyRests() { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() != TYPE_REST) return false; } return true; } bool NedVoice::trySelect(double x, double y, bool only_free_placeables) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->trySelect(x, y, only_free_placeables)) { return TRUE; } } return FALSE; } NedChordOrRest *NedVoice::findNearestElement(double x, double y, double factor, double *mindist, double *ydist) { GList *lptr; double dist, yd; NedChordOrRest *nearestElement = NULL; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->isHidden()) continue; dist = ((NedChordOrRest *) lptr->data)->computeDistFrom(x, y, factor, &yd); if (dist < *mindist) { *mindist = dist; *ydist = yd < 0 ? -yd : yd; nearestElement = ((NedChordOrRest *) lptr->data); } } return nearestElement; } void NedVoice::appendElementsOfMeasureLength(part *part_ptr, unsigned int meas_duration, int meas_num) { GList *lptr; NedChordOrRest *chord_or_rest; NedBeam *beam; int pos = 0, dotcount; unsigned int len2; bool first = true; unsigned int duration = 0; if (part_ptr->eof[m_voice_nr]) { chord_or_rest = new NedChordOrRest(this, TYPE_REST, m_voice_nr > 0, 3, 0, WHOLE_NOTE, NORMAL_NOTE, 0, 0); m_chord_or_rests = g_list_append(m_chord_or_rests, chord_or_rest); m_start_of_last_imported = g_list_find(m_chord_or_rests, chord_or_rest); return; } if (part_ptr->start_of_last_taken[m_voice_nr] == NULL) { lptr = g_list_first(part_ptr->voices[m_voice_nr]); } else { lptr = g_list_next(part_ptr->end_of_last_taken[m_voice_nr]); } if (lptr == NULL) { part_ptr->eof[m_voice_nr] = true; chord_or_rest = new NedChordOrRest(this, TYPE_REST, m_voice_nr > 0, 3, 0, WHOLE_NOTE, NORMAL_NOTE, 0, 0); m_chord_or_rests = g_list_append(m_chord_or_rests, chord_or_rest); m_start_of_last_imported = g_list_find(m_chord_or_rests, chord_or_rest); return; } if (m_start_of_last_imported == NULL) { pos = 0; } else { if ((pos = g_list_position(m_chord_or_rests, m_end_of_last_imported)) < 0) { NedResource::Abort("NedVoice::appendElementsOfMeasureLength(1)"); } pos++; } for (;duration < meas_duration && lptr; lptr = g_list_next(lptr)) { chord_or_rest = (NedChordOrRest *) lptr->data; m_chord_or_rests = g_list_insert(m_chord_or_rests, chord_or_rest, pos++); if (first) { first = false; if ((m_start_of_last_imported = g_list_nth(m_chord_or_rests, pos - 1)) == NULL) { NedResource::Abort("NedVoice::appendElementsOfMeasureLength(4)"); } part_ptr->start_of_last_taken[m_voice_nr] = lptr; } part_ptr->end_of_last_taken[m_voice_nr] = lptr; if ((beam = chord_or_rest->getBeam()) != NULL) { delete beam; // the beam removes itself from voice and // sets the beam pointer of all chords to NULL } chord_or_rest->setVoice(this); if ((chord_or_rest->getType() & TYPE_CHORD) != 0) { chord_or_rest->xPositNotes(); } chord_or_rest->computeBbox(); if ((chord_or_rest->getType() & (TYPE_CHORD | TYPE_REST)) != 0) { duration += chord_or_rest->getDuration(meas_duration); } chord_or_rest->computeBbox(); chord_or_rest->reConfigure(); } if (duration > meas_duration) { NedResource::DbgMsg(DBG_CRITICAL, "Overflow\n"); } if (duration < meas_duration) { NedResource::setLengthField(meas_duration - duration); while ((len2 = NedResource::getPartLength(&dotcount)) > 0) { m_chord_or_rests = g_list_insert(m_chord_or_rests, new NedChordOrRest(this, TYPE_REST, len2 == WHOLE_NOTE && m_voice_nr > 0, 3, dotcount, len2, NORMAL_NOTE, 0, 0), pos++); } } if ((m_end_of_last_imported = g_list_nth(m_chord_or_rests, pos - 1)) == NULL) { NedResource::Abort("NedVoice::appendElementsOfMeasureLength(5)"); } if (first) { m_start_of_last_imported = m_end_of_last_imported; } } void NedVoice::copyDataOfWholeVoice() { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { NedResource::m_main_clip_board = g_list_append(NedResource::m_main_clip_board, lptr->data); } } void NedVoice::zoomFreeReplaceables(double zoom, double scale) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->zoomFreeReplaceables(zoom, scale); } } void NedVoice::recomputeFreeReplaceables() { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->recomputeFreeReplaceables(); } } void NedVoice::handleEmptyMeasures() { NedMeasure *measure = NULL; GList *lptr, *lptr2, *newmeasure = NULL, *newlist = NULL; bool only_rests = false; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->m_measure != measure) { if (only_rests) { newlist = g_list_append(newlist, new NedChordOrRest(this, TYPE_REST, m_voice_nr > 0, 3 /* dummy */, 0, WHOLE_NOTE, NORMAL_NOTE, 0, 0 /* dummy */)); } else { for (lptr2 = g_list_first(newmeasure); lptr2; lptr2 = g_list_next(lptr2)) { newlist = g_list_append(newlist, lptr2->data); } } g_list_free(newmeasure); newmeasure = NULL; only_rests = true; measure = ((NedChordOrRest *) lptr->data)->m_measure; } if (((NedChordOrRest *) lptr->data)->getType() != TYPE_REST) only_rests = false; newmeasure = g_list_append(newmeasure, lptr->data); } if (only_rests) { newlist = g_list_append(newlist, new NedChordOrRest(this, TYPE_REST, m_voice_nr > 0, 3 /* dummy */, 0, WHOLE_NOTE, NORMAL_NOTE, 0, 0 /* dummy */)); } else { for (lptr2 = g_list_first(newmeasure); lptr2; lptr2 = g_list_next(lptr2)) { newlist = g_list_append(newlist, lptr2->data); } } g_list_free(newmeasure); g_list_free(m_chord_or_rests); m_chord_or_rests = newlist; assignMidiTimes(); } void NedVoice::removeLastImported() { GList *lptr; GList *dellist = NULL; NedResource::DbgMsg(DBG_TESTING, "removeLastImported\n"); if (m_start_of_last_imported == NULL) { NedResource::DbgMsg(DBG_CRITICAL, "staff = %d, voi = %d\n", m_staff->getStaffNumber(), m_voice_nr); NedResource::Abort("NedVoice::removeLastImported"); } for (lptr = m_start_of_last_imported; lptr; lptr = g_list_next(lptr)) { dellist = g_list_append(dellist, lptr->data); } for (lptr = g_list_first(dellist); lptr; lptr = g_list_next(lptr)) { m_chord_or_rests = g_list_remove(m_chord_or_rests, lptr->data); } g_list_free(dellist); } bool NedVoice::handleImportedTuplets() { GList *lptr; unsigned int duration = 0; NedChordOrRest *chord_or_rest, *last_tupletted_chord_or_rest = NULL; int tupletval = -1, tupval; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { chord_or_rest = (NedChordOrRest *) lptr->data; tupval = chord_or_rest->getTupletVal(); if (tupval != 0) { duration += chord_or_rest->getDuration(); if (tupval != 0) { if (tupletval < 0) { tupletval = tupval; } else if (tupletval != tupval) { return false; } if (NedResource::fittingDuration(duration)) { chord_or_rest->setLastTupletFlag(true); duration = 0; tupletval = -1; } last_tupletted_chord_or_rest = chord_or_rest; } } else if (tupletval > 0) { if (!NedResource::fittingDuration(duration)) {NedResource::DbgMsg(DBG_TESTING, "Stelle 1: tupletval = %d, duration = %u NOTE_4 = %u\n", tupletval, duration, NOTE_4); return false;} last_tupletted_chord_or_rest->setLastTupletFlag(true); tupletval = -1; duration = 0; last_tupletted_chord_or_rest = NULL; } } if (tupletval > 0) { if (!NedResource::fittingDuration(duration)) {NedResource::DbgMsg(DBG_TESTING, "Stelle 2: duration = %u NOTE_4 = %u\n", duration, NOTE_4); return false;} last_tupletted_chord_or_rest->setLastTupletFlag(true); } return true; } bool NedVoice::truncateAtStart(NedCommandList *command_list, unsigned long long midi_time) { unsigned int duration = 0; GList *list_of_elems_to_delete = NULL; NedDeleteChordOrRestGroupCommand *del_cmd; GList *lptr; NedChordOrRest *element; int pos; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { element = (NedChordOrRest *) lptr->data; if ((element->getType() & (TYPE_CHORD | TYPE_REST)) == 0) continue; if (element->getTupletVal() != 0) return false; duration += element->getDuration(); list_of_elems_to_delete = g_list_append(list_of_elems_to_delete, element); if (duration >= midi_time) { element->testForTiesToDelete(command_list, BREAK_TIE_FORWARD); del_cmd = new NedDeleteChordOrRestGroupCommand(this, list_of_elems_to_delete); command_list->addCommand(del_cmd); pos = 0; if (duration > midi_time) { handleGapAfterInsertion(command_list, &pos, duration - midi_time, element, 0, false, false); } return true; } } return false; } void NedVoice::determineTempoInverse(NedChordOrRest *element, unsigned long long till, double *tempoinverse, bool *found) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data) == element) { *found = true; return; } if (element && ((NedChordOrRest *) lptr->data)->getMidiTime() >= till) { return; } ((NedChordOrRest *) lptr->data)->determineTempoInverse(tempoinverse); } } void NedVoice::handleStaffElements() { GList *lptr, *lptr2; GList *del_objs = NULL; NedChordOrRest *chord_or_rest; assignMidiTimes(); for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { chord_or_rest = (NedChordOrRest *) lptr->data; switch (chord_or_rest->getType()) { case TYPE_CLEF: case TYPE_STAFF_SIGN: case TYPE_KEYSIG: m_staff->insertStaffElement(chord_or_rest, false); //m_chord_or_rests = g_list_delete_link(m_chord_or_rests, lptr); //changed = true; del_objs = g_list_append(del_objs, chord_or_rest); break; } } for (lptr = g_list_first(del_objs); lptr; lptr = g_list_next(lptr)) { if ((lptr2 = g_list_find(m_chord_or_rests, lptr->data)) == NULL) { NedResource::Abort("NedVoice::handleStaffElements"); } m_chord_or_rests = g_list_delete_link(m_chord_or_rests, lptr2); } g_list_free(del_objs); } bool NedVoice::tryInsertOrErease(double x, double y, int num_midi_input_notes, int *midi_input_chord /* given if insert from midikeyboard */, NedChordOrRest **newObj, bool force_rest) { double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); int i, npitch; GList *lptr, *lptr2; NedChordOrRest *chord; NedChordOrRest *last_tupleted_chord_or_rest; NedTuplet *tuplet_ptr; bool removed = FALSE; staff_context_str *context; int tuplet_val, tuplet_val_raw; int line = 0; NedChordOrRest *chord_or_rest = NULL; unsigned long long end_time; unsigned long long new_chords_midi_end_time; char offs_array[115]; if (NedResource::getCurrentLength() < NOTE_64 && getMainWindow()->getSpecialType() < 0) { return insertGrace(x, y, midi_input_chord != NULL ? *midi_input_chord : -1); } if (midi_input_chord == NULL) { // line given for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { chord = (NedChordOrRest *) lptr->data; if (chord->tryErease(x, y, &removed)) { NedCommandList *command_list = new NedCommandList(getMainWindow(), getSystem()); chord->testForTiesToDelete(command_list, BREAK_TIE_FORWARD | BREAK_TIE_BACKWARD); command_list->addCommand(new NedDeleteChordCommand(chord)); command_list->execute(); getMainWindow()->getCommandHistory()->addCommandList(command_list); return TRUE; } if (removed) { return TRUE; } } } double current_scale = getMainWindow()->getCurrentScale(); if (midi_input_chord == NULL) { // line given double yl = Y_POS_INVERS_STAFF_REL(y); if (MAX_OVER_UNDER_LINES * LINE_DIST/2.0 < yl || -((MAX_OVER_UNDER_LINES + 8) * LINE_DIST/2.0) > yl) return FALSE; double yoffs = (yl >= 0.0) ? LINE_DIST / 4.0 : -LINE_DIST / 4.0; line = (int) ((- yl - yoffs) / (LINE_DIST/2.0)); } double leftx = getMainWindow()->getLeftX(); double xl = X_POS_INVERS_PAGE_REL(x); double min = 1000000.0; double diff; unsigned int v, sv, state; int minpos = -1; unsigned long long offs; int half_offset; int num_elements_to_delete = 1; int clef = TREBLE_CLEF, keysig_so_far, octave_shift; bool greater_than_last; GList *min_pos_ptr = NULL; for(lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { diff = ((NedChordOrRest *) lptr->data)->getXPos() - xl; if (diff < 0) diff = -diff; if (diff < min) { min = diff; min_pos_ptr = lptr; minpos = g_list_position(m_chord_or_rests, lptr); } } if (minpos < 0) { return FALSE; } state = NedResource::getStatus(); if (midi_input_chord != NULL) { // pitch given m_staff->getCurrentClefAndKeysig(((NedChordOrRest *) min_pos_ptr->data)->getMidiTime(), &clef, &keysig_so_far, &octave_shift); line = NedNote::pitchToLine(*midi_input_chord, clef, keysig_so_far, octave_shift, &half_offset); memset(offs_array, 0, sizeof(offs_array)); findAccidentals(offs_array, ((NedChordOrRest *) min_pos_ptr->data)->m_measure, ((NedChordOrRest *) min_pos_ptr->data)->getMidiTime(), false); state &= (~(ACCIDENTAL_MASK)); state |= (NedNote::determineState(*midi_input_chord, line, half_offset, offs_array, keysig_so_far) & ACCIDENTAL_MASK); } else { state = NedResource::getStatus(); } tuplet_val = ((NedChordOrRest *) min_pos_ptr->data)->getTupletVal(); tuplet_val_raw = ((NedChordOrRest *) min_pos_ptr->data)->getTupletValRaw(); if (getMainWindow()->getSpecialType() < 0 && !((NedChordOrRest *) min_pos_ptr->data)->isRest() && !(NedResource::getRestMode() || force_rest)) { if (((NedChordOrRest *) min_pos_ptr->data)->noConflict(line)) { NedCommandList *command_list = new NedCommandList(getMainWindow(), getSystem()); NedAddNoteAtCommand *add_note_at_command = new NedAddNoteAtCommand(this, ((NedChordOrRest *) min_pos_ptr->data), line, NedResource::getCurrentNoteHead(), state); command_list->addCommand(add_note_at_command); getMainWindow()->getCommandHistory()->addCommandList(command_list); getMainWindow()->setSelected((NedChordOrRest *) min_pos_ptr->data, add_note_at_command->getNote()); command_list->execute(); return TRUE; } return FALSE; } /* if (((NedChordOrRest *) min_pos_ptr->data)->isRest() && (((NedChordOrRest *) min_pos_ptr->data)->isHidden())) { return FALSE; } */ NedCommandList *command_list = new NedCommandList(getMainWindow(), getSystem()); if (midi_input_chord == NULL && getMainWindow()->getSpecialType() >= 0) { for(lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getXPos() > xl) break; } if (lptr) { greater_than_last = false; if (lptr == g_list_first(m_chord_or_rests)) { // avoid inserting clefs and keys at begin of staff getMainWindow()->resetSpecialType(); return TRUE; } } else { // behind last element lptr = g_list_last(m_chord_or_rests); greater_than_last = true; } switch (getMainWindow()->getSpecialType() & 0xffff) { case TYPE_CLEF: getStaff()->getCurrentClefAndKeysig(((NedChordOrRest *) lptr->data)->getMidiTime(), &clef, &keysig_so_far, &octave_shift); v = getMainWindow()->getSpecialSubTypeInt(); sv = (v >> 16) & 0xffff; sv -= 100; chord_or_rest = new NedChordOrRest(this, getMainWindow()->getSpecialType() & 0xffff, v & 0xffff, sv, greater_than_last ? ((NedChordOrRest *) lptr->data)->getMidiTime() + ((NedChordOrRest *) lptr->data)->getDuration() : ((NedChordOrRest *) lptr->data)->getMidiTime(), true); break; case TYPE_KEYSIG: getStaff()->getCurrentClefAndKeysig(((NedChordOrRest *) lptr->data)->getMidiTime(), &clef, &keysig_so_far, &octave_shift); if (keysig_so_far == getMainWindow()->getSpecialSubTypeInt()) { getMainWindow()->resetSpecialType(); return TRUE; } chord_or_rest = new NedChordOrRest(this, getMainWindow()->getSpecialType() & 0xffff, getMainWindow()->getSpecialSubTypeInt(), keysig_so_far, greater_than_last ? ((NedChordOrRest *) lptr->data)->getMidiTime() + ((NedChordOrRest *) lptr->data)->getDuration() : ((NedChordOrRest *) lptr->data)->getMidiTime()); break; case TYPE_STAFF_SIGN: chord_or_rest = new NedChordOrRest(this, getMainWindow()->getSpecialType() & 0xffff, getMainWindow()->getSpecialSubTypeInt(), greater_than_last ? ((NedChordOrRest *) lptr->data)->getMidiTime() + ((NedChordOrRest *) lptr->data)->getDuration() : ((NedChordOrRest *) lptr->data)->getMidiTime()); break; } NedInsertStaffElemCommand *ins_staff_elem_cmd = new NedInsertStaffElemCommand(chord_or_rest, clef, octave_shift, m_staff, getMainWindow()->getDoAdjust()); getMainWindow()->resetSpecialType(); ins_staff_elem_cmd->execute(); command_list->setFullReposit(); command_list->addCommand(ins_staff_elem_cmd); getMainWindow()->setAllUnpositioned(); getMainWindow()->getCommandHistory()->addCommandList(command_list); getMainWindow()->reposit(command_list); return TRUE; } else { chord_or_rest = new NedChordOrRest(this, (midi_input_chord == NULL && (NedResource::getRestMode() || force_rest)) ? TYPE_REST : TYPE_CHORD, FALSE, line, NedResource::getDotCount(), NedResource::getCurrentLength(), NedResource::getCurrentNoteHead(), state, 0); chord_or_rest->setTupletVal(tuplet_val); if (newObj != NULL) { *newObj = chord_or_rest; } if (midi_input_chord != NULL && num_midi_input_notes > 1) { for (i = 1; i < num_midi_input_notes; i++) { state = NedResource::getStatus(); state &= (~(ACCIDENTAL_MASK)); line = NedNote::pitchToLine(midi_input_chord[i], clef, keysig_so_far, octave_shift, &half_offset); state |= (NedNote::determineState(midi_input_chord[i], line, half_offset, offs_array, keysig_so_far) & ACCIDENTAL_MASK); NedNote *note = new NedNote(chord_or_rest, line, NedResource::getCurrentNoteHead(), state); chord_or_rest->insertNoteAt(note); } chord_or_rest->xPositNotes(); chord_or_rest->computeBbox(); } } if (!chord_or_rest->isRest()) { getMainWindow()->setSelected(chord_or_rest, chord_or_rest->getFirstNote()); } unsigned long long min_pos_midi_time = ((NedChordOrRest *) min_pos_ptr->data)->getMidiTime(); if ((tuplet_ptr = ((NedChordOrRest *) min_pos_ptr->data)->getTupletPtr()) != NULL) { end_time = tuplet_ptr->getEndTime(); } else { //NedMeasure *measure = getSystem()->getMeasure(((NedChordOrRest *) min_pos_ptr->data)->getMidiTime()); NedMeasure *measure = ((NedChordOrRest *) min_pos_ptr->data)->m_measure; end_time = measure->midi_end; testForTupletEnd(min_pos_midi_time, chord_or_rest->getDuration(), &end_time); } new_chords_midi_end_time = min_pos_midi_time + chord_or_rest->getDuration(); if (end_time > new_chords_midi_end_time) end_time = new_chords_midi_end_time; unsigned long long sum_of_chords_and_rests_to_delete = 0; GList *chords_and_rests_to_delete = NULL; GList *already_deleted_free_repleceables = NULL; for (lptr2 = min_pos_ptr; lptr2 && ((NedChordOrRest *) lptr2->data)->getMidiTime() < end_time; lptr2 = g_list_next(lptr2)) { chords_and_rests_to_delete = g_list_append(chords_and_rests_to_delete, lptr2->data); if (g_list_find(already_deleted_free_repleceables, lptr2->data) == NULL) { ((NedChordOrRest *) lptr2->data)->testForFreeReplaceablesToDelete(command_list, &already_deleted_free_repleceables); } ((NedChordOrRest *) lptr2->data)->testForTiesToDelete(command_list, BREAK_TIE_FORWARD | BREAK_TIE_BACKWARD); sum_of_chords_and_rests_to_delete += ((NedChordOrRest *) lptr2->data)->getDuration(); } g_list_free(already_deleted_free_repleceables); if (sum_of_chords_and_rests_to_delete < chord_or_rest->getDuration()) { chord_or_rest->changeDuration(sum_of_chords_and_rests_to_delete, tuplet_val); } if (tuplet_ptr != NULL) { if (tuplet_ptr->getMidiStartTime() == min_pos_midi_time && chord_or_rest->getDuration() == tuplet_ptr->getDuration()) { delete command_list; return FALSE; } } sum_of_chords_and_rests_to_delete -= chord_or_rest->getDuration(); if (chords_and_rests_to_delete != NULL) { command_list->addCommand(new NedDeleteChordOrRestGroupCommand(this, chords_and_rests_to_delete)); num_elements_to_delete = g_list_length(chords_and_rests_to_delete); } command_list->addCommand(new NedInsertChordOrRestCommand(this, minpos++, chord_or_rest)); last_tupleted_chord_or_rest = chord_or_rest; offs = ((NedChordOrRest *) min_pos_ptr->data)->getMidiTime() - (((NedChordOrRest *) min_pos_ptr->data)->m_measure)->midi_start + chord_or_rest->getDuration(); if (sum_of_chords_and_rests_to_delete > 0) { NedChordOrRest *chord_or_rest_to_distribute = (NedChordOrRest *) (g_list_last(chords_and_rests_to_delete)->data); last_tupleted_chord_or_rest = handleGapAfterInsertion2(command_list, offs, &minpos, sum_of_chords_and_rests_to_delete, chord_or_rest_to_distribute, tuplet_val, false, false); } if (tuplet_val_raw & LAST_TUPLET_FLAG) { last_tupleted_chord_or_rest->setLastTupletFlag(TRUE); } getMainWindow()->getCommandHistory()->addCommandList(command_list); command_list->execute(); getMainWindow()->reposit(command_list, getPage(), getSystem()); context = &(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()]); if (midi_input_chord == NULL /* otherwise done in main */ && !chord_or_rest->isRest() && NedResource::m_midi_echo) { npitch = chord_or_rest->getPitchOfFirstNote(); NedResource::playImmediately(context->m_midi_channel, context->voices[0].m_midi_program, 1, &npitch, context->voices[0].m_midi_volume); } return TRUE; } bool NedVoice::insertGrace(double x, double y, int pitch /* given if insert from midikeyboard */) { GList *lptr; NedChordOrRest *chord_or_rest; int line = 0; int clef = TREBLE_CLEF, keysig_so_far, octave_shift; int half_offset; double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double current_scale = getMainWindow()->getCurrentScale(); if (pitch < 0) { // line given double yl = Y_POS_INVERS_STAFF_REL(y); if (MAX_OVER_UNDER_LINES * LINE_DIST/2.0 < yl || -((MAX_OVER_UNDER_LINES + 8) * LINE_DIST/2.0) > yl) return FALSE; line = (int) ((- yl) / (LINE_DIST/2.0) + 0.5); } double leftx = getMainWindow()->getLeftX(); double xl = X_POS_INVERS_PAGE_REL(x); int minpos = -1; GList *min_pos_ptr = NULL; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getXPos() < xl) continue; min_pos_ptr = lptr; minpos = g_list_position(m_chord_or_rests, lptr); break; } if (minpos < 0) { return FALSE; } if (pitch >= 0) { // pitch given m_staff->getCurrentClefAndKeysig(((NedChordOrRest *) min_pos_ptr->data)->getMidiTime(), &clef, &keysig_so_far, &octave_shift); line = NedNote::pitchToLine(pitch, clef, keysig_so_far, octave_shift, &half_offset); } chord_or_rest = new NedChordOrRest(this, TYPE_CHORD, FALSE, line, 0, NedResource::getCurrentLength(), NORMAL_NOTE, 0, 0); NedCommandList *command_list = new NedCommandList(getMainWindow(), getSystem()); command_list->addCommand(new NedInsertChordOrRestCommand(this, minpos, chord_or_rest)); getMainWindow()->getCommandHistory()->addCommandList(command_list); getSystem()->m_is_positioned = false; command_list->execute(); getMainWindow()->reposit(command_list, getPage(), getSystem()); getSystem()->m_is_positioned = false; return TRUE; } void NedVoice::collectSelectionRectangleElements(double xp, double yp, NedBbox *sel_rect, GList **sel_group, bool is_first_selected, bool is_last_selected) { GList *lptr; for(lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (is_first_selected && ((NedChordOrRest *) lptr->data)->getXPos() < xp) continue; if (is_last_selected && ((NedChordOrRest *) lptr->data)->getXPos() > xp + sel_rect->width) continue; *sel_group = g_list_append(*sel_group, lptr->data); } } bool NedVoice::hasTupletConflict(unsigned int meas_duration, GList **elements, int from_staff, unsigned int long long midi_time) { GList *lptr, *lptr2; GList *tested_elements = NULL; NedChordOrRest *element; NedTuplet *tuplet; unsigned long long current_midi_time; for (lptr2 = g_list_first(m_chord_or_rests); lptr2; lptr2 = g_list_next(lptr2)) { if (((NedChordOrRest *) lptr2->data)->getMidiTime() >= midi_time) { break; } } if (lptr2 == NULL) return FALSE; current_midi_time = ((NedChordOrRest *) lptr2->data)->getMidiTime(); for (lptr = g_list_first(*elements); lptr; lptr = g_list_next(lptr)) { element = (NedChordOrRest *) lptr->data; if (element->getStaff()->getStaffNumber() != from_staff) continue; if (element->getVoice()->m_voice_nr != m_voice_nr) continue; tested_elements = g_list_append(tested_elements, element); current_midi_time += element->getDuration(); if (element->getTupletVal() != 0) { if ((tuplet = element->getTupletPtr()) == NULL) { NedResource::Abort("NedVoice::hasTupletConflict(1)"); } if (element->hasLastTupletFlag()) { /* -1 is very tricky but if it ends exactly at next measure it still belongs to this measure */ if ((current_midi_time - tuplet->getDuration()) / meas_duration != (current_midi_time - 1) / meas_duration) { /* NedResource::DbgMsg(DBG_TESTING, "current_midi_time = %llu, tuplet->getDuration() = %u, diff = %llu, meas_duration = %u, current_midi_time = %llu, d1 = %llu, f2 = %llu\n", current_midi_time, tuplet->getDuration(), current_midi_time - tuplet->getDuration(), meas_duration, current_midi_time, (current_midi_time - tuplet->getDuration()) / meas_duration, current_midi_time / meas_duration); */ return TRUE; } } } } for (lptr = g_list_first(tested_elements); lptr; lptr = g_list_next(lptr)) { if ((lptr2 = g_list_find(*elements, lptr->data)) == NULL) { NedResource::Abort("NedVoice::hasTupletConflict(2)"); } *elements = g_list_delete_link(*elements, lptr2); } g_list_free(tested_elements); return FALSE; } void NedVoice::pasteElements(NedCommandList *command_list, GList **elements, int from_staff, unsigned int long long midi_time) { GList *lptr, *lptr2; GList *copied_elements = NULL; GList *chordsorrests_to_delete = NULL; GList *chordsorrests_to_insert = NULL; NedChordOrRest *element; int idx, diff, pos; unsigned long long duration = 0, deleted_duration; unsigned long long current_midi_time; unsigned int last_duration = 0, first_duration = -1; for (lptr = g_list_first(*elements); lptr; lptr = g_list_next(lptr)) { element = (NedChordOrRest *) lptr->data; if (element->getStaff()->getStaffNumber() != from_staff) continue; if (element->getVoice()->m_voice_nr != m_voice_nr) continue; last_duration = element->getDuration(); if (first_duration < 0) { first_duration = element->getDuration(); } duration += last_duration; } do { for (lptr2 = g_list_first(m_chord_or_rests); lptr2; lptr2 = g_list_next(lptr2)) { if (((NedChordOrRest *) lptr2->data)->getMidiTime() >= midi_time) { break; } } if (lptr2 == NULL || duration == 0) return; if ((idx = g_list_position(m_chord_or_rests, lptr2)) < 0) { NedResource::Abort("NedVoice::pasteElements(1)"); } element = (NedChordOrRest *) lptr2->data; } while (searchForBreakableTuplet(command_list, element->getMidiTime())); searchForBreakableTies(command_list, BREAK_TIE_FORWARD | BREAK_TIE_BACKWARD, element->getMidiTime(), element->getMidiTime() + element->getDuration()); current_midi_time = ((NedChordOrRest *) lptr2->data)->getMidiTime(); searchForBreakableTuplet(command_list, current_midi_time + duration); searchForBreakableTies(command_list, BREAK_TIE_FORWARD | BREAK_TIE_BACKWARD, current_midi_time + duration - last_duration, current_midi_time + duration); assignMidiTimes(); // recompute midi times for (lptr2 = g_list_first(m_chord_or_rests); lptr2; lptr2 = g_list_next(lptr2)) { // test again with removed tuplets if (((NedChordOrRest *) lptr2->data)->getMidiTime() >= midi_time) { if (((NedChordOrRest *) lptr2->data)->getMidiTime() > midi_time) { if ((lptr2 = g_list_previous(lptr2)) == NULL) { NedResource::Abort("NedVoice::pasteElements(2)"); } if ((pos = g_list_position(m_chord_or_rests, lptr2)) < 0) { NedResource::Abort("NedVoice::pasteElements(3)"); } NedChordOrRest *chord_or_rest = ((NedChordOrRest *) lptr2->data); int duration = chord_or_rest->getDuration(); unsigned long long start_midi_time = chord_or_rest->getMidiTime(); GList *list = NULL; list = g_list_append(list, chord_or_rest); NedDeleteChordOrRestGroupCommand *delete_chord_command = new NedDeleteChordOrRestGroupCommand(this, list); delete_chord_command->execute(); int dur1 = midi_time - start_midi_time; command_list->addCommand(delete_chord_command); handleGapAfterInsertion(command_list, &pos, dur1, chord_or_rest, 0 , false, true); int dur2 = duration - dur1; handleGapAfterInsertion(command_list, &pos, dur2, NULL, 0, false, true); command_list->setBreak(); idx = pos; if ((lptr2 = g_list_nth(m_chord_or_rests, idx)) == NULL) { NedResource::Abort("NedVoice::pasteElements(4)"); } assignMidiTimes(); // recompute midi times current_midi_time = ((NedChordOrRest *) lptr2->data)->getMidiTime(); } break; } } deleted_duration = 0; while (deleted_duration < duration && lptr2) { deleted_duration += ((NedChordOrRest *) lptr2->data)->getDuration(); chordsorrests_to_delete = g_list_append(chordsorrests_to_delete, lptr2->data); lptr2 = g_list_next(lptr2); } diff = deleted_duration - duration; for (lptr = g_list_first(*elements); deleted_duration > 0 && lptr; lptr = g_list_next(lptr)) { element = (NedChordOrRest *) lptr->data; if (element->getStaff()->getStaffNumber() != from_staff) continue; if (element->getVoice()->m_voice_nr != m_voice_nr) continue; unsigned long long midi_end_time = current_midi_time + element->getDuration(); NedMeasure *measure = getSystem()->getMeasure(current_midi_time); if (current_midi_time < measure->midi_end && midi_end_time > measure->midi_end) { unsigned long long t1, t2; t1 = measure->midi_end - current_midi_time; t2 = midi_end_time - measure->midi_end; NedResource::split_element(elements, lptr, t1, t2); current_midi_time += t1; } else { current_midi_time = midi_end_time; } deleted_duration -= element->getDuration(); chordsorrests_to_insert = g_list_append(chordsorrests_to_insert, element); copied_elements = g_list_append(copied_elements, element); } NedDeleteChordOrRestGroupCommand *delete_command = new NedDeleteChordOrRestGroupCommand(this, chordsorrests_to_delete); delete_command->execute(); command_list->addCommand(delete_command); NedInsertChordOrRestGroupCommand *insert_command = new NedInsertChordOrRestGroupCommand(this, chordsorrests_to_insert, idx); insert_command->execute(); command_list->addCommandAndSetBreak(insert_command); if (diff > 0) { NedChordOrRest *chord_or_rest_to_distribute = (NedChordOrRest *) g_list_last(chordsorrests_to_delete)->data; if ((pos = g_list_index(m_chord_or_rests, g_list_last(chordsorrests_to_insert)->data)) < 0) { NedResource::Abort("NedVoice::pasteElements(8)"); } pos++; handleGapAfterInsertion(command_list, &pos, diff, chord_or_rest_to_distribute, 0, false, true); } for (lptr = g_list_first(copied_elements); lptr; lptr = g_list_next(lptr)) { if ((lptr2 = g_list_find(*elements, lptr->data)) == NULL) { NedResource::Abort("NedVoice::pasteElements(9)"); } *elements = g_list_delete_link(*elements, lptr2); } g_list_free(copied_elements); assignMidiTimes(); } bool NedVoice::findFromTo(GList *clipboard) { GList *lptr; NedSystem *the_system = getSystem(); NedPage *the_page = getPage(); for (lptr = g_list_first(clipboard); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getPage() != the_page) continue; if (((NedChordOrRest *) lptr->data)->getSystem() != the_system) continue; if (((NedChordOrRest *) lptr->data)->getStaff() != m_staff) continue; if (((NedChordOrRest *) lptr->data)->getVoice() != this) continue; return TRUE; } return FALSE; } bool NedVoice::findStartMeasureLimits(GList *clipboard, unsigned long long *start_midi) { GList *start_ptr; NedChordOrRest *element; NedSystem *the_system = getSystem(); NedPage *the_page = getPage(); NedMeasure *measure; for (start_ptr = g_list_first(clipboard); start_ptr; start_ptr = g_list_next(start_ptr)) { element = (NedChordOrRest *) start_ptr->data; if (element->isRest() && element->isHidden()) continue; if (element->getPage() != the_page) continue; if (element->getSystem() != the_system) continue; if (element->getStaff() != m_staff) continue; if (element->getVoice() != this) continue; //measure = getSystem()->getMeasure(element->getMidiTime()); measure = element->m_measure; if (element->getMidiTime() != measure->midi_start) continue; if (*start_midi > element->getMidiTime()) { *start_midi = element->getMidiTime(); return TRUE; } } return FALSE; } bool NedVoice::findEndMeasureLimits(GList *clipboard, unsigned long long *end_midi) { GList *end_ptr = NULL; NedChordOrRest *element; NedSystem *the_system = getSystem(); NedPage *the_page = getPage(); NedMeasure *measure; for (end_ptr = g_list_last(clipboard); end_ptr; end_ptr = g_list_previous(end_ptr)) { element = (NedChordOrRest *) end_ptr->data; if (element->isRest() && element->isHidden()) continue; if (element->getPage() != the_page) continue; if (element->getSystem() != the_system) continue; if (element->getStaff() != m_staff) continue; if (element->getVoice() != this) continue; //measure = getSystem()->getMeasure(element->getMidiTime()); measure = element->m_measure; if (element->getMidiTime() + element->getDuration() != measure->midi_end) continue; if (*end_midi < measure->midi_end) { *end_midi = measure->midi_end; return TRUE; } } return FALSE; } void NedVoice::deleteItemsFromTo(NedCommandList *command_list, bool is_first, bool is_last, unsigned long long start_midi, unsigned long long end_midi) { GList *elements_to_delete = NULL; GList *start_ptr, *end_ptr = NULL; NedChordOrRest *element; start_ptr = g_list_first(m_chord_or_rests); if (is_first) { for (; start_ptr; start_ptr = g_list_next(start_ptr)) { if (((NedChordOrRest *) start_ptr->data)->getMidiTime() < start_midi) continue; break; } } if (start_ptr == NULL) return; if (is_last) { for (end_ptr = g_list_last(m_chord_or_rests); end_ptr; end_ptr = g_list_previous(end_ptr)) { element = (NedChordOrRest *) end_ptr->data; if (element->getMidiTime() + element->getDuration() > end_midi) continue; break; } } if (end_ptr == NULL) return; for (; start_ptr; start_ptr = g_list_next(start_ptr)) { elements_to_delete = g_list_append(elements_to_delete, start_ptr->data); if (start_ptr == end_ptr) break; } if (g_list_length(elements_to_delete) > 0) { ((NedChordOrRest *) g_list_first(elements_to_delete)->data)->testForTiesToDelete(command_list, BREAK_TIE_BACKWARD, true); ((NedChordOrRest *) g_list_last(elements_to_delete)->data)->testForTiesToDelete(command_list, BREAK_TIE_FORWARD, true); NedDeleteChordOrRestGroupCommand *delete_cmd = new NedDeleteChordOrRestGroupCommand(this, elements_to_delete); delete_cmd->execute(); command_list->addCommand(delete_cmd); } } void NedVoice::removeNotesFromTo(NedCommandList *command_list, GList *items, bool is_first, bool is_last) { GList *elements_to_delete = NULL; GList *all_elements_to_delete = NULL; GList *start_ptr, *end_ptr = NULL; NedChordOrRest *element, *start_element; NedSystem *the_system = getSystem(); NedPage *the_page = getPage(); int pos; unsigned int duration; NedDeleteChordOrRestGroupCommand *command; NedMeasure *measure = NULL; bool only_rests = true; bool measure_start_seen = false; start_ptr = g_list_first(items); if (is_first) { for (start_ptr = g_list_first(items); start_ptr; start_ptr = g_list_next(start_ptr)) { element = (NedChordOrRest *) start_ptr->data; if (element->isRest() && element->isHidden()) continue; if (element->getPage() != the_page) continue; if (element->getSystem() != the_system) continue; if (element->getStaff() != m_staff) continue; if (element->getVoice() != this) continue; break; } } if (start_ptr == NULL) return; if (is_last) { for (end_ptr = g_list_last(items); end_ptr; end_ptr = g_list_previous(end_ptr)) { element = (NedChordOrRest *) end_ptr->data; if (element->isRest() && element->isHidden()) continue; if (element->getPage() != the_page) continue; if (element->getSystem() != the_system) continue; if (element->getStaff() != m_staff) continue; if (element->getVoice() != this) continue; break; } if (end_ptr == NULL) return; } duration = 0; /* //measure = getSystem()->getMeasure(((NedChordOrRest *) start_ptr->data)->getMidiTime()); measure = ((NedChordOrRest *) start_ptr->data)->m_measure; if (((NedChordOrRest *) start_ptr->data)->getMidiTime() == measure->midi_start) { measure_start_seen = true; } */ for (;start_ptr; start_ptr = g_list_next(start_ptr)) { element = (NedChordOrRest *) start_ptr->data; if (element->isRest() && element->isHidden()) continue; if (element->getPage() != the_page) continue; if (element->getSystem() != the_system) continue; if (element->getStaff() != m_staff) continue; if (element->getVoice() != this) continue; if (!element->isRest()) only_rests = false; //measure = getSystem()->getMeasure(element->getMidiTime()); measure = element->m_measure; if (element->getMidiTime() == measure->midi_start) { if (g_list_length(elements_to_delete) > 0) { if ((pos = g_list_index(m_chord_or_rests, g_list_first(elements_to_delete)->data)) < 0) { NedResource::Abort("NedVoice::removeNotesFromTo(1)"); } command = new NedDeleteChordOrRestGroupCommand(this, elements_to_delete); command->execute(); command_list->addCommand(command); handleGapAfterInsertion(command_list, &pos, duration, NULL, 0, measure_start_seen, true); } elements_to_delete = NULL; duration = 0; measure_start_seen = true; } duration += element->getDuration(); elements_to_delete = g_list_append(elements_to_delete, element); all_elements_to_delete = g_list_append(all_elements_to_delete, element); if (start_ptr == end_ptr) break; } if (g_list_length(elements_to_delete) > 0) { if ((pos = g_list_index(m_chord_or_rests, g_list_first(elements_to_delete)->data)) < 0) { NedResource::Abort("NedVoice::removeNotesFromTo(2)"); } start_element = (NedChordOrRest *) g_list_first(elements_to_delete)->data; element = (NedChordOrRest *) g_list_last(elements_to_delete)->data; measure_start_seen = element->getMidiTime() + element->getDuration() == measure->midi_end && start_element->getMidiTime() == measure->midi_start; command = new NedDeleteChordOrRestGroupCommand(this, elements_to_delete); command->execute(); command_list->addCommand(command); handleGapAfterInsertion(command_list, &pos, duration, NULL, 0, measure_start_seen, true); } if (g_list_length(elements_to_delete) > 0) { ((NedChordOrRest *) g_list_first(all_elements_to_delete)->data)->testForTiesToDelete(command_list, BREAK_TIE_BACKWARD, true); ((NedChordOrRest *) g_list_last(all_elements_to_delete)->data)->testForTiesToDelete(command_list, BREAK_TIE_FORWARD, true); } g_list_free(all_elements_to_delete); } void NedVoice::insertBlocks(NedCommandList *command_list, int blockcount, unsigned long long midi_time) { int i; GList *lptr; GList *items_to_insert = NULL; int pos; for (lptr = g_list_first(m_chord_or_rests); lptr && ((NedChordOrRest *) lptr->data)->getMidiTime() < midi_time; lptr = g_list_next(lptr)); if (lptr) { if ((pos = g_list_position(m_chord_or_rests, lptr)) < 0) { NedResource::Abort("NedVoice::insertBlocks"); } ((NedChordOrRest *) lptr->data)->testForTiesToDelete(command_list, BREAK_TIE_BACKWARD, true); } else { ((NedChordOrRest *) g_list_last(m_chord_or_rests)->data)->testForTiesToDelete(command_list, BREAK_TIE_BACKWARD, true); pos = g_list_length(m_chord_or_rests); } for (i = 0; i < blockcount; i++) { items_to_insert = g_list_append(items_to_insert, new NedChordOrRest(this, TYPE_REST, m_voice_nr != 0, 3 /*dummy*/, 0, WHOLE_NOTE, NORMAL_NOTE, 0, 0 /* dummy */)); } NedInsertChordOrRestGroupCommand *command = new NedInsertChordOrRestGroupCommand(this, items_to_insert, pos); command->execute(); command_list->addCommand(command); assignMidiTimes(); } void NedVoice::testForPageBackwardTies(NedCommandList *command_list) { ((NedChordOrRest *) g_list_first(m_chord_or_rests)->data)->testForTiesToDelete(command_list, BREAK_TIE_BACKWARD); } bool NedVoice::tryChangeLength(NedChordOrRest *chord_or_rest) { GList *lptr, *lptr2; NedChordOrRest *chord_or_rest_to_distribute; NedChordOrRest *last_tupleted_chord_or_rest; unsigned long long new_duration; unsigned long long change_chords_midi_end_time; unsigned long long end_time; unsigned long long offs; bool was_last_in_tuplet; NedTuplet *tuplet_ptr; int tuplet_val, tuplet_val_raw; int new_dot_count = NedResource::getDotCount(); lptr = g_list_find(m_chord_or_rests, chord_or_rest); if (lptr == NULL) { return FALSE; } tuplet_val = chord_or_rest->getTupletVal(); tuplet_val_raw = chord_or_rest->getTupletValRaw(); was_last_in_tuplet = chord_or_rest->hasLastTupletFlag(); chord_or_rest->setLastTupletFlag(FALSE); new_duration = NedChordOrRest::computeDuration(NedResource::getCurrentLength(), NedResource::getDotCount(), chord_or_rest->getTupletVal()); if (chord_or_rest->getDuration() == new_duration) return TRUE; int pos = g_list_position(m_chord_or_rests, lptr); unsigned long long change_pos_midi_time = ((NedChordOrRest *) lptr->data)->getMidiTime(); if ((tuplet_ptr = chord_or_rest->getTupletPtr()) != NULL) { end_time = tuplet_ptr->getEndTime(); change_chords_midi_end_time = change_pos_midi_time + new_duration; } else { NedMeasure *measure = ((NedChordOrRest *) lptr->data)->m_measure; change_chords_midi_end_time = change_pos_midi_time + new_duration; end_time = measure->midi_end; if (NedResource::getCurrentLength() == WHOLE_NOTE && NedResource::getDotCount() == 0 && chord_or_rest->getMidiTime() == change_pos_midi_time) { new_duration = chord_or_rest->m_measure->getMeasureDuration(); } } change_chords_midi_end_time = change_pos_midi_time + new_duration; if (end_time > change_chords_midi_end_time) end_time = change_chords_midi_end_time; if (tuplet_ptr != NULL && tuplet_ptr->getMidiStartTime() == change_pos_midi_time && change_chords_midi_end_time - change_pos_midi_time == tuplet_ptr->getDuration()) { return FALSE; } unsigned int sum_of_chords_and_rests_to_delete = 0; GList *chords_and_rests_to_delete = NULL; NedCommandList *command_list = new NedCommandList(getMainWindow(), getSystem()); if (tuplet_ptr == NULL) { searchForBreakableTuplet(command_list, end_time); } ((NedChordOrRest *) lptr->data)->testForTiesToDelete(command_list, BREAK_TIE_FORWARD); for (lptr2 = g_list_next( lptr ); lptr2 && ((NedChordOrRest *) lptr2->data)->getMidiTime() < end_time; lptr2 = g_list_next(lptr2)) { chords_and_rests_to_delete = g_list_append(chords_and_rests_to_delete, lptr2->data); ((NedChordOrRest *) lptr2->data)->testForTiesToDelete(command_list, BREAK_TIE_FORWARD); sum_of_chords_and_rests_to_delete += ((NedChordOrRest *) lptr2->data)->getDuration(); } if (chords_and_rests_to_delete != NULL) { command_list->addCommand(new NedDeleteChordOrRestGroupCommand(this, chords_and_rests_to_delete)); } unsigned int length = NedResource::getCurrentLength(); if (new_duration > chord_or_rest->getDuration()) { if (new_duration - chord_or_rest->getDuration() > sum_of_chords_and_rests_to_delete) { if (tuplet_val > 0) { unsigned int d = sum_of_chords_and_rests_to_delete + chord_or_rest->getDuration(); d *= tuplet_val; d /= NedResource::m_tuplet_tab[tuplet_val]; NedChordOrRest::compute_fitting_duration(d, &length, &new_dot_count); } else { NedChordOrRest::compute_fitting_duration(sum_of_chords_and_rests_to_delete + chord_or_rest->getDuration(), &length, &new_dot_count); } new_duration = NedChordOrRest::computeDuration(length, new_dot_count, chord_or_rest->getTupletVal()); } } else { sum_of_chords_and_rests_to_delete = chord_or_rest->getDuration() - new_duration; } if (new_duration > chord_or_rest->getDuration()) { sum_of_chords_and_rests_to_delete -= new_duration - chord_or_rest->getDuration(); } last_tupleted_chord_or_rest = chord_or_rest; command_list->addCommand(new NedChangeChordOrRestLengthCommand(chord_or_rest, length, new_dot_count)); if (chords_and_rests_to_delete == NULL) { chord_or_rest_to_distribute = NULL; } else { chord_or_rest_to_distribute = (NedChordOrRest *) (g_list_last(chords_and_rests_to_delete)->data); } if (sum_of_chords_and_rests_to_delete > 0) { pos++; offs = length; switch (new_dot_count) { case 1: offs *= 3; offs /= 2; break; case 2: offs *= 7; offs /= 4; break; } offs += chord_or_rest->getMidiTime(); handleGapAfterInsertion2(command_list, offs, &pos, sum_of_chords_and_rests_to_delete, chord_or_rest_to_distribute, tuplet_val, false, false); } if (was_last_in_tuplet) { last_tupleted_chord_or_rest->setLastTupletFlag(TRUE); } getMainWindow()->getCommandHistory()->addCommandList(command_list); command_list->executeAfterBreak(); // because of searchForBreakableTuplet; don't repeat actions before break getMainWindow()->reposit(command_list, getPage(), getSystem()); return TRUE; } bool NedVoice::tryConvertToTuplet(int method, int tuplet_val, NedChordOrRest *templ) { GList *lptr2; NedChordOrRest *chord_or_rest = NULL, *last_tupleted_chord_or_rest; int minpos; GList *min_pos_ptr; int num_elements_to_delete; unsigned long long new_chords_midi_end_time; unsigned long long ref_duration; int num_additional_rests; if (templ->getTupletVal() != 0 || templ->getLength() < NOTE_32) { return FALSE; } if ((method == 1 && ((templ->getDuration() % 2) != 0)) || tuplet_val < 2 || (method > 0 && tuplet_val < 3)) { return FALSE; } ref_duration = (method == 1) ? templ->getDuration() / 2 : templ->getDuration(); if ((min_pos_ptr = g_list_find(m_chord_or_rests, templ)) < 0) { NedResource::Abort("NedVoice::tryConvertToTuplet(1)"); } if ((minpos = g_list_index(m_chord_or_rests, templ)) < 0) { NedResource::Abort("NedVoice::tryConvertToTuplet(2)"); } if (((NedChordOrRest *) min_pos_ptr->data)->getTupletVal() != 0) { return false; } minpos++; //NedMeasure *measure = getSystem()->getMeasure(templ->getMidiTime()); NedMeasure *measure = templ->m_measure; unsigned long long min_pos_midi_time = templ->getMidiTime(); new_chords_midi_end_time = min_pos_midi_time + NedResource::m_tuplet_tab[tuplet_val] * ref_duration; unsigned int end_time = measure->midi_end; if (new_chords_midi_end_time > end_time) { return FALSE; } unsigned int sum_of_chords_and_rests_to_delete = 0; GList *chords_and_rests_to_delete = NULL; NedCommandList *command_list = new NedCommandList(getMainWindow(), getSystem()); for (lptr2 = g_list_next(min_pos_ptr); lptr2 && ((NedChordOrRest *) lptr2->data)->getMidiTime() < new_chords_midi_end_time; lptr2 = g_list_next(lptr2)) { chords_and_rests_to_delete = g_list_append(chords_and_rests_to_delete, lptr2->data); ((NedChordOrRest *) lptr2->data)->testForTiesToDelete(command_list); sum_of_chords_and_rests_to_delete += ((NedChordOrRest *) lptr2->data)->getDuration(); } /* if (sum_of_chords_and_rests_to_delete < templ->getDuration()) { return FALSE; } */ if ((NedResource::m_tuplet_tab[tuplet_val] - 1) * ref_duration <= sum_of_chords_and_rests_to_delete) { sum_of_chords_and_rests_to_delete -= (NedResource::m_tuplet_tab[tuplet_val] - 1) * ref_duration; } if (chords_and_rests_to_delete != NULL) { command_list->addCommand(new NedDeleteChordOrRestGroupCommand(this, chords_and_rests_to_delete)); num_elements_to_delete = g_list_length(chords_and_rests_to_delete); } command_list->addCommand(new NedSetToTupletCommand(templ, tuplet_val)); num_additional_rests = (method == 1) ? tuplet_val - 2 : tuplet_val - 1; for (int i = 0; i < num_additional_rests; i++) { chord_or_rest = new NedChordOrRest(this, TYPE_REST, FALSE, 0, 0, ref_duration, NORMAL_NOTE, 0, 0); chord_or_rest->setTupletVal(tuplet_val); command_list->addCommand(new NedInsertChordOrRestCommand(this, minpos++, chord_or_rest)); } last_tupleted_chord_or_rest = chord_or_rest; if (sum_of_chords_and_rests_to_delete > 0) { NedChordOrRest *chord_or_rest_to_distribute = (NedChordOrRest *) (g_list_last(chords_and_rests_to_delete)->data); handleGapAfterInsertion(command_list, &minpos, sum_of_chords_and_rests_to_delete, chord_or_rest_to_distribute, 0, false, false); } last_tupleted_chord_or_rest->setLastTupletFlag(TRUE); getMainWindow()->getCommandHistory()->addCommandList(command_list); command_list->execute(); getMainWindow()->reposit(command_list, getPage(), getSystem()); getSystem()->m_is_positioned = false; return TRUE; } void NedVoice::removeTuplet(NedChordOrRest *element, NedCommandList *cmd_list) { NedTuplet *tuplet = element->getTupletPtr(); NedCommandList *command_list; NedDeleteChordOrRestGroupCommand *del_chord; unsigned int tuplet_time; int pos; if (tuplet == NULL) { NedResource::Abort("NedVoice::removeTuplet(1)"); } tuplet_time = tuplet->getDuration(); pos = g_list_index(m_chord_or_rests, tuplet->getFirstElement()); if (pos < 0) { NedResource::Abort("NedVoice::removeTuplet(2)"); } if (cmd_list == NULL) { command_list = new NedCommandList(getMainWindow(), getSystem()); } else { command_list = cmd_list; } tuplet->getFirstElement()->testForTiesToDelete(command_list, BREAK_TIE_BACKWARD, cmd_list != NULL); tuplet->getLastElement()->testForTiesToDelete(command_list, BREAK_TIE_FORWARD, cmd_list != NULL); command_list->addCommand(del_chord = new NedDeleteChordOrRestGroupCommand(this, tuplet->getElementList())); if (cmd_list != NULL) { del_chord->execute(); } if (tuplet_time > 0) { handleGapAfterInsertion(command_list, &pos, tuplet_time, NULL, 0, false, cmd_list != NULL); } if (cmd_list == NULL) { getMainWindow()->getCommandHistory()->addCommandList(command_list); command_list->execute(); getMainWindow()->reposit(command_list, getPage(), getSystem()); } getSystem()->m_is_positioned = false; } void NedVoice::checkForElementsToSplit(NedCommandList *command_list) { GList *lptr, *lptr2; GList *lptr3; int n2; GList *elements_to_delete = NULL; unsigned long long t1; unsigned int len; bool in_upbeat; NedMeasure *measure; NedTuplet *tuplet; NedChordOrRest *element_to_distribute = NULL; unsigned int overflow = 0; NedChordOrRest *element; NedChangeChordOrRestLengthCommand *change_length_command; NedInsertTiedElementCommand *insert_element_command; NedDeleteChordOrRestGroupCommand *del_group; int pos = 0, dotcount; int n; for (n = 0, lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr), n++) { element = (NedChordOrRest *) lptr->data; measure = getSystem()->getMeasure(element->getMidiTime()); //measure = element->m_measure; if (measure == NULL) { int idx = g_list_position(m_chord_or_rests, lptr); int ll = g_list_length(m_chord_or_rests); for (n2 = 0, lptr3 = g_list_first(m_chord_or_rests); lptr3; lptr3 = g_list_next(lptr3), n2++) { printf("%d: ", n2); if (((NedChordOrRest *) lptr3->data)->isRest()) { printf("r"); } else { printf("n"); } printf("%u(%u, %u) ", LAUS(((NedChordOrRest *) lptr3->data)->getLength())); if (((NedChordOrRest *) lptr3->data)->getDotCount()) { printf("D%d ", ((NedChordOrRest *) lptr3->data)->getDotCount()); } if (!((NedChordOrRest *) lptr3->data)->isRest()) { printf(" %d ", ((NedChordOrRest *) lptr3->data)->getLineOfFirstNote()); } printf("\n"); fflush(stdout); } printf("pag: %d, sys: %d, sta: %d, voi: %d, idx = %d n = %d, len = %d, element->getMidiTime() = %llu(%llu, %llu)\n", getPage()->getPageNumber(), getSystem()->getSystemNumber(), m_staff->getStaffNumber(), m_voice_nr, idx, n, ll, LAUS(element->getMidiTime())); fflush(stdout); NedResource::Abort("NedVoice::checkForElementsToSplit(0)"); } if (element->getTupletVal() != 0) { tuplet = element->getTupletPtr(); if (tuplet->getMidiStartTime() < measure->midi_start && tuplet->getMidiStartTime() + tuplet->getDuration() > measure->midi_start) { removeTuplet(element, command_list); lptr = g_list_first(m_chord_or_rests); assignMidiTimes(); // recompute midi times } } } in_upbeat = getPage()->getPageNumber() == 0 && getMainWindow()->getUpBeatInverse() > 0 && getSystem()->getSystemNumber() == 0; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { element = (NedChordOrRest *) lptr->data; measure = getSystem()->getMeasure(element->getMidiTime()); //measure = element->m_measure; if (measure == NULL) { elements_to_delete = g_list_append(elements_to_delete, element); continue; } if (overflow == 0 && element->isRest() && element->getLength() == WHOLE_NOTE && element->getMidiTime() == measure->midi_start) { overflow = 0; assignMidiTimes(); continue; } if ((!(in_upbeat && measure->getMeasureNumber() == 0) && overflow == 0) || (element_to_distribute != NULL && element_to_distribute->isRest())) { if (element->getLength() == WHOLE_NOTE && element->isRest() && element->getMidiTime() == measure->midi_start /* && element->getMidiTime() + element->getDuration() == measure->midi_end */) { overflow = 0; assignMidiTimes(); continue; } } if (overflow > measure->getMeasureDuration()) { overflow = 0; } if (overflow > 0) { NedResource::setLengthField(overflow); len = NedResource::getPartLength(&dotcount); while (len > 0) { insert_element_command = new NedInsertTiedElementCommand(this, element_to_distribute, len, dotcount); insert_element_command->execute(); command_list->addCommand(insert_element_command); pos++; if ((lptr2 = g_list_nth(m_chord_or_rests, pos)) == NULL) { NedResource::Abort("checkForElementsToSplit(1)"); } element_to_distribute = (NedChordOrRest *) lptr2->data; len = NedResource::getPartLength(&dotcount); } overflow = 0; element_to_distribute = NULL; if ((lptr = g_list_nth(m_chord_or_rests, pos)) == NULL) { NedResource::Abort("checkForElementsToSplit(2)"); } assignMidiTimes(); } overflow = 0; if ((pos = g_list_position(m_chord_or_rests, lptr)) < 0) { NedResource::Abort("checkForElementsToSplit(3)"); } if (element->isRest() && element->getLength() == WHOLE_NOTE) { // i.e. was overflow into a measure with a whole rest t1 = measure->midi_end - element->getMidiTime(); handleGapAfterInsertion(command_list, &pos, t1, NULL, 0, false, true); assignMidiTimes(); if ((lptr = g_list_nth(m_chord_or_rests, pos)) == NULL) { NedResource::Abort("checkForElementsToSplit(5)"); } continue; } if (element->getMidiTime() < measure->midi_end && element->getMidiTime() + element->getDuration() > measure->midi_end) { t1 = measure->midi_end - element->getMidiTime(); /* if (!(in_upbeat && measure->getMeasureNumber() == 0) || !(element->isRest() && element->getLength() == WHOLE_NOTE)) { overflow = element->getMidiTime() + element->getDuration() - measure->midi_end; } */ overflow = element->getMidiTime() + element->getDuration() - measure->midi_end; NedResource::setLengthField(t1); len = NedResource::getPartLength(&dotcount); change_length_command = new NedChangeChordOrRestLengthCommand(element, len, dotcount); change_length_command->execute(); command_list->addCommand(change_length_command); len = NedResource::getPartLength(&dotcount); element_to_distribute = element; while (len > 0) { insert_element_command = new NedInsertTiedElementCommand(this, element_to_distribute, len, dotcount); insert_element_command->execute(); command_list->addCommand(insert_element_command); pos++; if ((lptr2 = g_list_nth(m_chord_or_rests, pos)) == NULL) { NedResource::Abort("checkForElementsToSplit(4)"); } element_to_distribute = (NedChordOrRest *) lptr2->data; len = NedResource::getPartLength(&dotcount); } if ((lptr = g_list_nth(m_chord_or_rests, pos > 0 ? pos-1 : pos)) == NULL) { NedResource::Abort("checkForElementsToSplit(6)"); } } } if (elements_to_delete != NULL) { del_group = new NedDeleteChordOrRestGroupCommand(this, elements_to_delete); del_group->execute(); command_list->addCommand(del_group); } testAllMeasuresForFillup(command_list); } GList *NedVoice::getFirstChordOrRest(int lyrics_line, bool lyrics_required, bool note_required) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (note_required && ((NedChordOrRest *) lptr->data)->getType() != TYPE_CHORD) continue; if ((((NedChordOrRest *) lptr->data)->getType() & (TYPE_REST | TYPE_CHORD)) == 0) continue; if (lyrics_required && ((NedChordOrRest *) lptr->data)->getType() != TYPE_CHORD) continue; if (!lyrics_required) return lptr; if (((NedChordOrRest *) lptr->data)->getLyrics(lyrics_line) != NULL) { return lptr; } } return NULL; } GList *NedVoice::getLastChordOrRest(int lyrics_line, bool lyrics_required, bool note_required) { GList *lptr; for (lptr = g_list_last(m_chord_or_rests); lptr; lptr = g_list_previous(lptr)) { if (note_required && ((NedChordOrRest *) lptr->data)->getType() != TYPE_CHORD) continue; if ((((NedChordOrRest *) lptr->data)->getType() & (TYPE_REST | TYPE_CHORD)) == 0) continue; if (lyrics_required && ((NedChordOrRest *) lptr->data)->getType() != TYPE_CHORD) continue; if (!lyrics_required) return lptr; if (((NedChordOrRest *) lptr->data)->getLyrics(lyrics_line) != NULL) { return lptr; } } return NULL; } void NedVoice::testAllMeasuresForFillup(NedCommandList *command_list) { int last_measure_number; NedChordOrRest *last_element; GList *appended_wholes = NULL; NedMeasure *measure; int meas_number; unsigned int diff; int pos; if (m_chord_or_rests == NULL) return; NedInsertChordOrRestGroupCommand *insert_chord_or_rest_group_command; last_measure_number = getSystem()->getNumberOfLastMeasure(); last_element = (NedChordOrRest *) g_list_last(m_chord_or_rests)->data; //measure = getSystem()->getMeasure(last_element->getMidiTime()); measure = last_element->m_measure; if (measure == NULL) return; if (measure->midi_end > last_element->getMidiTime() + last_element->getDuration()) { diff = measure->midi_end - (last_element->getMidiTime() + last_element->getDuration()); if ((pos = g_list_index(m_chord_or_rests, last_element)) < 0) { NedResource::Abort("NedVoice::testAllMeasuresForFillup"); } pos++; handleGapAfterInsertion(command_list, &pos, diff, NULL, 0, false, true); } else { pos = g_list_length(m_chord_or_rests); } for (meas_number = measure->getMeasureNumber(); meas_number < last_measure_number; meas_number++) { appended_wholes = g_list_append(appended_wholes, new NedChordOrRest(this, TYPE_REST, m_voice_nr > 0, 3 /* dummy */, 0, WHOLE_NOTE, NORMAL_NOTE, 0, 0)); } if (appended_wholes != NULL) { insert_chord_or_rest_group_command = new NedInsertChordOrRestGroupCommand(this, appended_wholes, pos); insert_chord_or_rest_group_command->execute(); command_list->addCommand(insert_chord_or_rest_group_command); } } NedChordOrRest *NedVoice::handleGapAfterInsertion(NedCommandList *command_list, int *pos /* in/out */, int sum_of_chords_and_rests_to_delete, NedChordOrRest *chord_or_rest_to_distribute, int tuplet_val, bool force_wholes, bool do_execute) { unsigned int len2 = 0; int dotcount = 0; NedInsertChordOrRestCommand *insert_command; NedChordOrRest *chord_or_rest, *last_tupleted_chord_or_rest = NULL, *distributed_new_sym; if (tuplet_val > 0) { sum_of_chords_and_rests_to_delete *= tuplet_val; sum_of_chords_and_rests_to_delete /= NedResource::m_tuplet_tab[tuplet_val]; } /* if (sum_of_chords_and_rests_to_delete >= WHOLE_NOTE) { len2 = WHOLE_NOTE; } else */ if (force_wholes) { len2 = WHOLE_NOTE; last_tupleted_chord_or_rest = chord_or_rest = new NedChordOrRest(this, TYPE_REST, FALSE, 3, dotcount, len2, NORMAL_NOTE, 0, 0); insert_command = new NedInsertChordOrRestCommand(this, *pos, chord_or_rest); command_list->addCommand(insert_command); if (do_execute) { insert_command->execute(); } } else { NedResource::setLengthField(sum_of_chords_and_rests_to_delete); len2 = NedResource::getPartLength(&dotcount); while (len2 > 0) { if (chord_or_rest_to_distribute == NULL) { last_tupleted_chord_or_rest = chord_or_rest = new NedChordOrRest(this, TYPE_REST, FALSE, 3, dotcount, len2, NORMAL_NOTE, 0, 0); chord_or_rest->setTupletVal(tuplet_val); insert_command = new NedInsertChordOrRestCommand(this, *pos, chord_or_rest); command_list->addCommand(insert_command); } else { last_tupleted_chord_or_rest = distributed_new_sym = chord_or_rest_to_distribute->cloneWithDifferentLength(len2, dotcount); distributed_new_sym->setTupletVal(tuplet_val); insert_command = new NedInsertChordOrRestCommand(this, *pos, distributed_new_sym); command_list->addCommand(insert_command); } if (do_execute) { insert_command->execute(); } len2 = NedResource::getPartLength(&dotcount); (*pos)++; } } assignMidiTimes(); // the new element(s) has no MIDI time, but needed in reposit (collect FirstMeasure) return last_tupleted_chord_or_rest; } NedChordOrRest *NedVoice::handleGapAfterInsertion2(NedCommandList *command_list, unsigned long long offs, int *pos /* in/out */, int sum_of_chords_and_rests_to_delete, NedChordOrRest *chord_or_rest_to_distribute, int tuplet_val, bool force_wholes, bool do_execute) { unsigned int len2 = 0; int dotcount = 0; NedInsertChordOrRestCommand *insert_command; NedChordOrRest *chord_or_rest, *last_tupleted_chord_or_rest = NULL, *distributed_new_sym; if (tuplet_val > 0) { sum_of_chords_and_rests_to_delete *= tuplet_val; sum_of_chords_and_rests_to_delete /= NedResource::m_tuplet_tab[tuplet_val]; offs *= tuplet_val; offs /= NedResource::m_tuplet_tab[tuplet_val]; } /* if (sum_of_chords_and_rests_to_delete >= WHOLE_NOTE) { len2 = WHOLE_NOTE; } else */ if (force_wholes) { len2 = WHOLE_NOTE; last_tupleted_chord_or_rest = chord_or_rest = new NedChordOrRest(this, TYPE_REST, FALSE, 3, dotcount, len2, NORMAL_NOTE, 0, 0); insert_command = new NedInsertChordOrRestCommand(this, *pos, chord_or_rest); command_list->addCommand(insert_command); if (do_execute) { insert_command->execute(); } } else { NedResource::setLengthField2(0, offs, sum_of_chords_and_rests_to_delete); len2 = NedResource::getPartLength2(&dotcount); while (len2 > 0) { if (chord_or_rest_to_distribute == NULL) { last_tupleted_chord_or_rest = chord_or_rest = new NedChordOrRest(this, TYPE_REST, FALSE, 3, dotcount, len2, NORMAL_NOTE, 0, 0); chord_or_rest->setTupletVal(tuplet_val); insert_command = new NedInsertChordOrRestCommand(this, *pos, chord_or_rest); command_list->addCommand(insert_command); } else { last_tupleted_chord_or_rest = distributed_new_sym = chord_or_rest_to_distribute->cloneWithDifferentLength(len2, dotcount); distributed_new_sym->setTupletVal(tuplet_val); insert_command = new NedInsertChordOrRestCommand(this, *pos, distributed_new_sym); command_list->addCommand(insert_command); } if (do_execute) { insert_command->execute(); } len2 = NedResource::getPartLength2(&dotcount); (*pos)++; } } assignMidiTimes(); // the new element(s) has no MIDI time, but needed in reposit (collect FirstMeasure) return last_tupleted_chord_or_rest; } bool NedVoice::searchForBreakableTuplet(NedCommandList *command_list, unsigned long long critical_time) { GList *lptr; bool tuplet_broken; bool was_broken = FALSE; NedTuplet *tuplet; NedChordOrRest *chord_or_rest; int pos; int i; do { tuplet_broken = FALSE; for (i = 0, lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr), i++) { chord_or_rest = (NedChordOrRest *) lptr->data; if (chord_or_rest->getTupletVal() == 0) continue; tuplet = chord_or_rest->getTupletPtr(); if (tuplet == NULL) continue; // can happen if the reposition gets tuplets from next page /* printf("is rest = %d, type = %d(0x%x), i = %d, pa = %d, sys = %d, sta = %d, voi = %d\n", chord_or_rest->isRest(), chord_or_rest->getType(), chord_or_rest->getType(),i, getPage()->getPageNumber(), getSystem()->getSystemNumber(), m_staff->getStaffNumber(), m_voice_nr); fflush(stdout); NedResource::Abort("NedVoice::searchForBreakableTuplet(1)"); } */ if (tuplet->getMidiStartTime() < critical_time && tuplet->getEndTime() > critical_time) { tuplet_broken = TRUE; pos = g_list_index(m_chord_or_rests, tuplet->getFirstElement()); if (pos < 0) { NedResource::Abort("NedVoice::searchForBreakableTuplet(2)"); } command_list->addCommand(new NedDeleteChordOrRestGroupCommand(this, tuplet->getElementList())); pos++; handleGapAfterInsertion(command_list, &pos, tuplet->getDuration(), NULL, 0, false, false); command_list->executeAfterBreakAndSetBreak(); was_broken = TRUE; assignMidiTimes(); break; } } } while (tuplet_broken); return was_broken; } void NedVoice::searchForBreakableTies(NedCommandList *command_list, unsigned int dir, unsigned long long start_time, unsigned long long end_time) { GList *lptr; NedChordOrRest *chord_or_rest; unsigned long long chord_start_time; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { chord_or_rest = (NedChordOrRest *) lptr->data; chord_start_time = chord_or_rest->getMidiTime(); if (chord_start_time + chord_or_rest->getDuration() <= start_time) continue; if (chord_start_time >= end_time) break; if (chord_or_rest->testForTiesToDelete(command_list, dir)) { command_list->executeAfterBreakAndSetBreak(); } } } void NedVoice::testForTupletEnd(unsigned long long start_time, unsigned int duration, unsigned long long *end_time) { GList *lptr; NedChordOrRest *chord_or_rest; unsigned long long chord_start_time; unsigned long long chord_end_time; NedTuplet *tuplet; chord_end_time = start_time + duration; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { chord_or_rest = (NedChordOrRest *) lptr->data; chord_start_time = chord_or_rest->getMidiTime(); if (chord_start_time + chord_or_rest->getDuration() <= start_time) continue; if (chord_start_time >= *end_time) break; if (chord_or_rest->getTupletVal() != 0) { tuplet = chord_or_rest->getTupletPtr(); if (tuplet == NULL) { NedResource::Abort("NedVoice::testForTupletEnd"); } if (chord_end_time <= tuplet->getMidiStartTime()) continue; if (chord_end_time >= tuplet->getMidiStartTime() + tuplet->getDuration()) continue; *end_time = tuplet->getMidiStartTime(); break; } } } bool NedVoice::setNewXpos(NedChordOrRest *element, double newpos) { GList *lptr1, *lptr2; NedTuplet *tuplet_ptr1, *tuplet_ptr2; int tuplet_val; lptr1 = g_list_find(m_chord_or_rests, element); if (lptr1 == NULL) { NedResource::Abort("NedVoice::setNewXpos"); } tuplet_val = ((NedChordOrRest *) lptr1->data)->getTupletVal(); if (tuplet_val == 0) { //NedMeasure *meas_info1 = getSystem()->getMeasure(((NedChordOrRest *) lptr1->data)->getMidiTime()); NedMeasure *meas_info1 = ((NedChordOrRest *) lptr1->data)->m_measure; for (lptr2 = g_list_first(m_chord_or_rests); lptr2; lptr2 = g_list_next(lptr2)) { if (((NedChordOrRest *) lptr2->data)->getRealXpos() > newpos) { //NedMeasure *meas_info2 = getSystem()->getMeasure(((NedChordOrRest *) lptr2->data)->getMidiTime()); NedMeasure *meas_info2 = ((NedChordOrRest *) lptr2->data)->m_measure; if (meas_info1 != meas_info2) { if (meas_info2 - meas_info1 == 1) { break; } return FALSE; } if (lptr1 == lptr2) return FALSE; NedCommandList *command_list = new NedCommandList(getMainWindow(), getSystem()); ((NedChordOrRest *) lptr1->data)->testForTiesToDelete(command_list); ((NedChordOrRest *) lptr2->data)->testForTiesToDelete(command_list); command_list->addCommand(new NedChangeXPositionCommand(&m_chord_or_rests, (NedChordOrRest *) lptr2->data, (NedChordOrRest *) lptr1->data, TRUE)); command_list->execute(); getMainWindow()->getCommandHistory()->addCommandList(command_list); return TRUE; } } for (lptr2 = g_list_last(m_chord_or_rests); lptr2; lptr2 = g_list_previous(lptr2)) { if (((NedChordOrRest *) lptr2->data)->getRealXpos() < newpos) { //NedMeasure *meas_info2 = getSystem()->getMeasure(((NedChordOrRest *) lptr2->data)->getMidiTime()); NedMeasure *meas_info2 = ((NedChordOrRest *) lptr2->data)->m_measure; if (meas_info1 != meas_info2) return FALSE; if (lptr1 == lptr2) return FALSE; NedCommandList *command_list = new NedCommandList(getMainWindow(), getSystem()); ((NedChordOrRest *) lptr1->data)->testForTiesToDelete(command_list); ((NedChordOrRest *) lptr2->data)->testForTiesToDelete(command_list); command_list->addCommand(new NedChangeXPositionCommand(&m_chord_or_rests, (NedChordOrRest *) lptr2->data, (NedChordOrRest *) lptr1->data, FALSE)); command_list->execute(); getMainWindow()->getCommandHistory()->addCommandList(command_list); return TRUE; } } } else { tuplet_ptr1 = ((NedChordOrRest *) lptr1->data)->getTupletPtr(); for (lptr2 = g_list_first(m_chord_or_rests); lptr2; lptr2 = g_list_next(lptr2)) { if (((NedChordOrRest *) lptr2->data)->getRealXpos() > newpos) { tuplet_ptr2 = ((NedChordOrRest *) lptr2->data)->getTupletPtr(); if (lptr1 == lptr2 || tuplet_ptr1 != tuplet_ptr2) { break; } NedCommandList *command_list = new NedCommandList(getMainWindow(), getSystem()); ((NedChordOrRest *) lptr1->data)->testForTiesToDelete(command_list); ((NedChordOrRest *) lptr2->data)->testForTiesToDelete(command_list); command_list->addCommand(new NedChangeXPositionCommand(&m_chord_or_rests, (NedChordOrRest *) lptr2->data, (NedChordOrRest *) lptr1->data, TRUE)); command_list->execute(); getMainWindow()->getCommandHistory()->addCommandList(command_list); return TRUE; } } for (lptr2 = g_list_last(m_chord_or_rests); lptr2; lptr2 = g_list_previous(lptr2)) { if (((NedChordOrRest *) lptr2->data)->getRealXpos() < newpos) { NedCommandList *command_list = new NedCommandList(getMainWindow(), getSystem()); tuplet_ptr2 = ((NedChordOrRest *) lptr2->data)->getTupletPtr(); if (lptr1 == lptr2 || tuplet_ptr1 != tuplet_ptr2) { return FALSE; } ((NedChordOrRest *) lptr1->data)->testForTiesToDelete(command_list); ((NedChordOrRest *) lptr2->data)->testForTiesToDelete(command_list); command_list->addCommand(new NedChangeXPositionCommand(&m_chord_or_rests, (NedChordOrRest *) lptr2->data, (NedChordOrRest *) lptr1->data, FALSE)); command_list->execute(); getMainWindow()->getCommandHistory()->addCommandList(command_list); return TRUE; } } } return FALSE; } void NedVoice::searchForBeamGroups(unsigned int midi_start_time, NedChordOrRest *new_chord_or_rest /* = NULL */) { GList *lptr, *beamlist = NULL, *lptr3 = NULL; unsigned int beats; bool split = false; NedMeasure *last_measure = NULL, *measure = NULL; bool grace_mode = false; //unsigned int meas_duration; while ((lptr = g_list_first(m_beam_list)) != NULL) { // the beam removes itself from m_beam_list if deleted // therfore we must restart from list begin in every loop delete ((NedBeam *) lptr->data); } g_list_free(m_beam_list); m_beam_list = NULL; /* lptr = g_list_first(m_beam_list); while (lptr) { NedBeam *b = (NedBeam *) lptr->data; delete b; // includes NULL pointer in chords and removal from m_beam_list lptr = g_list_first(m_beam_list); } for (lptr = g_list_first(m_beam_list); lptr; lptr = g_list_next(lptr)) { ((NedBeam *) lptr->data)->m_needed = FALSE; } meas_duration = getMainWindow()->getNumerator() * WHOLE_NOTE / getMainWindow()->getDenominator(); */ for(lptr = g_list_first(m_chord_or_rests), lptr3 = NULL; lptr; lptr3 = lptr, lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() == TYPE_KEYSIG) continue; // can happen during do_import_from_other (testLineOverflow) NedChordOrRest *chord_or_rest = (NedChordOrRest *) lptr->data; last_measure = measure; //measure = getSystem()->getMeasure(chord_or_rest->getMidiTime()); measure = chord_or_rest->m_measure; split = m_staff->hasStaffElem(chord_or_rest->getMidiTime()); if (measure == NULL) { NedResource::Abort("NedVoice::searchForBeamGroups"); } beats = chord_or_rest->getMidiTime() - measure->midi_start; if (last_measure != measure) { split = true; } /* if (meas_duration <= beats) { split = true; } if (!split) { split = beamEndRequired(beamlist, beats, measure) || ((NedChordOrRest *) lptr->data)->hasLastTupletFlag(); } */ if (!split) { if ((chord_or_rest->getStatus() & STAT_FORCE_BEAM) == 0) { split = beamEndRequired(beamlist, beats, measure); } } if (!split && lptr3 != NULL) { split = (chord_or_rest->getTupletVal() != ((NedChordOrRest *) lptr3->data)->getTupletVal()) || ((NedChordOrRest *) lptr3->data)->hasLastTupletFlag(); } /* if (lptr3 != NULL) { split = split || (chord_or_rest->getTupletVal() != ((NedChordOrRest *) lptr3->data)->getTupletVal()); } */ if (chord_or_rest->getType() == TYPE_GRACE) { if (grace_mode) { split = false; } else { split = true; } grace_mode = true; } else if (grace_mode) { grace_mode = false; split = true; } if ((split || (chord_or_rest->getStatus() & STAT_BREAK_BEAM) || (chord_or_rest->getType() & (TYPE_CHORD | TYPE_GRACE)) == 0 || chord_or_rest->getLength() >= NOTE_4 || chord_or_rest->getFirstNote()->getNoteHead() == GUITAR_NOTE_NO_STEM) && beamlist != NULL) { if (g_list_length(beamlist) > 1) { /* inserted = FALSE; for (zz = 0, lptr2 = g_list_first(m_beam_list); lptr2; lptr2 = g_list_next(lptr2), zz++) { beam = (NedBeam *) lptr2->data; beam->m_needed = beam->isEqual(beamlist, new_chord_or_rest, &newpos); NedResource::DbgMsg(DBG_TESTING, "Beam %d --> %d\n", zz, beam->m_needed); if (new_chord_or_rest != NULL && beam->m_needed) { beam->insertChord(new_chord_or_rest, newpos); inserted = TRUE; } else if (beam->m_needed) { inserted = TRUE; } } if (inserted) { g_list_free(beamlist); } else { */ NedBeam *bb = new NedBeam(beamlist); m_beam_list = g_list_append(m_beam_list, bb); /* } */ } else { g_list_free(beamlist); } beamlist = NULL; } if ((chord_or_rest->getType() & (TYPE_CHORD | TYPE_GRACE)) != 0 && chord_or_rest->getLength() != STROKEN_GRACE && chord_or_rest->getLength() < NOTE_4) { beamlist = g_list_append(beamlist, chord_or_rest); } //measure = getSystem()->getMeasure(chord_or_rest->getMidiTime()); measure = chord_or_rest->m_measure; /* if (measure == NULL) { meas_duration = getMainWindow()->getNumerator() * WHOLE_NOTE / getMainWindow()->getDenominator(); } else { meas_duration = getMainWindow()->getMeasureDuration(measure->getMeasureNumber()); } */ } if (beamlist != NULL) { if (g_list_length(beamlist) > 1) { NedBeam *bb = new NedBeam(beamlist); m_beam_list = g_list_append(m_beam_list, bb); } else { g_list_free(beamlist); beamlist = NULL; } } /* lptr = g_list_first(m_beam_list); while (lptr) { NedBeam *b = (NedBeam *) lptr->data; if (b->getChordCount() < 1 || !b->m_needed) { delete b; // includes NULL pointer in chords/rests and removal from m_beam_list lptr = g_list_first(m_beam_list); } else { lptr = g_list_next(lptr); } } */ } void NedVoice::setBeamFlagsOf(NedCommandList *command_list, GList *selected_group, NedChordOrRest *start_elem) { GList *sel_group_ptr, *voice_list_ptr; void *last_touched = NULL; NedMeasure *measure, *measure1; unsigned int status; NedChangeChordOrRestStatusCommand *change_status; //measure = getSystem()->getMeasure(start_elem->getMidiTime()); measure = start_elem->m_measure; for (sel_group_ptr = g_list_first(selected_group); sel_group_ptr; sel_group_ptr = g_list_next(sel_group_ptr)) { if (((NedChordOrRest *) sel_group_ptr->data)->getVoice() != this) continue; if (((NedChordOrRest *) sel_group_ptr->data)->getType() != TYPE_CHORD) continue; if (((NedChordOrRest *) sel_group_ptr->data)->getLength() >= NOTE_4) continue; measure1 = ((NedChordOrRest *) sel_group_ptr->data)->m_measure; if (measure != measure1) break; status = ((NedChordOrRest *) sel_group_ptr->data)->getStatus(); if( (status & STAT_BREAK_BEAM) || !(status & STAT_FORCE_BEAM) ){ status &= (~(STAT_BREAK_BEAM)); status |= STAT_FORCE_BEAM; NedChangeChordOrRestStatusCommand *change_status = new NedChangeChordOrRestStatusCommand((NedChordOrRest *) sel_group_ptr->data, status); command_list->addCommand(change_status); change_status->execute(); } last_touched = sel_group_ptr->data; } status = start_elem->getStatus(); if( (status & STAT_FORCE_BEAM) || !(status & STAT_BREAK_BEAM) ){ status &= (~(STAT_FORCE_BEAM)); status |= STAT_BREAK_BEAM; change_status = new NedChangeChordOrRestStatusCommand(start_elem, status); command_list->addCommand(change_status); change_status->execute(); } if (last_touched == NULL) return; if ((voice_list_ptr = g_list_find(m_chord_or_rests, last_touched)) == NULL) { NedResource::Abort("NedVoice::setBeamFlagsOf"); } voice_list_ptr = g_list_next(voice_list_ptr); if (voice_list_ptr == NULL) return; measure1 = ((NedChordOrRest *) voice_list_ptr->data)->m_measure; if (measure != measure1) return; if (((NedChordOrRest *) voice_list_ptr->data)->getType() != TYPE_CHORD) return; if (((NedChordOrRest *) voice_list_ptr->data)->getLength() >= NOTE_4) return; status = ((NedChordOrRest *) voice_list_ptr->data)->getStatus(); if( (status & STAT_FORCE_BEAM) || !(status & STAT_BREAK_BEAM) ){ status &= (~(STAT_FORCE_BEAM)); status |= STAT_BREAK_BEAM; change_status = new NedChangeChordOrRestStatusCommand((NedChordOrRest *) voice_list_ptr->data, status); command_list->addCommand(change_status); change_status->execute(); } } void NedVoice::isolate(NedCommandList *command_list, NedChordOrRest *element) { GList *lptr; NedBeam *beam; unsigned int status; NedChangeChordOrRestStatusCommand *change_status; if (element->getBeam() == NULL) return; if ((lptr = g_list_find(m_chord_or_rests, element)) == NULL) { NedResource::Abort("NedVoice::isolate"); } if ((beam = element->getBeam()) == NULL) return; lptr = g_list_next(lptr); if (lptr == NULL) return; if (((NedChordOrRest *) lptr->data)->getBeam() != beam) return; status = ((NedChordOrRest *) lptr->data)->getStatus(); status &= (~(STAT_FORCE_BEAM)); status |= STAT_BREAK_BEAM; change_status = new NedChangeChordOrRestStatusCommand((NedChordOrRest *) lptr->data, status); command_list->addCommand(change_status); change_status->execute(); status = element->getStatus(); status &= (~(STAT_FORCE_BEAM)); status |= STAT_BREAK_BEAM; change_status = new NedChangeChordOrRestStatusCommand(element, status); command_list->addCommand(change_status); change_status->execute(); } bool NedVoice::findFirstElementeGreaterThan(double x, NedChordOrRest **element) { GList *lptr; for(lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getXPos() > x) { *element = (NedChordOrRest *) lptr->data; return TRUE; } } return FALSE; } bool NedVoice::findLastElementeLessThan(double x, NedChordOrRest **element) { GList *lptr; for(lptr = g_list_last(m_chord_or_rests); lptr; lptr = g_list_previous(lptr)) { if (((NedChordOrRest *) lptr->data)->getXPos() < x) { *element = (NedChordOrRest *) lptr->data; return TRUE; } } return FALSE; } void NedVoice::collectChordsAndRests(NedClipBoard *board, unsigned long long midi_start, unsigned long long midi_end) { GList *lptr; NedClipBoardElement *element = new NedClipBoardElement(); element->from_voice = this; for(lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getMidiTime() < midi_start || ((NedChordOrRest *) lptr->data)->getMidiTime() >= midi_end) continue; element->chords_or_rests_to_move = g_list_append(element->chords_or_rests_to_move, lptr->data); } board->m_elements = g_list_append(board->m_elements, element); } void NedVoice::collectDestinationVoices(NedClipBoard *board) { NedClipBoardElement *element; if (board->element_counter == NULL) { NedResource::Abort("NedVoice::collectDestinationVoices(1)"); } element = ((NedClipBoardElement *) board->element_counter->data); if (element->from_voice == NULL) { NedResource::Abort("NedVoice::collectDestinationVoices(2)"); } element->to_voice = this; board->element_counter = g_list_next(board->element_counter); } bool NedVoice::beamEndRequired(GList *beamlist_so_far, unsigned int beats, NedMeasure *measure) { int shortestNote = WHOLE_NOTE, dur; GList *lptr; struct rule_str *wild_ptr = NULL, *rule_ptr = NULL, *ptr; int best_match = -1; int num, denom; for (lptr = g_list_first(beamlist_so_far); lptr; lptr = g_list_next(lptr)) { dur = ((NedChordOrRest *) lptr->data)->getDuration(); if (dur < shortestNote) shortestNote = dur; } if (measure == NULL) { num = getMainWindow()->getNumerator(); denom = getMainWindow()->getDenominator(); } else { num = getMainWindow()->getNumerator(measure->getMeasureNumber()); denom = getMainWindow()->getDenominator(measure->getMeasureNumber()); } for (ptr = beam_rules_tab__; ptr->function != END_OF_TABLE; ptr++) { if (ptr->function!= FUNC_END) continue; if (num == ptr->time_num && denom == ptr->time_denom) { if (ptr->notelen < 0) { wild_ptr = ptr; } else if (ptr->notelen >= shortestNote) { if (best_match < 0) { best_match = ptr->notelen; rule_ptr = ptr; } else if (best_match > ptr->notelen) { best_match = ptr->notelen; rule_ptr = ptr; } } } } if ((best_match != shortestNote || rule_ptr == NULL) && wild_ptr != NULL) { rule_ptr = wild_ptr; } if (rule_ptr == NULL) { return false; } return ((beats % rule_ptr->duration) == 0); } int NedVoice::getSorting(NedChordOrRest *chord0, NedChordOrRest *chord1) { int pos0, pos1; if ((pos0 = g_list_index(m_chord_or_rests, chord0)) < 0) { NedResource::Abort("NedVoice::getSorting 1"); } if ((pos1 = g_list_index(m_chord_or_rests, chord1)) < 0) { NedResource::Abort("NedVoice::getSorting 2"); } if (pos0 == pos1) { NedResource::Abort("NedVoice::getSorting 3"); } if (pos0 + 1 == pos1) { return SORTING_GREAT; } if (pos1 + 1 == pos0) { return SORTING_LESS; } return SORTING_NONE; } bool NedVoice::isFirst(NedChordOrRest *chord) { GList *lptr; if ((lptr = g_list_find(m_chord_or_rests, chord)) == NULL) { NedResource::Abort("NedVoice::isFirst"); } return (lptr == g_list_first(m_chord_or_rests)); } bool NedVoice::isLast(NedChordOrRest *chord) { GList *lptr; if ((lptr = g_list_find(m_chord_or_rests, chord)) == NULL) { NedResource::Abort("NedVoice::isLast"); } return (lptr == g_list_last(m_chord_or_rests)); } int NedVoice::getBeamCount() { return g_list_length(m_beam_list); } NedChordOrRest *NedVoice::getNextChordOrRest(NedChordOrRest *element) { GList *lptr; lptr = g_list_find(m_chord_or_rests, element); if ((lptr = g_list_next(lptr)) == NULL) { return NULL; } return (NedChordOrRest *) lptr->data; } void NedVoice::selectNextChord(NedChordOrRest *chord, int line, bool lyrics_required) { GList *lptr; NedSystem *other_system; getMainWindow()->m_selected_chord_or_rest = NULL; getMainWindow()->m_selected_note = NULL; if ((lptr = g_list_find(m_chord_or_rests, chord)) == NULL) { NedResource::Abort("NedVoice::selectNextChord"); } for (lptr = g_list_next(lptr); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() == TYPE_CHORD) { if ((!lyrics_required && !((NedChordOrRest *) lptr->data)->isTied()) || ((NedChordOrRest *) lptr->data)->getLyrics(line) != NULL) { break; } } } if (lptr == NULL) { other_system = getPage()->getNextSystem(getSystem()); if (other_system != NULL) { lptr = other_system->getFirstChordOrRest(m_staff->getStaffNumber(), m_voice_nr, line, lyrics_required, true); } } if (lptr == NULL) { return; } getMainWindow()->m_selected_chord_or_rest = (NedChordOrRest *) lptr->data; getMainWindow()->m_selected_note = ((NedChordOrRest *) lptr->data)->getFirstNote(); } void NedVoice::selectPreviousChord(NedChordOrRest *chord, int line, bool lyrics_required) { GList *lptr; NedSystem *other_system; getMainWindow()->m_selected_chord_or_rest = NULL; getMainWindow()->m_selected_note = NULL; if ((lptr = g_list_find(m_chord_or_rests, chord)) == NULL) { NedResource::Abort("NedVoice::selectPreviousChord"); } for (lptr = g_list_previous(lptr); lptr; lptr = g_list_previous(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() == TYPE_CHORD) { if (!lyrics_required || ((NedChordOrRest *) lptr->data)->getLyrics(line) != NULL) { break; } } } if (lptr == NULL) { other_system = getPage()->getPreviousSystem(getSystem()); if (other_system != NULL) { lptr = other_system->getLastChordOrRest(m_staff->getStaffNumber(), m_voice_nr, line, lyrics_required, true); } } if (lptr == NULL) { return; } getMainWindow()->m_selected_chord_or_rest = (NedChordOrRest *) lptr->data; getMainWindow()->m_selected_note = ((NedChordOrRest *) lptr->data)->getFirstNote(); } NedChordOrRest *NedVoice::getPreviousChordOrRest(NedChordOrRest *element) { GList *lptr; lptr = g_list_find(m_chord_or_rests, element); if ((lptr = g_list_previous(lptr)) == NULL) { return NULL; } return (NedChordOrRest *) lptr->data; } void NedVoice::removeBeam(NedBeam *beam) { GList *lptr; if ((lptr = g_list_find(m_beam_list, beam)) == NULL) { NedResource::Abort("NedVoice::removeBeam"); } m_beam_list = g_list_delete_link(m_beam_list, lptr); } void NedVoice::addBeam(NedBeam *beam) { m_beam_list = g_list_append(m_beam_list, beam); } double NedVoice::findTimePos(unsigned int time) { GList *lptr; for(lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getTime() == time) { return ((NedChordOrRest *) lptr->data)->getXPos(); } else if (((NedChordOrRest *) lptr->data)->getTime() > time) { lptr = g_list_previous(lptr); if (lptr != NULL) { return ((NedChordOrRest *) lptr->data)->getXPos(); } else { return 0; } } } return -1; } void NedVoice::assignMidiTimes() { GList *lptr; unsigned long long midi_time = (getPage()->getPageNumber() == 0 && getSystem()->getSystemNumber() == 0) ? getMainWindow()->getUpBeatInverse() : 0; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->setMidiTime(midi_time); midi_time += ((NedChordOrRest *) lptr->data)->getDuration(); if (!((NedChordOrRest *) lptr->data)->isRest()) continue; ((NedChordOrRest *) lptr->data)->resetYPos(); } } int NedVoice::assignElementsToMeasures(NedMeasure *measures, int offs, bool use_upbeat) { GList *lptr, *lptr2; int curr_measure = 0; bool first_measure_has_only_rests = true; if (use_upbeat && m_voice_nr > 0) { // special handling of rests of first measure for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getMidiTime() >= measures[0].midi_end) { if (first_measure_has_only_rests) { for (lptr2 = g_list_first(m_chord_or_rests); lptr2 != lptr; lptr2 = g_list_next(lptr2)) { if ((((NedChordOrRest *) lptr2->data)->getType() & TYPE_REST) != 0) { ((NedChordOrRest *) lptr2->data)->setHidden(); } } } break; } if ((((NedChordOrRest *) lptr->data)->getType() & TYPE_REST) == 0) { first_measure_has_only_rests = false; } } } for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() == TYPE_KEYSIG) continue; // can happen during do_import_from_other (testLineOverflow) while (((NedChordOrRest *) lptr->data)->getMidiTime() >= measures[curr_measure].midi_end) { curr_measure++; } if (((NedChordOrRest *) lptr->data)->getMidiTime() >= measures[curr_measure].midi_end) continue; if (use_upbeat && m_voice_nr > 0 && curr_measure == 0) { if ((((NedChordOrRest *) lptr->data)->getType() & TYPE_REST) == 0) { first_measure_has_only_rests = false; } } if ((((NedChordOrRest *) lptr->data)->getType() & (TYPE_CHORD | TYPE_REST)) != 0) { measures[curr_measure].m_position_array.insertElement( (NedChordOrRest *) lptr->data, offs, measures[curr_measure].getMeasureNumber()); } else if ((((NedChordOrRest *) lptr->data)->getType() & TYPE_GRACE) != 0) { measures[curr_measure].m_position_array.insertGraceElement( (NedChordOrRest *) lptr->data, offs, measures[curr_measure].getMeasureNumber()); } ((NedChordOrRest *) lptr->data)->m_measure = &(measures[curr_measure]); } return curr_measure; } void NedVoice::insertIntoSystem(GList *chords_or_rests_to_move) { GList *lptr; NedBeam *b; int pos = 0; for (lptr = g_list_first(chords_or_rests_to_move); lptr; lptr = g_list_next(lptr)) { if ((b = ((NedChordOrRest *) lptr->data)->getBeam()) != NULL) { delete b; } ((NedChordOrRest *) lptr->data)->setVoice(this); m_chord_or_rests = g_list_insert(m_chord_or_rests, lptr->data, pos++); } } void NedVoice::appendAtSystem(GList *chords_or_rests_to_move) { GList *lptr; NedBeam *b; for (lptr = g_list_first(chords_or_rests_to_move); lptr; lptr = g_list_next(lptr)) { if ((b = ((NedChordOrRest *) lptr->data)->getBeam()) != NULL) { delete b; } ((NedChordOrRest *) lptr->data)->setVoice(this); m_chord_or_rests = g_list_append(m_chord_or_rests, lptr->data); } } void NedVoice::deleteNoteGroup(GList *chords_or_rests_to_move) { GList *lptr, *lptr2; for(lptr = g_list_first(chords_or_rests_to_move); lptr; lptr = g_list_next(lptr)) { if ((lptr2 = g_list_find(m_chord_or_rests, lptr->data)) == NULL) { NedResource::Abort("NedVoice::deleteNoteGroup"); } m_chord_or_rests = g_list_delete_link(m_chord_or_rests, lptr2); } } #ifdef AAA void NedVoice::computeBeams(int *lyrics_lines, double *topy, double *boty) { GList *lptr; double ty, by; for(lptr = g_list_first(m_beam_list); lptr; lptr = g_list_next(lptr)) { ((NedBeam *) lptr->data)->computeBeam(m_stem_direction); } for(lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->getTopBotY(lyrics_lines, &ty, &by); if (ty < *topy) *topy = ty; if (by > *boty) *boty = by; } } #else void NedVoice::computeBeams(int *lyrics_lines, double *topy, double *boty/* , bool *topFix, bool *botFix */, int staff_voice_offs) { GList *lptr; double ty, by; for(lptr = g_list_first(m_beam_list); lptr; lptr = g_list_next(lptr)) { ((NedBeam *) lptr->data)->computeBeam(staff_voice_offs); } for(lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() == TYPE_KEYSIG) continue; // can happen during do_import_from_other (testLineOverflow) ((NedChordOrRest *) lptr->data)->getTopBotY(lyrics_lines, &ty, &by /*, topFix, botFix*/); if (ty < *topy) *topy = ty; if (by > *boty) *boty = by; } } #endif void NedVoice::computeTies() { GList *lptr; for(lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->computeTies(); } } void NedVoice::computeTuplets(double *topy, double *boty) { GList *lptr; GList *tuplet_list = NULL; int tuplet_val = 0; NedTuplet *tuplet; //double ty, by; for(lptr = g_list_first(m_tuplet_list); lptr; lptr = g_list_next(lptr)) { delete ((NedTuplet *) lptr->data); } g_list_free(m_tuplet_list); m_tuplet_list = NULL; for(lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getTupletVal() > 0) { if (tuplet_val == 0) { tuplet_val = ((NedChordOrRest *) lptr->data)->getTupletVal(); tuplet_list = g_list_append(tuplet_list, lptr->data); } else if (((NedChordOrRest *) lptr->data)->getTupletVal() == tuplet_val) { tuplet_list = g_list_append(tuplet_list, lptr->data); if (((NedChordOrRest *) lptr->data)->hasLastTupletFlag()) { tuplet = new NedTuplet(tuplet_val, tuplet_list, topy, boty); m_tuplet_list = g_list_append(m_tuplet_list, tuplet); tuplet_val = 0; tuplet_list = NULL; } } else { tuplet = new NedTuplet(tuplet_val, tuplet_list, topy, boty); m_tuplet_list = g_list_append(m_tuplet_list, tuplet); tuplet_val = 0; tuplet_list = NULL; } } else if (tuplet_val > 0) { tuplet = new NedTuplet(tuplet_val, tuplet_list, topy, boty); m_tuplet_list = g_list_append(m_tuplet_list, tuplet); tuplet_val = 0; tuplet_list = NULL; } } /* for(lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->getTopBotY(&ty, &by); if (ty < *topy) *topy = ty; if (by > *boty) *boty = by; } */ } void NedVoice::prepareMutedReplay() { GList *lptr; NedChordOrRest *chord_or_rest; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { chord_or_rest = (NedChordOrRest *) lptr->data; if (chord_or_rest->getType() & (TYPE_CHORD | TYPE_REST)) { chord_or_rest->prepareMutedReplay(); } } } void NedVoice::resetActiveFlags() { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (!(((NedChordOrRest *) lptr->data)->getType() & (TYPE_CHORD | TYPE_GRACE))) continue; ((NedChordOrRest *) lptr->data)->resetActiveFlags(); } } void NedVoice::prepareReplay(int voice_idx) { GList *lptr, *lptr2; int clef, keysig, octave_shift; unsigned int grace_time = 0; NedChordOrRest *chord_or_rest; int measurenumber = -1; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { chord_or_rest = (NedChordOrRest *) lptr->data; //NedMeasure *measure = getSystem()->getMeasure(chord_or_rest->getMidiTime()); NedMeasure *measure = chord_or_rest->m_measure; if (measure->getMeasureNumber() != measurenumber) { measurenumber = measure->getMeasureNumber(); NedResource::addMeasureEntry(measure); } if (chord_or_rest->getType() == TYPE_CHORD) { m_staff->getCurrentClefAndKeysig(chord_or_rest->getMidiTime(), &clef, &keysig, &octave_shift); grace_time = 0; for (lptr2 = g_list_next(lptr); lptr2; lptr2 = g_list_next(lptr2)) { if (((NedChordOrRest *) lptr2->data)->getType() == TYPE_GRACE) { grace_time += GRACE_DURATION; continue; } break; } if (grace_time > chord_or_rest->getDuration() / 2) { grace_time = chord_or_rest->getDuration() / 2; } chord_or_rest->prepareReplay(clef, keysig, octave_shift, voice_idx, grace_time); } else if (chord_or_rest->getType() == TYPE_GRACE) { if (grace_time == 0) { continue; } m_staff->getCurrentClefAndKeysig(chord_or_rest->getMidiTime(), &clef, &keysig, &octave_shift); chord_or_rest->prepareReplay(clef, keysig, octave_shift, voice_idx, grace_time); if (grace_time > GRACE_DURATION) { grace_time -= GRACE_DURATION; } else { grace_time = 0; } } if (chord_or_rest->getType() == TYPE_REST) { grace_time = 0; for (lptr2 = g_list_next(lptr); lptr2; lptr2 = g_list_next(lptr2)) { if (((NedChordOrRest *) lptr2->data)->getType() == TYPE_GRACE) { grace_time += ((NedChordOrRest *) lptr2->data)->getLength(); continue; } break; } if (grace_time > chord_or_rest->getDuration() / 2) { grace_time = chord_or_rest->getDuration() / 2; } chord_or_rest->prepareReplay(clef, keysig, octave_shift, voice_idx, grace_time); } } } void NedVoice::setInternalPitches() { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() == TYPE_REST) continue; ((NedChordOrRest *) lptr->data)->setInternalPitch(0); } } void NedVoice::adjustAccidentals() { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() == TYPE_REST) continue; ((NedChordOrRest *) lptr->data)->adjustAccidentals(); } } void NedVoice::setInternalPitch(int pitchdist, GList *selected_group) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() == TYPE_REST) continue; if (selected_group) { if (g_list_find(selected_group, lptr->data) == NULL) continue; } ((NedChordOrRest *) lptr->data)->setInternalPitch(pitchdist); } } void NedVoice::adjustAccidentals(int pitchdist, GList *selected_group) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() == TYPE_REST) continue; if (selected_group) { if (g_list_find(selected_group, lptr->data) == NULL) continue; } ((NedChordOrRest *) lptr->data)->adjustAccidentals(); } } void NedVoice::changeAccidentals(NedCommandList *command_list, int preferred_offs, GList *selected_group) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() == TYPE_REST) continue; if (selected_group) { if (g_list_find(selected_group, lptr->data) == NULL) continue; } ((NedChordOrRest *) lptr->data)->changeAccidentals(command_list, preferred_offs); } } void NedVoice::hideRests(NedCommandList *command_list, bool unhide) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->hideRest(command_list, unhide); } } void NedVoice::shiftNotes(unsigned long long start_time, int linedist, unsigned long long stop_time, bool stop_at) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (stop_at) { if (((NedChordOrRest *) lptr->data)->getMidiTime() >= stop_time) return; } if (((NedChordOrRest *) lptr->data)->getMidiTime() < start_time) continue; if (((NedChordOrRest *) lptr->data)->getType() == TYPE_REST) continue; ((NedChordOrRest *) lptr->data)->shiftNotes(linedist); } } void NedVoice::removeUnneededAccidentals(GList *selected_group) { GList *lptr; int clef, keysig, octave_shift; NedChordOrRest *chord_or_rest; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if (selected_group) { if (g_list_find(selected_group, lptr->data) == NULL) continue; } chord_or_rest = (NedChordOrRest *) lptr->data; if (chord_or_rest->getType() == TYPE_CHORD) { m_staff->getCurrentClefAndKeysig(chord_or_rest->getMidiTime(), &clef, &keysig, &octave_shift); chord_or_rest->removeUnneededAccidentals(clef, keysig, octave_shift); } } } void NedVoice::findAccidentals(char offs_array[115], NedMeasure *meas_info, unsigned long long midi_time, bool including) { GList *lptr; for (lptr = g_list_last(m_chord_or_rests); lptr; lptr = g_list_previous(lptr)) { if (((NedChordOrRest *) lptr->data)->getMidiTime() < meas_info->midi_start) break; if (including) { if (((NedChordOrRest *) lptr->data)->getMidiTime() > midi_time) continue; } else { if (((NedChordOrRest *) lptr->data)->getMidiTime() >= midi_time) continue; } ((NedChordOrRest *) lptr->data)->setOffset(offs_array); } } void NedVoice::saveVoice(FILE *fp) { GList *lptr; bool BEAMS_written = FALSE; bool TIES_written = FALSE; bool TUPLETS_written = FALSE; bool FREE_PLACEABLES_written = FALSE; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->saveChordOrRest(fp); } fprintf(fp, "\n"); for(lptr = g_list_first(m_beam_list); lptr; lptr = g_list_next(lptr)) { if (!BEAMS_written) { fprintf(fp, "BEAMS\n"); BEAMS_written = TRUE; } ((NedBeam *) lptr->data)->saveBeam(fp); } int xx; for(xx = 0, lptr = g_list_first(m_tuplet_list); lptr; lptr = g_list_next(lptr), xx++) { if (!TUPLETS_written) { fprintf(fp, "TUPLETS\n"); TUPLETS_written = TRUE; } ((NedTuplet *) lptr->data)->saveTuplet(fp); } for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->saveTies(fp, &TIES_written); } for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->saveFreePlaceables(fp, &FREE_PLACEABLES_written); } if (FREE_PLACEABLES_written) { putc('\n', fp); } } void NedVoice::restoreVoice(FILE *fp) { char buffer[128]; bool beams_read = FALSE; bool ties_read = FALSE; bool tuplets_read = FALSE; bool free_placeables_read = FALSE; NedChordOrRest *chord_or_rest; while (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer)) { if (feof(fp)) return; NedResource::m_error_message = "( TUPLETS, BEAMS, TIES, FREE_PLACEABLES, VOICE, STAFF SYSTEM or PAGE expected"; return; } if (!strcmp(buffer, "VOICE") || !strcmp(buffer, "STAFF") || !strcmp(buffer, "SYSTEM") || !strcmp(buffer, "PAGE")) { NedResource::unreadWord(buffer); return; } if (!strcmp(buffer, "BEAMS")) { if (beams_read) { NedResource::m_error_message = "BEAMS twice"; return; } if (ties_read) { NedResource::m_error_message = "BEAMS after TIES"; return; } beams_read = TRUE; restoreBeams(fp); if (NedResource::m_error_message != NULL) { return; } continue; } if (!strcmp(buffer, "TIES")) { if (ties_read) { NedResource::m_error_message = "TIES twice"; return; } ties_read = TRUE; restoreTies(fp); if (NedResource::m_error_message != NULL) { return; } continue; } if (!strcmp(buffer, "TUPLETS")) { if (tuplets_read) { NedResource::m_error_message = "TUPLETS twice"; return; } tuplets_read = TRUE; restoreTuplets(fp); if (NedResource::m_error_message != NULL) { return; } continue; } if (!strcmp(buffer, "FREE_PLACEABLES")) { if (free_placeables_read) { NedResource::m_error_message = "FREE_PLACEABLES twice"; return; } free_placeables_read = TRUE; restoreFreePlaceables(fp); if (NedResource::m_error_message != NULL) { return; } continue; } if (!strcmp(buffer, "(")) { if (beams_read) { NedResource::m_error_message = "Notes after BEAMS"; return; } if (ties_read) { NedResource::m_error_message = "Notes after TIES"; return; } if ((chord_or_rest = NedChordOrRest::restoreChordOrRest(fp, this)) != NULL) { m_chord_or_rests = g_list_append(m_chord_or_rests, chord_or_rest); } else { return; } } else { NedResource::m_error_message = "( BEAMS, TIES, VOICE, STAFF SYSTEM or PAGE expected"; return; } } } void NedVoice::restoreBeams(FILE *fp) { char buffer[128]; int marker; if (!NedResource::readWord(fp, buffer)) { if (feof(fp)) return; NedResource::m_error_message = "( TIES VOICE STAFF SYSTEM, FREE_PLACEABLES, or PAGE expected"; return; } if (!strcmp(buffer, "TUPLETS") || !strcmp(buffer, "TIES") || !strcmp(buffer, "VOICE") || !strcmp(buffer, "STAFF") || !strcmp(buffer, "SYSTEM") || !strcmp(buffer, "PAGE") || !strcmp(buffer, "FREE_PLACEABLES")) { NedResource::unreadWord(buffer); return; } if (strcmp(buffer, "(")) { NedResource::m_error_message = "( TIES VOICE STAFF SYSTEM or PAGE expected(1)"; return; } while (!strcmp(buffer, "(")) { if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "u or d expected"; return; } if (!NedResource::readInt(fp, &marker)) { NedResource::m_error_message = "marker expected(1)"; return; } if (!NedResource::readWord(fp, buffer) || buffer[1] != '\0') { NedResource::m_error_message = ", or ) expected"; return; } while (strcmp(buffer, ")")) { if (buffer[0] != ',') { NedResource::m_error_message = ", or ) expected"; return; } if (!NedResource::readInt(fp, &marker)) { NedResource::m_error_message = "marker expected(2)"; return; } if (!NedResource::readWord(fp, buffer) || buffer[1] != '\0') { NedResource::m_error_message = ", or ) expected"; return; } } if (strcmp(buffer, ")")) { NedResource::m_error_message = ", or ) expected"; return; } if (!NedResource::readWord(fp, buffer)) { if (feof(fp)) return; NedResource::m_error_message = "( TIES VOICE STAFF SYSTEM or PAGE expected(2)"; return; } if (!strcmp(buffer, "TUPLETS") || !strcmp(buffer, "TIES") || !strcmp(buffer, "VOICE") || !strcmp(buffer, "STAFF") || !strcmp(buffer, "FREE_PLACEABLES") || !strcmp(buffer, "SYSTEM") || !strcmp(buffer, "PAGE")) { NedResource::unreadWord(buffer); return; } else if (strcmp(buffer, "(")) { NedResource::m_error_message = "( TIES VOICE STAFF SYSTEM or PAGE expected(3)"; return; } } } void NedVoice::restoreTuplets(FILE *fp) { char buffer[128]; int marker; int tuplet_val; NedChordOrRest *chord_or_rest; if (!NedResource::readWord(fp, buffer)) { if (feof(fp)) return; NedResource::m_error_message = "( TIES VOICE STAFF SYSTEM, FREE_PLACEABLES or PAGE expected"; return; } if (!strcmp(buffer, "TIES") || !strcmp(buffer, "VOICE") || !strcmp(buffer, "STAFF") || !strcmp(buffer, "SYSTEM") || !strcmp(buffer, "PAGE") || !strcmp(buffer, "FREE_PLACEABLES")) { NedResource::unreadWord(buffer); return; } if (strcmp(buffer, "(")) { NedResource::m_error_message = "( TIES VOICE STAFF SYSTEM or PAGE expected(4)"; return; } while (!strcmp(buffer, "(")) { if (!NedResource::readInt(fp, &tuplet_val) || tuplet_val < 2 || tuplet_val > 13) { NedResource::m_error_message = "tuplet val expected"; return; } if (!NedResource::readWord(fp, buffer) || buffer[0] != ';' || buffer[1] != '\0') { NedResource::m_error_message = "; expected"; return; } if (!NedResource::readInt(fp, &marker)) { NedResource::m_error_message = "marker expected(1)"; return; } chord_or_rest = (NedChordOrRest *) NedResource::getAdressOfMarker(marker); chord_or_rest->setTupletVal(tuplet_val); if (!NedResource::readWord(fp, buffer) || buffer[1] != '\0') { NedResource::m_error_message = ", or ) expected"; return; } while (strcmp(buffer, ")")) { if (buffer[0] != ',') { NedResource::m_error_message = ", or ) expected"; return; } if (!NedResource::readInt(fp, &marker)) { NedResource::m_error_message = "marker expected(2)"; return; } chord_or_rest = (NedChordOrRest *) NedResource::getAdressOfMarker(marker); chord_or_rest->setTupletVal(tuplet_val); if (!NedResource::readWord(fp, buffer) || buffer[1] != '\0') { NedResource::m_error_message = ", or ) expected"; return; } } chord_or_rest->setLastTupletFlag(TRUE); if (strcmp(buffer, ")")) { NedResource::m_error_message = ", or ) expected"; return; } if (!NedResource::readWord(fp, buffer)) { if (feof(fp)) return; NedResource::m_error_message = "( FREE_PLACEABLES TIES TUPLETS VOICE STAFF SYSTEM or PAGE expected"; return; } if (!strcmp(buffer, "TIES") || !strcmp(buffer, "VOICE") || !strcmp(buffer, "STAFF") || !strcmp(buffer, "SYSTEM") || !strcmp(buffer, "PAGE") || !strcmp(buffer, "FREE_PLACEABLES")) { NedResource::unreadWord(buffer); return; } else if (strcmp(buffer, "(")) { NedResource::m_error_message = "( FREE_PLACEABLES TIES VOICE STAFF SYSTEM or PAGE expected"; return; } } } void NedVoice::restoreTies(FILE *fp) { char buffer[128]; int marker1, marker2; NedNote *note1, *note2; double tie_offs = 0.0; if (!NedResource::readWord(fp, buffer)) { if (feof(fp)) return; NedResource::m_error_message = "( VOICE STAFF SYSTEM, FREE_PLACEABLES, or PAGE expected"; return; } if (!strcmp(buffer, "TUPLETS") ||!strcmp(buffer, "VOICE") || !strcmp(buffer, "STAFF") || !strcmp(buffer, "SYSTEM") || !strcmp(buffer, "PAGE") || !strcmp(buffer, "FREE_PLACEABLES")) { NedResource::unreadWord(buffer); return; } if (strcmp(buffer, "(")) { NedResource::m_error_message = "( VOICE STAFF SYSTEM or PAGE expected"; return; } while (!strcmp(buffer, "(")) { if (!NedResource::readInt(fp, &marker1)) { NedResource::m_error_message = "address expected"; return; } if (!NedResource::readWord(fp, buffer) || buffer[0] != ',' || buffer[1] != '\0') { NedResource::m_error_message = ", expected"; return; } if (!NedResource::readInt(fp, &marker2)) { NedResource::m_error_message = "address expected"; return; } if (getMainWindow()->getFileVersion() > 8) { if (!NedResource::readWord(fp, buffer) || buffer[0] != ',' || buffer[1] != '\0') { NedResource::m_error_message = ", expected"; return; } if (!NedResource::readFloat(fp, &tie_offs)) { NedResource::m_error_message = "tie offset expected"; return; } } if (!NedResource::readWord(fp, buffer) || buffer[0] != ')' || buffer[1] != '\0') { NedResource::m_error_message = ") expected"; return; } note1 = (NedNote *) NedResource::getAdressOfMarker(marker1); note2 = (NedNote *) NedResource::getAdressOfMarker(marker2); NedNote::setTies(note1, note2); note1->setTieOffset(tie_offs); if (!NedResource::readWord(fp, buffer)) { if (feof(fp)) return; NedResource::m_error_message = "( VOICE STAFF SYSTEM or PAGE expected"; return; } if (!strcmp(buffer, "VOICE") || !strcmp(buffer, "STAFF") || !strcmp(buffer, "SYSTEM") || !strcmp(buffer, "PAGE") || !strcmp(buffer, "TUPLETS") || !strcmp(buffer, "FREE_PLACEABLES") ) { NedResource::unreadWord(buffer); return; } if (strcmp(buffer, "(")) { NedResource::m_error_message = "( FREE_PLACEABLES TUPLETS VOICE STAFF SYSTEM or PAGE expected"; return; } } } void NedVoice::restoreFreePlaceables(FILE *fp) { char buffer[128]; int marker, i; double x, y; unsigned int kind, tempo, midi_vol; int sign_kind, midi_pgm; char chordcode[128]; unsigned int channel; int en_chn; int chordname; int dot = 0; int chordstatus; NedVolumeSign *volsign; NedChordOrRest *chord_or_rest; NedSlurPoint *sp[3]; NedLinePoint *startp, *endp, *midp = NULL; int vol_diff, octave_shift, tempo_diff; char ffamily[1024], xtext[1024], *xfamily; char root_text[1024], down_text[1024], up_text[1024]; double fsize; double fontsize = 0.5; int en_vol, en_tpo; int slant, weight; int segno_sign = 0, anchor = 0; PangoStyle cslant; PangoWeight cweight; if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "(")) { NedResource::m_error_message = "( expected"; return; } while (!strcmp(buffer, "(")) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "<")) { NedResource::m_error_message = "< expected"; return; } if (!NedResource::readInt(fp, &marker)) { NedResource::m_error_message = "address expected"; return; } chord_or_rest = (NedChordOrRest *) NedResource::getAdressOfMarker(marker); if (!NedResource::readFloat(fp, &x)) { NedResource::m_error_message = "x value expected"; return; } if (!NedResource::readFloat(fp, &y)) { NedResource::m_error_message = "y value expected"; return; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ">")) { NedResource::m_error_message = "> expected"; return; } if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "Free Placeable Spec expected"; return; } if (!strcmp(buffer, "VOLUME_SIGN")) { if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "Volume spec expected"; return; } if (!strcmp(buffer, "VOL_PPP")) { volsign = new NedVolumeSign(VOL_PPP, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "VOL_PP")) { volsign = new NedVolumeSign(VOL_PP, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "VOL_P")) { volsign = new NedVolumeSign(VOL_P, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "VOL_MP")) { volsign = new NedVolumeSign(VOL_MP, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "VOL_SP")) { volsign = new NedVolumeSign(VOL_SP, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "VOL_MF")) { volsign = new NedVolumeSign(VOL_MF, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "VOL_SF")) { volsign = new NedVolumeSign(VOL_SF, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "VOL_F")) { volsign = new NedVolumeSign(VOL_F, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "VOL_FF")) { volsign = new NedVolumeSign(VOL_FF, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "VOL_FFF")) { volsign = new NedVolumeSign(VOL_FFF, chord_or_rest, x, y, true); } else { NedResource::m_error_message = "Wrong volume sig"; return; } if (getMainWindow()->getFileVersion() > 6) { if (!NedResource::readInt(fp, (int *) &midi_vol) || midi_vol < 0 || midi_vol > 127) { NedResource::m_error_message = "Midi volume expected"; return; } volsign->m_midi_volume = midi_vol; } } else if (!strcmp(buffer, "TEMPO_SIGN")) { if (!NedResource::readUnsignedInt(fp, &kind) || (kind != WHOLE_NOTE && kind != NOTE_2 && kind != NOTE_4 && kind != NOTE_8 && kind != NOTE_16) ) { NedResource::m_error_message = "TEMPO kind expected"; return; } if (getMainWindow()->getFileVersion() > 21) { if (!NedResource::readInt(fp, &dot) || dot < 0 || dot > 1) { NedResource::m_error_message = "dot information expected"; return; } } if (!NedResource::readUnsignedInt(fp, &tempo) || tempo < 10 || tempo > 999) { NedResource::m_error_message = "TEMPO val expected"; return; } if (dot) { kind = 3 * kind / 2; } new NedTempoSign(kind, tempo, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "FREE_SPACER")) { new NedFreeSpacer(getMainWindow(), chord_or_rest, x, y, true); } else if (!strcmp(buffer, "FREE_CHORD")) { if (!NedResource::readWordOfLength(fp, chordcode)) { NedResource::m_error_message = "CHORD_CODE kind expected"; return; } if (!NedResource::readWord(fp, buffer) || buffer[0] != ',' || buffer[1] != '\0') { NedResource::m_error_message = ", expected"; return; } if (!NedResource::readInt(fp, &chordname) || chordname < 0 || chordname > 1) { NedResource::m_error_message = "chordname val expected"; return; } if (!NedResource::readWord(fp, buffer) || buffer[0] != ',' || buffer[1] != '\0') { NedResource::m_error_message = "expected"; return; } if (!NedResource::readHex(fp, &chordstatus)) { NedResource::m_error_message = "chordstatus val expected"; return; } new NedFreeChord(chordcode, chordname, chordstatus, getMainWindow(), chord_or_rest, x, y, true); } else if (!strcmp(buffer, "FREE_SIGN")) { if (!NedResource::readInt(fp, &sign_kind) || sign_kind < SIGN_SEGNO || sign_kind > SIGN_CODA) { NedResource::m_error_message = "SIGN kind expected"; return; } new NedFreeSign(sign_kind, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "FREE_CHORD_NAME")) { if (!NedResource::readWordOfLength(fp, root_text)) { NedResource::m_error_message = "root text expected"; return; } if (!NedResource::readWordOfLength(fp, down_text)) { NedResource::m_error_message = "down text expected"; return; } if (!NedResource::readWordOfLength(fp, up_text)) { NedResource::m_error_message = "up text expected"; return; } fontsize = 0.5; if (getMainWindow()->getFileVersion() > 17) { if (!NedResource::readFloat(fp, &fontsize)) { NedResource::m_error_message = "font size expected(2)"; return; } } new NedChordName(getMainWindow()->getDrawingArea(), root_text, down_text, up_text, fontsize, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "FREE_TEXT")) { if (!NedResource::readWordOfLength(fp, xtext)) { NedResource::m_error_message = "text expected"; return; } if (!NedResource::readWordOfLength(fp, ffamily)) { NedResource::m_error_message = "font family expected"; return; } if ((xfamily = (char *) g_try_malloc(strlen(ffamily) + 1)) == NULL) { NedResource::Abort("NedVoice::restoreFreePlaceables: allocation failed"); } strcpy(xfamily, ffamily); if (!NedResource::readFloat(fp, &fsize)) { NedResource::m_error_message = "font size expected"; return; } if (!NedResource::readInt(fp, &en_vol)) { NedResource::m_error_message = "enable volume expected"; return; } if (!NedResource::readUnsignedInt(fp, &midi_vol)) { NedResource::m_error_message = "volume expected"; return; } if (!NedResource::readInt(fp, &en_tpo)) { NedResource::m_error_message = "enable tempo expected"; return; } if (!NedResource::readUnsignedInt(fp, &tempo)) { NedResource::m_error_message = "tempo expected"; return; } channel = 1; en_chn = false; segno_sign = 0; if (getMainWindow()->getFileVersion() > 11) { if (!NedResource::readHex(fp, &segno_sign)) { NedResource::m_error_message = "segno_sign expected"; return; } if (getMainWindow()->getFileVersion() > 20) { if (!NedResource::readInt(fp, &midi_pgm)) { NedResource::m_error_message = "midi_pgm expected"; return; } } else midi_pgm = -1; if (getMainWindow()->getFileVersion() > 22) { if (!NedResource::readInt(fp, &en_chn)) { NedResource::m_error_message = "enable channel expected"; return; } if (!NedResource::readUnsignedInt(fp, &channel)) { NedResource::m_error_message = "channel expected"; return; } } if (!NedResource::readInt(fp, &anchor)) { NedResource::m_error_message = "anchor expected"; return; } } if (!NedResource::readInt(fp, &slant)) { NedResource::m_error_message = "slant expected"; return; } switch (slant) { case WRITTEN_SLANT_NORMAL: cslant = PANGO_STYLE_NORMAL; break; case WRITTEN_SLANT_ITALIC: cslant = PANGO_STYLE_ITALIC; break; case WRITTEN_SLANT_OBLIQUE: cslant = PANGO_STYLE_OBLIQUE; break; default: NedResource::m_error_message = "unknown slant"; return; } if (!NedResource::readInt(fp, &weight)) { NedResource::m_error_message = "weight expected"; return; } switch (weight) { case WRITTEN_WEIGHT_NORMAL: cweight = PANGO_WEIGHT_NORMAL; break; case WRITTEN_WEIGHT_BOLD: cweight = PANGO_WEIGHT_BOLD; break; default: NedResource::m_error_message = "unknown weight"; return; } new NedFreeText(xtext, getMainWindow()->getDrawingArea(), anchor, tempo, en_tpo != 0, midi_vol, en_vol != 0, segno_sign, midi_pgm, channel, en_chn != 0, xfamily, fsize, cslant, cweight, chord_or_rest, x, y, true); } else if (!strcmp(buffer, "SLUR")) { sp[0] = new NedSlurPoint(NULL, 0, chord_or_rest, x, y, true); for (i = 1; i < 3; i++) { if (!NedResource::readInt(fp, &marker)) { NedResource::m_error_message = "address expected"; return; } chord_or_rest = (NedChordOrRest *) NedResource::getAdressOfMarker(marker); if (!NedResource::readFloat(fp, &x)) { NedResource::m_error_message = "x value expected"; return; } if (!NedResource::readFloat(fp, &y)) { NedResource::m_error_message = "y value expected"; return; } sp[i] = new NedSlurPoint(NULL, i, chord_or_rest, x, y, true); } new NedSlur(sp); } else if (!strncmp(buffer, "LINE_", strlen("LINE_"))) { startp = new NedLinePoint(NULL, 0, chord_or_rest, x, y, true); if (!strcmp(buffer, "LINE_CRESCENDO") || !strcmp(buffer, "LINE_DECRESCENDO")) { if (!NedResource::readInt(fp, &vol_diff)) { NedResource::m_error_message = "vol_diff expected"; return; } } if (!strcmp(buffer, "LINE_ACCELERATO") || !strcmp(buffer, "LINE_RITARDANDO")) { if (!NedResource::readInt(fp, &tempo_diff)) { NedResource::m_error_message = "tempo_diff expected"; return; } } if (!strcmp(buffer, "LINE_OCTAVATION")) { if (!NedResource::readInt(fp, &octave_shift)) { NedResource::m_error_message = "octave_shift expected"; return; } } if (!strcmp(buffer, "LINE_ACCELERATO") || !strcmp(buffer, "LINE_RITARDANDO")) { if (!NedResource::readInt(fp, &marker)) { NedResource::m_error_message = "address expected"; return; } chord_or_rest = (NedChordOrRest *) NedResource::getAdressOfMarker(marker); if (!NedResource::readFloat(fp, &x)) { NedResource::m_error_message = "x value expected"; return; } if (!NedResource::readFloat(fp, &y)) { NedResource::m_error_message = "y value expected"; return; } midp = new NedLinePoint(NULL, 1, chord_or_rest, x, y, true); } if (!NedResource::readInt(fp, &marker)) { NedResource::m_error_message = "address expected"; return; } chord_or_rest = (NedChordOrRest *) NedResource::getAdressOfMarker(marker); if (!NedResource::readFloat(fp, &x)) { NedResource::m_error_message = "x value expected"; return; } if (!NedResource::readFloat(fp, &y)) { NedResource::m_error_message = "y value expected"; return; } endp = new NedLinePoint(NULL, 1, chord_or_rest, x, y, true); if (!strcmp(buffer, "LINE_CRESCENDO")) { new NedCrescendo(startp, endp, false, vol_diff); } else if (!strcmp(buffer, "LINE_DECRESCENDO")) { new NedCrescendo(startp, endp, true, vol_diff); } else if (!strcmp(buffer, "LINE_OCTAVATION")) { new NedOctavation(startp, endp, NULL /* dummy */, octave_shift); } else if (!strcmp(buffer, "LINE_ACCELERATO")) { new NedAcceleration(startp, midp, endp, false, tempo_diff); } else if (!strcmp(buffer, "LINE_RITARDANDO")) { new NedAcceleration(startp, midp, endp, true, tempo_diff); } else { NedResource::m_error_message = "LINE_CRESCENDO, LINE_DECRESCENDO, LINE_ACCELERATO, LINE_RITARDANDO, or LINE_OCTAVATION expected"; return; } } else { NedResource::m_error_message = "VOLUME_SIG, SLUR, TEMPO_SIGN, FREE_SIGN, FREE_TEXT, FREE_SPACER, or FREE_CHORD expected"; return; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ")")) { NedResource::m_error_message = ") expected"; return; } if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "( TUPLETS, BEAMS, TIES, FREE_PLACEABLES, VOICE, STAFF SYSTEM or PAGE expected"; } } NedResource::unreadWord(buffer); } bool NedVoice::detectVoices(unsigned int *voice_mask, unsigned long long *e_time) { GList *lptr; bool not_empty = false; NedMeasure *measure; for(lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { if ((((NedChordOrRest *) lptr->data)->getType() == TYPE_REST && !((NedChordOrRest *) lptr->data)->isHidden()) || ((NedChordOrRest *) lptr->data)->getType() == TYPE_CHORD || ((NedChordOrRest *) lptr->data)->getType() == TYPE_GRACE) { *voice_mask |= (1 << m_voice_nr); //measure = getSystem()->getMeasure(((NedChordOrRest *) lptr->data)->getMidiTime()); measure = ((NedChordOrRest *) lptr->data)->m_measure; if (((NedChordOrRest *) lptr->data)->getType() == TYPE_CHORD || ((NedChordOrRest *) lptr->data)->getType() == TYPE_GRACE) { not_empty = true; if (measure->midi_end > *e_time) { *e_time = measure->midi_end; } } } } return not_empty; } void NedVoice::exportLilypondSpecMeasure(FILE *fp, unsigned int special, SpecialMeasure *spec_measure, bool *in_alternative, int measure_number) { bool spec_written; spec_written = false; switch (special & START_TYPE_MASK) { case REP1START: fprintf(fp, "\n\t}\n\t\\alternative {\n\t{\n\t"), *in_alternative = true; spec_written = true; break; } switch (special & END_TYPE_MASK) { case REP2END: fprintf(fp, "\n\t}}\n\t"); *in_alternative = false; spec_written = true;break; } switch (special & REP_TYPE_MASK) { case REPEAT_CLOSE: fprintf(fp, "\n\t}\n\t"); spec_written = true; if ((special & START_TYPE_MASK) == REP2START) { fprintf(fp, "\n\t{\n\t"); } else if (*in_alternative) { fprintf(fp, "\n\t {} }\n\t"); *in_alternative = false; } break; case REPEAT_OPEN: fprintf(fp, "\n\t\\repeat volta 2 {\n\t"); spec_written = true; break; case REPEAT_OPEN_CLOSE: fprintf(fp, "\n\t}\n\t"); if (*in_alternative) { fprintf(fp, "\n\t {} }\n\t"); *in_alternative = false; } fprintf(fp, "\n\t\\repeat volta 2 {\n\t"); spec_written = true; break; case END_BAR: fprintf(fp, "\n\t\\bar \"|.\"\n\t"); spec_written = true; break; case DOUBLE_BAR: fprintf(fp, "\n\t\\bar \"||\"\n\t"); spec_written = true; break; } switch (special & TIMESIG) { case TIMESIG: fprintf(fp, " \\time %d/%d ", spec_measure->numerator, spec_measure->denominator); spec_written = true; break; } if (!spec_written) { fprintf(fp, "| %% %d\n\t", measure_number); } } void NedVoice::exportLilyGuitarChordnames(FILE *fp, int *last_line, unsigned int *midi_len, bool last_system, unsigned long long end_time, bool *in_alternative, bool with_break) { GList *lptr, *lptr2, *staff_elem_list; bool dummy4; NedMeasure *old_measure = NULL, *measure; SpecialMeasure *spec_measure; unsigned int special; bool in_tuplet = false; unsigned int dummy3; NedSlur *dummy2; int dummy5; bool first = true; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr), first = false) { //measure = getSystem()->getMeasure(((NedChordOrRest *) lptr->data)->getMidiTime()); measure = ((NedChordOrRest *) lptr->data)->m_measure; if (measure != old_measure && measure->getMeasureNumber() > 1) { spec_measure = getMainWindow()->getSpecialMeasure(measure->getMeasureNumber()); if (spec_measure != NULL && !first ) { special = spec_measure->type; exportLilypondSpecMeasure(fp, special, spec_measure, in_alternative, measure->getMeasureNumber()); } else { fprintf(fp, "| %% %d\n\t", measure->getMeasureNumber()); } } if (last_system && ((((NedChordOrRest *) lptr->data)->getType() & (TYPE_REST | TYPE_CHORD)) != 0) && ((NedChordOrRest *) lptr->data)->getMidiTime() >= end_time) { break; } if (m_voice_nr == 0) { staff_elem_list = m_staff->getStaffElements(((NedChordOrRest *) lptr->data)->getMidiTime()); if (staff_elem_list != NULL) { for (lptr2 = g_list_first(staff_elem_list); lptr2; lptr2 = g_list_next(staff_elem_list)) { ((NedChordOrRest *) lptr2->data)->exportLilyPond(fp, last_line, midi_len, &dummy2, &dummy3, &dummy4, &dummy4, &dummy5, false); } g_list_free(staff_elem_list); } } old_measure = measure; if (((NedChordOrRest *) lptr->data)->getTupletVal() && !in_tuplet) { fprintf(fp, " \\times %d/%d { ", NedResource::m_tuplet_tab[((NedChordOrRest *) lptr->data)->getTupletVal()], ((NedChordOrRest *) lptr->data)->getTupletVal()); in_tuplet = true; } ((NedChordOrRest *) lptr->data)->exportLilyGuitarChordnames(fp, last_line, midi_len); if (((NedChordOrRest *) lptr->data)->hasLastTupletFlag()) { fprintf(fp, " } "); in_tuplet = false; } } if (with_break) { fprintf(fp, " \\break "); } measure = getSystem()->getLastMeasure(); spec_measure = getMainWindow()->getSpecialMeasure(measure->getMeasureNumber()); if (spec_measure != NULL) { special = spec_measure->type; exportLilypondSpecMeasure(fp, special, spec_measure, in_alternative, measure->getMeasureNumber()); } } void NedVoice::exportLilyFreeChordName(FILE *fp, int *last_line, unsigned int *midi_len, bool last_system, unsigned long long end_time, bool *in_alternative, bool with_break) { GList *lptr, *lptr2, *staff_elem_list; bool dummy4; NedMeasure *old_measure = NULL, *measure; SpecialMeasure *spec_measure; unsigned int special; bool in_tuplet = false; unsigned int dummy3; NedSlur *dummy2; int dummy5; bool first = true; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr), first = false) { //measure = getSystem()->getMeasure(((NedChordOrRest *) lptr->data)->getMidiTime()); measure = ((NedChordOrRest *) lptr->data)->m_measure; if (measure != old_measure && measure->getMeasureNumber() > 1) { spec_measure = getMainWindow()->getSpecialMeasure(measure->getMeasureNumber()); if (spec_measure != NULL && !first ) { special = spec_measure->type; exportLilypondSpecMeasure(fp, special, spec_measure, in_alternative, measure->getMeasureNumber()); } else { fprintf(fp, "| %% %d\n\t", measure->getMeasureNumber()); } } if (last_system && ((((NedChordOrRest *) lptr->data)->getType() & (TYPE_REST | TYPE_CHORD)) != 0) && ((NedChordOrRest *) lptr->data)->getMidiTime() >= end_time) { break; } if (m_voice_nr == 0) { staff_elem_list = m_staff->getStaffElements(((NedChordOrRest *) lptr->data)->getMidiTime()); if (staff_elem_list != NULL) { for (lptr2 = g_list_first(staff_elem_list); lptr2; lptr2 = g_list_next(staff_elem_list)) { ((NedChordOrRest *) lptr2->data)->exportLilyPond(fp, last_line, midi_len, &dummy2, &dummy3, &dummy4, &dummy4, &dummy5, false); } g_list_free(staff_elem_list); } } old_measure = measure; if (((NedChordOrRest *) lptr->data)->getTupletVal() && !in_tuplet) { fprintf(fp, " \\times %d/%d { ", NedResource::m_tuplet_tab[((NedChordOrRest *) lptr->data)->getTupletVal()], ((NedChordOrRest *) lptr->data)->getTupletVal()); in_tuplet = true; } ((NedChordOrRest *) lptr->data)->exportLilyFreeChordName(fp, last_line, midi_len); if (((NedChordOrRest *) lptr->data)->hasLastTupletFlag()) { fprintf(fp, " } "); in_tuplet = false; } } if (with_break) { fprintf(fp, " \\break "); } measure = getSystem()->getLastMeasure(); spec_measure = getMainWindow()->getSpecialMeasure(measure->getMeasureNumber()); if (spec_measure != NULL) { special = spec_measure->type; exportLilypondSpecMeasure(fp, special, spec_measure, in_alternative, measure->getMeasureNumber()); } } void NedVoice::exportLilyPond(FILE *fp, int *last_line, unsigned int *midi_len, bool last_system, unsigned long long end_time, bool *in_alternative, NedSlur **lily_slur, unsigned int *lyrics_map, bool with_break, bool *guitar_chordnames, bool *chordname, int *breath_script, bool keep_beams) { GList *lptr, *lptr2, *staff_elem_list; bool dummy4; NedMeasure *old_measure = NULL, *measure; SpecialMeasure *spec_measure; unsigned int special; bool in_tuplet = false; unsigned int dummy3; NedSlur *dummy2; int dummy5; bool first = true; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr), first = false) { //measure = getSystem()->getMeasure(((NedChordOrRest *) lptr->data)->getMidiTime()); measure = ((NedChordOrRest *) lptr->data)->m_measure; if (measure != old_measure && measure->getMeasureNumber() > 1) { spec_measure = getMainWindow()->getSpecialMeasure(measure->getMeasureNumber()); if (spec_measure != NULL && !first ) { special = spec_measure->type; exportLilypondSpecMeasure(fp, special, spec_measure, in_alternative, measure->getMeasureNumber()); } else { fprintf(fp, "| %% %d\n\t", measure->getMeasureNumber()); } } if (last_system && ((((NedChordOrRest *) lptr->data)->getType() & (TYPE_REST | TYPE_CHORD)) != 0) && ((NedChordOrRest *) lptr->data)->getMidiTime() >= end_time) { break; } if (m_voice_nr == 0) { staff_elem_list = m_staff->getStaffElements(((NedChordOrRest *) lptr->data)->getMidiTime()); if (staff_elem_list != NULL) { for (lptr2 = g_list_first(staff_elem_list); lptr2; lptr2 = g_list_next(lptr2)) { ((NedChordOrRest *) lptr2->data)->exportLilyPond(fp, last_line, midi_len, &dummy2, &dummy3, &dummy4, &dummy4, breath_script, keep_beams); } g_list_free(staff_elem_list); } } old_measure = measure; if (((NedChordOrRest *) lptr->data)->getTupletVal() && !in_tuplet) { fprintf(fp, " \\times %d/%d { ", NedResource::m_tuplet_tab[((NedChordOrRest *) lptr->data)->getTupletVal()], ((NedChordOrRest *) lptr->data)->getTupletVal()); in_tuplet = true; } ((NedChordOrRest *) lptr->data)->exportLilyPond(fp, last_line, midi_len, lily_slur, lyrics_map, guitar_chordnames, chordname, &dummy5, keep_beams); if (((NedChordOrRest *) lptr->data)->hasLastTupletFlag()) { fprintf(fp, " } "); in_tuplet = false; } } if (m_voice_nr == 0) { staff_elem_list = m_staff->getStaffElements(getSystem()->getSystemEndTime()); if (staff_elem_list != NULL) { for (lptr2 = g_list_first(staff_elem_list); lptr2; lptr2 = g_list_next(lptr2)) { ((NedChordOrRest *) lptr2->data)->exportLilyPond(fp, last_line, midi_len, &dummy2, &dummy3, &dummy4, &dummy4, breath_script, keep_beams); } g_list_free(staff_elem_list); } } if (with_break) { fprintf(fp, " \\break "); } measure = getSystem()->getLastMeasure(); spec_measure = getMainWindow()->getSpecialMeasure(measure->getMeasureNumber()); if (spec_measure != NULL) { special = spec_measure->type; exportLilypondSpecMeasure(fp, special, spec_measure, in_alternative, measure->getMeasureNumber()); } } void NedVoice::exportLilyLyrics(FILE *fp, bool last_system, int line_nr, unsigned long long end_time, int *sil_count) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->exportLilyLyrics(fp, line_nr, sil_count); if (last_system && ((((NedChordOrRest *) lptr->data)->getType() & (TYPE_REST | TYPE_CHORD)) != 0) && ((NedChordOrRest *) lptr->data)->getMidiTime() >= end_time) { break; } } } void NedVoice::collectLyrics(NedLyricsEditor *leditor) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->collectLyrics(leditor); } } void NedVoice::setLyrics(NedCommandList *command_list, NedLyricsEditor *leditor) { GList *lptr; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->setLyrics(command_list, leditor); } } nted-1.10.18/install-sh0000775001041000007640000003253711520267230011550 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2009-04-28.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; -*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: nted-1.10.18/dialogs/0000775001041000007640000000000011520270235011233 500000000000000nted-1.10.18/dialogs/chordnamedialog.h0000664001041000007640000000465711520267217014466 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHORD_NAME_DIALOG_H #define CHORD_NAME_DIALOG_H #include "config.h" #include "resource.h" #include #include class NedChordNameDialog { public: NedChordNameDialog(NedMainWindow *main_window, GtkWindow *parent, char *roottext, char *uptext, char *downtext, double fontsize, double ydist, bool ydist_relenvant); ~NedChordNameDialog(); void getValues(bool *state, char **roottext, char **uptext, char **downtext, double *fontsize, double *ydist); static bool isAlreadyActive() {return m_chord_name_dialog_active;} private: static bool m_chord_name_dialog_active; static double m_chord_name_y_dist; static void ResponseCallBack(GtkDialog *dialog, gint result, gpointer data); static bool OnKeyRelease(GtkWidget *widget, GdkEventKey *event, gpointer data); static void OnValueChanged(GtkSpinButton *spinbutton, gpointer data); bool updateMainSpecial(); NedMainWindow *m_main_window; GtkWidget *m_dialog; GtkWidget *m_font_size_spin_box; GtkWidget *m_ydist_spin_box; GtkWidget *m_root_text_widget; GtkWidget *m_up_text_widget; GtkWidget *m_down_text_widget; static double m_font_size; char *m_root_text; char *m_up_text; char *m_down_text; int m_state; }; #endif /* CHORD_NAME_DIALOG_H */ nted-1.10.18/dialogs/textdialog.h0000664001041000007640000000726611520267217013511 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef TEXT_DIALOG_H #define TEXT_DIALOG_H #include "config.h" #include "resource.h" #include #include class NedTextDialog { public: NedTextDialog(GtkWindow *parent, char *text, int anchor, unsigned int tempo, bool enable_tempo, unsigned int volume, bool enable_volume, unsigned short segno_sign, int midi_program, int channel, bool enable_channel, const char *font_family, double font_size, PangoStyle font_slant, PangoWeight font_weight); void getValues(bool *state, char **text, int *anchor, unsigned int *tempo, bool *enable_tempo, unsigned int *volume, bool *enable_volume, unsigned short *segno_sign, int *midi_program, unsigned int *channel, bool *enable_channel, const char **font_family, double *font_size, PangoStyle *font_slant, PangoWeight *font_weight); private: static void CloseCallBack(GtkDialog *dialog, gint result, gpointer data); static void FontCallBack(GtkButton *button, gpointer data); static void TempoToggled(GtkToggleButton *button, gpointer data); static void VolumeToggled(GtkToggleButton *button, gpointer data); static void InstrToggled(GtkToggleButton *button, gpointer data); static void ChannelToggled(GtkToggleButton *button, gpointer data); static gboolean OnScroll(GtkWidget *widget, GdkEventScroll *event, gpointer data); void retrieveFontParams(); GtkWidget *m_text_widget; GtkWidget *m_font_button; GtkWidget *m_tempo_spin_box; GtkWidget *m_volume_spin_box; GtkWidget *m_channel_spin_box; GtkWidget *m_check_tempo; GtkWidget *m_check_volume; GtkWidget *m_check_instr; GtkWidget *m_check_channel; GtkWidget *m_anchor_left; GtkWidget *m_anchor_mid; GtkWidget *m_anchor_right; GtkWidget *m_segno_none; GtkWidget *m_ds_al_fine; GtkWidget *m_ds_al_coda; GtkWidget *m_d_capo_al_fine; GtkWidget *m_d_capo_al_coda; GtkWidget *m_fine; GtkWidget *m_al_coda; GtkWidget *m_instrument_list; GtkObject *m_instrument_adjustment; GtkWidget *m_main_h_box; GtkWidget *m_instrument_scroll; unsigned int m_tempo; unsigned int m_volume; bool m_enable_tempo, m_enable_volume; unsigned short m_segno_sign; int m_midi_program_number; int m_channel; bool m_enable_channel; int m_anchor; char *m_text; const char *m_font_family; double m_font_size; PangoStyle m_font_slant; PangoWeight m_font_weight; bool m_state; static const char *m_static_font_family; static double m_static_font_size; static PangoStyle m_static_font_slant; static PangoWeight m_static_font_weight; }; #endif /* TEXT_DIALOG_H */ nted-1.10.18/dialogs/volumedialog.cpp0000664001041000007640000000551211520267217014357 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "volumedialog.h" #include "localization.h" #include "resource.h" #include "config.h" NedVolumeDialog::NedVolumeDialog(GtkWindow *parent, int volume, bool relative) { GtkWidget *dialog; GtkWidget *lab; GtkWidget *hbox; dialog = gtk_dialog_new_with_buttons(_("Set Volume"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (CloseCallBack), (void *) this); if (relative) { m_volume_spin_box = gtk_spin_button_new_with_range (-127.0, 127.0, 1.0); } else { m_volume_spin_box = gtk_spin_button_new_with_range (0.0, 127.0, 1.0); } gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_volume_spin_box), volume); lab = gtk_label_new(_("volume:")); hbox = gtk_hbox_new(FALSE, 8); gtk_box_pack_start(GTK_BOX(hbox), lab, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), m_volume_spin_box, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), hbox); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedVolumeDialog::CloseCallBack(GtkDialog *dialog, gint result, gpointer data) { NedVolumeDialog *volume_dialog = (NedVolumeDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: volume_dialog->m_state = TRUE; break; default: volume_dialog->m_state = FALSE; break; } volume_dialog->m_volume = (int) (gtk_spin_button_get_value(GTK_SPIN_BUTTON(volume_dialog->m_volume_spin_box)) + 0.4); gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedVolumeDialog::getValues(bool *state, int *volume) { *state = m_state; *volume = m_volume; } nted-1.10.18/dialogs/chordnamedialog.cpp0000664001041000007640000002102511520267217015005 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "chordnamedialog.h" #include "mainwindow.h" #include "localization.h" #include "resource.h" #include "config.h" double NedChordNameDialog::m_font_size = 0.4; bool NedChordNameDialog::m_chord_name_dialog_active = false; double NedChordNameDialog::m_chord_name_y_dist = 0.4; NedChordNameDialog::NedChordNameDialog(NedMainWindow *main_window, GtkWindow *parent, char *roottext, char *uptext, char *downtext, double fontsize, double ydist, bool ydist_relenvant) : m_main_window(main_window) { if (fontsize > 0.0) { m_font_size = fontsize; } if (ydist > 0.0) { m_chord_name_y_dist = ydist; } GtkWidget *text_frame; GtkWidget *size_frame; GtkWidget *ydist_frame; GtkWidget *main_h_box; GtkWidget *text_h_box; GtkWidget *spin_button_vbox; GtkWidget *vbox; if (m_main_window) { m_dialog = gtk_dialog_new_with_buttons(_("Chordname"), NULL, (GtkDialogFlags) 0, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); } else { m_dialog = gtk_dialog_new_with_buttons(_("Chordname"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); } gtk_window_set_transient_for(GTK_WINDOW (m_dialog), parent); g_signal_connect(m_dialog, "response", G_CALLBACK (ResponseCallBack), (void *) this); text_frame = gtk_frame_new(_("chordname")); text_h_box = gtk_hbox_new(FALSE, 2); vbox = gtk_vbox_new(FALSE, 2); m_root_text_widget = gtk_entry_new_with_max_length(10); if (roottext != NULL) { gtk_entry_set_text(GTK_ENTRY(m_root_text_widget), roottext); } m_up_text_widget = gtk_entry_new_with_max_length(10); if (uptext != NULL) { gtk_entry_set_text(GTK_ENTRY(m_up_text_widget), uptext); } m_down_text_widget = gtk_entry_new_with_max_length(10); if (downtext != NULL) { gtk_entry_set_text(GTK_ENTRY(m_down_text_widget), downtext); } size_frame = gtk_frame_new(_("size")); m_font_size_spin_box = gtk_spin_button_new_with_range (0.3, 0.5, 0.1); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_font_size_spin_box), m_font_size); ydist_frame = gtk_frame_new(_("position")); m_ydist_spin_box = gtk_spin_button_new_with_range (0.01, 2.0, 0.05); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_ydist_spin_box), m_chord_name_y_dist); if (!ydist_relenvant) { gtk_widget_set_sensitive(m_ydist_spin_box, FALSE); } spin_button_vbox = gtk_hbox_new(FALSE, 2); main_h_box = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(text_h_box), m_root_text_widget, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), m_up_text_widget, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), m_down_text_widget, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(text_h_box), vbox, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(text_frame), text_h_box); gtk_container_add (GTK_CONTAINER(size_frame), m_font_size_spin_box); gtk_container_add (GTK_CONTAINER(ydist_frame), m_ydist_spin_box); gtk_box_pack_start(GTK_BOX(main_h_box), text_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(spin_button_vbox), size_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(spin_button_vbox), ydist_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(main_h_box), spin_button_vbox, FALSE, FALSE, 0); m_chord_name_dialog_active = true; if (m_main_window) { g_signal_connect(m_root_text_widget, "key-release-event", G_CALLBACK (OnKeyRelease), (void *) this); g_signal_connect(m_up_text_widget, "key-release-event", G_CALLBACK (OnKeyRelease), (void *) this); g_signal_connect(m_down_text_widget, "key-release-event", G_CALLBACK (OnKeyRelease), (void *) this); g_signal_connect(m_font_size_spin_box, "value-changed", G_CALLBACK (OnValueChanged), (void *) this); g_signal_connect(m_ydist_spin_box, "value-changed", G_CALLBACK (OnValueChanged), (void *) this); } gtk_container_add (GTK_CONTAINER (GTK_DIALOG(m_dialog)->vbox), main_h_box); gtk_widget_show_all (m_dialog); gtk_dialog_run(GTK_DIALOG(m_dialog)); } bool NedChordNameDialog::updateMainSpecial() { const gchar *newtext; char *newroottext, *newuptext, *newdowntext; newtext = gtk_entry_get_text(GTK_ENTRY(m_root_text_widget)); if (strlen(newtext) > 0) { newroottext = strdup(newtext); newtext = gtk_entry_get_text(GTK_ENTRY(m_up_text_widget)); newuptext = NULL; if (strlen(newtext) > 0) { newuptext = strdup(newtext); } newdowntext = NULL; newtext = gtk_entry_get_text(GTK_ENTRY(m_down_text_widget)); if (strlen(newtext) > 0) { newdowntext = strdup(newtext); } m_font_size = gtk_spin_button_get_value(GTK_SPIN_BUTTON(m_font_size_spin_box)); m_chord_name_y_dist = gtk_spin_button_get_value(GTK_SPIN_BUTTON(m_ydist_spin_box)); m_main_window->setChorNameInfo(newroottext, newuptext, newdowntext, m_font_size, m_chord_name_y_dist); return true; } return false; } void NedChordNameDialog::ResponseCallBack(GtkDialog *dialog, gint result, gpointer data) { NedChordNameDialog *font_name_dialog = (NedChordNameDialog *) data; const gchar *newtext; if (font_name_dialog->m_main_window) { switch (result) { case GTK_RESPONSE_ACCEPT: if (font_name_dialog->updateMainSpecial()) { break; } // no break is correct !! default: font_name_dialog->m_main_window->resetSpecialType(); delete font_name_dialog; break; } return; } switch (result) { case GTK_RESPONSE_ACCEPT: font_name_dialog->m_state = TRUE; break; default: font_name_dialog->m_state = FALSE; break; } if (font_name_dialog->m_state) { font_name_dialog->m_root_text = NULL; newtext = gtk_entry_get_text(GTK_ENTRY(font_name_dialog->m_root_text_widget)); NedResource::removeNonAsciiFromUTF8String(newtext); if (strlen(newtext) > 0) { font_name_dialog->m_root_text = strdup(newtext); } else { font_name_dialog->m_state = false; } font_name_dialog->m_up_text = NULL; newtext = gtk_entry_get_text(GTK_ENTRY(font_name_dialog->m_up_text_widget)); if (strlen(newtext) > 0) { NedResource::removeNonAsciiFromUTF8String(newtext); if (strlen(newtext) > 0) { font_name_dialog->m_up_text = strdup(newtext); } } font_name_dialog->m_down_text = NULL; newtext = gtk_entry_get_text(GTK_ENTRY(font_name_dialog->m_down_text_widget)); if (strlen(newtext) > 0) { NedResource::removeNonAsciiFromUTF8String(newtext); if (strlen(newtext) > 0) { font_name_dialog->m_down_text = strdup(newtext); } } font_name_dialog->m_font_size = gtk_spin_button_get_value(GTK_SPIN_BUTTON(font_name_dialog->m_font_size_spin_box)); font_name_dialog->m_chord_name_y_dist = gtk_spin_button_get_value(GTK_SPIN_BUTTON(font_name_dialog->m_ydist_spin_box)); } delete font_name_dialog; } bool NedChordNameDialog::OnKeyRelease(GtkWidget *widget, GdkEventKey *event, gpointer data) { NedChordNameDialog *font_name_dialog = (NedChordNameDialog *) data; font_name_dialog->updateMainSpecial(); return FALSE; } void NedChordNameDialog::OnValueChanged(GtkSpinButton *spinbutton, gpointer data) { NedChordNameDialog *font_name_dialog = (NedChordNameDialog *) data; font_name_dialog->updateMainSpecial(); } NedChordNameDialog::~NedChordNameDialog() { gtk_widget_destroy (GTK_WIDGET(m_dialog)); m_chord_name_dialog_active = false; } void NedChordNameDialog::getValues(bool *state, char **roottext, char **uptext, char **downtext, double *fontsize, double *ydist) { *state = m_state; *roottext = m_root_text; *uptext = m_up_text; *downtext = m_down_text; *fontsize = m_font_size; *ydist = m_chord_name_y_dist; } nted-1.10.18/dialogs/linesdialog.h0000664001041000007640000000347411520267217013634 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef LINES_DIALOG_H #define LINES_DIALOG_H #include "config.h" #include #include #include "line.h" class NedLinesDialog { public: NedLinesDialog(GtkWindow *parent); void getValues(bool *state, int *linetype); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static gboolean draw_menu(GtkWidget *widget, GdkEventExpose *event, gpointer data); static gboolean change_selection (GtkWidget *widget, GdkEventButton *event, gpointer data); bool m_state; int m_current_row, m_current_column; GdkGC *m_drawing_area_gc; GdkColor m_black, m_red; }; #endif /* LINES_DIALOG_H */ nted-1.10.18/dialogs/spacementdialog.cpp0000664001041000007640000000535011520267217015027 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "spacementdialog.h" #include "localization.h" #include "resource.h" #include "mainwindow.h" NedSpacementDialog::NedSpacementDialog(GtkWindow *parent, double spacement) : m_spacement(spacement) { GtkWidget *dialog; GtkWidget *spacement_frame; dialog = gtk_dialog_new_with_buttons(_("Horizontal Spacement"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); spacement_frame = gtk_frame_new(_("Spacement")); m_spacement_slider = gtk_hscale_new_with_range(MEASURE_MIN_SPREAD, MEASURE_MAX_SPREAD, MEASURE_SPREAD_STEP); gtk_range_set_value(GTK_RANGE(m_spacement_slider), spacement); gtk_container_add (GTK_CONTAINER(spacement_frame), m_spacement_slider); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), spacement_frame); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedSpacementDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { NedSpacementDialog *space_dialog = (NedSpacementDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: space_dialog->m_state = TRUE; break; default: space_dialog->m_state = FALSE; break; } space_dialog->m_spacement = gtk_range_get_value(GTK_RANGE(space_dialog->m_spacement_slider)); gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedSpacementDialog::getValues(bool *state, double *spacement) { *state = m_state; *spacement = m_spacement; } nted-1.10.18/dialogs/druminfo.h0000664001041000007640000000045611520267217013162 00000000000000#ifndef DRUM_INFO_H #define DRUM_INFO_H extern struct d_info_str { const char *name, *lily_short_name; int pitch; int note_head; const char *modifier; int line; } default_dinfo[], current_dinfo[]; int getNumberOfDrumTabElements(); void make_default_drums_current(); #endif /* DRUM_INFO_H */ nted-1.10.18/dialogs/selectordialog.h0000664001041000007640000000417411520267217014340 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef SELECTOR_DIALOG_H #define SELECTOR_DIALOG_H #include "config.h" #include #include struct staff_context_str; class NedSelectorDialog { public: NedSelectorDialog(GtkWindow *parent, bool with_transpose, bool *staff_list, bool selected, struct staff_context_str *staff_contexts, int numstaffs); void getValues(bool *state, int *pitchdist, bool *selected); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static void OnAll(GtkButton *button, gpointer data); static void OnNone(GtkButton *button, gpointer data); static void OnUseSelection(GtkToggleButton *togglebutton, gpointer data); GtkWidget *m_allbutton; GtkWidget *m_nonebutton; GtkWidget *m_transpose_spin_box; GtkWidget *m_selection_checkbox; GtkWidget **m_checkboxes; bool m_with_transpose; bool *m_staff_list; bool m_selected; bool m_state; int m_pitch_dist; int m_numstaffs; }; #endif /* SELECTOR_DIALOG_H */ nted-1.10.18/dialogs/drumconfigdialog.h0000664001041000007640000000550011520267217014647 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef DRUM_CONFIG_DIALOG_H #define DRUM_CONFIG_DIALOG_H #include "config.h" #include #include #define MAXBUTTONS 13 class NedDrumConfigDialog { public: NedDrumConfigDialog(GtkWindow *parent); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static gboolean OnScroll(GtkWidget *widget, GdkEventScroll *event, gpointer data); static void OnToggle(GtkToggleButton *togglebutton, gpointer data); static gboolean OnExpose(GtkWidget *widget, GdkEventExpose *event, gpointer user_data); static void OnCursorChanged(GtkTreeView *tree_view, gpointer data); static void OnSave (GtkButton *button, gpointer data); static void OnLoad (GtkButton *button, gpointer data); static void OnDefault (GtkButton *button, gpointer data); static void OnChange (GtkButton *button, gpointer data); static void OnPlay (GtkButton *button, gpointer data); static gboolean OnEnter(GtkWidget *widget, GdkEventCrossing *event, gpointer data); static gboolean OnLeave(GtkWidget *widget, GdkEventCrossing *event, gpointer data); static gboolean OnKeyPress(GtkWidget *widget, GdkEventKey *event, gpointer data); static void increase_line (GtkButton *button, gpointer data); static void decrease_line (GtkButton *button, gpointer data); static GdkPixbuf *selectDrumIcon(int note_head); GtkListStore *m_drum_elements_list_store; GtkObject *m_drum_elements_adjustment; GtkWidget *m_drum_element_list; GtkWidget *m_preview; GtkWidget *m_drum_buttons[MAXBUTTONS]; GdkColor m_black, m_red, m_white; int m_type, m_line; int m_element; bool m_inside_preview; }; #endif /* DRUM_CONFIG_DIALOG_H */ nted-1.10.18/dialogs/drumconfigdialog.cpp0000664001041000007640000010741311520267217015210 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include #include "drumconfigdialog.h" #include "localization.h" #include "resource.h" #include "mainwindow.h" #include "druminfo.h" #include "drumconfigdialog.h" #define DRUM_ELEMENTS_WIDGET_WIDTH 440 #define DRUM_ELEMENTS_WIDGET_HEIGHT 400 #define DRUM_DEMO_XPOS 90.0 #define DRUM_DEMO_O_HH_RAD 4.0 #define DRUM_DEMO_C_HH_LEN 6.0 #define DRUM_SHOW_WIDTH 30 #define DRUM_SHOW_HIGHT 60 #define DRUM_SHOW_BORDER 10 #define DRUM_DEMO_LINE_YPOS 70.0 #define MAX_DRUM_DEMO_LINE_OVER 7 #define DRUM_DEMO_LINE_BEGIN (DRUM_DEMO_XPOS - 40.0) #define DRUM_DEMO_LINE_END (DRUM_DEMO_XPOS + 40.0) #define DRUM_DEMO_NOTE_LINE_BEGIN (DRUM_DEMO_XPOS - 10.0) #define DRUM_DEMO_NOTE_LINE_END (DRUM_DEMO_XPOS + 10.0) NedDrumConfigDialog::NedDrumConfigDialog(GtkWindow *parent) : m_type(NORMAL_NOTE), m_line(0), m_inside_preview(false) { int i; GtkWidget *dialog; GtkTreeIter iter; GtkTreeViewColumn *drum_elements_num_column; GtkTreeViewColumn *drum_element_name_column; GtkTreeViewColumn *drum_element_short_name_column; GtkTreeViewColumn *drum_element_position_column; GtkTreeViewColumn *drum_element_symbol_column; GtkTreeViewColumn *drum_element_pitch_column; GtkCellRenderer *drum_elements_renderer; GtkCellRenderer *drum_symbols_renderer; GtkWidget *bu_up; GtkWidget *bu_down; GtkWidget *drum_elements_scroll; GtkWidget *elements_hbox; GtkWidget *right_vbox; GtkWidget *right_hbox; GtkWidget *right_arrow_vbox; GtkWidget *drum_buttons_grid; GtkWidget *drums_button_frame; GtkWidget *drums_preview_frame; GtkWidget *buttons_frame; GtkWidget *buttons_vbox; GtkWidget *load_button; GtkWidget *save_button; GtkWidget *play_button; GtkWidget *change_button; GtkWidget *default_button; GdkColor bgcolor; m_black.pixel = 1; m_black.red = m_black.green = m_black.blue = 0; m_red.pixel = 2; m_red.red = 65535; m_red.green = m_red.blue = 0; m_white.pixel = 3; m_white.red = m_white.green = m_white.blue = 0xffff; dialog = gtk_dialog_new_with_buttons(_("Config Drums"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_CLOSE, GTK_RESPONSE_ACCEPT, NULL); GTK_WIDGET_SET_FLAGS(dialog, GTK_CAN_FOCUS); gtk_widget_add_events(dialog, GDK_KEY_PRESS_MASK); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); g_signal_connect(dialog, "key-press-event", G_CALLBACK (OnKeyPress), (void *) this); m_drum_elements_list_store = gtk_list_store_new (6, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_INT); struct d_info_str *dinfo_ptr; m_line = current_dinfo[0].line; m_type = current_dinfo[0].note_head; for (i = 0, dinfo_ptr = current_dinfo; dinfo_ptr->name; dinfo_ptr++, i++) { gtk_list_store_append (m_drum_elements_list_store, &iter); gtk_list_store_set(m_drum_elements_list_store, &iter, 0, i, 1, dinfo_ptr->name, 2, dinfo_ptr->lily_short_name, 3, dinfo_ptr->line, 4, selectDrumIcon(dinfo_ptr->note_head), 5, dinfo_ptr->pitch, -1); } m_drum_element_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(m_drum_elements_list_store)); drum_elements_renderer = gtk_cell_renderer_text_new (); drum_elements_num_column = gtk_tree_view_column_new_with_attributes (_("no"), drum_elements_renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_drum_element_list), drum_elements_num_column); drum_element_name_column = gtk_tree_view_column_new_with_attributes (_("drum element name"), drum_elements_renderer, "text", 1, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_drum_element_list), drum_element_name_column); drum_element_short_name_column = gtk_tree_view_column_new_with_attributes (_("short name"), drum_elements_renderer, "text", 2, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_drum_element_list), drum_element_short_name_column); drum_element_position_column = gtk_tree_view_column_new_with_attributes (_("line"), drum_elements_renderer, "text", 3, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_drum_element_list), drum_element_position_column); drum_symbols_renderer = gtk_cell_renderer_pixbuf_new(); drum_element_symbol_column = gtk_tree_view_column_new_with_attributes (_("symbol"), drum_symbols_renderer, "pixbuf", 4, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_drum_element_list), drum_element_symbol_column); drum_element_pitch_column = gtk_tree_view_column_new_with_attributes (_("midi pitch"), drum_elements_renderer, "text", 5, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_drum_element_list), drum_element_pitch_column); m_drum_elements_adjustment = gtk_adjustment_new (0.0, 0.0, i, 1.0, 10.0, 10.0); drum_elements_scroll = gtk_vscrollbar_new(GTK_ADJUSTMENT(m_drum_elements_adjustment)); gtk_tree_view_set_vadjustment (GTK_TREE_VIEW (m_drum_element_list), GTK_ADJUSTMENT(m_drum_elements_adjustment)); gtk_widget_set_size_request(m_drum_element_list, DRUM_ELEMENTS_WIDGET_WIDTH, DRUM_ELEMENTS_WIDGET_HEIGHT); g_signal_connect(dialog, "scroll-event", G_CALLBACK (OnScroll), (void *) this); g_signal_connect(m_drum_element_list, "cursor-changed", G_CALLBACK (OnCursorChanged), (void *) this); drum_buttons_grid = gtk_table_new(3, 5, TRUE); m_drum_buttons[0] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[0], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[0]), gtk_image_new_from_pixbuf(NedResource::m_drum1_icon)); m_drum_buttons[1] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[1], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[1]), gtk_image_new_from_pixbuf(NedResource::m_drum2_icon)); m_drum_buttons[2] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[2], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[2]), gtk_image_new_from_pixbuf(NedResource::m_drum3_icon)); m_drum_buttons[3] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[3], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[3]), gtk_image_new_from_pixbuf(NedResource::m_drum4_icon)); m_drum_buttons[4] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[4], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[4]), gtk_image_new_from_pixbuf(NedResource::m_drum5_icon)); m_drum_buttons[5] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[5], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[5]), gtk_image_new_from_pixbuf(NedResource::m_drum6_icon)); m_drum_buttons[6] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[6], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[6]), gtk_image_new_from_pixbuf(NedResource::m_drum7_icon)); m_drum_buttons[7] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[7], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[7]), gtk_image_new_from_pixbuf(NedResource::m_drum8_icon)); m_drum_buttons[8] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[8], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[8]), gtk_image_new_from_pixbuf(NedResource::m_drum9_icon)); m_drum_buttons[9] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[9], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[9]), gtk_image_new_from_pixbuf(NedResource::m_drum10_icon)); m_drum_buttons[10] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[10], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[10]), gtk_image_new_from_pixbuf(NedResource::m_drum11_icon)); m_drum_buttons[11] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[11], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[11]), gtk_image_new_from_pixbuf(NedResource::m_drum12_icon)); m_drum_buttons[12] = gtk_toggle_button_new(); g_signal_connect(m_drum_buttons[12], "toggled", G_CALLBACK(OnToggle), (void *) this); gtk_button_set_image(GTK_BUTTON(m_drum_buttons[12]), gtk_image_new_from_pixbuf(NedResource::m_normal_note_icon)); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[0], 0, 1, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[1], 1, 2, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[2], 2, 3, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[3], 3, 4, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[4], 0, 1, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[5], 1, 2, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[6], 2, 3, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[7], 3, 4, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[8], 0, 1, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[9], 1, 2, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[10], 2, 3, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[11], 3, 4, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach(GTK_TABLE(drum_buttons_grid), m_drum_buttons[12], 0, 1, 3, 4, GTK_SHRINK, GTK_SHRINK, 0, 0); change_button = gtk_button_new_with_label(_("change element")); g_signal_connect (change_button, "pressed", G_CALLBACK(OnChange), (void *) this); gtk_table_attach(GTK_TABLE(drum_buttons_grid), change_button, 1, 4, 3, 4, GTK_SHRINK, GTK_SHRINK, 0, 0); drums_button_frame = gtk_frame_new(_("note head")); gtk_container_add (GTK_CONTAINER(drums_button_frame), drum_buttons_grid); m_preview = gtk_drawing_area_new (); gtk_widget_add_events(m_preview, GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); bgcolor.pixel = 1; bgcolor.red = bgcolor.green = bgcolor.blue = 0xffff; gtk_widget_modify_bg(GTK_WIDGET(m_preview), GTK_STATE_NORMAL, &bgcolor); gtk_drawing_area_size(GTK_DRAWING_AREA(m_preview), DRUM_SHOW_WIDTH, DRUM_SHOW_HIGHT); g_signal_connect (m_preview, "expose-event", G_CALLBACK (OnExpose), (void *) this); g_signal_connect (m_preview, "enter-notify-event", G_CALLBACK (OnEnter), (void *) this); g_signal_connect (m_preview, "leave-notify-event", G_CALLBACK (OnLeave), (void *) this); bu_up = gtk_button_new_from_stock("my-arrow-up-icon"); g_signal_connect (bu_up, "pressed", G_CALLBACK(increase_line), (void *) this); bu_down = gtk_button_new_from_stock ("my-arrow-down-icon"); g_signal_connect (bu_down, "pressed", G_CALLBACK(decrease_line), (void *) this); right_arrow_vbox = gtk_vbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX(right_arrow_vbox), bu_up, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX(right_arrow_vbox), bu_down, FALSE, FALSE, 0); right_hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX(right_hbox), m_preview, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX(right_hbox), right_arrow_vbox, FALSE, FALSE, 0); drums_preview_frame = gtk_frame_new(_("preview")); gtk_container_add (GTK_CONTAINER(drums_preview_frame), right_hbox); right_vbox = gtk_vbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX(right_vbox), drums_button_frame, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(right_vbox), drums_preview_frame, TRUE, TRUE, 0); load_button = gtk_button_new_with_label(_("load from file")); save_button = gtk_button_new_with_label(_("save to file")); default_button = gtk_button_new_with_label(_("load defaults")); play_button = gtk_button_new_with_label(_("play element")); g_signal_connect (save_button, "pressed", G_CALLBACK(OnSave), (void *) this); g_signal_connect (load_button, "pressed", G_CALLBACK(OnLoad), (void *) this); g_signal_connect (default_button, "pressed", G_CALLBACK(OnDefault), (void *) this); g_signal_connect (play_button, "pressed", G_CALLBACK(OnPlay), (void *) this); buttons_vbox = gtk_vbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX(buttons_vbox), load_button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(buttons_vbox), save_button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(buttons_vbox), default_button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(buttons_vbox), play_button, FALSE, FALSE, 0); buttons_frame = gtk_frame_new(_("file")); gtk_container_add (GTK_CONTAINER(buttons_frame), buttons_vbox); elements_hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX(elements_hbox), buttons_frame, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX(elements_hbox), m_drum_element_list, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX(elements_hbox), drum_elements_scroll, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(elements_hbox), right_vbox, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), elements_hbox); gtk_tree_view_set_cursor(GTK_TREE_VIEW(m_drum_element_list), gtk_tree_path_new_from_indices (0, -1), NULL, FALSE); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } GdkPixbuf *NedDrumConfigDialog::selectDrumIcon(int note_head) { switch(note_head) { case CROSS_NOTE1: return NedResource::m_drum1_icon_small; case CROSS_NOTE2: return NedResource::m_drum2_icon_small; case RECT_NOTE1: return NedResource::m_drum3_icon_small; case RECT_NOTE2: return NedResource::m_drum4_icon_small; case TRIAG_NOTE1: return NedResource::m_drum5_icon_small; case TRIAG_NOTE2: return NedResource::m_drum6_icon_small; case CROSS_NOTE3: return NedResource::m_drum7_icon_small; case CROSS_NOTE4: return NedResource::m_drum8_icon_small; case TRIAG_NOTE3: return NedResource::m_drum9_icon_small; case QUAD_NOTE2: return NedResource::m_drum10_icon_small; case OPEN_HIGH_HAT: return NedResource::m_drum11_icon_small; case CLOSED_HIGH_HAT: return NedResource::m_drum12_icon_small; } return NedResource::m_normal_note_icon_small; } void NedDrumConfigDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; GtkTreeSelection* selection; GList *selected_rows; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(drum_config_dialog->m_drum_element_list)); selected_rows = gtk_tree_selection_get_selected_rows (selection, NULL); if ( g_list_length(selected_rows) > 0) { GtkTreePath *path = (GtkTreePath *) g_list_first(selected_rows)->data; char *tp = gtk_tree_path_to_string(path); if (sscanf(tp, "%d", &(drum_config_dialog->m_element)) != 1) { NedResource::Abort("NedDrumConfigDialog::OnClose: error reading tree path(1)"); } } else { drum_config_dialog->m_element = 0; } gtk_widget_destroy (GTK_WIDGET(dialog)); } gboolean NedDrumConfigDialog::OnScroll(GtkWidget *widget, GdkEventScroll *event, gpointer data) { #define SCROLL_INCR 20.0 double adjval; NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; adjval = gtk_adjustment_get_value(GTK_ADJUSTMENT(drum_config_dialog->m_drum_elements_adjustment)); if (event->direction == GDK_SCROLL_UP) { adjval -= SCROLL_INCR; } else if (event->direction == GDK_SCROLL_DOWN) { adjval += SCROLL_INCR; } gtk_adjustment_set_value(GTK_ADJUSTMENT(drum_config_dialog->m_drum_elements_adjustment), adjval); return FALSE; } void NedDrumConfigDialog::OnToggle(GtkToggleButton *togglebutton, gpointer data) { int i; NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; if (gtk_toggle_button_get_active(togglebutton)) { for (i = 0; i < MAXBUTTONS; i++) { if (GTK_TOGGLE_BUTTON(drum_config_dialog->m_drum_buttons[i]) == togglebutton) { switch(i) { case 0: drum_config_dialog->m_type = CROSS_NOTE1; break; case 1: drum_config_dialog->m_type = CROSS_NOTE2; break; case 2: drum_config_dialog->m_type = RECT_NOTE1; break; case 3: drum_config_dialog->m_type = RECT_NOTE2; break; case 4: drum_config_dialog->m_type = TRIAG_NOTE1; break; case 5: drum_config_dialog->m_type = TRIAG_NOTE2; break; case 6: drum_config_dialog->m_type = CROSS_NOTE3; break; case 7: drum_config_dialog->m_type = CROSS_NOTE4; break; case 8: drum_config_dialog->m_type = TRIAG_NOTE3; break; case 9: drum_config_dialog->m_type = QUAD_NOTE2; break; case 10: drum_config_dialog->m_type = OPEN_HIGH_HAT; break; case 11: drum_config_dialog->m_type = CLOSED_HIGH_HAT; break; case 12: drum_config_dialog->m_type = NORMAL_NOTE; break; } if (GDK_IS_WINDOW(drum_config_dialog->m_preview->window)) { gdk_window_invalidate_rect (drum_config_dialog->m_preview->window, NULL, FALSE); } continue; } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(drum_config_dialog->m_drum_buttons[i]), FALSE); } } } void NedDrumConfigDialog::increase_line (GtkButton *button, gpointer data) { NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; if (drum_config_dialog->m_line >= 8 + MAX_DRUM_DEMO_LINE_OVER) return; drum_config_dialog->m_line++; gdk_window_invalidate_rect (drum_config_dialog->m_preview->window, NULL, FALSE); } void NedDrumConfigDialog::decrease_line (GtkButton *button, gpointer data) { NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; if (drum_config_dialog->m_line <= -MAX_DRUM_DEMO_LINE_OVER) return; drum_config_dialog->m_line--; gdk_window_invalidate_rect (drum_config_dialog->m_preview->window, NULL, FALSE); } gboolean NedDrumConfigDialog::OnEnter(GtkWidget *widget, GdkEventCrossing *event, gpointer data) { NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; drum_config_dialog->m_inside_preview = true; return FALSE; } gboolean NedDrumConfigDialog::OnLeave(GtkWidget *widget, GdkEventCrossing *event, gpointer data) { NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; drum_config_dialog->m_inside_preview = false; return FALSE; } gboolean NedDrumConfigDialog::OnKeyPress(GtkWidget *widget, GdkEventKey *event, gpointer data) { NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; if (!drum_config_dialog->m_inside_preview) return FALSE; switch (event->keyval) { case GDK_Up: increase_line(NULL, data); return TRUE; case GDK_Down: decrease_line(NULL, data); return TRUE; } return FALSE; } void NedDrumConfigDialog::OnCursorChanged(GtkTreeView *tree_view, gpointer data) { NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; GtkTreeSelection* selection; GList *selected_rows; int *idxs; int i, bunr = 0; selection = gtk_tree_view_get_selection (tree_view); selected_rows = gtk_tree_selection_get_selected_rows (selection, NULL); if ( g_list_length(selected_rows) > 0) { GtkTreePath *path = (GtkTreePath *) g_list_first(selected_rows)->data; idxs = gtk_tree_path_get_indices (path); drum_config_dialog->m_line = current_dinfo[idxs[0]].line; drum_config_dialog->m_type = current_dinfo[idxs[0]].note_head; switch (drum_config_dialog->m_type) { case CROSS_NOTE1: bunr = 0; break; case CROSS_NOTE2: bunr = 1; break; case RECT_NOTE1: bunr = 2; break; case RECT_NOTE2: bunr = 3; break; case TRIAG_NOTE1: bunr = 4; break; case TRIAG_NOTE2: bunr = 5; break; case CROSS_NOTE3: bunr = 6; break; case CROSS_NOTE4: bunr = 7; break; case TRIAG_NOTE3: bunr = 8; break; case QUAD_NOTE2: bunr = 9; break; case OPEN_HIGH_HAT: bunr = 10; break; case CLOSED_HIGH_HAT: bunr = 11; break; case NORMAL_NOTE: bunr = 12; break; } for (i = 0; i < MAXBUTTONS; i++) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(drum_config_dialog->m_drum_buttons[i]), bunr == i); } if (GDK_IS_WINDOW(drum_config_dialog->m_preview->window)) { gdk_window_invalidate_rect (drum_config_dialog->m_preview->window, NULL, FALSE); } } } void NedDrumConfigDialog::OnSave (GtkButton *button, gpointer data) { FILE *fp; char *filename, *cptr; bool ok = false; bool extend = false; char the_filename[4096]; GtkWidget *error_dialog; GtkWidget *access_dialog; GtkWidget *save_dialog; struct d_info_str *dinfo_ptr; GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, "*.ntddrm (Nted-Drum-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.ntddrm"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); save_dialog = gtk_file_chooser_dialog_new (_("Save drum configuration"), //GTK_WINDOW(drum_config_dialog), NULL, GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(save_dialog), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(save_dialog), file_filter2); if (gtk_dialog_run (GTK_DIALOG (save_dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (save_dialog)); strcpy(the_filename, filename); g_free (filename); ok = true; } if (ok && gtk_file_chooser_get_filter((GTK_FILE_CHOOSER (save_dialog))) == file_filter1) { extend = true; if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".ntddrm")) { extend = false; } } if (extend) { strcat(the_filename, ".ntddrm"); } } gtk_widget_destroy (save_dialog); if (ok && access(the_filename, F_OK) == 0) { access_dialog = gtk_message_dialog_new (NULL, //GTK_WINDOW(drum_config_dialog), //(GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), (GtkDialogFlags) 0, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("File %s already exists. Overwrite ?"), the_filename); if (gtk_dialog_run (GTK_DIALOG (access_dialog)) != GTK_RESPONSE_YES) { ok = false; } gtk_widget_destroy (access_dialog); } if (ok) { if ((fp = fopen(the_filename, "w")) == NULL) { error_dialog = gtk_message_dialog_new (NULL, //GTK_WINDOW(drum_config_dialog), //(GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), (GtkDialogFlags) 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for writing"), the_filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); ok = false; } } if (ok) { fprintf(fp, "NTEDDRM version 1\n"); for (dinfo_ptr = current_dinfo; dinfo_ptr->name; dinfo_ptr++) { fprintf(fp, "%s\t%s\t%d\t", dinfo_ptr->name, dinfo_ptr->lily_short_name, dinfo_ptr->line); switch(dinfo_ptr->note_head) { case CROSS_NOTE1: fprintf(fp, "CROSS_NOTE1"); break; case CROSS_NOTE2: fprintf(fp, "CROSS_NOTE2"); break; case RECT_NOTE1: fprintf(fp, "RECT_NOTE1"); break; case RECT_NOTE2: fprintf(fp, "RECT_NOTE2"); break; case TRIAG_NOTE1: fprintf(fp, "TRIAG_NOTE1"); break; case TRIAG_NOTE2: fprintf(fp, "TRIAG_NOTE2"); break; case CROSS_NOTE3: fprintf(fp, "CROSS_NOTE3"); break; case CROSS_NOTE4: fprintf(fp, "CROSS_NOTE4"); break; case TRIAG_NOTE3: fprintf(fp, "TRIAG_NOTE3"); break; case QUAD_NOTE2: fprintf(fp, "QUAD_NOTE2"); break; case OPEN_HIGH_HAT: fprintf(fp, "OPEN_HIGH_HAT"); break; case CLOSED_HIGH_HAT: fprintf(fp, "CLOSED_HIGH_HAT"); break; default: fprintf(fp, "NORMAL_NOTE"); break; } fprintf(fp, "\t%d\n", dinfo_ptr->pitch); } fclose(fp); } } void NedDrumConfigDialog::OnLoad (GtkButton *button, gpointer data) { FILE *fp; GtkWidget *open_dialog; GtkWidget *error_dialog; int file_version; char *filename = NULL; char buffer[128]; bool ok = false; int i; struct d_info_str tab[getNumberOfDrumTabElements()], *dptr1, *dptr2; NedResource::m_error_message = NULL; NedResource::m_input_line = 1; open_dialog = gtk_file_chooser_dialog_new (_("Open drum configuration"), NULL, //GTK_WINDOW(main_window->m_main_window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, "*.ntddrm (Nted-Drum-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.ntddrm"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(open_dialog), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(open_dialog), file_filter2); if (gtk_dialog_run (GTK_DIALOG (open_dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (open_dialog)); ok = true; } gtk_widget_destroy (open_dialog); if (ok) { if ((fp = fopen(filename, "r")) == NULL) { error_dialog = gtk_message_dialog_new (NULL, //GTK_WINDOW(main_window->m_main_window), //(GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), (GtkDialogFlags) 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for reading"), filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); ok = FALSE; } } if (ok) { dptr1 = default_dinfo; dptr2 = tab; do { memcpy(dptr2, dptr1, sizeof(struct d_info_str)); if (dptr1->name) { dptr1++; dptr2++; } } while(dptr1->name); if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "NTEDDRM")) { NedResource::m_error_message = "NTEDDRM expected"; } if (NedResource::m_error_message == NULL) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "version")) { NedResource::m_error_message = "version expected"; } } if (NedResource::m_error_message == NULL) { if (!NedResource::readInt(fp, &file_version) || file_version < 1 || file_version > 1) { NedResource::m_error_message = "version number expected"; } } //NedResource::readTillEnd(fp, buffer); if (NedResource::m_error_message == NULL) { for (i = 0; i < getNumberOfDrumTabElements() - 1; i++) { if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "drum element name expected"; break; } if (strcmp(tab[i].name, buffer)) { NedResource::m_error_message = "drum name clash"; break; } if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "drum short element name expected"; break; } if (!NedResource::readInt(fp, &(tab[i].line)) || tab[i].line > 8 + MAX_DRUM_DEMO_LINE_OVER || tab[i].line < -MAX_DRUM_DEMO_LINE_OVER) { printf("tab[%d].line = %d, 8 + MAX_DRUM_DEMO_LINE_OVER = %d, -MAX_DRUM_DEMO_LINE_OVER = %d\n" , i, tab[i].line, 8 + MAX_DRUM_DEMO_LINE_OVER, -MAX_DRUM_DEMO_LINE_OVER); fflush(stdout); NedResource::m_error_message = "line expected"; break; } if (!NedResource::readWordWithNum(fp, buffer)) { NedResource::m_error_message = "drum symbol expected"; break; } if(!strcmp("CROSS_NOTE1", buffer)) { tab[i].note_head = CROSS_NOTE1; } else if(!strcmp("CROSS_NOTE2", buffer)) { tab[i].note_head = CROSS_NOTE2; } else if(!strcmp("RECT_NOTE1", buffer)) { tab[i].note_head = RECT_NOTE1; } else if(!strcmp("RECT_NOTE2", buffer)) { tab[i].note_head = RECT_NOTE2; } else if(!strcmp("TRIAG_NOTE1", buffer)) { tab[i].note_head = TRIAG_NOTE1; } else if(!strcmp("TRIAG_NOTE2", buffer)) { tab[i].note_head = TRIAG_NOTE2; } else if(!strcmp("CROSS_NOTE3", buffer)) { tab[i].note_head = CROSS_NOTE3; } else if(!strcmp("CROSS_NOTE4", buffer)) { tab[i].note_head = CROSS_NOTE4; } else if(!strcmp("TRIAG_NOTE3", buffer)) { tab[i].note_head = TRIAG_NOTE3; } else if(!strcmp("QUAD_NOTE2", buffer)) { tab[i].note_head = QUAD_NOTE2; } else if(!strcmp("OPEN_HIGH_HAT", buffer)) { tab[i].note_head = OPEN_HIGH_HAT; } else if(!strcmp("CLOSED_HIGH_HAT", buffer)) { tab[i].note_head = CLOSED_HIGH_HAT; } else if(!strcmp("NORMAL_NOTE", buffer)) { tab[i].note_head = NORMAL_NOTE; } else { NedResource::m_error_message = "drum symbol expected"; break; } NedResource::readTillEnd(fp, buffer); } } if (NedResource::m_error_message != NULL) { sprintf(buffer, "line: %d: %s", NedResource::m_input_line, NedResource::m_error_message); NedResource::Info(buffer); return; } for (dptr1 = current_dinfo, dptr2 = tab; dptr1->name; dptr1++, dptr2++) { dptr1->note_head = dptr2->note_head; dptr1->line = dptr2->line; } for (i = 0, dptr1 = current_dinfo; dptr1->name; dptr1++, i++) { NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; GtkTreeIter iter; if (!gtk_tree_model_get_iter (GTK_TREE_MODEL(drum_config_dialog->m_drum_elements_list_store), &iter, gtk_tree_path_new_from_indices (i, -1))) { printf("error getting iterator\n"); fflush(stdout); } gtk_list_store_set(drum_config_dialog->m_drum_elements_list_store, &iter, 0, i, 1, dptr1->name, 2, dptr1->lily_short_name, 3, dptr1->line, 4, selectDrumIcon(dptr1->note_head), 5, dptr1->pitch, -1); } } } void NedDrumConfigDialog::OnPlay (GtkButton *button, gpointer data) { NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; GtkTreeSelection* selection; GList *selected_rows; int *idxs; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(drum_config_dialog->m_drum_element_list)); selected_rows = gtk_tree_selection_get_selected_rows (selection, NULL); if ( g_list_length(selected_rows) > 0) { GtkTreePath *path = (GtkTreePath *) g_list_first(selected_rows)->data; idxs = gtk_tree_path_get_indices (path); NedResource::playImmediately(9, 0, 1, &(current_dinfo[idxs[0]].pitch), 64); } } void NedDrumConfigDialog::OnDefault (GtkButton *button, gpointer data) { int i; GtkTreeIter iter; struct d_info_str *dptr; NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; make_default_drums_current(); for (i = 0, dptr = current_dinfo; dptr->name; dptr++, i++) { if (!gtk_tree_model_get_iter (GTK_TREE_MODEL(drum_config_dialog->m_drum_elements_list_store), &iter, gtk_tree_path_new_from_indices (i, -1))) { printf("error getting iterator\n"); fflush(stdout); } gtk_list_store_set(drum_config_dialog->m_drum_elements_list_store, &iter, 0, i, 1, dptr->name, 2, dptr->lily_short_name, 3, dptr->line, 4, selectDrumIcon(dptr->note_head), 5, dptr->pitch, -1); } gdk_window_invalidate_rect (drum_config_dialog->m_preview->window, NULL, FALSE); } void NedDrumConfigDialog::OnChange (GtkButton *button, gpointer data) { NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; GtkTreeSelection* selection; GList *selected_rows; GtkTreeIter iter; GtkTreePath *path; int *idxs; struct d_info_str *dinfo_ptr; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(drum_config_dialog->m_drum_element_list)); selected_rows = gtk_tree_selection_get_selected_rows (selection, NULL); if ( g_list_length(selected_rows) > 0) { path = (GtkTreePath *) g_list_first(selected_rows)->data; idxs = gtk_tree_path_get_indices (path); dinfo_ptr = &(current_dinfo[idxs[0]]); dinfo_ptr->line = drum_config_dialog->m_line; dinfo_ptr->note_head = drum_config_dialog->m_type; if (gtk_tree_model_get_iter (GTK_TREE_MODEL(drum_config_dialog->m_drum_elements_list_store), &iter, path)) { gtk_list_store_set(drum_config_dialog->m_drum_elements_list_store, &iter, 0, idxs[0] , 1, dinfo_ptr->name, 2, dinfo_ptr->lily_short_name, 3, dinfo_ptr->line, 4, selectDrumIcon(dinfo_ptr->note_head), 5, dinfo_ptr->pitch, -1); } } } gboolean NedDrumConfigDialog::OnExpose(GtkWidget *widget, GdkEventExpose *event, gpointer data) { #define ZOOM_LEVEL 9 NedDrumConfigDialog *drum_config_dialog = (NedDrumConfigDialog *) data; cairo_scaled_font_t *scaled_font; cairo_glyph_t glyph; int i; cairo_t *cr; cr = gdk_cairo_create (drum_config_dialog->m_preview->window); cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); cairo_rectangle (cr, 0, 0, drum_config_dialog->m_preview->allocation.width, drum_config_dialog->m_preview->allocation.height); cairo_fill(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); scaled_font = NedResource::getScaledFont(ZOOM_LEVEL); #ifdef HAS_SET_SCALED_FONT cairo_set_scaled_font (cr, scaled_font); #else cairo_set_font_face(cr, NedResource::getFontFace()); cairo_set_font_matrix(cr, NedResource::getFontMatrix(ZOOM_LEVEL)); cairo_set_font_options(cr, NedResource::getFontOptions()); #endif cairo_new_path(cr); cairo_set_line_width(cr, DEMO_LINE_THICK); for (i = 0; i < 5; i++) { cairo_move_to(cr, DRUM_DEMO_LINE_BEGIN, DRUM_DEMO_LINE_YPOS + DEMO_LINE_DIST * i); cairo_line_to(cr, DRUM_DEMO_LINE_END, DRUM_DEMO_LINE_YPOS + DEMO_LINE_DIST * i); } for (i = 10; i <= drum_config_dialog->m_line; i += 2) { cairo_move_to(cr, DRUM_DEMO_NOTE_LINE_BEGIN, DRUM_DEMO_LINE_YPOS + 4 * DEMO_LINE_DIST - DEMO_LINE_DIST / 2.0 * i); cairo_line_to(cr, DRUM_DEMO_NOTE_LINE_END, DRUM_DEMO_LINE_YPOS + 4 * DEMO_LINE_DIST - DEMO_LINE_DIST / 2.0 * i); } for (i = -2; i >= drum_config_dialog->m_line; i -= 2) { cairo_move_to(cr, DRUM_DEMO_NOTE_LINE_BEGIN, DRUM_DEMO_LINE_YPOS + 4 * DEMO_LINE_DIST - DEMO_LINE_DIST / 2.0 * i); cairo_line_to(cr, DRUM_DEMO_NOTE_LINE_END, DRUM_DEMO_LINE_YPOS + 4 * DEMO_LINE_DIST - DEMO_LINE_DIST / 2.0 * i); } cairo_stroke(cr); cairo_new_path(cr); glyph.index = BASE + 4; switch (drum_config_dialog->m_type) { case CROSS_NOTE1: glyph.index = BASE + 21; break; case CROSS_NOTE2: glyph.index = BASE + 22; break; case RECT_NOTE1: glyph.index = BASE + 23; break; case RECT_NOTE2: glyph.index = BASE + 24; break; case TRIAG_NOTE1: glyph.index = BASE + 25; break; case TRIAG_NOTE2: glyph.index = BASE + 26; break; case OPEN_HIGH_HAT: case CLOSED_HIGH_HAT: case CROSS_NOTE3: glyph.index = BASE + 49; break; case CROSS_NOTE4: glyph.index = BASE + 50; break; case TRIAG_NOTE3: glyph.index = BASE + 51; break; case QUAD_NOTE2: glyph.index = BASE + 52; break; } glyph.x = DRUM_DEMO_XPOS; glyph.y = DRUM_DEMO_LINE_YPOS + 4 * DEMO_LINE_DIST - DEMO_LINE_DIST / 2.0 * drum_config_dialog->m_line; cairo_show_glyphs(cr, &glyph, 1); cairo_stroke(cr); if (drum_config_dialog->m_type == OPEN_HIGH_HAT || drum_config_dialog->m_type == CLOSED_HIGH_HAT) { int cline = drum_config_dialog->m_line > 7 ? drum_config_dialog->m_line + 3 : 8 + 3; cairo_new_path(cr); cairo_arc(cr, DRUM_DEMO_XPOS, DRUM_DEMO_LINE_YPOS + 4 * DEMO_LINE_DIST - DEMO_LINE_DIST / 2.0 * cline, DRUM_DEMO_O_HH_RAD, 0, 2.0 * M_PI); if (drum_config_dialog->m_type == CLOSED_HIGH_HAT) { cairo_move_to(cr, DRUM_DEMO_XPOS - DRUM_DEMO_C_HH_LEN, DRUM_DEMO_LINE_YPOS + 4 * DEMO_LINE_DIST - DEMO_LINE_DIST / 2.0 * cline + DRUM_DEMO_C_HH_LEN); cairo_line_to(cr, DRUM_DEMO_XPOS + DRUM_DEMO_C_HH_LEN, DRUM_DEMO_LINE_YPOS + 4 * DEMO_LINE_DIST - DEMO_LINE_DIST / 2.0 * cline - DRUM_DEMO_C_HH_LEN); } cairo_stroke(cr); } cairo_destroy (cr); return FALSE; } nted-1.10.18/dialogs/measureconfigdialog.h0000664001041000007640000000603711520267217015347 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef MEASURE_CONFIGDIALOG_H #define MEASURE_CONFIGDIALOG_H #include "config.h" #include #include class NedMeasureConfigDialog { public: NedMeasureConfigDialog(GtkWindow *parent, int measure_type, bool alter1, bool alter2, bool allow_alter, bool hide_following, int num, int denom, unsigned int sym); void getValues(bool *state, int *measure_type, bool *alter1, bool *alter2, bool *hide_following, bool *timsig_state, bool *delete_timesig, int *num, int *denom, unsigned int *sym); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static void OnTimesigToggeled (GtkToggleButton *togglebutton, gpointer data); static void OnCommButtonToggled(GtkToggleButton *togglebutton, gpointer data); static void OnCutButtonToggled(GtkToggleButton *togglebutton, gpointer data); static gboolean draw_measure_types(GtkWidget *widget, GdkEventExpose *event, gpointer data); static void previous_measure_type(GtkButton *button, gpointer user_data); static void next_measure_type(GtkButton *button, gpointer user_data); static void alter1_checked (GtkToggleButton *togglebutton, gpointer data); static void delete_time_sig_checked (GtkToggleButton *togglebutton, gpointer data); GtkWidget *m_measure_type_show_window; GtkWidget *m_meas_bu_up; GtkWidget *m_meas_bu_down; GtkWidget *m_alter1_check_box; GtkWidget *m_alter2_check_box; GtkWidget *m_hide_box; GtkWidget *m_numerator; GtkWidget *m_denominator; GtkWidget *m_com_time_bu; GtkWidget *m_cut_time_bu; GtkWidget *m_timsig_check_box; GtkWidget *m_delete_timsig_check_box; bool m_state; int m_measure_type; int m_original_type; int m_num, m_denom; unsigned int m_symbol; bool m_alter1; bool m_alter2; bool m_hide_following; bool m_allow_alter; bool m_timesig_state; bool m_delete_timesig; }; #endif /* MEASURE_CONFIGDIALOG_H */ nted-1.10.18/dialogs/signsdialog.h0000664001041000007640000000345211520267217013641 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef SIGNS_DIALOG_H #define SIGNS_DIALOG_H #include "config.h" #include #include class NedSignsDialog { public: NedSignsDialog(GtkWindow *parent); void getValues(bool *state, int *signtype); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static gboolean draw_menu(GtkWidget *widget, GdkEventExpose *event, gpointer data); static gboolean change_selection (GtkWidget *widget, GdkEventButton *event, gpointer data); bool m_state; int m_current_row, m_current_column; GdkGC *m_drawing_area_gc; GdkColor m_black, m_red; }; #endif /* SIGNS_DIALOG_H */ nted-1.10.18/dialogs/spacementdialog.h0000664001041000007640000000314711520267217014476 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef SPACEMENT_DIALOG_H #define SPACEMENT_DIALOG_H #include "config.h" #include class NedSpacementDialog { public: NedSpacementDialog(GtkWindow *parent, double spacement); void getValues(bool *state, double *spacement); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); GtkWidget *m_spacement_slider; bool m_state; double m_spacement; }; #endif /* SPACEMENT_DIALOG_H */ nted-1.10.18/dialogs/paperconfigdialog.h0000664001041000007640000000374311520267217015016 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef PAPER_CONFIG_DIALOG_H #define PAPER_CONFIG_DIALOG_H #include "config.h" #include #define DELETE_STAFF_CMD 12 class NedPaperConfigDialog { public: NedPaperConfigDialog(GtkWindow *parent, const char *current_paper, bool portrait, bool with_cancel); void getValues(bool *state, const char **paper, bool *portrait); private: static void CloseCallBack(GtkDialog *dialog, gint result, gpointer data); const char *m_paper; bool m_state; bool m_portrait; GtkWidget *m_radio_box_A5; GtkWidget *m_radio_box_A4; GtkWidget *m_radio_box_A3; GtkWidget *m_radio_box_B4; GtkWidget *m_radio_box_Letter; GtkWidget *m_radio_box_Legal; GtkWidget *m_radio_box_230x293; GtkWidget *m_radio_box_portrait; GtkWidget *m_radio_box_landspace; }; #endif /* PAPER_CONFIG_DIALOG_H */ nted-1.10.18/dialogs/Makefile.am0000775001041000007640000000452411520267217013225 00000000000000######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### AM_CPPFLAGS = $(FT2_CFLAGS) -I$(top_srcdir) $(CAIRO_CFLAGS) $(GTK_CFLAGS) $(X11_CFLAGS) noinst_LIBRARIES = libdialogs.a libdialogs_a_SOURCES = staffcontextdialog.cpp portchoosedialog.cpp paperconfigdialog.cpp \ printconfigdialog.cpp tupletdialog.cpp insertblockdialog.cpp measureconfigdialog.cpp \ keysigdialog.cpp scoreinfodialog.cpp clefconfigdialog.cpp volumedialog.cpp \ tempodialog.cpp mutedialog.cpp linesdialog.cpp signsdialog.cpp textdialog.cpp \ lilypondexportdialog.cpp staffselectdialog.cpp spacementdialog.cpp selectordialog.cpp \ tools.cpp scaledialog.cpp chordnamedialog.cpp midiimportdialog.cpp \ midirecordconfigdialog.cpp druminfo.cpp drumconfigdialog.cpp lyricseditor.cpp libdialogs_a_SOURCES += clefconfigdialog.h insertblockdialog.h keysigdialog.h linesdialog.h measureconfigdialog.h \ mutedialog.h paperconfigdialog.h portchoosedialog.h printconfigdialog.h scoreinfodialog.h signsdialog.h \ staffcontextdialog.h tempodialog.h textdialog.h tupletdialog.h volumedialog.h lilypondexportdialog.h staffselectdialog.h \ spacementdialog.h selectordialog.h tools.h scaledialog.h chordnamedialog.h midiimportdialog.h \ midirecordconfigdialog.h druminfo.h drumconfigdialog.h lyricseditor.h nted-1.10.18/dialogs/staffselectdialog.cpp0000664001041000007640000001523411520267217015355 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "staffselectdialog.h" #include "mainwindow.h" #include "localization.h" #include "pangocairotext.h" #include "resource.h" NedStaffSelectDialog::NedStaffSelectDialog(GtkWindow *parent, const char *title, NedMainWindow *main_window, bool *selected_staves) : m_main_window(main_window), m_selected_staves(selected_staves) { GtkWidget *dialog; GtkTreeIter iter; GtkListStore *position_list_store; GtkCellRenderer *position_renderer; GtkTreeViewColumn *position_column; GtkTreeViewColumn *position_num_column; GtkObject *position_adjustment; GtkWidget *position_scroll = NULL; GtkWidget *hbox; GtkWidget *button_h_box; GtkWidget *main_vbox; GtkWidget *all_button; GtkWidget *none_button; int i; dialog = gtk_dialog_new_with_buttons(title, parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); position_list_store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT); for (i = 0; i < main_window->getStaffCount(); i++) { gtk_list_store_append (position_list_store, &iter); if (main_window->m_staff_contexts[i].m_staff_name != NULL && strlen(main_window->m_staff_contexts[i].m_staff_name->getText()) > 0) { gtk_list_store_set (position_list_store, &iter, 0, main_window->m_staff_contexts[i].m_staff_name->getText() , 1, i, -1); } else { gtk_list_store_set (position_list_store, &iter, 0, _("staff") , 1, i, -1); } } m_position_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(position_list_store)); m_tree_selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(m_position_list)); gtk_tree_selection_set_mode(m_tree_selection, GTK_SELECTION_MULTIPLE); position_renderer = gtk_cell_renderer_text_new (); position_column = gtk_tree_view_column_new_with_attributes (_("item"), position_renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_position_list), position_column); position_num_column = gtk_tree_view_column_new_with_attributes (_("no"), position_renderer, "text", 1, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_position_list), position_num_column); position_adjustment = gtk_adjustment_new (0.0, 0.0, 4, 1.0, 10.0, 10.0); position_scroll = gtk_vscrollbar_new(GTK_ADJUSTMENT(position_adjustment)); gtk_tree_view_set_vadjustment (GTK_TREE_VIEW (m_position_list), GTK_ADJUSTMENT(position_adjustment)); gtk_widget_set_size_request(m_position_list, 150, 200); all_button = gtk_button_new_with_label(_("All")); g_signal_connect(all_button, "pressed", G_CALLBACK(OnAll), (void *) this); none_button = gtk_button_new_with_label(_("None")); g_signal_connect(none_button, "pressed", G_CALLBACK(OnNone), (void *) this); button_h_box = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(button_h_box), all_button, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(button_h_box), none_button, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(hbox), m_position_list, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hbox), position_scroll, FALSE, TRUE, 0); main_vbox = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(main_vbox), hbox, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(main_vbox), button_h_box, FALSE, TRUE, 0); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), main_vbox); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedStaffSelectDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { GList *selected_rows; int i; NedStaffSelectDialog *selection_dialog = (NedStaffSelectDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: selection_dialog->m_state = TRUE; selected_rows = gtk_tree_selection_get_selected_rows (selection_dialog->m_tree_selection, NULL); if (g_list_length(selected_rows) > 0) { for (i = 0; i < selection_dialog->m_main_window->getStaffCount(); selection_dialog->m_selected_staves[i++] = false); gtk_tree_selection_selected_foreach (selection_dialog->m_tree_selection, add_staff, data); } else { selection_dialog->m_state = FALSE; } break; default: selection_dialog->m_state = FALSE; break; } gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedStaffSelectDialog::getValues(bool *state) { *state = m_state; } void NedStaffSelectDialog::add_staff(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) { NedStaffSelectDialog *selection_dialog = (NedStaffSelectDialog *) data; int sel_num; char *tp = gtk_tree_path_to_string(path); if (sscanf(tp, "%d", &sel_num) != 1) { NedResource::Abort("NedStaffSelectDialog::add_staff: error reading tree path(1)"); } if (sel_num < 0 || sel_num >= selection_dialog->m_main_window->getStaffCount()) { NedResource::Abort("NedStaffSelectDialog::add_staff(2)"); } selection_dialog->m_selected_staves[sel_num] = true; } void NedStaffSelectDialog::OnAll(GtkButton *button, gpointer data) { NedStaffSelectDialog *selection_dialog = (NedStaffSelectDialog *) data; int i; gtk_tree_selection_select_all(selection_dialog->m_tree_selection); for (i = 0; i < selection_dialog->m_main_window->getStaffCount(); selection_dialog->m_selected_staves[i++] = true); } void NedStaffSelectDialog::OnNone(GtkButton *button, gpointer data) { NedStaffSelectDialog *selection_dialog = (NedStaffSelectDialog *) data; int i; gtk_tree_selection_unselect_all(selection_dialog->m_tree_selection); for (i = 0; i < selection_dialog->m_main_window->getStaffCount(); selection_dialog->m_selected_staves[i++] = false); } nted-1.10.18/dialogs/scaledialog.h0000664001041000007640000000307211520267217013603 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef SCALE_DIALOG_H #define SCALE_DIALOG_H #include "config.h" #include class NedScaleDialog { public: NedScaleDialog(GtkWindow *parent, int scale); void getValues(bool *state, int *scale); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); GtkWidget *m_scale_slider; bool m_state; int m_scale; }; #endif /* SCALE_DIALOG_H */ nted-1.10.18/dialogs/staffcontextdialog.cpp0000664001041000007640000014311311520267217015560 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "staffcontextdialog.h" #include "pangocairotext.h" #include "mainwindow.h" #include "localization.h" #define CLEF_SHOW_WINDOW_WIDTH 90 #define CLEF_SHOW_WINDOW_HEIGHT 100 char *NedStaffContextDialog::m_keyTab[] = { _("G flat Major; e flat minor"), _("D flat Major; b flat minor"), _("A flat Major; f minor"), _("E flat Major; c minor"), _("B flat Major; g minor"), _("F Major; d minor"), _("C Major; a minor"), _("G Major; e minor"), _("D Major; b minor"), _("A Major; f sharp minor"), _("E Major; c sharp minor"), _("B Major; g sharp minor"), _("F sharp Major; d sharp minor") }; NedStaffContextDialog::NedStaffContextDialog(GtkWindow *parent, NedMainWindow *main_window, bool different_voices, bool allow_delete_system, int staff_count, int staff_pos, char *staff_name, char *staff_short_name, char *group_name, char* group_short_name, int clef_number, int octave_shift, int key_signature_number, int numerator, int demoninator, unsigned int symbol, int volume[VOICE_COUNT], int midi_program[VOICE_COUNT], int channel, int tempo, int pan[VOICE_COUNT], int chorus, int play_transposed, int reverb, bool muted[VOICE_COUNT]) : m_different_voices(different_voices), m_octave_shift(octave_shift), m_tempo(tempo), m_chorus(chorus), m_play_transposed(play_transposed), m_reverb(reverb), m_channel_value(channel), m_state(false), m_numerator_value(numerator), m_denominator_value(demoninator), m_symbol(symbol), m_key_signature_number(key_signature_number), m_current_clef(clef_number), m_config_changed(false), m_delete_staff(false), m_staff_pos(staff_pos), m_staff_count(staff_count), m_staff_name(staff_name), m_staff_short_name(staff_short_name), m_group_name(group_name), m_group_short_name(group_short_name) { GtkWidget *dialog; GtkWidget *label_score; GtkWidget *label_midi; GtkWidget *label_position; GtkWidget *score_hbox; GtkWidget *midi_hbox; GtkWidget *position_hbox; GtkWidget *clef_hbox; GtkWidget *clef_buttons_vbox; GtkWidget *clef_frame; GtkWidget *key_frame; GtkWidget *key_frame_left_vbox; GtkWidget *key_frame_right_vbox; GtkWidget *radio_hbox; GtkWidget *time_signature_frame; GtkWidget *numerator_label; GtkWidget *denominator_label; GtkWidget *octave_shift_label; GtkWidget *octave_shift_vbox; GtkWidget *time_signature_vbox; GtkWidget *time_signature_upper_hbox; GtkWidget *time_signature_lower_hbox; GtkWidget *volume_frame; GtkWidget *tempo_frame; GtkWidget *pan_frame; GtkWidget *chorus_frame; GtkWidget *play_transposed_frame; GtkWidget *reverb_frame; GtkWidget *instrument_scroll; GtkListStore *instrumend_list_store; GtkTreeIter iter; GtkCellRenderer *instrument_renderer; GtkTreeViewColumn *instrument_column; GtkTreeViewColumn *instrument_num_column; GtkWidget *channel_frame; GtkWidget *mute_channel_vbox; GtkWidget *mute_frame; GtkWidget *mute_vbox; GtkWidget *mute_hbox1; GtkWidget *mute_hbox2; GtkWidget *voices_frame; GtkWidget *vrb_vbox; GtkWidget *vrb_hbox1; GtkWidget *vrb_hbox2; GdkColor bgcolor; GtkListStore *position_list_store; GtkCellRenderer *position_renderer; GtkTreeViewColumn *position_column; GtkTreeViewColumn *position_num_column; GtkTreePath *position_tree_path; GtkObject *position_adjustment; GtkWidget *position_scroll = NULL; GtkWidget *staff_name_frame; GtkWidget *staff_short_name_frame; GtkWidget *signature_name_vbox; GtkWidget *group_name_frame; GtkWidget *group_short_name_frame; GtkWidget *group_name_vbox; bool all_muted; int i; char Str[128]; for (i = 0; i < VOICE_COUNT; i++) { m_midi_program_number[i] = midi_program[i]; m_pan[i] = pan[i]; m_volume[i] = volume[i]; m_muted[i] = muted[i]; } m_newclef = m_current_clef; dialog = gtk_dialog_new_with_buttons(_("Staff context"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); if (staff_count > 1) { gtk_dialog_add_button(GTK_DIALOG(dialog), "delete-staff", DELETE_STAFF_CMD); } if (allow_delete_system) { gtk_dialog_add_button(GTK_DIALOG(dialog), "delete-system", DELETE_SYSTEM_CMD); } g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); clef_frame = gtk_frame_new(_("clef")); m_clef_show_window = gtk_drawing_area_new (); bgcolor.pixel = 1; bgcolor.red = bgcolor.green = bgcolor.blue = 0xffff; gtk_widget_modify_bg(GTK_WIDGET(m_clef_show_window), GTK_STATE_NORMAL, &bgcolor); gtk_drawing_area_size(GTK_DRAWING_AREA(m_clef_show_window), CLEF_SHOW_WINDOW_WIDTH, CLEF_SHOW_WINDOW_HEIGHT); clef_hbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(clef_hbox), m_clef_show_window, FALSE, FALSE, 0); clef_buttons_vbox = gtk_vbox_new(FALSE, 2); m_clef_bu_up = gtk_button_new_from_stock("my-arrow-up-icon"); g_signal_connect (m_clef_bu_up, "pressed", G_CALLBACK(decrease_clef_number), (void *) this); m_clef_bu_down = gtk_button_new_from_stock ("my-arrow-down-icon"); g_signal_connect (m_clef_bu_down, "pressed", G_CALLBACK(increase_clef_number), (void *) this); gtk_box_pack_start(GTK_BOX(clef_buttons_vbox), m_clef_bu_up, FALSE, FALSE, 0); gtk_box_pack_end(GTK_BOX(clef_buttons_vbox), m_clef_bu_down, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(clef_hbox), clef_buttons_vbox, FALSE, FALSE, 0); octave_shift_vbox = gtk_vbox_new(FALSE, 2); switch (m_octave_shift) { case 12: m_octave_shift = 8; break; case -12: m_octave_shift = -8; break; } m_octave_shift_spin_box = gtk_spin_button_new_with_range(-8.0, 8.0, 8.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_octave_shift_spin_box), m_octave_shift); octave_shift_label = gtk_label_new(_("Octave shift:")); gtk_box_pack_start (GTK_BOX (octave_shift_vbox), octave_shift_label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (octave_shift_vbox), m_octave_shift_spin_box, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(clef_hbox), octave_shift_vbox, FALSE, FALSE, 0); g_signal_connect (m_octave_shift_spin_box, "value-changed", G_CALLBACK (octave_shift_change), (void *) this); m_adjust_check_box = gtk_check_button_new_with_label(_("adjust notes")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_adjust_check_box), TRUE); gtk_box_pack_start (GTK_BOX (octave_shift_vbox), m_adjust_check_box, FALSE, FALSE, 0); if (m_newclef == MINCLEF_NUMBER) { gtk_widget_set_sensitive(m_clef_bu_up, FALSE); } if (m_newclef == MAXCLEF_NUMBER) { gtk_widget_set_sensitive(m_clef_bu_down, FALSE); } gtk_container_add (GTK_CONTAINER(clef_frame), clef_hbox); g_signal_connect (m_clef_show_window, "expose-event", G_CALLBACK (draw_clefs), (void *) this); key_frame = gtk_frame_new(_("key")); radio_hbox = gtk_hbox_new(FALSE, 2); key_frame_left_vbox = gtk_vbox_new(FALSE, 2); key_frame_right_vbox = gtk_vbox_new(FALSE, 2); m_sig_radio_buttons[0] = gtk_radio_button_new_with_label (NULL, gettext(m_keyTab[0])); gtk_box_pack_start (GTK_BOX (key_frame_left_vbox), m_sig_radio_buttons[0], FALSE, FALSE, 0); for (i = -5; i < 7; i++) { m_sig_radio_buttons[i+6] = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_sig_radio_buttons[0]), gettext(m_keyTab[i+6])); if (i < 0) { gtk_box_pack_start (GTK_BOX (key_frame_left_vbox), m_sig_radio_buttons[i+6], FALSE, FALSE, 0); } else { gtk_box_pack_start (GTK_BOX (key_frame_right_vbox), m_sig_radio_buttons[i+6], FALSE, FALSE, 0); } } gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (m_sig_radio_buttons[m_key_signature_number+6]), TRUE); gtk_box_pack_start (GTK_BOX (radio_hbox), key_frame_left_vbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (radio_hbox), key_frame_right_vbox, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(key_frame), radio_hbox); time_signature_frame = gtk_frame_new(_("time signature")); time_signature_vbox = gtk_vbox_new(FALSE, 5); time_signature_upper_hbox = gtk_hbox_new(FALSE, 5); time_signature_lower_hbox = gtk_hbox_new(FALSE, 5); numerator_label = gtk_label_new(_("Numerator:")); denominator_label = gtk_label_new(_("Denominator:")); m_numerator = gtk_spin_button_new_with_range (1.0, 20.0, 1.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_numerator), m_numerator_value); m_denominator = gtk_combo_box_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(m_denominator), "2"); gtk_combo_box_append_text(GTK_COMBO_BOX(m_denominator), "4"); gtk_combo_box_append_text(GTK_COMBO_BOX(m_denominator), "8"); gtk_combo_box_append_text(GTK_COMBO_BOX(m_denominator), "16"); if (m_denominator_value < 4) { gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 0); } else if (m_denominator_value < 8) { gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 1); } else if (m_denominator_value < 16) { gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 2); } else { gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 3); } m_com_time_bu = gtk_toggle_button_new(); gtk_button_set_image(GTK_BUTTON(m_com_time_bu), gtk_image_new_from_stock("comm-icon", GTK_ICON_SIZE_SMALL_TOOLBAR)); m_cut_time_bu = gtk_toggle_button_new(); gtk_button_set_image(GTK_BUTTON(m_cut_time_bu), gtk_image_new_from_stock("cut-icon", GTK_ICON_SIZE_SMALL_TOOLBAR)); g_signal_connect(m_com_time_bu, "toggled", G_CALLBACK (OnCommButtonToggled), (void *) this); g_signal_connect(m_cut_time_bu, "toggled", G_CALLBACK (OnCutButtonToggled), (void *) this); switch (symbol) { case TIME_SYMBOL_COMMON_TIME: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_com_time_bu), TRUE); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_numerator), 4); gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 1); gtk_widget_set_sensitive(m_numerator, FALSE); gtk_widget_set_sensitive(m_denominator, FALSE); break; case TIME_SYMBOL_CUT_TIME: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_cut_time_bu), TRUE); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_numerator), 2); gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 0); gtk_widget_set_sensitive(m_numerator, FALSE); gtk_widget_set_sensitive(m_denominator, FALSE); break; } staff_name_frame = gtk_frame_new(_("staff name")); m_staffname = gtk_entry_new_with_max_length(50); if (m_staff_name != NULL) { gtk_entry_set_text(GTK_ENTRY(m_staffname), m_staff_name); } gtk_container_add (GTK_CONTAINER(staff_name_frame), m_staffname); staff_short_name_frame = gtk_frame_new(_("staff short name")); m_staffshortname = gtk_entry_new_with_max_length(50); if (m_staff_short_name != NULL) { gtk_entry_set_text(GTK_ENTRY(m_staffshortname), m_staff_short_name); } gtk_container_add (GTK_CONTAINER(staff_short_name_frame), m_staffshortname); group_name_frame = gtk_frame_new(_("group name")); m_groupname = gtk_entry_new_with_max_length(50); if (m_group_name != NULL) { gtk_entry_set_text(GTK_ENTRY(m_groupname), m_group_name); } gtk_container_add (GTK_CONTAINER(group_name_frame), m_groupname); group_short_name_frame = gtk_frame_new(_("group short name")); m_groupshortname = gtk_entry_new_with_max_length(50); if (m_group_short_name != NULL) { gtk_entry_set_text(GTK_ENTRY(m_groupshortname), m_group_short_name); } gtk_container_add (GTK_CONTAINER(group_short_name_frame), m_groupshortname); tempo_frame = gtk_frame_new(_("tempo")); m_tempo_scale = gtk_vscale_new_with_range(20.0, 300.0, 1.0); gtk_range_set_inverted(GTK_RANGE(m_tempo_scale), TRUE); gtk_range_set_value(GTK_RANGE(m_tempo_scale), m_tempo); gtk_container_add (GTK_CONTAINER(tempo_frame), m_tempo_scale); chorus_frame = gtk_frame_new(_("chorus")); m_chorus_scale = gtk_vscale_new_with_range(20.0, 127.0, 1.0); gtk_range_set_inverted(GTK_RANGE(m_chorus_scale), TRUE); gtk_range_set_value(GTK_RANGE(m_chorus_scale), m_chorus); gtk_container_add (GTK_CONTAINER(chorus_frame), m_chorus_scale); play_transposed_frame = gtk_frame_new(_("transp.")); m_play_transposed_scale = gtk_vscale_new_with_range(-24.0, 24.0, 1.0); gtk_range_set_inverted(GTK_RANGE(m_play_transposed_scale), TRUE); gtk_range_set_value(GTK_RANGE(m_play_transposed_scale), m_play_transposed); gtk_container_add (GTK_CONTAINER(play_transposed_frame), m_play_transposed_scale); reverb_frame = gtk_frame_new(_("reverb")); m_reverb_scale = gtk_vscale_new_with_range(20.0, 127.0, 1.0); gtk_range_set_inverted(GTK_RANGE(m_reverb_scale), TRUE); gtk_range_set_value(GTK_RANGE(m_reverb_scale), m_reverb); gtk_container_add (GTK_CONTAINER(reverb_frame), m_reverb_scale); volume_frame = gtk_frame_new(_("volume")); // see also NedStaffContextDialog::SetCurrentVoiceParamsTo m_volume_scale = gtk_vscale_new_with_range(0.0, 127.0, 1.0); gtk_range_set_inverted(GTK_RANGE(m_volume_scale), TRUE); gtk_container_add (GTK_CONTAINER(volume_frame), m_volume_scale); pan_frame = gtk_frame_new(_("pan")); m_pan_scale = gtk_vscale_new_with_range(20.0, 127.0, 1.0); gtk_range_set_inverted(GTK_RANGE(m_pan_scale), TRUE); // see also NedStaffContextDialog::SetCurrentVoiceParamsTo gtk_container_add (GTK_CONTAINER(pan_frame), m_pan_scale); instrumend_list_store = gtk_list_store_new (2, G_TYPE_INT, G_TYPE_STRING); for (i = 0; i < NedResource::getNumInstruments(); i++) { gtk_list_store_append (instrumend_list_store, &iter); gtk_list_store_set (instrumend_list_store, &iter, 0, i, 1, gettext(NedResource::GM_Instruments[i]), -1); } m_instrument_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(instrumend_list_store)); instrument_renderer = gtk_cell_renderer_text_new (); instrument_num_column = gtk_tree_view_column_new_with_attributes (_("no"), instrument_renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_instrument_list), instrument_num_column); instrument_column = gtk_tree_view_column_new_with_attributes (_("instruments"), instrument_renderer, "text", 1, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_instrument_list), instrument_column); m_instrument_adjustment = gtk_adjustment_new (0.0, 0.0, NedResource::getNumInstruments(), 1.0, 10.0, 10.0); instrument_scroll = gtk_vscrollbar_new(GTK_ADJUSTMENT(m_instrument_adjustment)); gtk_tree_view_set_vadjustment (GTK_TREE_VIEW (m_instrument_list), GTK_ADJUSTMENT(m_instrument_adjustment)); gtk_widget_set_size_request(m_instrument_list, 150, 100); g_signal_connect(dialog, "scroll-event", G_CALLBACK (OnScroll), (void *) this); // see also NedStaffContextDialog::SetCurrentVoiceParamsTo channel_frame = gtk_frame_new(_("channel")); m_channel_spin_box = gtk_spin_button_new_with_range (1.0, 16.0, 1.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_channel_spin_box), m_channel_value + 1); gtk_container_add (GTK_CONTAINER(channel_frame), m_channel_spin_box); mute_frame = gtk_frame_new(_("muting")); m_mute_all_check = gtk_check_button_new_with_label (_("all")); m_mute_1_check = gtk_check_button_new_with_label ("1"); m_mute_2_check = gtk_check_button_new_with_label ("2"); m_mute_3_check = gtk_check_button_new_with_label ("3"); m_mute_4_check = gtk_check_button_new_with_label ("4"); mute_vbox = gtk_vbox_new (FALSE, 0); mute_hbox1 = gtk_hbox_new (FALSE, 0); mute_hbox2 = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (mute_vbox), m_mute_all_check, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (mute_hbox1), m_mute_1_check, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (mute_hbox1), m_mute_2_check, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (mute_hbox2), m_mute_3_check, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (mute_hbox2), m_mute_4_check, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (mute_vbox), mute_hbox1, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (mute_vbox), mute_hbox2, FALSE, FALSE, 0); all_muted = true; for (i = 0; i < VOICE_COUNT; i++) { if (!muted[i]) all_muted = false; } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_mute_all_check), all_muted); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_mute_1_check), muted[0]); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_mute_2_check), muted[1]); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_mute_3_check), muted[2]); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_mute_4_check), muted[3]); gtk_container_add(GTK_CONTAINER(mute_frame), mute_vbox); voices_frame = gtk_frame_new(_("voices")); m_radio_all = gtk_radio_button_new_with_label(NULL, _("all")); g_signal_connect(m_mute_all_check, "toggled", G_CALLBACK (OnAllMutedToggle), (void *) this); m_handlrs[0] = g_signal_connect(m_mute_1_check, "toggled", G_CALLBACK (OnSingleMutedToggle), (void *) this); m_handlrs[1] = g_signal_connect(m_mute_2_check, "toggled", G_CALLBACK (OnSingleMutedToggle), (void *) this); m_handlrs[2] = g_signal_connect(m_mute_3_check, "toggled", G_CALLBACK (OnSingleMutedToggle), (void *) this); m_handlrs[3] = g_signal_connect(m_mute_4_check, "toggled", G_CALLBACK (OnSingleMutedToggle), (void *) this); m_radio_1 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (m_radio_all), "1"); m_radio_2 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (m_radio_all), "2"); m_radio_3 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (m_radio_all), "3"); m_radio_4 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (m_radio_all), "4"); if (different_voices) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_radio_1), TRUE); SetCurrentVoiceParamsTo(0); m_current_voice = 0; } else { SetCurrentVoiceParamsTo(-1); m_current_voice = -1; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_radio_all), TRUE); } g_signal_connect(m_radio_all, "toggled", G_CALLBACK (OnVoiceToggle), (void *) this); g_signal_connect(m_radio_1, "toggled", G_CALLBACK (OnVoiceToggle), (void *) this); g_signal_connect(m_radio_2, "toggled", G_CALLBACK (OnVoiceToggle), (void *) this); g_signal_connect(m_radio_3, "toggled", G_CALLBACK (OnVoiceToggle), (void *) this); g_signal_connect(m_radio_4, "toggled", G_CALLBACK (OnVoiceToggle), (void *) this); vrb_vbox = gtk_vbox_new (FALSE, 0); vrb_hbox1 = gtk_hbox_new (FALSE, 0); vrb_hbox2 = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vrb_vbox), m_radio_all, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vrb_hbox1), m_radio_1, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vrb_hbox1), m_radio_2, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vrb_hbox2), m_radio_3, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vrb_hbox2), m_radio_4, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vrb_vbox), vrb_hbox1, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vrb_vbox), vrb_hbox2, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(voices_frame), vrb_vbox); mute_channel_vbox = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(mute_channel_vbox), channel_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(mute_channel_vbox), mute_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(mute_channel_vbox), voices_frame, FALSE, FALSE, 0); if (staff_count > 1) { position_list_store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT); for (i = 0; i < staff_count; i++) { gtk_list_store_append (position_list_store, &iter); if (main_window->m_staff_contexts[i].m_staff_name != NULL && strlen(main_window->m_staff_contexts[i].m_staff_name->getText()) > 0) { gtk_list_store_set (position_list_store, &iter, 0, main_window->m_staff_contexts[i].m_staff_name->getText() , 1, i, -1); } else { gtk_list_store_set (position_list_store, &iter, 0, _("staff") , 1, i, -1); } } m_position_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(position_list_store)); position_renderer = gtk_cell_renderer_text_new (); position_column = gtk_tree_view_column_new_with_attributes (_("item"), position_renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_position_list), position_column); position_num_column = gtk_tree_view_column_new_with_attributes (_("no"), position_renderer, "text", 1, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_position_list), position_num_column); position_adjustment = gtk_adjustment_new (0.0, 0.0, 4, 1.0, 10.0, 10.0); position_scroll = gtk_vscrollbar_new(GTK_ADJUSTMENT(position_adjustment)); gtk_tree_view_set_vadjustment (GTK_TREE_VIEW (m_position_list), GTK_ADJUSTMENT(position_adjustment)); gtk_widget_set_size_request(m_position_list, 150, 100); sprintf(Str, "%d", staff_pos); position_tree_path = gtk_tree_path_new_from_string(Str); gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW (m_position_list), position_tree_path, NULL, FALSE, 0.0, 0.0); gtk_tree_view_set_cursor(GTK_TREE_VIEW (m_position_list), position_tree_path, NULL, FALSE); } gtk_box_pack_start (GTK_BOX (time_signature_upper_hbox), numerator_label, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX (time_signature_upper_hbox), m_com_time_bu, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX (time_signature_upper_hbox), m_numerator, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (time_signature_lower_hbox), denominator_label, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX (time_signature_lower_hbox), m_cut_time_bu, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX (time_signature_lower_hbox), m_denominator, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (time_signature_vbox), time_signature_upper_hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (time_signature_vbox), time_signature_lower_hbox, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(time_signature_frame), time_signature_vbox); signature_name_vbox = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(signature_name_vbox), time_signature_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(signature_name_vbox), staff_name_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(signature_name_vbox), staff_short_name_frame, FALSE, FALSE, 0); group_name_vbox = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(group_name_vbox), group_name_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(group_name_vbox), group_short_name_frame, FALSE, FALSE, 0); score_hbox = gtk_hbox_new(FALSE, 2); midi_hbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(score_hbox), clef_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(score_hbox), key_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(score_hbox), signature_name_vbox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(score_hbox), group_name_vbox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(midi_hbox), tempo_frame, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(midi_hbox), chorus_frame, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(midi_hbox), reverb_frame, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(midi_hbox), play_transposed_frame, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(midi_hbox), volume_frame, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(midi_hbox), pan_frame, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(midi_hbox), m_instrument_list, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(midi_hbox), instrument_scroll, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(midi_hbox), mute_channel_vbox, FALSE, TRUE, 0); label_score = gtk_label_new(_("Score")); label_midi = gtk_label_new(_("MIDI")); m_table = gtk_notebook_new(); gtk_notebook_append_page (GTK_NOTEBOOK(m_table), score_hbox, label_score); gtk_notebook_append_page (GTK_NOTEBOOK(m_table), midi_hbox, label_midi); if (staff_count > 1) { position_hbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(position_hbox), m_position_list, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(position_hbox), position_scroll, FALSE, TRUE, 0); label_position = gtk_label_new(_("Staff position")); gtk_notebook_append_page (GTK_NOTEBOOK(m_table), position_hbox, label_position); } gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), m_table); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedStaffContextDialog::SetCurrentVoiceParamsTo(int voice) { int idx = 0; char Str[128]; GtkTreePath* instrument_tree_path; switch (voice) { case -1: case 0: idx = 0; break; case 1: idx = 1; break; case 2: idx = 2; break; case 3: idx = 3; break; default: NedResource::Abort("NedStaffContextDialog::SetCurrentVoiceParamsTo"); } gtk_range_set_value(GTK_RANGE(m_volume_scale), m_volume[idx]); gtk_range_set_value(GTK_RANGE(m_pan_scale), m_pan[idx]); sprintf(Str, "%d", m_midi_program_number[idx]); instrument_tree_path = gtk_tree_path_new_from_string(Str); gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW (m_instrument_list), instrument_tree_path, NULL, FALSE, 0.0, 0.0); gtk_tree_view_set_cursor(GTK_TREE_VIEW (m_instrument_list), instrument_tree_path, NULL, FALSE); } void NedStaffContextDialog::GetCurrentVoiceParamsFrom(int voice, int volume[VOICE_COUNT], int pan[VOICE_COUNT], int instrument[VOICE_COUNT], bool *changed) { int idx = 0; GtkTreeSelection* selection; GList *selected_rows; int newvolume, newpan, newpgm; switch (voice) { case -1: case 0: idx = 0; break; case 1: idx = 1; break; case 2: idx = 2; break; case 3: idx = 3; break; default: NedResource::Abort("NedStaffContextDialog::GetCurrentVoiceParamsFRom"); } newvolume = (int) gtk_range_get_value(GTK_RANGE(m_volume_scale)); if (newvolume != volume[idx]) { volume[idx] = newvolume; *changed = TRUE; } newpan = (int) gtk_range_get_value(GTK_RANGE(m_pan_scale)); if (newpan != pan[idx]) { pan[idx] = newpan; *changed = TRUE; } selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(m_instrument_list)); selected_rows = gtk_tree_selection_get_selected_rows (selection, NULL); if ( g_list_length(selected_rows) > 0) { GtkTreePath *path = (GtkTreePath *) g_list_first(selected_rows)->data; char *tp = gtk_tree_path_to_string(path); if (sscanf(tp, "%d", &(newpgm)) != 1) { NedResource::Abort("NedStaffContextDialog::OnClose: error reading tree path(1)"); } } else { newpgm = -1; } if (instrument[idx] != newpgm) { instrument[idx] = newpgm; *changed = true; } } void NedStaffContextDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { int i; bool newmute; int newchannel; int newnum, newdenom, newkeysig, newtempo; int newchorus, newplaytransposed, newreverb, new_octave_shift; const char *newname, *newshortname; const char *newgroupname, *newshortgroupname; bool diff, newdifferentvoices; GtkTreeSelection* selection; GList *selected_rows; NedStaffContextDialog *context_dialog = (NedStaffContextDialog *) data; context_dialog->m_delete_staff = FALSE; context_dialog->m_delete_system = FALSE; switch (result) { case GTK_RESPONSE_ACCEPT: context_dialog->m_state = TRUE; break; case DELETE_STAFF_CMD: context_dialog->m_delete_staff = TRUE; context_dialog->m_state = FALSE; break; case DELETE_SYSTEM_CMD: context_dialog->m_delete_system = TRUE; context_dialog->m_state = FALSE; break; default: context_dialog->m_state = FALSE; break; } newkeysig = 0; context_dialog->m_key_signature_number = 0; for (i = 0; i < 13; i++) { if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (context_dialog->m_sig_radio_buttons[i]))) { newkeysig = i - 6; } } if (newkeysig != context_dialog->m_key_signature_number) { context_dialog->m_key_signature_number = newkeysig; context_dialog->m_config_changed = TRUE; } newnum = (int) gtk_spin_button_get_value(GTK_SPIN_BUTTON(context_dialog->m_numerator)); if (newnum != context_dialog->m_numerator_value) { context_dialog->m_numerator_value = newnum; context_dialog->m_config_changed = TRUE; } switch (gtk_combo_box_get_active(GTK_COMBO_BOX(context_dialog->m_denominator))) { case 0: newdenom = 2; break; case 1: newdenom = 4; break; case 2: newdenom = 8; break; default: newdenom = 16; break; } if (newdenom != context_dialog->m_denominator_value) { context_dialog->m_denominator_value = newdenom; context_dialog->m_config_changed = TRUE; } newtempo = (int) gtk_range_get_value(GTK_RANGE(context_dialog->m_tempo_scale)); if (newtempo != context_dialog->m_tempo) { context_dialog->m_tempo = newtempo; context_dialog->m_config_changed = TRUE; } newchorus = (int) gtk_range_get_value(GTK_RANGE(context_dialog->m_chorus_scale)); if (newchorus != context_dialog->m_chorus) { context_dialog->m_chorus = newchorus; context_dialog->m_config_changed = TRUE; } newplaytransposed = (int) gtk_range_get_value(GTK_RANGE(context_dialog->m_play_transposed_scale)); if (newplaytransposed != context_dialog->m_play_transposed) { context_dialog->m_play_transposed = newplaytransposed; context_dialog->m_config_changed = TRUE; } newreverb = (int) gtk_range_get_value(GTK_RANGE(context_dialog->m_reverb_scale)); if (newreverb != context_dialog->m_reverb) { context_dialog->m_reverb = newreverb; context_dialog->m_config_changed = TRUE; } newmute = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_1_check)); if (context_dialog->m_muted[0] != newmute) { context_dialog->m_muted[0] = newmute; context_dialog->m_config_changed = TRUE; } newmute = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_2_check)); if (context_dialog->m_muted[1] != newmute) { context_dialog->m_muted[1] = newmute; context_dialog->m_config_changed = TRUE; } newmute = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_3_check)); if (context_dialog->m_muted[2] != newmute) { context_dialog->m_muted[2] = newmute; context_dialog->m_config_changed = TRUE; } newmute = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_4_check)); if (context_dialog->m_muted[3] != newmute) { context_dialog->m_muted[3] = newmute; context_dialog->m_config_changed = TRUE; } context_dialog->m_do_adjust = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_adjust_check_box)); newname = gtk_entry_get_text(GTK_ENTRY(context_dialog->m_staffname)); if (strlen(newname) < 1) { newname = NULL; } diff = (newname == NULL && context_dialog->m_staff_name != NULL) || (newname != NULL && context_dialog->m_staff_name == NULL); if (newname != NULL && context_dialog->m_staff_name != NULL) { diff = diff || strcmp(newname, context_dialog->m_staff_name) != 0; } if (diff) { context_dialog->m_config_changed = TRUE; } if (newname != NULL && strlen(newname) > 0) { context_dialog->m_staff_name = strdup(newname); } else { context_dialog->m_staff_name = NULL; } newshortname = gtk_entry_get_text(GTK_ENTRY(context_dialog->m_staffshortname)); diff = (newshortname == NULL && context_dialog->m_staff_short_name != NULL) || (newshortname != NULL && context_dialog->m_staff_short_name == NULL); if (newshortname != NULL && context_dialog->m_staff_short_name != NULL) { diff = diff || strcmp(newshortname, context_dialog->m_staff_short_name) != 0; } if (diff) { context_dialog->m_config_changed = TRUE; } if (newshortname != NULL && strlen(newshortname) > 0) { context_dialog->m_staff_short_name = strdup(newshortname); } else { context_dialog->m_staff_short_name = NULL; } newgroupname = gtk_entry_get_text(GTK_ENTRY(context_dialog->m_groupname)); if (strlen(newgroupname) < 1) { newgroupname = NULL; } diff = (newgroupname == NULL && context_dialog->m_group_name != NULL) || (newgroupname != NULL && context_dialog->m_group_name == NULL); if (newgroupname != NULL && context_dialog->m_group_name != NULL) { diff = diff || strcmp(newgroupname, context_dialog->m_group_name) != 0; } if (diff) { context_dialog->m_config_changed = TRUE; } if (newgroupname != NULL && strlen(newgroupname) > 0) { context_dialog->m_group_name = strdup(newgroupname); } else { context_dialog->m_group_name = NULL; } newshortgroupname = gtk_entry_get_text(GTK_ENTRY(context_dialog->m_groupshortname)); diff = (newshortgroupname == NULL && context_dialog->m_group_short_name != NULL) || (newshortgroupname != NULL && context_dialog->m_group_short_name == NULL); if (newshortgroupname != NULL && context_dialog->m_group_short_name != NULL) { diff = diff || strcmp(newshortgroupname, context_dialog->m_group_short_name) != 0; } if (diff) { context_dialog->m_config_changed = TRUE; } if (newshortgroupname != NULL && strlen(newshortgroupname) > 0) { context_dialog->m_group_short_name = strdup(newshortgroupname); } else { context_dialog->m_group_short_name = NULL; } if (context_dialog->m_staff_count > 1) { selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(context_dialog->m_position_list)); selected_rows = gtk_tree_selection_get_selected_rows (selection, NULL); if (g_list_length(selected_rows) > 0) { GtkTreePath *path = (GtkTreePath *) g_list_first(selected_rows)->data; char *tp = gtk_tree_path_to_string(path); if (sscanf(tp, "%d", &(context_dialog->m_staff_pos)) != 1) { NedResource::Abort("NedStaffContextDialog::OnClose: error reading tree path(2)"); } } } new_octave_shift = (int) gtk_spin_button_get_value(GTK_SPIN_BUTTON(context_dialog->m_octave_shift_spin_box)); switch (new_octave_shift) { case 8: new_octave_shift = 12; break; case -8: new_octave_shift = -12; break; } if (new_octave_shift != context_dialog->m_octave_shift) { context_dialog->m_octave_shift = new_octave_shift; context_dialog->m_config_changed = true; } newchannel = (int) gtk_spin_button_get_value(GTK_SPIN_BUTTON(context_dialog->m_channel_spin_box)) - 1; if (newchannel != context_dialog->m_channel_value) { context_dialog->m_channel_value = newchannel; context_dialog->m_config_changed = true; } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_com_time_bu))) { context_dialog->m_symbol = TIME_SYMBOL_COMMON_TIME; context_dialog->m_numerator_value = context_dialog->m_denominator_value = 4; } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_cut_time_bu))) { context_dialog->m_symbol = TIME_SYMBOL_CUT_TIME; context_dialog->m_numerator_value = context_dialog->m_denominator_value = 2; } else { context_dialog->m_symbol = TIME_SYMBOL_NONE; } newdifferentvoices = !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_radio_all)); if (newdifferentvoices != context_dialog->m_different_voices) { context_dialog->m_config_changed = TRUE; context_dialog->m_different_voices = newdifferentvoices; } context_dialog->GetCurrentVoiceParamsFrom(context_dialog->m_current_voice, context_dialog->m_volume, context_dialog->m_pan, context_dialog->m_midi_program_number, &(context_dialog->m_config_changed)); gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedStaffContextDialog::getValues(bool *state, bool *different_voices, bool *delete_staff, bool *delete_system, int *staff_pos, char **staff_name, char **staff_short_name, char **group_name, char **group_short_name, int *clef_number, int *octave_shift, int *key_signature_number, bool *ajdust_notes, int *numerator, int *demoninator, unsigned int *symbol, int volume[VOICE_COUNT], int midi_program[VOICE_COUNT], int *channel, int *tempo, int pan[VOICE_COUNT], int *chorus, int *play_transposed, int *reverb, bool *config_changed, bool muted[VOICE_COUNT]) { int i; *different_voices = m_different_voices; *delete_staff = m_delete_staff; *delete_system = m_delete_system; *state = m_state; *staff_pos = m_staff_pos; if (m_newclef != m_current_clef) { m_current_clef = m_newclef; m_config_changed = TRUE; } *ajdust_notes = m_do_adjust; *staff_name = m_staff_name; *staff_short_name = m_staff_short_name; *group_name = m_group_name; *group_short_name = m_group_short_name; *clef_number = m_current_clef; *key_signature_number = m_key_signature_number; *numerator = m_numerator_value; *demoninator = m_denominator_value; *tempo = m_tempo; *chorus = m_chorus; *play_transposed = m_play_transposed; *reverb = m_reverb; *octave_shift = m_octave_shift; *channel = m_channel_value; *muted = m_muted; *symbol = m_symbol; for (i = 0; i < VOICE_COUNT; i++) { volume[i] = m_volume[i]; midi_program[i] = m_midi_program_number[i]; pan[i] = m_pan[i]; muted[i] = m_muted[i]; } if (m_state) { *config_changed = m_config_changed; } else { *config_changed = FALSE; } } gboolean NedStaffContextDialog::draw_clefs(GtkWidget *widget, GdkEventExpose *event, gpointer data) { #define ZOOM_LEVEL 9 NedStaffContextDialog *the_dialog = (NedStaffContextDialog *) data; cairo_scaled_font_t *scaled_font; cairo_glyph_t glyph; int i; double y_offs = 0.0, oct_y_offs = 0.0, oct_x_offs = 0.0; bool octave_shift = false; cairo_t *cr; cr = gdk_cairo_create (the_dialog->m_clef_show_window->window); cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); cairo_rectangle (cr, 0, 0, the_dialog->m_clef_show_window->allocation.width, the_dialog->m_clef_show_window->allocation.height); cairo_fill(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); scaled_font = NedResource::getScaledFont(ZOOM_LEVEL); #ifdef HAS_SET_SCALED_FONT cairo_set_scaled_font (cr, scaled_font); #else cairo_set_font_face(cr, NedResource::getFontFace()); cairo_set_font_matrix(cr, NedResource::getFontMatrix(ZOOM_LEVEL)); cairo_set_font_options(cr, NedResource::getFontOptions()); #endif cairo_new_path(cr); cairo_set_line_width(cr, DEMO_LINE_THICK); for (i = 0; i < 5; i++) { cairo_move_to(cr, DEMO_LINE_BEGIN, DEMO_LINE_YPOS + DEMO_LINE_DIST * i); cairo_line_to(cr, DEMO_LINE_END, DEMO_LINE_YPOS + DEMO_LINE_DIST * i); } cairo_stroke(cr); cairo_new_path(cr); switch (the_dialog->m_newclef) { case TREBLE_CLEF: switch(the_dialog->m_octave_shift) { case 12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_TREBLE_DIST_UP); octave_shift = true; break; case -12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_TREBLE_DIST_DOWN); octave_shift = true; break; } glyph.index = BASE + 2; break; case BASS_CLEF: switch(the_dialog->m_octave_shift) { case 12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_BASS_DIST_UP); octave_shift = true; break; case -12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_BASS_DIST_DOWN); octave_shift = true; break; } glyph.index = BASE + 3; break; case ALTO_CLEF: switch(the_dialog->m_octave_shift) { case 12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_ALTO_DIST_UP); oct_x_offs = DEMO_POS_FAK * (OCTUP_X_ALTO_DIST); octave_shift = true; break; case -12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_ALTO_DIST_DOWN); oct_x_offs = DEMO_POS_FAK * (OCTUP_X_ALTO_DIST); octave_shift = true; break; } glyph.index = BASE + 1; break; case SOPRAN_CLEF: switch(the_dialog->m_octave_shift) { case 12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_ALTO_DIST_UP); oct_x_offs = DEMO_POS_FAK * (OCTUP_X_ALTO_DIST); octave_shift = true; break; case -12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_ALTO_DIST_DOWN); oct_x_offs = DEMO_POS_FAK * (OCTUP_X_ALTO_DIST); octave_shift = true; break; } glyph.index = BASE + 1; y_offs = 2 * DEMO_LINE_DIST; break; case TENOR_CLEF: switch(the_dialog->m_octave_shift) { case 12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_ALTO_DIST_UP); oct_x_offs = DEMO_POS_FAK * (OCTUP_X_ALTO_DIST); octave_shift = true; break; case -12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_ALTO_DIST_DOWN); oct_x_offs = DEMO_POS_FAK * (OCTUP_X_ALTO_DIST); octave_shift = true; break; } glyph.index = BASE + 1; y_offs = -DEMO_LINE_DIST; break; case NEUTRAL_CLEF1: case NEUTRAL_CLEF2: case NEUTRAL_CLEF3: glyph.index = BASE + 27; break; } glyph.x = 50.0; glyph.y = 70.0 + y_offs; cairo_show_glyphs(cr, &glyph, 1); switch (the_dialog->m_newclef) { case NEUTRAL_CLEF1: glyph.index = NUMBERBASE + 1; glyph.x = 60.0; glyph.y = 120.0; cairo_show_glyphs(cr, &glyph, 1); break; case NEUTRAL_CLEF2: glyph.index = NUMBERBASE + 2; glyph.x = 60.0; glyph.y = 120.0; cairo_show_glyphs(cr, &glyph, 1); break; case NEUTRAL_CLEF3: glyph.index = NUMBERBASE + 3; glyph.x = 60.0; glyph.y = 120.0; cairo_show_glyphs(cr, &glyph, 1); break; } if (octave_shift) { glyph.x = 50.0 + oct_x_offs; glyph.y = 70.0 + y_offs + oct_y_offs; glyph.index = BASE + 28; cairo_show_glyphs(cr, &glyph, 1); } cairo_destroy (cr); return FALSE; } void NedStaffContextDialog::decrease_clef_number (GtkButton *button, gpointer data) { GdkRectangle rect; NedStaffContextDialog *the_dialog = (NedStaffContextDialog *) data; if (the_dialog->m_newclef <= MINCLEF_NUMBER) return; the_dialog->m_newclef--; gtk_widget_set_sensitive(the_dialog->m_clef_bu_up, TRUE); gtk_widget_set_sensitive(the_dialog->m_clef_bu_down, TRUE); if (the_dialog->m_newclef == MINCLEF_NUMBER) { gtk_widget_set_sensitive(the_dialog->m_clef_bu_up, FALSE); } rect.x = rect.y = 0; rect.width = the_dialog->m_clef_show_window->allocation.width; rect.height = the_dialog->m_clef_show_window->allocation.height; gdk_window_invalidate_rect (the_dialog->m_clef_show_window->window, &rect, FALSE); } void NedStaffContextDialog::increase_clef_number (GtkButton *button, gpointer data) { GdkRectangle rect; NedStaffContextDialog *the_dialog = (NedStaffContextDialog *) data; if (the_dialog->m_newclef >= MAXCLEF_NUMBER) return; the_dialog->m_newclef++; gtk_widget_set_sensitive(the_dialog->m_clef_bu_up, TRUE); gtk_widget_set_sensitive(the_dialog->m_clef_bu_down, TRUE); if (the_dialog->m_newclef >= MAXCLEF_NUMBER) { gtk_widget_set_sensitive(the_dialog->m_clef_bu_down, FALSE); } rect.x = rect.y = 0; rect.width = the_dialog->m_clef_show_window->allocation.width; rect.height = the_dialog->m_clef_show_window->allocation.height; gdk_window_invalidate_rect (the_dialog->m_clef_show_window->window, &rect, FALSE); } gboolean NedStaffContextDialog::OnScroll(GtkWidget *widget, GdkEventScroll *event, gpointer data) { #define SCROLL_INCR 20.0 double adjval; NedStaffContextDialog *the_dialog = (NedStaffContextDialog *) data; if (gtk_notebook_get_current_page(GTK_NOTEBOOK(the_dialog->m_table)) != 1) return FALSE; adjval = gtk_adjustment_get_value(GTK_ADJUSTMENT(the_dialog->m_instrument_adjustment)); if (event->direction == GDK_SCROLL_UP) { adjval -= SCROLL_INCR; } else if (event->direction == GDK_SCROLL_DOWN) { adjval += SCROLL_INCR; } gtk_adjustment_set_value(GTK_ADJUSTMENT(the_dialog->m_instrument_adjustment), adjval); return FALSE; } void NedStaffContextDialog::octave_shift_change(GtkSpinButton *spinbutton, gpointer data) { GdkRectangle rect; NedStaffContextDialog *context_dialog = (NedStaffContextDialog *) data; context_dialog->m_octave_shift = (int) gtk_spin_button_get_value(spinbutton); switch (context_dialog->m_octave_shift) { case 8: context_dialog->m_octave_shift = 12; break; case -8: context_dialog->m_octave_shift = -12; break; } rect.x = rect.y = 0; rect.width = context_dialog->m_clef_show_window->allocation.width; rect.height = context_dialog->m_clef_show_window->allocation.height; gdk_window_invalidate_rect (context_dialog->m_clef_show_window->window, &rect, FALSE); } void NedStaffContextDialog::OnCommButtonToggled(GtkToggleButton *togglebutton, gpointer data) { NedStaffContextDialog *context_dialog = (NedStaffContextDialog *) data; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_com_time_bu))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(context_dialog->m_cut_time_bu), FALSE); gtk_spin_button_set_value(GTK_SPIN_BUTTON(context_dialog->m_numerator), 4); gtk_combo_box_set_active(GTK_COMBO_BOX(context_dialog->m_denominator), 1); gtk_widget_set_sensitive(context_dialog->m_numerator, FALSE); gtk_widget_set_sensitive(context_dialog->m_denominator, FALSE); } else if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_cut_time_bu))) { gtk_widget_set_sensitive(context_dialog->m_numerator, TRUE); gtk_widget_set_sensitive(context_dialog->m_denominator, TRUE); } } void NedStaffContextDialog::OnCutButtonToggled(GtkToggleButton *togglebutton, gpointer data) { NedStaffContextDialog *context_dialog = (NedStaffContextDialog *) data; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_cut_time_bu))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(context_dialog->m_com_time_bu), FALSE); gtk_spin_button_set_value(GTK_SPIN_BUTTON(context_dialog->m_numerator), 2); gtk_combo_box_set_active(GTK_COMBO_BOX(context_dialog->m_denominator), 0); gtk_widget_set_sensitive(context_dialog->m_numerator, FALSE); gtk_widget_set_sensitive(context_dialog->m_denominator, FALSE); } else if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_com_time_bu))) { gtk_widget_set_sensitive(context_dialog->m_numerator, TRUE); gtk_widget_set_sensitive(context_dialog->m_denominator, TRUE); } } void NedStaffContextDialog::OnVoiceToggle(GtkToggleButton *togglebutton, gpointer data) { NedStaffContextDialog *context_dialog = (NedStaffContextDialog *) data; int oldvoice = context_dialog->m_current_voice; if (togglebutton == GTK_TOGGLE_BUTTON(context_dialog->m_radio_all)) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_radio_all))) { context_dialog->SetCurrentVoiceParamsTo(-1); context_dialog->m_current_voice = -1; } else { context_dialog->GetCurrentVoiceParamsFrom(-1, context_dialog->m_volume, context_dialog->m_pan, context_dialog->m_midi_program_number, &(context_dialog->m_config_changed)); } } else if (togglebutton == GTK_TOGGLE_BUTTON(context_dialog->m_radio_1)) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_radio_1))) { context_dialog->SetCurrentVoiceParamsTo(0); context_dialog->m_current_voice = 0; } else { context_dialog->GetCurrentVoiceParamsFrom(0, context_dialog->m_volume, context_dialog->m_pan, context_dialog->m_midi_program_number, &(context_dialog->m_config_changed)); } } else if (togglebutton == GTK_TOGGLE_BUTTON(context_dialog->m_radio_2)) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_radio_2))) { context_dialog->SetCurrentVoiceParamsTo(1); context_dialog->m_current_voice = 1; } else { context_dialog->GetCurrentVoiceParamsFrom(1, context_dialog->m_volume, context_dialog->m_pan, context_dialog->m_midi_program_number, &(context_dialog->m_config_changed)); } } else if (togglebutton == GTK_TOGGLE_BUTTON(context_dialog->m_radio_3)) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_radio_3))) { context_dialog->SetCurrentVoiceParamsTo(2); context_dialog->m_current_voice = 2; } else { context_dialog->GetCurrentVoiceParamsFrom(2, context_dialog->m_volume, context_dialog->m_pan, context_dialog->m_midi_program_number, &(context_dialog->m_config_changed)); } } else if (togglebutton == GTK_TOGGLE_BUTTON(context_dialog->m_radio_4)) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_radio_4))) { context_dialog->SetCurrentVoiceParamsTo(3); context_dialog->m_current_voice = 3; } else { context_dialog->GetCurrentVoiceParamsFrom(3, context_dialog->m_volume, context_dialog->m_pan, context_dialog->m_midi_program_number, &(context_dialog->m_config_changed)); } } } void NedStaffContextDialog::OnAllMutedToggle(GtkToggleButton *togglebutton, gpointer data) { bool toggle_state; NedStaffContextDialog *context_dialog = (NedStaffContextDialog *) data; toggle_state = gtk_toggle_button_get_active (togglebutton); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_1_check), toggle_state); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_2_check), toggle_state); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_3_check), toggle_state); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_4_check), toggle_state); } void NedStaffContextDialog::OnSingleMutedToggle(GtkToggleButton *togglebutton, gpointer data) { int i; bool toggle_state; bool all_muted = true; bool none_muted = true; NedStaffContextDialog *context_dialog = (NedStaffContextDialog *) data; toggle_state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_1_check)); if (toggle_state) { none_muted = false; } else { all_muted = false; } toggle_state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_2_check)); if (toggle_state) { none_muted = false; } else { all_muted = false; } toggle_state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_3_check)); if (toggle_state) { none_muted = false; } else { all_muted = false; } toggle_state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_4_check)); if (toggle_state) { none_muted = false; } else { all_muted = false; } g_signal_handler_block(context_dialog->m_mute_1_check, context_dialog->m_handlrs[0]); g_signal_handler_block(context_dialog->m_mute_2_check, context_dialog->m_handlrs[1]); g_signal_handler_block(context_dialog->m_mute_3_check, context_dialog->m_handlrs[2]); g_signal_handler_block(context_dialog->m_mute_4_check, context_dialog->m_handlrs[3]); if (none_muted) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_all_check), FALSE); } if (all_muted) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(context_dialog->m_mute_all_check), TRUE); } g_signal_handler_unblock(context_dialog->m_mute_1_check, context_dialog->m_handlrs[0]); g_signal_handler_unblock(context_dialog->m_mute_2_check, context_dialog->m_handlrs[1]); g_signal_handler_unblock(context_dialog->m_mute_3_check, context_dialog->m_handlrs[2]); g_signal_handler_unblock(context_dialog->m_mute_4_check, context_dialog->m_handlrs[3]); } nted-1.10.18/dialogs/staffselectdialog.h0000664001041000007640000000370711520267217015024 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef STAFF_SELECT_DIALOG_H #define STAFF_SELECT_DIALOG_H #include "config.h" #include class NedMainWindow; class NedStaffSelectDialog { public: NedStaffSelectDialog(GtkWindow *parent, const char *title, NedMainWindow *main_window, bool *selected_staves); void getValues(bool *state); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static void add_staff(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data); static void OnAll(GtkButton *button, gpointer data); static void OnNone(GtkButton *button, gpointer data); GtkWidget *m_position_list; GtkTreeSelection *m_tree_selection; NedMainWindow *m_main_window; bool *m_selected_staves; bool m_state; }; #endif /* STAFF_SELECT_DIALOG_H */ nted-1.10.18/dialogs/staffcontextdialog.h0000664001041000007640000001257711520267217015236 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef STAFF_CONTEXT_DIALOG_H #define STAFF_CONTEXT_DIALOG_H #include "config.h" #include #include #include "resource.h" #define DELETE_STAFF_CMD 12 #define DELETE_SYSTEM_CMD 13 class NedMainWindow; class NedStaffContextDialog { public: NedStaffContextDialog(GtkWindow *parent, NedMainWindow *main_window, bool different_voices, bool allow_delete_system, int staff_count, int staff_pos, char *staff_name, char *staffshortname, char *group_name, char* group_short_name, int clef_number, int octave_shift, int key_signature_number, int numerator, int demoninator, unsigned int symbol, int volume[VOICE_COUNT], int midi_program[VOICE_COUNT], int channel, int tempo, int pan[VOICE_COUNT], int chorus, int play_transposed, int reverb, bool muted[VOICE_COUNT]); void getValues(bool *state, bool *different_voices, bool *delete_staff, bool *delete_system, int *staff_pos, char **staff_name, char **staff_short_name, char **group_name, char **group_short_name, int *clef_number, int *octave_shift, int *key_signature_number, bool *ajdust_notes, int *numerator, int *demoninator, unsigned int *symbol, int volume[VOICE_COUNT], int midi_program[VOICE_COUNT], int *channel, int *tempo, int pan[VOICE_COUNT], int *chorus, int *play_transposed, int *reverb, bool *config_changed, bool muted[VOICE_COUNT]); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static gboolean OnScroll(GtkWidget *widget, GdkEventScroll *event, gpointer data); static gboolean draw_clefs(GtkWidget *widget, GdkEventExpose *event, gpointer data); static void OnCommButtonToggled(GtkToggleButton *togglebutton, gpointer data); static void OnCutButtonToggled(GtkToggleButton *togglebutton, gpointer data); static void OnVoiceToggle(GtkToggleButton *togglebutton, gpointer data); static void OnAllMutedToggle(GtkToggleButton *togglebutton, gpointer data); static void OnSingleMutedToggle(GtkToggleButton *togglebutton, gpointer data); static void decrease_clef_number (GtkButton *button, gpointer user_data); static void increase_clef_number (GtkButton *button, gpointer user_data); static void octave_shift_change(GtkSpinButton *spinbutton, gpointer user_data); void SetCurrentVoiceParamsTo(int voice); void GetCurrentVoiceParamsFrom(int voice, int volume[VOICE_COUNT], int pan[VOICE_COUNT], int instrument[VOICE_COUNT], bool *changed); GtkWidget *m_clef_show_window; static char *m_keyTab[]; GtkWidget *m_sig_radio_buttons[14]; GtkWidget *m_denominator; GtkWidget *m_numerator; GtkWidget *m_com_time_bu; GtkWidget *m_cut_time_bu; GtkWidget *m_clef_bu_up; GtkWidget *m_clef_bu_down; GtkWidget *m_instrument_list; GtkWidget *m_volume_scale; GtkWidget *m_pan_scale; GtkWidget *m_tempo_scale; GtkWidget *m_chorus_scale; GtkWidget *m_play_transposed_scale; GtkWidget *m_reverb_scale; GtkWidget *m_channel_spin_box; GtkWidget *m_mute_all_check; GtkWidget *m_mute_1_check; GtkWidget *m_mute_2_check; GtkWidget *m_mute_3_check; GtkWidget *m_mute_4_check; GtkWidget *m_octave_shift_spin_box; GtkWidget *m_adjust_check_box; GtkWidget *m_position_list; GtkWidget *m_staffname; GtkWidget *m_radio_all; GtkWidget *m_radio_1; GtkWidget *m_radio_2; GtkWidget *m_radio_3; GtkWidget *m_radio_4; GtkWidget *m_staffshortname; GtkWidget *m_groupname; GtkWidget *m_groupshortname; GtkWidget *m_table; GtkObject *m_instrument_adjustment; int m_current_voice; bool m_different_voices; int m_octave_shift; int m_tempo; int m_chorus; int m_play_transposed; int m_reverb; int m_channel_value; bool m_state; int m_numerator_value; int m_denominator_value; unsigned int m_symbol; int m_time_symbol; int m_key_signature_number; int m_current_clef, m_newclef; bool m_do_adjust; int m_midi_program_number[VOICE_COUNT]; int m_pan[VOICE_COUNT]; int m_volume[VOICE_COUNT]; bool m_config_changed; bool m_delete_staff; bool m_delete_system; int m_staff_pos; int m_staff_count; char *m_staff_name; char *m_staff_short_name; char *m_group_name; char *m_group_short_name; bool m_muted[VOICE_COUNT]; gulong m_handlrs[VOICE_COUNT]; friend class NedKeysigDialog; friend class NedMidiRecordConfigDialog; }; #endif /* STAFF_CONTEXT_DIALOG_H */ nted-1.10.18/dialogs/selectordialog.cpp0000664001041000007640000001720311520267217014670 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "selectordialog.h" #include "localization.h" #include "resource.h" #include "mainwindow.h" #include "pangocairotext.h" NedSelectorDialog::NedSelectorDialog(GtkWindow *parent, bool with_transpose, bool *staff_list, bool selected, struct staff_context_str *staff_contexts, int numstaffs) : m_with_transpose(with_transpose), m_staff_list(staff_list), m_selected(selected), m_numstaffs(numstaffs) { GtkWidget *dialog; int i; char Str[128]; if (with_transpose) { dialog = gtk_dialog_new_with_buttons(_("Transpose"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); } else { dialog = gtk_dialog_new_with_buttons(_("Select"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); } g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); GtkWidget *transpose_frame; GtkWidget *transpose_hbox; GtkWidget *buttonbox; GtkWidget *hbox; GtkWidget *selection_frame; buttonbox = gtk_vbox_new(FALSE, 0); try { m_checkboxes= new GtkWidget*[numstaffs]; } catch(std::exception& e){ NedResource::Abort("NedSelectorDialog: allocation error"); } for (i = 0; i < numstaffs; i++) { if (staff_contexts[i].m_staff_name == NULL) { sprintf(Str, _("Staff %d"), i); m_checkboxes[i] = gtk_check_button_new_with_label(Str); } else { m_checkboxes[i] = gtk_check_button_new_with_label(staff_contexts[i].m_staff_name->getText()); } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_checkboxes[i]), staff_contexts[i].m_midi_channel != 9); gtk_box_pack_start(GTK_BOX(buttonbox), m_checkboxes[i], FALSE, FALSE, 0); } if (with_transpose) { transpose_frame = gtk_frame_new(_("half-tones")); } else { transpose_frame = gtk_frame_new(_("selection")); } transpose_hbox = gtk_hbox_new(FALSE, 2); if (with_transpose) { m_transpose_spin_box = gtk_spin_button_new_with_range(-12.0, 12.0, 1.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_transpose_spin_box), 0.0); gtk_box_pack_start(GTK_BOX(transpose_hbox), m_transpose_spin_box, FALSE, FALSE, 0); } m_selection_checkbox = gtk_check_button_new_with_label(_("use selection")); gtk_box_pack_end(GTK_BOX(transpose_hbox), m_selection_checkbox, FALSE, FALSE, 0); g_signal_connect(m_selection_checkbox, "toggled", G_CALLBACK (OnUseSelection), (void *) this); gtk_container_add (GTK_CONTAINER(transpose_frame), transpose_hbox); selection_frame = gtk_frame_new(_("selection")); hbox = gtk_hbox_new(TRUE, 0); m_allbutton = gtk_button_new_with_label(_("all")); g_signal_connect(m_allbutton, "pressed", G_CALLBACK (OnAll), (void *) this); m_nonebutton = gtk_button_new_with_label(_("none")); g_signal_connect(m_nonebutton, "pressed", G_CALLBACK (OnNone), (void *) this); gtk_box_pack_start(GTK_BOX(hbox), m_allbutton, TRUE, TRUE, 5); gtk_box_pack_start(GTK_BOX(hbox), m_nonebutton, TRUE, TRUE, 5); gtk_box_pack_start(GTK_BOX(buttonbox), hbox, TRUE, TRUE, 5); gtk_container_add (GTK_CONTAINER(selection_frame), buttonbox); if (m_selected) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_selection_checkbox), TRUE); gtk_widget_set_sensitive(m_allbutton, FALSE); gtk_widget_set_sensitive(m_nonebutton, FALSE); for (i = 0; i < numstaffs; i++) { if (staff_contexts[i].m_staff_name == NULL) { gtk_widget_set_sensitive(m_checkboxes[i], FALSE); } } } else { gtk_widget_set_sensitive(m_selection_checkbox, FALSE); } gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), transpose_frame); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), selection_frame); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedSelectorDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { int i; double val; bool one_checked = false; NedSelectorDialog *selector_dialog = (NedSelectorDialog *) data; for (i = 0; i < selector_dialog->m_numstaffs; i++) { selector_dialog->m_staff_list[i] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(selector_dialog->m_checkboxes[i])); if (selector_dialog->m_staff_list[i]) one_checked = true; } switch (result) { case GTK_RESPONSE_ACCEPT: if (!one_checked) { selector_dialog->m_state = FALSE; break; } selector_dialog->m_state = TRUE; break; default: selector_dialog->m_state = FALSE; break; } if (selector_dialog->m_with_transpose) { val = gtk_spin_button_get_value(GTK_SPIN_BUTTON(selector_dialog->m_transpose_spin_box)); selector_dialog->m_pitch_dist = (int) ((val > 0.0) ? (val + 0.5) : (val - 0.5)); } gtk_widget_destroy (GTK_WIDGET(dialog)); delete[] selector_dialog->m_checkboxes; } void NedSelectorDialog::getValues(bool *state, int *pitchdist, bool *selected) { *state = m_state; if (m_with_transpose) { *state = *state && m_pitch_dist != 0; *pitchdist = m_pitch_dist; } *selected = m_selected; } void NedSelectorDialog::OnAll(GtkButton *button, gpointer data) { int i; NedSelectorDialog *selector_dialog = (NedSelectorDialog *) data; for (i = 0; i < selector_dialog->m_numstaffs; i++) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(selector_dialog->m_checkboxes[i]), TRUE); } } void NedSelectorDialog::OnNone(GtkButton *button, gpointer data) { int i; NedSelectorDialog *selector_dialog = (NedSelectorDialog *) data; for (i = 0; i < selector_dialog->m_numstaffs; i++) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(selector_dialog->m_checkboxes[i]), FALSE); } } void NedSelectorDialog::OnUseSelection(GtkToggleButton *togglebutton, gpointer data) { int i; NedSelectorDialog *selector_dialog = (NedSelectorDialog *) data; if (gtk_toggle_button_get_active(togglebutton)) { gtk_widget_set_sensitive(selector_dialog->m_allbutton, FALSE); gtk_widget_set_sensitive(selector_dialog->m_nonebutton, FALSE); for (i = 0; i < selector_dialog->m_numstaffs; i++) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(selector_dialog->m_checkboxes[i]), FALSE); gtk_widget_set_sensitive(selector_dialog->m_checkboxes[i], FALSE); } } else { gtk_widget_set_sensitive(selector_dialog->m_allbutton, TRUE); gtk_widget_set_sensitive(selector_dialog->m_nonebutton, TRUE); for (i = 0; i < selector_dialog->m_numstaffs; i++) { gtk_widget_set_sensitive(selector_dialog->m_checkboxes[i], TRUE); } } for (i = 0; i < selector_dialog->m_numstaffs; i++) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(selector_dialog->m_checkboxes[i]), TRUE); } } nted-1.10.18/dialogs/scoreinfodialog.cpp0000664001041000007640000002251111520267217015035 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "scoreinfodialog.h" #include "localization.h" #include "resource.h" #include "pangocairotext.h" #include "mainwindow.h" #include "config.h" #define DIALOG_WIDTH 300 #define DIALOG_HEIGHT 10 // dummy ScoreInfo::ScoreInfo() : title(NULL), subject(NULL), composer(NULL), arranger(NULL), copyright(NULL) {} ScoreInfo::~ScoreInfo() { if (title != NULL) { delete title; title = NULL; } if (subject != NULL) { delete subject; subject = NULL; } if (composer != NULL) { delete composer; composer = NULL; } if (arranger != NULL) { delete arranger; arranger = NULL; } if (copyright != NULL) { delete copyright; copyright = NULL; } } #define TITLELENGTH 100 NedScoreInfoConfigDialog::NedScoreInfoConfigDialog(GtkWindow *parent, NedMainWindow *main_window, ScoreInfo *scoreinfo) : m_scoreinfo(scoreinfo), m_main_window(main_window) { GtkWidget *dialog; GtkWidget *label; GtkWidget *frame; GtkWidget *grid; dialog = gtk_dialog_new_with_buttons(_("Score info"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (CloseCallBack), (void *) this); frame = gtk_frame_new(_("Score info")); grid = gtk_table_new(2, 5, FALSE); label = gtk_label_new(_("Title:")); m_title = gtk_entry_new_with_max_length(TITLELENGTH); if (m_scoreinfo->title != NULL) { gtk_entry_set_text(GTK_ENTRY(m_title), m_scoreinfo->title->getText()); } gtk_table_attach(GTK_TABLE(grid), label, 0, 1, 0, 1, GTK_SHRINK, (GtkAttachOptions) 0, 0, 0); gtk_table_attach(GTK_TABLE(grid), m_title, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL) , (GtkAttachOptions) 0, 0, 0); label = gtk_label_new(_("Subject:")); m_subject = gtk_entry_new_with_max_length(TITLELENGTH); if (m_scoreinfo->subject != NULL) { gtk_entry_set_text(GTK_ENTRY(m_subject), m_scoreinfo->subject->getText()); } gtk_table_attach(GTK_TABLE(grid), label, 0, 1, 1, 2, GTK_SHRINK, (GtkAttachOptions) 0, 0, 0); gtk_table_attach(GTK_TABLE(grid), m_subject, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL) , (GtkAttachOptions) 0, 0, 0); label = gtk_label_new(_("Composer:")); m_composer = gtk_entry_new_with_max_length(TITLELENGTH); if (m_scoreinfo->composer != NULL) { gtk_entry_set_text(GTK_ENTRY(m_composer), m_scoreinfo->composer->getText()); } gtk_table_attach(GTK_TABLE(grid), label, 0, 1, 2, 3, GTK_SHRINK, (GtkAttachOptions) 0, 0, 0); gtk_table_attach(GTK_TABLE(grid), m_composer, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL) , (GtkAttachOptions) 0, 0, 0); label = gtk_label_new(_("Arranger:")); m_arranger = gtk_entry_new_with_max_length(TITLELENGTH); if (m_scoreinfo->arranger != NULL) { gtk_entry_set_text(GTK_ENTRY(m_arranger), m_scoreinfo->arranger->getText()); } gtk_table_attach(GTK_TABLE(grid), label, 0, 1, 3, 4, GTK_SHRINK, (GtkAttachOptions) 0, 0, 0); gtk_table_attach(GTK_TABLE(grid), m_arranger, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL) , (GtkAttachOptions) 0, 0, 0); label = gtk_label_new(_("Copyright:")); m_copyright = gtk_entry_new_with_max_length(TITLELENGTH); if (m_scoreinfo->copyright != NULL) { gtk_entry_set_text(GTK_ENTRY(m_copyright), m_scoreinfo->copyright->getText()); } gtk_table_attach(GTK_TABLE(grid), label, 0, 1, 4, 5, GTK_SHRINK, (GtkAttachOptions) 0, 0, 0); gtk_table_attach(GTK_TABLE(grid), m_copyright, 1, 2, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL) , (GtkAttachOptions) 0, 0, 0); gtk_container_add (GTK_CONTAINER(frame), grid); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), frame); gtk_window_set_default_size (GTK_WINDOW (dialog), DIALOG_WIDTH, DIALOG_HEIGHT); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedScoreInfoConfigDialog::CloseCallBack(GtkDialog *dialog, gint result, gpointer data) { NedScoreInfoConfigDialog *score_config_dialog = (NedScoreInfoConfigDialog *) data; bool diff; const char *cptr; switch (result) { case GTK_RESPONSE_ACCEPT: score_config_dialog->m_state = TRUE; break; default: score_config_dialog->m_state = FALSE; gtk_widget_destroy (GTK_WIDGET(dialog)); return; break; } cptr = gtk_entry_get_text(GTK_ENTRY(score_config_dialog->m_title)); if (score_config_dialog->m_scoreinfo->title) { diff = score_config_dialog->m_scoreinfo->title->textDiffers((char *) cptr); } else { diff = (cptr != NULL && strlen(cptr) > 0); } if (diff) { if (score_config_dialog->m_scoreinfo->title != NULL) { delete score_config_dialog->m_scoreinfo->title; score_config_dialog->m_scoreinfo->title = NULL; } if (cptr != NULL && strlen(cptr) > 0) { score_config_dialog->m_scoreinfo->title = new NedPangoCairoText(score_config_dialog->m_main_window->getDrawingArea()->window, (char *) cptr, TITLE_FONT, TITLE_FONT_SLANT, TITLE_FONT_WEIGHT, TITLE_FONT_SIZE, score_config_dialog->m_main_window->getCurrentZoomFactor(), 1.0, false); } } cptr = gtk_entry_get_text(GTK_ENTRY(score_config_dialog->m_subject)); if (score_config_dialog->m_scoreinfo->subject) { diff = score_config_dialog->m_scoreinfo->subject->textDiffers((char *) cptr); } else { diff = (cptr != NULL && strlen(cptr) > 0); } if (diff) { if (score_config_dialog->m_scoreinfo->subject != NULL) { delete score_config_dialog->m_scoreinfo->subject; score_config_dialog->m_scoreinfo->subject = NULL; } if (cptr != NULL && strlen(cptr) > 0) { score_config_dialog->m_scoreinfo->subject = new NedPangoCairoText(score_config_dialog->m_main_window->getDrawingArea()->window, (char *) cptr, SUBJECT_FONT, SUBJECT_FONT_SLANT, SUBJECT_FONT_WEIGHT, SUBJECT_FONT_SIZE, score_config_dialog->m_main_window->getCurrentZoomFactor(), 1.0, false); } } cptr = gtk_entry_get_text(GTK_ENTRY(score_config_dialog->m_composer)); if (score_config_dialog->m_scoreinfo->composer) { diff = score_config_dialog->m_scoreinfo->composer->textDiffers((char *) cptr); } else { diff = (cptr != NULL && strlen(cptr) > 0); } if (diff) { if (score_config_dialog->m_scoreinfo->composer != NULL) { delete score_config_dialog->m_scoreinfo->composer; score_config_dialog->m_scoreinfo->composer = NULL; } if (cptr != NULL && strlen(cptr) > 0) { score_config_dialog->m_scoreinfo->composer = new NedPangoCairoText(score_config_dialog->m_main_window->getDrawingArea()->window, (char *) cptr, COMPOSER_FONT, COMPOSER_FONT_SLANT, COMPOSER_FONT_WEIGHT, COMPOSER_FONT_SIZE, score_config_dialog->m_main_window->getCurrentZoomFactor(), 1.0, false); } } cptr = gtk_entry_get_text(GTK_ENTRY(score_config_dialog->m_arranger)); if (score_config_dialog->m_scoreinfo->arranger) { diff = score_config_dialog->m_scoreinfo->arranger->textDiffers((char *) cptr); } else { diff = (cptr != NULL && strlen(cptr) > 0); } if (diff) { if (score_config_dialog->m_scoreinfo->arranger != NULL) { delete score_config_dialog->m_scoreinfo->arranger; score_config_dialog->m_scoreinfo->arranger = NULL; } if (cptr != NULL && strlen(cptr) > 0) { score_config_dialog->m_scoreinfo->arranger = new NedPangoCairoText(score_config_dialog->m_main_window->getDrawingArea()->window, (char *) cptr, ARRANGER_FONT, ARRANGER_FONT_SLANT, ARRANGER_FONT_WEIGHT, ARRANGER_FONT_SIZE, score_config_dialog->m_main_window->getCurrentZoomFactor(), 1.0, false); } } cptr = gtk_entry_get_text(GTK_ENTRY(score_config_dialog->m_copyright)); if (score_config_dialog->m_scoreinfo->copyright) { diff = score_config_dialog->m_scoreinfo->copyright->textDiffers((char *) cptr); } else { diff = (cptr != NULL && strlen(cptr) > 0); } if (diff) { if (score_config_dialog->m_scoreinfo->copyright != NULL) { delete score_config_dialog->m_scoreinfo->copyright; score_config_dialog->m_scoreinfo->copyright = NULL; } if (cptr != NULL && strlen(cptr) > 0) { score_config_dialog->m_scoreinfo->copyright = new NedPangoCairoText(score_config_dialog->m_main_window->getDrawingArea()->window, (char *) cptr, COPYRIGHT_FONT, COPYRIGHT_FONT_SLANT, COPYRIGHT_FONT_WEIGHT, COPYRIGHT_FONT_SIZE, score_config_dialog->m_main_window->getCurrentZoomFactor(), 1.0, false); } } gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedScoreInfoConfigDialog::getValues(bool *state) { *state = m_state; } nted-1.10.18/dialogs/tempodialog.cpp0000664001041000007640000002355411520267217014202 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "tempodialog.h" #include "localization.h" #include "resource.h" #include "config.h" NedTempoDialog::NedTempoDialog(GtkWindow *parent, bool relative, unsigned int kind /* = NOTE_4 */, bool dot /* = false */, unsigned int tempo /* = 120 */) : m_kind(kind), m_dot(dot), m_tempo(tempo) { GtkWidget *dialog; GtkWidget *lab; GtkWidget *kind_hbox; GtkWidget *tempo_hbox; GtkWidget *kind_frame; GtkWidget *tempo_frame; GtkWidget *vbox_whole; GtkWidget *vbox_note_2; GtkWidget *vbox_note_2_dot; GtkWidget *vbox_note_4; GtkWidget *vbox_note_4_dot; GtkWidget *vbox_note_8; GtkWidget *vbox_note_8_dot; GtkWidget *vbox_note_16; GtkWidget *vbox_note_16_dot; GtkWidget *image_whole; GtkWidget *image_note_2; GtkWidget *image_note_2_dot; GtkWidget *image_note_4; GtkWidget *image_note_4_dot; GtkWidget *image_note_8; GtkWidget *image_note_8_dot; GtkWidget *image_note_16; GtkWidget *image_note_16_dot; dialog = gtk_dialog_new_with_buttons(_("Set Tempo"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (CloseCallBack), (void *) this); m_whole_kind = gtk_radio_button_new (NULL); m_kind_2 = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (m_whole_kind)); m_kind_2_dot = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (m_whole_kind)); m_kind_4 = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (m_whole_kind)); m_kind_4_dot = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (m_whole_kind)); m_kind_8 = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (m_whole_kind)); m_kind_8_dot = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (m_whole_kind)); m_kind_16 = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (m_whole_kind)); m_kind_16_dot = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (m_whole_kind)); image_whole = gtk_image_new_from_stock("fullnote_icon", GTK_ICON_SIZE_BUTTON); image_note_2 = gtk_image_new_from_stock("halfnote-icon", GTK_ICON_SIZE_BUTTON); image_note_2_dot = gtk_image_new_from_stock("halfnote-dot-icon", GTK_ICON_SIZE_BUTTON); image_note_4 = gtk_image_new_from_stock("quarternote-icon", GTK_ICON_SIZE_BUTTON); image_note_4_dot = gtk_image_new_from_stock("quarternote-dot-icon", GTK_ICON_SIZE_BUTTON); image_note_8 = gtk_image_new_from_stock("eighthnote-icon", GTK_ICON_SIZE_BUTTON); image_note_8_dot = gtk_image_new_from_stock("eighthnote-dot-icon", GTK_ICON_SIZE_BUTTON); image_note_16 = gtk_image_new_from_stock("sixteenthnote-icon", GTK_ICON_SIZE_BUTTON); image_note_16_dot = gtk_image_new_from_stock("sixteenthnote-dot-icon", GTK_ICON_SIZE_BUTTON); vbox_whole = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(vbox_whole), m_whole_kind, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_whole), image_whole, FALSE, FALSE, 4); vbox_note_2 = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(vbox_note_2), m_kind_2, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_note_2), image_note_2, FALSE, FALSE, 4); vbox_note_2_dot = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(vbox_note_2_dot), m_kind_2_dot, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_note_2_dot), image_note_2_dot, FALSE, FALSE, 4); vbox_note_4 = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(vbox_note_4), m_kind_4, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_note_4), image_note_4, FALSE, FALSE, 4); vbox_note_4_dot = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(vbox_note_4_dot), m_kind_4_dot, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_note_4_dot), image_note_4_dot, FALSE, FALSE, 4); vbox_note_8 = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(vbox_note_8), m_kind_8, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_note_8), image_note_8, FALSE, FALSE, 4); vbox_note_8_dot = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(vbox_note_8_dot), m_kind_8_dot, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_note_8_dot), image_note_8_dot, FALSE, FALSE, 4); vbox_note_16 = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(vbox_note_16), m_kind_16, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_note_16), image_note_16, FALSE, FALSE, 4); vbox_note_16_dot = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(vbox_note_16_dot), m_kind_16_dot, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_note_16_dot), image_note_16_dot, FALSE, FALSE, 4); kind_hbox = gtk_hbox_new(FALSE, 8); gtk_box_pack_start(GTK_BOX(kind_hbox), vbox_whole, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(kind_hbox), vbox_note_2, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(kind_hbox), vbox_note_2_dot, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(kind_hbox), vbox_note_4, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(kind_hbox), vbox_note_4_dot, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(kind_hbox), vbox_note_8, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(kind_hbox), vbox_note_8_dot, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(kind_hbox), vbox_note_16, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(kind_hbox), vbox_note_16_dot, FALSE, FALSE, 0); kind_frame = gtk_frame_new(_("kind")); gtk_container_add (GTK_CONTAINER(kind_frame), kind_hbox); switch (kind) { case WHOLE_NOTE: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_whole_kind), TRUE); break; case NOTE_2: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_kind_2), !m_dot); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_kind_2_dot), m_dot); break; case NOTE_4: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_kind_4), !m_dot); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_kind_4_dot), m_dot); break; case NOTE_8: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_kind_8), !m_dot); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_kind_8_dot), m_dot); break; default: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_kind_16), !m_dot); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_kind_16_dot), TRUE); break; } if (relative) { m_tempo_spin_box = gtk_spin_button_new_with_range (-999, 999.0, 1.0); } else { m_tempo_spin_box = gtk_spin_button_new_with_range (10.0, 999.0, 1.0); } gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_tempo_spin_box), tempo); lab = gtk_label_new(_("tempo:")); tempo_hbox = gtk_hbox_new(FALSE, 8); gtk_box_pack_start(GTK_BOX(tempo_hbox), lab, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(tempo_hbox), m_tempo_spin_box, FALSE, FALSE, 0); tempo_frame = gtk_frame_new(_("tempo")); gtk_container_add (GTK_CONTAINER(tempo_frame), tempo_hbox); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), kind_frame); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), tempo_frame); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedTempoDialog::CloseCallBack(GtkDialog *dialog, gint result, gpointer data) { NedTempoDialog *tempo_dialog = (NedTempoDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: tempo_dialog->m_state = TRUE; break; default: tempo_dialog->m_state = FALSE; break; } tempo_dialog->m_tempo = (unsigned int) (gtk_spin_button_get_value(GTK_SPIN_BUTTON(tempo_dialog->m_tempo_spin_box)) + 0.4); tempo_dialog->m_kind = NOTE_4; tempo_dialog->m_dot = false; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tempo_dialog->m_whole_kind))) { tempo_dialog->m_kind = WHOLE_NOTE; tempo_dialog->m_dot = false; } if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tempo_dialog->m_kind_2))) { tempo_dialog->m_kind = NOTE_2; tempo_dialog->m_dot = false; } if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tempo_dialog->m_kind_2_dot))) { tempo_dialog->m_kind = NOTE_2; tempo_dialog->m_dot = true; } if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tempo_dialog->m_kind_4))) { tempo_dialog->m_kind = NOTE_4; tempo_dialog->m_dot = false; } if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tempo_dialog->m_kind_4_dot))) { tempo_dialog->m_kind = NOTE_4; tempo_dialog->m_dot = true; } if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tempo_dialog->m_kind_8))) { tempo_dialog->m_kind = NOTE_8; tempo_dialog->m_dot = false; } if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tempo_dialog->m_kind_8_dot))) { tempo_dialog->m_kind = NOTE_8; tempo_dialog->m_dot = true; } if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tempo_dialog->m_kind_16))) { tempo_dialog->m_kind = NOTE_16; tempo_dialog->m_dot = false; } if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tempo_dialog->m_kind_16_dot))) { tempo_dialog->m_kind = NOTE_16; tempo_dialog->m_dot = true; } gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedTempoDialog::getValues(bool *state, unsigned int *kind, bool *dot, unsigned int *tempo) { *state = m_state; *tempo = m_tempo; *kind = m_kind; *dot = m_dot; } nted-1.10.18/dialogs/midirecordconfigdialog.h0000664001041000007640000000476411520267217016034 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef MIDI_RECORD_CONFIG_H #define MIDI_RECORD_CONFIG_H #include "config.h" #include #include class NedMidiRecordConfigDialog { public: NedMidiRecordConfigDialog(GtkWindow *parent, int num, int denom, int midi_pgm, int tempo_inverse, int metro_volume, bool triplet, bool f_piano, bool dnt_split, int keysig); void getValues(bool *state, int *num, int *denom, int *midi_pgm, int *tempo_inverse, int *metro_volume, bool *triplet, bool *f_piano, bool *dnt_split, int *keysig); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static gboolean OnScroll(GtkWidget *widget, GdkEventScroll *event, gpointer data); static void OnPianoForcePressed(GtkButton *button, gpointer data); static void OnDontSplitPressed(GtkButton *button, gpointer data); GtkObject *m_instrument_adjustment; GtkWidget *m_instrument_list; GtkWidget *m_numerator; GtkWidget *m_denominator; GtkWidget *m_with_triplet_button; GtkWidget *m_force_piano_button; GtkWidget *m_dont_split_button; GtkWidget *m_tempo_scale; GtkWidget *m_metro_volume_scale; GtkWidget *m_sig_radio_buttons[14]; bool m_state; int m_num, m_denom; int m_pgm; int m_tempo_inverse; int m_metro_volume; bool m_triplet, m_f_piano, m_dnt_split; int m_keysig; }; #endif /* MIDI_RECORD_CONFIG_H */ nted-1.10.18/dialogs/portchoosedialog.h0000664001041000007640000000341611520267217014703 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef PORT_CHOOSE_DIALOG_H #define PORT_CHOOSE_DIALOG_H #include "config.h" #include class NedPortChooseDialog { public: NedPortChooseDialog(GtkWindow *parent, GList *ports, unsigned int idx, bool midi_echo, bool show_echo_box); unsigned int getSelection() {return m_idx;} bool getMidiEcho() {return m_midi_echo;} private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); unsigned int m_idx; GtkWidget *m_port_list_view; GtkWidget *m_midi_echo_check_box; bool m_midi_echo; bool m_with_midi_echo_box; }; #endif /* PORT_CHOOSE_DIALOG_H */ nted-1.10.18/dialogs/tupletdialog.h0000664001041000007640000000320711520267217014031 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef TUPLET_DIALOG_H #define TUPLET_DIALOG_H #include "config.h" #include class NedTupletDialog { public: NedTupletDialog(GtkWindow *parent); void getValues(bool *state, int *tupletval, int *method); private: static void CloseCallBack(GtkDialog *dialog, gint result, gpointer data); GtkWidget *m_tuplet_spin_box; GtkWidget *m_method_check_button; bool m_state; int m_method; int m_tuplet_val; }; #endif /* TUPLET_DIALOG_H */ nted-1.10.18/dialogs/midiimportdialog.h0000664001041000007640000000443011520267217014670 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef MIDI_IMPORT_DIALOG_H #define MIDI_IMPORT_DIALOG_H #include "config.h" #include class NedMidiImportDialog { public: NedMidiImportDialog(GtkWindow *parent, char **folder, char **filename); void getValues(bool *state, bool *with_triplets, int *tempo_change_density, int *volume_change_density, bool *force_piano, bool *sort_instruments, bool *dont_split); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static void OnPianoForcePressed(GtkButton *button, gpointer data); static void OnDontSplitPressed(GtkButton *button, gpointer data); GtkWidget *m_with_triplet_button; GtkWidget *m_tempo_change_density_scale; GtkWidget *m_volume_change_density_scale; GtkWidget *m_file_chooser; GtkWidget *m_force_piano_button; GtkWidget *m_sort_instruments_button; GtkWidget *m_dont_split_button; bool m_state; bool m_with_triplets; int m_tempo_change_density; int m_volume_change_density; bool m_force_piano; bool m_sort_instruments; bool m_dont_split; gchar **m_last_folder; gchar **m_filename; }; #endif /* MIDI_IMPORT_DIALOG_H */ nted-1.10.18/dialogs/lilypondexportdialog.cpp0000664001041000007640000001647211520267217016153 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "lilypondexportdialog.h" #include "localization.h" #include "resource.h" #include "mainwindow.h" #include "staffselectdialog.h" #define LILYPOND_EXPORT_DIALOG_WIDTH 500 #define LILYPOND_EXPORT_DIALOG_HEIGHT 450 NedLilyPondExportDialog::NedLilyPondExportDialog(GtkWindow *parent, NedMainWindow *main_window, char *filename, bool *selected_staves, bool *keep_beams) : m_main_window(main_window), m_with_breaks(true), m_filename(filename), m_selected_staves(selected_staves), m_keep_beams(keep_beams) { GtkWidget *select_button; GtkWidget *beam_button; GtkWidget *hbox; GtkWidget *param_frame; char *cptr1, *cptr2; bool full = false; char fnam[4096], foldername[4096]; GtkWidget *main_vbox; m_dialog = gtk_dialog_new_with_buttons(_("LilyPond export"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(m_dialog, "response", G_CALLBACK (OnClose), (void *) this); m_file_chooser = gtk_file_chooser_widget_new(GTK_FILE_CHOOSER_ACTION_SAVE); GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, "*.ly (LilyPond-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.ly"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(m_file_chooser), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(m_file_chooser), file_filter2); main_vbox = gtk_vbox_new(FALSE, 2); param_frame = gtk_frame_new(_("export params")); hbox = gtk_hbox_new(FALSE, 2); m_with_break_checkbox = gtk_check_button_new_with_label(_("create line breaks")); gtk_box_pack_start (GTK_BOX(hbox), m_with_break_checkbox, TRUE, TRUE, 0); if (main_window->getStaffCount() > 1) { select_button = gtk_button_new_with_label(_("select staves")); g_signal_connect(select_button, "pressed", G_CALLBACK (OnStaffSelection), (void *) this); gtk_box_pack_start (GTK_BOX(hbox), select_button, TRUE, TRUE, 0); } beam_button = gtk_button_new_with_label(_("keep beams")); g_signal_connect(beam_button, "pressed", G_CALLBACK (OnBeamSelection), (void *) this); gtk_box_pack_start (GTK_BOX(hbox), beam_button, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER(param_frame), hbox); gtk_box_pack_start (GTK_BOX(main_vbox), param_frame, FALSE, FALSE, 5); gtk_box_pack_start (GTK_BOX(main_vbox), m_file_chooser, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(m_dialog)->vbox), main_vbox); gtk_window_set_default_size (GTK_WINDOW (m_dialog), LILYPOND_EXPORT_DIALOG_WIDTH, LILYPOND_EXPORT_DIALOG_HEIGHT); gtk_widget_show_all (m_dialog); if (strlen(filename) > 0) { for (cptr1 = filename; *cptr1 != '\0'; cptr1++) { if ((*(unsigned char *) cptr1) <= ' ') continue; if (*cptr1 == '/') { full = true; break; } } if (full) { if ((cptr2 = strrchr(filename, '/')) != NULL) { strncpy(foldername, cptr1, cptr2 - cptr1); foldername[cptr2 - cptr1] = '\0'; gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(m_file_chooser), foldername); strcpy (fnam, cptr2 + 1); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(m_file_chooser), foldername); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(m_file_chooser), fnam); } else { gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(m_file_chooser), "/tmp"); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(m_file_chooser), m_filename); } } else { gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(m_file_chooser), "/tmp"); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(m_file_chooser), m_filename); } } gtk_dialog_run(GTK_DIALOG(m_dialog)); } void NedLilyPondExportDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { char *s; char *cptr; bool empty; NedLilyPondExportDialog *lilyexport_dialog = (NedLilyPondExportDialog *) data; lilyexport_dialog->m_with_breaks = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lilyexport_dialog->m_with_break_checkbox)); switch (result) { case GTK_RESPONSE_ACCEPT: lilyexport_dialog->m_state = TRUE; s = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(lilyexport_dialog->m_file_chooser)); if (s == NULL) { lilyexport_dialog->m_state = FALSE; break; } empty = true; for (cptr = s; *cptr != '\0'; cptr++) { if ((*(unsigned char *) cptr) > ' ') { empty = false; break; } } if (empty) { lilyexport_dialog->m_state = FALSE; break; } empty = true; for (int i = 0; i < lilyexport_dialog->m_main_window->getStaffCount(); i++) { if (lilyexport_dialog->m_selected_staves[i]) { empty = false; break; } } if (empty) { lilyexport_dialog->m_state = FALSE; break; } strcpy(lilyexport_dialog->m_filename, s); break; default: lilyexport_dialog->m_state = FALSE; break; } gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedLilyPondExportDialog::getValues(bool *state, bool *with_break) { *state = m_state; *with_break = m_with_breaks; } void NedLilyPondExportDialog::OnStaffSelection (GtkButton *button, gpointer data) { bool state; NedLilyPondExportDialog *lilyexport_dialog = (NedLilyPondExportDialog *) data; for (int i = 0; i < lilyexport_dialog->m_main_window->getStaffCount(); lilyexport_dialog->m_selected_staves[i++] = false); NedStaffSelectDialog *staff_select_dialog = new NedStaffSelectDialog(GTK_WINDOW(lilyexport_dialog->m_dialog), _("Staff selection"), lilyexport_dialog->m_main_window, lilyexport_dialog->m_selected_staves); staff_select_dialog->getValues(&state); } void NedLilyPondExportDialog::OnBeamSelection (GtkButton *button, gpointer data) { bool state; NedLilyPondExportDialog *lilyexport_dialog = (NedLilyPondExportDialog *) data; for (int i = 0; i < lilyexport_dialog->m_main_window->getStaffCount(); lilyexport_dialog->m_keep_beams[i++] = false); NedStaffSelectDialog *staff_select_dialog = new NedStaffSelectDialog(GTK_WINDOW(lilyexport_dialog->m_dialog), _("keep beams selection"), lilyexport_dialog->m_main_window, lilyexport_dialog->m_keep_beams); staff_select_dialog->getValues(&state); } nted-1.10.18/dialogs/clefconfigdialog.h0000664001041000007640000000441211520267217014612 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CLEF_CONTEXT_DIALOG_H #define CLEF_CONTEXT_DIALOG_H #include "config.h" #include #include class NedClefConfigDialog { public: NedClefConfigDialog(GtkWindow *parent, int clef_number, int octave_shift); void getValues(bool *state, int *clef_number, int *octave_shift, bool *adjust_notes); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static gboolean OnScroll(GtkWidget *widget, GdkEventScroll *event, gpointer data); static gboolean draw_clefs(GtkWidget *widget, GdkEventExpose *event, gpointer data); static void decrease_clef_number (GtkButton *button, gpointer user_data); static void increase_clef_number (GtkButton *button, gpointer user_data); static void octave_shift_change(GtkSpinButton *spinbutton, gpointer user_data); GtkWidget *m_clef_show_window; GtkWidget *m_clef_bu_up; GtkWidget *m_clef_bu_down; GtkWidget *m_octave_shift_spin_box; GtkWidget *m_adjust_check_box; int m_octave_shift; bool m_state; bool m_do_adjust; int m_current_clef, m_newclef; }; #endif /* CLEF_CONTEXT_DIALOG_H */ nted-1.10.18/dialogs/signsdialog.cpp0000664001041000007640000001232411520267217014172 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "signsdialog.h" #include "localization.h" #include "resource.h" #include "freesign.h" #include "mainwindow.h" #define SIGN_BOX_WIDTH 40 #define SIGN_BOX_HEIGHT 40 #define RECT_OFFS 4 #define MAX_XVAL 3 #define MAX_YVAL 0 NedSignsDialog::NedSignsDialog(GtkWindow *parent) : m_current_row(-1), m_current_column(-1) { GtkWidget *dialog; GtkWidget *sign_frame; GtkWidget *sign_image_widget; m_black.pixel = 1; m_black.red = m_black.green = m_black.blue = 0; m_red.pixel = 2; m_red.red = 65535; m_red.green = m_red.blue = 0; dialog = gtk_dialog_new_with_buttons(_("Signs"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); sign_frame = gtk_frame_new(_("signs")); sign_image_widget = gtk_drawing_area_new(); gtk_drawing_area_size(GTK_DRAWING_AREA(sign_image_widget), NedResource::m_lines_buf_width, NedResource::m_lines_buf_height); g_signal_connect (sign_image_widget, "expose-event", G_CALLBACK (draw_menu), (void *) this); gtk_container_add (GTK_CONTAINER(sign_frame), sign_image_widget); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), sign_frame); gtk_widget_show_all (dialog); m_drawing_area_gc = gdk_gc_new(sign_image_widget->window); gtk_widget_add_events(sign_image_widget, GDK_BUTTON_PRESS_MASK); g_signal_connect (sign_image_widget, "button-press-event", G_CALLBACK (change_selection), (void *) this); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedSignsDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { NedSignsDialog *lines_dialog = (NedSignsDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: lines_dialog->m_state = TRUE; break; default: lines_dialog->m_state = FALSE; break; } gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedSignsDialog::getValues(bool *state, int *signtype) { *state = m_state && m_current_row >= 0 && m_current_column >= 0; *signtype = 0; if (state) { switch (m_current_row) { case 0: switch(m_current_column) { case 0: *signtype = SIGN_CODA; break; case 1: *signtype = SIGN_SEGNO; break; case 2: *signtype = SIGN_BREATH1; break; case 3: *signtype = SIGN_BREATH2; break; } break; } } } gboolean NedSignsDialog::draw_menu(GtkWidget *widget, GdkEventExpose *event, gpointer data) { NedSignsDialog *lines_dialog = (NedSignsDialog *) data; gdk_gc_set_foreground(lines_dialog->m_drawing_area_gc, &(lines_dialog->m_black)); gdk_gc_set_rgb_fg_color(lines_dialog->m_drawing_area_gc, &(lines_dialog->m_black)); gdk_draw_pixbuf(widget->window, lines_dialog->m_drawing_area_gc, NedResource::m_signs, 0, 0, 0, 0, NedResource::m_signs_buf_width, NedResource::m_signs_buf_height, GDK_RGB_DITHER_NONE, 0, 0); if (lines_dialog->m_current_row >= 0 && lines_dialog->m_current_column >= 0) { gdk_gc_set_foreground(lines_dialog->m_drawing_area_gc, &(lines_dialog->m_red)); gdk_gc_set_rgb_fg_color(lines_dialog->m_drawing_area_gc, &(lines_dialog->m_red)); gdk_draw_rectangle(widget->window, lines_dialog->m_drawing_area_gc, false, lines_dialog->m_current_column * SIGN_BOX_WIDTH + RECT_OFFS, lines_dialog->m_current_row * SIGN_BOX_HEIGHT + RECT_OFFS, SIGN_BOX_WIDTH - 2 * RECT_OFFS, SIGN_BOX_HEIGHT - 2 * RECT_OFFS); } return FALSE; } gboolean NedSignsDialog::change_selection (GtkWidget *widget, GdkEventButton *event, gpointer data) { GdkRectangle rect; int dummy; int newx, newy; NedSignsDialog *signs_dialog = (NedSignsDialog *) data; newx = (int) event->x / SIGN_BOX_WIDTH; newy = (int) event->y / SIGN_BOX_HEIGHT; if (newx > MAX_XVAL) return FALSE; if (newy > MAX_YVAL) return FALSE; signs_dialog->m_current_column = (int) event->x / SIGN_BOX_WIDTH; signs_dialog->m_current_row = (int) event->y / SIGN_BOX_HEIGHT; gdk_window_get_geometry(widget->window, &dummy, &dummy, &rect.width, &rect.height, &dummy); rect.x = rect.y = 0; gdk_window_invalidate_rect (widget->window, &rect, FALSE); return FALSE; } nted-1.10.18/dialogs/mutedialog.h0000664001041000007640000000344611520267217013473 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef MUTE_CONFIGDIALOG_H #define MUTE_CONFIGDIALOG_H #include "config.h" #include #include struct staff_context_str; class NedMuteDialog { public: NedMuteDialog(GtkWindow *parent, bool *mutes, struct staff_context_str *staff_contexts, int numstaffs); void getValues(bool *state); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static void OnAll(GtkButton *button, gpointer data); static void OnNone(GtkButton *button, gpointer data); GtkWidget **m_checkboxes; bool *m_mutes; bool m_state; int m_numstaffs; }; #endif /* MUTE_CONFIGDIALOG_H */ nted-1.10.18/dialogs/keysigdialog.h0000664001041000007640000000332411520267217014007 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef KEYSIG_DIALOG_H #define KEYSIG_DIALOG_H #include "config.h" #include #include class NedKeysigDialog { public: NedKeysigDialog(GtkWindow *parent, int key_signature_number); void getValues(bool *state, int *key_signature_number, bool *adjust_notes); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); GtkWidget *m_sig_radio_buttons[14]; GtkWidget *m_adjust_check_box; bool m_state; int m_key_signature_number; bool m_do_adjust; }; #endif /* KEYSIG_DIALOG_H */ nted-1.10.18/dialogs/mutedialog.cpp0000664001041000007640000001074711520267217014030 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "mutedialog.h" #include "localization.h" #include "resource.h" #include "mainwindow.h" #include "pangocairotext.h" NedMuteDialog::NedMuteDialog(GtkWindow *parent, bool *mutes, struct staff_context_str *staff_contexts, int numstaffs) : m_mutes(mutes), m_numstaffs(numstaffs) { GtkWidget *dialog; bool is_muted; int i, j; char Str[128]; dialog = gtk_dialog_new_with_buttons(_("Muting"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); GtkWidget *buttonbox; GtkWidget *allbutton; GtkWidget *nonebutton; GtkWidget *hbox; GtkWidget *mute_frame; buttonbox = gtk_vbox_new(FALSE, 0); try { m_checkboxes= new GtkWidget*[numstaffs]; } catch(std::exception& e){ NedResource::Abort("NedMuteDialog: allocation error1"); } for (i = 0; i < numstaffs; i++) { if (staff_contexts[i].m_staff_name == NULL) { sprintf(Str, _("Staff %d"), i); m_checkboxes[i] = gtk_check_button_new_with_label(Str); } else { m_checkboxes[i] = gtk_check_button_new_with_label(staff_contexts[i].m_staff_name->getText()); } is_muted = true; for (j = 0; j < VOICE_COUNT; j++) { if (!staff_contexts[i].m_muted[j]) is_muted = false; } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_checkboxes[i]), is_muted); gtk_box_pack_start(GTK_BOX(buttonbox), m_checkboxes[i], FALSE, FALSE, 0); } mute_frame = gtk_frame_new(_("muting")); hbox = gtk_hbox_new(TRUE, 0); allbutton = gtk_button_new_with_label(_("all")); g_signal_connect(allbutton, "pressed", G_CALLBACK (OnAll), (void *) this); nonebutton = gtk_button_new_with_label(_("none")); g_signal_connect(nonebutton, "pressed", G_CALLBACK (OnNone), (void *) this); gtk_box_pack_start(GTK_BOX(hbox), allbutton, TRUE, TRUE, 5); gtk_box_pack_start(GTK_BOX(hbox), nonebutton, TRUE, TRUE, 5); gtk_box_pack_start(GTK_BOX(buttonbox), hbox, TRUE, TRUE, 5); gtk_container_add (GTK_CONTAINER(mute_frame), buttonbox); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), mute_frame); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedMuteDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { int i; NedMuteDialog *mute_dialog = (NedMuteDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: mute_dialog->m_state = TRUE; break; default: mute_dialog->m_state = FALSE; break; } for (i = 0; i < mute_dialog->m_numstaffs; i++) { mute_dialog->m_mutes[i] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(mute_dialog->m_checkboxes[i])); } gtk_widget_destroy (GTK_WIDGET(dialog)); delete[] mute_dialog->m_checkboxes; } void NedMuteDialog::getValues(bool *state) { *state = m_state; } void NedMuteDialog::OnAll(GtkButton *button, gpointer data) { int i; NedMuteDialog *mute_dialog = (NedMuteDialog *) data; for (i = 0; i < mute_dialog->m_numstaffs; i++) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(mute_dialog->m_checkboxes[i]), TRUE); } } void NedMuteDialog::OnNone(GtkButton *button, gpointer data) { int i; NedMuteDialog *mute_dialog = (NedMuteDialog *) data; for (i = 0; i < mute_dialog->m_numstaffs; i++) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(mute_dialog->m_checkboxes[i]), FALSE); } } nted-1.10.18/dialogs/tools.h0000664001041000007640000001322411520267217012474 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef TOOLS_H #define TOOLS_H #include "config.h" #include #include class NedMainWindow; class X11buttonGroup; #define NUM_PANELS 5 class X11button { public: X11button(Display *dpy, Window win, GC xgc, int screen, XImage *img[2], int xpos, int ypos, int width, int height, int column, int row, int panel, int type, int scope, bool enabled, bool default_state); ~X11button(); void draw(); void toggle(); bool handle_click(gdouble x, gdouble y); bool handle_release(gdouble x, gdouble y); X11buttonGroup *m_button_group; bool m_active; int m_type; int m_row, m_column; int m_panel; private: void notifyMainWindow(NedMainWindow *current_main_window); Display *m_dpy; Window m_win; GC m_xgc; int m_screen; #define EMPTY_BUTTON 0 #define PUSH_BUTTON 1 #define TOGGLE_BUTTON 2 bool m_enabled; bool m_default_state; int m_scope; #define SCOPE_NONE 0 #define SCOPE_NOTE_LENGTH 1 #define SCOPE_STATE 2 #define SCOPE_NOTE_STATE 3 #define SCOPE_NOTE_HEAD 4 #define SCOPE_DOTS 5 #define SCOPE_TIES 6 XImage *m_img[2]; int m_xpos, m_ypos; int m_width, m_height; }; class X11buttonGroup { public: X11buttonGroup(bool all_inactive_allowed); void removeAllButtons(); void addX11button(X11button *button); void removeX11button(X11button *button); bool allowStateChange(X11button *button); void stateChanged(X11button *button); void resetAllButtons(); private: GList *m_buttons; bool m_all_inactive_allowed; }; class NedTools { public: NedTools(); ~NedTools(); void Show(); void getValues(bool *state); unsigned int getCurrentLength(); int getCurrentNoteHead(); unsigned int getStatus(); bool getRestMode(); int getDotCount(); bool getTiedMode(); void setButtons(unsigned int length, int dotcount, unsigned int chord_status, unsigned int note_status, bool isRest, bool tie_forward, int note_head); void setNoteLengthButtons(unsigned int length); void setToolboxTransient(NedMainWindow *m_win); void toggleButton(int nr); void toggleRest(); void toggleTie(); void toggleDot(); void toggleSharp(); void toggleNatural(); void toggleFlat(); void resetButtons(); void resetTieButton(); void resetSomeButtons(); void updatePosition(); private: void createButtons(Display *dpy, Window win, GC xgc, GdkGC *ggc, GdkDrawable *d, int screen); void createMiniButtons(Display *dpy, Window win, GC xgc, GdkGC *ggc, GdkDrawable *d, int screen); void determine_image_and_dimensions(Display *dpy, Window win, GdkGC *ggc, GdkDrawable *d, int screen, int panel, int row, int column, int bu_nr, GdkPixbuf *buf, XImage *img[2], int *w, int *h); void determine_mini_image_and_dimensions(Display *dpy, Window win, GdkGC *ggc, GdkDrawable *d, int screen, GdkPixbuf *buf, XImage *img[2], int type, int *w, int *h); void testForPanelChange(X11button *button); static bool close_toolbox(GtkWidget *widget, GdkEvent *event, gpointer data); class button_descr { public: GdkPixbuf **m_pixbuf; int m_type; int m_scope; bool m_default_state; X11buttonGroup *m_button_group; }; static button_descr m_button_descriptions[NUM_PANELS][17]; static button_descr m_mini_button_descriptions[8]; static X11button *m_button_arrays[NUM_PANELS][17]; static X11button *m_mini_button_arrays[8]; GdkGC *m_copy_gc, *m_blue_gc; Display *m_dpy; Window m_win; GC m_xgc; int m_screen; static gboolean OnDelete(GtkWidget *widget, GdkEvent *event, gpointer data); static gboolean key_press_handler(GtkWidget *widget, GdkEventKey *event, gpointer data); static bool OnButtonPress(GtkWidget *widget, GdkEventButton *event, gpointer data); static bool OnButtonRelease(GtkWidget *widget, GdkEventButton *event, gpointer data); static gboolean draw_menu(GtkWidget *widget, GdkEventExpose *event, gpointer data); static XImage *createX11PixmapFromGdkPixbuffer(Display *dpy, int screen, GdkDrawable *d, GdkGC *gc, GdkPixbuf *pixbuf, int background, bool up); GtkWidget *m_button_area; GtkWidget *m_button_frame; GtkWidget *m_toolbox; GdkPixmap *m_back_pix; static X11buttonGroup m_accidentals, m_note_length_group, m_note_head_group, m_dot_group, m_tremolo_group; bool m_state; int m_current_row, m_current_column; int m_current_panel; int m_buttons_created; static int m_back_img_width, m_back_img_height; static int m_back_miniimg_width, m_back_miniimg_height; static int m_mini_spaces; }; #endif /* TOOLS_H */ nted-1.10.18/dialogs/insertblockdialog.h0000664001041000007640000000314211520267217015031 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef INSERT_BLOCK_DIALOG_H #define INSERT_BLOCK_DIALOG_H #include "config.h" #include class NedInsertBlockDialog { public: NedInsertBlockDialog(GtkWindow *parent); void getValues(bool *state, int *blockcount); private: static void CloseCallBack(GtkDialog *dialog, gint result, gpointer data); GtkWidget *m_block_spin_box; bool m_state; int m_blockcount; }; #endif /* INSERT_BLOCK_DIALOG_H */ nted-1.10.18/dialogs/keysigdialog.cpp0000664001041000007640000001060711520267217014344 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "keysigdialog.h" #include "localization.h" #include "staffcontextdialog.h" #include "resource.h" NedKeysigDialog::NedKeysigDialog(GtkWindow *parent, int key_signature_number) : m_state(false), m_key_signature_number(key_signature_number) { int i; GtkWidget *dialog; GtkWidget *key_frame; GtkWidget *key_frame_left_vbox; GtkWidget *key_frame_right_vbox; GtkWidget *radio_hbox; GtkWidget *adjust_frame; dialog = gtk_dialog_new_with_buttons(_("New keysignature"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); key_frame = gtk_frame_new(_("key")); radio_hbox = gtk_hbox_new(FALSE, 2); key_frame_left_vbox = gtk_vbox_new(FALSE, 2); key_frame_right_vbox = gtk_vbox_new(FALSE, 2); m_sig_radio_buttons[0] = gtk_radio_button_new_with_label (NULL, gettext(NedStaffContextDialog::m_keyTab[0])); gtk_box_pack_start (GTK_BOX (key_frame_left_vbox), m_sig_radio_buttons[0], FALSE, FALSE, 0); for (i = -5; i < 7; i++) { m_sig_radio_buttons[i+6] = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_sig_radio_buttons[0]), gettext(NedStaffContextDialog::m_keyTab[i+6])); if (i < 0) { gtk_box_pack_start (GTK_BOX (key_frame_left_vbox), m_sig_radio_buttons[i+6], FALSE, FALSE, 0); } else { gtk_box_pack_start (GTK_BOX (key_frame_right_vbox), m_sig_radio_buttons[i+6], FALSE, FALSE, 0); } } gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (m_sig_radio_buttons[m_key_signature_number+6]), TRUE); gtk_box_pack_start (GTK_BOX (radio_hbox), key_frame_left_vbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (radio_hbox), key_frame_right_vbox, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(key_frame), radio_hbox); adjust_frame = gtk_frame_new(_("adjust")); m_adjust_check_box = gtk_check_button_new_with_label(_("adjust notes")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_adjust_check_box), TRUE); gtk_container_add (GTK_CONTAINER(adjust_frame), m_adjust_check_box); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), key_frame); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), adjust_frame); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedKeysigDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { int i; int newkeysig; NedKeysigDialog *keysig_dialog = (NedKeysigDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: keysig_dialog->m_state = TRUE; break; default: keysig_dialog->m_state = FALSE; break; } newkeysig = 0; keysig_dialog->m_key_signature_number = 0; for (i = 0; i < 13; i++) { if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (keysig_dialog->m_sig_radio_buttons[i]))) { newkeysig = i - 6; } } keysig_dialog->m_key_signature_number = newkeysig; keysig_dialog->m_do_adjust = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(keysig_dialog->m_adjust_check_box)); gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedKeysigDialog::getValues(bool *state, int *key_signature_number, bool *adjust_notes) { *state = m_state; *key_signature_number = m_key_signature_number; *adjust_notes = m_do_adjust; } nted-1.10.18/dialogs/lyricseditor.h0000664001041000007640000000477511520267217014063 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef LYRICS_EDITOR_H #define LYRICS_EDITOR_H #include "config.h" #include "resource.h" #include class NedMainWindow; class NedLyricsEditor { public: NedLyricsEditor(GtkWindow *parent, NedMainWindow *main_window, int staff_nr); ~NedLyricsEditor(); void appendText(int num, const char *text); char *getNextWord(int line); bool m_newchar[MAX_LYRICS_LINES]; void addDot(int line) { number_uf_dots[line]++;} private: static void ResponseCallBack(GtkDialog *dialog, gint result, gpointer data); static void OnSave (GtkButton *button, gpointer data); static void OnLoad (GtkButton *button, gpointer data); static gboolean OnMap1(GtkWidget *widget, GdkEvent *event, gpointer data); static gboolean OnMap2(GtkWidget *widget, GdkEvent *event, gpointer data); static gboolean OnMap3(GtkWidget *widget, GdkEvent *event, gpointer data); static gboolean OnMap4(GtkWidget *widget, GdkEvent *event, gpointer data); static gboolean OnMap5(GtkWidget *widget, GdkEvent *event, gpointer data); int number_uf_dots[MAX_LYRICS_LINES]; GtkTextIter m_itr1[MAX_LYRICS_LINES], m_itr2[MAX_LYRICS_LINES]; GtkTextBuffer *m_buffer[MAX_LYRICS_LINES]; GtkWidget *m_dialog; GtkWidget *m_table; NedMainWindow *m_main_window; char *m_last_folder; int m_current_verse; int m_staff_nr; }; #endif /* LYRICS_EDITOR_H */ nted-1.10.18/dialogs/measureconfigdialog.cpp0000664001041000007640000006141711520267217015705 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "measureconfigdialog.h" #include "localization.h" #include "resource.h" #include "mainwindow.h" #define MEASURE_SHOW_WINDOW_WIDTH 100 #define MEASURE_SHOW_WINDOW_HEIGHT 100 #define MIN_MEASRURE_TYPE 0 #define MAX_MEASURE_TYPE END_BAR NedMeasureConfigDialog::NedMeasureConfigDialog(GtkWindow *parent, int measure_type, bool alter1, bool alter2, bool allow_alter, bool hide_following, int num, int denom, unsigned int sym) : m_measure_type(measure_type & REP_TYPE_MASK), m_num(num), m_denom(denom), m_symbol(sym), m_hide_following(hide_following), m_allow_alter(allow_alter), m_delete_timesig(false) { GtkWidget *dialog; GtkWidget *hbox; GtkWidget *measure_type_frame; GtkWidget *measure_type_hbox; GtkWidget *measure_type_vbox; GtkWidget *measure_type_buttons_vbox; GtkWidget *time_signature_frame; GtkWidget *numerator_label; GtkWidget *denominator_label; GtkWidget *time_signature_vbox; GtkWidget *time_signature_upper_hbox; GtkWidget *time_signature_lower_hbox; GtkWidget *alter_box; GdkColor bgcolor; dialog = gtk_dialog_new_with_buttons(_("Measure type"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); m_original_type = (measure_type & REP_TYPE_MASK); hbox = gtk_hbox_new(FALSE, 5); measure_type_hbox = gtk_hbox_new(FALSE, 5); measure_type_frame = gtk_frame_new(_("measure type")); m_measure_type_show_window = gtk_drawing_area_new (); bgcolor.pixel = 1; bgcolor.red = bgcolor.green = bgcolor.blue = 0xffff; gtk_widget_modify_bg(GTK_WIDGET(m_measure_type_show_window), GTK_STATE_NORMAL, &bgcolor); gtk_drawing_area_size(GTK_DRAWING_AREA(m_measure_type_show_window), MEASURE_SHOW_WINDOW_WIDTH, MEASURE_SHOW_WINDOW_HEIGHT); gtk_container_add (GTK_CONTAINER(measure_type_hbox), m_measure_type_show_window); measure_type_buttons_vbox = gtk_vbox_new(FALSE, 2); m_meas_bu_up = gtk_button_new_from_stock("my-arrow-up-icon"); g_signal_connect (m_meas_bu_up, "pressed", G_CALLBACK(previous_measure_type), (void *) this); m_meas_bu_down = gtk_button_new_from_stock ("my-arrow-down-icon"); g_signal_connect (m_meas_bu_down, "pressed", G_CALLBACK(next_measure_type), (void *) this); gtk_box_pack_start(GTK_BOX(measure_type_buttons_vbox), m_meas_bu_up, FALSE, FALSE, 0); gtk_box_pack_end(GTK_BOX(measure_type_buttons_vbox), m_meas_bu_down, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(measure_type_hbox), measure_type_buttons_vbox, FALSE, FALSE, 0); if (m_measure_type == MIN_MEASRURE_TYPE) { gtk_widget_set_sensitive(m_meas_bu_up, FALSE); } if (m_measure_type == MAX_MEASURE_TYPE) { gtk_widget_set_sensitive(m_meas_bu_down, FALSE); } g_signal_connect (m_measure_type_show_window, "expose-event", G_CALLBACK (draw_measure_types), (void *) this); alter_box = gtk_vbox_new(FALSE, 5); m_alter1_check_box = gtk_check_button_new_with_label(_("alternative 1")); m_alter2_check_box = gtk_check_button_new_with_label(_("alternative 2")); g_signal_connect(m_alter1_check_box, "toggled", G_CALLBACK(alter1_checked), (void *) this); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_alter1_check_box), alter1 && m_allow_alter); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_alter2_check_box), alter2 && m_allow_alter); gtk_widget_set_sensitive(m_alter1_check_box, m_allow_alter && measure_type == REPEAT_CLOSE); gtk_widget_set_sensitive(m_alter2_check_box, (measure_type == REPEAT_CLOSE) && alter1 && m_allow_alter); gtk_box_pack_start(GTK_BOX(alter_box), m_alter1_check_box, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(alter_box), m_alter2_check_box, TRUE, TRUE, 0); m_hide_box = gtk_check_button_new_with_label(_("hide following")); gtk_widget_set_sensitive(m_hide_box, (measure_type & REP_TYPE_MASK) == END_BAR || (measure_type & REP_TYPE_MASK) == REPEAT_CLOSE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_hide_box), m_hide_following); gtk_box_pack_start(GTK_BOX(alter_box), m_hide_box, TRUE, TRUE, 0); measure_type_vbox = gtk_vbox_new(FALSE, 2); gtk_container_add (GTK_CONTAINER(measure_type_vbox), measure_type_hbox); gtk_container_add (GTK_CONTAINER(measure_type_vbox), alter_box); gtk_container_add (GTK_CONTAINER(measure_type_frame), measure_type_vbox); gtk_container_add (GTK_CONTAINER(hbox), measure_type_frame); time_signature_frame = gtk_frame_new(_("time signature")); time_signature_vbox = gtk_vbox_new(FALSE, 5); time_signature_upper_hbox = gtk_hbox_new(FALSE, 5); time_signature_lower_hbox = gtk_hbox_new(FALSE, 5); numerator_label = gtk_label_new(_("Numerator:")); denominator_label = gtk_label_new(_("Denominator:")); m_numerator = gtk_spin_button_new_with_range (1.0, 20.0, 1.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_numerator), m_num); m_denominator = gtk_combo_box_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(m_denominator), "2"); gtk_combo_box_append_text(GTK_COMBO_BOX(m_denominator), "4"); gtk_combo_box_append_text(GTK_COMBO_BOX(m_denominator), "8"); gtk_combo_box_append_text(GTK_COMBO_BOX(m_denominator), "16"); if (m_denom < 4) { gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 0); } else if (m_denom < 8) { gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 1); } else if (m_denom < 16) { gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 2); } else { gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 3); } m_com_time_bu = gtk_toggle_button_new(); gtk_button_set_image(GTK_BUTTON(m_com_time_bu), gtk_image_new_from_stock("comm-icon", GTK_ICON_SIZE_SMALL_TOOLBAR)); m_cut_time_bu = gtk_toggle_button_new(); gtk_button_set_image(GTK_BUTTON(m_cut_time_bu), gtk_image_new_from_stock("cut-icon", GTK_ICON_SIZE_SMALL_TOOLBAR)); g_signal_connect(m_com_time_bu, "toggled", G_CALLBACK (OnCommButtonToggled), (void *) this); g_signal_connect(m_cut_time_bu, "toggled", G_CALLBACK (OnCutButtonToggled), (void *) this); switch (sym) { case TIME_SYMBOL_COMMON_TIME: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_com_time_bu), TRUE); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_numerator), 4); gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 1); break; case TIME_SYMBOL_CUT_TIME: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_cut_time_bu), TRUE); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_numerator), 2); gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 0); break; default: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_cut_time_bu), FALSE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_com_time_bu), FALSE); break; } gtk_widget_set_sensitive(m_denominator, FALSE); gtk_widget_set_sensitive(m_numerator, FALSE); gtk_widget_set_sensitive(m_com_time_bu, FALSE); gtk_widget_set_sensitive(m_cut_time_bu, FALSE); m_timsig_check_box = gtk_check_button_new_with_label(_("enable timesig")); g_signal_connect(m_timsig_check_box, "toggled", G_CALLBACK(OnTimesigToggeled), (void *) this); m_delete_timsig_check_box = gtk_check_button_new_with_label(_("delete timesig")); g_signal_connect(m_delete_timsig_check_box, "toggled", G_CALLBACK(delete_time_sig_checked), (void *) this); gtk_widget_set_sensitive(m_delete_timsig_check_box, FALSE); gtk_box_pack_start (GTK_BOX (time_signature_upper_hbox), numerator_label, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX (time_signature_upper_hbox), m_com_time_bu, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX (time_signature_upper_hbox), m_numerator, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (time_signature_lower_hbox), denominator_label, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX (time_signature_lower_hbox), m_cut_time_bu, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX (time_signature_lower_hbox), m_denominator, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (time_signature_vbox), time_signature_upper_hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (time_signature_vbox), time_signature_lower_hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (time_signature_vbox), m_timsig_check_box, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (time_signature_vbox), m_delete_timsig_check_box, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(time_signature_frame), time_signature_vbox); gtk_container_add (GTK_CONTAINER(hbox), time_signature_frame); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), hbox); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedMeasureConfigDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { NedMeasureConfigDialog *measure_type_dialog = (NedMeasureConfigDialog *) data; measure_type_dialog->m_alter1 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_alter1_check_box)); measure_type_dialog->m_alter2 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_alter2_check_box)); measure_type_dialog->m_hide_following = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_hide_box)); switch (result) { case GTK_RESPONSE_ACCEPT: measure_type_dialog->m_state = TRUE; measure_type_dialog->m_timesig_state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_timsig_check_box)); break; default: measure_type_dialog->m_state = FALSE; measure_type_dialog->m_timesig_state = FALSE; break; } measure_type_dialog->m_num = (int) gtk_spin_button_get_value(GTK_SPIN_BUTTON(measure_type_dialog->m_numerator)); switch (gtk_combo_box_get_active(GTK_COMBO_BOX(measure_type_dialog->m_denominator))) { case 0: measure_type_dialog->m_denom = 2; break; case 1: measure_type_dialog->m_denom = 4; break; case 2: measure_type_dialog->m_denom = 8; break; default: measure_type_dialog->m_denom = 16; break; } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_com_time_bu))) { measure_type_dialog->m_symbol = TIME_SYMBOL_COMMON_TIME; measure_type_dialog->m_num = measure_type_dialog->m_denom = 4; } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_cut_time_bu))) { measure_type_dialog->m_symbol = TIME_SYMBOL_CUT_TIME; measure_type_dialog->m_num = measure_type_dialog->m_denom = 2; } else { measure_type_dialog->m_symbol = TIME_SYMBOL_NONE; } gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedMeasureConfigDialog::OnTimesigToggeled(GtkToggleButton *togglebutton, gpointer data) { NedMeasureConfigDialog *measure_type_dialog = (NedMeasureConfigDialog *) data; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_timsig_check_box))) { gtk_widget_set_sensitive(measure_type_dialog->m_com_time_bu, TRUE); gtk_widget_set_sensitive(measure_type_dialog->m_cut_time_bu, TRUE); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_com_time_bu))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_cut_time_bu), FALSE); gtk_widget_set_sensitive(measure_type_dialog->m_delete_timsig_check_box, TRUE); } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_cut_time_bu))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_com_time_bu), FALSE); gtk_widget_set_sensitive(measure_type_dialog->m_delete_timsig_check_box, TRUE); } else { gtk_widget_set_sensitive(measure_type_dialog->m_numerator, TRUE); gtk_widget_set_sensitive(measure_type_dialog->m_denominator, TRUE); gtk_widget_set_sensitive(measure_type_dialog->m_delete_timsig_check_box, TRUE); } } else { gtk_widget_set_sensitive(measure_type_dialog->m_numerator, FALSE); gtk_widget_set_sensitive(measure_type_dialog->m_denominator, FALSE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_delete_timsig_check_box), FALSE); gtk_widget_set_sensitive(measure_type_dialog->m_delete_timsig_check_box, FALSE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_cut_time_bu), FALSE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(measure_type_dialog->m_com_time_bu), FALSE); gtk_widget_set_sensitive(measure_type_dialog->m_cut_time_bu, FALSE); gtk_widget_set_sensitive(measure_type_dialog->m_com_time_bu, FALSE); measure_type_dialog->m_delete_timesig = false; } } void NedMeasureConfigDialog::delete_time_sig_checked (GtkToggleButton *togglebutton, gpointer data) { NedMeasureConfigDialog *the_dialog = (NedMeasureConfigDialog *) data; the_dialog->m_delete_timesig = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(the_dialog->m_delete_timsig_check_box)); } void NedMeasureConfigDialog::getValues(bool *state, int *measure_type, bool *alter1, bool *alter2, bool *hide_following, bool *timsig_state, bool *delete_timesig, int *num, int *denom, unsigned int *sym ) { *state = m_state; *measure_type = m_measure_type; *alter1 = m_alter1 && m_measure_type == 2; *alter2 = m_alter2 && m_measure_type == 2; *hide_following = m_hide_following; *num = m_num; *denom = m_denom; *timsig_state = m_timesig_state; *delete_timesig = m_delete_timesig; *sym = m_symbol; } gboolean NedMeasureConfigDialog::draw_measure_types(GtkWidget *widget, GdkEventExpose *event, gpointer data) { #define ZOOM_FACTOR 40.0 #define LINE_XPOS 50.0 #define MINY 30.0 #define MAXY (MINY + ZOOM_FACTOR * 4 * LINE_DIST) #define MINI_STAFF_START (LINE_XPOS - 30.0) #define MINI_STAFF_END (MINI_STAFF_START + 60.0) int i; NedMeasureConfigDialog *the_dialog = (NedMeasureConfigDialog *) data; cairo_t *cr; cr = gdk_cairo_create (the_dialog->m_measure_type_show_window->window); cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); cairo_rectangle (cr, 0, 0, the_dialog->m_measure_type_show_window->allocation.width, the_dialog->m_measure_type_show_window->allocation.height); cairo_fill(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); switch (the_dialog->m_measure_type) { case REPEAT_OPEN: cairo_new_path(cr); cairo_set_line_width(cr, ZOOM_FACTOR * REPEAT_MEASURE_LINE_THICK); cairo_move_to(cr, LINE_XPOS + REP_THICK_LINE_DIST * ZOOM_FACTOR, MINY); cairo_line_to(cr, LINE_XPOS + REP_THICK_LINE_DIST * ZOOM_FACTOR, MAXY); cairo_stroke(cr); cairo_new_path(cr); cairo_arc(cr, LINE_XPOS + (REP_THICK_LINE_DIST + REP_DOTS_X_DIST) * ZOOM_FACTOR, MINY + REP_DOTS_Y1DIST * ZOOM_FACTOR, REP_DOTS_RADIUS * ZOOM_FACTOR, 0.0, 2.0 * M_PI); cairo_arc(cr, LINE_XPOS + (REP_THICK_LINE_DIST + REP_DOTS_X_DIST) * ZOOM_FACTOR, MINY + REP_DOTS_Y2DIST * ZOOM_FACTOR, REP_DOTS_RADIUS * ZOOM_FACTOR, 0.0, 2.0 * M_PI); cairo_fill(cr); break; case REPEAT_CLOSE: cairo_new_path(cr); cairo_set_line_width(cr, ZOOM_FACTOR * REPEAT_MEASURE_LINE_THICK); cairo_move_to(cr, LINE_XPOS + REP_THICK_LINE_DIST * ZOOM_FACTOR, MINY); cairo_line_to(cr, LINE_XPOS + REP_THICK_LINE_DIST * ZOOM_FACTOR, MAXY); cairo_stroke(cr); cairo_new_path(cr); cairo_arc(cr, LINE_XPOS - REP_DOTS_X_DIST * 0.8 * ZOOM_FACTOR, MINY + REP_DOTS_Y1DIST * ZOOM_FACTOR, REP_DOTS_RADIUS * ZOOM_FACTOR, 0.0, 2.0 * M_PI); cairo_arc(cr, LINE_XPOS - REP_DOTS_X_DIST * 0.8 * ZOOM_FACTOR, MINY + REP_DOTS_Y2DIST * ZOOM_FACTOR, REP_DOTS_RADIUS * ZOOM_FACTOR, 0.0, 2.0 * M_PI); cairo_fill(cr); break; case REPEAT_OPEN_CLOSE: cairo_new_path(cr); cairo_set_line_width(cr, ZOOM_FACTOR * REPEAT_MEASURE_LINE_THICK); cairo_move_to(cr, LINE_XPOS, MINY); cairo_line_to(cr, LINE_XPOS, MAXY); cairo_stroke(cr); cairo_new_path(cr); cairo_set_line_width(cr, ZOOM_FACTOR * MEASURE_LINE_THICK); cairo_move_to(cr, LINE_XPOS + REP_THICK_LINE_DIST * ZOOM_FACTOR, MINY); cairo_line_to(cr, LINE_XPOS + REP_THICK_LINE_DIST * ZOOM_FACTOR, MAXY); cairo_move_to(cr, LINE_XPOS - REP_THICK_LINE_DIST * ZOOM_FACTOR, MINY); cairo_line_to(cr, LINE_XPOS - REP_THICK_LINE_DIST * ZOOM_FACTOR, MAXY); cairo_stroke(cr); cairo_new_path(cr); cairo_arc(cr, LINE_XPOS - (REP_THICK_LINE_DIST + REP_DOTS_X_DIST) * ZOOM_FACTOR, MINY + REP_DOTS_Y1DIST * ZOOM_FACTOR, REP_DOTS_RADIUS * ZOOM_FACTOR, 0.0, 2.0 * M_PI); cairo_arc(cr, LINE_XPOS - (REP_THICK_LINE_DIST + REP_DOTS_X_DIST) * ZOOM_FACTOR, MINY + REP_DOTS_Y2DIST * ZOOM_FACTOR, REP_DOTS_RADIUS * ZOOM_FACTOR, 0.0, 2.0 * M_PI); cairo_fill(cr); cairo_new_path(cr); cairo_arc(cr, LINE_XPOS + (REP_THICK_LINE_DIST + REP_DOTS_X_DIST) * ZOOM_FACTOR, MINY + REP_DOTS_Y1DIST * ZOOM_FACTOR, REP_DOTS_RADIUS * ZOOM_FACTOR, 0.0, 2.0 * M_PI); cairo_arc(cr, LINE_XPOS + (REP_THICK_LINE_DIST + REP_DOTS_X_DIST) * ZOOM_FACTOR, MINY + REP_DOTS_Y2DIST * ZOOM_FACTOR, REP_DOTS_RADIUS * ZOOM_FACTOR, 0.0, 2.0 * M_PI); cairo_fill(cr); break; case END_BAR: cairo_new_path(cr); cairo_set_line_width(cr, ZOOM_FACTOR * REPEAT_MEASURE_LINE_THICK); cairo_move_to(cr, LINE_XPOS + REP_THICK_LINE_DIST * ZOOM_FACTOR, MINY); cairo_line_to(cr, LINE_XPOS + REP_THICK_LINE_DIST * ZOOM_FACTOR, MAXY); cairo_stroke(cr); break; case DOUBLE_BAR:cairo_new_path(cr); cairo_set_line_width(cr, ZOOM_FACTOR * MEASURE_LINE_THICK); cairo_move_to(cr, LINE_XPOS - REP_DOUBLE_LINE_DIST * ZOOM_FACTOR, MINY); cairo_line_to(cr, LINE_XPOS - REP_DOUBLE_LINE_DIST * ZOOM_FACTOR, MAXY); cairo_stroke(cr); break; } if (the_dialog->m_measure_type != REPEAT_OPEN_CLOSE) { cairo_new_path(cr); cairo_set_line_width(cr, ZOOM_FACTOR * MEASURE_LINE_THICK); cairo_move_to(cr, LINE_XPOS, MINY); cairo_line_to(cr, LINE_XPOS, MAXY); cairo_stroke(cr); } cairo_set_line_width(cr, ZOOM_FACTOR * LINE_THICK); for (i = 0; i < 5; i++) { cairo_move_to(cr, MINI_STAFF_START, MINY + i * ZOOM_FACTOR * LINE_DIST); cairo_line_to(cr, MINI_STAFF_END, MINY + i * ZOOM_FACTOR * LINE_DIST); } cairo_stroke(cr); cairo_destroy (cr); return FALSE; } void NedMeasureConfigDialog::previous_measure_type (GtkButton *button, gpointer data) { GdkRectangle rect; NedMeasureConfigDialog *the_dialog = (NedMeasureConfigDialog *) data; if (the_dialog->m_measure_type <= MIN_MEASRURE_TYPE) return; the_dialog->m_measure_type--; gtk_widget_set_sensitive(the_dialog->m_meas_bu_up, TRUE); gtk_widget_set_sensitive(the_dialog->m_meas_bu_down, TRUE); if (the_dialog->m_measure_type == MIN_MEASRURE_TYPE) { gtk_widget_set_sensitive(the_dialog->m_meas_bu_up, FALSE); } if (the_dialog->m_allow_alter && the_dialog->m_measure_type == 2) { gtk_widget_set_sensitive(the_dialog->m_alter1_check_box, TRUE); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(the_dialog->m_alter1_check_box))) { gtk_widget_set_sensitive(the_dialog->m_alter2_check_box, TRUE); } } else { gtk_widget_set_sensitive(the_dialog->m_alter1_check_box, FALSE); gtk_widget_set_sensitive(the_dialog->m_alter2_check_box, FALSE); } if ((the_dialog->m_measure_type & REP_TYPE_MASK) == END_BAR || (the_dialog->m_measure_type & REP_TYPE_MASK) == REPEAT_CLOSE) { gtk_widget_set_sensitive(the_dialog->m_hide_box, TRUE); if ((the_dialog->m_measure_type & REP_TYPE_MASK) != the_dialog->m_original_type) { if ((the_dialog->m_measure_type & REP_TYPE_MASK) == END_BAR) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_hide_box), TRUE); } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_hide_box), FALSE); } } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_hide_box), the_dialog->m_hide_following); } } else { gtk_widget_set_sensitive(the_dialog->m_hide_box, TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_hide_box), FALSE); gtk_widget_set_sensitive(the_dialog->m_hide_box, FALSE); } rect.x = rect.y = 0; rect.width = the_dialog->m_measure_type_show_window->allocation.width; rect.height = the_dialog->m_measure_type_show_window->allocation.height; gdk_window_invalidate_rect (the_dialog->m_measure_type_show_window->window, &rect, FALSE); } void NedMeasureConfigDialog::next_measure_type (GtkButton *button, gpointer data) { GdkRectangle rect; NedMeasureConfigDialog *the_dialog = (NedMeasureConfigDialog *) data; if (the_dialog->m_measure_type >= MAX_MEASURE_TYPE) return; the_dialog->m_measure_type++; gtk_widget_set_sensitive(the_dialog->m_meas_bu_up, TRUE); gtk_widget_set_sensitive(the_dialog->m_meas_bu_down, TRUE); if (the_dialog->m_measure_type >= MAX_MEASURE_TYPE) { gtk_widget_set_sensitive(the_dialog->m_meas_bu_down, FALSE); } if (the_dialog->m_allow_alter && the_dialog->m_measure_type == 2) { gtk_widget_set_sensitive(the_dialog->m_alter1_check_box, TRUE); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(the_dialog->m_alter1_check_box))) { gtk_widget_set_sensitive(the_dialog->m_alter2_check_box, TRUE); } } else { gtk_widget_set_sensitive(the_dialog->m_alter1_check_box, FALSE); gtk_widget_set_sensitive(the_dialog->m_alter2_check_box, FALSE); } if ((the_dialog->m_measure_type & REP_TYPE_MASK) == END_BAR || (the_dialog->m_measure_type & REP_TYPE_MASK) == REPEAT_CLOSE) { gtk_widget_set_sensitive(the_dialog->m_hide_box, TRUE); if ((the_dialog->m_measure_type & REP_TYPE_MASK) != the_dialog->m_original_type) { if ((the_dialog->m_measure_type & REP_TYPE_MASK) == END_BAR) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_hide_box), TRUE); } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_hide_box), FALSE); } } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_hide_box), the_dialog->m_hide_following); } } else { gtk_widget_set_sensitive(the_dialog->m_hide_box, TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_hide_box), FALSE); gtk_widget_set_sensitive(the_dialog->m_hide_box, FALSE); } rect.x = rect.y = 0; rect.width = the_dialog->m_measure_type_show_window->allocation.width; rect.height = the_dialog->m_measure_type_show_window->allocation.height; gdk_window_invalidate_rect (the_dialog->m_measure_type_show_window->window, &rect, FALSE); } void NedMeasureConfigDialog::alter1_checked (GtkToggleButton *togglebutton, gpointer data) { NedMeasureConfigDialog *the_dialog = (NedMeasureConfigDialog *) data; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(the_dialog->m_alter1_check_box))) { gtk_widget_set_sensitive(the_dialog->m_alter2_check_box, TRUE); } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_alter2_check_box), FALSE); gtk_widget_set_sensitive(the_dialog->m_alter2_check_box, FALSE); } } void NedMeasureConfigDialog::OnCommButtonToggled(GtkToggleButton *togglebutton, gpointer data) { NedMeasureConfigDialog *the_dialog = (NedMeasureConfigDialog *) data; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(the_dialog->m_com_time_bu))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_cut_time_bu), FALSE); gtk_spin_button_set_value(GTK_SPIN_BUTTON(the_dialog->m_numerator), 4); gtk_combo_box_set_active(GTK_COMBO_BOX(the_dialog->m_denominator), 1); gtk_widget_set_sensitive(the_dialog->m_numerator, FALSE); gtk_widget_set_sensitive(the_dialog->m_denominator, FALSE); } else if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(the_dialog->m_cut_time_bu))) { gtk_widget_set_sensitive(the_dialog->m_numerator, TRUE); gtk_widget_set_sensitive(the_dialog->m_denominator, TRUE); } } void NedMeasureConfigDialog::OnCutButtonToggled(GtkToggleButton *togglebutton, gpointer data) { NedMeasureConfigDialog *the_dialog = (NedMeasureConfigDialog *) data; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(the_dialog->m_cut_time_bu))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_com_time_bu), FALSE); gtk_spin_button_set_value(GTK_SPIN_BUTTON(the_dialog->m_numerator), 2); gtk_combo_box_set_active(GTK_COMBO_BOX(the_dialog->m_denominator), 0); gtk_widget_set_sensitive(the_dialog->m_numerator, FALSE); gtk_widget_set_sensitive(the_dialog->m_denominator, FALSE); } else if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(the_dialog->m_com_time_bu))) { gtk_widget_set_sensitive(the_dialog->m_numerator, TRUE); gtk_widget_set_sensitive(the_dialog->m_denominator, TRUE); } } nted-1.10.18/dialogs/scaledialog.cpp0000664001041000007640000000535111520267217014140 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "scaledialog.h" #include "localization.h" #include "resource.h" #include "mainwindow.h" #define SCALE_STEPS (1.0 / (double) SCALE_GRANULARITY) NedScaleDialog::NedScaleDialog(GtkWindow *parent, int scale) : m_scale(scale) { GtkWidget *dialog; GtkWidget *scale_frame; dialog = gtk_dialog_new_with_buttons(_("Scale"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); scale_frame = gtk_frame_new(_("Scale")); m_scale_slider = gtk_hscale_new_with_range(SCALE_MIN, SCALE_MAX, SCALE_STEPS); gtk_range_set_value(GTK_RANGE(m_scale_slider), (double) scale / (double) SCALE_GRANULARITY); gtk_container_add (GTK_CONTAINER(scale_frame), m_scale_slider); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), scale_frame); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedScaleDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { NedScaleDialog *scale_dialog = (NedScaleDialog *) data; double val; switch (result) { case GTK_RESPONSE_ACCEPT: scale_dialog->m_state = TRUE; break; default: scale_dialog->m_state = FALSE; break; } val = gtk_range_get_value(GTK_RANGE(scale_dialog->m_scale_slider)); scale_dialog->m_scale = (int) (val * (double) SCALE_GRANULARITY + 0.5); gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedScaleDialog::getValues(bool *state, int *scale) { *state = m_state; *scale = m_scale; } nted-1.10.18/dialogs/clefconfigdialog.cpp0000664001041000007640000002702011520267217015145 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "clefconfigdialog.h" #include "localization.h" #include "resource.h" #define CLEF_SHOW_WINDOW_WIDTH 90 #define CLEF_SHOW_WINDOW_HEIGHT 120 NedClefConfigDialog::NedClefConfigDialog(GtkWindow *parent, int clef_number, int octave_shift) : m_octave_shift(octave_shift), m_state(false), m_current_clef(clef_number) { GtkWidget *dialog; GtkWidget *clef_hbox; GtkWidget *clef_buttons_vbox; GtkWidget *clef_frame; GtkWidget *octave_shift_label; GtkWidget *octave_shift_vbox; GdkColor bgcolor; m_newclef = m_current_clef; dialog = gtk_dialog_new_with_buttons(_("Clef configuration"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); clef_frame = gtk_frame_new(_("clef")); m_clef_show_window = gtk_drawing_area_new (); bgcolor.pixel = 1; bgcolor.red = bgcolor.green = bgcolor.blue = 0xffff; gtk_widget_modify_bg(GTK_WIDGET(m_clef_show_window), GTK_STATE_NORMAL, &bgcolor); gtk_drawing_area_size(GTK_DRAWING_AREA(m_clef_show_window), CLEF_SHOW_WINDOW_WIDTH, CLEF_SHOW_WINDOW_HEIGHT); clef_hbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(clef_hbox), m_clef_show_window, FALSE, FALSE, 0); clef_buttons_vbox = gtk_vbox_new(FALSE, 2); m_clef_bu_up = gtk_button_new_from_stock("my-arrow-up-icon"); g_signal_connect (m_clef_bu_up, "pressed", G_CALLBACK(decrease_clef_number), (void *) this); m_clef_bu_down = gtk_button_new_from_stock ("my-arrow-down-icon"); g_signal_connect (m_clef_bu_down, "pressed", G_CALLBACK(increase_clef_number), (void *) this); gtk_box_pack_start(GTK_BOX(clef_buttons_vbox), m_clef_bu_up, FALSE, FALSE, 0); gtk_box_pack_end(GTK_BOX(clef_buttons_vbox), m_clef_bu_down, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(clef_hbox), clef_buttons_vbox, FALSE, FALSE, 0); octave_shift_vbox = gtk_vbox_new(FALSE, 2); switch (m_octave_shift) { case 12: m_octave_shift = 8; break; case -12: m_octave_shift = -8; break; } m_octave_shift_spin_box = gtk_spin_button_new_with_range(-8.0, 8.0, 8.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_octave_shift_spin_box), m_octave_shift); octave_shift_label = gtk_label_new(_("Octave shift:")); gtk_box_pack_start (GTK_BOX (octave_shift_vbox), octave_shift_label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (octave_shift_vbox), m_octave_shift_spin_box, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(clef_hbox), octave_shift_vbox, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(clef_frame), clef_hbox); g_signal_connect (m_octave_shift_spin_box, "value-changed", G_CALLBACK (octave_shift_change), (void *) this); m_adjust_check_box = gtk_check_button_new_with_label(_("adjust notes")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_adjust_check_box), TRUE); gtk_box_pack_start (GTK_BOX (octave_shift_vbox), m_adjust_check_box, FALSE, FALSE, 0); if (m_newclef == MINCLEF_NUMBER) { gtk_widget_set_sensitive(m_clef_bu_up, FALSE); } if (m_newclef == MAXCLEF_NUMBER) { gtk_widget_set_sensitive(m_clef_bu_down, FALSE); } g_signal_connect (m_clef_show_window, "expose-event", G_CALLBACK (draw_clefs), (void *) this); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), clef_frame); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedClefConfigDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { NedClefConfigDialog *clef_dialog = (NedClefConfigDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: clef_dialog->m_state = TRUE; break; default: clef_dialog->m_state = FALSE; break; } clef_dialog->m_octave_shift = (int) gtk_spin_button_get_value(GTK_SPIN_BUTTON(clef_dialog->m_octave_shift_spin_box)); switch (clef_dialog->m_octave_shift) { case 8: clef_dialog->m_octave_shift = 12; break; case -8: clef_dialog->m_octave_shift = -12; break; default: clef_dialog->m_octave_shift = 0; break; } clef_dialog->m_do_adjust = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(clef_dialog->m_adjust_check_box)); gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedClefConfigDialog::getValues(bool *state, int *clef_number, int *octave_shift, bool *adjust_notes) { *state = m_state; m_current_clef = m_newclef; *octave_shift = m_octave_shift; *clef_number = m_current_clef; *adjust_notes = m_do_adjust; } gboolean NedClefConfigDialog::draw_clefs(GtkWidget *widget, GdkEventExpose *event, gpointer data) { #define ZOOM_LEVEL 9 NedClefConfigDialog *the_dialog = (NedClefConfigDialog *) data; cairo_scaled_font_t *scaled_font; cairo_glyph_t glyph; int i; double y_offs = 0.0, oct_y_offs = 0.0, oct_x_offs = 0.0; bool octave_shift = false; cairo_t *cr; cr = gdk_cairo_create (the_dialog->m_clef_show_window->window); cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); cairo_rectangle (cr, 0, 0, the_dialog->m_clef_show_window->allocation.width, the_dialog->m_clef_show_window->allocation.height); cairo_fill(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); scaled_font = NedResource::getScaledFont(ZOOM_LEVEL); #ifdef HAS_SET_SCALED_FONT cairo_set_scaled_font (cr, scaled_font); #else cairo_set_font_face(cr, NedResource::getFontFace()); cairo_set_font_matrix(cr, NedResource::getFontMatrix(ZOOM_LEVEL)); cairo_set_font_options(cr, NedResource::getFontOptions()); #endif cairo_new_path(cr); cairo_set_line_width(cr, DEMO_LINE_THICK); for (i = 0; i < 5; i++) { cairo_move_to(cr, DEMO_LINE_BEGIN, DEMO_LINE_YPOS + DEMO_LINE_DIST * i); cairo_line_to(cr, DEMO_LINE_END, DEMO_LINE_YPOS + DEMO_LINE_DIST * i); } cairo_stroke(cr); cairo_new_path(cr); switch (the_dialog->m_newclef) { case TREBLE_CLEF: switch(the_dialog->m_octave_shift) { case 12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_TREBLE_DIST_UP); octave_shift = true; break; case -12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_TREBLE_DIST_DOWN); octave_shift = true; break; } glyph.index = BASE + 2; break; case BASS_CLEF: switch(the_dialog->m_octave_shift) { case 12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_BASS_DIST_UP); octave_shift = true; break; case -12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_BASS_DIST_DOWN); octave_shift = true; break; } glyph.index = BASE + 3; break; case ALTO_CLEF: switch(the_dialog->m_octave_shift) { case 12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_ALTO_DIST_UP); oct_x_offs = DEMO_POS_FAK * (OCTUP_X_ALTO_DIST); octave_shift = true; break; case -12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_ALTO_DIST_DOWN); oct_x_offs = DEMO_POS_FAK * (OCTUP_X_ALTO_DIST); octave_shift = true; break; } glyph.index = BASE + 1; break; case SOPRAN_CLEF: switch(the_dialog->m_octave_shift) { case 12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_ALTO_DIST_UP); oct_x_offs = DEMO_POS_FAK * (OCTUP_X_ALTO_DIST); octave_shift = true; break; case -12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_ALTO_DIST_DOWN); oct_x_offs = DEMO_POS_FAK * (OCTUP_X_ALTO_DIST); octave_shift = true; break; } glyph.index = BASE + 1; y_offs = 2 * DEMO_LINE_DIST; break; case TENOR_CLEF: switch(the_dialog->m_octave_shift) { case 12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_ALTO_DIST_UP); oct_x_offs = DEMO_POS_FAK * (OCTUP_X_ALTO_DIST); octave_shift = true; break; case -12: oct_y_offs = DEMO_POS_FAK * (OCTUP_Y_ALTO_DIST_DOWN); oct_x_offs = DEMO_POS_FAK * (OCTUP_X_ALTO_DIST); octave_shift = true; break; } glyph.index = BASE + 1; y_offs = -DEMO_LINE_DIST; break; case NEUTRAL_CLEF1: case NEUTRAL_CLEF2: case NEUTRAL_CLEF3: glyph.index = BASE + 27; break; } glyph.x = 50.0; glyph.y = 70.0 + y_offs; cairo_show_glyphs(cr, &glyph, 1); switch (the_dialog->m_newclef) { case NEUTRAL_CLEF1: glyph.index = NUMBERBASE + 1; glyph.x = 60.0; glyph.y = 120.0; cairo_show_glyphs(cr, &glyph, 1); break; case NEUTRAL_CLEF2: glyph.index = NUMBERBASE + 2; glyph.x = 60.0; glyph.y = 120.0; cairo_show_glyphs(cr, &glyph, 1); break; case NEUTRAL_CLEF3: glyph.index = NUMBERBASE + 3; glyph.x = 60.0; glyph.y = 120.0; cairo_show_glyphs(cr, &glyph, 1); break; } if (octave_shift) { glyph.x = 50.0 + oct_x_offs; glyph.y = 70.0 + y_offs + oct_y_offs; glyph.index = BASE + 28; cairo_show_glyphs(cr, &glyph, 1); } cairo_destroy (cr); return FALSE; } void NedClefConfigDialog::decrease_clef_number (GtkButton *button, gpointer data) { GdkRectangle rect; NedClefConfigDialog *the_dialog = (NedClefConfigDialog *) data; if (the_dialog->m_newclef <= MINCLEF_NUMBER) return; the_dialog->m_newclef--; gtk_widget_set_sensitive(the_dialog->m_clef_bu_up, TRUE); gtk_widget_set_sensitive(the_dialog->m_clef_bu_down, TRUE); if (the_dialog->m_newclef == MINCLEF_NUMBER) { gtk_widget_set_sensitive(the_dialog->m_clef_bu_up, FALSE); } rect.x = rect.y = 0; rect.width = the_dialog->m_clef_show_window->allocation.width; rect.height = the_dialog->m_clef_show_window->allocation.height; gdk_window_invalidate_rect (the_dialog->m_clef_show_window->window, &rect, FALSE); } void NedClefConfigDialog::increase_clef_number (GtkButton *button, gpointer data) { GdkRectangle rect; NedClefConfigDialog *the_dialog = (NedClefConfigDialog *) data; if (the_dialog->m_newclef >= MAXCLEF_NUMBER) return; the_dialog->m_newclef++; gtk_widget_set_sensitive(the_dialog->m_clef_bu_up, TRUE); gtk_widget_set_sensitive(the_dialog->m_clef_bu_down, TRUE); if (the_dialog->m_newclef >= MAXCLEF_NUMBER) { gtk_widget_set_sensitive(the_dialog->m_clef_bu_down, FALSE); } rect.x = rect.y = 0; rect.width = the_dialog->m_clef_show_window->allocation.width; rect.height = the_dialog->m_clef_show_window->allocation.height; gdk_window_invalidate_rect (the_dialog->m_clef_show_window->window, &rect, FALSE); } void NedClefConfigDialog::octave_shift_change(GtkSpinButton *spinbutton, gpointer data) { GdkRectangle rect; NedClefConfigDialog *context_dialog = (NedClefConfigDialog *) data; context_dialog->m_octave_shift = (int) gtk_spin_button_get_value(spinbutton); switch (context_dialog->m_octave_shift) { case 8: context_dialog->m_octave_shift = 12; break; case -8: context_dialog->m_octave_shift = -12; break; } rect.x = rect.y = 0; rect.width = context_dialog->m_clef_show_window->allocation.width; rect.height = context_dialog->m_clef_show_window->allocation.height; gdk_window_invalidate_rect (context_dialog->m_clef_show_window->window, &rect, FALSE); } nted-1.10.18/dialogs/scoreinfodialog.h0000664001041000007640000000412011520267217014476 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef SCORE_INFO_BLOCK_DIALOG_H #define SCORE_INFO_BLOCK_DIALOG_H #include "config.h" #include #include class NedPangoCairoText; class NedMainWindow; class ScoreInfo { public: ScoreInfo(); ~ScoreInfo(); NedPangoCairoText *title, *subject, *composer, *arranger, *copyright; cairo_text_extents_t title_extends, subject_extends, composer_extends, arranger_extends, copyright_extends; }; class NedScoreInfoConfigDialog { public: NedScoreInfoConfigDialog(GtkWindow *parent, NedMainWindow *main_window, ScoreInfo *scoreinfo); void getValues(bool *state); private: static void CloseCallBack(GtkDialog *dialog, gint result, gpointer data); bool m_state; ScoreInfo *m_scoreinfo; GtkWidget *m_title; GtkWidget *m_subject; GtkWidget *m_composer; GtkWidget *m_arranger; GtkWidget *m_copyright; NedMainWindow *m_main_window; }; #endif /* SCORE_INFO_BLOCK_DIALOG_H */ nted-1.10.18/dialogs/volumedialog.h0000664001041000007640000000313211520267217014020 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef VOLUME_DIALOG_H #define VOLUME_DIALOG_H #include "config.h" #include class NedVolumeDialog { public: NedVolumeDialog(GtkWindow *parent, int volume, bool relative); void getValues(bool *state, int *volume); private: static void CloseCallBack(GtkDialog *dialog, gint result, gpointer data); GtkWidget *m_volume_spin_box; bool m_state; int m_volume; }; #endif /* VOLUME_DIALOG_H */ nted-1.10.18/dialogs/textdialog.cpp0000664001041000007640000004606711520267217014046 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "textdialog.h" #include "localization.h" #include "resource.h" #include "freetext.h" #include "pangocairotext.h" #include "config.h" const char *NedTextDialog::m_static_font_family = TEXT_FONT_NAME_DEFAULT; double NedTextDialog::m_static_font_size = TEXT_FONT_SIZE_DEFAULT; PangoStyle NedTextDialog::m_static_font_slant = TEXT_FONT_SLANT_DEFAULT; PangoWeight NedTextDialog::m_static_font_weight = TEXT_FONT_WEIGHT_DEFAULT; NedTextDialog::NedTextDialog(GtkWindow *parent, char *text, int anchor, unsigned int tempo, bool enable_tempo, unsigned int volume, bool enable_volume, unsigned short segno_sign, int midi_program, int channel, bool enable_channel, const char *font_family, double font_size, PangoStyle font_slant, PangoWeight font_weight) : m_tempo(tempo), m_volume(volume), m_enable_tempo(enable_tempo), m_enable_volume(enable_volume), m_segno_sign(segno_sign), m_midi_program_number(midi_program), m_channel(channel), m_enable_channel(enable_channel), m_anchor(anchor), m_text(text), m_font_family(font_family), m_font_size(font_size), m_font_slant(font_slant), m_font_weight(font_weight) { GtkWidget *dialog; GtkWidget *text_frame; GtkWidget *font_vbox; GtkWidget *volume_frame; GtkWidget *volume_hbox; GtkWidget *tempo_frame; GtkWidget *anchor_frame; GtkWidget *tempo_hbox; GtkWidget *ds_frame; GtkWidget *ds_v_box; GtkWidget *anchor_h_box; GtkWidget *instr_frame; GtkWidget *channel_frame; GtkWidget *channel_hbox; GtkListStore *instrumend_list_store; GtkTreeIter iter; GtkCellRenderer *instrument_renderer; GtkTreeViewColumn *instrument_column; GtkTreeViewColumn *instrument_num_column; GtkTreePath* instrument_tree_path; GtkWidget *main_v_box; char *fontstring; PangoFontDescription *f_descr; int i; char Str[128]; dialog = gtk_dialog_new_with_buttons(_("Text"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (CloseCallBack), (void *) this); if (text == NULL) { m_font_family = m_static_font_family; m_font_slant = m_static_font_slant; m_font_weight = m_static_font_weight; font_size = m_static_font_size; } f_descr = pango_font_description_new(); pango_font_description_set_family(f_descr, m_font_family); pango_font_description_set_style(f_descr, m_font_slant); pango_font_description_set_weight(f_descr, m_font_weight); pango_font_description_set_size(f_descr, PS_ZOOM * NedPangoCairoText::getInternalFactor() * font_size); fontstring = pango_font_description_to_string(f_descr); text_frame = gtk_frame_new(_("text")); m_text_widget = gtk_entry_new_with_max_length(50); if (m_text != NULL) { gtk_entry_set_text(GTK_ENTRY(m_text_widget), m_text); } m_font_button = gtk_font_button_new_with_font(fontstring); g_free(fontstring); pango_font_description_free(f_descr); gtk_font_button_set_title(GTK_FONT_BUTTON(m_font_button), _("select font")); font_vbox = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(font_vbox), m_text_widget, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(font_vbox), m_font_button, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(text_frame), font_vbox); g_signal_connect(m_font_button, "font-set", G_CALLBACK(FontCallBack), (void *) this); anchor_frame = gtk_frame_new(_("anchor")); anchor_h_box = gtk_hbox_new(FALSE, 2); m_anchor_left = gtk_radio_button_new_with_label(NULL, _("left")); m_anchor_mid = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (m_anchor_left), _("mid")); m_anchor_right = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (m_anchor_left), _("right")); gtk_box_pack_start(GTK_BOX(anchor_h_box), m_anchor_left, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(anchor_h_box), m_anchor_mid, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(anchor_h_box), m_anchor_right, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(anchor_frame), anchor_h_box); switch (m_anchor) { case ANCHOR_LEFT: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_anchor_left), TRUE); break; case ANCHOR_RIGHT: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_anchor_right), TRUE); break; default: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_anchor_mid), TRUE); break; } volume_frame = gtk_frame_new(_("volume")); volume_hbox = gtk_hbox_new(FALSE, 2); m_volume_spin_box = gtk_spin_button_new_with_range (0.0, 127.0, 1.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_volume_spin_box), volume); gtk_widget_set_sensitive(m_volume_spin_box, m_enable_volume); m_check_volume = gtk_check_button_new_with_label(_("enable volume change")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_check_volume), m_enable_volume); gtk_box_pack_start(GTK_BOX(volume_hbox), m_check_volume, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(volume_hbox), m_volume_spin_box, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(volume_frame), volume_hbox); g_signal_connect(m_check_volume, "toggled", G_CALLBACK(VolumeToggled), (void *) this); tempo_frame = gtk_frame_new(_("tempo")); tempo_hbox = gtk_hbox_new(FALSE, 2); m_tempo_spin_box = gtk_spin_button_new_with_range (10.0, 999.0, 1.0); gtk_widget_set_sensitive(m_tempo_spin_box, m_enable_tempo); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_tempo_spin_box), tempo); m_check_tempo = gtk_check_button_new_with_label(_("enable tempo change")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_check_tempo), m_enable_tempo); gtk_box_pack_start(GTK_BOX(tempo_hbox), m_check_tempo, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(tempo_hbox), m_tempo_spin_box, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(tempo_frame), tempo_hbox); g_signal_connect(m_check_tempo, "toggled", G_CALLBACK(TempoToggled), (void *) this); channel_frame = gtk_frame_new(_("channel")); channel_hbox = gtk_hbox_new(FALSE, 2); m_channel_spin_box = gtk_spin_button_new_with_range (1.0, 16.0, 1.0); gtk_widget_set_sensitive(m_channel_spin_box, m_enable_channel); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_channel_spin_box), channel + 1); m_check_channel = gtk_check_button_new_with_label(_("enable channel change")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_check_channel), m_enable_channel); gtk_box_pack_start(GTK_BOX(channel_hbox), m_check_channel, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(channel_hbox), m_channel_spin_box, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(channel_frame), channel_hbox); g_signal_connect(m_check_channel, "toggled", G_CALLBACK(ChannelToggled), (void *) this); ds_frame = gtk_frame_new(_("D.S")); ds_v_box = gtk_vbox_new(FALSE, 2); m_segno_none = gtk_radio_button_new_with_label(NULL, _("No segno meaning")); m_ds_al_fine = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (m_segno_none), _("D.S. al Fine")); m_ds_al_coda = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (m_segno_none), _("D.S. al Coda")); m_d_capo_al_fine = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (m_segno_none), _("D. Capo al Fine")); m_d_capo_al_coda = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (m_segno_none), _("D. Capo al Coda")); m_fine = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (m_segno_none), _("Fine")); m_al_coda = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (m_segno_none), _("al Coda")); switch(segno_sign) { case SEGNO_D_S_AL_FINE: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_ds_al_fine), TRUE); break; case SEGNO_D_S_AL_CODA: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_ds_al_coda), TRUE); break; case SEGNO_D_CAPO_AL_FINE: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_d_capo_al_fine), TRUE); break; case SEGNO_D_CAPO_AL_CODA: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_d_capo_al_coda), TRUE); break; case SEGNO_FINE: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_fine), TRUE); break; case SEGNO_AL_CODA: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_al_coda), TRUE); break; default: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_segno_none), TRUE); break; } gtk_box_pack_start(GTK_BOX(ds_v_box), m_segno_none, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ds_v_box), m_ds_al_fine, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ds_v_box), m_ds_al_coda, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ds_v_box), m_d_capo_al_fine, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ds_v_box), m_d_capo_al_coda, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ds_v_box), m_fine, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ds_v_box), m_al_coda, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(ds_frame), ds_v_box); instrumend_list_store = gtk_list_store_new (2, G_TYPE_INT, G_TYPE_STRING); for (i = 0; i < NedResource::getNumInstruments(); i++) { gtk_list_store_append (instrumend_list_store, &iter); gtk_list_store_set (instrumend_list_store, &iter, 0, i, 1, gettext(NedResource::GM_Instruments[i]), -1); } m_instrument_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(instrumend_list_store)); instrument_renderer = gtk_cell_renderer_text_new (); instrument_num_column = gtk_tree_view_column_new_with_attributes (_("no"), instrument_renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_instrument_list), instrument_num_column); instrument_column = gtk_tree_view_column_new_with_attributes (_("instruments"), instrument_renderer, "text", 1, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_instrument_list), instrument_column); m_instrument_adjustment = gtk_adjustment_new (0.0, 0.0, NedResource::getNumInstruments(), 1.0, 10.0, 10.0); m_instrument_scroll = gtk_vscrollbar_new(GTK_ADJUSTMENT(m_instrument_adjustment)); gtk_tree_view_set_vadjustment (GTK_TREE_VIEW (m_instrument_list), GTK_ADJUSTMENT(m_instrument_adjustment)); gtk_widget_set_size_request(m_instrument_list, 150, 100); sprintf(Str, "%d", m_midi_program_number < 0 ? 0: m_midi_program_number); instrument_tree_path = gtk_tree_path_new_from_string(Str); gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW (m_instrument_list), instrument_tree_path, NULL, FALSE, 0.0, 0.0); gtk_tree_view_set_cursor(GTK_TREE_VIEW (m_instrument_list), instrument_tree_path, NULL, FALSE); g_signal_connect(dialog, "scroll-event", G_CALLBACK (OnScroll), (void *) this); if (m_midi_program_number < 0) { gtk_widget_set_sensitive(m_instrument_list, FALSE); gtk_widget_set_sensitive(m_instrument_scroll, FALSE); } instr_frame = gtk_frame_new(_("instrument")); m_check_instr = gtk_check_button_new_with_label(_("enable instrument change")); gtk_container_add (GTK_CONTAINER(instr_frame), m_check_instr); main_v_box = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(main_v_box), anchor_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(main_v_box), text_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(main_v_box), volume_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(main_v_box), tempo_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(main_v_box), channel_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(main_v_box), instr_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(main_v_box), ds_frame, FALSE, FALSE, 0); m_main_h_box = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(m_main_h_box), main_v_box, FALSE, FALSE, 0); gtk_box_pack_end(GTK_BOX(m_main_h_box), m_instrument_scroll, TRUE, TRUE, 0); gtk_box_pack_end(GTK_BOX(m_main_h_box), m_instrument_list, TRUE, TRUE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_check_instr), m_midi_program_number >= 0); g_signal_connect(m_check_instr, "toggled", G_CALLBACK(InstrToggled), (void *) this); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), m_main_h_box); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedTextDialog::CloseCallBack(GtkDialog *dialog, gint result, gpointer data) { NedTextDialog *text_dialog = (NedTextDialog *) data; const gchar *newtext; GtkTreeSelection* selection; GList *selected_rows; switch (result) { case GTK_RESPONSE_ACCEPT: text_dialog->m_state = TRUE; break; default: text_dialog->m_state = FALSE; break; } if (text_dialog->m_state) { text_dialog->m_text = NULL; newtext = gtk_entry_get_text(GTK_ENTRY(text_dialog->m_text_widget)); if (strlen(newtext) > 0) { text_dialog->m_text = strdup(newtext); } text_dialog->m_enable_tempo = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(text_dialog->m_check_tempo)); text_dialog->m_enable_volume = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(text_dialog->m_check_volume)); text_dialog->m_volume = (int) (gtk_spin_button_get_value(GTK_SPIN_BUTTON(text_dialog->m_volume_spin_box)) + 0.4); text_dialog->m_tempo = (unsigned int) (gtk_spin_button_get_value(GTK_SPIN_BUTTON(text_dialog->m_tempo_spin_box)) + 0.4); text_dialog->m_enable_channel = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(text_dialog->m_check_channel)); text_dialog->m_channel = (unsigned int) (gtk_spin_button_get_value(GTK_SPIN_BUTTON(text_dialog->m_channel_spin_box)) + 0.4) - 1; text_dialog->retrieveFontParams(); if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (text_dialog->m_ds_al_fine))) text_dialog->m_segno_sign = SEGNO_D_S_AL_FINE; else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (text_dialog->m_ds_al_coda))) text_dialog->m_segno_sign = SEGNO_D_S_AL_CODA; else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (text_dialog->m_d_capo_al_fine))) text_dialog->m_segno_sign = SEGNO_D_CAPO_AL_FINE; else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (text_dialog->m_d_capo_al_coda))) text_dialog->m_segno_sign = SEGNO_D_CAPO_AL_CODA; else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (text_dialog->m_fine))) text_dialog->m_segno_sign = SEGNO_FINE; else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (text_dialog->m_al_coda))) text_dialog->m_segno_sign = SEGNO_AL_CODA; else text_dialog->m_segno_sign = 0; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (text_dialog->m_anchor_left))) text_dialog->m_anchor = ANCHOR_LEFT; else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (text_dialog->m_anchor_right))) text_dialog->m_anchor = ANCHOR_RIGHT; else text_dialog->m_anchor = ANCHOR_MID; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(text_dialog->m_instrument_list)); selected_rows = gtk_tree_selection_get_selected_rows (selection, NULL); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(text_dialog->m_check_instr))) { if ( g_list_length(selected_rows) > 0) { GtkTreePath *path = (GtkTreePath *) g_list_first(selected_rows)->data; char *tp = gtk_tree_path_to_string(path); if (sscanf(tp, "%d", &(text_dialog->m_midi_program_number)) != 1) { NedResource::Abort("NedStaffContextDialog::OnClose: error reading tree path(1)"); } } else { text_dialog->m_midi_program_number = -1; } } else { text_dialog->m_midi_program_number = -1; } } gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedTextDialog::getValues(bool *state, char **text, int *anchor, unsigned int *tempo, bool *enable_tempo, unsigned int *volume, bool *enable_volume, unsigned short *segno_sign, int *midi_program, unsigned int *channel, bool *enable_channel, const char **font_family, double *font_size, PangoStyle *font_slant, PangoWeight *font_weight) { *state = m_state; *text = m_text; *font_family = m_font_family; *font_size = m_font_size; *font_slant = m_font_slant; *font_weight = m_font_weight; *tempo = m_tempo; *volume = m_volume; *enable_tempo = m_enable_tempo; *enable_volume = m_enable_volume; *enable_channel = m_enable_channel; *channel = m_channel; *segno_sign = m_segno_sign; *anchor = m_anchor; *midi_program = m_midi_program_number; if (m_state) { m_static_font_family = m_font_family; m_static_font_slant = m_font_slant; m_static_font_weight = m_font_weight; m_static_font_size = m_font_size; } } void NedTextDialog::FontCallBack(GtkButton *button, gpointer data) { NedTextDialog *text_dialog = (NedTextDialog *) data; text_dialog->retrieveFontParams(); } void NedTextDialog::retrieveFontParams() { gchar *fontname; PangoFontDescription* f_descr; g_object_get(m_font_button, "font-name", &fontname, NULL); f_descr = pango_font_description_from_string(fontname); m_font_family = pango_font_description_get_family(f_descr); m_font_size = pango_font_description_get_size(f_descr) / NedPangoCairoText::getInternalFactor() / PS_ZOOM; m_font_slant = pango_font_description_get_style(f_descr); m_font_weight = pango_font_description_get_weight(f_descr); g_free (fontname); } void NedTextDialog::TempoToggled(GtkToggleButton *button, gpointer data) { NedTextDialog *text_dialog = (NedTextDialog *) data; gtk_widget_set_sensitive(text_dialog->m_tempo_spin_box, gtk_toggle_button_get_active(button)); } void NedTextDialog::InstrToggled(GtkToggleButton *button, gpointer data) { NedTextDialog *text_dialog = (NedTextDialog *) data; if (gtk_toggle_button_get_active(button)) { gtk_widget_set_sensitive(text_dialog->m_instrument_list, TRUE); gtk_widget_set_sensitive(text_dialog->m_instrument_scroll, TRUE); } else { gtk_widget_set_sensitive(text_dialog->m_instrument_list, FALSE); gtk_widget_set_sensitive(text_dialog->m_instrument_scroll, FALSE); } } void NedTextDialog::VolumeToggled(GtkToggleButton *button, gpointer data) { NedTextDialog *text_dialog = (NedTextDialog *) data; gtk_widget_set_sensitive(text_dialog->m_volume_spin_box, gtk_toggle_button_get_active(button)); } void NedTextDialog::ChannelToggled(GtkToggleButton *button, gpointer data) { NedTextDialog *text_dialog = (NedTextDialog *) data; gtk_widget_set_sensitive(text_dialog->m_channel_spin_box, gtk_toggle_button_get_active(button)); } gboolean NedTextDialog::OnScroll(GtkWidget *widget, GdkEventScroll *event, gpointer data) { #define SCROLL_INCR 20.0 double adjval; NedTextDialog *text_dialog = (NedTextDialog *) data; adjval = gtk_adjustment_get_value(GTK_ADJUSTMENT(text_dialog->m_instrument_adjustment)); if (event->direction == GDK_SCROLL_UP) { adjval -= SCROLL_INCR; } else if (event->direction == GDK_SCROLL_DOWN) { adjval += SCROLL_INCR; } gtk_adjustment_set_value(GTK_ADJUSTMENT(text_dialog->m_instrument_adjustment), adjval); return FALSE; } nted-1.10.18/dialogs/tempodialog.h0000664001041000007640000000373711520267217013650 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef TEMPO_DIALOG_H #define TEMPO_DIALOG_H #include "config.h" #include "resource.h" #include class NedTempoDialog { public: NedTempoDialog(GtkWindow *parent, bool relative, unsigned int kind = NOTE_4, bool dot = false, unsigned int tempo = 120); void getValues(bool *state, unsigned int *kind, bool *dot, unsigned int *tempo); private: static void CloseCallBack(GtkDialog *dialog, gint result, gpointer data); GtkWidget *m_tempo_spin_box; GtkWidget *m_whole_kind; GtkWidget *m_kind_2; GtkWidget *m_kind_2_dot; GtkWidget *m_kind_4; GtkWidget *m_kind_4_dot; GtkWidget *m_kind_8; GtkWidget *m_kind_8_dot; GtkWidget *m_kind_16; GtkWidget *m_kind_16_dot; bool m_state; unsigned int m_kind; bool m_dot; unsigned int m_tempo; }; #endif /* TEMPO_DIALOG_H */ nted-1.10.18/dialogs/tools.cpp0000664001041000007640000014671611520267217013044 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include #include #include "tools.h" #include "localization.h" #include "resource.h" #include "mainwindow.h" #define IS_IT(b) ((row == the_dialog->m_current_row && column == the_dialog->m_current_column) ? b[1] : b[0]) #define IS_ITV(b) (((row == the_dialog->m_current_row || row == the_dialog->m_current_row - 1) && column == the_dialog->m_current_column) ? b[1] : b[0]) #define IS_ITH(b) ((row == the_dialog->m_current_row && (column == the_dialog->m_current_column || column == the_dialog->m_current_column - 1)) ? b[1] : b[0]) #define DEFAULT_BACKGROUND 0 #define HORIZ_BACKGROUND 1 #define VERTI_BACKGROUND 2 #define MINI_BACKGROUND 3 #define MINI_BUTTON_AREA_HEIGHT (3 * m_mini_spaces + 2 * m_back_miniimg_height) #define NOTE_64_BUTTON [0][ 2] #define NATURAL_BUTTON [0][ 4] #define SHARP_BUTTON [0][ 5] #define FLAT_BUTTON [0][ 6] #define FERMATA_BUTTON [0][ 7] #define WHOLE_NOTE_BUTTON [0][ 8] #define HALF_NOTE_BUTTON [0][ 9] #define QUARTER_NOTE_BUTTON [0][10] #define NOTE_8_BUTTON [0][11] #define NOTE_16_BUTTON [0][12] #define NOTE_32_BUTTON [0][13] #define TIE_BUTTON [0][14] #define REST_BUTTON [0][15] #define DOT_BUTTON [0][16] #define DFLAT_BUTTON [1][ 4] #define DSHARP_BUTTON [1][ 5] #define DDOT_BUTTON [1][ 6] #define STROKEN_GRACE_BUTTON [1][ 8] #define GRACE_8_BUTTON [1][ 9] #define GRACE_16_BUTTON [1][10] #define SFORZANDO_BUTTON [1][11] #define STACCATO_BUTTON [1][12] #define STACCATISSIMO_BUTTON [1][13] #define SFORZATO_BUTTON [1][15] #define TENUTO_BUTTON [1][16] #define TURN_BUTTON [2][ 2] #define BOW_UP_BUTTON [2][ 4] #define BOW_DOWN_BUTTON [2][ 5] #define PED_ON_BUTTON [2][ 6] #define PED_OFF_BUTTON [2][ 8] #define TRILL_BUTTON [2][ 9] #define PRALL_BUTTON [2][10] #define OPEN_BUTTON [2][11] #define MORDENT_BUTTON [2][12] #define ARPEGGIO_BUTTON [2][13] #define REV_TURN_BUTTON [2][16] #define O_HIGH_NOTE_BUTTON [3][ 1] #define C_HIGH_NOTE_BUTTON [3][ 2] #define NORMAL_NOTE_BUTTON [3][ 4] #define CROSS_NOTE1_BUTTON [3][ 5] #define CROSS_NOTE2_BUTTON [3][ 6] #define RECT_NOTE1_BUTTON [3][ 7] #define RECT_NOTE2_BUTTON [3][ 8] #define TRIAG_NOTE1_BUTTON [3][ 9] #define TRIAG_NOTE2_BUTTON [3][10] #define CROSS_NOTE3_BUTTON [3][11] #define CROSS_NOTE4_BUTTON [3][12] #define TRIAG_NOTE3_BUTTON [3][13] #define QUAD_NOTE2_BUTTON [3][14] #define GUIT_STEM_BUTTON [3][15] #define GUIT_NO_STEM_BUTTON [3][16] #define TEMOLO1_NOTE_BUTTON [4][ 4] #define TEMOLO2_NOTE_BUTTON [4][ 5] #define TEMOLO3_NOTE_BUTTON [4][ 6] #define TEMOLO4_NOTE_BUTTON [4][ 8] X11button *NedTools::m_button_arrays[NUM_PANELS][17]; X11button *NedTools::m_mini_button_arrays[8]; X11buttonGroup NedTools::m_accidentals(true), NedTools::m_note_length_group(false), NedTools::m_note_head_group(false), NedTools::m_dot_group(true), NedTools::m_tremolo_group(true); static GdkPixbuf *nullbuf = NULL; NedTools::button_descr NedTools::m_mini_button_descriptions[8] = { {&NedResource::m_quarternote_icon, PUSH_BUTTON, SCOPE_NONE, false, NULL}, {&NedResource::m_cross_icon, PUSH_BUTTON, SCOPE_NONE, false, NULL}, {&NedResource::m_bow_down_icon, PUSH_BUTTON, SCOPE_NONE, false, NULL}, {&NedResource::m_drum7_icon, PUSH_BUTTON, SCOPE_NONE, false, NULL}, {&NedResource::m_tremolo_icon2, PUSH_BUTTON, SCOPE_NONE, false, NULL}, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL}, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL}, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL} }; NedTools::button_descr NedTools::m_button_descriptions[NUM_PANELS][17] = { { { &nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, { &nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&NedResource::m_64thnote_icon, TOGGLE_BUTTON, SCOPE_NOTE_LENGTH, false, &m_note_length_group}, {&NedResource::m_arrow_right_icon, PUSH_BUTTON, SCOPE_NONE, false, NULL }, {&NedResource::m_natural_icon, TOGGLE_BUTTON, SCOPE_NOTE_STATE, false, &m_accidentals}, {&NedResource::m_cross_icon, TOGGLE_BUTTON, SCOPE_NOTE_STATE, false, &m_accidentals}, {&NedResource::m_flat_icon, TOGGLE_BUTTON, SCOPE_NOTE_STATE, false, &m_accidentals}, {&NedResource::m_fermata_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&NedResource::m_fullnote_icon, TOGGLE_BUTTON, SCOPE_NOTE_LENGTH, false, &m_note_length_group}, {&NedResource::m_halfnote_icon, TOGGLE_BUTTON, SCOPE_NOTE_LENGTH, false, &m_note_length_group}, {&NedResource::m_quarternote_icon, TOGGLE_BUTTON, SCOPE_NOTE_LENGTH, true, &m_note_length_group}, {&NedResource::m_eightnote_icon, TOGGLE_BUTTON, SCOPE_NOTE_LENGTH, false, &m_note_length_group}, {&NedResource::m_sixteenthnote_icon, TOGGLE_BUTTON, SCOPE_NOTE_LENGTH, false, &m_note_length_group}, {&NedResource::m_32ndnote_icon, TOGGLE_BUTTON, SCOPE_NOTE_LENGTH, false, &m_note_length_group}, {&NedResource::m_tied_icon, TOGGLE_BUTTON, SCOPE_TIES,false, NULL}, {&NedResource::m_rest_icon, TOGGLE_BUTTON, SCOPE_NONE, false, NULL}, {&NedResource::m_dot_icon, TOGGLE_BUTTON, SCOPE_DOTS, false, &m_dot_group} }, { { &nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&NedResource::m_arrow_left_icon, PUSH_BUTTON, SCOPE_NONE, false, NULL }, { &nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, { &NedResource::m_arrow_right_icon, PUSH_BUTTON, SCOPE_NONE, false, NULL }, {&NedResource::m_dflat_icon, TOGGLE_BUTTON, SCOPE_NOTE_STATE, false, &m_accidentals}, {&NedResource::m_dcross_icon, TOGGLE_BUTTON, SCOPE_NOTE_STATE, false, &m_accidentals}, {&NedResource::m_ddot_icon, TOGGLE_BUTTON, SCOPE_DOTS, false, &m_dot_group}, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL}, {&NedResource::m_stroken_grace_icon, TOGGLE_BUTTON, SCOPE_NOTE_LENGTH, false, &m_note_length_group}, {&NedResource::m_grace_eighth_icon, TOGGLE_BUTTON, SCOPE_NOTE_LENGTH, false, &m_note_length_group}, {&NedResource::m_grace_sixth_icon, TOGGLE_BUTTON, SCOPE_NOTE_LENGTH, false, &m_note_length_group}, { &NedResource::m_sforzando_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL }, {&NedResource::m_stacc_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&NedResource::m_staccatissimo_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&nullbuf, EMPTY_BUTTON, SCOPE_STATE, false, NULL}, {&NedResource::m_sforzato_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&NedResource::m_tenuto_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL} }, { { &nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&NedResource::m_arrow_left_icon, PUSH_BUTTON, SCOPE_NONE, false, NULL }, { &NedResource::m_turn_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL }, { &NedResource::m_arrow_right_icon, PUSH_BUTTON, SCOPE_NONE, false, NULL }, {&NedResource::m_bow_up_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&NedResource::m_bow_down_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&NedResource::m_ped_on_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL}, {&NedResource::m_ped_off_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&NedResource::m_trill_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&NedResource::m_prall_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&NedResource::m_open_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&NedResource::m_mordent_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&NedResource::m_arpeggio_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL}, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL}, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL}, {&NedResource::m_revturn_icon, TOGGLE_BUTTON, SCOPE_STATE, false, NULL} }, { {&NedResource::m_arrow_left_icon, PUSH_BUTTON, SCOPE_NONE, false, NULL }, { &NedResource::m_drum11_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group}, { &NedResource::m_drum12_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group }, { &NedResource::m_arrow_right_icon, PUSH_BUTTON, SCOPE_NONE, false, NULL }, {&NedResource::m_normal_note_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, true, &m_note_head_group}, {&NedResource::m_drum1_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group}, {&NedResource::m_drum2_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group}, {&NedResource::m_drum3_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group}, {&NedResource::m_drum4_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group}, {&NedResource::m_drum5_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group}, {&NedResource::m_drum6_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group}, {&NedResource::m_drum7_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group}, {&NedResource::m_drum8_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group}, {&NedResource::m_drum9_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group}, {&NedResource::m_drum10_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group}, {&NedResource::m_guitar_note_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group}, {&NedResource::m_guitar_note_no_stem_icon, TOGGLE_BUTTON, SCOPE_NOTE_HEAD, false, &m_note_head_group} }, { { &nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&NedResource::m_arrow_left_icon, PUSH_BUTTON, SCOPE_NONE, false, NULL }, { &nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, { &nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&NedResource::m_tremolo_icon1, TOGGLE_BUTTON, SCOPE_STATE, false, &m_tremolo_group}, {&NedResource::m_tremolo_icon2, TOGGLE_BUTTON, SCOPE_STATE, false, &m_tremolo_group}, {&NedResource::m_tremolo_icon3, TOGGLE_BUTTON, SCOPE_STATE, false, &m_tremolo_group}, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&NedResource::m_tremolo_icon4, TOGGLE_BUTTON, SCOPE_STATE, false, &m_tremolo_group}, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL }, {&nullbuf, EMPTY_BUTTON, SCOPE_NONE, false, NULL } } }; int NedTools::m_back_img_width, NedTools::m_back_img_height; int NedTools::m_back_miniimg_width, NedTools::m_back_miniimg_height; int NedTools::m_mini_spaces; X11button::X11button(Display *dpy, Window win, GC xgc, int screen, XImage *img[2], int xpos, int ypos, int width, int height, int column, int row, int panel, int type, int scope, bool enabled, bool default_state) : m_button_group(NULL), m_active(default_state), m_type(type), m_row(row), m_column(column), m_panel(panel), m_dpy(dpy), m_win(win), m_xgc(xgc), m_screen(screen), m_enabled(enabled), m_default_state(default_state), m_scope(scope), m_xpos(xpos), m_ypos(ypos), m_width(width), m_height(height) { m_img[0] = img[0]; m_img[1] = img[1]; } X11button::~X11button() { XDestroyImage(m_img[0]); XDestroyImage(m_img[1]); m_img[0] = NULL; m_img[1] = NULL; } void X11button::draw() { XPutImage(m_dpy, m_win, m_xgc, m_img[m_active ? 1 : 0], 0, 0, m_xpos, m_ypos, m_width, m_height); } void X11button::notifyMainWindow(NedMainWindow *current_main_window) { switch (m_scope) { case SCOPE_NOTE_LENGTH: current_main_window->changeLength(); break; case SCOPE_STATE: current_main_window->changeState(); break; case SCOPE_NOTE_STATE: current_main_window->changeNoteState(); break; case SCOPE_NOTE_HEAD: current_main_window->changeNoteHead(); break; case SCOPE_DOTS: current_main_window->changeDots(); break; case SCOPE_TIES: current_main_window->changeTieState(); break; } } bool X11button::handle_click(gdouble xd, gdouble yd) { NedMainWindow *current_main_window; if (!m_enabled) return false; int x = (int) (xd + 0.5); int y = (int) (yd + 0.5); if (x < m_xpos) return false; if (x > m_xpos + m_width) return false; if (y < m_ypos) return false; if (y > m_ypos + m_height) return false; if (m_active && m_button_group) { if (!m_button_group->allowStateChange(this)) return false; } m_active = !m_active; if (m_button_group) { m_button_group->stateChanged(this); } current_main_window = NedResource::getMainwWindowWithLastFocus(); if (current_main_window != NULL) { notifyMainWindow(current_main_window); } return m_active; } void X11button::toggle() { NedMainWindow *current_main_window; if (!m_enabled) return; if (m_type != TOGGLE_BUTTON) return; if (m_active && m_button_group) { if (!m_button_group->allowStateChange(this)) return; } m_active = !m_active; if (m_button_group) { m_button_group->stateChanged(this); } current_main_window = NedResource::getMainwWindowWithLastFocus(); if (current_main_window != NULL) { notifyMainWindow(current_main_window); } } bool X11button::handle_release(gdouble xd, gdouble yd) { if (m_type != PUSH_BUTTON) return false; if (!m_enabled) return false; int x = (int) (xd + 0.5); int y = (int) (yd + 0.5); if (x < m_xpos) return false; if (x > m_xpos + m_width) return false; if (y < m_ypos) return false; if (y > m_ypos + m_height) return false; m_active = false; return true; } X11buttonGroup::X11buttonGroup(bool all_inactive_allowed) : m_buttons(NULL), m_all_inactive_allowed(all_inactive_allowed) {} void X11buttonGroup::removeAllButtons() { if (m_buttons != NULL) { /* while ((lptr = g_list_first(m_buttons)) != NULL) { delete (X11button *) lptr->data; } */ g_list_free(m_buttons); m_buttons = NULL; } } void X11buttonGroup::addX11button(X11button *button) { if (button->m_button_group != NULL) { NedResource::Abort("X11buttonGroup::addX11button(1)"); } if (g_list_find(m_buttons, button) != NULL) { NedResource::Abort("X11buttonGroup::addX11button(2)"); } m_buttons = g_list_append(m_buttons, button); button->m_button_group = this; } void X11buttonGroup::removeX11button(X11button *button) { GList *lptr; if (button->m_button_group == NULL) { NedResource::Abort("X11buttonGroup::removeX11button(1)"); } if (button->m_button_group != this) { NedResource::Abort("X11buttonGroup::removeX11button(2)"); } if ((lptr = g_list_find(m_buttons, button)) == NULL) { NedResource::Abort("X11buttonGroup::removeX11button(3)"); } m_buttons = g_list_delete_link(m_buttons, lptr); button->m_button_group = NULL; } bool X11buttonGroup::allowStateChange(X11button *button) { GList *lptr; int c = 0; bool isAmongActives = false; if (m_all_inactive_allowed) return true; for (lptr = g_list_first(m_buttons); lptr; lptr = g_list_next(lptr)) { if (!((X11button *) lptr->data)->m_active) continue; c++; if ((X11button *) lptr->data == button) isAmongActives = true; } if (c > 1) return true; return false; } void X11buttonGroup::stateChanged(X11button *button) { GList *lptr; if (!button->m_active) return; if (button->m_type == PUSH_BUTTON) return; for (lptr = g_list_first(m_buttons); lptr; lptr = g_list_next(lptr)) { if ((X11button *) lptr->data == button) continue; ((X11button *) lptr->data)->m_active = false; } } void X11buttonGroup::resetAllButtons() { GList *lptr; for (lptr = g_list_first(m_buttons); lptr; lptr = g_list_next(lptr)) { ((X11button *) lptr->data)->m_active = false; } } #define CREATE_X11(pixmap, back, up) createX11PixmapFromGdkPixbuffer(dpy, screen, d, ggc, gdk_pixbuf_scale_simple(pixmap, X11_ICONS_DIM, X11_ICONS_DIM, GDK_INTERP_HYPER), back, up); #define CREATE_MINI_X11(pixmap, back, up) createX11PixmapFromGdkPixbuffer(dpy, screen, d, ggc, gdk_pixbuf_scale_simple(pixmap, X11_MINI_ICONS_DIM, X11_MINI_ICONS_DIM, GDK_INTERP_HYPER), back, up); #define CREATE_X11_EMPTY(back, up) createX11PixmapFromGdkPixbuffer(dpy, screen, d, ggc, NULL, back, up); #define CREATE_MINI_X11_EMPTY(back, up) createX11PixmapFromGdkPixbuffer(dpy, screen, d, ggc, NULL, back, up); NedTools::NedTools() : m_back_pix(NULL), m_current_row(-1), m_current_column(-1), m_current_panel(0), m_buttons_created(false), m_dpy(NULL) { GdkColor bgcolor; int wx, wy; NedMainWindow *last_main; GdkDisplay *display = NULL; GdkScreen *screen = NULL; m_toolbox = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (m_toolbox), _("Toolbox")); g_signal_connect (m_toolbox, "delete-event", G_CALLBACK (close_toolbox), this); g_signal_connect(m_toolbox, "delete-event", G_CALLBACK (OnDelete), (void *) this); g_signal_connect (m_toolbox, "key-press-event", G_CALLBACK (key_press_handler), (void *) this); m_back_img_width = gdk_pixbuf_get_width(NedResource::m_background1); m_back_img_height = gdk_pixbuf_get_height(NedResource::m_background1); m_back_miniimg_width = gdk_pixbuf_get_width(NedResource::m_mini_background1); m_back_miniimg_height = gdk_pixbuf_get_height(NedResource::m_mini_background1); m_mini_spaces = (4 * m_back_img_width - 4 * m_back_miniimg_width) / 5; if ((last_main = NedResource::getMainwWindowWithLastFocus()) != NULL) { display = gdk_display_get_default (); screen = gdk_display_get_default_screen (display); gdk_window_get_root_origin(GDK_WINDOW(last_main->getWindow()->window), &wx, &wy); gtk_window_move(GTK_WINDOW (m_toolbox), wx + NedResource::m_toolboxX, wy + NedResource::m_toolboxY); } m_button_frame = gtk_frame_new(_("Toolbox")); m_button_area = gtk_drawing_area_new (); bgcolor.pixel = 1; bgcolor.red = 0x0000; bgcolor.green = 0x5555; bgcolor.blue = 0xcccc; gtk_widget_modify_bg(GTK_WIDGET(m_button_area), GTK_STATE_NORMAL, &bgcolor); gtk_widget_set_double_buffered(m_button_area, FALSE); gtk_drawing_area_size(GTK_DRAWING_AREA(m_button_area), 4 * m_back_img_width, MINI_BUTTON_AREA_HEIGHT + 5 * m_back_img_height); gtk_container_add (GTK_CONTAINER(m_button_frame), m_button_area); g_signal_connect (m_button_area, "expose-event", G_CALLBACK (draw_menu), (void *) this); gtk_widget_add_events(m_button_area, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK); g_signal_connect (m_button_area, "button-press-event", G_CALLBACK (OnButtonPress), (void *) this); g_signal_connect (m_button_area, "button-release-event", G_CALLBACK (OnButtonRelease), (void *) this); gtk_container_add (GTK_CONTAINER (m_toolbox), m_button_frame); gtk_window_set_resizable (GTK_WINDOW(m_toolbox), FALSE); gtk_widget_show_all (m_toolbox); } NedTools::~NedTools() { int panel; int bu_nr; for (panel = 0; panel < NUM_PANELS; panel++) { for (bu_nr = 0; bu_nr < 4; bu_nr++) { delete m_button_arrays[panel][bu_nr]; m_button_arrays[panel][bu_nr] = NULL; } } m_accidentals.removeAllButtons(); m_note_length_group.removeAllButtons(); m_note_head_group.removeAllButtons(); m_dot_group.removeAllButtons(); m_tremolo_group.removeAllButtons(); } void NedTools::updatePosition() { NedMainWindow *last_main; int wx, wy, tx, ty; if ((last_main = NedResource::getMainwWindowWithLastFocus()) != NULL) { gdk_window_get_root_origin(GDK_WINDOW(last_main->getWindow()->window), &wx, &wy); gdk_window_get_root_origin(GDK_WINDOW(m_toolbox->window), &tx, &ty); NedResource::m_toolboxX = tx - wx; NedResource::m_toolboxY = ty - wy; } } bool NedTools::close_toolbox(GtkWidget *widget, GdkEvent *event, gpointer data) { NedTools *tools = (NedTools *) data; tools->updatePosition(); return FALSE; } void NedTools::Show() { gtk_widget_show_all (m_toolbox); } void NedTools::setToolboxTransient(NedMainWindow *m_win) { int wx, wy; GdkDisplay *display = NULL; GdkScreen *screen = NULL; gtk_window_set_transient_for(GTK_WINDOW (m_toolbox), (GTK_WINDOW (m_win->getWindow()))); display = gdk_display_get_default (); screen = gdk_display_get_default_screen (display); gdk_window_get_root_origin(GDK_WINDOW(m_win->getWindow()->window), &wx, &wy); gtk_window_move(GTK_WINDOW (m_toolbox), wx + NedResource::m_toolboxX, wy + NedResource::m_toolboxY); } unsigned int NedTools::getCurrentLength() { if (m_button_arrays[0][0] == NULL) return NOTE_4; if (m_button_arrays WHOLE_NOTE_BUTTON ->m_active) return WHOLE_NOTE; if (m_button_arrays HALF_NOTE_BUTTON ->m_active) return NOTE_2; if (m_button_arrays QUARTER_NOTE_BUTTON ->m_active) return NOTE_4; if (m_button_arrays NOTE_8_BUTTON ->m_active) return NOTE_8; if (m_button_arrays NOTE_16_BUTTON ->m_active) return NOTE_16; if (m_button_arrays NOTE_32_BUTTON ->m_active) return NOTE_32; if (m_button_arrays NOTE_64_BUTTON ->m_active) return NOTE_64; if (m_button_arrays STROKEN_GRACE_BUTTON ->m_active) return STROKEN_GRACE; if (m_button_arrays GRACE_8_BUTTON ->m_active) return GRACE_8; if (m_button_arrays GRACE_16_BUTTON ->m_active) return GRACE_16; return NOTE_4; } int NedTools::getCurrentNoteHead() { if (m_button_arrays[0][0] == NULL) return NORMAL_NOTE; if (m_button_arrays O_HIGH_NOTE_BUTTON ->m_active) return OPEN_HIGH_HAT; if (m_button_arrays C_HIGH_NOTE_BUTTON ->m_active) return CLOSED_HIGH_HAT; if (m_button_arrays NORMAL_NOTE_BUTTON ->m_active) return NORMAL_NOTE; if (m_button_arrays CROSS_NOTE1_BUTTON ->m_active) return CROSS_NOTE1; if (m_button_arrays CROSS_NOTE2_BUTTON ->m_active) return CROSS_NOTE2; if (m_button_arrays RECT_NOTE1_BUTTON ->m_active) return RECT_NOTE1; if (m_button_arrays RECT_NOTE2_BUTTON ->m_active) return RECT_NOTE2; if (m_button_arrays TRIAG_NOTE1_BUTTON ->m_active) return TRIAG_NOTE1; if (m_button_arrays TRIAG_NOTE2_BUTTON ->m_active) return TRIAG_NOTE2; if (m_button_arrays CROSS_NOTE3_BUTTON ->m_active) return CROSS_NOTE3; if (m_button_arrays CROSS_NOTE4_BUTTON ->m_active) return CROSS_NOTE4; if (m_button_arrays TRIAG_NOTE3_BUTTON ->m_active) return TRIAG_NOTE3; if (m_button_arrays QUAD_NOTE2_BUTTON ->m_active) return QUAD_NOTE2; if (m_button_arrays GUIT_STEM_BUTTON ->m_active) return GUITAR_NOTE_STEM; if (m_button_arrays GUIT_NO_STEM_BUTTON ->m_active) return GUITAR_NOTE_NO_STEM; return NORMAL_NOTE; } unsigned int NedTools::getStatus() { unsigned int status = 0; if (m_button_arrays[0][0] == NULL) return 0; if (m_button_arrays NATURAL_BUTTON ->m_active) status |= STAT_NATURAL; if (m_button_arrays SHARP_BUTTON ->m_active) status |= STAT_SHARP; if (m_button_arrays FLAT_BUTTON ->m_active) status |= STAT_FLAT; if (m_button_arrays FERMATA_BUTTON ->m_active) status |= STAT_FERMATA; if (m_button_arrays SFORZANDO_BUTTON ->m_active) status |= STAT_SFORZANDO; if (m_button_arrays DFLAT_BUTTON ->m_active) status |= STAT_DFLAT; if (m_button_arrays DSHARP_BUTTON ->m_active) status |= STAT_DSHARP; if (m_button_arrays STACCATO_BUTTON ->m_active) status |= STAT_STACC; if (m_button_arrays STACCATISSIMO_BUTTON ->m_active) status |= STAT_STACCATISSIMO; if (m_button_arrays SFORZATO_BUTTON ->m_active) status |= STAT_SFORZATO; if (m_button_arrays TENUTO_BUTTON ->m_active) status |= STAT_TENUTO; if (m_button_arrays TURN_BUTTON ->m_active) status |= STAT_TURN; if (m_button_arrays BOW_UP_BUTTON ->m_active) status |= STAT_BOW_UP; if (m_button_arrays BOW_DOWN_BUTTON ->m_active) status |= STAT_BOW_DOWN; if (m_button_arrays PED_ON_BUTTON ->m_active) status |= STAT_PED_ON; if (m_button_arrays PED_OFF_BUTTON ->m_active) status |= STAT_PED_OFF; if (m_button_arrays TRILL_BUTTON ->m_active) status |= STAT_TRILL; if (m_button_arrays PRALL_BUTTON ->m_active) status |= STAT_PRALL; if (m_button_arrays OPEN_BUTTON ->m_active) status |= STAT_OPEN; if (m_button_arrays MORDENT_BUTTON ->m_active) status |= STAT_MORDENT; if (m_button_arrays ARPEGGIO_BUTTON ->m_active) status |= STAT_ARPEGGIO; if (m_button_arrays REV_TURN_BUTTON ->m_active) status |= STAT_REV_TURN; if (m_button_arrays TEMOLO1_NOTE_BUTTON ->m_active) status |= STAT_TREMOLO1; if (m_button_arrays TEMOLO2_NOTE_BUTTON ->m_active) status |= STAT_TREMOLO2; if (m_button_arrays TEMOLO3_NOTE_BUTTON ->m_active) status |= STAT_TREMOLO3; if (m_button_arrays TEMOLO4_NOTE_BUTTON ->m_active) status |= STAT_TREMOLO4; return status; } bool NedTools::getRestMode() { if (m_button_arrays[0][0] == NULL) return false; return m_button_arrays REST_BUTTON ->m_active; } int NedTools::getDotCount() { if (m_button_arrays[0][0] == NULL) return 0; if (m_button_arrays DOT_BUTTON ->m_active) return 1; if (m_button_arrays DDOT_BUTTON ->m_active) return 2; return 0; } bool NedTools::getTiedMode() { if (m_button_arrays[0][0] == NULL) return 0; bool ret; ret = m_button_arrays TIE_BUTTON ->m_active; return ret; } void NedTools::setButtons(unsigned int length, int dotcount, unsigned int chord_status, unsigned int note_status, bool isRest, bool tie_forward, int note_head) { int p, i; if (m_button_arrays[0][0] == NULL) return; for (p = 0; p < NUM_PANELS; p++) { for (i = 0; i < 17; i++) { m_button_arrays[p][i]->m_active = false; } } m_button_arrays REST_BUTTON ->m_active = isRest; switch (dotcount) { case 2: m_button_arrays DDOT_BUTTON ->m_active = true; break; case 1: m_button_arrays DOT_BUTTON ->m_active = true; break; } if (!isRest) { switch (note_status & ACCIDENTAL_MASK) { case STAT_NATURAL: m_button_arrays NATURAL_BUTTON ->m_active = true; break; case STAT_DFLAT: m_button_arrays DFLAT_BUTTON ->m_active = true; break; case STAT_FLAT: m_button_arrays FLAT_BUTTON ->m_active = true; break; case STAT_SHARP: m_button_arrays SHARP_BUTTON ->m_active = true; break; case STAT_DSHARP: m_button_arrays DSHARP_BUTTON ->m_active = true; break; } } if (chord_status & STAT_FERMATA) m_button_arrays FERMATA_BUTTON ->m_active = true; if (chord_status & STAT_SFORZANDO) m_button_arrays SFORZANDO_BUTTON ->m_active = true; if (chord_status & STAT_STACC) m_button_arrays STACCATO_BUTTON ->m_active = true; if (chord_status & STAT_STACCATISSIMO) m_button_arrays STACCATISSIMO_BUTTON ->m_active = true; if (chord_status & STAT_SFORZATO) m_button_arrays SFORZATO_BUTTON ->m_active = true; if (chord_status & STAT_TENUTO) m_button_arrays TENUTO_BUTTON ->m_active = true; if (chord_status & STAT_TURN) m_button_arrays TURN_BUTTON ->m_active = true; if (chord_status & STAT_BOW_UP) m_button_arrays BOW_UP_BUTTON ->m_active = true; if (chord_status & STAT_BOW_DOWN) m_button_arrays BOW_DOWN_BUTTON ->m_active = true; if (chord_status & STAT_PED_ON) m_button_arrays PED_ON_BUTTON ->m_active = true; if (chord_status & STAT_PED_OFF) m_button_arrays PED_OFF_BUTTON ->m_active = true; if (chord_status & STAT_TRILL) m_button_arrays TRILL_BUTTON ->m_active = true; if (chord_status & STAT_PRALL) m_button_arrays PRALL_BUTTON ->m_active = true; if (chord_status & STAT_OPEN) m_button_arrays OPEN_BUTTON ->m_active = true; if (chord_status & STAT_MORDENT) m_button_arrays MORDENT_BUTTON ->m_active = true; if (chord_status & STAT_ARPEGGIO) m_button_arrays ARPEGGIO_BUTTON ->m_active = true; if (chord_status & STAT_REV_TURN) m_button_arrays REV_TURN_BUTTON ->m_active = true; if ((chord_status & TREMOLO_MASK) == STAT_TREMOLO1) m_button_arrays TEMOLO1_NOTE_BUTTON ->m_active = true; if ((chord_status & TREMOLO_MASK) == STAT_TREMOLO2) m_button_arrays TEMOLO2_NOTE_BUTTON ->m_active = true; if ((chord_status & TREMOLO_MASK) == STAT_TREMOLO3) m_button_arrays TEMOLO3_NOTE_BUTTON ->m_active = true; if ((chord_status & TREMOLO_MASK) == STAT_TREMOLO4) m_button_arrays TEMOLO4_NOTE_BUTTON ->m_active = true; if (length == WHOLE_NOTE) m_button_arrays WHOLE_NOTE_BUTTON ->m_active = true; else if (length == NOTE_2) m_button_arrays HALF_NOTE_BUTTON ->m_active = true; else if (length == NOTE_4) m_button_arrays QUARTER_NOTE_BUTTON ->m_active = true; else if (length == NOTE_8) m_button_arrays NOTE_8_BUTTON ->m_active = true; else if (length == NOTE_16) m_button_arrays NOTE_16_BUTTON ->m_active = true; else if (length == NOTE_32) m_button_arrays NOTE_32_BUTTON ->m_active = true; else if (length == NOTE_64) m_button_arrays NOTE_64_BUTTON ->m_active = true; else if (length == STROKEN_GRACE) m_button_arrays STROKEN_GRACE_BUTTON ->m_active = true; else if (length == GRACE_8) m_button_arrays GRACE_8_BUTTON ->m_active = true; else if (length == GRACE_16) m_button_arrays GRACE_16_BUTTON ->m_active = true; else m_button_arrays QUARTER_NOTE_BUTTON ->m_active = true; if (note_head == NORMAL_NOTE) m_button_arrays NORMAL_NOTE_BUTTON ->m_active = true; else if (note_head == OPEN_HIGH_HAT) m_button_arrays O_HIGH_NOTE_BUTTON ->m_active = true; else if (note_head == CLOSED_HIGH_HAT) m_button_arrays C_HIGH_NOTE_BUTTON ->m_active = true; else if (note_head == CROSS_NOTE1) m_button_arrays CROSS_NOTE1_BUTTON ->m_active = true; else if (note_head == CROSS_NOTE2) m_button_arrays CROSS_NOTE2_BUTTON ->m_active = true; else if (note_head == RECT_NOTE1) m_button_arrays RECT_NOTE1_BUTTON ->m_active = true; else if (note_head == RECT_NOTE2) m_button_arrays RECT_NOTE2_BUTTON ->m_active = true; else if (note_head == TRIAG_NOTE1) m_button_arrays TRIAG_NOTE1_BUTTON ->m_active = true; else if (note_head == TRIAG_NOTE2) m_button_arrays TRIAG_NOTE2_BUTTON ->m_active = true; else if (note_head == CROSS_NOTE3) m_button_arrays CROSS_NOTE3_BUTTON ->m_active = true; else if (note_head == CROSS_NOTE4) m_button_arrays CROSS_NOTE4_BUTTON ->m_active = true; else if (note_head == TRIAG_NOTE3) m_button_arrays TRIAG_NOTE3_BUTTON ->m_active = true; else if (note_head == QUAD_NOTE2) m_button_arrays QUAD_NOTE2_BUTTON ->m_active = true; else if (note_head == GUITAR_NOTE_STEM) m_button_arrays GUIT_STEM_BUTTON ->m_active = true; else if (note_head == GUITAR_NOTE_NO_STEM) m_button_arrays GUIT_NO_STEM_BUTTON ->m_active = true; else m_button_arrays NORMAL_NOTE_BUTTON ->m_active = true; m_button_arrays TIE_BUTTON ->m_active = tie_forward; gdk_window_invalidate_rect(m_button_area->window, NULL, FALSE); } void NedTools::setNoteLengthButtons(unsigned int length) { if (m_button_arrays[0][0] == NULL) return; m_button_arrays WHOLE_NOTE_BUTTON ->m_active = false; m_button_arrays HALF_NOTE_BUTTON ->m_active = false; m_button_arrays QUARTER_NOTE_BUTTON ->m_active = false; m_button_arrays NOTE_8_BUTTON ->m_active = false; m_button_arrays NOTE_16_BUTTON ->m_active = false; m_button_arrays NOTE_32_BUTTON ->m_active = false; m_button_arrays NOTE_64_BUTTON ->m_active = false; m_button_arrays STROKEN_GRACE_BUTTON ->m_active = false; m_button_arrays GRACE_8_BUTTON ->m_active = false; m_button_arrays GRACE_16_BUTTON ->m_active = false; if (length == WHOLE_NOTE) m_button_arrays WHOLE_NOTE_BUTTON ->m_active = true; else if (length == NOTE_2) m_button_arrays HALF_NOTE_BUTTON ->m_active = true; else if (length == NOTE_4) m_button_arrays QUARTER_NOTE_BUTTON ->m_active = true; else if (length == NOTE_8) m_button_arrays NOTE_8_BUTTON ->m_active = true; else if (length == NOTE_16) m_button_arrays NOTE_16_BUTTON ->m_active = true; else if (length == NOTE_32) m_button_arrays NOTE_32_BUTTON ->m_active = true; else if (length == NOTE_64) m_button_arrays NOTE_64_BUTTON ->m_active = true; else m_button_arrays QUARTER_NOTE_BUTTON ->m_active = true; gdk_window_invalidate_rect(m_button_area->window, NULL, FALSE); } void NedTools::resetSomeButtons() { if (m_button_arrays[0][0] == NULL) return; m_button_arrays NATURAL_BUTTON ->m_active = false; m_button_arrays DFLAT_BUTTON ->m_active = false; m_button_arrays FLAT_BUTTON ->m_active = false; m_button_arrays SHARP_BUTTON ->m_active = false; m_button_arrays REST_BUTTON ->m_active = false; m_button_arrays DSHARP_BUTTON ->m_active = false; m_button_arrays DDOT_BUTTON ->m_active = false; m_button_arrays DOT_BUTTON ->m_active = false; m_button_arrays TIE_BUTTON ->m_active = false; m_button_arrays FERMATA_BUTTON ->m_active = false; m_button_arrays STACCATO_BUTTON ->m_active = false; m_button_arrays STACCATISSIMO_BUTTON ->m_active = false; m_button_arrays SFORZATO_BUTTON ->m_active = false; m_button_arrays SFORZANDO_BUTTON ->m_active = false; m_button_arrays TENUTO_BUTTON ->m_active = false; m_button_arrays TURN_BUTTON ->m_active = false; m_button_arrays BOW_UP_BUTTON ->m_active = false; m_button_arrays BOW_DOWN_BUTTON ->m_active = false; m_button_arrays PED_ON_BUTTON ->m_active = false; m_button_arrays PED_OFF_BUTTON ->m_active = false; m_button_arrays TRILL_BUTTON ->m_active = false; m_button_arrays PRALL_BUTTON ->m_active = false; m_button_arrays OPEN_BUTTON ->m_active = false; m_button_arrays MORDENT_BUTTON ->m_active = false; m_button_arrays ARPEGGIO_BUTTON ->m_active = false; m_button_arrays REV_TURN_BUTTON ->m_active = false; m_button_arrays TEMOLO1_NOTE_BUTTON ->m_active = false; m_button_arrays TEMOLO2_NOTE_BUTTON ->m_active = false; m_button_arrays TEMOLO3_NOTE_BUTTON ->m_active = false; m_button_arrays TEMOLO4_NOTE_BUTTON ->m_active = false; gdk_window_invalidate_rect(m_button_area->window, NULL, FALSE); } void NedTools::resetTieButton() { if (m_button_arrays[0][0] == NULL) return; m_button_arrays TIE_BUTTON ->m_active = false; gdk_window_invalidate_rect(m_button_area->window, NULL, FALSE); } void NedTools::resetButtons() { int p, i; if (m_button_arrays[0][0] == NULL) return; for (p = 0; p < NUM_PANELS; p++) { for (i = 0; i < 17; i++) { m_button_arrays[p][i]->m_active = m_button_descriptions[p][i].m_default_state; } } gdk_window_invalidate_rect(m_button_area->window, NULL, FALSE); } void NedTools::toggleButton(int nr) { m_button_arrays[m_current_panel][nr]->toggle(); testForPanelChange(m_button_arrays[m_current_panel][nr]); gdk_window_invalidate_rect(m_button_area->window, NULL, FALSE); } void NedTools::toggleRest() { m_button_arrays REST_BUTTON ->m_active = !(m_button_arrays REST_BUTTON ->m_active); gdk_window_invalidate_rect(m_button_area->window, NULL, FALSE); } void NedTools::toggleTie() { m_button_arrays TIE_BUTTON ->m_active = !(m_button_arrays TIE_BUTTON ->m_active); gdk_window_invalidate_rect(m_button_area->window, NULL, FALSE); } void NedTools::toggleDot() { m_button_arrays DOT_BUTTON ->m_active = !(m_button_arrays DOT_BUTTON ->m_active); if (m_button_arrays DOT_BUTTON ->m_active) m_button_arrays DDOT_BUTTON ->m_active = false; gdk_window_invalidate_rect(m_button_area->window, NULL, FALSE); } void NedTools::toggleSharp() { m_button_arrays SHARP_BUTTON ->m_active = !(m_button_arrays SHARP_BUTTON ->m_active); if (m_button_arrays SHARP_BUTTON ->m_active) { m_button_arrays FLAT_BUTTON ->m_active = false; m_button_arrays NATURAL_BUTTON ->m_active = false; m_button_arrays DSHARP_BUTTON ->m_active = false; m_button_arrays DFLAT_BUTTON ->m_active = false; } gdk_window_invalidate_rect(m_button_area->window, NULL, FALSE); } void NedTools::toggleNatural() { m_button_arrays NATURAL_BUTTON ->m_active = !(m_button_arrays NATURAL_BUTTON ->m_active); if (m_button_arrays NATURAL_BUTTON ->m_active) { m_button_arrays FLAT_BUTTON ->m_active = false; m_button_arrays SHARP_BUTTON ->m_active = false; m_button_arrays DSHARP_BUTTON ->m_active = false; m_button_arrays DFLAT_BUTTON ->m_active = false; } gdk_window_invalidate_rect(m_button_area->window, NULL, FALSE); } void NedTools::toggleFlat() { m_button_arrays FLAT_BUTTON ->m_active = !(m_button_arrays FLAT_BUTTON ->m_active); if (m_button_arrays FLAT_BUTTON ->m_active) { m_button_arrays SHARP_BUTTON ->m_active = false; m_button_arrays NATURAL_BUTTON ->m_active = false; m_button_arrays DSHARP_BUTTON ->m_active = false; m_button_arrays DFLAT_BUTTON ->m_active = false; } gdk_window_invalidate_rect(m_button_area->window, NULL, FALSE); } gboolean NedTools::OnDelete(GtkWidget *widget, GdkEvent *event, gpointer data) { NedResource::reset_tools(); return FALSE; } void NedTools::getValues(bool *state) { *state = m_state; } gboolean NedTools::key_press_handler(GtkWidget *widget, GdkEventKey *event, gpointer data) { NedTools *the_dialog = (NedTools *) data; switch(event->keyval) { case GDK_KP_Divide: the_dialog->toggleButton(1); break; case GDK_KP_Multiply: the_dialog->toggleButton(2); break; case GDK_KP_Subtract: the_dialog->toggleButton(3); break; case GDK_KP_Home: the_dialog->toggleButton(4); break; case GDK_KP_Up: the_dialog->toggleButton(5); break; case GDK_KP_Prior: the_dialog->toggleButton(6); break; case GDK_KP_Add: the_dialog->toggleButton(7); break; case GDK_KP_Left: the_dialog->toggleButton(8); break; case GDK_KP_Begin: the_dialog->toggleButton(9); break; case GDK_KP_Right: the_dialog->toggleButton(10); break; case GDK_KP_End: the_dialog->toggleButton(11); break; case GDK_KP_Down: the_dialog->toggleButton(12); break; case GDK_KP_Next: the_dialog->toggleButton(13); break; case GDK_KP_Enter: the_dialog->toggleButton(14); break; case GDK_KP_Insert: the_dialog->toggleButton(15); break; case GDK_KP_Delete: the_dialog->toggleButton(16); break; } return FALSE; } void NedTools::determine_image_and_dimensions(Display *dpy, Window win, GdkGC *ggc, GdkDrawable *d, int screen, int panel, int row, int column, int bu_nr, GdkPixbuf *buf, XImage *img[2], int *w, int *h) { if (row > 0 && column == 3) { *w = m_back_img_width; *h = 2 * m_back_img_height; } else if (row == 4 && column == 0) { *w = 2 * m_back_img_width; *h = m_back_img_height; } else { *w = m_back_img_width; *h = m_back_img_height; } switch (m_button_descriptions[panel][bu_nr].m_type) { case EMPTY_BUTTON: if (row > 0 && column == 3) { img[0] = CREATE_X11_EMPTY(VERTI_BACKGROUND, false); img[1] = CREATE_X11_EMPTY(VERTI_BACKGROUND, true); } else if (row == 4 && column == 0) { img[0] = CREATE_X11_EMPTY(HORIZ_BACKGROUND, false); img[1] = CREATE_X11_EMPTY(HORIZ_BACKGROUND, true); } else { img[0] = CREATE_X11_EMPTY(DEFAULT_BACKGROUND, false); img[1] = CREATE_X11_EMPTY(DEFAULT_BACKGROUND, true); } break; default: if (row > 0 && column == 3) { img[0] = CREATE_X11(buf, VERTI_BACKGROUND, false); img[1] = CREATE_X11(buf, VERTI_BACKGROUND, true); } else if (row == 4 && column == 0) { img[0] = CREATE_X11(buf, HORIZ_BACKGROUND, false); img[1] = CREATE_X11(buf, HORIZ_BACKGROUND, true); } else { img[0] = CREATE_X11(buf, DEFAULT_BACKGROUND, false); img[1] = CREATE_X11(buf, DEFAULT_BACKGROUND, true); } break; } } void NedTools::determine_mini_image_and_dimensions(Display *dpy, Window win, GdkGC *ggc, GdkDrawable *d, int screen, GdkPixbuf *buf, XImage *img[2], int type, int *w, int *h) { *w = m_back_miniimg_width; *h = m_back_miniimg_height; if (type == EMPTY_BUTTON) { img[0] = CREATE_MINI_X11_EMPTY(MINI_BACKGROUND, false); img[1] = CREATE_MINI_X11_EMPTY(MINI_BACKGROUND, true); } else { img[0] = CREATE_MINI_X11(buf, MINI_BACKGROUND, false); img[1] = CREATE_MINI_X11(buf, MINI_BACKGROUND, true); } } void NedTools::createButtons(Display *dpy, Window win, GC xgc, GdkGC *ggc, GdkDrawable *d, int screen) { int row, column; int bu_nr, i; int w, h; XImage *img[2]; int panel; for (panel = 0; panel < NUM_PANELS; panel++) { row = column = bu_nr = 0; for (i = 0; i < 4; i++) { determine_image_and_dimensions(dpy, win, ggc, d, screen, panel, row, column, bu_nr, *(m_button_descriptions[panel][bu_nr].m_pixbuf), img, &w, &h); m_button_arrays[panel][bu_nr] = new X11button(dpy, win, xgc, screen, img, column * m_back_img_width, MINI_BUTTON_AREA_HEIGHT + row * m_back_img_height, w, h, column, row, panel, m_button_descriptions[panel][bu_nr].m_type, m_button_descriptions[panel][bu_nr].m_scope, m_button_descriptions[panel][bu_nr].m_type != EMPTY_BUTTON, m_button_descriptions[panel][bu_nr].m_default_state); if (m_button_descriptions[panel][bu_nr].m_button_group != NULL) { m_button_descriptions[panel][bu_nr].m_button_group->addX11button(m_button_arrays[panel][bu_nr]); } column++; bu_nr++; } row++; column = 0; for (i = 0; i < 4; i++) { determine_image_and_dimensions(dpy, win, ggc, d, screen, panel, row, column, bu_nr, *(m_button_descriptions[panel][bu_nr].m_pixbuf), img, &w, &h); m_button_arrays[panel][bu_nr] = new X11button(dpy, win, xgc, screen, img, column * m_back_img_width, MINI_BUTTON_AREA_HEIGHT + row * m_back_img_height, w, h, column, row, panel, m_button_descriptions[panel][bu_nr].m_type, m_button_descriptions[panel][bu_nr].m_scope, m_button_descriptions[panel][bu_nr].m_type != EMPTY_BUTTON, m_button_descriptions[panel][bu_nr].m_default_state); if (m_button_descriptions[panel][bu_nr].m_button_group != NULL) { m_button_descriptions[panel][bu_nr].m_button_group->addX11button(m_button_arrays[panel][bu_nr]); } column++; bu_nr++; } row++; column = 0; for (i = 0; i < 3; i++) { determine_image_and_dimensions(dpy, win, ggc, d, screen, panel, row, column, bu_nr, *(m_button_descriptions[panel][bu_nr].m_pixbuf), img, &w, &h); m_button_arrays[panel][bu_nr] = new X11button(dpy, win, xgc, screen, img, column * m_back_img_width, MINI_BUTTON_AREA_HEIGHT + row * m_back_img_height, w, h, column, row, panel, m_button_descriptions[panel][bu_nr].m_type, m_button_descriptions[panel][bu_nr].m_scope, m_button_descriptions[panel][bu_nr].m_type != EMPTY_BUTTON, m_button_descriptions[panel][bu_nr].m_default_state); if (m_button_descriptions[panel][bu_nr].m_button_group != NULL) { m_button_descriptions[panel][bu_nr].m_button_group->addX11button(m_button_arrays[panel][bu_nr]); } column++; bu_nr++; } row++; column = 0; for (i = 0; i < 4; i++) { determine_image_and_dimensions(dpy, win, ggc, d, screen, panel, row, column, bu_nr, *(m_button_descriptions[panel][bu_nr].m_pixbuf), img, &w, &h); m_button_arrays[panel][bu_nr] = new X11button(dpy, win, xgc, screen, img, column * m_back_img_width, MINI_BUTTON_AREA_HEIGHT+ row * m_back_img_height, w, h, column, row, panel, m_button_descriptions[panel][bu_nr].m_type, m_button_descriptions[panel][bu_nr].m_scope, m_button_descriptions[panel][bu_nr].m_type != EMPTY_BUTTON, m_button_descriptions[panel][bu_nr].m_default_state); if (m_button_descriptions[panel][bu_nr].m_button_group != NULL) { m_button_descriptions[panel][bu_nr].m_button_group->addX11button(m_button_arrays[panel][bu_nr]); } column++; bu_nr++; } row++; column = 0; for (i = 0; i < 2; i++) { determine_image_and_dimensions(dpy, win, ggc, d, screen, panel, row, column, bu_nr, *(m_button_descriptions[panel][bu_nr].m_pixbuf), img, &w, &h); m_button_arrays[panel][bu_nr] = new X11button(dpy, win, xgc, screen, img, column * m_back_img_width, MINI_BUTTON_AREA_HEIGHT + row * m_back_img_height, w, h, column, row, panel, m_button_descriptions[panel][bu_nr].m_type, m_button_descriptions[panel][bu_nr].m_scope, m_button_descriptions[panel][bu_nr].m_type != EMPTY_BUTTON, m_button_descriptions[panel][bu_nr].m_default_state); if (m_button_descriptions[panel][bu_nr].m_button_group != NULL) { m_button_descriptions[panel][bu_nr].m_button_group->addX11button(m_button_arrays[panel][bu_nr]); } column += 2; bu_nr++; } } } void NedTools::createMiniButtons(Display *dpy, Window win, GC xgc, GdkGC *ggc, GdkDrawable *d, int screen) { int column; int w, h; XImage *img[2]; for (column = 0; column < 4; column++) { determine_mini_image_and_dimensions(dpy, win, ggc, d, screen, *(m_mini_button_descriptions[column].m_pixbuf), img, m_mini_button_descriptions[column].m_type, &w, &h); m_mini_button_arrays[column] = new X11button(dpy, win, xgc, screen, img, m_mini_spaces + column * (m_mini_spaces + m_back_miniimg_width), m_mini_spaces, w, h, column, 0, 0, m_mini_button_descriptions[column].m_type, SCOPE_NONE, m_mini_button_descriptions[column].m_type != EMPTY_BUTTON, m_mini_button_descriptions[column].m_default_state); } for (column = 4; column < 8; column++) { determine_mini_image_and_dimensions(dpy, win, ggc, d, screen, *(m_mini_button_descriptions[column].m_pixbuf), img, m_mini_button_descriptions[column].m_type, &w, &h); m_mini_button_arrays[column] = new X11button(dpy, win, xgc, screen, img, m_mini_spaces + (column - 4) * (m_mini_spaces + m_back_miniimg_width), m_mini_spaces + 1 * (m_mini_spaces + m_back_miniimg_height), w, h, column, 0, 0, m_mini_button_descriptions[column].m_type, SCOPE_NONE, m_mini_button_descriptions[column].m_type != EMPTY_BUTTON, m_mini_button_descriptions[column].m_default_state); } } gboolean NedTools::draw_menu(GtkWidget *widget, GdkEventExpose *event, gpointer data) { NedTools *the_dialog = (NedTools *) data; Display *dpy; Window win; GC xgc; GdkColor bgcolor; int screen; int bu_nr; if (m_button_arrays[0][0] == NULL) { the_dialog->m_back_pix = gdk_pixmap_new(the_dialog->m_button_area->window, 4 * the_dialog->m_back_img_width, MINI_BUTTON_AREA_HEIGHT + 5 * the_dialog->m_back_img_height, -1); the_dialog->m_copy_gc = gdk_gc_new(the_dialog->m_button_area->window); the_dialog->m_blue_gc = gdk_gc_new(the_dialog->m_back_pix); bgcolor.pixel = 1; bgcolor.red = 0x0000; bgcolor.green = 0x5555; bgcolor.blue = 0xcccc; gdk_gc_set_rgb_fg_color (the_dialog->m_blue_gc, &bgcolor); dpy = gdk_x11_drawable_get_xdisplay(the_dialog->m_back_pix); win = gdk_x11_drawable_get_xid(the_dialog->m_back_pix); screen = DefaultScreen(dpy); xgc = DefaultGC(dpy, screen); the_dialog->createButtons(dpy, win, xgc, the_dialog->m_button_area->style->white_gc, the_dialog->m_back_pix, screen); the_dialog->createMiniButtons(dpy, win, xgc, the_dialog->m_button_area->style->white_gc, the_dialog->m_back_pix, screen); } if (the_dialog->m_back_pix == NULL) return TRUE; gdk_draw_rectangle(the_dialog->m_back_pix, the_dialog->m_blue_gc, TRUE, 0, 0, 4 * the_dialog->m_back_img_width, MINI_BUTTON_AREA_HEIGHT + 5 * the_dialog->m_back_img_height); for (bu_nr = 0; bu_nr < 17; bu_nr++) { m_button_arrays[the_dialog->m_current_panel][bu_nr]->draw(); } for (bu_nr = 0; bu_nr < 8; bu_nr++) { m_mini_button_arrays[bu_nr]->draw(); } GdkImage *img1 = gdk_drawable_get_image(the_dialog->m_back_pix, 0, 0, 4 * the_dialog->m_back_img_width, MINI_BUTTON_AREA_HEIGHT + 5 * the_dialog->m_back_img_height); gdk_draw_image(the_dialog->m_button_area->window, the_dialog->m_copy_gc, img1, 0, 0, 0, 0, 4 * the_dialog->m_back_img_width, MINI_BUTTON_AREA_HEIGHT + 5 * the_dialog->m_back_img_height); return TRUE; } XImage *NedTools::createX11PixmapFromGdkPixbuffer(Display *dpy, int screen, GdkDrawable *d, GdkGC *gc, GdkPixbuf *pixbuf, int background, bool up) { int depth; GdkImage *gdk_image; GdkPixmap *gdk_pixmap; XImage *x11_img; int w = 0, h = 0; if (pixbuf != NULL) { w = gdk_pixbuf_get_width(pixbuf); h = gdk_pixbuf_get_height(pixbuf); } depth = DefaultDepth(dpy, screen); //gdk_draw_rectangle(gdk_pixmap, gc, TRUE, 0, 0, m_back_img_width, m_back_img_height); switch (background) { case HORIZ_BACKGROUND: gdk_pixmap = gdk_pixmap_new(d, 2 * m_back_img_width, m_back_img_height, depth); gdk_pixbuf_render_to_drawable (up ? NedResource::m_backgroundh1 : NedResource::m_backgroundh2, gdk_pixmap, gc, 0, 0, 0, 0, 2 * m_back_img_width, m_back_img_height, GDK_RGB_DITHER_NONE, 0, 0); if (pixbuf != NULL) { gdk_pixbuf_render_to_drawable (pixbuf, gdk_pixmap, gc, 0, 0, m_back_img_width - w / 2, (m_back_img_height - h) / 2, w, h, GDK_RGB_DITHER_NONE, 0, 0); } gdk_image = gdk_image_get(gdk_pixmap, 0, 0, 2 * m_back_img_width, m_back_img_height); break; case VERTI_BACKGROUND: gdk_pixmap = gdk_pixmap_new(d, m_back_img_width, 2 * m_back_img_height, depth); gdk_pixbuf_render_to_drawable (up ? NedResource::m_backgroundv1 : NedResource::m_backgroundv2, gdk_pixmap, gc, 0, 0, 0, 0, m_back_img_width, 2 * m_back_img_height, GDK_RGB_DITHER_NONE, 0, 0); if (pixbuf != NULL) { gdk_pixbuf_render_to_drawable (pixbuf, gdk_pixmap, gc, 0, 0, (m_back_img_width - w) / 2, m_back_img_height - h / 2, w, h, GDK_RGB_DITHER_NONE, 0, 0); } gdk_image = gdk_image_get(gdk_pixmap, 0, 0, m_back_img_width, 2 * m_back_img_height); break; case MINI_BACKGROUND: gdk_pixmap = gdk_pixmap_new(d, m_back_miniimg_width, m_back_miniimg_height, depth); gdk_pixbuf_render_to_drawable (up ? NedResource::m_mini_background1 : NedResource::m_mini_background2, gdk_pixmap, gc, 0, 0, 0, 0, m_back_miniimg_width, m_back_miniimg_height, GDK_RGB_DITHER_NONE, 0, 0); if (pixbuf != NULL) { gdk_pixbuf_render_to_drawable (pixbuf, gdk_pixmap, gc, 0, 0, (m_back_miniimg_width - w) / 2, (m_back_miniimg_height - h) / 2, w, h, GDK_RGB_DITHER_NONE, 0, 0); } gdk_image = gdk_image_get(gdk_pixmap, 0, 0, m_back_miniimg_width, m_back_miniimg_height); break; default: gdk_pixmap = gdk_pixmap_new(d, m_back_img_width, m_back_img_height, depth); gdk_pixbuf_render_to_drawable (up ? NedResource::m_background1 : NedResource::m_background2, gdk_pixmap, gc, 0, 0, 0, 0, m_back_img_width, m_back_img_height, GDK_RGB_DITHER_NONE, 0, 0); if (pixbuf != NULL) { gdk_pixbuf_render_to_drawable (pixbuf, gdk_pixmap, gc, 0, 0, (m_back_img_width - w) / 2, (m_back_img_height - h) / 2, w, h, GDK_RGB_DITHER_NONE, 0, 0); } gdk_image = gdk_image_get(gdk_pixmap, 0, 0, m_back_img_width, m_back_img_height); break; } x11_img = gdk_x11_image_get_ximage(gdk_image); //g_object_unref(gdk_pixmap); return x11_img; } bool NedTools::OnButtonPress(GtkWidget *widget, GdkEventButton *event, gpointer data) { NedTools *the_dialog = (NedTools *) data; int bu_nr; for (bu_nr = 0; bu_nr < 17; bu_nr++) { m_button_arrays[the_dialog->m_current_panel][bu_nr]->handle_click(event->x, event->y); } for (bu_nr = 0; bu_nr < 5; bu_nr++) { m_mini_button_arrays[bu_nr]->handle_click(event->x, event->y); } gdk_window_invalidate_rect(the_dialog->m_button_area->window, NULL, FALSE); return FALSE; } bool NedTools::OnButtonRelease(GtkWidget *widget, GdkEventButton *event, gpointer data) { NedTools *the_dialog = (NedTools *) data; int bu_nr; for (bu_nr = 0; bu_nr < 17; bu_nr++) { if (m_button_arrays[the_dialog->m_current_panel][bu_nr]->handle_release(event->x, event->y)) { the_dialog->testForPanelChange(m_button_arrays[the_dialog->m_current_panel][bu_nr]); } } for (bu_nr = 0; bu_nr < 5; bu_nr++) { if (m_mini_button_arrays[bu_nr]->handle_release(event->x, event->y)) { the_dialog->m_current_panel = bu_nr; } } gdk_window_invalidate_rect(the_dialog->m_button_area->window, NULL, FALSE); return FALSE; } void NedTools::testForPanelChange(X11button *button) { switch (m_current_panel) { case 0: switch (button->m_row) { case 0: switch (button->m_column) { case 3: m_current_panel++; break; } break; } break; case 1: switch (button->m_row) { case 0: switch (button->m_column) { case 1: m_current_panel--; break; case 3: m_current_panel++; break; } break; } break; case 2: switch (button->m_row) { case 0: switch (button->m_column) { case 1: m_current_panel--; break; case 3: m_current_panel++; break; } break; } break; case 3: switch (button->m_row) { case 0: switch (button->m_column) { case 0: m_current_panel--; break; case 3: m_current_panel++; break; } break; } break; case 4: switch (button->m_row) { case 0: switch (button->m_column) { case 1: m_current_panel--; break; } break; } break; } } nted-1.10.18/dialogs/tupletdialog.cpp0000664001041000007640000000645511520267217014374 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "tupletdialog.h" #include "localization.h" #include "resource.h" #include "config.h" NedTupletDialog::NedTupletDialog(GtkWindow *parent) { GtkWidget *dialog; GtkWidget *infolabel; GtkWidget *lab1; GtkWidget *vbox; GtkWidget *hbox; dialog = gtk_dialog_new_with_buttons(_("Tuplet"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (CloseCallBack), (void *) this); m_tuplet_spin_box = gtk_spin_button_new_with_range (2.0, 13.0, 1.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_tuplet_spin_box), 3.0); infolabel = gtk_label_new(_("Instead of using this dialog\nyou can simply press + num")); lab1 = gtk_label_new(_("Tuplet value:")); hbox = gtk_hbox_new(FALSE, 8); gtk_box_pack_start(GTK_BOX(hbox), lab1, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), m_tuplet_spin_box, FALSE, FALSE, 0); m_method_check_button = gtk_check_button_new_with_label(_("method 2")); vbox = gtk_vbox_new(FALSE, 8); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), m_method_check_button, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), infolabel, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), vbox); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedTupletDialog::CloseCallBack(GtkDialog *dialog, gint result, gpointer data) { NedTupletDialog *tuplet_dialog = (NedTupletDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: tuplet_dialog->m_state = TRUE; break; default: tuplet_dialog->m_state = FALSE; break; } tuplet_dialog->m_tuplet_val = (int) (gtk_spin_button_get_value(GTK_SPIN_BUTTON(tuplet_dialog->m_tuplet_spin_box)) + 0.4); tuplet_dialog->m_method = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tuplet_dialog->m_method_check_button)) ? 1 : 0; gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedTupletDialog::getValues(bool *state, int *tupletval, int *method) { *state = m_state; *tupletval = m_tuplet_val; *method = m_method; } nted-1.10.18/dialogs/paperconfigdialog.cpp0000664001041000007640000001540111520267217015343 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "paperconfigdialog.h" #include "localization.h" #include "resource.h" #include "config.h" NedPaperConfigDialog::NedPaperConfigDialog(GtkWindow *parent, const char *current_paper, bool portrait, bool with_cancel) : m_paper(current_paper), m_portrait(portrait) { GtkWidget *dialog; GtkWidget *paper_type_frame; GtkWidget *paper_type_vbox; GtkWidget *orientation_frame; GtkWidget *orientation_vbox; GtkWidget *hbox; if (with_cancel) { dialog = gtk_dialog_new_with_buttons(_("Paper"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); } else { dialog = gtk_dialog_new_with_buttons(_("Paper"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); } g_signal_connect(dialog, "response", G_CALLBACK (CloseCallBack), (void *) this); paper_type_frame = gtk_frame_new(_("paper type")); m_radio_box_A5 = gtk_radio_button_new_with_label(NULL, "A5"); m_radio_box_A4 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_radio_box_A5), "A4"); m_radio_box_A3 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_radio_box_A5), "A3"); m_radio_box_B4 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_radio_box_A5), "B4"); m_radio_box_Letter = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_radio_box_A5), "Letter"); m_radio_box_Legal = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_radio_box_A5), "Legal"); m_radio_box_230x293 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_radio_box_A5), "230x293"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (m_radio_box_A4), TRUE); if (!strcmp(current_paper, "A3")) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (m_radio_box_A3), TRUE); } else if (!strcmp(current_paper, "B4")) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (m_radio_box_B4), TRUE); } else if (!strcmp(current_paper, "Letter")) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (m_radio_box_Letter), TRUE); } else if (!strcmp(current_paper, "Legal")) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (m_radio_box_Legal), TRUE); } else if (!strcmp(current_paper, "230x293")) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (m_radio_box_230x293), TRUE); } paper_type_vbox = gtk_vbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX (paper_type_vbox), m_radio_box_A5, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (paper_type_vbox), m_radio_box_A4, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (paper_type_vbox), m_radio_box_A3, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (paper_type_vbox), m_radio_box_B4, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (paper_type_vbox), m_radio_box_Letter, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (paper_type_vbox), m_radio_box_Legal, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (paper_type_vbox), m_radio_box_230x293, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(paper_type_frame), paper_type_vbox); orientation_frame = gtk_frame_new(_("orientation")); m_radio_box_portrait = gtk_radio_button_new_with_label(NULL, _(_("portrait"))); m_radio_box_landspace = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_radio_box_portrait), _("landscape")); if (portrait) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (m_radio_box_portrait), TRUE); } else { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (m_radio_box_landspace), TRUE); } orientation_vbox = gtk_vbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX (orientation_vbox), m_radio_box_portrait, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (orientation_vbox), m_radio_box_landspace, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(orientation_frame), orientation_vbox); hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX (hbox), paper_type_frame, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), orientation_frame, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), hbox); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedPaperConfigDialog::CloseCallBack(GtkDialog *dialog, gint result, gpointer data) { NedPaperConfigDialog *paper_dialog = (NedPaperConfigDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: paper_dialog->m_state = TRUE; break; default: paper_dialog->m_state = FALSE; break; } paper_dialog->m_paper = "A4"; paper_dialog->m_portrait = TRUE; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (paper_dialog->m_radio_box_A3))) { paper_dialog->m_paper = "A3"; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (paper_dialog->m_radio_box_A5))) { paper_dialog->m_paper = "A5"; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (paper_dialog->m_radio_box_B4))) { paper_dialog->m_paper = "B4"; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (paper_dialog->m_radio_box_Letter))) { paper_dialog->m_paper = "Letter"; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (paper_dialog->m_radio_box_Legal))) { paper_dialog->m_paper = "Legal"; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (paper_dialog->m_radio_box_230x293))) { paper_dialog->m_paper = "230x293"; } if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (paper_dialog->m_radio_box_landspace))) { paper_dialog->m_portrait = FALSE; } gtk_widget_destroy (GTK_WIDGET(dialog)); gtk_widget_hide (GTK_WIDGET(dialog)); } void NedPaperConfigDialog::getValues(bool *state, const char **paper, bool *portrait) { *state = m_state; *paper = m_paper; *portrait = m_portrait; } nted-1.10.18/dialogs/midirecordconfigdialog.cpp0000664001041000007640000003430111520267217016355 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "midirecordconfigdialog.h" #include "localization.h" #include "resource.h" #include "mainwindow.h" #include "staffcontextdialog.h" #define INSTRUMENTS_WIDGET_WIDTH 200 #define TIMESIG_FRAME_WIDTH 100 #define MIDI_RECORD_CONFIG_SHOW_WINDOW_WIDTH (INSTRUMENTS_WIDGET_WIDTH + TIMESIG_FRAME_WIDTH) #define MIDI_RECORD_CONFIG_SHOW_WINDOW_HEIGHT 200 NedMidiRecordConfigDialog::NedMidiRecordConfigDialog(GtkWindow *parent, int num, int denom, int midi_pgm, int tempo_inverse, int volume, bool triplet, bool f_piano, bool dnt_split, int keysig) : m_num(num), m_denom(denom), m_pgm(midi_pgm), m_tempo_inverse(tempo_inverse), m_metro_volume(volume), m_triplet(triplet), m_f_piano(f_piano), m_dnt_split(dnt_split), m_keysig(keysig) { int i; GtkWidget *dialog; GtkWidget *time_signature_frame; GtkWidget *numerator_label; GtkWidget *denominator_label; GtkWidget *time_signature_vbox; GtkWidget *time_signature_upper_hbox; GtkWidget *time_signature_lower_hbox; GtkWidget *right_vbox; GtkWidget *instrument_scroll; GtkWidget *upper_hbox; GtkListStore *instrumend_list_store; GtkTreeIter iter; GtkCellRenderer *instrument_renderer; GtkTreeViewColumn *instrument_column; GtkTreeViewColumn *instrument_num_column; GtkTreePath* instrument_tree_path; GtkWidget *tempo_frame; GtkWidget *key_frame; GtkWidget *key_frame_left_vbox; GtkWidget *key_frame_right_vbox; GtkWidget *radio_hbox; GtkWidget *main_vbox; GtkWidget *metro_volume_frame; char Str[128]; dialog = gtk_dialog_new_with_buttons(_("Config Record"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); time_signature_frame = gtk_frame_new(_("time signature")); time_signature_vbox = gtk_vbox_new(FALSE, 5); time_signature_upper_hbox = gtk_hbox_new(FALSE, 5); time_signature_lower_hbox = gtk_hbox_new(FALSE, 5); numerator_label = gtk_label_new(_("Numerator:")); denominator_label = gtk_label_new(_("Denominator:")); m_numerator = gtk_spin_button_new_with_range (1.0, 20.0, 1.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_numerator), m_num); m_denominator = gtk_combo_box_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(m_denominator), "2"); gtk_combo_box_append_text(GTK_COMBO_BOX(m_denominator), "4"); gtk_combo_box_append_text(GTK_COMBO_BOX(m_denominator), "8"); gtk_combo_box_append_text(GTK_COMBO_BOX(m_denominator), "16"); if (m_denom < 4) { gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 0); } else if (m_denom < 8) { gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 1); } else if (m_denom < 16) { gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 2); } else { gtk_combo_box_set_active(GTK_COMBO_BOX(m_denominator), 3); } gtk_box_pack_start (GTK_BOX (time_signature_upper_hbox), numerator_label, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX (time_signature_upper_hbox), m_numerator, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (time_signature_lower_hbox), denominator_label, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX (time_signature_lower_hbox), m_denominator, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (time_signature_vbox), time_signature_upper_hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (time_signature_vbox), time_signature_lower_hbox, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(time_signature_frame), time_signature_vbox); m_with_triplet_button = gtk_toggle_button_new_with_label(_("triplet recognition")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_with_triplet_button), m_triplet); m_force_piano_button = gtk_toggle_button_new_with_label(_("force piano")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_force_piano_button), m_f_piano); m_dont_split_button = gtk_toggle_button_new_with_label(_("don't split tracks")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_dont_split_button), m_dnt_split); if (m_dnt_split) { gtk_widget_set_sensitive(m_force_piano_button, FALSE); } else if (m_f_piano) { gtk_widget_set_sensitive(m_dont_split_button, FALSE); } g_signal_connect(m_force_piano_button, "toggled", G_CALLBACK (OnPianoForcePressed), (void *) this); g_signal_connect(m_dont_split_button, "toggled", G_CALLBACK (OnDontSplitPressed), (void *) this); right_vbox = gtk_vbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX(right_vbox), time_signature_frame, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(right_vbox), m_with_triplet_button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(right_vbox), m_force_piano_button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(right_vbox), m_dont_split_button, FALSE, FALSE, 0); instrumend_list_store = gtk_list_store_new (2, G_TYPE_INT, G_TYPE_STRING); for (i = 0; i < NedResource::getNumInstruments(); i++) { gtk_list_store_append (instrumend_list_store, &iter); gtk_list_store_set (instrumend_list_store, &iter, 0, i, 1, gettext(NedResource::GM_Instruments[i]), -1); } m_instrument_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(instrumend_list_store)); instrument_renderer = gtk_cell_renderer_text_new (); instrument_num_column = gtk_tree_view_column_new_with_attributes (_("no"), instrument_renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_instrument_list), instrument_num_column); instrument_column = gtk_tree_view_column_new_with_attributes (_("instruments"), instrument_renderer, "text", 1, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_instrument_list), instrument_column); m_instrument_adjustment = gtk_adjustment_new (0.0, 0.0, NedResource::getNumInstruments(), 1.0, 10.0, 10.0); instrument_scroll = gtk_vscrollbar_new(GTK_ADJUSTMENT(m_instrument_adjustment)); gtk_tree_view_set_vadjustment (GTK_TREE_VIEW (m_instrument_list), GTK_ADJUSTMENT(m_instrument_adjustment)); gtk_widget_set_size_request(m_instrument_list, INSTRUMENTS_WIDGET_WIDTH, MIDI_RECORD_CONFIG_SHOW_WINDOW_HEIGHT); sprintf(Str, "%d", m_pgm); instrument_tree_path = gtk_tree_path_new_from_string(Str); gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW (m_instrument_list), instrument_tree_path, NULL, FALSE, 0.0, 0.0); gtk_tree_view_set_cursor(GTK_TREE_VIEW (m_instrument_list), instrument_tree_path, NULL, FALSE); g_signal_connect(dialog, "scroll-event", G_CALLBACK (OnScroll), (void *) this); tempo_frame = gtk_frame_new(_("tempo")); m_tempo_scale = gtk_vscale_new_with_range(0.1 * 60.0, 2.4 * 60.0, 0.4 * 60.0); gtk_range_set_inverted(GTK_RANGE(m_tempo_scale), TRUE); gtk_range_set_value(GTK_RANGE(m_tempo_scale), 60.0 * (double) m_tempo_inverse / 100000.0); gtk_container_add (GTK_CONTAINER(tempo_frame), m_tempo_scale); metro_volume_frame = gtk_frame_new(_("volume")); m_metro_volume_scale = gtk_vscale_new_with_range(0.0, 127.0, 1.0); gtk_range_set_inverted(GTK_RANGE(m_metro_volume_scale), TRUE); gtk_range_set_value(GTK_RANGE(m_metro_volume_scale), m_metro_volume); gtk_container_add (GTK_CONTAINER(metro_volume_frame), m_metro_volume_scale); key_frame = gtk_frame_new(_("key")); radio_hbox = gtk_hbox_new(FALSE, 2); key_frame_left_vbox = gtk_vbox_new(FALSE, 2); key_frame_right_vbox = gtk_vbox_new(FALSE, 2); m_sig_radio_buttons[0] = gtk_radio_button_new_with_label (NULL, gettext(NedStaffContextDialog::m_keyTab[0])); gtk_box_pack_start (GTK_BOX (key_frame_left_vbox), m_sig_radio_buttons[0], FALSE, FALSE, 0); for (i = -5; i < 7; i++) { m_sig_radio_buttons[i+6] = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (m_sig_radio_buttons[0]), gettext(NedStaffContextDialog::m_keyTab[i+6])); if (i < 0) { gtk_box_pack_start (GTK_BOX (key_frame_left_vbox), m_sig_radio_buttons[i+6], FALSE, FALSE, 0); } else { gtk_box_pack_start (GTK_BOX (key_frame_right_vbox), m_sig_radio_buttons[i+6], FALSE, FALSE, 0); } } gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (m_sig_radio_buttons[keysig+6]), TRUE); gtk_box_pack_start (GTK_BOX (radio_hbox), key_frame_left_vbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (radio_hbox), key_frame_right_vbox, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(key_frame), radio_hbox); upper_hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX(upper_hbox), m_instrument_list, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX(upper_hbox), instrument_scroll, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(upper_hbox), right_vbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(upper_hbox), tempo_frame, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(upper_hbox), metro_volume_frame, FALSE, FALSE, 0); main_vbox = gtk_vbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX(main_vbox), upper_hbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX(main_vbox), key_frame, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), main_vbox); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedMidiRecordConfigDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { NedMidiRecordConfigDialog *midi_record_dialog = (NedMidiRecordConfigDialog *) data; int i; GtkTreeSelection* selection; GList *selected_rows; switch (result) { case GTK_RESPONSE_ACCEPT: midi_record_dialog->m_state = TRUE; break; default: midi_record_dialog->m_state = FALSE; gtk_widget_destroy (GTK_WIDGET(dialog)); return; break; } midi_record_dialog->m_num = (int) gtk_spin_button_get_value(GTK_SPIN_BUTTON(midi_record_dialog->m_numerator)); switch (gtk_combo_box_get_active(GTK_COMBO_BOX(midi_record_dialog->m_denominator))) { case 0: midi_record_dialog->m_denom = 2; break; case 1: midi_record_dialog->m_denom = 4; break; case 2: midi_record_dialog->m_denom = 8; break; default: midi_record_dialog->m_denom = 16; break; } selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(midi_record_dialog->m_instrument_list)); selected_rows = gtk_tree_selection_get_selected_rows (selection, NULL); if ( g_list_length(selected_rows) > 0) { GtkTreePath *path = (GtkTreePath *) g_list_first(selected_rows)->data; char *tp = gtk_tree_path_to_string(path); if (sscanf(tp, "%d", &(midi_record_dialog->m_pgm)) != 1) { NedResource::Abort("NedMidiRecordConfigDialog::OnClose: error reading tree path(1)"); } } else { midi_record_dialog->m_pgm = 0; } midi_record_dialog->m_triplet = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(midi_record_dialog->m_with_triplet_button)); midi_record_dialog->m_f_piano = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(midi_record_dialog->m_force_piano_button)); midi_record_dialog->m_dnt_split = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(midi_record_dialog->m_dont_split_button)); midi_record_dialog->m_tempo_inverse = (int) (100000.0 * gtk_range_get_value(GTK_RANGE(midi_record_dialog->m_tempo_scale)) / 60.0); midi_record_dialog->m_metro_volume = (int) gtk_range_get_value(GTK_RANGE(midi_record_dialog->m_metro_volume_scale)); midi_record_dialog->m_keysig = 0; for (i = 0; i < 13; i++) { if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (midi_record_dialog->m_sig_radio_buttons[i]))) { midi_record_dialog->m_keysig = i - 6; } } gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedMidiRecordConfigDialog::getValues(bool *state, int *num, int *denom, int *midi_pgm, int *tempo_inverse, int *metro_volume, bool *triplet, bool *f_piano, bool *dnt_split, int* keysig) { *state = m_state; *num = m_num; *denom = m_denom; *midi_pgm = m_pgm; *tempo_inverse = m_tempo_inverse; *metro_volume = m_metro_volume; *triplet = m_triplet; *f_piano = m_f_piano; *dnt_split = m_dnt_split; *keysig = m_keysig; } void NedMidiRecordConfigDialog::OnPianoForcePressed(GtkButton *button, gpointer data) { NedMidiRecordConfigDialog *midi_record_dialog = (NedMidiRecordConfigDialog *) data; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(midi_record_dialog->m_force_piano_button))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(midi_record_dialog->m_dont_split_button), FALSE); gtk_widget_set_sensitive(midi_record_dialog->m_dont_split_button, FALSE); } else { gtk_widget_set_sensitive(midi_record_dialog->m_dont_split_button, TRUE); } } void NedMidiRecordConfigDialog::OnDontSplitPressed(GtkButton *button, gpointer data) { NedMidiRecordConfigDialog *midi_record_dialog = (NedMidiRecordConfigDialog *) data; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(midi_record_dialog->m_dont_split_button))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(midi_record_dialog->m_force_piano_button), FALSE); gtk_widget_set_sensitive(midi_record_dialog->m_force_piano_button, FALSE); } else { gtk_widget_set_sensitive(midi_record_dialog->m_force_piano_button, TRUE); } } gboolean NedMidiRecordConfigDialog::OnScroll(GtkWidget *widget, GdkEventScroll *event, gpointer data) { #define SCROLL_INCR 20.0 double adjval; NedMidiRecordConfigDialog *midi_record_dialog = (NedMidiRecordConfigDialog *) data; adjval = gtk_adjustment_get_value(GTK_ADJUSTMENT(midi_record_dialog->m_instrument_adjustment)); if (event->direction == GDK_SCROLL_UP) { adjval -= SCROLL_INCR; } else if (event->direction == GDK_SCROLL_DOWN) { adjval += SCROLL_INCR; } gtk_adjustment_set_value(GTK_ADJUSTMENT(midi_record_dialog->m_instrument_adjustment), adjval); return FALSE; } nted-1.10.18/dialogs/midiimportdialog.cpp0000664001041000007640000002146711520267217015234 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "midiimportdialog.h" #include "localization.h" #include "resource.h" #include "mainwindow.h" #define MIDIIMPORT_DIALOG_WIDTH 500 #define MIDIIMPORT_DIALOG_HEIGHT 450 NedMidiImportDialog::NedMidiImportDialog(GtkWindow *parent, char **folder, char **filename) : m_with_triplets(true), m_tempo_change_density(20), m_volume_change_density(20), m_last_folder(folder), m_filename(filename) { GtkWidget *dialog; GtkWidget *tempo_sensity_frame; GtkWidget *volume_sensity_frame; GtkWidget *main_vbox; GtkWidget *main_hbox; GtkWidget *left_vbox; GtkWidget *right_vbox; dialog = gtk_dialog_new_with_buttons(_("MIDI import"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); m_file_chooser = gtk_file_chooser_widget_new(GTK_FILE_CHOOSER_ACTION_OPEN); if (*m_last_folder != NULL) { gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(m_file_chooser), *m_last_folder); } if (*m_filename != NULL) { gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(m_file_chooser), *m_filename); } GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, ".mid,.midi (MIDI-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.mid"); gtk_file_filter_add_pattern(file_filter1, "*.midi"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(m_file_chooser), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(m_file_chooser), file_filter2); left_vbox = gtk_vbox_new(FALSE, 2); right_vbox = gtk_vbox_new(FALSE, 2); m_with_triplet_button = gtk_toggle_button_new_with_label(_("triplet recognition")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_with_triplet_button), TRUE); m_sort_instruments_button = gtk_toggle_button_new_with_label(_("sort instruments")); m_force_piano_button = gtk_toggle_button_new_with_label(_("force piano")); m_dont_split_button = gtk_toggle_button_new_with_label(_("don't split tracks")); g_signal_connect(m_force_piano_button, "toggled", G_CALLBACK (OnPianoForcePressed), (void *) this); g_signal_connect(m_dont_split_button, "toggled", G_CALLBACK (OnDontSplitPressed), (void *) this); gtk_container_add (GTK_CONTAINER(left_vbox), m_with_triplet_button); gtk_container_add (GTK_CONTAINER(left_vbox), m_sort_instruments_button); gtk_container_add (GTK_CONTAINER(left_vbox), m_force_piano_button); gtk_container_add (GTK_CONTAINER(left_vbox), m_dont_split_button); tempo_sensity_frame = gtk_frame_new(_("tempo density")); m_tempo_change_density_scale = gtk_hscale_new_with_range(0.0, 100.0, 1.0); gtk_range_set_value(GTK_RANGE(m_tempo_change_density_scale), 20.0); gtk_container_add (GTK_CONTAINER(tempo_sensity_frame), m_tempo_change_density_scale); volume_sensity_frame = gtk_frame_new(_("volume density")); m_volume_change_density_scale = gtk_hscale_new_with_range(0.0, 100.0, 1.0); gtk_range_set_value(GTK_RANGE(m_volume_change_density_scale), 20.0); gtk_container_add (GTK_CONTAINER(volume_sensity_frame), m_volume_change_density_scale); gtk_box_pack_start(GTK_BOX(right_vbox), tempo_sensity_frame, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(right_vbox), volume_sensity_frame, FALSE, TRUE, 0); main_hbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(main_hbox), left_vbox, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(main_hbox), right_vbox, TRUE, TRUE, 0); main_vbox = gtk_vbox_new(FALSE, 2); gtk_box_pack_start (GTK_BOX(main_vbox), main_hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(main_vbox), m_file_chooser, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), main_vbox); gtk_window_set_default_size (GTK_WINDOW (dialog), MIDIIMPORT_DIALOG_WIDTH, MIDIIMPORT_DIALOG_HEIGHT); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedMidiImportDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { char *s; NedMidiImportDialog *midi_import_dialog = (NedMidiImportDialog *) data; /* printf("current folder = %s, filename = %s\n", gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(midi_import_dialog->m_file_chooser)), gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(midi_import_dialog->m_file_chooser))); */ switch (result) { case GTK_RESPONSE_ACCEPT: midi_import_dialog->m_state = TRUE; if (*(midi_import_dialog->m_last_folder) != NULL) { free(*(midi_import_dialog->m_last_folder)); *(midi_import_dialog->m_last_folder) = NULL; } if (*(midi_import_dialog->m_filename) != NULL) { free(*(midi_import_dialog->m_filename)); *(midi_import_dialog->m_filename) = NULL; } s = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(midi_import_dialog->m_file_chooser)); if (strlen(s) > 0) { *(midi_import_dialog->m_last_folder) = strdup(s); } s = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(midi_import_dialog->m_file_chooser)); if (strlen(s) > 0) { *(midi_import_dialog->m_filename) = strdup(s); } break; default: midi_import_dialog->m_state = FALSE; break; } midi_import_dialog->m_with_triplets = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(midi_import_dialog->m_with_triplet_button)); midi_import_dialog->m_tempo_change_density = (int) gtk_range_get_value(GTK_RANGE(midi_import_dialog->m_tempo_change_density_scale)); midi_import_dialog->m_volume_change_density = (int) gtk_range_get_value(GTK_RANGE(midi_import_dialog->m_volume_change_density_scale)); midi_import_dialog->m_force_piano = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(midi_import_dialog->m_force_piano_button)); midi_import_dialog->m_sort_instruments = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(midi_import_dialog->m_sort_instruments_button)); midi_import_dialog->m_dont_split = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(midi_import_dialog->m_dont_split_button)); gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedMidiImportDialog::getValues(bool *state, bool *with_triplets, int *tempo_change_density, int *volume_change_density, bool *force_piano, bool *sort_instruments, bool *dont_split) { *state = m_state; *with_triplets = m_with_triplets; *force_piano = m_force_piano; *sort_instruments = m_sort_instruments; *dont_split = m_dont_split; *tempo_change_density = (int)(100.0 - m_tempo_change_density); *volume_change_density = (int)(100.0 - m_volume_change_density); if (*tempo_change_density < 0) *tempo_change_density = 0; if (*tempo_change_density > 100) *tempo_change_density = 100; if (*volume_change_density < 0) *volume_change_density = 0; if (*volume_change_density > 100) *volume_change_density = 100; } void NedMidiImportDialog::OnPianoForcePressed(GtkButton *button, gpointer data) { NedMidiImportDialog *the_dialog = (NedMidiImportDialog *) data; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(the_dialog->m_force_piano_button))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_dont_split_button), FALSE); gtk_widget_set_sensitive(the_dialog->m_dont_split_button, FALSE); } else { gtk_widget_set_sensitive(the_dialog->m_dont_split_button, TRUE); } } void NedMidiImportDialog::OnDontSplitPressed(GtkButton *button, gpointer data) { NedMidiImportDialog *the_dialog = (NedMidiImportDialog *) data; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(the_dialog->m_dont_split_button))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(the_dialog->m_force_piano_button), FALSE); gtk_widget_set_sensitive(the_dialog->m_force_piano_button, FALSE); } else { gtk_widget_set_sensitive(the_dialog->m_force_piano_button, TRUE); } } nted-1.10.18/dialogs/printconfigdialog.h0000664001041000007640000000320211520267217015031 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef PRINT_CONFIG_DIALOG_H #define PRINT_CONFIG_DIALOG_H #include "config.h" #include class NedPrintConfigDialog { public: NedPrintConfigDialog(GtkWindow *parent, const char *print_cmd); void getValues(bool *state, const char **print_cmd); private: static void CloseDialog(GtkDialog *dialog, gint result, gpointer data); bool m_state; const char *m_print_cmd; GtkWidget *m_print_entry; }; #endif /* PRINT_CONFIG_DIALOG_H */ nted-1.10.18/dialogs/insertblockdialog.cpp0000664001041000007640000000536711520267217015377 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "insertblockdialog.h" #include "localization.h" #include "resource.h" #include "config.h" NedInsertBlockDialog::NedInsertBlockDialog(GtkWindow *parent) { GtkWidget *dialog; GtkWidget *lab; GtkWidget *hbox; dialog = gtk_dialog_new_with_buttons(_("Insert blocks"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (CloseCallBack), (void *) this); m_block_spin_box = gtk_spin_button_new_with_range (1.0, 20.0, 1.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_block_spin_box), 1.0); lab = gtk_label_new(_("block count:")); hbox = gtk_hbox_new(FALSE, 8); gtk_box_pack_start(GTK_BOX(hbox), lab, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), m_block_spin_box, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), hbox); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedInsertBlockDialog::CloseCallBack(GtkDialog *dialog, gint result, gpointer data) { NedInsertBlockDialog *insert_dialog = (NedInsertBlockDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: insert_dialog->m_state = TRUE; break; default: insert_dialog->m_state = FALSE; break; } insert_dialog->m_blockcount = (int) (gtk_spin_button_get_value(GTK_SPIN_BUTTON(insert_dialog->m_block_spin_box)) + 0.4); gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedInsertBlockDialog::getValues(bool *state, int *blockcount) { *state = m_state; *blockcount = m_blockcount; } nted-1.10.18/dialogs/linesdialog.cpp0000664001041000007640000001224311520267217014161 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "linesdialog.h" #include "localization.h" #include "resource.h" #include "mainwindow.h" #define BOX_WIDTH 100 #define BOX_HEIGHT 40 #define RECT_OFFS 4 NedLinesDialog::NedLinesDialog(GtkWindow *parent) : m_current_row(-1), m_current_column(-1) { GtkWidget *dialog; GtkWidget *line_frame; GtkWidget *line_image_widget; m_black.pixel = 1; m_black.red = m_black.green = m_black.blue = 0; m_red.pixel = 2; m_red.red = 65535; m_red.green = m_red.blue = 0; dialog = gtk_dialog_new_with_buttons(_("Lines"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); line_frame = gtk_frame_new(_("lines")); line_image_widget = gtk_drawing_area_new(); gtk_drawing_area_size(GTK_DRAWING_AREA(line_image_widget), NedResource::m_lines_buf_width, NedResource::m_lines_buf_height); g_signal_connect (line_image_widget, "expose-event", G_CALLBACK (draw_menu), (void *) this); gtk_container_add (GTK_CONTAINER(line_frame), line_image_widget); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), line_frame); gtk_widget_show_all (dialog); m_drawing_area_gc = gdk_gc_new(line_image_widget->window); gtk_widget_add_events(line_image_widget, GDK_BUTTON_PRESS_MASK); g_signal_connect (line_image_widget, "button-press-event", G_CALLBACK (change_selection), (void *) this); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedLinesDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { NedLinesDialog *lines_dialog = (NedLinesDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: lines_dialog->m_state = TRUE; break; default: lines_dialog->m_state = FALSE; break; } gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedLinesDialog::getValues(bool *state, int *linetype) { *state = m_state && m_current_row >= 0 && m_current_column >= 0; *linetype = 0; if (state) { switch (m_current_row) { case 0: switch(m_current_column) { case 0: *linetype = LINE_CRESCENDO; break; case 1: *linetype = LINE_DECRESCENDO; break; } break; case 1: switch(m_current_column) { case 0: *linetype = LINE_OCTAVATION1; break; case 1: *linetype = LINE_OCTAVATION_1; break; } break; case 2: switch(m_current_column) { case 0: *linetype = LINE_OCTAVATION2; break; case 1: *linetype = LINE_OCTAVATION_2; break; } break; } } } gboolean NedLinesDialog::draw_menu(GtkWidget *widget, GdkEventExpose *event, gpointer data) { NedLinesDialog *lines_dialog = (NedLinesDialog *) data; gdk_gc_set_foreground(lines_dialog->m_drawing_area_gc, &(lines_dialog->m_black)); gdk_gc_set_rgb_fg_color(lines_dialog->m_drawing_area_gc, &(lines_dialog->m_black)); gdk_draw_pixbuf(widget->window, lines_dialog->m_drawing_area_gc, NedResource::m_lines, 0, 0, 0, 0, NedResource::m_lines_buf_width, NedResource::m_lines_buf_height, GDK_RGB_DITHER_NONE, 0, 0); if (lines_dialog->m_current_row >= 0 && lines_dialog->m_current_column >= 0) { gdk_gc_set_foreground(lines_dialog->m_drawing_area_gc, &(lines_dialog->m_red)); gdk_gc_set_rgb_fg_color(lines_dialog->m_drawing_area_gc, &(lines_dialog->m_red)); gdk_draw_rectangle(widget->window, lines_dialog->m_drawing_area_gc, false, lines_dialog->m_current_column * BOX_WIDTH + RECT_OFFS, lines_dialog->m_current_row * BOX_HEIGHT + RECT_OFFS, BOX_WIDTH - 2 * RECT_OFFS, BOX_HEIGHT - 2 * RECT_OFFS); } return FALSE; } gboolean NedLinesDialog::change_selection (GtkWidget *widget, GdkEventButton *event, gpointer data) { GdkRectangle rect; int dummy; NedLinesDialog *lines_dialog = (NedLinesDialog *) data; lines_dialog->m_current_column = (int) event->x / BOX_WIDTH; lines_dialog->m_current_row = (int) event->y / BOX_HEIGHT; gdk_window_get_geometry(widget->window, &dummy, &dummy, &rect.width, &rect.height, &dummy); rect.x = rect.y = 0; gdk_window_invalidate_rect (widget->window, &rect, FALSE); return FALSE; } nted-1.10.18/dialogs/portchoosedialog.cpp0000664001041000007640000001306711520267217015241 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "portchoosedialog.h" #include "localization.h" #include "resource.h" #include "config.h" NedPortChooseDialog::NedPortChooseDialog(GtkWindow *parent, GList *ports, unsigned int idx, bool midi_echo, bool show_echo_box) : m_idx(idx), m_midi_echo(midi_echo), m_with_midi_echo_box(show_echo_box) { GtkWidget *dialog; GtkWidget *port_list_hbox; GtkWidget *vbox; GtkObject *port_list_adjustment; GtkWidget *port_list_scroll; GtkListStore *port_list_store; GtkTreeIter iter; GtkCellRenderer *port_list_renderer; GtkTreeViewColumn *port_list_column; GtkTreeViewColumn *port_list_num_column; GtkTreePath* port_list_tree_path; GList *lptr; char Str[128]; int i; if (m_idx >= g_list_length(ports)) m_idx = 0; dialog = gtk_dialog_new_with_buttons(_("MIDI ports"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); port_list_store = gtk_list_store_new (2, G_TYPE_INT, G_TYPE_STRING); for (i = 0, lptr = g_list_first(ports); lptr; lptr = g_list_next(lptr), i++) { gtk_list_store_append (port_list_store, &iter); sprintf(Str, "%d:%d %s", ((MidiPortStruct *) lptr->data)->client, ((MidiPortStruct *) lptr->data)->port, ((MidiPortStruct *) lptr->data)->name); gtk_list_store_set (port_list_store, &iter, 0, i + 1, 1, Str, -1); } m_port_list_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(port_list_store)); port_list_renderer = gtk_cell_renderer_text_new (); port_list_num_column = gtk_tree_view_column_new_with_attributes (_("no"), port_list_renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_port_list_view), port_list_num_column); port_list_column = gtk_tree_view_column_new_with_attributes (_("port"), port_list_renderer, "text", 1, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_port_list_view), port_list_column); port_list_adjustment = gtk_adjustment_new (0.0, 0.0, g_list_length(ports), 1.0, 10.0, 10.0); port_list_scroll = gtk_vscrollbar_new(GTK_ADJUSTMENT(port_list_adjustment)); gtk_tree_view_set_vadjustment (GTK_TREE_VIEW (m_port_list_view), GTK_ADJUSTMENT(port_list_adjustment)); gtk_widget_set_size_request(m_port_list_view, 200, 200); sprintf(Str, "%d", m_idx); port_list_tree_path = gtk_tree_path_new_from_string(Str); gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW (m_port_list_view), port_list_tree_path, NULL, FALSE, 0.0, 0.0); gtk_tree_view_set_cursor(GTK_TREE_VIEW (m_port_list_view), port_list_tree_path, NULL, FALSE); port_list_hbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(port_list_hbox), m_port_list_view, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(port_list_hbox), port_list_scroll, FALSE, TRUE, 0); if (m_with_midi_echo_box) { m_midi_echo_check_box = gtk_check_button_new_with_label(_("midi echo")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_midi_echo_check_box), m_midi_echo); } vbox = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(vbox), port_list_hbox, TRUE, TRUE, 0); if (m_with_midi_echo_box) { gtk_box_pack_start(GTK_BOX(vbox), m_midi_echo_check_box, TRUE, TRUE, 0); } gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), vbox); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedPortChooseDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { GtkTreeSelection* selection; GList *selected_rows; NedPortChooseDialog *choose_dialog = (NedPortChooseDialog *) data; if (result != GTK_RESPONSE_ACCEPT) { choose_dialog->m_idx = -1; gtk_widget_destroy (GTK_WIDGET(dialog)); return; } selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(choose_dialog->m_port_list_view)); selected_rows = gtk_tree_selection_get_selected_rows (selection, NULL); if (g_list_length(selected_rows) < 1) { choose_dialog->m_idx = -1; gtk_widget_destroy (GTK_WIDGET(dialog)); return; } GtkTreePath *path = (GtkTreePath *) g_list_first(selected_rows)->data; char *tp = gtk_tree_path_to_string(path); if (sscanf(tp, "%d", &(choose_dialog->m_idx)) != 1) { NedResource::Abort("NedPortChooseDialog::OnClose: error reading tree path"); } if (choose_dialog->m_with_midi_echo_box) { choose_dialog->m_midi_echo = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(choose_dialog->m_midi_echo_check_box)); } else { choose_dialog->m_midi_echo = false; } gtk_widget_destroy (GTK_WIDGET(dialog)); } nted-1.10.18/dialogs/Makefile.in0000664001041000007640000004561111520267353013236 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ ######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = dialogs DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru libdialogs_a_AR = $(AR) $(ARFLAGS) libdialogs_a_LIBADD = am_libdialogs_a_OBJECTS = staffcontextdialog.$(OBJEXT) \ portchoosedialog.$(OBJEXT) paperconfigdialog.$(OBJEXT) \ printconfigdialog.$(OBJEXT) tupletdialog.$(OBJEXT) \ insertblockdialog.$(OBJEXT) measureconfigdialog.$(OBJEXT) \ keysigdialog.$(OBJEXT) scoreinfodialog.$(OBJEXT) \ clefconfigdialog.$(OBJEXT) volumedialog.$(OBJEXT) \ tempodialog.$(OBJEXT) mutedialog.$(OBJEXT) \ linesdialog.$(OBJEXT) signsdialog.$(OBJEXT) \ textdialog.$(OBJEXT) lilypondexportdialog.$(OBJEXT) \ staffselectdialog.$(OBJEXT) spacementdialog.$(OBJEXT) \ selectordialog.$(OBJEXT) tools.$(OBJEXT) scaledialog.$(OBJEXT) \ chordnamedialog.$(OBJEXT) midiimportdialog.$(OBJEXT) \ midirecordconfigdialog.$(OBJEXT) druminfo.$(OBJEXT) \ drumconfigdialog.$(OBJEXT) lyricseditor.$(OBJEXT) libdialogs_a_OBJECTS = $(am_libdialogs_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libdialogs_a_SOURCES) DIST_SOURCES = $(libdialogs_a_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_LIBS = @ALSA_LIBS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ IMAGE2HEADER = @IMAGE2HEADER@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PO2XML = @PO2XML@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ X11_CFLAGS = @X11_CFLAGS@ X11_LIBS = @X11_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XML2POT = @XML2POT@ XMLTO = @XMLTO@ YELP = @YELP@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = $(FT2_CFLAGS) -I$(top_srcdir) $(CAIRO_CFLAGS) $(GTK_CFLAGS) $(X11_CFLAGS) noinst_LIBRARIES = libdialogs.a libdialogs_a_SOURCES = staffcontextdialog.cpp portchoosedialog.cpp \ paperconfigdialog.cpp printconfigdialog.cpp tupletdialog.cpp \ insertblockdialog.cpp measureconfigdialog.cpp keysigdialog.cpp \ scoreinfodialog.cpp clefconfigdialog.cpp volumedialog.cpp \ tempodialog.cpp mutedialog.cpp linesdialog.cpp signsdialog.cpp \ textdialog.cpp lilypondexportdialog.cpp staffselectdialog.cpp \ spacementdialog.cpp selectordialog.cpp tools.cpp \ scaledialog.cpp chordnamedialog.cpp midiimportdialog.cpp \ midirecordconfigdialog.cpp druminfo.cpp drumconfigdialog.cpp \ lyricseditor.cpp clefconfigdialog.h insertblockdialog.h \ keysigdialog.h linesdialog.h measureconfigdialog.h \ mutedialog.h paperconfigdialog.h portchoosedialog.h \ printconfigdialog.h scoreinfodialog.h signsdialog.h \ staffcontextdialog.h tempodialog.h textdialog.h tupletdialog.h \ volumedialog.h lilypondexportdialog.h staffselectdialog.h \ spacementdialog.h selectordialog.h tools.h scaledialog.h \ chordnamedialog.h midiimportdialog.h midirecordconfigdialog.h \ druminfo.h drumconfigdialog.h lyricseditor.h all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign dialogs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign dialogs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libdialogs.a: $(libdialogs_a_OBJECTS) $(libdialogs_a_DEPENDENCIES) -rm -f libdialogs.a $(libdialogs_a_AR) libdialogs.a $(libdialogs_a_OBJECTS) $(libdialogs_a_LIBADD) $(RANLIB) libdialogs.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chordnamedialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clefconfigdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/drumconfigdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/druminfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insertblockdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keysigdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lilypondexportdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linesdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lyricseditor.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/measureconfigdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/midiimportdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/midirecordconfigdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutedialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paperconfigdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/portchoosedialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printconfigdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scaledialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scoreinfodialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selectordialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signsdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spacementdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/staffcontextdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/staffselectdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempodialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/textdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tools.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tupletdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/volumedialog.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/dialogs/druminfo.cpp0000664001041000007640000001036211520267217013512 00000000000000#include "druminfo.h" #include "resource.h" struct d_info_str default_dinfo[] = { {"bassdrum", "bd", 36, NORMAL_NOTE, NULL, 1 }, {"sidestick", "ss", 37, CROSS_NOTE3, NULL, 5 }, {"snare", "sn", 38, NORMAL_NOTE, NULL, 5 }, {"handclap", "hc", 39, TRIAG_NOTE2, NULL, 5 }, {"lowfloortom", "tomfl",41, NORMAL_NOTE, NULL, 0 }, {"closedhihat", "hhc", 42, CLOSED_HIGH_HAT,"stopped", 7 }, {"hihat", "hh", 42, CROSS_NOTE3, NULL, 7 }, {"highfloortom", "tomfh",43, NORMAL_NOTE, NULL, 2 }, {"pedalhihat", "hhp", 44, CROSS_NOTE3, NULL, -1 }, {"lowtom", "toml", 45, NORMAL_NOTE, NULL, 3 }, {"openhihat", "hho", 46, OPEN_HIGH_HAT, "open", 7 }, {"halfopenhihat", "hhho", 46, CROSS_NOTE2, NULL, 7 }, {"lowmidtom", "tomml",47, NORMAL_NOTE, NULL, 4 }, {"himidtom", "tommh",48, NORMAL_NOTE, NULL, 6 }, {"crashcymbal", "cymc", 49, CROSS_NOTE2, NULL, 9 }, {"hightom", "tomh", 50, NORMAL_NOTE, NULL, 8 }, {"ridecymbal", "cymr", 51, CROSS_NOTE3, NULL, 9 }, {"splashcymbal", "cyms", 55, RECT_NOTE2, NULL, 9 }, {"cowbell", "cb", 56, TRIAG_NOTE2, NULL, 9 }, {"chinesecymbal", "cymch",52, RECT_NOTE1, NULL, 9 }, /* -------------------------------------------------------------- */ {"acousticbassdrum", "bda", 35, NORMAL_NOTE, NULL, 1 }, {"claves", "cl", 75, NORMAL_NOTE, NULL, 3 }, {"loagogo", "agl", 68, NORMAL_NOTE, NULL, 3 }, {"crashcymbalb", "cymcb",57, CROSS_NOTE3, NULL, 9 }, {"hitimbale", "timh", 65, NORMAL_NOTE, NULL, 3 }, {"maracas", "mar", 70, NORMAL_NOTE, NULL, 3 }, {"fivedown", "de", 52, NORMAL_NOTE, NULL, 3 }, {"electricsnare", "sne", 40, NORMAL_NOTE, NULL, 5 }, {"threeup", "uc", 65, NORMAL_NOTE, NULL, 3 }, {"acousticsnare", "sna", 38, NORMAL_NOTE, NULL, 5 }, {"mutehiconga", "cghm", 62, NORMAL_NOTE, NULL, 3 }, {"lowoodblock", "wbl", 77, NORMAL_NOTE, NULL, 3 }, {"hiconga", "cgh", 63, NORMAL_NOTE, NULL, 3 }, {"oneup", "ua", 62, NORMAL_NOTE, NULL, 3 }, {"guiro", "gui", 74, NORMAL_NOTE, NULL, 3 }, {"opencuica", "cuio", 79, NORMAL_NOTE, NULL, 3 }, {"mutehibongo", "bohm", 60, NORMAL_NOTE, NULL, 3 }, {"longguiro", "guil", 74, NORMAL_NOTE, NULL, 3 }, {"crashcymbala", "cymca",49, CROSS_NOTE2, NULL, 9 }, {"hiagogo", "agh", 67, NORMAL_NOTE, NULL, 3 }, {"hisidestick", "ssh", 37, NORMAL_NOTE, NULL, 3 }, {"openlobongo", "bolo", 61, NORMAL_NOTE, NULL, 3 }, {"mutetriangle", "trim", 80, NORMAL_NOTE, NULL, 3 }, {"opentriangle", "trio", 81, NORMAL_NOTE, NULL, 3 }, {"fiveup", "ue", 69, NORMAL_NOTE, NULL, 3 }, {"tambourine", "tamb", 54, NORMAL_NOTE, NULL, 3 }, {"longwhistle", "whl", 72, NORMAL_NOTE, NULL, 3 }, {"cabasa", "cab", 69, NORMAL_NOTE, NULL, 3 }, {"ridecymbalb", "cymrb",59, CROSS_NOTE3, NULL, 9 }, {"fourdown", "dd", 53, NORMAL_NOTE, NULL, 3 }, {"triangle", "tri", 81, NORMAL_NOTE, NULL, 3 }, {"hiwoodblock", "wbh", 76, NORMAL_NOTE, NULL, 3 }, {"onedown", "da", 59, NORMAL_NOTE, NULL, 3 }, {"twoup", "ub", 64, NORMAL_NOTE, NULL, 3 }, {"mutelobongo", "bolm", 61, NORMAL_NOTE, NULL, 3 }, {"loconga", "cgl", 64, NORMAL_NOTE, NULL, 3 }, {"openloconga", "cglo", 64, NORMAL_NOTE, NULL, 3 }, {"lobongo", "bol", 61, NORMAL_NOTE, NULL, 3 }, {"vibraslap", "vibs", 58, RECT_NOTE2, NULL, 8 }, {"mutecuica", "cuim", 78, NORMAL_NOTE, NULL, 3 }, {"losidestick", "ssl", 37, NORMAL_NOTE, NULL, 3 }, {"shortguiro", "guis", 73, NORMAL_NOTE, NULL, 3 }, {"twodown", "db", 57, NORMAL_NOTE, NULL, 3 }, {"shortwhistle", "whs", 71, NORMAL_NOTE, NULL, 3 }, {"openhibongo", "boho", 60, NORMAL_NOTE, NULL, 3 }, {"openhiconga", "cgho", 63, NORMAL_NOTE, NULL, 3 }, {"threedown", "dc", 55, NORMAL_NOTE, NULL, 3 }, {"fourup", "ud", 67, NORMAL_NOTE, NULL, 3 }, {"muteloconga", "cglm", 62, NORMAL_NOTE, NULL, 3 }, {"lotimbale", "timl", 66, NORMAL_NOTE, NULL, 3 }, {"ridecymbala", "cymra",51, CROSS_NOTE3, NULL, 9 }, {"hibongo", "boh", 60, NORMAL_NOTE, NULL, 3 }, {"ridebell", "rb", 53, NORMAL_NOTE, NULL, 9 }, {NULL, NULL, 0, NULL, NULL} }; struct d_info_str current_dinfo[G_N_ELEMENTS(default_dinfo)]; int getNumberOfDrumTabElements() { return G_N_ELEMENTS(default_dinfo); } void make_default_drums_current() { d_info_str *dptr1, *dptr2; dptr1 = default_dinfo; dptr2 = current_dinfo; do { memcpy(dptr2, dptr1, sizeof(struct d_info_str)); if (dptr1->name) { dptr1++; dptr2++; } } while(dptr1->name); } nted-1.10.18/dialogs/lyricseditor.cpp0000664001041000007640000004335411520267217014412 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include #include "lyricseditor.h" #include "mainwindow.h" #include "localization.h" #include "resource.h" #define EDITOR_WIDTH 600 #define EDITOR_HIGHT 300 #define MAX_LINE_LENGTH 80 NedLyricsEditor::NedLyricsEditor(GtkWindow *parent, NedMainWindow *main_window, int staff_nr): m_main_window(main_window), m_last_folder(NULL), m_current_verse(0), m_staff_nr(staff_nr) { GtkWidget *buttons_frame; GtkWidget *buttons_vbox; GtkWidget *main_hbox; GtkWidget *load_button; GtkWidget *save_button; GtkWidget *scrolled_window1; GtkWidget *scrolled_window2; GtkWidget *scrolled_window3; GtkWidget *scrolled_window4; GtkWidget *scrolled_window5; GtkObject* hscroll1, *vscroll1; GtkObject* hscroll2, *vscroll2; GtkObject* hscroll3, *vscroll3; GtkObject* hscroll4, *vscroll4; GtkObject* hscroll5, *vscroll5; GtkWidget *label1; GtkWidget *label2; GtkWidget *label3; GtkWidget *label4; GtkWidget *label5; GtkWidget *view1; GtkWidget *view2; GtkWidget *view3; GtkWidget *view4; GtkWidget *view5; m_dialog = gtk_dialog_new_with_buttons(_("Lyrics"), parent, (GtkDialogFlags) 0, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_APPLY, GTK_RESPONSE_APPLY, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(m_dialog, "response", G_CALLBACK (ResponseCallBack), (void *) this); view1 = gtk_text_view_new(); view2 = gtk_text_view_new(); view3 = gtk_text_view_new(); view4 = gtk_text_view_new(); view5 = gtk_text_view_new(); m_buffer[0] = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view1)); m_buffer[1] = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view2)); m_buffer[2] = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view3)); m_buffer[3] = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view4)); m_buffer[4] = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view5)); label1 = gtk_label_new(_("lyrics 1")); label2 = gtk_label_new(_("lyrics 2")); label3 = gtk_label_new(_("lyrics 3")); label4 = gtk_label_new(_("lyrics 4")); label5 = gtk_label_new(_("lyrics 5")); hscroll1 = gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 10.0, 100.0); vscroll1 = gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 10.0, 100.0); scrolled_window1 = gtk_scrolled_window_new(GTK_ADJUSTMENT(hscroll1), GTK_ADJUSTMENT(vscroll1)); gtk_container_add (GTK_CONTAINER(scrolled_window1), view1); hscroll2 = gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 10.0, 100.0); vscroll2 = gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 10.0, 100.0); scrolled_window2 = gtk_scrolled_window_new(GTK_ADJUSTMENT(hscroll2), GTK_ADJUSTMENT(vscroll2)); gtk_container_add (GTK_CONTAINER(scrolled_window2), view2); hscroll3 = gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 10.0, 100.0); vscroll3 = gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 10.0, 100.0); scrolled_window3 = gtk_scrolled_window_new(GTK_ADJUSTMENT(hscroll3), GTK_ADJUSTMENT(vscroll3)); gtk_container_add (GTK_CONTAINER(scrolled_window3), view3); hscroll4 = gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 10.0, 100.0); vscroll4 = gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 10.0, 100.0); scrolled_window4 = gtk_scrolled_window_new(GTK_ADJUSTMENT(hscroll4), GTK_ADJUSTMENT(vscroll4)); gtk_container_add (GTK_CONTAINER(scrolled_window4), view4); hscroll5 = gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 10.0, 100.0); vscroll5 = gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 10.0, 100.0); scrolled_window5 = gtk_scrolled_window_new(GTK_ADJUSTMENT(hscroll5), GTK_ADJUSTMENT(vscroll5)); gtk_container_add (GTK_CONTAINER(scrolled_window5), view5); m_table = gtk_notebook_new(); gtk_notebook_append_page (GTK_NOTEBOOK(m_table), scrolled_window1, label1); gtk_notebook_append_page (GTK_NOTEBOOK(m_table), scrolled_window2, label2); gtk_notebook_append_page (GTK_NOTEBOOK(m_table), scrolled_window3, label3); gtk_notebook_append_page (GTK_NOTEBOOK(m_table), scrolled_window4, label4); gtk_notebook_append_page (GTK_NOTEBOOK(m_table), scrolled_window5, label5); gtk_widget_set_size_request(view1, EDITOR_WIDTH, EDITOR_HIGHT); gtk_widget_set_size_request(view2, EDITOR_WIDTH, EDITOR_HIGHT); gtk_widget_set_size_request(view3, EDITOR_WIDTH, EDITOR_HIGHT); gtk_widget_set_size_request(view4, EDITOR_WIDTH, EDITOR_HIGHT); gtk_widget_set_size_request(view5, EDITOR_WIDTH, EDITOR_HIGHT); g_signal_connect (view1, "map-event", G_CALLBACK(OnMap1), (void *) this); g_signal_connect (view2, "map-event", G_CALLBACK(OnMap2), (void *) this); g_signal_connect (view3, "map-event", G_CALLBACK(OnMap3), (void *) this); g_signal_connect (view4, "map-event", G_CALLBACK(OnMap4), (void *) this); g_signal_connect (view5, "map-event", G_CALLBACK(OnMap5), (void *) this); load_button = gtk_button_new_with_label(_("load from file")); save_button = gtk_button_new_with_label(_("save to file")); g_signal_connect (save_button, "pressed", G_CALLBACK(OnSave), (void *) this); g_signal_connect (load_button, "pressed", G_CALLBACK(OnLoad), (void *) this); buttons_vbox = gtk_vbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX(buttons_vbox), load_button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(buttons_vbox), save_button, FALSE, FALSE, 0); buttons_frame = gtk_frame_new(_("file")); gtk_container_add (GTK_CONTAINER(buttons_frame), buttons_vbox); main_hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start (GTK_BOX(main_hbox), buttons_frame, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(main_hbox), m_table, TRUE, TRUE, 0); for (int i = 0; i < MAX_LYRICS_LINES; number_uf_dots[i++] = 0); m_main_window->collectLyrics(this, staff_nr); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(m_dialog)->vbox), main_hbox); gtk_widget_show_all (m_dialog); gtk_dialog_run(GTK_DIALOG(m_dialog)); } void NedLyricsEditor::ResponseCallBack(GtkDialog *dialog, gint result, gpointer data) { NedLyricsEditor *lyrics_editor = (NedLyricsEditor *) data; switch (result) { case GTK_RESPONSE_ACCEPT: case GTK_RESPONSE_APPLY: for (int i = 0; i < MAX_LYRICS_LINES; i++) { gtk_text_buffer_get_start_iter(lyrics_editor->m_buffer[i], &(lyrics_editor->m_itr1[i])); gtk_text_buffer_get_start_iter(lyrics_editor->m_buffer[i], &(lyrics_editor->m_itr2[i])); lyrics_editor->m_newchar[i] = TRUE; } lyrics_editor->m_main_window->NedMainWindow::updateLyrics(lyrics_editor, lyrics_editor->m_staff_nr); break; } if (result != GTK_RESPONSE_APPLY) { delete lyrics_editor; } } NedLyricsEditor::~NedLyricsEditor() { gtk_widget_destroy (GTK_WIDGET(m_dialog)); } void NedLyricsEditor::appendText(int num, const char *text) { GtkTextIter iter; char buffer[1024]; const char *dotbuf = ". ", *dotnewbuf = ".\n"; int i; gtk_text_buffer_get_end_iter (m_buffer[num], &iter); for (i = 0; i < number_uf_dots[num]; i++) { if (gtk_text_iter_get_line_offset(&iter) > MAX_LINE_LENGTH) { gtk_text_buffer_insert(m_buffer[num], &iter, dotnewbuf, strlen(dotnewbuf)); } else { gtk_text_buffer_insert(m_buffer[num], &iter, dotbuf, strlen(dotbuf)); } } number_uf_dots[num] = 0; if (gtk_text_iter_get_line_offset(&iter) > MAX_LINE_LENGTH) { strcpy(buffer, "\n"); strcat(buffer, text); } else { strcpy(buffer, text); } strcat(buffer, " "); gtk_text_buffer_insert(m_buffer[num], &iter, buffer, strlen(buffer)); } char *NedLyricsEditor::getNextWord(int line) { gunichar uc; int offs; bool nl; offs = gtk_text_iter_get_offset(&(m_itr2[line])); gtk_text_iter_set_offset(&(m_itr1[line]), offs); uc = gtk_text_iter_get_char(&(m_itr1[line])); while (m_newchar[line] && uc <= ' ') { m_newchar[line] = gtk_text_iter_forward_char(&(m_itr1[line])); if (m_newchar[line]) { uc = gtk_text_iter_get_char(&(m_itr1[line])); } } if (m_newchar[line]) { offs = gtk_text_iter_get_offset(&(m_itr1[line])); gtk_text_iter_set_offset(&(m_itr2[line]), offs); while (m_newchar[line] && uc > ' ' /* && uc != '-' */) { m_newchar[line] = gtk_text_iter_forward_char(&(m_itr2[line])); if (m_newchar[line]) { uc = gtk_text_iter_get_char(&(m_itr2[line])); } else { uc = gtk_text_iter_get_char(&(m_itr1[line])); gtk_text_buffer_get_end_iter(m_buffer[line], &(m_itr2[line])); nl = true; while (nl && gtk_text_iter_compare(&(m_itr1[line]), &(m_itr2[line])) < 0 && uc < ' ') { nl = gtk_text_iter_forward_char(&(m_itr1[line])); } if (nl && gtk_text_iter_compare(&(m_itr1[line]), &(m_itr2[line])) < 0) { uc = gtk_text_iter_get_char(&(m_itr1[line])); while (nl && gtk_text_iter_compare(&(m_itr1[line]), &(m_itr2[line])) < 0 && uc < ' ') { nl = gtk_text_iter_backward_char(&(m_itr2[line])); } if (nl && gtk_text_iter_compare(&(m_itr1[line]), &(m_itr2[line])) <= 0 && uc >= ' ') { return gtk_text_iter_get_text(&(m_itr1[line]), &(m_itr2[line])); } else { return NULL; } } else { return NULL; } } } } if (m_newchar[line]) { return gtk_text_iter_get_text(&(m_itr1[line]), &(m_itr2[line])); } return NULL; } void NedLyricsEditor::OnSave (GtkButton *button, gpointer data) { FILE *fp; char *filename, *cptr; bool ok = false; bool extend = false; char the_filename[4096]; char pathfoldername[1024]; DIR *the_directory; GtkWidget *error_dialog; GtkWidget *access_dialog; GtkWidget *save_dialog; int offs; GtkTextIter itr1, itr2; NedLyricsEditor *lyrics_editor = (NedLyricsEditor *) data; if (lyrics_editor->m_current_verse < 0 || lyrics_editor->m_current_verse >= MAX_LYRICS_LINES) { NedResource::Abort("no current verse"); } GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, "*.txt (Text-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.txt"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); save_dialog = gtk_file_chooser_dialog_new (_("Save lyrics"), //GTK_WINDOW(drum_config_dialog), NULL, GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(save_dialog), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(save_dialog), file_filter2); if (lyrics_editor->m_last_folder != NULL) { if ((the_directory = opendir(lyrics_editor->m_last_folder)) != NULL) { // avoid gtk error message gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(save_dialog), lyrics_editor->m_last_folder); closedir(the_directory); } else { lyrics_editor->m_last_folder = NULL; } } if (gtk_dialog_run (GTK_DIALOG (save_dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (save_dialog)); strcpy(the_filename, filename); g_free (filename); ok = true; } if (ok && gtk_file_chooser_get_filter((GTK_FILE_CHOOSER (save_dialog))) == file_filter1) { extend = true; if ((cptr = strrchr(the_filename, '.')) != NULL) { if (!strcmp(cptr, ".txt")) { extend = false; } } if (extend) { strcat(the_filename, ".txt"); } } gtk_widget_destroy (save_dialog); if (ok && access(the_filename, F_OK) == 0) { access_dialog = gtk_message_dialog_new (NULL, //GTK_WINDOW(drum_config_dialog), //(GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), (GtkDialogFlags) 0, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("File %s already exists. Overwrite ?"), the_filename); if (gtk_dialog_run (GTK_DIALOG (access_dialog)) != GTK_RESPONSE_YES) { ok = false; } gtk_widget_destroy (access_dialog); } if (ok) { if ((fp = fopen(the_filename, "w")) == NULL) { error_dialog = gtk_message_dialog_new (NULL, //GTK_WINDOW(drum_config_dialog), //(GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), (GtkDialogFlags) 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for writing"), the_filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); ok = false; } } if (ok) { if (the_filename[0] == '/' && (cptr = strrchr(the_filename, '/')) != NULL) { strncpy(pathfoldername, the_filename, cptr - the_filename); pathfoldername[cptr - the_filename] = '\0'; lyrics_editor->m_last_folder = strdup(pathfoldername); } gtk_text_buffer_get_start_iter(lyrics_editor->m_buffer[lyrics_editor->m_current_verse], &itr1); gtk_text_buffer_get_start_iter(lyrics_editor->m_buffer[lyrics_editor->m_current_verse], &itr2); gtk_text_iter_forward_line(&itr2); while (gtk_text_iter_compare(&itr2, &itr1) > 0) { fprintf(fp, "%s", gtk_text_iter_get_text(&itr1, &itr2)); offs = gtk_text_iter_get_offset(&itr2); gtk_text_iter_set_offset(&itr1, offs); gtk_text_iter_forward_line(&itr2); } fclose(fp); } } void NedLyricsEditor::OnLoad (GtkButton *button, gpointer data) { FILE *fp; GtkWidget *open_dialog; GtkWidget *error_dialog; char *filename = NULL; char pathfoldername[4096], *cptr; DIR *the_directory; char buffer[128]; bool ok = false; int len; GtkTextIter itr1, itr2; NedLyricsEditor *lyrics_editor = (NedLyricsEditor *) data; if (lyrics_editor->m_current_verse < 0 || lyrics_editor->m_current_verse >= MAX_LYRICS_LINES) { NedResource::Abort("no current verse"); } open_dialog = gtk_file_chooser_dialog_new (_("Open lyrics file"), NULL, //GTK_WINDOW(main_window->m_main_window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); GtkFileFilter *file_filter1 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter1, "*.txt (Text-Files)"); gtk_file_filter_add_pattern(file_filter1, "*.txt"); GtkFileFilter *file_filter2 = gtk_file_filter_new(); gtk_file_filter_set_name(file_filter2, "* (All Files)"); gtk_file_filter_add_pattern(file_filter2, "*"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(open_dialog), file_filter1); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(open_dialog), file_filter2); if (lyrics_editor->m_last_folder != NULL) { if ((the_directory = opendir(lyrics_editor->m_last_folder)) != NULL) { // avoid gtk error message gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(open_dialog), lyrics_editor->m_last_folder); closedir(the_directory); } else { lyrics_editor->m_last_folder = NULL; } } if (gtk_dialog_run (GTK_DIALOG (open_dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (open_dialog)); ok = true; } gtk_widget_destroy (open_dialog); if (ok) { if ((fp = fopen(filename, "r")) == NULL) { error_dialog = gtk_message_dialog_new (NULL, //GTK_WINDOW(main_window->m_main_window), //(GtkDialogFlags) (GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL), (GtkDialogFlags) 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open %s for reading"), filename); gtk_dialog_run (GTK_DIALOG (error_dialog)); gtk_widget_destroy (error_dialog); ok = FALSE; } } if (ok) { if (filename[0] == '/' && (cptr = strrchr(filename, '/')) != NULL) { strncpy(pathfoldername, filename, cptr - filename); pathfoldername[cptr - filename] = '\0'; lyrics_editor->m_last_folder = strdup(pathfoldername); } gtk_text_buffer_get_start_iter(lyrics_editor->m_buffer[lyrics_editor->m_current_verse], &itr1); gtk_text_buffer_get_end_iter (lyrics_editor->m_buffer[lyrics_editor->m_current_verse], &itr2); gtk_text_buffer_delete(lyrics_editor->m_buffer[lyrics_editor->m_current_verse], &itr1, &itr2); while (1) { if (!NedResource::readWordWithAllChars(fp, buffer)) break; len = strlen(buffer); gtk_text_buffer_get_end_iter (lyrics_editor->m_buffer[lyrics_editor->m_current_verse], &itr2); if (gtk_text_iter_get_line_offset(&itr2) > MAX_LINE_LENGTH) { buffer[len] = '\n'; } else { buffer[len] = ' '; } buffer[len + 1] = '\0'; gtk_text_buffer_insert(lyrics_editor->m_buffer[lyrics_editor->m_current_verse], &itr2, buffer, strlen(buffer)); } } } gboolean NedLyricsEditor::OnMap1(GtkWidget *widget, GdkEvent *event, gpointer data) { NedLyricsEditor *lyrics_editor = (NedLyricsEditor *) data; lyrics_editor->m_current_verse = 0; return FALSE; } gboolean NedLyricsEditor::OnMap2(GtkWidget *widget, GdkEvent *event, gpointer data) { NedLyricsEditor *lyrics_editor = (NedLyricsEditor *) data; lyrics_editor->m_current_verse = 1; return FALSE; } gboolean NedLyricsEditor::OnMap3(GtkWidget *widget, GdkEvent *event, gpointer data) { NedLyricsEditor *lyrics_editor = (NedLyricsEditor *) data; lyrics_editor->m_current_verse = 2; return FALSE; } gboolean NedLyricsEditor::OnMap4(GtkWidget *widget, GdkEvent *event, gpointer data) { NedLyricsEditor *lyrics_editor = (NedLyricsEditor *) data; lyrics_editor->m_current_verse = 3; return FALSE; } gboolean NedLyricsEditor::OnMap5(GtkWidget *widget, GdkEvent *event, gpointer data) { NedLyricsEditor *lyrics_editor = (NedLyricsEditor *) data; lyrics_editor->m_current_verse = 4; return FALSE; } nted-1.10.18/dialogs/lilypondexportdialog.h0000664001041000007640000000377511520267217015622 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef LILYPOND_EXPORT_DIALOG_H #define LILYPOND_EXPORT_DIALOG_H #include "config.h" #include class NedMainWindow; class NedLilyPondExportDialog { public: NedLilyPondExportDialog(GtkWindow *parent, NedMainWindow *main_window, char *filename, bool *selected_staves, bool *keep_beams); void getValues(bool *state, bool *with_break); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static void OnStaffSelection (GtkButton *button, gpointer data); static void OnBeamSelection (GtkButton *button, gpointer data); NedMainWindow *m_main_window; GtkWidget *m_dialog; GtkWidget *m_with_break_checkbox; GtkWidget *m_file_chooser; bool m_state; int m_with_breaks; char *m_filename; bool *m_selected_staves; bool *m_keep_beams; }; #endif /* LILYPOND_EXPORT_DIALOG_H */ nted-1.10.18/dialogs/printconfigdialog.cpp0000664001041000007640000000524711520267217015377 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "printconfigdialog.h" #include "localization.h" #include "resource.h" NedPrintConfigDialog::NedPrintConfigDialog(GtkWindow *parent, const char *print_cmd) : m_print_cmd(print_cmd) { GtkWidget *dialog; GtkWidget *print_cmd_frame; dialog = gtk_dialog_new_with_buttons(_("Print command"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (CloseDialog), (void *) this); print_cmd_frame = gtk_frame_new(_("print command")); m_print_entry = gtk_entry_new_with_max_length(50); gtk_entry_set_text(GTK_ENTRY(m_print_entry), m_print_cmd); gtk_container_add (GTK_CONTAINER(print_cmd_frame), m_print_entry); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), print_cmd_frame); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); } void NedPrintConfigDialog::CloseDialog(GtkDialog *dialog, gint result, gpointer data) { NedPrintConfigDialog *print_cmd_dialog = (NedPrintConfigDialog *) data; switch (result) { case GTK_RESPONSE_ACCEPT: print_cmd_dialog->m_state = TRUE; break; default: print_cmd_dialog->m_state = FALSE; break; } print_cmd_dialog->m_print_cmd = strdup(gtk_entry_get_text(GTK_ENTRY(print_cmd_dialog->m_print_entry))); gtk_widget_destroy (GTK_WIDGET(dialog)); } void NedPrintConfigDialog::getValues(bool *state, const char **print_cmd) { *state = m_state; *print_cmd = m_print_cmd; } nted-1.10.18/midiexport.h0000664001041000007640000000536411520267230012077 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef MIDIEXPORT_H #define MIDIEXPORT_H #include "config.h" #include #include class NedMainWindow; class NedMidiExport { public: static void exportMidi(FILE *fp, NedMainWindow *main_window, char *miditext, GList *midi_events); private: static void writeTrack(GList *midi_events, int track_nr, int num, int denom); static void writePgmChange(unsigned long long time, unsigned char chn, unsigned char pgm); static void writeByte(unsigned char b); static void writeWord(unsigned int w); static void writeDWord(unsigned int dw); static void writeString(char *s); static void writeTime(unsigned long long time); static void writeNoteOn(unsigned long long time, unsigned char ch, unsigned char ptch, unsigned char vel, unsigned char pgm); static void writeNoteOff(unsigned long long time, unsigned char ch, unsigned char ptch, unsigned char vel); static void writeCtlChange(unsigned long long time, unsigned char chn, unsigned char ctl, unsigned char pgm); static void writeText(unsigned long long time, const char *s); static void writeTrackName(unsigned long long time, const char *s); static void writeTimeSig(unsigned long long time, int num, int denom); static void writeKeySig(unsigned long long time, int sig); static void writeTempo(unsigned long long time, unsigned int tempo); static void writeCtrlTrack(char *Title, char *miditext, NedMainWindow *main_window); static FILE *m_midiout; static NedMainWindow *m_main_window; static bool m_first_lyrics; static unsigned char m_channel_pgms[16]; }; #endif // MIDIEXPORT_H nted-1.10.18/importer.cpp0000664001041000007640000000565211520267230012107 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "importer.h" part::part() { init(); } void part::init() { int i; id[0] = '\0'; name[0] = '\0'; divisions = 1; current_clef = clef = TREBLE_CLEF; clef_octave = current_clef_octave = 0; first_clef = true; volume = 64; current_key_signature = key_signature = 0; first_key_signature = true; numerator = current_numerator = denominator = current_denominator = 4; first_time_signature = true; midi_pgm = 0; midi_channel = 0; for (i = 0; i < VOICE_COUNT; i++) { voices[i] = NULL; start_of_last_taken[i] = NULL; end_of_last_taken[i] = NULL; last_chord[i] = NULL; eof[i] = false; last_keysig[i] = 0; } } bool part::is_eof() { int i; for (i = 0; i < VOICE_COUNT; i++) { if (!eof[i]) return false; } return true; } bool part::isEmpty() { int i; for (i = 0; i < VOICE_COUNT; i++) { if (g_list_length(voices[i]) > 0 ) return false; } return true; } void part::copy_from(part *other_part) { int i; *this = *other_part; strcpy(id, other_part->id); strcpy(name, other_part->name); for (i = 0; i < VOICE_COUNT; i++) { voices[i] = other_part->voices[i]; start_of_last_taken[i] = other_part->start_of_last_taken[i]; end_of_last_taken[i] = other_part->end_of_last_taken[i]; eof[i] = other_part->eof[i]; } } void part::resetTaken() { int i; for (i = 0; i < VOICE_COUNT; i++) { end_of_last_taken[i] = g_list_previous(start_of_last_taken[i]); } } NedImporter::NedImporter() : m_partcount(0), m_upbeat_inverse(0), m_tempo_inverse(START_TEMPO_INVERSE), m_main_window(NULL) {} void NedImporter::resetTaken() { int i; for (i = 0; i < m_partcount; i++) { m_parts[i].resetTaken(); } } bool NedImporter::is_eof() { int i; for (i = 0; i < m_partcount; i++) { if (!m_parts[i].is_eof()) return false; } return true; } nted-1.10.18/freechord.cpp0000664001041000007640000001540411520267230012203 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "freechord.h" #include "chordorrest.h" #include "staff.h" #include "system.h" #include "page.h" #include "chordpainter.h" #include "chordstruct.h" #include "mainwindow.h" #include "chorddialog.h" #define X_POS_PAGE_REL(p) ((m_element->getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_PAGE_REL(p) ((p) * zoom_factor - topy) #define X_POS_PAGE_REL_INVERSE(p) (((p) / current_scale + leftx) / zoom_factor - m_element->getPage()->getContentXpos()) #define Y_POS_PAGE_REL_INVERSE(p) (((p) / current_scale + topy - (TOP_BOTTOM_BORDER + DEFAULT_BORDER)) / zoom_factor) NedFreeChord::NedFreeChord(char *code, int chordname, unsigned int status, NedMainWindow *main_window, NedChordOrRest *element, double x, double y, bool relative) : NedFreeReplaceable(element, x, y, relative), m_main_window(main_window), m_chordname(chordname), m_status(status) { m_chordptr = NedChordPainter::searchCordByCode(code); if (m_chordptr == NULL) { NedResource::Abort("Chord code not found"); } strcpy(m_chord_name, NedChordPainter::roots[(m_status & ROOT_MASK)]); strcat(m_chord_name, NedChordPainter::modies2[((m_status >> ROOT_BITS) & ((1 << MODI_BITS) - 1))]); computeBbox(); } NedFreeChord::NedFreeChord(struct chord_str *chordptr, int chordname, unsigned int status, NedMainWindow *main_window) : NedFreeReplaceable(), m_chordptr(chordptr), m_main_window(main_window), m_chordname(chordname), m_status(status) { strcpy(m_chord_name, NedChordPainter::roots[(m_status & ROOT_MASK)]); strcat(m_chord_name, NedChordPainter::modies2[((m_status >> ROOT_BITS) & ((1 << MODI_BITS) - 1))]); strcpy(m_chord_name, NedChordPainter::roots[(m_status & ROOT_MASK)]); strcat(m_chord_name, NedChordPainter::modies2[((m_status >> ROOT_BITS) & ((1 << MODI_BITS) - 1))]); computeBbox(); } NedFreeChord::NedFreeChord(struct chord_str *chordptr, int chordname, unsigned int status, NedMainWindow *main_window, NedChordOrRest *element) : NedFreeReplaceable(element), m_chordptr(m_chordptr), m_main_window(main_window), m_chordname(chordname), m_status(status) { strcpy(m_chord_name, NedChordPainter::roots[(m_status & ROOT_MASK)]); strcat(m_chord_name, NedChordPainter::modies2[((m_status >> ROOT_BITS) & ((1 << MODI_BITS) - 1))]); computeBbox(); } NedFreeChord::NedFreeChord(struct chord_str *chordptr, int chordname, unsigned int status, NedMainWindow *main_window, NedChordOrRest *element, double x, double y, bool relative) : NedFreeReplaceable(element, x, y, relative), m_chordptr(m_chordptr), m_main_window(main_window), m_chordname(chordname), m_status(status) { strcpy(m_chord_name, NedChordPainter::roots[(m_status & ROOT_MASK)]); strcat(m_chord_name, NedChordPainter::modies2[((m_status >> ROOT_BITS) & ((1 << MODI_BITS) - 1))]); computeBbox(); } NedFreeReplaceable *NedFreeChord::clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area /* = NULL */, NedMainWindow *main_window /* = NULL */) { if (main_window == NULL) { NedResource::Abort("NedFreeChord::clone main_window == NULL"); } NedFreeChord *newFreeChord = new NedFreeChord(m_chordptr, m_chordname, m_status, main_window, newelement, m_x, m_y, true); return newFreeChord; } void NedFreeChord::adjust_pointers(struct addr_ref_str *slurlist) { } void NedFreeChord::computeBbox() { #define CHORD_ZOOM 0.008 #define FEELED_TEXT_HEIGHT 0.6 if (m_status & GUITAR_CHORD_DRAW_DIAGRAM) { m_bbox.width = GUITAR_WIDTH * CHORD_ZOOM; m_bbox.height = F_DIST * F_COUNT * CHORD_ZOOM; return; } m_bbox.width = GUITAR_WIDTH * CHORD_ZOOM; m_bbox.height = FEELED_TEXT_HEIGHT; } bool NedFreeChord::trySelect(double xl, double yl, double zoom_factor, double current_scale, double leftx, double topy) { if (m_element == NULL) return false; double xpos, ypos; double x = X_POS_PAGE_REL_INVERSE(xl); double y = Y_POS_PAGE_REL_INVERSE(yl); getXYPos(&xpos, &ypos); if (x < xpos - m_bbox.width / 2.0 || x > xpos + m_bbox.width / 2.0 || y < ypos - m_bbox.height / 2.0 || y > ypos + m_bbox.height / 2.0) return false; setThis(); return true; } void NedFreeChord::draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale) { if (m_element == NULL) return; double xpos, ypos; getXYPos(&xpos, &ypos); #define CHORD_ZOOM_Z (CHORD_ZOOM * zoom_factor) if (isActive()) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } if (m_status & GUITAR_CHORD_DRAW_DIAGRAM) { NedChordPainter::draw_chord(cr, m_chordptr, m_chord_name, m_status, true, X_POS_PAGE_REL(xpos - m_bbox.width / 2.0 ), Y_POS_PAGE_REL(ypos - m_bbox.height / 2.0), CHORD_ZOOM_Z, m_main_window->getCurrentZoomLevel()); } else { NedChordPainter::draw_chord(cr, m_chordptr, m_chord_name, m_status, true, X_POS_PAGE_REL(xpos - m_bbox.width / 2.0 ), Y_POS_PAGE_REL(ypos + 0.8 *m_bbox.height), CHORD_ZOOM_Z, m_main_window->getCurrentZoomLevel()); } if (isActive()) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } if (m_is_abs) { drawConnection(cr, xpos, ypos, leftx, topy, zoom_factor); } } const char *NedFreeChord::getCode() { return m_chordptr->id; } void NedFreeChord::startContextDialog(GtkWidget *ref) { struct chord_str *new_chord_ptr; int new_chord_name; bool state; unsigned int new_status; NedChordDialog *dialog = new NedChordDialog(GTK_WINDOW(ref), m_main_window, m_chordptr, m_status); dialog->getValues(&state, &new_chord_ptr, &new_chord_name, &new_status); if (!state) return; m_chordptr = new_chord_ptr; m_chordname = new_chord_name; m_status = new_status; strcpy(m_chord_name, NedChordPainter::roots[(m_status & ROOT_MASK)]); strcat(m_chord_name, NedChordPainter::modies2[((m_status >> ROOT_BITS) & ((1 << MODI_BITS) - 1))]); computeBbox(); } nted-1.10.18/slurpoint.h0000664001041000007640000000477211520267230011754 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef SLUR_POINT_H #define SLUR_POINT_H #include "freereplaceable.h" #include class NedSlur; class NedStaff; class NedSlurPoint : public NedFreeReplaceable { public: NedSlurPoint(NedSlur *slur, int p_nr); NedSlurPoint(NedSlur *slur, int p_nr, NedChordOrRest *element); NedSlurPoint(NedSlur *slur, int p_nr, NedChordOrRest *element, double x, double y, bool relative); void getXYPosAndStaff(double *xpos, double *ypos, NedStaff **staff); virtual NedFreeReplaceable *clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area = NULL, NedMainWindow *main_window = NULL ); virtual void adjust_pointers(struct addr_ref_str *slurlist); NedStaff *getStaff(); NedSlurPoint **getSlurPoints(); virtual void shift(double x, double y, double zoom_factor, double m_current_scale, double leftx, double topy); void setSlur(NedSlur *slur) {m_slur = slur;} virtual void draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale); virtual int getType() {return FREE_PLACEABLE_SLUR_POINT;} virtual void startContextDialog(GtkWidget *ref); double computeYposRelative(NedStaff *staff); void virtual recompute(); NedSlur *getSlur() {return m_slur;} int m_point_number; private: NedSlur *m_slur; friend class NedSlur; }; #endif /* SLUR_POINT_H */ nted-1.10.18/FAQ0000664001041000007640000001451511520267230010072 00000000000000*A.1.* I can't hear any sound! I see the running red notes but there is no sound! What's wrong? ** This has nothing to do with NtEd! It is a problem of your MIDI device! All MIDI based applications (for instance kmid (not kmidi!!!) or pmidi) will fail! First of all: Try to play a MIDI file with kmid (not (!!!)). As long as kmid does not produce any sound, NtEd (and any other MIDI device based software) will not produce any sound, too! The reason is: Either your soundcard has no hardware MIDI synthesizer or it has a hardware MIDI synthesizer but it is not supported by Linux. Please refer to the ALSA project page (http://www.alsa-project.org) to find out whether the midi device on your sound card is supported. Before making a lot of effort to emulate the hardware synthesizer by software you should search for a soundfont file on the CD shipped with your soundcard. A soundfont file has the suffix ".sf2" or ".SF2". Please make sure it is a General MIDI soundfont! If there is such a soundfont file there is a high probability you simply have to load the soundfont onto your soundcard. To to this you need a programm called asfxload http://www.alsa-project.org/~tiwai/awedrv.html#Utils Simply type: asfxload .sf2 But even if you cannot find a soundfont file on soundcard CD, you can try to download a soundfont file. I recommand the soundfont mentioned at http://alsa.opensrc.org/8MBGMSFX.SF2. If asfxload fails your soundcard does not permit loading a soundfont. There is still a last chance that not all needed moduls are loaded. So as a last attempt type as root: modprobe snd_seq_midi and repeat the asfxload command. If asfxload fails again you have to emulate the hardware MIDI synthesizer by software. This works if your computer has enough performance. Windows for instances starts a soft synthesizer automatically if the hardware synthesis does not work. So, be not confused if you can play MIDI files on Windows! Such emulation software exists for Linux, too. But it is more complicated because: * You have to start this software "by hand". * These software MIDI synthesizers need a so-called soundfont, a collection of sample tones of every instrument of a virtual orchestra. These soundfonts are copyrighted, i.e. actually nothing for a free system like Linux. But there is a (relatively bulky) way! See The TiMidity server section in NtEd documentation: http://vsr.informatik.tu-chemnitz.de/~jan/noteedit/NTED/doc/timidity_server.html for detailed instructions! Note! There are more software synthesizers on Linux, which can be tested. Among them the FluidSysth (http://fluidsynth.resonance.org/trac). See http://www.linux-sound.org for a list. Note You should avoid soft synthesis if the performance of your computer is too small! The antialiasing procedure (smoothing the symbols) of NtEd consumes a lot of performance, and soft synthesis, too! As a result the replay can be uneven especially during page turn over! *A.2* I use TiMidity but the sound is distorted and somtimes I have no sound, at all. What's wrong? ** Check whether you have a command pulseaudio: which pulseaudio If you get the path of pulseaudio then follow the instructions in chapter "pulseaudio" *A.3.* At program start it says: "Error in FT_Open_Face"! What's wrong! ** You have not installed the program! Please type (as root): make install Refer also to INSTALL file shipped with the |nted-x.y.z.tgz| archive. *A.4.* I use asfxload but I get an error "sfxload: no memory left" and some instruments are missing during replay. What's wrong? ** Don't believe the many rumours on different mailing lists!xi I have bad news for you: You have to build a new kernel. Terrible, I know! If you feel unable to do this then try to use the TiMidity server. Otherwise download the kernel and change in arch/x86/include/asm/dma.h: #define MAX_DMA32_PFN ((4UL * 1024 * 1024 * 1024) >> PAGE_SHIFT) against: #define MAX_DMA32_PFN ((2UL * 1024 * 1024 * 1024) >> PAGE_SHIFT) Then build the kernel! Refer to https://lists.ubuntu.com/archives/universe-bugs/2009-March/068812.html for more details! *A.5.* I cannot install NtEd because I have no root rights. What shall I do? ** You can use the --prefix option to install the NtEd in an arbitrary directory below your $HOME directory. Please refer also to INSTALL file! Furthermore, if you want to avoid the make install command then set an environment variable NTED_FONT_DIR to the directory where the nted/ntedfont.pfa is situated. For instance, assume the ntedfont.pfa is at /home/smith/datafiles/nted/ntedfont.pfa type at command prompt: export NTED_FONT_DIR=/home/smith/datafiles if you have a bash or sh shell. If you're using a csh or tcsh type: setenv NTED_FONT_DIR /home/smith/datafiles To find out your shell type: echo $SHELL at command promt. *A.6.* May I set lyrics as text blocks below the sheet music? How can I use the score in common texts? ** This would require to write a musical score editor and a text editor! This is too complex! But have a look at: http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/use_nted_in_text.xhtml There you can find some proposals about that topic. *A.7.* During program startup I get an error: "Cannot open ALSA MIDI sequencer --> replay won't work ..."! What's wrong ? ** That means you either have no ALSA sound system. Or you have an ALSA sound system but for complicated reasons your ALSA midi sequencer is not initialized. In many cases this is due to a missing module. Therefore try (as root): modprobe snd-seq-midi and restart NtEd. *A.8.* During make step an error occurs: /bin/sh: gdk-pixbuf-csource: command not found|. What's wrong ? ** You are a SuSE-Linux user! SuSE places this tool at /opt/gnome/bin. Actually this should be in your PATH. But under certain circumstances this is not the case. If so then make sure /opt/gnome/bin is in your PATH. If you have a (t)csh shell type: setenv PATH "$PATH:/opt/gnome/bin" If you have another shell type: export PATH=$PATH:/opt/gnome/bin To determine your shell type: echo $SHELL *A.9.* During configure step I get an error: "configure: error: C++ compiler cannot create executables, See `config.log' for more details.". What's wrong! ** Ok, you can inspect the config.log. But this is presumably superfluous, because in most cases that means: You have no C++ compiler installed. nted-1.10.18/localization.h0000664001041000007640000000247411520267230012402 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef LOCALIZATION_H #define LOCALIZATION_H #define GETTEXT_PACKAGE "nted" #include #endif /* LOCALIZATION_H */ nted-1.10.18/freesign.h0000664001041000007640000000402511520267230011506 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef FREE_SIGN_H #define FREE_SIGN_H #include "freereplaceable.h" #define SIGN_SEGNO 1 #define SIGN_CODA 2 class NedFreeSign : public NedFreeReplaceable { public: NedFreeSign(int kind); NedFreeSign(int kind, NedChordOrRest *element); NedFreeSign(int kind, NedChordOrRest *element, double x, double y, bool relative); virtual NedFreeReplaceable *clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area = NULL, NedMainWindow *main_window = NULL); virtual void adjust_pointers(struct addr_ref_str *slurlist); virtual void draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale); virtual int getType() {return FREE_PLACEABLE_SIGN;} virtual void startContextDialog(GtkWidget *ref); int getKind() {return m_kind;} private: int m_kind; }; #endif /* FREE_SIGN_H */ nted-1.10.18/INSTALL0000664001041000007640000000445211520267230010570 00000000000000Installation ------------ How to obtain NtEd ---------------------- NtEd can be found at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Installing from source ---------------------- Requirements for source compilation ----------------------------------- You need the following packages: * g++ compiler (see: http://gcc.gnu.org) * pkgconfig (see: http://pkg-config.freedesktop.org) * X11 (include and libraries) (see: http://wiki.x.org/wiki) * Gtk-2.x (include and libraries) (see http://www.gtk.org) * Cairo-1.x (include and libraries) (see: http://cairographics.org/) * ALSA-1.x (include and libraries) (see: http://www.alsa-project.org/) * gettext (see: http://www.gnu.org/software/gettext/gettext.html) If you want the immediate help you need further: * yelp Is part of the GNOME project (see: http://www.gnome.org; package gnome-extra) * xmlto (see: http://cyberelk.net/tim/xmlto) * xml2pot, po2xml from kdesdk package (http://www.kde.org) GNOME users: Many distributions offer a package kdesdk-utils which includes both programs but has (almost) no further KDE dependencies xmlto in turn requires: * docbook-xsl-stylesheets (see: http://wiki.docbook.org/topic/DocBookXslStylesheets) * docbook-xml-dtd (see: http://www.docbook.org/xml) Building -------- tar -xvzf nted-x.y.z.tgz cd nted-x.y.z ./configure If you want to install NtEd in a certain directory use: ./configure --prefix= If you want to install the docs into a special directory, add --docdir=... and/or --htmldir=... to the configure line. If you have trouble with the documentation creation: ./configure --without-doc Type: make This should create NtEd Type (as root): make install This should install NtEd If you don't like NtEd type (as root): make uninstall This should remove NtEd Then start the program type: nted or: nted .ntd This should start the score editor. First test ---------- File-->Open examples/example1.ntd or: File-->Open examples/example2.ntd Press the play button You should see running red notes ans you should hear the music. If you hear the music the program works :-)) If not then try to change the MIDI port ( Configure-->Configure MIDI select a port) If nothing helps refer to the appropriate question in FAQ. nted-1.10.18/midirecorder.cpp0000664001041000007640000002141411520267230012710 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "midirecorder.h" #include "idiotseditor.h" #include "resource.h" #include NedMidiRecorder::NedMidiRecorder(int num, int denom, int key, int midi_pgm, int tempo_inverse, int metro_volume, bool triplet, bool f_piano, bool dnt_split) : NedImporter(), m_error_string(NULL), m_current_time(0), m_last_event_time(0), m_metronom_running(false), m_record_started(false), m_num(num), m_denom(denom), m_midi_pgm(midi_pgm), m_tempo_inverse(tempo_inverse), m_metro_volume(metro_volume), m_triplet_recognition(triplet) { m_intervall_long = (unsigned long long) (100000000.0 * 4.0 / (double) tempo_inverse / (double) denom ); m_metronom_intervall.tv_sec = (unsigned int) (m_intervall_long / 100000); m_metronom_intervall.tv_usec = (unsigned int) ((m_intervall_long % 100000) * 1000); m_idiots_editor = new NedIdiotsEditor(20, 20, f_piano, false, dnt_split); m_idiots_editor->addTimeSigChange(0, num, denom); m_idiots_editor->addKeySig(0, 0, key); for (int i = 0; i < 16; m_current_midi_instrument[i++] = 0); } void NedMidiRecorder::startMetronom() { int pitch; snd_seq_event_t ev; struct timeval now; if (NedResource::isPlaying()) return; if (NedResource::getMidiInSequ() == NULL || NedResource::getMidiOutSequ() == NULL) return; snd_seq_ev_clear(&ev); ev.type = SND_SEQ_EVENT_PGMCHANGE; ev.data.control.channel = 0; ev.data.control.value = m_midi_pgm; snd_seq_ev_set_subs(&ev); snd_seq_ev_set_direct(&ev); snd_seq_event_output_direct(NedResource::getMidiOutSequ(), &ev); m_number_of_midi_poll_fds = snd_seq_poll_descriptors_count(NedResource::getMidiInSequ(), POLLIN); NedMidiRecorder::m_metronom_count = 1; m_metronom_running = true; m_record_started = false; pitch = 48; gettimeofday(&now, NULL); timeradd(&now, &m_metronom_intervall, &m_next_metronome_tick); NedResource::playImmediately(9, 1, 1, &pitch, m_metro_volume); g_timeout_add(4, OnMetronomTick, this); } gboolean NedMidiRecorder::OnMetronomTick(void *data) { unsigned long long midi_time; struct timeval now, diff; int pitch = -1; NedMidiRecorder *recorder = (NedMidiRecorder *) data; if (!recorder->m_metronom_running) return FALSE; gettimeofday(&now, NULL); if (timercmp(&now, &(recorder->m_next_metronome_tick), >=)) { pitch = (recorder->m_metronom_count++ % recorder->m_num) ? 40 : 48; //NedResource::playImmediately(9, 1, 1, &pitch, recorder->m_metro_volume); if (pitch == 48 && !recorder->m_record_started) { recorder->m_record_started = true; recorder->m_metronom_count = 1; } gettimeofday(&(recorder->m_last_recorder_metronom_tick), NULL); timeradd(&(recorder->m_last_recorder_metronom_tick), &(recorder->m_metronom_intervall), &(recorder->m_next_metronome_tick)); } if (recorder->m_record_started) { struct pollfd *pfd = (struct pollfd *)alloca(recorder->m_number_of_midi_poll_fds * sizeof(struct pollfd)); snd_seq_poll_descriptors(NedResource::getMidiInSequ(), pfd, recorder->m_number_of_midi_poll_fds, POLLIN); if (poll(pfd, recorder->m_number_of_midi_poll_fds, 0) > 0) { gettimeofday(&now, NULL); timersub(&now, &(recorder->m_last_recorder_metronom_tick), &diff); midi_time = recorder->m_metronom_count - 1; midi_time *= (unsigned long long) recorder->m_metronom_intervall.tv_sec * (unsigned long long) 1000 + (unsigned long long) recorder->m_metronom_intervall.tv_usec / (unsigned long long) 1000; midi_time += (unsigned long long) diff.tv_sec * (unsigned long long) 1000 + (unsigned long long) diff.tv_usec / (unsigned long long) 1000; midi_time *= 4 * NOTE_4; midi_time /= recorder->m_denom; midi_time /= recorder->m_intervall_long; recorder->process_midi_event(midi_time); } } if (pitch >= 0) { NedResource::playImmediately(9, 1, 1, &pitch, recorder->m_metro_volume); } g_timeout_add(4, OnMetronomTick, data); return FALSE; } void NedMidiRecorder::stopMetronom() { m_idiots_editor->changeChannelAndPgm(0, 0, m_midi_pgm); m_metronom_running = false; m_record_started = false; } void NedMidiRecorder::process_midi_event(unsigned long long midi_time) { snd_seq_event_t *ev; do { snd_seq_event_input(NedResource::getMidiInSequ(), &ev); switch (ev->type) { #ifdef UUU case SND_SEQ_EVENT_CONTROLLER: fprintf(stderr, "Control event on Channel %2d: %5d \n", ev->data.control.channel, ev->data.control.value); break; case SND_SEQ_EVENT_PITCHBEND: fprintf(stderr, "Pitchbender event on Channel %2d: %5d \n", ev->data.control.channel, ev->data.control.value); break; #endif case SND_SEQ_EVENT_NOTEON: #ifdef UUU fprintf(stderr, "Note On event on Channel %2d: %5d \n", ev->data.control.channel, ev->data.note.note); #endif #ifdef VVV printf("time = %llu(%llu, %llu): Note On event on Channel %2d: %5d, volume: %d\n", LAUS(midi_time), ev->data.control.channel, ev->data.note.note, ev->data.note.velocity); #endif if (ev->data.note.velocity > 0) { m_idiots_editor->addNote(ev->data.note.note, 64, midi_time, 0, 0); } else { m_idiots_editor->closeNote(ev->data.note.note, midi_time, 0, 0); } if (NedResource::getMidiOutSequ()) { ev->data.control.channel = 0; snd_seq_ev_set_subs(ev); snd_seq_ev_set_direct(ev); snd_seq_event_output_direct(NedResource::getMidiOutSequ(), ev); } m_last_event_time = midi_time; break; case SND_SEQ_EVENT_NOTEOFF: #ifdef UUU fprintf(stderr, "Note Off event on Channel %2d: %5d \n", ev->data.control.channel, ev->data.note.note); #endif #ifdef VVV printf("time = %llu(%llu, %llu): Note Off event on Channel %2d: %5d\n", LAUS(midi_time), ev->data.control.channel, ev->data.note.note); #endif m_idiots_editor->closeNote(ev->data.note.note, midi_time, 0, 0); if (NedResource::getMidiOutSequ()) { ev->data.control.channel = 0; snd_seq_ev_set_subs(ev); snd_seq_ev_set_direct(ev); snd_seq_event_output_direct(NedResource::getMidiOutSequ(), ev); } m_last_event_time = midi_time; break; } snd_seq_free_event(ev); } while (snd_seq_event_input_pending(NedResource::getMidiInSequ(), 0) > 0); } bool NedMidiRecorder::import() { int i, j; char *cptr; m_idiots_editor->setLastTime(m_last_event_time); m_idiots_editor->computeTimeSigMeasureNumbers(m_main_window); m_idiots_editor->computeTempo(); m_idiots_editor->computeVolumes(); m_idiots_editor->snapStartOfNotes(); if (m_with_triplets) { m_idiots_editor->recognizeTriplets(); } m_idiots_editor->trySplitInstruments(); m_tempo_inverse = m_idiots_editor->m_tempo_inverse; m_upbeat_inverse = 0; m_partcount = m_idiots_editor->getPartCount(); for (i = 0; i < m_partcount; i++) { m_parts[i].voices[0] = m_idiots_editor->convertToNtEdNotes(i, 0); for (j = 1; j < VOICE_COUNT; j++) { m_parts[i].voices[j] = m_idiots_editor->convertToNtEdNotes(i, j); } strcpy(m_parts[i].id, "part1"); cptr = m_idiots_editor->getInstrumentName(i); if (cptr == NULL) { m_parts[i].name[0] = '\0'; } else { if (*cptr == '\0') { m_parts[i].name[0] = '\0'; } else { strcpy(m_parts[i].name, cptr); } } m_parts[i].clef = m_idiots_editor->getClef(i); m_parts[i].clef_octave = m_idiots_editor->getOctaveShift(i); m_parts[i].key_signature = m_idiots_editor->getKeySig(i); m_parts[i].numerator = m_idiots_editor->getNumerator(); m_parts[i].denominator = m_idiots_editor->getDenominator(); m_parts[i].midi_pgm = m_idiots_editor->getMidiPgm(i); m_parts[i].midi_channel = 0; m_parts[i].volume = m_idiots_editor->getVolume(i); } return true; } NedMidiRecorder::~NedMidiRecorder() { //printf("NedMidiRecorder::~NedMidiRecorder\n"); fflush(stdout); delete m_idiots_editor; } nted-1.10.18/freechordname.cpp0000664001041000007640000002424511520267230013047 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "resource.h" #include "freechordname.h" #include "chordorrest.h" #include "textdialog.h" #include "pangocairotext.h" #include "chordnamedialog.h" #include "staff.h" #include "system.h" #include "page.h" #define X_POS_PAGE_REL(p) ((m_element->getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_PAGE_REL(p) ((p) * zoom_factor - topy) #define X_POS_PAGE_REL_INVERSE(p) (((p) / current_scale + leftx) / zoom_factor - m_element->getPage()->getContentXpos()) #define Y_POS_PAGE_REL_INVERSE(p) (((p) / current_scale + topy - (TOP_BOTTOM_BORDER + DEFAULT_BORDER)) / zoom_factor) #define ROOT_FONT "Sans" #define ROOT_FONT_SLANT PANGO_STYLE_NORMAL #define ROOT_FONT_WEIGHT PANGO_WEIGHT_NORMAL #define UPDOWN_FONT "Sans" #define UPDOWN_FONT_SLANT PANGO_STYLE_NORMAL #define UPDOWN_FONT_WEIGHT PANGO_WEIGHT_NORMAL NedChordName::NedChordName(GtkWidget *drawing_area, char *roottext, char *uptext, char *downtext, double fontsize) : NedFreeReplaceable(), m_root_text(NULL), m_up_text(NULL), m_down_text(NULL), m_fontsize(fontsize), m_drawing_area(drawing_area) { if (roottext != NULL && strlen(roottext) > 0) { m_root_text = new NedPangoCairoText(drawing_area->window, roottext, ROOT_FONT, ROOT_FONT_SLANT, ROOT_FONT_WEIGHT, m_fontsize, NedResource::getStartZoomScale(), 1.0, false); } if (uptext != NULL && strlen(uptext) > 0) { m_up_text = new NedPangoCairoText(drawing_area->window, uptext, UPDOWN_FONT, UPDOWN_FONT_SLANT, UPDOWN_FONT_WEIGHT, m_fontsize * 4.0/5.0, NedResource::getStartZoomScale(), 1.0, false); } if (downtext != NULL && strlen(downtext) > 0) { m_down_text = new NedPangoCairoText(drawing_area->window, downtext, UPDOWN_FONT, UPDOWN_FONT_SLANT, UPDOWN_FONT_WEIGHT, m_fontsize * 4.0/5.0, NedResource::getStartZoomScale(), 1.0, false); } } NedChordName::NedChordName(GtkWidget *drawing_area, char *roottext, char *uptext, char *downtext, double fontsize, NedChordOrRest *element) : NedFreeReplaceable(element), m_root_text(NULL), m_up_text(NULL), m_down_text(NULL), m_fontsize(fontsize), m_drawing_area(drawing_area) { if (roottext != NULL && strlen(roottext) > 0) { m_root_text = new NedPangoCairoText(drawing_area->window, roottext, ROOT_FONT, ROOT_FONT_SLANT, ROOT_FONT_WEIGHT, m_fontsize, NedResource::getStartZoomScale(), 1.0, false); } if (uptext != NULL && strlen(uptext) > 0) { m_up_text = new NedPangoCairoText(drawing_area->window, uptext, UPDOWN_FONT, UPDOWN_FONT_SLANT, UPDOWN_FONT_WEIGHT, m_fontsize * 4.0/5.0, NedResource::getStartZoomScale(), 1.0, false); } if (downtext != NULL && strlen(downtext) > 0) { m_down_text = new NedPangoCairoText(drawing_area->window, downtext, UPDOWN_FONT, UPDOWN_FONT_SLANT, UPDOWN_FONT_WEIGHT, m_fontsize * 4.0/5.0, NedResource::getStartZoomScale(), 1.0, false); } } NedChordName::NedChordName(GtkWidget *drawing_area, char *roottext, char *uptext, char *downtext, double fontsize, NedChordOrRest *element, double x, double y, bool relative) : NedFreeReplaceable(element, x, y, relative), m_root_text(NULL), m_up_text(NULL), m_down_text(NULL), m_fontsize(fontsize), m_drawing_area(drawing_area) { if (roottext != NULL && strlen(roottext) > 0) { m_root_text = new NedPangoCairoText(drawing_area->window, roottext, ROOT_FONT, ROOT_FONT_SLANT, ROOT_FONT_WEIGHT, m_fontsize, NedResource::getStartZoomScale(), 1.0, false); } if (uptext != NULL && strlen(uptext) > 0) { m_up_text = new NedPangoCairoText(drawing_area->window, uptext, UPDOWN_FONT, UPDOWN_FONT_SLANT, UPDOWN_FONT_WEIGHT, m_fontsize * 4.0/5.0, NedResource::getStartZoomScale(), 1.0, false); } if (downtext != NULL && strlen(downtext) > 0) { m_down_text = new NedPangoCairoText(drawing_area->window, downtext, UPDOWN_FONT, UPDOWN_FONT_SLANT, UPDOWN_FONT_WEIGHT, m_fontsize * 4.0/5.0, NedResource::getStartZoomScale(), 1.0, false); } } NedFreeReplaceable *NedChordName::clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area /* = NULL */, NedMainWindow *main_window /* = NULL */) { if (drawing_area == NULL) { NedResource::Abort("NedChordName::clone(1)"); } NedChordName *chordname = new NedChordName(drawing_area, m_root_text->getText(), m_up_text->getText(), m_down_text->getText(), m_fontsize, newelement, m_x, m_y, true); return chordname; } NedChordName::~NedChordName() { if (m_root_text != NULL) { delete m_root_text; m_root_text = NULL; } if (m_up_text != NULL) { delete m_up_text; m_up_text = NULL; } if (m_down_text != NULL) { delete m_down_text; m_down_text = NULL; } } void NedChordName::adjust_pointers(struct addr_ref_str *slurlist) { } void NedChordName::startContextDialog(GtkWidget *ref) { bool state; char *newroottext; char *newuptext; char *newdowntext; double dummy; NedChordNameDialog *dialog = new NedChordNameDialog (NULL, GTK_WINDOW(ref), m_root_text != NULL ? m_root_text->getText() : NULL, m_up_text != NULL ? m_up_text->getText() : NULL, m_down_text != NULL ? m_down_text->getText() : NULL, m_fontsize, -1.5, false); dialog->getValues(&state, &newroottext, &newuptext, &newdowntext, &m_fontsize, &dummy); if (state) { if (m_root_text != NULL) { delete m_root_text; m_root_text = NULL; } if (m_up_text != NULL) { delete m_up_text; m_up_text = NULL; } if (m_down_text != NULL) { delete m_down_text; m_down_text = NULL; } if (newroottext != NULL) { if (strlen(newroottext) > 0) { m_root_text = new NedPangoCairoText(ref->window, newroottext, ROOT_FONT, ROOT_FONT_SLANT, ROOT_FONT_WEIGHT, m_fontsize, NedResource::getStartZoomScale(), 1.0, false); } } if (newuptext != NULL) { if (strlen(newuptext) > 0) { m_up_text = new NedPangoCairoText(ref->window, newuptext, UPDOWN_FONT, UPDOWN_FONT_SLANT, UPDOWN_FONT_WEIGHT, m_fontsize * 4.0/5.0, NedResource::getStartZoomScale(), 1.0, false); } } if (newdowntext != NULL) { if (strlen(newdowntext) > 0) { m_down_text = new NedPangoCairoText(ref->window, newdowntext, UPDOWN_FONT, UPDOWN_FONT_SLANT, UPDOWN_FONT_WEIGHT, m_fontsize * 4.0/5.0, NedResource::getStartZoomScale(), 1.0, false); } } } } #define UP_X_OFFS 0.1 #define UP_Y_OFFS -0.15 #define DOWN_X_OFFS 0.1 #define DOWN_Y_OFFS 0.2 void NedChordName::draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale) { if (m_element == NULL) return; double xpos, ypos; double xx, yy; getXYPos(&xpos, &ypos); cairo_new_path(cr); if (isActive()) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } if (m_root_text != NULL) { xx = scale * X_POS_PAGE_REL(xpos); yy = scale * Y_POS_PAGE_REL(ypos) - m_root_text->getHeight() / 2.0; m_root_text->draw(cr, xx, yy, zoom_factor, scale); } if (m_up_text != NULL) { xx = scale * X_POS_PAGE_REL(xpos + UP_X_OFFS * m_fontsize / 0.5 * 4.0/5.0) + m_root_text->getInternalWidth(); yy = scale * Y_POS_PAGE_REL(ypos + UP_Y_OFFS * m_fontsize / 0.5 * 4.0/5.0) - m_root_text->getHeight() / 2.0; m_up_text->draw(cr, xx, yy, zoom_factor, scale); } if (m_down_text != NULL) { xx = scale * X_POS_PAGE_REL(xpos + DOWN_X_OFFS * m_fontsize / 0.5 * 4.0/5.0) + m_root_text->getInternalWidth(); yy = scale * Y_POS_PAGE_REL(ypos + DOWN_Y_OFFS * m_fontsize / 0.5 * 4.0/5.0) - m_root_text->getHeight() / 2.0; m_down_text->draw(cr, xx, yy, zoom_factor, scale); } if (isActive()) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } if (m_is_abs) { drawConnectionInFreeText(cr, xpos, ypos, scale, leftx, topy, zoom_factor); } } bool NedChordName::trySelect(double xl, double yl, double zoom_factor, double current_scale, double leftx, double topy) { if (m_element == NULL) return false; double xpos, ypos; double x = X_POS_PAGE_REL_INVERSE(xl); double y = Y_POS_PAGE_REL_INVERSE(yl); if (m_root_text == NULL) return false; getXYPos(&xpos, &ypos); if (x < xpos || x > xpos + m_root_text->getWidth() / zoom_factor || y < ypos - m_root_text->getHeight() / zoom_factor || y > ypos) return false; setThis(); return true; } void NedChordName::setTexts(char *roottext, char *uptext, char *downtext, double zoom) { if (m_root_text != NULL) { delete m_root_text; m_root_text = NULL; } if (roottext != NULL && strlen(roottext) > 0) { m_root_text->setText(roottext, zoom, false); } if (m_up_text != NULL) { delete m_up_text; m_up_text = NULL; } if (uptext != NULL && strlen(uptext) > 0) { m_up_text->setText(uptext, zoom, false); } if (m_down_text != NULL) { delete m_down_text; m_down_text = NULL; } if (downtext != NULL && strlen(downtext) > 0) { m_down_text->setText(downtext, zoom, false); } } void NedChordName::setZoom(double zoom, double scale) { if (m_root_text != NULL) { m_root_text->setZoom( zoom, scale); } if (m_up_text != NULL) { m_up_text->setZoom( zoom, scale); } if (m_down_text != NULL) { m_down_text->setZoom(zoom, scale); } } char *NedChordName::getRootText() { if (m_root_text == NULL) return NULL; return m_root_text->getText(); } char *NedChordName::getUpText() { if (m_up_text == NULL) return NULL; return m_up_text->getText(); } char *NedChordName::getDownText() { if (m_down_text == NULL) return NULL; return m_down_text->getText(); } nted-1.10.18/freetext.h0000664001041000007640000000731011520267230011532 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef FREE_TEXT_H #define FREE_TEXT_H #include "freereplaceable.h" #include class NedPangoCairoText; #define ANCHOR_LEFT 0 #define ANCHOR_MID 1 #define ANCHOR_RIGHT 2 class NedFreeText : public NedFreeReplaceable { public: NedFreeText(char *text, GtkWidget *drawing_area, int anchor, unsigned int tempo, bool enable_tempo, unsigned int volume, bool enable_volume, unsigned short segno_sign, int midi_pgm, unsigned int channel, bool enable_channel, const char *font_family, double font_size, PangoStyle font_slant, PangoWeight font_weight); NedFreeText(char *text, GtkWidget *drawing_area, int anchor, unsigned int tempo, bool enable_tempo, unsigned int volume, bool enable_volume, unsigned short segno_sign, int midi_pgm, unsigned int channel, bool enable_channel, const char *font_family, double font_size, PangoStyle font_slant, PangoWeight font_weight, NedChordOrRest *element); NedFreeText(char *text, GtkWidget *drawing_area, int anchor, unsigned int tempo, bool enable_tempo, unsigned int volume, bool enable_volume, unsigned short segno_sign, int midi_pgm, unsigned int channel, bool enable_channel, const char *font_family, double font_size, PangoStyle font_slant, PangoWeight font_weight, NedChordOrRest *element, double x, double y, bool relative); virtual NedFreeReplaceable *clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area = NULL, NedMainWindow *main_window = NULL); virtual void adjust_pointers(struct addr_ref_str *slurlist); virtual void draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale); virtual int getType() {return FREE_PLACEABLE_TEXT;} virtual void startContextDialog(GtkWidget *ref); virtual bool trySelect(double xl, double yl, double zoom_factor, double current_scale, double leftx, double topy); unsigned int getTempo() {return m_tempo;} void setTempo(unsigned int tempo) {m_tempo = tempo;} double getTempoInverse(); unsigned int m_midi_volume; bool m_enable_volume_change, m_enable_tempo_change; unsigned short m_segno_sign; int m_midi_pgm; unsigned int m_channel; bool m_enable_channel; char *getText(); void getLilyText(char *s); void setText(char *text, double zoom); virtual void setZoom(double zoom, double scale); const char *m_font_family; double m_font_size; PangoStyle m_font_slant; PangoWeight m_font_weight; int m_anchor; private: unsigned int m_tempo; NedPangoCairoText *m_text; GtkWidget *m_drawing_area; }; #endif /* FREE_TEXT_H */ nted-1.10.18/tuplet.cpp0000664001041000007640000002073411520267230011561 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "tuplet.h" #include "chordorrest.h" #include "page.h" #include "system.h" #include "voice.h" #include "mainwindow.h" #include "staff.h" #include "beam.h" #define X_POS_PAGE_REL(p) ((getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_STAFF_REL(p) (((p) + getSystem()->getYPos() + getStaff()->getBottomPos()) * zoom_factor - topy) #define Y_POS_SYS_REL(p) (((p) + getSystem()->getYPos()) * zoom_factor - topy) #define X_PS_POS(p) ((DEFAULT_BORDER + LEFT_RIGHT_BORDER + (p)) * PS_ZOOM) #define Y_PS_POS_STAFF_REL(p) ((height - ((p) + getSystem()->getYPos() + getStaff()->getBottomPos())) * PS_ZOOM) NedTuplet::NedTuplet(int tuplet_val, GList *chords_list, double *topy, double *boty) : m_chords(chords_list), m_tuplet_val(tuplet_val) { GList *lptr; for (lptr = g_list_first(m_chords); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->setTupletPtr(this); } computeTuplet(topy, boty); } NedMainWindow *NedTuplet::getMainWindow() {return ((NedChordOrRest *) g_list_first(m_chords)->data)->getStaff()->getSystem()->getPage()->getMainWindow();} NedPage *NedTuplet::getPage() {return ((NedChordOrRest *) g_list_first(m_chords)->data)->getStaff()->getSystem()->getPage();} NedSystem *NedTuplet::getSystem() {return ((NedChordOrRest *) g_list_first(m_chords)->data)->getStaff()->getSystem();} NedStaff *NedTuplet::getStaff() {return ((NedChordOrRest *) g_list_first(m_chords)->data)->getStaff();} void NedTuplet::computeTuplet(/* int stemdir */ double *topy, double *boty) { GList *lptr; NedBeam *b; double marker_pos; int ups = 0, chords = 0; NedChordOrRest *first = (NedChordOrRest *) g_list_first(m_chords)->data; NedChordOrRest *last = (NedChordOrRest *) g_list_last(m_chords)->data; m_start_x = first->getXPos() + first->getBBox()->x - TUPLET_XFRONTOVER; m_end_x = last->getXPos() + last->getBBox()->x + last->getBBox()->width /*+ TUPLET_XOVER */; switch(last->getDotCount()) { case 1: m_end_x += DOT1POS; break; case 2: m_end_x += DOT2POS; break; default: break; } m_up = TRUE; m_bracket_needed = FALSE; for(lptr = g_list_first(m_chords); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->isUp()) { ups++; } if (!((NedChordOrRest *) lptr->data)->isRest()) { chords++; } } m_up = ups > chords / 2; if (m_up) { m_start_y = m_end_y = -4 * LINE_DIST; } else { m_start_y = m_end_y = 0; } for(lptr = g_list_first(m_chords); lptr; lptr = g_list_next(lptr)) { if (!((NedChordOrRest *) lptr->data)->isRest()) { if (m_up) { if (((NedChordOrRest *) lptr->data)->getTopOfChordOrRest() < m_start_y) { m_start_y = m_end_y = ((NedChordOrRest *) lptr->data)->getTopOfChordOrRest(); } } else { if (((NedChordOrRest *) lptr->data)->getBottomOfChordOrRest() > m_start_y) { m_start_y = m_end_y = ((NedChordOrRest *) lptr->data)->getBottomOfChordOrRest(); } } } if (((NedChordOrRest *) lptr->data)->isRest() || ((NedChordOrRest *) lptr->data)->getBeam() == NULL) { m_bracket_needed = TRUE; } } if (m_bracket_needed) { if (m_up) { m_start_x += TUPLET_XOVER; m_end_x += TUPLET_XOVER; marker_pos = m_start_y - TUPLET_MARKER_DIST_UP - TUPLET_BRACKET_HEIGHT - NUMNBER_GLYPH_HEIGHT; if (marker_pos + 4 * LINE_DIST - TUPLET_MARKER_HEIGHT < *topy) *topy = marker_pos + 4 * LINE_DIST - TUPLET_MARKER_HEIGHT; } else { marker_pos = m_start_y + TUPLET_MARKER_DIST_DOWN + 0.3 + TUPLET_BRACKET_HEIGHT + NUMNBER_GLYPH_HEIGHT; if (marker_pos + TUPLET_MARKER_HEIGHT > *boty) *boty = marker_pos + TUPLET_MARKER_HEIGHT; } } else { for(lptr = g_list_first(m_chords); lptr; lptr = g_list_next(lptr)) { b = ((NedChordOrRest *) lptr->data)->getBeam(); b->setTupletMarker(m_tuplet_val, topy, boty); } } } NedTuplet::~NedTuplet() { GList *lptr; for (lptr = g_list_first(m_chords); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->setTupletPtr(NULL); } } unsigned long long NedTuplet::getEndTime() { NedChordOrRest *last = (NedChordOrRest *) g_list_last(m_chords)->data; return last->getMidiTime() + last->getDuration(); } void NedTuplet::reconfigureLast() { GList *lptr, *maxmidichordorrest; unsigned int maxmiditime; ((NedChordOrRest *) g_list_first(m_chords)->data)->getVoice()->assignMidiTimes(); //recompute MIDI Times maxmidichordorrest = lptr = g_list_first(m_chords); maxmiditime = ((NedChordOrRest *) lptr->data)->getMidiTime(); for (lptr = g_list_next(lptr); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getMidiTime() > maxmiditime) { maxmiditime = ((NedChordOrRest *) lptr->data)->getMidiTime(); maxmidichordorrest = lptr; } } for (lptr = g_list_first(m_chords); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->setLastTupletFlag(((NedChordOrRest *) lptr->data)->getMidiTime() == maxmiditime); } } void NedTuplet::draw(cairo_t *cr) { if (!m_bracket_needed) return; int val = m_tuplet_val; double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double leftx = getMainWindow()->getLeftX(); cairo_glyph_t glyph; if (m_up) { glyph.y = Y_POS_STAFF_REL(m_start_y - TUPLET_MARKER_DIST_UP); } else { glyph.y = Y_POS_STAFF_REL(m_start_y + TUPLET_MARKER_DIST_DOWN); } if (m_tuplet_val > 9) { glyph.index = NUMBERBASE + 1; glyph.x = X_POS_PAGE_REL(m_start_x + (m_end_x - m_start_x) / 2.0 - TRIPLET_VAL_SHIFT_X - FIRST_TUPLET_DIGIT_DIST); cairo_show_glyphs(cr, &glyph, 1); val -= 10; } glyph.index = NUMBERBASE + val; glyph.x = X_POS_PAGE_REL(m_start_x + (m_end_x - m_start_x) / 2.0 - TRIPLET_VAL_SHIFT_X); cairo_show_glyphs(cr, &glyph, 1); cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * TUPLET_LINE_THICK); if (m_up) { cairo_move_to(cr, X_POS_PAGE_REL(m_start_x), Y_POS_STAFF_REL(m_start_y)); cairo_line_to(cr, X_POS_PAGE_REL(m_start_x), Y_POS_STAFF_REL(m_start_y - TUPLET_BRACKET_HEIGHT)); cairo_line_to(cr, X_POS_PAGE_REL(m_end_x), Y_POS_STAFF_REL(m_end_y - TUPLET_BRACKET_HEIGHT)); cairo_line_to(cr, X_POS_PAGE_REL(m_end_x), Y_POS_STAFF_REL(m_end_y)); } else { cairo_move_to(cr, X_POS_PAGE_REL(m_start_x), Y_POS_STAFF_REL(m_start_y)); cairo_line_to(cr, X_POS_PAGE_REL(m_start_x), Y_POS_STAFF_REL(m_start_y + TUPLET_BRACKET_HEIGHT)); cairo_line_to(cr, X_POS_PAGE_REL(m_end_x), Y_POS_STAFF_REL(m_end_y + TUPLET_BRACKET_HEIGHT)); cairo_line_to(cr, X_POS_PAGE_REL(m_end_x), Y_POS_STAFF_REL(m_end_y)); } cairo_stroke(cr); } unsigned long long NedTuplet::getMidiStartTime() { return ((NedChordOrRest *) g_list_first(m_chords)->data)->getMidiTime(); } NedChordOrRest *NedTuplet::getFirstElement() { return (NedChordOrRest *) g_list_first(m_chords)->data; } NedChordOrRest *NedTuplet::getLastElement() { return (NedChordOrRest *) g_list_last(m_chords)->data; } unsigned int NedTuplet::getDuration() { return (((NedChordOrRest *) g_list_last(m_chords)->data)->getMidiTime() + ((NedChordOrRest *) g_list_last(m_chords)->data)->getDuration() - ((NedChordOrRest *) g_list_first(m_chords)->data)->getMidiTime()); } void NedTuplet::saveTuplet(FILE *fp) { GList *lptr; int marker; fprintf(fp, "( %d ;", m_tuplet_val); for(lptr = g_list_first(m_chords); lptr; lptr = g_list_next(lptr)) { marker = NedResource::getMarkerOfAddress(lptr->data); fprintf(fp, "%d ", marker); if (lptr != g_list_last(m_chords)) { fprintf(fp, " , "); } } fprintf(fp, ")\n"); } nted-1.10.18/freespacer.cpp0000664001041000007640000000550111520267230012356 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "freespacer.h" #include "chordorrest.h" #include "page.h" #include "mainwindow.h" #include "resource.h" #define X_POS_PAGE_REL(p) ((m_element->getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_PAGE_REL(p) ((p) * zoom_factor - topy) NedFreeSpacer::NedFreeSpacer(NedMainWindow *main_window) : NedFreeReplaceable(), m_main_window(main_window) {} NedFreeSpacer::NedFreeSpacer(NedMainWindow *main_window, NedChordOrRest *element) : NedFreeReplaceable(element), m_main_window(main_window) {} NedFreeSpacer::NedFreeSpacer(NedMainWindow *main_window, NedChordOrRest *element, double x, double y, bool relative) : NedFreeReplaceable(element, x, y, relative), m_main_window(main_window) {} void NedFreeSpacer::draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale) { if (m_element == NULL) return; if (!m_main_window->getShowHidden()) return; double xpos, ypos; getXYPos(&xpos, &ypos); #define FREE_SPACER_RAD 0.5 if (isActive()) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } else { cairo_set_source_rgb (cr, 1.0, 0.0, 1.0); } cairo_new_path(cr); cairo_arc(cr, X_POS_PAGE_REL(xpos), Y_POS_PAGE_REL(ypos), FREE_SPACER_RAD * zoom_level, 0.0, 2.0 * M_PI); cairo_fill(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); if (m_is_abs) { drawConnection(cr, xpos, ypos, leftx, topy, zoom_factor); } } bool NedFreeSpacer::trySelect(double xl, double yl, double zoom_factor, double current_scale, double leftx, double topy) { if (!m_main_window->getShowHidden()) return false; return NedFreeReplaceable::trySelect(xl, yl, zoom_factor, current_scale, leftx, topy); } nted-1.10.18/positionarray.cpp0000664001041000007640000006701111520267230013146 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "positionarray.h" #include "chordorrest.h" #include "resource.h" #include "voice.h" #include "note.h" #define DIVISION NOTE_8 NedPosition::NedPosition(NedChordOrRest *element, int offs, unsigned int staff_count) : m_valid(true), m_has_notes(false), m_has_unhidden_elements(false), m_has_only_staff_members(true), m_has_only_graces(true), m_max_microshift(0.0), m_step_width(0.0), m_min_duration(8* WHOLE_NOTE), m_midi_time(element->getMidiTime()), m_min_width_after(0.0), m_min_width_before(0.0), m_acc_dist(0.0), m_needed_width(0.0), m_min_needed_width(0.0), m_staff_count(staff_count) { m_voice_members.setLen(VOICE_COUNT * staff_count, true); m_staff_members.setLen(staff_count, true); m_count_of_elements_per_staff.setLen(staff_count, true); if (element->getType() == TYPE_KEYSIG) { return; // TODO: this shouldn't happen (???) NedResource::Abort("TYPE_KEYSIG(1)"); } if ((element->getType() & (TYPE_CHORD | TYPE_REST)) != 0) { m_voice_members.insert(offs, element); m_has_only_staff_members = false; m_has_only_graces = false; m_element_has_arpeggio = ((element->getStatus() & STAT_ARPEGGIO) != 0); } else if ((element->getType() & TYPE_GRACE) == 0) { m_has_only_graces = false; m_staff_members.insert(offs, element); } } void NedPosition::setNewStaffCount(unsigned int newstaffcount) { if (newstaffcount == m_staff_count) return; //if (newstaffcount > m_staff_count) { m_voice_members.setLen(VOICE_COUNT * newstaffcount, true); m_staff_members.setLen(newstaffcount, true); m_count_of_elements_per_staff.setLen(newstaffcount, true); //} m_staff_count = newstaffcount; } bool NedPosition::hasOtherStaffElements(int type) { NedChordOrRest **ptr; for (ptr = m_staff_members.getFirst(); ptr; ptr = m_staff_members.getNext()) { if ((*ptr) == NULL) continue; if ((*ptr)->getType() != type) return true; } return false; } void NedPosition::insertElement(NedChordOrRest *element, int offs) { unsigned char c; m_midi_time = element->getMidiTime(); m_valid = true; m_has_only_staff_members = false; if (element->getType() == TYPE_KEYSIG) { NedResource::Abort("TYPE_KEYSIG(2)"); } if (element->getType() == TYPE_CHORD) { m_has_unhidden_elements = m_has_notes = true; m_has_only_graces = false; m_element_has_arpeggio = m_element_has_arpeggio || ((element->getStatus() & STAT_ARPEGGIO) != 0); if (element->getDuration() < m_min_duration) { m_min_duration = element->getDuration(); } } else if (element->getType() == TYPE_REST) { if (!element->isHidden() || (element->getStatus() & STAT_USER_HIDDEN_REST) == 0) { m_has_unhidden_elements = true; } m_has_only_graces = false; } if (element->getType() != TYPE_REST || (!element->isHidden() && (element->getStatus() & STAT_USER_HIDDEN_REST) == 0)) { if (element->getBBox()->width > m_min_needed_width) { m_min_needed_width = element->getBBox()->width; } if (element->getBBox()->width + element->getBBox()->x > m_min_width_after) { m_min_width_after = element->getBBox()->width + element->getBBox()->x; } if (-element->getBBox()->x > m_min_width_before) { m_min_width_before = -element->getBBox()->x; } } m_voice_members.insert(offs, element); if (element->isRest() && (element->isHidden() || (element->getStatus() & STAT_USER_HIDDEN_REST))) return; c = m_count_of_elements_per_staff.getAt(offs / VOICE_COUNT); m_count_of_elements_per_staff.insert(offs / VOICE_COUNT, c + 1); } bool NedPosition::insertStaffElement(NedChordOrRest *element, int staff_offs) { unsigned int c; /* if (m_valid) { if (m_staff_members.getAt(staff_offs) != NULL) return false; } */ m_has_only_graces = false; m_midi_time = element->getMidiTime(); m_has_unhidden_elements = m_valid = true; if (element->getBBox()->width > m_min_needed_width) { m_min_needed_width = element->getBBox()->width; } if (element->getBBox()->width + element->getBBox()->x > m_min_width_after) { m_min_width_after = element->getBBox()->width + element->getBBox()->x; } if (-element->getBBox()->x > m_min_width_before) { m_min_width_before = -element->getBBox()->x; } m_staff_members.insert(staff_offs, element); c = m_count_of_elements_per_staff.getAt(staff_offs); m_count_of_elements_per_staff.insert(staff_offs, c + 1); return true; } bool NedPosition::isUsed(int offs) { bool res = m_voice_members.getAt(offs) != NULL; return res; } void NedPosition::empty() { m_has_unhidden_elements = m_has_notes = m_valid = false; m_has_only_graces = m_has_only_staff_members = true; m_max_microshift = m_min_needed_width = m_needed_width = m_min_width_after = m_min_width_before = 0.0; m_min_duration = 8 * WHOLE_NOTE; m_count_of_elements_per_staff.zeroArray(); if (m_voice_members.getLen() > 0) { m_voice_members.zeroArray(); } if (m_staff_members.getLen() > 0) { m_staff_members.zeroArray(); } } void NedPosition::placeAt(double xpos, int *v_array, struct voice_properties *v_props, int mnum, bool out) { NedChordOrRest **ptr; int i; if (m_has_only_staff_members) { for (ptr = m_staff_members.getFirst(); ptr; ptr = m_staff_members.getNext()) { if (*ptr == NULL) continue; (*ptr)->setXPos2(xpos); } return; } if (m_has_only_graces) { for (ptr = m_voice_members.getFirst(); ptr; ptr = m_voice_members.getNext()) { if (*ptr == NULL) continue; (*ptr)->setXPos2(xpos); } return; } for (i = 0, ptr = m_voice_members.getFirst(); ptr; ptr = m_voice_members.getNext(), i++) { if (*ptr == NULL) continue; (*ptr)->setXPos2(xpos); if (v_array[i / VOICE_COUNT] > 1) { if (!(*ptr)->isRest()) { (*ptr)->changeStemDir(v_props[i].m_stem_decision); } } } } void NedPosition::computeAccidentalPositions(int mnum, bool out) { NedChordOrRest **ptr; int acc_places[4]; unsigned int i, j, offs = 0; NedNote **notes_with_accidentals = (NedNote **) alloca(MAX_NOTES_PER_WITH_ACCIDENTALS_STAFF * m_staff_count * sizeof(NedNote *)); NedNote **nptr; unsigned int *num_notes_with_accidentals_per_staff = (unsigned int *) alloca(m_staff_count * sizeof(unsigned int)); unsigned int accidental_columns; double acc_d; memset(num_notes_with_accidentals_per_staff, 0, m_staff_count * sizeof(unsigned int)); m_acc_dist = 0.0; for (i = 0, ptr = m_voice_members.getFirst(); /* offs < m_staff_count && */ ptr; ptr = m_voice_members.getNext(), i++) { if (*ptr != NULL) { (*ptr)->collectNotesWithAccidentals(num_notes_with_accidentals_per_staff + offs, notes_with_accidentals + MAX_NOTES_PER_WITH_ACCIDENTALS_STAFF * offs); } if (((i + 1) % VOICE_COUNT) == 0) { if (num_notes_with_accidentals_per_staff[offs] > 0) { qsort(notes_with_accidentals + offs * MAX_NOTES_PER_WITH_ACCIDENTALS_STAFF, num_notes_with_accidentals_per_staff[offs], sizeof(NedNote *), (int (*) (const void *, const void *)) NedNote::compare_note_lines); } offs++; } } accidental_columns = 0; for (i = 0; i < m_staff_count; i++) { nptr = notes_with_accidentals + MAX_NOTES_PER_WITH_ACCIDENTALS_STAFF * i; acc_places[0] = acc_places[1] = acc_places[2] = acc_places[3] = -10000; for (j = 0; j < num_notes_with_accidentals_per_staff[i]; j++, nptr++) { acc_d = (*nptr)->placeAccidental(FALSE /*all_shifted*/, acc_places, m_element_has_arpeggio, out && mnum == 1); if (acc_d > m_acc_dist) m_acc_dist = acc_d; } } } void NedPosition::computeMicroShifts(int mnum, int pos, bool out) { NedChordOrRest **p_staff, **p_voice1, **p_voice2; double microshift; for (p_staff = m_voice_members.getFirst(); p_staff; p_staff = m_voice_members.skip(VOICE_COUNT)) { for (p_voice1 = m_voice_members.getFirst2(VOICE_COUNT); p_voice1; p_voice1 = m_voice_members.getNext2()) { if (*p_voice1 == NULL) continue; if ((*p_voice1)->getType() != TYPE_CHORD) continue; (*p_voice1)->resetMicroshift(); } for (p_voice1 = m_voice_members.getFirst2(VOICE_COUNT); p_voice1; p_voice1 = m_voice_members.getNext2()) { if (*p_voice1 == NULL) continue; if ((*p_voice1)->getType() != TYPE_CHORD) continue; for (p_voice2 = m_voice_members.getFirst3(); p_voice2; p_voice2 = m_voice_members.getNext3()) { if (*p_voice2 == NULL) continue; if ((*p_voice2)->getType() != TYPE_CHORD) continue; /* if (out) { printf("mnum = %d, voi1 = %d, voi2 = %d\n", mnum, (*p_voice1)->getVoice()->getVoiceNumber(), (*p_voice2)->getVoice()->getVoiceNumber()); fflush(stdout); } */ microshift = (*p_voice1)->compute_microshift(*p_voice2, mnum, pos); if (microshift > m_max_microshift) m_max_microshift = microshift; } } } } void NedPosition::shiftXpos(double xshift, int mnum, int pos) { NedChordOrRest **ptr; if (m_has_only_staff_members) { for (ptr = m_staff_members.getFirst(); ptr; ptr = m_staff_members.getNext()) { if (*ptr == NULL) continue; (*ptr)->shiftX(xshift); } return; } for (ptr = m_voice_members.getFirst(); ptr; ptr = m_voice_members.getNext()) { if (*ptr == NULL) continue; (*ptr)->shiftX(xshift); } } bool NedPosition::hasNote() { NedChordOrRest **ptr; for (ptr = m_voice_members.getFirst(); ptr; ptr = m_voice_members.getNext()) { if (*ptr == NULL) continue; if (!(*ptr)->isRest()) return true; } return false; } void NedPosition::placeRests(struct voice_properties *vprops) { int i, j; NedChordOrRest **st_ptr, **ptr1, **ptr2, **pterm1, **pterm2; unsigned int st, ii; double shift; int *notes_available = (int *) alloca(m_staff_count * sizeof(int)); memset(notes_available, 0, m_staff_count * sizeof(int)); for (ii = 0, ptr1 = m_voice_members.getFirst(); ptr1; ptr1 = m_voice_members.getNext(), ii++) { if (*ptr1 == NULL) continue; if ((*ptr1)->isRest()) continue; notes_available[ii / VOICE_COUNT] = 1; } for (st = 0, st_ptr = m_voice_members.getFirst(); st_ptr; st_ptr = m_voice_members.skip(VOICE_COUNT), st++) { if (m_count_of_elements_per_staff.getAt(st) < 2) continue; pterm1 = st_ptr + VOICE_COUNT - 1; pterm2 = st_ptr + VOICE_COUNT; for (i = 0, ptr1 = st_ptr; ptr1 < pterm1; ptr1++, i++) { if (*ptr1 == NULL) continue; if ((*ptr1)->isRest() && ((*ptr1)->isHidden() || ((*ptr1)->getStatus() & (STAT_USER_PLACED_REST | STAT_USER_HIDDEN_REST)))) continue; for (j = i+1, ptr2 = ptr1 + 1; ptr2 < pterm2; ptr2++, j++) { if (*ptr2 == NULL) continue; if (!(*ptr2)->isRest()) continue; if ((*ptr2)->isHidden()) continue; if ((*ptr2)->getStatus() & (STAT_USER_PLACED_REST | STAT_USER_HIDDEN_REST)) continue; shift = (*ptr1)->compute_y_shift(*ptr2, vprops[st * VOICE_COUNT + j].m_stem_decision); if (shift > 0.0) { if (vprops[st * VOICE_COUNT + j].m_stem_decision == STEM_DIR_DOWN) { (*ptr2)->shiftY(shift); } else { (*ptr2)->shiftY(-shift); } } } } for (i = VOICE_COUNT - 1, ptr1 = st_ptr + VOICE_COUNT - 1; ptr1 > st_ptr; ptr1--, i--) { if (*ptr1 == NULL) continue; if ((*ptr1)->isRest() && ((*ptr1)->isHidden() || ((*ptr1)->getStatus() & (STAT_USER_PLACED_REST | STAT_USER_HIDDEN_REST)))) continue; pterm2 = notes_available[st] ? st_ptr : st_ptr + 1; for (j = i - 1, ptr2 = ptr1 - 1; ptr2 >= st_ptr; ptr2--, j--) { if (*ptr2 == NULL) continue; if (!(*ptr2)->isRest()) continue; if ((*ptr2)->isHidden()) continue; if ((*ptr2)->getStatus() & (STAT_USER_PLACED_REST | STAT_USER_HIDDEN_REST)) continue; shift = (*ptr1)->compute_y_shift(*ptr2, vprops[st * VOICE_COUNT + j].m_stem_decision); if (shift > 0.0) { if (vprops[st * VOICE_COUNT + j].m_stem_decision == STEM_DIR_DOWN) { (*ptr2)->shiftY(shift); } else { (*ptr2)->shiftY(-shift); } } } } } } #ifdef UUU bool NedPosition::print() { unsigned int i; bool b = false; printf("-----------------------\n"); for (i = 0; i < m_voice_members->len; i++) { //if (((NedChordOrRest *) m_members->pdata[i])->getType() != TYPE_CHORD) continue; if (((NedChordOrRest *) m_voice_members->pdata[i])->getVoice()->getVoiceNumber() != 0) continue; b = true; printf("\t%s: TIME: %llu dur: %u pos = %f\n", ((NedChordOrRest *) m_voice_members->pdata[i])->isRest() ? "Rest" : "Note", ((NedChordOrRest *) m_voice_members->pdata[i])->getMidiTime() / DIVISION, ((NedChordOrRest *) m_voice_members->pdata[i])->getDuration() / DIVISION, ((NedChordOrRest *) m_voice_members->pdata[i])->getXPos()); } return b; } #endif NedPositionArray::NedPositionArray() : m_staff_count(0), m_min_duration(2 * WHOLE_NOTE) {} NedPositionArray::~NedPositionArray() { NedPosition **ptr; for (ptr = m_positions.getFirst(); ptr; ptr = m_positions.getNext()) { delete (*ptr); } } int NedPositionArray::compare_positions(NedPosition **pos1, NedPosition **pos2) { if (!(*pos1)->m_valid && !(*pos2)->m_valid) return 0; if (!(*pos1)->m_valid) return 1; if (!(*pos2)->m_valid) return -1; if ((*pos1)->m_midi_time == (*pos2)->m_midi_time) { if ((*pos1)->m_has_only_staff_members && (*pos2)->m_has_only_staff_members) return 0; if ((*pos1)->m_has_only_staff_members) return -1; if ((*pos2)->m_has_only_staff_members) return 1; if ((*pos1)->m_has_only_graces && (*pos2)->m_has_only_graces) return -1; if ((*pos1)->m_has_only_graces) return -1; if ((*pos2)->m_has_only_graces) return 1; } if ((*pos1)->m_midi_time < (*pos2)->m_midi_time) return -1; return 1; } void NedPositionArray::insertElement(NedChordOrRest *element, int offs, int mnum) { NedPosition *pos_ptr; NedPosition **ptr; struct voice_properties *np_ptr; np_ptr = m_voice_properties.getPointerAt(offs); if (element->getType() & TYPE_CHORD) { np_ptr->m_note_count++; np_ptr->m_line_sum += element->getLineOfLowestNote(); } if ((element->getType() & TYPE_REST) && !element->isHidden() && (element->getStatus() & STAT_USER_HIDDEN_REST) == 0) { if (np_ptr == NULL) { printf("(element->getType() = 0x%x\n", element->getType()); fflush(stdout); } np_ptr->m_rests_count++; } for (ptr = m_positions.getFirst(); ptr; ptr = m_positions.getNext()) { if (!(*ptr)->m_valid) continue; if ((*ptr)->m_has_only_staff_members) continue; if ((*ptr)->m_has_only_graces) continue; if ((*ptr)->m_midi_time == element->getMidiTime()) { (*ptr)->insertElement(element, offs); if (element->getType() == TYPE_CHORD && (*ptr)->m_min_duration < m_min_duration) { m_min_duration = (*ptr)->m_min_duration; } //m_positions.sort((gint (*)(const void*, const void*)) compare_positions); return; } } for (ptr = m_positions.getFirst(); ptr; ptr = m_positions.getNext()) { if (!(*ptr)->m_valid) { (*ptr)->insertElement(element, offs); if (element->getType() == TYPE_CHORD && (*ptr)->m_min_duration < m_min_duration) { m_min_duration = (*ptr)->m_min_duration; } //m_positions.sort((gint (*)(const void*, const void*)) compare_positions); return; } } pos_ptr = new NedPosition(element, offs, m_staff_count); m_positions.append(pos_ptr); if (element->getType() == TYPE_CHORD && element->getDuration() < m_min_duration) { m_min_duration = element->getDuration(); } //m_positions.sort((gint (*)(const void*, const void*)) compare_positions); } void NedPositionArray::insertStaffElement(NedChordOrRest *element, int staff_offs, int mnum) { NedPosition *pos_ptr; NedPosition **ptr; int type = element->getType(); for (ptr = m_positions.getFirst(); ptr; ptr = m_positions.getNext()) { if (!(*ptr)->m_valid) continue; if ((*ptr)->m_has_only_graces) continue; if (!(*ptr)->m_has_only_staff_members) continue; if ((*ptr)->hasOtherStaffElements(type)) continue; if ((*ptr)->m_midi_time == element->getMidiTime()) { if (!(*ptr)->insertStaffElement(element, staff_offs)) break; //m_positions.sort((gint (*)(const void*, const void*)) compare_positions); return; } } for (ptr = m_positions.getFirst(); ptr; ptr = m_positions.getNext()) { if (!(*ptr)->m_valid) { (*ptr)->insertStaffElement(element, staff_offs); //m_positions.sort((gint (*)(const void*, const void*)) compare_positions); return; } } pos_ptr = new NedPosition(element, staff_offs, m_staff_count); m_positions.append(pos_ptr); //m_positions.sort((gint (*)(const void*, const void*)) compare_positions); } void NedPositionArray::insertGraceElement(NedChordOrRest *element, int offs, int mnum) { NedPosition *pos_ptr; NedPosition **ptr; for (ptr = m_positions.getFirst(); ptr; ptr = m_positions.getNext()) { if (!(*ptr)->m_valid) continue; if ((*ptr)->m_has_only_staff_members) continue; if (!(*ptr)->m_has_only_graces) continue; if ((*ptr)->m_midi_time == element->getMidiTime()) { if ((*ptr)->isUsed(offs)) break; (*ptr)->insertElement(element, offs); (*ptr)->m_has_unhidden_elements = true; //m_positions.sort((gint (*)(const void*, const void*)) compare_positions); return; } } for (ptr = m_positions.getFirst(); ptr; ptr = m_positions.getNext()) { if (!(*ptr)->m_valid) { (*ptr)->m_has_unhidden_elements = true; (*ptr)->insertElement(element, offs); //m_positions.sort((gint (*)(const void*, const void*)) compare_positions); return; } } pos_ptr = new NedPosition(element, offs, m_staff_count); m_positions.append(pos_ptr); //m_positions.sort((gint (*)(const void*, const void*)) compare_positions); } void NedPositionArray::empty() { NedPosition **ptr; m_min_duration = 8 * WHOLE_NOTE; for (ptr = m_positions.getFirst(); ptr; ptr = m_positions.getNext()) { (*ptr)->empty(); } m_voice_properties.zeroArray(); } void NedPositionArray::setNewStaffCount(unsigned int newstaffcount) { NedPosition **ptr; if (newstaffcount > m_staff_count) { m_voice_properties.setLen(VOICE_COUNT * newstaffcount, false); } m_staff_count = newstaffcount; for (ptr = m_positions.getFirst(); ptr; ptr = m_positions.getNext()) { (*ptr)->setNewStaffCount(newstaffcount); } } double NedPositionArray::shiftXpos(double extra_space_divided, double shift, int mnum, bool out) { NedPosition **ptr, **last = 0; int i; for (i = 0, ptr = m_positions.getFirst(); ptr; last = ptr, ptr = m_positions.getNext(), i++) { if (!(*ptr)->m_valid) continue; shift += extra_space_divided; if (last == NULL) { if ((*ptr)->m_acc_dist > (*ptr)->m_step_width) { shift += (*ptr)->m_acc_dist - ((*ptr)->m_step_width); } } else { if ((*ptr)->m_acc_dist > (*ptr)->m_step_width - (*last)->m_min_width_after) { shift += (*ptr)->m_acc_dist - ((*ptr)->m_step_width - (*last)->m_min_width_after); } } //shift += (*ptr)->m_acc_dist; (*ptr)->shiftXpos(shift, mnum, i); } return shift; } struct v_params_str{ char voice_number; char valid; double av; }; double NedPositionArray::computeAndSetPositions(double start_position, int *num_elements, double *extra_space_for_accidentals, bool *measure_has_only_staff_members /* means keysig */, double timesig_space, int mnum, double spread_fac, bool out) { NedPosition **p_first_valid = NULL, **p_last_valid, **p_next_valid; struct voice_properties *p_vp; struct v_params_str vparams[VOICE_COUNT]; double highest; int h_idx = 0; bool taken; double last_width_after, last_micro_shifts = 0.0; unsigned int last_duration; unsigned int mid; unsigned int i, j, k; int num_distances = 0; unsigned long long dist, mindist = 2 * WHOLE_NOTE; double step_width, min_step_width; int *num_voices = (int *) alloca(sizeof(int) * m_staff_count); int *num_notes = (int *) alloca(sizeof(int) * m_staff_count); m_positions.sort((gint (*)(const void*, const void*)) compare_positions); memset(num_voices, 0, sizeof(int) * m_staff_count); memset(num_notes, 0, sizeof(int) * m_staff_count); for (i = 0; i < m_staff_count; i++) { for (j = 0; j < VOICE_COUNT; j++) { vparams[j].voice_number = j; if (m_voice_properties.getAt(VOICE_COUNT * i + j).m_note_count > 0) { num_voices[i]++; num_notes[i]++; } else if (m_voice_properties.getAt(VOICE_COUNT * i + j).m_rests_count > 0) { num_voices[i]++; } } } p_vp = m_voice_properties.getArray(); for (i = 0; i < m_staff_count; i++, p_vp += VOICE_COUNT) { if (num_notes[i] > 1) { for (j = 0; j < VOICE_COUNT; j++) { vparams[j].voice_number = j; if (p_vp[j].m_note_count > 0) { vparams[j].av = (double) p_vp[j].m_line_sum / (double) p_vp[j].m_note_count; vparams[j].valid = true; } else { vparams[j].av = 100000.0; vparams[j].valid = false; } } mid = num_notes[i] / 2; k = 0; do { taken = false; highest = -20000.0; for (j = 0; j < VOICE_COUNT; j++) { if (!vparams[j].valid) continue; if (vparams[j].av > highest) { h_idx = j; highest = vparams[j].av; taken = true; } } if (taken) { if (h_idx < 0 || h_idx >= VOICE_COUNT) { NedResource::Abort("hidx"); } vparams[h_idx].valid = false; p_vp[h_idx].m_stem_decision = k++ < mid ? STEM_DIR_UP : STEM_DIR_DOWN; } } while (taken); } } m_min_durations_dist = 0.0; last_width_after = 0.0; last_duration = 0; for (p_last_valid = m_positions.getFirst(); p_last_valid; p_last_valid = m_positions.getNext()) { if ((*p_last_valid)->m_valid) { (*p_last_valid)->computeAccidentalPositions(mnum, out); if ((*p_last_valid)->m_has_notes) { last_duration = (*p_last_valid)->m_min_duration; last_width_after = (*p_last_valid)->m_min_width_after; } break; } } p_first_valid = p_last_valid; p_next_valid = m_positions.getNext(); while (p_next_valid) { if ((*p_next_valid)->m_valid) { (*p_next_valid)->computeAccidentalPositions(mnum, out); dist = (*p_next_valid)->m_midi_time - (*p_last_valid)->m_midi_time; if (dist < mindist) { mindist = dist; } if (last_duration == m_min_duration) { if (last_width_after + (*p_next_valid)->m_min_width_before > m_min_durations_dist) m_min_durations_dist = last_width_after + (*p_next_valid)->m_min_width_before; } if ((*p_next_valid)->m_has_notes) { last_duration = (*p_next_valid)->m_min_duration; last_width_after = (*p_next_valid)->m_min_width_after; } /* else { last_duration = 0; } */ p_last_valid = p_next_valid; num_distances++; } p_next_valid = m_positions.getNext(); } if (num_distances == 0 && p_first_valid != NULL && (*p_first_valid) != NULL && /* staff members i.e. keysigs have teir own values */ !(*p_first_valid)->m_has_only_staff_members ) { (*p_first_valid)->m_needed_width = 2 * WHOLE_EXTRA_SPACE; (*p_first_valid)->m_min_needed_width = 2 * WHOLE_EXTRA_SPACE; (*p_first_valid)->m_min_width_after = WHOLE_EXTRA_SPACE; (*p_first_valid)->m_min_width_before = WHOLE_EXTRA_SPACE; m_min_durations_dist = 2 * WHOLE_EXTRA_SPACE; } else { #define MAX_MINDURATIONS_DIST 1.0 if (m_min_durations_dist > MAX_MINDURATIONS_DIST) m_min_durations_dist = MAX_MINDURATIONS_DIST; } last_width_after = last_micro_shifts = 0.0; bool last_round_had_a_grace = false; int pos = 0; for (i = 0, p_next_valid = m_positions.getFirst(); p_next_valid; p_next_valid = m_positions.getNext()) { if (!(*p_next_valid)->m_valid) continue; (*num_elements)++; (*p_next_valid)->computeMicroShifts(mnum, pos++, out && mnum == 1); min_step_width = last_width_after + last_micro_shifts + (*p_next_valid)->m_min_width_before; if (p_next_valid != NULL) { if ((*p_next_valid)->m_has_notes) { *measure_has_only_staff_members = false; if (i == 0) { step_width = 0.0; // avoid additional gap behind bar line } timesig_space = 0.0; // add only if staff element is at first place step_width = 1.4 * HEAD_THICK + (double) ((*p_next_valid)->m_min_duration) / (double) (m_min_duration) * 0.2 * HEAD_THICK; if (step_width < min_step_width) step_width = min_step_width; if (last_round_had_a_grace) { step_width = 1.5 * HEAD_THICK; last_round_had_a_grace = false; } } else if ((*p_next_valid)->m_has_only_staff_members) { if (i == 0) { step_width = 0.0; // avoid additional gap behind bar line } else { step_width = min_step_width; timesig_space = 0.0; // add only if staff element is at first place } last_round_had_a_grace = false; } else if ((*p_next_valid)->m_has_only_graces) { step_width = 0.9 * HEAD_THICK; // rest timesig_space = 0.0; // add only if staff element is at first place *measure_has_only_staff_members = false; last_round_had_a_grace = true; } else { step_width = 1.4 * HEAD_THICK; // rest timesig_space = 0.0; // add only if staff element is at first place *measure_has_only_staff_members = false; if (step_width < min_step_width) step_width = min_step_width; last_round_had_a_grace = false; } } else { step_width = min_step_width; *measure_has_only_staff_members = false; timesig_space = 0.0; // add only if staff element is at first place last_round_had_a_grace = false; } step_width *= spread_fac; if ((*p_next_valid)->m_has_unhidden_elements) { start_position += step_width; } (*p_next_valid)->placeAt(start_position, num_voices, m_voice_properties.getArray(), mnum, out); start_position += timesig_space; // If bar has a timesig then additional space is needed after an eventuall staff element (keysig) /* #define EXTRA_DIST 0.01 step_width += EXTRA_DIST; if (out) { printf("mnum = %d, pos = %d, need = %f, step = %f\n", mnum, i, (*p_last_valid)->m_min_needed_width, step_width); fflush(stderr); } */ (*p_next_valid)->m_step_width = step_width - last_micro_shifts; if ((*p_next_valid)->m_acc_dist > step_width - last_micro_shifts - last_width_after) { (*extra_space_for_accidentals) += (*p_next_valid)->m_acc_dist - (step_width - last_micro_shifts -last_width_after); } /* if (out) { printf("mnum = %d, pos = %d, m_acc_dist = %f\n", mnum, i, (*p_last_valid)->m_acc_dist); fflush(stderr); } */ //(*extra_space_for_accidentals) += (*p_last_valid)->m_acc_dist; if ((*p_next_valid)->m_has_only_graces) { last_round_had_a_grace = true; } last_width_after = (*p_next_valid)->m_min_width_after; last_micro_shifts = (*p_next_valid)->m_max_microshift; i++; } start_position += last_width_after + last_micro_shifts; for (p_last_valid = m_positions.getFirst(); p_last_valid; p_last_valid = m_positions.getNext()) { if (!(*p_last_valid)->m_valid) continue; (*p_last_valid)->placeRests(m_voice_properties.getArray()); } return start_position; } int NedPositionArray::getStemDirectionOfTheMeasure(int m_staff_voice_offs) { if (m_voice_properties.getLen() < 1) return STEM_DIR_NONE; if (m_voice_properties.getLen() <= m_staff_voice_offs / sizeof(struct voice_properties)) return STEM_DIR_NONE; return m_voice_properties.getAt(m_staff_voice_offs).m_stem_decision; } #ifdef UUU void NedPositionArray::print() { unsigned int i; bool b = false; for (i = 0; i < m_positions->len; i++) { if (((NedPosition *) m_positions->pdata[i])->m_valid) { if (((NedPosition *) m_positions->pdata[i])->print()) { b = true; } } if (b) { putchar('\n'); } } fflush(stdout); } #endif nted-1.10.18/temposign.h0000664001041000007640000000455411520267230011720 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef TEMPO_SIGN_H #define TEMPO_SIGN_H #include "freereplaceable.h" class NedTempoSign : public NedFreeReplaceable { public: NedTempoSign(unsigned int kind, unsigned int tempo); NedTempoSign(unsigned int kind, unsigned int tempo, NedChordOrRest *element); NedTempoSign(unsigned int kind, unsigned int tempo, NedChordOrRest *element, double x, double y, bool relative); virtual NedFreeReplaceable *clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area = NULL, NedMainWindow *main_window = NULL); virtual void adjust_pointers(struct addr_ref_str *slurlist); virtual void draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale); virtual int getType() {return FREE_PLACEABLE_TEMPO;} unsigned int getKind() {return m_kind;} unsigned int getTempo() {return m_tempo;} void setTempo(unsigned int kind, unsigned int tempo); virtual void startContextDialog(GtkWidget *ref); double getTempoInverse(); bool getDot() {return m_dot;} private: void computeGlypths(); unsigned int m_kind; unsigned int m_tempo; cairo_glyph_t m_glyphs[3]; int m_number_len; bool m_dot; }; #endif /* TEMPO_SIGN_H */ nted-1.10.18/linepoint.cpp0000664001041000007640000001327311520267230012245 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "linepoint.h" #include "line.h" #include "chordorrest.h" #include "staff.h" #include "system.h" #include "page.h" #include "line3.h" #define X_POS_PAGE_REL(p) ((m_element->getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_PAGE_REL(p) ((p) * zoom_factor - topy) NedLinePoint::NedLinePoint(NedLine *line, int p_nr) : NedFreeReplaceable(), m_point_number(p_nr), m_line(line) {} NedLinePoint::NedLinePoint(NedLine *line, int p_nr, NedChordOrRest *element) : NedFreeReplaceable(element), m_point_number(p_nr), m_line(line) {} NedLinePoint::NedLinePoint(NedLine *line, int p_nr, NedChordOrRest *element, double x, double y, bool relative) : NedFreeReplaceable(element, x, y, relative), m_point_number(p_nr), m_line(line) {} NedFreeReplaceable *NedLinePoint::clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area /*= NULL */, NedMainWindow *main_window /* = NULL */) { return NULL; } void NedLinePoint::adjust_pointers(struct addr_ref_str *slurlist) { } void NedLinePoint::getXYPosAndStaff(double *xpos, double *ypos, NedStaff **staff) { getXYPos(xpos, ypos); *staff = m_element->getStaff(); } void NedLinePoint::startContextDialog(GtkWidget *ref) { if (m_line != NULL) { m_line->startContextDialog(ref); } } NedStaff *NedLinePoint::getStaff() { return m_element->getStaff(); } NedLinePoint *NedLinePoint::getLineStartPoint() { return m_line->getLineStartPoint(); } NedLinePoint *NedLinePoint::getLineEndPoint() { return m_line->getLineEndPoint(); } void NedLinePoint::draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale) { double xpos, ypos; if (m_element == NULL) return; if (isActive()) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } #define RECT_D 0.1 if (m_line == NULL || m_line->isActive()) { getXYPos(&xpos, &ypos); cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * LINE_THICK); cairo_rectangle(cr, X_POS_PAGE_REL(xpos - RECT_D / 2.0) , Y_POS_PAGE_REL(ypos -RECT_D / 2.0) , zoom_factor * RECT_D, zoom_factor * RECT_D); cairo_stroke(cr); } if (m_point_number == 1 && m_line != NULL) { m_line->draw(cr, leftx, topy, zoom_factor, zoom_level); } if (isActive()) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } if (m_is_abs) { drawConnection(cr, xpos, ypos, leftx, topy, zoom_factor); } } void NedLinePoint::recompute() { if (m_line) { m_line->computeParams(); } } void NedLinePoint::toRel() { if (m_line) { m_line->setAllPointsToRel(this); } NedFreeReplaceable::toRel(); } void NedLinePoint::toRel2() { NedFreeReplaceable::toRel(); } void NedLinePoint::shift(double x, double y, double zoom_factor, double current_scale, double leftx, double topy) { NedLinePoint *startp, *endp, *midp; double staffdist; if (m_line) { startp = m_line->getLineStartPoint(); endp = m_line->getLineEndPoint(); if (m_line->isLine3()) { midp = ((NedLine3 *) m_line)->getLineMidPoint(); if (endp == this || startp == this) { NedFreeReplaceable::shiftOnlyX(x, y, zoom_factor, current_scale, leftx, topy); } else if (midp == this) { NedFreeReplaceable::shift(x, y, zoom_factor, current_scale, leftx, topy); staffdist = startp->m_element->getSystem()->getYPos() + startp->m_element->getStaff()->getMidPos() - ( midp->m_element->getSystem()->getYPos() + midp->m_element->getStaff()->getMidPos()); startp->shiftOnlyY(m_element->getStaff()->getStaffNumber(), y + staffdist * zoom_factor, zoom_factor, current_scale, leftx, topy); staffdist = endp->m_element->getSystem()->getYPos() + endp->m_element->getStaff()->getMidPos() - ( midp->m_element->getSystem()->getYPos() + midp->m_element->getStaff()->getMidPos()); endp->shiftOnlyY(m_element->getStaff()->getStaffNumber(), y + staffdist * zoom_factor, zoom_factor, current_scale, leftx, topy); } } else { if (endp == this) { NedFreeReplaceable::shiftOnlyX(x, y, zoom_factor, current_scale, leftx, topy); } else if (startp == this) { NedFreeReplaceable::shift(x, y, zoom_factor, current_scale, leftx, topy); staffdist = endp->m_element->getSystem()->getYPos() + endp->m_element->getStaff()->getMidPos() - ( startp->m_element->getSystem()->getYPos() + startp->m_element->getStaff()->getMidPos()); endp->shiftOnlyY(m_element->getStaff()->getStaffNumber(), y + staffdist * zoom_factor, zoom_factor, current_scale, leftx, topy); } } m_line->computeParams(); return; } NedFreeReplaceable::shift(x, y, zoom_factor, current_scale, leftx, topy); if (m_line) { m_line->computeParams(); } } nted-1.10.18/config.rpath0000664001041000007640000004364711520267230012055 00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2007 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix4* | aix5*) library_names_spec='$libname$shrext' ;; amigaos*) library_names_spec='$libname.a' ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd1*) ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; nto-qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef PAGE_H #define PAGE_H #include "config.h" #include "resource.h" #include #include class NedMainWindow; class NedClipBoard; class NedSystem; class NedStaff; class NedMeasure; class NedCommandList; class NedLyricsEditor; class NedSlur; class part; class NedPage { public: NedPage(NedMainWindow *main_window, double width, double height, int nr, unsigned int start_measure_number, bool start); ~NedPage(); NedPage *clone(struct addr_ref_str **addrlist, struct addr_ref_str **slurlist, NedMainWindow *p_main_window, bool *staves); void adjust_pointers(struct addr_ref_str *addrlist, struct addr_ref_str *slurlist); NedSystem *appendSystem(); void testBeams(char *s); void testForKeysig(char *s); void removeSystem(NedSystem *system); void insertSystem(NedSystem *system); void appendSystem(NedCommandList *command_list); bool isPageOverflow(); bool isEmpty() {return g_list_length(m_systems) == 0;} bool hasOnlyRests(); bool isXOnPage(double x); void draw(cairo_t *cr, bool show_measure_numbers, double main_width, double main_height); double getTopPos(); double getLeftPos(); double getWidth() {return m_width;} double getHeight() {return m_height;} double getXPos() {return m_xpos;} unsigned int getNumberOfLastMeasure(); void setPageNumber(int num) {m_page_number = num; m_xpos = num * (m_width + DEFAULT_BORDER);} double getContentXpos(); double getContentWidth() {return m_width - 2 * LEFT_RIGHT_BORDER;} NedMainWindow *getMainWindow() {return m_main_window;} void copyDataOfWholeStaff(int staff_nr); void handleStaffElements(); void adjustAccidentals(int staff_nr); void changeAccidentals(NedCommandList *command_list, int preferred_offs, bool *staff_list, GList *selected_group); void setInternalPitches(); void transpose(int pitchdist, bool *staff_list, GList *selected_group); void hideRests(NedCommandList *command_list, bool unhide, int staff_nt, int voice_nr); bool shiftNotes(unsigned long long start_time, int linedist, NedSystem *start_system, int staff_number); void insertSlur(GdkRectangle *selection_rect); void removeUnneededAccidentals(int staff_nr = -1); bool trySelect(double x, double y, bool only_free_placeables = false); NedChordOrRest *findNearestElement(int staff_nr, double x, double y, NedStaff *oldstaff, double *ydist); bool tryInsertOrErease(double x, double y, int num_midi_input_notes, int *midi_input_chord /* given if insert from midikeyboard */, NedChordOrRest **newObj = NULL, bool force_rest = false); void setAllUnpositioned(); void zoomFreeReplaceables(double zoom, double scale); double convertX(double xpos); bool findLine(double x, double y, double *ypos, int *line, double *bottom, NedStaff **staff); bool findXposInOtherMeasure(guint keyval, double x, double y, double *newx, double *newy); int getPageNumber() {return m_page_number;} bool findTimeOfMeasure(int meas_num, unsigned long long *meas_time, unsigned long long *system_offs); void resetCollision(); void findSelectedFirstsLasts(NedBbox *sel_rect, int *number_of_first_selected_staff, int *number_of_last_selected_staff, NedSystem **first_selected_system, NedSystem **last_selected_system, NedPage **first_selected_page, NedPage **last_selected_page); void collectSelectionRectangleElements(NedBbox *sel_rect, GList **sel_group, NedSystem *first_selected_system, NedSystem *last_selected_system, NedPage *first_selected_page, NedPage *last_selected_page); int getSorting(NedStaff *this_staff, NedSystem *this_system, NedStaff *other_staff, NedSystem *other_system); NedSystem *getNextSystem(NedSystem *system, NedCommandList *command_list = NULL); NedSystem *getPreviousSystem(NedSystem *system); NedSystem *getFirstSystem(); NedPage *getNextPage(); NedPage *getPreviousPage(); void renumberSystems(); void resetActiveFlags(); bool isFirst(NedSystem *system); bool isLastPage(); bool isLast(NedSystem *system); bool isLastSystem(NedSystem *system); NedSystem *getLastSystem(); bool tryChangeLength(NedChordOrRest *chord_or_rest); bool placeStaffs(int pass, NedCommandList *command_list = NULL); void computeTuplets(); int getNumberOfStaffs(); NedStaff *findStaff(double x, double y, NedMeasure **measure); void savePage(FILE *fp); void restorePage(FILE *fp); void prepareReplay(bool with_keysig = false); void appendStaff(NedCommandList *command_list, int p_staff_nr = -1); void removeLastStaff(); void deleteStaff(int staff_number); void restoreStaff(int staff_number); void shiftStaff(int staff_number, int position); void getLinePoints(NedStaff *start_staff, NedStaff *end_staff, GList **staves); void reconfig_paper(double width, double height); void findFromTo(GList *clipboard, NedPage **min_page, NedPage **max_page, NedSystem **min_sys, NedSystem **max_sys); void deleteItemsFromTo(NedCommandList *command_list, bool is_first_page, bool is_last_page, NedSystem *min_sys, NedSystem *max_sys, unsigned long long start_midi, unsigned long long end_midi); void removeNotesFromTo(NedCommandList *command_list, GList *items, bool is_first_page, bool is_last_page, NedSystem *min_sys, NedSystem *max_sys); void testForPageBackwardTies(NedCommandList *command_list); void checkForElementsToSplit(NedCommandList *command_list, int *measure_number); void setAndUpdateClefTypeAndKeySig(int *clef_and_key_array, bool first); GList **getSystemsList() {return &m_systems;} bool find_staff_and_line(int x, int y, NedStaff **last_staff, int *last_line); void determineTempoInverse(NedChordOrRest *element, NedSystem* system, double *tempoinverse, bool *found); void detectVoices(int staff_nr, unsigned int *voice_mask, NedSystem **last_system, unsigned long long *end_time); void cutEmptyVoices(); void handleEmptyMeasures(); void testTies(); int getSystemCount(); bool exportLilyPond(FILE *fp, int staff_nr, int voice_nr, int *last_line, unsigned int *midi_len, NedSystem *last_system, unsigned long long end_time, bool *in_alernative, NedSlur **lily_slur, unsigned int *lyrics_map, bool with_break, bool *guitar_chordnames, bool *chordnames, int *breath_script, bool keep_beams); bool exportLilyGuitarChordnames(FILE *fp, int staff_nr, int *last_line, unsigned int *midi_len, NedSystem *last_system, unsigned long long end_time, bool *in_alernative, bool with_break); bool exportLilyFreeChordName(FILE *fp, int staff_nr, int *last_line, unsigned int *midi_len, NedSystem *last_system, unsigned long long end_time, bool *in_alernative, bool with_break); bool exportLilyLyrics(FILE *fp, int staff_nr, int voice_nr, int line_nr, NedSystem *last_system, unsigned long long end_time, int *sil_count); void collectLyrics(NedLyricsEditor *leditor, int staff_nr); void setLyrics(NedCommandList *command_list, NedLyricsEditor *leditor, int staff_nr); void recomputeFreeReplaceables(); private: void do_place_staffs(double offs); GList *m_systems; double m_xpos; double m_system_diff; double m_width, m_height; const double default_border; int m_page_number; bool m_ping_pong; NedMainWindow *m_main_window; friend class NedDeleteSystemCommand; friend class NedAppendSystemCommand; friend class NedMoveSystemCommand; }; #endif /* PAGE_H */ nted-1.10.18/icons/0000775001041000007640000000000011520270235010724 500000000000000nted-1.10.18/icons/grace_eighth_icon.h0000664001041000007640000000351111520270060014432 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (grace_eighth_icon) #endif #ifdef __GNUC__ static const guint8 grace_eighth_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 grace_eighth_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (453) */ "\0\0\1\335" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\377\377\377\377\0\361\377\377\377\0\2\0\12\0P\0\5\0^\236\377\377\377" "\0\2\0\11\0U\0\1\0\273\236\377\377\377\0\3\0\6\0T\0\0\0\377\0\16\0""6" "\235\377\377\377\0\3\0\11\0U\0\0\0\377\0\1\0\301\235\377\377\377\0\4" "\0\11\0U\0\1\0\354\0\0\0\361\0\7\0q\234\377\377\377\0\5\0\11\0U\0\10" "\0d\0\3\0\245\0\0\0\377\0\24\0&\233\377\377\377\0\5\0\6\0T\0\10\0d\0" "*\0\6\0\3\0\245\0\3\0\244\233\377\377\377\0\202\0\6\0T\202\377\377\377" "\0\2\0\1\0\303\0\16\0""5\232\377\377\377\0\202\0\6\0T\202\377\377\377" "\0\2\0\7\0k\0\4\0\203\232\377\377\377\0\202\0\6\0T\202\377\377\377\0" "\2\0\14\0\77\0\4\0\203\232\377\377\377\0\202\0\6\0T\202\377\377\377\0" "\2\0\1\0\277\0\4\0\203\232\377\377\377\0\2\0\11\0U\0\7\0n\202\377\377" "\377\0\2\0\0\0\377\0\2\0\242\232\377\377\377\0\2\0\6\0T\0\10\0d\234\377" "\377\377\0\4\0\23\0""6\0\0\0\3\0\11\0U\0\10\0d\232\377\377\377\0\3\0" "\15\0=\0\0\0\210\0\0\0\377\202\0\3\0\252\1\0\5\0d\231\377\377\377\0\2" "\0\16\0""5\0\1\0\345\204\0\0\0\377\1\0\5\0c\231\377\377\377\0\1\0\1\0" "\320\204\0\0\0\377\2\0\0\0\335\0\11\0""9\231\377\377\377\0\1\0\1\0\306" "\204\0\0\0\377\1\0\3\0\247\232\377\377\377\0\5\0\27\0\26\0\1\0\313\0" "\0\0\377\0\0\0\334\0\3\0\242\234\377\377\377\0\3\0\31\0)\0\6\0T\0\16" "\0""7\377\377\377\377\0\262\377\377\377\0"}; nted-1.10.18/icons/drum11_icon_small.png0000664001041000007640000000056611520267227014701 00000000000000‰PNG  IHDRR;^jsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ  ¦¸Z‹öIDAT8Ë¥Ó»JCA…áoÇ Fò>Ñ*6ÚÅR° ±õ9ìßDHg)vb/oŒ—±ádœã2pذØëgöÚg"¥dÓ«‰1ˆyD,s´RJ+Îð‚=lc¯8-{SJUÀ=Ž íwÿ,Ð/´],j€ž5O ðˆQ¡ðÐ9ºB|Â[¹>7CÄF5ì pŽ9Þs}½_€<Î WˆÊ͸Á°u ˜â³„dó-ÞpеÆHaçžÍV@¹.Í?Rr”A'm}mi€1>ò‡+»ïxL?3/3dНÖíüe.2©Bšæ~Í\\6õo—é›ôºÆIEND®B`‚nted-1.10.18/icons/midikeyboard_icon.h0000664001041000007640000001432311520270060014467 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (midikeyboard_icon) #endif #ifdef __GNUC__ static const guint8 midikeyboard_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 midikeyboard_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1684) */ "\0\0\6\254" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\6LLL\0\226\226\226\0///\0!!!\0UUU\0\226\226\226\0\204\0\0\0\0\1\377" "\377\377\0\204\0\0\0\0\204\177\177\177\0\1\211\211\211\0\202\0\0\0\0" "\11\211\211\211\0\0\0\0\0""444\0ddd\0hhh\0\226\226\226\0___\0\0\0\0\0" "BBB\0\207\0\0\0\0\204\342\342\342\0\1\0\0\0\0\204\0\0\0\377\204\177\177" "\177\377\210\0\0\0\0\203\342\342\342\0\2\0\0\0\0\342\342\342\0\212\0" "\0\0\0\205\0\0\0\377\203\177\177\177\0\4\177\177\177\377\342\342\342" "\0\0\0\0\0\342\342\342\0\217\0\0\0\0\212\0\0\0\377\204\177\177\177\377" "\206\0\0\0\0\202\342\342\342\0\203\0\0\0\0\204\342\342\342\0\1\0\0\0" "\0\203\0\0\0\377\204\0\0\0\0\205\0\0\0\377\203\177\177\177\0\1\177\177" "\177\377\206\0\0\0\0\204\342\342\342\0\205\0\0\0\0\202\0\0\0\377\2\0" "\0\0\0\342\342\342\0\205\0\0\0\0\204\0\0\0\377\204\177\177\177\377\203" "\0\0\0\0\204\0\0\0\377\204\177\177\177\377\203\342\342\342\0\2\0\0\0" "\0\0\0\0\377\204\342\342\342\0\2\0\0\0\0\342\342\342\0\211\0\0\0\0\1" "\342\342\342\0\202\0\0\0\0\205\0\0\0\377\202\342\342\342\0\3\177\177" "\177\0\177\177\177\377\342\342\342\0\202\0\0\0\0\202\0\0\0\377\202\0" "\0\0\0\225\0\0\0\377\204\177\177\177\377\203\0\0\0\0\1\0\0\0\377\202" "\0\0\0\0\202\0\0\0\377\214\0\0\0\0\202\342\342\342\0\1\0\0\0\0\205\0" "\0\0\377\202\342\342\342\0\2\177\177\177\0\177\177\177\377\203\342\342" "\342\0\1\0\0\0\377\202\0\0\0\0\1\0\0\0\377\203\0\0\0\0\215\342\342\342" "\0\1\0\0\0\0\204\0\0\0\377\204\177\177\177\377\203\342\342\342\0\4\0" "\0\0\377\342\342\342\0\0\0\0\0\0\0\0\377\211\342\342\342\0\206\0\0\0" "\0\214\342\342\342\0\245\0\0\0\377\13\377\377\377\377\177\177\177\377" "\377\377\377\377\177\177\177\377\377\377\377\377\0\0\0\377\377\377\377" "\377\177\177\177\377\377\377\377\377\177\177\177\377\377\377\377\377" "\202\0\0\0\377\202\377\377\377\377\5\177\177\177\377\377\377\377\377" "\177\177\177\377\377\377\377\377\177\177\177\377\203\377\377\377\377" "\1\177\177\177\377\202\377\377\377\377\223\0\0\0\377\2\377\377\377\377" "\177\177\177\377\206\377\377\377\377\1\177\177\177\377\202\377\377\377" "\377\2\177\177\177\377\377\377\377\377\223\0\0\0\377\202\377\377\377" "\377\5\177\177\177\377\377\377\377\377\177\177\177\377\377\377\377\377" "\177\177\177\377\203\377\377\377\377\1\177\177\177\377\202\377\377\377" "\377\302\0\0\0\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377" "\377\203\0\0\0\377\202\377\377\377\377\1\0\0\0\377\202\377\377\377\377" "\203\0\0\0\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377" "\203\0\0\0\377\202\377\377\377\377\202\0\0\0\377\202\377\377\377\377" "\203\0\0\0\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377" "\1\0\0\0\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\203" "\0\0\0\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\202" "\0\0\0\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\203" "\0\0\0\377\202\377\377\377\377\1\0\0\0\377\202\377\377\377\377\203\0" "\0\0\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\203\0" "\0\0\377\202\377\377\377\377\202\0\0\0\377\202\377\377\377\377\203\0" "\0\0\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\1\0\0" "\0\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\203\0\0" "\0\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\202\0\0" "\0\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\203\0\0" "\0\377\202\377\377\377\377\1\0\0\0\377\202\377\377\377\377\203\0\0\0" "\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\203\0\0\0" "\377\202\377\377\377\377\202\0\0\0\377\202\377\377\377\377\203\0\0\0" "\377\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\1\0\0\0\377" "\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\203\0\0\0\377" "\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\202\0\0\0\377" "\202\377\377\377\377\203\0\0\0\377\202\377\377\377\377\203\0\0\0\377" "\202\377\377\377\377\1\0\0\0\377\202\377\377\377\377\203\0\0\0\377\202" "\377\377\377\377\203\0\0\0\377\202\377\377\377\377\203\0\0\0\377\202" "\377\377\377\377\202\0\0\0\377\202\377\377\377\377\203\0\0\0\377\202" "\377\377\377\377\203\0\0\0\377\202\377\377\377\377\1\0\0\0\377\202\377" "\377\377\377\203\0\0\0\377\202\377\377\377\377\203\0\0\0\377\202\377" "\377\377\377\203\0\0\0\377\202\377\377\377\377\202\0\0\0\377\203\377" "\377\377\377\1\0\0\0\377\204\377\377\377\377\1\0\0\0\377\203\377\377" "\377\377\1\0\0\0\377\203\377\377\377\377\1\0\0\0\377\204\377\377\377" "\377\1\0\0\0\377\204\377\377\377\377\1\0\0\0\377\203\377\377\377\377" "\202\0\0\0\377\203\377\377\377\377\1\0\0\0\377\204\377\377\377\377\1" "\0\0\0\377\203\377\377\377\377\1\0\0\0\377\203\377\377\377\377\1\0\0" "\0\377\204\377\377\377\377\1\0\0\0\377\204\377\377\377\377\1\0\0\0\377" "\203\377\377\377\377\202\0\0\0\377\203\377\377\377\377\1\0\0\0\377\204" "\377\377\377\377\1\0\0\0\377\203\377\377\377\377\1\0\0\0\377\203\377" "\377\377\377\1\0\0\0\377\204\377\377\377\377\1\0\0\0\377\204\377\377" "\377\377\1\0\0\0\377\203\377\377\377\377\202\0\0\0\377\203\377\377\377" "\377\1\0\0\0\377\204\377\377\377\377\1\0\0\0\377\203\377\377\377\377" "\1\0\0\0\377\203\377\377\377\377\1\0\0\0\377\204\377\377\377\377\1\0" "\0\0\377\204\377\377\377\377\1\0\0\0\377\203\377\377\377\377\202\0\0" "\0\377\203\377\377\377\377\1\0\0\0\377\204\377\377\377\377\1\0\0\0\377" "\203\377\377\377\377\1\0\0\0\377\203\377\377\377\377\1\0\0\0\377\204" "\377\377\377\377\1\0\0\0\377\204\377\377\377\377\1\0\0\0\377\203\377" "\377\377\377\202\0\0\0\377\203\377\377\377\377\1\0\0\0\377\204\377\377" "\377\377\1\0\0\0\377\203\377\377\377\377\1\0\0\0\377\203\377\377\377" "\377\1\0\0\0\377\204\377\377\377\377\1\0\0\0\377\204\377\377\377\377" "\1\0\0\0\377\203\377\377\377\377\241\0\0\0\377"}; nted-1.10.18/icons/brace_icon.h0000664001041000007640000000534211520270060013101 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (brace_icon) #endif #ifdef __GNUC__ static const guint8 brace_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 brace_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (835) */ "\0\0\3[" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\220\377\377\377\0\4\0\0\0\1\0\0\0\33\0\0\0\34\0\0\0\11\232\377\377\377" "\0\4\0\0\0\2\0\0\0""5\0\0\0O\0\0\0\26\233\377\377\377\0\4\0\0\0\10\0" "\0\0\202\0\0\0s\0\0\0\3\234\377\377\377\0\3\0\0\0k\0\0\0\340\0\0\0$\234" "\377\377\377\0\4\0\0\0\14\0\0\0\303\0\0\0\346\0\0\0)\234\377\377\377" "\0\5\0\0\0\22\0\0\0\316\0\0\0\376\0\0\0}\0\0\0\1\230\377\377\377\0\1" "\0\0\0\1\202\377\377\377\0\5\0\0\0\1\0\0\0\236\0\0\0\377\0\0\0\341\0" "\0\0&\234\377\377\377\0\5\0\0\0[\0\0\0\376\0\0\0\377\0\0\0\221\0\0\0" "\3\233\377\377\377\0\5\0\0\0+\0\0\0\356\0\0\0\377\0\0\0\354\0\0\0""6" "\233\377\377\377\0\2\0\0\0\25\0\0\0\322\202\0\0\0\377\2\0\0\0\234\0\0" "\0\2\232\377\377\377\0\2\0\0\0\6\0\0\0\276\202\0\0\0\377\2\0\0\0\303" "\0\0\0\10\232\377\377\377\0\6\0\0\0\5\0\0\0\274\0\0\0\377\0\0\0\376\0" "\0\0\225\0\0\0\2\232\377\377\377\0\5\0\0\0$\0\0\0\335\0\0\0\374\0\0\0" "\273\0\0\0\37\227\377\377\377\0\10\0\0\0\1\377\377\377\0\0\0\0\2\0\0" "\0+\0\0\0\265\0\0\0\355\0\0\0\212\0\0\0\25\231\377\377\377\0\6\0\0\0" "\30\0\0\0u\0\0\0\307\0\0\0\246\0\0\0>\0\0\0\4\231\377\377\377\0\5\0\0" "\0\34\0\0\0\245\0\0\0\224\0\0\0/\0\0\0\4\233\377\377\377\0\6\0\0\0\2" "\0\0\0\36\0\0\0O\0\0\0~\0\0\0c\0\0\0\33\235\377\377\377\0\5\0\0\0\17" "\0\0\0W\0\0\0\260\0\0\0X\0\0\0\7\234\377\377\377\0\5\0\0\0\1\0\0\0J\0" "\0\0\351\0\0\0\217\0\0\0\15\234\377\377\377\0\5\0\0\0\32\0\0\0\331\0" "\0\0\372\0\0\0z\0\0\0\1\226\377\377\377\0\1\0\0\0\1\204\377\377\377\0" "\5\0\0\0!\0\0\0\341\0\0\0\377\0\0\0\300\0\0\0\7\233\377\377\377\0\5\0" "\0\0K\0\0\0\372\0\0\0\377\0\0\0\256\0\0\0\3\232\377\377\377\0\5\0\0\0" "\4\0\0\0\242\0\0\0\377\0\0\0\366\0\0\0O\233\377\377\377\0\5\0\0\0(\0" "\0\0\347\0\0\0\377\0\0\0\256\0\0\0\11\233\377\377\377\0\4\0\0\0t\0\0" "\0\376\0\0\0\357\0\0\0;\233\377\377\377\0\5\0\0\0\14\0\0\0\300\0\0\0" "\377\0\0\0\234\0\0\0\4\233\377\377\377\0\4\0\0\0\21\0\0\0\314\0\0\0\356" "\0\0\0""5\234\377\377\377\0\4\0\0\0\1\0\0\0\212\0\0\0\337\0\0\0\37\231" "\377\377\377\0\1\0\0\0\1\203\377\377\377\0\3\0\0\0\26\0\0\0\260\0\0\0" "Y\236\377\377\377\0\4\0\0\0\16\0\0\0[\0\0\0F\0\0\0\5\235\377\377\377" "\0\5\0\0\0\1\0\0\0\17\0\0\0-\0\0\0\34\0\0\0\5\236\377\377\377\0\2\0\0" "\0\1\0\0\0\5\214\377\377\377\0"}; nted-1.10.18/icons/dcross_icon.png0000664001041000007640000000027211520267227013667 00000000000000‰PNG  IHDR V%(gAMA± üatRNSÿ[‘"µbKGDª#2 pHYs  d_‘@IDATxÚcøO0Œ* Pº(‚ÍÀ€D‘¡€,¥°;¢¯/0HS€ß ÂŽ¤<5V0B,+¼n!½ïíIEND®B`‚nted-1.10.18/icons/brace_icon.png0000664001041000007640000000120511520267227013443 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEØ3 ªAR[tEXtCommentCreated with GIMPWàIDATXýױjAào®÷&c,DŒ!(‚¢h!bçXH,AAìÄ&o70(ÚŠ• Øi4b§‚…•I4&©šäØá dw¹;0ìÙböü;sÎÿÿS"B“QJ)˜@ÁrD¬WYßm¸ƒ ™ümD,ÕùN·fòÌ` "b³öFDå‰i|ʼn:ëûg§Æßâ&†ÐÓptj¬Â>Œãzá`lK²‚÷YõwprࢯW3~…ÀQL—Rö´yrV3¾•íØ*€%|Ëø î&/´` ?ûÞOeq¶ °ÕÄïÖ˜Çp›˜ÇlDl Œ QòÙÁY¼Ä2fq¨ vwÛ†¥”qÜÆ5|ÁU¼‰ˆFjº9.¥Lâ^’Ð|jš¸*€&qç°€¹ˆXhŒ †À ¼HQnRuå¸à2ñû[ &ð9ûæßqÄì ¹ÃIOpi Lÿ¯Ô38’ñ/l´FÅ¥”nbëxZÛÖ<ÿÓøž:ð{[ó„9¦p8=ÁƒªwFG¦t*[ñÞµmJ{MZ~Ü”’ëXÅë4%KM™¸2dKÞÇ\lEŒv5†+øùˆøÓ*€¾K{¾‚Ū@JÓëù60ݪþÚ|¬v9qIEND®B`‚nted-1.10.18/icons/drum3_icon.h0000664001041000007640000000277211520270060013063 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum3_icon) #endif #ifdef __GNUC__ static const guint8 drum3_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum3_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (373) */ "\0\0\1\215" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\223\0\0\0\0\1\0\0\0""2\237\0\0\0\0\1\0\0\0\377\237\0\0\0\0\1\0\0\0\377" "\237\0\0\0\0\1\0\0\0\377\237\0\0\0\0\1\0\0\0\377\237\0\0\0\0\1\0\0\0" "\377\237\0\0\0\0\1\0\0\0\377\237\0\0\0\0\1\0\0\0\377\237\0\0\0\0\1\0" "\0\0\377\237\0\0\0\0\1\0\0\0\377\237\0\0\0\0\1\0\0\0\377\237\0\0\0\0" "\1\0\0\0\377\237\0\0\0\0\1\0\0\0\377\237\0\0\0\0\1\0\0\0\377\233\0\0" "\0\0\1\0\0\0\377\203\0\0\0\0\1\0\0\0\377\233\0\0\0\0\1\0\0\0\377\203" "\0\0\0\0\1\0\0\0\377\232\0\0\0\0\203\0\0\0\377\202\0\0\0\0\1\0\0\0\377" "\232\0\0\0\0\203\0\0\0\377\202\0\0\0\0\1\0\0\0\377\231\0\0\0\0\205\0" "\0\0\377\2\0\0\0\0\0\0\0\377\231\0\0\0\0\205\0\0\0\377\2\0\0\0\0\0\0" "\0\377\230\0\0\0\0\210\0\0\0\377\230\0\0\0\0\210\0\0\0\377\227\0\0\0" "\0\210\0\0\0\377\231\0\0\0\0\207\0\0\0\377\231\0\0\0\0\207\0\0\0\377" "\232\0\0\0\0\205\0\0\0\377\233\0\0\0\0\205\0\0\0\377\234\0\0\0\0\203" "\0\0\0\377\235\0\0\0\0\203\0\0\0\377\236\0\0\0\0\1\0\0\0\377\237\0\0" "\0\0\1\0\0\0\377\260\0\0\0\0"}; nted-1.10.18/icons/bracket_icon.h0000664001041000007640000000403711520270060013440 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (bracket_icon) #endif #ifdef __GNUC__ static const guint8 bracket_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 bracket_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (555) */ "\0\0\2C" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\363\377\377\377\0\2\0\0\0\3\0\0\0\1\236\377\377\377\0\1\0\0\0&\236\377" "\377\377\0\2\0\0\0;\0\0\0\16\235\377\377\377\0\2\0\0\0M\0\0\0""1\234" "\377\377\377\0\3\0\0\0\31\0\0\0\242\0\0\0Q\230\377\377\377\0\7\0\0\0" "K\0\0\0\213\0\0\0\216\0\0\0\227\0\0\0\263\0\0\0\345\0\0\0J\231\377\377" "\377\0\6\0\0\0\212\0\0\0\377\0\0\0\357\0\0\0\303\0\0\0j\0\0\0)\232\377" "\377\377\0\3\0\0\0\212\0\0\0\377\0\0\0G\235\377\377\377\0\3\0\0\0\212" "\0\0\0\377\0\0\0@\235\377\377\377\0\3\0\0\0\212\0\0\0\377\0\0\0@\235" "\377\377\377\0\3\0\0\0\212\0\0\0\377\0\0\0@\235\377\377\377\0\3\0\0\0" "\212\0\0\0\377\0\0\0@\235\377\377\377\0\3\0\0\0\212\0\0\0\377\0\0\0@" "\235\377\377\377\0\3\0\0\0\212\0\0\0\377\0\0\0@\235\377\377\377\0\3\0" "\0\0\212\0\0\0\377\0\0\0@\235\377\377\377\0\3\0\0\0\212\0\0\0\377\0\0" "\0@\235\377\377\377\0\3\0\0\0\212\0\0\0\377\0\0\0@\235\377\377\377\0" "\3\0\0\0\212\0\0\0\377\0\0\0@\235\377\377\377\0\3\0\0\0\212\0\0\0\377" "\0\0\0@\235\377\377\377\0\3\0\0\0\212\0\0\0\377\0\0\0@\235\377\377\377" "\0\3\0\0\0\212\0\0\0\377\0\0\0@\235\377\377\377\0\3\0\0\0\212\0\0\0\377" "\0\0\0C\235\377\377\377\0\6\0\0\0\212\0\0\0\377\0\0\0\344\0\0\0\260\0" "\0\0V\0\0\0\7\232\377\377\377\0\7\0\0\0V\0\0\0\237\0\0\0\242\0\0\0\253" "\0\0\0\310\0\0\0\311\0\0\0""2\235\377\377\377\0\4\0\0\0\1\0\0\0&\0\0" "\0\243\0\0\0D\237\377\377\377\0\2\0\0\0[\0\0\0*\237\377\377\377\0\3\0" "\0\0B\0\0\0\12\377\377\0\1\235\377\377\377\0\2\0\0\0\1\0\0\0(\237\377" "\377\377\0\2\0\0\0\4\0\0\0\1\213\377\377\377\0"}; nted-1.10.18/icons/sforzato_icon.png0000664001041000007640000000075211520267227014244 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ -çÂjIDATXÃíÖ¿jTQÇñϸ!ÙF$MòA,m‚­,Å<€6BŠ`!ø±±²ð,bacl‚…"DD,Œ‚ÑøolN`Y²$gÝ“êLqÏ03ßa~çp#3MÊ"b_3óÛqsN™¬=ÁÕš„IT[Ðt@06@Dô#âBDÌœ(@D,EÄ |Â6>GÄóˆ¸<AfÛq¿‡ø¼ÃrMÍ©JÞ»ŒÌ9W¼é fˆoáeK€§GÄdæÇ–8ƒÇø9´ÿ¸SSëÀ£æŸ0"z™ù'".b ØÄVf¾mz °Š L3éȺsøŽ[#â‹ØÁµÈZ ÜÆ.f‡Î{xUôðó­¦ñëCç7y¯É š]Â>–ÊwïKó8ß 4}„78µéWš‰p _¦]Ç^i¾‰Þ‰ˆëø; ¼+M¯á!‡àYów`ÄYܯ¹vÿõ·°’é°cí‰IEND®B`‚nted-1.10.18/icons/drum3_icon_small.h0000664001041000007640000000226311520270060014246 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum3_icon_small) #endif #ifdef __GNUC__ static const guint8 drum3_icon_small[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum3_icon_small[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (194) */ "\0\0\0\332" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (64) */ "\0\0\0@" /* width (16) */ "\0\0\0\20" /* height (17) */ "\0\0\0\21" /* pixel_data: */ "\210\377\377\377\0\1\0\0\0\377\217\377\377\377\0\1\0\0\0\377\216\377" "\377\377\0\203\0\0\0\377\215\377\377\377\0\203\0\0\0\377\214\377\377" "\377\0\205\0\0\0\377\2\377\377\377\0\0\0\0\3\211\377\377\377\0\205\0" "\0\0\377\212\377\377\377\0\207\0\0\0\377\1\0\0\0\11\210\377\377\377\0" "\207\0\0\0\377\1\0\0\0\254\207\377\377\377\0\210\0\0\0\377\211\377\377" "\377\0\207\0\0\0\377\211\377\377\377\0\207\0\0\0\377\212\377\377\377" "\0\205\0\0\0\377\213\377\377\377\0\205\0\0\0\377\214\377\377\377\0\203" "\0\0\0\377\215\377\377\377\0\203\0\0\0\377\216\377\377\377\0\1\0\0\0" "\377\217\377\377\377\0\1\0\0\0\377\207\377\377\377\0"}; nted-1.10.18/icons/nted.png0000664001041000007640000000334311520267227012316 00000000000000‰PNG  IHDR00ý 1 sRGB®ÎébKGDÿ‡Ì¿ pHYsaa¨?§itIMEØ#&Oo‘tEXtCommentCopyright © 2006 Benz:k?IDATXÕ˜ŒTÕÇ?ïÍìï¥(‹,Ä šu«H,TIÕÒú#Vì¯Ø¦M©MĪ TmL)©?þ ·iS i ¶áŒIA‹-þ¨’Eº¨­ø ¡ –vÙ3ó>ýcß̼7oØÕs3ï͹ç̽÷Ü{î9ß3Ad€TH ÖS“Ôz’ò‰y@%IÉ““áêõ³|„ã_‚¸Ã¸U†?ÁÜÍ~¢”¼^?Ë‹ ‘U›?‹ê¿!âö©eËUy½~#^µÁãï’:âÝ•¹Ä‚ZLh¦õóñQ•õÿEÄ®C·¨QlƒýFüY,¨lј÷‹KU]$>¨jùnQ˜ô€ŠŒ?ÙÃ4V0HyGV¿aåü+ž$ÆÃ ÐËÍ\S¶œp@3úx‘°Þ¯©:Ü %.ûN3bi_¥´~#> ¨ÜƒšY5óÚ éŒ'ßCÀmã&×éMö·€)PLÝèé!b€ˆß³ŸKèbˆ9ÎNíR'y8ÉCìà*fVwy\yð"kxŸ'ϲŽR]¸HRDž"ÃLÁú Îð4GXÅwI˜6ØÂîà›œæË¬g*òg¾™U´²†¡ô2´ß¹âvëé¸{ŸkÅœÏ:9mïÉôV—TŠÉáÌlÖ«¹#Wg~bx…‡cW.ed4ÅŸu1‹ç»x€æ Ž÷0›X¿)W†¬]´ì=¨ÐKüø"«J“4Ê®æG™ÕW-h6òj¼E0…A¶pè`…Ú:Poó.Ýüx‡_q,¥'žw!70O0…1îg ø.xqˆŸq½@‹ÈQNxQb‚‰Ÿmã`!ý´ÑM÷„4›¿ò¯q’[Ó⊛þYuÔ¢ºßñ Ÿq±×{²Î¥•<å·è:ñuÌÑ„?¤“?ñp€ìf ð-ng„ÒY¶™2­´¦— ý^$îˆcÇgˆkÕ>?#âU.÷:»Ý=a4Ú]¥FU/Ú¬Ž¨[<¨^f»¼Á«ýÐ3þ\į:¨ŽYLµ1#õ ;ýžZLÉS¡Bà0p ²—£ü’e,d'hcßzù;Uñ[Åü—•èH`;k99ÎZ¹ÀµÀQ.àëÀÅ9 Lç^NѴДjyàqfÆA§‰æ:MÀ ”e*ÿþÅ.úài®c/°Þc Cìd!' 7d›éåFà-^áT*³çrÀh§DŽNf°Z˜ÇB"Îa+­LçPí{ù(1@H'OòKù¤ÓÙP1G9ë;|S}ÝÇÕç¹ØHÝ)žïë?9â#¾¯ö‹Ë{Ññ©*è;ì…v{\Uõk~Ú²ú}qEZVè§žçí.óqª[cx™I™Æ‡0‹_s_â·ÜÀelãoìb=Ü” S0ë|ŽvšÙ\Êü*º«Û¢çR«Ún³½ÇÍöùcq†³ü‰Ç&¼fÅe’~Ä °—KAB$Çå¬e;ØÌ0#@ȃÜÄïÖAÛ dy•‡8<Æù¬d áep/op Ó‰âÎ2DBŽò<³YJÀù†À+d˜r|Š-t¥\9þ“±j¢“Í  ~€ë—™Åé:ÜQ;½¦–8“¦YPr˜!ºca i‹sÆäÔžF%À^XÇïæZ~AÐNP ‹‘†LLy S5ñÿXÇ^ଅXÞ„ä2%údï0HÀ.cÐ ¼À>ŽqÍuuD¶œÊòT ñtm5“`˜¾ÀN°€ÎX÷¯ÀD||ѲUæ6[ÅÕWz¥ø²Zúuñ¤ur…µÓ9Þé]Î×¥ ØOX'GÕº6-ØèbÏsšŸ÷QËj)£÷ñÞAýß9T]‰>FYD3Å.ÈQ“ñÿjžY‚¥ 2yIEND®B`‚nted-1.10.18/icons/tremolo_icon1.png0000664001041000007640000000105311520267227014132 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ,—otEXtCommentCreated with GIMPW†IDATXÃí—=KA†Ÿ‰« EÄBK;í±´´´Jg^ðgXÚûKmÅNü@A¸Æ"J’±™ƒ%xávsç!:0p» ³ïÌ»óq¢ªT)5*–ß@D¤Rªª"r!"«UR0 81)€÷­À©‘MYΠ¤gÝ4/À9ðiëf{.’ó%`X¦ìhÆ4•$=ÉùuÆ~¸N€ËR(°°'fÞ€°Œ#½4JÉp«ê©ˆÜ™Ç- ¬í.& Tu»g»cZ~ÈðpÓˆÎVT!z>ª¬„µX[ÿíx ^/hݘÖ<ïÕ³UfÁ3ðú#d„yÂÊr°¸ÐË­N[À¼5¦v,€àØóQª`-¦±…Fàh|wÔÒN…ýXÌÂÌ’}Ën;gÀa!°Ãû·À†ª¶c(™‚V€'ïá=ûæ„„LA¾JÀ^úÕºxWÕÄ?*çþïø NL¤jtCIEND®B`‚nted-1.10.18/icons/rest_icon.h0000664001041000007640000000552511520270060013005 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (rest_icon) #endif #ifdef __GNUC__ static const guint8 rest_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 rest_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (835) */ "\0\0\3[" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\256\377\377\377\0\2\231=\0\31\0\325\325\6\235\377\377\377\0\3\277`\0" "\20""7\32\0\271\0(W\214\235\377\377\377\0\5\252\252\0\3q\77\0a\3\1\0" "\350\0=sh\0\200\200\2\234\377\377\377\0\4\200@\0\4T#\0\202\0\7\22\357" "\0;\\E\236\377\377\377\0\3\22\12\0\325\0\1\7\333\0\32A'\235\377\377\377" "\0\4;&\0\222\1\0\0\377\0\27""3\320\0@\207\40\234\377\377\377\0\1^1\0" "\342\202\0\0\0\377\2\0!>\271\0q\306\22\232\377\377\377\0\2\346\314\0" "\12\33\4\0\373\202\0\0\0\377\3\0\1\3\377\0!@\240\0\306\343\11\231\377" "\377\377\0\1\241T\0g\204\0\0\0\377\2\0\11\27\364\0""5~C\230\377\377\377" "\0\2\231f\0\12""9\35\0\310\203\0\0\0\377\3\0\2\7\375\0#L\232\0`\277\10" "\227\377\377\377\0\3\314f\0\5f6\0z\11\3\0\376\203\0\0\0\377\2\0\31""3" "\302\0d\233\27\227\377\377\377\0\3\377\200\0\2g<\0Y\20\7\0\362\203\0" "\0\0\377\2\0\11\31\365\0\77~E\230\377\377\377\0\3\325\325\0\6;\30\0\251" "\1\0\0\377\203\0\0\0\377\2\0\23-\245\0\231\346\12\231\377\377\377\0\3" "\17\13\0F\15\7\0\347\1\0\0\377\202\0\0\0\377\1\0\0\0\"\233\377\377\377" "\0\5\252j\0$#\20\0\335\0\0\0\377\0\2\15\375\0\0\37!\234\377\377\377\0" "\4\264]\0,\37\20\0\356\0\13,\367\0I\222*\235\377\377\377\0\4z\77\0E\31" "\12\0\357\0\32=\273\0G\216\22\232\377\377\377\0\7\377\0\0\1G*\0\22\10" "\0\0\37J$\0d\15\3\0\354\0)L\235\0t\321\13\230\377\377\377\0\11|;\0'*" "\24\0\242\4\2\0\327\0\0\0\336\0\7\14\316\16\13\0\324\0\3\10\366\0,Rz" "\0\277\377\4\226\377\377\377\0\2\217X\0\40.\27\0\307\203\0\0\0\377\5" "\0\2\4\372\0\1\2\351\0\0\0\346\0\25""4\266\0\314\346\12\225\377\377\377" "\0\12\377\377\0\1[(\0\222\3\1\0\377\0\0\0\377\0\1\4\376\0\17!\300\0\27" ")X\0\12\25""1\6\6\0,\0Rv\34\226\377\377\377\0\2\316\245\0\37\40\27\0" "\332\202\0\0\0\377\2\0\4\25\253\0\252\343\11\232\377\377\377\0\5+\24" "\0A\13\5\0\374\0\0\0\377\0\0\1\377\0\2\11w\233\377\377\377\0\5\255!\0" ">+\10\0\371\0\0\0\377\0\1\10\376\0\22\205o\233\377\377\377\0\5\313r\0" "1*\30\0\354\0\0\0\377\0\1\2\377\0$D\223\233\377\377\377\0\2\337\277\0" "\10;\34\0\266\202\0\0\0\377\2\0\15#\362\0L\230%\233\377\377\377\0\2w" "<\0<\37\13\0\346\202\0\0\0\377\4\0\26*\322\0\30""0J\0'N\32\0\200\377" "\2\230\377\377\377\0\11\377\200\0\2]7\0J\34\15\0\333\3\1\0\377\0\0\0" "\377\0\2\5\370\0\12\23\313\0\33/h\0\252\377\3\231\377\377\377\0\6i5\0" "\"#\22\0s\3\2\0\231\0\14\30\202\0\26,F\0""3f\24\314\377\377\377\0"}; nted-1.10.18/icons/bass_clef_icon.png0000664001041000007640000000174411520267227014320 00000000000000‰PNG  IHDR szzôbKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIME× 8ò$=ÁqIDATXÃí—HÜuÇ_Ÿ»¯÷ã{w9½óÎs§˜Ó9½Pv±Õ®µÎ‰.³”­Æ²ýQl4”š„~#¢r1ˆˆQ‹ý#ᔊ±‰ ¦ƲikÙ­ÒëRÓ»OääÜÝî®h<}ßßçûú<Ïó}>ŸRr'MǶ»ÿM­F(¢°Ð,4-íˆdÿ­F(W¡tð<»'fðÎF1I½uGñY|õ'°ŽËÞÞè-H)“òg«9hCŒa/ý”l÷Þ3»ÖÙé±f19ÿGÖ>~€ÏÇŒÉÆ»á‰EA”Cu¼ˆ°ŒRõÔ~_±ÝxÖÑ€Úöû³ ,`̉Pþä!ö¾Ÿ%¥¤;€©ÀL!ì»'-€ãJ7:c[ëñVØý¦ÚrN ¨î9ZN4K‰îé‡yÁ¬ãUÏ£í¼%e€Ö]ìC) ³¦ÖϦæxš®õ<ï61H\¾Ótõ­Þ½A {Ý4kÞt®?aۯЀœTÿò8“Cï mĺ\óh+ã:3üþK5=_ùòæ9â0p§½Þé”›P«d€D¯.²áƒË5×¾Æi13ú·NH¶5iÉ6a È*úT…Eô†(Y®qù¹>;ÇìÒPVéu³°å Q.Úã RDŽŸéöðÂØ‡Ë«ñz}OY É?EÆô×T^ -|ÄŽ/l+ÅW¼Ô/¯‡jÄkýW õLl_å±åšÉSX,XÃßžŽ‚NBS>bÃF¨O  #(;X*C _¢2[ÅŽYÎE¾± yVsÆ¡pñ‡¢’«l¬ý-íIx3ï¼——‘@’_ñ-‡ÏUe¬ Ùˆ& ùl ý¹”Íœ­Aü¾‘Û¶L‘ûýe‹J`•÷7••Ë•Y€¡L^ }øW¬(ê<ÅësÙ0ò¯ì†ñüí®]ňe AÚ‡ò2¿®àCGÉ ”p¡‹áÙrŠ†Î¢Tâ¤ôñc-¸jKø@‡ˆàÞp†ÆÎR¤·àãf<›=|¢Ç¡hË{ÔwzÒ)cÒÂö&ìuëhη0ˆê>‰og;»ÌéÎgB!öTS|1DàÒOf”Üy\ýÜÿÄ€ü¬m*#Çâ›Ñ]èÅpŸ r+½tM™˜š·˜»“ÿÀ_…A_•»ÀÊ¡IEND®B`‚nted-1.10.18/icons/color_icon.h0000664001041000007640000000561511520270060013146 00000000000000/* GdkPixbuf RGB C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (color_icon) #endif #ifdef __GNUC__ static const guint8 color_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 color_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (627) */ "\0\0\2\213" /* pixdata_type (0x2010001) */ "\2\1\0\1" /* rowstride (96) */ "\0\0\0`" /* width (32) */ "\0\0\0\40" /* height (31) */ "\0\0\0\37" /* pixel_data: */ "\331\377\377\377\3\377\270\377\377\25\377\377\370\377\235\377\377\377" "\3\377\262\377\377\0\377\377\367\377\235\377\377\377\3\377\262\377\377" "\0\377\377\367\377\235\377\377\377\3\377\262\377\377\0\377\377\367\377" "\235\377\377\377\3\377\262\377\377\0\377\377\367\377\235\377\377\377" "\3\377\262\377\377\0\377\377\367\377\216\377\377\377\2\243\243\377NN" "\377\215\377\377\377\3\377\262\377\377\0\377\377\367\377\216\377\377" "\377\2\213\213\377\37\37\377\215\377\377\377\3\377\262\377\377\0\377" "\377\367\377\216\377\377\377\2\213\213\377\37\37\377\215\377\377\377" "\3\377\262\377\377\0\377\377\367\377\216\377\377\377\2\213\213\377\37" "\37\377\215\377\377\377\3\377\262\377\377\0\377\377\367\377\216\377\377" "\377\2\213\213\377\37\37\377\215\377\377\377\3\377\262\377\377\0\377" "\377\367\377\216\377\377\377\2\213\213\377\37\37\377\215\377\377\377" "\3\377\262\377\377\0\377\377\367\377\216\377\377\377\2\213\213\377\37" "\37\377\215\377\377\377\3\377\262\377\377\0\377\377\367\377\216\377\377" "\377\2\213\213\377\37\37\377\215\377\377\377\3\377\262\377\377\0\377" "\377\367\377\216\377\377\377\2\213\213\377\37\37\377\207\377\377\377" "\11\377\342\377\377y\377\3777\377\377)\377\377,\377\377P\377\377i\377" "\377\0\377\377\367\377\216\377\377\377\2\213\213\377\37\37\377\206\377" "\377\377\2\377\324\377\377\21\377\207\377\0\377\1\377\367\377\216\377" "\377\377\2\213\213\377\37\37\377\206\377\377\377\1\377t\377\210\377\0" "\377\1\377\360\377\216\377\377\377\2\213\213\377\37\37\377\206\377\377" "\377\1\377\260\377\207\377\0\377\2\377\22\377\377\370\377\216\377\377" "\377\2\213\213\377\37\37\377\207\377\377\377\3\377\243\377\377'\377\377" "\1\377\202\377\0\377\3\377\14\377\377Y\377\377\346\377\217\377\377\377" "\2\213\213\377\37\37\377\211\377\377\377\4\377\354\377\377\315\377\377" "\330\377\377\370\377\221\377\377\377\2\213\213\377\37\37\377\231\377" "\377\377\7\367\367\377\316\316\377\301\301\377\305\305\377\363\363\377" "\213\213\377\37\37\377\230\377\377\377\2\203\203\377\20\20\377\203\0" "\0\377\3\10\10\377\"\"\377\37\37\377\227\377\377\377\1\245\245\377\207" "\0\0\377\1\40\40\377\227\377\377\377\1\246\246\377\207\0\0\377\1mm\377" "\227\377\377\377\3\375\375\377{{\377\20\20\377\203\0\0\377\3\5\5\377" "[[\377\364\364\377\231\377\377\377\5\371\371\377\314\314\377\261\261" "\377\301\301\377\356\356\377\326\377\377\377"}; nted-1.10.18/icons/tremolo_icon4.h0000664001041000007640000001020611520270060013565 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (tremolo_icon4) #endif #ifdef __GNUC__ static const guint8 tremolo_icon4[] __attribute__ ((__aligned__ (4))) = #else static const guint8 tremolo_icon4[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1338) */ "\0\0\5R" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\217\377\377\377\0\2\0\0\0\17\0\0\0\21\236\377\377\377\0\202\0\0\0A\236" "\377\377\377\0\7\0\0\0A\0\0\0W\0\0\0\15\0\0\0\33\0\0\0\37\0\0\0\31\0" "\0\0\1\226\377\377\377\0\1\0\0\0\1\202\377\377\377\0\6\0\0\0""5\0\0\0" "\274\0\0\0\265\0\0\0\353\0\0\0\377\0\0\0\266\226\377\377\377\0\5\0\0" "\0\5\0\0\0\17\0\0\0:\0\0\0\274\0\0\0\364\204\0\0\0\377\1\0\0\0\257\226" "\377\377\377\0\2\0\0\0_\0\0\0\374\206\0\0\0\377\2\0\0\0\371\0\0\0\201" "\226\377\377\377\0\1\0\0\0h\203\0\0\0\377\4\0\0\0\375\0\0\0\355\0\0\0" "\250\0\0\0-\202\377\377\377\0\1\0\0\0\1\225\377\377\377\0\6\0\0\0e\0" "\0\0\324\0\0\0\205\0\0\0c\0\0\0b\0\0\0h\202\377\377\377\0\2\0\0\0\27" "\0\0\0""0\224\377\377\377\0\2\0\0\0\1\377\377\377\0\202\0\0\0\1\202\377" "\377\377\0\10\0\0\0;\0\0\0\202\0\0\0~\0\0\0\332\0\0\0\356\0\0\0\245\377" "\377\377\0\0\0\0\1\217\377\377\377\0\203\0\0\0\1\6\377\377\377\0\0\0" "\0\2\377\377\377\0\0\0\0\232\0\0\0\361\0\0\0\376\205\0\0\0\377\2\0\0" "\0\330\0\0\0\3\220\377\377\377\0\203\0\0\0\1\202\377\377\377\0\3\0\0" "\0h\0\0\0\373\0\0\0\376\205\0\0\0\377\2\0\0\0\361\0\0\0\216\226\377\377" "\377\0\1\0\0\0h\203\0\0\0\377\7\0\0\0\372\0\0\0\317\0\0\0\211\0\0\0P" "\0\0\0\4\377\377\377\0\0\0\0\1\225\377\377\377\0\6\0\0\0v\0\0\0\356\0" "\0\0\216\0\0\0%\0\0\0L\0\0\0t\203\377\377\377\0\1\0\0\0\26\225\377\377" "\377\0\1\0\0\0\1\204\377\377\377\0\6\0\0\0M\0\0\0\225\0\0\0b\0\0\0\314" "\0\0\0\376\0\0\0\272\224\377\377\377\0\1\0\0\0\1\202\377\377\377\0\4" "\0\0\0%\0\0\0\222\0\0\0\300\0\0\0\350\204\0\0\0\377\3\0\0\0\241\377\377" "\377\0\0\0\0\1\223\377\377\377\0\2\0\0\0\1\0\0\0\226\206\0\0\0\377\5" "\0\0\0\375\0\0\0\346\0\0\0\244\0\0\0\6\377\377\377\0\211\0\0\0\1\213" "\377\377\377\0\1\0\0\0i\203\0\0\0\377\7\0\0\0\375\0\0\0\331\0\0\0Z\0" "\0\0/\0\0\0\30\0\0\0\1\377\377\377\0\212\0\0\0\1\213\377\377\377\0\12" "\0\0\0g\0\0\0\313\0\0\0\252\0\0\0E\0\0\0""7\0\0\0k\377\377\377\0\0\0" "\0\10\0\0\0\35\0\0\0\33\226\377\377\377\0\2\0\0\0\11\0\0\0\2\202\377" "\377\377\0\6\0\0\0""6\0\0\0\257\0\0\0\233\0\0\0\301\0\0\0\366\0\0\0\264" "\226\377\377\377\0\5\0\0\0\10\0\0\0\30\0\0\0j\0\0\0\332\0\0\0\366\204" "\0\0\0\377\1\0\0\0\257\226\377\377\377\0\1\0\0\0]\207\0\0\0\377\4\0\0" "\0\353\0\0\0j\377\377\377\0\0\0\0\1\217\377\377\377\0\204\0\0\0\1\2\377" "\377\377\0\0\0\0l\202\0\0\0\377\5\0\0\0\375\0\0\0\371\0\0\0\367\0\0\0" "\326\0\0\0\"\202\377\377\377\0\1\0\0\0\2\220\377\377\377\0\13\0\0\0\1" "\0\0\0\2\0\0\0\3\0\0\0\2\377\377\377\0\0\0\0c\0\0\0\267\0\0\0n\0\0\0" "P\0\0\0U\0\0\0n\202\377\377\377\0\202\0\0\0\1\2\377\377\377\0\0\0\0\1" "\223\377\377\377\0\1\0\0\0\1\204\377\377\377\0\2\0\0\0>\0\0\0r\230\377" "\377\377\0\10\0\0\0\1\377\377\377\0\0\0\0\27\0\0\0\\\0\0\0u\0\0\0]\0" "\0\0H\0\0\0r\227\377\377\377\0\11\0\0\0\1\377\377\377\0\0\0\0\177\0\0" "\0\377\0\0\0\376\0\0\0\377\0\0\0\376\0\0\0\377\0\0\0l\224\377\377\377" "\0\1\0\0\0\1\203\377\377\377\0\1\0\0\0\226\206\0\0\0\377\1\0\0\0I\217" "\377\377\377\0\3\0\0\0\1\377\377\377\0\0\0\0\1\203\377\377\377\0\3\0" "\0\0\1\0\0\0\5\0\0\0P\206\0\0\0\377\3\0\0\0\374\0\0\0.\0\0\0\1\211\377" "\377\377\0\1\0\0\0\1\205\377\377\377\0\2\0\0\0\1\377\377\377\0\202\0" "\0\0\1\4\0\0\0\4\0\0\0\2\377\377\377\0\0\0\0\350\206\0\0\0\377\2\0\0" "\0\273\0\0\0\3\213\377\377\377\0\202\0\0\0\1\202\0\0\0\4\3\0\0\0\1\377" "\377\377\0\0\0\0\1\205\377\377\377\0\1\0\0\0\352\205\0\0\0\377\2\0\0" "\0\333\0\0\0\10\213\377\377\377\0\1\0\0\0\1\214\377\377\377\0\2\0\0\0" "C\0\0\0\356\202\0\0\0\377\3\0\0\0\346\0\0\0\237\0\0\0\2\202\0\0\0\1\226" "\377\377\377\0\6\0\0\0\1\377\377\377\0\0\0\0\30\0\0\0-\0\0\0+\0\0\0\30" "\202\377\377\377\0\1\0\0\0\1\220\377\377\377\0"}; nted-1.10.18/icons/tied_icon.h0000664001041000007640000000535511520270060012756 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (tied_icon) #endif #ifdef __GNUC__ static const guint8 tied_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 tied_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (700) */ "\0\0\2\324" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\377\377\377\377\0\247\377\377\377\0\210\0\221\0\0\1\0\0\0\0\206\377" "\377\377\0\202\0\221\0\0\217\377\377\377\0\210\0\221\0\0\1\0\0\0\0\206" "\377\377\377\0\202\0\221\0\0\217\377\377\377\0\210\0\221\0\0\1\0\0\0" "\0\206\377\377\377\0\202\0\221\0\0\217\377\377\377\0\210\0\221\0\7\1" "\0\0\0\377\206\377\377\377\0\202\0\221\0\7\217\377\377\377\0\210\0\221" "\0\7\1\0\0\0\377\206\377\377\377\0\202\0\221\0\7\217\377\377\377\0\210" "\0\221\0\7\1\0\0\0\377\206\377\377\377\0\202\0\221\0\7\217\377\377\377" "\0\210\0\221\0\7\1\0\0\0\377\206\377\377\377\0\202\0\221\0\7\217\377" "\377\377\0\210\0\221\0\7\1\0\0\0\377\206\377\377\377\0\202\0\221\0\7" "\217\377\377\377\0\210\0\221\0\7\1\0\0\0\377\206\377\377\377\0\202\0" "\221\0\7\217\377\377\377\0\210\0\221\0\7\1\0\0\0\377\206\377\377\377" "\0\202\0\221\0\7\217\377\377\377\0\210\0\221\0\7\1\0\0\0\377\206\377" "\377\377\0\202\0\221\0\7\217\377\377\377\0\210\0\221\0\7\1\0\0\0\377" "\206\377\377\377\0\202\0\221\0\7\217\377\377\377\0\210\0\221\0\7\1\0" "\0\0\377\206\377\377\377\0\202\0\221\0\7\217\377\377\377\0\210\0\221" "\0\7\1\0\0\0\377\206\377\377\377\0\202\0\221\0\7\217\377\377\377\0\210" "\0\221\0\7\1\0\0\0\377\206\377\377\377\0\202\0\221\0\7\217\377\377\377" "\0\210\0\221\0\7\1\0\0\0\377\206\377\377\377\0\202\0\221\0\7\217\377" "\377\377\0\210\0\221\0\7\1\0\0\0\377\211\377\377\377\0\1\0\0\0\0\215" "\377\377\377\0\204\0\221\0\7\202\0\0\0\377\202\0\221\0\7\1\0\0\0\377" "\210\377\377\377\0\202\0\0\0\0\215\377\377\377\0\202\0\221\0\7\207\0" "\0\0\377\210\377\377\377\0\202\0\0\0\0\215\377\377\377\0\1\0\221\0\7" "\210\0\0\0\377\207\377\377\377\0\203\0\0\0\0\215\377\377\377\0\211\0" "\0\0\377\206\377\377\377\0\204\0\0\0\0\215\377\377\377\0\210\0\0\0\377" "\1\0\221\0\7\203\377\377\377\0\204\0\0\0\0\202\377\377\377\0\1\0\0\0" "\0\215\377\377\377\0\210\0\0\0\377\1\0\221\0\7\204\0\0\0\0\204\377\377" "\377\0\202\0\0\0\377\215\377\377\377\0\1\0\221\0\7\207\0\0\0\377\1\0" "\221\0\0\203\0\0\0\0\204\377\377\377\0\203\0\0\0\377\215\377\377\377" "\0\202\0\221\0\7\203\0\0\0\377\202\0\221\0\7\202\0\0\0\377\205\377\377" "\377\0\203\0\0\0\377\226\377\377\377\0\1\0\0\0\0\210\0\0\0\377\231\377" "\377\377\0\204\0\0\0\377\215\377\377\377\0"}; nted-1.10.18/icons/dflat_icon.png0000664001041000007640000000041211520267227013460 00000000000000‰PNG  IHDR Ùs²gAMA± üabKGDª#2 pHYs  d_‘žIDATxÚí”K€ D;†û_y\ ‚ô“?‰,ˆL:/m)‚2·–IÿûP-/ž/á|P´´Ïá+:Ú> ¡•L  @•MÀÙ²áŒômD(ã¤x#v{ýb=38ŠNþ,9š—¹…¼ÝôÁì4¥­âØÑú¡•ÐÒä Ø]-¶±t•ðÍfup<ÙyÉgp;`™Û.Hâé7IEND®B`‚nted-1.10.18/icons/arrow_left_icon.h0000664001041000007640000000463511520270060014175 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (arrow_left_icon) #endif #ifdef __GNUC__ static const guint8 arrow_left_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 arrow_left_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (785) */ "\0\0\3)" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (104) */ "\0\0\0h" /* width (26) */ "\0\0\0\32" /* height (26) */ "\0\0\0\32" /* pixel_data: */ "\223\0\0\0\0\3\0\0\0\13\0\0\0""4\0\0\0/\225\0\0\0\0\5\0\0\0\1\0\0\0\31" "\0\0\0m\0\0\0\340\0\0\0b\225\0\0\0\0\5\0\0\0\37\0\0\0\233\0\0\0\345\0" "\0\0\376\0\0\0b\224\0\0\0\0\3\0\0\0G\0\0\0\271\0\0\0\370\202\0\0\0\377" "\1\0\0\0c\221\0\0\0\0\5\0\0\0\1\0\0\0\27\0\0\0g\0\0\0\331\0\0\0\375\203" "\0\0\0\377\1\0\0\0c\221\0\0\0\0\3\0\0\0""2\0\0\0\220\0\0\0\364\205\0" "\0\0\377\1\0\0\0b\217\0\0\0\0\4\0\0\0\12\0\0\0""6\0\0\0\311\0\0\0\365" "\206\0\0\0\377\1\0\0\0c\216\0\0\0\0\3\0\0\0\13\0\0\0o\0\0\0\315\210\0" "\0\0\377\1\0\0\0b\214\0\0\0\0\5\0\0\0\2\0\0\0&\0\0\0\230\0\0\0\350\0" "\0\0\376\210\0\0\0\377\1\0\0\0b\213\0\0\0\0\3\0\0\0\7\0\0\0F\0\0\0\270" "\213\0\0\0\377\1\0\0\0c\211\0\0\0\0\4\0\0\0\1\0\0\0\32\0\0\0d\0\0\0\340" "\214\0\0\0\377\1\0\0\0c\210\0\0\0\0\5\0\0\0\1\0\0\0\37\0\0\0\222\0\0" "\0\346\0\0\0\376\214\0\0\0\377\1\0\0\0b\210\0\0\0\0\3\0\0\0""3\0\0\0" "\313\0\0\0\364\216\0\0\0\377\1\0\0\0b\210\0\0\0\0\3\0\0\0""4\0\0\0\325" "\0\0\0\375\216\0\0\0\377\1\0\0\0c\210\0\0\0\0\4\0\0\0\4\0\0\0B\0\0\0" "\264\0\0\0\361\215\0\0\0\377\1\0\0\0b\211\0\0\0\0\4\0\0\0\2\0\0\0#\0" "\0\0\216\0\0\0\347\214\0\0\0\377\1\0\0\0b\212\0\0\0\0\4\0\0\0\1\0\0\0" "\25\0\0\0Z\0\0\0\355\213\0\0\0\377\1\0\0\0b\214\0\0\0\0\5\0\0\0\4\0\0" "\0""9\0\0\0\255\0\0\0\366\0\0\0\376\210\0\0\0\377\1\0\0\0b\215\0\0\0" "\0\4\0\0\0\1\0\0\0(\0\0\0\207\0\0\0\346\210\0\0\0\377\1\0\0\0c\217\0" "\0\0\0\4\0\0\0\13\0\0\0l\0\0\0\314\0\0\0\376\206\0\0\0\377\1\0\0\0b\220" "\0\0\0\0\4\0\0\0\11\0\0\0@\0\0\0\302\0\0\0\366\205\0\0\0\377\1\0\0\0" "b\221\0\0\0\0\5\0\0\0\3\0\0\0\37\0\0\0\217\0\0\0\356\0\0\0\376\203\0" "\0\0\377\1\0\0\0c\223\0\0\0\0\4\0\0\0\17\0\0\0T\0\0\0\327\0\0\0\374\202" "\0\0\0\377\1\0\0\0b\225\0\0\0\0\5\0\0\0K\0\0\0\257\0\0\0\366\0\0\0\377" "\0\0\0b\225\0\0\0\0\5\0\0\0\1\0\0\0'\0\0\0\216\0\0\0\351\0\0\0b\226\0" "\0\0\0\4\0\0\0\2\0\0\0\20\0\0\0h\0\0\0T\204\0\0\0\0"}; nted-1.10.18/icons/drum8_icon.h0000664001041000007640000000450211520267227013074 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum8_icon) #endif #ifdef __GNUC__ static const guint8 drum8_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum8_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (633) */ "\0\0\2\221" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\225\377\377\377\0\2\0\0\0""1\0\0\0\16\236\377\377\377\0\2\0\0\0\274" "\0\0\0""6\236\377\377\377\0\2\0\0\0\274\0\0\0""6\236\377\377\377\0\2" "\0\0\0\274\0\0\0""6\236\377\377\377\0\2\0\0\0\274\0\0\0""6\236\377\377" "\377\0\2\0\0\0\274\0\0\0""6\236\377\377\377\0\2\0\0\0\274\0\0\0""6\236" "\377\377\377\0\2\0\0\0\274\0\0\0""6\236\377\377\377\0\2\0\0\0\274\0\0" "\0""6\236\377\377\377\0\2\0\0\0\274\0\0\0""6\236\377\377\377\0\2\0\0" "\0\274\0\0\0""6\236\377\377\377\0\2\0\0\0\274\0\0\0""6\236\377\377\377" "\0\2\0\0\0\274\0\0\0""6\236\377\377\377\0\2\0\0\0\274\0\0\0""6\236\377" "\377\377\0\2\0\0\0\274\0\0\0""6\236\377\377\377\0\2\0\0\0\274\0\0\0""6" "\236\377\377\377\0\2\0\0\0\274\0\0\0""6\236\377\377\377\0\2\0\0\0\274" "\0\0\0""6\236\377\377\377\0\2\0\0\0\274\0\0\0""6\227\377\377\377\0\3" "\0\0\0\4\0\0\0\33\0\0\0\6\204\377\377\377\0\2\0\0\0\274\0\0\0""6\227" "\377\377\377\0\3\0\0\0(\0\0\0\377\0\0\0""6\204\377\377\377\0\2\0\0\0" "\274\0\0\0""6\227\377\377\377\0\3\0\0\0(\0\0\0\377\0\0\0""6\204\377\377" "\377\0\2\0\0\0\274\0\0\0""6\227\377\377\377\0\3\0\0\0(\0\0\0\377\0\0" "\0""6\204\377\377\377\0\2\0\0\0\274\0\0\0""6\227\377\377\377\0\3\0\0" "\0(\0\0\0\377\0\0\0""6\204\377\377\377\0\2\0\0\0\274\0\0\0""6\227\377" "\377\377\0\3\0\0\0(\0\0\0\377\0\0\0""6\204\377\377\377\0\2\0\0\0\274" "\0\0\0""6\222\377\377\377\0\1\0\0\0c\204\0\0\0\274\3\0\0\0\306\0\0\0" "\377\0\0\0\312\204\0\0\0\274\2\0\0\0\355\0\0\0""6\222\377\377\377\0\1" "\0\0\0U\204\0\0\0\241\3\0\0\0\260\0\0\0\377\0\0\0\265\205\0\0\0\241\1" "\0\0\0\"\227\377\377\377\0\3\0\0\0(\0\0\0\377\0\0\0""6\235\377\377\377" "\0\3\0\0\0(\0\0\0\377\0\0\0""6\235\377\377\377\0\3\0\0\0(\0\0\0\377\0" "\0\0""6\235\377\377\377\0\3\0\0\0(\0\0\0\377\0\0\0""6\235\377\377\377" "\0\3\0\0\0(\0\0\0\377\0\0\0""6\217\377\377\377\0"}; nted-1.10.18/icons/tremolo_icon3.h0000664001041000007640000000645111520270060013573 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (tremolo_icon3) #endif #ifdef __GNUC__ static const guint8 tremolo_icon3[] __attribute__ ((__aligned__ (4))) = #else static const guint8 tremolo_icon3[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1023) */ "\0\0\4\27" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\321\377\377\377\0\1\0\0\0\1\237\377\377\377\0\1\0\0\0\1\235\377\377" "\377\0\2\0\0\0\37\0\0\0\363\236\377\377\377\0\4\0\0\0\37\0\0\0\355\377" "\377\377\0\0\0\0\1\202\377\377\377\0\1\0\0\0\1\231\377\377\377\0\10\0" "\0\0\37\0\0\0\354\377\377\377\0\0\0\0\4\0\0\0%\0\0\0\223\377\377\377" "\0\0\0\0\1\215\377\377\377\0\1\0\0\0\1\202\377\377\377\0\1\0\0\0\1\202" "\377\377\377\0\11\0\0\0\1\0\0\0\2\0\0\0#\0\0\0`\0\0\0v\0\0\0\215\0\0" "\0\364\0\0\0\257\0\0\0\364\202\0\0\0\377\1\0\0\0\4\217\377\377\377\0" "\202\0\0\0\1\204\377\377\377\0\4\0\0\0\16\0\0\0y\0\0\0\332\0\0\0\355" "\205\0\0\0\377\1\0\0\0\370\217\377\377\377\0\1\0\0\0\1\202\377\377\377" "\0\1\0\0\0\1\202\377\377\377\0\2\0\0\0\1\0\0\0J\206\0\0\0\377\5\0\0\0" "\347\0\0\0\240\0\0\0x\377\377\377\0\0\0\0\1\224\377\377\377\0\13\0\0" "\0C\0\0\0\374\0\0\0\377\0\0\0\362\0\0\0\344\0\0\0\376\0\0\0\13\0\0\0" "\10\0\0\0\3\377\377\377\0\0\0\0\1\225\377\377\377\0\12\0\0\0""2\0\0\0" "\222\0\0\0_\0\0\0\13\0\0\0\15\0\0\0\353\377\377\377\0\0\0\0)\0\0\0P\0" "\0\0|\232\377\377\377\0\6\0\0\0K\0\0\0\365\0\0\0\315\0\0\0\361\0\0\0" "\376\0\0\0\371\225\377\377\377\0\5\0\0\0\1\0\0\0\11\0\0\0^\0\0\0\272" "\0\0\0\371\205\0\0\0\377\1\0\0\0\356\226\377\377\377\0\2\0\0\0D\0\0\0" "\375\205\0\0\0\377\4\0\0\0\366\0\0\0\273\0\0\0=\0\0\0\1\224\377\377\377" "\0\10\0\0\0\1\0\0\0G\0\0\0\375\0\0\0\376\0\0\0\346\0\0\0\301\0\0\0\376" "\0\0\0+\203\377\377\377\0\1\0\0\0\1\225\377\377\377\0\12\0\0\0%\0\0\0" "e\0\0\0.\0\0\0\32\0\0\0\37\0\0\0\354\377\377\377\0\0\0\0\17\0\0\0p\0" "\0\0\305\230\377\377\377\0\10\0\0\0\5\0\0\0\32\0\0\0B\0\0\0\356\0\0\0" "\341\0\0\0\372\0\0\0\377\0\0\0\365\226\377\377\377\0\4\0\0\0\35\0\0\0" "\226\0\0\0\270\0\0\0\357\206\0\0\0\377\226\377\377\377\0\2\0\0\0I\0\0" "\0\376\205\0\0\0\377\3\0\0\0\357\0\0\0\305\0\0\0K\215\377\377\377\0\203" "\0\0\0\1\4\0\0\0\2\0\0\0\4\0\0\0\2\0\0\0\1\202\377\377\377\0\1\0\0\0" "V\202\0\0\0\377\7\0\0\0\365\0\0\0\271\0\0\0\365\0\0\0\\\0\0\0b\0\0\0" "6\0\0\0\6\225\377\377\377\0\7\0\0\0\1\0\0\0""1\0\0\0\215\0\0\0\34\377" "\377\377\0\0\0\0\34\0\0\0\354\203\377\377\377\0\1\0\0\0\1\232\377\377" "\377\0\2\0\0\0\25\0\0\0\354\231\377\377\377\0\7\0\0\0\1\0\0\0\12\0\0" "\0~\0\0\0\340\0\0\0\364\0\0\0\263\0\0\0\356\231\377\377\377\0\2\0\0\0" "[\0\0\0\355\205\0\0\0\377\227\377\377\377\0\3\0\0\0\1\0\0\0O\0\0\0\374" "\205\0\0\0\377\3\0\0\0\357\377\377\377\0\0\0\0\1\217\377\377\377\0\204" "\0\0\0\1\202\377\377\377\0\2\0\0\0\5\0\0\0\276\206\0\0\0\377\2\0\0\0" "\325\0\0\0\5\220\377\377\377\0\204\0\0\0\1\203\377\377\377\0\206\0\0" "\0\377\3\0\0\0\365\0\0\0(\0\0\0\1\227\377\377\377\0\1\0\0\0\352\204\0" "\0\0\377\2\0\0\0\346\0\0\0Q\231\377\377\377\0\10\0\0\0""3\0\0\0\322\0" "\0\0\377\0\0\0\342\0\0\0v\0\0\0\24\377\377\377\0\0\0\0\1\317\377\377" "\377\0"}; nted-1.10.18/icons/grace_sixth_icon.png0000664001041000007640000000074011520267227014672 00000000000000‰PNG  IHDR szzôbKGDÿÿÿ ½§“ pHYs  d_‘tIME×  &txÔdmIDATXÃí—±KBQ‡¿“OS"*#—B—Ü‚‚æˆÀ)j¨­¦† ©¥ÅúÚ¢©¥†¶††° Ij0j¦Œà¥ï´¨X8ø(ß%ðÀY.ç^>ÎýýÎ努b2z0]€.Àÿ>™—€,›ë€â§Â’9€*Š2+’2àCxgÏœ…"JR‚²a —-|œQf_†%X'Dš ÞwÀ¡Ä-qv9%À½DdÜûATa†s^È{ $ÙdBfFqM„䈸ÙfýÉp%Æ OÀ+Û ’ðÖ‚­y-kEqã“þŽȤdF¬Æ$¬G€clæ: a™‘ E²\rÄiªM~rîÄ«ÚvfáÐoégµQ#\`±Óî™–K¯ D¬>bq×dÇi rÝÂ×jëUSG¥sWcá¦Öú|ºÙß*ÅíÏH¢’ ÈA ú¦Ù_¿äݯYÀ4ÀáÁú¤¤ÃIEND®B`‚nted-1.10.18/icons/drum7_icon.h0000664001041000007640000000510311520267227013071 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum7_icon) #endif #ifdef __GNUC__ static const guint8 drum7_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum7_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (755) */ "\0\0\3\13" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\224\377\377\377\0\2\0\0\0\13\0\0\0/\236\377\377\377\0\2\0\0\0/\0\0\0" "\317\236\377\377\377\0\2\0\0\0/\0\0\0\317\236\377\377\377\0\2\0\0\0/" "\0\0\0\317\236\377\377\377\0\2\0\0\0/\0\0\0\317\236\377\377\377\0\2\0" "\0\0/\0\0\0\317\236\377\377\377\0\2\0\0\0/\0\0\0\317\236\377\377\377" "\0\2\0\0\0/\0\0\0\317\236\377\377\377\0\2\0\0\0/\0\0\0\317\236\377\377" "\377\0\2\0\0\0/\0\0\0\317\236\377\377\377\0\2\0\0\0/\0\0\0\317\236\377" "\377\377\0\2\0\0\0/\0\0\0\317\236\377\377\377\0\2\0\0\0/\0\0\0\317\236" "\377\377\377\0\2\0\0\0/\0\0\0\317\236\377\377\377\0\2\0\0\0/\0\0\0\317" "\236\377\377\377\0\2\0\0\0/\0\0\0\317\236\377\377\377\0\2\0\0\0/\0\0" "\0\317\236\377\377\377\0\2\0\0\0/\0\0\0\317\236\377\377\377\0\2\0\0\0" "/\0\0\0\317\236\377\377\377\0\2\0\0\0/\0\0\0\317\236\377\377\377\0\2" "\0\0\0/\0\0\0\317\224\377\377\377\0\2\0\0\0\10\0\0\0\1\210\377\377\377" "\0\2\0\0\0/\0\0\0\317\223\377\377\377\0\4\0\0\0\2\0\0\0\273\0\0\0\226" "\0\0\0\1\204\377\377\377\0\5\0\0\0\14\0\0\0\270\0\0\0E\0\0\0/\0\0\0\317" "\224\377\377\377\0\4\0\0\0g\0\0\0\375\0\0\0\226\0\0\0\1\202\377\377\377" "\0\6\0\0\0\14\0\0\0\302\0\0\0\371\0\0\0P\0\0\0/\0\0\0\317\225\377\377" "\377\0\13\0\0\0g\0\0\0\375\0\0\0\226\0\0\0\1\0\0\0\14\0\0\0\302\0\0\0" "\371\0\0\0Q\377\377\377\0\0\0\0/\0\0\0\317\226\377\377\377\0\6\0\0\0" "g\0\0\0\375\0\0\0\231\0\0\0\302\0\0\0\371\0\0\0Q\202\377\377\377\0\2" "\0\0\0/\0\0\0\317\227\377\377\377\0\4\0\0\0q\0\0\0\377\0\0\0\375\0\0" "\0R\203\377\377\377\0\2\0\0\0/\0\0\0\317\226\377\377\377\0\6\0\0\0\14" "\0\0\0\302\0\0\0\373\0\0\0\376\0\0\0\226\0\0\0\1\202\377\377\377\0\2" "\0\0\0\1\0\0\0\4\225\377\377\377\0\10\0\0\0\14\0\0\0\302\0\0\0\372\0" "\0\0Q\0\0\0g\0\0\0\376\0\0\0\226\0\0\0\1\227\377\377\377\0\4\0\0\0\14" "\0\0\0\302\0\0\0\372\0\0\0Q\202\377\377\377\0\4\0\0\0g\0\0\0\376\0\0" "\0\226\0\0\0\1\225\377\377\377\0\4\0\0\0\11\0\0\0\302\0\0\0\372\0\0\0" "Q\204\377\377\377\0\3\0\0\0g\0\0\0\376\0\0\0\213\225\377\377\377\0\3" "\0\0\0\1\0\0\0\221\0\0\0Q\206\377\377\377\0\2\0\0\0d\0\0\0""7\214\377" "\377\377\0"}; nted-1.10.18/icons/comm_icon.png0000664001041000007640000000162611520267227013331 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs  ÒÝ~ütIMEÙ  )þhHcIDATXÃíW=K+A=YSD~Q̪„hcÀF+ AQmC M­–þí­6AÔÆö‚…6Â*¦1H¬è¢ìn0f÷¼jƒûâÛ$†ÇãË2wfî93sçÜIâÿ¸üø? ¸Åm«1íý.øÃÃîïïaHÂçó!cpp$áñxc>׿EÀv¢ë:2™ ÎÎÎpuu…··7ƒA„B!$ ¬¯¯#Ã4M‚ðGpÛqÓE×unnn2%Iâáá!ooo)Ë2s¹766¸´´Ä|>O’´,ËÕgS,Ë¢¦iL¥R877GEQêú‹E& NLL°T*5$Ñô ìîî0 òòòÒá\UUîììpdd„À­­­†~Ñhæ$yssÃÞÞÞééi–ËåZ¿jµÊt:]k·¿©©)>==¹p=†vðìííAUÕš=ÃçóÕêù|GGGuã Ã@¥RiOEA.—sØDQ¬#úU¤÷÷÷Ãï÷·G@–e;a“²mædë«M±Að$©ÄF7“JT»¢hEöF´ß[§,N!ì¶ËYy/þ­æMŸË >éø·9AicFK”5¸ýYe PEuÖ%¥¬Éc‡²¸kŒƒæº`bê„mz4XšUÉ–Bw¡öïì³À5íz=òÒiýV)}çS­Mm›í aÑ1Æ!—sò:T›`¾ ñ‡•·Y‡jÝjt«Qo†à^’ïûÝÙëÀ$e³•|t^TÿSö*¯Pdۜęd^É%#Yñ*xìˆgÈý°_ð!¶Çæ¿Û„Ó­cŒg5#ˆ1~ú±XEOØÄlñÜ[m²ªV¼G_Ou™`K˜Acá5`¾ð{ʬ•(žªC¸I¼Åb¯õÄ;EëÇzÕ†pâ¼Å ¦Ñ–øsźxÝ.s ްc¼HÚñVxÅõCXPÞ•8ú#´$y+8Àš ¯;ØÃT©(çðøMñ+Œþgúß¾ú=!t`}Ç=N°‹­ãC-^o`Ž?ð ]–2IEND®B`‚nted-1.10.18/icons/flat_icon.h0000664001041000007640000000403411520270060012750 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (flat_icon) #endif #ifdef __GNUC__ static const guint8 flat_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 flat_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (506) */ "\0\0\2\22" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\377\377\377\377\0\251\377\377\377\0\1\0\0\0\377\237\377\377\377\0\1" "\0\0\0\377\237\377\377\377\0\1\0\0\0\377\237\377\377\377\0\1\0\0\0\377" "\236\377\377\377\0\2\0\0\0\0\0\0\0\377\236\377\377\377\0\2\0\0\0\0\0" "\0\0\377\236\377\377\377\0\2\0\0\0\0\0\0\0\377\236\377\377\377\0\2\0" "\0\0\0\0\0\0\377\236\377\377\377\0\2\0\0\0\0\0\0\0\377\236\377\377\377" "\0\2\0\0\0\0\0\0\0\377\236\377\377\377\0\3\0\0\0\0\0\0\0\377\377\377" "\377\0\205\0\0\0\377\230\377\377\377\0\1\0\0\0\0\210\0\0\0\377\227\377" "\377\377\0\1\0\0\0\0\203\0\0\0\377\202\377\377\377\0\204\0\0\0\377\226" "\377\377\377\0\1\0\0\0\0\202\0\0\0\377\204\377\377\377\0\204\0\0\0\377" "\225\377\377\377\0\2\0\0\0\0\0\0\0\377\205\377\377\377\0\204\0\0\0\377" "\225\377\377\377\0\2\0\0\0\0\0\0\0\377\205\0\0\0\0\204\0\0\0\377\225" "\377\377\377\0\3\0\0\0\0\0\0\0\377\0\0\0\0\202\377\377\377\0\1\0\0\0" "\0\204\0\0\0\377\226\377\377\377\0\2\0\0\0\0\0\0\0\377\203\377\377\377" "\0\204\0\0\0\377\1\0\0\0\0\226\377\377\377\0\2\0\0\0\0\0\0\0\377\202" "\377\377\377\0\204\0\0\0\377\202\0\0\0\0\226\377\377\377\0\3\0\0\0\0" "\0\0\0\377\377\377\377\0\204\0\0\0\377\203\0\0\0\0\226\377\377\377\0" "\1\0\0\0\0\204\0\0\0\377\204\0\0\0\0\227\377\377\377\0\1\0\0\0\0\202" "\0\0\0\377\1\377\377\377\0\204\0\0\0\0\230\377\377\377\0\3\0\0\0\0\0" "\0\0\377\377\377\377\0\204\0\0\0\0\231\377\377\377\0\2\0\0\0\0\377\377" "\377\0\204\0\0\0\0\232\377\377\377\0\204\0\0\0\0\234\377\377\377\0\202" "\0\0\0\0\236\377\377\377\0\1\0\0\0\0\230\377\377\377\0"}; nted-1.10.18/icons/backgroundh2.h0000664001041000007640000022170011520270060013364 00000000000000/* GdkPixbuf RGB C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (backgroundh2) #endif #ifdef __GNUC__ static const guint8 backgroundh2[] __attribute__ ((__aligned__ (4))) = #else static const guint8 backgroundh2[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (18153) */ "\0\0G\1" /* pixdata_type (0x2010001) */ "\2\1\0\1" /* rowstride (768) */ "\0\0\3\0" /* width (256) */ "\0\0\1\0" /* height (128) */ "\0\0\0\200" /* pixel_data: */ "\1w\206\243\202v\205\243\206v\206\243\210w\206\243\221w\206\244\204w" "\207\244\204x\207\244\213x\207\245\203x\210\245\203y\210\245\206y\210" "\246\2~\214\251\206\222\256\204\207\223\256\204\207\223\257\202\210\223" "\257\204\210\224\257\204\210\224\260\202\211\224\260\204\211\225\260" "\203\211\225\261\202\212\225\261\203\212\226\261\204\212\226\262\202" "\213\226\262\203\213\227\262\203\213\227\263\202\214\227\263\203\214" "\230\263\203\214\230\264\202\215\230\264\203\215\231\264\203\215\231" "\265\202\216\231\265\203\216\232\265\204\216\232\266\202\217\232\266" "\203\217\233\266\204\217\233\267\202\220\233\267\203\220\234\267\205" "\220\234\270\202\221\234\270\205\221\235\270\205\221\235\271\204\222" "\235\271\205\222\236\271\2\224\237\273\234\246\300\205\240\250\302\231" "\240\251\302\210\240\250\302\210\237\250\302\203\237\250\301\205\237" "\247\301\205\236\247\301\203\236\247\300\203\236\246\300\205\235\246" "\300\202\235\246\277\203\235\245\277\4\236\246\300~\216\254%Jt\262\262" "\307\210\262\262\306\215\262\262\307\207\263\263\307\211\263\263\310" "\205\264\264\310\207\264\264\311\205\265\265\311\205\265\265\312\204" "\266\266\312\202\266\266\313\1\267\267\314\203\267\267\313\205\267\267" "\314\202\270\270\314\205\270\270\315\203\271\271\315\204\271\271\316" "\202\272\272\316\204\272\272\317\202\273\273\317\204\273\273\320\203" "\274\274\320\203\274\274\321\202\275\275\321\204\275\275\322\202\276" "\276\322\204\276\276\323\202\277\277\323\204\277\277\324\202\300\300" "\324\204\300\300\325\202\301\301\325\204\301\301\326\202\302\302\326" "\204\302\302\327\203\303\303\327\204\303\303\330\203\304\304\330\205" "\304\304\331\204\305\305\331\206\305\305\332\204\306\306\332\204\306" "\306\333\3\305\305\332\306\306\333\305\305\332\221\306\306\332\1\306" "\306\333\217\306\306\332\211\305\305\332\205\305\305\331\206\304\304" "\331\205\304\304\330\205\303\303\330\203\303\303\327\205\302\302\327" "\203\302\302\326\4\303\303\330\231\242\275(Lv\262\262\307\212\261\261" "\306\211\262\262\306\212\262\262\307\207\263\263\307\207\263\263\310" "\205\264\264\310\206\264\264\311\205\265\265\311\205\265\265\312\204" "\266\266\312\204\266\266\313\203\267\267\313\205\267\267\314\203\270" "\270\314\204\270\270\315\203\271\271\315\203\271\271\316\203\272\272" "\316\203\272\272\317\203\273\273\317\203\273\273\320\203\274\274\320" "\203\274\274\321\203\275\275\321\203\275\275\322\203\276\276\322\203" "\276\276\323\203\277\277\323\203\277\277\324\203\300\300\324\203\300" "\300\325\203\301\301\325\204\301\301\326\203\302\302\326\204\302\302" "\327\203\303\303\327\205\303\303\330\204\304\304\330\206\304\304\331" "\205\305\305\331\212\305\305\332\231\306\306\332\212\305\305\332\206" "\305\305\331\207\304\304\331\204\304\304\330\205\303\303\330\204\303" "\303\327\205\302\302\327\203\302\302\326\5\301\301\326\303\303\330\231" "\242\275(Lv\262\262\307\212\261\261\306\212\262\262\306\212\262\262\307" "\206\263\263\307\210\263\263\310\205\264\264\310\206\264\264\311\204" "\265\265\311\205\265\265\312\204\266\266\312\204\266\266\313\204\267" "\267\313\204\267\267\314\203\270\270\314\204\270\270\315\203\271\271" "\315\204\271\271\316\202\272\272\316\204\272\272\317\203\273\273\317" "\203\273\273\320\203\274\274\320\203\274\274\321\203\275\275\321\203" "\275\275\322\203\276\276\322\203\276\276\323\203\277\277\323\203\277" "\277\324\203\300\300\324\203\300\300\325\203\301\301\325\204\301\301" "\326\203\302\302\326\204\302\302\327\204\303\303\327\204\303\303\330" "\204\304\304\330\206\304\304\331\206\305\305\331\215\305\305\332\216" "\306\306\332\216\305\305\332\206\305\305\331\207\304\304\331\204\304" "\304\330\206\303\303\330\204\303\303\327\204\302\302\327\204\302\302" "\326\202\301\301\326\7\303\303\327\231\242\274(Lv\262\262\307\261\261" "\306\262\262\306\260\260\304\213\261\261\306\212\262\262\306\211\262" "\262\307\207\263\263\307\207\263\263\310\206\264\264\310\206\264\264" "\311\204\265\265\311\205\265\265\312\204\266\266\312\205\266\266\313" "\203\267\267\313\204\267\267\314\204\270\270\314\203\270\270\315\204" "\271\271\315\203\271\271\316\203\272\272\316\204\272\272\317\203\273" "\273\317\207\273\273\320\203\274\274\320\204\274\274\321\203\275\275" "\321\203\275\275\322\204\276\276\322\203\276\276\323\204\277\277\323" "\204\277\277\324\203\300\300\324\205\300\300\325\204\301\301\325\205" "\301\301\326\206\302\302\326\207\302\302\327\212\303\303\327\227\303" "\303\330\212\303\303\327\210\302\302\327\206\302\302\326\206\301\301" "\326\203\301\301\325\1\300\300\324\205\277\277\324\202\277\277\323\1" "\301\301\325\204\301\301\326\11\303\303\327\231\242\274(Lv\262\262\307" "\261\261\306\257\257\303\241\241\264\247\247\272\260\260\305\225\260" "\260\304\223\260\260\305\217\261\261\305\214\261\261\306\213\262\262" "\306\210\262\262\307\212\263\263\307\210\263\263\310\202\264\264\310" "\1\263\263\310\211\263\263\307\212\263\263\310\215\264\264\310\215\264" "\264\311\227\265\265\311\234\265\265\312\232\265\265\311\205\264\264" "\311\1\263\263\310\206\263\263\307\4\267\267\313\276\276\323\300\300" "\326\300\300\325\202\301\301\326\13\302\302\327\231\242\274(Lv\262\262" "\306\261\261\306\255\255\301\217\217\240\215\215\236\242\242\265\255" "\255\301\257\257\304\377\257\257\303\357\257\257\303\3\261\261\306\272" "\272\317\276\276\324\202\271\271\316\16\300\300\325\301\301\325\302\302" "\327\230\242\274(Lv\262\262\306\261\261\306\256\256\302\214\214\234z" "z\210\205\205\224\233\233\255\254\254\300\257\257\304\377\257\257\303" "\355\257\257\303\17\261\261\306\270\270\315\272\272\320\263\263\310\254" "\254\300\262\262\306\277\277\324\301\301\325\302\302\327\230\242\274" "(Kv\262\262\306\261\261\306\256\256\302\215\215\235\202xx\206\4\202\202" "\221\225\225\247\247\247\272\257\257\304\377\257\257\303\353\257\257" "\303\20\261\261\306\266\266\313\265\265\312\256\256\303\252\252\276\251" "\251\274\262\262\306\277\277\324\300\300\325\302\302\327\230\242\274" "'Kv\262\262\306\261\261\306\256\256\302\214\214\235\203xx\206\4||\213" "\215\215\236\244\244\270\256\256\303\335\257\257\303\242\257\257\304" "\350\260\260\304\202\260\260\305\3\261\261\306\260\260\304\253\253\277" "\203\251\251\275\12\262\262\306\277\277\324\300\300\325\302\302\326\230" "\241\274'Kv\262\262\306\261\261\306\256\256\302\214\214\235\204xx\206" "\3{{\211\214\214\234\250\250\274\213\260\260\305\220\261\261\305\214" "\261\261\306\212\262\262\306\210\262\262\307\210\263\263\307\207\263" "\263\310\207\264\264\310\206\264\264\311\206\265\265\311\206\265\265" "\312\206\266\266\312\205\266\266\313\206\267\267\313\206\267\267\314" "\206\270\270\314\2\270\270\315\271\271\316\204\272\272\316\206\272\272" "\317\207\273\273\317\207\273\273\320\212\274\274\320\254\274\274\321" "\212\274\274\320\211\273\273\320\207\273\273\317\2\265\265\311\254\254" "\300\205\251\251\275\12\262\262\306\277\277\324\300\300\325\302\302\326" "\230\241\274'Kv\262\262\306\261\261\306\256\256\302\214\214\235\205x" "x\206\2\202\202\221\246\246\271\203\261\261\306\212\262\262\306\212\262" "\262\307\207\263\263\307\207\263\263\310\205\264\264\310\206\264\264" "\311\205\265\265\311\205\265\265\312\204\266\266\312\204\266\266\313" "\204\267\267\313\204\267\267\314\203\270\270\314\204\270\270\315\204" "\271\271\315\203\271\271\316\203\272\272\316\204\272\272\317\203\273" "\273\317\203\273\273\320\203\274\274\320\204\274\274\321\203\275\275" "\321\203\275\275\322\203\276\276\322\204\276\276\323\203\277\277\323" "\203\277\277\324\203\300\300\324\204\300\300\325\203\301\301\325\205" "\301\301\326\203\302\302\326\206\302\302\327\205\303\303\327\207\303" "\303\330\212\304\304\330\226\304\304\331\211\304\304\330\211\303\303" "\330\205\303\303\327\206\302\302\327\204\302\302\326\204\301\301\326" "\2\270\270\314\252\252\276\205\251\251\275\12\262\262\306\277\277\323" "\300\300\325\301\301\326\230\241\273'Kv\262\262\306\261\261\306\256\256" "\302\214\214\235\205xx\206\2\202\202\221\246\246\271\203\261\261\306" "\212\262\262\306\212\262\262\307\207\263\263\307\207\263\263\310\205" "\264\264\310\206\264\264\311\205\265\265\311\205\265\265\312\204\266" "\266\312\205\266\266\313\203\267\267\313\204\267\267\314\204\270\270" "\314\204\270\270\315\203\271\271\315\203\271\271\316\203\272\272\316" "\204\272\272\317\203\273\273\317\204\273\273\320\202\274\274\320\204" "\274\274\321\203\275\275\321\203\275\275\322\203\276\276\322\204\276" "\276\323\203\277\277\323\204\277\277\324\203\300\300\324\204\300\300" "\325\204\301\301\325\204\301\301\326\204\302\302\326\206\302\302\327" "\206\303\303\327\211\303\303\330\240\304\304\330\211\303\303\330\206" "\303\303\327\207\302\302\327\204\302\302\326\206\301\301\326\2\270\270" "\314\252\252\276\205\251\251\275\12\262\262\306\277\277\323\300\300\324" "\301\301\326\230\241\273'Kv\262\262\306\261\261\306\256\256\302\214\214" "\235\205xx\206\2\202\202\221\246\246\271\203\261\261\306\212\262\262" "\306\212\262\262\307\207\263\263\307\210\263\263\310\205\264\264\310" "\206\264\264\311\204\265\265\311\206\265\265\312\203\266\266\312\205" "\266\266\313\204\267\267\313\204\267\267\314\203\270\270\314\204\270" "\270\315\203\271\271\315\204\271\271\316\203\272\272\316\204\272\272" "\317\203\273\273\317\203\273\273\320\203\274\274\320\204\274\274\321" "\203\275\275\321\203\275\275\322\203\276\276\322\204\276\276\323\203" "\277\277\323\204\277\277\324\203\300\300\324\204\300\300\325\204\301" "\301\325\205\301\301\326\204\302\302\326\206\302\302\327\206\303\303" "\327\213\303\303\330\227\304\304\330\213\303\303\330\207\303\303\327" "\207\302\302\327\204\302\302\326\206\301\301\326\202\301\301\325\2\270" "\270\314\252\252\276\205\251\251\275\12\262\262\306\277\277\323\300\300" "\324\301\301\326\227\241\273'Ku\262\262\306\261\261\306\256\256\302\214" "\214\235\205xx\206\2\202\202\221\246\246\271\204\261\261\306\212\262" "\262\306\212\262\262\307\206\263\263\307\210\263\263\310\205\264\264" "\310\206\264\264\311\205\265\265\311\205\265\265\312\204\266\266\312" "\205\266\266\313\203\267\267\313\204\267\267\314\204\270\270\314\204" "\270\270\315\203\271\271\315\204\271\271\316\203\272\272\316\203\272" "\272\317\203\273\273\317\204\273\273\320\203\274\274\320\203\274\274" "\321\203\275\275\321\204\275\275\322\203\276\276\322\204\276\276\323" "\203\277\277\323\204\277\277\324\203\300\300\324\205\300\300\325\203" "\301\301\325\206\301\301\326\204\302\302\326\207\302\302\327\206\303" "\303\327\247\303\303\330\207\303\303\327\207\302\302\327\205\302\302" "\326\206\301\301\326\204\301\301\325\2\267\267\314\252\252\276\205\251" "\251\275\12\262\262\306\276\276\323\277\277\324\301\301\326\227\241\273" "'Ku\262\262\306\261\261\306\256\256\302\214\214\235\205xx\206\2\202\202" "\221\246\246\271\204\261\261\306\212\262\262\306\212\262\262\307\207" "\263\263\307\207\263\263\310\206\264\264\310\206\264\264\311\204\265" "\265\311\205\265\265\312\204\266\266\312\205\266\266\313\204\267\267" "\313\204\267\267\314\203\270\270\314\204\270\270\315\203\271\271\315" "\204\271\271\316\203\272\272\316\204\272\272\317\203\273\273\317\204" "\273\273\320\203\274\274\320\203\274\274\321\203\275\275\321\204\275" "\275\322\203\276\276\322\204\276\276\323\203\277\277\323\204\277\277" "\324\203\300\300\324\205\300\300\325\204\301\301\325\205\301\301\326" "\205\302\302\326\207\302\302\327\210\303\303\327\237\303\303\330\210" "\303\303\327\210\302\302\327\205\302\302\326\206\301\301\326\206\301" "\301\325\2\267\267\314\252\252\276\205\251\251\275\12\262\262\306\276" "\276\323\277\277\324\301\301\325\227\241\273'Ku\262\262\306\261\261\306" "\256\256\302\214\214\235\205xx\206\2\202\202\221\246\246\271\205\261" "\261\306\212\262\262\306\212\262\262\307\206\263\263\307\210\263\263" "\310\205\264\264\310\206\264\264\311\205\265\265\311\205\265\265\312" "\204\266\266\312\205\266\266\313\203\267\267\313\204\267\267\314\204" "\270\270\314\204\270\270\315\203\271\271\315\204\271\271\316\203\272" "\272\316\204\272\272\317\203\273\273\317\203\273\273\320\203\274\274" "\320\204\274\274\321\203\275\275\321\204\275\275\322\203\276\276\322" "\204\276\276\323\203\277\277\323\204\277\277\324\204\300\300\324\204" "\300\300\325\204\301\301\325\206\301\301\326\205\302\302\326\210\302" "\302\327\212\303\303\327\225\303\303\330\212\303\303\327\211\302\302" "\327\205\302\302\326\206\301\301\326\205\301\301\325\203\300\300\325" "\2\267\267\313\252\252\276\205\251\251\275\12\262\262\306\276\276\323" "\277\277\324\301\301\325\227\241\273'Ku\262\262\306\261\261\306\256\256" "\302\214\214\235\205xx\206\2\202\202\221\246\246\271\205\261\261\306" "\212\262\262\306\213\262\262\307\206\263\263\307\210\263\263\310\205" "\264\264\310\206\264\264\311\205\265\265\311\205\265\265\312\204\266" "\266\312\204\266\266\313\204\267\267\313\204\267\267\314\204\270\270" "\314\204\270\270\315\203\271\271\315\204\271\271\316\203\272\272\316" "\204\272\272\317\203\273\273\317\203\273\273\320\203\274\274\320\204" "\274\274\321\203\275\275\321\204\275\275\322\203\276\276\322\204\276" "\276\323\204\277\277\323\204\277\277\324\204\300\300\324\204\300\300" "\325\205\301\301\325\206\301\301\326\206\302\302\326\212\302\302\327" "\235\303\303\327\212\302\302\327\210\302\302\326\206\301\301\326\205" "\301\301\325\205\300\300\325\2\267\267\313\252\252\276\205\251\251\275" "\12\262\262\306\276\276\322\277\277\324\300\300\325\227\240\273'Ku\262" "\262\306\261\261\306\256\256\302\214\214\235\205xx\206\2\202\202\221" "\246\246\271\205\261\261\306\213\262\262\306\213\262\262\307\207\263" "\263\307\207\263\263\310\206\264\264\310\206\264\264\311\204\265\265" "\311\205\265\265\312\204\266\266\312\205\266\266\313\204\267\267\313" "\204\267\267\314\203\270\270\314\204\270\270\315\204\271\271\315\203" "\271\271\316\204\272\272\316\203\272\272\317\203\273\273\317\204\273" "\273\320\203\274\274\320\204\274\274\321\203\275\275\321\204\275\275" "\322\203\276\276\322\205\276\276\323\203\277\277\323\205\277\277\324" "\204\300\300\324\205\300\300\325\205\301\301\325\206\301\301\326\210" "\302\302\326\245\302\302\327\210\302\302\326\212\301\301\326\205\301" "\301\325\207\300\300\325\2\267\267\313\252\252\276\205\251\251\275\12" "\261\261\305\276\276\322\277\277\323\300\300\325\227\240\273'Ku\262\262" "\306\261\261\306\256\256\302\214\214\235\205xx\206\2\202\202\221\246" "\246\271\206\261\261\306\211\262\262\306\215\262\262\307\207\263\263" "\307\207\263\263\310\205\264\264\310\206\264\264\311\205\265\265\311" "\205\265\265\312\204\266\266\312\205\266\266\313\203\267\267\313\205" "\267\267\314\203\270\270\314\204\270\270\315\203\271\271\315\204\271" "\271\316\204\272\272\316\203\272\272\317\204\273\273\317\203\273\273" "\320\203\274\274\320\204\274\274\321\204\275\275\321\203\275\275\322" "\204\276\276\322\204\276\276\323\204\277\277\323\204\277\277\324\204" "\300\300\324\206\300\300\325\205\301\301\325\210\301\301\326\211\302" "\302\326\232\302\302\327\212\302\302\326\214\301\301\326\205\301\301" "\325\206\300\300\325\203\300\300\324\2\267\267\313\252\252\276\205\251" "\251\275\12\261\261\305\276\276\322\277\277\323\300\300\325\227\240\272" "'Ku\262\262\306\261\261\306\255\255\302\214\214\235\205xx\206\2\202\202" "\221\246\246\271\206\261\261\306\211\262\262\306\216\262\262\307\206" "\263\263\307\210\263\263\310\205\264\264\310\206\264\264\311\204\265" "\265\311\206\265\265\312\204\266\266\312\204\266\266\313\204\267\267" "\313\204\267\267\314\204\270\270\314\204\270\270\315\203\271\271\315" "\204\271\271\316\203\272\272\316\204\272\272\317\203\273\273\317\204" "\273\273\320\203\274\274\320\204\274\274\321\203\275\275\321\205\275" "\275\322\203\276\276\322\204\276\276\323\204\277\277\323\205\277\277" "\324\204\300\300\324\206\300\300\325\205\301\301\325\211\301\301\326" "\215\302\302\326\213\302\302\327\216\302\302\326\216\301\301\326\205" "\301\301\325\206\300\300\325\205\300\300\324\2\267\267\313\252\252\276" "\205\251\251\275\12\261\261\305\275\275\322\276\276\323\300\300\325\227" "\240\272'Ku\262\262\306\261\261\306\255\255\302\214\214\235\205xx\206" "\2\202\202\221\246\246\271\207\261\261\306\211\262\262\306\215\262\262" "\307\207\263\263\307\207\263\263\310\205\264\264\310\206\264\264\311" "\205\265\265\311\205\265\265\312\204\266\266\312\205\266\266\313\204" "\267\267\313\204\267\267\314\203\270\270\314\205\270\270\315\203\271" "\271\315\204\271\271\316\203\272\272\316\204\272\272\317\203\273\273" "\317\204\273\273\320\203\274\274\320\204\274\274\321\204\275\275\321" "\204\275\275\322\203\276\276\322\205\276\276\323\203\277\277\323\205" "\277\277\324\205\300\300\324\206\300\300\325\206\301\301\325\212\301" "\301\326\236\302\302\326\217\301\301\326\206\301\301\325\206\300\300" "\325\205\300\300\324\202\277\277\324\2\267\267\313\252\252\276\205\251" "\251\275\12\261\261\305\275\275\322\276\276\323\300\300\324\226\240\272" "'Ku\262\262\306\261\261\306\255\255\302\214\214\235\205xx\206\2\202\202" "\221\246\246\271\207\261\261\306\211\262\262\306\215\262\262\307\207" "\263\263\307\207\263\263\310\206\264\264\310\206\264\264\311\204\265" "\265\311\206\265\265\312\204\266\266\312\204\266\266\313\204\267\267" "\313\204\267\267\314\204\270\270\314\204\270\270\315\203\271\271\315" "\204\271\271\316\204\272\272\316\204\272\272\317\203\273\273\317\204" "\273\273\320\203\274\274\320\204\274\274\321\203\275\275\321\205\275" "\275\322\203\276\276\322\205\276\276\323\204\277\277\323\205\277\277" "\324\204\300\300\324\207\300\300\325\207\301\301\325\214\301\301\326" "\223\302\302\326\222\301\301\326\206\301\301\325\207\300\300\325\205" "\300\300\324\204\277\277\324\2\267\267\313\252\252\276\205\251\251\275" "\12\261\261\305\275\275\322\276\276\323\277\277\324\226\240\272'Ku\262" "\262\306\261\261\305\255\255\302\214\214\235\205xx\206\2\202\202\221" "\246\246\271\210\261\261\306\210\262\262\306\214\262\262\307\207\263" "\263\307\210\263\263\310\205\264\264\310\206\264\264\311\205\265\265" "\311\205\265\265\312\204\266\266\312\205\266\266\313\204\267\267\313" "\204\267\267\314\204\270\270\314\204\270\270\315\203\271\271\315\204" "\271\271\316\203\272\272\316\204\272\272\317\204\273\273\317\204\273" "\273\320\203\274\274\320\204\274\274\321\203\275\275\321\205\275\275" "\322\203\276\276\322\205\276\276\323\204\277\277\323\205\277\277\324" "\204\300\300\324\207\300\300\325\207\301\301\325\215\301\301\326\221" "\302\302\326\220\301\301\326\207\301\301\325\207\300\300\325\205\300" "\300\324\206\277\277\324\2\266\266\313\252\252\276\205\251\251\275\12" "\261\261\305\275\275\322\276\276\323\277\277\324\226\240\272'Ku\262\262" "\306\261\261\305\255\255\302\214\214\235\205xx\206\2\202\202\221\246" "\246\271\210\261\261\306\211\262\262\306\213\262\262\307\207\263\263" "\307\210\263\263\310\205\264\264\310\206\264\264\311\205\265\265\311" "\205\265\265\312\204\266\266\312\205\266\266\313\204\267\267\313\204" "\267\267\314\204\270\270\314\204\270\270\315\203\271\271\315\205\271" "\271\316\203\272\272\316\204\272\272\317\203\273\273\317\204\273\273" "\320\203\274\274\320\205\274\274\321\203\275\275\321\204\275\275\322" "\204\276\276\322\204\276\276\323\204\277\277\323\206\277\277\324\205" "\300\300\324\207\300\300\325\207\301\301\325\250\301\301\326\210\301" "\301\325\210\300\300\325\205\300\300\324\206\277\277\324\202\277\277" "\323\2\266\266\313\252\252\276\205\251\251\275\12\261\261\305\275\275" "\321\276\276\322\277\277\324\226\240\272'Ku\262\262\306\261\261\305\255" "\255\302\214\214\235\205xx\206\2\202\202\221\246\246\271\210\261\261" "\306\211\262\262\306\214\262\262\307\206\263\263\307\210\263\263\310" "\206\264\264\310\206\264\264\311\204\265\265\311\206\265\265\312\204" "\266\266\312\205\266\266\313\204\267\267\313\204\267\267\314\204\270" "\270\314\204\270\270\315\203\271\271\315\204\271\271\316\204\272\272" "\316\204\272\272\317\203\273\273\317\204\273\273\320\203\274\274\320" "\205\274\274\321\203\275\275\321\204\275\275\322\204\276\276\322\205" "\276\276\323\204\277\277\323\206\277\277\324\205\300\300\324\207\300" "\300\325\211\301\301\325\240\301\301\326\211\301\301\325\210\300\300" "\325\206\300\300\324\206\277\277\324\204\277\277\323\2\266\266\312\252" "\252\276\205\251\251\275\12\261\261\305\275\275\321\276\276\322\277\277" "\324\226\237\272'Ku\262\262\306\261\261\305\255\255\302\214\214\235\205" "xx\206\2\202\202\221\246\246\271\211\261\261\306\211\262\262\306\213" "\262\262\307\207\263\263\307\210\263\263\310\205\264\264\310\206\264" "\264\311\205\265\265\311\205\265\265\312\204\266\266\312\205\266\266" "\313\204\267\267\313\205\267\267\314\203\270\270\314\205\270\270\315" "\203\271\271\315\204\271\271\316\203\272\272\316\205\272\272\317\203" "\273\273\317\204\273\273\320\203\274\274\320\205\274\274\321\203\275" "\275\321\205\275\275\322\203\276\276\322\205\276\276\323\205\277\277" "\323\206\277\277\324\205\300\300\324\211\300\300\325\213\301\301\325" "\224\301\301\326\213\301\301\325\211\300\300\325\206\300\300\324\207" "\277\277\324\206\277\277\323\2\266\266\312\252\252\276\205\251\251\275" "\12\261\261\305\275\275\321\275\275\322\277\277\324\226\237\271'Ku\262" "\262\306\261\261\305\255\255\302\214\214\235\205xx\206\2\202\202\221" "\246\246\271\211\261\261\306\211\262\262\306\214\262\262\307\206\263" "\263\307\210\263\263\310\206\264\264\310\206\264\264\311\205\265\265" "\311\205\265\265\312\204\266\266\312\205\266\266\313\204\267\267\313" "\204\267\267\314\204\270\270\314\204\270\270\315\204\271\271\315\204" "\271\271\316\203\272\272\316\204\272\272\317\204\273\273\317\204\273" "\273\320\203\274\274\320\205\274\274\321\203\275\275\321\205\275\275" "\322\204\276\276\322\205\276\276\323\205\277\277\323\206\277\277\324" "\206\300\300\324\212\300\300\325\242\301\301\325\212\300\300\325\207" "\300\300\324\207\277\277\324\205\277\277\323\203\276\276\323\2\266\266" "\312\252\252\276\205\251\251\275\12\261\261\305\274\274\321\275\275\322" "\277\277\323\226\237\271'Ku\262\262\306\261\261\305\255\255\302\214\214" "\235\205xx\206\2\202\202\221\246\246\271\212\261\261\306\211\262\262" "\306\213\262\262\307\207\263\263\307\210\263\263\310\205\264\264\310" "\207\264\264\311\204\265\265\311\206\265\265\312\204\266\266\312\205" "\266\266\313\204\267\267\313\204\267\267\314\204\270\270\314\204\270" "\270\315\204\271\271\315\204\271\271\316\203\272\272\316\204\272\272" "\317\204\273\273\317\204\273\273\320\204\274\274\320\204\274\274\321" "\204\275\275\321\204\275\275\322\204\276\276\322\206\276\276\323\205" "\277\277\323\206\277\277\324\207\300\300\324\214\300\300\325\227\301" "\301\325\215\300\300\325\207\300\300\324\207\277\277\324\206\277\277" "\323\205\276\276\323\2\266\266\312\252\252\276\205\251\251\275\12\261" "\261\305\274\274\321\275\275\322\276\276\323\226\237\271'Ku\262\262\306" "\261\261\305\255\255\302\214\214\235\205xx\206\2\202\202\221\246\246" "\271\212\261\261\306\211\262\262\306\214\262\262\307\207\263\263\307" "\207\263\263\310\206\264\264\310\206\264\264\311\205\265\265\311\205" "\265\265\312\204\266\266\312\205\266\266\313\204\267\267\313\205\267" "\267\314\203\270\270\314\205\270\270\315\203\271\271\315\205\271\271" "\316\203\272\272\316\204\272\272\317\204\273\273\317\204\273\273\320" "\204\274\274\320\204\274\274\321\204\275\275\321\205\275\275\322\204" "\276\276\322\206\276\276\323\205\277\277\323\207\277\277\324\207\300" "\300\324\251\300\300\325\210\300\300\324\210\277\277\324\206\277\277" "\323\207\276\276\323\2\266\266\312\252\252\276\205\251\251\275\12\261" "\261\305\274\274\321\275\275\322\276\276\323\225\237\271'Ku\262\262\306" "\261\261\305\255\255\302\214\214\235\205xx\206\2\202\202\221\246\246" "\271\213\261\261\306\211\262\262\306\213\262\262\307\207\263\263\307" "\210\263\263\310\205\264\264\310\207\264\264\311\204\265\265\311\206" "\265\265\312\204\266\266\312\205\266\266\313\204\267\267\313\205\267" "\267\314\203\270\270\314\205\270\270\315\203\271\271\315\205\271\271" "\316\203\272\272\316\204\272\272\317\204\273\273\317\204\273\273\320" "\204\274\274\320\204\274\274\321\204\275\275\321\205\275\275\322\205" "\276\276\322\206\276\276\323\205\277\277\323\210\277\277\324\210\300" "\300\324\240\300\300\325\212\300\300\324\211\277\277\324\205\277\277" "\323\207\276\276\323\203\276\276\322\2\266\266\312\252\252\276\205\251" "\251\275\12\261\261\305\274\274\320\275\275\321\276\276\323\225\237\271" "'Ku\262\262\306\261\261\305\255\255\302\214\214\235\205xx\206\2\202\202" "\221\246\246\271\213\261\261\306\211\262\262\306\214\262\262\307\207" "\263\263\307\207\263\263\310\206\264\264\310\206\264\264\311\205\265" "\265\311\206\265\265\312\204\266\266\312\205\266\266\313\204\267\267" "\313\204\267\267\314\204\270\270\314\205\270\270\315\203\271\271\315" "\204\271\271\316\204\272\272\316\204\272\272\317\204\273\273\317\204" "\273\273\320\204\274\274\320\205\274\274\321\204\275\275\321\205\275" "\275\322\204\276\276\322\207\276\276\323\205\277\277\323\211\277\277" "\324\214\300\300\324\223\300\300\325\214\300\300\324\212\277\277\324" "\206\277\277\323\207\276\276\323\205\276\276\322\2\266\266\312\252\252" "\276\205\251\251\275\6\261\261\305\274\274\320\275\275\321\276\276\323" "\225\237\271'Ku\202\261\261\305\2\255\255\302\214\214\235\205xx\206\2" "\202\202\221\246\246\271\214\261\261\306\211\262\262\306\213\262\262" "\307\207\263\263\307\210\263\263\310\205\264\264\310\207\264\264\311" "\205\265\265\311\205\265\265\312\204\266\266\312\206\266\266\313\203" "\267\267\313\205\267\267\314\204\270\270\314\204\270\270\315\204\271" "\271\315\204\271\271\316\204\272\272\316\204\272\272\317\204\273\273" "\317\205\273\273\320\203\274\274\320\205\274\274\321\204\275\275\321" "\206\275\275\322\204\276\276\322\207\276\276\323\206\277\277\323\212" "\277\277\324\242\300\300\324\213\277\277\324\207\277\277\323\210\276" "\276\323\205\276\276\322\202\275\275\322\2\265\265\312\252\252\276\205" "\251\251\275\12\261\261\305\274\274\320\274\274\321\276\276\323\225\236" "\271'Ku\261\261\306\261\261\305\255\255\302\214\214\235\205xx\206\2\202" "\202\221\246\246\271\214\261\261\306\211\262\262\306\214\262\262\307" "\207\263\263\307\207\263\263\310\206\264\264\310\207\264\264\311\204" "\265\265\311\206\265\265\312\204\266\266\312\205\266\266\313\204\267" "\267\313\205\267\267\314\204\270\270\314\204\270\270\315\204\271\271" "\315\204\271\271\316\204\272\272\316\205\272\272\317\203\273\273\317" "\205\273\273\320\204\274\274\320\205\274\274\321\204\275\275\321\205" "\275\275\322\205\276\276\322\207\276\276\323\207\277\277\323\216\277" "\277\324\225\300\300\324\216\277\277\324\207\277\277\323\210\276\276" "\323\206\276\276\322\204\275\275\322\2\265\265\312\252\252\276\205\251" "\251\275\6\260\260\305\273\273\320\274\274\321\276\276\322\225\236\271" "'Ku\202\261\261\305\2\255\255\301\214\214\235\205xx\206\2\202\202\221" "\246\246\271\215\261\261\306\211\262\262\306\213\262\262\307\207\263" "\263\307\210\263\263\310\206\264\264\310\206\264\264\311\205\265\265" "\311\206\265\265\312\204\266\266\312\205\266\266\313\204\267\267\313" "\205\267\267\314\204\270\270\314\204\270\270\315\204\271\271\315\204" "\271\271\316\204\272\272\316\205\272\272\317\203\273\273\317\205\273" "\273\320\204\274\274\320\205\274\274\321\204\275\275\321\206\275\275" "\322\205\276\276\322\210\276\276\323\210\277\277\323\251\277\277\324" "\210\277\277\323\211\276\276\323\206\276\276\322\206\275\275\322\2\265" "\265\311\252\252\276\205\251\251\275\6\260\260\304\273\273\320\274\274" "\321\275\275\322\225\236\270'Ku\202\261\261\305\2\255\255\301\214\214" "\235\205xx\206\2\202\202\221\246\246\271\215\261\261\306\211\262\262" "\306\214\262\262\307\207\263\263\307\210\263\263\310\205\264\264\310" "\207\264\264\311\205\265\265\311\205\265\265\312\205\266\266\312\205" "\266\266\313\204\267\267\313\205\267\267\314\203\270\270\314\205\270" "\270\315\204\271\271\315\204\271\271\316\204\272\272\316\205\272\272" "\317\203\273\273\317\205\273\273\320\204\274\274\320\206\274\274\321" "\204\275\275\321\206\275\275\322\206\276\276\322\210\276\276\323\211" "\277\277\323\240\277\277\324\212\277\277\323\211\276\276\323\206\276" "\276\322\207\275\275\322\4\275\275\321\275\275\322\265\265\311\252\252" "\276\205\251\251\275\6\260\260\304\273\273\320\274\274\321\275\275\322" "\225\236\270'Ku\202\261\261\305\2\255\255\301\214\214\235\205xx\206\2" "\202\202\221\246\246\271\216\261\261\306\211\262\262\306\213\262\262" "\307\207\263\263\307\210\263\263\310\206\264\264\310\206\264\264\311" "\205\265\265\311\206\265\265\312\204\266\266\312\206\266\266\313\204" "\267\267\313\204\267\267\314\204\270\270\314\205\270\270\315\204\271" "\271\315\204\271\271\316\204\272\272\316\205\272\272\317\204\273\273" "\317\205\273\273\320\204\274\274\320\205\274\274\321\205\275\275\321" "\206\275\275\322\206\276\276\322\212\276\276\323\214\277\277\323\222" "\277\277\324\215\277\277\323\212\276\276\323\207\276\276\322\207\275" "\275\322\204\275\275\321\2\265\265\311\252\252\276\205\251\251\275\6" "\260\260\304\273\273\317\274\274\320\275\275\322\225\236\270'Ku\202\261" "\261\305\2\255\255\301\214\214\235\205xx\206\2\202\202\221\246\246\271" "\216\261\261\306\211\262\262\306\214\262\262\307\207\263\263\307\210" "\263\263\310\206\264\264\310\206\264\264\311\205\265\265\311\206\265" "\265\312\204\266\266\312\205\266\266\313\204\267\267\313\205\267\267" "\314\204\270\270\314\205\270\270\315\204\271\271\315\204\271\271\316" "\204\272\272\316\205\272\272\317\204\273\273\317\205\273\273\320\204" "\274\274\320\206\274\274\321\205\275\275\321\207\275\275\322\206\276" "\276\322\213\276\276\323\242\277\277\323\214\276\276\323\207\276\276" "\322\210\275\275\322\206\275\275\321\2\265\265\311\252\252\276\205\251" "\251\275\6\260\260\304\273\273\317\274\274\320\275\275\322\224\236\270" "'Ku\202\261\261\305\2\255\255\301\214\214\235\205xx\206\2\202\202\221" "\246\246\271\217\261\261\306\211\262\262\306\213\262\262\307\210\263" "\263\307\210\263\263\310\205\264\264\310\207\264\264\311\205\265\265" "\311\205\265\265\312\205\266\266\312\205\266\266\313\204\267\267\313" "\205\267\267\314\204\270\270\314\205\270\270\315\204\271\271\315\205" "\271\271\316\203\272\272\316\205\272\272\317\204\273\273\317\206\273" "\273\320\204\274\274\320\206\274\274\321\205\275\275\321\207\275\275" "\322\207\276\276\322\217\276\276\323\224\277\277\323\217\276\276\323" "\210\276\276\322\210\275\275\322\206\275\275\321\203\274\274\321\2\265" "\265\311\252\252\276\205\251\251\275\6\260\260\304\273\273\317\273\273" "\320\275\275\322\224\236\270'Ku\202\261\261\305\2\255\255\301\214\214" "\235\205xx\206\2\202\202\221\246\246\271\217\261\261\306\211\262\262" "\306\214\262\262\307\207\263\263\307\210\263\263\310\206\264\264\310" "\206\264\264\311\205\265\265\311\206\265\265\312\205\266\266\312\205" "\266\266\313\204\267\267\313\205\267\267\314\204\270\270\314\205\270" "\270\315\204\271\271\315\205\271\271\316\204\272\272\316\205\272\272" "\317\204\273\273\317\205\273\273\320\205\274\274\320\206\274\274\321" "\205\275\275\321\210\275\275\322\210\276\276\322\252\276\276\323\211" "\276\276\322\211\275\275\322\206\275\275\321\205\274\274\321\2\265\265" "\311\252\252\276\205\251\251\275\6\260\260\304\272\272\317\273\273\320" "\275\275\321\224\236\270'Ku\202\261\261\305\2\255\255\301\214\214\235" "\205xx\206\2\202\202\221\246\246\271\217\261\261\306\212\262\262\306" "\214\262\262\307\207\263\263\307\210\263\263\310\206\264\264\310\206" "\264\264\311\205\265\265\311\206\265\265\312\204\266\266\312\206\266" "\266\313\204\267\267\313\205\267\267\314\204\270\270\314\205\270\270" "\315\204\271\271\315\205\271\271\316\204\272\272\316\205\272\272\317" "\204\273\273\317\206\273\273\320\204\274\274\320\207\274\274\321\206" "\275\275\321\210\275\275\322\212\276\276\322\240\276\276\323\212\276" "\276\322\212\275\275\322\206\275\275\321\210\274\274\321\2\265\265\311" "\252\252\276\205\251\251\275\6\260\260\304\272\272\317\273\273\320\275" "\275\321\224\235\270'Ku\202\261\261\305\2\255\255\301\214\214\235\205" "xx\206\2\202\202\221\246\246\271\217\261\261\306\213\262\262\306\213" "\262\262\307\207\263\263\307\210\263\263\310\206\264\264\310\207\264" "\264\311\205\265\265\311\206\265\265\312\204\266\266\312\206\266\266" "\313\204\267\267\313\205\267\267\314\204\270\270\314\205\270\270\315" "\204\271\271\315\205\271\271\316\204\272\272\316\205\272\272\317\205" "\273\273\317\205\273\273\320\205\274\274\320\207\274\274\321\206\275" "\275\321\212\275\275\322\215\276\276\322\221\276\276\323\216\276\276" "\322\213\275\275\322\207\275\275\321\210\274\274\321\202\274\274\320" "\2\264\264\311\252\252\276\205\251\251\275\6\260\260\304\272\272\317" "\273\273\320\274\274\321\224\235\270'Ku\202\261\261\305\2\255\255\301" "\214\214\235\205xx\206\2\202\202\221\246\246\271\220\261\261\306\213" "\262\262\306\213\262\262\307\207\263\263\307\210\263\263\310\206\264" "\264\310\207\264\264\311\205\265\265\311\206\265\265\312\204\266\266" "\312\206\266\266\313\204\267\267\313\205\267\267\314\204\270\270\314" "\205\270\270\315\204\271\271\315\205\271\271\316\204\272\272\316\206" "\272\272\317\204\273\273\317\206\273\273\320\205\274\274\320\207\274" "\274\321\207\275\275\321\214\275\275\322\242\276\276\322\215\275\275" "\322\207\275\275\321\210\274\274\321\205\274\274\320\2\264\264\311\252" "\252\276\205\251\251\275\6\260\260\304\272\272\317\273\273\317\274\274" "\321\224\235\267'Ku\202\261\261\305\2\255\255\301\214\214\235\205xx\206" "\2\202\202\221\246\246\271\220\261\261\306\214\262\262\306\212\262\262" "\307\210\263\263\307\210\263\263\310\206\264\264\310\206\264\264\311" "\205\265\265\311\206\265\265\312\205\266\266\312\205\266\266\313\205" "\267\267\313\205\267\267\314\204\270\270\314\205\270\270\315\204\271" "\271\315\206\271\271\316\204\272\272\316\205\272\272\317\205\273\273" "\317\206\273\273\320\205\274\274\320\210\274\274\321\207\275\275\321" "\217\275\275\322\225\276\276\322\220\275\275\322\210\275\275\321\211" "\274\274\321\207\274\274\320\2\264\264\311\252\252\276\205\251\251\275" "\6\260\260\304\272\272\316\273\273\317\274\274\321\224\235\267'Ku\202" "\261\261\305\2\255\255\301\214\214\235\205xx\206\3\202\202\221\246\246" "\271\261\261\305\220\261\261\306\213\262\262\306\213\262\262\307\207" "\263\263\307\210\263\263\310\206\264\264\310\207\264\264\311\205\265" "\265\311\206\265\265\312\205\266\266\312\205\266\266\313\205\267\267" "\313\205\267\267\314\204\270\270\314\205\270\270\315\205\271\271\315" "\205\271\271\316\204\272\272\316\206\272\272\317\205\273\273\317\206" "\273\273\320\206\274\274\320\210\274\274\321\210\275\275\321\253\275" "\275\322\212\275\275\321\211\274\274\321\206\274\274\320\204\273\273" "\320\2\264\264\310\252\252\276\205\251\251\275\6\260\260\304\272\272" "\316\273\273\317\274\274\321\224\235\267'Ku\202\261\261\305\2\255\255" "\301\214\214\235\205xx\206\3\202\202\221\246\246\271\261\261\305\220" "\261\261\306\214\262\262\306\213\262\262\307\207\263\263\307\210\263" "\263\310\206\264\264\310\207\264\264\311\205\265\265\311\206\265\265" "\312\205\266\266\312\205\266\266\313\205\267\267\313\205\267\267\314" "\204\270\270\314\206\270\270\315\204\271\271\315\205\271\271\316\205" "\272\272\316\206\272\272\317\204\273\273\317\207\273\273\320\206\274" "\274\320\211\274\274\321\212\275\275\321\241\275\275\322\213\275\275" "\321\212\274\274\321\207\274\274\320\206\273\273\320\2\264\264\310\252" "\252\276\205\251\251\275\6\260\260\304\272\272\316\272\272\317\274\274" "\320\223\235\267'Ku\202\261\261\305\2\255\255\301\214\214\235\205xx\206" "\2\202\202\221\246\246\271\202\261\261\305\220\261\261\306\214\262\262" "\306\212\262\262\307\210\263\263\307\210\263\263\310\206\264\264\310" "\207\264\264\311\205\265\265\311\206\265\265\312\204\266\266\312\206" "\266\266\313\205\267\267\313\205\267\267\314\204\270\270\314\206\270" "\270\315\204\271\271\315\206\271\271\316\204\272\272\316\206\272\272" "\317\205\273\273\317\207\273\273\320\207\274\274\320\212\274\274\321" "\216\275\275\321\222\275\275\322\216\275\275\321\213\274\274\321\207" "\274\274\320\211\273\273\320\2\264\264\310\252\252\276\205\251\251\275" "\6\260\260\304\271\271\316\272\272\317\274\274\320\223\235\267'Ku\202" "\261\261\305\2\255\255\301\214\214\235\205xx\206\2\202\202\221\246\246" "\271\202\261\261\305\220\261\261\306\214\262\262\306\213\262\262\307" "\207\263\263\307\211\263\263\310\205\264\264\310\207\264\264\311\206" "\265\265\311\206\265\265\312\204\266\266\312\206\266\266\313\205\267" "\267\313\205\267\267\314\204\270\270\314\206\270\270\315\204\271\271" "\315\206\271\271\316\205\272\272\316\206\272\272\317\205\273\273\317" "\210\273\273\320\207\274\274\320\214\274\274\321\244\275\275\321\215" "\274\274\321\210\274\274\320\210\273\273\320\203\273\273\317\2\264\264" "\310\252\252\276\205\251\251\275\6\260\260\304\271\271\316\272\272\317" "\273\273\320\223\235\267'Ku\202\261\261\305\2\255\255\301\214\214\235" "\205xx\206\2\202\202\221\246\246\271\203\261\261\305\220\261\261\306" "\214\262\262\306\213\262\262\307\207\263\263\307\210\263\263\310\206" "\264\264\310\207\264\264\311\205\265\265\311\207\265\265\312\204\266" "\266\312\206\266\266\313\205\267\267\313\205\267\267\314\205\270\270" "\314\205\270\270\315\205\271\271\315\206\271\271\316\204\272\272\316" "\207\272\272\317\206\273\273\317\207\273\273\320\210\274\274\320\217" "\274\274\321\227\275\275\321\220\274\274\321\211\274\274\320\211\273" "\273\320\205\273\273\317\2\264\264\310\252\252\276\205\251\251\275\6" "\260\260\304\271\271\316\272\272\316\273\273\320\223\235\267'Ku\202\261" "\261\305\2\255\255\301\214\214\235\205xx\206\2\202\202\221\246\246\271" "\203\261\261\305\221\261\261\306\213\262\262\306\213\262\262\307\210" "\263\263\307\210\263\263\310\206\264\264\310\207\264\264\311\205\265" "\265\311\207\265\265\312\204\266\266\312\206\266\266\313\205\267\267" "\313\205\267\267\314\205\270\270\314\206\270\270\315\204\271\271\315" "\206\271\271\316\205\272\272\316\207\272\272\317\206\273\273\317\210" "\273\273\320\211\274\274\320\255\274\274\321\212\274\274\320\212\273" "\273\320\210\273\273\317\2\264\264\310\252\252\276\205\251\251\275\6" "\257\257\304\271\271\315\272\272\316\273\273\320\223\234\267'Ku\202\261" "\261\305\2\255\255\301\214\214\235\205xx\206\2\202\202\221\246\246\271" "\204\261\261\305\220\261\261\306\214\262\262\306\213\262\262\307\207" "\263\263\307\211\263\263\310\206\264\264\310\207\264\264\311\205\265" "\265\311\206\265\265\312\205\266\266\312\206\266\266\313\205\267\267" "\313\206\267\267\314\204\270\270\314\206\270\270\315\205\271\271\315" "\206\271\271\316\205\272\272\316\207\272\272\317\206\273\273\317\212" "\273\273\320\212\274\274\320\244\274\274\321\213\274\274\320\212\273" "\273\320\207\273\273\317\204\272\272\317\2\264\264\310\252\252\276\205" "\251\251\275\6\257\257\303\271\271\315\272\272\316\273\273\320\223\234" "\267'Ku\202\261\261\305\2\255\255\301\214\214\235\205xx\206\2\202\202" "\221\246\246\271\204\261\261\305\221\261\261\306\214\262\262\306\213" "\262\262\307\207\263\263\307\211\263\263\310\206\264\264\310\207\264" "\264\311\205\265\265\311\206\265\265\312\205\266\266\312\206\266\266" "\313\205\267\267\313\206\267\267\314\204\270\270\314\206\270\270\315" "\205\271\271\315\207\271\271\316\205\272\272\316\207\272\272\317\207" "\273\273\317\212\273\273\320\216\274\274\320\225\274\274\321\216\274" "\274\320\214\273\273\320\210\273\273\317\206\272\272\317\2\263\263\310" "\252\252\276\205\251\251\275\6\257\257\303\271\271\315\271\271\316\273" "\273\320\223\234\266&Ju\202\261\261\305\2\255\255\301\214\214\235\205" "xx\206\2\201\201\221\246\246\271\205\261\261\305\221\261\261\306\213" "\262\262\306\213\262\262\307\210\263\263\307\210\263\263\310\206\264" "\264\310\210\264\264\311\205\265\265\311\206\265\265\312\205\266\266" "\312\206\266\266\313\205\267\267\313\206\267\267\314\205\270\270\314" "\206\270\270\315\205\271\271\315\206\271\271\316\206\272\272\316\210" "\272\272\317\207\273\273\317\214\273\273\320\250\274\274\320\215\273" "\273\320\210\273\273\317\211\272\272\317\2\263\263\310\252\252\276\205" "\251\251\275\6\257\257\303\271\271\315\271\271\316\273\273\317\223\234" "\266&Ju\202\261\261\305\2\255\255\301\214\214\235\205xx\206\2\201\201" "\221\246\246\271\206\261\261\305\220\261\261\306\214\262\262\306\213" "\262\262\307\210\263\263\307\210\263\263\310\206\264\264\310\207\264" "\264\311\206\265\265\311\206\265\265\312\205\266\266\312\206\266\266" "\313\205\267\267\313\206\267\267\314\205\270\270\314\206\270\270\315" "\205\271\271\315\207\271\271\316\206\272\272\316\210\272\272\317\210" "\273\273\317\217\273\273\320\233\274\274\320\220\273\273\320\211\273" "\273\317\211\272\272\317\203\272\272\316\2\263\263\310\252\252\276\205" "\251\251\275\6\257\257\303\270\270\315\271\271\316\272\272\317\222\234" "\266&Ju\202\261\261\305\2\255\255\301\214\214\235\205xx\206\2\201\201" "\221\245\245\271\206\261\261\305\221\261\261\306\214\262\262\306\213" "\262\262\307\207\263\263\307\211\263\263\310\206\264\264\310\207\264" "\264\311\206\265\265\311\206\265\265\312\205\266\266\312\207\266\266" "\313\204\267\267\313\207\267\267\314\205\270\270\314\206\270\270\315" "\205\271\271\315\207\271\271\316\206\272\272\316\211\272\272\317\211" "\273\273\317\262\273\273\320\212\273\273\317\212\272\272\317\205\272" "\272\316\2\263\263\307\252\252\276\205\251\251\275\6\257\257\303\270" "\270\315\271\271\316\272\272\317\222\234\266&Ju\202\261\261\305\2\255" "\255\301\214\214\235\205xx\206\2\201\201\221\245\245\271\207\261\261" "\305\220\261\261\306\214\262\262\306\214\262\262\307\207\263\263\307" "\211\263\263\310\206\264\264\310\207\264\264\311\206\265\265\311\206" "\265\265\312\205\266\266\312\207\266\266\313\205\267\267\313\206\267" "\267\314\205\270\270\314\207\270\270\315\205\271\271\315\207\271\271" "\316\207\272\272\316\211\272\272\317\213\273\273\317\250\273\273\320" "\213\273\273\317\213\272\272\317\210\272\272\316\2\263\263\307\252\252" "\276\205\251\251\275\6\257\257\303\270\270\315\271\271\315\272\272\317" "\222\234\266&Ju\202\261\261\305\2\255\255\301\214\214\235\205xx\206\2" "\201\201\221\245\245\271\207\261\261\305\221\261\261\306\214\262\262" "\306\213\262\262\307\210\263\263\307\211\263\263\310\206\264\264\310" "\207\264\264\311\206\265\265\311\206\265\265\312\206\266\266\312\206" "\266\266\313\205\267\267\313\206\267\267\314\206\270\270\314\206\270" "\270\315\206\271\271\315\210\271\271\316\206\272\272\316\213\272\272" "\317\215\273\273\317\233\273\273\320\216\273\273\317\214\272\272\317" "\210\272\272\316\203\271\271\316\2\263\263\307\252\252\276\205\251\251" "\275\6\257\257\303\270\270\314\271\271\315\272\272\317\222\234\266&J" "u\202\261\261\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245" "\245\271\210\261\261\305\221\261\261\306\214\262\262\306\213\262\262" "\307\210\263\263\307\210\263\263\310\207\264\264\310\207\264\264\311" "\206\265\265\311\207\265\265\312\205\266\266\312\206\266\266\313\205" "\267\267\313\207\267\267\314\205\270\270\314\207\270\270\315\206\271" "\271\315\210\271\271\316\207\272\272\316\214\272\272\317\255\273\273" "\317\216\272\272\317\210\272\272\316\206\271\271\316\2\263\263\307\252" "\252\276\205\251\251\275\6\257\257\303\270\270\314\271\271\315\272\272" "\317\222\233\266&Ju\202\261\261\305\2\255\255\301\214\214\235\205xx\206" "\2\201\201\221\245\245\271\211\261\261\305\220\261\261\306\214\262\262" "\306\214\262\262\307\210\263\263\307\210\263\263\310\207\264\264\310" "\207\264\264\311\206\265\265\311\207\265\265\312\205\266\266\312\207" "\266\266\313\205\267\267\313\206\267\267\314\206\270\270\314\207\270" "\270\315\206\271\271\315\211\271\271\316\207\272\272\316\217\272\272" "\317\242\273\273\317\217\272\272\317\211\272\272\316\211\271\271\316" "\2\263\263\307\252\252\276\205\251\251\275\6\257\257\303\270\270\314" "\270\270\315\272\272\316\222\233\266&Jt\202\261\261\305\2\255\255\301" "\214\214\235\205xx\206\2\201\201\221\245\245\271\211\261\261\305\222" "\261\261\306\213\262\262\306\214\262\262\307\207\263\263\307\211\263" "\263\310\207\264\264\310\207\264\264\311\206\265\265\311\207\265\265" "\312\205\266\266\312\207\266\266\313\205\267\267\313\207\267\267\314" "\205\270\270\314\210\270\270\315\206\271\271\315\211\271\271\316\211" "\272\272\316\224\272\272\317\220\273\273\317\224\272\272\317\212\272" "\272\316\212\271\271\316\4\271\271\315\271\271\316\263\263\307\252\252" "\276\205\251\251\275\6\257\257\303\270\270\314\270\270\315\272\272\316" "\222\233\266&Jt\202\261\261\305\2\255\255\301\214\214\235\205xx\206\2" "\201\201\221\245\245\271\212\261\261\305\222\261\261\306\213\262\262" "\306\213\262\262\307\210\263\263\307\211\263\263\310\206\264\264\310" "\210\264\264\311\206\265\265\311\207\265\265\312\205\266\266\312\207" "\266\266\313\206\267\267\313\207\267\267\314\205\270\270\314\210\270" "\270\315\207\271\271\315\211\271\271\316\212\272\272\316\257\272\272" "\317\213\272\272\316\213\271\271\316\205\271\271\315\2\263\263\307\252" "\252\276\205\251\251\275\6\257\257\303\267\267\314\270\270\315\271\271" "\316\222\233\265&Jt\202\261\261\305\2\255\255\301\214\214\235\205xx\206" "\2\201\201\221\245\245\271\213\261\261\305\222\261\261\306\213\262\262" "\306\213\262\262\307\210\263\263\307\211\263\263\310\206\264\264\310" "\210\264\264\311\206\265\265\311\207\265\265\312\206\266\266\312\207" "\266\266\313\205\267\267\313\207\267\267\314\206\270\270\314\210\270" "\270\315\207\271\271\315\213\271\271\316\214\272\272\316\244\272\272" "\317\214\272\272\316\214\271\271\316\210\271\271\315\2\263\263\307\252" "\252\276\205\251\251\275\6\257\257\303\267\267\314\270\270\315\271\271" "\316\222\233\265&Jt\202\261\261\305\2\255\255\301\214\214\235\205xx\206" "\2\201\201\221\245\245\271\213\261\261\305\222\261\261\306\213\262\262" "\306\214\262\262\307\210\263\263\307\211\263\263\310\206\264\264\310" "\210\264\264\311\206\265\265\311\207\265\265\312\206\266\266\312\207" "\266\266\313\206\267\267\313\207\267\267\314\206\270\270\314\210\270" "\270\315\210\271\271\315\214\271\271\316\220\272\272\316\223\272\272" "\317\221\272\272\316\215\271\271\316\211\271\271\315\202\270\270\315" "\2\262\262\307\252\252\276\205\251\251\275\12\257\257\303\267\267\314" "\270\270\314\271\271\316\222\233\265&Jt\260\260\305\261\261\305\255\255" "\301\214\214\235\205xx\206\2\201\201\221\245\245\271\214\261\261\305" "\222\261\261\306\213\262\262\306\214\262\262\307\210\263\263\307\211" "\263\263\310\206\264\264\310\210\264\264\311\206\265\265\311\210\265" "\265\312\205\266\266\312\207\266\266\313\206\267\267\313\210\267\267" "\314\206\270\270\314\211\270\270\315\210\271\271\315\216\271\271\316" "\252\272\272\316\217\271\271\316\211\271\271\315\205\270\270\315\2\262" "\262\307\252\252\275\205\251\251\275\12\257\257\303\267\267\314\270\270" "\314\271\271\316\221\233\265&Jt\260\260\305\261\261\305\255\255\301\214" "\214\235\205xx\206\2\201\201\221\245\245\271\214\261\261\305\223\261" "\261\306\213\262\262\306\214\262\262\307\210\263\263\307\211\263\263" "\310\206\264\264\310\210\264\264\311\206\265\265\311\210\265\265\312" "\206\266\266\312\207\266\266\313\206\267\267\313\210\267\267\314\206" "\270\270\314\212\270\270\315\210\271\271\315\221\271\271\316\235\272" "\272\316\222\271\271\316\212\271\271\315\210\270\270\315\2\262\262\306" "\252\252\275\205\251\251\275\6\257\257\303\267\267\313\270\270\314\271" "\271\316\221\233\265&Jt\202\260\260\305\2\255\255\301\214\214\235\205" "xx\206\2\201\201\221\245\245\271\215\261\261\305\223\261\261\306\213" "\262\262\306\213\262\262\307\210\263\263\307\212\263\263\310\206\264" "\264\310\210\264\264\311\207\265\265\311\207\265\265\312\206\266\266" "\312\207\266\266\313\207\267\267\313\210\267\267\314\206\270\270\314" "\212\270\270\315\212\271\271\315\270\271\271\316\213\271\271\315\213" "\270\270\315\2\262\262\306\252\252\275\205\251\251\275\6\257\257\303" "\267\267\313\267\267\314\271\271\316\221\233\265&Jt\202\260\260\305\2" "\255\255\301\214\214\235\205xx\206\2\201\201\221\245\245\271\216\261" "\261\305\222\261\261\306\214\262\262\306\213\262\262\307\210\263\263" "\307\212\263\263\310\206\264\264\310\211\264\264\311\206\265\265\311" "\207\265\265\312\206\266\266\312\210\266\266\313\206\267\267\313\211" "\267\267\314\207\270\270\314\213\270\270\315\213\271\271\315\255\271" "\271\316\215\271\271\315\214\270\270\315\203\270\270\314\2\262\262\306" "\252\252\275\205\251\251\275\6\257\257\303\267\267\313\267\267\314\271" "\271\315\221\233\265&Jt\202\260\260\305\2\255\255\301\214\214\235\205" "xx\206\2\201\201\221\245\245\271\216\261\261\305\223\261\261\306\213" "\262\262\306\214\262\262\307\210\263\263\307\212\263\263\310\207\264" "\264\310\210\264\264\311\206\265\265\311\210\265\265\312\206\266\266" "\312\210\266\266\313\206\267\267\313\211\267\267\314\207\270\270\314" "\214\270\270\315\216\271\271\315\242\271\271\316\216\271\271\315\215" "\270\270\315\206\270\270\314\2\262\262\306\252\252\275\205\251\251\275" "\6\256\256\303\266\266\313\267\267\314\271\271\315\221\232\265&Jt\202" "\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245\245" "\271\217\261\261\305\223\261\261\306\213\262\262\306\214\262\262\307" "\210\263\263\307\212\263\263\310\207\264\264\310\210\264\264\311\206" "\265\265\311\210\265\265\312\206\266\266\312\211\266\266\313\206\267" "\267\313\211\267\267\314\210\270\270\314\215\270\270\315\223\271\271" "\315\216\271\271\316\225\271\271\315\216\270\270\315\211\270\270\314" "\2\262\262\306\252\252\275\205\251\251\275\6\256\256\302\266\266\313" "\267\267\314\270\270\315\221\232\265&Jt\202\260\260\305\2\255\255\301" "\214\214\235\205xx\206\2\201\201\221\245\245\271\217\261\261\305\224" "\261\261\306\213\262\262\306\214\262\262\307\210\263\263\307\212\263" "\263\310\207\264\264\310\210\264\264\311\207\265\265\311\210\265\265" "\312\206\266\266\312\210\266\266\313\207\267\267\313\212\267\267\314" "\210\270\270\314\217\270\270\315\253\271\271\315\221\270\270\315\212" "\270\270\314\202\267\267\314\2\262\262\306\252\252\275\205\251\251\275" "\6\256\256\302\266\266\313\267\267\313\270\270\315\221\232\264&Jt\202" "\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245\245" "\271\217\261\261\305\224\261\261\306\214\262\262\306\214\262\262\307" "\210\263\263\307\212\263\263\310\207\264\264\310\210\264\264\311\207" "\265\265\311\210\265\265\312\207\266\266\312\210\266\266\313\207\267" "\267\313\212\267\267\314\212\270\270\314\222\270\270\315\236\271\271" "\315\223\270\270\315\213\270\270\314\205\267\267\314\2\262\262\306\252" "\252\275\205\251\251\275\6\256\256\302\266\266\313\267\267\313\270\270" "\315\221\232\264&Jt\202\260\260\305\2\255\255\301\214\214\235\205xx\206" "\2\201\201\221\245\245\271\220\261\261\305\224\261\261\306\214\262\262" "\306\214\262\262\307\210\263\263\307\212\263\263\310\207\264\264\310" "\211\264\264\311\206\265\265\311\211\265\265\312\206\266\266\312\211" "\266\266\313\210\267\267\313\212\267\267\314\213\270\270\314\272\270" "\270\315\214\270\270\314\211\267\267\314\2\262\262\306\252\252\275\205" "\251\251\275\6\256\256\302\266\266\313\267\267\313\270\270\315\221\232" "\264&Jt\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201" "\221\245\245\271\220\261\261\305\225\261\261\306\214\262\262\306\214" "\262\262\307\210\263\263\307\212\263\263\310\207\264\264\310\211\264" "\264\311\207\265\265\311\210\265\265\312\207\266\266\312\211\266\266" "\313\210\267\267\313\213\267\267\314\214\270\270\314\261\270\270\315" "\216\270\270\314\214\267\267\314\2\262\262\306\252\252\275\205\251\251" "\275\6\256\256\302\266\266\312\267\267\313\270\270\315\221\232\264&J" "t\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245" "\245\271\221\261\261\305\225\261\261\306\213\262\262\306\215\262\262" "\307\210\263\263\307\212\263\263\310\207\264\264\310\211\264\264\311" "\207\265\265\311\211\265\265\312\207\266\266\312\211\266\266\313\211" "\267\267\313\214\267\267\314\216\270\270\314\246\270\270\315\217\270" "\270\314\216\267\267\314\4\267\267\313\267\267\314\261\261\306\252\252" "\275\205\251\251\275\6\256\256\302\266\266\312\266\266\313\270\270\314" "\220\232\264&Jt\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2" "\201\201\221\245\245\271\222\261\261\305\225\261\261\306\213\262\262" "\306\215\262\262\307\210\263\263\307\212\263\263\310\210\264\264\310" "\211\264\264\311\207\265\265\311\211\265\265\312\207\266\266\312\212" "\266\266\313\210\267\267\313\216\267\267\314\223\270\270\314\224\270" "\270\315\223\270\270\314\220\267\267\314\205\267\267\313\2\261\261\306" "\252\252\275\205\251\251\275\6\256\256\302\266\266\312\266\266\313\270" "\270\314\220\232\264&Jt\202\260\260\305\2\255\255\301\214\214\235\205" "xx\206\2\201\201\221\245\245\271\222\261\261\305\226\261\261\306\213" "\262\262\306\215\262\262\307\210\263\263\307\212\263\263\310\210\264" "\264\310\211\264\264\311\207\265\265\311\211\265\265\312\210\266\266" "\312\212\266\266\313\211\267\267\313\217\267\267\314\261\270\270\314" "\221\267\267\314\211\267\267\313\2\261\261\306\252\252\275\205\251\251" "\275\6\256\256\302\266\266\312\266\266\313\270\270\314\220\232\264&J" "t\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245" "\245\271\223\261\261\305\225\261\261\306\214\262\262\306\215\262\262" "\307\210\263\263\307\213\263\263\310\207\264\264\310\212\264\264\311" "\207\265\265\311\211\265\265\312\210\266\266\312\213\266\266\313\212" "\267\267\313\221\267\267\314\245\270\270\314\224\267\267\314\214\267" "\267\313\2\261\261\305\252\252\275\205\251\251\275\6\256\256\303\266" "\266\312\266\266\313\267\267\314\220\232\264&Jt\202\260\260\305\2\255" "\255\301\214\214\235\205xx\206\2\201\201\221\245\245\271\224\261\261" "\305\225\261\261\306\214\262\262\306\215\262\262\307\211\263\263\307" "\212\263\263\310\210\264\264\310\211\264\264\311\207\265\265\311\212" "\265\265\312\210\266\266\312\213\266\266\313\213\267\267\313\230\267" "\267\314\222\270\270\314\231\267\267\314\214\267\267\313\204\266\266" "\313\2\261\261\305\252\252\275\205\251\251\275\1\257\257\303\202\266" "\266\312\3\267\267\314\220\232\264&Jt\202\260\260\305\2\255\255\301\214" "\214\235\205xx\206\2\201\201\221\245\245\271\225\261\261\305\225\261" "\261\306\214\262\262\306\215\262\262\307\211\263\263\307\212\263\263" "\310\210\264\264\310\212\264\264\311\207\265\265\311\212\265\265\312" "\210\266\266\312\214\266\266\313\214\267\267\313\272\267\267\314\216" "\267\267\313\207\266\266\313\2\261\261\305\252\252\275\205\251\251\275" "\1\257\257\303\202\266\266\312\3\267\267\314\220\231\264&Jt\202\260\260" "\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245\245\271\225" "\261\261\305\226\261\261\306\214\262\262\306\215\262\262\307\211\263" "\263\307\212\263\263\310\210\264\264\310\212\264\264\311\210\265\265" "\311\212\265\265\312\211\266\266\312\215\266\266\313\215\267\267\313" "\257\267\267\314\220\267\267\313\213\266\266\313\2\261\261\305\252\252" "\275\205\251\251\275\6\257\257\303\265\265\312\266\266\312\267\267\314" "\220\231\264&Jt\202\260\260\305\2\255\255\301\214\214\235\205xx\206\3" "\201\201\221\245\245\271\260\260\305\225\261\261\305\226\261\261\306" "\214\262\262\306\215\262\262\307\211\263\263\307\213\263\263\310\210" "\264\264\310\212\264\264\311\210\265\265\311\212\265\265\312\211\266" "\266\312\216\266\266\313\221\267\267\313\242\267\267\314\222\267\267" "\313\217\266\266\313\2\261\261\305\252\252\275\205\251\251\275\6\257" "\257\303\265\265\312\266\266\312\267\267\314\220\231\263&Jt\202\260\260" "\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245\245\271\202" "\260\260\305\225\261\261\305\226\261\261\306\214\262\262\306\215\262" "\262\307\211\263\263\307\213\263\263\310\210\264\264\310\212\264\264" "\311\211\265\265\311\213\265\265\312\211\266\266\312\217\266\266\313" "\231\267\267\313\212\267\267\314\231\267\267\313\222\266\266\313\4\266" "\266\312\266\266\313\261\261\305\252\252\275\205\251\251\275\1\257\257" "\303\202\265\265\312\3\267\267\314\220\231\263&Jt\202\260\260\305\2\255" "\255\301\214\214\235\205xx\206\2\201\201\221\245\245\270\202\260\260" "\305\226\261\261\305\226\261\261\306\214\262\262\306\215\262\262\307" "\211\263\263\307\213\263\263\310\211\264\264\310\212\264\264\311\211" "\265\265\311\213\265\265\312\212\266\266\312\221\266\266\313\261\267" "\267\313\224\266\266\313\206\266\266\312\2\261\261\305\252\252\275\205" "\251\251\275\1\257\257\303\202\265\265\312\3\267\267\313\220\231\263" "&Jt\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221" "\245\245\270\203\260\260\305\226\261\261\305\226\261\261\306\214\262" "\262\306\215\262\262\307\212\263\263\307\213\263\263\310\210\264\264" "\310\213\264\264\311\211\265\265\311\214\265\265\312\212\266\266\312" "\225\266\266\313\245\267\267\313\226\266\266\313\211\266\266\312\2\261" "\261\305\252\252\275\205\251\251\275\1\257\257\303\202\265\265\312\3" "\267\267\313\220\231\263&Jt\202\260\260\305\2\255\255\301\214\214\235" "\205xx\206\2\201\201\221\245\245\270\204\260\260\305\230\261\261\305" "\224\261\261\306\214\262\262\306\215\262\262\307\212\263\263\307\213" "\263\263\310\211\264\264\310\213\264\264\311\211\265\265\311\214\265" "\265\312\214\266\266\312\233\266\266\313\220\267\267\313\235\266\266" "\313\215\266\266\312\2\261\261\305\252\252\275\205\251\251\275\6\257" "\257\303\265\265\311\265\265\312\267\267\313\217\231\263&Jt\202\260\260" "\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245\245\270\205" "\260\260\305\227\261\261\305\225\261\261\306\214\262\262\306\216\262" "\262\307\211\263\263\307\214\263\263\310\211\264\264\310\213\264\264" "\311\211\265\265\311\215\265\265\312\215\266\266\312\276\266\266\313" "\220\266\266\312\203\265\265\312\2\261\261\305\252\252\275\205\251\251" "\275\6\257\257\303\265\265\311\265\265\312\266\266\313\217\231\263&J" "t\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245" "\245\270\205\260\260\305\230\261\261\305\225\261\261\306\214\262\262" "\306\216\262\262\307\212\263\263\307\213\263\263\310\211\264\264\310" "\214\264\264\311\211\265\265\311\216\265\265\312\217\266\266\312\264" "\266\266\313\221\266\266\312\207\265\265\312\2\261\261\305\252\252\275" "\205\251\251\275\6\257\257\303\265\265\311\265\265\312\266\266\313\217" "\231\263&Jt\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201" "\201\221\245\245\270\206\260\260\305\230\261\261\305\225\261\261\306" "\214\262\262\306\216\262\262\307\212\263\263\307\214\263\263\310\211" "\264\264\310\214\264\264\311\212\265\265\311\217\265\265\312\221\266" "\266\312\250\266\266\313\223\266\266\312\213\265\265\312\2\260\260\305" "\252\252\275\205\251\251\275\1\257\257\303\202\265\265\311\3\267\267" "\313\214\226\261$Hs\202\260\260\305\2\255\255\301\214\214\235\205xx\206" "\2\201\201\221\245\245\270\207\260\260\305\230\261\261\305\224\261\261" "\306\215\262\262\306\216\262\262\307\212\263\263\307\214\263\263\310" "\212\264\264\310\214\264\264\311\213\265\265\311\220\265\265\312\226" "\266\266\312\226\266\266\313\230\266\266\312\217\265\265\312\2\260\260" "\305\252\252\275\205\251\251\275\6\257\257\303\264\264\311\265\265\311" "\266\266\312\204\220\254\36Do\202\260\260\305\2\255\255\301\214\214\235" "\205xx\206\2\201\201\221\245\245\270\210\260\260\305\230\261\261\305" "\225\261\261\306\214\262\262\306\217\262\262\307\212\263\263\307\214" "\263\263\310\212\264\264\310\214\264\264\311\213\265\265\311\222\265" "\265\312\272\266\266\312\225\265\265\312\2\260\260\305\252\252\275\205" "\251\251\275\6\256\256\303\264\264\311\265\265\311\266\266\313\202\217" "\253\35Co\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201" "\221\245\245\270\210\260\260\305\231\261\261\305\225\261\261\306\215" "\262\262\306\216\262\262\307\212\263\263\307\215\263\263\310\212\264" "\264\310\215\264\264\311\213\265\265\311\225\265\265\312\256\266\266" "\312\230\265\265\312\203\265\265\311\2\260\260\304\252\252\275\205\251" "\251\275\6\256\256\303\264\264\311\265\265\311\266\266\313\202\217\253" "\35Co\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221" "\245\245\270\211\260\260\305\231\261\261\305\225\261\261\306\215\262" "\262\306\216\262\262\307\213\263\263\307\214\263\263\310\213\264\264" "\310\215\264\264\311\215\265\265\311\230\265\265\312\241\266\266\312" "\232\265\265\312\207\265\265\311\2\260\260\304\252\252\275\205\251\251" "\275\1\256\256\303\202\264\264\311\3\266\266\313\202\217\253\35Co\202" "\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245\245" "\270\212\260\260\305\231\261\261\305\225\261\261\306\215\262\262\306" "\217\262\262\307\212\263\263\307\215\263\263\310\213\264\264\310\216" "\264\264\311\215\265\265\311\314\265\265\312\213\265\265\311\2\260\260" "\304\252\252\275\205\251\251\275\1\256\256\302\202\264\264\311\3\266" "\266\313\202\217\253\35Co\202\260\260\305\2\255\255\301\214\214\235\205" "xx\206\2\201\201\221\245\245\270\213\260\260\305\231\261\261\305\225" "\261\261\306\215\262\262\306\217\262\262\307\213\263\263\307\215\263" "\263\310\213\264\264\310\217\264\264\311\216\265\265\311\304\265\265" "\312\217\265\265\311\2\260\260\304\252\252\275\205\251\251\275\1\256" "\256\302\202\264\264\311\3\266\266\313\202\217\253\35Co\202\260\260\305" "\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245\245\270\214\260" "\260\305\230\261\261\305\226\261\261\306\215\262\262\306\217\262\262" "\307\213\263\263\307\216\263\263\310\213\264\264\310\220\264\264\311" "\220\265\265\311\270\265\265\312\224\265\265\311\4\264\264\311\265\265" "\311\260\260\304\252\252\275\205\251\251\275\6\256\256\302\264\264\310" "\264\264\311\266\266\313\202\217\253\35Co\202\260\260\305\2\255\255\301" "\214\214\235\205xx\206\2\201\201\221\245\245\270\215\260\260\305\230" "\261\261\305\226\261\261\306\216\262\262\306\217\262\262\307\213\263" "\263\307\216\263\263\310\213\264\264\310\221\264\264\311\223\265\265" "\311\254\265\265\312\226\265\265\311\206\264\264\311\2\260\260\304\252" "\252\275\205\251\251\275\6\256\256\302\264\264\310\264\264\311\266\266" "\313\202\217\253\35Co\202\260\260\305\2\255\255\301\214\214\235\205x" "x\206\2\201\201\221\245\245\270\215\260\260\305\231\261\261\305\226\261" "\261\306\216\262\262\306\217\262\262\307\214\263\263\307\216\263\263" "\310\214\264\264\310\222\264\264\311\227\265\265\311\235\265\265\312" "\231\265\265\311\212\264\264\311\2\260\260\304\252\252\275\205\251\251" "\275\6\256\256\302\264\264\310\264\264\311\266\266\312\202\217\253\35" "Co\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221" "\245\245\270\216\260\260\305\231\261\261\305\226\261\261\306\216\262" "\262\306\220\262\262\307\213\263\263\307\217\263\263\310\215\264\264" "\310\223\264\264\311\305\265\265\311\216\264\264\311\2\260\260\304\252" "\252\275\205\251\251\275\1\256\256\302\202\264\264\310\3\266\266\312" "\202\216\253\35Co\202\260\260\305\2\255\255\301\214\214\235\205xx\206" "\2\201\201\221\245\245\270\217\260\260\305\231\261\261\305\226\261\261" "\306\217\262\262\306\217\262\262\307\214\263\263\307\217\263\263\310" "\215\264\264\310\226\264\264\311\271\265\265\311\225\264\264\311\1\260" "\260\304\206\251\251\275\1\256\256\302\202\264\264\310\3\266\266\312" "\202\216\253\35Co\202\260\260\305\2\255\255\301\214\214\235\205xx\206" "\2\201\201\221\245\245\270\217\260\260\305\232\261\261\305\227\261\261" "\306\216\262\262\306\220\262\262\307\214\263\263\307\220\263\263\310" "\216\264\264\310\230\264\264\311\255\265\265\311\233\264\264\311\1\260" "\260\304\206\251\251\275\6\256\256\302\263\263\310\264\264\310\265\265" "\312\202\216\253\35Co\202\260\260\305\2\255\255\301\214\214\235\205x" "x\206\2\201\201\221\245\245\270\217\260\260\305\233\261\261\305\227\261" "\261\306\216\262\262\306\221\262\262\307\214\263\263\307\220\263\263" "\310\217\264\264\310\235\264\264\311\236\265\265\311\240\264\264\311" "\3\264\264\310\264\264\311\260\260\304\206\251\251\275\6\256\256\302" "\263\263\310\264\264\310\265\265\312\202\216\252\35Co\202\260\260\305" "\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245\245\270\220\260" "\260\305\234\261\261\305\226\261\261\306\217\262\262\306\220\262\262" "\307\215\263\263\307\221\263\263\310\217\264\264\310\324\264\264\311" "\206\264\264\310\1\260\260\304\206\251\251\275\6\256\256\302\263\263" "\310\264\264\310\265\265\312\202\216\252\35Co\202\260\260\305\2\255\255" "\301\214\214\235\205xx\206\2\201\201\221\245\245\270\220\260\260\305" "\235\261\261\305\226\261\261\306\217\262\262\306\221\262\262\307\215" "\263\263\307\222\263\263\310\220\264\264\310\313\264\264\311\213\264" "\264\310\1\260\260\304\206\251\251\275\1\256\256\302\202\263\263\310" "\3\265\265\312\202\216\252\35Co\202\260\260\305\2\255\255\301\214\214" "\235\205xx\206\2\201\201\221\245\245\270\221\260\260\305\235\261\261" "\305\227\261\261\306\217\262\262\306\221\262\262\307\215\263\263\307" "\223\263\263\310\222\264\264\310\302\264\264\311\217\264\264\310\1\257" "\257\304\206\251\251\275\1\256\256\302\202\263\263\310\3\265\265\312" "\201\216\252\35Co\202\260\260\305\2\255\255\301\214\214\235\205xx\206" "\2\201\201\221\245\245\270\222\260\260\305\235\261\261\305\227\261\261" "\306\217\262\262\306\222\262\262\307\215\263\263\307\224\263\263\310" "\224\264\264\310\265\264\264\311\227\264\264\310\1\257\257\304\206\251" "\251\275\1\256\256\302\202\263\263\310\3\265\265\312\201\216\252\35C" "o\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201\221\245" "\245\270\223\260\260\305\235\261\261\305\227\261\261\306\220\262\262" "\306\222\262\262\307\216\263\263\307\224\263\263\310\230\264\264\310" "\250\264\264\311\233\264\264\310\3\263\263\310\264\264\310\257\257\304" "\206\251\251\275\1\256\256\302\202\263\263\310\3\265\265\312\201\216" "\252\35Co\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\201\201" "\220\245\245\270\224\260\260\305\231\261\261\305\231\261\261\306\217" "\262\262\306\223\262\262\307\216\263\263\307\225\263\263\310\231\264" "\264\310\246\264\264\311\230\264\264\310\206\263\263\310\1\257\257\304" "\206\251\251\275\6\256\256\302\263\263\307\263\263\310\265\265\312\201" "\216\252\35Co\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\203" "\203\223\247\247\272\225\260\260\305\225\261\261\305\232\261\261\306" "\220\262\262\306\223\262\262\307\216\263\263\307\225\263\263\310\230" "\264\264\310\251\264\264\311\223\264\264\310\212\263\263\310\1\257\257" "\304\206\251\251\275\6\256\256\302\263\263\307\263\263\310\265\265\312" "\201\216\252\35Co\202\260\260\305\2\255\255\301\214\214\235\205xx\206" "\2\205\205\225\250\250\274\224\260\260\305\227\261\261\305\233\261\261" "\306\220\262\262\306\223\262\262\307\216\263\263\307\227\263\263\310" "\234\264\264\310\232\264\264\311\224\264\264\310\220\263\263\310\1\257" "\257\303\206\251\251\275\6\256\256\302\263\263\307\263\263\310\265\265" "\312\201\216\252\35Co\202\260\260\305\2\255\255\301\214\214\235\205x" "x\206\2\205\205\225\250\250\274\223\260\260\305\232\261\261\305\232\261" "\261\306\220\262\262\306\224\262\262\307\217\263\263\307\230\263\263" "\310\301\264\264\310\225\263\263\310\1\257\257\303\206\251\251\275\6" "\256\256\302\263\263\307\263\263\310\265\265\311\201\216\252\35Co\202" "\260\260\305\2\255\255\301\214\214\235\205xx\206\2\205\205\225\250\250" "\274\222\260\260\305\234\261\261\305\232\261\261\306\221\262\262\306" "\224\262\262\307\217\263\263\307\232\263\263\310\275\264\264\310\225" "\263\263\310\1\257\257\303\206\251\251\275\1\256\256\302\202\263\263" "\307\3\265\265\311\201\216\252\35Co\202\260\260\305\2\255\255\301\214" "\214\235\205xx\206\2\205\205\225\250\250\274\225\260\260\305\235\261" "\261\305\232\261\261\306\220\262\262\306\225\262\262\307\221\263\263" "\307\235\263\263\310\263\264\264\310\226\263\263\310\1\257\257\303\206" "\251\251\275\1\256\256\302\202\263\263\307\3\265\265\311\201\216\252" "\35Co\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\205\205\225" "\250\250\274\234\260\260\305\234\261\261\305\231\261\261\306\221\262" "\262\306\225\262\262\307\223\263\263\307\336\263\263\310\1\257\257\303" "\206\251\251\275\1\256\256\302\202\263\263\307\3\264\264\311\201\216" "\252\35Co\202\260\260\305\2\255\255\301\214\214\235\205xx\206\2\205\205" "\225\250\250\274\236\260\260\305\233\261\261\305\232\261\261\306\221" "\262\262\306\227\262\262\307\224\263\263\307\324\263\263\310\205\263" "\263\307\1\257\257\303\206\251\251\275\6\256\256\302\262\262\307\263" "\263\307\264\264\311\201\216\252\35Co\202\260\260\305\2\255\255\301\214" "\214\235\205xx\206\2\205\205\225\250\250\274\237\260\260\305\234\261" "\261\305\231\261\261\306\222\262\262\306\227\262\262\307\226\263\263" "\307\313\263\263\310\212\263\263\307\1\257\257\303\206\251\251\275\6" "\256\256\302\262\262\307\263\263\307\264\264\311\201\216\252\35Co\202" "\260\260\305\2\255\255\301\214\214\235\205xx\206\2\205\205\225\250\250" "\274\240\260\260\305\234\261\261\305\232\261\261\306\222\262\262\306" "\230\262\262\307\230\263\263\307\301\263\263\310\217\263\263\307\1\257" "\257\303\206\251\251\275\6\255\255\302\262\262\307\263\263\307\264\264" "\311\201\216\252\35Co\202\260\260\305\2\255\255\301\214\214\235\205x" "x\206\2\205\205\225\250\250\274\241\260\260\305\234\261\261\305\233\261" "\261\306\223\262\262\306\230\262\262\307\233\263\263\307\265\263\263" "\310\222\263\263\307\5\264\264\310\263\263\310\262\262\307\257\257\303" "\252\252\276\205\251\251\275\1\255\255\302\202\262\262\307\3\264\264" "\311\201\215\252\35Co\202\260\260\305\2\255\255\301\214\214\235\205x" "x\206\2\205\205\225\250\250\274\242\260\260\305\235\261\261\305\233\261" "\261\306\223\262\262\306\232\262\262\307\240\263\263\307\243\263\263" "\310\233\263\263\307\5\262\262\306\245\245\270\222\222\243\220\220\240" "\240\240\263\205\251\251\275\1\255\255\302\202\262\262\307\3\264\264" "\311\201\215\252\35Co\202\260\260\305\2\255\255\301\214\214\235\203x" "x\206\202yy\207\2\201\201\220\231\231\253\212\240\240\262\2\240\240\263" "\244\244\267\266\246\246\271\1\250\250\273\241\253\253\277\207\254\254" "\277\221\254\254\300\2\256\256\302\257\257\304\273\260\260\304\1\260" "\260\305\253\262\262\307\7\262\262\306\244\244\267\205\205\224ddorr\200" "\223\223\245\244\244\267\203\251\251\275\1\255\255\302\202\262\262\307" "\3\264\264\311\201\215\252\35Co\202\260\260\305\3\255\255\301\214\214" "\235xx\206\202yy\207\4xx\206pp}``l\\\\g\212\\\\f\2]]hbbm\266ddo\2ggs" "llx\214lly\253mmy\2mmzrr\200\274vv\204\2xx\206~~\215\253\200\200\217" "\3\205\205\224\225\225\247\207\207\227\202kkx\5\204\204\224\232\232\254" "\246\246\272\251\251\275\255\255\301\202\262\262\307\3\264\264\311\201" "\215\252\35Co\202\260\260\305\11\255\255\301\214\214\235yy\207xx\206" "uu\202kkxYYdIIREEM\212FFN\2EEMEEN\267EEM\1FFN\270EEM\275FFN\1FFO\254" "HHQ\12LLUlly\221\221\242\224\224\245{{\211oo|xx\207\216\216\237\237\237" "\262\254\254\300\202\262\262\307\3\264\264\311\201\215\251\35Co\202\260" "\260\305\10\255\255\301\214\214\235vv\204pp}eepWWaJJREEN\377FFN\350F" "FN\17EEMIIQ\\\\g\205\205\224\235\235\257\213\213\233vv\203uu\203\210" "\210\230\246\246\271\262\262\306\262\262\307\264\264\311\201\215\251" "\35Co\202\260\260\305\6\254\254\300\211\211\231iiv__jTT^JJS\377FFN\354" "FFN\10EEMWWa{{\211\226\226\250\232\232\254\222\222\243\234\234\256\256" "\256\302\202\262\262\307\3\264\264\311\201\215\251\35Co\202\260\260\305" "\5\257\257\303\231\231\253{{\211ddpUU_\234PPZ\1OOX\265LLU\1JJR\271HH" "Q\1HHP\267FFN\2EEMDDL\247EEM\7DDLKKTjjw\223\223\244\251\251\274\262\262" "\307\263\263\307\202\262\262\307\3\264\264\311\201\215\251\35Co\202\260" "\260\305\5\261\261\305\260\260\304\250\250\274\232\232\254\222\222\244" "\234\222\222\243\1\217\217\240\265\212\212\232\1\205\205\224\256\201" "\201\220\1\201\201\221\212\202\202\221\2\200\200\216zz\210\266xx\206" "\1tt\202\244oo|\205oo{\5nn{rr\177\205\205\225\244\244\267\262\262\306" "\203\262\262\307\3\264\264\311\201\215\251\35Co\204\260\260\305\2\261" "\261\305\260\260\305\236\261\261\305\1\260\260\305\235\261\261\305\226" "\261\261\306\2\262\262\306\261\261\305\211\260\260\305\235\261\261\305" "\224\261\261\306\222\257\257\304\245\260\260\304\2\256\256\302\254\254" "\300\210\255\255\300\242\254\254\300\2\254\254\277\260\260\305\204\262" "\262\307\3\264\264\310\200\215\251\35Co\267\260\260\305\240\261\261\305" "\237\261\261\306\232\262\262\306\354\262\262\307\4\262\262\306\264\264" "\310\200\215\251\35Co\226\240\244\273\1\242\246\275\226\247\251\277\235" "\247\252\300\1\252\254\302\247\255\256\303\213\255\256\304\204\255\257" "\304\1\256\257\304\225\261\261\306\216\261\262\306\221\262\262\306\2" "\263\263\307\264\264\311\243\264\264\310\220\263\263\310\1\263\263\307" "\222\264\264\311\2\201\215\251\36Do"}; nted-1.10.18/icons/cross_icon.png0000664001041000007640000000026511520267227013525 00000000000000‰PNG  IHDR V%(gAMA± üatRNSÿ[‘"µbKGDª#2 pHYs  d_‘;IDATxÚcøO0P_>Ã0RÀÀ€GàVÀ€W‘ p:*‹WÁ ¨ÿƒ! G@Ñ_G©iGª­IEND®B`‚nted-1.10.18/icons/insert_mode_icon.png0000664001041000007640000000117411520267227014704 00000000000000‰PNG  IHDR szzôbKGDÿÿÿ ½§“ pHYs M MÒέNtIME×'Ó01¡ IDATXÃÅ×MˆMaðß3®LM!qSdA>JÙØ²°°"e¥dV;±1b¡,”Åd¥(+L)„YÌjÆFù˜Ì0=6çÖ˜îí~tÍyêé¼ç9ïûžÿû¾Î ìÄåÈú ~eæØ?æˆ 1&óÁÿz{DTz<[„k8ù¿)èQ²ôtƈ¸÷#â`»ë+Å.Û°|–}Iq])bou¯eNã>œ(ÆG#b2ó{« ªÉ“$ÛÐí™)3arŽŽ¢·6§‘¢Z)@\­Y ã^àjÐãMµ§0Ôsѱ´8ép §¨10S«±0ŽEÍèfÌ`?¾ÔŠ ŽÏkfæ\œe:ß)€iœÁípÜ)‚"âPû2ÿȼ)óa,üÆY¦Þ2*á³²Kñ;|+ @á†WÅí¯y5xŽÇÍ{A÷e5ÖâpfΔ»p13ß—„ q½õvÜØ—«°ë°©üŸ0†‘K‡³(öˆˆc8‡ÝÍoêdA¶CWuN‡:]§¿·¢ÓÍ:g«Ý°¿ìoÂ+…N¶¸ÇgœÅÆŽjFá‚Ñ:q° Š”Ú‚X¯˜Â[¼ÄÓÌœê°`U˜‰ˆj¥‹»í(~óZ•d7Kñ\ncþ uÏýmfÐÇ ¯{ dN`¢MÐ},‹ˆÍ%ýnø ó=5Vûe IEND®B`‚nted-1.10.18/icons/cross_icon.h0000664001041000007640000000426111520270060013155 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (cross_icon) #endif #ifdef __GNUC__ static const guint8 cross_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 cross_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (513) */ "\0\0\2\31" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\360\377\377\377\0\1\0\0\0\377\232\377\377\377\0\1\0\0\0\377\204\377" "\377\377\0\1\0\0\0\377\232\377\377\377\0\1\0\0\0\377\204\377\377\377" "\0\1\0\0\0\377\232\377\377\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0" "\0\377\232\377\377\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377\232" "\377\377\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377\232\377\377" "\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377\232\377\377\377\0\1" "\0\0\0\377\204\377\377\377\0\203\0\0\0\377\230\377\377\377\0\2\0\0\0" "\377\377\377\377\0\206\0\0\0\377\230\377\377\377\0\210\0\0\0\377\226" "\377\377\377\0\212\0\0\0\377\226\377\377\377\0\210\0\0\0\377\230\377" "\377\377\0\205\0\0\0\377\202\377\377\377\0\1\0\0\0\377\230\377\377\377" "\0\203\0\0\0\377\204\377\377\377\0\1\0\0\0\377\232\377\377\377\0\1\0" "\0\0\377\204\377\377\377\0\1\0\0\0\377\232\377\377\377\0\1\0\0\0\377" "\204\377\377\377\0\1\0\0\0\377\232\377\377\377\0\1\0\0\0\377\204\377" "\377\377\0\203\0\0\0\377\230\377\377\377\0\1\0\0\0\377\202\377\377\377" "\0\205\0\0\0\377\230\377\377\377\0\210\0\0\0\377\226\377\377\377\0\212" "\0\0\0\377\226\377\377\377\0\210\0\0\0\377\230\377\377\377\0\206\0\0" "\0\377\2\377\377\377\0\0\0\0\377\230\377\377\377\0\203\0\0\0\377\204" "\377\377\377\0\1\0\0\0\377\232\377\377\377\0\1\0\0\0\377\204\377\377" "\377\0\1\0\0\0\377\232\377\377\377\0\1\0\0\0\377\204\377\377\377\0\1" "\0\0\0\377\232\377\377\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377" "\232\377\377\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377\232\377" "\377\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377\232\377\377\377" "\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377\217\377\377\377\0"}; nted-1.10.18/icons/drum3_icon_small.png0000664001041000007640000000041211520267227014610 00000000000000‰PNG  IHDRÔ¯,ÄsRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÙ  82º|+1tEXtCommentCreated with GIMPWeIDAT8˽“A À03é©ÿBßY6—R©æ Æ‹`ÀÍŠ¤ Ixï½%£¯Ôç¼—ÀªN4GŠ@Ò½làÍ 8³;¸>M­¢?#D¦Ù÷Å_½ÎHVÍ£ª=¦Wµôœþ-Èàë¯qIEND®B`‚nted-1.10.18/icons/drum9_icon_small.png0000664001041000007640000000047211520267227014624 00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ  c{½ºIDAT8ËÕ“1 Â@E߈Xؤ²QD /bç)l=‡lÄX‰•7 ¯`°µ· øm&KH! ,Ìÿo–ý¬I¢MuhY¿˜™…³$Ìl¤?ÞÀ^ÒIøC.|¨š¾[ +‰pȪÆü†À4xЇl*Ì0w}pŠÖemà>p+˜ÏÅ­µ‡ €I•.q L"‘Í€pÌv’^ù¶KƒøÊ=7øïÏô(wÙŒ;qŽñIEND®B`‚nted-1.10.18/icons/n64thnote_icon.h0000664001041000007640000000633311520270060013657 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (n64thnote_icon) #endif #ifdef __GNUC__ static const guint8 n64thnote_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 n64thnote_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (879) */ "\0\0\3\207" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\206\377\377\377\0\212\0\221\0\7\1\0\0\0\377\225\377\377\377\0\212\0" "\221\0\7\1\0\0\0\377\211\0\221\0\7\214\377\377\377\0\212\0\221\0\7\202" "\0\0\0\377\210\0\221\0\7\214\377\377\377\0\212\0\221\0\7\203\0\0\0\377" "\207\0\221\0\7\214\377\377\377\0\212\0\221\0\7\204\0\0\0\377\206\0\221" "\0\7\214\377\377\377\0\212\0\221\0\7\205\0\0\0\377\205\0\221\0\7\214" "\377\377\377\0\212\0\221\0\7\2\0\0\0\377\0\221\0\7\204\0\0\0\377\204" "\0\221\0\7\214\377\377\377\0\212\0\221\0\7\202\0\0\0\377\202\0\221\0" "\7\202\0\0\0\377\204\0\221\0\7\214\377\377\377\0\212\0\221\0\7\203\0" "\0\0\377\202\0\221\0\7\202\0\0\0\377\203\0\221\0\7\214\377\377\377\0" "\212\0\221\0\7\204\0\0\0\377\202\0\221\0\7\1\0\0\0\377\203\0\221\0\7" "\214\377\377\377\0\212\0\221\0\7\205\0\0\0\377\2\0\221\0\7\0\0\0\377" "\203\0\221\0\7\214\377\377\377\0\212\0\221\0\7\2\0\0\0\377\0\221\0\7" "\205\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0\221\0\7\202\0\0" "\0\377\202\0\221\0\7\203\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212" "\0\221\0\7\203\0\0\0\377\202\0\221\0\7\202\0\0\0\377\203\0\221\0\7\214" "\377\377\377\0\212\0\221\0\7\204\0\0\0\377\202\0\221\0\7\1\0\0\0\377" "\203\0\221\0\7\214\377\377\377\0\212\0\221\0\7\205\0\0\0\377\2\0\221" "\0\7\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0\221\0\7\2\0\0\0" "\377\0\221\0\7\205\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0\221" "\0\7\202\0\0\0\377\202\0\221\0\7\203\0\0\0\377\203\0\221\0\7\214\377" "\377\377\0\212\0\221\0\7\203\0\0\0\377\202\0\221\0\7\202\0\0\0\377\203" "\0\221\0\7\214\377\377\377\0\212\0\221\0\7\204\0\0\0\377\202\0\221\0" "\7\1\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0\221\0\7\205\0\0" "\0\377\2\0\221\0\7\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0\221" "\0\7\207\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0\221\0\7\1\0" "\0\0\377\202\0\221\0\7\204\0\0\0\377\203\0\221\0\7\214\377\377\377\0" "\212\0\221\0\7\1\0\0\0\377\204\0\221\0\7\202\0\0\0\377\203\0\221\0\7" "\214\377\377\377\0\206\0\221\0\7\202\0\0\0\377\202\0\221\0\7\1\0\0\0" "\377\204\0\221\0\7\202\0\0\0\377\203\0\221\0\7\214\377\377\377\0\204" "\0\221\0\7\207\0\0\0\377\205\0\221\0\7\1\0\0\0\377\203\0\221\0\7\214" "\377\377\377\0\203\0\221\0\7\210\0\0\0\377\205\0\221\0\7\1\0\0\0\377" "\203\0\221\0\7\216\377\377\377\0\211\0\0\0\377\205\0\221\0\7\1\0\0\0" "\377\203\0\221\0\7\214\377\377\377\0\202\0\221\0\7\210\0\0\0\377\205" "\0\221\0\7\1\0\0\0\377\204\0\221\0\7\214\377\377\377\0\202\0\221\0\7" "\210\0\0\0\377\205\0\221\0\7\1\0\0\0\377\204\0\221\0\7\214\377\377\377" "\0\203\0\221\0\7\206\0\0\0\377\206\0\221\0\7\1\0\0\0\377\204\0\221\0" "\7\214\377\377\377\0\204\0\221\0\7\203\0\0\0\377\215\0\221\0\7\206\377" "\377\377\0"}; nted-1.10.18/icons/key_icon.h0000664001041000007640000001602011520270060012610 00000000000000/* GdkPixbuf RGB C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (key_icon) #endif #ifdef __GNUC__ static const guint8 key_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 key_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1907) */ "\0\0\7\213" /* pixdata_type (0x2010001) */ "\2\1\0\1" /* rowstride (96) */ "\0\0\0`" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\345\314\377\377\5\257\324\326}\202\211\217\222\233\213\216\227\223\231" "\242\203\210\213\224\17\240\251\262\231\237\250\222\224\236\211\214\225" "\234\245\256\216\220\232\211\214\225\222\225\236\211\214\225\216\220" "\232\211\214\225\215\220\231\210\213\224\207\212\223\254\315\320\211" "\314\377\377\11\205\225\232~r~\242\222\242\243\223\243\244\223\244\244" "\224\244\245\225\245\246\225\246\246\226\246\202\247\226\247\1\247\227" "\247\204\250\227\250\1\247\227\247\202\247\226\247\4\246\226\246\246" "\225\246\210z\210\202\212\221\211\314\377\377\11jls\204w\204\243\223" "\243\244\224\244\245\224\245\246\225\246\246\226\246\247\226\247\247" "\227\247\202\250\227\250\2E>wYP\201\204\251\230\251\203\250\227\250\3" "\247\226\247\220\202\220|\201\210\211\314\377\377\10]X`\222\203\222\244" "\224\244\245\224\245\246\225\246\247\226\247\247\227\247\250\227\250" "\203\251\230\251\2\11\10Z\36\33d\204\252\231\252\203\251\230\251\3\250" "\227\250\231\211\231e[e\211\314\377\377\5WNW\227\210\227\245\225\245" "\246\225\246\247\226\247\202\250\227\250\1\251\230\251\202\252\231\252" "\4\202u\226\0\0R\0\0U\215\177\234\203\253\232\253\203\252\231\252\3\251" "\230\251\235\216\235f\\f\210\314\377\377\6\267\337\341XOX\241\221\241" "\246\225\246\247\226\247\250\227\250\202\251\230\251\202\252\231\252" "\5\253\232\253F\77y\12\11""5\0\0V<6t\202\254\233\254\1\254\232\254\202" "\253\232\253\5\253\231\253\252\231\252\251\230\251g]g\271\341\343\207" "\314\377\377\5\233\265\271j`j\246\225\246\247\226\247\250\227\250\202" "\251\230\251\1\252\231\252\202\253\232\253\5\227\210\242\0\0Kodw\0\0" "F\0\0V\203\255\233\255\202\254\233\254\202\253\232\253\3\252\231\252" "pep\247\305\310\207\314\377\377\4\233\266\271k`k\247\226\247\250\227" "\250\202\251\230\251\12\252\231\252\253\232\253\254\232\254\254\233\254" "[R\204\24\22G\255\234\255\36\33M\0\0Wf\\\212\203\255\234\255\1\255\233" "\255\202\254\233\254\3\253\232\253|p|\242\273\300\207\314\377\377\20" "\200\214\222ymy\247\227\247\250\230\250\251\230\251\252\231\252\253\232" "\253\254\232\254\254\233\254\255\233\255($k\\Sl\256\234\256f\\u\0\0W" "\12\11\\\202\256\235\256\1\256\234\256\202\255\234\255\4\255\233\255" "\254\233\254\211{\211\204\214\223\207\314\377\377\22lnu\210z\210\250" "\227\250\251\230\251\252\231\252\253\232\253\254\232\254\254\233\254" "\255\234\255\217\200\236\0\0E\232\212\235\257\235\257\232\213\234\0\0" ">\0\0W\220\201\237\257\235\257\202\256\235\256\5\256\234\256\255\234" "\255\255\233\255\215\177\215yy\202\207\314\377\377\7_Yb\215\177\215\251" "\230\251\252\231\252\253\231\253\253\232\253\254\233\254\202\255\234" "\255\2=7v\12\11Y\202\36\33g\5)%l\0\0O\0\0X>7w\257\236\257\202\257\235" "\257\5\256\235\256\256\234\256\255\234\255\231\212\231h]h\206\314\377" "\377\13\305\364\365XPX\233\213\233\251\230\251\252\231\252\253\232\253" "\254\233\254\255\233\255\255\234\255\244\223\251\24\22Z\202\37\33""7" "\5)%@)%<\37\34""6\0\0T\0\0X\202\260\236\260\7\257\236\257\257\235\257" "\256\235\256\256\234\256\236\216\236h^h\306\365\366\205\314\377\377\14" "\260\325\327YPY\244\224\244\252\231\252\253\232\253\254\232\254\254\233" "\254\255\234\255\256\234\256qe\220\0\0>\245\225\247\202\260\236\260\202" "\260\237\260\3\12\11D\0\0Xrf\221\202\260\236\260\6\257\236\257\257\235" "\257\256\235\256\256\234\256j_j\272\342\344\205\314\377\377\14\242\300" "\303cYc\251\230\251\252\231\252\253\232\253\254\233\254\255\234\255\256" "\234\256\256\235\256)%l>7Y\260\236\260\202\260\237\260\202\261\237\261" "\4IA[\0\0X)%m\260\237\260\202\260\236\260\5\257\236\257\257\235\257\256" "\235\256vjv\256\317\322\205\314\377\377\15\225\254\260h^h\252\231\252" "\253\232\253\254\232\254\254\233\254\255\234\255\256\234\256\232\213" "\244\0\0T\221\202\225\260\236\260\260\237\260\203\261\237\261\5\222\203" "\225\0\0K\0\0X\207y\234\260\237\260\202\260\236\260\4\257\236\257\256" "\235\256{n{\235\263\270\205\314\377\377\14\210\227\235vkv\252\231\252" "\253\232\253\254\233\254\255\233\255\256\234\256\244\223\251)%l\0\0T" "|p\217\246\225\253\203\261\237\261\14\261\240\261\234\215\247\0\0P\0" "\0X\37\34h\234\214\246\260\237\260\260\236\260\257\236\257\257\235\257" "\177r\177\205\215\224\205\314\377\377\14z\203\211{o{\252\231\252\253" "\232\253\254\233\254\255\234\255\256\234\2564/]\24\22=\12\11""3\37\34" "Jrg\201\202\261\237\261\15\261\240\261\177r\203)%H\37\34C\37\34K)%P\37" "\34K\246\226\253\260\237\260\260\236\260\257\236\257\207z\207zz\203\205" "\314\377\377\13fdl\212|\212\253\231\253\254\232\254\254\233\254\255\234" "\255\256\235\256\257\235\257\257\236\257\260\236\260\260\237\260\202" "\261\237\261\1\261\240\261\205\262\240\262\1\261\240\261\202\261\237" "\261\5\260\237\260\260\236\260\257\236\257\233\214\233{{\204\205\314" "\377\377\12YPY\223\204\223\253\232\253\254\233\254\255\233\255\255\234" "\255\256\235\256\257\235\257\257\236\257\260\236\260\203\261\237\261" "\207\262\240\262\1\261\240\261\202\261\237\261\202\260\236\260\3\233" "\214\233i_i\306\365\366\203\314\377\377\11\267\340\341ZQZ\245\225\245" "\253\232\253\254\233\254\255\233\255\256\234\256\256\235\256\257\235" "\257\202\260\236\260\202\261\237\261\1\261\240\261\207\262\240\262\1" "\261\240\261\202\261\237\261\5\260\237\260\260\236\260\243\223\243j`" "j\264\330\333\203\314\377\377\20\243\300\304ZQZ\243\223\243\250\230\250" "\251\230\251\255\233\255\250\227\250\256\235\256\257\235\257\255\234" "\255\260\236\260\256\234\256\256\235\256\254\233\254\257\235\257\262" "\240\262\202\257\236\257\202\262\240\262\11\251\230\251\257\235\257\256" "\235\256\253\232\253\260\237\260\255\234\255\257\236\257k`k\250\306\311" "\203\314\377\377\7\216\242\246f\\f|o|}p}}q}~q~~r~\202\177r\177\203\200" "s\200\213\201t\201\1\200t\200\202\200s\200\3\177s\177qeq\235\263\270" "\203\314\377\377\10\201\215\223vjvznz{o{|o||p|}p}}q}\202~q~\1~r~\203" "\177r\177\202\177s\177\204\200s\200\1\177s\177\203\177r\177\1~r~\202" "~q~\2znz\221\240\246\203\314\377\377\2|\201\210xlx\202ymy\4znz{n{{o{" "|o|\202|p|\1}p}\202}q}\211~q~\202}q}\1}p}\202|p|\2|o|\205\210\221\203" "\314\377\377\1{w\201\202wkw\202xlx\202ymy\202znz\1{n{\202{o{\202|o|\207" "|p|\202|o|\202{o{\1{n{\202znz\1\200{\206\203\314\377\377\202\262\323" "\326\2\255\312\316\270\334\337\202\256\313\317\3\263\323\327\251\302" "\307\263\324\327\202\270\334\337\10\264\324\330\252\303\310\270\335\337" "\264\324\330\257\314\320\264\324\330\257\314\320\252\303\310\202\264" "\324\330\5\257\314\320\270\335\337\264\324\330\257\313\320\270\334\337" "\202\263\324\327\1\256\313\317\341\314\377\377"}; nted-1.10.18/icons/signs.h0000664001041000007640000004143511520270060012143 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (signs) #endif #ifdef __GNUC__ static const guint8 signs[] __attribute__ ((__aligned__ (4))) = #else static const guint8 signs[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (4830) */ "\0\0\22\366" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (648) */ "\0\0\2\210" /* width (162) */ "\0\0\0\242" /* height (42) */ "\0\0\0*" /* pixel_data: */ "\2\233\233\233\377fff\377\246\210\210\210\377\2jjj\377fff\377\246\210" "\210\210\377\2jjj\377fff\377\246\210\210\210\377\2jjj\377fff\377\246" "\210\210\210\377\4jjj\377fff\377eee\377888\377\246www\377\2\77\77\77" "\377888\377\246www\377\2\77\77\77\377888\377\246www\377\2\77\77\77\377" "888\377\246www\377\4\77\77\77\377888\377\207\207\207\377xxx\377\246\377" "\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207" "\377xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377" "\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\246\377\377" "\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377" "xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377" "\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\246\377\377\377" "\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377x" "xx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377" "\4\207\207\207\377xxx\377\207\207\207\377xxx\377\246\377\377\377\377" "\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377" "\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\4\207" "\207\207\377xxx\377\207\207\207\377xxx\377\246\377\377\377\377\2\207" "\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246" "\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\4\207\207" "\207\377xxx\377\207\207\207\377xxx\377\246\377\377\377\377\2\207\207" "\207\377xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246\377" "\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\4\207\207\207" "\377xxx\377\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207" "\377xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377" "\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\4\207\207\207\377" "xxx\377\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377" "xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377" "\377\2\207\207\207\377xxx\377\246\377\377\377\377\4\207\207\207\377x" "xx\377\207\207\207\377xxx\377\222\377\377\377\377\2\375\370\360\377\363" "\374\376\377\222\377\377\377\377\2\207\207\207\377xxx\377\220\377\377" "\377\377\2\377\376\373\377\370\373\376\377\207\377\377\377\377\2\340" "\334\334\377\336\341\362\377\213\377\377\377\377\2\207\207\207\377xx" "x\377\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377" "\4\207\207\207\377xxx\377\207\207\207\377xxx\377\222\377\377\377\377" "\2\334\250\77\377b\331\356\377\222\377\377\377\377\2\207\207\207\377" "xxx\377\216\377\377\377\377\6\374\370\340\377~_F\377\22\7\3\377\5\3\7" "\377/C]\377\272\340\363\377\204\377\377\377\377\3\351\311|\377\0\0\0" "\377Z\253\336\377\213\377\377\377\377\2\207\207\207\377xxx\377\246\377" "\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\4\207\207\207" "\377xxx\377\207\207\207\377xxx\377\222\377\377\377\377\2\334\250\77\377" "b\331\356\377\222\377\377\377\377\2\207\207\207\377xxx\377\215\377\377" "\377\377\10\377\376\373\377m1\24\377\6\14/\377\267\330\356\377\376\374" "\364\377\250t1\377\6\14-\377\312\363\372\377\202\377\377\377\377\4\376" "\375\365\377Q\27\12\377\20%j\377\375\377\377\377\213\377\377\377\377" "\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377" "\246\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377" "\221\377\377\377\377\4\374\366\350\377\263}0\377@\254\310\377\370\376" "\377\377\221\377\377\377\377\2\207\207\207\377xxx\377\215\377\377\377" "\377\3\352\315j\377\0\0\0\3773\204\320\377\202\377\377\377\377\3\243" "uB\377\0\0\0\377$[\271\377\202\377\377\377\377\3\323\223E\377\1\1\4\377" "\230\334\361\377\214\377\377\377\377\2\207\207\207\377xxx\377\246\377" "\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\4\207\207\207" "\377xxx\377\207\207\207\377xxx\377\220\377\377\377\377\6\264\210b\377" "\36\23&\377A$\16\377\27>4\377\17\34""5\377\224\276\344\377\220\377\377" "\377\377\2\207\207\207\377xxx\377\215\377\377\377\377\5\311o,\377\0\0" "\0\377C\264\340\377\377\377\377\377\370\360\276\377\202\0\0\0\377\5\10" "\20A\377\377\377\377\377\372\364\320\377\40\10\4\377\"V\247\377\215\377" "\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207" "\377xxx\377\246\377\377\377\377\4\207\207\207\377xxx\377\207\207\207" "\377xxx\377\217\377\377\377\377\10\314\216J\377\2\5\22\377\267\346\365" "\377\334\250\77\377b\331\356\377\323\240W\377\2\4\20\377\237\333\360" "\377\217\377\377\377\377\2\207\207\207\377xxx\377\215\377\377\377\377" "\14\306g)\377\0\0\0\377$Z\274\377\377\377\377\377\377\376\370\377H\27" "\12\377\0\0\0\377\13\27S\377\377\377\377\377\251Y#\377\4\10\37\377\320" "\364\372\377\215\377\377\377\377\2\207\207\207\377xxx\377\246\377\377" "\377\377\2\207\207\207\377xxx\377\226\377\377\377\377\2\340\275\233\377" "C)\23\377\205\0\0\0\377\1L\314\351\377\210\377\377\377\377\4\207\207" "\207\377xxx\377\207\207\207\377xxx\377\216\377\377\377\377\11\372\364" "\320\377\22\5\2\377\33@\252\377\377\377\377\377\334\250\77\377b\331\356" "\377\377\376\371\3770\14\6\377\17#m\377\217\377\377\377\377\2\207\207" "\207\377xxx\377\215\377\377\377\377\13\344\276Q\377\0\0\0\377\3\7\33" "\377\305\360\370\377\377\377\377\377\371\360\327\377\251\243\245\377" "\322\354\370\377\361\336\232\377\4\1\1\377E\222\323\377\216\377\377\377" "\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377x" "xx\377\225\377\377\377\377\2\305\222a\377\5\1\1\377\206\0\0\0\377\1I" "\304\346\377\210\377\377\377\377\4\207\207\207\377xxx\377\207\207\207" "\377xxx\377\216\377\377\377\377\12\325\2238\377\0\0\0\377>\245\333\377" "\377\377\377\377\334\250\77\377b\331\356\377\377\377\377\377\234&\22" "\377\0\0\0\377\230\346\364\377\216\377\377\377\377\2\207\207\207\377" "xxx\377\215\377\377\377\377\5\375\372\353\377;\16\7\377\0\0\0\377\17" "#R\377\316\357\370\377\202\377\377\377\377\4\377\377\375\377n(\21\377" "\13\30Q\377\365\375\376\377\216\377\377\377\377\2\207\207\207\377xxx" "\377\246\377\377\377\377\2\207\207\207\377xxx\377\215\377\377\377\377" "\1\331\240<\377\203\0\0\0\377\1Q\251\335\377\202\377\377\377\377\5\344" "\273w\377\2\1\1\377\2\3\14\377_~\231\377\330\352\367\377\215\377\377" "\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\216\377\377" "\377\377\12\214$\21\377\0\0\0\377V\325\354\377\377\377\377\377\334\250" "\77\377b\331\356\377\377\377\377\377\274J\37\377\0\0\0\3776\214\323\377" "\216\377\377\377\377\2\207\207\207\377xxx\377\216\377\377\377\377\14" "\354\317\231\377\25\5\3\377\0\0\0\377\7\17,\377\214\254\314\377\377\377" "\377\377\340\257^\377\0\0\0\377}\312\352\377\377\377\377\377\373\365" "\357\377\375\377\377\377\214\377\377\377\377\2\207\207\207\377xxx\377" "\222\377\377\377\377\6\323\243~\3777(\33\377\6\3\2\377\12\20\32\377D" "Zu\377\330\365\373\377\216\377\377\377\377\2\207\207\207\377xxx\377\215" "\377\377\377\377\1\347\304b\377\203\0\0\0\377\6\10\21D\377\364\375\376" "\377\376\373\355\3779\16\7\377\0\0\0\377|\270\342\377\217\377\377\377" "\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\216\377\377\377" "\377\12""6\15\6\377\0\0\0\377m\334\357\377\377\377\377\377\334\250\77" "\377b\331\356\377\377\377\377\377\302\\%\377\0\0\0\377\27""4\256\377" "\216\377\377\377\377\2\207\207\207\377xxx\377\217\377\377\377\377\2\354" "\315\243\3772\24\10\377\202\0\0\0\377\7\"\224\377\220\377\377\377\377\4\207\207" "\207\377xxx\377\207\207\207\377xxx\377\213\377\377\377\377\1\351\301" "\272\377\202\263\263\263\377\202\0\0\0\377\10""8\226\246\377\263\263" "\263\377\226h(\3778\226\246\377\263\263\263\377}\40\17\377\0\0\0\377" "\12\24R\377\202\263\263\263\377\1\307\347\366\377\213\377\377\377\377" "\2\207\207\207\377xxx\377\220\377\377\377\377\3\373\365\334\377}\\;\377" "\1\1\1\377\202\0\0\0\377\5$^\205\377\344\370\374\377\376\374\361\377" "\204ok\377\237\314\353\377\214\377\377\377\377\2\207\207\207\377xxx\377" "\222\377\377\377\377\1+\13\5\377\204\0\0\0\377\1\2\3\15\377\216\377\377" "\377\377\2\207\207\207\377xxx\377\216\377\377\377\377\1\346\301k\377" "\203\0\0\0\377\4\10\21D\377E\21\10\377\0\0\0\377\222\340\362\377\220" "\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\213" "\377\377\377\377\3\353\310\301\377\273\273\273\377\274\274\274\377\202" "\0\0\0\377\10;\236\257\377\276\276\276\377\240q+\377;\240\261\377\277" "\277\277\377\211*\23\377\0\0\0\377\13\26\\\377\202\302\302\302\377\1" "\322\354\370\377\213\377\377\377\377\2\207\207\207\377xxx\377\216\377" "\377\377\377\5\353\315\216\377=\31\377\5\13-\377\213{]\377\16\4\2\377\0\0\0\377" "\3\6\26\377\212\272\343\377\215\377\377\377\377\2\207\207\207\377xxx" "\377\223\377\377\377\377\5\377\376\373\377\331\314\301\3772\14\6\377" "\0\0\0\377\34E\247\377\216\377\377\377\377\2\207\207\207\377xxx\377\217" "\377\377\377\377\1\352\314z\377\204\0\0\0\377\1""1\177\316\377\221\377" "\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\216\377" "\377\377\377\12\2455\27\377\0\0\0\377P\317\352\377\377\377\377\377\334" "\250\77\377b\331\356\377\377\377\377\377\271C\34\377\0\0\0\3777\221\324" "\377\216\377\377\377\377\2\207\207\207\377xxx\377\221\377\377\377\377" "\11\352\312}\377\0\0\0\377c\264\341\377\377\377\377\377\360\327\266\377" "M(\20\377\0\0\0\377\2\4\21\377\231\323\355\377\214\377\377\377\377\2" "\207\207\207\377xxx\377\224\377\377\377\377\4\366\353\263\377\5\2\1\377" "\2\5\22\377\260\351\365\377\216\377\377\377\377\2\207\207\207\377xxx" "\377\220\377\377\377\377\1w)\22\377\203\0\0\0\377\1\216\344\363\377\221" "\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\216" "\377\377\377\377\12\343\270U\377\0\0\0\3777\220\324\377\377\377\377\377" "\334\250\77\377b\331\356\377\377\377\377\377\220#\20\377\0\0\0\377\244" "\351\365\377\216\377\377\377\377\2\207\207\207\377xxx\377\220\377\377" "\377\377\3\376\375\365\377Q\30\13\377\22+t\377\203\377\377\377\377\5" "\375\372\351\377r>\31\377\0\0\0\377\10\22A\377\353\372\375\377\213\377" "\377\377\377\2\207\207\207\377xxx\377\223\377\377\377\377\4\377\377\376" "\377\203;\30\377\1\2\7\377u\254\334\377\217\377\377\377\377\2\207\207" "\207\377xxx\377\220\377\377\377\377\1\356\327\213\377\202\0\0\0\377\2" "\5\13+\377\373\376\377\377\221\377\377\377\377\4\207\207\207\377xxx\377" "\207\207\207\377xxx\377\216\377\377\377\377\11\376\374\360\377@\20\10" "\377\22'\207\377\377\377\377\377\334\250\77\377b\331\356\377\376\374" "\362\377\"\10\4\377\25""2\201\377\217\377\377\377\377\2\207\207\207\377" "xxx\377\220\377\377\377\377\13\324\223E\377\1\2\6\377\241\341\363\377" "\367\353\304\377sgf\377\225\271\342\377\377\377\377\377\374\367\333\377" "-\13\5\377\0\0\0\377E\242\333\377\213\377\377\377\377\2\207\207\207\377" "xxx\377\223\377\377\377\377\3\323\232V\377\4\11!\377\213\265\335\377" "\220\377\377\377\377\2\207\207\207\377xxx\377\221\377\377\377\377\3\207" "4\26\377\0\0\0\377\36J\261\377\222\377\377\377\377\4\207\207\207\377" "xxx\377\207\207\207\377xxx\377\217\377\377\377\377\10\353\313\220\377" "\20\4\3\377x\257\327\377\334\250\77\377b\331\355\377\274\207B\377\5\12" "(\377\271\352\366\377\217\377\377\377\377\2\207\207\207\377xxx\377\217" "\377\377\377\377\14\372\364\321\377\40\10\4\377&`\260\377\377\377\377" "\377\2232\25\377\0\0\0\377\3\7\32\377\346\371\375\377\377\377\377\377" "\312u.\377\0\0\0\377\23)\232\377\213\377\377\377\377\2\207\207\207\377" "xxx\377\222\377\377\377\377\3\377\377\375\377\207jz\377\313\351\366\377" "\221\377\377\377\377\2\207\207\207\377xxx\377\221\377\377\377\377\3\366" "\351\277\377\243\243\243\377\274\345\365\377\222\377\377\377\377\4\207" "\207\207\377xxx\377\207\207\207\377xxx\377\220\377\377\377\377\6\352" "\314\251\377VA/\377\34\7\4\377\17'%\3777Kd\377\275\341\363\377\220\377" "\377\377\377\2\207\207\207\377xxx\377\217\377\377\377\377\14\252Y#\377" "\5\11%\377\327\366\373\377\377\377\377\377a\30\13\377\0\0\0\377\1\1\1" "\377\303\361\371\377\377\377\377\377\357\334r\377\0\0\0\377\17\37\201" "\377\213\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377" "\2\207\207\207\377xxx\377\246\377\377\377\377\4\207\207\207\377xxx\377" "\207\207\207\377xxx\377\222\377\377\377\377\2\334\250\77\377`\331\356" "\377\222\377\377\377\377\2\207\207\207\377xxx\377\216\377\377\377\377" "\3\361\336\233\377\5\1\1\377L\233\330\377\202\377\377\377\377\3\271V" "#\377\0\0\0\377Q\203\266\377\202\377\377\377\377\3\362\343\210\377\0" "\0\0\377*i\305\377\213\377\377\377\377\2\207\207\207\377xxx\377\246\377" "\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\4\207\207\207" "\377xxx\377\207\207\207\377xxx\377\222\377\377\377\377\2\334\250\77\377" "b\331\356\377\222\377\377\377\377\2\207\207\207\377xxx\377\215\377\377" "\377\377\4\377\377\375\377o(\21\377\14\34Z\377\371\376\377\377\202\377" "\377\377\377\10\371\361\304\377.\15\6\377,f\231\377\356\372\375\377\376" "\373\356\377\212N\37\377\7\20""6\377\320\364\372\377\213\377\377\377" "\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377x" "xx\377\246\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377x" "xx\377\222\377\377\377\377\2\343\267c\377\177\340\361\377\222\377\377" "\377\377\2\207\207\207\377xxx\377\215\377\377\377\377\3\343\271i\377" "\14\14\14\377\207\321\354\377\204\377\377\377\377\6\365\345\304\377n" "VB\377\35\27\31\377\34\33\37\377FZr\377\311\352\367\377\214\377\377\377" "\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377x" "xx\377\246\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377x" "xx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377" "\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377" "\246\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377" "\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207" "\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246" "\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\246" "\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207" "\207\377xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246\377" "\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\246\377" "\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207" "\377xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377" "\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\246\377\377" "\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377" "xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377" "\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\246\377\377\377" "\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377x" "xx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377" "\4\207\207\207\377xxx\377\207\207\207\377xxx\377\246\377\377\377\377" "\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377" "\246\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\4\207" "\207\207\377xxx\377\207\207\207\377xxx\377\246\377\377\377\377\2\207" "\207\207\377xxx\377\246\377\377\377\377\2\207\207\207\377xxx\377\246" "\377\377\377\377\2\207\207\207\377xxx\377\246\377\377\377\377\2\207\207" "\207\377xxx\377\377\377\377\377\377\243\377\377\377\377\1\307\307\307" "\377\377\210\210\210\377\242\210\210\210\377\1\277\277\277\377\377ww" "w\377\242www\377"}; nted-1.10.18/icons/drum1_icon.h0000664001041000007640000000560511520270060013057 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum1_icon) #endif #ifdef __GNUC__ static const guint8 drum1_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum1_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (869) */ "\0\0\3}" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\225\377\377\377\0\2\0\0\0'\0\0\0\32\236\377\377\377\0\2\0\0\0\220\0" "\0\0^\236\377\377\377\0\2\0\0\0\220\0\0\0^\236\377\377\377\0\2\0\0\0" "\220\0\0\0^\236\377\377\377\0\2\0\0\0\220\0\0\0^\236\377\377\377\0\2" "\0\0\0\220\0\0\0^\236\377\377\377\0\2\0\0\0\220\0\0\0^\236\377\377\377" "\0\2\0\0\0\220\0\0\0^\236\377\377\377\0\2\0\0\0\220\0\0\0^\236\377\377" "\377\0\2\0\0\0\220\0\0\0^\236\377\377\377\0\2\0\0\0\220\0\0\0^\236\377" "\377\377\0\2\0\0\0\220\0\0\0^\236\377\377\377\0\2\0\0\0\220\0\0\0^\236" "\377\377\377\0\2\0\0\0\220\0\0\0^\236\377\377\377\0\2\0\0\0\220\0\0\0" "^\236\377\377\377\0\2\0\0\0\220\0\0\0^\236\377\377\377\0\2\0\0\0\220" "\0\0\0^\236\377\377\377\0\2\0\0\0\220\0\0\0^\227\377\377\377\0\4\0\0" "\0\13\0\0\0'\0\0\0!\0\0\0\5\203\377\377\377\0\2\0\0\0\220\0\0\0^\225" "\377\377\377\0\13\0\0\0D\0\0\0\275\0\0\0\325\0\0\0\370\0\0\0\347\0\0" "\0\337\0\0\0\227\0\0\0\37\377\377\377\0\0\0\0\220\0\0\0^\224\377\377" "\377\0\14\0\0\0\205\0\0\0\274\0\0\0""1\377\377\377\0\0\0\0\340\0\0\0" "\221\0\0\0\4\0\0\0Z\0\0\0\325\0\0\0D\0\0\0\220\0\0\0^\223\377\377\377" "\0\3\0\0\0s\0\0\0\236\0\0\0\4\202\377\377\377\0\2\0\0\0\340\0\0\0\221" "\202\377\377\377\0\4\0\0\0\35\0\0\0\323\0\0\0\274\0\0\0^\222\377\377" "\377\0\3\0\0\0\32\0\0\0\316\0\0\0\5\203\377\377\377\0\2\0\0\0\340\0\0" "\0\221\203\377\377\377\0\3\0\0\0>\0\0\0\376\0\0\0^\222\377\377\377\0" "\2\0\0\0s\0\0\0i\204\377\377\377\0\2\0\0\0\340\0\0\0\221\204\377\377" "\377\0\2\0\0\0\303\0\0\0^\222\377\377\377\0\2\0\0\0\252\0\0\0_\204\0" "\0\0@\2\0\0\0\350\0\0\0\255\204\0\0\0@\2\0\0\0\253\0\0\0^\222\377\377" "\377\0\1\0\0\0\270\214\0\0\0\377\1\0\0\0^\222\377\377\377\0\2\0\0\0\243" "\0\0\0V\204\0\0\0""3\2\0\0\0\347\0\0\0\247\204\0\0\0""3\2\0\0\0\235\0" "\0\0J\222\377\377\377\0\2\0\0\0^\0\0\0m\204\377\377\377\0\2\0\0\0\340" "\0\0\0\221\204\377\377\377\0\2\0\0\0\302\0\0\0\16\222\377\377\377\0\3" "\0\0\0\12\0\0\0\310\0\0\0\14\203\377\377\377\0\2\0\0\0\340\0\0\0\221" "\203\377\377\377\0\2\0\0\0H\0\0\0\231\224\377\377\377\0\3\0\0\0I\0\0" "\0\254\0\0\0\7\202\377\377\377\0\2\0\0\0\340\0\0\0\221\202\377\377\377" "\0\3\0\0\0)\0\0\0\304\0\0\0\23\225\377\377\377\0\12\0\0\0R\0\0\0\277" "\0\0\0F\0\0\0\3\0\0\0\340\0\0\0\221\0\0\0\16\0\0\0p\0\0\0\277\0\0\0\36" "\227\377\377\377\0\10\0\0\0\30\0\0\0\202\0\0\0\271\0\0\0\351\0\0\0\324" "\0\0\0\265\0\0\0b\0\0\0\4\214\377\377\377\0"}; nted-1.10.18/icons/Makefile.am0000775001041000007640000000663411520267227012723 00000000000000######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### SUFFIXES = .png PNGS = n32ndnote_icon.png n64thnote_icon.png eightnote_icon.png fullnote_icon.png \ halfnote_icon.png quarternote_icon.png sixteenthnote_icon.png \ shift_mode_icon.png select_mode_icon.png rest_icon.png tied_icon.png \ dot_icon.png cross_icon.png flat_icon.png natural_icon.png insert_mode_icon.png \ arrow_down_icon.png arrow_up_icon.png delete_staff_icon.png delete_system_icon.png color_icon.png \ alto_clef_icon.png bass_clef_icon.png treble_clef_icon.png lyrics_icon.png \ stroken_grace_icon.png grace_eighth_icon.png grace_sixth_icon.png \ normal_note_icon.png drum1_icon.png drum2_icon.png drum3_icon.png \ drum4_icon.png drum5_icon.png drum6_icon.png drum7_icon.png drum8_icon.png \ drum9_icon.png drum10_icon.png drum11_icon.png drum12_icon.png brace_icon.png bracket_icon.png \ ddot_icon.png dcross_icon.png dflat_icon.png stacc_icon.png \ str_pizz_icon.png tenuto_icon.png sforzato_icon.png sforzando_icon.png \ bow_up_icon.png bow_down_icon.png ped_off_icon.png ped_on_icon.png \ trill_icon.png prall_icon.png open_icon.png mordent_icon.png staccatissimo_icon.png \ lines.png signs.png fermata_icon.png arpeggio_icon.png nted.png key_icon.png \ nted.png isolate_icon.png groupbeams_icon.png flipstem_icon.png \ background1.png background2.png guitar_note_icon.png guitar_note_no_stem_icon.png \ backgroundv1.png backgroundv2.png backgroundh2.png backgroundh1.png \ arrow_left_icon.png arrow_right_icon.png tool_icon.png comm_icon.png cut_icon.png \ midikeyboard_icon.png record_icon.png revturn_icon.png turn_icon.png \ drum10_icon_small.png drum12_icon_small.png drum2_icon_small.png drum4_icon_small.png drum6_icon_small.png drum8_icon_small.png \ drum11_icon_small.png drum1_icon_small.png drum3_icon_small.png drum5_icon_small.png drum7_icon_small.png drum9_icon_small.png \ normal_note_icon_small.png \ eightnote_dot_icon.png halfnote_dot_icon.png quarternote_dot_icon.png sixteenthnote_dot_icon.png \ tremolo_icon1.png tremolo_icon2.png tremolo_icon3.png tremolo_icon4.png EXTRA_DIST = $(PNGS) icondir = $(datadir)/pixmaps dist_icon_DATA = nted.png IMAGE2HEADER = @IMAGE2HEADER@ PIXMAPHEADERS = $(PNGS:.png=.h) noinst_HEADERS = $(PIXMAPHEADERS) .png.h: rm -f $@ $(IMAGE2HEADER) --name $* $< > $@ CLEANFILES = $(PIXMAPHEADERS) nted-1.10.18/icons/record_icon.png0000664001041000007640000000050011520267227013642 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs  ÒÝ~ütIMEÙ  uºß8ÀIDATXÃíVËÀ £†ÿÿåî°¢ŒÆô‚AM©n )'—f‚ Ñ’Ä6­æuÃ/p)Ñb³M»ê‚žÎ] ÀDhFsÌh «EE–aK[ +feO=ÂÈ(–3°â>ûü(«ºë… ë…"GßâÒ”µý(Ο›æ–1@BJúúÌöËâÁ¿ ¬Im}ó¿hò’ÿcòå›ÉiùŠ^Àp?kÛóÍäôêÜ\Çÿ?ð1Îòò•ðYIEND®B`‚nted-1.10.18/icons/tremolo_icon2.png0000664001041000007640000000122711520267227014136 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ)î“tEXtCommentCreated with GIMPWòIDATXÃå—¿jQÆßý—Fˆ 6‚Š(–Iai)b©b‘ÖÈ+ø ‚…• b£E %… (*•¨Üp?› ¬ËÝõœ³/âÀ° svfÎüûfe›yR9Ó¿í€$M{ÿkض¤·’ú.,¦Y¤`Xj‹N¶ jR:E>”4’´$鮤•œˆ¨Î¶‰ïe!¿|¾®ðåê¹6äüp/Œ¯G§¤ê´…ª.“´ <N4ÝžŸsn•ÌÀ1àM%Ôãy;"±p˜¦zºšX9Ý#iØÞl?‘ôÊöù].mï$é슒^‡C§€3À¸d{K’Rº¡ßî¦Ê? ÜÞÕ*¿Ê×RÓÐKu òüO1:vûÀb²E¸FÕÿ6€ãõ $éÌt`<n€#À6°c´¸ êc9Ó6pÅö·b0*ÒJuO€ïÅû@j«´Ð0ŠunѤ“:†O r .Þ×u`x ô»x?ȨöðX›éVÚÖ¿¬8 |h½¹½ÿÛ#n¹ùjÀnk'Ø>˜i„q{ÐqÓöAéZÞ˜‚*µ Þfýl.§bÀðµB/€;¥ó? "´=àd¬\c`ÏöþaØ»Ìý÷Ç¿NoæwŒ›IEND®B`‚nted-1.10.18/icons/arrow_left_icon.png0000664001041000007640000000077011520267227014541 00000000000000‰PNG  IHDR©JLÎsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ 4Þ-ÑÑxIDATHǵÖ=Kaàg?DvXùÕ(Â6€h*+í«V,Ô_ ­ÿ!E„QÒ¦JÒh#¨……²ÑF‚‚¨ÍÖeÇ™ 3ð¾3‡{Ï9÷Šb1€i ã²u¡\A ãXÃ.>·o¨D4m,á»`?q‡§¸Ö‹ª¨„|Á&i2ä%šÁ*6ÂíxꕨŽOø÷úç&ˆ V1›²7WEåÐ`34ÉÓë4¢~ÌÉb—fÉDôÀ¥ÈÇd¯¨&L` ËËñÝLÍb¬› 儊ê¨õ8û^¡ÒaÓŽb…!ºÅüI#zÄ9~Gk§ð¡K¢ýv¢´ò‡ñÿZf–k-¯3ç°‡ÿQq×D• D¸Àß8 Lyç ‹FIh†n·@—²š!jXÀ¯heauB%ÆÒ7\wÐm½èc|(ÆÔ1z5Ã[¸pŸEÖ&Ñ×)GEýâ§XIêuQ¸ W6ãù¨uñyX[,§òIEND®B`‚nted-1.10.18/icons/natural_icon.png0000664001041000007640000000024411520267227014037 00000000000000‰PNG  IHDR V%(gAMA± üatRNSÿ[‘"µbKGDª#2 pHYs  d_‘*IDATxÚcøO0­€a)`À¯€¯0 µ‚Ž †A@ýÖ vØ®|s4YÆIEND®B`‚nted-1.10.18/icons/background1.png0000664001041000007640000000474211520267227013570 00000000000000‰PNG  IHDR ¬ˆ1à pHYsHHFÉk>:tEXtRaw profile type APP1 APP1 10 4e656f47656f0800005a Š…® vpAg ‡úœqIDATXÃí×{PSWÀñ´*SW]­Z­¯ñµk«V$!ī誵€ÊCå- FEt]%Å¢ &7Þs09çMÔÄ‹æÞ VÀÕêŽâs꣮¯Úúš¶ö±—+³ËNuœÙýcwøç3¿ù%¹3ßsóÏ‘àãÄÖhõð´› uÞîAu·­± ëzÕM:ö.x ½\'àd8ÝÝއSÝÝá‡PãîÇ zÁ)Pãúvƒjw èóÝ•ôChpo§¿†[ÝÛªG×Ô9/V†Y £¯e|ÕNçKvÕegŒ%£ê‚s‘%³ê¢s±%«ªÍ+Óin÷’3Ú’VuÚ™kY_-q\µW9J÷©*³yï+´ô"¿8jÝéyKb÷ªßÕ´#û^Α?¥ÊùyÝ è%OT¿ëwPö@µ\–(u(ÇÊlÒçÊe²:éSåR>VÆË `œ¬V0Qf—>Q†ùÅIÞõË”^D~ó¤M´ß#Y²Â[zÇw•‘t‚‘Ÿñ½ç³R^â{Æ'Jžç{Îg±|ïiŸHy®ï_„M»‘Œ’¯òõø„ËuÒ>vyOÙ” ~º)u“¿–?RïÔäüWÌ4ZëfK¬›Ð v`qâvñv¤á“Ú8©bSÀiM€úàÈP}Pª …\ úTÕòm^Õò´Cƒàã m‚/‚JU­!Õ!*N›­ŽUÓ†©T•ÚÑêQªõÂ\¨š– .VM û«¦M½qº—V|'|¥6 øzxŠV|;<³cüU'ïûöyvhpSø(­S“þ, Â¿&øŠ²%Èr®T½;µö™Ä¶%rJÃÛ†)v{cIŒ% aò‹É\RÀêñ]ÒÇóÿB>`àŸÉïÙ¾¢ýð‚ýIÁø ËjÑ#ÏÖ K$‹-E#«XºAr„ÍE¢gFÍžÁ?Ùëùñ$»~@©ØÈEàþÄŸw f|‡×¢¯Hw>Q4éóÒOAmä¾'½ùÁžüq.DçÈ8~.º@>âç ø6ÿ”‡[¸oQf¸( 7r÷Q渻‚|'Û7IØÍµYŸ 6ËåÜÜ̦U§Ý$Å0¥J£,+(AÇKlOÑ9φMzʘP$3/! þ-ëƒJp)gC³pˆñ.æ5ÆvÌi8ž[€Òq7_œç‹sû&š["l¢¸”‹¸4´/ã2Q>Næ²ÑZœÈe¡u¯1Çpñ¶n¶ŸX‰#Ã9¢ùãôÉiŸëb • MaY~ùyú‡ö€ól/C¾°¶È×0Ó4X8¡E¬µáü@´KÈ0#„…yƒ6Aþ•ñÓаý•û_[‹÷smRÆÎuT:S›«…€[º<Å,e&¿l}ùºíeÀ;B€É¸ºÈÏ0Ã4é„“póß øo¸× ~(T¨r¦R1`¶ðj¸L_ë è è è è è è è è è è ø¿ˆèðM»©ËUÌ.4ëÿ莙–ýØaq&7W¥OJ»ªËndJÍ:áNÜ)`p¥\U$®”ý;¼÷ à_ã›~[‹«9»M…f²ÑŽgZóþôé^º E„R£ÙP¶®¼¾*±=ïÄ›õåÆE*C˜iZ£Y ]À_ò}Ñn!À$>îÄÄÂ-–ý•Q—èÑN¾Üp¢ük}ùÂÐ|6Ááëø¾ùƒ}Š2÷”¢DY ñ”唟¥[%¶oÐyÏw†D½ÓU¤0¬3AZ<Žþ˜{€ãEÜ áš¿š+ýsq÷™ªãvu˜…WrÅ(guX$ºeàLá@Û%¢vQZ‰³¹BÑ-¢[;ÌÆ9ܶ3ð .ß&AýØÁŽAŽkÍaÉ÷’÷äþQñ¥²ejÿ²éå5ôq‰íºÏz ïª+îë÷eïMâÞˆ¯‘ËðNRÊçaA|hu‡„ØùýÈ›1$uü>Ì“FÞ…›ÈIžç#¢,n!­q+9Ýè'*7“p9ηa†4ðgEÏ‹~ä0Ïwx@x2Dsq<·Á¹üð„ÖФ֤‚U“qÁYeüžQÀ ±@Fö̧ޅ÷+"‹‹wÌ1W‚`(gÒÉ ÕÕDëÀZ×.z3Øâ²Ó›]6ºè]é°Áè= Âå¡m¹.€PæNóáw>ˆƒñîm ƹ·Šû …!î%@ ƒÝóÀ48ݽ°Ãzæ °BÓ„“`N‚Ïᩆ ¶6ô¡y¤p*3Óêe½y|ÏÊáY‡Ö4ïkM«-¶kKõm‰5ÁïI*;QÞT÷ˆÊ7çÛP#ÍÃë»QƒÌƒI%7û“%”·y2YJ)Í*²‚ò5KÉr¡ìø65Ë<›l¤ÍId/µØCvP‘æ(¢§F™G“ùÔ0óp2›zß<„h©!æ¡$Txò(L1%)Tˆ9´>€R™ƒê£L­Ôiû-SuÒÞlzL=±÷7=£ž“‚ìcLÛ©£d ì»N•Eì¿¿-M™úÝê…{›Þ².” 8¼„ËµŽ²ô,‘0’)«`S2`&³ ¤ÀT&¤Â4&¤ÃL¼ð(fFû 1ÇÁ)ØÌ0À 3uà8<ÁO´ ‡#˜> /ìÇôá{Ìj0e¶´¿áWQ0š9æÂ&µýý0ŸÐgÁǾ¡×±:Z¦ºfÓ2 w  ýÁDW­+޶ÐKAkÈ‘p쉞5þÕ½E6+ª`ãþgÒÜÚë«Ú½,zTXtcreate-datexÚ320°Ð54Ò5414´20·22Ô62 A› \ÎÔ¤zTXtjpeg:colorspacexÚ333‰8#5&zTXtjpeg:sampling-factorxÚ3ª0Ò1¬0aƒé=—/O,zTXtmodify-datexÚ320°Ð54Ò5414´20·22Ô62 A› cP…iIEND®B`‚nted-1.10.18/icons/ped_off_icon.h0000664001041000007640000000553111520270060013427 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (ped_off_icon) #endif #ifdef __GNUC__ static const guint8 ped_off_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 ped_off_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (833) */ "\0\0\3Y" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\222\377\377\377\0\2\0\0\0\37\0\0\0""3\236\377\377\377\0\2\0\0\0v\0\0" "\0\304\236\377\377\377\0\2\0\0\0y\0\0\0\311\236\377\377\377\0\2\0\0\0" "y\0\0\0\311\236\377\377\377\0\2\0\0\0y\0\0\0\311\236\377\377\377\0\2" "\0\0\0y\0\0\0\311\236\377\377\377\0\2\0\0\0y\0\0\0\311\236\377\377\377" "\0\2\0\0\0y\0\0\0\311\236\377\377\377\0\2\0\0\0y\0\0\0\311\236\377\377" "\377\0\2\0\0\0y\0\0\0\311\236\377\377\377\0\2\0\0\0y\0\0\0\311\236\377" "\377\377\0\2\0\0\0y\0\0\0\311\236\377\377\377\0\2\0\0\0y\0\0\0\311\232" "\377\377\377\0\2\0\0\0\22\0\0\0>\202\0\0\0\77\2\0\0\0\232\0\0\0\311\230" "\377\377\377\0\4\0\0\0\13\0\0\0\213\0\0\0\322\0\0\0\361\202\0\0\0\362" "\2\0\0\0\370\0\0\0\311\227\377\377\377\0\3\0\0\0\13\0\0\0\220\0\0\0\372" "\205\0\0\0\377\1\0\0\0\311\226\377\377\377\0\3\0\0\0\1\0\0\0\177\0\0" "\0\370\206\0\0\0\377\1\0\0\0\311\226\377\377\377\0\2\0\0\0\14\0\0\0\346" "\206\0\0\0\377\2\0\0\0\376\0\0\0\236\226\377\377\377\0\2\0\0\0\15\0\0" "\0\355\205\0\0\0\377\3\0\0\0\376\0\0\0\336\0\0\0.\227\377\377\377\0\3" "\0\0\0n\0\0\0\346\0\0\0\376\202\0\0\0\377\3\0\0\0\367\0\0\0\273\0\0\0" ";\231\377\377\377\0\2\0\0\0#\0\0\0~\202\0\0\0\210\2\0\0\0P\0\0\0\13\235" "\377\377\377\0\1\377\377\0\1\236\377\377\377\0\4\245]\0J$\12\0\345\0" "(^\261\0\266\377\16\231\377\377\377\0\11\377\333\0\7g.\0\265\0\12\40" "\326\40\"\0\210\24\6\0\375\0\33""8\3325\40\0\236\0\10\31\324\0\\\252" "N\227\377\377\377\0\11\377\352\0\14X$\0\344\0\0\1\377\0Lz\233B\17\0\265" "\0':n;\"\0\352\0\5\17\375\0L\234v\227\377\377\377\0\12\201A\0C\11\0\0" "t\33\31\0p\36\10\0\313\12\4\0\353\0\10\21\333\0\32""1\245\20\11\0n\0" "\32=d\0y\316\25\225\377\377\377\0\13\377\331\0\24F\27\0\356\0\5\13\375" "\0\24\35\273\35\13\0\360\0\0\0\377\0\2\7\377\0\26\40\301(\24\0\346\0" "\2\14\375\0D\213\204\225\377\377\377\0\13\377\333\0\7b+\0\246\0\12\33" "\307\0\40\33h8\23\0\343\1\0\0\375\0\7\22\374\0'K\225E#\0\237\0\5\27\314" "\0W\250O\226\377\377\377\0\11\377\333\0\7`,\0\244\16\10\0\327\0,N\256" ",\13\0\272\0\17\25\210\30\15\0\322\0\14\34\276\0Z\254G\227\377\377\377" "\0\11\377\325\0\22M\32\0\350\0\2\15\371\0""46\205'\12\0\341\0'E\243<" "!\0\326\0\4\17\372\0F\226y\230\377\377\377\0\10\200F\0>\0\26>Rp@\0\177" "\17\2\0\374\0\26A\330\15\37\0:\0\13%Y\0\206\333\25\232\377\377\377\0" "\3\331\200\0\24/\20\0a\0M\216\77\217\377\377\377\0"}; nted-1.10.18/icons/dot_icon.png0000664001041000007640000000031611520267227013157 00000000000000‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIME×±zª[tEXtCommentCreated with The GIMPïd%n2IDAT8Ëc`£`Ø9†û +ð)bÁ#'ÆÀÀ ÏÀÀð›Wh200ˆ pOIEND®B`‚nted-1.10.18/icons/n32ndnote_icon.h0000664001041000007640000000612511520270060013637 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (n32ndnote_icon) #endif #ifdef __GNUC__ static const guint8 n32ndnote_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 n32ndnote_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (836) */ "\0\0\3\\" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\206\377\377\377\0\212\0\221\0\7\1\0\0\0\377\211\0\221\0\7\214\377\377" "\377\0\212\0\221\0\7\202\0\0\0\377\210\0\221\0\7\214\377\377\377\0\212" "\0\221\0\7\203\0\0\0\377\207\0\221\0\7\214\377\377\377\0\212\0\221\0" "\7\204\0\0\0\377\206\0\221\0\7\214\377\377\377\0\212\0\221\0\7\205\0" "\0\0\377\205\0\221\0\7\214\377\377\377\0\212\0\221\0\7\2\0\0\0\377\0" "\221\0\7\204\0\0\0\377\204\0\221\0\7\214\377\377\377\0\212\0\221\0\7" "\202\0\0\0\377\202\0\221\0\7\202\0\0\0\377\204\0\221\0\7\214\377\377" "\377\0\212\0\221\0\7\203\0\0\0\377\202\0\221\0\7\202\0\0\0\377\203\0" "\221\0\7\214\377\377\377\0\212\0\221\0\7\204\0\0\0\377\202\0\221\0\7" "\1\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0\221\0\7\205\0\0\0" "\377\2\0\221\0\7\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0\221" "\0\7\2\0\0\0\377\0\221\0\7\205\0\0\0\377\203\0\221\0\7\214\377\377\377" "\0\212\0\221\0\7\202\0\0\0\377\202\0\221\0\7\203\0\0\0\377\203\0\221" "\0\7\214\377\377\377\0\212\0\221\0\7\203\0\0\0\377\202\0\221\0\7\202" "\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0\221\0\7\204\0\0\0\377" "\202\0\221\0\7\1\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0\221" "\0\7\205\0\0\0\377\2\0\221\0\7\0\0\0\377\203\0\221\0\7\214\377\377\377" "\0\212\0\221\0\7\207\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0" "\221\0\7\1\0\0\0\377\202\0\221\0\7\204\0\0\0\377\203\0\221\0\7\214\377" "\377\377\0\212\0\221\0\7\1\0\0\0\377\204\0\221\0\7\202\0\0\0\377\203" "\0\221\0\7\214\377\377\377\0\212\0\221\0\7\1\0\0\0\377\204\0\221\0\7" "\202\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0\221\0\7\1\0\0\0" "\377\205\0\221\0\7\1\0\0\0\377\203\0\221\0\7\214\377\377\377\0\212\0" "\221\0\7\1\0\0\0\377\205\0\221\0\7\1\0\0\0\377\203\0\221\0\7\214\377" "\377\377\0\212\0\221\0\7\1\0\0\0\377\205\0\221\0\7\1\0\0\0\377\203\0" "\221\0\7\214\377\377\377\0\212\0\221\0\7\1\0\0\0\377\204\0\221\0\7\1" "\0\0\0\377\204\0\221\0\7\214\377\377\377\0\212\0\221\0\7\1\0\0\0\377" "\204\0\221\0\7\1\0\0\0\377\204\0\221\0\7\214\377\377\377\0\206\0\221" "\0\7\202\0\0\0\377\202\0\221\0\7\1\0\0\0\377\204\0\221\0\7\1\0\0\0\377" "\204\0\221\0\7\214\377\377\377\0\204\0\221\0\7\207\0\0\0\377\211\0\221" "\0\7\214\377\377\377\0\203\0\221\0\7\210\0\0\0\377\211\0\221\0\7\216" "\377\377\377\0\211\0\0\0\377\211\0\221\0\7\214\377\377\377\0\202\0\221" "\0\7\210\0\0\0\377\212\0\221\0\7\214\377\377\377\0\202\0\221\0\7\210" "\0\0\0\377\212\0\221\0\7\214\377\377\377\0\203\0\221\0\7\206\0\0\0\377" "\213\0\221\0\7\214\377\377\377\0\204\0\221\0\7\203\0\0\0\377\215\0\221" "\0\7\206\377\377\377\0"}; nted-1.10.18/icons/drum10_icon_small.png0000664001041000007640000000053211520267227014671 00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ   g¼ZÚIDAT8ËÒ±MC1…áÏAzuÒ°%(”Ôd‡d:€)V`:&Ò“Ð¥ñC–c[\é6¶ÏŽ}"B¯RJSD̵ˆ×xM)FqÔØà ìgRDh‰×Y<㣀šfç;\U}P‰oŠõ->ë$XýjçÆµŽ’à|™`ù`w­{IJÈ Îà!/F>°@Ê$k˜ðüH|ã÷8]6&< •ø'õºI²økþA+Émá|1üH$ÑrîIšÎC@yì9/ý ³OÛHäIEND®B`‚nted-1.10.18/icons/lines.h0000664001041000007640000012114611520270060012130 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (lines) #endif #ifdef __GNUC__ static const guint8 lines[] __attribute__ ((__aligned__ (4))) = #else static const guint8 lines[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (11740) */ "\0\0-\364" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (808) */ "\0\0\3(" /* width (202) */ "\0\0\0\312" /* height (126) */ "\0\0\0~" /* pixel_data: */ "\2[[[\377NNN\377\342\210\210\210\377\2RRR\377NNN\377\342\210\210\210" "\377\4RRR\377WWW\377LLL\377888\377\342www\377\2\77\77\77\377888\377\342" "www\377\4\77\77\77\377CCC\377\207\207\207\377xxx\377\342\377\377\377" "\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377x" "xx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377x" "xx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377x" "xx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377" "\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377" "\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377" "\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377" "\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377" "\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207" "\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207" "\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207" "\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342" "\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342" "\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207" "\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207" "\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207" "\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377" "\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377" "\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207" "\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207" "\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207" "\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377" "\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\317\377\377" "\377\377\12\371\371\371\377\356\356\356\377\335\335\335\377\321\321\321" "\377\306\306\306\377\273\273\273\377\252\252\252\377\236\236\236\377" "\223\223\223\377\210\210\210\377\211\377\377\377\377\2\207\207\207\377" "xxx\377\211\377\377\377\377\12\210\210\210\377\223\223\223\377\236\236" "\236\377\252\252\252\377\273\273\273\377\306\306\306\377\321\321\321" "\377\335\335\335\377\356\356\356\377\371\371\371\377\317\377\377\377" "\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\273\377\377\377" "\377\23\371\371\371\377\356\356\356\377\335\335\335\377\321\321\321\377" "\306\306\306\377\273\273\273\377\252\252\252\377\236\236\236\377\223" "\223\223\377\210\210\210\377www\377kkk\377```\377UUU\377DDD\377888\377" "---\377\"\"\"\377\21\21\21\377\202\5\5\5\377\11\21\21\21\377\"\"\"\377" "---\377888\377DDD\377UUU\377```\377kkk\377www\377\211\377\377\377\377" "\2\207\207\207\377xxx\377\211\377\377\377\377\11www\377kkk\377```\377" "UUU\377DDD\377888\377---\377\"\"\"\377\21\21\21\377\202\5\5\5\377\23" "\21\21\21\377\"\"\"\377---\377888\377DDD\377UUU\377```\377kkk\377www" "\377\210\210\210\377\223\223\223\377\236\236\236\377\252\252\252\377" "\273\273\273\377\306\306\306\377\321\321\321\377\335\335\335\377\356" "\356\356\377\371\371\371\377\273\377\377\377\377\4\207\207\207\377xx" "x\377\207\207\207\377xxx\377\247\377\377\377\377\23\371\371\371\377\356" "\356\356\377\335\335\335\377\321\321\321\377\306\306\306\377\273\273" "\273\377\252\252\252\377\236\236\236\377\223\223\223\377\210\210\210" "\377www\377kkk\377```\377UUU\377DDD\377888\377---\377\"\"\"\377\21\21" "\21\377\202\5\5\5\377\23\21\21\21\377\"\"\"\377---\377888\377DDD\377" "UUU\377```\377kkk\377www\377\210\210\210\377\223\223\223\377\236\236" "\236\377\252\252\252\377\273\273\273\377\306\306\306\377\321\321\321" "\377\335\335\335\377\356\356\356\377\371\371\371\377\223\377\377\377" "\377\2\207\207\207\377xxx\377\223\377\377\377\377\23\371\371\371\377" "\356\356\356\377\335\335\335\377\321\321\321\377\306\306\306\377\273" "\273\273\377\252\252\252\377\236\236\236\377\223\223\223\377\210\210" "\210\377www\377kkk\377```\377UUU\377DDD\377888\377---\377\"\"\"\377\21" "\21\21\377\202\5\5\5\377\23\21\21\21\377\"\"\"\377---\377888\377DDD\377" "UUU\377```\377kkk\377www\377\210\210\210\377\223\223\223\377\236\236" "\236\377\252\252\252\377\273\273\273\377\306\306\306\377\321\321\321" "\377\335\335\335\377\356\356\356\377\371\371\371\377\247\377\377\377" "\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\223\377\377\377" "\377\23\371\371\371\377\356\356\356\377\335\335\335\377\321\321\321\377" "\306\306\306\377\273\273\273\377\252\252\252\377\236\236\236\377\223" "\223\223\377\210\210\210\377www\377kkk\377```\377UUU\377DDD\377888\377" "---\377\"\"\"\377\21\21\21\377\202\5\5\5\377\23\21\21\21\377\"\"\"\377" "---\377888\377DDD\377UUU\377```\377kkk\377www\377\210\210\210\377\223" "\223\223\377\236\236\236\377\252\252\252\377\273\273\273\377\306\306" "\306\377\321\321\321\377\335\335\335\377\356\356\356\377\371\371\371" "\377\247\377\377\377\377\2\207\207\207\377xxx\377\247\377\377\377\377" "\23\371\371\371\377\356\356\356\377\335\335\335\377\321\321\321\377\306" "\306\306\377\273\273\273\377\252\252\252\377\236\236\236\377\223\223" "\223\377\210\210\210\377www\377kkk\377```\377UUU\377DDD\377888\377--" "-\377\"\"\"\377\21\21\21\377\202\5\5\5\377\23\21\21\21\377\"\"\"\377" "---\377888\377DDD\377UUU\377```\377kkk\377www\377\210\210\210\377\223" "\223\223\377\236\236\236\377\252\252\252\377\273\273\273\377\306\306" "\306\377\321\321\321\377\335\335\335\377\356\356\356\377\371\371\371" "\377\223\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx" "\377\211\377\377\377\377\212\0\0\0\377\24\5\5\5\377\21\21\21\377\"\"" "\"\377---\377888\377DDD\377UUU\377```\377kkk\377www\377\210\210\210\377" "\223\223\223\377\236\236\236\377\252\252\252\377\273\273\273\377\306" "\306\306\377\321\321\321\377\335\335\335\377\356\356\356\377\371\371" "\371\377\273\377\377\377\377\2\207\207\207\377xxx\377\273\377\377\377" "\377\24\371\371\371\377\356\356\356\377\335\335\335\377\321\321\321\377" "\306\306\306\377\273\273\273\377\252\252\252\377\236\236\236\377\223" "\223\223\377\210\210\210\377www\377kkk\377```\377UUU\377DDD\377888\377" "---\377\"\"\"\377\21\21\21\377\5\5\5\377\212\0\0\0\377\211\377\377\377" "\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\211\377\377\377" "\377\212\0\0\0\377\24\5\5\5\377\21\21\21\377\"\"\"\377---\377888\377" "DDD\377UUU\377```\377kkk\377www\377\210\210\210\377\223\223\223\377\236" "\236\236\377\252\252\252\377\273\273\273\377\306\306\306\377\321\321" "\321\377\335\335\335\377\356\356\356\377\371\371\371\377\273\377\377" "\377\377\2\207\207\207\377xxx\377\273\377\377\377\377\24\371\371\371" "\377\356\356\356\377\335\335\335\377\321\321\321\377\306\306\306\377" "\273\273\273\377\252\252\252\377\236\236\236\377\223\223\223\377\210" "\210\210\377www\377kkk\377```\377UUU\377DDD\377888\377---\377\"\"\"\377" "\21\21\21\377\5\5\5\377\212\0\0\0\377\211\377\377\377\377\4\207\207\207" "\377xxx\377\207\207\207\377xxx\377\223\377\377\377\377\23\371\371\371" "\377\356\356\356\377\335\335\335\377\321\321\321\377\306\306\306\377" "\273\273\273\377\252\252\252\377\236\236\236\377\223\223\223\377\210" "\210\210\377www\377kkk\377```\377UUU\377DDD\377888\377---\377\"\"\"\377" "\21\21\21\377\202\5\5\5\377\23\21\21\21\377\"\"\"\377---\377888\377D" "DD\377UUU\377```\377kkk\377www\377\210\210\210\377\223\223\223\377\236" "\236\236\377\252\252\252\377\273\273\273\377\306\306\306\377\321\321" "\321\377\335\335\335\377\356\356\356\377\371\371\371\377\247\377\377" "\377\377\2\207\207\207\377xxx\377\247\377\377\377\377\23\371\371\371" "\377\356\356\356\377\335\335\335\377\321\321\321\377\306\306\306\377" "\273\273\273\377\252\252\252\377\236\236\236\377\223\223\223\377\210" "\210\210\377www\377kkk\377```\377UUU\377DDD\377888\377---\377\"\"\"\377" "\21\21\21\377\202\5\5\5\377\23\21\21\21\377\"\"\"\377---\377888\377D" "DD\377UUU\377```\377kkk\377www\377\210\210\210\377\223\223\223\377\236" "\236\236\377\252\252\252\377\273\273\273\377\306\306\306\377\321\321" "\321\377\335\335\335\377\356\356\356\377\371\371\371\377\223\377\377" "\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\247\377\377" "\377\377\23\371\371\371\377\356\356\356\377\335\335\335\377\321\321\321" "\377\306\306\306\377\273\273\273\377\252\252\252\377\236\236\236\377" "\223\223\223\377\210\210\210\377www\377kkk\377```\377UUU\377DDD\3778" "88\377---\377\"\"\"\377\21\21\21\377\202\5\5\5\377\23\21\21\21\377\"" "\"\"\377---\377888\377DDD\377UUU\377```\377kkk\377www\377\210\210\210" "\377\223\223\223\377\236\236\236\377\252\252\252\377\273\273\273\377" "\306\306\306\377\321\321\321\377\335\335\335\377\356\356\356\377\371" "\371\371\377\223\377\377\377\377\2\207\207\207\377xxx\377\223\377\377" "\377\377\23\371\371\371\377\356\356\356\377\335\335\335\377\321\321\321" "\377\306\306\306\377\273\273\273\377\252\252\252\377\236\236\236\377" "\223\223\223\377\210\210\210\377www\377kkk\377```\377UUU\377DDD\3778" "88\377---\377\"\"\"\377\21\21\21\377\202\5\5\5\377\23\21\21\21\377\"" "\"\"\377---\377888\377DDD\377UUU\377```\377kkk\377www\377\210\210\210" "\377\223\223\223\377\236\236\236\377\252\252\252\377\273\273\273\377" "\306\306\306\377\321\321\321\377\335\335\335\377\356\356\356\377\371" "\371\371\377\247\377\377\377\377\4\207\207\207\377xxx\377\207\207\207" "\377xxx\377\273\377\377\377\377\23\371\371\371\377\356\356\356\377\335" "\335\335\377\321\321\321\377\306\306\306\377\273\273\273\377\252\252" "\252\377\236\236\236\377\223\223\223\377\210\210\210\377www\377kkk\377" "```\377UUU\377DDD\377888\377---\377\"\"\"\377\21\21\21\377\202\5\5\5" "\377\11\21\21\21\377\"\"\"\377---\377888\377DDD\377UUU\377```\377kkk" "\377www\377\211\377\377\377\377\2\207\207\207\377xxx\377\211\377\377" "\377\377\11www\377kkk\377```\377UUU\377DDD\377888\377---\377\"\"\"\377" "\21\21\21\377\202\5\5\5\377\23\21\21\21\377\"\"\"\377---\377888\377D" "DD\377UUU\377```\377kkk\377www\377\210\210\210\377\223\223\223\377\236" "\236\236\377\252\252\252\377\273\273\273\377\306\306\306\377\321\321" "\321\377\335\335\335\377\356\356\356\377\371\371\371\377\273\377\377" "\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\317\377\377" "\377\377\12\371\371\371\377\356\356\356\377\335\335\335\377\321\321\321" "\377\306\306\306\377\273\273\273\377\252\252\252\377\236\236\236\377" "\223\223\223\377\210\210\210\377\211\377\377\377\377\2\207\207\207\377" "xxx\377\211\377\377\377\377\12\210\210\210\377\223\223\223\377\236\236" "\236\377\252\252\252\377\273\273\273\377\306\306\306\377\321\321\321" "\377\335\335\335\377\356\356\356\377\371\371\371\377\317\377\377\377" "\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377" "\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377x" "xx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377x" "xx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377x" "xx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377" "\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377" "\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377" "\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377" "\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377" "\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207" "\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207" "\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207" "\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342" "\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342" "\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207" "\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207" "\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207" "\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377" "\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377" "\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207" "\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207" "\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207" "\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377" "\377\377\4\207\207\207\377xxx\377PPP\377@@@\377\342\210\210\210\377\2" "HHH\377@@@\377\342\210\210\210\377\202HHH\377\2LLL\377888\377\342www" "\377\2\77\77\77\377888\377\342www\377\4\77\77\77\377CCC\377\207\207\207" "\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377" "\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377" "\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377" "xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377" "xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377" "xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377" "\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377" "\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377x" "xx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377x" "xx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377x" "xx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377" "\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377" "\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377" "\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377" "\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377" "\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207" "\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207" "\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207" "\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342" "\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342" "\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207" "\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207" "\207\377xxx\377\224\377\377\377\377\3\377\376\375\377\366\361\337\377" "\333\341\364\377\313\377\377\377\377\4\207\207\207\377xxx\377\207\207" "\207\377xxx\377\207\377\377\377\377\5\371\361\322\377rU>\377\22\11\5" "\377\31';\377\225\300\346\377\326\377\377\377\377\2\207\207\207\377x" "xx\377\212\377\377\377\377\4\264\213j\377#\24\13\377\21!6\377\226\305" "\350\377\206\377\377\377\377\3t\34\15\377\0\0\0\377,q\311\377\313\377" "\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\206\377" "\377\377\377\7\377\376\373\377\\#\17\377t\243\302\377\364\371\371\377" "\326\274\223\377\14\15/\377\371\376\377\377\325\377\377\377\377\2\207" "\207\207\377xxx\377\211\377\377\377\377\6\331\235T\377\33E}\377\337\360" "\367\377\330\272\211\377\12\16""5\377\366\375\377\377\206\377\377\377" "\377\2\203#\20\377q\331\356\377\313\377\377\377\377\4\207\207\207\377" "xxx\377\207\207\207\377xxx\377\206\377\377\377\377\2\364\347\234\377" "\4\10\37\377\203\377\377\377\377\2:\16\10\377\343\371\374\377\325\377" "\377\377\377\2\207\207\207\377xxx\377\211\377\377\377\377\2O\23\11\377" "\233\347\364\377\202\377\377\377\377\2y\35\16\377\243\351\365\377\205" "\377\377\377\377\3\374\367\334\377\12\5\14\377\351\372\375\377\313\377" "\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\206\377" "\377\377\377\23\371\361\304\377\4\1\1\377\\\222\267\377\363\372\373\377" "\317\256x\377\27""7\203\377\371\362\307\377;=\31\377\3\7\33\377\366\375" "\376\377\377\377\377\377R4o\377\377\377\377\377\375\371\344\377jG.\377" "\10\3\3\377,M\200\377\2422\26\377>\242\332\377\311\377\377\377\377\2" "\207\207\207\377xxx\377\211\377\377\377\377\2\36\7\4\377\235\347\364" "\377\202\377\377\377\377\2|\37\21\377\310\362\371\377\205\377\377\377" "\377\2\345\300U\377\16\36|\377\314\377\377\377\377\4\207\207\207\377" "xxx\377\207\207\207\377xxx\377\207\377\377\377\377\1\216<\31\377\202" "\0\0\0\377\5\22,h\377\336\367\374\377\377\377\377\377\334\250\77\377" "\27""5\237\377\202\377\377\377\377\10Q\30\30\377\377\377\377\377\242" "V\"\377\15\36O\377\257\275\275\377\215h0\377\5\1\1\377\257\354\367\377" "\207\377\377\377\3778\323\323\323\377\210\210\210\377\323\323\323\377" "\377\377\377\377\323\323\323\377\210\210\210\377\323\323\323\377\377" "\377\377\377\323\323\323\377\210\210\210\377\323\323\323\377\377\377" "\377\377\323\323\323\377\210\210\210\377\323\323\323\377\377\377\377" "\377\323\323\323\377\210\210\210\377\323\323\323\377\377\377\377\377" "\323\323\323\377\210\210\210\377\323\323\323\377\377\377\377\377\323" "\323\323\377\210\210\210\377\323\323\323\377\377\377\377\377\323\323" "\323\377\210\210\210\377\323\323\323\377\377\377\377\377\323\323\323" "\377\210\210\210\377\323\323\323\377\377\377\377\377\323\323\323\377" "\210\210\210\377\323\323\323\377\377\377\377\377\323\323\323\377\210" "\210\210\377\323\323\323\377\377\377\377\377\323\323\323\377\210\210" "\210\377\323\323\323\377\377\377\377\377\323\323\323\377\210\210\210" "\377\323\323\323\377\377\377\377\377\323\323\323\377\210\210\210\377" "\323\323\323\377\377\377\377\377\202\323\323\323\377\210\377\377\377" "\377\2\207\207\207\377xxx\377\211\377\377\377\377\20\203(\22\377\33D" "{\377\337\357\370\377\337\302\223\377Jt\261\377\375\371\347\377<\77\27" "\377\34A\263\377\377\377\377\377M9r\377\377\377\377\377\247=\32\377\34" "Jd\377-\32\17\377\3\7\21\377d\227\323\377\210\377\377\377\3778\323\323" "\323\377\210\210\210\377\323\323\323\377\377\377\377\377\323\323\323" "\377\210\210\210\377\323\323\323\377\377\377\377\377\323\323\323\377" "\210\210\210\377\323\323\323\377\377\377\377\377\323\323\323\377\210" "\210\210\377\323\323\323\377\377\377\377\377\323\323\323\377\210\210" "\210\377\323\323\323\377\377\377\377\377\323\323\323\377\210\210\210" "\377\323\323\323\377\377\377\377\377\323\323\323\377\210\210\210\377" "\323\323\323\377\377\377\377\377\323\323\323\377\210\210\210\377\323" "\323\323\377\377\377\377\377\323\323\323\377\210\210\210\377\323\323" "\323\377\377\377\377\377\323\323\323\377\210\210\210\377\323\323\323" "\377\377\377\377\377\323\323\323\377\210\210\210\377\323\323\323\377" "\377\377\377\377\323\323\323\377\210\210\210\377\323\323\323\377\377" "\377\377\377\323\323\323\377\210\210\210\377\323\323\323\377\377\377" "\377\377\323\323\323\377\210\210\210\377\323\323\323\377\377\377\377" "\377\202\323\323\323\377\207\377\377\377\377\4\207\207\207\377xxx\377" "\207\207\207\377xxx\377\206\377\377\377\377\11\267t\77\3772`\177\377" "\245\242\232\377bC\37\377\2\3\14\377\242\345\364\377\377\377\377\377" "\252:\31\377L\270\342\377\202\377\377\377\377\7\310hi\377\367\355\261" "\377\3\1\1\377\202\330\357\377\377\377\377\377\367\355\263\377\10\21" "D\377\210\377\377\377\3778\323\323\323\377www\377\323\323\323\377\377" "\377\377\377\323\323\323\377www\377\323\323\323\377\377\377\377\377\323" "\323\323\377www\377\323\323\323\377\377\377\377\377\323\323\323\377w" "ww\377\323\323\323\377\377\377\377\377\323\323\323\377www\377\323\323" "\323\377\377\377\377\377\323\323\323\377www\377\323\323\323\377\377\377" "\377\377\323\323\323\377www\377\323\323\323\377\377\377\377\377\323\323" "\323\377www\377\323\323\323\377\377\377\377\377\323\323\323\377www\377" "\323\323\323\377\377\377\377\377\323\323\323\377www\377\323\323\323\377" "\377\377\377\377\323\323\323\377www\377\323\323\323\377\377\377\377\377" "\323\323\323\377www\377\323\323\323\377\377\377\377\377\323\323\323\377" "www\377\323\323\323\377\377\377\377\377\323\323\323\377www\377\323\323" "\323\377\377\377\377\377\202\323\323\323\377\210\377\377\377\377\2\207" "\207\207\377xxx\377\211\377\377\377\377\21\272\211M\377>B\77\377\35\13" "\5\377\7\16""7\377\321\364\372\377\377\377\377\377\321\2104\377F\262" "\340\377\377\377\377\377\221O/\377\376\375\365\377!\10\4\3770l\233\377" "\346\362\371\377\344\307~\377\5\12(\377\375\377\377\377\207\377\377\377" "\3778\323\323\323\377www\377\323\323\323\377\377\377\377\377\323\323" "\323\377www\377\323\323\323\377\377\377\377\377\323\323\323\377www\377" "\323\323\323\377\377\377\377\377\323\323\323\377www\377\323\323\323\377" "\377\377\377\377\323\323\323\377www\377\323\323\323\377\377\377\377\377" "\323\323\323\377www\377\323\323\323\377\377\377\377\377\323\323\323\377" "www\377\323\323\323\377\377\377\377\377\323\323\323\377www\377\323\323" "\323\377\377\377\377\377\323\323\323\377www\377\323\323\323\377\377\377" "\377\377\323\323\323\377www\377\323\323\323\377\377\377\377\377\323\323" "\323\377www\377\323\323\323\377\377\377\377\377\323\323\323\377www\377" "\323\323\323\377\377\377\377\377\323\323\323\377www\377\323\323\323\377" "\377\377\377\377\323\323\323\377www\377\323\323\323\377\377\377\377\377" "\202\323\323\323\377\207\377\377\377\377\4\207\207\207\377xxx\377\207" "\207\207\377xxx\377\205\377\377\377\377\23\374\367\334\377\21\22C\377" "\371\376\377\377\377\377\377\377\376\375\365\377S\24\12\3775\211\322" "\377\377\377\377\377E\21\10\377\265\355\367\377\377\377\377\377\377\376" "\372\377lG\252\377\337\257B\377\4\7\36\377\372\376\377\377\377\377\377" "\377\345\276Y\377\37L\270\377\312\377\377\377\377\2\207\207\207\377x" "xx\377\210\377\377\377\377\22\317\211H\377u\302\346\377\377\377\377\377" "\372\363\330\377N\26\12\377(d\305\377\377\377\377\377}\37\16\377\246" "\352\366\377\377\377\377\377\334\242\210\377\357\332y\377\4\10\"\377" "\351\372\375\377\377\377\377\377\365\350\237\377\2\4\16\377\373\376\377" "\377\310\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx" "\377\205\377\377\377\377\2\361\341\201\377\20!\211\377\203\377\377\377" "\377\12\245+\24\377C\254\336\377\377\377\377\377\10\2\1\377\364\375\376" "\377\377\377\377\377\317\222J\377[\273\344\377\322\2125\377\11\22K\377" "\202\377\377\377\377\4x%\20\377J\273\343\377\340\256\216\377\367\375" "\377\377\310\377\377\377\377\2\207\207\207\377xxx\377\210\377\377\377" "\377\2L\24\16\377\372\376\377\377\202\377\377\377\377\11\320\2043\377" "\34A\271\377\377\377\377\377\26\6\3\377\356\373\376\377\374\370\337\377" "^^\275\377\311q,\377\27""4\253\377\202\377\377\377\377\2\310|0\377\23" ",\212\377\311\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377" "xxx\377\205\377\377\377\377\24\371\362\307\377\16\7\20\377\236\307\340" "\377\374\371\361\377\303\251\207\377\25\17/\377\330\366\373\377\377\377" "\377\377/\14\6\377\241\315\335\377\300\244~\377\31\40Z\377\367\375\377" "\377\356\325\177\377\1\1\3\377{\236\260\377\245\210W\377\0\0\0\377{\300" "\256\377AH\233\377\311\377\377\377\377\2\207\207\207\377xxx\377\210\377" "\377\377\377\21A\20\10\377p\250\313\377\373\375\372\377\341\321\274\377" "U\40\17\377}\313\352\377\377\377\377\377\30\6\3\377\274\330\325\377\206" "Q$\377\235\342\363\377\304a'\377\14\33f\377\354\371\372\377\323\267\220" "\377\23\7\16\377\231\331\360\377\311\377\377\377\377\4\207\207\207\377" "xxx\377\207\207\207\377xxx\377\206\377\377\377\377\5\331\254\201\377" "+\31\16\377\3\7\15\3773F_\377\270\336\362\377\202\377\377\377\377\4\334" "\251y\377(\35\32\377.\77Y\377\301\352\366\377\202\377\377\377\377\6\300" "\227v\377<32\377Pg\206\377\264z:\377\12\31""5\377\275\354\367\377\311" "\377\377\377\377\2\207\207\207\377xxx\377\210\377\377\377\377\5\351\307" "\232\377<'\27\377\2\2\5\377\36->\377\207\251\321\377\202\377\377\377" "\377\11\302\202U\377\31\31\40\377f\220\305\377\377\377\377\377\366\352" "\272\377E-\33\377\2\1\3\377\34+@\377\224\272\341\377\312\377\377\377" "\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377" "\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377x" "xx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377x" "xx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377x" "xx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377" "\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377" "\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377" "\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377" "\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377" "\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207" "\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207" "\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207" "\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342" "\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342" "\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207" "\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207" "\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207" "\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377" "\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377" "\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207" "\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207" "\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207" "\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377" "\377\377\4\207\207\207\377xxx\377PPP\377@@@\377\342\210\210\210\377\2" "HHH\377@@@\377\342\210\210\210\377\202HHH\377\2LLL\377888\377\342www" "\377\2\77\77\77\377888\377\342www\377\4\77\77\77\377CCC\377\207\207\207" "\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377" "\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377" "\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377" "xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377" "xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377" "xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377" "\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377" "\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377x" "xx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377x" "xx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377x" "xx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377" "\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377" "\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377" "\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377" "\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377" "\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207" "\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207" "\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207" "\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342" "\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342" "\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207" "\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207" "\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207" "\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377" "\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\211\377" "\377\377\377\11\374\366\363\377\366\375\377\377\377\377\377\377\377\377" "\376\377\304\321\341\377\376\377\377\377\377\377\377\377\371\361\345" "\377\360\374\376\377\320\377\377\377\377\2\207\207\207\377xxx\377\212" "\377\377\377\377\2\363\345\345\377\366\375\376\377\202\377\377\377\377" "\1\367\374\376\377\216\377\377\377\377\4\372\364\322\377\177|z\377oh" "^\377\315\363\372\377\301\377\377\377\377\4\207\207\207\377xxx\377\207" "\207\207\377xxx\377\206\377\377\377\377\14\376\375\366\377\335\330\324" "\377\270\246\207\377\"\10\4\377\241\351\365\377\377\377\377\377\365\350" "\240\377\0\0\0\377\13\26\35\377\"\40\33\377\21\36b\377\374\377\377\377" "\320\377\377\377\377\2\207\207\207\377xxx\377\207\377\377\377\377\13" "\374\370\343\377\312\305\277\377\234\204c\377\12\5\12\377\340\370\374" "\377\377\377\377\377\375\371\347\377\21\11\24\377;EK\377NJB\377Dm\266" "\377\213\377\377\377\377\4\376\374\360\377\320\300q\377\6\15""3\377\375" "\377\377\377\301\377\377\377\377\4\207\207\207\377xxx\377\207\207\207" "\377xxx\377\206\377\377\377\377\13\371\361\305\377\200\177~\377\\%\20" "\377\6\15""4\377\375\377\377\377\377\377\377\377\323\2146\377\27""25" "\377-($\377,8K\377\252\332\360\377\321\377\377\377\377\2\207\207\207" "\377xxx\377\207\377\377\377\377\4\366\351\260\377\215\214\214\377M\23" "\11\377\16\37{\377\202\377\377\377\377\5\352\316c\377\21.2\377)#\40\377" "0B\\\377\320\363\372\377\214\377\377\377\377\2\320\2053\377\33\77\255" "\377\302\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx" "\377\210\377\377\377\377\2j\32\14\377\34D\260\377\202\377\377\377\377" "\2w\37\25\377\322\364\372\377\324\377\377\377\377\2\207\207\207\377x" "xx\377\210\377\377\377\377\3\377\376\371\377$\11\4\3773\204\320\377\202" "\377\377\377\377\2\270P!\377\272\357\370\377\203\377\377\377\377\11\371" "\355\345\377\337\337\337\377\332\324\340\377\376\374\361\377\302\270" "\264\377\322\356\370\377\377\377\377\377\353\331\314\377\276\303\326" "\377\203\377\377\377\377\4v\35\16\377L\271\342\377\346\335\327\377\335" "\354\370\377\300\377\377\377\377\4\207\207\207\377xxx\377\207\207\207" "\377xxx\377\207\377\377\377\377\24\373\365\325\377\3\1\1\377R\300\345" "\377\377\377\377\377\373\365\325\377\22\37l\377\250\227\213\377\205\217" "\235\377\333\363\372\377\377\377\377\377\376\373\357\377RTP\377CB=\377" "\225\311\252\377N7(\377\31\37""5\377\312\357\351\377\214mU\377,!\37\377" "Jq\262\377\202\377\377\377\377\6\376\375\365\377\225u_\377ABI\377|\230" "\277\377\314\206w\377\226\314\353\377\207\377\377\377\377/\323\323\323" "\377\210\210\210\377\323\323\323\377\377\377\377\377\323\323\323\377" "\210\210\210\377\323\323\323\377\377\377\377\377\323\323\323\377\210" "\210\210\377\323\323\323\377\377\377\377\377\323\323\323\377\210\210" "\210\377\323\323\323\377\377\377\377\377\323\323\323\377\210\210\210" "\377\323\323\323\377\377\377\377\377\323\323\323\377\210\210\210\377" "\323\323\323\377\377\377\377\377\323\323\323\377\210\210\210\377\323" "\323\323\377\377\377\377\377\323\323\323\377\210\210\210\377\323\323" "\323\377\377\377\377\377\323\323\323\377\210\210\210\377\323\323\323" "\377\377\377\377\377\323\323\323\377\210\210\210\377\323\323\323\377" "\377\377\377\377\323\323\323\377\210\210\210\377\323\323\323\377\377" "\377\377\377\323\323\323\377\210\210\210\377\323\323\323\377\211\377" "\377\377\377\2\207\207\207\377xxx\377\210\377\377\377\377\33\363\343" "\216\377\0\0\0\377\214\343\363\377\377\377\377\377\377\377\376\377@\34" "@\377\202qb\377Xbt\377\301\344\365\377\377\377\377\377\341\260\213\377" "Y'\20\377\22)\202\377_LH\377B0\22\377\21(~\377\246rV\377W_\\\377\24\5" "\3\377j\312\351\377\377\377\377\377\373\366\331\377\6\2\1\377D@/\377" "794\377\12\10\33\377\245\341\363\377\210\377\377\377\377/\323\323\323" "\377\210\210\210\377\323\323\323\377\377\377\377\377\323\323\323\377" "\210\210\210\377\323\323\323\377\377\377\377\377\323\323\323\377\210" "\210\210\377\323\323\323\377\377\377\377\377\323\323\323\377\210\210" "\210\377\323\323\323\377\377\377\377\377\323\323\323\377\210\210\210" "\377\323\323\323\377\377\377\377\377\323\323\323\377\210\210\210\377" "\323\323\323\377\377\377\377\377\323\323\323\377\210\210\210\377\323" "\323\323\377\377\377\377\377\323\323\323\377\210\210\210\377\323\323" "\323\377\377\377\377\377\323\323\323\377\210\210\210\377\323\323\323" "\377\377\377\377\377\323\323\323\377\210\210\210\377\323\323\323\377" "\377\377\377\377\323\323\323\377\210\210\210\377\323\323\323\377\377" "\377\377\377\323\323\323\377\210\210\210\377\323\323\323\377\210\377" "\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\207\377" "\377\377\377\24\346\304V\377\1\1\3\377\320\364\372\377\377\377\377\377" "\343\273P\377\24""2]\377\251\262\261\377{V'\377\11\26=\377\331\366\373" "\377\377\377\377\377\367\355\265\377\0\0\0\377Xp\230\377\341\353\353" "\377H\22\10\377\26:5\377\260\330\357\377\347\306X\377\7\16""9\377\202" "\377\377\377\377\6\230X&\377\33D\201\377\332\335\324\377\213X\"\377\16" "\4\2\377\226\345\364\377\207\377\377\377\377/\323\323\323\377www\377" "\323\323\323\377\377\377\377\377\323\323\323\377www\377\323\323\323\377" "\377\377\377\377\323\323\323\377www\377\323\323\323\377\377\377\377\377" "\323\323\323\377www\377\323\323\323\377\377\377\377\377\323\323\323\377" "www\377\323\323\323\377\377\377\377\377\323\323\323\377www\377\323\323" "\323\377\377\377\377\377\323\323\323\377www\377\323\323\323\377\377\377" "\377\377\323\323\323\377www\377\323\323\323\377\377\377\377\377\323\323" "\323\377www\377\323\323\323\377\377\377\377\377\323\323\323\377www\377" "\323\323\323\377\377\377\377\377\323\323\323\377www\377\323\323\323\377" "\377\377\377\377\323\323\323\377www\377\323\323\323\377\211\377\377\377" "\377\2\207\207\207\377xxx\377\210\377\377\377\377\33\321\2064\377\4\11" "$\377\371\376\377\377\377\377\377\377\365\351\243\377\34H\203\377\344" "\360\361\377\263\207G\377\7\17""8\377\353\372\375\377\377\377\377\377" "\2471\26\377\22,j\377\360\374\376\377\352\316U\377\1\1\2\377i\263\341" "\377\377\377\377\377l\32\14\377L\300\345\377\377\377\377\377\346\302" "V\377\2\4\20\377\247\327\357\377\377\377\377\377\273[%\377\34B\257\377" "\210\377\377\377\377/\323\323\323\377www\377\323\323\323\377\377\377" "\377\377\323\323\323\377www\377\323\323\323\377\377\377\377\377\323\323" "\323\377www\377\323\323\323\377\377\377\377\377\323\323\323\377www\377" "\323\323\323\377\377\377\377\377\323\323\323\377www\377\323\323\323\377" "\377\377\377\377\323\323\323\377www\377\323\323\323\377\377\377\377\377" "\323\323\323\377www\377\323\323\323\377\377\377\377\377\323\323\323\377" "www\377\323\323\323\377\377\377\377\377\323\323\323\377www\377\323\323" "\323\377\377\377\377\377\323\323\323\377www\377\323\323\323\377\377\377" "\377\377\323\323\323\377www\377\323\323\323\377\377\377\377\377\323\323" "\323\377www\377\323\323\323\377\210\377\377\377\377\4\207\207\207\377" "xxx\377\207\207\207\377xxx\377\207\377\377\377\377\2\264I\36\377\14\31" "f\377\202\377\377\377\377\30\356\321\273\377\322\364\372\377\377\377" "\377\377\375\372\352\377\14\3\2\377@\250\334\377\377\377\377\377\352" "\315]\377\7\17<\377\361\374\376\377\376\373\357\377\27\6\3\377I\236\331" "\377\377\377\377\377\326\2259\377\25""1\231\377\377\377\377\377\356\326" "\200\377\0\0\0\377\253\352\366\377\377\377\377\377\350\312L\377\7\16" "7\377\376\377\377\377\277\377\377\377\377\2\207\207\207\377xxx\377\210" "\377\377\377\377\2~\37\17\377\30""7\244\377\202\377\377\377\377\23\361" "\336\335\377\374\376\377\377\377\377\377\377\374\370\337\377\0\0\0\377" "\216\344\363\377\377\377\375\3776\15\6\377v\323\355\377\377\377\377\377" "\274X#\377\17#r\377\377\377\377\377\372\364\320\377\12\5\12\377\312\363" "\372\377\377\377\377\377\254@\33\377%\\\270\377\202\377\377\377\377\2" "\311q,\377\20#\216\377\277\377\377\377\377\4\207\207\207\377xxx\377\207" "\207\207\377xxx\377\207\377\377\377\377\27;\17\7\377+m\307\377\377\377" "\377\377\361\335\247\377JLc\377\355\373\375\377\377\377\377\377\376\374" "\362\377\12\3\2\377K\270\342\377\377\377\377\377\262L\37\377)g\305\377" "\377\377\377\377\356\327o\377\3\6\31\377\354\373\375\377\377\377\376" "\377X\25\12\377d\305\347\377\377\377\377\377\305e(\377\15\34q\377\202" "\377\377\377\377\2\301^&\377\35F\257\377\300\377\377\377\377\2\207\207" "\207\377xxx\377\207\377\377\377\377\30\375\371\344\377\12\3\2\377G\261" "\340\377\377\377\377\377\367\354\261\377\14\3\2\377h\325\355\377\377" "\377\377\377\363\343\221\377\3\6\27\377\346\371\375\377\361\336\207\377" "\3\7\33\377\364\375\376\377\377\377\377\377H\22\10\377G\261\340\377\377" "\377\377\377\323\2157\377\25""0\227\377\376\375\365\377\361\374\376\377" "=\17\7\377l\331\356\377\202\377\377\377\377\2m\34\15\3777\213\322\377" "\277\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377" "\206\377\377\377\377\36\366\353\252\377\0\0\0\377w\333\357\377\377\377" "\377\377\274J\37\377\13\32=\377\325\365\373\377\377\377\377\377\350\306" "l\377\3\7\33\377\332\366\373\377\375\372\353\377\36\7\4\377t\330\356" "\377\377\377\377\377\305g)\377\23)\225\377\377\377\377\377\363\345\225" "\377\4\7\35\377\355\373\375\377\230r\271\377\301X$\377\36F\272\377\377" "\377\377\377\376\375\365\377=\17\7\377\213\335\360\377\252pw\377\375" "\377\377\377\276\377\377\377\377\2\207\207\207\377xxx\377\207\377\377" "\377\377\34\353\320e\377\0\0\0\377\277\360\370\377\377\377\377\377\367" "\354\256\377\15\21A\377\361\374\376\377\374\370\347\377z=\30\377I\206" "\311\377\377\377\377\377\270V#\377\26""2\235\377\377\377\377\377\370" "\356\267\377\0\0\0\377\267\356\367\377\377\377\377\377x\35\16\377Q\271" "\343\377\320\223O\377\253\352\366\377;\17\7\377h\317\353\377\377\377" "\377\377\344\274x\377\5\13,\377\331\366\373\377\277\377\377\377\377\4" "\207\207\207\377xxx\377\207\207\207\377xxx\377\205\377\377\377\377\36" "\204zz\377lW3\377\33\32\32\377Ldj\377s|\261\377\347\303~\377\32-h\377" "\264\273\276\377\262\245\220\3772\21\26\377x\254\335\377\377\377\377" "\377\346\301Z\377\3\6\31\377\362\374\376\377\377\377\377\377Z\26\12\377" "9\227\326\377\377\377\377\377\356\330e\377\12\25V\377\223|X\377\221\321" "\355\377\356\326\217\377\22\25M\377\256\263\261\377\210te\377\"\11\5" "\377\214\204[\377k\252\335\377\277\377\377\377\377\2\207\207\207\377" "xxx\377\205\377\377\377\377\13\375\373\353\377uuw\377dH7\377***\377c" "mn\377z\214\320\377\377\377\377\377\334\267\227\377edf\377ech\377\224" "\253\312\377\202\377\377\377\377\5tPH\377m\266\342\377\377\377\377\377" "\354\322\203\377W\\t\377\202\377\377\377\377\11\253X/\3773S]\377t\232" "\317\377\377\377\377\377\345\273\213\377.!1\377TUK\377#(@\377\244\321" "\355\377\300\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377" "xxx\377\213\377\377\377\377\4\354\324\276\377\222\213\211\377\222\231" "\243\377\320\345\365\377\202\377\377\377\377\2\373\363\353\377\343\342" "\353\377\202\377\377\377\377\6\365\366\367\377\374\377\377\377\377\377" "\377\377\377\376\372\377\274\263\264\377\314\335\361\377\202\377\377" "\377\377\5\356\330\305\377\261\263\273\377\351\371\375\377\347\305\253" "\377\246\271\330\377\300\377\377\377\377\2\207\207\207\377xxx\377\236" "\377\377\377\377\3\377\376\371\377\352\352\356\377\376\377\377\377\301" "\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342" "\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207" "\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207" "\207\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207" "\207\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377" "\377\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377" "\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207" "\377xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207" "\377xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207" "\377xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377" "\377\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377" "\377\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377" "xxx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377" "xxx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377" "xxx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377" "\377\4\207\207\207\377xxx\377\207\207\207\377xxx\377\342\377\377\377" "\377\2\207\207\207\377xxx\377\342\377\377\377\377\4\207\207\207\377x" "xx\377\207\207\207\377xxx\377\342\377\377\377\377\2\207\207\207\377x" "xx\377\342\377\377\377\377\4\207\207\207\377xxx\377\207\207\207\377x" "xx\377\342\377\377\377\377\2\207\207\207\377xxx\377\342\377\377\377\377" "\4\207\207\207\377xxx\377PPP\377@@@\377\342\210\210\210\377\2HHH\377" "@@@\377\342\210\210\210\377\202HHH\377\2LLL\377888\377\342www\377\2\77" "\77\77\377888\377\342www\377\2\77\77\77\377CCC\377\202\327\327\327\377" "\342\377\377\377\377\202\327\327\327\377\342\377\377\377\377\202\327" "\327\327\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\342\377\377\377\377"}; nted-1.10.18/icons/tool_icon.png0000664001041000007640000000236311520267227013352 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ(/³øÆÍsIDATXõ—[lTU†¿5m)c¥„Ð’R-1"ri¢ XU’R¤1±ã‹À™ÑcÔ„c¢¥¶l0\-)H D¨JAM V. ”¶”2ý}˜Óá0™ÎŒ²’“œ³÷ZûßûßëvL‰ˆ™M¦¹À(`8Ð)©œdDRÜðpPØóq"ëܲfœÀC€•@opÓ£ÚV“É2ò¢Í§ÆAy°(Š¢rž÷8n5ö001##‘ 'À:àÅHÆ©€ @^ µŒÀ |4ê»Û[tl¹eÑK™¼Zˆæ„fVìœ<3ø9ઌ‡ýQtNa2ˆëtÓä°”'¿.x¢€{m€ %¢‹@§3¾1&q‰aøÈ•Wçèæ`*‰ñvDÌ,¨à @¹¤B¶5¶˜4ɧ§ûªÚfclq>;H#O tÁãÏpNÜ P+€9npgò;çíI«µ±ýÂݯz ÉùÌ ‡ù¡+pœí ðT4ðtèú>;?FôSðÐì¸^ ð|ÄEzYì„2¶Ê†¦šY°¸;ø]pz5,› çMaVtÀ>·{I¡*âe 2DN¥$•'0fW€;#¹Â›¬^ŠqßGZaéÄþãþgÙ]3/ð>æfX܇ñb’+@û4:0ê,È.{ —zà‹Ý ï–òPÝ#Ì»œNv™ÿ*Ј±†vš´D×Lf6Øä¸NP THºáxéX`æö²üs)?>‚iQ@ºkr3rXF ´Hý2¡¤63{Øé0²HÒW·8¹8=i1SŽfóZO ƒÃ£C°c°ÑÆèfùôuÌT,©ÅÌæ—$íî§Yͧ‡îÁëÚP §_gœ¤Å·‹ƒSÚ¨GúËÉ û£\iìZ isÄø¯±0*ú¾ï?ÃökÙ2á,î\ð(fMH0Z‰³Íð X kì à×Ðò† Ìp–³aªiÀ㘠Aü–¤ò“Ú€UÛë3Ÿa¨À7÷¤®Í@O˜É0 hVÇÀÅŽÂB0ž X­•8uÁˆ^Þ’OKÕW<¤`O(³Ý”áÛ)DMú ¬ÖJ›0;!¹H~­ˆÐϵ",1nríImÀjl2â[ C åÓ1šÊßcáÃÙt%ï„"€q ñª¼ª‹c Í=Ð:š‰®õNŽùôF¢L>­Ž»µ¦ó‹{sÉü;#äùz õ 1 ŸšåSc‚ý}7ð=peÕtì+>c:øíp£0KO*$¸‰.`Ï®ñ7³`É/4+:30ó$Ô'#V ¤R~ƒÎ%;øÙ™ ŒNÜ>‚G*þÉÞì.®;3‡‘NÜv€Ò¾—ZXç¼îCú#"c‰þœÆ¤¹ÝI€3ÀP Y~Šƒí—:⪆ÿYÌvÀÁø)tÄ]Žÿ¹ lÆÐN}<ÿ$׳«ïF#IEND®B`‚nted-1.10.18/icons/normal_note_icon_small.png0000664001041000007640000000044111520267227016075 00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ   ~+Ä¡IDAT8ËíÓ1Aaàï罂†J«âz§pgÐéE$Z§P¸D¡PHT*’UxODDˆJb“i6;;™ÙlŠßTÅ—õ_@ö¬™RÊÑG]´pÄS챈p40)âv¨E„{r·Pˆ71ˆˆk)¥ ´?°ŸC©Þù@90Cõf¡¸Æò ⣒ü˜Ac¬p¹Às Ñ| >ýþ3]ÐÜv¦$Ÿm¯IEND®B`‚nted-1.10.18/icons/grace_sixth_icon.h0000664001041000007640000000400711520270060014322 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (grace_sixth_icon) #endif #ifdef __GNUC__ static const guint8 grace_sixth_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 grace_sixth_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (535) */ "\0\0\2/" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\377\377\377\377\0\361\377\377\377\0\2\0\12\0P\0\5\0^\236\377\377\377" "\0\2\0\11\0U\0\1\0\273\236\377\377\377\0\3\0\6\0T\0\0\0\377\0\16\0""6" "\235\377\377\377\0\3\0\11\0U\0\0\0\377\0\1\0\301\235\377\377\377\0\4" "\0\11\0U\0\1\0\354\0\0\0\361\0\7\0q\234\377\377\377\0\5\0\11\0U\0\10" "\0d\0\3\0\245\0\0\0\377\0\24\0&\233\377\377\377\0\5\0\6\0T\0\10\0d\0" "@\0\20\0\11\0T\0\4\0x\233\377\377\377\0\202\0\6\0T\4\0\16\0""6\0\222" "\0\7\0\12\0O\0\25\0$\232\377\377\377\0\202\0\6\0T\1\0\1\0\301\202\0\222" "\0\7\1\0\0\0\377\232\377\377\377\0\202\0\6\0T\4\0\0\0\361\0\7\0q\0@\0" "\20\0\0\0\377\232\377\377\377\0\202\0\6\0T\4\0\3\0\245\0\0\0\377\0\24" "\0&\0\0\0\377\232\377\377\377\0\6\0\11\0U\0\7\0n\0$\0\7\0\3\0\245\0\3" "\0\244\0\23\0(\232\377\377\377\0\2\0\6\0T\0\10\0d\202\377\377\377\0\2" "\0\1\0\303\0\16\0""5\230\377\377\377\0\4\0\23\0""6\0@\0\4\0\11\0U\0\10" "\0d\202\377\377\377\0\2\0\7\0k\0\4\0\203\226\377\377\377\0\3\0\15\0=" "\0\0\0\210\0\0\0\377\202\0\3\0\252\1\0\5\0d\202\377\377\377\0\2\0\14" "\0\77\0\4\0\203\225\377\377\377\0\2\0\16\0""5\0\1\0\345\204\0\0\0\377" "\1\0\5\0c\202\377\377\377\0\2\0\1\0\277\0\4\0\203\225\377\377\377\0\1" "\0\1\0\320\204\0\0\0\377\2\0\0\0\335\0\11\0""9\202\377\377\377\0\2\0" "\0\0\377\0\2\0\242\225\377\377\377\0\1\0\1\0\306\204\0\0\0\377\1\0\3" "\0\247\232\377\377\377\0\5\0!\0\27\0\1\0\313\0\0\0\377\0\0\0\334\0\3" "\0\242\234\377\377\377\0\3\0\31\0)\0\6\0T\0\16\0""7\377\377\377\377\0" "\262\377\377\377\0"}; nted-1.10.18/icons/drum11_icon.png0000664001041000007640000000072011520267227013501 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ ,sj)…PIDATXÃí•=NÄ0…¿R€6ÇØ†Š’š‚,7 æT¬DÇ(5X!.Ãv‡Æ‘¬¬¥Ç14k)Mlå}óæ#3cÊ%iÌÍìÝs¾aú5¼‡kd­=@ë ÖVRÍLÕbáXP’õ{¥ Í.q3ÓP$~—rg² ìªnŠ64Þžçf¤ØouÕ2°¿ˆ¼}­2¹}-ÉASR]iõ®)ˆo½7aë±6ñ'ÿ‚©Åö÷@€¤CIúI ð Ü¥ $u’^%W0³ ð\ !$uÀ p̲-03÷ÖÀÐoÀ°gN€•÷›m&ì}(~ ÇÀ)pifO£Bã@äÄ5`Á‹Á^–cÄ{Û€Mߎh_@[ ÿ![Yß+>æh¯øQJ<q“ à‚O`ܦÒ¦c |äÁ/2…6øg òvIEND®B`‚nted-1.10.18/icons/tied_icon.png0000664001041000007640000000050311520267227013314 00000000000000‰PNG  IHDR szzôgAMA± üabKGDùC» pHYs  ­#½uÓIDATxÚí–±à Dï*¤ök÷´_K'wHRQŠmH2à1p¹ç“£˜"‚‘uê>®´¾h+#  ð®•Åðá ÆÙÝÑ&t´ïË'0&À˜`8@8ÿŠÿ’E¾?!’°ßö""RI÷ŽŸ@iÚ á•À ³–î€ê^Gº ˆPÑ–÷ÔwÂ'-¦^§¾¯Ó,E•BŸ¢ÃJýì{†¹Ý„±Û¯‹e>ˆ;Ôö¬6¹±6#M¦hÞ¶˜¨uÛcš×пL×”€£žIEND®B`‚nted-1.10.18/icons/stroken_grace_icon.h0000664001041000007640000000661311520270060014655 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (stroken_grace_icon) #endif #ifdef __GNUC__ static const guint8 stroken_grace_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 stroken_grace_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1044) */ "\0\0\4," /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\377\377\377\377\0\252\377\377\377\0\1\0\200\0\6\214\0\222\0\7\1\0\200" "\0\6\222\377\377\377\0\1\0\200\0\6\214\0\222\0\7\1\0\200\0\6\222\377" "\377\377\0\1\0\200\0\6\206\0\222\0\7\2\0\12\0P\0\5\0^\204\0\222\0\7\1" "\0\200\0\6\222\377\377\377\0\3\0\30\0\40\0\3\0\223\0\4\0\201\204\0\222" "\0\7\3\0\11\0U\0\1\0\273\0@\0\20\203\0\222\0\7\1\0\200\0\6\222\377\377" "\377\0\5\0\16\0""5\0\0\0\377\0\0\0\373\0\2\0\225\0""6\0\23\202\0\222" "\0\7\3\0\6\0T\0\0\0\377\0\16\0""6\203\0\222\0\7\1\0\200\0\6\222\377\377" "\377\0\2\0\32\0\35\0\1\0\301\202\0\0\0\377\1\0\2\0\232\202\0\222\0\7" "\3\0\11\0U\0\0\0\377\0\1\0\301\203\0\222\0\7\1\0\200\0\6\222\377\377" "\377\0\16\0\200\0\6\0\32\0\36\0\1\0\304\0\0\0\377\0\0\0\374\0\4\0\221" "\0<\0\21\0\11\0U\0\1\0\354\0\0\0\361\0\7\0q\0]\0\13\0\222\0\7\0\200\0" "\6\222\377\377\377\0\4\0\200\0\6\0\222\0\7\0\40\0\30\0\1\0\302\202\0" "\0\0\377\10\0\2\0\237\0\11\0U\0\10\0d\0\3\0\245\0\0\0\377\0\24\0&\0\222" "\0\7\0\200\0\6\222\377\377\377\0\1\0\200\0\6\202\0\222\0\7\2\0\26\0\"" "\0\1\0\306\202\0\0\0\377\7\0\0\0\324\0\10\0d\0#\0\26\0\3\0\245\0\3\0" "\244\0\222\0\7\0\200\0\6\222\377\377\377\0\1\0\200\0\6\203\0\222\0\7" "\2\0<\0\21\0\1\0\305\202\0\0\0\377\6\0\2\0\236\0N\0\15\0\222\0\7\0\1" "\0\303\0\16\0""5\0\200\0\6\222\377\377\377\0\1\0\200\0\6\204\0\222\0" "\7\2\0\25\0$\0\1\0\312\202\0\0\0\377\5\0\4\0\214\0\222\0\7\0\7\0k\0\4" "\0\203\0\200\0\6\222\377\377\377\0\1\0\200\0\6\206\0\222\0\7\1\0\1\0" "\312\202\0\0\0\377\4\0\2\0\237\0\14\0\77\0\4\0\203\0\200\0\6\222\377" "\377\377\0\1\0\200\0\6\206\0\222\0\7\1\0\6\0T\203\0\0\0\377\3\0\1\0\277" "\0\4\0\203\0\200\0\6\222\377\377\377\0\1\0\200\0\6\206\0\222\0\7\3\0" "\11\0U\0\7\0n\0\1\0\306\202\0\0\0\377\2\0\2\0\242\0""9\0\22\222\377\377" "\377\0\1\0\200\0\6\206\0\222\0\7\4\0\6\0T\0\10\0d\0\26\0\"\0\1\0\302" "\202\0\0\0\377\1\0\3\0\225\222\377\377\377\0\1\0\200\0\6\203\0\222\0" "\7\14\0U\0\11\0\23\0""6\0.\0\26\0\11\0U\0\10\0d\0\222\0\7\0\40\0\30\0" "\1\0\304\0\0\0\377\0\0\0\373\0\0\0\222\0\0\0\14\220\377\377\377\0\1\0" "\200\0\6\202\0\222\0\7\3\0\15\0=\0\0\0\210\0\0\0\377\202\0\3\0\252\1" "\0\5\0d\202\0\222\0\7\2\0\32\0\36\0\1\0\301\202\0\0\0\377\1\0\0\0\227" "\220\377\377\377\0\4\0\231\0\5\0\200\0\6\0\16\0""5\0\1\0\345\204\0\0" "\0\377\2\0\5\0c\0\200\0\6\202\0\222\0\7\4\0\32\0\36\0\1\0\304\0\0\0\377" "\0\0\0\357\220\377\377\377\0\202\0\252\0\3\1\0\1\0\320\204\0\0\0\377" "\3\0\0\0\335\0\11\0""9\0\200\0\4\203\0\222\0\7\3\0\40\0\30\0\0\0\217" "\0\0\0\206\220\377\377\377\0\3\0\200\0\6\0\222\0\7\0\1\0\306\204\0\0" "\0\377\1\0\3\0\247\205\0\222\0\7\1\0\200\0\6\222\377\377\377\0\7\0\200" "\0\6\0\222\0\7\0\35\0\32\0\1\0\313\0\0\0\377\0\0\0\334\0\3\0\242\206" "\0\222\0\7\1\0\200\0\6\222\377\377\377\0\1\0\200\0\6\202\0\222\0\7\3" "\0\31\0)\0\6\0T\0\16\0""7\207\0\222\0\7\1\0\200\0\6\377\377\377\377\0" "\252\377\377\377\0"}; nted-1.10.18/icons/tenuto_icon.h0000664001041000007640000000706611520270060013350 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (tenuto_icon) #endif #ifdef __GNUC__ static const guint8 tenuto_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 tenuto_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (979) */ "\0\0\3\353" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\206\377\377\377\0\224\0\221\0\7\214\377\377\377\0\205\0\221\0\7\213" "\0\221\0\16\204\0\221\0\7\214\377\377\377\0\205\0\221\0\7\210\0\221\0" "\16\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\205\0" "\221\0\7\210\0\221\0\16\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214" "\377\377\377\0\205\0\221\0\7\210\0\221\0\16\1\0\0\0\377\202\0\221\0\16" "\204\0\221\0\7\214\377\377\377\0\205\0\221\0\7\210\0\221\0\16\1\0\0\0" "\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\205\0\221\0\7\210" "\0\221\0\16\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377" "\0\205\0\221\0\7\210\0\221\0\16\1\0\0\0\377\202\0\221\0\16\204\0\221" "\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210\0\221\0\7\1\0" "\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7" "\202\0\221\0\0\210\0\221\0\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7" "\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210\0\221\0\7\1\0\0\0" "\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202" "\0\221\0\0\210\0\221\0\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214" "\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210\0\221\0\7\1\0\0\0\377" "\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221" "\0\0\210\0\221\0\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377" "\377\0\203\0\221\0\7\202\0\221\0\0\210\0\221\0\7\1\0\0\0\377\202\0\221" "\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210" "\0\221\0\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0" "\203\0\221\0\7\202\0\221\0\0\204\0\221\0\7\202\0\0\0\377\202\0\221\0" "\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221" "\0\7\202\0\221\0\0\202\0\221\0\7\207\0\0\0\377\202\0\221\0\16\204\0\221" "\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\1\0\221\0\7\210\0" "\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7" "\202\0\221\0\0\211\0\0\0\377\206\0\221\0\7\214\377\377\377\0\203\0\221" "\0\7\202\0\221\0\0\210\0\0\0\377\1\0\221\0\7\202\0\221\0\16\204\0\221" "\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210\0\0\0\377\1\0" "\221\0\7\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7" "\202\0\221\0\0\1\0\221\0\7\206\0\0\0\377\202\0\221\0\7\202\0\221\0\16" "\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\202\0\221" "\0\7\203\0\0\0\377\204\0\221\0\7\202\0\221\0\16\204\0\221\0\7\214\377" "\377\377\0\203\0\221\0\7\202\0\221\0\0\1\0\0\0\0\202\377\377\377\0\204" "\0\0\0\0\202\0\221\0\0\206\0\221\0\7\216\377\377\377\0\2\0\221\0\7\0" "\221\0\0\212\377\377\377\0\206\0\221\0\7\214\377\377\377\0\1\0\221\0" "\7\204\377\377\377\0\211\0\0\0\377\206\0\221\0\7\214\377\377\377\0\1" "\0\221\0\7\204\377\377\377\0\211\0\0\0\377\206\0\221\0\7\214\377\377" "\377\0\203\0\221\0\7\216\377\377\377\0\203\0\221\0\7\214\377\377\377" "\0\203\0\221\0\7\215\377\377\377\0\204\0\221\0\7\214\377\377\377\0\202" "\0\221\0\7\214\377\377\377\0\206\0\221\0\7\214\377\377\377\0\207\0\221" "\0\7\207\377\377\377\0\206\0\221\0\7\206\377\377\377\0"}; nted-1.10.18/icons/prall_icon.h0000664001041000007640000000412611520270060013136 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (prall_icon) #endif #ifdef __GNUC__ static const guint8 prall_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 prall_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (570) */ "\0\0\2R" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (96) */ "\0\0\0`" /* width (24) */ "\0\0\0\30" /* height (24) */ "\0\0\0\30" /* pixel_data: */ "\211\377\377\377\0\1\0\0\0\2\203\377\377\377\0\1\0\0\0\3\222\377\377" "\377\0\7\265u\0\30\32\11\0\274\0=rS\377\377\377\0\222P\0""6\1\0\4\303" "\0M\2118\220\377\377\377\0\13\377\377\0\1Q)\0\251\0\0\0\377\0\13\32\357" "\0""8[;9\33\0\312\0\0\0\377\0\22)\337\17$\0#\0\12!|\0\377\377\3\215\377" "\377\377\0\13\207H\0Q\0\0\0\322\14\4\0\373\0\0\0\377\0\3\5\357\0\1\1" "\326\6\2\0\376\0\0\0\377\0\1\1\352\0+W\237\0\377\377\1\215\377\377\377" "\0\12b.\0N\0P\2213[0\0\212\4\1\0\377\0\16\40\354\0Qv)F#\0\257\1\0\0\377" "\0\23*\343\0\200\314\24\220\377\377\377\0\7\306q\0\11""4\26\0\231\0""9" "m^\377\377\377\0\262f\0\24\35\10\0\252\0G\203D\222\377\377\377\0\2\0" "\0\0\1\377\377\377\0\203\0\0\0\1\227\377\377\377\0\2\0\0\0a\0\0\0""2" "\226\377\377\377\0\2\0\0\0\230\0\0\0N\226\377\377\377\0\2\0\0\0\230\0" "\0\0Q\226\377\377\377\0\2\0\0\0\230\0\0\0P\226\377\377\377\0\2\0\0\0" "\230\0\0\0N\226\377\377\377\0\2\0\0\0\230\0\0\0N\226\377\377\377\0\2" "\0\0\0\230\0\0\0N\226\377\377\377\0\2\0\0\0\230\0\0\0Q\226\377\377\377" "\0\2\0\0\0\230\0\0\0Q\226\377\377\377\0\2\0\0\0\230\0\0\0N\222\377\377" "\377\0\6\252U\0\6B!\0""6\12\5\0c\0\10\20`\0\6\13\262\0\0\0N\221\377\377" "\377\0\3\212L\0%(\24\0\300\4\2\0\376\203\0\0\0\377\1\0\6\14X\220\377" "\377\377\0\2\200*\0\6,\24\0\333\205\0\0\0\377\1\0\0\0\\\220\377\377\377" "\0\1A\23\0O\205\0\0\0\377\2\0\5\13\376\0""1cC\220\377\377\377\0\2\247" "T\0:\20\5\0\371\203\0\0\0\377\3\0\3\10\373\0,V\205\0\200\377\2\220\377" "\377\377\0\7\377\377\0\1`2\0=\25\12\0\225\1\0\1\256\0\12\26\225\0-U\77" "\0\200\377\2\241\377\377\377\0"}; nted-1.10.18/icons/trill_icon.h0000664001041000007640000000531411520270060013152 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (trill_icon) #endif #ifdef __GNUC__ static const guint8 trill_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 trill_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (809) */ "\0\0\3A" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\217\377\377\377\0\1\0\0\0,\235\377\377\377\0\3\0\0\0H\0\0\0\323\0\0" "\0\243\235\377\377\377\0\3\0\0\0r\0\0\0\377\0\0\0\233\235\377\377\377" "\0\3\0\0\0\273\0\0\0\377\0\0\0D\234\377\377\377\0\11\0\0\0\12\0\0\0\320" "\0\0\0\377\0\0\0""8\0\0\0\22\0\0\0M\377\377\377\0\0\0\0'\0\0\0""7\224" "\377\377\377\0\15\0\0\0\30\0\0\0z\0\0\0\211\0\0\0\227\0\0\0\377\0\0\0" "\356\0\0\0\264\0\0\0\323\0\0\0\376\0\0\0\354\0\0\0\330\0\0\0\371\0\0" "\0G\222\377\377\377\0\11\0\0\0\2\0\0\0\304\0\0\0\201\0\0\0[\0\0\0\321" "\0\0\0\377\0\0\0\357\0\0\0T\0\0\0""8\202\0\0\0\377\3\0\0\0\250\0\0\0" "\377\0\0\0v\222\377\377\377\0\16\0\0\0\3\0\0\0\310\0\0\0\245\0\0\0\225" "\0\0\0\362\0\0\0\377\0\0\0\265\0\0\0\13\0\0\0K\0\0\0\377\0\0\0\274\0" "\0\0\315\0\0\0\377\0\0\0c\223\377\377\377\0\1\0\0\0\40\202\0\0\0""2\1" "\0\0\0\353\202\0\0\0\377\7\0\0\0a\0\0\0\233\0\0\0\377\0\0\0j\0\0\0\30" "\0\0\0""2\0\0\0\4\226\377\377\377\0\7\0\0\0\346\0\0\0\377\0\0\0\300\0" "\0\0\233\0\0\0\264\0\0\0\377\0\0\0W\231\377\377\377\0\7\0\0\0\346\0\0" "\0\377\0\0\0\306\0\0\0B\0\0\0\377\0\0\0\371\0\0\0/\231\377\377\377\0" "\6\0\0\0\205\0\0\0\377\0\0\0\231\377\377\377\0\0\0\0\264\0\0\0\254\232" "\377\377\377\0\3\0\0\0\3\0\0\0\31\0\0\0\1\242\377\377\377\0\2\0\0\0R" "\0\0\0\211\236\377\377\377\0\2\0\0\0p\0\0\0\273\236\377\377\377\0\2\0" "\0\0p\0\0\0\273\236\377\377\377\0\2\0\0\0p\0\0\0\273\236\377\377\377" "\0\2\0\0\0p\0\0\0\273\236\377\377\377\0\2\0\0\0p\0\0\0\273\236\377\377" "\377\0\2\0\0\0p\0\0\0\273\236\377\377\377\0\2\0\0\0p\0\0\0\273\236\377" "\377\377\0\2\0\0\0p\0\0\0\273\236\377\377\377\0\2\0\0\0p\0\0\0\273\236" "\377\377\377\0\2\0\0\0p\0\0\0\273\236\377\377\377\0\2\0\0\0p\0\0\0\273" "\231\377\377\377\0\3\0\0\0\10\0\0\0>\0\0\0\235\202\0\0\0\242\2\0\0\0" "\313\0\0\0\273\230\377\377\377\0\2\0\0\0\5\0\0\0\244\205\0\0\0\377\1" "\0\0\0\273\227\377\377\377\0\2\0\0\0\5\0\0\0\246\206\0\0\0\377\1\0\0" "\0\273\227\377\377\377\0\1\0\0\0F\207\0\0\0\377\1\0\0\0\273\227\377\377" "\377\0\1\0\0\0v\206\0\0\0\377\2\0\0\0\373\0\0\0T\227\377\377\377\0\2" "\0\0\0\24\0\0\0\340\204\0\0\0\377\2\0\0\0\344\0\0\0U\231\377\377\377" "\0\2\0\0\0\20\0\0\0k\202\0\0\0\233\2\0\0\0u\0\0\0\26\217\377\377\377" "\0"}; nted-1.10.18/icons/ped_on_icon.png0000664001041000007640000000127111520267227013636 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEØ&4²8’÷tEXtCommentCreated with GIMPWIDATXÃí×MˆNqÇñÏyŒ×!DjÊLS2%MDi"+Å,¬),XÉD³²³Âj"kÅÊÂÂDMyÉblPj3…’·ò’hd¼]›£žÄLÏ33Íæ¹u»ÿÿ9÷ï÷žû;çÜ«( cݱ O«Y[2É[  P¨Ôê*]S°meæÕUTØtšp Å?öªšQ]O¸Š–ÉÒÀÖñ¾y¥[Fñ?šh€|½è˜PbÎü%¼œÀœj¿¦"/>š[x/e®EQ|›:%tfhã†ðEQ M˜#b%îeÞwd¨÷`à\ž×#¢9Ç®LÃ-tå|ºs| шµ8Šw¸€¶Š¿¨ÿS힦èºq ý˜ŽËxƒïè([3?}_±}¬‡ð—pñ»± ·q%Ï]õeYòÃØ1Ö gšíMÛàfÌÀTìÃ+¼N‘.ËuC‰åUä Ûþ qcªÿeÎç /ÇŸ±¡õxŒ¯ãùkv8 Q_ÎÐŒûEQôFĺ|5²>ôK/ˆˆ†ˆ¸™!}‚;Ñ‹‹ø…ÖˆhÈL)aEDÌÄRœˆé¯¼d•DO^|C¦ß5ÌÆñ»‹EØ 7˜NW¥8‚Ye¶VÌÍq=vba™IÚæå+Û‰¦‘~õU»â™IEND®B`‚nted-1.10.18/icons/drum5_icon_small.h0000664001041000007640000000267611520270060014260 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum5_icon_small) #endif #ifdef __GNUC__ static const guint8 drum5_icon_small[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum5_icon_small[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (333) */ "\0\0\1e" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (64) */ "\0\0\0@" /* width (16) */ "\0\0\0\20" /* height (16) */ "\0\0\0\20" /* pixel_data: */ "\247\377\377\377\0\1\0\0\0\20\216\377\377\377\0\3\0\0\0\1\0\0\0\272\0" "\0\0B\215\377\377\377\0\4\0\0\0h\0\0\0\377\0\0\0\316\0\0\0\3\213\377" "\377\377\0\5\0\0\0!\0\0\0\362\0\0\0\273\0\0\0\376\0\0\0e\212\377\377" "\377\0\7\0\0\0\1\0\0\0\273\0\0\0\335\0\0\0\15\0\0\0\240\0\0\0\350\0\0" "\0\16\211\377\377\377\0\7\0\0\0h\0\0\0\376\0\0\0C\377\377\377\0\0\0\0" "\35\0\0\0\363\0\0\0\211\210\377\377\377\0\3\0\0\0!\0\0\0\362\0\0\0\225" "\203\377\377\377\0\4\0\0\0|\0\0\0\371\0\0\0\33\0\0\0\1\205\377\377\377" "\0\4\0\0\0\1\0\0\0\273\0\0\0\335\0\0\0\15\203\377\377\377\0\4\0\0\0\14" "\0\0\0\340\0\0\0\251\0\0\0""2\205\377\377\377\0\3\0\0\0h\0\0\0\376\0" "\0\0C\205\377\377\377\0\4\0\0\0Y\0\0\0\377\0\0\0\234\0\0\0\24\203\377" "\377\377\0\3\0\0\0!\0\0\0\362\0\0\0\320\206\0\0\0]\4\0\0\0`\0\0\0\351" "\0\0\0\377\0\0\0\305\203\377\377\377\0\1\0\0\0\234\214\0\0\0\340\1\0" "\0\0\7\261\377\377\377\0"}; nted-1.10.18/icons/bracket_icon.png0000664001041000007640000000064111520267227014005 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEØ7·ñ/ûtEXtCommentCreated with GIMPWüIDATXÃí—­JDQFך{Aô 4 ŠÕj1XD¬ƒ`6è£øŽØM‚Ùî4ñl‚A0Èg™`P¸÷:z@ΆÏ>kŸŸÍ÷™„’1¢pü/µQ-yëéù¨Fsì~x*rê!ðšäåOÔu´I¦Cj´=6;vXVmà$ÉÍà.’tJàð ÜgÀV×õße;€ù(ÉmÉ9ðV'a¨ T€ÒMi€ õZ« ?–s]E¬:ö?)¢5@à4Éý¯+¢/’Àp ì ­ã<¼¡z L“<ùI®€eu ú9#çåŽg–l3Éc€D ¼÷±g%˜çC)åÐIEND®B`‚nted-1.10.18/icons/tenuto_icon.png0000664001041000007640000000051311520267227013706 00000000000000‰PNG  IHDR szzôgAMA± üabKGDùC» pHYs  ­#½uÛIDATxÚíW˃0 sФñµí·°?Ýž¼C›¦>Z„‰m‰]+A±D*ä%Ot :†ÔúØÇB*hM=o ·õ“¾Ä 0hÛPÕR·T`6+<Ö–Öyà \z?UÆ·) 7ý¶ûá‚qlSn7ë‚xCû^WþÌGÁ{’€ƒˆÈ¶¶9’3&ûhPu 3†&gL¦Z":îà"ÂÚcUàò.(ÖÀ¯ @R,É5þò4´æ¶Ú¹âiVH%´’*ÅëBH2ƒ…‹IEND®B`‚nted-1.10.18/icons/arrow_right_icon.png0000664001041000007640000000064011520267227014720 00000000000000‰PNG  IHDR©JLÎsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ  Wý; IDATHǵտ+…qÇñ×½7‰[ŠÁ¯ÅDfd³2XäoPÂæÏ1›¬Ùu­(Ã]HJ —÷>–ç™H÷>Ýsê³~ßó=ŸÏ)ù]+¨á‰ÀºÂæÑ ºF÷ØÀ`$(AÏ8D_$(Ó.°ˆ.¢@Yw7ØÄP$(S ;˜lGgÿ|à3é(Ã@ ¾QÅ:zóv× (ÓŽ0ŽR$(Ó1ZeP·©Áû#AIš&¯Øý+ºŠm4z˜Âhä豑f·0¨Š% ·²ê­‚N0‹Îˆõnà {Ëû×Í€*XC9*‚Þq‰itG…j [˜ˆ:uÜaQ‡ï§˜‹:å <à 5`HUR®¦g»ÚOóªÜÎGÒÔ(%SÉIEND®B`‚nted-1.10.18/icons/quarternote_icon.h0000664001041000007640000000450511520270060014376 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (quarternote_icon) #endif #ifdef __GNUC__ static const guint8 quarternote_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 quarternote_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (565) */ "\0\0\2M" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\206\377\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214" "\377\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214\377" "\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214\377\377" "\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214\377\377\377" "\0\224\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\210\0\221" "\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\210\0\221\0\7\214\377" "\377\377\0\213\0\221\0\7\1\0\0\0\377\210\0\221\0\7\214\377\377\377\0" "\213\0\221\0\7\1\0\0\0\377\210\0\221\0\7\214\377\377\377\0\213\0\221" "\0\7\1\0\0\0\377\210\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0" "\0\377\210\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\210" "\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\210\0\221\0\7" "\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\210\0\221\0\7\214\377\377" "\377\0\213\0\221\0\7\1\0\0\0\377\210\0\221\0\7\214\377\377\377\0\213" "\0\221\0\7\1\0\0\0\377\210\0\221\0\7\214\377\377\377\0\213\0\221\0\7" "\1\0\0\0\377\210\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377" "\210\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\210\0\221" "\0\7\214\377\377\377\0\207\0\221\0\7\202\0\0\0\377\202\0\221\0\7\1\0" "\0\0\377\210\0\221\0\7\214\377\377\377\0\205\0\221\0\7\207\0\0\0\377" "\210\0\221\0\7\216\377\377\377\0\202\0\221\0\7\210\0\0\0\377\210\0\221" "\0\7\214\377\377\377\0\1\0\221\0\7\202\377\377\377\0\211\0\0\0\377\202" "\377\377\377\0\206\0\221\0\7\214\377\377\377\0\203\0\221\0\7\210\0\0" "\0\377\211\0\221\0\7\214\377\377\377\0\203\0\221\0\7\210\0\0\0\377\211" "\0\221\0\7\214\377\377\377\0\204\0\221\0\7\206\0\0\0\377\212\0\221\0" "\7\214\377\377\377\0\205\0\221\0\7\203\0\0\0\377\214\0\221\0\7\214\377" "\377\377\0\224\0\221\0\7\206\377\377\377\0"}; nted-1.10.18/icons/drum10_icon_small.h0000664001041000007640000000422611520270060014325 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum10_icon_small) #endif #ifdef __GNUC__ static const guint8 drum10_icon_small[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum10_icon_small[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (605) */ "\0\0\2u" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (64) */ "\0\0\0@" /* width (16) */ "\0\0\0\20" /* height (16) */ "\0\0\0\20" /* pixel_data: */ "\207\377\377\377\0\1\0\0\0\6\216\377\377\377\0\3\0\0\0\26\0\0\0\323\0" "\0\0f\214\377\377\377\0\5\0\0\0\27\0\0\0\324\0\0\0\377\0\0\0\375\0\0" "\0e\204\377\377\377\0\1\0\0\0\1\205\377\377\377\0\7\0\0\0\26\0\0\0\324" "\0\0\0\372\0\0\0\363\0\0\0\377\0\0\0\375\0\0\0f\210\377\377\377\0\11" "\0\0\0\27\0\0\0\324\0\0\0\372\0\0\0R\0\0\0\77\0\0\0\363\0\0\0\377\0\0" "\0\375\0\0\0e\206\377\377\377\0\4\0\0\0\27\0\0\0\324\0\0\0\372\0\0\0" "Q\202\377\377\377\0\7\0\0\0>\0\0\0\364\0\0\0\377\0\0\0\375\0\0\0f\377" "\377\377\0\0\0\0\2\202\377\377\377\0\4\0\0\0\27\0\0\0\324\0\0\0\372\0" "\0\0R\204\377\377\377\0\13\0\0\0\77\0\0\0\363\0\0\0\377\0\0\0\375\0\0" "\0e\0\0\0""3\377\377\377\0\0\0\0\27\0\0\0\324\0\0\0\377\0\0\0\200\206" "\377\377\377\0\7\0\0\0>\0\0\0\363\0\0\0\377\0\0\0\375\0\0\0\301\0\0\0" "\34\0\0\0\215\202\0\0\0\377\2\0\0\0\363\0\0\0>\206\377\377\377\0\2\0" "\0\0\77\0\0\0\363\202\0\0\0\377\3\0\0\0G\0\0\0\6\0\0\0\260\202\0\0\0" "\377\2\0\0\0\363\0\0\0>\205\377\377\377\0\10\0\0\0G\0\0\0\367\0\0\0\362" "\0\0\0\201\0\0\0\14\377\377\377\0\0\0\0\6\0\0\0\257\202\0\0\0\377\2\0" "\0\0\363\0\0\0>\203\377\377\377\0\5\0\0\0G\0\0\0\367\0\0\0\362\0\0\0" "<\0\0\0\3\203\377\377\377\0\2\0\0\0\6\0\0\0\260\202\0\0\0\377\7\0\0\0" "\363\0\0\0>\377\377\377\0\0\0\0G\0\0\0\366\0\0\0\362\0\0\0<\206\377\377" "\377\0\2\0\0\0\6\0\0\0\257\202\0\0\0\377\5\0\0\0\363\0\0\0y\0\0\0\367" "\0\0\0\362\0\0\0;\210\377\377\377\0\2\0\0\0\6\0\0\0\260\203\0\0\0\377" "\2\0\0\0\362\0\0\0<\212\377\377\377\0\5\0\0\0\6\0\0\0\257\0\0\0\377\0" "\0\0\362\0\0\0;\214\377\377\377\0\3\0\0\0\6\0\0\0\243\0\0\0<\207\377" "\377\377\0"}; nted-1.10.18/icons/stacc_icon.h0000664001041000007640000000726711520270060013132 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (stacc_icon) #endif #ifdef __GNUC__ static const guint8 stacc_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 stacc_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1038) */ "\0\0\4&" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\206\377\377\377\0\224\0\221\0\7\214\377\377\377\0\205\0\221\0\7\213" "\0\221\0\16\204\0\221\0\7\214\377\377\377\0\205\0\221\0\7\210\0\221\0" "\16\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\205\0" "\221\0\7\210\0\221\0\16\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214" "\377\377\377\0\205\0\221\0\7\210\0\221\0\16\1\0\0\0\377\202\0\221\0\16" "\204\0\221\0\7\214\377\377\377\0\205\0\221\0\7\210\0\221\0\16\1\0\0\0" "\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\205\0\221\0\7\210" "\0\221\0\16\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377" "\0\205\0\221\0\7\210\0\221\0\16\1\0\0\0\377\202\0\221\0\16\204\0\221" "\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210\0\221\0\7\1\0" "\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7" "\202\0\221\0\0\210\0\221\0\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7" "\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210\0\221\0\7\1\0\0\0" "\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202" "\0\221\0\0\210\0\221\0\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214" "\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210\0\221\0\7\1\0\0\0\377" "\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221" "\0\0\210\0\221\0\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377" "\377\0\203\0\221\0\7\202\0\221\0\0\210\0\221\0\7\1\0\0\0\377\202\0\221" "\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210" "\0\221\0\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0" "\203\0\221\0\7\202\0\221\0\0\204\0\221\0\7\202\0\0\0\377\202\0\221\0" "\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221" "\0\7\202\0\221\0\0\202\0\221\0\7\207\0\0\0\377\202\0\221\0\16\204\0\221" "\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\1\0\221\0\7\210\0" "\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7" "\202\0\221\0\0\211\0\0\0\377\206\0\221\0\7\214\377\377\377\0\203\0\221" "\0\7\202\0\221\0\0\210\0\0\0\377\1\0\221\0\7\202\0\221\0\16\204\0\221" "\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210\0\0\0\377\1\0" "\221\0\7\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7" "\202\0\221\0\0\1\0\221\0\7\206\0\0\0\377\202\0\221\0\7\202\0\221\0\16" "\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\202\0\221" "\0\7\203\0\0\0\377\204\0\221\0\7\202\0\221\0\16\204\0\221\0\7\214\377" "\377\377\0\203\0\221\0\7\202\0\221\0\0\207\0\0\0\0\202\0\221\0\0\206" "\0\221\0\7\216\377\377\377\0\2\0\221\0\7\0\221\0\0\210\0\0\0\0\202\0" "\221\0\0\206\0\221\0\7\214\377\377\377\0\1\0\221\0\7\202\377\377\377" "\0\204\0\0\0\0\202\0\0\0\377\203\0\0\0\0\202\377\377\377\0\206\0\221" "\0\7\214\377\377\377\0\203\0\221\0\7\203\0\0\0\0\204\0\0\0\377\1\0\0" "\0\0\203\0\221\0\0\206\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202" "\0\0\0\0\206\0\0\0\377\203\0\221\0\0\206\0\221\0\7\214\377\377\377\0" "\203\0\221\0\7\2\0\221\0\0\0\0\0\0\206\0\0\0\377\203\0\221\0\0\206\0" "\221\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\1\0\0\0\0\204" "\0\0\0\377\204\0\221\0\0\206\0\221\0\7\214\377\377\377\0\207\0\221\0" "\7\202\0\0\0\377\213\0\221\0\7\206\377\377\377\0"}; nted-1.10.18/icons/staccatissimo_icon.png0000664001041000007640000000065711520267227015247 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ :,ß»yÀtEXtCommentCreated with GIMPW IDATXÃí×±JAÆñß$A"Z*ÄR°A›Øˆ•½Xù(V‚•¥"ØØû >ˆv¾€‚06'XDÌ—Ê l±³óßÙÝá[™©Ç î1S&®£>›ÇrkÖ PÉZ€ hZ€ÿV‰íUHÖÅöpðe#‰DÄn±UÛ”äÞ/%dJ쎑ü½I)¢í1æœdæ{SÏðW“¼›xQöWœ¢[EÌF±ø¸¯`ÇØÀ3îp™O•{H€ý`63_šê„û8k² o ` K±8u€ˆècsÅ—lêþY‰©¬3þ{‚¤W1î—XÆùo>½AQ>aÍYIEND®B`‚nted-1.10.18/icons/lyrics_icon.h0000664001041000007640000000551011520270060013327 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (lyrics_icon) #endif #ifdef __GNUC__ static const guint8 lyrics_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 lyrics_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (719) */ "\0\0\2\347" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\363\377\377\377\0\2\0\0\0\331\0\0\0H\236\377\377\377\0\2\0\0\0\353\0" "\0\0N\236\377\377\377\0\2\0\0\0\353\0\0\0N\236\377\377\377\0\2\0\0\0" "\353\0\0\0N\236\377\377\377\0\2\0\0\0\353\0\0\0N\236\377\377\377\0\2" "\0\0\0\353\0\0\0N\236\377\377\377\0\2\0\0\0\353\0\0\0N\233\377\377\377" "\0\5\0\0\0\211\0\0\0\40\377\377\377\0\0\0\0\353\0\0\0N\227\377\377\377" "\0\2\0\0\0\6\0\0\0\227\202\0\0\0\353\5\0\0\0\377\0\0\0\360\0\0\0\353" "\0\0\0\375\0\0\0N\227\377\377\377\0\1\0\0\0t\207\0\0\0\377\1\0\0\0N\227" "\377\377\377\0\1\0\0\0\24\207\0\0\0\377\1\0\0\0N\227\377\377\377\0\2" "\0\0\0\3\0\0\0p\205\0\0\0\304\2\0\0\0\224\0\0\0\14\327\377\377\377\0" "\3\377\0\377\17\377\0\377\304\377\0\377\36\235\377\377\377\0\3\377\0" "\377\24\377\0\377\377\377\0\377'\235\377\377\377\0\3\377\0\377\24\377" "\0\377\377\377\0\377'\235\377\377\377\0\6\377\0\377\24\377\0\377\377" "\377\0\377'\377\377\377\0\377\0\377\24\377\0\377\214\202\377\0\377\261" "\2\377\0\377\244\377\0\377\13\226\377\377\377\0\6\377\0\377\24\377\0" "\377\377\377\0\377'\377\377\377\0\377\0\377\377\377\0\377\355\202\377" "\0\377\211\3\377\0\377\333\377\0\377\300\377\0\377\22\225\377\377\377" "\0\6\377\0\377\24\377\0\377\377\377\0\377'\377\377\377\0\377\0\377\304" "\377\0\377E\202\377\377\377\0\3\377\0\377,\377\0\377\377\377\0\377'\225" "\377\377\377\0\3\377\0\377\24\377\0\377\377\377\0\377'\204\377\377\377" "\0\4\377\0\3770\377\0\377\244\377\0\377\377\377\0\377'\225\377\377\377" "\0\6\377\0\377\24\377\0\377\377\377\0\377'\377\377\377\0\377\0\377\236" "\377\0\377\360\202\377\0\377\235\3\377\0\377\244\377\0\377\377\377\0" "\377'\225\377\377\377\0\6\377\0\377\24\377\0\377\377\377\0\377'\377\0" "\377y\377\0\377\264\377\0\3772\202\377\377\377\0\3\377\0\377\24\377\0" "\377\377\377\0\377'\225\377\377\377\0\13\377\0\377\24\377\0\377\377\377" "\0\377'\377\0\377\235\377\0\377\322\377\0\377\40\377\377\377\0\377\0" "\377*\377\0\377\222\377\0\377\377\377\0\377'\225\377\377\377\0\14\377" "\0\377\24\377\0\377\377\377\0\377'\377\0\377\14\377\0\377\317\377\0\377" "\360\377\0\377\353\377\0\377\331\377\0\377\267\377\0\377\377\377\0\377" "|\377\0\377<\224\377\377\377\0\5\377\0\377\6\377\0\377N\377\0\377\14" "\377\377\377\0\377\0\377\36\202\377\0\377N\4\377\0\3776\377\0\377\6\377" "\0\377N\377\0\377<\351\377\377\377\0"}; nted-1.10.18/icons/arrow_up_icon.png0000664001041000007640000000055311520267227014232 00000000000000‰PNG  IHDR szzôbKGDÿÿÿ ½§“ pHYs M MÒέNtIME× Š^Ö@øIDATXÃíÕ1JA†ágÃ6B VVÚzk ±ñÀx/`%Ö6"v [o`iaka@Ò©ùmvaQW2›63ð63ð}ï 3LºŒ¢(JœãW1ëÉ`ˆŠ16:e%qŠi£¼fŠ”K¨v}ÿCñWn°Ö›Vq‚Éå5ì£XHÛÕ%‹Ž\c”,€Žñ²@yÍ3öæÀn{(nò†K [°‚#¼ö\Þä »ß°¹„]ÿvõs…Ãj2þ˜Çê’+Yo <ë5(#â=ñøhYš¥fÁÀ?,²@ÈY d,ð ”ÿ7SU„IEND®B`‚nted-1.10.18/icons/turn_icon.png0000664001041000007640000000124011520267227013356 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ#É:q‹tEXtCommentCreated with GIMPWûIDATXÃí×MˆŽQðßa|ÔÈÇ %ÅF³‘¯Ô$,„Ȇµ- )e¡¬%²¶¶YXذ0d6V _!MiŠFqlî[·wÆ}Í;½sëÖÓ=ç9ç<çÜó?ÿ'2S?×¼Zňˆ©Î;ɦÒo_µÎ33#böa_0š™Eg †ñc™ù¶õÞ´Æ3³jcn"ËžÄ5¬(òK ÙVÕØ×E¹Îà öâ"à4®DÄÜÆ-\Å8ŽWYí"7°©<à}ùâ;X‰Å%°£8Ûë b{DœÂyÜüÄA<Á¶ÜP¹ =ÍÀn|jÔùB9Æ3|oÈîcuݨÁF.µýŒË™ù®È·`áîf懚.ˆZ êd¬ÕëœTµ`7@T2ðèdYÝÏŒ°å°“³rþ*"EÄž¬Lí@7èôܶ6`9–ô<}FsÌðßð¯€3cFÔD¾ˆXеøU¦ßdf¾ž•šÎ í*édCígD¬Ÿµ ç»p‡:”n>®ÿS *¹Àf\0b\14\6\0\372\0\5\15\374\4\4\0\306\7\4\0\371\0\13\33\357\0D\227" "@\230\377\377\377\0\10\275k\0\37.\31\0\332\0\4\17\373\0HyN\0\377\377" "\1e4\0\257\0\0\0\377\0CT\247\230\377\377\377\0\3B\32\0:\14\0\1\371\0" "&S\237\202\377\377\377\0\3tb\0}\0\0\0\377\0Rj\315\230\377\377\377\0\3" "zh\0q\0\14\20\370\0\240\327S\202\377\377\377\0\3yJ\0\246\0\1\6\376\0" "(Kz\230\377\377\377\0\10\202o\0z\0\15\17\364\0\303\345D\377\377\377\0" "\231S\0(!\13\0\340\0\12\31\352\0w\306-\230\377\377\377\0\7ZN\0X\0\14" "\20\365\0\300\341E\207U\0$-\27\0\324\0\4\12\372\0:l{\231\377\377\377" "\0\7""9\16\0""6\5\0\4\353\0Chg%\17\0\335\0\0\3\375\0\"F\234\0t\321\13" "\231\377\377\377\0\6\264F\0,6\25\0\357\0\1\11\375\0\3\10\375\0)O\224" "\0\200\325\14\231\377\377\377\0\6\377\377\0\1\\.\0o\23\12\0\371\0\0\1" "\377\0.V\213\0`\237\10\231\377\377\377\0\5\377\377\0\2]3\0~\15\6\0\372" "\0\0\0\377\0\14B\366\233\377\377\377\0\6nB\0h\20\5\0\365\0\4\12\375\13" "\33\0\274\0\1\5\376\0\301\343%\230\377\377\377\0\10\377\377\0\1\210I" "\0I\21\4\0\371\0\1\6\376\0&J\234&\23\0\33#\7\0\372\0G\251w\230\377\377" "\377\0\13\214f\0\24-\23\0\341\0\0\0\377\0\26""7\307\0d\233\27\325\200" "\0\22J/\0\332\0\16!\243\0\14\23)\0\34""9\33\0\200\277\4\224\377\377\377" "\0\10\377\377\0\2i0\0\217\0\0\0\377\0\14\36\361\0`\2145\252U\0\6V-\0" "J\23\14\0\325\203\0\0\0\377\4\0\6\15\355\0\25(\241\0Cs*\0\377\377\1\221" "\377\377\377\0\17\321\200\0\34""9$\0\333\0\0\0\377\0""5m\221m\222\0\7" "C\"\0\220\4\2\0\362\16\21\0\335\0\0\1\377\0\17\17\212\27\14\0\230\23" "\10\0\352\0\0\0\377\0\10\30\352\0C\220E\221\377\377\377\0\20\233\31\0" ")8\11\0\370\0\14)\366\0\200\246\24\212/\0F\20\2\0\340\0=ri\346\305\0" "\37\6\1\0\376\0]\236\201\377\377\377\0\225c\0$+\24\0\331\0\0\0\377\0" "\32""3\330\0X\272\32\220\377\377\377\0\20\256<\0&=\24\0\362\0G]\326\0" "\252\325\6\77\12\0M\11\0\3\307\0\277\352\14\377\377\377\0J\24\0\362\0" "\14""8\245\0\377\377\2\377\377\377\0\236^\0l\0\0\0\377\0\3\26\374\0\14" ";+\220\377\377\377\0\20\346\263\0\12=#\0\257\0\37E\354\0j\252\14\301" "g\0%\16\7\0\260\0O\241D\377\377\377\0SA\0\270\0#5\341\0\212\323#\377" "\377\377\0\265\237\0-\0\0\0\377\0\12'\370\0\37j)\221\377\377\377\0\17" "\234Z\0""6\36\15\0\363\0""3`\210\0m\333\7m+\0*(\15\0&\377\377\377\0O" "\20\0q\1\0\26\363\0\24U3\377\377\0\1y=\0~\0\0\0\377\0\40E\265\0\211\330" "\15\222\377\377\377\0\15u>\0F\21\6\0\347\0\24)\263\0&C=\0U\216\11\377" "\377\377\0\313x\0S\17\11\0\370\0IY\222;\40\0y\23\12\0\360\0\23*\307\0" "{\247\35\224\377\377\377\0\13w>\0-%\22\0\220\11\4\0\313\0\5\13\312\0" "\6\12\240\32\25\0\251\4\3\0\371\0\10\14\366\0\22\40\270\0\40=X\0N\235" "\15\230\377\377\377\0\6t.\0\13\27\17\0!\6\0\0)M\20\0\336\0\34'\354\0" "\236\3257\235\377\377\377\0\3pB\0\306\0\11$\371\0(\242G\225\377\377\377" "\0\6\377\200\0\2Z5\0f\17\7\0\341\0\2\7\351\0\25-\251\0J\214\37\202\377" "\377\377\0\3l[\0\250\0\4\32\374\0\21pK\225\377\377\377\0\2\325\252\0" "\14UC\0\326\202\0\0\0\377\2\0\1\3\377\0Od\221\202\377\377\377\0\3i2\0" "\312\0\17&\366\0A\263C\225\377\377\377\0\13\377\377\0\1[*\0y\3\1\0\376" "\0\3\4\375\0\12\26\336\0²ù/öõipU¤Ÿ6îÓÐ|?Ùü ›½äiw[¤?oõæOXê +x.ŽZÏ‘J€‹Âü©7€¼¸³ù Û]ì‘qÅÈþN)íà4œ».–È¥à Ûø-IEND®B`‚nted-1.10.18/icons/midikeyboard_icon.png0000664001041000007640000000064511520267227015041 00000000000000‰PNG  IHDR Ùs²gAMA± üabKGDÝŠ¤ pHYs  ÒÝ~ütIMEÑ 7+š`Ù&IDATxœí”½Q1…?1Š(B%0nB†..£‡BJ ¸€FœÓÆ–@K Ÿ]ù΃ ìts§'iß»·+Â3O¼óņ^(M åÚß²ÞØ²ážÈŸ|ðÈ®G µO £Àë×"BôÓ©íS…¨BBl½£4(˦Fh$éX€(Þriæ`_·°S Îb蔑ªÅM©Lf ¦šUŸ©ý¯ÿ¦ŒÌ SHÄbß–ôåÜì*{¦ ìmÖ˜±9˜ªƒZD—9vVÒè•™]e¢å¸¤z났: «»B»1¨äúŽÔ3ÚǶúãšÕ·Ü¿è‘%<;©Ò£ç¬Á¯;ø#:¼bèþ.E@i÷…¡Ã+>æbR¸f?ßß!g¡ÊTeIEND®B`‚nted-1.10.18/icons/stacc_icon.png0000664001041000007640000000052011520267227013463 00000000000000‰PNG  IHDR szzôgAMA± üabKGDùC» pHYs  ­#½uàIDATxÚíWA„06›èkí[êO÷fOìÁ­vM5@ñ`Ò9)µ0@bfÔ@3 pOœjö·Ò†T’|ôò<%>Ú-¾ è:iŠJê‘ t@'ÐF `AÀÒâBÛì¯ÞoU ñÄm È‚«®mß$Œ±¶mâÖíaU°žP¿æªÀ1PÄh è“0'¶LÄ„Sxâô7L‘?5èj2ʈ踜7m ÙÏÙDešŒ gåf><"@3Ám²ÐæLÀ˜`¾ ¬$¨b·iÿƒ´ ‡‚ĸýö«×Œ/þ-;[vVIEND®B`‚nted-1.10.18/icons/grace_eighth_icon.png0000664001041000007640000000065711520267227015012 00000000000000‰PNG  IHDR szzôbKGDÿÿÿ ½§“ pHYs  d_‘tIME×  &äÇÉõ#Àsä9Àÿаš*iÍŸF‘.«þzÆ¢ªjø{þšP´1æTÖ¦€!¶ 9å•}jÊ}L³NÈì¸W áÉn¬c][!aRUÕýQ‰cb–ý¹ökÅ/ì¦Ù^øH˜pÆZîzqÿ~39)FÔö0c¤V@ͱlrB8Ë>ÌÌ~œT¨#û”E6Òœ3˜éJq€Qû²zO[Wã8þæ\ZlçnJ0Îâê]ú;B³Jÿ‘Jû3RM3´™¥LËžíâד<ÿšå¾Þk÷ín0)M-IEND®B`‚nted-1.10.18/icons/tremolo_icon3.png0000664001041000007640000000132511520267227014136 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ& ëÇóttEXtCommentCreated with GIMPW0IDATXÃå—?kTQÅ'»+D‰Z$Š!TZ(ˆ…é´ü b#)µ±´³,ýjkÊ€ˆbÈ6‰…4\óg,œ‡Ëõ¾ì»ïíÐ ûvsfî<™ûi}ì³u€$ýŸ4*iÝ*©øÒBI7dÑ×$IzbfV„ÂìIR–Òðp ŽÇà%p 8äÇ4Ìl»|³¿–;Rdÿ0pXV<úpýˆ™·ê±’Ú#W€G9±,Ïùð¿{Y=’Ë{–Ôv€°¬ÃÀ€ïo™ÙNQçeD¸ <n'€sÀŠ™m¸6&%=H*˾"š˜6€9à° ´’ÎHp& ¸ ¼Z9"üÚâªss¼éå8« ÂUÐ᩵5Ÿe éϛٻR—SbÆ€ÛÀWÿ(ðÅßú@°M )© g€>IK^ §¢ø…–R1’Nz'< \Žæí×½Ôb"\f‰R‘7©]o‚YšüžêWÞžg€À[à5‰¼¦ô‹Àc`Ä÷F2¶ÿ.%ª2KÞ›Ù`Ï'"ý¶ƒ’JZ”ôxVy¨I `*o¨tŸäþ°§þ2Üwª‚öY Üiká}”Ô0³­JdcXlˉÜü*>[6z3û# ,Àù9‚ý0mfóU¾ Š ððÆ£þÜ«pß•>ðO|ÿÁTÏqÌÇìwIEND®B`‚nted-1.10.18/icons/eightnote_icon.png0000664001041000007640000000046111520267227014360 00000000000000‰PNG  IHDR szzôgAMA± üabKGDùC» pHYs  d_‘ÁIDATxÚí—A „0 E“aÀžÖž¥ž¶®þ¬•VÒ4™8§(y¾&B• OdÌXK÷_–E4q)?Ü@‡G”œPX°H4¶ö·ì!„Æ4aƒ‰±S °0@hÁáà°%R–ôc¿2ïÖ0cef´|¥@¤Ì‘×½ò#0(V ×6£ÃC›ò‹`¢úFUÛŒªGдš% ÚUîö)\u{ç$È œ % ßCƒ‚ç|Z0³æ]oIEND®B`‚nted-1.10.18/icons/drum7_icon_small.png0000664001041000007640000000046311520267227014622 00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ  Ff|³IDAT8ËÍ“± 1 Eß¿ ¤,Á,À3 ]ÍT 1 5[Ó$è.qྔ"Žÿ³l+23ƨa¤ €¤‰$ýÔ'`ïA$IgI³wÐÌè€pÔ‹à\ez+$3·ƒ\AŽ5óG@„l‹ •—S]£¤´À=¶±p·S©œz¾EH<óÁº-äæl&$7O=³ÙÖvž¹—³æé®ÿûLßêàÌÀÅÖüIEND®B`‚nted-1.10.18/icons/sforzando_icon.h0000664001041000007640000000465511520270060014040 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (sforzando_icon) #endif #ifdef __GNUC__ static const guint8 sforzando_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 sforzando_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (703) */ "\0\0\2\327" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\223\377\377\377\0\2\0\0\0\7\0\0\0\13\236\377\377\377\0\2\0\0\0x\0\0" "\0\264\236\377\377\377\0\2\0\0\0x\0\0\0\264\236\377\377\377\0\2\0\0\0" "x\0\0\0\264\236\377\377\377\0\2\0\0\0x\0\0\0\264\236\377\377\377\0\2" "\0\0\0x\0\0\0\264\236\377\377\377\0\2\0\0\0x\0\0\0\264\236\377\377\377" "\0\2\0\0\0x\0\0\0\264\236\377\377\377\0\2\0\0\0x\0\0\0\264\236\377\377" "\377\0\2\0\0\0x\0\0\0\264\236\377\377\377\0\2\0\0\0x\0\0\0\264\236\377" "\377\377\0\2\0\0\0x\0\0\0\264\236\377\377\377\0\2\0\0\0x\0\0\0\264\236" "\377\377\377\0\2\0\0\0x\0\0\0\264\236\377\377\377\0\2\0\0\0x\0\0\0\264" "\227\377\377\377\0\11\0\0\0#\0\0\0\233\0\0\0\277\0\0\0\360\0\0\0\264" "\0\0\0m\0\0\0\7\0\0\0x\0\0\0\264\226\377\377\377\0\1\0\0\0_\206\0\0\0" "\377\3\0\0\0\334\0\0\0\225\0\0\0\264\225\377\377\377\0\2\0\0\0\32\0\0" "\0\356\210\0\0\0\377\1\0\0\0\264\225\377\377\377\0\1\0\0\0b\211\0\0\0" "\377\1\0\0\0\237\225\377\377\377\0\1\0\0\0\77\211\0\0\0\377\1\0\0\0\4" "\225\377\377\377\0\2\0\0\0\13\0\0\0\277\207\0\0\0\377\1\0\0\0r\227\377" "\377\377\0\3\0\0\0\13\0\0\0\214\0\0\0\363\203\0\0\0\377\3\0\0\0\346\0" "\0\0t\0\0\0\3\231\377\377\377\0\5\0\0\0\22\0\0\0E\0\0\0Z\0\0\0:\0\0\0" "\14\231\377\377\377\0\2\0\0\0""8\0\0\0\34\236\377\377\377\0\5\0\0\0\273" "\0\0\0\373\0\0\0\256\0\0\0G\0\0\0\4\233\377\377\377\0\7\0\0\0\13\0\0" "\0P\0\0\0\310\0\0\0\373\0\0\0\321\0\0\0s\0\0\0\23\234\377\377\377\0\2" "\0\0\0""3\0\0\0\222\202\0\0\0\364\2\0\0\0\223\0\0\0""4\234\377\377\377" "\0\7\0\0\0\17\0\0\0n\0\0\0\325\0\0\0\373\0\0\0\315\0\0\0U\0\0\0\7\230" "\377\377\377\0\10\0\0\0\7\0\0\0=\0\0\0\203\0\0\0\316\0\0\0\377\0\0\0" "\364\0\0\0\270\0\0\0\16\225\377\377\377\0\11\0\0\0\32\0\0\0a\0\0\0\257" "\0\0\0\347\0\0\0\375\0\0\0\332\0\0\0\214\0\0\0M\0\0\0\13\225\377\377" "\377\0\7\0\0\0\13\0\0\0\311\0\0\0\370\0\0\0\357\0\0\0\271\0\0\0l\0\0" "\0*\232\377\377\377\0\3\0\0\0q\0\0\0G\0\0\0\12\222\377\377\377\0"}; nted-1.10.18/icons/select_mode_icon.h0000664001041000007640000001267311520270060014315 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (select_mode_icon) #endif #ifdef __GNUC__ static const guint8 select_mode_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 select_mode_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1821) */ "\0\0\7""5" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\1\0\0\0A\236\0\0\0$\2\0\0\0;\0\0\0(\236\0\0\0\0\202\0\0\0(\236\0\0\0" "\0\202\0\0\0(\207\0\0\0\0\4\377\0\0\2\377\0\0""7\377\0\0w\377\0\0\247" "\204\377\0\0\301\4\377\0\0\251\377\0\0\203\377\0\0G\377\0\0\5\213\0\0" "\0\0\202\0\0\0(\206\0\0\0\0\2\377\0\0:\377\0\0\317\205\377\0\0\377\2" "\255\0\0\377\260\0\0\377\203\377\0\0\377\2\377\0\0\342\377\0\0T\212\0" "\0\0\0\202\0\0\0(\205\0\0\0\0\2\377\0\0\5\377\0\0\360\206\377\0\0\377" "\3s\0\0\377\30\14\14\377\277\0\0\377\203\377\0\0\377\2\377\0\0\372\377" "\0\0\34\211\0\0\0\0\202\0\0\0(\205\0\0\0\0\2""4\0\0\10\303\0\0\377\206" "\377\0\0\377\4;\0\0\377\265\265\265\377(\31\31\377\320\0\0\377\202\377" "\0\0\377\2\377\0\0\327\377\0\0\13\211\0\0\0\0\202\0\0\0(\205\0\0\0\0" "\4\0\0\0\10\10\0\0\377q\0\0\377\360\0\0\336\203\377\0\0\377\10\371\0" "\0\377\"\23\23\377\373\373\373\377\313\313\313\377&\13\13\377\331\0\0" "\343\377\0\0\211\377\0\0\24\212\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0\0" "\0\10\202\0\0\0\377\6\1\0\0""0\377\0\0\35\377\0\0H\377\0\0]\265\0\0\223" "HHH\377\202\377\377\377\377\3\277\277\277\377\12\12\12\330\0\0\0\21\213" "\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0\0\0\10\202\0\0\0\377\1\0\0\0""0\203" "\0\0\0\0\2\0\0\0_}}}\377\203\377\377\377\377\3\255\255\255\377\1\1\1" "\307\0\0\0\16\212\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0\0\0\10\202\0\0\0" "\377\1\0\0\0""0\203\0\0\0\0\2\0\0\0\224\254\254\254\377\204\377\377\377" "\377\3\222\222\222\377\0\0\0\272\0\0\0\5\211\0\0\0\0\202\0\0\0(\205\0" "\0\0\0\1\0\0\0\10\202\0\0\0\377\1\0\0\0""0\203\0\0\0\0\2\0\0\0\310\341" "\341\341\377\205\377\377\377\377\3}}}\377\0\0\0\243\0\0\0\2\210\0\0\0" "\0\202\0\0\0(\205\0\0\0\0\1\0\0\0\10\202\0\0\0\377\1\0\0\0""0\202\0\0" "\0\0\2\0\0\0\3\34\34\34\372\205\377\377\377\377\4\374\374\374\377\332" "\332\332\377...\377\0\0\0\217\210\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0" "\0\0\10\202\0\0\0\377\5\0\0\0""0\0\0\0\10\0\0\0\22\0\0\0""8JJJ\377\204" "\377\377\377\377\5\306\306\306\377\24\24\24\356\0\0\0\247\0\0\0r\0\0" "\0""3\210\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0\0\0\10\202\0\0\0\377\13" "\0\0\0""0\0\0\0\4\0\0\0\214\0\0\0g\200\200\200\377\341\341\341\377\252" "\252\252\377\326\326\326\377\377\377\377\377\346\346\346\377\1\1\1\305" "\213\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0\0\0\10\202\0\0\0\377\10\0\0\0" "0\0\0\0\0\0\0\0\262\0\0\0\330\17\17\17\350\0\0\0\264\0\0\0\253xxx\377" "\202\377\377\377\377\2\27\27\27\370\0\0\0\13\212\0\0\0\0\202\0\0\0(\205" "\0\0\0\0\1\0\0\0\10\202\0\0\0\377\10\0\0\0""0\0\0\0\0\0\0\0}\0\0\0\354" "\0\0\0\24\0\0\0\0\0\0\0\"CCC\377\202\377\377\377\377\2NNN\377\0\0\0""3" "\212\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0\0\0\10\202\0\0\0\377\5\0\0\0" "0\0\0\0\0\0\0\0I\0\0\0\377\0\0\0\236\202\0\0\0\0\5\15\15\15\352\370\370" "\370\377\377\377\377\377\213\213\213\377\0\0\0k\212\0\0\0\0\202\0\0\0" "(\205\0\0\0\0\1\0\0\0\10\202\0\0\0\377\5\0\0\0""0\0\0\0\0\0\0\0\\\0\0" "\0\377\0\0\0\307\202\0\0\0\0\5\0\0\0\261\316\316\316\377\377\377\377" "\377\272\272\272\377\0\0\0\247\212\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0" "\0\0\10\202\0\0\0\377\5\0\0\0""0\0\0\0\0\0\0\0\226\0\0\0\377\0\0\0\307" "\202\0\0\0\0\5\0\0\0u\224\224\224\377\377\377\377\377\357\357\357\377" "\4\4\4\326\212\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0\0\0\10\202\0\0\0\377" "\5\0\0\0""0\0\0\0\0\0\0\0\321\0\0\0\377\0\0\0\307\202\0\0\0\0\2\0\0\0" "AYYY\377\202\377\377\377\377\2""000\373\0\0\0\24\211\0\0\0\0\202\0\0" "\0(\205\0\0\0\0\1\0\0\0\10\202\0\0\0\377\5\0\0\0""0\0\0\0$\0\0\0\370" "\0\0\0\377\0\0\0\307\202\0\0\0\0\2\0\0\0\11&&&\367\202\377\377\377\377" "\2^^^\377\0\0\0L\211\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0\0\0\10\202\0" "\0\0\377\2\0\0\0""0\0\0\0\252\202\0\0\0\377\1\0\0\0\227\203\0\0\0\0\5" "\0\0\0\314\344\344\344\377\377\377\377\377\231\231\231\377\0\0\0z\211" "\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0\0\0\10\202\0\0\0\377\1\0\0\0m\202" "\0\0\0\377\2\0\0\0\374\0\0\0\37\203\0\0\0\0\5\0\0\0\220\257\257\257\377" "\377\377\377\377\322\322\322\377\0\0\0\266\211\0\0\0\0\202\0\0\0(\205" "\0\0\0\0\1\0\0\0\10\202\0\0\0\377\1\0\0\0\361\202\0\0\0\377\1\0\0\0\241" "\204\0\0\0\0\6\0\0\0Wsss\377\377\377\377\377\366\366\366\377\14\14\14" "\354\0\0\0\2\210\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0\0\0\10\204\0\0\0" "\377\2\0\0\0\375\0\0\0(\204\0\0\0\0\2\0\0\0!;;;\376\202\377\377\377\377" "\2\77\77\77\377\0\0\0\36\210\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0\0\0\10" "\204\0\0\0\377\1\0\0\0\252\206\0\0\0\0\5\11\11\11\341\372\372\372\377" "\377\377\377\377www\377\0\0\0[\210\0\0\0\0\202\0\0\0(\205\0\0\0\0\1\0" "\0\0\10\203\0\0\0\377\2\0\0\0\253\0\0\0\23\206\0\0\0\0\5\0\0\0\255\305" "\305\305\377\377\377\377\377\245\245\245\377\0\0\0\223\210\0\0\0\0\202" "\0\0\0(\205\0\0\0\0\1\0\0\0\10\202\0\0\0\377\1\0\0\0h\210\0\0\0\0\5\0" "\0\0oRRR\377\\\\\\\377\37\37\37\357\0\0\0\212\210\0\0\0\0\202\0\0\0(" "\205\0\0\0\0\1\0\0\0\6\202\0\0\0\276\1\0\0\0$\210\0\0\0\0\4\0\0\0$\0" "\0\0c\0\0\0)\0\0\0\4\211\0\0\0\0\202\0\0\0(\236\0\0\0\0\2\0\0\0(\0\0" "\0G\236\0\0\0$\1\0\0\0A"}; nted-1.10.18/icons/flat_icon.png0000664001041000007640000000036411520267227013322 00000000000000‰PNG  IHDR Ùs²gAMA± üabKGDª#2 pHYs  d_‘ˆIDATxÚå”Á À CÛ²ÿÿåî0dR›Òƒcó"/&5¨.½eMþ“Zœê #4t»ƒ_ èðn£§Ïb+œ)vÁuÜIÆgûk ‹pv!ÖêŒ#ˆ_áExl™¡à”ÄÇCôΚõ€Äƒ çÌm=Ì@ 0¨À8B 9ˆ» G\©JŠIEND®B`‚nted-1.10.18/icons/shift_mode_icon.h0000664001041000007640000001471211520270060014147 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (shift_mode_icon) #endif #ifdef __GNUC__ static const guint8 shift_mode_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 shift_mode_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (2189) */ "\0\0\10\245" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (120) */ "\0\0\0x" /* width (30) */ "\0\0\0\36" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\224\377\377\377\0\3\0\0\0\27\0\0\0\212\0\0\0X\216\377\377\377\0\3\0" "\0\0\5\0\0\0\14\0\0\0\1\203\377\377\377\0\1\0\0\0\37\202\0\0\0\305\1" "\0\0\0""2\203\377\377\377\0\4\0\0\0\316\0\0\0\341\0\0\0\375\0\0\0;\214" "\377\377\377\0\5\0\0\0\10\0\0\0\314\0\0\0\377\0\0\0\271\0\0\0\21\202" "\377\377\377\0\11\0\0\0\275\0\0\0\313\0\0\0\264\0\0\0\355\0\0\0\23\377" "\377\377\0\0\0\0""4\0\0\0\377\0\0\0/\202\0\0\0\265\214\377\377\377\0" "\5\0\0\0S\0\0\0\367\0\0\0V\0\0\0\351\0\0\0\226\202\377\377\377\0\13\0" "\0\0\361\0\0\0[\0\0\0\7\0\0\0\353\0\0\0j\377\377\377\0\0\0\0\214\0\0" "\0\317\377\377\377\0\0\0\0c\0\0\0\352\207\377\377\377\0\27\0\0\0Z\0\0" "\0\346\0\0\0\237\0\0\0\6\377\377\377\0\0\0\0c\0\0\0\340\377\377\377\0" "\0\0\0Z\0\0\0\372\0\0\0'\0\0\0\31\0\0\0\375\0\0\0>\377\377\377\0\0\0" "\0\243\0\0\0\271\0\0\0\1\0\0\0\325\0\0\0\200\377\377\377\0\0\0\0F\0\0" "\0\360\206\377\377\377\0\30\0\0\0""3\0\0\0\367\0\0\0\242\0\0\0\353\0" "\0\0\231\377\377\377\0\0\0\0U\0\0\0\344\0\0\0\1\377\377\377\0\0\0\0\321" "\0\0\0\233\0\0\0\37\0\0\0\377\0\0\0\33\377\377\377\0\0\0\0e\0\0\0\356" "\0\0\0$\0\0\0\377\0\0\0<\377\377\377\0\0\0\0F\0\0\0\360\206\377\377\377" "\0\30\0\0\0\224\0\0\0\316\377\377\377\0\0\0\0W\0\0\0\377\0\0\0\30\0\0" "\0F\0\0\0\377\0\0\0\10\377\377\377\0\0\0\0b\0\0\0\365\0\0\0""3\0\0\0" "\377\0\0\0\27\377\377\377\0\0\0\0+\0\0\0\377\0\0\0s\0\0\0\366\0\0\0\6" "\377\377\377\0\0\0\0I\0\0\0\360\206\377\377\377\0\24\0\0\0\262\0\0\0" "\252\377\377\377\0\0\0\0\10\0\0\0\362\0\0\0m\0\0\0!\0\0\0\377\0\0\0-" "\377\377\377\0\0\0\0\13\0\0\0\356\0\0\0\212\0\0\0\377\0\0\0\27\377\377" "\377\0\0\0\0\10\0\0\0\377\0\0\0\317\0\0\0\305\202\377\377\377\0\2\0\0" "\0l\0\0\0\350\206\377\377\377\0\2\0\0\0\225\0\0\0\265\202\377\377\377" "\0\5\0\0\0\232\0\0\0\321\0\0\0\6\0\0\0\362\0\0\0`\202\377\377\377\0\11" "\0\0\0\241\0\0\0\337\0\0\0\377\0\0\0.\377\377\377\0\0\0\0\2\0\0\0\350" "\0\0\0\377\0\0\0\241\202\377\377\377\0\2\0\0\0\211\0\0\0\311\206\377" "\377\377\0\11\0\0\0m\0\0\0\354\0\0\0\3\377\377\377\0\0\0\0$\0\0\0\374" "\0\0\0Q\0\0\0\302\0\0\0\226\202\377\377\377\0\1\0\0\0R\202\0\0\0\377" "\1\0\0\0>\202\377\377\377\0\3\0\0\0\340\0\0\0\377\0\0\0|\202\377\377" "\377\0\2\0\0\0\266\0\0\0\232\206\377\377\377\0\3\0\0\0*\0\0\0\376\0\0" "\0>\202\377\377\377\0\4\0\0\0\240\0\0\0\334\0\0\0\206\0\0\0\331\202\377" "\377\377\0\4\0\0\0\20\0\0\0\376\0\0\0\377\0\0\0b\202\377\377\377\0\7" "\0\0\0\340\0\0\0\377\0\0\0d\377\377\377\0\0\0\0\4\0\0\0\357\0\0\0i\202" "\377\377\377\0\7\0\0\0:\0\0\0\316\0\0\0\354\0\0\0D\377\377\377\0\0\0" "\0\310\0\0\0\236\202\377\377\377\0\5\0\0\0\34\0\0\0\363\0\0\0\247\0\0" "\0\375\0\0\0%\202\377\377\377\0\3\0\0\0\317\0\0\0\377\0\0\0\207\202\377" "\377\377\0\21\0\0\0\340\0\0\0\377\0\0\0d\377\377\377\0\0\0\0;\0\0\0\377" "\0\0\0\"\377\377\377\0\0\0\0Z\0\0\0\366\0\0\0\253\0\0\0\310\0\0\0\242" "\377\377\377\0\0\0\0_\0\0\0\372\0\0\0$\202\377\377\377\0\4\0\0\0\203" "\0\0\0\353\0\0\0\360\0\0\0\201\202\377\377\377\0""0\0\0\0\245\0\0\0\377" "\0\0\0\264\377\377\377\0\0\0\0\1\0\0\0\343\0\0\0\377\0\0\0D\377\377\377" "\0\0\0\0\222\0\0\0\311\377\377\377\0\0\0\0I\0\0\0\370\0\0\0\216\0\0\0" "\1\0\0\0\271\0\0\0\222\377\377\377\0\0\0\0\6\0\0\0\321\0\0\0\271\0\0" "\0\5\377\377\377\0\0\0\0\15\0\0\0\351\0\0\0\377\0\0\0\335\0\0\0\1\377" "\377\377\0\0\0\0{\0\0\0\377\0\0\0\331\377\377\377\0\0\0\0\5\0\0\0\366" "\0\0\0\377\0\0\0>\0\0\0\1\0\0\0\342\0\0\0y\0\0\0L\0\0\0\367\0\0\0\214" "\0\0\0\1\0\0\0\12\0\0\0\361\0\0\0Z\202\377\377\377\0\6\0\0\0-\0\0\0\354" "\0\0\0\271\0\0\0\20\377\377\377\0\0\0\0w\202\0\0\0\377\3\0\0\0B\377\377" "\377\0\0\0\0E\202\0\0\0\377\4\377\377\377\0\0\0\0\2\0\0\0\351\0\0\0\377" "\202\0\0\0(\4\0\0\0\377\0\0\0\215\0\0\0\370\0\0\0\213\202\377\377\377" "\0\3\0\0\0Q\0\0\0\373\0\0\0\33\203\377\377\377\0\14\0\0\0*\0\0\0\337" "\0\0\0\267\0\0\0\1\0\0\0\13\0\0\0\350\0\0\0\377\0\0\0\227\377\377\377" "\0\0\0\0\17\0\0\0\373\0\0\0\377\202\377\377\377\0\10\0\0\0\327\0\0\0" "\362\0\0\0\10\0\0\0X\0\0\0\377\0\0\0\375\0\0\0\201\0\0\0\1\202\377\377" "\377\0\2\0\0\0\265\0\0\0\263\205\377\377\377\0\7\0\0\0""4\0\0\0\370\0" "\0\0Y\377\377\377\0\0\0\0\204\0\0\0\377\0\0\0\332\202\377\377\377\0\2" "\0\0\0\264\0\0\0\376\202\377\377\377\0\6\0\0\0P\0\0\0X\377\377\377\0" "\0\0\0\256\0\0\0\365\0\0\0R\203\377\377\377\0\3\0\0\0\37\0\0\0\370\0" "\0\0P\206\377\377\377\0\12\0\0\0\226\0\0\0\327\0\0\0\4\0\0\0\34\0\0\0" "\371\0\0\0\377\0\0\0\17\377\377\377\0\0\0\0\26\0\0\0\77\205\377\377\377" "\0\2\0\0\0\372\0\0\0\237\204\377\377\377\0\3\0\0\0\214\0\0\0\336\0\0" "\0\2\206\377\377\377\0\7\0\0\0\34\0\0\0\367\0\0\0V\377\377\377\0\0\0" "\0{\0\0\0\340\0\0\0\12\210\377\377\377\0\2\0\0\0\\\0\0\0""9\203\377\377" "\377\0\3\0\0\0!\0\0\0\363\0\0\0i\210\377\377\377\0\2\0\0\0\245\0\0\0" "\275\220\377\377\377\0\4\0\0\0\1\0\0\0\271\0\0\0\324\0\0\0\7\210\377" "\377\377\0\3\0\0\0E\0\0\0\377\0\0\0\"\215\377\377\377\0\5\0\0\0""5\0" "\0\0Q\0\0\0\233\0\0\0\364\0\0\0""2\211\377\377\377\0\3\0\0\0\3\0\0\0" "\342\0\0\0w\214\377\377\377\0\5\0\0\0k\0\0\0\374\0\0\0\362\0\0\0\347" "\0\0\0@\213\377\377\377\0\2\0\0\0\233\0\0\0\300\213\377\377\377\0\3\0" "\0\0*\0\0\0\370\0\0\0u\202\0\0\0\5\214\377\377\377\0\3\0\0\0V\0\0\0\370" "\0\0\0\15\212\377\377\377\0\3\0\0\0\240\0\0\0\315\0\0\0\4\216\377\377" "\377\0\3\0\0\0\32\0\0\0\375\0\0\0""7\212\377\377\377\0\2\0\0\0\362\0" "\0\0i\220\377\377\377\0\2\0\0\0\345\0\0\0a\211\377\377\377\0\3\0\0\0" "#\0\0\0\377\0\0\0*\220\377\377\377\0\2\0\0\0\314\0\0\0\213\211\377\377" "\377\0\3\0\0\0""8\0\0\0\377\0\0\0\17\220\377\377\377\0\2\0\0\0\252\0" "\0\0\231\211\377\377\377\0\3\0\0\0>\0\0\0\377\0\0\0\17\220\377\377\377" "\0\2\0\0\0\252\0\0\0\246\211\377\377\377\0\3\0\0\0!\0\0\0\377\0\0\0-" "\220\377\377\377\0\2\0\0\0\244\0\0\0\254\212\377\377\377\0\2\0\0\0\357" "\0\0\0a\220\377\377\377\0\2\0\0\0\252\0\0\0\236\212\377\377\377\0\2\0" "\0\0\275\0\0\0\227\220\377\377\377\0\2\0\0\0\21\0\0\0\16\212\377\377" "\377\0\2\0\0\0\24\0\0\0\21\210\377\377\377\0"}; nted-1.10.18/icons/drum9_icon.png0000664001041000007640000000054611520267227013436 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ !TÔØ æIDATXÃí×/JEQàoD-M"ƒUp.ÃòV`\‚Á(nBL‚E,‚`pî@0ªÑ?ŒåÃÕwîå¾6“Μßýàœpnd¦±+"Ö𕙯³f̧Ž0iœ ¹ P€ (@ P€ÅÆgö.°Ú˜»ŒóÑ™ù'¸nØsÛÑ 3op8cìøÐ#¸WãÙÑŸØŸÎìb§)o pÙ8î›50E¬àá×ǯC²bèÏiD¬ãߨËÌ·A9-€ˆ˜`«ciKxêX;ËÌ÷Q.!îþ¸xÿõfKö³ÌU쵋ĤIEND®B`‚nted-1.10.18/icons/drum7_icon_small.h0000664001041000007640000000306311520270060014251 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum7_icon_small) #endif #ifdef __GNUC__ static const guint8 drum7_icon_small[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum7_icon_small[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (381) */ "\0\0\1\225" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (64) */ "\0\0\0@" /* width (16) */ "\0\0\0\20" /* height (16) */ "\0\0\0\20" /* pixel_data: */ "\244\377\377\377\0\2\0\0\0\10\0\0\0\1\215\377\377\377\0\4\0\0\0\2\0\0" "\0\273\0\0\0\226\0\0\0\1\204\377\377\377\0\3\0\0\0\14\0\0\0\270\0\0\0" "!\206\377\377\377\0\4\0\0\0g\0\0\0\375\0\0\0\226\0\0\0\1\202\377\377" "\377\0\5\0\0\0\14\0\0\0\302\0\0\0\371\0\0\0P\0\0\0\1\206\377\377\377" "\0\10\0\0\0g\0\0\0\375\0\0\0\226\0\0\0\1\0\0\0\14\0\0\0\302\0\0\0\371" "\0\0\0Q\211\377\377\377\0\6\0\0\0g\0\0\0\375\0\0\0\231\0\0\0\302\0\0" "\0\371\0\0\0Q\213\377\377\377\0\4\0\0\0q\0\0\0\377\0\0\0\375\0\0\0R\213" "\377\377\377\0\6\0\0\0\14\0\0\0\302\0\0\0\373\0\0\0\376\0\0\0\226\0\0" "\0\1\211\377\377\377\0\10\0\0\0\14\0\0\0\302\0\0\0\372\0\0\0Q\0\0\0g" "\0\0\0\376\0\0\0\226\0\0\0\1\207\377\377\377\0\4\0\0\0\14\0\0\0\302\0" "\0\0\372\0\0\0Q\202\377\377\377\0\4\0\0\0g\0\0\0\376\0\0\0\226\0\0\0" "\1\205\377\377\377\0\4\0\0\0\11\0\0\0\302\0\0\0\372\0\0\0Q\204\377\377" "\377\0\3\0\0\0g\0\0\0\376\0\0\0\213\205\377\377\377\0\3\0\0\0\1\0\0\0" "\221\0\0\0Q\206\377\377\377\0\2\0\0\0d\0\0\0""7\262\377\377\377\0"}; nted-1.10.18/icons/key_icon.png0000664001041000007640000000331311520267227013161 00000000000000‰PNG  IHDR ¬ˆ1à’IDATxÚíXOhMŸ Ùfg7M“m¤­•ÖƒEOÿ`ˇVÔ‹âMñ¢^Eð zö¨WQAADQñ¢Q¬­TÐZ¥FÌŸ&U»Iú‡ÝMkšìl²Ûìwx.Ù4»Ióyøøø|0aæíÌ{ï7óÞ›7¡ÆÆ Ã0Ж\ÿ¶ÿ{îÚŸ“ɯ_#‘OŸ=ây¿Ÿçu]×ua8Žãòùl6›µÎooïêêê*EQ …|^QQUBZ[;:::²YQ”$MÓuMÃcŒ !„šv»iøn·Ûívkš¦iša†aôôìÙ³cÇÚµ›7÷ö6 ¡¨……|¾µÕïïè (šfŠ*)*ÀØï§~B…,çrô].Œâ8Œ)*›-½^ÇçCÈã1åÇaŒDaSô !šFHÒiA‡_¾vPÇ…ÒéH$kj¢é¦&ªŠ\.hµèÆ»wÇÇ>|ö,[‰+‡a†aŠEBq²°€ÅEI’eŸÏëõù¬;íDÕŒŒŽ&“oß~øLR ÆÆss““ÿ@±¨(„Ð4MÓ´³"{H±Øä¤,¢ªª*éôÏŸÉäôt6»rn7M»Ý¦Žˆâ‚‹Yc–­½÷V5Ö½gYŒ“Ià>x04Ö_æx½,ëõB_–!•j@*G£<ðqâòeE!$|óæÝ»©©þþînS}~¿Ïç÷ÙËÉr&Ãó,ÛÙéxPrAî7Ñ×>ŠBèéÓׯ‰¾¾ÎNÓtkž)GÑÎýýmm khèÕ«DÂ~K*8¨ãBP>ØÝ¾VEÖpÏd%‰ÇggÜ¿ûöj¸Vξ}»wÿõhŠDâqQŒD&&$É låü|*5=]€(ʲ™@íŒ1Á@>¹páÚµwïL÷ËdÀO5Í0E!IJ,Ëó`p¯^½uklL’dYQìט¹hvvb"‘¨ ›•$I²sžåÞ|ñâõë‹¢,þ̲ÿ~ëÖ½{/^Œ…BápõªOŸB¡Pèüù«WoÞìî^³fq~YãÙÙ³g/^¼sÀW»T¦ÕÉÔ&ˆ%ij*™\·®½½«ËºßÕ9sòäÎ~»üܶlÙ¸±·~­²Ì7@ùm^9B¡`çƒÁ\n~~n®® I’,CRˆ¨&UÏidU5èå}¨ˆ¬É´€™@)Š¢ Œû=ë^ŸÊÆãa°-“I&Í®€$ýø¥/B¥R©T*--•JK¿øÅ¢¦‹ÖU0Çì•JKK𮵮5¥•çÁ»ÙÔV*--YµÒ(lV.—ɘɴ"DQ¦Æb‰„ù¬íåÖR‰Ó(9EP”ùù…àÓ4Ã0 pX–çý~àÀW]WÕB¾ú|«W·µé:!…‚¦©ªªÂLèƒ|– ü~S£ªª*Æ@K‹¹Š“_­¶ý:ç?îþð{ô7v*S B­]IEND®B`‚nted-1.10.18/icons/background2.h0000664001041000007640000002261311520270060013216 00000000000000/* GdkPixbuf RGB C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (background2) #endif #ifdef __GNUC__ static const guint8 background2[] __attribute__ ((__aligned__ (4))) = #else static const guint8 background2[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (2173) */ "\0\0\10\225" /* pixdata_type (0x2010001) */ "\2\1\0\1" /* rowstride (96) */ "\0\0\0`" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\3\262\263\304\262\264\302\257\260\305\202\260\261\305\22\261\262\306" "\262\263\307\263\264\310\264\265\311\265\266\312\266\267\313\267\270" "\314\270\271\315\272\273\317\273\274\321\267\271\315\266\271\315\271" "\274\320\273\275\321\274\277\323\275\277\324\276\300\325\276\301\325" "\205\277\302\326\7\300\301\325\277\300\324\301\302\326\305\306\332\251" "\252\274\222\224\242\254\256\302\202\252\253\277\23\253\254\300\254\255" "\301\255\256\302\255\256\303\256\257\303\257\260\304\260\261\305\261" "\262\306\262\263\307\263\264\310\265\266\312\264\266\311\265\267\312" "\266\270\312\267\271\314\271\273\315\272\274\316\272\274\317\272\275" "\317\202\273\275\317\202\272\274\317\34\272\273\317\273\274\320\257\260" "\304\274\275\321\244\245\266\203\205\224\267\270\315\262\263\306\264" "\265\310\264\265\311\265\266\312\266\267\313\267\270\314\271\272\316" "\272\273\317\274\275\321\275\276\322\277\300\324\301\302\326\302\303" "\327\304\305\330\306\307\332\307\310\333\311\312\335\312\313\336\313" "\314\337\314\314\337\314\315\340\203\315\316\341\33\314\315\340\313\314" "\340\317\320\344\265\266\312\264\265\311\245\246\267\206\210\226\266" "\267\313\261\262\306\263\264\307\263\264\310\264\265\311\265\266\312" "\266\267\313\267\270\315\270\271\316\272\273\317\273\274\320\275\276" "\322\277\300\324\300\301\326\302\303\330\304\305\331\305\306\332\306" "\307\334\307\310\335\310\311\336\202\311\312\337\203\312\313\337\11\311" "\312\337\310\311\335\313\314\340\264\265\311\265\266\312\244\246\270" "\206\210\226\266\267\313\261\262\307\202\263\264\310\20\264\265\311\265" "\266\312\266\267\313\267\270\314\270\271\315\272\273\317\274\275\321" "\275\276\322\277\300\324\300\301\325\302\303\327\303\304\330\304\305" "\332\306\307\333\307\310\334\310\311\335\202\311\312\336\202\311\312" "\337\4\311\312\336\310\311\336\307\310\334\313\314\340\202\264\265\311" "\4\244\246\270\206\210\226\266\267\313\261\262\307\202\263\264\310\20" "\264\265\311\265\266\312\266\267\313\267\270\314\270\271\315\272\273" "\317\273\274\320\275\276\322\276\277\323\300\301\325\301\302\326\303" "\304\330\304\305\331\305\306\332\306\307\333\307\310\334\202\310\311" "\335\202\311\312\336\202\310\311\335\2\307\310\334\312\313\337\202\263" "\264\310\4\244\245\270\206\210\226\265\267\313\261\262\307\202\263\264" "\310\20\264\265\311\265\266\312\266\267\313\267\270\314\270\271\315\271" "\272\316\273\274\320\274\275\321\276\277\323\277\300\324\301\302\326" "\302\303\327\303\304\330\304\305\331\305\306\333\306\307\333\202\307" "\310\334\202\307\310\335\4\307\310\334\306\307\334\305\306\333\311\312" "\336\202\262\263\307\7\243\245\270\206\210\226\265\266\313\261\262\307" "\262\263\307\263\264\310\264\265\311\202\265\266\312\16\267\270\314\270" "\271\315\271\272\316\272\273\317\274\275\321\275\276\322\276\277\323" "\300\301\325\301\302\326\302\303\330\303\304\330\304\305\331\305\306" "\332\305\306\333\204\306\307\333\3\305\306\332\304\305\331\307\310\334" "\202\261\262\306\25\244\245\270\206\210\226\265\267\313\260\261\306\262" "\263\307\263\264\310\263\264\311\264\265\311\265\266\312\266\267\313" "\267\270\314\270\271\315\272\273\317\273\274\320\274\275\321\275\276" "\322\277\300\324\300\301\325\301\302\326\302\303\327\303\304\330\202" "\304\305\331\203\305\306\332\202\304\305\331\11\303\304\330\306\307\333" "\260\261\305\261\262\306\244\245\270\206\210\226\265\267\313\260\261" "\306\262\263\307\202\263\264\310\16\264\265\311\265\266\312\266\267\313" "\266\267\314\270\271\315\271\272\316\272\273\317\273\274\320\274\275" "\321\276\277\323\277\300\324\300\301\325\301\302\326\302\303\327\206" "\303\304\330\11\302\303\330\302\303\327\305\306\332\257\260\304\260\261" "\305\244\245\270\206\210\226\265\266\313\260\261\306\202\262\263\307" "\17\263\264\310\263\264\311\264\265\311\265\266\312\266\267\313\267\270" "\314\270\271\316\271\272\316\272\273\317\274\275\321\275\276\322\276" "\277\323\277\300\324\300\301\325\300\301\326\202\301\302\326\203\302" "\303\327\202\301\302\326\11\300\301\325\303\304\330\256\257\303\257\260" "\304\244\245\270\206\207\226\265\266\312\260\261\306\261\262\306\202" "\262\263\307\11\263\264\310\264\265\311\265\266\312\265\266\313\266\267" "\314\270\271\315\270\271\316\271\272\316\273\274\320\202\274\275\321" "\4\275\276\322\276\277\323\277\300\324\277\300\325\204\300\301\325\202" "\277\300\324\2\276\277\323\301\302\326\202\255\256\302\4\244\245\270" "\206\210\226\265\266\312\260\261\306\202\261\262\306\1\262\263\307\202" "\263\264\310\13\264\265\311\265\266\312\266\267\313\267\270\314\267\270" "\315\270\271\316\271\272\317\273\274\320\273\274\321\274\275\321\275" "\276\322\207\276\277\323\202\275\276\322\7\300\301\325\254\255\301\255" "\256\302\244\245\270\206\210\226\264\265\312\260\261\306\202\261\262" "\306\202\262\263\307\1\263\264\310\202\264\265\311\10\265\266\312\266" "\267\313\267\270\314\267\270\315\270\271\316\271\272\316\272\273\317" "\273\274\320\207\274\275\321\12\274\275\322\274\275\321\273\274\320\276" "\277\323\253\254\301\254\255\301\243\245\267\205\207\226\264\265\312" "\257\260\305\202\261\262\306\203\262\263\307\6\263\264\310\263\264\311" "\264\265\311\265\266\312\266\267\313\267\270\314\202\270\271\315\1\271" "\272\316\203\272\273\317\206\273\274\320\202\272\273\317\10\275\276\322" "\252\253\277\253\254\300\243\245\267\205\207\226\264\265\312\257\260" "\305\260\261\305\202\261\262\306\203\262\263\307\1\263\264\310\202\264" "\265\311\3\265\266\312\266\267\313\266\267\314\202\267\270\314\1\270" "\271\315\202\271\272\316\1\271\272\317\204\272\273\317\4\271\272\317" "\271\272\316\270\271\315\273\274\320\202\252\253\277\5\243\244\267\205" "\207\226\264\265\312\257\260\305\260\261\305\203\261\262\306\203\262" "\263\307\1\263\264\310\202\264\265\311\202\265\266\312\1\266\267\313" "\202\267\270\314\1\267\270\315\203\270\271\315\2\271\272\316\270\271" "\316\203\270\271\315\10\267\270\314\272\273\317\250\251\276\252\253\277" "\243\244\267\205\207\226\264\265\312\257\260\305\202\260\261\305\203" "\261\262\306\203\262\263\307\202\263\264\310\1\264\265\311\202\265\266" "\312\203\266\267\313\210\267\270\314\10\266\267\313\270\271\315\247\250" "\275\251\252\276\243\244\267\205\207\225\264\266\312\257\260\305\203" "\260\261\305\203\261\262\306\203\262\263\307\202\263\264\310\202\264" "\265\311\203\265\266\312\202\265\266\313\204\266\267\313\1\265\266\313" "\202\265\266\312\7\270\271\315\247\250\274\250\251\275\243\244\267\205" "\207\225\264\265\311\257\260\305\204\260\261\305\203\261\262\306\203" "\262\263\307\1\262\263\310\202\263\264\310\203\264\265\311\204\264\265" "\312\203\265\266\312\3\264\265\312\264\265\311\267\270\314\202\247\250" "\274\4\243\244\267\205\206\225\263\264\311\257\260\305\205\260\261\305" "\204\261\262\306\203\262\263\307\204\263\264\310\210\264\265\311\10\263" "\264\310\266\267\313\246\247\273\247\250\274\243\244\267\204\206\225" "\263\264\311\256\257\304\207\260\261\305\203\261\262\306\204\262\263" "\307\2\262\263\310\262\264\310\210\263\264\310\10\262\263\307\265\266" "\312\244\245\272\246\247\273\243\244\267\204\206\225\263\264\311\256" "\257\304\210\260\261\305\206\261\262\306\213\262\263\307\7\265\266\312" "\244\245\271\245\246\272\243\244\267\204\206\225\263\264\311\256\257" "\304\202\257\260\304\210\260\261\305\210\261\262\306\206\262\263\307" "\10\261\262\306\264\265\311\243\244\271\245\246\272\243\244\267\204\206" "\225\263\264\311\256\257\304\204\257\260\304\210\260\261\305\215\261" "\262\306\7\264\265\311\243\244\271\245\246\272\243\244\267\204\206\225" "\263\264\311\256\257\304\205\257\260\304\211\260\261\305\202\260\261" "\306\210\261\262\306\10\260\261\305\263\264\310\243\244\270\245\246\272" "\243\244\267\204\206\225\263\264\311\256\257\304\207\257\260\304\222" "\260\261\305\7\263\264\310\243\244\270\244\245\271\243\244\267\205\206" "\225\263\264\311\256\257\304\210\257\260\304\221\260\261\305\7\263\264" "\310\243\244\270\244\245\271\245\244\267\206\205\225\264\262\310\257" "\256\303\207\256\260\303\202\256\260\304\1\257\260\304\202\257\261\304" "\204\257\260\304\202\257\260\305\2\260\261\305\257\260\305\202\257\260" "\304\202\260\261\305\10\257\260\305\262\263\307\242\243\265\244\245\270" "\245\243\267\212\211\230\274\272\316\266\264\310\207\265\266\311\1\264" "\265\311\202\264\265\312\215\265\266\312\11\264\265\312\264\265\310\267" "\270\313\246\247\271\244\245\267\247\245\271wv\204\231\230\252\230\227" "\251\205\227\227\250\3\226\226\247\230\230\251\232\232\253\204\231\231" "\254\202\230\231\254\1\232\233\256\207\233\234\257\30\234\235\260\235" "\236\261\234\236\256\236\240\260\220\221\243\244\245\267\261\257\303" "\210\207\226~}\216\202\201\220\201\200\220\202\201\221\177~\216}{\213" "}|\214|{\213~}\215\200\177\217\177~\215\200~\216}|\213{z\211y{\211z|" "\212\204|~\214\12y{\211wy\207wy\210wy\207y{\211z|\212{}\213uw\206\201" "\203\224\257\260\302"}; nted-1.10.18/icons/drum6_icon_small.h0000664001041000007640000000272211520270060014251 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum6_icon_small) #endif #ifdef __GNUC__ static const guint8 drum6_icon_small[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum6_icon_small[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (318) */ "\0\0\1V" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (64) */ "\0\0\0@" /* width (16) */ "\0\0\0\20" /* height (16) */ "\0\0\0\20" /* pixel_data: */ "\246\377\377\377\0\1\0\0\0\1\216\377\377\377\0\202\0\0\0\377\1\0\0\0" "\1\214\377\377\377\0\204\0\0\0\377\214\377\377\377\0\7Z1\0\37\26\11\0" "\346\0\0\1\377\0\0\0\377\0\0\0\277\0\0\0""0\0\0\0\2\212\377\377\377\0" "\1t;\0c\202\0\0\0\377\6\0\5\14\355\0\4\6\261\4\2\0\234\1\0\0\177\0\0" "\0\277T>\0\377\206\377\377\377\0\3\0\0\377\1\377\377\377\0/\23\0\371" "\203\0\0\0\377\2\0\3\6\375\0\1\4\322\202\0\0\0\377\206\377\377\377\0" "\3\0\0\0\1\377\377\377\0G;\0\306\202\0\0\0\377\2\0\20%\315\0\0\0\377" "\202T>\0\377\1\377\377\0\1\206\377\377\377\0\5\0\0\0\1\377\377\377\0" "T>\0\335\0\0\0\377\0\25/\312\202\377\377\377\0\1\0\0\0\1\212\377\377" "\377\0\5!\7\0\377\0\14\30\362\0P\217\40\377\377\0\1\0\0\0\1\212\377\377" "\377\0\202\0\0\0\377\3\0\35""6\226\377\377\377\0\0\0\0\1\212\377\377" "\377\0\1\0\0\0\1\202\0\0\0\377\1\0\200\377\2\215\377\377\377\0\1\0\0" "\0\1\202\377\377\377\0\1\0\0\0\1\247\377\377\377\0"}; nted-1.10.18/icons/normal_note_icon.png0000664001041000007640000000052411520267227014707 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIME×  %¦£”QÔIDATXÃí×1JƒAÅñß&Ÿ 6j#é¬Ì ìs 3¤³÷B°M!^@°ðB ¦²20ibc‘oóa3^7¼ùïî;%" ¡RÊDZÚW72œn°è+ J ÿÐýáß„®1ž°ÂSõá"¢É8Å>{ü‰û¾¼®ñÔS<ã²¢üü 3PJé°¬lþ£—ƒ=®z®ü·0îÍmáµ¢ñz·Ž«rð·xÃ76;¿ãsœµd–¡ÖóZmN#H|1JIEND®B`‚nted-1.10.18/icons/delete_staff_icon.png0000664001041000007640000000142111520267227015014 00000000000000‰PNG  IHDR szzôbKGDÿÿÿ ½§“ pHYs M MÒέNtIME× s.žIDATXÃÍ—KhSA†¿4©¥­ŒU‚¸qaDÝD0JA‰"RAnlEÔ… ¨Th B¥ ·ƒÑ… ¡ØB)E(U+¡¸õÚZ«uÓã"=Ä<î^Ñ ³˜™óÿçÌÿí8+0-°Ù#¾ÛêŸÓ²oQ˜ 9²‹A±u^oîòE¢>Ë+YÎêR+WÎ'-ðíÖ—R Å“p jø`@?ÚVø0ɪ âN@Q¸âA ©§Ù7?QÂÃ*Ú&pÉÑãô_|? ûèŒ;£ãÄIEND®B`‚nted-1.10.18/icons/drum11_icon_small.h0000664001041000007640000000425711520270060014332 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum11_icon_small) #endif #ifdef __GNUC__ static const guint8 drum11_icon_small[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum11_icon_small[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (609) */ "\0\0\2y" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (64) */ "\0\0\0@" /* width (16) */ "\0\0\0\20" /* height (18) */ "\0\0\0\22" /* pixel_data: */ "\225\377\377\377\0\5\0\0\0g\0\0\0\334\0\0\0\372\0\0\0\334\0\0\0e\212" "\377\377\377\0\7\0\0\0]\0\0\0\337\0\0\0""8\0\0\0\6\0\0\0""9\0\0\0\340" "\0\0\0Z\211\377\377\377\0\2\0\0\0\314\0\0\0I\203\377\377\377\0\2\0\0" "\0J\0\0\0\312\211\377\377\377\0\2\0\0\0\367\0\0\0\11\203\377\377\377" "\0\2\0\0\0\12\0\0\0\367\211\377\377\377\0\2\0\0\0\367\0\0\0\11\203\377" "\377\377\0\2\0\0\0\12\0\0\0\367\211\377\377\377\0\2\0\0\0\314\0\0\0H" "\203\377\377\377\0\2\0\0\0I\0\0\0\312\202\377\377\377\0\1\0\0\0\1\206" "\377\377\377\0\7\0\0\0]\0\0\0\335\0\0\0""7\0\0\0\5\0\0\0""7\0\0\0\336" "\0\0\0Z\202\377\377\377\0\1\0\0\0\3\205\377\377\377\0\7\0\0\0\10\0\0" "\0\1\0\0\0h\0\0\0\334\0\0\0\373\0\0\0\334\0\0\0e\203\377\377\377\0\1" "\0\0\0\2\204\377\377\377\0\4\0\0\0\2\0\0\0\273\0\0\0\226\0\0\0\1\204" "\377\377\377\0\3\0\0\0\14\0\0\0\270\0\0\0""7\206\377\377\377\0\4\0\0" "\0g\0\0\0\375\0\0\0\226\0\0\0\1\202\377\377\377\0\4\0\0\0\14\0\0\0\302" "\0\0\0\371\0\0\0@\207\377\377\377\0\12\0\0\0g\0\0\0\375\0\0\0\226\0\0" "\0\1\0\0\0\14\0\0\0\302\0\0\0\371\0\0\0Q\377\377\377\0\0\0\0\4\207\377" "\377\377\0\6\0\0\0g\0\0\0\375\0\0\0\231\0\0\0\302\0\0\0\371\0\0\0Q\213" "\377\377\377\0\4\0\0\0q\0\0\0\377\0\0\0\375\0\0\0R\213\377\377\377\0" "\6\0\0\0\14\0\0\0\302\0\0\0\373\0\0\0\376\0\0\0\226\0\0\0\1\211\377\377" "\377\0\10\0\0\0\14\0\0\0\302\0\0\0\372\0\0\0Q\0\0\0g\0\0\0\376\0\0\0" "\226\0\0\0\1\207\377\377\377\0\4\0\0\0\14\0\0\0\302\0\0\0\372\0\0\0Q" "\202\377\377\377\0\4\0\0\0g\0\0\0\376\0\0\0\226\0\0\0\1\205\377\377\377" "\0\4\0\0\0\11\0\0\0\302\0\0\0\372\0\0\0Q\204\377\377\377\0\3\0\0\0g\0" "\0\0\376\0\0\0\213\203\377\377\377\0"}; nted-1.10.18/icons/drum10_icon.h0000664001041000007640000000601011520267227013141 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum10_icon) #endif #ifdef __GNUC__ static const guint8 drum10_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum10_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (917) */ "\0\0\3\255" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\226\377\377\377\0\2\0\0\0\20\0\0\0\26\236\377\377\377\0\2\0\0\0f\0\0" "\0\215\236\377\377\377\0\2\0\0\0f\0\0\0\215\236\377\377\377\0\2\0\0\0" "f\0\0\0\215\236\377\377\377\0\2\0\0\0f\0\0\0\215\236\377\377\377\0\2" "\0\0\0f\0\0\0\215\236\377\377\377\0\2\0\0\0f\0\0\0\215\236\377\377\377" "\0\2\0\0\0f\0\0\0\215\236\377\377\377\0\2\0\0\0f\0\0\0\215\236\377\377" "\377\0\2\0\0\0f\0\0\0\215\236\377\377\377\0\2\0\0\0f\0\0\0\215\236\377" "\377\377\0\2\0\0\0f\0\0\0\215\236\377\377\377\0\2\0\0\0f\0\0\0\215\236" "\377\377\377\0\2\0\0\0f\0\0\0\215\236\377\377\377\0\2\0\0\0f\0\0\0\215" "\236\377\377\377\0\2\0\0\0f\0\0\0\215\227\377\377\377\0\1\0\0\0\6\206" "\377\377\377\0\2\0\0\0f\0\0\0\215\226\377\377\377\0\3\0\0\0\26\0\0\0" "\323\0\0\0f\205\377\377\377\0\2\0\0\0f\0\0\0\215\225\377\377\377\0\5" "\0\0\0\27\0\0\0\324\0\0\0\377\0\0\0\375\0\0\0e\204\377\377\377\0\2\0" "\0\0f\0\0\0\215\224\377\377\377\0\7\0\0\0\26\0\0\0\324\0\0\0\372\0\0" "\0\363\0\0\0\377\0\0\0\375\0\0\0f\203\377\377\377\0\2\0\0\0f\0\0\0\215" "\223\377\377\377\0\11\0\0\0\27\0\0\0\324\0\0\0\372\0\0\0R\0\0\0\77\0" "\0\0\363\0\0\0\377\0\0\0\375\0\0\0e\202\377\377\377\0\2\0\0\0f\0\0\0" "\215\222\377\377\377\0\4\0\0\0\27\0\0\0\324\0\0\0\372\0\0\0Q\202\377" "\377\377\0\10\0\0\0>\0\0\0\364\0\0\0\377\0\0\0\375\0\0\0f\377\377\377" "\0\0\0\0f\0\0\0\215\221\377\377\377\0\4\0\0\0\27\0\0\0\324\0\0\0\372" "\0\0\0R\204\377\377\377\0\7\0\0\0\77\0\0\0\363\0\0\0\377\0\0\0\375\0" "\0\0e\0\0\0f\0\0\0\215\220\377\377\377\0\4\0\0\0\27\0\0\0\324\0\0\0\377" "\0\0\0\200\206\377\377\377\0\6\0\0\0>\0\0\0\363\0\0\0\377\0\0\0\375\0" "\0\0\301\0\0\0\215\220\377\377\377\0\1\0\0\0\215\202\0\0\0\377\2\0\0" "\0\363\0\0\0>\206\377\377\377\0\2\0\0\0\77\0\0\0\363\202\0\0\0\377\1" "\0\0\0\215\220\377\377\377\0\2\0\0\0\6\0\0\0\260\202\0\0\0\377\2\0\0" "\0\363\0\0\0>\205\377\377\377\0\5\0\0\0G\0\0\0\367\0\0\0\362\0\0\0\241" "\0\0\0\215\221\377\377\377\0\2\0\0\0\6\0\0\0\257\202\0\0\0\377\2\0\0" "\0\363\0\0\0>\203\377\377\377\0\6\0\0\0G\0\0\0\367\0\0\0\362\0\0\0<\0" "\0\0\23\0\0\0\33\222\377\377\377\0\2\0\0\0\6\0\0\0\260\202\0\0\0\377" "\7\0\0\0\363\0\0\0>\377\377\377\0\0\0\0G\0\0\0\366\0\0\0\362\0\0\0<\226" "\377\377\377\0\2\0\0\0\6\0\0\0\257\202\0\0\0\377\5\0\0\0\363\0\0\0y\0" "\0\0\367\0\0\0\362\0\0\0;\230\377\377\377\0\2\0\0\0\6\0\0\0\260\203\0" "\0\0\377\2\0\0\0\362\0\0\0<\232\377\377\377\0\5\0\0\0\6\0\0\0\257\0\0" "\0\377\0\0\0\362\0\0\0;\234\377\377\377\0\3\0\0\0\6\0\0\0\243\0\0\0<" "\217\377\377\377\0"}; nted-1.10.18/icons/drum11_icon.h0000664001041000007640000000654511520270060013144 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum11_icon) #endif #ifdef __GNUC__ static const guint8 drum11_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum11_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (995) */ "\0\0\3\373" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\224\377\377\377\0\2\0\0\0\13\0\0\0/\236\377\377\377\0\2\0\0\0/\0\0\0" "\317\236\377\377\377\0\2\0\0\0/\0\0\0\317\236\377\377\377\0\2\0\0\0/" "\0\0\0\317\236\377\377\377\0\2\0\0\0/\0\0\0\317\223\377\377\377\0\205" "\0\0\0\377\206\377\377\377\0\2\0\0\0/\0\0\0\317\221\377\377\377\0\203" "\0\0\0\377\203\377\377\377\0\203\0\0\0\377\204\377\377\377\0\2\0\0\0" "/\0\0\0\317\220\377\377\377\0\202\0\0\0\377\207\377\377\377\0\202\0\0" "\0\377\203\377\377\377\0\2\0\0\0/\0\0\0\317\220\377\377\377\0\1\0\0\0" "\377\211\377\377\377\0\1\0\0\0\377\203\377\377\377\0\2\0\0\0/\0\0\0\317" "\217\377\377\377\0\202\0\0\0\377\211\377\377\377\0\202\0\0\0\377\202" "\377\377\377\0\2\0\0\0/\0\0\0\317\217\377\377\377\0\1\0\0\0\377\213\377" "\377\377\0\1\0\0\0\377\202\377\377\377\0\2\0\0\0/\0\0\0\317\217\377\377" "\377\0\1\0\0\0\377\213\377\377\377\0\1\0\0\0\377\202\377\377\377\0\2" "\0\0\0/\0\0\0\317\217\377\377\377\0\1\0\0\0\377\213\377\377\377\0\1\0" "\0\0\377\202\377\377\377\0\2\0\0\0/\0\0\0\317\217\377\377\377\0\202\0" "\0\0\377\211\377\377\377\0\202\0\0\0\377\202\377\377\377\0\2\0\0\0/\0" "\0\0\317\220\377\377\377\0\1\0\0\0\377\211\377\377\377\0\1\0\0\0\377" "\203\377\377\377\0\2\0\0\0/\0\0\0\317\220\377\377\377\0\202\0\0\0\377" "\207\377\377\377\0\202\0\0\0\377\203\377\377\377\0\2\0\0\0/\0\0\0\317" "\221\377\377\377\0\203\0\0\0\377\203\377\377\377\0\203\0\0\0\377\204" "\377\377\377\0\2\0\0\0/\0\0\0\317\223\377\377\377\0\205\0\0\0\377\206" "\377\377\377\0\2\0\0\0/\0\0\0\317\236\377\377\377\0\2\0\0\0/\0\0\0\317" "\236\377\377\377\0\2\0\0\0/\0\0\0\317\236\377\377\377\0\2\0\0\0/\0\0" "\0\317\224\377\377\377\0\2\0\0\0\10\0\0\0\1\210\377\377\377\0\2\0\0\0" "/\0\0\0\317\223\377\377\377\0\4\0\0\0\2\0\0\0\273\0\0\0\226\0\0\0\1\204" "\377\377\377\0\5\0\0\0\14\0\0\0\270\0\0\0E\0\0\0/\0\0\0\317\224\377\377" "\377\0\4\0\0\0g\0\0\0\375\0\0\0\226\0\0\0\1\202\377\377\377\0\6\0\0\0" "\14\0\0\0\302\0\0\0\371\0\0\0P\0\0\0/\0\0\0\317\225\377\377\377\0\13" "\0\0\0g\0\0\0\375\0\0\0\226\0\0\0\1\0\0\0\14\0\0\0\302\0\0\0\371\0\0" "\0Q\377\377\377\0\0\0\0/\0\0\0\317\226\377\377\377\0\6\0\0\0g\0\0\0\375" "\0\0\0\231\0\0\0\302\0\0\0\371\0\0\0Q\202\377\377\377\0\2\0\0\0/\0\0" "\0\317\227\377\377\377\0\4\0\0\0q\0\0\0\377\0\0\0\375\0\0\0R\203\377" "\377\377\0\2\0\0\0/\0\0\0\317\226\377\377\377\0\6\0\0\0\14\0\0\0\302" "\0\0\0\373\0\0\0\376\0\0\0\226\0\0\0\1\202\377\377\377\0\2\0\0\0\1\0" "\0\0\4\225\377\377\377\0\10\0\0\0\14\0\0\0\302\0\0\0\372\0\0\0Q\0\0\0" "g\0\0\0\376\0\0\0\226\0\0\0\1\227\377\377\377\0\4\0\0\0\14\0\0\0\302" "\0\0\0\372\0\0\0Q\202\377\377\377\0\4\0\0\0g\0\0\0\376\0\0\0\226\0\0" "\0\1\225\377\377\377\0\4\0\0\0\11\0\0\0\302\0\0\0\372\0\0\0Q\204\377" "\377\377\0\3\0\0\0g\0\0\0\376\0\0\0\213\225\377\377\377\0\3\0\0\0\1\0" "\0\0\221\0\0\0Q\206\377\377\377\0\2\0\0\0d\0\0\0""7\214\377\377\377\0"}; nted-1.10.18/icons/drum2_icon_small.h0000664001041000007640000000466211520270060014252 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum2_icon_small) #endif #ifdef __GNUC__ static const guint8 drum2_icon_small[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum2_icon_small[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (718) */ "\0\0\2\346" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (64) */ "\0\0\0@" /* width (16) */ "\0\0\0\20" /* height (16) */ "\0\0\0\20" /* pixel_data: */ "\215\377\377\377\0\2\0\0\0\1\0\0\0\0\216\377\377\377\0\2\0\0\0\1\0\0" "\0\0\206\377\377\377\0\12\0\0\0\4\0\0\0H\0\0\0\204\0\0\0\225\0\0\0\203" "\0\0\0D\0\0\0\4\377\377\377\0\0\0\0\1\0\0\0\0\205\377\377\377\0\11\0" "\0\0A\0\0\0\305\0\0\0\200\0\0\0D\0\0\0)\0\0\0J\0\0\0\226\0\0\0\310\0" "\0\0""7\202\0\0\0\2\204\377\377\377\0\3\0\0\0R\0\0\0\370\0\0\0b\205\377" "\377\377\0\4\0\0\0^\0\0\0\367\0\0\0\77\0\0\0\17\203\377\377\377\0\5\0" "\0\0\31\0\0\0\274\0\0\0\241\0\0\0\372\0\0\0Q\203\377\377\377\0\5\0\0" "\0A\0\0\0\364\0\0\0\267\0\0\0\324\0\0\0a\203\377\377\377\0\15\0\0\0\210" "\0\0\0B\0\0\0\3\0\0\0\241\0\0\0\372\0\0\0Q\377\377\377\0\0\0\0A\0\0\0" "\365\0\0\0\262\0\0\0\6\0\0\0o\0\0\0\260\203\377\377\377\0\15\0\0\0\276" "\0\0\0\1\377\377\377\0\0\0\0\3\0\0\0\240\0\0\0\372\0\0\0\201\0\0\0\365" "\0\0\0\262\0\0\0\7\377\377\377\0\0\0\0\26\0\0\0\350\202\377\377\377\0" "\2\0\0\0\4\0\0\0\270\203\377\377\377\0\5\0\0\0\3\0\0\0\265\0\0\0\377" "\0\0\0\307\0\0\0\7\202\377\377\377\0\2\0\0\0\1\0\0\0\345\202\377\377" "\377\0\2\0\0\0\1\0\0\0\271\203\377\377\377\0\5\0\0\0A\0\0\0\364\0\0\0" "\345\0\0\0\372\0\0\0Q\202\377\377\377\0\2\0\0\0\1\0\0\0\327\203\377\377" "\377\0\15\0\0\0\274\0\0\0\7\377\377\377\0\0\0\0A\0\0\0\364\0\0\0\262" "\0\0\0\11\0\0\0\241\0\0\0\372\0\0\0Q\377\377\377\0\0\0\0,\0\0\0\267\203" "\377\377\377\0\15\0\0\0j\0\0\0e\0\0\0A\0\0\0\365\0\0\0\262\0\0\0\6\377" "\377\377\0\0\0\0\2\0\0\0\241\0\0\0\372\0\0\0Q\0\0\0\224\0\0\0Y\203\377" "\377\377\0\5\0\0\0\10\0\0\0\306\0\0\0\365\0\0\0\262\0\0\0\7\203\377\377" "\377\0\5\0\0\0\3\0\0\0\240\0\0\0\372\0\0\0\307\0\0\0\3\204\377\377\377" "\0\3\0\0\0\"\0\0\0\334\0\0\0O\204\377\377\377\0\4\0\0\0\4\0\0\0h\0\0" "\0\324\0\0\0\34\206\377\377\377\0\11\0\0\0\22\0\0\0\227\0\0\0\311\0\0" "\0\216\0\0\0\202\0\0\0\226\0\0\0\323\0\0\0\214\0\0\0\21\211\377\377\377" "\0\5\0\0\0\12\0\0\0=\0\0\0I\0\0\0:\0\0\0\7\205\377\377\377\0"}; nted-1.10.18/icons/shift_mode_icon.png0000664001041000007640000000202111520267227014505 00000000000000‰PNG  IHDR @ÈbKGDÿÿÿ ½§“ pHYs M MÒέNtIME× 'óžIDATHÇ­×[ˆVUðßþÔQ4S»Yi–9C1!EVb†EY õ`Ej6Dty¨%$ê¡ §4è!´2º€½¢õb5”]´ÑòÖÅj´´iJw/ëƒÍ4ß™3æÃ>{íµ×­½ÿ{­}RÎÙ©|RJS±=9ç -sÎ-_ŒÁiHƒäâÃx¯4Öƒïpó[Ú®‡‘Ñ)ÅØV|„Íøg†üªÐ¿[°åd€ïÄŸX‚±¦;Œ{0?㑯Æöø~?Uc9`=ÚŠ‰{Šñ\‚óbÄØk±" _à©ß‚¾ŠÀ̉È^ ï_Š»°¯¹¿ø ëb3¦…ü!üŠö_Wø…` ,ÉçÆÄŒq1v?ކ£SC~YôWàX±b‹ª€˜]Aòø=¢Ý²ŽhßÄ_á\ù|mWìï@ôg¡¿Õij`/&ÄÑêÇ<ˆýáÄœ;ŠMáLv ÈwE\Ǫ%ðW˜›R²gcùnŧ¸¦Ð߈‹â{r8t¢ˆlg¡;;xÑx+ÎÀü0´ ¯c>ÀM…þ»±Ÿ‚LƒŸ"{ÆwFwK)¥”Ðܦ=Ñ.ŶœsoJi^Æ‹‘Œ£¯y¦Ú"’nŒ ÙÄ MO›çù‰}]äóc![‰ä{<ŽÛ"G¬ùø^^èÙ8à“C¶2 fܲ››²è7 /7㹠ݪãvüiƒ³I'vãíðpB&cmèLŠÉ¹˜÷%ŽDaYúÇñtYÙ¢pl²HD…éÇÝÑ& }SèlƉ¢¿Ëâû­Èpw QJû±¸eušˆb4¦GÆÊ˜ãçàús°~ùjô¢Q<½Y BíÁøª‹CèvaÞ ÙÌ8שÇo`ëp@5IAØÏ1¶p“½Ÿ$àÕÁâuøã?W¤Š‰£â<®< ÐGñO0ý n¨}õ ëðÞA;ƒ½Er3¢;WYF&Žø|‚Ñ•zÃ9?ÁÜ)Ù[u©ºsˆÌÕYó2?+rüûÃé6jØ;XgG»ÿT÷âôšÀmuu5õ&ÖÔÛíŒS>>\377\202\202\202\377\0" "\0\0\377\77\77\77\377\304\304\304\377\202\264\264\264\377\205\265\265" "\265\377\11\377\377\377\377\344\344\344\377)))\377\0\0\0\377]]]\377\210" "\210\210\377\204\204\204\377\207\207\207\377~~~\377\202\30\30\30\377" "\20\207\207\207\377\216\216\216\377CCC\377;;;\377\216\216\216\377nnn" "\377\20\20\20\377(((\377~~~\377\222\222\222\377sss\377\13\13\13\377\0" "\0\0\377TTT\377\216\216\216\377\203\203\203\377\205\204\204\204\377\11" "\206\206\206\377\222\222\222\377BBB\377777\377\221\221\221\377sss\377" "\0\0\0\377000\377\221\221\221\377\207\204\204\204\377\5\377\377\377\377" "\344\344\344\377\"\"\"\377\0\0\0\377\270\270\270\377\204\377\377\377" "\377\20qqq\377\13\13\13\377\324\324\324\377\377\377\377\377\320\320\320" "\377\250\250\250\377\377\377\377\377\353\353\353\377---\377\77\77\77" "\377\376\376\376\377\377\377\377\377\306\306\306\377\0\0\0\377\26\26" "\26\377\320\320\320\377\210\377\377\377\377\7\345\345\345\377|||\377" "\334\334\334\377\377\377\377\377\344\344\344\377\0\0\0\377iii\377\211" "\377\377\377\377\4\344\344\344\377\"\"\"\377\0\0\0\377\261\261\261\377" "\202\377\377\377\377\10\376\376\376\377\377\377\377\377\343\343\343\377" "\37\37\37\377'''\377\352\352\352\377\377\377\377\377\371\371\371\377" "\202\377\377\377\377\7LLL\377\27\27\27\377\375\375\375\377\377\377\377" "\377YYY\377\0\0\0\377jjj\377\202\377\377\377\377\1\376\376\376\377\206" "\377\377\377\377\12ooo\377\25\25\25\377\\\\\\\377aaa\377III\377\0\0\0" "\377\17\17\17\377\262\262\262\377\377\377\377\377\375\375\375\377\206" "\377\377\377\377\5\344\344\344\377\"\"\"\377\0\0\0\377\260\260\260\377" "\377\377\377\377\202\375\375\375\377\202\377\377\377\377\4\256\256\256" "\377\0\0\0\377(((\377\272\272\272\377\203\377\377\377\377\11www\377\0" "\0\0\377\271\271\271\377\202\202\202\377\0\0\0\377)))\377\327\327\327" "\377\377\377\377\377\374\374\374\377\206\376\376\376\377\13\377\377\377" "\377\312\312\312\377\231\231\231\377\243\243\243\377\251\251\251\377" "ccc\377\0\0\0\377777\377\341\341\341\377\377\377\377\377\374\374\374" "\377\205\376\376\376\377\5\377\377\377\377\344\344\344\377\"\"\"\377" "\0\0\0\377\273\273\273\377\206\377\377\377\377\14\272\272\272\377)))" "\377\35\35\35\377fff\377\256\256\256\377\315\315\315\377ggg\377\0\0\0" "\377\30\30\30\377\34\34\34\377kkk\377\351\351\351\377\216\377\377\377" "\377\3\243\243\243\377\0\0\0\377aaa\377\211\377\377\377\377\26\342\342" "\342\377\23\23\23\377\0\0\0\377\220\220\220\377\340\340\340\377\330\330" "\330\377\327\327\327\377\331\331\331\377\330\330\330\377\333\333\333" "\377\346\346\346\377\277\277\277\377]]]\377$$$\377\24\24\24\377\13\13" "\13\377\3\3\3\377\0\0\0\377\32\32\32\377\225\225\225\377\332\332\332" "\377\343\343\343\377\202\330\330\330\377\210\331\331\331\377\5\327\327" "\327\377\335\335\335\377\247\247\247\377!!!\377\2\2\2\377\202\0\0\0\377" "\4www\377\353\353\353\377\326\326\326\377\330\330\330\377\204\331\331" "\331\377\6\377\377\377\377\352\352\352\377VVV\377'''\377bbb\377vvv\377" "\204ttt\377\16qqq\377rrr\377}}}\377{{{\377ooo\377aaa\377```\377FFF\377" "\5\5\5\377\"\"\"\377|||\377}}}\377ooo\377sss\377\212ttt\377\10vvv\377" "mmm\377XXX\377[[[\377iii\377]]]\377ddd\377www\377\206ttt\377\1\376\376" "\376\377\203\377\377\377\377\2\371\371\371\377\366\366\366\377\203\367" "\367\367\377\2\366\366\366\377\371\371\371\377\202\377\377\377\377\202" "\376\376\376\377\202\377\377\377\377\1\335\335\335\377\202\37\37\37\377" "\3\343\343\343\377\377\377\377\377\362\362\362\377\212\367\367\367\377" "\202\366\366\366\377\1\373\373\373\377\205\377\377\377\377\1\365\365" "\365\377\206\367\367\367\377\1\376\376\376\377\212\377\377\377\377\3" "\342\342\342\377\324\324\324\377\373\373\373\377\203\377\377\377\377" "\4\344\344\344\377\40\40\40\377\0\0\0\377\354\354\354\377\234\377\377" "\377\377\3\376\376\376\377\374\374\374\377\373\373\373\377\204\374\374" "\374\377\202\377\377\377\377\5\227\227\227\377+++\377\"\"\"\377^^^\377" "\326\326\326\377\202\377\377\377\377\6\356\356\356\377)))\377\0\0\0\377" "\340\340\340\377\377\377\377\377\367\367\367\377\231\374\374\374\377" "\5\376\376\376\377\377\377\377\377\376\376\376\377\377\377\377\377\376" "\376\376\377\204\377\377\377\377\2\355\355\355\377///\377\203\0\0\0\377" "\1iii\377\202\377\377\377\377\10\357\357\357\377+++\377\1\1\1\377\347" "\347\347\377\377\377\377\377\371\371\371\377\377\377\377\377\376\376" "\376\377\203\377\377\377\377\1\376\376\376\377\203\377\377\377\377\1" "\376\376\376\377\203\377\377\377\377\1\376\376\376\377\203\377\377\377" "\377\1\376\376\376\377\203\377\377\377\377\1\376\376\376\377\205\377" "\377\377\377\203\376\376\376\377\2\377\377\377\377\376\376\376\377\202" "\377\377\377\377\6\346\346\346\377///\377\0\0\0\377\14\14\14\377\0\0" "\0\377\77\77\77\377\202\377\377\377\377\6\312\312\312\377\24\24\24\377" "\"\"\"\377\355\355\355\377\377\377\377\377\372\372\372\377\205\377\377" "\377\377\3\376\376\376\377\377\377\377\377\376\376\376\377\205\377\377" "\377\377\3\376\376\376\377\377\377\377\377\376\376\376\377\205\377\377" "\377\377\1\376\376\376\377\203\377\377\377\377\5\376\376\376\377\377" "\377\377\377\376\376\376\377\377\377\377\377\376\376\376\377\205\377" "\377\377\377\5XXX\377\0\0\0\377\3\3\3\377\7\7\7\377\200\200\200\377\202" "\377\377\377\377\10\230\230\230\377\0\0\0\377UUU\377\371\371\371\377" "\377\377\377\377\374\374\374\377\377\377\377\377\376\376\376\377\203" "\377\377\377\377\1\376\376\376\377\203\377\377\377\377\1\376\376\376" "\377\203\377\377\377\377\1\376\376\376\377\203\377\377\377\377\1\376" "\376\376\377\203\377\377\377\377\1\376\376\376\377\204\377\377\377\377" "\2\376\376\376\377\377\377\377\377\205\376\376\376\377\202\377\377\377" "\377\14\264\264\264\377\10\10\10\377\0\0\0\377\200\200\200\377\352\352" "\352\377\377\377\377\377\346\346\346\377111\377\0\0\0\377\304\304\304" "\377\377\377\377\377\374\374\374\377\202\376\376\376\377\1\377\377\377" "\377\207\376\376\376\377\1\377\377\377\377\207\376\376\376\377\1\377" "\377\377\377\206\376\376\376\377\202\377\377\377\377\206\376\376\376" "\377\204\377\377\377\377\10\225\225\225\377\14\14\14\377\"\"\"\377bb" "b\377ddd\377###\377\0\0\0\377\230\230\230\377\202\377\377\377\377\3\375" "\375\375\377\377\377\377\377\376\376\376\377\204\377\377\377\377\204" "\376\376\376\377\204\377\377\377\377\204\376\376\376\377\204\377\377" "\377\377\202\376\376\376\377\202\377\377\377\377\5\376\376\376\377\377" "\377\377\377\376\376\376\377\377\377\377\377\376\376\376\377\203\377" "\377\377\377\202\376\376\376\377\202\377\377\377\377\15\243\243\243\377" "\77\77\77\377\25\25\25\377\22\22\22\377222\377\225\225\225\377\375\375" "\375\377\377\377\377\377\374\374\374\377\377\377\377\377\376\376\376" "\377\377\377\377\377\376\376\376\377\203\377\377\377\377\1\376\376\376" "\377\203\377\377\377\377\1\376\376\376\377\203\377\377\377\377\1\376" "\376\376\377\203\377\377\377\377\1\376\376\376\377\203\377\377\377\377" "\1\376\376\376\377\203\377\377\377\377\3\376\376\376\377\377\377\377" "\377\376\376\376\377\206\377\377\377\377\2\376\376\376\377\375\375\375" "\377\202\377\377\377\377\4\373\373\373\377\310\310\310\377\301\301\301" "\377\371\371\371\377\202\377\377\377\377\2\375\375\375\377\377\377\377" "\377\202\376\376\376\377\2\377\377\377\377\376\376\376\377\207\377\377" "\377\377\1\376\376\376\377\207\377\377\377\377\1\376\376\376\377\207" "\377\377\377\377"}; nted-1.10.18/icons/drum4_icon_small.png0000664001041000007640000000046011520267227014614 00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ  ;£‰°IDAT8˵“Á Â@Eßô¢%x±o‚mx°’\Á^ÒˆoV X€‚¿—aÍ&‘……ýïÍÀîÊ6}VÒ¤^ “´“4®=µ-`</ 3m€I¹O[ç €eÙù[g ýÉEàp «ÚlD° à<:i <îø ,þƒîûÆ› àÈ+ð˜vTDkàlš`Û(ö$¥@aûÝøÔÿLƒ >-¤.Ç($ùñIEND®B`‚nted-1.10.18/icons/halfnote_dot_icon.png0000664001041000007640000000045311520267227015041 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs  d_‘tIMEÙ 6P««IDATXÃí—Ý Ã …OFÁ>íú,ÙÓvWg7숭XÙØ8oüËg¢Äc$™=,a ñÎgÔ×MÀ,X•@ÀOL—+Ÿcþ@Trkeø­ßIë(6$i;áÒùÈ›… ŽGÚ”s«Î/ÆàH嚣µ§ØÔ1‡’m‹@œ›.]á—ÑšÅéQžœ×Äi{²“O°/œ–önÏq=w† ¥IEND®B`‚nted-1.10.18/icons/quarternote_icon.png0000664001041000007640000000040011520267227014734 00000000000000‰PNG  IHDR szzôgAMA± üabKGDùC» pHYs  d_‘IDATxÚí—A€ ·ÆD^ oÁ×âi=™(ATèEíÞ(–4¤B%É,EÏ¥4MZd`H?¯€€€ü õü€{kkÍ Ðs9 Jç’Úd´ˆ¯.")Û¹³„JñêÜÏ"\ë(÷’.ˆpM{ªÈ"\¯9ð´  s­pû*Ø—©!IEND®B`‚nted-1.10.18/icons/arpeggio_icon.png0000664001041000007640000000332311520267227014167 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEØ ±Õ†´tEXtCommentCreated with GIMPW.IDATXý—{pTåÆï9gÏî&›l€ds̵‚’®Ba¬ÜB[‘ÚXÀ;]ÊTqúO§NplUÚIê‹¡iMµ¼@mã$Ê(Š\Bå’„6ÙݯØÍæœ5™Nûͼ3»³Ïy¿çý¾÷yÞ³(¥ø_ ÔßÄ £±DDV¬}b–äIÚìt‚ÁRaa¹†$WJ©Ž¤÷ ùWçsħ>,))±vDDDÂ?‹ˆ!"1q¹Ü@` üù¼a•´±QŽm—†g_mYò‚¾¼’iï‘©("}ªÿlÖCDdÙÒò¼Ì½ðOªºzÐ] -î:†–I '4ÀqÈiØß!úчؕۗ|ÄÊ_.£F9,îY?Béü4~ãsÑ%áÇ®!Ìøð YícØÞ^FçUbEá¤í‚æ>|-—`Oÿ)GÎ`ò#~ž=ÚNQw "G( ô^×û+·é«ê1­¥jÖm|¡ƒÂŒ0õûï<þ‹ÃqYIØYÊË^¡ˆ† QhŽíNÀ’ÀÛ›©(õñ¹ ͤ°êëïì|“‚p\[=9÷§Éi·¹îR¸“C8ì h‘=}º¸Ÿz™êw/Þ ›ÛE¼w+u{š›…“áølí%´Å8éЈÖKÖ¢Ó8õ¿Ò××k'E-R‚ÇŽJJ£~âh.šNÄûÉK3çÎ|—2ƒ®C—ØžŸÈ.S8ª gýs Ïq'íæâ›Ë¸zþ ;ÉÛö@K-fMUwù8é@úȾûî?p?{?uF* ?±–áe¼× §·œÑ9ù@ p;ð°ЇÝJ)®ÔâÝ?Ÿƒ>7At§"»ò;ÿ8+âa ¿Ò¢XqR?†ÕëÄ q¼þ[V<ß‚K7ÑpēҊÃ}>BªVáùòûâ\?IÆ¥8¥Hâ&{o2|…•[öÖfVÞ‘Ä9(43Dqõ{üà÷SQƒ«E)¥tÕˆñ‹µÌ(KeßX7áºûâ3p'ŽvC ´â«žH“> ¥¤…»¢å•d-éžYŒ‹ÀOVð)^nت¿ 5«‘lI ÌmóøVY*­&HûÆ9îÞS]¿—²pìƒ÷8;‘:§msQ ¯L+–ã¸E©ÞêÕÔWðþ7Â…ã©´|°û›Ÿ¬ †c·¬!.}qb7íÝÉâ³zÐ1€Å$µQÁ~q4Ö³ú`3 Úo¢aÆHN?Núß…ãr3övN.âÕܱ´¶T¼ÙäW"xå]‚A[XLCÑz>fÕÞ?ðxK'É!ÝT®yŸé‹eûgA§mì.ܰé¹yç9©4J>ëä¶«úˆ†¬’¿ NL÷µŸL†­ø¶æógcàSï»Æ3SPJ¢¼;ˆ¿³ØG ¾âŠk(%Ã1¢! 8gÆ‘ ,­óŽŠô…×øúüEäç›vvúß8!ޮƌlŠ'â¨SâÍ9Eéæ ”.Ž‹Àk‰Óã¡0ÁÅ.Cc78J€ŒpÃ’á@üý ÏÌãù7ADSd.¹ÁÖß ž~¿ßo|¯œÂÕSøi~/jÂu ¸îüî±=¸\;ú –ZÌý•l™r«»1cû˜¾õuüOf zøo*ö'5ø¶•ðRzL/(šöC*kõa#Ñ.7±îév4wÒŠ¢uǘ¹ô±îÙ;Ñ~Cúòy蕨8Û¥ÓEB#RÁ¶š¾TAö·/óëËy(%7˜޽y„qërxË%6•k¦"oqë^˜iÛ¨VÓðO›X:3•67(Êž9…R.¥ê"±áØî·ñmŸÊáXÝæ¥4mN«~µžO•sªý¥5,ªÈáC<Ó.²ÿü»ÿ)»w­Æ Êc™e'Yº¯’:UªÑÌåT ÞÉ‹$—7°³e†µ!µ•¸wÎgê8ËñæV0÷Ç“øQ]LtóúJ·¢ùçŒ*ÅBªš †“p¤!êÿºþ -ǽ`LÑMIEND®B`‚nted-1.10.18/icons/backgroundh1.png0000664001041000007640000000342411520267227013734 00000000000000‰PNG  IHDR€k× ]ÛIDATxœíÜËRÛÆñµÖÞ}Ss± >§ÎCd–GÈ4¯·Èe–7È$³Tª2Í ç`ƒ §@%téî½2hÀa!a »Yßob¥[­ýWßÔðïþøç?ýá÷ƒ-ZŸêÕ¿Xj̬JÓyqv1žåZËFÞEÎ=ÓÀ^·é¼øëßÿõðªJDª˜Äͨ×|ûýí¦ÇbÈ嬈#§J¾é‘@qÓxœ{>åo`" ¡*ËRU¹M/P•B¨°j•B¡éQ¬Š™ã8I’„ˆïdp€ªN§“‹‹ß..ΧÓIÛf[U•!´kH–1SUÕ JÌä½ßØØÚÙÙ{óf×û¯Žš®¡G£ÑÅt:¹¼·°€G`fWÅl6›ÏgY–{Ÿß~ÀU"ÒëåªÊ,D¤ª³Ù @Ç1³8'ÌÂÌUU-|9Ž¢xcc‹™‰´ªªª*‹¢xÙá<%vÎÕ³ÿ[ù€ªŠHžoÖÿ!¨ŽË @'‰ˆsNdÙì'Z8 zÓ1óx<*Ëõ®Î4®ÞõqËg?-@× ˆ¸(ŠUÃh4êÄñ>@™sÎ=<ûéÞèª<Š"U-Ëj2ã€:¡þì_qö‘,yª8Nvwûûûƒ,ËW|:€Fq½ë_ŸÌ\Å«è÷’$ýîÁ==Y¥%(ÇqœeyE„Ù­T7ppp¨ª§§'ªÔïïþ@D«4ð­êÙŸäù†÷‘jÀì‡ÖRUïý`pDD§§'D7 èÙÙiYK–½7eæ$Éz½Ü{f?´ÝBº³³÷þýOYÖûôé×%‡Å‹(3§i/Ï7œsUUaöC'Ünàäd8ƒ÷ïÞ½¢xÉéÑ;”YÒ´—ç›ÞûªÂg?tÉMûûïÆãñññ‡Ùl¶··xøC¯—×¹³ÈW[×ëå½^.⪪T /5r€§q{;p|üáøøÃÑÑ{{ûÌM³^/‘²¬BÀì‡NZhà¿uEQz7€«] fɲ^žoˆÔûý˜ýÐa7 ý8™L~ùåcY–ÞßsÊç˪*Ìf3 !´éZw—.;së/’3S»W©>Õð®8$¢úÂð½_c» @Ër^UÅõ[Ø’uôd«ã´~nu Ïë1>Ù8™éíÛÝ4Íꋹ‹¾Ú(¨*Nû¼vܦÍû½ž¾Ò$I¾õÂ=_yé;c®Kkù›ñú´…?ÓïZ?™ÿ~¾¸œ>Ïo]&ö.jôî‚1Sì½HëöD¸µ«N‰¼H WÚm󲪃ðóó¿üíŸ 7êBi¹…?%Ð8ï$£¶îÒsûxá„c«LæÅðôœˆþyÝF¬ApßIEND®B`‚nted-1.10.18/icons/groupbeams_icon.png0000664001041000007640000000113711520267227014537 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ16.âJ°ßIDATXÃí×]‹Qðß2sJÞÊ”$ w>54åN\É7àR.¹!嘸ri®½‰+QÞ.ÈK#W#ò’dŒ³\Ør:ΙyŽÎÌ)Í®Ýóì—µö¯½Ö황—e—ÿ@„­^Dèë•a#¢SÁþ껌UxÜzt¸ÆUÔ&"¦Zyõdf¶ÔÛ(ˆ0„ë¨ešš‚y³ ""b´s¥q®Xˆ= ž¿>¢uGXÙЬagW Â2<Äác›0aï¬ù@¦OÁÉ뚆Oá ®UT–•*Vãßv.!ÇÈKä™ä6ò¹¿AnÏÛêýWÄpYølùÞ"o“ æ@q¡,ždÜÕ$7-€nðÀQ¼-ÿ—3ÝœS"Ê4ã¥y¬WL8R2á“Y»Ì`…¤³4<ŸŒºz%éôaC »I¼Ì̈ˆAÄv,/ÝÏÊuë^›…×à4È@="îâ|%*Æ>|A¶©c3¡x=Ìï:3âAE7šª “xZ… GËävåŽ4õÝÇ÷ .r¥R6Än\Ä+|Ã{<¬m“#v ­vþ§‘Tk ´}DD?ê™Y¯Í؂ť{w2óë´²½~žÿßø×^øù%pIEND®B`‚nted-1.10.18/icons/bow_up_icon.h0000664001041000007640000000455611520270060013326 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (bow_up_icon) #endif #ifdef __GNUC__ static const guint8 bow_up_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 bow_up_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (661) */ "\0\0\2\255" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\222\377\377\377\0\2\0\0\0\"\0\0\0\6\232\377\377\377\0\2\0\0\0\201\0" "\0\0\222\202\377\377\377\0\2\0\0\0\303\0\0\0\\\232\377\377\377\0\6\0" "\0\0d\0\0\0\306\377\377\377\0\0\0\0\15\0\0\0\363\0\0\0)\232\377\377\377" "\0\6\0\0\0'\0\0\0\357\0\0\0\12\0\0\0""4\0\0\0\357\0\0\0\7\232\377\377" "\377\0\5\0\0\0\6\0\0\0\354\0\0\0-\0\0\0g\0\0\0\302\234\377\377\377\0" "\4\0\0\0\300\0\0\0j\0\0\0\232\0\0\0\205\234\377\377\377\0\4\0\0\0\215" "\0\0\0\235\0\0\0\315\0\0\0R\234\377\377\377\0\4\0\0\0O\0\0\0\335\0\0" "\0\363\0\0\0\37\234\377\377\377\0\4\0\0\0\34\0\0\0\377\0\0\0\352\0\0" "\0\1\234\377\377\377\0\3\0\0\0\1\0\0\0\340\0\0\0\261\236\377\377\377" "\0\2\0\0\0\253\0\0\0{\236\377\377\377\0\2\0\0\0x\0\0\0H\236\377\377\377" "\0\2\0\0\0B\0\0\0\30\241\377\377\377\0\2\0\0\0G\0\0\0\12\236\377\377" "\377\0\2\0\0\0\341\0\0\0\40\236\377\377\377\0\2\0\0\0\341\0\0\0\40\236" "\377\377\377\0\2\0\0\0\341\0\0\0\40\236\377\377\377\0\2\0\0\0\341\0\0" "\0\40\236\377\377\377\0\2\0\0\0\341\0\0\0\40\236\377\377\377\0\2\0\0" "\0\341\0\0\0\40\236\377\377\377\0\2\0\0\0\341\0\0\0\40\236\377\377\377" "\0\2\0\0\0\341\0\0\0\40\236\377\377\377\0\2\0\0\0\341\0\0\0\40\236\377" "\377\377\0\2\0\0\0\341\0\0\0\40\236\377\377\377\0\2\0\0\0\341\0\0\0\40" "\230\377\377\377\0\10\0\0\0\1\0\0\0\17\0\0\0=\0\0\0\31\0\0\0\3\377\377" "\377\0\0\0\0\341\0\0\0\40\227\377\377\377\0\2\0\0\0""1\0\0\0\275\203" "\0\0\0\377\4\0\0\0\323\0\0\0L\0\0\0\341\0\0\0\40\226\377\377\377\0\2" "\0\0\0\31\0\0\0\341\205\0\0\0\377\3\0\0\0\373\0\0\0\372\0\0\0\40\226" "\377\377\377\0\1\0\0\0i\207\0\0\0\377\2\0\0\0\376\0\0\0\37\226\377\377" "\377\0\1\0\0\0\\\207\0\0\0\377\1\0\0\0\230\227\377\377\377\0\2\0\0\0" "\6\0\0\0\273\205\0\0\0\377\2\0\0\0\347\0\0\0\26\230\377\377\377\0\7\0" "\0\0\20\0\0\0\201\0\0\0\314\0\0\0\372\0\0\0\321\0\0\0\231\0\0\0\37\215" "\377\377\377\0"}; nted-1.10.18/icons/guitar_note_icon.h0000664001041000007640000000430111520270060014337 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (guitar_note_icon) #endif #ifdef __GNUC__ static const guint8 guitar_note_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 guitar_note_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (595) */ "\0\0\2k" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\223\377\377\377\0\2\0\0\0\13\0\0\0\34\236\377\377\377\0\2\0\0\0N\0\0" "\0\314\236\377\377\377\0\2\0\0\0N\0\0\0\314\236\377\377\377\0\2\0\0\0" "N\0\0\0\314\236\377\377\377\0\2\0\0\0N\0\0\0\314\236\377\377\377\0\2" "\0\0\0N\0\0\0\314\236\377\377\377\0\2\0\0\0N\0\0\0\314\236\377\377\377" "\0\2\0\0\0N\0\0\0\314\236\377\377\377\0\2\0\0\0N\0\0\0\314\236\377\377" "\377\0\2\0\0\0N\0\0\0\314\236\377\377\377\0\2\0\0\0N\0\0\0\314\236\377" "\377\377\0\2\0\0\0N\0\0\0\314\236\377\377\377\0\2\0\0\0N\0\0\0\314\236" "\377\377\377\0\2\0\0\0N\0\0\0\314\236\377\377\377\0\2\0\0\0N\0\0\0\314" "\236\377\377\377\0\2\0\0\0N\0\0\0\314\235\377\377\377\0\3\0\0\0\5\0\0" "\0O\0\0\0\314\235\377\377\377\0\3\0\0\0\221\0\0\0\342\0\0\0\314\234\377" "\377\377\0\5\0\0\0)\0\0\0\372\0\0\0\377\0\0\0\361\0\0\0\23\233\377\377" "\377\0\1\0\0\0\265\202\0\0\0\377\1\0\0\0\240\233\377\377\377\0\1\0\0" "\0N\202\0\0\0\377\2\0\0\0\357\0\0\0\30\232\377\377\377\0\2\0\0\0\7\0" "\0\0\330\202\0\0\0\377\1\0\0\0s\233\377\377\377\0\1\0\0\0v\202\0\0\0" "\377\2\0\0\0\325\0\0\0\6\232\377\377\377\0\5\0\0\0\31\0\0\0\360\0\0\0" "\377\0\0\0\376\0\0\0E\233\377\377\377\0\1\0\0\0\236\202\0\0\0\377\1\0" "\0\0\257\233\377\377\377\0\5\0\0\0""4\0\0\0\375\0\0\0\377\0\0\0\370\0" "\0\0\37\232\377\377\377\0\2\0\0\0\1\0\0\0\305\202\0\0\0\377\1\0\0\0\200" "\233\377\377\377\0\1\0\0\0_\202\0\0\0\377\2\0\0\0\342\0\0\0\11\232\377" "\377\377\0\2\0\0\0\15\0\0\0\343\202\0\0\0\377\1\0\0\0S\233\377\377\377" "\0\1\0\0\0\203\202\0\0\0\377\2\0\0\0\301\0\0\0\1\232\377\377\377\0\5" "\0\0\0\4\0\0\0\334\0\0\0\377\0\0\0\372\0\0\0-\234\377\377\377\0\3\0\0" "\0\15\0\0\0\202\0\0\0\210\222\377\377\377\0"}; nted-1.10.18/icons/flipstem_icon.png0000664001041000007640000000134311520267227014215 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ 2+•cºtcIDATXÃÅ—ÍkSAÅŸ¦hŸ-¨©"5*XªT\µbÁÜ´îêBqçB‚"Bÿ-®\‹Š`Û‡]H·J¿pSPÑM ~„ ‹Öx\dÐøÌKæ¥yé…ax™™{ÏÌœ9÷I$Õ€£À ;jNŠvša†Þš_rÀŽZâÅ àƒ@?° ð/Àà9i #ˆw..=ÇÀ}ÀY»›Lƒ™?­ÏY #N¾Þ#Z-tUhQhAhFh\('”J ùBƒBåÐêOà _lˆäIƒà[…^Ù¯›BÛ›úX;2ÁD±5Õàï…¾ Æb?Ê å…&¸@õhŸÙà‡—ø Ï5P„—€}À8â1 [*Äö¬E}qƒXXˆN]À:da£@ñ¢ó ]Àƒ–Tؘ•ƘõƘXêZ;y·í_ƺ8úì†*Ƙ7À °*ßöóŽÁYíKó ›+úãr@¼¨ܳi6ÓNm¿Åa]ÖfC[\¼*À§]169-©ì– Ñ¡9!ÓDbwÚ+›·}T» ø|…ŸÌ-`88ÙUk„¦ì×·š‘©<ùƒÉø{·Ã#%J_‡J€„ÿÕûSáã¯ë¡§-tIcVv{mÛV °7 8žÌ+p+6Òe°eàc2-rçPjqýû R¬5`–sîIEND®B`‚nted-1.10.18/icons/insert_mode_icon.h0000664001041000007640000001056411520270060014337 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (insert_mode_icon) #endif #ifdef __GNUC__ static const guint8 insert_mode_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 insert_mode_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1363) */ "\0\0\5k" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\1\0\0\0""0\236\0\0\0$\2\0\0\0A\0\0\0(\204\377\377\377\0\3\377\0\0\4" "\377\0\0s\377\0\0O\227\377\377\377\0\202\0\0\0(\204\377\377\377\0\3\377" "\0\0\12\377\0\0\377\377\0\0\257\227\377\377\377\0\202\0\0\0(\204\377" "\377\377\0\3\377\0\0\12\377\0\0\377\377\0\0\257\227\377\377\377\0\202" "\0\0\0(\204\377\377\377\0\3\377\0\0\12\377\0\0\377\377\0\0\257\210\377" "\377\377\0\4\0\0\0#\0\0\0\241\0\0\0\253\0\0\0@\213\377\377\377\0\202" "\0\0\0(\1\377\0\0*\203\377\0\0""8\3\377\0\0@\377\0\0\377\377\0\0\301" "\205\377\0\0""8\1\377\0\0\12\202\377\377\377\0\1\0\0\0""7\202\0\0\0\377" "\3\0\0\0\376\0\0\0\220\0\0\0\15\211\377\377\377\0\202\0\0\0(\1\377\0" "\0\276\213\377\0\0\377\1\377\0\0-\202\377\377\377\0\1\0\0\0""7\204\0" "\0\0\377\2\0\0\0\330\0\0\0\13\210\377\377\377\0\202\0\0\0(\1\377\0\0" "\77\203\377\0\0T\3\377\0\0[\377\0\0\377\377\0\0\311\205\377\0\0T\1\377" "\0\0\17\202\377\377\377\0\1\0\0\0""7\205\0\0\0\377\1\0\0\0n\210\377\377" "\377\0\202\0\0\0(\204\377\377\377\0\3\377\0\0\12\377\0\0\377\377\0\0" "\257\210\377\377\377\0\4\0\0\0""7\0\0\0\377\0\0\0\375\0\0\0\342\202\0" "\0\0\377\2\0\0\0\342\0\0\0\6\207\377\377\377\0\202\0\0\0(\204\377\377" "\377\0\3\377\0\0\12\377\0\0\377\377\0\0\257\210\377\377\377\0\5\0\0\0" "7\0\0\0\377\0\0\0\372\0\0\0\34\0\0\0\351\202\0\0\0\377\1\0\0\0c\207\377" "\377\377\0\202\0\0\0(\204\377\377\377\0\3\377\0\0\12\377\0\0\377\377" "\0\0\257\210\377\377\377\0\5\0\0\0""7\0\0\0\377\0\0\0\372\377\377\377" "\0\0\0\0h\202\0\0\0\377\1\0\0\0\334\207\377\377\377\0\202\0\0\0(\204" "\377\377\377\0\3\377\0\0\4\377\0\0k\377\0\0I\210\377\377\377\0\6\0\0" "\0""7\0\0\0\377\0\0\0\372\377\377\377\0\0\0\0\5\0\0\0\327\202\0\0\0\377" "\1\0\0\0E\206\377\377\377\0\202\0\0\0(\217\377\377\377\0\3\0\0\0""7\0" "\0\0\377\0\0\0\372\202\377\377\377\0\1\0\0\0j\202\0\0\0\377\1\0\0\0P" "\206\377\377\377\0\202\0\0\0(\217\377\377\377\0\3\0\0\0""7\0\0\0\377" "\0\0\0\372\202\377\377\377\0\1\0\0\0/\202\0\0\0\377\1\0\0\0P\206\377" "\377\377\0\202\0\0\0(\217\377\377\377\0\3\0\0\0""7\0\0\0\377\0\0\0\372" "\202\377\377\377\0\4\0\0\0\5\0\0\0\361\0\0\0\377\0\0\0P\206\377\377\377" "\0\202\0\0\0(\217\377\377\377\0\3\0\0\0""7\0\0\0\377\0\0\0\372\203\377" "\377\377\0\3\0\0\0\302\0\0\0\377\0\0\0H\206\377\377\377\0\202\0\0\0(" "\217\377\377\377\0\3\0\0\0""7\0\0\0\377\0\0\0\372\202\377\377\377\0\4" "\0\0\0\1\0\0\0\333\0\0\0\310\0\0\0\3\206\377\377\377\0\202\0\0\0(\217" "\377\377\377\0\3\0\0\0""7\0\0\0\377\0\0\0\372\202\377\377\377\0\3\0\0" "\0\31\0\0\0\365\0\0\0)\207\377\377\377\0\202\0\0\0(\217\377\377\377\0" "\3\0\0\0""7\0\0\0\377\0\0\0\372\202\377\377\377\0\2\0\0\0M\0\0\0t\210" "\377\377\377\0\202\0\0\0(\217\377\377\377\0\3\0\0\0""7\0\0\0\377\0\0" "\0\372\202\377\377\377\0\2\0\0\0R\0\0\0\5\210\377\377\377\0\202\0\0\0" "(\206\377\377\377\0\14\0\0\0\26\0\0\0O\0\0\0k\0\0\0\215\0\0\0\217\0\0" "\0\204\0\0\0k\0\0\0G\0\0\0\22\0\0\0""7\0\0\0\377\0\0\0\372\202\377\377" "\377\0\1\0\0\0\1\211\377\377\377\0\202\0\0\0(\204\377\377\377\0\2\0\0" "\0W\0\0\0\312\210\0\0\0\377\4\0\0\0\376\0\0\0\321\0\0\0\377\0\0\0\372" "\214\377\377\377\0\202\0\0\0(\203\377\377\377\0\1\0\0\0i\215\0\0\0\377" "\1\0\0\0\372\214\377\377\377\0\202\0\0\0(\203\377\377\377\0\1\0\0\0\200" "\215\0\0\0\377\1\0\0\0\372\214\377\377\377\0\202\0\0\0(\203\377\377\377" "\0\3\0\0\0\11\0\0\0\210\0\0\0\365\211\0\0\0\377\3\0\0\0\347\0\0\0m\0" "\0\0\32\214\377\377\377\0\202\0\0\0(\205\377\377\377\0\13\0\0\0\15\0" "\0\0J\0\0\0~\0\0\0\244\0\0\0\247\0\0\0\270\0\0\0\247\0\0\0\240\0\0\0" "u\0\0\0C\0\0\0\7\216\377\377\377\0\202\0\0\0(\236\377\377\377\0\202\0" "\0\0(\221\377\377\377\0\1\377\0\0.\213\377\0\0^\1\377\0\0)\202\0\0\0" "(\221\377\377\377\0\1\377\0\0}\213\377\0\0\377\1\377\0\0n\202\0\0\0(" "\221\377\377\377\0\1\377\0\0\27\213\377\0\0.\1\377\0\0\24\202\0\0\0(" "\236\377\377\377\0\2\0\0\0(\0\0\0""5\236\0\0\0$\1\0\0\0F"}; nted-1.10.18/icons/background1.h0000664001041000007640000001166611520270060013223 00000000000000/* GdkPixbuf RGB C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (background1) #endif #ifdef __GNUC__ static const guint8 background1[] __attribute__ ((__aligned__ (4))) = #else static const guint8 background1[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1240) */ "\0\0\4\360" /* pixdata_type (0x2010001) */ "\2\1\0\1" /* rowstride (96) */ "\0\0\0`" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\6\260\261\306\251\252\274\251\253\274\253\255\277\253\253\275\251\252" "\273\204\252\252\274\3\252\252\273\252\252\274\251\252\274\202\250\252" "\274\2\244\245\267\241\242\266\212\242\243\267\202\242\244\266\10\240" "\241\265\240\242\261\254\255\302\262\263\307st\20265=86>54<\20743;\203" "539\3""54:327316\211216\12""3161050/6>@F\232\234\253\255\257\303\216" "\217\234WV_:8@>=D\207=H\211B\77I\12B@I87\77;=C\224" "\226\246\256\257\304\214\214\236\217\221\242\257\261\303\261\261\303" "\260\261\302\204\260\261\303\2\261\261\303\260\261\303\206\257\261\303" "\1\260\262\305\210\261\263\305\6\260\261\304\270\271\314mo{9:tEXtRaw profile type APP1 APP1 10 4e656f47656f0800005a Š…® vpAg ‡úœ\IDATXÃXgtW·$@h!´/Á´ôöz:L !±MI0¤B$¡‡âFs;Œ»1H²å¦™;]Ò¨OW·\äŽé¦ƒM±io‚ýÖûÞŸ·ÞŸ­»î,iÍ^ûì}Αù-gÚ†ÙAlb?†ë@ ;¾î°øYÊíD† CùwÐo°o…ß±Qøhq~”8&©ˆd2ÅQ@6QÍÎ6êªîšë™þ¼á’§ÓÐI·ùúWu}\£ˆÛºÃ.®‘Îöê Œ&_3ýy ¼qžùA嫦-7ªšš¬'ªPóFÛØêÙæÍ¶·ª?3o}ŽØ>¬^bÞo ªþÄò«5¡*׌[ J›õÛ¸ê9¬ž3ÔyÅy%Wè ©Ê´¼3Ê:´}mKòJ³Í=KÚKï›±Ò•eßXbË‚ÊGZÇ—ÿ¤]gÛ]þTûÌ>T» ú;:Ç3ÙphfÛÀOÈ:n72ÆŽÁ â b¨Ô;G\Wâé”^#–Rk%Y¢3;‡êÖö¸\úzƒ›ÖgÓZOO}§qç'C¨qµ6Ì4~í)ÔÛèÏûz/í÷,Ð5¼ëmNöŽƒ à3 N1ŽõMR¨Æª7eïÄ·¦M"R§\#íè΃ÇC„k˜·ŠWp‰pH D5Yã¸Fž§.8êèºWé+ ~Ïez°qˆï]c²)¥¢À|Ü’Z©¶®±}_½ÛVf/©)cjY8 ã6ð3ê‚ùR!®~·8UêߨCúÅ1½i’c•3¸ù]góVó%g…«èl¾ëw÷¼–O\1îð–Å®éîA-=JWÔÙCŽùιgç{Þ÷~xa>®$”ÄóED¡S¸‘ô$'É8GD’›@ RÈMA'b“ùÔ‰¹„»ƒ³b n#ìR “2²jw½Duè:Ý/ëà ážõ3mñV7›¶TÄ›_²ô­ ²<±>­eKµçæ0½ÙWj­ì<N.•ÏkX  ñ!_Ô4­—Kß5oIÍi¾ãËæÇÒ\Çâæi ãÕfQÜ!Å4¿)ô6þ۱ѹél4V…W‹Wñ/‰¥ÒZ…ª½pU•0'éã BÎr@@œæ¡“°)¿Q/æ®b8NˆžIdIeÄ×d˜ãg’£xg=U§«wÝÒ'{NÒ£Œ£}Œé¦ŒŠsedeˆ¥ØZRe±ÛCjÖØƒZ˜Ûìº×¹åüŠúx~‡°³A%lw4*ÅíÒŽ&¥h“ìMwÅKÒåæWÅé\ó`1FŠmÒ ÷ÄûMoóÕBMà G¸3âìzl$c?ãëŽ ÕÙÂqÔ£„YIÓ2š‰·È‰ŽpÉá#Ñ©ØÇBZ‡Õ mÏ © ?A¤IâKr©c-i¡¬Î*ªI×ìjë"`ðÓ•Þ+Æe¦å¿š.š/ù;-ßX¿­úÍzÖÖR}ÃÊ, D0qì¾ÚÖÌYêœ\ ®þ_'Ô7\¶‰Ûc…[âíÆÇâpé_MoŠƒ¤WšF j±°ƒÅ!cø…^ ¯ÉÊÌk^~Œ}"|‰æc§T¡¢þžz#!$é½ ¿Oövìû~:) A/b—„§X1^"šðHbµ´…˜CÎu,'SGœùÔ]²ë”®Ißìn3 ¥‡yß§sy>Øi^íßb,be£u°mHõ{¶ö?k’í¦6p“©aµ7Ø[Üíú^ÜyþB}¿EØÚÀ{oÃEþ¾ð qß&´7öåÓ…Œ†Rî*­AÁ^çnÔ÷ÇJ¯7MF6 ¿ò1‚¢<¯P>SA NŸô®LàñÔñˆFvó“ jãuè6l»ŒMŧ‰KðÞDi$ÞBœ“î“Qœ ¨ÞrPŽÔmÕos'èu½ÇM5ó½oÜfÚ^‘hò™+ü—,C­ÃªÞ·î³í¯N·µÛïúÚ뙆ÀmFÃ×Ù.·boswd2ÛùõIœš/¬×sÙ|N½–{‘ïU?‚E9¬N`°k3ùát¢hîàkP¨^PE K—ôN‡·“/:¶Á×A+§FRпùxÙÊ“„%è]¬MìƒpZôâ€@$ŽÈ"³åä:êgçʪ³¹ªõS Óf<îS=&oÅóËØÊI–¿­G«”Ö ¶‹Õ6“Ý\ã·k˜â€‘Éb³kËŠÕÕºØ1ÜØºIì nf];›X·©d«j[™ßÙ?jØ'3SŸs³øÙõpа4† ç>P¨ú¨#¨×‚åñÇdÇ8ª¸ãH6šËGGcc„©è!,^ÈÆ–ã+Äø"âsi 1…œêXLÜ#ï;ûQ¡ºE®Õºp}„û=b@=¼¡„.õšéËÆ+¾Ç¦‰æIþP³Ò¢ª¤,‡¬ñUÙÖmk«ÿ´­°¯¬ÙdŸÁÌ „Ù·3;Iö Ƹlÿ‘YøÓ¾†ù.°Í¾Š‰ l¶uÚÙzÙ{×± ®GÝp¨Ö268ŒdCªùê£Ô²„“ÞÊ`ñóÄ]Ç0,\42ÍE(TÇW =°žÂ¿Ð¬S|ÓâhÇÓ‰ ©„ˆ#÷9ÒÈ}Ô~g:u[wÇÝKwYÅýX¯6zôô0ãp߯HÓêŠ-¦åæþæ`KHå|Kˆõ£ªÏ,×­7ª{Xcl±Õ©Ï~϶žµ&Þö‰ýÓš¥¶±ö×k&[ÛR« ­¶eÕ,©r·.²ÿÉì $kÕP¡]½ ¿ÅLS¨V¨ÏP¿$ôN|–Q€Ï#Â$3Üj¹4ƒäq©H8ÎoB|h Ãö iØ+ø`ñ|1PzJ4/²|^¹ÆtÌ|ܯîòRù*m¤msùm«í‰Bµ_í¢R¦$Ïðào“¤Ó°Xn?8ƒ¨¸\P‡Ôsí²¡­|š„N¢—°ËÂ#LŠz|)m–ÛßjÇr(5Ìù>ÙI=r ¢é»_ÑÝÓß÷ô3ô£û{ÇžÐO}Cè"£ÆGÿ6­PššCý‘¦ãæT¡IgÖûÝÝHš)¿Ó$÷E¿×kŽóŸ06˜+î_5½V1Îò©uzÕWeÆr“µ¢ü3íÛ· Õ^5G%'¼™42ƒ–óÞ#Í„wí\0h@š¸*€!8çBT¨š×!œœZõè/Ø! Ç#Ä_°^+ÞÀË ­d#&“SŸ“©—o’O¨§®!ÔcÝ÷`ù­,îJ}¦!ËSf˜EÏöFнŒ½}AôBc¨/’®1|×鋯K¾Núœñ¼ïÝb<ç»O·¯úžÒÆGƒèSÆf8Iç{jÆüBéͲ[ÖÊ"ËW[·(”WÔ“ÉŽøƒ‰Q£±ü’´ º·°y )çT2–q 2JöľÍû;Êð4ËJÑ6¬]| “GD±O$’¤îUNÐi^áïÍÖ·®zžêzÞ0.4…VD–T—Ö˜¯•þ^ö‡å€BéW%/Æÿ™¸9c0v"m‚lòP½¶†Õƒb¤„³¢ætÈDtŠÐ¨‘÷u!ú¶NØ-«±LÜ€yp¯x?L‘ò»Ô “OœƒÉ¯©0çÏd3uÖÙNÑ:£Ë§›®ŸáþZW¤×¸iÝ}ýOý»†÷<ÓõŸ¦{¾êƆ™ž°®"ÔÖŸqršÈc™á0}Ä›_¢(ía^’Rú—ù´ByRÕJBñ±‰»2F`7ðÇÒFˆ‚1v ücCÁÛÈ;Ü,àBÜÜ9ŽDp¿ ýÐþüX„AY¾±ÊÍ®=…XWÈbVÜ&VãÛˆíR"î#*¤KÄNòOÇò5j„s<™F¥;‹»}rXwÄ•O%ëR\T®.Ïë뇸ߥnén»_¤juu®›Tº.ÃUB%ÉÅI2ŠŠvÓfXàùVÓ^|ÏÔ·¤WiosB™®j! 㣷g Ç.âíÒZÈKlŒœ-ƒÏ¥Ü2>GsßRÁ]ùÈ)E&£SøÏ=jà=Ýÿ ~F[±«òèqO ñžÄ Ò«x¡‘hb9Ðñ1–|Ý1™ IÊá$§RÓœKÈñT°s¹‚ZéÜD:(§ól7ÉÔAg&ù õ©s)9šè\Ø¥*U¡ó».uh:/÷.éc©PF©x2%>"qIú ì 1@Ú I0ǀˀ–UÃ0¬‚"ÖÂpn=åFÜ"eܤ/ÚÓEàyÇp¡±Xœp½‚µ O° ø¯bLwߘ(ç[(¾—ˆ’ŽânÂ#ÇïmŽ>ø¹óô&f‘³Ä*2Ò±™˜MÎq,#¦’ÓKðv➣/ÞJ\•žâ“ˆÉÒ"j¶nŽkYÑBM(©_lœ§PîW¹ÈÔø)‰Áél5¾I¬…¼°“M‚€±%Ý@XΧX,F–p߃ ÄÏ]–£VÉ‘È"t¿‘%ãÙ®¤BÚÐvá%4ûK8žÅZ„{]Ó–çˆÚ®ìÂË~Œ=ÁŸJC°øCiÖŽß“úâAÄH)¤Di8v õÇæàsÅåd0âœ_ÔGó=ª¨Us•~ªP©ÚH*^‘ð0=…1‹ åÃ9ì ˜•ßÇ«A!k–ÉÈ%ÿœ Û=‡,E¾â~erRY„À¬ˆ«Fþ@7ó‘´”7#WÑkü³îÑ÷#l‚°5afÁz0¯pû7>NœƒÍÀgŠaØn|ø‡ïÓ°Xq¶öôAaP¬V+X¶ ÖˆµÃ€Y¦[pšÅá`¯ƒ<ä$€<qy›+åÌÈ ôþmä$šÏ#H2šÂÈ“U¯En 7…žÈ3L! CWck„­èoØïÂ~ÇA’cF/¸ÑL,K(CbǺûIØ….Ö ¿"±h?N¤J…ªkêëzEáê¢5†­ e±ê©?Ô‘pW& `5âm TÉ…Ç‚7Ùðt0“]Þ­HÖÑM¦ë¦”±X^·ØX¬ä6ùÇ-qvÀ!î"’ˆ&ñyÝd²Ðl¾ÉGOñ(âBÝü9¤õó—‘Z´Ž¿‰Ô þz·» (Í{‘hÜå%Õê/u?ª õwþ‡Àô¨ˆÕŠ¡Z?äeR 89!c®¬ÆË`ûV—•ayžf¥n˜œTb—7àÀìN¸\eŸ‚l$‡Ó‚ä4‡¡8'0 4çí&cCì\ 0!fÎß5Ó#o¡oó#ãÐñü\ä}ô~&òú!? ™€Näv»’[…GŠ›•UºjG¡Sö?ø‡@@\øœ@2Á£‘ËeÐXÉóL=¼`3`YßÿÒ!œdA÷ÙhÖ »‡=ßõw ØìáþòÅñÝÅfF,\e7¢Æ ÝOÿåŽë>/@r«°Åøñ{åÕCݵµÐ¦¯V(KUí2GÏpÈ%ª­‚<2yæVAZ0"$;BÆÓ°Z¦Q—38ı©p¹ìŠt äÒBeeDÙè¨ì2Y›LFËZa%P±\ JäH¸np=àà!7ŒG‚¹y`2™[¦ S¹Åÿ7>WÞ!/g¼P¯<¦:N)ÕA…#õãÊU‡LàvÂ=™€k” ¸ ¿L… e”Œ¤ƒ5 ‘òÙÁð)††h¸L¦T;˜+p.Hf‹`½üŠœLC)+ òù¿oY%ðœX (•3M#?5vÞIÏ"ÿð0– A§a _*CU‹¨u*¥Z¥³*”’êiˆJ8—~½Ž r ]&ú[~¹|(®a,2ú½Œ•Œú ®fŒÝç9?Ëåýè>Óg€fÖ Ÿ­l|TÊʤŸŒe2FÖª\VãHc5pHg‹»Ó¬ËE¨Üs„îs—Ǻ🛮{<LaÃÐÅØ!\9W5š¦Ò¨‹uy uj$éNNƒi‘á[¨H;ØNiá~v·ökxºý‘v<ÕÞ©]O±?èÆoá ö6ù~†ý™6þŽ­½)gìP/¸žÙ íáÌU(|Í܆ÎÁw™6è*ÜÊÜ…òÓsPÜÀ\€:áÇì‹ÐøÛV€žl¿®3tngCwà6æ1ÜôeÀÃÀ¿Ø(Îg_”SKÉ—Y¢ü?­º¨¾D½¢P¦ÜC~$ùpjÖ)zªþ[÷b&ø"NÜŠG?˃À2â;±ßLD‰<þ±Wäð$"MlÁç_‰Y‰ÛÅ70'^Å*ñ³Òd<˜˜.Á¿!~’P|!åàáÄR) MŒ~ÀÇÊ]v-¾“Ø"‘òp±S¢å_Þ(<†Ø#YäíB#ÝÂQyÇhÇgË¿“$÷ì‡Ò»rk[/XH"w —-ÓmS«KH­¢è;¹’NíZ÷çîC—²³4%ÍYh&Y<(3éÑlÍlͼ©iΤ3šS™_d.ÕLÌ Éœ –ñ0£³èlÖÁ¬øâr~ÈY[úkvy6T–’]ŸÝTv9;3;­,5d³eö¬ÜìSeG³Ùme-9®Ü­'·gÞ«P¯\(…Ð\Cž2çîÈ; íÊ]™÷;™»"ï7hUnŸ¼ÑÐKyÉ' ଓ;ó€°]0.9æ9^£¬TE«÷’ 0Zeÿ&©<d¼³òï7¬ÙyìÉþú}ȱ°³ö=>,N{èïm1oGu$·Æ„FJ}-Ê’ ŦÇlüë»}[ãý NûWѾ¡±7þ~!æçèàä¥QïípxÆuÔÚÃ'÷ˆî{dBô[±ƒRfDGÄÎOÙ½8öÓ”õÑÚØüiÏŠ¨…‡·íJÛŸïz°çJÒÐ]{‘=«£–ŽÚûkôª#»£VÇlOökqÂúý¾œvrÃ’íÚ,:h’ß,zTXtcreate-datexÚ320°Ð54Ò5414´20±2µÔ62 AÍÙ¬á1zTXtjpeg:colorspacexÚ333‰8#5&zTXtjpeg:sampling-factorxÚ3ª0Ò1¬0aƒé=—/O,zTXtmodify-datexÚ320°Ð54Ò5414´20±2µÔ62 AÍæ2°üIEND®B`‚nted-1.10.18/icons/sixteenthnote_icon.h0000664001041000007640000000517411520270060014731 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (sixteenthnote_icon) #endif #ifdef __GNUC__ static const guint8 sixteenthnote_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 sixteenthnote_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (743) */ "\0\0\2\377" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\246\0\0\0\0\224\0\221\0\7\214\0\0\0\0\224\0\221\0\7\214\0\0\0\0\224" "\0\221\0\7\214\0\0\0\0\212\0\221\0\7\1\0\0\0\377\211\0\221\0\7\214\0" "\0\0\0\212\0\221\0\7\202\0\0\0\377\210\0\221\0\7\214\0\0\0\0\212\0\221" "\0\7\203\0\0\0\377\207\0\221\0\7\214\0\0\0\0\212\0\221\0\7\204\0\0\0" "\377\206\0\221\0\7\214\0\0\0\0\212\0\221\0\7\205\0\0\0\377\205\0\221" "\0\7\214\0\0\0\0\212\0\221\0\7\2\0\0\0\377\0\221\0\7\204\0\0\0\377\204" "\0\221\0\7\214\0\0\0\0\212\0\221\0\7\202\0\0\0\377\202\0\221\0\7\202" "\0\0\0\377\204\0\221\0\7\214\0\0\0\0\212\0\221\0\7\203\0\0\0\377\202" "\0\221\0\7\202\0\0\0\377\203\0\221\0\7\214\0\0\0\0\212\0\221\0\7\204" "\0\0\0\377\202\0\221\0\7\1\0\0\0\377\203\0\221\0\7\214\0\0\0\0\212\0" "\221\0\7\205\0\0\0\377\2\0\221\0\7\0\0\0\377\203\0\221\0\7\214\0\0\0" "\0\212\0\221\0\7\207\0\0\0\377\203\0\221\0\7\214\0\0\0\0\212\0\221\0" "\7\1\0\0\0\377\202\0\221\0\7\204\0\0\0\377\203\0\221\0\7\214\0\0\0\0" "\212\0\221\0\7\1\0\0\0\377\204\0\221\0\7\202\0\0\0\377\203\0\221\0\7" "\214\0\0\0\0\212\0\221\0\7\1\0\0\0\377\204\0\221\0\7\202\0\0\0\377\203" "\0\221\0\7\214\0\0\0\0\212\0\221\0\7\1\0\0\0\377\205\0\221\0\7\1\0\0" "\0\377\203\0\221\0\7\214\0\0\0\0\212\0\221\0\7\1\0\0\0\377\205\0\221" "\0\7\1\0\0\0\377\203\0\221\0\7\214\0\0\0\0\212\0\221\0\7\1\0\0\0\377" "\205\0\221\0\7\1\0\0\0\377\203\0\221\0\7\214\0\0\0\0\212\0\221\0\7\1" "\0\0\0\377\204\0\221\0\7\1\0\0\0\377\204\0\221\0\7\214\0\0\0\0\212\0" "\221\0\7\1\0\0\0\377\204\0\221\0\7\1\0\0\0\377\204\0\221\0\7\214\0\0" "\0\0\212\0\221\0\7\1\0\0\0\377\204\0\221\0\7\1\0\0\0\377\204\0\221\0" "\7\214\0\0\0\0\206\0\221\0\7\202\0\0\0\377\202\0\221\0\7\1\0\0\0\377" "\211\0\221\0\7\214\0\0\0\0\204\0\221\0\7\207\0\0\0\377\211\0\221\0\7" "\214\0\0\0\0\203\0\221\0\7\210\0\0\0\377\211\0\221\0\7\216\0\0\0\0\211" "\0\0\0\377\202\0\0\0\0\207\0\221\0\7\214\0\0\0\0\202\0\221\0\7\210\0" "\0\0\377\212\0\221\0\7\214\0\0\0\0\202\0\221\0\7\210\0\0\0\377\212\0" "\221\0\7\214\0\0\0\0\203\0\221\0\7\206\0\0\0\377\213\0\221\0\7\214\0" "\0\0\0\204\0\221\0\7\203\0\0\0\377\215\0\221\0\7\206\0\0\0\0"}; nted-1.10.18/icons/drum4_icon_small.h0000664001041000007640000000237711520270060014255 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum4_icon_small) #endif #ifdef __GNUC__ static const guint8 drum4_icon_small[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum4_icon_small[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (255) */ "\0\0\1\27" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (64) */ "\0\0\0@" /* width (16) */ "\0\0\0\20" /* height (16) */ "\0\0\0\20" /* pixel_data: */ "\230\377\377\377\0\1\0\0\0\1\217\377\377\377\0\3\0\0\0\204\0\0\0\210" "\0\0\0\10\214\377\377\377\0\5\0\0\0\37\0\0\0\366\0\0\0\377\0\0\0\372" "\0\0\0\203\213\377\377\377\0\1\0\0\0\252\203\0\0\0\377\1\0\0\0k\212\377" "\377\377\0\1\0\0\0>\203\0\0\0\377\2\0\0\0\322\0\0\0\5\211\377\377\377" "\0\2\0\0\0\3\0\0\0\316\203\0\0\0\377\1\0\0\0E\212\377\377\377\0\1\0\0" "\0e\203\0\0\0\377\1\0\0\0\261\212\377\377\377\0\2\0\0\0\17\0\0\0\352" "\202\0\0\0\377\2\0\0\0\367\0\0\0$\212\377\377\377\0\1\0\0\0\216\203\0" "\0\0\377\1\0\0\0\211\212\377\377\377\0\2\0\0\0\2\0\0\0\261\202\0\0\0" "\377\2\0\0\0\347\0\0\0\16\214\377\377\377\0\3\0\0\0H\0\0\0\331\0\0\0" "a\216\377\377\377\0\2\0\0\0\5\0\0\0\2\270\377\377\377\0"}; nted-1.10.18/icons/bow_down_icon.png0000664001041000007640000000061111520267227014205 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ "*"©{– IDATXÃí–½NQ…¿Cˆ$„@#5”V´VHâKè+Pû>‚¼µ±3–N‹Mˆ…ú8®‰ÍîÞýs î$Ó™ûåÞ™Ü#3£Ê¨»ˆ$=gúïÍì<7@xx¿²ãإз€q¢ÊÌ€‘‹öOMÿ§}¼®FÅá<€ëÞ¯){¿W…¬¡ÃÊÍ€a–Ú¢ž`tüzà<ÀqHjKêþ+€¤†¤[IK` ¼K $ÝK:ÍEàðÕ ˜‘kà#­kþMCr’¨è•ýšO`SÀøNÐ<˜ÙK)3ÎÁ]Ì ,“ÌvΠ\À øæÀhæñ“ÀtªµìIiZIEND®B`‚nted-1.10.18/icons/mordent_icon.h0000664001041000007640000000521511520270060013474 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (mordent_icon) #endif #ifdef __GNUC__ static const guint8 mordent_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 mordent_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (763) */ "\0\0\3\23" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\217\377\377\377\0\2\0\0\0\10\0\0\0\30\233\377\377\377\0\7\0\0\0/\0\0" "\0\21\377\377\377\0\0\0\0""6\0\0\0\243\0\0\0&\0\0\0\32\230\377\377\377" "\0\11\0\0\0=\0\0\0\362\0\0\0\277\0\0\0\11\0\0\0""6\0\0\0\363\0\0\0\356" "\0\0\0\320\0\0\0\30\226\377\377\377\0\2\0\0\0\16\0\0\0\353\202\0\0\0" "\377\2\0\0\0f\0\0\0""6\203\0\0\0\377\5\0\0\0\330\0\0\0\10\0\0\0""5\0" "\0\0=\0\0\0\2\222\377\377\377\0\1\0\0\0\245\203\0\0\0\377\2\0\0\0\372" "\0\0\0\312\204\0\0\0\377\4\0\0\0\220\0\0\0\350\0\0\0\341\0\0\0\7\221" "\377\377\377\0\3\0\0\0[\0\0\0\370\0\0\0\313\204\0\0\0\377\1\0\0\0\375" "\204\0\0\0\377\2\0\0\0\375\0\0\0;\222\377\377\377\0\4\0\0\0S\0\0\0\257" "\0\0\0\17\0\0\0\263\203\0\0\0\377\2\0\0\0\243\0\0\0\232\203\0\0\0\377" "\1\0\0\0\201\226\377\377\377\0\12\0\0\0\15\0\0\0\324\0\0\0\377\0\0\0" "\334\0\0\0\243\0\0\0\5\0\0\0\232\0\0\0\377\0\0\0\312\0\0\0\26\227\377" "\377\377\0\10\0\0\0;\0\0\0\201\0\0\0@\0\0\0\243\377\377\377\0\0\0\0\6" "\0\0\0r\0\0\0\23\232\377\377\377\0\2\0\0\0,\0\0\0\205\301\377\377\377" "\0\2\0\0\0\227\0\0\0\221\236\377\377\377\0\2\0\0\0\247\0\0\0\240\236" "\377\377\377\0\2\0\0\0\247\0\0\0\240\236\377\377\377\0\2\0\0\0\247\0" "\0\0\240\236\377\377\377\0\2\0\0\0\247\0\0\0\240\236\377\377\377\0\2" "\0\0\0\247\0\0\0\240\236\377\377\377\0\2\0\0\0\247\0\0\0\240\236\377" "\377\377\0\2\0\0\0\247\0\0\0\240\236\377\377\377\0\2\0\0\0\247\0\0\0" "\240\236\377\377\377\0\2\0\0\0\247\0\0\0\240\236\377\377\377\0\2\0\0" "\0\247\0\0\0\240\236\377\377\377\0\2\0\0\0\247\0\0\0\240\236\377\377" "\377\0\2\0\0\0\247\0\0\0\240\231\377\377\377\0\2\0\0\0""2\0\0\0\245\203" "\0\0\0\255\2\0\0\0\343\0\0\0\240\227\377\377\377\0\3\0\0\0\5\0\0\0|\0" "\0\0\365\205\0\0\0\377\1\0\0\0\240\227\377\377\377\0\1\0\0\0\205\207" "\0\0\0\377\1\0\0\0\240\226\377\377\377\0\2\0\0\0\27\0\0\0\356\207\0\0" "\0\377\1\0\0\0\240\226\377\377\377\0\1\0\0\0U\210\0\0\0\377\1\0\0\0s" "\226\377\377\377\0\2\0\0\0J\0\0\0\374\205\0\0\0\377\3\0\0\0\374\0\0\0" "}\0\0\0\1\227\377\377\377\0\2\0\0\0x\0\0\0\344\203\0\0\0\377\2\0\0\0" "\345\0\0\0z\232\377\377\377\0\1\0\0\0\27\203\0\0\0%\1\0\0\0\30\217\377" "\377\377\0"}; nted-1.10.18/icons/drum1_icon_small.png0000664001041000007640000000067211520267227014616 00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ  485¬:IDAT8Ë¥Ó¿KÕQðÏ{»Qd8Ô`–µ5èTÓÝÂA¤Ö–¨þ—ÿ·§†À¡1t+4i©-š¢+‰®iÂëò5ÎýÞ*½p†óœç}Îá9Ï™©_EÄÆpˆíÌüÛEÊÌ®…)|Ä7üÁ/üÄ+Œvp{4Ïc÷«} hâ>c׺0‡E4 ¬…b›x+eóM|ÅÅšh‡@…=ÀF…Oñº§Qݾ­Wþ4›ÞÂûˆ˜¬ñ/c¬¾Óñ ø€<çºU¾à7žàGí¦wXÃË>ƒÃR`#™ù¶¦ìfæ—~û¥‰KxWO31"â{fÕsð¨º4 ãØÀõ~I|ŒO˜Æ…"‰Ã˜­Îîœð£×0EÄʤîUoao2óèwÐ4ž¥þ³Ž“êåâF½ôÉIEND®B`‚nted-1.10.18/icons/color_icon.png0000664001041000007640000000057711520267227013520 00000000000000‰PNG  IHDR  4XÛbKGDÿÿÿ ½§“ pHYs M MÒέNtIME× 0ü4% IDATHÇí–±jA†¿ÕLq*©öŸYv”ˆ¥bD,£€äàÀ‡O;¶è!½ž%`¹d4zöà ¸1ÀúÿÑxƒ!l Ex5˜B Ö¡ÌĬEÝÓêa™ùªò°eæy_?逈˜Çaf¶Ö‰*S°‹_ØÂƒ2øõSñ¶€|Ä&nàÌVq^´†û·pd ø\Nåž ×v'¼iœ)·á'F0gèµ~ JÐÉR€0{¥Knã5öj†ÓÆ1Š=ÌâÞáe xÐ÷)VöEàMf^´Ñ~2åd~›[‚IEND®B`‚nted-1.10.18/icons/bow_up_icon.png0000664001041000007640000000072111520267227013664 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ !±9ZQIDATXÃí–»JCA„¿‰b!ˆV‘€¨((vJlv6V¾O^ÁN;ŸC+Ó©ÅR Þ AŒÊX¸og79"ä‡mœÙo÷ŸÝÙ¦%i¸´ÝÎò_!aª¤ÍwŸv€¬:…„E_ËfXêyÔ€IÃÀ<ð œå p¼³@8¶ý˜@0Û P µB¢ùëaòrLÿ»°¬s±J¹$M„Óp Œ;Bl0q®€ÐtäJ’l[Ò!ЈÕHÝŽÿà8öQ·£`ÊU fû!¯cø±¶bž÷@rõú}€>ÀÿÐ[JªH*IÈ @Ò°Ü…Hv 4$­Å†Š_ ?O@˜Î¢™5¬“ßd‹LÏZpÿÓsl»ÕË »_´à(fѳ @ŒUà(ô¼ lSYµló ÎM2Iý· ›IEND®B`‚nted-1.10.18/icons/alto_clef_icon.h0000664001041000007640000001236711520270060013762 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (alto_clef_icon) #endif #ifdef __GNUC__ static const guint8 alto_clef_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 alto_clef_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1726) */ "\0\0\6\326" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\377\377\377\377\0\211\377\377\377\0\17\0\0\0h\0\0\0\314\0\4%\310\0\15" "@\24\227\27\0q\0\6c\203\377\377\377\0\325\252\0\6T2\0=\34\16\0\224\3" "\1\0\257\0\10\23\244\0\24+p\0""9`(\0\252\377\3\221\377\377\377\0\20\0" "\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26\0\214\0\5c\243\377\377\377" "\0l:\0m\30\12\0\351\0\15%\325\0\22#f%\25\0n\33\13\0\311\0\7\25\332\0" "*Ys\0j\277\14\220\377\377\377\0\21\0\0\0\202\0\0\0\377\0\5%\372\0\12" "G\31\227\26\0\214\0\5c\243\377\377\377\0;\22\0\355\0\0\0\377\0\7\17\370" "\0Cx\206\377\377\377\0\241i\0.9\34\0\352\0\3\12\367\0""9^\202\0\252\343" "\11\217\377\377\377\0\10\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26" "\0\214\0\5c\243\346\314\0\12\5\1\0\371\202\0\0\0\377\7\0\5%\353\377\377" "\377\0\377\200\0\2K\33\0{\13\1\0\375\0\6\34\372\0\\\207H\217\377\377" "\377\0\13\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26\0\214\0\5c\243" "\377\377\377\0S!\0\271\5\2\0\354\0\4\11\350\0\37O\256\202\377\377\377" "\0\4\265J\0`\40\15\0\367\0\0\0\377\0B\221\253\217\377\377\377\0\13\0" "\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26\0\214\0\5c\243\377\377\377" "\0k6\0\23\37\15\0:\0\17'4\0Im\16\202\377\377\377\0\4\322\220\0U\"\27" "\0\362\0\0\0\377\0\37\210\277\217\377\377\377\0\11\0\0\0\202\0\0\0\377" "\0\5%\372\0\12G\31\227\26\0\214\0\5c\243\377\377\377\0\0:Q\26\0F\242" "\26\204\377\377\377\0\4\316\177\0X\"\25\0\363\0\0\0\377\0O\225\256\217" "\377\377\377\0\11\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26\0\214" "\0\5c\243\377\377\0\1V+\0\317\0.Z\265\204\377\377\377\0\4\221'\0h\34" "\7\0\372\0\1\14\375\0a\200T\217\377\377\377\0\12\0\0\0\202\0\0\0\377" "\0\5%\372\0\12G\31\227\26\0\214\0\5c\243\262n\0V\13\2\0\373\0\4\20\371" "\0\210\305>\202\377\377\377\0\5\277\177\0\10E&\0\234\3\0\1\375\0!E\320" "\0N\235\32\217\377\377\377\0\21\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31" "\227\26\0\214\2\0H\247A\37\0\267\1\0\0\377\0\2\7\375\0\31D\244\0j\252" "\30@@\0\4\212M\0L\40\16\0\365\0\10\26\352\0F\200L\0\377\377\1\217\377" "\377\377\0\17\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26\0\214\21\0" ",\343\34\10\0\371\0\1\2\377\0-]\265f.\0\233\0\4\13\302\20\12\0\256\12" "\3\0\354\0\23(\312\0K\210G\221\377\377\377\0\17\0\0\0\202\0\0\0\377\0" "\5%\372\0\12G\31\227\26\0\214\7\0\2\373\0\0\0\377\0\22&\345\0N\230>t" "F\0\13F!\0>\0\0\3[\0\33\77A\0""9c\22\0\200\377\2\221\377\377\377\0\16" "\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26\0\214\7\0\5\372\1\0\0\377" "\0\31&\326\0\202\276+\377\200\0\2D\"\0\17\0\0\0\27\0\36<\21\0\252\377" "\3\222\377\377\377\0\17\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26" "\0\214\21\0""6\333$\14\0\367\0\2\15\375\0@i\203oF\0L\37\17\0\300\0\0" "\0\332\0\10\22\310\0$Kw\0D\210\17\221\377\377\377\0\20\0\0\0\202\0\0" "\0\377\0\5%\372\0\12G\31\227\26\0\214\0\0H\246<\34\0\266\1\0\0\377\0" "\10'\365\36\0\4\264\0:kOp=\0\31N%\0\217\13\1\0\372\0\40\77\302\0h\277" "\40\220\377\377\377\0\21\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26" "\0\214\0\5c\243\256e\0e\5\2\0\375\0\1\4\375\0T\233s\0\200\377\2\377\377" "\377\0\256y\0\23E)\0\300\0\0\3\372\0*M\236\0v\304\15\217\377\377\377" "\0\12\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26\0\214\0\5c\243\325" "\325\0\6D\27\0\347\0\27@\346\0\314\346\12\203\377\377\377\0\4n\27\0m" "\25\4\0\374\0\14#\367\0>m1\217\377\377\377\0\11\0\0\0\202\0\0\0\377\0" "\5%\372\0\12G\31\227\26\0\214\0\5c\243\377\377\377\0FC\0L\0JoE\204\377" "\377\377\0\4\306o\0Z!\23\0\364\0\0\0\377\0i\230\227\217\377\377\377\0" "\12\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26\0\214\0\5c\243\377\377" "\377\0\0\200\377\2\0\0\0\6\0@\277\4\203\377\377\377\0\4\332\245\0R\"" "\32\0\360\0\0\0\377\0)\214\274\217\377\377\377\0\13\0\0\0\202\0\0\0\377" "\0\5%\372\0\12G\31\227\26\0\214\0\5c\243\377\377\377\0i<\0k\16\5\0\273" "\0\7\22\265\0""6cd\202\377\377\377\0\4\313z\0X\"\24\0\363\0\0\0\377\0" ")\213\273\217\377\377\377\0\10\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31" "\227\26\0\214\0\5c\243\377\377\377\0,\11\0\363\202\0\0\0\377\1\0\4\33" "\354\202\377\377\377\0\4~\35\0i\30\6\0\373\0\0\1\377\0d\217}\217\377" "\377\377\0\21\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26\0\214\0\5" "c\243\377\377\377\0*\6\0\364\0\0\0\377\0\0\1\377\0#X\303\377\377\377" "\0\244m\0\16E(\0\275\0\0\1\376\0\32\77\321\0B\227\33\217\377\377\377" "\0\21\0\0\0\202\0\0\0\377\0\5%\372\0\12G\31\227\26\0\214\0\5c\243\377" "\377\377\0k;\0\254\7\2\0\374\0\17&\336\0""5]R&\23\0(K+\0\216\12\2\0\371" "\0\17\40\327\0T\221C\0\377\377\2\217\377\377\377\0\17\0\0\0}\0\0\0\365" "\0\5%\360\0\13@\30\227\27\0\207\0\5c\235\377\377\377\0\200D\0\36C!\0" "\253\0\1\7\350\0\2\6\323\11\5\0\333\0\1\2\352\0\32""4\260\0G\2046\221" "\377\377\377\0\6\0\0\0\36\0\0\0;\0\4#:\0\0U\6\233\27\0!\0\7e&\202\377" "\377\377\0\5\377\0\0\1T&\0=\20\5\0a\0\16\34\\\0,d.\353\377\377\377\0"}; nted-1.10.18/icons/dcross_icon.h0000664001041000007640000000300111520270060013310 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (dcross_icon) #endif #ifdef __GNUC__ static const guint8 dcross_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 dcross_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (290) */ "\0\0\1:" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\377\377\377\377\0\377\377\377\377\0\377\377\377\377\0\215\377\377\377" "\0\1\0\0\0\377\202\377\377\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0" "\0\377\202\377\377\377\0\1\0\0\0\377\225\377\377\377\0\203\0\0\0\377" "\204\377\377\377\0\203\0\0\0\377\226\377\377\377\0\203\0\0\0\377\204" "\377\377\377\0\203\0\0\0\377\225\377\377\377\0\205\0\0\0\377\202\377" "\377\377\0\205\0\0\0\377\227\377\377\377\0\202\0\0\0\377\202\377\377" "\377\0\202\0\0\0\377\234\377\377\377\0\202\0\0\0\377\236\377\377\377" "\0\202\0\0\0\377\234\377\377\377\0\202\0\0\0\377\202\377\377\377\0\202" "\0\0\0\377\227\377\377\377\0\205\0\0\0\377\202\377\377\377\0\205\0\0" "\0\377\225\377\377\377\0\203\0\0\0\377\204\377\377\377\0\203\0\0\0\377" "\226\377\377\377\0\203\0\0\0\377\204\377\377\377\0\203\0\0\0\377\225" "\377\377\377\0\1\0\0\0\377\202\377\377\377\0\1\0\0\0\377\204\377\377" "\377\0\1\0\0\0\377\202\377\377\377\0\1\0\0\0\377\377\377\377\377\0\377" "\377\377\377\0\214\377\377\377\0"}; nted-1.10.18/icons/drum10_icon.png0000664001041000007640000000066011520267227013503 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ  6I„pE0IDATXÃíÒ1JAÆñÿd±°¦°Oå ”µ´±ÑB¼@ö ’Î ¤6µ ZX*x;Oa©¢ ȳ™À ›Éì¸f``™}¼÷{'3£‹#©föŠëÑÝ9Ζu ˆ:ÿ ©ø3€¤-àQRµr€¤pì’F+¸Îï€!ðærLS'ÑKì|œ‡"mfuð|GÞ{é|•{¯€ÉÒ¼ Åkþï¯bÔÀ+nÀy ®üxh 0qIÍ(±þ$,³„càÆ}o·’ʱëÀšC\¶¶„@ÌB“€àØ6íV–ÐC\×!\ñ÷yñØœIŒ½Îw›äk X0 Ké<P3‰¤ÎðW©Ïï7‚ø­Ö IEND®B`‚nted-1.10.18/icons/guitar_note_no_stem_icon.png0000664001041000007640000000056011520267227016436 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ  Ôê¬ÔðIDATXÃí×1JCA‡ñßD!؈ °²6!x ÁÖÒÖ^ [ÁÒ{¤ÐÖ(^A«´"Æf‹W&û/ˆoaa·™ïûïL³‘™Ö¹FÖ¼A`Aào DÄFD\EÄ^u‘̬Þ8Câ§55F-Òq]®÷ú¸)é³ê:•ðC|øŽjj[p‹ír¾ËÌ·Þ†S,Júì´äá[xiôþ¼ ¼Fà¢n _I»˜ø'} Ü7Ò?t_Z|øû½ ðØHÙ|Y ~ ü›½ ‰c¦’2S6— ¬á©¿J9uu©×óÊ5}»åt+"zÃä¼ÑK ¨HçŽÔIEND®B`‚nted-1.10.18/icons/delete_system_icon.h0000664001041000007640000000766111520270060014701 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (delete_system_icon) #endif #ifdef __GNUC__ static const guint8 delete_system_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 delete_system_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1153) */ "\0\0\4\231" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (31) */ "\0\0\0\37" /* pixel_data: */ "\204\377\377\377\0\2\377\0\377b\377\0\377\17\223\377\377\377\0\2\377" "\0\377\3\377\0\377p\211\377\377\377\0\2\377\0\377M\377\0\377\226\223" "\377\377\377\0\2\377\0\377y\377\0\377m\212\377\377\377\0\2\377\0\377" "\236\377\0\377F\221\377\377\377\0\3\377\0\377B\377\0\377\250\377\0\377" "\2\212\377\377\377\0\3\377\0\377\21\377\0\377\306\377\0\377\17\217\377" "\377\377\0\3\377\0\377\27\377\0\377\300\377\0\377\20\206\377\377\377" "\0\1\0\0\0\20\205\0\0\0\37\2\265\0\265g\374\0\374\231\216\0\0\0\37\3" "\20\0\20\40\365\0\365\271\237\0\237R\206\0\0\0\37\2\0\0\0\20\0\0\0D\206" "\0\0\0\201\2\324\0\324\277Y\0Y\264\215\0\0\0\201\2\227\0\227\326\256" "\0\256\236\207\0\0\0\201\2\0\0\0D\0\0\0I\206\0\0\0\214\3!\0!\241\336" "\0\336\337\30\0\30\214\213\0\0\0\214\2t\0t\221\257\0\257\355\210\0\0" "\0\214\2\0\0\0I\0\0\0\13\207\0\0\0\25\2\351\0\351[\344\0\344\241\212" "\0\0\0\25\3\217\0\2170\365\0\365\312\204\0\204\35\210\0\0\0\25\2\0\0" "\0\13\0\0\0T\210\0\0\0\241\2\320\0\320\312R\0R\312\210\0\0\0\241\3\5" "\0\5\244\302\0\302\355H\0H\244\211\0\0\0\241\2\0\0\0T\0\0\0""6\210\0" "\0\0f\3*\0*z\343\0\343\335\36\0\36f\207\0\0\0f\2\330\0\330\236\210\0" "\210\271\212\0\0\0f\2\0\0\0""6\0\0\0\37\211\0\0\0:\2\304\0\304h\313\0" "\313\265\206\0\0\0:\2\215\0\215\202\366\0\366\247\213\0\0\0:\2\0\0\0" "\37\0\0\0T\212\0\0\0\241\2\302\0\302\330N\0N\272\204\0\0\0\241\3*\0*" "\257\336\0\336\335\16\0\16\251\213\0\0\0\241\1\0\0\0T\213\377\377\377" "\0\3\377\0\377\30\377\0\377\302\377\0\377\12\202\377\377\377\0\3\377" "\0\377\7\377\0\377\270\377\0\377-\231\377\377\377\0\2\377\0\377Y\377" "\0\377\213\202\377\377\377\0\2\377\0\377\207\377\0\377_\233\377\377\377" "\0\4\377\0\377\252\377\0\377;\377\0\377N\377\0\377\234\234\377\377\377" "\0\4\377\0\377\30\377\0\377\311\377\0\377\276\377\0\377\13\234\377\377" "\377\0\3\377\0\377\5\377\0\377\305\377\0\377\215\220\377\377\377\0\1" "\0\0\0G\214\0\0\0\210\4\311\0\311\265t\0t\314\273\0\273\346]\0]\216\216" "\0\0\0\210\2\0\0\0G\0\0\0\15\213\0\0\0\31\6\304\0\304g\375\0\375\231" "\0\0\0\31\234\0\234,\357\0\357\3168\0""8\40\215\0\0\0\31\2\0\0\0\15\0" "\0\0T\212\0\0\0\241\3/\0/\277\341\0\341\330\16\0\16\244\202\0\0\0\241" "\2\210\0\210\262\227\0\227\341\215\0\0\0\241\2\0\0\0T\0\0\0""4\211\0" "\0\0b\3\22\0\22b\351\0\351\315F\0F\207\203\0\0\0b\3\5\0\5d\305\0\305" "\342{\0{p\214\0\0\0b\2\0\0\0""4\0\0\0!\211\0\0\0>\2\306\0\306\274\306" "\0\306l\205\0\0\0>\3b\0bF\344\0\344\333\27\0\27D\213\0\0\0>\2\0\0\0!" "\0\0\0T\210\0\0\0\241\2s\0s\301\257\0\257\331\207\0\0\0\241\2x\0x\306" "\233\0\233\324\213\0\0\0\241\2\0\0\0T\0\0\0\40\207\0\0\0=\3|\0|N\334" "\0\334\332\23\0\23B\210\0\0\0=\2\326\0\326\317\224\0\224Q\212\0\0\0=" "\2\0\0\0\40\0\0\0""4\206\0\0\0d\3\31\0\31o\327\0\327\343U\0Uf\211\0\0" "\0d\3O\0Og\325\0\325\343\14\0\14i\211\0\0\0d\1\0\0\0""4\207\377\377\377" "\0\2\377\0\377\225\377\0\377P\213\377\377\377\0\2\377\0\377f\377\0\377" "\177\220\377\377\377\0\2\377\0\377\\\377\0\377\214\214\377\377\377\0" "\3\377\0\377\3\377\0\377\264\377\0\377/\216\377\377\377\0\3\377\0\377" "(\377\0\377\272\377\0\377\7\215\377\377\377\0\3\377\0\377\37\377\0\377" "\302\377\0\377\5\215\377\377\377\0\2\377\0\377\255\377\0\377\36\217\377" "\377\377\0\2\377\0\377c\377\0\377\201\215\377\377\377\0\1\377\0\377\11" "\220\377\377\377\0\3\377\0\377\1\377\0\377\262\377\0\377*\236\377\377" "\377\0\2\377\0\377%\377\0\377L\207\377\377\377\0"}; nted-1.10.18/icons/drum1_icon.png0000664001041000007640000000076711520267227013433 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIME×  '. wIDATXÃí׿«OqÇñÇ E‘ÅàG7¦›d±ÝUú¦kµH·¬Â¢ü6‹É`3nlÜ”DîeP”I)E¤ëÇÄäG½-G};ÝÜss¾,ç]Ÿáóú¼û|žçý~Ó礪ôIöâkU½_-wÉÄ)Œº$N  s À0 Àðß6üÅ­g3¦ðïªêÇ?©@’Q’{x‚çxŒ—I®$Ù3Q€$qç«j?–1i,b!Éh"-Hr;1[U?Çךùõ$‹XÀ<ë­Iva'Û‡·@Þâ õÝ‚ã¸ÚÅhUõúnÁ n'9ØÒ7aj}¹³ ªjÕ;¨5Ž]öîZO8†W-ýàRK?Ï}¶à.¶WÕ|Ëœß𱪞¶ôi,õi˜K²¥Ã3‹Uõ¥74>8Ò€lÓ^ãòØ|_óäÛ:ïÛ5±9à(îã0ÖÿÀVœmÖv¯eϬõ÷<ÉŽÆd38Ðô nâÚŸ>T+Å/¾É3a·'AIEND®B`‚nted-1.10.18/icons/signs.png0000664001041000007640000000422411520267227012506 00000000000000‰PNG  IHDR¢*0€®sRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÙ +´ZtIDATxÚíœyPW€¿á˜QD¸ÞJQY5^Áh²Fݤ6Á£®1Æka¥ÔˆJ¢WA ¸êb„hÔH°ˆ"¬E¼å‰€a˜afÿ˜†ÒJÕº,=R﫚*æuOϯýõ{¿×݃,!!Á››‹‡‡¦Hqq1:NÄ×Áã³ÈÉÉ!//{{{“ 4??F#âëàñYxxxààà@tt´ICMMˆ¯ƒÇg†@`BD@ˆ(" BDQ h7õšêš ¦·§ÝïÇu· €¢âZaEG±(õU" ªMf›5wY1oVJ:)­ʉ»uO¬W‘³wOO>É©Vˆ¡¹í{ÁFøsð>{/=@£ù™¥C®0¥ÿHrë´WÓ7>m½Þ!ifoaÅó.bó/÷¹–_CaÞM4&0:?¸Éæ‹• X²›‰ÞöÈÌUheö4Õå1;<£e½üø R+šˆ9-Šæç]Äô¿¿‡›?¾.äZ\Î=_bkF™¤;W”x€Îƒ; ©É $ö¥é1hë/1uQ½_O"¬­0âyñüÆÉL[žÊ¶¼‹$¬Âä„ãd­ñà½ñýÙu»Fºú°±Ù8 Ùw…íH&:[`®èÀ¿æÏ Wíœ!lxîžÚAà‘ÉdO¼¦ž¯h?µõ—¿ø.~_2Ñź¥½h"• ¼?q¹dIêù'cÏxp.gj4 SpøÆyR’ör6/Š˜“\Șui RY «þKÎl~ ¯À|íçßíÚEÄ[ÿç¡VOŸùCZ/ɉènCMÁf¶•×K’(—QÛñ³UЬ)cÒ°Ù\¬Ö ·óáàÙ p°dù¤Å(œƒH}·Ÿ°ê)ÜÜ­nÕý¶¿°eYÙÉ%¨#wÑl¦bî§Û¸^ñ ƒ¡Õë[?—öñè¦tüäƒ—îžØ¹¯HšºÃґÙq8YšSSpˆ?xÞ8¤¤þ™¸ëU|øÍ6¬ÍdèªÑ›ÀÁ¿²gÃûö@aaŽÊÞ•?Îù˜ :Ib±õ|¡õ±£^oÀ {Èë3>Go0ð×ô«ìZ¹o'¥´5âþûÆÞÎYaþÄ2y¹ñ 'ß’ìÀ: ^Àµì] uT¢©¹BÔL_ú¨'à>=‘î£7²êE'´u¹¸Ù;âû~Žä"Ž}k-ç®—ÑÔ¬§¡ú'÷Å0~«$±t¹Y.ª–÷U' 9PDAr0gipñßÂê nmò]Ïò¡ŠÓ'Èy¤ §¶ €ÜãGIsëDÉ÷¹úði7;‘“e,Vkïì!-ÍXƒ9úŽcx7«ö•qh0çîŽ`UØ\Öì=CaÖq¬{5P¦i¦»•7 Ç5Dúßut•›ñ@Ûº¶ªÈ^D¶02 6$Ï#yôÖV½bY,M •vÖl¦P T*±²z,”¹Ò •J…µ•9æÖ*lll°±6z.3³ÆÎÎ;;;T–í{¥®òÂFüÕ“ÉmvcURyÉgÇ·—áíÀ«Í,û| ó†9J.bzòj†¸ªZµ™+\%‹ÇÅ?Ž0wÛV½â‰ªFTÎ!,ìÕIZ_ö'00qãÆ1ÁÞX R0fÌF½ìˆ÷5 ÿµn´é5µZZ­f€ƒ¢]ÙXYLiy9Õ:cøÝÖ±T vY¶fÔßËâM_bO”šÄ¡×”Å\(©æÆ¿3jc,mœýVHz…oõˆ'Z_ÿ ¿å$ÔÓ€{¿¹eÖ"ÁýFã¤%ØK²4ö¿‘ÂÛxÅ^ɃÜOùèt9¡)iD­I¤8/©>inª`ɤl¿òÐ4¦«2 Üz="¯A‹™e¶ì™&i8NÃÖ²¸o—Vm!ó½LKDÿÕþ”g>yñòÚãà gIÿÖ o lÚºô‹bÇäžØù¼Bêå|èï‚^WEäè™TjMaîl`}Ð|tÈùèë^íj-yD‹-mùÛRÕ…ÝmLKD×À:+¹õő֩l®%®¬§¡+™c‰¼Dj…–ß® ±òG¢ÂÈ?^‚™eWÖ}wš*Kf0;¹PúK8 ³XyÁŠuG®²nF“è¤í}¢ˆöíj¬Gÿ ¦%¢ÌÜŽžˆA_ð KS¯·œÑ§bƒ(1ódϱE’'Q[™)‹2ð ÝOhOvL˜ÎúmÛyoÚpÊ›ô˜+=ùê¾\ˆÎ8Z=i?yröN>Q“Lë¿3D¦§””Ä΄À6ß¶E[lÄÑ7’›Ù.D,šEÀ™|j݇“ï9šc×3ÖÉJò¦Î2Yo.ÇO6Êv¯ÁxÈ›Ê)hÔá"—ã±—Ñ5”K­K¶®Å±ê@pðÿk¯Û¬ }ƒ”S?ñÃn?¦sŽì´Æö´‘ã0÷é¤Q¸¾ÉÁ·½[Zv3°“œ[%%TiõtU|ùî(:¿Ä¾Ø…AD…'nO¹Ý'¥Ç#øªT˲ô8ä¿)®å¶~œ½~бÕ) rëAO÷!œ´™Áé›™â)‰°hë ö˜¸ƒÏLdçzŒ§¶6þ©Ë¬»û±)å{6 :îÐ,BD@ˆ(" BDQ h+dƒÁ Ò ‹ììl233E&ÒŠØØØHUU•È„@RþLÿï(‰²ƒ/IEND®B`‚nted-1.10.18/icons/trill_icon.png0000664001041000007640000000112711520267227013520 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEØ2 *ðhŸtEXtCommentCreated with GIMPW²IDATXÃíÖ;‹TQ ð_ÖÙU,T|±6ê‚"ê‚b¡`g§…‚…Xˆ‚ ~?ƒA,tAÁNDDl¶V×B¬¶|âƒØdaØBçÞg› „snrïÉÿ$¹I"3µ¥ˆ˜ÍÌW ‰–†GÄ®&Z~·³ø¾RNÔzwä"b-¶Ôã·ˆØ'K·'"Ž4:¯Ÿ$Œˆi\Äz¬Ãe|Áã#fp*3 Å1{X—8º¤Â-\ªý&<Ç 3v•ñ™’Ïãa†'Ø]ûO}Ç 3ÿÉØ‰CÅÅp£öW0]ïtú973uú¹ˆÅ ÉÏ?+l[ºufvÑm’„þ )Ü)×ÿÀëQÕ›µ.dæS<ÀýÌ|Ѫª6í± [ÑÍAI[dæïÌ|×k<"NGĵQ–âå´½²ÅŒ¼ŒŒŒ ·ãˆXƒÃ8ÉïÅ×Vú\ª÷LâvÏDÔË›œÕh"ª›ObgW*Ž ÛxSÿ¢û…ëÿ5°¹Ó屋3m⟙ÍF²ˆØ€s=Þxƒ¹Ì|ß6 Ò8ð/–eIEND®B`‚nted-1.10.18/icons/drum8_icon.png0000664001041000007640000000043211520267227013427 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ  9ò>šIDATXÃí×1 Â@„á$XØx[ KÓxk“ÖëÙ™J«\`lR-—˜`3ËÂÛeùX^ód›¥#©¶‡ow7¬“8Õ\\ P € €ÙI¤ƒ¤í¿~àNAjoc)ÐIEND®B`‚nted-1.10.18/icons/backgroundv2.h0000664001041000007640000036002111520270060013402 00000000000000/* GdkPixbuf RGB C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (backgroundv2) #endif #ifdef __GNUC__ static const guint8 backgroundv2[] __attribute__ ((__aligned__ (4))) = #else static const guint8 backgroundv2[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (29869) */ "\0\0t\305" /* pixdata_type (0x2010001) */ "\2\1\0\1" /* rowstride (384) */ "\0\0\1\200" /* width (128) */ "\0\0\0\200" /* height (256) */ "\0\0\1\0" /* pixel_data: */ "\2{\212\250\270\270\314\202\267\267\314\203\270\270\314\204\270\270\315" "\203\271\271\315\203\271\271\316\203\272\272\316\203\272\272\317\203" "\273\273\317\203\273\273\320\202\274\274\320\203\274\274\321\202\275" "\275\321\203\275\275\322\202\276\276\322\203\276\276\323\202\277\277" "\323\203\277\277\324\202\300\300\324\203\300\300\325\202\301\301\325" "\203\301\301\326\202\302\302\326\202\302\302\327\203\303\303\327\202" "\303\303\330\203\304\304\330\202\304\304\331\203\305\305\331\203\305" "\305\332\202\306\306\332\203\306\306\333\202\307\307\333\204\307\307" "\334\202\310\310\334\204\310\310\335\203\311\311\335\204\311\311\336" "\203\312\312\336\205\312\312\337\203\313\313\337\3\311\312\336\257\265" "\316\244\254\306\204\244\255\307\1\252\262\313\205\260\266\316\3\261" "\267\317{\212\250\270\270\314\202\267\267\314\203\270\270\314\204\270" "\270\315\203\271\271\315\203\271\271\316\203\272\272\316\203\272\272" "\317\202\273\273\317\204\273\273\320\202\274\274\320\203\274\274\321" "\202\275\275\321\203\275\275\322\202\276\276\322\203\276\276\323\202" "\277\277\323\203\277\277\324\202\300\300\324\203\300\300\325\202\301" "\301\325\203\301\301\326\202\302\302\326\202\302\302\327\203\303\303" "\327\202\303\303\330\203\304\304\330\202\304\304\331\203\305\305\331" "\202\305\305\332\203\306\306\332\203\306\306\333\202\307\307\333\203" "\307\307\334\203\310\310\334\204\310\310\335\203\311\311\335\203\311" "\311\336\204\312\312\336\205\312\312\337\204\313\313\337\207\313\313" "\340\205\314\314\340\3\316\316\343{\212\250\270\270\314\202\267\267\314" "\203\270\270\314\204\270\270\315\203\271\271\315\203\271\271\316\203" "\272\272\316\203\272\272\317\202\273\273\317\203\273\273\320\203\274" "\274\320\203\274\274\321\202\275\275\321\203\275\275\322\202\276\276" "\322\203\276\276\323\202\277\277\323\203\277\277\324\202\300\300\324" "\203\300\300\325\202\301\301\325\203\301\301\326\202\302\302\326\202" "\302\302\327\203\303\303\327\202\303\303\330\202\304\304\330\203\304" "\304\331\202\305\305\331\203\305\305\332\203\306\306\332\203\306\306" "\333\202\307\307\333\203\307\307\334\203\310\310\334\204\310\310\335" "\202\311\311\335\204\311\311\336\204\312\312\336\205\312\312\337\204" "\313\313\337\207\313\313\340\205\314\314\340\3\316\316\343{\212\250\270" "\270\314\202\267\267\314\203\270\270\314\204\270\270\315\203\271\271" "\315\203\271\271\316\203\272\272\316\203\272\272\317\202\273\273\317" "\204\273\273\320\202\274\274\320\203\274\274\321\202\275\275\321\203" "\275\275\322\202\276\276\322\203\276\276\323\203\277\277\323\202\277" "\277\324\203\300\300\324\202\300\300\325\202\301\301\325\203\301\301" "\326\202\302\302\326\203\302\302\327\202\303\303\327\203\303\303\330" "\202\304\304\330\205\304\304\331\202\305\305\331\204\305\305\332\202" "\306\306\332\204\306\306\333\202\307\307\333\204\307\307\334\203\310" "\310\334\204\310\310\335\203\311\311\335\206\311\311\336\204\312\312" "\336\206\312\312\337\204\312\312\336\1\313\313\337\202\314\314\340\3" "\316\316\343{\212\250\270\270\314\202\267\267\314\4\270\270\314\266\266" "\313\263\263\307\267\267\314\205\271\271\316\1\271\271\317\211\272\272" "\317\203\272\272\320\211\273\273\320\202\273\273\321\211\274\274\321" "\202\274\274\322\211\275\275\322\202\275\275\323\211\276\276\323\202" "\276\276\324\204\277\277\324\1\276\276\324\202\276\276\323\205\276\276" "\324\213\277\277\324\206\277\277\325\217\300\300\325\205\300\300\326" "\1\300\300\325\203\277\277\324\7\277\277\325\303\303\330\312\312\337" "\314\314\340\316\316\343{\212\250\270\270\314\202\267\267\314\5\270\270" "\315\261\261\304\241\241\264\247\247\273\264\264\311\362\272\272\320" "\7\273\273\321\275\275\323\306\306\333\314\314\340\316\316\343{\212\250" "\270\270\314\203\267\267\314\5\246\246\271\224\224\245\230\230\251\244" "\244\267\264\264\311\357\272\272\320\1\273\273\320\202\273\273\321\6" "\270\270\315\276\276\323\313\313\337\316\316\343{\212\250\270\270\314" "\202\267\267\314\7\265\265\312\227\227\250\202\202\221\214\214\234\226" "\226\247\244\244\267\264\264\311\355\272\272\320\202\273\273\321\10\271" "\271\316\263\263\310\255\255\301\267\267\313\312\312\336\316\316\343" "{\212\250\270\270\314\202\267\267\314\10\266\266\312\223\223\244xx\206" "||\213\206\206\225\221\221\242\243\243\266\264\264\311\353\272\272\320" "\13\273\273\320\271\271\317\265\265\312\256\256\302\252\252\276\250\250" "\274\266\266\312\312\312\336\316\316\343{\212\250\270\270\314\202\267" "\267\314\12\266\266\312\224\224\244xx\206ww\205yy\207~~\215\211\211\232" "\237\237\261\263\263\310\273\273\320\350\272\272\320\5\271\271\317\265" "\265\312\260\260\304\253\253\277\251\251\274\202\250\250\274\5\266\266" "\312\312\312\336\316\316\343{\212\250\270\270\314\202\267\267\314\3\266" "\266\312\224\224\244xx\206\203ww\205\4yy\207\202\202\221\227\227\251" "\260\260\305\250\272\272\320\225\273\273\320\217\273\273\321\233\274" "\274\321\4\267\267\314\261\261\305\253\253\277\251\251\274\204\250\250" "\274\5\266\266\312\312\312\336\316\316\343{\212\250\270\270\314\202\267" "\267\314\3\266\266\312\224\224\244xx\206\205ww\205\3{{\212\226\226\247" "\265\265\312\211\272\272\317\1\272\272\320\210\273\273\320\210\274\274" "\321\207\275\275\322\210\276\276\323\207\277\277\324\210\300\300\325" "\205\301\301\326\204\302\302\327\207\303\303\330\1\304\304\330\210\304" "\304\331\1\305\305\331\211\305\305\332\1\306\306\332\211\306\306\333" "\3\303\303\330\263\263\307\251\251\275\206\250\250\274\5\266\266\312" "\312\312\336\316\316\342{\212\250\270\270\314\202\267\267\314\3\266\266" "\312\224\224\244xx\206\205ww\205\3ww\204\213\213\233\263\263\307\202" "\271\271\316\203\272\272\316\203\272\272\317\203\273\273\317\203\273" "\273\320\202\274\274\320\203\274\274\321\202\275\275\321\203\275\275" "\322\202\276\276\322\203\276\276\323\202\277\277\323\203\277\277\324" "\202\300\300\324\203\300\300\325\202\301\301\325\202\301\301\326\202" "\302\302\326\203\302\302\327\202\303\303\327\203\303\303\330\202\304" "\304\330\203\304\304\331\202\305\305\331\203\305\305\332\202\306\306" "\332\203\306\306\333\203\307\307\333\203\307\307\334\203\310\310\334" "\203\310\310\335\203\311\311\335\204\311\311\336\204\312\312\336\204" "\312\312\337\205\313\313\337\3\313\313\340\307\307\334\262\262\306\207" "\250\250\274\5\266\266\312\312\312\336\316\316\342{\212\250\270\270\314" "\202\267\267\314\3\266\266\312\224\224\244xx\206\206ww\205\2\213\213" "\233\263\263\307\202\271\271\316\203\272\272\316\203\272\272\317\203" "\273\273\317\203\273\273\320\202\274\274\320\203\274\274\321\202\275" "\275\321\203\275\275\322\202\276\276\322\203\276\276\323\202\277\277" "\323\203\277\277\324\202\300\300\324\203\300\300\325\202\301\301\325" "\202\301\301\326\203\302\302\326\202\302\302\327\202\303\303\327\203" "\303\303\330\202\304\304\330\203\304\304\331\202\305\305\331\203\305" "\305\332\203\306\306\332\203\306\306\333\202\307\307\333\203\307\307" "\334\203\310\310\334\204\310\310\335\203\311\311\335\204\311\311\336" "\203\312\312\336\205\312\312\337\205\313\313\337\2\307\307\334\262\262" "\306\207\250\250\274\5\266\266\312\312\312\336\316\316\342{\212\250\270" "\270\314\202\267\267\314\3\266\266\312\224\224\244xx\206\206ww\205\2" "\213\213\233\263\263\307\202\271\271\316\203\272\272\316\203\272\272" "\317\203\273\273\317\203\273\273\320\202\274\274\320\203\274\274\321" "\202\275\275\321\203\275\275\322\202\276\276\322\203\276\276\323\202" "\277\277\323\203\277\277\324\202\300\300\324\203\300\300\325\202\301" "\301\325\202\301\301\326\203\302\302\326\202\302\302\327\202\303\303" "\327\203\303\303\330\202\304\304\330\203\304\304\331\202\305\305\331" "\203\305\305\332\203\306\306\332\203\306\306\333\202\307\307\333\203" "\307\307\334\203\310\310\334\204\310\310\335\203\311\311\335\204\311" "\311\336\203\312\312\336\206\312\312\337\204\313\313\337\2\307\307\334" "\262\262\306\207\250\250\274\5\266\266\312\312\312\336\316\316\342{\212" "\250\270\270\314\202\267\267\314\3\266\266\312\224\224\244xx\206\206" "ww\205\2\213\213\233\263\263\307\202\271\271\316\203\272\272\316\203" "\272\272\317\203\273\273\317\203\273\273\320\202\274\274\320\203\274" "\274\321\202\275\275\321\203\275\275\322\202\276\276\322\203\276\276" "\323\202\277\277\323\203\277\277\324\202\300\300\324\203\300\300\325" "\202\301\301\325\203\301\301\326\202\302\302\326\202\302\302\327\203" "\303\303\327\202\303\303\330\202\304\304\330\203\304\304\331\203\305" "\305\331\202\305\305\332\203\306\306\332\203\306\306\333\202\307\307" "\333\204\307\307\334\202\310\310\334\204\310\310\335\203\311\311\335" "\204\311\311\336\204\312\312\336\205\312\312\337\204\313\313\337\2\307" "\307\334\262\262\306\207\250\250\274\5\266\266\312\312\312\336\316\316" "\342{\212\250\270\270\314\202\267\267\314\3\266\266\312\224\224\244x" "x\206\206ww\205\2\213\213\233\263\263\307\203\271\271\316\202\272\272" "\316\203\272\272\317\203\273\273\317\203\273\273\320\202\274\274\320" "\203\274\274\321\202\275\275\321\203\275\275\322\202\276\276\322\203" "\276\276\323\202\277\277\323\203\277\277\324\202\300\300\324\203\300" "\300\325\202\301\301\325\203\301\301\326\202\302\302\326\202\302\302" "\327\203\303\303\327\202\303\303\330\203\304\304\330\202\304\304\331" "\203\305\305\331\203\305\305\332\202\306\306\332\203\306\306\333\202" "\307\307\333\204\307\307\334\202\310\310\334\204\310\310\335\203\311" "\311\335\204\311\311\336\204\312\312\336\205\312\312\337\204\313\313" "\337\2\307\307\334\262\262\306\207\250\250\274\5\266\266\312\312\312" "\336\316\316\342{\212\250\270\270\314\202\267\267\314\3\266\266\312\224" "\224\244xx\206\206ww\205\2\213\213\233\263\263\307\203\271\271\316\202" "\272\272\316\203\272\272\317\203\273\273\317\203\273\273\320\202\274" "\274\320\203\274\274\321\202\275\275\321\203\275\275\322\202\276\276" "\322\203\276\276\323\202\277\277\323\203\277\277\324\202\300\300\324" "\203\300\300\325\202\301\301\325\203\301\301\326\202\302\302\326\203" "\302\302\327\202\303\303\327\202\303\303\330\203\304\304\330\202\304" "\304\331\203\305\305\331\203\305\305\332\202\306\306\332\203\306\306" "\333\203\307\307\333\203\307\307\334\203\310\310\334\203\310\310\335" "\203\311\311\335\205\311\311\336\203\312\312\336\205\312\312\337\204" "\313\313\337\2\307\307\334\262\262\306\207\250\250\274\5\266\266\312" "\312\312\336\316\316\342{\212\250\270\270\314\202\267\267\314\3\266\266" "\312\224\224\244xx\206\206ww\205\2\213\213\233\263\263\307\203\271\271" "\316\202\272\272\316\203\272\272\317\203\273\273\317\203\273\273\320" "\202\274\274\320\203\274\274\321\202\275\275\321\203\275\275\322\202" "\276\276\322\203\276\276\323\202\277\277\323\203\277\277\324\202\300" "\300\324\203\300\300\325\202\301\301\325\203\301\301\326\202\302\302" "\326\203\302\302\327\202\303\303\327\203\303\303\330\202\304\304\330" "\203\304\304\331\202\305\305\331\203\305\305\332\202\306\306\332\203" "\306\306\333\203\307\307\333\203\307\307\334\203\310\310\334\203\310" "\310\335\203\311\311\335\205\311\311\336\203\312\312\336\206\312\312" "\337\203\313\313\337\2\307\307\334\262\262\306\207\250\250\274\4\266" "\266\312\312\312\336\315\315\342{\212\250\203\267\267\314\3\266\266\312" "\224\224\244xx\206\206ww\205\2\213\213\233\263\263\307\203\271\271\316" "\202\272\272\316\204\272\272\317\202\273\273\317\203\273\273\320\202" "\274\274\320\203\274\274\321\203\275\275\321\202\275\275\322\203\276" "\276\322\202\276\276\323\202\277\277\323\203\277\277\324\202\300\300" "\324\203\300\300\325\202\301\301\325\203\301\301\326\202\302\302\326" "\203\302\302\327\202\303\303\327\203\303\303\330\202\304\304\330\203" "\304\304\331\202\305\305\331\203\305\305\332\202\306\306\332\203\306" "\306\333\203\307\307\333\203\307\307\334\203\310\310\334\204\310\310" "\335\203\311\311\335\204\311\311\336\204\312\312\336\205\312\312\337" "\203\313\313\337\2\307\307\334\262\262\306\207\250\250\274\4\266\266" "\312\312\312\336\315\315\342{\212\250\203\267\267\314\3\266\266\312\224" "\224\244xx\206\206ww\205\2\213\213\233\263\263\307\203\271\271\316\202" "\272\272\316\204\272\272\317\202\273\273\317\203\273\273\320\202\274" "\274\320\203\274\274\321\203\275\275\321\202\275\275\322\203\276\276" "\322\202\276\276\323\203\277\277\323\202\277\277\324\202\300\300\324" "\203\300\300\325\202\301\301\325\203\301\301\326\202\302\302\326\203" "\302\302\327\202\303\303\327\203\303\303\330\202\304\304\330\203\304" "\304\331\202\305\305\331\203\305\305\332\202\306\306\332\204\306\306" "\333\202\307\307\333\203\307\307\334\203\310\310\334\204\310\310\335" "\203\311\311\335\204\311\311\336\204\312\312\336\206\312\312\337\202" "\313\313\337\2\307\307\334\262\262\306\207\250\250\274\4\266\266\312" "\312\312\336\315\315\342{\212\247\203\267\267\314\3\266\266\312\224\224" "\244xx\206\206ww\205\2\213\213\233\263\263\307\203\271\271\316\203\272" "\272\316\203\272\272\317\202\273\273\317\203\273\273\320\203\274\274" "\320\202\274\274\321\203\275\275\321\203\275\275\322\202\276\276\322" "\203\276\276\323\202\277\277\323\202\277\277\324\203\300\300\324\202" "\300\300\325\202\301\301\325\203\301\301\326\202\302\302\326\203\302" "\302\327\202\303\303\327\203\303\303\330\202\304\304\330\203\304\304" "\331\202\305\305\331\203\305\305\332\203\306\306\332\203\306\306\333" "\202\307\307\333\204\307\307\334\202\310\310\334\204\310\310\335\203" "\311\311\335\205\311\311\336\204\312\312\336\205\312\312\337\202\313" "\313\337\2\307\307\334\262\262\306\207\250\250\274\4\266\266\312\312" "\312\336\315\315\342{\212\247\203\267\267\314\3\265\265\312\224\224\244" "xx\206\206ww\205\2\213\213\233\263\263\307\203\271\271\316\203\272\272" "\316\203\272\272\317\202\273\273\317\203\273\273\320\203\274\274\320" "\203\274\274\321\202\275\275\321\203\275\275\322\202\276\276\322\203" "\276\276\323\202\277\277\323\203\277\277\324\202\300\300\324\202\300" "\300\325\203\301\301\325\202\301\301\326\202\302\302\326\203\302\302" "\327\202\303\303\327\203\303\303\330\202\304\304\330\203\304\304\331" "\202\305\305\331\203\305\305\332\203\306\306\332\203\306\306\333\202" "\307\307\333\204\307\307\334\203\310\310\334\203\310\310\335\204\311" "\311\335\204\311\311\336\204\312\312\336\206\312\312\337\3\313\313\337" "\307\307\333\262\262\306\207\250\250\274\4\266\266\312\311\311\336\315" "\315\342{\212\247\203\267\267\314\3\265\265\312\224\224\244xx\206\206" "ww\205\2\213\213\233\263\263\307\203\271\271\316\203\272\272\316\203" "\272\272\317\202\273\273\317\203\273\273\320\203\274\274\320\203\274" "\274\321\202\275\275\321\203\275\275\322\202\276\276\322\203\276\276" "\323\202\277\277\323\203\277\277\324\202\300\300\324\203\300\300\325" "\202\301\301\325\202\301\301\326\203\302\302\326\202\302\302\327\202" "\303\303\327\203\303\303\330\202\304\304\330\203\304\304\331\203\305" "\305\331\203\305\305\332\202\306\306\332\203\306\306\333\203\307\307" "\333\203\307\307\334\203\310\310\334\204\310\310\335\203\311\311\335" "\205\311\311\336\204\312\312\336\206\312\312\337\2\307\307\333\262\262" "\306\207\250\250\274\4\266\266\312\311\311\336\315\315\342{\212\247\203" "\267\267\314\3\265\265\312\224\224\244xx\206\206ww\205\2\213\213\233" "\263\263\307\203\271\271\316\203\272\272\316\203\272\272\317\203\273" "\273\317\203\273\273\320\202\274\274\320\203\274\274\321\202\275\275" "\321\203\275\275\322\202\276\276\322\203\276\276\323\202\277\277\323" "\203\277\277\324\202\300\300\324\203\300\300\325\202\301\301\325\203" "\301\301\326\202\302\302\326\202\302\302\327\203\303\303\327\202\303" "\303\330\203\304\304\330\202\304\304\331\203\305\305\331\203\305\305" "\332\202\306\306\332\203\306\306\333\203\307\307\333\203\307\307\334" "\203\310\310\334\204\310\310\335\203\311\311\335\205\311\311\336\204" "\312\312\336\206\312\312\337\2\307\307\333\262\262\306\207\250\250\274" "\4\266\266\312\311\311\336\315\315\342{\212\247\203\267\267\314\3\265" "\265\312\224\224\244xx\206\206ww\205\2\213\213\233\263\263\307\203\271" "\271\316\203\272\272\316\203\272\272\317\203\273\273\317\203\273\273" "\320\202\274\274\320\203\274\274\321\202\275\275\321\203\275\275\322" "\202\276\276\322\203\276\276\323\202\277\277\323\203\277\277\324\202" "\300\300\324\203\300\300\325\202\301\301\325\203\301\301\326\202\302" "\302\326\203\302\302\327\202\303\303\327\203\303\303\330\202\304\304" "\330\203\304\304\331\202\305\305\331\203\305\305\332\202\306\306\332" "\204\306\306\333\202\307\307\333\204\307\307\334\203\310\310\334\203" "\310\310\335\204\311\311\335\204\311\311\336\205\312\312\336\205\312" "\312\337\2\307\307\333\262\262\306\207\250\250\274\4\266\266\312\311" "\311\336\315\315\342{\212\247\203\267\267\314\3\265\265\312\224\224\244" "xx\206\206ww\205\2\213\213\233\263\263\307\204\271\271\316\202\272\272" "\316\203\272\272\317\203\273\273\317\203\273\273\320\202\274\274\320" "\203\274\274\321\202\275\275\321\203\275\275\322\202\276\276\322\203" "\276\276\323\202\277\277\323\203\277\277\324\202\300\300\324\203\300" "\300\325\202\301\301\325\203\301\301\326\202\302\302\326\203\302\302" "\327\202\303\303\327\203\303\303\330\202\304\304\330\203\304\304\331" "\202\305\305\331\203\305\305\332\203\306\306\332\203\306\306\333\203" "\307\307\333\203\307\307\334\203\310\310\334\204\310\310\335\203\311" "\311\335\205\311\311\336\204\312\312\336\205\312\312\337\2\307\307\333" "\262\262\306\207\250\250\274\4\266\266\312\311\311\336\315\315\342{\212" "\247\203\267\267\314\3\265\265\312\224\224\244xx\206\206ww\205\2\213" "\213\233\263\263\307\204\271\271\316\202\272\272\316\204\272\272\317" "\202\273\273\317\203\273\273\320\202\274\274\320\203\274\274\321\203" "\275\275\321\203\275\275\322\202\276\276\322\202\276\276\323\203\277" "\277\323\202\277\277\324\203\300\300\324\202\300\300\325\202\301\301" "\325\203\301\301\326\202\302\302\326\203\302\302\327\202\303\303\327" "\203\303\303\330\202\304\304\330\203\304\304\331\203\305\305\331\203" "\305\305\332\202\306\306\332\203\306\306\333\203\307\307\333\204\307" "\307\334\203\310\310\334\204\310\310\335\203\311\311\335\205\311\311" "\336\204\312\312\336\204\312\312\337\2\307\307\333\262\262\306\207\250" "\250\274\4\266\266\312\311\311\336\315\315\342{\212\247\203\267\267\314" "\3\265\265\312\224\224\244xx\206\206ww\205\2\213\213\233\263\263\307" "\204\271\271\316\202\272\272\316\204\272\272\317\202\273\273\317\203" "\273\273\320\203\274\274\320\203\274\274\321\202\275\275\321\203\275" "\275\322\202\276\276\322\203\276\276\323\202\277\277\323\203\277\277" "\324\202\300\300\324\203\300\300\325\202\301\301\325\203\301\301\326" "\202\302\302\326\203\302\302\327\202\303\303\327\203\303\303\330\202" "\304\304\330\203\304\304\331\202\305\305\331\203\305\305\332\203\306" "\306\332\203\306\306\333\203\307\307\333\203\307\307\334\203\310\310" "\334\204\310\310\335\204\311\311\335\205\311\311\336\204\312\312\336" "\203\312\312\337\2\307\307\333\262\262\306\207\250\250\274\4\266\266" "\312\311\311\336\315\315\342{\212\247\203\267\267\314\3\265\265\312\223" "\223\244xx\206\206ww\205\3\213\213\233\263\263\307\271\271\315\203\271" "\271\316\202\272\272\316\204\272\272\317\203\273\273\317\203\273\273" "\320\202\274\274\320\203\274\274\321\202\275\275\321\203\275\275\322" "\202\276\276\322\203\276\276\323\202\277\277\323\203\277\277\324\202" "\300\300\324\203\300\300\325\202\301\301\325\203\301\301\326\202\302" "\302\326\203\302\302\327\202\303\303\327\203\303\303\330\202\304\304" "\330\203\304\304\331\202\305\305\331\204\305\305\332\202\306\306\332" "\203\306\306\333\203\307\307\333\204\307\307\334\203\310\310\334\204" "\310\310\335\204\311\311\335\204\311\311\336\205\312\312\336\202\312" "\312\337\2\307\307\333\262\262\306\207\250\250\274\12\266\266\312\311" "\311\335\315\315\341{\212\247\267\267\314\267\267\313\267\267\314\265" "\265\312\223\223\244xx\206\206ww\205\3\213\213\233\263\263\307\271\271" "\315\203\271\271\316\202\272\272\316\204\272\272\317\203\273\273\317" "\203\273\273\320\202\274\274\320\203\274\274\321\202\275\275\321\203" "\275\275\322\202\276\276\322\203\276\276\323\202\277\277\323\203\277" "\277\324\202\300\300\324\203\300\300\325\202\301\301\325\203\301\301" "\326\202\302\302\326\203\302\302\327\202\303\303\327\203\303\303\330" "\202\304\304\330\203\304\304\331\203\305\305\331\203\305\305\332\202" "\306\306\332\204\306\306\333\203\307\307\333\203\307\307\334\203\310" "\310\334\204\310\310\335\204\311\311\335\205\311\311\336\205\312\312" "\336\3\312\312\337\307\307\333\262\262\306\207\250\250\274\12\266\266" "\312\311\311\335\315\315\341{\212\247\267\267\314\267\267\313\267\267" "\314\265\265\312\223\223\244xx\206\206ww\205\3\213\213\233\263\263\307" "\271\271\315\203\271\271\316\202\272\272\316\204\272\272\317\203\273" "\273\317\203\273\273\320\202\274\274\320\203\274\274\321\203\275\275" "\321\202\275\275\322\203\276\276\322\202\276\276\323\203\277\277\323" "\202\277\277\324\203\300\300\324\202\300\300\325\203\301\301\325\202" "\301\301\326\202\302\302\326\203\302\302\327\203\303\303\327\202\303" "\303\330\203\304\304\330\203\304\304\331\202\305\305\331\203\305\305" "\332\203\306\306\332\203\306\306\333\203\307\307\333\204\307\307\334" "\203\310\310\334\204\310\310\335\204\311\311\335\204\311\311\336\206" "\312\312\336\2\306\306\333\262\262\306\207\250\250\274\12\266\266\312" "\311\311\335\315\315\341{\212\247\267\267\314\267\267\313\267\267\314" "\265\265\312\223\223\244xx\206\206ww\205\3\213\213\233\263\263\307\271" "\271\315\204\271\271\316\1\272\272\316\205\272\272\317\202\273\273\317" "\203\273\273\320\203\274\274\320\202\274\274\321\203\275\275\321\203" "\275\275\322\202\276\276\322\203\276\276\323\202\277\277\323\203\277" "\277\324\202\300\300\324\203\300\300\325\202\301\301\325\203\301\301" "\326\202\302\302\326\203\302\302\327\202\303\303\327\203\303\303\330" "\202\304\304\330\203\304\304\331\202\305\305\331\204\305\305\332\202" "\306\306\332\204\306\306\333\202\307\307\333\204\307\307\334\203\310" "\310\334\205\310\310\335\204\311\311\335\204\311\311\336\205\312\312" "\336\2\306\306\333\262\262\306\207\250\250\274\12\266\266\312\311\311" "\335\314\314\341{\212\247\267\267\314\267\267\313\267\267\314\265\265" "\312\223\223\244xx\206\206ww\205\3\213\213\233\263\263\307\271\271\315" "\204\271\271\316\1\272\272\316\205\272\272\317\202\273\273\317\203\273" "\273\320\203\274\274\320\203\274\274\321\202\275\275\321\203\275\275" "\322\202\276\276\322\203\276\276\323\202\277\277\323\203\277\277\324" "\202\300\300\324\203\300\300\325\202\301\301\325\203\301\301\326\202" "\302\302\326\203\302\302\327\202\303\303\327\203\303\303\330\202\304" "\304\330\203\304\304\331\203\305\305\331\203\305\305\332\203\306\306" "\332\203\306\306\333\203\307\307\333\204\307\307\334\203\310\310\334" "\204\310\310\335\205\311\311\335\204\311\311\336\204\312\312\336\2\306" "\306\333\262\262\306\207\250\250\274\12\266\266\312\311\311\335\314\314" "\341{\212\247\267\267\314\267\267\313\267\267\314\265\265\312\223\223" "\244xx\206\206ww\205\3\213\213\233\263\263\307\271\271\315\204\271\271" "\316\1\272\272\316\205\272\272\317\203\273\273\317\203\273\273\320\202" "\274\274\320\203\274\274\321\202\275\275\321\203\275\275\322\202\276" "\276\322\203\276\276\323\202\277\277\323\203\277\277\324\202\300\300" "\324\203\300\300\325\202\301\301\325\203\301\301\326\202\302\302\326" "\203\302\302\327\202\303\303\327\203\303\303\330\203\304\304\330\203" "\304\304\331\202\305\305\331\203\305\305\332\203\306\306\332\203\306" "\306\333\203\307\307\333\204\307\307\334\204\310\310\334\204\310\310" "\335\205\311\311\335\204\311\311\336\203\312\312\336\2\306\306\333\262" "\262\306\207\250\250\274\12\266\266\312\311\311\335\314\314\341{\212" "\247\267\267\314\267\267\313\267\267\314\265\265\312\223\223\244xx\206" "\206ww\205\2\213\213\233\263\263\307\202\271\271\315\203\271\271\316" "\1\272\272\316\205\272\272\317\203\273\273\317\203\273\273\320\202\274" "\274\320\203\274\274\321\202\275\275\321\203\275\275\322\203\276\276" "\322\202\276\276\323\203\277\277\323\202\277\277\324\203\300\300\324" "\202\300\300\325\203\301\301\325\202\301\301\326\203\302\302\326\202" "\302\302\327\203\303\303\327\203\303\303\330\202\304\304\330\203\304" "\304\331\203\305\305\331\203\305\305\332\202\306\306\332\204\306\306" "\333\203\307\307\333\204\307\307\334\203\310\310\334\205\310\310\335" "\204\311\311\335\205\311\311\336\202\312\312\336\2\306\306\333\262\262" "\306\207\250\250\274\5\265\265\312\310\310\335\314\314\341{\212\247\267" "\267\314\202\267\267\313\3\265\265\312\223\223\244xx\206\206ww\205\2" "\213\213\233\263\263\307\202\271\271\315\203\271\271\316\202\272\272" "\316\204\272\272\317\203\273\273\317\203\273\273\320\202\274\274\320" "\203\274\274\321\203\275\275\321\202\275\275\322\203\276\276\322\203" "\276\276\323\202\277\277\323\203\277\277\324\202\300\300\324\203\300" "\300\325\202\301\301\325\203\301\301\326\202\302\302\326\203\302\302" "\327\202\303\303\327\203\303\303\330\202\304\304\330\203\304\304\331" "\203\305\305\331\203\305\305\332\203\306\306\332\203\306\306\333\203" "\307\307\333\204\307\307\334\204\310\310\334\205\310\310\335\203\311" "\311\335\207\311\311\336\2\306\306\333\262\262\305\207\250\250\274\5" "\265\265\311\310\310\335\314\314\341{\212\247\267\267\314\202\267\267" "\313\3\265\265\312\223\223\244xx\206\206ww\205\2\213\213\233\263\263" "\307\202\271\271\315\203\271\271\316\202\272\272\316\205\272\272\317" "\202\273\273\317\203\273\273\320\203\274\274\320\203\274\274\321\202" "\275\275\321\203\275\275\322\202\276\276\322\203\276\276\323\202\277" "\277\323\203\277\277\324\202\300\300\324\203\300\300\325\202\301\301" "\325\203\301\301\326\202\302\302\326\203\302\302\327\202\303\303\327" "\203\303\303\330\203\304\304\330\203\304\304\331\202\305\305\331\204" "\305\305\332\202\306\306\332\204\306\306\333\203\307\307\333\204\307" "\307\334\204\310\310\334\205\310\310\335\203\311\311\335\206\311\311" "\336\2\306\306\332\262\262\305\207\250\250\274\5\265\265\311\310\310" "\335\314\314\341{\212\247\267\267\314\202\267\267\313\3\265\265\312\223" "\223\244xx\206\206ww\205\2\213\213\233\263\263\307\202\271\271\315\203" "\271\271\316\202\272\272\316\205\272\272\317\202\273\273\317\203\273" "\273\320\203\274\274\320\203\274\274\321\202\275\275\321\203\275\275" "\322\202\276\276\322\203\276\276\323\202\277\277\323\203\277\277\324" "\202\300\300\324\203\300\300\325\202\301\301\325\203\301\301\326\203" "\302\302\326\202\302\302\327\203\303\303\327\203\303\303\330\202\304" "\304\330\203\304\304\331\203\305\305\331\203\305\305\332\203\306\306" "\332\203\306\306\333\203\307\307\333\205\307\307\334\203\310\310\334" "\206\310\310\335\203\311\311\335\205\311\311\336\2\306\306\332\261\261" "\305\207\250\250\274\5\265\265\311\310\310\335\314\314\341{\212\247\267" "\267\314\202\267\267\313\3\265\265\311\223\223\244xx\206\206ww\205\2" "\213\213\233\263\263\307\203\271\271\315\203\271\271\316\1\272\272\316" "\205\272\272\317\202\273\273\317\203\273\273\320\203\274\274\320\203" "\274\274\321\202\275\275\321\203\275\275\322\202\276\276\322\203\276" "\276\323\202\277\277\323\203\277\277\324\202\300\300\324\203\300\300" "\325\202\301\301\325\203\301\301\326\203\302\302\326\202\302\302\327" "\203\303\303\327\203\303\303\330\202\304\304\330\203\304\304\331\203" "\305\305\331\203\305\305\332\203\306\306\332\204\306\306\333\203\307" "\307\333\204\307\307\334\203\310\310\334\207\310\310\335\203\311\311" "\335\204\311\311\336\2\306\306\332\261\261\305\207\250\250\274\5\265" "\265\311\310\310\335\314\314\340{\212\247\267\267\314\202\267\267\313" "\3\265\265\311\223\223\244xx\206\206ww\205\2\213\213\233\263\263\307" "\203\271\271\315\203\271\271\316\1\272\272\316\205\272\272\317\202\273" "\273\317\204\273\273\320\202\274\274\320\203\274\274\321\202\275\275" "\321\203\275\275\322\202\276\276\322\203\276\276\323\203\277\277\323" "\202\277\277\324\203\300\300\324\202\300\300\325\203\301\301\325\203" "\301\301\326\202\302\302\326\203\302\302\327\202\303\303\327\203\303" "\303\330\202\304\304\330\204\304\304\331\202\305\305\331\204\305\305" "\332\202\306\306\332\204\306\306\333\203\307\307\333\204\307\307\334" "\204\310\310\334\206\310\310\335\205\311\311\335\202\311\311\336\2\306" "\306\332\261\261\305\207\250\250\274\5\265\265\311\310\310\334\314\314" "\340{\212\247\267\267\314\202\267\267\313\3\265\265\311\223\223\244x" "x\206\206ww\205\2\213\213\233\263\263\307\203\271\271\315\203\271\271" "\316\202\272\272\316\204\272\272\317\203\273\273\317\203\273\273\320" "\202\274\274\320\203\274\274\321\203\275\275\321\202\275\275\322\203" "\276\276\322\203\276\276\323\202\277\277\323\203\277\277\324\202\300" "\300\324\203\300\300\325\202\301\301\325\203\301\301\326\202\302\302" "\326\203\302\302\327\202\303\303\327\204\303\303\330\202\304\304\330" "\203\304\304\331\203\305\305\331\203\305\305\332\203\306\306\332\204" "\306\306\333\203\307\307\333\204\307\307\334\206\310\310\334\204\310" "\310\335\205\311\311\335\3\311\311\336\306\306\332\261\261\305\207\250" "\250\274\5\265\265\311\310\310\334\313\313\340{\212\247\267\267\314\202" "\267\267\313\3\265\265\311\223\223\244xx\206\206ww\205\2\213\213\233" "\263\263\306\203\271\271\315\203\271\271\316\202\272\272\316\204\272" "\272\317\203\273\273\317\203\273\273\320\202\274\274\320\203\274\274" "\321\203\275\275\321\203\275\275\322\202\276\276\322\203\276\276\323" "\202\277\277\323\203\277\277\324\202\300\300\324\203\300\300\325\202" "\301\301\325\203\301\301\326\203\302\302\326\203\302\302\327\202\303" "\303\327\203\303\303\330\202\304\304\330\204\304\304\331\202\305\305" "\331\204\305\305\332\203\306\306\332\203\306\306\333\204\307\307\333" "\204\307\307\334\206\310\310\334\204\310\310\335\205\311\311\335\2\305" "\305\332\261\261\305\207\250\250\274\5\265\265\311\310\310\334\313\313" "\340{\212\247\267\267\314\202\267\267\313\3\265\265\311\223\223\244x" "x\206\206ww\205\3\213\213\233\262\262\306\270\270\315\202\271\271\315" "\203\271\271\316\202\272\272\316\205\272\272\317\202\273\273\317\203" "\273\273\320\203\274\274\320\203\274\274\321\202\275\275\321\203\275" "\275\322\202\276\276\322\203\276\276\323\202\277\277\323\203\277\277" "\324\203\300\300\324\202\300\300\325\203\301\301\325\203\301\301\326" "\202\302\302\326\203\302\302\327\202\303\303\327\203\303\303\330\203" "\304\304\330\203\304\304\331\203\305\305\331\203\305\305\332\203\306" "\306\332\204\306\306\333\203\307\307\333\205\307\307\334\206\310\310" "\334\204\310\310\335\204\311\311\335\2\305\305\332\261\261\305\207\250" "\250\274\5\265\265\311\310\310\334\313\313\340{\212\247\267\267\314\202" "\267\267\313\3\265\265\311\223\223\244xx\206\206ww\205\3\213\213\233" "\262\262\306\270\270\315\203\271\271\315\202\271\271\316\202\272\272" "\316\205\272\272\317\203\273\273\317\203\273\273\320\202\274\274\320" "\203\274\274\321\202\275\275\321\203\275\275\322\203\276\276\322\203" "\276\276\323\202\277\277\323\203\277\277\324\202\300\300\324\203\300" "\300\325\202\301\301\325\203\301\301\326\202\302\302\326\203\302\302" "\327\203\303\303\327\203\303\303\330\202\304\304\330\204\304\304\331" "\202\305\305\331\204\305\305\332\203\306\306\332\204\306\306\333\203" "\307\307\333\205\307\307\334\206\310\310\334\205\310\310\335\202\311" "\311\335\2\305\305\332\261\261\305\207\250\250\274\5\265\265\311\307" "\307\334\313\313\340{\212\247\267\267\314\202\267\267\313\3\265\265\311" "\223\223\244xx\206\206ww\205\3\213\213\233\262\262\306\270\270\315\203" "\271\271\315\202\271\271\316\203\272\272\316\204\272\272\317\203\273" "\273\317\203\273\273\320\202\274\274\320\203\274\274\321\203\275\275" "\321\203\275\275\322\202\276\276\322\203\276\276\323\202\277\277\323" "\203\277\277\324\202\300\300\324\203\300\300\325\203\301\301\325\202" "\301\301\326\203\302\302\326\203\302\302\327\202\303\303\327\203\303" "\303\330\203\304\304\330\203\304\304\331\203\305\305\331\204\305\305" "\332\203\306\306\332\204\306\306\333\203\307\307\333\207\307\307\334" "\203\310\310\334\207\310\310\335\2\305\305\332\261\261\305\207\250\250" "\274\12\265\265\311\307\307\334\313\313\340{\212\247\267\267\313\266" "\266\313\267\267\313\265\265\311\223\223\244xx\206\206ww\205\3\213\213" "\233\262\262\306\270\270\315\203\271\271\315\202\271\271\316\203\272" "\272\316\205\272\272\317\202\273\273\317\203\273\273\320\203\274\274" "\320\203\274\274\321\202\275\275\321\203\275\275\322\202\276\276\322" "\203\276\276\323\203\277\277\323\202\277\277\324\203\300\300\324\203" "\300\300\325\202\301\301\325\203\301\301\326\202\302\302\326\203\302" "\302\327\203\303\303\327\203\303\303\330\203\304\304\330\203\304\304" "\331\203\305\305\331\203\305\305\332\203\306\306\332\205\306\306\333" "\203\307\307\333\207\307\307\334\203\310\310\334\206\310\310\335\2\305" "\305\332\261\261\305\207\250\250\274\12\265\265\311\307\307\334\313\313" "\340{\212\247\267\267\313\266\266\313\267\267\313\265\265\311\223\223" "\244xx\206\206ww\205\2\213\213\233\262\262\306\202\270\270\315\203\271" "\271\315\202\271\271\316\202\272\272\316\205\272\272\317\202\273\273" "\317\204\273\273\320\202\274\274\320\203\274\274\321\202\275\275\321" "\203\275\275\322\203\276\276\322\203\276\276\323\202\277\277\323\203" "\277\277\324\202\300\300\324\203\300\300\325\202\301\301\325\203\301" "\301\326\203\302\302\326\203\302\302\327\202\303\303\327\203\303\303" "\330\203\304\304\330\204\304\304\331\202\305\305\331\204\305\305\332" "\203\306\306\332\204\306\306\333\204\307\307\333\207\307\307\334\203" "\310\310\334\205\310\310\335\2\305\305\331\261\261\305\207\250\250\274" "\12\265\265\311\307\307\334\313\313\337{\212\247\267\267\313\266\266" "\313\267\267\313\265\265\311\223\223\244xx\206\206ww\205\2\213\213\233" "\262\262\306\202\270\270\315\203\271\271\315\202\271\271\316\202\272" "\272\316\205\272\272\317\203\273\273\317\203\273\273\320\202\274\274" "\320\203\274\274\321\203\275\275\321\203\275\275\322\202\276\276\322" "\203\276\276\323\202\277\277\323\203\277\277\324\203\300\300\324\202" "\300\300\325\203\301\301\325\203\301\301\326\202\302\302\326\203\302" "\302\327\203\303\303\327\203\303\303\330\203\304\304\330\203\304\304" "\331\203\305\305\331\204\305\305\332\203\306\306\332\204\306\306\333" "\204\307\307\333\207\307\307\334\204\310\310\334\203\310\310\335\2\305" "\305\331\261\261\305\207\250\250\274\12\265\265\311\307\307\333\313\313" "\337{\212\247\267\267\313\266\266\313\267\267\313\265\265\311\223\223" "\244xx\206\206ww\205\2\213\213\233\262\262\306\202\270\270\315\203\271" "\271\315\202\271\271\316\203\272\272\316\205\272\272\317\202\273\273" "\317\203\273\273\320\203\274\274\320\203\274\274\321\202\275\275\321" "\203\275\275\322\202\276\276\322\203\276\276\323\203\277\277\323\203" "\277\277\324\202\300\300\324\203\300\300\325\202\301\301\325\203\301" "\301\326\203\302\302\326\203\302\302\327\202\303\303\327\204\303\303" "\330\202\304\304\330\204\304\304\331\203\305\305\331\204\305\305\332" "\203\306\306\332\204\306\306\333\206\307\307\333\205\307\307\334\205" "\310\310\334\3\310\310\335\305\305\331\261\261\305\207\250\250\274\5" "\265\265\311\307\307\333\312\312\337{\212\247\267\267\313\202\266\266" "\313\3\265\265\311\223\223\244xx\206\206ww\205\2\213\213\233\262\262" "\306\203\270\270\315\202\271\271\315\203\271\271\316\202\272\272\316" "\205\272\272\317\202\273\273\317\204\273\273\320\202\274\274\320\203" "\274\274\321\202\275\275\321\203\275\275\322\203\276\276\322\203\276" "\276\323\202\277\277\323\203\277\277\324\202\300\300\324\203\300\300" "\325\203\301\301\325\203\301\301\326\202\302\302\326\203\302\302\327" "\203\303\303\327\203\303\303\330\203\304\304\330\204\304\304\331\202" "\305\305\331\204\305\305\332\204\306\306\332\204\306\306\333\206\307" "\307\333\205\307\307\334\205\310\310\334\2\305\305\331\261\261\305\207" "\250\250\274\5\265\265\311\307\307\333\312\312\337{\212\247\267\267\313" "\202\266\266\313\3\265\265\311\223\223\244xx\206\206ww\205\2\213\213" "\233\262\262\306\203\270\270\315\202\271\271\315\203\271\271\316\204" "\272\272\316\203\272\272\317\203\273\273\317\203\273\273\320\202\274" "\274\320\203\274\274\321\203\275\275\321\203\275\275\322\202\276\276" "\322\203\276\276\323\203\277\277\323\203\277\277\324\202\300\300\324" "\203\300\300\325\202\301\301\325\203\301\301\326\203\302\302\326\203" "\302\302\327\203\303\303\327\203\303\303\330\203\304\304\330\203\304" "\304\331\203\305\305\331\204\305\305\332\204\306\306\332\205\306\306" "\333\206\307\307\333\205\307\307\334\203\310\310\334\2\304\304\331\261" "\261\305\207\250\250\274\5\265\265\311\307\307\333\312\312\337{\212\247" "\267\267\313\202\266\266\313\3\265\265\311\223\223\244xx\206\206ww\205" "\2\213\213\233\262\262\306\203\270\270\315\203\271\271\315\202\271\271" "\316\204\272\272\316\204\272\272\317\202\273\273\317\203\273\273\320" "\203\274\274\320\203\274\274\321\202\275\275\321\203\275\275\322\203" "\276\276\322\203\276\276\323\202\277\277\323\203\277\277\324\202\300" "\300\324\203\300\300\325\203\301\301\325\203\301\301\326\202\302\302" "\326\204\302\302\327\202\303\303\327\204\303\303\330\202\304\304\330" "\204\304\304\331\203\305\305\331\204\305\305\332\204\306\306\332\205" "\306\306\333\206\307\307\333\206\307\307\334\3\310\310\334\304\304\331" "\261\261\305\207\250\250\274\5\265\265\311\306\306\333\313\313\340{\211" "\247\267\267\313\202\266\266\313\3\265\265\311\223\223\244xx\206\206" "ww\205\2\213\213\233\262\262\306\204\270\270\315\202\271\271\315\203" "\271\271\316\204\272\272\316\203\272\272\317\202\273\273\317\204\273" "\273\320\202\274\274\320\203\274\274\321\203\275\275\321\203\275\275" "\322\202\276\276\322\203\276\276\323\202\277\277\323\203\277\277\324" "\203\300\300\324\203\300\300\325\202\301\301\325\203\301\301\326\203" "\302\302\326\203\302\302\327\203\303\303\327\203\303\303\330\203\304" "\304\330\204\304\304\331\203\305\305\331\204\305\305\332\204\306\306" "\332\207\306\306\333\203\307\307\333\207\307\307\334\2\304\304\331\261" "\261\305\207\250\250\274\5\265\265\311\306\306\333\311\311\336{\211\247" "\267\267\313\202\266\266\313\3\265\265\311\223\223\244xx\206\206ww\205" "\2\213\213\233\262\262\306\204\270\270\315\202\271\271\315\203\271\271" "\316\204\272\272\316\203\272\272\317\203\273\273\317\203\273\273\320" "\202\274\274\320\204\274\274\321\202\275\275\321\203\275\275\322\202" "\276\276\322\203\276\276\323\203\277\277\323\203\277\277\324\202\300" "\300\324\203\300\300\325\203\301\301\325\203\301\301\326\203\302\302" "\326\203\302\302\327\203\303\303\327\203\303\303\330\203\304\304\330" "\204\304\304\331\203\305\305\331\204\305\305\332\204\306\306\332\207" "\306\306\333\204\307\307\333\205\307\307\334\2\304\304\331\261\261\305" "\207\250\250\274\5\265\265\311\306\306\333\311\311\335{\211\247\267\267" "\313\202\266\266\313\3\265\265\311\223\223\244xx\206\206ww\205\3\213" "\213\233\262\262\306\270\270\314\203\270\270\315\202\271\271\315\203" "\271\271\316\204\272\272\316\204\272\272\317\202\273\273\317\203\273" "\273\320\203\274\274\320\203\274\274\321\202\275\275\321\204\275\275" "\322\202\276\276\322\203\276\276\323\202\277\277\323\203\277\277\324" "\203\300\300\324\203\300\300\325\202\301\301\325\204\301\301\326\202" "\302\302\326\204\302\302\327\202\303\303\327\204\303\303\330\203\304" "\304\330\204\304\304\331\203\305\305\331\204\305\305\332\204\306\306" "\332\210\306\306\333\204\307\307\333\203\307\307\334\2\304\304\330\261" "\261\305\207\250\250\274\5\264\264\311\306\306\333\311\311\335{\211\247" "\267\267\313\202\266\266\313\3\265\265\311\223\223\244xx\206\206ww\205" "\3\213\213\233\262\262\306\270\270\314\204\270\270\315\1\271\271\315" "\204\271\271\316\204\272\272\316\203\272\272\317\203\273\273\317\203" "\273\273\320\202\274\274\320\203\274\274\321\203\275\275\321\203\275" "\275\322\202\276\276\322\203\276\276\323\203\277\277\323\203\277\277" "\324\202\300\300\324\204\300\300\325\202\301\301\325\203\301\301\326" "\203\302\302\326\203\302\302\327\203\303\303\327\204\303\303\330\203" "\304\304\330\204\304\304\331\203\305\305\331\205\305\305\332\204\306" "\306\332\206\306\306\333\206\307\307\333\3\307\307\334\304\304\330\261" "\261\305\207\250\250\274\4\264\264\310\306\306\332\310\310\335{\211\247" "\203\266\266\313\3\264\264\311\223\223\244xx\206\206ww\205\3\213\213" "\233\262\262\306\270\270\314\204\270\270\315\202\271\271\315\203\271" "\271\316\204\272\272\316\203\272\272\317\203\273\273\317\203\273\273" "\320\203\274\274\320\203\274\274\321\202\275\275\321\203\275\275\322" "\203\276\276\322\203\276\276\323\202\277\277\323\203\277\277\324\203" "\300\300\324\203\300\300\325\203\301\301\325\203\301\301\326\203\302" "\302\326\203\302\302\327\203\303\303\327\203\303\303\330\203\304\304" "\330\205\304\304\331\203\305\305\331\205\305\305\332\206\306\306\332" "\205\306\306\333\205\307\307\333\2\304\304\330\261\261\305\207\250\250" "\274\4\264\264\310\306\306\332\310\310\335{\211\247\203\266\266\313\3" "\264\264\311\223\223\244xx\206\206ww\205\2\213\213\233\262\262\306\202" "\270\270\314\203\270\270\315\202\271\271\315\205\271\271\316\202\272" "\272\316\204\272\272\317\202\273\273\317\204\273\273\320\202\274\274" "\320\203\274\274\321\203\275\275\321\203\275\275\322\202\276\276\322" "\203\276\276\323\203\277\277\323\203\277\277\324\203\300\300\324\203" "\300\300\325\202\301\301\325\204\301\301\326\202\302\302\326\204\302" "\302\327\203\303\303\327\203\303\303\330\203\304\304\330\205\304\304" "\331\203\305\305\331\205\305\305\332\207\306\306\332\205\306\306\333" "\203\307\307\333\2\304\304\330\261\261\305\207\250\250\274\4\264\264" "\310\306\306\332\310\310\335{\211\247\203\266\266\313\3\264\264\311\223" "\223\244xx\206\206ww\205\2\213\213\233\262\262\306\202\270\270\314\203" "\270\270\315\202\271\271\315\205\271\271\316\203\272\272\316\203\272" "\272\317\203\273\273\317\203\273\273\320\203\274\274\320\203\274\274" "\321\202\275\275\321\203\275\275\322\203\276\276\322\203\276\276\323" "\202\277\277\323\204\277\277\324\202\300\300\324\203\300\300\325\203" "\301\301\325\203\301\301\326\203\302\302\326\203\302\302\327\203\303" "\303\327\204\303\303\330\203\304\304\330\205\304\304\331\203\305\305" "\331\206\305\305\332\206\306\306\332\206\306\306\333\3\307\307\333\303" "\303\330\261\261\305\207\250\250\274\4\264\264\310\305\305\332\310\310" "\335z\211\247\203\266\266\313\3\264\264\311\223\223\244xx\206\206ww\205" "\2\213\213\233\262\262\306\202\270\270\314\204\270\270\315\202\271\271" "\315\205\271\271\316\202\272\272\316\204\272\272\317\202\273\273\317" "\204\273\273\320\202\274\274\320\203\274\274\321\203\275\275\321\203" "\275\275\322\202\276\276\322\204\276\276\323\202\277\277\323\203\277" "\277\324\203\300\300\324\203\300\300\325\203\301\301\325\203\301\301" "\326\203\302\302\326\203\302\302\327\203\303\303\327\204\303\303\330" "\203\304\304\330\205\304\304\331\204\305\305\331\207\305\305\332\204" "\306\306\332\206\306\306\333\2\303\303\330\261\261\305\207\250\250\274" "\12\264\264\310\305\305\332\310\310\334z\211\247\266\266\313\266\266" "\312\266\266\313\264\264\311\223\223\244xx\206\206ww\205\2\213\213\233" "\262\262\306\203\270\270\314\203\270\270\315\202\271\271\315\205\271" "\271\316\203\272\272\316\203\272\272\317\203\273\273\317\203\273\273" "\320\203\274\274\320\203\274\274\321\202\275\275\321\203\275\275\322" "\203\276\276\322\203\276\276\323\203\277\277\323\203\277\277\324\202" "\300\300\324\204\300\300\325\202\301\301\325\204\301\301\326\202\302" "\302\326\204\302\302\327\203\303\303\327\204\303\303\330\203\304\304" "\330\205\304\304\331\204\305\305\331\210\305\305\332\204\306\306\332" "\204\306\306\333\2\303\303\330\261\261\305\207\250\250\274\12\264\264" "\310\305\305\332\310\310\334z\211\247\266\266\313\266\266\312\266\266" "\313\264\264\311\223\223\244xx\206\206ww\205\2\213\213\233\262\262\306" "\203\270\270\314\203\270\270\315\202\271\271\315\205\271\271\316\203" "\272\272\316\204\272\272\317\202\273\273\317\203\273\273\320\203\274" "\274\320\203\274\274\321\203\275\275\321\203\275\275\322\202\276\276" "\322\204\276\276\323\202\277\277\323\203\277\277\324\203\300\300\324" "\203\300\300\325\203\301\301\325\204\301\301\326\202\302\302\326\204" "\302\302\327\203\303\303\327\204\303\303\330\204\304\304\330\204\304" "\304\331\205\305\305\331\207\305\305\332\205\306\306\332\202\306\306" "\333\2\303\303\327\261\261\305\207\250\250\274\12\264\264\310\305\305" "\331\307\307\334z\211\247\266\266\313\266\266\312\266\266\313\264\264" "\311\223\223\244xx\206\206ww\205\2\213\213\233\262\262\306\203\270\270" "\314\203\270\270\315\203\271\271\315\205\271\271\316\203\272\272\316" "\203\272\272\317\203\273\273\317\203\273\273\320\203\274\274\320\203" "\274\274\321\202\275\275\321\204\275\275\322\202\276\276\322\203\276" "\276\323\203\277\277\323\203\277\277\324\203\300\300\324\203\300\300" "\325\203\301\301\325\203\301\301\326\203\302\302\326\204\302\302\327" "\203\303\303\327\204\303\303\330\204\304\304\330\205\304\304\331\204" "\305\305\331\2\305\305\332\305\305\331\205\305\305\332\206\306\306\332" "\2\303\303\327\261\261\304\207\250\250\274\5\264\264\310\305\305\331" "\307\307\334z\211\247\266\266\313\202\266\266\312\3\264\264\311\223\223" "\244xx\206\206ww\205\3\213\213\233\262\262\306\267\267\314\203\270\270" "\314\202\270\270\315\203\271\271\315\205\271\271\316\203\272\272\316" "\203\272\272\317\203\273\273\317\203\273\273\320\203\274\274\320\203" "\274\274\321\203\275\275\321\203\275\275\322\203\276\276\322\203\276" "\276\323\202\277\277\323\204\277\277\324\202\300\300\324\204\300\300" "\325\203\301\301\325\203\301\301\326\203\302\302\326\204\302\302\327" "\203\303\303\327\204\303\303\330\204\304\304\330\205\304\304\331\207" "\305\305\331\205\305\305\332\204\306\306\332\2\303\303\327\261\261\304" "\207\250\250\274\5\264\264\310\305\305\331\307\307\334z\211\247\266\266" "\313\202\266\266\312\3\264\264\311\223\223\244xx\206\206ww\205\3\213" "\213\233\262\262\306\267\267\314\203\270\270\314\203\270\270\315\203" "\271\271\315\205\271\271\316\202\272\272\316\204\272\272\317\203\273" "\273\317\203\273\273\320\203\274\274\320\203\274\274\321\202\275\275" "\321\204\275\275\322\202\276\276\322\204\276\276\323\202\277\277\323" "\203\277\277\324\203\300\300\324\204\300\300\325\202\301\301\325\204" "\301\301\326\203\302\302\326\204\302\302\327\203\303\303\327\205\303" "\303\330\203\304\304\330\206\304\304\331\207\305\305\331\206\305\305" "\332\3\306\306\332\302\302\327\260\260\304\207\250\250\274\5\264\264" "\310\304\304\331\307\307\334z\211\247\266\266\313\202\266\266\312\3\264" "\264\310\223\223\244xx\206\206ww\205\2\213\213\233\261\261\305\202\267" "\267\314\203\270\270\314\202\270\270\315\203\271\271\315\205\271\271" "\316\203\272\272\316\203\272\272\317\203\273\273\317\203\273\273\320" "\203\274\274\320\203\274\274\321\203\275\275\321\203\275\275\322\203" "\276\276\322\203\276\276\323\203\277\277\323\203\277\277\324\203\300" "\300\324\203\300\300\325\203\301\301\325\204\301\301\326\203\302\302" "\326\204\302\302\327\203\303\303\327\205\303\303\330\204\304\304\330" "\207\304\304\331\204\305\305\331\207\305\305\332\2\302\302\327\260\260" "\304\207\250\250\274\5\264\264\310\304\304\331\307\307\333z\211\247\266" "\266\313\202\266\266\312\3\264\264\310\223\223\244xx\206\206ww\205\2" "\213\213\233\261\261\305\202\267\267\314\203\270\270\314\203\270\270" "\315\204\271\271\315\204\271\271\316\202\272\272\316\204\272\272\317" "\203\273\273\317\203\273\273\320\203\274\274\320\203\274\274\321\203" "\275\275\321\203\275\275\322\203\276\276\322\203\276\276\323\203\277" "\277\323\203\277\277\324\203\300\300\324\203\300\300\325\203\301\301" "\325\204\301\301\326\203\302\302\326\204\302\302\327\203\303\303\327" "\205\303\303\330\204\304\304\330\210\304\304\331\204\305\305\331\205" "\305\305\332\2\302\302\327\260\260\304\207\250\250\274\5\264\264\310" "\304\304\331\307\307\333z\211\247\266\266\313\202\266\266\312\3\264\264" "\310\223\223\244xx\206\206ww\205\2\213\213\233\261\261\305\202\267\267" "\314\203\270\270\314\203\270\270\315\204\271\271\315\204\271\271\316" "\203\272\272\316\203\272\272\317\203\273\273\317\204\273\273\320\202" "\274\274\320\204\274\274\321\202\275\275\321\204\275\275\322\202\276" "\276\322\204\276\276\323\202\277\277\323\204\277\277\324\202\300\300" "\324\204\300\300\325\203\301\301\325\204\301\301\326\203\302\302\326" "\204\302\302\327\204\303\303\327\205\303\303\330\204\304\304\330\210" "\304\304\331\205\305\305\331\202\305\305\332\2\302\302\326\260\260\304" "\207\250\250\274\5\264\264\310\304\304\330\306\306\333z\211\247\266\266" "\313\202\266\266\312\3\264\264\310\223\223\244xx\206\206ww\205\2\213" "\213\233\261\261\305\203\267\267\314\203\270\270\314\203\270\270\315" "\204\271\271\315\204\271\271\316\202\272\272\316\204\272\272\317\203" "\273\273\317\203\273\273\320\203\274\274\320\203\274\274\321\203\275" "\275\321\203\275\275\322\203\276\276\322\203\276\276\323\203\277\277" "\323\203\277\277\324\203\300\300\324\204\300\300\325\203\301\301\325" "\204\301\301\326\203\302\302\326\204\302\302\327\204\303\303\327\205" "\303\303\330\205\304\304\330\207\304\304\331\206\305\305\331\2\302\302" "\326\260\260\304\207\250\250\274\5\264\264\310\304\304\330\306\306\333" "z\211\247\266\266\313\202\266\266\312\3\264\264\310\223\223\244xx\206" "\206ww\205\2\213\213\233\261\261\305\203\267\267\314\203\270\270\314" "\203\270\270\315\204\271\271\315\204\271\271\316\203\272\272\316\204" "\272\272\317\202\273\273\317\204\273\273\320\202\274\274\320\204\274" "\274\321\202\275\275\321\204\275\275\322\203\276\276\322\203\276\276" "\323\203\277\277\323\203\277\277\324\203\300\300\324\204\300\300\325" "\203\301\301\325\204\301\301\326\203\302\302\326\205\302\302\327\203" "\303\303\327\206\303\303\330\207\304\304\330\206\304\304\331\203\305" "\305\331\2\302\302\326\260\260\304\207\250\250\274\12\263\263\310\304" "\304\330\306\306\333z\211\246\266\266\312\265\265\312\266\266\312\264" "\264\310\223\223\244xx\206\206ww\205\2\213\213\233\261\261\305\204\267" "\267\314\202\270\270\314\203\270\270\315\205\271\271\315\204\271\271" "\316\203\272\272\316\203\272\272\317\203\273\273\317\203\273\273\320" "\203\274\274\320\203\274\274\321\203\275\275\321\204\275\275\322\202" "\276\276\322\204\276\276\323\203\277\277\323\203\277\277\324\203\300" "\300\324\204\300\300\325\203\301\301\325\204\301\301\326\203\302\302" "\326\205\302\302\327\204\303\303\327\206\303\303\330\207\304\304\330" "\207\304\304\331\2\302\302\326\260\260\304\207\250\250\274\12\263\263" "\307\303\303\330\306\306\333z\211\246\266\266\312\265\265\312\266\266" "\312\264\264\310\223\223\244xx\206\206ww\205\2\213\213\233\261\261\305" "\204\267\267\314\202\270\270\314\204\270\270\315\204\271\271\315\204" "\271\271\316\203\272\272\316\204\272\272\317\202\273\273\317\204\273" "\273\320\203\274\274\320\203\274\274\321\203\275\275\321\203\275\275" "\322\203\276\276\322\204\276\276\323\202\277\277\323\204\277\277\324" "\203\300\300\324\204\300\300\325\203\301\301\325\204\301\301\326\204" "\302\302\326\204\302\302\327\205\303\303\327\210\303\303\330\204\304" "\304\330\206\304\304\331\2\301\301\326\260\260\304\207\250\250\274\5" "\263\263\307\303\303\330\306\306\332z\211\246\266\266\312\202\265\265" "\312\3\264\264\310\223\223\244xx\206\206ww\205\3\213\213\233\261\261" "\305\267\267\313\204\267\267\314\202\270\270\314\205\270\270\315\203" "\271\271\315\204\271\271\316\203\272\272\316\203\272\272\317\203\273" "\273\317\204\273\273\320\202\274\274\320\204\274\274\321\203\275\275" "\321\203\275\275\322\203\276\276\322\203\276\276\323\203\277\277\323" "\204\277\277\324\203\300\300\324\204\300\300\325\203\301\301\325\204" "\301\301\326\204\302\302\326\205\302\302\327\204\303\303\327\211\303" "\303\330\205\304\304\330\203\304\304\331\2\301\301\326\260\260\304\207" "\250\250\274\5\263\263\307\303\303\330\305\305\332z\211\246\266\266\312" "\202\265\265\312\3\264\264\310\223\223\244xx\206\206ww\205\3\213\213" "\233\261\261\305\267\267\313\204\267\267\314\202\270\270\314\205\270" "\270\315\204\271\271\315\203\271\271\316\203\272\272\316\204\272\272" "\317\203\273\273\317\203\273\273\320\203\274\274\320\203\274\274\321" "\203\275\275\321\204\275\275\322\203\276\276\322\203\276\276\323\203" "\277\277\323\204\277\277\324\203\300\300\324\204\300\300\325\203\301" "\301\325\205\301\301\326\203\302\302\326\206\302\302\327\204\303\303" "\327\210\303\303\330\207\304\304\330\2\301\301\326\260\260\304\207\250" "\250\274\5\263\263\307\303\303\327\305\305\332z\211\246\266\266\312\202" "\265\265\312\3\264\264\310\223\223\244xx\206\206ww\205\2\213\213\233" "\261\261\305\202\267\267\313\203\267\267\314\203\270\270\314\205\270" "\270\315\203\271\271\315\204\271\271\316\203\272\272\316\203\272\272" "\317\203\273\273\317\204\273\273\320\203\274\274\320\203\274\274\321" "\203\275\275\321\204\275\275\322\202\276\276\322\204\276\276\323\203" "\277\277\323\204\277\277\324\203\300\300\324\204\300\300\325\203\301" "\301\325\205\301\301\326\204\302\302\326\205\302\302\327\207\303\303" "\327\206\303\303\330\205\304\304\330\2\301\301\325\260\260\304\207\250" "\250\274\5\263\263\307\303\303\327\305\305\332z\211\246\266\266\312\202" "\265\265\312\3\264\264\310\223\223\244xx\206\206ww\205\2\213\213\233" "\261\261\305\202\267\267\313\204\267\267\314\202\270\270\314\206\270" "\270\315\203\271\271\315\203\271\271\316\203\272\272\316\204\272\272" "\317\203\273\273\317\204\273\273\320\202\274\274\320\204\274\274\321" "\203\275\275\321\203\275\275\322\203\276\276\322\204\276\276\323\203" "\277\277\323\204\277\277\324\203\300\300\324\204\300\300\325\204\301" "\301\325\204\301\301\326\204\302\302\326\206\302\302\327\210\303\303" "\327\207\303\303\330\3\304\304\330\301\301\325\260\260\304\207\250\250" "\274\5\263\263\307\302\302\327\305\305\332z\211\246\266\266\312\202\265" "\265\312\3\264\264\310\223\223\244xx\206\206ww\205\2\213\213\233\261" "\261\305\203\267\267\313\203\267\267\314\203\270\270\314\205\270\270" "\315\203\271\271\315\204\271\271\316\203\272\272\316\204\272\272\317" "\203\273\273\317\203\273\273\320\203\274\274\320\204\274\274\321\203" "\275\275\321\203\275\275\322\203\276\276\322\204\276\276\323\203\277" "\277\323\204\277\277\324\203\300\300\324\204\300\300\325\204\301\301" "\325\205\301\301\326\204\302\302\326\206\302\302\327\207\303\303\327" "\207\303\303\330\2\301\301\325\260\260\304\207\250\250\274\5\263\263" "\307\302\302\327\305\305\331z\211\246\266\266\312\202\265\265\312\3\264" "\264\310\223\223\244xx\206\206ww\205\2\213\213\233\261\261\305\203\267" "\267\313\203\267\267\314\203\270\270\314\206\270\270\315\203\271\271" "\315\204\271\271\316\203\272\272\316\203\272\272\317\203\273\273\317" "\204\273\273\320\203\274\274\320\203\274\274\321\203\275\275\321\204" "\275\275\322\203\276\276\322\204\276\276\323\203\277\277\323\204\277" "\277\324\203\300\300\324\205\300\300\325\203\301\301\325\205\301\301" "\326\205\302\302\326\211\302\302\327\204\303\303\327\205\303\303\330" "\2\300\300\325\260\260\304\207\250\250\274\4\263\263\307\302\302\327" "\304\304\331z\211\246\203\265\265\312\3\263\263\310\223\223\243xx\206" "\206ww\205\2\213\213\232\261\261\305\204\267\267\313\203\267\267\314" "\203\270\270\314\205\270\270\315\203\271\271\315\204\271\271\316\203" "\272\272\316\204\272\272\317\203\273\273\317\204\273\273\320\203\274" "\274\320\203\274\274\321\203\275\275\321\204\275\275\322\203\276\276" "\322\204\276\276\323\203\277\277\323\204\277\277\324\203\300\300\324" "\205\300\300\325\204\301\301\325\205\301\301\326\205\302\302\326\211" "\302\302\327\206\303\303\327\3\303\303\330\300\300\325\260\260\304\207" "\250\250\274\4\263\263\307\302\302\326\304\304\331z\211\246\203\265\265" "\312\3\263\263\310\223\223\243xx\206\206ww\205\3\213\213\232\261\261" "\305\266\266\313\203\267\267\313\203\267\267\314\205\270\270\314\204" "\270\270\315\203\271\271\315\204\271\271\316\203\272\272\316\204\272" "\272\317\203\273\273\317\203\273\273\320\203\274\274\320\204\274\274" "\321\203\275\275\321\204\275\275\322\203\276\276\322\204\276\276\323" "\203\277\277\323\204\277\277\324\204\300\300\324\204\300\300\325\204" "\301\301\325\206\301\301\326\205\302\302\326\210\302\302\327\206\303" "\303\327\2\300\300\324\260\260\304\207\250\250\274\4\263\263\307\302" "\302\326\304\304\331z\211\246\203\265\265\312\3\263\263\310\223\223\243" "xx\206\206ww\205\3\212\212\232\261\261\305\266\266\313\204\267\267\313" "\203\267\267\314\204\270\270\314\204\270\270\315\204\271\271\315\204" "\271\271\316\203\272\272\316\203\272\272\317\203\273\273\317\204\273" "\273\320\203\274\274\320\204\274\274\321\203\275\275\321\204\275\275" "\322\203\276\276\322\204\276\276\323\203\277\277\323\204\277\277\324" "\204\300\300\324\205\300\300\325\204\301\301\325\206\301\301\326\210" "\302\302\326\207\302\302\327\202\303\303\327\2\300\300\324\260\260\304" "\207\250\250\274\12\263\263\307\302\302\326\304\304\331z\211\246\265" "\265\312\265\265\311\265\265\312\263\263\310\223\223\243xx\206\206ww" "\205\2\212\212\232\261\261\305\202\266\266\313\203\267\267\313\203\267" "\267\314\205\270\270\314\204\270\270\315\203\271\271\315\204\271\271" "\316\203\272\272\316\204\272\272\317\203\273\273\317\204\273\273\320" "\203\274\274\320\204\274\274\321\203\275\275\321\204\275\275\322\203" "\276\276\322\204\276\276\323\203\277\277\323\205\277\277\324\203\300" "\300\324\205\300\300\325\205\301\301\325\206\301\301\326\210\302\302" "\326\207\302\302\327\2\300\300\324\260\260\304\207\250\250\274\12\263" "\263\307\301\301\326\304\304\330z\211\246\265\265\312\265\265\311\265" "\265\312\263\263\310\223\223\243xx\206\206ww\205\2\212\212\232\261\261" "\305\202\266\266\313\203\267\267\313\204\267\267\314\205\270\270\314" "\204\270\270\315\203\271\271\315\204\271\271\316\203\272\272\316\204" "\272\272\317\203\273\273\317\204\273\273\320\203\274\274\320\204\274" "\274\321\203\275\275\321\204\275\275\322\203\276\276\322\204\276\276" "\323\204\277\277\323\204\277\277\324\204\300\300\324\205\300\300\325" "\205\301\301\325\210\301\301\326\205\302\302\326\206\302\302\327\2\300" "\300\324\260\260\303\207\250\250\274\5\263\263\307\301\301\326\303\303" "\330z\211\246\265\265\312\202\265\265\311\3\263\263\310\223\223\243x" "x\206\206ww\205\2\212\212\232\260\260\304\203\266\266\313\203\267\267" "\313\203\267\267\314\205\270\270\314\204\270\270\315\204\271\271\315" "\204\271\271\316\203\272\272\316\204\272\272\317\203\273\273\317\204" "\273\273\320\203\274\274\320\204\274\274\321\203\275\275\321\204\275" "\275\322\203\276\276\322\204\276\276\323\204\277\277\323\204\277\277" "\324\204\300\300\324\206\300\300\325\205\301\301\325\211\301\301\326" "\206\302\302\326\202\302\302\327\2\277\277\324\257\257\303\207\250\250" "\274\5\262\262\306\301\301\325\303\303\330z\211\246\265\265\312\202\265" "\265\311\3\263\263\310\222\222\243xx\206\206ww\205\2\212\212\232\260" "\260\304\203\266\266\313\203\267\267\313\204\267\267\314\205\270\270" "\314\204\270\270\315\203\271\271\315\204\271\271\316\203\272\272\316" "\204\272\272\317\203\273\273\317\204\273\273\320\204\274\274\320\203" "\274\274\321\204\275\275\321\204\275\275\322\203\276\276\322\204\276" "\276\323\204\277\277\323\205\277\277\324\204\300\300\324\206\300\300" "\325\205\301\301\325\211\301\301\326\206\302\302\326\2\277\277\324\257" "\257\303\207\250\250\274\5\262\262\306\301\301\325\303\303\330z\211\246" "\265\265\312\202\265\265\311\3\263\263\307\222\222\243xx\206\206ww\205" "\2\212\212\232\260\260\304\204\266\266\313\202\267\267\313\206\267\267" "\314\204\270\270\314\204\270\270\315\203\271\271\315\204\271\271\316" "\203\272\272\316\204\272\272\317\203\273\273\317\204\273\273\320\203" "\274\274\320\204\274\274\321\204\275\275\321\204\275\275\322\203\276" "\276\322\205\276\276\323\203\277\277\323\206\277\277\324\204\300\300" "\324\206\300\300\325\210\301\301\325\207\301\301\326\203\302\302\326" "\2\277\277\323\257\257\303\207\250\250\274\5\262\262\306\301\301\325" "\303\303\330z\211\246\265\265\312\202\265\265\311\3\263\263\307\222\222" "\243xx\206\206ww\205\2\212\212\232\260\260\304\205\266\266\313\202\267" "\267\313\206\267\267\314\203\270\270\314\204\270\270\315\204\271\271" "\315\204\271\271\316\203\272\272\316\204\272\272\317\203\273\273\317" "\204\273\273\320\203\274\274\320\204\274\274\321\204\275\275\321\204" "\275\275\322\203\276\276\322\205\276\276\323\204\277\277\323\205\277" "\277\324\205\300\300\324\206\300\300\325\210\301\301\325\210\301\301" "\326\2\277\277\323\257\257\303\207\250\250\274\5\262\262\306\300\300" "\325\303\303\327z\210\246\265\265\312\202\265\265\311\3\263\263\307\222" "\222\243xx\206\206ww\205\2\212\212\232\260\260\304\205\266\266\313\202" "\267\267\313\206\267\267\314\204\270\270\314\204\270\270\315\203\271" "\271\315\205\271\271\316\203\272\272\316\204\272\272\317\203\273\273" "\317\204\273\273\320\203\274\274\320\204\274\274\321\204\275\275\321" "\204\275\275\322\204\276\276\322\204\276\276\323\204\277\277\323\206" "\277\277\324\205\300\300\324\207\300\300\325\207\301\301\325\206\301" "\301\326\2\277\277\323\257\257\303\207\250\250\274\5\262\262\306\300" "\300\325\302\302\327z\210\246\265\265\312\202\265\265\311\3\263\263\307" "\222\222\243xx\206\206ww\205\3\212\212\232\260\260\304\266\266\312\204" "\266\266\313\203\267\267\313\206\267\267\314\204\270\270\314\204\270" "\270\315\203\271\271\315\204\271\271\316\204\272\272\316\204\272\272" "\317\203\273\273\317\204\273\273\320\203\274\274\320\205\274\274\321" "\203\275\275\321\204\275\275\322\204\276\276\322\205\276\276\323\204" "\277\277\323\206\277\277\324\205\300\300\324\212\300\300\325\206\301" "\301\325\202\301\301\326\2\276\276\323\257\257\303\207\250\250\274\5" "\262\262\306\300\300\325\302\302\327z\210\246\265\265\312\202\265\265" "\311\3\263\263\307\222\222\243xx\206\206ww\205\3\212\212\232\260\260" "\304\266\266\312\205\266\266\313\203\267\267\313\206\267\267\314\203" "\270\270\314\205\270\270\315\203\271\271\315\204\271\271\316\203\272" "\272\316\205\272\272\317\203\273\273\317\204\273\273\320\203\274\274" "\320\205\274\274\321\203\275\275\321\205\275\275\322\203\276\276\322" "\205\276\276\323\205\277\277\323\206\277\277\324\205\300\300\324\211" "\300\300\325\207\301\301\325\2\276\276\323\257\257\303\207\250\250\274" "\12\262\262\306\300\300\324\302\302\327z\210\246\265\265\311\264\264" "\311\265\265\311\263\263\307\222\222\243xx\206\206ww\205\2\212\212\232" "\260\260\304\202\266\266\312\204\266\266\313\203\267\267\313\206\267" "\267\314\204\270\270\314\204\270\270\315\204\271\271\315\204\271\271" "\316\203\272\272\316\205\272\272\317\203\273\273\317\204\273\273\320" "\203\274\274\320\205\274\274\321\203\275\275\321\205\275\275\322\204" "\276\276\322\205\276\276\323\205\277\277\323\206\277\277\324\206\300" "\300\324\212\300\300\325\203\301\301\325\2\276\276\323\257\257\303\207" "\250\250\274\12\262\262\306\300\300\324\302\302\327z\210\246\265\265" "\311\264\264\311\265\265\311\263\263\307\222\222\243xx\206\206ww\205" "\2\212\212\232\260\260\304\203\266\266\312\203\266\266\313\204\267\267" "\313\206\267\267\314\204\270\270\314\204\270\270\315\204\271\271\315" "\204\271\271\316\203\272\272\316\204\272\272\317\204\273\273\317\204" "\273\273\320\204\274\274\320\204\274\274\321\204\275\275\321\204\275" "\275\322\204\276\276\322\206\276\276\323\204\277\277\323\207\277\277" "\324\211\300\300\324\210\300\300\325\2\276\276\322\257\257\303\207\250" "\250\274\5\262\262\306\277\277\324\302\302\326y\210\246\265\265\311\202" "\264\264\311\3\263\263\307\222\222\243xx\206\206ww\205\2\212\212\232" "\260\260\304\203\266\266\312\204\266\266\313\205\267\267\313\205\267" "\267\314\204\270\270\314\204\270\270\315\203\271\271\315\205\271\271" "\316\203\272\272\316\204\272\272\317\204\273\273\317\204\273\273\320" "\204\274\274\320\204\274\274\321\204\275\275\321\205\275\275\322\204" "\276\276\322\206\276\276\323\205\277\277\323\207\277\277\324\210\300" "\300\324\206\300\300\325\2\276\276\322\257\257\303\207\250\250\274\5" "\262\262\306\277\277\324\301\301\326y\210\246\265\265\311\202\264\264" "\311\3\263\263\307\222\222\243xx\206\206ww\205\2\212\212\232\260\260" "\304\204\266\266\312\204\266\266\313\205\267\267\313\205\267\267\314" "\203\270\270\314\205\270\270\315\203\271\271\315\205\271\271\316\203" "\272\272\316\204\272\272\317\204\273\273\317\204\273\273\320\204\274" "\274\320\204\274\274\321\204\275\275\321\205\275\275\322\205\276\276" "\322\206\276\276\323\205\277\277\323\212\277\277\324\207\300\300\324" "\202\300\300\325\2\276\276\322\257\257\303\207\250\250\274\5\262\262" "\306\277\277\324\301\301\326y\210\246\265\265\311\202\264\264\311\3\263" "\263\307\222\222\243xx\206\206ww\205\3\212\212\232\260\260\304\265\265" "\312\204\266\266\312\203\266\266\313\206\267\267\313\204\267\267\314" "\204\270\270\314\205\270\270\315\203\271\271\315\205\271\271\316\203" "\272\272\316\204\272\272\317\204\273\273\317\204\273\273\320\204\274" "\274\320\205\274\274\321\204\275\275\321\205\275\275\322\204\276\276" "\322\207\276\276\323\205\277\277\323\212\277\277\324\207\300\300\324" "\2\275\275\322\257\257\303\207\250\250\274\5\262\262\306\277\277\323" "\301\301\326y\210\246\265\265\311\202\264\264\311\3\263\263\307\222\222" "\243xx\206\206ww\205\3\212\212\232\260\260\304\265\265\312\204\266\266" "\312\204\266\266\313\205\267\267\313\205\267\267\314\204\270\270\314" "\204\270\270\315\204\271\271\315\204\271\271\316\204\272\272\316\204" "\272\272\317\204\273\273\317\205\273\273\320\203\274\274\320\205\274" "\274\321\204\275\275\321\206\275\275\322\204\276\276\322\207\276\276" "\323\206\277\277\323\213\277\277\324\203\300\300\324\2\275\275\322\257" "\257\303\207\250\250\274\5\261\261\306\277\277\323\301\301\325y\210\246" "\265\265\311\202\264\264\311\3\263\263\307\222\222\243xx\206\206ww\205" "\2\212\212\232\260\260\304\202\265\265\312\204\266\266\312\204\266\266" "\313\205\267\267\313\205\267\267\314\204\270\270\314\204\270\270\315" "\204\271\271\315\204\271\271\316\204\272\272\316\205\272\272\317\203" "\273\273\317\205\273\273\320\204\274\274\320\205\274\274\321\204\275" "\275\321\205\275\275\322\205\276\276\322\207\276\276\323\212\277\277" "\323\210\277\277\324\2\275\275\321\257\257\303\206\250\250\274\6\251" "\251\274\262\262\306\277\277\323\301\301\325y\210\246\265\265\311\202" "\264\264\311\3\262\262\307\222\222\243xx\206\206ww\205\2\212\212\232" "\260\260\304\203\265\265\312\203\266\266\312\206\266\266\313\204\267" "\267\313\205\267\267\314\204\270\270\314\204\270\270\315\204\271\271" "\315\204\271\271\316\204\272\272\316\205\272\272\317\203\273\273\317" "\205\273\273\320\204\274\274\320\205\274\274\321\204\275\275\321\206" "\275\275\322\205\276\276\322\210\276\276\323\210\277\277\323\207\277" "\277\324\2\275\275\321\257\257\303\206\250\250\274\5\251\251\274\263" "\263\307\277\277\323\300\300\325y\210\246\203\264\264\311\3\262\262\307" "\222\222\243xx\206\206ww\205\2\212\212\232\260\260\304\203\265\265\312" "\203\266\266\312\207\266\266\313\204\267\267\313\205\267\267\314\203" "\270\270\314\205\270\270\315\204\271\271\315\204\271\271\316\204\272" "\272\316\205\272\272\317\204\273\273\317\204\273\273\320\204\274\274" "\320\206\274\274\321\204\275\275\321\206\275\275\322\206\276\276\322" "\212\276\276\323\210\277\277\323\202\277\277\324\2\275\275\321\257\257" "\303\206\250\250\274\5\251\251\274\263\263\307\277\277\323\300\300\325" "y\210\246\203\264\264\311\3\262\262\307\222\222\243xx\206\206ww\205\2" "\212\212\232\260\260\303\204\265\265\312\203\266\266\312\207\266\266" "\313\204\267\267\313\204\267\267\314\204\270\270\314\205\270\270\315" "\204\271\271\315\204\271\271\316\204\272\272\316\205\272\272\317\204" "\273\273\317\205\273\273\320\204\274\274\320\205\274\274\321\205\275" "\275\321\206\275\275\322\206\276\276\322\213\276\276\323\207\277\277" "\323\2\274\274\321\257\257\303\206\250\250\274\13\251\251\274\263\263" "\307\276\276\323\300\300\325y\210\246\264\264\311\264\264\310\264\264" "\311\262\262\307\222\222\243xx\206\206ww\205\2\212\212\232\257\257\303" "\205\265\265\312\202\266\266\312\207\266\266\313\204\267\267\313\205" "\267\267\314\204\270\270\314\205\270\270\315\204\271\271\315\204\271" "\271\316\204\272\272\316\205\272\272\317\204\273\273\317\205\273\273" "\320\204\274\274\320\206\274\274\321\205\275\275\321\207\275\275\322" "\206\276\276\322\213\276\276\323\204\277\277\323\2\274\274\321\257\257" "\302\206\250\250\274\13\251\251\274\263\263\307\276\276\323\300\300\324" "y\210\245\264\264\311\264\264\310\264\264\311\262\262\307\222\222\243" "xx\206\206ww\205\2\212\212\232\257\257\303\205\265\265\312\203\266\266" "\312\207\266\266\313\204\267\267\313\205\267\267\314\204\270\270\314" "\205\270\270\315\204\271\271\315\205\271\271\316\203\272\272\316\205" "\272\272\317\204\273\273\317\206\273\273\320\204\274\274\320\206\274" "\274\321\205\275\275\321\207\275\275\322\212\276\276\322\211\276\276" "\323\2\274\274\321\257\257\302\206\250\250\274\6\251\251\274\263\263" "\307\276\276\323\300\300\324y\210\245\264\264\311\202\264\264\310\3\262" "\262\307\222\222\243xx\206\206ww\205\2\212\212\232\257\257\303\206\265" "\265\312\203\266\266\312\207\266\266\313\204\267\267\313\205\267\267" "\314\204\270\270\314\205\270\270\315\204\271\271\315\205\271\271\316" "\204\272\272\316\205\272\272\317\204\273\273\317\205\273\273\320\205" "\274\274\320\206\274\274\321\205\275\275\321\210\275\275\322\211\276" "\276\322\207\276\276\323\2\274\274\320\256\256\302\206\250\250\274\6" "\251\251\274\263\263\307\276\276\322\277\277\324y\210\245\264\264\311" "\202\264\264\310\3\262\262\307\222\222\243xx\206\206ww\205\3\212\212" "\232\257\257\303\265\265\311\205\265\265\312\204\266\266\312\207\266" "\266\313\204\267\267\313\205\267\267\314\204\270\270\314\205\270\270" "\315\204\271\271\315\205\271\271\316\204\272\272\316\205\272\272\317" "\204\273\273\317\206\273\273\320\204\274\274\320\207\274\274\321\206" "\275\275\321\213\275\275\322\207\276\276\322\203\276\276\323\2\274\274" "\320\256\256\302\206\250\250\274\6\251\251\274\263\263\307\276\276\322" "\277\277\324y\210\245\264\264\311\202\264\264\310\3\262\262\306\222\222" "\243xx\206\206ww\205\2\212\212\232\257\257\303\202\265\265\311\204\265" "\265\312\206\266\266\312\206\266\266\313\204\267\267\313\205\267\267" "\314\204\270\270\314\205\270\270\315\204\271\271\315\205\271\271\316" "\204\272\272\316\205\272\272\317\205\273\273\317\205\273\273\320\205" "\274\274\320\207\274\274\321\206\275\275\321\214\275\275\322\207\276" "\276\322\2\274\274\320\256\256\302\206\250\250\274\6\251\251\274\263" "\263\307\275\275\322\277\277\324y\210\245\264\264\311\202\264\264\310" "\3\262\262\306\222\222\243xx\206\206ww\205\2\212\212\232\257\257\303" "\203\265\265\311\204\265\265\312\206\266\266\312\206\266\266\313\204" "\267\267\313\205\267\267\314\204\270\270\314\205\270\270\315\204\271" "\271\315\205\271\271\316\204\272\272\316\206\272\272\317\204\273\273" "\317\206\273\273\320\205\274\274\320\210\274\274\321\206\275\275\321" "\214\275\275\322\204\276\276\322\2\273\273\320\256\256\302\206\250\250" "\274\6\251\251\274\263\263\307\275\275\322\277\277\323y\210\245\264\264" "\311\202\264\264\310\3\262\262\306\222\222\243xx\206\206ww\205\2\212" "\212\232\257\257\303\203\265\265\311\205\265\265\312\206\266\266\312" "\205\266\266\313\205\267\267\313\205\267\267\314\204\270\270\314\205" "\270\270\315\204\271\271\315\206\271\271\316\204\272\272\316\205\272" "\272\317\205\273\273\317\206\273\273\320\205\274\274\320\210\274\274" "\321\212\275\275\321\212\275\275\322\2\273\273\320\256\256\302\206\250" "\250\274\6\251\251\274\262\262\307\275\275\322\277\277\323y\210\245\264" "\264\311\202\264\264\310\3\262\262\306\222\222\243xx\206\206ww\205\2" "\212\212\232\257\257\303\204\265\265\311\204\265\265\312\207\266\266" "\312\205\266\266\313\205\267\267\313\205\267\267\314\204\270\270\314" "\205\270\270\315\205\271\271\315\205\271\271\316\204\272\272\316\206" "\272\272\317\205\273\273\317\206\273\273\320\206\274\274\320\210\274" "\274\321\212\275\275\321\207\275\275\322\2\273\273\320\256\256\302\206" "\250\250\274\6\251\251\274\262\262\306\275\275\321\276\276\323y\210\245" "\264\264\311\202\264\264\310\3\262\262\306\222\222\243xx\206\206ww\205" "\2\212\212\232\257\257\303\205\265\265\311\204\265\265\312\207\266\266" "\312\205\266\266\313\205\267\267\313\205\267\267\314\204\270\270\314" "\206\270\270\315\204\271\271\315\205\271\271\316\205\272\272\316\206" "\272\272\317\204\273\273\317\207\273\273\320\206\274\274\320\211\274" "\274\321\212\275\275\321\204\275\275\322\2\273\273\317\256\256\302\206" "\250\250\274\13\251\251\274\262\262\306\275\275\321\276\276\323y\210" "\245\264\264\311\263\263\310\264\264\310\262\262\306\222\222\243xx\206" "\206ww\205\3\212\212\232\257\257\303\264\264\311\204\265\265\311\207" "\265\265\312\205\266\266\312\205\266\266\313\205\267\267\313\205\267" "\267\314\204\270\270\314\206\270\270\315\204\271\271\315\206\271\271" "\316\204\272\272\316\206\272\272\317\205\273\273\317\207\273\273\320" "\207\274\274\320\214\274\274\321\210\275\275\321\2\273\273\317\256\256" "\302\206\250\250\274\6\251\251\274\262\262\306\275\275\321\276\276\323" "y\210\245\264\264\310\202\263\263\310\3\262\262\306\222\222\243xx\206" "\206ww\205\3\212\212\232\257\257\303\264\264\311\205\265\265\311\207" "\265\265\312\204\266\266\312\206\266\266\313\205\267\267\313\205\267" "\267\314\204\270\270\314\206\270\270\315\204\271\271\315\206\271\271" "\316\205\272\272\316\206\272\272\317\205\273\273\317\210\273\273\320" "\207\274\274\320\214\274\274\321\205\275\275\321\2\273\273\317\256\256" "\302\206\250\250\274\6\251\251\274\262\262\306\274\274\321\276\276\322" "y\210\245\264\264\310\202\263\263\310\3\262\262\306\222\222\243xx\206" "\206ww\205\2\212\212\232\257\257\303\202\264\264\311\204\265\265\311" "\210\265\265\312\204\266\266\312\206\266\266\313\205\267\267\313\205" "\267\267\314\205\270\270\314\205\270\270\315\205\271\271\315\206\271" "\271\316\204\272\272\316\207\272\272\317\206\273\273\317\207\273\273" "\320\210\274\274\320\216\274\274\321\2\272\272\317\256\256\302\206\250" "\250\274\6\251\251\274\262\262\306\274\274\321\276\276\322y\210\245\264" "\264\310\202\263\263\310\3\262\262\306\222\222\243xx\206\206ww\205\2" "\212\212\232\257\257\303\203\264\264\311\204\265\265\311\210\265\265" "\312\204\266\266\312\206\266\266\313\205\267\267\313\205\267\267\314" "\205\270\270\314\206\270\270\315\204\271\271\315\206\271\271\316\205" "\272\272\316\207\272\272\317\206\273\273\317\210\273\273\320\214\274" "\274\320\207\274\274\321\2\272\272\317\256\256\302\206\250\250\274\6" "\251\251\274\262\262\306\274\274\320\275\275\322y\210\245\264\264\310" "\202\263\263\310\3\262\262\306\222\222\243xx\206\206ww\205\2\212\212" "\232\257\257\303\204\264\264\311\203\265\265\311\210\265\265\312\205" "\266\266\312\206\266\266\313\205\267\267\313\206\267\267\314\204\270" "\270\314\206\270\270\315\205\271\271\315\206\271\271\316\205\272\272" "\316\207\272\272\317\206\273\273\317\212\273\273\320\212\274\274\320" "\205\274\274\321\2\272\272\316\256\256\302\206\250\250\274\6\251\251" "\274\262\262\306\274\274\320\275\275\322y\210\245\264\264\310\202\263" "\263\310\3\262\262\306\222\222\243xx\206\206ww\205\2\212\212\232\257" "\257\303\205\264\264\311\203\265\265\311\210\265\265\312\205\266\266" "\312\206\266\266\313\205\267\267\313\206\267\267\314\204\270\270\314" "\206\270\270\315\205\271\271\315\207\271\271\316\205\272\272\316\207" "\272\272\317\207\273\273\317\215\273\273\320\211\274\274\320\2\272\272" "\316\256\256\302\206\250\250\274\6\251\251\274\262\262\306\274\274\320" "\275\275\322y\210\245\264\264\310\202\263\263\310\3\262\262\306\222\222" "\243xx\206\206ww\205\2\212\212\232\257\257\303\205\264\264\311\204\265" "\265\311\210\265\265\312\205\266\266\312\206\266\266\313\205\267\267" "\313\206\267\267\314\205\270\270\314\206\270\270\315\205\271\271\315" "\206\271\271\316\206\272\272\316\210\272\272\317\207\273\273\317\215" "\273\273\320\206\274\274\320\2\272\272\316\256\256\302\206\250\250\274" "\6\251\251\274\262\262\306\273\273\320\275\275\321y\210\245\264\264\310" "\202\263\263\310\3\261\261\306\222\222\243xx\206\206ww\205\2\215\215" "\236\260\260\304\206\264\264\311\204\265\265\311\2\265\265\312\265\265" "\311\206\265\265\312\205\266\266\312\207\266\266\313\204\267\267\313" "\206\267\267\314\205\270\270\314\206\270\270\315\205\271\271\315\207" "\271\271\316\206\272\272\316\210\272\272\317\210\273\273\317\217\273" "\273\320\3\274\274\320\272\272\316\256\256\302\206\250\250\274\6\251" "\251\274\262\262\306\273\273\320\275\275\321y\210\245\264\264\310\202" "\263\263\310\3\261\261\306\222\222\243xx\206\206ww\205\2\217\217\237" "\261\261\305\206\264\264\311\207\265\265\311\206\265\265\312\205\266" "\266\312\207\266\266\313\204\267\267\313\207\267\267\314\205\270\270" "\314\206\270\270\315\205\271\271\315\207\271\271\316\206\272\272\316" "\211\272\272\317\214\273\273\317\211\273\273\320\2\271\271\316\256\256" "\302\206\250\250\274\5\251\251\274\261\261\306\273\273\320\274\274\321" "y\207\245\203\263\263\310\3\261\261\306\222\222\243xx\206\206ww\205\3" "\217\217\237\261\261\305\264\264\310\206\264\264\311\207\265\265\311" "\206\265\265\312\206\266\266\312\206\266\266\313\205\267\267\313\206" "\267\267\314\205\270\270\314\207\270\270\315\205\271\271\315\207\271" "\271\316\207\272\272\316\212\272\272\317\212\273\273\317\207\273\273" "\320\2\271\271\316\256\256\302\206\250\250\274\5\251\251\274\261\261" "\305\273\273\317\274\274\321y\207\245\203\263\263\310\3\261\261\306\222" "\222\243xx\206\206ww\205\2\217\217\237\261\261\305\202\264\264\310\205" "\264\264\311\210\265\265\311\206\265\265\312\206\266\266\312\206\266" "\266\313\205\267\267\313\206\267\267\314\206\270\270\314\206\270\270" "\315\206\271\271\315\210\271\271\316\206\272\272\316\213\272\272\317" "\215\273\273\317\3\273\273\320\271\271\315\256\256\301\206\250\250\274" "\13\251\251\274\261\261\305\273\273\317\274\274\321y\207\245\263\263" "\310\263\263\307\263\263\310\261\261\306\222\222\243xx\206\206ww\205" "\2\217\217\237\261\261\305\203\264\264\310\205\264\264\311\210\265\265" "\311\207\265\265\312\205\266\266\312\206\266\266\313\205\267\267\313" "\207\267\267\314\205\270\270\314\207\270\270\315\206\271\271\315\210" "\271\271\316\207\272\272\316\217\272\272\317\207\273\273\317\2\271\271" "\315\256\256\301\206\250\250\274\6\251\251\274\261\261\305\272\272\317" "\274\274\321y\207\245\263\263\310\202\263\263\307\3\261\261\306\222\222" "\242xx\206\206ww\205\2\217\217\237\261\261\305\204\264\264\310\205\264" "\264\311\210\265\265\311\207\265\265\312\205\266\266\312\206\266\266" "\313\206\267\267\313\206\267\267\314\206\270\270\314\207\270\270\315" "\206\271\271\315\211\271\271\316\207\272\272\316\217\272\272\317\204" "\273\273\317\2\271\271\315\255\255\301\206\250\250\274\6\251\251\274" "\261\261\305\272\272\317\274\274\320y\207\245\263\263\310\202\263\263" "\307\3\261\261\306\222\222\242xx\206\206ww\205\2\217\217\237\261\261" "\305\205\264\264\310\207\264\264\311\206\265\265\311\207\265\265\312" "\205\266\266\312\207\266\266\313\205\267\267\313\207\267\267\314\205" "\270\270\314\210\270\270\315\206\271\271\315\211\271\271\316\211\272" "\272\316\217\272\272\317\2\271\271\315\255\255\301\206\250\250\274\6" "\251\251\274\261\261\305\272\272\317\274\274\320y\207\245\263\263\310" "\202\263\263\307\3\261\261\306\222\222\242xx\206\206ww\205\2\217\217" "\237\260\260\305\205\264\264\310\210\264\264\311\206\265\265\311\207" "\265\265\312\205\266\266\312\207\266\266\313\206\267\267\313\207\267" "\267\314\205\270\270\314\210\270\270\315\207\271\271\315\211\271\271" "\316\215\272\272\316\210\272\272\317\2\270\270\315\255\255\301\206\250" "\250\274\6\251\251\274\261\261\305\272\272\316\273\273\320x\207\245\263" "\263\310\202\263\263\307\3\261\261\305\222\222\242xx\206\206ww\205\2" "\217\217\237\260\260\305\206\264\264\310\210\264\264\311\206\265\265" "\311\207\265\265\312\206\266\266\312\207\266\266\313\205\267\267\313" "\207\267\267\314\206\270\270\314\210\270\270\315\207\271\271\315\213" "\271\271\316\214\272\272\316\205\272\272\317\2\270\270\315\255\255\301" "\206\250\250\274\6\251\251\274\261\261\305\272\272\316\273\273\320x\207" "\245\263\263\310\202\263\263\307\3\261\261\305\222\222\242xx\206\206" "ww\205\3\217\217\237\260\260\305\263\263\310\205\264\264\310\211\264" "\264\311\206\265\265\311\207\265\265\312\206\266\266\312\207\266\266" "\313\206\267\267\313\207\267\267\314\206\270\270\314\210\270\270\315" "\210\271\271\315\214\271\271\316\1\272\272\316\202\271\271\316\212\272" "\272\316\2\270\270\315\255\255\301\206\250\250\274\6\251\251\274\261" "\261\305\272\272\316\273\273\320x\207\245\263\263\310\202\263\263\307" "\3\261\261\305\222\222\242xx\206\206ww\205\2\217\217\237\260\260\305" "\202\263\263\310\205\264\264\310\211\264\264\311\206\265\265\311\210" "\265\265\312\205\266\266\312\207\266\266\313\206\267\267\313\210\267" "\267\314\206\270\270\314\211\270\270\315\210\271\271\315\217\271\271" "\316\207\272\272\316\2\270\270\314\255\255\301\206\250\250\274\6\251" "\251\274\261\261\305\271\271\316\273\273\317x\207\245\263\263\310\202" "\263\263\307\3\261\261\305\221\221\242xx\206\206ww\205\2\217\217\237" "\260\260\304\203\263\263\310\204\264\264\310\212\264\264\311\206\265" "\265\311\210\265\265\312\206\266\266\312\207\266\266\313\206\267\267" "\313\210\267\267\314\206\270\270\314\212\270\270\315\210\271\271\315" "\221\271\271\316\202\272\272\316\2\270\270\314\255\255\301\206\250\250" "\274\6\251\251\274\261\261\305\271\271\316\273\273\317x\207\245\263\263" "\310\202\263\263\307\3\261\261\305\221\221\242xx\206\206ww\205\2\217" "\217\237\260\260\304\204\263\263\310\204\264\264\310\212\264\264\311" "\207\265\265\311\207\265\265\312\206\266\266\312\207\266\266\313\207" "\267\267\313\210\267\267\314\206\270\270\314\212\270\270\315\212\271" "\271\315\217\271\271\316\2\270\270\314\255\255\301\206\250\250\274\6" "\251\251\274\261\261\305\271\271\316\272\272\317x\207\245\263\263\310" "\202\263\263\307\3\261\261\305\221\221\242xx\206\206ww\205\2\217\217" "\237\260\260\304\205\263\263\310\204\264\264\310\213\264\264\311\206" "\265\265\311\207\265\265\312\206\266\266\312\210\266\266\313\206\267" "\267\313\211\267\267\314\207\270\270\314\213\270\270\315\216\271\271" "\315\207\271\271\316\2\267\267\314\255\255\301\206\250\250\274\13\251" "\251\274\260\260\305\271\271\315\272\272\317x\207\245\263\263\310\262" "\262\307\263\263\307\261\261\305\221\221\242xx\206\206ww\205\2\216\216" "\237\260\260\304\205\263\263\310\210\264\264\310\210\264\264\311\206" "\265\265\311\210\265\265\312\206\266\266\312\210\266\266\313\206\267" "\267\313\211\267\267\314\207\270\270\314\214\270\270\315\215\271\271" "\315\205\271\271\316\2\267\267\314\255\255\301\206\250\250\274\6\251" "\251\274\260\260\304\271\271\315\272\272\317x\207\245\263\263\307\202" "\262\262\307\3\261\261\305\221\221\242xx\206\206ww\205\2\216\216\237" "\260\260\304\206\263\263\310\210\264\264\310\210\264\264\311\206\265" "\265\311\210\265\265\312\206\266\266\312\211\266\266\313\206\267\267" "\313\211\267\267\314\210\270\270\314\215\270\270\315\202\271\271\315" "\1\270\270\315\213\271\271\315\2\267\267\314\255\255\301\206\250\250" "\274\6\251\251\274\260\260\304\271\271\315\272\272\317x\207\245\263\263" "\307\202\262\262\307\3\261\261\305\221\221\242xx\206\206ww\205\2\216" "\216\237\260\260\304\206\263\263\310\211\264\264\310\210\264\264\311" "\207\265\265\311\210\265\265\312\206\266\266\312\210\266\266\313\207" "\267\267\313\212\267\267\314\210\270\270\314\221\270\270\315\207\271" "\271\315\2\267\267\313\255\255\301\206\250\250\274\6\251\251\274\260" "\260\304\270\270\315\272\272\316x\207\245\263\263\307\202\262\262\307" "\3\261\261\305\221\221\242xx\206\206ww\205\2\216\216\237\260\260\304" "\207\263\263\310\211\264\264\310\210\264\264\311\207\265\265\311\210" "\265\265\312\207\266\266\312\210\266\266\313\207\267\267\313\212\267" "\267\314\212\270\270\314\222\270\270\315\202\271\271\315\2\267\267\313" "\255\255\301\206\250\250\274\6\251\251\274\260\260\304\270\270\315\272" "\272\316x\207\244\263\263\307\202\262\262\307\3\261\261\305\221\221\242" "xx\206\206ww\205\2\216\216\237\260\260\304\210\263\263\310\211\264\264" "\310\211\264\264\311\206\265\265\311\211\265\265\312\206\266\266\312" "\211\266\266\313\210\267\267\313\212\267\267\314\213\270\270\314\220" "\270\270\315\2\267\267\313\255\255\301\206\250\250\274\6\251\251\274" "\260\260\304\270\270\315\271\271\316x\207\244\263\263\307\202\262\262" "\307\3\261\261\305\221\221\242xx\206\206ww\205\3\216\216\237\260\260" "\304\263\263\307\210\263\263\310\211\264\264\310\211\264\264\311\207" "\265\265\311\210\265\265\312\207\266\266\312\211\266\266\313\210\267" "\267\313\213\267\267\314\220\270\270\314\210\270\270\315\2\267\267\313" "\255\255\301\206\250\250\274\6\251\251\274\260\260\304\270\270\314\271" "\271\316x\207\244\263\263\307\202\262\262\307\3\261\261\305\221\221\242" "xx\206\206ww\205\2\216\216\237\260\260\304\202\263\263\307\212\263\263" "\310\207\264\264\310\211\264\264\311\207\265\265\311\211\265\265\312" "\207\266\266\312\211\266\266\313\211\267\267\313\214\267\267\314\216" "\270\270\314\206\270\270\315\2\266\266\313\255\255\301\206\250\250\274" "\6\251\251\274\260\260\304\270\270\314\271\271\316x\207\244\263\263\307" "\202\262\262\307\3\261\261\305\221\221\242xx\206\206ww\205\2\216\216" "\237\260\260\304\203\263\263\307\212\263\263\310\210\264\264\310\211" "\264\264\311\207\265\265\311\211\265\265\312\207\266\266\312\212\266" "\266\313\210\267\267\313\216\267\267\314\220\270\270\314\2\266\266\313" "\255\255\301\206\250\250\274\6\251\251\274\260\260\304\270\270\314\271" "\271\316x\207\244\263\263\307\202\262\262\307\3\260\260\305\221\221\242" "xx\206\206ww\205\2\216\216\237\260\260\304\204\263\263\307\212\263\263" "\310\210\264\264\310\211\264\264\311\207\265\265\311\211\265\265\312" "\210\266\266\312\212\266\266\313\211\267\267\313\223\267\267\314\210" "\270\270\314\2\266\266\313\255\255\301\206\250\250\274\6\251\251\274" "\260\260\304\267\267\314\271\271\315x\207\244\263\263\307\202\262\262" "\307\3\260\260\305\221\221\242xx\206\206ww\205\2\216\216\237\260\260" "\304\205\263\263\307\213\263\263\310\207\264\264\310\212\264\264\311" "\207\265\265\311\211\265\265\312\210\266\266\312\213\266\266\313\211" "\267\267\313\223\267\267\314\205\270\270\314\2\266\266\312\255\255\301" "\206\250\250\274\5\251\251\274\260\260\304\267\267\314\271\271\315x\207" "\244\203\262\262\307\3\260\260\305\221\221\242xx\206\206ww\205\2\216" "\216\237\260\260\304\206\263\263\307\213\263\263\310\210\264\264\310" "\211\264\264\311\210\265\265\311\211\265\265\312\210\266\266\312\213" "\266\266\313\213\267\267\313\224\267\267\314\2\266\266\312\255\255\301" "\206\250\250\274\5\251\251\274\260\260\304\267\267\314\270\270\315x\207" "\244\203\262\262\307\3\260\260\305\221\221\242xx\206\206ww\205\2\216" "\216\237\260\260\304\206\263\263\307\214\263\263\310\210\264\264\310" "\212\264\264\311\207\265\265\311\212\265\265\312\210\266\266\312\214" "\266\266\313\214\267\267\313\220\267\267\314\2\266\266\312\255\255\300" "\206\250\250\274\5\251\251\274\260\260\304\267\267\314\270\270\315x\207" "\244\203\262\262\307\3\260\260\305\221\221\242xx\206\206ww\205\2\216" "\216\237\257\257\304\207\263\263\307\214\263\263\310\210\264\264\310" "\212\264\264\311\210\265\265\311\212\265\265\312\211\266\266\312\215" "\266\266\313\221\267\267\313\207\267\267\314\2\266\266\312\255\255\300" "\206\250\250\274\13\251\251\274\257\257\304\267\267\313\270\270\315x" "\207\244\262\262\307\262\262\306\262\262\307\260\260\305\221\221\242" "xx\206\206ww\205\3\216\216\237\257\257\304\262\262\307\206\263\263\307" "\216\263\263\310\210\264\264\310\212\264\264\311\210\265\265\311\212" "\265\265\312\211\266\266\312\216\266\266\313\221\267\267\313\204\267" "\267\314\2\265\265\312\254\254\300\206\250\250\274\6\251\251\274\257" "\257\303\267\267\313\270\270\315x\207\244\262\262\307\202\262\262\306" "\3\260\260\305\221\221\242xx\206\206ww\205\2\216\216\237\257\257\304" "\202\262\262\307\207\263\263\307\215\263\263\310\210\264\264\310\212" "\264\264\311\211\265\265\311\213\265\265\312\211\266\266\312\217\266" "\266\313\221\267\267\313\2\265\265\312\254\254\300\206\250\250\274\6" "\251\251\274\257\257\303\267\267\313\270\270\315x\207\244\262\262\307" "\202\262\262\306\3\260\260\305\221\221\242xx\206\206ww\205\2\216\216" "\237\257\257\304\203\262\262\307\211\263\263\307\213\263\263\310\211" "\264\264\310\212\264\264\311\211\265\265\311\213\265\265\312\212\266" "\266\312\225\266\266\313\210\267\267\313\2\265\265\312\254\254\300\206" "\250\250\274\6\251\251\274\257\257\303\266\266\313\270\270\314x\207\244" "\262\262\307\202\262\262\306\3\260\260\305\221\221\242xx\206\206ww\205" "\2\216\216\237\257\257\304\204\262\262\307\212\263\263\307\213\263\263" "\310\210\264\264\310\213\264\264\311\211\265\265\311\214\265\265\312" "\212\266\266\312\225\266\266\313\205\267\267\313\2\265\265\312\254\254" "\300\206\250\250\274\6\251\251\274\257\257\303\266\266\313\270\270\314" "x\207\244\262\262\307\202\262\262\306\3\260\260\305\221\221\242xx\206" "\206ww\205\2\216\216\237\257\257\303\205\262\262\307\212\263\263\307" "\213\263\263\310\211\264\264\310\213\264\264\311\211\265\265\311\214" "\265\265\312\214\266\266\312\226\266\266\313\2\265\265\311\254\254\300" "\206\250\250\274\6\251\251\274\257\257\303\266\266\313\267\267\314x\207" "\244\262\262\307\202\262\262\306\3\260\260\304\221\221\242xx\206\206" "ww\205\2\216\216\237\257\257\303\206\262\262\307\212\263\263\307\214" "\263\263\310\211\264\264\310\213\264\264\311\211\265\265\311\215\265" "\265\312\215\266\266\312\222\266\266\313\2\265\265\311\254\254\300\206" "\250\250\274\6\251\251\274\257\257\303\266\266\313\267\267\314x\207\244" "\262\262\307\202\262\262\306\3\260\260\304\221\221\242xx\206\206ww\205" "\2\216\216\237\257\257\303\206\262\262\307\214\263\263\307\213\263\263" "\310\211\264\264\310\214\264\264\311\211\265\265\311\216\265\265\312" "\224\266\266\312\210\266\266\313\2\265\265\311\254\254\300\206\250\250" "\274\6\251\251\274\257\257\303\266\266\312\267\267\314x\207\244\262\262" "\307\202\262\262\306\3\260\260\304\221\221\242xx\206\206ww\205\2\216" "\216\237\257\257\303\207\262\262\307\214\263\263\307\214\263\263\310" "\211\264\264\310\214\264\264\311\212\265\265\311\217\265\265\312\222" "\266\266\312\206\266\266\313\2\265\265\311\254\254\300\206\250\250\274" "\6\251\251\274\257\257\303\266\266\312\267\267\314x\207\244\262\262\307" "\202\262\262\306\3\260\260\304\221\221\242xx\206\206ww\205\2\216\216" "\237\257\257\303\210\262\262\307\214\263\263\307\214\263\263\310\212" "\264\264\310\214\264\264\311\213\265\265\311\220\265\265\312\224\266" "\266\312\2\265\265\311\254\254\300\206\250\250\274\6\251\251\274\257" "\257\303\266\266\312\267\267\314x\207\244\262\262\307\202\262\262\306" "\3\260\260\304\221\221\242xx\206\206ww\205\2\216\216\237\257\257\303" "\211\262\262\307\215\263\263\307\214\263\263\310\212\264\264\310\214" "\264\264\311\213\265\265\311\222\265\265\312\220\266\266\312\2\264\264" "\311\254\254\300\206\250\250\274\6\251\251\274\257\257\303\266\266\312" "\267\267\313x\207\244\262\262\307\202\262\262\306\3\260\260\304\221\221" "\242xx\206\206ww\205\2\216\216\237\257\257\303\215\262\262\307\212\263" "\263\307\215\263\263\310\212\264\264\310\215\264\264\311\213\265\265" "\311\230\265\265\312\207\266\266\312\2\264\264\311\254\254\300\206\250" "\250\274\6\251\251\274\257\257\303\265\265\312\267\267\313x\207\244\262" "\262\307\202\262\262\306\3\260\260\304\221\221\242xx\206\206ww\205\2" "\216\216\237\257\257\303\216\262\262\307\213\263\263\307\214\263\263" "\310\213\264\264\310\215\264\264\311\215\265\265\311\230\265\265\312" "\203\266\266\312\2\264\264\311\254\254\300\206\250\250\274\13\251\251" "\274\257\257\303\265\265\312\267\267\313x\207\244\262\262\307\261\261" "\306\262\262\306\260\260\304\221\221\242xx\206\206ww\205\3\216\216\237" "\257\257\303\262\262\306\217\262\262\307\212\263\263\307\215\263\263" "\310\213\264\264\310\216\264\264\311\215\265\265\311\230\265\265\312" "\2\264\264\311\254\254\300\206\250\250\274\6\251\251\274\257\257\303" "\265\265\312\266\266\313x\207\244\262\262\307\202\261\261\306\3\260\260" "\304\221\221\242xx\206\206ww\205\2\216\216\237\257\257\303\202\262\262" "\306\217\262\262\307\213\263\263\307\215\263\263\310\213\264\264\310" "\217\264\264\311\216\265\265\311\224\265\265\312\2\264\264\310\254\254" "\300\206\250\250\274\6\251\251\274\257\257\303\265\265\312\266\266\313" "x\206\244\262\262\307\202\261\261\306\3\260\260\304\221\221\242xx\206" "\206ww\205\2\216\216\237\257\257\303\203\262\262\306\217\262\262\307" "\213\263\263\307\216\263\263\310\213\264\264\310\220\264\264\311\220" "\265\265\311\203\265\265\312\202\265\265\311\212\265\265\312\2\264\264" "\310\254\254\300\206\250\250\274\6\251\251\274\257\257\303\265\265\311" "\266\266\313x\206\244\262\262\306\202\261\261\306\3\260\260\304\221\221" "\242xx\206\206ww\205\2\216\216\236\257\257\303\205\262\262\306\217\262" "\262\307\213\263\263\307\216\263\263\310\213\264\264\310\221\264\264" "\311\225\265\265\311\207\265\265\312\2\264\264\310\254\254\300\206\250" "\250\274\6\251\251\274\256\256\303\265\265\311\266\266\313x\206\244\262" "\262\306\202\261\261\306\3\260\260\304\221\221\242xx\206\206ww\205\2" "\216\216\236\257\257\303\205\262\262\306\220\262\262\307\214\263\263" "\307\216\263\263\310\214\264\264\310\222\264\264\311\227\265\265\311" "\3\265\265\312\264\264\310\254\254\300\206\250\250\274\6\251\251\274" "\256\256\302\265\265\311\266\266\313x\206\244\262\262\306\202\261\261" "\306\3\260\260\304\221\221\242xx\206\206ww\205\2\216\216\236\257\257" "\303\206\262\262\306\221\262\262\307\213\263\263\307\217\263\263\310" "\215\264\264\310\223\264\264\311\224\265\265\311\2\264\264\310\254\254" "\300\206\250\250\274\6\251\251\274\256\256\302\265\265\311\266\266\313" "x\206\244\262\262\306\202\261\261\306\3\260\260\304\221\221\242xx\206" "\206ww\205\2\216\216\236\257\257\303\206\262\262\306\222\262\262\307" "\214\263\263\307\217\263\263\310\216\264\264\310\225\264\264\311\203" "\265\265\311\202\264\264\311\212\265\265\311\2\263\263\310\254\254\300" "\206\250\250\274\6\251\251\274\256\256\302\264\264\311\266\266\312x\206" "\244\262\262\306\202\261\261\306\3\260\260\304\221\221\242xx\206\206" "ww\205\2\216\216\236\257\257\303\207\262\262\306\223\262\262\307\214" "\263\263\307\220\263\263\310\216\264\264\310\232\264\264\311\207\265" "\265\311\2\263\263\310\254\254\300\206\250\250\274\6\251\251\274\256" "\256\302\264\264\311\266\266\312x\206\244\262\262\306\202\261\261\306" "\3\260\260\304\221\221\242xx\206\206ww\205\2\216\216\236\257\257\303" "\210\262\262\306\224\262\262\307\214\263\263\307\220\263\263\310\217" "\264\264\310\235\264\264\311\3\265\265\311\263\263\310\254\254\300\206" "\250\250\274\6\251\251\274\256\256\302\264\264\311\266\266\312x\206\244" "\262\262\306\202\261\261\306\3\260\260\304\221\221\242xx\206\206ww\205" "\2\216\216\236\257\257\303\211\262\262\306\202\262\262\307\202\262\262" "\306\220\262\262\307\215\263\263\307\221\263\263\310\217\264\264\310" "\233\264\264\311\2\263\263\310\254\254\300\206\250\250\274\6\251\251" "\274\256\256\302\264\264\311\265\265\312x\206\244\262\262\306\202\261" "\261\306\3\260\260\304\221\221\242xx\206\206ww\205\2\216\216\236\257" "\257\303\216\262\262\306\221\262\262\307\215\263\263\307\222\263\263" "\310\220\264\264\310\227\264\264\311\2\263\263\310\254\254\300\206\250" "\250\274\6\251\251\274\256\256\302\264\264\311\265\265\312w\206\244\262" "\262\306\202\261\261\306\3\260\260\304\221\221\242xx\206\206ww\205\3" "\216\216\236\257\257\303\261\261\306\217\262\262\306\221\262\262\307" "\215\263\263\307\223\263\263\310\222\264\264\310\222\264\264\311\2\263" "\263\307\254\254\300\206\250\250\274\6\251\251\274\256\256\302\264\264" "\311\265\265\312w\206\244\262\262\306\202\261\261\306\3\257\257\304\221" "\221\242xx\206\206ww\205\2\216\216\236\256\256\303\202\261\261\306\217" "\262\262\306\222\262\262\307\215\263\263\307\224\263\263\310\232\264" "\264\310\207\264\264\311\2\263\263\307\254\254\300\206\250\250\274\6" "\251\251\274\256\256\302\264\264\310\265\265\312w\206\244\262\262\306" "\202\261\261\306\3\257\257\304\221\221\242xx\206\206ww\205\2\216\216" "\236\256\256\303\203\261\261\306\220\262\262\306\222\262\262\307\216" "\263\263\307\224\263\263\310\230\264\264\310\206\264\264\311\2\263\263" "\307\254\254\300\206\250\250\274\6\251\251\274\256\256\302\264\264\310" "\265\265\312w\206\244\262\262\306\202\261\261\306\3\257\257\304\221\221" "\242xx\206\206ww\205\2\216\216\236\256\256\303\205\261\261\306\217\262" "\262\306\223\262\262\307\216\263\263\307\226\263\263\310\232\264\264" "\310\2\263\263\307\254\254\300\206\250\250\274\6\251\251\274\256\256" "\302\264\264\310\265\265\312|\212\246\262\262\306\202\261\261\306\3\257" "\257\304\221\221\242xx\206\206ww\205\2\216\216\236\256\256\303\205\261" "\261\306\221\262\262\306\223\262\262\307\217\263\263\307\227\263\263" "\310\226\264\264\310\2\263\263\307\254\254\300\206\250\250\274\6\251" "\251\274\256\256\302\264\264\310\265\265\311\204\217\253\262\262\307" "\202\261\261\306\3\257\257\304\221\221\242xx\206\206ww\205\2\216\216" "\236\256\256\303\206\261\261\306\221\262\262\306\224\262\262\307\217" "\263\263\307\232\263\263\310\221\264\264\310\2\263\263\307\254\254\277" "\206\250\250\274\6\251\251\274\256\256\302\264\264\310\265\265\311\204" "\220\253\262\262\306\202\261\261\306\3\257\257\304\221\221\242xx\206" "\206ww\205\2\216\216\236\256\256\303\206\261\261\306\223\262\262\306" "\224\262\262\307\220\263\263\307\241\263\263\310\207\264\264\310\2\262" "\262\307\254\254\277\206\250\250\274\6\251\251\274\256\256\302\263\263" "\310\265\265\311\204\220\253\262\262\306\202\261\261\306\3\257\257\304" "\221\221\241xx\206\206ww\205\2\216\216\236\256\256\303\207\261\261\306" "\224\262\262\306\224\262\262\307\221\263\263\307\241\263\263\310\204" "\264\264\310\2\262\262\307\254\254\277\206\250\250\274\6\251\251\274" "\256\256\302\263\263\310\265\265\311\204\220\253\262\262\306\202\261" "\261\306\3\256\256\302\216\216\236xx\206\206ww\205\2\216\216\236\256" "\256\302\210\261\261\306\203\262\262\306\1\261\261\306\221\262\262\306" "\224\262\262\307\223\263\263\307\241\263\263\310\2\262\262\307\253\253" "\277\206\250\250\274\12\251\251\274\256\256\302\263\263\310\264\264\311" "\204\220\253\262\262\306\261\261\305\261\261\306\255\255\302\214\214" "\234\207ww\205\2\216\216\236\256\256\302\211\261\261\306\1\262\262\306" "\203\261\261\306\222\262\262\306\225\262\262\307\223\263\263\307\236" "\263\263\310\2\262\262\307\253\253\277\206\250\250\274\6\251\251\274" "\256\256\302\263\263\310\264\264\311\204\220\253\262\262\306\202\261" "\261\305\2\255\255\302\214\214\234\207ww\205\2\216\216\236\256\256\302" "\217\261\261\306\221\262\262\306\227\262\262\307\224\263\263\307\232" "\263\263\310\2\262\262\307\253\253\277\206\250\250\274\6\251\251\274" "\256\256\302\263\263\310\264\264\311\204\220\253\262\262\306\202\261" "\261\305\2\255\255\302\214\214\234\207ww\205\2\216\216\236\256\256\302" "\221\261\261\306\221\262\262\306\227\262\262\307\226\263\263\307\226" "\263\263\310\2\262\262\307\253\253\277\206\250\250\274\6\251\251\274" "\256\256\302\263\263\310\264\264\311\204\220\253\262\262\306\202\261" "\261\305\2\255\255\301\214\214\234\207ww\205\2\216\216\236\256\256\302" "\222\261\261\306\222\262\262\306\230\262\262\307\230\263\263\307\205" "\263\263\310\203\263\263\307\211\263\263\310\2\262\262\306\253\253\277" "\206\250\250\274\6\251\251\274\256\256\302\263\263\307\264\264\311\204" "\220\253\262\262\306\202\261\261\305\2\255\255\301\214\214\234\207ww" "\205\2\216\216\236\256\256\302\224\261\261\306\223\262\262\306\230\262" "\262\307\237\263\263\307\207\263\263\310\2\262\262\306\253\253\277\206" "\250\250\274\6\251\251\274\255\255\302\263\263\307\264\264\311\204\220" "\253\262\262\306\202\261\261\305\2\255\255\301\214\214\234\207ww\205" "\2\216\216\236\256\256\302\226\261\261\306\223\262\262\306\232\262\262" "\307\240\263\263\307\202\263\263\310\2\262\262\306\253\253\277\206\250" "\250\274\6\251\251\274\255\255\302\263\263\307\264\264\311\204\220\253" "\262\262\306\202\261\261\305\2\255\255\301\214\214\234\207ww\205\2\216" "\216\236\256\256\302\227\261\261\306\224\262\262\306\233\262\262\307" "\237\263\263\307\2\262\262\306\253\253\277\206\250\250\274\6\251\251" "\274\255\255\302\263\263\307\264\264\311\204\220\253\262\262\306\202" "\261\261\305\2\255\255\301\214\214\234\207ww\205\2\216\216\236\256\256" "\302\231\261\261\306\224\262\262\306\235\262\262\307\233\263\263\307" "\2\262\262\306\253\253\277\206\250\250\274\6\251\251\274\255\255\301" "\263\263\307\264\264\310\204\220\253\261\261\306\202\261\261\305\2\255" "\255\301\214\214\234\207ww\205\2\216\216\236\256\256\302\233\261\261" "\306\221\262\262\306\4\261\261\306\260\261\306\263\263\307\262\262\306" "\236\262\262\307\227\263\263\307\2\261\261\306\253\253\277\206\250\250" "\274\6\251\251\274\255\255\301\263\263\307\264\264\310\204\220\253\261" "\261\306\202\261\261\305\2\255\255\301\214\214\234\207ww\205\2\216\216" "\236\256\256\302\235\261\261\306\217\262\262\306\3\254\255\303\252\254" "\302\261\262\306\203\262\262\306\241\262\262\307\207\263\263\307\1\262" "\262\307\212\263\263\307\2\261\261\305\253\253\276\206\250\250\274\6" "\251\251\274\255\255\301\262\262\307\264\264\310\204\220\253\261\261" "\306\202\261\261\305\2\255\255\301\214\214\234\207ww\205\2\216\216\236" "\256\256\302\202\261\261\305\235\261\261\306\215\262\262\306\3\260\260" "\305\257\260\305\262\262\307\206\262\262\306\251\262\262\307\207\263" "\263\307\2\261\261\305\253\253\276\206\250\250\274\6\251\251\274\255" "\255\301\262\262\307\264\264\310\204\220\253\261\261\306\202\261\261" "\305\2\255\255\301\214\214\234\207ww\205\2\216\216\236\256\256\302\203" "\261\261\305\236\261\261\306\227\262\262\306\251\262\262\307\204\263" "\263\307\2\261\261\305\253\253\276\206\250\250\274\6\251\251\274\255" "\255\301\262\262\307\263\263\310\204\220\253\261\261\306\202\261\261" "\305\2\255\255\301\214\214\234\207ww\205\2\216\216\236\256\256\302\205" "\261\261\305\236\261\261\306\230\262\262\306\252\262\262\307\2\261\261" "\305\252\252\276\206\250\250\274\6\251\251\274\255\255\301\262\262\307" "\263\263\310\204\220\253\261\261\306\202\261\261\305\2\255\255\301\214" "\214\234\207ww\205\2\216\216\236\256\256\302\205\261\261\305\240\261" "\261\306\231\262\262\306\247\262\262\307\2\261\261\305\252\252\276\206" "\250\250\274\6\251\251\274\255\255\301\262\262\307\263\263\310\204\220" "\253\261\261\306\202\261\261\305\2\255\255\301\214\214\234\207ww\205" "\2\216\216\236\256\256\302\206\261\261\305\241\261\261\306\232\262\262" "\306\244\262\262\307\2\261\261\305\252\252\276\206\250\250\274\6\251" "\251\274\255\255\301\262\262\307\263\263\310\204\220\253\261\261\306" "\202\261\261\305\2\255\255\301\214\214\234\207ww\205\2\216\216\236\256" "\256\302\206\261\261\305\244\261\261\306\233\262\262\306\240\262\262" "\307\2\261\261\305\252\252\276\206\250\250\274\6\251\251\274\255\255" "\301\262\262\307\263\263\310\204\220\253\261\261\306\202\261\261\305" "\2\255\255\301\214\214\234\207ww\205\2\216\216\236\256\256\302\206\261" "\261\305\246\261\261\306\235\262\262\306\234\262\262\307\2\261\261\305" "\252\252\276\206\250\250\274\6\251\251\274\255\255\301\262\262\307\263" "\263\310\204\220\253\261\261\306\202\261\261\305\2\255\255\301\214\214" "\234\207ww\205\2\216\216\236\256\256\302\207\261\261\305\204\261\261" "\306\202\261\261\305\242\261\261\306\236\262\262\306\230\262\262\307" "\2\261\261\305\252\252\276\206\250\250\274\6\251\251\274\255\255\301" "\262\262\306\263\263\310\204\220\253\261\261\306\202\261\261\305\2\255" "\255\301\214\214\234\207ww\205\2\216\216\236\256\256\302\210\261\261" "\305\203\261\261\306\203\261\261\305\243\261\261\306\241\262\262\306" "\207\262\262\307\203\262\262\306\211\262\262\307\2\261\261\305\252\252" "\276\206\250\250\274\6\251\251\274\255\255\301\262\262\306\263\263\310" "\204\220\253\261\261\306\202\261\261\305\2\255\255\301\214\214\234\207" "ww\205\2\216\216\236\256\256\302\220\261\261\305\244\261\261\306\252" "\262\262\306\207\262\262\307\2\260\260\305\252\252\276\206\250\250\274" "\6\251\251\274\255\255\301\262\262\306\263\263\310\204\220\253\261\261" "\306\202\261\261\305\2\255\255\301\214\214\234\207ww\205\2\216\216\236" "\256\256\302\222\261\261\305\245\261\261\306\250\262\262\306\206\262" "\262\307\2\260\260\305\252\252\276\206\250\250\274\6\251\251\274\255" "\255\301\262\262\306\263\263\310\204\220\253\261\261\306\202\261\261" "\305\2\255\255\301\214\214\234\207ww\205\2\216\216\236\256\256\302\224" "\261\261\305\246\261\261\306\253\262\262\306\2\260\260\305\252\252\276" "\206\250\250\274\6\251\251\274\255\255\301\262\262\306\263\263\310\204" "\220\253\261\261\306\202\261\261\305\2\255\255\301\214\214\234\207ww" "\205\2\216\216\236\256\256\302\226\261\261\305\247\261\261\306\250\262" "\262\306\2\260\260\305\252\252\276\206\250\250\274\12\251\251\274\255" "\255\301\262\262\306\263\263\307\204\220\253\261\261\306\260\260\305" "\261\261\305\255\255\301\214\214\234\207ww\205\2\216\216\236\256\256" "\302\230\261\261\305\251\261\261\306\244\262\262\306\2\260\260\305\252" "\252\276\206\250\250\274\6\251\251\274\255\255\301\262\262\306\263\263" "\307\204\220\253\261\261\306\202\260\260\305\2\255\255\301\214\214\234" "\207ww\205\2\216\216\236\256\256\302\232\261\261\305\252\261\261\306" "\241\262\262\306\2\260\260\305\252\252\276\206\250\250\274\6\251\251" "\274\255\255\301\262\262\306\263\263\307\204\220\253\261\261\306\202" "\260\260\305\2\255\255\301\214\214\234\207ww\205\2\216\216\236\256\256" "\302\234\261\261\305\255\261\261\306\234\262\262\306\2\260\260\305\252" "\252\276\206\250\250\274\6\251\251\274\255\255\301\262\262\306\263\263" "\307\204\220\253\261\261\306\202\260\260\305\2\255\255\301\214\214\234" "\207ww\205\2\216\216\236\256\256\302\236\261\261\305\257\261\261\306" "\230\262\262\306\2\260\260\305\252\252\276\206\250\250\274\6\251\251" "\274\255\255\301\261\261\306\263\263\307\204\220\253\261\261\306\202" "\260\260\305\2\255\255\301\214\214\234\207ww\205\2\216\216\236\256\256" "\302\240\261\261\305\262\261\261\306\207\262\262\306\204\261\261\306" "\210\262\262\306\2\260\260\305\252\252\276\206\250\250\274\6\251\251" "\274\255\255\301\261\261\306\263\263\307\204\220\253\261\261\306\202" "\260\260\305\2\255\255\301\214\214\234\207ww\205\2\216\216\236\256\256" "\302\242\261\261\305\274\261\261\306\207\262\262\306\2\260\260\305\252" "\252\276\206\250\250\274\6\251\251\274\255\255\301\261\261\306\263\263" "\307\204\220\253\261\261\306\202\260\260\305\2\255\255\301\214\214\234" "\207ww\205\2\216\216\236\256\256\302\245\261\261\305\273\261\261\306" "\205\262\262\306\2\260\260\304\252\252\276\206\250\250\274\6\251\251" "\274\255\255\301\261\261\306\262\262\307\204\220\253\261\261\306\202" "\260\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215\236\256\256" "\302\247\261\261\305\276\261\261\306\2\260\260\304\252\252\276\206\250" "\250\274\6\251\251\274\255\255\301\261\261\306\262\262\307\204\217\253" "\261\261\306\202\260\260\305\2\255\255\301\214\214\234\207ww\205\3\215" "\215\236\256\256\302\260\260\305\251\261\261\305\273\261\261\306\2\260" "\260\304\252\252\276\206\250\250\274\6\251\251\274\255\255\301\261\261" "\306\262\262\307\204\217\253\261\261\306\202\260\260\305\2\255\255\301" "\214\214\234\207ww\205\2\215\215\236\256\256\302\202\260\260\305\252" "\261\261\305\271\261\261\306\2\260\260\304\252\252\276\206\250\250\274" "\6\251\251\274\255\255\301\261\261\306\262\262\307\204\217\253\261\261" "\306\202\260\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215\236" "\256\256\302\204\260\260\305\253\261\261\305\266\261\261\306\2\260\260" "\304\252\252\276\206\250\250\274\6\251\251\274\255\255\301\261\261\306" "\262\262\307\204\217\253\261\261\306\202\260\260\305\2\255\255\301\214" "\214\234\207ww\205\2\215\215\236\256\256\302\205\260\260\305\255\261" "\261\305\263\261\261\306\2\260\260\304\252\252\276\206\250\250\274\6" "\251\251\274\255\255\301\261\261\306\262\262\307\204\217\253\261\261" "\306\202\260\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215\236" "\256\256\302\205\260\260\305\260\261\261\305\260\261\261\306\2\260\260" "\304\252\252\276\206\250\250\274\6\251\251\274\255\255\301\261\261\306" "\262\262\307\204\217\253\261\261\306\202\260\260\305\2\255\255\301\214" "\214\234\207ww\205\2\215\215\236\256\256\302\206\260\260\305\262\261" "\261\305\255\261\261\306\2\260\260\304\252\252\276\206\250\250\274\6" "\251\251\274\255\255\301\261\261\306\262\262\307\204\217\253\261\261" "\306\202\260\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215\236" "\256\256\302\206\260\260\305\265\261\261\305\252\261\261\306\2\260\260" "\304\252\252\276\206\250\250\274\6\251\251\274\255\255\301\261\261\306" "\262\262\307\204\217\253\261\261\306\202\260\260\305\2\255\255\301\214" "\214\234\207ww\205\2\215\215\236\255\255\302\206\260\260\305\205\261" "\261\305\202\260\260\305\262\261\261\305\246\261\261\306\2\260\260\304" "\252\252\276\206\250\250\274\6\251\251\274\255\255\301\261\261\306\262" "\262\307\204\217\253\261\261\306\202\260\260\305\2\255\255\301\214\214" "\234\207ww\205\2\215\215\236\255\255\302\206\260\260\305\205\261\261" "\305\204\260\260\305\264\261\261\305\242\261\261\306\2\260\260\304\252" "\252\276\206\250\250\274\6\251\251\274\255\255\301\261\261\305\262\262" "\307\204\217\253\261\261\306\202\260\260\305\2\255\255\301\214\214\234" "\207ww\205\2\215\215\236\255\255\302\207\260\260\305\204\261\261\305" "\206\260\260\305\266\261\261\305\236\261\261\306\2\260\260\304\252\252" "\276\206\250\250\274\6\251\251\274\255\255\301\261\261\305\262\262\307" "\204\217\253\261\261\306\202\260\260\305\2\255\255\301\214\214\234\207" "ww\205\2\215\215\236\255\255\302\211\260\260\305\1\261\261\305\211\260" "\260\305\270\261\261\305\217\261\261\306\202\261\261\305\211\261\261" "\306\2\260\260\304\252\252\276\206\250\250\274\6\251\251\274\255\255" "\301\261\261\305\262\262\307\204\217\253\261\261\306\202\260\260\305" "\2\255\255\301\214\214\234\207ww\205\2\215\215\236\255\255\302\225\260" "\260\305\273\261\261\305\211\261\261\306\205\261\261\305\207\261\261" "\306\2\260\260\304\252\252\276\206\250\250\274\6\251\251\274\255\255" "\301\261\261\305\262\262\307\204\217\253\261\261\306\202\260\260\305" "\2\255\255\301\214\214\234\207ww\205\2\215\215\236\255\255\302\224\260" "\260\305\277\261\261\305\206\261\261\306\205\261\261\305\207\261\261" "\306\2\260\260\304\252\252\276\206\250\250\274\6\251\251\274\255\255" "\301\261\261\305\262\262\307\204\217\253\261\261\306\202\260\260\305" "\2\255\255\301\214\214\234\207ww\205\2\215\215\236\255\255\302\222\260" "\260\305\276\261\261\305\211\261\261\306\206\261\261\305\206\261\261" "\306\2\260\260\304\252\252\276\206\250\250\274\6\251\251\274\254\254" "\301\261\261\305\262\262\307\204\217\253\261\261\306\202\260\260\305" "\2\255\255\301\214\214\234\207ww\205\2\215\215\236\255\255\302\223\260" "\260\305\300\261\261\305\206\261\261\306\214\261\261\305\2\260\260\304" "\252\252\276\206\250\250\274\6\251\251\274\254\254\301\261\261\305\262" "\262\307\204\217\253\261\261\306\202\260\260\305\2\255\255\301\214\214" "\234\207ww\205\2\215\215\236\255\255\302\225\260\260\305\320\261\261" "\305\2\260\260\304\252\252\276\206\250\250\274\6\251\251\274\254\254" "\301\261\261\305\262\262\307\204\217\253\261\261\306\202\260\260\305" "\2\255\255\301\214\214\234\207ww\205\2\215\215\236\255\255\302\227\260" "\260\305\316\261\261\305\2\260\260\304\252\252\276\206\250\250\274\6" "\251\251\274\254\254\301\261\261\305\262\262\306\204\217\253\261\261" "\306\202\260\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215\236" "\255\255\302\232\260\260\305\313\261\261\305\2\260\260\304\252\252\276" "\206\250\250\274\6\251\251\274\254\254\301\261\261\305\262\262\306\204" "\217\253\261\261\306\202\260\260\305\2\255\255\301\214\214\234\207ww" "\205\2\215\215\236\255\255\302\234\260\260\305\311\261\261\305\2\257" "\257\304\252\252\276\206\250\250\274\6\251\251\274\254\254\301\261\261" "\305\262\262\306\204\217\253\261\261\306\202\260\260\305\2\255\255\301" "\214\214\234\207ww\205\2\215\215\236\255\255\302\236\260\260\305\307" "\261\261\305\2\257\257\304\252\252\276\206\250\250\274\6\251\251\274" "\254\254\301\261\261\305\262\262\306\204\217\253\261\261\306\202\260" "\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215\236\255\255\302" "\241\260\260\305\304\261\261\305\2\257\257\304\252\252\276\206\250\250" "\274\6\251\251\274\254\254\301\261\261\305\262\262\306\204\217\253\261" "\261\306\202\260\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215" "\236\255\255\302\243\260\260\305\302\261\261\305\2\257\257\304\252\252" "\276\206\250\250\274\2\251\251\274\254\254\300\202\261\261\305\2\204" "\217\253\261\261\306\202\260\260\305\2\255\255\301\214\214\234\207ww" "\205\2\215\215\236\255\255\302\246\260\260\305\277\261\261\305\2\257" "\257\304\252\252\276\206\250\250\274\6\251\251\274\254\254\300\261\261" "\305\257\257\304\204\217\253\261\261\306\202\260\260\305\2\255\255\301" "\214\214\234\207ww\205\2\215\215\236\255\255\302\251\260\260\305\274" "\261\261\305\2\257\257\304\252\252\276\206\250\250\274\6\251\251\274" "\254\254\300\261\261\305\260\260\305\204\217\253\261\261\306\202\260" "\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215\236\255\255\302" "\263\260\260\305\262\261\261\305\2\257\257\304\252\252\276\206\250\250" "\274\2\251\251\274\254\254\300\202\260\260\305\2\204\217\253\261\261" "\306\202\260\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215\236" "\255\255\302\273\260\260\305\252\261\261\305\2\257\257\304\252\252\276" "\206\250\250\274\2\251\251\274\254\254\300\202\260\260\305\2\204\217" "\253\261\261\306\202\260\260\305\2\255\255\301\214\214\234\207ww\205" "\2\215\215\236\255\255\302\276\260\260\305\247\261\261\305\2\257\257" "\304\252\252\276\206\250\250\274\2\251\251\274\254\254\300\202\260\260" "\305\2\204\217\253\261\261\306\202\260\260\305\2\255\255\301\214\214" "\234\207ww\205\2\215\215\236\255\255\302\302\260\260\305\243\261\261" "\305\2\257\257\304\252\252\276\206\250\250\274\6\251\251\274\254\254" "\300\260\260\305\257\260\305\204\217\253\261\261\306\202\260\260\305" "\2\255\255\301\214\214\234\207ww\205\2\215\215\236\255\255\302\307\260" "\260\305\236\261\261\305\2\257\257\304\252\252\276\206\250\250\274\6" "\251\251\274\254\254\300\260\260\305\257\260\304\204\217\253\261\261" "\306\202\260\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215\236" "\255\255\302\313\260\260\305\232\261\261\305\2\257\257\304\252\252\276" "\206\250\250\274\6\251\251\274\254\254\300\260\260\305\257\260\304\204" "\217\253\261\261\306\202\260\260\305\2\255\255\301\214\214\234\207ww" "\205\2\215\215\236\255\255\301\321\260\260\305\224\261\261\305\2\257" "\257\304\252\252\276\206\250\250\274\6\251\251\274\254\254\300\260\260" "\305\257\260\304\204\217\253\261\261\306\202\260\260\305\2\255\255\301" "\214\214\234\207ww\205\2\215\215\236\255\255\301\327\260\260\305\216" "\261\261\305\2\257\257\304\252\252\276\206\250\250\274\6\251\251\274" "\254\254\300\260\260\305\257\260\304\204\217\253\261\261\306\202\260" "\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215\236\255\255\301" "\337\260\260\305\206\261\261\305\2\257\257\304\252\252\276\206\250\250" "\274\6\251\251\274\254\254\300\260\260\305\257\260\304\204\217\253\261" "\261\305\202\260\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215" "\236\255\255\301\345\260\260\305\2\257\257\304\252\252\276\206\250\250" "\274\6\251\251\274\254\254\300\260\260\305\257\260\304\204\217\253\261" "\261\305\202\260\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215" "\236\255\255\301\345\260\260\305\2\257\257\304\252\252\276\206\250\250" "\274\6\251\251\274\254\254\300\260\260\305\257\260\304\204\217\253\261" "\261\305\202\260\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215" "\236\255\255\301\344\260\260\305\4\261\261\305\257\257\304\252\252\276" "\251\251\274\205\250\250\274\6\251\251\274\254\254\300\260\260\305\257" "\260\304\204\217\253\261\261\305\202\260\260\305\2\255\255\301\214\214" "\234\207ww\205\2\215\215\236\255\255\301\344\260\260\305\5\261\261\305" "\256\256\302\247\247\273\250\250\273\251\251\274\204\250\250\274\6\251" "\251\274\254\254\300\260\260\305\257\260\304\204\217\253\261\261\305" "\202\260\260\305\2\255\255\301\214\214\234\207ww\205\2\215\215\236\255" "\255\301\345\260\260\305\6\251\251\274\240\240\263\242\242\265\246\246" "\271\250\250\274\251\251\274\202\250\250\274\6\251\251\274\254\254\300" "\260\260\305\257\260\304\204\217\253\261\261\305\202\260\260\305\2\255" "\255\301\214\214\234\207ww\205\2\215\215\236\255\255\301\344\260\260" "\305\10\257\257\304\246\246\271\236\236\260\235\235\260\237\237\262\243" "\243\266\246\246\272\250\250\274\202\251\251\274\5\254\254\300\260\260" "\305\257\260\304\204\217\253\261\261\305\202\260\260\305\2\255\255\301" "\214\214\234\206ww\205\3xx\206\215\215\236\253\253\277\232\256\256\303" "\1\257\257\303\226\260\260\304\213\260\260\305\1\261\261\306\221\261" "\261\305\215\261\261\306\1\261\261\305\210\261\261\306\17\260\260\304" "\251\251\275\243\243\266\237\237\262\235\235\260\235\235\257\240\240" "\262\244\244\267\247\247\272\250\250\274\254\254\300\260\260\305\257" "\260\304\204\217\253\261\261\305\202\260\260\305\2\255\255\301\214\214" "\234\204ww\205\202xx\206\3vv\204{{\212\207\207\226\232\207\207\227\2" "\211\211\231\215\215\235\237\216\216\237\2\221\221\242\224\224\245\236" "\224\224\246\2\225\225\246\231\231\252\207\233\233\255\2\234\234\256" "\240\240\263\202\246\246\272\13\242\242\265\236\236\261\234\234\257\235" "\235\257\240\240\263\244\244\267\253\253\277\260\260\305\257\260\304" "\204\217\253\261\261\305\202\260\260\305\2\255\255\301\214\214\234\203" "ww\205\202xx\206\3uu\202nn{hhu\234ggs\1hht\237hhu\2iivkkw\236jjw\2kk" "wmmy\207nnz\17oo|yy\210\221\221\241\245\245\271\250\250\273\244\244\270" "\240\240\263\235\235\260\234\234\256\236\236\261\252\252\276\260\260" "\305\257\260\304\204\217\253\261\261\305\202\260\260\305\2\255\255\301" "\214\214\234\204ww\205\3uu\202mmzhht\350ffr\15rr\177\220\220\241\245" "\245\270\250\250\274\247\247\272\243\243\267\237\237\262\242\242\265" "\255\255\301\261\261\305\257\260\304\204\217\253\261\261\305\202\260" "\260\305\2\255\255\301\214\214\234\203ww\205\3tt\202mmzhht\352ffr\14" "rr\177\211\211\231\236\236\261\250\250\274\250\250\273\246\246\272\252" "\252\276\260\260\304\260\260\305\257\260\304\204\217\253\261\261\305" "\202\260\260\305\2\255\255\301\215\215\235\202ww\205\3ss\200llyggt\354" "ffr\3kkw\200\200\217\235\235\257\202\250\250\274\1\255\255\301\202\260" "\260\305\3\257\260\304\204\217\253\261\261\305\202\260\260\305\6\256" "\256\303\226\226\247yy\207ss\200kkxggs\356ffr\5jjv\200\200\216\231\231" "\253\246\246\272\255\255\301\202\260\260\305\3\257\257\304\204\217\253" "\261\261\305\203\260\260\305\3\243\243\266\202\202\221ss\200\223nn{\1" "mmz\236kkw\1iiv\237hhu\1hht\235ggs\5ffrhhuuu\202\220\220\241\252\252" "\276\202\260\260\305\3\257\257\304\204\217\253\261\261\305\203\260\260" "\305\4\256\256\302\242\242\264\234\234\256\233\233\255\222\233\233\256" "\2\231\231\253\226\226\247\217\225\225\247\215\226\226\247\2\225\225" "\247\222\222\243\237\217\217\240\2\216\216\237\212\212\232\235\211\211" "\231\4\206\206\226\202\202\221\216\216\236\246\246\271\202\260\260\305" "\2\257\257\304}\212\247\204\247\251\277\2\247\251\300\247\251\277\211" "\247\251\300\213\247\252\300\3\247\251\277\246\251\277\252\254\301\224" "\254\255\302\207\254\255\303\1\255\256\303\204\254\255\302\235\257\257" "\304\2\257\257\303\260\260\305\234\260\260\304\4\257\257\303\255\255" "\301\256\256\302\261\261\306\202\262\262\307\1\260\260\305"}; nted-1.10.18/icons/comm_icon.h0000664001041000007640000001114611520270060012757 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (comm_icon) #endif #ifdef __GNUC__ static const guint8 comm_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 comm_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1158) */ "\0\0\4\236" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\377\377\377\377\377\256\377\377\377\377\1\376\376\376\377\206\377\377" "\377\377\1\376\376\376\377\227\377\377\377\377\202\376\376\376\377\10" "\337\337\337\377\271\271\271\377\257\257\257\377\256\256\256\377\266" "\266\266\377\343\343\343\377\377\377\377\377\376\376\376\377\203\377" "\377\377\377\1\376\376\376\377\220\377\377\377\377\17\376\376\376\377" "\377\377\377\377\363\363\363\377\226\226\226\377NNN\377\33\33\33\377" "\15\15\15\377\40\40\40\377444\377JJJ\377yyy\377\342\342\342\377\377\377" "\377\377\374\374\374\377\376\376\376\377\222\377\377\377\377\16\365\365" "\365\377uuu\377\23\23\23\377\0\0\0\377999\377\255\255\255\377\327\327" "\327\377\326\326\326\377\267\267\267\377jjj\377PPP\377\333\333\333\377" "\377\377\377\377\376\376\376\377\220\377\377\377\377\7\376\376\376\377" "\364\364\364\377aaa\377\2\2\2\377\0\0\0\377HHH\377\352\352\352\377\204" "\377\377\377\377\6\345\345\345\377///\377...\377\347\347\347\377\377" "\377\377\377\376\376\376\377\220\377\377\377\377\1\215\215\215\377\202" "\0\0\0\377\13\24\24\24\377\311\311\311\377\377\377\377\377\376\376\376" "\377\377\377\377\377\357\357\357\377\177\177\177\377!!!\377\3\3\3\377" "\0\0\0\377vvv\377\217\377\377\377\377\4\376\376\376\377\377\377\377\377" "\323\323\323\377\21\21\21\377\202\0\0\0\377\2;;;\377\367\367\367\377" "\202\377\377\377\377\2\374\374\374\377kkk\377\204\0\0\0\377\2""777\377" "\353\353\353\377\220\377\377\377\377\1aaa\377\203\0\0\0\377\1hhh\377" "\203\377\377\377\377\2\327\327\327\377\32\32\32\377\204\0\0\0\377\2-" "--\377\345\345\345\377\217\377\377\377\377\2\351\351\351\377\30\30\30" "\377\203\0\0\0\377\1\206\206\206\377\203\377\377\377\377\2\330\330\330" "\377\33\33\33\377\204\0\0\0\377\2FFF\377\361\361\361\377\217\377\377" "\377\377\2\277\277\277\377\5\5\5\377\203\0\0\0\377\3\226\226\226\377" "\377\377\377\377\372\372\372\377\202\373\373\373\377\1ppp\377\203\0\0" "\0\377\2\23\23\23\377\261\261\261\377\220\377\377\377\377\2\265\265\265" "\377\2\2\2\377\203\0\0\0\377\2\232\232\232\377\377\377\377\377\202\376" "\376\376\377\7\377\377\377\377\306\306\306\377nnn\377<<<\377KKK\377\226" "\226\226\377\327\327\327\377\220\377\377\377\377\2\266\266\266\377\2" "\2\2\377\203\0\0\0\377\1\232\232\232\377\203\377\377\377\377\1\376\376" "\376\377\207\377\377\377\377\1\376\376\376\377\216\377\377\377\377\2" "\314\314\314\377\12\12\12\377\203\0\0\0\377\1\231\231\231\377\205\377" "\377\377\377\202\376\376\376\377\203\377\377\377\377\1\376\376\376\377" "\217\377\377\377\377\2\363\363\363\377!!!\377\203\0\0\0\377\3\222\222" "\222\377\377\377\377\377\376\376\376\377\202\377\377\377\377\1\376\376" "\376\377\203\377\377\377\377\3\363\363\363\377vvv\377\341\341\341\377" "\220\377\377\377\377\1fff\377\203\0\0\0\377\1\203\203\203\377\206\377" "\377\377\377\5\376\376\376\377\377\377\377\377\324\324\324\377111\377" "\342\342\342\377\216\377\377\377\377\4\376\376\376\377\377\377\377\377" "\307\307\307\377\4\4\4\377\202\0\0\0\377\1fff\377\210\377\377\377\377" "\3\177\177\177\377PPP\377\371\371\371\377\220\377\377\377\377\2\375\375" "\375\377___\377\202\0\0\0\377\2""222\377\357\357\357\377\204\377\377" "\377\377\5\376\376\376\377\377\377\377\377\341\341\341\377\32\32\32\377" "\253\253\253\377\222\377\377\377\377\6\330\330\330\377%%%\377\0\0\0\377" "\11\11\11\377\243\243\243\377\376\376\376\377\204\377\377\377\377\4\365" "\365\365\377SSS\377OOO\377\376\376\376\377\221\377\377\377\377\20\376" "\376\376\377\377\377\377\377\266\266\266\377\40\40\40\377\0\0\0\377\36" "\36\36\377\260\260\260\377\356\356\356\377\375\375\375\377\367\367\367" "\377\326\326\326\377eee\377AAA\377\345\345\345\377\377\377\377\377\376" "\376\376\377\223\377\377\377\377\12\245\245\245\377>>>\377\4\4\4\377" "\6\6\6\377222\377OOO\377III\377000\377SSS\377\262\262\262\377\224\377" "\377\377\377\13\376\376\376\377\377\377\377\377\375\375\375\377\361\361" "\361\377\242\242\242\377xxx\377bbb\377fff\377\204\204\204\377\257\257" "\257\377\332\332\332\377\202\377\377\377\377\1\376\376\376\377\235\377" "\377\377\377\1\376\376\376\377\377\377\377\377\377\253\377\377\377\377"}; nted-1.10.18/icons/drum6_icon.h0000664001041000007640000000377211520270060013067 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum6_icon) #endif #ifdef __GNUC__ static const guint8 drum6_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum6_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (601) */ "\0\0\2q" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\377\0\0\0\0\222\0\0\0\0\2\0\0\0\3\0\0\0\10\236\0\0\0\0\2\0\0\0\77\0" "\0\0\261\236\0\0\0\0\2\0\0\0R\0\0\0\345\236\0\0\0\0\2\0\0\0R\0\0\0\345" "\236\0\0\0\0\2\0\0\0R\0\0\0\345\236\0\0\0\0\2\0\0\0R\0\0\0\345\236\0" "\0\0\0\2\0\0\0R\0\0\0\345\236\0\0\0\0\2\0\0\0R\0\0\0\345\236\0\0\0\0" "\2\0\0\0R\0\0\0\345\236\0\0\0\0\2\0\0\0R\0\0\0\345\236\0\0\0\0\2\0\0" "\0R\0\0\0\345\236\0\0\0\0\2\0\0\0R\0\0\0\345\236\0\0\0\0\2\0\0\0R\0\0" "\0\345\236\0\0\0\0\2\0\0\0R\0\0\0\345\236\0\0\0\0\2\0\0\0R\0\0\0\345" "\232\0\0\0\0\1\0\0\0\1\203\0\0\0\0\2\0\0\0R\0\0\0\345\203\0\0\0\0\202" "\377\377\0\1\224\0\0\0\0\202\0\0\0\377\1\0\0\0\1\202\0\0\0\0\2\0\0\0" "R\0\0\0\345\203\0\0\0\0\202\377\377\0\1\223\0\0\0\0\204\0\0\0\377\202" "\0\0\0\0\2\0\0\0R\0\0\0\345\230\0\0\0\0\3Z1\0\37\26\11\0\346\0\0\1\377" "\203\0\0\0\377\4\0\0\0I\0\0\0\343\0\0\0\0\0\0\0\1\227\0\0\0\0\1t;\0c" "\202\0\0\0\377\6\0\5\14\355\0\4\6\261\4\2\0\320\1\0\0\377\0\0\0\377T" ">\0\377\226\0\0\0\0\3\0\0\377\1\0\0\0\0/\23\0\371\203\0\0\0\377\2\0\3" "\6\375\0\1\4\322\202\0\0\0\377\226\0\0\0\0\3\0\0\0\1\0\0\0\0G;\0\306" "\202\0\0\0\377\2\0\20%\315\0\0\0\377\202T>\0\377\1\377\377\0\1\226\0" "\0\0\0\5\0\0\0\1\0\0\0\0T>\0\335\0\0\0\377\0\25/\312\202\0\0\0\0\1\0" "\0\0\1\232\0\0\0\0\5!\7\0\377\0\14\30\362\0P\217\40\377\377\0\1\0\0\0" "\1\232\0\0\0\0\202\0\0\0\377\3\0\35""6\226\0\0\0\0\0\0\0\1\232\0\0\0" "\0\1\0\0\0\1\202\0\0\0\377\1\0\200\377\2\235\0\0\0\0\1\0\0\0\1\202\0" "\0\0\0\1\0\0\0\1\260\0\0\0\0"}; nted-1.10.18/icons/tremolo_icon1.h0000664001041000007640000000502611520270060013566 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (tremolo_icon1) #endif #ifdef __GNUC__ static const guint8 tremolo_icon1[] __attribute__ ((__aligned__ (4))) = #else static const guint8 tremolo_icon1[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (720) */ "\0\0\2\350" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\360\377\377\377\0\1\0\0\0\1\240\377\377\377\0\2\0\0\0\317\0\0\0""6\236" "\377\377\377\0\2\0\0\0\342\0\0\0:\202\0\0\0\1\227\377\377\377\0\1\0\0" "\0\1\202\377\377\377\0\10\0\0\0\1\377\377\377\0\0\0\0\341\0\0\0=\0\0" "\0\4\0\0\0\5\0\0\0J\0\0\0.\225\377\377\377\0\1\0\0\0\1\203\377\377\377" "\0\7\0\0\0q\0\0\0\377\0\0\0\347\0\0\0\314\0\0\0\372\0\0\0\377\0\0\0q" "\226\377\377\377\0\4\0\0\0&\0\0\0\242\0\0\0\342\0\0\0\367\205\0\0\0\377" "\1\0\0\0`\226\377\377\377\0\206\0\0\0\377\4\0\0\0\375\0\0\0\317\0\0\0" "\211\0\0\0""0\226\377\377\377\0\1\0\0\0\357\202\0\0\0\377\6\0\0\0\354" "\0\0\0\370\0\0\0g\0\0\0\11\0\0\0\6\0\0\0\1\227\377\377\377\0\7\0\0\0" "\246\0\0\0\206\0\0\0>\377\377\377\0\0\0\0\337\0\0\0""7\0\0\0\1\230\377" "\377\377\0\1\0\0\0\1\204\377\377\377\0\3\0\0\0\334\0\0\0""4\0\0\0\1\235" "\377\377\377\0\2\0\0\0\375\0\0\0\77\236\377\377\377\0\2\0\0\0\337\0\0" "\0""8\236\377\377\377\0\2\0\0\0\341\0\0\0:\236\377\377\377\0\2\0\0\0" "\341\0\0\0:\236\377\377\377\0\2\0\0\0\341\0\0\0:\234\377\377\377\0\5" "\0\0\0\1\377\377\377\0\0\0\0\331\0\0\0""8\0\0\0\1\235\377\377\377\0\2" "\0\0\0\351\0\0\0R\236\377\377\377\0\2\0\0\0\317\0\0\0;\231\377\377\377" "\0\1\0\0\0\1\204\377\377\377\0\2\0\0\0\341\0\0\0:\230\377\377\377\0\10" "\0\0\0\1\377\377\377\0\0\0\0\27\0\0\0i\0\0\0\210\0\0\0a\0\0\0\335\0\0" "\0""9\226\377\377\377\0\1\0\0\0\1\202\377\377\377\0\1\0\0\0\177\204\0" "\0\0\377\2\0\0\0\375\0\0\0=\226\377\377\377\0\3\0\0\0\1\377\377\377\0" "\0\0\0\237\205\0\0\0\377\3\0\0\0\376\0\0\0\77\0\0\0\1\226\377\377\377" "\0\1\0\0\0\332\207\0\0\0\377\1\0\0\0[\221\377\377\377\0\202\0\0\0\1\204" "\377\377\377\0\1\0\0\0\330\206\0\0\0\377\2\0\0\0\302\0\0\0\5\227\377" "\377\377\0\1\0\0\0\335\205\0\0\0\377\4\0\0\0\333\0\0\0\4\377\377\377" "\0\0\0\0\1\226\377\377\377\0\2\0\0\0""5\0\0\0\344\202\0\0\0\377\3\0\0" "\0\341\0\0\0\227\0\0\0\4\202\0\0\0\1\226\377\377\377\0\6\0\0\0\1\377" "\377\377\0\0\0\0\17\0\0\0\36\0\0\0\35\0\0\0\21\202\377\377\377\0\1\0" "\0\0\1\316\377\377\377\0"}; nted-1.10.18/icons/drum4_icon.png0000664001041000007640000000053611520267227013430 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIME× &so‡BÞIDATXÃí—= A F_V¶°+ =‡Ø,x Ï!øSÙy/ba'Ø»xA?›–í6³(Â3IÞ|dc’53ë’t©›ÐŒeÀÄØ€Û"@ˆ D€þÀÌÀ~©ÀXW´$·àx«º9BØíbùׯÅÍ?~ÒÚyœÅ[À¡¹r9æ•â{·’Žâ]àZ*~F^O.€^i¿“tþÊ(†Î°t”› wäì)pf!sDæýž›Y <%½Bx¦x‡Oj`IEND®B`‚nted-1.10.18/icons/flipstem_icon.h0000664001041000007640000001114411520270060013645 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (flipstem_icon) #endif #ifdef __GNUC__ static const guint8 flipstem_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 flipstem_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1340) */ "\0\0\5T" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\227\377\377\377\0\3\0\0\0L\0\0\0\250\0\0\0\14\231\377\377\377\0\2\377" "\0\377#\377\0\377\37\202\377\377\377\0\3\0\0\0s\0\0\0\377\0\0\0\23\221" "\377\377\377\0\17\377\0\377\4\377\0\3778\377\0\377f\377\0\377~\377\0" "\377\213\377\0\377y\377\0\377Z\377\0\377)\377\0\377\330\377\0\377\337" "\377\0\377!\377\377\377\0\0\0\0s\0\0\0\377\0\0\0\23\217\377\377\377\0" "\3\377\0\377%\377\0\377\227\377\0\377\356\207\377\0\377\377\7\377\0\377" "\373\377\0\377\377\377\0\377\342\377\0\377$\0\0\0s\0\0\0\377\0\0\0\23" "\215\377\377\377\0\14\377\0\377\12\377\0\377\217\377\0\377\373\377\0" "\377\372\377\0\377\256\377\0\377_\377\0\377'\377\0\377\7\377\0\377\2" "\377\0\377\15\377\0\3774\377\0\377\363\203\377\0\377\377\4\377\0\377" "\344>\0>\230\0\0\0\377\0\0\0\23\214\377\377\377\0\5\377\0\377\35\377" "\0\377\323\377\0\377\377\377\0\377\244\377\0\377!\206\377\377\377\0\3" "\377\0\377\12\377\0\377\255\377\0\377\343\203\377\0\377\377\3\202\0\202" "\353\0\0\0\377\0\0\0\23\213\377\377\377\0\4\377\0\377\35\377\0\377\340" "\377\0\377\365\377\0\377V\213\377\377\377\0\6\377\0\377\32\377\0\377" "O\377\0\377\2200\0""0\216\0\0\0\377\0\0\0\23\212\377\377\377\0\4\377" "\0\377\7\377\0\377\316\377\0\377\365\377\0\377A\217\377\377\377\0\3\0" "\0\0s\0\0\0\377\0\0\0\23\212\377\377\377\0\3\377\0\377\204\377\0\377" "\377\377\0\377^\220\377\377\377\0\3\0\0\0s\0\0\0\377\0\0\0\23\211\377" "\377\377\0\3\377\0\377\32\377\0\377\367\377\0\377\265\221\377\377\377" "\0\3\0\0\0s\0\0\0\377\0\0\0\23\211\377\377\377\0\3\377\0\377\201\377" "\0\377\377\377\0\377/\221\377\377\377\0\3\0\0\0s\0\0\0\377\0\0\0\23\211" "\377\377\377\0\2\377\0\377\327\377\0\377\314\222\377\377\377\0\3\0\0" "\0s\0\0\0\377\0\0\0\23\210\377\377\377\0\3\377\0\377\27\377\0\377\377" "\377\0\377\203\215\377\377\377\0\3\0\0\0\5\0\0\0\22\0\0\0\4\202\377\377" "\377\0\3\0\0\0s\0\0\0\377\0\0\0\23\210\377\377\377\0\3\377\0\377@\377" "\0\377\377\377\0\377U\212\377\377\377\0\13\0\0\0\31\0\0\0\207\0\0\0\330" "\0\0\0\375\0\0\0\377\0\0\0\374\0\0\0\321\0\0\0\177\0\0\0\205\0\0\0\377" "\0\0\0\23\210\377\377\377\0\3\377\0\377M\377\0\377\377\377\0\377>\211" "\377\377\377\0\2\0\0\0\77\0\0\0\356\211\0\0\0\377\1\0\0\0\23\210\377" "\377\377\0\3\377\0\377L\377\0\377\377\377\0\377@\210\377\377\377\0\2" "\0\0\0\4\0\0\0\347\212\0\0\0\377\1\0\0\0\23\210\377\377\377\0\3\377\0" "\3777\377\0\377\377\377\0\377[\210\377\377\377\0\1\0\0\0\36\212\0\0\0" "\377\2\0\0\0\372\0\0\0\15\210\377\377\377\0\3\377\0\377\16\377\0\377" "\374\377\0\377\220\210\377\377\377\0\1\0\0\0&\212\0\0\0\377\1\0\0\0\247" "\212\377\377\377\0\3\377\0\377\312\377\0\377\334\377\0\377\1\207\377" "\377\377\0\3\0\0\0&\0\0\0\377\0\0\0\351\207\0\0\0\377\2\0\0\0\253\0\0" "\0\15\212\377\377\377\0\3\377\0\377o\377\0\377\377\377\0\377F\207\377" "\377\377\0\12\0\0\0&\0\0\0\377\0\0\0`\0\0\0<\0\0\0\215\0\0\0\267\0\0" "\0\305\0\0\0\262\0\0\0\206\0\0\0""5\214\377\377\377\0\4\377\0\377\15" "\377\0\377\353\377\0\377\315\377\0\377\4\206\377\377\377\0\3\0\0\0&\0" "\0\0\377\0\0\0`\224\377\377\377\0\3\377\0\377f\377\0\377\377\377\0\377" "\203\206\377\377\377\0\3\0\0\0&\0\0\0\377\0\0\0`\224\377\377\377\0\7" "\377\0\377\1\377\0\377\257\377\0\377\375\377\0\377e\377\0\377\2\377\0" "\377\222\377\0\377'\202\377\377\377\0\3\0\0\0&\0\0\0\377\0\0\0`\225\377" "\377\377\0\13\377\0\377\14\377\0\377\301\377\0\377\376\377\0\377\261" "\377\0\377\366\377\0\377\365\377\0\377d\377\377\377\0\0\0\0&\0\0\0\377" "\0\0\0`\226\377\377\377\0\4\377\0\377\13\377\0\377\254\377\0\377\377" "\377\0\377\360\202\377\0\377\377\4\377\0\377\254O\0O7\0\0\0\377\0\0\0" "`\227\377\377\377\0\2\377\0\377\1\377\0\377\246\204\377\0\377\377\3\361" "\0\361\357=\0=\377\0\0\0`\230\377\377\377\0\1\377\0\377\255\204\377\0" "\377\377\3\376\0\376\377Q\0Q\377\0\0\0`\230\377\377\377\0\10\377\0\377" "\4\377\0\377\34\377\0\377;\377\0\377Z\377\0\377z\313\0\313\247\0\0\0" "\377\0\0\0`\235\377\377\377\0\3\0\0\0&\0\0\0\377\0\0\0`\235\377\377\377" "\0\3\0\0\0&\0\0\0\377\0\0\0`\235\377\377\377\0\3\0\0\0&\0\0\0\377\0\0" "\0`\220\377\377\377\0\215\0\0\0\21\3\0\0\0*\0\0\0\272\0\0\0Q\220\0\0" "\0\21"}; nted-1.10.18/icons/ddot_icon.h0000664001041000007640000000551211520270060012756 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (ddot_icon) #endif #ifdef __GNUC__ static const guint8 ddot_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 ddot_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (879) */ "\0\0\3\207" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\256\377\377\377\0\3\0\0\0""9\0\0\0\342\0\0\0\37\235\377\377\377\0\3" "\0\0\0@\0\0\0\377\0\0\0#\235\377\377\377\0\3\0\0\0@\0\0\0\377\0\0\0#" "\235\377\377\377\0\3\0\0\0@\0\0\0\377\0\0\0#\235\377\377\377\0\3\0\0" "\0@\0\0\0\377\0\0\0#\235\377\377\377\0\3\0\0\0@\0\0\0\377\0\0\0#\235" "\377\377\377\0\3\0\0\0@\0\0\0\377\0\0\0#\235\377\377\377\0\3\0\0\0@\0" "\0\0\377\0\0\0#\235\377\377\377\0\3\0\0\0@\0\0\0\377\0\0\0#\235\377\377" "\377\0\3\0\0\0@\0\0\0\377\0\0\0#\235\377\377\377\0\3\0\0\0@\0\0\0\377" "\0\0\0#\235\377\377\377\0\3\0\0\0@\0\0\0\377\0\0\0#\235\377\377\377\0" "\3\0\0\0@\0\0\0\377\0\0\0#\235\377\377\377\0\3\0\0\0@\0\0\0\377\0\0\0" "#\235\377\377\377\0\3\0\0\0@\0\0\0\377\0\0\0#\235\377\377\377\0\3\0\0" "\0@\0\0\0\377\0\0\0#\235\377\377\377\0\3\0\0\0@\0\0\0\377\0\0\0#\235" "\377\377\377\0\3\0\0\0@\0\0\0\377\0\0\0#\235\377\377\377\0\3\0\0\0@\0" "\0\0\377\0\0\0#\235\377\377\377\0\3\0\0\0@\0\0\0\377\0\0\0#\235\377\377" "\377\0\3\0\0\0@\0\0\0\377\0\0\0#\235\377\377\377\0\3\0\0\0@\0\0\0\377" "\0\0\0#\225\377\377\377\0\13\0\0\0\1\0\0\0""4\0\0\0_\0\0\0\240\0\0\0" "\225\0\0\0Y\0\0\0\37\377\377\377\0\0\0\0@\0\0\0\377\0\0\0#\224\377\377" "\377\0\2\0\0\0%\0\0\0\260\205\0\0\0\377\5\0\0\0\364\0\0\0\226\0\0\0L" "\0\0\0\377\0\0\0#\223\377\377\377\0\2\0\0\0\10\0\0\0\317\210\0\0\0\377" "\15\0\0\0\345\0\0\0\377\0\0\0#\377\377\377\0\0\0\0-\0\0\0f\0\0\0I\0\0" "\0\5\377\377\377\0\0\0\0\2\0\0\0W\0\0\0f\0\0\0!\211\377\377\377\0\1\0" "\0\0\201\213\0\0\0\377\3\0\0\0#\0\0\0""0\0\0\0\352\202\0\0\0\377\3\0" "\0\0b\377\377\377\0\0\0\0\212\202\0\0\0\377\2\0\0\0\337\0\0\0\24\210" "\377\377\377\0\1\0\0\0\300\212\0\0\0\377\3\0\0\0\354\0\0\0\35\0\0\0x" "\203\0\0\0\377\3\0\0\0\264\377\377\377\0\0\0\0\347\203\0\0\0\377\1\0" "\0\0E\210\377\377\377\0\1\0\0\0\223\212\0\0\0\377\4\0\0\0i\377\377\377" "\0\0\0\0]\0\0\0\376\202\0\0\0\377\3\0\0\0\227\377\377\377\0\0\0\0\312" "\202\0\0\0\377\2\0\0\0\372\0\0\0-\210\377\377\377\0\2\0\0\0""1\0\0\0" "\356\210\0\0\0\377\2\0\0\0\317\0\0\0\23\202\377\377\377\0\11\0\0\0y\0" "\0\0\305\0\0\0\213\0\0\0\10\377\377\377\0\0\0\0\30\0\0\0\267\0\0\0\275" "\0\0\0F\212\377\377\377\0\2\0\0\0R\0\0\0\363\206\0\0\0\377\2\0\0\0\346" "\0\0\0""5\227\377\377\377\0\10\0\0\0\34\0\0\0\224\0\0\0\270\0\0\0\362" "\0\0\0\341\0\0\0\270\0\0\0t\0\0\0\17\222\377\377\377\0"}; nted-1.10.18/icons/treble_clef_icon.png0000664001041000007640000000223111520267227014635 00000000000000‰PNG  IHDR szzôbKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIME× &01ã&IDATXÃÅ—{LÕeÇ?ï9¿ó;·ß9ü&‘8—†"¤˜q’¦þ¡0ºÐX¥é’2Ó™¹9lÙHMÑÙjITj.³¥ÍV9c+ݲ٘B¤S³›—t†æAO8[Æ‘ƒïöüó¾{¿Ïg{Ÿ÷¹(áN.Ëí ¬­PåM™¤*–¸£‘¨ì‡¹Øjs˜c:¹ FòÜ[W3P¨&ó„¡Ó‹ÍÓ§i°k„q'_¢ìÍ)1Ø÷ )¹‰CóÝàÁe3QsƱ B³·D+ªXµ‹ä“gT éeÛd﫟 ˆ/—Ãø™1¢L¸jø„—^ÙskÏv– J:OïŒ9€ÃŽ%}Œöv¼=[e}ÔÆ}8Í Ì\¾;æ]§8‰(E¤O5V«ŒMßòñ©°+‰üY¤±øHÌ¿a±—BÚ_„æ==ÆÇ °FH/ofq»{H¾ážrî)Î%”3‚Õ!8s F4ZQ Ëå9ÓE”[½†ºwÑæ“:·Ô°Â£Ó{3û•öDë8*€gK™gãš+âNæk”­Ÿ¶ßÆ ªqÓâ5Â(½ŸÌÊæL“äÑvz©h]s€µsñ瘜„À„ƒ<µ9¡£a•yÛ¶à 2²8™†ýZ °ÌÏgýÍ7ÕMÝÚñ;ªÐ«s¨4 :ù×tÏE†g½Oè…lDÔ ´70²8ƒã€0¾~CýFì¡tš4 —½ñœ%ø|« Þ2œLj󄚦 ÀæD‚EN®c{høÐ¿:ò8 ¿P²hþŸß‘¢+ú©mY)"¼ñ$cýü I]Ô|™tÛŸL"³ÄÏe*j;ÙÑ¡ßïbºëAöŸ7D„J?—1Š>@Ä""´<Î@°ú0&޽ír\´”ßñ±®³¾éÐ_®¥Ëfœ£io€3‡$D&±æh@´`ïÃÌë”ZÐü…£<\¡ ®‘úãöú±dgyÈfÆñ¼"pUjY +!uêç¼Öå´D´d2åñ:gðw“*¡jSD8ô"³|N®3íáSYfºø3û Ë·ß5è™pédrÆ £É©q›û{t×{IÃiÕ¬„q= Ký‚Ô’f¼ã‰ySº8w‚4‚Óã8ÉÈ»/ÐÒ1aȺâÿÚÂRàÌ“µ¥b wÿ_G´RY-Tsãê´²:Ω@n«zèõ”[Ç}‰üÊ+çk1™Œ:³qÝð²°;Ì(úÃ.tVcëZtë<òé¸^òC×c]Å5ý [­ Áªõã4Oq1òÀ¶y*¯õ(îYQгѬ} î²Tv¢Ùº1Ó>Å?„—)^Ž\0-\30\7\0\215" "\0)[j\0m\266\7\216\377\377\377\0\1\201*\0\301\202\0\0\0\377\2\0\3\12" "\374\0""5\220x\204\377\377\377\0\5\350\305\0\26\13\11\0\327\0\0\0\377" "\0\0\1\377\0CQ\201\222\377\377\377\0\5\200X\0t\12\4\0\373\0\0\0\377\0" "\6\20\371\0*\217m\204\377\377\377\0\2\377\377\0\3\2\1\0\316\202\0\0\0" "\377\5\0h{\273v;\0\15\24\0\0'\0:]\26\0\377\377\1\216\377\377\377\0\5" "\224C\0\23D\36\0\207\0\1\7\262\0\35;z\0\261\330\15\204\377\377\377\0" "\2\377\377\0\1\2\0\0\315\202\0\0\0\377\5\0gy\276^E\0}\7\1\0\347\0&X\267" "\0I\266\16\217\377\377\377\0\3\200@\0\4\0\0$\7\0\0\200\2\205\377\377" "\377\0\11\343\306\0\33\15\13\0\331\0\0\0\377\0\0\1\377\0FP\206[E\0\221" "\7\3\0\375\0\22B\351\0$\206\25\227\377\377\377\0\11\326\237\0E\34\25" "\0\354\0\0\0\377\0\5\27\373\0\30[Tw3\0\36\33\7\0i\0""0dO\0f\314\5\227" "\377\377\377\0\5\200!\0d\27\7\0\373\0\0\0\377\0\30)\334\0\205\315.\232" "\377\377\377\0\6\325\200\0\6P3\0\246\3\1\0\377\0\0\0\377\0)k\233\0\277" "\377\4\232\377\377\377\0\5\225j\0\30""1\21\0\363\0\0\0\377\0\20+\365" "\0w\244-\232\377\377\377\0\6\377\277\0\4y\77\0\221\1\0\0\377\0\4\12\370" "\0""0\\z\0U\252\3\232\377\377\377\0\5\215@\0""8&\20\0\343\0\0\1\376\0" "%L\277\0y\316\25\232\377\377\377\0\5\316\222\0\25@\"\0\314\0\1\2\376" "\0\34>\307\0L\200\36\232\377\377\377\0\6\233d\0\27F\"\0\235\2\0\1\365" "\0\31""5\312\0N\200$\0\377\377\1\231\377\377\377\0\5\244R\0\34<\34\0" "\246\3\0\7\365\0\36>\227\0I\200\34\231\377\377\377\0\6yQ\0\23H(\0R\30" "\13\0\301\0\12\31\271\0""2UQ\0U\216\11\227\377\377\377\0\7\377\377\0" "\1].\0!5\32\0a\16\3\0\241\0\7\22\232\0\36;V\0Q\213\26\231\377\377\377" "\0\4\325\252\0\6,\23\0)\0\22*+\0\177\277\10\377\377\377\377\0\226\377" "\377\377\0"}; nted-1.10.18/icons/drum12_icon.h0000664001041000007640000000763411520270060013145 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum12_icon) #endif #ifdef __GNUC__ static const guint8 drum12_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum12_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1169) */ "\0\0\4\251" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\224\377\377\377\0\2\0\0\0\13\0\0\0/\233\377\377\377\0\1\0\0\0\377\202" "\377\377\377\0\2\0\0\0/\0\0\0\317\232\377\377\377\0\203\0\0\0\377\3\377" "\377\377\0\0\0\0/\0\0\0\317\232\377\377\377\0\202\0\0\0\377\202\377\377" "\377\0\2\0\0\0/\0\0\0\317\231\377\377\377\0\203\0\0\0\377\202\377\377" "\377\0\2\0\0\0/\0\0\0\317\223\377\377\377\0\210\0\0\0\377\203\377\377" "\377\0\2\0\0\0/\0\0\0\317\221\377\377\377\0\203\0\0\0\377\203\377\377" "\377\0\203\0\0\0\377\204\377\377\377\0\2\0\0\0/\0\0\0\317\220\377\377" "\377\0\202\0\0\0\377\205\377\377\377\0\204\0\0\0\377\203\377\377\377" "\0\2\0\0\0/\0\0\0\317\220\377\377\377\0\1\0\0\0\377\205\377\377\377\0" "\203\0\0\0\377\2\377\377\377\0\0\0\0\377\203\377\377\377\0\2\0\0\0/\0" "\0\0\317\217\377\377\377\0\202\0\0\0\377\204\377\377\377\0\203\0\0\0" "\377\202\377\377\377\0\202\0\0\0\377\202\377\377\377\0\2\0\0\0/\0\0\0" "\317\217\377\377\377\0\1\0\0\0\377\205\377\377\377\0\202\0\0\0\377\204" "\377\377\377\0\1\0\0\0\377\202\377\377\377\0\2\0\0\0/\0\0\0\317\217\377" "\377\377\0\1\0\0\0\377\204\377\377\377\0\202\0\0\0\377\205\377\377\377" "\0\1\0\0\0\377\202\377\377\377\0\2\0\0\0/\0\0\0\317\217\377\377\377\0" "\1\0\0\0\377\203\377\377\377\0\203\0\0\0\377\205\377\377\377\0\1\0\0" "\0\377\202\377\377\377\0\2\0\0\0/\0\0\0\317\217\377\377\377\0\202\0\0" "\0\377\1\377\377\377\0\203\0\0\0\377\205\377\377\377\0\202\0\0\0\377" "\202\377\377\377\0\2\0\0\0/\0\0\0\317\220\377\377\377\0\2\0\0\0\377\377" "\377\377\0\202\0\0\0\377\206\377\377\377\0\1\0\0\0\377\203\377\377\377" "\0\2\0\0\0/\0\0\0\317\220\377\377\377\0\204\0\0\0\377\205\377\377\377" "\0\202\0\0\0\377\203\377\377\377\0\2\0\0\0/\0\0\0\317\221\377\377\377" "\0\203\0\0\0\377\203\377\377\377\0\203\0\0\0\377\204\377\377\377\0\2" "\0\0\0/\0\0\0\317\220\377\377\377\0\202\0\0\0\377\1\377\377\377\0\205" "\0\0\0\377\206\377\377\377\0\2\0\0\0/\0\0\0\317\217\377\377\377\0\202" "\0\0\0\377\215\377\377\377\0\2\0\0\0/\0\0\0\317\216\377\377\377\0\1\0" "\0\0\20\202\0\0\0\377\215\377\377\377\0\2\0\0\0/\0\0\0\317\215\377\377" "\377\0\3\0\0\0\1\0\0\0\"\0\0\0\377\216\377\377\377\0\2\0\0\0/\0\0\0\317" "\215\377\377\377\0\2\0\0\0\12\0\0\0\377\205\377\377\377\0\2\0\0\0\10" "\0\0\0\1\210\377\377\377\0\2\0\0\0/\0\0\0\317\223\377\377\377\0\4\0\0" "\0\2\0\0\0\273\0\0\0\226\0\0\0\1\204\377\377\377\0\5\0\0\0\14\0\0\0\270" "\0\0\0E\0\0\0/\0\0\0\317\224\377\377\377\0\4\0\0\0g\0\0\0\375\0\0\0\226" "\0\0\0\1\202\377\377\377\0\6\0\0\0\14\0\0\0\302\0\0\0\371\0\0\0P\0\0" "\0/\0\0\0\317\225\377\377\377\0\13\0\0\0g\0\0\0\375\0\0\0\226\0\0\0\1" "\0\0\0\14\0\0\0\302\0\0\0\371\0\0\0Q\377\377\377\0\0\0\0/\0\0\0\317\226" "\377\377\377\0\6\0\0\0g\0\0\0\375\0\0\0\231\0\0\0\302\0\0\0\371\0\0\0" "Q\202\377\377\377\0\2\0\0\0/\0\0\0\317\227\377\377\377\0\4\0\0\0q\0\0" "\0\377\0\0\0\375\0\0\0R\203\377\377\377\0\2\0\0\0/\0\0\0\317\226\377" "\377\377\0\6\0\0\0\14\0\0\0\302\0\0\0\373\0\0\0\376\0\0\0\226\0\0\0\1" "\202\377\377\377\0\2\0\0\0\1\0\0\0\4\225\377\377\377\0\10\0\0\0\14\0" "\0\0\302\0\0\0\372\0\0\0Q\0\0\0g\0\0\0\376\0\0\0\226\0\0\0\1\227\377" "\377\377\0\4\0\0\0\14\0\0\0\302\0\0\0\372\0\0\0Q\202\377\377\377\0\4" "\0\0\0g\0\0\0\376\0\0\0\226\0\0\0\1\225\377\377\377\0\4\0\0\0\11\0\0" "\0\302\0\0\0\372\0\0\0Q\204\377\377\377\0\3\0\0\0g\0\0\0\376\0\0\0\213" "\225\377\377\377\0\3\0\0\0\1\0\0\0\221\0\0\0Q\206\377\377\377\0\2\0\0" "\0d\0\0\0""7\214\377\377\377\0"}; nted-1.10.18/icons/backgroundv2.png0000664001041000007640000001276611520267227013764 00000000000000‰PNG  IHDR€ô›éð½IDATxœí]Û’ä¸%eÕLU÷ú²3ëiÛ3Þçýƒý²ý‰¿Ê뇵×;1;ãîêÊL]èe)%^@%ÕÑÑQI ‡8)e¦ù¯?þé?ÿãß­0ždö—×Èi)ûÒ™´Œ¶¤ç탵ÿó?=<çª7‡æ¦©—ú¦M1i•íĤf—T «UÆüþß~ì[UuE“)ÄwRL úRŦšèFÀE¬•a`—ïÓ&ß¶3ÐÓËKÇ‘Wì¨cí¤ê´X0fÔ_´<1cËLm¡é]Zt™½x¢zcžæí0 ¶ï»¦9T•ñéôÞ&éÍÏ^šÙ;_\OEÎaö´‚µÓ(a²ÆM1» Ý­½‚c𦾽½­*¦m?ýôÓÍÍíû÷ÿrssË`¾) /^Œ1Ã0Ôu}sskíÃÃÃÇ?7MÓ÷Ý/ùkoc`ŒŒ¶=‡CÃ0üüóÿÿøãww÷Ã0ÀZ22ø0ôçóù|>Y{÷îÝ=8]×}þü0*µmk­ýÕ¯þõ ƒL1†aèºöt:v]7 ÔÜ$<¦š¶=üØÇãñØuíW_ýæ‹/¾@éûM¢b­mÛ¶mÏmÛCï¸1Z†Ãp:Ûö|:=Ç~ww_|²!ÉÞU0ú«ï`Ú¶=ŸOçóÙwý(‰}À0 ŸN§ÿ¶vøî»?‡¸n´N]¶—Pž¿ŒØNÈ¥äÕ¾ï?GeKÚˆuÝùááÓ0ôÖ6°X&óòßz-ú/ ˜åµ,‘v÷[ÖÚ¸÷ˆG{;äÉIGó½aJõªcC1e· "E΂^­ê”g@äâï›êQ™—[JØ}=Ai—Ó~fàˆ’O}+ »ŠX>oqü²É’g j-TÜ>y£ŽÈw.ÁBÈQɱ¿«XB!Â2[©ÔÔ\W”Ã#j™î»¥¦|ª‹(Gš\f 6ëL…<‹œ9DnùtvEAaÑÀ#¹ûM{*ÕîíƒiT€±Ñ@Âã¤÷QžAà‚§“ä:ðRebQ‚º€}î*9ÂÛ|‘àØ¢Ü­@$M•cÅCPQv/Qd "½s“„Á£½¤LŒî>5 \R „b½xÎ¥;ùÉÀØjöâÅ eÿ%ôƒìn lT±xŸ•ÂÊÙå¿ ¿y9hç^¡X½ »8¯údõaC5µjì +PªÏtåCЧJ!ö“‡g‚8ZŽ€NUÌ ‚ê¼–´CG«,ÿ0NæYÍ^YAm2IMƒÔè¥]™‚¸ënŽ¢,y¿…Tùd]äÙÆ€Fõ™Ú’' ”\aô-ÉúsÁ¦,cg‹G€$I¦-ZþÇ'ã_e¬cdô'ñ)×_ñLÈ.ÿ½L`ãWƒöÃÓcP„qt®Jތ͹š*†òQĬ´J¨Å®¤†ó¬ñ/§üßf'LJè£Ìsžäèüê3Yþ/zgèoÄr$k;¶VLäð¾‹îh: ÕE_•ÞõX(³øñõ£-QÔ2_èAv8C²Â¢ÔϧÊ”Þäb.Kï¨Å¨nL  ù¨×Ñ‹ T"’™j¡V,&Šä^|QHËb ½%´ eè—|¢/^ü„Ho@—‚‚È糩Íܛܠs»Ê0 ëÜ@¶ B;¹×UXÿ\{qàÁY¡N9M®¦â0¤WžÚsA©‰ HƒjÁÁŒ2 `bÀ\éTë|JRt !Ê!³Žù¹íB©–&"šøV R ¥Eó±”`^¢´8–óˆž2n“CBÊ%a!¨=gÜ *ô2”R&Ub™ X&*A$zÝúÇk¸O{´P>žNTÖ JÝúÇëZùìüìÊJÏq˜Q™vüÐ!`lw/tð·ýTi‰@ç-œDªUíÐ1pÛC—pâµA5_xφҋ¹<Ñ¢6õãÇÞ%7Vu|nÐ+6f’LÚ!.plž´mD.ÍuÜîS„@r©‚bï!ÔÁÆ&Š,Vd <‡v À\ìÜ*H.´ôåk®ÝÂjôæν™%¬UáµB „Žˆ0ØÙKD¤UPŠ»Ù\\®¥Lú ÃàÍ«}>€ˆ ¥¥ípÒ¯w±Ssƒ3ñ³Øf¥ôÓ +h)VqòÒoh†‚,mƒU\XŠ]é·¢þåXaÿR²tJ,÷±–éVt¥zʼnd¯¤=5—”’"LÂtûøØq5^ǵ¨?êÜHN"aAé† R3øºÎÅì+RÿüUпñô¬ˆ±–ØÝA›%i§þÅâé× &b-”“„y¤1ÏQ;7Ÿvbñ« àä©9µTà»;Ñ7gõÏ_aðVz€ô“ØÐS±N6ø’è,|¾…’KžDý‘Wxþ¡Bˆâ ~&ì¿4½}+êÇ`ðÛ4“0’â¥XÑÝ~£ÛΡ~ ¡•ÎÊÀ“°oÊSvwe_³„»Õ¨?8÷ ûSh%áÐNÄ¿´y#©ž—ów"Ê÷„§»ŒÄ»-¤v S¤º*#q`íEû½¡Q¡A¾m­Iý¡áSŸœADöu5aŸ†fìëç¯â`cõçgàI ¬ ä?žÈ?É®!åBôK³÷-Måf`rÖä‡À(Ëñbó@”U0Сþ¸g©„ãvãG'(x²¼JÈÞB V¦þy-„'á¤h†R‰ˆNñe„^®JU?¶Æ¥1aAôe‚X®÷X;KÙkÁã^+„ü-ÚƒÞqt ‘[€g”:õª3$ð$Œ¡qIÂvñš-É´¼šKšf©ídêx]àë%áùW+±K¡«~;‹s²ÚC—´20@<&É9ŽF†Is”Ç€CýËY23p, §Håš„s‰‹÷Ývr©³¸„0’§0éD8ˆ™„ŸÔø§¡dZ$-_#ë=™¥˜„c.K~K¡uù ÛÁõuzˆä%:ïG„10%aYý Õ é.d ¨]ÈUФ ËÀ¥’pð}†Ÿô5ê™k»˜sâ„–xd¤“ðx•qKÒ1§´oH_ r‰=Gº†ö¯fþ st ]¯•¨sèÔï´30qfý„‰˜ˆ²/¹¼¯Ç9² ¥YÉG”{+cÀ»„§%YŽ'a†nIâ&ë[þã*ð30@,8HH8I˜%± é^ él¹Ø¥„“vh BPþœðµ ïï®–`—Ù0„Ô`†Dbž®–ûýÄ#øÕVY\Á ËÀ<ÞŸ: ’°câé¯ðÔ0ÈAˆ™~FæšL$ÒÀT“uŠ jñt„t§b€_¥xyy•C‚dR4•–jš1o°Àü°e0]UI¿@ñ&…ôƒ½$I˜2 ÇS®BN)©[ï{Â@‚IæwE@lBz®#œ€Šm|;ò$Ìç+6ëŽ7‡éÇ%Ø—œ„²,Ãq…°SAÒ]7ý ÂF!-eƪ’•î ¡–~ã}ÓHˆ•ºnÌt3¬ogÿ#6)ë”m9àlã7³`áA€ª2>þfÿ/fRCtØdRˆôý+ôô‹Ã0^²*à…OÒ¹Dµ$WÉÄUÐ%ýŒô›”K/ÍoOÇÕ" ×É2ªC´‹Ó׉Œ46 ßÎiù:uV²&4’Aú$n!0~:g@è–¤dÓ1)—]æI5< H‰!‘¢wÛP¬Ç:\Óò4’_+ÍÕ&奚«3ZË׉«¯Q†%‰J„[ò~ÐYª&‰ƒˆŽ$ñ†ÔYà)baB¨XkÝpàfóÈåHŸh*b-ª 3$’®”ÖBÊß–‚kRGTS`üиÔÜK0BÅ#ÿ8š€trеÆâ™´û¦^„Ú7â%áԎ㢓ÞG5y2¤È“ôt*H¼ž>ÌÜ—~·Žßˆþñaœ—÷ˆš“¾"a[­à.ËÒÆEM^†.×lx]Oš ,O£jDƒeliÏZÈ1¿&L….YC½)OÀ3±L ‘8E3¢ŒéÏ{ÑJntQκ)ÏM>D ¸šJ0˜§ß "—¯rv¸“-h%R¢Y˜ùN–uƒD²nTc²M¤TM´.¬P 2RTíÜU<™âPÖE&s…ÇŽW]ôÄXZyV@8}ÃÝÃ}hNµZŸÄA¤7‡³¸ë@Y¿6òO&D9[z-Ý"«+=‚ÕM×@–`Ó¶TXÃE–„Uü=—s« åb½üî ¾5ž,àdX/V( ú€¯kA@8|¡<8֌ѻ!ã[>…ºˆ&A/9Hm¦Wt¼…ïˆ_ƒ4,1 Ú–Žc€Áõ¤  b‹à¨­a]H[\D%¯ÚIôbPPü¦©“›â½J±<-Ù"Þ°–½Æá“UNa®×+ÑѱÀ|³(IÍ`T èy’Ðw² «©¢ãª$[þ†ˆnœDR¡ä¢´ o :ÒúbÝ;AÙ  Mÿ@†Gr\™¦ø|$øÆ1aà:ž¬BÞÙÒÒ,Û¡; }fÞÉÆ  é€!5ÿID,Cr7dF!ù‚{š=ï 0ƒ=ð¥)ƒÇ˜\RAp 7¥X¥hÁãŒ"A!T0HÙQ$w^ÁÃ#û4T,d @É9HF|ƒ£p#ƒ°•Ë: –“™A‚‘„˜Y_è¸j‹$aBuyŒÄ0«”:â@i¦þä{o4=Ò;×rŸz©“UtÒ‘ûr7*°ö*fdWNÑ™FÚ§²_Qbô¡$"¢”)ÒIçÜmÍÙå?ÉpqË— ²¡—ŠtD²V®È‘v Yk·ôNx1$-ða Y›Û¼ôÈy-¸•ÀýÙ¨ì2ŽƒV`A~¹);j^Éz0‰b(ÈçŠKg³hÇÇÅsLþc);âc[u6AŒ„3ܰ¨D€(ÙæÜ2Ãxrܹ!QÿÂ&vqÆ©69wÕýSA(£û7d²F\þ­žœ À¦­ýCîä ;« !kÇ1â[. a<œ;^å`‚ôP 1Bffqú1I^@¯üs¶ˆž¾Âg"ùc)À¾[T¨ZìC~e™±íÍ¡)þ|î“d‘Æ:•¥Ô›/#ŽbÑýër›†ù( {¬/Å#áØLZI[ré‚_ÉÙjÍ%8%ÂQD °·QyKc@‰ðÒ3 § ú¾GF‰=?¢•wëÀP~«;,Š)/>`- ÃüâØ¨óÿ¹Ä4˜QM9à ûó1™»@´6AœŸ HŸk»ôO@&ïdP„Bõ¢Q´¬FÖÓÑ‘–ª UDêÝÒ2‘«È¸?-ä?œK‘ Fes$.–ÐöçpS²îwgû¯ì.Wxzºö=áMö ÁiŒRì¼JæÛÜ”‡Ü$©æ¶Õ®#ÿWÎ$Ö_zl- Öš'(Vô•W¸Á¤¬vÁ»m»þÜvÃ¥[©”%|í©Ë¨ÒØKAÊ 0Ÿ ‘šº²fq‚»ÞQO¬}åÇR²¶¬Q£4ªÊ<Í!`ãéµ7´2$ržŠ( ›¢¯fžþØ ‰àK_6¨‚(¢lˆQ2“pÙúIû¦ùögŸ¾ì4梽iÚòìÓ—gÀ$z¼t59û{0ÔŸŽ.•œ¯”:EX µÓP¿*-R§º£êÄÕöòep ô®EA~r+ —aŠ«áX‚ï”RAlÿm)j#­6¾ìm®“„׃¶DBRã®Y­ l±Ü¯*PV®ù¶;ôO‹à« Td.ï,,¶Ýˆmx n+<ö°Þ†ë$V§©ØÃ¹[É.`…Z€í€QvÃ$Éì˜SÂì €Qö~ˆïKä\$ãŽØ&ONì3 x‰÷…MÛÁ°Ç{)*’ÿƒÎkÊ „Aøõõ°åFæùeDä÷„7 …Ë^@Lì³ âÊ3މ¬§"vŽ<¿˜xà˳‰‰üŸ± èìä öðÜ.¥¾;öÃ({à ¿®fa#ªÏµ©‹ÝIÂÐù0&ìî½FÃ\Ä‘¡pRRä÷bW÷ Ã(”'‚Í,Ö«‚žƒ÷})^M­Àótý(ô©óž ZõsÂ+>r¡.¬ØñsAÏ'ĤT±´ê§$÷]˜n"z¿¢ÄsgOæl+[~NøÅÄ3ø 6¼pÙËiè«å¥í#À‘W¬Ý" Sä•Ä0ì€I^6Ƭò•e*"øâÚ‹ìÛRv*1xöÌ  &ûg°À$ûü”’}=Ìe'Ÿ€m΂ö&Û €—¿Aò“yiHÞ" !¥!y€-º%/ýß$!²#¬Ýƽ6y ”LŒ„SÓeüM{ù¢å°¼PJ¬…¶=ŸNÇóù<þ4R†·*¨”Xkû¾†~”¦i꺩ªÊ€1†a0fPœ¢1Ë™fR£Q™Gœò@œ­ëæp¸éºn†óùT×]Óêº6³‡ÒL®ÿñÇÎç£î#’UU5Mc²‘G¤®ëº®Ë=Ùi 4MSUuè’išÃÍÍm]7]×v]×u}ß÷uÝ4MS×—.£÷û¾;NÿøÇÏ?üð¿Þ€)úY cLU™r7™ªª‚qlLuw÷î›o>|õÕ7777UUw]Û÷}×µÃ0ÜÜÜŽjÖÚaèÇcÛž‡A“|æC”0;ì§ ËããçÓéÑZøúëß4MS×U×õ]׎q9~¢ ïûÓ© ÷_ƒ|úôñ/ùóétüúëoîîîS×õHAá[’S4u]{:Ú¶µöÍûYòéÓÇÓéÏŸ¿ýöûûû÷Ueæii€1Õ—_ÞUUu>ŸŽÇc×µ+PÄk¶mÿþ÷¿Ø¾}ÿþ× UUõþý/¾üòî|>=Õl3GæŒc2 ¶ðš(e¿ëº¿ýí¯Ÿ~÷»ï~ûÛoëúây—‚îïß}ÿýÎ糵¯‚†¾ï;Ö» n¬…¾ïÐÜÍkm¹¸*ú®k¯UЩí>Ï35s¸½?ܾ‹šI:ËZ ÐÔÞž'ÁÂnQ5ÕU¡ „5¦*qDo­†ÁS×Í´Áú'W4×ið3êcIEND®B`‚nted-1.10.18/icons/fullnote_icon.h0000664001041000007640000000511511520270060013653 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (fullnote_icon) #endif #ifdef __GNUC__ static const guint8 fullnote_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 fullnote_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (629) */ "\0\0\2\215" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\206\377\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214" "\377\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214\377" "\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214\377\377" "\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214\377\377\377" "\0\214\0\221\0\7\1\377\377\377\0\207\0\221\0\7\214\377\377\377\0\214" "\0\221\0\7\1\377\377\377\0\207\0\221\0\7\214\377\377\377\0\214\0\221" "\0\7\1\377\377\377\0\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1" "\377\377\377\0\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\377\377" "\377\0\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\377\377\377\0" "\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\377\377\377\0\207\0" "\221\0\7\214\377\377\377\0\214\0\221\0\7\1\377\377\377\0\207\0\221\0" "\7\214\377\377\377\0\214\0\221\0\7\1\377\377\377\0\207\0\221\0\7\214" "\377\377\377\0\214\0\221\0\7\1\377\377\377\0\207\0\221\0\7\214\377\377" "\377\0\214\0\221\0\7\1\377\377\377\0\207\0\221\0\7\214\377\377\377\0" "\214\0\221\0\7\1\377\377\377\0\207\0\221\0\7\214\377\377\377\0\214\0" "\221\0\7\1\377\377\377\0\207\0\221\0\7\214\377\377\377\0\214\0\221\0" "\7\1\377\377\377\0\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\377" "\377\377\0\207\0\221\0\7\214\377\377\377\0\207\0\221\0\7\204\0\0\0\377" "\2\0\221\0\7\377\377\377\0\207\0\221\0\7\214\377\377\377\0\205\0\221" "\0\7\207\0\0\0\377\1\377\377\377\0\207\0\221\0\7\214\377\377\377\0\204" "\0\221\0\7\203\0\0\0\377\1\377\377\377\0\203\0\221\0\7\202\0\0\0\377" "\1\377\377\377\0\206\0\221\0\7\214\377\377\377\0\202\0\221\0\7\1\377" "\377\377\0\203\0\0\0\377\205\377\377\377\0\202\0\0\0\377\202\377\377" "\377\0\205\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202\0\0\0\377\206" "\0\221\0\7\202\0\0\0\377\207\0\221\0\7\214\377\377\377\0\203\0\221\0" "\7\202\0\0\0\377\204\0\221\0\7\203\0\0\0\377\210\0\221\0\7\214\377\377" "\377\0\204\0\221\0\7\207\0\0\0\377\211\0\221\0\7\214\377\377\377\0\206" "\0\221\0\7\203\0\0\0\377\213\0\221\0\7\214\377\377\377\0\224\0\221\0" "\7\206\377\377\377\0"}; nted-1.10.18/icons/open_icon.png0000664001041000007640000000075111520267227013335 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEØ5-·¼{¥tEXtCommentCreated with GIMPWDIDATXÃí×±JÜAÇñÏœ±ôC8,›¼lBª^eêöj•2E^Á'HÀHk +m Öñ8 $c‘-ŽCþï®ùl1»ûŸý²3óç·‘™¦i³µFÄ&¶Š{Ìì7”™^à'8@âMU¬J€OåÐ._pŒÙ¦±:•˜Á®òÑg¬”ùFÖùúù>”ó³Ú µ¬GÄóâ¿ÃmIËD>¢^D¬á%>dæÏÆÝTûˆˆWx[ÜKìfæ`b=Ã\fþ˜TŽZ§“ì‚'± hZ€`êUª¸‘m,Mw«*é>®‹ú—cUÅØÃ¯G¯è4¸öyl\0\0\0\25\213\377\377\377\0\2\0\0\0\12\0\0" "\0I\231\377\377\377\0\2\0\0\0\257\0\0\0:\236\377\377\377\0\2\0\0\0\333" "\0\0\0I\236\377\377\377\0\2\0\0\0\333\0\0\0I\236\377\377\377\0\2\0\0" "\0\333\0\0\0I\236\377\377\377\0\2\0\0\0\333\0\0\0I\236\377\377\377\0" "\2\0\0\0\333\0\0\0I\236\377\377\377\0\2\0\0\0\333\0\0\0I\236\377\377" "\377\0\2\0\0\0\333\0\0\0I\236\377\377\377\0\2\0\0\0\333\0\0\0I\236\377" "\377\377\0\2\0\0\0\333\0\0\0I\236\377\377\377\0\2\0\0\0\333\0\0\0I\236" "\377\377\377\0\2\0\0\0\333\0\0\0I\236\377\377\377\0\2\0\0\0\333\0\0\0" "I\231\377\377\377\0\2\0\0\0\16\0\0\0\25\203\377\377\377\0\2\0\0\0\333" "\0\0\0I\226\377\377\377\0\12\0\0\0\7\0\0\0d\0\0\0\317\0\0\0\363\0\0\0" "\375\0\0\0\333\0\0\0\213\0\0\0\24\0\0\0\333\0\0\0I\225\377\377\377\0" "\2\0\0\0\1\0\0\0\234\206\0\0\0\377\3\0\0\0\340\0\0\0\354\0\0\0I\225\377" "\377\377\0\1\0\0\0D\211\0\0\0\377\1\0\0\0I\225\377\377\377\0\1\0\0\0" "x\210\0\0\0\377\2\0\0\0\354\0\0\0*\225\377\377\377\0\2\0\0\0>\0\0\0\375" "\207\0\0\0\377\1\0\0\0\207\227\377\377\377\0\1\0\0\0\177\206\0\0\0\377" "\2\0\0\0\317\0\0\0\6\227\377\377\377\0\10\0\0\0\4\0\0\0N\0\0\0\271\0" "\0\0\336\0\0\0\356\0\0\0\305\0\0\0u\0\0\0\12\217\377\377\377\0"}; nted-1.10.18/icons/normal_note_icon.h0000664001041000007640000000413311520270060014337 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (normal_note_icon) #endif #ifdef __GNUC__ static const guint8 normal_note_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 normal_note_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (567) */ "\0\0\2O" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\226\377\377\377\0\2\0\0\0\30\0\0\0\40\236\377\377\377\0\2\0\0\0n\0\0" "\0\224\236\377\377\377\0\2\0\0\0n\0\0\0\224\236\377\377\377\0\2\0\0\0" "n\0\0\0\224\236\377\377\377\0\2\0\0\0n\0\0\0\224\236\377\377\377\0\2" "\0\0\0n\0\0\0\224\236\377\377\377\0\2\0\0\0n\0\0\0\224\236\377\377\377" "\0\2\0\0\0n\0\0\0\224\236\377\377\377\0\2\0\0\0n\0\0\0\224\236\377\377" "\377\0\2\0\0\0n\0\0\0\224\236\377\377\377\0\2\0\0\0n\0\0\0\224\236\377" "\377\377\0\2\0\0\0n\0\0\0\224\236\377\377\377\0\2\0\0\0n\0\0\0\224\236" "\377\377\377\0\2\0\0\0n\0\0\0\224\236\377\377\377\0\2\0\0\0n\0\0\0\224" "\236\377\377\377\0\2\0\0\0n\0\0\0\224\236\377\377\377\0\2\0\0\0n\0\0" "\0\224\236\377\377\377\0\2\0\0\0n\0\0\0\224\236\377\377\377\0\2\0\0\0" "n\0\0\0\224\236\377\377\377\0\2\0\0\0n\0\0\0\224\236\377\377\377\0\2" "\0\0\0n\0\0\0\224\236\377\377\377\0\2\0\0\0n\0\0\0\224\236\377\377\377" "\0\2\0\0\0n\0\0\0\224\236\377\377\377\0\2\0\0\0n\0\0\0\224\226\377\377" "\377\0\12\0\0\0\5\0\0\0E\0\0\0z\0\0\0\240\0\0\0\266\0\0\0\253\0\0\0\213" "\0\0\0C\0\0\0p\0\0\0\224\224\377\377\377\0\3\0\0\0\17\0\0\0\206\0\0\0" "\354\207\0\0\0\377\2\0\0\0\356\0\0\0\224\223\377\377\377\0\2\0\0\0&\0" "\0\0\340\212\0\0\0\377\1\0\0\0\224\222\377\377\377\0\2\0\0\0\4\0\0\0" "\332\213\0\0\0\377\1\0\0\0[\222\377\377\377\0\1\0\0\0%\213\0\0\0\377" "\2\0\0\0\250\0\0\0\3\222\377\377\377\0\2\0\0\0\2\0\0\0\312\210\0\0\0" "\377\3\0\0\0\357\0\0\0t\0\0\0\3\224\377\377\377\0\4\0\0\0\12\0\0\0{\0" "\0\0\316\0\0\0\373\202\0\0\0\374\4\0\0\0\335\0\0\0\253\0\0\0b\0\0\0\20" "\253\377\377\377\0"}; nted-1.10.18/icons/quarternote_dot_icon.png0000664001041000007640000000043311520267227015610 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs  d_‘tIMEÙ ¿ô‡Ë›IDATXÃí—] à „gKAOϲ=mò4y+ÆZ+$ÌÀ‚øÃ~ºŠŒ‘DMö²€âÄ¥ÖÿÀÉ€p€„Y%€ Ü aÞóæzîúv[Ř%Ië>N\6fbÐŽ?‘Õ€#¼ÛE¾ŽÐš“G³ÝöÌÿµr§¿ë6§ßî€#cNËDŽØ›|Ü3°Ô cSeYuÞÂIEND®B`‚nted-1.10.18/icons/delete_staff_icon.h0000664001041000007640000001102211520270060014442 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (delete_staff_icon) #endif #ifdef __GNUC__ static const guint8 delete_staff_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 delete_staff_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1439) */ "\0\0\5\267" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\244\0\0\0\0\3\377\0\0a\377\0\0\330\377\0\0\27\221\0\0\0\0\3\377\0\0" "\226\377\0\0\265\377\0\0\5\210\0\0\0\0\1\377\0\0_\202\377\0\0\377\1\377" "\0\0\230\220\0\0\0\0\5\377\0\0F\377\0\0\370\377\0\0\377\377\0\0\320\377" "\0\0\4\207\0\0\0\0\2\377\0\0\4\377\0\0\262\202\377\0\0\377\1\377\0\0" "^\216\0\0\0\0\2\377\0\0\24\377\0\0\357\202\377\0\0\377\1\377\0\0,\211" "\0\0\0\0\5\377\0\0%\377\0\0\347\377\0\0\377\377\0\0\370\377\0\0*\215" "\0\0\0\0\1\377\0\0\311\202\377\0\0\377\1\377\0\0g\213\0\0\0\0\1\377\0" "\0H\202\377\0\0\377\2\377\0\0\323\377\0\0\24\213\0\0\0\0\1\377\0\0\216" "\202\377\0\0\377\2\377\0\0\267\377\0\0\6\214\0\0\0\0\1\377\0\0\203\202" "\377\0\0\377\1\377\0\0\255\212\0\0\0\0\5\377\0\0A\377\0\0\365\377\0\0" "\377\377\0\0\325\377\0\0\7\207\0\0\0\0\1\0\0\0\1\205\0\0\0U\2\21\0\0" "[\310\0\0\351\202\377\0\0\377\1\300\0\0\230\210\0\0\0U\5W\0\0g\377\0" "\0\364\377\0\0\377\353\0\0\377W\0\0\201\207\0\0\0U\2\0\0\0\1\0\0\0\3" "\206\0\0\0\377\5*\0\0\377\352\0\0\377\377\0\0\377\365\0\0\377A\0\0\377" "\206\0\0\0\377\2\21\0\0\377\314\0\0\377\202\377\0\0\377\1n\0\0\377\210" "\0\0\0\377\1\0\0\0\3\210\0\0\0\0\1\377\0\0""4\202\377\0\0\377\2\377\0" "\0\316\377\0\0\22\205\0\0\0\0\1\377\0\0\206\202\377\0\0\377\1\377\0\0" "\251\223\0\0\0\0\1\377\0\0n\202\377\0\0\377\1\377\0\0\245\204\0\0\0\0" "\1\377\0\0K\202\377\0\0\377\2\377\0\0\332\377\0\0\12\212\0\0\0\0\1\0" "\0\0\3\210\0\0\0\377\2\11\0\0\377\274\0\0\377\202\377\0\0\377\1\206\0" "\0\377\202\0\0\0\377\5\36\0\0\377\362\0\0\377\377\0\0\377\355\0\0\377" "1\0\0\377\212\0\0\0\377\2\0\0\0\3\0\0\0\1\211\0\0\0U\7""4\0\0_\377\0" "\0\355\377\0\0\377\363\0\0\377i\0\0\221$\0\0c\322\0\0\361\202\377\0\0" "\377\1\251\0\0\210\213\0\0\0U\1\0\0\0\1\213\0\0\0\0\1\377\0\0<\202\377" "\0\0\377\2\377\0\0\345\377\0\0\251\202\377\0\0\377\1\377\0\0\225\215" "\0\0\0\0\1\0\0\0\2\213\0\0\0\252\1\177\0\0\355\204\377\0\0\377\2\303" "\0\0\377\21\0\0\266\214\0\0\0\252\202\0\0\0\2\214\0\0\0\252\1\327\0\0" "\322\202\377\0\0\377\2\377\0\0\360Q\0\0\252\215\0\0\0\252\1\0\0\0\2\214" "\0\0\0\0\2\377\0\0\13\377\0\0\302\202\377\0\0\377\2\377\0\0\360\377\0" "\0""6\216\0\0\0\0\1\0\0\0\1\213\0\0\0U\1\344\0\0\244\204\377\0\0\377" "\2\377\0\0\357@\0\0a\214\0\0\0U\2\0\0\0\1\0\0\0\3\212\0\0\0\377\1t\0" "\0\377\202\377\0\0\377\2\311\0\0\377\215\0\0\377\202\377\0\0\377\2\302" "\0\0\377\13\0\0\377\213\0\0\0\377\1\0\0\0\3\212\0\0\0\0\7\377\0\0/\377" "\0\0\355\377\0\0\377\377\0\0\363\377\0\0\40\0\0\0\0\377\0\0\271\202\377" "\0\0\377\1\377\0\0v\225\0\0\0\0\2\377\0\0\11\377\0\0\330\202\377\0\0" "\377\1\377\0\0N\202\0\0\0\0\2\377\0\0\17\377\0\0\311\202\377\0\0\377" "\1\377\0\0<\213\0\0\0\0\1\0\0\0\3\210\0\0\0\377\1\246\0\0\377\202\377" "\0\0\377\1\211\0\0\377\204\0\0\0\377\5<\0\0\377\363\0\0\377\377\0\0\377" "\355\0\0\377\23\0\0\377\211\0\0\0\377\2\0\0\0\3\0\0\0\1\207\0\0\0U\1" "\225\0\0\271\202\377\0\0\377\2\377\0\0\3165\0\0U\205\0\0\0U\1\271\0\0" "\222\202\377\0\0\377\2\314\0\0\354\30\0\0^\210\0\0\0U\1\0\0\0\1\207\0" "\0\0\0\5\377\0\0*\377\0\0\352\377\0\0\377\377\0\0\354\377\0\0\22\207" "\0\0\0\0\1\377\0\0\245\202\377\0\0\377\1\377\0\0\212\217\0\0\0\0\5\377" "\0\0\14\377\0\0\351\377\0\0\377\377\0\0\366\377\0\0C\210\0\0\0\0\2\377" "\0\0\22\377\0\0\316\202\377\0\0\377\1\377\0\0P\215\0\0\0\0\2\377\0\0" "\5\377\0\0\265\202\377\0\0\377\1\377\0\0\221\212\0\0\0\0\5\377\0\0A\377" "\0\0\365\377\0\0\377\377\0\0\352\377\0\0*\214\0\0\0\0\1\377\0\0d\202" "\377\0\0\377\1\377\0\0\313\214\0\0\0\0\1\377\0\0V\202\377\0\0\377\2\377" "\0\0\267\377\0\0\6\212\0\0\0\0\1\377\0\0)\202\377\0\0\377\2\377\0\0\361" "\377\0\0\25\215\0\0\0\0\1\377\0\0\221\202\377\0\0\377\1\377\0\0\203\211" "\0\0\0\0\5\377\0\0\7\377\0\0\346\377\0\0\377\377\0\0\371\377\0\0H\216" "\0\0\0\0\2\377\0\0\24\377\0\0\323\202\377\0\0\377\1\377\0\0d\210\0\0" "\0\0\1\377\0\0C\202\377\0\0\377\1\377\0\0|\220\0\0\0\0\4\377\0\0*\377" "\0\0\370\377\0\0\377\377\0\0\234\211\0\0\0\0\2\377\0\0A\377\0\0\203\222" "\0\0\0\0\3\377\0\0H\377\0\0w\377\0\0\5\245\0\0\0\0"}; nted-1.10.18/icons/n64thnote_icon.png0000664001041000007640000000046411520267227014226 00000000000000‰PNG  IHDR szzôgAMA± üabKGDùC» pHYs  ­#½uÄIDATxÚí—Áà C“jÒøÚò-ìkÙÉ;!UµIêö0ácUàÅrQ2’~ô-e©Ôôï@¯èB/,V|G߀d©Ñ¥€ <€  Á(’¢¼I;ǶU7£ ÷„ÐáÄ á‡ðq€ Ä á á !À Áë‚@ù@üYê•Wp/û\ÐzQ$q$ÄŠÍ´IFUaߎ`ž G¡kW³A÷ÜUì}¿ýAgýîûšIG~;cIEND®B`‚nted-1.10.18/icons/backgroundv1.h0000664001041000007640000020325311520270060013404 00000000000000/* GdkPixbuf RGB C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (backgroundv1) #endif #ifdef __GNUC__ static const guint8 backgroundv1[] __attribute__ ((__aligned__ (4))) = #else static const guint8 backgroundv1[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (17911) */ "\0\0F\17" /* pixdata_type (0x2010001) */ "\2\1\0\1" /* rowstride (384) */ "\0\0\1\200" /* width (128) */ "\0\0\0\200" /* height (256) */ "\0\0\1\0" /* pixel_data: */ "\1\231\237\267\376\260\260\304\2\246\251\277\231\237\267\376\260\260" "\304\2\246\251\277\231\237\267\376\260\260\304\2\246\251\277\231\237" "\267\203\260\260\304\203\260\260\305\224\261\261\305\1\261\261\306\261" "\260\260\305\1\257\257\304\254\260\260\304\3\257\257\303\260\260\304" "\260\260\305\202\260\260\304\2\246\251\277\231\237\267\203\260\260\304" "\3\260\260\305\255\255\301\237\237\262\225\232\232\254\1\226\226\250" "\257\224\224\245\1\222\222\243\254\216\216\237\3\216\216\236\217\217" "\240\237\237\261\203\260\260\304\2\246\251\277\231\237\267\204\260\260" "\304\4\243\243\267\205\205\224pp}mmz\222nnz\2mmzllx\257kkw\2jjvhhu\252" "iiu\11hhuiiullx\205\205\225\252\252\276\260\260\305\260\260\304\246\251" "\277\231\237\267\203\260\260\304\5\256\256\303\241\241\264\215\215\236" "ss\201ffr\360ggs\10hhtkkwvv\204\237\237\261\260\260\305\260\260\304\246" "\251\277\231\237\267\203\260\260\304\6\255\255\302\240\240\263\226\226" "\250\205\205\225nnzffr\357ggs\4jjwllxoo|\227\227\251\202\260\260\304" "\2\246\251\277\231\237\267\203\260\260\304\7\256\256\302\242\242\265" "\233\233\255\224\224\245}}\213iiuffr\355ggs\11iiukkxkkwmmz\227\227\250" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\7\255" "\255\302\244\244\267\237\237\261\233\233\255\215\215\236ss\201ffr\354" "ggs\1hht\202kkw\7iiummz\227\227\250\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\10\255\255\302\244\244\267\241\241\263\237" "\237\261\231\231\253\205\205\224llyffr\353ggs\12jjvkkwiiuhhummz\227\227" "\250\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304" "\2\255\255\302\244\244\267\202\241\241\263\4\237\237\261\225\225\246" "zz\211hht\352ggs\3iiukkwiiv\202hhu\6mmz\227\227\250\260\260\305\260\260" "\304\246\251\277\231\237\267\203\260\260\304\2\255\255\302\244\244\267" "\202\241\241\263\5\240\240\263\235\235\257\215\215\235qq~ffr\350ggs\1" "hht\202jjv\203hhu\6mmz\227\227\250\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\203\241\241\263" "\5\240\240\263\233\233\255\204\204\223kkwffr\347ggs\3iiujjviiu\203hh" "u\6mmz\227\227\250\260\260\305\260\260\304\246\251\277\231\237\267\203" "\260\260\304\2\255\255\302\244\244\267\204\241\241\263\3\240\240\263" "\227\227\250zz\210\347ggs\1hht\202iiu\204hhu\6mmz\227\227\250\260\260" "\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255\255\302" "\244\244\267\205\241\241\263\4\240\240\263\217\217\240pp}ffr\237ggs\305" "ffr\3ggshhtiiu\205hhu\6mmz\227\227\250\260\260\305\260\260\304\246\251" "\277\231\237\267\203\260\260\304\2\255\255\302\244\244\267\205\241\241" "\263\4\241\241\264\235\235\257\204\204\224ss\201\240rr\177\1tt\202\265" "ww\205\2xx\206||\212\213||\213\3}}\213rr\177iiu\206hhu\6mmz\227\227\250" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\241\241\264\236\236\260\237\237" "\261\237\241\241\264\2\241\241\263\243\243\266\265\245\245\270\2\246" "\246\272\251\251\274\213\251\251\275\3\247\247\272\205\205\225iiv\206" "hhu\6mmz\227\227\250\260\260\305\260\260\304\246\251\277\231\237\267" "\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263\3\240\240" "\263\244\244\267\256\256\302\314\260\260\304\2\261\261\305\257\257\304" "\225\260\260\304\3\256\256\302\210\210\230iiu\206hhu\6mmz\227\227\250" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\314\260\260\304\3\257\257\304\250\252\300\254\255\302\224\260\260" "\304\3\256\256\302\210\210\230iiu\206hhu\6mmz\227\227\250\260\260\305" "\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255\255\302\244" "\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256\302\315\260" "\260\304\2\254\255\302\256\256\303\224\260\260\304\3\256\256\302\210" "\210\230iiu\206hhu\6mmz\227\227\250\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\343\260\260\304\3\256\256\302" "\210\210\230iiu\206hhu\6mmz\227\227\250\260\260\305\260\260\304\246\251" "\277\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241" "\263\3\240\240\263\244\244\267\256\256\302\343\260\260\304\3\256\256" "\302\210\210\230iiu\206hhu\6mmz\227\227\250\260\260\305\260\260\304\246" "\251\277\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241" "\241\263\3\240\240\263\244\244\267\256\256\302\343\260\260\304\3\256" "\256\302\210\210\230iiu\206hhu\6nn{\231\231\252\260\260\305\260\260\304" "\246\251\277\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206" "\241\241\263\3\240\240\263\244\244\267\256\256\302\343\260\260\304\3" "\256\256\302\210\210\230iiu\206hhu\6pp}\234\234\256\261\261\305\260\260" "\304\246\251\277\231\237\267\203\260\260\304\2\255\255\302\244\244\267" "\206\241\241\263\3\240\240\263\244\244\267\256\256\302\343\260\260\304" "\3\256\256\302\210\210\230iiu\206hhu\6pp}\234\234\257\260\260\305\260" "\260\304\246\251\277\231\237\267\203\260\260\304\2\255\255\302\244\244" "\267\206\241\241\263\3\240\240\263\244\244\267\256\256\302\343\260\260" "\304\3\256\256\302\210\210\230iiu\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255\255\302\244" "\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256\302\343\260" "\260\304\3\256\256\302\210\210\230iiu\206hhu\6pp}\234\234\257\260\260" "\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255\255\302" "\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256\302\343" "\260\260\304\3\256\256\302\210\210\230iiu\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255\255" "\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256\302" "\343\260\260\304\3\256\256\302\210\210\230iiu\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\343\260\260\304\3\256\256\302\210\210\230iiu\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304" "\2\255\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267" "\256\256\302\343\260\260\304\3\256\256\302\210\210\227iiu\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267\203\260" "\260\304\2\255\255\302\244\244\267\206\241\241\263\3\240\240\263\244" "\244\267\256\256\302\207\260\260\304\326\260\260\305\206\260\260\304" "\3\254\254\301\204\204\224iiu\206hhu\6pp}\234\234\257\260\260\305\260" "\260\304\246\251\277\231\237\267\203\260\260\304\2\255\255\302\244\244" "\267\206\241\241\263\3\240\240\263\244\244\267\256\256\302\207\260\260" "\304\326\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206" "hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267" "\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263\3\240\240" "\263\244\244\267\256\256\302\207\260\260\304\326\260\260\305\206\260" "\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260" "\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255\255\302" "\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256\302\210" "\260\260\304\325\260\260\305\206\260\260\304\3\253\253\300\202\202\221" "hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237" "\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263\3\240" "\240\263\244\244\267\256\256\302\210\260\260\304\325\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255\255" "\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256\302" "\211\260\260\304\324\260\260\305\206\260\260\304\3\253\253\300\202\202" "\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231" "\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263\3" "\240\240\263\244\244\267\256\256\302\211\260\260\304\324\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\211\260\260\304\324\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\212\260\260\304\323\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\212\260\260\304\323\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\213\260\260\304\322\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\214\260\260\304\244\260\260\305\247\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\203\260\260\304\2\255" "\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\203\260\260\304\2\255\255\302\244\244\267\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260" "\260\305\255\255\302\244\244\267\206\241\241\263\3\240\240\263\244\244" "\267\256\256\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\246\251\277\231\237\267\202\260\260\304\3\260\260\305\255\255\301\243" "\243\266\206\241\241\263\3\240\240\263\244\244\267\256\256\302\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237" "\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\244\244\267\256\256\302\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\244\244\267" "\256\256\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246" "\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\206\241\241\263\3\240\240\263\244\244\267\256\256\302\327\260\260" "\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206" "hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\244\244" "\267\256\256\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\244\244\267\256\256\302\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237" "\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\244\244\267\256\256\302\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\244\244\267" "\256\256\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246" "\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\206\241\241\263\3\240\240\263\244\244\267\256\256\302\327\260\260" "\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206" "hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\244\244" "\267\256\256\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\244\244\267\256\256\302\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237" "\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\244\244\267\256\256\302\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\244\244\267" "\256\256\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246" "\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\206\241\241\263\3\240\240\263\244\244\267\256\256\302\327\260\260" "\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206" "hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\244\244" "\267\256\256\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\244\244\267\256\256\302\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237" "\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\244\244\267\256\256\302\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\244\244\267\256\256" "\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\244\244\267" "\256\256\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246" "\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\206\241\241\263\3\240\240\263\244\244\267\256\256\302\327\260\260" "\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206" "hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\244\244\267\256\256\302\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\244\244" "\267\256\256\302\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\244\244\270\256\256\302\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237" "\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\245\245\270\256\256\303\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257" "\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270" "\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246" "\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260" "\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206" "hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237" "\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257" "\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270" "\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246" "\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260" "\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206" "hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237" "\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257" "\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270" "\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246" "\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260" "\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206" "hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\231\237" "\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257" "\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277" "\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270" "\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246" "\251\277\231\237\267\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\267\260\260" "\304\3\257\257\304\252\254\301\256\256\303\235\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\246\251\277\231\237\267\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\267\260\260\304\3\256\257\304\250\252\300\255" "\256\303\235\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300" "\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251" "\277\233\241\270\202\260\260\304\3\260\260\305\254\254\301\243\243\266" "\206\241\241\263\3\240\240\263\245\245\270\257\257\303\267\260\260\304" "\3\261\261\305\260\260\304\260\260\305\235\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\246\251\277\241\245\274\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\246\251\277\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\246\251\277\241\245" "\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\243\247\275\241\245\274\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\237\243\273\241\245\274\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257" "\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272" "\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\237\243\272\241\245\274\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270" "\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237" "\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260" "\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206" "hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272\241\245\274" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272\241\245" "\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257" "\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272" "\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\237\243\272\241\245\274\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270" "\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237" "\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260" "\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206" "hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272\241\245\274" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272\241\245" "\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257" "\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272" "\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\237\243\272\241\245\274\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270" "\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237" "\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260" "\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206" "hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272\241\245\274" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272\241\245" "\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257" "\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272" "\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\237\243\272\241\245\274\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260" "\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270" "\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237" "\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260" "\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206" "hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272\241\245\274" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257" "\260\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304" "\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272\241\245" "\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260" "\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234" "\257\260\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260" "\304\3\253\253\300\202\202\221hht\206hhu\6pp}\234\234\257\260\260\305" "\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254" "\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257" "\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202" "\202\221hht\206hhu\6pp}\234\234\257\260\260\305\260\260\304\237\243\272" "\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206" "\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206" "\260\260\305\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp" "}\234\234\257\260\260\305\260\260\304\237\243\272\241\245\274\202\260" "\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240" "\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206" "\260\260\304\3\253\253\300\202\202\221hht\206hhu\6pp~\235\235\257\260" "\260\305\260\260\304\237\243\272\241\245\274\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270" "\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253\253" "\300\202\202\221hht\206hhu\6ss\200\240\240\263\260\260\305\260\260\304" "\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241\245\274" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305" "\206\260\260\304\3\253\253\300\202\202\221hht\206hhu\2tt\201\242\242" "\264\202\260\260\304\2\237\243\272\241\245\274\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\253" "\253\300\202\202\221hht\206hhu\2tt\201\242\242\264\202\260\260\304\2" "\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260" "\260\304\206\260\260\305\206\260\260\304\3\253\253\300\202\202\221hh" "t\206hhu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241\245\274" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263" "\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305" "\206\260\260\304\3\252\252\276\200\200\217hht\206hhu\2tt\201\242\242" "\264\202\260\260\304\2\237\243\272\241\245\274\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\250" "\250\274||\213hht\206hhu\2tt\201\242\242\264\202\260\260\304\2\237\243" "\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266" "\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304" "\206\260\260\305\206\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201" "\242\242\264\202\260\260\304\2\237\243\272\241\245\274\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260" "\304\3\250\250\274||\212hht\206hhu\2tt\201\242\242\264\202\260\260\304" "\2\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301" "\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327" "\260\260\304\206\260\260\305\206\260\260\304\3\250\250\274||\212hht\206" "hhu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241\245\274\202" "\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3" "\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305" "\206\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201\242\242\264\202" "\260\260\304\2\237\243\272\241\245\274\202\260\260\304\3\260\260\305" "\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257" "\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\250\250\274" "||\212hht\206hhu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241" "\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241" "\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260" "\260\305\206\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201\242\242" "\264\202\260\260\304\2\237\243\272\241\245\274\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\250" "\250\274||\212hht\206hhu\2tt\201\242\242\264\202\260\260\304\2\237\243" "\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266" "\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327\260\260\304" "\206\260\260\305\206\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201" "\242\242\264\202\260\260\304\2\237\243\272\241\245\274\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\327\260\260\304\206\260\260\305\206\260\260" "\304\3\250\250\274||\212hht\206hhu\2tt\201\242\242\264\202\260\260\304" "\2\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301" "\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\327" "\260\260\304\206\260\260\305\206\260\260\304\3\250\250\274||\212hht\206" "hhu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241\245\274\202" "\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3" "\240\240\263\245\245\270\257\257\303\327\260\260\304\206\260\260\305" "\206\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201\242\242\264\202" "\260\260\304\2\237\243\272\241\245\274\202\260\260\304\3\260\260\305" "\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257" "\257\303\327\260\260\304\206\260\260\305\206\260\260\304\3\250\250\274" "||\212hht\206hhu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241" "\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241" "\241\263\3\240\240\263\245\245\270\257\257\303\330\260\260\304\205\260" "\260\305\206\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201\242\242" "\264\202\260\260\304\2\237\243\272\241\245\274\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\330\260\260\304\205\260\260\305\206\260\260\304\3\250" "\250\274||\212hht\206hhu\2tt\201\242\242\264\202\260\260\304\2\237\243" "\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266" "\206\241\241\263\3\240\240\263\245\245\270\257\257\303\331\260\260\304" "\204\260\260\305\206\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201" "\242\242\264\202\260\260\304\2\237\243\272\241\245\274\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\331\260\260\304\204\260\260\305\206\260\260" "\304\3\250\250\274||\212hht\206hhu\2tt\201\242\242\264\202\260\260\304" "\2\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301" "\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\332" "\260\260\304\203\260\260\305\206\260\260\304\3\250\250\274||\212hht\206" "hhu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241\245\274\202" "\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3" "\240\240\263\245\245\270\257\257\303\332\260\260\304\203\260\260\305" "\206\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201\242\242\264\202" "\260\260\304\2\237\243\272\241\245\274\202\260\260\304\3\260\260\305" "\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257" "\257\303\333\260\260\304\202\260\260\305\206\260\260\304\3\250\250\274" "||\212hht\206hhu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241" "\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241" "\241\263\3\240\240\263\245\245\270\257\257\303\333\260\260\304\202\260" "\260\305\206\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201\242\242" "\264\202\260\260\304\2\237\243\272\241\245\274\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\343\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201" "\242\242\264\202\260\260\304\2\237\243\272\241\245\274\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\343\260\260\304\3\250\250\274||\212hht\206h" "hu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241\245\274\202" "\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3" "\240\240\263\245\245\270\257\257\303\343\260\260\304\3\250\250\274||" "\212hht\206hhu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241" "\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241" "\241\263\3\240\240\263\245\245\270\257\257\303\343\260\260\304\3\250" "\250\274||\212hht\206hhu\2tt\201\242\242\264\202\260\260\304\2\237\243" "\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266" "\206\241\241\263\3\240\240\263\245\245\270\257\257\303\343\260\260\304" "\3\250\250\274||\212hht\206hhu\2tt\201\242\242\264\202\260\260\304\2" "\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\343\260" "\260\304\3\250\250\274||\212hht\206hhu\2tt\201\242\242\264\202\260\260" "\304\2\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254" "\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303" "\343\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201\242\242\264\202" "\260\260\304\2\237\243\272\241\245\274\202\260\260\304\3\260\260\305" "\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270\257" "\257\303\343\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201\242\242" "\264\202\260\260\304\2\237\243\272\241\245\274\202\260\260\304\3\260" "\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245" "\270\257\257\303\343\260\260\304\3\250\250\274||\212hht\206hhu\2tt\201" "\242\242\264\202\260\260\304\2\237\243\272\241\245\274\202\260\260\304" "\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263" "\245\245\270\257\257\303\343\260\260\304\3\250\250\274||\212hht\206h" "hu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241\245\274\202" "\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241\263\3" "\240\240\263\245\245\270\257\257\303\343\260\260\304\3\250\250\274||" "\212hht\206hhu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241" "\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241" "\241\263\3\240\240\263\245\245\270\257\257\303\343\260\260\304\3\250" "\250\274||\212hht\206hhu\2tt\201\242\242\264\202\260\260\304\2\237\243" "\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266" "\206\241\241\263\3\240\240\263\245\245\270\257\257\303\343\260\260\304" "\3\250\250\274||\212hht\206hhu\2tt\201\242\242\264\202\260\260\304\2" "\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243" "\243\266\206\241\241\263\3\240\240\263\245\245\270\257\257\303\342\260" "\260\304\4\260\260\305\250\250\274~~\214hht\206hhu\2tt\201\242\242\264" "\202\260\260\304\2\237\243\272\241\245\274\202\260\260\304\3\260\260" "\305\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\270" "\257\257\303\342\260\260\304\5\260\260\305\250\250\274\206\206\225mm" "yhht\205hhu\2tt\201\242\242\264\202\260\260\304\2\237\243\272\241\245" "\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\206\241\241" "\263\3\240\240\263\245\245\270\257\257\303\342\260\260\304\6\260\260" "\305\241\241\264\214\214\234xx\206jjvhht\204hhu\2tt\201\242\242\264\202" "\260\260\304\2\237\243\272\241\245\274\202\260\260\304\3\260\260\305" "\254\254\301\243\243\266\206\241\241\263\3\240\240\263\245\245\271\257" "\257\303\342\260\260\304\2\255\255\301\221\221\241\202\207\207\227\3" "ww\205jjvhht\203hhu\2tt\201\242\242\264\202\260\260\304\2\237\243\272" "\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266\205" "\241\241\263\3\240\240\263\241\241\264\252\252\276\244\264\264\311\237" "\263\263\310\240\262\262\307\10\255\255\301\206\206\225vv\204\211\211" "\231\210\210\227ww\205jjvhht\202hhu\2tt\201\242\242\264\202\260\260\304" "\2\237\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301" "\243\243\266\204\241\241\263\5\240\240\263\241\241\263\247\247\273\264" "\264\311\272\272\320\243\272\272\317\237\271\271\317\240\271\271\316" "\14\267\267\314\232\232\254uu\203}}\213\214\214\234\210\210\230ww\205" "jjvhhthhutt\201\242\242\264\202\260\260\304\2\237\243\272\241\245\274" "\202\260\260\304\3\260\260\305\254\254\301\243\243\266\203\241\241\263" "\202\240\240\263\3\246\246\272\262\262\307\272\272\317\343\272\272\320" "\14\273\273\321\263\263\310\217\217\240uu\202\177\177\215\214\214\235" "\207\207\227ss\200hhthhutt\201\242\242\264\202\260\260\304\2\237\243" "\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243\266" "\202\241\241\263\202\240\240\263\3\244\244\270\261\261\305\271\271\317" "\345\272\272\320\13\273\273\320\253\253\277\201\201\221pp}\177\177\215" "\214\214\234\201\201\220oo|hhttt\201\242\242\264\202\260\260\304\2\237" "\243\272\241\245\274\202\260\260\304\3\260\260\305\254\254\301\243\243" "\266\202\241\241\263\4\240\240\263\244\244\267\257\257\303\270\270\316" "\347\272\272\320\12\270\270\316\236\236\261yy\207pp}\203\203\223\215" "\215\235\200\200\217oo|tt\201\242\242\264\202\260\260\304\2\237\243\272" "\241\245\274\202\260\260\304\10\260\260\305\254\254\301\243\243\266\241" "\241\263\240\240\263\242\242\265\255\255\301\270\270\315\351\272\272" "\320\11\263\263\310\225\225\247ww\205vv\204\210\210\230\215\215\236\200" "\200\217zz\211\241\241\264\202\260\260\304\2\237\243\272\241\245\274" "\202\260\260\304\7\260\260\305\254\254\301\243\243\266\240\240\263\242" "\242\265\254\254\300\267\267\314\353\272\272\320\10\254\254\300\212\212" "\233qq\177vv\204\210\210\230\215\215\236\213\213\233\246\246\271\202" "\260\260\304\2\237\243\272\241\245\274\202\260\260\304\6\260\260\305" "\254\254\301\242\242\265\241\241\264\251\251\275\265\265\313\353\272" "\272\320\11\273\273\320\266\266\313\237\237\262\201\201\220pp}vv\204" "\211\211\231\230\230\252\253\253\277\202\260\260\304\2\237\243\272\241" "\245\274\202\260\260\304\6\260\260\305\254\254\300\243\243\266\251\251" "\275\264\264\311\272\272\317\355\272\272\320\7\260\260\305\227\227\250" "\177\177\216qq~\177\177\216\241\241\264\257\257\304\202\260\260\304\2" "\237\243\272\241\245\274\203\260\260\304\4\254\254\301\251\251\275\264" "\264\311\272\272\317\356\272\272\320\7\271\271\316\250\250\274\221\221" "\242}}\214yy\210\242\242\265\260\260\305\202\260\260\304\2\237\243\272" "\241\245\274\203\260\260\304\3\260\260\305\263\263\310\271\271\317\357" "\272\272\320\6\273\273\320\265\265\312\237\237\261\212\212\232\202\202" "\221\243\243\266\203\260\260\304\2\237\243\272\241\245\274\203\260\260" "\304\2\261\261\306\266\266\314\362\272\272\320\4\256\256\302\227\227" "\250\223\223\244\251\251\275\203\260\260\304\2\237\243\272\241\245\274" "\203\260\260\304\3\260\260\305\263\263\310\267\267\315\223\270\270\315" "\1\270\270\316\240\271\271\316\236\271\271\317\236\272\272\317\5\272" "\272\320\270\270\315\247\247\272\243\243\266\257\257\303\203\260\260" "\304\3\237\243\272\242\245\274\260\260\305\203\260\260\304\1\260\260" "\305\224\261\261\306\241\262\262\307\236\263\263\310\237\264\264\311" "\4\265\265\312\261\261\305\256\256\303\260\260\305\203\260\260\304\3" "\237\243\272\177\214\250\222\232\263\236\227\235\266\2\230\236\266\236" "\242\272\234\240\244\273\1\242\246\274\234\247\251\277\2\246\251\277" "\252\253\301\240\254\255\302\202\257\257\304\3\234\241\271%Is+Nw\236" "0Qz\2""1Rz9X\177\2343o6kC{_Q€›eÿkìÀ"`5.gæþÆ^†öÞ,÷Seý¯Šû³Ï¼‹éÆYÕÔ€²wo‡(…ãK’†CÜW=ó¶`â*®ãBf.N„+ñçp±)3®àemf>m,q” XÙÛ“ø7Jh®.y%¬º4">Á÷ØŒM˜­½þ¤M-è4ôR/OâЀ׺˜ÇtD,ËÌ…^Ú. Š·û(ýG ç1_­K Ân‰õœÁklÍÌ?"b9ÖàcuÅ“ýËÝ£ Œ0•Ã}Ý@[‰Èª®ЦRÒƒZEzë8é%yžÆa£)´éEè±çÆjV‚åÊS!ÿDãšl¹—Ã5+Á¢Ÿ=À@’ˆ¬.v[5+Á°cˆÊÜ’¡“Dä´ÐýÕOwŠ©Xúø¢ûý$¹þÈZc¨ƒ¨B[^ra%Öô Ø“ï‘ûÜ«=à,ǧ<…Z? +NoKê¢ìVw{ ¥"ƒ3=“+SoûEv}ž×9ÐÛ‹oz0mbuíý÷´Ò PJS)53¨‹ð™Áèÿš}•´KÝzâ O‡Óªùxˆ¢ÏìrƒG0<#,­G:›ÇÖE–ÿv:þWöíÏ<7úLˆIEND®B`‚nted-1.10.18/icons/drum8_icon_small.png0000664001041000007640000000040311520267227014615 00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ  $XõH¬ƒIDAT8Ëí“1 ƒPDß„O ÁÖ6EÊTÞÅÚ#ä*9¢VJ I³…ˆBP,„ ,3ËÀî²²Í\Ö IIR)éº)¸-ðذo„ó¤ØxÔ3/ ~I'ú耧íO q qŠ<¸†™WÀöbwÀ@µÖcûF@‡}ã¯øa“<· ø5IEND®B`‚nted-1.10.18/icons/mordent_icon.png0000664001041000007640000000103211520267227014035 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEØ8º¯ çtEXtCommentCreated with GIMPWuIDATXÃí×±jQÆñß\ŒFÁ ¨ø©D!`š`°ð-ÒÒj¡I!´D«€–AŸ@° ©ÒÄFHŠi„Á Ä@›#„%Á{÷îuîÀ;»;ó?³ßÌT×"b㙹_7G§FÑÛ1QoáEDLFÄZ™Ùµã.~`1|Çg\ï%_fê¥ø¾!‹Ï€<á;ÅÛià]¥Ø6+±Ä+ìã .4€9âÓ)ψÍt“»[â#îãCåÜ{¼­ÄžeæFã",ݸŒí²Ò]¬boJlWabOq«%vpe oÁ 7ñ¼ŸÑÏ—° ë4•("V"âu¯÷kp1ãøÕZZC€!À`ðßÔúDÄ– è›ÆÚ@"b°ˆKmt`K­h "®a¡MÎbâ/×l àgÙïŸfÇx‚—ƒž c¯2„|ÅÒ?Û”-Œô3žÿçüqr46)£IEND®B`‚nted-1.10.18/icons/sforzato_icon.h0000664001041000007640000000504311520270060013672 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (sforzato_icon) #endif #ifdef __GNUC__ static const guint8 sforzato_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 sforzato_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (737) */ "\0\0\2\371" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\223\377\377\377\0\2\0\0\0\32\0\0\0\13\236\377\377\377\0\2\0\0\0\301" "\0\0\0S\236\377\377\377\0\2\0\0\0\301\0\0\0S\236\377\377\377\0\2\0\0" "\0\301\0\0\0S\236\377\377\377\0\2\0\0\0\301\0\0\0S\236\377\377\377\0" "\2\0\0\0\301\0\0\0S\236\377\377\377\0\2\0\0\0\301\0\0\0S\236\377\377" "\377\0\2\0\0\0\301\0\0\0S\236\377\377\377\0\2\0\0\0\301\0\0\0S\236\377" "\377\377\0\2\0\0\0\301\0\0\0S\236\377\377\377\0\2\0\0\0\301\0\0\0S\236" "\377\377\377\0\2\0\0\0\301\0\0\0S\236\377\377\377\0\2\0\0\0\301\0\0\0" "S\231\377\377\377\0\3\0\0\0\14\0\0\0)\0\0\0\11\202\377\377\377\0\2\0" "\0\0\301\0\0\0S\227\377\377\377\0\11\0\0\0E\0\0\0\305\0\0\0\365\0\0\0" "\377\0\0\0\364\0\0\0\274\0\0\0:\0\0\0\301\0\0\0S\226\377\377\377\0\2" "\0\0\0_\0\0\0\373\205\0\0\0\377\3\0\0\0\356\0\0\0\335\0\0\0S\226\377" "\377\377\0\1\0\0\0\324\210\0\0\0\377\1\0\0\0S\226\377\377\377\0\1\0\0" "\0\351\207\0\0\0\377\2\0\0\0\321\0\0\0\31\226\377\377\377\0\1\0\0\0\224" "\207\0\0\0\377\1\0\0\0]\227\377\377\377\0\3\0\0\0\10\0\0\0\242\0\0\0" "\372\203\0\0\0\377\2\0\0\0\370\0\0\0r\230\377\377\377\0\7\0\0\0\3\377" "\377\377\0\0\0\0+\0\0\0c\0\0\0\212\0\0\0S\0\0\0%\230\377\377\377\0\3" "\0\0\0l\0\0\0\272\0\0\0\4\235\377\377\377\0\3\0\0\0\32\0\0\0\367\0\0" "\0e\205\377\377\377\0\4\0\0\0""8\0\0\0\330\0\0\0P\0\0\0\4\225\377\377" "\377\0\3\0\0\0n\0\0\0\350\0\0\0\25\203\377\377\377\0\5\0\0\0\3\0\0\0" "\313\0\0\0\377\0\0\0\374\0\0\0\33\225\377\377\377\0\3\0\0\0\6\0\0\0\317" "\0\0\0\246\203\377\377\377\0\1\0\0\0`\202\0\0\0\377\1\0\0\0\202\227\377" "\377\377\0\11\0\0\0""3\0\0\0\371\0\0\0E\377\377\377\0\0\0\0\14\0\0\0" "\340\0\0\0\377\0\0\0\343\0\0\0\23\230\377\377\377\0\4\0\0\0\226\0\0\0" "\331\0\0\0\7\0\0\0\206\202\0\0\0\377\1\0\0\0h\231\377\377\377\0\7\0\0" "\0\14\0\0\0\343\0\0\0\246\0\0\0\362\0\0\0\377\0\0\0\311\0\0\0\3\232\377" "\377\377\0\5\0\0\0R\0\0\0\376\0\0\0\377\0\0\0\374\0\0\0C\233\377\377" "\377\0\4\0\0\0\1\0\0\0\222\0\0\0\377\0\0\0\260\235\377\377\377\0\3\0" "\0\0\12\0\0\0\207\0\0\0\33\256\377\377\377\0"}; nted-1.10.18/icons/drum1_icon_small.h0000664001041000007640000000417711520270060014252 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum1_icon_small) #endif #ifdef __GNUC__ static const guint8 drum1_icon_small[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum1_icon_small[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (587) */ "\0\0\2c" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (64) */ "\0\0\0@" /* width (16) */ "\0\0\0\20" /* height (16) */ "\0\0\0\20" /* pixel_data: */ "\207\377\377\377\0\4\0\0\0\13\0\0\0'\0\0\0!\0\0\0\5\212\377\377\377\0" "\10\0\0\0D\0\0\0\275\0\0\0\325\0\0\0\370\0\0\0\347\0\0\0\337\0\0\0\227" "\0\0\0\31\207\377\377\377\0\13\0\0\0\205\0\0\0\274\0\0\0""1\377\377\377" "\0\0\0\0\340\0\0\0\221\0\0\0\4\0\0\0Z\0\0\0\310\0\0\0*\0\0\0\22\204\377" "\377\377\0\3\0\0\0s\0\0\0\236\0\0\0\4\202\377\377\377\0\2\0\0\0\340\0" "\0\0\221\202\377\377\377\0\4\0\0\0\35\0\0\0\306\0\0\0o\0\0\0\12\202\377" "\377\377\0\3\0\0\0\32\0\0\0\316\0\0\0\5\203\377\377\377\0\2\0\0\0\340" "\0\0\0\221\203\377\377\377\0\3\0\0\0>\0\0\0\356\0\0\0\27\202\377\377" "\377\0\2\0\0\0s\0\0\0i\204\377\377\377\0\2\0\0\0\340\0\0\0\221\204\377" "\377\377\0\2\0\0\0\303\0\0\0\33\202\377\377\377\0\2\0\0\0\252\0\0\0_" "\204\0\0\0@\2\0\0\0\350\0\0\0\255\204\0\0\0@\2\0\0\0\253\0\0\0\33\202" "\377\377\377\0\1\0\0\0\270\214\0\0\0\377\1\0\0\0\33\202\377\377\377\0" "\2\0\0\0\243\0\0\0V\204\0\0\0""3\2\0\0\0\347\0\0\0\247\204\0\0\0""3\2" "\0\0\0\235\0\0\0\25\202\377\377\377\0\2\0\0\0^\0\0\0m\204\377\377\377" "\0\2\0\0\0\340\0\0\0\221\204\377\377\377\0\2\0\0\0\302\0\0\0\4\202\377" "\377\377\0\3\0\0\0\12\0\0\0\310\0\0\0\14\203\377\377\377\0\2\0\0\0\340" "\0\0\0\221\203\377\377\377\0\2\0\0\0H\0\0\0\231\204\377\377\377\0\3\0" "\0\0I\0\0\0\254\0\0\0\7\202\377\377\377\0\2\0\0\0\340\0\0\0\221\202\377" "\377\377\0\3\0\0\0)\0\0\0\304\0\0\0\23\205\377\377\377\0\12\0\0\0R\0" "\0\0\277\0\0\0F\0\0\0\3\0\0\0\340\0\0\0\221\0\0\0\16\0\0\0p\0\0\0\277" "\0\0\0\36\207\377\377\377\0\10\0\0\0\30\0\0\0\202\0\0\0\271\0\0\0\351" "\0\0\0\324\0\0\0\265\0\0\0b\0\0\0\4\243\377\377\377\0"}; nted-1.10.18/icons/revturn_icon.png0000664001041000007640000000124611520267227014101 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ.·‹ 6tEXtCommentCreated with GIMPWIDATXÃí×MˆŽQð߯¯|Ô”"e %,”fV˜¤|l,°QR³µR,-lìfcVÊÞ ec‡# v¦Ø(”RbØ96wêéõÎû>Ï0½sëÖÓ9÷9÷Ü{ÎùŸÿÌÔÏ1ÐdqDD'Y'y·ª£ÕdóÌ̈XŽXƒ™9Uô- c;¾ãif~èi83ML ˼]‘ßÀNJ.æ³×4‡°Wq÷‹|—±©8x“8«³[¢5<ý%œG`%6à~ac•µ»q ƒÝl¶&í'ÁlÆ8F‹#˜Œˆ±âÜz¬*º¿Ï¹8âa%Î?ñ£E··¢›Æ±^v£.ÌUAù¾PN8]²ýUeÝuì) z¯ýß?ì6¢ˆÈÌÙ^Ö‘/ˆ½€¥€²Ç šQ£èKo#âyDΚW[» ª»߆A¬]”^Ð÷f´äÀ’ÿ…u¨îh5Ù´Dë°¥´àÀÌ|·(T7ˆØ‡³¸XY6[íÊæ#¸‚“B· 7ƒš\`žUz}·ù§êòŒºIxûY+ú]†Oð¦oœü§9Pòà^—Ò›/þSîõhÄ ÛÊp'Nãv`¦ÜâW<ÆÝÌ|Ù‹†5æ„íôªÑPˆ¾eæû&TlA¤´Él íý~žÿ_·QyRç×IEND®B`‚nted-1.10.18/icons/drum5_icon.h0000664001041000007640000000530611520270060013061 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum5_icon) #endif #ifdef __GNUC__ static const guint8 drum5_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum5_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (811) */ "\0\0\3C" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\225\377\377\377\0\1\0\0\0\1\236\377\377\377\0\3\0\0\0t\0\0\0\377\0\0" "\0\12\235\377\377\377\0\3\0\0\0t\0\0\0\377\0\0\0\12\235\377\377\377\0" "\3\0\0\0t\0\0\0\377\0\0\0\12\235\377\377\377\0\3\0\0\0t\0\0\0\377\0\0" "\0\12\235\377\377\377\0\3\0\0\0t\0\0\0\377\0\0\0\12\235\377\377\377\0" "\3\0\0\0t\0\0\0\377\0\0\0\12\235\377\377\377\0\3\0\0\0t\0\0\0\377\0\0" "\0\12\235\377\377\377\0\3\0\0\0t\0\0\0\377\0\0\0\12\235\377\377\377\0" "\3\0\0\0t\0\0\0\377\0\0\0\12\235\377\377\377\0\3\0\0\0t\0\0\0\377\0\0" "\0\12\235\377\377\377\0\3\0\0\0t\0\0\0\377\0\0\0\12\235\377\377\377\0" "\3\0\0\0t\0\0\0\377\0\0\0\12\235\377\377\377\0\3\0\0\0t\0\0\0\377\0\0" "\0\12\235\377\377\377\0\3\0\0\0t\0\0\0\377\0\0\0\12\235\377\377\377\0" "\3\0\0\0t\0\0\0\377\0\0\0\12\235\377\377\377\0\3\0\0\0t\0\0\0\377\0\0" "\0\12\235\377\377\377\0\3\0\0\0t\0\0\0\377\0\0\0\12\235\377\377\377\0" "\3\0\0\0t\0\0\0\377\0\0\0\12\235\377\377\377\0\3\0\0\0t\0\0\0\377\0\0" "\0\12\230\377\377\377\0\1\0\0\0\20\204\377\377\377\0\3\0\0\0t\0\0\0\377" "\0\0\0\12\227\377\377\377\0\3\0\0\0\1\0\0\0\272\0\0\0B\203\377\377\377" "\0\3\0\0\0t\0\0\0\377\0\0\0\12\227\377\377\377\0\4\0\0\0h\0\0\0\377\0" "\0\0\316\0\0\0\3\202\377\377\377\0\3\0\0\0t\0\0\0\377\0\0\0\12\226\377" "\377\377\0\5\0\0\0!\0\0\0\362\0\0\0\273\0\0\0\376\0\0\0e\202\377\377" "\377\0\3\0\0\0t\0\0\0\377\0\0\0\12\225\377\377\377\0\13\0\0\0\1\0\0\0" "\273\0\0\0\335\0\0\0\15\0\0\0\240\0\0\0\350\0\0\0\16\377\377\377\0\0" "\0\0t\0\0\0\377\0\0\0\12\225\377\377\377\0\13\0\0\0h\0\0\0\376\0\0\0" "C\377\377\377\0\0\0\0\35\0\0\0\363\0\0\0\211\377\377\377\0\0\0\0t\0\0" "\0\377\0\0\0\12\224\377\377\377\0\3\0\0\0!\0\0\0\362\0\0\0\225\203\377" "\377\377\0\6\0\0\0|\0\0\0\371\0\0\0#\0\0\0t\0\0\0\377\0\0\0\12\223\377" "\377\377\0\4\0\0\0\1\0\0\0\273\0\0\0\335\0\0\0\15\203\377\377\377\0\6" "\0\0\0\14\0\0\0\340\0\0\0\255\0\0\0t\0\0\0\377\0\0\0\12\223\377\377\377" "\0\3\0\0\0h\0\0\0\376\0\0\0C\205\377\377\377\0\5\0\0\0Y\0\0\0\377\0\0" "\0\266\0\0\0\377\0\0\0\12\222\377\377\377\0\3\0\0\0!\0\0\0\362\0\0\0" "\320\206\0\0\0]\2\0\0\0`\0\0\0\351\202\0\0\0\377\1\0\0\0\12\222\377\377" "\377\0\1\0\0\0\234\214\0\0\0\340\1\0\0\0\11\251\377\377\377\0"}; nted-1.10.18/icons/drum6_icon.png0000664001041000007640000000065211520267227013431 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÙ *aÇ‘tEXtCommentCreated with GIMPWIDATXÃí”±JA@ß\.—)„CI#$…`#! 6Áó,®²õü€üÿ‘ßDÄÞÚÊÆF"Ʊ¸õ8‹$—eïŽÀ>Øf˜eÞÌ2 Z@·Ik`fs1p$M Xã¼€ð^`od[‚*¢º=ÏF@Ÿ2e-Šÿ±QBä_®› ÜŽðV¨«æ|!\Mf-÷îòÂíÞ;a4 žÅÄÒ¤\ç–¨Œb–…î•V´B—B¬ª-ȦÛ?c‘‡OŸX}éÕ÷yš€jµ«-iÂ+ 滬¦3†”^ÿƒ›‡Ùu©óóÊÞùäò±öÎM±L`ª}ãÒÈ»WÅ/*Í9ÇÌñ?¸IEND®B`‚nted-1.10.18/icons/isolate_icon.png0000664001041000007640000000131511520267227014031 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ 4 Y\MIDATXÃí×Ïk×uðÇk[Ûܰ”:Ð:´.ÔBê%;È‚”Èv‰ˆñÁ›‚W/‰]<(Quˆò ˆÉP¡±Ó²&‰A[cËíÕaïÁ·¯ûîûuìû‡^ðâ ïÏûýz?ßïׯç'2ÓfJ›M–ÿtl˜¥ˆÀi$.Ê\jh_fnŒÒždÑÏÝ×,KÉH#ûbÃÒ0¢1‹nÌã-™w[„“8ƒ|#¢o3²à<® ¯´& ª#;âvȼßzË fK<<Û…hÍ,ˆˆ³ø¸C%&˜ßËT[ndæh=ôasXlÈ"ÏaWe½Åöh£10œ™?Wm)ÂaŒcºDþ‡¥ñœ.¯ót.ˆˆ6¼ƒèÇï[ÍE™¾‹ðnã'<Ÿi<ÂqÜË\NÓˆèÀ'8†WËeázEÍ/â—Âf«u±Œï¬J(å$ù÷“óß×°¹¢Ó+ðƒ: /c÷Sè®_KO­èÂ%üSµ`_¢«&¥® þ|Ã'°ó?¬8–Éãë¥UÎ`,3ÔɈIôgê©ÑõÞÀQìE'~+1ðufÎÕ%$ ¤äšZñk6Rn¶nù|íàzÀ–ãÃIEND®B`‚nted-1.10.18/icons/halfnote_dot_icon.h0000664001041000007640000000504011520270060014466 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (halfnote_dot_icon) #endif #ifdef __GNUC__ static const guint8 halfnote_dot_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 halfnote_dot_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (635) */ "\0\0\2\223" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\206\377\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214" "\377\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214\377" "\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214\377\377" "\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214\377\377\377" "\0\224\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221" "\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221\0\7\214\377" "\377\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221\0\7\214\377\377\377\0" "\214\0\221\0\7\1\0\0\0\377\207\0\221\0\7\214\377\377\377\0\214\0\221" "\0\7\1\0\0\0\377\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0" "\0\377\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377\207" "\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221\0\7" "\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221\0\7\214\377\377" "\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221\0\7\214\377\377\377\0\214" "\0\221\0\7\1\0\0\0\377\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7" "\1\0\0\0\377\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377" "\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221" "\0\7\214\377\377\377\0\207\0\221\0\7\203\0\0\0\377\202\0\221\0\7\1\0" "\0\0\377\207\0\221\0\7\214\377\377\377\0\205\0\221\0\7\210\0\0\0\377" "\203\0\221\0\7\205\0\0\0\377\213\377\377\377\0\204\0\221\0\7\203\0\0" "\0\377\1\377\377\377\0\203\0\221\0\7\202\0\0\0\377\203\0\221\0\7\205" "\0\0\0\377\213\377\377\377\0\202\0\221\0\7\1\377\377\377\0\203\0\0\0" "\377\206\377\377\377\0\1\0\0\0\377\202\377\377\377\0\1\0\221\0\7\205" "\0\0\0\377\213\377\377\377\0\203\0\221\0\7\202\0\0\0\377\206\0\221\0" "\7\202\0\0\0\377\203\0\221\0\7\205\0\0\0\377\213\377\377\377\0\203\0" "\221\0\7\202\0\0\0\377\204\0\221\0\7\203\0\0\0\377\204\0\221\0\7\205" "\0\0\0\377\213\377\377\377\0\204\0\221\0\7\207\0\0\0\377\211\0\221\0" "\7\214\377\377\377\0\206\0\221\0\7\203\0\0\0\377\213\0\221\0\7\214\377" "\377\377\0\224\0\221\0\7\206\377\377\377\0"}; nted-1.10.18/icons/normal_note_icon_small.h0000664001041000007640000000226011520270060015526 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (normal_note_icon_small) #endif #ifdef __GNUC__ static const guint8 normal_note_icon_small[] __attribute__ ((__aligned__ (4))) = #else static const guint8 normal_note_icon_small[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (231) */ "\0\0\0\377" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (64) */ "\0\0\0@" /* width (16) */ "\0\0\0\20" /* height (16) */ "\0\0\0\20" /* pixel_data: */ "\345\377\377\377\0\12\0\0\0\5\0\0\0E\0\0\0z\0\0\0\240\0\0\0\266\0\0\0" "\253\0\0\0\213\0\0\0""1\0\0\0\35\0\0\0\1\204\377\377\377\0\3\0\0\0\17" "\0\0\0\206\0\0\0\354\207\0\0\0\377\2\0\0\0\350\0\0\0\11\203\377\377\377" "\0\2\0\0\0&\0\0\0\340\212\0\0\0\377\1\0\0\0V\202\377\377\377\0\2\0\0" "\0\4\0\0\0\332\213\0\0\0\377\1\0\0\0[\202\377\377\377\0\1\0\0\0%\213" "\0\0\0\377\2\0\0\0\250\0\0\0\3\202\377\377\377\0\2\0\0\0\2\0\0\0\312" "\210\0\0\0\377\3\0\0\0\357\0\0\0t\0\0\0\3\204\377\377\377\0\4\0\0\0\12" "\0\0\0{\0\0\0\316\0\0\0\373\202\0\0\0\374\4\0\0\0\335\0\0\0\253\0\0\0" "b\0\0\0\20\264\377\377\377\0"}; nted-1.10.18/icons/eightnote_dot_icon.h0000664001041000007640000000556511520270060014670 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (eightnote_dot_icon) #endif #ifdef __GNUC__ static const guint8 eightnote_dot_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 eightnote_dot_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (754) */ "\0\0\3\12" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\206\377\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214" "\377\377\377\0\224\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0" "\377\210\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\210\0" "\221\0\7\214\377\377\377\0\213\0\221\0\7\202\0\0\0\377\207\0\221\0\7" "\214\377\377\377\0\213\0\221\0\7\202\0\0\0\377\207\0\221\0\7\214\377" "\377\377\0\213\0\221\0\7\203\0\0\0\377\206\0\221\0\7\214\377\377\377" "\0\213\0\221\0\7\203\0\0\0\377\206\0\221\0\7\214\377\377\377\0\213\0" "\221\0\7\204\0\0\0\377\205\0\221\0\7\214\377\377\377\0\213\0\221\0\7" "\2\0\0\0\377\0\221\0\7\203\0\0\0\377\204\0\221\0\7\214\377\377\377\0" "\213\0\221\0\7\1\0\0\0\377\202\0\221\0\7\202\0\0\0\377\204\0\221\0\7" "\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\203\0\221\0\7\202\0\0\0" "\377\203\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\204\0" "\221\0\7\1\0\0\0\377\203\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1" "\0\0\0\377\204\0\221\0\7\202\0\0\0\377\202\0\221\0\7\214\377\377\377" "\0\213\0\221\0\7\1\0\0\0\377\205\0\221\0\7\1\0\0\0\377\202\0\221\0\7" "\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\205\0\221\0\7\1\0\0\0\377" "\202\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\205\0\221" "\0\7\1\0\0\0\377\202\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0" "\0\377\205\0\221\0\7\1\0\0\0\377\202\0\221\0\7\214\377\377\377\0\213" "\0\221\0\7\1\0\0\0\377\204\0\221\0\7\1\0\0\0\377\203\0\221\0\7\214\377" "\377\377\0\213\0\221\0\7\1\0\0\0\377\204\0\221\0\7\1\0\0\0\377\203\0" "\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\210\0\221\0\7\214" "\377\377\377\0\213\0\221\0\7\1\0\0\0\377\210\0\221\0\7\214\377\377\377" "\0\206\0\221\0\7\1\377\377\377\0\202\0\0\0\377\202\0\221\0\7\1\0\0\0" "\377\210\0\221\0\7\214\377\377\377\0\205\0\221\0\7\207\0\0\0\377\210" "\0\221\0\7\214\377\377\377\0\204\0\221\0\7\210\0\0\0\377\205\0\221\0" "\7\205\0\0\0\377\215\377\377\377\0\211\0\0\0\377\202\377\377\377\0\203" "\0\221\0\7\205\0\0\0\377\212\377\377\377\0\203\0\221\0\7\210\0\0\0\377" "\206\0\221\0\7\205\0\0\0\377\212\377\377\377\0\203\0\221\0\7\210\0\0" "\0\377\206\0\221\0\7\205\0\0\0\377\212\377\377\377\0\204\0\221\0\7\206" "\0\0\0\377\207\0\221\0\7\205\0\0\0\377\212\377\377\377\0\205\0\221\0" "\7\203\0\0\0\377\214\0\221\0\7\214\377\377\377\0\224\0\221\0\7\206\377" "\377\377\0"}; nted-1.10.18/icons/drum4_icon.h0000664001041000007640000000374011520270060013060 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum4_icon) #endif #ifdef __GNUC__ static const guint8 drum4_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum4_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (543) */ "\0\0\2""7" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\221\377\377\377\0\2\0\0\0\32\0\0\0\31\236\377\377\377\0\2\0\0\0_\0\0" "\0Y\236\377\377\377\0\2\0\0\0_\0\0\0Y\236\377\377\377\0\2\0\0\0_\0\0" "\0Y\236\377\377\377\0\2\0\0\0_\0\0\0Y\236\377\377\377\0\2\0\0\0_\0\0" "\0Y\236\377\377\377\0\2\0\0\0_\0\0\0Y\236\377\377\377\0\2\0\0\0_\0\0" "\0Y\236\377\377\377\0\2\0\0\0_\0\0\0Y\236\377\377\377\0\2\0\0\0_\0\0" "\0Y\236\377\377\377\0\2\0\0\0_\0\0\0Y\236\377\377\377\0\2\0\0\0_\0\0" "\0Y\236\377\377\377\0\2\0\0\0_\0\0\0Y\236\377\377\377\0\2\0\0\0_\0\0" "\0Y\236\377\377\377\0\2\0\0\0_\0\0\0Y\236\377\377\377\0\2\0\0\0_\0\0" "\0Y\236\377\377\377\0\2\0\0\0_\0\0\0Y\236\377\377\377\0\2\0\0\0_\0\0" "\0Y\236\377\377\377\0\2\0\0\0_\0\0\0Y\236\377\377\377\0\2\0\0\0_\0\0" "\0Y\235\377\377\377\0\3\0\0\0\2\0\0\0`\0\0\0Y\235\377\377\377\0\3\0\0" "\0\204\0\0\0\344\0\0\0f\234\377\377\377\0\5\0\0\0\37\0\0\0\366\0\0\0" "\377\0\0\0\372\0\0\0\203\233\377\377\377\0\1\0\0\0\252\203\0\0\0\377" "\1\0\0\0k\232\377\377\377\0\1\0\0\0>\203\0\0\0\377\2\0\0\0\322\0\0\0" "\5\231\377\377\377\0\2\0\0\0\3\0\0\0\316\203\0\0\0\377\1\0\0\0E\232\377" "\377\377\0\1\0\0\0e\203\0\0\0\377\1\0\0\0\261\232\377\377\377\0\2\0\0" "\0\17\0\0\0\352\202\0\0\0\377\2\0\0\0\367\0\0\0$\232\377\377\377\0\1" "\0\0\0\216\203\0\0\0\377\1\0\0\0\211\232\377\377\377\0\2\0\0\0\2\0\0" "\0\261\202\0\0\0\377\2\0\0\0\347\0\0\0\16\234\377\377\377\0\3\0\0\0H" "\0\0\0\331\0\0\0a\236\377\377\377\0\2\0\0\0\5\0\0\0\2\220\377\377\377" "\0"}; nted-1.10.18/icons/drum12_icon_small.png0000664001041000007640000000060711520267227014676 00000000000000‰PNG  IHDRRÇgsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ  <;äIDAT8ËÓ;JAÇñÏ#9€µ—ˆV66ÚÅR°Sbë9¬lob'¤;±óq ƒ86³2»™‰Ñevvßÿ{ÄýåÁÍÏûÑxOû bKSð‚-¬b‡ËÀwØËÎû¸]ž¢ß€i_Ç4×õ,X!„c µÿ5ø¯p÷-U%ìˆ' ±’öç…ÃZ–ãijÑGÓª9'ØK#B!š®±Qó<Æ —¹Nð†Íj«º:àh™>7®jào³}–òŸá ¤éU†c€>Sè»!„ùa©Tu’nÓ(¥ðÕ-b©Ú-°Sƒ99Ø/ç%8à¢fšc ›sHÿµ¾xkéµ|Eû‹IEND®B`‚nted-1.10.18/icons/halfnote_icon.h0000664001041000007640000000471011520270060013623 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (halfnote_icon) #endif #ifdef __GNUC__ static const guint8 halfnote_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 halfnote_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (610) */ "\0\0\2z" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\206\377\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214" "\377\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214\377" "\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214\377\377" "\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214\377\377\377" "\0\224\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221" "\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221\0\7\214\377" "\377\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221\0\7\214\377\377\377\0" "\214\0\221\0\7\1\0\0\0\377\207\0\221\0\7\214\377\377\377\0\214\0\221" "\0\7\1\0\0\0\377\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0" "\0\377\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377\207" "\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221\0\7" "\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221\0\7\214\377\377" "\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221\0\7\214\377\377\377\0\214" "\0\221\0\7\1\0\0\0\377\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7" "\1\0\0\0\377\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377" "\207\0\221\0\7\214\377\377\377\0\214\0\221\0\7\1\0\0\0\377\207\0\221" "\0\7\214\377\377\377\0\207\0\221\0\7\203\0\0\0\377\202\0\221\0\7\1\0" "\0\0\377\207\0\221\0\7\214\377\377\377\0\205\0\221\0\7\210\0\0\0\377" "\207\0\221\0\7\214\377\377\377\0\204\0\221\0\7\203\0\0\0\377\1\377\377" "\377\0\203\0\221\0\7\202\0\0\0\377\207\0\221\0\7\214\377\377\377\0\202" "\0\221\0\7\1\377\377\377\0\203\0\0\0\377\206\377\377\377\0\1\0\0\0\377" "\202\377\377\377\0\205\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202" "\0\0\0\377\206\0\221\0\7\202\0\0\0\377\207\0\221\0\7\214\377\377\377" "\0\203\0\221\0\7\202\0\0\0\377\204\0\221\0\7\203\0\0\0\377\210\0\221" "\0\7\214\377\377\377\0\204\0\221\0\7\207\0\0\0\377\211\0\221\0\7\214" "\377\377\377\0\206\0\221\0\7\203\0\0\0\377\213\0\221\0\7\214\377\377" "\377\0\224\0\221\0\7\206\377\377\377\0"}; nted-1.10.18/icons/delete_system_icon.png0000664001041000007640000000172411520267227015243 00000000000000‰PNG  IHDR †VÏŒsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEØ 8À¨hiTIDATHÇ­—KH”QÇ×f˜ÒHí#Qö@2AGJ™èE4µ˜H©EYTö ¡A Q45SR-Zd ¡(l´šSÌÄb¤¨ÈÂÝ””Ô =å´È`Êy|ß7^¸‹{ÏÿÞó?ç\Ο‹ˆðÏDªÉµŸÊDÆ r –-Ñã#pᇈáX†Ñ„f`<ŠÕcâZ±°õ1íqR–-HwÊ¥@ré$+FY@æÿÄîpgÇ&¯‘À³ÈR \¾ÎõË;ØÑöE«€e±¬/y¹Üƒ'ÒHc¯^¹¸1‡œž *Þ&€=4f #–Õ‰3ØFÛòvÚ_àƒfçÕT›­XsÊ)ÿïî‘af0-Þd°òï®&ÂDÏóœ/‰yr’“34à3°p&ŠèÏæ»qs‹[}$ Ç<®¶µ^¼÷üø‡5$«ÙG‰P›Ùüæ>÷w< Œ‹{Á‹EM4üø;5V+¨€<`z2d]Å,Î2Ê<±ìg9»Æ…+?ô :ÞꀦütÚk© úð½Þ/¤pR -Å%”„¿é Ь·±Xé$=jÏ"ˆ_"#ÍÊHwÛ$È™¨õ)A¶í–iº[œÐä¡X‚b0 áªa©#cnÀ‰1J Íà¹ð xšŠs“RʬÐsè1‹npÃâÀ±©A5¨k\ûaл èžk=ÑE׺RJ³íØwP0¥Žº†~ú+zèùn€À®>`Ã6Ó‡/·ˆ¢@˜ð0ÀiNgg’isáê0@ Y¥@q2äd&ÓGß¾­lmm¥µ?ªÿ§uÐqô.wÏyð„ux®€ÙÀŒdÈnºM‹Y<ª\UTwã®_ÈB× ƒzÞÃ[M%8ÈÁYKYj-§¼'æ0‡óç2wÒnv÷ê-Á¬D8‘ìíl¯µcß"ô3Ñm¯xU÷€îýìÿ¤5&`*0/–5—ÜŒJ*«k¨9"4'Ùm5Ô\òâ­›ÈDïC?5øš¬ï× ²^§VìäXêZ Øò‡!M:_ö  …M›¶ÄŽ¢@VA,ÿy#²m6&ÇÈMAf¦ø)Ù)Èq£&ŒÁ‡T â¤0Θk—í|`BK<ÈoâÚ¸DÃŽYIEND®B`‚nted-1.10.18/icons/n32ndnote_icon.png0000664001041000007640000000046011520267227014203 00000000000000‰PNG  IHDR szzôgAMA± üabKGDùC» pHYs  ­#½uÀIDATxÚí—Á „0 DYЯÕoѯuOñT"î4™nUœ›RÌË8¡­š™IíÑ$«Ì2üZf£}ÞwPÂ)@‚à„à8 8y x!œe@¦¡À¾ëºP'„N¼!|pÿà„xH¼)pÎ/hÐt .á@sð¤|S&Y#Çð\Ÿ¢ÂgÏ{ѧ€Ø1ì@ºJ©ªáŸ#ÀwCçtƒ)8ë0Ø=î@^(°ýæÚWk:Þ“KsIEND®B`‚nted-1.10.18/icons/Makefile.in0000664001041000007640000004207511520267353012730 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ ######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons DIST_COMMON = $(dist_icon_DATA) $(noinst_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(dist_icon_DATA) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_LIBS = @ALSA_LIBS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ IMAGE2HEADER = @IMAGE2HEADER@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PO2XML = @PO2XML@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ X11_CFLAGS = @X11_CFLAGS@ X11_LIBS = @X11_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XML2POT = @XML2POT@ XMLTO = @XMLTO@ YELP = @YELP@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUFFIXES = .png PNGS = n32ndnote_icon.png n64thnote_icon.png eightnote_icon.png fullnote_icon.png \ halfnote_icon.png quarternote_icon.png sixteenthnote_icon.png \ shift_mode_icon.png select_mode_icon.png rest_icon.png tied_icon.png \ dot_icon.png cross_icon.png flat_icon.png natural_icon.png insert_mode_icon.png \ arrow_down_icon.png arrow_up_icon.png delete_staff_icon.png delete_system_icon.png color_icon.png \ alto_clef_icon.png bass_clef_icon.png treble_clef_icon.png lyrics_icon.png \ stroken_grace_icon.png grace_eighth_icon.png grace_sixth_icon.png \ normal_note_icon.png drum1_icon.png drum2_icon.png drum3_icon.png \ drum4_icon.png drum5_icon.png drum6_icon.png drum7_icon.png drum8_icon.png \ drum9_icon.png drum10_icon.png drum11_icon.png drum12_icon.png brace_icon.png bracket_icon.png \ ddot_icon.png dcross_icon.png dflat_icon.png stacc_icon.png \ str_pizz_icon.png tenuto_icon.png sforzato_icon.png sforzando_icon.png \ bow_up_icon.png bow_down_icon.png ped_off_icon.png ped_on_icon.png \ trill_icon.png prall_icon.png open_icon.png mordent_icon.png staccatissimo_icon.png \ lines.png signs.png fermata_icon.png arpeggio_icon.png nted.png key_icon.png \ nted.png isolate_icon.png groupbeams_icon.png flipstem_icon.png \ background1.png background2.png guitar_note_icon.png guitar_note_no_stem_icon.png \ backgroundv1.png backgroundv2.png backgroundh2.png backgroundh1.png \ arrow_left_icon.png arrow_right_icon.png tool_icon.png comm_icon.png cut_icon.png \ midikeyboard_icon.png record_icon.png revturn_icon.png turn_icon.png \ drum10_icon_small.png drum12_icon_small.png drum2_icon_small.png drum4_icon_small.png drum6_icon_small.png drum8_icon_small.png \ drum11_icon_small.png drum1_icon_small.png drum3_icon_small.png drum5_icon_small.png drum7_icon_small.png drum9_icon_small.png \ normal_note_icon_small.png \ eightnote_dot_icon.png halfnote_dot_icon.png quarternote_dot_icon.png sixteenthnote_dot_icon.png \ tremolo_icon1.png tremolo_icon2.png tremolo_icon3.png tremolo_icon4.png EXTRA_DIST = $(PNGS) icondir = $(datadir)/pixmaps dist_icon_DATA = nted.png PIXMAPHEADERS = $(PNGS:.png=.h) noinst_HEADERS = $(PIXMAPHEADERS) CLEANFILES = $(PIXMAPHEADERS) all: all-am .SUFFIXES: .SUFFIXES: .png .h $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign icons/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign icons/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-dist_iconDATA: $(dist_icon_DATA) @$(NORMAL_INSTALL) test -z "$(icondir)" || $(MKDIR_P) "$(DESTDIR)$(icondir)" @list='$(dist_icon_DATA)'; test -n "$(icondir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-dist_iconDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(icondir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(icondir)" && rm -f $$files ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dist_iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dist_iconDATA .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ ctags distclean distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dist_iconDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-dist_iconDATA .png.h: rm -f $@ $(IMAGE2HEADER) --name $* $< > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/icons/alto_clef_icon.png0000664001041000007640000000223411520267227014322 00000000000000‰PNG  IHDR szzôbKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIME× ÞŠ¤z)IDATXÃí—}LÕUÇ?Ïïþ.÷ò" q•Aò ¦h&/:6_V6—M]Z˜æfÈZºÖ’Ò1Y-²l´érM{CBÔ%(: œ•(()¾è…@½ÀÅ{OÍúú›ÿx¶óÏsξûœóœs¾Ï¥³i<äöàŽ"²LD~sôañM ü"HV‰%k@c±xd$Jj˜ŸlÒ5)ÏÀíbKÈ‘¤ÌX)Æô v HD˜„ËbFŠ" è^?p’.¨¨4×ðÈŠ¨aöºÐÞã i(ßIÞ¢YQåch Žž$¯ÝÁœ‘L̈hîPŸæ/!{šíŠ?M¥ë9ºõm)¾ài@[½xÕuqk…ýݪwd,ÉŠÞn‡õ•kع}†!Á‰Ê1/‚*³†Ýó2!q5¬Uî7&pÑæƒç3—¼^JG¿ŸÙXr•˜V-ÜI\xó`×盘6ÿ´Ú³¸ãöøÍ.L¸žÖeÐ!y±»dí»·þ¤æ;ü=X7W¾1 ìM2ÊO@ã®™RP;}0^•'ÖŸ“ÛúÅDÄ´ß±‡Õ>pmà¢^XJ¦ÃŽ»WgãÚ¥²¢8(-Mô# Ì<ÕÎB—Õf'*ù]J_mRL)5d>æ('^s‚‹FðÑpβÒhŠq‹Ë—Žg3ºwµ¿?z™¸Êc±uÌÝ0çNÚJ©{;„ƒºúÐ {‰1ɾ}Ûêg_»‘¸÷Œ)ŒÐ”Ï{Œ)«ÿº­{¼&%¸Qº™mÿÐMï¬ÓW&—“U[zTnÃÜЋ‰­‘>ôq¹-†Êâ9µ)–ZÎxŠêߓՇòÄäðÕ ŒH¹Ìš¹Ejí­œÏÏWöÇ;ÙaÓ]çrøû±†ÄÅ)§–@6‰^V‰ÁŽÛÇ,ÀîãG×[¬ÄÇ/5¬Ø›ªv±kã/’VõŸÛø$}báæ­§ñz”aË–å¾fÊ9ôB©LÍÊŒwÇç`I6tÝ_nXSφž| vO¶”mc¸£+$ëÕ†í€Ûõå"0:õÀ×+Å÷7éíN12ý7þ´~i@Úv[4\øE!À\(±ßV’w°™üF7‘ô|.û–µÝo 0€ô+„À `ó$7e4jßÙÖTêϾÞ„µ¹Só#xRãžËWÅ+ëî¨~n$£G&A†Ç摌Á’ýïôhRýÍdâ;ê%²Æß vyô9}ØãÝÅ%yIEND®B`‚nted-1.10.18/icons/dot_icon.h0000664001041000007640000000125411520270060012611 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (dot_icon) #endif #ifdef __GNUC__ static const guint8 dot_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 dot_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (60) */ "\0\0\0T" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (64) */ "\0\0\0@" /* width (16) */ "\0\0\0\20" /* height (16) */ "\0\0\0\20" /* pixel_data: */ "\377\0\0\0\0\267\0\0\0\0\3\0\0\0\36\0\0\0\337\0\0\0\250\215\0\0\0\0\3" "\0\0\0""4\0\0\0\376\0\0\0\332\216\0\0\0\0\2\0\0\0)\0\0\0\24\247\0\0\0" "\0"}; nted-1.10.18/icons/str_pizz_icon.png0000664001041000007640000000053011520267227014253 00000000000000‰PNG  IHDR szzôgAMA± üabKGDùC» pHYs  ­#½uèIDATxÚíWAƒ0 ³§IðÚö-ðÓÝèÉ; 1ÖµÐ@9 ÕD ‰ã6UBIH#;T„œBjýiôc!JŒ5³„ÇËúK]Ð4¥eXTR·T hs<&xLg\Xûoà­÷K8™ñ9Ê‚›®íº‡p@¹m+nÝnVs†öoUˆ èì‡0H$¿9æ“Å`P‚ܯIIbÆþ¹Á$»GrJ_?KåpIXHlàÈ.–4Î:¥‚…Äe÷@ép»[Ö=µNÕ»b‡’¸–=U ¼™÷N‹* X?IEND®B`‚nted-1.10.18/icons/str_pizz_icon.h0000664001041000007640000000741111520270060013710 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (str_pizz_icon) #endif #ifdef __GNUC__ static const guint8 str_pizz_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 str_pizz_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1039) */ "\0\0\4'" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\206\377\377\377\0\224\0\221\0\7\214\377\377\377\0\205\0\221\0\7\213" "\0\221\0\16\204\0\221\0\7\214\377\377\377\0\205\0\221\0\7\210\0\221\0" "\16\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\205\0" "\221\0\7\210\0\221\0\16\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214" "\377\377\377\0\205\0\221\0\7\210\0\221\0\16\1\0\0\0\377\202\0\221\0\16" "\204\0\221\0\7\214\377\377\377\0\205\0\221\0\7\210\0\221\0\16\1\0\0\0" "\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\205\0\221\0\7\210" "\0\221\0\16\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377" "\0\205\0\221\0\7\210\0\221\0\16\1\0\0\0\377\202\0\221\0\16\204\0\221" "\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210\0\221\0\7\1\0" "\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7" "\202\0\221\0\0\210\0\221\0\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7" "\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210\0\221\0\7\1\0\0\0" "\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202" "\0\221\0\0\210\0\221\0\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214" "\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210\0\221\0\7\1\0\0\0\377" "\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221" "\0\0\210\0\221\0\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377" "\377\0\203\0\221\0\7\202\0\221\0\0\210\0\221\0\7\1\0\0\0\377\202\0\221" "\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210" "\0\221\0\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0" "\203\0\221\0\7\202\0\221\0\0\204\0\221\0\7\202\0\0\0\377\202\0\221\0" "\7\1\0\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221" "\0\7\202\0\221\0\0\202\0\221\0\7\207\0\0\0\377\202\0\221\0\16\204\0\221" "\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\1\0\221\0\7\210\0" "\0\0\377\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7" "\202\0\221\0\0\211\0\0\0\377\206\0\221\0\7\214\377\377\377\0\203\0\221" "\0\7\202\0\221\0\0\210\0\0\0\377\1\0\221\0\7\202\0\221\0\16\204\0\221" "\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\210\0\0\0\377\1\0" "\221\0\7\202\0\221\0\16\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7" "\202\0\221\0\0\1\0\221\0\7\206\0\0\0\377\202\0\221\0\7\202\0\221\0\16" "\204\0\221\0\7\214\377\377\377\0\203\0\221\0\7\202\0\221\0\0\202\0\221" "\0\7\203\0\0\0\377\204\0\221\0\7\202\0\221\0\16\204\0\221\0\7\214\377" "\377\377\0\203\0\221\0\7\202\0\221\0\0\1\0\0\0\0\203\377\377\377\0\203" "\0\0\0\0\202\0\221\0\0\206\0\221\0\7\216\377\377\377\0\2\0\221\0\7\0" "\221\0\0\204\377\377\377\0\1\0\0\0\377\205\377\377\377\0\206\0\221\0" "\7\214\377\377\377\0\1\0\221\0\7\206\377\377\377\0\203\0\0\0\377\205" "\377\377\377\0\205\0\221\0\7\214\377\377\377\0\1\0\221\0\7\206\377\377" "\377\0\203\0\0\0\377\206\377\377\377\0\204\0\221\0\7\214\377\377\377" "\0\203\0\221\0\7\203\377\377\377\0\205\0\0\0\377\206\377\377\377\0\203" "\0\221\0\7\214\377\377\377\0\203\0\221\0\7\203\377\377\377\0\205\0\0" "\0\377\205\377\377\377\0\204\0\221\0\7\214\377\377\377\0\202\0\221\0" "\7\204\377\377\377\0\205\0\0\0\377\203\377\377\377\0\206\0\221\0\7\214" "\377\377\377\0\206\0\221\0\7\1\377\377\377\0\203\0\0\0\377\204\377\377" "\377\0\206\0\221\0\7\206\377\377\377\0"}; nted-1.10.18/icons/backgroundv1.png0000664001041000007640000000403311520267227013747 00000000000000‰PNG  IHDR€ô›éðâIDATxœíÝÛrˆáÿïéž­ØŒ"kÙ®¬ÛÎQÎr 9ÊäRqU\«œJ-[{›™î c Ià ŸÄúž—e C¿Ó³4è_þú÷“²#„0šÌ zþèÌ>ü«Þý¡Ûܧ†¶ùÿm!l÷¤\ Q‘»!Z u]]]]ÎfÓm¦ª*ïëmî¡YÞûªªÐK!"AÕôûeY?Z F£Ñ—/Ÿÿýu]o¶Ê„ !øW5 BÞƒg@¢*Qž~,ŠN'óIð €÷Áû:Mó(²£ÑP_ämÎ+X%4„pyy>^Çq2ÿуp!„eùááQš¦¯j-ÞÆDª:™ŒÇãñb𠀪cœs½^¿×+£(bƒ¦cT5„འ‹ã¥ Ækm’¤ýþ Ï‹º‡TÕ#2ýž8˜788èâ8á$Øž1FD¼÷Çòé1cLÇýþa·ÛŸÿgÚØ|ããŸ90|vpUMšfƒÁQ–åœSÕù¦ÿ¹1\@¢Èv»ýÁàØ9Ç›™ʯ½U›Uq. Ž{½rÏÎ vc1ú+ÖÞå—"Ý…dYq|ün4¶}j¶g“l1V«ŸÖ æwÔíöŽŽNÎÏ¿…°|Õ,c¢(ŠZ}ˆ-©ªµvqÿüÍd8¼¹½½¸R½@$Xë~ùåÃû÷iut‚1Ñ+?èR5Qd^ à}ýéÓ¿~ûí?‹3Þç¬@BqœäyñÊG§óCÆ-·µÞû(Š^}á2y&³ªªÛÝØ.0À2U±‘1»:ê[kôGc£Ý­—œ` °kß_½Ã»fŒ‰"»ØÅ0„.NÐŒÀŒÀŒÚ³ÖÛ¼Á7Ë–ÇÚûPUk}:–3 !ïëuÞãc°FìÕ{¹;ÆÖTN‚ q€1Xƒ¸ÚgX³8 ~Z㟊»}e’¼É'ØÆÇR8~÷` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ`÷ðW½–fÀÊ+,R –/ÞM;Æ}€1€1€1€1€1€1€1€1€1€1€1€1€1€1€1€1€1€1€­€¿ÆÝŠu¨ ´á'6AÊño÷` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ` Æ` ¶‡BiU{ÿ6¾sˆxÿf¾—Ô³o¿{Mc+¢"o ‚‰­E/Cþ%ò}ÙËMÐÛÂHµ÷ €TU ŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒÀŒvOõÞ‚`×¢ÈDÑK1À®©ª1?.&Å` Æ` Њ¼÷~[2@+¼÷UU­sKhÏZ—md0c0c0c0c0c0Ø@“ßÍÁ` °™Æ&€1ÀÆš™ ÆÛh`0ؾ}ÞÎm; 8ÀŒÀŒÀŒÀŒÀŒÀŒÚ "bÌZcËmIÓÌ9÷âË¥ ЊÉdÇIQtŒ1«¬@_¾ ‰ˆH]Wßf³Y¯Wv:½Õ ^~C&QUçœsq£Ë¹úA›üðÓ.ï\Dêºo..΃ã²<‘ëëKïý“+ñ BU‰ã$Ï‹8NšýPØêÇmõî[½wçÜÑÑÉùùÙÍÍU¯W–å@žo°*À|œKŠâ Žç«ÿŽ6DÚîã´{ïÖF§§†Ã›/_>c:~¿XU³áðæñŸÝÌGßZWE’¤Ü¬/„¦é‡>8è]^^\__8çºÝ~’¤'ߪ`­-Š"I2my…Ü?!H§Óûøñ×ñxtyyam|pÐ !œŸ[ºåÓBcL–åY–¯yBAKŒ1ÇÇ'··£ÏŸ?]__:ç:žˆL§Óû{¸'w>úy^äyaL´³%Þ?I’žœœšÍfgg_g³i§Ó+ËCçÜâ6ËBªš$i–÷¯¬EP•¼i¨ëênŠlhùÚz€6—\ó¼è÷«ªúþšÂ«""‹Iêº^óbgO?Ά¿µ‡huáU5Ï‹ºöª^µÿþï×A·pQ[Çûª[kLóÏÍmc±ƒˆ5¦žóu-"‘1"Rû`ÿöÆÎ¶ ]ÔÂé´L»ÖZMcÛÏ@1y⌚áxòX;üyf›á=IEND®B`‚nted-1.10.18/icons/halfnote_icon.png0000664001041000007640000000042611520267227014173 00000000000000‰PNG  IHDR szzôgAMA± üabKGDùC» pHYs  d_‘¦IDATxÚí—A €0 ³"Ø×ê[êkõ´^¬T‰¨±jrlÓî6„IÑ=)l9jëUIK8€8À‡:~^ppx+@m:•O¾(á9mäÇðu€Lˆ$VÆåŽœ[Ž–$’Pó¦=ÍUí9£Ã ¬.‹TË6WÀbçlŸp#œà,Wœˆ¤“a÷­otÂù $‘‚-x   håB3èz”'XIEND®B`‚nted-1.10.18/icons/drum12_icon.png0000664001041000007640000000077211520267227013511 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ 3ÌTFòzIDATXý–=NÄ0„¿ )Xm Ķ¡¢¤¦àKÅ ¨9+Ñq$ ¤5X!j®øÑî£q$+äÇ6N,¹‰ÏÌ{3–efä’æÀÂÌ^Cö™@} à>ôß"xƒ“¨‡™ir©ªýQæJU?HÀöAº¾gmA bfêùoŠØÒæTßI KUHK²U O¿6šú<‘óê.¦Ê{r †L7J Ú€B=‘µCêr´&)’,—)Ë×û€9/¡NMu¹£×ÛIL8Џ€Ã±U÷U`¼wä}߀™}t€ÀpÛFBR%éYÒÙ(W±™í€à²IBR¬S`žò˜ žŽÀX*àø–nÏ1° =³Œ${çį€=à8.Ìì1õ9=+À\5ÎkQH¯ËþìêvxëÊQxàßÀÒy≨3SÁÆL& >ko!qK 4ŸÀ¸is»KÇx‹ Á/ù˜[úû JIEND®B`‚nted-1.10.18/icons/sixteenthnote_dot_icon.png0000664001041000007640000000047011520267227016141 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs  ­#½utIMEÙ 66¾¥z¸IDATXÃí—K€ D‹!ÁÛö,ÜWº2& ÒŸiD»#/ô¥Îš;’éIKmyòV`„⯀b24Yñ÷€ÂÞ„L€ ³Â΄æ ˆ‹ w¢ Ϙ¡Ä &T@ØeÀ€ö @mÇ®Yð½É]iþ¯à„Ò­tŒ,ˆâòJ-·õïOåËW6±’ÿS›¦: Äîh†¤ª—^›´á´åNçS §çƒýÿBE.„bøIEND®B`‚nted-1.10.18/icons/lines.png0000664001041000007640000000741111520267227012476 00000000000000‰PNG  IHDRÊ~e>ŽËbKGDÿÿÿ ½§“tIMEØ.5Ùá[«IDATxœíÝy\TõþÇñ×À0"0)¨H’û–™•K¸¥¤i’¹djê¯kÝ–›æÍÜp MÈ®Y¦f{*èÍúu+ûe.…RÚÅ­+j¨iâB¬² Ì ó½€to|é‡2Àçù—ßñpæ3ç{ÞsæœyÌùƯrss ET¿„„‡Ì‡‹HHHÀÃÃcNNééédeeUwMÈÈÈ ¨¨HæÃEddd`41öêÕ‹œœ,Ku×$€¨¨(™re>ܪ»!j Š$(Bh ¡A‚"„ Š$(Bh ¡A‚"„ Š$(Bh ¡A‚"„cuPØl6òóóÉÊÊ"//üüü«ŽgÏž]¥ÏMýúõ©_¿>>>>˜Í櫎M&S•>o]T'ƒ¢»cëŽrwÔ+㪖••ÅO?ýTeõéŽëbðjDPªkÇ6›Í»ìŽ¥µ\e¶Ÿïê®IPdÇv-&“ “É„Ùl®’õÕÅàU*(ƒAk9Ù±k1WžÝn×z^¥”vrÕK •:¢è&°.šë’ºøÑúšœ£¸ú¡êVðêâŽ]ÕjÄU¯Ú<Ý«Tº"""dǾNjDPªZu¯ªÉŽ}ýÔÉ Tµªž®ªþ¦_ü>¹ê%„ Š$(Bh ¡A‚"„ Š$(Bh ¡A‚"„ Š$(Bh ¡A‚"„ÃðáÃUvv6ƒ®îZGaa¡Ì‡‹ˆ‹‹Àèp8(,,”¾æ.ÂjµJŸybµZ¥Ï¼+’>ó®EúÌ Q !4HP„Ð ABƒE !4HP„Ð ABƒE !4HP„Ð ABƒ¥®PN¬—$ålÕßU¿.Ð Šír"ÓìGCoAí{³f÷…k]—ÐôÙ‹“iàà -{°vï¥ß]nfs¼ýZ0båÑëX]íQqP”ƒGoëƒÛ°%œÍÎc×ê±Ì¾o6ý>‘â9ñöhžØÞ)éì[7ŠCîÃê¼ú²ËºÌó­üød›ë[d-Qa”üKï±9Õû„>t›Â-†™¤Ù‹ 6¹_óÅï›5ë3"“Þå&?O8‹¿ú-åÃô&zÿfÙâ“XÎ:8ݯ*­ù*<¢xx·‡¢³L\µ<»ƒï>šÃÉó,ÚOï¾A=ƒ±:K/£º=€Ó–ÊäÁ]ð2é|#–È!¸™š°zÈtœÖ€»w¡œÌÝŸF£–=øâXgâžæ½é£ùÓ™r_Cmk³X,*""B]Ú¢Ì7„©"gÉØYœ¯F5òVÝ¢(¥”höTŸeXKÿÓ¦¦Üó¾:ýÑe¬×\ÙJÿ&õËq*$|ÛU×/~«¼ùøO‡£«™{Î+¥”²åSýUû?£”RjAˆ¯ŠM+PJ)•²>Je˜£Œž-Õ%[±RJ©ü‹ï(7£¯²;¯Ñ‹¨E®ÌG¹G”ü´”ß L%Ÿ¬0¸y3²±7¾­|ˆÏ)¢Ÿ=¾{u8Y3BÉý!úñ(ý›UO|N§¿vâÌG/Q¨ó&´,X¾—¥½›àáÓŽÅS;w²¤Uöº ù 6{R\ô#‹wvãÄÚOixstÙùIâ«/cn?£¡ÚʯqÊ Š§yÎóÞùö ŶË|ý~ÏœkÆêÒóvÞ|øÝivÇ<ǽ+üys@3‚‡ÞKaÖ6æ¿ó1±Ñc‰ú!›®û™ôz<å<²Êä;lÌzÿ§³Gv±ôÍ&½Ð(™ÔC'“yaÜ@ú-éŽ=ÛNþ…dØì$m{™¡ËO±ìÃÇ«÷Ô0å^65èÉþ˜iŒy e*ní7’ ‡ãiWzeå÷¦>¼¦–ýØœðžnàÙ1’¯ÖX™¿z1Gïx€­sâÁq>MÜs]^P]±ùóWõ§pê=”Ip§;ùKô"îàýù#Ó(÷ÍŽaÎ>X£WqçIz¾EPÇ>,ú4‘ÇÛÊeâÊ0X,%÷‘rr_/×"÷õ¢$(Bh ¡A‚"„ Š$(Bh ¡A‚"„ Š$(Bh ¡A‚"„ Š¤Ï¼‹‘>ó®EúÌ»(é3ïZ¤Ï¼‹’ߣ¸ù=Š• ABƒE !4HP„Ð ABƒE !4HP„Ð ABƒE !4HP„Ð ABC¥‚RlÍû>æŠoŽœåJ»yÛåóäKóùë-ïüù²®Ì…ÿ9°ç'¹`ÏüåaåÙ«¢¼Z£Â (§•SÇòŦ(ÚÞ`fKz—ÖÓ»K 7§U‹`št^€»ô:»Š‹Î±oo-ý3ojCš½äÝËi»HPƒ@z çþ¡a œúy¥ÖkôlΈ»­¬9Ê­>× òš«ÜŽ[ö¼ÃlØô)±¯pÎãV&zpjãßÖÀ‚,”;¢Ö¯Àýš—+l9‰ß—BÜK±ƒž%¤^É–Ï8:Ú4'óÔQòCzóî²»+µ^ƒ»|³‡€ÛæÊgò_©0(&ßPž‹ eò+ì1¿ln\ušGSé\_Þy®7¯ÀûyöYkDÐfÚè²Ç-þ’¿ïNf`iZ[æyÎ_¶aÏ7к½™¯wÆãßýn:›ë‘~â ‰iÞôïÝ¡lùØ×~ ë›Ý¸pêV¿´lX¡yŽâ(øžuòé>¿[Ùø Æðý†—Y¶òmRJ?Ï*G6£Fàî°¾¬IØÂý=;tSwög§ñ·©Ò¹åM }öÓ²õ*gkfý‰a÷²`]-¬=˜^n-IIIDGG“””T#ÇU%/u5)VãnUúˆ"ê@ß.~ŠqÎdOjÉGä‹ñ±ÌÜ•ž£×3iø"#þ‡~¡ËØ4} S–­äÁ™¼? ‡õ+Ss)´ÜLj é܊سyÖRÝÛôz̉VP~>¼'n,,m¦yqï<Üæ`hÖ–‚}/pK«0NXŒþĬ{Œ]_Æ¿)“U[ãé’›HøÐpZO~1w²ë­_~ þúø®,;Ü’uo,Ç/îQ,\M½*¬ç×7^¨iãªpjC,F¯Ö<ݬ¤•yAZ )7‡ñÈs/1¾M"ƒ:…‘nwÒüþ ó6ûE^þÇÿ±ùí0²/!¾ÿr6¿»±^œ-pðó8ÜüxtmßîÝÏÇ£¼™=i§V=Õ½M¯ùœ\i8_ž­Cš+Ÿ¦—3ÿµCɳ)¥”*¶¥)w7u׿¥”Ri'ªz~½UŽÃ©œö,ը䮆¼}\)¥Ô÷«ïT]ו¬ãûH¨-iJ)¥.&„«z¾=”³ÜJj?ùPJ©…!~ªIeãœS'•£tã9 O+@­8—«”*VÝ˜Ô¬Ä ¥”R;ǶR~­žUJ)eËûNy{x«„Ü’¹üà®fªÍ„meëüç´›•«UôÊj¦+ó¡uD±ì½DÈ“¸|j3æm¦Yé ¤ÁÍ'PßßÀ·Ïí¡åØh|Ý d§D’N &¶‹#ÿÅý¯ ù¥Í4žÆ%G㯞 °grݬbN[*/žË¥ËÜÞf|B³6m˜’œ €õçOp75fl€7—O¿ÀA[ ;šxq{*=WLàøº'¨ßéoÜámçr±âåÃéܳ {ÙólÜr†vOVî‚@mUaP¬é[ø&§ˆð©íØÿt»ࢭä’dZÂ\ŠŒMy©oSœöt¦ìHeè´’“Ãä•Ûño5Ÿ†F7òίåƒË ‰îȺéÛqä:0w”œ«Ìÿø S×ögË´œW/E”ÊL^DA±“ˆ~MJ)ÆàÛèvfŠ‹.byÈ ÈOhjrc_Ä›4ì´˜únв¶±-³gú4 fe2½£Ã9²æ!¶gâŤîšÃkY!¬ŸÜáêEÔ1å^õZ:oO~A³  ŽFÏcF“{˜1çaüžJãôÞxN¦!rÊûÌŒÙG/#öü•TÀÂÖþ¬þè mõÀžû&ß;‰]4çëéì1™¼~«øh«•»·’jsbØ4™Ý¡‹]^Qu˜Ó‘NÄÜÉJ—÷D²<À‹Ð–0dä FßÄáÄ|ÞÙ»›¶^^­ ‹EUö†kG¿"öóýàDßð‘t *ùnÅ‘—ÎÅ,¾±ÖBêyy–|¿¢ììúl;þûp{K_²Žï%þ‡z€óÀÿòU^gÆ jWÕ¯±F©öà)?§çÓ(À,ƒùe>þÐÛEÃNýyºSÿß J)¹½£“y!4HP„ÐðoþpR[.uD!IEND®B`‚nted-1.10.18/icons/ped_off_icon.png0000664001041000007640000000132311520267227013772 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEØ-ýp²|tEXtCommentCreated with GIMPW.IDATXÃí–MHTQÇç9o|£3æÓÔqr²"ÇÍB**²„(—Ed`´njeP QÐ2ZU‹¨ Ed íB©0,Q7!ÒÇdM25sÛLà&ò½™—›9p6÷ëü8÷Ï=¢”¢&" €©”zieŸFáìpÍê¦B”î•°eE€"@ °â®<>ŸU@ ÜÐÚÿ "0t K<À˜£¹à—€³v>ž¼4 " g ܪ  ðþe^oŸ®ZNRjÙô³@6T?€8°ÝÊY\¬ö„"²8”æ†^q¥Ôw[Ï9¿¦TòëjmWÂ;'åÀƒí~()·M`éΦñö¶ðˆÒÈ»H#C¦‡ ¡mSín¢×Žsân—U XË@÷·­¤ÞGgšÏW¶øƯ]÷h$“Š2¿Ðäh.ìa¯Bµô¯Ñ-uñ ½bšº¶ÛA}ÔíìáÜ«*K/kÙ‹'1÷¯&ÛÈ`†ãaƒy@¡yÕ‘çM&³hþ —/:sÉz“aÜÁüÙû!¤@·‘¡bÓx8ÀJŒ×T†Gá©·Êu&ˆu=ˆ<%P5TSÆüõÏ8v¯ÓY¦1¾$èXH—5¢ÏMüTl¤fsh½‰‹Åä>ÜâlhV‰­1c¶í÷¤ç ñõWûX–¼ÕÝìÞwÃÙ:°Ä'1[ƒœæÐ•]vÏPJñBA1¦ˆ*YIEND®B`‚nted-1.10.18/icons/drum9_icon.h0000664001041000007640000000420211520267227013072 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum9_icon) #endif #ifdef __GNUC__ static const guint8 drum9_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum9_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (583) */ "\0\0\2_" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\225\377\377\377\0\2\0\0\0\24\0\0\0\20\236\377\377\377\0\2\0\0\0\206" "\0\0\0n\236\377\377\377\0\2\0\0\0\206\0\0\0n\236\377\377\377\0\2\0\0" "\0\206\0\0\0n\236\377\377\377\0\2\0\0\0\206\0\0\0n\236\377\377\377\0" "\2\0\0\0\206\0\0\0n\236\377\377\377\0\2\0\0\0\206\0\0\0n\236\377\377" "\377\0\2\0\0\0\206\0\0\0n\236\377\377\377\0\2\0\0\0\206\0\0\0n\236\377" "\377\377\0\2\0\0\0\206\0\0\0n\236\377\377\377\0\2\0\0\0\206\0\0\0n\236" "\377\377\377\0\2\0\0\0\206\0\0\0n\236\377\377\377\0\2\0\0\0\206\0\0\0" "n\236\377\377\377\0\2\0\0\0\206\0\0\0n\236\377\377\377\0\2\0\0\0\206" "\0\0\0n\236\377\377\377\0\2\0\0\0\206\0\0\0n\236\377\377\377\0\2\0\0" "\0\206\0\0\0n\236\377\377\377\0\2\0\0\0\206\0\0\0n\236\377\377\377\0" "\2\0\0\0\206\0\0\0n\236\377\377\377\0\2\0\0\0\206\0\0\0n\236\377\377" "\377\0\2\0\0\0\206\0\0\0n\236\377\377\377\0\2\0\0\0\206\0\0\0n\236\377" "\377\377\0\2\0\0\0\206\0\0\0n\222\377\377\377\0\2\0\0\0\33\0\0\0\303" "\212\0\0\0\322\2\0\0\0\333\0\0\0n\223\377\377\377\0\2\0\0\0H\0\0\0\373" "\210\0\0\0\377\3\0\0\0\301\0\0\0\214\0\0\0n\224\377\377\377\0\1\0\0\0" "g\207\0\0\0\377\4\0\0\0\347\0\0\0\32\0\0\0\206\0\0\0n\225\377\377\377" "\0\1\0\0\0\211\205\0\0\0\377\5\0\0\0\373\0\0\0A\377\377\377\0\0\0\0""1" "\0\0\0(\225\377\377\377\0\2\0\0\0\1\0\0\0\252\204\0\0\0\377\1\0\0\0u" "\232\377\377\377\0\2\0\0\0\12\0\0\0\305\202\0\0\0\377\2\0\0\0\260\0\0" "\0\1\233\377\377\377\0\4\0\0\0\25\0\0\0\336\0\0\0\333\0\0\0\17\227\377" "\377\377\0\1\0\0\0^\205\0\0\0}\2\0\0\0\241\0\0\0\247\205\0\0\0}\1\0\0" "\0\16\222\377\377\377\0\1\0\0\0\277\214\0\0\0\377\1\0\0\0\35\211\377" "\377\377\0"}; nted-1.10.18/icons/backgroundh2.png0000664001041000007640000001254011520267227013734 00000000000000‰PNG  IHDR€k× ]'IDATxœí]kŽÜÆ®æpfw%ÛÒJ°dÅìø@@|‚,7ÈEò#—Èò??bÀ0œJdCÒZÚÕŽfg†ìüà ‡lö£ªºšì‘¶`ÀRw=šÍúºÍ]©?ÿå¯Z€ƒˆ„„rMx æåìt1W½aeþ‰>;˜òHD¨ãì)Û¬›ÇÆY¨âôd^…[:Ž4i¸3£­£N6;Ã~T)õï_^þíïÿ(ÿôÇoÝÖQÏ­ì\NÙ¿…ÓÏ3ôu¥Tç)¬Ì. ÊÃé9 R¤¤Fƒ`Û%̬ÖZ)¥µv¼V?)Ÿ'Hûx{s6N?ƒö+Ul¶Õ¬(Jï:48ý{§Ç-îÚA5\ÓÐÝ ¥Œ§í h¥@ë®÷· ûåõ^ŒRíš{Ì£žÕnE*j$%iЭh0„Wz¨s8¼ËÍžÒúðDD‘Âè÷çyª*—ŽÌ0ˆvövüÜ ëõ·T{vIëÞx2CG¾y¨;~ífð<¾±±»‘²ù›RP×µR<„N‚®sº•íÚùœ&[½Y×Ô0P Æ»ƒíz†ƒ‡HØeG0ézôäüüálVÊ"õ–ni|*ŠÙÉÉ €º¾~{s³Z,‹ÅBrÜ=@)U×õÕÕeUUëõúÁƒ‡§§wn1pKÇKE1›ÏçUU-—Ëív£u °€NHCm²\^¯×ÏV«wÿîλB©äûGcìËíæsi·qëõÍf³©ëº;º9ÛKS¶ÛÍÅÅ ­ë/¾øêôô,`Šü’âëWjñŠozø/Œ˜mˆ¼¨Çd}r Q‹`[bOœ&›Ÿ¡?ëÊC¬9†kœ<Ÿá sWnc#Y²1€55:Ì™;,C¼cÔŸð Ôv¥TûÅ8\Þ¶Ÿ¶c†R6w¦kšöø4 |(àˆ¡AC§Õj7`~Û2;gûìé ïîN)Jr¡÷âÜ.PÈX¸ÔÅÔ78[%Œ\Ñrñ)·f)ø|‘äˆ%?læãWŽ\ÒPCOÄa³˜=FÁzÇ2²æI•ÇEHã\`pÄÌ.°»T_Ð~ЄRp**¬R>Ó¸ò ãú!-}AN(P6‰ «ÄãR!~<0HƒafWµ9ì 1îèòoB(NoY-²ªmXŽñ&X‡ bpÏš²T[HfV±ëZ¶vÔ6Í´Ö6–• ã4ö>D—b®Æyr8=žƒÀ«}ÏYZaäc.¶ðŸaØü+ñL&JåïßWœ¼7YÅy•\i:E ž²ÇM¤s¯Á`Ané Ü"Ø9­ÊÓÃÁæ‚§¾¡½‡æ&8n+‘ÁÑ:ëOñã.“œJÁlŽG¾Ž,›ÄKÓ–»< ¡§Ð1HP SOYë(£ø~‚…ÑÂ×\ÂÛD І[‰ÉlcíF·"ÓÁqU„¥Âã] ãJäð8)Á¸¼Â A WØõ'Ç{ ˆFR$˜™Jº·„Q)PVA`ŠDÈ5Ne&ÃpýÄhÐò8w›Ø© “¡Ó›ßÛ×|Òj.Ð4ä®”ʆÔãUîQºÆ­ç}ì8„>rF0xgL &#ê©gÉ ØVc‹àA€aÅÃý)þ¸T±MÑ¢AËã>P“û{ßry]A?gð)z³ÿD&«óHSx@ˆ„ùð¤CþÕb`N04aU¡Ô™ípÖY“"•¼å¬@‚3äâ!,—ð¸ æ6ØòÜÑ€:ÎÁ¨€á[B8'æ†Ícb·« P²ÏF%ñJÀœ7›SÉòxj«Çtô!ÁÀpøMäÅ6åŒåû=ÆP:º] ö÷Fa`Ò Ôo2øUÆÆûS±ÖÁyÒ[`N$˜ü%®ƒyÏ(Æõ­òºÃ¯aò !R%Àª†ý2ØbÀe:®–%XwUƒÙ–Á^„òþÔä+ Åñu÷H¬ :ZÑ/‘&EŇþ”XÎãNxHy¿Õxoå‹¡C ŸéÁ\<»ÇÉåshR%€I„‚Õ0ºð˜Äm È-lÞŸMl·ˆ¯Ú%&à1äñ¯AÆ5GëóàSÒÍ—xL¬¨y/¦°hkŸ(—8Ÿö+ˆN„b ?•.瑯€ìÄTr{wll×)ö-‘ Œ®†ƒ›BÛ5tAœ|Ê3ë``WÀ¹Áqu0n£G€ÔÕ°Íd\12§@¨åOª€ÁÆ‹Ãz%Â}Éõòh" `@¼¶±e0Sš´y¿á(9Áv£u°nï'©xq "¶¬³Ž>~Þïvóx ¼“ ë!Ùè½ hþ]Ë h@èôó&ƒ\¹ ²½Î`£3û üîQ£Ö=ÕMp`qâÕ°V1Sf %¬­xÅÊÚ,JºœTÀa‹Ô:ìûà6ß©)PŠ 0A"Dñ˜BÜy¿Mbò~Vlу£©ê`Ÿ¡îSgt`5â&N1±ÉÀÆ€mFÈûÑ0à]I1u°W¥—Ñš :BHý˜…‰bâª[ÿIïËûÝ_øŒW»Ô%Xªðf›0¤¨e[ÝI¡pÅ ©L@€¾£L^ïìD¬°Ä&ûß=µ €—µGé”H„˜ð+Iêåqý~RÒoxOªËF!¿¦û=£H[L’%+ˆ#8âìÚËñ^¬‰ Á:Ø©m(ëѶßy­µŽ–m;ÆO„ò`'=7ÛÉ´üõ,ƒº†ˆ m'ɈY%BQÅFáè ±3%Ûɧüõ›J°T…3+¥@ë_"5PÊDˆÄl ‰ä*´d&QÒ å¯iÖ7G« PÀ» žhoa¬œÌ¡OPf(\gÚ•ØôX8[f÷¾iìXX†Ü ëÌ#]„‰†`â8ÙF‰…§!L@èòD Ù.¥Htq|¢Õ°Mððhl$ª†…‹¼$Àâs" ½`ÒÈø`0ô$'Jº%W k€¸¢FX(ˆíÌ‚ýSëíD$ýYÔ¾H»~v!=)¥I=ö¿á-ãJ¢ ¶¼G n6ð¤:‰j_*6âÊèÈj»ÖHp‚Â}Ç)*ÒbáÂÆà>ཷ]0¸Ô¦¡S£’û°¶¶ ÚðÄG€i0À(ð—ö1ÝægÔ¾#¾BxtD5Œ¤|?‡R–@² düÔÛ.\íër&60ÈÞy7Üj]–힨¤æÓ~u‰D( çŒ'iÖm¶öÅuçRQÊ‚8ÈòŸHê±lœâg|8Ïa ÁÐÐR¢^·ŠàÄ®‰Þ,#–åTJKXSí’0réO! aààïJGÖªjRН‰}²í. F€$žŠÑÌ»#aìç«`žC²î;Ú‰…ï˜U¯‡pÕ®dM¼c›¾–(Bd1 J‹N¹8×§T½ã@]êF×ƶÃ{ÔÒ˜2’ÀS$Qñb÷\¨ª±Õ.¿ܨ*þˈ kbúÐБcâxFwŸWõÒ[@Cý’ÄÊæyeqW\ÐEؘ”-HÌxÀ8™½"Ð÷r È¡S†"Š×$e±8ø¥0®ÈUÅ2˜"CÖ.n—™¾ ˜€¿Î,þ‘¼–¤Ê|zoØ#åÖe™Ñ.~*³{1¾õ¸»â>%“’F®ñ¤~+J‘EõCEšB^=bq€ÊÏû’Ç›áøR£Gvýÿܬ´ÊXyøµµŸOT¤ÆJ¿4 ¥[3J^ŸÔPÜ¡a¨ÍJ1ØàÔd9íø³2-‚³Ä€OJ.t@DÉK¨w‰avŒ”I¼„¡tˆ ‚&ا·‘”áÒñæOºÎr$i.2¬'#ñÁtÈ+Â;×íŠû4XºˆÑn’@Shÿ‡×‘:Ê ¼t„;ú8d»À¯'HS4F±&™kÓÙÖ-)ÜR©²|Vçgü¶‡h^̤ñ^ˆîKÆ™`¸ùºœT@ÐÐàVbh3hT° ^á(¤n1’eˆ+vS´}0^æ×%æ§W]Ø÷€ÔÃ|€‡:BÖ'nèi)úD“'ѾPP׎[H\Ð Â#c\™]ìÊô|ŽªºÓ)O(‚…0ÐSÑX+‰i­BDŠî~ôx”»ˆúö“5Ž"õîÞl£…Ö’úP'†d1gbûâ0pkèê 6$Mô‰h’îÐ8a¾dr?Ò†òÅI ÔÕàVbhkiêcÌGdœÅ “ ¹ p,ëI™Õ$jø ]f*Hp=!9ÿgáJ©ªªëšõËq3Á€¬‰H „4&÷´†D÷3þÉ$O"9˜ÞýnP½ZoÖÛ-3Ê!!›À¹`¼Çh@)*lˆûÊ&Êý˜íèTµý+‘cÑ8¹Œ @%=.µ-MÞÒhIÎÝõà>â@´#4V€¸Œˆ R¶z¦º HñQÉ:þ&«(š²Ã„=OÊ}Å[=±ŽÇ@¼UšR±??òß>a¬4ÁJH§ÆhÓáßFéiU!žTwþ{ŸHþ¹~+D>ÆÀj„}§ÉæU…IÛþÃI†÷ù@2EpM!âJhe1ufÒ5y"Ú9±È4œ(çÐ2h4 Ðl!ÔŠÃ¥­«s'CÛ?—³$†\»'.enþ'€| bâbhT%*X ¾ÝñRrÌ—„òm  šç“ŒÇŒ˜$4Cý-åÓøR¼¯c4d˜µ$€ %Çâ¡H0@ë¼f—¡ƒ–< 1Z+eÿ)Äî¯9â1ÉÒ!H´Î®f‚rÅ!¥Fz_G¾G âHðÌÐßS‘,B+OÚÛ‘A‚k GBÚûW'eZ³$ ›K—Çs‘@³rœÄ¨Ø§Aí²ŠG/  0ð÷’7˜Í|’- q(€»:qÍþÌñ0^ú•*z¿0‰a@Ö|$v»4*„Ýô~ýˆ»jÆ€˜.⪘v)V29–Q -„O!zé@QÌŠ"êk9 ˆbˆ¬,wï—;b¦¡bc@¤Oå@¡T$^ä±D¬ƒ!2Sÿ,Ïe¨¡4¿ìMQ­›¶¶AE?‹YÐ+Hþµëh½|90ô´J)"Nky§=Õ¿™ –ÜÖqÂÔs|CC£DÓ6%a¨!Q$H^ô°ÎK¦ ÎÜÐme"ƒ©4“ò{@£á6ùMp²»Nè"©”õEZ’ýƒ G/FQZ¥êÖò¦ªeë†+)¡ÐlT€S~ ”ç—s]œåÉ|ºüÓáös Mü1\š ãiC€eÝXFKïb=~˜òMÿ5hæ€X@HØiŒd Ž»+¥´­õþÏ%;—Ó9b2€ØJ´ù=66„Ë𺮯®._½zQ×ÕýûÏÎîøùíPJÀv»yóæ·ÕjéՠʲŒübb*Šb6KŽv‡_’©¹ƒÏ¶Gé&•ƒ'h­¯®ÞüüóŸ|rþûßw~þ`>_¸˜MŸh\_k½Z½{þü¿?þø/?F•*æóyí§Ù¬œÏç_ÌÀíÔ|¾(Ë,‚3‰Š¢X,N&w†ù|~ÿþÃo¾™={öŸ~øç“'_ýþë¯ÿpqñòÅ‹_ž?¶^ßœœœ, ËçÐÍÁuu¹\¾½¾~»\^o·Û[o¹¥c$¥TUU¿þú¿Íf½\^þù—÷î¯Vïîܹ{zzfÖ;Ìf³û÷†4Ä×Ëóþ‘Ï⺮ëºv«+¡ËrÑßjmù­ÍXÒ5ñ”G|,‰µ°¿:ŒScU-¬ó n6›ÉªNAE‘á" ”¯ßúï¹ÂTÅ|ÝüJs.ÍŠbVLRˇŒªÞg„î¡õûr¬0c/”RJ£uº?«ÄûÁ] üJS¦ÄÍ=ç IEND®B`‚nted-1.10.18/icons/backgroundh1.h0000664001041000007640000010365011520270060013366 00000000000000/* GdkPixbuf RGB C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (backgroundh1) #endif #ifdef __GNUC__ static const guint8 backgroundh1[] __attribute__ ((__aligned__ (4))) = #else static const guint8 backgroundh1[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (9340) */ "\0\0$\224" /* pixdata_type (0x2010001) */ "\2\1\0\1" /* rowstride (768) */ "\0\0\3\0" /* width (256) */ "\0\0\1\0" /* height (128) */ "\0\0\0\200" /* pixel_data: */ "\2""4T|\231\237\267\222\261\261\305\202\260\260\305\352\260\260\304\4" "\261\261\305\260\260\305\250\252\300\226\234\265\220\216\227\261\1\223" "\233\264\350\230\236\267\5\220\230\262B^\204\17""9f3S{\231\237\267\377" "\260\260\304\374\260\260\304\5\246\251\277Hc\207\16""8f3S{\231\237\267" "\377\260\260\304\273\260\260\304\275\260\260\305\204\260\260\304\5\246" "\251\277Hc\207\16""8f3S{\231\237\267\202\260\260\305\3\256\256\302\252" "\252\276\251\251\275\257\252\252\275\2\251\251\275\247\247\272\377\246" "\246\271\206\246\246\271\1\244\244\267\271\242\242\265\4\243\243\266" "\251\251\275\260\260\304\260\260\305\202\260\260\304\12\246\251\277H" "c\207\16""8f3S{\231\237\267\257\257\304\247\247\273\231\231\252\213\213" "\233\203\203\222\260\202\202\221\1\177\177\215\377}}\214\205}}\214\2" "~~\214{{\212\267zz\210\6yy\210zz\210~~\214\212\212\232\234\234\256\254" "\254\301\202\260\260\304\13\246\251\277Hc\207\16""8f3S{\231\237\267\255" "\255\301\234\234\256\214\214\234\203\203\222yy\207qq~\377pp}\356pp}\6" "qq~ss\201uu\203ww\205\204\204\223\245\245\271\202\260\260\304\14\246" "\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\246\246\271\233\233" "\255\215\215\236\203\203\222xx\206qq~\377pp}\354pp}\7pp~rr\200vv\203" "ww\205xx\206\201\201\220\245\245\270\202\260\260\304\14\246\251\277H" "c\207\16""8f3S{\231\237\267\257\257\303\253\253\277\247\247\273\234\234" "\256\215\215\235\200\200\217uu\202\377pp}\354pp}\3rr\177uu\203ww\205" "\202xx\206\2\201\201\220\245\245\270\202\260\260\304\15\246\251\277H" "c\207\16""8f3S{\231\237\267\257\257\303\252\252\276\251\251\275\247\247" "\273\234\234\256\214\214\234~~\215tt\202\377pp}\352pp}\3rr\177uu\202" "ww\205\203xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251" "\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\202\251\251" "\275\5\247\247\273\234\234\256\214\214\234\177\177\216tt\201\377pp}\350" "pp}\3qq~tt\202ww\205\204xx\206\2\201\201\220\245\245\270\202\260\260" "\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276" "\203\251\251\275\5\247\247\273\236\236\261\221\221\242~~\214qq\177\377" "pp}\346pp}\3qq~tt\201ww\205\205xx\206\2\201\201\220\245\245\270\202\260" "\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252" "\276\204\251\251\275\5\251\251\274\243\243\266\220\220\241zz\211qq~\377" "pp}\344pp}\3qq~ss\201ww\204\206xx\206\2\201\201\220\245\245\270\202\260" "\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252" "\276\206\251\251\275\4\243\243\266\220\220\241zz\211qq~\377pp}\342pp" "}\3pp~ss\200vv\204\207xx\206\2\201\201\220\245\245\270\202\260\260\304" "\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\207" "\251\251\275\3\243\243\266\217\217\240xx\206\377pp}\342pp}\2rr\200vv" "\204\210xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277" "Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\210\251\251\275" "\3\242\242\265\215\215\235xx\206\377pp}\340pp}\2rr\177vv\203\211xx\206" "\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8" "f3S{\231\237\267\257\257\303\252\252\276\211\251\251\275\3\245\245\270" "\222\222\244||\213\315ww\205\1yy\210\377zz\210\217zz\210\5{{\211yy\207" "vv\204xx\206xx\207\210xx\206\2\201\201\220\245\245\270\202\260\260\304" "\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\212" "\251\251\275\2\247\247\272\237\237\262\314\236\236\260\2\237\237\261" "\242\242\265\377\243\243\266\220\243\243\266\3\226\226\247}}\213xx\207" "\211xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc" "\207\16""8f3S{\231\237\267\257\257\303\252\252\276\212\251\251\275\2" "\252\252\275\256\256\302\314\260\260\305\2\260\260\304\260\260\305\377" "\260\260\304\217\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206" "\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8" "f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302" "\260\260\305\377\260\260\304\334\260\260\304\3\260\260\305\237\237\262" "}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251" "\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251" "\275\2\255\255\302\260\260\305\377\260\260\304\334\260\260\304\3\260" "\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260" "\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252" "\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304\334\260" "\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245" "\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257" "\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260" "\260\304\334\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2" "\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3" "S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302" "\260\260\305\216\260\260\304\377\260\260\305\276\260\260\305\220\260" "\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245" "\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257" "\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305\216\260" "\260\304\377\260\260\305\277\260\260\305\217\260\260\304\3\260\260\305" "\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304" "\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213" "\251\251\275\2\255\255\302\260\260\305\221\260\260\304\377\260\260\305" "\273\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212" "xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207" "\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255" "\255\302\260\260\305\223\260\260\304\377\260\260\305\271\260\260\305" "\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201" "\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237" "\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305" "\226\260\260\304\377\260\260\305\266\260\260\305\220\260\260\304\3\260" "\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260" "\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252" "\276\213\251\251\275\2\255\255\302\260\260\305\230\260\260\304\377\260" "\260\305\264\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}" "\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277" "Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275" "\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260" "\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201" "\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231" "\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260" "\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304" "\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270" "\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303" "\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304" "\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237" "\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246" "\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251" "\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212" "\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206" "\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8" "f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302" "\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260" "\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245" "\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257" "\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260" "\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305" "\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304" "\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213" "\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304" "\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212" "xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207" "\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255" "\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305" "\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201" "\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237" "\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305" "\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260" "\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260" "\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252" "\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260" "\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}" "\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277" "Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275" "\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260" "\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201" "\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231" "\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260" "\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304" "\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270" "\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303" "\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304" "\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237" "\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246" "\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251" "\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212" "\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206" "\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8" "f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302" "\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260" "\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245" "\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257" "\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260" "\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305" "\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304" "\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213" "\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304" "\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212" "xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207" "\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255" "\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305" "\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201" "\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237" "\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305" "\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260" "\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260" "\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252" "\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260" "\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}" "\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277" "Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275" "\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260" "\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201" "\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231" "\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260" "\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304" "\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270" "\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303" "\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304" "\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237" "\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246" "\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251" "\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212" "\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206" "\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8" "f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302" "\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260" "\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245" "\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257" "\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260" "\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305" "\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304" "\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213" "\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304" "\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212" "xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207" "\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255" "\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305" "\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201" "\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237" "\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305" "\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260" "\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260" "\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252" "\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260" "\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}" "\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277" "Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275" "\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260" "\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201" "\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231" "\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260" "\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304" "\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270" "\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303" "\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304" "\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237" "\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246" "\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251" "\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212" "\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206" "\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8" "f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302" "\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260" "\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245" "\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257" "\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260" "\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305" "\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304" "\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213" "\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304" "\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212" "xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207" "\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255" "\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305" "\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201" "\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237" "\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305" "\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260" "\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260" "\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252" "\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260" "\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}" "\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277" "Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275" "\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260" "\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201" "\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231" "\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260" "\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304" "\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270" "\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303" "\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304" "\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237" "\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246" "\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251" "\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212" "\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206" "\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8" "f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302" "\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260" "\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245" "\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257" "\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260" "\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305" "\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304" "\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213" "\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304" "\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212" "xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207" "\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255" "\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305" "\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201" "\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237" "\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305" "\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260" "\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260" "\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252" "\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260" "\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}" "\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277" "Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275" "\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260" "\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201" "\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231" "\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260" "\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304" "\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270" "\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303" "\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304" "\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237" "\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246" "\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251" "\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212" "\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206" "\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8" "f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302" "\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260" "\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245" "\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257" "\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260" "\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305" "\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304" "\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213" "\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304" "\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212" "xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207" "\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255" "\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305" "\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201" "\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237" "\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305" "\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260" "\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260" "\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252" "\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260" "\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}" "\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277" "Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275" "\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260" "\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201" "\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231" "\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260" "\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304" "\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270" "\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257\257\303" "\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304" "\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237" "\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\246" "\251\277Hc\207\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251" "\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212" "\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206" "\2\201\201\220\245\245\270\202\260\260\304\7\246\251\277Hc\207\16""8" "f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302" "\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260" "\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245" "\245\270\202\260\260\304\7\246\251\277Hc\207\16""8f3S{\231\237\267\257" "\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260" "\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260\260\305" "\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304" "\7\243\247\275C_\205\16""8f3S{\231\237\267\257\257\303\252\252\276\213" "\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304" "\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212" "xx\206\2\201\201\220\245\245\270\202\260\260\304\7\237\243\273;Z\200" "\15""7e3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255" "\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260\305" "\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201" "\220\245\245\270\202\260\260\304\7\237\243\272;Y\200\16""8f3S{\231\237" "\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305" "\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304\3\260" "\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260" "\260\304\7\237\243\272;Y\200\16""8f3S{\231\237\267\257\257\303\252\252" "\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304\302\260" "\260\304\212\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}" "\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\237\243\272" ";Y\200\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275" "\2\255\255\302\260\260\305\377\260\260\304\302\260\260\304\212\260\260" "\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201" "\201\220\245\245\270\202\260\260\304\7\237\243\272;Y\200\16""8f3S{\231" "\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260" "\305\377\260\260\304\302\260\260\304\212\260\260\305\220\260\260\304" "\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245\245\270" "\202\260\260\304\7\237\243\272;Y\200\16""8f3S{\231\237\267\257\257\303" "\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304" "\304\260\260\304\210\260\260\305\220\260\260\304\3\260\260\305\237\237" "\262}}\214\212xx\206\2\201\201\220\245\245\270\202\260\260\304\7\237" "\243\272;Y\200\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251" "\251\275\2\255\255\302\260\260\305\377\260\260\304\307\260\260\304\205" "\260\260\305\220\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206" "\2\201\201\220\245\245\270\202\260\260\304\7\237\243\272;Y\200\16""8" "f3S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302" "\260\260\305\377\260\260\304\312\260\260\304\202\260\260\305\220\260" "\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\201\201\220\245" "\245\270\202\260\260\304\7\237\243\272;Y\200\16""8f3S{\231\237\267\257" "\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260" "\260\304\334\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2" "\201\201\220\245\245\270\202\260\260\304\7\237\243\272;Y\200\16""8f3" "S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302" "\260\260\305\377\260\260\304\334\260\260\304\3\260\260\305\237\237\262" "}}\214\212xx\206\2\203\203\222\246\246\272\202\260\260\304\7\237\243" "\272;Y\200\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251" "\275\2\255\255\302\260\260\305\377\260\260\304\334\260\260\304\3\260" "\260\305\237\237\262}}\214\212xx\206\2\205\205\224\250\250\274\202\260" "\260\304\7\237\243\272;Y\200\16""8f3S{\231\237\267\257\257\303\252\252" "\276\213\251\251\275\2\255\255\302\260\260\305\377\260\260\304\334\260" "\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2\205\205\224\250" "\250\274\202\260\260\304\7\237\243\272;Y\200\16""8f3S{\231\237\267\257" "\257\303\252\252\276\213\251\251\275\2\255\255\302\260\260\305\377\260" "\260\304\334\260\260\304\3\260\260\305\237\237\262}}\214\212xx\206\2" "\205\205\224\250\250\274\202\260\260\304\7\237\243\272;Y\200\16""8f3" "S{\231\237\267\257\257\303\252\252\276\213\251\251\275\2\255\255\302" "\260\260\305\377\260\260\304\334\260\260\304\3\260\260\305\237\237\262" "}}\214\212xx\206\2\205\205\224\250\250\274\202\260\260\304\7\237\243" "\272;Y\200\16""8f3S{\231\237\267\257\257\303\252\252\276\213\251\251" "\275\1\255\255\302\377\260\260\304\333\260\260\304\203\260\260\305\2" "\244\244\267\204\204\223\212xx\206\2\205\205\224\250\250\274\202\260" "\260\304\7\237\243\272;Y\200\16""8f3S{\231\237\267\257\257\303\252\252" "\276\211\251\251\275\3\251\251\274\252\252\276\260\260\305\252\263\263" "\310\304\262\262\307\276\261\261\306\257\261\261\305\5\255\255\301\254" "\254\300\261\261\305\234\234\256\202\202\221\211xx\206\2\205\205\224" "\250\250\274\202\260\260\304\7\237\243\272;Y\200\16""8f3S{\231\237\267" "\257\257\303\252\252\276\207\251\251\275\202\251\251\274\4\253\253\277" "\262\262\307\271\271\317\273\273\320\252\272\272\320\303\272\272\317" "\1\271\271\317\274\271\271\316\1\270\270\316\257\270\270\315\6\253\253" "\277\234\234\256\251\251\275\260\260\305\235\235\257\202\202\221\210" "xx\206\2\205\205\224\250\250\274\202\260\260\304\7\237\243\272;Y\200" "\16""8f3S{\231\237\267\257\257\303\252\252\276\206\251\251\275\202\251" "\251\274\4\255\255\301\265\265\312\273\273\321\275\275\323\377\274\274" "\322\333\274\274\322\11\275\275\323\271\271\316\244\244\267\227\227\250" "\240\240\263\256\256\302\236\236\261\210\210\230{{\211\206xx\206\2\205" "\205\224\250\250\274\202\260\260\304\7\237\243\272;Y\200\16""8f3S{\231" "\237\267\257\257\303\252\252\276\205\251\251\275\4\251\251\274\251\251" "\275\255\255\301\266\266\314\202\275\275\323\377\274\274\322\335\274" "\274\322\11\275\275\323\271\271\316\242\242\265\216\216\236\235\235\257" "\257\257\304\247\247\273\216\216\237{{\211\205xx\206\2\205\205\224\250" "\250\274\202\260\260\304\7\237\243\272;Y\200\16""8f3S{\231\237\267\257" "\257\303\252\252\276\204\251\251\275\4\251\251\274\251\251\275\257\257" "\303\270\270\316\202\275\275\323\377\274\274\322\337\274\274\322\11\275" "\275\323\271\271\317\241\241\264\216\216\236\234\234\257\261\261\305" "\250\250\274\216\216\237{{\211\204xx\206\2\205\205\224\250\250\274\202" "\260\260\304\7\237\243\272;Y\200\16""8f3S{\231\237\267\257\257\303\252" "\252\276\203\251\251\275\6\251\251\274\251\251\275\257\257\304\272\272" "\320\276\276\325\275\275\323\377\274\274\322\341\274\274\322\11\275\275" "\323\271\271\317\241\241\264\216\216\236\234\234\257\261\261\305\250" "\250\274\216\216\236||\213\203xx\206\2\205\205\224\250\250\274\202\260" "\260\304\7\237\243\272;Y\200\16""8f3S{\231\237\267\257\257\303\252\252" "\276\202\251\251\275\6\251\251\274\252\252\275\261\261\306\273\273\321" "\277\277\325\275\275\323\377\274\274\322\343\274\274\322\11\275\275\323" "\271\271\317\241\241\264\216\216\236\234\234\256\256\256\302\252\252" "\276\227\227\250\202\202\221\202xx\206\2\205\205\224\250\250\274\202" "\260\260\304\16\237\243\272;Y\200\16""8f3S{\231\237\267\257\257\303\252" "\252\276\251\251\275\251\251\274\252\252\275\262\262\307\275\275\323" "\300\300\326\275\275\323\377\274\274\322\345\274\274\322\14\275\275\323" "\271\271\317\241\241\264\213\213\233\221\221\241\251\251\275\260\260" "\304\234\234\256\202\202\221xx\206\205\205\224\250\250\274\202\260\260" "\304\15\237\243\272;Y\200\16""8f3S{\231\237\267\257\257\303\252\252\276" "\251\251\274\252\252\276\262\262\307\275\275\324\301\301\327\275\275" "\324\377\274\274\322\347\274\274\322\13\275\275\323\271\271\317\241\241" "\264\206\206\226\216\216\237\251\251\275\260\260\304\234\234\256\202" "\202\221\205\205\224\250\250\273\202\260\260\304\14\237\243\272;Y\200" "\16""8f3S{\231\237\267\257\257\303\252\252\276\253\253\277\265\265\312" "\277\277\325\301\301\330\276\276\324\377\274\274\322\351\274\274\322" "\12\275\275\323\271\271\317\241\241\264\206\206\226\216\216\237\251\251" "\275\260\260\304\235\235\257\225\225\246\252\252\276\202\260\260\304" "\13\237\243\272;Y\200\16""8f3S{\231\237\267\257\257\303\256\256\302\266" "\266\313\300\300\326\302\302\330\276\276\325\377\274\274\322\353\274" "\274\322\10\275\275\323\271\271\317\241\241\264\206\206\226\216\216\236" "\251\251\274\261\261\305\254\254\301\203\260\260\304\13\237\243\272;" "Y\200\16""8f3S{\231\237\267\260\260\305\267\267\314\301\301\327\302\302" "\331\277\277\325\275\275\323\377\274\274\322\354\274\274\322\7\275\275" "\323\271\271\317\241\241\264\205\205\225\221\221\242\255\255\301\260" "\260\305\203\260\260\304\12\237\243\272;Y\200\16""8f3S{\231\237\267\260" "\260\305\264\264\312\272\272\320\274\274\322\272\272\320\256\272\272" "\317\272\272\272\320\266\273\273\321\1\274\274\321\264\274\274\322\1" "\274\274\321\231\274\274\322\5\275\275\323\271\271\316\241\241\264\224" "\224\245\252\252\276\204\260\260\304\5\237\243\272;Y\200\16""8f3S{\231" "\237\267\202\260\260\304\1\261\261\305\202\262\262\306\255\262\262\307" "\1\262\262\306\271\262\262\307\1\263\263\307\265\263\263\310\266\264" "\264\311\2\264\264\312\265\265\312\231\265\265\313\4\266\266\313\262" "\262\307\251\251\275\257\257\303\204\260\260\304\5\237\243\272;Y\200" "\16""8f3S{\231\237\267\377\260\260\304\244\260\260\304\1\260\260\305" "\265\260\260\304\234\260\260\305\2\260\260\304\260\260\305\204\260\260" "\304\5\237\243\272;Y\200\16""8f4T|\232\240\270\246\261\261\306\202\260" "\260\305\377\260\260\304\324\260\260\304\5\237\243\272;Y\200\16""8f+" "Mwy\207\244\247\214\226\260\1\222\232\263\265\227\235\266\2\230\236\266" "\236\242\272\261\240\244\273\1\242\246\274\263\247\251\277\2\246\251" "\277\252\253\301\265\254\255\302\5\231\237\267:Y\200\16""8f\22;h$Hs\247" "&Jt\1+Nw\2650Qz\2""1Rz9X\177\261\0\0\0\6\0\0\0\177\0\0\0o\223\377\377\377\0\2\0\0\0<\0\0\0\351" "\202\0\0\0\377\5\0\0\0}\377\377\377\0\0\0\0\77\0\0\0\330\0\0\0\367\202" "\0\0\0\377\2\0\0\0\276\0\0\0\26\222\377\377\377\0\6\0\0\0\1\377\377\377" "\0\0\0\0M\0\0\0\244\0\0\0\216\0\0\0\34\202\377\377\377\0\7\0\0\0-\0\0" "\0e\0\0\0l\0\0\0b\0\0\0\32\377\377\377\0\0\0\0\1\222\377\377\377\0\1" "\0\0\0\1\204\377\377\377\0\202\0\0\0\1\205\377\377\377\0\1\0\0\0\1\224" "\377\377\377\0\202\0\0\0\1\205\377\377\377\0\1\0\0\0\1\203\377\377\377" "\0\1\0\0\0\1\223\377\377\377\0\1\0\0\0\1\202\377\377\377\0\1\0\0\0\1" "\205\377\377\377\0\3\0\0\0\335\0\0\0\311\0\0\0A\235\377\377\377\0\3\0" "\0\0\377\0\0\0\356\0\0\0M\235\377\377\377\0\3\0\0\0\377\0\0\0\356\0\0" "\0M\235\377\377\377\0\3\0\0\0\377\0\0\0\356\0\0\0M\235\377\377\377\0" "\3\0\0\0\377\0\0\0\356\0\0\0M\235\377\377\377\0\3\0\0\0\377\0\0\0\356" "\0\0\0M\235\377\377\377\0\3\0\0\0\377\0\0\0\356\0\0\0M\235\377\377\377" "\0\3\0\0\0\377\0\0\0\356\0\0\0M\226\377\377\377\0\1\0\0\0\1\206\377\377" "\377\0\3\0\0\0\377\0\0\0\356\0\0\0M\223\377\377\377\0\202\0\0\0\1\202" "\377\377\377\0\11\0\0\0\15\0\0\0*\0\0\0(\0\0\0)\0\0\0\"\377\377\377\0" "\0\0\0\377\0\0\0\356\0\0\0M\222\377\377\377\0\202\0\0\0\1\4\377\377\377" "\0\0\0\0\27\0\0\0F\0\0\0\235\203\0\0\0\377\5\0\0\0\374\0\0\0\33\0\0\0" "\377\0\0\0\356\0\0\0M\222\377\377\377\0\5\0\0\0\1\377\377\377\0\0\0\0" ":\0\0\0\261\0\0\0\375\205\0\0\0\377\4\0\0\0\260\0\0\0\377\0\0\0\356\0" "\0\0M\223\377\377\377\0\2\0\0\0(\0\0\0\310\211\0\0\0\377\2\0\0\0\356" "\0\0\0M\223\377\377\377\0\1\0\0\0m\212\0\0\0\377\2\0\0\0\356\0\0\0M\223" "\377\377\377\0\1\0\0\0s\212\0\0\0\377\2\0\0\0\356\0\0\0M\223\377\377" "\377\0\2\0\0\0""6\0\0\0\330\211\0\0\0\377\2\0\0\0\326\0\0\0\27\224\377" "\377\377\0\3\0\0\0X\0\0\0\322\0\0\0\376\206\0\0\0\377\4\0\0\0\332\0\0" "\0""9\377\377\377\0\0\0\0\1\221\377\377\377\0\202\0\0\0\1\14\377\377" "\377\0\0\0\0'\0\0\0y\0\0\0\255\0\0\0\321\0\0\0\316\0\0\0\320\0\0\0\301" "\0\0\0\203\0\0\0""3\377\377\377\0\0\0\0\1\223\377\377\377\0\202\0\0\0" "\1\202\377\377\377\0\5\0\0\0\15\0\0\0+\0\0\0)\0\0\0*\0\0\0\35\202\377" "\377\377\0\202\0\0\0\1\226\377\377\377\0\1\0\0\0\1\263\377\377\377\0"}; nted-1.10.18/icons/drum2_icon.h0000664001041000007640000000606411520270060013060 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum2_icon) #endif #ifdef __GNUC__ static const guint8 drum2_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum2_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (941) */ "\0\0\3\305" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\225\377\377\377\0\1\0\0\0C\236\377\377\377\0\2\0\0\0\2\0\0\0\350\236" "\377\377\377\0\2\0\0\0\2\0\0\0\350\236\377\377\377\0\2\0\0\0\2\0\0\0" "\350\236\377\377\377\0\2\0\0\0\2\0\0\0\350\236\377\377\377\0\2\0\0\0" "\2\0\0\0\350\236\377\377\377\0\2\0\0\0\2\0\0\0\350\236\377\377\377\0" "\2\0\0\0\2\0\0\0\350\236\377\377\377\0\2\0\0\0\2\0\0\0\350\236\377\377" "\377\0\2\0\0\0\2\0\0\0\350\236\377\377\377\0\2\0\0\0\2\0\0\0\350\236" "\377\377\377\0\2\0\0\0\2\0\0\0\350\236\377\377\377\0\2\0\0\0\2\0\0\0" "\350\236\377\377\377\0\2\0\0\0\2\0\0\0\350\236\377\377\377\0\2\0\0\0" "\2\0\0\0\350\236\377\377\377\0\2\0\0\0\2\0\0\0\350\236\377\377\377\0" "\2\0\0\0\2\0\0\0\350\236\377\377\377\0\2\0\0\0\2\0\0\0\350\226\377\377" "\377\0\12\0\0\0\4\0\0\0H\0\0\0\204\0\0\0\225\0\0\0\203\0\0\0D\0\0\0\4" "\377\377\377\0\0\0\0\2\0\0\0\350\225\377\377\377\0\13\0\0\0A\0\0\0\305" "\0\0\0\200\0\0\0D\0\0\0)\0\0\0J\0\0\0\226\0\0\0\310\0\0\0""7\0\0\0\2" "\0\0\0\350\224\377\377\377\0\3\0\0\0R\0\0\0\370\0\0\0b\205\377\377\377" "\0\4\0\0\0^\0\0\0\367\0\0\0C\0\0\0\350\223\377\377\377\0\5\0\0\0\31\0" "\0\0\274\0\0\0\241\0\0\0\372\0\0\0Q\203\377\377\377\0\5\0\0\0A\0\0\0" "\364\0\0\0\267\0\0\0\324\0\0\0\350\223\377\377\377\0\15\0\0\0\210\0\0" "\0B\0\0\0\3\0\0\0\241\0\0\0\372\0\0\0Q\377\377\377\0\0\0\0A\0\0\0\365" "\0\0\0\262\0\0\0\6\0\0\0o\0\0\0\350\223\377\377\377\0\15\0\0\0\276\0" "\0\0\1\377\377\377\0\0\0\0\3\0\0\0\240\0\0\0\372\0\0\0\201\0\0\0\365" "\0\0\0\262\0\0\0\7\377\377\377\0\0\0\0\26\0\0\0\350\222\377\377\377\0" "\2\0\0\0\4\0\0\0\270\203\377\377\377\0\5\0\0\0\3\0\0\0\265\0\0\0\377" "\0\0\0\307\0\0\0\7\202\377\377\377\0\2\0\0\0\1\0\0\0\345\222\377\377" "\377\0\2\0\0\0\1\0\0\0\271\203\377\377\377\0\5\0\0\0A\0\0\0\364\0\0\0" "\345\0\0\0\372\0\0\0Q\202\377\377\377\0\2\0\0\0\1\0\0\0\327\223\377\377" "\377\0\15\0\0\0\274\0\0\0\7\377\377\377\0\0\0\0A\0\0\0\364\0\0\0\262" "\0\0\0\11\0\0\0\241\0\0\0\372\0\0\0Q\377\377\377\0\0\0\0,\0\0\0\267\223" "\377\377\377\0\15\0\0\0j\0\0\0e\0\0\0A\0\0\0\365\0\0\0\262\0\0\0\6\377" "\377\377\0\0\0\0\2\0\0\0\241\0\0\0\372\0\0\0Q\0\0\0\224\0\0\0Y\223\377" "\377\377\0\5\0\0\0\10\0\0\0\306\0\0\0\365\0\0\0\262\0\0\0\7\203\377\377" "\377\0\5\0\0\0\3\0\0\0\240\0\0\0\372\0\0\0\307\0\0\0\3\224\377\377\377" "\0\3\0\0\0\"\0\0\0\334\0\0\0O\204\377\377\377\0\4\0\0\0\4\0\0\0h\0\0" "\0\324\0\0\0\34\226\377\377\377\0\11\0\0\0\22\0\0\0\227\0\0\0\311\0\0" "\0\216\0\0\0\202\0\0\0\226\0\0\0\323\0\0\0\214\0\0\0\21\231\377\377\377" "\0\5\0\0\0\12\0\0\0=\0\0\0I\0\0\0:\0\0\0\7\216\377\377\377\0"}; nted-1.10.18/icons/natural_icon.h0000664001041000007640000000353211520270060013472 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (natural_icon) #endif #ifdef __GNUC__ static const guint8 natural_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 natural_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (405) */ "\0\0\1\255" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\310\377\377\377\0\1\0\0\0\377\237\377\377\377\0\1\0\0\0\377\237\377" "\377\377\0\1\0\0\0\377\237\377\377\377\0\1\0\0\0\377\237\377\377\377" "\0\1\0\0\0\377\237\377\377\377\0\1\0\0\0\377\237\377\377\377\0\1\0\0" "\0\377\237\377\377\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377\232" "\377\377\377\0\1\0\0\0\377\202\377\377\377\0\203\0\0\0\377\232\377\377" "\377\0\206\0\0\0\377\232\377\377\377\0\206\0\0\0\377\232\377\377\377" "\0\206\0\0\0\377\232\377\377\377\0\203\0\0\0\377\202\377\377\377\0\1" "\0\0\0\377\232\377\377\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377" "\232\377\377\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377\232\377" "\377\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377\232\377\377\377" "\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377\232\377\377\377\0\1\0\0" "\0\377\202\377\377\377\0\203\0\0\0\377\232\377\377\377\0\206\0\0\0\377" "\232\377\377\377\0\206\0\0\0\377\232\377\377\377\0\206\0\0\0\377\232" "\377\377\377\0\203\0\0\0\377\202\377\377\377\0\1\0\0\0\377\232\377\377" "\377\0\1\0\0\0\377\204\377\377\377\0\1\0\0\0\377\237\377\377\377\0\1" "\0\0\0\377\237\377\377\377\0\1\0\0\0\377\237\377\377\377\0\1\0\0\0\377" "\237\377\377\377\0\1\0\0\0\377\237\377\377\377\0\1\0\0\0\377\237\377" "\377\377\0\1\0\0\0\377\237\377\377\377\0\1\0\0\0\377\222\377\377\377" "\0"}; nted-1.10.18/icons/arpeggio_icon.h0000664001041000007640000001525711520270060013630 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (arpeggio_icon) #endif #ifdef __GNUC__ static const guint8 arpeggio_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 arpeggio_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (2287) */ "\0\0\11\7" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\227\377\377\377\0\4\0\0\0\27\0\0\0\263\0\0\0c\0\0\0\1\211\377\377\377" "\0\5\0\0\0\1UU\0\3%\37\0)\0\32>\35\0\0\0\2\216\377\377\377\0\4\0\0\0" "\26\0\0\0\262\0\0\0b\0\0\0\1\212\377\377\377\0\6@@\0\4\37\15\0r\0\23" "+\270\0\16\32n\0\27\27\13\0\0\0\2\205\377\377\377\0\1\0\0\0\1\202\377" "\377\377\0\11\0\0\0\1\0\0\0\4\0\0\0\5\0\0\0\6\0\10\10\37\0\0\0\302\0" "\0\0f\0\0\0\2\0\0\0\1\212\377\377\377\0\6\306w\0-]'\0\302\0*T\303\0a" "\2477\0\200\252\6\0\0\0\1\204\377\377\377\0\12\0\0\0\6\0\0\0\7R%\0\"" ")\17\0c\20\7\0\302\4\1\0\324\0\4\10\323\0\12\25\305\0\4\12\344\0\0\0" "d\202\0\0\0\2\212\377\377\377\0\6\377\377\0\3\306i\0\201\35\17\0\364" "\0'P\323\0Z\242R\0\231\377\5\204\377\377\377\0\5\0\0\0\1\266p\0;E\33" "\0\253\31\10\0\364\1\0\0\377\202\0\0\0\377\4\0\2\4\376\0\6\16\374\0\0" "\0d\0\0\0\2\213\377\377\377\0\6\377\333\0\7\263Y\0\214\36\16\0\373\0" "\3\7\376\0$V\345\0sw<\203\377\377\377\0\4\0\377\377\1\345\236\0""2U\36" "\0\322\13\4\0\377\206\0\0\0\377\2\0\0\0e\0\0\0\2\212\377\377\377\0\7" "\377\277\0\4\246^\0_>\34\0\344\3\0\0\377\0\6\16\374\0""4j\305|\206\0" "N\203\377\377\377\0\3\40\237\0\20{;\0\254\17\5\0\376\206\0\0\0\377\3" "\0\0\1\377\0\2\5f\0\0\0\2\212\377\377\377\0\7\302o\0S;\31\0\342\6\0\0" "\377\0\2\5\375\0,_\271\0m\2706\355\276\0+\203\377\377\377\0\3\334\270" "\0$W\"\0\304\7\0\0\377\205\0\0\0\377\4\0\3\10\377\0\11\27\376\0\5\5f" "\0\0\0\2\210\377\377\377\0\11\0\0\0\1""99\0\11K\33\0\276\3\0\0\377\0" "\0\0\377\0\15-\361\0:n,\0\40@\10\277\277\0\4\203\377\377\377\0\3\377" "\304\0\15\217@\0\240\21\7\0\371\203\0\0\0\377\6\0\0\1\377\0\1\2\371\0" "#R\335\0\20\32\316\0\0\0`\0\0\0\1\211\377\377\377\0\10\0\0\0\7a6\0v)" "\22\0\347\6\0\0\377\0\24""5\361\0H\207@\0I[\16\0\0\0\5\203\377\377\377" "\0\14\0\0\0\1""5*\0\30;\33\0z\6\1\0\305\3\1\0\342\0\1\3\341\0\4\15\313" "\0\25""1|\0\13\20/\0\0\0\262\0\0\0`\0\0\0\3\212\377\377\377\0\7\325\252" "\0\6\231S\0_B\31\0\331\5\0\1\373\0#L\330\0Y\236Y\0\222\333\7\203\377" "\377\377\0\1\0\0\0\1\202\0\0\0\2\11\36\17\0\"\17\4\0F\0\7\17F\0\22$*" "\0\0\0\12\0\0\0'\0\0\0\262\0\0\0e\0\0\0\3\213\377\377\377\0\6\356\252" "\0\17\232E\0\237\31\11\0\375\0\3\7\377\0#U\352\0{\275>\203\377\377\377" "\0\2\0\377\377\2\0\200\377\2\206\377\377\377\0\4\0\0\0\26\0\0\0\262\0" "\0\0d\0\0\0\2\212\377\377\377\0\7\314\314\0\5\242X\0e:\32\0\346\3\0\0" "\377\0\10\21\374\0""6m\300\0\200\306$\203\377\377\377\0\202\0\333\377" "\16\202\377\377\377\0\10\377\266\0\7d.\0!\27\6\0-\0\14$+\0(O-\0\0\1\264" "\0\0\0d\0\0\0\2\211\377\377\377\0\10\377\377\0\2\301o\0Z5\26\0\345\5" "\0\0\377\0\2\6\376\0""3k\311\0q\2724\0\377\377\2\203\377\377\377\0\202" "\0\377\377\3\12\377\277\0\4\241^\0\0!\203" "\377\377\377\0\3\0\0\0\4\207S\0b2\17\0\363\207\0\0\0\377\3\0\0\0e\0\0" "\0\2\0\0\0\1\210\377\377\377\0\10\0\0\0\1*\0\0\6tC\0XD\32\0\326\6\0\0" "\374\0\33""9\345\0L\210k\270\222\0D\203\377\377\377\0\3fM\0\24\77\24" "\0\263\7\2\0\377\206\0\0\0\377\4\0\0\1\377\0\0\3^\0\0\0\6\0\0\0\1\212" "\377\377\377\0\6\337\237\0\20\227E\0\240\31\11\0\375\0\2\5\377\0!S\356" "\0j^A\203\377\377\377\0\3\330\252\0!\\%\0\300\10\1\0\377\205\0\0\0\377" "\4\0\11\27\373\0\16!\365\0\3\3d\0\0\0\2\212\377\377\377\0\7\314\231\0" "\5\236W\0l6\27\0\347\2\0\0\377\0\10\22\373\0""8p\272\0\207\312\"\203" "\377\377\377\0\4\0\310\222\16\215R\0p0\26\0\350\2\0\0\377\202\0\0\0\377" "\6\0\1\6\377\0\17#\352\0""3j\241\0\13\17\275\0\0\0d\0\0\0\2\211\377\377" "\377\0\10\377\377\0\2\302p\0`0\23\0\350\5\0\0\377\0\3\6\376\0""4o\305" "\0r\276/\0\377\377\2\203\377\377\377\0\14\0\377\377\3\271\271\0\13s8" "\0I/\30\0\201\20\5\0\235\0\10\23\235\0\26""5}\0""6mK\0""5K\"\0\0\0\262" "\0\0\0d\0\0\0\2\211\377\377\377\0\7\377\326\0\31s*\0\303\4\0\0\377\0" "\0\0\377\0\32W\361\0\236\3402\0\377\377\1\206\377\377\377\0\12\377\377" "\0\1\200U\0\6""3\31\0\12\0\31""3\12\0""3\231\5\0\377\377\1\0\0\0\26\0" "\0\0\262\0\0\0d\0\0\0\2\210\377\377\377\0\11\0\0\0\1@@\0\4\271g\0T\22" "\3\0\305\3\0\0\377\0\35I\361\0""0EJ\0**\6\0\0\0\3\213\377\377\377\0\4" "\0\0\0\26\0\0\0\262\0\0\0d\0\0\0\2\210\377\377\377\0\11\0\0\0\1\0\0\0" "\3\0\0\0\4<#\0""31\21\0\306\7\1\0\375\0\17$\335\0;og\0;N\15\203\377\377" "\377\0\202\0\0\0\2\13\377\377\377\0\0\0\0\6\14\14\0,\20\10\0\201\4\2" "\0\203\0\0\5""8\0\0\0\36\0\0\0\262\0\0\0d\0\0\0\2\0\0\0\1\212\377\377" "\377\0\6\337\237\0\20\224C\0\240\30\11\0\375\0\1\2\377\0\37P\363\0s\265" ">\203\377\377\377\0\202\0\200\200\4\13hF\0,\\2\0\213*\20\0\244\2\1\0" "\362\0\0\0\373\0\0\0\363\0\3\7\357\0\11\25\366\0\10\10y\0\0\0\3\0\0\0" "\1\211\377\377\377\0\7\325\252\0\6\232U\0r2\25\0\351\2\0\0\377\0\12\25" "\373\0:s\264\0\200\207\40\203\377\377\377\0\4\0\321\377\13\205\231\0" "\31t8\0\245\35\12\0\377\206\0\0\0\377\2\0-7}\0U\252\3\211\377\377\377" "\0\10\377\377\0\2\301n\0f+\20\0\353\4\0\0\377\0\3\7\376\0""7u\302\0w" "\304+\365\277\0""4\203\377\377\377\0\3\200\325\0\6\257X\0\202#\13\0\370" "\207\0\0\0\377\2\0.8{\0U\252\3\211\377\377\377\0\10\377\326\0\31t+\0" "\304\4\0\0\377\0\0\0\377\0#a\354\0\250\354)\0\377\377\1\367\273\0@\203" "\377\377\377\0\3\367\271\0!`$\0\301\10\1\0\377\205\0\0\0\377\3\0\2\6" "\377\0)N\334\0`\243=\212\377\377\377\0\10\377\377\0\2\300n\0Q=\32\0\334" "\11\0\0\377\0D\224\335\0\377\377\10\377\377\377\0\377\350\0\13\203\377" "\377\377\0\3\365\302\0\31x4\0\266\13\3\0\376\205\0\0\0\377\3\0\33@\353" "\0[\247e\0\333\377\7\213\377\377\377\0\5\377\252\0\3\245]\0JS$\0\317" "\0\14""7\350\0\232\346G\205\377\377\377\0\4\377\377\0\3\277m\0DO%\0\326" "\4\0\0\377\202\0\0\0\377\4\0\2\13\377\0\37D\331\0Q\223U\0\263\377\12" "\215\377\377\377\0\6\377\377\0\1\335\231\0\36u6\0\244\0\27F\273\0{\325" "<\0\377\377\1\204\377\377\377\0\10\377\377\0\1\252U\0\11{E\0""4!\14\0" "T\0\17(S\0A\202/\0\177\263\12\0\377\377\1\220\377\377\377\0\4\322\226" "\0\21""8\21\0I\0_\304+\0\377\377\1\264\377\377\377\0"}; nted-1.10.18/icons/drum2_icon_small.png0000664001041000007640000000071011520267227014610 00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ  $û#›HIDAT8Ë¥Ó½jUQÅñßÜ{ñ&"ˆ"‚`eme -ü be#Ú¥"bã3Xò>@| HD"¨©ì,Ó*VŠbH ‘±™\v67…dàÀaÖšuÿ=;2ÓÿVD23 ±F‡|a„[¸ŠSøŽwXÏ̽Ö;˜2<_æ+XÇ3làÞGÄeÄd63'O™vð í7ú}lãNf¦V<‡7xŽ]Üí†çñkøŒÅ>`71ìCjx «8†'xѼEÔû+ò´—~ß&u¯º_â%² Ž-ð¥Ýƒ¿ÕlëzÁúŠ9Üîô_N¡Ž;`«˜Âä"Özñ°VÚ  ©ÝXèfð±Ö1Ù»á€2]À&îLY¢ÕœßïG#â4–p ŠÅ\Ãk,eæ‰ÿ°ëÇ‹þ üħÌüÓûþ™Àú(ÔU:IEND®B`‚nted-1.10.18/icons/lyrics_icon.png0000664001041000007640000000064711520267227013705 00000000000000‰PNG  IHDR szzôbKGDÿÿÿ ½§“ pHYs M MÒέNtIME×  u‡Hh4IDATXÃíÖ±JCAÐ3¢‚•‚e°P±°³ÐJRYˆVVVZ)‚…~‚_`'þ€XÙ¦J-)õ„€ j)k³Å3¤I4/¢YØÝywgîÌ}‘R2Ì5fÈëoˆˆ‡ˆ¨3LŽ80ð¿DÄyDÌö ¥Ô“å6»@;[ÂKÞ`³—xã}`>ÄAÇÝt™%¸úIô“gc»‹¯…FOÉqï}gZh µae`«˜ú%ÿv„PÅ)æóÍ+ö%ïee =Üg[Á­PÈ(NR5ïò¹™¤‚é‹£¸ãÖ åXÆIٸĮË'a8à Ö%wRî–•9Ôð”?¾ØE)ÚGù %´qShÇQàljQ˜D É[ÉËÙû˜±Ž'Is¤†¿À'àÑ×–~~(IEND®B`‚nted-1.10.18/icons/ped_on_icon.h0000664001041000007640000000737611520270060013302 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (ped_on_icon) #endif #ifdef __GNUC__ static const guint8 ped_on_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 ped_on_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (1211) */ "\0\0\4\323" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\221\377\377\377\0\2\0\0\0\\\0\0\0\336\236\377\377\377\0\2\0\0\0\\\0" "\0\0\336\236\377\377\377\0\2\0\0\0\\\0\0\0\336\236\377\377\377\0\2\0" "\0\0\\\0\0\0\336\236\377\377\377\0\2\0\0\0\\\0\0\0\336\236\377\377\377" "\0\2\0\0\0\\\0\0\0\336\236\377\377\377\0\2\0\0\0\\\0\0\0\336\236\377" "\377\377\0\2\0\0\0\\\0\0\0\336\236\377\377\377\0\2\0\0\0\\\0\0\0\336" "\236\377\377\377\0\2\0\0\0\\\0\0\0\336\236\377\377\377\0\2\0\0\0\\\0" "\0\0\336\236\377\377\377\0\2\0\0\0\\\0\0\0\336\231\377\377\377\0\2\0" "\0\0\3\0\0\0""9\203\0\0\0q\2\0\0\0\244\0\0\0\336\230\377\377\377\0\2" "\0\0\0\36\0\0\0\234\205\0\0\0\377\1\0\0\0\336\227\377\377\377\0\2\0\0" "\0\1\0\0\0\331\206\0\0\0\377\1\0\0\0\336\227\377\377\377\0\1\0\0\0U\207" "\0\0\0\377\1\0\0\0\336\227\377\377\377\0\1\0\0\0\250\207\0\0\0\377\1" "\0\0\0\265\227\377\377\377\0\1\0\0\0\201\206\0\0\0\377\2\0\0\0\267\0" "\0\0\7\227\377\377\377\0\2\0\0\0\23\0\0\0\243\203\0\0\0\377\3\0\0\0\331" "\0\0\0\217\0\0\0\15\227\377\377\377\0\3\0\0\0&\0\0\0'\0\0\0\24\203\0" "\0\0\12\1\0\0\0\6\226\377\377\377\0\10\0\0\0\2\0\0\0l\0\0\0\276\0\0\0" "\332\0\0\0\276\0\0\0\263\0\0\0\241\0\0\0\13\227\377\377\377\0\16\0\0" "\0""0\0\0\0\321\0\0\0\212\0\0\0\20\0\0\0\263\0\0\0\37\0\0\0\10\0\0\0" "u\0\0\0\266\377\377\377\0\0\0\0o\0\0\0u\0\0\0\40\0\0\0\2\221\377\377" "\377\0\20\0\0\0\6\0\0\0\305\0\0\0o\377\377\377\0\0\0\0G\0\0\0\212\377" "\377\377\0\0\0\0m\377\377\377\0\0\0\0\325\0\0\0\35\0\0\0:\0\0\0\204\0" "\0\0\354\0\0\0\256\0\0\0""8\220\377\377\377\0\13\0\0\0\36\0\0\0\336\0" "\0\0\23\0\0\0\212\0\0\0\214\0\0\0\322\0\0\0\7\0\0\0\264\0\0\0\350\0\0" "\0\373\0\0\0R\202\377\377\377\0\4\0\0\0\21\0\0\0\264\0\0\0\370\0\0\0" "W\217\377\377\377\0\13\0\0\0|\0\0\0\353\0\0\0\262\0\0\0\255\0\0\0F\0" "\0\0\375\0\0\0`\0\0\0""2\0\0\0\312\0\0\0\265\377\377\377\0\202\0\0\0" "=\5\377\377\377\0\0\0\0\23\0\0\0\342\0\0\0\371\0\0\0Z\216\377\377\377" "\0\23\0\0\0\36\0\0\0\371\0\0\0\377\0\0\0g\377\377\377\0\0\0\0\276\0\0" "\0\365\0\0\0L\0\0\0\10\0\0\0\5\0\0\0i\0\0\0\346\0\0\0\347\0\0\0\34\0" "\0\0)\0\0\0\371\0\0\0\365\0\0\0\370\0\0\0+\216\377\377\377\0\2\0\0\0" "8\0\0\0R\202\377\377\377\0\16\0\0\0\35\0\0\0\356\0\0\0\345\377\377\377" "\0\0\0\0\15\0\0\0\304\377\377\377\0\0\0\0\363\0\0\0+\0\0\0\317\0\0\0" "j\0\0\0""6\0\0\0\377\0\0\0\254\222\377\377\377\0\16\0\0\0\2\0\0\0\275" "\0\0\0Z\377\377\377\0\0\0\0\15\0\0\0\337\0\0\0\231\0\0\0H\377\377\377" "\0\0\0\0\362\0\0\0H\0\0\0\13\0\0\0\330\0\0\0\370\222\377\377\377\0\16" "\0\0\0\204\0\0\0\276\0\0\0\36\377\377\377\0\0\0\0&\0\0\0\377\0\0\0l\377" "\377\377\0\0\0\0;\0\0\0\372\0\0\0H\377\377\377\0\0\0\0\252\0\0\0\370" "\220\377\377\377\0\22\0\0\0\31\0\0\0\300\0\0\0\203\0\0\0\233\0\0\0\351" "\0\0\0\270\0\0\0\326\0\0\0\375\0\0\0\231\0\0\0\31\0\0\0\307\0\0\0\374" "\0\0\0w\0\0\0\11\0\0\0\317\0\0\0\237\0\0\0F\0\0\0\31\215\377\377\377" "\0\23\0\0\0\4\0\0\0\332\0\0\0\254\0\0\0\2\0\0\0C\0\0\0\373\0\0\0\274" "\0\0\0\14\0\0\0\215\0\0\0\377\0\0\0\314\0\0\0\26\0\0\0l\0\0\0\360\0\0" "\0\260\0\0\0\332\0\0\0%\0\0\0\377\0\0\0\235\215\377\377\377\0\3\0\0\0" "\4\0\0\0\203\0\0\0\12\202\377\377\377\0\6\0\0\0-\0\0\0\17\377\377\377" "\0\0\0\0\13\0\0\0[\0\0\0\24\202\377\377\377\0\6\0\0\0#\0\0\0[\0\0\0\20" "\0\0\0\1\0\0\0[\0\0\0\36\207\377\377\377\0"}; nted-1.10.18/icons/arrow_right_icon.h0000664001041000007640000000473311520270060014357 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (arrow_right_icon) #endif #ifdef __GNUC__ static const guint8 arrow_right_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 arrow_right_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (775) */ "\0\0\3\37" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (104) */ "\0\0\0h" /* width (26) */ "\0\0\0\32" /* height (26) */ "\0\0\0\32" /* pixel_data: */ "\204\0\0\0\0\3\0\0\0l\0\0\0*\0\0\0\2\227\0\0\0\0\4\0\0\0\312\0\0\0\275" "\0\0\0K\0\0\0\16\226\0\0\0\0\5\0\0\0\316\0\0\0\375\0\0\0\334\0\0\0q\0" "\0\0\30\225\0\0\0\0\6\0\0\0\316\0\0\0\377\0\0\0\376\0\0\0\352\0\0\0\245" "\0\0\0\22\224\0\0\0\0\1\0\0\0\316\203\0\0\0\377\5\0\0\0\373\0\0\0\306" "\0\0\0R\0\0\0\11\0\0\0\1\221\0\0\0\0\1\0\0\0\316\204\0\0\0\377\4\0\0" "\0\376\0\0\0\327\0\0\0x\0\0\0\31\221\0\0\0\0\1\0\0\0\316\206\0\0\0\377" "\4\0\0\0\364\0\0\0\223\0\0\0""3\0\0\0\1\217\0\0\0\0\1\0\0\0\316\207\0" "\0\0\377\4\0\0\0\366\0\0\0\277\0\0\0=\0\0\0\11\216\0\0\0\0\1\0\0\0\316" "\210\0\0\0\377\5\0\0\0\374\0\0\0\340\0\0\0p\0\0\0\21\0\0\0\1\214\0\0" "\0\0\1\0\0\0\316\212\0\0\0\377\4\0\0\0\360\0\0\0\253\0\0\0(\0\0\0\3\213" "\0\0\0\0\1\0\0\0\316\214\0\0\0\377\3\0\0\0\264\0\0\0P\0\0\0\11\212\0" "\0\0\0\1\0\0\0\316\214\0\0\0\377\4\0\0\0\376\0\0\0\330\0\0\0q\0\0\0\26" "\211\0\0\0\0\1\0\0\0\316\215\0\0\0\377\4\0\0\0\375\0\0\0\357\0\0\0\227" "\0\0\0\16\210\0\0\0\0\1\0\0\0\316\216\0\0\0\377\3\0\0\0\364\0\0\0\313" "\0\0\0""3\210\0\0\0\0\1\0\0\0\316\214\0\0\0\377\5\0\0\0\376\0\0\0\346" "\0\0\0\222\0\0\0\37\0\0\0\1\210\0\0\0\0\1\0\0\0\316\214\0\0\0\377\4\0" "\0\0\340\0\0\0d\0\0\0\32\0\0\0\1\211\0\0\0\0\1\0\0\0\316\213\0\0\0\377" "\3\0\0\0\270\0\0\0F\0\0\0\7\213\0\0\0\0\1\0\0\0\316\210\0\0\0\377\5\0" "\0\0\376\0\0\0\350\0\0\0\230\0\0\0&\0\0\0\2\214\0\0\0\0\1\0\0\0\316\210" "\0\0\0\377\3\0\0\0\315\0\0\0o\0\0\0\13\216\0\0\0\0\1\0\0\0\316\206\0" "\0\0\377\4\0\0\0\365\0\0\0\311\0\0\0""6\0\0\0\12\217\0\0\0\0\1\0\0\0" "\316\205\0\0\0\377\3\0\0\0\364\0\0\0\220\0\0\0""2\221\0\0\0\0\1\0\0\0" "\316\203\0\0\0\377\5\0\0\0\375\0\0\0\331\0\0\0g\0\0\0\27\0\0\0\1\221" "\0\0\0\0\1\0\0\0\316\202\0\0\0\377\3\0\0\0\370\0\0\0\271\0\0\0G\224\0" "\0\0\0\5\0\0\0\316\0\0\0\376\0\0\0\345\0\0\0\233\0\0\0\37\225\0\0\0\0" "\5\0\0\0\315\0\0\0\340\0\0\0m\0\0\0\31\0\0\0\1\225\0\0\0\0\3\0\0\0\232" "\0\0\0""4\0\0\0\13\223\0\0\0\0"}; nted-1.10.18/icons/drum2_icon.png0000664001041000007640000000100411520267227013415 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIME× 9Ïˤ „IDATXÃí×=kQÆñßÙ ®ˆ"¢`ÒÙi¡…/ÄXÙHÒ¥IÄÆÏ`ðøL%¶Š¨ Á¸•¥…!•¢|A9¹Â0˜]fI3¦™sç>ÿ¹óœ3÷Ffê:"b!3_¶Û5@D °•™'ÚŒØçèz€ èz€`ßf&ØpÌà*.à>ã562óÏTW "æ‹ØylàFX›ˆ87ödf««ˆüÄêùüÀ¶[ÏÛRü$^`¿±ØÈÏã;žâý4îâ ª&DßÁ#Àíi¼ªí +Ü/wjâÃ’?Þ)@©”g{ž ‹ ‡µ\àS[€6Uð·LZK¸Œ-œÅµFþ[ge˜»¯UEİVŠËg™Ã<ŒˆÅòÈi|ì´ q 7š†+¹Aݘ¥7,wmƒxÛ4\Ãÿ9BÕ)@™Å\ßè7K8ÕvÎÌïpG±†3Ø,Íç.â9Ö2óËXí}’ÓqD*î?Œ¯x—™¿&ùþbªu›ã| mIEND®B`‚nted-1.10.18/icons/drum5_icon.png0000664001041000007640000000057511520267227013434 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIME× 5½ª€ýIDATXÃí×+NAÐW€Z>AbƒÂa¸ŸC`1p€•\`I8š‹Kp Áf 3»;lHº’=5]ý¦Ò#:2Ó¤#""kžiaóÑ™  i@@@@üo@D,O ˈØ07ÆÚCìa%"¶2óãÏ:]œà›8ù32³Ñ@à÷XÄž°Tå{HtjÕp„vªù^Ðo€.žq6ôüïXo 0Üú¡ÜqÕ&àKë¿ÉïW_7D;duêïð€Ó^›E«Õ|>3_­]pŽÝ†?ØFf¾MÐf|Ò’ ,°rIEND®B`‚nted-1.10.18/icons/eightnote_icon.h0000664001041000007640000000543711520270060014020 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (eightnote_icon) #endif #ifdef __GNUC__ static const guint8 eightnote_icon[] __attribute__ ((__aligned__ (4))) = #else static const guint8 eightnote_icon[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (729) */ "\0\0\2\361" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (128) */ "\0\0\0\200" /* width (32) */ "\0\0\0\40" /* height (32) */ "\0\0\0\40" /* pixel_data: */ "\206\377\377\377\0\224\0\221\0\7\214\377\377\377\0\224\0\221\0\7\214" "\377\377\377\0\224\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0" "\377\210\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\210\0" "\221\0\7\214\377\377\377\0\213\0\221\0\7\202\0\0\0\377\207\0\221\0\7" "\214\377\377\377\0\213\0\221\0\7\202\0\0\0\377\207\0\221\0\7\214\377" "\377\377\0\213\0\221\0\7\203\0\0\0\377\206\0\221\0\7\214\377\377\377" "\0\213\0\221\0\7\203\0\0\0\377\206\0\221\0\7\214\377\377\377\0\213\0" "\221\0\7\204\0\0\0\377\205\0\221\0\7\214\377\377\377\0\213\0\221\0\7" "\2\0\0\0\377\0\221\0\7\203\0\0\0\377\204\0\221\0\7\214\377\377\377\0" "\213\0\221\0\7\1\0\0\0\377\202\0\221\0\7\202\0\0\0\377\204\0\221\0\7" "\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\203\0\221\0\7\202\0\0\0" "\377\203\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\204\0" "\221\0\7\1\0\0\0\377\203\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1" "\0\0\0\377\204\0\221\0\7\202\0\0\0\377\202\0\221\0\7\214\377\377\377" "\0\213\0\221\0\7\1\0\0\0\377\205\0\221\0\7\1\0\0\0\377\202\0\221\0\7" "\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\205\0\221\0\7\1\0\0\0\377" "\202\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\205\0\221" "\0\7\1\0\0\0\377\202\0\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0" "\0\377\205\0\221\0\7\1\0\0\0\377\202\0\221\0\7\214\377\377\377\0\213" "\0\221\0\7\1\0\0\0\377\204\0\221\0\7\1\0\0\0\377\203\0\221\0\7\214\377" "\377\377\0\213\0\221\0\7\1\0\0\0\377\204\0\221\0\7\1\0\0\0\377\203\0" "\221\0\7\214\377\377\377\0\213\0\221\0\7\1\0\0\0\377\210\0\221\0\7\214" "\377\377\377\0\213\0\221\0\7\1\0\0\0\377\210\0\221\0\7\214\377\377\377" "\0\206\0\221\0\7\1\377\377\377\0\202\0\0\0\377\202\0\221\0\7\1\0\0\0" "\377\210\0\221\0\7\214\377\377\377\0\205\0\221\0\7\207\0\0\0\377\210" "\0\221\0\7\214\377\377\377\0\204\0\221\0\7\210\0\0\0\377\210\0\221\0" "\7\217\377\377\377\0\211\0\0\0\377\202\377\377\377\0\206\0\221\0\7\214" "\377\377\377\0\203\0\221\0\7\210\0\0\0\377\211\0\221\0\7\214\377\377" "\377\0\203\0\221\0\7\210\0\0\0\377\211\0\221\0\7\214\377\377\377\0\204" "\0\221\0\7\206\0\0\0\377\212\0\221\0\7\214\377\377\377\0\205\0\221\0" "\7\203\0\0\0\377\214\0\221\0\7\214\377\377\377\0\224\0\221\0\7\206\377" "\377\377\0"}; nted-1.10.18/icons/cut_icon.png0000664001041000007640000000177611520267227013177 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs  ÒÝ~ütIMEÙ  )ùŒz~IDATXÃÕ—1Hr]ÇÿWß2Í[Rƒ$å4;4AƒSMMÑÔdÐPMÍA´6A‰¤eƒa ¥Tfz¯çÿN^ðëýʼ/ô}.—óÜsžû;Ïù?ç€:ZµZåþþ>UUíØ‡:ÚÛÛ¶··!„èØ‡.0™L ùs IÒÏèiºHê ÿ·þù³t:b±ˆl6 !†–í‚Ils$IH’’¸½½ÅÁÁquu…Øl6ôöö"#bppPƒø4G¾³gEa<§Ûí&Úívú|>f2ær9& ...2 òôô”$)„øÔg[BV«U.--Ñh4ƒÁ “É$Ãá0ëõº6îññ‘¡Pˆ²,3N ÑvvwwµŸË²Ìd2Ér¹ÌP(DUUY*•¸¼¼LY–i0€sss\GMò››ʲLÀH$B!ŸŸŸ‡Y©T8??¯}o>^¯—…B¡s)n&ÏÖÖŠÅ¢fZBJ’„|>“““óßßßQ¯×õm×—µØúúúZú‡N§óÃÜááa8}¹\OOOŒLsß÷÷÷cccG3>>ŽÕÕUtwwêÿW;OUÕ[Sl„¨T*BÀår!#•JÁl6ctt“““-Ò@;MUUø|>¨ªŠH$òw¥ØjµÂd2µN2´·ÅbÑúcccB@Q(Š‚»»;T«ÕO•ðK€¡¡!ȲüÇ0$I ƒÁ€®®.(Š‚µµ5<<<èÀôôt‹­T*ýë¶mê>ŸG¡P€Õjí élaa‹E³_\\|Z°`ggçCô:*FB®¯¯k çt:™ÍfùúúÊP(ôAni³Ùxvvöwj‚år™³³³šÎÏÌÌ0ŸÏ(Fétšn·›+++mÕ˜o•ãr¹ÌX,F»ÝNôûýôûý¼¾¾f&“áÞÞ'&&‹ÅX«ÕÚ*Çß>(Š‚óóslnnâòò÷÷÷p¹\°Z­p:˜ššB4EOOO{‡ÕN.ÍU% z½^¦R)6 ªªÊF£¡}ÿjõ$Ù‘6W Ë2FFF4-øîq]÷±\Ïàÿ/øOÔjµŸ»šÍfD£QÆŽ}ü\V¿¢û«Ø@IEND®B`‚nted-1.10.18/icons/drum5_icon_small.png0000664001041000007640000000051111520267227014612 00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs M MÒέNtIMEÙ  \° ,ÉIDAT8ËÍÓ!NCQ…áïP A0Q…Çâ€M°’.‚ T qXؾ’„@hP5 æ5—÷ʃN2âNîü÷LfnªÊ:Ú°¦V’ìü$¸Kr²’PU õÞë)ã ÷øÀÅ`Ò>a 7xÅöPÀ¤yõ´9àÓ_¬_·ò—X`é´­·›xÁ-Žú߬w´vÞLe†Ýe>U%ÉxÆUÏÄG˜bóª:¶ì'É g¿ÜâêZä¦!úÙú{† ]³IEND®B`‚nted-1.10.18/icons/drum3_icon.png0000664001041000007640000000040211520267227013417 00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÙ !7^åÄ•tEXtCommentCreated with GIMPW]IDATXÃí—1 Á'ùÿ¿ÕÝÄÁˆ ÝI.×.ˆØfJpp{0¢‰ @€éÐÚ,,¤5«-„ÐË×Ò`mt8TVo„§*´•Ý‚¦Ý€û/XÎÀs¡ö a«šO·IEND®B`‚nted-1.10.18/icons/drum8_icon_small.h0000664001041000007640000000250411520270060014251 00000000000000/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ #ifdef __SUNPRO_C #pragma align 4 (drum8_icon_small) #endif #ifdef __GNUC__ static const guint8 drum8_icon_small[] __attribute__ ((__aligned__ (4))) = #else static const guint8 drum8_icon_small[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (287) */ "\0\0\1""7" /* pixdata_type (0x2010002) */ "\2\1\0\2" /* rowstride (64) */ "\0\0\0@" /* width (16) */ "\0\0\0\20" /* height (16) */ "\0\0\0\20" /* pixel_data: */ "\226\377\377\377\0\3\0\0\0\4\0\0\0\33\0\0\0\6\215\377\377\377\0\3\0\0" "\0(\0\0\0\377\0\0\0""6\215\377\377\377\0\3\0\0\0(\0\0\0\377\0\0\0""6" "\215\377\377\377\0\3\0\0\0(\0\0\0\377\0\0\0""6\215\377\377\377\0\3\0" "\0\0(\0\0\0\377\0\0\0""6\215\377\377\377\0\3\0\0\0(\0\0\0\377\0\0\0""6" "\210\377\377\377\0\1\0\0\0c\204\0\0\0\274\3\0\0\0\306\0\0\0\377\0\0\0" "\312\203\0\0\0\274\3\0\0\0\252\0\0\0\217\0\0\0\2\202\377\377\377\0\1" "\0\0\0U\204\0\0\0\241\3\0\0\0\260\0\0\0\377\0\0\0\265\205\0\0\0\241\1" "\0\0\0\3\207\377\377\377\0\3\0\0\0(\0\0\0\377\0\0\0""6\215\377\377\377" "\0\3\0\0\0(\0\0\0\377\0\0\0""6\215\377\377\377\0\3\0\0\0(\0\0\0\377\0" "\0\0""6\215\377\377\377\0\3\0\0\0(\0\0\0\377\0\0\0""6\215\377\377\377" "\0\3\0\0\0(\0\0\0\377\0\0\0""6\247\377\377\377\0"}; nted-1.10.18/icons/drum6_icon_small.png0000664001041000007640000000063311520267227014620 00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÙ  :ÊøÑßtEXtCommentCreated with GIMPWöIDAT8ËÅ“1JƒA…¿·ù„ ¦b!ØH´I#æ eëÒë Ò¥òž E¼„ ØØ)Iž…îÏÙM ¦˜å½·ófwd›U"°bd$iiIæ¿ rŒùŸ.Nèîlð Š‚IÇ’Òvm/äð”KÀ€Yk½R4o‹Àà ˜”± d°lÓkó^‰€i4g¨xŠuÄ'Úúj½sÈ}u´uðÀì#”gÓ£ru^‘Îfƒ]¶{w~yìǧõÏŸ—šmö×1­Î磮¥pIrå{¯?þ®•»(EV%pí#ÆTj™ê^“¾ëØ߯O¥à×›-ƒÕÏIEND®B`‚nted-1.10.18/icons/select_mode_icon.png0000664001041000007640000000155211520267227014657 00000000000000‰PNG  IHDR szzôbKGDÿÿÿ ½§“ pHYs M MÒέNtIME× í­¦í÷IDATXÃÅ–ÁK“aÇ?³×:Ò˜`ÆJ ³ Æ;©Ó%Öm‡ð0êºÔ)¢CìQ]Bú¢S"òÐÅM§NÍKj+ '’¢âaÎi¿{'s¾ê^ÝØö¼¿çáý}÷ûþžïû˜€ëÀ<ÅAü~‰€RB‘¡¶A h®MÀÙ¬-‹@&H%a? y»À7É{ã1›FsÛ÷I^*°ª—\@ƒœ±X$¸wmSÀvlWÀüuŸäâéïï{m­Lî^›¨86Àly² ³™É ­VI&“‰D¤±¢B~À¼ÀKê¼H˜SJ &h8'à¸Óo¼^¯¤ ¥¼¼|8}”þ;”€Öý™¸ë÷û%@@L&S8e„ÀQ} Ùårí ø|>z{{Ý@PšcxP†çææD~¿_€·¤ü£ œ°Ùl›zÉ·¶¶$Šªª¼Î…€b Rf hTUuO‰Ãá0]]]+KKKŸð%/Vœ-à)ð³¥¥…X,ÆÈÈN§‡ÃA}}=ËËËÓÀí|Y±ž™ÊÊÊEàð¾§§gG‚ššš r7¡#‚P½¶¶ænO"‘ÈÎbkkkÙAß=%0XWÚóìèèèßD"@GG€»¬Ú¯#X__OMM yÃÕBh׉…†††RîÔÜŒ¢(®BðèÉ288@UUN§ó>HF4—uâÃãããéUU#}`„Às L›OfÄãÑhôûÂÂBªD€šoÀ-m¾ ¼Èîƒôqlkk3Ôˆ¹x–1Ìe;q(JéÔЀÅbi1RÝ\œ0=¶÷ÙÁãñüK;bgg§ç á„`F'þ{bbb>™LÝÈÝnwZ¶¼6að`¿Åx<>–îUU 9b.ÜÏá=}>ŸtwwK]]ÝJ†]ùBrÐFCŽ>qO³iÅÈŸ·S<Ø N»lµÿþz3:ƒôIEND®B`‚nted-1.10.18/chords/0000775001041000007640000000000011520270235011073 500000000000000nted-1.10.18/chords/chorddialog.h0000664001041000007640000000602511520267210013445 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHORD_DIALOG_H #define CHORD_DIALOG_H #include "config.h" #include #include struct chord_str; class NedMainWindow; class NedChordDialog { public: NedChordDialog(GtkWindow *parent, NedMainWindow *main_window, struct chord_str *chord_struct, unsigned int status); ~NedChordDialog(); void getValues(bool *state, struct chord_str **chord_ptr, int *chordname, unsigned int *status); private: static void OnClose(GtkDialog *dialog, gint result, gpointer data); static gboolean draw_chord_window(GtkWidget *widget, GdkEventExpose *event, gpointer data); static gboolean draw_chord_show_window(GtkWidget *widget, GdkEventExpose *event, gpointer data); void updateChord(const char *chordname, int *chord_num); void searchChordPtr(struct chord_str *chord_struct); static void OnRootChange(GtkTreeView *tree_view, gpointer data); static void OnModiesChange(GtkTreeView *tree_view, gpointer data); static void OnScaleChange (GtkRange *range, gpointer data); static void OnSizeChanged(GtkWidget *widget, GtkAllocation *allocation, gpointer data); static bool OnScroll(GtkWidget *widget, GdkEventScroll *event, gpointer data); static bool OnNewChordSelect(GtkWidget *widget, GdkEventButton *event, gpointer data); GtkWidget *m_chord_show_window; GtkWidget *m_chord_selection_show_window; GtkWidget *m_root_list_view; GtkWidget *m_modies_list_view; GtkWidget *m_chord_selection_scale; GtkWidget *m_text_checkbox; GtkWidget *m_diagram_checkbox; GList *m_current_chords; int m_chordname; bool m_state; unsigned int m_status; NedMainWindow *m_main_window; char m_user_selection[128]; double m_chords_show_window_y_offset; const char *current_root_name, *current_mody_name; struct chord_str *m_current_chord; static bool persistent_draw_diagram, persistent_draw_chord_name; }; #endif /* CHORD_DIALOG_H */ nted-1.10.18/chords/chordstruct.h0000664001041000007640000000345111520267210013532 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #define ROOT_BITS 5 #define MODI_BITS 5 #define ROOT_MASK ((1 << ROOT_BITS) - 1) #define MOFI_MASK (((1 << MODI_BITS) - 1) << ROOT_BITS) #define GUITAR_CHORD_DRAW_DIAGRAM (1 << 16) #define GUITAR_CHORD_DRAW_TEXT (1 << 17) struct chord_str { const char *id; const char *chordname1; const char *chordname2; int fret; int numfrets; const char *fret_s; #define CHORD_MUTE (1 << 5) #define CHORD_END_OF_BARREE_RIGHT (1 << 6) #define CHORD_END_OF_BARREE_LEFT (1 << 7) unsigned char s[6]; }; #define F_DIST 30.0 #define F_COUNT 5 #define S_DIST 22.0 #define GUITAR_WIDTH (5 * S_DIST) extern struct chord_str ned_chords[]; nted-1.10.18/chords/Makefile.am0000775001041000007640000000256611520267210013062 00000000000000######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### AM_CPPFLAGS = $(FT2_CFLAGS) -I$(top_srcdir) $(CAIRO_CFLAGS) $(GTK_CFLAGS) noinst_LIBRARIES = libchords.a libchords_a_SOURCES = chorddialog.cpp chordpainter.cpp chords.cpp libchords_a_SOURCES += chorddialog.h chordpainter.h chordstruct.h nted-1.10.18/chords/chorddialog.cpp0000664001041000007640000005225011520267210014001 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "chorddialog.h" #include "localization.h" #include "resource.h" #include "chordpainter.h" #include "chordstruct.h" #include "mainwindow.h" #include #define BUTTONBOXHEIGHT 40 #define CHORD_SHOW_WINDOW_WIDTH 210 #define CHORD_SHOW_WINDOW_HEIGHT (300 - BUTTONBOXHEIGHT) #define CHORD_SELECTION_SHOW_WINDOW_WIDTH 110 #define CHORD_SELECTION_SHOW_WINDOW_HEIGHT CHORD_SHOW_WINDOW_HEIGHT #define ROOT_BOX_WIDTH 60 #define MODIES_BOX_WIDTH 60 bool NedChordDialog::persistent_draw_diagram = true; bool NedChordDialog::persistent_draw_chord_name = true; NedChordDialog::NedChordDialog(GtkWindow *parent, NedMainWindow *main_window, struct chord_str *chord_struct, unsigned int status) : m_current_chords(NULL), m_chordname(0), m_state(false), m_status (status), m_main_window(main_window), m_chords_show_window_y_offset(0.0) { GtkWidget *dialog; GtkWidget *main_hbox; GtkWidget *chord_vbox; GtkWidget *chord_frame; GtkWidget *ruler_frame; GtkWidget *ruler_hbox; GtkWidget *button_v_box; GtkWidget *button_frame; GtkListStore * root_list_store; GtkCellRenderer *root_list_renderer; GtkTreeViewColumn *root_list_column; GtkTreeIter iter; GtkObject *root_list_adjustment; GtkWidget *root_list_scroll; GtkListStore * modies_list_store; GtkCellRenderer *modies_list_renderer; GtkTreeViewColumn *modies_list_column; GtkObject *modies_list_adjustment; GtkWidget *modies_list_scroll; GtkWidget *chord_selection_frame; GtkWidget *chord_selection_hbox; GdkColor bgcolor; const char **cptr; int ll; m_current_chord = ned_chords; current_root_name = NedChordPainter::roots[0]; current_mody_name = NedChordPainter::modies2[0]; strcpy(m_user_selection, "C"); if (chord_struct == NULL) { m_status &= (~(ROOT_MASK | MOFI_MASK)); if (persistent_draw_diagram) { m_status |= GUITAR_CHORD_DRAW_DIAGRAM; } else { m_status &= (~(GUITAR_CHORD_DRAW_DIAGRAM)); } if (persistent_draw_chord_name) { m_status |= GUITAR_CHORD_DRAW_TEXT; } else { m_status &= (~(GUITAR_CHORD_DRAW_TEXT)); } } else { persistent_draw_diagram = (m_status & GUITAR_CHORD_DRAW_DIAGRAM) != 0; persistent_draw_chord_name = (m_status & GUITAR_CHORD_DRAW_TEXT) != 0; } dialog = gtk_dialog_new_with_buttons(_("Chords"), parent, (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); g_signal_connect(dialog, "response", G_CALLBACK (OnClose), (void *) this); chord_frame = gtk_frame_new(_("chord")); m_chord_show_window = gtk_drawing_area_new (); bgcolor.pixel = 1; bgcolor.red = bgcolor.green = bgcolor.blue = 0xffff; gtk_widget_modify_bg(GTK_WIDGET(m_chord_show_window), GTK_STATE_NORMAL, &bgcolor); gtk_drawing_area_size(GTK_DRAWING_AREA(m_chord_show_window),CHORD_SHOW_WINDOW_WIDTH, CHORD_SHOW_WINDOW_HEIGHT); chord_vbox = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(chord_vbox), m_chord_show_window, FALSE, FALSE, 0); button_frame = gtk_frame_new(_("config")); button_v_box = gtk_vbox_new(FALSE, 2); m_text_checkbox = gtk_check_button_new_with_label(_("text")); m_diagram_checkbox = gtk_check_button_new_with_label(_("diagram")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_text_checkbox), m_status & GUITAR_CHORD_DRAW_TEXT); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_diagram_checkbox), m_status & GUITAR_CHORD_DRAW_DIAGRAM); gtk_box_pack_start(GTK_BOX(button_v_box), m_diagram_checkbox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(button_v_box), m_text_checkbox, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(button_frame), button_v_box); gtk_box_pack_start(GTK_BOX(chord_vbox), button_frame, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(chord_frame), chord_vbox); g_signal_connect (m_chord_show_window, "expose-event", G_CALLBACK (draw_chord_window), (void *) this); root_list_store = gtk_list_store_new (1, G_TYPE_STRING); for (ll = 0, cptr = NedChordPainter::roots; *cptr != NULL; cptr++, ll++) { gtk_list_store_append (root_list_store, &iter); gtk_list_store_set (root_list_store, &iter, 0, *cptr, -1); } m_root_list_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(root_list_store)); root_list_renderer = gtk_cell_renderer_text_new (); root_list_column = gtk_tree_view_column_new_with_attributes (_("root"), root_list_renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_root_list_view), root_list_column); root_list_adjustment = gtk_adjustment_new (0.0, 0.0, ll, 1.0, 10.0, 10.0); root_list_scroll = gtk_vscrollbar_new(GTK_ADJUSTMENT(root_list_adjustment)); gtk_tree_view_set_vadjustment (GTK_TREE_VIEW (m_root_list_view), GTK_ADJUSTMENT(root_list_adjustment)); gtk_widget_set_size_request(m_root_list_view, ROOT_BOX_WIDTH, CHORD_SHOW_WINDOW_HEIGHT); g_signal_connect (m_root_list_view, "cursor-changed", G_CALLBACK (OnRootChange), (void *) this); modies_list_store = gtk_list_store_new (1, G_TYPE_STRING); for (ll = 0, cptr = NedChordPainter::modies; *cptr != NULL; cptr++, ll++) { gtk_list_store_append (modies_list_store, &iter); gtk_list_store_set (modies_list_store, &iter, 0, *cptr, -1); } m_modies_list_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(modies_list_store)); modies_list_renderer = gtk_cell_renderer_text_new (); modies_list_column = gtk_tree_view_column_new_with_attributes (_("mody"), root_list_renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (m_modies_list_view), modies_list_column); modies_list_adjustment = gtk_adjustment_new (0.0, 0.0, ll, 1.0, 10.0, 10.0); modies_list_scroll = gtk_vscrollbar_new(GTK_ADJUSTMENT(modies_list_adjustment)); gtk_tree_view_set_vadjustment (GTK_TREE_VIEW (m_modies_list_view), GTK_ADJUSTMENT(modies_list_adjustment)); gtk_widget_set_size_request(m_modies_list_view, MODIES_BOX_WIDTH, CHORD_SHOW_WINDOW_HEIGHT); g_signal_connect (m_modies_list_view, "cursor-changed", G_CALLBACK (OnModiesChange), (void *) this); ruler_frame = gtk_frame_new(_("selection")); ruler_hbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(ruler_hbox), m_root_list_view, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ruler_hbox), root_list_scroll, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ruler_hbox), m_modies_list_view, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ruler_hbox), modies_list_scroll, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(ruler_frame), ruler_hbox); chord_selection_frame = gtk_frame_new(_("chordselect")); m_chord_selection_show_window = gtk_drawing_area_new (); gtk_widget_add_events(m_chord_selection_show_window, GDK_BUTTON_PRESS_MASK); g_signal_connect (m_chord_selection_show_window, "expose-event", G_CALLBACK (draw_chord_show_window), (void *) this); g_signal_connect (m_chord_selection_show_window, "size-allocate", G_CALLBACK (OnSizeChanged), (void *) this); g_signal_connect (m_chord_selection_show_window, "button-press-event", G_CALLBACK (OnNewChordSelect), (void *) this); g_signal_connect(dialog, "scroll-event", G_CALLBACK (OnScroll), (void *) this); bgcolor.pixel = 1; bgcolor.red = bgcolor.green = bgcolor.blue = 0xffff; gtk_widget_modify_bg(GTK_WIDGET(m_chord_selection_show_window), GTK_STATE_NORMAL, &bgcolor); gtk_drawing_area_size(GTK_DRAWING_AREA(m_chord_selection_show_window),CHORD_SELECTION_SHOW_WINDOW_WIDTH, CHORD_SELECTION_SHOW_WINDOW_HEIGHT); m_chord_selection_scale = gtk_vscale_new_with_range(0.0, 100.0, 1.0); gtk_scale_set_draw_value(GTK_SCALE(m_chord_selection_scale), FALSE); g_signal_connect (m_chord_selection_scale, "value-changed", G_CALLBACK (OnScaleChange), (void *) this); chord_selection_hbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(chord_selection_hbox), m_chord_selection_show_window, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(chord_selection_hbox), m_chord_selection_scale, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER(chord_selection_frame), chord_selection_hbox); main_hbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(main_hbox), chord_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(main_hbox), ruler_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(main_hbox), chord_selection_frame, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), main_hbox); gtk_widget_show_all (dialog); searchChordPtr(chord_struct); gtk_dialog_run(GTK_DIALOG(dialog)); } NedChordDialog::~NedChordDialog() { if (m_current_chords != NULL) { g_list_free(m_current_chords); } } void NedChordDialog::searchChordPtr(struct chord_str *chord_struct) { struct chord_str *cptr; GdkRectangle rect; #define ZOOM_SMALL 0.4 double zoom = ZOOM_SMALL, max; if (chord_struct == NULL) { updateChord("C", &m_chordname); return; } if (m_current_chords != NULL) { g_list_free(m_current_chords); m_current_chords = NULL; } for (cptr = ned_chords; cptr->chordname1 != NULL; cptr++) { if (!strcmp(cptr->chordname1, chord_struct->chordname1)) { if (g_list_find(m_current_chords, cptr) != NULL) continue; m_current_chords = g_list_append(m_current_chords, cptr); if (cptr == chord_struct) { m_current_chord = cptr; m_chordname = 0; } } if (cptr->chordname2 != NULL && chord_struct->chordname2 != NULL) { if (g_list_find(m_current_chords, cptr) != NULL) continue; if (!strcmp(cptr->chordname2, chord_struct->chordname2)) { m_current_chords = g_list_append(m_current_chords, cptr); } if (cptr == chord_struct) { m_current_chord = cptr; m_chordname = 1; } } } #define TOP_BORDER 20.0 max = g_list_length(m_current_chords) * (F_COUNT + 1) * F_DIST * zoom - m_chord_selection_show_window->allocation.height + 2 * TOP_BORDER; if (max <= 0.0) max = 1.0; gtk_range_set_range(GTK_RANGE(m_chord_selection_scale), 0.0, max); gtk_range_set_value(GTK_RANGE(m_chord_selection_scale), 0.0); rect.x = rect.y = 0; rect.width = m_chord_selection_show_window->allocation.width; rect.height = m_chord_selection_show_window->allocation.height; gdk_window_invalidate_rect (m_chord_selection_show_window->window, &rect, FALSE); } void NedChordDialog::updateChord(const char *chordname, int *chord_num) { bool first = true; struct chord_str *cptr; GdkRectangle rect; #define ZOOM_SMALL 0.4 double zoom = ZOOM_SMALL, max; *chord_num = 0; if (m_current_chords != NULL) { g_list_free(m_current_chords); m_current_chords = NULL; } for (cptr = ned_chords; cptr->chordname1 != NULL; cptr++) { if (!strcmp(cptr->chordname1, chordname)) { m_current_chords = g_list_append(m_current_chords, cptr); if (first) { first = false; m_current_chord = cptr; } } if (cptr->chordname2 != NULL) { if (!strcmp(cptr->chordname2, chordname)) { m_current_chords = g_list_append(m_current_chords, cptr); if (first) { first = false; m_current_chord = cptr; *chord_num = 1; } } } } #define TOP_BORDER 20.0 max = g_list_length(m_current_chords) * (F_COUNT + 1) * F_DIST * zoom - m_chord_selection_show_window->allocation.height + 2 * TOP_BORDER; if (max <= 0.0) max = 1.0; gtk_range_set_range(GTK_RANGE(m_chord_selection_scale), 0.0, max); gtk_range_set_value(GTK_RANGE(m_chord_selection_scale), 0.0); rect.x = rect.y = 0; rect.width = m_chord_selection_show_window->allocation.width; rect.height = m_chord_selection_show_window->allocation.height; gdk_window_invalidate_rect (m_chord_selection_show_window->window, &rect, FALSE); } gboolean NedChordDialog::draw_chord_show_window(GtkWidget *widget, GdkEventExpose *event, gpointer data) { GList *lptr; cairo_t *cr; int i; #define LEFT_BORDER 20.0 double zoom = ZOOM_SMALL; NedChordDialog *the_dialog = (NedChordDialog *) data; cr = gdk_cairo_create (the_dialog->m_chord_selection_show_window->window); cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); cairo_rectangle (cr, 0, 0, the_dialog->m_chord_selection_show_window->allocation.width, the_dialog->m_chord_selection_show_window->allocation.height); cairo_fill(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); for (i = 0, lptr = g_list_first(the_dialog->m_current_chords); lptr; lptr = g_list_next(lptr), i++) { if (the_dialog->m_current_chord == (struct chord_str *) lptr->data) { cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); } NedChordPainter::draw_chord(cr, (struct chord_str *) lptr->data, -1, GUITAR_CHORD_DRAW_DIAGRAM | GUITAR_CHORD_DRAW_TEXT, false, LEFT_BORDER, TOP_BORDER + i * (F_COUNT + 1) * F_DIST * zoom - the_dialog->m_chords_show_window_y_offset, ZOOM_SMALL, the_dialog->m_main_window->getCurrentZoomLevel()); if (the_dialog->m_current_chord == (struct chord_str *) lptr->data) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } } cairo_destroy (cr); return FALSE; } void NedChordDialog::OnSizeChanged(GtkWidget *widget, GtkAllocation *allocation, gpointer data) { NedChordDialog *the_dialog = (NedChordDialog *) data; double zoom = ZOOM_SMALL, max; max = g_list_length(the_dialog->m_current_chords) * (F_COUNT + 1) * F_DIST * zoom - the_dialog->m_chord_selection_show_window->allocation.height + 2 * TOP_BORDER; if (max <= 0.0) max = 1.0; gtk_range_set_range(GTK_RANGE(the_dialog->m_chord_selection_scale), 0.0, max); } bool NedChordDialog::OnNewChordSelect(GtkWidget *widget, GdkEventButton *event, gpointer data) { NedChordDialog *the_dialog = (NedChordDialog *) data; GdkRectangle rect; double zoom = ZOOM_SMALL; int num = (int) ((event->y + the_dialog->m_chords_show_window_y_offset - TOP_BORDER) / ((F_COUNT + 1) * F_DIST * zoom)); if (num < 0 ) num = 0; if (num >= (int) g_list_length(the_dialog->m_current_chords)) num = g_list_length(the_dialog->m_current_chords) - 1; the_dialog->m_current_chord = (struct chord_str *) g_list_nth(the_dialog->m_current_chords, num)->data; rect.x = rect.y = 0; rect.width = the_dialog->m_chord_show_window->allocation.width; rect.height = the_dialog->m_chord_show_window->allocation.height; gdk_window_invalidate_rect (the_dialog->m_chord_show_window->window, &rect, FALSE); rect.x = rect.y = 0; rect.width = the_dialog->m_chord_selection_show_window->allocation.width; rect.height = the_dialog->m_chord_selection_show_window->allocation.height; gdk_window_invalidate_rect (the_dialog->m_chord_selection_show_window->window, &rect, FALSE); return FALSE; } void NedChordDialog::OnScaleChange (GtkRange *range, gpointer data) { GdkRectangle rect; NedChordDialog *the_dialog = (NedChordDialog *) data; the_dialog->m_chords_show_window_y_offset = gtk_range_get_value(range); rect.x = rect.y = 0; rect.width = the_dialog->m_chord_selection_show_window->allocation.width; rect.height = the_dialog->m_chord_selection_show_window->allocation.height; gdk_window_invalidate_rect (the_dialog->m_chord_selection_show_window->window, &rect, FALSE); } void NedChordDialog::OnClose(GtkDialog *dialog, gint result, gpointer data) { NedChordDialog *chord_dialog = (NedChordDialog *) data; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chord_dialog->m_diagram_checkbox))) { chord_dialog->m_status |= GUITAR_CHORD_DRAW_DIAGRAM; persistent_draw_diagram = true; } else { persistent_draw_diagram = false; chord_dialog->m_status &= (~(GUITAR_CHORD_DRAW_DIAGRAM)); } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chord_dialog->m_text_checkbox))) { chord_dialog->m_status |= GUITAR_CHORD_DRAW_TEXT; persistent_draw_chord_name = true; } else { persistent_draw_chord_name = false; chord_dialog->m_status &= (~(GUITAR_CHORD_DRAW_TEXT)); } switch (result) { case GTK_RESPONSE_ACCEPT: chord_dialog->m_state = TRUE; break; default: chord_dialog->m_state = FALSE; break; } gtk_widget_destroy (GTK_WIDGET(dialog)); } bool NedChordDialog::OnScroll(GtkWidget *widget, GdkEventScroll *event, gpointer data) { NedChordDialog *chord_dialog = (NedChordDialog *) data; double adjval; #define SCROLL_INCR 20.0 adjval = gtk_range_get_value(GTK_RANGE(chord_dialog->m_chord_selection_scale)); if (event->direction == GDK_SCROLL_UP) { adjval -= SCROLL_INCR; } else if (event->direction == GDK_SCROLL_DOWN) { adjval += SCROLL_INCR; } gtk_range_set_value(GTK_RANGE(chord_dialog->m_chord_selection_scale), adjval); return FALSE; } void NedChordDialog::getValues(bool *state, struct chord_str **chord_ptr, int *chordname, unsigned int *status) { *state = m_state && ((m_status & (GUITAR_CHORD_DRAW_DIAGRAM | GUITAR_CHORD_DRAW_TEXT)) != 0); *chord_ptr = m_current_chord; *chordname = m_chordname; *status = m_status; } gboolean NedChordDialog::draw_chord_window(GtkWidget *widget, GdkEventExpose *event, gpointer data) { NedChordDialog *the_dialog = (NedChordDialog *) data; cairo_t *cr; cr = gdk_cairo_create (the_dialog->m_chord_show_window->window); cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); cairo_rectangle (cr, 0, 0, the_dialog->m_chord_show_window->allocation.width, the_dialog->m_chord_show_window->allocation.height); cairo_fill(cr); #define TEXT_SIZE 20.0 #define TEXT_X_START 10.0 #define TEXT_Y_START 20.0 #define TEXT2_Y_START 40.0 cairo_new_path(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); cairo_select_font_face(cr, "Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size(cr, TEXT_SIZE); cairo_move_to(cr, TEXT_X_START, TEXT_Y_START); cairo_show_text(cr, the_dialog->m_current_chord->chordname1); if (the_dialog->m_current_chord->chordname2 != NULL) { cairo_move_to(cr, TEXT_X_START, TEXT2_Y_START); cairo_show_text(cr, the_dialog->m_current_chord->chordname2); } cairo_stroke(cr); #define W_X_START 10.0 #define W_Y_START 80.0 NedChordPainter::draw_chord(cr, the_dialog->m_current_chord, -1, (GUITAR_CHORD_DRAW_DIAGRAM | GUITAR_CHORD_DRAW_TEXT), false, W_X_START, W_Y_START, 1.0, the_dialog->m_main_window->getCurrentZoomLevel()); cairo_destroy (cr); return FALSE; } void NedChordDialog::OnRootChange(GtkTreeView *tree_view, gpointer data) { GtkTreeSelection* selection; GList *selected_rows; int num; GdkRectangle rect; NedChordDialog *the_dialog = (NedChordDialog *) data; selection = gtk_tree_view_get_selection (tree_view); selected_rows = gtk_tree_selection_get_selected_rows (selection, NULL); if (g_list_length(selected_rows) != 1) { printf("nichts\n"); fflush(stdout); return; } GtkTreePath *path = (GtkTreePath *) g_list_first(selected_rows)->data; char *tp = gtk_tree_path_to_string(path); if (sscanf(tp, "%d", &num) != 1) { NedResource::Abort("NedChordDialog::OnRootChange: error reading tree path"); } the_dialog->m_status &= (~(ROOT_MASK)); the_dialog->m_status |= num; the_dialog->current_root_name = NedChordPainter::roots[num]; strcpy(the_dialog->m_user_selection, the_dialog->current_root_name); strcat(the_dialog->m_user_selection, the_dialog->current_mody_name); the_dialog->m_chords_show_window_y_offset = 0.0; the_dialog->updateChord(the_dialog->m_user_selection, &(the_dialog->m_chordname)); rect.x = rect.y = 0; rect.width = the_dialog->m_chord_show_window->allocation.width; rect.height = the_dialog->m_chord_show_window->allocation.height; gdk_window_invalidate_rect (the_dialog->m_chord_show_window->window, &rect, FALSE); } void NedChordDialog::OnModiesChange(GtkTreeView *tree_view, gpointer data) { GtkTreeSelection* selection; GList *selected_rows; int num; GdkRectangle rect; NedChordDialog *the_dialog = (NedChordDialog *) data; selection = gtk_tree_view_get_selection (tree_view); selected_rows = gtk_tree_selection_get_selected_rows (selection, NULL); if (g_list_length(selected_rows) != 1) { printf("NedChordDialog::OnModiesChange: nichts\n"); fflush(stdout); return; } GtkTreePath *path = (GtkTreePath *) g_list_first(selected_rows)->data; char *tp = gtk_tree_path_to_string(path); if (sscanf(tp, "%d", &num) != 1) { NedResource::Abort("NedChordDialog::OnModiesChange: error reading tree path"); } the_dialog->m_status &= (~(MOFI_MASK)); the_dialog->m_status |= (num << ROOT_BITS); the_dialog->current_mody_name = NedChordPainter::modies2[num]; strcpy(the_dialog->m_user_selection, the_dialog->current_root_name); strcat(the_dialog->m_user_selection, the_dialog->current_mody_name); the_dialog->m_chords_show_window_y_offset = 0.0; the_dialog->updateChord(the_dialog->m_user_selection, &(the_dialog->m_chordname)); rect.x = rect.y = 0; rect.width = the_dialog->m_chord_show_window->allocation.width; rect.height = the_dialog->m_chord_show_window->allocation.height; gdk_window_invalidate_rect (the_dialog->m_chord_show_window->window, &rect, FALSE); } nted-1.10.18/chords/chords.cpp0000664001041000007640000035063211520267210013011 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "chordstruct.h" struct chord_str ned_chords[] = { { "E46343356:3:;<. */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHORD_PAINTER_H #define CHORD_PAINTER_H #include "config.h" #include #include struct chord_str; class NedFreeChord; class NedChordPainter { public: static void draw_chord(cairo_t *cr, struct chord_str *chord_descr, int chordname, unsigned int status, bool limit_fret, double xpos, double ypos, double zoom, int zoom_level); static void draw_chord(cairo_t *cr, struct chord_str *chord_descr, char *chord_name, unsigned int status, bool limit_fret, double xpos, double ypos, double zoom, int zoom_level); static struct chord_str *searchCordByCode(char *code); static void writeLilyChord(FILE *fp, struct chord_str *chord_descr); static void writeLilyChordName(FILE *fp, NedFreeChord *freechord, unsigned int length, unsigned int duration, int dotcount, unsigned int *midi_len); static const char *roots[]; static const char *roots2[]; static const char *modies[]; static const char *modies2[]; private: static const unsigned int minor[]; static const char addoff[]; static const char *modies3[]; static const char *modies4[]; }; #endif /* CHORD_PAINTER_H */ nted-1.10.18/chords/Makefile.in0000664001041000007640000003650411520267353013077 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ ######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = chords DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru libchords_a_AR = $(AR) $(ARFLAGS) libchords_a_LIBADD = am_libchords_a_OBJECTS = chorddialog.$(OBJEXT) chordpainter.$(OBJEXT) \ chords.$(OBJEXT) libchords_a_OBJECTS = $(am_libchords_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libchords_a_SOURCES) DIST_SOURCES = $(libchords_a_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_LIBS = @ALSA_LIBS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ IMAGE2HEADER = @IMAGE2HEADER@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PO2XML = @PO2XML@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ X11_CFLAGS = @X11_CFLAGS@ X11_LIBS = @X11_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XML2POT = @XML2POT@ XMLTO = @XMLTO@ YELP = @YELP@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = $(FT2_CFLAGS) -I$(top_srcdir) $(CAIRO_CFLAGS) $(GTK_CFLAGS) noinst_LIBRARIES = libchords.a libchords_a_SOURCES = chorddialog.cpp chordpainter.cpp chords.cpp \ chorddialog.h chordpainter.h chordstruct.h all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign chords/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign chords/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libchords.a: $(libchords_a_OBJECTS) $(libchords_a_DEPENDENCIES) -rm -f libchords.a $(libchords_a_AR) libchords.a $(libchords_a_OBJECTS) $(libchords_a_LIBADD) $(RANLIB) libchords.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chorddialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chordpainter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chords.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/chords/chordpainter.cpp0000664001041000007640000004341711520267210014211 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "chordpainter.h" #include "resource.h" #include "chordstruct.h" #include "freechord.h" #include #include #include const char *NedChordPainter::roots[] = {"C", "C#", "Db", "D", "D#", "Eb", "E", "F", "F#", "Gb", "G", "G#", "Ab", "A", "A#", "Bb", "B", NULL}; const char *NedChordPainter::roots2[] = {"c", "cis", "des", "d", "dis", "es", "e", "f", "fis", "ges", "g", "gis", "as", "a", "ais", "bes", "b", NULL}; const char *NedChordPainter::modies[] = {"Major", "Minor", "dim", "aug", "sus", "6", "7", "maj7", "9", "add9", "m6", "m7", "mmaj7", "m9", "11", "7sus4", "13", "6add9", "-5", "7-5", "7maj5", "maj9", NULL}; const char *NedChordPainter::modies2[] = {"", "m", "dim", "aug", "sus", "6", "7", "maj7", "9", "add9", "m6", "m7", "mmaj7", "m9", "11", "7sus4", "13", "6add9", "-5", "7-5", "7maj5", "maj9", NULL}; const unsigned int NedChordPainter::minor[] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}; const char NedChordPainter::addoff[] = {0, 1, -1, 0, 1, -1, 0, 0, 1, -1, 0, 1, -1, 0, 1, -1, 0}; const char *NedChordPainter::modies3[] = {"", "", "dim", "aug", "sus", "6", "7", "maj7", "9", "add9", "6", "7", "maj7", "9", "11", "7sus4", "13", "6add9", "-5", "7-5", "7maj5", "maj9", NULL}; const char *NedChordPainter::modies4[] = {"", "m", "dim", "aug", "sus4", "6", "7", "maj7", "9", "", "m6", "m7", "", "m9", "11", "7sus4", "13", "", "", "7-5", "7maj5", "maj9", NULL}; void NedChordPainter::draw_chord(cairo_t *cr, struct chord_str *chord_descr, int chordname, unsigned int status , bool limit_fret, double xpos, double ypos, double zoom, int zoom_level) { int i; #define NO_BARRE 1000 int barre = NO_BARRE; int barre_fret = -1; unsigned int block_for_barre = 0; double arc_y; bool restore_font = false; int fret_count = limit_fret ? chord_descr->numfrets : F_COUNT; //#define F_COUNT (chord_descr->numfrets) #define F_DIST_Z (F_DIST * zoom) #define S_DIST_Z (S_DIST * zoom) #define GUITAR_WIDTH_Z (GUITAR_WIDTH * zoom) #define B_WIDTH (zoom * 6.0) #define F_WIDTH (zoom * 2.0) #define S_WIDTH (zoom * 4.0) if (status & GUITAR_CHORD_DRAW_DIAGRAM) { cairo_new_path(cr); cairo_set_line_width(cr, B_WIDTH); cairo_move_to(cr, xpos, ypos); cairo_line_to(cr, xpos + GUITAR_WIDTH_Z, ypos); cairo_stroke(cr); cairo_new_path(cr); cairo_set_line_width(cr, F_WIDTH); for (i = 0; i < fret_count; i++) { cairo_move_to(cr, xpos, ypos + i * F_DIST_Z); cairo_line_to(cr, xpos + GUITAR_WIDTH_Z, ypos + i * F_DIST_Z); } cairo_stroke(cr); cairo_new_path(cr); cairo_set_line_width(cr, S_WIDTH); for (i = 0; i < 6; i++) { cairo_move_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, ypos - B_WIDTH / 2.0); cairo_line_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, ypos + fret_count * F_DIST_Z - B_WIDTH / 2.0); } cairo_stroke(cr); #define X_WIDTH (zoom * 2.0) #define X_LONG (zoom * 6.0) #define X_DIST (zoom * 8.0) #define O_DIST (zoom * 8.0) #define O_WIDTH (zoom * 1.4) #define O_RAD (zoom * 6.0) #define P_RAD (zoom * 6.0) #define BARRE_WIDTH (zoom * 6.0) for (i = 0; i < 6; i++) { if ((chord_descr->s[i] & 0xf0) == CHORD_END_OF_BARREE_RIGHT) { if (barre != NO_BARRE) { NedResource::Abort("CHORD_END_OF_BARREE_RIGHT\n"); } barre = i; barre_fret = (chord_descr->s[i] & 0xf); block_for_barre = (1 << i) - 1; block_for_barre = ~block_for_barre; cairo_new_path(cr); cairo_set_line_width(cr, BARRE_WIDTH); arc_y = ypos - B_WIDTH / 2.0 + (barre_fret - chord_descr->fret + 1) * F_DIST_Z - F_DIST_Z / 2.0; cairo_move_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, arc_y); cairo_line_to(cr, xpos + GUITAR_WIDTH_Z, arc_y); cairo_stroke(cr); cairo_new_path(cr); cairo_arc(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, arc_y, P_RAD, 0.0, 2.0 * M_PI); cairo_arc(cr, xpos + S_WIDTH / 2.0 + 5 * S_DIST_Z, arc_y, P_RAD, 0.0, 2.0 * M_PI); cairo_fill(cr); } if ((chord_descr->s[i] & 0xf0) == CHORD_END_OF_BARREE_LEFT) { /* if (barre != NO_BARRE) { NedResource::Abort("CHORD_END_OF_BARREE_LEFT\n"); } */ block_for_barre = (1 << i) - 1; barre = -i; barre_fret = (chord_descr->s[i] & 0xf); cairo_new_path(cr); cairo_set_line_width(cr, BARRE_WIDTH); arc_y = ypos - B_WIDTH / 2.0 + (barre_fret - chord_descr->fret + 1) * F_DIST_Z - F_DIST_Z / 2.0; cairo_move_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, arc_y); cairo_line_to(cr, xpos + S_WIDTH / 2.0, arc_y); cairo_stroke(cr); cairo_new_path(cr); cairo_arc(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, arc_y, P_RAD, 0.0, 2.0 * M_PI); cairo_arc(cr, xpos + S_WIDTH / 2.0 , arc_y, P_RAD, 0.0, 2.0 * M_PI); cairo_fill(cr); } } for (i = 0; i < 6; i++) { if ((chord_descr->s[i] & 0xf0) == CHORD_MUTE) { cairo_new_path(cr); cairo_set_line_width(cr, X_WIDTH); cairo_move_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z - X_LONG, ypos - B_WIDTH / 2.0 - X_DIST - X_LONG); cairo_line_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z + X_LONG, ypos - B_WIDTH / 2.0 - X_DIST + X_LONG); cairo_move_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z + X_LONG, ypos - B_WIDTH / 2.0 - X_DIST - X_LONG); cairo_line_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z - X_LONG, ypos - B_WIDTH / 2.0 - X_DIST + X_LONG); cairo_stroke(cr); } else if ((chord_descr->s[i] & 0xf) == 0) { cairo_new_path(cr); cairo_set_line_width(cr, O_WIDTH); cairo_arc(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, ypos - B_WIDTH / 2.0 - O_DIST, O_RAD, 0.0, 2.0 * M_PI); cairo_stroke(cr); } else if (chord_descr->s[i] != barre_fret || (((1 << i) & block_for_barre)) == 0) { cairo_new_path(cr); cairo_arc(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, ypos - B_WIDTH / 2.0 + ((0xf & chord_descr->s[i]) - chord_descr->fret + 1) * F_DIST_Z - F_DIST_Z / 2.0, P_RAD, 0.0, 2.0 * M_PI); cairo_fill(cr); } } #define TEXT_FRET_X_DIST 12.0 #define TEXT_FRET_Y_DIST 12.0 #define TEXT_FRET_SIZE 30.0 #define TEXT_X_FRET_START (xpos + GUITAR_WIDTH_Z + TEXT_FRET_X_DIST * zoom) #define TEXT_Y_FRET_START (ypos + TEXT_FRET_Y_DIST * zoom) if (chord_descr->fret != 1 ) { cairo_new_path(cr); cairo_select_font_face(cr, "Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size(cr, TEXT_FRET_SIZE * zoom); cairo_move_to(cr, TEXT_X_FRET_START, TEXT_Y_FRET_START); cairo_show_text(cr, chord_descr->fret_s); cairo_stroke(cr); restore_font = true; } } #define CHORD_NAME_X_START 0.0 #define CHORD_NAME_Y_START -20.0 #define CHORD_NAME_SIZE1_R 30.0 #define CHORD_NAME_SIZE2_R 50.0 #define CHORD_NAME_SIZE3_R 40.0 #define CHORD_NAME_SIZE4_R 50.0 #define CHORD_NAME_SIZE2_M 30.0 #define CHORD_MODYFIER_X_DIST 35.0 #define CHORD_MODYFIER_Y_DIST 30.0 #define CHORD_HALF_TONE_Y_DIST 10.0 #define CHORD_HALF_TONE_X_DIST 35.0 #define TEXT_X_NAME_START (xpos + CHORD_NAME_X_START * zoom) #define TEXT_Y_NAME_START (ypos + CHORD_NAME_Y_START * zoom) if (chordname >= 0 && (status & GUITAR_CHORD_DRAW_TEXT)) { cairo_new_path(cr); cairo_select_font_face(cr, "Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD); cairo_set_font_size(cr, ((status & GUITAR_CHORD_DRAW_DIAGRAM) ? CHORD_NAME_SIZE1_R : CHORD_NAME_SIZE2_R) * zoom); cairo_move_to(cr, TEXT_X_NAME_START, TEXT_Y_NAME_START); cairo_show_text(cr, chordname ? chord_descr->chordname2 : chord_descr->chordname1); cairo_stroke(cr); restore_font = true; } if (restore_font) { #ifdef HAS_SET_SCALED_FONT cairo_set_scaled_font (cr, scaled_font); #else cairo_set_font_face(cr, NedResource::getFontFace()); cairo_set_font_matrix(cr, NedResource::getFontMatrix(zoom_level)); cairo_set_font_options(cr, NedResource::getFontOptions()); #endif } } void NedChordPainter::draw_chord(cairo_t *cr, struct chord_str *chord_descr, char *chord_name, unsigned int status, bool limit_fret, double xpos, double ypos, double zoom, int zoom_level) { int i; int barre = NO_BARRE; int barre_fret = -1; int mod_idx; char rname[128]; unsigned int block_for_barre = 0; double arc_y, xdist; bool restore_font = false; int fret_count = limit_fret ? chord_descr->numfrets : F_COUNT; const char *root_name, *mody_name; if (status & GUITAR_CHORD_DRAW_DIAGRAM) { cairo_new_path(cr); cairo_set_line_width(cr, B_WIDTH); cairo_move_to(cr, xpos, ypos); cairo_line_to(cr, xpos + GUITAR_WIDTH_Z, ypos); cairo_stroke(cr); cairo_new_path(cr); cairo_set_line_width(cr, F_WIDTH); for (i = 0; i < fret_count; i++) { cairo_move_to(cr, xpos, ypos + i * F_DIST_Z); cairo_line_to(cr, xpos + GUITAR_WIDTH_Z, ypos + i * F_DIST_Z); } cairo_stroke(cr); cairo_new_path(cr); cairo_set_line_width(cr, S_WIDTH); for (i = 0; i < 6; i++) { cairo_move_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, ypos - B_WIDTH / 2.0); cairo_line_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, ypos + fret_count * F_DIST_Z - B_WIDTH / 2.0); } cairo_stroke(cr); for (i = 0; i < 6; i++) { if ((chord_descr->s[i] & 0xf0) == CHORD_END_OF_BARREE_RIGHT) { if (barre != NO_BARRE) { NedResource::Abort("CHORD_END_OF_BARREE_RIGHT\n"); } barre = i; barre_fret = (chord_descr->s[i] & 0xf); block_for_barre = (1 << i) - 1; block_for_barre = ~block_for_barre; cairo_new_path(cr); cairo_set_line_width(cr, BARRE_WIDTH); arc_y = ypos - B_WIDTH / 2.0 + (barre_fret - chord_descr->fret + 1) * F_DIST_Z - F_DIST_Z / 2.0; cairo_move_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, arc_y); cairo_line_to(cr, xpos + GUITAR_WIDTH_Z, arc_y); cairo_stroke(cr); cairo_new_path(cr); cairo_arc(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, arc_y, P_RAD, 0.0, 2.0 * M_PI); cairo_arc(cr, xpos + S_WIDTH / 2.0 + 5 * S_DIST_Z, arc_y, P_RAD, 0.0, 2.0 * M_PI); cairo_fill(cr); } if ((chord_descr->s[i] & 0xf0) == CHORD_END_OF_BARREE_LEFT) { /* if (barre != NO_BARRE) { NedResource::Abort("CHORD_END_OF_BARREE_LEFT\n"); } */ block_for_barre = (1 << i) - 1; barre = -i; barre_fret = (chord_descr->s[i] & 0xf); cairo_new_path(cr); cairo_set_line_width(cr, BARRE_WIDTH); arc_y = ypos - B_WIDTH / 2.0 + (barre_fret - chord_descr->fret + 1) * F_DIST_Z - F_DIST_Z / 2.0; cairo_move_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, arc_y); cairo_line_to(cr, xpos + S_WIDTH / 2.0, arc_y); cairo_stroke(cr); cairo_new_path(cr); cairo_arc(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, arc_y, P_RAD, 0.0, 2.0 * M_PI); cairo_arc(cr, xpos + S_WIDTH / 2.0 , arc_y, P_RAD, 0.0, 2.0 * M_PI); cairo_fill(cr); } } for (i = 0; i < 6; i++) { if ((chord_descr->s[i] & 0xf0) == CHORD_MUTE) { cairo_new_path(cr); cairo_set_line_width(cr, X_WIDTH); cairo_move_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z - X_LONG, ypos - B_WIDTH / 2.0 - X_DIST - X_LONG); cairo_line_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z + X_LONG, ypos - B_WIDTH / 2.0 - X_DIST + X_LONG); cairo_move_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z + X_LONG, ypos - B_WIDTH / 2.0 - X_DIST - X_LONG); cairo_line_to(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z - X_LONG, ypos - B_WIDTH / 2.0 - X_DIST + X_LONG); cairo_stroke(cr); } else if ((chord_descr->s[i] & 0xf) == 0) { cairo_new_path(cr); cairo_set_line_width(cr, O_WIDTH); cairo_arc(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, ypos - B_WIDTH / 2.0 - O_DIST, O_RAD, 0.0, 2.0 * M_PI); cairo_stroke(cr); } else if (chord_descr->s[i] != barre_fret || (((1 << i) & block_for_barre)) == 0) { cairo_new_path(cr); cairo_arc(cr, xpos + S_WIDTH / 2.0 + i * S_DIST_Z, ypos - B_WIDTH / 2.0 + ((0xf & chord_descr->s[i]) - chord_descr->fret + 1) * F_DIST_Z - F_DIST_Z / 2.0, P_RAD, 0.0, 2.0 * M_PI); cairo_fill(cr); } } if (chord_descr->fret != 1 ) { cairo_new_path(cr); cairo_select_font_face(cr, "Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size(cr, TEXT_FRET_SIZE * zoom); cairo_move_to(cr, TEXT_X_FRET_START, TEXT_Y_FRET_START); cairo_show_text(cr, chord_descr->fret_s); cairo_stroke(cr); restore_font = true; } } if (status & GUITAR_CHORD_DRAW_TEXT) { if (status & GUITAR_CHORD_DRAW_DIAGRAM) { cairo_new_path(cr); cairo_select_font_face(cr, "Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD); cairo_set_font_size(cr, CHORD_NAME_SIZE1_R * zoom); cairo_move_to(cr, TEXT_X_NAME_START, TEXT_Y_NAME_START); cairo_show_text(cr, chord_name); cairo_stroke(cr); } else { cairo_new_path(cr); cairo_select_font_face(cr, "Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD); cairo_set_font_size(cr, CHORD_NAME_SIZE2_R * zoom); cairo_move_to(cr, TEXT_X_NAME_START, TEXT_Y_NAME_START); root_name = NedChordPainter::roots[(status & ROOT_MASK)]; mod_idx = ((status >> ROOT_BITS) & ((1 << MODI_BITS) - 1)); mody_name = NedChordPainter::modies3[mod_idx]; strcpy(rname, root_name); xdist = 0.0; if (rname[1] != '\0') { rname[1] = '\0'; } if (minor[mod_idx]) { if (addoff[(status & ROOT_MASK)]) { rname[1] = ' '; rname[2] = 'm'; rname[3] = '\0'; } else { rname[1] = 'm'; rname[2] = '\0'; #define MINOR_X_DIST 60.0 } xdist = MINOR_X_DIST; } cairo_show_text(cr, rname); #define IDX_X_OFFS 10.0 cairo_select_font_face(cr, "Sans", CAIRO_FONT_SLANT_ITALIC, CAIRO_FONT_WEIGHT_BOLD); cairo_set_font_size(cr, CHORD_NAME_SIZE3_R * zoom); cairo_move_to(cr, TEXT_X_NAME_START + CHORD_HALF_TONE_X_DIST * zoom, TEXT_Y_NAME_START + CHORD_HALF_TONE_Y_DIST * zoom); switch (addoff[(status & ROOT_MASK)]) { case 1: cairo_show_text(cr, "#"); break; case -1: cairo_show_text(cr, "b"); break; } /* if (root_name[1] != '\0') { rname[0] = root_name[1]; cairo_select_font_face(cr, "Sans", CAIRO_FONT_SLANT_ITALIC, CAIRO_FONT_WEIGHT_BOLD); cairo_set_font_size(cr, (rname[0] == 'b' ? CHORD_NAME_SIZE3_R : CHORD_NAME_SIZE4_R) * zoom); cairo_move_to(cr, TEXT_X_NAME_START + (CHORD_HALF_TONE_X_DIST + xdist) * zoom, TEXT_Y_NAME_START + CHORD_HALF_TONE_Y_DIST * zoom); cairo_show_text(cr, rname); } */ if (addoff[(status & ROOT_MASK)]) { xdist += IDX_X_OFFS; } cairo_move_to(cr, TEXT_X_NAME_START + (CHORD_MODYFIER_X_DIST + xdist) * zoom, TEXT_Y_NAME_START - CHORD_MODYFIER_Y_DIST * zoom); cairo_set_font_size(cr, CHORD_NAME_SIZE2_M * zoom); cairo_show_text(cr, mody_name); cairo_stroke(cr); } restore_font = true; } if (restore_font) { #ifdef HAS_SET_SCALED_FONT cairo_set_scaled_font (cr, scaled_font); #else cairo_set_font_face(cr, NedResource::getFontFace()); cairo_set_font_matrix(cr, NedResource::getFontMatrix(zoom_level)); cairo_set_font_options(cr, NedResource::getFontOptions()); #endif } } struct chord_str *NedChordPainter::searchCordByCode(char *code) { struct chord_str *chord_ptr; for (chord_ptr = ned_chords; chord_ptr->chordname1 != NULL; chord_ptr++) { if (!strcmp(chord_ptr->id, code)) return chord_ptr; } return NULL; } void NedChordPainter::writeLilyChord(FILE *fp, struct chord_str *chord_descr) { int i; int barre_start = -1, barre_end = -1, barre_fret = -1; unsigned int block_for_barre = 0; fprintf(fp, "^\\markup \\fret-diagram #\""); for (i = 0; i < 6; i++) { if ((chord_descr->s[i] & 0xf0) == CHORD_END_OF_BARREE_RIGHT) { barre_end = i; barre_start = 5; barre_fret = (0xf & chord_descr->s[i]); block_for_barre = (1 << i) - 1; block_for_barre = ~block_for_barre; } else if ((chord_descr->s[i] & 0xf0) == CHORD_END_OF_BARREE_LEFT) { barre_end = 0; barre_start = i; barre_fret = (0xf & chord_descr->s[i]); block_for_barre = (1 << i) - 1; } } if (barre_start >= 0) { fprintf(fp, "c:%d-%d-%d;", (6 - barre_start), (6 - barre_end), barre_fret); } for (i = 0; i < 6; i++) { if ((chord_descr->s[i] & 0xf0) == CHORD_MUTE) { fprintf(fp, "%d-x;", 6-i); } else if ((chord_descr->s[i] & 0xf) == 0) { fprintf(fp, "%d-o;", 6-i); } else if (chord_descr->s[i] != barre_fret ||i == barre_start || i == barre_end || (((1 << i) & block_for_barre)) == 0) { fprintf(fp, "%d-%d;", 6-i, chord_descr->s[i] & 0xf); } } fprintf(fp, "\" "); } void NedChordPainter::writeLilyChordName(FILE *fp, NedFreeChord *freechord, unsigned int length, unsigned int duration, int dotcount, unsigned int *midi_len) { const char *root_name, *mody_name; unsigned int mod_idx; char Str[128]; int i; root_name = NedChordPainter::roots2[(freechord->getStatus() & ROOT_MASK)]; mod_idx = ((freechord->getStatus() >> ROOT_BITS) & ((1 << MODI_BITS) - 1)); mody_name = NedChordPainter::modies4[mod_idx]; fprintf(fp, "%s", root_name); if (duration != *midi_len) { sprintf(Str, "%d", WHOLE_NOTE / length); for (i = 0; i < dotcount; i++) { strcat(Str, "."); } fprintf(fp, Str); } *midi_len = duration; if (mody_name[0] != '\0') { fprintf(fp, ":%s", mody_name); } putc(' ', fp); } nted-1.10.18/pangocairotext.cpp0000664001041000007640000006221611520267230013274 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "pangocairotext.h" #include "resource.h" #define TEXT_CURSOR_WIDTH 0.04 #define TEXT_CURSOR_HEIGHT 0.3 #define MAX_TEXT_LENGTH 10 #define PANGO_INTERNAL_FONT_FACTOR 1024.0 #define INTERNAL_Y_OFFSET -0.2 #define SPEC_LETTERS_SCALE 600.0 #define CODA_X_OFFSET 0.05 #define CODA_Y_OFFSET 0.31 #define ZERO_X_OFFSET 0.12 #define ZERO_Y_OFFSET 0.29 #define SEGNO_X_OFFSET 0.20 #define SEGNO_Y_OFFSET 0.30 #define SIGN_X_OFFSET 0.04 #define SIGN_Y_OFFSET 0.2 #define FLAT_X_OFFSET 0.0 #define FLAT_Y_OFFSET 0.3 #define NEUTRAL_X_OFFSET 0.01 #define NEUTRAL_Y_OFFSET 0.3 #define HIDDEN_HYPHEN_X_OFFSET 0.01 #define HODDEN_HYPHEN_Y_OFFSET 0.3 struct NedPangoCairoText::utf8_element NedPangoCairoText::utf8code_array[] = { {".", { 0, 0, 0xc2, 0xa0}}, // NO-BREAK SPACE {NULL, { 0, 0, 0xc2, 0xa1}}, // INVERTED EXCLAMATION MARK ¡ {NULL, { 0, 0, 0xc2, 0xa2}}, // CENT SIGN ¢ {NULL, { 0, 0, 0xc2, 0xa3}}, // POUND SIGN £ {NULL, { 0, 0, 0xc2, 0xa4}}, // CURRENCY SIGN ¤ {NULL, { 0, 0, 0xc2, 0xa5}}, // YEN SIGN Â¥ {NULL, { 0, 0, 0xc2, 0xa6}}, // BROKEN BAR ¦ {NULL, { 0, 0, 0xc2, 0xa7}}, // SECTION SIGN § {NULL, { 0, 0, 0xc2, 0xa8}}, // DIAERESIS ¨ {"c", { 0, 0, 0xc2, 0xa9}}, // COPYRIGHT SIGN © {NULL, { 0, 0, 0xc2, 0xaa}}, // FEMININE ORDINAL INDICATOR ª {NULL, { 0, 0, 0xc2, 0xab}}, // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK « {NULL, { 0, 0, 0xc2, 0xac}}, // NOT SIGN ¬ {NULL, { 0, 0, 0xc2, 0xad}}, // SOFT HYPHEN ­ {"r", { 0, 0, 0xc2, 0xae}}, // REGISTERED SIGN ® {NULL, { 0, 0, 0xc2, 0xaf}}, // MACRON ¯ {NULL, { 0, 0, 0xc2, 0xb0}}, // DEGREE SIGN ° {NULL, { 0, 0, 0xc2, 0xb1}}, // PLUS-MINUS SIGN ± {NULL, { 0, 0, 0xc2, 0xb2}}, // SUPERSCRIPT TWO ² {NULL, { 0, 0, 0xc2, 0xb3}}, // SUPERSCRIPT THREE ³ {NULL, { 0, 0, 0xc2, 0xb4}}, // ACUTE ACCENT ´ {NULL, { 0, 0, 0xc2, 0xb5}}, // MICRO SIGN µ {NULL, { 0, 0, 0xc2, 0xb6}}, // PILCROW SIGN ¶ {NULL, { 0, 0, 0xc2, 0xb7}}, // MIDDLE DOT · {NULL, { 0, 0, 0xc2, 0xb8}}, // CEDILLA ¸ {NULL, { 0, 0, 0xc2, 0xb9}}, // SUPERSCRIPT ONE ¹ {NULL, { 0, 0, 0xc2, 0xba}}, // MASCULINE ORDINAL INDICATOR º {NULL, { 0, 0, 0xc2, 0xbb}}, // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK » {NULL, { 0, 0, 0xc2, 0xbc}}, // VULGAR FRACTION ONE QUARTER ¼ {NULL, { 0, 0, 0xc2, 0xbd}}, // VULGAR FRACTION ONE HALF ½ {NULL, { 0, 0, 0xc2, 0xbe}}, // VULGAR FRACTION THREE QUARTERS ¾ {NULL, { 0, 0, 0xc2, 0xbf}}, // INVERTED QUESTION MARK ¿ {NULL, { 0, 0, 0xc3, 0x80}}, // LATIN CAPITAL LETTER A WITH GRAVE À {NULL, { 0, 0, 0xc3, 0x81}}, // LATIN CAPITAL LETTER A WITH ACUTE à {NULL, { 0, 0, 0xc3, 0x82}}, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX  {NULL, { 0, 0, 0xc3, 0x83}}, // LATIN CAPITAL LETTER A WITH TILDE à {NULL, { 0, 0, 0xc3, 0x84}}, // LATIN CAPITAL LETTER A WITH DIAERESIS Ä {NULL, { 0, 0, 0xc3, 0x85}}, // LATIN CAPITAL LETTER A WITH RING ABOVE Ã… {NULL, { 0, 0, 0xc3, 0x86}}, // LATIN CAPITAL LETTER AE Æ {NULL, { 0, 0, 0xc3, 0x87}}, // LATIN CAPITAL LETTER C WITH CEDILLA Ç {NULL, { 0, 0, 0xc3, 0x88}}, // LATIN CAPITAL LETTER E WITH GRAVE È {NULL, { 0, 0, 0xc3, 0x89}}, // LATIN CAPITAL LETTER E WITH ACUTE É {NULL, { 0, 0, 0xc3, 0x8a}}, // LATIN CAPITAL LETTER E WITH CIRCUMFLEX Ê {NULL, { 0, 0, 0xc3, 0x8b}}, // LATIN CAPITAL LETTER E WITH DIAERESIS Ë {NULL, { 0, 0, 0xc3, 0x8c}}, // LATIN CAPITAL LETTER I WITH GRAVE ÃŒ {NULL, { 0, 0, 0xc3, 0x8d}}, // LATIN CAPITAL LETTER I WITH ACUTE à {NULL, { 0, 0, 0xc3, 0x8e}}, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX ÃŽ {NULL, { 0, 0, 0xc3, 0x8f}}, // LATIN CAPITAL LETTER I WITH DIAERESIS à {NULL, { 0, 0, 0xc3, 0x90}}, // LATIN CAPITAL LETTER ETH à {NULL, { 0, 0, 0xc3, 0x91}}, // LATIN CAPITAL LETTER N WITH TILDE Ñ {NULL, { 0, 0, 0xc3, 0x92}}, // LATIN CAPITAL LETTER O WITH GRAVE Ã’ {NULL, { 0, 0, 0xc3, 0x93}}, // LATIN CAPITAL LETTER O WITH ACUTE Ó {NULL, { 0, 0, 0xc3, 0x94}}, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX Ô {NULL, { 0, 0, 0xc3, 0x95}}, // LATIN CAPITAL LETTER O WITH TILDE Õ {NULL, { 0, 0, 0xc3, 0x96}}, // LATIN CAPITAL LETTER O WITH DIAERESIS Ö {NULL, { 0, 0, 0xc3, 0x97}}, // MULTIPLICATION SIGN × {NULL, { 0, 0, 0xc3, 0x98}}, // LATIN CAPITAL LETTER O WITH STROKE Ø {NULL, { 0, 0, 0xc3, 0x99}}, // LATIN CAPITAL LETTER U WITH GRAVE Ù {NULL, { 0, 0, 0xc3, 0x9a}}, // LATIN CAPITAL LETTER U WITH ACUTE Ú {NULL, { 0, 0, 0xc3, 0x9b}}, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX Û {NULL, { 0, 0, 0xc3, 0x9c}}, // LATIN CAPITAL LETTER U WITH DIAERESIS Ü {NULL, { 0, 0, 0xc3, 0x9d}}, // LATIN CAPITAL LETTER Y WITH ACUTE à {NULL, { 0, 0, 0xc3, 0x9e}}, // LATIN CAPITAL LETTER THORN Þ {NULL, { 0, 0, 0xc3, 0x9f}}, // LATIN SMALL LETTER SHARP S ß {NULL, { 0, 0, 0xc3, 0xa0}}, // LATIN SMALL LETTER A WITH GRAVE à {NULL, { 0, 0, 0xc3, 0xa1}}, // LATIN SMALL LETTER A WITH ACUTE á {NULL, { 0, 0, 0xc3, 0xa2}}, // LATIN SMALL LETTER A WITH CIRCUMFLEX â {NULL, { 0, 0, 0xc3, 0xa3}}, // LATIN SMALL LETTER A WITH TILDE ã {NULL, { 0, 0, 0xc3, 0xa4}}, // LATIN SMALL LETTER A WITH DIAERESIS ä {NULL, { 0, 0, 0xc3, 0xa5}}, // LATIN SMALL LETTER A WITH RING ABOVE Ã¥ {NULL, { 0, 0, 0xc3, 0xa6}}, // LATIN SMALL LETTER AE æ {NULL, { 0, 0, 0xc3, 0xa7}}, // LATIN SMALL LETTER C WITH CEDILLA ç {NULL, { 0, 0, 0xc3, 0xa8}}, // LATIN SMALL LETTER E WITH GRAVE è {NULL, { 0, 0, 0xc3, 0xa9}}, // LATIN SMALL LETTER E WITH ACUTE é {NULL, { 0, 0, 0xc3, 0xaa}}, // LATIN SMALL LETTER E WITH CIRCUMFLEX ê {NULL, { 0, 0, 0xc3, 0xab}}, // LATIN SMALL LETTER E WITH DIAERESIS ë {NULL, { 0, 0, 0xc3, 0xac}}, // LATIN SMALL LETTER I WITH GRAVE ì {NULL, { 0, 0, 0xc3, 0xad}}, // LATIN SMALL LETTER I WITH ACUTE í {NULL, { 0, 0, 0xc3, 0xae}}, // LATIN SMALL LETTER I WITH CIRCUMFLEX î {NULL, { 0, 0, 0xc3, 0xaf}}, // LATIN SMALL LETTER I WITH DIAERESIS ï {NULL, { 0, 0, 0xc3, 0xb0}}, // LATIN SMALL LETTER ETH ð {NULL, { 0, 0, 0xc3, 0xb1}}, // LATIN SMALL LETTER N WITH TILDE ñ {NULL, { 0, 0, 0xc3, 0xb2}}, // LATIN SMALL LETTER O WITH GRAVE ò {NULL, { 0, 0, 0xc3, 0xb3}}, // LATIN SMALL LETTER O WITH ACUTE ó {NULL, { 0, 0, 0xc3, 0xb4}}, // LATIN SMALL LETTER O WITH CIRCUMFLEX ô {NULL, { 0, 0, 0xc3, 0xb5}}, // LATIN SMALL LETTER O WITH TILDE õ {NULL, { 0, 0, 0xc3, 0xb6}}, // LATIN SMALL LETTER O WITH DIAERESIS ö {NULL, { 0, 0, 0xc3, 0xb7}}, // DIVISION SIGN ÷ {NULL, { 0, 0, 0xc3, 0xb8}}, // LATIN SMALL LETTER O WITH STROKE ø {NULL, { 0, 0, 0xc3, 0xb9}}, // LATIN SMALL LETTER U WITH GRAVE ù {NULL, { 0, 0, 0xc3, 0xba}}, // LATIN SMALL LETTER U WITH ACUTE ú {NULL, { 0, 0, 0xc3, 0xbb}}, // LATIN SMALL LETTER U WITH CIRCUMFLEX û {NULL, { 0, 0, 0xc3, 0xbc}}, // LATIN SMALL LETTER U WITH DIAERESIS ü {NULL, { 0, 0, 0xc3, 0xbd}}, // LATIN SMALL LETTER Y WITH ACUTE ý {NULL, { 0, 0, 0xc3, 0xbe}}, // LATIN SMALL LETTER THORN þ {NULL, { 0, 0, 0xc3, 0xbf}}, // LATIN SMALL LETTER Y WITH DIAERESIS ÿ {"p", { 0, 0xe2, 0x84, 0x97}}, // SOUND RECORDING COPYRIGHT â„— {"b", { 0, 0xe2, 0x99, 0xad}}, // MUSIC FLAT SIGN â™­ {"n", { 0, 0xe2, 0x99, 0xae}}, // MUSIC NATURAL SIGN â™® {"#", { 0, 0xe2, 0x99, 0xaf}}, // MUSIC SHARP SIGN ♯ {"--", { 0, 0xe2, 0x80, 0x94}}, // EM DASH — {"...", { 0, 0xe2, 0x80, 0xa6}}, // HORIZONTAL ELLIPSIS … {NULL, { 0, 0, 0, 0}} }; NedPangoCairoText::NedPangoCairoText(GdkDrawable *d, const char *text, const char* font_family, PangoStyle style, PangoWeight weight, double size, double zoom, double scale, bool hide_trailing_hyphen) : m_display_layout(NULL), m_measure_layout(NULL), m_drawable(d), m_hidden_hyphen(false), m_text(NULL), m_measure_text(NULL), m_font_family(font_family), m_style(style), m_weight(weight), m_size(size * PANGO_INTERNAL_FONT_FACTOR), m_width(0), m_height(0), m_hide_hyphen(hide_trailing_hyphen), m_cursor_idx(0), m_spec_letters(NULL) { if (text == NULL || strlen(text) < 1) { NedResource::Abort("NedPangoCairoText::NedPangoCairoText"); } m_text = inspect_text(text); m_measure_text = strdup(text); if (hide_trailing_hyphen) { if (m_text[strlen(m_text) - 1] == '-') { m_hidden_hyphen = true; m_text[strlen(m_text) - 1] = '\0'; } } m_drawable = d; m_font_family = font_family; m_style = style; m_weight = weight; cairo_t *cr = gdk_cairo_create (m_drawable); createLayout(cr, zoom, scale); cairo_destroy (cr); m_cursor_idx = g_utf8_strlen(m_text, -1); computeCursorPosition(); } NedPangoCairoText::~NedPangoCairoText() { GList *lptr; if (m_display_layout != NULL) { g_object_unref (m_display_layout); m_display_layout = NULL; } if (m_measure_layout != NULL) { g_object_unref (m_measure_layout); m_measure_layout = NULL; } if (m_text != NULL) { free(m_text); m_text = NULL; } for (lptr = g_list_first(m_spec_letters); lptr; lptr = g_list_next(lptr)) { delete (specLetter *) lptr->data; } g_list_free(m_spec_letters); } char *NedPangoCairoText::getText() { return m_measure_text; } double NedPangoCairoText::getInternalFactor() { return PANGO_INTERNAL_FONT_FACTOR; } void NedPangoCairoText::adjust(GdkDrawable *d, double zoom, double scale) { m_drawable = d; cairo_t *cr = gdk_cairo_create (m_drawable); createLayout(cr, zoom, scale); cairo_destroy (cr); computeDimensions(); computeCursorPosition(); } NedPangoCairoText *NedPangoCairoText::clone() { return new NedPangoCairoText(m_drawable, m_measure_text, m_font_family, m_style, m_weight, m_size / PANGO_INTERNAL_FONT_FACTOR, NedResource::getStartZoomScale(), 1.0, m_hide_hyphen); } void NedPangoCairoText::setText(char *text, double zoom, bool hide_trailing_hyphen) { GList *lptr; m_hide_hyphen = hide_trailing_hyphen; if (m_text != NULL) { free(m_text); m_text = NULL; free(m_measure_text); m_measure_text = NULL; } for (lptr = g_list_first(m_spec_letters); lptr; lptr = g_list_next(lptr)) { delete (specLetter *) lptr->data; } g_list_free(m_spec_letters); m_spec_letters = NULL; m_hidden_hyphen = false; if (text != NULL && strlen(text) > 0) { m_text = inspect_text(text); m_measure_text = strdup(text); if (hide_trailing_hyphen) { if (m_text[strlen(m_text) - 1] == '-') { m_hidden_hyphen = true; m_text[strlen(m_text) - 1] = '\0'; } } } if (m_text == NULL) { pango_layout_set_text (m_display_layout, " ", -1); } else if (strlen(m_text) < 1) { pango_layout_set_text (m_display_layout, " ", -1); } else { pango_layout_set_text (m_display_layout, m_text, -1); pango_layout_set_text (m_measure_layout, m_measure_text, -1); } computeDimensions(); computeCursorPosition(); } void NedPangoCairoText::setZoom(double zoom, double scale) { cairo_t *cr = gdk_cairo_create (m_drawable); PangoFontDescription *desc; desc = pango_font_description_new(); pango_font_description_set_family(desc, m_font_family); pango_font_description_set_style(desc, m_style); pango_font_description_set_weight(desc, m_weight); pango_font_description_set_absolute_size (desc, (int) (m_size * zoom * scale)); pango_layout_set_font_description (m_display_layout, desc); pango_layout_set_font_description (m_measure_layout, desc); pango_cairo_update_layout (cr, m_display_layout); pango_cairo_update_layout (cr, m_measure_layout); pango_layout_get_size (m_measure_layout, &m_width, &m_height); pango_layout_get_size (m_display_layout, &m_internal_width, &m_internal_height); computeCursorPosition(); pango_font_description_free (desc); cairo_destroy (cr); } void NedPangoCairoText::createLayout(cairo_t *cr, double zoom, double scale) { PangoFontDescription *desc; if (m_display_layout != NULL) { g_object_unref (m_display_layout); m_display_layout = NULL; } if (m_measure_layout != NULL) { g_object_unref (m_measure_layout); m_measure_layout = NULL; } m_display_layout = pango_cairo_create_layout (cr); m_measure_layout = pango_cairo_create_layout (cr); if (m_text == NULL) { pango_layout_set_text (m_display_layout, " ", -1); pango_layout_set_text (m_measure_layout, " ", -1); } else if (strlen(m_text) < 1) { pango_layout_set_text (m_display_layout, " ", -1); pango_layout_set_text (m_measure_layout, " ", -1); } else { pango_layout_set_text (m_display_layout, m_text, -1); pango_layout_set_text (m_measure_layout, m_measure_text, -1); } desc = pango_font_description_new(); pango_font_description_set_family(desc, m_font_family); pango_font_description_set_style(desc, m_style); pango_font_description_set_weight(desc, m_weight); pango_font_description_set_absolute_size (desc, (int) (m_size * zoom * scale)); pango_layout_set_font_description (m_display_layout, desc); pango_layout_set_font_description (m_measure_layout, desc); pango_cairo_update_layout (cr, m_display_layout); pango_cairo_update_layout (cr, m_measure_layout); pango_layout_get_size (m_measure_layout, &m_width, &m_height); pango_layout_get_size (m_display_layout, &m_internal_width, &m_internal_height); pango_font_description_free (desc); } bool NedPangoCairoText::textDiffers(char *other_text) { if (other_text == NULL || strlen(other_text) < 1) { return !(m_text == NULL || strlen(m_text) < 1); } if (m_measure_text == NULL || strlen(m_measure_text) < 1) return true; return strcmp(m_measure_text, other_text); } double NedPangoCairoText::getFontSize() { return m_size; } void NedPangoCairoText::draw(cairo_t *cr, double xpos, double ypos, double zoom, double scale) { GList *lptr; specLetter *let; cairo_matrix_t m; double scale_factor = m_size / SPEC_LETTERS_SCALE * scale; double x_shift, y_shift; cairo_new_path(cr); cairo_move_to(cr, xpos, ypos + INTERNAL_Y_OFFSET * zoom); pango_cairo_show_layout (cr, m_display_layout); if (m_spec_letters != NULL) { cairo_get_matrix(cr, &m); cairo_scale(cr, scale_factor, scale_factor); for (lptr = g_list_first(m_spec_letters); lptr; lptr = g_list_next(lptr)) { let = (specLetter *) lptr->data; y_shift = (double) let->pos.y / PANGO_INTERNAL_FONT_FACTOR + let->yoffs; x_shift = xpos + (double) let->pos.x / PANGO_INTERNAL_FONT_FACTOR + let->xoffs * zoom; y_shift = ypos + (double) let->pos.y / PANGO_INTERNAL_FONT_FACTOR + (INTERNAL_Y_OFFSET + let->yoffs) * zoom; cairo_move_to(cr, x_shift / scale_factor, y_shift / scale_factor); cairo_show_text(cr, let->letter); } cairo_set_matrix(cr, &m); } cairo_stroke(cr); } void NedPangoCairoText::drawCursor(cairo_t *cr, double xpos, double ypos, double zoom_factor) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); cairo_new_path(cr); cairo_rectangle (cr, xpos + (double) m_cursorpos.x / PANGO_INTERNAL_FONT_FACTOR, ypos + m_cursorpos.y / PANGO_INTERNAL_FONT_FACTOR, TEXT_CURSOR_WIDTH * zoom_factor, TEXT_CURSOR_HEIGHT * zoom_factor); cairo_fill (cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } void NedPangoCairoText::computeDimensions() { cairo_t *cr = gdk_cairo_create (m_drawable); pango_cairo_update_layout (cr, m_display_layout); pango_layout_get_size (m_measure_layout, &m_width, &m_height); pango_layout_get_size (m_display_layout, &m_internal_width, &m_internal_height); cairo_destroy (cr); } void NedPangoCairoText::insertAtCursorPosition(const char *text, double zoom) { char str1[1024], str2[1024]; gchar *endp; //text = "×¢"; if (text == NULL || strlen(text) < 1) return; bool RTL = pango_find_base_dir(m_text, -1) == PANGO_DIRECTION_RTL; if (m_cursor_idx == 0) { strcpy(str1, text); strcat(str1, m_text); setText(str1, zoom, m_hide_hyphen); m_cursor_idx = 0; if (RTL) moveCursor(-1); computeCursorPosition(); return; } if (m_cursor_idx == g_utf8_strlen(m_measure_text, -1)) { strcpy(str1, m_text); strcat(str1, text); setText(str1, zoom, m_hide_hyphen); m_cursor_idx = strlen(m_measure_text); m_cursorpos.x = RTL ? 0 : m_width; computeDimensions(); return; } g_utf8_strncpy(str1, m_text, m_cursor_idx); endp = g_utf8_offset_to_pointer(str1, m_cursor_idx); *endp = '\0'; endp = g_utf8_offset_to_pointer(m_text, m_cursor_idx); strcpy(str2, endp); strcat(str1, text); strcat(str1, str2); setText(str1, zoom, m_hide_hyphen); computeDimensions(); moveCursor(RTL ? -1 : 1); } bool NedPangoCairoText::removeAtCursorPosition(double zoom) { char str1[1024], str2[1024]; unsigned int old_cursor_idx = m_cursor_idx; if (m_cursor_idx == 0) return false; if (g_utf8_strlen(m_measure_text, -1) <= 1) return false; bool RTL = pango_find_base_dir(m_text, -1) == PANGO_DIRECTION_RTL; if (RTL) { moveCursor(1); if (old_cursor_idx < strlen(m_measure_text)) { strcpy(str2, m_text + old_cursor_idx); } else { str2[0] = '\0'; } strncpy(str1, m_text, m_cursor_idx); str1[m_cursor_idx] = '\0'; strcat(str1, str2); } else { moveCursor(-1); if (old_cursor_idx < strlen(m_measure_text)) { strcpy(str2, m_text + old_cursor_idx); } else { str2[0] = '\0'; } strncpy(str1, m_text, m_cursor_idx); str1[m_cursor_idx] = '\0'; strcat(str1, str2); } setText(str1, zoom, m_hide_hyphen); computeDimensions(); return true; } void NedPangoCairoText::setCursorToLastPos() { if (m_text == NULL) return; bool RTL = (pango_find_base_dir(m_text, -1) == PANGO_DIRECTION_RTL); m_cursor_idx = g_utf8_strlen(m_measure_text, -1); if (RTL) { m_cursor_idx = 0; computeCursorPosition(); } else { m_cursorpos.x = m_width; m_cursor_idx = g_utf8_strlen(m_text, -1); } } void NedPangoCairoText::setCursorToFirstPos() { if (m_text == NULL) return; bool RTL = (pango_find_base_dir(m_text, -1) == PANGO_DIRECTION_RTL); if (RTL) { m_cursor_idx = g_utf8_strlen(m_text, -1); computeCursorPosition(); } else { m_cursor_idx = 0; computeCursorPosition(); } } bool NedPangoCairoText::moveCursor(int dist) { int trailing; gchar *cptr; int newcursor_idx; unsigned int i; unsigned int ll = strlen(m_measure_text); unsigned int llutf8; bool RTL = (pango_find_base_dir(m_text, -1) == PANGO_DIRECTION_RTL); if (m_cursor_idx == ll) { if ((dist > 0 && !RTL) || (dist < 0 && RTL)) { return false; } if ((dist == -1 && !RTL) || (dist == 1 && RTL)) { cptr = m_text; llutf8 = g_utf8_strlen(m_measure_text, -1); for (i = 0; i < llutf8 - 1; i++) { cptr = g_utf8_next_char(cptr); } m_cursor_idx = cptr - m_text; computeCursorPosition(); return true; } return false; } pango_layout_move_cursor_visually(m_measure_layout, TRUE, m_cursor_idx, 0, dist, &newcursor_idx, &trailing); if (newcursor_idx < 0) { return false; } if (trailing > 0) { m_cursor_idx = ll; if (RTL) { m_cursorpos.x = 0; } else { m_cursorpos.x = m_width; } return true; } m_cursor_idx = newcursor_idx; computeCursorPosition(); return true; } double NedPangoCairoText::getWidth() { return (double) m_width / PANGO_INTERNAL_FONT_FACTOR; } double NedPangoCairoText::getHeight() { return (double) m_height / PANGO_INTERNAL_FONT_FACTOR; } double NedPangoCairoText::getInternalWidth() { return (double) m_internal_width / PANGO_INTERNAL_FONT_FACTOR; } double NedPangoCairoText::getInternalHeight() { return (double) m_internal_height / PANGO_INTERNAL_FONT_FACTOR; } void NedPangoCairoText::computeCursorPosition() { GList *lptr; int i; PangoRectangle pos2; pango_layout_get_cursor_pos(m_measure_layout, m_cursor_idx, &m_cursorpos, &pos2); for (i = 0, lptr = g_list_first(m_spec_letters); lptr; lptr = g_list_next(lptr), i++) { pango_layout_get_cursor_pos(m_display_layout, ((specLetter *) lptr->data)->idx, &(((specLetter *) lptr->data)->pos), &pos2); ((specLetter *) lptr->data)->pos.x = ((specLetter *) lptr->data)->pos.x; } } char *NedPangoCairoText::inspect_text(const char *text) { char Str[1024]; char *cptr, *cptr2, *cptr3, *cptr4; specLetter *let; bool small_letter; strcpy(Str, text); cptr = Str; while (*cptr != '\0') { let = NULL; if (*cptr == '\\') { cptr2 = g_utf8_next_char(cptr); if (*cptr2 != '\0') { small_letter = false; cptr3 = g_utf8_next_char(cptr2); switch (*cptr2) { case 'O': let = new specLetter("\160", cptr - Str, CODA_X_OFFSET, CODA_Y_OFFSET); break; case 'o': let = new specLetter("\170", cptr - Str, ZERO_X_OFFSET, ZERO_Y_OFFSET); break; case 'S': let = new specLetter( "\161", cptr - Str, SEGNO_X_OFFSET, SEGNO_Y_OFFSET); break; /* case '#': let = new specLetter( "\100", cptr - Str, SIGN_X_OFFSET, SIGN_Y_OFFSET); small_letter = true; break; case 'b': let = new specLetter( "\121", cptr - Str, FLAT_X_OFFSET, FLAT_Y_OFFSET); small_letter = true; break; case 'n': let = new specLetter( "\122", cptr - Str, NEUTRAL_X_OFFSET, NEUTRAL_Y_OFFSET); small_letter = true; break; */ default: handle_spec_utf8_chars(cptr, cptr2); break; } if (let != NULL) { *cptr = ' '; *cptr2 = ' '; cptr = cptr3; m_spec_letters = g_list_append(m_spec_letters, let); if (small_letter) { cptr--; for (cptr4 = cptr; *cptr4 != '\0'; cptr4++) { *cptr4 = *(cptr4 + 1); } } } else { cptr = g_utf8_next_char(cptr); } } else { cptr = g_utf8_next_char(cptr); } } else { cptr = g_utf8_next_char(cptr); } } return strdup(Str); } void NedPangoCairoText::handle_spec_utf8_chars(char *cptr, char *cptr2) { char *cptr3; int i; int len_dest, len_src; struct utf8_element *utf8_ptr; for (utf8_ptr = utf8code_array; utf8_ptr->utf8code[3]; utf8_ptr++) { if (!utf8_ptr->short_chars) continue; if (!strncmp(cptr2, utf8_ptr->short_chars, strlen(utf8_ptr->short_chars))) { len_dest = 4; for (i = 0; i < 4; i++) { if (!utf8_ptr->utf8code[i]) len_dest--; } if (len_dest < 1) { NedResource::Abort("NedPangoCairoText::handle_spec_utf8_chars"); } len_src = strlen(utf8_ptr->short_chars) + 1; if (len_dest > len_src) { for (cptr3 = cptr + strlen(cptr) + (len_dest - len_src); cptr3 >= cptr + (len_dest - len_src); cptr3--) { *cptr3 = *(cptr3 - (len_dest - len_src)); } } else if (len_dest < len_src) { for (cptr3 = cptr + len_dest; *(cptr3 + (len_src - len_dest)); cptr3++) { *cptr3 = *(cptr3 + (len_src - len_dest)); } *(cptr3) = '\0'; } for (i = 4 - len_dest; i < 4; i++, cptr++) { *cptr = utf8_ptr->utf8code[i]; } return; } } } void NedPangoCairoText::convert_bslash_text_to_utf8_text(const char *in_text, char *out_text) { char Str[1024]; char *cptr, *cptr2; strcpy(Str, in_text); cptr = Str; while (*cptr != '\0') { if (*cptr == '\\') { cptr2 = g_utf8_next_char(cptr); if (*cptr2 != '\0') { handle_spec_utf8_chars(cptr, cptr2); } else { cptr = g_utf8_next_char(cptr); } } else { cptr = g_utf8_next_char(cptr); } } strcpy(out_text, Str); } void NedPangoCairoText::makeLilyString(char *in_string, char *buffer) { char *cori, *ori, buf1[1024]; buffer[0] = '"'; //strcpy(buf1, in_string); convert_bslash_text_to_utf8_text(in_string, buf1); ori = buf1; cori = buffer + 1; while (*ori != '\0') { if (*ori == '"' || *ori == '\\') { *cori++ = '\\'; } *cori++ = *ori++; } *cori++ = '"'; *cori = '\0'; } NedPangoCairoText::specLetter::specLetter(const char *let, int ix, double xo, double yo) : letter(let), idx(ix), xoffs(xo), yoffs(yo) {} nted-1.10.18/staff.cpp0000664001041000007640000014013311520267230011343 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "staff.h" #include "voice.h" #include "chordorrest.h" #include "system.h" #include "page.h" #include "system.h" #include "mainwindow.h" #include "clipboard.h" #include "pangocairotext.h" #define DEFAULT_STAFF_DIST (4 * LINE_DIST) #define X_POS_PAGE_REL(p) ((getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_SYS_REL(p) (((p) + getSystem()->getYPos()) * zoom_factor - topy) #define X_PS_POS(p) ((DEFAULT_BORDER + LEFT_RIGHT_BORDER + (p)) * PS_ZOOM) #define Y_PS_POS_SYS_REL(p) ((height - ((p) + getSystem()->getYPos())) * PS_ZOOM) #define Y_POS_INVERS_STAFF_REL(p) ((topy + (p) / current_scale) / zoom_factor - (getSystem()->getYPos() + getBottomPos())) #define X_POS_INVERS_STAFF_REL(p) (((p) / current_scale + leftx) / zoom_factor - (getPage()->getContentXpos())) #define Y_POS_STAFF_REL(p) (((p) + getSystem()->getYPos() + getBottomPos()) * zoom_factor - topy) const char NedStaff::m_sharpPos[7][7] = { {8, 5, 9, 6, 3, 7, 4}, {6, 3, 7, 4, 1, 5, 2}, {7, 4, 8, 5, 2, 6, 3}, {3, 0, 4, 1, 5, 2, 6}, {9, 6, 3, 7, 4, 8, 5}, {8, 5, 9, 6, 3, 7, 4}, {6, 3, 7, 4, 1, 5, 2} }; const char NedStaff::m_flatPos[7][7] = { {4, 7, 3, 6, 2, 5, 1}, {2, 5, 1, 4, 0, 3, -1}, {3, 6, 2, 5, 1, 4, 0}, {6, 2, 5, 1, 4, 0, 3}, {5, 8, 4, 7, 3, 6, 2}, {4, 7, 3, 6, 2, 5, 1}, {2, 5, 1, 4, 0, 3, -1} }; NedStaff::NedStaff(NedSystem *system, double ypos, double width, int nr, bool start) : m_staffelems(NULL), m_ypos(ypos), m_width(width), m_top_y_border(0), m_lyrics_lines(0), m_bottom_y_border(4 * LINE_DIST), m_staff_number(nr), m_clef_type(TREBLE_CLEF), m_clef_octave_shift(0), m_keysig(0), m_volume_changes(NULL), m_system(system) { int i; if (start) { for (i = 0; i < VOICE_COUNT; i++) { m_voices[i] = new NedVoice(this, i, TRUE); } #ifdef TTT if (nr == 0 && getSystem()->getSystemNumber() == 0) { m_staffelems = g_list_append(m_staffelems, new NedChordOrRest(m_voices[0], TYPE_KEYSIG, -3, (6 * 4 + 1) * NOTE_4)); m_staffelems = g_list_append(m_staffelems, new NedChordOrRest(m_voices[0], TYPE_KEYSIG, 3, 8 * 4 * NOTE_4)); } #endif } } NedStaff::~NedStaff() { int i; for (i = 0; i < VOICE_COUNT; i++) { delete m_voices[i]; } } NedStaff *NedStaff::clone(struct addr_ref_str **addrlist, struct addr_ref_str **slurlist, NedSystem *p_system, int staff_number) { GList * lptr; int i; NedStaff *staff = new NedStaff(p_system, m_ypos, m_width, staff_number, false); for (lptr = g_list_first(m_staffelems); lptr; lptr = g_list_next(lptr)) { staff->m_staffelems = g_list_append(staff->m_staffelems, ((NedChordOrRest *) lptr->data)->clone(NULL, NULL, m_voices[0])); } for (i = 0; i < VOICE_COUNT; i++) { staff->m_voices[i] = m_voices[i]->clone(addrlist, slurlist, staff); } return staff; } void NedStaff::adjust_pointers(struct addr_ref_str *addrlist, struct addr_ref_str *slurlist) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->adjust_pointers(addrlist, slurlist); } } void NedStaff::appendWholeRest(NedCommandList *command_list /* = NULL */) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->appendWholeRest(command_list); } } void NedStaff::setUpbeatRests(unsigned int upbeat_inverse) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->setUpbeatRests(upbeat_inverse); } } void NedStaff::appendAppropriateWholes(int start_measure) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->appendAppropriateWholes(start_measure); } } void NedStaff::setAndUpdateClefTypeAndKeySig(int *clef_and_key_array, bool first) { GList *lptr; m_clef_type = clef_and_key_array[3 * m_staff_number + 0]; m_clef_octave_shift = clef_and_key_array[3 * m_staff_number + 1]; m_keysig = clef_and_key_array[3 * m_staff_number + 2]; double staff_start; int k; for (lptr = g_list_first(m_staffelems); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() == TYPE_CLEF) { if (((NedChordOrRest *) lptr->data)->getMidiTime() == 0) { m_clef_type = ((NedChordOrRest *) lptr->data)->getLength(); m_clef_octave_shift = ((NedChordOrRest *) lptr->data)->getDotCount(); } clef_and_key_array[3 * m_staff_number + 0] = ((NedChordOrRest *) lptr->data)->getLength(); // clef number clef_and_key_array[3 * m_staff_number + 1] = ((NedChordOrRest *) lptr->data)->getDotCount(); // octave shift } else if (((NedChordOrRest *) lptr->data)->getType() == TYPE_KEYSIG) { ((NedChordOrRest *) lptr->data)->setDotCount(clef_and_key_array[3 * m_staff_number + 2]); ((NedChordOrRest *) lptr->data)->computeBbox(); clef_and_key_array[3 * m_staff_number + 2] = ((NedChordOrRest *) lptr->data)->getLength(); // keysig value } } k = (m_keysig < 0) ? -m_keysig : m_keysig; staff_start = CLEF_SPACE + k * SIG_X_SHIFT + 2 * EXTRA_KEY_OFF; if (first) { staff_start += TIME_SIGNATURE_SPACE; } if (m_system->m_system_start < staff_start) { m_system->m_system_start = staff_start; } } void NedStaff::determineTempoInverse(NedChordOrRest *element, unsigned long long till, double *tempoinverse, bool *found) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->determineTempoInverse(element, till, tempoinverse, found); } } GList *NedStaff::getFirstChordOrRest(int voice_nr, int lyrics_line, bool lyrics_required, bool note_required) { if (voice_nr < 0 || voice_nr >= VOICE_COUNT) { NedResource::Abort("NedStaff::getFirstChordOrRest"); } return m_voices[voice_nr]->getFirstChordOrRest(lyrics_line, lyrics_required, note_required); } GList *NedStaff::getLastChordOrRest(int voice_nr, int lyrics_line, bool lyrics_required, bool note_required) { if (voice_nr < 0 || voice_nr >= VOICE_COUNT) { NedResource::Abort("NedStaff::getLastChordOrRest"); } return m_voices[voice_nr]->getLastChordOrRest(lyrics_line, lyrics_required, note_required); } void NedStaff::collectSelectionRectangleElements(double xp, double yp, NedBbox *sel_rect, GList **sel_group, bool is_first_selected, bool is_last_selected) { int i; if (is_first_selected && m_ypos + 4 * LINE_DIST < yp) return; if (is_last_selected && yp + sel_rect->height < m_ypos) return; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->collectSelectionRectangleElements(xp, yp, sel_rect, sel_group, is_first_selected, is_last_selected); } } bool NedStaff::hasTupletConflict(unsigned int meas_duration, GList **elements, int from_staff, unsigned int long long midi_time) { int i; for (i = 0; i < VOICE_COUNT; i++) { if (m_voices[i]->hasTupletConflict(meas_duration, elements, from_staff, midi_time)) { return TRUE; } } return FALSE; } void NedStaff::pasteElements(NedCommandList *command_list, GList **elements, int from_staff, unsigned long long start_midi_time) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->pasteElements(command_list, elements, from_staff, start_midi_time); } } bool NedStaff::findFromTo(GList *clipboard) { int i; bool found = FALSE; for (i = 0; i < VOICE_COUNT; i++) { if (m_voices[i]->findFromTo(clipboard)) { found = TRUE; } } return found; } bool NedStaff::findStartMeasureLimits(GList *clipboard, unsigned long long *start_midi) { int i; bool found = FALSE, fnd; for (i = 0; i < VOICE_COUNT; i++) { fnd = m_voices[i]->findStartMeasureLimits(clipboard, start_midi); found = found || fnd; } return found; } bool NedStaff::findEndMeasureLimits(GList *clipboard, unsigned long long *end_midi) { int i; bool found = FALSE, fnd; for (i = 0; i < VOICE_COUNT; i++) { fnd = m_voices[i]->findEndMeasureLimits(clipboard, end_midi); found = found || fnd; } return found; } void NedStaff::deleteItemsFromTo(NedCommandList *command_list, bool is_first, bool is_last, unsigned long long start_midi, unsigned long long end_midi) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->deleteItemsFromTo(command_list, is_first, is_last, start_midi, end_midi); } } void NedStaff::removeNotesFromTo(NedCommandList *command_list, GList *items, bool is_first, bool is_last) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->removeNotesFromTo(command_list, items, is_first, is_last); } } void NedStaff::insertBlocks(NedCommandList *command_list, int blockcount, unsigned long long midi_time) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->insertBlocks(command_list, blockcount, midi_time); } } void NedStaff::testForPageBackwardTies(NedCommandList *command_list) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->testForPageBackwardTies(command_list); } } void NedStaff::checkForElementsToSplit(NedCommandList *command_list) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->checkForElementsToSplit(command_list); } } void NedStaff::findSelectedStaffs(double yp, NedBbox *sel_rect, int *number_of_first_selected_staff, int *number_of_last_selected_staff) { if (m_ypos < yp || m_ypos + 4 * LINE_DIST > yp + sel_rect->height) return; if (*number_of_first_selected_staff < 0) { *number_of_first_selected_staff = *number_of_last_selected_staff = m_staff_number; /* printf("num = %d, sys_m_ypos = %f m_ypos = %f, m_ypos - 4 * LINE_DIST = %f, sys_m_ypos + m_ypos = %f yp = %f, yp + 4 * LINE_DIST = %f\n", m_staff_number, m_system->getYPos(),m_ypos, m_ypos - 4 * LINE_DIST, m_system->getYPos() + m_ypos, yp, yp + 4 * LINE_DIST); fflush(stdout); */ return; } *number_of_last_selected_staff = m_staff_number; } NedMainWindow *NedStaff::getMainWindow() {return m_system->getPage()->getMainWindow();} NedPage *NedStaff::getPage() {return m_system->getPage();} double NedStaff::getSystemEnd() { return getPage()->getContentWidth() + TIE_X_RIGHT_OVER; } double NedStaff::getSystemStart() { return getSystem()->m_system_start - TIE_X_OFFS; } GList *NedStaff::getStaffElements(unsigned long long midi_time) { GList *lptr, *elems = NULL; for (lptr = g_list_first(m_staffelems); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getMidiTime() == midi_time) { elems = g_list_append(elems, lptr->data); } } return elems; } void NedStaff::draw(cairo_t *cr, double botpos, bool first_page, double indent, bool *freetexts_or_lyrics_present) { GList *lptr; double leftx = getMainWindow()->getLeftX(); double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double clef_y_offs = 0.0; bool oct_shift = false; double oct_shift_x_offs = 0.0, oct_shift_y_offs = 0.0; int zoom_level = getMainWindow()->getCurrentZoomLevel(); double sig_xpos; bool dummy = false; int i; cairo_new_path(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); cairo_set_line_width(cr, zoom_factor *LINE_THICK); for (i = 0; i < 5; i++) { cairo_move_to(cr, X_POS_PAGE_REL(indent), Y_POS_SYS_REL(m_ypos + i*LINE_DIST)); cairo_line_to(cr, X_POS_PAGE_REL(m_width), Y_POS_SYS_REL(m_ypos + i*LINE_DIST)); } cairo_stroke(cr); //#define DRAW_TOP_BOTTOM_BORDERS #ifdef DRAW_TOP_BOTTOM_BORDERS cairo_new_path(cr); cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); //NedResource::DbgMsg(DBG_TESTING, "(4)topy ist %f == %d, boty ist %f == %d\n", m_top_y_border, (int) ( m_top_y_border / LINE_DIST), m_bottom_y_border, (int) (m_bottom_y_border / LINE_DIST)); cairo_move_to(cr, X_POS_PAGE_REL(0), Y_POS_SYS_REL(m_ypos + m_top_y_border)); cairo_line_to(cr, X_POS_PAGE_REL(m_width), Y_POS_SYS_REL(m_ypos + m_top_y_border)); cairo_stroke(cr); cairo_new_path(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); cairo_move_to(cr, X_POS_PAGE_REL(0), Y_POS_SYS_REL(m_ypos + m_bottom_y_border)); cairo_line_to(cr, X_POS_PAGE_REL(m_width), Y_POS_SYS_REL(m_ypos + m_bottom_y_border)); cairo_stroke(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); #endif #define Y_POS_STAFF_REL(p) (((p) + getSystem()->getYPos() + getBottomPos()) * zoom_factor - topy) cairo_glyph_t glyph[2]; cairo_new_path(cr); switch (m_clef_type) { case TREBLE_CLEF: glyph[0].index = BASE + 2; switch (m_clef_octave_shift) { case 12: oct_shift_y_offs = OCTUP_Y_TREBLE_DIST_UP; oct_shift = true; break; case -12: oct_shift_y_offs = OCTUP_Y_TREBLE_DIST_DOWN; oct_shift = true; break; } break; case ALTO_CLEF: glyph[0].index = BASE + 1; switch (m_clef_octave_shift) { case 12: oct_shift_y_offs = OCTUP_Y_ALTO_DIST_UP; oct_shift_x_offs = OCTUP_X_ALTO_DIST; oct_shift = true; break; case -12: oct_shift_y_offs = OCTUP_Y_ALTO_DIST_DOWN; oct_shift_x_offs = OCTUP_X_ALTO_DIST; oct_shift = true; break; } break; case SOPRAN_CLEF: glyph[0].index = BASE + 1; switch (m_clef_octave_shift) { case 12: oct_shift_y_offs = OCTUP_Y_ALTO_DIST_UP; oct_shift_x_offs = OCTUP_X_ALTO_DIST; oct_shift = true; break; case -12: oct_shift_y_offs = OCTUP_Y_ALTO_DIST_DOWN; oct_shift_x_offs = OCTUP_X_ALTO_DIST; oct_shift = true; break; } clef_y_offs = 2 * LINE_DIST; break; case TENOR_CLEF: glyph[0].index = BASE + 1; switch (m_clef_octave_shift) { case 12: oct_shift_y_offs = OCTUP_Y_ALTO_DIST_UP; oct_shift_x_offs = OCTUP_X_ALTO_DIST; oct_shift = true; break; case -12: oct_shift_y_offs = OCTUP_Y_ALTO_DIST_DOWN; oct_shift_x_offs = OCTUP_X_ALTO_DIST; oct_shift = true; break; } clef_y_offs = -LINE_DIST;break; case NEUTRAL_CLEF1: case NEUTRAL_CLEF2: case NEUTRAL_CLEF3: glyph[0].index = BASE + 27; break; default: glyph[0].index = BASE + 3; switch (m_clef_octave_shift) { case 12: oct_shift_y_offs = OCTUP_Y_BASS_DIST_UP; oct_shift = true; break; case -12: oct_shift_y_offs = OCTUP_Y_BASS_DIST_DOWN; oct_shift = true; break; } break; } glyph[0].x = X_POS_PAGE_REL(CLEF_POS + indent); glyph[0].y = Y_POS_STAFF_REL(clef_y_offs + -3 * LINE_DIST/2.0); cairo_show_glyphs(cr, glyph, 1); if (oct_shift) { glyph[0].index = BASE + 28; glyph[0].x = X_POS_PAGE_REL(CLEF_POS + indent + oct_shift_x_offs); glyph[0].y = Y_POS_STAFF_REL(-3 * LINE_DIST/2.0 + clef_y_offs + oct_shift_y_offs); cairo_show_glyphs(cr, glyph, 1); } cairo_stroke(cr); sig_xpos = CLEF_SPACE + indent; if (m_keysig > 0) { cairo_new_path(cr); glyph[0].index = BASE - 1; for (i = 0; i < m_keysig; i++) { glyph[0].x = X_POS_PAGE_REL(sig_xpos); glyph[0].y = Y_POS_STAFF_REL(-m_sharpPos[m_clef_type][i] * LINE_DIST/2.0); sig_xpos += SIG_X_SHIFT; cairo_show_glyphs(cr, glyph, 1); } cairo_stroke(cr); } else if (m_keysig < 0) { cairo_new_path(cr); glyph[0].index = BASE + 16; for (i = 0; i > m_keysig; i--) { glyph[0].x = X_POS_PAGE_REL(sig_xpos); glyph[0].y = Y_POS_STAFF_REL(-m_flatPos[m_clef_type][-i] * LINE_DIST/2.0); sig_xpos += SIG_X_SHIFT; cairo_show_glyphs(cr, glyph, 1); } cairo_stroke(cr); } if (first_page || getMainWindow()->isTimsigChangingMeasure(getSystem()->getNumberOfFirstMeasure())) { switch (getMainWindow()->getTimesigSymbol(getSystem()->getNumberOfFirstMeasure())) { case TIME_SYMBOL_COMMON_TIME: glyph[0].index = BASE + 56; glyph[0].x = X_POS_PAGE_REL(sig_xpos); glyph[0].y = Y_POS_STAFF_REL(-3 * LINE_DIST/2.0); cairo_show_glyphs(cr, glyph, 1); cairo_stroke(cr); break; case TIME_SYMBOL_CUT_TIME: glyph[0].index = BASE + 57; glyph[0].x = X_POS_PAGE_REL(sig_xpos); glyph[0].y = Y_POS_STAFF_REL(-3 * LINE_DIST/2.0); cairo_show_glyphs(cr, glyph, 1); cairo_stroke(cr); break; default: int n = getMainWindow()->getNumerator(getSystem()->getNumberOfFirstMeasure()); if (n > 9) { glyph[0].index = NUMBERBASE + n / 10; glyph[0].x = X_POS_PAGE_REL(sig_xpos - SIG_HALF); glyph[0].y = Y_POS_STAFF_REL(Y_NUMRATOR_POS); glyph[1].index = NUMBERBASE + n % 10; glyph[1].x = X_POS_PAGE_REL(sig_xpos + SIG_HALF); glyph[1].y = Y_POS_STAFF_REL(Y_NUMRATOR_POS); cairo_show_glyphs(cr, glyph, 2); } else { glyph[0].index = NUMBERBASE + n; glyph[0].x = X_POS_PAGE_REL(sig_xpos); glyph[0].y = Y_POS_STAFF_REL(Y_NUMRATOR_POS); cairo_show_glyphs(cr, glyph, 1); } n = getMainWindow()->getDenominator(getSystem()->getNumberOfFirstMeasure()); if (n > 9) { glyph[0].index = NUMBERBASE + n / 10; glyph[0].x = X_POS_PAGE_REL(sig_xpos - SIG_HALF); glyph[0].y = Y_POS_STAFF_REL(Y_DENOMINATOR_POS); glyph[1].index = NUMBERBASE + n % 10; glyph[1].x = X_POS_PAGE_REL(sig_xpos + SIG_HALF); glyph[1].y = Y_POS_STAFF_REL(Y_DENOMINATOR_POS); cairo_show_glyphs(cr, glyph, 2); } else { glyph[0].index = NUMBERBASE + n; glyph[0].x = X_POS_PAGE_REL(sig_xpos); glyph[0].y = Y_POS_STAFF_REL(Y_DENOMINATOR_POS); cairo_show_glyphs(cr, glyph, 1); } cairo_stroke(cr); break; } // switch } m_freetexts_or_lyrics_present = false; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->draw(cr, &m_freetexts_or_lyrics_present); } int mcount = getSystem()->getFullMeasureCount(); bool rep_line_needed = getMainWindow()->needsARepLine(getSystem()->getMeasureNr(0)->getMeasureNumber()); getSystem()->getMeasureNr(0)->draw(cr, SPECIAL_POSITION_START, m_system->m_system_start + REP_THICK_LINE_DIST - indent, getPage()->getContentXpos() + indent, getSystem()->getYPos(), m_ypos - LINE_THICK / 2.0, botpos + LINE_THICK / 2.0, getBottomPos(), leftx, topy, m_top_y_border, zoom_factor, zoom_level, rep_line_needed, getSystem()->getSpecialMeasuresAtEnd(), false); for (i = 1; i <= mcount; i++) { rep_line_needed = getMainWindow()->needsARepLine(getSystem()->getMeasureNr(i)->getMeasureNumber()); getSystem()->getMeasureNr(i)->draw(cr, (i == mcount) ? SPECIAL_POSITION_END : SPECIAL_POSITION_NONE, m_width, getPage()->getContentXpos(), getSystem()->getYPos(), m_ypos - LINE_THICK / 2.0, botpos + LINE_THICK / 2.0, getBottomPos(), leftx, topy, m_top_y_border, zoom_factor, zoom_level, rep_line_needed, getSystem()->getSpecialMeasuresAtEnd(), false); } for (lptr = g_list_first(m_staffelems); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getMidiTime() == 0 && ((NedChordOrRest *) lptr->data)->getType() == TYPE_CLEF) continue; ((NedChordOrRest *) lptr->data)->draw(cr, &dummy); } if (getMainWindow()->m_staff_contexts[m_staff_number].m_staff_name != NULL || getMainWindow()->m_staff_contexts[m_staff_number].m_staff_short_name != NULL) { m_freetexts_or_lyrics_present = true; } if (m_freetexts_or_lyrics_present) *freetexts_or_lyrics_present = true; #ifdef SHOW_MASURE_LENGTH int measure_count = getSystem()->getMeasureCount(); cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * MEASURE_LINE_THICK); cairo_set_source_rgb (cr, 1.0, 0.0, 1.0); for (i = 0; i < getSystem()->getMeasureCount(); i++) { cairo_move_to(cr, X_POS_PAGE_REL(getSystem()->getMeasureNr(i)->start), Y_POS_SYS_REL(getTopPos() + 3 * LINE_DIST + 0.05)); cairo_line_to(cr, X_POS_PAGE_REL(getSystem()->getMeasureNr(i)->start + getSystem()->getMeasureInfo(i)->width), Y_POS_SYS_REL(getTopPos() + 3 * LINE_DIST + 0.05)); } cairo_stroke(cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); #endif }; void NedStaff::drawTexts(cairo_t *cr, bool first_page, double scale) { int i; if (!m_freetexts_or_lyrics_present) return; double leftx = getMainWindow()->getLeftX(); double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); if (first_page) { if (getMainWindow()->m_staff_contexts[m_staff_number].m_staff_name != NULL) { getMainWindow()->m_staff_contexts[m_staff_number].m_staff_name->draw(cr, ((getPage()->getContentXpos()) * zoom_factor - leftx) * scale + (getMainWindow()->getNettoIndent() - getMainWindow()->m_staff_contexts[m_staff_number].m_staff_name->getInternalWidth()), Y_POS_SYS_REL(m_ypos + 2 * LINE_DIST) * scale, zoom_factor, scale); } } else if (getMainWindow()->m_staff_contexts[m_staff_number].m_staff_short_name != NULL) { getMainWindow()->m_staff_contexts[m_staff_number].m_staff_short_name->draw(cr, ((getPage()->getContentXpos()) * zoom_factor - leftx) * scale + (getMainWindow()->get2ndNettoIndent() - getMainWindow()->m_staff_contexts[m_staff_number].m_staff_short_name->getInternalWidth()), Y_POS_SYS_REL(m_ypos + 2 * LINE_DIST) * scale, zoom_factor, scale); } for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->drawTexts(cr, scale); } }; void NedStaff::convertStaffRel(double x, double y, double *x_trans, double *y_trans) { double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double leftx = getMainWindow()->getLeftX(); double topy = getMainWindow()->getTopY(); double current_scale = getMainWindow()->getCurrentScale(); *y_trans = Y_POS_INVERS_STAFF_REL(y); *x_trans = X_POS_INVERS_STAFF_REL(x); } double NedStaff::getBottomPos() { return m_ypos + 4 * LINE_DIST; } double NedStaff::getMidPos() { return m_ypos + 2 * LINE_DIST; } double NedStaff::getHeight() { return 4 * LINE_DIST; } double NedStaff::getRealYPosOfLine(int line) { double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double topy = getMainWindow()->getTopY(); return getMainWindow()->getCurrentScale() * Y_POS_SYS_REL(m_ypos + 4 * LINE_DIST + line * LINE_DIST / 2.0); } void NedStaff::empty() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->empty(); } } bool NedStaff::hasOnlyRests() { int i; for (i = 0; i < VOICE_COUNT; i++) { if (!m_voices[i]->hasOnlyRests()) return false; } return true; } void NedStaff::cutEmptyVoices() { int i, j; bool has_only_rests[VOICE_COUNT]; NedVoice *tmp_voice; bool tmp_b; for (i = 0; i < VOICE_COUNT; i++) { has_only_rests[i] = m_voices[i]->hasOnlyRests(); } for (i = 0; i < VOICE_COUNT; i++) { if (has_only_rests[i]) { m_voices[i]->empty(); m_voices[i]->appendAppropriateWholes(0); } } for (i = 0; i < VOICE_COUNT - 1; i++) { if (has_only_rests[i]) { for (j = i + 1; j < VOICE_COUNT; j++) { if (!has_only_rests[j]) { tmp_voice = m_voices[i]; m_voices[i] = m_voices[j]; m_voices[j] = tmp_voice; tmp_b = has_only_rests[i]; has_only_rests[i] = has_only_rests[j]; has_only_rests[j] = tmp_b; break; } } } } for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->setVoiceNumber(i); } } void NedStaff::handleEmptyMeasures() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->handleEmptyMeasures(); } } void NedStaff::zoomFreeReplaceables(double zoom, double scale) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->zoomFreeReplaceables(zoom, scale); } } void NedStaff::recomputeFreeReplaceables() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->recomputeFreeReplaceables(); } } void NedStaff::testTies() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->testTies(); } } bool NedStaff::trySelect(double x, double y, bool only_free_placeables) { int i; GList *lptr; for (lptr = g_list_first(m_staffelems); !only_free_placeables && lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->trySelect(x, y, false)) { return TRUE; } } for (i = 0; i < VOICE_COUNT; i++) { if (m_voices[i]->trySelect(x, y, only_free_placeables)) { return TRUE; } } return FALSE; } NedChordOrRest *NedStaff::findNearestElement(double x, double y, NedStaff *oldstaff, double *mindist, double *ydist) { NedChordOrRest *nearestELement = NULL, *element; #define HYSTERESIS 0.4 #ifdef ALL_NEAREST for (i = 0; i < VOICE_COUNT; i++) { if ((element = m_voices[i]->findNearestElement(x, y, mindist, ydist)) != NULL) { nearestELement = element; } } #endif if ((element = m_voices[0]->findNearestElement(x, y, (oldstaff == this) ? HYSTERESIS : 1.0, mindist, ydist)) != NULL) { nearestELement = element; } return nearestELement; } bool NedStaff::tryChangeLength(NedChordOrRest *chord_or_rest) { int i; for (i = 0; i < VOICE_COUNT; i++) { if (m_voices[i]->tryChangeLength(chord_or_rest)) { return TRUE; } } return FALSE; } void NedStaff::prepareForImport() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->prepareForImport(); } } void NedStaff::removeLastImported() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->removeLastImported(); } } bool NedStaff::truncateAtStart(NedCommandList *command_list, unsigned long long midi_time) { int i; for (i = 0; i < VOICE_COUNT; i++) { if (!m_voices[i]->truncateAtStart(command_list, midi_time)) return false; } return true; } bool NedStaff::handleImportedTuplets() { int i; for (i = 0; i < VOICE_COUNT; i++) { if (!m_voices[i]->handleImportedTuplets()) return false; } return true; } void NedStaff::handleStaffElements() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->handleStaffElements(); } } void NedStaff::appendElementsOfMeasureLength(part *part_ptr, unsigned int meas_duration, int meas_num) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->appendElementsOfMeasureLength(part_ptr, meas_duration, meas_num); } } void NedStaff::copyDataOfWholeStaff() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->copyDataOfWholeVoice(); } } bool NedStaff::tryInsertOrErease(double x, double y, int num_midi_input_notes, int *midi_input_chord /* given if insert from midikeyboard */, NedChordOrRest **newObj, bool force_rest) { return m_voices[getMainWindow()->getCurrentVoice()]->tryInsertOrErease(x, y, num_midi_input_notes, midi_input_chord, newObj, force_rest); } bool NedStaff::findLine(double x, double y, double *ypos, int *line, double *bottom) { double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double current_scale = getMainWindow()->getCurrentScale(); double yl = Y_POS_INVERS_STAFF_REL(y); double yoffs = (yl >= 0.0) ? LINE_DIST / 4.0 : -LINE_DIST / 4.0; *line = (int) ((yl + yoffs) / (LINE_DIST/2.0)); if (*line < -(MAX_OVER_UNDER_LINES + 8) || *line > MAX_OVER_UNDER_LINES) return FALSE; *ypos = (Y_POS_STAFF_REL(*line * LINE_DIST/2.0) + yoffs); *bottom = Y_POS_STAFF_REL(0); return TRUE; } bool NedStaff::findFirstElementeGreaterThan(double x, NedChordOrRest **element) { return m_voices[0]->findFirstElementeGreaterThan(x, element); } bool NedStaff::findLastElementeLessThan(double x, NedChordOrRest **element) { return m_voices[0]->findLastElementeLessThan(x, element); } bool NedStaff::hasStaffElem(unsigned long long miditime) { GList *lptr; for (lptr = g_list_first(m_staffelems); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getMidiTime() == miditime) { return true; } } return false; } void NedStaff::computeBeams() { int i; //bool topFix = false, botFix = false; m_top_y_border = 0; m_bottom_y_border = 4 * LINE_DIST; m_lyrics_lines = 0; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->computeBeams(&m_lyrics_lines, &m_top_y_border, &m_bottom_y_border, /* &topFix, &botFix, */ m_staff_number * VOICE_COUNT + i); //if (topFix && botFix) break; } } void NedStaff::computeTies() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->computeTies(); } } void NedStaff::computeTuplets(bool has_repeat_lines) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->computeTuplets(&m_top_y_border, &m_bottom_y_border); } if (has_repeat_lines) { if (m_top_y_border > -MIN_SEC_DIST) { m_top_y_border = -MIN_SEC_DIST; } m_top_y_border -= SEC_DIST_BELOW + SEC_DIST_ABOVE; } } double NedStaff::placeStaff(double staffpos) { #define STAFF_MIN_DIST 2.0 #ifdef PLACE_OUT_DEBUG if (getSystem()->getSystemNumber() < 2) { NedResource::DbgMsg(DBG_TESTING, "system %d staff %d: (1)staffpos = %f(%d)\n", getSystem()->getSystemNumber(), m_staff_number, staffpos, (int) (staffpos / (LINE_DIST / 2))); } #endif if (m_top_y_border < 0) { #ifdef PLACE_OUT_DEBUG2 if (getSystem()->getSystemNumber() == 0 && m_staff_number == 0) { NedResource::DbgMsg(DBG_TESTING, "erhoehe von %f auf %f\n", staffpos, staffpos -m_top_y_border); } #endif staffpos += -m_top_y_border; } m_ypos = staffpos; #ifdef PLACE_OUT_DEBUG if (getSystem()->getSystemNumber() < 2) { NedResource::DbgMsg(DBG_TESTING, "(2)m_bottom_y_border = %f(%d), STAFF_MIN_DIST = %f(%d)\n", m_bottom_y_border, (int) (m_bottom_y_border / (LINE_DIST / 2)), STAFF_MIN_DIST, (int) (STAFF_MIN_DIST / (LINE_DIST / 2))); } #endif double yy = (m_lyrics_lines == 0) ? m_bottom_y_border : (m_bottom_y_border + 5 * LINE_DIST + TEXT_Y_OFFS + m_lyrics_lines * LYRICS_HEIGHT); if (yy < STAFF_MIN_DIST) { staffpos += STAFF_MIN_DIST; } else { staffpos += yy; } #ifdef PLACE_OUT_DEBUG if (getSystem()->getSystemNumber() < 2) { NedResource::DbgMsg(DBG_TESTING, "(3)staffpos = %f(%d)\n", staffpos, (int) (staffpos / (LINE_DIST / 2))); } #endif return staffpos; } void NedStaff::insertStaffElement(NedChordOrRest *elem, bool redraw /* = true */) { m_staffelems = g_list_insert_sorted(m_staffelems, elem, (gint (*)(const void*, const void*)) NedChordOrRest::compareMidiTimesAndTypes); if (redraw) { getMainWindow()->setAndUpdateClefTypeAndKeySig(); getMainWindow()->reposit(NULL, NULL, NULL); getMainWindow()->repaint(); } } void NedStaff::removeStaffElement(NedChordOrRest *elem) { GList *lptr; if ((lptr = g_list_find(m_staffelems, elem)) == NULL) { NedResource::Abort("NedStaff::removeStaffElement"); } m_staffelems = g_list_delete_link(m_staffelems, lptr); getMainWindow()->setAndUpdateClefTypeAndKeySig(); getMainWindow()->reposit(NULL, NULL, NULL); getMainWindow()->repaint(); } void NedStaff::assignMidiTimes() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->assignMidiTimes(); } } void NedStaff::deleteStaffElements(bool unexecute, GList *elems, unsigned long long reftime, unsigned long duration) { GList *lptr1, *lptr2; for (lptr1 = g_list_first(elems); lptr1; lptr1 = g_list_next(lptr1)) { if ((lptr2 = g_list_find(m_staffelems, lptr1->data)) == NULL) { NedResource::Abort("NedStaff::deleteStaffElements"); } if (!unexecute) { /* measure = m_system->getMeasure(((NedChordOrRest *) lptr2->data)->getMidiTime()); measure = ((NedChordOrRest *) lptr2->data)->m_measure; if (measure == NULL) { NedResource::DbgMsg(DBG_TESTING, "measure = 0 fuer time %llu (%llu)\n", ((NedChordOrRest *) lptr2->data)->getMidiTime(), ((NedChordOrRest *) lptr2->data)->getMidiTime() / NOTE_4); } ((NedChordOrRest *) lptr2->data)->decrMidiTime(measure->midi_start); */ ((NedChordOrRest *) lptr2->data)->decrMidiTime(reftime); } m_staffelems = g_list_delete_link(m_staffelems, lptr2); } if (unexecute) { for (lptr1 = g_list_first(m_staffelems); lptr1; lptr1 = g_list_next(lptr1)) { ((NedChordOrRest *) lptr1->data)->decrMidiTime(duration); } } } void NedStaff::insertIntoStaff(GList *elems, unsigned long long duration) { GList *lptr; int pos = 0; for (lptr = g_list_first(m_staffelems); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->incrMidiTime(duration); } for (lptr = g_list_first(elems); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->setVoice(m_voices[0]); m_staffelems = g_list_insert(m_staffelems, lptr->data, pos++); } } void NedStaff::appendAtStaff(GList *elems) { unsigned long long dur_of_system; GList *lptr; if (elems == NULL) return; dur_of_system = m_system->getSystemEndTime(); for (lptr = g_list_first(elems); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->incrMidiTime(dur_of_system); ((NedChordOrRest *) lptr->data)->setVoice(m_voices[0]); m_staffelems = g_list_append(m_staffelems, lptr->data); } } void NedStaff::searchForBeamGroups(unsigned int midi_start_time) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->searchForBeamGroups(midi_start_time); } } void NedStaff::collectChordsAndRests(NedClipBoard *board, unsigned long long midi_start, unsigned long long midi_end) { int i; GList *lptr; NedClipBoardElement *element = new NedClipBoardElement(); element->from_staff = this; for (lptr = g_list_first(m_staffelems); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getMidiTime() <= midi_start) continue; if (((NedChordOrRest *) lptr->data)->getMidiTime() > midi_end) break; element->chords_or_rests_to_move = g_list_append(element->chords_or_rests_to_move, lptr->data); } board->m_elements = g_list_append(board->m_elements, element); for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->collectChordsAndRests(board, midi_start, midi_end); } } void NedStaff::collectDestinationVoices(NedClipBoard *board) { int i; NedClipBoardElement *element; if (board->element_counter == NULL) { NedResource::Abort("NedStaff::collectDestinationVoices(1)"); } element = ((NedClipBoardElement *) board->element_counter->data); if (element->from_staff == NULL) { NedResource::Abort("NedStaff::collectDestinationVoices(2)"); } element->to_staff = this; board->element_counter = g_list_next(board->element_counter); for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->collectDestinationVoices(board); } } void NedStaff::getCurrentClefAndKeysig(unsigned long long miditime, int *clef, int *keysig, int *octave_shift) { GList *lptr; *clef = m_clef_type; *keysig = m_keysig; *octave_shift = m_clef_octave_shift; for (lptr = g_list_first(m_staffelems); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getMidiTime() > miditime) break; if (((((NedChordOrRest *) lptr->data)->getType() & TYPE_CLEF) != 0)) { *clef = ((NedChordOrRest *) lptr->data)->getLength(); // clef number *octave_shift = ((NedChordOrRest *) lptr->data)->getDotCount(); //octave shift } else if (((((NedChordOrRest *) lptr->data)->getType() & TYPE_KEYSIG) != 0)) { *keysig = ((NedChordOrRest *) lptr->data)->getLength(); } } } void NedStaff::resetActiveFlags() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->resetActiveFlags(); } } void NedStaff::prepareReplay(bool with_keysig) { int i, j; GList *lptr; for (i = 0; i < VOICE_COUNT; i++) { if (getMainWindow()->m_staff_contexts[m_staff_number].m_muted[i]) { m_voices[i]->prepareMutedReplay(); } else { m_voices[i]->prepareReplay(getMainWindow()->m_staff_contexts[m_staff_number].m_different_voices ? i : 0); } } if (with_keysig) { for (lptr = g_list_first(m_staffelems); lptr; lptr = g_list_next(lptr)) { if ((((NedChordOrRest *) lptr->data)->getType() & TYPE_KEYSIG) == 0) continue; NedResource::addKeysigEntry(((NedChordOrRest *) lptr->data)->getMidiTime(), getMainWindow()->m_staff_contexts[m_staff_number].m_midi_channel, ((NedChordOrRest *) lptr->data)->getLength() /* keysig */); } } } void NedStaff::findAccidentals(char offs_array[115], NedMeasure *meas_info, unsigned long long midi_time, bool including) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->findAccidentals(offs_array, meas_info, midi_time, including); } } void NedStaff::setInternalPitches() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->setInternalPitches(); } } void NedStaff::adjustAccidentals() { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->adjustAccidentals(); } } void NedStaff::changeAccidentals(NedCommandList *command_list, int preferred_offs, GList *selected_group) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->setInternalPitch(0, selected_group); } for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->changeAccidentals(command_list, preferred_offs, selected_group); } removeUnneededAccidentals(selected_group); } void NedStaff::transpose(int pitchdist, GList *selected_group) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->setInternalPitch(pitchdist, selected_group); } for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->adjustAccidentals(pitchdist, selected_group); } removeUnneededAccidentals(selected_group); } void NedStaff::hideRests(NedCommandList *command_list, bool unhide, int voice_nr) { if (voice_nr < 0 || voice_nr >= VOICE_COUNT) { NedResource::Abort("NedStaff::hideRests"); } m_voices[voice_nr]->hideRests(command_list, unhide); } bool NedStaff::shiftNotes(unsigned long long start_time, int linedist) { int i; GList *lptr; unsigned long long stop_time = 0; bool stop_at_clef = false; for (lptr = g_list_first(m_staffelems); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getType() != TYPE_CLEF) continue; if (((NedChordOrRest *) lptr->data)->getMidiTime() <= start_time) continue; stop_time = ((NedChordOrRest *) lptr->data)->getMidiTime(); stop_at_clef = true; break; } for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->shiftNotes(start_time, linedist, stop_time, stop_at_clef); } return !stop_at_clef; } void NedStaff::removeUnneededAccidentals(GList *selected_group /* = NULL */) { int i; for (i = 0; i < VOICE_COUNT; i++) { m_voices[i]->removeUnneededAccidentals(selected_group); } } bool NedStaff::detectVoices(unsigned int *voice_mask, unsigned long long *e_time) { int i; bool not_empty = false, ne; for (i = 0; i < VOICE_COUNT; i++) { ne = m_voices[i]->detectVoices(voice_mask, e_time); not_empty = not_empty || ne; } return not_empty; } void NedStaff::exportLilyPond(FILE *fp, int voice_nr, int *last_line, unsigned int *midi_len, bool last_system, unsigned long long end_time, bool *in_alternative, NedSlur **lily_slur, unsigned int *lyrics_map, bool with_break, bool *guitar_chordnames, bool *chordnames, int *breath_script, bool keep_beams) { if (voice_nr < 0 || voice_nr >= VOICE_COUNT) { NedResource::Abort("NedStaff::exportLilyPond"); } m_voices[voice_nr]->exportLilyPond(fp, last_line, midi_len, last_system, end_time, in_alternative, lily_slur, lyrics_map, with_break, guitar_chordnames, chordnames, breath_script, keep_beams); } void NedStaff::exportLilyGuitarChordnames(FILE *fp, int *last_line, unsigned int *midi_len, bool last_system, unsigned long long end_time, bool *in_alternative, bool with_break) { m_voices[0]->exportLilyGuitarChordnames(fp, last_line, midi_len, last_system, end_time, in_alternative, with_break); } void NedStaff::exportLilyFreeChordName(FILE *fp, int *last_line, unsigned int *midi_len, bool last_system, unsigned long long end_time, bool *in_alternative, bool with_break) { m_voices[0]->exportLilyFreeChordName(fp, last_line, midi_len, last_system, end_time, in_alternative, with_break); } void NedStaff::exportLilyLyrics(FILE *fp, bool last_system, int voice_nr, int line_nr, unsigned long long end_time, int *sil_count) { if (voice_nr < 0 || voice_nr >= VOICE_COUNT) { NedResource::Abort("NedStaff::exportLilyLyrics"); } m_voices[voice_nr]->exportLilyLyrics(fp, last_system, line_nr, end_time, sil_count); } void NedStaff::collectLyrics(NedLyricsEditor *leditor) { m_voices[0]->collectLyrics(leditor); } void NedStaff::setLyrics(NedCommandList *command_list, NedLyricsEditor *leditor) { m_voices[0]->setLyrics(command_list, leditor); } int NedStaff::assignElementsToMeasures(NedMeasure *measures, int staff_offs, bool use_upbeat, int *special_measure_at_end, bool out /* = false */) { int mesure_count = 0, mc; NedMeasure *measure; NedChordOrRest *element; GList *lptr; int curr_measure = 0; bool last_measure_has_keysig_or_timesig = false; NedChordOrRest *last_keysig = NULL; for (lptr = g_list_first(m_staffelems); lptr; lptr = g_list_next(lptr)) { element = (NedChordOrRest *) lptr->data; switch (element->getType()) { case TYPE_KEYSIG: while (((NedChordOrRest *) lptr->data)->getMidiTime() >= measures[curr_measure].midi_end) { curr_measure++; // KEYSIG after bar last_keysig = (NedChordOrRest *) lptr->data; if (((NedChordOrRest *) lptr->data)->getMidiTime() == measures[curr_measure].midi_start) { #define KEYSIG_EXTRA_WIDTH 0.2 measures[curr_measure].m_staff_elements_width = ((NedChordOrRest *) lptr->data)->getBBox()->width + KEYSIG_EXTRA_WIDTH; } } break; default: while (((NedChordOrRest *) lptr->data)->getMidiTime() > measures[curr_measure].midi_end) { curr_measure++; // CLEF before bar } break; } measure = measures + curr_measure; //if (((NedChordOrRest *) lptr->data)->getMidiTime() > measures[curr_measure].midi_end) continue; //if (((NedChordOrRest *) lptr->data)->getMidiTime() == 0 && ((NedChordOrRest *) lptr->data)->getType() == TYPE_CLEF) continue; //if (((NedChordOrRest *) lptr->data)->getMidiTime() == 0 && (((NedChordOrRest *) lptr->data)->getType() & (TYPE_CLEF | TYPE_KEYSIG)) != 0) continue; measure->m_position_array.insertStaffElement( element, staff_offs / VOICE_COUNT, measure->getMeasureNumber()); element->m_measure = measure; if (curr_measure > mesure_count) mesure_count = curr_measure; } if (last_keysig && last_keysig->getMidiTime() == measures[curr_measure].midi_start) { last_measure_has_keysig_or_timesig = true; } for (int i = 0; i < VOICE_COUNT; i++) { mc = m_voices[i]->assignElementsToMeasures(measures, staff_offs + i, use_upbeat); if (mc > mesure_count) { mesure_count = mc; } if (mc >= mesure_count) { last_measure_has_keysig_or_timesig = false; } } if (last_measure_has_keysig_or_timesig) { // the last measure isn't regulaer mesure_count--; *special_measure_at_end = 1; } else if ((measures[mesure_count+1].getSpecial() & TIMESIG_TYPE_MASK) == TIMESIG) { *special_measure_at_end = 1; last_measure_has_keysig_or_timesig = true; } return mesure_count; } double NedStaff::computeMidDist(double y) { double d; double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); y /= getMainWindow()->getCurrentScale(); d = Y_POS_SYS_REL(m_ypos + 3 * LINE_DIST / 2.0) - y; if (d < 0) return -d; return d; } void NedStaff::saveStaff(FILE *fp) { int i, ll; GList *lptr; fprintf(fp, "STAFF %d\n", m_staff_number); if (g_list_length(m_staffelems) > 0) { fprintf(fp, "STAFF_ELEMENTS : "); for (lptr = g_list_first(m_staffelems); lptr; lptr = g_list_next(lptr)) { fprintf(fp, "("); switch (((NedChordOrRest *) lptr->data)->getType()) { case TYPE_CLEF: switch (((NedChordOrRest *) lptr->data)->getLength()) { case TREBLE_CLEF: fprintf(fp, "TREBLE_CLEF, "); break; case BASS_CLEF: fprintf(fp, "BASS_CLEF, "); break; case ALTO_CLEF: fprintf(fp, "ALTO_CLEF, "); break; case SOPRAN_CLEF: fprintf(fp, "SOPRAN_CLEF, "); break; case TENOR_CLEF: fprintf(fp, "TENOR_CLEF, "); break; case NEUTRAL_CLEF1: fprintf(fp, "NEUTRAL_CLEF1, "); break; case NEUTRAL_CLEF2: fprintf(fp, "NEUTRAL_CLEF2, "); break; case NEUTRAL_CLEF3: fprintf(fp, "NEUTRAL_CLEF3, "); break; } fprintf(fp, " %d, ", ((NedChordOrRest *) lptr->data)->getDotCount()); // octave shift break; case TYPE_KEYSIG: ll = ((NedChordOrRest *) lptr->data)->getLength(); fprintf(fp, "KEYSIG, %d, ", ll); break; case TYPE_STAFF_SIGN: fprintf(fp, "STAFF_SIGN, %d, ", ((NedChordOrRest *) lptr->data)->getDotCount()); // sub_type break; } fprintf(fp, "%llu ) ", ((NedChordOrRest *) lptr->data)->getMidiTime()); } putc('\n', fp); } for (i = 0; i < VOICE_COUNT; i++) { fprintf(fp, "VOICE %d\n", i); m_voices[i]->saveVoice(fp); } } void NedStaff::restoreStaff(FILE *fp) { int i, voicenum; bool was_clef; int octave_shift; char buffer[128]; int staff_elem_type, keysignum, staff_sign_sub_type; unsigned long long miditime; NedChordOrRest *staffelem; if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "VOICE or STAFF_ELEMENTS expected"; return; } for (i = 0; i < VOICE_COUNT; i++) { m_voices[i] = new NedVoice(this, i, FALSE); } if (!strcmp(buffer, "STAFF_ELEMENTS")) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ":")) { NedResource::m_error_message = ": expected"; return; } if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "( or VOICE expected"; return; } while (!strcmp(buffer, "(")) { if (!NedResource::readWordWithNum(fp, buffer)) { NedResource::m_error_message = "TREBLE_CLEF, BASS_CLEF, ALTO_CLEF, SOPRAN_CLEF, TENOR_CLEF, NEUTRAL_CLEF1, NEUTRAL_CLEF2, NEUTRAL_CLEF3, KEYSIG, or STAFF_SIGN expected"; return; } was_clef = false; octave_shift = 0; if (!strcmp(buffer, "TREBLE_CLEF")) { staff_elem_type = TREBLE_CLEF; was_clef = true; } else if (!strcmp(buffer, "BASS_CLEF")) { staff_elem_type = BASS_CLEF; was_clef = true; } else if (!strcmp(buffer, "ALTO_CLEF")) { staff_elem_type = ALTO_CLEF; was_clef = true; } else if (!strcmp(buffer, "SOPRAN_CLEF")) { staff_elem_type = SOPRAN_CLEF; was_clef = true; } else if (!strcmp(buffer, "TENOR_CLEF")) { staff_elem_type = TENOR_CLEF; was_clef = true; } else if (!strcmp(buffer, "NEUTRAL_CLEF1")) { staff_elem_type = NEUTRAL_CLEF1; was_clef = true; } else if (!strcmp(buffer, "NEUTRAL_CLEF2")) { staff_elem_type = NEUTRAL_CLEF2; was_clef = true; } else if (!strcmp(buffer, "NEUTRAL_CLEF3")) { staff_elem_type = NEUTRAL_CLEF3; was_clef = true; } else if (!strcmp(buffer, "KEYSIG")) { staff_elem_type = TYPE_KEYSIG; if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ",")) { NedResource::m_error_message = ", expected"; return; } if (!NedResource::readInt(fp, &keysignum)) { NedResource::m_error_message = "keysig number expected"; return; } } else if (!strcmp(buffer, "STAFF_SIGN")) { staff_elem_type = TYPE_STAFF_SIGN; if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ",")) { NedResource::m_error_message = ", expected"; return; } if (!NedResource::readInt(fp, &staff_sign_sub_type)) { NedResource::m_error_message = "staff sign number expected"; return; } } else { printf("buffer = %s\n", buffer); fflush(stdout); NedResource::m_error_message = "TREBLE_CLEF, BASS_CLEF, ALTO_CLEF, SOPRAN_CLEF, TENOR_CLEF, NEUTRAL_CLEF1, NEUTRAL_CLEF2, NEUTRAL_CLEF3, KEYSIG, or STAFF_SIGN expected"; return; } if (was_clef && getMainWindow()->getFileVersion() > 4) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ",")) { NedResource::m_error_message = ", expected"; return; } if (!NedResource::readInt(fp, &octave_shift) || (octave_shift != 0 && octave_shift != -12 && octave_shift != 12)) { NedResource::m_error_message = "octave_shift expected"; return; } } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ",")) { NedResource::m_error_message = ", expected"; return; } if (!NedResource::readLong(fp, &miditime)) { NedResource::m_error_message = "miditime expected"; return; } if (!NedResource::readWord(fp, buffer) || strcmp(buffer, ")")) { NedResource::m_error_message = ") expected"; return; } if (staff_elem_type == TYPE_KEYSIG) { staffelem = new NedChordOrRest(m_voices[0], TYPE_KEYSIG, keysignum, 0, miditime); } else if (staff_elem_type >= TREBLE_CLEF && staff_elem_type <= NEUTRAL_CLEF3) { staffelem = new NedChordOrRest(m_voices[0], TYPE_CLEF, staff_elem_type, octave_shift, miditime, true); } else { staffelem = new NedChordOrRest(m_voices[0], TYPE_STAFF_SIGN, staff_sign_sub_type, miditime); } m_staffelems = g_list_insert_sorted(m_staffelems, staffelem, (gint (*)(const void*, const void*)) NedChordOrRest::compareMidiTimesAndTypes); if (!NedResource::readWord(fp, buffer)) { NedResource::m_error_message = "( or VOICE expected"; return; } } } NedResource::unreadWord(buffer); for (i = 0; i < VOICE_COUNT && NedResource::m_error_message == NULL; i++) { if (!NedResource::readWord(fp, buffer) || strcmp(buffer, "VOICE")) { NedResource::m_error_message = "VOICE expected"; return; } if (!NedResource::readInt(fp, &voicenum) || voicenum != i) { NedResource::m_error_message = "VOICE number exoected"; return; } m_voices[i]->restoreVoice(fp); } } nted-1.10.18/note.cpp0000664001041000007640000014345011520267230011212 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "note.h" #include "staff.h" #include "system.h" #include "page.h" #include "voice.h" #include "system.h" #include "mainwindow.h" #include "commandlist.h" #include "commandhistory.h" #include "tienotescommand.h" #include "untieforwardcommand.h" #include "changeaccidentalcmd.h" #include "druminfo.h" #define X_POS_PAGE_REL(p) ((getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_STAFF_REL(p) (((p) + getSystem()->getYPos() + getStaff()->getBottomPos()) * zoom_factor - topy) #define X_POS_INVERS_PAGE_REL(p) ((leftx + (p) / current_scale) / zoom_factor - getPage()->getContentXpos()) #define Y_POS_INVERS_STAFF_REL(p) ((topy + (p) / current_scale) / zoom_factor - (getSystem()->getYPos() + getStaff()->getBottomPos())) #define X_PS_POS(p) ((DEFAULT_BORDER + LEFT_RIGHT_BORDER + (p)) * PS_ZOOM) #define Y_PS_POS_STAFF_REL(p) ((height - ((p) + getSystem()->getYPos() + getStaff()->getBottomPos())) * PS_ZOOM) #define TREBLE_PITCH_OFFS 35 #define BASS_PITCH_OFFS 23 #define ALTO_PITCH_OFFS 29 #define TENOR_PITCH_OFFS 27 #define SOPRAN_PITCH_OFFS 33 #define TREBLE_LINE_OFFS 0 #define BASS_LINE_OFFS 12 #define ALTO_LINE_OFFS 6 #define TENOR_LINE_OFFS 8 #define SOPRAN_LINE_OFFS 2 struct pitch_descr { char pitch, min_sharp, min_flat; }; pitch_descr NedNote::lineToPitch[] = { { 4 /* E */, 6, 2}, { 5 /* F */, 1, 100}, { 7 /* G */, 3, 5}, { 9 /* A */, 5, 3}, { 11 /* B */, 100, 1}, { 12 /* C */, 2, 6}, { 14 /* D */, 4, 4}, { 16 /* E */, 6, 2}, { 17 /* F */, 1, 100}, { 19 /* G */, 3, 5}, { 21 /* A */, 5, 3}, { 23 /* B */, 100, 1}, { 24 /* C */, 2, 6}, { 26 /* D */, 4, 4}, { 28 /* E */, 6, 2}, { 29 /* F */, 1, 100}, { 31 /* G */, 3, 5}, { 33 /* A */, 5, 3}, { 35 /* B */, 100, 1}, { 36 /* C */, 2, 6}, { 38 /* D */, 4, 4}, { 40 /* E */, 6, 2}, { 41 /* F */, 1, 100}, { 43 /* G */, 3, 5}, { 45 /* A */, 5, 3}, { 47 /* B */, 100, 1}, { 48 /* C */, 2, 6}, { 50 /* D */, 4, 4}, { 52 /* E */, 6, 2}, { 53 /* F */, 1, 100}, { 55 /* G */, 3, 5}, { 57 /* A */, 5, 3}, { 59 /* B */, 100, 1}, { 60 /* C */, 2, 6}, { 62 /* D */, 4, 4}, { 64 /* E */, 6, 2}, { 65 /* F */, 1, 100}, { 67 /* G */, 3, 5}, { 69 /* A */, 5, 3}, { 71 /* B */, 100, 1}, { 72 /* C */, 2, 6}, { 74 /* D */, 4, 4}, { 76 /* E */, 6, 2}, { 77 /* F */, 1, 100}, { 79 /* G */, 3, 5}, { 81 /* A */, 5, 3}, { 83 /* B */, 100, 1}, { 84 /* C */, 2, 6}, { 86 /* D */, 4, 4}, { 88 /* E */, 6, 2}, { 89 /* F */, 1, 100}, { 91 /* G */, 3, 5}, { 93 /* A */, 5, 3}, { 95 /* B */, 100, 1}, { 96 /* C */, 2, 6}, { 98 /* D */, 4, 4}, {100 /* E */, 6, 2}, {101 /* F */, 1, 100}, {103 /* G */, 3, 5}, {105 /* A */, 5, 3}, {107 /* B */, 100, 1}, {108 /* C */, 2, 6}, {110 /* D */, 4, 4}, {112 /* E */, 6, 2}, {114 /* F */, 1, 100}, {115 /* G */, 3, 5}, {117 /* A */, 5, 3}, {119 /* B */, 100, 1}}; int NedNote::signToBase[][2] = { {-6, 66}, {-5, 61}, {-4, 68}, {-3, 63}, {-2, 70 }, {-1, 65}, {0, 60}, {1, 67}, {2, 62}, {3, 69}, {4, 64}, {5, 71}, {6, 66} }; int NedNote::diaDists[] = {-7, -5, -3, -1, 0, 2, 4, 5, 7, 9, 11, 12, 14, 16, 17, 19}; NedNote::NedNote(NedChordOrRest *chord_or_rest, int line, int head, unsigned int status) : m_active(NOTE_ACTIVE_STATE_NONE), m_xpos(0.0), m_ypos(0.0), m_tmp_ypos(0.0), m_acc_dist(0.0), m_line(line), m_tmp_line(UNKNOWN_LINE), m_status(status), m_head(head), m_chord_or_rest(chord_or_rest), m_tie_forward(NULL), m_tie_backward(NULL), m_tie_y_offs1(0.0), m_tie_y_offs2(0.0), m_tie_xpos0(0.0), m_tie_xpos1(0.0), m_tie_back_xpos0(0.0), m_tie_back_xpos1(0.0), m_tie_offs(0.0) { m_ypos = - line * LINE_DIST/2.0; /* NedResource::DbgMsg(DBG_TESTING, "keysig = 0, pitch = 62, pitchup = %d, pitchdown = %d\n", findPitchUpDown(0, 62, true), findPitchUpDown(0, 62, false)); NedResource::DbgMsg(DBG_TESTING, "keysig = 0, pitch = 64, pitchup = %d, pitchdown = %d\n", findPitchUpDown(0, 64, true), findPitchUpDown(0, 64, false)); NedResource::DbgMsg(DBG_TESTING, "keysig = 0, pitch = 65, pitchup = %d, pitchdown = %d\n", findPitchUpDown(0, 65, true), findPitchUpDown(0, 65, false)); NedResource::DbgMsg(DBG_TESTING, "keysig = 2, pitch = 64, pitchup = %d, pitchdown = %d\n", findPitchUpDown(2, 64, true), findPitchUpDown(2, 64, false)); NedResource::DbgMsg(DBG_TESTING, "keysig = 2, pitch = 66, pitchup = %d, pitchdown = %d\n", findPitchUpDown(2, 66, true), findPitchUpDown(2, 66, false)); NedResource::DbgMsg(DBG_TESTING, "keysig = 2, pitch = 67, pitchup = %d, pitchdown = %d\n", findPitchUpDown(2, 67, true), findPitchUpDown(2, 67, false)); NedResource::DbgMsg(DBG_TESTING, "keysig = -4, pitch = 68, pitchup = %d, pitchdown = %d\n", findPitchUpDown(-4, 68, true), findPitchUpDown(-4, 68, false)); NedResource::DbgMsg(DBG_TESTING, "keysig = -4, pitch = 67, pitchup = %d, pitchdown = %d\n", findPitchUpDown(-4, 67, true), findPitchUpDown(-4, 67, false)); */ } NedMainWindow *NedNote::getMainWindow() {return m_chord_or_rest->getStaff()->getSystem()->getPage()->getMainWindow();} NedPage *NedNote::getPage() {return m_chord_or_rest->getStaff()->getSystem()->getPage();} NedSystem *NedNote::getSystem() {return m_chord_or_rest->getStaff()->getSystem();} NedStaff *NedNote::getStaff() {return m_chord_or_rest->getStaff();} NedVoice *NedNote::getVoice() {return m_chord_or_rest->getVoice();} void NedNote::draw(cairo_t *cr) { double leftx = getMainWindow()->getLeftX(); double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); cairo_glyph_t glyph; double yl; double yy = (m_tmp_line == UNKNOWN_LINE) ? m_ypos : m_tmp_ypos; int line; /* extern bool xxx; if (xxx) { getMainWindow()->drawVisibleRectangle(cr, this); xxx = false; } */ if (getMainWindow()->m_selected_note == this || m_active == NOTE_ACTIVE_STATE_ON) { if (getMainWindow()->doPaintColored()) { switch(getVoice()->getVoiceNumber()) { case 0: cairo_set_source_rgb (cr, DSCOLOR(V1RED), DSCOLOR(V1GREEN), DSCOLOR(V1BLUE)); break; case 1: cairo_set_source_rgb (cr, DSCOLOR(V2RED), DSCOLOR(V2GREEN), DSCOLOR(V2BLUE)); break; case 2: cairo_set_source_rgb (cr, DSCOLOR(V3RED), DSCOLOR(V3GREEN), DSCOLOR(V3BLUE)); break; default: cairo_set_source_rgb (cr, DSCOLOR(V4RED), DSCOLOR(V4GREEN), DSCOLOR(V4BLUE)); break; } } else { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } } else if (getMainWindow()->doPaintColored()) { switch(getVoice()->getVoiceNumber()) { case 0: cairo_set_source_rgb (cr, DCOLOR(V1RED), DCOLOR(V1GREEN), DCOLOR(V1BLUE)); break; case 1: cairo_set_source_rgb (cr, DCOLOR(V2RED), DCOLOR(V2GREEN), DCOLOR(V2BLUE)); break; case 2: cairo_set_source_rgb (cr, DCOLOR(V3RED), DCOLOR(V3GREEN), DCOLOR(V3BLUE)); break; default: cairo_set_source_rgb (cr, DCOLOR(V4RED), DCOLOR(V4GREEN), DCOLOR(V4BLUE)); break; } } switch (m_head) { case NORMAL_NOTE: switch(m_chord_or_rest->getLength()) { case WHOLE_NOTE: glyph.index = BASE + 6; break; case NOTE_2: glyph.index = BASE + 7; break; default: glyph.index = BASE + 4; break; } break; case CROSS_NOTE1: glyph.index = BASE + 21; break; case CROSS_NOTE2: glyph.index = BASE + 22; break; case RECT_NOTE1: glyph.index = BASE + 23; break; case RECT_NOTE2: glyph.index = BASE + 24; break; case TRIAG_NOTE1: glyph.index = BASE + 25; break; case TRIAG_NOTE2: glyph.index = BASE + 26; break; case OPEN_HIGH_HAT: case CLOSED_HIGH_HAT: case CROSS_NOTE3: glyph.index = BASE + 49; break; case CROSS_NOTE4: glyph.index = BASE + 50; break; case TRIAG_NOTE3: glyph.index = BASE + 51; break; case QUAD_NOTE2: glyph.index = BASE + 52; break; case GUITAR_NOTE_STEM: if (m_chord_or_rest->getLength() > NOTE_4) { glyph.index = BASE + 54; break; } glyph.index = BASE + 53; break; case GUITAR_NOTE_NO_STEM: glyph.index = BASE + 53; break; } glyph.x = X_POS_PAGE_REL(m_xpos + m_chord_or_rest->getXPosAndMicroshifts()); glyph.y = Y_POS_STAFF_REL(yy); cairo_show_glyphs(cr, &glyph, 1); if (m_active) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); if (m_active == NOTE_ACTIVE_STATE_OFF) { m_active = NOTE_ACTIVE_STATE_NONE; } return; } switch (m_status & ACCIDENTAL_MASK) { case STAT_DFLAT: glyph.index = BASE + 29; glyph.x = X_POS_PAGE_REL(m_chord_or_rest->getXPos() - m_acc_dist /*+ ((m_line < -1 || m_line > 9) ? AUX_LINE_OVER: 0.0) */); cairo_show_glyphs(cr, &glyph, 1); break; case STAT_FLAT: glyph.index = BASE + 16; glyph.x = X_POS_PAGE_REL(m_chord_or_rest->getXPos() - m_acc_dist /*+ ((m_line < -1 || m_line > 9) ? AUX_LINE_OVER: 0.0) */); cairo_show_glyphs(cr, &glyph, 1); break; case STAT_SHARP: glyph.index = BASE - 1; glyph.x = X_POS_PAGE_REL(m_chord_or_rest->getXPos() - m_acc_dist /*+ ((m_line < -1 || m_line > 9) ? AUX_LINE_OVER: 0.0) */); cairo_show_glyphs(cr, &glyph, 1); break; case STAT_DSHARP: glyph.index = BASE + 30; glyph.x = X_POS_PAGE_REL(m_chord_or_rest->getXPos() - m_acc_dist /*+ ((m_line < -1 || m_line > 9) ? AUX_LINE_OVER: 0.0) */); cairo_show_glyphs(cr, &glyph, 1); break; case STAT_NATURAL: glyph.index = BASE + 17; glyph.x = X_POS_PAGE_REL(m_chord_or_rest->getXPos() - m_acc_dist /*+ ((m_line < -1 || m_line > 9) ? AUX_LINE_OVER: 0.0) */); cairo_show_glyphs(cr, &glyph, 1); break; } if (m_line < -1) { cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * AUX_LINE_THICK); line = m_line / 2; line *= 2; for (; line < -1; line += 2) { yl = - line * LINE_DIST/2.0; cairo_move_to(cr, X_POS_PAGE_REL(m_chord_or_rest->getXPosAndMicroshifts() + m_xpos - HEAD_THICK_2 - AUX_LINE_OVER), Y_POS_STAFF_REL(yl)); cairo_line_to(cr, X_POS_PAGE_REL(m_chord_or_rest->getXPosAndMicroshifts() + m_xpos + HEAD_THICK_2 + AUX_LINE_OVER), Y_POS_STAFF_REL(yl)); } cairo_stroke(cr); } if (m_line > 9) { cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * AUX_LINE_THICK); line = m_line / 2; line *= 2; for (; line > 9; line -= 2) { yl = - line * LINE_DIST/2.0; cairo_move_to(cr, X_POS_PAGE_REL(m_chord_or_rest->getXPosAndMicroshifts() + m_xpos - HEAD_THICK_2 - AUX_LINE_OVER), Y_POS_STAFF_REL(yl)); cairo_line_to(cr, X_POS_PAGE_REL(m_chord_or_rest->getXPosAndMicroshifts() + m_xpos + HEAD_THICK_2 + AUX_LINE_OVER), Y_POS_STAFF_REL(yl)); } cairo_stroke(cr); } if (m_chord_or_rest->getDotCount() > 0) { cairo_new_path(cr); if ((m_line % 2) == 0 && m_line >= 0 && m_line <= 8) { cairo_arc(cr, X_POS_PAGE_REL(m_chord_or_rest->getXPos() + m_chord_or_rest->getBBox()->x + m_chord_or_rest->getBBox()->width_netto - 2 * DOT_RAD), Y_POS_STAFF_REL(yy - LINE_DIST / 2.0), zoom_factor * DOT_RAD, 0, 2.0 * M_PI); } else { cairo_arc(cr, X_POS_PAGE_REL(m_chord_or_rest->getXPos() + m_chord_or_rest->getBBox()->x + m_chord_or_rest->getBBox()->width_netto - 2 * DOT_RAD), Y_POS_STAFF_REL(yy), zoom_factor * DOT_RAD, 0, 2.0 * M_PI); } cairo_fill(cr); if (m_chord_or_rest->getDotCount() > 1) { cairo_new_path(cr); if ((m_line % 2) == 0 && m_line >= 0 && m_line <= 8) { cairo_arc(cr, X_POS_PAGE_REL(m_chord_or_rest->getXPos() + m_chord_or_rest->getBBox()->x + m_chord_or_rest->getBBox()->width_netto - 2 * DOT_RAD - (DOT2POS - DOT1POS)), Y_POS_STAFF_REL(yy - LINE_DIST / 2.0), zoom_factor * DOT_RAD, 0, 2.0 * M_PI); } else { cairo_arc(cr, X_POS_PAGE_REL(m_chord_or_rest->getXPos() + m_chord_or_rest->getBBox()->x + m_chord_or_rest->getBBox()->width_netto - 2 * DOT_RAD - (DOT2POS - DOT1POS)), Y_POS_STAFF_REL(yy), zoom_factor * DOT_RAD, 0, 2.0 * M_PI); } cairo_fill(cr); } } if (getMainWindow()->m_selected_note == this || getMainWindow()->doPaintColored()) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } if (m_tie_forward != NULL) { if (m_chord_or_rest->getVoice() == m_tie_forward->getVoice()) { if (getMainWindow()->m_selected_tie_forward == this) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(m_tie_xpos0), Y_POS_STAFF_REL(m_ypos)); cairo_curve_to(cr, X_POS_PAGE_REL(m_tie_xpos0), Y_POS_STAFF_REL(m_ypos), X_POS_PAGE_REL(m_tie_xpos0 + (m_tie_xpos1 - m_tie_xpos0)/ 2.0), Y_POS_STAFF_REL(m_ypos + m_tie_y_offs1), X_POS_PAGE_REL(m_tie_xpos1), Y_POS_STAFF_REL(m_ypos)); cairo_curve_to(cr, X_POS_PAGE_REL(m_tie_xpos1), Y_POS_STAFF_REL(m_ypos), X_POS_PAGE_REL(m_tie_xpos0 + (m_tie_xpos1 - m_tie_xpos0)/ 2.0), Y_POS_STAFF_REL(m_ypos + m_tie_y_offs2), X_POS_PAGE_REL(m_tie_xpos0), Y_POS_STAFF_REL(m_ypos)); cairo_fill(cr); if (getMainWindow()->m_selected_tie_forward == this) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } } else { cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(m_tie_xpos0), Y_POS_STAFF_REL(m_ypos)); cairo_curve_to(cr, X_POS_PAGE_REL(m_tie_xpos0), Y_POS_STAFF_REL(m_ypos), X_POS_PAGE_REL(m_tie_xpos0 + (m_tie_xpos1 - m_tie_xpos0)/ 2.0), Y_POS_STAFF_REL(m_ypos + TIE_Y_OFFS1), X_POS_PAGE_REL(m_tie_xpos1), Y_POS_STAFF_REL(m_ypos)); cairo_curve_to(cr, X_POS_PAGE_REL(m_tie_xpos1), Y_POS_STAFF_REL(m_ypos), X_POS_PAGE_REL(m_tie_xpos0 + (m_tie_xpos1 - m_tie_xpos0)/ 2.0), Y_POS_STAFF_REL(m_ypos + TIE_Y_OFFS2), X_POS_PAGE_REL(m_tie_xpos0), Y_POS_STAFF_REL(m_ypos)); cairo_fill(cr); } } if (m_tie_backward != NULL && m_chord_or_rest->getVoice() != m_tie_backward->getVoice()) { cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(m_tie_back_xpos0), Y_POS_STAFF_REL(m_ypos)); cairo_curve_to(cr, X_POS_PAGE_REL(m_tie_back_xpos0), Y_POS_STAFF_REL(m_ypos), X_POS_PAGE_REL(m_tie_back_xpos0 + (m_tie_back_xpos1 - m_tie_back_xpos0)/ 2.0), Y_POS_STAFF_REL(m_ypos + TIE_Y_OFFS1), X_POS_PAGE_REL(m_tie_back_xpos1), Y_POS_STAFF_REL(m_ypos)); cairo_curve_to(cr, X_POS_PAGE_REL(m_tie_back_xpos1), Y_POS_STAFF_REL(m_ypos), X_POS_PAGE_REL(m_tie_back_xpos0 + (m_tie_back_xpos1 - m_tie_back_xpos0)/ 2.0), Y_POS_STAFF_REL(m_ypos + TIE_Y_OFFS2), X_POS_PAGE_REL(m_tie_back_xpos0), Y_POS_STAFF_REL(m_ypos)); cairo_fill(cr); } }; bool NedNote::isFirstNote() { return m_chord_or_rest->getFirstNote() == this; } int NedNote::findPitchUpDown(int key, int pitch, int dist) { int base = 60; int i; for (i = 0; i < 12; i++) { if (signToBase[i][0] == key) { base = signToBase[i][1]; break; } } while (pitch > base + 12) base += 12; while (pitch < base) base -= 12; for (i = 1; i < 9; i++) { if (base + diaDists[i] == pitch) { return base + diaDists[i+dist]; } } return pitch + dist; } bool NedNote::testForTiesToDelete(NedCommandList *command_list, unsigned int dir /* = BREAK_TIE_BACKWARD */, bool execute /* = false */) { bool deleted_ties = FALSE; NedUnTieForwardCommand *untie_cmd; if (m_tie_backward != NULL && ((dir & BREAK_TIE_BACKWARD) != 0)) { deleted_ties = TRUE; untie_cmd = new NedUnTieForwardCommand(m_tie_backward, this); if (execute) { untie_cmd->execute(); } command_list->addCommand(untie_cmd); } if (m_tie_forward != NULL && ((dir & BREAK_TIE_FORWARD) != 0)) { deleted_ties = TRUE; untie_cmd = new NedUnTieForwardCommand(this, m_tie_forward); if (execute) { untie_cmd->execute(); } command_list->addCommand(untie_cmd); } return deleted_ties; } double NedNote::getYpos() { #define GUITAR_YTOP_DISTANCE ( 1.6 * LINE_DIST ) if (m_head == GUITAR_NOTE_STEM || m_head == GUITAR_NOTE_NO_STEM) { return m_ypos + GUITAR_YTOP_DISTANCE; } return (m_tmp_line == UNKNOWN_LINE) ? m_ypos : m_tmp_ypos; } void NedNote::correctTieForward() { if (m_tie_forward != NULL) { m_tie_forward->m_tie_backward = this; } } void NedNote::setOffset(char offs_array[OFFS_ARRAY_SIZE]) { if (offs_array[m_line + OFFS_ARRAY_HALF] != 0) return; switch (m_status & ACCIDENTAL_MASK) { case STAT_DFLAT: offs_array[m_line + OFFS_ARRAY_HALF] = -2; break; case STAT_FLAT: offs_array[m_line + OFFS_ARRAY_HALF] = -1; break; case STAT_SHARP: offs_array[m_line + OFFS_ARRAY_HALF] = 1; break; case STAT_DSHARP: offs_array[m_line + OFFS_ARRAY_HALF] = 2; break; case STAT_NATURAL: offs_array[m_line + OFFS_ARRAY_HALF] = VIRTUAL_NATURAL_OFFS; break; } } int NedNote::pitchToLine(int pitch, int clef, int keysig, int octave_shift, int *offs, int preferred_offs /* = 0 */) { int oct = 0; int line = 0; int retline = 0; int x_oct_shift= 0; *offs = 0; int clef_offs = 0; switch (octave_shift) { case 12: x_oct_shift = 7; break; case -12: x_oct_shift = -7; break; case 1: x_oct_shift = 7; break; case -1: x_oct_shift = -7; break; case 0: x_oct_shift = 0; break; default: printf("octave_shift = %d\n", octave_shift); NedResource::Abort("NedNote::pitchToLine"); break; } while (pitch < 60) { pitch += 12; oct--; } while (pitch >= 72) { pitch-= 12; oct++; } switch (clef) { case NEUTRAL_CLEF1: case NEUTRAL_CLEF3: case TREBLE_CLEF: clef_offs = TREBLE_LINE_OFFS; break; case NEUTRAL_CLEF2: case BASS_CLEF: clef_offs = BASS_LINE_OFFS; break; case ALTO_CLEF: clef_offs = ALTO_LINE_OFFS; break; case TENOR_CLEF: clef_offs = TENOR_LINE_OFFS; break; case SOPRAN_CLEF: clef_offs = SOPRAN_LINE_OFFS; break; } switch (preferred_offs) { case -1: switch (pitch) { case 60: line = -2; break; case 61: line = -1; *offs = -1; break; case 62: line = -1; break; case 63: line = 0; *offs = -1; break; case 64: line = 0; break; case 65: line = 1; break; case 66: line = 2; *offs = -1; break; case 67: line = 2; break; case 68: line = 3; *offs = -1; break; case 69: line = 3; break; case 70: line = 4; *offs = -1; break; case 71: line = 4; break; } break; case 1: switch (pitch) { case 60: line = -2; break; case 61: line = -2; *offs = 1; break; case 62: line = -1; break; case 63: line = -1; *offs = 1; break; case 64: line = 0; break; case 65: line = 1; break; case 66: line = 1; *offs = 1; break; case 67: line = 2; break; case 68: line = 2; *offs = 1; break; case 69: line = 3; break; case 70: line = 3; *offs = 1; break; case 71: line = 4; break; } break; default: if (keysig < 0) { switch (pitch) { case 60: line = -2; break; case 61: line = -1; *offs = -1; break; case 62: line = -1; break; case 63: line = 0; *offs = -1; break; case 64: line = 0; break; case 65: line = 1; break; case 66: line = 2; *offs = -1; break; case 67: line = 2; break; case 68: line = 3; *offs = -1; break; case 69: line = 3; break; case 70: line = 4; *offs = -1; break; case 71: line = 4; break; } } else { switch (pitch) { case 60: line = -2; break; case 61: line = -2; *offs = 1; break; case 62: line = -1; break; case 63: line = -1; *offs = 1; break; case 64: line = 0; break; case 65: line = 1; break; case 66: line = 1; *offs = 1; break; case 67: line = 2; break; case 68: line = 2; *offs = 1; break; case 69: line = 3; break; case 70: line = 3; *offs = 1; break; case 71: line = 4; break; } } } retline = line + 7 * oct - x_oct_shift + clef_offs; while (retline < MIN_LINE) retline += 7; while (retline > MAX_LINE) retline -= 7; return retline; } int NedNote::getPitch() { int clef, keysig, octave_shift; bool dummy; getStaff()->getCurrentClefAndKeysig(m_chord_or_rest->getMidiTime(), &clef, &keysig, &octave_shift); return getPitch(clef, keysig, octave_shift, 0, &dummy, true); } int NedNote::getPitch(int clef, int keysig, int octave_shift, int pitch_offs, bool *flat, bool use_transpose) { if (clef == NEUTRAL_CLEF3) return getDrumPitch(); int p; int offs = 0; char offs_array[OFFS_ARRAY_SIZE]; *flat = false; if (m_tie_backward != 0) { return m_tie_backward->getPitch(clef, keysig, octave_shift, pitch_offs, flat, use_transpose); } switch (clef) { case NEUTRAL_CLEF1: case NEUTRAL_CLEF3: case TREBLE_CLEF: offs = TREBLE_PITCH_OFFS; break; case NEUTRAL_CLEF2: case BASS_CLEF: offs = BASS_PITCH_OFFS; break; case ALTO_CLEF: offs = ALTO_PITCH_OFFS; break; case TENOR_CLEF: offs = TENOR_PITCH_OFFS; break; case SOPRAN_CLEF: offs = SOPRAN_PITCH_OFFS; break; } p = lineToPitch[m_line+offs].pitch; memset(offs_array, 0, sizeof(offs_array)); //getStaff()->findAccidentals(offs_array, getSystem()->getMeasure(m_chord_or_rest->getMidiTime()), m_chord_or_rest->getMidiTime()); getStaff()->findAccidentals(offs_array, m_chord_or_rest->m_measure, m_chord_or_rest->getMidiTime(), true); switch (m_status & ACCIDENTAL_MASK) { case STAT_DFLAT: p -= 2; *flat = true; break; case STAT_FLAT: p--; *flat = true; break; case STAT_SHARP: p++; break; case STAT_DSHARP: p += 2; break; case STAT_NATURAL: break; default: if (offs_array[m_line + OFFS_ARRAY_HALF] == VIRTUAL_NATURAL_OFFS) { //natural break; } if (keysig < 0) { if (lineToPitch[m_line+offs].min_flat <= -keysig && offs_array[m_line+OFFS_ARRAY_HALF] == 0) { p--; *flat = true; break; } } if (lineToPitch[m_line+offs].min_sharp <= keysig && offs_array[m_line+OFFS_ARRAY_HALF] == 0) { p++; break; } p += offs_array[m_line + OFFS_ARRAY_HALF]; if (offs_array[m_line + OFFS_ARRAY_HALF] < 0) *flat = true; break; } if (use_transpose) { return p + octave_shift + pitch_offs + getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_play_transposed; } return p + octave_shift + pitch_offs; } int NedNote::getDrumPitch() { struct d_info_str *d_inf_ptr; for (d_inf_ptr = current_dinfo; d_inf_ptr->name; d_inf_ptr++) { if (m_line == d_inf_ptr->line && m_head == d_inf_ptr->note_head) { return d_inf_ptr->pitch; } } return 60; } void NedNote::removeUnneededAccidental(int clef, int keysig, int octave_shift) { int p; int offs = 0; char offs_array[OFFS_ARRAY_SIZE]; switch (clef) { case NEUTRAL_CLEF1: case NEUTRAL_CLEF3: case TREBLE_CLEF: offs = TREBLE_PITCH_OFFS; break; case NEUTRAL_CLEF2: case BASS_CLEF: offs = BASS_PITCH_OFFS; break; case ALTO_CLEF: offs = ALTO_PITCH_OFFS; break; case TENOR_CLEF: offs = TENOR_PITCH_OFFS; break; case SOPRAN_CLEF: offs = SOPRAN_PITCH_OFFS; break; } p = lineToPitch[m_line+offs].pitch + octave_shift; memset(offs_array, 0, sizeof(offs_array)); getStaff()->findAccidentals(offs_array, m_chord_or_rest->m_measure, m_chord_or_rest->getMidiTime(), false); switch (m_status & ACCIDENTAL_MASK) { case STAT_FLAT: if (offs_array[m_line+OFFS_ARRAY_HALF] == -1) { m_status &= (~(ACCIDENTAL_MASK)); break; } if (offs_array[m_line+OFFS_ARRAY_HALF] != VIRTUAL_NATURAL_OFFS) { if (keysig < 0) { if (lineToPitch[m_line+offs].min_flat <= -keysig && offs_array[m_line+OFFS_ARRAY_HALF] != 2 /* natural */) { m_status &= (~(ACCIDENTAL_MASK)); } } } break; case STAT_SHARP: if (offs_array[m_line+OFFS_ARRAY_HALF] == 1) { m_status &= (~(ACCIDENTAL_MASK)); break; } if (offs_array[m_line+OFFS_ARRAY_HALF] != VIRTUAL_NATURAL_OFFS) { if (lineToPitch[m_line+offs].min_sharp <= keysig && offs_array[m_line+OFFS_ARRAY_HALF] != 2 /* natural */) { m_status &= (~(ACCIDENTAL_MASK)); } } break; case STAT_NATURAL: if (offs_array[m_line+OFFS_ARRAY_HALF] == 2) { //natural m_status &= (~(ACCIDENTAL_MASK)); break; } if (offs_array[m_line+OFFS_ARRAY_HALF] != 0) break; if (keysig < 0) { if (lineToPitch[m_line+offs].min_flat > -keysig) { m_status &= (~(ACCIDENTAL_MASK)); } break; } if (lineToPitch[m_line+offs].min_sharp > keysig) { m_status &= (~(ACCIDENTAL_MASK)); } break; } } unsigned int NedNote::determineState(int pitch, int line, int half_offs, char offs_array[117], int keysig) { int i; switch (half_offs) { case -1: if (offs_array[line + 115 / 2] == -1) return 0; if (offs_array[line + 115 / 2] != VIRTUAL_NATURAL_OFFS) { if (keysig < 0) { for (i = sizeof(lineToPitch) / sizeof(pitch_descr) - 1; i >= 0; i--) { if (lineToPitch[i].pitch < pitch) { i++; break; } } if (lineToPitch[i].min_flat <= -keysig) return 0; } } offs_array[line + 115 / 2] = -1; return STAT_FLAT; case 1: if (offs_array[line + 115 / 2] == 1) return 0; if (offs_array[line + 115 / 2] != VIRTUAL_NATURAL_OFFS) { if (keysig > 0) { for ( i = 0; i < (signed int)(sizeof(lineToPitch) / sizeof(pitch_descr)); i++) { if (lineToPitch[i].pitch > pitch) { i--; break; } } if (lineToPitch[i].min_sharp <= keysig) return 0; } } offs_array[line + 115 / 2] = 1; return STAT_SHARP; default: if (offs_array[line + 115 / 2] == VIRTUAL_NATURAL_OFFS) return 0; if (offs_array[line + 115 / 2] == 1 || offs_array[line + 115 / 2] == -1) { offs_array[line + 115 / 2] = VIRTUAL_NATURAL_OFFS; return STAT_NATURAL; } if (keysig < 0) { for (i = sizeof(lineToPitch) / sizeof(pitch_descr) - 1; i >= 0; i--) { if (lineToPitch[i].pitch < pitch) { i++; break; } } if (lineToPitch[i].min_flat <= -keysig) { offs_array[line + 115 / 2] = VIRTUAL_NATURAL_OFFS; return STAT_NATURAL; } } if (keysig > 0) { for ( i = 0; i < (signed int)(sizeof(lineToPitch) / sizeof(pitch_descr)); i++) { if (lineToPitch[i].pitch > pitch) { i--; break; } } if (lineToPitch[i].min_sharp <= keysig) { offs_array[line + 115 / 2] = VIRTUAL_NATURAL_OFFS; // neutral return STAT_NATURAL; } } break; } return 0; } void NedNote::setInternalPitch(int pitchdist, int clef, int keysig, int octave_shift) { bool dummy; m_pitch = getPitch(clef, keysig, octave_shift, 0, &dummy, false) + pitchdist; } void NedNote::adjustAccidental(int clef, int keysig, int octave_shift) { int offs; m_line = pitchToLine(m_pitch, clef, keysig, octave_shift, &offs); m_ypos = - m_line * LINE_DIST/2.0; m_status &= (~(ACCIDENTAL_MASK)); switch (offs) { case -1: m_status |= STAT_FLAT; break; case 1: m_status |= STAT_SHARP; break; default: m_status |= STAT_NATURAL; break; } } void NedNote::changeAccidental(NedCommandList *command_list, int preferred_offs, int clef, int keysig, int octave_shift) { int offs; int line; unsigned int status; NedChangeAccidentalCommand *ch_acc_cmd; line = pitchToLine(m_pitch, clef, keysig, octave_shift, &offs, preferred_offs); status = (m_status & (~(ACCIDENTAL_MASK))); switch (offs) { case -1: status |= STAT_FLAT; break; case 1: status |= STAT_SHARP; break; default: status |= STAT_NATURAL; break; } if (status != m_status || line != m_line) { ch_acc_cmd = new NedChangeAccidentalCommand(this, status, line); ch_acc_cmd->execute(); command_list->addCommand(ch_acc_cmd); } } void NedNote::prepareReplay(unsigned long long midi_start_time, int clef, int keysig, int octave_shift, int pitch_offs, int voice_idx, unsigned int grace_time, bool is_grace, bool is_stacc, unsigned short segno_sign) { int pitches[4], tt; unsigned int i, part_duration; bool dummy; pitches[0] = getPitch(clef, keysig, octave_shift, pitch_offs, &dummy, true); if (is_grace) { NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time - grace_time, SND_SEQ_EVENT_NOTEON, pitches[0], getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[voice_idx].m_current_midi_program, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time - grace_time + GRACE_DURATION, SND_SEQ_EVENT_NOTEOFF, pitches[0], 0, segno_sign, this); } else if (is_stacc && m_chord_or_rest->getLength() > NOTE_32 && grace_time == 0) { NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time, SND_SEQ_EVENT_NOTEON, pitches[0], getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[voice_idx].m_current_midi_program, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, m_chord_or_rest->getMidiTime() + m_chord_or_rest->getDuration() / 2, SND_SEQ_EVENT_NOTEOFF, pitches[0], 0, segno_sign, this); } else if (grace_time == 0 && (m_chord_or_rest->getStatus() & STAT_TRILL) != 0 && (m_chord_or_rest->getStatus() & (STAT_STACC | STAT_STACCATISSIMO)) == 0) { pitches[1] = findPitchUpDown(keysig, pitches[0], 1); for (tt = 0, i = 0; i < m_chord_or_rest->getDuration() / NOTE_32; i++, tt = 1 - tt) { NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time + i * NOTE_32, SND_SEQ_EVENT_NOTEON, tt ? pitches[0] : pitches[1], getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[voice_idx].m_current_midi_program, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, m_chord_or_rest->getMidiTime() + (i + 1) * NOTE_32, SND_SEQ_EVENT_NOTEOFF, tt ? pitches[1] : pitches[0], 0, segno_sign, this); } } else if (m_chord_or_rest->getDuration() >= NOTE_8 && grace_time == 0 && (m_chord_or_rest->getStatus() & STAT_TURN) != 0 && (m_chord_or_rest->getStatus() & (STAT_STACC | STAT_STACCATISSIMO)) == 0) { pitches[1] = pitches[0]; pitches[0] = findPitchUpDown(keysig, pitches[1], 1); pitches[2] = findPitchUpDown(keysig, pitches[1], -1); pitches[3] = pitches[1]; part_duration = m_chord_or_rest->getDuration() / 4; for (i = 0; i < 4; i++) { NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time + i * part_duration, SND_SEQ_EVENT_NOTEON, pitches[i], getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[voice_idx].m_current_midi_program, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, m_chord_or_rest->getMidiTime() + (i + 1) * part_duration, SND_SEQ_EVENT_NOTEOFF, pitches[i], 0, segno_sign, this); } } else if (m_chord_or_rest->getDuration() >= NOTE_8 && grace_time == 0 && (m_chord_or_rest->getStatus() & STAT_REV_TURN) != 0 && (m_chord_or_rest->getStatus() & (STAT_STACC | STAT_STACCATISSIMO)) == 0) { pitches[1] = pitches[0]; pitches[0] = findPitchUpDown(keysig, pitches[1], -1); pitches[2] = findPitchUpDown(keysig, pitches[1], 1); pitches[3] = pitches[1]; part_duration = m_chord_or_rest->getDuration() / 4; for (i = 0; i < 4; i++) { NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time + i * part_duration, SND_SEQ_EVENT_NOTEON, pitches[i], getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[voice_idx].m_current_midi_program, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, m_chord_or_rest->getMidiTime() + (i + 1) * part_duration, SND_SEQ_EVENT_NOTEOFF, pitches[i], 0, segno_sign, this); } } else if (grace_time == 0 && (m_chord_or_rest->getStatus() & STAT_PRALL) != 0 && (m_chord_or_rest->getStatus() & (STAT_STACC | STAT_STACCATISSIMO)) == 0) { pitches[1] = findPitchUpDown(keysig, pitches[0], 1); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time, SND_SEQ_EVENT_NOTEON, pitches[0], getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[voice_idx].m_current_midi_program, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, m_chord_or_rest->getMidiTime() + NOTE_32, SND_SEQ_EVENT_NOTEOFF, pitches[0], 0, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time + NOTE_32, SND_SEQ_EVENT_NOTEON, pitches[1], getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[voice_idx].m_current_midi_program, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, m_chord_or_rest->getMidiTime() + 2 * NOTE_32, SND_SEQ_EVENT_NOTEOFF, pitches[1], 0, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time + 2 * NOTE_32, SND_SEQ_EVENT_NOTEON, pitches[0], getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[voice_idx].m_current_midi_program, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, m_chord_or_rest->getMidiTime() + m_chord_or_rest->getDuration(), SND_SEQ_EVENT_NOTEOFF, pitches[0], 0, segno_sign, this); } else if (grace_time == 0 && (m_chord_or_rest->getStatus() & STAT_MORDENT) != 0 && (m_chord_or_rest->getStatus() & (STAT_STACC | STAT_STACCATISSIMO)) == 0) { pitches[1] = findPitchUpDown(keysig, pitches[0], -1); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time, SND_SEQ_EVENT_NOTEON, pitches[0], getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[voice_idx].m_current_midi_program, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, m_chord_or_rest->getMidiTime() + NOTE_32, SND_SEQ_EVENT_NOTEOFF, pitches[0], 0, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time + NOTE_32, SND_SEQ_EVENT_NOTEON, pitches[1], getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[voice_idx].m_current_midi_program, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, m_chord_or_rest->getMidiTime() + 2 * NOTE_32, SND_SEQ_EVENT_NOTEOFF, pitches[1], 0, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time + 2 * NOTE_32, SND_SEQ_EVENT_NOTEON, pitches[0], getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[voice_idx].m_current_midi_program, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, m_chord_or_rest->getMidiTime() + m_chord_or_rest->getDuration(), SND_SEQ_EVENT_NOTEOFF, pitches[0], 0, segno_sign, this); } else { NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, midi_start_time, SND_SEQ_EVENT_NOTEON, pitches[0], getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].voices[voice_idx].m_current_midi_program, segno_sign, this); NedResource::addMidiNoteEvent(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_effective_channel, voice_idx, m_chord_or_rest->getMidiTime() + m_chord_or_rest->getDuration() - grace_time, SND_SEQ_EVENT_NOTEOFF, pitches[0], 0, segno_sign, this); } } void NedNote::setTieSimple(NedNote *other_note) { m_tie_forward = other_note; other_note->m_tie_backward = this; } void NedNote::setTieIfSamePitch(NedNote *other_note, bool check_pitch) { if (m_line != other_note->m_line) return; if (check_pitch) { if (!isTheSame(other_note)) return; } m_tie_forward = other_note; other_note->m_tie_backward = this; } bool NedNote::isTheSame(NedNote *other_note) { if (m_line != other_note->m_line) return false; return (getPitch() == other_note->getPitch()); } void NedNote::removeBackwardTie() { if (m_tie_backward == NULL) return; m_tie_backward->m_tie_forward = NULL; m_tie_backward = NULL; } void NedNote::removeForwardTie() { if (m_tie_forward == NULL) return; m_tie_forward->m_tie_backward = NULL; m_tie_forward = NULL; } void NedNote::do_tie(NedNote *other_note) { int sorting; NedNote *n0, *n1; if (getChord()->getType() == TYPE_GRACE || other_note->getChord()->getType() == TYPE_GRACE) return; if (other_note == this) return; if (!isTheSame(other_note)) return; sorting = m_chord_or_rest->getSorting(other_note->m_chord_or_rest); switch (sorting) { case SORTING_NONE: return; case SORTING_LESS: n0 = other_note; n1 = this; break; default: n0 = this; n1 = other_note; break; } if (n0->m_tie_forward != NULL || n1->m_tie_backward != NULL) return; NedCommandList *command_list = new NedCommandList(getMainWindow(), getSystem()); command_list->addCommand(new NedTieNotesCommand(n0, n1)); command_list->execute(); getMainWindow()->getCommandHistory()->addCommandList(command_list); } void NedNote::setTies(NedNote *n1, NedNote *n2) { n1->m_tie_forward = n2; n2->m_tie_backward = n1; } void NedNote::tryTieBackward() { NedChordOrRest *previousChord = m_chord_or_rest->getPreviousChordOrRest(); if (previousChord == NULL) return; if (previousChord->getType() != TYPE_CHORD) return; previousChord->tieAllNotes(m_chord_or_rest); } bool NedNote::noConflict() { return m_chord_or_rest->noConflict(m_tmp_line); } bool NedNote::trySelect(double x, double y) { int zoom_level = getMainWindow()->getCurrentZoomLevel(); double leftx = getMainWindow()->getLeftX(); double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double current_scale = getMainWindow()->getCurrentScale(); cairo_text_extents_t *extention = &(NedResource::fontextentions[zoom_level][4]); double xl = X_POS_INVERS_PAGE_REL(x); double yl = Y_POS_INVERS_STAFF_REL(y); double xnote = m_xpos + m_chord_or_rest->getXPosAndMicroshifts(); if (m_ypos + extention->y_bearing / zoom_factor < yl && m_ypos + (extention->y_bearing + extention->height) / zoom_factor > yl && xnote + extention->x_bearing / zoom_factor < xl && xnote + (extention->x_bearing + extention->width) / zoom_factor > xl) { getMainWindow()->m_selected_note = this; return TRUE; } if (m_tie_forward != NULL) { if (xl > m_tie_xpos0 && xl < m_tie_xpos1) { if (m_tie_y_offs1 > 0.0) { if (yl > m_ypos && yl < m_ypos + m_tie_y_offs1) { getMainWindow()->m_selected_tie_forward = this; } } else { if (yl < m_ypos && yl > m_ypos + m_tie_y_offs1) { getMainWindow()->m_selected_tie_forward = this; } } } } return FALSE; } bool NedNote::testYShift(double y) { if (m_head == GUITAR_NOTE_STEM || m_head == GUITAR_NOTE_NO_STEM) return false; double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double current_scale = getMainWindow()->getCurrentScale(); double yl = Y_POS_INVERS_STAFF_REL(y); int old_line = m_tmp_line; m_tmp_line = (int) (m_line + (m_ypos - yl) / (LINE_DIST/2.0)); if (m_tmp_line != old_line) { m_tmp_ypos = - m_tmp_line * LINE_DIST/2.0; return TRUE; } return FALSE; } void NedNote::setStatus(unsigned int status) { int voice_idx; int clef, keysig, octave_shift; int pitch; bool dummy; staff_context_str *context; m_status = status; context = &(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()]); getStaff()->getCurrentClefAndKeysig(m_chord_or_rest->getMidiTime(), &clef, &keysig, &octave_shift); if (getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_different_voices) { voice_idx = m_chord_or_rest->getVoice()->getVoiceNumber(); } else { voice_idx = 0; } if (NedResource::m_midi_echo) { pitch = getPitch(clef, keysig, octave_shift, 0, &dummy, true); NedResource::playImmediately(context->m_midi_channel, context->voices[voice_idx].m_midi_program, 1, &pitch, context->voices[voice_idx].m_midi_volume); } } void NedNote::moveUpDown(int line) { staff_context_str *context; int voice_idx; bool dummy; int clef, keysig, octave_shift; int pitch; getStaff()->getCurrentClefAndKeysig(m_chord_or_rest->getMidiTime(), &clef, &keysig, &octave_shift); m_line = line; m_ypos = - m_line * LINE_DIST/2.0; m_chord_or_rest->sortNotes(); if (getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()].m_different_voices) { voice_idx = m_chord_or_rest->getVoice()->getVoiceNumber(); } else { voice_idx = 0; } if (NedResource::m_midi_echo) { context = &(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()]); pitch = getPitch(clef, keysig, octave_shift, 0, &dummy, true); NedResource::playImmediately(context->m_midi_channel, context->voices[voice_idx].m_midi_program, 1, &pitch, context->voices[voice_idx].m_midi_volume); } m_tmp_line = UNKNOWN_LINE; } void NedNote::shiftNoteLine(int linedist) { m_line += linedist; m_ypos = - m_line * LINE_DIST/2.0; } bool NedNote::testRelativeMove(int dist) { return m_chord_or_rest->noConflict(m_line + dist); } bool NedNote::test_tie_increment(double incr) { if (m_tie_forward == NULL) return false; if (m_tie_offs + incr > MAX_TIE_INCR) return false; if (m_tie_offs + incr < MIN_TIE_INCR) return false; return true; } void NedNote::shiftNote(bool shift) { switch(m_chord_or_rest->getLength()) { case WHOLE_NOTE: m_xpos = -HEAD_THICK_HALF_2; break; case NOTE_2: m_xpos = -HEAD_THICK_HALF_2; break; default: m_xpos = -HEAD_THICK_2; break; } if (shift) { m_xpos = -m_xpos; } } void NedNote::computeTie() { if (m_tie_forward != NULL) { if (m_chord_or_rest->getVoice() == m_tie_forward->getVoice()) { if (m_chord_or_rest->getStemDir() == STEM_DIR_NONE) { if (!m_chord_or_rest->hasUpDir() && !m_tie_forward->getChord()->hasUpDir()) { m_tie_y_offs1 = -TIE_Y_OFFS1 + m_tie_offs; m_tie_y_offs2 = -TIE_Y_OFFS2 + m_tie_offs; } else { m_tie_y_offs1 = TIE_Y_OFFS1 + m_tie_offs; m_tie_y_offs2 = TIE_Y_OFFS2 + m_tie_offs; } } else { if (m_chord_or_rest->getStemDir() == STEM_DIR_UP) { m_tie_y_offs1 = -TIE_Y_OFFS1 + m_tie_offs; m_tie_y_offs2 = -TIE_Y_OFFS2 + m_tie_offs; } else { m_tie_y_offs1 = TIE_Y_OFFS1 + m_tie_offs; m_tie_y_offs2 = TIE_Y_OFFS2 + m_tie_offs; } } m_tie_xpos0 = m_chord_or_rest->getXPosAndMicroshifts() + m_xpos + TIE_X_START; m_tie_xpos1 = m_tie_forward->m_chord_or_rest->getXPosAndMicroshifts() + m_tie_forward->m_xpos - TIE_X_START; if (m_tie_xpos1 - m_tie_xpos0 > MIN_TIE_LEN) { m_tie_xpos0 += TIE_X_START_LARGE; m_tie_xpos1 -= TIE_X_START_LARGE; } else if (m_chord_or_rest->getDotCount()) { m_tie_xpos0 += DOT2POS; } } else { m_tie_xpos1 = getPage()->getContentWidth() + TIE_X_RIGHT_OVER; m_tie_xpos0 = m_chord_or_rest->getXPosAndMicroshifts() + m_xpos + TIE_X_START; } } if (m_tie_backward != NULL && m_chord_or_rest->getVoice() != m_tie_backward->getVoice()) { m_tie_back_xpos0 = getSystem()->m_system_start - TIE_X_OFFS; m_tie_back_xpos1 = m_chord_or_rest->getXPosAndMicroshifts() + m_xpos - TIE_X_START; } } void NedNote::collectNotesWithAccidentals(unsigned int *num_notes_with_accidentals, NedNote **note_field) { if (*num_notes_with_accidentals >= MAX_NOTES_PER_WITH_ACCIDENTALS_STAFF) return; if ((m_status & ACCIDENTAL_MASK) == 0) return; note_field[*num_notes_with_accidentals] = this; (*num_notes_with_accidentals)++; } int NedNote::compare_note_lines(NedNote **n1, NedNote **n2) { if ((*n1)->m_line < (*n2)->m_line) return -1; return 1; } double NedNote::placeAccidental(bool all_shifted, int acc_places[4], bool has_arpeggio, bool out) { bool placed; int i; if ((m_status & ACCIDENTAL_MASK) != 0) { placed = false; i = (has_arpeggio ? 1 : 0); for (;!placed && i < 4; i++) { if (m_line - acc_places[i] > 4) { placed = true; m_acc_dist = ACCIDENTAL_BASE_DIST + i * NedResource::m_acc_bbox.width + HEAD_THICK; acc_places[i] = m_line; } } if (!placed) { NedResource::Warning("Cannot place accidental"); } /* if (m_line < -1 || m_line > 9) { m_acc_dist += 2* AUX_LINE_OVER; } */ } return m_acc_dist; } void NedNote::computeBounds(int len, double *minx, double *miny, double *maxx, double *maxy) { double yy0, xx0, xx1, yy1; switch(len) { case WHOLE_NOTE: xx0 = m_xpos - HEAD_THICK_2; yy0 = m_ypos - HEAD_HIGHT_2; xx1 = m_xpos + HEAD_THICK_2; yy1 = m_ypos + HEAD_HIGHT_2; break; case NOTE_2: xx0 = m_xpos - HEAD_THICK_HALF_2; yy0 = m_ypos - HEAD_HIGHT_HALF_2; xx1 = m_xpos + HEAD_THICK_HALF_2; yy1 = m_ypos + HEAD_HIGHT_HALF_2; break; default: xx0 = m_xpos - HEAD_THICK_2; yy0 = m_ypos - HEAD_HIGHT_2; xx1 = m_xpos + HEAD_THICK_2; yy1 = m_ypos + HEAD_HIGHT_2; break; } if (m_line < -1 || m_line > 9) { xx0 -= AUX_LINE_OVER; xx1 += AUX_LINE_OVER; } #ifdef XXX if ((m_status & ACCIDENTAL_MASK) != 0) { if (-m_acc_dist /* + NedResource::m_acc_bbox.x */ < xx0) xx0 = -m_acc_dist /* + NedResource::m_acc_bbox.x */; if (m_ypos + NedResource::m_acc_bbox.y < yy0) yy0 = m_ypos + NedResource::m_acc_bbox.y; if ((m_status & ACCIDENTAL_MASK) != STAT_FLAT && (m_status & ACCIDENTAL_MASK) != STAT_DFLAT) { if (yy0 + NedResource::m_acc_bbox.height > yy1) yy1 = yy0 + NedResource::m_acc_bbox.height; } } #endif switch (m_chord_or_rest->getDotCount()) { case 1: if (xx1 < m_xpos + HEAD_THICK + DOT1POS) {xx1 = m_xpos + HEAD_THICK + DOT1POS + 2 * DOT_RAD;} break; case 2: if (xx1 < m_xpos + HEAD_THICK + DOT2POS) {xx1 = m_xpos + HEAD_THICK + DOT2POS + 2 * DOT_RAD;} break; } if (xx0 < *minx) *minx = xx0; if (yy0 < *miny) *miny = yy0; if (xx1 > *maxx) *maxx = xx1; if (yy1 > *maxy) *maxy = yy1; } void NedNote::saveNote(FILE *fp) { int marker; if (m_tie_forward || m_tie_backward) { marker = NedResource::addAddr(this); fprintf(fp, "|%d| ", marker); } switch (m_status & ACCIDENTAL_MASK) { case STAT_DFLAT: fprintf(fp, "p"); break; case STAT_FLAT: fprintf(fp, "b"); break; case STAT_SHARP: fprintf(fp, "#"); break; case STAT_DSHARP: fprintf(fp, "c"); break; case STAT_NATURAL:fprintf(fp, "="); break; default: fprintf(fp, "_"); break; } fprintf(fp, "%d ", m_line); if (m_head > NORMAL_NOTE) { fprintf(fp, " [ head : %d ]", m_head); } } void NedNote::saveTies(FILE *fp, bool *ties_written) { int marker1, marker2; if (m_tie_backward != NULL) { if (!(*ties_written)) { fprintf(fp, "TIES\n"); *ties_written = TRUE; } marker1 = NedResource::getMarkerOfAddress(m_tie_backward); marker2 = NedResource::getMarkerOfAddress(this); fprintf(fp, "( %d, %d, %f )\n", marker1, marker2, m_tie_backward->m_tie_offs); } } gint NedNote::compare(NedNote *a, NedNote *b) { if (a->m_line < b->m_line) return -1; if (a->m_line > b->m_line) return 1; return 0; } void NedNote::adjust_pointers(struct addr_ref_str *addrlist) { struct addr_ref_str *addr_ptr; void *ptr; if (m_tie_forward != NULL) { ptr = NULL; for (addr_ptr = addrlist; addr_ptr; addr_ptr = addr_ptr->next) { if (addr_ptr->ori == m_tie_forward) { ptr = addr_ptr->copy; break; } } m_tie_forward = (NedNote *) ptr; } if (m_tie_backward != NULL) { ptr = NULL; for (addr_ptr = addrlist; addr_ptr; addr_ptr = addr_ptr->next) { if (addr_ptr->ori == m_tie_backward) { ptr = addr_ptr->copy; break; } } m_tie_backward = (NedNote *) ptr; } } void NedNote::exportLilyPond(FILE *fp, int *last_line, bool *tie) { int clef, keysig, octave_shift; int pitch; int line; bool flat; staff_context_str *context; context = &(getMainWindow()->m_staff_contexts[getStaff()->getStaffNumber()]); getStaff()->getCurrentClefAndKeysig(m_chord_or_rest->getMidiTime(), &clef, &keysig, &octave_shift); if (clef == NEUTRAL_CLEF3) { exportLilyPondDrums(fp); return; } if (clef == NEUTRAL_CLEF1 || clef == NEUTRAL_CLEF2 || clef == NEUTRAL_CLEF3) clef = ALTO_CLEF; pitch = getPitch(clef, keysig, octave_shift, 0, &flat, false); while (pitch < 60) pitch += 12; while (pitch > 71) pitch -= 12; switch (pitch) { case 60: fprintf(fp, " c"); break; case 61: fprintf(fp, " %s", flat ? "des" : "cis"); break; case 62: fprintf(fp, " d"); break; case 63: fprintf(fp, " %s", flat ? "es" : "dis"); break; case 64: fprintf(fp, " e"); break; case 65: fprintf(fp, " %s", (keysig > 5) ? "eis" : "f"); break; case 66: fprintf(fp, " %s", flat ? "ges" : "fis"); break; case 67: fprintf(fp, " g"); break; case 68: fprintf(fp, " %s", flat ? "as" : "gis"); break; case 69: fprintf(fp, " a"); break; case 70: fprintf(fp, " %s", flat ? "bes" : "ais"); break; case 71: fprintf(fp, " %s", (keysig < -5) ? "ces" : "b"); break; } line = m_line; while (line > *last_line + 3) { fprintf(fp, "'"); line -= 7; } while (line < *last_line - 3) { fprintf(fp, ","); line += 7; } if (m_tie_forward != NULL) { *tie = true; } *last_line = m_line; } void NedNote::exportLilyPondDrums(FILE *fp) { struct d_info_str *d_inf_ptr; for (d_inf_ptr = current_dinfo; d_inf_ptr->name; d_inf_ptr++) { if (m_line == d_inf_ptr->line && m_head == d_inf_ptr->note_head) { fprintf(fp, " %s", d_inf_ptr->lily_short_name); return; } } fprintf(fp, " r"); } nted-1.10.18/crescendo.cpp0000664001041000007640000001663411520267230012215 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "crescendo.h" #include "linepoint.h" #include "page.h" #include "staff.h" #include "chordorrest.h" #include "system.h" #include "volumedialog.h" #include #define X_POS_PAGE_REL(sp, p) ((sp->m_element->getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define X_PAGE_POS_PAGE_REL(page, p) (((page)->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_PAGE_REL(p) ((p) * zoom_factor - topy) NedCrescendo::NedCrescendo(NedLinePoint *start, NedLinePoint *end, bool decrescendo) : NedLine(start, end), m_decrescendo(decrescendo) { m_volume_diff = decrescendo ? -40 : 40; } NedCrescendo::NedCrescendo(NedLinePoint *start, NedLinePoint *end, bool decrescendo, int volume_diff) : NedLine(start, end), m_decrescendo(decrescendo), m_volume_diff(volume_diff) {} #define CRESCENDO_FAC 0.04 #define MAX_CRESCENDO_OPEN 0.1 #define CRESCENDO_THICK 0.04 void NedCrescendo::draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level) { double open, ypos1; NedStaff *staff; GList *lptr, *last; if (!m_allow_drawing) return; if (m_distributed) { cairo_set_line_width(cr, zoom_factor * CRESCENDO_THICK); if ((lptr = g_list_first(m_intermediate_staves)) == NULL) { NedResource::Abort("NedCrescendo::draw: error 1"); } last = g_list_last(m_intermediate_staves); staff = (NedStaff *) lptr->data; if (m_decrescendo) { open = CRESCENDO_FAC * (staff->getSystemEnd() - m_start_x); if (open > MAX_CRESCENDO_OPEN) open = MAX_CRESCENDO_OPEN; cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), m_start_x), Y_POS_PAGE_REL(m_start_y + open)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemEnd()), Y_POS_PAGE_REL(m_start_y)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), m_start_x), Y_POS_PAGE_REL(m_start_y - open)); cairo_stroke(cr); for (lptr = g_list_next(lptr); lptr != last; lptr = g_list_next(lptr)) { staff = (NedStaff *) lptr->data; ypos1 = staff->getSystem()->getYPos() + staff->getMidPos() + m_line_start_point->getYposRelative(); open = CRESCENDO_FAC * (staff->getSystemEnd() - staff->getSystemStart()); if (open > MAX_CRESCENDO_OPEN) open = MAX_CRESCENDO_OPEN; cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemStart()), Y_POS_PAGE_REL(ypos1 + open)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemEnd()), Y_POS_PAGE_REL(ypos1)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemStart()), Y_POS_PAGE_REL(ypos1 - open)); cairo_stroke(cr); } staff = (NedStaff *) lptr->data; ypos1 = staff->getSystem()->getYPos() + staff->getMidPos() + m_line_start_point->getYposRelative(); open = CRESCENDO_FAC * (m_end_x - staff->getSystemStart()); if (open > MAX_CRESCENDO_OPEN) open = MAX_CRESCENDO_OPEN; cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemStart()), Y_POS_PAGE_REL(ypos1 + open)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), m_end_x), Y_POS_PAGE_REL(ypos1)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemStart()), Y_POS_PAGE_REL(ypos1 - open)); cairo_stroke(cr); } else { open = CRESCENDO_FAC * (staff->getSystemEnd() - m_start_x); if (open > MAX_CRESCENDO_OPEN) open = MAX_CRESCENDO_OPEN; cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemEnd()), Y_POS_PAGE_REL(m_start_y + open)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), m_start_x), Y_POS_PAGE_REL(m_start_y)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemEnd()), Y_POS_PAGE_REL(m_start_y - open)); cairo_stroke(cr); for (lptr = g_list_next(lptr); lptr != last; lptr = g_list_next(lptr)) { staff = (NedStaff *) lptr->data; ypos1 = staff->getSystem()->getYPos() + staff->getMidPos() + m_line_start_point->getYposRelative(); open = CRESCENDO_FAC * (staff->getSystemEnd() - staff->getSystemStart()); if (open > MAX_CRESCENDO_OPEN) open = MAX_CRESCENDO_OPEN; cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemEnd()), Y_POS_PAGE_REL(ypos1 + open)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemStart()), Y_POS_PAGE_REL(ypos1)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemEnd()), Y_POS_PAGE_REL(ypos1 - open)); cairo_stroke(cr); } staff = (NedStaff *) lptr->data; ypos1 = staff->getSystem()->getYPos() + staff->getMidPos() + m_line_start_point->getYposRelative(); open = CRESCENDO_FAC * (m_end_x - staff->getSystemStart()); if (open > MAX_CRESCENDO_OPEN) open = MAX_CRESCENDO_OPEN; cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), m_end_x), Y_POS_PAGE_REL(ypos1 + open)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemStart()), Y_POS_PAGE_REL(ypos1)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), m_end_x), Y_POS_PAGE_REL(ypos1 - open)); cairo_stroke(cr); } } else { open = CRESCENDO_FAC * (m_end_x - m_start_x); if (open > MAX_CRESCENDO_OPEN) open = MAX_CRESCENDO_OPEN; if (m_decrescendo) { cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * CRESCENDO_THICK); cairo_move_to(cr, X_POS_PAGE_REL(m_line_start_point, m_start_x), Y_POS_PAGE_REL(m_start_y + open)); cairo_line_to(cr, X_POS_PAGE_REL(m_line_end_point, m_end_x), Y_POS_PAGE_REL(m_start_y)); cairo_line_to(cr, X_POS_PAGE_REL(m_line_start_point, m_start_x), Y_POS_PAGE_REL(m_start_y - open)); cairo_stroke(cr); } else { cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * CRESCENDO_THICK); cairo_move_to(cr, X_POS_PAGE_REL(m_line_end_point, m_end_x), Y_POS_PAGE_REL(m_start_y + open)); cairo_line_to(cr, X_POS_PAGE_REL(m_line_start_point, m_start_x), Y_POS_PAGE_REL(m_start_y)); cairo_line_to(cr, X_POS_PAGE_REL(m_line_end_point, m_end_x), Y_POS_PAGE_REL(m_start_y - open)); cairo_stroke(cr); } } } void NedCrescendo::startContextDialog(GtkWidget *ref) { int newvoldiff; bool state; NedVolumeDialog *voldialog = new NedVolumeDialog(GTK_WINDOW(ref), m_volume_diff, true); voldialog->getValues(&state, &newvoldiff); if (state) { m_volume_diff = newvoldiff; } } nted-1.10.18/NEWS0000664001041000007640000000000011520267230010217 00000000000000nted-1.10.18/line.cpp0000664001041000007640000000652611520267230011176 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "line.h" #include "linepoint.h" #include "page.h" #include "staff.h" #include "chordorrest.h" #include "system.h" #include NedLine::NedLine(NedLinePoint *start, NedLinePoint *end) : m_line_start_point(start), m_line_end_point(end), m_intermediate_staves(NULL), m_distributed(false), m_allow_drawing (false) { start->setLine(this); end->setLine(this); computeParams(); } bool NedLine::isActive() { if (m_line_start_point->isActive()) return true; if (m_line_end_point->isActive()) return true; return false; } void NedLine::computeParams() { NedStaff *start_staff, *end_staff; NedLinePoint *tmp_point; if (m_line_end_point->less_than(m_line_start_point)) { tmp_point = m_line_start_point; m_line_start_point = m_line_end_point; m_line_end_point = tmp_point; } m_line_start_point->getXYPosAndStaff(&m_start_x, &m_start_y, &start_staff); m_line_end_point->getXYPosAndStaff(&m_end_x, &m_end_y, &end_staff); m_distributed = (start_staff != end_staff); m_allow_drawing = end_staff->getPage()->getPageNumber() - start_staff->getPage()->getPageNumber() < 2; if (m_allow_drawing && m_distributed) { g_list_free(m_intermediate_staves); m_intermediate_staves = NULL; start_staff->getPage()->getLinePoints(start_staff, end_staff, &m_intermediate_staves); } } void NedLine::setAllPointsToRel(NedLinePoint *initiator) { if (m_line_start_point != initiator) { m_line_start_point->toRel2(); } if (m_line_end_point != initiator) { m_line_end_point->toRel2(); } } unsigned long long NedLine::computeMidiDuration() { long long duration; GList *lptr, *last; if (m_distributed) { duration = m_line_start_point->getElement()->getSystem()->getSystemEndTime() - m_line_start_point->getElement()->getMidiTime(); duration += m_line_end_point->getElement()->getMidiTime(); last = g_list_last(m_intermediate_staves); lptr = g_list_first(m_intermediate_staves); for (lptr = g_list_next(lptr); lptr != last; lptr = g_list_next(lptr)) { duration += ((NedStaff *) lptr->data)->getSystem()->getSystemEndTime(); } return duration; } else { return m_line_end_point->getElement()->getMidiTime() - m_line_start_point->getElement()->getMidiTime(); } } nted-1.10.18/line3.cpp0000664001041000007640000000700211520267230011247 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "line3.h" #include "linepoint.h" #include "page.h" #include "staff.h" #include "chordorrest.h" #include "system.h" #include NedLine3::NedLine3(NedLinePoint *start, NedLinePoint *mid, NedLinePoint *end) : NedLine(start, end), m_line_mid_point(mid), m_intermediate_staves1(NULL), m_intermediate_staves2(NULL) { mid->setLine(this); computeParams(); } bool NedLine3::isActive() { if (m_line_start_point->isActive()) return true; if (m_line_mid_point->isActive()) return true; if (m_line_end_point->isActive()) return true; return false; } void NedLine3::computeParams() { NedStaff *start_staff, *mid_staff, *end_staff; NedLinePoint *tmp_point; if (m_line_end_point->less_than(m_line_start_point)) { tmp_point = m_line_start_point; m_line_start_point = m_line_end_point; m_line_end_point = tmp_point; } if (m_line_mid_point->less_than(m_line_start_point)) { tmp_point = m_line_mid_point; m_line_mid_point = m_line_start_point; m_line_start_point = tmp_point; } if (m_line_end_point->less_than(m_line_mid_point)) { tmp_point = m_line_mid_point; m_line_mid_point = m_line_end_point; m_line_end_point = tmp_point; } m_line_start_point->getXYPosAndStaff(&m_start_x, &m_start_y, &start_staff); m_line_mid_point->getXYPosAndStaff(&m_mid_x, &m_mid_y, &mid_staff); m_line_end_point->getXYPosAndStaff(&m_end_x, &m_end_y, &end_staff); m_distributed1 = (start_staff != mid_staff); m_allow_drawing = true; if (m_distributed1) { g_list_free(m_intermediate_staves1); m_intermediate_staves1 = NULL; start_staff->getPage()->getLinePoints(start_staff, mid_staff, &m_intermediate_staves1); m_allow_drawing = mid_staff->getPage()->getPageNumber() - start_staff->getPage()->getPageNumber() < 2; } m_distributed2 = (mid_staff != end_staff); if (m_distributed2) { g_list_free(m_intermediate_staves2); m_intermediate_staves2 = NULL; mid_staff->getPage()->getLinePoints(mid_staff, end_staff, &m_intermediate_staves2); m_allow_drawing = m_allow_drawing && end_staff->getPage()->getPageNumber() - mid_staff->getPage()->getPageNumber() < 2; } } void NedLine3::setAllPointsToRel(NedLinePoint *initiator) { if (m_line_start_point != initiator) { m_line_start_point->toRel2(); } if (m_line_mid_point != initiator) { m_line_mid_point->toRel2(); } if (m_line_end_point != initiator) { m_line_end_point->toRel2(); } } nted-1.10.18/freesign.cpp0000664001041000007640000000610711520267230012044 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "freesign.h" #include "chordorrest.h" #include "staff.h" #include "system.h" #include "page.h" #define X_POS_PAGE_REL(p) ((m_element->getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_PAGE_REL(p) ((p) * zoom_factor - topy) NedFreeSign::NedFreeSign(int kind) : NedFreeReplaceable(), m_kind(kind) {} NedFreeSign::NedFreeSign(int kind, NedChordOrRest *element) : NedFreeReplaceable(element), m_kind(kind) {} NedFreeSign::NedFreeSign(int kind, NedChordOrRest *element, double x, double y, bool relative) : NedFreeReplaceable(element, x, y, relative), m_kind(kind) {} NedFreeReplaceable *NedFreeSign::clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area /* = NULL */, NedMainWindow *main_window /* = NULL */) { NedFreeSign *newFreeSig = new NedFreeSign(m_kind, newelement, m_x, m_y, true); return newFreeSig; } void NedFreeSign::adjust_pointers(struct addr_ref_str *slurlist) { } void NedFreeSign::draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale) { if (m_element == NULL) return; double xpos, ypos; getXYPos(&xpos, &ypos); cairo_glyph_t glyph[3]; int len = 0; double yoffs = 0.0; #define X_SIGN_SPACE 0.2 cairo_new_path(cr); if (isActive()) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } switch(m_kind) { case SIGN_SEGNO: glyph[0].index = BASE + 48; len = 1; break; case SIGN_CODA: glyph[0].index = BASE + 47; len = 1; break; } glyph[0].y = Y_POS_PAGE_REL(ypos + yoffs); glyph[1].y = glyph[2].y = Y_POS_PAGE_REL(ypos); for (int i = 0; i < len; i++) { glyph[i].x = X_POS_PAGE_REL(xpos - (len / 2 - i) * X_SIGN_SPACE); } cairo_show_glyphs(cr, glyph, len); if (isActive()) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } cairo_stroke(cr); if (m_is_abs) { drawConnection(cr, xpos, ypos, leftx, topy, zoom_factor); } } void NedFreeSign::startContextDialog(GtkWidget *ref) { } nted-1.10.18/freetext.cpp0000664001041000007640000002340611520267230012071 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "resource.h" #include "freetext.h" #include "chordorrest.h" #include "textdialog.h" #include "pangocairotext.h" #include "staff.h" #include "system.h" #include "page.h" #define X_POS_PAGE_REL(p) ((m_element->getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_PAGE_REL(p) ((p) * zoom_factor - topy) #define X_POS_PAGE_REL_INVERSE(p) (((p) / current_scale + leftx) / zoom_factor - m_element->getPage()->getContentXpos()) #define Y_POS_PAGE_REL_INVERSE(p) (((p) / current_scale + topy - (TOP_BOTTOM_BORDER + DEFAULT_BORDER)) / zoom_factor) NedFreeText::NedFreeText(char *text, GtkWidget *drawing_area, int anchor, unsigned int tempo, bool enable_tempo, unsigned int volume, bool enable_volume, unsigned short segno_sign, int midi_pgm, unsigned int channel, bool enable_channel, const char *font_family, double font_size, PangoStyle font_slant, PangoWeight font_weight) : NedFreeReplaceable(), m_midi_volume(volume), m_enable_volume_change(enable_volume), m_enable_tempo_change(enable_tempo), m_segno_sign(segno_sign), m_midi_pgm(midi_pgm), m_channel(channel), m_enable_channel(enable_channel), m_font_family(font_family), m_font_size(font_size), m_font_slant(font_slant), m_font_weight(font_weight), m_anchor(anchor), m_tempo(tempo), m_text(NULL), m_drawing_area(drawing_area) { if (text != NULL) { m_text = new NedPangoCairoText(drawing_area->window, text, font_family, font_slant, font_weight, font_size, NedResource::getStartZoomScale(), 1.0, false); } } NedFreeText::NedFreeText(char *text, GtkWidget *drawing_area, int anchor, unsigned int tempo, bool enable_tempo, unsigned int volume, bool enable_volume, unsigned short segno_sign, int midi_pgm, unsigned int channel, bool enable_channel, const char *font_family, double font_size, PangoStyle font_slant, PangoWeight font_weight, NedChordOrRest *element) : NedFreeReplaceable(element), m_midi_volume(volume), m_enable_volume_change(enable_volume), m_enable_tempo_change(enable_tempo), m_segno_sign(segno_sign), m_midi_pgm(midi_pgm), m_channel(channel), m_enable_channel(enable_channel), m_font_family(font_family), m_font_size(font_size), m_font_slant(font_slant), m_font_weight(font_weight), m_anchor(anchor), m_tempo(tempo), m_text(NULL), m_drawing_area(drawing_area) { if (text != NULL) { m_text = new NedPangoCairoText(drawing_area->window, text, font_family, font_slant, font_weight, font_size, NedResource::getStartZoomScale(), 1.0, false); } } NedFreeText::NedFreeText(char *text, GtkWidget *drawing_area, int anchor, unsigned int tempo, bool enable_tempo, unsigned int volume, bool enable_volume, unsigned short segno_sign, int midi_pgm, unsigned int channel, bool enable_channel, const char *font_family, double font_size, PangoStyle font_slant, PangoWeight font_weight, NedChordOrRest *element, double x, double y, bool relative) : NedFreeReplaceable(element, x, y, relative), m_midi_volume(volume), m_enable_volume_change(enable_volume), m_enable_tempo_change(enable_tempo), m_segno_sign(segno_sign), m_midi_pgm(midi_pgm), m_channel(channel), m_enable_channel(enable_channel), m_font_family(font_family), m_font_size(font_size), m_font_slant(font_slant), m_font_weight(font_weight), m_anchor(anchor), m_tempo(tempo), m_text(NULL), m_drawing_area(drawing_area) { if (text != NULL) { m_text = new NedPangoCairoText(drawing_area->window, text, font_family, font_slant, font_weight, font_size, NedResource::getStartZoomScale(), 1.0, false); } } NedFreeReplaceable *NedFreeText::clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area /* = NULL */, NedMainWindow *main_window /* = NULL */) { const char *nfamily; if (drawing_area == NULL) { NedResource::Abort("NedFreeText::clone(1)"); } if ((nfamily = (char *) g_try_malloc(strlen(m_font_family) + 1)) == NULL) { NedResource::Abort("NedFreeText::clone(2)"); } strcpy((char *) nfamily, m_font_family); NedFreeText *freetext = new NedFreeText(m_text->getText(), drawing_area, m_anchor, m_tempo, m_enable_tempo_change, m_midi_volume, m_enable_volume_change, m_segno_sign, m_midi_pgm, m_enable_channel, m_channel, nfamily, m_font_size, m_font_slant, m_font_weight, newelement, m_x, m_y, true); return freetext; } void NedFreeText::adjust_pointers(struct addr_ref_str *slurlist) { } void NedFreeText::startContextDialog(GtkWidget *ref) { bool state; char *newtext; const char *newfont_family; PangoStyle newfont_slant; PangoWeight newfont_weight; bool newenable_volume; bool newenable_tempo; unsigned short newsegno_sign; int new_anchor; unsigned int newvolume; unsigned int newtempo; unsigned int newchannel; bool newenable_channel; int new_midi_pgm; double newfont_size; NedTextDialog *dialog = new NedTextDialog (GTK_WINDOW(ref), m_text->getText(), m_anchor, m_tempo, m_enable_tempo_change, m_midi_volume, m_enable_volume_change, m_segno_sign, m_midi_pgm, m_channel, m_enable_channel, m_font_family, m_font_size, m_font_slant, m_font_weight); dialog->getValues(&state, &newtext, &new_anchor, &newtempo, &newenable_tempo, &newvolume, &newenable_volume, &newsegno_sign, &new_midi_pgm, &newchannel, &newenable_channel, &newfont_family, &newfont_size, &newfont_slant, &newfont_weight); if (state) { if (m_text != NULL) { delete m_text; m_text = NULL; } if (newtext != NULL) { if (strlen(newtext) > 0) { m_anchor = new_anchor; m_tempo = newtempo; m_enable_tempo_change = newenable_tempo; m_midi_volume = newvolume; m_enable_volume_change = newenable_volume; m_segno_sign = newsegno_sign; m_midi_pgm = new_midi_pgm; m_channel = newchannel; m_enable_channel = newenable_channel; m_font_family = newfont_family; m_font_size = newfont_size; m_font_slant = newfont_slant; m_font_weight = newfont_weight; m_text = new NedPangoCairoText(ref->window, newtext, m_font_family, m_font_slant, m_font_weight, m_font_size, NedResource::getStartZoomScale(), 1.0, false); } } } } void NedFreeText::draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale) { if (m_element == NULL) return; double xpos, ypos; double xx, yy; if (m_text == NULL) return; getXYPos(&xpos, &ypos); cairo_new_path(cr); if (isActive()) { cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); } xx = scale * X_POS_PAGE_REL(xpos); yy = scale * Y_POS_PAGE_REL(ypos) - m_text->getHeight() / 2.0; switch (m_anchor) { case ANCHOR_MID: xx = scale * X_POS_PAGE_REL(xpos) - m_text->getWidth() / 2.0; yy = scale * Y_POS_PAGE_REL(ypos) - m_text->getHeight() / 2.0; break; case ANCHOR_RIGHT: xx = scale * X_POS_PAGE_REL(xpos) - m_text->getWidth(); yy = scale * Y_POS_PAGE_REL(ypos) - m_text->getHeight() / 2.0; break; } m_text->draw(cr, xx, yy, zoom_factor, scale); if (isActive()) { cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } if (m_is_abs) { drawConnectionInFreeText(cr, xpos, ypos, scale, leftx, topy, zoom_factor); } } bool NedFreeText::trySelect(double xl, double yl, double zoom_factor, double current_scale, double leftx, double topy) { if (m_element == NULL) return false; double xpos, ypos; double x = X_POS_PAGE_REL_INVERSE(xl); double y = Y_POS_PAGE_REL_INVERSE(yl); if (m_text == NULL) return false; getXYPos(&xpos, &ypos); switch (m_anchor) { case ANCHOR_MID: xpos -= m_text->getWidth() / zoom_factor / 2.0; break; case ANCHOR_RIGHT: xpos -= m_text->getWidth() / zoom_factor; break; } if (x < xpos || x > xpos + m_text->getWidth() / zoom_factor || y < ypos - m_text->getHeight() / zoom_factor || y > ypos) return false; setThis(); return true; } double NedFreeText::getTempoInverse() { return 60000.0 / (double) m_tempo; } void NedFreeText::setText(char *text, double zoom) { if (m_text != NULL) { delete m_text; m_text = NULL; } if (text != NULL && strlen(text) > 0) { m_text->setText(text, zoom, false); } } void NedFreeText::setZoom(double zoom, double scale) { if (m_text == NULL) return; m_text->setZoom(zoom, scale); } char *NedFreeText::getText() { if (m_text == NULL) return NULL; return m_text->getText(); } void NedFreeText::getLilyText(char *s) { char *cptr; #define LILYSEGNO "\\musicglyph #\"scripts.segno\"" #define LILYCODA "\\musicglyph #\"scripts.coda\"" if (m_text == NULL) { s[0] = '\0'; return; } for (cptr = m_text->getText(); *cptr != '\0'; cptr++, s++) { if (*cptr == '\\') { if (*(cptr + 1) == 'S') { strcpy(s, LILYSEGNO); s += strlen(LILYSEGNO) - 1; cptr++; continue; } else if (*(cptr + 1) == 'O') { strcpy(s, LILYCODA); s += strlen(LILYCODA) - 1; cptr++; continue; } else { *s = *cptr; } } else { *s = *cptr; } } *s = '\0'; } nted-1.10.18/beam.cpp0000664001041000007640000005750711520267230011160 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "beam.h" #include "staff.h" #include "system.h" #include "mainwindow.h" #include "page.h" #include "system.h" #include "voice.h" #include "chordorrest.h" #include "note.h" #define X_POS_PAGE_REL(p) ((getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_STAFF_REL(p) (((p) + getSystem()->getYPos() + getStaff()->getBottomPos()) * zoom_factor - topy) #define X_PS_POS(p) ((DEFAULT_BORDER + LEFT_RIGHT_BORDER + (p)) * PS_ZOOM) #define Y_PS_POS_STAFF_REL(p) ((height - ((p) + getSystem()->getYPos() + getStaff()->getBottomPos())) * PS_ZOOM) double NedBeam::m_slopes[SLOPE_COUNT] = {-0.5, -0.3420104, -0.1736431084, 0.0, 0.1736431084, 0.3420104, 0.5}; NedBeam::NedBeam(GList *beamed_chords_list) : m_needed(TRUE), m_beamed_chords(beamed_chords_list), m_slope(0.0), m_start_y(10000.0), m_tuplet_marker(0), m_beam_count(0) { reconnect(); } void NedBeam::freeChords() { GList *lptr; for (lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->setBeam(NULL); } } void NedBeam::reconnect() { GList *lptr; for (lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->setBeam(this); } } void NedBeam::insertChord(NedChordOrRest *chord, int newpos) { m_beamed_chords = g_list_insert(m_beamed_chords, chord, newpos); chord->setBeam(this); //computeBeam(); } int NedBeam::getPosition(NedChordOrRest *chord) { int pos; if ((pos = g_list_index(m_beamed_chords, chord)) < 0) { NedResource::Abort("NedBeam::getPosition"); } return pos; } void NedBeam::removeChord(NedChordOrRest *chord) { GList *lptr = g_list_find(m_beamed_chords, chord); if (lptr == NULL) { NedResource::Abort("NedBeam::removeChord"); } m_beamed_chords = g_list_delete_link(m_beamed_chords, lptr); } int NedBeam::getChordCount() { return g_list_length(m_beamed_chords); } bool NedBeam::isEqual(GList *beamlist, NedChordOrRest *except, int *diff_pos) { return NedResource::equalContent(m_beamed_chords, beamlist, except, diff_pos); } bool NedBeam::isFirstInBeam(NedChordOrRest *chord) { return (g_list_first(m_beamed_chords)->data == chord); } bool NedBeam::isLastInBeam(NedChordOrRest *chord) { return (g_list_last(m_beamed_chords)->data == chord); } NedChordOrRest *NedBeam::getFirst() { return (NedChordOrRest *) g_list_first(m_beamed_chords)->data; } NedChordOrRest *NedBeam::getLast() { return (NedChordOrRest *) g_list_last(m_beamed_chords)->data; } void NedBeam::computeBeam(int staff_voice_offs) { GList *lptr; int i; int slope_idx = 0, slope_down_idx = 0; double h, x; double sumdist, dist; double summ_mid_dist_down, summ_mid_dist_up = 0.0, middist; double endy_down = 0.0, slope_down = 0.0, starty_down = 0.0, startx_down = 0.0, endx_down = 0.0, last_sum_dist_down = 100000.0; double slope, starty, last_sum_dist = 100000.0; bool user_stem = false; bool predefined_up = false; int stem_dir; NedChordOrRest *first = (NedChordOrRest *) g_list_first(m_beamed_chords)->data; NedChordOrRest *last = (NedChordOrRest *) g_list_last(m_beamed_chords)->data; stem_dir = first->getStemDirectionOfTheMeasure(staff_voice_offs); user_stem = ((first->getStatus() & STAT_USER_STEMDIR) != 0); if (user_stem) { predefined_up = ((first->getStatus() & STAT_UP) != 0); } if (first->getFirstNote()->getNoteHead() == GUITAR_NOTE_STEM) { user_stem = true; predefined_up = false; } if (first->getType() == TYPE_GRACE) { switch (first->getLength()) { case GRACE_16: m_beam_count = 2; break; default: m_beam_count = 1; break; } computeGraceBeam(first, last); return; } m_start_x = first->getBeamXPos() - STEM_THICK / 2.0; m_end_x = last->getBeamXPos() + STEM_THICK / 2.0; m_up = TRUE; if (!user_stem || predefined_up) { for (i = 0; i < SLOPE_COUNT; i++) { starty = ((NedChordOrRest *) g_list_first(m_beamed_chords)->data)->getStemTop(); slope = m_slopes[i]; for (lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { x = ((NedChordOrRest *) lptr->data)->getBeamXPos(); h = ((NedChordOrRest *) lptr->data)->getStemTop(); if (h < starty - (x - m_start_x) * slope) { starty -= (starty - (x - m_start_x) * slope) - h; } } sumdist = 0.0; for (lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { x = ((NedChordOrRest *) lptr->data)->getBeamXPos(); h = ((NedChordOrRest *) lptr->data)->getStemTop(); dist = h - (starty - (x - m_start_x) * slope); if (dist < 0) dist = -dist; #define QUAD #ifdef QUAD sumdist += dist * dist; #else sumdist += dist; #endif } if (last_sum_dist > sumdist) { last_sum_dist = sumdist; m_start_y = starty; m_slope = slope; slope_idx = i; } } slope_idx += ((NedChordOrRest *) g_list_last(m_beamed_chords)->data)->getSlopeOffset(); if (slope_idx < 0) slope_idx = 0; if (slope_idx >= SLOPE_COUNT) slope_idx = SLOPE_COUNT-1; m_slope = m_slopes[slope_idx]; m_end_y = m_start_y - (m_end_x - m_start_x) * m_slope; } if (!user_stem || !predefined_up) { for (i = 0; i < SLOPE_COUNT; i++) { starty = ((NedChordOrRest *) g_list_first(m_beamed_chords)->data)->getStemBottom(); slope = m_slopes[i]; for (lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { x = ((NedChordOrRest *) lptr->data)->getBeamXPos(); h = ((NedChordOrRest *) lptr->data)->getStemBottom(); if (h > starty - (x - m_start_x) * slope) { starty += h - (starty - (x - m_start_x) * slope); } } sumdist = 0.0; for (lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { x = ((NedChordOrRest *) lptr->data)->getBeamXPos(); h = ((NedChordOrRest *) lptr->data)->getStemBottom(); dist = (starty - (x - m_start_x) * slope) - h; if (dist < 0) dist = -dist; #ifdef QUAD sumdist += dist * dist; #else sumdist += dist; #endif } if (last_sum_dist_down > sumdist) { last_sum_dist_down = sumdist; starty_down = starty; slope_down_idx = i; } } slope_down_idx += last->getSlopeOffset(); if (slope_down_idx < 0) slope_down_idx = 0; if (slope_down_idx >= SLOPE_COUNT) slope_down_idx = SLOPE_COUNT-1; slope_down = m_slopes[slope_down_idx]; } if (!user_stem || predefined_up) { summ_mid_dist_up = 0.0; middist = m_start_y - (-2* LINE_DIST); if (middist < 0.0) middist = -middist; summ_mid_dist_up += middist; middist = m_end_y - (-2* LINE_DIST); if (middist < 0.0) middist = -middist; summ_mid_dist_up += middist; } if (!user_stem || !predefined_up) { startx_down = first->getBeamXPos(); endx_down = last->getBeamXPos(); endy_down = starty_down - (endx_down - startx_down) * slope_down; summ_mid_dist_down = 0.0; middist = starty_down - (-2* LINE_DIST); if (middist < 0.0) middist = -middist; summ_mid_dist_down += middist; middist = endy_down - (-2* LINE_DIST); if (middist < 0.0) middist = -middist; summ_mid_dist_down += middist; } if (user_stem) { stem_dir = predefined_up ? STEM_DIR_UP : STEM_DIR_DOWN; } if ((stem_dir == STEM_DIR_NONE && summ_mid_dist_down < summ_mid_dist_up) || stem_dir == STEM_DIR_DOWN) { m_up = FALSE; m_start_y = starty_down; m_end_y = endy_down; m_slope = slope_down; m_start_x = startx_down; m_end_x = endx_down; } m_start_y += first->getBeamOffset(); m_end_y += first->getBeamOffset(); for (lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->xPositNotes(); ((NedChordOrRest *) lptr->data)->computeBbox(); } m_tuplet_x = m_start_x + (m_end_x - m_start_x) / 2.0 - NUMNBER_GLYPH_WIDTH /2.0 - TRIPLET_VAL_SHIFT_X; m_tuplet_y = m_start_y + (m_end_y - m_start_y) / 2.0; } double NedBeam::getBeamLength() { return m_end_x - m_start_x; } double NedBeam::getTopOfBeam() { return m_start_y < m_end_y ? m_start_y : m_end_y; } double NedBeam::getBottomOfBeam() { return m_start_y < m_end_y ? m_end_y : m_start_y; } void NedBeam::computeGraceBeam(NedChordOrRest *first, NedChordOrRest *last) { GList *lptr; int i; double h, x; double sumdist, dist; double slope, starty, last_sum_dist = 100000.0; m_start_x = first->getBeamXPos() - STEM_THICK / 2.0; m_end_x = last->getBeamXPos() + STEM_THICK / 2.0; m_up = TRUE; for (i = 0; i < SLOPE_COUNT; i++) { starty = ((NedChordOrRest *) g_list_first(m_beamed_chords)->data)->getStemTop(); slope = m_slopes[i]; for (lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { x = ((NedChordOrRest *) lptr->data)->getBeamXPos(); h = ((NedChordOrRest *) lptr->data)->getStemTop(); if (h < starty - (x - m_start_x) * slope) { starty -= (starty - (x - m_start_x) * slope) - h; } } sumdist = 0.0; for (lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { x = ((NedChordOrRest *) lptr->data)->getBeamXPos(); h = ((NedChordOrRest *) lptr->data)->getStemTop(); dist = h - (starty - (x - m_start_x) * slope); if (dist < 0) dist = -dist; #define QUAD #ifdef QUAD sumdist += dist * dist; #else sumdist += dist; #endif } if (last_sum_dist > sumdist) { last_sum_dist = sumdist; m_start_y = starty; m_slope = slope; } } m_end_y = m_start_y - (m_end_x - m_start_x) * m_slope; for (lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { ((NedChordOrRest *) lptr->data)->xPositNotes(); ((NedChordOrRest *) lptr->data)->computeBbox(); } } NedMainWindow *NedBeam::getMainWindow() {return ((NedChordOrRest *) g_list_first(m_beamed_chords)->data)->getStaff()->getSystem()->getPage()->getMainWindow();} NedPage *NedBeam::getPage() {return ((NedChordOrRest *) g_list_first(m_beamed_chords)->data)->getStaff()->getSystem()->getPage();} NedSystem *NedBeam::getSystem() {return ((NedChordOrRest *) g_list_first(m_beamed_chords)->data)->getStaff()->getSystem();} NedStaff *NedBeam::getStaff() {return ((NedChordOrRest *) g_list_first(m_beamed_chords)->data)->getStaff();} NedBeam::~NedBeam() { GList *lptr; NedChordOrRest *chord = (NedChordOrRest *) g_list_first(m_beamed_chords)->data; chord->getVoice()->removeBeam(this); for (lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { if (((NedChordOrRest *) lptr->data)->getBeam() == this) { ((NedChordOrRest *) lptr->data)->setBeam(NULL); ((NedChordOrRest *) lptr->data)->xPositNotes(); } } g_list_free(m_beamed_chords); } void NedBeam::changeStemDir(int dir) { computeBeam(dir); } void NedBeam::print() { GList *lptr; for (lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { NedResource::DbgMsg(DBG_TESTING, "B: 0x%x\n", lptr->data); } NedResource::DbgMsg(DBG_TESTING, "############\n"); } double NedBeam::getYPosAt(double xpos) { return m_start_y - (xpos - m_start_x) * m_slope; } void NedBeam::setTupletMarker(int tuplet_marker, double *topy, double *boty) { double ypos; m_tuplet_marker = tuplet_marker; ypos = m_tuplet_y + (m_up ? -(NUMNBER_GLYPH_HEIGHT + TUPLET_MARKER_DIST) : (NUMNBER_GLYPH_HEIGHT_DOWN + TUPLET_MARKER_DIST)); if (ypos < *topy) *topy = ypos; if (ypos > *boty) *boty = ypos; } void NedBeam::draw(cairo_t *cr) { if (m_beam_count > 0) { drawGraceBeam(cr); return; } if (getMainWindow()->doDrawPostscript()) { drawPostscript(cr); return; } int dir; double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double leftx = getMainWindow()->getLeftX(); GList *lptr1, *lptr2, *lptr0 = NULL, *last; NedChordOrRest *chord0= NULL, *chord1, *chord2, *lastchord; double xpos1, xpos2, ypos1, ypos2; double mid_xpos, mid_ypos; double lastxpos, lastypos; int tval; bool draw_half; cairo_glyph_t glyph; cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * BEAM_THICK); dir = m_up ? 1 : -1; lptr1 = g_list_first(m_beamed_chords); last = g_list_last(m_beamed_chords); chord1 = (NedChordOrRest *) lptr1->data; lastchord = (NedChordOrRest *) last->data; xpos1 = chord1->getBeamXPos() - STEM_THICK / 2.0; ypos1 = m_start_y - (xpos1 - m_start_x) * m_slope; lastxpos = lastchord->getBeamXPos() + STEM_THICK / 2.0; lastypos = m_start_y - (lastxpos - m_start_x) * m_slope; cairo_move_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1)); cairo_line_to(cr, X_POS_PAGE_REL(lastxpos), Y_POS_STAFF_REL(lastypos)); for (lptr2 = g_list_next(lptr1); lptr2; lptr0 = lptr1, lptr1 = lptr2, lptr2 = g_list_next(lptr2), chord0 = chord1, chord1 = chord2, xpos1 = xpos2, ypos1 = ypos2) { chord2 = (NedChordOrRest *) lptr2->data; xpos2 = m_up ? chord2->getBeamXPos() : chord2->getBeamXPos(); ypos2 = m_start_y - (xpos2 - m_start_x) * m_slope; mid_xpos = xpos1 + (xpos2 - xpos1) / 2.0; mid_ypos = ypos1 + (ypos2 - ypos1) / 2.0; /* printf("chord0: %u, chord1: %u, chord2: %u\n", lptr0 ? chord0->getLength() / NOTE_32: 1111111, chord1->getLength() / NOTE_32, chord2->getLength() / NOTE_32); fflush(stdout); */ draw_half = (lptr0 == NULL || (chord0->getLength() != chord1->getLength() && !((chord0->getDotCount() == 1 && chord0->getLength() == (chord1->getLength() << 1))))); //if (lptr0 == NULL || chord0->getLength() != chord1->getLength() || chord1->getLength() >= chord2->getLength()) { switch (chord1->getLength()) { case NOTE_64: cairo_move_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1 + 3 * dir * FLAG_DIST)); cairo_line_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + 3 * dir * FLAG_DIST)); case NOTE_32: if (draw_half || chord2->getLength() <= NOTE_32) { cairo_move_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1 + 2 * dir * FLAG_DIST)); cairo_line_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + 2 * dir * FLAG_DIST)); } case NOTE_16: if (draw_half || chord2->getLength() <= NOTE_16) { cairo_move_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1 + dir * FLAG_DIST)); cairo_line_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + dir * FLAG_DIST)); } } //} draw_half = (lptr2 == last || (chord1->getDotCount() == 1 && chord1->getLength() == (chord2->getLength() << 1))); //if (lptr2 == last || chord2->getLength() >= chord1->getLength()) { switch (chord2->getLength()) { case NOTE_64: if (draw_half || chord1->getLength() <= NOTE_64) { cairo_move_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + 3 * dir * FLAG_DIST)); cairo_line_to(cr, X_POS_PAGE_REL(xpos2), Y_POS_STAFF_REL(ypos2 + 3 * dir * FLAG_DIST)); } case NOTE_32: if (draw_half || chord1->getLength() <= NOTE_32) { cairo_move_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + 2 * dir * FLAG_DIST)); cairo_line_to(cr, X_POS_PAGE_REL(xpos2), Y_POS_STAFF_REL(ypos2 + 2 * dir * FLAG_DIST)); } case NOTE_16: if (draw_half || chord1->getLength() <= NOTE_16) { cairo_move_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + dir * FLAG_DIST)); cairo_line_to(cr, X_POS_PAGE_REL(xpos2), Y_POS_STAFF_REL(ypos2 + dir * FLAG_DIST)); } } //} } cairo_stroke(cr); cairo_new_path(cr); if (m_tuplet_marker > 0) { tval = m_tuplet_marker; glyph.y = Y_POS_STAFF_REL(m_tuplet_y + (m_up ? -(NUMNBER_GLYPH_HEIGHT_UP + TUPLET_MARKER_DIST) : (NUMNBER_GLYPH_HEIGHT_DOWN + TUPLET_MARKER_DIST))); if (m_tuplet_marker > 9) { glyph.index = NUMBERBASE + 1; glyph.x = X_POS_PAGE_REL(m_tuplet_x - FIRST_TUPLET_DIGIT_DIST); cairo_show_glyphs(cr, &glyph, 1); tval -= 10; } glyph.index = NUMBERBASE + tval; glyph.x = X_POS_PAGE_REL(m_tuplet_x); cairo_show_glyphs(cr, &glyph, 1); } cairo_stroke(cr); } void NedBeam::drawGraceBeam(cairo_t *cr) { double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double leftx = getMainWindow()->getLeftX(); GList *lptr1, *last; NedChordOrRest *chord1, *lastchord; double xpos1, ypos1; double lastxpos, lastypos; cairo_new_path(cr); cairo_set_line_width(cr, zoom_factor * GRACE_BEAM_THICK); lptr1 = g_list_first(m_beamed_chords); last = g_list_last(m_beamed_chords); chord1 = (NedChordOrRest *) lptr1->data; lastchord = (NedChordOrRest *) last->data; xpos1 = chord1->getBeamXPos() - STEM_THICK / 2.0; ypos1 = m_start_y - (xpos1 - m_start_x) * m_slope; lastxpos = lastchord->getBeamXPos() + STEM_THICK / 2.0; lastypos = m_start_y - (lastxpos - m_start_x) * m_slope; cairo_move_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1)); cairo_line_to(cr, X_POS_PAGE_REL(lastxpos), Y_POS_STAFF_REL(lastypos)); if (m_beam_count > 1) { ypos1 += GRACE_BEAM_DIST; lastypos += GRACE_BEAM_DIST; cairo_move_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1)); cairo_line_to(cr, X_POS_PAGE_REL(lastxpos), Y_POS_STAFF_REL(lastypos)); } cairo_stroke(cr); } void NedBeam::drawPostscript(cairo_t *cr) { int dir; double topy = getMainWindow()->getTopY(); double zoom_factor = getMainWindow()->getCurrentZoomFactor(); double leftx = getMainWindow()->getLeftX(); GList *lptr1, *lptr2, *lptr0 = NULL, *last; NedChordOrRest *chord0 = NULL, *chord1, *chord2, *lastchord; double xpos1, xpos2, ypos1, ypos2; double mid_xpos, mid_ypos; double lastxpos, lastypos; int tval; bool draw_half; cairo_glyph_t glyph; double h_2 = BEAM_THICK / 2.0; cairo_new_path(cr); cairo_set_line_width(cr, 0.1); //cairo_set_line_width(cr, zoom_factor * BEAM_THICK); dir = m_up ? 1 : -1; lptr1 = g_list_first(m_beamed_chords); last = g_list_last(m_beamed_chords); chord1 = (NedChordOrRest *) lptr1->data; lastchord = (NedChordOrRest *) last->data; xpos1 = chord1->getBeamXPos() - STEM_THICK / 2.0; ypos1 = m_start_y - (xpos1 - m_start_x) * m_slope; lastxpos = lastchord->getBeamXPos() + STEM_THICK / 2.0; lastypos = m_start_y - (lastxpos - m_start_x) * m_slope; cairo_move_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1 - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(lastxpos), Y_POS_STAFF_REL(lastypos - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(lastxpos), Y_POS_STAFF_REL(lastypos + h_2)); cairo_line_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1 + h_2)); cairo_close_path(cr); cairo_fill(cr); for (lptr2 = g_list_next(lptr1); lptr2; lptr0 = lptr1, lptr1 = lptr2, lptr2 = g_list_next(lptr2), chord0 = chord1, chord1 = chord2, xpos1 = xpos2, ypos1 = ypos2) { chord2 = (NedChordOrRest *) lptr2->data; xpos2 = m_up ? chord2->getBeamXPos() : chord2->getBeamXPos(); ypos2 = m_start_y - (xpos2 - m_start_x) * m_slope; mid_xpos = xpos1 + (xpos2 - xpos1) / 2.0; mid_ypos = ypos1 + (ypos2 - ypos1) / 2.0; draw_half = (lptr0 == NULL || (chord0->getLength() != chord1->getLength() && !((chord0->getDotCount() == 1 && chord0->getLength() == (chord1->getLength() << 1))))); switch (chord1->getLength()) { case NOTE_64: cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1 + 3 * dir * FLAG_DIST - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + 3 * dir * FLAG_DIST - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + 3 * dir * FLAG_DIST + h_2)); cairo_line_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1 + 3 * dir * FLAG_DIST + h_2)); cairo_close_path(cr); cairo_fill(cr); case NOTE_32: if (draw_half || chord2->getLength() <= NOTE_32) { cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1 + 2 * dir * FLAG_DIST - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + 2 * dir * FLAG_DIST - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + 2 * dir * FLAG_DIST + h_2)); cairo_line_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1 + 2 * dir * FLAG_DIST + h_2)); cairo_close_path(cr); cairo_fill(cr); } case NOTE_16: if (draw_half || chord2->getLength() <= NOTE_16) { cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1 + dir * FLAG_DIST - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + dir * FLAG_DIST - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + dir * FLAG_DIST + h_2)); cairo_line_to(cr, X_POS_PAGE_REL(xpos1), Y_POS_STAFF_REL(ypos1 + dir * FLAG_DIST + h_2)); cairo_close_path(cr); cairo_fill(cr); } } draw_half = (lptr2 == last || (chord1->getDotCount() == 1 && chord1->getLength() == (chord2->getLength() << 1))); //if (lptr2 == last || chord2->getLength() >= chord1->getLength()) { switch (chord2->getLength()) { case NOTE_64: if (draw_half || chord1->getLength() <= NOTE_64) { cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + 3 * dir * FLAG_DIST - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(xpos2), Y_POS_STAFF_REL(ypos2 + 3 * dir * FLAG_DIST - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(xpos2), Y_POS_STAFF_REL(ypos2 + 3 * dir * FLAG_DIST + h_2)); cairo_line_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + 3 * dir * FLAG_DIST + h_2)); cairo_close_path(cr); cairo_fill(cr); } case NOTE_32: if (draw_half || chord1->getLength() <= NOTE_32) { cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + 2 * dir * FLAG_DIST - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(xpos2), Y_POS_STAFF_REL(ypos2 + 2 * dir * FLAG_DIST - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(xpos2), Y_POS_STAFF_REL(ypos2 + 2 * dir * FLAG_DIST + h_2)); cairo_line_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + 2 * dir * FLAG_DIST + h_2)); cairo_close_path(cr); cairo_fill(cr); } case NOTE_16: if (draw_half || chord1->getLength() <= NOTE_16) { cairo_new_path(cr); cairo_move_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + dir * FLAG_DIST - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(xpos2), Y_POS_STAFF_REL(ypos2 + dir * FLAG_DIST - h_2)); cairo_line_to(cr, X_POS_PAGE_REL(xpos2), Y_POS_STAFF_REL(ypos2 + dir * FLAG_DIST + h_2)); cairo_line_to(cr, X_POS_PAGE_REL(mid_xpos), Y_POS_STAFF_REL(mid_ypos + dir * FLAG_DIST + h_2)); cairo_close_path(cr); cairo_fill(cr); } //} } } cairo_stroke(cr); cairo_new_path(cr); if (m_tuplet_marker > 0) { tval = m_tuplet_marker; glyph.y = Y_POS_STAFF_REL(m_tuplet_y + (m_up ? -(NUMNBER_GLYPH_HEIGHT_UP + TUPLET_MARKER_DIST) : (NUMNBER_GLYPH_HEIGHT_DOWN + TUPLET_MARKER_DIST))); if (m_tuplet_marker > 9) { glyph.index = NUMBERBASE + 1; glyph.x = X_POS_PAGE_REL(m_tuplet_x - FIRST_TUPLET_DIGIT_DIST); cairo_show_glyphs(cr, &glyph, 1); tval -= 10; } glyph.index = NUMBERBASE + tval; glyph.x = X_POS_PAGE_REL(m_tuplet_x); cairo_show_glyphs(cr, &glyph, 1); } cairo_stroke(cr); } void NedBeam::saveBeam(FILE *fp) { GList *lptr; int marker; fprintf(fp, "("); if (m_up) { fprintf(fp, "u "); } else { fprintf(fp, "d "); } for(lptr = g_list_first(m_beamed_chords); lptr; lptr = g_list_next(lptr)) { marker = NedResource::getMarkerOfAddress(lptr->data); fprintf(fp, "%d ", marker); if (lptr != g_list_last(m_beamed_chords)) { fprintf(fp, " , "); } } fprintf(fp, ")\n"); } nted-1.10.18/m4/0000775001041000007640000000000011520270234010130 500000000000000nted-1.10.18/m4/iconv.m40000664001041000007640000001375311520267347011454 00000000000000# iconv.m4 serial AM6 (gettext-0.17) dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_lib_iconv=yes am_cv_func_iconv=yes) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [ dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi AC_TRY_RUN([ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST(LIBICONV) AC_SUBST(LTLIBICONV) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([$]{ac_t:- }[$]am_cv_proto_iconv) AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi ]) nted-1.10.18/m4/intlmacosx.m40000664001041000007640000000456511520267347012520 00000000000000# intlmacosx.m4 serial 1 (gettext-0.17) dnl Copyright (C) 2004-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], gt_cv_func_CFPreferencesCopyAppValue, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) nted-1.10.18/m4/po.m40000664001041000007640000004460611520267347010755 00000000000000# po.m4 serial 15 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" <= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Autoconf >= 2.61 supports dots in --with options. define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], [ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" dnl The same code as in the loop below: dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$acl_hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIB[]NAME[]_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) nted-1.10.18/m4/nls.m40000664001041000007640000000226611520267347011127 00000000000000# nls.m4 serial 3 (gettext-0.15) dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE(nls, [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT($USE_NLS) AC_SUBST(USE_NLS) ]) nted-1.10.18/m4/lib-ld.m40000664001041000007640000000653111520267347011475 00000000000000# lib-ld.m4 serial 3 (gettext-0.13) dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(acl_cv_path_LD, [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) nted-1.10.18/m4/progtest.m40000664001041000007640000000555011520267347012201 00000000000000# progtest.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. AC_PREREQ(2.50) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) nted-1.10.18/m4/lib-prefix.m40000664001041000007640000001503611520267347012373 00000000000000# lib-prefix.m4 serial 5 (gettext-0.15) dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing dnl the basename of the libdir, either "lib" or "lib64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. The current dnl practice is that on a system supporting 32-bit and 64-bit instruction dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit dnl libraries go under $prefix/lib. We determine the compiler's default dnl mode by looking at the compiler's library search path. If at least dnl of its elements ends in /lib64 or points to a directory whose absolute dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the dnl default, namely "lib". acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ]) nted-1.10.18/m4/gettext.m40000664001041000007640000003457011520267347012022 00000000000000# gettext.m4 serial 60 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE(HAVE_GETTEXT, 1, [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE(HAVE_DCGETTEXT, 1, [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST(DATADIRNAME) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST(INSTOBJEXT) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST(INTLOBJS) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST(INTLLIBS) dnl Make all documented variables known to autoconf. AC_SUBST(LIBINTL) AC_SUBST(LTLIBINTL) AC_SUBST(POSUB) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) nted-1.10.18/clipboard.h0000664001041000007640000000432111520267230011642 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CLIPBOARD_H #define CLIPBOARD_H #include "config.h" #include "resource.h" #include class NedVoice; class NedStaff; class NedClipBoardElement { public: NedClipBoardElement(); GList *chords_or_rests_to_move; NedVoice *from_voice, *to_voice; NedStaff *from_staff, *to_staff; void convertAllToClones(); }; class NedClipBoard { public: NedClipBoard(); GList *m_elements; GList *element_counter; static int count; void setRefTimeAndDuration(unsigned long long time, unsigned long long duration) { m_reftime = time; m_duration = duration; } void setDeleteOnly() {m_delete_only = true;} bool getInsertOnly() {return m_insert_only;} bool onlyStaffElems(); void setInsertOnly(); void execute(bool adjust = FALSE); void unexecute(bool adjust = FALSE); void execute_reverse(bool adjust = FALSE); void unexecute_reverse(bool adjust = FALSE); bool onlyWholeRests(); private: bool m_delete_only; bool m_insert_only; unsigned long long m_reftime, m_duration; }; #endif /* CLIPBOARD_H */ nted-1.10.18/ChangeLog0000664001041000007640000000000011520267230011272 00000000000000nted-1.10.18/configure0000775001041000007640000100416711520267352011457 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.66 for nted 1.10.18. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: nted-user@tu-chemnitz.de about your system, including $0: any error possibly output before this message. Then $0: install a modern shell, or manually run the script $0: under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='nted' PACKAGE_TARNAME='nted' PACKAGE_VERSION='1.10.18' PACKAGE_STRING='nted 1.10.18' PACKAGE_BUGREPORT='nted-user@tu-chemnitz.de' PACKAGE_URL='' ac_unique_file="beaming.h" gt_needs= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS MAKE_DOCBOOKS_FALSE MAKE_DOCBOOKS_TRUE PO2XML XML2POT MAKE_DOCS_FALSE MAKE_DOCS_TRUE XMLTO YELP IMAGE2HEADER X11_LIBS X11_CFLAGS FT2_LIBS FT2_CFLAGS GTK_LIBS GTK_CFLAGS CAIRO_LIBS CAIRO_CFLAGS PANGO_LIBS PANGO_CFLAGS ALSA_LIBS ALSA_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG POSUB LTLIBINTL LIBINTL INTLLIBS LTLIBICONV LIBICONV INTL_MACOSX_LIBS host_os host_vendor host_cpu host build_os build_vendor build_cpu build am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE ac_ct_CC CFLAGS CC XGETTEXT_EXTRA_OPTIONS MSGMERGE XGETTEXT_015 XGETTEXT GMSGFMT_015 MSGFMT_015 GMSGFMT MSGFMT GETTEXT_MACRO_VERSION USE_NLS RANLIB am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CXX CPPFLAGS LDFLAGS CXXFLAGS CXX am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_dependency_tracking enable_debug enable_nls with_gnu_ld enable_rpath with_libiconv_prefix with_libintl_prefix with_doc ' ac_precious_vars='build_alias host_alias target_alias CXX CXXFLAGS LDFLAGS LIBS CPPFLAGS CCC CC CFLAGS PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR ALSA_CFLAGS ALSA_LIBS PANGO_CFLAGS PANGO_LIBS CAIRO_CFLAGS CAIRO_LIBS GTK_CFLAGS GTK_LIBS FT2_CFLAGS FT2_LIBS X11_CFLAGS X11_LIBS IMAGE2HEADER YELP XMLTO XML2POT PO2XML' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures nted 1.10.18 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/nted] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of nted 1.10.18:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-debug compile with debugging information --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir --without-doc compile without immediate help Some influential environment variables: CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CC C compiler command CFLAGS C compiler flags PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path ALSA_CFLAGS C compiler flags for ALSA, overriding pkg-config ALSA_LIBS linker flags for ALSA, overriding pkg-config PANGO_CFLAGS C compiler flags for PANGO, overriding pkg-config PANGO_LIBS linker flags for PANGO, overriding pkg-config CAIRO_CFLAGS C compiler flags for CAIRO, overriding pkg-config CAIRO_LIBS linker flags for CAIRO, overriding pkg-config GTK_CFLAGS C compiler flags for GTK, overriding pkg-config GTK_LIBS linker flags for GTK, overriding pkg-config FT2_CFLAGS C compiler flags for FT2, overriding pkg-config FT2_LIBS linker flags for FT2, overriding pkg-config X11_CFLAGS C compiler flags for X11, overriding pkg-config X11_LIBS linker flags for X11, overriding pkg-config IMAGE2HEADER gdk-pixbuf-csource program YELP yelp program XMLTO xmlto program XML2POT xml2pot program PO2XML po2xml program Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF nted configure 1.10.18 generated by GNU Autoconf 2.66 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_cxx_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_cxx_try_link cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by nted $as_me 1.10.18, which was generated by GNU Autoconf 2.66. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi gt_needs="$gt_needs " # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers config.h" am__api_version='1.11' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='nted' VERSION='1.10.18' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 $as_echo_n "checking whether the C++ compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C++ compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 $as_echo_n "checking for C++ compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi if test "x$RANLIB" = "x:"; then : as_fn_error $? "ranlib command not found" "$LINENO" 5 fi # FIXME: Check that compiler works with these flags # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then : enableval=$enable_debug; CXXFLAGS="$CXXFLAGS -g" fi # FIXME: Check that compiler works with these flags CXXFLAGS="-Wall -Wwrite-strings $CXXFLAGS" # Gettext checks ALL_LINGUAS="en_GB de es fr hu it nl sv ru zh_CN uk" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } GETTEXT_MACRO_VERSION=0.17 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_GMSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_XGETTEXT+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGMERGE+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= ac_config_commands="$ac_config_commands po-directories" if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 $as_echo_n "checking for ld used by GCC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${acl_cv_path_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${acl_cv_prog_gnu_ld+set}" = set; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 &5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } if test "${acl_cv_rpath+set}" = set; then : $as_echo_n "(cached) " >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : else enable_rpath=yes fi acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBICONV= LTLIBICONV= INCICONV= LIBICONV_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIBICONV_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } if eval "test \"\${$gt_func_gnugettext_libc+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libc=yes" else eval "$gt_func_gnugettext_libc=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$gt_func_gnugettext_libc { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if test "${am_cv_func_iconv+set}" = set; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 $as_echo_n "checking for working iconv... " >&6; } if test "${am_cv_func_iconv_works+set}" = set; then : $as_echo_n "(cached) " >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi if test "$cross_compiling" = yes; then : case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes else am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi LIBS="$am_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 $as_echo "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBINTL= LTLIBINTL= INCINTL= LIBINTL_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIBINTL_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } if eval "test \"\${$gt_func_gnugettext_libintl+set}\"" = set; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libintl=yes" else eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi eval ac_res=\$$gt_func_gnugettext_libintl { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 $as_echo_n "checking whether to use NLS... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 $as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 $as_echo "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 $as_echo_n "checking how to link with libintl... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 $as_echo "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi POSUB=po fi INTLLIBS="$LIBINTL" # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT=$ac_cv_path_MSGFMT if test -n "$MSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$MSGFMT" = "x:"; then : as_fn_error $? " No msgfmt program found! Please install the gettext package!" "$LINENO" 5 fi # Check for libraries if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ALSA" >&5 $as_echo_n "checking for ALSA... " >&6; } if test -n "$ALSA_CFLAGS"; then pkg_cv_ALSA_CFLAGS="$ALSA_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"alsa >= 1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "alsa >= 1.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ALSA_CFLAGS=`$PKG_CONFIG --cflags "alsa >= 1.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$ALSA_LIBS"; then pkg_cv_ALSA_LIBS="$ALSA_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"alsa >= 1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "alsa >= 1.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ALSA_LIBS=`$PKG_CONFIG --libs "alsa >= 1.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then ALSA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "alsa >= 1.0" 2>&1` else ALSA_PKG_ERRORS=`$PKG_CONFIG --print-errors "alsa >= 1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ALSA_PKG_ERRORS" >&5 as_fn_error $? "Make sure the libasound (ALSA) devel package is installed" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "Make sure the libasound (ALSA) devel package is installed" "$LINENO" 5 else ALSA_CFLAGS=$pkg_cv_ALSA_CFLAGS ALSA_LIBS=$pkg_cv_ALSA_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PANGO" >&5 $as_echo_n "checking for PANGO... " >&6; } if test -n "$PANGO_CFLAGS"; then pkg_cv_PANGO_CFLAGS="$PANGO_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pango\""; } >&5 ($PKG_CONFIG --exists --print-errors "pango") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PANGO_CFLAGS=`$PKG_CONFIG --cflags "pango" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$PANGO_LIBS"; then pkg_cv_PANGO_LIBS="$PANGO_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pango\""; } >&5 ($PKG_CONFIG --exists --print-errors "pango") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PANGO_LIBS=`$PKG_CONFIG --libs "pango" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then PANGO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "pango" 2>&1` else PANGO_PKG_ERRORS=`$PKG_CONFIG --print-errors "pango" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$PANGO_PKG_ERRORS" >&5 as_fn_error $? "Make sure the pango devel package is installed" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "Make sure the pango devel package is installed" "$LINENO" 5 else PANGO_CFLAGS=$pkg_cv_PANGO_CFLAGS PANGO_LIBS=$pkg_cv_PANGO_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CAIRO" >&5 $as_echo_n "checking for CAIRO... " >&6; } if test -n "$CAIRO_CFLAGS"; then pkg_cv_CAIRO_CFLAGS="$CAIRO_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo\""; } >&5 ($PKG_CONFIG --exists --print-errors "cairo") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$CAIRO_LIBS"; then pkg_cv_CAIRO_LIBS="$CAIRO_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo\""; } >&5 ($PKG_CONFIG --exists --print-errors "cairo") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CAIRO_LIBS=`$PKG_CONFIG --libs "cairo" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then CAIRO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "cairo" 2>&1` else CAIRO_PKG_ERRORS=`$PKG_CONFIG --print-errors "cairo" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CAIRO_PKG_ERRORS" >&5 as_fn_error $? "Make sure the cairo devel package is installed" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "Make sure the cairo devel package is installed" "$LINENO" 5 else CAIRO_CFLAGS=$pkg_cv_CAIRO_CFLAGS CAIRO_LIBS=$pkg_cv_CAIRO_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 $as_echo_n "checking for GTK... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk+-2.0" 2>&1` else GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk+-2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 as_fn_error $? "Make sure the gtk+-2.0 devel package is installed" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "Make sure the gtk+-2.0 devel package is installed" "$LINENO" 5 else GTK_CFLAGS=$pkg_cv_GTK_CFLAGS GTK_LIBS=$pkg_cv_GTK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FT2" >&5 $as_echo_n "checking for FT2... " >&6; } if test -n "$FT2_CFLAGS"; then pkg_cv_FT2_CFLAGS="$FT2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5 ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_FT2_CFLAGS=`$PKG_CONFIG --cflags "freetype2" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$FT2_LIBS"; then pkg_cv_FT2_LIBS="$FT2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5 ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_FT2_LIBS=`$PKG_CONFIG --libs "freetype2" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then FT2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "freetype2" 2>&1` else FT2_PKG_ERRORS=`$PKG_CONFIG --print-errors "freetype2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$FT2_PKG_ERRORS" >&5 as_fn_error $? "Make sure the freetype(2) devel package is installed" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "Make sure the freetype(2) devel package is installed" "$LINENO" 5 else FT2_CFLAGS=$pkg_cv_FT2_CFLAGS FT2_LIBS=$pkg_cv_FT2_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X11" >&5 $as_echo_n "checking for X11... " >&6; } if test -n "$X11_CFLAGS"; then pkg_cv_X11_CFLAGS="$X11_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_X11_CFLAGS=`$PKG_CONFIG --cflags "x11" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$X11_LIBS"; then pkg_cv_X11_LIBS="$X11_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_X11_LIBS=`$PKG_CONFIG --libs "x11" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11" 2>&1` else X11_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$X11_PKG_ERRORS" >&5 as_fn_error $? "Make xure the x11/X11/Xlib devel package is installed" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "Make xure the x11/X11/Xlib devel package is installed" "$LINENO" 5 else X11_CFLAGS=$pkg_cv_X11_CFLAGS X11_LIBS=$pkg_cv_X11_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi # Check for gdk-pixbuf-csource program # Extract the first word of "gdk-pixbuf-csource", so it can be a program name with args. set dummy gdk-pixbuf-csource; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_IMAGE2HEADER+set}" = set; then : $as_echo_n "(cached) " >&6 else case $IMAGE2HEADER in [\\/]* | ?:[\\/]*) ac_cv_path_IMAGE2HEADER="$IMAGE2HEADER" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_IMAGE2HEADER="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_IMAGE2HEADER" && ac_cv_path_IMAGE2HEADER=":" ;; esac fi IMAGE2HEADER=$ac_cv_path_IMAGE2HEADER if test -n "$IMAGE2HEADER"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IMAGE2HEADER" >&5 $as_echo "$IMAGE2HEADER" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$IMAGE2HEADER" = "x:"; then : as_fn_error $? " No gdk-pixbuf-csource command found! It should be part of the gtk installation. Please check correct gtk installation or change PATH environment variable! " "$LINENO" 5 fi # Package is written in C++, so do compile tests in C++ as well. ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # Define "clean" flags for compilation tests empty_LIBS="$LIBS" empty_CPPFLAGS="$CPPFLAGS" # gtk+ compile&link test { $as_echo "$as_me:${as_lineno-$LINENO}: checking gtk+ compile and link" >&5 $as_echo_n "checking gtk+ compile and link... " >&6; } CPPFLAGS="$empty_CPPFLAGS $GTK_CFLAGS" LIBS="$empty_LIBS $GTK_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main(int argc, char **argv) { gtk_init (&argc, &argv); gtk_main (); return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compile and link gtk example See \`config.log' for more details" "$LINENO" 5; } fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext # gtk+ and cairo compile&link test { $as_echo "$as_me:${as_lineno-$LINENO}: checking gtk+ and cairo compile and link" >&5 $as_echo_n "checking gtk+ and cairo compile and link... " >&6; } CPPFLAGS="$empty_CPPFLAGS $CAIRO_CFLAGS $GTK_CFLAGS" LIBS="$empty_LIBS $CAIRO_LIBS $GTK_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { GtkWidget *m_drawing_area = NULL; cairo_t *cr; cr = gdk_cairo_create (m_drawing_area->window); ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Cannot compile and link a simple cairo example! See \`config.log' for more details" "$LINENO" 5; } fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext # ALSA (libasound) compile&link test { $as_echo "$as_me:${as_lineno-$LINENO}: checking asound compile and link" >&5 $as_echo_n "checking asound compile and link... " >&6; } CPPFLAGS="$empty_CPPFLAGS $ALSA_CFLAGS" LIBS="$empty_LIBS $ALSA_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { snd_seq_t *sequ; snd_seq_open(&sequ, "default", SND_SEQ_OPEN_OUTPUT, 0); return 0; ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Cannot compile and link a simple ALSA example! See \`config.log' for more details" "$LINENO" 5; } fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext # Restore flags after compile&link tests CPPFLAGS="$empty_CPPFLAGS" LIBS="$empty_LIBS" # =================================================================== # Documentation generation checks # =================================================================== # Check whether --with-doc was given. if test "${with_doc+set}" = set; then : withval=$with_doc; fi if test "x$with_doc" = "xno"; then : make_docs="no" else make_docs="yes" fi # Extract the first word of "yelp", so it can be a program name with args. set dummy yelp; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_YELP+set}" = set; then : $as_echo_n "(cached) " >&6 else case $YELP in [\\/]* | ?:[\\/]*) ac_cv_path_YELP="$YELP" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_YELP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_YELP" && ac_cv_path_YELP=":" ;; esac fi YELP=$ac_cv_path_YELP if test -n "$YELP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YELP" >&5 $as_echo "$YELP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$YELP" = "x:"; then : make_docs="no" { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No yelp command found, creating documentation disabled. " >&5 $as_echo "$as_me: WARNING: No yelp command found, creating documentation disabled. " >&2;} fi # Extract the first word of "xmlto", so it can be a program name with args. set dummy xmlto; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_XMLTO+set}" = set; then : $as_echo_n "(cached) " >&6 else case $XMLTO in [\\/]* | ?:[\\/]*) ac_cv_path_XMLTO="$XMLTO" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_XMLTO="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_XMLTO" && ac_cv_path_XMLTO=":" ;; esac fi XMLTO=$ac_cv_path_XMLTO if test -n "$XMLTO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLTO" >&5 $as_echo "$XMLTO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$XMLTO" = "x:"; then : make_docs="no" { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No xmlto command found, creating documentation disabled. " >&5 $as_echo "$as_me: WARNING: No xmlto command found, creating documentation disabled. " >&2;} fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to make the HTML manuals" >&5 $as_echo_n "checking whether to make the HTML manuals... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_docs" >&5 $as_echo "$make_docs" >&6; } if test "$make_docs" = "yes"; then MAKE_DOCS_TRUE= MAKE_DOCS_FALSE='#' else MAKE_DOCS_TRUE='#' MAKE_DOCS_FALSE= fi if test "$make_docs" = "yes"; then : cat >>confdefs.h <<_ACEOF #define YELP_PATH "$YELP" _ACEOF fi if test "x$make_docs" = "xno"; then : make_docbooks="no" else make_docbooks="yes" fi # Extract the first word of "xml2pot", so it can be a program name with args. set dummy xml2pot; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_XML2POT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $XML2POT in [\\/]* | ?:[\\/]*) ac_cv_path_XML2POT="$XML2POT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_XML2POT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_XML2POT" && ac_cv_path_XML2POT=":" ;; esac fi XML2POT=$ac_cv_path_XML2POT if test -n "$XML2POT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XML2POT" >&5 $as_echo "$XML2POT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$XML2POT" = "x:"; then : make_docbooks="no" { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No xml2pot command found. You will not be able to create new translations without. " >&5 $as_echo "$as_me: WARNING: No xml2pot command found. You will not be able to create new translations without. " >&2;} fi # Extract the first word of "po2xml", so it can be a program name with args. set dummy po2xml; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PO2XML+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PO2XML in [\\/]* | ?:[\\/]*) ac_cv_path_PO2XML="$PO2XML" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PO2XML="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_PO2XML" && ac_cv_path_PO2XML=":" ;; esac fi PO2XML=$ac_cv_path_PO2XML if test -n "$PO2XML"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PO2XML" >&5 $as_echo "$PO2XML" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$PO2XML" = "x:"; then : make_docbooks="no" { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No po2xml command found. You will not be able to create new translations without. " >&5 $as_echo "$as_me: WARNING: No po2xml command found. You will not be able to create new translations without. " >&2;} fi if test "$make_docbooks" = "yes"; then MAKE_DOCBOOKS_TRUE= MAKE_DOCBOOKS_FALSE='#' else MAKE_DOCBOOKS_TRUE='#' MAKE_DOCBOOKS_FALSE= fi ac_config_files="$ac_config_files Makefile commands/Makefile dialogs/Makefile chords/Makefile idiotseditor/Makefile icons/Makefile po/Makefile.in datafiles/Makefile man/Makefile doc/Makefile doc/templates/Makefile doc/de/Makefile doc/it/Makefile doc/docimages/Makefile doc/en/Makefile doc/es/Makefile doc/fr/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MAKE_DOCS_TRUE}" && test -z "${MAKE_DOCS_FALSE}"; then as_fn_error $? "conditional \"MAKE_DOCS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MAKE_DOCBOOKS_TRUE}" && test -z "${MAKE_DOCBOOKS_FALSE}"; then as_fn_error $? "conditional \"MAKE_DOCBOOKS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by nted $as_me 1.10.18, which was generated by GNU Autoconf 2.66. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ nted config.status 1.10.18 configured by $0, generated by GNU Autoconf 2.66, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "commands/Makefile") CONFIG_FILES="$CONFIG_FILES commands/Makefile" ;; "dialogs/Makefile") CONFIG_FILES="$CONFIG_FILES dialogs/Makefile" ;; "chords/Makefile") CONFIG_FILES="$CONFIG_FILES chords/Makefile" ;; "idiotseditor/Makefile") CONFIG_FILES="$CONFIG_FILES idiotseditor/Makefile" ;; "icons/Makefile") CONFIG_FILES="$CONFIG_FILES icons/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "datafiles/Makefile") CONFIG_FILES="$CONFIG_FILES datafiles/Makefile" ;; "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "doc/templates/Makefile") CONFIG_FILES="$CONFIG_FILES doc/templates/Makefile" ;; "doc/de/Makefile") CONFIG_FILES="$CONFIG_FILES doc/de/Makefile" ;; "doc/it/Makefile") CONFIG_FILES="$CONFIG_FILES doc/it/Makefile" ;; "doc/docimages/Makefile") CONFIG_FILES="$CONFIG_FILES doc/docimages/Makefile" ;; "doc/en/Makefile") CONFIG_FILES="$CONFIG_FILES doc/en/Makefile" ;; "doc/es/Makefile") CONFIG_FILES="$CONFIG_FILES doc/es/Makefile" ;; "doc/fr/Makefile") CONFIG_FILES="$CONFIG_FILES doc/fr/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_t=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_t"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi nted-1.10.18/po/0000775001041000007640000000000011520270236010230 500000000000000nted-1.10.18/po/POTFILES.in0000664001041000007640000000155111520267230011727 00000000000000# List of source files which contain translatable strings. mainwindow.cpp resource.cpp dialogs/paperconfigdialog.cpp dialogs/portchoosedialog.cpp dialogs/printconfigdialog.cpp dialogs/staffcontextdialog.cpp dialogs/tupletdialog.cpp dialogs/insertblockdialog.cpp dialogs/measureconfigdialog.cpp dialogs/keysigdialog.cpp dialogs/scoreinfodialog.cpp dialogs/clefconfigdialog.cpp dialogs/volumedialog.cpp dialogs/tempodialog.cpp dialogs/lyricseditor.cpp dialogs/mutedialog.cpp dialogs/linesdialog.cpp dialogs/selectordialog.cpp dialogs/textdialog.cpp dialogs/signsdialog.cpp dialogs/midiimportdialog.cpp dialogs/midirecordconfigdialog.cpp dialogs/lilypondexportdialog.cpp dialogs/staffselectdialog.cpp dialogs/spacementdialog.cpp dialogs/scaledialog.cpp dialogs/drumconfigdialog.cpp dialogs/scaledialog.cpp dialogs/chordnamedialog.cpp dialogs/tools.cpp chords/chorddialog.cpp nted-1.10.18/po/remove-potcdate.sin0000664001041000007640000000066011520267230013763 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } nted-1.10.18/po/fr.gmo0000664001041000007640000006540611520270236011276 00000000000000Þ•â,ƒ<H( I(V(m( ƒ( Ž( ˜(¦(µ(¹(Â( Ë( Õ(à(÷( ) )) %)2):) ?)L) R) _)j)<{)¸)Ó)Šî)…y*ÿ*3+J+R+X+i+ ~+ ‰+“+ š+§+°+ ¹+Æ+ Ù+æ+ û+ ,,(,>,Q,d, y,„, ‰, ”, Ÿ,ª, ¼,Ç,Ï,à,û, -- - ,- 9- F-S-e-n-…- ›- ¥-¯- µ- À-0Ì- ý-C .DN. “.Ÿ.³.GÇ./ /5/F/U/e/t/„/•/²/»/#Â/æ/ ë/ù/ ÿ/ 0 -0 80F0W0 r00†0 —0¤0­0 ¶0À0 Å0 Ñ0 Ü0ç0$ü0!1*191I1]1 m1 z1ˆ1˜1«1½1Î1>à1 2+232L2Q2Y2i2o2 t2 €2‹2¨2 °2 ½2 É2 Ó2 Ý2ê2 ñ2ü23 33%363Þ;3 4 %42474 ?4 M4 W4c4 u4 €4 Œ4š4¢4ª4²4 Ã4 Ñ4Û4á42ç45"5*525 :5 F5P5 n5y5 55 –5 ¤5¯5Â5 Ó5á5 ð5 ú56 6 "6-666<6 B6M6\6e6 l6 v6 6Œ6•6œ6¢6 ¨6 ´6 À6Í6Ò6 Û6 ç6 ò6 þ6 77 7+7:7 J7 U7 `7m7u7 ~7 ˆ7 •7 ¢7 °7¾7 Í7Ø7è7 ø7 8 8 8!8&8/8 78C8J8g8o8 v8 €8 Š8˜8¨8±8¹8 ¾8Ì8 Ó8 á8ï8 999 #9.979 ?9J9[9m9 €9#Š9®9Í9Þ9 ð9þ9: ::: :(:9:L: S:_: e:q: x:…:: ‘: Ÿ:­:´:Ç:Þ: ÷:; ; ;;?;G; M; W; a; o;{;‚;‡;Ž;£;¹;É;á;ò;<<&<><M<U<e<|<<Ÿ< ´<¿< Ò<à<â<å< é<ó< == '= 2="S= v==—= ¦=±=Ä=Û=ñ=ô=û= > >+>H>a>x>>¥>Â> Õ>â> ë> õ>??0?H?`? x? ‚?Œ? •? Ÿ?ª? ¼? Æ? Ð? Ý? é?õ?ú?þ? @ @@@ @(@0@8@ @@M@V@Y@ ]@ g@r@w@z@‹@’@•@ š@¦@ª@¬@±@ µ@À@Ñ@"Ö@ù@þ@A A A A 'A3ACA"HAkA{A •A¢A ·A"ÃAæAíA óAþA B B'B EBOBfB}B‘B¦B4¾B+óBC"C7CLCRCWChCkCrC xCƒC”C šC ¤C²C¹C¾CÍC ÕCßC„óCxD}D •D ¢D°DËDÒDáD%éDhExFF«FÇF ÙFäFõF G GG )G 5GAG_G |G †G‘G —G¤G«G²GÆG ÎG ÚGæGGûGCH`H¨H¦(IÏI9éI#J +J7JJJ cJ oJ|J„J ”JŸJ ¨J¶JÌJßJ ûJ K%KCKaKvKK ­K¹KÀK ×K âKíK ÿK LL#(LLL\LlL pL }L ŠL˜L¨LºLÃLßLûLM#M,M =M'IM qMX}MRÖM )N5NMNLeN²NÇNàNõN OO2OGO#]OO ŠO'–O¾OÃOÒO(ÙOP P!P2P#HP lPyP€P—P¨P¸P ÁPËPÑP ÚPèPùP$Q 4QBQTQfQ|Q–Q¥Q¹QËQßQóQRJR fRsR{RŒR‘R™R©R°R µR ÃR$ÎRóRûR S S$S6S ISTScSkS{SS©S¾SûÄS ÀTÎTæTïT÷T UU)UFU[UkU~U†UŽU–U ¨U ¶UÄUËU6ÒU VVV!V )V7V.KV zV†VV¥V·VÈVÞVöVW W2WBWWWuWŒW ¥W²W »WÅW!ÜW þW XX)X :XEXNXUX\XcXtX…XX ¤X ®X »X ÈX ÖX áX îXùX Y!Y7Y FYQYnYuY }Y‡Y–Y¥Y¶YÇY×YæYöY Z Z Z ,Z7Z =ZGZPZaZ'iZ‘Z¢Z ©Z ´Z¿ZÎZàZ éZóZøZ[[$[ 6[ W[b[g[ n[z[ ‰[ ”[Ÿ[µ[Ë[ á[/ë[+\ G\U\ f\ s\ }\‡\\ –\ \©\¼\Ï\ ×\ â\ í\ù\]]] ] .]<]B]^]|]˜]«]´]¼]Ï]ï]õ] ü] ^^%^9^@^E^M^g^^#“^·^Ó^ï^__8_W_)`_Š_¡_À_ß_ÿ_`(`A`C`F`J`*j`•`§`Â`(Ô`&ý` $a$.aSabavaa"¬aÏa×aàaóa bb:bYbmb!‰b «bÌbáb ðb ûb c"c"7c"Zc"}c" c Ãc Ïc Ûc æc òcÿc d d+d:d IdUd Zdddidqdxddˆd‘dšd£d¬d »dÆdÉd Ðd Ûdèdïdòd ee!e 'e3e:e‘ʦ u·_ò¼Ap£‡?cWà58,ü˜}¾¥R6ÿØ!²y–CŸÏ´EÖ•RÈN m+/LªÙ|= ½×h–Ýá8c&ÇÀ‰å%ºý*ŽU¨ÃÜYÚ‘$úF"ÁG);Æ:È0ïs[̉¬´ÞîŸX{"<7¹’ ~VèXÉv WÓŒ~∵ÔÝSrê9Zœö—3ZP¢Oe›h b&â’Pš#ôõ`Kr„!Í=³ø‡¦E×µ¶·¸-u•ƒ*Ñf(Ć01­®¬°' €‚Ñ»¿ ©C™.i1D9yûzn€<i¯­ÕSë†f|jQÀY Utº\2psÂIt¡¹^TN«.J7»IÇKg%ˆ“wgà„¡§¯˜ÖÞØ‚¨>Šzj4d,{T_ƒš÷мç3œÍ^Î(¸©‹«nDb³™ §þíÕ-M:ß½`¿)Æ}ù5th Saw WaveA Major; f sharp minorA flat Major; f minorAbout NtEdAccordionAcoustic BassAdjust notes ?AllAlto SaxApplauseArranger:AtmosphereB Major; g sharp minorB flat Major; g minorBagpipeBandoneonBanjoBaritone SaxBassoonBirdBottle ChiffBrassBreath NoiseBrightnessC Major; a minorCannot list midi ports because could not open ALSA sequencerCannot open %s for readingCannot open %s for writingCannot open ALSA MIDI sequencer --> read/record won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot open ALSA MIDI sequencer --> replay won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot rename %s to %sCannot replay because could not open ALSA sequencerCelestaCelloChange Scale ...Change spacement ...Choir AahsChordnameChordsChurch OrganClarinetClavinetClean GuitarClef configurationClose WindowClose current windowComposer:Config RecordConfigure MIDI in...Configure MIDI out...Configure Paper...Configure Print...Configure Record ...ContrabassCopyCopyright:Create PDFCreate PNGCreate PostscriptCreate SVGCrystalD Major; b minorD flat Major; b flat minorD. Capo al CodaD. Capo al FineD.SD.S. al CodaD.S. al FineDelete blockDenominator:Documentation ...DulcimerE Major; c sharp minorE flat Major; c minorE.Piano 1E.Piano 2E_xitEcho DropsEmpty blockEmpty not possible because of incomplete tupletsEnglish HornError creating ALSA sequencer input port --> record won't work :-((Error creating ALSA sequencer output port --> replay won't work :-((Excerpt ...Excuse! Cannot execExcuse! Cannot forkExcuse! The documentation is not available due to an installation errorExit the programExport LilyPond ...Export MIDI ...Export PDF ...Export P_NG ...Export P_S ...Export S_VG ...F Major; d minorF sharp Major; d sharp minorFantasiaFiddleFile %s already exists. Overwrite ?FineFingered BassFluteFont selection - Measure numbersFrench HornsFret NoiseFretless BassG Major; e minorG flat Major; e flat minorGlockenspielGoblinGuitar HarmonicsGuitar MutesGun ShotHalo PadHarmonicaHarpHarpsichordHelicopterHonky-tonkHorizontal SpacementI'm not able to create a tuplet hereIce RainImport MIDI...Import MusicXMLImport MusicXML ...Import recordedInsert blockInsert blocksInsert clef ...Insert keysig ... Insert lines ... Insert sign ... Insert tuplet ...Instead of using this dialog you can simply press + numJazz GuitarKalimbaKeyboard insert mode - kKotoLicenseLilyPond exportLinesMIDIMIDI importMIDI portsMake an excerpt of the scoreMarimbaMeasure typeMelodic TomMetal PadMusic BoxMute TrumpetMutingMuting ...NewNew FileNew WindowNew keysignatureNo segno meaningNoneNtEd version %s by Joerg Anders Send bug reports to %s Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Author: J.Anders Translation: Numerator:Nylon GuitarOboeOcarinaOctave shift:Open ...Open a fileOpen a new windowOpen scoreOpen_RecentOrchestra HitOrgan 1Organ 2Organ 3Overdrive GuitarPage Mode - pPan FlutePaperPastePaste not possible: A tuplet would cross a measurePiano 1Piano 2Piano 3PiccoloPicked BassPizzicatoPlease select a note or rest!Poly SynthPrintPrint commandRecorderRedo Ctrl + yReed OrganRemove empty pagesRemove last pageRemove tupletReverse CymbalSave ...Save As ...Save Changes ?Save a fileSave scoreSaw WaveScaleScoreScore infoScore info ...SeashoreSelectSet TempoSet VolumeShakuhachiShamisenShenaiSignsSitarSlap Bass 1Slap Bass 2Slow StringsSlurSolo VoxSoprano SaxSoundtrackSpace VoiceSpacementSquare WaveStaff %dStaff contextStaff positionStaff selectionStar ThemeSteel DrumSteel GuitarStringsSubject:Sweep PadSynth Bass 1Synth Bass 2Synth Brass 1Synth Brass 2Synth CalliopeSynth DrumSynth Strings 1Synth Strings 2Synth VoxTaiko DrumTelephoneTenor SaxTextText ...TimpaniTinker BellTitle:Toggle Insert/Erase Mode - nToolboxTools Tools ...TransposeTranspose ...Tremolo StringsTromboneTrumpetTubaTubular BellsTupletTuplet value:Undo Ctrl + zUsage: %s [.ntd] VibraphoneViolaViolinVoice OohsWarm PadWhistleWood BlockWrite PostScriptWrite a png imageWrite an svg imageXylophoneYou cannot copy incomplete tuplets!You select a note in an tupletZoom in Ctrl + +Zoom out Ctrl + -_Dynamics ..._Edit_Export_File_Help_Insert_Lyrics_Preferences ..._System layout ..._Tools_Upbeat ..._Viewaccelerandoadjustadjust notesal Codaallalternative 1alternative 2anchorappend a new staffappend a system at endappend system - Ctrl + Bblock count:bracebracketchange scalechange the horizontal spacementchannelchordchord ...chordnamechordname ...chordselectchorusclefconfigconfigure MIDI inputconfigure MIDI outputconfigure paperconfigure print commandconfigure recordconnect barlinescopy - Ctrl + Ccreate line breaksdelete block - Ctrl + Xdelete timesigdiagramedit score infoempty block - Ctrl + Eenable tempo changeenable timesigenable volume changeexport PDFexport a midi fileexport paramsffffffflip stemflip stem - Ctrl + fforce pianogive first measuregive startgroup staves by means of a bracegroup staves by means of a brackethalf-toneshide (selected) restshide followinghide restsimport a midi fileimport a musicxml fileimport recorded staffininsertinsert a chordinsert a chordnameinsert a clefinsert a free placeable signinsert a horizontal lineinsert a key signatureinsert a slur - Ctrl+Hinsert a staff spacerinsert a tuplet (Ctrl + num)insert accelerandoinsert blockinsert finsert ffinsert fffinsert lyrics at line 1insert lyrics at line 2insert lyrics at line 3insert lyrics at line 4insert lyrics at line 5insert mfinsert mpinsert pinsert ppinsert pppinsert ritardandoinsert sfinsert spinsert tempoinsert textinstrumentsitemkeykindlandscapeleftlineslyrics1lyrics2lyrics3lyrics4lyrics5measure typemethod 2mfmidmidi echomidi inputmodympmute some stavesmutingnononeorientationoutppagepanpaper typepaste - Ctrl + Vplayplease select a note or rest firstportportraitpppppprint commandprint filerecord midirecord midi - iredoremove a group of connected stavesremove a tupletremove empty pages at endremove groupremove the last pagereposit allreposit the whole score - Ctrl + Treverbrightritardandorootselect fontselect stavesselected element is not inside a tupletselectionset all flats to sharpset all sharps to flatset all to flat ...set all to sharp ...set connected bar linesset upbeat by giving the start of first full measureset upbeat by giving the start of the scoresfshow hidden elementsshow measure numberssignssizesort instrumentsspspacerstaffstaff namestaff short nametempotempo ...tempo densitytempo:texttime signaturetransp.transposetriplet recognitionunable to set decimal point to '.'. PostScript output will be erroneous. Please set the $LANG environment variable appropriately!undounhide (selected) restsunhide restsuse selectionvoices in different colorsvolumevolume densityvolume:you cannot select an element with dotProject-Id-Version: nted 1.4.15 Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de POT-Creation-Date: 2011-01-27 14:18+0100 PO-Revision-Date: 2009-10-07 23:15+0100 Last-Translator: Benoît Rouits Language-Team: French Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Onde en scie à la 5teLa Majeur; fa dièse mineurLa bémol Majeur; fa mineurÀ propos de NtEdAccordéonBasse acoustiqueAjuster les notes ?ToutSaxo AltoApplaudissementsArrangeur :AtmosphèreSi Majeur; sole dièse mineurSi bémol Majeur; sol mineurCornemuseBandonéonBanjoSaxo BaritonBassonOiseauGoulot de bouteilleCuivresRespirationLuminositéDo Majeur; la mineurNe peut lister les ports midi car n'a pas pu ouvrir le séquenceur ALSANe peut ouvrir %s en lectureNe peut ouvrir %s en écritureNe peut ouvrir les séquenceur MIDI ALSA --> le son ne fonctionnera pas :-(( Essayez (en root) modprobe snd-seq-midi puis redémarrez NtEd Peut-être que cela aidera(?)Ne peut ouvrir le séquenceur MIDI ALSA --> jouer ne fonctionnera pas :-(( Essayez (en root) modprobe snd-seq-midi puis redémarrez NtEd Peut-être que cela aidera(?)Ne peut renommer %s en %sNe peut rejouer car n'a pas pu ouvrir le séquenceur ALSACelestaVioloncelleChanger l'échelleChanger l'espacement ...Choeur AahsNom d'accordAccordsOrgue d'égliseClarinetteClavinetGuitare netteConfiguration de cléFermer la FenêtreFermer la fenêtre actuelleCompositeur :Configurer l'enregistrementConfigurer l'entrée MIDI ...Configurer la sortie MIDI ...Configurer le PapierConfigurer l'impresionConfigurer L'enregistrement ...ContrebasseCopierDroits d'utilisation :Créer PDFCréer PNGCréer PostScriptCréer SVGCrystalRé Majeur; si mineurRé bémol Majeur; si bémol mineurD. Capo al CodaD. Capo al FineD.SD.S. al CodaD.S. al FineEffacer blockDénominateur :Documentation ...DulcimerMi Majeur; do dièse mineurMi bémol Majeur; do mineurPinao Électrique 1Piano Électrique 2_QuitterGouttes en échoVider blockVide impossible car n-uplets incompletsCor AnglaisErreur pendant la création du séquenceur ALSA --> enregistrer ne fonctionnera pas :-((Erreur pendant la création du séquenceur ALSA --> jouer ne fonctionnera pas :-((Extrait ...Oups! 'exec' impossibleOups! 'fork' impossibleOups! La documentation n'est pas disponible due à une erreur d'installationQuitter le programmeExporter en LilyPond ...Exporter en MIDI ...Exporter en PDF ...Exporter en P_NG ...Exporter en P_S ...Exporter en S_VG ...Fa Majeur; ré mineurFa dièse Majeur; ré dièse mineurFantasiaViolon FolkLe fichier %s existe déjà. Écraser ?FineBasse au doigtFlûteSéletion de Police - Numéros de mesureCors d'HarmoniesBruit de fretBasse sans fretsSol Majeur; mi mineurSol bémol Majeur; mi bémol mineurGlockenspielGoblinHarmoniques de guitareFrets de guitareTir de revolverPad haloHarmonicaHarpeClavecinHélicoptèrePiano BastringueEspacement HorizontalJe ne peux pas créer un n-uplet iciPluie glacéeImporter MIDI ...Importer MusicXMLImporter MusicXML ...Importer l'enregistrementInsérer blockInsérer des blocksInsérer clé ...Insérer armure ...Insérer lignes ...Insérer signe ...Insérer n-uplet ...Au lieu d'utiliser ce dialogue vous pouvez simplement presser + numGuitare JazzKalimbamode clavier - kKotoLicenceExport LilyPondLignesMIDIImporter MIDIports MIDIFabriquer un extrait de la partitionMarimbaType de mesureTom mélodiquePad métalBoîte à musiqueTrompette bouchéeSilencieuxSilencieux ...NouveauNouveau FichierNouvelle FenêtreNouveau chiffrage de mesureaucune significationAucun Nted version %s par Joerg Anders Envoyer des rapport de bug à %s Infos à http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Auteur : J.Anders Traduction : Benoît Rouits Numérateur :Guitare à cordes nylonHautboisOcarinaDécalage d'octave :Ouvrir ...Ouvrir un fichierOuvrir une nouvelle fenêtreOuvrir une partitionOuvrir _RécentUnisson d'ochestreOrgue 1Orgue 2Orgue 3Guitare distordueMode Page - pFlûte de panPapierCollerCollage impossible: Un n-uplet traverserait une mesurePiano 1Piano 2Piano 3PiccoloBasse piquéeCordes en pizzicatoVeuillez sélectionner une note ou un silence!Synth. PolyImprimerCommande d'impressionOrgue de barbarieRefaire Ctrl + yOrgue à jeu d'anchesRetirer les pages videsRetirer la dernière pageRetirer n-upletCymbale inverséeEnregistrer ...Enregistrer Sous ...Enregistrer les Changements ?Enregistrer un fichierEnregistrer la partitionOnde en scieÉchellePartitionInfo. sur la partitionInformations sur la partition ...Bruit de merSélectionnerMettre le TempoMettre le VolumeShakuhachiShamisenShenaiSignesSétarBasse slappée 1Basse slappée 2Cordes à attaque lenteCouléVoix SoloSaxo SopranoPiste sonoreVoix spatialeEspacementOnde carréePortée %dContexte de portéePosition de portéeSélection de portéeThème étoileSteel DrumGuitar à cordes métaliquesCordesSujet :Pad balaiBasse synth. 1Basse synth. 2Cuivres synth. 1Cuivres synth. 2Calliope synth.Tambour synth.Cordes synth. 1Cordes synth. 2Voix synth.Tamour TaikoTéléphoneSaxo TenorTexteTexte ...TimbalesCloche ambulanteTitre :Passer en mode Insertion/Effacement - nBoîte à outilsOutilsOutils ...TransposerTransposer ...Cordes en tremoloTromboneTrompetteTubaCloches en tubeN-upletValeur du n-uplet :Défaire Ctrl + zInvocation: %s [.ntd] VibraphoneAltoViolonChoeur OohsPad chaleureuxSifflementWood BlockÉcrire en PostScriptÉcrire une image pngÉcrire une image svgXylophoneVous ne pouvez pas copier un n-uplet incomplet!Vous sélectionnez une note dans un n-upletZoom Ctrl + +déZoom Ctrl + -_Nuances ...É_dition_Exporter_Fichier_Aide_InsérerParo_les_Préférences ...Forme du _SystèmeOu_tilsAnacro_use_Affichageaccelerandoajusterajuster les notesal Codatoutalternative 1alternative 2ancreajouter un nouvelle portéeajouter un système à la finajouter système - Ctrl + Bnombre de blocks :accoladecrochetchanger l'échellechanger l'espacement horizontalcanalaccordaccord ...nom d'accordnom d'accord ...sélection d'accordchoruscléconfig.configurer l'entrée MIDIconfigurer la sortie MIDIconfigurer papierconfigurer la commande d'impressionconfigurer l'enregistrementrelier les barres de mesurecopier - Ctrl + Ccréer les césures de ligneseffacer block - Ctrl + Xeffacer le chiffrage de mesurediagrameéditer les informatiosn sur la partitionvider block - Ctrl + Eactiver le changement de tempoactiver le chiffrage de mesureactiver le changement de volumeexporter en PDFexporter un fichier midiexporter les paramètresffffffinverser la position des queuesinverser la position des queues - Ctrl + fforcer mode pianodonner la première mesuredonner le départregrouper les portées avec une accoladeregrouper les portées avec un crochetdemi-tonscacher les silences (sélectionnés)cacher suivantcacher les silencesimporter un fichier midiimporter un fichier musicxmlimporter la partition enregistréeentréeinsérerinsérer un accordinsérer un nom d'accordinsérer une cléinsérer un signe librementinsérer une ligne horizontaleinsérer une armureinsérer un coulé - Ctrl+Hinsérer un espacement de portéeinsérer un n-uplet (Ctrl + num)insérer accelerandoinsérer blockinsérer finsérer ffinsérer fffinsérer des paroles à la ligne 1insérer des paroles à la ligne 2insérer des paroles à la ligne 3insérer des paroles à la ligne 4insérer des paroles à la ligne 5insérer mfinsérer mpinsérer pinsérer ppinsérer pppinsérer ritardandoinsérer sfinsérer spinsérer tempoinsérer texteinstrumentsitemtonalitétypepaysagegauchelignesparoles1paroles2paroles3paroles4paroles5type de mesureméthode 2mfmilieuécho midientrée midicoquetmpne pas jouer certaines portéessilencieuxnonaucunorientationsortieppagepanoramiquetype de papiercoller - Ctrl + Vjouerveuillez sélectionner d'abord une note ou un silenceportportraitpppppcommande d'impressionimprimer fichierenregitrer le midienrigister le midi - irefaireretirer un groupe de portées reliéesretirer un n-upletretirer les pages vides à la finretirer grouperetirer la dernière pagedéposer toutdéposer la partition complète - Ctrl + Tréverb.droiteritardandoracinesélectionner policesélectionner portéesl'élément sélectionné n'est pas dans un n-upletsélectionpasser de bémols en dièsespasser de dièses en bémolsbémoliser le tout ...disèser le tout ...mettre les barres de mesures reliéesmarquer l'anacrouse en donnant le début de la première mesure complètemarquer l'anacrouse en donnant le début de la partitionsfmontrer les éléments cachésmontrer les numéros de mesuresignestailletrier les instrumentsspespacementportéenom de la portéenom raccourci de la portéetempotempo ...densité du tempotempo :textechiffrage de mesuretransp.transposerreconaissance des trioletsn'a pas pu mettre le point décimel à '.'. La sortie Postscript sera éronnée. Veuillez mettre la variable d'environnemetn $LANG à une valeur appropriée!défairemontrer les silences (sélectionnés)montrer les silencesutiliser la sélectionvoix de différentes couleursvolumedensité du volumevolume :vous ne pouvez pas sélectionner un élément avec un pointnted-1.10.18/po/zh_CN.po0000664001041000007640000012305011520270236011512 00000000000000# Simplified Chinese Translation of NtEd. # Copyright (C) YEAR Joerg Anders # This file is distributed under the same license as the PACKAGE package. # Tian Shixiong , 2010. # msgid "" msgstr "" "Project-Id-Version: nted 1.9.16\n" "Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de\n" "POT-Creation-Date: 2011-01-27 14:18+0100\n" "PO-Revision-Date: 2010-07-01 22:37+0800\n" "Last-Translator: Tian Shixiong \n" "Language-Team: Simplified Chinese \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: mainwindow.cpp:310 msgid "_File" msgstr "文件 (_F)" #: mainwindow.cpp:311 msgid "Open_Recent" msgstr "打开最近文件 (_R)" #: mainwindow.cpp:312 msgid "_Export" msgstr "导出 (_E)" #: mainwindow.cpp:313 msgid "_View" msgstr "查看 (_V)" #: mainwindow.cpp:314 msgid "_Edit" msgstr "编辑 (_E)" #: mainwindow.cpp:315 msgid "_Tools" msgstr "工具 (_T)" #: mainwindow.cpp:316 msgid "_System layout ..." msgstr "系统布局 (_S) ..." #: mainwindow.cpp:317 msgid "_Insert" msgstr "æ’å…¥ (_I)" #: mainwindow.cpp:318 msgid "_Upbeat ..." msgstr "å¼±æ‹ (_U) ..." #: mainwindow.cpp:319 msgid "_Preferences ..." msgstr "设置 (_P) ..." #: mainwindow.cpp:320 msgid "_Dynamics ..." msgstr "力度 (_D) ..." #: mainwindow.cpp:321 msgid "_Lyrics" msgstr "æ­Œè¯ (_L)" #: mainwindow.cpp:322 msgid "_Help" msgstr "帮助 (_H)" #: mainwindow.cpp:323 msgid "Configure MIDI out..." msgstr "设置 MIDI 输出 ..." #: mainwindow.cpp:323 msgid "configure MIDI output" msgstr "设置 MIDI 输出" #: mainwindow.cpp:324 msgid "Configure MIDI in..." msgstr "设置 MIDI 输入" #: mainwindow.cpp:324 msgid "configure MIDI input" msgstr "设置 MIDI 输出" #: mainwindow.cpp:325 msgid "Configure Paper..." msgstr "纸张设置 ..." #: mainwindow.cpp:325 msgid "configure paper" msgstr "é…ç½®" #: mainwindow.cpp:326 msgid "Configure Print..." msgstr "打å°è®¾ç½®..." #: mainwindow.cpp:326 msgid "configure print command" msgstr "打å°å‘½ä»¤è®¾ç½®" #: mainwindow.cpp:327 msgid "New" msgstr "新建" #: mainwindow.cpp:327 msgid "New File" msgstr "新建文件" #: mainwindow.cpp:328 msgid "Open ..." msgstr "打开 ..." #: mainwindow.cpp:328 msgid "Open a file" msgstr "打开文件" #: mainwindow.cpp:329 msgid "Save ..." msgstr "ä¿å­˜ ..." #: mainwindow.cpp:329 mainwindow.cpp:330 msgid "Save a file" msgstr "ä¿å­˜æ–‡ä»¶" #: mainwindow.cpp:330 msgid "Save As ..." msgstr "å¦å­˜ä¸º ..." #: mainwindow.cpp:331 msgid "Print" msgstr "打å°" #: mainwindow.cpp:331 msgid "print file" msgstr "æ‰“å°æ–‡ä»¶" #: mainwindow.cpp:332 msgid "Import MusicXML ..." msgstr "导入 MusicXML ..." #: mainwindow.cpp:332 msgid "import a musicxml file" msgstr "导入 musicxml 文件 " #: mainwindow.cpp:333 msgid "Import MIDI..." msgstr "导入 MIDI..." #: mainwindow.cpp:333 msgid "import a midi file" msgstr "导入 MIDI 文件" #: mainwindow.cpp:334 msgid "Import MIDI(2)..." msgstr "导入 MIDI(2)..." #: mainwindow.cpp:334 msgid "import a midi file(2)" msgstr "导入 midi 文件(2)" #: mainwindow.cpp:335 msgid "Copy" msgstr "å¤åˆ¶" #: mainwindow.cpp:335 msgid "copy - Ctrl + C" msgstr "å¤åˆ¶ - Ctrl + C" #: mainwindow.cpp:336 msgid "Paste" msgstr "粘贴" #: mainwindow.cpp:336 msgid "paste - Ctrl + V" msgstr "粘贴 - Ctrl + V" #: mainwindow.cpp:337 msgid "Delete block" msgstr "删除å°èŠ‚" #: mainwindow.cpp:337 msgid "delete block - Ctrl + X" msgstr "删除å°èŠ‚ - Ctrl + X" #: mainwindow.cpp:338 msgid "append a system at end" msgstr "在末尾加入新行" #: mainwindow.cpp:338 msgid "append system - Ctrl + B" msgstr "添加新行 - Ctrl + B" #: mainwindow.cpp:339 msgid "Insert block" msgstr "æ’å…¥å°èŠ‚" #: mainwindow.cpp:339 msgid "insert block" msgstr "æ’å…¥å°èŠ‚" #: mainwindow.cpp:340 msgid "Insert clef ..." msgstr "æ’å…¥è°±å· ..." #: mainwindow.cpp:340 msgid "insert a clef" msgstr "æ’入谱å·" #: mainwindow.cpp:341 msgid "Empty block" msgstr "清空å°èŠ‚" #: mainwindow.cpp:341 msgid "empty block - Ctrl + E" msgstr "清空å°èŠ‚ - Ctrl + E" #: mainwindow.cpp:342 msgid "reposit all" msgstr "å¤åŽŸå…¨éƒ¨" #: mainwindow.cpp:342 msgid "reposit the whole score - Ctrl + T" msgstr "å¤åŽŸæ•´ä¸ªä¹è°± - Ctrl + T" #: mainwindow.cpp:343 msgid "Export MIDI ..." msgstr "导出 MIDI ..." #: mainwindow.cpp:343 msgid "export a midi file" msgstr "导出为 MIDI 文件" #: mainwindow.cpp:344 msgid "Export LilyPond ..." msgstr "导出为LilyPond ..." #: mainwindow.cpp:344 dialogs/lilypondexportdialog.cpp:44 msgid "LilyPond export" msgstr "LIlyPond 导出" #: mainwindow.cpp:346 msgid "Export PDF ..." msgstr "导出 PDF ..." #: mainwindow.cpp:346 msgid "export PDF" msgstr "导出 PDF" #: mainwindow.cpp:348 msgid "Export P_NG ..." msgstr "导出 P_NG ..." #: mainwindow.cpp:348 msgid "Write a png image" msgstr "写入为 png 图åƒ" #: mainwindow.cpp:350 msgid "Export S_VG ..." msgstr "导出 S_VG ..." #: mainwindow.cpp:350 msgid "Write an svg image" msgstr "写入为 svg 图åƒ" #: mainwindow.cpp:352 msgid "Export P_S ..." msgstr "导出 P_S ..." #: mainwindow.cpp:352 msgid "Write PostScript" msgstr "写入 PostScript" #: mainwindow.cpp:353 msgid "New Window" msgstr "新窗å£" #: mainwindow.cpp:353 msgid "Open a new window" msgstr "打开新窗å£" #: mainwindow.cpp:354 msgid "Excerpt ..." msgstr "æå– ..." #: mainwindow.cpp:354 msgid "Make an excerpt of the score" msgstr "æå–ä¹è°±" #: mainwindow.cpp:355 msgid "Close Window" msgstr "关闭窗å£" #: mainwindow.cpp:355 msgid "Close current window" msgstr "关闭当å‰çª—å£" #: mainwindow.cpp:358 msgid "Remove last page" msgstr "删除最åŽä¸€é¡µ" #: mainwindow.cpp:358 msgid "remove the last page" msgstr "删除最åŽä¸€é¡µ" #: mainwindow.cpp:359 msgid "Remove empty pages" msgstr "删除空页" #: mainwindow.cpp:359 msgid "remove empty pages at end" msgstr "删除末尾空页" #: mainwindow.cpp:360 msgid "Change spacement ..." msgstr "è°ƒæ•´éŸ³ç¬¦æ°´å¹³é—´è· ..." #: mainwindow.cpp:360 msgid "change the horizontal spacement" msgstr "调整水平间è·" #: mainwindow.cpp:361 msgid "Change Scale ..." msgstr "更改比例 ..." #: mainwindow.cpp:361 msgid "change scale" msgstr "更改比例" #: mainwindow.cpp:362 msgid "Configure Record ..." msgstr "录音设置 ..." #: mainwindow.cpp:362 msgid "configure record" msgstr "录音设置" #: mainwindow.cpp:363 msgid "Configure Drums ..." msgstr "鼓设置 ..." #: mainwindow.cpp:363 msgid "configure drums" msgstr "鼓设置" #: mainwindow.cpp:364 msgid "Tools ..." msgstr "工具 ..." #: mainwindow.cpp:364 msgid "Tools " msgstr "工具" #: mainwindow.cpp:365 msgid "give first measure" msgstr "指出第一å°èŠ‚" #: mainwindow.cpp:365 msgid "set upbeat by giving the start of first full measure" msgstr "设置第一å°èŠ‚ä»Žå¼±æ‹å¼€å§‹" #: mainwindow.cpp:366 msgid "give start" msgstr "设置起始ä½ç½®" #: mainwindow.cpp:366 msgid "set upbeat by giving the start of the score" msgstr "通过ä¹è°±èµ·å§‹ä½ç½®è®¾ç½®å¼±æ‹" #: mainwindow.cpp:367 msgid "Score info ..." msgstr "ä¹è°±ä¿¡æ¯ ..." #: mainwindow.cpp:367 msgid "edit score info" msgstr "编辑ä¹è°±ä¿¡æ¯" #: mainwindow.cpp:368 msgid "Insert keysig ... " msgstr "æ’å…¥è°ƒå· ..." #: mainwindow.cpp:368 msgid "insert a key signature" msgstr "æ’入调å·" #: mainwindow.cpp:369 msgid "Insert lines ... " msgstr "æ’入行 ..." #: mainwindow.cpp:369 msgid "insert a horizontal line" msgstr "æ°´å¹³æ’入行" #: mainwindow.cpp:370 msgid "Insert sign ... " msgstr "æ’å…¥è®°å· ..." #: mainwindow.cpp:370 msgid "insert a free placeable sign" msgstr "æ’入自由放置记å·" #: mainwindow.cpp:371 msgid "Slur" msgstr "连音线" #: mainwindow.cpp:371 msgid "insert a slur - Ctrl+H" msgstr "æ’入连音线 - Ctrl+H" #: mainwindow.cpp:372 msgid "chord ..." msgstr "和弦 ..." #: mainwindow.cpp:372 msgid "insert a chord" msgstr "æ’入和弦" #: mainwindow.cpp:373 msgid "chordname ..." msgstr "和弦åç§° ..." #: mainwindow.cpp:373 msgid "insert a chordname" msgstr "æ’入和弦å" #: mainwindow.cpp:374 msgid "spacer" msgstr "线间" #: mainwindow.cpp:374 #, fuzzy msgid "insert a staff spacer" msgstr "æ’å…¥ä¹è°±é—´éš”符" #: mainwindow.cpp:375 msgid "Append staff" msgstr "附加ä¹è°±" #: mainwindow.cpp:375 msgid "append a new staff" msgstr "附加新谱" #: mainwindow.cpp:376 msgid "Import recorded" msgstr "导入录音" #: mainwindow.cpp:376 msgid "import recorded staff" msgstr "导入录制的ä¹è°±" #: mainwindow.cpp:377 msgid "Lyrics editor ..." msgstr "æ­Œè¯ç¼–辑器 ..." #: mainwindow.cpp:377 msgid "edit lyrics in text editor" msgstr "在编辑器中编辑歌è¯" #: mainwindow.cpp:378 msgid "ppp" msgstr "ppp" #: mainwindow.cpp:378 msgid "insert ppp" msgstr "æ’å…¥ppp" #: mainwindow.cpp:379 msgid "pp" msgstr "pp" #: mainwindow.cpp:379 msgid "insert pp" msgstr "æ’å…¥pp" #: mainwindow.cpp:380 msgid "p" msgstr "p" #: mainwindow.cpp:380 msgid "insert p" msgstr "æ’å…¥p" #: mainwindow.cpp:381 msgid "mp" msgstr "mp" #: mainwindow.cpp:381 msgid "insert mp" msgstr "æ’å…¥mp" #: mainwindow.cpp:382 msgid "sp" msgstr "sp" #: mainwindow.cpp:382 msgid "insert sp" msgstr "æ’å…¥sp" #: mainwindow.cpp:383 msgid "mf" msgstr "mf" #: mainwindow.cpp:383 msgid "insert mf" msgstr "æ’å…¥mf" #: mainwindow.cpp:384 msgid "sf" msgstr "sf" #: mainwindow.cpp:384 msgid "insert sf" msgstr "æ’å…¥af" #: mainwindow.cpp:385 msgid "f" msgstr "f" #: mainwindow.cpp:385 msgid "insert f" msgstr "æ’å…¥f" #: mainwindow.cpp:386 msgid "ff" msgstr "ff" #: mainwindow.cpp:386 msgid "insert ff" msgstr "æ’å…¥ff" #: mainwindow.cpp:387 msgid "fff" msgstr "fff" #: mainwindow.cpp:387 msgid "insert fff" msgstr "æ’å…¥fff" #: mainwindow.cpp:388 msgid "tempo ..." msgstr "速度 ..." #: mainwindow.cpp:388 msgid "insert tempo" msgstr "æ’入速度" #: mainwindow.cpp:389 msgid "Text ..." msgstr "文本 ..." #: mainwindow.cpp:389 msgid "insert text" msgstr "æ’入文本" #: mainwindow.cpp:390 msgid "accelerando" msgstr "æ¸å¿«" #: mainwindow.cpp:390 msgid "insert accelerando" msgstr "æ’å…¥æ¸å¿«è®°å·" #: mainwindow.cpp:391 msgid "ritardando" msgstr "æ¸æ…¢" #: mainwindow.cpp:391 msgid "insert ritardando" msgstr "æ’å…¥æ¸æ…¢è®°å·" #: mainwindow.cpp:392 msgid "lyrics1" msgstr "æ­Œè¯ 1" #: mainwindow.cpp:392 msgid "insert lyrics at line 1" msgstr "在第一行æ’入歌è¯" #: mainwindow.cpp:393 msgid "lyrics2" msgstr "æ­Œè¯ 2" #: mainwindow.cpp:393 msgid "insert lyrics at line 2" msgstr "在第二行æ’入歌è¯" #: mainwindow.cpp:394 msgid "lyrics3" msgstr "æ­Œè¯ 3" #: mainwindow.cpp:394 msgid "insert lyrics at line 3" msgstr "在第三行æ’入歌è¯" #: mainwindow.cpp:395 msgid "lyrics4" msgstr "æ­Œè¯ 4" #: mainwindow.cpp:395 msgid "insert lyrics at line 4" msgstr "在第四行æ’入歌è¯" #: mainwindow.cpp:396 msgid "lyrics5" msgstr "æ­Œè¯ 5" #: mainwindow.cpp:396 msgid "insert lyrics at line 5" msgstr "在第五行æ’入歌è¯" #: mainwindow.cpp:397 msgid "Insert tuplet ..." msgstr "æ’入连音 ..." #: mainwindow.cpp:397 msgid "insert a tuplet (Ctrl + num)" msgstr "æ’入连音 (Ctrl + num)" #: mainwindow.cpp:398 msgid "brace" msgstr "花括线" #: mainwindow.cpp:398 msgid "group staves by means of a brace" msgstr "用花括线组åˆä¹è°±" #: mainwindow.cpp:399 msgid "bracket" msgstr "直括线" #: mainwindow.cpp:399 msgid "group staves by means of a bracket" msgstr "用直括线组åˆä¹è°±" #: mainwindow.cpp:400 msgid "connect barlines" msgstr "" #: mainwindow.cpp:400 msgid "set connected bar lines" msgstr "" #: mainwindow.cpp:401 msgid "remove group" msgstr "移除组" #: mainwindow.cpp:401 msgid "remove a group of connected staves" msgstr "删除连接的ä¹è°±ç»„" #: mainwindow.cpp:402 msgid "Remove tuplet" msgstr "删除连音" #: mainwindow.cpp:402 msgid "remove a tuplet" msgstr "删除连音" #: mainwindow.cpp:403 msgid "Muting ..." msgstr "é™éŸ³ ..." #: mainwindow.cpp:403 msgid "mute some staves" msgstr "é™éŸ³éƒ¨åˆ†ä¹è°±" #: mainwindow.cpp:404 msgid "Transpose ..." msgstr "转调 ..." #: mainwindow.cpp:404 msgid "transpose" msgstr "转调" #: mainwindow.cpp:405 msgid "hide rests" msgstr "éšè—休止符" #: mainwindow.cpp:405 msgid "hide (selected) rests" msgstr "éšè—(所选)休止符" #: mainwindow.cpp:406 msgid "unhide rests" msgstr "显示休止符" #: mainwindow.cpp:406 msgid "unhide (selected) rests" msgstr "显示(所选)休止符" #: mainwindow.cpp:407 msgid "hide rests (all v.)" msgstr "éšè—休止符 (all v.)" #: mainwindow.cpp:407 msgid "hide selected rests (all v.)" msgstr "éšè—所选休止符 (all v.)." #: mainwindow.cpp:408 msgid "unhide rests (all v.)" msgstr "显示休止符 (all v.)." #: mainwindow.cpp:408 msgid "unhide selected rests (all v.)" msgstr "显示所选休止符 (all v.)." #: mainwindow.cpp:409 msgid "set all to sharp ..." msgstr "将所有转为å‡å· ..." #: mainwindow.cpp:409 msgid "set all flats to sharp" msgstr "将所有é™å·è½¬ä¸ºå‡å·" #: mainwindow.cpp:410 msgid "set all to flat ..." msgstr "将所有转为é™å· ..." #: mainwindow.cpp:410 msgid "set all sharps to flat" msgstr "将所有å‡å·è½¬ä¸ºé™å·" #: mainwindow.cpp:411 msgid "About NtEd" msgstr "关于 NtEd" #: mainwindow.cpp:413 msgid "Documentation ..." msgstr "文档 ..." #: mainwindow.cpp:415 msgid "License" msgstr "许å¯" #: mainwindow.cpp:416 msgid "E_xit" msgstr "E_退出" #: mainwindow.cpp:416 msgid "Exit the program" msgstr "退出程åº" #: mainwindow.cpp:420 msgid "play" msgstr "播放" #: mainwindow.cpp:421 msgid "voices in different colors" msgstr "ä¸åŒé¢œè‰²æ ‡è®°çš„声部" #: mainwindow.cpp:422 msgid "show measure numbers" msgstr "显示å°èŠ‚å·" #: mainwindow.cpp:423 msgid "show hidden elements" msgstr "显示éšè—元素" #: mainwindow.cpp:424 msgid "midi input" msgstr "midi 输入" #: mainwindow.cpp:425 msgid "record midi" msgstr "录制 midi" #: mainwindow.cpp:425 msgid "record midi - i" msgstr "录制 midi -i" #: mainwindow.cpp:429 msgid "in" msgstr "放大" #: mainwindow.cpp:429 msgid "Zoom in Ctrl + +" msgstr "放大 Ctrl + +" #: mainwindow.cpp:430 msgid "out" msgstr "缩å°" #: mainwindow.cpp:430 msgid "Zoom out Ctrl + -" msgstr "ç¼©å° Ctrl + -" #: mainwindow.cpp:431 msgid "undo" msgstr "å–æ¶ˆ" #: mainwindow.cpp:431 msgid "Undo Ctrl + z" msgstr "å–æ¶ˆ Ctrl + z" #: mainwindow.cpp:432 msgid "redo" msgstr "é‡åš" #: mainwindow.cpp:432 msgid "Redo Ctrl + y" msgstr "é‡åš Ctrl + y" #: mainwindow.cpp:433 msgid "customize beam" msgstr "自定义符尾" #: mainwindow.cpp:433 msgid "customize beam - Ctrl + j" msgstr "自定义符尾 - Ctrl + j" #: mainwindow.cpp:434 msgid "flip stem" msgstr "翻转符干" #: mainwindow.cpp:434 msgid "flip stem - Ctrl + f" msgstr "翻转符干 - Ctrl + f" #: mainwindow.cpp:438 msgid "insert" msgstr "æ’å…¥" #: mainwindow.cpp:438 msgid "Toggle Insert/Erase Mode - n" msgstr "æ’å…¥/删除模å¼åˆ‡æ¢ -n" #: mainwindow.cpp:442 msgid "page" msgstr "页é¢" #: mainwindow.cpp:442 msgid "Page Mode - p" msgstr "页颿¨¡å¼ -p" #: mainwindow.cpp:443 dialogs/staffcontextdialog.cpp:177 #: dialogs/keysigdialog.cpp:42 dialogs/midirecordconfigdialog.cpp:160 msgid "key" msgstr "è°ƒ" #: mainwindow.cpp:443 msgid "Keyboard insert mode - k" msgstr "键盘æ’å…¥æ¨¡å¼ -k" #: mainwindow.cpp:1625 msgid "Cannot replay because could not open ALSA sequencer" msgstr "无法打开 ALSA 音åºå™¨ï¼Œæ— æ³•釿”¾" #: mainwindow.cpp:2776 mainwindow.cpp:5110 mainwindow.cpp:5156 #: mainwindow.cpp:6090 mainwindow.cpp:6180 mainwindow.cpp:6937 #: mainwindow.cpp:9584 msgid "Save Changes ?" msgstr "ä¿å­˜æ›´æ”¹ï¼Ÿ" #: mainwindow.cpp:2894 mainwindow.cpp:2995 mainwindow.cpp:3576 #: mainwindow.cpp:3696 mainwindow.cpp:9035 mainwindow.cpp:9147 #: mainwindow.cpp:9271 mainwindow.cpp:9360 dialogs/lyricseditor.cpp:350 #: dialogs/drumconfigdialog.cpp:493 #, c-format msgid "Cannot open %s for writing" msgstr "%s 无法写入 " #: mainwindow.cpp:2905 mainwindow.cpp:3009 #, c-format msgid "Cannot rename %s to %s" msgstr "无法将 %s é‡å‘½å 为 %s" #: mainwindow.cpp:2940 msgid "Save score" msgstr "ä¿å­˜ä¹è°±" #: mainwindow.cpp:2982 mainwindow.cpp:3564 mainwindow.cpp:3684 #: mainwindow.cpp:8995 mainwindow.cpp:9135 mainwindow.cpp:9259 #: mainwindow.cpp:9348 dialogs/lyricseditor.cpp:336 #: dialogs/drumconfigdialog.cpp:479 #, c-format msgid "File %s already exists. Overwrite ?" msgstr "文件 %s å·²ç»å­˜åœ¨ã€‚确定è¦è¦†ç›–?" #: mainwindow.cpp:3272 mainwindow.cpp:3416 msgid "Please select a note or rest!" msgstr "请选择音符或休止符ï¼" #: mainwindow.cpp:3277 msgid "You select a note in an tuplet" msgstr "您在连音中选择了一个音符" #: mainwindow.cpp:3281 msgid "You cannot copy incomplete tuplets!" msgstr "您ä¸èƒ½å¤åˆ¶ä¸å®Œæ•´çš„连音ï¼" #: mainwindow.cpp:3296 msgid "Paste not possible: A tuplet would cross a measure" msgstr "无法粘贴:连音会超出一å°èŠ‚" #: mainwindow.cpp:3443 msgid "Empty not possible because of incomplete tuplets" msgstr "连音ä¸å®Œæ•´ï¼Œæ— æ³•清空" #: mainwindow.cpp:4112 #, c-format msgid "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "Translation: " msgstr "" "NtEd 版本 %s by Joerg Anders\n" "å‘é€ bug 至 %s\n" "\n" "http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "作者:\n" " J.Anders \n" "\n" "翻译: Tian Shixiong " #: mainwindow.cpp:4123 msgid "" "Excuse! The documentation is not available\n" "due to an installation error" msgstr "" "对ä¸èµ·ï¼ç”±äºŽå®‰è£…问题,文档\n" "ä¸å­˜åœ¨" #: mainwindow.cpp:4133 msgid "Excuse! Cannot exec" msgstr "对ä¸èµ·ï¼æ— æ³•执行" #: mainwindow.cpp:4138 msgid "Excuse! Cannot fork" msgstr "Excuse! Cannot fork" #: mainwindow.cpp:4880 mainwindow.cpp:4902 mainwindow.cpp:7850 msgid "please select a note or rest first" msgstr "请先选择一个音符或休止符" #: mainwindow.cpp:4884 mainwindow.cpp:7854 msgid "you cannot select an element with dot" msgstr "ä¸èƒ½é€‰æ‹©å¸¦ 点 的元素" #: mainwindow.cpp:4894 mainwindow.cpp:7869 msgid "I'm not able to create a tuplet here" msgstr "无法在此创建连音" #: mainwindow.cpp:4906 msgid "selected element is not inside a tuplet" msgstr "选择连音外的元素" #: mainwindow.cpp:5171 msgid "Open score" msgstr "打开ä¹è°±" #: mainwindow.cpp:5211 mainwindow.cpp:6306 mainwindow.cpp:6966 #: dialogs/lyricseditor.cpp:433 dialogs/drumconfigdialog.cpp:567 #, c-format msgid "Cannot open %s for reading" msgstr "æ— æ³•è¯»å– %s" #: mainwindow.cpp:6105 msgid "Import MusicXML" msgstr "导入 MusicXML" #: mainwindow.cpp:7030 mainwindow.cpp:7056 msgid "Cannot list midi ports because could not open ALSA sequencer" msgstr "无法打开 ALSA 音åºå™¨ï¼Œæ— æ³•列出 midi 端å£" #: mainwindow.cpp:7127 msgid "Font selection - Measure numbers" msgstr "字体 - å°èŠ‚å·" #: mainwindow.cpp:7749 msgid "Adjust notes ?" msgstr "调整音符?" #: mainwindow.cpp:8951 msgid "Create PNG" msgstr "创建 PNG" #: mainwindow.cpp:9091 msgid "Create SVG" msgstr "创建 SVG" #: mainwindow.cpp:9217 msgid "Create Postscript" msgstr "创建 Postscript" #: mainwindow.cpp:9306 msgid "Create PDF" msgstr "创建 PDF" #: mainwindow.cpp:9470 dialogs/lilypondexportdialog.cpp:70 msgid "select staves" msgstr "选择ä¹è°±" #: mainwindow.cpp:9627 #, c-format msgid "Usage: %s [.ntd]\n" msgstr "用法:%s [.ntd]\n" #: mainwindow.cpp:9655 msgid "" "unable to set decimal point to '.'. PostScript output will be erroneous. \t\t" "\tPlease set the $LANG environment variable appropriately!" msgstr "" "æ— æ³•è®¾ç½®å°æ•°ç‚¹ '.'。PostScript输出将出错。\t\t\t请正确设置 $LANG 环境å˜é‡ï¼" #: resource.cpp:380 msgid "Piano 1" msgstr "é’¢ç´ 1" #: resource.cpp:380 msgid "Piano 2" msgstr "é’¢ç´ 2" #: resource.cpp:380 msgid "Piano 3" msgstr "é’¢ç´ 3" #: resource.cpp:380 msgid "Honky-tonk" msgstr "æ­åŸºæ±¤å…‹éŸ³ä¹" #: resource.cpp:381 msgid "E.Piano 1" msgstr "ç”µé’¢ç´ 1" #: resource.cpp:381 msgid "E.Piano 2" msgstr "ç”µé’¢ç´ 1" #: resource.cpp:381 msgid "Harpsichord" msgstr "大键ç´" #: resource.cpp:381 msgid "Clavinet" msgstr "ç”µå­æ‹¨å¼¦é’¢ç´" #: resource.cpp:382 msgid "Celesta" msgstr "钢片ç´" #: resource.cpp:382 msgid "Glockenspiel" msgstr "é’Ÿç´" #: resource.cpp:382 msgid "Music Box" msgstr "音ä¹ç›’" #: resource.cpp:382 msgid "Vibraphone" msgstr "颤音ç´" #: resource.cpp:383 msgid "Marimba" msgstr "马林巴ç´" #: resource.cpp:383 msgid "Xylophone" msgstr "木ç´" #: resource.cpp:383 msgid "Tubular Bells" msgstr "管钟" #: resource.cpp:383 msgid "Dulcimer" msgstr "扬ç´" #: resource.cpp:384 msgid "Organ 1" msgstr "é£Žç´ 1" #: resource.cpp:384 msgid "Organ 2" msgstr "é£Žç´ 2" #: resource.cpp:384 msgid "Organ 3" msgstr "é£Žç´ 3" #: resource.cpp:384 msgid "Church Organ" msgstr "教堂管风ç´" #: resource.cpp:385 msgid "Reed Organ" msgstr "簧风ç´" #: resource.cpp:385 msgid "Accordion" msgstr "手风ç´" #: resource.cpp:385 msgid "Harmonica" msgstr "å£ç´" #: resource.cpp:385 msgid "Bandoneon" msgstr "å—美手风ç´" #: resource.cpp:386 msgid "Nylon Guitar" msgstr "尼龙弦å‰å®ƒ" #: resource.cpp:386 msgid "Steel Guitar" msgstr "钢弦å‰å®ƒ" #: resource.cpp:386 msgid "Jazz Guitar" msgstr "爵士å‰å®ƒ" #: resource.cpp:386 msgid "Clean Guitar" msgstr "清音å‰å®ƒ" #: resource.cpp:387 msgid "Guitar Mutes" msgstr "å‰å®ƒå¼±éŸ³" #: resource.cpp:387 msgid "Overdrive Guitar" msgstr "过载å‰å®ƒ" #: resource.cpp:387 msgid "Guitar Harmonics" msgstr "å‰å®ƒæ³›éŸ³" #: resource.cpp:388 msgid "Acoustic Bass" msgstr "原声è´å¸" #: resource.cpp:388 msgid "Fingered Bass" msgstr "指弹è´å¸" #: resource.cpp:388 msgid "Picked Bass" msgstr "拨片è´å¸" #: resource.cpp:388 msgid "Fretless Bass" msgstr "æ— å“è´å¸" #: resource.cpp:389 msgid "Slap Bass 1" msgstr "Slap è´å¸ 1" #: resource.cpp:389 msgid "Slap Bass 2" msgstr "Slap è´å¸ 2" #: resource.cpp:389 msgid "Synth Bass 1" msgstr "åˆæˆè´å¸ 1" #: resource.cpp:389 msgid "Synth Bass 2" msgstr "åˆæˆè´å¸ 2" #: resource.cpp:390 msgid "Violin" msgstr "å°æç´" #: resource.cpp:390 msgid "Viola" msgstr "中æç´" #: resource.cpp:390 msgid "Cello" msgstr "大æç´" #: resource.cpp:390 msgid "Contrabass" msgstr "低音æç´" #: resource.cpp:391 msgid "Tremolo Strings" msgstr "颤弓" #: resource.cpp:391 msgid "Pizzicato" msgstr "弹拨" #: resource.cpp:391 msgid "Harp" msgstr "ç«–ç´" #: resource.cpp:391 msgid "Timpani" msgstr "定音鼓" #: resource.cpp:392 msgid "Strings" msgstr "弦" #: resource.cpp:392 msgid "Slow Strings" msgstr "慢速弦ä¹" #: resource.cpp:392 msgid "Synth Strings 1" msgstr "åˆæˆå¼¦ä¹ 1" #: resource.cpp:392 msgid "Synth Strings 2" msgstr "åˆæˆå¼¦ä¹ 2" #: resource.cpp:393 msgid "Choir Aahs" msgstr "åˆå”±éŸ³" #: resource.cpp:393 msgid "Voice Oohs" msgstr "人声" #: resource.cpp:393 msgid "Synth Vox" msgstr "åˆæˆå£°éŸ³" #: resource.cpp:393 msgid "Orchestra Hit" msgstr "管弦ä¹é½å¥" #: resource.cpp:394 msgid "Trumpet" msgstr "å°å·" #: resource.cpp:394 msgid "Trombone" msgstr "é•¿å·" #: resource.cpp:394 msgid "Tuba" msgstr "大å·" #: resource.cpp:394 msgid "Mute Trumpet" msgstr "弱音å°å·" #: resource.cpp:395 msgid "French Horns" msgstr "圆å·" #: resource.cpp:395 msgid "Brass" msgstr "铜管ä¹å™¨" #: resource.cpp:395 msgid "Synth Brass 1" msgstr "åˆæˆé“œç®¡ä¹å™¨ 1" #: resource.cpp:395 msgid "Synth Brass 2" msgstr "åˆæˆé“œç®¡ä¹å™¨ 2" #: resource.cpp:396 msgid "Soprano Sax" msgstr "高音è¨å…‹æ–¯" #: resource.cpp:396 msgid "Alto Sax" msgstr "次中音è¨å…‹æ–¯" #: resource.cpp:396 msgid "Tenor Sax" msgstr "中音è¨å…‹æ–¯" #: resource.cpp:396 msgid "Baritone Sax" msgstr "低音è¨å…‹æ–¯" #: resource.cpp:397 msgid "Oboe" msgstr "åŒç°§ç®¡" #: resource.cpp:397 msgid "English Horn" msgstr "英国管" #: resource.cpp:397 msgid "Bassoon" msgstr "低音管" #: resource.cpp:397 msgid "Clarinet" msgstr "黑管" #: resource.cpp:398 msgid "Piccolo" msgstr "短笛" #: resource.cpp:398 msgid "Flute" msgstr "长笛" #: resource.cpp:398 msgid "Recorder" msgstr "录音机" #: resource.cpp:398 msgid "Pan Flute" msgstr "排笛" #: resource.cpp:399 msgid "Bottle Chiff" msgstr "Bottle Chiff" #: resource.cpp:399 msgid "Shakuhachi" msgstr "日本è§" #: resource.cpp:399 msgid "Whistle" msgstr "å£å“¨" #: resource.cpp:399 msgid "Ocarina" msgstr "å°é¹…笛" #: resource.cpp:400 msgid "Square Wave" msgstr "方波" #: resource.cpp:400 msgid "Saw Wave" msgstr "锯齿波" #: resource.cpp:400 msgid "Synth Calliope" msgstr "åˆæˆæ±½ç¬›é£Žç´" #: resource.cpp:400 msgid "Chiffer Lead" msgstr "Chiffer Lead" #: resource.cpp:401 msgid "Charang" msgstr "人声" #: resource.cpp:401 msgid "Solo Vox" msgstr "独å¥" #: resource.cpp:401 msgid "5th Saw Wave" msgstr "第五ç§é”¯é½¿æ³¢" #: resource.cpp:401 msgid "Bass & Lead" msgstr "è´å¸ & 主音" #: resource.cpp:402 msgid "Fantasia" msgstr "幻想曲" #: resource.cpp:402 msgid "Warm Pad" msgstr "温暖音色" #: resource.cpp:402 msgid "Poly Synth" msgstr "多é‡åˆæˆ" #: resource.cpp:402 msgid "Space Voice" msgstr "Space Voice" #: resource.cpp:403 msgid "Bowed Glass" msgstr "委婉玻璃声" #: resource.cpp:403 msgid "Metal Pad" msgstr "金属长音" #: resource.cpp:403 msgid "Halo Pad" msgstr "光晕长音" #: resource.cpp:403 msgid "Sweep Pad" msgstr "掠过长音" #: resource.cpp:404 msgid "Ice Rain" msgstr "冰雨" #: resource.cpp:404 msgid "Soundtrack" msgstr "电音é…ä¹" #: resource.cpp:404 msgid "Crystal" msgstr "晶体" #: resource.cpp:404 msgid "Atmosphere" msgstr "空气" #: resource.cpp:405 msgid "Brightness" msgstr "愉快" #: resource.cpp:405 msgid "Goblin" msgstr "Goblin" #: resource.cpp:405 msgid "Echo Drops" msgstr "Echo Drops" #: resource.cpp:405 msgid "Star Theme" msgstr "加星å·ä¸»é¢˜" #: resource.cpp:406 msgid "Sitar" msgstr "西塔ç´" #: resource.cpp:406 msgid "Banjo" msgstr "ç­å“ç´" #: resource.cpp:406 msgid "Shamisen" msgstr "日本三弦" #: resource.cpp:406 msgid "Koto" msgstr "日本ç­" #: resource.cpp:407 msgid "Kalimba" msgstr "塿ž—å·´ç´" #: resource.cpp:407 msgid "Bagpipe" msgstr "风笛" #: resource.cpp:407 msgid "Fiddle" msgstr "æç´" #: resource.cpp:407 msgid "Shenai" msgstr "唢å‘" #: resource.cpp:408 msgid "Tinker Bell" msgstr "å®å½“" #: resource.cpp:408 msgid "Agogo" msgstr "摇摆舞铃" #: resource.cpp:408 msgid "Steel Drum" msgstr "钢鼓" #: resource.cpp:408 msgid "Wood Block" msgstr "木鱼" #: resource.cpp:409 msgid "Taiko Drum" msgstr "太鼓" #: resource.cpp:409 msgid "Melodic Tom" msgstr "旋律鼓" #: resource.cpp:409 msgid "Synth Drum" msgstr "åˆæˆé¼“" #: resource.cpp:409 msgid "Reverse Cymbal" msgstr "背钹" #: resource.cpp:410 msgid "Fret Noise" msgstr "æ¢æŠŠéŸ³" #: resource.cpp:410 msgid "Breath Noise" msgstr "呼å¸å£°" #: resource.cpp:410 msgid "Seashore" msgstr "海岸" #: resource.cpp:410 msgid "Bird" msgstr "鸟" #: resource.cpp:411 msgid "Telephone" msgstr "电è¯" #: resource.cpp:411 msgid "Helicopter" msgstr "ç›´å‡æœº" #: resource.cpp:411 msgid "Applause" msgstr "掌声" #: resource.cpp:411 msgid "Gun Shot" msgstr "枪声" #: resource.cpp:827 msgid "" "Cannot open ALSA MIDI sequencer --> replay won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "无法打开 ALSA MIDI 音åºå™¨ --> 无法回放 :-((\n" "å°è¯•(以root用户)\n" "modprobe snd-seq-midi\n" "ç„¶åŽé‡å¯ NtEd\n" "å¯èƒ½æœ‰æ‰€å¸®åŠ©(?)" #: resource.cpp:835 msgid "Error creating ALSA sequencer output port --> replay won't work :-((" msgstr "创建 ALSA 音åºå™¨è¾“å‡ºç«¯å£æ—¶å‡ºé”™ --> 无法回放 :-((" #: resource.cpp:845 msgid "" "Cannot open ALSA MIDI sequencer --> read/record won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "无法打开 ALSA MIDI 音åºå™¨ --> 无法读å–/录制 :-((\n" "å°è¯•(以root用户)\n" "modprobe snd-seq-midi\n" "ç„¶åŽé‡å¯ NtEd\n" "å¯èƒ½æœ‰æ‰€å¸®åŠ©(?)" #: resource.cpp:853 msgid "Error creating ALSA sequencer input port --> record won't work :-((" msgstr "创建 ALSA 音åºå™¨è¾“å…¥ç«¯å£æ—¶å‡ºé”™ --> 无法录制 :-((" #: dialogs/paperconfigdialog.cpp:37 dialogs/paperconfigdialog.cpp:41 msgid "Paper" msgstr "纸张" #: dialogs/paperconfigdialog.cpp:46 msgid "paper type" msgstr "纸张类型" #: dialogs/paperconfigdialog.cpp:81 msgid "orientation" msgstr "æ–¹å‘" #: dialogs/paperconfigdialog.cpp:82 msgid "portrait" msgstr "纵å‘" #: dialogs/paperconfigdialog.cpp:83 msgid "landscape" msgstr "横å‘" #: dialogs/portchoosedialog.cpp:46 msgid "MIDI ports" msgstr "MIDI 端å£" #: dialogs/portchoosedialog.cpp:60 dialogs/staffcontextdialog.cpp:321 #: dialogs/staffcontextdialog.cpp:437 dialogs/textdialog.cpp:200 #: dialogs/midirecordconfigdialog.cpp:133 dialogs/staffselectdialog.cpp:69 #: dialogs/drumconfigdialog.cpp:110 msgid "no" msgstr "åºå·" #: dialogs/portchoosedialog.cpp:62 msgid "port" msgstr "端å£" #: dialogs/portchoosedialog.cpp:78 msgid "midi echo" msgstr "midi 回声" #: dialogs/printconfigdialog.cpp:31 msgid "Print command" msgstr "打å°å‘½ä»¤" #: dialogs/printconfigdialog.cpp:35 msgid "print command" msgstr "打å°å‘½ä»¤" #: dialogs/staffcontextdialog.cpp:31 msgid "G flat Major; e flat minor" msgstr "é™G大调;é™eå°è°ƒ" #: dialogs/staffcontextdialog.cpp:31 msgid "D flat Major; b flat minor" msgstr "é™D大调;é™bå°è°ƒ" #: dialogs/staffcontextdialog.cpp:32 msgid "A flat Major; f minor" msgstr "é™A大调;få°è°ƒ" #: dialogs/staffcontextdialog.cpp:32 msgid "E flat Major; c minor" msgstr "é™E大调;cå°è°ƒ" #: dialogs/staffcontextdialog.cpp:33 msgid "B flat Major; g minor" msgstr "é™B大调;gå°è°ƒ" #: dialogs/staffcontextdialog.cpp:33 msgid "F Major; d minor" msgstr "F大调;då°è°ƒ" #: dialogs/staffcontextdialog.cpp:34 msgid "C Major; a minor" msgstr "C大调;aå°è°ƒ" #: dialogs/staffcontextdialog.cpp:34 msgid "G Major; e minor" msgstr "G大调;eå°è°ƒ" #: dialogs/staffcontextdialog.cpp:35 msgid "D Major; b minor" msgstr "D大调;bå°è°ƒ" #: dialogs/staffcontextdialog.cpp:35 msgid "A Major; f sharp minor" msgstr "A大调;å‡få°è°ƒ" #: dialogs/staffcontextdialog.cpp:36 msgid "E Major; c sharp minor" msgstr "E大调;å‡cå°è°ƒ" #: dialogs/staffcontextdialog.cpp:36 msgid "B Major; g sharp minor" msgstr "B大调;å‡gå°è°ƒ" #: dialogs/staffcontextdialog.cpp:37 msgid "F sharp Major; d sharp minor" msgstr "å‡F大调;å‡då°è°ƒ" #: dialogs/staffcontextdialog.cpp:120 msgid "Staff context" msgstr "ä¹è°±å†…容" #: dialogs/staffcontextdialog.cpp:132 dialogs/clefconfigdialog.cpp:49 msgid "clef" msgstr "è°±å·" #: dialogs/staffcontextdialog.cpp:157 dialogs/clefconfigdialog.cpp:74 msgid "Octave shift:" msgstr "八度移动:" #: dialogs/staffcontextdialog.cpp:163 dialogs/keysigdialog.cpp:66 #: dialogs/clefconfigdialog.cpp:81 msgid "adjust notes" msgstr "调整音符" #: dialogs/staffcontextdialog.cpp:200 dialogs/measureconfigdialog.cpp:110 #: dialogs/midirecordconfigdialog.cpp:70 msgid "time signature" msgstr "æ‹å·" #: dialogs/staffcontextdialog.cpp:204 dialogs/measureconfigdialog.cpp:114 #: dialogs/midirecordconfigdialog.cpp:74 msgid "Numerator:" msgstr "分å­ï¼š" #: dialogs/staffcontextdialog.cpp:205 dialogs/measureconfigdialog.cpp:115 #: dialogs/midirecordconfigdialog.cpp:75 msgid "Denominator:" msgstr "分æ¯ï¼š" #: dialogs/staffcontextdialog.cpp:248 msgid "staff name" msgstr "ä¹è°±åç§°" #: dialogs/staffcontextdialog.cpp:255 msgid "staff short name" msgstr "ä¹è°±ç®€ç§°" #: dialogs/staffcontextdialog.cpp:262 msgid "group name" msgstr "组å" #: dialogs/staffcontextdialog.cpp:269 msgid "group short name" msgstr "组简称" #: dialogs/staffcontextdialog.cpp:278 dialogs/tempodialog.cpp:154 #: dialogs/textdialog.cpp:138 dialogs/midirecordconfigdialog.cpp:147 msgid "tempo" msgstr "速度" #: dialogs/staffcontextdialog.cpp:283 msgid "chorus" msgstr "åˆå”±" #: dialogs/staffcontextdialog.cpp:289 msgid "transp." msgstr "音符移ä½" #: dialogs/staffcontextdialog.cpp:295 msgid "reverb" msgstr "æ··å“" #: dialogs/staffcontextdialog.cpp:301 dialogs/textdialog.cpp:123 #: dialogs/midirecordconfigdialog.cpp:153 msgid "volume" msgstr "音é‡" #: dialogs/staffcontextdialog.cpp:307 msgid "pan" msgstr "相ä½" #: dialogs/staffcontextdialog.cpp:323 dialogs/textdialog.cpp:202 #: dialogs/midirecordconfigdialog.cpp:135 msgid "instruments" msgstr "ä¹å™¨" #: dialogs/staffcontextdialog.cpp:332 dialogs/textdialog.cpp:150 msgid "channel" msgstr "声é“" #: dialogs/staffcontextdialog.cpp:337 dialogs/mutedialog.cpp:69 msgid "muting" msgstr "é™éŸ³" #: dialogs/staffcontextdialog.cpp:338 dialogs/staffcontextdialog.cpp:370 #: dialogs/mutedialog.cpp:72 dialogs/selectordialog.cpp:98 msgid "all" msgstr "全部" #: dialogs/staffcontextdialog.cpp:369 msgid "voices" msgstr "人声" #: dialogs/staffcontextdialog.cpp:429 dialogs/staffselectdialog.cpp:58 msgid "staff" msgstr "ä¹è°±" #: dialogs/staffcontextdialog.cpp:435 dialogs/staffselectdialog.cpp:67 msgid "item" msgstr "项目" #: dialogs/staffcontextdialog.cpp:485 msgid "Score" msgstr "ä¹è°±" #: dialogs/staffcontextdialog.cpp:486 msgid "MIDI" msgstr "MIDI" #: dialogs/staffcontextdialog.cpp:495 msgid "Staff position" msgstr "ä¹è°±ä½ç½®" #: dialogs/tupletdialog.cpp:34 msgid "Tuplet" msgstr "连音" #: dialogs/tupletdialog.cpp:40 msgid "" "Instead of using this dialog\n" "you can simply press + num" msgstr "" "使用 + num\n" "å–æ¶ˆæ˜¾ç¤ºæ­¤å¯¹è¯æ¡†" #: dialogs/tupletdialog.cpp:42 msgid "Tuplet value:" msgstr "连音值:" #: dialogs/tupletdialog.cpp:47 msgid "method 2" msgstr "方法 2" #: dialogs/insertblockdialog.cpp:32 msgid "Insert blocks" msgstr "æ’å…¥å°èŠ‚" #: dialogs/insertblockdialog.cpp:39 msgid "block count:" msgstr "å°èŠ‚æ•°" #: dialogs/measureconfigdialog.cpp:53 msgid "Measure type" msgstr "å°èŠ‚çº¿ç±»åž‹" #: dialogs/measureconfigdialog.cpp:62 msgid "measure type" msgstr "å°èŠ‚çº¿ç±»åž‹" #: dialogs/measureconfigdialog.cpp:89 msgid "alternative 1" msgstr "第1段" #: dialogs/measureconfigdialog.cpp:90 msgid "alternative 2" msgstr "第2段" #: dialogs/measureconfigdialog.cpp:99 msgid "hide following" msgstr "éšè—åŽé¢çš„å°èŠ‚" #: dialogs/measureconfigdialog.cpp:158 msgid "enable timesig" msgstr "显示æ‹å·" #: dialogs/measureconfigdialog.cpp:160 msgid "delete timesig" msgstr "éšè—æ‹å·" #: dialogs/keysigdialog.cpp:37 msgid "New keysignature" msgstr "æ–°è°ƒå·" #: dialogs/keysigdialog.cpp:64 msgid "adjust" msgstr "调整" #: dialogs/scoreinfodialog.cpp:71 dialogs/scoreinfodialog.cpp:75 msgid "Score info" msgstr "ä¹è°±ä¿¡æ¯" #: dialogs/scoreinfodialog.cpp:79 msgid "Title:" msgstr "标题:" #: dialogs/scoreinfodialog.cpp:87 msgid "Subject:" msgstr "å称:" #: dialogs/scoreinfodialog.cpp:95 msgid "Composer:" msgstr "作曲:" #: dialogs/scoreinfodialog.cpp:103 msgid "Arranger:" msgstr "编曲:" #: dialogs/scoreinfodialog.cpp:111 msgid "Copyright:" msgstr "版æƒï¼š" #: dialogs/clefconfigdialog.cpp:44 msgid "Clef configuration" msgstr "设置谱å·" #: dialogs/volumedialog.cpp:32 msgid "Set Volume" msgstr "设置音é‡" #: dialogs/volumedialog.cpp:44 msgid "volume:" msgstr "å·ï¼š" #: dialogs/tempodialog.cpp:56 msgid "Set Tempo" msgstr "设置速度" #: dialogs/tempodialog.cpp:128 msgid "kind" msgstr "音符类型" #: dialogs/tempodialog.cpp:150 msgid "tempo:" msgstr "速度:" #: dialogs/lyricseditor.cpp:67 msgid "Lyrics" msgstr "æ­Œè¯" #: dialogs/lyricseditor.cpp:85 msgid "lyrics 1" msgstr "æ­Œè¯ 1" #: dialogs/lyricseditor.cpp:86 msgid "lyrics 2" msgstr "æ­Œè¯ 2" #: dialogs/lyricseditor.cpp:87 msgid "lyrics 3" msgstr "æ­Œè¯ 3" #: dialogs/lyricseditor.cpp:88 msgid "lyrics 4" msgstr "æ­Œè¯ 4" #: dialogs/lyricseditor.cpp:89 msgid "lyrics 5" msgstr "æ­Œè¯ 5" #: dialogs/lyricseditor.cpp:135 dialogs/drumconfigdialog.cpp:230 msgid "load from file" msgstr "从文件载入" #: dialogs/lyricseditor.cpp:136 dialogs/drumconfigdialog.cpp:231 msgid "save to file" msgstr "ä¿å­˜åˆ°æ–‡ä»¶" #: dialogs/lyricseditor.cpp:143 dialogs/drumconfigdialog.cpp:247 msgid "file" msgstr "文件" #: dialogs/lyricseditor.cpp:292 msgid "Save lyrics" msgstr "ä¿å­˜æ­Œè¯" #: dialogs/lyricseditor.cpp:392 msgid "Open lyrics file" msgstr "æ‰“å¼€æ­Œè¯æ–‡ä»¶" #: dialogs/mutedialog.cpp:34 msgid "Muting" msgstr "é™éŸ³" #: dialogs/mutedialog.cpp:55 dialogs/selectordialog.cpp:61 #, c-format msgid "Staff %d" msgstr "ä¹è°± %d" #: dialogs/mutedialog.cpp:74 dialogs/selectordialog.cpp:100 msgid "none" msgstr "没有" #: dialogs/linesdialog.cpp:40 msgid "Lines" msgstr "" #: dialogs/linesdialog.cpp:46 msgid "lines" msgstr "" #: dialogs/selectordialog.cpp:35 msgid "Transpose" msgstr "转调" #: dialogs/selectordialog.cpp:39 msgid "Select" msgstr "选择" #: dialogs/selectordialog.cpp:73 msgid "half-tones" msgstr "åŠéŸ³" #: dialogs/selectordialog.cpp:76 dialogs/selectordialog.cpp:95 #: chords/chorddialog.cpp:159 msgid "selection" msgstr "选择" #: dialogs/selectordialog.cpp:87 msgid "use selection" msgstr "使用选择" #: dialogs/textdialog.cpp:69 msgid "Text" msgstr "文本" #: dialogs/textdialog.cpp:89 chords/chorddialog.cpp:111 msgid "text" msgstr "文本" #: dialogs/textdialog.cpp:98 msgid "select font" msgstr "选择字体" #: dialogs/textdialog.cpp:105 msgid "anchor" msgstr "文字ä½ç½®" #: dialogs/textdialog.cpp:108 msgid "left" msgstr "å·¦" #: dialogs/textdialog.cpp:109 msgid "mid" msgstr "中" #: dialogs/textdialog.cpp:110 msgid "right" msgstr "å³" #: dialogs/textdialog.cpp:130 msgid "enable volume change" msgstr "å¯ç”¨éŸ³é‡å˜æ›´" #: dialogs/textdialog.cpp:143 msgid "enable tempo change" msgstr "å¯ç”¨é€Ÿåº¦å˜æ›´" #: dialogs/textdialog.cpp:155 msgid "enable channel change" msgstr "å¯ç”¨å£°é“å˜æ›´" #: dialogs/textdialog.cpp:162 msgid "D.S" msgstr "D.S" #: dialogs/textdialog.cpp:165 msgid "No segno meaning" msgstr "æ— å夿„义" #: dialogs/textdialog.cpp:166 msgid "D.S. al Fine" msgstr "D.S. al Fine" #: dialogs/textdialog.cpp:167 msgid "D.S. al Coda" msgstr "D.S. al Coda" #: dialogs/textdialog.cpp:168 msgid "D. Capo al Fine" msgstr "D. Capo al Fine" #: dialogs/textdialog.cpp:169 msgid "D. Capo al Coda" msgstr "D. Capo al Coda" #: dialogs/textdialog.cpp:170 msgid "Fine" msgstr "Fine" #: dialogs/textdialog.cpp:171 msgid "al Coda" msgstr "al Coda" #: dialogs/textdialog.cpp:219 msgid "instrument" msgstr "ä¹å™¨" #: dialogs/textdialog.cpp:220 msgid "enable instrument change" msgstr "å¯ç”¨ä¹å™¨å˜æ›´" #: dialogs/signsdialog.cpp:44 msgid "Signs" msgstr "è®°å·" #: dialogs/signsdialog.cpp:50 msgid "signs" msgstr "è®°å·" #: dialogs/midiimportdialog.cpp:43 msgid "MIDI import" msgstr "MIDI 导入" #: dialogs/midiimportdialog.cpp:70 dialogs/midirecordconfigdialog.cpp:103 msgid "triplet recognition" msgstr "三连音识别" #: dialogs/midiimportdialog.cpp:72 msgid "sort instruments" msgstr "分类ä¹å™¨" #: dialogs/midiimportdialog.cpp:73 dialogs/midirecordconfigdialog.cpp:105 msgid "force piano" msgstr "强制使用钢ç´è°±" #: dialogs/midiimportdialog.cpp:74 dialogs/midirecordconfigdialog.cpp:107 msgid "don't split tracks" msgstr "ä¸åˆ†å‰²éŸ³è½¨" #: dialogs/midiimportdialog.cpp:83 msgid "tempo density" msgstr "节æ‹å¯†åº¦" #: dialogs/midiimportdialog.cpp:89 msgid "volume density" msgstr "音é‡å¯†åº¦" #: dialogs/midirecordconfigdialog.cpp:65 msgid "Config Record" msgstr "录音设置" #: dialogs/lilypondexportdialog.cpp:63 msgid "export params" msgstr "导出选项" #: dialogs/lilypondexportdialog.cpp:66 msgid "create line breaks" msgstr "" #: dialogs/lilypondexportdialog.cpp:74 msgid "keep beams" msgstr "ä¿ç•™ç¬¦å°¾" #: dialogs/lilypondexportdialog.cpp:172 msgid "Staff selection" msgstr "ä¹è°±é€‰æ‹©" #: dialogs/lilypondexportdialog.cpp:181 msgid "keep beams selection" msgstr "ä¿ç•™ç¬¦å°¾" #: dialogs/staffselectdialog.cpp:76 msgid "All" msgstr "全部" #: dialogs/staffselectdialog.cpp:79 msgid "None" msgstr "æ— " #: dialogs/spacementdialog.cpp:34 msgid "Horizontal Spacement" msgstr "水平间è·" #: dialogs/spacementdialog.cpp:40 msgid "Spacement" msgstr "é—´è·" #: dialogs/scaledialog.cpp:35 dialogs/scaledialog.cpp:40 msgid "Scale" msgstr "比例" #: dialogs/drumconfigdialog.cpp:90 msgid "Config Drums" msgstr "鼓设置" #: dialogs/drumconfigdialog.cpp:112 msgid "drum element name" msgstr "鼓åç§°" #: dialogs/drumconfigdialog.cpp:114 msgid "short name" msgstr "缩写" #: dialogs/drumconfigdialog.cpp:116 msgid "line" msgstr "" #: dialogs/drumconfigdialog.cpp:119 msgid "symbol" msgstr "è®°å·" #: dialogs/drumconfigdialog.cpp:121 msgid "midi pitch" msgstr "midi 音高" #: dialogs/drumconfigdialog.cpp:192 msgid "change element" msgstr "更改样å¼" #: dialogs/drumconfigdialog.cpp:197 msgid "note head" msgstr "符头" #: dialogs/drumconfigdialog.cpp:223 msgid "preview" msgstr "预览" #: dialogs/drumconfigdialog.cpp:232 msgid "load defaults" msgstr "载入默认设置" #: dialogs/drumconfigdialog.cpp:233 msgid "play element" msgstr "播放内容" #: dialogs/drumconfigdialog.cpp:446 msgid "Save drum configuration" msgstr "ä¿å­˜é¼“设置" #: dialogs/drumconfigdialog.cpp:537 msgid "Open drum configuration" msgstr "打开鼓设置" #: dialogs/chordnamedialog.cpp:50 dialogs/chordnamedialog.cpp:54 msgid "Chordname" msgstr "和弦åç§°" #: dialogs/chordnamedialog.cpp:61 msgid "chordname" msgstr "和弦åç§°" #: dialogs/chordnamedialog.cpp:80 msgid "size" msgstr "大å°" #: dialogs/chordnamedialog.cpp:84 msgid "position" msgstr "ä½ç½®" #: dialogs/tools.cpp:372 dialogs/tools.cpp:392 msgid "Toolbox" msgstr "工具" #: chords/chorddialog.cpp:95 msgid "Chords" msgstr "和弦" #: chords/chorddialog.cpp:99 msgid "chord" msgstr "和弦" #: chords/chorddialog.cpp:109 msgid "config" msgstr "设置" #: chords/chorddialog.cpp:112 msgid "diagram" msgstr "和弦图" #: chords/chorddialog.cpp:133 msgid "root" msgstr "根音" #: chords/chorddialog.cpp:150 msgid "mody" msgstr "类型" #: chords/chorddialog.cpp:169 msgid "chordselect" msgstr "选择和弦" nted-1.10.18/po/hu.gmo0000664001041000007640000002246211520270236011276 00000000000000Þ•²¬ï< øù &1 :E\rz €• ›¦<·ô…*3°äì òý $);CT o |‰  ¶ ÀÊ Ð Û çô%6#Sw } ž«¼× Þè íù   )16> CN V cpt }ˆ • Ÿ « ¶ ÂÐØà è ö $ ,6T Zh q  š§ ¶ ÂÍÖ Üçð ö   $ , 9 F Tbr ‚ Œ–ž®·¿ Ä Òà ü  '8 JTew}…‹“ ™ § µÂÊÏß÷.ET g t€… ‰ “  ©³ ¶ ÂÍÞ"ã   "-BHWrÈyBT e s ‹¬±ºÊÑ ÙãNòAaÀO@ 𢠫µÍ ÔÞ ÷"2;M ^ j v € Š –¡¹ÉØçü# CP_s yƒ Š”¯ ÃÏ×Üã èô ü  " ,9>GVhz‘¡ª³ ¼ÉÒ Ù æ ð ú * B M ^ f u ‹ — ¨ Á Ð ß õ û !!!'!0! C!Q!Z!k!|!!ž!°!Â! Ó!á!é!ø!" " ""!)"K"T"\" d"p"u"ˆ"™"¡"µ" Ì"Ú"â" é"õ" ü" # #!#*#0#E#e#z#•#¦#½#Ò#ì# þ# $ $$ #$0$8$G$M$T$c$ {$,‡$´$¹$Á$Ó$å$þ$ %%)%$p3!›?=zN0vjC„ ;9ƒ™*£¨]J`†#(\wª•Ž‹K­' e±g^o—Zš,-‚TxP_WX[)}cB%«“LDb’m>ˆžU2–”OaGM¢nQ:{¥5 Ÿ®&t©uq ЧŒ²4@<Vfl¡H‰~¬d…Y8hy6rSEs¤.‘iAR|kI˜ œF +7€ "1¯‡/¦°A Major; f sharp minorA flat Major; f minorAbout NtEdAlto SaxAtmosphereB Major; g sharp minorB flat Major; g minorBagpipeBanjoBaritone SaxBassoonBrassBrightnessC Major; a minorCannot list midi ports because could not open ALSA sequencerCannot open %s for readingCannot open %s for writingCannot open ALSA MIDI sequencer --> replay won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot replay because could not open ALSA sequencerCelestaCelloChoir AahsClarinetConfigure Paper...ContrabassCopyCreate PostscriptCrystalD Major; b minorD flat Major; b flat minorDelete blockDenominator:E Major; c sharp minorE flat Major; c minorE.Piano 1E.Piano 2E_xitEcho DropsEmpty blockEnglish HornExit the programExport MIDI ...Export P_S ...F Major; d minorF sharp Major; d sharp minorFile %s already exists. Overwrite ?FluteFont selection - Measure numbersFrench HornsG Major; e minorG flat Major; e flat minorGoblinHarmonicaHarpHarpsichordIce RainInsert blockInsert blocksJazz GuitarKalimbaKotoLicenseMIDIMIDI portsMarimbaMeasure typeMute TrumpetNewNew FileNumerator:OboeOcarinaOpen ...Open a fileOpen scoreOpen_RecentOrchestra HitOrgan 1Organ 2Organ 3Page Mode - pPan FlutePaperPastePiano 1Piano 2Piano 3PiccoloPizzicatoPlease select a note or rest!PrintPrint commandRecorderRedo Ctrl + yRemove last pageSave ...Save As ...Save Changes ?Save a fileSave scoreSaw WaveScoreShakuhachiShamisenSitarSoprano SaxSoundtrackSquare WaveStar ThemeStringsSynth Bass 1Synth Bass 2Synth Brass 1Synth Brass 2Synth Strings 1Synth Strings 2Synth VoxTenor SaxTimpaniTremolo StringsTromboneTrumpetTubaTubular BellsUndo Ctrl + zUsage: %s [.ntd] VibraphoneViolaViolinVoice OohsWhistleWrite PostScriptWrite a png imageXylophoneZoom in Ctrl + +Zoom out Ctrl + -_Edit_Export_File_Insert_Viewalternative 1alternative 2block count:channelclefconfigure paperconfigure print commandcopy - Ctrl + Cdelete block - Ctrl + Xdelete timesigempty block - Ctrl + Eenable timesigexport a midi fileinsert blockinstrumentsitemkeylandscapemeasure typemethod 2midi echonoorientationpaper typepaste - Ctrl + Vplayplease select a note or rest firstportportraitprint commandprint fileremove the last pagetempotime signaturevoices in different colorsvolumeProject-Id-Version: NtEd Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de POT-Creation-Date: 2011-01-27 14:18+0100 PO-Revision-Date: 2007-12-03 22:00+0100 Last-Translator: SZERVÃC Attila Language-Team: Hungarian Language: hu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural>1; X-Poedit-Language: Hungarian X-Poedit-Country: HUNGARY A dúr; fisz mollAsz dúr; f mollNtEd névjegyAltszaxofonAtmoszféraH dúr; gisz mollB dúr; g mollDudaBendzsóBaritonszaxofonFagottRezesekRagyogásC dúr; a mollA midi portok nem listázhatók, mert nem tudta megnyitni az ALSA szekvenszert%s nem nyitható meg olvasásra%s nem nyitható meg írásraNem tudom megnyitni az ALSA MIDI szekvenszert --> a lejátszás nem működik :-(( Próbáld ezt (mint root) modprobe snd-seq-midi és indítsd újra az NtEd programot Lehet, hogy ez segít(?)A lejátszás nem sikerült, mert nem sikerült megnyitni az ALSA szekvenszert.CselesztaCsellóKórus AKlarinétPapír beállítása...BÅ‘gÅ‘MásolásPostscript létrehozásaKristályD dúr; h mollDesz dúr; b mollBlokk törléseNevezÅ‘:E dúr; cisz mollEsz dúr; c mollE.Zongora 1E.Zongora 2KilépésVisszhangÜres blokkAngolkürtKilépés a programbólMIDI export ...P_S export ...F dúr; d mollFisz moll; disz moll%s fájl létezik. Felülírod?FuvolaBetűválasztás - ütemszámokFranciakürtG dúr; e mollGesz dúr; esz mollManóHarmonikaHárfaCsembalóJégesÅ‘Blokk beszúrásaBlokkok beszúrásaJazz GitárKalimbaKotoLicencMIDIMIDI portokMarimbaÜtem típusSzordinált trombitaÚjÚj fájlSzámláló:OboaOkarínaMegnyitás ...Fájl megnyitásaKotta megnyitásaLegutóbbi megnyitásaZenekari ütésOrgona 1Orgona 2Orgona 3Lap mód - pPánsípPapírBeillesztésZongora 1Zongora 2Zongora 3PikkolóPizzicatoVálassz egy hangjegyet vagy szünetjelet!NyomtatásNyomató parancsFurulyaÚjra Ctrl + yUtolsó lap törléseMentés ...Mentés mint ...Mented a változásokat?Fájl mentéseKotta mentéseFűrészfogú hullámKottaSakuhacsiSamiszenSzitárSzopránszaxofonHangsávNégyzetes hullámCsillag témaVonósokSzinti Basszus 1Szinti Basszus 2Szinti rezesek 1Szinti rezesek 2Szinti vonósok 1Szinti vonósok 2Szinti énekhangTenorszaxofonÜstdobVonóstremolóHarsonaTrombitaTubaCsÅ‘harangVissza Ctrl + zHasználat: %s [.ntd] VibrafonBrácsaHegedűÉnekhang OSípPostScript írásaPNG kép írásaXilofonNagyítás Ctrl + +Kicsinyítés Ctrl + -Sz_erkesztés_Export_FájlBe_szúrásNézet1. variáns2. variánsblokk szám:csatornakulcspapír beállításanyomtató parancs beállításamásolás - Ctrl + Cblokk törlése - Ctrl + Xmetrum törléseüres blokk - Ctrl + Emetrum bekapcsolásaexportálás midi fájlbablokk beszúrásahangszerekelemmódosítótájképütem típus2. módmidi visszhangnincsiránypapír típusabeillesztés - Ctrl + VlejátszáselÅ‘ször válassz egy hangot vagy szünetetportportrényomtató parancsfájl nyomtatásaaz utolsó lap törlésetempóütemmutatómás színű szólamokhangerÅ‘nted-1.10.18/po/nted.pot0000664001041000007640000010433511520270235011633 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Joerg Anders # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: nted 1.10.18\n" "Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de\n" "POT-Creation-Date: 2011-01-27 14:18+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: mainwindow.cpp:310 msgid "_File" msgstr "" #: mainwindow.cpp:311 msgid "Open_Recent" msgstr "" #: mainwindow.cpp:312 msgid "_Export" msgstr "" #: mainwindow.cpp:313 msgid "_View" msgstr "" #: mainwindow.cpp:314 msgid "_Edit" msgstr "" #: mainwindow.cpp:315 msgid "_Tools" msgstr "" #: mainwindow.cpp:316 msgid "_System layout ..." msgstr "" #: mainwindow.cpp:317 msgid "_Insert" msgstr "" #: mainwindow.cpp:318 msgid "_Upbeat ..." msgstr "" #: mainwindow.cpp:319 msgid "_Preferences ..." msgstr "" #: mainwindow.cpp:320 msgid "_Dynamics ..." msgstr "" #: mainwindow.cpp:321 msgid "_Lyrics" msgstr "" #: mainwindow.cpp:322 msgid "_Help" msgstr "" #: mainwindow.cpp:323 msgid "Configure MIDI out..." msgstr "" #: mainwindow.cpp:323 msgid "configure MIDI output" msgstr "" #: mainwindow.cpp:324 msgid "Configure MIDI in..." msgstr "" #: mainwindow.cpp:324 msgid "configure MIDI input" msgstr "" #: mainwindow.cpp:325 msgid "Configure Paper..." msgstr "" #: mainwindow.cpp:325 msgid "configure paper" msgstr "" #: mainwindow.cpp:326 msgid "Configure Print..." msgstr "" #: mainwindow.cpp:326 msgid "configure print command" msgstr "" #: mainwindow.cpp:327 msgid "New" msgstr "" #: mainwindow.cpp:327 msgid "New File" msgstr "" #: mainwindow.cpp:328 msgid "Open ..." msgstr "" #: mainwindow.cpp:328 msgid "Open a file" msgstr "" #: mainwindow.cpp:329 msgid "Save ..." msgstr "" #: mainwindow.cpp:329 mainwindow.cpp:330 msgid "Save a file" msgstr "" #: mainwindow.cpp:330 msgid "Save As ..." msgstr "" #: mainwindow.cpp:331 msgid "Print" msgstr "" #: mainwindow.cpp:331 msgid "print file" msgstr "" #: mainwindow.cpp:332 msgid "Import MusicXML ..." msgstr "" #: mainwindow.cpp:332 msgid "import a musicxml file" msgstr "" #: mainwindow.cpp:333 msgid "Import MIDI..." msgstr "" #: mainwindow.cpp:333 msgid "import a midi file" msgstr "" #: mainwindow.cpp:334 msgid "Import MIDI(2)..." msgstr "" #: mainwindow.cpp:334 msgid "import a midi file(2)" msgstr "" #: mainwindow.cpp:335 msgid "Copy" msgstr "" #: mainwindow.cpp:335 msgid "copy - Ctrl + C" msgstr "" #: mainwindow.cpp:336 msgid "Paste" msgstr "" #: mainwindow.cpp:336 msgid "paste - Ctrl + V" msgstr "" #: mainwindow.cpp:337 msgid "Delete block" msgstr "" #: mainwindow.cpp:337 msgid "delete block - Ctrl + X" msgstr "" #: mainwindow.cpp:338 msgid "append a system at end" msgstr "" #: mainwindow.cpp:338 msgid "append system - Ctrl + B" msgstr "" #: mainwindow.cpp:339 msgid "Insert block" msgstr "" #: mainwindow.cpp:339 msgid "insert block" msgstr "" #: mainwindow.cpp:340 msgid "Insert clef ..." msgstr "" #: mainwindow.cpp:340 msgid "insert a clef" msgstr "" #: mainwindow.cpp:341 msgid "Empty block" msgstr "" #: mainwindow.cpp:341 msgid "empty block - Ctrl + E" msgstr "" #: mainwindow.cpp:342 msgid "reposit all" msgstr "" #: mainwindow.cpp:342 msgid "reposit the whole score - Ctrl + T" msgstr "" #: mainwindow.cpp:343 msgid "Export MIDI ..." msgstr "" #: mainwindow.cpp:343 msgid "export a midi file" msgstr "" #: mainwindow.cpp:344 msgid "Export LilyPond ..." msgstr "" #: mainwindow.cpp:344 dialogs/lilypondexportdialog.cpp:44 msgid "LilyPond export" msgstr "" #: mainwindow.cpp:346 msgid "Export PDF ..." msgstr "" #: mainwindow.cpp:346 msgid "export PDF" msgstr "" #: mainwindow.cpp:348 msgid "Export P_NG ..." msgstr "" #: mainwindow.cpp:348 msgid "Write a png image" msgstr "" #: mainwindow.cpp:350 msgid "Export S_VG ..." msgstr "" #: mainwindow.cpp:350 msgid "Write an svg image" msgstr "" #: mainwindow.cpp:352 msgid "Export P_S ..." msgstr "" #: mainwindow.cpp:352 msgid "Write PostScript" msgstr "" #: mainwindow.cpp:353 msgid "New Window" msgstr "" #: mainwindow.cpp:353 msgid "Open a new window" msgstr "" #: mainwindow.cpp:354 msgid "Excerpt ..." msgstr "" #: mainwindow.cpp:354 msgid "Make an excerpt of the score" msgstr "" #: mainwindow.cpp:355 msgid "Close Window" msgstr "" #: mainwindow.cpp:355 msgid "Close current window" msgstr "" #: mainwindow.cpp:358 msgid "Remove last page" msgstr "" #: mainwindow.cpp:358 msgid "remove the last page" msgstr "" #: mainwindow.cpp:359 msgid "Remove empty pages" msgstr "" #: mainwindow.cpp:359 msgid "remove empty pages at end" msgstr "" #: mainwindow.cpp:360 msgid "Change spacement ..." msgstr "" #: mainwindow.cpp:360 msgid "change the horizontal spacement" msgstr "" #: mainwindow.cpp:361 msgid "Change Scale ..." msgstr "" #: mainwindow.cpp:361 msgid "change scale" msgstr "" #: mainwindow.cpp:362 msgid "Configure Record ..." msgstr "" #: mainwindow.cpp:362 msgid "configure record" msgstr "" #: mainwindow.cpp:363 msgid "Configure Drums ..." msgstr "" #: mainwindow.cpp:363 msgid "configure drums" msgstr "" #: mainwindow.cpp:364 msgid "Tools ..." msgstr "" #: mainwindow.cpp:364 msgid "Tools " msgstr "" #: mainwindow.cpp:365 msgid "give first measure" msgstr "" #: mainwindow.cpp:365 msgid "set upbeat by giving the start of first full measure" msgstr "" #: mainwindow.cpp:366 msgid "give start" msgstr "" #: mainwindow.cpp:366 msgid "set upbeat by giving the start of the score" msgstr "" #: mainwindow.cpp:367 msgid "Score info ..." msgstr "" #: mainwindow.cpp:367 msgid "edit score info" msgstr "" #: mainwindow.cpp:368 msgid "Insert keysig ... " msgstr "" #: mainwindow.cpp:368 msgid "insert a key signature" msgstr "" #: mainwindow.cpp:369 msgid "Insert lines ... " msgstr "" #: mainwindow.cpp:369 msgid "insert a horizontal line" msgstr "" #: mainwindow.cpp:370 msgid "Insert sign ... " msgstr "" #: mainwindow.cpp:370 msgid "insert a free placeable sign" msgstr "" #: mainwindow.cpp:371 msgid "Slur" msgstr "" #: mainwindow.cpp:371 msgid "insert a slur - Ctrl+H" msgstr "" #: mainwindow.cpp:372 msgid "chord ..." msgstr "" #: mainwindow.cpp:372 msgid "insert a chord" msgstr "" #: mainwindow.cpp:373 msgid "chordname ..." msgstr "" #: mainwindow.cpp:373 msgid "insert a chordname" msgstr "" #: mainwindow.cpp:374 msgid "spacer" msgstr "" #: mainwindow.cpp:374 msgid "insert a staff spacer" msgstr "" #: mainwindow.cpp:375 msgid "Append staff" msgstr "" #: mainwindow.cpp:375 msgid "append a new staff" msgstr "" #: mainwindow.cpp:376 msgid "Import recorded" msgstr "" #: mainwindow.cpp:376 msgid "import recorded staff" msgstr "" #: mainwindow.cpp:377 msgid "Lyrics editor ..." msgstr "" #: mainwindow.cpp:377 msgid "edit lyrics in text editor" msgstr "" #: mainwindow.cpp:378 msgid "ppp" msgstr "" #: mainwindow.cpp:378 msgid "insert ppp" msgstr "" #: mainwindow.cpp:379 msgid "pp" msgstr "" #: mainwindow.cpp:379 msgid "insert pp" msgstr "" #: mainwindow.cpp:380 msgid "p" msgstr "" #: mainwindow.cpp:380 msgid "insert p" msgstr "" #: mainwindow.cpp:381 msgid "mp" msgstr "" #: mainwindow.cpp:381 msgid "insert mp" msgstr "" #: mainwindow.cpp:382 msgid "sp" msgstr "" #: mainwindow.cpp:382 msgid "insert sp" msgstr "" #: mainwindow.cpp:383 msgid "mf" msgstr "" #: mainwindow.cpp:383 msgid "insert mf" msgstr "" #: mainwindow.cpp:384 msgid "sf" msgstr "" #: mainwindow.cpp:384 msgid "insert sf" msgstr "" #: mainwindow.cpp:385 msgid "f" msgstr "" #: mainwindow.cpp:385 msgid "insert f" msgstr "" #: mainwindow.cpp:386 msgid "ff" msgstr "" #: mainwindow.cpp:386 msgid "insert ff" msgstr "" #: mainwindow.cpp:387 msgid "fff" msgstr "" #: mainwindow.cpp:387 msgid "insert fff" msgstr "" #: mainwindow.cpp:388 msgid "tempo ..." msgstr "" #: mainwindow.cpp:388 msgid "insert tempo" msgstr "" #: mainwindow.cpp:389 msgid "Text ..." msgstr "" #: mainwindow.cpp:389 msgid "insert text" msgstr "" #: mainwindow.cpp:390 msgid "accelerando" msgstr "" #: mainwindow.cpp:390 msgid "insert accelerando" msgstr "" #: mainwindow.cpp:391 msgid "ritardando" msgstr "" #: mainwindow.cpp:391 msgid "insert ritardando" msgstr "" #: mainwindow.cpp:392 msgid "lyrics1" msgstr "" #: mainwindow.cpp:392 msgid "insert lyrics at line 1" msgstr "" #: mainwindow.cpp:393 msgid "lyrics2" msgstr "" #: mainwindow.cpp:393 msgid "insert lyrics at line 2" msgstr "" #: mainwindow.cpp:394 msgid "lyrics3" msgstr "" #: mainwindow.cpp:394 msgid "insert lyrics at line 3" msgstr "" #: mainwindow.cpp:395 msgid "lyrics4" msgstr "" #: mainwindow.cpp:395 msgid "insert lyrics at line 4" msgstr "" #: mainwindow.cpp:396 msgid "lyrics5" msgstr "" #: mainwindow.cpp:396 msgid "insert lyrics at line 5" msgstr "" #: mainwindow.cpp:397 msgid "Insert tuplet ..." msgstr "" #: mainwindow.cpp:397 msgid "insert a tuplet (Ctrl + num)" msgstr "" #: mainwindow.cpp:398 msgid "brace" msgstr "" #: mainwindow.cpp:398 msgid "group staves by means of a brace" msgstr "" #: mainwindow.cpp:399 msgid "bracket" msgstr "" #: mainwindow.cpp:399 msgid "group staves by means of a bracket" msgstr "" #: mainwindow.cpp:400 msgid "connect barlines" msgstr "" #: mainwindow.cpp:400 msgid "set connected bar lines" msgstr "" #: mainwindow.cpp:401 msgid "remove group" msgstr "" #: mainwindow.cpp:401 msgid "remove a group of connected staves" msgstr "" #: mainwindow.cpp:402 msgid "Remove tuplet" msgstr "" #: mainwindow.cpp:402 msgid "remove a tuplet" msgstr "" #: mainwindow.cpp:403 msgid "Muting ..." msgstr "" #: mainwindow.cpp:403 msgid "mute some staves" msgstr "" #: mainwindow.cpp:404 msgid "Transpose ..." msgstr "" #: mainwindow.cpp:404 msgid "transpose" msgstr "" #: mainwindow.cpp:405 msgid "hide rests" msgstr "" #: mainwindow.cpp:405 msgid "hide (selected) rests" msgstr "" #: mainwindow.cpp:406 msgid "unhide rests" msgstr "" #: mainwindow.cpp:406 msgid "unhide (selected) rests" msgstr "" #: mainwindow.cpp:407 msgid "hide rests (all v.)" msgstr "" #: mainwindow.cpp:407 msgid "hide selected rests (all v.)" msgstr "" #: mainwindow.cpp:408 msgid "unhide rests (all v.)" msgstr "" #: mainwindow.cpp:408 msgid "unhide selected rests (all v.)" msgstr "" #: mainwindow.cpp:409 msgid "set all to sharp ..." msgstr "" #: mainwindow.cpp:409 msgid "set all flats to sharp" msgstr "" #: mainwindow.cpp:410 msgid "set all to flat ..." msgstr "" #: mainwindow.cpp:410 msgid "set all sharps to flat" msgstr "" #: mainwindow.cpp:411 msgid "About NtEd" msgstr "" #: mainwindow.cpp:413 msgid "Documentation ..." msgstr "" #: mainwindow.cpp:415 msgid "License" msgstr "" #: mainwindow.cpp:416 msgid "E_xit" msgstr "" #: mainwindow.cpp:416 msgid "Exit the program" msgstr "" #: mainwindow.cpp:420 msgid "play" msgstr "" #: mainwindow.cpp:421 msgid "voices in different colors" msgstr "" #: mainwindow.cpp:422 msgid "show measure numbers" msgstr "" #: mainwindow.cpp:423 msgid "show hidden elements" msgstr "" #: mainwindow.cpp:424 msgid "midi input" msgstr "" #: mainwindow.cpp:425 msgid "record midi" msgstr "" #: mainwindow.cpp:425 msgid "record midi - i" msgstr "" #: mainwindow.cpp:429 msgid "in" msgstr "" #: mainwindow.cpp:429 msgid "Zoom in Ctrl + +" msgstr "" #: mainwindow.cpp:430 msgid "out" msgstr "" #: mainwindow.cpp:430 msgid "Zoom out Ctrl + -" msgstr "" #: mainwindow.cpp:431 msgid "undo" msgstr "" #: mainwindow.cpp:431 msgid "Undo Ctrl + z" msgstr "" #: mainwindow.cpp:432 msgid "redo" msgstr "" #: mainwindow.cpp:432 msgid "Redo Ctrl + y" msgstr "" #: mainwindow.cpp:433 msgid "customize beam" msgstr "" #: mainwindow.cpp:433 msgid "customize beam - Ctrl + j" msgstr "" #: mainwindow.cpp:434 msgid "flip stem" msgstr "" #: mainwindow.cpp:434 msgid "flip stem - Ctrl + f" msgstr "" #: mainwindow.cpp:438 msgid "insert" msgstr "" #: mainwindow.cpp:438 msgid "Toggle Insert/Erase Mode - n" msgstr "" #: mainwindow.cpp:442 msgid "page" msgstr "" #: mainwindow.cpp:442 msgid "Page Mode - p" msgstr "" #: mainwindow.cpp:443 dialogs/staffcontextdialog.cpp:177 #: dialogs/keysigdialog.cpp:42 dialogs/midirecordconfigdialog.cpp:160 msgid "key" msgstr "" #: mainwindow.cpp:443 msgid "Keyboard insert mode - k" msgstr "" #: mainwindow.cpp:1625 msgid "Cannot replay because could not open ALSA sequencer" msgstr "" #: mainwindow.cpp:2776 mainwindow.cpp:5110 mainwindow.cpp:5156 #: mainwindow.cpp:6090 mainwindow.cpp:6180 mainwindow.cpp:6937 #: mainwindow.cpp:9584 msgid "Save Changes ?" msgstr "" #: mainwindow.cpp:2894 mainwindow.cpp:2995 mainwindow.cpp:3576 #: mainwindow.cpp:3696 mainwindow.cpp:9035 mainwindow.cpp:9147 #: mainwindow.cpp:9271 mainwindow.cpp:9360 dialogs/lyricseditor.cpp:350 #: dialogs/drumconfigdialog.cpp:493 #, c-format msgid "Cannot open %s for writing" msgstr "" #: mainwindow.cpp:2905 mainwindow.cpp:3009 #, c-format msgid "Cannot rename %s to %s" msgstr "" #: mainwindow.cpp:2940 msgid "Save score" msgstr "" #: mainwindow.cpp:2982 mainwindow.cpp:3564 mainwindow.cpp:3684 #: mainwindow.cpp:8995 mainwindow.cpp:9135 mainwindow.cpp:9259 #: mainwindow.cpp:9348 dialogs/lyricseditor.cpp:336 #: dialogs/drumconfigdialog.cpp:479 #, c-format msgid "File %s already exists. Overwrite ?" msgstr "" #: mainwindow.cpp:3272 mainwindow.cpp:3416 msgid "Please select a note or rest!" msgstr "" #: mainwindow.cpp:3277 msgid "You select a note in an tuplet" msgstr "" #: mainwindow.cpp:3281 msgid "You cannot copy incomplete tuplets!" msgstr "" #: mainwindow.cpp:3296 msgid "Paste not possible: A tuplet would cross a measure" msgstr "" #: mainwindow.cpp:3443 msgid "Empty not possible because of incomplete tuplets" msgstr "" #: mainwindow.cpp:4112 #, c-format msgid "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "Translation: " msgstr "" #: mainwindow.cpp:4123 msgid "" "Excuse! The documentation is not available\n" "due to an installation error" msgstr "" #: mainwindow.cpp:4133 msgid "Excuse! Cannot exec" msgstr "" #: mainwindow.cpp:4138 msgid "Excuse! Cannot fork" msgstr "" #: mainwindow.cpp:4880 mainwindow.cpp:4902 mainwindow.cpp:7850 msgid "please select a note or rest first" msgstr "" #: mainwindow.cpp:4884 mainwindow.cpp:7854 msgid "you cannot select an element with dot" msgstr "" #: mainwindow.cpp:4894 mainwindow.cpp:7869 msgid "I'm not able to create a tuplet here" msgstr "" #: mainwindow.cpp:4906 msgid "selected element is not inside a tuplet" msgstr "" #: mainwindow.cpp:5171 msgid "Open score" msgstr "" #: mainwindow.cpp:5211 mainwindow.cpp:6306 mainwindow.cpp:6966 #: dialogs/lyricseditor.cpp:433 dialogs/drumconfigdialog.cpp:567 #, c-format msgid "Cannot open %s for reading" msgstr "" #: mainwindow.cpp:6105 msgid "Import MusicXML" msgstr "" #: mainwindow.cpp:7030 mainwindow.cpp:7056 msgid "Cannot list midi ports because could not open ALSA sequencer" msgstr "" #: mainwindow.cpp:7127 msgid "Font selection - Measure numbers" msgstr "" #: mainwindow.cpp:7749 msgid "Adjust notes ?" msgstr "" #: mainwindow.cpp:8951 msgid "Create PNG" msgstr "" #: mainwindow.cpp:9091 msgid "Create SVG" msgstr "" #: mainwindow.cpp:9217 msgid "Create Postscript" msgstr "" #: mainwindow.cpp:9306 msgid "Create PDF" msgstr "" #: mainwindow.cpp:9470 dialogs/lilypondexportdialog.cpp:70 msgid "select staves" msgstr "" #: mainwindow.cpp:9627 #, c-format msgid "Usage: %s [.ntd]\n" msgstr "" #: mainwindow.cpp:9655 msgid "" "unable to set decimal point to '.'. PostScript output will be erroneous. \t\t" "\tPlease set the $LANG environment variable appropriately!" msgstr "" #: resource.cpp:380 msgid "Piano 1" msgstr "" #: resource.cpp:380 msgid "Piano 2" msgstr "" #: resource.cpp:380 msgid "Piano 3" msgstr "" #: resource.cpp:380 msgid "Honky-tonk" msgstr "" #: resource.cpp:381 msgid "E.Piano 1" msgstr "" #: resource.cpp:381 msgid "E.Piano 2" msgstr "" #: resource.cpp:381 msgid "Harpsichord" msgstr "" #: resource.cpp:381 msgid "Clavinet" msgstr "" #: resource.cpp:382 msgid "Celesta" msgstr "" #: resource.cpp:382 msgid "Glockenspiel" msgstr "" #: resource.cpp:382 msgid "Music Box" msgstr "" #: resource.cpp:382 msgid "Vibraphone" msgstr "" #: resource.cpp:383 msgid "Marimba" msgstr "" #: resource.cpp:383 msgid "Xylophone" msgstr "" #: resource.cpp:383 msgid "Tubular Bells" msgstr "" #: resource.cpp:383 msgid "Dulcimer" msgstr "" #: resource.cpp:384 msgid "Organ 1" msgstr "" #: resource.cpp:384 msgid "Organ 2" msgstr "" #: resource.cpp:384 msgid "Organ 3" msgstr "" #: resource.cpp:384 msgid "Church Organ" msgstr "" #: resource.cpp:385 msgid "Reed Organ" msgstr "" #: resource.cpp:385 msgid "Accordion" msgstr "" #: resource.cpp:385 msgid "Harmonica" msgstr "" #: resource.cpp:385 msgid "Bandoneon" msgstr "" #: resource.cpp:386 msgid "Nylon Guitar" msgstr "" #: resource.cpp:386 msgid "Steel Guitar" msgstr "" #: resource.cpp:386 msgid "Jazz Guitar" msgstr "" #: resource.cpp:386 msgid "Clean Guitar" msgstr "" #: resource.cpp:387 msgid "Guitar Mutes" msgstr "" #: resource.cpp:387 msgid "Overdrive Guitar" msgstr "" #: resource.cpp:387 msgid "Guitar Harmonics" msgstr "" #: resource.cpp:388 msgid "Acoustic Bass" msgstr "" #: resource.cpp:388 msgid "Fingered Bass" msgstr "" #: resource.cpp:388 msgid "Picked Bass" msgstr "" #: resource.cpp:388 msgid "Fretless Bass" msgstr "" #: resource.cpp:389 msgid "Slap Bass 1" msgstr "" #: resource.cpp:389 msgid "Slap Bass 2" msgstr "" #: resource.cpp:389 msgid "Synth Bass 1" msgstr "" #: resource.cpp:389 msgid "Synth Bass 2" msgstr "" #: resource.cpp:390 msgid "Violin" msgstr "" #: resource.cpp:390 msgid "Viola" msgstr "" #: resource.cpp:390 msgid "Cello" msgstr "" #: resource.cpp:390 msgid "Contrabass" msgstr "" #: resource.cpp:391 msgid "Tremolo Strings" msgstr "" #: resource.cpp:391 msgid "Pizzicato" msgstr "" #: resource.cpp:391 msgid "Harp" msgstr "" #: resource.cpp:391 msgid "Timpani" msgstr "" #: resource.cpp:392 msgid "Strings" msgstr "" #: resource.cpp:392 msgid "Slow Strings" msgstr "" #: resource.cpp:392 msgid "Synth Strings 1" msgstr "" #: resource.cpp:392 msgid "Synth Strings 2" msgstr "" #: resource.cpp:393 msgid "Choir Aahs" msgstr "" #: resource.cpp:393 msgid "Voice Oohs" msgstr "" #: resource.cpp:393 msgid "Synth Vox" msgstr "" #: resource.cpp:393 msgid "Orchestra Hit" msgstr "" #: resource.cpp:394 msgid "Trumpet" msgstr "" #: resource.cpp:394 msgid "Trombone" msgstr "" #: resource.cpp:394 msgid "Tuba" msgstr "" #: resource.cpp:394 msgid "Mute Trumpet" msgstr "" #: resource.cpp:395 msgid "French Horns" msgstr "" #: resource.cpp:395 msgid "Brass" msgstr "" #: resource.cpp:395 msgid "Synth Brass 1" msgstr "" #: resource.cpp:395 msgid "Synth Brass 2" msgstr "" #: resource.cpp:396 msgid "Soprano Sax" msgstr "" #: resource.cpp:396 msgid "Alto Sax" msgstr "" #: resource.cpp:396 msgid "Tenor Sax" msgstr "" #: resource.cpp:396 msgid "Baritone Sax" msgstr "" #: resource.cpp:397 msgid "Oboe" msgstr "" #: resource.cpp:397 msgid "English Horn" msgstr "" #: resource.cpp:397 msgid "Bassoon" msgstr "" #: resource.cpp:397 msgid "Clarinet" msgstr "" #: resource.cpp:398 msgid "Piccolo" msgstr "" #: resource.cpp:398 msgid "Flute" msgstr "" #: resource.cpp:398 msgid "Recorder" msgstr "" #: resource.cpp:398 msgid "Pan Flute" msgstr "" #: resource.cpp:399 msgid "Bottle Chiff" msgstr "" #: resource.cpp:399 msgid "Shakuhachi" msgstr "" #: resource.cpp:399 msgid "Whistle" msgstr "" #: resource.cpp:399 msgid "Ocarina" msgstr "" #: resource.cpp:400 msgid "Square Wave" msgstr "" #: resource.cpp:400 msgid "Saw Wave" msgstr "" #: resource.cpp:400 msgid "Synth Calliope" msgstr "" #: resource.cpp:400 msgid "Chiffer Lead" msgstr "" #: resource.cpp:401 msgid "Charang" msgstr "" #: resource.cpp:401 msgid "Solo Vox" msgstr "" #: resource.cpp:401 msgid "5th Saw Wave" msgstr "" #: resource.cpp:401 msgid "Bass & Lead" msgstr "" #: resource.cpp:402 msgid "Fantasia" msgstr "" #: resource.cpp:402 msgid "Warm Pad" msgstr "" #: resource.cpp:402 msgid "Poly Synth" msgstr "" #: resource.cpp:402 msgid "Space Voice" msgstr "" #: resource.cpp:403 msgid "Bowed Glass" msgstr "" #: resource.cpp:403 msgid "Metal Pad" msgstr "" #: resource.cpp:403 msgid "Halo Pad" msgstr "" #: resource.cpp:403 msgid "Sweep Pad" msgstr "" #: resource.cpp:404 msgid "Ice Rain" msgstr "" #: resource.cpp:404 msgid "Soundtrack" msgstr "" #: resource.cpp:404 msgid "Crystal" msgstr "" #: resource.cpp:404 msgid "Atmosphere" msgstr "" #: resource.cpp:405 msgid "Brightness" msgstr "" #: resource.cpp:405 msgid "Goblin" msgstr "" #: resource.cpp:405 msgid "Echo Drops" msgstr "" #: resource.cpp:405 msgid "Star Theme" msgstr "" #: resource.cpp:406 msgid "Sitar" msgstr "" #: resource.cpp:406 msgid "Banjo" msgstr "" #: resource.cpp:406 msgid "Shamisen" msgstr "" #: resource.cpp:406 msgid "Koto" msgstr "" #: resource.cpp:407 msgid "Kalimba" msgstr "" #: resource.cpp:407 msgid "Bagpipe" msgstr "" #: resource.cpp:407 msgid "Fiddle" msgstr "" #: resource.cpp:407 msgid "Shenai" msgstr "" #: resource.cpp:408 msgid "Tinker Bell" msgstr "" #: resource.cpp:408 msgid "Agogo" msgstr "" #: resource.cpp:408 msgid "Steel Drum" msgstr "" #: resource.cpp:408 msgid "Wood Block" msgstr "" #: resource.cpp:409 msgid "Taiko Drum" msgstr "" #: resource.cpp:409 msgid "Melodic Tom" msgstr "" #: resource.cpp:409 msgid "Synth Drum" msgstr "" #: resource.cpp:409 msgid "Reverse Cymbal" msgstr "" #: resource.cpp:410 msgid "Fret Noise" msgstr "" #: resource.cpp:410 msgid "Breath Noise" msgstr "" #: resource.cpp:410 msgid "Seashore" msgstr "" #: resource.cpp:410 msgid "Bird" msgstr "" #: resource.cpp:411 msgid "Telephone" msgstr "" #: resource.cpp:411 msgid "Helicopter" msgstr "" #: resource.cpp:411 msgid "Applause" msgstr "" #: resource.cpp:411 msgid "Gun Shot" msgstr "" #: resource.cpp:827 msgid "" "Cannot open ALSA MIDI sequencer --> replay won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" #: resource.cpp:835 msgid "Error creating ALSA sequencer output port --> replay won't work :-((" msgstr "" #: resource.cpp:845 msgid "" "Cannot open ALSA MIDI sequencer --> read/record won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" #: resource.cpp:853 msgid "Error creating ALSA sequencer input port --> record won't work :-((" msgstr "" #: dialogs/paperconfigdialog.cpp:37 dialogs/paperconfigdialog.cpp:41 msgid "Paper" msgstr "" #: dialogs/paperconfigdialog.cpp:46 msgid "paper type" msgstr "" #: dialogs/paperconfigdialog.cpp:81 msgid "orientation" msgstr "" #: dialogs/paperconfigdialog.cpp:82 msgid "portrait" msgstr "" #: dialogs/paperconfigdialog.cpp:83 msgid "landscape" msgstr "" #: dialogs/portchoosedialog.cpp:46 msgid "MIDI ports" msgstr "" #: dialogs/portchoosedialog.cpp:60 dialogs/staffcontextdialog.cpp:321 #: dialogs/staffcontextdialog.cpp:437 dialogs/textdialog.cpp:200 #: dialogs/midirecordconfigdialog.cpp:133 dialogs/staffselectdialog.cpp:69 #: dialogs/drumconfigdialog.cpp:110 msgid "no" msgstr "" #: dialogs/portchoosedialog.cpp:62 msgid "port" msgstr "" #: dialogs/portchoosedialog.cpp:78 msgid "midi echo" msgstr "" #: dialogs/printconfigdialog.cpp:31 msgid "Print command" msgstr "" #: dialogs/printconfigdialog.cpp:35 msgid "print command" msgstr "" #: dialogs/staffcontextdialog.cpp:31 msgid "G flat Major; e flat minor" msgstr "" #: dialogs/staffcontextdialog.cpp:31 msgid "D flat Major; b flat minor" msgstr "" #: dialogs/staffcontextdialog.cpp:32 msgid "A flat Major; f minor" msgstr "" #: dialogs/staffcontextdialog.cpp:32 msgid "E flat Major; c minor" msgstr "" #: dialogs/staffcontextdialog.cpp:33 msgid "B flat Major; g minor" msgstr "" #: dialogs/staffcontextdialog.cpp:33 msgid "F Major; d minor" msgstr "" #: dialogs/staffcontextdialog.cpp:34 msgid "C Major; a minor" msgstr "" #: dialogs/staffcontextdialog.cpp:34 msgid "G Major; e minor" msgstr "" #: dialogs/staffcontextdialog.cpp:35 msgid "D Major; b minor" msgstr "" #: dialogs/staffcontextdialog.cpp:35 msgid "A Major; f sharp minor" msgstr "" #: dialogs/staffcontextdialog.cpp:36 msgid "E Major; c sharp minor" msgstr "" #: dialogs/staffcontextdialog.cpp:36 msgid "B Major; g sharp minor" msgstr "" #: dialogs/staffcontextdialog.cpp:37 msgid "F sharp Major; d sharp minor" msgstr "" #: dialogs/staffcontextdialog.cpp:120 msgid "Staff context" msgstr "" #: dialogs/staffcontextdialog.cpp:132 dialogs/clefconfigdialog.cpp:49 msgid "clef" msgstr "" #: dialogs/staffcontextdialog.cpp:157 dialogs/clefconfigdialog.cpp:74 msgid "Octave shift:" msgstr "" #: dialogs/staffcontextdialog.cpp:163 dialogs/keysigdialog.cpp:66 #: dialogs/clefconfigdialog.cpp:81 msgid "adjust notes" msgstr "" #: dialogs/staffcontextdialog.cpp:200 dialogs/measureconfigdialog.cpp:110 #: dialogs/midirecordconfigdialog.cpp:70 msgid "time signature" msgstr "" #: dialogs/staffcontextdialog.cpp:204 dialogs/measureconfigdialog.cpp:114 #: dialogs/midirecordconfigdialog.cpp:74 msgid "Numerator:" msgstr "" #: dialogs/staffcontextdialog.cpp:205 dialogs/measureconfigdialog.cpp:115 #: dialogs/midirecordconfigdialog.cpp:75 msgid "Denominator:" msgstr "" #: dialogs/staffcontextdialog.cpp:248 msgid "staff name" msgstr "" #: dialogs/staffcontextdialog.cpp:255 msgid "staff short name" msgstr "" #: dialogs/staffcontextdialog.cpp:262 msgid "group name" msgstr "" #: dialogs/staffcontextdialog.cpp:269 msgid "group short name" msgstr "" #: dialogs/staffcontextdialog.cpp:278 dialogs/tempodialog.cpp:154 #: dialogs/textdialog.cpp:138 dialogs/midirecordconfigdialog.cpp:147 msgid "tempo" msgstr "" #: dialogs/staffcontextdialog.cpp:283 msgid "chorus" msgstr "" #: dialogs/staffcontextdialog.cpp:289 msgid "transp." msgstr "" #: dialogs/staffcontextdialog.cpp:295 msgid "reverb" msgstr "" #: dialogs/staffcontextdialog.cpp:301 dialogs/textdialog.cpp:123 #: dialogs/midirecordconfigdialog.cpp:153 msgid "volume" msgstr "" #: dialogs/staffcontextdialog.cpp:307 msgid "pan" msgstr "" #: dialogs/staffcontextdialog.cpp:323 dialogs/textdialog.cpp:202 #: dialogs/midirecordconfigdialog.cpp:135 msgid "instruments" msgstr "" #: dialogs/staffcontextdialog.cpp:332 dialogs/textdialog.cpp:150 msgid "channel" msgstr "" #: dialogs/staffcontextdialog.cpp:337 dialogs/mutedialog.cpp:69 msgid "muting" msgstr "" #: dialogs/staffcontextdialog.cpp:338 dialogs/staffcontextdialog.cpp:370 #: dialogs/mutedialog.cpp:72 dialogs/selectordialog.cpp:98 msgid "all" msgstr "" #: dialogs/staffcontextdialog.cpp:369 msgid "voices" msgstr "" #: dialogs/staffcontextdialog.cpp:429 dialogs/staffselectdialog.cpp:58 msgid "staff" msgstr "" #: dialogs/staffcontextdialog.cpp:435 dialogs/staffselectdialog.cpp:67 msgid "item" msgstr "" #: dialogs/staffcontextdialog.cpp:485 msgid "Score" msgstr "" #: dialogs/staffcontextdialog.cpp:486 msgid "MIDI" msgstr "" #: dialogs/staffcontextdialog.cpp:495 msgid "Staff position" msgstr "" #: dialogs/tupletdialog.cpp:34 msgid "Tuplet" msgstr "" #: dialogs/tupletdialog.cpp:40 msgid "" "Instead of using this dialog\n" "you can simply press + num" msgstr "" #: dialogs/tupletdialog.cpp:42 msgid "Tuplet value:" msgstr "" #: dialogs/tupletdialog.cpp:47 msgid "method 2" msgstr "" #: dialogs/insertblockdialog.cpp:32 msgid "Insert blocks" msgstr "" #: dialogs/insertblockdialog.cpp:39 msgid "block count:" msgstr "" #: dialogs/measureconfigdialog.cpp:53 msgid "Measure type" msgstr "" #: dialogs/measureconfigdialog.cpp:62 msgid "measure type" msgstr "" #: dialogs/measureconfigdialog.cpp:89 msgid "alternative 1" msgstr "" #: dialogs/measureconfigdialog.cpp:90 msgid "alternative 2" msgstr "" #: dialogs/measureconfigdialog.cpp:99 msgid "hide following" msgstr "" #: dialogs/measureconfigdialog.cpp:158 msgid "enable timesig" msgstr "" #: dialogs/measureconfigdialog.cpp:160 msgid "delete timesig" msgstr "" #: dialogs/keysigdialog.cpp:37 msgid "New keysignature" msgstr "" #: dialogs/keysigdialog.cpp:64 msgid "adjust" msgstr "" #: dialogs/scoreinfodialog.cpp:71 dialogs/scoreinfodialog.cpp:75 msgid "Score info" msgstr "" #: dialogs/scoreinfodialog.cpp:79 msgid "Title:" msgstr "" #: dialogs/scoreinfodialog.cpp:87 msgid "Subject:" msgstr "" #: dialogs/scoreinfodialog.cpp:95 msgid "Composer:" msgstr "" #: dialogs/scoreinfodialog.cpp:103 msgid "Arranger:" msgstr "" #: dialogs/scoreinfodialog.cpp:111 msgid "Copyright:" msgstr "" #: dialogs/clefconfigdialog.cpp:44 msgid "Clef configuration" msgstr "" #: dialogs/volumedialog.cpp:32 msgid "Set Volume" msgstr "" #: dialogs/volumedialog.cpp:44 msgid "volume:" msgstr "" #: dialogs/tempodialog.cpp:56 msgid "Set Tempo" msgstr "" #: dialogs/tempodialog.cpp:128 msgid "kind" msgstr "" #: dialogs/tempodialog.cpp:150 msgid "tempo:" msgstr "" #: dialogs/lyricseditor.cpp:67 msgid "Lyrics" msgstr "" #: dialogs/lyricseditor.cpp:85 msgid "lyrics 1" msgstr "" #: dialogs/lyricseditor.cpp:86 msgid "lyrics 2" msgstr "" #: dialogs/lyricseditor.cpp:87 msgid "lyrics 3" msgstr "" #: dialogs/lyricseditor.cpp:88 msgid "lyrics 4" msgstr "" #: dialogs/lyricseditor.cpp:89 msgid "lyrics 5" msgstr "" #: dialogs/lyricseditor.cpp:135 dialogs/drumconfigdialog.cpp:230 msgid "load from file" msgstr "" #: dialogs/lyricseditor.cpp:136 dialogs/drumconfigdialog.cpp:231 msgid "save to file" msgstr "" #: dialogs/lyricseditor.cpp:143 dialogs/drumconfigdialog.cpp:247 msgid "file" msgstr "" #: dialogs/lyricseditor.cpp:292 msgid "Save lyrics" msgstr "" #: dialogs/lyricseditor.cpp:392 msgid "Open lyrics file" msgstr "" #: dialogs/mutedialog.cpp:34 msgid "Muting" msgstr "" #: dialogs/mutedialog.cpp:55 dialogs/selectordialog.cpp:61 #, c-format msgid "Staff %d" msgstr "" #: dialogs/mutedialog.cpp:74 dialogs/selectordialog.cpp:100 msgid "none" msgstr "" #: dialogs/linesdialog.cpp:40 msgid "Lines" msgstr "" #: dialogs/linesdialog.cpp:46 msgid "lines" msgstr "" #: dialogs/selectordialog.cpp:35 msgid "Transpose" msgstr "" #: dialogs/selectordialog.cpp:39 msgid "Select" msgstr "" #: dialogs/selectordialog.cpp:73 msgid "half-tones" msgstr "" #: dialogs/selectordialog.cpp:76 dialogs/selectordialog.cpp:95 #: chords/chorddialog.cpp:159 msgid "selection" msgstr "" #: dialogs/selectordialog.cpp:87 msgid "use selection" msgstr "" #: dialogs/textdialog.cpp:69 msgid "Text" msgstr "" #: dialogs/textdialog.cpp:89 chords/chorddialog.cpp:111 msgid "text" msgstr "" #: dialogs/textdialog.cpp:98 msgid "select font" msgstr "" #: dialogs/textdialog.cpp:105 msgid "anchor" msgstr "" #: dialogs/textdialog.cpp:108 msgid "left" msgstr "" #: dialogs/textdialog.cpp:109 msgid "mid" msgstr "" #: dialogs/textdialog.cpp:110 msgid "right" msgstr "" #: dialogs/textdialog.cpp:130 msgid "enable volume change" msgstr "" #: dialogs/textdialog.cpp:143 msgid "enable tempo change" msgstr "" #: dialogs/textdialog.cpp:155 msgid "enable channel change" msgstr "" #: dialogs/textdialog.cpp:162 msgid "D.S" msgstr "" #: dialogs/textdialog.cpp:165 msgid "No segno meaning" msgstr "" #: dialogs/textdialog.cpp:166 msgid "D.S. al Fine" msgstr "" #: dialogs/textdialog.cpp:167 msgid "D.S. al Coda" msgstr "" #: dialogs/textdialog.cpp:168 msgid "D. Capo al Fine" msgstr "" #: dialogs/textdialog.cpp:169 msgid "D. Capo al Coda" msgstr "" #: dialogs/textdialog.cpp:170 msgid "Fine" msgstr "" #: dialogs/textdialog.cpp:171 msgid "al Coda" msgstr "" #: dialogs/textdialog.cpp:219 msgid "instrument" msgstr "" #: dialogs/textdialog.cpp:220 msgid "enable instrument change" msgstr "" #: dialogs/signsdialog.cpp:44 msgid "Signs" msgstr "" #: dialogs/signsdialog.cpp:50 msgid "signs" msgstr "" #: dialogs/midiimportdialog.cpp:43 msgid "MIDI import" msgstr "" #: dialogs/midiimportdialog.cpp:70 dialogs/midirecordconfigdialog.cpp:103 msgid "triplet recognition" msgstr "" #: dialogs/midiimportdialog.cpp:72 msgid "sort instruments" msgstr "" #: dialogs/midiimportdialog.cpp:73 dialogs/midirecordconfigdialog.cpp:105 msgid "force piano" msgstr "" #: dialogs/midiimportdialog.cpp:74 dialogs/midirecordconfigdialog.cpp:107 msgid "don't split tracks" msgstr "" #: dialogs/midiimportdialog.cpp:83 msgid "tempo density" msgstr "" #: dialogs/midiimportdialog.cpp:89 msgid "volume density" msgstr "" #: dialogs/midirecordconfigdialog.cpp:65 msgid "Config Record" msgstr "" #: dialogs/lilypondexportdialog.cpp:63 msgid "export params" msgstr "" #: dialogs/lilypondexportdialog.cpp:66 msgid "create line breaks" msgstr "" #: dialogs/lilypondexportdialog.cpp:74 msgid "keep beams" msgstr "" #: dialogs/lilypondexportdialog.cpp:172 msgid "Staff selection" msgstr "" #: dialogs/lilypondexportdialog.cpp:181 msgid "keep beams selection" msgstr "" #: dialogs/staffselectdialog.cpp:76 msgid "All" msgstr "" #: dialogs/staffselectdialog.cpp:79 msgid "None" msgstr "" #: dialogs/spacementdialog.cpp:34 msgid "Horizontal Spacement" msgstr "" #: dialogs/spacementdialog.cpp:40 msgid "Spacement" msgstr "" #: dialogs/scaledialog.cpp:35 dialogs/scaledialog.cpp:40 msgid "Scale" msgstr "" #: dialogs/drumconfigdialog.cpp:90 msgid "Config Drums" msgstr "" #: dialogs/drumconfigdialog.cpp:112 msgid "drum element name" msgstr "" #: dialogs/drumconfigdialog.cpp:114 msgid "short name" msgstr "" #: dialogs/drumconfigdialog.cpp:116 msgid "line" msgstr "" #: dialogs/drumconfigdialog.cpp:119 msgid "symbol" msgstr "" #: dialogs/drumconfigdialog.cpp:121 msgid "midi pitch" msgstr "" #: dialogs/drumconfigdialog.cpp:192 msgid "change element" msgstr "" #: dialogs/drumconfigdialog.cpp:197 msgid "note head" msgstr "" #: dialogs/drumconfigdialog.cpp:223 msgid "preview" msgstr "" #: dialogs/drumconfigdialog.cpp:232 msgid "load defaults" msgstr "" #: dialogs/drumconfigdialog.cpp:233 msgid "play element" msgstr "" #: dialogs/drumconfigdialog.cpp:446 msgid "Save drum configuration" msgstr "" #: dialogs/drumconfigdialog.cpp:537 msgid "Open drum configuration" msgstr "" #: dialogs/chordnamedialog.cpp:50 dialogs/chordnamedialog.cpp:54 msgid "Chordname" msgstr "" #: dialogs/chordnamedialog.cpp:61 msgid "chordname" msgstr "" #: dialogs/chordnamedialog.cpp:80 msgid "size" msgstr "" #: dialogs/chordnamedialog.cpp:84 msgid "position" msgstr "" #: dialogs/tools.cpp:372 dialogs/tools.cpp:392 msgid "Toolbox" msgstr "" #: chords/chorddialog.cpp:95 msgid "Chords" msgstr "" #: chords/chorddialog.cpp:99 msgid "chord" msgstr "" #: chords/chorddialog.cpp:109 msgid "config" msgstr "" #: chords/chorddialog.cpp:112 msgid "diagram" msgstr "" #: chords/chorddialog.cpp:133 msgid "root" msgstr "" #: chords/chorddialog.cpp:150 msgid "mody" msgstr "" #: chords/chorddialog.cpp:169 msgid "chordselect" msgstr "" nted-1.10.18/po/it.gmo0000664001041000007640000006044711520270236011303 00000000000000ޕМkÈ& É&Ö&í& ' ' '&'5';'?'H' Q' ['f'}'“' ›'¥' «' ¸'Ä'Ì' Ñ' Þ'ê' ð' ý'(<(V(q(…Œ()3))])e)k)€) ˆ) •)  )ª) ±)¾)Ç) Ð)Ý) ð)ý) ** /*:* ?* J* U*`* r*}*…*–*±*Á*Ñ* Õ* â* ï* ü* ++$+;+ Q+ [+e+ k+ v+0‚+ ³+ À+Ì+à+Gô+<,M,b,s,‚,’,¡,±,Â,ß,è,#ï,- -&- ,- M- Z- e-s-„- Ÿ-¬-³- Ä-Ñ-Ú- ã-í- ò- þ- ..$).N.W.g. {. ˆ.–.¦.¹.Ë.Ü.>î. -/9/A/Z/_/g/w/}/ ‚/ Ž/™/¶/ ¾/ Ë/ ×/ á/ ë/ø/ ÿ/ 00 0"030D0 I0 T0a0f0 n0 |0 †0’0 ¤0 ¯0 »0É0Ñ0Ù0á0 ò0 1 1121I1Q1Y1a1 i1 u11 1¨1 ®1¼1 Å1 Ó1Þ1ñ1 22 2 )262 E2 Q2\2e2k2 q2|2‹2 ”2 ž2 ©2´2½2Ä2Ê2 Ð2 Ü2 è2õ2ú2 3 3 3 &3 03<3 E3S3b3 r3 }3 ˆ3•33 ¦3 °3 ½3 Ê3 Ø3æ3 õ344 4 *4 54 ?4I4N4W4 _4k4r44—4 ž4 ¨4 ²4À4Ð4Ù4á4 æ4ô4 û4 55 35>5D5 K5V5_5 g5r5ƒ5•5 ¨5#²5Ö5õ56 6&6,646:6@6H6P6 c6o6 u66 ˆ6•66 ¡6 ¯6½6Ä6×6î6 777 "7/7O7W7 ]7 g7 q7 7‹7’7—7ž7®7Æ7×7ç7ú7 8#8;8J8R8e8u8Œ8 8¯8 Ä8Ï8 â8ð8ò8õ8 ù89 9$9 79 B9"c9 †9‘9§9 ¶9Á9Ô9ë9î9õ9: :%:B:[:r:‰:Ÿ:¼: Ï:Ü: å: ï:ú:;*;B;Z; r; |;†; ; ™;¤; ¶; À; Ê; ×; ã;ï;ô;ø; ý;< <<<"<*<2< :<G<P<S< W<a<f<i<z<<„< ‰<•<™<›< < ¤<¯<À<"Å<è<í<ö<ù< ý< =="=>=N= h=u= Š="–=¹=À= Æ=Ñ= Ö= â='ð= >">4:>+o>›>ž>³>È>Î>ß>â>é> ï>ú> ? ? ?)?0?5?D? L?V?„j?ï?ô? @ @'@.@I@P@_@%g@¼@ JBWBuB”B ©B³BÂBÒBØB ÞBêB óB C C)C IC SC]C cC pC|C„C ŒC ™C¥C ¬C ¹CÆCLÝC$*D%OD˜uDEG.EvE ~EŠEžE ¦E ³E ½EÊEÒE ãE îE ùEF"F2FNFUF fFsFyFŠF“FœF¬FµF½F&ÔFûF GG G *G5G DGQGdGmG‹G ªG ´G¾G ÇG ÕGBãG &H 4HAH]HTvHËHÝHîHÿHI I0IAI$XI}I†I$I²I ·IÅI$ÌIñI J JJ'1J YJfJmJ ~J‹J‘J šJ¦J «J ·J ÂJÍJ+äJKK*K;KLK^KoKƒK—K«KGÇK LL %LFLKLSLgLmLrL „L!L±L ¹L ÅL ÑL ÛL åLñLöLÿL MM M,MIM QM\MnMsM{M‘M˜M§M¿MÏM ÞMìMõMþMNN (N6N=N;ENN‰N‘N™N ¡N ­N"·NÚNìNóN OO !O,OAOWOqO€O ‰O—O«O¼OÎO×O ÝOéOÿOP P,P ;PFPOPVP\P bP nP zP‡P P P ©P ·P ÃP ÎPÚPéPþPQ .Q9Q KQYQaQ iQ sQ €Q Q ›Q©Q ¸QÃQÓQãQ ùQR RRR$R ,R9R#@RdR|R …R ’R  R®R¾RÇRÎR ÓRáRóR SS 5S?SES MSWS`S hSsS…SSµS.¾S+íST0T CT PTZT cTmT tT~T…TœT®T µTÂT ÊT×TÞTäT óTUU&UAUZUlU rU |U"‰U¬U³U »U ÇUÔUêUùUþU VV VX^yÇY <ö_ÆOMÊq¨áG;ÿtÅ3'±8"ôOÆ{NÖ¤C0÷&¶ò¼Q£ýÂîE©Íߦ§¨ËΞtS sL`»ŸhƒÑdµ.¡~ DJu?ÒÓ ½D¯I±jX”† ».ºN¢q [ŠH†k|fo!k1‰Á]7R޾Åå?,ú…­ˆÚ‘iÐ8T>èéª Ï©_^M¸Ì\4VŒ5th Saw WaveA Major; f sharp minorA flat Major; f minorAbout NtEdAccordionAcoustic BassAdjust notes ?AgogoAllAlto SaxApplauseArranger:AtmosphereB Major; g sharp minorB flat Major; g minorBagpipeBandoneonBanjoBaritone SaxBass & LeadBassoonBirdBottle ChiffBowed GlassBrassBreath NoiseBrightnessC Major; a minorCannot list midi ports because could not open ALSA sequencerCannot open %s for readingCannot open %s for writingCannot open ALSA MIDI sequencer --> replay won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot rename %s to %sCannot replay because could not open ALSA sequencerCelestaCelloChange spacement ...CharangChiffer LeadChoir AahsChordnameChordsChurch OrganClarinetClavinetClean GuitarClef configurationClose WindowClose current windowComposer:Configure Paper...ContrabassCopyCopyright:Create PDFCreate PNGCreate PostscriptCreate SVGCrystalD Major; b minorD flat Major; b flat minorD. Capo al CodaD. Capo al FineD.SD.S. al CodaD.S. al FineDelete blockDenominator:Documentation ...DulcimerE Major; c sharp minorE flat Major; c minorE.Piano 1E.Piano 2E_xitEcho DropsEmpty blockEmpty not possible because of incomplete tupletsEnglish HornExcerpt ...Excuse! Cannot execExcuse! Cannot forkExcuse! The documentation is not available due to an installation errorExit the programExport LilyPond ...Export MIDI ...Export PDF ...Export P_NG ...Export P_S ...Export S_VG ...F Major; d minorF sharp Major; d sharp minorFantasiaFiddleFile %s already exists. Overwrite ?FineFingered BassFluteFont selection - Measure numbersFrench HornsFret NoiseFretless BassG Major; e minorG flat Major; e flat minorGlockenspielGoblinGuitar HarmonicsGuitar MutesGun ShotHalo PadHarmonicaHarpHarpsichordHelicopterHonky-tonkHorizontal SpacementI'm not able to create a tuplet hereIce RainImport MusicXMLImport MusicXML ...Insert blockInsert blocksInsert clef ...Insert keysig ... Insert lines ... Insert sign ... Insert tuplet ...Instead of using this dialog you can simply press + numJazz GuitarKalimbaKeyboard insert mode - kKotoLicenseLilyPond exportLinesMIDIMIDI importMIDI portsMake an excerpt of the scoreMarimbaMeasure typeMelodic TomMetal PadMusic BoxMute TrumpetMutingMuting ...NewNew FileNew WindowNew keysignatureNo segno meaningNoneNumerator:Nylon GuitarOboeOcarinaOctave shift:Open ...Open a fileOpen a new windowOpen scoreOpen_RecentOrchestra HitOrgan 1Organ 2Organ 3Overdrive GuitarPage Mode - pPan FlutePaperPastePaste not possible: A tuplet would cross a measurePiano 1Piano 2Piano 3PiccoloPicked BassPizzicatoPlease select a note or rest!Poly SynthPrintPrint commandRecorderRedo Ctrl + yReed OrganRemove empty pagesRemove last pageRemove tupletReverse CymbalSave ...Save As ...Save Changes ?Save a fileSave scoreSaw WaveScaleScoreScore infoScore info ...SeashoreSet TempoSet VolumeShakuhachiShamisenShenaiSignsSitarSlap Bass 1Slap Bass 2Slow StringsSlurSolo VoxSoprano SaxSoundtrackSpace VoiceSpacementSquare WaveStaff %dStaff contextStaff positionStaff selectionStar ThemeSteel DrumSteel GuitarStringsSubject:Sweep PadSynth Bass 1Synth Bass 2Synth Brass 1Synth Brass 2Synth CalliopeSynth DrumSynth Strings 1Synth Strings 2Synth VoxTaiko DrumTelephoneTenor SaxTextText ...TimpaniTinker BellTitle:Toggle Insert/Erase Mode - nToolboxTools Tools ...TransposeTranspose ...Tremolo StringsTromboneTrumpetTubaTubular BellsTupletTuplet value:Undo Ctrl + zUsage: %s [.ntd] VibraphoneViolaViolinVoice OohsWarm PadWhistleWood BlockWrite PostScriptWrite a png imageWrite an svg imageXylophoneYou cannot copy incomplete tuplets!You select a note in an tupletZoom in Ctrl + +Zoom out Ctrl + -_Dynamics ..._Edit_Export_File_Help_Insert_Lyrics_System layout ..._Upbeat ..._Viewaccelerandoadjustadjust notesal Codaallalternative 1alternative 2anchorappend a new staffappend a system at endappend system - Ctrl + Bblock count:bracebracketchange scalechange the horizontal spacementchannelchordchord ...chordnamechordname ...chordselectchorusclefconfigconfigure paperconfigure print commandconnect barlinescopy - Ctrl + Ccreate line breakscustomize beamcustomize beam - Ctrl + jdelete block - Ctrl + Xdelete timesigdiagramdon't split tracksedit score infoempty block - Ctrl + Eenable tempo changeenable timesigenable volume changeexport PDFexport a midi fileexport paramsffffffflip stemflip stem - Ctrl + fforce pianogive first measuregive startgroup staves by means of a bracegroup staves by means of a brackethalf-toneshide (selected) restshide followinghide restsimport a midi fileimport a musicxml fileininsertinsert a chordinsert a chordnameinsert a clefinsert a free placeable signinsert a horizontal lineinsert a key signatureinsert a slur - Ctrl+Hinsert a staff spacerinsert a tuplet (Ctrl + num)insert accelerandoinsert blockinsert finsert ffinsert fffinsert lyrics at line 1insert lyrics at line 2insert lyrics at line 3insert lyrics at line 4insert lyrics at line 5insert mfinsert mpinsert pinsert ppinsert pppinsert ritardandoinsert sfinsert spinsert tempoinsert textinstrumentsitemkeykindlandscapeleftlineslyrics1lyrics2lyrics3lyrics4lyrics5measure typemethod 2mfmidmidi echomodympmute some stavesmutingnononeorientationoutppagepanpaper typepaste - Ctrl + Vplayplease select a note or rest firstportportraitpppppprint commandprint fileredoremove a group of connected stavesremove a tupletremove empty pages at endremove groupremove the last pagereposit allreposit the whole score - Ctrl + Treverbrightritardandorootselect fontselect stavesselected element is not inside a tupletselectionset connected bar linesset upbeat by giving the start of first full measureset upbeat by giving the start of the scoresfshow hidden elementsshow measure numberssignssort instrumentsspspacerstaffstaff namestaff short nametempotempo ...tempo densitytempo:texttime signaturetransp.transposetriplet recognitionunable to set decimal point to '.'. PostScript output will be erroneous. Please set the $LANG environment variable appropriately!undounhide (selected) restsunhide restsuse selectionvoicesvoices in different colorsvolumevolume densityvolume:you cannot select an element with dotProject-Id-Version: it Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de POT-Creation-Date: 2011-01-27 14:18+0100 PO-Revision-Date: 2009-01-20 20:35+0100 Last-Translator: Mariano MARINI Language-Team: American English Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Lokalize 0.2 Plural-Forms: nplurals=2; plural=(n != 1); 5th Saw WaveLa maggiore, fa diesis minoreLa bemolle maggiore, fa minoreInformazioni su NtedAccordionBasso acusticoAccordare note?AgogotuttiSax sopranoApplausiArrangiatoreAtmosferaSi maggiore, sol diesis minoreSi bemolle maggiore, sol minoreCornamusaBandoneonBanjoSax baritonoBass & LeadFagottoUccelloBottle ChiffBowed GlassOttoniBreath NoiseBrillantezzaDo maggiore, la minoreImpossibile elencare le porte MIDI perché il sequenziatore ALSA non si apreImpossibile caricare %s per leggerloImpossibile caricare %s per scriverciImpossibile aprire il sequencer ALSA MIDI --> riproduci non funziona :-(( Prova, come root modprobe snd-seq-mid e riavvia NtEd Forse questo ti aiuta(?)Impossibile rinominare %s in %sRiproduzione impossibile perché non posso aprire il sequenziatore ALSACelestaVioloncelloModifica spaziaturaCharangChiffer LeadCoro AahsNome accordoAccordiOrgano da chiesaClarinettoClarinettoClean GuitarConfigurazione della chiaveChiude finestraChiude la finestra correnteAutoreConfigura FoglioContrabbassoCopiaDiritti d'autoreCrea PDFCrea PNGCrea PostScriptCrea PNGCrystalRe maggiore, si minoreRe bemolle maggiore, si bemolle minoreD. Capo a CodaD. Capo a FineD.S.D.S. a CodaD.S a FineElimina bloccoDenominatoreDocumentazione ...DulcimerMi maggiore, do diesis minoreMi bemolle maggiore, do minoreE.Piano 1E.Piano 2_TerminaEco di gocciaSvuota bloccoSvuotamento impossibile a causa di un gruppo irregolare incompletoCorno ingleseEstratto ...Scusa! Impossibile eseguireScusa! Fork impossibile Scusa! La documentazione non è disponibile a causa di un errore nell'installazione.Termina programmaEsporta LilyPondEsporta MIDI ...Esporta PDF ...Esporta P_NG ...Esporta P_S ...Esporta S_VG ...Fa maggiore, re minoreFa diesis maggiore, re diesis minoreFantasiaFiddleIl file %s esiste già. Sovrascrivi?FineFingered BassFlautoSelezione caratteri - Numeri battuteCorno franceseFret NoiseFretless BassSol maggiore, re minoreSol bemolle maggiore, mi bemolle minoreGlockenspielGoblinCitarra acusticaGuitar MutesSparoHalo PadFisarmonicaArpaHarpsichordElicotteroHonky-tonkSpaziatura orizzontaleNon sono in grado di creare una terzina quiIce RainImporta MusicXMLImporta MusicXMLinserisci bloccoInserisci blocchiinserisci chiaveinserisci tonalitàinserisci Linee ...inserisci segno ...inserisci gruppo irregolareInvece di usare questa finestra puoi premere semplicemente + numChitarra jazzKalimbaModo inserimento da tastiera - kKotoLicenzaEsporta in LilyPondLineeMIDIImportazione MIDIporte MIDIEsegue un estratto dello spartitoMarimbaTipo misuraMelodic TomMetal PadMusic BoxTromba mutaMutoMuto ...NuovoNuovo FileNuova finestraNuova chiaveNessun significato del segnonessunoNumeratoreChitarra classicaOboeOcarinaSpostamento di ottavaCaricaCarica un fileApre una nuova finestraCarica spartitoCarica_RecentiOrchestra HitOrgano 1Organo 2Organo 3Overdrive GuitarTipo Pagina - pFlauto di panFoglioIncollaIncolla impossibile. Un gruppo irregolare supera la battutaPiano 1Piano 2Piano 3PiccoloPicked BassPizzicatoPer favore scegli una nota o pausaSintet.PolifonicoStampaComando di stampaRegistratoreRifà Ctrl + yReed OrganElimina pagine vuoteElimina ultima paginaElimina gruppo irregolareReverse CymbalArchiviaArchivia comeArchivio Modifiche?Archivia un fileArchivia spartitoSaw WaveScalaPentagrammaInformazioni spartitoInformazioni SpartitoSeashoreImposta tempoImposta volumeShakuhachiShamisenShenaiSegniSitarSlap Bass 1Slap Bass 2Slow StringsLegaturaVoce solistaSax SopranoBase musicaleSpace VoiceSpaziaturaOnda quadrapentagramma %dContesto pentagrammaPosizione dei pentagrammiSelezione pentagrammaStar ThemeTamburo metallicoChitarra folkStringsOggettoSweep PadSynth Bass 1Synth Bass 2Synth Brass 1Synth Brass 2Synth CalliopeSynth DrumSynth Strings 1Synth Strings 2Sintetizzatore vocaleTaiko DrumTelefonoSax tenoreTestoTestoTimpaniCampanellinoTitoloScambia Modo Inserisci/Cancella - nCassetta degli attrezziAttrezziAttrezzi ...TrasposizioneTrasporre ...Tremolo StringsTromboneTrombaTubaTubular BellsGruppo irregolareValore gruppo irregolareDisfa Ctrl + zUso: %s [.ntd] VibrafonoViolaViolinoVoce OohsWarm PadZuffoloWood BlockScrivi PostScriptScrive una immagine pngScrive una immagine svgXilofonoNon puoi copiare gruppi irregolari incompleti!Hai scelto una nota di un gruppo irregolareIngrandimento Ctrl + +Riduzione Ctrl + -Es_pressione_Modifica_Esporta_Archivio_AiutoinserisciParole_Struttura del sistemaBattuta in levare_Vistaaccellerandoaccordaaccorda notea Codatuttialternativa 1 alternativa 2ancoraaggiungi un nuovo pentagrammaaggiungi un rigo alla fineaggiungi rigo - Ctrl + Bconteggio blocchigrafaParentesicambia scalamodifica la spaziatura orizzontalecanaleaccordoaccordo ...nome accordonome dell'accordo ...scegli accordocorochiaveconfiguraconfigura foglioconfigura comando di stampaCollega barrettecopia - Ctrl + Ccreare linea d'interuzionipersonalizza stanghettapersonalizza stanghetta - Ctrl + jelimina blocco - Ctrl + Xelimina segnatemposchemaNon dividere le tracceModifica informazioni dello spartitosvuota blocco - Ctrl + Eabilita modifica del tempoabilita segnatempoabilita modifica del volumeesporta PDFesporta un file midiesporta parametriffffffinverti gamboinverti gambo - Ctrl + fforza pianoindica la prima misuraindica iniziounisci battute con una grafaunisci battute con una parentesimezzi toninascondi puase selezionatenascondi questinascondi pauseimporta un file MIDIimporta un file musicxmlininserisciinserisci un accordoinserisci un nome dell'accordoinserisci una chiaveinserisci una segno liberamente posizionabileinserisci una linea orizzontaleinserisci una tonalitàinserisci una legatura - Ctrl+Hinserisci uno spaziatore tra pentagrammiinserisci gruppo irregolare (Ctrl + num)inserisci accellerandoinserisci blockinserisci finserisci ffinserisci fffinserisci le parole della prima strofainserisci le parole della seconda strofainserisci le parole della terza strofainserisci le parole della quarta strofainserisci le parole della quinta strofainserisci mfinserisci mpinserisci pinserisci ppinserisci pppinserisci ritardandoinserisci sfinserisci spinserisci tempoinserisci testostrumentivoceaccordobasepaesaggiosinistralinee1a strofa2a strofa3a strofa4a strofa5a strofatipo misurametodo 2mfmidritorno MIDImodalitàmpmuto di alcune battutemutonumeronessunoorientamentooutppaginapentolatipo di foglioincolla - Ctrl + VSuonaper favore scegli prima una nota o pausaportaritrattopppppcomando di stampastampa filerifàelimina un gruppo di pentagrammi collegatielimina un gruppo irregolareElimina le ultime pagine vuoteelimina unioniElimina l'ultima paginaTrasponi tuttoTrasposizione di tutto lo spartito Ctrl+Treverberodestraritardandobasescegli caratterescegli pentagrammiL'elemento scelto non è dentro una terzinaselezioneImposta barrette collegateimposta battuta in levare indicando l'inizio della prima battutaimposta battuta in levare indicando l'inizio dello spartitosfmostra elementi nascostimostra numeri battutesegniordina strumentispspaziatorepentagrammaNome pentagrammaNome corto del pentagrammatempotempo ...densità del tempotempo:testotempotransp.trasponericonoscimento gruppi irregolariImpossibile impostare il punto decimale '.'. il file PostScript sarà errato. Per favore imposta correttamente la variabile ambiente $LANG!disfarivela pause nascoste selezionaterivela pause nascosteusa selezioneVocivoci con colori diversivolumedensità del volumevolume:non puoi scegliere un elemento puntatonted-1.10.18/po/es.po0000664001041000007640000012644211520270235011127 00000000000000# Traducción al español - Spanish translation. # # Copyright (C) 2009 Joerg Anders # This file is distributed under the same license as the nted package. # # # Spanish translation: Maximiliano , 2009, 2010. msgid "" msgstr "" "Project-Id-Version: nted 1.6.1\n" "Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de\n" "POT-Creation-Date: 2011-01-27 14:18+0100\n" "PO-Revision-Date: 2010-01-15 23:24+0100\n" "Last-Translator: Maximiliano \n" "Language-Team: Spanish <>\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Spanish\n" "X-Poedit-Country: SPAIN\n" "X-Poedit-SourceCharset: utf-8\n" "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: mainwindow.cpp:310 msgid "_File" msgstr "_Archivo" #: mainwindow.cpp:311 msgid "Open_Recent" msgstr "Abrir_Reciente" #: mainwindow.cpp:312 msgid "_Export" msgstr "_Exportar" #: mainwindow.cpp:313 msgid "_View" msgstr "_Ver" #: mainwindow.cpp:314 msgid "_Edit" msgstr "_Editar" #: mainwindow.cpp:315 msgid "_Tools" msgstr "_Herramientas" #: mainwindow.cpp:316 msgid "_System layout ..." msgstr "_Disposición de sistemas ..." #: mainwindow.cpp:317 msgid "_Insert" msgstr "_Insertar" #: mainwindow.cpp:318 msgid "_Upbeat ..." msgstr "_Anacrusa" #: mainwindow.cpp:319 msgid "_Preferences ..." msgstr "_Preferencias ..." #: mainwindow.cpp:320 msgid "_Dynamics ..." msgstr "_Dinámica ..." #: mainwindow.cpp:321 msgid "_Lyrics" msgstr "_Letras" #: mainwindow.cpp:322 msgid "_Help" msgstr "A_yuda" #: mainwindow.cpp:323 msgid "Configure MIDI out..." msgstr "Configurar MIDI out..." #: mainwindow.cpp:323 msgid "configure MIDI output" msgstr "configurar salida MIDI" #: mainwindow.cpp:324 msgid "Configure MIDI in..." msgstr "Configurar MIDI in..." #: mainwindow.cpp:324 msgid "configure MIDI input" msgstr "configurar entrada MIDI" #: mainwindow.cpp:325 msgid "Configure Paper..." msgstr "Configurar Página ..." #: mainwindow.cpp:325 msgid "configure paper" msgstr "configurar página" #: mainwindow.cpp:326 msgid "Configure Print..." msgstr "Configurar impresión..." #: mainwindow.cpp:326 msgid "configure print command" msgstr "configurar comando de impresión" #: mainwindow.cpp:327 msgid "New" msgstr "Nuevo" #: mainwindow.cpp:327 msgid "New File" msgstr "Nuevo Archivo" #: mainwindow.cpp:328 msgid "Open ..." msgstr "Abrir ..." #: mainwindow.cpp:328 msgid "Open a file" msgstr "Abrir un archivo" #: mainwindow.cpp:329 msgid "Save ..." msgstr "Guardar ..." #: mainwindow.cpp:329 mainwindow.cpp:330 msgid "Save a file" msgstr "Guardar en archivo" #: mainwindow.cpp:330 msgid "Save As ..." msgstr "Guardar como ..." #: mainwindow.cpp:331 msgid "Print" msgstr "Imprimir" #: mainwindow.cpp:331 msgid "print file" msgstr "imprimir archivo" #: mainwindow.cpp:332 msgid "Import MusicXML ..." msgstr "Importar MusicXML ..." #: mainwindow.cpp:332 msgid "import a musicxml file" msgstr "importar un archivo musicxml" #: mainwindow.cpp:333 msgid "Import MIDI..." msgstr "Importar MIDI ..." #: mainwindow.cpp:333 msgid "import a midi file" msgstr "importar un archivo midi" #: mainwindow.cpp:334 #, fuzzy msgid "Import MIDI(2)..." msgstr "Importar MIDI ..." #: mainwindow.cpp:334 #, fuzzy msgid "import a midi file(2)" msgstr "importar un archivo midi" #: mainwindow.cpp:335 msgid "Copy" msgstr "Copiar" #: mainwindow.cpp:335 msgid "copy - Ctrl + C" msgstr "copiar - Ctrl + C" #: mainwindow.cpp:336 msgid "Paste" msgstr "Pegar" #: mainwindow.cpp:336 msgid "paste - Ctrl + V" msgstr "pegar - Ctrl + V" #: mainwindow.cpp:337 msgid "Delete block" msgstr "Eliminar bloque" #: mainwindow.cpp:337 msgid "delete block - Ctrl + X" msgstr "eliminar bloque - Ctrl + X" #: mainwindow.cpp:338 msgid "append a system at end" msgstr "añadir un sistema al final" #: mainwindow.cpp:338 msgid "append system - Ctrl + B" msgstr "añadir sistema - Ctrl + B" #: mainwindow.cpp:339 msgid "Insert block" msgstr "Insertar bloque de compases vacíos" #: mainwindow.cpp:339 msgid "insert block" msgstr "insertar bloque" #: mainwindow.cpp:340 msgid "Insert clef ..." msgstr "Insertar clave ..." #: mainwindow.cpp:340 msgid "insert a clef" msgstr "insertar una clave" #: mainwindow.cpp:341 msgid "Empty block" msgstr "Vaciar bloque" #: mainwindow.cpp:341 msgid "empty block - Ctrl + E" msgstr "vaciar bloque - Ctrl + E" #: mainwindow.cpp:342 msgid "reposit all" msgstr "Reposicionar todo" #: mainwindow.cpp:342 msgid "reposit the whole score - Ctrl + T" msgstr "Reposicionar la partitura completa - Ctrl + T" #: mainwindow.cpp:343 msgid "Export MIDI ..." msgstr "Exportar MIDI ..." #: mainwindow.cpp:343 msgid "export a midi file" msgstr "exportar un archivo midi" #: mainwindow.cpp:344 msgid "Export LilyPond ..." msgstr "Exportar Lilypond ..." #: mainwindow.cpp:344 dialogs/lilypondexportdialog.cpp:44 msgid "LilyPond export" msgstr "Exportación Lilypond" #: mainwindow.cpp:346 msgid "Export PDF ..." msgstr "Exportar PDF ..." #: mainwindow.cpp:346 msgid "export PDF" msgstr "exportar PDF" #: mainwindow.cpp:348 msgid "Export P_NG ..." msgstr "Exportar P_NG ..." #: mainwindow.cpp:348 msgid "Write a png image" msgstr "Salvar una imagen png" #: mainwindow.cpp:350 msgid "Export S_VG ..." msgstr "Exportar S_VG ..." #: mainwindow.cpp:350 msgid "Write an svg image" msgstr "Salvar una imagen svg" #: mainwindow.cpp:352 msgid "Export P_S ..." msgstr "Exportar P_S ..." #: mainwindow.cpp:352 msgid "Write PostScript" msgstr "Salvar PostScript" #: mainwindow.cpp:353 msgid "New Window" msgstr "Ventana nueva" #: mainwindow.cpp:353 msgid "Open a new window" msgstr "Abrir en una ventana nueva" #: mainwindow.cpp:354 msgid "Excerpt ..." msgstr "Extraer partes ..." #: mainwindow.cpp:354 msgid "Make an excerpt of the score" msgstr "Extraer un parte" #: mainwindow.cpp:355 msgid "Close Window" msgstr "Cerrar Ventana" #: mainwindow.cpp:355 msgid "Close current window" msgstr "Cerrar ventana actual" #: mainwindow.cpp:358 msgid "Remove last page" msgstr "Eliminar última página" #: mainwindow.cpp:358 msgid "remove the last page" msgstr "borrar la última página" #: mainwindow.cpp:359 msgid "Remove empty pages" msgstr "Eliminar páginas vacías" #: mainwindow.cpp:359 msgid "remove empty pages at end" msgstr "borrar las páginas en blanco del final" #: mainwindow.cpp:360 msgid "Change spacement ..." msgstr "Cambiar espaciado ..." #: mainwindow.cpp:360 msgid "change the horizontal spacement" msgstr "cambiar el espaciado horizontal" #: mainwindow.cpp:361 msgid "Change Scale ..." msgstr "Ampliar/reducir ..." #: mainwindow.cpp:361 msgid "change scale" msgstr "Cambiar escalado" #: mainwindow.cpp:362 msgid "Configure Record ..." msgstr "Configurar Grabación ..." #: mainwindow.cpp:362 msgid "configure record" msgstr "configurar grabación" #: mainwindow.cpp:363 msgid "Configure Drums ..." msgstr "Configurar Percusión ..." #: mainwindow.cpp:363 msgid "configure drums" msgstr "configurar percusión" #: mainwindow.cpp:364 msgid "Tools ..." msgstr "Herramientas ..." #: mainwindow.cpp:364 msgid "Tools " msgstr "Herramientas" #: mainwindow.cpp:365 msgid "give first measure" msgstr "" "nota seleccionada (precedida de anacrusa) -> primera nota del primer compás" #: mainwindow.cpp:365 msgid "set upbeat by giving the start of first full measure" msgstr "establecer anacrusa dando la primera nota del primer compás completo" #: mainwindow.cpp:366 msgid "give start" msgstr "nota seleccionada (precedida de silencios) -> comienzo de anacrusa" #: mainwindow.cpp:366 msgid "set upbeat by giving the start of the score" msgstr "establecer anacrusa dando el comienzo de la partitura" #: mainwindow.cpp:367 msgid "Score info ..." msgstr "Información de la partitura ..." #: mainwindow.cpp:367 msgid "edit score info" msgstr "Editar la información de la partitura" #: mainwindow.cpp:368 msgid "Insert keysig ... " msgstr "Insertar armadura ..." #: mainwindow.cpp:368 msgid "insert a key signature" msgstr "insertar una armadura" #: mainwindow.cpp:369 msgid "Insert lines ... " msgstr "Insertar líneas ..." #: mainwindow.cpp:369 msgid "insert a horizontal line" msgstr "insertar una línea horizontal" #: mainwindow.cpp:370 msgid "Insert sign ... " msgstr "Insertar signo ..." #: mainwindow.cpp:370 msgid "insert a free placeable sign" msgstr "insertar libremente un signo" #: mainwindow.cpp:371 msgid "Slur" msgstr "Ligadura" #: mainwindow.cpp:371 msgid "insert a slur - Ctrl+H" msgstr "insertar una ligadura - Ctrl + H" #: mainwindow.cpp:372 msgid "chord ..." msgstr "acorde ..." #: mainwindow.cpp:372 msgid "insert a chord" msgstr "insertar un acorde" #: mainwindow.cpp:373 msgid "chordname ..." msgstr "nombre de acorde ..." #: mainwindow.cpp:373 msgid "insert a chordname" msgstr "insertar un nombre de acorde" #: mainwindow.cpp:374 msgid "spacer" msgstr "espaciador" #: mainwindow.cpp:374 msgid "insert a staff spacer" msgstr "insertar un espaciador de pentagrama" #: mainwindow.cpp:375 msgid "Append staff" msgstr "Añadir un nuevo pentagrama" #: mainwindow.cpp:375 msgid "append a new staff" msgstr "añadir un nuevo pentagrama" #: mainwindow.cpp:376 msgid "Import recorded" msgstr "Importar grabación" #: mainwindow.cpp:376 msgid "import recorded staff" msgstr "importar grabación de pentagrama" #: mainwindow.cpp:377 msgid "Lyrics editor ..." msgstr "Editor de letras ..." #: mainwindow.cpp:377 msgid "edit lyrics in text editor" msgstr "editar letras en el editor de letras" # no necesita traducción #: mainwindow.cpp:378 msgid "ppp" msgstr "" #: mainwindow.cpp:378 msgid "insert ppp" msgstr "insertar ppp" #: mainwindow.cpp:379 msgid "pp" msgstr "" #: mainwindow.cpp:379 msgid "insert pp" msgstr "insertar pp" #: mainwindow.cpp:380 msgid "p" msgstr "" #: mainwindow.cpp:380 msgid "insert p" msgstr "insertar p" #: mainwindow.cpp:381 msgid "mp" msgstr "" #: mainwindow.cpp:381 msgid "insert mp" msgstr "insertar mp" #: mainwindow.cpp:382 msgid "sp" msgstr "" #: mainwindow.cpp:382 msgid "insert sp" msgstr "insertar sp" #: mainwindow.cpp:383 msgid "mf" msgstr "" #: mainwindow.cpp:383 msgid "insert mf" msgstr "insertar mf" #: mainwindow.cpp:384 msgid "sf" msgstr "" #: mainwindow.cpp:384 msgid "insert sf" msgstr "insertar sf" #: mainwindow.cpp:385 msgid "f" msgstr "" #: mainwindow.cpp:385 msgid "insert f" msgstr "insertar f" #: mainwindow.cpp:386 msgid "ff" msgstr "" #: mainwindow.cpp:386 msgid "insert ff" msgstr "insertar ff" #: mainwindow.cpp:387 msgid "fff" msgstr "" #: mainwindow.cpp:387 msgid "insert fff" msgstr "insertar fff" #: mainwindow.cpp:388 msgid "tempo ..." msgstr "" #: mainwindow.cpp:388 msgid "insert tempo" msgstr "insertar tempo" #: mainwindow.cpp:389 msgid "Text ..." msgstr "Texto ..." #: mainwindow.cpp:389 msgid "insert text" msgstr "insertar texto" #: mainwindow.cpp:390 msgid "accelerando" msgstr "" #: mainwindow.cpp:390 msgid "insert accelerando" msgstr "insertar accelerando" #: mainwindow.cpp:391 msgid "ritardando" msgstr "" #: mainwindow.cpp:391 msgid "insert ritardando" msgstr "insertar ritardando" #: mainwindow.cpp:392 msgid "lyrics1" msgstr "1ª letra" #: mainwindow.cpp:392 msgid "insert lyrics at line 1" msgstr "insertar letras en la 1ª línea" #: mainwindow.cpp:393 msgid "lyrics2" msgstr "2ª letra" #: mainwindow.cpp:393 msgid "insert lyrics at line 2" msgstr "insertar letras en la 2ª línea" #: mainwindow.cpp:394 msgid "lyrics3" msgstr "3ª letra" #: mainwindow.cpp:394 msgid "insert lyrics at line 3" msgstr "insertar letras en la 3ª línea" #: mainwindow.cpp:395 msgid "lyrics4" msgstr "4ª letra" #: mainwindow.cpp:395 msgid "insert lyrics at line 4" msgstr "insertar letras en la 4ª línea" #: mainwindow.cpp:396 msgid "lyrics5" msgstr "5ª letra" #: mainwindow.cpp:396 msgid "insert lyrics at line 5" msgstr "insertar letras en la 5ª línea" #: mainwindow.cpp:397 msgid "Insert tuplet ..." msgstr "Insertar grupo de valoración especial" #: mainwindow.cpp:397 msgid "insert a tuplet (Ctrl + num)" msgstr "insertar un grupo de valoración especial (Ctrl + núm)" #: mainwindow.cpp:398 msgid "brace" msgstr "llave" #: mainwindow.cpp:398 msgid "group staves by means of a brace" msgstr "agrupar pentagramas por medio de una llave" #: mainwindow.cpp:399 msgid "bracket" msgstr "corchete" #: mainwindow.cpp:399 msgid "group staves by means of a bracket" msgstr "agrupar pentagramas por medio de un corchete" #: mainwindow.cpp:400 msgid "connect barlines" msgstr "conectar líneas divisorias" #: mainwindow.cpp:400 msgid "set connected bar lines" msgstr "establecer líneas divisorias conectadas" #: mainwindow.cpp:401 msgid "remove group" msgstr "eliminar grupo" #: mainwindow.cpp:401 msgid "remove a group of connected staves" msgstr "eliminar una grupo de pentagramas conectados" #: mainwindow.cpp:402 msgid "Remove tuplet" msgstr "Eliminar grupo de valoración especial" #: mainwindow.cpp:402 msgid "remove a tuplet" msgstr "elimina un grupo de valoración especial" #: mainwindow.cpp:403 msgid "Muting ..." msgstr "Silenciar ..." #: mainwindow.cpp:403 msgid "mute some staves" msgstr "silenciar algunos pentagramas" #: mainwindow.cpp:404 msgid "Transpose ..." msgstr "Transportar ..." #: mainwindow.cpp:404 msgid "transpose" msgstr "Transporte" #: mainwindow.cpp:405 msgid "hide rests" msgstr "ocultar silencios" #: mainwindow.cpp:405 msgid "hide (selected) rests" msgstr "ocultar silencios (seleccionados)" #: mainwindow.cpp:406 msgid "unhide rests" msgstr "des-ocultar silencios" #: mainwindow.cpp:406 msgid "unhide (selected) rests" msgstr "des-ocultar silencios (seleccionados)" #: mainwindow.cpp:407 msgid "hide rests (all v.)" msgstr "ocultar silencios (todas las voces)" #: mainwindow.cpp:407 msgid "hide selected rests (all v.)" msgstr "ocultar silencios seleccionados (todas las voces)" #: mainwindow.cpp:408 msgid "unhide rests (all v.)" msgstr "des-ocultar silencios (todas las voces)" #: mainwindow.cpp:408 msgid "unhide selected rests (all v.)" msgstr "des-ocultar silencios seleccionados (todas las voces)" #: mainwindow.cpp:409 msgid "set all to sharp ..." msgstr "cambiar todo a sostenidos ..." #: mainwindow.cpp:409 msgid "set all flats to sharp" msgstr "convierte todos los bemoles a sostenidos" #: mainwindow.cpp:410 msgid "set all to flat ..." msgstr "cambiar todo a bemoles ..." #: mainwindow.cpp:410 msgid "set all sharps to flat" msgstr "convierte todos los sostenidos a bemoles" #: mainwindow.cpp:411 msgid "About NtEd" msgstr "Sobre NtEd" #: mainwindow.cpp:413 msgid "Documentation ..." msgstr "Documentación ..." #: mainwindow.cpp:415 msgid "License" msgstr "Licencia" #: mainwindow.cpp:416 msgid "E_xit" msgstr "Salir" #: mainwindow.cpp:416 msgid "Exit the program" msgstr "Salir del programa" #: mainwindow.cpp:420 msgid "play" msgstr "Tocar" #: mainwindow.cpp:421 msgid "voices in different colors" msgstr "Voces en colores diferentes" #: mainwindow.cpp:422 msgid "show measure numbers" msgstr "mostrar los números de compás" #: mainwindow.cpp:423 msgid "show hidden elements" msgstr "mostrar elementos ocultos" #: mainwindow.cpp:424 msgid "midi input" msgstr "entrada midi" #: mainwindow.cpp:425 msgid "record midi" msgstr "grabación midi" #: mainwindow.cpp:425 msgid "record midi - i" msgstr "grabación midi -i" #: mainwindow.cpp:429 msgid "in" msgstr "acercar" #: mainwindow.cpp:429 msgid "Zoom in Ctrl + +" msgstr "Acercar Ctrl + +" #: mainwindow.cpp:430 msgid "out" msgstr "alejar" #: mainwindow.cpp:430 msgid "Zoom out Ctrl + -" msgstr "Alejar Ctrl + -" #: mainwindow.cpp:431 msgid "undo" msgstr "deshacer" #: mainwindow.cpp:431 msgid "Undo Ctrl + z" msgstr "Deshacer Ctrl + z" #: mainwindow.cpp:432 msgid "redo" msgstr "rehacer" #: mainwindow.cpp:432 msgid "Redo Ctrl + y" msgstr "Rehacer Ctrl + y" #: mainwindow.cpp:433 msgid "customize beam" msgstr "Personalizar barra - Ctrl + j" #: mainwindow.cpp:433 msgid "customize beam - Ctrl + j" msgstr "Personalizar barra - Ctrl + j" #: mainwindow.cpp:434 msgid "flip stem" msgstr "voltear plica - Ctrl + f" #: mainwindow.cpp:434 msgid "flip stem - Ctrl + f" msgstr "voltear plica - Ctrl + f" #: mainwindow.cpp:438 msgid "insert" msgstr "insertar" #: mainwindow.cpp:438 msgid "Toggle Insert/Erase Mode - n" msgstr "Cambiar Modo Insertar/Borrar - n" #: mainwindow.cpp:442 msgid "page" msgstr "página" #: mainwindow.cpp:442 msgid "Page Mode - p" msgstr "Modo Página - p" #: mainwindow.cpp:443 dialogs/staffcontextdialog.cpp:177 #: dialogs/keysigdialog.cpp:42 dialogs/midirecordconfigdialog.cpp:160 msgid "key" msgstr "tonalidad" #: mainwindow.cpp:443 msgid "Keyboard insert mode - k" msgstr "Modo Inserción con teclado - k" #: mainwindow.cpp:1625 msgid "Cannot replay because could not open ALSA sequencer" msgstr "No se puede reproducir porque no se puede abrir el secuenciador ALSA" #: mainwindow.cpp:2776 mainwindow.cpp:5110 mainwindow.cpp:5156 #: mainwindow.cpp:6090 mainwindow.cpp:6180 mainwindow.cpp:6937 #: mainwindow.cpp:9584 msgid "Save Changes ?" msgstr "¿ Guardar cambios ?" #: mainwindow.cpp:2894 mainwindow.cpp:2995 mainwindow.cpp:3576 #: mainwindow.cpp:3696 mainwindow.cpp:9035 mainwindow.cpp:9147 #: mainwindow.cpp:9271 mainwindow.cpp:9360 dialogs/lyricseditor.cpp:350 #: dialogs/drumconfigdialog.cpp:493 #, c-format msgid "Cannot open %s for writing" msgstr "No se puede abrir %s para escritura" #: mainwindow.cpp:2905 mainwindow.cpp:3009 #, c-format msgid "Cannot rename %s to %s" msgstr "No se puede renombrar %s a %s" #: mainwindow.cpp:2940 msgid "Save score" msgstr "Guardar partitura" #: mainwindow.cpp:2982 mainwindow.cpp:3564 mainwindow.cpp:3684 #: mainwindow.cpp:8995 mainwindow.cpp:9135 mainwindow.cpp:9259 #: mainwindow.cpp:9348 dialogs/lyricseditor.cpp:336 #: dialogs/drumconfigdialog.cpp:479 #, c-format msgid "File %s already exists. Overwrite ?" msgstr "El archivo %s ya existe. ¿ Sobreescribirlo ?" #: mainwindow.cpp:3272 mainwindow.cpp:3416 msgid "Please select a note or rest!" msgstr "¡ Por favor seleccione una nota o silencio !" #: mainwindow.cpp:3277 msgid "You select a note in an tuplet" msgstr "Seleccione una nota en un grupo de valoración especial" #: mainwindow.cpp:3281 msgid "You cannot copy incomplete tuplets!" msgstr "¡ No puede copiar grupos de valoración especial incompletos !" #: mainwindow.cpp:3296 msgid "Paste not possible: A tuplet would cross a measure" msgstr "Pegado no posible: Un grupo cruzaría un compás" #: mainwindow.cpp:3443 msgid "Empty not possible because of incomplete tuplets" msgstr "Vaciado no posible debido a grupos incompletos" #: mainwindow.cpp:4112 #, c-format msgid "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "Translation: " msgstr "" "Version NtEd %s por Joerg Anders\n" "Envíe errores a %s\n" "\n" "Información en http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted." "xhtml\n" "\n" "Autor:\n" " J.Anders \n" "\n" "Traducción:\n" " Maximiliano G. G. " #: mainwindow.cpp:4123 msgid "" "Excuse! The documentation is not available\n" "due to an installation error" msgstr "" "¡ Lo siento ! La documentación no está disponible\n" "debido a un error de instalación" #: mainwindow.cpp:4133 msgid "Excuse! Cannot exec" msgstr "" #: mainwindow.cpp:4138 msgid "Excuse! Cannot fork" msgstr "" #: mainwindow.cpp:4880 mainwindow.cpp:4902 mainwindow.cpp:7850 msgid "please select a note or rest first" msgstr "Por favor seleccione antes una nota o un silencio" #: mainwindow.cpp:4884 mainwindow.cpp:7854 msgid "you cannot select an element with dot" msgstr "no puede seleccionar una figura con puntillo" #: mainwindow.cpp:4894 mainwindow.cpp:7869 msgid "I'm not able to create a tuplet here" msgstr "No puedo crear un grupo especial aquí" #: mainwindow.cpp:4906 msgid "selected element is not inside a tuplet" msgstr "el elemento seleccionado no está dentro de un grupo especial" #: mainwindow.cpp:5171 msgid "Open score" msgstr "Abrir partitura" #: mainwindow.cpp:5211 mainwindow.cpp:6306 mainwindow.cpp:6966 #: dialogs/lyricseditor.cpp:433 dialogs/drumconfigdialog.cpp:567 #, c-format msgid "Cannot open %s for reading" msgstr "No se puede abrir %s para lectura" #: mainwindow.cpp:6105 msgid "Import MusicXML" msgstr "Importar MusicXML" #: mainwindow.cpp:7030 mainwindow.cpp:7056 msgid "Cannot list midi ports because could not open ALSA sequencer" msgstr "" "No puedo listar los puertos midi porque no puedo abrir el secuenciador ALSA" #: mainwindow.cpp:7127 msgid "Font selection - Measure numbers" msgstr "Selección de fuente - Números de compás" #: mainwindow.cpp:7749 msgid "Adjust notes ?" msgstr "¿ Ajustar notas ?" #: mainwindow.cpp:8951 msgid "Create PNG" msgstr "Crear PNG" #: mainwindow.cpp:9091 msgid "Create SVG" msgstr "Crear SVG" #: mainwindow.cpp:9217 msgid "Create Postscript" msgstr "Exportar como Postscript" #: mainwindow.cpp:9306 msgid "Create PDF" msgstr "Exportar como PDF" #: mainwindow.cpp:9470 dialogs/lilypondexportdialog.cpp:70 msgid "select staves" msgstr "seleccionar pentagramas" #: mainwindow.cpp:9627 #, c-format msgid "Usage: %s [.ntd]\n" msgstr "Uso: %s [.ntd]\n" #: mainwindow.cpp:9655 msgid "" "unable to set decimal point to '.'. PostScript output will be erroneous. \t\t" "\tPlease set the $LANG environment variable appropriately!" msgstr "" #: resource.cpp:380 msgid "Piano 1" msgstr "" #: resource.cpp:380 msgid "Piano 2" msgstr "" #: resource.cpp:380 msgid "Piano 3" msgstr "" #: resource.cpp:380 msgid "Honky-tonk" msgstr "" #: resource.cpp:381 msgid "E.Piano 1" msgstr "Piano eléctrico 1" #: resource.cpp:381 msgid "E.Piano 2" msgstr "Piano eléctrico 2" #: resource.cpp:381 msgid "Harpsichord" msgstr "Clavecín" #: resource.cpp:381 msgid "Clavinet" msgstr "" #: resource.cpp:382 msgid "Celesta" msgstr "" #: resource.cpp:382 msgid "Glockenspiel" msgstr "" #: resource.cpp:382 msgid "Music Box" msgstr "Caja de música" #: resource.cpp:382 msgid "Vibraphone" msgstr "Vibráfono" #: resource.cpp:383 msgid "Marimba" msgstr "" #: resource.cpp:383 msgid "Xylophone" msgstr "Xilófono" #: resource.cpp:383 msgid "Tubular Bells" msgstr "Campanas tubulares" #: resource.cpp:383 msgid "Dulcimer" msgstr "Salterio" #: resource.cpp:384 msgid "Organ 1" msgstr "Órgano 1" #: resource.cpp:384 msgid "Organ 2" msgstr "Órgano 2" #: resource.cpp:384 msgid "Organ 3" msgstr "Órgano 3" #: resource.cpp:384 msgid "Church Organ" msgstr "Órgano de iglesia" #: resource.cpp:385 msgid "Reed Organ" msgstr "" #: resource.cpp:385 msgid "Accordion" msgstr "Acordeón" #: resource.cpp:385 msgid "Harmonica" msgstr "Armónica" #: resource.cpp:385 msgid "Bandoneon" msgstr "Bandoneón" #: resource.cpp:386 msgid "Nylon Guitar" msgstr "" #: resource.cpp:386 msgid "Steel Guitar" msgstr "" #: resource.cpp:386 msgid "Jazz Guitar" msgstr "" #: resource.cpp:386 msgid "Clean Guitar" msgstr "" #: resource.cpp:387 msgid "Guitar Mutes" msgstr "" #: resource.cpp:387 msgid "Overdrive Guitar" msgstr "" #: resource.cpp:387 msgid "Guitar Harmonics" msgstr "" #: resource.cpp:388 msgid "Acoustic Bass" msgstr "" #: resource.cpp:388 msgid "Fingered Bass" msgstr "" #: resource.cpp:388 msgid "Picked Bass" msgstr "" #: resource.cpp:388 msgid "Fretless Bass" msgstr "" #: resource.cpp:389 msgid "Slap Bass 1" msgstr "" #: resource.cpp:389 msgid "Slap Bass 2" msgstr "" #: resource.cpp:389 msgid "Synth Bass 1" msgstr "" #: resource.cpp:389 msgid "Synth Bass 2" msgstr "" #: resource.cpp:390 msgid "Violin" msgstr "Violín" #: resource.cpp:390 msgid "Viola" msgstr "" #: resource.cpp:390 msgid "Cello" msgstr "Violonchelo" #: resource.cpp:390 msgid "Contrabass" msgstr "Contrabajo" #: resource.cpp:391 msgid "Tremolo Strings" msgstr "" #: resource.cpp:391 msgid "Pizzicato" msgstr "" #: resource.cpp:391 msgid "Harp" msgstr "Arpa" #: resource.cpp:391 msgid "Timpani" msgstr "Timbales" #: resource.cpp:392 msgid "Strings" msgstr "Cuerdas" #: resource.cpp:392 msgid "Slow Strings" msgstr "" #: resource.cpp:392 msgid "Synth Strings 1" msgstr "" #: resource.cpp:392 msgid "Synth Strings 2" msgstr "" #: resource.cpp:393 msgid "Choir Aahs" msgstr "" #: resource.cpp:393 msgid "Voice Oohs" msgstr "" #: resource.cpp:393 msgid "Synth Vox" msgstr "" #: resource.cpp:393 msgid "Orchestra Hit" msgstr "" #: resource.cpp:394 msgid "Trumpet" msgstr "Trompeta" #: resource.cpp:394 msgid "Trombone" msgstr "Trombón" #: resource.cpp:394 msgid "Tuba" msgstr "" #: resource.cpp:394 msgid "Mute Trumpet" msgstr "Trompeta con sordina" #: resource.cpp:395 msgid "French Horns" msgstr "Trompa" #: resource.cpp:395 msgid "Brass" msgstr "" #: resource.cpp:395 msgid "Synth Brass 1" msgstr "" #: resource.cpp:395 msgid "Synth Brass 2" msgstr "" #: resource.cpp:396 msgid "Soprano Sax" msgstr "Saxo Soprano" #: resource.cpp:396 msgid "Alto Sax" msgstr "Saxo Alto" #: resource.cpp:396 msgid "Tenor Sax" msgstr "Saxo Tenor" #: resource.cpp:396 msgid "Baritone Sax" msgstr "Saxo Barítono" #: resource.cpp:397 msgid "Oboe" msgstr "" #: resource.cpp:397 msgid "English Horn" msgstr "Corno inglés" #: resource.cpp:397 msgid "Bassoon" msgstr "Fagot" #: resource.cpp:397 msgid "Clarinet" msgstr "Clarinete" #: resource.cpp:398 msgid "Piccolo" msgstr "" #: resource.cpp:398 msgid "Flute" msgstr "Flauta" #: resource.cpp:398 msgid "Recorder" msgstr "Flauta de pico" #: resource.cpp:398 msgid "Pan Flute" msgstr "Flauta de Pan" #: resource.cpp:399 msgid "Bottle Chiff" msgstr "" #: resource.cpp:399 msgid "Shakuhachi" msgstr "" #: resource.cpp:399 msgid "Whistle" msgstr "" #: resource.cpp:399 msgid "Ocarina" msgstr "" #: resource.cpp:400 msgid "Square Wave" msgstr "" #: resource.cpp:400 msgid "Saw Wave" msgstr "" #: resource.cpp:400 msgid "Synth Calliope" msgstr "" #: resource.cpp:400 msgid "Chiffer Lead" msgstr "" #: resource.cpp:401 msgid "Charang" msgstr "" #: resource.cpp:401 msgid "Solo Vox" msgstr "" #: resource.cpp:401 msgid "5th Saw Wave" msgstr "" #: resource.cpp:401 msgid "Bass & Lead" msgstr "" #: resource.cpp:402 msgid "Fantasia" msgstr "" #: resource.cpp:402 msgid "Warm Pad" msgstr "" #: resource.cpp:402 msgid "Poly Synth" msgstr "" #: resource.cpp:402 msgid "Space Voice" msgstr "" #: resource.cpp:403 msgid "Bowed Glass" msgstr "" #: resource.cpp:403 msgid "Metal Pad" msgstr "" #: resource.cpp:403 msgid "Halo Pad" msgstr "" #: resource.cpp:403 msgid "Sweep Pad" msgstr "" #: resource.cpp:404 msgid "Ice Rain" msgstr "" #: resource.cpp:404 msgid "Soundtrack" msgstr "" #: resource.cpp:404 msgid "Crystal" msgstr "" #: resource.cpp:404 msgid "Atmosphere" msgstr "" #: resource.cpp:405 msgid "Brightness" msgstr "" #: resource.cpp:405 msgid "Goblin" msgstr "" #: resource.cpp:405 msgid "Echo Drops" msgstr "" #: resource.cpp:405 msgid "Star Theme" msgstr "" #: resource.cpp:406 msgid "Sitar" msgstr "" #: resource.cpp:406 msgid "Banjo" msgstr "" #: resource.cpp:406 msgid "Shamisen" msgstr "" #: resource.cpp:406 msgid "Koto" msgstr "" #: resource.cpp:407 msgid "Kalimba" msgstr "" #: resource.cpp:407 msgid "Bagpipe" msgstr "" #: resource.cpp:407 msgid "Fiddle" msgstr "" #: resource.cpp:407 msgid "Shenai" msgstr "" #: resource.cpp:408 msgid "Tinker Bell" msgstr "" #: resource.cpp:408 msgid "Agogo" msgstr "" #: resource.cpp:408 msgid "Steel Drum" msgstr "" #: resource.cpp:408 msgid "Wood Block" msgstr "" #: resource.cpp:409 msgid "Taiko Drum" msgstr "" #: resource.cpp:409 msgid "Melodic Tom" msgstr "" #: resource.cpp:409 msgid "Synth Drum" msgstr "" #: resource.cpp:409 msgid "Reverse Cymbal" msgstr "" #: resource.cpp:410 msgid "Fret Noise" msgstr "" #: resource.cpp:410 msgid "Breath Noise" msgstr "" #: resource.cpp:410 msgid "Seashore" msgstr "" #: resource.cpp:410 msgid "Bird" msgstr "Pájaro" #: resource.cpp:411 msgid "Telephone" msgstr "Teléfono" #: resource.cpp:411 msgid "Helicopter" msgstr "Helicóptero" #: resource.cpp:411 msgid "Applause" msgstr "Aplauso" #: resource.cpp:411 msgid "Gun Shot" msgstr "Disparo" #: resource.cpp:827 msgid "" "Cannot open ALSA MIDI sequencer --> replay won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "No se puede abrir el secuenciador MIDI ALSA --> reproducir no funcionará :-" "((\n" "Pruebe (como root)\n" "modprobe snd-seq-midi\n" "y reinicie NtEd\n" "Quizás esto ayude(?)" #: resource.cpp:835 msgid "Error creating ALSA sequencer output port --> replay won't work :-((" msgstr "" "Error creando el puerto de salida del secuencidor ALSA --> reproducir no " "funcionará :-((" #: resource.cpp:845 msgid "" "Cannot open ALSA MIDI sequencer --> read/record won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "No se puede abrir el secuenciador MIDI ALSA --> reproducir/grabar no " "funcionará :-((\n" "Pruebe (como root)\n" "modprobe snd-seq-midi\n" "y reinicie NtEd\n" "Quizás esto ayude(?)" #: resource.cpp:853 msgid "Error creating ALSA sequencer input port --> record won't work :-((" msgstr "" "Error creando el puerto de entrada del secuenciador ALSA --> grabar no " "funcionará :-((" #: dialogs/paperconfigdialog.cpp:37 dialogs/paperconfigdialog.cpp:41 msgid "Paper" msgstr "Papel" #: dialogs/paperconfigdialog.cpp:46 msgid "paper type" msgstr "tipo de papel" #: dialogs/paperconfigdialog.cpp:81 msgid "orientation" msgstr "orientación" #: dialogs/paperconfigdialog.cpp:82 msgid "portrait" msgstr "vertical" #: dialogs/paperconfigdialog.cpp:83 msgid "landscape" msgstr "apaisado" #: dialogs/portchoosedialog.cpp:46 msgid "MIDI ports" msgstr "puertos MIDI" #: dialogs/portchoosedialog.cpp:60 dialogs/staffcontextdialog.cpp:321 #: dialogs/staffcontextdialog.cpp:437 dialogs/textdialog.cpp:200 #: dialogs/midirecordconfigdialog.cpp:133 dialogs/staffselectdialog.cpp:69 #: dialogs/drumconfigdialog.cpp:110 msgid "no" msgstr "núm." #: dialogs/portchoosedialog.cpp:62 msgid "port" msgstr "puerto" #: dialogs/portchoosedialog.cpp:78 msgid "midi echo" msgstr "eco midi" #: dialogs/printconfigdialog.cpp:31 msgid "Print command" msgstr "Comando de impresión" #: dialogs/printconfigdialog.cpp:35 msgid "print command" msgstr "comando de impresión" #: dialogs/staffcontextdialog.cpp:31 msgid "G flat Major; e flat minor" msgstr "Sol bemol Mayor; mi bemol menor" #: dialogs/staffcontextdialog.cpp:31 msgid "D flat Major; b flat minor" msgstr "Re bemol Mayor; si bemol menor" #: dialogs/staffcontextdialog.cpp:32 msgid "A flat Major; f minor" msgstr "La bemol Mayor; fa menor" #: dialogs/staffcontextdialog.cpp:32 msgid "E flat Major; c minor" msgstr "Mi bemol Mayor; do menor" #: dialogs/staffcontextdialog.cpp:33 msgid "B flat Major; g minor" msgstr "Si bemol Mayor; sol menor" #: dialogs/staffcontextdialog.cpp:33 msgid "F Major; d minor" msgstr "Fa Mayor; re menor" #: dialogs/staffcontextdialog.cpp:34 msgid "C Major; a minor" msgstr "Do Mayor; la menor" #: dialogs/staffcontextdialog.cpp:34 msgid "G Major; e minor" msgstr "Sol Mayor; mi menor" #: dialogs/staffcontextdialog.cpp:35 msgid "D Major; b minor" msgstr "Re Mayor; si menor" #: dialogs/staffcontextdialog.cpp:35 msgid "A Major; f sharp minor" msgstr "La Mayor; fa sostenido menor" #: dialogs/staffcontextdialog.cpp:36 msgid "E Major; c sharp minor" msgstr "Mi Mayor; do sostenido menor" #: dialogs/staffcontextdialog.cpp:36 msgid "B Major; g sharp minor" msgstr "Si Mayor; sol sostenido menor" #: dialogs/staffcontextdialog.cpp:37 msgid "F sharp Major; d sharp minor" msgstr "Fa sostenido Mayor; re sostenido menor" #: dialogs/staffcontextdialog.cpp:120 msgid "Staff context" msgstr "Contexto de pentagrama" #: dialogs/staffcontextdialog.cpp:132 dialogs/clefconfigdialog.cpp:49 msgid "clef" msgstr "clave" #: dialogs/staffcontextdialog.cpp:157 dialogs/clefconfigdialog.cpp:74 msgid "Octave shift:" msgstr "Transposición de octava:" #: dialogs/staffcontextdialog.cpp:163 dialogs/keysigdialog.cpp:66 #: dialogs/clefconfigdialog.cpp:81 msgid "adjust notes" msgstr "ajustar notas" #: dialogs/staffcontextdialog.cpp:200 dialogs/measureconfigdialog.cpp:110 #: dialogs/midirecordconfigdialog.cpp:70 msgid "time signature" msgstr "Indicación de compás" #: dialogs/staffcontextdialog.cpp:204 dialogs/measureconfigdialog.cpp:114 #: dialogs/midirecordconfigdialog.cpp:74 msgid "Numerator:" msgstr "Numerador:" #: dialogs/staffcontextdialog.cpp:205 dialogs/measureconfigdialog.cpp:115 #: dialogs/midirecordconfigdialog.cpp:75 msgid "Denominator:" msgstr "Denominador:" #: dialogs/staffcontextdialog.cpp:248 msgid "staff name" msgstr "nombre de pentagrama" #: dialogs/staffcontextdialog.cpp:255 msgid "staff short name" msgstr "nombre abreviado de pentagrama" #: dialogs/staffcontextdialog.cpp:262 msgid "group name" msgstr "nombre de grupo" #: dialogs/staffcontextdialog.cpp:269 msgid "group short name" msgstr "nombre abreviado de grupo" #: dialogs/staffcontextdialog.cpp:278 dialogs/tempodialog.cpp:154 #: dialogs/textdialog.cpp:138 dialogs/midirecordconfigdialog.cpp:147 msgid "tempo" msgstr "tempo" #: dialogs/staffcontextdialog.cpp:283 msgid "chorus" msgstr "" #: dialogs/staffcontextdialog.cpp:289 msgid "transp." msgstr "" #: dialogs/staffcontextdialog.cpp:295 msgid "reverb" msgstr "" #: dialogs/staffcontextdialog.cpp:301 dialogs/textdialog.cpp:123 #: dialogs/midirecordconfigdialog.cpp:153 msgid "volume" msgstr "volúmen" #: dialogs/staffcontextdialog.cpp:307 msgid "pan" msgstr "balance" #: dialogs/staffcontextdialog.cpp:323 dialogs/textdialog.cpp:202 #: dialogs/midirecordconfigdialog.cpp:135 msgid "instruments" msgstr "instrumentos" #: dialogs/staffcontextdialog.cpp:332 dialogs/textdialog.cpp:150 msgid "channel" msgstr "canal" #: dialogs/staffcontextdialog.cpp:337 dialogs/mutedialog.cpp:69 msgid "muting" msgstr "silenciar" #: dialogs/staffcontextdialog.cpp:338 dialogs/staffcontextdialog.cpp:370 #: dialogs/mutedialog.cpp:72 dialogs/selectordialog.cpp:98 msgid "all" msgstr "todos" #: dialogs/staffcontextdialog.cpp:369 msgid "voices" msgstr "voces" #: dialogs/staffcontextdialog.cpp:429 dialogs/staffselectdialog.cpp:58 msgid "staff" msgstr "pentagrama" #: dialogs/staffcontextdialog.cpp:435 dialogs/staffselectdialog.cpp:67 msgid "item" msgstr "" #: dialogs/staffcontextdialog.cpp:485 msgid "Score" msgstr "Partitura" #: dialogs/staffcontextdialog.cpp:486 msgid "MIDI" msgstr "" #: dialogs/staffcontextdialog.cpp:495 msgid "Staff position" msgstr "Posición de pentagrama" #: dialogs/tupletdialog.cpp:34 msgid "Tuplet" msgstr "Grupo de valoración especial" #: dialogs/tupletdialog.cpp:40 msgid "" "Instead of using this dialog\n" "you can simply press + num" msgstr "" "En vez de usar este diálogo\n" "puede simplemente pulsar + núm" #: dialogs/tupletdialog.cpp:42 msgid "Tuplet value:" msgstr "Valor grupo:" #: dialogs/tupletdialog.cpp:47 msgid "method 2" msgstr "método 2" #: dialogs/insertblockdialog.cpp:32 msgid "Insert blocks" msgstr "Insertar bloques" #: dialogs/insertblockdialog.cpp:39 msgid "block count:" msgstr "Número de bloques:" #: dialogs/measureconfigdialog.cpp:53 msgid "Measure type" msgstr "Tipo de compás" #: dialogs/measureconfigdialog.cpp:62 msgid "measure type" msgstr "tipo de compás" #: dialogs/measureconfigdialog.cpp:89 msgid "alternative 1" msgstr "1ª volta" #: dialogs/measureconfigdialog.cpp:90 msgid "alternative 2" msgstr "2ª volta" #: dialogs/measureconfigdialog.cpp:99 msgid "hide following" msgstr "ocultar lo que sigue" #: dialogs/measureconfigdialog.cpp:158 msgid "enable timesig" msgstr "permitir indicación de compás" #: dialogs/measureconfigdialog.cpp:160 msgid "delete timesig" msgstr "borrar indicación de compás" #: dialogs/keysigdialog.cpp:37 msgid "New keysignature" msgstr "Tonalidad nueva" #: dialogs/keysigdialog.cpp:64 msgid "adjust" msgstr "ajustar" #: dialogs/scoreinfodialog.cpp:71 dialogs/scoreinfodialog.cpp:75 msgid "Score info" msgstr "Información de la pratitura" #: dialogs/scoreinfodialog.cpp:79 msgid "Title:" msgstr "Título:" #: dialogs/scoreinfodialog.cpp:87 msgid "Subject:" msgstr "Tema:" #: dialogs/scoreinfodialog.cpp:95 msgid "Composer:" msgstr "Compositor:" #: dialogs/scoreinfodialog.cpp:103 msgid "Arranger:" msgstr "Arreglista:" #: dialogs/scoreinfodialog.cpp:111 msgid "Copyright:" msgstr "" #: dialogs/clefconfigdialog.cpp:44 msgid "Clef configuration" msgstr "Configuración de clave" #: dialogs/volumedialog.cpp:32 msgid "Set Volume" msgstr "Establecer volúmen" #: dialogs/volumedialog.cpp:44 msgid "volume:" msgstr "volumen:" #: dialogs/tempodialog.cpp:56 msgid "Set Tempo" msgstr "Establecer Tempo" #: dialogs/tempodialog.cpp:128 msgid "kind" msgstr "figura" #: dialogs/tempodialog.cpp:150 msgid "tempo:" msgstr "" #: dialogs/lyricseditor.cpp:67 msgid "Lyrics" msgstr "Letras" #: dialogs/lyricseditor.cpp:85 msgid "lyrics 1" msgstr "1ª letra" #: dialogs/lyricseditor.cpp:86 msgid "lyrics 2" msgstr "2ª letra" #: dialogs/lyricseditor.cpp:87 msgid "lyrics 3" msgstr "3ª letra" #: dialogs/lyricseditor.cpp:88 msgid "lyrics 4" msgstr "4ª letra" #: dialogs/lyricseditor.cpp:89 msgid "lyrics 5" msgstr "5ª letra" #: dialogs/lyricseditor.cpp:135 dialogs/drumconfigdialog.cpp:230 msgid "load from file" msgstr "cargar desde archivo" #: dialogs/lyricseditor.cpp:136 dialogs/drumconfigdialog.cpp:231 msgid "save to file" msgstr "guardar en archivo" #: dialogs/lyricseditor.cpp:143 dialogs/drumconfigdialog.cpp:247 msgid "file" msgstr "archivo" #: dialogs/lyricseditor.cpp:292 msgid "Save lyrics" msgstr "Guardar letras" #: dialogs/lyricseditor.cpp:392 msgid "Open lyrics file" msgstr "Abrir un archivo de letras" #: dialogs/mutedialog.cpp:34 msgid "Muting" msgstr "Silenciar" #: dialogs/mutedialog.cpp:55 dialogs/selectordialog.cpp:61 #, c-format msgid "Staff %d" msgstr "Pentagrama %d" #: dialogs/mutedialog.cpp:74 dialogs/selectordialog.cpp:100 msgid "none" msgstr "ninguno" #: dialogs/linesdialog.cpp:40 msgid "Lines" msgstr "Líneas" #: dialogs/linesdialog.cpp:46 msgid "lines" msgstr "líneas" #: dialogs/selectordialog.cpp:35 msgid "Transpose" msgstr "Transportar" #: dialogs/selectordialog.cpp:39 msgid "Select" msgstr "Seleccionar" #: dialogs/selectordialog.cpp:73 msgid "half-tones" msgstr "semitonos" #: dialogs/selectordialog.cpp:76 dialogs/selectordialog.cpp:95 #: chords/chorddialog.cpp:159 msgid "selection" msgstr "selección" #: dialogs/selectordialog.cpp:87 msgid "use selection" msgstr "utilizar selección" #: dialogs/textdialog.cpp:69 msgid "Text" msgstr "Texto" #: dialogs/textdialog.cpp:89 chords/chorddialog.cpp:111 msgid "text" msgstr "texto" #: dialogs/textdialog.cpp:98 msgid "select font" msgstr "seleccionar fuente" #: dialogs/textdialog.cpp:105 msgid "anchor" msgstr "anclaje" #: dialogs/textdialog.cpp:108 msgid "left" msgstr "izquierda" #: dialogs/textdialog.cpp:109 msgid "mid" msgstr "centrado" #: dialogs/textdialog.cpp:110 msgid "right" msgstr "derecha" #: dialogs/textdialog.cpp:130 msgid "enable volume change" msgstr "permitir cambio de volúmen" #: dialogs/textdialog.cpp:143 msgid "enable tempo change" msgstr "permitir cambio de tempo" #: dialogs/textdialog.cpp:155 msgid "enable channel change" msgstr "permitir cambio de canal" #: dialogs/textdialog.cpp:162 msgid "D.S" msgstr "" #: dialogs/textdialog.cpp:165 msgid "No segno meaning" msgstr "Sin aplicación" #: dialogs/textdialog.cpp:166 msgid "D.S. al Fine" msgstr "" #: dialogs/textdialog.cpp:167 msgid "D.S. al Coda" msgstr "" #: dialogs/textdialog.cpp:168 msgid "D. Capo al Fine" msgstr "" #: dialogs/textdialog.cpp:169 msgid "D. Capo al Coda" msgstr "" #: dialogs/textdialog.cpp:170 msgid "Fine" msgstr "" #: dialogs/textdialog.cpp:171 msgid "al Coda" msgstr "" #: dialogs/textdialog.cpp:219 msgid "instrument" msgstr "instrumento" #: dialogs/textdialog.cpp:220 msgid "enable instrument change" msgstr "permitir cambio de instrumento" #: dialogs/signsdialog.cpp:44 msgid "Signs" msgstr "Signos" #: dialogs/signsdialog.cpp:50 msgid "signs" msgstr "signos" #: dialogs/midiimportdialog.cpp:43 msgid "MIDI import" msgstr "importación MIDI" #: dialogs/midiimportdialog.cpp:70 dialogs/midirecordconfigdialog.cpp:103 msgid "triplet recognition" msgstr "reconocimiento de tresillo" #: dialogs/midiimportdialog.cpp:72 msgid "sort instruments" msgstr "ordenar instrumentos" #: dialogs/midiimportdialog.cpp:73 dialogs/midirecordconfigdialog.cpp:105 msgid "force piano" msgstr "forzar piano" #: dialogs/midiimportdialog.cpp:74 dialogs/midirecordconfigdialog.cpp:107 msgid "don't split tracks" msgstr "no dividir pistas" #: dialogs/midiimportdialog.cpp:83 msgid "tempo density" msgstr "" #: dialogs/midiimportdialog.cpp:89 msgid "volume density" msgstr "" #: dialogs/midirecordconfigdialog.cpp:65 msgid "Config Record" msgstr "Configurar Grabación" #: dialogs/lilypondexportdialog.cpp:63 msgid "export params" msgstr "parámetros de exportación" #: dialogs/lilypondexportdialog.cpp:66 msgid "create line breaks" msgstr "crear saltos de línea" #: dialogs/lilypondexportdialog.cpp:74 msgid "keep beams" msgstr "" #: dialogs/lilypondexportdialog.cpp:172 msgid "Staff selection" msgstr "Seleccionar partes" #: dialogs/lilypondexportdialog.cpp:181 #, fuzzy msgid "keep beams selection" msgstr "utilizar selección" #: dialogs/staffselectdialog.cpp:76 msgid "All" msgstr "Todos" #: dialogs/staffselectdialog.cpp:79 msgid "None" msgstr "Ninguno" #: dialogs/spacementdialog.cpp:34 msgid "Horizontal Spacement" msgstr "Espaciado horizontal" #: dialogs/spacementdialog.cpp:40 msgid "Spacement" msgstr "Espaciado" #: dialogs/scaledialog.cpp:35 dialogs/scaledialog.cpp:40 msgid "Scale" msgstr "Grado de ampliación" #: dialogs/drumconfigdialog.cpp:90 msgid "Config Drums" msgstr "Configurar Percusión" #: dialogs/drumconfigdialog.cpp:112 msgid "drum element name" msgstr "elemento de percusión" #: dialogs/drumconfigdialog.cpp:114 msgid "short name" msgstr "nombre abreviado" #: dialogs/drumconfigdialog.cpp:116 msgid "line" msgstr "línea" #: dialogs/drumconfigdialog.cpp:119 msgid "symbol" msgstr "símbolo" #: dialogs/drumconfigdialog.cpp:121 msgid "midi pitch" msgstr "nota midi" #: dialogs/drumconfigdialog.cpp:192 msgid "change element" msgstr "cambiar elemento" #: dialogs/drumconfigdialog.cpp:197 msgid "note head" msgstr "cabeza de nota" #: dialogs/drumconfigdialog.cpp:223 msgid "preview" msgstr "previsualización" #: dialogs/drumconfigdialog.cpp:232 msgid "load defaults" msgstr "por defecto" #: dialogs/drumconfigdialog.cpp:233 msgid "play element" msgstr "toca elemento" #: dialogs/drumconfigdialog.cpp:446 msgid "Save drum configuration" msgstr "Guardar la configuración de percusión" #: dialogs/drumconfigdialog.cpp:537 msgid "Open drum configuration" msgstr "Abrir una configuración de percusión" #: dialogs/chordnamedialog.cpp:50 dialogs/chordnamedialog.cpp:54 msgid "Chordname" msgstr "Nombre de acorde" #: dialogs/chordnamedialog.cpp:61 msgid "chordname" msgstr "nombre de acorde" #: dialogs/chordnamedialog.cpp:80 msgid "size" msgstr "tamaño" #: dialogs/chordnamedialog.cpp:84 msgid "position" msgstr "Posición" #: dialogs/tools.cpp:372 dialogs/tools.cpp:392 msgid "Toolbox" msgstr "Herramientas" #: chords/chorddialog.cpp:95 msgid "Chords" msgstr "Acordes" #: chords/chorddialog.cpp:99 msgid "chord" msgstr "acorde" #: chords/chorddialog.cpp:109 msgid "config" msgstr "configuración" #: chords/chorddialog.cpp:112 msgid "diagram" msgstr "diagrama" #: chords/chorddialog.cpp:133 msgid "root" msgstr "base" #: chords/chorddialog.cpp:150 msgid "mody" msgstr "especie" #: chords/chorddialog.cpp:169 msgid "chordselect" msgstr "tipo de diagrama" #~ msgid "Append staff + A" #~ msgstr "Añadir pentagrama" #~ msgid "triplets" #~ msgstr "tresillos" #~ msgid "triplets with rests" #~ msgstr "tresillo con silencios" #~ msgid "use alto clef" #~ msgstr "usar clave de Do" #~ msgid "Number of voices:" #~ msgstr "Número de voces:" #~ msgid "E_xtras" #~ msgstr "E_xtras" nted-1.10.18/po/stamp-po0000664001041000007640000000001211520270236011624 00000000000000timestamp nted-1.10.18/po/uk.gmo0000664001041000007640000005660211520270236011304 00000000000000Þ•ED ±l01H ^ix | ‰“ªÀ<Ñ)ŠD…ÏU3l ± ÆÐ× ê ÷  0E[n– › ¦ ±¼ ÎÙê  1H^ d0pC¡Då * 6 J G^ ¦ » Ì Û ë ú  !!#8! \!}!Ž!©!$¾!ã!ò!"" &" 3"A"Q"d"v"‡">™"Ø"ñ"ù" ### (# 4# ?#L# S#^#b# k#v#‡#˜#Þ# |$ ‡$ •$ Ÿ$«$½$Õ$ æ$ ñ$ ý$ %%2%J%h% n%|%%  % ®% ¸%Å% Ô%à% ø% &&& &&&5& <& F&Q&W& \&f& o&}&Œ&œ&¥&ª&³&º&×&ß& æ& ð& ú&' ''9'J'\'#o'“' ²'À'Æ'Î'Ô'Ú'â'ê'û'( (!('( .(;( ?( M([(b(y( ’(Ÿ(¥(­(¼(Ä( Ê( Ô( Þ( ì(ø(ÿ() ) )6)F)^)o))’)¡)»)Ó)â)ê)ý)*&*<*U*i*x* *˜* «*¹* ¾*È* Ý*é* ü* ++ #+.+ =+H+\+o+†+‰+ + ž+ «+ ¶+Â+ Ç+Ò+ç+ë+ ð+ú+ÿ+, ,,',0,9,B,K,T,\,d,l,t, |,‰,’, –,  , «,¶,»,Â,Å, Ê, Ô,à,ä,é, í,ø, - -"->-C-L-U- ]- k- v-‚-’- —- ¤-"°-Ó-Ú-à- å- ò- þ-' . 4.>.R. g.r.‡.œ.¢.§.¸.¿. Å.Ð.á.è. î. ø./ //!/)/„=/Â/ Ç/Ô/ ê/ø/00)0%10~W0)Ö1-2 .2:2W2"^22-21Ë2 ý2€3<Ÿ3:Ü3458-6af6È67ç6!7 A7#N7r7 Œ7#˜7!¼7&Þ7'8)-8$W8"|8$Ÿ8Ä8×8é8þ89/9 D9:e9 9º9Î9)à9- : 8:D:D^:†£:ž*;É;3Ù;S <`a<$Â< ç<= (=I= i= Š=2«=4Þ=5>$I>>n>%­>EÓ>?8?"X?'{?£?&¼? ã?ï?. @";@ ^@j@9û@5A1FA/xA ¨AµAÒAîAþABB 1BH$MHrH ŒH —H¥HG¹HII#I7IRIpIyI.‹I$ºIßIýIAJ(]J†J›J³J ÃJÍJÝJ ðJþJK5KGK XKfK+wK£KªK¹KÉK$âK L (LILgLL ŸL ªLµLÐL5åLM 3M>MGM$`M&…M!¬M0ÎM)ÿM)N2IN!|N,žN&ËN(òN O &OGO&cO*ŠO4µO(êO,P.@PoP&ŒP#³P×P!àP,Q*/Q:ZQ•Q²Q$ÈQíQ%üQ"R3@R$tR(™RÂRÕRæR3S4SIS`S6oS<¦SãSòST T#T2T#GT$kTTŸT®T½TÌT ÛT éT ÷T U U!U 3U@UUU gU uU ƒUŽUU ¡U®UÈUÝUîU ÿU V V>V#SVQwVÉVÒVåV%ôVW4WPW`W(tWW#¹WEÝW #X 1X >XKXhX$‚XC§X ëX(öX&YFY8`Y.™Y ÈY ÓY)àY ZZ 5Z@Z ZZgZ pZ|Z ”Z žZ©Z ÇZ%ÕZéûZ(å[0\F?\-†\2´\ç\0ø\)]F;]HñMõž^A¡•W&ŠijNÐrï B0gOs‚"¸›J)ÖË 7!,=]xd/ªUÑPÍ;Â>âÆÉ©ç €?\.´Ó8á|‹#)Cÿ4¨ˆ Iʳfí>äY—D/ÞeLÌ’&½îa™ ŒE¿Ào[z${#_‡­®£Ï~B 9Û: ¤‘Õ8c*¼×è¬àéu–ÚÃ?9“ðúûü-3ý2v˜²þ嵟 $.‰ökùø†l1%0óæm¯6¢<X» R'+ꄺ§ìÎwÝy<@!;ë( F-÷:¹`ƒœp Cbqh D°È+EQ…Å,7VSšA"Ò5(·ÄÙÔ¥±Ø”5¶nÜ*ô¾K=ò¦}% Zã6T'«Ç3ßÁ@42ŽG1tA Major; f sharp minorA flat Major; f minorAbout NtEdAdjust notes ?AllAppend staffArranger:B Major; g sharp minorB flat Major; g minorC Major; a minorCannot list midi ports because could not open ALSA sequencerCannot open %s for readingCannot open %s for writingCannot open ALSA MIDI sequencer --> read/record won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot open ALSA MIDI sequencer --> replay won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot rename %s to %sCannot replay because could not open ALSA sequencerChange Scale ...Change spacement ...ChordnameChordsClef configurationClose WindowComposer:Config DrumsConfig RecordConfigure Drums ...Configure MIDI in...Configure MIDI out...Configure Paper...Configure Print...Configure Record ...CopyCopyright:Create PDFCreate PNGCreate PostscriptCreate SVGD Major; b minorD flat Major; b flat minorDelete blockDenominator:Documentation ...E Major; c sharp minorE flat Major; c minorE_xitEmpty blockEmpty not possible because of incomplete tupletsError creating ALSA sequencer input port --> record won't work :-((Error creating ALSA sequencer output port --> replay won't work :-((Excerpt ...Excuse! Cannot execExcuse! Cannot forkExcuse! The documentation is not available due to an installation errorExport LilyPond ...Export MIDI ...Export PDF ...Export P_NG ...Export P_S ...Export S_VG ...F Major; d minorF sharp Major; d sharp minorFile %s already exists. Overwrite ?Font selection - Measure numbersG Major; e minorG flat Major; e flat minorHorizontal SpacementI'm not able to create a tuplet hereImport MIDI...Import MusicXMLImport MusicXML ...Import recordedInsert blockInsert blocksInsert clef ...Insert keysig ... Insert lines ... Insert sign ... Insert tuplet ...Instead of using this dialog you can simply press + numKeyboard insert mode - kLicenseLilyPond exportLinesLyricsLyrics editor ...MIDI importMIDI portsMeasure typeMutingMuting ...NewNew FileNew WindowNew keysignatureNo segno meaningNoneNtEd version %s by Joerg Anders Send bug reports to %s Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Author: J.Anders Translation: Numerator:Octave shift:Open ...Open a fileOpen a new windowOpen drum configurationOpen lyrics fileOpen scoreOpen_RecentPage Mode - pPaperPastePaste not possible: A tuplet would cross a measurePlease select a note or rest!PrintPrint commandRemove empty pagesRemove last pageRemove tupletSave ...Save As ...Save Changes ?Save a fileSave drum configurationSave lyricsSave scoreScaleScoreScore infoScore info ...SelectSet TempoSet VolumeSignsSlurSpacementStaff %dStaff contextStaff positionStaff selectionSubject:TextText ...Title:Toggle Insert/Erase Mode - nToolboxTools Tools ...TransposeTranspose ...TupletTuplet value:Usage: %s [.ntd] Write PostScriptWrite a png imageWrite an svg imageYou cannot copy incomplete tuplets!You select a note in an tuplet_Dynamics ..._Edit_Export_File_Help_Insert_Lyrics_Preferences ..._System layout ..._Tools_Upbeat ..._Viewadjustadjust notesallalternative 1alternative 2anchorappend a system at endappend system - Ctrl + Bblock count:bracebracketchange elementchannelchordchord ...chordnamechordname ...chordselectchorusclefconfigconfigure MIDI inputconfigure MIDI outputconfigure paperconfigure print commandconnect barlinescopy - Ctrl + Ccreate line breakscustomize beamcustomize beam - Ctrl + jdelete block - Ctrl + Xdelete timesigdiagramdon't split tracksdrum element nameempty block - Ctrl + Eenable channel changeenable instrument changeenable tempo changeenable timesigenable volume changeexport PDFexport a midi fileexport paramsfileflip stemflip stem - Ctrl + fforce pianogive first measuregive startgroup namegroup short namehalf-toneshide followinghide restshide rests (all v.)import a midi fileimport a musicxml fileininsertinsert a clefinsert blockinstrumentinstrumentsitemkeep beamskeep beams selectionkeykindlandscapeleftlinelinesload defaultsload from filelyrics 1lyrics 2lyrics 3lyrics 4lyrics 5lyrics1lyrics2lyrics3lyrics4lyrics5measure typemethod 2midmidi echomidi inputmidi pitchmodymutingnononenote headorientationoutpagepanpaper typepaste - Ctrl + Vplayplay elementplease select a note or rest firstportportraitpositionpreviewprint commandprint filerecord midirecord midi - iredoremove groupreposit allreposit the whole score - Ctrl + Treverbrightrootsave to fileselect fontselect stavesselected element is not inside a tupletselectionset all to flat ...set all to sharp ...short nameshow hidden elementsshow measure numberssignssizesort instrumentsspacerstaffstaff namestaff short namesymboltempotempo ...tempo densitytempo:texttime signaturetransp.triplet recognitionunable to set decimal point to '.'. PostScript output will be erroneous. Please set the $LANG environment variable appropriately!undounhide restsunhide rests (all v.)use selectionvoices in different colorsvolumevolume densityvolume:you cannot select an element with dotProject-Id-Version: nted 1.9.22 Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de POT-Creation-Date: 2011-01-27 14:18+0100 PO-Revision-Date: 2010-05-09 13:35+0300 Last-Translator: Yury Bulka Language-Team: ukrainian Language: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Ð›Ñ Ð¼Ð°Ð¶Ð¾Ñ€; фа-дієз мінорЛÑ-бемоль мажор; фа мінорПро NtEdПоправити ноти?Ð’Ñідодати нотний ÑтанÐранжувальник:Сі мажор; Ñоль-дієз мінорСі-бемоль мажор; Ñоль мінорДо мажор; Ð»Ñ Ð¼Ñ–Ð½Ð¾Ñ€Ðеможливо показати ÑпиÑок портів MIDI: не вдалоÑÑŒ відкрити ÑеквенÑер ALSAÐеможливо відкрити %s Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ÑÐеможливо відкрити %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸ÑуÐеможливо відкрити MIDI-ÑеквенÑер ALSA – Ð·Ð°Ð¿Ð¸Ñ Ð½Ðµ Ñпрацює :-(( Спробуйте запуÑтити (від root'а):modprobe snd-seq-midi Ñ– перезавантажити NtEd Можливо це допоможе(?)Ðеможливо відкрити MIDI-ÑеквенÑер ALSA – Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð½Ðµ Ñпрацює :-(( Спробуйте запуÑтити (від root'а):modprobe snd-seq-midi Ñ– перезавантажити NtEd Можливо це допоможе(?)Ðеможливо перейменувати %s на %sÐеможливо програти: не вдалоÑÑŒ відкрити ÑеквенÑер ALSAЗмінити розмір...Змінити горизонтальний крок...ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°ÐºÐ¾Ñ€Ð´ÑƒÐÐºÐ¾Ñ€Ð´Ð¸ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÐºÐ»ÑŽÑ‡Ð°Ð—Ð°ÐºÑ€Ð¸Ñ‚Ð¸ вікноÐвтор:Ðалаштувати ударніÐалаштувати запиÑÐалаштувати ударні...Ðалаштувати вхід MIDI...Ðалаштувати вихід MIDI...Ðалаштувати аркуш...Ðалаштувати друк...Ðалаштувати запиÑ...КопіюватиКопірайт:Створити PDFСтворити PNGСтворити PostscriptСтворити SVGРе мажор; ÑÑ– мінорРе-бемоль мажор; ÑÑ–-бемоль мінорВилучити блокЗнаменник:Довідка...Мі мажор; до-дієз мінорМі-бемоль мажор; до мінорВи_хідОчиÑтити блокÐеможливо витерти через неповні N-оліПомилка при Ñтворенні вхідного порта ÑеквенÑера ALSA – Ð·Ð°Ð¿Ð¸Ñ Ð½Ðµ Ñпрацює :-((Помилка при Ñпробі Ñтворити порт виходу Ð´Ð»Ñ ÑеквенÑера ALSA – Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð½Ðµ Ñпрацює :-((Партії...Вибачте! Ðеможливо виконатиВибачте! Ðеможливо запуÑтити дочірній процеÑВибачте! Довідка недоÑтупна через внутрішню помилкуЕкÑпортувати LilyPond...ЕкÑпортувати MIDI...ЕкÑпортувати PDF...ЕкÑпортувати P_NG...ЕкÑпортувати P_S...ЕкÑпортивати S_VG...Фа мажор; ре мінорФа-дієз мажор; ре-дієз мінорФайл %s вже Ñ–Ñнує. ПерепиÑати?Вибір шрифта – номери тактівСоль мажор; мі мінорСоль-бемоль мажор; мі-бемоль мінорГоризонтальний крокÐеможливо Ñтворити N-оль в цьому міÑціІмпортувати MIDI...Імпортувати MusicXMLІмпортувати MusicXML...імпортувати запиÑанепуÑті такти...Ð’Ñтавити пуÑті тактиключ...ключові знаки...горизонтальні позначки...Ñпеціальний знак...N-оль...ЗаміÑть цього вікна можна викоритовувати комбінацію + номер під Ñ‡Ð°Ñ Ð½Ð°Ð±Ð¾Ñ€ÑƒÐ ÐµÐ¶Ð¸Ð¼ вводу через клавіатуру - kЛіцензіÑекÑпортувати у формат LilyPondГоризонтальні позначеннÑСтрофиРедактор Ñлів...імпортувати MIDIПорти MIDIТип тактуГлушитиГлушити...ÐовийÐовий файлÐове вікноÐові ключові знакиБез Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ segnoЖоденNtEd %s – Joerg Anders Send bug reports to %s Додаткова Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð½Ð° http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Ðвтор: J.Anders Переклад: Юрій Булка ЧиÑельник:ЗÑув октави:Відкрити...Відкрити файлвідкрити нове вікноВідкрити Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑƒÐ´Ð°Ñ€Ð½Ð¸Ñ…Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ текÑтВідкрити партитуруВідкрити _недавнійРежим Ñторінки - pÐркушВÑтавитиÐеможливо вÑтавити: N-оль перетне тактБудь лаÑка, виберіть ноту або паузу.ДрукуватиКоманда друкуВилучити порожні ÑторінкиВилучити оÑтанню ÑторінкуВилучити N-ольЗберегти...Зберегти Ñк...Зберегти зміни?Зберегти файлЗберегти Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑƒÐ´Ð°Ñ€Ð½Ð¸Ñ…Ð—Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ текÑтЗберегти партитуруРозмірПартитураВідомоÑті про Ð¿Ð°Ñ€Ñ‚Ð¸Ñ‚ÑƒÑ€ÑƒÐ†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ партитуру...Вибірвказати темпВказати гучніÑтьЗнакилігуКрокÐотний Ñтан %dÐотний ÑтанПозиціÑВибір нотних ÑтанівПідзаголовок:ТекÑттекÑÑ‚...Заголовок:Увімкнути режим додаваннÑ/Ð²Ð¸Ñ‚Ð¸Ñ€Ð°Ð½Ð½Ñ - nЗнарÑддÑЗнарÑддÑЗнарÑддÑ...ТранÑпонуватиТранÑпонувати...N-ольЗначеннÑ:ВикориÑтаннÑ: %s [<файл>.ntd] запиÑати файл PostScriptзапиÑати файл pngзапиÑати файл svgВи не можете копіювати неповні N-оліВи вибрали ноту у N-олі_динаміка..._РедагуваннÑ_ЕкÑпорт_Файл_Довідка_Ð’Ñтавити _Ñтрофи_ÐалаштуваннÑ..._Ðотні Ñтани..._ЗнарÑддÑ_Затакт..._ВиглÑдкорекціÑперетранÑпонувати нотивÑÑ–I вольтаII вольтапритÑгуваннÑдодати порожній Ñ€Ñддодати Ñ€Ñд – Ctrl + BкількіÑть тактів:фігурна аколадапрÑма аколадазмінити елементканалакордакорд (Ñхема)...позначеннÑакорд (буквенне позначеннÑ)...вибір акордухоруÑключналаштуваннÑналаштувати вхід MIDIналаштувати вихід MIDIналаштувати аркушналаштувати команду друкуз'єднати тактові риÑкикопіювати – Ctrl + CÑтворювати розриви лінійокналаштувати реброналаштувати ребро - Ctrl + jвилучити блок – Ctrl + Xвилучити розмір тактуÑхемане ділити доріжкиназва елементаочиÑтити блок – Ctrl + Eувімкнути зміну каналуувімкнути зміну інÑтрументуувімкнути зміну темпупоказувати розмір тактуувімкнути зміну гучноÑтіекÑпортувати PDFекÑпортувати файл midiпараметри екÑпортуфайлперевернути штильперевернути штиль - Ctrl + fрозуміти Ñк фортепіано...початок першого повного такту...початок творуназва групикоротка назва групипівтониÑховати продовженнÑприховати паузиприховати паузи (у вÑÑ–Ñ… гол.)імпортувати файл midiімпортувати файл MusicXMLЗбільшитивÑтавитивÑтавити ключвÑтавити блок пуÑтих тактівінÑтрументінÑтрументипредметзберігати конфігурацію реберÐа котрих Ñтанах зберігати ребраклавішітриваліÑтьпейзажназлівалінійкапозначеннÑзавантажити типовізавантажити з файлукуплет 1куплет 2куплет 3куплет 4куплет 5куплет1куплет2куплет3куплет4куплет5тип тактуметод 2поÑерединіmidi-відгуквхід midiзвук midiакордглушити№жоднийнотна голівкаорієнтаціÑЗменшитиÑторінкабаланÑтип аркушавÑтавити – Ctrl + VПроÑлухатипроÑлухати елементбудь лаÑка, Ñпочатку виберіть ноту або паузупортпортретнапозиціÑпопередній переглÑдкоманда друкудрукувати Ñ„Ð°Ð¹Ð»Ð·Ð°Ð¿Ð¸Ñ midiÐ·Ð°Ð¿Ð¸Ñ midi - iВідновити оÑтанню діювилучити групуÐаново форматуватипереформатувати вÑÑŽ партитуру – Ctrl + Tреверб.ÑправаоÑновазберегти у файлвибрати шрифтвибрати нотні Ñтанивибраний елемент не належить до N-олівибірперепиÑати бемолÑми...перепиÑати дієзами...коротка назвапоказувати приховані елементипоказувати номери тактівзнакирозмірÑортувати інÑтрументирозділювачнотний Ñтанназвакоротка назваÑимволтемптемп...поріг темпівтемп:текÑттактовий розміртранÑп.Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð½Ñ Ñ‚Ñ€Ñ–Ð¾Ð»ÐµÐ¹Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ призначити деÑÑткову крапку на '.'. Вихід PostScript буде помилковий. Будь лаÑка, вкажіть змінну Ñередовища $LANG правильно.СкаÑувати оÑтанню діювідновити приховані паузивідновити приховані паузи (у вÑÑ–Ñ… гол.)викориÑтовувати вибранеголоÑи – різними кольорамигучніÑтьпоріг динамічних градаційгучніÑть:ви не можете вибрати елемент з крапкоюnted-1.10.18/po/zh_CN.gmo0000664001041000007640000006565611520270236011677 00000000000000Þ•”Å ! , !,.,E, [, f, p,~,,“,—,  ,­, ¶, À,Ë,â,ø, - - - -)-1- 6- C-O- U- b-m-<~-»-Ö-Šñ-…|./3/M/U/[/l// ‰/ –/ ¡/«/ ²/¿/È/ Ñ/Þ/ ñ/þ/ 0 0 *080L0a0w0Š00 ²0½0 Â0 Í0 Ø0ã0 õ011141D1T1 X1 e1 r1 1Œ1ž1§1¾1 Ô1 Þ1è1 î1 ù102 62CC2D‡2 Ì2Ø2ì2G3H3Y3n33Ž3ž3­3½3Î3ë3ô3#û34 $424 84 Y4 f4 q444 «4¸4¿4 Ð4Ý4æ4 ï4ù4 þ4 5 5 5$55Z5c5u5„5”5¨5 ¸5 Å5Ó5ã5ö566>+6 j6v6~6—6œ6¤6´6»6Í6 Ò6 Þ6é67 7 7 '7 17 ;7H7 O7Z7^7 g7r7ƒ7”7Þ™7 x8 ƒ88•8 8 «8 µ8Á8Ó8ë8 ü8 9 9!9)91999 J9 X9b9h92n9¡9©9±9¹9 Á9 Í9×9 õ9: :: : +:6:I: Z:h: w: :Ž: :©: Á: Í:Ø:á:ç: í:ø:;; ; !; ,;7;@;G;M; S; _; k;x;}; †; ’; ; ©; ³;¿; È;Ö;å; õ; < << < )< 3< @< M< [<i< x<ƒ<“< £< ­< ¸< Â<Ì<Ñ<Ú< â<î<õ<== != += 5=C=S=\=d= i=w= ~= Œ=š= ¶=Á=Ç= Î=Ù=â= ê=õ=>> +>#5>Y>x>‰> ›>©>¯>·>½>Ã>Ë>Ó>ä>÷> þ> ? ?? #?0?8? UVU]U dU qU~U …U’U™U  U ªU´U ÇUÔUíUôUVV%V 9V FV SV`VqV ‚VV¡V+²V ÞV ëVøV WWW/W6WJW OW [W gW tWW ‘W ›W ¨W ²W¿W ÆWÑW ØW åW ïWùW XÞ X ìXöX Y YY *Y 5YBYRYbY uY‚YšYªY³Y¼Y ÅYÒYâYéYðY'÷YZ(Z1Z:Z AZNZUZ tZZ ˆZ •ZŸZ ¯Z ¹ZÆZ ÙZæZ íZ øZ[ [#[ 3[ @[ M[W[^[ e[r[ƒ[Š[ ‘[ ž[ «[ µ[Â[É[ Ð[ Ú[ è[ ö[ \ \\ $\ 1\=\D\ K\ U\ b\ o\|\Œ\ “\ \ ¤\ ®\»\Ê\Ù\î\] ] ]/] >]K]R]Y]i] p] {]…] Œ]–]³]º] Á]Ì] Ó]Þ]å]ì]ó]ú]^ ^^%^ C^ M^ W^a^ h^u^|^ƒ^•^ª^¿^$Æ^$ë^_ _0_ @_ L_ X_ d_ p_ |_ˆ_˜_ ®_º_ Ê_Ö_Ý_ ä_ñ_ù_`` ` `*`@` X` b` l` v` ƒ``£`ª` ±` ¼`É` Ú`ç`î`õ`ü`a "a,a3a FaSaeauaa ¨a µa¿a ÏaÙaõab b3bFb Ybfb yb„b šb§b©b¬b°b ·bÄbÜbòbcc c)cBc[cbczcc c¹cÙcìcdd0d7d >dKd [dhdd ‘džd·dÑd ädñdùd e e%e>eWepe‰e’e›e£e ¬e¶eÉeÒe Ûe èeõeüef f f$f (f5f&î„(®GÔ¾nzíªAwkÆÈÇr6rQ3SÿÙ6’ú°ÁÀÐý«~[cþ;9EæÕetËæ=JÖv,Ò4^… 1#ÏãBBk:*ÛC‘üðà¨ÝÕŒ~™?ÞÍßÛê2¶†X°²"µ>âïgèå Ú ¿·\-¹ˆ•›õÜVsŸG9ä0|ˆ¤¥}ðž+i K\s_{£. R<v:RZLÀò4¯zôª#jmçŽÉξ¬,{nÜ­*›?‹Ë7‰ô·®Êü"JšßiM½c™Ÿ ç@ ëלÎûÌØ†§º» É­y©¹ÃÓÔâ ŽK  ‡DÒà@Êê´ä ‘Y“øl7÷‚m2L)ïÇ[ ¡IჵQa(¬…€Í]Uú3£H5 5th Saw WaveA Major; f sharp minorA flat Major; f minorAbout NtEdAccordionAcoustic BassAdjust notes ?AgogoAllAlto SaxAppend staffApplauseArranger:AtmosphereB Major; g sharp minorB flat Major; g minorBagpipeBandoneonBanjoBaritone SaxBass & LeadBassoonBirdBottle ChiffBowed GlassBrassBreath NoiseBrightnessC Major; a minorCannot list midi ports because could not open ALSA sequencerCannot open %s for readingCannot open %s for writingCannot open ALSA MIDI sequencer --> read/record won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot open ALSA MIDI sequencer --> replay won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot rename %s to %sCannot replay because could not open ALSA sequencerCelestaCelloChange Scale ...Change spacement ...CharangChiffer LeadChoir AahsChordnameChordsChurch OrganClarinetClavinetClean GuitarClef configurationClose WindowClose current windowComposer:Config DrumsConfig RecordConfigure Drums ...Configure MIDI in...Configure MIDI out...Configure Paper...Configure Print...Configure Record ...ContrabassCopyCopyright:Create PDFCreate PNGCreate PostscriptCreate SVGCrystalD Major; b minorD flat Major; b flat minorD. Capo al CodaD. Capo al FineD.SD.S. al CodaD.S. al FineDelete blockDenominator:Documentation ...DulcimerE Major; c sharp minorE flat Major; c minorE.Piano 1E.Piano 2E_xitEcho DropsEmpty blockEmpty not possible because of incomplete tupletsEnglish HornError creating ALSA sequencer input port --> record won't work :-((Error creating ALSA sequencer output port --> replay won't work :-((Excerpt ...Excuse! Cannot execExcuse! Cannot forkExcuse! The documentation is not available due to an installation errorExit the programExport LilyPond ...Export MIDI ...Export PDF ...Export P_NG ...Export P_S ...Export S_VG ...F Major; d minorF sharp Major; d sharp minorFantasiaFiddleFile %s already exists. Overwrite ?FineFingered BassFluteFont selection - Measure numbersFrench HornsFret NoiseFretless BassG Major; e minorG flat Major; e flat minorGlockenspielGoblinGuitar HarmonicsGuitar MutesGun ShotHalo PadHarmonicaHarpHarpsichordHelicopterHonky-tonkHorizontal SpacementI'm not able to create a tuplet hereIce RainImport MIDI(2)...Import MIDI...Import MusicXMLImport MusicXML ...Import recordedInsert blockInsert blocksInsert clef ...Insert keysig ... Insert lines ... Insert sign ... Insert tuplet ...Instead of using this dialog you can simply press + numJazz GuitarKalimbaKeyboard insert mode - kKotoLicenseLilyPond exportLyricsLyrics editor ...MIDIMIDI importMIDI portsMake an excerpt of the scoreMarimbaMeasure typeMelodic TomMetal PadMusic BoxMute TrumpetMutingMuting ...NewNew FileNew WindowNew keysignatureNo segno meaningNoneNtEd version %s by Joerg Anders Send bug reports to %s Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Author: J.Anders Translation: Numerator:Nylon GuitarOboeOcarinaOctave shift:Open ...Open a fileOpen a new windowOpen drum configurationOpen lyrics fileOpen scoreOpen_RecentOrchestra HitOrgan 1Organ 2Organ 3Overdrive GuitarPage Mode - pPan FlutePaperPastePaste not possible: A tuplet would cross a measurePiano 1Piano 2Piano 3PiccoloPicked BassPizzicatoPlease select a note or rest!Poly SynthPrintPrint commandRecorderRedo Ctrl + yReed OrganRemove empty pagesRemove last pageRemove tupletReverse CymbalSave ...Save As ...Save Changes ?Save a fileSave drum configurationSave lyricsSave scoreSaw WaveScaleScoreScore infoScore info ...SeashoreSelectSet TempoSet VolumeShakuhachiShamisenShenaiSignsSitarSlap Bass 1Slap Bass 2Slow StringsSlurSolo VoxSoprano SaxSoundtrackSpace VoiceSpacementSquare WaveStaff %dStaff contextStaff positionStaff selectionStar ThemeSteel DrumSteel GuitarStringsSubject:Sweep PadSynth Bass 1Synth Bass 2Synth Brass 1Synth Brass 2Synth CalliopeSynth DrumSynth Strings 1Synth Strings 2Synth VoxTaiko DrumTelephoneTenor SaxTextText ...TimpaniTinker BellTitle:Toggle Insert/Erase Mode - nToolboxTools Tools ...TransposeTranspose ...Tremolo StringsTromboneTrumpetTubaTubular BellsTupletTuplet value:Undo Ctrl + zUsage: %s [.ntd] VibraphoneViolaViolinVoice OohsWarm PadWhistleWood BlockWrite PostScriptWrite a png imageWrite an svg imageXylophoneYou cannot copy incomplete tuplets!You select a note in an tupletZoom in Ctrl + +Zoom out Ctrl + -_Dynamics ..._Edit_Export_File_Help_Insert_Lyrics_Preferences ..._System layout ..._Tools_Upbeat ..._Viewaccelerandoadjustadjust notesal Codaallalternative 1alternative 2anchorappend a new staffappend a system at endappend system - Ctrl + Bblock count:bracebracketchange elementchange scalechange the horizontal spacementchannelchordchord ...chordnamechordname ...chordselectchorusclefconfigconfigure MIDI inputconfigure MIDI outputconfigure drumsconfigure paperconfigure print commandconfigure recordcopy - Ctrl + Ccustomize beamcustomize beam - Ctrl + jdelete block - Ctrl + Xdelete timesigdiagramdon't split tracksdrum element nameedit lyrics in text editoredit score infoempty block - Ctrl + Eenable channel changeenable instrument changeenable tempo changeenable timesigenable volume changeexport PDFexport a midi fileexport paramsfffffffileflip stemflip stem - Ctrl + fforce pianogive first measuregive startgroup namegroup short namegroup staves by means of a bracegroup staves by means of a brackethalf-toneshide (selected) restshide followinghide restshide rests (all v.)hide selected rests (all v.)import a midi fileimport a midi file(2)import a musicxml fileimport recorded staffininsertinsert a chordinsert a chordnameinsert a clefinsert a free placeable signinsert a horizontal lineinsert a key signatureinsert a slur - Ctrl+Hinsert a tuplet (Ctrl + num)insert accelerandoinsert blockinsert finsert ffinsert fffinsert lyrics at line 1insert lyrics at line 2insert lyrics at line 3insert lyrics at line 4insert lyrics at line 5insert mfinsert mpinsert pinsert ppinsert pppinsert ritardandoinsert sfinsert spinsert tempoinsert textinstrumentinstrumentsitemkeep beamskeep beams selectionkeykindlandscapeleftload defaultsload from filelyrics 1lyrics 2lyrics 3lyrics 4lyrics 5lyrics1lyrics2lyrics3lyrics4lyrics5measure typemethod 2mfmidmidi echomidi inputmidi pitchmodympmute some stavesmutingnononenote headorientationoutppagepanpaper typepaste - Ctrl + Vplayplay elementplease select a note or rest firstportportraitpositionppppppreviewprint commandprint filerecord midirecord midi - iredoremove a group of connected stavesremove a tupletremove empty pages at endremove groupremove the last pagereposit allreposit the whole score - Ctrl + Treverbrightritardandorootsave to fileselect fontselect stavesselected element is not inside a tupletselectionset all flats to sharpset all sharps to flatset all to flat ...set all to sharp ...set upbeat by giving the start of first full measureset upbeat by giving the start of the scoresfshort nameshow hidden elementsshow measure numberssignssizesort instrumentsspspacerstaffstaff namestaff short namesymboltempotempo ...tempo densitytempo:texttime signaturetransp.transposetriplet recognitionunable to set decimal point to '.'. PostScript output will be erroneous. Please set the $LANG environment variable appropriately!undounhide (selected) restsunhide restsunhide rests (all v.)unhide selected rests (all v.)use selectionvoicesvoices in different colorsvolumevolume densityvolume:you cannot select an element with dotProject-Id-Version: nted 1.9.16 Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de POT-Creation-Date: 2011-01-27 14:18+0100 PO-Revision-Date: 2010-07-01 22:37+0800 Last-Translator: Tian Shixiong Language-Team: Simplified Chinese Language: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 第五ç§é”¯é½¿æ³¢A大调;å‡få°è°ƒé™A大调;få°è°ƒå…³äºŽ NtEd手风ç´åŽŸå£°è´å¸è°ƒæ•´éŸ³ç¬¦ï¼Ÿæ‘‡æ‘†èˆžé“ƒå…¨éƒ¨æ¬¡ä¸­éŸ³è¨å…‹æ–¯é™„加ä¹è°±æŽŒå£°ç¼–曲:空气B大调;å‡gå°è°ƒé™B大调;gå°è°ƒé£Žç¬›å—美手风ç´ç­å“ç´ä½ŽéŸ³è¨å…‹æ–¯è´å¸ & 主音低音管鸟Bottle Chiff委婉玻璃声铜管ä¹å™¨å‘¼å¸å£°æ„‰å¿«C大调;aå°è°ƒæ— æ³•打开 ALSA 音åºå™¨ï¼Œæ— æ³•列出 midi ç«¯å£æ— æ³•è¯»å– %s%s 无法写入 无法打开 ALSA MIDI 音åºå™¨ --> 无法读å–/录制 :-(( å°è¯•(以root用户) modprobe snd-seq-midi ç„¶åŽé‡å¯ NtEd å¯èƒ½æœ‰æ‰€å¸®åŠ©(?)无法打开 ALSA MIDI 音åºå™¨ --> 无法回放 :-(( å°è¯•(以root用户) modprobe snd-seq-midi ç„¶åŽé‡å¯ NtEd å¯èƒ½æœ‰æ‰€å¸®åŠ©(?)无法将 %s é‡å‘½å 为 %s无法打开 ALSA 音åºå™¨ï¼Œæ— æ³•釿”¾é’¢ç‰‡ç´å¤§æç´æ›´æ”¹æ¯”例 ...è°ƒæ•´éŸ³ç¬¦æ°´å¹³é—´è· ...人声Chiffer Leadåˆå”±éŸ³å’Œå¼¦å称和弦教堂管风ç´é»‘ç®¡ç”µå­æ‹¨å¼¦é’¢ç´æ¸…音å‰å®ƒè®¾ç½®è°±å·å…³é—­çª—å£å…³é—­å½“å‰çª—å£ä½œæ›²ï¼šé¼“设置录音设置鼓设置 ...设置 MIDI 输入设置 MIDI 输出 ...纸张设置 ...打å°è®¾ç½®...录音设置 ...低音æç´å¤åˆ¶ç‰ˆæƒï¼šåˆ›å»º PDF创建 PNG创建 Postscript创建 SVG晶体D大调;bå°è°ƒé™D大调;é™bå°è°ƒD. Capo al CodaD. Capo al FineD.SD.S. al CodaD.S. al Fine删除å°èŠ‚åˆ†æ¯ï¼šæ–‡æ¡£ ...扬ç´E大调;å‡cå°è°ƒé™E大调;cå°è°ƒç”µé’¢ç´ 1ç”µé’¢ç´ 1E_退出Echo Drops清空å°èŠ‚è¿žéŸ³ä¸å®Œæ•´ï¼Œæ— æ³•清空英国管创建 ALSA 音åºå™¨è¾“å…¥ç«¯å£æ—¶å‡ºé”™ --> 无法录制 :-((创建 ALSA 音åºå™¨è¾“å‡ºç«¯å£æ—¶å‡ºé”™ --> 无法回放 :-((æå– ...对ä¸èµ·ï¼æ— æ³•执行Excuse! Cannot fork对ä¸èµ·ï¼ç”±äºŽå®‰è£…问题,文档 ä¸å­˜åœ¨é€€å‡ºç¨‹åºå¯¼å‡ºä¸ºLilyPond ...导出 MIDI ...导出 PDF ...导出 P_NG ...导出 P_S ...导出 S_VG ...F大调;då°è°ƒå‡F大调;å‡då°è°ƒå¹»æƒ³æ›²æç´æ–‡ä»¶ %s å·²ç»å­˜åœ¨ã€‚确定è¦è¦†ç›–?Fine指弹è´å¸é•¿ç¬›å­—体 - å°èŠ‚å·åœ†å·æ¢æŠŠéŸ³æ— å“è´å¸G大调;eå°è°ƒé™G大调;é™eå°è°ƒé’Ÿç´Goblinå‰å®ƒæ³›éŸ³å‰å®ƒå¼±éŸ³æžªå£°å…‰æ™•长音å£ç´ç«–ç´å¤§é”®ç´ç›´å‡æœºæ­åŸºæ±¤å…‹éŸ³ä¹æ°´å¹³é—´è·æ— æ³•在此创建连音冰雨导入 MIDI(2)...导入 MIDI...导入 MusicXML导入 MusicXML ...导入录音æ’å…¥å°èŠ‚æ’å…¥å°èŠ‚æ’å…¥è°±å· ...æ’å…¥è°ƒå· ...æ’入行 ...æ’å…¥è®°å· ...æ’入连音 ...使用 + num å–æ¶ˆæ˜¾ç¤ºæ­¤å¯¹è¯æ¡†çˆµå£«å‰å®ƒå¡æž—å·´ç´é”®ç›˜æ’å…¥æ¨¡å¼ -k日本ç­è®¸å¯LIlyPond å¯¼å‡ºæ­Œè¯æ­Œè¯ç¼–辑器 ...MIDIMIDI 导入MIDI ç«¯å£æå–ä¹è°±é©¬æž—å·´ç´å°èŠ‚çº¿ç±»åž‹æ—‹å¾‹é¼“é‡‘å±žé•¿éŸ³éŸ³ä¹ç›’弱音å°å·é™éŸ³é™éŸ³ ...æ–°å»ºæ–°å»ºæ–‡ä»¶æ–°çª—å£æ–°è°ƒå·æ— å夿„义无NtEd 版本 %s by Joerg Anders å‘é€ bug 至 %s http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml 作者: J.Anders 翻译: Tian Shixiong 分å­ï¼šå°¼é¾™å¼¦å‰å®ƒåŒç°§ç®¡å°é¹…笛八度移动:打开 ...æ‰“å¼€æ–‡ä»¶æ‰“å¼€æ–°çª—å£æ‰“å¼€é¼“è®¾ç½®æ‰“å¼€æ­Œè¯æ–‡ä»¶æ‰“å¼€ä¹è°±æ‰“开最近文件 (_R)管弦ä¹é½å¥é£Žç´ 1é£Žç´ 2é£Žç´ 3过载å‰å®ƒé¡µé¢æ¨¡å¼ -p排笛纸张粘贴无法粘贴:连音会超出一å°èŠ‚é’¢ç´ 1é’¢ç´ 2é’¢ç´ 3短笛拨片è´å¸å¼¹æ‹¨è¯·é€‰æ‹©éŸ³ç¬¦æˆ–休止符ï¼å¤šé‡åˆæˆæ‰“å°æ‰“å°å‘½ä»¤å½•音机é‡åš Ctrl + y簧风ç´åˆ é™¤ç©ºé¡µåˆ é™¤æœ€åŽä¸€é¡µåˆ é™¤è¿žéŸ³èƒŒé’¹ä¿å­˜ ...å¦å­˜ä¸º ...ä¿å­˜æ›´æ”¹ï¼Ÿä¿å­˜æ–‡ä»¶ä¿å­˜é¼“设置ä¿å­˜æ­Œè¯ä¿å­˜ä¹è°±é”¯é½¿æ³¢æ¯”例ä¹è°±ä¹è°±ä¿¡æ¯ä¹è°±ä¿¡æ¯ ...æµ·å²¸é€‰æ‹©è®¾ç½®é€Ÿåº¦è®¾ç½®éŸ³é‡æ—¥æœ¬è§æ—¥æœ¬ä¸‰å¼¦å”¢å‘è®°å·è¥¿å¡”ç´Slap è´å¸ 1Slap è´å¸ 2慢速弦ä¹è¿žéŸ³çº¿ç‹¬å¥é«˜éŸ³è¨å…‹æ–¯ç”µéŸ³é…ä¹Space Voiceé—´è·æ–¹æ³¢ä¹è°± %dä¹è°±å†…容ä¹è°±ä½ç½®ä¹è°±é€‰æ‹©åŠ æ˜Ÿå·ä¸»é¢˜é’¢é¼“钢弦å‰å®ƒå¼¦åç§°ï¼šæŽ è¿‡é•¿éŸ³åˆæˆè´å¸ 1åˆæˆè´å¸ 2åˆæˆé“œç®¡ä¹å™¨ 1åˆæˆé“œç®¡ä¹å™¨ 2åˆæˆæ±½ç¬›é£Žç´åˆæˆé¼“åˆæˆå¼¦ä¹ 1åˆæˆå¼¦ä¹ 2åˆæˆå£°éŸ³å¤ªé¼“电è¯ä¸­éŸ³è¨å…‹æ–¯æ–‡æœ¬æ–‡æœ¬ ...定音鼓å®å½“标题:æ’å…¥/删除模å¼åˆ‡æ¢ -n工具工具工具 ...转调转调 ...颤弓长å·å°å·å¤§å·ç®¡é’Ÿè¿žéŸ³è¿žéŸ³å€¼ï¼šå–消 Ctrl + z用法:%s [.ntd] 颤音ç´ä¸­æç´å°æç´äººå£°æ¸©æš–音色å£å“¨æœ¨é±¼å†™å…¥ PostScript写入为 png 图åƒå†™å…¥ä¸º svg å›¾åƒæœ¨ç´æ‚¨ä¸èƒ½å¤åˆ¶ä¸å®Œæ•´çš„è¿žéŸ³ï¼æ‚¨åœ¨è¿žéŸ³ä¸­é€‰æ‹©äº†ä¸€ä¸ªéŸ³ç¬¦æ”¾å¤§ Ctrl + +ç¼©å° Ctrl + -力度 (_D) ...编辑 (_E)导出 (_E)文件 (_F)帮助 (_H)æ’å…¥ (_I)æ­Œè¯ (_L)设置 (_P) ...系统布局 (_S) ...工具 (_T)å¼±æ‹ (_U) ...查看 (_V)æ¸å¿«è°ƒæ•´è°ƒæ•´éŸ³ç¬¦al Coda全部第1段第2段文字ä½ç½®é™„加新谱在末尾加入新行添加新行 - Ctrl + Bå°èŠ‚æ•°èŠ±æ‹¬çº¿ç›´æ‹¬çº¿æ›´æ”¹æ ·å¼æ›´æ”¹æ¯”例调整水平间è·å£°é“和弦和弦 ...和弦å称和弦åç§° ...选择和弦åˆå”±è°±å·è®¾ç½®è®¾ç½® MIDI 输出设置 MIDI 输出鼓设置é…置打å°å‘½ä»¤è®¾ç½®å½•音设置å¤åˆ¶ - Ctrl + C自定义符尾自定义符尾 - Ctrl + j删除å°èŠ‚ - Ctrl + Xéšè—æ‹å·å’Œå¼¦å›¾ä¸åˆ†å‰²éŸ³è½¨é¼“å称在编辑器中编辑歌è¯ç¼–辑ä¹è°±ä¿¡æ¯æ¸…空å°èŠ‚ - Ctrl + Eå¯ç”¨å£°é“å˜æ›´å¯ç”¨ä¹å™¨å˜æ›´å¯ç”¨é€Ÿåº¦å˜æ›´æ˜¾ç¤ºæ‹å·å¯ç”¨éŸ³é‡å˜æ›´å¯¼å‡º PDF导出为 MIDI 文件导出选项ffffff文件翻转符干翻转符干 - Ctrl + f强制使用钢ç´è°±æŒ‡å‡ºç¬¬ä¸€å°èŠ‚è®¾ç½®èµ·å§‹ä½ç½®ç»„å组简称用花括线组åˆä¹è°±ç”¨ç›´æ‹¬çº¿ç»„åˆä¹è°±åŠéŸ³éšè—(所选)休止符éšè—åŽé¢çš„å°èŠ‚éšè—休止符éšè—休止符 (all v.)éšè—所选休止符 (all v.).导入 MIDI 文件导入 midi 文件(2)导入 musicxml 文件 导入录制的ä¹è°±æ”¾å¤§æ’å…¥æ’入和弦æ’å…¥å’Œå¼¦åæ’å…¥è°±å·æ’å…¥è‡ªç”±æ”¾ç½®è®°å·æ°´å¹³æ’入行æ’å…¥è°ƒå·æ’入连音线 - Ctrl+Hæ’入连音 (Ctrl + num)æ’å…¥æ¸å¿«è®°å·æ’å…¥å°èŠ‚æ’å…¥fæ’å…¥ffæ’å…¥fff在第一行æ’入歌è¯åœ¨ç¬¬äºŒè¡Œæ’入歌è¯åœ¨ç¬¬ä¸‰è¡Œæ’入歌è¯åœ¨ç¬¬å››è¡Œæ’入歌è¯åœ¨ç¬¬äº”行æ’å…¥æ­Œè¯æ’å…¥mfæ’å…¥mpæ’å…¥pæ’å…¥ppæ’å…¥pppæ’å…¥æ¸æ…¢è®°å·æ’å…¥afæ’å…¥spæ’入速度æ’入文本ä¹å™¨ä¹å™¨é¡¹ç›®ä¿ç•™ç¬¦å°¾ä¿ç•™ç¬¦å°¾è°ƒéŸ³ç¬¦ç±»åž‹æ¨ªå‘å·¦è½½å…¥é»˜è®¤è®¾ç½®ä»Žæ–‡ä»¶è½½å…¥æ­Œè¯ 1æ­Œè¯ 2æ­Œè¯ 3æ­Œè¯ 4æ­Œè¯ 5æ­Œè¯ 1æ­Œè¯ 2æ­Œè¯ 3æ­Œè¯ 4æ­Œè¯ 5å°èŠ‚çº¿ç±»åž‹æ–¹æ³• 2mf中midi 回声midi 输入midi 音高类型mpé™éŸ³éƒ¨åˆ†ä¹è°±é™éŸ³åºå·æ²¡æœ‰ç¬¦å¤´æ–¹å‘缩å°p页é¢ç›¸ä½çº¸å¼ ç±»åž‹ç²˜è´´ - Ctrl + V播放播放内容请先选择一个音符或休止符端å£çºµå‘ä½ç½®ppppp预览打å°å‘½ä»¤æ‰“å°æ–‡ä»¶å½•制 midi录制 midi -ié‡åšåˆ é™¤è¿žæŽ¥çš„ä¹è°±ç»„删除连音删除末尾空页移除组删除最åŽä¸€é¡µå¤åŽŸå…¨éƒ¨å¤åŽŸæ•´ä¸ªä¹è°± - Ctrl + Tæ··å“峿¸æ…¢æ ¹éŸ³ä¿å­˜åˆ°æ–‡ä»¶é€‰æ‹©å­—体选择ä¹è°±é€‰æ‹©è¿žéŸ³å¤–的元素选择将所有é™å·è½¬ä¸ºå‡å·å°†æ‰€æœ‰å‡å·è½¬ä¸ºé™å·å°†æ‰€æœ‰è½¬ä¸ºé™å· ...将所有转为å‡å· ...设置第一å°èŠ‚ä»Žå¼±æ‹å¼€å§‹é€šè¿‡ä¹è°±èµ·å§‹ä½ç½®è®¾ç½®å¼±æ‹sf缩写显示éšè—元素显示å°èŠ‚å·è®°å·å¤§å°åˆ†ç±»ä¹å™¨sp线间ä¹è°±ä¹è°±åç§°ä¹è°±ç®€ç§°è®°å·é€Ÿåº¦é€Ÿåº¦ ...节æ‹å¯†åº¦é€Ÿåº¦ï¼šæ–‡æœ¬æ‹å·éŸ³ç¬¦ç§»ä½è½¬è°ƒä¸‰è¿žéŸ³è¯†åˆ«æ— æ³•è®¾ç½®å°æ•°ç‚¹ '.'。PostScript输出将出错。 请正确设置 $LANG 环境å˜é‡ï¼å–消显示(所选)休止符显示休止符显示休止符 (all v.).显示所选休止符 (all v.).使用选择人声ä¸åŒé¢œè‰²æ ‡è®°çš„声部音é‡éŸ³é‡å¯†åº¦å·ï¼šä¸èƒ½é€‰æ‹©å¸¦ 点 的元素nted-1.10.18/po/es.gmo0000664001041000007640000006063411520270236011274 00000000000000Þ•›ô -Ì€""˜" ®" ¹"Ã"Ò"Ö" ß"ì" õ"ÿ"# ,# 6#C#K#P#<a#ž#¹#ŠÔ#…_$å$3ü$0%6%G% \%f% m%z%ƒ% –%£% ¸% Â% Ï%Ý%ñ%&&/&B& W&b& g& r&}& &š&«& Æ& Ó&à&ò&û&' (' 2'<' B'0N' 'CŒ'DÐ' (G!(i(z(( (¯(¿(Î(Þ(ï(# )0) 6) W)d)u)) ™)£) ¨) ´)¿)$Ô)ù)**,* <* I*W*g*z*Œ**>¯*î*+++%+,+ >+ J+U+ r+ + ‰+–+ +¨+¬+ µ+À+Ñ+â+Þç+ Æ, Ñ, ß, é,õ,-- 0- ;-G-O-W- _- m-w-}-2ƒ-¶-Ô- Ú-è- ñ-ÿ-. #. 1. ;.H. W.c. {. ‡.’.˜. ž.©.¸. ¿. É.Ô.Ú. ß. ë.õ. þ. //+/3/ 6U6k6ˆ6 ›6¨6 ±6 »6Æ6Þ6ö67&7 >7 H7R7 [7 e7p7 ‚7 Œ7 –7 £7 ¯7 º7Æ7Ê7 Ï7Ù7Þ7ã7 é7÷7888!8*838;8C8K8S8 [8h8q8 u8 8 Š8•8š8«8²8µ8 º8 Ä8Ð8Ô8Ù8 Ý8è8ù8 þ8" 9.939<9E9 M9 [9 f9r9‚9"‡9ª9º9 Ô9á9 ö9":%:+: 0: =: I:'W: :‰: :·:Ë:à:4ø:+-; Y;d;y;Ž;”;™;ª;±; ·;Â;Ó;Ú;à;å; ô;þ;<< /<<<R< q<<†<¡<¨<%°<éÖ<À>Ý> ö> ? ?? $?.?J? R?^?|? –?¡?°?¶?¾?KÑ?!@#?@¤c@A¦ADÄA BB)B?BPBXB kBuBBœB ²B¾BÔBêBCC1CHCaC {C†CC ŸC©C ÂCÌCßCþC DD.D7DTDmD€D“D ™D.§D ÖDWäDYIFIMIbI tII’I¢I²I ÇI ÑIßI åI óIJJ!J)J .K9K SK]KnK&‰K°KËKÛK êK ôK þKL L'L-L03L-dL’L›L±LÀLÑLëL&M +M7MHM]M'pM˜M§M¹M ÎMØM õM N"N3NGNNN WN dN nN|N“N«N¾NÆN ÌN ÖNáN çNñNúN O $O 1O>O OO[OkOtO}OO ®O»OÍO íOøOPP(P >P?HP7ˆPÀPÑPáPðP øPQ Q QQ$Q6Q TQ bQlQqQ yQ‡Q Q —Q¡Q©QÅQáQüQRRR0RARaRgR nRyRŠRŸR°R¶RÅRÝRôR S S>STSpS‚S™S·SÕSðSTT)T$@T&eTŒT¥T¾TÝTöTU 2U?UXUtU|U•U ®UL»UBVKV[V*uV, V ÍV!×VùVW# W1DWvWW!¬WÎWÖWßWòWX"X?X^X tX$•X7ºXòXY Y "Y .Y ;Y \Y }Y žY ¿Y àY ìY øY Z ZZ 0Z ^(I^(r^›^¶^(Ô^Eý^5C_y_Š_¤_Ä_Ë_Ó_ è_ ó_þ_`2`;`A`G` ^`i`„`%`³`'É`5ñ`'a;aAa]afa,oag5¨w&F”…6ˆ’~:×Ûíþ\mzŽ™hî (š:ÌZ[Y]FŒ–7(ÍBO'·XÏq%ô32€.jYpçï«ê“6oIËSÿfu8^"a k¼XÀs2 `¸ø—›¥`ÖnÆ0¿)È>ëPyÅÂrA;xhv‘Çá-”ªnw\+,›.P10-WoÊf?1Ü*_– Õ‹¹‘ù[ž™õ A5ý²Ð^4Ó=#Þr| iWxis/†ÙÚ¬æƒâ’ˆv7D¢ãN¶‰Vd%£Ÿ§©d аCg®Ñû¤‰Q|œ{L´lR 蘊RO÷»Ty8"ö„C “@¦aº•bUŽ>~‚ñJ ä­tÄ=UH'}}l/!€¡ÒƒKàóÔ<pb? 3‹³]M,Bé ί$SJL {Q!&kVcÃ*IZšÝòe—É‚EtTj½DEGHú•m_±K$MNeüÁ9Œì@µåc9z;<„˜‡…†‡ßu¾)qðØG4+#A Major; f sharp minorA flat Major; f minorAbout NtEdAccordionAdjust notes ?AllAlto SaxAppend staffApplauseArranger:B Major; g sharp minorB flat Major; g minorBandoneonBaritone SaxBassoonBirdC Major; a minorCannot list midi ports because could not open ALSA sequencerCannot open %s for readingCannot open %s for writingCannot open ALSA MIDI sequencer --> read/record won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot open ALSA MIDI sequencer --> replay won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot rename %s to %sCannot replay because could not open ALSA sequencerCelloChange Scale ...Change spacement ...ChordnameChordsChurch OrganClarinetClef configurationClose WindowClose current windowComposer:Config DrumsConfig RecordConfigure Drums ...Configure MIDI in...Configure MIDI out...Configure Paper...Configure Print...Configure Record ...ContrabassCopyCreate PDFCreate PNGCreate PostscriptCreate SVGD Major; b minorD flat Major; b flat minorDelete blockDenominator:Documentation ...DulcimerE Major; c sharp minorE flat Major; c minorE.Piano 1E.Piano 2E_xitEmpty blockEmpty not possible because of incomplete tupletsEnglish HornError creating ALSA sequencer input port --> record won't work :-((Error creating ALSA sequencer output port --> replay won't work :-((Excerpt ...Excuse! The documentation is not available due to an installation errorExit the programExport LilyPond ...Export MIDI ...Export PDF ...Export P_NG ...Export P_S ...Export S_VG ...F Major; d minorF sharp Major; d sharp minorFile %s already exists. Overwrite ?FluteFont selection - Measure numbersFrench HornsG Major; e minorG flat Major; e flat minorGun ShotHarmonicaHarpHarpsichordHelicopterHorizontal SpacementI'm not able to create a tuplet hereImport MIDI...Import MusicXMLImport MusicXML ...Import recordedInsert blockInsert blocksInsert clef ...Insert keysig ... Insert lines ... Insert sign ... Insert tuplet ...Instead of using this dialog you can simply press + numKeyboard insert mode - kLicenseLilyPond exportLinesLyricsLyrics editor ...MIDI importMIDI portsMake an excerpt of the scoreMeasure typeMusic BoxMute TrumpetMutingMuting ...NewNew FileNew WindowNew keysignatureNo segno meaningNoneNtEd version %s by Joerg Anders Send bug reports to %s Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Author: J.Anders Translation: Numerator:Octave shift:Open ...Open a fileOpen a new windowOpen drum configurationOpen lyrics fileOpen scoreOpen_RecentOrgan 1Organ 2Organ 3Page Mode - pPan FlutePaperPastePaste not possible: A tuplet would cross a measurePlease select a note or rest!PrintPrint commandRecorderRedo Ctrl + yRemove empty pagesRemove last pageRemove tupletSave ...Save As ...Save Changes ?Save a fileSave drum configurationSave lyricsSave scoreScaleScoreScore infoScore info ...SelectSet TempoSet VolumeSignsSlurSoprano SaxSpacementStaff %dStaff contextStaff positionStaff selectionStringsSubject:TelephoneTenor SaxTextText ...TimpaniTitle:Toggle Insert/Erase Mode - nToolboxTools Tools ...TransposeTranspose ...TromboneTrumpetTubular BellsTupletTuplet value:Undo Ctrl + zUsage: %s [.ntd] VibraphoneViolinWrite PostScriptWrite a png imageWrite an svg imageXylophoneYou cannot copy incomplete tuplets!You select a note in an tupletZoom in Ctrl + +Zoom out Ctrl + -_Dynamics ..._Edit_Export_File_Help_Insert_Lyrics_Preferences ..._System layout ..._Tools_Upbeat ..._Viewadjustadjust notesallalternative 1alternative 2anchorappend a new staffappend a system at endappend system - Ctrl + Bblock count:bracebracketchange elementchange scalechange the horizontal spacementchannelchordchord ...chordnamechordname ...chordselectclefconfigconfigure MIDI inputconfigure MIDI outputconfigure drumsconfigure paperconfigure print commandconfigure recordconnect barlinescopy - Ctrl + Ccreate line breakscustomize beamcustomize beam - Ctrl + jdelete block - Ctrl + Xdelete timesigdiagramdon't split tracksdrum element nameedit lyrics in text editoredit score infoempty block - Ctrl + Eenable channel changeenable instrument changeenable tempo changeenable timesigenable volume changeexport PDFexport a midi fileexport paramsfileflip stemflip stem - Ctrl + fforce pianogive first measuregive startgroup namegroup short namegroup staves by means of a bracegroup staves by means of a brackethalf-toneshide (selected) restshide followinghide restshide rests (all v.)hide selected rests (all v.)import a midi fileimport a musicxml fileimport recorded staffininsertinsert a chordinsert a chordnameinsert a clefinsert a free placeable signinsert a horizontal lineinsert a key signatureinsert a slur - Ctrl+Hinsert a staff spacerinsert a tuplet (Ctrl + num)insert accelerandoinsert blockinsert finsert ffinsert fffinsert lyrics at line 1insert lyrics at line 2insert lyrics at line 3insert lyrics at line 4insert lyrics at line 5insert mfinsert mpinsert pinsert ppinsert pppinsert ritardandoinsert sfinsert spinsert tempoinsert textinstrumentinstrumentskeykindlandscapeleftlinelinesload defaultsload from filelyrics 1lyrics 2lyrics 3lyrics 4lyrics 5lyrics1lyrics2lyrics3lyrics4lyrics5measure typemethod 2midmidi echomidi inputmidi pitchmodymute some stavesmutingnononenote headorientationoutpagepanpaper typepaste - Ctrl + Vplayplay elementplease select a note or rest firstportportraitpositionpreviewprint commandprint filerecord midirecord midi - iredoremove a group of connected stavesremove a tupletremove empty pages at endremove groupremove the last pagereposit allreposit the whole score - Ctrl + Trightrootsave to fileselect fontselect stavesselected element is not inside a tupletselectionset all flats to sharpset all sharps to flatset all to flat ...set all to sharp ...set connected bar linesset upbeat by giving the start of first full measureset upbeat by giving the start of the scoreshort nameshow hidden elementsshow measure numberssignssizesort instrumentsspacerstaffstaff namestaff short namesymboltempotexttime signaturetransposetriplet recognitionundounhide (selected) restsunhide restsunhide rests (all v.)unhide selected rests (all v.)use selectionvoicesvoices in different colorsvolumevolume:you cannot select an element with dotProject-Id-Version: nted 1.6.1 Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de POT-Creation-Date: 2011-01-27 14:18+0100 PO-Revision-Date: 2010-01-15 23:24+0100 Last-Translator: Maximiliano Language-Team: Spanish <> Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Spanish X-Poedit-Country: SPAIN X-Poedit-SourceCharset: utf-8 X-Generator: Lokalize 0.3 Plural-Forms: nplurals=2; plural=(n != 1); La Mayor; fa sostenido menorLa bemol Mayor; fa menorSobre NtEdAcordeón¿ Ajustar notas ?TodosSaxo AltoAñadir un nuevo pentagramaAplausoArreglista:Si Mayor; sol sostenido menorSi bemol Mayor; sol menorBandoneónSaxo BarítonoFagotPájaroDo Mayor; la menorNo puedo listar los puertos midi porque no puedo abrir el secuenciador ALSANo se puede abrir %s para lecturaNo se puede abrir %s para escrituraNo se puede abrir el secuenciador MIDI ALSA --> reproducir/grabar no funcionará :-(( Pruebe (como root) modprobe snd-seq-midi y reinicie NtEd Quizás esto ayude(?)No se puede abrir el secuenciador MIDI ALSA --> reproducir no funcionará :-(( Pruebe (como root) modprobe snd-seq-midi y reinicie NtEd Quizás esto ayude(?)No se puede renombrar %s a %sNo se puede reproducir porque no se puede abrir el secuenciador ALSAVioloncheloAmpliar/reducir ...Cambiar espaciado ...Nombre de acordeAcordesÓrgano de iglesiaClarineteConfiguración de claveCerrar VentanaCerrar ventana actualCompositor:Configurar PercusiónConfigurar GrabaciónConfigurar Percusión ...Configurar MIDI in...Configurar MIDI out...Configurar Página ...Configurar impresión...Configurar Grabación ...ContrabajoCopiarExportar como PDFCrear PNGExportar como PostscriptCrear SVGRe Mayor; si menorRe bemol Mayor; si bemol menorEliminar bloqueDenominador:Documentación ...SalterioMi Mayor; do sostenido menorMi bemol Mayor; do menorPiano eléctrico 1Piano eléctrico 2SalirVaciar bloqueVaciado no posible debido a grupos incompletosCorno inglésError creando el puerto de entrada del secuenciador ALSA --> grabar no funcionará :-((Error creando el puerto de salida del secuencidor ALSA --> reproducir no funcionará :-((Extraer partes ...¡ Lo siento ! La documentación no está disponible debido a un error de instalaciónSalir del programaExportar Lilypond ...Exportar MIDI ...Exportar PDF ...Exportar P_NG ...Exportar P_S ...Exportar S_VG ...Fa Mayor; re menorFa sostenido Mayor; re sostenido menorEl archivo %s ya existe. ¿ Sobreescribirlo ?FlautaSelección de fuente - Números de compásTrompaSol Mayor; mi menorSol bemol Mayor; mi bemol menorDisparoArmónicaArpaClavecínHelicópteroEspaciado horizontalNo puedo crear un grupo especial aquíImportar MIDI ...Importar MusicXMLImportar MusicXML ...Importar grabaciónInsertar bloque de compases vacíosInsertar bloquesInsertar clave ...Insertar armadura ...Insertar líneas ...Insertar signo ...Insertar grupo de valoración especialEn vez de usar este diálogo puede simplemente pulsar + númModo Inserción con teclado - kLicenciaExportación LilypondLíneasLetrasEditor de letras ...importación MIDIpuertos MIDIExtraer un parteTipo de compásCaja de músicaTrompeta con sordinaSilenciarSilenciar ...NuevoNuevo ArchivoVentana nuevaTonalidad nuevaSin aplicaciónNingunoVersion NtEd %s por Joerg Anders Envíe errores a %s Información en http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Autor: J.Anders Traducción: Maximiliano G. G. Numerador:Transposición de octava:Abrir ...Abrir un archivoAbrir en una ventana nuevaAbrir una configuración de percusiónAbrir un archivo de letrasAbrir partituraAbrir_RecienteÓrgano 1Órgano 2Órgano 3Modo Página - pFlauta de PanPapelPegarPegado no posible: Un grupo cruzaría un compás¡ Por favor seleccione una nota o silencio !ImprimirComando de impresiónFlauta de picoRehacer Ctrl + yEliminar páginas vacíasEliminar última páginaEliminar grupo de valoración especialGuardar ...Guardar como ...¿ Guardar cambios ?Guardar en archivoGuardar la configuración de percusiónGuardar letrasGuardar partituraGrado de ampliaciónPartituraInformación de la pratituraInformación de la partitura ...SeleccionarEstablecer TempoEstablecer volúmenSignosLigaduraSaxo SopranoEspaciadoPentagrama %dContexto de pentagramaPosición de pentagramaSeleccionar partesCuerdasTema:TeléfonoSaxo TenorTextoTexto ...TimbalesTítulo:Cambiar Modo Insertar/Borrar - nHerramientasHerramientasHerramientas ...TransportarTransportar ...TrombónTrompetaCampanas tubularesGrupo de valoración especialValor grupo:Deshacer Ctrl + zUso: %s [.ntd] VibráfonoViolínSalvar PostScriptSalvar una imagen pngSalvar una imagen svgXilófono¡ No puede copiar grupos de valoración especial incompletos !Seleccione una nota en un grupo de valoración especialAcercar Ctrl + +Alejar Ctrl + -_Dinámica ..._Editar_Exportar_ArchivoA_yuda_Insertar_Letras_Preferencias ..._Disposición de sistemas ..._Herramientas_Anacrusa_Verajustarajustar notastodos1ª volta2ª voltaanclajeañadir un nuevo pentagramaañadir un sistema al finalañadir sistema - Ctrl + BNúmero de bloques:llavecorchetecambiar elementoCambiar escaladocambiar el espaciado horizontalcanalacordeacorde ...nombre de acordenombre de acorde ...tipo de diagramaclaveconfiguraciónconfigurar entrada MIDIconfigurar salida MIDIconfigurar percusiónconfigurar páginaconfigurar comando de impresiónconfigurar grabaciónconectar líneas divisoriascopiar - Ctrl + Ccrear saltos de líneaPersonalizar barra - Ctrl + jPersonalizar barra - Ctrl + jeliminar bloque - Ctrl + Xborrar indicación de compásdiagramano dividir pistaselemento de percusióneditar letras en el editor de letrasEditar la información de la partituravaciar bloque - Ctrl + Epermitir cambio de canalpermitir cambio de instrumentopermitir cambio de tempopermitir indicación de compáspermitir cambio de volúmenexportar PDFexportar un archivo midiparámetros de exportaciónarchivovoltear plica - Ctrl + fvoltear plica - Ctrl + fforzar pianonota seleccionada (precedida de anacrusa) -> primera nota del primer compásnota seleccionada (precedida de silencios) -> comienzo de anacrusanombre de gruponombre abreviado de grupoagrupar pentagramas por medio de una llaveagrupar pentagramas por medio de un corchetesemitonosocultar silencios (seleccionados)ocultar lo que sigueocultar silenciosocultar silencios (todas las voces)ocultar silencios seleccionados (todas las voces)importar un archivo midiimportar un archivo musicxmlimportar grabación de pentagramaacercarinsertarinsertar un acordeinsertar un nombre de acordeinsertar una claveinsertar libremente un signoinsertar una línea horizontalinsertar una armadurainsertar una ligadura - Ctrl + Hinsertar un espaciador de pentagramainsertar un grupo de valoración especial (Ctrl + núm)insertar accelerandoinsertar bloqueinsertar finsertar ffinsertar fffinsertar letras en la 1ª líneainsertar letras en la 2ª líneainsertar letras en la 3ª líneainsertar letras en la 4ª líneainsertar letras en la 5ª líneainsertar mfinsertar mpinsertar pinsertar ppinsertar pppinsertar ritardandoinsertar sfinsertar spinsertar tempoinsertar textoinstrumentoinstrumentostonalidadfiguraapaisadoizquierdalínealíneaspor defectocargar desde archivo1ª letra2ª letra3ª letra4ª letra5ª letra1ª letra2ª letra3ª letra4ª letra5ª letratipo de compásmétodo 2centradoeco midientrada midinota midiespeciesilenciar algunos pentagramassilenciarnúm.ningunocabeza de notaorientaciónalejarpáginabalancetipo de papelpegar - Ctrl + VTocartoca elementoPor favor seleccione antes una nota o un silenciopuertoverticalPosiciónprevisualizacióncomando de impresiónimprimir archivograbación midigrabación midi -irehacereliminar una grupo de pentagramas conectadoselimina un grupo de valoración especialborrar las páginas en blanco del finaleliminar grupoborrar la última páginaReposicionar todoReposicionar la partitura completa - Ctrl + Tderechabaseguardar en archivoseleccionar fuenteseleccionar pentagramasel elemento seleccionado no está dentro de un grupo especialselecciónconvierte todos los bemoles a sostenidosconvierte todos los sostenidos a bemolescambiar todo a bemoles ...cambiar todo a sostenidos ...establecer líneas divisorias conectadasestablecer anacrusa dando la primera nota del primer compás completoestablecer anacrusa dando el comienzo de la partituranombre abreviadomostrar elementos ocultosmostrar los números de compássignostamañoordenar instrumentosespaciadorpentagramanombre de pentagramanombre abreviado de pentagramasímbolotempotextoIndicación de compásTransportereconocimiento de tresillodeshacerdes-ocultar silencios (seleccionados)des-ocultar silenciosdes-ocultar silencios (todas las voces)des-ocultar silencios seleccionados (todas las voces)utilizar selecciónvocesVoces en colores diferentesvolúmenvolumen:no puede seleccionar una figura con puntillonted-1.10.18/po/Makevars0000664001041000007640000000375711520267230011660 00000000000000# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # The old NtEd Makefile.am had these params to gettext: # --default-domain="nted" --keyword=_ \ # --flag=_:1:pass-c-format --keyword=N_ \ # --flag=N_:1:pass-c-format # TBD: Do we need to port any of these? # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Joerg Anders # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = ja@informatik.tu-chemnitz.de # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = nted-1.10.18/po/fr.po0000664001041000007640000013007511520270235011124 00000000000000# Traduction française de NtEd, éditeur de partitions musicales. # Copyright (C) YEAR Joerg Anders # This file is distributed under the same license as the NtEd package. # PM , 2008. # msgid "" msgstr "" "Project-Id-Version: nted 1.4.15\n" "Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de\n" "POT-Creation-Date: 2011-01-27 14:18+0100\n" "PO-Revision-Date: 2009-10-07 23:15+0100\n" "Last-Translator: Benoît Rouits \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: mainwindow.cpp:310 msgid "_File" msgstr "_Fichier" #: mainwindow.cpp:311 msgid "Open_Recent" msgstr "Ouvrir _Récent" #: mainwindow.cpp:312 msgid "_Export" msgstr "_Exporter" #: mainwindow.cpp:313 msgid "_View" msgstr "_Affichage" #: mainwindow.cpp:314 msgid "_Edit" msgstr "É_dition" #: mainwindow.cpp:315 msgid "_Tools" msgstr "Ou_tils" #: mainwindow.cpp:316 msgid "_System layout ..." msgstr "Forme du _Système" #: mainwindow.cpp:317 msgid "_Insert" msgstr "_Insérer" #: mainwindow.cpp:318 msgid "_Upbeat ..." msgstr "Anacro_use" #: mainwindow.cpp:319 msgid "_Preferences ..." msgstr "_Préférences ..." #: mainwindow.cpp:320 msgid "_Dynamics ..." msgstr "_Nuances ..." #: mainwindow.cpp:321 msgid "_Lyrics" msgstr "Paro_les" #: mainwindow.cpp:322 msgid "_Help" msgstr "_Aide" #: mainwindow.cpp:323 msgid "Configure MIDI out..." msgstr "Configurer la sortie MIDI ..." #: mainwindow.cpp:323 msgid "configure MIDI output" msgstr "configurer la sortie MIDI" #: mainwindow.cpp:324 msgid "Configure MIDI in..." msgstr "Configurer l'entrée MIDI ..." #: mainwindow.cpp:324 msgid "configure MIDI input" msgstr "configurer l'entrée MIDI" #: mainwindow.cpp:325 msgid "Configure Paper..." msgstr "Configurer le Papier" #: mainwindow.cpp:325 msgid "configure paper" msgstr "configurer papier" #: mainwindow.cpp:326 msgid "Configure Print..." msgstr "Configurer l'impresion" #: mainwindow.cpp:326 msgid "configure print command" msgstr "configurer la commande d'impression" #: mainwindow.cpp:327 msgid "New" msgstr "Nouveau" #: mainwindow.cpp:327 msgid "New File" msgstr "Nouveau Fichier" #: mainwindow.cpp:328 msgid "Open ..." msgstr "Ouvrir ..." #: mainwindow.cpp:328 msgid "Open a file" msgstr "Ouvrir un fichier" #: mainwindow.cpp:329 msgid "Save ..." msgstr "Enregistrer ..." #: mainwindow.cpp:329 mainwindow.cpp:330 msgid "Save a file" msgstr "Enregistrer un fichier" #: mainwindow.cpp:330 msgid "Save As ..." msgstr "Enregistrer Sous ..." #: mainwindow.cpp:331 msgid "Print" msgstr "Imprimer" #: mainwindow.cpp:331 msgid "print file" msgstr "imprimer fichier" #: mainwindow.cpp:332 msgid "Import MusicXML ..." msgstr "Importer MusicXML ..." #: mainwindow.cpp:332 msgid "import a musicxml file" msgstr "importer un fichier musicxml" #: mainwindow.cpp:333 msgid "Import MIDI..." msgstr "Importer MIDI ..." #: mainwindow.cpp:333 msgid "import a midi file" msgstr "importer un fichier midi" #: mainwindow.cpp:334 #, fuzzy msgid "Import MIDI(2)..." msgstr "Importer MIDI ..." #: mainwindow.cpp:334 #, fuzzy msgid "import a midi file(2)" msgstr "importer un fichier midi" #: mainwindow.cpp:335 msgid "Copy" msgstr "Copier" #: mainwindow.cpp:335 msgid "copy - Ctrl + C" msgstr "copier - Ctrl + C" #: mainwindow.cpp:336 msgid "Paste" msgstr "Coller" #: mainwindow.cpp:336 msgid "paste - Ctrl + V" msgstr "coller - Ctrl + V" #: mainwindow.cpp:337 msgid "Delete block" msgstr "Effacer block" #: mainwindow.cpp:337 msgid "delete block - Ctrl + X" msgstr "effacer block - Ctrl + X" #: mainwindow.cpp:338 msgid "append a system at end" msgstr "ajouter un système à la fin" #: mainwindow.cpp:338 msgid "append system - Ctrl + B" msgstr "ajouter système - Ctrl + B" #: mainwindow.cpp:339 msgid "Insert block" msgstr "Insérer block" #: mainwindow.cpp:339 msgid "insert block" msgstr "insérer block" #: mainwindow.cpp:340 msgid "Insert clef ..." msgstr "Insérer clé ..." #: mainwindow.cpp:340 msgid "insert a clef" msgstr "insérer une clé" #: mainwindow.cpp:341 msgid "Empty block" msgstr "Vider block" #: mainwindow.cpp:341 msgid "empty block - Ctrl + E" msgstr "vider block - Ctrl + E" #: mainwindow.cpp:342 msgid "reposit all" msgstr "déposer tout" #: mainwindow.cpp:342 msgid "reposit the whole score - Ctrl + T" msgstr "déposer la partition complète - Ctrl + T" #: mainwindow.cpp:343 msgid "Export MIDI ..." msgstr "Exporter en MIDI ..." #: mainwindow.cpp:343 msgid "export a midi file" msgstr "exporter un fichier midi" #: mainwindow.cpp:344 msgid "Export LilyPond ..." msgstr "Exporter en LilyPond ..." #: mainwindow.cpp:344 dialogs/lilypondexportdialog.cpp:44 msgid "LilyPond export" msgstr "Export LilyPond" #: mainwindow.cpp:346 msgid "Export PDF ..." msgstr "Exporter en PDF ..." #: mainwindow.cpp:346 msgid "export PDF" msgstr "exporter en PDF" #: mainwindow.cpp:348 msgid "Export P_NG ..." msgstr "Exporter en P_NG ..." #: mainwindow.cpp:348 msgid "Write a png image" msgstr "Écrire une image png" #: mainwindow.cpp:350 msgid "Export S_VG ..." msgstr "Exporter en S_VG ..." #: mainwindow.cpp:350 msgid "Write an svg image" msgstr "Écrire une image svg" #: mainwindow.cpp:352 msgid "Export P_S ..." msgstr "Exporter en P_S ..." #: mainwindow.cpp:352 msgid "Write PostScript" msgstr "Écrire en PostScript" #: mainwindow.cpp:353 msgid "New Window" msgstr "Nouvelle Fenêtre" #: mainwindow.cpp:353 msgid "Open a new window" msgstr "Ouvrir une nouvelle fenêtre" #: mainwindow.cpp:354 msgid "Excerpt ..." msgstr "Extrait ..." #: mainwindow.cpp:354 msgid "Make an excerpt of the score" msgstr "Fabriquer un extrait de la partition" #: mainwindow.cpp:355 msgid "Close Window" msgstr "Fermer la Fenêtre" #: mainwindow.cpp:355 msgid "Close current window" msgstr "Fermer la fenêtre actuelle" #: mainwindow.cpp:358 msgid "Remove last page" msgstr "Retirer la dernière page" #: mainwindow.cpp:358 msgid "remove the last page" msgstr "retirer la dernière page" #: mainwindow.cpp:359 msgid "Remove empty pages" msgstr "Retirer les pages vides" #: mainwindow.cpp:359 msgid "remove empty pages at end" msgstr "retirer les pages vides à la fin" #: mainwindow.cpp:360 msgid "Change spacement ..." msgstr "Changer l'espacement ..." #: mainwindow.cpp:360 msgid "change the horizontal spacement" msgstr "changer l'espacement horizontal" #: mainwindow.cpp:361 msgid "Change Scale ..." msgstr "Changer l'échelle" #: mainwindow.cpp:361 msgid "change scale" msgstr "changer l'échelle" #: mainwindow.cpp:362 msgid "Configure Record ..." msgstr "Configurer L'enregistrement ..." #: mainwindow.cpp:362 msgid "configure record" msgstr "configurer l'enregistrement" #: mainwindow.cpp:363 #, fuzzy msgid "Configure Drums ..." msgstr "Configurer l'entrée MIDI ..." #: mainwindow.cpp:363 #, fuzzy msgid "configure drums" msgstr "configurer papier" #: mainwindow.cpp:364 msgid "Tools ..." msgstr "Outils ..." #: mainwindow.cpp:364 msgid "Tools " msgstr "Outils" #: mainwindow.cpp:365 msgid "give first measure" msgstr "donner la première mesure" #: mainwindow.cpp:365 msgid "set upbeat by giving the start of first full measure" msgstr "marquer l'anacrouse en donnant le début de la première mesure complète" #: mainwindow.cpp:366 msgid "give start" msgstr "donner le départ" #: mainwindow.cpp:366 msgid "set upbeat by giving the start of the score" msgstr "marquer l'anacrouse en donnant le début de la partition" #: mainwindow.cpp:367 msgid "Score info ..." msgstr "Informations sur la partition ..." #: mainwindow.cpp:367 msgid "edit score info" msgstr "éditer les informatiosn sur la partition" #: mainwindow.cpp:368 msgid "Insert keysig ... " msgstr "Insérer armure ..." #: mainwindow.cpp:368 msgid "insert a key signature" msgstr "insérer une armure" #: mainwindow.cpp:369 msgid "Insert lines ... " msgstr "Insérer lignes ..." #: mainwindow.cpp:369 msgid "insert a horizontal line" msgstr "insérer une ligne horizontale" #: mainwindow.cpp:370 msgid "Insert sign ... " msgstr "Insérer signe ..." #: mainwindow.cpp:370 msgid "insert a free placeable sign" msgstr "insérer un signe librement" #: mainwindow.cpp:371 msgid "Slur" msgstr "Coulé" #: mainwindow.cpp:371 msgid "insert a slur - Ctrl+H" msgstr "insérer un coulé - Ctrl+H" #: mainwindow.cpp:372 msgid "chord ..." msgstr "accord ..." #: mainwindow.cpp:372 msgid "insert a chord" msgstr "insérer un accord" #: mainwindow.cpp:373 msgid "chordname ..." msgstr "nom d'accord ..." #: mainwindow.cpp:373 msgid "insert a chordname" msgstr "insérer un nom d'accord" #: mainwindow.cpp:374 msgid "spacer" msgstr "espacement" #: mainwindow.cpp:374 msgid "insert a staff spacer" msgstr "insérer un espacement de portée" #: mainwindow.cpp:375 #, fuzzy msgid "Append staff" msgstr "ajouter un nouvelle portée" #: mainwindow.cpp:375 msgid "append a new staff" msgstr "ajouter un nouvelle portée" #: mainwindow.cpp:376 msgid "Import recorded" msgstr "Importer l'enregistrement" #: mainwindow.cpp:376 msgid "import recorded staff" msgstr "importer la partition enregistrée" #: mainwindow.cpp:377 msgid "Lyrics editor ..." msgstr "" #: mainwindow.cpp:377 msgid "edit lyrics in text editor" msgstr "" #: mainwindow.cpp:378 msgid "ppp" msgstr "ppp" #: mainwindow.cpp:378 msgid "insert ppp" msgstr "insérer ppp" #: mainwindow.cpp:379 msgid "pp" msgstr "pp" #: mainwindow.cpp:379 msgid "insert pp" msgstr "insérer pp" #: mainwindow.cpp:380 msgid "p" msgstr "p" #: mainwindow.cpp:380 msgid "insert p" msgstr "insérer p" #: mainwindow.cpp:381 msgid "mp" msgstr "mp" #: mainwindow.cpp:381 msgid "insert mp" msgstr "insérer mp" #: mainwindow.cpp:382 msgid "sp" msgstr "sp" #: mainwindow.cpp:382 msgid "insert sp" msgstr "insérer sp" #: mainwindow.cpp:383 msgid "mf" msgstr "mf" #: mainwindow.cpp:383 msgid "insert mf" msgstr "insérer mf" #: mainwindow.cpp:384 msgid "sf" msgstr "sf" #: mainwindow.cpp:384 msgid "insert sf" msgstr "insérer sf" #: mainwindow.cpp:385 msgid "f" msgstr "f" #: mainwindow.cpp:385 msgid "insert f" msgstr "insérer f" #: mainwindow.cpp:386 msgid "ff" msgstr "ff" #: mainwindow.cpp:386 msgid "insert ff" msgstr "insérer ff" #: mainwindow.cpp:387 msgid "fff" msgstr "fff" #: mainwindow.cpp:387 msgid "insert fff" msgstr "insérer fff" #: mainwindow.cpp:388 msgid "tempo ..." msgstr "tempo ..." #: mainwindow.cpp:388 msgid "insert tempo" msgstr "insérer tempo" #: mainwindow.cpp:389 msgid "Text ..." msgstr "Texte ..." #: mainwindow.cpp:389 msgid "insert text" msgstr "insérer texte" #: mainwindow.cpp:390 msgid "accelerando" msgstr "accelerando" #: mainwindow.cpp:390 msgid "insert accelerando" msgstr "insérer accelerando" #: mainwindow.cpp:391 msgid "ritardando" msgstr "ritardando" #: mainwindow.cpp:391 msgid "insert ritardando" msgstr "insérer ritardando" #: mainwindow.cpp:392 msgid "lyrics1" msgstr "paroles1" #: mainwindow.cpp:392 msgid "insert lyrics at line 1" msgstr "insérer des paroles à la ligne 1" #: mainwindow.cpp:393 msgid "lyrics2" msgstr "paroles2" #: mainwindow.cpp:393 msgid "insert lyrics at line 2" msgstr "insérer des paroles à la ligne 2" #: mainwindow.cpp:394 msgid "lyrics3" msgstr "paroles3" #: mainwindow.cpp:394 msgid "insert lyrics at line 3" msgstr "insérer des paroles à la ligne 3" #: mainwindow.cpp:395 msgid "lyrics4" msgstr "paroles4" #: mainwindow.cpp:395 msgid "insert lyrics at line 4" msgstr "insérer des paroles à la ligne 4" #: mainwindow.cpp:396 msgid "lyrics5" msgstr "paroles5" #: mainwindow.cpp:396 msgid "insert lyrics at line 5" msgstr "insérer des paroles à la ligne 5" #: mainwindow.cpp:397 msgid "Insert tuplet ..." msgstr "Insérer n-uplet ..." #: mainwindow.cpp:397 msgid "insert a tuplet (Ctrl + num)" msgstr "insérer un n-uplet (Ctrl + num)" #: mainwindow.cpp:398 msgid "brace" msgstr "accolade" #: mainwindow.cpp:398 msgid "group staves by means of a brace" msgstr "regrouper les portées avec une accolade" #: mainwindow.cpp:399 msgid "bracket" msgstr "crochet" #: mainwindow.cpp:399 msgid "group staves by means of a bracket" msgstr "regrouper les portées avec un crochet" #: mainwindow.cpp:400 msgid "connect barlines" msgstr "relier les barres de mesure" #: mainwindow.cpp:400 msgid "set connected bar lines" msgstr "mettre les barres de mesures reliées" #: mainwindow.cpp:401 msgid "remove group" msgstr "retirer groupe" #: mainwindow.cpp:401 msgid "remove a group of connected staves" msgstr "retirer un groupe de portées reliées" #: mainwindow.cpp:402 msgid "Remove tuplet" msgstr "Retirer n-uplet" #: mainwindow.cpp:402 msgid "remove a tuplet" msgstr "retirer un n-uplet" #: mainwindow.cpp:403 msgid "Muting ..." msgstr "Silencieux ..." #: mainwindow.cpp:403 msgid "mute some staves" msgstr "ne pas jouer certaines portées" #: mainwindow.cpp:404 msgid "Transpose ..." msgstr "Transposer ..." #: mainwindow.cpp:404 msgid "transpose" msgstr "transposer" #: mainwindow.cpp:405 msgid "hide rests" msgstr "cacher les silences" #: mainwindow.cpp:405 msgid "hide (selected) rests" msgstr "cacher les silences (sélectionnés)" #: mainwindow.cpp:406 msgid "unhide rests" msgstr "montrer les silences" #: mainwindow.cpp:406 msgid "unhide (selected) rests" msgstr "montrer les silences (sélectionnés)" #: mainwindow.cpp:407 #, fuzzy msgid "hide rests (all v.)" msgstr "cacher les silences" #: mainwindow.cpp:407 #, fuzzy msgid "hide selected rests (all v.)" msgstr "cacher les silences (sélectionnés)" #: mainwindow.cpp:408 #, fuzzy msgid "unhide rests (all v.)" msgstr "montrer les silences" #: mainwindow.cpp:408 #, fuzzy msgid "unhide selected rests (all v.)" msgstr "montrer les silences sélectionnés" #: mainwindow.cpp:409 msgid "set all to sharp ..." msgstr "disèser le tout ..." #: mainwindow.cpp:409 msgid "set all flats to sharp" msgstr "passer de bémols en dièses" #: mainwindow.cpp:410 msgid "set all to flat ..." msgstr "bémoliser le tout ..." #: mainwindow.cpp:410 msgid "set all sharps to flat" msgstr "passer de dièses en bémols" #: mainwindow.cpp:411 msgid "About NtEd" msgstr "À propos de NtEd" #: mainwindow.cpp:413 msgid "Documentation ..." msgstr "Documentation ..." #: mainwindow.cpp:415 msgid "License" msgstr "Licence" #: mainwindow.cpp:416 msgid "E_xit" msgstr "_Quitter" #: mainwindow.cpp:416 msgid "Exit the program" msgstr "Quitter le programme" #: mainwindow.cpp:420 msgid "play" msgstr "jouer" #: mainwindow.cpp:421 msgid "voices in different colors" msgstr "voix de différentes couleurs" #: mainwindow.cpp:422 msgid "show measure numbers" msgstr "montrer les numéros de mesure" #: mainwindow.cpp:423 msgid "show hidden elements" msgstr "montrer les éléments cachés" #: mainwindow.cpp:424 msgid "midi input" msgstr "entrée midi" #: mainwindow.cpp:425 msgid "record midi" msgstr "enregitrer le midi" #: mainwindow.cpp:425 msgid "record midi - i" msgstr "enrigister le midi - i" #: mainwindow.cpp:429 msgid "in" msgstr "entrée" #: mainwindow.cpp:429 msgid "Zoom in Ctrl + +" msgstr "Zoom Ctrl + +" #: mainwindow.cpp:430 msgid "out" msgstr "sortie" #: mainwindow.cpp:430 msgid "Zoom out Ctrl + -" msgstr "déZoom Ctrl + -" #: mainwindow.cpp:431 msgid "undo" msgstr "défaire" #: mainwindow.cpp:431 msgid "Undo Ctrl + z" msgstr "Défaire Ctrl + z" #: mainwindow.cpp:432 msgid "redo" msgstr "refaire" #: mainwindow.cpp:432 msgid "Redo Ctrl + y" msgstr "Refaire Ctrl + y" #: mainwindow.cpp:433 msgid "customize beam" msgstr "" #: mainwindow.cpp:433 msgid "customize beam - Ctrl + j" msgstr "" #: mainwindow.cpp:434 msgid "flip stem" msgstr "inverser la position des queues" #: mainwindow.cpp:434 msgid "flip stem - Ctrl + f" msgstr "inverser la position des queues - Ctrl + f" #: mainwindow.cpp:438 msgid "insert" msgstr "insérer" #: mainwindow.cpp:438 msgid "Toggle Insert/Erase Mode - n" msgstr "Passer en mode Insertion/Effacement - n" #: mainwindow.cpp:442 msgid "page" msgstr "page" #: mainwindow.cpp:442 msgid "Page Mode - p" msgstr "Mode Page - p" #: mainwindow.cpp:443 dialogs/staffcontextdialog.cpp:177 #: dialogs/keysigdialog.cpp:42 dialogs/midirecordconfigdialog.cpp:160 msgid "key" msgstr "tonalité" #: mainwindow.cpp:443 msgid "Keyboard insert mode - k" msgstr "mode clavier - k" #: mainwindow.cpp:1625 msgid "Cannot replay because could not open ALSA sequencer" msgstr "Ne peut rejouer car n'a pas pu ouvrir le séquenceur ALSA" #: mainwindow.cpp:2776 mainwindow.cpp:5110 mainwindow.cpp:5156 #: mainwindow.cpp:6090 mainwindow.cpp:6180 mainwindow.cpp:6937 #: mainwindow.cpp:9584 msgid "Save Changes ?" msgstr "Enregistrer les Changements ?" #: mainwindow.cpp:2894 mainwindow.cpp:2995 mainwindow.cpp:3576 #: mainwindow.cpp:3696 mainwindow.cpp:9035 mainwindow.cpp:9147 #: mainwindow.cpp:9271 mainwindow.cpp:9360 dialogs/lyricseditor.cpp:350 #: dialogs/drumconfigdialog.cpp:493 #, c-format msgid "Cannot open %s for writing" msgstr "Ne peut ouvrir %s en écriture" #: mainwindow.cpp:2905 mainwindow.cpp:3009 #, c-format msgid "Cannot rename %s to %s" msgstr "Ne peut renommer %s en %s" #: mainwindow.cpp:2940 msgid "Save score" msgstr "Enregistrer la partition" #: mainwindow.cpp:2982 mainwindow.cpp:3564 mainwindow.cpp:3684 #: mainwindow.cpp:8995 mainwindow.cpp:9135 mainwindow.cpp:9259 #: mainwindow.cpp:9348 dialogs/lyricseditor.cpp:336 #: dialogs/drumconfigdialog.cpp:479 #, c-format msgid "File %s already exists. Overwrite ?" msgstr "Le fichier %s existe déjà. Écraser ?" #: mainwindow.cpp:3272 mainwindow.cpp:3416 msgid "Please select a note or rest!" msgstr "Veuillez sélectionner une note ou un silence!" #: mainwindow.cpp:3277 msgid "You select a note in an tuplet" msgstr "Vous sélectionnez une note dans un n-uplet" #: mainwindow.cpp:3281 msgid "You cannot copy incomplete tuplets!" msgstr "Vous ne pouvez pas copier un n-uplet incomplet!" #: mainwindow.cpp:3296 msgid "Paste not possible: A tuplet would cross a measure" msgstr "Collage impossible: Un n-uplet traverserait une mesure" #: mainwindow.cpp:3443 msgid "Empty not possible because of incomplete tuplets" msgstr "Vide impossible car n-uplets incomplets" #: mainwindow.cpp:4112 #, c-format msgid "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "Translation: " msgstr "" " Nted version %s par Joerg Anders\n" "Envoyer des rapport de bug à %s\n" "\n" "Infos à http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Auteur :\n" " J.Anders \n" "\n" "Traduction : Benoît Rouits " #: mainwindow.cpp:4123 msgid "" "Excuse! The documentation is not available\n" "due to an installation error" msgstr "" "Oups! La documentation n'est pas disponible\n" "due à une erreur d'installation" #: mainwindow.cpp:4133 msgid "Excuse! Cannot exec" msgstr "Oups! 'exec' impossible" #: mainwindow.cpp:4138 msgid "Excuse! Cannot fork" msgstr "Oups! 'fork' impossible" #: mainwindow.cpp:4880 mainwindow.cpp:4902 mainwindow.cpp:7850 msgid "please select a note or rest first" msgstr "veuillez sélectionner d'abord une note ou un silence" #: mainwindow.cpp:4884 mainwindow.cpp:7854 msgid "you cannot select an element with dot" msgstr "vous ne pouvez pas sélectionner un élément avec un point" #: mainwindow.cpp:4894 mainwindow.cpp:7869 msgid "I'm not able to create a tuplet here" msgstr "Je ne peux pas créer un n-uplet ici" #: mainwindow.cpp:4906 msgid "selected element is not inside a tuplet" msgstr "l'élément sélectionné n'est pas dans un n-uplet" #: mainwindow.cpp:5171 msgid "Open score" msgstr "Ouvrir une partition" #: mainwindow.cpp:5211 mainwindow.cpp:6306 mainwindow.cpp:6966 #: dialogs/lyricseditor.cpp:433 dialogs/drumconfigdialog.cpp:567 #, c-format msgid "Cannot open %s for reading" msgstr "Ne peut ouvrir %s en lecture" #: mainwindow.cpp:6105 msgid "Import MusicXML" msgstr "Importer MusicXML" #: mainwindow.cpp:7030 mainwindow.cpp:7056 msgid "Cannot list midi ports because could not open ALSA sequencer" msgstr "Ne peut lister les ports midi car n'a pas pu ouvrir le séquenceur ALSA" #: mainwindow.cpp:7127 msgid "Font selection - Measure numbers" msgstr "Séletion de Police - Numéros de mesure" #: mainwindow.cpp:7749 msgid "Adjust notes ?" msgstr "Ajuster les notes ?" #: mainwindow.cpp:8951 msgid "Create PNG" msgstr "Créer PNG" #: mainwindow.cpp:9091 msgid "Create SVG" msgstr "Créer SVG" #: mainwindow.cpp:9217 msgid "Create Postscript" msgstr "Créer PostScript" #: mainwindow.cpp:9306 msgid "Create PDF" msgstr "Créer PDF" #: mainwindow.cpp:9470 dialogs/lilypondexportdialog.cpp:70 msgid "select staves" msgstr "sélectionner portées" #: mainwindow.cpp:9627 #, c-format msgid "Usage: %s [.ntd]\n" msgstr "Invocation: %s [.ntd]\n" #: mainwindow.cpp:9655 msgid "" "unable to set decimal point to '.'. PostScript output will be erroneous. \t\t" "\tPlease set the $LANG environment variable appropriately!" msgstr "" "n'a pas pu mettre le point décimel à '.'. La sortie Postscript sera éronnée. " "\t\t\tVeuillez mettre la variable d'environnemetn $LANG à une valeur " "appropriée!" #: resource.cpp:380 msgid "Piano 1" msgstr "Piano 1" #: resource.cpp:380 msgid "Piano 2" msgstr "Piano 2" #: resource.cpp:380 msgid "Piano 3" msgstr "Piano 3" #: resource.cpp:380 msgid "Honky-tonk" msgstr "Piano Bastringue" #: resource.cpp:381 msgid "E.Piano 1" msgstr "Pinao Électrique 1" #: resource.cpp:381 msgid "E.Piano 2" msgstr "Piano Électrique 2" #: resource.cpp:381 msgid "Harpsichord" msgstr "Clavecin" #: resource.cpp:381 msgid "Clavinet" msgstr "Clavinet" #: resource.cpp:382 msgid "Celesta" msgstr "Celesta" #: resource.cpp:382 msgid "Glockenspiel" msgstr "Glockenspiel" #: resource.cpp:382 msgid "Music Box" msgstr "Boîte à musique" #: resource.cpp:382 msgid "Vibraphone" msgstr "Vibraphone" #: resource.cpp:383 msgid "Marimba" msgstr "Marimba" #: resource.cpp:383 msgid "Xylophone" msgstr "Xylophone" #: resource.cpp:383 msgid "Tubular Bells" msgstr "Cloches en tube" #: resource.cpp:383 msgid "Dulcimer" msgstr "Dulcimer" #: resource.cpp:384 msgid "Organ 1" msgstr "Orgue 1" #: resource.cpp:384 msgid "Organ 2" msgstr "Orgue 2" #: resource.cpp:384 msgid "Organ 3" msgstr "Orgue 3" #: resource.cpp:384 msgid "Church Organ" msgstr "Orgue d'église" #: resource.cpp:385 msgid "Reed Organ" msgstr "Orgue à jeu d'anches" #: resource.cpp:385 msgid "Accordion" msgstr "Accordéon" #: resource.cpp:385 msgid "Harmonica" msgstr "Harmonica" #: resource.cpp:385 msgid "Bandoneon" msgstr "Bandonéon" #: resource.cpp:386 msgid "Nylon Guitar" msgstr "Guitare à cordes nylon" #: resource.cpp:386 msgid "Steel Guitar" msgstr "Guitar à cordes métaliques" #: resource.cpp:386 msgid "Jazz Guitar" msgstr "Guitare Jazz" #: resource.cpp:386 msgid "Clean Guitar" msgstr "Guitare nette" #: resource.cpp:387 msgid "Guitar Mutes" msgstr "Frets de guitare" #: resource.cpp:387 msgid "Overdrive Guitar" msgstr "Guitare distordue" #: resource.cpp:387 msgid "Guitar Harmonics" msgstr "Harmoniques de guitare" #: resource.cpp:388 msgid "Acoustic Bass" msgstr "Basse acoustique" #: resource.cpp:388 msgid "Fingered Bass" msgstr "Basse au doigt" #: resource.cpp:388 msgid "Picked Bass" msgstr "Basse piquée" #: resource.cpp:388 msgid "Fretless Bass" msgstr "Basse sans frets" #: resource.cpp:389 msgid "Slap Bass 1" msgstr "Basse slappée 1" #: resource.cpp:389 msgid "Slap Bass 2" msgstr "Basse slappée 2" #: resource.cpp:389 msgid "Synth Bass 1" msgstr "Basse synth. 1" #: resource.cpp:389 msgid "Synth Bass 2" msgstr "Basse synth. 2" #: resource.cpp:390 msgid "Violin" msgstr "Violon" #: resource.cpp:390 msgid "Viola" msgstr "Alto" #: resource.cpp:390 msgid "Cello" msgstr "Violoncelle" #: resource.cpp:390 msgid "Contrabass" msgstr "Contrebasse" #: resource.cpp:391 msgid "Tremolo Strings" msgstr "Cordes en tremolo" #: resource.cpp:391 msgid "Pizzicato" msgstr "Cordes en pizzicato" #: resource.cpp:391 msgid "Harp" msgstr "Harpe" #: resource.cpp:391 msgid "Timpani" msgstr "Timbales" #: resource.cpp:392 msgid "Strings" msgstr "Cordes" #: resource.cpp:392 msgid "Slow Strings" msgstr "Cordes à attaque lente" #: resource.cpp:392 msgid "Synth Strings 1" msgstr "Cordes synth. 1" #: resource.cpp:392 msgid "Synth Strings 2" msgstr "Cordes synth. 2" #: resource.cpp:393 msgid "Choir Aahs" msgstr "Choeur Aahs" #: resource.cpp:393 msgid "Voice Oohs" msgstr "Choeur Oohs" #: resource.cpp:393 msgid "Synth Vox" msgstr "Voix synth." #: resource.cpp:393 msgid "Orchestra Hit" msgstr "Unisson d'ochestre" #: resource.cpp:394 msgid "Trumpet" msgstr "Trompette" #: resource.cpp:394 msgid "Trombone" msgstr "Trombone" #: resource.cpp:394 msgid "Tuba" msgstr "Tuba" #: resource.cpp:394 msgid "Mute Trumpet" msgstr "Trompette bouchée" #: resource.cpp:395 msgid "French Horns" msgstr "Cors d'Harmonies" #: resource.cpp:395 msgid "Brass" msgstr "Cuivres" #: resource.cpp:395 msgid "Synth Brass 1" msgstr "Cuivres synth. 1" #: resource.cpp:395 msgid "Synth Brass 2" msgstr "Cuivres synth. 2" #: resource.cpp:396 msgid "Soprano Sax" msgstr "Saxo Soprano" #: resource.cpp:396 msgid "Alto Sax" msgstr "Saxo Alto" #: resource.cpp:396 msgid "Tenor Sax" msgstr "Saxo Tenor" #: resource.cpp:396 msgid "Baritone Sax" msgstr "Saxo Bariton" #: resource.cpp:397 msgid "Oboe" msgstr "Hautbois" #: resource.cpp:397 msgid "English Horn" msgstr "Cor Anglais" #: resource.cpp:397 msgid "Bassoon" msgstr "Basson" #: resource.cpp:397 msgid "Clarinet" msgstr "Clarinette" #: resource.cpp:398 msgid "Piccolo" msgstr "Piccolo" #: resource.cpp:398 msgid "Flute" msgstr "Flûte" #: resource.cpp:398 msgid "Recorder" msgstr "Orgue de barbarie" #: resource.cpp:398 msgid "Pan Flute" msgstr "Flûte de pan" #: resource.cpp:399 msgid "Bottle Chiff" msgstr "Goulot de bouteille" #: resource.cpp:399 msgid "Shakuhachi" msgstr "Shakuhachi" #: resource.cpp:399 msgid "Whistle" msgstr "Sifflement" #: resource.cpp:399 msgid "Ocarina" msgstr "Ocarina" #: resource.cpp:400 msgid "Square Wave" msgstr "Onde carrée" #: resource.cpp:400 msgid "Saw Wave" msgstr "Onde en scie" #: resource.cpp:400 msgid "Synth Calliope" msgstr "Calliope synth." #: resource.cpp:400 msgid "Chiffer Lead" msgstr "" #: resource.cpp:401 msgid "Charang" msgstr "" #: resource.cpp:401 msgid "Solo Vox" msgstr "Voix Solo" #: resource.cpp:401 msgid "5th Saw Wave" msgstr "Onde en scie à la 5te" #: resource.cpp:401 msgid "Bass & Lead" msgstr "" #: resource.cpp:402 msgid "Fantasia" msgstr "Fantasia" #: resource.cpp:402 msgid "Warm Pad" msgstr "Pad chaleureux" #: resource.cpp:402 msgid "Poly Synth" msgstr "Synth. Poly" #: resource.cpp:402 msgid "Space Voice" msgstr "Voix spatiale" #: resource.cpp:403 msgid "Bowed Glass" msgstr "" #: resource.cpp:403 msgid "Metal Pad" msgstr "Pad métal" #: resource.cpp:403 msgid "Halo Pad" msgstr "Pad halo" #: resource.cpp:403 msgid "Sweep Pad" msgstr "Pad balai" #: resource.cpp:404 msgid "Ice Rain" msgstr "Pluie glacée" #: resource.cpp:404 msgid "Soundtrack" msgstr "Piste sonore" #: resource.cpp:404 msgid "Crystal" msgstr "Crystal" #: resource.cpp:404 msgid "Atmosphere" msgstr "Atmosphère" #: resource.cpp:405 msgid "Brightness" msgstr "Luminosité" #: resource.cpp:405 msgid "Goblin" msgstr "Goblin" #: resource.cpp:405 msgid "Echo Drops" msgstr "Gouttes en écho" #: resource.cpp:405 msgid "Star Theme" msgstr "Thème étoile" #: resource.cpp:406 msgid "Sitar" msgstr "Sétar" #: resource.cpp:406 msgid "Banjo" msgstr "Banjo" #: resource.cpp:406 msgid "Shamisen" msgstr "Shamisen" #: resource.cpp:406 msgid "Koto" msgstr "Koto" #: resource.cpp:407 msgid "Kalimba" msgstr "Kalimba" #: resource.cpp:407 msgid "Bagpipe" msgstr "Cornemuse" #: resource.cpp:407 msgid "Fiddle" msgstr "Violon Folk" #: resource.cpp:407 msgid "Shenai" msgstr "Shenai" #: resource.cpp:408 msgid "Tinker Bell" msgstr "Cloche ambulante" #: resource.cpp:408 msgid "Agogo" msgstr "" #: resource.cpp:408 msgid "Steel Drum" msgstr "Steel Drum" #: resource.cpp:408 msgid "Wood Block" msgstr "Wood Block" #: resource.cpp:409 msgid "Taiko Drum" msgstr "Tamour Taiko" #: resource.cpp:409 msgid "Melodic Tom" msgstr "Tom mélodique" #: resource.cpp:409 msgid "Synth Drum" msgstr "Tambour synth." #: resource.cpp:409 msgid "Reverse Cymbal" msgstr "Cymbale inversée" #: resource.cpp:410 msgid "Fret Noise" msgstr "Bruit de fret" #: resource.cpp:410 msgid "Breath Noise" msgstr "Respiration" #: resource.cpp:410 msgid "Seashore" msgstr "Bruit de mer" #: resource.cpp:410 msgid "Bird" msgstr "Oiseau" #: resource.cpp:411 msgid "Telephone" msgstr "Téléphone" #: resource.cpp:411 msgid "Helicopter" msgstr "Hélicoptère" #: resource.cpp:411 msgid "Applause" msgstr "Applaudissements" #: resource.cpp:411 msgid "Gun Shot" msgstr "Tir de revolver" #: resource.cpp:827 msgid "" "Cannot open ALSA MIDI sequencer --> replay won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Ne peut ouvrir le séquenceur MIDI ALSA --> jouer ne fonctionnera pas :-((\n" "Essayez (en root)\n" "modprobe snd-seq-midi\n" "puis redémarrez NtEd\n" "Peut-être que cela aidera(?)" #: resource.cpp:835 msgid "Error creating ALSA sequencer output port --> replay won't work :-((" msgstr "" "Erreur pendant la création du séquenceur ALSA --> jouer ne fonctionnera " "pas :-((" #: resource.cpp:845 msgid "" "Cannot open ALSA MIDI sequencer --> read/record won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Ne peut ouvrir les séquenceur MIDI ALSA --> le son ne fonctionnera pas :-((\n" "Essayez (en root)\n" "modprobe snd-seq-midi\n" "puis redémarrez NtEd\n" "Peut-être que cela aidera(?)" #: resource.cpp:853 msgid "Error creating ALSA sequencer input port --> record won't work :-((" msgstr "" "Erreur pendant la création du séquenceur ALSA --> enregistrer ne " "fonctionnera pas :-((" #: dialogs/paperconfigdialog.cpp:37 dialogs/paperconfigdialog.cpp:41 msgid "Paper" msgstr "Papier" #: dialogs/paperconfigdialog.cpp:46 msgid "paper type" msgstr "type de papier" #: dialogs/paperconfigdialog.cpp:81 msgid "orientation" msgstr "orientation" #: dialogs/paperconfigdialog.cpp:82 msgid "portrait" msgstr "portrait" #: dialogs/paperconfigdialog.cpp:83 msgid "landscape" msgstr "paysage" #: dialogs/portchoosedialog.cpp:46 msgid "MIDI ports" msgstr "ports MIDI" #: dialogs/portchoosedialog.cpp:60 dialogs/staffcontextdialog.cpp:321 #: dialogs/staffcontextdialog.cpp:437 dialogs/textdialog.cpp:200 #: dialogs/midirecordconfigdialog.cpp:133 dialogs/staffselectdialog.cpp:69 #: dialogs/drumconfigdialog.cpp:110 msgid "no" msgstr "non" #: dialogs/portchoosedialog.cpp:62 msgid "port" msgstr "port" #: dialogs/portchoosedialog.cpp:78 msgid "midi echo" msgstr "écho midi" #: dialogs/printconfigdialog.cpp:31 msgid "Print command" msgstr "Commande d'impression" #: dialogs/printconfigdialog.cpp:35 msgid "print command" msgstr "commande d'impression" #: dialogs/staffcontextdialog.cpp:31 msgid "G flat Major; e flat minor" msgstr "Sol bémol Majeur; mi bémol mineur" #: dialogs/staffcontextdialog.cpp:31 msgid "D flat Major; b flat minor" msgstr "Ré bémol Majeur; si bémol mineur" #: dialogs/staffcontextdialog.cpp:32 msgid "A flat Major; f minor" msgstr "La bémol Majeur; fa mineur" #: dialogs/staffcontextdialog.cpp:32 msgid "E flat Major; c minor" msgstr "Mi bémol Majeur; do mineur" #: dialogs/staffcontextdialog.cpp:33 msgid "B flat Major; g minor" msgstr "Si bémol Majeur; sol mineur" #: dialogs/staffcontextdialog.cpp:33 msgid "F Major; d minor" msgstr "Fa Majeur; ré mineur" #: dialogs/staffcontextdialog.cpp:34 msgid "C Major; a minor" msgstr "Do Majeur; la mineur" #: dialogs/staffcontextdialog.cpp:34 msgid "G Major; e minor" msgstr "Sol Majeur; mi mineur" #: dialogs/staffcontextdialog.cpp:35 msgid "D Major; b minor" msgstr "Ré Majeur; si mineur" #: dialogs/staffcontextdialog.cpp:35 msgid "A Major; f sharp minor" msgstr "La Majeur; fa dièse mineur" #: dialogs/staffcontextdialog.cpp:36 msgid "E Major; c sharp minor" msgstr "Mi Majeur; do dièse mineur" #: dialogs/staffcontextdialog.cpp:36 msgid "B Major; g sharp minor" msgstr "Si Majeur; sole dièse mineur" #: dialogs/staffcontextdialog.cpp:37 msgid "F sharp Major; d sharp minor" msgstr "Fa dièse Majeur; ré dièse mineur" #: dialogs/staffcontextdialog.cpp:120 msgid "Staff context" msgstr "Contexte de portée" #: dialogs/staffcontextdialog.cpp:132 dialogs/clefconfigdialog.cpp:49 msgid "clef" msgstr "clé" #: dialogs/staffcontextdialog.cpp:157 dialogs/clefconfigdialog.cpp:74 msgid "Octave shift:" msgstr "Décalage d'octave :" #: dialogs/staffcontextdialog.cpp:163 dialogs/keysigdialog.cpp:66 #: dialogs/clefconfigdialog.cpp:81 msgid "adjust notes" msgstr "ajuster les notes" #: dialogs/staffcontextdialog.cpp:200 dialogs/measureconfigdialog.cpp:110 #: dialogs/midirecordconfigdialog.cpp:70 msgid "time signature" msgstr "chiffrage de mesure" #: dialogs/staffcontextdialog.cpp:204 dialogs/measureconfigdialog.cpp:114 #: dialogs/midirecordconfigdialog.cpp:74 msgid "Numerator:" msgstr "Numérateur :" #: dialogs/staffcontextdialog.cpp:205 dialogs/measureconfigdialog.cpp:115 #: dialogs/midirecordconfigdialog.cpp:75 msgid "Denominator:" msgstr "Dénominateur :" #: dialogs/staffcontextdialog.cpp:248 msgid "staff name" msgstr "nom de la portée" #: dialogs/staffcontextdialog.cpp:255 msgid "staff short name" msgstr "nom raccourci de la portée" #: dialogs/staffcontextdialog.cpp:262 #, fuzzy msgid "group name" msgstr "nom raccourci de la portée" #: dialogs/staffcontextdialog.cpp:269 #, fuzzy msgid "group short name" msgstr "nom raccourci de la portée" #: dialogs/staffcontextdialog.cpp:278 dialogs/tempodialog.cpp:154 #: dialogs/textdialog.cpp:138 dialogs/midirecordconfigdialog.cpp:147 msgid "tempo" msgstr "tempo" #: dialogs/staffcontextdialog.cpp:283 msgid "chorus" msgstr "chorus" #: dialogs/staffcontextdialog.cpp:289 msgid "transp." msgstr "transp." #: dialogs/staffcontextdialog.cpp:295 msgid "reverb" msgstr "réverb." #: dialogs/staffcontextdialog.cpp:301 dialogs/textdialog.cpp:123 #: dialogs/midirecordconfigdialog.cpp:153 msgid "volume" msgstr "volume" #: dialogs/staffcontextdialog.cpp:307 msgid "pan" msgstr "panoramique" #: dialogs/staffcontextdialog.cpp:323 dialogs/textdialog.cpp:202 #: dialogs/midirecordconfigdialog.cpp:135 msgid "instruments" msgstr "instruments" #: dialogs/staffcontextdialog.cpp:332 dialogs/textdialog.cpp:150 msgid "channel" msgstr "canal" #: dialogs/staffcontextdialog.cpp:337 dialogs/mutedialog.cpp:69 msgid "muting" msgstr "silencieux" #: dialogs/staffcontextdialog.cpp:338 dialogs/staffcontextdialog.cpp:370 #: dialogs/mutedialog.cpp:72 dialogs/selectordialog.cpp:98 msgid "all" msgstr "tout" #: dialogs/staffcontextdialog.cpp:369 #, fuzzy msgid "voices" msgstr "Choeur Oohs" #: dialogs/staffcontextdialog.cpp:429 dialogs/staffselectdialog.cpp:58 msgid "staff" msgstr "portée" #: dialogs/staffcontextdialog.cpp:435 dialogs/staffselectdialog.cpp:67 msgid "item" msgstr "item" #: dialogs/staffcontextdialog.cpp:485 msgid "Score" msgstr "Partition" #: dialogs/staffcontextdialog.cpp:486 msgid "MIDI" msgstr "MIDI" #: dialogs/staffcontextdialog.cpp:495 msgid "Staff position" msgstr "Position de portée" #: dialogs/tupletdialog.cpp:34 msgid "Tuplet" msgstr "N-uplet" #: dialogs/tupletdialog.cpp:40 msgid "" "Instead of using this dialog\n" "you can simply press + num" msgstr "" "Au lieu d'utiliser ce dialogue\n" "vous pouvez simplement presser + num" #: dialogs/tupletdialog.cpp:42 msgid "Tuplet value:" msgstr "Valeur du n-uplet :" #: dialogs/tupletdialog.cpp:47 msgid "method 2" msgstr "méthode 2" #: dialogs/insertblockdialog.cpp:32 msgid "Insert blocks" msgstr "Insérer des blocks" #: dialogs/insertblockdialog.cpp:39 msgid "block count:" msgstr "nombre de blocks :" #: dialogs/measureconfigdialog.cpp:53 msgid "Measure type" msgstr "Type de mesure" #: dialogs/measureconfigdialog.cpp:62 msgid "measure type" msgstr "type de mesure" #: dialogs/measureconfigdialog.cpp:89 msgid "alternative 1" msgstr "alternative 1" #: dialogs/measureconfigdialog.cpp:90 msgid "alternative 2" msgstr "alternative 2" #: dialogs/measureconfigdialog.cpp:99 msgid "hide following" msgstr "cacher suivant" #: dialogs/measureconfigdialog.cpp:158 msgid "enable timesig" msgstr "activer le chiffrage de mesure" #: dialogs/measureconfigdialog.cpp:160 msgid "delete timesig" msgstr "effacer le chiffrage de mesure" #: dialogs/keysigdialog.cpp:37 msgid "New keysignature" msgstr "Nouveau chiffrage de mesure" #: dialogs/keysigdialog.cpp:64 msgid "adjust" msgstr "ajuster" #: dialogs/scoreinfodialog.cpp:71 dialogs/scoreinfodialog.cpp:75 msgid "Score info" msgstr "Info. sur la partition" #: dialogs/scoreinfodialog.cpp:79 msgid "Title:" msgstr "Titre :" #: dialogs/scoreinfodialog.cpp:87 msgid "Subject:" msgstr "Sujet :" #: dialogs/scoreinfodialog.cpp:95 msgid "Composer:" msgstr "Compositeur :" #: dialogs/scoreinfodialog.cpp:103 msgid "Arranger:" msgstr "Arrangeur :" #: dialogs/scoreinfodialog.cpp:111 msgid "Copyright:" msgstr "Droits d'utilisation :" #: dialogs/clefconfigdialog.cpp:44 msgid "Clef configuration" msgstr "Configuration de clé" #: dialogs/volumedialog.cpp:32 msgid "Set Volume" msgstr "Mettre le Volume" #: dialogs/volumedialog.cpp:44 msgid "volume:" msgstr "volume :" #: dialogs/tempodialog.cpp:56 msgid "Set Tempo" msgstr "Mettre le Tempo" #: dialogs/tempodialog.cpp:128 msgid "kind" msgstr "type" #: dialogs/tempodialog.cpp:150 msgid "tempo:" msgstr "tempo :" #: dialogs/lyricseditor.cpp:67 #, fuzzy msgid "Lyrics" msgstr "Paro_les" #: dialogs/lyricseditor.cpp:85 #, fuzzy msgid "lyrics 1" msgstr "paroles1" #: dialogs/lyricseditor.cpp:86 #, fuzzy msgid "lyrics 2" msgstr "paroles2" #: dialogs/lyricseditor.cpp:87 #, fuzzy msgid "lyrics 3" msgstr "paroles3" #: dialogs/lyricseditor.cpp:88 #, fuzzy msgid "lyrics 4" msgstr "paroles4" #: dialogs/lyricseditor.cpp:89 #, fuzzy msgid "lyrics 5" msgstr "paroles5" #: dialogs/lyricseditor.cpp:135 dialogs/drumconfigdialog.cpp:230 msgid "load from file" msgstr "" #: dialogs/lyricseditor.cpp:136 dialogs/drumconfigdialog.cpp:231 #, fuzzy msgid "save to file" msgstr "Enregistrer un fichier" #: dialogs/lyricseditor.cpp:143 dialogs/drumconfigdialog.cpp:247 #, fuzzy msgid "file" msgstr "_Fichier" #: dialogs/lyricseditor.cpp:292 #, fuzzy msgid "Save lyrics" msgstr "paroles1" #: dialogs/lyricseditor.cpp:392 #, fuzzy msgid "Open lyrics file" msgstr "Ouvrir un fichier" #: dialogs/mutedialog.cpp:34 msgid "Muting" msgstr "Silencieux" #: dialogs/mutedialog.cpp:55 dialogs/selectordialog.cpp:61 #, c-format msgid "Staff %d" msgstr "Portée %d" #: dialogs/mutedialog.cpp:74 dialogs/selectordialog.cpp:100 msgid "none" msgstr "aucun" #: dialogs/linesdialog.cpp:40 msgid "Lines" msgstr "Lignes" #: dialogs/linesdialog.cpp:46 msgid "lines" msgstr "lignes" #: dialogs/selectordialog.cpp:35 msgid "Transpose" msgstr "Transposer" #: dialogs/selectordialog.cpp:39 msgid "Select" msgstr "Sélectionner" #: dialogs/selectordialog.cpp:73 msgid "half-tones" msgstr "demi-tons" #: dialogs/selectordialog.cpp:76 dialogs/selectordialog.cpp:95 #: chords/chorddialog.cpp:159 msgid "selection" msgstr "sélection" #: dialogs/selectordialog.cpp:87 msgid "use selection" msgstr "utiliser la sélection" #: dialogs/textdialog.cpp:69 msgid "Text" msgstr "Texte" #: dialogs/textdialog.cpp:89 chords/chorddialog.cpp:111 msgid "text" msgstr "texte" #: dialogs/textdialog.cpp:98 msgid "select font" msgstr "sélectionner police" #: dialogs/textdialog.cpp:105 msgid "anchor" msgstr "ancre" #: dialogs/textdialog.cpp:108 msgid "left" msgstr "gauche" #: dialogs/textdialog.cpp:109 msgid "mid" msgstr "milieu" #: dialogs/textdialog.cpp:110 msgid "right" msgstr "droite" #: dialogs/textdialog.cpp:130 msgid "enable volume change" msgstr "activer le changement de volume" #: dialogs/textdialog.cpp:143 msgid "enable tempo change" msgstr "activer le changement de tempo" #: dialogs/textdialog.cpp:155 #, fuzzy msgid "enable channel change" msgstr "activer le changement de tempo" #: dialogs/textdialog.cpp:162 msgid "D.S" msgstr "D.S" #: dialogs/textdialog.cpp:165 msgid "No segno meaning" msgstr "aucune signification" #: dialogs/textdialog.cpp:166 msgid "D.S. al Fine" msgstr "D.S. al Fine" #: dialogs/textdialog.cpp:167 msgid "D.S. al Coda" msgstr "D.S. al Coda" #: dialogs/textdialog.cpp:168 msgid "D. Capo al Fine" msgstr "D. Capo al Fine" #: dialogs/textdialog.cpp:169 msgid "D. Capo al Coda" msgstr "D. Capo al Coda" #: dialogs/textdialog.cpp:170 msgid "Fine" msgstr "Fine" #: dialogs/textdialog.cpp:171 msgid "al Coda" msgstr "al Coda" #: dialogs/textdialog.cpp:219 #, fuzzy msgid "instrument" msgstr "instruments" #: dialogs/textdialog.cpp:220 #, fuzzy msgid "enable instrument change" msgstr "activer le changement de volume" #: dialogs/signsdialog.cpp:44 msgid "Signs" msgstr "Signes" #: dialogs/signsdialog.cpp:50 msgid "signs" msgstr "signes" #: dialogs/midiimportdialog.cpp:43 msgid "MIDI import" msgstr "Importer MIDI" #: dialogs/midiimportdialog.cpp:70 dialogs/midirecordconfigdialog.cpp:103 msgid "triplet recognition" msgstr "reconaissance des triolets" #: dialogs/midiimportdialog.cpp:72 msgid "sort instruments" msgstr "trier les instruments" #: dialogs/midiimportdialog.cpp:73 dialogs/midirecordconfigdialog.cpp:105 msgid "force piano" msgstr "forcer mode piano" #: dialogs/midiimportdialog.cpp:74 dialogs/midirecordconfigdialog.cpp:107 msgid "don't split tracks" msgstr "" #: dialogs/midiimportdialog.cpp:83 msgid "tempo density" msgstr "densité du tempo" #: dialogs/midiimportdialog.cpp:89 msgid "volume density" msgstr "densité du volume" #: dialogs/midirecordconfigdialog.cpp:65 msgid "Config Record" msgstr "Configurer l'enregistrement" #: dialogs/lilypondexportdialog.cpp:63 msgid "export params" msgstr "exporter les paramètres" #: dialogs/lilypondexportdialog.cpp:66 msgid "create line breaks" msgstr "créer les césures de lignes" #: dialogs/lilypondexportdialog.cpp:74 msgid "keep beams" msgstr "" #: dialogs/lilypondexportdialog.cpp:172 msgid "Staff selection" msgstr "Sélection de portée" #: dialogs/lilypondexportdialog.cpp:181 #, fuzzy msgid "keep beams selection" msgstr "utiliser la sélection" #: dialogs/staffselectdialog.cpp:76 msgid "All" msgstr "Tout" #: dialogs/staffselectdialog.cpp:79 msgid "None" msgstr "Aucun" #: dialogs/spacementdialog.cpp:34 msgid "Horizontal Spacement" msgstr "Espacement Horizontal" #: dialogs/spacementdialog.cpp:40 msgid "Spacement" msgstr "Espacement" #: dialogs/scaledialog.cpp:35 dialogs/scaledialog.cpp:40 msgid "Scale" msgstr "Échelle" #: dialogs/drumconfigdialog.cpp:90 #, fuzzy msgid "Config Drums" msgstr "Configurer l'entrée MIDI ..." #: dialogs/drumconfigdialog.cpp:112 msgid "drum element name" msgstr "" #: dialogs/drumconfigdialog.cpp:114 #, fuzzy msgid "short name" msgstr "nom raccourci de la portée" #: dialogs/drumconfigdialog.cpp:116 #, fuzzy msgid "line" msgstr "lignes" #: dialogs/drumconfigdialog.cpp:119 msgid "symbol" msgstr "" #: dialogs/drumconfigdialog.cpp:121 #, fuzzy msgid "midi pitch" msgstr "écho midi" #: dialogs/drumconfigdialog.cpp:192 #, fuzzy msgid "change element" msgstr "changer l'échelle" #: dialogs/drumconfigdialog.cpp:197 msgid "note head" msgstr "" #: dialogs/drumconfigdialog.cpp:223 #, fuzzy msgid "preview" msgstr "réverb." #: dialogs/drumconfigdialog.cpp:232 msgid "load defaults" msgstr "" #: dialogs/drumconfigdialog.cpp:233 #, fuzzy msgid "play element" msgstr "Espacement" #: dialogs/drumconfigdialog.cpp:446 #, fuzzy msgid "Save drum configuration" msgstr "Configuration de clé" #: dialogs/drumconfigdialog.cpp:537 #, fuzzy msgid "Open drum configuration" msgstr "Configuration de clé" #: dialogs/chordnamedialog.cpp:50 dialogs/chordnamedialog.cpp:54 msgid "Chordname" msgstr "Nom d'accord" #: dialogs/chordnamedialog.cpp:61 msgid "chordname" msgstr "nom d'accord" #: dialogs/chordnamedialog.cpp:80 msgid "size" msgstr "taille" #: dialogs/chordnamedialog.cpp:84 #, fuzzy msgid "position" msgstr "Position de portée" #: dialogs/tools.cpp:372 dialogs/tools.cpp:392 msgid "Toolbox" msgstr "Boîte à outils" #: chords/chorddialog.cpp:95 msgid "Chords" msgstr "Accords" #: chords/chorddialog.cpp:99 msgid "chord" msgstr "accord" #: chords/chorddialog.cpp:109 msgid "config" msgstr "config." #: chords/chorddialog.cpp:112 msgid "diagram" msgstr "diagrame" #: chords/chorddialog.cpp:133 msgid "root" msgstr "racine" #: chords/chorddialog.cpp:150 msgid "mody" msgstr "coquet" #: chords/chorddialog.cpp:169 msgid "chordselect" msgstr "sélection d'accord" #, fuzzy #~ msgid "Append staff + A" #~ msgstr "Ajouter une portée" nted-1.10.18/po/en_GB.gmo0000664001041000007640000000403411520270236011627 00000000000000Þ•¼\ÐÑáñ õ # +Þ82JYs† ˜ ¥°4Èý—- Å Óá æòø 3M\v…•ž§0¾ï     D. Capo al CodaD. Capo al FineD.SEnglish HornFont selection - Measure numbersLicenseMeasure typeNtEd version %s by Joerg Anders Send bug reports to %s Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Author: J.Anders Translation: Paste not possible: A tuplet would cross a measurecustomize beamcustomize beam - Ctrl + jgive first measureinsert ritardandomeasure typeritardandoset connected bar linesset upbeat by giving the start of first full measureshow measure numbersvoices in different colorsProject-Id-Version: en_GB Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de POT-Creation-Date: 2011-01-27 14:18+0100 PO-Revision-Date: 2010-06-09 10:14-0400 Last-Translator: Nigel Horne Language-Team: en_GB Language: MIME-Version: 1.0 Content-Type: text/plain; charset=ascii Content-Transfer-Encoding: ascii Plural-Forms: nplurals=2; plural=(n != 1); D. C. al CodaD. C. al FineD.S.Cor AnglaisFont selection - Bar numbersLicenceBar typeNtEd version %s by Joerg Anders Send bug reports to %s Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Author: J.Anders English translation by Nigel Horne Paste not possible: a tuplet would cross a bar-linecustomise beamcustomise beam - Ctrl + jgive first barinsert ritenutobar typeritenutoset connected barlinesset upbeat by giving the start of first full barshow bar numbersvoices in different coloursnted-1.10.18/po/en_GB.po0000664001041000007640000010564511520270235011474 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Joerg Anders # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # Nigel Horne , 2010. # msgid "" msgstr "" "Project-Id-Version: en_GB\n" "Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de\n" "POT-Creation-Date: 2011-01-27 14:18+0100\n" "PO-Revision-Date: 2010-06-09 10:14-0400\n" "Last-Translator: Nigel Horne \n" "Language-Team: en_GB \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ascii\n" "Content-Transfer-Encoding: ascii\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: mainwindow.cpp:310 msgid "_File" msgstr "" #: mainwindow.cpp:311 msgid "Open_Recent" msgstr "" #: mainwindow.cpp:312 msgid "_Export" msgstr "" #: mainwindow.cpp:313 msgid "_View" msgstr "" #: mainwindow.cpp:314 msgid "_Edit" msgstr "" #: mainwindow.cpp:315 msgid "_Tools" msgstr "" #: mainwindow.cpp:316 msgid "_System layout ..." msgstr "" #: mainwindow.cpp:317 msgid "_Insert" msgstr "" #: mainwindow.cpp:318 msgid "_Upbeat ..." msgstr "" #: mainwindow.cpp:319 msgid "_Preferences ..." msgstr "" #: mainwindow.cpp:320 msgid "_Dynamics ..." msgstr "" #: mainwindow.cpp:321 msgid "_Lyrics" msgstr "" #: mainwindow.cpp:322 msgid "_Help" msgstr "" #: mainwindow.cpp:323 msgid "Configure MIDI out..." msgstr "" #: mainwindow.cpp:323 msgid "configure MIDI output" msgstr "" #: mainwindow.cpp:324 msgid "Configure MIDI in..." msgstr "" #: mainwindow.cpp:324 msgid "configure MIDI input" msgstr "" #: mainwindow.cpp:325 msgid "Configure Paper..." msgstr "" #: mainwindow.cpp:325 msgid "configure paper" msgstr "" #: mainwindow.cpp:326 msgid "Configure Print..." msgstr "" #: mainwindow.cpp:326 msgid "configure print command" msgstr "" #: mainwindow.cpp:327 msgid "New" msgstr "" #: mainwindow.cpp:327 msgid "New File" msgstr "" #: mainwindow.cpp:328 msgid "Open ..." msgstr "" #: mainwindow.cpp:328 msgid "Open a file" msgstr "" #: mainwindow.cpp:329 msgid "Save ..." msgstr "" #: mainwindow.cpp:329 mainwindow.cpp:330 msgid "Save a file" msgstr "" #: mainwindow.cpp:330 msgid "Save As ..." msgstr "" #: mainwindow.cpp:331 msgid "Print" msgstr "" #: mainwindow.cpp:331 msgid "print file" msgstr "" #: mainwindow.cpp:332 msgid "Import MusicXML ..." msgstr "" #: mainwindow.cpp:332 msgid "import a musicxml file" msgstr "" #: mainwindow.cpp:333 msgid "Import MIDI..." msgstr "" #: mainwindow.cpp:333 msgid "import a midi file" msgstr "" #: mainwindow.cpp:334 msgid "Import MIDI(2)..." msgstr "" #: mainwindow.cpp:334 msgid "import a midi file(2)" msgstr "" #: mainwindow.cpp:335 msgid "Copy" msgstr "" #: mainwindow.cpp:335 msgid "copy - Ctrl + C" msgstr "" #: mainwindow.cpp:336 msgid "Paste" msgstr "" #: mainwindow.cpp:336 msgid "paste - Ctrl + V" msgstr "" #: mainwindow.cpp:337 msgid "Delete block" msgstr "" #: mainwindow.cpp:337 msgid "delete block - Ctrl + X" msgstr "" #: mainwindow.cpp:338 msgid "append a system at end" msgstr "" #: mainwindow.cpp:338 msgid "append system - Ctrl + B" msgstr "" #: mainwindow.cpp:339 msgid "Insert block" msgstr "" #: mainwindow.cpp:339 msgid "insert block" msgstr "" #: mainwindow.cpp:340 msgid "Insert clef ..." msgstr "" #: mainwindow.cpp:340 msgid "insert a clef" msgstr "" #: mainwindow.cpp:341 msgid "Empty block" msgstr "" #: mainwindow.cpp:341 msgid "empty block - Ctrl + E" msgstr "" #: mainwindow.cpp:342 msgid "reposit all" msgstr "" #: mainwindow.cpp:342 msgid "reposit the whole score - Ctrl + T" msgstr "" #: mainwindow.cpp:343 msgid "Export MIDI ..." msgstr "" #: mainwindow.cpp:343 msgid "export a midi file" msgstr "" #: mainwindow.cpp:344 msgid "Export LilyPond ..." msgstr "" #: mainwindow.cpp:344 dialogs/lilypondexportdialog.cpp:44 msgid "LilyPond export" msgstr "" #: mainwindow.cpp:346 msgid "Export PDF ..." msgstr "" #: mainwindow.cpp:346 msgid "export PDF" msgstr "" #: mainwindow.cpp:348 msgid "Export P_NG ..." msgstr "" #: mainwindow.cpp:348 msgid "Write a png image" msgstr "" #: mainwindow.cpp:350 msgid "Export S_VG ..." msgstr "" #: mainwindow.cpp:350 msgid "Write an svg image" msgstr "" #: mainwindow.cpp:352 msgid "Export P_S ..." msgstr "" #: mainwindow.cpp:352 msgid "Write PostScript" msgstr "" #: mainwindow.cpp:353 msgid "New Window" msgstr "" #: mainwindow.cpp:353 msgid "Open a new window" msgstr "" #: mainwindow.cpp:354 msgid "Excerpt ..." msgstr "" #: mainwindow.cpp:354 msgid "Make an excerpt of the score" msgstr "" #: mainwindow.cpp:355 msgid "Close Window" msgstr "" #: mainwindow.cpp:355 msgid "Close current window" msgstr "" #: mainwindow.cpp:358 msgid "Remove last page" msgstr "" #: mainwindow.cpp:358 msgid "remove the last page" msgstr "" #: mainwindow.cpp:359 msgid "Remove empty pages" msgstr "" #: mainwindow.cpp:359 msgid "remove empty pages at end" msgstr "" #: mainwindow.cpp:360 msgid "Change spacement ..." msgstr "" #: mainwindow.cpp:360 msgid "change the horizontal spacement" msgstr "" #: mainwindow.cpp:361 msgid "Change Scale ..." msgstr "" #: mainwindow.cpp:361 msgid "change scale" msgstr "" #: mainwindow.cpp:362 msgid "Configure Record ..." msgstr "" #: mainwindow.cpp:362 msgid "configure record" msgstr "" #: mainwindow.cpp:363 msgid "Configure Drums ..." msgstr "" #: mainwindow.cpp:363 msgid "configure drums" msgstr "" #: mainwindow.cpp:364 msgid "Tools ..." msgstr "" #: mainwindow.cpp:364 msgid "Tools " msgstr "" #: mainwindow.cpp:365 msgid "give first measure" msgstr "give first bar" #: mainwindow.cpp:365 msgid "set upbeat by giving the start of first full measure" msgstr "set upbeat by giving the start of first full bar" #: mainwindow.cpp:366 msgid "give start" msgstr "" #: mainwindow.cpp:366 msgid "set upbeat by giving the start of the score" msgstr "" #: mainwindow.cpp:367 msgid "Score info ..." msgstr "" #: mainwindow.cpp:367 msgid "edit score info" msgstr "" #: mainwindow.cpp:368 msgid "Insert keysig ... " msgstr "" #: mainwindow.cpp:368 msgid "insert a key signature" msgstr "" #: mainwindow.cpp:369 msgid "Insert lines ... " msgstr "" #: mainwindow.cpp:369 msgid "insert a horizontal line" msgstr "" #: mainwindow.cpp:370 msgid "Insert sign ... " msgstr "" #: mainwindow.cpp:370 msgid "insert a free placeable sign" msgstr "" #: mainwindow.cpp:371 msgid "Slur" msgstr "" #: mainwindow.cpp:371 msgid "insert a slur - Ctrl+H" msgstr "" #: mainwindow.cpp:372 msgid "chord ..." msgstr "" #: mainwindow.cpp:372 msgid "insert a chord" msgstr "" #: mainwindow.cpp:373 msgid "chordname ..." msgstr "" #: mainwindow.cpp:373 msgid "insert a chordname" msgstr "" #: mainwindow.cpp:374 msgid "spacer" msgstr "" #: mainwindow.cpp:374 msgid "insert a staff spacer" msgstr "" #: mainwindow.cpp:375 msgid "Append staff" msgstr "" #: mainwindow.cpp:375 msgid "append a new staff" msgstr "" #: mainwindow.cpp:376 msgid "Import recorded" msgstr "" #: mainwindow.cpp:376 msgid "import recorded staff" msgstr "" #: mainwindow.cpp:377 msgid "Lyrics editor ..." msgstr "" #: mainwindow.cpp:377 msgid "edit lyrics in text editor" msgstr "" #: mainwindow.cpp:378 msgid "ppp" msgstr "" #: mainwindow.cpp:378 msgid "insert ppp" msgstr "" #: mainwindow.cpp:379 msgid "pp" msgstr "" #: mainwindow.cpp:379 msgid "insert pp" msgstr "" #: mainwindow.cpp:380 msgid "p" msgstr "" #: mainwindow.cpp:380 msgid "insert p" msgstr "" #: mainwindow.cpp:381 msgid "mp" msgstr "" #: mainwindow.cpp:381 msgid "insert mp" msgstr "" #: mainwindow.cpp:382 msgid "sp" msgstr "" #: mainwindow.cpp:382 msgid "insert sp" msgstr "" #: mainwindow.cpp:383 msgid "mf" msgstr "" #: mainwindow.cpp:383 msgid "insert mf" msgstr "" #: mainwindow.cpp:384 msgid "sf" msgstr "" #: mainwindow.cpp:384 msgid "insert sf" msgstr "" #: mainwindow.cpp:385 msgid "f" msgstr "" #: mainwindow.cpp:385 msgid "insert f" msgstr "" #: mainwindow.cpp:386 msgid "ff" msgstr "" #: mainwindow.cpp:386 msgid "insert ff" msgstr "" #: mainwindow.cpp:387 msgid "fff" msgstr "" #: mainwindow.cpp:387 msgid "insert fff" msgstr "" #: mainwindow.cpp:388 msgid "tempo ..." msgstr "" #: mainwindow.cpp:388 msgid "insert tempo" msgstr "" #: mainwindow.cpp:389 msgid "Text ..." msgstr "" #: mainwindow.cpp:389 msgid "insert text" msgstr "" #: mainwindow.cpp:390 msgid "accelerando" msgstr "" #: mainwindow.cpp:390 msgid "insert accelerando" msgstr "" #: mainwindow.cpp:391 msgid "ritardando" msgstr "ritenuto" #: mainwindow.cpp:391 msgid "insert ritardando" msgstr "insert ritenuto" #: mainwindow.cpp:392 msgid "lyrics1" msgstr "" #: mainwindow.cpp:392 msgid "insert lyrics at line 1" msgstr "" #: mainwindow.cpp:393 msgid "lyrics2" msgstr "" #: mainwindow.cpp:393 msgid "insert lyrics at line 2" msgstr "" #: mainwindow.cpp:394 msgid "lyrics3" msgstr "" #: mainwindow.cpp:394 msgid "insert lyrics at line 3" msgstr "" #: mainwindow.cpp:395 msgid "lyrics4" msgstr "" #: mainwindow.cpp:395 msgid "insert lyrics at line 4" msgstr "" #: mainwindow.cpp:396 msgid "lyrics5" msgstr "" #: mainwindow.cpp:396 msgid "insert lyrics at line 5" msgstr "" #: mainwindow.cpp:397 msgid "Insert tuplet ..." msgstr "" #: mainwindow.cpp:397 msgid "insert a tuplet (Ctrl + num)" msgstr "" #: mainwindow.cpp:398 msgid "brace" msgstr "" #: mainwindow.cpp:398 msgid "group staves by means of a brace" msgstr "" #: mainwindow.cpp:399 msgid "bracket" msgstr "" #: mainwindow.cpp:399 msgid "group staves by means of a bracket" msgstr "" #: mainwindow.cpp:400 msgid "connect barlines" msgstr "" #: mainwindow.cpp:400 msgid "set connected bar lines" msgstr "set connected barlines" #: mainwindow.cpp:401 msgid "remove group" msgstr "" #: mainwindow.cpp:401 msgid "remove a group of connected staves" msgstr "" #: mainwindow.cpp:402 msgid "Remove tuplet" msgstr "" #: mainwindow.cpp:402 msgid "remove a tuplet" msgstr "" #: mainwindow.cpp:403 msgid "Muting ..." msgstr "" #: mainwindow.cpp:403 msgid "mute some staves" msgstr "" #: mainwindow.cpp:404 msgid "Transpose ..." msgstr "" #: mainwindow.cpp:404 msgid "transpose" msgstr "" #: mainwindow.cpp:405 msgid "hide rests" msgstr "" #: mainwindow.cpp:405 msgid "hide (selected) rests" msgstr "" #: mainwindow.cpp:406 msgid "unhide rests" msgstr "" #: mainwindow.cpp:406 msgid "unhide (selected) rests" msgstr "" #: mainwindow.cpp:407 msgid "hide rests (all v.)" msgstr "" #: mainwindow.cpp:407 msgid "hide selected rests (all v.)" msgstr "" #: mainwindow.cpp:408 msgid "unhide rests (all v.)" msgstr "" #: mainwindow.cpp:408 msgid "unhide selected rests (all v.)" msgstr "" #: mainwindow.cpp:409 msgid "set all to sharp ..." msgstr "" #: mainwindow.cpp:409 msgid "set all flats to sharp" msgstr "" #: mainwindow.cpp:410 msgid "set all to flat ..." msgstr "" #: mainwindow.cpp:410 msgid "set all sharps to flat" msgstr "" #: mainwindow.cpp:411 msgid "About NtEd" msgstr "" #: mainwindow.cpp:413 msgid "Documentation ..." msgstr "" #: mainwindow.cpp:415 msgid "License" msgstr "Licence" #: mainwindow.cpp:416 msgid "E_xit" msgstr "" #: mainwindow.cpp:416 msgid "Exit the program" msgstr "" #: mainwindow.cpp:420 msgid "play" msgstr "" #: mainwindow.cpp:421 msgid "voices in different colors" msgstr "voices in different colours" #: mainwindow.cpp:422 msgid "show measure numbers" msgstr "show bar numbers" #: mainwindow.cpp:423 msgid "show hidden elements" msgstr "" #: mainwindow.cpp:424 msgid "midi input" msgstr "" #: mainwindow.cpp:425 msgid "record midi" msgstr "" #: mainwindow.cpp:425 msgid "record midi - i" msgstr "" #: mainwindow.cpp:429 msgid "in" msgstr "" #: mainwindow.cpp:429 msgid "Zoom in Ctrl + +" msgstr "" #: mainwindow.cpp:430 msgid "out" msgstr "" #: mainwindow.cpp:430 msgid "Zoom out Ctrl + -" msgstr "" #: mainwindow.cpp:431 msgid "undo" msgstr "" #: mainwindow.cpp:431 msgid "Undo Ctrl + z" msgstr "" #: mainwindow.cpp:432 msgid "redo" msgstr "" #: mainwindow.cpp:432 msgid "Redo Ctrl + y" msgstr "" #: mainwindow.cpp:433 msgid "customize beam" msgstr "customise beam" #: mainwindow.cpp:433 msgid "customize beam - Ctrl + j" msgstr "customise beam - Ctrl + j" #: mainwindow.cpp:434 msgid "flip stem" msgstr "" #: mainwindow.cpp:434 msgid "flip stem - Ctrl + f" msgstr "" #: mainwindow.cpp:438 msgid "insert" msgstr "" #: mainwindow.cpp:438 msgid "Toggle Insert/Erase Mode - n" msgstr "" #: mainwindow.cpp:442 msgid "page" msgstr "" #: mainwindow.cpp:442 msgid "Page Mode - p" msgstr "" #: mainwindow.cpp:443 dialogs/staffcontextdialog.cpp:177 #: dialogs/keysigdialog.cpp:42 dialogs/midirecordconfigdialog.cpp:160 msgid "key" msgstr "" #: mainwindow.cpp:443 msgid "Keyboard insert mode - k" msgstr "" #: mainwindow.cpp:1625 msgid "Cannot replay because could not open ALSA sequencer" msgstr "" #: mainwindow.cpp:2776 mainwindow.cpp:5110 mainwindow.cpp:5156 #: mainwindow.cpp:6090 mainwindow.cpp:6180 mainwindow.cpp:6937 #: mainwindow.cpp:9584 msgid "Save Changes ?" msgstr "" #: mainwindow.cpp:2894 mainwindow.cpp:2995 mainwindow.cpp:3576 #: mainwindow.cpp:3696 mainwindow.cpp:9035 mainwindow.cpp:9147 #: mainwindow.cpp:9271 mainwindow.cpp:9360 dialogs/lyricseditor.cpp:350 #: dialogs/drumconfigdialog.cpp:493 #, c-format msgid "Cannot open %s for writing" msgstr "" #: mainwindow.cpp:2905 mainwindow.cpp:3009 #, c-format msgid "Cannot rename %s to %s" msgstr "" #: mainwindow.cpp:2940 msgid "Save score" msgstr "" #: mainwindow.cpp:2982 mainwindow.cpp:3564 mainwindow.cpp:3684 #: mainwindow.cpp:8995 mainwindow.cpp:9135 mainwindow.cpp:9259 #: mainwindow.cpp:9348 dialogs/lyricseditor.cpp:336 #: dialogs/drumconfigdialog.cpp:479 #, c-format msgid "File %s already exists. Overwrite ?" msgstr "" #: mainwindow.cpp:3272 mainwindow.cpp:3416 msgid "Please select a note or rest!" msgstr "" #: mainwindow.cpp:3277 msgid "You select a note in an tuplet" msgstr "" #: mainwindow.cpp:3281 msgid "You cannot copy incomplete tuplets!" msgstr "" #: mainwindow.cpp:3296 msgid "Paste not possible: A tuplet would cross a measure" msgstr "Paste not possible: a tuplet would cross a bar-line" #: mainwindow.cpp:3443 msgid "Empty not possible because of incomplete tuplets" msgstr "" #: mainwindow.cpp:4112 #, c-format msgid "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "Translation: " msgstr "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "English translation by Nigel Horne " #: mainwindow.cpp:4123 msgid "" "Excuse! The documentation is not available\n" "due to an installation error" msgstr "" #: mainwindow.cpp:4133 msgid "Excuse! Cannot exec" msgstr "" #: mainwindow.cpp:4138 msgid "Excuse! Cannot fork" msgstr "" #: mainwindow.cpp:4880 mainwindow.cpp:4902 mainwindow.cpp:7850 msgid "please select a note or rest first" msgstr "" #: mainwindow.cpp:4884 mainwindow.cpp:7854 msgid "you cannot select an element with dot" msgstr "" #: mainwindow.cpp:4894 mainwindow.cpp:7869 msgid "I'm not able to create a tuplet here" msgstr "" #: mainwindow.cpp:4906 msgid "selected element is not inside a tuplet" msgstr "" #: mainwindow.cpp:5171 msgid "Open score" msgstr "" #: mainwindow.cpp:5211 mainwindow.cpp:6306 mainwindow.cpp:6966 #: dialogs/lyricseditor.cpp:433 dialogs/drumconfigdialog.cpp:567 #, c-format msgid "Cannot open %s for reading" msgstr "" #: mainwindow.cpp:6105 msgid "Import MusicXML" msgstr "" #: mainwindow.cpp:7030 mainwindow.cpp:7056 msgid "Cannot list midi ports because could not open ALSA sequencer" msgstr "" #: mainwindow.cpp:7127 msgid "Font selection - Measure numbers" msgstr "Font selection - Bar numbers" #: mainwindow.cpp:7749 msgid "Adjust notes ?" msgstr "" #: mainwindow.cpp:8951 msgid "Create PNG" msgstr "" #: mainwindow.cpp:9091 msgid "Create SVG" msgstr "" #: mainwindow.cpp:9217 msgid "Create Postscript" msgstr "" #: mainwindow.cpp:9306 msgid "Create PDF" msgstr "" #: mainwindow.cpp:9470 dialogs/lilypondexportdialog.cpp:70 msgid "select staves" msgstr "" #: mainwindow.cpp:9627 #, c-format msgid "Usage: %s [.ntd]\n" msgstr "" #: mainwindow.cpp:9655 msgid "" "unable to set decimal point to '.'. PostScript output will be erroneous. \t\t" "\tPlease set the $LANG environment variable appropriately!" msgstr "" #: resource.cpp:380 msgid "Piano 1" msgstr "" #: resource.cpp:380 msgid "Piano 2" msgstr "" #: resource.cpp:380 msgid "Piano 3" msgstr "" #: resource.cpp:380 msgid "Honky-tonk" msgstr "" #: resource.cpp:381 msgid "E.Piano 1" msgstr "" #: resource.cpp:381 msgid "E.Piano 2" msgstr "" #: resource.cpp:381 msgid "Harpsichord" msgstr "" #: resource.cpp:381 msgid "Clavinet" msgstr "" #: resource.cpp:382 msgid "Celesta" msgstr "" #: resource.cpp:382 msgid "Glockenspiel" msgstr "" #: resource.cpp:382 msgid "Music Box" msgstr "" #: resource.cpp:382 msgid "Vibraphone" msgstr "" #: resource.cpp:383 msgid "Marimba" msgstr "" #: resource.cpp:383 msgid "Xylophone" msgstr "" #: resource.cpp:383 msgid "Tubular Bells" msgstr "" #: resource.cpp:383 msgid "Dulcimer" msgstr "" #: resource.cpp:384 msgid "Organ 1" msgstr "" #: resource.cpp:384 msgid "Organ 2" msgstr "" #: resource.cpp:384 msgid "Organ 3" msgstr "" #: resource.cpp:384 msgid "Church Organ" msgstr "" #: resource.cpp:385 msgid "Reed Organ" msgstr "" #: resource.cpp:385 msgid "Accordion" msgstr "" #: resource.cpp:385 msgid "Harmonica" msgstr "" #: resource.cpp:385 msgid "Bandoneon" msgstr "" #: resource.cpp:386 msgid "Nylon Guitar" msgstr "" #: resource.cpp:386 msgid "Steel Guitar" msgstr "" #: resource.cpp:386 msgid "Jazz Guitar" msgstr "" #: resource.cpp:386 msgid "Clean Guitar" msgstr "" #: resource.cpp:387 msgid "Guitar Mutes" msgstr "" #: resource.cpp:387 msgid "Overdrive Guitar" msgstr "" #: resource.cpp:387 msgid "Guitar Harmonics" msgstr "" #: resource.cpp:388 msgid "Acoustic Bass" msgstr "" #: resource.cpp:388 msgid "Fingered Bass" msgstr "" #: resource.cpp:388 msgid "Picked Bass" msgstr "" #: resource.cpp:388 msgid "Fretless Bass" msgstr "" #: resource.cpp:389 msgid "Slap Bass 1" msgstr "" #: resource.cpp:389 msgid "Slap Bass 2" msgstr "" #: resource.cpp:389 msgid "Synth Bass 1" msgstr "" #: resource.cpp:389 msgid "Synth Bass 2" msgstr "" #: resource.cpp:390 msgid "Violin" msgstr "" #: resource.cpp:390 msgid "Viola" msgstr "" #: resource.cpp:390 msgid "Cello" msgstr "" #: resource.cpp:390 msgid "Contrabass" msgstr "" #: resource.cpp:391 msgid "Tremolo Strings" msgstr "" #: resource.cpp:391 msgid "Pizzicato" msgstr "" #: resource.cpp:391 msgid "Harp" msgstr "" #: resource.cpp:391 msgid "Timpani" msgstr "" #: resource.cpp:392 msgid "Strings" msgstr "" #: resource.cpp:392 msgid "Slow Strings" msgstr "" #: resource.cpp:392 msgid "Synth Strings 1" msgstr "" #: resource.cpp:392 msgid "Synth Strings 2" msgstr "" #: resource.cpp:393 msgid "Choir Aahs" msgstr "" #: resource.cpp:393 msgid "Voice Oohs" msgstr "" #: resource.cpp:393 msgid "Synth Vox" msgstr "" #: resource.cpp:393 msgid "Orchestra Hit" msgstr "" #: resource.cpp:394 msgid "Trumpet" msgstr "" #: resource.cpp:394 msgid "Trombone" msgstr "" #: resource.cpp:394 msgid "Tuba" msgstr "" #: resource.cpp:394 msgid "Mute Trumpet" msgstr "" #: resource.cpp:395 msgid "French Horns" msgstr "" #: resource.cpp:395 msgid "Brass" msgstr "" #: resource.cpp:395 msgid "Synth Brass 1" msgstr "" #: resource.cpp:395 msgid "Synth Brass 2" msgstr "" #: resource.cpp:396 msgid "Soprano Sax" msgstr "" #: resource.cpp:396 msgid "Alto Sax" msgstr "" #: resource.cpp:396 msgid "Tenor Sax" msgstr "" #: resource.cpp:396 msgid "Baritone Sax" msgstr "" #: resource.cpp:397 msgid "Oboe" msgstr "" #: resource.cpp:397 msgid "English Horn" msgstr "Cor Anglais" #: resource.cpp:397 msgid "Bassoon" msgstr "" #: resource.cpp:397 msgid "Clarinet" msgstr "" #: resource.cpp:398 msgid "Piccolo" msgstr "" #: resource.cpp:398 msgid "Flute" msgstr "" #: resource.cpp:398 msgid "Recorder" msgstr "" #: resource.cpp:398 msgid "Pan Flute" msgstr "" #: resource.cpp:399 msgid "Bottle Chiff" msgstr "" #: resource.cpp:399 msgid "Shakuhachi" msgstr "" #: resource.cpp:399 msgid "Whistle" msgstr "" #: resource.cpp:399 msgid "Ocarina" msgstr "" #: resource.cpp:400 msgid "Square Wave" msgstr "" #: resource.cpp:400 msgid "Saw Wave" msgstr "" #: resource.cpp:400 msgid "Synth Calliope" msgstr "" #: resource.cpp:400 msgid "Chiffer Lead" msgstr "" #: resource.cpp:401 msgid "Charang" msgstr "" #: resource.cpp:401 msgid "Solo Vox" msgstr "" #: resource.cpp:401 msgid "5th Saw Wave" msgstr "" #: resource.cpp:401 msgid "Bass & Lead" msgstr "" #: resource.cpp:402 msgid "Fantasia" msgstr "" #: resource.cpp:402 msgid "Warm Pad" msgstr "" #: resource.cpp:402 msgid "Poly Synth" msgstr "" #: resource.cpp:402 msgid "Space Voice" msgstr "" #: resource.cpp:403 msgid "Bowed Glass" msgstr "" #: resource.cpp:403 msgid "Metal Pad" msgstr "" #: resource.cpp:403 msgid "Halo Pad" msgstr "" #: resource.cpp:403 msgid "Sweep Pad" msgstr "" #: resource.cpp:404 msgid "Ice Rain" msgstr "" #: resource.cpp:404 msgid "Soundtrack" msgstr "" #: resource.cpp:404 msgid "Crystal" msgstr "" #: resource.cpp:404 msgid "Atmosphere" msgstr "" #: resource.cpp:405 msgid "Brightness" msgstr "" #: resource.cpp:405 msgid "Goblin" msgstr "" #: resource.cpp:405 msgid "Echo Drops" msgstr "" #: resource.cpp:405 msgid "Star Theme" msgstr "" #: resource.cpp:406 msgid "Sitar" msgstr "" #: resource.cpp:406 msgid "Banjo" msgstr "" #: resource.cpp:406 msgid "Shamisen" msgstr "" #: resource.cpp:406 msgid "Koto" msgstr "" #: resource.cpp:407 msgid "Kalimba" msgstr "" #: resource.cpp:407 msgid "Bagpipe" msgstr "" #: resource.cpp:407 msgid "Fiddle" msgstr "" #: resource.cpp:407 msgid "Shenai" msgstr "" #: resource.cpp:408 msgid "Tinker Bell" msgstr "" #: resource.cpp:408 msgid "Agogo" msgstr "" #: resource.cpp:408 msgid "Steel Drum" msgstr "" #: resource.cpp:408 msgid "Wood Block" msgstr "" #: resource.cpp:409 msgid "Taiko Drum" msgstr "" #: resource.cpp:409 msgid "Melodic Tom" msgstr "" #: resource.cpp:409 msgid "Synth Drum" msgstr "" #: resource.cpp:409 msgid "Reverse Cymbal" msgstr "" #: resource.cpp:410 msgid "Fret Noise" msgstr "" #: resource.cpp:410 msgid "Breath Noise" msgstr "" #: resource.cpp:410 msgid "Seashore" msgstr "" #: resource.cpp:410 msgid "Bird" msgstr "" #: resource.cpp:411 msgid "Telephone" msgstr "" #: resource.cpp:411 msgid "Helicopter" msgstr "" #: resource.cpp:411 msgid "Applause" msgstr "" #: resource.cpp:411 msgid "Gun Shot" msgstr "" #: resource.cpp:827 msgid "" "Cannot open ALSA MIDI sequencer --> replay won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" #: resource.cpp:835 msgid "Error creating ALSA sequencer output port --> replay won't work :-((" msgstr "" #: resource.cpp:845 msgid "" "Cannot open ALSA MIDI sequencer --> read/record won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" #: resource.cpp:853 msgid "Error creating ALSA sequencer input port --> record won't work :-((" msgstr "" #: dialogs/paperconfigdialog.cpp:37 dialogs/paperconfigdialog.cpp:41 msgid "Paper" msgstr "" #: dialogs/paperconfigdialog.cpp:46 msgid "paper type" msgstr "" #: dialogs/paperconfigdialog.cpp:81 msgid "orientation" msgstr "" #: dialogs/paperconfigdialog.cpp:82 msgid "portrait" msgstr "" #: dialogs/paperconfigdialog.cpp:83 msgid "landscape" msgstr "" #: dialogs/portchoosedialog.cpp:46 msgid "MIDI ports" msgstr "" #: dialogs/portchoosedialog.cpp:60 dialogs/staffcontextdialog.cpp:321 #: dialogs/staffcontextdialog.cpp:437 dialogs/textdialog.cpp:200 #: dialogs/midirecordconfigdialog.cpp:133 dialogs/staffselectdialog.cpp:69 #: dialogs/drumconfigdialog.cpp:110 msgid "no" msgstr "" #: dialogs/portchoosedialog.cpp:62 msgid "port" msgstr "" #: dialogs/portchoosedialog.cpp:78 msgid "midi echo" msgstr "" #: dialogs/printconfigdialog.cpp:31 msgid "Print command" msgstr "" #: dialogs/printconfigdialog.cpp:35 msgid "print command" msgstr "" #: dialogs/staffcontextdialog.cpp:31 msgid "G flat Major; e flat minor" msgstr "" #: dialogs/staffcontextdialog.cpp:31 msgid "D flat Major; b flat minor" msgstr "" #: dialogs/staffcontextdialog.cpp:32 msgid "A flat Major; f minor" msgstr "" #: dialogs/staffcontextdialog.cpp:32 msgid "E flat Major; c minor" msgstr "" #: dialogs/staffcontextdialog.cpp:33 msgid "B flat Major; g minor" msgstr "" #: dialogs/staffcontextdialog.cpp:33 msgid "F Major; d minor" msgstr "" #: dialogs/staffcontextdialog.cpp:34 msgid "C Major; a minor" msgstr "" #: dialogs/staffcontextdialog.cpp:34 msgid "G Major; e minor" msgstr "" #: dialogs/staffcontextdialog.cpp:35 msgid "D Major; b minor" msgstr "" #: dialogs/staffcontextdialog.cpp:35 msgid "A Major; f sharp minor" msgstr "" #: dialogs/staffcontextdialog.cpp:36 msgid "E Major; c sharp minor" msgstr "" #: dialogs/staffcontextdialog.cpp:36 msgid "B Major; g sharp minor" msgstr "" #: dialogs/staffcontextdialog.cpp:37 msgid "F sharp Major; d sharp minor" msgstr "" #: dialogs/staffcontextdialog.cpp:120 msgid "Staff context" msgstr "" #: dialogs/staffcontextdialog.cpp:132 dialogs/clefconfigdialog.cpp:49 msgid "clef" msgstr "" #: dialogs/staffcontextdialog.cpp:157 dialogs/clefconfigdialog.cpp:74 msgid "Octave shift:" msgstr "" #: dialogs/staffcontextdialog.cpp:163 dialogs/keysigdialog.cpp:66 #: dialogs/clefconfigdialog.cpp:81 msgid "adjust notes" msgstr "" #: dialogs/staffcontextdialog.cpp:200 dialogs/measureconfigdialog.cpp:110 #: dialogs/midirecordconfigdialog.cpp:70 msgid "time signature" msgstr "" #: dialogs/staffcontextdialog.cpp:204 dialogs/measureconfigdialog.cpp:114 #: dialogs/midirecordconfigdialog.cpp:74 msgid "Numerator:" msgstr "" #: dialogs/staffcontextdialog.cpp:205 dialogs/measureconfigdialog.cpp:115 #: dialogs/midirecordconfigdialog.cpp:75 msgid "Denominator:" msgstr "" #: dialogs/staffcontextdialog.cpp:248 msgid "staff name" msgstr "" #: dialogs/staffcontextdialog.cpp:255 msgid "staff short name" msgstr "" #: dialogs/staffcontextdialog.cpp:262 msgid "group name" msgstr "" #: dialogs/staffcontextdialog.cpp:269 msgid "group short name" msgstr "" #: dialogs/staffcontextdialog.cpp:278 dialogs/tempodialog.cpp:154 #: dialogs/textdialog.cpp:138 dialogs/midirecordconfigdialog.cpp:147 msgid "tempo" msgstr "" #: dialogs/staffcontextdialog.cpp:283 msgid "chorus" msgstr "" #: dialogs/staffcontextdialog.cpp:289 msgid "transp." msgstr "" #: dialogs/staffcontextdialog.cpp:295 msgid "reverb" msgstr "" #: dialogs/staffcontextdialog.cpp:301 dialogs/textdialog.cpp:123 #: dialogs/midirecordconfigdialog.cpp:153 msgid "volume" msgstr "" #: dialogs/staffcontextdialog.cpp:307 msgid "pan" msgstr "" #: dialogs/staffcontextdialog.cpp:323 dialogs/textdialog.cpp:202 #: dialogs/midirecordconfigdialog.cpp:135 msgid "instruments" msgstr "" #: dialogs/staffcontextdialog.cpp:332 dialogs/textdialog.cpp:150 msgid "channel" msgstr "" #: dialogs/staffcontextdialog.cpp:337 dialogs/mutedialog.cpp:69 msgid "muting" msgstr "" #: dialogs/staffcontextdialog.cpp:338 dialogs/staffcontextdialog.cpp:370 #: dialogs/mutedialog.cpp:72 dialogs/selectordialog.cpp:98 msgid "all" msgstr "" #: dialogs/staffcontextdialog.cpp:369 msgid "voices" msgstr "" #: dialogs/staffcontextdialog.cpp:429 dialogs/staffselectdialog.cpp:58 msgid "staff" msgstr "" #: dialogs/staffcontextdialog.cpp:435 dialogs/staffselectdialog.cpp:67 msgid "item" msgstr "" #: dialogs/staffcontextdialog.cpp:485 msgid "Score" msgstr "" #: dialogs/staffcontextdialog.cpp:486 msgid "MIDI" msgstr "" #: dialogs/staffcontextdialog.cpp:495 msgid "Staff position" msgstr "" #: dialogs/tupletdialog.cpp:34 msgid "Tuplet" msgstr "" #: dialogs/tupletdialog.cpp:40 msgid "" "Instead of using this dialog\n" "you can simply press + num" msgstr "" #: dialogs/tupletdialog.cpp:42 msgid "Tuplet value:" msgstr "" #: dialogs/tupletdialog.cpp:47 msgid "method 2" msgstr "" #: dialogs/insertblockdialog.cpp:32 msgid "Insert blocks" msgstr "" #: dialogs/insertblockdialog.cpp:39 msgid "block count:" msgstr "" #: dialogs/measureconfigdialog.cpp:53 msgid "Measure type" msgstr "Bar type" #: dialogs/measureconfigdialog.cpp:62 msgid "measure type" msgstr "bar type" #: dialogs/measureconfigdialog.cpp:89 msgid "alternative 1" msgstr "" #: dialogs/measureconfigdialog.cpp:90 msgid "alternative 2" msgstr "" #: dialogs/measureconfigdialog.cpp:99 msgid "hide following" msgstr "" #: dialogs/measureconfigdialog.cpp:158 msgid "enable timesig" msgstr "" #: dialogs/measureconfigdialog.cpp:160 msgid "delete timesig" msgstr "" #: dialogs/keysigdialog.cpp:37 msgid "New keysignature" msgstr "" #: dialogs/keysigdialog.cpp:64 msgid "adjust" msgstr "" #: dialogs/scoreinfodialog.cpp:71 dialogs/scoreinfodialog.cpp:75 msgid "Score info" msgstr "" #: dialogs/scoreinfodialog.cpp:79 msgid "Title:" msgstr "" #: dialogs/scoreinfodialog.cpp:87 msgid "Subject:" msgstr "" #: dialogs/scoreinfodialog.cpp:95 msgid "Composer:" msgstr "" #: dialogs/scoreinfodialog.cpp:103 msgid "Arranger:" msgstr "" #: dialogs/scoreinfodialog.cpp:111 msgid "Copyright:" msgstr "" #: dialogs/clefconfigdialog.cpp:44 msgid "Clef configuration" msgstr "" #: dialogs/volumedialog.cpp:32 msgid "Set Volume" msgstr "" #: dialogs/volumedialog.cpp:44 msgid "volume:" msgstr "" #: dialogs/tempodialog.cpp:56 msgid "Set Tempo" msgstr "" #: dialogs/tempodialog.cpp:128 msgid "kind" msgstr "" #: dialogs/tempodialog.cpp:150 msgid "tempo:" msgstr "" #: dialogs/lyricseditor.cpp:67 msgid "Lyrics" msgstr "" #: dialogs/lyricseditor.cpp:85 msgid "lyrics 1" msgstr "" #: dialogs/lyricseditor.cpp:86 msgid "lyrics 2" msgstr "" #: dialogs/lyricseditor.cpp:87 msgid "lyrics 3" msgstr "" #: dialogs/lyricseditor.cpp:88 msgid "lyrics 4" msgstr "" #: dialogs/lyricseditor.cpp:89 msgid "lyrics 5" msgstr "" #: dialogs/lyricseditor.cpp:135 dialogs/drumconfigdialog.cpp:230 msgid "load from file" msgstr "" #: dialogs/lyricseditor.cpp:136 dialogs/drumconfigdialog.cpp:231 msgid "save to file" msgstr "" #: dialogs/lyricseditor.cpp:143 dialogs/drumconfigdialog.cpp:247 msgid "file" msgstr "" #: dialogs/lyricseditor.cpp:292 msgid "Save lyrics" msgstr "" #: dialogs/lyricseditor.cpp:392 msgid "Open lyrics file" msgstr "" #: dialogs/mutedialog.cpp:34 msgid "Muting" msgstr "" #: dialogs/mutedialog.cpp:55 dialogs/selectordialog.cpp:61 #, c-format msgid "Staff %d" msgstr "" #: dialogs/mutedialog.cpp:74 dialogs/selectordialog.cpp:100 msgid "none" msgstr "" #: dialogs/linesdialog.cpp:40 msgid "Lines" msgstr "" #: dialogs/linesdialog.cpp:46 msgid "lines" msgstr "" #: dialogs/selectordialog.cpp:35 msgid "Transpose" msgstr "" #: dialogs/selectordialog.cpp:39 msgid "Select" msgstr "" #: dialogs/selectordialog.cpp:73 msgid "half-tones" msgstr "" #: dialogs/selectordialog.cpp:76 dialogs/selectordialog.cpp:95 #: chords/chorddialog.cpp:159 msgid "selection" msgstr "" #: dialogs/selectordialog.cpp:87 msgid "use selection" msgstr "" #: dialogs/textdialog.cpp:69 msgid "Text" msgstr "" #: dialogs/textdialog.cpp:89 chords/chorddialog.cpp:111 msgid "text" msgstr "" #: dialogs/textdialog.cpp:98 msgid "select font" msgstr "" #: dialogs/textdialog.cpp:105 msgid "anchor" msgstr "" #: dialogs/textdialog.cpp:108 msgid "left" msgstr "" #: dialogs/textdialog.cpp:109 msgid "mid" msgstr "" #: dialogs/textdialog.cpp:110 msgid "right" msgstr "" #: dialogs/textdialog.cpp:130 msgid "enable volume change" msgstr "" #: dialogs/textdialog.cpp:143 msgid "enable tempo change" msgstr "" #: dialogs/textdialog.cpp:155 msgid "enable channel change" msgstr "" #: dialogs/textdialog.cpp:162 msgid "D.S" msgstr "D.S." #: dialogs/textdialog.cpp:165 msgid "No segno meaning" msgstr "" #: dialogs/textdialog.cpp:166 msgid "D.S. al Fine" msgstr "" #: dialogs/textdialog.cpp:167 msgid "D.S. al Coda" msgstr "" #: dialogs/textdialog.cpp:168 msgid "D. Capo al Fine" msgstr "D. C. al Fine" #: dialogs/textdialog.cpp:169 msgid "D. Capo al Coda" msgstr "D. C. al Coda" #: dialogs/textdialog.cpp:170 msgid "Fine" msgstr "" #: dialogs/textdialog.cpp:171 msgid "al Coda" msgstr "" #: dialogs/textdialog.cpp:219 msgid "instrument" msgstr "" #: dialogs/textdialog.cpp:220 msgid "enable instrument change" msgstr "" #: dialogs/signsdialog.cpp:44 msgid "Signs" msgstr "" #: dialogs/signsdialog.cpp:50 msgid "signs" msgstr "" #: dialogs/midiimportdialog.cpp:43 msgid "MIDI import" msgstr "" #: dialogs/midiimportdialog.cpp:70 dialogs/midirecordconfigdialog.cpp:103 msgid "triplet recognition" msgstr "" #: dialogs/midiimportdialog.cpp:72 msgid "sort instruments" msgstr "" #: dialogs/midiimportdialog.cpp:73 dialogs/midirecordconfigdialog.cpp:105 msgid "force piano" msgstr "" #: dialogs/midiimportdialog.cpp:74 dialogs/midirecordconfigdialog.cpp:107 msgid "don't split tracks" msgstr "" #: dialogs/midiimportdialog.cpp:83 msgid "tempo density" msgstr "" #: dialogs/midiimportdialog.cpp:89 msgid "volume density" msgstr "" #: dialogs/midirecordconfigdialog.cpp:65 msgid "Config Record" msgstr "" #: dialogs/lilypondexportdialog.cpp:63 msgid "export params" msgstr "" #: dialogs/lilypondexportdialog.cpp:66 msgid "create line breaks" msgstr "" #: dialogs/lilypondexportdialog.cpp:74 msgid "keep beams" msgstr "" #: dialogs/lilypondexportdialog.cpp:172 msgid "Staff selection" msgstr "" #: dialogs/lilypondexportdialog.cpp:181 msgid "keep beams selection" msgstr "" #: dialogs/staffselectdialog.cpp:76 msgid "All" msgstr "" #: dialogs/staffselectdialog.cpp:79 msgid "None" msgstr "" #: dialogs/spacementdialog.cpp:34 msgid "Horizontal Spacement" msgstr "" #: dialogs/spacementdialog.cpp:40 msgid "Spacement" msgstr "" #: dialogs/scaledialog.cpp:35 dialogs/scaledialog.cpp:40 msgid "Scale" msgstr "" #: dialogs/drumconfigdialog.cpp:90 msgid "Config Drums" msgstr "" #: dialogs/drumconfigdialog.cpp:112 msgid "drum element name" msgstr "" #: dialogs/drumconfigdialog.cpp:114 msgid "short name" msgstr "" #: dialogs/drumconfigdialog.cpp:116 msgid "line" msgstr "" #: dialogs/drumconfigdialog.cpp:119 msgid "symbol" msgstr "" #: dialogs/drumconfigdialog.cpp:121 msgid "midi pitch" msgstr "" #: dialogs/drumconfigdialog.cpp:192 msgid "change element" msgstr "" #: dialogs/drumconfigdialog.cpp:197 msgid "note head" msgstr "" #: dialogs/drumconfigdialog.cpp:223 msgid "preview" msgstr "" #: dialogs/drumconfigdialog.cpp:232 msgid "load defaults" msgstr "" #: dialogs/drumconfigdialog.cpp:233 msgid "play element" msgstr "" #: dialogs/drumconfigdialog.cpp:446 msgid "Save drum configuration" msgstr "" #: dialogs/drumconfigdialog.cpp:537 msgid "Open drum configuration" msgstr "" #: dialogs/chordnamedialog.cpp:50 dialogs/chordnamedialog.cpp:54 msgid "Chordname" msgstr "" #: dialogs/chordnamedialog.cpp:61 msgid "chordname" msgstr "" #: dialogs/chordnamedialog.cpp:80 msgid "size" msgstr "" #: dialogs/chordnamedialog.cpp:84 msgid "position" msgstr "" #: dialogs/tools.cpp:372 dialogs/tools.cpp:392 msgid "Toolbox" msgstr "" #: chords/chorddialog.cpp:95 msgid "Chords" msgstr "" #: chords/chorddialog.cpp:99 msgid "chord" msgstr "" #: chords/chorddialog.cpp:109 msgid "config" msgstr "" #: chords/chorddialog.cpp:112 msgid "diagram" msgstr "" #: chords/chorddialog.cpp:133 msgid "root" msgstr "" #: chords/chorddialog.cpp:150 msgid "mody" msgstr "" #: chords/chorddialog.cpp:169 msgid "chordselect" msgstr "" nted-1.10.18/po/insert-header.sin0000664001041000007640000000124011520267347013423 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } nted-1.10.18/po/de.po0000664001041000007640000012673311520270235011113 00000000000000# translation of de.po to deutsch # translation of de.po to # Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # NtEd , 2007, 2008. # Jörg Anders , 2008, 2009. # Jörg Anders , 2008, 2009. # Joerg Anders , 2008, 2009, 2010. msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de\n" "POT-Creation-Date: 2011-01-27 14:18+0100\n" "PO-Revision-Date: 2010-04-12 18:06+0200\n" "Last-Translator: Joerg Anders \n" "Language-Team: deutsch \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: mainwindow.cpp:310 msgid "_File" msgstr "_Datei" #: mainwindow.cpp:311 msgid "Open_Recent" msgstr "_Letzte Dateien" #: mainwindow.cpp:312 msgid "_Export" msgstr "" #: mainwindow.cpp:313 msgid "_View" msgstr "_Ansicht" #: mainwindow.cpp:314 msgid "_Edit" msgstr "_Bearbeiten" #: mainwindow.cpp:315 msgid "_Tools" msgstr "_Werkzeuge" #: mainwindow.cpp:316 msgid "_System layout ..." msgstr "Systemlayout ..." #: mainwindow.cpp:317 msgid "_Insert" msgstr "_Einfügen" #: mainwindow.cpp:318 msgid "_Upbeat ..." msgstr "_Auftakt ..." #: mainwindow.cpp:319 msgid "_Preferences ..." msgstr "E_instellungen" #: mainwindow.cpp:320 msgid "_Dynamics ..." msgstr "_Lautstärkezeichen ..." #: mainwindow.cpp:321 msgid "_Lyrics" msgstr "_Strophen" #: mainwindow.cpp:322 msgid "_Help" msgstr "_Hilfe" #: mainwindow.cpp:323 msgid "Configure MIDI out..." msgstr "MIDI Ausgang konfigurieren ..." #: mainwindow.cpp:323 msgid "configure MIDI output" msgstr "MIDI Ausgang konfigurieren ..." #: mainwindow.cpp:324 msgid "Configure MIDI in..." msgstr "MIDI IN konfigurieren ..." #: mainwindow.cpp:324 msgid "configure MIDI input" msgstr "MIDI IN konfigurieren ..." #: mainwindow.cpp:325 msgid "Configure Paper..." msgstr "Papier konfigurieren ..." #: mainwindow.cpp:325 msgid "configure paper" msgstr "Papier konfigurieren" #: mainwindow.cpp:326 msgid "Configure Print..." msgstr "Druckkonfiguration ..." #: mainwindow.cpp:326 msgid "configure print command" msgstr "Druckkommando" #: mainwindow.cpp:327 msgid "New" msgstr "Neu" #: mainwindow.cpp:327 msgid "New File" msgstr "Neue Datei" #: mainwindow.cpp:328 msgid "Open ..." msgstr "Öffnen" #: mainwindow.cpp:328 msgid "Open a file" msgstr "Eine Datei öffnen" #: mainwindow.cpp:329 msgid "Save ..." msgstr "Speichern..." #: mainwindow.cpp:329 mainwindow.cpp:330 msgid "Save a file" msgstr "Eine Datei speichern" #: mainwindow.cpp:330 msgid "Save As ..." msgstr "Speichern unter ..." #: mainwindow.cpp:331 msgid "Print" msgstr "Drucken" #: mainwindow.cpp:331 msgid "print file" msgstr "Eine Datei drucken" #: mainwindow.cpp:332 msgid "Import MusicXML ..." msgstr "Import MusicXML ..." #: mainwindow.cpp:332 msgid "import a musicxml file" msgstr "eine MusicXML-Datei importieren" #: mainwindow.cpp:333 msgid "Import MIDI..." msgstr "Import MIDI ..." #: mainwindow.cpp:333 msgid "import a midi file" msgstr "eine MIDI Datei importieren" #: mainwindow.cpp:334 #, fuzzy msgid "Import MIDI(2)..." msgstr "Import MIDI ..." #: mainwindow.cpp:334 #, fuzzy msgid "import a midi file(2)" msgstr "eine MIDI Datei importieren" #: mainwindow.cpp:335 msgid "Copy" msgstr "kopieren" #: mainwindow.cpp:335 msgid "copy - Ctrl + C" msgstr "kopieren - Strg + C" #: mainwindow.cpp:336 msgid "Paste" msgstr "einfügen" #: mainwindow.cpp:336 msgid "paste - Ctrl + V" msgstr "einfügen - Strg + V" #: mainwindow.cpp:337 msgid "Delete block" msgstr "Block löschen" #: mainwindow.cpp:337 msgid "delete block - Ctrl + X" msgstr "Block löschen - Strg + X" #: mainwindow.cpp:338 msgid "append a system at end" msgstr "ein System anfügen" #: mainwindow.cpp:338 msgid "append system - Ctrl + B" msgstr "System anfügen- Strg + B" #: mainwindow.cpp:339 msgid "Insert block" msgstr "Block einfügen" #: mainwindow.cpp:339 msgid "insert block" msgstr "Block einfügen" #: mainwindow.cpp:340 msgid "Insert clef ..." msgstr "Schlüssel ..." #: mainwindow.cpp:340 msgid "insert a clef" msgstr "einen Schlüssel einfügen" #: mainwindow.cpp:341 msgid "Empty block" msgstr "Block leeren" #: mainwindow.cpp:341 msgid "empty block - Ctrl + E" msgstr "Block leeren - Strg + E" #: mainwindow.cpp:342 msgid "reposit all" msgstr "Alles neupositionieren" #: mainwindow.cpp:342 msgid "reposit the whole score - Ctrl + T" msgstr "Die gesamte Partitur neu positionieren Strg + T" #: mainwindow.cpp:343 msgid "Export MIDI ..." msgstr "Als MIDI exportieren ..." #: mainwindow.cpp:343 msgid "export a midi file" msgstr "als MIDI exportieren" #: mainwindow.cpp:344 msgid "Export LilyPond ..." msgstr "LilyPond exportieren ..." #: mainwindow.cpp:344 dialogs/lilypondexportdialog.cpp:44 msgid "LilyPond export" msgstr "LilyPond export" #: mainwindow.cpp:346 msgid "Export PDF ..." msgstr "PDF exportieren ..." #: mainwindow.cpp:346 msgid "export PDF" msgstr "PDF exportieren" #: mainwindow.cpp:348 msgid "Export P_NG ..." msgstr "Export P_NG ..." #: mainwindow.cpp:348 msgid "Write a png image" msgstr "Ein PNG-Bild erzeugen" #: mainwindow.cpp:350 msgid "Export S_VG ..." msgstr "Export S_VG ..." #: mainwindow.cpp:350 msgid "Write an svg image" msgstr "Ein SVG-Bild erzeugen" #: mainwindow.cpp:352 msgid "Export P_S ..." msgstr "Post_Script exportieren ..." #: mainwindow.cpp:352 msgid "Write PostScript" msgstr "Als PostScript exportieren" #: mainwindow.cpp:353 msgid "New Window" msgstr "Neues Fenster" #: mainwindow.cpp:353 msgid "Open a new window" msgstr "ein neues Fenster öffnen" #: mainwindow.cpp:354 msgid "Excerpt ..." msgstr "Partiturauszug ..." #: mainwindow.cpp:354 msgid "Make an excerpt of the score" msgstr "Einen Partiturauszug erzeugen" #: mainwindow.cpp:355 msgid "Close Window" msgstr "Fenster schließen" #: mainwindow.cpp:355 msgid "Close current window" msgstr "aktuelles Fenster schließen" #: mainwindow.cpp:358 msgid "Remove last page" msgstr "Letzte Seite löschen" #: mainwindow.cpp:358 msgid "remove the last page" msgstr "letzte Seite löschen" #: mainwindow.cpp:359 msgid "Remove empty pages" msgstr "Letzte Seiten löschen" #: mainwindow.cpp:359 msgid "remove empty pages at end" msgstr "leere Seiten am Ende löschen" #: mainwindow.cpp:360 msgid "Change spacement ..." msgstr "Abstände ändern ..." #: mainwindow.cpp:360 msgid "change the horizontal spacement" msgstr "Die waagerechten Abstände ändern" #: mainwindow.cpp:361 msgid "Change Scale ..." msgstr "Partitur skalieren ..." #: mainwindow.cpp:361 msgid "change scale" msgstr "Partitur skalieren" #: mainwindow.cpp:362 msgid "Configure Record ..." msgstr "MIDI-Aufnahme konfigurieren ..." #: mainwindow.cpp:362 msgid "configure record" msgstr "Aufnahme konfigurieren" #: mainwindow.cpp:363 msgid "Configure Drums ..." msgstr "Schlagzeug ..." #: mainwindow.cpp:363 msgid "configure drums" msgstr "Schlagzeug ..." #: mainwindow.cpp:364 msgid "Tools ..." msgstr "Werkzeugkiste ...." #: mainwindow.cpp:364 msgid "Tools " msgstr "Werkzeugkiste" #: mainwindow.cpp:365 msgid "give first measure" msgstr "Angabe des 1. vollen Taktes" #: mainwindow.cpp:365 msgid "set upbeat by giving the start of first full measure" msgstr "Auftakt durch Angabe des ersten vollen Taktes setzen" #: mainwindow.cpp:366 msgid "give start" msgstr "Angabe des Starts" #: mainwindow.cpp:366 msgid "set upbeat by giving the start of the score" msgstr "Auftakt durch Angabe des Partiturstarts geben" #: mainwindow.cpp:367 msgid "Score info ..." msgstr "Partiturinformationen..." #: mainwindow.cpp:367 msgid "edit score info" msgstr "Partiturinformationen bearbeiten" #: mainwindow.cpp:368 msgid "Insert keysig ... " msgstr "Vorzeichnung einfügen..." #: mainwindow.cpp:368 msgid "insert a key signature" msgstr "Eine Tonartenvorzeichnung einfügen" #: mainwindow.cpp:369 msgid "Insert lines ... " msgstr "Linien ..." #: mainwindow.cpp:369 msgid "insert a horizontal line" msgstr "waagerechte Linie einfügen" #: mainwindow.cpp:370 msgid "Insert sign ... " msgstr "Zeichen einfügen..." #: mainwindow.cpp:370 msgid "insert a free placeable sign" msgstr "ein frei platzierbares Zeichen einfügen" #: mainwindow.cpp:371 msgid "Slur" msgstr "Bindebogen" #: mainwindow.cpp:371 msgid "insert a slur - Ctrl+H" msgstr "einen Bindebogen einfügen - Strg+H" #: mainwindow.cpp:372 msgid "chord ..." msgstr "Akkord ..." #: mainwindow.cpp:372 msgid "insert a chord" msgstr "einen Akkord einfügen" #: mainwindow.cpp:373 msgid "chordname ..." msgstr "Akkordname ..." #: mainwindow.cpp:373 msgid "insert a chordname" msgstr "einen Akkordnamen einfügen" #: mainwindow.cpp:374 msgid "spacer" msgstr "Abstandshalter" #: mainwindow.cpp:374 msgid "insert a staff spacer" msgstr "einen Abstandshalter einfügen" # #: mainwindow.cpp:375 msgid "Append staff" msgstr "eine Notenzeile anfügen" #: mainwindow.cpp:375 msgid "append a new staff" msgstr "eine Notenzeile anfügen" #: mainwindow.cpp:376 msgid "Import recorded" msgstr "Aufn. importieren" #: mainwindow.cpp:376 msgid "import recorded staff" msgstr "aufgenommene Zeile importieren" #: mainwindow.cpp:377 msgid "Lyrics editor ..." msgstr "Stropheneditor ..." #: mainwindow.cpp:377 msgid "edit lyrics in text editor" msgstr "Strophen im Stropheneditor bearbeiten" #: mainwindow.cpp:378 msgid "ppp" msgstr "" #: mainwindow.cpp:378 msgid "insert ppp" msgstr "ppp einfügen" #: mainwindow.cpp:379 msgid "pp" msgstr "" #: mainwindow.cpp:379 msgid "insert pp" msgstr "pp einfügen" #: mainwindow.cpp:380 msgid "p" msgstr "" #: mainwindow.cpp:380 msgid "insert p" msgstr "p einfügen" #: mainwindow.cpp:381 msgid "mp" msgstr "" #: mainwindow.cpp:381 msgid "insert mp" msgstr "mp einfügen" #: mainwindow.cpp:382 msgid "sp" msgstr "" #: mainwindow.cpp:382 msgid "insert sp" msgstr "sp einfügen" #: mainwindow.cpp:383 msgid "mf" msgstr "" #: mainwindow.cpp:383 msgid "insert mf" msgstr "mf einfügen" #: mainwindow.cpp:384 msgid "sf" msgstr "" #: mainwindow.cpp:384 msgid "insert sf" msgstr "sf einfügen" #: mainwindow.cpp:385 msgid "f" msgstr "" #: mainwindow.cpp:385 msgid "insert f" msgstr "f einfügen" #: mainwindow.cpp:386 msgid "ff" msgstr "" #: mainwindow.cpp:386 msgid "insert ff" msgstr "ff einfügen" #: mainwindow.cpp:387 msgid "fff" msgstr "" #: mainwindow.cpp:387 msgid "insert fff" msgstr "fff einfügen" #: mainwindow.cpp:388 msgid "tempo ..." msgstr "Tempo ..." #: mainwindow.cpp:388 msgid "insert tempo" msgstr "Tempozeichen einfügen" #: mainwindow.cpp:389 msgid "Text ..." msgstr "Text ..." #: mainwindow.cpp:389 msgid "insert text" msgstr "Text einfügen" #: mainwindow.cpp:390 msgid "accelerando" msgstr "Accelerando" #: mainwindow.cpp:390 msgid "insert accelerando" msgstr "ein Accelerando einfügen" #: mainwindow.cpp:391 msgid "ritardando" msgstr "Ritardando" #: mainwindow.cpp:391 msgid "insert ritardando" msgstr "ein Ritardando einfügen" #: mainwindow.cpp:392 msgid "lyrics1" msgstr "Strophe 1" #: mainwindow.cpp:392 msgid "insert lyrics at line 1" msgstr "Strophentext in Zeile 1 einfügen" #: mainwindow.cpp:393 msgid "lyrics2" msgstr "Strophe 2" #: mainwindow.cpp:393 msgid "insert lyrics at line 2" msgstr "Strophentext in Zeile 2 einfügen" #: mainwindow.cpp:394 msgid "lyrics3" msgstr "Strophe 3" #: mainwindow.cpp:394 msgid "insert lyrics at line 3" msgstr "Strophentext in Zeile 3 einfügen" #: mainwindow.cpp:395 msgid "lyrics4" msgstr "Strophe 4" #: mainwindow.cpp:395 msgid "insert lyrics at line 4" msgstr "Strophentext in Zeile 4 einfügen" #: mainwindow.cpp:396 msgid "lyrics5" msgstr "Strophe 5" #: mainwindow.cpp:396 msgid "insert lyrics at line 5" msgstr "Strophentext in Zeile 5 einfügen" #: mainwindow.cpp:397 msgid "Insert tuplet ..." msgstr "N-Tole einfügen ..." #: mainwindow.cpp:397 msgid "insert a tuplet (Ctrl + num)" msgstr "N-Tole einfügen (Ctrl + num)" #: mainwindow.cpp:398 msgid "brace" msgstr "runde Klammer" #: mainwindow.cpp:398 msgid "group staves by means of a brace" msgstr "Notenzeile mit einer runden Klammer verbinden" #: mainwindow.cpp:399 msgid "bracket" msgstr "eckige Klammer" #: mainwindow.cpp:399 msgid "group staves by means of a bracket" msgstr "Notenzeile mit einer eckigen Klammer verbinden" #: mainwindow.cpp:400 msgid "connect barlines" msgstr "Taktstriche verbinden" #: mainwindow.cpp:400 msgid "set connected bar lines" msgstr "Taktriche verbinden" #: mainwindow.cpp:401 msgid "remove group" msgstr "Gruppe löschen" #: mainwindow.cpp:401 msgid "remove a group of connected staves" msgstr "Eine Notenzeilengruppe löschen" #: mainwindow.cpp:402 msgid "Remove tuplet" msgstr "N-Tole löschen" #: mainwindow.cpp:402 msgid "remove a tuplet" msgstr "Eine N-Tole löschen" #: mainwindow.cpp:403 msgid "Muting ..." msgstr "Stummschalten ..." #: mainwindow.cpp:403 msgid "mute some staves" msgstr "Einige Notenzeilen stummschalten" #: mainwindow.cpp:404 msgid "Transpose ..." msgstr "Transponieren ..." #: mainwindow.cpp:404 msgid "transpose" msgstr "Transponieren" #: mainwindow.cpp:405 msgid "hide rests" msgstr "Pausen verstecken" #: mainwindow.cpp:405 msgid "hide (selected) rests" msgstr "verstecke (ausgewählte) Pausen" #: mainwindow.cpp:406 msgid "unhide rests" msgstr "Pausen sichtbar machen" #: mainwindow.cpp:406 msgid "unhide (selected) rests" msgstr "mache (ausgewählte) Pausen wieder sichtbar" #: mainwindow.cpp:407 msgid "hide rests (all v.)" msgstr "Pausen verstecken (a. St.)" #: mainwindow.cpp:407 msgid "hide selected rests (all v.)" msgstr "Pausen verstecken (a. St.)" #: mainwindow.cpp:408 msgid "unhide rests (all v.)" msgstr "Pausen sichtbar machen (a.St.)" #: mainwindow.cpp:408 msgid "unhide selected rests (all v.)" msgstr "Pausen sichtbar machen (a. St.)" #: mainwindow.cpp:409 msgid "set all to sharp ..." msgstr "Setze Kreuze ..." #: mainwindow.cpp:409 msgid "set all flats to sharp" msgstr "Konvertiere alle Bs zu Kreuzen" #: mainwindow.cpp:410 msgid "set all to flat ..." msgstr "Setze Bs ..." #: mainwindow.cpp:410 msgid "set all sharps to flat" msgstr "Konvertiere alle Kreuze zu Bs" #: mainwindow.cpp:411 msgid "About NtEd" msgstr "Über NtEd" #: mainwindow.cpp:413 msgid "Documentation ..." msgstr "Dokumentation ..." #: mainwindow.cpp:415 msgid "License" msgstr "Lizenz" #: mainwindow.cpp:416 msgid "E_xit" msgstr "_Beenden" #: mainwindow.cpp:416 msgid "Exit the program" msgstr "Das Programm beenden" #: mainwindow.cpp:420 msgid "play" msgstr "Abspielen" #: mainwindow.cpp:421 msgid "voices in different colors" msgstr "Stimmen verschiedenfarbig" #: mainwindow.cpp:422 msgid "show measure numbers" msgstr "Taktnummern anzeigen" #: mainwindow.cpp:423 msgid "show hidden elements" msgstr "zeige versteckte Elemente" #: mainwindow.cpp:424 msgid "midi input" msgstr "MIDI-Eingabe" #: mainwindow.cpp:425 msgid "record midi" msgstr "MIDI-Aufnahme" #: mainwindow.cpp:425 msgid "record midi - i" msgstr "MIDI-Aufnahme - i" #: mainwindow.cpp:429 msgid "in" msgstr "vergrößern" #: mainwindow.cpp:429 msgid "Zoom in Ctrl + +" msgstr "Hineinzoomen Strg + +" #: mainwindow.cpp:430 msgid "out" msgstr "verkleinern" #: mainwindow.cpp:430 msgid "Zoom out Ctrl + -" msgstr "Herauszoomen Strg + -" #: mainwindow.cpp:431 msgid "undo" msgstr "Rückgängig" #: mainwindow.cpp:431 msgid "Undo Ctrl + z" msgstr "Rückgängig Strg+ Z" #: mainwindow.cpp:432 msgid "redo" msgstr "Wiederholen" #: mainwindow.cpp:432 msgid "Redo Ctrl + y" msgstr "Wiederholen Strg + Y" #: mainwindow.cpp:433 msgid "customize beam" msgstr "Balken anpassen " #: mainwindow.cpp:433 msgid "customize beam - Ctrl + j" msgstr "Balken anpassen - Strg + j" #: mainwindow.cpp:434 msgid "flip stem" msgstr "Notenhalsrichtung" #: mainwindow.cpp:434 msgid "flip stem - Ctrl + f" msgstr "Notenhalsrichtung - Strg + f" #: mainwindow.cpp:438 msgid "insert" msgstr "einfügen" #: mainwindow.cpp:438 msgid "Toggle Insert/Erase Mode - n" msgstr "Einfüge/Lösch-Modus umschalten - N" #: mainwindow.cpp:442 msgid "page" msgstr "Seite" #: mainwindow.cpp:442 msgid "Page Mode - p" msgstr "Seitenmodus - P" #: mainwindow.cpp:443 dialogs/staffcontextdialog.cpp:177 #: dialogs/keysigdialog.cpp:42 dialogs/midirecordconfigdialog.cpp:160 msgid "key" msgstr "Vorzeichen" #: mainwindow.cpp:443 msgid "Keyboard insert mode - k" msgstr "PC-Tastatur-Einfüge-Modus" #: mainwindow.cpp:1625 msgid "Cannot replay because could not open ALSA sequencer" msgstr "" "Wiedergabe nicht möglich, da der ALSA -Sequenzer nicht geöffnet werden " "konnte." #: mainwindow.cpp:2776 mainwindow.cpp:5110 mainwindow.cpp:5156 #: mainwindow.cpp:6090 mainwindow.cpp:6180 mainwindow.cpp:6937 #: mainwindow.cpp:9584 msgid "Save Changes ?" msgstr "Änderungen speichern?" #: mainwindow.cpp:2894 mainwindow.cpp:2995 mainwindow.cpp:3576 #: mainwindow.cpp:3696 mainwindow.cpp:9035 mainwindow.cpp:9147 #: mainwindow.cpp:9271 mainwindow.cpp:9360 dialogs/lyricseditor.cpp:350 #: dialogs/drumconfigdialog.cpp:493 #, c-format msgid "Cannot open %s for writing" msgstr "%s kann nicht zum Schreiben geöffnet werden." #: mainwindow.cpp:2905 mainwindow.cpp:3009 #, c-format msgid "Cannot rename %s to %s" msgstr "Ich kann %s nicht in %s umbenennen." #: mainwindow.cpp:2940 msgid "Save score" msgstr "Partitur sichern" #: mainwindow.cpp:2982 mainwindow.cpp:3564 mainwindow.cpp:3684 #: mainwindow.cpp:8995 mainwindow.cpp:9135 mainwindow.cpp:9259 #: mainwindow.cpp:9348 dialogs/lyricseditor.cpp:336 #: dialogs/drumconfigdialog.cpp:479 #, c-format msgid "File %s already exists. Overwrite ?" msgstr "Die Datei %s existiert bereits. Überschreiben?" #: mainwindow.cpp:3272 mainwindow.cpp:3416 msgid "Please select a note or rest!" msgstr "Bitte wählen Sie eine Note oder Pause!" #: mainwindow.cpp:3277 msgid "You select a note in an tuplet" msgstr "Sie können keine Note in einer N-Tole wählen." #: mainwindow.cpp:3281 msgid "You cannot copy incomplete tuplets!" msgstr "Unvollständige N-Tolen können nicht lopiert werden!" #: mainwindow.cpp:3296 msgid "Paste not possible: A tuplet would cross a measure" msgstr "Einfügen nicht möglich: Eine N-Tole würde einen Takt kreuzen." #: mainwindow.cpp:3443 msgid "Empty not possible because of incomplete tuplets" msgstr "Leeren nichtmöglich: Der Bereich enthält unvollständige N-Tolen!" #: mainwindow.cpp:4112 #, c-format msgid "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "Translation: " msgstr "" "NtEd version %s by Joerg Anders\n" "Senden Sie Bug-Reports an %s\n" "\n" "Informationen: http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted." "xhtml\n" "\n" "Autoren:\n" " J.Anders \n" "\n" "Übersetzung: J.Anders" #: mainwindow.cpp:4123 msgid "" "Excuse! The documentation is not available\n" "due to an installation error" msgstr "" "Entschuldigung, aber die Dokumentation ist aufrund eines " "Installationsfehlers nicht verfügbar." #: mainwindow.cpp:4133 msgid "Excuse! Cannot exec" msgstr "Entschuldingung! Exec geht nicht!" #: mainwindow.cpp:4138 msgid "Excuse! Cannot fork" msgstr "Entschuldigung! Fork geht nicht." #: mainwindow.cpp:4880 mainwindow.cpp:4902 mainwindow.cpp:7850 msgid "please select a note or rest first" msgstr "Bitte wählen Sie zunächst eine Note oder Pause!" #: mainwindow.cpp:4884 mainwindow.cpp:7854 msgid "you cannot select an element with dot" msgstr "Elemente mit Punkt nicht möglich" #: mainwindow.cpp:4894 mainwindow.cpp:7869 msgid "I'm not able to create a tuplet here" msgstr "Hier kann keine N-Tole erzeugt werden" #: mainwindow.cpp:4906 msgid "selected element is not inside a tuplet" msgstr "Das gewählte Element ist nicht innerhalb einer N-Tole" #: mainwindow.cpp:5171 msgid "Open score" msgstr "Partitur öffnen" #: mainwindow.cpp:5211 mainwindow.cpp:6306 mainwindow.cpp:6966 #: dialogs/lyricseditor.cpp:433 dialogs/drumconfigdialog.cpp:567 #, c-format msgid "Cannot open %s for reading" msgstr "Die Datei %s kann nichr zum Lesen geöffnet werden" #: mainwindow.cpp:6105 msgid "Import MusicXML" msgstr "MusicXML importieren" #: mainwindow.cpp:7030 mainwindow.cpp:7056 msgid "Cannot list midi ports because could not open ALSA sequencer" msgstr "" "Die MIDI Ports können nicht aufgeführt werden, da der ALSA-Sequenzer nicht " "geöffnet werden konnte." #: mainwindow.cpp:7127 msgid "Font selection - Measure numbers" msgstr "" #: mainwindow.cpp:7749 msgid "Adjust notes ?" msgstr "Noten justieren ?" #: mainwindow.cpp:8951 msgid "Create PNG" msgstr "PNG erzeugen" #: mainwindow.cpp:9091 msgid "Create SVG" msgstr "SVG erzeugen" #: mainwindow.cpp:9217 msgid "Create Postscript" msgstr "PostScript erzugen" #: mainwindow.cpp:9306 msgid "Create PDF" msgstr "PDF erzeugen" #: mainwindow.cpp:9470 dialogs/lilypondexportdialog.cpp:70 msgid "select staves" msgstr "Notenzeilenwahl" #: mainwindow.cpp:9627 #, c-format msgid "Usage: %s [.ntd]\n" msgstr "Benutzung: %s [.ntd]\n" #: mainwindow.cpp:9655 msgid "" "unable to set decimal point to '.'. PostScript output will be erroneous. \t\t" "\tPlease set the $LANG environment variable appropriately!" msgstr "" "Es ist nicht möglich, den Dezimalpunkt auf '.'zu setzen. Das kann zu " "fehlerhafter PostScript Ausgabe führen. \t\t\tBitte setzen Sie die $LANG-" "Umgebungsvariable entsprechend!" #: resource.cpp:380 msgid "Piano 1" msgstr "Klavier 1" #: resource.cpp:380 msgid "Piano 2" msgstr "Klavier 2" #: resource.cpp:380 msgid "Piano 3" msgstr "Klavier 3" #: resource.cpp:380 msgid "Honky-tonk" msgstr "" #: resource.cpp:381 msgid "E.Piano 1" msgstr "Elektrisches Klavier 1" #: resource.cpp:381 msgid "E.Piano 2" msgstr "Elektrisches Klavier 2" #: resource.cpp:381 msgid "Harpsichord" msgstr "Chembalo" #: resource.cpp:381 msgid "Clavinet" msgstr "" #: resource.cpp:382 msgid "Celesta" msgstr "" #: resource.cpp:382 msgid "Glockenspiel" msgstr "" #: resource.cpp:382 msgid "Music Box" msgstr "Musikbox" #: resource.cpp:382 msgid "Vibraphone" msgstr "Vibraphon" #: resource.cpp:383 msgid "Marimba" msgstr "" #: resource.cpp:383 msgid "Xylophone" msgstr "" #: resource.cpp:383 msgid "Tubular Bells" msgstr "Rohrglocken" #: resource.cpp:383 msgid "Dulcimer" msgstr "" #: resource.cpp:384 msgid "Organ 1" msgstr "Orgel 1" #: resource.cpp:384 msgid "Organ 2" msgstr "Orgel 2" #: resource.cpp:384 msgid "Organ 3" msgstr "Orgel 3" #: resource.cpp:384 msgid "Church Organ" msgstr "Kirchorgel" #: resource.cpp:385 msgid "Reed Organ" msgstr "Harmonium" #: resource.cpp:385 msgid "Accordion" msgstr "Akkordeon" #: resource.cpp:385 msgid "Harmonica" msgstr "Mundharmonika" #: resource.cpp:385 msgid "Bandoneon" msgstr "" #: resource.cpp:386 msgid "Nylon Guitar" msgstr "Nylongitarre" #: resource.cpp:386 msgid "Steel Guitar" msgstr "Stahlgitarre" #: resource.cpp:386 msgid "Jazz Guitar" msgstr "Jazzgitarre" #: resource.cpp:386 msgid "Clean Guitar" msgstr "Reine Gitarre" #: resource.cpp:387 msgid "Guitar Mutes" msgstr "" #: resource.cpp:387 msgid "Overdrive Guitar" msgstr "Gitarre übersteuert" #: resource.cpp:387 msgid "Guitar Harmonics" msgstr "Gitarrenharmonien" #: resource.cpp:388 msgid "Acoustic Bass" msgstr "Akustischer Bass" #: resource.cpp:388 msgid "Fingered Bass" msgstr "gezupfter Bass" #: resource.cpp:388 msgid "Picked Bass" msgstr "" #: resource.cpp:388 msgid "Fretless Bass" msgstr "" #: resource.cpp:389 msgid "Slap Bass 1" msgstr "" #: resource.cpp:389 msgid "Slap Bass 2" msgstr "" #: resource.cpp:389 msgid "Synth Bass 1" msgstr "" #: resource.cpp:389 msgid "Synth Bass 2" msgstr "" #: resource.cpp:390 msgid "Violin" msgstr "Geige" #: resource.cpp:390 msgid "Viola" msgstr "Bratsche" #: resource.cpp:390 msgid "Cello" msgstr "" #: resource.cpp:390 msgid "Contrabass" msgstr "Kontrabass" #: resource.cpp:391 msgid "Tremolo Strings" msgstr "" #: resource.cpp:391 msgid "Pizzicato" msgstr "" #: resource.cpp:391 msgid "Harp" msgstr "Harfe" #: resource.cpp:391 msgid "Timpani" msgstr "Kesselpauke" #: resource.cpp:392 msgid "Strings" msgstr "Streicher" #: resource.cpp:392 msgid "Slow Strings" msgstr "langsame Streicher" #: resource.cpp:392 msgid "Synth Strings 1" msgstr "synth. Streicher 1" #: resource.cpp:392 msgid "Synth Strings 2" msgstr "synth. Streicher 2" #: resource.cpp:393 msgid "Choir Aahs" msgstr "Chor Aahs" #: resource.cpp:393 msgid "Voice Oohs" msgstr "Chor Oohs" #: resource.cpp:393 msgid "Synth Vox" msgstr "synth. Stimmen" #: resource.cpp:393 msgid "Orchestra Hit" msgstr "Orchesterschlag" #: resource.cpp:394 msgid "Trumpet" msgstr "Trompete" #: resource.cpp:394 msgid "Trombone" msgstr "Posaune" #: resource.cpp:394 msgid "Tuba" msgstr "" #: resource.cpp:394 msgid "Mute Trumpet" msgstr "Trompete (Schalldämpfer)" #: resource.cpp:395 msgid "French Horns" msgstr "franz. Horn" #: resource.cpp:395 msgid "Brass" msgstr "Blech" #: resource.cpp:395 msgid "Synth Brass 1" msgstr "synth. Blech" #: resource.cpp:395 msgid "Synth Brass 2" msgstr "synth. Blech 2" #: resource.cpp:396 msgid "Soprano Sax" msgstr "Sopransaxophon" #: resource.cpp:396 msgid "Alto Sax" msgstr "Altsaxophon" #: resource.cpp:396 msgid "Tenor Sax" msgstr "Tenorsaxophon" #: resource.cpp:396 msgid "Baritone Sax" msgstr "Baritonsaxophon" #: resource.cpp:397 msgid "Oboe" msgstr "" #: resource.cpp:397 msgid "English Horn" msgstr "engl. Horn" #: resource.cpp:397 msgid "Bassoon" msgstr "Fagotte" #: resource.cpp:397 msgid "Clarinet" msgstr "Klarinette" #: resource.cpp:398 msgid "Piccolo" msgstr "" #: resource.cpp:398 msgid "Flute" msgstr "Querflöte" #: resource.cpp:398 msgid "Recorder" msgstr "Blockflöte" #: resource.cpp:398 msgid "Pan Flute" msgstr "Panflöte" #: resource.cpp:399 msgid "Bottle Chiff" msgstr "Flasche" #: resource.cpp:399 msgid "Shakuhachi" msgstr "" #: resource.cpp:399 msgid "Whistle" msgstr "Pfiff" #: resource.cpp:399 msgid "Ocarina" msgstr "" #: resource.cpp:400 msgid "Square Wave" msgstr "" #: resource.cpp:400 msgid "Saw Wave" msgstr "" #: resource.cpp:400 msgid "Synth Calliope" msgstr "" #: resource.cpp:400 msgid "Chiffer Lead" msgstr "" #: resource.cpp:401 msgid "Charang" msgstr "" #: resource.cpp:401 msgid "Solo Vox" msgstr "" #: resource.cpp:401 msgid "5th Saw Wave" msgstr "" #: resource.cpp:401 msgid "Bass & Lead" msgstr "" #: resource.cpp:402 msgid "Fantasia" msgstr "Fantasie" #: resource.cpp:402 msgid "Warm Pad" msgstr "" #: resource.cpp:402 msgid "Poly Synth" msgstr "" #: resource.cpp:402 msgid "Space Voice" msgstr "" #: resource.cpp:403 msgid "Bowed Glass" msgstr "" #: resource.cpp:403 msgid "Metal Pad" msgstr "" #: resource.cpp:403 msgid "Halo Pad" msgstr "" #: resource.cpp:403 msgid "Sweep Pad" msgstr "" #: resource.cpp:404 msgid "Ice Rain" msgstr "" #: resource.cpp:404 msgid "Soundtrack" msgstr "" #: resource.cpp:404 msgid "Crystal" msgstr "" #: resource.cpp:404 msgid "Atmosphere" msgstr "Atmosphäre" #: resource.cpp:405 msgid "Brightness" msgstr "" #: resource.cpp:405 msgid "Goblin" msgstr "" #: resource.cpp:405 msgid "Echo Drops" msgstr "" #: resource.cpp:405 msgid "Star Theme" msgstr "" #: resource.cpp:406 msgid "Sitar" msgstr "" #: resource.cpp:406 msgid "Banjo" msgstr "" #: resource.cpp:406 msgid "Shamisen" msgstr "" #: resource.cpp:406 msgid "Koto" msgstr "" #: resource.cpp:407 msgid "Kalimba" msgstr "" #: resource.cpp:407 msgid "Bagpipe" msgstr "Dudelsack" #: resource.cpp:407 msgid "Fiddle" msgstr "Fiedel" #: resource.cpp:407 msgid "Shenai" msgstr "" #: resource.cpp:408 msgid "Tinker Bell" msgstr "" #: resource.cpp:408 msgid "Agogo" msgstr "" #: resource.cpp:408 msgid "Steel Drum" msgstr "" #: resource.cpp:408 msgid "Wood Block" msgstr "Holzklotz" #: resource.cpp:409 msgid "Taiko Drum" msgstr "" #: resource.cpp:409 msgid "Melodic Tom" msgstr "" #: resource.cpp:409 msgid "Synth Drum" msgstr "" #: resource.cpp:409 msgid "Reverse Cymbal" msgstr "" #: resource.cpp:410 msgid "Fret Noise" msgstr "" #: resource.cpp:410 msgid "Breath Noise" msgstr "Atemgeräusch" #: resource.cpp:410 msgid "Seashore" msgstr "Seestrand" #: resource.cpp:410 msgid "Bird" msgstr "Vogel" #: resource.cpp:411 msgid "Telephone" msgstr "Telephon" #: resource.cpp:411 msgid "Helicopter" msgstr "Hubschrauber" #: resource.cpp:411 msgid "Applause" msgstr "Beifall" #: resource.cpp:411 msgid "Gun Shot" msgstr "Gewehrsschuss" #: resource.cpp:827 msgid "" "Cannot open ALSA MIDI sequencer --> replay won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Der ALSA-MIDI-Sequenzer kann nicht geöffnet werden --> Die Wiedergabe wird " "nicht funktionieren :-((\n" "Versuchen Sie (als root-Nutzer)\n" "modprobe snd-seq-midi\n" "und starten Sie NtEd erneut!\n" "Vielleicht hilft's(?)" #: resource.cpp:835 msgid "Error creating ALSA sequencer output port --> replay won't work :-((" msgstr "" "Fehler beim Erstellen der ALSA-Sequenzer-Ausgabe-Ports\n" "--> Die Wiedergabe wird nicht funktionieren :-((" #: resource.cpp:845 msgid "" "Cannot open ALSA MIDI sequencer --> read/record won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Der ALSA-MIDI-Sequenzer kann nicht geöffnet werden --> Die Eingabe wird " "nicht funktionieren :-((\n" "Versuchen Sie (als root-Nutzer)\n" "modprobe snd-seq-midi\n" "und starten Sie NtEd erneut!\n" "Vielleicht hilft's(?)" #: resource.cpp:853 msgid "Error creating ALSA sequencer input port --> record won't work :-((" msgstr "" "Fehler beim Erstellen eines ALSA-Sequenzer-Eingabe-Ports\n" "--> Die MIDI-Eingabe wird nicht funktionieren :-((" #: dialogs/paperconfigdialog.cpp:37 dialogs/paperconfigdialog.cpp:41 msgid "Paper" msgstr "Papier" #: dialogs/paperconfigdialog.cpp:46 msgid "paper type" msgstr "Papiertyp" #: dialogs/paperconfigdialog.cpp:81 msgid "orientation" msgstr "Orientierung" #: dialogs/paperconfigdialog.cpp:82 msgid "portrait" msgstr "Hochformat" #: dialogs/paperconfigdialog.cpp:83 msgid "landscape" msgstr "Querformat" #: dialogs/portchoosedialog.cpp:46 msgid "MIDI ports" msgstr "MIDI Ports" #: dialogs/portchoosedialog.cpp:60 dialogs/staffcontextdialog.cpp:321 #: dialogs/staffcontextdialog.cpp:437 dialogs/textdialog.cpp:200 #: dialogs/midirecordconfigdialog.cpp:133 dialogs/staffselectdialog.cpp:69 #: dialogs/drumconfigdialog.cpp:110 msgid "no" msgstr "Nr" #: dialogs/portchoosedialog.cpp:62 msgid "port" msgstr "Port" #: dialogs/portchoosedialog.cpp:78 msgid "midi echo" msgstr "MIDI Echo" #: dialogs/printconfigdialog.cpp:31 msgid "Print command" msgstr "Druckkommando" #: dialogs/printconfigdialog.cpp:35 msgid "print command" msgstr "Druckkommando" #: dialogs/staffcontextdialog.cpp:31 msgid "G flat Major; e flat minor" msgstr "Ges-Dur; es-moll" #: dialogs/staffcontextdialog.cpp:31 msgid "D flat Major; b flat minor" msgstr "Des-Dur; b-moll" #: dialogs/staffcontextdialog.cpp:32 msgid "A flat Major; f minor" msgstr "As-Dur; f-moll" #: dialogs/staffcontextdialog.cpp:32 msgid "E flat Major; c minor" msgstr "Es-Dur: c-moll" #: dialogs/staffcontextdialog.cpp:33 msgid "B flat Major; g minor" msgstr "B-Dur; g-moll" #: dialogs/staffcontextdialog.cpp:33 msgid "F Major; d minor" msgstr "F-Dur; d-moll" #: dialogs/staffcontextdialog.cpp:34 msgid "C Major; a minor" msgstr "C-Dur; a-moll" #: dialogs/staffcontextdialog.cpp:34 msgid "G Major; e minor" msgstr "G-Dur; e-moll" #: dialogs/staffcontextdialog.cpp:35 msgid "D Major; b minor" msgstr "D-Dur; b-moll" #: dialogs/staffcontextdialog.cpp:35 msgid "A Major; f sharp minor" msgstr "A-Dur; fis-moll" #: dialogs/staffcontextdialog.cpp:36 msgid "E Major; c sharp minor" msgstr "E-Dur; cis-moll" #: dialogs/staffcontextdialog.cpp:36 msgid "B Major; g sharp minor" msgstr "H-Dur; gis-moll" #: dialogs/staffcontextdialog.cpp:37 msgid "F sharp Major; d sharp minor" msgstr "Fis-Dur; dis-moll" #: dialogs/staffcontextdialog.cpp:120 msgid "Staff context" msgstr "Zeileneigenschaften" #: dialogs/staffcontextdialog.cpp:132 dialogs/clefconfigdialog.cpp:49 msgid "clef" msgstr "Schlüssel" #: dialogs/staffcontextdialog.cpp:157 dialogs/clefconfigdialog.cpp:74 msgid "Octave shift:" msgstr "Oktavverschiebung:" #: dialogs/staffcontextdialog.cpp:163 dialogs/keysigdialog.cpp:66 #: dialogs/clefconfigdialog.cpp:81 msgid "adjust notes" msgstr "Noten justieren" #: dialogs/staffcontextdialog.cpp:200 dialogs/measureconfigdialog.cpp:110 #: dialogs/midirecordconfigdialog.cpp:70 msgid "time signature" msgstr "Taktvorzeichen" #: dialogs/staffcontextdialog.cpp:204 dialogs/measureconfigdialog.cpp:114 #: dialogs/midirecordconfigdialog.cpp:74 msgid "Numerator:" msgstr "Zähler:" #: dialogs/staffcontextdialog.cpp:205 dialogs/measureconfigdialog.cpp:115 #: dialogs/midirecordconfigdialog.cpp:75 msgid "Denominator:" msgstr "Nenner:" #: dialogs/staffcontextdialog.cpp:248 msgid "staff name" msgstr "Notenzeilenname" #: dialogs/staffcontextdialog.cpp:255 msgid "staff short name" msgstr "Kurzname" #: dialogs/staffcontextdialog.cpp:262 msgid "group name" msgstr "Gruppenname" #: dialogs/staffcontextdialog.cpp:269 msgid "group short name" msgstr "Gruppenkurzname" #: dialogs/staffcontextdialog.cpp:278 dialogs/tempodialog.cpp:154 #: dialogs/textdialog.cpp:138 dialogs/midirecordconfigdialog.cpp:147 msgid "tempo" msgstr "Tempo" #: dialogs/staffcontextdialog.cpp:283 msgid "chorus" msgstr "Chorus" #: dialogs/staffcontextdialog.cpp:289 msgid "transp." msgstr "" #: dialogs/staffcontextdialog.cpp:295 msgid "reverb" msgstr "Hall" #: dialogs/staffcontextdialog.cpp:301 dialogs/textdialog.cpp:123 #: dialogs/midirecordconfigdialog.cpp:153 msgid "volume" msgstr "Lautstärke" #: dialogs/staffcontextdialog.cpp:307 msgid "pan" msgstr "Pan" #: dialogs/staffcontextdialog.cpp:323 dialogs/textdialog.cpp:202 #: dialogs/midirecordconfigdialog.cpp:135 msgid "instruments" msgstr "Instrumente" #: dialogs/staffcontextdialog.cpp:332 dialogs/textdialog.cpp:150 msgid "channel" msgstr "Kanal" #: dialogs/staffcontextdialog.cpp:337 dialogs/mutedialog.cpp:69 msgid "muting" msgstr "Stummschalten" #: dialogs/staffcontextdialog.cpp:338 dialogs/staffcontextdialog.cpp:370 #: dialogs/mutedialog.cpp:72 dialogs/selectordialog.cpp:98 msgid "all" msgstr "Alle" #: dialogs/staffcontextdialog.cpp:369 msgid "voices" msgstr "Stimmen" #: dialogs/staffcontextdialog.cpp:429 dialogs/staffselectdialog.cpp:58 msgid "staff" msgstr "Notenzeile" #: dialogs/staffcontextdialog.cpp:435 dialogs/staffselectdialog.cpp:67 msgid "item" msgstr "Position" #: dialogs/staffcontextdialog.cpp:485 msgid "Score" msgstr "Partitur" #: dialogs/staffcontextdialog.cpp:486 msgid "MIDI" msgstr "" #: dialogs/staffcontextdialog.cpp:495 msgid "Staff position" msgstr "Zeilenposition" #: dialogs/tupletdialog.cpp:34 msgid "Tuplet" msgstr "N-Tolen" #: dialogs/tupletdialog.cpp:40 msgid "" "Instead of using this dialog\n" "you can simply press + num" msgstr "" "Statt diesen Dialog zu benutzen\n" "können Sie auch einfach + Zahl drücken" #: dialogs/tupletdialog.cpp:42 msgid "Tuplet value:" msgstr "N-Tolenwert:" #: dialogs/tupletdialog.cpp:47 msgid "method 2" msgstr "Methode 2" #: dialogs/insertblockdialog.cpp:32 msgid "Insert blocks" msgstr "Blöcke einfügen" #: dialogs/insertblockdialog.cpp:39 msgid "block count:" msgstr "Anzahl der Blöcke:" #: dialogs/measureconfigdialog.cpp:53 msgid "Measure type" msgstr "Taktstrichtyp" #: dialogs/measureconfigdialog.cpp:62 msgid "measure type" msgstr "Taktstrichtyp" #: dialogs/measureconfigdialog.cpp:89 msgid "alternative 1" msgstr "Ende 1" #: dialogs/measureconfigdialog.cpp:90 msgid "alternative 2" msgstr "Ende 2" #: dialogs/measureconfigdialog.cpp:99 msgid "hide following" msgstr "Nachfolgendes verstecken" #: dialogs/measureconfigdialog.cpp:158 msgid "enable timesig" msgstr "Taktmaßänderung ermöglichen" #: dialogs/measureconfigdialog.cpp:160 msgid "delete timesig" msgstr "Taktmaßzeichen löschen" #: dialogs/keysigdialog.cpp:37 msgid "New keysignature" msgstr "Neue Vorzeichnung" #: dialogs/keysigdialog.cpp:64 msgid "adjust" msgstr "justieren" #: dialogs/scoreinfodialog.cpp:71 dialogs/scoreinfodialog.cpp:75 msgid "Score info" msgstr "Partiturinformationen" #: dialogs/scoreinfodialog.cpp:79 msgid "Title:" msgstr "Titel:" #: dialogs/scoreinfodialog.cpp:87 msgid "Subject:" msgstr "Thema:" #: dialogs/scoreinfodialog.cpp:95 msgid "Composer:" msgstr "Komponist:" #: dialogs/scoreinfodialog.cpp:103 msgid "Arranger:" msgstr "Arrangeur:" #: dialogs/scoreinfodialog.cpp:111 msgid "Copyright:" msgstr "Copyright:" #: dialogs/clefconfigdialog.cpp:44 msgid "Clef configuration" msgstr "Schlüsselkonfiguration" #: dialogs/volumedialog.cpp:32 msgid "Set Volume" msgstr "Lautstärke setzen" #: dialogs/volumedialog.cpp:44 msgid "volume:" msgstr "Lautstärke:" #: dialogs/tempodialog.cpp:56 msgid "Set Tempo" msgstr "Tempo setzen" #: dialogs/tempodialog.cpp:128 msgid "kind" msgstr "Art" #: dialogs/tempodialog.cpp:150 msgid "tempo:" msgstr "Tempo:" #: dialogs/lyricseditor.cpp:67 msgid "Lyrics" msgstr "Strophen" #: dialogs/lyricseditor.cpp:85 msgid "lyrics 1" msgstr "Strophe 1" #: dialogs/lyricseditor.cpp:86 msgid "lyrics 2" msgstr "Strophe 2" #: dialogs/lyricseditor.cpp:87 msgid "lyrics 3" msgstr "Strophe 3" #: dialogs/lyricseditor.cpp:88 msgid "lyrics 4" msgstr "Strophe 4" #: dialogs/lyricseditor.cpp:89 msgid "lyrics 5" msgstr "Strophe 5" #: dialogs/lyricseditor.cpp:135 dialogs/drumconfigdialog.cpp:230 msgid "load from file" msgstr "Von Datei laden" #: dialogs/lyricseditor.cpp:136 dialogs/drumconfigdialog.cpp:231 msgid "save to file" msgstr "In Datei speichern" #: dialogs/lyricseditor.cpp:143 dialogs/drumconfigdialog.cpp:247 msgid "file" msgstr "Datei" #: dialogs/lyricseditor.cpp:292 msgid "Save lyrics" msgstr "Strophe speichern" #: dialogs/lyricseditor.cpp:392 msgid "Open lyrics file" msgstr "Strophendatei öffnen" #: dialogs/mutedialog.cpp:34 msgid "Muting" msgstr "Stummschalten" #: dialogs/mutedialog.cpp:55 dialogs/selectordialog.cpp:61 #, c-format msgid "Staff %d" msgstr "Notenzeile %d" #: dialogs/mutedialog.cpp:74 dialogs/selectordialog.cpp:100 msgid "none" msgstr "keine" #: dialogs/linesdialog.cpp:40 msgid "Lines" msgstr "Linien" #: dialogs/linesdialog.cpp:46 msgid "lines" msgstr "Linien" #: dialogs/selectordialog.cpp:35 msgid "Transpose" msgstr "Transponieren" #: dialogs/selectordialog.cpp:39 msgid "Select" msgstr "Auswahl" #: dialogs/selectordialog.cpp:73 msgid "half-tones" msgstr "Halbtöne" #: dialogs/selectordialog.cpp:76 dialogs/selectordialog.cpp:95 #: chords/chorddialog.cpp:159 msgid "selection" msgstr "Auswahl" #: dialogs/selectordialog.cpp:87 msgid "use selection" msgstr "Auswahl nutzen" #: dialogs/textdialog.cpp:69 msgid "Text" msgstr "Text" #: dialogs/textdialog.cpp:89 chords/chorddialog.cpp:111 msgid "text" msgstr "text" #: dialogs/textdialog.cpp:98 msgid "select font" msgstr "Font wählen" #: dialogs/textdialog.cpp:105 msgid "anchor" msgstr "Ankerpunkt" #: dialogs/textdialog.cpp:108 msgid "left" msgstr "links" #: dialogs/textdialog.cpp:109 msgid "mid" msgstr "mitte" #: dialogs/textdialog.cpp:110 msgid "right" msgstr "rechts" #: dialogs/textdialog.cpp:130 msgid "enable volume change" msgstr "Lautstärkeänderung erlauben" #: dialogs/textdialog.cpp:143 msgid "enable tempo change" msgstr "Tempoänderung erlauben" #: dialogs/textdialog.cpp:155 msgid "enable channel change" msgstr "Kanaländerung erlauben" #: dialogs/textdialog.cpp:162 msgid "D.S" msgstr "" #: dialogs/textdialog.cpp:165 msgid "No segno meaning" msgstr "keine Segnobedeutung" #: dialogs/textdialog.cpp:166 msgid "D.S. al Fine" msgstr "" #: dialogs/textdialog.cpp:167 msgid "D.S. al Coda" msgstr "" #: dialogs/textdialog.cpp:168 msgid "D. Capo al Fine" msgstr "" #: dialogs/textdialog.cpp:169 msgid "D. Capo al Coda" msgstr "" #: dialogs/textdialog.cpp:170 msgid "Fine" msgstr "Fine" #: dialogs/textdialog.cpp:171 msgid "al Coda" msgstr "" #: dialogs/textdialog.cpp:219 msgid "instrument" msgstr "Instrument" #: dialogs/textdialog.cpp:220 msgid "enable instrument change" msgstr "Instrumentenwechsel" #: dialogs/signsdialog.cpp:44 msgid "Signs" msgstr "Zeichen" #: dialogs/signsdialog.cpp:50 msgid "signs" msgstr "Zeichen" #: dialogs/midiimportdialog.cpp:43 msgid "MIDI import" msgstr "MIDI-Import" #: dialogs/midiimportdialog.cpp:70 dialogs/midirecordconfigdialog.cpp:103 msgid "triplet recognition" msgstr "Triolenerkennung" #: dialogs/midiimportdialog.cpp:72 msgid "sort instruments" msgstr "Instrumente sortieren" #: dialogs/midiimportdialog.cpp:73 dialogs/midirecordconfigdialog.cpp:105 msgid "force piano" msgstr "erzwinge Piano" #: dialogs/midiimportdialog.cpp:74 dialogs/midirecordconfigdialog.cpp:107 msgid "don't split tracks" msgstr "Spuren nicht teilen" #: dialogs/midiimportdialog.cpp:83 msgid "tempo density" msgstr "Tempozeichendichte" #: dialogs/midiimportdialog.cpp:89 msgid "volume density" msgstr "Lautstärkenzeichendichte" #: dialogs/midirecordconfigdialog.cpp:65 msgid "Config Record" msgstr "Aufnahmekonfiguration" #: dialogs/lilypondexportdialog.cpp:63 msgid "export params" msgstr "Exportparameter" #: dialogs/lilypondexportdialog.cpp:66 msgid "create line breaks" msgstr "Zeilenumbrüche erzeugen" #: dialogs/lilypondexportdialog.cpp:74 msgid "keep beams" msgstr "Balken erhalten" #: dialogs/lilypondexportdialog.cpp:172 msgid "Staff selection" msgstr "Notenzeilenwahl" #: dialogs/lilypondexportdialog.cpp:181 msgid "keep beams selection" msgstr "Balken erhalten" #: dialogs/staffselectdialog.cpp:76 msgid "All" msgstr "Alles" #: dialogs/staffselectdialog.cpp:79 msgid "None" msgstr "Nichts" #: dialogs/spacementdialog.cpp:34 msgid "Horizontal Spacement" msgstr "Waagerechter Abstand" #: dialogs/spacementdialog.cpp:40 msgid "Spacement" msgstr "Abstand" #: dialogs/scaledialog.cpp:35 dialogs/scaledialog.cpp:40 msgid "Scale" msgstr "Skalierung" #: dialogs/drumconfigdialog.cpp:90 msgid "Config Drums" msgstr "Schlagzeug konfigurieren" #: dialogs/drumconfigdialog.cpp:112 msgid "drum element name" msgstr "Schlagzeugel.-Name" #: dialogs/drumconfigdialog.cpp:114 msgid "short name" msgstr "Kurzname" #: dialogs/drumconfigdialog.cpp:116 msgid "line" msgstr "Linie" #: dialogs/drumconfigdialog.cpp:119 msgid "symbol" msgstr "Symbol" #: dialogs/drumconfigdialog.cpp:121 msgid "midi pitch" msgstr "MIDI Ton" #: dialogs/drumconfigdialog.cpp:192 msgid "change element" msgstr "Element ändern" #: dialogs/drumconfigdialog.cpp:197 msgid "note head" msgstr "Notenkopf" #: dialogs/drumconfigdialog.cpp:223 msgid "preview" msgstr "Vorschau" #: dialogs/drumconfigdialog.cpp:232 msgid "load defaults" msgstr "Standards laden" #: dialogs/drumconfigdialog.cpp:233 msgid "play element" msgstr "Element spielen" #: dialogs/drumconfigdialog.cpp:446 msgid "Save drum configuration" msgstr "Schlagzeugkonfiguration sichern" #: dialogs/drumconfigdialog.cpp:537 msgid "Open drum configuration" msgstr "Schlagzeugkonfiguratiobn öffnen" #: dialogs/chordnamedialog.cpp:50 dialogs/chordnamedialog.cpp:54 msgid "Chordname" msgstr "Akkordname" #: dialogs/chordnamedialog.cpp:61 msgid "chordname" msgstr "Akkordname" #: dialogs/chordnamedialog.cpp:80 msgid "size" msgstr "Größe" #: dialogs/chordnamedialog.cpp:84 msgid "position" msgstr "Position" #: dialogs/tools.cpp:372 dialogs/tools.cpp:392 msgid "Toolbox" msgstr "Werkzeugkiste" #: chords/chorddialog.cpp:95 msgid "Chords" msgstr "Akkorde" #: chords/chorddialog.cpp:99 msgid "chord" msgstr "Akkord" #: chords/chorddialog.cpp:109 msgid "config" msgstr "Konfiguration" #: chords/chorddialog.cpp:112 msgid "diagram" msgstr "Diagramm" #: chords/chorddialog.cpp:133 msgid "root" msgstr "Wurzel" #: chords/chorddialog.cpp:150 msgid "mody" msgstr "Modifikator" #: chords/chorddialog.cpp:169 msgid "chordselect" msgstr "Akkordauswahl" #~ msgid "Append staff + A" #~ msgstr "Notenzeile anfügen " #~ msgid "triplets" #~ msgstr "Triolen" #~ msgid "triplets with rests" #~ msgstr "Triolen mit Pausen" #~ msgid "use alto clef" #~ msgstr "Nutze Bratschenschlüssel" #~ msgid "Number of voices:" #~ msgstr "Stimmenzahl:" #~ msgid "E_xtras" #~ msgstr "E_xtras" nted-1.10.18/po/nl.po0000664001041000007640000013410211520270236011122 00000000000000# translation of nl.po to Nederlands # translation of nl.po to # Copyright (C) 2008 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Martin Tarenskeen , 2008, 2009. msgid "" msgstr "" "Project-Id-Version: nl\n" "Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de\n" "POT-Creation-Date: 2011-01-27 14:18+0100\n" "PO-Revision-Date: 2009-10-25 14:11+0100\n" "Last-Translator: Martin Tarenskeen \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: mainwindow.cpp:310 msgid "_File" msgstr "_Bestand" #: mainwindow.cpp:311 msgid "Open_Recent" msgstr "Open_Recent" #: mainwindow.cpp:312 msgid "_Export" msgstr "_Exporteren" #: mainwindow.cpp:313 msgid "_View" msgstr "_Beeld" #: mainwindow.cpp:314 msgid "_Edit" msgstr "_Bewerken" #: mainwindow.cpp:315 msgid "_Tools" msgstr "_Gereedschap" #: mainwindow.cpp:316 msgid "_System layout ..." msgstr "_Systeem Layout ..." #: mainwindow.cpp:317 msgid "_Insert" msgstr "_Invoegen" #: mainwindow.cpp:318 msgid "_Upbeat ..." msgstr "_Opmaat ..." #: mainwindow.cpp:319 msgid "_Preferences ..." msgstr "_Voorkeuren" #: mainwindow.cpp:320 msgid "_Dynamics ..." msgstr "_Dynamiek ..." #: mainwindow.cpp:321 msgid "_Lyrics" msgstr "_Liedtekst" #: mainwindow.cpp:322 msgid "_Help" msgstr "_Help" #: mainwindow.cpp:323 msgid "Configure MIDI out..." msgstr "MIDI Uit instellen..." #: mainwindow.cpp:323 msgid "configure MIDI output" msgstr "MIDI Uitgang instellen..." #: mainwindow.cpp:324 msgid "Configure MIDI in..." msgstr "MIDI In instellen..." #: mainwindow.cpp:324 msgid "configure MIDI input" msgstr "MIDI ingang instellen..." #: mainwindow.cpp:325 msgid "Configure Paper..." msgstr "Papier instellen" #: mainwindow.cpp:325 msgid "configure paper" msgstr "Papier instellen" #: mainwindow.cpp:326 msgid "Configure Print..." msgstr "Printen instellen..." #: mainwindow.cpp:326 msgid "configure print command" msgstr "Printopdracht instellen" #: mainwindow.cpp:327 msgid "New" msgstr "Nieuw" #: mainwindow.cpp:327 msgid "New File" msgstr "Nieuw bestand" #: mainwindow.cpp:328 msgid "Open ..." msgstr "Open ..." #: mainwindow.cpp:328 msgid "Open a file" msgstr "Bestand openen" #: mainwindow.cpp:329 msgid "Save ..." msgstr "Opslaan ..." #: mainwindow.cpp:329 mainwindow.cpp:330 msgid "Save a file" msgstr "Bestand opslaan" #: mainwindow.cpp:330 msgid "Save As ..." msgstr "Opslaan als ..." #: mainwindow.cpp:331 msgid "Print" msgstr "Print" #: mainwindow.cpp:331 msgid "print file" msgstr "Bestand printen" #: mainwindow.cpp:332 msgid "Import MusicXML ..." msgstr "MusicXML importeren" #: mainwindow.cpp:332 msgid "import a musicxml file" msgstr "MusicXML importeren" #: mainwindow.cpp:333 msgid "Import MIDI..." msgstr "MIDI importeren..." #: mainwindow.cpp:333 msgid "import a midi file" msgstr "MIDI bestand importeren" #: mainwindow.cpp:334 #, fuzzy msgid "Import MIDI(2)..." msgstr "Importeer MIDI 2..." #: mainwindow.cpp:334 #, fuzzy msgid "import a midi file(2)" msgstr "importeer MIDI bestand 2" #: mainwindow.cpp:335 msgid "Copy" msgstr "Kopieer" #: mainwindow.cpp:335 msgid "copy - Ctrl + C" msgstr "Kopieer Ctrl + C" #: mainwindow.cpp:336 msgid "Paste" msgstr "Plakken" #: mainwindow.cpp:336 msgid "paste - Ctrl + V" msgstr "Plakken Ctrl + V" #: mainwindow.cpp:337 msgid "Delete block" msgstr "Blok wissen" #: mainwindow.cpp:337 msgid "delete block - Ctrl + X" msgstr "Blok wissen - Ctrl + X" #: mainwindow.cpp:338 msgid "append a system at end" msgstr "Voeg systeem toe na einde" #: mainwindow.cpp:338 msgid "append system - Ctrl + B" msgstr "Systeem toevoegen - Ctrl + B" #: mainwindow.cpp:339 msgid "Insert block" msgstr "Blok invoegen" #: mainwindow.cpp:339 msgid "insert block" msgstr "Blok invoegen" #: mainwindow.cpp:340 msgid "Insert clef ..." msgstr "Sleutel invoegen" #: mainwindow.cpp:340 msgid "insert a clef" msgstr "Sleutel invoegen" #: mainwindow.cpp:341 msgid "Empty block" msgstr "Blok leegmaken" #: mainwindow.cpp:341 msgid "empty block - Ctrl + E" msgstr "Blok leegmaken - Ctrl + E" #: mainwindow.cpp:342 msgid "reposit all" msgstr "Alles bewaren" #: mainwindow.cpp:342 msgid "reposit the whole score - Ctrl + T" msgstr "Complete partituur bewaren" #: mainwindow.cpp:343 msgid "Export MIDI ..." msgstr "MIDI exporteren ..." #: mainwindow.cpp:343 msgid "export a midi file" msgstr "MIDI Bestand exporteren" #: mainwindow.cpp:344 msgid "Export LilyPond ..." msgstr "LilyPond exporteren ..." #: mainwindow.cpp:344 dialogs/lilypondexportdialog.cpp:44 msgid "LilyPond export" msgstr "LilyPond exporteren" #: mainwindow.cpp:346 msgid "Export PDF ..." msgstr "PDF exporteren ..." #: mainwindow.cpp:346 msgid "export PDF" msgstr "PDF exporteren ..." #: mainwindow.cpp:348 msgid "Export P_NG ..." msgstr "P_NG exporteren ..." #: mainwindow.cpp:348 msgid "Write a png image" msgstr "Bewaar als PNG afbeelding" #: mainwindow.cpp:350 msgid "Export S_VG ..." msgstr "S_VG exporteren ..." #: mainwindow.cpp:350 msgid "Write an svg image" msgstr "Bewaar als SVG afbeelding" #: mainwindow.cpp:352 msgid "Export P_S ..." msgstr "P_S exporteren ..." #: mainwindow.cpp:352 msgid "Write PostScript" msgstr "Bewaar als Postscript" #: mainwindow.cpp:353 msgid "New Window" msgstr "Nieuw venster" #: mainwindow.cpp:353 msgid "Open a new window" msgstr "Open een venster" #: mainwindow.cpp:354 msgid "Excerpt ..." msgstr "Uitsnede ..." #: mainwindow.cpp:354 msgid "Make an excerpt of the score" msgstr "Maak een uitsnede van de partituur" #: mainwindow.cpp:355 msgid "Close Window" msgstr "Sluit venster" #: mainwindow.cpp:355 msgid "Close current window" msgstr "Sluit huidig venster" #: mainwindow.cpp:358 msgid "Remove last page" msgstr "Laatste pagina verwijderen" #: mainwindow.cpp:358 msgid "remove the last page" msgstr "Laatste pagina verwijderen" #: mainwindow.cpp:359 msgid "Remove empty pages" msgstr "Lege paginas verwijderen" #: mainwindow.cpp:359 msgid "remove empty pages at end" msgstr "Verwijder lege laatste paginas" #: mainwindow.cpp:360 msgid "Change spacement ..." msgstr "Verander spatiering" #: mainwindow.cpp:360 msgid "change the horizontal spacement" msgstr "Verander horizontale spatiering" #: mainwindow.cpp:361 msgid "Change Scale ..." msgstr "Verander schaal ..." #: mainwindow.cpp:361 msgid "change scale" msgstr "Verander schaal" #: mainwindow.cpp:362 msgid "Configure Record ..." msgstr "Opname instellen ..." #: mainwindow.cpp:362 msgid "configure record" msgstr "Opname instellen" #: mainwindow.cpp:363 msgid "Configure Drums ..." msgstr "Drums Instellen..." #: mainwindow.cpp:363 msgid "configure drums" msgstr "Drums instellen" #: mainwindow.cpp:364 msgid "Tools ..." msgstr "Gereedschap ..." #: mainwindow.cpp:364 msgid "Tools " msgstr "Gereedschap" #: mainwindow.cpp:365 msgid "give first measure" msgstr "Geef eerste maat" #: mainwindow.cpp:365 msgid "set upbeat by giving the start of first full measure" msgstr "" "Stel opmaat in door het begin van de eerste volledige maat aan te geven" #: mainwindow.cpp:366 msgid "give start" msgstr "Geef Begin" #: mainwindow.cpp:366 msgid "set upbeat by giving the start of the score" msgstr "Stel Opmaat in door het begin van de partituur aan te geven" #: mainwindow.cpp:367 msgid "Score info ..." msgstr "Partituur info ..." #: mainwindow.cpp:367 msgid "edit score info" msgstr "Partituur Info bewerken" #: mainwindow.cpp:368 msgid "Insert keysig ... " msgstr "Toonsoort invoegen ... " #: mainwindow.cpp:368 msgid "insert a key signature" msgstr "Toonsoort invoegen" #: mainwindow.cpp:369 msgid "Insert lines ... " msgstr "Lijnen invoegen ... " #: mainwindow.cpp:369 msgid "insert a horizontal line" msgstr "Horizontale lijn invoegen" #: mainwindow.cpp:370 msgid "Insert sign ... " msgstr "Teken invoegen ... " #: mainwindow.cpp:370 msgid "insert a free placeable sign" msgstr "Vrij plaatsbaar teken invoegen" #: mainwindow.cpp:371 msgid "Slur" msgstr "Legatoboog" #: mainwindow.cpp:371 msgid "insert a slur - Ctrl+H" msgstr "Legatoboog invoegen - Ctrl+H" #: mainwindow.cpp:372 msgid "chord ..." msgstr "Akkoord ..." #: mainwindow.cpp:372 msgid "insert a chord" msgstr "Akkoord invoegen" #: mainwindow.cpp:373 msgid "chordname ..." msgstr "Akkoordnaam ..." #: mainwindow.cpp:373 msgid "insert a chordname" msgstr "Akkoordnaam invoegen" #: mainwindow.cpp:374 msgid "spacer" msgstr "Afstandhouder" #: mainwindow.cpp:374 msgid "insert a staff spacer" msgstr "Notenbalk afstandhouder invoegen" #: mainwindow.cpp:375 msgid "Append staff" msgstr "Voeg notenbalk toe" #: mainwindow.cpp:375 msgid "append a new staff" msgstr "Voeg een nieuwe notenbalk toe" #: mainwindow.cpp:376 msgid "Import recorded" msgstr "Opname importeren" #: mainwindow.cpp:376 msgid "import recorded staff" msgstr "Opgenomen balk importeren" #: mainwindow.cpp:377 msgid "Lyrics editor ..." msgstr "Liedtekst bewerker" #: mainwindow.cpp:377 msgid "edit lyrics in text editor" msgstr "bewerk liedteksten in tekst bewerker" #: mainwindow.cpp:378 msgid "ppp" msgstr "ppp" #: mainwindow.cpp:378 msgid "insert ppp" msgstr "ppp invoegen" #: mainwindow.cpp:379 msgid "pp" msgstr "pp" #: mainwindow.cpp:379 msgid "insert pp" msgstr "pp invoegen" #: mainwindow.cpp:380 msgid "p" msgstr "p" #: mainwindow.cpp:380 msgid "insert p" msgstr "p invoegen" #: mainwindow.cpp:381 msgid "mp" msgstr "mp" #: mainwindow.cpp:381 msgid "insert mp" msgstr "mp invoegen" #: mainwindow.cpp:382 msgid "sp" msgstr "sp" #: mainwindow.cpp:382 msgid "insert sp" msgstr "sp invoegen" #: mainwindow.cpp:383 msgid "mf" msgstr "mf" #: mainwindow.cpp:383 msgid "insert mf" msgstr "mf invoegen" #: mainwindow.cpp:384 msgid "sf" msgstr "sf" #: mainwindow.cpp:384 msgid "insert sf" msgstr "sf invoegen" #: mainwindow.cpp:385 msgid "f" msgstr "f" #: mainwindow.cpp:385 msgid "insert f" msgstr "f invoegen" #: mainwindow.cpp:386 msgid "ff" msgstr "ff" #: mainwindow.cpp:386 msgid "insert ff" msgstr "ff invoegen" #: mainwindow.cpp:387 msgid "fff" msgstr "fff" #: mainwindow.cpp:387 msgid "insert fff" msgstr "fff invoegen" #: mainwindow.cpp:388 msgid "tempo ..." msgstr "Tempo ..." #: mainwindow.cpp:388 msgid "insert tempo" msgstr "Tempo invoegen" #: mainwindow.cpp:389 msgid "Text ..." msgstr "Tekst ..." #: mainwindow.cpp:389 msgid "insert text" msgstr "Tekst invoegen" #: mainwindow.cpp:390 msgid "accelerando" msgstr "Accelerando" #: mainwindow.cpp:390 msgid "insert accelerando" msgstr "Accelerando invoegen" #: mainwindow.cpp:391 msgid "ritardando" msgstr "Ritardando" #: mainwindow.cpp:391 msgid "insert ritardando" msgstr "Ritardando invoegen" #: mainwindow.cpp:392 msgid "lyrics1" msgstr "Liedtekst1" #: mainwindow.cpp:392 msgid "insert lyrics at line 1" msgstr "Liedtekst invoegen bij regel 1" #: mainwindow.cpp:393 msgid "lyrics2" msgstr "Liedtekst2" #: mainwindow.cpp:393 msgid "insert lyrics at line 2" msgstr "Liedtekst invoegen bij regel 2" #: mainwindow.cpp:394 msgid "lyrics3" msgstr "Liedtekst3" #: mainwindow.cpp:394 msgid "insert lyrics at line 3" msgstr "Liedtekst invoegen bij regel 3" #: mainwindow.cpp:395 msgid "lyrics4" msgstr "Liedtekst4" #: mainwindow.cpp:395 msgid "insert lyrics at line 4" msgstr "Liedtekst invoegen bij regel 4" #: mainwindow.cpp:396 msgid "lyrics5" msgstr "Liedtekst5" #: mainwindow.cpp:396 msgid "insert lyrics at line 5" msgstr "Liedtekst invoegen bij regel 5" #: mainwindow.cpp:397 msgid "Insert tuplet ..." msgstr "N-tool invoegen ..." #: mainwindow.cpp:397 msgid "insert a tuplet (Ctrl + num)" msgstr "N-tool invoegen (Ctrl + num)" #: mainwindow.cpp:398 msgid "brace" msgstr "Accolade" #: mainwindow.cpp:398 msgid "group staves by means of a brace" msgstr "Groepeer balken d.m.v. accolade" #: mainwindow.cpp:399 msgid "bracket" msgstr "Haak" #: mainwindow.cpp:399 msgid "group staves by means of a bracket" msgstr "Groepeer balken d.m.v. een haak" #: mainwindow.cpp:400 msgid "connect barlines" msgstr "Maatstrepen verbinden" #: mainwindow.cpp:400 msgid "set connected bar lines" msgstr "Maatstrepen verbinden instellen" #: mainwindow.cpp:401 msgid "remove group" msgstr "Verwijder groep" #: mainwindow.cpp:401 msgid "remove a group of connected staves" msgstr "Vewijder een groep verbonden balken" #: mainwindow.cpp:402 msgid "Remove tuplet" msgstr "N-tool verwijderen" #: mainwindow.cpp:402 msgid "remove a tuplet" msgstr "N-tool verwijderen" #: mainwindow.cpp:403 msgid "Muting ..." msgstr "Dempen ..." #: mainwindow.cpp:403 msgid "mute some staves" msgstr "Demp enkele balken" #: mainwindow.cpp:404 msgid "Transpose ..." msgstr "Transponeer ..." #: mainwindow.cpp:404 msgid "transpose" msgstr "Transponeer" #: mainwindow.cpp:405 msgid "hide rests" msgstr "Verberg rusten" #: mainwindow.cpp:405 msgid "hide (selected) rests" msgstr "Verberg (geselecteerde) rusten" #: mainwindow.cpp:406 msgid "unhide rests" msgstr "Laat verborgen rusten weer zien" #: mainwindow.cpp:406 msgid "unhide (selected) rests" msgstr "Laat (geselecteerde) verborgen rusten weer zien" #: mainwindow.cpp:407 msgid "hide rests (all v.)" msgstr "Verberg rusten (alle stemmen)" #: mainwindow.cpp:407 msgid "hide selected rests (all v.)" msgstr "Verberg geselecteerde rusten (alle stemmen)" #: mainwindow.cpp:408 msgid "unhide rests (all v.)" msgstr "Laat rusten weer zien (alle stemmen)" #: mainwindow.cpp:408 msgid "unhide selected rests (all v.)" msgstr "Laat geselecteerde rusten weer zien (alle stemmen)" #: mainwindow.cpp:409 msgid "set all to sharp ..." msgstr "Alleen kruizen gebruiken ..." #: mainwindow.cpp:409 msgid "set all flats to sharp" msgstr "Gebruik mollen ipv kruizen" #: mainwindow.cpp:410 msgid "set all to flat ..." msgstr "Alleen mollen gebruiken ..." #: mainwindow.cpp:410 msgid "set all sharps to flat" msgstr "Gebruik kruizen ipv mollen" #: mainwindow.cpp:411 msgid "About NtEd" msgstr "Over NtEd" #: mainwindow.cpp:413 msgid "Documentation ..." msgstr "Documentatie ..." #: mainwindow.cpp:415 msgid "License" msgstr "Licentie" #: mainwindow.cpp:416 msgid "E_xit" msgstr "Afsluiten" #: mainwindow.cpp:416 msgid "Exit the program" msgstr "Programma afsluiten" #: mainwindow.cpp:420 msgid "play" msgstr "Afspelen" #: mainwindow.cpp:421 msgid "voices in different colors" msgstr "Stemmen in verschillende kleuren" #: mainwindow.cpp:422 msgid "show measure numbers" msgstr "Maatnummers tonen" #: mainwindow.cpp:423 msgid "show hidden elements" msgstr "Toon verborgen elementen" #: mainwindow.cpp:424 msgid "midi input" msgstr "Midi invoer" #: mainwindow.cpp:425 msgid "record midi" msgstr "Midi opname" #: mainwindow.cpp:425 msgid "record midi - i" msgstr "Midi opname - i" #: mainwindow.cpp:429 msgid "in" msgstr "in" #: mainwindow.cpp:429 msgid "Zoom in Ctrl + +" msgstr "Inzoomen Ctrl + +" #: mainwindow.cpp:430 msgid "out" msgstr "uit" #: mainwindow.cpp:430 msgid "Zoom out Ctrl + -" msgstr "Uitzoomen Ctrl + -" #: mainwindow.cpp:431 msgid "undo" msgstr "ongedaan maken" #: mainwindow.cpp:431 msgid "Undo Ctrl + z" msgstr "Ongedaan maken Ctrl + z" #: mainwindow.cpp:432 msgid "redo" msgstr "opnieuw" #: mainwindow.cpp:432 msgid "Redo Ctrl + y" msgstr "Opnieuw Ctrl + y" #: mainwindow.cpp:433 msgid "customize beam" msgstr "Waardestreep aanpassen" #: mainwindow.cpp:433 msgid "customize beam - Ctrl + j" msgstr "Waardestreep aanpassen - Ctrl + j" #: mainwindow.cpp:434 msgid "flip stem" msgstr "Stokrichting omkeren" #: mainwindow.cpp:434 msgid "flip stem - Ctrl + f" msgstr "Stokrichting omkeren Ctrl + f" #: mainwindow.cpp:438 msgid "insert" msgstr "invoegen" #: mainwindow.cpp:438 msgid "Toggle Insert/Erase Mode - n" msgstr "Wissel invoeg/verwijder modus - n" #: mainwindow.cpp:442 msgid "page" msgstr "pagina" #: mainwindow.cpp:442 msgid "Page Mode - p" msgstr "Pagina modus - p" #: mainwindow.cpp:443 dialogs/staffcontextdialog.cpp:177 #: dialogs/keysigdialog.cpp:42 dialogs/midirecordconfigdialog.cpp:160 msgid "key" msgstr "Toonsoort" #: mainwindow.cpp:443 msgid "Keyboard insert mode - k" msgstr "Keyboard invoeg modus - k" #: mainwindow.cpp:1625 msgid "Cannot replay because could not open ALSA sequencer" msgstr "Afspelen niet mogelijk - kon ALSA sequencer niet openen" #: mainwindow.cpp:2776 mainwindow.cpp:5110 mainwindow.cpp:5156 #: mainwindow.cpp:6090 mainwindow.cpp:6180 mainwindow.cpp:6937 #: mainwindow.cpp:9584 msgid "Save Changes ?" msgstr "Veranderingen opslaan ?" #: mainwindow.cpp:2894 mainwindow.cpp:2995 mainwindow.cpp:3576 #: mainwindow.cpp:3696 mainwindow.cpp:9035 mainwindow.cpp:9147 #: mainwindow.cpp:9271 mainwindow.cpp:9360 dialogs/lyricseditor.cpp:350 #: dialogs/drumconfigdialog.cpp:493 #, c-format msgid "Cannot open %s for writing" msgstr "Kan %s niet openen om te schrijven" #: mainwindow.cpp:2905 mainwindow.cpp:3009 #, c-format msgid "Cannot rename %s to %s" msgstr "Kan naam %s niet veranderen in %s" #: mainwindow.cpp:2940 msgid "Save score" msgstr "Partituur opslaan" #: mainwindow.cpp:2982 mainwindow.cpp:3564 mainwindow.cpp:3684 #: mainwindow.cpp:8995 mainwindow.cpp:9135 mainwindow.cpp:9259 #: mainwindow.cpp:9348 dialogs/lyricseditor.cpp:336 #: dialogs/drumconfigdialog.cpp:479 #, c-format msgid "File %s already exists. Overwrite ?" msgstr "Bestand %s bestaat al. Overschrijven ?" #: mainwindow.cpp:3272 mainwindow.cpp:3416 msgid "Please select a note or rest!" msgstr "Selecteer a.u.b. een noot of rust!" #: mainwindow.cpp:3277 msgid "You select a note in an tuplet" msgstr "Je selecteert een noot in een N-tool" #: mainwindow.cpp:3281 msgid "You cannot copy incomplete tuplets!" msgstr "Je kunt een onvolledige N-tool niet kopieren!" #: mainwindow.cpp:3296 msgid "Paste not possible: A tuplet would cross a measure" msgstr "Plakken niet mogelijk. N-tool overschrijdt maatstreep" #: mainwindow.cpp:3443 msgid "Empty not possible because of incomplete tuplets" msgstr "Leegmaken niet mogelijk met onvolledige N-tolen" #: mainwindow.cpp:4112 #, c-format msgid "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "Translation: " msgstr "" "NtEd version %s door Joerg Anders\n" "Zend bug rapporten naar %s\n" "\n" "Informatie op http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted." "xhtml\n" "\n" "Auteur:\n" " J.Anders \n" "\n" "Nederlandse Vertaling: Wouter Stomp en Martin Tarenskeen" #: mainwindow.cpp:4123 msgid "" "Excuse! The documentation is not available\n" "due to an installation error" msgstr "" "Helaas! De documentatie is niet beschikbaar\n" "door een installatie fout" #: mainwindow.cpp:4133 msgid "Excuse! Cannot exec" msgstr "Helaas! Exec niet mogelijk" #: mainwindow.cpp:4138 msgid "Excuse! Cannot fork" msgstr "Helaas! Fork niet mogelijk" #: mainwindow.cpp:4880 mainwindow.cpp:4902 mainwindow.cpp:7850 msgid "please select a note or rest first" msgstr "Selecteer eerst een noot of rust" #: mainwindow.cpp:4884 mainwindow.cpp:7854 msgid "you cannot select an element with dot" msgstr "Je kunt geen element met een punt selecteren" #: mainwindow.cpp:4894 mainwindow.cpp:7869 msgid "I'm not able to create a tuplet here" msgstr "Kan hier geen N-ool maken hier" #: mainwindow.cpp:4906 msgid "selected element is not inside a tuplet" msgstr "Geselecteerde element is niet in een N-tiool" #: mainwindow.cpp:5171 msgid "Open score" msgstr "Open partituur" #: mainwindow.cpp:5211 mainwindow.cpp:6306 mainwindow.cpp:6966 #: dialogs/lyricseditor.cpp:433 dialogs/drumconfigdialog.cpp:567 #, c-format msgid "Cannot open %s for reading" msgstr "Kan %s niet openen om te lezen" #: mainwindow.cpp:6105 msgid "Import MusicXML" msgstr "MusicXML importeren" #: mainwindow.cpp:7030 mainwindow.cpp:7056 msgid "Cannot list midi ports because could not open ALSA sequencer" msgstr "Kan MIDI poorten niet tonen - Kon ALSA sequencer niet openen" #: mainwindow.cpp:7127 msgid "Font selection - Measure numbers" msgstr "Font selectie - Maat nummers" #: mainwindow.cpp:7749 msgid "Adjust notes ?" msgstr "Noten aanpassen ?" #: mainwindow.cpp:8951 msgid "Create PNG" msgstr "Maak PNG" #: mainwindow.cpp:9091 msgid "Create SVG" msgstr "Maak SVG" #: mainwindow.cpp:9217 msgid "Create Postscript" msgstr "Maak Postscript" #: mainwindow.cpp:9306 msgid "Create PDF" msgstr "Maak PDF" #: mainwindow.cpp:9470 dialogs/lilypondexportdialog.cpp:70 msgid "select staves" msgstr "Balken selecteren" #: mainwindow.cpp:9627 #, c-format msgid "Usage: %s [.ntd]\n" msgstr "Gebruik: %s [.ntd]\n" #: mainwindow.cpp:9655 msgid "" "unable to set decimal point to '.'. PostScript output will be erroneous. \t\t" "\tPlease set the $LANG environment variable appropriately!" msgstr "" "Kan decimale punt niet naar '.' zetten. Postscript uitvoer zal fouten " "bevatten.\t\t \tZet de $LANG omgevingsvariabele correct!" #: resource.cpp:380 msgid "Piano 1" msgstr "Piano 1" #: resource.cpp:380 msgid "Piano 2" msgstr "Piano 2" #: resource.cpp:380 msgid "Piano 3" msgstr "Piano 3" #: resource.cpp:380 msgid "Honky-tonk" msgstr "Honky-tonk" #: resource.cpp:381 msgid "E.Piano 1" msgstr "E.Piano 1" #: resource.cpp:381 msgid "E.Piano 2" msgstr "E.Piano 2" #: resource.cpp:381 msgid "Harpsichord" msgstr "Klavecimbel" #: resource.cpp:381 msgid "Clavinet" msgstr "Clavinet" #: resource.cpp:382 msgid "Celesta" msgstr "Celesta" #: resource.cpp:382 msgid "Glockenspiel" msgstr "Klokkenspel" #: resource.cpp:382 msgid "Music Box" msgstr "Muziekdoos" #: resource.cpp:382 msgid "Vibraphone" msgstr "Vibrafoon" #: resource.cpp:383 msgid "Marimba" msgstr "Marimba" #: resource.cpp:383 msgid "Xylophone" msgstr "Xylofoon" #: resource.cpp:383 msgid "Tubular Bells" msgstr "Buisklokken" #: resource.cpp:383 msgid "Dulcimer" msgstr "Dulcimer" #: resource.cpp:384 msgid "Organ 1" msgstr "Orgel 1" #: resource.cpp:384 msgid "Organ 2" msgstr "Orgel 2" #: resource.cpp:384 msgid "Organ 3" msgstr "Orgel 3" #: resource.cpp:384 msgid "Church Organ" msgstr "Kerkorgel" #: resource.cpp:385 msgid "Reed Organ" msgstr "Rietorgel" #: resource.cpp:385 msgid "Accordion" msgstr "Accordeon" #: resource.cpp:385 msgid "Harmonica" msgstr "Harmonica" #: resource.cpp:385 msgid "Bandoneon" msgstr "Bandoneon" #: resource.cpp:386 msgid "Nylon Guitar" msgstr "Gitaar Ac.(nylon)" #: resource.cpp:386 msgid "Steel Guitar" msgstr "Gitaar Ac.(staal)" #: resource.cpp:386 msgid "Jazz Guitar" msgstr "Jazz Gitaar" #: resource.cpp:386 msgid "Clean Guitar" msgstr "Gitaar El.(clean)" #: resource.cpp:387 msgid "Guitar Mutes" msgstr "Gitaar El.(gedempt)" #: resource.cpp:387 msgid "Overdrive Guitar" msgstr "Gitaar El.Overstuurd" #: resource.cpp:387 msgid "Guitar Harmonics" msgstr "Gitaar Flageolet" #: resource.cpp:388 msgid "Acoustic Bass" msgstr "Akoestische Bas" #: resource.cpp:388 msgid "Fingered Bass" msgstr "Vinger Bas" #: resource.cpp:388 msgid "Picked Bass" msgstr "Pluk bas" #: resource.cpp:388 msgid "Fretless Bass" msgstr "Fretloze Bas" #: resource.cpp:389 msgid "Slap Bass 1" msgstr "Slap Bas 1" #: resource.cpp:389 msgid "Slap Bass 2" msgstr "Slap Bas 2" #: resource.cpp:389 msgid "Synth Bass 1" msgstr "Synth Bas 1" #: resource.cpp:389 msgid "Synth Bass 2" msgstr "Synth Bas 2" #: resource.cpp:390 msgid "Violin" msgstr "Viool" #: resource.cpp:390 msgid "Viola" msgstr "Altviool" #: resource.cpp:390 msgid "Cello" msgstr "Cello" #: resource.cpp:390 msgid "Contrabass" msgstr "Contrabas" #: resource.cpp:391 msgid "Tremolo Strings" msgstr "Tremolo Strijkers" #: resource.cpp:391 msgid "Pizzicato" msgstr "Pizzicato" #: resource.cpp:391 msgid "Harp" msgstr "Harp" #: resource.cpp:391 msgid "Timpani" msgstr "Pauken" #: resource.cpp:392 msgid "Strings" msgstr "Strijkers" #: resource.cpp:392 msgid "Slow Strings" msgstr "Langzame Strijkers" #: resource.cpp:392 msgid "Synth Strings 1" msgstr "Synth Strijkers 1" #: resource.cpp:392 msgid "Synth Strings 2" msgstr "Synth Strijkers 2" #: resource.cpp:393 msgid "Choir Aahs" msgstr "Koor Aahs" #: resource.cpp:393 msgid "Voice Oohs" msgstr "Stem Oohs" #: resource.cpp:393 msgid "Synth Vox" msgstr "Synth Vox" #: resource.cpp:393 msgid "Orchestra Hit" msgstr "Orkest Klap" #: resource.cpp:394 msgid "Trumpet" msgstr "Trompet" #: resource.cpp:394 msgid "Trombone" msgstr "Trombone" #: resource.cpp:394 msgid "Tuba" msgstr "Tuba" #: resource.cpp:394 msgid "Mute Trumpet" msgstr "Gedempte Trompet" #: resource.cpp:395 msgid "French Horns" msgstr "Franse Hoorns" #: resource.cpp:395 msgid "Brass" msgstr "Koperblazers" #: resource.cpp:395 msgid "Synth Brass 1" msgstr "Synth Koperblazers 1" #: resource.cpp:395 msgid "Synth Brass 2" msgstr "Synth Koperblazers 2" #: resource.cpp:396 msgid "Soprano Sax" msgstr "Sopraan Sax" #: resource.cpp:396 msgid "Alto Sax" msgstr "Alt Sax" #: resource.cpp:396 msgid "Tenor Sax" msgstr "Tenor Sax" #: resource.cpp:396 msgid "Baritone Sax" msgstr "Bariton Sax" #: resource.cpp:397 msgid "Oboe" msgstr "Hobo" #: resource.cpp:397 msgid "English Horn" msgstr "Engelse Hoorn" #: resource.cpp:397 msgid "Bassoon" msgstr "Fagot" #: resource.cpp:397 msgid "Clarinet" msgstr "Klarinet" #: resource.cpp:398 msgid "Piccolo" msgstr "Piccolo" #: resource.cpp:398 msgid "Flute" msgstr "Fluit" #: resource.cpp:398 msgid "Recorder" msgstr "Blokfluit" #: resource.cpp:398 msgid "Pan Flute" msgstr "Panfluit" #: resource.cpp:399 msgid "Bottle Chiff" msgstr "Bottle Chiff" #: resource.cpp:399 msgid "Shakuhachi" msgstr "Shakuhachi" #: resource.cpp:399 msgid "Whistle" msgstr "Fluitje" #: resource.cpp:399 msgid "Ocarina" msgstr "Ocarina" #: resource.cpp:400 msgid "Square Wave" msgstr "Blok Golf" #: resource.cpp:400 msgid "Saw Wave" msgstr "Zaagtand Golf" #: resource.cpp:400 msgid "Synth Calliope" msgstr "Synth Calliope" #: resource.cpp:400 msgid "Chiffer Lead" msgstr "Chiffer Lead" #: resource.cpp:401 msgid "Charang" msgstr "Charang" #: resource.cpp:401 msgid "Solo Vox" msgstr "Solo Vox" #: resource.cpp:401 msgid "5th Saw Wave" msgstr "Zaagtand Kwint" #: resource.cpp:401 msgid "Bass & Lead" msgstr "Bas & Lead" #: resource.cpp:402 msgid "Fantasia" msgstr "Fantasie" #: resource.cpp:402 msgid "Warm Pad" msgstr "Warm Klanktapijt" #: resource.cpp:402 msgid "Poly Synth" msgstr "Poly Synth" #: resource.cpp:402 msgid "Space Voice" msgstr "Ruimtestem" #: resource.cpp:403 msgid "Bowed Glass" msgstr "Gestreken Glas" #: resource.cpp:403 msgid "Metal Pad" msgstr "Metaal Klanktapijt" #: resource.cpp:403 msgid "Halo Pad" msgstr "Halo Klanktapijt" #: resource.cpp:403 msgid "Sweep Pad" msgstr "Sweep Klanktapijt" #: resource.cpp:404 msgid "Ice Rain" msgstr "Hagel" #: resource.cpp:404 msgid "Soundtrack" msgstr "Soundtrack" #: resource.cpp:404 msgid "Crystal" msgstr "Kristal" #: resource.cpp:404 msgid "Atmosphere" msgstr "Atmosfeer" #: resource.cpp:405 msgid "Brightness" msgstr "Helderheid" #: resource.cpp:405 msgid "Goblin" msgstr "Goblin" #: resource.cpp:405 msgid "Echo Drops" msgstr "Echo Druppels" #: resource.cpp:405 msgid "Star Theme" msgstr "Sterren Thema" #: resource.cpp:406 msgid "Sitar" msgstr "Sitar" #: resource.cpp:406 msgid "Banjo" msgstr "Banjo" #: resource.cpp:406 msgid "Shamisen" msgstr "Shamisen" #: resource.cpp:406 msgid "Koto" msgstr "Koto" #: resource.cpp:407 msgid "Kalimba" msgstr "Kalimba" #: resource.cpp:407 msgid "Bagpipe" msgstr "Doedelzak" #: resource.cpp:407 msgid "Fiddle" msgstr "Vedel" #: resource.cpp:407 msgid "Shenai" msgstr "Shenai" #: resource.cpp:408 msgid "Tinker Bell" msgstr "Tinker Bel" #: resource.cpp:408 msgid "Agogo" msgstr "Agogo" #: resource.cpp:408 msgid "Steel Drum" msgstr "Steel Drum" #: resource.cpp:408 msgid "Wood Block" msgstr "Houtblok" #: resource.cpp:409 msgid "Taiko Drum" msgstr "Taiko Drum" #: resource.cpp:409 msgid "Melodic Tom" msgstr "Melodische Tom" #: resource.cpp:409 msgid "Synth Drum" msgstr "Synth Drum" #: resource.cpp:409 msgid "Reverse Cymbal" msgstr "Bekken Achterstevoren" #: resource.cpp:410 msgid "Fret Noise" msgstr "Fret Lawaai" #: resource.cpp:410 msgid "Breath Noise" msgstr "Ademruis" #: resource.cpp:410 msgid "Seashore" msgstr "Zeegeruis" #: resource.cpp:410 msgid "Bird" msgstr "Vogel" #: resource.cpp:411 msgid "Telephone" msgstr "Telefoon" #: resource.cpp:411 msgid "Helicopter" msgstr "Helikopter" #: resource.cpp:411 msgid "Applause" msgstr "Applaus" #: resource.cpp:411 msgid "Gun Shot" msgstr "Geweerschot" #: resource.cpp:827 msgid "" "Cannot open ALSA MIDI sequencer --> replay won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Kan ALSA MIDI sequencer niet openen --> Afspelen zal niet werken :-((\n" "Probeer (als root)\n" "modprobe snd-seq-midi\n" "en start NtEd opnieuw\n" "Misschien helpt dit(?)" #: resource.cpp:835 msgid "Error creating ALSA sequencer output port --> replay won't work :-((" msgstr "" "Fout tijdens creatie van ALSA seq. uitgang. --> afspelen zal niet werken :(( " #: resource.cpp:845 msgid "" "Cannot open ALSA MIDI sequencer --> read/record won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Kan ALSA MIDI sequencer niet openen --> Afspelen/Opnemen zal niet werken :-" "((\n" "Probeer (als root)\n" "modprobe snd-seq-midi\n" "en start NtEd opnieuw\n" "Misschien helpt dit(?)" #: resource.cpp:853 msgid "Error creating ALSA sequencer input port --> record won't work :-((" msgstr "" "Fout bij creatie van ALSA sequencer ingang. --> afspelen zal niet werken :(( " #: dialogs/paperconfigdialog.cpp:37 dialogs/paperconfigdialog.cpp:41 msgid "Paper" msgstr "Papier" #: dialogs/paperconfigdialog.cpp:46 msgid "paper type" msgstr "Papiersoort" #: dialogs/paperconfigdialog.cpp:81 msgid "orientation" msgstr "Orientatie" #: dialogs/paperconfigdialog.cpp:82 msgid "portrait" msgstr "Portret" #: dialogs/paperconfigdialog.cpp:83 msgid "landscape" msgstr "Landschap" #: dialogs/portchoosedialog.cpp:46 msgid "MIDI ports" msgstr "MIDI poorten" #: dialogs/portchoosedialog.cpp:60 dialogs/staffcontextdialog.cpp:321 #: dialogs/staffcontextdialog.cpp:437 dialogs/textdialog.cpp:200 #: dialogs/midirecordconfigdialog.cpp:133 dialogs/staffselectdialog.cpp:69 #: dialogs/drumconfigdialog.cpp:110 msgid "no" msgstr "Nee" #: dialogs/portchoosedialog.cpp:62 msgid "port" msgstr "Poort" #: dialogs/portchoosedialog.cpp:78 msgid "midi echo" msgstr "MIDI echo" #: dialogs/printconfigdialog.cpp:31 msgid "Print command" msgstr "Printopdracht" #: dialogs/printconfigdialog.cpp:35 msgid "print command" msgstr "Printopdracht" #: dialogs/staffcontextdialog.cpp:31 msgid "G flat Major; e flat minor" msgstr "Ges Majeur; es mineur" #: dialogs/staffcontextdialog.cpp:31 msgid "D flat Major; b flat minor" msgstr "Des Majeur; bes mineur" #: dialogs/staffcontextdialog.cpp:32 msgid "A flat Major; f minor" msgstr "As Majeur; f mineur" #: dialogs/staffcontextdialog.cpp:32 msgid "E flat Major; c minor" msgstr "Es Majeur; c mineur" #: dialogs/staffcontextdialog.cpp:33 msgid "B flat Major; g minor" msgstr "Bes Majeur; g mineur" #: dialogs/staffcontextdialog.cpp:33 msgid "F Major; d minor" msgstr "F Majeur; d mineur" #: dialogs/staffcontextdialog.cpp:34 msgid "C Major; a minor" msgstr "C Majeur; a mineur" #: dialogs/staffcontextdialog.cpp:34 msgid "G Major; e minor" msgstr "G Majeur; e mineur" #: dialogs/staffcontextdialog.cpp:35 msgid "D Major; b minor" msgstr "D Majeur; b mineur" #: dialogs/staffcontextdialog.cpp:35 msgid "A Major; f sharp minor" msgstr "A Majeur; fis mineur" #: dialogs/staffcontextdialog.cpp:36 msgid "E Major; c sharp minor" msgstr "E Majeur; cis mineur" #: dialogs/staffcontextdialog.cpp:36 msgid "B Major; g sharp minor" msgstr "B Majeur; gis mineur" #: dialogs/staffcontextdialog.cpp:37 msgid "F sharp Major; d sharp minor" msgstr "Fis Majeur; dis mineur" #: dialogs/staffcontextdialog.cpp:120 msgid "Staff context" msgstr "Notenbalk context" #: dialogs/staffcontextdialog.cpp:132 dialogs/clefconfigdialog.cpp:49 msgid "clef" msgstr "Sleutel" #: dialogs/staffcontextdialog.cpp:157 dialogs/clefconfigdialog.cpp:74 msgid "Octave shift:" msgstr "Oktaaf verschuiving" #: dialogs/staffcontextdialog.cpp:163 dialogs/keysigdialog.cpp:66 #: dialogs/clefconfigdialog.cpp:81 msgid "adjust notes" msgstr "Noten aanpassen" #: dialogs/staffcontextdialog.cpp:200 dialogs/measureconfigdialog.cpp:110 #: dialogs/midirecordconfigdialog.cpp:70 msgid "time signature" msgstr "Maatsoort" #: dialogs/staffcontextdialog.cpp:204 dialogs/measureconfigdialog.cpp:114 #: dialogs/midirecordconfigdialog.cpp:74 msgid "Numerator:" msgstr "Teller:" #: dialogs/staffcontextdialog.cpp:205 dialogs/measureconfigdialog.cpp:115 #: dialogs/midirecordconfigdialog.cpp:75 msgid "Denominator:" msgstr "Noemer:" #: dialogs/staffcontextdialog.cpp:248 msgid "staff name" msgstr "Notenbalk naam" #: dialogs/staffcontextdialog.cpp:255 msgid "staff short name" msgstr "notenbalk korte naam" #: dialogs/staffcontextdialog.cpp:262 msgid "group name" msgstr "groepsnaam" #: dialogs/staffcontextdialog.cpp:269 msgid "group short name" msgstr "korte groepsnaam" #: dialogs/staffcontextdialog.cpp:278 dialogs/tempodialog.cpp:154 #: dialogs/textdialog.cpp:138 dialogs/midirecordconfigdialog.cpp:147 msgid "tempo" msgstr "Tempo" #: dialogs/staffcontextdialog.cpp:283 msgid "chorus" msgstr "Chorus" #: dialogs/staffcontextdialog.cpp:289 msgid "transp." msgstr "Transp." #: dialogs/staffcontextdialog.cpp:295 msgid "reverb" msgstr "Galm" #: dialogs/staffcontextdialog.cpp:301 dialogs/textdialog.cpp:123 #: dialogs/midirecordconfigdialog.cpp:153 msgid "volume" msgstr "Volume" #: dialogs/staffcontextdialog.cpp:307 msgid "pan" msgstr "Stereo balans" #: dialogs/staffcontextdialog.cpp:323 dialogs/textdialog.cpp:202 #: dialogs/midirecordconfigdialog.cpp:135 msgid "instruments" msgstr "Instrumenten" #: dialogs/staffcontextdialog.cpp:332 dialogs/textdialog.cpp:150 msgid "channel" msgstr "Kanaal" #: dialogs/staffcontextdialog.cpp:337 dialogs/mutedialog.cpp:69 msgid "muting" msgstr "Dempen" #: dialogs/staffcontextdialog.cpp:338 dialogs/staffcontextdialog.cpp:370 #: dialogs/mutedialog.cpp:72 dialogs/selectordialog.cpp:98 msgid "all" msgstr "Alles" #: dialogs/staffcontextdialog.cpp:369 msgid "voices" msgstr "Stemmen" #: dialogs/staffcontextdialog.cpp:429 dialogs/staffselectdialog.cpp:58 msgid "staff" msgstr "Notenbalk" #: dialogs/staffcontextdialog.cpp:435 dialogs/staffselectdialog.cpp:67 msgid "item" msgstr "Item" #: dialogs/staffcontextdialog.cpp:485 msgid "Score" msgstr "Partituur" #: dialogs/staffcontextdialog.cpp:486 msgid "MIDI" msgstr "MIDI" #: dialogs/staffcontextdialog.cpp:495 msgid "Staff position" msgstr "Notenbalk positie" #: dialogs/tupletdialog.cpp:34 msgid "Tuplet" msgstr "N-tool" #: dialogs/tupletdialog.cpp:40 msgid "" "Instead of using this dialog\n" "you can simply press + num" msgstr "" "In plaats van dit dialoogvenster\n" "kun je ook gewoon + num gebruiken" #: dialogs/tupletdialog.cpp:42 msgid "Tuplet value:" msgstr "N-tool waarde: " #: dialogs/tupletdialog.cpp:47 msgid "method 2" msgstr "Methode 2" #: dialogs/insertblockdialog.cpp:32 msgid "Insert blocks" msgstr "Blok invoegen" #: dialogs/insertblockdialog.cpp:39 msgid "block count:" msgstr "Aantal blokken:" #: dialogs/measureconfigdialog.cpp:53 msgid "Measure type" msgstr "Maat soort" #: dialogs/measureconfigdialog.cpp:62 msgid "measure type" msgstr "Maat soort" #: dialogs/measureconfigdialog.cpp:89 msgid "alternative 1" msgstr "Alternatief 1" #: dialogs/measureconfigdialog.cpp:90 msgid "alternative 2" msgstr "Alternatief 2" #: dialogs/measureconfigdialog.cpp:99 msgid "hide following" msgstr "Verberg volgende" #: dialogs/measureconfigdialog.cpp:158 msgid "enable timesig" msgstr "Maatsoort inschakelen" #: dialogs/measureconfigdialog.cpp:160 msgid "delete timesig" msgstr "Wis maatsoort" #: dialogs/keysigdialog.cpp:37 msgid "New keysignature" msgstr "Nieuwe toonsoort" #: dialogs/keysigdialog.cpp:64 msgid "adjust" msgstr "aanpassen" #: dialogs/scoreinfodialog.cpp:71 dialogs/scoreinfodialog.cpp:75 msgid "Score info" msgstr "Partituur info" #: dialogs/scoreinfodialog.cpp:79 msgid "Title:" msgstr "Titel:" #: dialogs/scoreinfodialog.cpp:87 msgid "Subject:" msgstr "Onderwerp:" #: dialogs/scoreinfodialog.cpp:95 msgid "Composer:" msgstr "Componist:" #: dialogs/scoreinfodialog.cpp:103 msgid "Arranger:" msgstr "Arrangeur:" #: dialogs/scoreinfodialog.cpp:111 msgid "Copyright:" msgstr "Auteursrechten:" #: dialogs/clefconfigdialog.cpp:44 msgid "Clef configuration" msgstr "Sleutel configureren" #: dialogs/volumedialog.cpp:32 msgid "Set Volume" msgstr "Volume instellen" #: dialogs/volumedialog.cpp:44 msgid "volume:" msgstr "Volume:" #: dialogs/tempodialog.cpp:56 msgid "Set Tempo" msgstr "Tempo instellen" #: dialogs/tempodialog.cpp:128 msgid "kind" msgstr "Soort" #: dialogs/tempodialog.cpp:150 msgid "tempo:" msgstr "Tempo:" #: dialogs/lyricseditor.cpp:67 msgid "Lyrics" msgstr "Liedtekst" #: dialogs/lyricseditor.cpp:85 msgid "lyrics 1" msgstr "Liedtekst 1" #: dialogs/lyricseditor.cpp:86 msgid "lyrics 2" msgstr "Liedtekst 2" #: dialogs/lyricseditor.cpp:87 msgid "lyrics 3" msgstr "Liedtekst 3" #: dialogs/lyricseditor.cpp:88 msgid "lyrics 4" msgstr "Liedtekst 4" #: dialogs/lyricseditor.cpp:89 msgid "lyrics 5" msgstr "Liedtekst 5" #: dialogs/lyricseditor.cpp:135 dialogs/drumconfigdialog.cpp:230 msgid "load from file" msgstr "laad van bestand" #: dialogs/lyricseditor.cpp:136 dialogs/drumconfigdialog.cpp:231 msgid "save to file" msgstr "opslaan naar bestand" #: dialogs/lyricseditor.cpp:143 dialogs/drumconfigdialog.cpp:247 msgid "file" msgstr "bestand" #: dialogs/lyricseditor.cpp:292 msgid "Save lyrics" msgstr "Bewaar Liedtekst" #: dialogs/lyricseditor.cpp:392 msgid "Open lyrics file" msgstr "Liedtekst Bestand openen" #: dialogs/mutedialog.cpp:34 msgid "Muting" msgstr "Dempen" #: dialogs/mutedialog.cpp:55 dialogs/selectordialog.cpp:61 #, c-format msgid "Staff %d" msgstr "Notenbalk %d" #: dialogs/mutedialog.cpp:74 dialogs/selectordialog.cpp:100 msgid "none" msgstr "Geen" #: dialogs/linesdialog.cpp:40 msgid "Lines" msgstr "Lijnen" #: dialogs/linesdialog.cpp:46 msgid "lines" msgstr "Lijnen" #: dialogs/selectordialog.cpp:35 msgid "Transpose" msgstr "Transponeer" #: dialogs/selectordialog.cpp:39 msgid "Select" msgstr "Selecteer" #: dialogs/selectordialog.cpp:73 msgid "half-tones" msgstr "Halve tonen" #: dialogs/selectordialog.cpp:76 dialogs/selectordialog.cpp:95 #: chords/chorddialog.cpp:159 msgid "selection" msgstr "Selectie" #: dialogs/selectordialog.cpp:87 msgid "use selection" msgstr "Gebruik selectie" #: dialogs/textdialog.cpp:69 msgid "Text" msgstr "Tekst" #: dialogs/textdialog.cpp:89 chords/chorddialog.cpp:111 msgid "text" msgstr "Tekst" #: dialogs/textdialog.cpp:98 msgid "select font" msgstr "Font selecteren" #: dialogs/textdialog.cpp:105 msgid "anchor" msgstr "Anker" #: dialogs/textdialog.cpp:108 msgid "left" msgstr "Links" #: dialogs/textdialog.cpp:109 msgid "mid" msgstr "Midden" #: dialogs/textdialog.cpp:110 msgid "right" msgstr "Rechts" #: dialogs/textdialog.cpp:130 msgid "enable volume change" msgstr "Volume verandering mogelijk" #: dialogs/textdialog.cpp:143 msgid "enable tempo change" msgstr "Tempo verandering mogelijk" #: dialogs/textdialog.cpp:155 msgid "enable channel change" msgstr "tempo verandering mogelijk" #: dialogs/textdialog.cpp:162 msgid "D.S" msgstr "D.S." #: dialogs/textdialog.cpp:165 msgid "No segno meaning" msgstr "Geen Segno betekenis" #: dialogs/textdialog.cpp:166 msgid "D.S. al Fine" msgstr "D.S. al Fine" #: dialogs/textdialog.cpp:167 msgid "D.S. al Coda" msgstr "D.S. al Code" #: dialogs/textdialog.cpp:168 msgid "D. Capo al Fine" msgstr "D.C. al Fine" #: dialogs/textdialog.cpp:169 msgid "D. Capo al Coda" msgstr "D.C. al Coda" #: dialogs/textdialog.cpp:170 msgid "Fine" msgstr "Einde" #: dialogs/textdialog.cpp:171 msgid "al Coda" msgstr "al Coda" #: dialogs/textdialog.cpp:219 msgid "instrument" msgstr "instrument" #: dialogs/textdialog.cpp:220 msgid "enable instrument change" msgstr "volume verandering mogelijk" #: dialogs/signsdialog.cpp:44 msgid "Signs" msgstr "Voortekens" #: dialogs/signsdialog.cpp:50 msgid "signs" msgstr "Voortekens" #: dialogs/midiimportdialog.cpp:43 msgid "MIDI import" msgstr "MIDI importeren" #: dialogs/midiimportdialog.cpp:70 dialogs/midirecordconfigdialog.cpp:103 msgid "triplet recognition" msgstr "Triool herkenning" #: dialogs/midiimportdialog.cpp:72 msgid "sort instruments" msgstr "Instrumenten sorteren" #: dialogs/midiimportdialog.cpp:73 dialogs/midirecordconfigdialog.cpp:105 msgid "force piano" msgstr "piano afdwingen" #: dialogs/midiimportdialog.cpp:74 dialogs/midirecordconfigdialog.cpp:107 msgid "don't split tracks" msgstr "sporen niet splitsen" #: dialogs/midiimportdialog.cpp:83 msgid "tempo density" msgstr "tempo dichtheid" #: dialogs/midiimportdialog.cpp:89 msgid "volume density" msgstr "volume dichtheid" #: dialogs/midirecordconfigdialog.cpp:65 msgid "Config Record" msgstr "Opname Instellen" #: dialogs/lilypondexportdialog.cpp:63 msgid "export params" msgstr "Parameters exporteren" #: dialogs/lilypondexportdialog.cpp:66 msgid "create line breaks" msgstr "Maak regeleindes" #: dialogs/lilypondexportdialog.cpp:74 msgid "keep beams" msgstr "waardestrepen behouden" #: dialogs/lilypondexportdialog.cpp:172 msgid "Staff selection" msgstr "Notenbalk selectie" #: dialogs/lilypondexportdialog.cpp:181 msgid "keep beams selection" msgstr "behoud waardestreep selectie" #: dialogs/staffselectdialog.cpp:76 msgid "All" msgstr "Alles" #: dialogs/staffselectdialog.cpp:79 msgid "None" msgstr "Geen" #: dialogs/spacementdialog.cpp:34 msgid "Horizontal Spacement" msgstr "Horizontale spatiering" #: dialogs/spacementdialog.cpp:40 msgid "Spacement" msgstr "Spatiering" #: dialogs/scaledialog.cpp:35 dialogs/scaledialog.cpp:40 msgid "Scale" msgstr "Schaal" #: dialogs/drumconfigdialog.cpp:90 msgid "Config Drums" msgstr "Drums instellen..." #: dialogs/drumconfigdialog.cpp:112 msgid "drum element name" msgstr "Drum element naam" #: dialogs/drumconfigdialog.cpp:114 msgid "short name" msgstr "korte naam" #: dialogs/drumconfigdialog.cpp:116 msgid "line" msgstr "lijn" #: dialogs/drumconfigdialog.cpp:119 msgid "symbol" msgstr "symbool" #: dialogs/drumconfigdialog.cpp:121 msgid "midi pitch" msgstr "MIDI toonhoogte" #: dialogs/drumconfigdialog.cpp:192 msgid "change element" msgstr "Verander element" #: dialogs/drumconfigdialog.cpp:197 msgid "note head" msgstr "notenkop" #: dialogs/drumconfigdialog.cpp:223 msgid "preview" msgstr "bekijk vooraf" #: dialogs/drumconfigdialog.cpp:232 msgid "load defaults" msgstr "laad standaard instellingen" #: dialogs/drumconfigdialog.cpp:233 msgid "play element" msgstr "element afspelen" #: dialogs/drumconfigdialog.cpp:446 msgid "Save drum configuration" msgstr "Drum in stellingen bewaren" #: dialogs/drumconfigdialog.cpp:537 msgid "Open drum configuration" msgstr "Drum instellingen openen" #: dialogs/chordnamedialog.cpp:50 dialogs/chordnamedialog.cpp:54 msgid "Chordname" msgstr "Akkoordnaam" #: dialogs/chordnamedialog.cpp:61 msgid "chordname" msgstr "Akkoordnaam" #: dialogs/chordnamedialog.cpp:80 msgid "size" msgstr "grootte" #: dialogs/chordnamedialog.cpp:84 msgid "position" msgstr "positie" #: dialogs/tools.cpp:372 dialogs/tools.cpp:392 msgid "Toolbox" msgstr "Gereedschapskist" #: chords/chorddialog.cpp:95 msgid "Chords" msgstr "Akkoorden" #: chords/chorddialog.cpp:99 msgid "chord" msgstr "Akkoord" #: chords/chorddialog.cpp:109 msgid "config" msgstr "Instellen" #: chords/chorddialog.cpp:112 msgid "diagram" msgstr "Diagram" #: chords/chorddialog.cpp:133 msgid "root" msgstr "Grondtoon" #: chords/chorddialog.cpp:150 msgid "mody" msgstr "Modi" #: chords/chorddialog.cpp:169 msgid "chordselect" msgstr "Akkoord selectie" #~ msgid "Append staff + A" #~ msgstr "Notenbalk toevoegen + A" #~ msgid "triplets" #~ msgstr "Triolen" #~ msgid "triplets with rests" #~ msgstr "Triolen met rusten" #~ msgid "use alto clef" #~ msgstr "Gebruik altsleutel" #~ msgid "Number of voices:" #~ msgstr "Aantal stemmen:" #~ msgid "E_xtras" #~ msgstr "E_xtras" #~ msgid "rest" #~ msgstr "rust" #~ msgid "Insert rests - 'r'" #~ msgstr "Rusten invoegen - 'r'" #~ msgid "make ties - _" #~ msgstr "Maak overbindingen - _" #~ msgid "dotted notes - ." #~ msgstr "Gepunkteerde noten - ." #~ msgid "double dotted notes" #~ msgstr "Dubbel gepunkteerde noten - ." #~ msgid "sharp - #" #~ msgstr "kruis - #" #~ msgid "flat notes - -" #~ msgstr "mol - -" #~ msgid "natural notes - =" #~ msgstr "Herstellingsteken - =" #~ msgid "double cross" #~ msgstr "dubbelkruis" #~ msgid "double flat" #~ msgstr "dubbelmol" #~ msgid "staccato" #~ msgstr "Staccato" #~ msgid "staccatissimo" #~ msgstr "staccatissimo" #~ msgid "tenuto" #~ msgstr "tenuto" #~ msgid "sforzato" #~ msgstr "Sforzato" #~ msgid "sforzando" #~ msgstr "Sforzando" #~ msgid "bow up" #~ msgstr "opstreek" #~ msgid "bow down" #~ msgstr "afstreek" #~ msgid "pedal on" #~ msgstr "pedaal neer" #~ msgid "pedal off" #~ msgstr "pedaal op" #~ msgid "trill" #~ msgstr "triller" #~ msgid "prall" #~ msgstr "pralltriller" #~ msgid "open" #~ msgstr "open" #~ msgid "mordent" #~ msgstr "mordent" #~ msgid "fermata" #~ msgstr "fermate" #~ msgid "arpeggio" #~ msgstr "arpeggio" #~ msgid "show graces toolbar" #~ msgstr "toon versieringen toolbar" #~ msgid "show drumbar" #~ msgstr "toon drumbar" #~ msgid "show drum heads toolbar" #~ msgstr "toon drumnoten toolbar" #~ msgid "show more acc." #~ msgstr "toon meer acc." #~ msgid "show the more accidentals toolbar" #~ msgstr "toon de meer acc. toolbar" #~ msgid "Full Note - 1" #~ msgstr "Hele Noot - 1" #~ msgid "Half Note - 2" #~ msgstr "Halve Noot - 2" #~ msgid "Quarter Note - 4" #~ msgstr "Kwart Noot - 4" #~ msgid "1/8 Note - 5" #~ msgstr "1/8 Noot - 5" #~ msgid "l/16 Note - 6" #~ msgstr "1/16 Noot - 6" #~ msgid "1/32 Note - 7" #~ msgstr "1/32 Noot - 7" #~ msgid "1/64 Note - 8" #~ msgstr "1/64 Noot - 8" #~ msgid "stroken grace" #~ msgstr "Voorslag met streepje" #~ msgid "eighth grace" #~ msgstr "1/8 voorslagnootje" #~ msgid "16 grace" #~ msgstr "16e voorslagnootje" #~ msgid "drum note 1" #~ msgstr "Drum noot 1" #~ msgid "drum note 2" #~ msgstr "Drum noot 2" #~ msgid "drum note 3" #~ msgstr "Drum noot 3" #~ msgid "drum note 4" #~ msgstr "Drum noot 4" #~ msgid "drum note 5" #~ msgstr "Drum noot 5" #~ msgid "drum note 6" #~ msgstr "Drum noot 6" #~ msgid "drum note 7" #~ msgstr "Drum noot 7" #~ msgid "drum note 8" #~ msgstr "Drum noot 8" #~ msgid "drum note 9" #~ msgstr "Drum noot 9" #~ msgid "drum note 10" #~ msgstr "Drum noot 10" #~ msgid "guitar note" #~ msgstr "Gitaar noot" #~ msgid "guitar note without stem" #~ msgstr "Gitaarnoot zonder stok" #~ msgid "Test Menu ..." #~ msgstr "Test Menu ..." nted-1.10.18/po/uk.po0000664001041000007640000013206311520270236011134 00000000000000# Ukrainian translation of nted. # Copyright (C) 2010 Joerg Anders # This file is distributed under the same license as the nted package. # Yury Bulka , 2010. # msgid "" msgstr "" "Project-Id-Version: nted 1.9.22\n" "Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de\n" "POT-Creation-Date: 2011-01-27 14:18+0100\n" "PO-Revision-Date: 2010-05-09 13:35+0300\n" "Last-Translator: Yury Bulka \n" "Language-Team: ukrainian \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: mainwindow.cpp:310 msgid "_File" msgstr "_Файл" #: mainwindow.cpp:311 msgid "Open_Recent" msgstr "Відкрити _недавній" #: mainwindow.cpp:312 msgid "_Export" msgstr "_ЕкÑпорт" #: mainwindow.cpp:313 msgid "_View" msgstr "_ВиглÑд" #: mainwindow.cpp:314 msgid "_Edit" msgstr "_РедагуваннÑ" #: mainwindow.cpp:315 msgid "_Tools" msgstr "_ЗнарÑддÑ" #: mainwindow.cpp:316 msgid "_System layout ..." msgstr "_Ðотні Ñтани..." #: mainwindow.cpp:317 msgid "_Insert" msgstr "_Ð’Ñтавити " #: mainwindow.cpp:318 msgid "_Upbeat ..." msgstr "_Затакт..." #: mainwindow.cpp:319 msgid "_Preferences ..." msgstr "_ÐалаштуваннÑ..." #: mainwindow.cpp:320 msgid "_Dynamics ..." msgstr "_динаміка..." #: mainwindow.cpp:321 msgid "_Lyrics" msgstr "_Ñтрофи" #: mainwindow.cpp:322 msgid "_Help" msgstr "_Довідка" #: mainwindow.cpp:323 msgid "Configure MIDI out..." msgstr "Ðалаштувати вихід MIDI..." #: mainwindow.cpp:323 msgid "configure MIDI output" msgstr "налаштувати вихід MIDI" #: mainwindow.cpp:324 msgid "Configure MIDI in..." msgstr "Ðалаштувати вхід MIDI..." #: mainwindow.cpp:324 msgid "configure MIDI input" msgstr "налаштувати вхід MIDI" #: mainwindow.cpp:325 msgid "Configure Paper..." msgstr "Ðалаштувати аркуш..." #: mainwindow.cpp:325 msgid "configure paper" msgstr "налаштувати аркуш" #: mainwindow.cpp:326 msgid "Configure Print..." msgstr "Ðалаштувати друк..." #: mainwindow.cpp:326 msgid "configure print command" msgstr "налаштувати команду друку" #: mainwindow.cpp:327 msgid "New" msgstr "Ðовий" #: mainwindow.cpp:327 msgid "New File" msgstr "Ðовий файл" #: mainwindow.cpp:328 msgid "Open ..." msgstr "Відкрити..." #: mainwindow.cpp:328 msgid "Open a file" msgstr "Відкрити файл" #: mainwindow.cpp:329 msgid "Save ..." msgstr "Зберегти..." #: mainwindow.cpp:329 mainwindow.cpp:330 msgid "Save a file" msgstr "Зберегти файл" #: mainwindow.cpp:330 msgid "Save As ..." msgstr "Зберегти Ñк..." #: mainwindow.cpp:331 msgid "Print" msgstr "Друкувати" #: mainwindow.cpp:331 msgid "print file" msgstr "друкувати файл" #: mainwindow.cpp:332 msgid "Import MusicXML ..." msgstr "Імпортувати MusicXML..." #: mainwindow.cpp:332 msgid "import a musicxml file" msgstr "імпортувати файл MusicXML" #: mainwindow.cpp:333 msgid "Import MIDI..." msgstr "Імпортувати MIDI..." #: mainwindow.cpp:333 msgid "import a midi file" msgstr "імпортувати файл midi" #: mainwindow.cpp:334 #, fuzzy msgid "Import MIDI(2)..." msgstr "Імпортувати MIDI..." #: mainwindow.cpp:334 #, fuzzy msgid "import a midi file(2)" msgstr "імпортувати файл midi" #: mainwindow.cpp:335 msgid "Copy" msgstr "Копіювати" #: mainwindow.cpp:335 msgid "copy - Ctrl + C" msgstr "копіювати – Ctrl + C" #: mainwindow.cpp:336 msgid "Paste" msgstr "Ð’Ñтавити" #: mainwindow.cpp:336 msgid "paste - Ctrl + V" msgstr "вÑтавити – Ctrl + V" #: mainwindow.cpp:337 msgid "Delete block" msgstr "Вилучити блок" #: mainwindow.cpp:337 msgid "delete block - Ctrl + X" msgstr "вилучити блок – Ctrl + X" #: mainwindow.cpp:338 msgid "append a system at end" msgstr "додати порожній Ñ€Ñд" #: mainwindow.cpp:338 msgid "append system - Ctrl + B" msgstr "додати Ñ€Ñд – Ctrl + B" #: mainwindow.cpp:339 msgid "Insert block" msgstr "пуÑті такти..." #: mainwindow.cpp:339 msgid "insert block" msgstr "вÑтавити блок пуÑтих тактів" #: mainwindow.cpp:340 msgid "Insert clef ..." msgstr "ключ..." #: mainwindow.cpp:340 msgid "insert a clef" msgstr "вÑтавити ключ" #: mainwindow.cpp:341 msgid "Empty block" msgstr "ОчиÑтити блок" #: mainwindow.cpp:341 msgid "empty block - Ctrl + E" msgstr "очиÑтити блок – Ctrl + E" #: mainwindow.cpp:342 msgid "reposit all" msgstr "Ðаново форматувати" #: mainwindow.cpp:342 msgid "reposit the whole score - Ctrl + T" msgstr "переформатувати вÑÑŽ партитуру – Ctrl + T" #: mainwindow.cpp:343 msgid "Export MIDI ..." msgstr "ЕкÑпортувати MIDI..." #: mainwindow.cpp:343 msgid "export a midi file" msgstr "екÑпортувати файл midi" #: mainwindow.cpp:344 msgid "Export LilyPond ..." msgstr "ЕкÑпортувати LilyPond..." #: mainwindow.cpp:344 dialogs/lilypondexportdialog.cpp:44 msgid "LilyPond export" msgstr "екÑпортувати у формат LilyPond" #: mainwindow.cpp:346 msgid "Export PDF ..." msgstr "ЕкÑпортувати PDF..." #: mainwindow.cpp:346 msgid "export PDF" msgstr "екÑпортувати PDF" #: mainwindow.cpp:348 msgid "Export P_NG ..." msgstr "ЕкÑпортувати P_NG..." #: mainwindow.cpp:348 msgid "Write a png image" msgstr "запиÑати файл png" #: mainwindow.cpp:350 msgid "Export S_VG ..." msgstr "ЕкÑпортивати S_VG..." #: mainwindow.cpp:350 msgid "Write an svg image" msgstr "запиÑати файл svg" #: mainwindow.cpp:352 msgid "Export P_S ..." msgstr "ЕкÑпортувати P_S..." #: mainwindow.cpp:352 msgid "Write PostScript" msgstr "запиÑати файл PostScript" #: mainwindow.cpp:353 msgid "New Window" msgstr "Ðове вікно" #: mainwindow.cpp:353 msgid "Open a new window" msgstr "відкрити нове вікно" #: mainwindow.cpp:354 msgid "Excerpt ..." msgstr "Партії..." #: mainwindow.cpp:354 msgid "Make an excerpt of the score" msgstr "" #: mainwindow.cpp:355 msgid "Close Window" msgstr "Закрити вікно" #: mainwindow.cpp:355 msgid "Close current window" msgstr "" #: mainwindow.cpp:358 msgid "Remove last page" msgstr "Вилучити оÑтанню Ñторінку" #: mainwindow.cpp:358 msgid "remove the last page" msgstr "" #: mainwindow.cpp:359 msgid "Remove empty pages" msgstr "Вилучити порожні Ñторінки" #: mainwindow.cpp:359 msgid "remove empty pages at end" msgstr "" #: mainwindow.cpp:360 msgid "Change spacement ..." msgstr "Змінити горизонтальний крок..." #: mainwindow.cpp:360 msgid "change the horizontal spacement" msgstr "" #: mainwindow.cpp:361 msgid "Change Scale ..." msgstr "Змінити розмір..." #: mainwindow.cpp:361 msgid "change scale" msgstr "" #: mainwindow.cpp:362 msgid "Configure Record ..." msgstr "Ðалаштувати запиÑ..." #: mainwindow.cpp:362 msgid "configure record" msgstr "" #: mainwindow.cpp:363 msgid "Configure Drums ..." msgstr "Ðалаштувати ударні..." #: mainwindow.cpp:363 msgid "configure drums" msgstr "" #: mainwindow.cpp:364 msgid "Tools ..." msgstr "ЗнарÑддÑ..." #: mainwindow.cpp:364 msgid "Tools " msgstr "ЗнарÑддÑ" #: mainwindow.cpp:365 msgid "give first measure" msgstr "...початок першого повного такту" #: mainwindow.cpp:365 msgid "set upbeat by giving the start of first full measure" msgstr "" #: mainwindow.cpp:366 msgid "give start" msgstr "...початок твору" #: mainwindow.cpp:366 msgid "set upbeat by giving the start of the score" msgstr "" #: mainwindow.cpp:367 msgid "Score info ..." msgstr "Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ партитуру..." #: mainwindow.cpp:367 msgid "edit score info" msgstr "" #: mainwindow.cpp:368 msgid "Insert keysig ... " msgstr "ключові знаки..." #: mainwindow.cpp:368 msgid "insert a key signature" msgstr "" #: mainwindow.cpp:369 msgid "Insert lines ... " msgstr "горизонтальні позначки..." #: mainwindow.cpp:369 msgid "insert a horizontal line" msgstr "" #: mainwindow.cpp:370 msgid "Insert sign ... " msgstr "Ñпеціальний знак..." #: mainwindow.cpp:370 msgid "insert a free placeable sign" msgstr "" #: mainwindow.cpp:371 msgid "Slur" msgstr "лігу" #: mainwindow.cpp:371 msgid "insert a slur - Ctrl+H" msgstr "" #: mainwindow.cpp:372 msgid "chord ..." msgstr "акорд (Ñхема)..." #: mainwindow.cpp:372 msgid "insert a chord" msgstr "" #: mainwindow.cpp:373 msgid "chordname ..." msgstr "акорд (буквенне позначеннÑ)..." #: mainwindow.cpp:373 msgid "insert a chordname" msgstr "" #: mainwindow.cpp:374 msgid "spacer" msgstr "розділювач" #: mainwindow.cpp:374 msgid "insert a staff spacer" msgstr "" #: mainwindow.cpp:375 msgid "Append staff" msgstr "додати нотний Ñтан" #: mainwindow.cpp:375 msgid "append a new staff" msgstr "" #: mainwindow.cpp:376 msgid "Import recorded" msgstr "імпортувати запиÑане" #: mainwindow.cpp:376 msgid "import recorded staff" msgstr "" #: mainwindow.cpp:377 msgid "Lyrics editor ..." msgstr "Редактор Ñлів..." #: mainwindow.cpp:377 msgid "edit lyrics in text editor" msgstr "" #: mainwindow.cpp:378 msgid "ppp" msgstr "" #: mainwindow.cpp:378 msgid "insert ppp" msgstr "" #: mainwindow.cpp:379 msgid "pp" msgstr "" #: mainwindow.cpp:379 msgid "insert pp" msgstr "" #: mainwindow.cpp:380 msgid "p" msgstr "" #: mainwindow.cpp:380 msgid "insert p" msgstr "" #: mainwindow.cpp:381 msgid "mp" msgstr "" #: mainwindow.cpp:381 msgid "insert mp" msgstr "" #: mainwindow.cpp:382 msgid "sp" msgstr "" #: mainwindow.cpp:382 msgid "insert sp" msgstr "" #: mainwindow.cpp:383 msgid "mf" msgstr "" #: mainwindow.cpp:383 msgid "insert mf" msgstr "" #: mainwindow.cpp:384 msgid "sf" msgstr "" #: mainwindow.cpp:384 msgid "insert sf" msgstr "" #: mainwindow.cpp:385 msgid "f" msgstr "" #: mainwindow.cpp:385 msgid "insert f" msgstr "" #: mainwindow.cpp:386 msgid "ff" msgstr "" #: mainwindow.cpp:386 msgid "insert ff" msgstr "" #: mainwindow.cpp:387 msgid "fff" msgstr "" #: mainwindow.cpp:387 msgid "insert fff" msgstr "" #: mainwindow.cpp:388 msgid "tempo ..." msgstr "темп..." #: mainwindow.cpp:388 msgid "insert tempo" msgstr "" #: mainwindow.cpp:389 msgid "Text ..." msgstr "текÑÑ‚..." #: mainwindow.cpp:389 msgid "insert text" msgstr "" #: mainwindow.cpp:390 msgid "accelerando" msgstr "" #: mainwindow.cpp:390 msgid "insert accelerando" msgstr "" #: mainwindow.cpp:391 msgid "ritardando" msgstr "" #: mainwindow.cpp:391 msgid "insert ritardando" msgstr "" #: mainwindow.cpp:392 msgid "lyrics1" msgstr "куплет1" #: mainwindow.cpp:392 msgid "insert lyrics at line 1" msgstr "" #: mainwindow.cpp:393 msgid "lyrics2" msgstr "куплет2" #: mainwindow.cpp:393 msgid "insert lyrics at line 2" msgstr "" #: mainwindow.cpp:394 msgid "lyrics3" msgstr "куплет3" #: mainwindow.cpp:394 msgid "insert lyrics at line 3" msgstr "" #: mainwindow.cpp:395 msgid "lyrics4" msgstr "куплет4" #: mainwindow.cpp:395 msgid "insert lyrics at line 4" msgstr "" #: mainwindow.cpp:396 msgid "lyrics5" msgstr "куплет5" #: mainwindow.cpp:396 msgid "insert lyrics at line 5" msgstr "" #: mainwindow.cpp:397 msgid "Insert tuplet ..." msgstr "N-оль..." #: mainwindow.cpp:397 msgid "insert a tuplet (Ctrl + num)" msgstr "" #: mainwindow.cpp:398 msgid "brace" msgstr "фігурна аколада" #: mainwindow.cpp:398 msgid "group staves by means of a brace" msgstr "" #: mainwindow.cpp:399 msgid "bracket" msgstr "прÑма аколада" #: mainwindow.cpp:399 msgid "group staves by means of a bracket" msgstr "" #: mainwindow.cpp:400 msgid "connect barlines" msgstr "з'єднати тактові риÑки" #: mainwindow.cpp:400 msgid "set connected bar lines" msgstr "" #: mainwindow.cpp:401 msgid "remove group" msgstr "вилучити групу" #: mainwindow.cpp:401 msgid "remove a group of connected staves" msgstr "" #: mainwindow.cpp:402 msgid "Remove tuplet" msgstr "Вилучити N-оль" #: mainwindow.cpp:402 msgid "remove a tuplet" msgstr "" #: mainwindow.cpp:403 msgid "Muting ..." msgstr "Глушити..." #: mainwindow.cpp:403 msgid "mute some staves" msgstr "" #: mainwindow.cpp:404 msgid "Transpose ..." msgstr "ТранÑпонувати..." #: mainwindow.cpp:404 msgid "transpose" msgstr "" #: mainwindow.cpp:405 msgid "hide rests" msgstr "приховати паузи" #: mainwindow.cpp:405 msgid "hide (selected) rests" msgstr "" #: mainwindow.cpp:406 msgid "unhide rests" msgstr "відновити приховані паузи" #: mainwindow.cpp:406 msgid "unhide (selected) rests" msgstr "" #: mainwindow.cpp:407 msgid "hide rests (all v.)" msgstr "приховати паузи (у вÑÑ–Ñ… гол.)" #: mainwindow.cpp:407 msgid "hide selected rests (all v.)" msgstr "" #: mainwindow.cpp:408 msgid "unhide rests (all v.)" msgstr "відновити приховані паузи (у вÑÑ–Ñ… гол.)" #: mainwindow.cpp:408 msgid "unhide selected rests (all v.)" msgstr "" #: mainwindow.cpp:409 msgid "set all to sharp ..." msgstr "перепиÑати дієзами..." #: mainwindow.cpp:409 msgid "set all flats to sharp" msgstr "" #: mainwindow.cpp:410 msgid "set all to flat ..." msgstr "перепиÑати бемолÑми..." #: mainwindow.cpp:410 msgid "set all sharps to flat" msgstr "" #: mainwindow.cpp:411 msgid "About NtEd" msgstr "Про NtEd" #: mainwindow.cpp:413 msgid "Documentation ..." msgstr "Довідка..." #: mainwindow.cpp:415 msgid "License" msgstr "ЛіцензіÑ" #: mainwindow.cpp:416 msgid "E_xit" msgstr "Ви_хід" #: mainwindow.cpp:416 msgid "Exit the program" msgstr "" #: mainwindow.cpp:420 msgid "play" msgstr "ПроÑлухати" #: mainwindow.cpp:421 msgid "voices in different colors" msgstr "голоÑи – різними кольорами" #: mainwindow.cpp:422 msgid "show measure numbers" msgstr "показувати номери тактів" #: mainwindow.cpp:423 msgid "show hidden elements" msgstr "показувати приховані елементи" #: mainwindow.cpp:424 msgid "midi input" msgstr "вхід midi" #: mainwindow.cpp:425 msgid "record midi" msgstr "Ð·Ð°Ð¿Ð¸Ñ midi" #: mainwindow.cpp:425 msgid "record midi - i" msgstr "Ð·Ð°Ð¿Ð¸Ñ midi - i" #: mainwindow.cpp:429 msgid "in" msgstr "Збільшити" #: mainwindow.cpp:429 msgid "Zoom in Ctrl + +" msgstr "" #: mainwindow.cpp:430 msgid "out" msgstr "Зменшити" #: mainwindow.cpp:430 msgid "Zoom out Ctrl + -" msgstr "" #: mainwindow.cpp:431 msgid "undo" msgstr "СкаÑувати оÑтанню дію" #: mainwindow.cpp:431 msgid "Undo Ctrl + z" msgstr "" #: mainwindow.cpp:432 msgid "redo" msgstr "Відновити оÑтанню дію" #: mainwindow.cpp:432 msgid "Redo Ctrl + y" msgstr "" #: mainwindow.cpp:433 msgid "customize beam" msgstr "налаштувати ребро" #: mainwindow.cpp:433 msgid "customize beam - Ctrl + j" msgstr "налаштувати ребро - Ctrl + j" #: mainwindow.cpp:434 msgid "flip stem" msgstr "перевернути штиль" #: mainwindow.cpp:434 msgid "flip stem - Ctrl + f" msgstr "перевернути штиль - Ctrl + f" #: mainwindow.cpp:438 msgid "insert" msgstr "вÑтавити" #: mainwindow.cpp:438 msgid "Toggle Insert/Erase Mode - n" msgstr "Увімкнути режим додаваннÑ/Ð²Ð¸Ñ‚Ð¸Ñ€Ð°Ð½Ð½Ñ - n" #: mainwindow.cpp:442 msgid "page" msgstr "Ñторінка" #: mainwindow.cpp:442 msgid "Page Mode - p" msgstr "Режим Ñторінки - p" #: mainwindow.cpp:443 dialogs/staffcontextdialog.cpp:177 #: dialogs/keysigdialog.cpp:42 dialogs/midirecordconfigdialog.cpp:160 msgid "key" msgstr "клавіші" #: mainwindow.cpp:443 msgid "Keyboard insert mode - k" msgstr "Режим вводу через клавіатуру - k" #: mainwindow.cpp:1625 msgid "Cannot replay because could not open ALSA sequencer" msgstr "Ðеможливо програти: не вдалоÑÑŒ відкрити ÑеквенÑер ALSA" #: mainwindow.cpp:2776 mainwindow.cpp:5110 mainwindow.cpp:5156 #: mainwindow.cpp:6090 mainwindow.cpp:6180 mainwindow.cpp:6937 #: mainwindow.cpp:9584 msgid "Save Changes ?" msgstr "Зберегти зміни?" #: mainwindow.cpp:2894 mainwindow.cpp:2995 mainwindow.cpp:3576 #: mainwindow.cpp:3696 mainwindow.cpp:9035 mainwindow.cpp:9147 #: mainwindow.cpp:9271 mainwindow.cpp:9360 dialogs/lyricseditor.cpp:350 #: dialogs/drumconfigdialog.cpp:493 #, c-format msgid "Cannot open %s for writing" msgstr "Ðеможливо відкрити %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу" #: mainwindow.cpp:2905 mainwindow.cpp:3009 #, c-format msgid "Cannot rename %s to %s" msgstr "Ðеможливо перейменувати %s на %s" #: mainwindow.cpp:2940 msgid "Save score" msgstr "Зберегти партитуру" #: mainwindow.cpp:2982 mainwindow.cpp:3564 mainwindow.cpp:3684 #: mainwindow.cpp:8995 mainwindow.cpp:9135 mainwindow.cpp:9259 #: mainwindow.cpp:9348 dialogs/lyricseditor.cpp:336 #: dialogs/drumconfigdialog.cpp:479 #, c-format msgid "File %s already exists. Overwrite ?" msgstr "Файл %s вже Ñ–Ñнує. ПерепиÑати?" #: mainwindow.cpp:3272 mainwindow.cpp:3416 msgid "Please select a note or rest!" msgstr "Будь лаÑка, виберіть ноту або паузу." #: mainwindow.cpp:3277 msgid "You select a note in an tuplet" msgstr "Ви вибрали ноту у N-олі" #: mainwindow.cpp:3281 msgid "You cannot copy incomplete tuplets!" msgstr "Ви не можете копіювати неповні N-олі" #: mainwindow.cpp:3296 msgid "Paste not possible: A tuplet would cross a measure" msgstr "Ðеможливо вÑтавити: N-оль перетне такт" #: mainwindow.cpp:3443 msgid "Empty not possible because of incomplete tuplets" msgstr "Ðеможливо витерти через неповні N-олі" #: mainwindow.cpp:4112 #, c-format msgid "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "Translation: " msgstr "" "NtEd %s – Joerg Anders\n" "Send bug reports to %s\n" "\n" "Додаткова Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð½Ð° http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/" "nted.xhtml\n" "\n" "Ðвтор:\n" " J.Anders \n" "\n" "Переклад: Юрій Булка " #: mainwindow.cpp:4123 msgid "" "Excuse! The documentation is not available\n" "due to an installation error" msgstr "Вибачте! Довідка недоÑтупна через внутрішню помилку" #: mainwindow.cpp:4133 msgid "Excuse! Cannot exec" msgstr "Вибачте! Ðеможливо виконати" #: mainwindow.cpp:4138 msgid "Excuse! Cannot fork" msgstr "Вибачте! Ðеможливо запуÑтити дочірній процеÑ" #: mainwindow.cpp:4880 mainwindow.cpp:4902 mainwindow.cpp:7850 msgid "please select a note or rest first" msgstr "будь лаÑка, Ñпочатку виберіть ноту або паузу" #: mainwindow.cpp:4884 mainwindow.cpp:7854 msgid "you cannot select an element with dot" msgstr "ви не можете вибрати елемент з крапкою" #: mainwindow.cpp:4894 mainwindow.cpp:7869 msgid "I'm not able to create a tuplet here" msgstr "Ðеможливо Ñтворити N-оль в цьому міÑці" #: mainwindow.cpp:4906 msgid "selected element is not inside a tuplet" msgstr "вибраний елемент не належить до N-олі" #: mainwindow.cpp:5171 msgid "Open score" msgstr "Відкрити партитуру" #: mainwindow.cpp:5211 mainwindow.cpp:6306 mainwindow.cpp:6966 #: dialogs/lyricseditor.cpp:433 dialogs/drumconfigdialog.cpp:567 #, c-format msgid "Cannot open %s for reading" msgstr "Ðеможливо відкрити %s Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ" #: mainwindow.cpp:6105 msgid "Import MusicXML" msgstr "Імпортувати MusicXML" #: mainwindow.cpp:7030 mainwindow.cpp:7056 msgid "Cannot list midi ports because could not open ALSA sequencer" msgstr "" "Ðеможливо показати ÑпиÑок портів MIDI: не вдалоÑÑŒ відкрити ÑеквенÑер ALSA" #: mainwindow.cpp:7127 msgid "Font selection - Measure numbers" msgstr "Вибір шрифта – номери тактів" #: mainwindow.cpp:7749 msgid "Adjust notes ?" msgstr "Поправити ноти?" #: mainwindow.cpp:8951 msgid "Create PNG" msgstr "Створити PNG" #: mainwindow.cpp:9091 msgid "Create SVG" msgstr "Створити SVG" #: mainwindow.cpp:9217 msgid "Create Postscript" msgstr "Створити Postscript" #: mainwindow.cpp:9306 msgid "Create PDF" msgstr "Створити PDF" #: mainwindow.cpp:9470 dialogs/lilypondexportdialog.cpp:70 msgid "select staves" msgstr "вибрати нотні Ñтани" #: mainwindow.cpp:9627 #, c-format msgid "Usage: %s [.ntd]\n" msgstr "ВикориÑтаннÑ: %s [<файл>.ntd]\n" #: mainwindow.cpp:9655 msgid "" "unable to set decimal point to '.'. PostScript output will be erroneous. \t\t" "\tPlease set the $LANG environment variable appropriately!" msgstr "" "неможливо призначити деÑÑткову крапку на '.'. Вихід PostScript буде " "помилковий. \t\t\tБудь лаÑка, вкажіть змінну Ñередовища $LANG правильно." #: resource.cpp:380 msgid "Piano 1" msgstr "" #: resource.cpp:380 msgid "Piano 2" msgstr "" #: resource.cpp:380 msgid "Piano 3" msgstr "" #: resource.cpp:380 msgid "Honky-tonk" msgstr "" #: resource.cpp:381 msgid "E.Piano 1" msgstr "" #: resource.cpp:381 msgid "E.Piano 2" msgstr "" #: resource.cpp:381 msgid "Harpsichord" msgstr "" #: resource.cpp:381 msgid "Clavinet" msgstr "" #: resource.cpp:382 msgid "Celesta" msgstr "" #: resource.cpp:382 msgid "Glockenspiel" msgstr "" #: resource.cpp:382 msgid "Music Box" msgstr "" #: resource.cpp:382 msgid "Vibraphone" msgstr "" #: resource.cpp:383 msgid "Marimba" msgstr "" #: resource.cpp:383 msgid "Xylophone" msgstr "" #: resource.cpp:383 msgid "Tubular Bells" msgstr "" #: resource.cpp:383 msgid "Dulcimer" msgstr "" #: resource.cpp:384 msgid "Organ 1" msgstr "" #: resource.cpp:384 msgid "Organ 2" msgstr "" #: resource.cpp:384 msgid "Organ 3" msgstr "" #: resource.cpp:384 msgid "Church Organ" msgstr "" #: resource.cpp:385 msgid "Reed Organ" msgstr "" #: resource.cpp:385 msgid "Accordion" msgstr "" #: resource.cpp:385 msgid "Harmonica" msgstr "" #: resource.cpp:385 msgid "Bandoneon" msgstr "" #: resource.cpp:386 msgid "Nylon Guitar" msgstr "" #: resource.cpp:386 msgid "Steel Guitar" msgstr "" #: resource.cpp:386 msgid "Jazz Guitar" msgstr "" #: resource.cpp:386 msgid "Clean Guitar" msgstr "" #: resource.cpp:387 msgid "Guitar Mutes" msgstr "" #: resource.cpp:387 msgid "Overdrive Guitar" msgstr "" #: resource.cpp:387 msgid "Guitar Harmonics" msgstr "" #: resource.cpp:388 msgid "Acoustic Bass" msgstr "" #: resource.cpp:388 msgid "Fingered Bass" msgstr "" #: resource.cpp:388 msgid "Picked Bass" msgstr "" #: resource.cpp:388 msgid "Fretless Bass" msgstr "" #: resource.cpp:389 msgid "Slap Bass 1" msgstr "" #: resource.cpp:389 msgid "Slap Bass 2" msgstr "" #: resource.cpp:389 msgid "Synth Bass 1" msgstr "" #: resource.cpp:389 msgid "Synth Bass 2" msgstr "" #: resource.cpp:390 msgid "Violin" msgstr "" #: resource.cpp:390 msgid "Viola" msgstr "" #: resource.cpp:390 msgid "Cello" msgstr "" #: resource.cpp:390 msgid "Contrabass" msgstr "" #: resource.cpp:391 msgid "Tremolo Strings" msgstr "" #: resource.cpp:391 msgid "Pizzicato" msgstr "" #: resource.cpp:391 msgid "Harp" msgstr "" #: resource.cpp:391 msgid "Timpani" msgstr "" #: resource.cpp:392 msgid "Strings" msgstr "" #: resource.cpp:392 msgid "Slow Strings" msgstr "" #: resource.cpp:392 msgid "Synth Strings 1" msgstr "" #: resource.cpp:392 msgid "Synth Strings 2" msgstr "" #: resource.cpp:393 msgid "Choir Aahs" msgstr "" #: resource.cpp:393 msgid "Voice Oohs" msgstr "" #: resource.cpp:393 msgid "Synth Vox" msgstr "" #: resource.cpp:393 msgid "Orchestra Hit" msgstr "" #: resource.cpp:394 msgid "Trumpet" msgstr "" #: resource.cpp:394 msgid "Trombone" msgstr "" #: resource.cpp:394 msgid "Tuba" msgstr "" #: resource.cpp:394 msgid "Mute Trumpet" msgstr "" #: resource.cpp:395 msgid "French Horns" msgstr "" #: resource.cpp:395 msgid "Brass" msgstr "" #: resource.cpp:395 msgid "Synth Brass 1" msgstr "" #: resource.cpp:395 msgid "Synth Brass 2" msgstr "" #: resource.cpp:396 msgid "Soprano Sax" msgstr "" #: resource.cpp:396 msgid "Alto Sax" msgstr "" #: resource.cpp:396 msgid "Tenor Sax" msgstr "" #: resource.cpp:396 msgid "Baritone Sax" msgstr "" #: resource.cpp:397 msgid "Oboe" msgstr "" #: resource.cpp:397 msgid "English Horn" msgstr "" #: resource.cpp:397 msgid "Bassoon" msgstr "" #: resource.cpp:397 msgid "Clarinet" msgstr "" #: resource.cpp:398 msgid "Piccolo" msgstr "" #: resource.cpp:398 msgid "Flute" msgstr "" #: resource.cpp:398 msgid "Recorder" msgstr "" #: resource.cpp:398 msgid "Pan Flute" msgstr "" #: resource.cpp:399 msgid "Bottle Chiff" msgstr "" #: resource.cpp:399 msgid "Shakuhachi" msgstr "" #: resource.cpp:399 msgid "Whistle" msgstr "" #: resource.cpp:399 msgid "Ocarina" msgstr "" #: resource.cpp:400 msgid "Square Wave" msgstr "" #: resource.cpp:400 msgid "Saw Wave" msgstr "" #: resource.cpp:400 msgid "Synth Calliope" msgstr "" #: resource.cpp:400 msgid "Chiffer Lead" msgstr "" #: resource.cpp:401 msgid "Charang" msgstr "" #: resource.cpp:401 msgid "Solo Vox" msgstr "" #: resource.cpp:401 msgid "5th Saw Wave" msgstr "" #: resource.cpp:401 msgid "Bass & Lead" msgstr "" #: resource.cpp:402 msgid "Fantasia" msgstr "" #: resource.cpp:402 msgid "Warm Pad" msgstr "" #: resource.cpp:402 msgid "Poly Synth" msgstr "" #: resource.cpp:402 msgid "Space Voice" msgstr "" #: resource.cpp:403 msgid "Bowed Glass" msgstr "" #: resource.cpp:403 msgid "Metal Pad" msgstr "" #: resource.cpp:403 msgid "Halo Pad" msgstr "" #: resource.cpp:403 msgid "Sweep Pad" msgstr "" #: resource.cpp:404 msgid "Ice Rain" msgstr "" #: resource.cpp:404 msgid "Soundtrack" msgstr "" #: resource.cpp:404 msgid "Crystal" msgstr "" #: resource.cpp:404 msgid "Atmosphere" msgstr "" #: resource.cpp:405 msgid "Brightness" msgstr "" #: resource.cpp:405 msgid "Goblin" msgstr "" #: resource.cpp:405 msgid "Echo Drops" msgstr "" #: resource.cpp:405 msgid "Star Theme" msgstr "" #: resource.cpp:406 msgid "Sitar" msgstr "" #: resource.cpp:406 msgid "Banjo" msgstr "" #: resource.cpp:406 msgid "Shamisen" msgstr "" #: resource.cpp:406 msgid "Koto" msgstr "" #: resource.cpp:407 msgid "Kalimba" msgstr "" #: resource.cpp:407 msgid "Bagpipe" msgstr "" #: resource.cpp:407 msgid "Fiddle" msgstr "" #: resource.cpp:407 msgid "Shenai" msgstr "" #: resource.cpp:408 msgid "Tinker Bell" msgstr "" #: resource.cpp:408 msgid "Agogo" msgstr "" #: resource.cpp:408 msgid "Steel Drum" msgstr "" #: resource.cpp:408 msgid "Wood Block" msgstr "" #: resource.cpp:409 msgid "Taiko Drum" msgstr "" #: resource.cpp:409 msgid "Melodic Tom" msgstr "" #: resource.cpp:409 msgid "Synth Drum" msgstr "" #: resource.cpp:409 msgid "Reverse Cymbal" msgstr "" #: resource.cpp:410 msgid "Fret Noise" msgstr "" #: resource.cpp:410 msgid "Breath Noise" msgstr "" #: resource.cpp:410 msgid "Seashore" msgstr "" #: resource.cpp:410 msgid "Bird" msgstr "" #: resource.cpp:411 msgid "Telephone" msgstr "" #: resource.cpp:411 msgid "Helicopter" msgstr "" #: resource.cpp:411 msgid "Applause" msgstr "" #: resource.cpp:411 msgid "Gun Shot" msgstr "" #: resource.cpp:827 msgid "" "Cannot open ALSA MIDI sequencer --> replay won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Ðеможливо відкрити MIDI-ÑеквенÑер ALSA – Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð½Ðµ Ñпрацює :-((\n" "Спробуйте запуÑтити (від root'а):modprobe snd-seq-midi\n" "Ñ– перезавантажити NtEd\n" "Можливо це допоможе(?)" #: resource.cpp:835 msgid "Error creating ALSA sequencer output port --> replay won't work :-((" msgstr "" "Помилка при Ñпробі Ñтворити порт виходу Ð´Ð»Ñ ÑеквенÑера ALSA – Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð½Ðµ " "Ñпрацює :-((" #: resource.cpp:845 msgid "" "Cannot open ALSA MIDI sequencer --> read/record won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Ðеможливо відкрити MIDI-ÑеквенÑер ALSA – Ð·Ð°Ð¿Ð¸Ñ Ð½Ðµ Ñпрацює :-((\n" "Спробуйте запуÑтити (від root'а):modprobe snd-seq-midi\n" "Ñ– перезавантажити NtEd\n" "Можливо це допоможе(?)" #: resource.cpp:853 msgid "Error creating ALSA sequencer input port --> record won't work :-((" msgstr "" "Помилка при Ñтворенні вхідного порта ÑеквенÑера ALSA – Ð·Ð°Ð¿Ð¸Ñ Ð½Ðµ Ñпрацює :-((" #: dialogs/paperconfigdialog.cpp:37 dialogs/paperconfigdialog.cpp:41 msgid "Paper" msgstr "Ðркуш" #: dialogs/paperconfigdialog.cpp:46 msgid "paper type" msgstr "тип аркуша" #: dialogs/paperconfigdialog.cpp:81 msgid "orientation" msgstr "орієнтаціÑ" #: dialogs/paperconfigdialog.cpp:82 msgid "portrait" msgstr "портретна" #: dialogs/paperconfigdialog.cpp:83 msgid "landscape" msgstr "пейзажна" #: dialogs/portchoosedialog.cpp:46 msgid "MIDI ports" msgstr "Порти MIDI" #: dialogs/portchoosedialog.cpp:60 dialogs/staffcontextdialog.cpp:321 #: dialogs/staffcontextdialog.cpp:437 dialogs/textdialog.cpp:200 #: dialogs/midirecordconfigdialog.cpp:133 dialogs/staffselectdialog.cpp:69 #: dialogs/drumconfigdialog.cpp:110 msgid "no" msgstr "â„–" #: dialogs/portchoosedialog.cpp:62 msgid "port" msgstr "порт" #: dialogs/portchoosedialog.cpp:78 msgid "midi echo" msgstr "midi-відгук" #: dialogs/printconfigdialog.cpp:31 msgid "Print command" msgstr "Команда друку" #: dialogs/printconfigdialog.cpp:35 msgid "print command" msgstr "команда друку" #: dialogs/staffcontextdialog.cpp:31 msgid "G flat Major; e flat minor" msgstr "Соль-бемоль мажор; мі-бемоль мінор" #: dialogs/staffcontextdialog.cpp:31 msgid "D flat Major; b flat minor" msgstr "Ре-бемоль мажор; ÑÑ–-бемоль мінор" #: dialogs/staffcontextdialog.cpp:32 msgid "A flat Major; f minor" msgstr "ЛÑ-бемоль мажор; фа мінор" #: dialogs/staffcontextdialog.cpp:32 msgid "E flat Major; c minor" msgstr "Мі-бемоль мажор; до мінор" #: dialogs/staffcontextdialog.cpp:33 msgid "B flat Major; g minor" msgstr "Сі-бемоль мажор; Ñоль мінор" #: dialogs/staffcontextdialog.cpp:33 msgid "F Major; d minor" msgstr "Фа мажор; ре мінор" #: dialogs/staffcontextdialog.cpp:34 msgid "C Major; a minor" msgstr "До мажор; Ð»Ñ Ð¼Ñ–Ð½Ð¾Ñ€" #: dialogs/staffcontextdialog.cpp:34 msgid "G Major; e minor" msgstr "Соль мажор; мі мінор" #: dialogs/staffcontextdialog.cpp:35 msgid "D Major; b minor" msgstr "Ре мажор; ÑÑ– мінор" #: dialogs/staffcontextdialog.cpp:35 msgid "A Major; f sharp minor" msgstr "Ð›Ñ Ð¼Ð°Ð¶Ð¾Ñ€; фа-дієз мінор" #: dialogs/staffcontextdialog.cpp:36 msgid "E Major; c sharp minor" msgstr "Мі мажор; до-дієз мінор" #: dialogs/staffcontextdialog.cpp:36 msgid "B Major; g sharp minor" msgstr "Сі мажор; Ñоль-дієз мінор" #: dialogs/staffcontextdialog.cpp:37 msgid "F sharp Major; d sharp minor" msgstr "Фа-дієз мажор; ре-дієз мінор" #: dialogs/staffcontextdialog.cpp:120 msgid "Staff context" msgstr "Ðотний Ñтан" #: dialogs/staffcontextdialog.cpp:132 dialogs/clefconfigdialog.cpp:49 msgid "clef" msgstr "ключ" #: dialogs/staffcontextdialog.cpp:157 dialogs/clefconfigdialog.cpp:74 msgid "Octave shift:" msgstr "ЗÑув октави:" #: dialogs/staffcontextdialog.cpp:163 dialogs/keysigdialog.cpp:66 #: dialogs/clefconfigdialog.cpp:81 msgid "adjust notes" msgstr "перетранÑпонувати ноти" #: dialogs/staffcontextdialog.cpp:200 dialogs/measureconfigdialog.cpp:110 #: dialogs/midirecordconfigdialog.cpp:70 msgid "time signature" msgstr "тактовий розмір" #: dialogs/staffcontextdialog.cpp:204 dialogs/measureconfigdialog.cpp:114 #: dialogs/midirecordconfigdialog.cpp:74 msgid "Numerator:" msgstr "ЧиÑельник:" #: dialogs/staffcontextdialog.cpp:205 dialogs/measureconfigdialog.cpp:115 #: dialogs/midirecordconfigdialog.cpp:75 msgid "Denominator:" msgstr "Знаменник:" #: dialogs/staffcontextdialog.cpp:248 msgid "staff name" msgstr "назва" #: dialogs/staffcontextdialog.cpp:255 msgid "staff short name" msgstr "коротка назва" #: dialogs/staffcontextdialog.cpp:262 msgid "group name" msgstr "назва групи" #: dialogs/staffcontextdialog.cpp:269 msgid "group short name" msgstr "коротка назва групи" #: dialogs/staffcontextdialog.cpp:278 dialogs/tempodialog.cpp:154 #: dialogs/textdialog.cpp:138 dialogs/midirecordconfigdialog.cpp:147 msgid "tempo" msgstr "темп" #: dialogs/staffcontextdialog.cpp:283 msgid "chorus" msgstr "хоруÑ" #: dialogs/staffcontextdialog.cpp:289 msgid "transp." msgstr "транÑп." #: dialogs/staffcontextdialog.cpp:295 msgid "reverb" msgstr "реверб." #: dialogs/staffcontextdialog.cpp:301 dialogs/textdialog.cpp:123 #: dialogs/midirecordconfigdialog.cpp:153 msgid "volume" msgstr "гучніÑть" #: dialogs/staffcontextdialog.cpp:307 msgid "pan" msgstr "баланÑ" #: dialogs/staffcontextdialog.cpp:323 dialogs/textdialog.cpp:202 #: dialogs/midirecordconfigdialog.cpp:135 msgid "instruments" msgstr "інÑтрументи" #: dialogs/staffcontextdialog.cpp:332 dialogs/textdialog.cpp:150 msgid "channel" msgstr "канал" #: dialogs/staffcontextdialog.cpp:337 dialogs/mutedialog.cpp:69 msgid "muting" msgstr "глушити" #: dialogs/staffcontextdialog.cpp:338 dialogs/staffcontextdialog.cpp:370 #: dialogs/mutedialog.cpp:72 dialogs/selectordialog.cpp:98 msgid "all" msgstr "вÑÑ–" #: dialogs/staffcontextdialog.cpp:369 #, fuzzy msgid "voices" msgstr "ЛіцензіÑ" #: dialogs/staffcontextdialog.cpp:429 dialogs/staffselectdialog.cpp:58 msgid "staff" msgstr "нотний Ñтан" #: dialogs/staffcontextdialog.cpp:435 dialogs/staffselectdialog.cpp:67 msgid "item" msgstr "предмет" #: dialogs/staffcontextdialog.cpp:485 msgid "Score" msgstr "Партитура" #: dialogs/staffcontextdialog.cpp:486 msgid "MIDI" msgstr "" #: dialogs/staffcontextdialog.cpp:495 msgid "Staff position" msgstr "ПозиціÑ" #: dialogs/tupletdialog.cpp:34 msgid "Tuplet" msgstr "N-оль" #: dialogs/tupletdialog.cpp:40 msgid "" "Instead of using this dialog\n" "you can simply press + num" msgstr "" "ЗаміÑть цього вікна можна викоритовувати\n" "комбінацію + номер під Ñ‡Ð°Ñ Ð½Ð°Ð±Ð¾Ñ€Ñƒ" #: dialogs/tupletdialog.cpp:42 msgid "Tuplet value:" msgstr "ЗначеннÑ:" #: dialogs/tupletdialog.cpp:47 msgid "method 2" msgstr "метод 2" #: dialogs/insertblockdialog.cpp:32 msgid "Insert blocks" msgstr "Ð’Ñтавити пуÑті такти" #: dialogs/insertblockdialog.cpp:39 msgid "block count:" msgstr "кількіÑть тактів:" #: dialogs/measureconfigdialog.cpp:53 msgid "Measure type" msgstr "Тип такту" #: dialogs/measureconfigdialog.cpp:62 msgid "measure type" msgstr "тип такту" #: dialogs/measureconfigdialog.cpp:89 msgid "alternative 1" msgstr "I вольта" #: dialogs/measureconfigdialog.cpp:90 msgid "alternative 2" msgstr "II вольта" #: dialogs/measureconfigdialog.cpp:99 msgid "hide following" msgstr "Ñховати продовженнÑ" #: dialogs/measureconfigdialog.cpp:158 msgid "enable timesig" msgstr "показувати розмір такту" #: dialogs/measureconfigdialog.cpp:160 msgid "delete timesig" msgstr "вилучити розмір такту" #: dialogs/keysigdialog.cpp:37 msgid "New keysignature" msgstr "Ðові ключові знаки" #: dialogs/keysigdialog.cpp:64 msgid "adjust" msgstr "корекціÑ" #: dialogs/scoreinfodialog.cpp:71 dialogs/scoreinfodialog.cpp:75 msgid "Score info" msgstr "ВідомоÑті про партитуру" #: dialogs/scoreinfodialog.cpp:79 msgid "Title:" msgstr "Заголовок:" #: dialogs/scoreinfodialog.cpp:87 msgid "Subject:" msgstr "Підзаголовок:" #: dialogs/scoreinfodialog.cpp:95 msgid "Composer:" msgstr "Ðвтор:" #: dialogs/scoreinfodialog.cpp:103 msgid "Arranger:" msgstr "Ðранжувальник:" #: dialogs/scoreinfodialog.cpp:111 msgid "Copyright:" msgstr "Копірайт:" #: dialogs/clefconfigdialog.cpp:44 msgid "Clef configuration" msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÐºÐ»ÑŽÑ‡Ð°" #: dialogs/volumedialog.cpp:32 msgid "Set Volume" msgstr "Вказати гучніÑть" #: dialogs/volumedialog.cpp:44 msgid "volume:" msgstr "гучніÑть:" #: dialogs/tempodialog.cpp:56 msgid "Set Tempo" msgstr "вказати темп" #: dialogs/tempodialog.cpp:128 msgid "kind" msgstr "триваліÑть" #: dialogs/tempodialog.cpp:150 msgid "tempo:" msgstr "темп:" #: dialogs/lyricseditor.cpp:67 msgid "Lyrics" msgstr "Строфи" #: dialogs/lyricseditor.cpp:85 msgid "lyrics 1" msgstr "куплет 1" #: dialogs/lyricseditor.cpp:86 msgid "lyrics 2" msgstr "куплет 2" #: dialogs/lyricseditor.cpp:87 msgid "lyrics 3" msgstr "куплет 3" #: dialogs/lyricseditor.cpp:88 msgid "lyrics 4" msgstr "куплет 4" #: dialogs/lyricseditor.cpp:89 msgid "lyrics 5" msgstr "куплет 5" #: dialogs/lyricseditor.cpp:135 dialogs/drumconfigdialog.cpp:230 msgid "load from file" msgstr "завантажити з файлу" #: dialogs/lyricseditor.cpp:136 dialogs/drumconfigdialog.cpp:231 msgid "save to file" msgstr "зберегти у файл" #: dialogs/lyricseditor.cpp:143 dialogs/drumconfigdialog.cpp:247 msgid "file" msgstr "файл" #: dialogs/lyricseditor.cpp:292 msgid "Save lyrics" msgstr "Зберегти текÑÑ‚" #: dialogs/lyricseditor.cpp:392 msgid "Open lyrics file" msgstr "Відкрити текÑÑ‚" #: dialogs/mutedialog.cpp:34 msgid "Muting" msgstr "Глушити" #: dialogs/mutedialog.cpp:55 dialogs/selectordialog.cpp:61 #, c-format msgid "Staff %d" msgstr "Ðотний Ñтан %d" #: dialogs/mutedialog.cpp:74 dialogs/selectordialog.cpp:100 msgid "none" msgstr "жодний" #: dialogs/linesdialog.cpp:40 msgid "Lines" msgstr "Горизонтальні позначеннÑ" #: dialogs/linesdialog.cpp:46 msgid "lines" msgstr "позначеннÑ" #: dialogs/selectordialog.cpp:35 msgid "Transpose" msgstr "ТранÑпонувати" #: dialogs/selectordialog.cpp:39 msgid "Select" msgstr "Вибір" #: dialogs/selectordialog.cpp:73 msgid "half-tones" msgstr "півтони" #: dialogs/selectordialog.cpp:76 dialogs/selectordialog.cpp:95 #: chords/chorddialog.cpp:159 msgid "selection" msgstr "вибір" #: dialogs/selectordialog.cpp:87 msgid "use selection" msgstr "викориÑтовувати вибране" #: dialogs/textdialog.cpp:69 msgid "Text" msgstr "ТекÑÑ‚" #: dialogs/textdialog.cpp:89 chords/chorddialog.cpp:111 msgid "text" msgstr "текÑÑ‚" #: dialogs/textdialog.cpp:98 msgid "select font" msgstr "вибрати шрифт" #: dialogs/textdialog.cpp:105 msgid "anchor" msgstr "притÑгуваннÑ" #: dialogs/textdialog.cpp:108 msgid "left" msgstr "зліва" #: dialogs/textdialog.cpp:109 msgid "mid" msgstr "поÑередині" #: dialogs/textdialog.cpp:110 msgid "right" msgstr "Ñправа" #: dialogs/textdialog.cpp:130 msgid "enable volume change" msgstr "увімкнути зміну гучноÑті" #: dialogs/textdialog.cpp:143 msgid "enable tempo change" msgstr "увімкнути зміну темпу" #: dialogs/textdialog.cpp:155 msgid "enable channel change" msgstr "увімкнути зміну каналу" #: dialogs/textdialog.cpp:162 msgid "D.S" msgstr "" #: dialogs/textdialog.cpp:165 msgid "No segno meaning" msgstr "Без Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ segno" #: dialogs/textdialog.cpp:166 msgid "D.S. al Fine" msgstr "" #: dialogs/textdialog.cpp:167 msgid "D.S. al Coda" msgstr "" #: dialogs/textdialog.cpp:168 msgid "D. Capo al Fine" msgstr "" #: dialogs/textdialog.cpp:169 msgid "D. Capo al Coda" msgstr "" #: dialogs/textdialog.cpp:170 msgid "Fine" msgstr "" #: dialogs/textdialog.cpp:171 msgid "al Coda" msgstr "" #: dialogs/textdialog.cpp:219 msgid "instrument" msgstr "інÑтрумент" #: dialogs/textdialog.cpp:220 msgid "enable instrument change" msgstr "увімкнути зміну інÑтрументу" #: dialogs/signsdialog.cpp:44 msgid "Signs" msgstr "Знаки" #: dialogs/signsdialog.cpp:50 msgid "signs" msgstr "знаки" #: dialogs/midiimportdialog.cpp:43 msgid "MIDI import" msgstr "імпортувати MIDI" #: dialogs/midiimportdialog.cpp:70 dialogs/midirecordconfigdialog.cpp:103 msgid "triplet recognition" msgstr "Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð½Ð½Ñ Ñ‚Ñ€Ñ–Ð¾Ð»ÐµÐ¹" #: dialogs/midiimportdialog.cpp:72 msgid "sort instruments" msgstr "Ñортувати інÑтрументи" #: dialogs/midiimportdialog.cpp:73 dialogs/midirecordconfigdialog.cpp:105 msgid "force piano" msgstr "розуміти Ñк фортепіано" #: dialogs/midiimportdialog.cpp:74 dialogs/midirecordconfigdialog.cpp:107 msgid "don't split tracks" msgstr "не ділити доріжки" #: dialogs/midiimportdialog.cpp:83 msgid "tempo density" msgstr "поріг темпів" #: dialogs/midiimportdialog.cpp:89 msgid "volume density" msgstr "поріг динамічних градацій" #: dialogs/midirecordconfigdialog.cpp:65 msgid "Config Record" msgstr "Ðалаштувати запиÑ" #: dialogs/lilypondexportdialog.cpp:63 msgid "export params" msgstr "параметри екÑпорту" #: dialogs/lilypondexportdialog.cpp:66 msgid "create line breaks" msgstr "Ñтворювати розриви лінійок" #: dialogs/lilypondexportdialog.cpp:74 msgid "keep beams" msgstr "зберігати конфігурацію ребер" #: dialogs/lilypondexportdialog.cpp:172 msgid "Staff selection" msgstr "Вибір нотних Ñтанів" #: dialogs/lilypondexportdialog.cpp:181 msgid "keep beams selection" msgstr "Ðа котрих Ñтанах зберігати ребра" #: dialogs/staffselectdialog.cpp:76 msgid "All" msgstr "Ð’ÑÑ–" #: dialogs/staffselectdialog.cpp:79 msgid "None" msgstr "Жоден" #: dialogs/spacementdialog.cpp:34 msgid "Horizontal Spacement" msgstr "Горизонтальний крок" #: dialogs/spacementdialog.cpp:40 msgid "Spacement" msgstr "Крок" #: dialogs/scaledialog.cpp:35 dialogs/scaledialog.cpp:40 msgid "Scale" msgstr "Розмір" #: dialogs/drumconfigdialog.cpp:90 msgid "Config Drums" msgstr "Ðалаштувати ударні" #: dialogs/drumconfigdialog.cpp:112 msgid "drum element name" msgstr "назва елемента" #: dialogs/drumconfigdialog.cpp:114 msgid "short name" msgstr "коротка назва" #: dialogs/drumconfigdialog.cpp:116 msgid "line" msgstr "лінійка" #: dialogs/drumconfigdialog.cpp:119 msgid "symbol" msgstr "Ñимвол" #: dialogs/drumconfigdialog.cpp:121 msgid "midi pitch" msgstr "звук midi" #: dialogs/drumconfigdialog.cpp:192 msgid "change element" msgstr "змінити елемент" #: dialogs/drumconfigdialog.cpp:197 msgid "note head" msgstr "нотна голівка" #: dialogs/drumconfigdialog.cpp:223 msgid "preview" msgstr "попередній переглÑд" #: dialogs/drumconfigdialog.cpp:232 msgid "load defaults" msgstr "завантажити типові" #: dialogs/drumconfigdialog.cpp:233 msgid "play element" msgstr "проÑлухати елемент" #: dialogs/drumconfigdialog.cpp:446 msgid "Save drum configuration" msgstr "Зберегти Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑƒÐ´Ð°Ñ€Ð½Ð¸Ñ…" #: dialogs/drumconfigdialog.cpp:537 msgid "Open drum configuration" msgstr "Відкрити Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑƒÐ´Ð°Ñ€Ð½Ð¸Ñ…" #: dialogs/chordnamedialog.cpp:50 dialogs/chordnamedialog.cpp:54 msgid "Chordname" msgstr "ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°ÐºÐ¾Ñ€Ð´Ñƒ" #: dialogs/chordnamedialog.cpp:61 msgid "chordname" msgstr "позначеннÑ" #: dialogs/chordnamedialog.cpp:80 msgid "size" msgstr "розмір" #: dialogs/chordnamedialog.cpp:84 msgid "position" msgstr "позиціÑ" #: dialogs/tools.cpp:372 dialogs/tools.cpp:392 msgid "Toolbox" msgstr "ЗнарÑддÑ" #: chords/chorddialog.cpp:95 msgid "Chords" msgstr "Ðкорди" #: chords/chorddialog.cpp:99 msgid "chord" msgstr "акорд" #: chords/chorddialog.cpp:109 msgid "config" msgstr "налаштуваннÑ" #: chords/chorddialog.cpp:112 msgid "diagram" msgstr "Ñхема" #: chords/chorddialog.cpp:133 msgid "root" msgstr "оÑнова" #: chords/chorddialog.cpp:150 msgid "mody" msgstr "акорд" #: chords/chorddialog.cpp:169 msgid "chordselect" msgstr "вибір акорду" nted-1.10.18/po/sv.gmo0000664001041000007640000003411511520270236011310 00000000000000Þ•Ìu|P Q^u ‹ –  ®´½ Æ ÐÛò   -9A F S_ e r}<ŽËæ…3‡»ÃÉ Ñ Þ éöÿ   2= BM_gx “  ­¶Í ã í÷ ý 0 ERctƒ”±º#Á åó ù  ' 2@Q ly€ ‘ž§ °º ¿ Ë Ö$á  *=>O Žš¢§¯ ´¿ Ç Ô à ê ô  *7< D N Z e q‡— ¨ ¶ÀÆ2Ìÿ  +5 S^ dr { ‰” ¥³  ÌÙ è ôÿ   ( 1 < E L R ^ j w € Œ — £ ¯ ½ Ì × â ï ÷ ! ! ! $! 2!@! O!Z!j! z! „! ! ™!£! «!·!¾!Û!ë!ô!ü! "" " $"2" N"Y"_" f"q"z" ‚""ž" °"#º"Þ"ý"# #&#.#4#<#D# J# X#f# y#†#Ž#“#£#»#Ë#ã#ò#$$($;$R$ o$|$”$¬$Ä$Ü$ ô$%% %%%#%+%3% ;%H% Q%[% ^% j%u%†%"‹%®%³% ¼% Ê%Õ% å%ò% &"&'6&^&d&j&„y&þ&'% 'QF' ˜(¥(¶(Æ(Î( ×(å( ë( ö( ) ))') 8) B)L)R) a)m)t) {) ˆ)”) š) §) ²)EÀ) *!'*‹I*9Õ*+++ &+3+ <+ F+P+Y+ `+m+ ƒ++ •+ +±+ ¹+Ç+ Û+ é+ó+ü+ , , ',1, 9, D,&O, v,„,—,¦, ¸,Æ,Ú,ã,"è, --- 2- ?- J- W-e- x-…-Œ- - ª-¶-¿-Ç-Í- Õ- à-ë- . . . -.;.GV. ž.©.±.¶.½. Â.Î.Ö. Þ. ê. ô. þ. // / / )/6/;/ C/ N/Y/ i/ w/…//•// ®/ »/Å/ Ì/3×/ 000 #010 :0D0 ]0h0q0 ƒ00  0«0 ¿0Ë0 Ú0 ä0ò0 111&1 /1<1M1 T1_1h1o1 u1 11 ¡1 «1 ¹1 Ä1 Ð1 Ü1 ê1 ö1 2 22$2 +2 52 B2 O2 ]2k2 z2‡2˜2 ©2 ³2À2 È2Õ2 Ý2é2ð23 3(303 53@3D3L3 \3}3†3Œ3 “33 ¦3 ±3»3Ì3Û3&ã3 4#444 E4 O4Z4a4i4o4 u4 ‚44 ©4¶4¼4Á4!Ô4ö4 5"525F5\5l5‚5‘5 ©5¶5Ì5â5ø56 $6/646;6D6J6P6V6\6b6j6r6{66 Š6•6«6±6Ð6 Õ6ß6 ñ6 þ6 77 *7!67X7 w77‡7u788($8^þTKMà "ÂcW-¬ž¨5¢î ´ö 4”B0Àh‰*™Ù—á†ÆF!‚ƒ„ Ÿ÷(òió›`¶ì Q¹úOûfš¦õCßÊ ¡…)®é²³YÎ,$‡ \ôЕ ¥£eÔA'ñ%êpVbèüwrë’çæ–_“Ⱥ89]Hâ·§˜Zã Ž63yz{[Ü /}ðí¾ÝÞ?uq×Áa€oÇPv1ÿ:>mؼ<ˆNR¤x°±IÏ~nädÚÄùJïå@7Öɪ̸ +lÃSÅÑÍÕ|EG©»¯&g#X‹¿sUÒjø½ýµŒtËDŠœ2Ó‘«Lk=Û.;­ 5th Saw WaveA Major; f sharp minorA flat Major; f minorAbout NtEdAccordionAcoustic BassAgogoAlto SaxApplauseArranger:AtmosphereB Major; g sharp minorB flat Major; g minorBagpipeBandoneonBanjoBaritone SaxBass & LeadBassoonBirdBottle ChiffBowed GlassBrassBreath NoiseBrightnessC Major; a minorCannot list midi ports because could not open ALSA sequencerCannot open %s for readingCannot open %s for writingCannot open ALSA MIDI sequencer --> replay won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot replay because could not open ALSA sequencerCelestaCelloCharangChiffer LeadChoir AahsChurch OrganClarinetClavinetClean GuitarComposer:Configure Paper...ContrabassCopyCopyright:Create PostscriptCrystalD Major; b minorD flat Major; b flat minorDelete blockDenominator:DulcimerE Major; c sharp minorE flat Major; c minorE.Piano 1E.Piano 2E_xitEcho DropsEmpty blockEmpty not possible because of incomplete tupletsEnglish HornExit the programExport MIDI ...Export P_S ...F Major; d minorF sharp Major; d sharp minorFantasiaFiddleFile %s already exists. Overwrite ?Fingered BassFluteFont selection - Measure numbersFrench HornsFret NoiseFretless BassG Major; e minorG flat Major; e flat minorGlockenspielGoblinGuitar HarmonicsGuitar MutesGun ShotHalo PadHarmonicaHarpHarpsichordHelicopterHonky-tonkI'm not able to create a tuplet hereIce RainInsert blockInsert blocksInsert keysig ... Insert tuplet ...Instead of using this dialog you can simply press + numJazz GuitarKalimbaKotoLicenseMIDIMIDI portsMarimbaMeasure typeMelodic TomMetal PadMusic BoxMute TrumpetNewNew FileNew keysignatureNumerator:Nylon GuitarOboeOcarinaOpen ...Open a fileOpen scoreOpen_RecentOrchestra HitOrgan 1Organ 2Organ 3Overdrive GuitarPage Mode - pPan FlutePaperPastePaste not possible: A tuplet would cross a measurePiano 1Piano 2Piano 3PiccoloPicked BassPizzicatoPlease select a note or rest!Poly SynthPrintPrint commandRecorderRedo Ctrl + yReed OrganRemove last pageRemove tupletReverse CymbalSave ...Save As ...Save Changes ?Save a fileSave scoreSaw WaveScoreScore infoScore info ...SeashoreShakuhachiShamisenShenaiSitarSlap Bass 1Slap Bass 2Slow StringsSolo VoxSoprano SaxSoundtrackSpace VoiceSquare WaveStaff contextStaff positionStar ThemeSteel DrumSteel GuitarStringsSubject:Sweep PadSynth Bass 1Synth Bass 2Synth Brass 1Synth Brass 2Synth CalliopeSynth DrumSynth Strings 1Synth Strings 2Synth VoxTaiko DrumTelephoneTenor SaxTimpaniTinker BellTitle:Toggle Insert/Erase Mode - nTremolo StringsTromboneTrumpetTubaTubular BellsTupletTuplet value:Undo Ctrl + zUsage: %s [.ntd] VibraphoneViolaViolinVoice OohsWarm PadWhistleWood BlockWrite PostScriptWrite a png imageXylophoneYou cannot copy incomplete tuplets!You select a note in an tupletZoom in Ctrl + +Zoom out Ctrl + -_Edit_Export_File_Insert_Lyrics_Viewalternative 1alternative 2append a new staffblock count:channelclefconfigure paperconfigure print commandcopy - Ctrl + Cdelete block - Ctrl + Xdelete timesigedit score infoempty block - Ctrl + Eenable timesigexport a midi fileinsert a key signatureinsert a tuplet (Ctrl + num)insert blockinsert lyrics at line 1insert lyrics at line 2insert lyrics at line 3insert lyrics at line 4insert lyrics at line 5instrumentsitemkeylandscapelyrics1lyrics2lyrics3lyrics4lyrics5measure typemethod 2midi echonoorientationpaper typepaste - Ctrl + Vplayplease select a note or rest firstportportraitprint commandprint fileremove a tupletremove groupremove the last pagereposit allreposit the whole score - Ctrl + Tselected element is not inside a tupletstafftempotime signatureunable to set decimal point to '.'. PostScript output will be erroneous. Please set the $LANG environment variable appropriately!voices in different colorsvolumeyou cannot select an element with dotProject-Id-Version: sv Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de POT-Creation-Date: 2011-01-27 14:18+0100 PO-Revision-Date: 2007-12-18 09:05+0100 Last-Translator: Erik Piehl Language-Team: Sv Language: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 5th Saw WaveA dur; Fiss mollAss dur; F mollOm NtEdDragspelAukustisk basAgogoAltsaxofonApplÃ¥derArrangör:AtmosphereB dur; Giss mollBess dur; G mollSäckpipaBandoneonBanjoBarytonsaxofonBass & LeadFagottfÃ¥gelBottle ChiffBowed GlassBrassAndningsljudBrightnessC dur; A mollKan inte lista MIDI-portar eftersom ALSA sequencer inte kunde öppnasKan inte öppna %s för läsningKan inte öppna %s för skrivningKan inte öppna ALSA MIDI sequencer --> uppspelningen kommer inte fungera :(( Försök (som root) och starta om NtEd Det kanske hjälper(?)Kan inte spela eftersom ALSA sequencer inte kunde öppnasCelestaCelloCharangoChiffer LeadKör AahKyrkorgelKlarinettClavinetGitarrKompositör:Konfigurera papper...KontrabasKopieraCopyright:Skapa PostScriptCrystalD dur; B mollDess dur; Bess mollTa bort blockNämnare:DulcimerE dur; Ciss mollEss dur; C mollE.Piano 1E.Piano 2AvslutaEcho DropsTomt blockTom inte möjlig pga inkompletta iolerEngelskt hornAvsluta programmetExportera MIDIExportera P_S ...F dur; D mollFiss dur; Diss mollFantasiaFiolFilen %s finns redan. Skriv över?FingerbasflöjtTypsnitt - TaktnummerFranska hornFret NoiseBandlös basG dur; E mollGess dur; Ess mollGlockenspielGoblinGuitar HarmonicsGuitar MutesPistolskottHalo PadMunspelHarpaCembaloHelikopterHonky-tonkJag kan inte skapa en iol härIce RainInfoga blockInfoga blockInfoga tonartInfoga iol (triol etc) ...Istället för att använda denna dialogruta kan du trycka + numJazzgitarrKalimbaKotoLisensMIDIMIDI-portarMarimbaTakttypMelodic TomMetal PadMusic BoxMute TrumpetNyNy filNy tonartTäljare:Gitarr nylonOboeOkarinaÖppna ...Öppna filÖppna partiturSenaste filerOrchestra HitOrgel 1Orgel 2Orgel 3Overdrive GuitarSidläge - pPanflöjtPapperKlistra inKan inte klistra in: Iolen skulle överstiga taktenPiano 1Piano 2Piano 3PiccolaflöjtplockbasPizzicatoVälj en not eller paus!Poly SynthSkriv utUtskriftskommandoBlockflöjtGör om Ctrl + yTramporgelTa bort sista sidanTa bort iolReverse CymbalSpara ...Spara som ...Spara ändringar?Spara filSpara partiturSaw WavePartiturPartiturinfoPartiturinfo ...StrandShakuhachiShamisenShenaiSitarSlap Bass 1Slap Bass 2LÃ¥nfsamma strÃ¥karSoloröstSopransaxofonSoundtrackSpace VoiceSquare WaveSystemkontextRadpositionStar ThemeStÃ¥l-trummaGitarr stÃ¥lStrÃ¥karÄmne:Sweep PadSynth Bass 1Synth Bass 2Synth Brass 1Synth Brass 2Synth CalliopeSynth-trummaSynth-strÃ¥kar 1Synth-strÃ¥kar 2Synth VoxTaiko-trummaTelefonTenorsaxofonTimpaniTinker BellTitel:Växla läge Infoga/Ta bort - nTremolo StringsTrombonTrumpetTubaTubklockorIolIoltyp:Ã…ngra Ctrl + zAnvändning: %s [.ntd] VibrafonViolaViolinRöst OohWarm PadVisselpipaTräblockSkapa PostScriptSkapa png-bildXylofonDu kan inte kopiera inkompletta ioler!Du valde en not i en iolZoom in Ctrl + +Zoom ut Ctrl + -R_edigera_Exportera_Arkiv_Infoga_Text_Visaalternativ 1alternativ 2lägg till nytt notsystemAntal block:kanalKlavkonfigurera papperkonfigurera skrivarinställningarkopiera - Ctrl + Cta bort block - Ctrl + Xta bort taktartändra partiturinfotomt block - Ctrl + Eanvänd taktartExportera en MIDI-filinfoga taktartinfoga iol (Ctrl + num)infoga blockinfoga text pÃ¥ rad 1infoga text pÃ¥ rad 2infoga text pÃ¥ rad 3infoga text pÃ¥ rad 4infoga text pÃ¥ rad 5instrumentposttonartlandskaptext1text2text3text4text5takttypmetod 2MIDI-ekoingenriktningpapperstypklistra in - Ctrl + VspelaVälj en not eller paus förstportporträttutskriftskommandoskriv ut filta bort iolta bort iolta bort sista sidanflytta allaflytta hela partituret - Ctrl + TValt element är inte i en iolnotsystemtempotaktartKan inte använda decimal som '.'. PostScript utskriften kommer misslyckas. Ställ in $LANG variablerna ordentligt!stämmor i olika färgervolymdu kan inte välja ett punkterat elementnted-1.10.18/po/Makefile.in.in0000664001041000007640000003552411520267230012633 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.17 GETTEXT_MACRO_VERSION = 0.17 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: check-macro-version all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. check-macro-version: @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ package_gnu='GNU '; \ else \ package_gnu=''; \ fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ *) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --package-name="$${package_gnu}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/po/Rules-quot0000664001041000007640000000337611520267230012164 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header nted-1.10.18/po/en@boldquot.header0000664001041000007640000000247111520267347013613 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # nted-1.10.18/po/hu.po0000664001041000007640000012461711520270235011136 00000000000000msgid "" msgstr "" "Project-Id-Version: NtEd\n" "Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de\n" "POT-Creation-Date: 2011-01-27 14:18+0100\n" "PO-Revision-Date: 2007-12-03 22:00+0100\n" "Last-Translator: SZERVÃC Attila \n" "Language-Team: Hungarian \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural>1;\n" "X-Poedit-Language: Hungarian\n" "X-Poedit-Country: HUNGARY\n" #: mainwindow.cpp:310 msgid "_File" msgstr "_Fájl" #: mainwindow.cpp:311 msgid "Open_Recent" msgstr "Legutóbbi megnyitása" #: mainwindow.cpp:312 msgid "_Export" msgstr "_Export" #: mainwindow.cpp:313 msgid "_View" msgstr "Nézet" #: mainwindow.cpp:314 msgid "_Edit" msgstr "Sz_erkesztés" #: mainwindow.cpp:315 msgid "_Tools" msgstr "" #: mainwindow.cpp:316 msgid "_System layout ..." msgstr "" #: mainwindow.cpp:317 msgid "_Insert" msgstr "Be_szúrás" #: mainwindow.cpp:318 #, fuzzy msgid "_Upbeat ..." msgstr "Megnyitás ..." #: mainwindow.cpp:319 msgid "_Preferences ..." msgstr "" #: mainwindow.cpp:320 msgid "_Dynamics ..." msgstr "" #: mainwindow.cpp:321 msgid "_Lyrics" msgstr "" #: mainwindow.cpp:322 msgid "_Help" msgstr "" #: mainwindow.cpp:323 #, fuzzy msgid "Configure MIDI out..." msgstr "MIDI beállítás..." #: mainwindow.cpp:323 #, fuzzy msgid "configure MIDI output" msgstr "MIDI beállítás..." #: mainwindow.cpp:324 #, fuzzy msgid "Configure MIDI in..." msgstr "MIDI beállítás..." #: mainwindow.cpp:324 #, fuzzy msgid "configure MIDI input" msgstr "MIDI beállítás..." #: mainwindow.cpp:325 msgid "Configure Paper..." msgstr "Papír beállítása..." #: mainwindow.cpp:325 msgid "configure paper" msgstr "papír beállítása" #: mainwindow.cpp:326 #, fuzzy msgid "Configure Print..." msgstr "Nyomtatás beállítása..." #: mainwindow.cpp:326 msgid "configure print command" msgstr "nyomtató parancs beállítása" #: mainwindow.cpp:327 msgid "New" msgstr "Új" #: mainwindow.cpp:327 msgid "New File" msgstr "Új fájl" #: mainwindow.cpp:328 msgid "Open ..." msgstr "Megnyitás ..." #: mainwindow.cpp:328 msgid "Open a file" msgstr "Fájl megnyitása" #: mainwindow.cpp:329 msgid "Save ..." msgstr "Mentés ..." #: mainwindow.cpp:329 mainwindow.cpp:330 msgid "Save a file" msgstr "Fájl mentése" #: mainwindow.cpp:330 msgid "Save As ..." msgstr "Mentés mint ..." #: mainwindow.cpp:331 msgid "Print" msgstr "Nyomtatás" #: mainwindow.cpp:331 msgid "print file" msgstr "fájl nyomtatása" #: mainwindow.cpp:332 msgid "Import MusicXML ..." msgstr "" #: mainwindow.cpp:332 #, fuzzy msgid "import a musicxml file" msgstr "exportálás midi fájlba" #: mainwindow.cpp:333 #, fuzzy msgid "Import MIDI..." msgstr "MIDI export ..." #: mainwindow.cpp:333 #, fuzzy msgid "import a midi file" msgstr "exportálás midi fájlba" #: mainwindow.cpp:334 #, fuzzy msgid "Import MIDI(2)..." msgstr "MIDI export ..." #: mainwindow.cpp:334 #, fuzzy msgid "import a midi file(2)" msgstr "exportálás midi fájlba" #: mainwindow.cpp:335 msgid "Copy" msgstr "Másolás" #: mainwindow.cpp:335 msgid "copy - Ctrl + C" msgstr "másolás - Ctrl + C" #: mainwindow.cpp:336 msgid "Paste" msgstr "Beillesztés" #: mainwindow.cpp:336 msgid "paste - Ctrl + V" msgstr "beillesztés - Ctrl + V" #: mainwindow.cpp:337 msgid "Delete block" msgstr "Blokk törlése" #: mainwindow.cpp:337 msgid "delete block - Ctrl + X" msgstr "blokk törlése - Ctrl + X" #: mainwindow.cpp:338 #, fuzzy msgid "append a system at end" msgstr "egy üres lap hozzáadása" #: mainwindow.cpp:338 #, fuzzy msgid "append system - Ctrl + B" msgstr "beillesztés - Ctrl + V" #: mainwindow.cpp:339 msgid "Insert block" msgstr "Blokk beszúrása" #: mainwindow.cpp:339 msgid "insert block" msgstr "blokk beszúrása" #: mainwindow.cpp:340 #, fuzzy msgid "Insert clef ..." msgstr "Szünet beszúrása - 'r'" #: mainwindow.cpp:340 #, fuzzy msgid "insert a clef" msgstr "egy basszuskulcs hozzáadása" #: mainwindow.cpp:341 msgid "Empty block" msgstr "Üres blokk" #: mainwindow.cpp:341 msgid "empty block - Ctrl + E" msgstr "üres blokk - Ctrl + E" #: mainwindow.cpp:342 msgid "reposit all" msgstr "" #: mainwindow.cpp:342 msgid "reposit the whole score - Ctrl + T" msgstr "" #: mainwindow.cpp:343 msgid "Export MIDI ..." msgstr "MIDI export ..." #: mainwindow.cpp:343 msgid "export a midi file" msgstr "exportálás midi fájlba" #: mainwindow.cpp:344 #, fuzzy msgid "Export LilyPond ..." msgstr "P_S export ..." #: mainwindow.cpp:344 dialogs/lilypondexportdialog.cpp:44 msgid "LilyPond export" msgstr "" #: mainwindow.cpp:346 #, fuzzy msgid "Export PDF ..." msgstr "P_S export ..." #: mainwindow.cpp:346 #, fuzzy msgid "export PDF" msgstr "P_NG export" #: mainwindow.cpp:348 #, fuzzy msgid "Export P_NG ..." msgstr "P_S export ..." #: mainwindow.cpp:348 msgid "Write a png image" msgstr "PNG kép írása" #: mainwindow.cpp:350 #, fuzzy msgid "Export S_VG ..." msgstr "P_S export ..." #: mainwindow.cpp:350 #, fuzzy msgid "Write an svg image" msgstr "PNG kép írása" #: mainwindow.cpp:352 msgid "Export P_S ..." msgstr "P_S export ..." #: mainwindow.cpp:352 msgid "Write PostScript" msgstr "PostScript írása" #: mainwindow.cpp:353 msgid "New Window" msgstr "" #: mainwindow.cpp:353 msgid "Open a new window" msgstr "" #: mainwindow.cpp:354 #, fuzzy msgid "Excerpt ..." msgstr "P_S export ..." #: mainwindow.cpp:354 msgid "Make an excerpt of the score" msgstr "" #: mainwindow.cpp:355 msgid "Close Window" msgstr "" #: mainwindow.cpp:355 msgid "Close current window" msgstr "" #: mainwindow.cpp:358 msgid "Remove last page" msgstr "Utolsó lap törlése" #: mainwindow.cpp:358 msgid "remove the last page" msgstr "az utolsó lap törlése" #: mainwindow.cpp:359 #, fuzzy msgid "Remove empty pages" msgstr "Utolsó lap törlése" #: mainwindow.cpp:359 #, fuzzy msgid "remove empty pages at end" msgstr "az utolsó lap törlése" #: mainwindow.cpp:360 msgid "Change spacement ..." msgstr "" #: mainwindow.cpp:360 msgid "change the horizontal spacement" msgstr "" #: mainwindow.cpp:361 #, fuzzy msgid "Change Scale ..." msgstr "Szünet beszúrása - 'r'" #: mainwindow.cpp:361 #, fuzzy msgid "change scale" msgstr "csatorna" #: mainwindow.cpp:362 #, fuzzy msgid "Configure Record ..." msgstr "Papír beállítása..." #: mainwindow.cpp:362 #, fuzzy msgid "configure record" msgstr "Nted beállítás" #: mainwindow.cpp:363 #, fuzzy msgid "Configure Drums ..." msgstr "MIDI beállítás..." #: mainwindow.cpp:363 #, fuzzy msgid "configure drums" msgstr "papír beállítása" #: mainwindow.cpp:364 msgid "Tools ..." msgstr "" #: mainwindow.cpp:364 msgid "Tools " msgstr "" #: mainwindow.cpp:365 msgid "give first measure" msgstr "" #: mainwindow.cpp:365 msgid "set upbeat by giving the start of first full measure" msgstr "" #: mainwindow.cpp:366 msgid "give start" msgstr "" #: mainwindow.cpp:366 msgid "set upbeat by giving the start of the score" msgstr "" #: mainwindow.cpp:367 #, fuzzy msgid "Score info ..." msgstr "Mentés ..." #: mainwindow.cpp:367 msgid "edit score info" msgstr "" #: mainwindow.cpp:368 #, fuzzy msgid "Insert keysig ... " msgstr "Szünet beszúrása - 'r'" #: mainwindow.cpp:368 #, fuzzy msgid "insert a key signature" msgstr "egy üres lap beszúrása" #: mainwindow.cpp:369 #, fuzzy msgid "Insert lines ... " msgstr "Szünet beszúrása - 'r'" #: mainwindow.cpp:369 #, fuzzy msgid "insert a horizontal line" msgstr "egy alt kulcs beszúrása" #: mainwindow.cpp:370 #, fuzzy msgid "Insert sign ... " msgstr "Szünet beszúrása - 'r'" #: mainwindow.cpp:370 #, fuzzy msgid "insert a free placeable sign" msgstr "egy üres lap beszúrása" #: mainwindow.cpp:371 msgid "Slur" msgstr "" #: mainwindow.cpp:371 #, fuzzy msgid "insert a slur - Ctrl+H" msgstr "egy basszuskulcs hozzáadása" #: mainwindow.cpp:372 #, fuzzy msgid "chord ..." msgstr "Mentés ..." #: mainwindow.cpp:372 #, fuzzy msgid "insert a chord" msgstr "egy basszuskulcs hozzáadása" #: mainwindow.cpp:373 #, fuzzy msgid "chordname ..." msgstr "Mentés ..." #: mainwindow.cpp:373 #, fuzzy msgid "insert a chordname" msgstr "egy basszuskulcs hozzáadása" #: mainwindow.cpp:374 msgid "spacer" msgstr "" #: mainwindow.cpp:374 #, fuzzy msgid "insert a staff spacer" msgstr "egy üres lap beszúrása" #: mainwindow.cpp:375 #, fuzzy msgid "Append staff" msgstr "Lap hozzáadása" #: mainwindow.cpp:375 msgid "append a new staff" msgstr "" #: mainwindow.cpp:376 #, fuzzy msgid "Import recorded" msgstr "MIDI export ..." #: mainwindow.cpp:376 msgid "import recorded staff" msgstr "" #: mainwindow.cpp:377 msgid "Lyrics editor ..." msgstr "" #: mainwindow.cpp:377 msgid "edit lyrics in text editor" msgstr "" #: mainwindow.cpp:378 msgid "ppp" msgstr "" #: mainwindow.cpp:378 #, fuzzy msgid "insert ppp" msgstr "Lap beszúrása" #: mainwindow.cpp:379 msgid "pp" msgstr "" #: mainwindow.cpp:379 #, fuzzy msgid "insert pp" msgstr "Lap beszúrása" #: mainwindow.cpp:380 msgid "p" msgstr "" #: mainwindow.cpp:380 #, fuzzy msgid "insert p" msgstr "Lap beszúrása" #: mainwindow.cpp:381 msgid "mp" msgstr "" #: mainwindow.cpp:381 #, fuzzy msgid "insert mp" msgstr "Lap beszúrása" #: mainwindow.cpp:382 msgid "sp" msgstr "" #: mainwindow.cpp:382 #, fuzzy msgid "insert sp" msgstr "Lap beszúrása" #: mainwindow.cpp:383 msgid "mf" msgstr "" #: mainwindow.cpp:383 #, fuzzy msgid "insert mf" msgstr "egy basszuskulcs hozzáadása" #: mainwindow.cpp:384 msgid "sf" msgstr "" #: mainwindow.cpp:384 #, fuzzy msgid "insert sf" msgstr "egy basszuskulcs hozzáadása" #: mainwindow.cpp:385 msgid "f" msgstr "" #: mainwindow.cpp:385 #, fuzzy msgid "insert f" msgstr "egy basszuskulcs hozzáadása" #: mainwindow.cpp:386 msgid "ff" msgstr "" #: mainwindow.cpp:386 #, fuzzy msgid "insert ff" msgstr "egy basszuskulcs hozzáadása" #: mainwindow.cpp:387 msgid "fff" msgstr "" #: mainwindow.cpp:387 #, fuzzy msgid "insert fff" msgstr "egy basszuskulcs hozzáadása" #: mainwindow.cpp:388 #, fuzzy msgid "tempo ..." msgstr "tempó" #: mainwindow.cpp:388 #, fuzzy msgid "insert tempo" msgstr "Lap beszúrása" #: mainwindow.cpp:389 #, fuzzy msgid "Text ..." msgstr "Megnyitás ..." #: mainwindow.cpp:389 #, fuzzy msgid "insert text" msgstr "Lap beszúrása" #: mainwindow.cpp:390 #, fuzzy msgid "accelerando" msgstr "egy basszuskulcs hozzáadása" #: mainwindow.cpp:390 #, fuzzy msgid "insert accelerando" msgstr "egy basszuskulcs hozzáadása" #: mainwindow.cpp:391 msgid "ritardando" msgstr "" #: mainwindow.cpp:391 #, fuzzy msgid "insert ritardando" msgstr "Lap beszúrása" #: mainwindow.cpp:392 #, fuzzy msgid "lyrics1" msgstr "blokk beszúrása" #: mainwindow.cpp:392 #, fuzzy msgid "insert lyrics at line 1" msgstr "blokk beszúrása" #: mainwindow.cpp:393 #, fuzzy msgid "lyrics2" msgstr "blokk beszúrása" #: mainwindow.cpp:393 #, fuzzy msgid "insert lyrics at line 2" msgstr "blokk beszúrása" #: mainwindow.cpp:394 #, fuzzy msgid "lyrics3" msgstr "blokk beszúrása" #: mainwindow.cpp:394 #, fuzzy msgid "insert lyrics at line 3" msgstr "blokk beszúrása" #: mainwindow.cpp:395 #, fuzzy msgid "lyrics4" msgstr "blokk beszúrása" #: mainwindow.cpp:395 #, fuzzy msgid "insert lyrics at line 4" msgstr "blokk beszúrása" #: mainwindow.cpp:396 #, fuzzy msgid "lyrics5" msgstr "blokk beszúrása" #: mainwindow.cpp:396 #, fuzzy msgid "insert lyrics at line 5" msgstr "blokk beszúrása" #: mainwindow.cpp:397 msgid "Insert tuplet ..." msgstr "" #: mainwindow.cpp:397 msgid "insert a tuplet (Ctrl + num)" msgstr "" #: mainwindow.cpp:398 msgid "brace" msgstr "" #: mainwindow.cpp:398 msgid "group staves by means of a brace" msgstr "" #: mainwindow.cpp:399 msgid "bracket" msgstr "" #: mainwindow.cpp:399 msgid "group staves by means of a bracket" msgstr "" #: mainwindow.cpp:400 msgid "connect barlines" msgstr "" #: mainwindow.cpp:400 msgid "set connected bar lines" msgstr "" #: mainwindow.cpp:401 msgid "remove group" msgstr "" #: mainwindow.cpp:401 msgid "remove a group of connected staves" msgstr "" #: mainwindow.cpp:402 msgid "Remove tuplet" msgstr "" #: mainwindow.cpp:402 msgid "remove a tuplet" msgstr "" #: mainwindow.cpp:403 msgid "Muting ..." msgstr "" #: mainwindow.cpp:403 msgid "mute some staves" msgstr "" #: mainwindow.cpp:404 msgid "Transpose ..." msgstr "" #: mainwindow.cpp:404 msgid "transpose" msgstr "" #: mainwindow.cpp:405 msgid "hide rests" msgstr "" #: mainwindow.cpp:405 msgid "hide (selected) rests" msgstr "" #: mainwindow.cpp:406 msgid "unhide rests" msgstr "" #: mainwindow.cpp:406 msgid "unhide (selected) rests" msgstr "" #: mainwindow.cpp:407 msgid "hide rests (all v.)" msgstr "" #: mainwindow.cpp:407 msgid "hide selected rests (all v.)" msgstr "" #: mainwindow.cpp:408 msgid "unhide rests (all v.)" msgstr "" #: mainwindow.cpp:408 msgid "unhide selected rests (all v.)" msgstr "" #: mainwindow.cpp:409 msgid "set all to sharp ..." msgstr "" #: mainwindow.cpp:409 msgid "set all flats to sharp" msgstr "" #: mainwindow.cpp:410 msgid "set all to flat ..." msgstr "" #: mainwindow.cpp:410 msgid "set all sharps to flat" msgstr "" #: mainwindow.cpp:411 msgid "About NtEd" msgstr "NtEd névjegy" #: mainwindow.cpp:413 #, fuzzy msgid "Documentation ..." msgstr "irány" #: mainwindow.cpp:415 msgid "License" msgstr "Licenc" #: mainwindow.cpp:416 msgid "E_xit" msgstr "Kilépés" #: mainwindow.cpp:416 msgid "Exit the program" msgstr "Kilépés a programból" #: mainwindow.cpp:420 msgid "play" msgstr "lejátszás" #: mainwindow.cpp:421 msgid "voices in different colors" msgstr "más színű szólamok" #: mainwindow.cpp:422 #, fuzzy msgid "show measure numbers" msgstr "Betűválasztás - ütemszámok" #: mainwindow.cpp:423 msgid "show hidden elements" msgstr "" #: mainwindow.cpp:424 msgid "midi input" msgstr "" #: mainwindow.cpp:425 msgid "record midi" msgstr "" #: mainwindow.cpp:425 #, fuzzy msgid "record midi - i" msgstr "exportálás midi fájlba" #: mainwindow.cpp:429 #, fuzzy msgid "in" msgstr "_Fájl" #: mainwindow.cpp:429 msgid "Zoom in Ctrl + +" msgstr "Nagyítás Ctrl + +" #: mainwindow.cpp:430 #, fuzzy msgid "out" msgstr "_Névjegy" #: mainwindow.cpp:430 msgid "Zoom out Ctrl + -" msgstr "Kicsinyítés Ctrl + -" #: mainwindow.cpp:431 #, fuzzy msgid "undo" msgstr "nincs" #: mainwindow.cpp:431 msgid "Undo Ctrl + z" msgstr "Vissza Ctrl + z" #: mainwindow.cpp:432 msgid "redo" msgstr "" #: mainwindow.cpp:432 msgid "Redo Ctrl + y" msgstr "Újra Ctrl + y" #: mainwindow.cpp:433 #, fuzzy msgid "customize beam" msgstr "beillesztés - Ctrl + V" #: mainwindow.cpp:433 #, fuzzy msgid "customize beam - Ctrl + j" msgstr "beillesztés - Ctrl + V" #: mainwindow.cpp:434 #, fuzzy msgid "flip stem" msgstr "beillesztés - Ctrl + V" #: mainwindow.cpp:434 #, fuzzy msgid "flip stem - Ctrl + f" msgstr "beillesztés - Ctrl + V" #: mainwindow.cpp:438 #, fuzzy msgid "insert" msgstr "Lap beszúrása" #: mainwindow.cpp:438 msgid "Toggle Insert/Erase Mode - n" msgstr "" #: mainwindow.cpp:442 msgid "page" msgstr "" #: mainwindow.cpp:442 msgid "Page Mode - p" msgstr "Lap mód - p" #: mainwindow.cpp:443 dialogs/staffcontextdialog.cpp:177 #: dialogs/keysigdialog.cpp:42 dialogs/midirecordconfigdialog.cpp:160 msgid "key" msgstr "módosító" #: mainwindow.cpp:443 msgid "Keyboard insert mode - k" msgstr "" #: mainwindow.cpp:1625 msgid "Cannot replay because could not open ALSA sequencer" msgstr "" "A lejátszás nem sikerült, mert nem sikerült megnyitni az ALSA szekvenszert." #: mainwindow.cpp:2776 mainwindow.cpp:5110 mainwindow.cpp:5156 #: mainwindow.cpp:6090 mainwindow.cpp:6180 mainwindow.cpp:6937 #: mainwindow.cpp:9584 msgid "Save Changes ?" msgstr "Mented a változásokat?" #: mainwindow.cpp:2894 mainwindow.cpp:2995 mainwindow.cpp:3576 #: mainwindow.cpp:3696 mainwindow.cpp:9035 mainwindow.cpp:9147 #: mainwindow.cpp:9271 mainwindow.cpp:9360 dialogs/lyricseditor.cpp:350 #: dialogs/drumconfigdialog.cpp:493 #, c-format msgid "Cannot open %s for writing" msgstr "%s nem nyitható meg írásra" #: mainwindow.cpp:2905 mainwindow.cpp:3009 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s nem nyitható meg írásra" #: mainwindow.cpp:2940 msgid "Save score" msgstr "Kotta mentése" #: mainwindow.cpp:2982 mainwindow.cpp:3564 mainwindow.cpp:3684 #: mainwindow.cpp:8995 mainwindow.cpp:9135 mainwindow.cpp:9259 #: mainwindow.cpp:9348 dialogs/lyricseditor.cpp:336 #: dialogs/drumconfigdialog.cpp:479 #, c-format msgid "File %s already exists. Overwrite ?" msgstr "%s fájl létezik. Felülírod?" #: mainwindow.cpp:3272 mainwindow.cpp:3416 msgid "Please select a note or rest!" msgstr "Válassz egy hangjegyet vagy szünetjelet!" #: mainwindow.cpp:3277 msgid "You select a note in an tuplet" msgstr "" #: mainwindow.cpp:3281 msgid "You cannot copy incomplete tuplets!" msgstr "" #: mainwindow.cpp:3296 msgid "Paste not possible: A tuplet would cross a measure" msgstr "" #: mainwindow.cpp:3443 msgid "Empty not possible because of incomplete tuplets" msgstr "" #: mainwindow.cpp:4112 #, fuzzy, c-format msgid "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "Translation: " msgstr "" "NtEd %s verzió, írta: Joerg Anders\n" "A hibákat itt jelezd: ja@informatik.tu-chemnitz.de\n" "Leírás itt: http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "Magyar fordítás: " #: mainwindow.cpp:4123 msgid "" "Excuse! The documentation is not available\n" "due to an installation error" msgstr "" #: mainwindow.cpp:4133 msgid "Excuse! Cannot exec" msgstr "" #: mainwindow.cpp:4138 msgid "Excuse! Cannot fork" msgstr "" #: mainwindow.cpp:4880 mainwindow.cpp:4902 mainwindow.cpp:7850 msgid "please select a note or rest first" msgstr "elÅ‘ször válassz egy hangot vagy szünetet" #: mainwindow.cpp:4884 mainwindow.cpp:7854 msgid "you cannot select an element with dot" msgstr "" #: mainwindow.cpp:4894 mainwindow.cpp:7869 msgid "I'm not able to create a tuplet here" msgstr "" #: mainwindow.cpp:4906 msgid "selected element is not inside a tuplet" msgstr "" #: mainwindow.cpp:5171 msgid "Open score" msgstr "Kotta megnyitása" #: mainwindow.cpp:5211 mainwindow.cpp:6306 mainwindow.cpp:6966 #: dialogs/lyricseditor.cpp:433 dialogs/drumconfigdialog.cpp:567 #, c-format msgid "Cannot open %s for reading" msgstr "%s nem nyitható meg olvasásra" #: mainwindow.cpp:6105 msgid "Import MusicXML" msgstr "" #: mainwindow.cpp:7030 mainwindow.cpp:7056 msgid "Cannot list midi ports because could not open ALSA sequencer" msgstr "" "A midi portok nem listázhatók, mert nem tudta megnyitni az ALSA szekvenszert" #: mainwindow.cpp:7127 msgid "Font selection - Measure numbers" msgstr "Betűválasztás - ütemszámok" #: mainwindow.cpp:7749 msgid "Adjust notes ?" msgstr "" #: mainwindow.cpp:8951 #, fuzzy msgid "Create PNG" msgstr "PNG létrehozása" #: mainwindow.cpp:9091 #, fuzzy msgid "Create SVG" msgstr "PNG létrehozása" #: mainwindow.cpp:9217 msgid "Create Postscript" msgstr "Postscript létrehozása" #: mainwindow.cpp:9306 #, fuzzy msgid "Create PDF" msgstr "PNG létrehozása" #: mainwindow.cpp:9470 dialogs/lilypondexportdialog.cpp:70 #, fuzzy msgid "select staves" msgstr "Cseleszta" #: mainwindow.cpp:9627 #, c-format msgid "Usage: %s [.ntd]\n" msgstr "Használat: %s [.ntd]\n" #: mainwindow.cpp:9655 msgid "" "unable to set decimal point to '.'. PostScript output will be erroneous. \t\t" "\tPlease set the $LANG environment variable appropriately!" msgstr "" #: resource.cpp:380 msgid "Piano 1" msgstr "Zongora 1" #: resource.cpp:380 msgid "Piano 2" msgstr "Zongora 2" #: resource.cpp:380 msgid "Piano 3" msgstr "Zongora 3" #: resource.cpp:380 msgid "Honky-tonk" msgstr "" #: resource.cpp:381 msgid "E.Piano 1" msgstr "E.Zongora 1" #: resource.cpp:381 msgid "E.Piano 2" msgstr "E.Zongora 2" #: resource.cpp:381 msgid "Harpsichord" msgstr "Csembaló" #: resource.cpp:381 msgid "Clavinet" msgstr "" #: resource.cpp:382 msgid "Celesta" msgstr "Cseleszta" #: resource.cpp:382 msgid "Glockenspiel" msgstr "" #: resource.cpp:382 msgid "Music Box" msgstr "" #: resource.cpp:382 msgid "Vibraphone" msgstr "Vibrafon" #: resource.cpp:383 msgid "Marimba" msgstr "Marimba" #: resource.cpp:383 msgid "Xylophone" msgstr "Xilofon" #: resource.cpp:383 msgid "Tubular Bells" msgstr "CsÅ‘harang" #: resource.cpp:383 msgid "Dulcimer" msgstr "" #: resource.cpp:384 msgid "Organ 1" msgstr "Orgona 1" #: resource.cpp:384 msgid "Organ 2" msgstr "Orgona 2" #: resource.cpp:384 msgid "Organ 3" msgstr "Orgona 3" #: resource.cpp:384 msgid "Church Organ" msgstr "" #: resource.cpp:385 msgid "Reed Organ" msgstr "" #: resource.cpp:385 msgid "Accordion" msgstr "" #: resource.cpp:385 msgid "Harmonica" msgstr "Harmonika" #: resource.cpp:385 msgid "Bandoneon" msgstr "" #: resource.cpp:386 msgid "Nylon Guitar" msgstr "" #: resource.cpp:386 msgid "Steel Guitar" msgstr "" #: resource.cpp:386 msgid "Jazz Guitar" msgstr "Jazz Gitár" #: resource.cpp:386 msgid "Clean Guitar" msgstr "" #: resource.cpp:387 msgid "Guitar Mutes" msgstr "" #: resource.cpp:387 msgid "Overdrive Guitar" msgstr "" #: resource.cpp:387 msgid "Guitar Harmonics" msgstr "" #: resource.cpp:388 msgid "Acoustic Bass" msgstr "" #: resource.cpp:388 msgid "Fingered Bass" msgstr "" #: resource.cpp:388 msgid "Picked Bass" msgstr "" #: resource.cpp:388 msgid "Fretless Bass" msgstr "" #: resource.cpp:389 msgid "Slap Bass 1" msgstr "" #: resource.cpp:389 msgid "Slap Bass 2" msgstr "" #: resource.cpp:389 msgid "Synth Bass 1" msgstr "Szinti Basszus 1" #: resource.cpp:389 msgid "Synth Bass 2" msgstr "Szinti Basszus 2" #: resource.cpp:390 msgid "Violin" msgstr "Hegedű" #: resource.cpp:390 msgid "Viola" msgstr "Brácsa" #: resource.cpp:390 msgid "Cello" msgstr "Cselló" #: resource.cpp:390 msgid "Contrabass" msgstr "BÅ‘gÅ‘" #: resource.cpp:391 msgid "Tremolo Strings" msgstr "Vonóstremoló" #: resource.cpp:391 msgid "Pizzicato" msgstr "Pizzicato" #: resource.cpp:391 msgid "Harp" msgstr "Hárfa" #: resource.cpp:391 msgid "Timpani" msgstr "Üstdob" #: resource.cpp:392 msgid "Strings" msgstr "Vonósok" #: resource.cpp:392 msgid "Slow Strings" msgstr "" #: resource.cpp:392 msgid "Synth Strings 1" msgstr "Szinti vonósok 1" #: resource.cpp:392 msgid "Synth Strings 2" msgstr "Szinti vonósok 2" #: resource.cpp:393 msgid "Choir Aahs" msgstr "Kórus A" #: resource.cpp:393 msgid "Voice Oohs" msgstr "Énekhang O" #: resource.cpp:393 msgid "Synth Vox" msgstr "Szinti énekhang" #: resource.cpp:393 msgid "Orchestra Hit" msgstr "Zenekari ütés" #: resource.cpp:394 msgid "Trumpet" msgstr "Trombita" #: resource.cpp:394 msgid "Trombone" msgstr "Harsona" #: resource.cpp:394 msgid "Tuba" msgstr "Tuba" #: resource.cpp:394 msgid "Mute Trumpet" msgstr "Szordinált trombita" #: resource.cpp:395 msgid "French Horns" msgstr "Franciakürt" #: resource.cpp:395 msgid "Brass" msgstr "Rezesek" #: resource.cpp:395 msgid "Synth Brass 1" msgstr "Szinti rezesek 1" #: resource.cpp:395 msgid "Synth Brass 2" msgstr "Szinti rezesek 2" #: resource.cpp:396 msgid "Soprano Sax" msgstr "Szopránszaxofon" #: resource.cpp:396 msgid "Alto Sax" msgstr "Altszaxofon" #: resource.cpp:396 msgid "Tenor Sax" msgstr "Tenorszaxofon" #: resource.cpp:396 msgid "Baritone Sax" msgstr "Baritonszaxofon" #: resource.cpp:397 msgid "Oboe" msgstr "Oboa" #: resource.cpp:397 msgid "English Horn" msgstr "Angolkürt" #: resource.cpp:397 msgid "Bassoon" msgstr "Fagott" #: resource.cpp:397 msgid "Clarinet" msgstr "Klarinét" #: resource.cpp:398 msgid "Piccolo" msgstr "Pikkoló" #: resource.cpp:398 msgid "Flute" msgstr "Fuvola" #: resource.cpp:398 msgid "Recorder" msgstr "Furulya" #: resource.cpp:398 msgid "Pan Flute" msgstr "Pánsíp" #: resource.cpp:399 msgid "Bottle Chiff" msgstr "" #: resource.cpp:399 msgid "Shakuhachi" msgstr "Sakuhacsi" #: resource.cpp:399 msgid "Whistle" msgstr "Síp" #: resource.cpp:399 msgid "Ocarina" msgstr "Okarína" #: resource.cpp:400 msgid "Square Wave" msgstr "Négyzetes hullám" #: resource.cpp:400 msgid "Saw Wave" msgstr "Fűrészfogú hullám" #: resource.cpp:400 msgid "Synth Calliope" msgstr "" #: resource.cpp:400 msgid "Chiffer Lead" msgstr "" #: resource.cpp:401 msgid "Charang" msgstr "" #: resource.cpp:401 msgid "Solo Vox" msgstr "" #: resource.cpp:401 msgid "5th Saw Wave" msgstr "" #: resource.cpp:401 msgid "Bass & Lead" msgstr "" #: resource.cpp:402 msgid "Fantasia" msgstr "" #: resource.cpp:402 msgid "Warm Pad" msgstr "" #: resource.cpp:402 msgid "Poly Synth" msgstr "" #: resource.cpp:402 msgid "Space Voice" msgstr "" #: resource.cpp:403 msgid "Bowed Glass" msgstr "" #: resource.cpp:403 msgid "Metal Pad" msgstr "" #: resource.cpp:403 msgid "Halo Pad" msgstr "" #: resource.cpp:403 msgid "Sweep Pad" msgstr "" #: resource.cpp:404 msgid "Ice Rain" msgstr "JégesÅ‘" #: resource.cpp:404 msgid "Soundtrack" msgstr "Hangsáv" #: resource.cpp:404 msgid "Crystal" msgstr "Kristály" #: resource.cpp:404 msgid "Atmosphere" msgstr "Atmoszféra" #: resource.cpp:405 msgid "Brightness" msgstr "Ragyogás" #: resource.cpp:405 msgid "Goblin" msgstr "Manó" #: resource.cpp:405 msgid "Echo Drops" msgstr "Visszhang" #: resource.cpp:405 msgid "Star Theme" msgstr "Csillag téma" #: resource.cpp:406 msgid "Sitar" msgstr "Szitár" #: resource.cpp:406 msgid "Banjo" msgstr "Bendzsó" #: resource.cpp:406 msgid "Shamisen" msgstr "Samiszen" #: resource.cpp:406 msgid "Koto" msgstr "Koto" #: resource.cpp:407 msgid "Kalimba" msgstr "Kalimba" #: resource.cpp:407 msgid "Bagpipe" msgstr "Duda" #: resource.cpp:407 msgid "Fiddle" msgstr "" #: resource.cpp:407 msgid "Shenai" msgstr "" #: resource.cpp:408 msgid "Tinker Bell" msgstr "" #: resource.cpp:408 msgid "Agogo" msgstr "" #: resource.cpp:408 msgid "Steel Drum" msgstr "" #: resource.cpp:408 msgid "Wood Block" msgstr "" #: resource.cpp:409 msgid "Taiko Drum" msgstr "" #: resource.cpp:409 msgid "Melodic Tom" msgstr "" #: resource.cpp:409 msgid "Synth Drum" msgstr "" #: resource.cpp:409 msgid "Reverse Cymbal" msgstr "" #: resource.cpp:410 msgid "Fret Noise" msgstr "" #: resource.cpp:410 msgid "Breath Noise" msgstr "" #: resource.cpp:410 msgid "Seashore" msgstr "" #: resource.cpp:410 msgid "Bird" msgstr "" #: resource.cpp:411 msgid "Telephone" msgstr "" #: resource.cpp:411 msgid "Helicopter" msgstr "" #: resource.cpp:411 msgid "Applause" msgstr "" #: resource.cpp:411 msgid "Gun Shot" msgstr "" #: resource.cpp:827 msgid "" "Cannot open ALSA MIDI sequencer --> replay won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Nem tudom megnyitni az ALSA MIDI szekvenszert --> a lejátszás nem működik :-" "((\n" "Próbáld ezt (mint root)\n" "modprobe snd-seq-midi\n" "és indítsd újra az NtEd programot\n" "Lehet, hogy ez segít(?)" #: resource.cpp:835 msgid "Error creating ALSA sequencer output port --> replay won't work :-((" msgstr "" #: resource.cpp:845 #, fuzzy msgid "" "Cannot open ALSA MIDI sequencer --> read/record won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Nem tudom megnyitni az ALSA MIDI szekvenszert --> a lejátszás nem működik :-" "((\n" "Próbáld ezt (mint root)\n" "modprobe snd-seq-midi\n" "és indítsd újra az NtEd programot\n" "Lehet, hogy ez segít(?)" #: resource.cpp:853 msgid "Error creating ALSA sequencer input port --> record won't work :-((" msgstr "" #: dialogs/paperconfigdialog.cpp:37 dialogs/paperconfigdialog.cpp:41 msgid "Paper" msgstr "Papír" #: dialogs/paperconfigdialog.cpp:46 msgid "paper type" msgstr "papír típusa" #: dialogs/paperconfigdialog.cpp:81 msgid "orientation" msgstr "irány" #: dialogs/paperconfigdialog.cpp:82 msgid "portrait" msgstr "portré" #: dialogs/paperconfigdialog.cpp:83 msgid "landscape" msgstr "tájkép" #: dialogs/portchoosedialog.cpp:46 msgid "MIDI ports" msgstr "MIDI portok" #: dialogs/portchoosedialog.cpp:60 dialogs/staffcontextdialog.cpp:321 #: dialogs/staffcontextdialog.cpp:437 dialogs/textdialog.cpp:200 #: dialogs/midirecordconfigdialog.cpp:133 dialogs/staffselectdialog.cpp:69 #: dialogs/drumconfigdialog.cpp:110 msgid "no" msgstr "nincs" #: dialogs/portchoosedialog.cpp:62 msgid "port" msgstr "port" #: dialogs/portchoosedialog.cpp:78 msgid "midi echo" msgstr "midi visszhang" #: dialogs/printconfigdialog.cpp:31 msgid "Print command" msgstr "Nyomató parancs" #: dialogs/printconfigdialog.cpp:35 msgid "print command" msgstr "nyomtató parancs" #: dialogs/staffcontextdialog.cpp:31 msgid "G flat Major; e flat minor" msgstr "Gesz dúr; esz moll" #: dialogs/staffcontextdialog.cpp:31 msgid "D flat Major; b flat minor" msgstr "Desz dúr; b moll" #: dialogs/staffcontextdialog.cpp:32 msgid "A flat Major; f minor" msgstr "Asz dúr; f moll" #: dialogs/staffcontextdialog.cpp:32 msgid "E flat Major; c minor" msgstr "Esz dúr; c moll" #: dialogs/staffcontextdialog.cpp:33 msgid "B flat Major; g minor" msgstr "B dúr; g moll" #: dialogs/staffcontextdialog.cpp:33 msgid "F Major; d minor" msgstr "F dúr; d moll" #: dialogs/staffcontextdialog.cpp:34 msgid "C Major; a minor" msgstr "C dúr; a moll" #: dialogs/staffcontextdialog.cpp:34 msgid "G Major; e minor" msgstr "G dúr; e moll" #: dialogs/staffcontextdialog.cpp:35 msgid "D Major; b minor" msgstr "D dúr; h moll" #: dialogs/staffcontextdialog.cpp:35 msgid "A Major; f sharp minor" msgstr "A dúr; fisz moll" #: dialogs/staffcontextdialog.cpp:36 msgid "E Major; c sharp minor" msgstr "E dúr; cisz moll" #: dialogs/staffcontextdialog.cpp:36 msgid "B Major; g sharp minor" msgstr "H dúr; gisz moll" #: dialogs/staffcontextdialog.cpp:37 msgid "F sharp Major; d sharp minor" msgstr "Fisz moll; disz moll" #: dialogs/staffcontextdialog.cpp:120 msgid "Staff context" msgstr "" #: dialogs/staffcontextdialog.cpp:132 dialogs/clefconfigdialog.cpp:49 msgid "clef" msgstr "kulcs" #: dialogs/staffcontextdialog.cpp:157 dialogs/clefconfigdialog.cpp:74 msgid "Octave shift:" msgstr "" #: dialogs/staffcontextdialog.cpp:163 dialogs/keysigdialog.cpp:66 #: dialogs/clefconfigdialog.cpp:81 #, fuzzy msgid "adjust notes" msgstr "leszállított hangok" #: dialogs/staffcontextdialog.cpp:200 dialogs/measureconfigdialog.cpp:110 #: dialogs/midirecordconfigdialog.cpp:70 msgid "time signature" msgstr "ütemmutató" #: dialogs/staffcontextdialog.cpp:204 dialogs/measureconfigdialog.cpp:114 #: dialogs/midirecordconfigdialog.cpp:74 msgid "Numerator:" msgstr "Számláló:" #: dialogs/staffcontextdialog.cpp:205 dialogs/measureconfigdialog.cpp:115 #: dialogs/midirecordconfigdialog.cpp:75 msgid "Denominator:" msgstr "NevezÅ‘:" #: dialogs/staffcontextdialog.cpp:248 msgid "staff name" msgstr "" #: dialogs/staffcontextdialog.cpp:255 msgid "staff short name" msgstr "" #: dialogs/staffcontextdialog.cpp:262 #, fuzzy msgid "group name" msgstr "Mentés ..." #: dialogs/staffcontextdialog.cpp:269 #, fuzzy msgid "group short name" msgstr "Mentés ..." #: dialogs/staffcontextdialog.cpp:278 dialogs/tempodialog.cpp:154 #: dialogs/textdialog.cpp:138 dialogs/midirecordconfigdialog.cpp:147 msgid "tempo" msgstr "tempó" #: dialogs/staffcontextdialog.cpp:283 #, fuzzy msgid "chorus" msgstr "Visszhang" #: dialogs/staffcontextdialog.cpp:289 msgid "transp." msgstr "" #: dialogs/staffcontextdialog.cpp:295 msgid "reverb" msgstr "" #: dialogs/staffcontextdialog.cpp:301 dialogs/textdialog.cpp:123 #: dialogs/midirecordconfigdialog.cpp:153 msgid "volume" msgstr "hangerÅ‘" #: dialogs/staffcontextdialog.cpp:307 #, fuzzy msgid "pan" msgstr "Üstdob" #: dialogs/staffcontextdialog.cpp:323 dialogs/textdialog.cpp:202 #: dialogs/midirecordconfigdialog.cpp:135 msgid "instruments" msgstr "hangszerek" #: dialogs/staffcontextdialog.cpp:332 dialogs/textdialog.cpp:150 msgid "channel" msgstr "csatorna" #: dialogs/staffcontextdialog.cpp:337 dialogs/mutedialog.cpp:69 #, fuzzy msgid "muting" msgstr "Vonósok" #: dialogs/staffcontextdialog.cpp:338 dialogs/staffcontextdialog.cpp:370 #: dialogs/mutedialog.cpp:72 dialogs/selectordialog.cpp:98 msgid "all" msgstr "" #: dialogs/staffcontextdialog.cpp:369 #, fuzzy msgid "voices" msgstr "Énekhang O" #: dialogs/staffcontextdialog.cpp:429 dialogs/staffselectdialog.cpp:58 msgid "staff" msgstr "" #: dialogs/staffcontextdialog.cpp:435 dialogs/staffselectdialog.cpp:67 msgid "item" msgstr "elem" #: dialogs/staffcontextdialog.cpp:485 msgid "Score" msgstr "Kotta" #: dialogs/staffcontextdialog.cpp:486 msgid "MIDI" msgstr "MIDI" #: dialogs/staffcontextdialog.cpp:495 msgid "Staff position" msgstr "" #: dialogs/tupletdialog.cpp:34 msgid "Tuplet" msgstr "" #: dialogs/tupletdialog.cpp:40 msgid "" "Instead of using this dialog\n" "you can simply press + num" msgstr "" #: dialogs/tupletdialog.cpp:42 msgid "Tuplet value:" msgstr "" #: dialogs/tupletdialog.cpp:47 msgid "method 2" msgstr "2. mód" #: dialogs/insertblockdialog.cpp:32 msgid "Insert blocks" msgstr "Blokkok beszúrása" #: dialogs/insertblockdialog.cpp:39 msgid "block count:" msgstr "blokk szám:" #: dialogs/measureconfigdialog.cpp:53 msgid "Measure type" msgstr "Ütem típus" #: dialogs/measureconfigdialog.cpp:62 msgid "measure type" msgstr "ütem típus" #: dialogs/measureconfigdialog.cpp:89 msgid "alternative 1" msgstr "1. variáns" #: dialogs/measureconfigdialog.cpp:90 msgid "alternative 2" msgstr "2. variáns" #: dialogs/measureconfigdialog.cpp:99 msgid "hide following" msgstr "" #: dialogs/measureconfigdialog.cpp:158 msgid "enable timesig" msgstr "metrum bekapcsolása" #: dialogs/measureconfigdialog.cpp:160 msgid "delete timesig" msgstr "metrum törlése" #: dialogs/keysigdialog.cpp:37 #, fuzzy msgid "New keysignature" msgstr "ütemmutató" #: dialogs/keysigdialog.cpp:64 msgid "adjust" msgstr "" #: dialogs/scoreinfodialog.cpp:71 dialogs/scoreinfodialog.cpp:75 #, fuzzy msgid "Score info" msgstr "Kotta" #: dialogs/scoreinfodialog.cpp:79 #, fuzzy msgid "Title:" msgstr "Síp" #: dialogs/scoreinfodialog.cpp:87 msgid "Subject:" msgstr "" #: dialogs/scoreinfodialog.cpp:95 msgid "Composer:" msgstr "" #: dialogs/scoreinfodialog.cpp:103 msgid "Arranger:" msgstr "" #: dialogs/scoreinfodialog.cpp:111 msgid "Copyright:" msgstr "" #: dialogs/clefconfigdialog.cpp:44 msgid "Clef configuration" msgstr "" #: dialogs/volumedialog.cpp:32 #, fuzzy msgid "Set Volume" msgstr "hangerÅ‘" #: dialogs/volumedialog.cpp:44 #, fuzzy msgid "volume:" msgstr "hangerÅ‘" #: dialogs/tempodialog.cpp:56 #, fuzzy msgid "Set Tempo" msgstr "tempó" #: dialogs/tempodialog.cpp:128 msgid "kind" msgstr "" #: dialogs/tempodialog.cpp:150 #, fuzzy msgid "tempo:" msgstr "tempó" #: dialogs/lyricseditor.cpp:67 #, fuzzy msgid "Lyrics" msgstr "blokk beszúrása" #: dialogs/lyricseditor.cpp:85 #, fuzzy msgid "lyrics 1" msgstr "blokk beszúrása" #: dialogs/lyricseditor.cpp:86 #, fuzzy msgid "lyrics 2" msgstr "blokk beszúrása" #: dialogs/lyricseditor.cpp:87 #, fuzzy msgid "lyrics 3" msgstr "blokk beszúrása" #: dialogs/lyricseditor.cpp:88 #, fuzzy msgid "lyrics 4" msgstr "blokk beszúrása" #: dialogs/lyricseditor.cpp:89 #, fuzzy msgid "lyrics 5" msgstr "blokk beszúrása" #: dialogs/lyricseditor.cpp:135 dialogs/drumconfigdialog.cpp:230 msgid "load from file" msgstr "" #: dialogs/lyricseditor.cpp:136 dialogs/drumconfigdialog.cpp:231 #, fuzzy msgid "save to file" msgstr "Fájl mentése" #: dialogs/lyricseditor.cpp:143 dialogs/drumconfigdialog.cpp:247 #, fuzzy msgid "file" msgstr "_Fájl" #: dialogs/lyricseditor.cpp:292 #, fuzzy msgid "Save lyrics" msgstr "blokk beszúrása" #: dialogs/lyricseditor.cpp:392 #, fuzzy msgid "Open lyrics file" msgstr "Fájl megnyitása" #: dialogs/mutedialog.cpp:34 #, fuzzy msgid "Muting" msgstr "Vonósok" #: dialogs/mutedialog.cpp:55 dialogs/selectordialog.cpp:61 #, c-format msgid "Staff %d" msgstr "" #: dialogs/mutedialog.cpp:74 dialogs/selectordialog.cpp:100 #, fuzzy msgid "none" msgstr "nincs" #: dialogs/linesdialog.cpp:40 #, fuzzy msgid "Lines" msgstr "Licenc" #: dialogs/linesdialog.cpp:46 #, fuzzy msgid "lines" msgstr "Klarinét" #: dialogs/selectordialog.cpp:35 msgid "Transpose" msgstr "" #: dialogs/selectordialog.cpp:39 #, fuzzy msgid "Select" msgstr "Cseleszta" #: dialogs/selectordialog.cpp:73 msgid "half-tones" msgstr "" #: dialogs/selectordialog.cpp:76 dialogs/selectordialog.cpp:95 #: chords/chorddialog.cpp:159 msgid "selection" msgstr "" #: dialogs/selectordialog.cpp:87 msgid "use selection" msgstr "" #: dialogs/textdialog.cpp:69 msgid "Text" msgstr "" #: dialogs/textdialog.cpp:89 chords/chorddialog.cpp:111 msgid "text" msgstr "" #: dialogs/textdialog.cpp:98 msgid "select font" msgstr "" #: dialogs/textdialog.cpp:105 #, fuzzy msgid "anchor" msgstr "Visszhang" #: dialogs/textdialog.cpp:108 #, fuzzy msgid "left" msgstr "kulcs" #: dialogs/textdialog.cpp:109 msgid "mid" msgstr "" #: dialogs/textdialog.cpp:110 #, fuzzy msgid "right" msgstr "Ragyogás" #: dialogs/textdialog.cpp:130 msgid "enable volume change" msgstr "" #: dialogs/textdialog.cpp:143 #, fuzzy msgid "enable tempo change" msgstr "metrum bekapcsolása" #: dialogs/textdialog.cpp:155 #, fuzzy msgid "enable channel change" msgstr "metrum bekapcsolása" #: dialogs/textdialog.cpp:162 msgid "D.S" msgstr "" #: dialogs/textdialog.cpp:165 msgid "No segno meaning" msgstr "" #: dialogs/textdialog.cpp:166 msgid "D.S. al Fine" msgstr "" #: dialogs/textdialog.cpp:167 msgid "D.S. al Coda" msgstr "" #: dialogs/textdialog.cpp:168 msgid "D. Capo al Fine" msgstr "" #: dialogs/textdialog.cpp:169 msgid "D. Capo al Coda" msgstr "" #: dialogs/textdialog.cpp:170 #, fuzzy msgid "Fine" msgstr "_Fájl" #: dialogs/textdialog.cpp:171 msgid "al Coda" msgstr "" #: dialogs/textdialog.cpp:219 #, fuzzy msgid "instrument" msgstr "hangszerek" #: dialogs/textdialog.cpp:220 #, fuzzy msgid "enable instrument change" msgstr "metrum bekapcsolása" #: dialogs/signsdialog.cpp:44 #, fuzzy msgid "Signs" msgstr "Vonósok" #: dialogs/signsdialog.cpp:50 #, fuzzy msgid "signs" msgstr "Licenc" #: dialogs/midiimportdialog.cpp:43 #, fuzzy msgid "MIDI import" msgstr "MIDI portok" #: dialogs/midiimportdialog.cpp:70 dialogs/midirecordconfigdialog.cpp:103 msgid "triplet recognition" msgstr "" #: dialogs/midiimportdialog.cpp:72 #, fuzzy msgid "sort instruments" msgstr "hangszerek" #: dialogs/midiimportdialog.cpp:73 dialogs/midirecordconfigdialog.cpp:105 #, fuzzy msgid "force piano" msgstr "Kotta" #: dialogs/midiimportdialog.cpp:74 dialogs/midirecordconfigdialog.cpp:107 msgid "don't split tracks" msgstr "" #: dialogs/midiimportdialog.cpp:83 msgid "tempo density" msgstr "" #: dialogs/midiimportdialog.cpp:89 #, fuzzy msgid "volume density" msgstr "hangerÅ‘" #: dialogs/midirecordconfigdialog.cpp:65 #, fuzzy msgid "Config Record" msgstr "_Beállítás" #: dialogs/lilypondexportdialog.cpp:63 msgid "export params" msgstr "" #: dialogs/lilypondexportdialog.cpp:66 msgid "create line breaks" msgstr "" #: dialogs/lilypondexportdialog.cpp:74 msgid "keep beams" msgstr "" #: dialogs/lilypondexportdialog.cpp:172 msgid "Staff selection" msgstr "" #: dialogs/lilypondexportdialog.cpp:181 msgid "keep beams selection" msgstr "" #: dialogs/staffselectdialog.cpp:76 msgid "All" msgstr "" #: dialogs/staffselectdialog.cpp:79 #, fuzzy msgid "None" msgstr "nincs" #: dialogs/spacementdialog.cpp:34 msgid "Horizontal Spacement" msgstr "" #: dialogs/spacementdialog.cpp:40 msgid "Spacement" msgstr "" #: dialogs/scaledialog.cpp:35 dialogs/scaledialog.cpp:40 #, fuzzy msgid "Scale" msgstr "kulcs" #: dialogs/drumconfigdialog.cpp:90 #, fuzzy msgid "Config Drums" msgstr "MIDI beállítás..." #: dialogs/drumconfigdialog.cpp:112 msgid "drum element name" msgstr "" #: dialogs/drumconfigdialog.cpp:114 #, fuzzy msgid "short name" msgstr "Mentés ..." #: dialogs/drumconfigdialog.cpp:116 #, fuzzy msgid "line" msgstr "Klarinét" #: dialogs/drumconfigdialog.cpp:119 msgid "symbol" msgstr "" #: dialogs/drumconfigdialog.cpp:121 #, fuzzy msgid "midi pitch" msgstr "midi visszhang" #: dialogs/drumconfigdialog.cpp:192 #, fuzzy msgid "change element" msgstr "csatorna" #: dialogs/drumconfigdialog.cpp:197 msgid "note head" msgstr "" #: dialogs/drumconfigdialog.cpp:223 msgid "preview" msgstr "" #: dialogs/drumconfigdialog.cpp:232 msgid "load defaults" msgstr "" #: dialogs/drumconfigdialog.cpp:233 msgid "play element" msgstr "" #: dialogs/drumconfigdialog.cpp:446 msgid "Save drum configuration" msgstr "" #: dialogs/drumconfigdialog.cpp:537 msgid "Open drum configuration" msgstr "" #: dialogs/chordnamedialog.cpp:50 dialogs/chordnamedialog.cpp:54 #, fuzzy msgid "Chordname" msgstr "Mentés ..." #: dialogs/chordnamedialog.cpp:61 #, fuzzy msgid "chordname" msgstr "Mentés ..." #: dialogs/chordnamedialog.cpp:80 msgid "size" msgstr "" #: dialogs/chordnamedialog.cpp:84 #, fuzzy msgid "position" msgstr "irány" #: dialogs/tools.cpp:372 dialogs/tools.cpp:392 msgid "Toolbox" msgstr "" #: chords/chorddialog.cpp:95 #, fuzzy msgid "Chords" msgstr "Visszhang" #: chords/chorddialog.cpp:99 #, fuzzy msgid "chord" msgstr "Visszhang" #: chords/chorddialog.cpp:109 #, fuzzy msgid "config" msgstr "_Beállítás" #: chords/chorddialog.cpp:112 msgid "diagram" msgstr "" #: chords/chorddialog.cpp:133 msgid "root" msgstr "" #: chords/chorddialog.cpp:150 msgid "mody" msgstr "" #: chords/chorddialog.cpp:169 msgid "chordselect" msgstr "" #, fuzzy #~ msgid "Append staff + A" #~ msgstr "beillesztés - Ctrl + V" #, fuzzy #~ msgid "use alto clef" #~ msgstr "Alt kulcs hozzáadása" #, fuzzy #~ msgid "E_xtras" #~ msgstr "Kilépés" #~ msgid "rest" #~ msgstr "szünet" #~ msgid "Insert rests - 'r'" #~ msgstr "Szünet beszúrása - 'r'" #~ msgid "sharp - #" #~ msgstr "kereszt - #" #~ msgid "flat notes - -" #~ msgstr "leszállított hangok" #~ msgid "natural notes - =" #~ msgstr "törzshangok - =" #, fuzzy #~ msgid "Full Note - 1" #~ msgstr "Egész hang - F1" #, fuzzy #~ msgid "Half Note - 2" #~ msgstr "Fél hang - F2" #, fuzzy #~ msgid "Quarter Note - 4" #~ msgstr "Negyed hang - F4" #, fuzzy #~ msgid "1/8 Note - 5" #~ msgstr "1/8 hang - F5" #, fuzzy #~ msgid "l/16 Note - 6" #~ msgstr "l/16 hang - F6" #, fuzzy #~ msgid "1/32 Note - 7" #~ msgstr "1/32 hang - F7" #, fuzzy #~ msgid "1/64 Note - 8" #~ msgstr "1/64 hang - F8" #, fuzzy #~ msgid "drum note 7" #~ msgstr "leszállított hangok" #, fuzzy #~ msgid "drum note 8" #~ msgstr "leszállított hangok" #, fuzzy #~ msgid "drum note 9" #~ msgstr "leszállított hangok" #, fuzzy #~ msgid "Test Menu ..." #~ msgstr "Megnyitás ..." #, fuzzy #~ msgid "Import MIDI" #~ msgstr "MIDI export ..." #~ msgid "Insert page" #~ msgstr "Lap beszúrása" #, fuzzy #~ msgid "strong pizzicato" #~ msgstr "Pizzicato" #~ msgid "_Clefs" #~ msgstr "_Kulcsok" #~ msgid "Insert bass clef" #~ msgstr "Basszuskulcs hozzáadása" #~ msgid "Configure measure num. font ..." #~ msgstr "Ütemszám betűk beállítása..." #~ msgid "configure font for measure numbers" #~ msgstr "ütemszám betűjének beállítása" #~ msgid "Insert Spec Meas" #~ msgstr "Különleges ütemek beszúrása" nted-1.10.18/po/it.po0000664001041000007640000013527211520270236011136 00000000000000# translation of it.po to Italiana # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Mariano MARINI , 2007, 2008, 2009. # Mariano MARINI , 2008. # Mariano MARINI , 2008. msgid "" msgstr "" "Project-Id-Version: it\n" "Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de\n" "POT-Creation-Date: 2011-01-27 14:18+0100\n" "PO-Revision-Date: 2009-01-20 20:35+0100\n" "Last-Translator: Mariano MARINI \n" "Language-Team: American English \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 0.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: mainwindow.cpp:310 msgid "_File" msgstr "_Archivio" #: mainwindow.cpp:311 msgid "Open_Recent" msgstr "Carica_Recenti" #: mainwindow.cpp:312 msgid "_Export" msgstr "_Esporta" #: mainwindow.cpp:313 msgid "_View" msgstr "_Vista" #: mainwindow.cpp:314 msgid "_Edit" msgstr "_Modifica" #: mainwindow.cpp:315 #, fuzzy msgid "_Tools" msgstr "Attrezzi" #: mainwindow.cpp:316 msgid "_System layout ..." msgstr "_Struttura del sistema" #: mainwindow.cpp:317 msgid "_Insert" msgstr "inserisci" #: mainwindow.cpp:318 msgid "_Upbeat ..." msgstr "Battuta in levare" #: mainwindow.cpp:319 msgid "_Preferences ..." msgstr "" #: mainwindow.cpp:320 msgid "_Dynamics ..." msgstr "Es_pressione" #: mainwindow.cpp:321 msgid "_Lyrics" msgstr "Parole" #: mainwindow.cpp:322 msgid "_Help" msgstr "_Aiuto" #: mainwindow.cpp:323 #, fuzzy msgid "Configure MIDI out..." msgstr "Configura MIDI" #: mainwindow.cpp:323 #, fuzzy msgid "configure MIDI output" msgstr "Configura MIDI" #: mainwindow.cpp:324 #, fuzzy msgid "Configure MIDI in..." msgstr "Configura MIDI" #: mainwindow.cpp:324 #, fuzzy msgid "configure MIDI input" msgstr "Configura MIDI" #: mainwindow.cpp:325 msgid "Configure Paper..." msgstr "Configura Foglio" #: mainwindow.cpp:325 msgid "configure paper" msgstr "configura foglio" #: mainwindow.cpp:326 #, fuzzy msgid "Configure Print..." msgstr "Configura stampa" #: mainwindow.cpp:326 msgid "configure print command" msgstr "configura comando di stampa" #: mainwindow.cpp:327 msgid "New" msgstr "Nuovo" #: mainwindow.cpp:327 msgid "New File" msgstr "Nuovo File" #: mainwindow.cpp:328 msgid "Open ..." msgstr "Carica" #: mainwindow.cpp:328 msgid "Open a file" msgstr "Carica un file" #: mainwindow.cpp:329 msgid "Save ..." msgstr "Archivia" #: mainwindow.cpp:329 mainwindow.cpp:330 msgid "Save a file" msgstr "Archivia un file" #: mainwindow.cpp:330 msgid "Save As ..." msgstr "Archivia come" #: mainwindow.cpp:331 msgid "Print" msgstr "Stampa" #: mainwindow.cpp:331 msgid "print file" msgstr "stampa file" #: mainwindow.cpp:332 msgid "Import MusicXML ..." msgstr "Importa MusicXML" #: mainwindow.cpp:332 msgid "import a musicxml file" msgstr "importa un file musicxml" #: mainwindow.cpp:333 #, fuzzy msgid "Import MIDI..." msgstr "Importa MIDI ..." #: mainwindow.cpp:333 msgid "import a midi file" msgstr "importa un file MIDI" #: mainwindow.cpp:334 #, fuzzy msgid "Import MIDI(2)..." msgstr "Importa MIDI ..." #: mainwindow.cpp:334 #, fuzzy msgid "import a midi file(2)" msgstr "importa un file MIDI" #: mainwindow.cpp:335 msgid "Copy" msgstr "Copia" #: mainwindow.cpp:335 msgid "copy - Ctrl + C" msgstr "copia - Ctrl + C" #: mainwindow.cpp:336 msgid "Paste" msgstr "Incolla" #: mainwindow.cpp:336 msgid "paste - Ctrl + V" msgstr "incolla - Ctrl + V" #: mainwindow.cpp:337 msgid "Delete block" msgstr "Elimina blocco" #: mainwindow.cpp:337 msgid "delete block - Ctrl + X" msgstr "elimina blocco - Ctrl + X" #: mainwindow.cpp:338 msgid "append a system at end" msgstr "aggiungi un rigo alla fine" #: mainwindow.cpp:338 msgid "append system - Ctrl + B" msgstr "aggiungi rigo - Ctrl + B" #: mainwindow.cpp:339 msgid "Insert block" msgstr "inserisci blocco" #: mainwindow.cpp:339 msgid "insert block" msgstr "inserisci block" #: mainwindow.cpp:340 msgid "Insert clef ..." msgstr "inserisci chiave" #: mainwindow.cpp:340 msgid "insert a clef" msgstr "inserisci una chiave" #: mainwindow.cpp:341 msgid "Empty block" msgstr "Svuota blocco" #: mainwindow.cpp:341 msgid "empty block - Ctrl + E" msgstr "svuota blocco - Ctrl + E" #: mainwindow.cpp:342 msgid "reposit all" msgstr "Trasponi tutto" #: mainwindow.cpp:342 msgid "reposit the whole score - Ctrl + T" msgstr "Trasposizione di tutto lo spartito Ctrl+T" #: mainwindow.cpp:343 msgid "Export MIDI ..." msgstr "Esporta MIDI ..." #: mainwindow.cpp:343 msgid "export a midi file" msgstr "esporta un file midi" #: mainwindow.cpp:344 msgid "Export LilyPond ..." msgstr "Esporta LilyPond" #: mainwindow.cpp:344 dialogs/lilypondexportdialog.cpp:44 msgid "LilyPond export" msgstr "Esporta in LilyPond" #: mainwindow.cpp:346 msgid "Export PDF ..." msgstr "Esporta PDF ..." #: mainwindow.cpp:346 msgid "export PDF" msgstr "esporta PDF" #: mainwindow.cpp:348 msgid "Export P_NG ..." msgstr "Esporta P_NG ..." #: mainwindow.cpp:348 msgid "Write a png image" msgstr "Scrive una immagine png" #: mainwindow.cpp:350 msgid "Export S_VG ..." msgstr "Esporta S_VG ..." #: mainwindow.cpp:350 msgid "Write an svg image" msgstr "Scrive una immagine svg" #: mainwindow.cpp:352 msgid "Export P_S ..." msgstr "Esporta P_S ..." #: mainwindow.cpp:352 msgid "Write PostScript" msgstr "Scrivi PostScript" #: mainwindow.cpp:353 msgid "New Window" msgstr "Nuova finestra" #: mainwindow.cpp:353 msgid "Open a new window" msgstr "Apre una nuova finestra" #: mainwindow.cpp:354 msgid "Excerpt ..." msgstr "Estratto ..." #: mainwindow.cpp:354 msgid "Make an excerpt of the score" msgstr "Esegue un estratto dello spartito" #: mainwindow.cpp:355 msgid "Close Window" msgstr "Chiude finestra" #: mainwindow.cpp:355 msgid "Close current window" msgstr "Chiude la finestra corrente" #: mainwindow.cpp:358 msgid "Remove last page" msgstr "Elimina ultima pagina" #: mainwindow.cpp:358 msgid "remove the last page" msgstr "Elimina l'ultima pagina" #: mainwindow.cpp:359 msgid "Remove empty pages" msgstr "Elimina pagine vuote" #: mainwindow.cpp:359 msgid "remove empty pages at end" msgstr "Elimina le ultime pagine vuote" #: mainwindow.cpp:360 msgid "Change spacement ..." msgstr "Modifica spaziatura" #: mainwindow.cpp:360 msgid "change the horizontal spacement" msgstr "modifica la spaziatura orizzontale" #: mainwindow.cpp:361 #, fuzzy msgid "Change Scale ..." msgstr "Modifica la scala" #: mainwindow.cpp:361 msgid "change scale" msgstr "cambia scala" #: mainwindow.cpp:362 #, fuzzy msgid "Configure Record ..." msgstr "Configura Foglio" #: mainwindow.cpp:362 #, fuzzy msgid "configure record" msgstr "configura Nted" #: mainwindow.cpp:363 #, fuzzy msgid "Configure Drums ..." msgstr "Configura MIDI" #: mainwindow.cpp:363 #, fuzzy msgid "configure drums" msgstr "configura foglio" #: mainwindow.cpp:364 msgid "Tools ..." msgstr "Attrezzi ..." #: mainwindow.cpp:364 msgid "Tools " msgstr "Attrezzi" #: mainwindow.cpp:365 msgid "give first measure" msgstr "indica la prima misura" #: mainwindow.cpp:365 msgid "set upbeat by giving the start of first full measure" msgstr "imposta battuta in levare indicando l'inizio della prima battuta" #: mainwindow.cpp:366 msgid "give start" msgstr "indica inizio" #: mainwindow.cpp:366 msgid "set upbeat by giving the start of the score" msgstr "imposta battuta in levare indicando l'inizio dello spartito" #: mainwindow.cpp:367 msgid "Score info ..." msgstr "Informazioni Spartito" #: mainwindow.cpp:367 msgid "edit score info" msgstr "Modifica informazioni dello spartito" #: mainwindow.cpp:368 msgid "Insert keysig ... " msgstr "inserisci tonalità" #: mainwindow.cpp:368 msgid "insert a key signature" msgstr "inserisci una tonalità" #: mainwindow.cpp:369 msgid "Insert lines ... " msgstr "inserisci Linee ..." #: mainwindow.cpp:369 msgid "insert a horizontal line" msgstr "inserisci una linea orizzontale" #: mainwindow.cpp:370 msgid "Insert sign ... " msgstr "inserisci segno ..." #: mainwindow.cpp:370 msgid "insert a free placeable sign" msgstr "inserisci una segno liberamente posizionabile" #: mainwindow.cpp:371 msgid "Slur" msgstr "Legatura" #: mainwindow.cpp:371 msgid "insert a slur - Ctrl+H" msgstr "inserisci una legatura - Ctrl+H" #: mainwindow.cpp:372 msgid "chord ..." msgstr "accordo ..." #: mainwindow.cpp:372 msgid "insert a chord" msgstr "inserisci un accordo" #: mainwindow.cpp:373 msgid "chordname ..." msgstr "nome dell'accordo ..." #: mainwindow.cpp:373 msgid "insert a chordname" msgstr "inserisci un nome dell'accordo" #: mainwindow.cpp:374 msgid "spacer" msgstr "spaziatore" #: mainwindow.cpp:374 msgid "insert a staff spacer" msgstr "inserisci uno spaziatore tra pentagrammi" #: mainwindow.cpp:375 #, fuzzy msgid "Append staff" msgstr "aggiungi un nuovo pentagramma" #: mainwindow.cpp:375 msgid "append a new staff" msgstr "aggiungi un nuovo pentagramma" #: mainwindow.cpp:376 #, fuzzy msgid "Import recorded" msgstr "Importa MusicXML" #: mainwindow.cpp:376 #, fuzzy msgid "import recorded staff" msgstr "forza un pentagramma" #: mainwindow.cpp:377 msgid "Lyrics editor ..." msgstr "" #: mainwindow.cpp:377 msgid "edit lyrics in text editor" msgstr "" #: mainwindow.cpp:378 msgid "ppp" msgstr "ppp" #: mainwindow.cpp:378 msgid "insert ppp" msgstr "inserisci ppp" #: mainwindow.cpp:379 msgid "pp" msgstr "pp" #: mainwindow.cpp:379 msgid "insert pp" msgstr "inserisci pp" #: mainwindow.cpp:380 msgid "p" msgstr "p" #: mainwindow.cpp:380 msgid "insert p" msgstr "inserisci p" #: mainwindow.cpp:381 msgid "mp" msgstr "mp" #: mainwindow.cpp:381 msgid "insert mp" msgstr "inserisci mp" #: mainwindow.cpp:382 msgid "sp" msgstr "sp" #: mainwindow.cpp:382 msgid "insert sp" msgstr "inserisci sp" #: mainwindow.cpp:383 msgid "mf" msgstr "mf" #: mainwindow.cpp:383 msgid "insert mf" msgstr "inserisci mf" #: mainwindow.cpp:384 msgid "sf" msgstr "sf" #: mainwindow.cpp:384 msgid "insert sf" msgstr "inserisci sf" #: mainwindow.cpp:385 msgid "f" msgstr "f" #: mainwindow.cpp:385 msgid "insert f" msgstr "inserisci f" #: mainwindow.cpp:386 msgid "ff" msgstr "ff" #: mainwindow.cpp:386 msgid "insert ff" msgstr "inserisci ff" #: mainwindow.cpp:387 msgid "fff" msgstr "fff" #: mainwindow.cpp:387 msgid "insert fff" msgstr "inserisci fff" #: mainwindow.cpp:388 msgid "tempo ..." msgstr "tempo ..." #: mainwindow.cpp:388 msgid "insert tempo" msgstr "inserisci tempo" #: mainwindow.cpp:389 msgid "Text ..." msgstr "Testo" #: mainwindow.cpp:389 msgid "insert text" msgstr "inserisci testo" #: mainwindow.cpp:390 msgid "accelerando" msgstr "accellerando" #: mainwindow.cpp:390 msgid "insert accelerando" msgstr "inserisci accellerando" #: mainwindow.cpp:391 msgid "ritardando" msgstr "ritardando" #: mainwindow.cpp:391 msgid "insert ritardando" msgstr "inserisci ritardando" #: mainwindow.cpp:392 msgid "lyrics1" msgstr "1a strofa" #: mainwindow.cpp:392 msgid "insert lyrics at line 1" msgstr "inserisci le parole della prima strofa" #: mainwindow.cpp:393 msgid "lyrics2" msgstr "2a strofa" #: mainwindow.cpp:393 msgid "insert lyrics at line 2" msgstr "inserisci le parole della seconda strofa" #: mainwindow.cpp:394 msgid "lyrics3" msgstr "3a strofa" #: mainwindow.cpp:394 msgid "insert lyrics at line 3" msgstr "inserisci le parole della terza strofa" #: mainwindow.cpp:395 msgid "lyrics4" msgstr "4a strofa" #: mainwindow.cpp:395 msgid "insert lyrics at line 4" msgstr "inserisci le parole della quarta strofa" #: mainwindow.cpp:396 msgid "lyrics5" msgstr "5a strofa" #: mainwindow.cpp:396 msgid "insert lyrics at line 5" msgstr "inserisci le parole della quinta strofa" #: mainwindow.cpp:397 msgid "Insert tuplet ..." msgstr "inserisci gruppo irregolare" #: mainwindow.cpp:397 msgid "insert a tuplet (Ctrl + num)" msgstr "inserisci gruppo irregolare (Ctrl + num)" #: mainwindow.cpp:398 msgid "brace" msgstr "grafa" #: mainwindow.cpp:398 msgid "group staves by means of a brace" msgstr "unisci battute con una grafa" #: mainwindow.cpp:399 msgid "bracket" msgstr "Parentesi" #: mainwindow.cpp:399 msgid "group staves by means of a bracket" msgstr "unisci battute con una parentesi" #: mainwindow.cpp:400 msgid "connect barlines" msgstr "Collega barrette" #: mainwindow.cpp:400 msgid "set connected bar lines" msgstr "Imposta barrette collegate" #: mainwindow.cpp:401 msgid "remove group" msgstr "elimina unioni" #: mainwindow.cpp:401 msgid "remove a group of connected staves" msgstr "elimina un gruppo di pentagrammi collegati" #: mainwindow.cpp:402 msgid "Remove tuplet" msgstr "Elimina gruppo irregolare" #: mainwindow.cpp:402 msgid "remove a tuplet" msgstr "elimina un gruppo irregolare" #: mainwindow.cpp:403 msgid "Muting ..." msgstr "Muto ..." #: mainwindow.cpp:403 msgid "mute some staves" msgstr "muto di alcune battute" #: mainwindow.cpp:404 msgid "Transpose ..." msgstr "Trasporre ..." #: mainwindow.cpp:404 msgid "transpose" msgstr "traspone" #: mainwindow.cpp:405 msgid "hide rests" msgstr "nascondi pause" #: mainwindow.cpp:405 msgid "hide (selected) rests" msgstr "nascondi puase selezionate" #: mainwindow.cpp:406 msgid "unhide rests" msgstr "rivela pause nascoste" #: mainwindow.cpp:406 msgid "unhide (selected) rests" msgstr "rivela pause nascoste selezionate" #: mainwindow.cpp:407 #, fuzzy msgid "hide rests (all v.)" msgstr "nascondi pause" #: mainwindow.cpp:407 #, fuzzy msgid "hide selected rests (all v.)" msgstr "nascondi puase selezionate" #: mainwindow.cpp:408 #, fuzzy msgid "unhide rests (all v.)" msgstr "rivela pause nascoste" #: mainwindow.cpp:408 #, fuzzy msgid "unhide selected rests (all v.)" msgstr "rivela pause nascoste selezionate" #: mainwindow.cpp:409 msgid "set all to sharp ..." msgstr "" #: mainwindow.cpp:409 msgid "set all flats to sharp" msgstr "" #: mainwindow.cpp:410 #, fuzzy msgid "set all to flat ..." msgstr "inserisci gruppo irregolare" #: mainwindow.cpp:410 msgid "set all sharps to flat" msgstr "" #: mainwindow.cpp:411 msgid "About NtEd" msgstr "Informazioni su Nted" #: mainwindow.cpp:413 msgid "Documentation ..." msgstr "Documentazione ..." #: mainwindow.cpp:415 msgid "License" msgstr "Licenza" #: mainwindow.cpp:416 msgid "E_xit" msgstr "_Termina" #: mainwindow.cpp:416 msgid "Exit the program" msgstr "Termina programma" #: mainwindow.cpp:420 msgid "play" msgstr "Suona" #: mainwindow.cpp:421 msgid "voices in different colors" msgstr "voci con colori diversi" #: mainwindow.cpp:422 msgid "show measure numbers" msgstr "mostra numeri battute" #: mainwindow.cpp:423 msgid "show hidden elements" msgstr "mostra elementi nascosti" #: mainwindow.cpp:424 msgid "midi input" msgstr "" #: mainwindow.cpp:425 msgid "record midi" msgstr "" #: mainwindow.cpp:425 #, fuzzy msgid "record midi - i" msgstr "esporta un file midi" #: mainwindow.cpp:429 msgid "in" msgstr "in" #: mainwindow.cpp:429 msgid "Zoom in Ctrl + +" msgstr "Ingrandimento Ctrl + +" #: mainwindow.cpp:430 msgid "out" msgstr "out" #: mainwindow.cpp:430 msgid "Zoom out Ctrl + -" msgstr "Riduzione Ctrl + -" #: mainwindow.cpp:431 msgid "undo" msgstr "disfa" #: mainwindow.cpp:431 msgid "Undo Ctrl + z" msgstr "Disfa Ctrl + z" #: mainwindow.cpp:432 msgid "redo" msgstr "rifà" #: mainwindow.cpp:432 msgid "Redo Ctrl + y" msgstr "Rifà Ctrl + y" #: mainwindow.cpp:433 msgid "customize beam" msgstr "personalizza stanghetta" #: mainwindow.cpp:433 msgid "customize beam - Ctrl + j" msgstr "personalizza stanghetta - Ctrl + j" #: mainwindow.cpp:434 msgid "flip stem" msgstr "inverti gambo" #: mainwindow.cpp:434 msgid "flip stem - Ctrl + f" msgstr "inverti gambo - Ctrl + f" #: mainwindow.cpp:438 msgid "insert" msgstr "inserisci" #: mainwindow.cpp:438 msgid "Toggle Insert/Erase Mode - n" msgstr "Scambia Modo Inserisci/Cancella - n" #: mainwindow.cpp:442 msgid "page" msgstr "pagina" #: mainwindow.cpp:442 msgid "Page Mode - p" msgstr "Tipo Pagina - p" #: mainwindow.cpp:443 dialogs/staffcontextdialog.cpp:177 #: dialogs/keysigdialog.cpp:42 dialogs/midirecordconfigdialog.cpp:160 msgid "key" msgstr "accordo" #: mainwindow.cpp:443 msgid "Keyboard insert mode - k" msgstr "Modo inserimento da tastiera - k" #: mainwindow.cpp:1625 msgid "Cannot replay because could not open ALSA sequencer" msgstr "Riproduzione impossibile perché non posso aprire il sequenziatore ALSA" #: mainwindow.cpp:2776 mainwindow.cpp:5110 mainwindow.cpp:5156 #: mainwindow.cpp:6090 mainwindow.cpp:6180 mainwindow.cpp:6937 #: mainwindow.cpp:9584 msgid "Save Changes ?" msgstr "Archivio Modifiche?" #: mainwindow.cpp:2894 mainwindow.cpp:2995 mainwindow.cpp:3576 #: mainwindow.cpp:3696 mainwindow.cpp:9035 mainwindow.cpp:9147 #: mainwindow.cpp:9271 mainwindow.cpp:9360 dialogs/lyricseditor.cpp:350 #: dialogs/drumconfigdialog.cpp:493 #, c-format msgid "Cannot open %s for writing" msgstr "Impossibile caricare %s per scriverci" #: mainwindow.cpp:2905 mainwindow.cpp:3009 #, c-format msgid "Cannot rename %s to %s" msgstr "Impossibile rinominare %s in %s" #: mainwindow.cpp:2940 msgid "Save score" msgstr "Archivia spartito" #: mainwindow.cpp:2982 mainwindow.cpp:3564 mainwindow.cpp:3684 #: mainwindow.cpp:8995 mainwindow.cpp:9135 mainwindow.cpp:9259 #: mainwindow.cpp:9348 dialogs/lyricseditor.cpp:336 #: dialogs/drumconfigdialog.cpp:479 #, c-format msgid "File %s already exists. Overwrite ?" msgstr "Il file %s esiste già. Sovrascrivi?" #: mainwindow.cpp:3272 mainwindow.cpp:3416 msgid "Please select a note or rest!" msgstr "Per favore scegli una nota o pausa" #: mainwindow.cpp:3277 msgid "You select a note in an tuplet" msgstr "Hai scelto una nota di un gruppo irregolare" #: mainwindow.cpp:3281 msgid "You cannot copy incomplete tuplets!" msgstr "Non puoi copiare gruppi irregolari incompleti!" #: mainwindow.cpp:3296 msgid "Paste not possible: A tuplet would cross a measure" msgstr "Incolla impossibile. Un gruppo irregolare supera la battuta" #: mainwindow.cpp:3443 msgid "Empty not possible because of incomplete tuplets" msgstr "Svuotamento impossibile a causa di un gruppo irregolare incompleto" #: mainwindow.cpp:4112 #, fuzzy, c-format msgid "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "Translation: " msgstr "" "Nted versione %s di Joerg Anders\n" "Invia segnalazioni di imperfezioni a ja@informatik.tu-chemnitz.de\n" " informazioni su: http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted." "xhtml\n" "Autori:\n" " J.Anders \n" " v4hn \n" "Traduzione: mariano.marini@email.it" #: mainwindow.cpp:4123 msgid "" "Excuse! The documentation is not available\n" "due to an installation error" msgstr "" "Scusa! La documentazione non è disponibile a causa di un errore " "nell'installazione." #: mainwindow.cpp:4133 msgid "Excuse! Cannot exec" msgstr "Scusa! Impossibile eseguire" #: mainwindow.cpp:4138 msgid "Excuse! Cannot fork" msgstr "Scusa! Fork impossibile " #: mainwindow.cpp:4880 mainwindow.cpp:4902 mainwindow.cpp:7850 msgid "please select a note or rest first" msgstr "per favore scegli prima una nota o pausa" #: mainwindow.cpp:4884 mainwindow.cpp:7854 msgid "you cannot select an element with dot" msgstr "non puoi scegliere un elemento puntato" #: mainwindow.cpp:4894 mainwindow.cpp:7869 msgid "I'm not able to create a tuplet here" msgstr "Non sono in grado di creare una terzina qui" #: mainwindow.cpp:4906 msgid "selected element is not inside a tuplet" msgstr "L'elemento scelto non è dentro una terzina" #: mainwindow.cpp:5171 msgid "Open score" msgstr "Carica spartito" #: mainwindow.cpp:5211 mainwindow.cpp:6306 mainwindow.cpp:6966 #: dialogs/lyricseditor.cpp:433 dialogs/drumconfigdialog.cpp:567 #, c-format msgid "Cannot open %s for reading" msgstr "Impossibile caricare %s per leggerlo" #: mainwindow.cpp:6105 msgid "Import MusicXML" msgstr "Importa MusicXML" #: mainwindow.cpp:7030 mainwindow.cpp:7056 msgid "Cannot list midi ports because could not open ALSA sequencer" msgstr "" "Impossibile elencare le porte MIDI perché il sequenziatore ALSA non si apre" #: mainwindow.cpp:7127 msgid "Font selection - Measure numbers" msgstr "Selezione caratteri - Numeri battute" #: mainwindow.cpp:7749 msgid "Adjust notes ?" msgstr "Accordare note?" #: mainwindow.cpp:8951 msgid "Create PNG" msgstr "Crea PNG" #: mainwindow.cpp:9091 msgid "Create SVG" msgstr "Crea PNG" #: mainwindow.cpp:9217 msgid "Create Postscript" msgstr "Crea PostScript" #: mainwindow.cpp:9306 msgid "Create PDF" msgstr "Crea PDF" #: mainwindow.cpp:9470 dialogs/lilypondexportdialog.cpp:70 msgid "select staves" msgstr "scegli pentagrammi" #: mainwindow.cpp:9627 #, c-format msgid "Usage: %s [.ntd]\n" msgstr "Uso: %s [.ntd]\n" #: mainwindow.cpp:9655 msgid "" "unable to set decimal point to '.'. PostScript output will be erroneous. \t\t" "\tPlease set the $LANG environment variable appropriately!" msgstr "" "Impossibile impostare il punto decimale '.'. il file PostScript sarà errato." "\t\t \tPer favore imposta correttamente la variabile ambiente $LANG!" #: resource.cpp:380 msgid "Piano 1" msgstr "Piano 1" #: resource.cpp:380 msgid "Piano 2" msgstr "Piano 2" #: resource.cpp:380 msgid "Piano 3" msgstr "Piano 3" #: resource.cpp:380 msgid "Honky-tonk" msgstr "Honky-tonk" #: resource.cpp:381 msgid "E.Piano 1" msgstr "E.Piano 1" #: resource.cpp:381 msgid "E.Piano 2" msgstr "E.Piano 2" #: resource.cpp:381 msgid "Harpsichord" msgstr "Harpsichord" #: resource.cpp:381 msgid "Clavinet" msgstr "Clarinetto" #: resource.cpp:382 msgid "Celesta" msgstr "Celesta" #: resource.cpp:382 msgid "Glockenspiel" msgstr "Glockenspiel" #: resource.cpp:382 msgid "Music Box" msgstr "Music Box" #: resource.cpp:382 msgid "Vibraphone" msgstr "Vibrafono" #: resource.cpp:383 msgid "Marimba" msgstr "Marimba" #: resource.cpp:383 msgid "Xylophone" msgstr "Xilofono" #: resource.cpp:383 msgid "Tubular Bells" msgstr "Tubular Bells" #: resource.cpp:383 msgid "Dulcimer" msgstr "Dulcimer" #: resource.cpp:384 msgid "Organ 1" msgstr "Organo 1" #: resource.cpp:384 msgid "Organ 2" msgstr "Organo 2" #: resource.cpp:384 msgid "Organ 3" msgstr "Organo 3" #: resource.cpp:384 msgid "Church Organ" msgstr "Organo da chiesa" #: resource.cpp:385 msgid "Reed Organ" msgstr "Reed Organ" #: resource.cpp:385 msgid "Accordion" msgstr "Accordion" #: resource.cpp:385 msgid "Harmonica" msgstr "Fisarmonica" #: resource.cpp:385 msgid "Bandoneon" msgstr "Bandoneon" #: resource.cpp:386 msgid "Nylon Guitar" msgstr "Chitarra classica" #: resource.cpp:386 msgid "Steel Guitar" msgstr "Chitarra folk" #: resource.cpp:386 msgid "Jazz Guitar" msgstr "Chitarra jazz" #: resource.cpp:386 msgid "Clean Guitar" msgstr "Clean Guitar" #: resource.cpp:387 msgid "Guitar Mutes" msgstr "Guitar Mutes" #: resource.cpp:387 msgid "Overdrive Guitar" msgstr "Overdrive Guitar" #: resource.cpp:387 msgid "Guitar Harmonics" msgstr "Citarra acustica" #: resource.cpp:388 msgid "Acoustic Bass" msgstr "Basso acustico" #: resource.cpp:388 msgid "Fingered Bass" msgstr "Fingered Bass" #: resource.cpp:388 msgid "Picked Bass" msgstr "Picked Bass" #: resource.cpp:388 msgid "Fretless Bass" msgstr "Fretless Bass" #: resource.cpp:389 msgid "Slap Bass 1" msgstr "Slap Bass 1" #: resource.cpp:389 msgid "Slap Bass 2" msgstr "Slap Bass 2" #: resource.cpp:389 msgid "Synth Bass 1" msgstr "Synth Bass 1" #: resource.cpp:389 msgid "Synth Bass 2" msgstr "Synth Bass 2" #: resource.cpp:390 msgid "Violin" msgstr "Violino" #: resource.cpp:390 msgid "Viola" msgstr "Viola" #: resource.cpp:390 msgid "Cello" msgstr "Violoncello" #: resource.cpp:390 msgid "Contrabass" msgstr "Contrabbasso" #: resource.cpp:391 msgid "Tremolo Strings" msgstr "Tremolo Strings" #: resource.cpp:391 msgid "Pizzicato" msgstr "Pizzicato" #: resource.cpp:391 msgid "Harp" msgstr "Arpa" #: resource.cpp:391 msgid "Timpani" msgstr "Timpani" #: resource.cpp:392 msgid "Strings" msgstr "Strings" #: resource.cpp:392 msgid "Slow Strings" msgstr "Slow Strings" #: resource.cpp:392 msgid "Synth Strings 1" msgstr "Synth Strings 1" #: resource.cpp:392 msgid "Synth Strings 2" msgstr "Synth Strings 2" #: resource.cpp:393 msgid "Choir Aahs" msgstr "Coro Aahs" #: resource.cpp:393 msgid "Voice Oohs" msgstr "Voce Oohs" #: resource.cpp:393 msgid "Synth Vox" msgstr "Sintetizzatore vocale" #: resource.cpp:393 msgid "Orchestra Hit" msgstr "Orchestra Hit" #: resource.cpp:394 msgid "Trumpet" msgstr "Tromba" #: resource.cpp:394 msgid "Trombone" msgstr "Trombone" #: resource.cpp:394 msgid "Tuba" msgstr "Tuba" #: resource.cpp:394 msgid "Mute Trumpet" msgstr "Tromba muta" #: resource.cpp:395 msgid "French Horns" msgstr "Corno francese" #: resource.cpp:395 msgid "Brass" msgstr "Ottoni" #: resource.cpp:395 msgid "Synth Brass 1" msgstr "Synth Brass 1" #: resource.cpp:395 msgid "Synth Brass 2" msgstr "Synth Brass 2" #: resource.cpp:396 msgid "Soprano Sax" msgstr "Sax Soprano" #: resource.cpp:396 msgid "Alto Sax" msgstr "Sax soprano" #: resource.cpp:396 msgid "Tenor Sax" msgstr "Sax tenore" #: resource.cpp:396 msgid "Baritone Sax" msgstr "Sax baritono" #: resource.cpp:397 msgid "Oboe" msgstr "Oboe" #: resource.cpp:397 msgid "English Horn" msgstr "Corno inglese" #: resource.cpp:397 msgid "Bassoon" msgstr "Fagotto" #: resource.cpp:397 msgid "Clarinet" msgstr "Clarinetto" #: resource.cpp:398 msgid "Piccolo" msgstr "Piccolo" #: resource.cpp:398 msgid "Flute" msgstr "Flauto" #: resource.cpp:398 msgid "Recorder" msgstr "Registratore" #: resource.cpp:398 msgid "Pan Flute" msgstr "Flauto di pan" #: resource.cpp:399 msgid "Bottle Chiff" msgstr "Bottle Chiff" #: resource.cpp:399 msgid "Shakuhachi" msgstr "Shakuhachi" #: resource.cpp:399 msgid "Whistle" msgstr "Zuffolo" #: resource.cpp:399 msgid "Ocarina" msgstr "Ocarina" #: resource.cpp:400 msgid "Square Wave" msgstr "Onda quadra" #: resource.cpp:400 msgid "Saw Wave" msgstr "Saw Wave" #: resource.cpp:400 msgid "Synth Calliope" msgstr "Synth Calliope" #: resource.cpp:400 msgid "Chiffer Lead" msgstr "Chiffer Lead" #: resource.cpp:401 msgid "Charang" msgstr "Charang" #: resource.cpp:401 msgid "Solo Vox" msgstr "Voce solista" #: resource.cpp:401 msgid "5th Saw Wave" msgstr "5th Saw Wave" #: resource.cpp:401 msgid "Bass & Lead" msgstr "Bass & Lead" #: resource.cpp:402 msgid "Fantasia" msgstr "Fantasia" #: resource.cpp:402 msgid "Warm Pad" msgstr "Warm Pad" #: resource.cpp:402 msgid "Poly Synth" msgstr "Sintet.Polifonico" #: resource.cpp:402 msgid "Space Voice" msgstr "Space Voice" #: resource.cpp:403 msgid "Bowed Glass" msgstr "Bowed Glass" #: resource.cpp:403 msgid "Metal Pad" msgstr "Metal Pad" #: resource.cpp:403 msgid "Halo Pad" msgstr "Halo Pad" #: resource.cpp:403 msgid "Sweep Pad" msgstr "Sweep Pad" #: resource.cpp:404 msgid "Ice Rain" msgstr "Ice Rain" #: resource.cpp:404 msgid "Soundtrack" msgstr "Base musicale" #: resource.cpp:404 msgid "Crystal" msgstr "Crystal" #: resource.cpp:404 msgid "Atmosphere" msgstr "Atmosfera" #: resource.cpp:405 msgid "Brightness" msgstr "Brillantezza" #: resource.cpp:405 msgid "Goblin" msgstr "Goblin" #: resource.cpp:405 msgid "Echo Drops" msgstr "Eco di goccia" #: resource.cpp:405 msgid "Star Theme" msgstr "Star Theme" #: resource.cpp:406 msgid "Sitar" msgstr "Sitar" #: resource.cpp:406 msgid "Banjo" msgstr "Banjo" #: resource.cpp:406 msgid "Shamisen" msgstr "Shamisen" #: resource.cpp:406 msgid "Koto" msgstr "Koto" #: resource.cpp:407 msgid "Kalimba" msgstr "Kalimba" #: resource.cpp:407 msgid "Bagpipe" msgstr "Cornamusa" #: resource.cpp:407 msgid "Fiddle" msgstr "Fiddle" #: resource.cpp:407 msgid "Shenai" msgstr "Shenai" #: resource.cpp:408 msgid "Tinker Bell" msgstr "Campanellino" #: resource.cpp:408 msgid "Agogo" msgstr "Agogo" #: resource.cpp:408 msgid "Steel Drum" msgstr "Tamburo metallico" #: resource.cpp:408 msgid "Wood Block" msgstr "Wood Block" #: resource.cpp:409 msgid "Taiko Drum" msgstr "Taiko Drum" #: resource.cpp:409 msgid "Melodic Tom" msgstr "Melodic Tom" #: resource.cpp:409 msgid "Synth Drum" msgstr "Synth Drum" #: resource.cpp:409 msgid "Reverse Cymbal" msgstr "Reverse Cymbal" #: resource.cpp:410 msgid "Fret Noise" msgstr "Fret Noise" #: resource.cpp:410 msgid "Breath Noise" msgstr "Breath Noise" #: resource.cpp:410 msgid "Seashore" msgstr "Seashore" #: resource.cpp:410 msgid "Bird" msgstr "Uccello" #: resource.cpp:411 msgid "Telephone" msgstr "Telefono" #: resource.cpp:411 msgid "Helicopter" msgstr "Elicottero" #: resource.cpp:411 msgid "Applause" msgstr "Applausi" #: resource.cpp:411 msgid "Gun Shot" msgstr "Sparo" #: resource.cpp:827 msgid "" "Cannot open ALSA MIDI sequencer --> replay won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Impossibile aprire il sequencer ALSA MIDI --> riproduci non funziona :-((\n" " Prova, come root\n" "modprobe snd-seq-mid\n" "e riavvia NtEd\n" "Forse questo ti aiuta(?)" #: resource.cpp:835 #, fuzzy msgid "Error creating ALSA sequencer output port --> replay won't work :-((" msgstr "" "Errone nella creazione della porta del sequenziatore ALSA -> riascolta non " "funziona :-((" #: resource.cpp:845 #, fuzzy msgid "" "Cannot open ALSA MIDI sequencer --> read/record won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Impossibile aprire il sequencer ALSA MIDI --> riproduci non funziona :-((\n" " Prova, come root\n" "modprobe snd-seq-mid\n" "e riavvia NtEd\n" "Forse questo ti aiuta(?)" #: resource.cpp:853 #, fuzzy msgid "Error creating ALSA sequencer input port --> record won't work :-((" msgstr "" "Errone nella creazione della porta del sequenziatore ALSA -> riascolta non " "funziona :-((" #: dialogs/paperconfigdialog.cpp:37 dialogs/paperconfigdialog.cpp:41 msgid "Paper" msgstr "Foglio" #: dialogs/paperconfigdialog.cpp:46 msgid "paper type" msgstr "tipo di foglio" #: dialogs/paperconfigdialog.cpp:81 msgid "orientation" msgstr "orientamento" #: dialogs/paperconfigdialog.cpp:82 msgid "portrait" msgstr "ritratto" #: dialogs/paperconfigdialog.cpp:83 msgid "landscape" msgstr "paesaggio" #: dialogs/portchoosedialog.cpp:46 msgid "MIDI ports" msgstr "porte MIDI" #: dialogs/portchoosedialog.cpp:60 dialogs/staffcontextdialog.cpp:321 #: dialogs/staffcontextdialog.cpp:437 dialogs/textdialog.cpp:200 #: dialogs/midirecordconfigdialog.cpp:133 dialogs/staffselectdialog.cpp:69 #: dialogs/drumconfigdialog.cpp:110 msgid "no" msgstr "numero" #: dialogs/portchoosedialog.cpp:62 msgid "port" msgstr "porta" #: dialogs/portchoosedialog.cpp:78 msgid "midi echo" msgstr "ritorno MIDI" #: dialogs/printconfigdialog.cpp:31 msgid "Print command" msgstr "Comando di stampa" #: dialogs/printconfigdialog.cpp:35 msgid "print command" msgstr "comando di stampa" #: dialogs/staffcontextdialog.cpp:31 msgid "G flat Major; e flat minor" msgstr "Sol bemolle maggiore, mi bemolle minore" #: dialogs/staffcontextdialog.cpp:31 msgid "D flat Major; b flat minor" msgstr "Re bemolle maggiore, si bemolle minore" #: dialogs/staffcontextdialog.cpp:32 msgid "A flat Major; f minor" msgstr "La bemolle maggiore, fa minore" #: dialogs/staffcontextdialog.cpp:32 msgid "E flat Major; c minor" msgstr "Mi bemolle maggiore, do minore" #: dialogs/staffcontextdialog.cpp:33 msgid "B flat Major; g minor" msgstr "Si bemolle maggiore, sol minore" #: dialogs/staffcontextdialog.cpp:33 msgid "F Major; d minor" msgstr "Fa maggiore, re minore" #: dialogs/staffcontextdialog.cpp:34 msgid "C Major; a minor" msgstr "Do maggiore, la minore" #: dialogs/staffcontextdialog.cpp:34 msgid "G Major; e minor" msgstr "Sol maggiore, re minore" #: dialogs/staffcontextdialog.cpp:35 msgid "D Major; b minor" msgstr "Re maggiore, si minore" #: dialogs/staffcontextdialog.cpp:35 msgid "A Major; f sharp minor" msgstr "La maggiore, fa diesis minore" #: dialogs/staffcontextdialog.cpp:36 msgid "E Major; c sharp minor" msgstr "Mi maggiore, do diesis minore" #: dialogs/staffcontextdialog.cpp:36 msgid "B Major; g sharp minor" msgstr "Si maggiore, sol diesis minore" #: dialogs/staffcontextdialog.cpp:37 msgid "F sharp Major; d sharp minor" msgstr "Fa diesis maggiore, re diesis minore" #: dialogs/staffcontextdialog.cpp:120 msgid "Staff context" msgstr "Contesto pentagramma" #: dialogs/staffcontextdialog.cpp:132 dialogs/clefconfigdialog.cpp:49 msgid "clef" msgstr "chiave" #: dialogs/staffcontextdialog.cpp:157 dialogs/clefconfigdialog.cpp:74 msgid "Octave shift:" msgstr "Spostamento di ottava" #: dialogs/staffcontextdialog.cpp:163 dialogs/keysigdialog.cpp:66 #: dialogs/clefconfigdialog.cpp:81 msgid "adjust notes" msgstr "accorda note" #: dialogs/staffcontextdialog.cpp:200 dialogs/measureconfigdialog.cpp:110 #: dialogs/midirecordconfigdialog.cpp:70 msgid "time signature" msgstr "tempo" #: dialogs/staffcontextdialog.cpp:204 dialogs/measureconfigdialog.cpp:114 #: dialogs/midirecordconfigdialog.cpp:74 msgid "Numerator:" msgstr "Numeratore" #: dialogs/staffcontextdialog.cpp:205 dialogs/measureconfigdialog.cpp:115 #: dialogs/midirecordconfigdialog.cpp:75 msgid "Denominator:" msgstr "Denominatore" #: dialogs/staffcontextdialog.cpp:248 msgid "staff name" msgstr "Nome pentagramma" #: dialogs/staffcontextdialog.cpp:255 msgid "staff short name" msgstr "Nome corto del pentagramma" #: dialogs/staffcontextdialog.cpp:262 #, fuzzy msgid "group name" msgstr "Nome corto del pentagramma" #: dialogs/staffcontextdialog.cpp:269 #, fuzzy msgid "group short name" msgstr "Nome corto del pentagramma" #: dialogs/staffcontextdialog.cpp:278 dialogs/tempodialog.cpp:154 #: dialogs/textdialog.cpp:138 dialogs/midirecordconfigdialog.cpp:147 msgid "tempo" msgstr "tempo" #: dialogs/staffcontextdialog.cpp:283 msgid "chorus" msgstr "coro" #: dialogs/staffcontextdialog.cpp:289 msgid "transp." msgstr "transp." #: dialogs/staffcontextdialog.cpp:295 msgid "reverb" msgstr "reverbero" #: dialogs/staffcontextdialog.cpp:301 dialogs/textdialog.cpp:123 #: dialogs/midirecordconfigdialog.cpp:153 msgid "volume" msgstr "volume" #: dialogs/staffcontextdialog.cpp:307 msgid "pan" msgstr "pentola" #: dialogs/staffcontextdialog.cpp:323 dialogs/textdialog.cpp:202 #: dialogs/midirecordconfigdialog.cpp:135 msgid "instruments" msgstr "strumenti" #: dialogs/staffcontextdialog.cpp:332 dialogs/textdialog.cpp:150 msgid "channel" msgstr "canale" #: dialogs/staffcontextdialog.cpp:337 dialogs/mutedialog.cpp:69 msgid "muting" msgstr "muto" #: dialogs/staffcontextdialog.cpp:338 dialogs/staffcontextdialog.cpp:370 #: dialogs/mutedialog.cpp:72 dialogs/selectordialog.cpp:98 msgid "all" msgstr "tutti" #: dialogs/staffcontextdialog.cpp:369 msgid "voices" msgstr "Voci" #: dialogs/staffcontextdialog.cpp:429 dialogs/staffselectdialog.cpp:58 msgid "staff" msgstr "pentagramma" #: dialogs/staffcontextdialog.cpp:435 dialogs/staffselectdialog.cpp:67 msgid "item" msgstr "voce" #: dialogs/staffcontextdialog.cpp:485 msgid "Score" msgstr "Pentagramma" #: dialogs/staffcontextdialog.cpp:486 msgid "MIDI" msgstr "MIDI" #: dialogs/staffcontextdialog.cpp:495 msgid "Staff position" msgstr "Posizione dei pentagrammi" #: dialogs/tupletdialog.cpp:34 msgid "Tuplet" msgstr "Gruppo irregolare" #: dialogs/tupletdialog.cpp:40 msgid "" "Instead of using this dialog\n" "you can simply press + num" msgstr "" "Invece di usare questa finestra\n" "puoi premere semplicemente + num" #: dialogs/tupletdialog.cpp:42 msgid "Tuplet value:" msgstr "Valore gruppo irregolare" #: dialogs/tupletdialog.cpp:47 msgid "method 2" msgstr "metodo 2" #: dialogs/insertblockdialog.cpp:32 msgid "Insert blocks" msgstr "Inserisci blocchi" #: dialogs/insertblockdialog.cpp:39 msgid "block count:" msgstr "conteggio blocchi" #: dialogs/measureconfigdialog.cpp:53 msgid "Measure type" msgstr "Tipo misura" #: dialogs/measureconfigdialog.cpp:62 msgid "measure type" msgstr "tipo misura" #: dialogs/measureconfigdialog.cpp:89 msgid "alternative 1" msgstr "alternativa 1 " #: dialogs/measureconfigdialog.cpp:90 msgid "alternative 2" msgstr "alternativa 2" #: dialogs/measureconfigdialog.cpp:99 msgid "hide following" msgstr "nascondi questi" #: dialogs/measureconfigdialog.cpp:158 msgid "enable timesig" msgstr "abilita segnatempo" #: dialogs/measureconfigdialog.cpp:160 msgid "delete timesig" msgstr "elimina segnatempo" #: dialogs/keysigdialog.cpp:37 msgid "New keysignature" msgstr "Nuova chiave" #: dialogs/keysigdialog.cpp:64 msgid "adjust" msgstr "accorda" #: dialogs/scoreinfodialog.cpp:71 dialogs/scoreinfodialog.cpp:75 msgid "Score info" msgstr "Informazioni spartito" #: dialogs/scoreinfodialog.cpp:79 msgid "Title:" msgstr "Titolo" #: dialogs/scoreinfodialog.cpp:87 msgid "Subject:" msgstr "Oggetto" #: dialogs/scoreinfodialog.cpp:95 msgid "Composer:" msgstr "Autore" #: dialogs/scoreinfodialog.cpp:103 msgid "Arranger:" msgstr "Arrangiatore" #: dialogs/scoreinfodialog.cpp:111 msgid "Copyright:" msgstr "Diritti d'autore" #: dialogs/clefconfigdialog.cpp:44 msgid "Clef configuration" msgstr "Configurazione della chiave" #: dialogs/volumedialog.cpp:32 msgid "Set Volume" msgstr "Imposta volume" #: dialogs/volumedialog.cpp:44 msgid "volume:" msgstr "volume:" #: dialogs/tempodialog.cpp:56 msgid "Set Tempo" msgstr "Imposta tempo" #: dialogs/tempodialog.cpp:128 msgid "kind" msgstr "base" #: dialogs/tempodialog.cpp:150 msgid "tempo:" msgstr "tempo:" #: dialogs/lyricseditor.cpp:67 #, fuzzy msgid "Lyrics" msgstr "Parole" #: dialogs/lyricseditor.cpp:85 #, fuzzy msgid "lyrics 1" msgstr "1a strofa" #: dialogs/lyricseditor.cpp:86 #, fuzzy msgid "lyrics 2" msgstr "2a strofa" #: dialogs/lyricseditor.cpp:87 #, fuzzy msgid "lyrics 3" msgstr "3a strofa" #: dialogs/lyricseditor.cpp:88 #, fuzzy msgid "lyrics 4" msgstr "4a strofa" #: dialogs/lyricseditor.cpp:89 #, fuzzy msgid "lyrics 5" msgstr "5a strofa" #: dialogs/lyricseditor.cpp:135 dialogs/drumconfigdialog.cpp:230 msgid "load from file" msgstr "" #: dialogs/lyricseditor.cpp:136 dialogs/drumconfigdialog.cpp:231 #, fuzzy msgid "save to file" msgstr "Archivia un file" #: dialogs/lyricseditor.cpp:143 dialogs/drumconfigdialog.cpp:247 #, fuzzy msgid "file" msgstr "_Archivio" #: dialogs/lyricseditor.cpp:292 #, fuzzy msgid "Save lyrics" msgstr "1a strofa" #: dialogs/lyricseditor.cpp:392 #, fuzzy msgid "Open lyrics file" msgstr "Carica un file" #: dialogs/mutedialog.cpp:34 msgid "Muting" msgstr "Muto" #: dialogs/mutedialog.cpp:55 dialogs/selectordialog.cpp:61 #, c-format msgid "Staff %d" msgstr "pentagramma %d" #: dialogs/mutedialog.cpp:74 dialogs/selectordialog.cpp:100 msgid "none" msgstr "nessuno" #: dialogs/linesdialog.cpp:40 msgid "Lines" msgstr "Linee" #: dialogs/linesdialog.cpp:46 msgid "lines" msgstr "linee" #: dialogs/selectordialog.cpp:35 msgid "Transpose" msgstr "Trasposizione" #: dialogs/selectordialog.cpp:39 #, fuzzy msgid "Select" msgstr "selezione" #: dialogs/selectordialog.cpp:73 msgid "half-tones" msgstr "mezzi toni" #: dialogs/selectordialog.cpp:76 dialogs/selectordialog.cpp:95 #: chords/chorddialog.cpp:159 msgid "selection" msgstr "selezione" #: dialogs/selectordialog.cpp:87 msgid "use selection" msgstr "usa selezione" #: dialogs/textdialog.cpp:69 msgid "Text" msgstr "Testo" #: dialogs/textdialog.cpp:89 chords/chorddialog.cpp:111 msgid "text" msgstr "testo" #: dialogs/textdialog.cpp:98 msgid "select font" msgstr "scegli carattere" #: dialogs/textdialog.cpp:105 msgid "anchor" msgstr "ancora" #: dialogs/textdialog.cpp:108 msgid "left" msgstr "sinistra" #: dialogs/textdialog.cpp:109 msgid "mid" msgstr "mid" #: dialogs/textdialog.cpp:110 msgid "right" msgstr "destra" #: dialogs/textdialog.cpp:130 msgid "enable volume change" msgstr "abilita modifica del volume" #: dialogs/textdialog.cpp:143 msgid "enable tempo change" msgstr "abilita modifica del tempo" #: dialogs/textdialog.cpp:155 #, fuzzy msgid "enable channel change" msgstr "abilita modifica del tempo" #: dialogs/textdialog.cpp:162 msgid "D.S" msgstr "D.S." #: dialogs/textdialog.cpp:165 msgid "No segno meaning" msgstr "Nessun significato del segno" #: dialogs/textdialog.cpp:166 msgid "D.S. al Fine" msgstr "D.S a Fine" #: dialogs/textdialog.cpp:167 msgid "D.S. al Coda" msgstr "D.S. a Coda" #: dialogs/textdialog.cpp:168 msgid "D. Capo al Fine" msgstr "D. Capo a Fine" #: dialogs/textdialog.cpp:169 msgid "D. Capo al Coda" msgstr "D. Capo a Coda" #: dialogs/textdialog.cpp:170 msgid "Fine" msgstr "Fine" #: dialogs/textdialog.cpp:171 msgid "al Coda" msgstr "a Coda" #: dialogs/textdialog.cpp:219 #, fuzzy msgid "instrument" msgstr "strumenti" #: dialogs/textdialog.cpp:220 #, fuzzy msgid "enable instrument change" msgstr "abilita modifica del volume" #: dialogs/signsdialog.cpp:44 msgid "Signs" msgstr "Segni" #: dialogs/signsdialog.cpp:50 msgid "signs" msgstr "segni" #: dialogs/midiimportdialog.cpp:43 msgid "MIDI import" msgstr "Importazione MIDI" #: dialogs/midiimportdialog.cpp:70 dialogs/midirecordconfigdialog.cpp:103 msgid "triplet recognition" msgstr "riconoscimento gruppi irregolari" #: dialogs/midiimportdialog.cpp:72 msgid "sort instruments" msgstr "ordina strumenti" #: dialogs/midiimportdialog.cpp:73 dialogs/midirecordconfigdialog.cpp:105 msgid "force piano" msgstr "forza piano" #: dialogs/midiimportdialog.cpp:74 dialogs/midirecordconfigdialog.cpp:107 msgid "don't split tracks" msgstr "Non dividere le tracce" #: dialogs/midiimportdialog.cpp:83 msgid "tempo density" msgstr "densità del tempo" #: dialogs/midiimportdialog.cpp:89 msgid "volume density" msgstr "densità del volume" #: dialogs/midirecordconfigdialog.cpp:65 #, fuzzy msgid "Config Record" msgstr "_Configura" #: dialogs/lilypondexportdialog.cpp:63 msgid "export params" msgstr "esporta parametri" #: dialogs/lilypondexportdialog.cpp:66 msgid "create line breaks" msgstr "creare linea d'interuzioni" #: dialogs/lilypondexportdialog.cpp:74 msgid "keep beams" msgstr "" #: dialogs/lilypondexportdialog.cpp:172 msgid "Staff selection" msgstr "Selezione pentagramma" #: dialogs/lilypondexportdialog.cpp:181 #, fuzzy msgid "keep beams selection" msgstr "usa selezione" #: dialogs/staffselectdialog.cpp:76 msgid "All" msgstr "tutti" #: dialogs/staffselectdialog.cpp:79 msgid "None" msgstr "nessuno" #: dialogs/spacementdialog.cpp:34 msgid "Horizontal Spacement" msgstr "Spaziatura orizzontale" #: dialogs/spacementdialog.cpp:40 msgid "Spacement" msgstr "Spaziatura" #: dialogs/scaledialog.cpp:35 dialogs/scaledialog.cpp:40 msgid "Scale" msgstr "Scala" #: dialogs/drumconfigdialog.cpp:90 #, fuzzy msgid "Config Drums" msgstr "Configura MIDI" #: dialogs/drumconfigdialog.cpp:112 msgid "drum element name" msgstr "" #: dialogs/drumconfigdialog.cpp:114 #, fuzzy msgid "short name" msgstr "Nome corto del pentagramma" #: dialogs/drumconfigdialog.cpp:116 #, fuzzy msgid "line" msgstr "linee" #: dialogs/drumconfigdialog.cpp:119 msgid "symbol" msgstr "" #: dialogs/drumconfigdialog.cpp:121 #, fuzzy msgid "midi pitch" msgstr "ritorno MIDI" #: dialogs/drumconfigdialog.cpp:192 #, fuzzy msgid "change element" msgstr "cambia scala" #: dialogs/drumconfigdialog.cpp:197 #, fuzzy msgid "note head" msgstr "testina predefinita" #: dialogs/drumconfigdialog.cpp:223 #, fuzzy msgid "preview" msgstr "reverbero" #: dialogs/drumconfigdialog.cpp:232 msgid "load defaults" msgstr "" #: dialogs/drumconfigdialog.cpp:233 #, fuzzy msgid "play element" msgstr "Spaziatura" #: dialogs/drumconfigdialog.cpp:446 #, fuzzy msgid "Save drum configuration" msgstr "Configurazione della chiave" #: dialogs/drumconfigdialog.cpp:537 #, fuzzy msgid "Open drum configuration" msgstr "Configurazione della chiave" #: dialogs/chordnamedialog.cpp:50 dialogs/chordnamedialog.cpp:54 msgid "Chordname" msgstr "Nome accordo" #: dialogs/chordnamedialog.cpp:61 msgid "chordname" msgstr "nome accordo" #: dialogs/chordnamedialog.cpp:80 msgid "size" msgstr "" #: dialogs/chordnamedialog.cpp:84 #, fuzzy msgid "position" msgstr "Posizione dei pentagrammi" #: dialogs/tools.cpp:372 dialogs/tools.cpp:392 msgid "Toolbox" msgstr "Cassetta degli attrezzi" #: chords/chorddialog.cpp:95 msgid "Chords" msgstr "Accordi" #: chords/chorddialog.cpp:99 msgid "chord" msgstr "accordo" #: chords/chorddialog.cpp:109 msgid "config" msgstr "configura" #: chords/chorddialog.cpp:112 msgid "diagram" msgstr "schema" #: chords/chorddialog.cpp:133 msgid "root" msgstr "base" #: chords/chorddialog.cpp:150 msgid "mody" msgstr "modalità" #: chords/chorddialog.cpp:169 msgid "chordselect" msgstr "scegli accordo" #, fuzzy #~ msgid "Append staff + A" #~ msgstr "Aggiungi pentagramma" #~ msgid "triplets" #~ msgstr "Gruppi irregolari" #~ msgid "triplets with rests" #~ msgstr "gruppi irregolari con pause" #~ msgid "use alto clef" #~ msgstr "usa chiave di soprano" #~ msgid "Number of voices:" #~ msgstr "Numero di voci" #~ msgid "E_xtras" #~ msgstr "A_ltri" #~ msgid "" #~ "NtEd version %s by Joerg Anders\n" #~ "Send bug reports to " #~ msgstr "" #~ "NtEd versione %s di Joerg Anders\n" #~ "Invia i rapporti d'errore a" #~ msgid "rest" #~ msgstr "pausa" #~ msgid "Insert rests - 'r'" #~ msgstr "inserisci pausa - r" #~ msgid "make ties - _" #~ msgstr "Allungamento - _" #~ msgid "dotted notes - ." #~ msgstr "note puntate" #~ msgid "double dotted notes" #~ msgstr "note doppiamente puntate" #~ msgid "sharp - #" #~ msgstr "diesis - #" #~ msgid "flat notes - -" #~ msgstr "bemolle - -" #~ msgid "natural notes - =" #~ msgstr "bequadro - =" #~ msgid "double cross" #~ msgstr "doppio diesis" #~ msgid "double flat" #~ msgstr "doppio bemolle" #~ msgid "bow up" #~ msgstr "arco in sù" #~ msgid "bow down" #~ msgstr "arco in giù" #~ msgid "pedal on" #~ msgstr "pedale abbassato" #~ msgid "pedal off" #~ msgstr "pedale sollevato" #~ msgid "trill" #~ msgstr "trillo" #~ msgid "prall" #~ msgstr "mordente superiore" #~ msgid "open" #~ msgstr "aperto" #~ msgid "mordent" #~ msgstr "mordente inferiore" #~ msgid "show graces toolbar" #~ msgstr "Mostra barra abbellimenti" #~ msgid "show drumbar" #~ msgstr "mostra barra percussioni" #~ msgid "show drum heads toolbar" #~ msgstr "Mostra barra percussioni" #~ msgid "show more acc." #~ msgstr "mostra altri accidenti" #~ msgid "show the more accidentals toolbar" #~ msgstr "Mostra barra accidenti ulteriori" #~ msgid "Full Note - 1" #~ msgstr "Semibreve - 1" #~ msgid "Half Note - 2" #~ msgstr "Minima - 2" #~ msgid "Quarter Note - 4" #~ msgstr "Semiminima - 4" #~ msgid "1/8 Note - 5" #~ msgstr "Croma - 5" #~ msgid "l/16 Note - 6" #~ msgstr "Semicroma - 6" #~ msgid "1/32 Note - 7" #~ msgstr "Biscroma - 7" #~ msgid "1/64 Note - 8" #~ msgstr "Semibiscroma - 8" #~ msgid "stroken grace" #~ msgstr "acciaccatura" #~ msgid "eighth grace" #~ msgstr "appoggiatura breve" #~ msgid "16 grace" #~ msgstr "appoggiatura brevissima" #~ msgid "drum note 1" #~ msgstr "nota percussioni 1" #~ msgid "drum note 2" #~ msgstr "nota percussioni 2 " #~ msgid "drum note 3" #~ msgstr "nota percussioni 3 " #~ msgid "drum note 4" #~ msgstr "nota percussioni 4 " #~ msgid "drum note 5" #~ msgstr "nota percussioni 5 " #~ msgid "drum note 6" #~ msgstr "nota percussioni 6 " #~ msgid "drum note 7" #~ msgstr "nota percussioni 7" #~ msgid "drum note 8" #~ msgstr "nota percussioni 8" #~ msgid "drum note 9" #~ msgstr "nota percussioni 9" #~ msgid "drum note 10" #~ msgstr "nota percussioni 10" #~ msgid "guitar note" #~ msgstr "note per chitarra" #~ msgid "guitar note without stem" #~ msgstr "note per chitarra senza stelo" nted-1.10.18/po/boldquot.sed0000664001041000007640000000033111520267347012504 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g nted-1.10.18/po/en@quot.header0000664001041000007640000000226311520267347012751 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # nted-1.10.18/po/sv.po0000664001041000007640000012677711520270236011164 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: sv\n" "Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de\n" "POT-Creation-Date: 2011-01-27 14:18+0100\n" "PO-Revision-Date: 2007-12-18 09:05+0100\n" "Last-Translator: Erik Piehl \n" "Language-Team: Sv \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: mainwindow.cpp:310 msgid "_File" msgstr "_Arkiv" #: mainwindow.cpp:311 msgid "Open_Recent" msgstr "Senaste filer" #: mainwindow.cpp:312 msgid "_Export" msgstr "_Exportera" #: mainwindow.cpp:313 msgid "_View" msgstr "_Visa" #: mainwindow.cpp:314 msgid "_Edit" msgstr "R_edigera" #: mainwindow.cpp:315 msgid "_Tools" msgstr "" #: mainwindow.cpp:316 msgid "_System layout ..." msgstr "" #: mainwindow.cpp:317 msgid "_Insert" msgstr "_Infoga" #: mainwindow.cpp:318 #, fuzzy msgid "_Upbeat ..." msgstr "Öppna ..." #: mainwindow.cpp:319 msgid "_Preferences ..." msgstr "" #: mainwindow.cpp:320 msgid "_Dynamics ..." msgstr "" #: mainwindow.cpp:321 msgid "_Lyrics" msgstr "_Text" #: mainwindow.cpp:322 msgid "_Help" msgstr "" #: mainwindow.cpp:323 #, fuzzy msgid "Configure MIDI out..." msgstr "Konfigurera MIDI..." #: mainwindow.cpp:323 #, fuzzy msgid "configure MIDI output" msgstr "Konfigurera MIDI..." #: mainwindow.cpp:324 #, fuzzy msgid "Configure MIDI in..." msgstr "Konfigurera MIDI..." #: mainwindow.cpp:324 #, fuzzy msgid "configure MIDI input" msgstr "Konfigurera MIDI..." #: mainwindow.cpp:325 msgid "Configure Paper..." msgstr "Konfigurera papper..." #: mainwindow.cpp:325 msgid "configure paper" msgstr "konfigurera papper" #: mainwindow.cpp:326 #, fuzzy msgid "Configure Print..." msgstr "Konfigurera skrivare" #: mainwindow.cpp:326 msgid "configure print command" msgstr "konfigurera skrivarinställningar" #: mainwindow.cpp:327 msgid "New" msgstr "Ny" #: mainwindow.cpp:327 msgid "New File" msgstr "Ny fil" #: mainwindow.cpp:328 msgid "Open ..." msgstr "Öppna ..." #: mainwindow.cpp:328 msgid "Open a file" msgstr "Öppna fil" #: mainwindow.cpp:329 msgid "Save ..." msgstr "Spara ..." #: mainwindow.cpp:329 mainwindow.cpp:330 msgid "Save a file" msgstr "Spara fil" #: mainwindow.cpp:330 msgid "Save As ..." msgstr "Spara som ..." #: mainwindow.cpp:331 msgid "Print" msgstr "Skriv ut" #: mainwindow.cpp:331 msgid "print file" msgstr "skriv ut fil" #: mainwindow.cpp:332 msgid "Import MusicXML ..." msgstr "" #: mainwindow.cpp:332 #, fuzzy msgid "import a musicxml file" msgstr "Exportera en MIDI-fil" #: mainwindow.cpp:333 #, fuzzy msgid "Import MIDI..." msgstr "Exportera MIDI" #: mainwindow.cpp:333 #, fuzzy msgid "import a midi file" msgstr "Exportera en MIDI-fil" #: mainwindow.cpp:334 #, fuzzy msgid "Import MIDI(2)..." msgstr "Exportera MIDI" #: mainwindow.cpp:334 #, fuzzy msgid "import a midi file(2)" msgstr "Exportera en MIDI-fil" #: mainwindow.cpp:335 msgid "Copy" msgstr "Kopiera" #: mainwindow.cpp:335 msgid "copy - Ctrl + C" msgstr "kopiera - Ctrl + C" #: mainwindow.cpp:336 msgid "Paste" msgstr "Klistra in" #: mainwindow.cpp:336 msgid "paste - Ctrl + V" msgstr "klistra in - Ctrl + V" #: mainwindow.cpp:337 msgid "Delete block" msgstr "Ta bort block" #: mainwindow.cpp:337 msgid "delete block - Ctrl + X" msgstr "ta bort block - Ctrl + X" #: mainwindow.cpp:338 #, fuzzy msgid "append a system at end" msgstr "lägg till tom sida" #: mainwindow.cpp:338 #, fuzzy msgid "append system - Ctrl + B" msgstr "klistra in - Ctrl + V" #: mainwindow.cpp:339 msgid "Insert block" msgstr "Infoga block" #: mainwindow.cpp:339 msgid "insert block" msgstr "infoga block" #: mainwindow.cpp:340 #, fuzzy msgid "Insert clef ..." msgstr "Infoga iol (triol etc) ..." #: mainwindow.cpp:340 #, fuzzy msgid "insert a clef" msgstr "infoga en basklav" #: mainwindow.cpp:341 msgid "Empty block" msgstr "Tomt block" #: mainwindow.cpp:341 msgid "empty block - Ctrl + E" msgstr "tomt block - Ctrl + E" #: mainwindow.cpp:342 msgid "reposit all" msgstr "flytta alla" #: mainwindow.cpp:342 msgid "reposit the whole score - Ctrl + T" msgstr "flytta hela partituret - Ctrl + T" #: mainwindow.cpp:343 msgid "Export MIDI ..." msgstr "Exportera MIDI" #: mainwindow.cpp:343 msgid "export a midi file" msgstr "Exportera en MIDI-fil" #: mainwindow.cpp:344 #, fuzzy msgid "Export LilyPond ..." msgstr "Exportera P_S ..." #: mainwindow.cpp:344 dialogs/lilypondexportdialog.cpp:44 msgid "LilyPond export" msgstr "" #: mainwindow.cpp:346 #, fuzzy msgid "Export PDF ..." msgstr "Exportera P_S ..." #: mainwindow.cpp:346 #, fuzzy msgid "export PDF" msgstr "Exportera P_NG" #: mainwindow.cpp:348 #, fuzzy msgid "Export P_NG ..." msgstr "Exportera P_S ..." #: mainwindow.cpp:348 msgid "Write a png image" msgstr "Skapa png-bild" #: mainwindow.cpp:350 #, fuzzy msgid "Export S_VG ..." msgstr "Exportera P_S ..." #: mainwindow.cpp:350 #, fuzzy msgid "Write an svg image" msgstr "Skapa png-bild" #: mainwindow.cpp:352 msgid "Export P_S ..." msgstr "Exportera P_S ..." #: mainwindow.cpp:352 msgid "Write PostScript" msgstr "Skapa PostScript" #: mainwindow.cpp:353 msgid "New Window" msgstr "" #: mainwindow.cpp:353 msgid "Open a new window" msgstr "" #: mainwindow.cpp:354 #, fuzzy msgid "Excerpt ..." msgstr "Exportera P_S ..." #: mainwindow.cpp:354 msgid "Make an excerpt of the score" msgstr "" #: mainwindow.cpp:355 msgid "Close Window" msgstr "" #: mainwindow.cpp:355 msgid "Close current window" msgstr "" #: mainwindow.cpp:358 msgid "Remove last page" msgstr "Ta bort sista sidan" #: mainwindow.cpp:358 msgid "remove the last page" msgstr "ta bort sista sidan" #: mainwindow.cpp:359 #, fuzzy msgid "Remove empty pages" msgstr "Ta bort sista sidan" #: mainwindow.cpp:359 #, fuzzy msgid "remove empty pages at end" msgstr "ta bort sista sidan" #: mainwindow.cpp:360 msgid "Change spacement ..." msgstr "" #: mainwindow.cpp:360 msgid "change the horizontal spacement" msgstr "" #: mainwindow.cpp:361 #, fuzzy msgid "Change Scale ..." msgstr "Infoga iol (triol etc) ..." #: mainwindow.cpp:361 #, fuzzy msgid "change scale" msgstr "kanal" #: mainwindow.cpp:362 #, fuzzy msgid "Configure Record ..." msgstr "Konfigurera papper..." #: mainwindow.cpp:362 #, fuzzy msgid "configure record" msgstr "konfigurera NtEd" #: mainwindow.cpp:363 #, fuzzy msgid "Configure Drums ..." msgstr "Konfigurera MIDI..." #: mainwindow.cpp:363 #, fuzzy msgid "configure drums" msgstr "konfigurera papper" #: mainwindow.cpp:364 msgid "Tools ..." msgstr "" #: mainwindow.cpp:364 msgid "Tools " msgstr "" #: mainwindow.cpp:365 msgid "give first measure" msgstr "" #: mainwindow.cpp:365 msgid "set upbeat by giving the start of first full measure" msgstr "" #: mainwindow.cpp:366 msgid "give start" msgstr "" #: mainwindow.cpp:366 msgid "set upbeat by giving the start of the score" msgstr "" #: mainwindow.cpp:367 msgid "Score info ..." msgstr "Partiturinfo ..." #: mainwindow.cpp:367 msgid "edit score info" msgstr "ändra partiturinfo" #: mainwindow.cpp:368 msgid "Insert keysig ... " msgstr "Infoga tonart" #: mainwindow.cpp:368 msgid "insert a key signature" msgstr "infoga taktart" #: mainwindow.cpp:369 #, fuzzy msgid "Insert lines ... " msgstr "Infoga iol (triol etc) ..." #: mainwindow.cpp:369 #, fuzzy msgid "insert a horizontal line" msgstr "infoga en altklav" #: mainwindow.cpp:370 #, fuzzy msgid "Insert sign ... " msgstr "Infoga tonart" #: mainwindow.cpp:370 #, fuzzy msgid "insert a free placeable sign" msgstr "infoga en g-klav" #: mainwindow.cpp:371 msgid "Slur" msgstr "" #: mainwindow.cpp:371 #, fuzzy msgid "insert a slur - Ctrl+H" msgstr "infoga en basklav" #: mainwindow.cpp:372 #, fuzzy msgid "chord ..." msgstr "Partiturinfo ..." #: mainwindow.cpp:372 #, fuzzy msgid "insert a chord" msgstr "infoga en basklav" #: mainwindow.cpp:373 #, fuzzy msgid "chordname ..." msgstr "Partiturinfo ..." #: mainwindow.cpp:373 #, fuzzy msgid "insert a chordname" msgstr "infoga en basklav" #: mainwindow.cpp:374 msgid "spacer" msgstr "" #: mainwindow.cpp:374 #, fuzzy msgid "insert a staff spacer" msgstr "infoga tom sida" #: mainwindow.cpp:375 #, fuzzy msgid "Append staff" msgstr "lägg till nytt notsystem" #: mainwindow.cpp:375 msgid "append a new staff" msgstr "lägg till nytt notsystem" #: mainwindow.cpp:376 #, fuzzy msgid "Import recorded" msgstr "Exportera MIDI" #: mainwindow.cpp:376 #, fuzzy msgid "import recorded staff" msgstr "lägg till nytt notsystem" #: mainwindow.cpp:377 msgid "Lyrics editor ..." msgstr "" #: mainwindow.cpp:377 msgid "edit lyrics in text editor" msgstr "" #: mainwindow.cpp:378 msgid "ppp" msgstr "" #: mainwindow.cpp:378 #, fuzzy msgid "insert ppp" msgstr "Infoga sida" #: mainwindow.cpp:379 msgid "pp" msgstr "" #: mainwindow.cpp:379 #, fuzzy msgid "insert pp" msgstr "Infoga sida" #: mainwindow.cpp:380 msgid "p" msgstr "" #: mainwindow.cpp:380 #, fuzzy msgid "insert p" msgstr "Infoga sida" #: mainwindow.cpp:381 msgid "mp" msgstr "" #: mainwindow.cpp:381 #, fuzzy msgid "insert mp" msgstr "Infoga sida" #: mainwindow.cpp:382 msgid "sp" msgstr "" #: mainwindow.cpp:382 #, fuzzy msgid "insert sp" msgstr "Infoga sida" #: mainwindow.cpp:383 msgid "mf" msgstr "" #: mainwindow.cpp:383 #, fuzzy msgid "insert mf" msgstr "infoga en basklav" #: mainwindow.cpp:384 msgid "sf" msgstr "" #: mainwindow.cpp:384 #, fuzzy msgid "insert sf" msgstr "infoga en basklav" #: mainwindow.cpp:385 msgid "f" msgstr "" #: mainwindow.cpp:385 #, fuzzy msgid "insert f" msgstr "infoga en basklav" #: mainwindow.cpp:386 msgid "ff" msgstr "" #: mainwindow.cpp:386 #, fuzzy msgid "insert ff" msgstr "infoga en basklav" #: mainwindow.cpp:387 msgid "fff" msgstr "" #: mainwindow.cpp:387 #, fuzzy msgid "insert fff" msgstr "infoga en basklav" #: mainwindow.cpp:388 #, fuzzy msgid "tempo ..." msgstr "tempo" #: mainwindow.cpp:388 #, fuzzy msgid "insert tempo" msgstr "Infoga sida" #: mainwindow.cpp:389 #, fuzzy msgid "Text ..." msgstr "Öppna ..." #: mainwindow.cpp:389 #, fuzzy msgid "insert text" msgstr "Infoga sida" #: mainwindow.cpp:390 #, fuzzy msgid "accelerando" msgstr "infoga en basklav" #: mainwindow.cpp:390 #, fuzzy msgid "insert accelerando" msgstr "infoga en basklav" #: mainwindow.cpp:391 msgid "ritardando" msgstr "" #: mainwindow.cpp:391 #, fuzzy msgid "insert ritardando" msgstr "Infoga sida" #: mainwindow.cpp:392 msgid "lyrics1" msgstr "text1" #: mainwindow.cpp:392 msgid "insert lyrics at line 1" msgstr "infoga text pÃ¥ rad 1" #: mainwindow.cpp:393 msgid "lyrics2" msgstr "text2" #: mainwindow.cpp:393 msgid "insert lyrics at line 2" msgstr "infoga text pÃ¥ rad 2" #: mainwindow.cpp:394 msgid "lyrics3" msgstr "text3" #: mainwindow.cpp:394 msgid "insert lyrics at line 3" msgstr "infoga text pÃ¥ rad 3" #: mainwindow.cpp:395 msgid "lyrics4" msgstr "text4" #: mainwindow.cpp:395 msgid "insert lyrics at line 4" msgstr "infoga text pÃ¥ rad 4" #: mainwindow.cpp:396 msgid "lyrics5" msgstr "text5" #: mainwindow.cpp:396 msgid "insert lyrics at line 5" msgstr "infoga text pÃ¥ rad 5" #: mainwindow.cpp:397 msgid "Insert tuplet ..." msgstr "Infoga iol (triol etc) ..." #: mainwindow.cpp:397 msgid "insert a tuplet (Ctrl + num)" msgstr "infoga iol (Ctrl + num)" #: mainwindow.cpp:398 msgid "brace" msgstr "" #: mainwindow.cpp:398 msgid "group staves by means of a brace" msgstr "" #: mainwindow.cpp:399 msgid "bracket" msgstr "" #: mainwindow.cpp:399 msgid "group staves by means of a bracket" msgstr "" #: mainwindow.cpp:400 msgid "connect barlines" msgstr "" #: mainwindow.cpp:400 msgid "set connected bar lines" msgstr "" #: mainwindow.cpp:401 msgid "remove group" msgstr "ta bort iol" #: mainwindow.cpp:401 msgid "remove a group of connected staves" msgstr "" #: mainwindow.cpp:402 msgid "Remove tuplet" msgstr "Ta bort iol" #: mainwindow.cpp:402 msgid "remove a tuplet" msgstr "ta bort iol" #: mainwindow.cpp:403 msgid "Muting ..." msgstr "" #: mainwindow.cpp:403 msgid "mute some staves" msgstr "" #: mainwindow.cpp:404 msgid "Transpose ..." msgstr "" #: mainwindow.cpp:404 msgid "transpose" msgstr "" #: mainwindow.cpp:405 msgid "hide rests" msgstr "" #: mainwindow.cpp:405 msgid "hide (selected) rests" msgstr "" #: mainwindow.cpp:406 msgid "unhide rests" msgstr "" #: mainwindow.cpp:406 msgid "unhide (selected) rests" msgstr "" #: mainwindow.cpp:407 msgid "hide rests (all v.)" msgstr "" #: mainwindow.cpp:407 msgid "hide selected rests (all v.)" msgstr "" #: mainwindow.cpp:408 msgid "unhide rests (all v.)" msgstr "" #: mainwindow.cpp:408 msgid "unhide selected rests (all v.)" msgstr "" #: mainwindow.cpp:409 msgid "set all to sharp ..." msgstr "" #: mainwindow.cpp:409 msgid "set all flats to sharp" msgstr "" #: mainwindow.cpp:410 #, fuzzy msgid "set all to flat ..." msgstr "Infoga iol (triol etc) ..." #: mainwindow.cpp:410 msgid "set all sharps to flat" msgstr "" #: mainwindow.cpp:411 msgid "About NtEd" msgstr "Om NtEd" #: mainwindow.cpp:413 #, fuzzy msgid "Documentation ..." msgstr "riktning" #: mainwindow.cpp:415 msgid "License" msgstr "Lisens" #: mainwindow.cpp:416 msgid "E_xit" msgstr "Avsluta" #: mainwindow.cpp:416 msgid "Exit the program" msgstr "Avsluta programmet" #: mainwindow.cpp:420 msgid "play" msgstr "spela" #: mainwindow.cpp:421 msgid "voices in different colors" msgstr "stämmor i olika färger" #: mainwindow.cpp:422 #, fuzzy msgid "show measure numbers" msgstr "Typsnitt - Taktnummer" #: mainwindow.cpp:423 msgid "show hidden elements" msgstr "" #: mainwindow.cpp:424 msgid "midi input" msgstr "" #: mainwindow.cpp:425 msgid "record midi" msgstr "" #: mainwindow.cpp:425 #, fuzzy msgid "record midi - i" msgstr "Exportera en MIDI-fil" #: mainwindow.cpp:429 #, fuzzy msgid "in" msgstr "_Arkiv" #: mainwindow.cpp:429 msgid "Zoom in Ctrl + +" msgstr "Zoom in Ctrl + +" #: mainwindow.cpp:430 #, fuzzy msgid "out" msgstr "_Om" #: mainwindow.cpp:430 msgid "Zoom out Ctrl + -" msgstr "Zoom ut Ctrl + -" #: mainwindow.cpp:431 #, fuzzy msgid "undo" msgstr "ingen" #: mainwindow.cpp:431 msgid "Undo Ctrl + z" msgstr "Ã…ngra Ctrl + z" #: mainwindow.cpp:432 msgid "redo" msgstr "" #: mainwindow.cpp:432 msgid "Redo Ctrl + y" msgstr "Gör om Ctrl + y" #: mainwindow.cpp:433 #, fuzzy msgid "customize beam" msgstr "klistra in - Ctrl + V" #: mainwindow.cpp:433 #, fuzzy msgid "customize beam - Ctrl + j" msgstr "klistra in - Ctrl + V" #: mainwindow.cpp:434 #, fuzzy msgid "flip stem" msgstr "klistra in - Ctrl + V" #: mainwindow.cpp:434 #, fuzzy msgid "flip stem - Ctrl + f" msgstr "klistra in - Ctrl + V" #: mainwindow.cpp:438 #, fuzzy msgid "insert" msgstr "Infoga sida" #: mainwindow.cpp:438 msgid "Toggle Insert/Erase Mode - n" msgstr "Växla läge Infoga/Ta bort - n" #: mainwindow.cpp:442 msgid "page" msgstr "" #: mainwindow.cpp:442 msgid "Page Mode - p" msgstr "Sidläge - p" #: mainwindow.cpp:443 dialogs/staffcontextdialog.cpp:177 #: dialogs/keysigdialog.cpp:42 dialogs/midirecordconfigdialog.cpp:160 msgid "key" msgstr "tonart" #: mainwindow.cpp:443 msgid "Keyboard insert mode - k" msgstr "" #: mainwindow.cpp:1625 msgid "Cannot replay because could not open ALSA sequencer" msgstr "Kan inte spela eftersom ALSA sequencer inte kunde öppnas" #: mainwindow.cpp:2776 mainwindow.cpp:5110 mainwindow.cpp:5156 #: mainwindow.cpp:6090 mainwindow.cpp:6180 mainwindow.cpp:6937 #: mainwindow.cpp:9584 msgid "Save Changes ?" msgstr "Spara ändringar?" #: mainwindow.cpp:2894 mainwindow.cpp:2995 mainwindow.cpp:3576 #: mainwindow.cpp:3696 mainwindow.cpp:9035 mainwindow.cpp:9147 #: mainwindow.cpp:9271 mainwindow.cpp:9360 dialogs/lyricseditor.cpp:350 #: dialogs/drumconfigdialog.cpp:493 #, c-format msgid "Cannot open %s for writing" msgstr "Kan inte öppna %s för skrivning" #: mainwindow.cpp:2905 mainwindow.cpp:3009 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "Kan inte öppna %s för skrivning" #: mainwindow.cpp:2940 msgid "Save score" msgstr "Spara partitur" #: mainwindow.cpp:2982 mainwindow.cpp:3564 mainwindow.cpp:3684 #: mainwindow.cpp:8995 mainwindow.cpp:9135 mainwindow.cpp:9259 #: mainwindow.cpp:9348 dialogs/lyricseditor.cpp:336 #: dialogs/drumconfigdialog.cpp:479 #, c-format msgid "File %s already exists. Overwrite ?" msgstr "Filen %s finns redan. Skriv över?" #: mainwindow.cpp:3272 mainwindow.cpp:3416 msgid "Please select a note or rest!" msgstr "Välj en not eller paus!" #: mainwindow.cpp:3277 msgid "You select a note in an tuplet" msgstr "Du valde en not i en iol" #: mainwindow.cpp:3281 msgid "You cannot copy incomplete tuplets!" msgstr "Du kan inte kopiera inkompletta ioler!" #: mainwindow.cpp:3296 msgid "Paste not possible: A tuplet would cross a measure" msgstr "Kan inte klistra in: Iolen skulle överstiga takten" #: mainwindow.cpp:3443 msgid "Empty not possible because of incomplete tuplets" msgstr "Tom inte möjlig pga inkompletta ioler" #: mainwindow.cpp:4112 #, fuzzy, c-format msgid "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "Translation: " msgstr "" "NtEd version %s av Joerg Anders\n" "Sänd bugrapporter till ja@informatik.tu-chemnitz.de\n" "Info http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "Svensk översättning: Erik Piehl " #: mainwindow.cpp:4123 msgid "" "Excuse! The documentation is not available\n" "due to an installation error" msgstr "" #: mainwindow.cpp:4133 msgid "Excuse! Cannot exec" msgstr "" #: mainwindow.cpp:4138 msgid "Excuse! Cannot fork" msgstr "" #: mainwindow.cpp:4880 mainwindow.cpp:4902 mainwindow.cpp:7850 msgid "please select a note or rest first" msgstr "Välj en not eller paus först" #: mainwindow.cpp:4884 mainwindow.cpp:7854 msgid "you cannot select an element with dot" msgstr "du kan inte välja ett punkterat element" #: mainwindow.cpp:4894 mainwindow.cpp:7869 msgid "I'm not able to create a tuplet here" msgstr "Jag kan inte skapa en iol här" #: mainwindow.cpp:4906 msgid "selected element is not inside a tuplet" msgstr "Valt element är inte i en iol" #: mainwindow.cpp:5171 msgid "Open score" msgstr "Öppna partitur" #: mainwindow.cpp:5211 mainwindow.cpp:6306 mainwindow.cpp:6966 #: dialogs/lyricseditor.cpp:433 dialogs/drumconfigdialog.cpp:567 #, c-format msgid "Cannot open %s for reading" msgstr "Kan inte öppna %s för läsning" #: mainwindow.cpp:6105 msgid "Import MusicXML" msgstr "" #: mainwindow.cpp:7030 mainwindow.cpp:7056 msgid "Cannot list midi ports because could not open ALSA sequencer" msgstr "Kan inte lista MIDI-portar eftersom ALSA sequencer inte kunde öppnas" #: mainwindow.cpp:7127 msgid "Font selection - Measure numbers" msgstr "Typsnitt - Taktnummer" #: mainwindow.cpp:7749 #, fuzzy msgid "Adjust notes ?" msgstr "punkterade noter - ." #: mainwindow.cpp:8951 #, fuzzy msgid "Create PNG" msgstr "skapa PNG" #: mainwindow.cpp:9091 #, fuzzy msgid "Create SVG" msgstr "skapa PNG" #: mainwindow.cpp:9217 msgid "Create Postscript" msgstr "Skapa PostScript" #: mainwindow.cpp:9306 #, fuzzy msgid "Create PDF" msgstr "skapa PNG" #: mainwindow.cpp:9470 dialogs/lilypondexportdialog.cpp:70 #, fuzzy msgid "select staves" msgstr "Celesta" #: mainwindow.cpp:9627 #, c-format msgid "Usage: %s [.ntd]\n" msgstr "Användning: %s [.ntd]\n" #: mainwindow.cpp:9655 msgid "" "unable to set decimal point to '.'. PostScript output will be erroneous. \t\t" "\tPlease set the $LANG environment variable appropriately!" msgstr "" "Kan inte använda decimal som '.'. PostScript utskriften kommer misslyckas.\t" "\t\tStäll in $LANG variablerna ordentligt!" #: resource.cpp:380 msgid "Piano 1" msgstr "Piano 1" #: resource.cpp:380 msgid "Piano 2" msgstr "Piano 2" #: resource.cpp:380 msgid "Piano 3" msgstr "Piano 3" #: resource.cpp:380 msgid "Honky-tonk" msgstr "Honky-tonk" #: resource.cpp:381 msgid "E.Piano 1" msgstr "E.Piano 1" #: resource.cpp:381 msgid "E.Piano 2" msgstr "E.Piano 2" #: resource.cpp:381 msgid "Harpsichord" msgstr "Cembalo" #: resource.cpp:381 msgid "Clavinet" msgstr "Clavinet" #: resource.cpp:382 msgid "Celesta" msgstr "Celesta" #: resource.cpp:382 msgid "Glockenspiel" msgstr "Glockenspiel" #: resource.cpp:382 msgid "Music Box" msgstr "Music Box" #: resource.cpp:382 msgid "Vibraphone" msgstr "Vibrafon" #: resource.cpp:383 msgid "Marimba" msgstr "Marimba" #: resource.cpp:383 msgid "Xylophone" msgstr "Xylofon" #: resource.cpp:383 msgid "Tubular Bells" msgstr "Tubklockor" #: resource.cpp:383 msgid "Dulcimer" msgstr "Dulcimer" #: resource.cpp:384 msgid "Organ 1" msgstr "Orgel 1" #: resource.cpp:384 msgid "Organ 2" msgstr "Orgel 2" #: resource.cpp:384 msgid "Organ 3" msgstr "Orgel 3" #: resource.cpp:384 msgid "Church Organ" msgstr "Kyrkorgel" #: resource.cpp:385 msgid "Reed Organ" msgstr "Tramporgel" #: resource.cpp:385 msgid "Accordion" msgstr "Dragspel" #: resource.cpp:385 msgid "Harmonica" msgstr "Munspel" #: resource.cpp:385 msgid "Bandoneon" msgstr "Bandoneon" #: resource.cpp:386 msgid "Nylon Guitar" msgstr "Gitarr nylon" #: resource.cpp:386 msgid "Steel Guitar" msgstr "Gitarr stÃ¥l" #: resource.cpp:386 msgid "Jazz Guitar" msgstr "Jazzgitarr" #: resource.cpp:386 msgid "Clean Guitar" msgstr "Gitarr" #: resource.cpp:387 msgid "Guitar Mutes" msgstr "Guitar Mutes" #: resource.cpp:387 msgid "Overdrive Guitar" msgstr "Overdrive Guitar" #: resource.cpp:387 msgid "Guitar Harmonics" msgstr "Guitar Harmonics" #: resource.cpp:388 msgid "Acoustic Bass" msgstr "Aukustisk bas" #: resource.cpp:388 msgid "Fingered Bass" msgstr "Fingerbas" #: resource.cpp:388 msgid "Picked Bass" msgstr "plockbas" #: resource.cpp:388 msgid "Fretless Bass" msgstr "Bandlös bas" #: resource.cpp:389 msgid "Slap Bass 1" msgstr "Slap Bass 1" #: resource.cpp:389 msgid "Slap Bass 2" msgstr "Slap Bass 2" #: resource.cpp:389 msgid "Synth Bass 1" msgstr "Synth Bass 1" #: resource.cpp:389 msgid "Synth Bass 2" msgstr "Synth Bass 2" #: resource.cpp:390 msgid "Violin" msgstr "Violin" #: resource.cpp:390 msgid "Viola" msgstr "Viola" #: resource.cpp:390 msgid "Cello" msgstr "Cello" #: resource.cpp:390 msgid "Contrabass" msgstr "Kontrabas" #: resource.cpp:391 msgid "Tremolo Strings" msgstr "Tremolo Strings" #: resource.cpp:391 msgid "Pizzicato" msgstr "Pizzicato" #: resource.cpp:391 msgid "Harp" msgstr "Harpa" #: resource.cpp:391 msgid "Timpani" msgstr "Timpani" #: resource.cpp:392 msgid "Strings" msgstr "StrÃ¥kar" #: resource.cpp:392 msgid "Slow Strings" msgstr "LÃ¥nfsamma strÃ¥kar" #: resource.cpp:392 msgid "Synth Strings 1" msgstr "Synth-strÃ¥kar 1" #: resource.cpp:392 msgid "Synth Strings 2" msgstr "Synth-strÃ¥kar 2" #: resource.cpp:393 msgid "Choir Aahs" msgstr "Kör Aah" #: resource.cpp:393 msgid "Voice Oohs" msgstr "Röst Ooh" #: resource.cpp:393 msgid "Synth Vox" msgstr "Synth Vox" #: resource.cpp:393 msgid "Orchestra Hit" msgstr "Orchestra Hit" #: resource.cpp:394 msgid "Trumpet" msgstr "Trumpet" #: resource.cpp:394 msgid "Trombone" msgstr "Trombon" #: resource.cpp:394 msgid "Tuba" msgstr "Tuba" #: resource.cpp:394 msgid "Mute Trumpet" msgstr "Mute Trumpet" #: resource.cpp:395 msgid "French Horns" msgstr "Franska horn" #: resource.cpp:395 msgid "Brass" msgstr "Brass" #: resource.cpp:395 msgid "Synth Brass 1" msgstr "Synth Brass 1" #: resource.cpp:395 msgid "Synth Brass 2" msgstr "Synth Brass 2" #: resource.cpp:396 msgid "Soprano Sax" msgstr "Sopransaxofon" #: resource.cpp:396 msgid "Alto Sax" msgstr "Altsaxofon" #: resource.cpp:396 msgid "Tenor Sax" msgstr "Tenorsaxofon" #: resource.cpp:396 msgid "Baritone Sax" msgstr "Barytonsaxofon" #: resource.cpp:397 msgid "Oboe" msgstr "Oboe" #: resource.cpp:397 msgid "English Horn" msgstr "Engelskt horn" #: resource.cpp:397 msgid "Bassoon" msgstr "Fagott" #: resource.cpp:397 msgid "Clarinet" msgstr "Klarinett" #: resource.cpp:398 msgid "Piccolo" msgstr "Piccolaflöjt" #: resource.cpp:398 msgid "Flute" msgstr "flöjt" #: resource.cpp:398 msgid "Recorder" msgstr "Blockflöjt" #: resource.cpp:398 msgid "Pan Flute" msgstr "Panflöjt" #: resource.cpp:399 msgid "Bottle Chiff" msgstr "Bottle Chiff" #: resource.cpp:399 msgid "Shakuhachi" msgstr "Shakuhachi" #: resource.cpp:399 msgid "Whistle" msgstr "Visselpipa" #: resource.cpp:399 msgid "Ocarina" msgstr "Okarina" #: resource.cpp:400 msgid "Square Wave" msgstr "Square Wave" #: resource.cpp:400 msgid "Saw Wave" msgstr "Saw Wave" #: resource.cpp:400 msgid "Synth Calliope" msgstr "Synth Calliope" #: resource.cpp:400 msgid "Chiffer Lead" msgstr "Chiffer Lead" #: resource.cpp:401 msgid "Charang" msgstr "Charango" #: resource.cpp:401 msgid "Solo Vox" msgstr "Soloröst" #: resource.cpp:401 msgid "5th Saw Wave" msgstr "5th Saw Wave" #: resource.cpp:401 msgid "Bass & Lead" msgstr "Bass & Lead" #: resource.cpp:402 msgid "Fantasia" msgstr "Fantasia" #: resource.cpp:402 msgid "Warm Pad" msgstr "Warm Pad" #: resource.cpp:402 msgid "Poly Synth" msgstr "Poly Synth" #: resource.cpp:402 msgid "Space Voice" msgstr "Space Voice" #: resource.cpp:403 msgid "Bowed Glass" msgstr "Bowed Glass" #: resource.cpp:403 msgid "Metal Pad" msgstr "Metal Pad" #: resource.cpp:403 msgid "Halo Pad" msgstr "Halo Pad" #: resource.cpp:403 msgid "Sweep Pad" msgstr "Sweep Pad" #: resource.cpp:404 msgid "Ice Rain" msgstr "Ice Rain" #: resource.cpp:404 msgid "Soundtrack" msgstr "Soundtrack" #: resource.cpp:404 msgid "Crystal" msgstr "Crystal" #: resource.cpp:404 msgid "Atmosphere" msgstr "Atmosphere" #: resource.cpp:405 msgid "Brightness" msgstr "Brightness" #: resource.cpp:405 msgid "Goblin" msgstr "Goblin" #: resource.cpp:405 msgid "Echo Drops" msgstr "Echo Drops" #: resource.cpp:405 msgid "Star Theme" msgstr "Star Theme" #: resource.cpp:406 msgid "Sitar" msgstr "Sitar" #: resource.cpp:406 msgid "Banjo" msgstr "Banjo" #: resource.cpp:406 msgid "Shamisen" msgstr "Shamisen" #: resource.cpp:406 msgid "Koto" msgstr "Koto" #: resource.cpp:407 msgid "Kalimba" msgstr "Kalimba" #: resource.cpp:407 msgid "Bagpipe" msgstr "Säckpipa" #: resource.cpp:407 msgid "Fiddle" msgstr "Fiol" #: resource.cpp:407 msgid "Shenai" msgstr "Shenai" #: resource.cpp:408 msgid "Tinker Bell" msgstr "Tinker Bell" #: resource.cpp:408 msgid "Agogo" msgstr "Agogo" #: resource.cpp:408 msgid "Steel Drum" msgstr "StÃ¥l-trumma" #: resource.cpp:408 msgid "Wood Block" msgstr "Träblock" #: resource.cpp:409 msgid "Taiko Drum" msgstr "Taiko-trumma" #: resource.cpp:409 msgid "Melodic Tom" msgstr "Melodic Tom" #: resource.cpp:409 msgid "Synth Drum" msgstr "Synth-trumma" #: resource.cpp:409 msgid "Reverse Cymbal" msgstr "Reverse Cymbal" #: resource.cpp:410 msgid "Fret Noise" msgstr "Fret Noise" #: resource.cpp:410 msgid "Breath Noise" msgstr "Andningsljud" #: resource.cpp:410 msgid "Seashore" msgstr "Strand" #: resource.cpp:410 msgid "Bird" msgstr "fÃ¥gel" #: resource.cpp:411 msgid "Telephone" msgstr "Telefon" #: resource.cpp:411 msgid "Helicopter" msgstr "Helikopter" #: resource.cpp:411 msgid "Applause" msgstr "ApplÃ¥der" #: resource.cpp:411 msgid "Gun Shot" msgstr "Pistolskott" #: resource.cpp:827 msgid "" "Cannot open ALSA MIDI sequencer --> replay won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Kan inte öppna ALSA MIDI sequencer --> uppspelningen kommer inte fungera :" "((\n" "Försök (som root)\n" "och starta om NtEd\n" "Det kanske hjälper(?)" #: resource.cpp:835 msgid "Error creating ALSA sequencer output port --> replay won't work :-((" msgstr "" #: resource.cpp:845 #, fuzzy msgid "" "Cannot open ALSA MIDI sequencer --> read/record won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Kan inte öppna ALSA MIDI sequencer --> uppspelningen kommer inte fungera :" "((\n" "Försök (som root)\n" "och starta om NtEd\n" "Det kanske hjälper(?)" #: resource.cpp:853 msgid "Error creating ALSA sequencer input port --> record won't work :-((" msgstr "" #: dialogs/paperconfigdialog.cpp:37 dialogs/paperconfigdialog.cpp:41 msgid "Paper" msgstr "Papper" #: dialogs/paperconfigdialog.cpp:46 msgid "paper type" msgstr "papperstyp" #: dialogs/paperconfigdialog.cpp:81 msgid "orientation" msgstr "riktning" #: dialogs/paperconfigdialog.cpp:82 msgid "portrait" msgstr "porträtt" #: dialogs/paperconfigdialog.cpp:83 msgid "landscape" msgstr "landskap" #: dialogs/portchoosedialog.cpp:46 msgid "MIDI ports" msgstr "MIDI-portar" #: dialogs/portchoosedialog.cpp:60 dialogs/staffcontextdialog.cpp:321 #: dialogs/staffcontextdialog.cpp:437 dialogs/textdialog.cpp:200 #: dialogs/midirecordconfigdialog.cpp:133 dialogs/staffselectdialog.cpp:69 #: dialogs/drumconfigdialog.cpp:110 msgid "no" msgstr "ingen" #: dialogs/portchoosedialog.cpp:62 msgid "port" msgstr "port" #: dialogs/portchoosedialog.cpp:78 msgid "midi echo" msgstr "MIDI-eko" #: dialogs/printconfigdialog.cpp:31 msgid "Print command" msgstr "Utskriftskommando" #: dialogs/printconfigdialog.cpp:35 msgid "print command" msgstr "utskriftskommando" #: dialogs/staffcontextdialog.cpp:31 msgid "G flat Major; e flat minor" msgstr "Gess dur; Ess moll" #: dialogs/staffcontextdialog.cpp:31 msgid "D flat Major; b flat minor" msgstr "Dess dur; Bess moll" #: dialogs/staffcontextdialog.cpp:32 msgid "A flat Major; f minor" msgstr "Ass dur; F moll" #: dialogs/staffcontextdialog.cpp:32 msgid "E flat Major; c minor" msgstr "Ess dur; C moll" #: dialogs/staffcontextdialog.cpp:33 msgid "B flat Major; g minor" msgstr "Bess dur; G moll" #: dialogs/staffcontextdialog.cpp:33 msgid "F Major; d minor" msgstr "F dur; D moll" #: dialogs/staffcontextdialog.cpp:34 msgid "C Major; a minor" msgstr "C dur; A moll" #: dialogs/staffcontextdialog.cpp:34 msgid "G Major; e minor" msgstr "G dur; E moll" #: dialogs/staffcontextdialog.cpp:35 msgid "D Major; b minor" msgstr "D dur; B moll" #: dialogs/staffcontextdialog.cpp:35 msgid "A Major; f sharp minor" msgstr "A dur; Fiss moll" #: dialogs/staffcontextdialog.cpp:36 msgid "E Major; c sharp minor" msgstr "E dur; Ciss moll" #: dialogs/staffcontextdialog.cpp:36 msgid "B Major; g sharp minor" msgstr "B dur; Giss moll" #: dialogs/staffcontextdialog.cpp:37 msgid "F sharp Major; d sharp minor" msgstr "Fiss dur; Diss moll" #: dialogs/staffcontextdialog.cpp:120 msgid "Staff context" msgstr "Systemkontext" #: dialogs/staffcontextdialog.cpp:132 dialogs/clefconfigdialog.cpp:49 msgid "clef" msgstr "Klav" #: dialogs/staffcontextdialog.cpp:157 dialogs/clefconfigdialog.cpp:74 msgid "Octave shift:" msgstr "" #: dialogs/staffcontextdialog.cpp:163 dialogs/keysigdialog.cpp:66 #: dialogs/clefconfigdialog.cpp:81 #, fuzzy msgid "adjust notes" msgstr "b-förtecken - -" #: dialogs/staffcontextdialog.cpp:200 dialogs/measureconfigdialog.cpp:110 #: dialogs/midirecordconfigdialog.cpp:70 msgid "time signature" msgstr "taktart" #: dialogs/staffcontextdialog.cpp:204 dialogs/measureconfigdialog.cpp:114 #: dialogs/midirecordconfigdialog.cpp:74 msgid "Numerator:" msgstr "Täljare:" #: dialogs/staffcontextdialog.cpp:205 dialogs/measureconfigdialog.cpp:115 #: dialogs/midirecordconfigdialog.cpp:75 msgid "Denominator:" msgstr "Nämnare:" #: dialogs/staffcontextdialog.cpp:248 #, fuzzy msgid "staff name" msgstr "notsystem" #: dialogs/staffcontextdialog.cpp:255 #, fuzzy msgid "staff short name" msgstr "notsystem" #: dialogs/staffcontextdialog.cpp:262 #, fuzzy msgid "group name" msgstr "notsystem" #: dialogs/staffcontextdialog.cpp:269 #, fuzzy msgid "group short name" msgstr "notsystem" #: dialogs/staffcontextdialog.cpp:278 dialogs/tempodialog.cpp:154 #: dialogs/textdialog.cpp:138 dialogs/midirecordconfigdialog.cpp:147 msgid "tempo" msgstr "tempo" #: dialogs/staffcontextdialog.cpp:283 #, fuzzy msgid "chorus" msgstr "Echo Drops" #: dialogs/staffcontextdialog.cpp:289 msgid "transp." msgstr "" #: dialogs/staffcontextdialog.cpp:295 msgid "reverb" msgstr "" #: dialogs/staffcontextdialog.cpp:301 dialogs/textdialog.cpp:123 #: dialogs/midirecordconfigdialog.cpp:153 msgid "volume" msgstr "volym" #: dialogs/staffcontextdialog.cpp:307 #, fuzzy msgid "pan" msgstr "Timpani" #: dialogs/staffcontextdialog.cpp:323 dialogs/textdialog.cpp:202 #: dialogs/midirecordconfigdialog.cpp:135 msgid "instruments" msgstr "instrument" #: dialogs/staffcontextdialog.cpp:332 dialogs/textdialog.cpp:150 msgid "channel" msgstr "kanal" #: dialogs/staffcontextdialog.cpp:337 dialogs/mutedialog.cpp:69 #, fuzzy msgid "muting" msgstr "StrÃ¥kar" #: dialogs/staffcontextdialog.cpp:338 dialogs/staffcontextdialog.cpp:370 #: dialogs/mutedialog.cpp:72 dialogs/selectordialog.cpp:98 msgid "all" msgstr "" #: dialogs/staffcontextdialog.cpp:369 #, fuzzy msgid "voices" msgstr "Röst Ooh" #: dialogs/staffcontextdialog.cpp:429 dialogs/staffselectdialog.cpp:58 msgid "staff" msgstr "notsystem" #: dialogs/staffcontextdialog.cpp:435 dialogs/staffselectdialog.cpp:67 msgid "item" msgstr "post" #: dialogs/staffcontextdialog.cpp:485 msgid "Score" msgstr "Partitur" #: dialogs/staffcontextdialog.cpp:486 msgid "MIDI" msgstr "MIDI" #: dialogs/staffcontextdialog.cpp:495 msgid "Staff position" msgstr "Radposition" #: dialogs/tupletdialog.cpp:34 msgid "Tuplet" msgstr "Iol" #: dialogs/tupletdialog.cpp:40 msgid "" "Instead of using this dialog\n" "you can simply press + num" msgstr "" "Istället för att använda denna dialogruta\n" "kan du trycka + num" #: dialogs/tupletdialog.cpp:42 msgid "Tuplet value:" msgstr "Ioltyp:" #: dialogs/tupletdialog.cpp:47 msgid "method 2" msgstr "metod 2" #: dialogs/insertblockdialog.cpp:32 msgid "Insert blocks" msgstr "Infoga block" #: dialogs/insertblockdialog.cpp:39 msgid "block count:" msgstr "Antal block:" #: dialogs/measureconfigdialog.cpp:53 msgid "Measure type" msgstr "Takttyp" #: dialogs/measureconfigdialog.cpp:62 msgid "measure type" msgstr "takttyp" #: dialogs/measureconfigdialog.cpp:89 msgid "alternative 1" msgstr "alternativ 1" #: dialogs/measureconfigdialog.cpp:90 msgid "alternative 2" msgstr "alternativ 2" #: dialogs/measureconfigdialog.cpp:99 msgid "hide following" msgstr "" #: dialogs/measureconfigdialog.cpp:158 msgid "enable timesig" msgstr "använd taktart" #: dialogs/measureconfigdialog.cpp:160 msgid "delete timesig" msgstr "ta bort taktart" #: dialogs/keysigdialog.cpp:37 msgid "New keysignature" msgstr "Ny tonart" #: dialogs/keysigdialog.cpp:64 msgid "adjust" msgstr "" #: dialogs/scoreinfodialog.cpp:71 dialogs/scoreinfodialog.cpp:75 msgid "Score info" msgstr "Partiturinfo" #: dialogs/scoreinfodialog.cpp:79 msgid "Title:" msgstr "Titel:" #: dialogs/scoreinfodialog.cpp:87 msgid "Subject:" msgstr "Ämne:" #: dialogs/scoreinfodialog.cpp:95 msgid "Composer:" msgstr "Kompositör:" #: dialogs/scoreinfodialog.cpp:103 msgid "Arranger:" msgstr "Arrangör:" #: dialogs/scoreinfodialog.cpp:111 msgid "Copyright:" msgstr "Copyright:" #: dialogs/clefconfigdialog.cpp:44 msgid "Clef configuration" msgstr "" #: dialogs/volumedialog.cpp:32 #, fuzzy msgid "Set Volume" msgstr "volym" #: dialogs/volumedialog.cpp:44 #, fuzzy msgid "volume:" msgstr "volym" #: dialogs/tempodialog.cpp:56 #, fuzzy msgid "Set Tempo" msgstr "tempo" #: dialogs/tempodialog.cpp:128 msgid "kind" msgstr "" #: dialogs/tempodialog.cpp:150 #, fuzzy msgid "tempo:" msgstr "tempo" #: dialogs/lyricseditor.cpp:67 #, fuzzy msgid "Lyrics" msgstr "_Text" #: dialogs/lyricseditor.cpp:85 #, fuzzy msgid "lyrics 1" msgstr "text1" #: dialogs/lyricseditor.cpp:86 #, fuzzy msgid "lyrics 2" msgstr "text2" #: dialogs/lyricseditor.cpp:87 #, fuzzy msgid "lyrics 3" msgstr "text3" #: dialogs/lyricseditor.cpp:88 #, fuzzy msgid "lyrics 4" msgstr "text4" #: dialogs/lyricseditor.cpp:89 #, fuzzy msgid "lyrics 5" msgstr "text5" #: dialogs/lyricseditor.cpp:135 dialogs/drumconfigdialog.cpp:230 msgid "load from file" msgstr "" #: dialogs/lyricseditor.cpp:136 dialogs/drumconfigdialog.cpp:231 #, fuzzy msgid "save to file" msgstr "Spara fil" #: dialogs/lyricseditor.cpp:143 dialogs/drumconfigdialog.cpp:247 #, fuzzy msgid "file" msgstr "_Arkiv" #: dialogs/lyricseditor.cpp:292 #, fuzzy msgid "Save lyrics" msgstr "text1" #: dialogs/lyricseditor.cpp:392 #, fuzzy msgid "Open lyrics file" msgstr "Öppna fil" #: dialogs/mutedialog.cpp:34 #, fuzzy msgid "Muting" msgstr "StrÃ¥kar" #: dialogs/mutedialog.cpp:55 dialogs/selectordialog.cpp:61 #, fuzzy, c-format msgid "Staff %d" msgstr "notsystem" #: dialogs/mutedialog.cpp:74 dialogs/selectordialog.cpp:100 #, fuzzy msgid "none" msgstr "ingen" #: dialogs/linesdialog.cpp:40 #, fuzzy msgid "Lines" msgstr "Lisens" #: dialogs/linesdialog.cpp:46 #, fuzzy msgid "lines" msgstr "Clavinet" #: dialogs/selectordialog.cpp:35 msgid "Transpose" msgstr "" #: dialogs/selectordialog.cpp:39 #, fuzzy msgid "Select" msgstr "Radposition" #: dialogs/selectordialog.cpp:73 msgid "half-tones" msgstr "" #: dialogs/selectordialog.cpp:76 dialogs/selectordialog.cpp:95 #: chords/chorddialog.cpp:159 #, fuzzy msgid "selection" msgstr "Radposition" #: dialogs/selectordialog.cpp:87 #, fuzzy msgid "use selection" msgstr "Radposition" #: dialogs/textdialog.cpp:69 #, fuzzy msgid "Text" msgstr "Iol" #: dialogs/textdialog.cpp:89 chords/chorddialog.cpp:111 msgid "text" msgstr "" #: dialogs/textdialog.cpp:98 msgid "select font" msgstr "" #: dialogs/textdialog.cpp:105 #, fuzzy msgid "anchor" msgstr "Echo Drops" #: dialogs/textdialog.cpp:108 #, fuzzy msgid "left" msgstr "Klav" #: dialogs/textdialog.cpp:109 msgid "mid" msgstr "" #: dialogs/textdialog.cpp:110 #, fuzzy msgid "right" msgstr "Brightness" #: dialogs/textdialog.cpp:130 msgid "enable volume change" msgstr "" #: dialogs/textdialog.cpp:143 #, fuzzy msgid "enable tempo change" msgstr "använd taktart" #: dialogs/textdialog.cpp:155 #, fuzzy msgid "enable channel change" msgstr "använd taktart" #: dialogs/textdialog.cpp:162 msgid "D.S" msgstr "" #: dialogs/textdialog.cpp:165 msgid "No segno meaning" msgstr "" #: dialogs/textdialog.cpp:166 msgid "D.S. al Fine" msgstr "" #: dialogs/textdialog.cpp:167 msgid "D.S. al Coda" msgstr "" #: dialogs/textdialog.cpp:168 msgid "D. Capo al Fine" msgstr "" #: dialogs/textdialog.cpp:169 msgid "D. Capo al Coda" msgstr "" #: dialogs/textdialog.cpp:170 #, fuzzy msgid "Fine" msgstr "_Arkiv" #: dialogs/textdialog.cpp:171 msgid "al Coda" msgstr "" #: dialogs/textdialog.cpp:219 #, fuzzy msgid "instrument" msgstr "instrument" #: dialogs/textdialog.cpp:220 #, fuzzy msgid "enable instrument change" msgstr "använd taktart" #: dialogs/signsdialog.cpp:44 #, fuzzy msgid "Signs" msgstr "StrÃ¥kar" #: dialogs/signsdialog.cpp:50 #, fuzzy msgid "signs" msgstr "Lisens" #: dialogs/midiimportdialog.cpp:43 #, fuzzy msgid "MIDI import" msgstr "MIDI-portar" #: dialogs/midiimportdialog.cpp:70 dialogs/midirecordconfigdialog.cpp:103 msgid "triplet recognition" msgstr "" #: dialogs/midiimportdialog.cpp:72 #, fuzzy msgid "sort instruments" msgstr "instrument" #: dialogs/midiimportdialog.cpp:73 dialogs/midirecordconfigdialog.cpp:105 #, fuzzy msgid "force piano" msgstr "Partiturinfo" #: dialogs/midiimportdialog.cpp:74 dialogs/midirecordconfigdialog.cpp:107 msgid "don't split tracks" msgstr "" #: dialogs/midiimportdialog.cpp:83 msgid "tempo density" msgstr "" #: dialogs/midiimportdialog.cpp:89 #, fuzzy msgid "volume density" msgstr "volym" #: dialogs/midirecordconfigdialog.cpp:65 #, fuzzy msgid "Config Record" msgstr "_Konfigurera " #: dialogs/lilypondexportdialog.cpp:63 msgid "export params" msgstr "" #: dialogs/lilypondexportdialog.cpp:66 msgid "create line breaks" msgstr "" #: dialogs/lilypondexportdialog.cpp:74 msgid "keep beams" msgstr "" #: dialogs/lilypondexportdialog.cpp:172 #, fuzzy msgid "Staff selection" msgstr "Radposition" #: dialogs/lilypondexportdialog.cpp:181 #, fuzzy msgid "keep beams selection" msgstr "Radposition" #: dialogs/staffselectdialog.cpp:76 msgid "All" msgstr "" #: dialogs/staffselectdialog.cpp:79 #, fuzzy msgid "None" msgstr "ingen" #: dialogs/spacementdialog.cpp:34 msgid "Horizontal Spacement" msgstr "" #: dialogs/spacementdialog.cpp:40 #, fuzzy msgid "Spacement" msgstr "Space Voice" #: dialogs/scaledialog.cpp:35 dialogs/scaledialog.cpp:40 #, fuzzy msgid "Scale" msgstr "Klav" #: dialogs/drumconfigdialog.cpp:90 #, fuzzy msgid "Config Drums" msgstr "Konfigurera MIDI..." #: dialogs/drumconfigdialog.cpp:112 msgid "drum element name" msgstr "" #: dialogs/drumconfigdialog.cpp:114 #, fuzzy msgid "short name" msgstr "notsystem" #: dialogs/drumconfigdialog.cpp:116 #, fuzzy msgid "line" msgstr "Clavinet" #: dialogs/drumconfigdialog.cpp:119 msgid "symbol" msgstr "" #: dialogs/drumconfigdialog.cpp:121 #, fuzzy msgid "midi pitch" msgstr "MIDI-eko" #: dialogs/drumconfigdialog.cpp:192 #, fuzzy msgid "change element" msgstr "kanal" #: dialogs/drumconfigdialog.cpp:197 msgid "note head" msgstr "" #: dialogs/drumconfigdialog.cpp:223 msgid "preview" msgstr "" #: dialogs/drumconfigdialog.cpp:232 msgid "load defaults" msgstr "" #: dialogs/drumconfigdialog.cpp:233 #, fuzzy msgid "play element" msgstr "Space Voice" #: dialogs/drumconfigdialog.cpp:446 msgid "Save drum configuration" msgstr "" #: dialogs/drumconfigdialog.cpp:537 msgid "Open drum configuration" msgstr "" #: dialogs/chordnamedialog.cpp:50 dialogs/chordnamedialog.cpp:54 #, fuzzy msgid "Chordname" msgstr "Partiturinfo ..." #: dialogs/chordnamedialog.cpp:61 #, fuzzy msgid "chordname" msgstr "Partiturinfo ..." #: dialogs/chordnamedialog.cpp:80 msgid "size" msgstr "" #: dialogs/chordnamedialog.cpp:84 #, fuzzy msgid "position" msgstr "Radposition" #: dialogs/tools.cpp:372 dialogs/tools.cpp:392 msgid "Toolbox" msgstr "" #: chords/chorddialog.cpp:95 #, fuzzy msgid "Chords" msgstr "Echo Drops" #: chords/chorddialog.cpp:99 #, fuzzy msgid "chord" msgstr "Echo Drops" #: chords/chorddialog.cpp:109 #, fuzzy msgid "config" msgstr "_Konfigurera " #: chords/chorddialog.cpp:112 msgid "diagram" msgstr "" #: chords/chorddialog.cpp:133 msgid "root" msgstr "" #: chords/chorddialog.cpp:150 msgid "mody" msgstr "" #: chords/chorddialog.cpp:169 #, fuzzy msgid "chordselect" msgstr "Radposition" #, fuzzy #~ msgid "Append staff + A" #~ msgstr "Lägg till notsystem" #, fuzzy #~ msgid "use alto clef" #~ msgstr "Infoga altklav" #, fuzzy #~ msgid "E_xtras" #~ msgstr "Avsluta" #~ msgid "rest" #~ msgstr "paus" #~ msgid "Insert rests - 'r'" #~ msgstr "Infoga paus - 'r'" #~ msgid "make ties - _" #~ msgstr "skapa bÃ¥gar - _" #~ msgid "dotted notes - ." #~ msgstr "punkterade noter - ." #, fuzzy #~ msgid "double dotted notes" #~ msgstr "punkterade noter - ." #~ msgid "sharp - #" #~ msgstr "korsförtecken - #" #~ msgid "flat notes - -" #~ msgstr "b-förtecken - -" #~ msgid "natural notes - =" #~ msgstr "naturlig not - =" #, fuzzy #~ msgid "Full Note - 1" #~ msgstr "1/1 Not- F1" #, fuzzy #~ msgid "Half Note - 2" #~ msgstr "1/2 Not- F2" #, fuzzy #~ msgid "Quarter Note - 4" #~ msgstr "1/4 Not - F4" #, fuzzy #~ msgid "1/8 Note - 5" #~ msgstr "1/8 Not - F5" #, fuzzy #~ msgid "l/16 Note - 6" #~ msgstr "1/16 Not - F6" #, fuzzy #~ msgid "1/32 Note - 7" #~ msgstr "1/32 Not - F7" #, fuzzy #~ msgid "1/64 Note - 8" #~ msgstr "1/64 Not - F8" #, fuzzy #~ msgid "drum note 7" #~ msgstr "punkterade noter - ." #, fuzzy #~ msgid "drum note 8" #~ msgstr "punkterade noter - ." #, fuzzy #~ msgid "drum note 9" #~ msgstr "punkterade noter - ." #, fuzzy #~ msgid "drum note 10" #~ msgstr "punkterade noter - ." #, fuzzy #~ msgid "guitar note" #~ msgstr "Guitar Mutes" #, fuzzy #~ msgid "guitar note without stem" #~ msgstr "Guitar Mutes" #, fuzzy #~ msgid "Test Menu ..." #~ msgstr "Öppna ..." #, fuzzy #~ msgid "Import MIDI" #~ msgstr "Exportera MIDI" #~ msgid "Append page" #~ msgstr "Lägg till sida" #~ msgid "Insert page" #~ msgstr "Infoga sida" #, fuzzy #~ msgid "strong pizzicato" #~ msgstr "Pizzicato" #~ msgid "_Clefs" #~ msgstr "_Klaver" #~ msgid "Insert treble clef" #~ msgstr "Infoga g-klav" #~ msgid "Insert bass clef" #~ msgstr "Infoga basklav" #~ msgid "Configure measure num. font ..." #~ msgstr "Konfigurera typsnitt för taktnummer ..." #~ msgid "configure font for measure numbers" #~ msgstr "konfigurera typsnitt för taktnummer" #~ msgid "Insert Spec Meas" #~ msgstr "Infoga specialtakt" #~ msgid "Reset Collision" #~ msgstr "Ã…terställ kollision" nted-1.10.18/po/ru.gmo0000664001041000007640000010657011520270236011313 00000000000000Þ•ô¼¡\à)á)ø) * * #*1*@*D* M*Z* c* m*x**¥* ­*·* ½*Ê*Ò* ×* ä*ð* ö* ++<+\+w+Š’+…,£,3º,î,ö,ü, - "- --7- >-K-T- ]-j- }-Š- Ÿ- ©- ¶-Ä-Ø-í-..). >.I. N. Y. d.o. .Œ.”.¥. À. Í.Ú.ì.õ. / "/ ,/6/ 2 J2 U2`2$u2š2£2²2Â2Ö2 æ2 ó233$363G3>Y3 ˜3¤3½3Â3Ê3Ú3à3ç3ù3 þ3 4424 :4 G4 Q4^4 e4p4t4 }4ˆ4™4ª4Þ¯4 Ž5 ™5¦5«5 ³5 Á5 Ë5×5é56 6 6 )676?6G6O6 `6 n6x6~62„6·6¿6Ç6Ï6 ×6 ã6í6 7 77 (7 67A7T7 e7s7 ‚7 Œ7™7 ¨7´7 Ì7 Ø7ã7ì7ò7 ø7888 "8 ,8 78B8K8R8X8 ^8k8p8 y8 …8 8 œ8 ¦8²8 »8É8Ø8 è8 ó8 þ8 99 9 *989 G9R9b9 r9 |9 †99•9ž9 ¦9²9¹9Ö9Þ9 å9 ï9 ù9:: :(: -:;: B: P:^: z:…:‹: ’:: ¥:°:Á:Ó: æ:#ð:;3;D; V;d;j;r;x;~;†;Ž;Ÿ;²; ¹;Å; Ë;×; Þ;ë; ï; ý; <<%<<< U<b<h<p< <Œ<¬<´< º< Ä< Î< Ü<è<ï<ô<û<=&=6=F=^=o=€==£=²=Ì=ä=ó=û=> >;>K>b>x>‘>¥>´> É>Ô> ç>õ> ú>? ?%? 8? C?N? _?"€? £?®?Ä? Ó?Þ?ò?@"@9@O@R@Y@h@ {@‰@¦@¿@Ö@í@A A 3A@A IA SA^AvAŽA¦A¾A ÖA àAêA óA ýAB B $B .B ;B GB RB^B cBnBƒB‡B ŒB–B›B B ¦B´BÃBÌBÕBÞBçBðBøBCCC C%C.C 2C zWq¹W"+XNXiX€X–X­XÃX ÚX2ûX.Y?YBUY(˜Y ÁY3ÎY!Z$ZBZ$`Z6…Z1¼Z îZ#ûZ2[R[r[’[›[¬[½[-Ñ[;ÿ[;\U\j\\/š\Ê\(å\ ]]63] j]v]…†] ^4*^_^h^y^1”^ Æ^Ó^ò^÷^ _1_K_Z_'l_#”_¸_"Ï_ò_``!-`O` i`´v`+b!?b ablb{b”b¦b"¾b6áb$c!=c_c~c žc «c ¸c.Åcôcd (d5diFd°dÇdÞdõd%e*eB=e €ee©e(¿e#èe, f29flfˆf¢f¸f&Õfüf:gSg%sg!™g »gÈg*Ûg-h!4hVheh'ƒh«h¼h Ëh Öh áhìh ii/iNi!ei‡i4˜iÍi.æi,j$Bjgjj¡j ¿j Ìj'Öj'þj&k7kPkik%‚k¨k·k Òk Ýkëk# l.lIBlŒl£lºlÕl!ôlm%m 4m?m!Hm jmwm–m0¬mÝmîm÷mn&n 5n#Bn+fn+’n¾nSÏn3#oWosoo ¤o²o ÂoÌoÜo ìoúop+pCpTp\psp†p¢p©p¸pÇp1àp$q=7q"uq!˜q%ºqàqþq>r [r frsrr;¦râr ürss )s%Js!ps’s,²sßs.ÿs.t&Ntut'‘t"¹t&Ütu&u(=uPfu7·u$ïu0v4Ev.zv,©v:Övw'w#Gwkw0tw;¥w.áw8x"Ixlx$€xe¥xh yty,…y'²yÚy!òy3zHz gzEˆzÎzáz*òz{;{0U{D†{,Ë{"ø{2|*N|Gy|3Á|õ| }!}-8}-f}-”}-Â}-ð}~4~J~`~v~=Ž~Ì~â~ø~.CZi0‡¸Î Õ â í1ø**€"U€x€‡€–€¥€´€ÀÒ€á€ð€ÿ€ - @ L#Z~H•Þó÷‚"‚7‚J‚M‚ ^‚k‚‚ ›‚!¨‚MÊ‚ƒ!ƒ0ƒ?ƒDƒKƒdƒ€ƒ ƒ²ƒȃGèƒ0„:L„‡„2£„)Ö„E… F… T…a…v…‰…¨…&Â…Sé… =†6H†8†.¸†*ç†G‡€Z‡yÛ‡Uˆ0mˆ*žˆ Ɉ Ôˆ-ሉ&‰ <‰1]‰ ‰œ‰ ¥‰.±‰ à‰ ê‰õ‰ Š!Š)@ŠjŠ ˆ‹H•‹Þ‹1ú‹G,Œ#tŒ*˜Œ ÃŒ8ÏŒ[˜Q«`ã$±ò˜þM  åß/Ïo]÷9óƬ|¸ }ì+žÌ)Æ­@Iïáƒ/1¨’Y·àŸ ™ªi™¨›DÉŒñÇ^޼¦¥jj|šsœTk¾47w‘Fâ5MêZlÙL‚êïÁNvS2>õÒ‰WimÕJ?béãDçËSd–3«¬¢RL@Â ÎØ‹œ„½fÈÅ¥í…îΔ’ø©–ƒ8ý±ÓÚR×xÁ¿¶&+{àŽÏ]AÅÞ¼2 ¯OªËeë×É‹tûº*[¢Þš—ÐNV¤®h" »_•ðÖ6§JKyÌ¡:æ¤7Ykúß.)Ûcæ"°0^ä>èÑa¹:Š?´ñ¯²P1ZH©€À·_,‡Ø…ˆÃÂz !ÑöÕ} q¸¹z†'(<n‰€ôÖ,#g“ée&ÊÄå<E5HÔB(u#d²¶—. lv8BO=Ü[PÐ6XT ›Úcü'9ÊfG{ÀÛuž£\bÍps»C³°ì%áVCUòä¦w½;`†-ëâ£ÍAô¡4‘t%K3®raUÔ;x” nˆÈ„*ºFîçÝŸÓQŠÃ´ÒG\ŒèÄÜÙ!$0m³pµùIoEíX‡ÿ-=h “ݧ¿ ­~ǵW~•¾q‚yðógrA Major; f sharp minorA flat Major; f minorAbout NtEdAccordionAcoustic BassAdjust notes ?AllAlto SaxAppend staffApplauseArranger:AtmosphereB Major; g sharp minorB flat Major; g minorBagpipeBandoneonBanjoBaritone SaxBassoonBirdBottle ChiffBowed GlassBrassBreath NoiseBrightnessC Major; a minorCannot list midi ports because could not open ALSA sequencerCannot open %s for readingCannot open %s for writingCannot open ALSA MIDI sequencer --> read/record won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot open ALSA MIDI sequencer --> replay won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot rename %s to %sCannot replay because could not open ALSA sequencerCelestaCelloChange Scale ...Change spacement ...Choir AahsChordnameChordsChurch OrganClarinetClavinetClean GuitarClef configurationClose WindowClose current windowComposer:Config DrumsConfig RecordConfigure Drums ...Configure MIDI in...Configure MIDI out...Configure Paper...Configure Print...Configure Record ...ContrabassCopyCopyright:Create PDFCreate PNGCreate PostscriptCreate SVGCrystalD Major; b minorD flat Major; b flat minorDelete blockDenominator:Documentation ...DulcimerE Major; c sharp minorE flat Major; c minorE.Piano 1E.Piano 2E_xitEcho DropsEmpty blockEmpty not possible because of incomplete tupletsEnglish HornError creating ALSA sequencer input port --> record won't work :-((Error creating ALSA sequencer output port --> replay won't work :-((Excerpt ...Excuse! Cannot execExcuse! Cannot forkExcuse! The documentation is not available due to an installation errorExit the programExport LilyPond ...Export MIDI ...Export PDF ...Export P_NG ...Export P_S ...Export S_VG ...F Major; d minorF sharp Major; d sharp minorFantasiaFiddleFile %s already exists. Overwrite ?Fingered BassFluteFont selection - Measure numbersFrench HornsFret NoiseFretless BassG Major; e minorG flat Major; e flat minorGlockenspielGoblinGuitar HarmonicsGuitar MutesGun ShotHarmonicaHarpHarpsichordHelicopterHonky-tonkHorizontal SpacementI'm not able to create a tuplet hereIce RainImport MIDI...Import MusicXMLImport MusicXML ...Import recordedInsert blockInsert blocksInsert clef ...Insert keysig ... Insert lines ... Insert sign ... Insert tuplet ...Instead of using this dialog you can simply press + numJazz GuitarKeyboard insert mode - kKotoLicenseLilyPond exportLinesLyricsLyrics editor ...MIDIMIDI importMIDI portsMake an excerpt of the scoreMarimbaMeasure typeMusic BoxMute TrumpetMutingMuting ...NewNew FileNew WindowNew keysignatureNo segno meaningNoneNtEd version %s by Joerg Anders Send bug reports to %s Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Author: J.Anders Translation: Numerator:Nylon GuitarOboeOcarinaOctave shift:Open ...Open a fileOpen a new windowOpen drum configurationOpen lyrics fileOpen scoreOpen_RecentOrchestra HitOrgan 1Organ 2Organ 3Overdrive GuitarPage Mode - pPan FlutePaperPastePaste not possible: A tuplet would cross a measurePiano 1Piano 2Piano 3PiccoloPicked BassPizzicatoPlease select a note or rest!PrintPrint commandRecorderRedo Ctrl + yReed OrganRemove empty pagesRemove last pageRemove tupletReverse CymbalSave ...Save As ...Save Changes ?Save a fileSave drum configurationSave lyricsSave scoreSaw WaveScaleScoreScore infoScore info ...SeashoreSelectSet TempoSet VolumeShakuhachiShamisenShenaiSignsSitarSlow StringsSlurSolo VoxSoprano SaxSoundtrackSpace VoiceSpacementSquare WaveStaff %dStaff contextStaff positionStaff selectionStar ThemeSteel DrumSteel GuitarStringsSubject:Synth Brass 1Synth Brass 2Synth CalliopeSynth DrumSynth Strings 1Synth Strings 2Synth VoxTelephoneTenor SaxTextText ...TimpaniTinker BellTitle:Toggle Insert/Erase Mode - nToolboxTools Tools ...TransposeTranspose ...Tremolo StringsTromboneTrumpetTubaTubular BellsTupletTuplet value:Undo Ctrl + zUsage: %s [.ntd] VibraphoneViolaViolinVoice OohsWhistleWood BlockWrite PostScriptWrite a png imageWrite an svg imageXylophoneYou cannot copy incomplete tuplets!You select a note in an tupletZoom in Ctrl + +Zoom out Ctrl + -_Dynamics ..._Edit_Export_File_Help_Insert_Lyrics_Preferences ..._System layout ..._Tools_Upbeat ..._Viewaccelerandoadjustadjust notesallalternative 1alternative 2anchorappend a new staffappend a system at endappend system - Ctrl + Bblock count:bracebracketchange elementchange scalechange the horizontal spacementchannelchordchord ...chordnamechordname ...chordselectchorusclefconfigconfigure MIDI inputconfigure MIDI outputconfigure drumsconfigure paperconfigure print commandconfigure recordconnect barlinescopy - Ctrl + Ccreate line breakscustomize beamcustomize beam - Ctrl + jdelete block - Ctrl + Xdelete timesigdiagramdon't split tracksdrum element nameedit lyrics in text editoredit score infoempty block - Ctrl + Eenable channel changeenable instrument changeenable tempo changeenable timesigenable volume changeexport PDFexport a midi fileexport paramsfileflip stemflip stem - Ctrl + fforce pianogive first measuregive startgroup namegroup short namegroup staves by means of a bracegroup staves by means of a brackethalf-toneshide (selected) restshide followinghide restshide rests (all v.)hide selected rests (all v.)import a midi fileimport a musicxml fileimport recorded staffininsertinsert a chordinsert a chordnameinsert a clefinsert a free placeable signinsert a horizontal lineinsert a key signatureinsert a slur - Ctrl+Hinsert a staff spacerinsert a tuplet (Ctrl + num)insert accelerandoinsert blockinsert finsert ffinsert fffinsert lyrics at line 1insert lyrics at line 2insert lyrics at line 3insert lyrics at line 4insert lyrics at line 5insert mfinsert mpinsert pinsert ppinsert pppinsert ritardandoinsert sfinsert spinsert tempoinsert textinstrumentinstrumentsitemkeep beamskeep beams selectionkeykindlandscapeleftlinelinesload defaultsload from filelyrics 1lyrics 2lyrics 3lyrics 4lyrics 5lyrics1lyrics2lyrics3lyrics4lyrics5measure typemethod 2midmidi echomidi inputmidi pitchmodymute some stavesmutingnononenote headorientationoutppagepanpaper typepaste - Ctrl + Vplayplay elementplease select a note or rest firstportportraitpositionppppppreviewprint commandprint filerecord midirecord midi - iredoremove a group of connected stavesremove a tupletremove empty pages at endremove groupremove the last pagereposit allreposit the whole score - Ctrl + Treverbrightritardandorootsave to fileselect fontselect stavesselected element is not inside a tupletselectionset all flats to sharpset all sharps to flatset all to flat ...set all to sharp ...set connected bar linesset upbeat by giving the start of first full measureset upbeat by giving the start of the scoreshort nameshow hidden elementsshow measure numberssignssizesort instrumentsspacerstaffstaff namestaff short namesymboltempotempo ...tempo densitytempo:texttime signaturetransp.transposetriplet recognitionunable to set decimal point to '.'. PostScript output will be erroneous. Please set the $LANG environment variable appropriately!undounhide (selected) restsunhide restsunhide rests (all v.)unhide selected rests (all v.)use selectionvoices in different colorsvolumevolume densityvolume:you cannot select an element with dotProject-Id-Version: nted 1.9.22 Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de POT-Creation-Date: 2011-01-27 14:18+0100 PO-Revision-Date: 2010-05-09 13:58+0300 Last-Translator: Yury Bulka Language-Team: ukrainian Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Lokalize 1.0 Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Ð›Ñ Ð¼Ð°Ð¶Ð¾Ñ€; фа-диез минорЛÑ-бемоль мажор; фа минорО программе NtEdÐккордеон, гармоникаÐкуÑтичеÑкий баÑПоправить ноты?Ð’ÑеÐльтоÑакÑофондобавить нотный ÑтанÐпплодиÑментыÐранжировщик:ÐтмоÑфераСи мажор; Ñоль-диез минорСи-бемоль мажор; Ñоль минорВолынкаБандонеонБанджоБаритонÑакÑофонФаготПтицаРожокГнутое ÑтеклоМедный духовойШум дыханиÑЯркоÑтьДо мажор; Ð»Ñ Ð¼Ð¸Ð½Ð¾Ñ€Ðевозможно проÑлушать MIDI-порты, не удаютÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ ALSA-ÑеквенÑерÐе удалоÑÑŒ открыть %s Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½iÑÐе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи.Ðевозможно открыть ALSA-ÑеквенÑер ->> чтение/запиÑÑŒ не работает :-(( Попробуйте "modprobe snd-seq-midi" как root и перезапуÑтите NtEd Может быть, Ñто поможет (?)ALSA-MIDI-ÑеквенÑер не может быть открыт --> переигрывание не работает Попробуйте "modprobe snd-seq-midi" (как root) ПерезапуÑтите NtEd может быть, Ñто поможет(?)Ðевозможно изменить Ð¸Ð¼Ñ Ñ %s на %s ВоÑпроизведение не возможно, невозможно открыть ALSA-ÑеквенÑер Ð´Ð»Ñ MIDIЧелеÑтаВиолончельИзменить маштаб...Изменить интервал...Хоровое Ð°Ñ…Ð°Ð½Ð¸ÐµÐ˜Ð¼Ñ Ð°ÐºÐºÐ¾Ñ€Ð´Ð°ÐккордыЦерковный органКларнетКлавинетЧиÑÑ‚Ð°Ñ Ð³Ð¸Ñ‚Ð°Ñ€Ð°ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð½Ð¾Ñ‚Ð½Ð¾Ð³Ð¾ ÑтанаЗакрыть окноЗакрыть текущее окно Композитор:ÐаÑтроить ударныеÐаÑтроить запиÑÑŒÐаÑтроить ударные...ÐаÑтроить вход MIDI...ÐаÑтроить выход MIDI...Параметры бумаги...ÐаÑтроить печать...ÐаÑтроить запиÑÑŒ...КонтрабаÑКопироватьÐвторÑкое право:Создать PDF Создать PNGСоздать PostScript Создать SVG КриÑталлРе мажор; Ñи минорРе-бемоль мажор; Ñи-бемоль минорУдалить блокЗнаменатель:Содержание...ДульцимерМи мажор; до-диез минорМи-бемоль мажор; до минорЭл. фортепиано 1Эл. фортепиано 2_ВыходЭхо падениÑОчиÑить блокОчиÑтка невозможна, потому что триоли не завершены!ÐнглийÑкий рожокОшибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ порта ALSA-ÑеквенÑера -> запиÑÑŒ не работает :-(Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ порта ALSA-ÑеквенÑера -> переигрывание не рабоает :-((Партии...Извините! Выполнение невозможно!Извините! Ðевозможно выполнить forkИзвините! Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупна Возможна ошибка уÑтановкиВыйти из программыЭкÑпорт LilyPond...ЭкÑпорт MIDI...ЭкÑпорт PDF...ЭкÑпорт P_NG...ЭкÑпорт P_S...ЭкÑпорт S_VG...Фа мажор; ре минорФа-диез мажор; ре-диез минорФантазиÑСкрика (fiddle)Файл %s уже ÑущеÑтвует. ПерезапиÑать?Сорванный баÑ(fingered bass)ФлейтаВыбор шрифта - номера тактовФранцузÑкий рожокБеÑпокоÑщий шумБеÑпокойный баÑСоль мажор; ми минорФа-диез минор; ми-бемоль минорКолокольчики (глокеншпиль)ГоблинГитарные Ð³Ð°Ñ€Ð¼Ð¾Ð½Ð¸ÐºÐ¸Ð—Ð°Ð³Ð»ÑƒÑˆÐµÐ½Ð½Ð°Ñ Ð³Ð¸Ñ‚Ð°Ñ€Ð° (Guitar Mutes)Ружейный выÑÑ‚Ñ€ÐµÐ»Ð“ÑƒÐ±Ð½Ð°Ñ Ð³Ð°Ñ€Ð¼Ð¾Ð½Ð¸ÐºÐ°ÐрфаКлавеÑинВертолётХонки-тонкГоризонтальный интервалÐевозможно Ñоздать триоль здеÑьЛедÑной дождьИмпорт MIDI...Импорт MusicXML Импорт MusicXML...импортировать запиÑанноепуÑтые такты...Ð’Ñтавить пуÑтые тактыключ...знаки ключа...горизонтальные обозначениÑ...знак...триоль...ВмеÑто иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ диалога Ð’Ñ‹ можете проÑто нажать + чиÑÐ»Ð¾Ð”Ð¶Ð°Ð·Ð¾Ð²Ð°Ñ Ð³Ð¸Ñ‚Ð°Ñ€Ð°Ð ÐµÐ¶Ð¸Ð¼ вÑтавки Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ñ‹ -kКотоЛицензиÑЭкÑпорт в LilyPondГоризонтальие обозначениÑСтрофыредактор Ñтроф...MIDIMIDI-импортMIDI-портыСоздать патии из партитурыМаримбаТип Ñ‚Ð°ÐºÑ‚Ð°ÐœÑƒÐ·Ñ‹ÐºÐ°Ð»ÑŒÐ½Ð°Ñ ÑˆÐºÐ°Ñ‚ÑƒÐ»ÐºÐ°ÐŸÑ€Ð¸Ð³Ð»ÑƒÑˆÑ‘Ð½Ð½Ð°Ñ Ñ‚Ñ€ÑƒÐ±Ð°ÐŸÑ€Ð¸Ð³Ð»ÑƒÑˆÐµÐ½Ð¸ÐµÐ’Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ звука...СоздатьСоздать файлÐовое окноÐÐ¾Ð²Ð°Ñ Ñ‚Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾ÑтьБез Ñеньо (segno)ÐичегоNtEd верÑÐ¸Ñ %s за авторÑтвом Joerg Anders Ð’Ñ‹Ñылайте ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð± ошибках на %s ИнформацiÑ: http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Ðвторы: J.Anders Перевод: Иван Урванов Павел Богмат Юрій Булка ЧиÑлитель:ÐÐµÐ¹Ð»Ð¾Ð½Ð¾Ð²Ð°Ñ Ð³Ð¸Ñ‚Ð°Ñ€Ð°Ð“Ð¾Ð±Ð¾Ð¹ÐžÐºÐ°Ñ€Ð¸Ð½Ð°Ð¡Ð¼ÐµÐ½Ð° октавы:Открыть...Открыть файлОткрыть новое окноОткрыть конфигурацию ударныхОткрыть файл лирикиОткрыть партитуру_ПоÑледние файлыОркеÑтровый ударОрган 1Орган 2Орган 3БыÑÑ‚Ñ€Ð°Ñ Ð³Ð¸Ñ‚Ð°Ñ€Ð° (overdrive guitar)Режим Ñтраницы - pПан-флейтаБумагаВÑтавитьВÑтавка невозможна: триоль будет переÑекать размер(такт).Фортепиано 1Фортепиано 2Фортепиано 3ПикколоОтборный Ð±Ð°Ñ (picked bass)ПиццикатоПожалуйÑта, выбирите ноту или паузу!ПечатьКоманда печатиБлок-флейтаВыполнить заново Ctrl + YТроÑтниковый органУдалить пуÑтые ÑтраницыУдалить поÑледнюю ÑтраницуУдалить триольРеверÑ-кимвалСохранить...Сохранить как...Сохранить изменениÑ?Сохранить файлСохранить конфигурацию ударныхСохранить ÑтрофыСохранить Ð¿Ð°Ñ€Ñ‚Ð¸Ñ‚ÑƒÑ€ÑƒÐŸÐ¸Ð»Ð¾Ð±Ñ€Ð°Ð·Ð½Ð°Ñ Ð²Ð¾Ð»Ð½Ð°ÐœÐ°ÑˆÑ‚Ð°Ð±ÐŸÐ°Ñ€Ñ‚Ð¸Ñ‚ÑƒÑ€Ð°Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ Ð¿Ð°Ñ€Ñ‚Ð¸Ñ‚ÑƒÑ€ÐµÐ˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ партитуре...МорÑкое побережьеВыбратьУÑтановить темпУÑтановить громкоÑтьСÑкухатиСÑмиÑенШенайЗнакиСитарМедленные ÑтрунылигуСольный голоÑСопраноÑакÑофонЗвукозапиÑьКоÑмичеÑкий голоÑИнтервалSquare Wave(ПрÑмоугольный Ñигнал)Ðотный Ñтан %dСодержимое нотного ÑтанаПоложение нотного ÑтанаВыбор нотного ÑÑ‚Ð°Ð½Ð°Ð—Ð²Ñ‘Ð·Ð´Ð½Ð°Ñ Ñ‚ÐµÐ¼Ð°Ð¡Ñ‚Ð°Ð»ÑŒÐ½Ð¾Ð¹ Ð±Ð°Ñ€Ð°Ð±Ð°Ð½Ð¡Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð³Ð¸Ñ‚Ð°Ñ€Ð°Ð¡Ñ‚Ñ€ÑƒÐ½Ñ‹Ð¢ÐµÐ¼Ð°:Синт. медный духовой 1Синт. медный духовой 2КаллиопаСинт. БарабанСинт. Ñтруны 1Синт. Ñтруны 2СинтетичеÑкий голоÑТелефонТенорÑакÑофонТекÑттекÑÑ‚...Тимпаны, литаврыМедный колокольчикЗаголовок:Переключение режима вÑтавки/ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ - nИнÑтрументыИнÑтрументыИнÑтрументы....ТранÑпонироватьТранÑпонировать...ТремолоТромбонТрубаТубаТрубчатый колоколТриольЗначение триоли:Отмена Ctrl + ZИÑпользование: %s [.ntd] ВиброфонÐльтСкрипкаГолоÑовое оханиеСвиÑтокПоленоЗапиÑать как PostScript ЗапиÑать PNG-изображениеЗапиÑать SVG-изображениеКÑилофонÐевозможно копировать незавершённые триоли!!Ðужно выбрать ноту в триоле.Увеличить Ctrl + +Уменьшить Ctrl + -_динамика..._Правка_ЭкÑпорт_Файл_Справка_Ð’Ñтавка_СтрофыПараметры...Ðотные Ñтаны..._ИнÑтрументы_Затакт..._ВидаччелерандоВыровнÑтьпоправить нотывÑеВольта 1Вольта 2притÑгиваниедобавить новый нотный Ñтандобавить пуÑтой Ñ€ÑдДобавить пуÑтой Ñ€Ñд в конец - Ctrl + BКоличеÑтво тактоа:Ñ„Ð¸Ð³ÑƒÑ€Ð½Ð°Ñ Ð°ÐºÐºÐ¾Ð»Ð°Ð´Ð°ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð½Ð°Ñ Ð°ÐºÐºÐ¾Ð»Ð°Ð´Ð°Ñменить Ñлементизменить маштабИзменить горизонтальный интервалканалаккордаккорд (Ñхема)...Ð¸Ð¼Ñ Ð°ÐºÐºÐ¾Ñ€Ð´Ð°Ð°ÐºÐºÐ¾Ñ€Ð´ (буквенное обозначение)...выбор аккордахоруÑКлючконфигурациÑÐаÑтроить вход MIDIÐаÑтроить выход MIDI...ÐаÑтроить ударныепараметры бумагиÐаÑтроить комаду печатиÐаÑтроить запиÑÑŒÑоединить тактовые чертыкопировать - Ctrl + CÑоздать обрывы Ñтрокизменить вÑзкиИзменить вÑзки - Ctrl + jудалить блок - Ctrl + XУдалить размер тактадиаграммаÐе разбивать Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ¸Ð˜Ð¼Ñ ÑƒÐ´Ð°Ñ€Ð½Ð¾Ð³Ð¾ Ñлементаредактировать Ñтрофы в текÑтовом редактореИзменить ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ партитуреОчиÑтить блок - Ctrl + EВключить изменение каналаРазрешить Ñмену инÑтрументаВключить изменение темпаПоказывать размер тактаВключить регулировку громкоÑтиЭкÑпорт в PDFÑкÑпорт в файл MIDIпараметры ÑкÑпортафайлÑменить направление штилÑСменить направление ÑˆÑ‚Ð¸Ð»Ñ - Ctrl + fпринимать как фортепиано...начало первого полного такта...начало ÑочинениÑÐ˜Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ÐšÐ¾Ñ€Ð¾Ñ‚ÐºÐ¾Ðµ Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹Ð³Ñ€ÑƒÐ¿Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ нотные Ñтаны акколадой, фигурной Ñкобкой.группировать нотные Ñтаны акколадой, квадратной ÑкобкойполутонаÑкрыть (выбранные) паузыСпрÑтать продолжениеСкрыть паузыСкрыть паузы (в_Ñе)Скрыть выбранные паузы (вÑе)Импорт в файл MIDI Импорт файла MusicXMLимпортировать запиÑанный нотный ÑтанУвеличитьвÑтавитьвÑтавить Ñхему аккордаВÑтавить аккордвÑтавить ключÑвободно размещённый знаквÑтавить горизонтальное обозначениеВÑтавить ключевые знакивÑтавить лигу - Ctrl+HÐ’Ñтавить разделитель ÑтанавÑтавить триоль (Ctrl + num)вÑтавить уÑкорение темпа (аччелерандо)вÑтавить блок пуÑтых тактоввÑтавить "f" вÑтавить "ff"вÑтавить "fff"Ð’Ñтавить лирику в линию 1Ð’Ñтавить лирику в линию 2Ð’Ñтавить лирику в линию 3Ð’Ñтавить лирику в линию 4Ð’Ñтавить лирику в линию 5вÑтавить "mf"вÑтавить "mp"вÑтавить "p" вÑтавить "pp"вÑтавить "ppp" вÑтавить замедление темпа (ritardando)вÑтавить "sf"вÑтавить "sp"вÑтавить темпВÑтавить текÑтинÑтрументинÑтрументыпозициÑÑохранить вÑзкиСохранить выбранные вÑзкиЗнаки ключавидÐльбомÑлевалиниÑгоризонтальие обозначениÑнаÑтройки по умолчаниюзагрузить из файлакуплет 1куплет 2куплет 3куплет 4куплет 5куплет 1куплет 2куплет 3куплет 4куплет 5тип тактаМетод 2поÑрединеMIDI ÑхоMIDI-входвыÑота Ð·Ð²ÑƒÑ‡Ð°Ð½Ð¸Ñ MIDI модификаторВыключить звук на некоторых нотоноÑÑ†Ð°Ñ…Ð¿Ñ€Ð¸Ð³Ð»ÑƒÑˆÐ¸Ñ‚ÑŒâ„–Ð½Ð¸ÐºÐ°ÐºÐ¾ÐµÐ½Ð¾Ñ‚Ð½Ð°Ñ Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°ÐžÑ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸ÑУменьшитьрÑтраницабаланÑТип бумагивÑтавить - Ctrl + VИгратьпроиграть ÑлементСначала требуетÑÑ Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ ноту или паузу!!ПортПортретпозициÑрррррпредпроÑмотркоманда печатиРаÑпечатать файлзапиÑÑŒ MIDIзапиÑÑŒ MIDI - iВыполнить зановоУдалить группу Ñоединённых нотоноÑцевудалить триольУдалить пуÑтые Ñтраницы в концеудалить группуУдалить поÑледнюю ÑтраницуПереориентировать вÑёПереориентировать вÑÑŽ партитуру Ctrl + Tреверб.ÑправаритардандооÑнованиеÑохранить в файлвыбрать шрифтвыбрать нотные ÑтаныВыбранный Ñлемент не находитÑÑ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ триоливыборуÑтановить вÑе бемоли на диезуÑтановить вÑе диезы на бемольУÑтановить вÑе в бемоль...УÑтановить вÑе в диез...уÑтановить Ñоединённые тактовые чертыуÑтановить затакт, Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°Ñ Ð´Ð°Ð½Ð½ÑƒÑŽ ноту как первую ноту полного тактауÑтановить затакт, Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°Ñ Ð´Ð°Ð½Ð½ÑƒÑŽ ноту как первую ноту ÑочинениÑКороткое имÑПоказать Ñкрытые ÑлементыПоказать номера тактовзнакиразмерСортировать инÑтрументыРазделительнотный ÑÑ‚Ð°Ð½Ð˜Ð¼Ñ Ð½Ð¾Ñ‚Ð½Ð¾Ð³Ð¾ ÑтанаКороткое Ð¸Ð¼Ñ Ð½Ð¾Ñ‚Ð½Ð¾Ð³Ð¾ ÑтанаÑимволтемптемп...порог темповых измененийтемп:текÑттактовый размертранÑп.транÑпонироватьРаÑпознавать триплетыÐевозможно уÑтановить деÑÑтичную точку в ".". Выходные данные PostScript будут некорректны ПожалуйÑта, уÑтановите переменную Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ $LANG надлежащим образомОтменаСделать выбранные паузы Ñнова видимымиПоказать паузыПоказать паузы (вÑе голоÑа)Сделать видимыми выбранные паузы (_вÑе)иÑпользовать выборГолоÑа разными цветамигромк.порог динамичеÑких измененнийгромкоÑть:Ð’Ñ‹ не можете выбрать Ñлемент Ñ Ñ€Ð¸Ñ‚Ð¼Ð¸Ñ‡ÐµÑкой точкойnted-1.10.18/po/nl.gmo0000664001041000007640000007103111520270236011267 00000000000000Þ•¼Å\!p, q,~,•, «, ¶, À,Î,Ý,ã,ç, ð,ý, - --2-H- P-Z- `- m-y-- †- “-Ÿ- ¥- ²-½-<Î- .&.ŠA.…Ì.R/3i//¥/«/¼/Ñ/ Ù/ æ/ ñ/û/ 000 !0.0 A0N0 c0 m0 z0ˆ0œ0±0Ç0Ú0í0 1 1 1 1 (131 E1P1X1i1„1”1¤1 ¨1 µ1 Â1 Ï1Ü1î1÷12 $2 .282 >2 I20U2 †2C“2D×2 3(3<3GP3˜3©3¾3Ï3Þ3î3ý3 44;4D4#K4o4 t4‚4 ˆ4 ©4 ¶4 Á4Ï4à4 û455 5-565 ?5I5 N5 Z5 e5p5$…5ª5³5Â5Ò5æ5 ö5 66!646F6W6>i6 ¨6´6¼6Õ6Ú6â6ò6ø6ÿ67 7 "7-7J7 R7 _7 k7 u7 7Œ7 “7ž7¢7 «7¶7Ç7Ø7ÞÝ7 ¼8 Ç8Ô8Ù8 á8 ï8 ù899/9 @9 K9 W9e9m9u9}9 Ž9 œ9¦9¬92²9å9í9õ9ý9 : :: 9:D: J:X: a: o:z:: ž:¬: »: Å:Ò: á:í: ; ;;%;+; 1;<;K;T; [; e; p;{;„;‹;‘; —; £; ¯;¼;Á; Ê; Ö; á; í; ÷;< <<)< 9< D< O<\<d< m< w< „< ‘< Ÿ<­< ¼<Ç<×< ç< ñ< ü< ==== &=2=9=V=^= e= o= y=‡=—= =¨= ­=»= Â= Ð=Þ= ú=> > >>&> .>9>J>\> o>#y>>¼>Í> ß>í>ó>û>????(?;? B?N? T?`? g?t?|? €? Ž?œ?£?¶?Í? æ?ó?ù?@ @@=@E@ K@ U@ _@ m@y@€@…@Œ@¡@·@Ç@×@ï@AA!A4ACA]AuA„AŒAŸA±AÌAÜAóA B"B6BEB ZBeB xB†BˆB‹BB ”BžB ³B¿B ÒB ÝBèB ùB"C =CHC^C mCxCŒC©C¼CÓCéCìCóCD D#D@DYDpD‡DDºD ÍDÚD ãD íDøDE(E@EXE pE zE„E E —E¢E ´E ¾E ÈE ÕE áE ìEøE ýEFF!F &F0F5F:F @FNF]FfFoFxFFŠF’FšF¢FªF ²F¿FÈFËF ÏF ÙF äFïFôF÷FGGG G !G-G1G3G8G cXcuc…cŽc“c¤c´cÔcÛc ãc ðcüc dd$d ,d6dOdidydŠd¢d³dÉdÚdëd!e$e ;eIeQefe$xeeµeÏeêef!f7fSfff~f”f–f™ff¥fºfØfèf ùf gg g@g `glg‹gœg«g+Égõg h!h;h>hGhXhmh~hh·hÊh çhi%i :i Hi Si _ili‹iªiÉièi j j j *j 6jCj Wj cjoj~j j ˜j¥jªjÁj Þjèj îjøjþjk k&k 7k Ck Ok [k gk sk ~k ‰k ”k Ÿk ªk µk¿kÂk Ék Ókßkïkôk÷k llll #l.l2l4l ;l IlUlflol €l¡l§l¯l·lºl ¾l ÌlÚl êlölm#m2mEmdmtm mm¸m½m Äm ÏmÙmîmþm,n=nFnan|n˜nµnGÕn;oYo \ogo€o ’oo¥o»o ¾o ÌoÖoåoúop pp"p)p /p9p ApMp{_pÛp/êpq$:q2_q’q£q «qÌqÓqäq,ìqèé‹8ûÅ—)¿Œ¨TUPü¡8añÆáµTY¾·C^d ÷§tDÓF0`‘g×]˜zf¯ùh¯˜ Ès%¸PÔFŸ ’ˆþÿ“ l¼!øóÌOÖš5.¨‰³œÙŠ$=Eâ'!‘ìö&q–©n«ãw¿AZ+ñ¢²þuWÀYí¦ƒxf™¸Sqh~dr/Õ±iÅpÈ_bóé¥ …HÑNå¼Â%; -<Éíjo•yOÚN' $ýVMð1Ó”ÃÄûœZöw¶ÊIXƒ¤/Ábؤ >&î(®GÔÂnzò®AymÆÌür6tQ3Sݳ6”ú°ÁÀÐý«ú]e;9EêÕevÏæ=JÚx,Ò4ï`„1#ÏçBBk:*ßCõà¬ÝÙŽ‚~›?ÞÍßÛê2º…X´¶"¹>âôgìå¢Þ ÷^Œ-½‡—›õàVu¡G9ä0|‰¦§}ðž+k K\sa}£.R<v:R\LÄò4‹|ùª#joç ÍΖ°,Ž{pܱ*?ŠË7ˈô»²Î¾"JªšãiM½c€™Ÿ ë@ ëÛžÒÐ܇©º» É­{­¹ÇרæK †DÖä@Êî´è ’“[•øl7÷‚m2L)ïÇ[ £IᄵQc( ¬†€Ñ_Uÿ3W¥H5 5th Saw WaveA Major; f sharp minorA flat Major; f minorAbout NtEdAccordionAcoustic BassAdjust notes ?AgogoAllAlto SaxAppend staffApplauseArranger:AtmosphereB Major; g sharp minorB flat Major; g minorBagpipeBandoneonBanjoBaritone SaxBass & LeadBassoonBirdBottle ChiffBowed GlassBrassBreath NoiseBrightnessC Major; a minorCannot list midi ports because could not open ALSA sequencerCannot open %s for readingCannot open %s for writingCannot open ALSA MIDI sequencer --> read/record won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot open ALSA MIDI sequencer --> replay won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot rename %s to %sCannot replay because could not open ALSA sequencerCelestaCelloChange Scale ...Change spacement ...CharangChiffer LeadChoir AahsChordnameChordsChurch OrganClarinetClavinetClean GuitarClef configurationClose WindowClose current windowComposer:Config DrumsConfig RecordConfigure Drums ...Configure MIDI in...Configure MIDI out...Configure Paper...Configure Print...Configure Record ...ContrabassCopyCopyright:Create PDFCreate PNGCreate PostscriptCreate SVGCrystalD Major; b minorD flat Major; b flat minorD. Capo al CodaD. Capo al FineD.SD.S. al CodaD.S. al FineDelete blockDenominator:Documentation ...DulcimerE Major; c sharp minorE flat Major; c minorE.Piano 1E.Piano 2E_xitEcho DropsEmpty blockEmpty not possible because of incomplete tupletsEnglish HornError creating ALSA sequencer input port --> record won't work :-((Error creating ALSA sequencer output port --> replay won't work :-((Excerpt ...Excuse! Cannot execExcuse! Cannot forkExcuse! The documentation is not available due to an installation errorExit the programExport LilyPond ...Export MIDI ...Export PDF ...Export P_NG ...Export P_S ...Export S_VG ...F Major; d minorF sharp Major; d sharp minorFantasiaFiddleFile %s already exists. Overwrite ?FineFingered BassFluteFont selection - Measure numbersFrench HornsFret NoiseFretless BassG Major; e minorG flat Major; e flat minorGlockenspielGoblinGuitar HarmonicsGuitar MutesGun ShotHalo PadHarmonicaHarpHarpsichordHelicopterHonky-tonkHorizontal SpacementI'm not able to create a tuplet hereIce RainImport MIDI...Import MusicXMLImport MusicXML ...Import recordedInsert blockInsert blocksInsert clef ...Insert keysig ... Insert lines ... Insert sign ... Insert tuplet ...Instead of using this dialog you can simply press + numJazz GuitarKalimbaKeyboard insert mode - kKotoLicenseLilyPond exportLinesLyricsLyrics editor ...MIDIMIDI importMIDI portsMake an excerpt of the scoreMarimbaMeasure typeMelodic TomMetal PadMusic BoxMute TrumpetMutingMuting ...NewNew FileNew WindowNew keysignatureNo segno meaningNoneNtEd version %s by Joerg Anders Send bug reports to %s Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Author: J.Anders Translation: Numerator:Nylon GuitarOboeOcarinaOctave shift:Open ...Open a fileOpen a new windowOpen drum configurationOpen lyrics fileOpen scoreOpen_RecentOrchestra HitOrgan 1Organ 2Organ 3Overdrive GuitarPage Mode - pPan FlutePaperPastePaste not possible: A tuplet would cross a measurePiano 1Piano 2Piano 3PiccoloPicked BassPizzicatoPlease select a note or rest!Poly SynthPrintPrint commandRecorderRedo Ctrl + yReed OrganRemove empty pagesRemove last pageRemove tupletReverse CymbalSave ...Save As ...Save Changes ?Save a fileSave drum configurationSave lyricsSave scoreSaw WaveScaleScoreScore infoScore info ...SeashoreSelectSet TempoSet VolumeShakuhachiShamisenShenaiSignsSitarSlap Bass 1Slap Bass 2Slow StringsSlurSolo VoxSoprano SaxSoundtrackSpace VoiceSpacementSquare WaveStaff %dStaff contextStaff positionStaff selectionStar ThemeSteel DrumSteel GuitarStringsSubject:Sweep PadSynth Bass 1Synth Bass 2Synth Brass 1Synth Brass 2Synth CalliopeSynth DrumSynth Strings 1Synth Strings 2Synth VoxTaiko DrumTelephoneTenor SaxTextText ...TimpaniTinker BellTitle:Toggle Insert/Erase Mode - nToolboxTools Tools ...TransposeTranspose ...Tremolo StringsTromboneTrumpetTubaTubular BellsTupletTuplet value:Undo Ctrl + zUsage: %s [.ntd] VibraphoneViolaViolinVoice OohsWarm PadWhistleWood BlockWrite PostScriptWrite a png imageWrite an svg imageXylophoneYou cannot copy incomplete tuplets!You select a note in an tupletZoom in Ctrl + +Zoom out Ctrl + -_Dynamics ..._Edit_Export_File_Help_Insert_Lyrics_Preferences ..._System layout ..._Tools_Upbeat ..._Viewaccelerandoadjustadjust notesal Codaallalternative 1alternative 2anchorappend a new staffappend a system at endappend system - Ctrl + Bblock count:bracebracketchange elementchange scalechange the horizontal spacementchannelchordchord ...chordnamechordname ...chordselectchorusclefconfigconfigure MIDI inputconfigure MIDI outputconfigure drumsconfigure paperconfigure print commandconfigure recordconnect barlinescopy - Ctrl + Ccreate line breakscustomize beamcustomize beam - Ctrl + jdelete block - Ctrl + Xdelete timesigdiagramdon't split tracksdrum element nameedit lyrics in text editoredit score infoempty block - Ctrl + Eenable channel changeenable instrument changeenable tempo changeenable timesigenable volume changeexport PDFexport a midi fileexport paramsfffffffileflip stemflip stem - Ctrl + fforce pianogive first measuregive startgroup namegroup short namegroup staves by means of a bracegroup staves by means of a brackethalf-toneshide (selected) restshide followinghide restshide rests (all v.)hide selected rests (all v.)import a midi fileimport a musicxml fileimport recorded staffininsertinsert a chordinsert a chordnameinsert a clefinsert a free placeable signinsert a horizontal lineinsert a key signatureinsert a slur - Ctrl+Hinsert a staff spacerinsert a tuplet (Ctrl + num)insert accelerandoinsert blockinsert finsert ffinsert fffinsert lyrics at line 1insert lyrics at line 2insert lyrics at line 3insert lyrics at line 4insert lyrics at line 5insert mfinsert mpinsert pinsert ppinsert pppinsert ritardandoinsert sfinsert spinsert tempoinsert textinstrumentinstrumentsitemkeep beamskeep beams selectionkeykindlandscapeleftlinelinesload defaultsload from filelyrics 1lyrics 2lyrics 3lyrics 4lyrics 5lyrics1lyrics2lyrics3lyrics4lyrics5measure typemethod 2mfmidmidi echomidi inputmidi pitchmodympmute some stavesmutingnononenote headorientationoutppagepanpaper typepaste - Ctrl + Vplayplay elementplease select a note or rest firstportportraitpositionppppppreviewprint commandprint filerecord midirecord midi - iredoremove a group of connected stavesremove a tupletremove empty pages at endremove groupremove the last pagereposit allreposit the whole score - Ctrl + Treverbrightritardandorootsave to fileselect fontselect stavesselected element is not inside a tupletselectionset all flats to sharpset all sharps to flatset all to flat ...set all to sharp ...set connected bar linesset upbeat by giving the start of first full measureset upbeat by giving the start of the scoresfshort nameshow hidden elementsshow measure numberssignssizesort instrumentsspspacerstaffstaff namestaff short namesymboltempotempo ...tempo densitytempo:texttime signaturetransp.transposetriplet recognitionunable to set decimal point to '.'. PostScript output will be erroneous. Please set the $LANG environment variable appropriately!undounhide (selected) restsunhide restsunhide rests (all v.)unhide selected rests (all v.)use selectionvoicesvoices in different colorsvolumevolume densityvolume:you cannot select an element with dotProject-Id-Version: nl Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de POT-Creation-Date: 2011-01-27 14:18+0100 PO-Revision-Date: 2009-10-25 14:11+0100 Last-Translator: Martin Tarenskeen Language-Team: Dutch Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Zaagtand KwintA Majeur; fis mineurAs Majeur; f mineurOver NtEdAccordeonAkoestische BasNoten aanpassen ?AgogoAllesAlt SaxVoeg notenbalk toeApplausArrangeur:AtmosfeerB Majeur; gis mineurBes Majeur; g mineurDoedelzakBandoneonBanjoBariton SaxBas & LeadFagotVogelBottle ChiffGestreken GlasKoperblazersAdemruisHelderheidC Majeur; a mineurKan MIDI poorten niet tonen - Kon ALSA sequencer niet openenKan %s niet openen om te lezenKan %s niet openen om te schrijvenKan ALSA MIDI sequencer niet openen --> Afspelen/Opnemen zal niet werken :-(( Probeer (als root) modprobe snd-seq-midi en start NtEd opnieuw Misschien helpt dit(?)Kan ALSA MIDI sequencer niet openen --> Afspelen zal niet werken :-(( Probeer (als root) modprobe snd-seq-midi en start NtEd opnieuw Misschien helpt dit(?)Kan naam %s niet veranderen in %sAfspelen niet mogelijk - kon ALSA sequencer niet openenCelestaCelloVerander schaal ...Verander spatieringCharangChiffer LeadKoor AahsAkkoordnaamAkkoordenKerkorgelKlarinetClavinetGitaar El.(clean)Sleutel configurerenSluit vensterSluit huidig vensterComponist:Drums instellen...Opname InstellenDrums Instellen...MIDI In instellen...MIDI Uit instellen...Papier instellenPrinten instellen...Opname instellen ...ContrabasKopieerAuteursrechten:Maak PDFMaak PNGMaak PostscriptMaak SVGKristalD Majeur; b mineurDes Majeur; bes mineurD.C. al CodaD.C. al FineD.S.D.S. al CodeD.S. al FineBlok wissenNoemer:Documentatie ...DulcimerE Majeur; cis mineurEs Majeur; c mineurE.Piano 1E.Piano 2AfsluitenEcho DruppelsBlok leegmakenLeegmaken niet mogelijk met onvolledige N-tolenEngelse HoornFout bij creatie van ALSA sequencer ingang. --> afspelen zal niet werken :(( Fout tijdens creatie van ALSA seq. uitgang. --> afspelen zal niet werken :(( Uitsnede ...Helaas! Exec niet mogelijkHelaas! Fork niet mogelijkHelaas! De documentatie is niet beschikbaar door een installatie foutProgramma afsluitenLilyPond exporteren ...MIDI exporteren ...PDF exporteren ...P_NG exporteren ...P_S exporteren ...S_VG exporteren ...F Majeur; d mineurFis Majeur; dis mineurFantasieVedelBestand %s bestaat al. Overschrijven ?EindeVinger BasFluitFont selectie - Maat nummersFranse HoornsFret LawaaiFretloze BasG Majeur; e mineurGes Majeur; es mineurKlokkenspelGoblinGitaar FlageoletGitaar El.(gedempt)GeweerschotHalo KlanktapijtHarmonicaHarpKlavecimbelHelikopterHonky-tonkHorizontale spatieringKan hier geen N-ool maken hierHagelMIDI importeren...MusicXML importerenMusicXML importerenOpname importerenBlok invoegenBlok invoegenSleutel invoegenToonsoort invoegen ... Lijnen invoegen ... Teken invoegen ... N-tool invoegen ...In plaats van dit dialoogvenster kun je ook gewoon + num gebruikenJazz GitaarKalimbaKeyboard invoeg modus - kKotoLicentieLilyPond exporterenLijnenLiedtekstLiedtekst bewerkerMIDIMIDI importerenMIDI poortenMaak een uitsnede van de partituurMarimbaMaat soortMelodische TomMetaal KlanktapijtMuziekdoosGedempte TrompetDempenDempen ...NieuwNieuw bestandNieuw vensterNieuwe toonsoortGeen Segno betekenisGeenNtEd version %s door Joerg Anders Zend bug rapporten naar %s Informatie op http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Auteur: J.Anders Nederlandse Vertaling: Wouter Stomp en Martin TarenskeenTeller:Gitaar Ac.(nylon)HoboOcarinaOktaaf verschuivingOpen ...Bestand openenOpen een vensterDrum instellingen openenLiedtekst Bestand openenOpen partituurOpen_RecentOrkest KlapOrgel 1Orgel 2Orgel 3Gitaar El.OverstuurdPagina modus - pPanfluitPapierPlakkenPlakken niet mogelijk. N-tool overschrijdt maatstreepPiano 1Piano 2Piano 3PiccoloPluk basPizzicatoSelecteer a.u.b. een noot of rust!Poly SynthPrintPrintopdrachtBlokfluitOpnieuw Ctrl + yRietorgelLege paginas verwijderenLaatste pagina verwijderenN-tool verwijderenBekken AchterstevorenOpslaan ...Opslaan als ...Veranderingen opslaan ?Bestand opslaanDrum in stellingen bewarenBewaar LiedtekstPartituur opslaanZaagtand GolfSchaalPartituurPartituur infoPartituur info ...ZeegeruisSelecteerTempo instellenVolume instellenShakuhachiShamisenShenaiVoortekensSitarSlap Bas 1Slap Bas 2Langzame StrijkersLegatoboogSolo VoxSopraan SaxSoundtrackRuimtestemSpatieringBlok GolfNotenbalk %dNotenbalk contextNotenbalk positieNotenbalk selectieSterren ThemaSteel DrumGitaar Ac.(staal)StrijkersOnderwerp:Sweep KlanktapijtSynth Bas 1Synth Bas 2Synth Koperblazers 1Synth Koperblazers 2Synth CalliopeSynth DrumSynth Strijkers 1Synth Strijkers 2Synth VoxTaiko DrumTelefoonTenor SaxTekstTekst ...PaukenTinker BelTitel:Wissel invoeg/verwijder modus - nGereedschapskistGereedschapGereedschap ...TransponeerTransponeer ...Tremolo StrijkersTromboneTrompetTubaBuisklokkenN-toolN-tool waarde: Ongedaan maken Ctrl + zGebruik: %s [.ntd] VibrafoonAltvioolVioolStem OohsWarm KlanktapijtFluitjeHoutblokBewaar als PostscriptBewaar als PNG afbeeldingBewaar als SVG afbeeldingXylofoonJe kunt een onvolledige N-tool niet kopieren!Je selecteert een noot in een N-toolInzoomen Ctrl + +Uitzoomen Ctrl + -_Dynamiek ..._Bewerken_Exporteren_Bestand_Help_Invoegen_Liedtekst_Voorkeuren_Systeem Layout ..._Gereedschap_Opmaat ..._BeeldAccelerandoaanpassenNoten aanpassenal CodaAllesAlternatief 1Alternatief 2AnkerVoeg een nieuwe notenbalk toeVoeg systeem toe na eindeSysteem toevoegen - Ctrl + BAantal blokken:AccoladeHaakVerander elementVerander schaalVerander horizontale spatieringKanaalAkkoordAkkoord ...AkkoordnaamAkkoordnaam ...Akkoord selectieChorusSleutelInstellenMIDI ingang instellen...MIDI Uitgang instellen...Drums instellenPapier instellenPrintopdracht instellenOpname instellenMaatstrepen verbindenKopieer Ctrl + CMaak regeleindesWaardestreep aanpassenWaardestreep aanpassen - Ctrl + jBlok wissen - Ctrl + XWis maatsoortDiagramsporen niet splitsenDrum element naambewerk liedteksten in tekst bewerkerPartituur Info bewerkenBlok leegmaken - Ctrl + Etempo verandering mogelijkvolume verandering mogelijkTempo verandering mogelijkMaatsoort inschakelenVolume verandering mogelijkPDF exporteren ...MIDI Bestand exporterenParameters exporterenffffffbestandStokrichting omkerenStokrichting omkeren Ctrl + fpiano afdwingenGeef eerste maatGeef Begingroepsnaamkorte groepsnaamGroepeer balken d.m.v. accoladeGroepeer balken d.m.v. een haakHalve tonenVerberg (geselecteerde) rustenVerberg volgendeVerberg rustenVerberg rusten (alle stemmen)Verberg geselecteerde rusten (alle stemmen)MIDI bestand importerenMusicXML importerenOpgenomen balk importerenininvoegenAkkoord invoegenAkkoordnaam invoegenSleutel invoegenVrij plaatsbaar teken invoegenHorizontale lijn invoegenToonsoort invoegenLegatoboog invoegen - Ctrl+HNotenbalk afstandhouder invoegenN-tool invoegen (Ctrl + num)Accelerando invoegenBlok invoegenf invoegenff invoegenfff invoegenLiedtekst invoegen bij regel 1Liedtekst invoegen bij regel 2Liedtekst invoegen bij regel 3Liedtekst invoegen bij regel 4Liedtekst invoegen bij regel 5mf invoegenmp invoegenp invoegenpp invoegenppp invoegenRitardando invoegensf invoegensp invoegenTempo invoegenTekst invoegeninstrumentInstrumentenItemwaardestrepen behoudenbehoud waardestreep selectieToonsoortSoortLandschapLinkslijnLijnenlaad standaard instellingenlaad van bestandLiedtekst 1Liedtekst 2Liedtekst 3Liedtekst 4Liedtekst 5Liedtekst1Liedtekst2Liedtekst3Liedtekst4Liedtekst5Maat soortMethode 2mfMiddenMIDI echoMidi invoerMIDI toonhoogteModimpDemp enkele balkenDempenNeeGeennotenkopOrientatieuitppaginaStereo balansPapiersoortPlakken Ctrl + VAfspelenelement afspelenSelecteer eerst een noot of rustPoortPortretpositiepppppbekijk voorafPrintopdrachtBestand printenMidi opnameMidi opname - iopnieuwVewijder een groep verbonden balkenN-tool verwijderenVerwijder lege laatste paginasVerwijder groepLaatste pagina verwijderenAlles bewarenComplete partituur bewarenGalmRechtsRitardandoGrondtoonopslaan naar bestandFont selecterenBalken selecterenGeselecteerde element is niet in een N-tioolSelectieGebruik mollen ipv kruizenGebruik kruizen ipv mollenAlleen mollen gebruiken ...Alleen kruizen gebruiken ...Maatstrepen verbinden instellenStel opmaat in door het begin van de eerste volledige maat aan te gevenStel Opmaat in door het begin van de partituur aan te gevensfkorte naamToon verborgen elementenMaatnummers tonenVoortekensgrootteInstrumenten sorterenspAfstandhouderNotenbalkNotenbalk naamnotenbalk korte naamsymboolTempoTempo ...tempo dichtheidTempo:TekstMaatsoortTransp.TransponeerTriool herkenningKan decimale punt niet naar '.' zetten. Postscript uitvoer zal fouten bevatten. Zet de $LANG omgevingsvariabele correct!ongedaan makenLaat (geselecteerde) verborgen rusten weer zienLaat verborgen rusten weer zienLaat rusten weer zien (alle stemmen)Laat geselecteerde rusten weer zien (alle stemmen)Gebruik selectieStemmenStemmen in verschillende kleurenVolumevolume dichtheidVolume:Je kunt geen element met een punt selecterennted-1.10.18/po/de.gmo0000664001041000007640000006365311520270236011261 00000000000000Þ•ÅD_lè%é%& & !& +&9&H&L& U&b& k& u&€&—&­& µ&Â&Ê& Ï&Ü& â&ï&<'='X'Šs'…þ'„(3›(Ï(à( õ( ) ) )) ')4) G)T) i) s) €)Ž)¢)·)Í)à)ó) ** * #* .*9* K*V*g* ‚* *œ*®*Å* Û* å*ï* õ*0+ 2+C?+Dƒ+ È+Ô+è+Gü+D,U,j,{,Š,š,©,¹,Ê,ç,ð,#÷,- -.- 4-A-R-m-~- ‡-‘- –- ¢-­-$Â-ç-ö-.. *. 7.E.U.h.z.‹.>. Ü.è./ ///&/ 8/ D/O/ l/ y/ ƒ// —/¢/¦/ ¯/º/Ë/Ü/Þá/ À0 Ë0 Ø0 æ0 ð0ü01&1 71 B1 N1\1d1l1t1 …1 “11£12©1Ü1ä1ì1ô12 2&2 /2 =2H2[2 l2 z2 „2‘2  2¬2 Ä2 Ð2Û2á2 ç2ò23 3 3 3&3 ,393 >3 J3T3 ]3k3z3 Š3—3Ÿ3 ¨3 ¶3Ä3Ô3 ä3 î3 ø344444<4D4 K4 U4 _4m4v4 ~4Œ4 “4 ¡4¯4 Ë4Ö4Ü4 ã4î4 ö455$5#75[5z5‹5 5«5±5·5½5Å5Í5Þ5ñ5 ø56 66 6*6 .6 <6J6Q6d6{6 ”6¡6§6¯6 ¾6Ë6ë6ó6 ù6 7 7 7'7.737:7O7e7u7…77®7¿7Ï7â7ñ7 8#828:8M8_8z8Š8¡8·8Ð8ä8ó8 99 &949 99C9 X9d9 w9 ‚99 ž9"¿9 â9í9: ::1:N:a:x:Ž:‘:˜:§: º:È:å:þ:;,;B;_; r;; ˆ; ’;;µ;Í;å;ý; < <)< 2< <<G< Y< c< m< z< †< ‘<< ¢<­<Â<Æ< Ë<Õ<Ú<ß< å<ó<= ===&=/=7=?=G=O= W=d=m= q= {= †=‘=–=§=®=±= ¶= À=Ì=Ð=Õ= Ù=ä=õ= ú=">*>/>8>A> I> W> b>n>~>"ƒ>¦>¶> Ð>Ý> ò>"þ>!?(? .?9? >? K? W?'e? ?—?®?Å?Ù?î?4@+;@ g@r@‡@œ@¢@§@¸@¿@ Å@Ð@á@è@ î@ ø@A AA !A+A„?AÄAÉA áAîAB #B1B8BSBZBiB%qB`—BøCD D "D,D=DOD UDaDzD ‚D D™D ©D ·DÁDÑDÙDßDçD íD ûDe E2oE-¢EÊÐEÍ›F#iGPGÞGõG H H H (H 3H >HLHdHwH ”HŸH¸HÎHÝH÷HI/IFI fIqI zI …I ’IŸI ²I ¿IÍIÝIìIôIJJ%Jq4ªzV™ @ÆÇ÷ 7V8¿ÿ±¿³=:¹c‰?µ…áD$®â‘²·“Gsšfòw#ض_°@ƒ™³`PEý¤S\‹WÔa¼°ZäÝô<㾈u»|]F’Ÿ´«í¤x±\ažçmv„}θNùu ¸¢‡PCø“§ìzY´-‚`rÕÃgÃ/î{79=ª¶õXµ%X J*_15»OZ1TqI׋©"MnopTŠ w‡QBF‰¹0”65Áo¦¡6~ëÙ0e©¬/½Ö£HžŸs«É¨¬€,"†§Sˆœ®^² – ¨~h‘(lêÏ)fð#‚¼ û¯›ïóG†KLMND(üÞ˜JÜ[ƒ}º4i3ÛYÑ•è¥*$U9Ú8KÌ­À .àÀjELO—|šABåÈd¯ËR%xyylitkŽm :—ŒAW¦<&!k3ÄÅþÒj)b- 'n•–útº']v…¥r+Ê’ {;+p>”é.^;bÁ2Š­U„€!¡˜ÍIgöQæA Major; f sharp minorA flat Major; f minorAbout NtEdAccordionAcoustic BassAdjust notes ?AllAlto SaxAppend staffApplauseArranger:AtmosphereB Major; g sharp minorB flat Major; g minorBagpipeBaritone SaxBassoonBirdBottle ChiffBrassBreath NoiseC Major; a minorCannot list midi ports because could not open ALSA sequencerCannot open %s for readingCannot open %s for writingCannot open ALSA MIDI sequencer --> read/record won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot open ALSA MIDI sequencer --> replay won't work :-(( Try (as root) modprobe snd-seq-midi and restart NtEd Perhaps this helps(?)Cannot rename %s to %sCannot replay because could not open ALSA sequencerChange Scale ...Change spacement ...Choir AahsChordnameChordsChurch OrganClarinetClean GuitarClef configurationClose WindowClose current windowComposer:Config DrumsConfig RecordConfigure Drums ...Configure MIDI in...Configure MIDI out...Configure Paper...Configure Print...Configure Record ...ContrabassCopyCopyright:Create PDFCreate PNGCreate PostscriptCreate SVGD Major; b minorD flat Major; b flat minorDelete blockDenominator:Documentation ...E Major; c sharp minorE flat Major; c minorE.Piano 1E.Piano 2E_xitEmpty blockEmpty not possible because of incomplete tupletsEnglish HornError creating ALSA sequencer input port --> record won't work :-((Error creating ALSA sequencer output port --> replay won't work :-((Excerpt ...Excuse! Cannot execExcuse! Cannot forkExcuse! The documentation is not available due to an installation errorExit the programExport LilyPond ...Export MIDI ...Export PDF ...Export P_NG ...Export P_S ...Export S_VG ...F Major; d minorF sharp Major; d sharp minorFantasiaFiddleFile %s already exists. Overwrite ?FineFingered BassFluteFrench HornsG Major; e minorG flat Major; e flat minorGuitar HarmonicsGun ShotHarmonicaHarpHarpsichordHelicopterHorizontal SpacementI'm not able to create a tuplet hereImport MIDI...Import MusicXMLImport MusicXML ...Import recordedInsert blockInsert blocksInsert clef ...Insert keysig ... Insert lines ... Insert sign ... Insert tuplet ...Instead of using this dialog you can simply press + numJazz GuitarKeyboard insert mode - kLicenseLilyPond exportLinesLyricsLyrics editor ...MIDI importMIDI portsMake an excerpt of the scoreMeasure typeMusic BoxMute TrumpetMutingMuting ...NewNew FileNew WindowNew keysignatureNo segno meaningNoneNtEd version %s by Joerg Anders Send bug reports to %s Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Author: J.Anders Translation: Numerator:Nylon GuitarOctave shift:Open ...Open a fileOpen a new windowOpen drum configurationOpen lyrics fileOpen scoreOpen_RecentOrchestra HitOrgan 1Organ 2Organ 3Overdrive GuitarPage Mode - pPan FlutePaperPastePaste not possible: A tuplet would cross a measurePiano 1Piano 2Piano 3Please select a note or rest!PrintPrint commandRecorderRedo Ctrl + yReed OrganRemove empty pagesRemove last pageRemove tupletSave ...Save As ...Save Changes ?Save a fileSave drum configurationSave lyricsSave scoreScaleScoreScore infoScore info ...SeashoreSelectSet TempoSet VolumeSignsSlow StringsSlurSoprano SaxSpacementStaff %dStaff contextStaff positionStaff selectionSteel GuitarStringsSubject:Synth Brass 1Synth Brass 2Synth Strings 1Synth Strings 2Synth VoxTelephoneTenor SaxTextText ...TimpaniTitle:Toggle Insert/Erase Mode - nToolboxTools Tools ...TransposeTranspose ...TromboneTrumpetTubular BellsTupletTuplet value:Undo Ctrl + zUsage: %s [.ntd] VibraphoneViolaViolinVoice OohsWhistleWood BlockWrite PostScriptWrite a png imageWrite an svg imageYou cannot copy incomplete tuplets!You select a note in an tupletZoom in Ctrl + +Zoom out Ctrl + -_Dynamics ..._Edit_File_Help_Insert_Lyrics_Preferences ..._System layout ..._Tools_Upbeat ..._Viewaccelerandoadjustadjust notesallalternative 1alternative 2anchorappend a new staffappend a system at endappend system - Ctrl + Bblock count:bracebracketchange elementchange scalechange the horizontal spacementchannelchordchord ...chordnamechordname ...chordselectchorusclefconfigconfigure MIDI inputconfigure MIDI outputconfigure drumsconfigure paperconfigure print commandconfigure recordconnect barlinescopy - Ctrl + Ccreate line breakscustomize beamcustomize beam - Ctrl + jdelete block - Ctrl + Xdelete timesigdiagramdon't split tracksdrum element nameedit lyrics in text editoredit score infoempty block - Ctrl + Eenable channel changeenable instrument changeenable tempo changeenable timesigenable volume changeexport PDFexport a midi fileexport paramsfileflip stemflip stem - Ctrl + fforce pianogive first measuregive startgroup namegroup short namegroup staves by means of a bracegroup staves by means of a brackethalf-toneshide (selected) restshide followinghide restshide rests (all v.)hide selected rests (all v.)import a midi fileimport a musicxml fileimport recorded staffininsertinsert a chordinsert a chordnameinsert a clefinsert a free placeable signinsert a horizontal lineinsert a key signatureinsert a slur - Ctrl+Hinsert a staff spacerinsert a tuplet (Ctrl + num)insert accelerandoinsert blockinsert finsert ffinsert fffinsert lyrics at line 1insert lyrics at line 2insert lyrics at line 3insert lyrics at line 4insert lyrics at line 5insert mfinsert mpinsert pinsert ppinsert pppinsert ritardandoinsert sfinsert spinsert tempoinsert textinstrumentinstrumentsitemkeep beamskeep beams selectionkeykindlandscapeleftlinelinesload defaultsload from filelyrics 1lyrics 2lyrics 3lyrics 4lyrics 5lyrics1lyrics2lyrics3lyrics4lyrics5measure typemethod 2midmidi echomidi inputmidi pitchmodymute some stavesmutingnononenote headorientationoutpagepanpaper typepaste - Ctrl + Vplayplay elementplease select a note or rest firstportportraitpositionpreviewprint commandprint filerecord midirecord midi - iredoremove a group of connected stavesremove a tupletremove empty pages at endremove groupremove the last pagereposit allreposit the whole score - Ctrl + Treverbrightritardandorootsave to fileselect fontselect stavesselected element is not inside a tupletselectionset all flats to sharpset all sharps to flatset all to flat ...set all to sharp ...set connected bar linesset upbeat by giving the start of first full measureset upbeat by giving the start of the scoreshort nameshow hidden elementsshow measure numberssignssizesort instrumentsspacerstaffstaff namestaff short namesymboltempotempo ...tempo densitytempo:texttime signaturetransposetriplet recognitionunable to set decimal point to '.'. PostScript output will be erroneous. Please set the $LANG environment variable appropriately!undounhide (selected) restsunhide restsunhide rests (all v.)unhide selected rests (all v.)use selectionvoicesvoices in different colorsvolumevolume densityvolume:you cannot select an element with dotProject-Id-Version: de Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de POT-Creation-Date: 2011-01-27 14:18+0100 PO-Revision-Date: 2010-04-12 18:06+0200 Last-Translator: Joerg Anders Language-Team: deutsch Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A-Dur; fis-mollAs-Dur; f-mollÜber NtEdAkkordeonAkustischer BassNoten justieren ?AllesAltsaxophoneine Notenzeile anfügenBeifallArrangeur:AtmosphäreH-Dur; gis-mollB-Dur; g-mollDudelsackBaritonsaxophonFagotteVogelFlascheBlechAtemgeräuschC-Dur; a-mollDie MIDI Ports können nicht aufgeführt werden, da der ALSA-Sequenzer nicht geöffnet werden konnte.Die Datei %s kann nichr zum Lesen geöffnet werden%s kann nicht zum Schreiben geöffnet werden.Der ALSA-MIDI-Sequenzer kann nicht geöffnet werden --> Die Eingabe wird nicht funktionieren :-(( Versuchen Sie (als root-Nutzer) modprobe snd-seq-midi und starten Sie NtEd erneut! Vielleicht hilft's(?)Der ALSA-MIDI-Sequenzer kann nicht geöffnet werden --> Die Wiedergabe wird nicht funktionieren :-(( Versuchen Sie (als root-Nutzer) modprobe snd-seq-midi und starten Sie NtEd erneut! Vielleicht hilft's(?)Ich kann %s nicht in %s umbenennen.Wiedergabe nicht möglich, da der ALSA -Sequenzer nicht geöffnet werden konnte.Partitur skalieren ...Abstände ändern ...Chor AahsAkkordnameAkkordeKirchorgelKlarinetteReine GitarreSchlüsselkonfigurationFenster schließenaktuelles Fenster schließenKomponist:Schlagzeug konfigurierenAufnahmekonfigurationSchlagzeug ...MIDI IN konfigurieren ...MIDI Ausgang konfigurieren ...Papier konfigurieren ...Druckkonfiguration ...MIDI-Aufnahme konfigurieren ...KontrabasskopierenCopyright:PDF erzeugenPNG erzeugenPostScript erzugenSVG erzeugenD-Dur; b-mollDes-Dur; b-mollBlock löschenNenner:Dokumentation ...E-Dur; cis-mollEs-Dur: c-mollElektrisches Klavier 1Elektrisches Klavier 2_BeendenBlock leerenLeeren nichtmöglich: Der Bereich enthält unvollständige N-Tolen!engl. HornFehler beim Erstellen eines ALSA-Sequenzer-Eingabe-Ports --> Die MIDI-Eingabe wird nicht funktionieren :-((Fehler beim Erstellen der ALSA-Sequenzer-Ausgabe-Ports --> Die Wiedergabe wird nicht funktionieren :-((Partiturauszug ...Entschuldingung! Exec geht nicht!Entschuldigung! Fork geht nicht.Entschuldigung, aber die Dokumentation ist aufrund eines Installationsfehlers nicht verfügbar.Das Programm beendenLilyPond exportieren ...Als MIDI exportieren ...PDF exportieren ...Export P_NG ...Post_Script exportieren ...Export S_VG ...F-Dur; d-mollFis-Dur; dis-mollFantasieFiedelDie Datei %s existiert bereits. Überschreiben?Finegezupfter BassQuerflötefranz. HornG-Dur; e-mollGes-Dur; es-mollGitarrenharmonienGewehrsschussMundharmonikaHarfeChembaloHubschrauberWaagerechter AbstandHier kann keine N-Tole erzeugt werdenImport MIDI ...MusicXML importierenImport MusicXML ...Aufn. importierenBlock einfügenBlöcke einfügenSchlüssel ...Vorzeichnung einfügen...Linien ...Zeichen einfügen...N-Tole einfügen ...Statt diesen Dialog zu benutzen können Sie auch einfach + Zahl drückenJazzgitarrePC-Tastatur-Einfüge-ModusLizenzLilyPond exportLinienStrophenStropheneditor ...MIDI-ImportMIDI PortsEinen Partiturauszug erzeugenTaktstrichtypMusikboxTrompete (Schalldämpfer)StummschaltenStummschalten ...NeuNeue DateiNeues FensterNeue Vorzeichnungkeine SegnobedeutungNichtsNtEd version %s by Joerg Anders Senden Sie Bug-Reports an %s Informationen: http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml Autoren: J.Anders Übersetzung: J.AndersZähler:NylongitarreOktavverschiebung:ÖffnenEine Datei öffnenein neues Fenster öffnenSchlagzeugkonfiguratiobn öffnenStrophendatei öffnenPartitur öffnen_Letzte DateienOrchesterschlagOrgel 1Orgel 2Orgel 3Gitarre übersteuertSeitenmodus - PPanflötePapiereinfügenEinfügen nicht möglich: Eine N-Tole würde einen Takt kreuzen.Klavier 1Klavier 2Klavier 3Bitte wählen Sie eine Note oder Pause!DruckenDruckkommandoBlockflöteWiederholen Strg + YHarmoniumLetzte Seiten löschenLetzte Seite löschenN-Tole löschenSpeichern...Speichern unter ...Änderungen speichern?Eine Datei speichernSchlagzeugkonfiguration sichernStrophe speichernPartitur sichernSkalierungPartiturPartiturinformationenPartiturinformationen...SeestrandAuswahlTempo setzenLautstärke setzenZeichenlangsame StreicherBindebogenSopransaxophonAbstandNotenzeile %dZeileneigenschaftenZeilenpositionNotenzeilenwahlStahlgitarreStreicherThema:synth. Blechsynth. Blech 2synth. Streicher 1synth. Streicher 2synth. StimmenTelephonTenorsaxophonTextText ...KesselpaukeTitel:Einfüge/Lösch-Modus umschalten - NWerkzeugkisteWerkzeugkisteWerkzeugkiste ....TransponierenTransponieren ...PosauneTrompeteRohrglockenN-TolenN-Tolenwert:Rückgängig Strg+ ZBenutzung: %s [.ntd] VibraphonBratscheGeigeChor OohsPfiffHolzklotzAls PostScript exportierenEin PNG-Bild erzeugenEin SVG-Bild erzeugenUnvollständige N-Tolen können nicht lopiert werden!Sie können keine Note in einer N-Tole wählen.Hineinzoomen Strg + +Herauszoomen Strg + -_Lautstärkezeichen ..._Bearbeiten_Datei_Hilfe_Einfügen_StrophenE_instellungenSystemlayout ..._Werkzeuge_Auftakt ..._AnsichtAccelerandojustierenNoten justierenAlleEnde 1Ende 2Ankerpunkteine Notenzeile anfügenein System anfügenSystem anfügen- Strg + BAnzahl der Blöcke:runde Klammereckige KlammerElement ändernPartitur skalierenDie waagerechten Abstände ändernKanalAkkordAkkord ...AkkordnameAkkordname ...AkkordauswahlChorusSchlüsselKonfigurationMIDI IN konfigurieren ...MIDI Ausgang konfigurieren ...Schlagzeug ...Papier konfigurierenDruckkommandoAufnahme konfigurierenTaktstriche verbindenkopieren - Strg + CZeilenumbrüche erzeugenBalken anpassen Balken anpassen - Strg + jBlock löschen - Strg + XTaktmaßzeichen löschenDiagrammSpuren nicht teilenSchlagzeugel.-NameStrophen im Stropheneditor bearbeitenPartiturinformationen bearbeitenBlock leeren - Strg + EKanaländerung erlaubenInstrumentenwechselTempoänderung erlaubenTaktmaßänderung ermöglichenLautstärkeänderung erlaubenPDF exportierenals MIDI exportierenExportparameterDateiNotenhalsrichtungNotenhalsrichtung - Strg + ferzwinge PianoAngabe des 1. vollen TaktesAngabe des StartsGruppennameGruppenkurznameNotenzeile mit einer runden Klammer verbindenNotenzeile mit einer eckigen Klammer verbindenHalbtöneverstecke (ausgewählte) PausenNachfolgendes versteckenPausen versteckenPausen verstecken (a. St.)Pausen verstecken (a. St.)eine MIDI Datei importiereneine MusicXML-Datei importierenaufgenommene Zeile importierenvergrößerneinfügeneinen Akkord einfügeneinen Akkordnamen einfügeneinen Schlüssel einfügenein frei platzierbares Zeichen einfügenwaagerechte Linie einfügenEine Tonartenvorzeichnung einfügeneinen Bindebogen einfügen - Strg+Heinen Abstandshalter einfügenN-Tole einfügen (Ctrl + num)ein Accelerando einfügenBlock einfügenf einfügenff einfügenfff einfügenStrophentext in Zeile 1 einfügenStrophentext in Zeile 2 einfügenStrophentext in Zeile 3 einfügenStrophentext in Zeile 4 einfügenStrophentext in Zeile 5 einfügenmf einfügenmp einfügenp einfügenpp einfügenppp einfügenein Ritardando einfügensf einfügensp einfügenTempozeichen einfügenText einfügenInstrumentInstrumentePositionBalken erhaltenBalken erhaltenVorzeichenArtQuerformatlinksLinieLinienStandards ladenVon Datei ladenStrophe 1Strophe 2Strophe 3Strophe 4Strophe 5Strophe 1Strophe 2Strophe 3Strophe 4Strophe 5TaktstrichtypMethode 2mitteMIDI EchoMIDI-EingabeMIDI TonModifikatorEinige Notenzeilen stummschaltenStummschaltenNrkeineNotenkopfOrientierungverkleinernSeitePanPapiertypeinfügen - Strg + VAbspielenElement spielenBitte wählen Sie zunächst eine Note oder Pause!PortHochformatPositionVorschauDruckkommandoEine Datei druckenMIDI-AufnahmeMIDI-Aufnahme - iWiederholenEine Notenzeilengruppe löschenEine N-Tole löschenleere Seiten am Ende löschenGruppe löschenletzte Seite löschenAlles neupositionierenDie gesamte Partitur neu positionieren Strg + THallrechtsRitardandoWurzelIn Datei speichernFont wählenNotenzeilenwahlDas gewählte Element ist nicht innerhalb einer N-ToleAuswahlKonvertiere alle Bs zu KreuzenKonvertiere alle Kreuze zu BsSetze Bs ...Setze Kreuze ...Taktriche verbindenAuftakt durch Angabe des ersten vollen Taktes setzenAuftakt durch Angabe des Partiturstarts gebenKurznamezeige versteckte ElementeTaktnummern anzeigenZeichenGrößeInstrumente sortierenAbstandshalterNotenzeileNotenzeilennameKurznameSymbolTempoTempo ...TempozeichendichteTempo:textTaktvorzeichenTransponierenTriolenerkennungEs ist nicht möglich, den Dezimalpunkt auf '.'zu setzen. Das kann zu fehlerhafter PostScript Ausgabe führen. Bitte setzen Sie die $LANG-Umgebungsvariable entsprechend!Rückgängigmache (ausgewählte) Pausen wieder sichtbarPausen sichtbar machenPausen sichtbar machen (a.St.)Pausen sichtbar machen (a. St.)Auswahl nutzenStimmenStimmen verschiedenfarbigLautstärkeLautstärkenzeichendichteLautstärke:Elemente mit Punkt nicht möglichnted-1.10.18/po/ru.po0000664001041000007640000014670011520270236011146 00000000000000# translation of nted.po to russian # Russian translation of ru.po of NtEd # Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Urvanov Ivan , 2009, 2010. # Pavlo Bohmat , 2010. # Yury Bulka , 2010. # # ИÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² переводе приветÑтвуютÑÑ :-) # msgid "" msgstr "" "Project-Id-Version: nted 1.9.22\n" "Report-Msgid-Bugs-To: ja@informatik.tu-chemnitz.de\n" "POT-Creation-Date: 2011-01-27 14:18+0100\n" "PO-Revision-Date: 2010-05-09 13:58+0300\n" "Last-Translator: Yury Bulka \n" "Language-Team: ukrainian \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: mainwindow.cpp:310 msgid "_File" msgstr "_Файл" #: mainwindow.cpp:311 msgid "Open_Recent" msgstr "_ПоÑледние файлы" #: mainwindow.cpp:312 msgid "_Export" msgstr "_ЭкÑпорт" #: mainwindow.cpp:313 msgid "_View" msgstr "_Вид" #: mainwindow.cpp:314 msgid "_Edit" msgstr "_Правка" #: mainwindow.cpp:315 msgid "_Tools" msgstr "_ИнÑтрументы" #: mainwindow.cpp:316 msgid "_System layout ..." msgstr "Ðотные Ñтаны..." #: mainwindow.cpp:317 msgid "_Insert" msgstr "_Ð’Ñтавка" #: mainwindow.cpp:318 msgid "_Upbeat ..." msgstr "_Затакт..." #: mainwindow.cpp:319 msgid "_Preferences ..." msgstr "Параметры..." #: mainwindow.cpp:320 msgid "_Dynamics ..." msgstr "_динамика..." #: mainwindow.cpp:321 msgid "_Lyrics" msgstr "_Строфы" #: mainwindow.cpp:322 msgid "_Help" msgstr "_Справка" #: mainwindow.cpp:323 msgid "Configure MIDI out..." msgstr "ÐаÑтроить выход MIDI..." #: mainwindow.cpp:323 msgid "configure MIDI output" msgstr "ÐаÑтроить выход MIDI..." #: mainwindow.cpp:324 msgid "Configure MIDI in..." msgstr "ÐаÑтроить вход MIDI..." #: mainwindow.cpp:324 msgid "configure MIDI input" msgstr "ÐаÑтроить вход MIDI" #: mainwindow.cpp:325 msgid "Configure Paper..." msgstr "Параметры бумаги..." #: mainwindow.cpp:325 msgid "configure paper" msgstr "параметры бумаги" #: mainwindow.cpp:326 msgid "Configure Print..." msgstr "ÐаÑтроить печать..." #: mainwindow.cpp:326 msgid "configure print command" msgstr "ÐаÑтроить комаду печати" #: mainwindow.cpp:327 msgid "New" msgstr "Создать" #: mainwindow.cpp:327 msgid "New File" msgstr "Создать файл" #: mainwindow.cpp:328 msgid "Open ..." msgstr "Открыть..." #: mainwindow.cpp:328 msgid "Open a file" msgstr "Открыть файл" #: mainwindow.cpp:329 msgid "Save ..." msgstr "Сохранить..." #: mainwindow.cpp:329 mainwindow.cpp:330 msgid "Save a file" msgstr "Сохранить файл" #: mainwindow.cpp:330 msgid "Save As ..." msgstr "Сохранить как..." #: mainwindow.cpp:331 msgid "Print" msgstr "Печать" #: mainwindow.cpp:331 msgid "print file" msgstr "РаÑпечатать файл" #: mainwindow.cpp:332 msgid "Import MusicXML ..." msgstr "Импорт MusicXML..." #: mainwindow.cpp:332 msgid "import a musicxml file" msgstr "Импорт файла MusicXML" #: mainwindow.cpp:333 msgid "Import MIDI..." msgstr "Импорт MIDI..." #: mainwindow.cpp:333 msgid "import a midi file" msgstr "Импорт в файл MIDI " #: mainwindow.cpp:334 #, fuzzy msgid "Import MIDI(2)..." msgstr "Импорт MIDI..." #: mainwindow.cpp:334 #, fuzzy msgid "import a midi file(2)" msgstr "Импорт в файл MIDI " #: mainwindow.cpp:335 msgid "Copy" msgstr "Копировать" #: mainwindow.cpp:335 msgid "copy - Ctrl + C" msgstr "копировать - Ctrl + C" #: mainwindow.cpp:336 msgid "Paste" msgstr "Ð’Ñтавить" #: mainwindow.cpp:336 msgid "paste - Ctrl + V" msgstr "вÑтавить - Ctrl + V" #: mainwindow.cpp:337 msgid "Delete block" msgstr "Удалить блок" #: mainwindow.cpp:337 msgid "delete block - Ctrl + X" msgstr "удалить блок - Ctrl + X" #: mainwindow.cpp:338 msgid "append a system at end" msgstr "добавить пуÑтой Ñ€Ñд" #: mainwindow.cpp:338 msgid "append system - Ctrl + B" msgstr "Добавить пуÑтой Ñ€Ñд в конец - Ctrl + B" #: mainwindow.cpp:339 msgid "Insert block" msgstr "пуÑтые такты..." #: mainwindow.cpp:339 msgid "insert block" msgstr "вÑтавить блок пуÑтых тактов" #: mainwindow.cpp:340 msgid "Insert clef ..." msgstr "ключ..." #: mainwindow.cpp:340 msgid "insert a clef" msgstr "вÑтавить ключ" #: mainwindow.cpp:341 msgid "Empty block" msgstr "ОчиÑить блок" #: mainwindow.cpp:341 msgid "empty block - Ctrl + E" msgstr "ОчиÑтить блок - Ctrl + E" #: mainwindow.cpp:342 msgid "reposit all" msgstr "Переориентировать вÑÑ‘" #: mainwindow.cpp:342 msgid "reposit the whole score - Ctrl + T" msgstr "Переориентировать вÑÑŽ партитуру Ctrl + T" #: mainwindow.cpp:343 msgid "Export MIDI ..." msgstr "ЭкÑпорт MIDI..." #: mainwindow.cpp:343 msgid "export a midi file" msgstr "ÑкÑпорт в файл MIDI" #: mainwindow.cpp:344 msgid "Export LilyPond ..." msgstr "ЭкÑпорт LilyPond..." #: mainwindow.cpp:344 dialogs/lilypondexportdialog.cpp:44 msgid "LilyPond export" msgstr "ЭкÑпорт в LilyPond" #: mainwindow.cpp:346 msgid "Export PDF ..." msgstr "ЭкÑпорт PDF..." #: mainwindow.cpp:346 msgid "export PDF" msgstr "ЭкÑпорт в PDF" #: mainwindow.cpp:348 msgid "Export P_NG ..." msgstr "ЭкÑпорт P_NG..." #: mainwindow.cpp:348 msgid "Write a png image" msgstr "ЗапиÑать PNG-изображение" #: mainwindow.cpp:350 msgid "Export S_VG ..." msgstr "ЭкÑпорт S_VG..." #: mainwindow.cpp:350 msgid "Write an svg image" msgstr "ЗапиÑать SVG-изображение" #: mainwindow.cpp:352 msgid "Export P_S ..." msgstr "ЭкÑпорт P_S..." #: mainwindow.cpp:352 msgid "Write PostScript" msgstr "ЗапиÑать как PostScript " #: mainwindow.cpp:353 msgid "New Window" msgstr "Ðовое окно" #: mainwindow.cpp:353 msgid "Open a new window" msgstr "Открыть новое окно" #: mainwindow.cpp:354 msgid "Excerpt ..." msgstr "Партии..." #: mainwindow.cpp:354 msgid "Make an excerpt of the score" msgstr "Создать патии из партитуры" #: mainwindow.cpp:355 msgid "Close Window" msgstr "Закрыть окно" #: mainwindow.cpp:355 msgid "Close current window" msgstr "Закрыть текущее окно " #: mainwindow.cpp:358 msgid "Remove last page" msgstr "Удалить поÑледнюю Ñтраницу" #: mainwindow.cpp:358 msgid "remove the last page" msgstr "Удалить поÑледнюю Ñтраницу" #: mainwindow.cpp:359 msgid "Remove empty pages" msgstr "Удалить пуÑтые Ñтраницы" #: mainwindow.cpp:359 msgid "remove empty pages at end" msgstr "Удалить пуÑтые Ñтраницы в конце" #: mainwindow.cpp:360 msgid "Change spacement ..." msgstr "Изменить интервал..." #: mainwindow.cpp:360 msgid "change the horizontal spacement" msgstr "Изменить горизонтальный интервал" #: mainwindow.cpp:361 msgid "Change Scale ..." msgstr "Изменить маштаб..." #: mainwindow.cpp:361 msgid "change scale" msgstr "изменить маштаб" #: mainwindow.cpp:362 msgid "Configure Record ..." msgstr "ÐаÑтроить запиÑÑŒ..." #: mainwindow.cpp:362 msgid "configure record" msgstr "ÐаÑтроить запиÑÑŒ" #: mainwindow.cpp:363 msgid "Configure Drums ..." msgstr "ÐаÑтроить ударные..." #: mainwindow.cpp:363 msgid "configure drums" msgstr "ÐаÑтроить ударные" #: mainwindow.cpp:364 msgid "Tools ..." msgstr "ИнÑтрументы...." #: mainwindow.cpp:364 msgid "Tools " msgstr "ИнÑтрументы" #: mainwindow.cpp:365 msgid "give first measure" msgstr "...начало первого полного такта" #: mainwindow.cpp:365 msgid "set upbeat by giving the start of first full measure" msgstr "уÑтановить затакт, Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°Ñ Ð´Ð°Ð½Ð½ÑƒÑŽ ноту как первую ноту полного такта" #: mainwindow.cpp:366 msgid "give start" msgstr "...начало ÑочинениÑ" #: mainwindow.cpp:366 msgid "set upbeat by giving the start of the score" msgstr "уÑтановить затакт, Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°Ñ Ð´Ð°Ð½Ð½ÑƒÑŽ ноту как первую ноту ÑочинениÑ" #: mainwindow.cpp:367 msgid "Score info ..." msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ партитуре..." #: mainwindow.cpp:367 msgid "edit score info" msgstr "Изменить ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ партитуре" #: mainwindow.cpp:368 msgid "Insert keysig ... " msgstr "знаки ключа..." #: mainwindow.cpp:368 msgid "insert a key signature" msgstr "Ð’Ñтавить ключевые знаки" #: mainwindow.cpp:369 msgid "Insert lines ... " msgstr "горизонтальные обозначениÑ..." #: mainwindow.cpp:369 msgid "insert a horizontal line" msgstr "вÑтавить горизонтальное обозначение" #: mainwindow.cpp:370 msgid "Insert sign ... " msgstr "знак..." #: mainwindow.cpp:370 msgid "insert a free placeable sign" msgstr "Ñвободно размещённый знак" #: mainwindow.cpp:371 msgid "Slur" msgstr "лигу" #: mainwindow.cpp:371 msgid "insert a slur - Ctrl+H" msgstr "вÑтавить лигу - Ctrl+H" #: mainwindow.cpp:372 msgid "chord ..." msgstr "аккорд (Ñхема)..." #: mainwindow.cpp:372 msgid "insert a chord" msgstr "вÑтавить Ñхему аккорда" #: mainwindow.cpp:373 msgid "chordname ..." msgstr "аккорд (буквенное обозначение)..." #: mainwindow.cpp:373 msgid "insert a chordname" msgstr "Ð’Ñтавить аккорд" #: mainwindow.cpp:374 msgid "spacer" msgstr "Разделитель" #: mainwindow.cpp:374 msgid "insert a staff spacer" msgstr "Ð’Ñтавить разделитель Ñтана" #: mainwindow.cpp:375 msgid "Append staff" msgstr "добавить нотный Ñтан" #: mainwindow.cpp:375 msgid "append a new staff" msgstr "добавить новый нотный Ñтан" #: mainwindow.cpp:376 msgid "Import recorded" msgstr "импортировать запиÑанное" #: mainwindow.cpp:376 msgid "import recorded staff" msgstr "импортировать запиÑанный нотный Ñтан" #: mainwindow.cpp:377 msgid "Lyrics editor ..." msgstr "редактор Ñтроф..." #: mainwindow.cpp:377 msgid "edit lyrics in text editor" msgstr "редактировать Ñтрофы в текÑтовом редакторе" #: mainwindow.cpp:378 msgid "ppp" msgstr "ррр" #: mainwindow.cpp:378 msgid "insert ppp" msgstr "вÑтавить \"ppp\" " #: mainwindow.cpp:379 msgid "pp" msgstr "рр" #: mainwindow.cpp:379 msgid "insert pp" msgstr "вÑтавить \"pp\"" #: mainwindow.cpp:380 msgid "p" msgstr "Ñ€" #: mainwindow.cpp:380 msgid "insert p" msgstr "вÑтавить \"p\" " #: mainwindow.cpp:381 msgid "mp" msgstr "" #: mainwindow.cpp:381 msgid "insert mp" msgstr "вÑтавить \"mp\"" #: mainwindow.cpp:382 msgid "sp" msgstr "" #: mainwindow.cpp:382 msgid "insert sp" msgstr "вÑтавить \"sp\"" #: mainwindow.cpp:383 msgid "mf" msgstr "" #: mainwindow.cpp:383 msgid "insert mf" msgstr "вÑтавить \"mf\"" #: mainwindow.cpp:384 msgid "sf" msgstr "" #: mainwindow.cpp:384 msgid "insert sf" msgstr "вÑтавить \"sf\"" #: mainwindow.cpp:385 msgid "f" msgstr "" #: mainwindow.cpp:385 msgid "insert f" msgstr "вÑтавить \"f\" " #: mainwindow.cpp:386 msgid "ff" msgstr "" #: mainwindow.cpp:386 msgid "insert ff" msgstr "вÑтавить \"ff\"" #: mainwindow.cpp:387 msgid "fff" msgstr "" #: mainwindow.cpp:387 msgid "insert fff" msgstr "вÑтавить \"fff\"" #: mainwindow.cpp:388 msgid "tempo ..." msgstr "темп..." #: mainwindow.cpp:388 msgid "insert tempo" msgstr "вÑтавить темп" #: mainwindow.cpp:389 msgid "Text ..." msgstr "текÑÑ‚..." #: mainwindow.cpp:389 msgid "insert text" msgstr "Ð’Ñтавить текÑÑ‚" #: mainwindow.cpp:390 msgid "accelerando" msgstr "аччелерандо" #: mainwindow.cpp:390 msgid "insert accelerando" msgstr "вÑтавить уÑкорение темпа (аччелерандо)" #: mainwindow.cpp:391 msgid "ritardando" msgstr "ритардандо" #: mainwindow.cpp:391 msgid "insert ritardando" msgstr "вÑтавить замедление темпа (ritardando)" #: mainwindow.cpp:392 msgid "lyrics1" msgstr "куплет 1" #: mainwindow.cpp:392 msgid "insert lyrics at line 1" msgstr "Ð’Ñтавить лирику в линию 1" #: mainwindow.cpp:393 msgid "lyrics2" msgstr "куплет 2" #: mainwindow.cpp:393 msgid "insert lyrics at line 2" msgstr "Ð’Ñтавить лирику в линию 2" #: mainwindow.cpp:394 msgid "lyrics3" msgstr "куплет 3" #: mainwindow.cpp:394 msgid "insert lyrics at line 3" msgstr "Ð’Ñтавить лирику в линию 3" #: mainwindow.cpp:395 msgid "lyrics4" msgstr "куплет 4" #: mainwindow.cpp:395 msgid "insert lyrics at line 4" msgstr "Ð’Ñтавить лирику в линию 4" #: mainwindow.cpp:396 msgid "lyrics5" msgstr "куплет 5" #: mainwindow.cpp:396 msgid "insert lyrics at line 5" msgstr "Ð’Ñтавить лирику в линию 5" #: mainwindow.cpp:397 msgid "Insert tuplet ..." msgstr "триоль..." #: mainwindow.cpp:397 msgid "insert a tuplet (Ctrl + num)" msgstr "вÑтавить триоль (Ctrl + num)" #: mainwindow.cpp:398 msgid "brace" msgstr "Ñ„Ð¸Ð³ÑƒÑ€Ð½Ð°Ñ Ð°ÐºÐºÐ¾Ð»Ð°Ð´Ð°" #: mainwindow.cpp:398 msgid "group staves by means of a brace" msgstr "группировать нотные Ñтаны акколадой, фигурной Ñкобкой." #: mainwindow.cpp:399 msgid "bracket" msgstr "ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð½Ð°Ñ Ð°ÐºÐºÐ¾Ð»Ð°Ð´Ð°" #: mainwindow.cpp:399 msgid "group staves by means of a bracket" msgstr "группировать нотные Ñтаны акколадой, квадратной Ñкобкой" #: mainwindow.cpp:400 msgid "connect barlines" msgstr "Ñоединить тактовые черты" #: mainwindow.cpp:400 msgid "set connected bar lines" msgstr "уÑтановить Ñоединённые тактовые черты" #: mainwindow.cpp:401 msgid "remove group" msgstr "удалить группу" #: mainwindow.cpp:401 msgid "remove a group of connected staves" msgstr "Удалить группу Ñоединённых нотоноÑцев" #: mainwindow.cpp:402 msgid "Remove tuplet" msgstr "Удалить триоль" #: mainwindow.cpp:402 msgid "remove a tuplet" msgstr "удалить триоль" #: mainwindow.cpp:403 msgid "Muting ..." msgstr "Выключение звука..." #: mainwindow.cpp:403 msgid "mute some staves" msgstr "Выключить звук на некоторых нотоноÑцах" #: mainwindow.cpp:404 msgid "Transpose ..." msgstr "ТранÑпонировать..." #: mainwindow.cpp:404 msgid "transpose" msgstr "транÑпонировать" #: mainwindow.cpp:405 msgid "hide rests" msgstr "Скрыть паузы" #: mainwindow.cpp:405 msgid "hide (selected) rests" msgstr "Ñкрыть (выбранные) паузы" #: mainwindow.cpp:406 msgid "unhide rests" msgstr "Показать паузы" #: mainwindow.cpp:406 msgid "unhide (selected) rests" msgstr "Сделать выбранные паузы Ñнова видимыми" #: mainwindow.cpp:407 msgid "hide rests (all v.)" msgstr "Скрыть паузы (в_Ñе)" #: mainwindow.cpp:407 msgid "hide selected rests (all v.)" msgstr "Скрыть выбранные паузы (вÑе)" #: mainwindow.cpp:408 msgid "unhide rests (all v.)" msgstr "Показать паузы (вÑе голоÑа)" #: mainwindow.cpp:408 msgid "unhide selected rests (all v.)" msgstr "Сделать видимыми выбранные паузы (_вÑе)" #: mainwindow.cpp:409 msgid "set all to sharp ..." msgstr "УÑтановить вÑе в диез..." #: mainwindow.cpp:409 msgid "set all flats to sharp" msgstr "уÑтановить вÑе бемоли на диез" #: mainwindow.cpp:410 msgid "set all to flat ..." msgstr "УÑтановить вÑе в бемоль..." #: mainwindow.cpp:410 msgid "set all sharps to flat" msgstr "уÑтановить вÑе диезы на бемоль" #: mainwindow.cpp:411 msgid "About NtEd" msgstr "О программе NtEd" #: mainwindow.cpp:413 msgid "Documentation ..." msgstr "Содержание..." #: mainwindow.cpp:415 msgid "License" msgstr "ЛицензиÑ" #: mainwindow.cpp:416 msgid "E_xit" msgstr "_Выход" #: mainwindow.cpp:416 msgid "Exit the program" msgstr "Выйти из программы" #: mainwindow.cpp:420 msgid "play" msgstr "Играть" #: mainwindow.cpp:421 msgid "voices in different colors" msgstr "ГолоÑа разными цветами" #: mainwindow.cpp:422 msgid "show measure numbers" msgstr "Показать номера тактов" #: mainwindow.cpp:423 msgid "show hidden elements" msgstr "Показать Ñкрытые Ñлементы" #: mainwindow.cpp:424 msgid "midi input" msgstr "MIDI-вход" #: mainwindow.cpp:425 msgid "record midi" msgstr "запиÑÑŒ MIDI" #: mainwindow.cpp:425 msgid "record midi - i" msgstr "запиÑÑŒ MIDI - i" #: mainwindow.cpp:429 msgid "in" msgstr "Увеличить" #: mainwindow.cpp:429 msgid "Zoom in Ctrl + +" msgstr "Увеличить Ctrl + +" #: mainwindow.cpp:430 msgid "out" msgstr "Уменьшить" #: mainwindow.cpp:430 msgid "Zoom out Ctrl + -" msgstr "Уменьшить Ctrl + -" #: mainwindow.cpp:431 msgid "undo" msgstr "Отмена" #: mainwindow.cpp:431 msgid "Undo Ctrl + z" msgstr "Отмена Ctrl + Z" #: mainwindow.cpp:432 msgid "redo" msgstr "Выполнить заново" #: mainwindow.cpp:432 msgid "Redo Ctrl + y" msgstr "Выполнить заново Ctrl + Y" #: mainwindow.cpp:433 msgid "customize beam" msgstr "изменить вÑзки" #: mainwindow.cpp:433 msgid "customize beam - Ctrl + j" msgstr "Изменить вÑзки - Ctrl + j" #: mainwindow.cpp:434 msgid "flip stem" msgstr "Ñменить направление штилÑ" #: mainwindow.cpp:434 msgid "flip stem - Ctrl + f" msgstr "Сменить направление ÑˆÑ‚Ð¸Ð»Ñ - Ctrl + f" #: mainwindow.cpp:438 msgid "insert" msgstr "вÑтавить" #: mainwindow.cpp:438 msgid "Toggle Insert/Erase Mode - n" msgstr "Переключение режима вÑтавки/ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ - n" #: mainwindow.cpp:442 msgid "page" msgstr "Ñтраница" #: mainwindow.cpp:442 msgid "Page Mode - p" msgstr "Режим Ñтраницы - p" #: mainwindow.cpp:443 dialogs/staffcontextdialog.cpp:177 #: dialogs/keysigdialog.cpp:42 dialogs/midirecordconfigdialog.cpp:160 msgid "key" msgstr "Знаки ключа" #: mainwindow.cpp:443 msgid "Keyboard insert mode - k" msgstr "Режим вÑтавки Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ñ‹ -k" #: mainwindow.cpp:1625 msgid "Cannot replay because could not open ALSA sequencer" msgstr "" "ВоÑпроизведение не возможно, невозможно открыть ALSA-ÑеквенÑер Ð´Ð»Ñ MIDI" #: mainwindow.cpp:2776 mainwindow.cpp:5110 mainwindow.cpp:5156 #: mainwindow.cpp:6090 mainwindow.cpp:6180 mainwindow.cpp:6937 #: mainwindow.cpp:9584 msgid "Save Changes ?" msgstr "Сохранить изменениÑ?" #: mainwindow.cpp:2894 mainwindow.cpp:2995 mainwindow.cpp:3576 #: mainwindow.cpp:3696 mainwindow.cpp:9035 mainwindow.cpp:9147 #: mainwindow.cpp:9271 mainwindow.cpp:9360 dialogs/lyricseditor.cpp:350 #: dialogs/drumconfigdialog.cpp:493 #, c-format msgid "Cannot open %s for writing" msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи." #: mainwindow.cpp:2905 mainwindow.cpp:3009 #, c-format msgid "Cannot rename %s to %s" msgstr "Ðевозможно изменить Ð¸Ð¼Ñ Ñ %s на %s " #: mainwindow.cpp:2940 msgid "Save score" msgstr "Сохранить партитуру" #: mainwindow.cpp:2982 mainwindow.cpp:3564 mainwindow.cpp:3684 #: mainwindow.cpp:8995 mainwindow.cpp:9135 mainwindow.cpp:9259 #: mainwindow.cpp:9348 dialogs/lyricseditor.cpp:336 #: dialogs/drumconfigdialog.cpp:479 #, c-format msgid "File %s already exists. Overwrite ?" msgstr "Файл %s уже ÑущеÑтвует. ПерезапиÑать?" #: mainwindow.cpp:3272 mainwindow.cpp:3416 msgid "Please select a note or rest!" msgstr "ПожалуйÑта, выбирите ноту или паузу!" #: mainwindow.cpp:3277 msgid "You select a note in an tuplet" msgstr "Ðужно выбрать ноту в триоле." #: mainwindow.cpp:3281 msgid "You cannot copy incomplete tuplets!" msgstr "Ðевозможно копировать незавершённые триоли!!" #: mainwindow.cpp:3296 msgid "Paste not possible: A tuplet would cross a measure" msgstr "Ð’Ñтавка невозможна: триоль будет переÑекать размер(такт)." #: mainwindow.cpp:3443 msgid "Empty not possible because of incomplete tuplets" msgstr "ОчиÑтка невозможна, потому что триоли не завершены!" #: mainwindow.cpp:4112 #, c-format msgid "" "NtEd version %s by Joerg Anders\n" "Send bug reports to %s\n" "\n" "Infos at http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Author:\n" " J.Anders \n" "\n" "Translation: " msgstr "" "NtEd верÑÐ¸Ñ %s за авторÑтвом Joerg Anders\n" "Ð’Ñ‹Ñылайте ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð± ошибках на %s\n" "\n" "ИнформацiÑ: http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml\n" "\n" "Ðвторы:\n" " J.Anders \n" "\n" "Перевод: Иван Урванов \n" " Павел Богмат \n" "\t\tЮрій Булка " #: mainwindow.cpp:4123 msgid "" "Excuse! The documentation is not available\n" "due to an installation error" msgstr "" "Извините! Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупна \n" "Возможна ошибка уÑтановки" #: mainwindow.cpp:4133 msgid "Excuse! Cannot exec" msgstr "Извините! Выполнение невозможно!" #: mainwindow.cpp:4138 msgid "Excuse! Cannot fork" msgstr "Извините! Ðевозможно выполнить fork" #: mainwindow.cpp:4880 mainwindow.cpp:4902 mainwindow.cpp:7850 msgid "please select a note or rest first" msgstr "Сначала требуетÑÑ Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ ноту или паузу!!" #: mainwindow.cpp:4884 mainwindow.cpp:7854 msgid "you cannot select an element with dot" msgstr "Ð’Ñ‹ не можете выбрать Ñлемент Ñ Ñ€Ð¸Ñ‚Ð¼Ð¸Ñ‡ÐµÑкой точкой" #: mainwindow.cpp:4894 mainwindow.cpp:7869 msgid "I'm not able to create a tuplet here" msgstr "Ðевозможно Ñоздать триоль здеÑÑŒ" #: mainwindow.cpp:4906 msgid "selected element is not inside a tuplet" msgstr "Выбранный Ñлемент не находитÑÑ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ триоли" #: mainwindow.cpp:5171 msgid "Open score" msgstr "Открыть партитуру" #: mainwindow.cpp:5211 mainwindow.cpp:6306 mainwindow.cpp:6966 #: dialogs/lyricseditor.cpp:433 dialogs/drumconfigdialog.cpp:567 #, c-format msgid "Cannot open %s for reading" msgstr "Ðе удалоÑÑŒ открыть %s Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½iÑ" #: mainwindow.cpp:6105 msgid "Import MusicXML" msgstr "Импорт MusicXML " #: mainwindow.cpp:7030 mainwindow.cpp:7056 msgid "Cannot list midi ports because could not open ALSA sequencer" msgstr "Ðевозможно проÑлушать MIDI-порты, не удаютÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ ALSA-ÑеквенÑер" #: mainwindow.cpp:7127 msgid "Font selection - Measure numbers" msgstr "Выбор шрифта - номера тактов" #: mainwindow.cpp:7749 msgid "Adjust notes ?" msgstr "Поправить ноты?" #: mainwindow.cpp:8951 msgid "Create PNG" msgstr "Создать PNG" #: mainwindow.cpp:9091 msgid "Create SVG" msgstr "Создать SVG " #: mainwindow.cpp:9217 msgid "Create Postscript" msgstr "Создать PostScript " #: mainwindow.cpp:9306 msgid "Create PDF" msgstr "Создать PDF " #: mainwindow.cpp:9470 dialogs/lilypondexportdialog.cpp:70 msgid "select staves" msgstr "выбрать нотные Ñтаны" #: mainwindow.cpp:9627 #, c-format msgid "Usage: %s [.ntd]\n" msgstr "ИÑпользование: %s [.ntd]\n" #: mainwindow.cpp:9655 msgid "" "unable to set decimal point to '.'. PostScript output will be erroneous. \t\t" "\tPlease set the $LANG environment variable appropriately!" msgstr "" "Ðевозможно уÑтановить деÑÑтичную точку в \".\". Выходные данные PostScript " "будут некорректны \t\t\t ПожалуйÑта, уÑтановите переменную Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ $LANG " "надлежащим образом" #: resource.cpp:380 msgid "Piano 1" msgstr "Фортепиано 1" #: resource.cpp:380 msgid "Piano 2" msgstr "Фортепиано 2" #: resource.cpp:380 msgid "Piano 3" msgstr "Фортепиано 3" #: resource.cpp:380 msgid "Honky-tonk" msgstr "Хонки-тонк" #: resource.cpp:381 msgid "E.Piano 1" msgstr "Эл. фортепиано 1" #: resource.cpp:381 msgid "E.Piano 2" msgstr "Эл. фортепиано 2" #: resource.cpp:381 msgid "Harpsichord" msgstr "КлавеÑин" #: resource.cpp:381 msgid "Clavinet" msgstr "Клавинет" #: resource.cpp:382 msgid "Celesta" msgstr "ЧелеÑта" #: resource.cpp:382 msgid "Glockenspiel" msgstr "Колокольчики (глокеншпиль)" #: resource.cpp:382 msgid "Music Box" msgstr "ÐœÑƒÐ·Ñ‹ÐºÐ°Ð»ÑŒÐ½Ð°Ñ ÑˆÐºÐ°Ñ‚ÑƒÐ»ÐºÐ°" #: resource.cpp:382 msgid "Vibraphone" msgstr "Виброфон" #: resource.cpp:383 msgid "Marimba" msgstr "Маримба" #: resource.cpp:383 msgid "Xylophone" msgstr "КÑилофон" #: resource.cpp:383 msgid "Tubular Bells" msgstr "Трубчатый колокол" #: resource.cpp:383 msgid "Dulcimer" msgstr "Дульцимер" #: resource.cpp:384 msgid "Organ 1" msgstr "Орган 1" #: resource.cpp:384 msgid "Organ 2" msgstr "Орган 2" #: resource.cpp:384 msgid "Organ 3" msgstr "Орган 3" #: resource.cpp:384 msgid "Church Organ" msgstr "Церковный орган" #: resource.cpp:385 msgid "Reed Organ" msgstr "ТроÑтниковый орган" #: resource.cpp:385 msgid "Accordion" msgstr "Ðккордеон, гармоника" #: resource.cpp:385 msgid "Harmonica" msgstr "Ð“ÑƒÐ±Ð½Ð°Ñ Ð³Ð°Ñ€Ð¼Ð¾Ð½Ð¸ÐºÐ°" #: resource.cpp:385 msgid "Bandoneon" msgstr "Бандонеон" #: resource.cpp:386 msgid "Nylon Guitar" msgstr "ÐÐµÐ¹Ð»Ð¾Ð½Ð¾Ð²Ð°Ñ Ð³Ð¸Ñ‚Ð°Ñ€Ð°" #: resource.cpp:386 msgid "Steel Guitar" msgstr "Ð¡Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð³Ð¸Ñ‚Ð°Ñ€Ð°" #: resource.cpp:386 msgid "Jazz Guitar" msgstr "Ð”Ð¶Ð°Ð·Ð¾Ð²Ð°Ñ Ð³Ð¸Ñ‚Ð°Ñ€Ð°" #: resource.cpp:386 msgid "Clean Guitar" msgstr "ЧиÑÑ‚Ð°Ñ Ð³Ð¸Ñ‚Ð°Ñ€Ð°" #: resource.cpp:387 msgid "Guitar Mutes" msgstr "Ð—Ð°Ð³Ð»ÑƒÑˆÐµÐ½Ð½Ð°Ñ Ð³Ð¸Ñ‚Ð°Ñ€Ð° (Guitar Mutes)" #: resource.cpp:387 msgid "Overdrive Guitar" msgstr "БыÑÑ‚Ñ€Ð°Ñ Ð³Ð¸Ñ‚Ð°Ñ€Ð° (overdrive guitar)" #: resource.cpp:387 msgid "Guitar Harmonics" msgstr "Гитарные гармоники" #: resource.cpp:388 msgid "Acoustic Bass" msgstr "ÐкуÑтичеÑкий баÑ" #: resource.cpp:388 msgid "Fingered Bass" msgstr "Сорванный баÑ(fingered bass)" #: resource.cpp:388 msgid "Picked Bass" msgstr "Отборный Ð±Ð°Ñ (picked bass)" #: resource.cpp:388 msgid "Fretless Bass" msgstr "БеÑпокойный баÑ" #: resource.cpp:389 msgid "Slap Bass 1" msgstr "" #: resource.cpp:389 msgid "Slap Bass 2" msgstr "" #: resource.cpp:389 msgid "Synth Bass 1" msgstr "" #: resource.cpp:389 msgid "Synth Bass 2" msgstr "" #: resource.cpp:390 msgid "Violin" msgstr "Скрипка" #: resource.cpp:390 msgid "Viola" msgstr "Ðльт" #: resource.cpp:390 msgid "Cello" msgstr "Виолончель" #: resource.cpp:390 msgid "Contrabass" msgstr "КонтрабаÑ" #: resource.cpp:391 msgid "Tremolo Strings" msgstr "Тремоло" #: resource.cpp:391 msgid "Pizzicato" msgstr "Пиццикато" #: resource.cpp:391 msgid "Harp" msgstr "Ðрфа" #: resource.cpp:391 msgid "Timpani" msgstr "Тимпаны, литавры" #: resource.cpp:392 msgid "Strings" msgstr "Струны" #: resource.cpp:392 msgid "Slow Strings" msgstr "Медленные Ñтруны" #: resource.cpp:392 msgid "Synth Strings 1" msgstr "Синт. Ñтруны 1" #: resource.cpp:392 msgid "Synth Strings 2" msgstr "Синт. Ñтруны 2" #: resource.cpp:393 msgid "Choir Aahs" msgstr "Хоровое ахание" #: resource.cpp:393 msgid "Voice Oohs" msgstr "ГолоÑовое охание" #: resource.cpp:393 msgid "Synth Vox" msgstr "СинтетичеÑкий голоÑ" #: resource.cpp:393 msgid "Orchestra Hit" msgstr "ОркеÑтровый удар" #: resource.cpp:394 msgid "Trumpet" msgstr "Труба" #: resource.cpp:394 msgid "Trombone" msgstr "Тромбон" #: resource.cpp:394 msgid "Tuba" msgstr "Туба" #: resource.cpp:394 msgid "Mute Trumpet" msgstr "ÐŸÑ€Ð¸Ð³Ð»ÑƒÑˆÑ‘Ð½Ð½Ð°Ñ Ñ‚Ñ€ÑƒÐ±Ð°" #: resource.cpp:395 msgid "French Horns" msgstr "ФранцузÑкий рожок" #: resource.cpp:395 msgid "Brass" msgstr "Медный духовой" #: resource.cpp:395 msgid "Synth Brass 1" msgstr "Синт. медный духовой 1" #: resource.cpp:395 msgid "Synth Brass 2" msgstr "Синт. медный духовой 2" #: resource.cpp:396 msgid "Soprano Sax" msgstr "СопраноÑакÑофон" #: resource.cpp:396 msgid "Alto Sax" msgstr "ÐльтоÑакÑофон" #: resource.cpp:396 msgid "Tenor Sax" msgstr "ТенорÑакÑофон" #: resource.cpp:396 msgid "Baritone Sax" msgstr "БаритонÑакÑофон" #: resource.cpp:397 msgid "Oboe" msgstr "Гобой" #: resource.cpp:397 msgid "English Horn" msgstr "ÐнглийÑкий рожок" #: resource.cpp:397 msgid "Bassoon" msgstr "Фагот" #: resource.cpp:397 msgid "Clarinet" msgstr "Кларнет" #: resource.cpp:398 msgid "Piccolo" msgstr "Пикколо" #: resource.cpp:398 msgid "Flute" msgstr "Флейта" #: resource.cpp:398 msgid "Recorder" msgstr "Блок-флейта" #: resource.cpp:398 msgid "Pan Flute" msgstr "Пан-флейта" #: resource.cpp:399 msgid "Bottle Chiff" msgstr "Рожок" #: resource.cpp:399 msgid "Shakuhachi" msgstr "СÑкухати" #: resource.cpp:399 msgid "Whistle" msgstr "СвиÑток" #: resource.cpp:399 msgid "Ocarina" msgstr "Окарина" #: resource.cpp:400 msgid "Square Wave" msgstr "Square Wave(ПрÑмоугольный Ñигнал)" #: resource.cpp:400 msgid "Saw Wave" msgstr "ÐŸÐ¸Ð»Ð¾Ð±Ñ€Ð°Ð·Ð½Ð°Ñ Ð²Ð¾Ð»Ð½Ð°" #: resource.cpp:400 msgid "Synth Calliope" msgstr "Каллиопа" #: resource.cpp:400 msgid "Chiffer Lead" msgstr "" #: resource.cpp:401 msgid "Charang" msgstr "" #: resource.cpp:401 msgid "Solo Vox" msgstr "Сольный голоÑ" #: resource.cpp:401 msgid "5th Saw Wave" msgstr "" #: resource.cpp:401 msgid "Bass & Lead" msgstr "" #: resource.cpp:402 msgid "Fantasia" msgstr "ФантазиÑ" #: resource.cpp:402 msgid "Warm Pad" msgstr "" #: resource.cpp:402 msgid "Poly Synth" msgstr "" #: resource.cpp:402 msgid "Space Voice" msgstr "КоÑмичеÑкий голоÑ" #: resource.cpp:403 msgid "Bowed Glass" msgstr "Гнутое Ñтекло" #: resource.cpp:403 msgid "Metal Pad" msgstr "" #: resource.cpp:403 msgid "Halo Pad" msgstr "" #: resource.cpp:403 msgid "Sweep Pad" msgstr "" #: resource.cpp:404 msgid "Ice Rain" msgstr "ЛедÑной дождь" #: resource.cpp:404 msgid "Soundtrack" msgstr "ЗвукозапиÑÑŒ" #: resource.cpp:404 msgid "Crystal" msgstr "КриÑталл" #: resource.cpp:404 msgid "Atmosphere" msgstr "ÐтмоÑфера" #: resource.cpp:405 msgid "Brightness" msgstr "ЯркоÑть" #: resource.cpp:405 msgid "Goblin" msgstr "Гоблин" #: resource.cpp:405 msgid "Echo Drops" msgstr "Эхо падениÑ" #: resource.cpp:405 msgid "Star Theme" msgstr "Ð—Ð²Ñ‘Ð·Ð´Ð½Ð°Ñ Ñ‚ÐµÐ¼Ð°" #: resource.cpp:406 msgid "Sitar" msgstr "Ситар" #: resource.cpp:406 msgid "Banjo" msgstr "Банджо" #: resource.cpp:406 msgid "Shamisen" msgstr "СÑмиÑен" #: resource.cpp:406 msgid "Koto" msgstr "Кото" #: resource.cpp:407 msgid "Kalimba" msgstr "" #: resource.cpp:407 msgid "Bagpipe" msgstr "Волынка" #: resource.cpp:407 msgid "Fiddle" msgstr "Скрика (fiddle)" #: resource.cpp:407 msgid "Shenai" msgstr "Шенай" #: resource.cpp:408 msgid "Tinker Bell" msgstr "Медный колокольчик" #: resource.cpp:408 msgid "Agogo" msgstr "" #: resource.cpp:408 msgid "Steel Drum" msgstr "Стальной барабан" #: resource.cpp:408 msgid "Wood Block" msgstr "Полено" #: resource.cpp:409 msgid "Taiko Drum" msgstr "" #: resource.cpp:409 msgid "Melodic Tom" msgstr "" #: resource.cpp:409 msgid "Synth Drum" msgstr "Синт. Барабан" #: resource.cpp:409 msgid "Reverse Cymbal" msgstr "РеверÑ-кимвал" #: resource.cpp:410 msgid "Fret Noise" msgstr "БеÑпокоÑщий шум" #: resource.cpp:410 msgid "Breath Noise" msgstr "Шум дыханиÑ" #: resource.cpp:410 msgid "Seashore" msgstr "МорÑкое побережье" #: resource.cpp:410 msgid "Bird" msgstr "Птица" #: resource.cpp:411 msgid "Telephone" msgstr "Телефон" #: resource.cpp:411 msgid "Helicopter" msgstr "Вертолёт" #: resource.cpp:411 msgid "Applause" msgstr "ÐпплодиÑменты" #: resource.cpp:411 msgid "Gun Shot" msgstr "Ружейный выÑтрел" #: resource.cpp:827 msgid "" "Cannot open ALSA MIDI sequencer --> replay won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "ALSA-MIDI-ÑеквенÑер не может быть открыт --> переигрывание не работает\n" "Попробуйте \"modprobe snd-seq-midi\" (как root)\n" "ПерезапуÑтите NtEd \n" "может быть, Ñто поможет(?)" #: resource.cpp:835 msgid "Error creating ALSA sequencer output port --> replay won't work :-((" msgstr "" "Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ порта ALSA-ÑеквенÑера -> переигрывание не " "рабоает :-((" #: resource.cpp:845 msgid "" "Cannot open ALSA MIDI sequencer --> read/record won't work :-((\n" "Try (as root)\n" "modprobe snd-seq-midi\n" "and restart NtEd\n" "Perhaps this helps(?)" msgstr "" "Ðевозможно открыть ALSA-ÑеквенÑер ->> чтение/запиÑÑŒ не работает :-((\n" "Попробуйте \"modprobe snd-seq-midi\" как root\n" "и перезапуÑтите NtEd \n" "Может быть, Ñто поможет (?)" #: resource.cpp:853 msgid "Error creating ALSA sequencer input port --> record won't work :-((" msgstr "" "Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ порта ALSA-ÑеквенÑера -> запиÑÑŒ не работает :-(" #: dialogs/paperconfigdialog.cpp:37 dialogs/paperconfigdialog.cpp:41 msgid "Paper" msgstr "Бумага" #: dialogs/paperconfigdialog.cpp:46 msgid "paper type" msgstr "Тип бумаги" #: dialogs/paperconfigdialog.cpp:81 msgid "orientation" msgstr "ОриентациÑ" #: dialogs/paperconfigdialog.cpp:82 msgid "portrait" msgstr "Портрет" #: dialogs/paperconfigdialog.cpp:83 msgid "landscape" msgstr "Ðльбом" #: dialogs/portchoosedialog.cpp:46 msgid "MIDI ports" msgstr "MIDI-порты" #: dialogs/portchoosedialog.cpp:60 dialogs/staffcontextdialog.cpp:321 #: dialogs/staffcontextdialog.cpp:437 dialogs/textdialog.cpp:200 #: dialogs/midirecordconfigdialog.cpp:133 dialogs/staffselectdialog.cpp:69 #: dialogs/drumconfigdialog.cpp:110 msgid "no" msgstr "â„–" #: dialogs/portchoosedialog.cpp:62 msgid "port" msgstr "Порт" #: dialogs/portchoosedialog.cpp:78 msgid "midi echo" msgstr "MIDI Ñхо" #: dialogs/printconfigdialog.cpp:31 msgid "Print command" msgstr "Команда печати" #: dialogs/printconfigdialog.cpp:35 msgid "print command" msgstr "команда печати" #: dialogs/staffcontextdialog.cpp:31 msgid "G flat Major; e flat minor" msgstr "Фа-диез минор; ми-бемоль минор" #: dialogs/staffcontextdialog.cpp:31 msgid "D flat Major; b flat minor" msgstr "Ре-бемоль мажор; Ñи-бемоль минор" #: dialogs/staffcontextdialog.cpp:32 msgid "A flat Major; f minor" msgstr "ЛÑ-бемоль мажор; фа минор" #: dialogs/staffcontextdialog.cpp:32 msgid "E flat Major; c minor" msgstr "Ми-бемоль мажор; до минор" #: dialogs/staffcontextdialog.cpp:33 msgid "B flat Major; g minor" msgstr "Си-бемоль мажор; Ñоль минор" #: dialogs/staffcontextdialog.cpp:33 msgid "F Major; d minor" msgstr "Фа мажор; ре минор" #: dialogs/staffcontextdialog.cpp:34 msgid "C Major; a minor" msgstr "До мажор; Ð»Ñ Ð¼Ð¸Ð½Ð¾Ñ€" #: dialogs/staffcontextdialog.cpp:34 msgid "G Major; e minor" msgstr "Соль мажор; ми минор" #: dialogs/staffcontextdialog.cpp:35 msgid "D Major; b minor" msgstr "Ре мажор; Ñи минор" #: dialogs/staffcontextdialog.cpp:35 msgid "A Major; f sharp minor" msgstr "Ð›Ñ Ð¼Ð°Ð¶Ð¾Ñ€; фа-диез минор" #: dialogs/staffcontextdialog.cpp:36 msgid "E Major; c sharp minor" msgstr "Ми мажор; до-диез минор" #: dialogs/staffcontextdialog.cpp:36 msgid "B Major; g sharp minor" msgstr "Си мажор; Ñоль-диез минор" #: dialogs/staffcontextdialog.cpp:37 msgid "F sharp Major; d sharp minor" msgstr "Фа-диез мажор; ре-диез минор" #: dialogs/staffcontextdialog.cpp:120 msgid "Staff context" msgstr "Содержимое нотного Ñтана" #: dialogs/staffcontextdialog.cpp:132 dialogs/clefconfigdialog.cpp:49 msgid "clef" msgstr "Ключ" #: dialogs/staffcontextdialog.cpp:157 dialogs/clefconfigdialog.cpp:74 msgid "Octave shift:" msgstr "Смена октавы:" #: dialogs/staffcontextdialog.cpp:163 dialogs/keysigdialog.cpp:66 #: dialogs/clefconfigdialog.cpp:81 msgid "adjust notes" msgstr "поправить ноты" #: dialogs/staffcontextdialog.cpp:200 dialogs/measureconfigdialog.cpp:110 #: dialogs/midirecordconfigdialog.cpp:70 msgid "time signature" msgstr "тактовый размер" #: dialogs/staffcontextdialog.cpp:204 dialogs/measureconfigdialog.cpp:114 #: dialogs/midirecordconfigdialog.cpp:74 msgid "Numerator:" msgstr "ЧиÑлитель:" #: dialogs/staffcontextdialog.cpp:205 dialogs/measureconfigdialog.cpp:115 #: dialogs/midirecordconfigdialog.cpp:75 msgid "Denominator:" msgstr "Знаменатель:" #: dialogs/staffcontextdialog.cpp:248 msgid "staff name" msgstr "Ð˜Ð¼Ñ Ð½Ð¾Ñ‚Ð½Ð¾Ð³Ð¾ Ñтана" #: dialogs/staffcontextdialog.cpp:255 msgid "staff short name" msgstr "Короткое Ð¸Ð¼Ñ Ð½Ð¾Ñ‚Ð½Ð¾Ð³Ð¾ Ñтана" #: dialogs/staffcontextdialog.cpp:262 msgid "group name" msgstr "Ð˜Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹" #: dialogs/staffcontextdialog.cpp:269 msgid "group short name" msgstr "Короткое Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹" #: dialogs/staffcontextdialog.cpp:278 dialogs/tempodialog.cpp:154 #: dialogs/textdialog.cpp:138 dialogs/midirecordconfigdialog.cpp:147 msgid "tempo" msgstr "темп" #: dialogs/staffcontextdialog.cpp:283 msgid "chorus" msgstr "хоруÑ" #: dialogs/staffcontextdialog.cpp:289 msgid "transp." msgstr "транÑп." #: dialogs/staffcontextdialog.cpp:295 msgid "reverb" msgstr "реверб." #: dialogs/staffcontextdialog.cpp:301 dialogs/textdialog.cpp:123 #: dialogs/midirecordconfigdialog.cpp:153 msgid "volume" msgstr "громк." #: dialogs/staffcontextdialog.cpp:307 msgid "pan" msgstr "баланÑ" #: dialogs/staffcontextdialog.cpp:323 dialogs/textdialog.cpp:202 #: dialogs/midirecordconfigdialog.cpp:135 msgid "instruments" msgstr "инÑтрументы" #: dialogs/staffcontextdialog.cpp:332 dialogs/textdialog.cpp:150 msgid "channel" msgstr "канал" #: dialogs/staffcontextdialog.cpp:337 dialogs/mutedialog.cpp:69 msgid "muting" msgstr "приглушить" #: dialogs/staffcontextdialog.cpp:338 dialogs/staffcontextdialog.cpp:370 #: dialogs/mutedialog.cpp:72 dialogs/selectordialog.cpp:98 msgid "all" msgstr "вÑе" #: dialogs/staffcontextdialog.cpp:369 #, fuzzy msgid "voices" msgstr "ГолоÑовое охание" #: dialogs/staffcontextdialog.cpp:429 dialogs/staffselectdialog.cpp:58 msgid "staff" msgstr "нотный Ñтан" #: dialogs/staffcontextdialog.cpp:435 dialogs/staffselectdialog.cpp:67 msgid "item" msgstr "позициÑ" #: dialogs/staffcontextdialog.cpp:485 msgid "Score" msgstr "Партитура" #: dialogs/staffcontextdialog.cpp:486 msgid "MIDI" msgstr "MIDI" #: dialogs/staffcontextdialog.cpp:495 msgid "Staff position" msgstr "Положение нотного Ñтана" #: dialogs/tupletdialog.cpp:34 msgid "Tuplet" msgstr "Триоль" #: dialogs/tupletdialog.cpp:40 msgid "" "Instead of using this dialog\n" "you can simply press + num" msgstr "" "ВмеÑто иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ диалога\n" "Ð’Ñ‹ можете проÑто нажать + чиÑло" #: dialogs/tupletdialog.cpp:42 msgid "Tuplet value:" msgstr "Значение триоли:" #: dialogs/tupletdialog.cpp:47 msgid "method 2" msgstr "Метод 2" #: dialogs/insertblockdialog.cpp:32 msgid "Insert blocks" msgstr "Ð’Ñтавить пуÑтые такты" #: dialogs/insertblockdialog.cpp:39 msgid "block count:" msgstr "КоличеÑтво тактоа:" #: dialogs/measureconfigdialog.cpp:53 msgid "Measure type" msgstr "Тип такта" #: dialogs/measureconfigdialog.cpp:62 msgid "measure type" msgstr "тип такта" #: dialogs/measureconfigdialog.cpp:89 msgid "alternative 1" msgstr "Вольта 1" #: dialogs/measureconfigdialog.cpp:90 msgid "alternative 2" msgstr "Вольта 2" #: dialogs/measureconfigdialog.cpp:99 msgid "hide following" msgstr "СпрÑтать продолжение" #: dialogs/measureconfigdialog.cpp:158 msgid "enable timesig" msgstr "Показывать размер такта" #: dialogs/measureconfigdialog.cpp:160 msgid "delete timesig" msgstr "Удалить размер такта" #: dialogs/keysigdialog.cpp:37 msgid "New keysignature" msgstr "ÐÐ¾Ð²Ð°Ñ Ñ‚Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть" #: dialogs/keysigdialog.cpp:64 msgid "adjust" msgstr "ВыровнÑть" #: dialogs/scoreinfodialog.cpp:71 dialogs/scoreinfodialog.cpp:75 msgid "Score info" msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ партитуре" #: dialogs/scoreinfodialog.cpp:79 msgid "Title:" msgstr "Заголовок:" #: dialogs/scoreinfodialog.cpp:87 msgid "Subject:" msgstr "Тема:" #: dialogs/scoreinfodialog.cpp:95 msgid "Composer:" msgstr "Композитор:" #: dialogs/scoreinfodialog.cpp:103 msgid "Arranger:" msgstr "Ðранжировщик:" #: dialogs/scoreinfodialog.cpp:111 msgid "Copyright:" msgstr "ÐвторÑкое право:" #: dialogs/clefconfigdialog.cpp:44 msgid "Clef configuration" msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð½Ð¾Ñ‚Ð½Ð¾Ð³Ð¾ Ñтана" #: dialogs/volumedialog.cpp:32 msgid "Set Volume" msgstr "УÑтановить громкоÑть" #: dialogs/volumedialog.cpp:44 msgid "volume:" msgstr "громкоÑть:" #: dialogs/tempodialog.cpp:56 msgid "Set Tempo" msgstr "УÑтановить темп" #: dialogs/tempodialog.cpp:128 msgid "kind" msgstr "вид" #: dialogs/tempodialog.cpp:150 msgid "tempo:" msgstr "темп:" #: dialogs/lyricseditor.cpp:67 msgid "Lyrics" msgstr "Строфы" #: dialogs/lyricseditor.cpp:85 msgid "lyrics 1" msgstr "куплет 1" #: dialogs/lyricseditor.cpp:86 msgid "lyrics 2" msgstr "куплет 2" #: dialogs/lyricseditor.cpp:87 msgid "lyrics 3" msgstr "куплет 3" #: dialogs/lyricseditor.cpp:88 msgid "lyrics 4" msgstr "куплет 4" #: dialogs/lyricseditor.cpp:89 msgid "lyrics 5" msgstr "куплет 5" #: dialogs/lyricseditor.cpp:135 dialogs/drumconfigdialog.cpp:230 msgid "load from file" msgstr "загрузить из файла" #: dialogs/lyricseditor.cpp:136 dialogs/drumconfigdialog.cpp:231 msgid "save to file" msgstr "Ñохранить в файл" #: dialogs/lyricseditor.cpp:143 dialogs/drumconfigdialog.cpp:247 msgid "file" msgstr "файл" #: dialogs/lyricseditor.cpp:292 msgid "Save lyrics" msgstr "Сохранить Ñтрофы" #: dialogs/lyricseditor.cpp:392 msgid "Open lyrics file" msgstr "Открыть файл лирики" #: dialogs/mutedialog.cpp:34 msgid "Muting" msgstr "Приглушение" #: dialogs/mutedialog.cpp:55 dialogs/selectordialog.cpp:61 #, c-format msgid "Staff %d" msgstr "Ðотный Ñтан %d" #: dialogs/mutedialog.cpp:74 dialogs/selectordialog.cpp:100 msgid "none" msgstr "никакое" #: dialogs/linesdialog.cpp:40 msgid "Lines" msgstr "Горизонтальие обозначениÑ" #: dialogs/linesdialog.cpp:46 msgid "lines" msgstr "горизонтальие обозначениÑ" #: dialogs/selectordialog.cpp:35 msgid "Transpose" msgstr "ТранÑпонировать" #: dialogs/selectordialog.cpp:39 msgid "Select" msgstr "Выбрать" #: dialogs/selectordialog.cpp:73 msgid "half-tones" msgstr "полутона" #: dialogs/selectordialog.cpp:76 dialogs/selectordialog.cpp:95 #: chords/chorddialog.cpp:159 msgid "selection" msgstr "выбор" #: dialogs/selectordialog.cpp:87 msgid "use selection" msgstr "иÑпользовать выбор" #: dialogs/textdialog.cpp:69 msgid "Text" msgstr "ТекÑÑ‚" #: dialogs/textdialog.cpp:89 chords/chorddialog.cpp:111 msgid "text" msgstr "текÑÑ‚" #: dialogs/textdialog.cpp:98 msgid "select font" msgstr "выбрать шрифт" #: dialogs/textdialog.cpp:105 msgid "anchor" msgstr "притÑгивание" #: dialogs/textdialog.cpp:108 msgid "left" msgstr "Ñлева" #: dialogs/textdialog.cpp:109 msgid "mid" msgstr "поÑредине" #: dialogs/textdialog.cpp:110 msgid "right" msgstr "Ñправа" #: dialogs/textdialog.cpp:130 msgid "enable volume change" msgstr "Включить регулировку громкоÑти" #: dialogs/textdialog.cpp:143 msgid "enable tempo change" msgstr "Включить изменение темпа" #: dialogs/textdialog.cpp:155 msgid "enable channel change" msgstr "Включить изменение канала" #: dialogs/textdialog.cpp:162 msgid "D.S" msgstr "" #: dialogs/textdialog.cpp:165 msgid "No segno meaning" msgstr "Без Ñеньо (segno)" #: dialogs/textdialog.cpp:166 msgid "D.S. al Fine" msgstr "" #: dialogs/textdialog.cpp:167 msgid "D.S. al Coda" msgstr "" #: dialogs/textdialog.cpp:168 msgid "D. Capo al Fine" msgstr "" #: dialogs/textdialog.cpp:169 msgid "D. Capo al Coda" msgstr "" #: dialogs/textdialog.cpp:170 msgid "Fine" msgstr "" #: dialogs/textdialog.cpp:171 msgid "al Coda" msgstr "" #: dialogs/textdialog.cpp:219 msgid "instrument" msgstr "инÑтрумент" #: dialogs/textdialog.cpp:220 msgid "enable instrument change" msgstr "Разрешить Ñмену инÑтрумента" #: dialogs/signsdialog.cpp:44 msgid "Signs" msgstr "Знаки" #: dialogs/signsdialog.cpp:50 msgid "signs" msgstr "знаки" #: dialogs/midiimportdialog.cpp:43 msgid "MIDI import" msgstr "MIDI-импорт" #: dialogs/midiimportdialog.cpp:70 dialogs/midirecordconfigdialog.cpp:103 msgid "triplet recognition" msgstr "РаÑпознавать триплеты" #: dialogs/midiimportdialog.cpp:72 msgid "sort instruments" msgstr "Сортировать инÑтрументы" #: dialogs/midiimportdialog.cpp:73 dialogs/midirecordconfigdialog.cpp:105 msgid "force piano" msgstr "принимать как фортепиано" #: dialogs/midiimportdialog.cpp:74 dialogs/midirecordconfigdialog.cpp:107 msgid "don't split tracks" msgstr "Ðе разбивать дорожки" #: dialogs/midiimportdialog.cpp:83 msgid "tempo density" msgstr "порог темповых изменений" #: dialogs/midiimportdialog.cpp:89 msgid "volume density" msgstr "порог динамичеÑких измененний" #: dialogs/midirecordconfigdialog.cpp:65 msgid "Config Record" msgstr "ÐаÑтроить запиÑÑŒ" #: dialogs/lilypondexportdialog.cpp:63 msgid "export params" msgstr "параметры ÑкÑпорта" #: dialogs/lilypondexportdialog.cpp:66 msgid "create line breaks" msgstr "Ñоздать обрывы Ñтрок" #: dialogs/lilypondexportdialog.cpp:74 msgid "keep beams" msgstr "Ñохранить вÑзки" #: dialogs/lilypondexportdialog.cpp:172 msgid "Staff selection" msgstr "Выбор нотного Ñтана" #: dialogs/lilypondexportdialog.cpp:181 msgid "keep beams selection" msgstr "Сохранить выбранные вÑзки" #: dialogs/staffselectdialog.cpp:76 msgid "All" msgstr "Ð’Ñе" #: dialogs/staffselectdialog.cpp:79 msgid "None" msgstr "Ðичего" #: dialogs/spacementdialog.cpp:34 msgid "Horizontal Spacement" msgstr "Горизонтальный интервал" #: dialogs/spacementdialog.cpp:40 msgid "Spacement" msgstr "Интервал" #: dialogs/scaledialog.cpp:35 dialogs/scaledialog.cpp:40 msgid "Scale" msgstr "Маштаб" #: dialogs/drumconfigdialog.cpp:90 msgid "Config Drums" msgstr "ÐаÑтроить ударные" #: dialogs/drumconfigdialog.cpp:112 msgid "drum element name" msgstr "Ð˜Ð¼Ñ ÑƒÐ´Ð°Ñ€Ð½Ð¾Ð³Ð¾ Ñлемента" #: dialogs/drumconfigdialog.cpp:114 msgid "short name" msgstr "Короткое имÑ" #: dialogs/drumconfigdialog.cpp:116 msgid "line" msgstr "линиÑ" #: dialogs/drumconfigdialog.cpp:119 msgid "symbol" msgstr "Ñимвол" #: dialogs/drumconfigdialog.cpp:121 msgid "midi pitch" msgstr "выÑота Ð·Ð²ÑƒÑ‡Ð°Ð½Ð¸Ñ MIDI " #: dialogs/drumconfigdialog.cpp:192 msgid "change element" msgstr "Ñменить Ñлемент" #: dialogs/drumconfigdialog.cpp:197 msgid "note head" msgstr "Ð½Ð¾Ñ‚Ð½Ð°Ñ Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°" #: dialogs/drumconfigdialog.cpp:223 msgid "preview" msgstr "предпроÑмотр" #: dialogs/drumconfigdialog.cpp:232 msgid "load defaults" msgstr "наÑтройки по умолчанию" #: dialogs/drumconfigdialog.cpp:233 msgid "play element" msgstr "проиграть Ñлемент" #: dialogs/drumconfigdialog.cpp:446 msgid "Save drum configuration" msgstr "Сохранить конфигурацию ударных" #: dialogs/drumconfigdialog.cpp:537 msgid "Open drum configuration" msgstr "Открыть конфигурацию ударных" #: dialogs/chordnamedialog.cpp:50 dialogs/chordnamedialog.cpp:54 msgid "Chordname" msgstr "Ð˜Ð¼Ñ Ð°ÐºÐºÐ¾Ñ€Ð´Ð°" #: dialogs/chordnamedialog.cpp:61 msgid "chordname" msgstr "Ð¸Ð¼Ñ Ð°ÐºÐºÐ¾Ñ€Ð´Ð°" #: dialogs/chordnamedialog.cpp:80 msgid "size" msgstr "размер" #: dialogs/chordnamedialog.cpp:84 msgid "position" msgstr "позициÑ" #: dialogs/tools.cpp:372 dialogs/tools.cpp:392 msgid "Toolbox" msgstr "ИнÑтрументы" #: chords/chorddialog.cpp:95 msgid "Chords" msgstr "Ðккорды" #: chords/chorddialog.cpp:99 msgid "chord" msgstr "аккорд" #: chords/chorddialog.cpp:109 msgid "config" msgstr "конфигурациÑ" #: chords/chorddialog.cpp:112 msgid "diagram" msgstr "диаграмма" #: chords/chorddialog.cpp:133 msgid "root" msgstr "оÑнование" #: chords/chorddialog.cpp:150 msgid "mody" msgstr "модификатор" #: chords/chorddialog.cpp:169 msgid "chordselect" msgstr "выбор аккорда" #~ msgid "Please select a chord or rest" #~ msgstr "ПожалуйÑта, выбирите аккорд или паузу." #~ msgid "Delete Staff" #~ msgstr "Удалить н.Ñтан" #~ msgid "Delete System" #~ msgstr "Удалить ÑиÑтему" #~ msgid "Export MIDI" #~ msgstr "ЭкÑпорт MIDI" nted-1.10.18/po/quot.sed0000664001041000007640000000023111520267230011631 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g nted-1.10.18/commands/0000775001041000007640000000000011520270234011411 500000000000000nted-1.10.18/commands/insertchordorrestcommand.h0000664001041000007640000000345211520267221016632 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef INSERT_CHORD_OR_REST_COMMAND_H #define INSERT_CHORD_OR_REST_COMMAND_H #include "config.h" #include "command.h" #include class NedChordOrRest; class NedVoice; class NedInsertChordOrRestCommand : public NedCommand { public: NedInsertChordOrRestCommand(NedVoice *voice, int pos, NedChordOrRest *chord_or_rest); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); void resetAdjustable() {m_adjustable = false;} private: NedVoice *m_voice; int m_pos; bool m_adjustable; NedChordOrRest *m_chord_or_rest; }; #endif /* INSERT_CHORD_OR_REST_COMMAND_H */ nted-1.10.18/commands/tienotescommand.h0000664001041000007640000000315611520267221014702 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef TIE_NOTES_COMMAND_H #define TIE_NOTES_COMMAND_H #include "config.h" #include "command.h" #include class NedNote; class NedTieNotesCommand : public NedCommand { public: NedTieNotesCommand(NedNote *note0, NedNote* note1); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedNote *m_note0, *m_note1; double m_tie_offs; }; #endif /* TIE_NOTES_COMMAND_H */ nted-1.10.18/commands/insertchordorrestgroupcommand.cpp0000664001041000007640000000532011520267221020236 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "insertchordorrestgroupcommand.h" #include "voice.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" #include "system.h" #include "voice.h" #include "staff.h" NedInsertChordOrRestGroupCommand::NedInsertChordOrRestGroupCommand(NedVoice *voice, GList *chords_or_rests, int pos) : m_voice(voice), m_pos(pos), m_chord_or_rests(chords_or_rests) {} void NedInsertChordOrRestGroupCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedInsertChordOrRestGroupCommand::execute\n"); #endif GList *lptr; int pos = m_pos; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { m_voice->m_chord_or_rests = g_list_insert(m_voice->m_chord_or_rests, lptr->data, pos++); // friend !! ((NedChordOrRest *) lptr->data)->setVoice(m_voice); } } void NedInsertChordOrRestGroupCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedInsertChordOrRestGroupCommand::unexecute\n"); #endif GList *lptr, *lptr2; for (lptr = g_list_first(m_chord_or_rests); lptr; lptr = g_list_next(lptr)) { // friend !! lptr2 = g_list_find(m_voice->m_chord_or_rests, lptr->data); // friend !! if (lptr2 == NULL) { NedResource::Abort("NedInsertChordOrRestGroupCommand::execute:1"); } GList *inserted = g_list_find(m_voice->m_chord_or_rests, lptr2->data); // friend !! if (inserted == NULL) { NedResource::Abort("NedInsertChordOrRestGroupCommand::execute:2"); } m_voice->m_chord_or_rests = g_list_delete_link(m_voice->m_chord_or_rests, inserted); // friend !! } } nted-1.10.18/commands/shiftstaffcommand.cpp0000664001041000007640000000465011520267221015544 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "shiftstaffcommand.h" #include "page.h" #include "mainwindow.h" #include "resource.h" NedShiftStaffCommand::NedShiftStaffCommand(NedMainWindow *main_window, int staff_number, int position) : m_main_window(main_window), m_staff_number(staff_number), m_position(position) { int i; if ((m_old_flags = (int *) g_try_malloc(main_window->m_staff_count * sizeof(int))) == NULL) { NedResource::Abort("NedShiftStaffCommand"); } for (i = 0; i < main_window->m_staff_count; i++) { m_old_flags[i] = main_window->m_staff_contexts[i].m_flags; } } NedShiftStaffCommand::~NedShiftStaffCommand() { g_free(m_old_flags); } void NedShiftStaffCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedShiftStaffCommand::execute\n"); #endif for (int i = 0; i < m_main_window->m_staff_count; i++) { m_main_window->m_staff_contexts[i].m_flags = 0; } m_main_window->shiftStaff(m_staff_number, m_position); } void NedShiftStaffCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedShiftStaffCommand::unexecute\n"); #endif m_main_window->shiftStaff(m_position, m_staff_number); for (int i = 0; i < m_main_window->m_staff_count; i++) { m_main_window->m_staff_contexts[i].m_flags = m_old_flags[i]; } } nted-1.10.18/commands/shiftstaffcommand.h0000664001041000007640000000335611520267221015213 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef SHIFT_STAFF_COMMAND_H #define SHIFT_STAFF_COMMAND_H #include "config.h" #include "command.h" #include class NedPage; class NedMainWindow; class NedShiftStaffCommand : public NedCommand { public: NedShiftStaffCommand(NedMainWindow *main_window, int staff_number, int position); ~NedShiftStaffCommand(); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; int m_staff_number; int m_position; int *m_old_flags; }; #endif /* DELETE_STAFF_COMMAND_H */ nted-1.10.18/commands/changexpositioncommand.h0000664001041000007640000000355711520267221016257 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_X_POSITION_COMMAND_H #define CHANGE_X_POSITION_COMMAND_H #include "config.h" #include "command.h" #include class NedChordOrRest; class NedTuplet; class NedChangeXPositionCommand : public NedCommand { public: NedChangeXPositionCommand(GList **chord_an_rest_list, NedChordOrRest *sibling_chord_or_rest, NedChordOrRest *chord_or_rest, bool before); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: GList **m_chord_an_rest_list; int m_from_pos; NedChordOrRest *m_sibling_chord_or_rest; NedChordOrRest *m_chord_or_rest; NedTuplet *m_tuplet; bool m_before; }; #endif /* CHANGE_X_POSITION_COMMAND_H */ nted-1.10.18/commands/command.h0000664001041000007640000000265211520267221013127 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef COMMAND_H #define COMMAND_H #include "config.h" class NedCommand { public: virtual ~NedCommand() {} virtual void execute(bool adjust = false) = 0; virtual void unexecute(bool adjust = false) = 0; }; #endif /* COMMAND_H */ nted-1.10.18/commands/fixmovedfreeplaceablecommand.h0000664001041000007640000000344311520267221017363 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef MOVE_FREE_PLACEABLE_COMMAND_H #define MOVE_FREE_PLACEABLE_COMMAND_H #include "config.h" #include "command.h" #include class NedFreeReplaceable; class NedChordOrRest; class NedFixMovedFreePlaceableCommand : public NedCommand { public: NedFixMovedFreePlaceableCommand(NedFreeReplaceable *freeplaceable); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedFreeReplaceable *m_freereplaceable; NedChordOrRest *m_new_element, *m_old_element; double m_newx, m_newy; double m_oldx, m_oldy; }; #endif /* MOVE_FREE_PLACEABLE_COMMAND_H */ nted-1.10.18/commands/changenotestatus.h0000664001041000007640000000321311520267221015062 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_NOTE_STATUS_H #define CHANGE_NOTE_STATUS_H #include "config.h" #include "command.h" class NedNote; class NedChangeNoteStatusCommand : public NedCommand { public: NedChangeNoteStatusCommand(NedNote *note, unsigned int newstatus); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedNote *m_note; unsigned int m_newstatus; unsigned int m_oldstatus; }; #endif /* CHANGE_NOTE_STATUS_H */ nted-1.10.18/commands/movesystemcommand.cpp0000664001041000007640000000513611520267221015616 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "movesystemcommand.h" #include "system.h" #include "page.h" NedMoveSystemCommand::NedMoveSystemCommand(NedPage *page, NedSystem *system, NedPage *other_page ) : m_page(page), m_other_page(other_page), m_system(system) { if ((m_position = g_list_index(m_page->m_systems, m_system)) < 0) { NedResource::Abort("NedDeleteSystemCommand::NedDeleteSystemCommand"); } } void NedMoveSystemCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedMoveSystemCommand::execute\n"); #endif m_page->m_systems = g_list_remove(m_page->m_systems, m_system); m_page->placeStaffs(false, 0); m_page->renumberSystems(); m_other_page->m_systems = g_list_insert(m_other_page->m_systems, m_system, 0); m_system->changePageInfo(m_other_page); m_other_page->placeStaffs(false, 0); m_other_page->renumberSystems(); } void NedMoveSystemCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedMoveSystemCommand::unexecute\n"); #endif m_other_page->m_systems = g_list_remove(m_other_page->m_systems, m_system); m_other_page->placeStaffs(false, 0); m_other_page->renumberSystems(); m_page->m_systems = g_list_insert(m_page->m_systems, m_system, m_position); m_system->changePageInfo(m_page); /* if ((m_system_ptr = g_list_find(*m_systems_ptr, m_system)) == NULL) { NedResource::Abort("NedMoveSystemCommand::unexecute"); } */ m_page->placeStaffs(false, 0); m_page->renumberSystems(); } nted-1.10.18/commands/fixintermediatecommand.h0000664001041000007640000000364111520267221016230 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef FIX_INTERMEDIATE_H #define FIX_INTERMEDIATE_H #include "config.h" #include "command.h" class NedChordOrRest; class NedFixIntermediateCommand : public NedCommand { public: NedFixIntermediateCommand(NedChordOrRest *chord); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedChordOrRest *m_chord; bool m_stemheight_relevant; double m_old_stemheight; double m_new_stemheight; bool m_new_beam_y_offs_relevant; double m_old_beam_y_offs; double m_new_beam_y_offs; bool m_slope_offs_relevant; int m_old_slope_offs; int m_new_slope_offs; bool m_status_change_relevant; unsigned int m_old_status; unsigned int m_new_status; }; #endif /* FIX_INTERMEDIATE_H */ nted-1.10.18/commands/newlyricscommand.cpp0000664001041000007640000000366711520267221015431 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "newlyricscommand.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" NedNewLyricsCommand::NedNewLyricsCommand(NedChordOrRest *chord, int line) : m_chord(chord), m_line(line) { m_lyrics = m_chord->m_lyrics[line]; } void NedNewLyricsCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedNewLyricsCommand::execute\n"); #endif m_chord->m_lyrics[m_line] = m_lyrics; m_chord->computeBbox(); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } void NedNewLyricsCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedNewLyricsCommand::unexecute\n"); #endif m_chord->m_lyrics[m_line] = NULL; if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } nted-1.10.18/commands/changemeasurespread.cpp0000664001041000007640000000403411520267221016046 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changemeasurespread.h" #include "measure.h" #include "resource.h" NedChangeMeasureSpreadCommand::NedChangeMeasureSpreadCommand(NedMeasure *measure, int spread_direction) : m_measure(measure) { m_old_spread = m_measure->m_spread_fac; m_old_special_spread = m_measure->m_special_spread; m_new_spread = m_old_spread + spread_direction * MEASURE_SPREAD_STEP; } void NedChangeMeasureSpreadCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeMeasureSpreadCommand::execute\n"); #endif m_measure->m_spread_fac = m_new_spread; m_measure->m_special_spread = true; } void NedChangeMeasureSpreadCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedChangeMeasureSpreadCommand::unexecute\n"); #endif m_measure->m_spread_fac = m_old_spread; m_measure->m_special_spread = m_old_special_spread; } nted-1.10.18/commands/insertstaffelemcommand.h0000664001041000007640000000346311520267221016244 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef INSERT_STAFF_ELEM_COMMAND_H #define INSERT_STAFF_ELEM_COMMAND_H #include "config.h" #include "command.h" #include class NedChordOrRest; class NedStaff; class NedInsertStaffElemCommand : public NedCommand { public: NedInsertStaffElemCommand(NedChordOrRest *staffelem, int clef_number_so_far, int octave_shift_so_far, NedStaff *staff, bool do_adjust); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: int m_staff_nr; NedStaff *m_staff; NedChordOrRest *m_staff_elem; int m_line_dist; bool m_do_adjust; }; #endif /* INSERT_STAFF_ELEM_COMMAND_H */ nted-1.10.18/commands/changemeasuretypecommand.cpp0000664001041000007640000000402211520267221017105 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changemeasuretypecommand.h" #include "mainwindow.h" #include "resource.h" NedChangeMeasureTypeCommand::NedChangeMeasureTypeCommand(NedMainWindow *main_window, int measnum, int mtype, bool hide_following) : m_main_window(main_window), m_measnum(measnum), m_mtype(mtype), m_hide_following(hide_following) {} void NedChangeMeasureTypeCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeMeasureTypeCommand::execute\n"); #endif m_old_mtype = m_main_window->setSpecial(m_measnum, m_mtype, m_hide_following, &m_old_hide_following, true); // !! friend } void NedChangeMeasureTypeCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\ttNedChangeMeasureTypeCommand::unexecute\n"); #endif m_main_window->setSpecial(m_measnum, m_old_mtype, m_old_hide_following, NULL, true); // !! friend } nted-1.10.18/commands/Makefile.am0000775001041000007640000001022211520267221013367 00000000000000######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### AM_CPPFLAGS = $(FT2_CFLAGS) -I$(top_srcdir) $(CAIRO_CFLAGS) $(GTK_CFLAGS) noinst_LIBRARIES = libcommands.a libcommands_a_SOURCES = commandhistory.cpp commandlist.cpp notemovecommand.cpp \ deletechordcommand.cpp insertchordorrestcommand.cpp ereasechordorrestcommand.cpp \ addnoteatcommand.cpp movechordsandrestscommand.cpp untieforwardcommand.cpp \ ereasenotecommand.cpp changenotestatus.cpp changechordorrestlength.cpp \ movechordsandrestsreversecommand.cpp changexpositioncommand.cpp \ deletesystemcommand.cpp movesystemcommand.cpp changespacement.cpp\ deletechordorrestgroupcommand.cpp tienotescommand.cpp appendnewpagecommand.cpp appendsystemcommand.cpp \ getsystemfromnextpagecmmand.cpp removelastpagecommand.cpp appendstaffcommand.cpp deletestaffcommand.cpp \ shiftstaffcommand.cpp paperconfigcommand.cpp notemoverelativecommand.cpp settotupletcommand.cpp \ setstaffcontext.cpp insertchordorrestgroupcommand.cpp insertnewpagecommand.cpp changemeasuretypecommand.cpp \ movespecmeasurecommand.cpp changemeasuretimsigcommand.cpp inserttiedelementcommand.cpp \ changetimsigcommand.cpp removestaffelemcommand.cpp insertstaffelemcommand.cpp \ newlyricscommand.cpp deletelyricscommand.cpp changenotehead.cpp removepagecommand.cpp \ changechordorreststatus.cpp changeupbeatcommand.cpp insertfreeplaceablecommand.cpp fixmovedfreeplaceablecommand.cpp \ removefreeplaceablecommand.cpp changetie.cpp fixintermediatecommand.cpp flipvaluescommand.cpp \ removeconstraintscommand.cpp changemeasurespread.cpp changestaffkeysigcmd.cpp transposecommand.cpp \ changestaffclefcmd.cpp restmovecommand.cpp changeaccidentalcmd.cpp changelyricscommand.cpp libcommands_a_SOURCES += addnoteatcommand.h appendnewpagecommand.h appendstaffcommand.h appendsystemcommand.h \ changechordorrestlength.h changechordorreststatus.h changemeasuretimsigcommand.h changemeasuretypecommand.h \ changenotehead.h changenotestatus.h changetimsigcommand.h changeupbeatcommand.h changexpositioncommand.h command.h \ commandhistory.h commandlist.h deletechordcommand.h deletechordorrestgroupcommand.h deletelyricscommand.h \ deletestaffcommand.h deletesystemcommand.h ereasechordorrestcommand.h ereasenotecommand.h fixmovedfreeplaceablecommand.h \ getsystemfromnextpagecmmand.h insertchordorrestcommand.h insertchordorrestgroupcommand.h insertfreeplaceablecommand.h \ insertnewpagecommand.h insertstaffelemcommand.h inserttiedelementcommand.h changetie.h movechordsandrestscommand.h \ movechordsandrestsreversecommand.h movespecmeasurecommand.h movesystemcommand.h newlyricscommand.h notemovecommand.h \ notemoverelativecommand.h paperconfigcommand.h removefreeplaceablecommand.h removelastpagecommand.h removepagecommand.h \ removestaffelemcommand.h setstaffcontext.h settotupletcommand.h shiftstaffcommand.h tienotescommand.h \ untieforwardcommand.h fixintermediatecommand.h flipvaluescommand.h removeconstraintscommand.h changemeasurespread.h \ changespacement.h changestaffkeysigcmd.h transposecommand.h changestaffclefcmd.h restmovecommand.h changeaccidentalcmd.h \ changelyricscommand.h nted-1.10.18/commands/restmovecommand.cpp0000664001041000007640000000360611520267221015247 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "restmovecommand.h" #include "chordorrest.h" #include "mainwindow.h" NedRestMoveCommand::NedRestMoveCommand(NedChordOrRest *rest, int from, int to) : m_rest(rest), m_from(from), m_to(to) {} void NedRestMoveCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedRestMoveCommand::execute\n"); #endif m_rest->moveToLine(m_to); m_rest->computeBbox(); if (adjust) { m_rest->getMainWindow()->setVisible(m_rest); } } void NedRestMoveCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedRestMoveCommand::unexecute\n"); #endif m_rest->moveToLine(m_from); m_rest->computeBbox(); if (adjust) { m_rest->getMainWindow()->setVisible(m_rest); } } nted-1.10.18/commands/insertnewpagecommand.h0000664001041000007640000000333111520267221015716 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef INSERT_NEW_PAGE_COMMAND_H #define INSERT_NEW_PAGE_COMMAND_H #include "config.h" #include "command.h" #include class NedPage; class NedMainWindow; class NedInsertNewPageCommand : public NedCommand { public: NedInsertNewPageCommand(NedMainWindow *main_window, int pos, unsigned int start_measure_number); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedPage *m_new_page; NedMainWindow *m_main_window; int m_pos; }; #endif /* INSERT_NEW_PAGE_COMMAND_H */ nted-1.10.18/commands/changestaffclefcmd.h0000664001041000007640000000350211520267221015273 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_STAFF_CLEF_COMMAND_H #define CHANGE_STAFF_CLEF_COMMAND_H #include "config.h" #include "command.h" #include class NedMainWindow; class NedChangeStaffClefCmd : public NedCommand { public: NedChangeStaffClefCmd(NedMainWindow *main_window, int staff_number, int newclef, int new_clef_octave_shift, bool do_adjust); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; int m_oldclef, m_newclef, m_staff_number; int m_old_clef_octave_shift, m_new_clef_octave_shift; bool m_do_adjust; }; #endif /* CHANGE_STAFF_CLEF_COMMAND_H */ nted-1.10.18/commands/changetie.cpp0000664001041000007640000000355211520267221013773 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changetie.h" #include "mainwindow.h" #include "note.h" NedChangeTieCommand::NedChangeTieCommand(NedNote *note, double offs) : m_note(note), m_offs(offs) {} void NedChangeTieCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeTieCommand::execute\n"); #endif m_note->m_tie_offs += m_offs; m_note->computeTie(); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } void NedChangeTieCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedChangeTieCommand::unexecute\n"); #endif m_note->m_tie_offs -= m_offs; m_note->computeTie(); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } nted-1.10.18/commands/removeconstraintscommand.cpp0000664001041000007640000000540611520267221017170 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "removeconstraintscommand.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" #include "beam.h" #include "staff.h" #include "voice.h" NedRemoveConstraintsCommand::NedRemoveConstraintsCommand(NedChordOrRest *chord) : m_chord(chord), m_old_stem_height(chord->m_stem_height), m_old_beam_y_offs(m_chord->m_beam_y_offs), m_old_slope_offs(m_chord->m_slope_offs), m_old_status(chord->m_status) {} void NedRemoveConstraintsCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedRemoveConstraintsCommand::execute\n"); #endif m_chord->m_status &= (~(STAT_USER_STEMDIR)); m_chord->m_stem_height = STEM_DEFAULT_HEIGHT; m_chord->m_beam_y_offs = 0.0; m_chord->m_slope_offs = 0; if (m_chord->m_beam != NULL) { m_chord->m_beam->computeBeam(m_chord->getStaff()->getStaffNumber() * VOICE_COUNT + m_chord->getVoice()->getVoiceNumber()); } m_chord->xPositNotes(); m_chord->computeBbox(); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } void NedRemoveConstraintsCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedRemoveConstraintsCommand::unexecute\n"); #endif m_chord->m_status &= m_old_status; m_chord->m_stem_height = m_old_stem_height; m_chord->m_beam_y_offs = m_old_beam_y_offs; m_chord->m_slope_offs = m_old_slope_offs; if (m_chord->m_beam != NULL) { m_chord->m_beam->computeBeam(m_chord->getStaff()->getStaffNumber() * VOICE_COUNT + m_chord->getVoice()->getVoiceNumber()); } m_chord->xPositNotes(); m_chord->computeBbox(); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } nted-1.10.18/commands/changeupbeatcommand.cpp0000664001041000007640000000356711520267221016037 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changeupbeatcommand.h" #include "mainwindow.h" NedChangeUpbeadCommand::NedChangeUpbeadCommand(NedMainWindow *main_window, unsigned int new_upbeat_inverse) : m_main_window(main_window), m_newupbeat_inverse(new_upbeat_inverse) { m_oldupbeat_inverse = main_window->m_upbeat_inverse; } void NedChangeUpbeadCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeUpbeadCommand::execute\n"); #endif m_main_window->m_upbeat_inverse = m_newupbeat_inverse; } void NedChangeUpbeadCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedChangeUpbeadCommand::unexecute\n"); #endif m_main_window->m_upbeat_inverse = m_oldupbeat_inverse; } nted-1.10.18/commands/removeconstraintscommand.h0000664001041000007640000000333011520267221016627 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef REMOVE_CONSTRAINTS_COMMAND_H #define REMOVE_CONSTRAINTS_COMMAND_H #include "config.h" #include "command.h" class NedChordOrRest; class NedRemoveConstraintsCommand : public NedCommand { public: NedRemoveConstraintsCommand(NedChordOrRest *chord); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedChordOrRest *m_chord; double m_old_stem_height; double m_old_beam_y_offs; int m_old_slope_offs; unsigned int m_old_status; }; #endif /* REMOVE_CONSTRAINTS_COMMAND_H */ nted-1.10.18/commands/addnoteatcommand.h0000664001041000007640000000350711520267221015013 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef ADD_NOTE_AT_COMMAND_H #define ADD_NOTE_AT_COMMAND_H #include "config.h" #include "command.h" #include class NedChordOrRest; class NedVoice; class NedNote; class NedAddNoteAtCommand : public NedCommand { public: NedAddNoteAtCommand(NedVoice *voice, NedChordOrRest *chord_or_rest, int line, int head, unsigned int status); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); NedNote *getNote() {return m_note;} private: NedVoice *m_voice; NedChordOrRest *m_chord; int m_line; unsigned int m_status; NedNote *m_note; bool m_first_call; }; #endif /* ADD_NOTE_AT_COMMAND_H */ nted-1.10.18/commands/appendnewpagecommand.h0000664001041000007640000000331111520267221015657 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef APPEND_NEW_PAGE_COMMAND_H #define APPEND_NEW_PAGE_COMMAND_H #include "config.h" #include "command.h" #include class NedPage; class NedMainWindow; class NedAppendNewPageCommand : public NedCommand { public: NedAppendNewPageCommand(NedMainWindow *main_window, int number, unsigned int measure_number); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedPage *m_new_page; NedMainWindow *m_main_window; }; #endif /* APPEND_NEW_PAGE_COMMAND_H */ nted-1.10.18/commands/changeupbeatcommand.h0000664001041000007640000000330411520267221015471 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_UPBEAT_COMMAND_H #define CHANGE_UPBEAT_COMMAND_H #include "config.h" #include "command.h" class NedMainWindow; class NedChangeUpbeadCommand : public NedCommand { public: NedChangeUpbeadCommand(NedMainWindow *main_window, unsigned int new_upbeat_inverse); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; unsigned int m_newupbeat_inverse; unsigned int m_oldupbeat_inverse; }; #endif /* CHANGE_UPBEAT_COMMAND_H */ nted-1.10.18/commands/addnoteatcommand.cpp0000664001041000007640000000455411520267221015351 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "addnoteatcommand.h" #include "chordorrest.h" #include "voice.h" #include "note.h" #include "mainwindow.h" #include "resource.h" NedAddNoteAtCommand::NedAddNoteAtCommand(NedVoice *voice, NedChordOrRest *chord_or_rest, int line, int head, unsigned int status) : m_voice(voice), m_chord(chord_or_rest), m_line(line), m_status(status), m_first_call(TRUE) { m_note = new NedNote(chord_or_rest, line, head, status); } void NedAddNoteAtCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedAddNoteAtCommand::execute\n"); #endif m_chord->insertNoteAt(m_note, m_first_call); m_first_call = FALSE; m_chord->reConfigure(); m_chord->xPositNotes(); m_chord->computeBbox(); m_chord->getMainWindow()->setSelected(m_chord, m_note); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } void NedAddNoteAtCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedAddNoteAtCommand::unexecute\n"); #endif m_chord->removeNoteAt(m_line); m_chord->reConfigure(); m_chord->xPositNotes(); m_chord->computeBbox(); m_chord->getMainWindow()->setSelected(NULL, NULL); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } nted-1.10.18/commands/changelyricscommand.cpp0000664001041000007640000000402511520267221016052 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changelyricscommand.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" NedChangeLyricsCommand::NedChangeLyricsCommand(NedChordOrRest *chord, int line, NedPangoCairoText *new_lyrics) : m_chord(chord), m_new_lyrics(new_lyrics), m_line(line) { m_old_lyrics = m_chord->m_lyrics[line]; } void NedChangeLyricsCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeLyricsCommand::execute\n"); #endif m_chord->m_lyrics[m_line] = m_new_lyrics; m_chord->computeBbox(); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } void NedChangeLyricsCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedChangeLyricsCommand::unexecute\n"); #endif m_chord->m_lyrics[m_line] = m_old_lyrics; if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } nted-1.10.18/commands/transposecommand.h0000664001041000007640000000335511520267221015067 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef TRANSPOSE_COMMAND_H #define TRANSPOSE_COMMAND_H #include "config.h" #include "command.h" #include class NedMainWindow; class NedTransposeCommand : public NedCommand { public: NedTransposeCommand(NedMainWindow *main_window, int pitchdist, int staff_count, bool *staff_list, GList *selected_group); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; int m_pitch_dist; bool *m_staff_list; GList *m_selected_group; }; #endif /* TRANSPOSE_COMMAND_H */ nted-1.10.18/commands/paperconfigcommand.cpp0000664001041000007640000000417311520267221015700 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "paperconfigcommand.h" #include "mainwindow.h" #include "resource.h" NedPaperConfigCommand::NedPaperConfigCommand(NedMainWindow *main_window, struct paper_info_struct *old_paper_info, bool old_portrait, struct paper_info_struct *new_paper_info, bool new_portrait, int oldscale, int scale): m_main_window(main_window), m_old_paper_info(old_paper_info), m_new_paper_info(new_paper_info), m_old_portrait(old_portrait), m_new_portrait(new_portrait), m_scale(scale), m_old_scale(oldscale) {} void NedPaperConfigCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedPaperConfigCommand::execute\n"); #endif m_main_window->reconfig_paper(adjust, m_new_paper_info, m_new_portrait, m_scale); } void NedPaperConfigCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedPaperConfigCommand::unexecute\n"); #endif m_main_window->reconfig_paper(adjust, m_old_paper_info, m_old_portrait, m_old_scale); } nted-1.10.18/commands/movechordsandrestsreversecommand.h0000664001041000007640000000327111520267221020357 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef MOVECHORDSANDRESTSREVERSECOMMAND_H #define MOVECHORDSANDRESTSREVERSECOMMAND_H #include "config.h" #include "command.h" #include class NedClipBoard; class NedMoveChordsAndRestsReverseCommand : public NedCommand { public: NedMoveChordsAndRestsReverseCommand(NedClipBoard *board); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedClipBoard *m_board; }; #endif /* MMOVECHORDSANDRESTSREVERSECOMMAND_HOVECHORDSANDRESTSCOMMAND_H */ nted-1.10.18/commands/flipvaluescommand.cpp0000664001041000007640000000507611520267221015560 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "flipvaluescommand.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" #include "beam.h" #include "staff.h" #include "voice.h" NedFlipValuesCommand::NedFlipValuesCommand(NedChordOrRest *chord) : m_chord(chord), m_new_beam_y_offs(-m_chord->m_beam_y_offs), m_old_beam_y_offs(m_chord->m_beam_y_offs), m_new_slope_offs(0), m_old_slope_offs(m_chord->m_slope_offs) {} void NedFlipValuesCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedFlipValuesCommand::execute\n"); #endif m_chord->m_beam_y_offs = m_new_beam_y_offs; m_chord->m_slope_offs = m_new_slope_offs; if (m_chord->m_beam != NULL) { m_chord->m_beam->computeBeam(m_chord->getStaff()->getStaffNumber() * VOICE_COUNT + m_chord->getVoice()->getVoiceNumber()); } m_chord->xPositNotes(); m_chord->computeBbox(); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } void NedFlipValuesCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedFlipValuesCommand::unexecute\n"); #endif m_chord->m_beam_y_offs = m_old_beam_y_offs; m_chord->m_slope_offs = m_old_slope_offs; if (m_chord->m_beam != NULL) { m_chord->m_beam->computeBeam(m_chord->getStaff()->getStaffNumber() * VOICE_COUNT + m_chord->getVoice()->getVoiceNumber()); } m_chord->xPositNotes(); m_chord->computeBbox(); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } nted-1.10.18/commands/changetimsigcommand.h0000664001041000007640000000351011520267221015504 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_TIMESIG_COMMAND_H #define CHANGE_TIMESIG_COMMAND_H #include "config.h" #include "command.h" #include class NedMainWindow; class NedChangeTimeSigCommand : public NedCommand { public: NedChangeTimeSigCommand(NedMainWindow *main_window, int newnum, int newdenom, unsigned int newsymbol); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; int m_new_num, m_new_denom; int m_old_num, m_old_denom; unsigned int m_old_symbol, m_new_symbol; int m_new_upbeat_inverse, m_old_upbeat_inverse; }; #endif /* CHANGE_TIMESIG_COMMAND_H */ nted-1.10.18/commands/commandlist.cpp0000664001041000007640000001353211520267221014355 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "commandlist.h" #include "command.h" #include "system.h" #include "mainwindow.h" NedCommandList::NedCommandList(NedMainWindow *main_window, NedSystem *system_for_reposit /* = NULL */) : m_commands(NULL), m_break(NULL), m_systems_for_reposit(NULL), m_full_reposit(false), m_main_window(main_window), m_start_system_for_renumbering(NULL), m_do_renumber(false), m_do_renumber_pages(false) { if (system_for_reposit != NULL) { m_systems_for_reposit = g_list_append(m_systems_for_reposit, system_for_reposit); } } NedCommandList::~NedCommandList() { GList *lptr; lptr = g_list_first(m_commands); while (lptr != NULL) { delete ((NedCommand*) lptr->data); m_commands = g_list_delete_link(m_commands, lptr); lptr = g_list_first(m_commands); } lptr = g_list_first(m_systems_for_reposit); while (lptr != NULL) { m_systems_for_reposit = g_list_delete_link(m_systems_for_reposit, lptr); lptr = g_list_first(m_systems_for_reposit); } } void NedCommandList::addSystemForRepositioning(NedSystem *system_for_reposit) { if (g_list_find(m_systems_for_reposit, system_for_reposit) != NULL) return; m_systems_for_reposit = g_list_append(m_systems_for_reposit, system_for_reposit); } void NedCommandList::setRenumber(NedSystem *m_start_system_for_renumbering /* = NULL */, int start_measure_number /* = 0 */, bool force /* = false */) { m_start_system_for_renumbering = m_start_system_for_renumbering; m_do_renumber = true; m_force = force; if (m_start_system_for_renumbering != NULL) { m_old_measure_start_number = m_start_system_for_renumbering->getMeasure(0)->getMeasureNumber(); m_new_measure_start_number = start_measure_number; } } void NedCommandList::execute(bool adjust /* = false */) { GList *lptr; #ifdef EXECUTE_DEBUG printf("NedCommandList::execute\n"); #endif for (lptr = g_list_first(m_commands); lptr; lptr = g_list_next(lptr)) { ((NedCommand*) lptr->data)->execute(adjust); } if (m_full_reposit) { m_main_window->setAllUnpositioned(); m_main_window->reposit(); } else { for (lptr = g_list_first(m_systems_for_reposit); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->m_is_positioned = false; m_main_window->reposit(NULL, ((NedSystem *) lptr->data)->getPage(), (NedSystem *) lptr->data); } } if (m_do_renumber) { if (m_start_system_for_renumbering != NULL) { m_main_window->renumberMeasures(m_start_system_for_renumbering, m_new_measure_start_number, m_force); } else { m_main_window->renumberMeasures(NULL, 1, m_force); } } if (m_do_renumber_pages) { m_main_window->renumberPages(); } m_main_window->repaint(); #ifdef EXECUTE_DEBUG printf("NedCommandList::execute END\n"); #endif } void NedCommandList::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("NedCommandList::unexecute\n"); #endif GList *lptr; for (lptr = g_list_last(m_commands); lptr; lptr = g_list_previous(lptr)) { ((NedCommand*) lptr->data)->unexecute(adjust); } if (m_do_renumber) { if (m_start_system_for_renumbering != NULL) { m_main_window->renumberMeasures(m_start_system_for_renumbering, m_old_measure_start_number, m_force); } else { m_main_window->renumberMeasures(NULL, 1, m_force); } } if (m_full_reposit) { m_main_window->setAllUnpositioned(); m_main_window->reposit(); } else { for (lptr = g_list_first(m_systems_for_reposit); lptr; lptr = g_list_next(lptr)) { ((NedSystem *) lptr->data)->m_is_positioned = false; m_main_window->reposit(NULL, ((NedSystem *) lptr->data)->getPage(), (NedSystem *) lptr->data); } } if (m_do_renumber_pages) { m_main_window->renumberPages(); } m_main_window->repaint(); #ifdef UNEXECUTE_DEBUG printf("NedCommandList::unexecute END\n"); #endif } void NedCommandList::executeAndSetBreak() { execute(); m_break = g_list_last(m_commands); } void NedCommandList::executeAfterBreakAndSetBreak() { GList *lptr; if (m_break == NULL) { execute(); m_break = g_list_last(m_commands); return; } for (lptr = g_list_next(m_break); lptr; lptr = g_list_next(lptr)) { ((NedCommand*) lptr->data)->execute(); } m_break = g_list_last(m_commands); } void NedCommandList::setBreak() { m_break = g_list_last(m_commands); } void NedCommandList::executeAfterBreak() { GList *lptr; if (m_break == NULL) { execute(); return; } for (lptr = g_list_next(m_break); lptr; lptr = g_list_next(lptr)) { ((NedCommand*) lptr->data)->execute(); } } void NedCommandList::addCommand(NedCommand *command) { m_commands = g_list_append(m_commands, command); } int NedCommandList::getNumberOfCommands() { return g_list_length(m_commands); } void NedCommandList::addCommandAndSetBreak(NedCommand *command) { m_commands = g_list_append(m_commands, command); m_break = g_list_last(m_commands); } nted-1.10.18/commands/fixintermediatecommand.cpp0000664001041000007640000000760411520267221016566 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "fixintermediatecommand.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" #include "beam.h" #include "staff.h" #include "voice.h" NedFixIntermediateCommand::NedFixIntermediateCommand(NedChordOrRest *chord) : m_chord(chord), m_stemheight_relevant(false), m_new_beam_y_offs_relevant(false), m_slope_offs_relevant(false), m_status_change_relevant(false) { if (chord->m_stemheight_copy > UNSET_STEM_HEIGHT) { m_stemheight_relevant = true; m_old_stemheight = chord->m_stemheight_copy; m_new_stemheight = chord->m_stem_height; } if (chord->m_beam_y_offs_copy > UNSET_STEM_HEIGHT) { m_new_beam_y_offs_relevant = true; m_old_beam_y_offs = chord->m_beam_y_offs_copy; m_new_beam_y_offs = chord->m_beam_y_offs; } if (chord->m_slope_offs_copy != UNSET_SLOPE_OFFS) { m_slope_offs_relevant = true; m_old_slope_offs = chord->m_slope_offs_copy; m_new_slope_offs = chord->m_slope_offs; } if (chord->m_status != chord->m_status_copy) { m_status_change_relevant = true; m_old_status = chord->m_status_copy; m_new_status = chord->m_status; } } void NedFixIntermediateCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedFixIntermediateCommand::execute\n"); #endif if (m_stemheight_relevant) { m_chord->m_stem_height = m_new_stemheight; } if (m_new_beam_y_offs_relevant) { m_chord->m_beam_y_offs = m_new_beam_y_offs; } if (m_slope_offs_relevant) { m_chord->m_slope_offs = m_new_slope_offs; } if (m_status_change_relevant) { m_chord->m_status = m_new_status; } if (m_chord->m_beam != NULL) { m_chord->m_beam->computeBeam(m_chord->getStaff()->getStaffNumber() * VOICE_COUNT + m_chord->getVoice()->getVoiceNumber()); } m_chord->xPositNotes(); m_chord->computeBbox(); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } else { // first call m_chord->m_stemheight_copy = UNSET_STEM_HEIGHT - 10.0; m_chord->m_beam_y_offs_copy = UNSET_STEM_HEIGHT - 10.0; m_chord->m_slope_offs_copy = UNSET_SLOPE_OFFS; } } void NedFixIntermediateCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedFixIntermediateCommand::unexecute\n"); #endif if (m_stemheight_relevant) { m_chord->m_stem_height = m_old_stemheight; } if (m_new_beam_y_offs_relevant) { m_chord->m_beam_y_offs = m_old_beam_y_offs; } if (m_slope_offs_relevant) { m_chord->m_slope_offs = m_old_slope_offs; } if (m_status_change_relevant) { m_chord->m_status = m_old_status; } if (m_chord->m_beam != NULL) { m_chord->m_beam->computeBeam(m_chord->getStaff()->getStaffNumber() * VOICE_COUNT + m_chord->getVoice()->getVoiceNumber()); } m_chord->xPositNotes(); m_chord->computeBbox(); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } nted-1.10.18/commands/changeaccidentalcmd.h0000664001041000007640000000331311520267221015425 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_ACCIDENTAL_COMMAND_H #define CHANGE_ACCIDENTAL_COMMAND_H #include "config.h" #include "command.h" class NedNote; class NedChangeAccidentalCommand : public NedCommand { public: NedChangeAccidentalCommand(NedNote *note, unsigned int newstatus, int newline); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedNote *m_note; unsigned int m_newstatus; unsigned int m_oldstatus; int m_old_line, m_new_line; }; #endif /* CHANGE_ACCIDENTAL_COMMAND_H */ nted-1.10.18/commands/changexpositioncommand.cpp0000664001041000007640000000726411520267221016611 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changexpositioncommand.h" #include "chordorrest.h" #include "system.h" #include "mainwindow.h" #include "tuplet.h" #include "resource.h" NedChangeXPositionCommand::NedChangeXPositionCommand(GList **chord_an_rest_list, NedChordOrRest *sibling_chord_or_rest, NedChordOrRest *chord_or_rest, bool before) : m_chord_an_rest_list(chord_an_rest_list), m_sibling_chord_or_rest(sibling_chord_or_rest), m_chord_or_rest(chord_or_rest), m_before(before) { m_tuplet = chord_or_rest->getTupletPtr(); } void NedChangeXPositionCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeXPositionCommand::execute\n"); #endif GList *lptr, *sibling; if ((lptr = g_list_find(*m_chord_an_rest_list, m_chord_or_rest)) == NULL) { NedResource::Abort("NedChangeXPositionCommand::execute(1)"); } if ((m_from_pos = g_list_index(*m_chord_an_rest_list, m_chord_or_rest)) < 0) { NedResource::Abort("NedChangeXPositionCommand::execute(2)"); } if ((sibling = g_list_find(*m_chord_an_rest_list, m_sibling_chord_or_rest)) == NULL) { NedResource::Abort("NedChangeXPositionCommand::execute(3)"); } *m_chord_an_rest_list = g_list_delete_link(*m_chord_an_rest_list, lptr); if (m_before) { *m_chord_an_rest_list = g_list_insert_before(*m_chord_an_rest_list, sibling, m_chord_or_rest); } else { int idx = g_list_index(*m_chord_an_rest_list, m_sibling_chord_or_rest); if (idx < 0) { NedResource::Abort("NedChangeXPositionCommand::execute(4)"); } *m_chord_an_rest_list = g_list_insert(*m_chord_an_rest_list, m_chord_or_rest, idx + 1); } if (m_tuplet != NULL) { m_tuplet->reconfigureLast(); } m_chord_or_rest->getMainWindow()->reposit(NULL, m_chord_or_rest->getPage(), m_chord_or_rest->getSystem()); if (adjust) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } void NedChangeXPositionCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedChangeXPositionCommand::unexecute\n"); #endif GList *lptr; if ((lptr = g_list_find(*m_chord_an_rest_list, m_chord_or_rest)) == NULL) { NedResource::Abort("NedChangeXPositionCommand::unexecute(1)"); } *m_chord_an_rest_list = g_list_delete_link(*m_chord_an_rest_list, lptr); *m_chord_an_rest_list = g_list_insert(*m_chord_an_rest_list, m_chord_or_rest, m_from_pos); if (m_tuplet != NULL) { m_tuplet->reconfigureLast(); } m_chord_or_rest->getMainWindow()->reposit(NULL, m_chord_or_rest->getPage(), m_chord_or_rest->getSystem()); if (adjust) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } nted-1.10.18/commands/changelyricscommand.h0000664001041000007640000000337511520267221015526 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_LYRICS_COMMAND_H #define CHANGE_LYRICS_COMMAND_H #include "config.h" #include "command.h" #include class NedChordOrRest; class NedPangoCairoText; class NedChangeLyricsCommand : public NedCommand { public: NedChangeLyricsCommand(NedChordOrRest *chord, int line, NedPangoCairoText *new_lyrics); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedChordOrRest *m_chord; NedPangoCairoText *m_old_lyrics; NedPangoCairoText *m_new_lyrics; int m_line; }; #endif /* CHANGE_LYRICS_COMMAND_H */ nted-1.10.18/commands/notemoverelativecommand.h0000664001041000007640000000315511520267221016437 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef NOTEMOVERELATIVECOMMAND_H #define NOTEMOVERELATIVECOMMAND_H #include "config.h" #include "command.h" class NedNote; class NedMoveNoteRelativeCommand : public NedCommand { public: NedMoveNoteRelativeCommand(NedNote *note, int dist); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedNote *m_note; int m_from; int m_to; }; #endif /* NOTEMOVERELATIVECOMMAND_H*/ nted-1.10.18/commands/movechordsandrestscommand.cpp0000664001041000007640000000332411520267221017315 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "movechordsandrestscommand.h" #include "clipboard.h" NedMoveChordsAndRestsCommand::NedMoveChordsAndRestsCommand(NedClipBoard *board) : m_board(board) {} void NedMoveChordsAndRestsCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedMoveChordsAndRestsCommand::execute\n"); #endif m_board->execute(adjust); } void NedMoveChordsAndRestsCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedMoveChordsAndRestsCommand::unexecute\n"); #endif m_board->unexecute(adjust); } nted-1.10.18/commands/movespecmeasurecommand.cpp0000664001041000007640000002037611520267221016611 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "movespecmeasurecommand.h" NedMoveSpecMeasureCommand::NedMoveSpecMeasureCommand(NedMainWindow *main_window, int measnum, int dir) : m_main_window(main_window), m_src_measure_num(measnum), m_src_measure_exists(false), m_dest_measure_exists(false), m_dir(dir) { GList *lptr; bool found = false; m_dest_measure_num = measnum + dir; for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_src_measure_num) { found = true; m_orig_src_measure = (*((SpecialMeasure *) lptr->data)); if ((((SpecialMeasure *) lptr->data)->type & (~(REP1START | REP2END))) != 0) { m_copy_src_measure = (*((SpecialMeasure *) lptr->data)); m_copy_src_measure.type &=(~(REP1START | REP2END)); m_src_measure_exists = true; } } } if (!found) { NedResource::Abort("NedMoveSpecMeasureCommand::NedMoveSpecMeasureCommand"); } for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_dest_measure_num) { m_orig_dest_measure = (*((SpecialMeasure *) lptr->data)); m_copy_dest_measure = (*((SpecialMeasure *) lptr->data)); m_copy_dest_measure.type |= (m_orig_src_measure.type & (REP1START | REP2END)); m_copy_dest_measure.measure_number = measnum + dir; m_dest_measure_exists = true; } } } void NedMoveSpecMeasureCommand::execute(bool adjust /* = false */) { GList *lptr; SpecialMeasure *tmp; #ifdef EXECUTE_DEBUG printf("\tNedMoveSpecMeasureCommand::execute\n"); #endif if (m_dest_measure_exists && m_src_measure_exists) { for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_src_measure_num) { break; } } if (lptr == NULL) { NedResource::Abort("NedMoveSpecMeasureCommand::execute(1)"); } (*(SpecialMeasure *) lptr->data) = m_copy_src_measure; for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_dest_measure_num) { break; } } if (lptr == NULL) { NedResource::Abort("NedMoveSpecMeasureCommand::execute(2)"); } (*(SpecialMeasure *) lptr->data) = m_copy_dest_measure; return; } if (m_src_measure_exists && !m_dest_measure_exists) { for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_src_measure_num) { break; } } if (lptr == NULL) { NedResource::Abort("NedMoveSpecMeasureCommand::execute(3)"); } tmp = new SpecialMeasure(); *tmp = (*(SpecialMeasure *) lptr->data); tmp->type = m_copy_src_measure.type; ((SpecialMeasure *) lptr->data)->measure_number += m_dir; ((SpecialMeasure *) lptr->data)->type &= (REP1START | REP2END); m_main_window->m_special_measures = g_list_insert_sorted(m_main_window->m_special_measures, tmp, (GCompareFunc ) SpecialMeasure::compare_spec_measures); return; } if (!m_src_measure_exists && m_dest_measure_exists) { for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_src_measure_num) { break; } } if (lptr == NULL) { NedResource::Abort("NedMoveSpecMeasureCommand::execute(4)"); } delete (SpecialMeasure *) lptr->data; m_main_window->m_special_measures = g_list_delete_link(m_main_window->m_special_measures, lptr); for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_dest_measure_num) { break; } } if (lptr == NULL) { NedResource::Abort("NedMoveSpecMeasureCommand::execute(5)"); } (*((SpecialMeasure *) lptr->data)) = m_copy_dest_measure; return; } for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_src_measure_num) { ((SpecialMeasure *) lptr->data)->measure_number += m_dir; break; } } if (lptr == NULL) { NedResource::Abort("NedMoveSpecMeasureCommand::execute(6)"); } } void NedMoveSpecMeasureCommand::unexecute(bool adjust /* = false */) { GList *lptr; SpecialMeasure *tmp; #ifdef UNEXECUTE_DEBUG printf("\tNedMoveSpecMeasureCommand::unexecute\n"); #endif if (m_dest_measure_exists && m_src_measure_exists) { for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_src_measure_num) { break; } } if (lptr == NULL) { NedResource::Abort("NedMoveSpecMeasureCommand::unexecute(1)"); } (*(SpecialMeasure *) lptr->data) = m_orig_src_measure; for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_dest_measure_num) { break; } } if (lptr == NULL) { NedResource::Abort("NedMoveSpecMeasureCommand::unexecute(2)"); } (*(SpecialMeasure *) lptr->data) = m_orig_dest_measure; return; } if (m_src_measure_exists && !m_dest_measure_exists) { for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_src_measure_num) { break; } } if (lptr == NULL) { NedResource::Abort("NedMoveSpecMeasureCommand::unexecute(4)"); } delete (SpecialMeasure *) lptr->data; m_main_window->m_special_measures = g_list_delete_link(m_main_window->m_special_measures, lptr); for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_dest_measure_num) { break; } } if (lptr == NULL) { NedResource::Abort("NedMoveSpecMeasureCommand::unexecute(5)"); } (*((SpecialMeasure *) lptr->data)) = m_orig_src_measure; return; } if (!m_src_measure_exists && m_dest_measure_exists) { for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_dest_measure_num) { break; } } if (lptr == NULL) { NedResource::Abort("NedMoveSpecMeasureCommand::unexecute(6)"); } (*((SpecialMeasure *) lptr->data)) = m_orig_dest_measure; tmp = new SpecialMeasure(); *tmp = m_orig_src_measure; m_main_window->m_special_measures = g_list_insert_sorted(m_main_window->m_special_measures, tmp, (GCompareFunc ) SpecialMeasure::compare_spec_measures); return; } for (lptr = g_list_first(m_main_window->m_special_measures); lptr; lptr = g_list_next(lptr)) { // friend !! if (((SpecialMeasure *) lptr->data)->measure_number == m_dest_measure_num) { ((SpecialMeasure *) lptr->data)->measure_number -= m_dir; break; } } if (lptr == NULL) { NedResource::Abort("NedMoveSpecMeasureCommand::unexecute(7)"); } } nted-1.10.18/commands/inserttiedelementcommand.h0000664001041000007640000000344011520267221016570 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef INSERT_TIED_ELEMENT_COMMAND_H #define INSERT_TIED_ELEMENT_COMMAND_H #include "config.h" #include "command.h" class NedChordOrRest; class NedVoice; class NedInsertTiedElementCommand : public NedCommand { public: NedInsertTiedElementCommand(NedVoice *voice, NedChordOrRest *chord_or_rest, unsigned int len, int dotcount); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedChordOrRest *m_chord_or_rest, *m_new_chord_or_rest; NedVoice *m_voice; unsigned int m_length; }; #endif /* CINSERT_TIED_ELEMENT_COMMAND_HHANGE_CHORD_OR_REST_LENGTH_H */ nted-1.10.18/commands/changemeasuretypecommand.h0000664001041000007640000000345211520267221016560 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_MEASURE_TYPE_COMMAND_H #define CHANGE_MEASURE_TYPE_COMMAND_H #include "config.h" #include "command.h" #include class NedMainWindow; class NedChangeMeasureTypeCommand : public NedCommand { public: NedChangeMeasureTypeCommand(NedMainWindow *main_window, int measnum, int mtype, bool hide_following); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; int m_measnum; int m_mtype; int m_old_mtype; bool m_hide_following; bool m_old_hide_following; }; #endif /* CHANGE_MEASURE_TYPE_COMMAND_H */ nted-1.10.18/commands/removefreeplaceablecommand.h0000664001041000007640000000335011520267221017034 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef REMOVE_FREE_REPLACEABLE_H #define REMOVE_FREE_REPLACEABLE_H #include "config.h" #include "command.h" #include class NedFreeReplaceable; class NedChordOrRest; class NedRemoveFreePlaceableCommand : public NedCommand { public: NedRemoveFreePlaceableCommand(NedFreeReplaceable *freereplaceable); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedFreeReplaceable *m_freereplaceable; NedChordOrRest *m_chord_or_rest; double m_x, m_y; }; #endif /* REMOVE_FREE_REPLACEABLE_H */ nted-1.10.18/commands/changetie.h0000664001041000007640000000306211520267221013434 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_TIE_H #define CHANGE_TIE_H #include "config.h" #include "command.h" class NedNote; class NedChangeTieCommand : public NedCommand { public: NedChangeTieCommand(NedNote *note, double offs); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedNote *m_note; double m_offs; }; #endif /* CHANGE_TIE_H */ nted-1.10.18/commands/notemoverelativecommand.cpp0000664001041000007640000000420411520267221016766 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "notemoverelativecommand.h" #include "note.h" #include "chordorrest.h" #include "mainwindow.h" NedMoveNoteRelativeCommand::NedMoveNoteRelativeCommand(NedNote *note, int dist) : m_note(note) { m_from = note->getLine(); m_to = m_from + dist; } void NedMoveNoteRelativeCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedMoveNoteRelativeCommand::execute\n"); #endif m_note->moveUpDown(m_to); m_note->getChord()->reConfigure(); m_note->getChord()->xPositNotes(); m_note->getChord()->computeBbox(); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } void NedMoveNoteRelativeCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedMoveNoteRelativeCommand::unexecute\n"); #endif m_note->moveUpDown(m_from); m_note->getChord()->reConfigure(); m_note->getChord()->xPositNotes(); m_note->getChord()->computeBbox(); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } nted-1.10.18/commands/insertstaffelemcommand.cpp0000664001041000007640000000622111520267221016572 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "insertstaffelemcommand.h" #include "staff.h" #include "chordorrest.h" #include "resource.h" #include "mainwindow.h" NedInsertStaffElemCommand::NedInsertStaffElemCommand(NedChordOrRest *staffelem, int clef_number_so_far, int octave_shift_so_far, NedStaff *staff, bool do_adjust) : m_staff(staff), m_staff_elem(staffelem), m_line_dist(0), m_do_adjust(do_adjust) { m_staff_nr = staff->getStaffNumber(); if (m_staff_elem->getType() & (TYPE_CLEF)) { m_line_dist = NedResource::getClefDist(clef_number_so_far, octave_shift_so_far, m_staff_elem->getLength() /* clef_number */, m_staff_elem->getDotCount() /* octave_shift */); } } void NedInsertStaffElemCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedInsertStaffElemCommand::execute\n"); #endif if (m_do_adjust && m_staff_elem->getType() == TYPE_KEYSIG) { m_staff->getMainWindow()->setInternalPitches(); } m_staff->insertStaffElement(m_staff_elem); if (m_do_adjust && m_staff_elem->getType() == TYPE_KEYSIG) { m_staff->getMainWindow()->adjustAccidentals(m_staff_nr); } else if (m_do_adjust && (m_staff_elem->getType() & (TYPE_CLEF | TYPE_STAFF_SIGN))) { m_staff->getMainWindow()->shiftNotes(m_staff_elem->getMidiTime(), m_line_dist, m_staff->getPage(), m_staff->getSystem(), m_staff->getStaffNumber()); } } void NedInsertStaffElemCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedInsertStaffElemCommand::unexecute\n"); #endif if (m_do_adjust && m_staff_elem->getType() == TYPE_KEYSIG) { m_staff->getMainWindow()->setInternalPitches(); } m_staff->removeStaffElement(m_staff_elem); if (m_do_adjust && m_staff_elem->getType() == TYPE_KEYSIG) { m_staff->getMainWindow()->adjustAccidentals(m_staff_nr); } else if (m_do_adjust && (m_staff_elem->getType() & (TYPE_CLEF | TYPE_STAFF_SIGN))) { m_staff->getMainWindow()->shiftNotes(m_staff_elem->getMidiTime(), -m_line_dist, m_staff->getPage(), m_staff->getSystem(), m_staff->getStaffNumber()); } } nted-1.10.18/commands/changetimsigcommand.cpp0000664001041000007640000000531611520267221016045 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changetimsigcommand.h" #include "mainwindow.h" #include "resource.h" NedChangeTimeSigCommand::NedChangeTimeSigCommand(NedMainWindow *main_window, int newnum, int newdenom, unsigned int newsymbol) : m_main_window(main_window), m_new_num(newnum), m_new_denom(newdenom), m_new_symbol(newsymbol) { unsigned int duration = m_main_window->m_numerator * WHOLE_NOTE / m_main_window->m_denominator; if (duration == m_new_num * WHOLE_NOTE / m_new_denom) { m_new_upbeat_inverse = m_main_window->m_upbeat_inverse; } else { m_new_upbeat_inverse = 0; } } void NedChangeTimeSigCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeTimeSigCommand::execute\n"); #endif m_old_num = m_main_window->m_numerator; m_old_denom = m_main_window->m_denominator; m_old_symbol = m_main_window->m_timesig_symbol; m_old_upbeat_inverse = m_main_window->m_upbeat_inverse; // friend !! m_main_window->m_numerator = m_new_num; // friend !! m_main_window->m_denominator = m_new_denom; // friend !! m_main_window->m_timesig_symbol = m_new_symbol; // friend !! m_main_window->m_upbeat_inverse = m_new_upbeat_inverse; // friend !! } void NedChangeTimeSigCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\ttNedChangeTimeSigCommand::unexecute\n"); #endif m_main_window->m_numerator = m_old_num; // friend !! m_main_window->m_denominator = m_old_denom; // friend !! m_main_window->m_timesig_symbol = m_old_symbol; // friend !! m_main_window->m_upbeat_inverse = m_old_upbeat_inverse; // friend !! } nted-1.10.18/commands/getsystemfromnextpagecmmand.h0000664001041000007640000000352011520267221017330 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef GET_SYSTEM_FROM_NEXT_PAGE_COMMAND_H #define GET_SYSTEM_FROM_NEXT_PAGE_COMMAND_H #include "config.h" #include "command.h" #include class NedSystem; class NedPage; class NedGetSystemFromNextPageCommand : public NedCommand { public: NedGetSystemFromNextPageCommand(GList *system_ptr, NedPage *page, NedPage *other_page); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: GList **m_systems_ptr; GList **m_other_systems_ptr; GList *m_system_ptr; NedPage *m_page; NedPage *m_other_page; NedSystem *m_system; int m_position; }; #endif /* GET_SYSTEM_FROM_NEXT_PAGE_COMMAND_H */ nted-1.10.18/commands/changemeasuretimsigcommand.cpp0000664001041000007640000000426011520267221017424 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changemeasuretimsigcommand.h" #include "mainwindow.h" #include "resource.h" NedChangeMeasureTimeSignatureCommand::NedChangeMeasureTimeSignatureCommand(NedMainWindow *main_window, int measnum, int newnum, int newdenom, unsigned int newsym) : m_main_window(main_window), m_measnum(measnum), m_new_num(newnum), m_new_denom(newdenom), m_new_symbol(newsym) {} void NedChangeMeasureTimeSignatureCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeMeasureTimeSignatureCommand::execute\n"); #endif m_main_window->setSpecialTimesig(m_measnum, m_new_num, m_new_denom, m_new_symbol, &m_old_num, &m_old_denom, &m_old_symbol); // !! friend } void NedChangeMeasureTimeSignatureCommand::unexecute(bool adjust /* = false */) { int dummy; unsigned int dummy2; #ifdef UNEXECUTE_DEBUG printf("\ttNedChangeMeasureTimeSignatureCommand::unexecute\n"); #endif m_main_window->setSpecialTimesig(m_measnum, m_old_num, m_old_denom, m_old_symbol, &dummy, &dummy, &dummy2); // !! friend } nted-1.10.18/commands/movespecmeasurecommand.h0000664001041000007640000000355111520267221016252 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef MOVE_SPEC_MEASURE_COMMAND_H #define MOVE_SPEC_MEASURE_COMMAND_H #include "config.h" #include "command.h" #include "mainwindow.h" class NedMoveSpecMeasureCommand : public NedCommand { public: NedMoveSpecMeasureCommand(NedMainWindow *main_window, int measnum, int dir); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; int m_src_measure_num, m_dest_measure_num; SpecialMeasure m_orig_src_measure, m_copy_src_measure; SpecialMeasure m_orig_dest_measure, m_copy_dest_measure; bool m_src_measure_exists, m_dest_measure_exists; int m_dir; }; #endif /* MOVE_SPEC_MEASURE_COMMAND_H */ nted-1.10.18/commands/ereasenotecommand.h0000664001041000007640000000316511520267221015202 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef EREASE_NOTE_COMMAND_H #define EREASE_NOTE_COMMAND_H #include "config.h" #include "command.h" #include class NedNote; class NedEreaseNoteCommand : public NedCommand { public: NedEreaseNoteCommand(GList **notes, GList *ptr); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: GList **m_notes; NedNote *m_note; int m_pos; }; #endif /* EREASE_NOTE_COMMAND_H */ nted-1.10.18/commands/changestaffkeysigcmd.h0000664001041000007640000000336611520267221015665 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_STAFF_KEYSIG_COMMAND_H #define CHANGE_STAFF_KEYSIG_COMMAND_H #include "config.h" #include "command.h" #include class NedMainWindow; class NedChangeStaffKeysigCmd : public NedCommand { public: NedChangeStaffKeysigCmd(NedMainWindow *main_window, int staff_number, int newkey, bool do_adjust); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; int m_oldkey, m_newkey, m_staff_number; bool m_do_adjust; }; #endif /* CHANGE_STAFF_KEYSIG_COMMAND_H */ nted-1.10.18/commands/changespacement.cpp0000664001041000007640000000362411520267221015171 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changespacement.h" #include "mainwindow.h" NedChangeSpacementCommand::NedChangeSpacementCommand(NedMainWindow *main_window, double newspacement) : m_main_window(main_window), m_new_spacement(newspacement) { m_old_spacement = main_window->m_global_spacement_fac; // !! friend } void NedChangeSpacementCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeSpacementCommand::execute\n"); #endif m_main_window->realizeNewSpacement(m_new_spacement); // !! friend } void NedChangeSpacementCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedChangeSpacementCommand::unexecute\n"); #endif m_main_window->realizeNewSpacement(m_old_spacement); // !! friend } nted-1.10.18/commands/deletesystemcommand.cpp0000664001041000007640000000456511520267221016117 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "deletesystemcommand.h" #include "page.h" #include "resource.h" #include "system.h" NedDeleteSystemCommand::NedDeleteSystemCommand(NedSystem *system) : m_system(system) { m_page = m_system->getPage(); if ((m_systems_pointer = g_list_find(m_page->m_systems, system)) == NULL) { NedResource::Abort("NedDeleteSystemCommand::NedDeleteSystemCommand(1)"); } if ((m_position = g_list_index(m_page->m_systems, system)) < 0) { NedResource::Abort("NedDeleteSystemCommand::NedDeleteSystemCommand(2)"); } } void NedDeleteSystemCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedDeleteSystemCommand::execute\n"); #endif m_page->m_systems = g_list_delete_link(m_page->m_systems, m_systems_pointer); /* if (adjust) { m_page->placeStaffs(1); } */ } void NedDeleteSystemCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedDeleteSystemCommand::unexecute\n"); #endif m_page->m_systems = g_list_insert(m_page->m_systems, m_system, m_position); if ((m_systems_pointer = g_list_find(m_page->m_systems, m_system)) == NULL) { NedResource::Abort("NedDeleteSystemCommand::unexecute"); } /* if (adjust) { m_page->placeStaffs(1); } */ } nted-1.10.18/commands/removepagecommand.h0000664001041000007640000000324111520267221015175 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef REMOVE_PAGE_COMMAND_H #define REMOVE_PAGE_COMMAND_H #include "config.h" #include "command.h" #include class NedPage; class NedMainWindow; class NedRemovePageCommand : public NedCommand { public: NedRemovePageCommand(NedMainWindow *main_window, NedPage *page); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedPage *m_removed_page; NedMainWindow *m_main_window; }; #endif /* REMOVE_PAGE_COMMAND_H */ nted-1.10.18/commands/appendstaffcommand.h0000664001041000007640000000317011520267221015337 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef APPEND_STAFF_COMMAND_H #define APPEND_STAFF_COMMAND_H #include "config.h" #include "command.h" class NedStaff; class NedSystem; class NedAppendStaffCommand : public NedCommand { public: NedAppendStaffCommand(NedSystem *system, NedStaff *staff); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedSystem *m_system; NedStaff *m_staff; }; #endif /* APPEND_STAFF_COMMAND_H */ nted-1.10.18/commands/appendsystemcommand.h0000664001041000007640000000330111520267221015554 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef APPEND_SYSTEM_COMMAND_H #define APPEND_SYSTEM_COMMAND_H #include "config.h" #include "command.h" #include class NedSystem; class NedPage; class NedAppendSystemCommand : public NedCommand { public: NedAppendSystemCommand(NedPage *page); ~NedAppendSystemCommand(); NedSystem *getSystem() {return m_system;} virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedPage *m_page; NedSystem *m_system; }; #endif /* APPEND_SYSTEM_COMMAND_H */ nted-1.10.18/commands/changenotestatus.cpp0000664001041000007640000000404011520267221015414 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changenotestatus.h" #include "note.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" NedChangeNoteStatusCommand::NedChangeNoteStatusCommand(NedNote *note, unsigned int newstatus) : m_note(note), m_newstatus(newstatus) { m_oldstatus = note->getStatus(); } void NedChangeNoteStatusCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeNoteStatusCommand::execute\n"); #endif m_note->setStatus(m_newstatus); m_note->getChord()->computeBbox(); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } void NedChangeNoteStatusCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedChangeNoteStatusCommand::unexecute\n"); #endif m_note->setStatus(m_oldstatus); m_note->getChord()->computeBbox(); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } nted-1.10.18/commands/flipvaluescommand.h0000664001041000007640000000324411520267221015220 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef FLIP_VALUES_CMD_H #define FLIP_VALUES_CMD_H #include "config.h" #include "command.h" class NedChordOrRest; class NedFlipValuesCommand : public NedCommand { public: NedFlipValuesCommand(NedChordOrRest *chord); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedChordOrRest *m_chord; double m_new_beam_y_offs; double m_old_beam_y_offs; int m_new_slope_offs; int m_old_slope_offs; }; #endif /* FLIP_VALUES_CMD_H */ nted-1.10.18/commands/appendstaffcommand.cpp0000664001041000007640000000332511520267221015674 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "appendstaffcommand.h" #include "system.h" NedAppendStaffCommand::NedAppendStaffCommand(NedSystem *system, NedStaff *staff) : m_system(system), m_staff(staff) { } void NedAppendStaffCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedAppendStaffCommand::execute\n"); #endif m_system->do_append_staff(m_staff); } void NedAppendStaffCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedAppendStaffCommand::unexecute\n"); #endif m_system->do_remove_staff(m_staff); } nted-1.10.18/commands/notemovecommand.cpp0000664001041000007640000000417011520267221015234 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "notemovecommand.h" #include "note.h" #include "chordorrest.h" #include "mainwindow.h" NedNoteMoveCommand::NedNoteMoveCommand(NedNote *note, int from, int to) : m_note(note), m_from(from), m_to(to) {} NedNoteMoveCommand::~NedNoteMoveCommand() { printf("~NedNoteMoveCommand()\n"); fflush(stdout); } void NedNoteMoveCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedNoteMoveCommand::execute\n"); #endif m_note->moveUpDown(m_to); m_note->getChord()->reConfigure(); m_note->getChord()->xPositNotes(); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } void NedNoteMoveCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedNoteMoveCommand::unexecute\n"); #endif m_note->moveUpDown(m_from); m_note->getChord()->reConfigure(); m_note->getChord()->xPositNotes(); m_note->getChord()->computeBbox(); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } nted-1.10.18/commands/movechordsandrestsreversecommand.cpp0000664001041000007640000000342511520267221020713 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "movechordsandrestsreversecommand.h" #include "clipboard.h" NedMoveChordsAndRestsReverseCommand::NedMoveChordsAndRestsReverseCommand(NedClipBoard *board) : m_board(board) {} void NedMoveChordsAndRestsReverseCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedMoveChordsAndRestsReverseCommand::execute\n"); #endif m_board->execute_reverse(adjust); } void NedMoveChordsAndRestsReverseCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedMoveChordsAndRestsReverseCommand::unexecute\n"); #endif m_board->unexecute_reverse(adjust); } nted-1.10.18/commands/deletestaffcommand.h0000664001041000007640000000344011520267221015332 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef DELETE_STAFF_COMMAND_H #define DELETE_STAFF_COMMAND_H #include "config.h" #include "command.h" #include "mainwindow.h" #include class NedPage; class NedDeleteStaffCommand : public NedCommand { public: NedDeleteStaffCommand(NedMainWindow *main_window, int staff_number); ~NedDeleteStaffCommand(); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; struct staff_context_str m_staff_context; int m_staff_number; unsigned int *m_staff_flags; int m_num_staffs; }; #endif /* DELETE_STAFF_COMMAND_H */ nted-1.10.18/commands/restmovecommand.h0000664001041000007640000000314211520267221014707 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef RESTMOVECOMMAND_H #define RESTMOVECOMMAND_H #include "config.h" #include "command.h" class NedChordOrRest; class NedRestMoveCommand : public NedCommand { public: NedRestMoveCommand(NedChordOrRest *rest, int from, int to); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedChordOrRest *m_rest; int m_from; int m_to; }; #endif /* RESTMOVECOMMAND_H */ nted-1.10.18/commands/deletesystemcommand.h0000664001041000007640000000325211520267221015554 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef DELETE_SYSTEM_COMMAND_H #define DELETE_SYSTEM_COMMAND_H #include "config.h" #include "command.h" #include class NedSystem; class NedPage; class NedDeleteSystemCommand : public NedCommand { public: NedDeleteSystemCommand(NedSystem *system); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedSystem *m_system; NedPage *m_page; GList *m_systems_pointer; int m_position; }; #endif /* DELETE_SYSTEM_COMMAND_H */ nted-1.10.18/commands/untieforwardcommand.h0000664001041000007640000000315711520267221015562 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef UN_TIE_FORWARD_COMMAND_H #define UN_TIE_FORWARD_COMMAND_H #include "config.h" #include "command.h" #include class NedNote; class NedUnTieForwardCommand : public NedCommand { public: NedUnTieForwardCommand(NedNote *note0, NedNote *note1); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedNote *m_note0, *m_note1; }; #endif /* UN_TIE_FORWARD_COMMAND_H */ nted-1.10.18/commands/insertfreeplaceablecommand.cpp0000664001041000007640000000404211520267221017375 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "insertfreeplaceablecommand.h" #include "chordorrest.h" #include "mainwindow.h" #include "freereplaceable.h" #include "chordorrest.h" #include "resource.h" NedInsertFreePlaceableCommand::NedInsertFreePlaceableCommand(NedFreeReplaceable *freereplaceable, NedChordOrRest *chord_or_rest, double x, double y) : m_freereplaceable(freereplaceable), m_chord_or_rest(chord_or_rest), m_x(x), m_y(y) {} void NedInsertFreePlaceableCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedInsertFreePlaceableCommand::execute\n"); #endif m_freereplaceable->setElement(m_chord_or_rest); m_freereplaceable->setXY(m_x, m_y, false); } void NedInsertFreePlaceableCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedInsertFreePlaceableCommand::unexecute\n"); #endif m_freereplaceable->freeFromElement(); // friend!! } nted-1.10.18/commands/tienotescommand.cpp0000664001041000007640000000400611520267221015230 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "tienotescommand.h" #include "note.h" #include "mainwindow.h" #include "resource.h" NedTieNotesCommand::NedTieNotesCommand(NedNote *note0, NedNote* note1) : m_note0(note0), m_note1(note1) {m_tie_offs = m_note0->m_tie_offs;} void NedTieNotesCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedTieNotesCommand::execute\n"); #endif m_note0->setTieForward(m_note1); m_note1->setTieBackward(m_note0); m_note0->m_tie_offs = 0.0; if (adjust) { m_note0->getMainWindow()->setVisible(m_note0); } } void NedTieNotesCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedTieNotesCommand::unexecute\n"); #endif m_note0->setTieForward(NULL); m_note1->setTieBackward(NULL); m_note0->m_tie_offs = m_tie_offs; if (adjust) { m_note0->getMainWindow()->setVisible(m_note0); } } nted-1.10.18/commands/ereasenotecommand.cpp0000664001041000007640000000456211520267221015537 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "ereasenotecommand.h" #include "note.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" NedEreaseNoteCommand::NedEreaseNoteCommand(GList **notes, GList *ptr) : m_notes(notes) { if ((m_pos = g_list_position(*m_notes, ptr)) < 0) { NedResource::Abort("NedEreaseNoteCommand"); } m_note = ((NedNote *) ptr->data); } void NedEreaseNoteCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedEreaseNoteCommand::execute\n"); #endif GList *lptr; if ((lptr = g_list_nth(*m_notes, m_pos)) == NULL) { NedResource::Abort("NedEreaseNoteCommand::execute"); } *m_notes = g_list_delete_link(*m_notes, lptr); m_note->getChord()->reConfigure(); m_note->getChord()->xPositNotes(); m_note->getChord()->computeBbox(); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } void NedEreaseNoteCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedEreaseNoteCommand::unexecute\n"); #endif *m_notes = g_list_insert(*m_notes, m_note, m_pos); m_note->getChord()->reConfigure(); m_note->getChord()->xPositNotes(); m_note->getChord()->computeBbox(); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } nted-1.10.18/commands/transposecommand.cpp0000664001041000007640000000440111520267221015413 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "transposecommand.h" #include "resource.h" #include "mainwindow.h" NedTransposeCommand::NedTransposeCommand(NedMainWindow *main_window, int pitchdist ,int staff_count, bool *staff_list, GList *selected_group) : m_main_window(main_window), m_pitch_dist(pitchdist), m_selected_group(NULL) { GList *lptr; if ((m_staff_list = (bool *) g_try_malloc(staff_count * sizeof(bool))) == NULL) { NedResource::Abort("g_try_malloc error\n"); } memcpy(m_staff_list, staff_list, staff_count * sizeof(bool)); for (lptr = g_list_first(selected_group); lptr; lptr = g_list_next(lptr)) { m_selected_group = g_list_append(m_selected_group, lptr->data); } } void NedTransposeCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedTransposeCommand::execute\n"); #endif m_main_window->do_transpose(m_pitch_dist, m_staff_list, m_selected_group); } void NedTransposeCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedTransposeCommand::unexecute\n"); #endif m_main_window->do_transpose(-m_pitch_dist, m_staff_list, m_selected_group); } nted-1.10.18/commands/notemovecommand.h0000664001041000007640000000315611520267221014704 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef NOTEMOVECOMMAND_H #define NOTEMOVECOMMAND_H #include "config.h" #include "command.h" class NedNote; class NedNoteMoveCommand : public NedCommand { public: NedNoteMoveCommand(NedNote *note, int from, int to); virtual ~NedNoteMoveCommand(); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedNote *m_note; int m_from; int m_to; }; #endif /* NOTEMOVECOMMAND_H*/ nted-1.10.18/commands/removepagecommand.cpp0000664001041000007640000000426511520267221015537 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "removepagecommand.h" #include "page.h" #include "mainwindow.h" #include "resource.h" NedRemovePageCommand::NedRemovePageCommand(NedMainWindow *main_window, NedPage *page) : m_removed_page(page), m_main_window(main_window) {} void NedRemovePageCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedRemovePageCommand::execute\n"); #endif GList *lptr; if ((lptr = g_list_find(m_main_window->m_pages, m_removed_page)) == NULL) { // friend !! NedResource::Abort("NedAppendNewPageCommand::execute"); } m_main_window->m_pages = g_list_delete_link(m_main_window->m_pages, lptr); m_main_window->setAndUpdateClefTypeAndKeySig(); m_main_window->updatePageCounter(); } void NedRemovePageCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedRemovePageCommand::unexecute\n"); #endif m_main_window->m_pages = g_list_append(m_main_window->m_pages, m_removed_page); m_main_window->setAndUpdateClefTypeAndKeySig(); m_main_window->updatePageCounter(); } nted-1.10.18/commands/insertchordorrestcommand.cpp0000664001041000007640000000543411520267221017167 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "insertchordorrestcommand.h" #include "voice.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" #include "system.h" NedInsertChordOrRestCommand::NedInsertChordOrRestCommand(NedVoice *voice, int pos, NedChordOrRest *chord_or_rest) : m_voice(voice), m_pos(pos), m_adjustable(true), m_chord_or_rest(chord_or_rest) {} void NedInsertChordOrRestCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedInsertChordOrRestCommand::execute\n"); #endif if (m_pos < 0) { m_voice->m_chord_or_rests = g_list_append(m_voice->m_chord_or_rests, m_chord_or_rest); // friend !! } else { m_voice->m_chord_or_rests = g_list_insert(m_voice->m_chord_or_rests, m_chord_or_rest, m_pos); // friend !! } m_chord_or_rest->computeBbox(); if (adjust && m_adjustable) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } void NedInsertChordOrRestCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedInsertChordOrRestCommand::unexecute\n"); #endif GList *inserted = g_list_find(m_voice->m_chord_or_rests, m_chord_or_rest); //GList *inserted = g_list_find(m_chord_or_rest->getVoice()->m_chord_or_rests, m_chord_or_rest); if (inserted == NULL) { printf("voice %d (0x%lx) gesucht: 0x%lx\n", m_voice->getVoiceNumber(), (unsigned long)m_voice, (unsigned long)m_chord_or_rest); NedResource::Abort("NedInsertChordOrRestCommand::unexecute"); } m_voice->m_chord_or_rests = g_list_delete_link(m_voice->m_chord_or_rests, inserted); // friend !! if (adjust && m_adjustable) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } nted-1.10.18/commands/commandhistory.h0000664001041000007640000000354511520267221014553 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef COMMAND_HISTORY_H #define COMMAND_HISTORY_H #include #include "config.h" class NedCommandList; class NedMainWindow; class NedCommandHistory { public: NedCommandHistory(NedMainWindow *main_window); void addCommandList(NedCommandList *command_list); void execute(); void unexecute(); void reset(); void setSavePoint() {m_save_point = m_current_command_list;} bool unsavedOperations() {return m_save_point != m_current_command_list;} private: bool execute_possible(); bool unexecute_possible(); GList *m_command_lists; GList *m_current_command_list; GList *m_save_point; NedMainWindow *m_main_window; }; #endif /* COMMAND_HISTORY_H */ nted-1.10.18/commands/setstaffcontext.h0000664001041000007640000000331011520267221014725 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef SET_STAFF_CONTEXT_H #define SET_STAFF_CONTEXT_H #include "config.h" #include "command.h" #include "mainwindow.h" class NedSetStaffContext : public NedCommand { public: NedSetStaffContext(NedMainWindow *main_window, staff_context_str *staff_context, int *staff_cout); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; staff_context_str m_staff_context, m_old_context; int *m_staff_count; }; #endif /* SET_STAFF_CONTEXT_H */ nted-1.10.18/commands/movesystemcommand.h0000664001041000007640000000330111520267221015253 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef MOVE_SYSTEM_COMMAND_H #define MOVE_SYSTEM_COMMAND_H #include "config.h" #include "command.h" #include class NedSystem; class NedPage; class NedMoveSystemCommand : public NedCommand { public: NedMoveSystemCommand(NedPage *page, NedSystem *system, NedPage *other_page); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedPage *m_page; NedPage *m_other_page; NedSystem *m_system; int m_position; }; #endif /* MOVE_SYSTEM_COMMAND_H */ nted-1.10.18/commands/changestaffkeysigcmd.cpp0000664001041000007640000000444711520267221016221 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changestaffkeysigcmd.h" #include "mainwindow.h" #include "resource.h" NedChangeStaffKeysigCmd::NedChangeStaffKeysigCmd(NedMainWindow *main_window, int staff_number, int newkey, bool do_adjust) : m_main_window(main_window), m_newkey(newkey), m_staff_number(staff_number), m_do_adjust(do_adjust) { m_oldkey = main_window->m_staff_contexts[staff_number].m_key_signature_number; } void NedChangeStaffKeysigCmd::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeStaffKeysigCmd::execute\n"); #endif if (m_do_adjust) { m_main_window->setInternalPitches(); } m_main_window->m_staff_contexts[m_staff_number].m_key_signature_number = m_newkey; if (m_do_adjust) { m_main_window->adjustAccidentals(m_staff_number); } } void NedChangeStaffKeysigCmd::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\ttNedChangeStaffKeysigCmd::unexecute\n"); #endif if (m_do_adjust) { m_main_window->setInternalPitches(); } m_main_window->m_staff_contexts[m_staff_number].m_key_signature_number = m_oldkey; if (m_do_adjust) { m_main_window->adjustAccidentals(m_staff_number); } } nted-1.10.18/commands/changenotehead.h0000664001041000007640000000316211520267221014443 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_NOTE_HEAD_H #define CHANGE_NOTE_HEAD_H #include "config.h" #include "command.h" class NedNote; class NedChangeNoteHeadCommand : public NedCommand { public: NedChangeNoteHeadCommand(NedNote *note, int newhead); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedNote *m_note; unsigned int m_newhead; unsigned int m_oldhead; }; #endif /* CHANGE_NOTE_HEAD_H */ nted-1.10.18/commands/movechordsandrestscommand.h0000664001041000007640000000317311520267221016764 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef MOVECHORDSANDRESTSCOMMAND_H #define MOVECHORDSANDRESTSCOMMAND_H #include "config.h" #include "command.h" #include class NedClipBoard; class NedMoveChordsAndRestsCommand : public NedCommand { public: NedMoveChordsAndRestsCommand(NedClipBoard *board); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedClipBoard *m_board; }; #endif /* MOVECHORDSANDRESTSCOMMAND_H */ nted-1.10.18/commands/changenotehead.cpp0000664001041000007640000000361411520267221015000 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changenotehead.h" #include "note.h" #include "mainwindow.h" NedChangeNoteHeadCommand::NedChangeNoteHeadCommand(NedNote *note, int newhead) : m_note(note), m_newhead(newhead) { m_oldhead = note->getNoteHead(); } void NedChangeNoteHeadCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeNoteHeadCommand::execute\n"); #endif m_note->setNoteHead(m_newhead); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } void NedChangeNoteHeadCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedChangeNoteHeadCommand::unexecute\n"); #endif m_note->setNoteHead(m_oldhead); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } nted-1.10.18/commands/fixmovedfreeplaceablecommand.cpp0000664001041000007640000000516711520267221017723 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "fixmovedfreeplaceablecommand.h" #include "chordorrest.h" #include "freereplaceable.h" #include "chordorrest.h" #include "slurpoint.h" #include "resource.h" NedFixMovedFreePlaceableCommand::NedFixMovedFreePlaceableCommand(NedFreeReplaceable *freeplaceable) : m_freereplaceable(freeplaceable) { m_old_element = freeplaceable->m_element_at_move_start; // friend !! m_new_element = freeplaceable->m_element; // friend !! m_oldx = freeplaceable->m_x_at_start; // friend !! m_oldy = freeplaceable->m_y_at_start; // friend !! m_newx = freeplaceable->m_x; // friend !! m_newy = freeplaceable->m_y; // friend !! } void NedFixMovedFreePlaceableCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedFixMovedFreePlaceableCommand::execute\n"); #endif m_freereplaceable->freeFromElement(); m_freereplaceable->setElement(m_new_element); m_freereplaceable->setXY(m_newx, m_newy, true); if (m_freereplaceable->getType() == FREE_PLACEABLE_SLUR_POINT) { ((NedSlurPoint *) m_freereplaceable)->recompute(); } } void NedFixMovedFreePlaceableCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedFixMovedFreePlaceableCommand::unexecute\n"); #endif m_freereplaceable->freeFromElement(); m_freereplaceable->setElement(m_old_element); m_freereplaceable->setXY(m_oldx, m_oldy, true); if (m_freereplaceable->getType() == FREE_PLACEABLE_SLUR_POINT) { ((NedSlurPoint *) m_freereplaceable)->recompute(); } } nted-1.10.18/commands/changechordorreststatus.cpp0000664001041000007640000000447011520267221017014 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changechordorreststatus.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" NedChangeChordOrRestStatusCommand::NedChangeChordOrRestStatusCommand(NedChordOrRest *chord_or_rest, unsigned int newstatus) : m_chord_or_rest(chord_or_rest), m_newstatus(newstatus) { m_oldstatus = chord_or_rest->getStatus(); } void NedChangeChordOrRestStatusCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeChordOrRestStatusCommand::execute\n"); #endif m_chord_or_rest->setStatus(m_newstatus); if (m_chord_or_rest->getType() != TYPE_REST) m_chord_or_rest->xPositNotes(); m_chord_or_rest->computeBbox(); if (adjust) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } void NedChangeChordOrRestStatusCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedChangeChordOrRestStatusCommand::unexecute\n"); #endif m_chord_or_rest->setStatus(m_oldstatus); if (m_chord_or_rest->getType() != TYPE_REST) m_chord_or_rest->xPositNotes(); m_chord_or_rest->computeBbox(); if (adjust) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } nted-1.10.18/commands/commandlist.h0000664001041000007640000000461011520267221014017 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef COMMAND_LIST_H #define COMMAND_LIST_H #include #include "config.h" class NedCommand; class NedSystem; class NedMainWindow; class NedCommandList { public: NedCommandList(NedMainWindow *main_window, NedSystem *system_for_reposit = NULL); ~NedCommandList(); void addCommand(NedCommand *command); void addCommandAndSetBreak(NedCommand *command); int getNumberOfCommands(); void execute(bool adjust = false); void unexecute(bool adjust = false); void executeAndSetBreak(); void executeAfterBreakAndSetBreak(); void executeAfterBreak(); void setBreak(); void addSystemForRepositioning(NedSystem *system_for_reposit); void setFullReposit() {m_full_reposit = true;} void setRenumber(NedSystem *m_start_system_for_renumbering = NULL, int start_measure_number = 0, bool force = false); void setRenumberPages() {m_do_renumber_pages = true;} private: GList *m_commands; GList *m_break; GList *m_systems_for_reposit; bool m_full_reposit; NedMainWindow *m_main_window; int m_old_measure_start_number; int m_new_measure_start_number; NedSystem *m_start_system_for_renumbering; bool m_do_renumber; bool m_do_renumber_pages; bool m_force; }; #endif /* COMMAND_LIST_H */ nted-1.10.18/commands/removelastpagecommand.h0000664001041000007640000000325111520267221016062 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef REMOVE_LAST_PAGE_COMMAND_H #define REMOVE_LAST_PAGE_COMMAND_H #include "config.h" #include "command.h" #include class NedPage; class NedMainWindow; class NedRemoveLastPageCommand : public NedCommand { public: NedRemoveLastPageCommand(NedMainWindow *main_window); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedPage *m_removed_page; NedMainWindow *m_main_window; }; #endif /* REMOVE_LAST_PAGE_COMMAND_H */ nted-1.10.18/commands/newlyricscommand.h0000664001041000007640000000325011520267221015062 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef NEW_LYRICS_COMMAND_H #define NEW_LYRICS_COMMAND_H #include "config.h" #include "command.h" #include class NedChordOrRest; class NedPangoCairoText; class NedNewLyricsCommand : public NedCommand { public: NedNewLyricsCommand(NedChordOrRest *chord, int line); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedChordOrRest *m_chord; NedPangoCairoText *m_lyrics; int m_line; }; #endif /* NEW_LYRICS_COMMAND_H */ nted-1.10.18/commands/changeaccidentalcmd.cpp0000664001041000007640000000455211520267221015766 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changeaccidentalcmd.h" #include "note.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" NedChangeAccidentalCommand::NedChangeAccidentalCommand(NedNote *note, unsigned int newstatus, int newline) : m_note(note), m_newstatus(newstatus), m_new_line(newline) { m_oldstatus = note->m_status; // friend !! m_old_line = note->m_line; // friend !! } void NedChangeAccidentalCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeAccidentalCommand::execute\n"); #endif m_note->m_status = m_newstatus; // friend !! m_note->m_line = m_new_line; // friend !! m_note->m_ypos = - m_note->m_line * LINE_DIST/2.0; // friend !! m_note->getChord()->computeBbox(); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } void NedChangeAccidentalCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedChangeAccidentalCommand::unexecute\n"); #endif m_note->m_status = m_oldstatus; // friend !! m_note->m_line = m_old_line; // friend !! m_note->m_ypos = - m_note->m_line * LINE_DIST/2.0; // friend !! m_note->getChord()->computeBbox(); if (adjust) { m_note->getMainWindow()->setVisible(m_note); } } nted-1.10.18/commands/removefreeplaceablecommand.cpp0000664001041000007640000000411411520267221017366 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "removefreeplaceablecommand.h" #include "chordorrest.h" #include "mainwindow.h" #include "freereplaceable.h" #include "chordorrest.h" #include "resource.h" NedRemoveFreePlaceableCommand::NedRemoveFreePlaceableCommand(NedFreeReplaceable *freereplaceable) : m_freereplaceable(freereplaceable) { m_chord_or_rest = freereplaceable->m_element; // friend !! m_x = freereplaceable->m_x; // friend!! m_y = freereplaceable->m_y; // friend!! } void NedRemoveFreePlaceableCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedRemoveFreePlaceableCommand::execute\n"); #endif m_freereplaceable->freeFromElement(); // friend!! } void NedRemoveFreePlaceableCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedRemoveFreePlaceableCommand::unexecute\n"); #endif m_freereplaceable->setElement(m_chord_or_rest); m_freereplaceable->setXY(m_x, m_y, true); } nted-1.10.18/commands/insertfreeplaceablecommand.h0000664001041000007640000000343411520267221017046 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef INSERT_FREE_REPLACEABLE_H #define INSERT_FREE_REPLACEABLE_H #include "config.h" #include "command.h" #include class NedFreeReplaceable; class NedChordOrRest; class NedInsertFreePlaceableCommand : public NedCommand { public: NedInsertFreePlaceableCommand(NedFreeReplaceable *freereplaceable, NedChordOrRest *chord_or_rest, double x, double y); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedFreeReplaceable *m_freereplaceable; NedChordOrRest *m_chord_or_rest; double m_x, m_y; }; #endif /* INSERT_FREE_REPLACEABLE_H */ nted-1.10.18/commands/changemeasurespread.h0000664001041000007640000000327111520267221015515 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_MEASURE_SPREAD_H #define CHANGE_MEASURE_SPREAD_H #include "config.h" #include "command.h" class NedMeasure; class NedChangeMeasureSpreadCommand : public NedCommand { public: NedChangeMeasureSpreadCommand(NedMeasure *measure, int spread_direction); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMeasure *m_measure; double m_old_spread; double m_new_spread; bool m_old_special_spread; }; #endif /* CHANGE_MEASURE_SPREAD_H */ nted-1.10.18/commands/commandhistory.cpp0000664001041000007640000000706611520267221015110 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "commandhistory.h" #include "commandlist.h" #include "mainwindow.h" NedCommandHistory::NedCommandHistory(NedMainWindow *main_window) : m_command_lists(NULL), m_current_command_list(NULL), m_save_point(NULL), m_main_window(main_window) { } void NedCommandHistory::reset() { /* TODO: free commdand lists */ m_command_lists = NULL; m_current_command_list = NULL; m_save_point = NULL; m_main_window->setUnRedoButtons(execute_possible(),unexecute_possible()); } void NedCommandHistory::execute() { GList *lptr; if (m_current_command_list == NULL) { if (m_command_lists == NULL) { return; } m_current_command_list = g_list_first(m_command_lists); ((NedCommandList *) m_current_command_list->data)->execute(true); m_main_window->setUnRedoButtons(execute_possible(),unexecute_possible()); return; } lptr = g_list_next(m_current_command_list); if (lptr == NULL) { return; } m_current_command_list = lptr; ((NedCommandList *) m_current_command_list->data)->execute(true); m_main_window->setUnRedoButtons(execute_possible(),unexecute_possible()); } void NedCommandHistory::unexecute() { if (m_current_command_list == NULL) { return; } ((NedCommandList *) m_current_command_list->data)->unexecute(true); m_current_command_list = g_list_previous(m_current_command_list); m_main_window->setUnRedoButtons(execute_possible(),unexecute_possible()); } void NedCommandHistory::addCommandList(NedCommandList *command_list) { GList *lptr; if (m_current_command_list == NULL) { // TODO free old command list m_command_lists = NULL; } if (m_command_lists != NULL) { if (m_current_command_list == NULL) { lptr = m_command_lists; } else { lptr = g_list_next(m_current_command_list); } while (lptr != NULL) { delete ((NedCommandList *) lptr->data); m_command_lists = g_list_delete_link(m_command_lists, lptr); lptr = g_list_next(m_current_command_list); } } m_command_lists = g_list_append(m_command_lists, command_list); m_current_command_list = g_list_last(m_command_lists); m_main_window->setUnRedoButtons(execute_possible(),unexecute_possible()); } bool NedCommandHistory::unexecute_possible() { return m_current_command_list != NULL; } bool NedCommandHistory::execute_possible() { if (m_current_command_list == NULL) { if (m_command_lists == NULL) { return FALSE; } return TRUE; } return g_list_next(m_current_command_list) != NULL; } nted-1.10.18/commands/changestaffclefcmd.cpp0000664001041000007640000000603511520267221015632 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changestaffclefcmd.h" #include "mainwindow.h" #include "resource.h" NedChangeStaffClefCmd::NedChangeStaffClefCmd(NedMainWindow *main_window, int staff_number, int newclef, int new_clef_octave_shift, bool do_adjust) : m_main_window(main_window), m_newclef(newclef), m_staff_number(staff_number), m_new_clef_octave_shift(new_clef_octave_shift), m_do_adjust(do_adjust) { m_oldclef = main_window->m_staff_contexts[staff_number].m_clef_number; m_old_clef_octave_shift = main_window->m_staff_contexts[staff_number].m_clef_octave_shift; m_new_clef_octave_shift = new_clef_octave_shift; } void NedChangeStaffClefCmd::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeStaffClefCmd::execute\n"); #endif if (m_do_adjust) { m_main_window->shiftNotes(0, NedResource::getClefDist(m_main_window->m_staff_contexts[m_staff_number].m_clef_number, m_main_window->m_staff_contexts[m_staff_number].m_clef_octave_shift, m_newclef, m_new_clef_octave_shift), NULL, NULL, m_staff_number); } m_main_window->m_staff_contexts[m_staff_number].m_clef_number = m_newclef; m_main_window->m_staff_contexts[m_staff_number].m_clef_octave_shift = m_new_clef_octave_shift; m_main_window->setAndUpdateClefTypeAndKeySig(); } void NedChangeStaffClefCmd::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\ttNedChangeStaffClefCmd::unexecute\n"); #endif if (m_do_adjust) { m_main_window->shiftNotes(0, NedResource::getClefDist(m_main_window->m_staff_contexts[m_staff_number].m_clef_number, m_main_window->m_staff_contexts[m_staff_number].m_clef_octave_shift, m_oldclef, m_old_clef_octave_shift), NULL, NULL, m_staff_number); } m_main_window->m_staff_contexts[m_staff_number].m_clef_number = m_oldclef; m_main_window->m_staff_contexts[m_staff_number].m_clef_octave_shift = m_old_clef_octave_shift; m_main_window->setAndUpdateClefTypeAndKeySig(); } nted-1.10.18/commands/settotupletcommand.h0000664001041000007640000000320511520267221015437 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef SET_TO_TUPLET_COMMAND_H #define SET_TO_TUPLET_COMMAND_H #include "config.h" #include "command.h" class NedChordOrRest; class NedSetToTupletCommand : public NedCommand { public: NedSetToTupletCommand(NedChordOrRest *chord_or_rest, int tuplet_val); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedChordOrRest *m_chord_or_rest; int m_tuplet_val; }; #endif /* SET_TO_TUPLET_COMMAND_H */ nted-1.10.18/commands/insertnewpagecommand.cpp0000664001041000007640000000543011520267221016253 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "insertnewpagecommand.h" #include "page.h" #include "mainwindow.h" #include "resource.h" NedInsertNewPageCommand::NedInsertNewPageCommand(NedMainWindow *main_window, int pos, unsigned int start_measure_number) : m_main_window(main_window), m_pos(pos) { struct paper_info_struct *paperinfo; bool portrait; paperinfo = m_main_window->getCurrentPaper(); portrait = m_main_window->getPortrait(); double w = portrait ? paperinfo->width : paperinfo->height; double h = portrait ? paperinfo->height : paperinfo->width; w /= PS_ZOOM * m_main_window->getCurrentScale(); h /= PS_ZOOM * m_main_window->getCurrentScale(); m_new_page = new NedPage(main_window, w, h, m_pos, start_measure_number, TRUE); } void NedInsertNewPageCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedInsertNewPageCommand::execute\n"); #endif m_main_window->m_pages = g_list_insert(m_main_window->m_pages, m_new_page, m_pos); // friend !! m_main_window->renumberPages(); m_main_window->setAndUpdateClefTypeAndKeySig(); m_main_window->updatePageCounter(); } void NedInsertNewPageCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedInsertNewPageCommand::unexecute\n"); #endif GList *lptr; if ((lptr = g_list_find(m_main_window->m_pages, m_new_page)) == NULL) { // friend !! NedResource::Abort("NedInsertNewPageCommand::unexecute"); } m_main_window->m_pages = g_list_delete_link(m_main_window->m_pages, lptr); // friend !! m_main_window->renumberPages(); m_main_window->setAndUpdateClefTypeAndKeySig(); m_main_window->updatePageCounter(); } nted-1.10.18/commands/paperconfigcommand.h0000664001041000007640000000364011520267221015343 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef PAPER_CONFIG_COMMAND_H #define PAPER_CONFIG_COMMAND_H #include "config.h" #include "command.h" #include class NedMainWindow; struct paper_info_struct; class NedPaperConfigCommand : public NedCommand { public: NedPaperConfigCommand(NedMainWindow *main_window, struct paper_info_struct *old_paper_info, bool old_portrait, struct paper_info_struct *new_paper_info, bool new_portrait, int oldscale, int scale); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; struct paper_info_struct *m_old_paper_info, *m_new_paper_info; bool m_old_portrait, m_new_portrait; int m_scale, m_old_scale; }; #endif /* PAPER_CONFIG_COMMAND_H */ nted-1.10.18/commands/untieforwardcommand.cpp0000664001041000007640000000370111520267221016110 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "untieforwardcommand.h" #include "note.h" #include "mainwindow.h" #include "resource.h" NedUnTieForwardCommand::NedUnTieForwardCommand(NedNote *note0, NedNote *note1) : m_note0(note0), m_note1(note1) {} void NedUnTieForwardCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedUnTieForwardCommand::execute\n"); #endif m_note0->setTieForward(NULL); m_note1->setTieBackward(NULL); if (adjust) { m_note0->getMainWindow()->setVisible(m_note0); } } void NedUnTieForwardCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedUnTieForwardCommand::unexecute\n"); #endif m_note0->setTieForward(m_note1); m_note1->setTieBackward(m_note0); if (adjust) { m_note0->getMainWindow()->setVisible(m_note0); } } nted-1.10.18/commands/ereasechordorrestcommand.h0000664001041000007640000000341311520267221016567 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef EREASE_CHORD_OR_REST_COMMAND_H #define EREASE_CHORD_OR_REST_COMMAND_H #include "config.h" #include "command.h" #include class NedChordOrRest; class NedVoice; class NedEreaseChordOrRestCommand : public NedCommand { public: NedEreaseChordOrRestCommand(NedVoice *voice, int pos); NedEreaseChordOrRestCommand(NedChordOrRest *chord); // grace note virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedVoice *m_voice; int m_pos; NedChordOrRest *m_chord_or_rest; }; #endif /* EREASE_CHORD_OR_REST_COMMAND_H */ nted-1.10.18/commands/deletechordorrestgroupcommand.cpp0000664001041000007640000000550011520267221020174 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "deletechordorrestgroupcommand.h" #include "voice.h" #include "resource.h" NedDeleteChordOrRestGroupCommand::NedDeleteChordOrRestGroupCommand(NedVoice *voice, GList *group) : m_voice(voice), m_group(group) { GList *lptr2 = g_list_find(voice->m_chord_or_rests, g_list_first(group)->data); // friend !! if (lptr2 == NULL) { NedResource::Abort("NedDeleteChordOrRestGroupCommand:1"); } if ((m_pos = g_list_position(voice->m_chord_or_rests, lptr2)) < 0) { // friend !! printf("m_pos = %d\n", m_pos); NedResource::Abort("NedDeleteChordOrRestGroupCommand:2"); } } void NedDeleteChordOrRestGroupCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedDeleteChordOrRestGroupCommand::execute\n"); #endif GList *lptr, *lptr2; for (lptr = g_list_first(m_group); lptr; lptr = g_list_next(lptr)) { lptr2 = g_list_find(m_voice->m_chord_or_rests, lptr->data); // friend !! if (lptr2 == NULL) { NedResource::Abort("NedDeleteChordOrRestGroupCommand::execute:1"); } GList *inserted = g_list_find(m_voice->m_chord_or_rests, lptr2->data); // friend if (inserted == NULL) { NedResource::Abort("NedDeleteChordOrRestGroupCommand::execute:2"); } m_voice->m_chord_or_rests = g_list_delete_link(m_voice->m_chord_or_rests, inserted); // friend } } void NedDeleteChordOrRestGroupCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedDeleteChordOrRestGroupCommand::unexecute\n"); #endif GList *lptr; int pos = m_pos; for (lptr = g_list_first(m_group); lptr; lptr = g_list_next(lptr)) { m_voice->m_chord_or_rests = g_list_insert(m_voice->m_chord_or_rests, lptr->data, pos++); // friend !! } } nted-1.10.18/commands/changechordorreststatus.h0000664001041000007640000000333311520267221016456 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_CHORD_OR_REST_STATUS_H #define CHANGE_CHORD_OR_REST_STATUS_H #include "config.h" #include "command.h" class NedChordOrRest; class NedChangeChordOrRestStatusCommand : public NedCommand { public: NedChangeChordOrRestStatusCommand(NedChordOrRest *chord_or_rest, unsigned int newstatus); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedChordOrRest *m_chord_or_rest; unsigned int m_newstatus; unsigned int m_oldstatus; }; #endif /* CHANGE_CHORD_OR_REST_STATUS_H */ nted-1.10.18/commands/deletechordcommand.cpp0000664001041000007640000000412211520267221015657 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "deletechordcommand.h" #include "chordorrest.h" #include "resource.h" #include "mainwindow.h" NedDeleteChordCommand::NedDeleteChordCommand(NedChordOrRest *chord) : m_chord(chord) { m_state = m_chord->isRest(); } void NedDeleteChordCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedDeleteChordCommand::execute\n"); #endif m_chord->setToRest(true); if (!m_chord->isRest()) { m_chord->reConfigure(); m_chord->xPositNotes(); } m_chord->computeBbox(); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } void NedDeleteChordCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedDeleteChordCommand::unexecute\n"); #endif m_chord->setToRest(m_state); if (!m_chord->isRest()) { m_chord->reConfigure(); m_chord->xPositNotes(); } m_chord->computeBbox(); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } nted-1.10.18/commands/deletechordcommand.h0000664001041000007640000000316211520267221015327 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef DELETE_CHORD_COMMAND_H #define DELETE_CHORD_COMMAND_H #include "config.h" #include "command.h" #include class NedChordOrRest; class NedDeleteChordCommand : public NedCommand { public: NedDeleteChordCommand(NedChordOrRest *chord); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedChordOrRest *m_chord; bool m_state; }; #endif /* DELETE_CHORD_COMMAND_H */ nted-1.10.18/commands/getsystemfromnextpagecmmand.cpp0000664001041000007640000000611211520267221017663 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "getsystemfromnextpagecmmand.h" #include "system.h" #include "page.h" NedGetSystemFromNextPageCommand::NedGetSystemFromNextPageCommand(GList *system_ptr, NedPage *page, NedPage *other_page) : m_system_ptr(system_ptr), m_page(page), m_other_page(other_page){ m_system = (NedSystem *) m_system_ptr->data; m_other_systems_ptr = m_other_page->getSystemsList(); m_systems_ptr = m_page->getSystemsList(); } void NedGetSystemFromNextPageCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedGetSystemFromNextPageCommand::execute\n"); #endif if (adjust) { if ((m_system_ptr = g_list_find(*m_other_systems_ptr, m_system)) == NULL) { NedResource::Abort("NedGetSystemFromNextPageCommand::unexecute"); } } *m_other_systems_ptr = g_list_delete_link(*m_other_systems_ptr, m_system_ptr); m_other_page->placeStaffs(1); m_other_page->renumberSystems(); *m_systems_ptr = g_list_append(*m_systems_ptr, m_system); m_system->changePageInfo(m_page); if ((m_system_ptr = g_list_find(*m_systems_ptr, m_system)) == NULL) { NedResource::Abort("NedGetSystemFromNextPageCommand::unexecute"); } m_page->placeStaffs(1); m_page->renumberSystems(); } void NedGetSystemFromNextPageCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedGetSystemFromNextPageCommand::unexecute\n"); #endif if ((m_system_ptr = g_list_find(*m_systems_ptr, m_system)) == NULL) { NedResource::Abort("NedGetSystemFromNextPageCommand::unexecute"); } *m_systems_ptr = g_list_remove(*m_systems_ptr, m_system); m_page->placeStaffs(0); m_page->renumberSystems(); *m_other_systems_ptr = g_list_insert(*m_other_systems_ptr, m_system, 0); if ((m_system_ptr = g_list_find(*m_other_systems_ptr, m_system)) == NULL) { NedResource::Abort("NedGetSystemFromNextPageCommand::unexecute"); } m_system->changePageInfo(m_other_page); m_other_page->placeStaffs(1); m_other_page->renumberSystems(); } nted-1.10.18/commands/appendnewpagecommand.cpp0000664001041000007640000000530211520267221016214 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "appendnewpagecommand.h" #include "page.h" #include "mainwindow.h" #include "resource.h" NedAppendNewPageCommand::NedAppendNewPageCommand(NedMainWindow *main_window, int number, unsigned int measure_number) : m_main_window(main_window) { struct paper_info_struct *paperinfo; bool portrait; paperinfo = m_main_window->getCurrentPaper(); portrait = m_main_window->getPortrait(); double w = portrait ? paperinfo->width : paperinfo->height; double h = portrait ? paperinfo->height : paperinfo->width; w /= PS_ZOOM * m_main_window->getCurrentScale(); h /= PS_ZOOM * m_main_window->getCurrentScale(); m_new_page = new NedPage(main_window, w, h, number, measure_number, TRUE); } void NedAppendNewPageCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedAppendNewPageCommand::execute\n"); #endif m_main_window->m_pages = g_list_append(m_main_window->m_pages, m_new_page); // friend !! m_main_window->updatePageCounter(); m_main_window->setAndUpdateClefTypeAndKeySig(); } void NedAppendNewPageCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedAppendNewPageCommand::unexecute\n"); #endif GList *lptr; lptr = g_list_last(m_main_window->m_pages); // friend !! if (lptr->data != m_new_page) { NedResource::Abort("NedAppendNewPageCommand::unexecute"); } m_main_window->m_pages = g_list_delete_link(m_main_window->m_pages, lptr); // friend !! m_main_window->updatePageCounter(); m_main_window->setAndUpdateClefTypeAndKeySig(); } nted-1.10.18/commands/Makefile.in0000664001041000007640000006124711520267353013420 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ ######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = commands DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru libcommands_a_AR = $(AR) $(ARFLAGS) libcommands_a_LIBADD = am_libcommands_a_OBJECTS = commandhistory.$(OBJEXT) \ commandlist.$(OBJEXT) notemovecommand.$(OBJEXT) \ deletechordcommand.$(OBJEXT) \ insertchordorrestcommand.$(OBJEXT) \ ereasechordorrestcommand.$(OBJEXT) addnoteatcommand.$(OBJEXT) \ movechordsandrestscommand.$(OBJEXT) \ untieforwardcommand.$(OBJEXT) ereasenotecommand.$(OBJEXT) \ changenotestatus.$(OBJEXT) changechordorrestlength.$(OBJEXT) \ movechordsandrestsreversecommand.$(OBJEXT) \ changexpositioncommand.$(OBJEXT) deletesystemcommand.$(OBJEXT) \ movesystemcommand.$(OBJEXT) changespacement.$(OBJEXT) \ deletechordorrestgroupcommand.$(OBJEXT) \ tienotescommand.$(OBJEXT) appendnewpagecommand.$(OBJEXT) \ appendsystemcommand.$(OBJEXT) \ getsystemfromnextpagecmmand.$(OBJEXT) \ removelastpagecommand.$(OBJEXT) appendstaffcommand.$(OBJEXT) \ deletestaffcommand.$(OBJEXT) shiftstaffcommand.$(OBJEXT) \ paperconfigcommand.$(OBJEXT) notemoverelativecommand.$(OBJEXT) \ settotupletcommand.$(OBJEXT) setstaffcontext.$(OBJEXT) \ insertchordorrestgroupcommand.$(OBJEXT) \ insertnewpagecommand.$(OBJEXT) \ changemeasuretypecommand.$(OBJEXT) \ movespecmeasurecommand.$(OBJEXT) \ changemeasuretimsigcommand.$(OBJEXT) \ inserttiedelementcommand.$(OBJEXT) \ changetimsigcommand.$(OBJEXT) removestaffelemcommand.$(OBJEXT) \ insertstaffelemcommand.$(OBJEXT) newlyricscommand.$(OBJEXT) \ deletelyricscommand.$(OBJEXT) changenotehead.$(OBJEXT) \ removepagecommand.$(OBJEXT) changechordorreststatus.$(OBJEXT) \ changeupbeatcommand.$(OBJEXT) \ insertfreeplaceablecommand.$(OBJEXT) \ fixmovedfreeplaceablecommand.$(OBJEXT) \ removefreeplaceablecommand.$(OBJEXT) changetie.$(OBJEXT) \ fixintermediatecommand.$(OBJEXT) flipvaluescommand.$(OBJEXT) \ removeconstraintscommand.$(OBJEXT) \ changemeasurespread.$(OBJEXT) changestaffkeysigcmd.$(OBJEXT) \ transposecommand.$(OBJEXT) changestaffclefcmd.$(OBJEXT) \ restmovecommand.$(OBJEXT) changeaccidentalcmd.$(OBJEXT) \ changelyricscommand.$(OBJEXT) libcommands_a_OBJECTS = $(am_libcommands_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libcommands_a_SOURCES) DIST_SOURCES = $(libcommands_a_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_LIBS = @ALSA_LIBS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ IMAGE2HEADER = @IMAGE2HEADER@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PO2XML = @PO2XML@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ X11_CFLAGS = @X11_CFLAGS@ X11_LIBS = @X11_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XML2POT = @XML2POT@ XMLTO = @XMLTO@ YELP = @YELP@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = $(FT2_CFLAGS) -I$(top_srcdir) $(CAIRO_CFLAGS) $(GTK_CFLAGS) noinst_LIBRARIES = libcommands.a libcommands_a_SOURCES = commandhistory.cpp commandlist.cpp \ notemovecommand.cpp deletechordcommand.cpp \ insertchordorrestcommand.cpp ereasechordorrestcommand.cpp \ addnoteatcommand.cpp movechordsandrestscommand.cpp \ untieforwardcommand.cpp ereasenotecommand.cpp \ changenotestatus.cpp changechordorrestlength.cpp \ movechordsandrestsreversecommand.cpp \ changexpositioncommand.cpp deletesystemcommand.cpp \ movesystemcommand.cpp changespacement.cpp \ deletechordorrestgroupcommand.cpp tienotescommand.cpp \ appendnewpagecommand.cpp appendsystemcommand.cpp \ getsystemfromnextpagecmmand.cpp removelastpagecommand.cpp \ appendstaffcommand.cpp deletestaffcommand.cpp \ shiftstaffcommand.cpp paperconfigcommand.cpp \ notemoverelativecommand.cpp settotupletcommand.cpp \ setstaffcontext.cpp insertchordorrestgroupcommand.cpp \ insertnewpagecommand.cpp changemeasuretypecommand.cpp \ movespecmeasurecommand.cpp changemeasuretimsigcommand.cpp \ inserttiedelementcommand.cpp changetimsigcommand.cpp \ removestaffelemcommand.cpp insertstaffelemcommand.cpp \ newlyricscommand.cpp deletelyricscommand.cpp \ changenotehead.cpp removepagecommand.cpp \ changechordorreststatus.cpp changeupbeatcommand.cpp \ insertfreeplaceablecommand.cpp \ fixmovedfreeplaceablecommand.cpp \ removefreeplaceablecommand.cpp changetie.cpp \ fixintermediatecommand.cpp flipvaluescommand.cpp \ removeconstraintscommand.cpp changemeasurespread.cpp \ changestaffkeysigcmd.cpp transposecommand.cpp \ changestaffclefcmd.cpp restmovecommand.cpp \ changeaccidentalcmd.cpp changelyricscommand.cpp \ addnoteatcommand.h appendnewpagecommand.h appendstaffcommand.h \ appendsystemcommand.h changechordorrestlength.h \ changechordorreststatus.h changemeasuretimsigcommand.h \ changemeasuretypecommand.h changenotehead.h changenotestatus.h \ changetimsigcommand.h changeupbeatcommand.h \ changexpositioncommand.h command.h commandhistory.h \ commandlist.h deletechordcommand.h \ deletechordorrestgroupcommand.h deletelyricscommand.h \ deletestaffcommand.h deletesystemcommand.h \ ereasechordorrestcommand.h ereasenotecommand.h \ fixmovedfreeplaceablecommand.h getsystemfromnextpagecmmand.h \ insertchordorrestcommand.h insertchordorrestgroupcommand.h \ insertfreeplaceablecommand.h insertnewpagecommand.h \ insertstaffelemcommand.h inserttiedelementcommand.h \ changetie.h movechordsandrestscommand.h \ movechordsandrestsreversecommand.h movespecmeasurecommand.h \ movesystemcommand.h newlyricscommand.h notemovecommand.h \ notemoverelativecommand.h paperconfigcommand.h \ removefreeplaceablecommand.h removelastpagecommand.h \ removepagecommand.h removestaffelemcommand.h setstaffcontext.h \ settotupletcommand.h shiftstaffcommand.h tienotescommand.h \ untieforwardcommand.h fixintermediatecommand.h \ flipvaluescommand.h removeconstraintscommand.h \ changemeasurespread.h changespacement.h changestaffkeysigcmd.h \ transposecommand.h changestaffclefcmd.h restmovecommand.h \ changeaccidentalcmd.h changelyricscommand.h all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign commands/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign commands/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libcommands.a: $(libcommands_a_OBJECTS) $(libcommands_a_DEPENDENCIES) -rm -f libcommands.a $(libcommands_a_AR) libcommands.a $(libcommands_a_OBJECTS) $(libcommands_a_LIBADD) $(RANLIB) libcommands.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addnoteatcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/appendnewpagecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/appendstaffcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/appendsystemcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changeaccidentalcmd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changechordorrestlength.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changechordorreststatus.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changelyricscommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changemeasurespread.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changemeasuretimsigcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changemeasuretypecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changenotehead.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changenotestatus.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changespacement.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changestaffclefcmd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changestaffkeysigcmd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changetie.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changetimsigcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changeupbeatcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changexpositioncommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commandhistory.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commandlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/deletechordcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/deletechordorrestgroupcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/deletelyricscommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/deletestaffcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/deletesystemcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ereasechordorrestcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ereasenotecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fixintermediatecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fixmovedfreeplaceablecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flipvaluescommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsystemfromnextpagecmmand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insertchordorrestcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insertchordorrestgroupcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insertfreeplaceablecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insertnewpagecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insertstaffelemcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inserttiedelementcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/movechordsandrestscommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/movechordsandrestsreversecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/movespecmeasurecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/movesystemcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newlyricscommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/notemovecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/notemoverelativecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paperconfigcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/removeconstraintscommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/removefreeplaceablecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/removelastpagecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/removepagecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/removestaffelemcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/restmovecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setstaffcontext.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/settotupletcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shiftstaffcommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tienotescommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transposecommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/untieforwardcommand.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/commands/insertchordorrestgroupcommand.h0000664001041000007640000000336011520267221017705 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef INSERT_CHORD_OR_REST_GROUP_COMMAND_H #define INSERT_CHORD_OR_REST_GROUP_COMMAND_H #include "config.h" #include "command.h" #include class NedChordOrRest; class NedVoice; class NedInsertChordOrRestGroupCommand : public NedCommand { public: NedInsertChordOrRestGroupCommand(NedVoice *voice, GList *chords_or_rests, int pos); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedVoice *m_voice; int m_pos; GList *m_chord_or_rests; }; #endif /* INSERT_CHORD_OR_REST_GROUP_COMMAND_H */ nted-1.10.18/commands/setstaffcontext.cpp0000664001041000007640000000371511520267221015271 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "setstaffcontext.h" #include "resource.h" NedSetStaffContext::NedSetStaffContext(NedMainWindow *main_window, staff_context_str *staff_context, int *staff_cout) : m_main_window(main_window), m_staff_count(staff_cout) { m_staff_context = *staff_context; m_old_context = m_main_window->m_staff_contexts[*m_staff_count]; } void NedSetStaffContext::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedSetStaffContext::execute\n"); #endif m_main_window->m_staff_contexts[*m_staff_count] = m_staff_context; (*m_staff_count)++; } void NedSetStaffContext::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedSetStaffContext::unexecute\n"); #endif (*m_staff_count)--; m_main_window->m_staff_contexts[*m_staff_count] = m_old_context; } nted-1.10.18/commands/ereasechordorrestcommand.cpp0000664001041000007640000000557511520267221017135 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "ereasechordorrestcommand.h" #include "voice.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" NedEreaseChordOrRestCommand::NedEreaseChordOrRestCommand(NedVoice *voice, int pos) : m_voice(voice), m_pos(pos) { GList *lptr; lptr = g_list_nth(m_voice->m_chord_or_rests, m_pos); // friend !! if (lptr == NULL) { NedResource::Abort("NedEreaseChordOrRestCommand(1)"); } m_chord_or_rest = ((NedChordOrRest *) lptr->data); } NedEreaseChordOrRestCommand::NedEreaseChordOrRestCommand(NedChordOrRest *chord) : //grace note m_chord_or_rest(chord) { m_voice = chord->getVoice(); if ((m_pos = g_list_index(m_voice->m_chord_or_rests, chord)) < 0) { // friend !! NedResource::Abort("NedEreaseChordOrRestCommand(2)"); } } void NedEreaseChordOrRestCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedEreaseChordOrRestCommand::execute\n"); #endif GList *lptr = g_list_nth(m_voice->m_chord_or_rests, m_pos); // friend !! if (lptr == NULL) { NedResource::Abort("NedEreaseChordOrRestCommand::execute"); } m_voice->m_chord_or_rests = g_list_delete_link(m_voice->m_chord_or_rests, lptr); // friend !! if (adjust) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } void NedEreaseChordOrRestCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedEreaseChordOrRestCommand::unexecute\n"); #endif if (m_pos < 0) { m_voice->m_chord_or_rests = g_list_append(m_voice->m_chord_or_rests, m_chord_or_rest); // friend !! } else { m_voice->m_chord_or_rests = g_list_insert(m_voice->m_chord_or_rests, m_chord_or_rest, m_pos); // friend !! } if (adjust) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } nted-1.10.18/commands/changespacement.h0000664001041000007640000000324711520267221014637 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_SPACEMENT_CMD_H #define CHANGE_SPACEMENT_CMD_H #include "config.h" #include "command.h" class NedMainWindow; class NedChangeSpacementCommand : public NedCommand { public: NedChangeSpacementCommand(NedMainWindow *main_window, double newspacement); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; double m_new_spacement; double m_old_spacement; }; #endif /* CHANGE_SPACEMENT_CMD_H */ nted-1.10.18/commands/deletechordorrestgroupcommand.h0000664001041000007640000000327711520267221017652 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef DELETE_CHORD_OR_REST_GROUP_COMMAND_H #define DELETE_CHORD_OR_REST_GROUP_COMMAND_H #include "config.h" #include "command.h" #include class NedVoice; class NedDeleteChordOrRestGroupCommand : public NedCommand { public: NedDeleteChordOrRestGroupCommand(NedVoice *voice, GList *group); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedVoice *m_voice; int m_pos; GList *m_group; }; #endif /* DELETE_CHORD_OR_REST_GROUP_COMMAND_H */ nted-1.10.18/commands/settotupletcommand.cpp0000664001041000007640000000370311520267221015775 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "settotupletcommand.h" #include "chordorrest.h" #include "mainwindow.h" NedSetToTupletCommand::NedSetToTupletCommand(NedChordOrRest *chord_or_rest, int tuplet_val) : m_chord_or_rest(chord_or_rest), m_tuplet_val(tuplet_val) {} void NedSetToTupletCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedSetToTupletCommand::execute\n"); #endif m_chord_or_rest->setTupletVal(m_tuplet_val); if (adjust) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } void NedSetToTupletCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedSetToTupletCommand::unexecute\n"); #endif m_chord_or_rest->setTupletVal(0); if (adjust) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } nted-1.10.18/commands/removestaffelemcommand.cpp0000664001041000007640000000473311520267221016571 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "removestaffelemcommand.h" #include "staff.h" #include "chordorrest.h" #include "resource.h" #include "mainwindow.h" NedRemoveStaffElemCommand::NedRemoveStaffElemCommand(NedMainWindow *main_window, int staff_nr, NedChordOrRest *staffelem, bool do_adjust) : m_staff_nr(staff_nr), m_staff_elem(staffelem), m_main_window(main_window), m_do_adjust(do_adjust) { m_staff = staffelem->getStaff(); } void NedRemoveStaffElemCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedRemoveStaffElemCommand::execute\n"); #endif if (m_do_adjust && (m_staff_elem->getType() & (TYPE_KEYSIG | TYPE_CLEF)) != 0) { m_main_window->setInternalPitches(); } m_staff->removeStaffElement(m_staff_elem); if (m_do_adjust && (m_staff_elem->getType() & (TYPE_KEYSIG | TYPE_CLEF)) != 0) { m_main_window->adjustAccidentals(m_staff_nr); } } void NedRemoveStaffElemCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedRemoveStaffElemCommand::unexecute\n"); #endif if (m_do_adjust && (m_staff_elem->getType() & (TYPE_KEYSIG | TYPE_CLEF)) != 0) { m_main_window->setInternalPitches(); } m_staff->insertStaffElement(m_staff_elem); if (m_do_adjust && (m_staff_elem->getType() & (TYPE_KEYSIG | TYPE_CLEF)) != 0) { m_main_window->adjustAccidentals(m_staff_nr); } } nted-1.10.18/commands/inserttiedelementcommand.cpp0000664001041000007640000000530111520267221017121 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "inserttiedelementcommand.h" #include "voice.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" NedInsertTiedElementCommand::NedInsertTiedElementCommand(NedVoice *voice, NedChordOrRest *chord_or_rest, unsigned int len, int dotcount) : m_chord_or_rest(chord_or_rest), m_voice(voice) { m_new_chord_or_rest = chord_or_rest->cloneWithDifferentLength(len, dotcount); } void NedInsertTiedElementCommand::execute(bool adjust /* = false */) { int pos; #ifdef EXECUTE_DEBUG printf("\tNedInsertTiedElementCommand::execute\n"); #endif if ((pos = g_list_index(m_voice->m_chord_or_rests, m_chord_or_rest)) < 0) { // friend !! NedResource::Abort("NedInsertTiedElementCommand::execute"); } m_voice->m_chord_or_rests = g_list_insert(m_voice->m_chord_or_rests, m_new_chord_or_rest, pos + 1); // friend !! m_chord_or_rest->tieCompleteTo(m_new_chord_or_rest, true); if (adjust) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } void NedInsertTiedElementCommand::unexecute(bool adjust /* = false */) { GList *lptr; #ifdef UNEXECUTE_DEBUG printf("\tNedInsertTiedElementCommand::unexecute\n"); #endif m_new_chord_or_rest->removeAllBackwardTies(); if ((lptr = g_list_find(m_voice->m_chord_or_rests, m_new_chord_or_rest)) == NULL) { // friend !! NedResource::Abort("NedInsertTiedElementCommand::unexecute"); } m_voice->m_chord_or_rests = g_list_delete_link(m_voice->m_chord_or_rests, lptr); // friend !! if (adjust) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } nted-1.10.18/commands/removelastpagecommand.cpp0000664001041000007640000000430611520267221016417 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "removelastpagecommand.h" #include "page.h" #include "mainwindow.h" #include "resource.h" NedRemoveLastPageCommand::NedRemoveLastPageCommand(NedMainWindow *main_window) : m_main_window(main_window) {} void NedRemoveLastPageCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedRemoveLastPageCommand::execute\n"); #endif GList *lptr; if ((lptr = g_list_last(m_main_window->m_pages)) == NULL) { // friend !! NedResource::Abort("NedAppendNewPageCommand::execute"); } m_removed_page = (NedPage *) lptr->data; m_main_window->m_pages = g_list_delete_link(m_main_window->m_pages, lptr); m_main_window->setAndUpdateClefTypeAndKeySig(); m_main_window->updatePageCounter(); } void NedRemoveLastPageCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedRemoveLastPageCommand::unexecute\n"); #endif m_main_window->m_pages = g_list_append(m_main_window->m_pages, m_removed_page); m_main_window->setAndUpdateClefTypeAndKeySig(); m_main_window->updatePageCounter(); } nted-1.10.18/commands/removestaffelemcommand.h0000664001041000007640000000347511520267221016240 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef REMOVE_STAFF_ELEM_COMMAND_H #define REMOVE_STAFF_ELEM_COMMAND_H #include "config.h" #include "command.h" #include class NedMainWindow; class NedChordOrRest; class NedStaff; class NedRemoveStaffElemCommand : public NedCommand { public: NedRemoveStaffElemCommand(NedMainWindow *main_window, int staff_nr, NedChordOrRest *staffelem, bool do_adjust); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: int m_staff_nr; NedStaff *m_staff; NedChordOrRest *m_staff_elem; NedMainWindow *m_main_window; bool m_do_adjust; }; #endif /* REMOVE_STAFF_ELEM_COMMAND_H */ nted-1.10.18/commands/deletelyricscommand.cpp0000664001041000007640000000374511520267221016077 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "deletelyricscommand.h" #include "mainwindow.h" #include "chordorrest.h" #include "resource.h" NedDeleteLyricsCommand::NedDeleteLyricsCommand(NedChordOrRest *chord, int line) : m_chord(chord), m_line(line) { m_lyrics = m_chord->m_lyrics[line]; } void NedDeleteLyricsCommand::execute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedDeleteLyricsCommand::execute\n"); #endif m_chord->m_lyrics[m_line] = NULL; m_chord->computeBbox(); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } void NedDeleteLyricsCommand::unexecute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedDeleteLyricsCommand::unexecute\n"); #endif m_chord->m_lyrics[m_line] = m_lyrics; m_chord->computeBbox(); if (adjust) { m_chord->getMainWindow()->setVisible(m_chord); } } nted-1.10.18/commands/appendsystemcommand.cpp0000664001041000007640000000431611520267221016116 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "appendsystemcommand.h" #include "system.h" #include "mainwindow.h" #include "page.h" NedAppendSystemCommand::NedAppendSystemCommand(NedPage *page): m_page(page) { int sys_nr, meas_nr; sys_nr = g_list_length(page->m_systems); // friend !! meas_nr = page->getNumberOfLastMeasure() + 1; m_system = new NedSystem(page, 10.0 /* dummy */, m_page->m_width - 2 * (LEFT_RIGHT_BORDER - DEFAULT_BORDER), sys_nr, meas_nr, TRUE); } NedAppendSystemCommand::~NedAppendSystemCommand() { delete m_system; } void NedAppendSystemCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedAppendSystemCommand::execute\n"); #endif m_page->m_systems = g_list_append(m_page->m_systems, m_system); m_page->placeStaffs(0); m_page->getMainWindow()->setAndUpdateClefTypeAndKeySig(); } void NedAppendSystemCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedAppendSystemCommand::unexecute\n"); #endif m_page->m_systems = g_list_remove(m_page->m_systems, m_system); m_page->placeStaffs(0); } nted-1.10.18/commands/changechordorrestlength.h0000664001041000007640000000342311520267221016414 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_CHORD_OR_REST_LENGTH_H #define CHANGE_CHORD_OR_REST_LENGTH_H #include "config.h" #include "command.h" class NedChordOrRest; class NedChangeChordOrRestLengthCommand : public NedCommand { public: NedChangeChordOrRestLengthCommand(NedChordOrRest *chord_or_rest, unsigned int newlength, int newdotcount); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedChordOrRest *m_chord_or_rest; int m_old_dot_count, m_new_dot_count; unsigned int m_newlength; unsigned int m_oldlength; }; #endif /* CHANGE_CHORD_OR_REST_LENGTH_H */ nted-1.10.18/commands/changechordorrestlength.cpp0000664001041000007640000000505711520267221016754 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "changechordorrestlength.h" #include "chordorrest.h" #include "mainwindow.h" #include "resource.h" NedChangeChordOrRestLengthCommand::NedChangeChordOrRestLengthCommand(NedChordOrRest *chord_or_rest, unsigned int newlength, int newdotcount) : m_chord_or_rest(chord_or_rest), m_new_dot_count(newdotcount), m_newlength(newlength) { m_oldlength = chord_or_rest->getLength(); m_old_dot_count = chord_or_rest->getDotCount(); } void NedChangeChordOrRestLengthCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedChangeChordOrRestLengthCommand::execute\n"); #endif m_chord_or_rest->setLength(m_newlength); m_chord_or_rest->setDotCount(m_new_dot_count); if (!m_chord_or_rest->isRest()) { m_chord_or_rest->reConfigure(); m_chord_or_rest->xPositNotes(); } m_chord_or_rest->computeBbox(); if (adjust) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } void NedChangeChordOrRestLengthCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedChangeChordOrRestLengthCommand::unexecute\n"); #endif m_chord_or_rest->setLength(m_oldlength); m_chord_or_rest->setDotCount(m_old_dot_count); if (!m_chord_or_rest->isRest()) { m_chord_or_rest->reConfigure(); m_chord_or_rest->xPositNotes(); } m_chord_or_rest->computeBbox(); if (adjust) { m_chord_or_rest->getMainWindow()->setVisible(m_chord_or_rest); } } nted-1.10.18/commands/deletestaffcommand.cpp0000664001041000007640000000500611520267221015665 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "deletestaffcommand.h" #include "page.h" #include "resource.h" NedDeleteStaffCommand::NedDeleteStaffCommand(NedMainWindow *main_window, int staff_number) : m_main_window(main_window), m_staff_number(staff_number), m_staff_flags(NULL) { m_staff_context = main_window->m_staff_contexts[staff_number]; m_num_staffs = main_window->m_staff_count; // friend !! if ((m_staff_flags = (unsigned int *) g_try_malloc(m_num_staffs * sizeof(unsigned int))) == NULL) { NedResource::Abort("NedDeleteStaffCommand::NedDeleteStaffCommand"); } for (int i = 0; i < m_num_staffs; i++) { m_staff_flags[i] = main_window->m_staff_contexts[i].m_flags; } } NedDeleteStaffCommand::~NedDeleteStaffCommand() { g_free(m_staff_flags); } void NedDeleteStaffCommand::execute(bool adjust /* = false */) { #ifdef EXECUTE_DEBUG printf("\tNedDeleteStaffCommand::execute\n"); #endif for (int i = 0; i < m_num_staffs; i++) { m_main_window->m_staff_contexts[i].m_flags = 0; // !friend } m_main_window->deleteStaff(m_staff_number); } void NedDeleteStaffCommand::unexecute(bool adjust /* = false */) { #ifdef UNEXECUTE_DEBUG printf("\tNedDeleteStaffCommand::unexecute\n"); #endif m_main_window->restoreStaff(m_staff_number, &m_staff_context); for (int i = 0; i < m_num_staffs; i++) { m_main_window->m_staff_contexts[i].m_flags = m_staff_flags[i]; // !friend } } nted-1.10.18/commands/deletelyricscommand.h0000664001041000007640000000326711520267221015543 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef DELETE_LYRICS_COMMAND_H #define DELETE_LYRICS_COMMAND_H #include "config.h" #include "command.h" #include class NedChordOrRest; class NedPangoCairoText; class NedDeleteLyricsCommand : public NedCommand { public: NedDeleteLyricsCommand(NedChordOrRest *chord, int line); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedChordOrRest *m_chord; NedPangoCairoText *m_lyrics; int m_line; }; #endif /* DELETE_LYRICS_COMMAND_H */ nted-1.10.18/commands/changemeasuretimsigcommand.h0000664001041000007640000000354411520267221017075 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef CHANGE_MEASURE_TIMESIG_COMMAND_H #define CHANGE_MEASURE_TIMESIG_COMMAND_H #include "config.h" #include "command.h" #include class NedMainWindow; class NedChangeMeasureTimeSignatureCommand : public NedCommand { public: NedChangeMeasureTimeSignatureCommand(NedMainWindow *main_window, int measnum, int newnum, int newdenom, unsigned int newsym); virtual void execute(bool adjust = false); virtual void unexecute(bool adjust = false); private: NedMainWindow *m_main_window; int m_measnum; int m_new_num, m_new_denom; int m_old_num, m_old_denom; unsigned int m_new_symbol, m_old_symbol; }; #endif /* CHANGE_MEASURE_TIMESIG_COMMAND_H */ nted-1.10.18/freereplaceable.h0000664001041000007640000001030011520267230012776 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef FREE_REPLACEABLE_H #define FREE_REPLACEABLE_H #include "config.h" #include #include #define FREE_PLACEABLE_VOLSIGN (1 << 0) #define FREE_PLACEABLE_TEMPO (1 << 1) #define FREE_PLACEABLE_SLUR_POINT (1 << 2) #define FREE_PLACEABLE_LINE_POINT (1 << 3) #define FREE_PLACEABLE_TEXT (1 << 4) #define FREE_PLACEABLE_SIGN (1 << 5) #define FREE_PLACEABLE_CHORD (1 << 6) #define FREE_PLACEABLE_SPACER (1 << 7) #define FREE_PLACEABLE_CHORDNAME (1 << 8) class NedChordOrRest; class NedMainWindow; class NedFreeReplaceable { public: NedFreeReplaceable(); NedFreeReplaceable(NedChordOrRest *element); NedFreeReplaceable(NedChordOrRest *element, double x, double y, bool relative); virtual NedFreeReplaceable *clone(struct addr_ref_str **slurlist, NedChordOrRest *newelement, GtkWidget *drawing_area = NULL, NedMainWindow *main_window = NULL ) = 0; virtual void adjust_pointers(struct addr_ref_str *slurlist) = 0; void setXY(double x, double y, bool relative); void setElement(NedChordOrRest *element); void freeFromElement(); virtual ~NedFreeReplaceable() {} virtual void draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level, double scale) = 0; virtual bool trySelect(double xl, double yl, double zoom_factor, double current_scale, double leftx, double topy); virtual void shift(double x, double y, double zoom_factor, double current_scale, double leftx, double topy); virtual void shiftOnlyX(double x, double y, double zoom_factor, double current_scale, double leftx, double topy); virtual void shiftOnlyY(int staff_nr, double y, double zoom_factor, double current_scale, double leftx, double topy); virtual void toRel(); virtual double getTop() {return m_y;} void drawConnection(cairo_t *cr, double xpos, double ypos, double leftx, double topy, double zoom_factor); void drawConnectionInFreeText(cairo_t *cr, double xpos, double ypos, double scale, double leftx, double topy, double zoom_factor); void getLilyText(char *s); double getX() {return m_x;} double getY() {return m_y;} double getAbsoluteX(); double getAbsoluteY(); virtual void setZoom(double zoom, double scale) {} virtual bool isActive(); virtual void startContextDialog(GtkWidget *ref) = 0; virtual int getType() = 0; void virtual recompute() {}; double getYposRelative() {return m_yrel;} NedChordOrRest *getElement() {return m_element;} virtual bool less_than(NedFreeReplaceable *other); protected: virtual void computeBbox() {} double m_x, m_y; bool m_abs; NedChordOrRest *m_element; void setThis(); void getXYPos(double *xpos, double *ypos); void toAbs(); bool m_is_abs; private: NedChordOrRest *m_element_at_move_start; double m_x_at_start, m_y_at_start; double m_last_ref_x, m_last_ref_y, m_last_elements_y; double m_yrel; friend class NedFixMovedFreePlaceableCommand; friend class NedRemoveFreePlaceableCommand; friend class NedOctavation; friend class NedAcceleration; }; #endif /* FREE_REPLACEABLE_H */ nted-1.10.18/tuplet.h0000664001041000007640000000417111520267230011223 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #ifndef TUPLET_H #define TUPLET_H #include "config.h" #include "resource.h" #include #include class NedPage; class NedStaff; class NedSystem; class NedMainWindow; class NedTuplet { public: NedTuplet(int tuplet_val, GList *chords_list, double *topy, double *boty); ~NedTuplet(); void computeTuplet(/* int stemdir */ double *topy, double *boty); void draw(cairo_t *cr); unsigned long long getEndTime(); NedMainWindow *getMainWindow(); NedPage *getPage(); NedSystem *getSystem(); NedStaff *getStaff(); void reconfigureLast(); unsigned long long getMidiStartTime(); unsigned int getDuration(); NedChordOrRest *getFirstElement(); NedChordOrRest *getLastElement(); GList *getElementList() {return m_chords;} void saveTuplet(FILE *fp); private: GList *m_chords; double m_start_x, m_start_y; double m_end_x, m_end_y; bool m_up; int m_tuplet_val; bool m_bracket_needed; }; #endif /* TUPLET_H */ nted-1.10.18/depcomp0000775001041000007640000004426711520267230011124 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2009-04-28.21; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free # Software Foundation, Inc. # 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 # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u="sed s,\\\\\\\\,/,g" depmode=msvisualcpp fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: nted-1.10.18/acceleration.cpp0000664001041000007640000001561211520267230012674 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include "acceleration.h" #include "linepoint.h" #include "page.h" #include "staff.h" #include "chordorrest.h" #include "system.h" #include "tempodialog.h" #include #define X_POS_PAGE_REL(sp, p) ((sp->m_element->getPage()->getContentXpos() + (p)) * zoom_factor - leftx) #define X_PAGE_POS_PAGE_REL(page, p) (((page)->getContentXpos() + (p)) * zoom_factor - leftx) #define Y_POS_PAGE_REL(p) ((p) * zoom_factor - topy) NedAcceleration::NedAcceleration(NedLinePoint *start, NedLinePoint *mid, NedLinePoint *end, bool ritardando) : NedLine3(start, mid, end), m_tempodiff(ritardando ? -20.0 : 20.0), m_ritardando(ritardando) { computeParams(); } NedAcceleration::NedAcceleration(NedLinePoint *start, NedLinePoint *mid, NedLinePoint *end, bool ritardando, double tempodiff) : NedLine3(start, mid, end), m_tempodiff(tempodiff), m_ritardando(ritardando) { computeParams(); } #define RITARDANDO_THICK 0.03 #define ACCELERANDO_LEN_2 0.6 #define ACCELERANDO_X_OFFS -0.5 #define ACCELERANDO_Y_OFFS 0.1 #define ACCELERANDO_SLANT CAIRO_FONT_SLANT_ITALIC #define ACCELERANDO_FONT "Serif" #define ACCELERANDO_WEIGHT CAIRO_FONT_WEIGHT_BOLD #define ACCELERANDO_FONT_SIZE 0.4 void NedAcceleration::draw(cairo_t *cr, double leftx, double topy, double zoom_factor, int zoom_level) { double ypos1; NedStaff *staff; GList *lptr, *last; if (!m_allow_drawing) return; cairo_new_path(cr); cairo_select_font_face(cr, ACCELERANDO_FONT, ACCELERANDO_SLANT, ACCELERANDO_WEIGHT); cairo_set_font_size(cr, ACCELERANDO_FONT_SIZE * zoom_factor); cairo_move_to(cr, X_POS_PAGE_REL(m_line_mid_point, m_mid_x + ACCELERANDO_X_OFFS), Y_POS_PAGE_REL(m_mid_y + ACCELERANDO_Y_OFFS)); if (m_ritardando) { cairo_show_text(cr, "ritard."); } else { cairo_show_text(cr, "accel."); } cairo_set_font_face(cr, NedResource::getFontFace()); cairo_set_font_matrix(cr, NedResource::getFontMatrix(zoom_level)); cairo_stroke(cr); if (!isActive()) return; cairo_set_line_width(cr, zoom_factor * RITARDANDO_THICK); cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); if (m_distributed1) { if ((lptr = g_list_first(m_intermediate_staves1)) == NULL) { NedResource::Abort("NedAcceleration::draw: error 1"); } last = g_list_last(m_intermediate_staves1); staff = (NedStaff *) lptr->data; cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), m_start_x), Y_POS_PAGE_REL(m_start_y)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemEnd()), Y_POS_PAGE_REL(m_start_y)); cairo_stroke(cr); for (lptr = g_list_next(lptr); lptr != last; lptr = g_list_next(lptr)) { staff = (NedStaff *) lptr->data; ypos1 = staff->getSystem()->getYPos() + staff->getMidPos() + m_line_start_point->getYposRelative(); cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemStart()), Y_POS_PAGE_REL(ypos1)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemEnd()), Y_POS_PAGE_REL(ypos1)); cairo_stroke(cr); } staff = (NedStaff *) lptr->data; ypos1 = staff->getSystem()->getYPos() + staff->getMidPos() + m_line_start_point->getYposRelative(); cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemStart()), Y_POS_PAGE_REL(ypos1)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), m_mid_x), Y_POS_PAGE_REL(ypos1)); cairo_stroke(cr); } else { cairo_move_to(cr, X_POS_PAGE_REL(m_line_start_point, m_start_x), Y_POS_PAGE_REL(m_mid_y)); cairo_line_to(cr, X_POS_PAGE_REL(m_line_mid_point, m_mid_x - ACCELERANDO_LEN_2), Y_POS_PAGE_REL(m_mid_y)); cairo_stroke(cr); } if (m_distributed2) { if ((lptr = g_list_first(m_intermediate_staves2)) == NULL) { NedResource::Abort("NedAcceleration::draw: error 2"); } last = g_list_last(m_intermediate_staves2); staff = (NedStaff *) lptr->data; ypos1 = staff->getSystem()->getYPos() + staff->getMidPos() + m_line_start_point->getYposRelative(); cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), m_mid_x), Y_POS_PAGE_REL(ypos1)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemEnd()), Y_POS_PAGE_REL(ypos1)); cairo_stroke(cr); for (lptr = g_list_next(lptr); lptr != last; lptr = g_list_next(lptr)) { staff = (NedStaff *) lptr->data; ypos1 = staff->getSystem()->getYPos() + staff->getMidPos() + m_line_start_point->getYposRelative(); cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemStart()), Y_POS_PAGE_REL(ypos1)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemEnd()), Y_POS_PAGE_REL(ypos1)); cairo_stroke(cr); } staff = (NedStaff *) lptr->data; ypos1 = staff->getSystem()->getYPos() + staff->getMidPos() + m_line_start_point->getYposRelative(); cairo_new_path(cr); cairo_move_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), staff->getSystemStart()), Y_POS_PAGE_REL(ypos1)); cairo_line_to(cr, X_PAGE_POS_PAGE_REL(staff->getPage(), m_end_x), Y_POS_PAGE_REL(ypos1)); cairo_stroke(cr); } else { cairo_move_to(cr, X_POS_PAGE_REL(m_line_mid_point, m_mid_x + ACCELERANDO_LEN_2), Y_POS_PAGE_REL(m_mid_y)); cairo_line_to(cr, X_POS_PAGE_REL(m_line_end_point, m_end_x), Y_POS_PAGE_REL(m_mid_y)); cairo_stroke(cr); } cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); } void NedAcceleration::startContextDialog(GtkWidget *ref) { unsigned int newtempo_diff; unsigned int kind; bool dot; bool state; NedTempoDialog *tempodialog = new NedTempoDialog(GTK_WINDOW(ref), true, NOTE_4, false, m_tempodiff); tempodialog->getValues(&state, &kind, &dot, &newtempo_diff); if (state) { if (dot) { m_tempodiff *= 3 * NOTE_4 / 2 / kind; } else { m_tempodiff *= NOTE_4 / kind; } if (newtempo_diff < -999) newtempo_diff = -999; if (newtempo_diff > 999) newtempo_diff = 999; } } nted-1.10.18/musicxmlimport.cpp0000664001041000007640000013640711520267336013354 00000000000000/****************************************************************************************/ /* */ /* 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 the Free Software */ /* Foundation; either version 2 of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but WITHOUT ANY */ /* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A */ /* PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License along with this */ /* program; (See "COPYING"). If not, If not, see . */ /* */ /*--------------------------------------------------------------------------------------*/ /* */ /* Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY */ /* ja@informatik.tu-chemnitz.de */ /* */ /* */ /****************************************************************************************/ #include #include "localization.h" #include "musicxmlimport.h" #include "chordorrest.h" #include "mainwindow.h" #include "note.h" #define INC_INDENT 3 #define XML_STATE_INIT 0 #define XML_STATE_NOTE 1 #define XML_STATE_PITCH 2 #define XML_STATE_STEP 3 #define XML_STATE_OCTAVE 4 #define XML_STATE_VOICE 5 #define XML_STATE_DURATION 6 #define XML_STATE_TIME_MODIFICATION 7 #define XML_STATE_ACTUAL_NOTES 8 #define XML_STATE_NORMAL_NOTES 9 #define XML_STATE_TIE_TYPE 10 #define XML_STATE_PART_LIST 11 #define XML_STATE_SCORE_PART 12 #define XML_STATE_PART_NAME 13 #define XML_STATE_PART 14 #define XML_STATE_MEASURE 15 #define XML_STATE_ATTRIBUTES 16 #define XML_STATE_DIVISIONS 17 #define XML_STATE_KEY 18 #define XML_STATE_FIFTHS 19 #define XML_STATE_TIME 20 #define XML_STATE_BEATS 21 #define XML_STATE_BEAT_TYPE 22 #define XML_STATE_CLEF 23 #define XML_STATE_SIGN 24 #define XML_STATE_LINE 25 #define XML_STATE_MIDI_INSTRUMENT 26 #define XML_STATE_MIDI_PGM 27 #define XML_STATE_MIDI_CHANNEL 28 #define XML_STATE_BACKUP 29 #define XML_STATE_FORWARD 30 #define XML_STATE_ALTER 31 #define XML_STATE_ACCIDENTAL 32 #define XML_STATE_BARLINE 33 #define XML_STATE_REPEAT 34 #define XML_STATE_ENDING 35 #define XML_STATE_LYRIC 36 #define XML_STATE_TEXT 37 #define XML_STATE_TYPE 38 #define XML_STATE_CLEF_OCTAVE_CHANGE 39 #define XML_STATE_ARTICULATIONS 40 #define XML_STATE_VOLUME 41 #define XML_STATE_DIRECTION 42 #define XML_STATE_DIR_TYPE 43 #define XML_STATE_METRONOME 44 #define XML_STATE_BEAT_UNIT 45 #define XML_STATE_PER_MINUTE 46 #define XML_TIE_TYPE_NONE 0 #define XML_TIE_TYPE_START 1 #define XML_TIE_TYPE_STOP 2 #define CHOOSE_HEAD(line) ((im->m_current_part->midi_channel == 9) ? (((line + OFFSET_TO_BE_USED_DURING_MIDI_IMPORT) % COUNT_OF_DRUMS_TO_CHOOSE_DURING_MIDI_IMPORT) + 1) : NORMAL_NOTE ) bool NedMusicXMLImport::import() { #define BUFLEN 4096 GMarkupParser parser; char buffer[BUFLEN]; int len; m_error = NULL; m_error_string[0] = '\0'; m_current_part = NULL; m_current_voice = 0; m_duration = -1; m_upbeat_inverse = 1; m_first_measure = true; m_beats = m_beat_type = 4; m_semantic_error = false; m_partcount = 0; emtpy_state_stack(); push_state(XML_STATE_INIT); parser.start_element = startTag; parser.end_element = endTag; parser.text = internal_text; parser.passthrough = NULL; parser.error = NULL; m_parser_context = g_markup_parse_context_new(&parser, (GMarkupParseFlags) 0, (void *) this, NULL); len = fread(buffer, 1, BUFLEN, m_FILE); while (len > 0 && !m_semantic_error) { if (len > 0 && !m_semantic_error) { if (!g_markup_parse_context_parse(m_parser_context, buffer, len, &m_error)) { produceSyntaxErrorString(); return false; } } len = fread(buffer, 1, BUFLEN, m_FILE); } if (!g_markup_parse_context_end_parse(m_parser_context, &m_error)) { produceSyntaxErrorString(); return false; } g_markup_parse_context_free(m_parser_context); /* for (int i = 0; i < m_partcount; i++) { NedResource::DbgMsg(DBG_TESTING, "Part %d: id = %s, name = %s, divisions = %d, midi_pgm = %d, midi_channel = %d clef = ", i, m_parts[i].id, m_parts[i].name, m_parts[i].divisions, m_parts[i].midi_pgm, m_parts[i].midi_channel); switch(m_parts[i].clef) { case TREBLE_CLEF: NedResource::DbgMsg(DBG_TESTING, "TREBLE_CLEF\n"); break; case ALTO_CLEF: NedResource::DbgMsg(DBG_TESTING, "ALTO_CLEF\n"); break; case BASS_CLEF: NedResource::DbgMsg(DBG_TESTING, "BASS_CLEF\n"); break; case NEUTRAL_CLEF1: NedResource::DbgMsg(DBG_TESTING, "NEUTRAL_CLEF1\n"); break; case NEUTRAL_CLEF2: NedResource::DbgMsg(DBG_TESTING, "NEUTRAL_CLEF2\n"); break; } NedResource::DbgMsg(DBG_TESTING, "num = %d, denom = %d, keysig = %d\n", m_parts[i].numerator, m_parts[i].denominator, m_parts[i].key_signature); } */ if (m_upbeat_inverse == 1) m_upbeat_inverse = 0; removeEmptyParts(); return !m_semantic_error; } void NedMusicXMLImport::produceSyntaxErrorString() { char Str[DEFAULT_STRING_LENGTH - 20]; strncpy(Str, m_error->message, DEFAULT_STRING_LENGTH - 20 - 1); Str[DEFAULT_STRING_LENGTH - 20 - 1] = '\0'; //sprintf(m_error_string, "line %d:%d:", line, column); if (!m_semantic_error) { sprintf(m_error_string, "%s (%d)", Str, m_error->code); } } void NedMusicXMLImport::produceSementicErrorString(char *semantic_error) { int line, column; g_markup_parse_context_get_position(m_parser_context, &line, &column); printf("line %d:%d: %s", line, column, semantic_error); m_semantic_error = true; } int NedMusicXMLImport::pitchToLine() { int line, line_offs = 0, line_add = 0; char Str[128]; if (m_current_part == NULL) { NedResource::Abort("NedMusicXMLImport::pitchToLine"); } switch (m_current_part->current_clef) { case ALTO_CLEF: line_offs = 6; break; case SOPRAN_CLEF: line_offs = 2; break; case TENOR_CLEF: line_offs = 8; break; case BASS_CLEF: case NEUTRAL_CLEF2: line_offs = 12; break; } if (m_pitch_name[1] != '\0') { sprintf(Str, _("unknown pitch: %s"), m_pitch_name); produceSementicErrorString(Str); return UNKNOWN_LINE; } if (m_octave_name[1] != '\0' || m_octave_name[0] < '0' || m_octave_name[0] > '7') { sprintf(Str, _("unknown octave: %s"), m_octave_name); produceSementicErrorString(Str); return UNKNOWN_LINE; } switch(m_pitch_name[0]) { case 'C': case 'c': line = -2; break; case 'D': case 'd': line = -1; break; case 'E': case 'e': line = 0; break; case 'F': case 'f': line = 1; break; case 'G': case 'g': line = 2; break; case 'A': case 'a': line = 3; break; case 'B': case 'b': line = 4; break; default: sprintf(Str, _("unknown pitch: %s"), m_pitch_name); produceSementicErrorString(Str); return UNKNOWN_LINE; } switch (m_current_part->current_clef_octave) { case 12: line_add = -7; break; case -12: line_add = 7; break; } return line + line_offs + (m_octave_name[0] - '0' - 4) * 7 + line_add; } void NedMusicXMLImport::startTag (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { NedMusicXMLImport *im = (NedMusicXMLImport *) user_data; if (im->m_semantic_error) return; char buffer[DEFAULT_STRING_LENGTH]; char Str[DEFAULT_STRING_LENGTH]; /* int i, j; for (i = 0; i < im->m_indent; i++) putchar(' '); NedResource::DbgMsg(DBG_TESTING, "Start: %s\n", element_name); j = 0; while (attribute_names[j] != NULL) { for (i = 0; i < im->m_indent+1; i++) NedResource::DbgMsg(DBG_TESTING, " "); NedResource::DbgMsg(DBG_TESTING, "[ %s : %s ]\n", attribute_names[j], attribute_values[j]); j++; } */ if (!strcmp(element_name, "note")) { im->push_state(XML_STATE_NOTE); im->m_current_voice = 0; im->m_duration = -1; im->m_is_rest = false; im->m_tie_stop = false; im->m_is_grace = false; im->m_has_splash = false; im->m_staccato = false; im->m_staccatissimo = false; im->m_trill = false; im->m_strong_accent = false; im->m_tenuto = false; im->m_accent = false; im->m_note_type[0] = '\0'; im->m_is_chord_member = false; im->m_alter = UNKNOWN_LINE; im->m_actual_notes = im->m_normal_notes = -1; for (int i = 0; i < MAX_LYRICS_LINES; im->m_lyrics[i++][0] = '\0'); } else if (!strcmp(element_name, "pitch")) { im->push_state(XML_STATE_PITCH); im->m_pitch_name[0] = '\0'; im->m_octave_name[0] = '\0'; } else if (!strcmp(element_name, "backup")) { im->push_state(XML_STATE_BACKUP); im->m_duration = -1; } else if (!strcmp(element_name, "forward")) { im->push_state(XML_STATE_FORWARD); im->m_duration = -1; } else if (!strcmp(element_name, "step")) { im->push_state(XML_STATE_STEP); } else if (!strcmp(element_name, "octave")) { im->push_state(XML_STATE_OCTAVE); } else if (!strcmp(element_name, "articulations")) { im->push_state(XML_STATE_ARTICULATIONS); } else if (!strcmp(element_name, "staccato")) { if (!im->check_state(XML_STATE_ARTICULATIONS, XML_STATE_NOTE)) { im->produceSementicErrorString(_("\"articulations\" outside \"note\"")); return; } im->m_staccato = true; } else if (!strcmp(element_name, "staccatissimo")) { if (!im->check_state(XML_STATE_ARTICULATIONS, XML_STATE_NOTE)) { im->produceSementicErrorString(_("\"articulations\" outside \"note\"")); return; } im->m_staccatissimo = true; } else if (!strcmp(element_name, "strong-accent")) { if (!im->check_state(XML_STATE_ARTICULATIONS, XML_STATE_NOTE)) { im->produceSementicErrorString(_("\"strong-accent\" outside \"note\"")); return; } im->m_strong_accent = true; } else if (!strcmp(element_name, "tenuto")) { if (!im->check_state(XML_STATE_ARTICULATIONS, XML_STATE_NOTE)) { im->produceSementicErrorString(_("\"tenuto\" outside \"note\"")); return; } im->m_tenuto = true; } else if (!strcmp(element_name, "accent")) { if (!im->check_state(XML_STATE_ARTICULATIONS, XML_STATE_NOTE)) { im->produceSementicErrorString(_("\"accent\" outside \"note\"")); return; } im->m_accent = true; } else if (!strcmp(element_name, "trill-mark")) { im->m_trill = true; } else if (!strcmp(element_name, "pedal")) { if (!im->getAttr("type", buffer, attribute_names, attribute_values)) { im->produceSementicErrorString(_("\"pedal\" without \"type\"")); return; } if (!strcmp(buffer, "start")) { im->m_pedal_on = true; } else if (!strcmp(buffer, "stop")) { im->m_pedal_off = true; } else { im->produceSementicErrorString(_("\"pedal\" --> \"type\" is bad")); return; } } else if (!strcmp(element_name, "alter")) { im->push_state(XML_STATE_ALTER); } else if (!strcmp(element_name, "rest")) { im->m_is_rest = true; } else if (!strcmp(element_name, "chord")) { im->m_is_chord_member = true; } else if (!strcmp(element_name, "grace")) { im->m_is_grace = true; if (!im->getAttr("splash", buffer, attribute_names, attribute_values)) { if (!strcmp("yes", buffer)) { im->m_has_splash = true; } } } else if (!strcmp(element_name, "type")) { im->push_state(XML_STATE_TYPE); } else if (!strcmp(element_name, "tie")) { if (!im->getAttr("type", buffer, attribute_names, attribute_values)) { im->produceSementicErrorString(_("\"tie\" without \"type\"")); return; } if (!strcmp(buffer, "stop")) { im->m_tie_stop = true; } } else if (!strcmp(element_name, "duration")) { im->push_state(XML_STATE_DURATION); } else if (!strcmp(element_name, "part")) { im->push_state(XML_STATE_PART); if (!im->getAttr("id", buffer, attribute_names, attribute_values)) { im->produceSementicErrorString(_("\"part\" without \"id\"")); return; } if (!im->setCurrentPart(buffer)) { sprintf(Str, _("part \"%s\" not defined"), buffer); im->produceSementicErrorString(Str); return; } im->m_pedal_off = false; im->m_pedal_on = false; } else if (!strcmp(element_name, "midi-instrument")) { im->push_state(XML_STATE_MIDI_INSTRUMENT); } else if (!strcmp(element_name, "direction")) { im->push_state(XML_STATE_DIRECTION); } else if (!strcmp(element_name, "direction-type")) { im->push_state(XML_STATE_DIR_TYPE); } else if (!strcmp(element_name, "metronome")) { im->push_state(XML_STATE_METRONOME); } else if (!strcmp(element_name, "beat-unit")) { im->push_state(XML_STATE_BEAT_UNIT ); } else if (!strcmp(element_name, "per-minute")) { im->push_state(XML_STATE_PER_MINUTE ); } else if (!strcmp(element_name, "midi-program")) { im->push_state(XML_STATE_MIDI_PGM); } else if (!strcmp(element_name, "midi-channel")) { im->push_state(XML_STATE_MIDI_CHANNEL); } else if (!strcmp(element_name, "volume")) { im->push_state(XML_STATE_VOLUME); } else if (!strcmp(element_name, "measure")) { im->m_current_measure_number++; im->push_state(XML_STATE_MEASURE); if (!im->getAttr("number", buffer, attribute_names, attribute_values)) { im->produceSementicErrorString(_("\"measure\" without \"number\"")); return; } } else if (!strcmp(element_name, "attributes")) { im->push_state(XML_STATE_ATTRIBUTES); } else if (!strcmp(element_name, "divisions")) { im->push_state(XML_STATE_DIVISIONS); } else if (!strcmp(element_name, "barline")) { im->push_state(XML_STATE_BARLINE); } else if (!strcmp(element_name, "repeat")) { im->push_state(XML_STATE_REPEAT); if (!im->getAttr("direction", buffer, attribute_names, attribute_values)) { im->produceSementicErrorString(_("\"repeat\" without \"number\"")); return; } if (!strcmp(buffer, "forward")) { im->m_main_window->setSpecial(im->m_current_measure_number, REPEAT_OPEN, false, NULL, false); } else if (!strcmp(buffer, "backward")) { im->m_main_window->setSpecial(im->m_current_measure_number + 1, REPEAT_CLOSE, false, NULL, false); } } else if (!strcmp(element_name, "ending")) { im->push_state(XML_STATE_ENDING); if (!im->getAttr("type", buffer, attribute_names, attribute_values)) { im->produceSementicErrorString(_("\"ending\" without \"start\"")); return; } if (!strcmp(buffer, "start")) { if (!im->getAttr("number", buffer, attribute_names, attribute_values)) { im->produceSementicErrorString(_("\"ending\" without \"number\"")); return; } if (buffer[0] == '1' && buffer[1] == '\0') { im->m_main_window->setSpecial(im->m_current_measure_number, REP1START, false, NULL, false); } else if (buffer[0] == '2' && buffer[1] == '\0') { im->m_main_window->setSpecial(im->m_current_measure_number, REP2START, false, NULL, false); im->m_main_window->setSpecial(im->m_current_measure_number + 1, REP2END, false, NULL, false); } } else if (strcmp(buffer, "discontinue")) { if (buffer[0] == '1' && buffer[1] == '\0') { im->m_main_window->setSpecial(im->m_current_measure_number + 1, REP1END, false, NULL, false); } else if (buffer[0] == '2' && buffer[1] == '\0') { im->m_main_window->setSpecial(im->m_current_measure_number + 1, REP2END, false, NULL, false); } } } else if (!strcmp(element_name, "lyric")) { im->push_state(XML_STATE_LYRIC); if (!im->getAttr("number", buffer, attribute_names, attribute_values)) { im->produceSementicErrorString(_("\"lyric\" without \"number\"")); return; } if (sscanf(buffer, "%d", &(im->m_lyric_number)) != 1) { sprintf(Str, _("bad lyricnumber: %s"), buffer); im->produceSementicErrorString(Str); return; } im->m_lyric_number--; } else if (!strcmp(element_name, "text")) { im->push_state(XML_STATE_TEXT); } else if (!strcmp(element_name, "key")) { im->push_state(XML_STATE_KEY); im->m_keysig = -1000; } else if (!strcmp(element_name, "fifths")) { im->push_state(XML_STATE_FIFTHS); } else if (!strcmp(element_name, "time")) { im->push_state(XML_STATE_TIME); im->m_beats = im->m_beat_type = -1; } else if (!strcmp(element_name, "beats")) { im->push_state(XML_STATE_BEATS); } else if (!strcmp(element_name, "beat-type")) { im->push_state(XML_STATE_BEAT_TYPE); } else if (!strcmp(element_name, "clef")) { im->push_state(XML_STATE_CLEF); im->m_clefsign[0] = '\0'; im->m_clefline = -1; im->m_clefoctave = 0; } else if (!strcmp(element_name, "clef-octave-change")) { im->push_state(XML_STATE_CLEF_OCTAVE_CHANGE); } else if (!strcmp(element_name, "sign")) { im->push_state(XML_STATE_SIGN); } else if (!strcmp(element_name, "line")) { im->push_state(XML_STATE_LINE); } else if (!strcmp(element_name, "voice")) { im->push_state(XML_STATE_VOICE); } else if (!strcmp(element_name, "time-modification")) { im->push_state(XML_STATE_TIME_MODIFICATION); } else if (!strcmp(element_name, "actual-notes")) { im->push_state(XML_STATE_ACTUAL_NOTES); } else if (!strcmp(element_name, "normal-notes")) { im->push_state(XML_STATE_NORMAL_NOTES); } else if (!strcmp(element_name, "accidental")) { im->push_state(XML_STATE_ACCIDENTAL); } else if (!strcmp(element_name, "part-list")) { im->push_state(XML_STATE_PART_LIST); } else if (!strcmp(element_name, "score-part")) { if (!im->check_state(XML_STATE_PART_LIST)) { im->produceSementicErrorString(_("\"score-part\" outside \"part-list\"")); return; } im->push_state(XML_STATE_SCORE_PART); if (im->m_partcount >= MAXPARTS) return; im->m_current_part = &(im->m_parts[im->m_partcount]); im->m_partcount++; if (!im->getAttr((char *) "id", im->m_parts[im->m_partcount-1].id, attribute_names, attribute_values)) { im->produceSementicErrorString(_("\"score-part\" without \"id\"")); return; } } else if (!strcmp(element_name, "part-name")) { if (im->m_partcount < MAXPARTS) { if (!im->check_state(XML_STATE_SCORE_PART, XML_STATE_PART_LIST)) { im->produceSementicErrorString(_("\"part-name\" outside \"part-list\"")); return; } } im->push_state(XML_STATE_PART_NAME); } //im->m_indent += INC_INDENT; } void NedMusicXMLImport::endTag (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error) { NedMusicXMLImport *im = (NedMusicXMLImport *) user_data; int line, length, dotcount; unsigned int state; int dummy; unsigned int dummy2; NedChordOrRest *chord_or_rest = NULL; if (im->m_semantic_error) return; /* int i; im->m_indent -= INC_INDENT; for (i = 0; i < im->m_indent; i++) putchar(' '); NedResource::DbgMsg(DBG_TESTING, "Ende: %s\n", element_name); */ if (!strcmp(element_name, "note")) { im->pop_state(); if (im->m_current_part - im->m_parts >= MAXPARTS) return; if (im->m_current_voice < 0 || im->m_current_voice >= VOICE_COUNT) { //sprintf(Str, _("voice number: %d is not supported"), im->m_current_voice + 1); NedResource::DbgMsg(DBG_CRITICAL, _("voice number: %d is not supported"), im->m_current_voice + 1); //im->produceSementicErrorString(Str); return; } if (im->m_is_grace) { im->determineGrace(&length, im->m_note_type, im->m_has_splash); if ((line = im->pitchToLine()) != UNKNOWN_LINE) { im->m_current_part->voices[im->m_current_voice] = g_list_append( im->m_current_part->voices[im->m_current_voice], im->m_current_part->last_chord[im->m_current_voice] = chord_or_rest = new NedChordOrRest(NULL, TYPE_GRACE, FALSE, line, 0, length, NORMAL_NOTE, 0, 0)); } return; } im->determineLength(&length, &dotcount); /* if (im->m_actual_notes > 0) { NedResource::DbgMsg(DBG_TESTING, "TOL: %d/%d, ", im->m_actual_notes, im->m_normal_notes); } if (im->m_is_rest) { NedResource::DbgMsg(DBG_TESTING, "Rest: length = %u(%u), dotcount = %d, voice = %d\n", length, length/NOTE_8, dotcount, im->m_current_voice); } else if ((line = im->pitchToLine()) != UNKNOWN_LINE) { NedResource::DbgMsg(DBG_TESTING, "length = %u(%u), dotcount = %d, line = %d, chord_member = %d, voice = %d\n", length, length/NOTE_8, dotcount, line, im->m_is_chord_member, im->m_current_voice); } */ if (im->m_is_chord_member) { if (im->m_current_part->last_chord[im->m_current_voice] == NULL) { im->produceSementicErrorString((char *) "standalone chord"); return; } state = im->determineState(); if ((line = im->pitchToLine()) == UNKNOWN_LINE) return; NedNote *note = new NedNote(im->m_current_part->last_chord[im->m_current_voice], line, CHOOSE_HEAD(line), state); im->m_current_part->last_chord[im->m_current_voice]->insertNoteAt(note); if (im->m_tie_stop && im->m_current_voice >= 0 && im->m_current_voice < VOICE_COUNT) { im->tie(im->m_current_part->last_chord[im->m_current_voice], note); } return; } if (im->m_is_rest) { im->m_current_part->last_chord[im->m_current_voice] = NULL; im->m_current_part->voices[im->m_current_voice] = g_list_append( im->m_current_part->voices[im->m_current_voice], chord_or_rest = new NedChordOrRest(NULL, TYPE_REST, FALSE, 3, dotcount, length, NORMAL_NOTE, 0, 0)); } else if ((line = im->pitchToLine()) != UNKNOWN_LINE) { state = im->determineState(); im->m_current_part->voices[im->m_current_voice] = g_list_append( im->m_current_part->voices[im->m_current_voice], im->m_current_part->last_chord[im->m_current_voice] = chord_or_rest = new NedChordOrRest(NULL, TYPE_CHORD, FALSE, line, dotcount, length, CHOOSE_HEAD(line), state, 0)); for (int i = 0; i < MAX_LYRICS_LINES; i++) { chord_or_rest->setLyricsFromOldContext(im->m_main_window, i, im->m_lyrics[i]); } } if (im->m_tie_stop && im->m_current_voice >= 0 && im->m_current_voice < VOICE_COUNT) { im->tie(im->m_current_part->last_chord[im->m_current_voice], im->m_current_part->last_chord[im->m_current_voice]->getFirstNote()); } if (im->m_actual_notes >= 0) { chord_or_rest->setTupletVal(im->m_actual_notes); } } else if (!strcmp(element_name, "forward")) { im->pop_state(); if (im->m_current_part - im->m_parts >= MAXPARTS) return; if (im->m_current_voice < 0 || im->m_current_voice >= VOICE_COUNT) return; im->determineLength(&length, &dotcount); im->m_current_part->voices[im->m_current_voice] = g_list_append( im->m_current_part->voices[im->m_current_voice], new NedChordOrRest(NULL, TYPE_REST, TRUE, 3, dotcount, length, NORMAL_NOTE, 0, 0)); } else if (!strcmp(element_name, "part-list")) { im->pop_state(); } else if (!strcmp(element_name, "part") || !strcmp(element_name, "score-part")) { im->m_current_measure_number = 0; im->pop_state(); im->m_current_part = NULL; } else if (!strcmp(element_name, "clef")) { im->pop_state(); if (im->m_current_voice < 0 || im->m_current_voice >= VOICE_COUNT) return; im->determineClef(); if (!im->m_current_part->first_clef) { if (im->m_current_part - im->m_parts < MAXPARTS) { im->m_current_part->voices[im->m_current_voice] = g_list_append( im->m_current_part->voices[im->m_current_voice], new NedChordOrRest(NULL, TYPE_CLEF, im->m_current_part->current_clef, im->m_clefoctave, 0)); } } im->m_current_part->first_clef = false; } else if (!strcmp(element_name, "time")) { im->pop_state(); im->determineTimeSignature(); if (!im->m_current_part->first_time_signature) { im->m_main_window->setSpecialTimesig(im->m_current_measure_number, im->m_current_part->current_numerator, im->m_current_part->current_denominator, TIME_SYMBOL_NONE, &dummy, &dummy, &dummy2); // friend !! } im->m_current_part->first_time_signature = false; } else if (!strcmp(element_name, "key")) { im->pop_state(); if (im->m_current_part - im->m_parts >= MAXPARTS) return; if (im->m_current_voice < 0 || im->m_current_voice >= VOICE_COUNT) return; im->determineKeySignature(); if (!im->m_current_part->first_key_signature) { if (im->m_current_part - im->m_parts < MAXPARTS) { im->m_current_part->voices[im->m_current_voice] = g_list_append( im->m_current_part->voices[im->m_current_voice], new NedChordOrRest(NULL, TYPE_KEYSIG, im->m_keysig, im->m_current_part->last_keysig[im->m_current_voice], 0)); } } im->m_current_part->first_key_signature = false; im->m_current_part->last_keysig[im->m_current_voice] = im->m_keysig; } else if (!strcmp(element_name, "measure")) { im->pop_state(); if (im->m_first_measure) { im->m_first_measure = false; im->determineUpBeat(); } } else if (!strcmp(element_name, "step") || !strcmp(element_name, "octave") || !strcmp(element_name, "duration") || !strcmp(element_name, "voice") || !strcmp(element_name, "pitch") || !strcmp(element_name, "time-modification") || !strcmp(element_name, "actual-notes") || !strcmp(element_name, "normal-notes") || !strcmp(element_name, "part-name") || !strcmp(element_name, "accidental") || !strcmp(element_name, "attributes") || !strcmp(element_name, "divisions") || !strcmp(element_name, "sign") || !strcmp(element_name, "fifths") || !strcmp(element_name, "beats") || !strcmp(element_name, "beat-type") || !strcmp(element_name, "line") || !strcmp(element_name, "voice") || !strcmp(element_name, "time-modification") || !strcmp(element_name, "midi-instrument") || !strcmp(element_name, "midi-program") || !strcmp(element_name, "midi-channel") || !strcmp(element_name, "backup") || !strcmp(element_name, "alter") || !strcmp(element_name, "barline") || !strcmp(element_name, "repeat") || !strcmp(element_name, "ending") || !strcmp(element_name, "lyric") || !strcmp(element_name, "text") || !strcmp(element_name, "type") || !strcmp(element_name, "clef-octave-change") || !strcmp(element_name, "articulations") || !strcmp(element_name, "volume") || !strcmp(element_name, "direction") || !strcmp(element_name, "direction-type") || !strcmp(element_name, "metronome") || !strcmp(element_name, "beat-unit") || !strcmp(element_name, "per-minute")) { im->pop_state(); } } void NedMusicXMLImport::internal_text(GMarkupParseContext *context, const gchar *text, gsize text_len, gpointer user_data, GError **error) { NedMusicXMLImport *im = (NedMusicXMLImport *) user_data; if (im->m_semantic_error) return; char Str[DEFAULT_STRING_LENGTH]; int vol, tempo; /* int i; NedResource::DbgMsg(DBG_TESTING, "TEXT(0): %s, state = %d\n", text, im->getState()); char *cptr1, *cptr2; if (text_len > 0) return; for (cptr1 = (char *) text; *cptr1 <= ' ' && *cptr1 != '\0'; cptr1++); for (cptr2 = (char *) text + text_len; *cptr2 <= ' ' && cptr2 > cptr1; cptr2--); cptr2[1] = '\0'; if (strlen(cptr1) < 1) return; for (i = 0; i < im->m_indent; i++) putchar(' '); NedResource::DbgMsg(DBG_TESTING, "TEXT: %s\n", cptr1); NedResource::DbgMsg(DBG_TESTING, "TEXT: %s, state = %d\n", cptr1, im->getState()); */ switch(im->getState()) { case XML_STATE_STEP: if (im->m_pitch_name[0] != '\0') { im->produceSementicErrorString(_("double \"step\"")); return; } strcpy(im->m_pitch_name, text); break; case XML_STATE_OCTAVE: if (im->m_octave_name[0] != '\0') { im->produceSementicErrorString(_("double \"octave\"")); return; } strcpy(im->m_octave_name, text); break; case XML_STATE_DURATION: if (im->m_duration >= 0) { NedResource::DbgMsg(DBG_TESTING, "text = %s\n", text); im->produceSementicErrorString(_("double \"duration\"")); return; } if (sscanf(text, "%d", &(im->m_duration)) != 1) { im->produceSementicErrorString(_("bad duration")); return; } break; case XML_STATE_PART_NAME: if (im->m_partcount >= MAXPARTS) break; if (im->m_partcount < 1) { NedResource::Abort("XML_STATE_PART_NAME: m_partcount < 1"); } strcpy(im->m_parts[im->m_partcount-1].name, text); break; case XML_STATE_VOICE: if (im->m_current_part == NULL) { NedResource::Abort("im->m_current_part == NULL(1)"); } if (sscanf(text, "%d", &(im->m_current_voice)) != 1) { sprintf(Str, _("Bad voice number: %s"), text); im->produceSementicErrorString(Str); } im->m_current_voice--; break; case XML_STATE_DIVISIONS: if (!im->check_state(XML_STATE_DIVISIONS, XML_STATE_ATTRIBUTES, XML_STATE_MEASURE, XML_STATE_PART)) { im->produceSementicErrorString(_("\"divisions\" outside \"attributes\"")); return; } if (im->m_current_part == NULL) { NedResource::Abort("im->m_current_part == NULL(2)"); } if (sscanf(text, "%d", &(im->m_current_part->divisions)) != 1) { sprintf(Str, _("Bad divisions number: %s"), text); im->produceSementicErrorString(Str); } break; case XML_STATE_MIDI_PGM: if (!im->check_state(XML_STATE_MIDI_PGM, XML_STATE_MIDI_INSTRUMENT, XML_STATE_SCORE_PART)) { im->produceSementicErrorString(_("\"midi-programm\" outside \"midi-instrument\"")); return; } if (im->m_partcount >= MAXPARTS) break; if (im->m_current_part == NULL) { NedResource::Abort("im->m_current_part == NULL(3)"); } if (sscanf(text, "%d", &(im->m_current_part->midi_pgm)) != 1) { sprintf(Str, _("Bad midi channel number: %s"), text); im->produceSementicErrorString(Str); } if (im->m_current_part->midi_pgm < 1 || im->m_current_part->midi_pgm > 128) { sprintf(Str, _("Bad midi-programm number: %d"), im->m_current_part->midi_pgm); im->produceSementicErrorString(Str); } im->m_current_part->midi_pgm--; break; case XML_STATE_MIDI_CHANNEL: if (!im->check_state(XML_STATE_MIDI_CHANNEL, XML_STATE_MIDI_INSTRUMENT, XML_STATE_SCORE_PART)) { im->produceSementicErrorString(_("\"midi-channel\" outside \"midi-instrument\"")); return; } if (im->m_partcount >= MAXPARTS) break; if (im->m_current_part == NULL) { NedResource::Abort("im->m_current_part == NULL(4)"); } if (sscanf(text, "%d", &(im->m_current_part->midi_channel)) != 1) { sprintf(Str, _("Bad midi channel number: %s"), text); im->produceSementicErrorString(Str); } if (im->m_current_part->midi_channel < 1 || im->m_current_part->midi_channel > 16) { sprintf(Str, _("Bad midi channel number: %d"), im->m_current_part->midi_channel); im->produceSementicErrorString(Str); } im->m_current_part->midi_channel--; break; case XML_STATE_VOLUME: if (!im->check_state(XML_STATE_VOLUME, XML_STATE_MIDI_INSTRUMENT, XML_STATE_SCORE_PART)) { im->produceSementicErrorString(_("\"volume\" outside \"midi-instrument\"")); return; } if (im->m_partcount >= MAXPARTS) break; if (im->m_current_part == NULL) { NedResource::Abort("im->m_current_part == NULL(44)"); } if (sscanf(text, "%d", &vol) != 1) { sprintf(Str, _("Bad midi volume number: %s"), text); im->produceSementicErrorString(Str); } if (vol < 0 || vol > 100) { sprintf(Str, _("Bad volume number: %d"), vol); im->produceSementicErrorString(Str); } im->m_current_part->volume = (int) ((double) vol * 127.0 / 100.0); break; case XML_STATE_PER_MINUTE : if (!im->check_state(XML_STATE_PER_MINUTE , XML_STATE_METRONOME, XML_STATE_DIR_TYPE)) { im->produceSementicErrorString(_("\"per-minute\" outside \"XML_STATE_DIRECTION\"")); return; } if (im->m_partcount >= MAXPARTS) break; if (im->m_current_part == NULL) { NedResource::Abort("im->m_current_part == NULL(45)"); } if (sscanf(text, "%d", &tempo) != 1) { sprintf(Str, _("Bad midi volume number: %s"), text); im->produceSementicErrorString(Str); } if (tempo < 20 || tempo > 300) { sprintf(Str, _("Bad temo value: %d"), tempo); im->produceSementicErrorString(Str); } im->m_tempo_inverse = 60000.0 / (double) tempo; break; case XML_STATE_SIGN: if (!im->check_state(XML_STATE_SIGN, XML_STATE_CLEF, XML_STATE_ATTRIBUTES)) { im->produceSementicErrorString(_("\"sign\" outside \"clef\"")); return; } if (im->m_clefsign[0] != '\0') { im->produceSementicErrorString(_("double \"sign\" in \"clef\"")); return; } strcpy(im->m_clefsign, text); break; case XML_STATE_LINE: if (!im->check_state(XML_STATE_LINE, XML_STATE_CLEF, XML_STATE_ATTRIBUTES)) { im->produceSementicErrorString(_("\"line\" outside \"clef\"")); return; } if (im->m_clefline >= 0) { im->produceSementicErrorString(_("double \"line\" in \"clef\"")); return; } if (!sscanf(text, "%d", &(im->m_clefline))) { sprintf(Str, _("bad clef line: %s"), text); im->produceSementicErrorString(Str); return; } break; case XML_STATE_BEATS: if (!im->check_state(XML_STATE_BEATS, XML_STATE_TIME, XML_STATE_ATTRIBUTES)) { im->produceSementicErrorString(_("\"beats\" outside \"time\"")); return; } if (im->m_beats >= 0) { im->produceSementicErrorString(_("double \"beats\" in \"time\"")); return; } if (!sscanf(text, "%d", &(im->m_beats))) { sprintf(Str, _("bad beats value: %s"), text); im->produceSementicErrorString(Str); return; } break; case XML_STATE_BEAT_TYPE: if (!im->check_state(XML_STATE_BEAT_TYPE, XML_STATE_TIME, XML_STATE_ATTRIBUTES)) { im->produceSementicErrorString(_("\"beat-type\" outside \"time\"")); return; } if (im->m_beat_type >= 0) { im->produceSementicErrorString(_("double \"beat_type\" in \"time\"")); return; } if (!sscanf(text, "%d", &(im->m_beat_type))) { sprintf(Str, _("bad beat-type value: %s"), text); im->produceSementicErrorString(Str); return; } break; case XML_STATE_FIFTHS: if (!im->check_state(XML_STATE_FIFTHS, XML_STATE_KEY, XML_STATE_ATTRIBUTES)) { im->produceSementicErrorString(_("\"fithts\" outside \"key\"")); return; } if (im->m_keysig > -1000) { im->produceSementicErrorString(_("double \"fithts\" in \"key\"")); return; } if (!sscanf(text, "%d", &(im->m_keysig))) { sprintf(Str, _("bad keysig value: %s"), text); im->produceSementicErrorString(Str); return; } break; case XML_STATE_ACTUAL_NOTES: if (!im->check_state(XML_STATE_ACTUAL_NOTES, XML_STATE_TIME_MODIFICATION, XML_STATE_NOTE)) { im->produceSementicErrorString(_("\"actual-notes\" outside \"time-modification\"")); return; } if (im->m_actual_notes > 0) { im->produceSementicErrorString(_("double \"actual-notes\" in \"time-modification\"")); return; } if (!sscanf(text, "%d", &(im->m_actual_notes))) { sprintf(Str, _("bad actual-notes value: %s"), text); im->produceSementicErrorString(Str); return; } break; case XML_STATE_NORMAL_NOTES: if (!im->check_state(XML_STATE_NORMAL_NOTES, XML_STATE_TIME_MODIFICATION, XML_STATE_NOTE)) { im->produceSementicErrorString(_("\"normal-notes\" outside \"time-modification\"")); return; } if (im->m_normal_notes > 0) { im->produceSementicErrorString(_("double \"normal-notes\" in \"time-modification\"")); return; } if (!sscanf(text, "%d", &(im->m_normal_notes))) { sprintf(Str, _("bad normal-notes value: %s"), text); im->produceSementicErrorString(Str); return; } break; case XML_STATE_ALTER: if (!im->check_state(XML_STATE_ALTER, XML_STATE_PITCH, XML_STATE_NOTE)) { im->produceSementicErrorString(_("\"alter\" outside \"pitch\"")); return; } if (im->m_alter != UNKNOWN_LINE) { im->produceSementicErrorString(_("double \"alter\" in \"pitch\"")); return; } if (!sscanf(text, "%d", &(im->m_alter))) { sprintf(Str, _("bad alter value: %s"), text); im->produceSementicErrorString(Str); return; } break; case XML_STATE_ACCIDENTAL: if (!im->check_state(XML_STATE_ACCIDENTAL, XML_STATE_NOTE)) { im->produceSementicErrorString(_("\"accidental\" outside \"note\"")); return; } if (!strcmp(text, "natural")) { im->m_alter = 0; } break; case XML_STATE_TEXT: if (!im->check_state(XML_STATE_TEXT, XML_STATE_LYRIC, XML_STATE_NOTE)) { im->produceSementicErrorString(_("\"text\" outside \"lyric\"")); return; } if (im->m_lyric_number < 0 || im->m_lyric_number >= MAX_LYRICS_LINES) break; if (im->m_lyrics[im->m_lyric_number][0] != '\0') { im->produceSementicErrorString(_("double lyric")); return; } strcpy(im->m_lyrics[im->m_lyric_number], text); break; case XML_STATE_TYPE: if (!im->check_state(XML_STATE_TYPE, XML_STATE_NOTE)) { im->produceSementicErrorString(_("\"type\" outside \"note\"")); return; } strcpy(im->m_note_type, text); break; case XML_STATE_CLEF_OCTAVE_CHANGE: if (!im->check_state(XML_STATE_CLEF_OCTAVE_CHANGE, XML_STATE_CLEF)) { im->produceSementicErrorString(_("\"clef-octave-change\" outside \"clef\"")); return; } if (!sscanf(text, "%d", &(im->m_clefoctave))) { sprintf(Str, _("bad clef octave value: %s"), text); im->produceSementicErrorString(Str); return; } if (im->m_clefoctave < 0) im->m_clefoctave = -12; if (im->m_clefoctave > 0) im->m_clefoctave = 12; break; } } void NedMusicXMLImport::emtpy_state_stack() { m_state_ptr = 0; } void NedMusicXMLImport::push_state(int state) { if (m_state_ptr >= MAX_STATES) { produceSementicErrorString((char *) "stack overflow"); return; } m_states[m_state_ptr++] = state; } int NedMusicXMLImport::pop_state() { if (m_state_ptr < 1) { NedResource::Abort("NedMusicXMLImport::pop_state: stack undeflow"); } return m_states[--m_state_ptr]; } bool NedMusicXMLImport::check_state(int st1, int st2, int st3, int st4) { int idx = m_state_ptr - 1; if (st1 >= 0) { if (idx < 0) return false; if (st1 != m_states[idx]) return false; } idx--; if (st2 >= 0) { if (idx < 0) return false; if (st2 != m_states[idx]) return false; } idx--; if (st3 >= 0) { if (idx < 0) return false; if (st3 != m_states[idx]) return false; } idx--; if (st4 >= 0) { if (idx < 0) return false; if (st4 != m_states[idx]) return false; } return true; } int NedMusicXMLImport::getState() { if (m_state_ptr < 1) { NedResource::Abort("NedMusicXMLImport::getState: stack undeflow"); } return m_states[m_state_ptr - 1]; } bool NedMusicXMLImport::getAttr(const char *attr, char *res, const char **attribute_names, const char **attribute_values) { char **atn, **atv; atn = (char **) attribute_names; atv = (char **) attribute_values; while (*atn != NULL && *atv != NULL) { if (!strcmp(*atn, attr)) { strcpy(res, *atv); return true; } atn++; atv++; } return false; } bool NedMusicXMLImport::setCurrentPart(char *partid) { int i; for (i = 0; i < m_partcount; i++) { if (!strcmp(m_parts[i].id, partid)) { m_current_part = &(m_parts[i]); return true; } } return false; } void NedMusicXMLImport::determineClef() { char Str[DEFAULT_STRING_LENGTH]; if (m_current_part == NULL) { NedResource::Abort("NedMusicXMLImport::determineClef"); } if (m_clefsign[0] == '\0') { produceSementicErrorString(_("missign \"sign\" in \"clef\"")); return; } if (m_clefline < 0) { produceSementicErrorString(_("missign \"line\" in \"clef\"")); return; } if ((m_clefsign[0] == 'G' || m_clefsign[0] == 'g') && m_clefsign[1] == '\0' && m_clefline == 2) { m_current_part->current_clef = TREBLE_CLEF; } else if ((m_clefsign[0] == 'F' || m_clefsign[0] == 'f') && m_clefsign[1] == '\0' && m_clefline == 4) { m_current_part->current_clef = BASS_CLEF; } else if ((m_clefsign[0] == 'C' || m_clefsign[0] == 'c') && m_clefsign[1] == '\0' && m_clefline == 3) { m_current_part->current_clef = ALTO_CLEF; } else if ((m_clefsign[0] == 'C' || m_clefsign[0] == 'c') && m_clefsign[1] == '\0' && m_clefline == 1) { m_current_part->current_clef = SOPRAN_CLEF; } else if ((m_clefsign[0] == 'C' || m_clefsign[0] == 'c') && m_clefsign[1] == '\0' && m_clefline == 4) { m_current_part->current_clef = TENOR_CLEF; } else if (!strcmp(m_clefsign, "TBD") || (!strcmp(m_clefsign, "tbd") && m_clefline == 2)) { m_current_part->current_clef = NEUTRAL_CLEF2; } else if (!strcmp(m_clefsign, "TBD") || (!strcmp(m_clefsign, "tbd") && m_clefline == 4)) { m_current_part->current_clef = NEUTRAL_CLEF1; } else { sprintf(Str, _("unsupported clef: %s %d"), m_clefsign, m_clefline); produceSementicErrorString(Str); } m_current_part->current_clef_octave = m_clefoctave; if (m_current_part->first_clef) { m_current_part->clef = m_current_part->current_clef; m_current_part->clef_octave = m_current_part->current_clef_octave; } } void NedMusicXMLImport::determineTimeSignature() { char Str[DEFAULT_STRING_LENGTH]; if (m_current_part == NULL) { NedResource::Abort("NedMusicXMLImport::determineTimeSignature"); } if (m_beats < 1 || m_beats > 20) { sprintf(Str, _("unsupported time signature: %d/%d"), m_beats, m_beat_type); produceSementicErrorString(Str); return; } switch (m_beat_type) { case 2: case 4: case 8: case 16: break; default: sprintf(Str, _("unsupported time signature: %d/%d"), m_beats, m_beat_type); produceSementicErrorString(Str); return; } m_current_part->current_numerator = m_beats; m_current_part->current_denominator = m_beat_type; if (m_current_part->first_time_signature) { m_current_part->numerator = m_current_part->current_numerator; m_current_part->denominator = m_current_part->current_denominator; } } void NedMusicXMLImport::determineKeySignature() { char Str[DEFAULT_STRING_LENGTH]; if (m_current_part == NULL) { NedResource::Abort("NedMusicXMLImport::determineKeySignature"); } if (m_keysig < -7 || m_keysig > 7) { sprintf(Str, _("unsupported key signature: %d"), m_keysig); produceSementicErrorString(Str); return; } m_current_part->current_key_signature = m_keysig; if (m_current_part->first_key_signature) { m_current_part->key_signature = m_current_part->current_key_signature; } } void NedMusicXMLImport::determineLength(int *len, int *dotcount) { char Str[DEFAULT_STRING_LENGTH]; unsigned long long ned_length, dur, div; unsigned int m; *len = NOTE_4; *dotcount = 0; if (m_current_part == NULL) { NedResource::Abort("NedMusicXMLImport::determineLength"); } if (m_actual_notes >= 0) { if (m_actual_notes < 2 || m_actual_notes > 13) { sprintf(Str, _("actual notes value %d is not allowed"), m_actual_notes); produceSementicErrorString(Str); return; } if (NedResource::m_tuplet_tab[m_actual_notes] != m_normal_notes) { sprintf(Str, _("actual notes value %d and normal-notes value %d is not allowed"), m_actual_notes, m_normal_notes); produceSementicErrorString(Str); return; } } dur = m_duration; div = m_current_part->divisions; ned_length = dur * NOTE_4 / div; for (m = NOTE_64; m <= WHOLE_NOTE; m <<= 1) { if (m == ned_length) { *len = m; return; } if (m * 3 / 2 == ned_length) { *len = m; *dotcount = 1; return; } if (m * 7 / 4 == ned_length) { *len = m; *dotcount = 2; return; } if (m_actual_notes > 0) { if (m * m_normal_notes / m_actual_notes == ned_length) { *len = m; return; } } } sprintf(Str, _("unsupported note length: %d (divisions = %d)"), m_duration, m_current_part->divisions); produceSementicErrorString(Str); } unsigned int NedMusicXMLImport::determineState() { char Str[DEFAULT_STRING_LENGTH]; unsigned int state = 0; switch (m_alter) { case -2: state |= STAT_DFLAT; NedResource::DbgMsg(DBG_TESTING, "STAT_DFLAT\n"); break; case -1: state |= STAT_FLAT; break; case 0: state |= STAT_NATURAL; break; case 1: state |= STAT_SHARP; break; case 2: state |= STAT_DSHARP; NedResource::DbgMsg(DBG_TESTING, "STAT_DSHARP\n"); break; case UNKNOWN_LINE: break; default: sprintf(Str, _("unsupported alter value %d"), m_alter); produceSementicErrorString(Str); break; } if (m_staccato) { state |= STAT_STACC; } if (m_staccatissimo) { state |= STAT_STACCATISSIMO; } if (m_strong_accent) { state |= STAT_SFORZATO; } if (m_tenuto) { state |= STAT_TENUTO; } if (m_accent) { state |= STAT_SFORZANDO; } if (m_trill) { state |= STAT_TRILL; } if (m_pedal_off) { m_pedal_off = false; state |= STAT_PED_OFF; } if (m_pedal_on) { m_pedal_on = false; state |= STAT_PED_ON; } return state; } void NedMusicXMLImport::determineGrace(int *length, char *type, bool splash) { *length = STROKEN_GRACE; if (!strcmp(type, "eighth")) { if (!splash) { *length = GRACE_8; return; } } else if (!strcmp(type, "16th")) { *length = GRACE_16; } } void NedMusicXMLImport::determineUpBeat() { unsigned long long measure_length = 0, voice_duration = 0; GList *lptr; switch (m_beat_type) { case 2: measure_length = m_beats * NOTE_2; break; case 4: measure_length = m_beats * NOTE_4; break; case 8: measure_length = m_beats * NOTE_8; break; case 16: measure_length = m_beats * NOTE_16; break; } for (lptr = g_list_first(m_parts[0].voices[0]); lptr; lptr = g_list_next(lptr)) { voice_duration += ((NedChordOrRest *) lptr->data)->getDuration(measure_length); } if (voice_duration == 0) { m_first_measure = true; return; } if (voice_duration < measure_length) { if (m_upbeat_inverse != 1) { if (m_upbeat_inverse != measure_length - voice_duration) { NedResource::DbgMsg(DBG_TESTING, "contr m_upbeat_inverse\n"); } } else { m_upbeat_inverse = measure_length - voice_duration; } } } void NedMusicXMLImport::removeEmptyParts() { int i, j; bool deleted; if (m_partcount > MAXPARTS) { m_partcount = MAXPARTS; } do { deleted = false; for (i = 0; i < m_partcount; i++) { if (m_parts[i].isEmpty()) { for (j = i; j < m_partcount - 1; j++) { m_parts[j].copy_from(&(m_parts[j + 1])); } m_partcount--; deleted = true; } } } while (deleted); } void NedMusicXMLImport::tie(NedChordOrRest *chord, NedNote *note) { GList *lptr1, *lptr2; if ((lptr2 = g_list_find(m_current_part->voices[m_current_voice], chord)) == NULL) { NedResource::Abort("NedMusicXMLImport::tie(1)"); } if ((lptr1 = g_list_previous(lptr2)) == NULL) { produceSementicErrorString(_("no tie back possible")); return; } if (((NedChordOrRest *) lptr1->data)->getType() != TYPE_CHORD) { produceSementicErrorString(_("predecessor of tied is not a chord")); return; } if (!((NedChordOrRest *)lptr2->data)->tieBackward((NedChordOrRest *) lptr1->data, note)) { //produceSementicErrorString(_("no tie partner")); } } nted-1.10.18/config.guess0000755001041000007640000012761511520267353012072 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. timestamp='2009-11-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: nted-1.10.18/config.sub0000755001041000007640000010316711520267353011531 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. timestamp='2009-11-20' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze) basic_machine=microblaze-xilinx ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: nted-1.10.18/configure.in0000775001041000007640000001343511520267254012062 00000000000000dnl To create the build system from this file, run dnl $ autoreconf dnl $ autoreconf -v dnl $ autoreconf -vi dnl $ autoreconf -vis dnl $ autoreconf -vis -Wall dnl or something similar. dnl To remove the created files again, run dnl $ make cleanup # if you have a Makefile dnl $ make -f Makefile.am cleanup-local srcdir=. # if there is no local Makefile AC_PREREQ(2.61) AC_INIT([nted], [1.10.18], [nted-user@tu-chemnitz.de], [nted]) AC_CONFIG_SRCDIR([beaming.h]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([-Wall -Werror 1.10 foreign]) AC_PROG_CXX AC_PROG_RANLIB AS_IF([test "x$RANLIB" = "x:"], [AC_MSG_ERROR([ranlib command not found])]) # FIXME: Check that compiler works with these flags AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug], [compile with debugging information])], [CXXFLAGS="$CXXFLAGS -g"]) # FIXME: Check that compiler works with these flags CXXFLAGS="-Wall -Wwrite-strings $CXXFLAGS" # Gettext checks ALL_LINGUAS="en_GB de es fr hu it nl sv ru zh_CN uk" AM_GNU_GETTEXT_VERSION([0.17]) AM_GNU_GETTEXT([external]) AC_PATH_PROG([MSGFMT], [msgfmt], [:]) AS_IF([test "x$MSGFMT" = "x:"], [AC_MSG_ERROR([ No msgfmt program found! Please install the gettext package!])]) dnl Make sure configure is created only if this macro is available m4_pattern_forbid([PKG_CHECK_MODULES]) # Check for libraries PKG_CHECK_MODULES([ALSA], [alsa >= 1.0], [], [AC_MSG_ERROR([Make sure the libasound (ALSA) devel package is installed])]) PKG_CHECK_MODULES([PANGO], [pango], [], [AC_MSG_ERROR([Make sure the pango devel package is installed])]) PKG_CHECK_MODULES([CAIRO], [cairo], [], [AC_MSG_ERROR([Make sure the cairo devel package is installed])]) PKG_CHECK_MODULES([GTK], [gtk+-2.0], [], [AC_MSG_ERROR([Make sure the gtk+-2.0 devel package is installed])]) PKG_CHECK_MODULES([FT2], [freetype2], [], [AC_MSG_ERROR([Make sure the freetype(2) devel package is installed])]) PKG_CHECK_MODULES([X11], [x11], [], [AC_MSG_ERROR([Make xure the x11/X11/Xlib devel package is installed])]) # Check for gdk-pixbuf-csource program AC_ARG_VAR([IMAGE2HEADER], [gdk-pixbuf-csource program]) AC_PATH_PROG([IMAGE2HEADER], [gdk-pixbuf-csource], [:]) AS_IF([test "x$IMAGE2HEADER" = "x:"], [AC_MSG_ERROR([ No gdk-pixbuf-csource command found! It should be part of the gtk installation. Please check correct gtk installation or change PATH environment variable! ])]) # Package is written in C++, so do compile tests in C++ as well. AC_LANG([C++]) # Define "clean" flags for compilation tests empty_LIBS="$LIBS" empty_CPPFLAGS="$CPPFLAGS" # gtk+ compile&link test AC_MSG_CHECKING([gtk+ compile and link]) CPPFLAGS="$empty_CPPFLAGS $GTK_CFLAGS" LIBS="$empty_LIBS $GTK_LIBS" AC_LINK_IFELSE([AC_LANG_SOURCE([ #include int main(int argc, char **argv) { gtk_init (&argc, &argv); gtk_main (); return 0; } ])], [AC_MSG_RESULT([ok])], [ AC_MSG_FAILURE([cannot compile and link gtk example]) ]) # gtk+ and cairo compile&link test AC_MSG_CHECKING([gtk+ and cairo compile and link]) CPPFLAGS="$empty_CPPFLAGS $CAIRO_CFLAGS $GTK_CFLAGS" LIBS="$empty_LIBS $CAIRO_LIBS $GTK_LIBS" AC_LINK_IFELSE([AC_LANG_PROGRAM([ #include #include ],[ GtkWidget *m_drawing_area = NULL; cairo_t *cr; cr = gdk_cairo_create (m_drawing_area->window); ])], [AC_MSG_RESULT([ok])], [ AC_MSG_FAILURE([Cannot compile and link a simple cairo example!]) ]) # ALSA (libasound) compile&link test AC_MSG_CHECKING([asound compile and link]) CPPFLAGS="$empty_CPPFLAGS $ALSA_CFLAGS" LIBS="$empty_LIBS $ALSA_LIBS" AC_LINK_IFELSE([AC_LANG_PROGRAM([ #include ],[ snd_seq_t *sequ; snd_seq_open(&sequ, "default", SND_SEQ_OPEN_OUTPUT, 0); return 0; ])], [AC_MSG_RESULT([ok])], [AC_MSG_FAILURE([Cannot compile and link a simple ALSA example!]) ]) # Restore flags after compile&link tests CPPFLAGS="$empty_CPPFLAGS" LIBS="$empty_LIBS" # =================================================================== # Documentation generation checks # =================================================================== AC_ARG_WITH([doc], [AS_HELP_STRING([--without-doc], [compile without immediate help])]) AS_IF([test "x$with_doc" = "xno"], [make_docs="no"], [make_docs="yes"]) AC_ARG_VAR([YELP], [yelp program]) AC_PATH_PROG([YELP], [yelp], [:]) AS_IF([test "x$YELP" = "x:"], [ make_docs="no" AC_MSG_WARN([ No yelp command found, creating documentation disabled. ])]) AC_ARG_VAR([XMLTO], [xmlto program]) AC_PATH_PROG([XMLTO], [xmlto], [:]) AS_IF([test "x$XMLTO" = "x:"], [ make_docs="no" AC_MSG_WARN([ No xmlto command found, creating documentation disabled. ])]) AC_MSG_CHECKING([whether to make the HTML manuals]) AC_MSG_RESULT([$make_docs]) AM_CONDITIONAL([MAKE_DOCS], [test "$make_docs" = "yes"]) AS_IF([test "$make_docs" = "yes"], [AC_DEFINE_UNQUOTED([YELP_PATH], ["$YELP"], [Path to yelp program])]) AS_IF([test "x$make_docs" = "xno"], [make_docbooks="no"], [make_docbooks="yes"]) AC_ARG_VAR([XML2POT], [xml2pot program]) AC_PATH_PROG([XML2POT], [xml2pot], [:]) AS_IF([test "x$XML2POT" = "x:"], [ make_docbooks="no" AC_MSG_WARN([ No xml2pot command found. You will not be able to create new translations without. ])]) AC_ARG_VAR([PO2XML], [po2xml program]) AC_PATH_PROG([PO2XML], [po2xml], [:]) AS_IF([test "x$PO2XML" = "x:"], [ make_docbooks="no" AC_MSG_WARN([ No po2xml command found. You will not be able to create new translations without. ])]) AM_CONDITIONAL([MAKE_DOCBOOKS], [test "$make_docbooks" = "yes"]) AC_CONFIG_FILES([ Makefile commands/Makefile dialogs/Makefile chords/Makefile idiotseditor/Makefile icons/Makefile po/Makefile.in datafiles/Makefile man/Makefile doc/Makefile doc/templates/Makefile doc/de/Makefile doc/it/Makefile doc/docimages/Makefile doc/en/Makefile doc/es/Makefile doc/fr/Makefile]) AC_OUTPUT nted-1.10.18/doc/0000775001041000007640000000000011520270236010357 500000000000000nted-1.10.18/doc/es/0000775001041000007640000000000011520270236010766 500000000000000nted-1.10.18/doc/es/es.po0000664001041000007640000107165511520270115011670 00000000000000# # Maximiliano , 2009. msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2011-01-27 13:16+0000\n" "PO-Revision-Date: 2009-11-29 23:16+0100\n" "Last-Translator: Maximiliano \n" "Language-Team: Spanish <>\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: application/x-xml2pot; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 0.3\n" #. Tag: title #: index.docbook:11 #, no-c-format msgid "The &nted; Handbook" msgstr "El manual de &nted;" #. Tag: author #: index.docbook:14 #, no-c-format msgid "JörgAnders" msgstr "" #. Tag: affiliation #: index.docbook:16 #, no-c-format msgid "" " TU-Chemnitz
j." "anders@informatik.tu-chemnitz.de
" msgstr "" #. Tag: othercredit #: index.docbook:28 #, no-c-format msgid "Maximiliano" msgstr "" #. Tag: contrib #: index.docbook:30 #, no-c-format msgid "Spanish translation" msgstr "Traducción al español" #. Tag: email #: index.docbook:32 #, no-c-format msgid "mxgdvg@yahoo.it" msgstr "" #. Tag: othercredit #: index.docbook:35 #, no-c-format msgid "MarianoMarini" msgstr "" #. Tag: contrib #: index.docbook:37 #, no-c-format msgid "Italien translation" msgstr "Traducción al italiano" #. Tag: email #: index.docbook:39 #, no-c-format msgid "mariano.marini@alice.itk" msgstr "" #. Tag: othercredit #: index.docbook:43 #, no-c-format msgid "" "JörgAnders" msgstr "" #. Tag: contrib #: index.docbook:45 #, no-c-format msgid "German translation" msgstr "Traducción al alemán" #. Tag: email #: index.docbook:47 #, no-c-format msgid "ja@informatik.tu-chemnitz.de" msgstr "" #. Tag: holder #: index.docbook:55 #, no-c-format msgid "Jörg Anders" msgstr "" #. Tag: para #: index.docbook:60 #, no-c-format msgid "" "Permission is granted to copy, distribute and/or modify this document under " "the terms of the GNU Free Documentation License, Version 1.2 or any later " "version published by the Free Software Foundation; with no Invariant " "Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the " "license is included in the section entitled \"GNU " "Free Documentation License\"." msgstr "" "Se concede permiso para copiar, distribuir y/o modificar este documento bajo " "los términos de la GNU Free Documentation License, Version 1.2 o cualquier " "versión posterior publicada por la Free Software Foundation; sin secciones " "que cambien, ni textos de portada, y contraportada. Una copia de la licencia " "se incluye en la sección titulada \"GNU Free " "Documentation License\"." #. Tag: date #: index.docbook:67 #, no-c-format msgid "2010-09-28" msgstr "" #. Tag: releaseinfo #: index.docbook:68 #, no-c-format msgid "1.10.16" msgstr "" #. Tag: para #: index.docbook:71 #, no-c-format msgid "&nted; is a score editor for Linux" msgstr "&nted; es un editor de partituras para Linux." #. Tag: keyword #: index.docbook:76 #, no-c-format msgid "Gtk" msgstr "" #. Tag: keyword #: index.docbook:77 #, no-c-format msgid "&nted;" msgstr "" #. Tag: keyword #: index.docbook:78 #, no-c-format msgid "music" msgstr "" #. Tag: keyword #: index.docbook:79 #, no-c-format msgid "editor" msgstr "" #. Tag: keyword #: index.docbook:80 #, no-c-format msgid "notes" msgstr "" #. Tag: keyword #: index.docbook:81 #, no-c-format msgid "score" msgstr "" #. Tag: keyword #: index.docbook:82 #, no-c-format msgid "MIDI" msgstr "" #. Tag: title #: index.docbook:87 #, no-c-format msgid "Using &nted;" msgstr "Usando &nted;" #. Tag: title #: index.docbook:89 #, no-c-format msgid "Starting &nted;" msgstr "Iniciando &nted;" #. Tag: para #: index.docbook:91 #, no-c-format msgid "This chapter describes the use of &nted; for editing notes." msgstr "Este capítulo describe cómo editar notas con &nted;." #. Tag: para #: index.docbook:93 #, no-c-format msgid "You may start &nted; by entering the following at the command prompt:" msgstr "" "Puede arrancar &nted; escribiendo lo siguiente en la línea de comandos:" #. Tag: para #: index.docbook:96 #, no-c-format msgid "% nted &" msgstr "" #. Tag: para #: index.docbook:100 #, no-c-format msgid "Once &nted; starts, you will see a window like the following:" msgstr "Una vez &nted; arranca, verá una ventana como la siguiente:" #. Tag: phrase #: index.docbook:105 index.docbook:3247 index.docbook:3593 #, no-c-format msgid "&nted; Mainwindow" msgstr "" #. Tag: title #: index.docbook:112 #, no-c-format msgid "The first sound" msgstr "El primer sonido" #. Tag: para #: index.docbook:113 index.docbook:3544 #, no-c-format msgid "" "To hear my examples please use the soundfont mentioned here: http://alsa.opensrc.org/8MBGMSFX." "SF2!" msgstr "" "Por favor, para escuchar mis ejemplos use la fuente de sonido citada aquí: " "http://alsa.opensrc." "org/8MBGMSFX.SF2" #. Tag: para #: index.docbook:115 index.docbook:3546 #, no-c-format msgid "" "For more information about how to use the SF2 file read the appropriate " "question in FAQ or read about the " "configuration of the TiMidity server." msgstr "" "Para mayor información sobre cómo usar el archivo SF2 lea la correspondiente " "cuestión en FAQ o también sobre la " "configuración del servidor TiMidity." #. Tag: para #: index.docbook:119 #, no-c-format msgid "To hear a short example choose:" msgstr "Para escuchar un breve ejemplo elija:" #. Tag: menuchoice #: index.docbook:121 index.docbook:3050 #, no-c-format msgid "" "File Open ..." msgstr "" "Archivo Abrir ..." #. Tag: para #: index.docbook:126 #, no-c-format msgid "" "Choose datafiles/nted/examples/example1.ntd on dialog " "and press OK!" msgstr "" "Seleccione datafiles/nted/examples/example1.ntd en la " "ventana de diálogo y pulse OK!" #. Tag: para #: index.docbook:127 #, no-c-format msgid "" "The examples are installed during installation step. So, if you can't find " "the examples especially if you installed from a package then search at" msgstr "" "Los ejemplos se copian durante el proceso de instalación. Por tanto, si no " "puede encontrarlos, especialmente si instaló mediante un paquete, entonces " "busque en" #. Tag: filename #: index.docbook:129 #, no-c-format msgid "/usr/share/nted/examples" msgstr "" #. Tag: para #: index.docbook:130 index.docbook:487 index.docbook:2792 #, no-c-format msgid "or:" msgstr "o:" #. Tag: filename #: index.docbook:131 #, no-c-format msgid "/usr/local/share/nted/examples" msgstr "" #. Tag: para #: index.docbook:132 #, no-c-format msgid "You should see a score. Choose a MIDI port:" msgstr "Debería ver una partitura. Elija un puerto MIDI:" #. Tag: menuchoice #: index.docbook:134 #, no-c-format msgid "" "Edit Preferences Configure MIDI ..." msgstr "" "Editar Preferencias Configurar MIDI ..." #. Tag: para #: index.docbook:140 #, no-c-format msgid "" "and press the play button (). You should see running red notes and hear the sound. If " "you don't hear the sound then choose a different MIDI port. If nothing helps " "then refer to the approriate question in FAQ." msgstr "" "y pulse el botón de tocar (play) (). Debería ver en rojo las notas mientras suenan. Si no " "puede escuchar el sonido entonces elija un puerto MIDI distinto. Si esto no " "sirve entonces consulte la cuestión correspondiente en FAQ." #. Tag: title #: index.docbook:147 #, no-c-format msgid "The toolbox" msgstr "La caja de herramientas" #. Tag: para #: index.docbook:149 #, no-c-format msgid "" "The toolbox is a little window which appears always on top of all other " "&nted; windows:" msgstr "" "La caja de herramientas es una pequeña ventana que aparece siempre encima de " "todas las demás ventanas de &nted;" #. Tag: phrase #: index.docbook:154 #, no-c-format msgid "The toolbox" msgstr "La caja de herramientas" #. Tag: para #: index.docbook:158 #, no-c-format msgid "" "If the toolbox vanishes you can make it visible again by pressing the " "toolbox button ( )." msgstr "" "Si la caja de herramientas desaparece puede hacerla de nuevo visible " "pulsando el botón de herramientas " "( )." #. Tag: para #: index.docbook:161 #, no-c-format msgid "The toolbox has multiple panels:" msgstr "La caja de herramientas tiene varios paneles:" #. Tag: phrase #: index.docbook:167 #, no-c-format msgid "The toolbox panels" msgstr "Los paneles de la caja de herramientas" #. Tag: para #: index.docbook:171 #, no-c-format msgid "" "To change the panel either user the next panel button " "() or the previous " "panel button ()." msgstr "" "Para cambiar el panel use el botón de panel siguiente " "() o bien el de " "panel previo ()." #. Tag: para #: index.docbook:175 #, no-c-format msgid "" "Alternatively, you can use the direct panel buttons on top of the toolbox:" msgstr "" "Alternativamente, puede acceder directamente usando los botones de panel " "situados arriba de la caja de herramientas:" #. Tag: phrase #: index.docbook:181 #, no-c-format msgid "The direct panel buttons" msgstr "Los botones de panel directo" #. Tag: para #: index.docbook:185 #, no-c-format msgid "" "The different panels offer buttons concerning different fields of score " "notation." msgstr "" "Los paneles agrupan botones relacionados con diferentes campos de la " "notación de la partitura." #. Tag: para #: index.docbook:186 #, no-c-format msgid "Furthermore, each panel is structured like your keyboard's num pad:" msgstr "Es más, cada panel está estructurado como su teclado numérico:" #. Tag: phrase #: index.docbook:193 #, no-c-format msgid "the toolbox and the numpad" msgstr "La caja de herramientas y el teclado numérico" #. Tag: para #: index.docbook:197 #, fuzzy, no-c-format msgid "" "Instead of pressing a button at the toolbox, you can press the appropriate " "button on numpad. For instance: If you want half notes, make sure the " "num light is off and choose the first " "toolbox panel. Then press 4 on num pad. The " "half note button is selected." msgstr "" "En vez de pulsar un botón en la caja de herramientas, puede pulsar la tecla " "apropiada en el teclado numérico. Por ejemplo: Si quiere blancas, asegúrese " "que la luz num esté apagada y elija el " "primer panel de la caja de herramientas. Luego presione 5 en el teclado numérico. El botón de la blanca queda " "seleccionado." #. Tag: para #: index.docbook:202 #, no-c-format msgid "" "Furthermore: Some keys (rest, tie, sharp, flat, natural, dot) can be toogled " "by keyboard keys independent on the actual panel, see shortcuts." msgstr "" "Además, algunas teclas (silencio, ligadura, sostenido, bemol, natural, " "puntillo) pueden activarse/desactivarse con las teclas del teclado " "independientemente del panel actual, vea atajos." #. Tag: title #: index.docbook:207 #, no-c-format msgid "Inserting notes and rests" msgstr "Insertando notas y silencios" #. Tag: title #: index.docbook:210 #, no-c-format msgid "The 3 modes" msgstr "Los 3 modos" #. Tag: para #: index.docbook:211 #, no-c-format msgid "" "&nted; is always in one of 3 modes. The mode is determined by the insert and " "page button pair. At start the insert button is on and the page button is " "off (). &nted; " "is in insert/delete mode. If you toggle off the insert/delete button by " "clicking it or pressing the 'n' key you are in edit mode " "(). If you " "toggle on the page button by clicking it or pressing the 'p' key you are in " "page mode ()." msgstr "" "&nted; está siempre en uno de 3 modos posibles. El modo queda determinado " "por el par de botones insertar y página. Al comienzo el botón insertar está " "activo y el botón página desactivado " "(). &nted; " "está en el modo insertar/suprimir. Si desactiva el botón de insertar/" "suprimir clicándolo o pulsando la tecla 'n' se pasa al modo editar " "(). Si " "activa el botón de página clicándolo o pulsando la tecla 'p' se pasa al modo " "página ()." #. Tag: para #: index.docbook:220 #, no-c-format msgid "" "Furthermore you can temporarily achieve the edit mode by pressing the Ctrl " "key during mouse action. You can also temporarily achieve the page mode by " "pressing the Shift key during mouse action." msgstr "" "Además puede activar temporalmente el modo editar pulsando la tecla Ctrl " "mientras acciona el ratón. Puede incluso activar el modo página pulsando la " "tecla Shift en combinación con el ratón." #. Tag: para #: index.docbook:228 #, no-c-format msgid "In insert/delete mode you can insert and delete notes and rests." msgstr "" "En el modo insertar/suprimir puede insertar y suprimir notas y silencios." #. Tag: para #: index.docbook:231 #, no-c-format msgid "In edit mode you can modify the score." msgstr "En el modo editar puede modificar la partitura." #. Tag: para #: index.docbook:234 #, no-c-format msgid "In page mode you can shift the paper by moving the mouse." msgstr "En el modo página puede desplazar el papel moviendo el ratón." #. Tag: title #: index.docbook:241 #, no-c-format msgid "Inserting/Deleting notes" msgstr "Insertando/Suprimiendo notas" #. Tag: para #: index.docbook:242 #, no-c-format msgid "" "Be sure &nted; is in insert/delete mode (see The " "3 modes). To insert notes choose a note length on first toolbox panel:" msgstr "" "Asegúrese que &nted; esté en el modo insertar/suprimir (vea Los 3 modos). Para insertar notas elija una duración de " "nota en el primer panel de la caja de herramientas:" #. Tag: phrase #: index.docbook:248 index.docbook:262 #, no-c-format msgid "The note length" msgstr "" #. Tag: para #: index.docbook:251 #, no-c-format msgid "" "and click on a note line. If you click near an existing note a chord is " "created. If you click on an existing note the note is removed. To delete a " "note you can also use the backspace key. To delete a single note from chord " "use the DEL key." msgstr "" "y haga clic en el pentagrama. Si hace clic cerca una nota existente creará " "un acorde. Si hace clic en una nota existente la nota se elimina. Para " "suprimir una nota también puede usar la tecla retroceso (Backspace). Para " "eliminar un única nota de un acorde use la tecla DEL." #. Tag: para #: index.docbook:256 #, no-c-format msgid "" "If you want to insert a note with an accidental choose an accidental on 2nd " "and/or 3rd toolbox panel:" msgstr "" "Si desea insertar una nota con una alteración elija la alteración en el 2º y/" "o 3er panel de la caja de herramientas:" #. Tag: para #: index.docbook:265 #, no-c-format msgid "" "(see also Handling beams, Handling stems)." msgstr "" "(vea también Manipulando las barras, " "Manipulando las plicas)." #. Tag: title #: index.docbook:270 #, no-c-format msgid "Inserting drum notes" msgstr "Insertando notas de percusión" #. Tag: para #: index.docbook:271 #, fuzzy, no-c-format msgid "" "&nted; offers different note head types. Choose one at 5th toolbox panel:" msgstr "" "&nted; ofrece diferentes tipos de cabezas de nota. Elija uno en el 4º panel " "de la caja de herramientas:" #. Tag: phrase #: index.docbook:276 #, no-c-format msgid "The note head types" msgstr "Los tipos de cabezas de notas" #. Tag: para #: index.docbook:280 #, no-c-format msgid "" "Select a note head type and insert the drum note as described in chapter " "Inserting/Deleting notes." msgstr "" "Seleccione un tipo de cabeza de nota e inserte la nota de percusión como se " "describe en el capítulo Insertando/" "Suprimiendo notas." #. Tag: para #: index.docbook:282 #, no-c-format msgid "" "Note: The meaning of the drum notes depends on the choosen clef. Refer to clefs read about the the drum " "system." msgstr "" "Observe: El significado de las notas de percusión depende de la clave seleccionada. Vea claves y lea sobre el " "sistema de percusión." #. Tag: para #: index.docbook:285 index.docbook:892 #, no-c-format msgid "" "Note further: To get the drum sound you have to select a certain channel " "(often channel 10). See The MIDI Tab!" msgstr "" "Observe también: Para producir el sonido de percusión debe seleccionar un " "canal específico (frecuentemente el canal 10). ¡Vea La pestaña MIDI!" #. Tag: title #: index.docbook:290 #, fuzzy, no-c-format msgid "Inserting tremolo notes" msgstr "Insertando notas de percusión" #. Tag: para #: index.docbook:291 #, fuzzy, no-c-format msgid "" "To insert tremolo notes select the tremolo sign at 5th panel of the toolbox:" msgstr "" "Para insertar notas de adorno elija el tipo de nota apropiado del 2º panel " "de la caja de herramientas:" #. Tag: phrase #: index.docbook:296 #, fuzzy, no-c-format msgid "the tremolo types" msgstr "Los paneles de la caja de herramientas" #. Tag: para #: index.docbook:300 #, fuzzy, no-c-format msgid "" "Select a tremolo type and insert the note as described in chapter Inserting/Deleting notes." msgstr "" "Seleccione un tipo de cabeza de nota e inserte la nota de percusión como se " "describe en el capítulo Insertando/" "Suprimiendo notas." #. Tag: para #: index.docbook:302 #, no-c-format msgid "Note: The tremolo does not influence the replay." msgstr "" #. Tag: title #: index.docbook:306 #, no-c-format msgid "Inserting/Deleting rests" msgstr "Insertando/Suprimiendo silencios" #. Tag: para #: index.docbook:307 #, no-c-format msgid "" "Be sure &nted; is in insert/delete mode (see The " "3 modes). To insert rests choose a note length on 1st toolbox panel " "and press the rest button:" msgstr "" "Asegúrese que &nted; está en modo insertar/suprimir (vea Los 3 modos). Para insertar silencios elija una " "duración de nota en el 1er panel de la caja de herramientas y presione el " "botón de silencio:" #. Tag: phrase #: index.docbook:313 #, no-c-format msgid "Toolbox rest selected" msgstr "" #. Tag: para #: index.docbook:317 #, no-c-format msgid "" "You cannot really \"delete\" a rest because you cannot destroy time. But in " "many cases the situation is as follows: " " shift example 1 This can especially happen after deleting a series of notes " "because every deleted note leaves behind an appropriate rest. If you now " "insert a half rest at position of the first eighth rest " "the situation changes:" msgstr "" "En realidad no puede \"suprimir\" un silencio porque no puede destruir el " "compás. Pero en muchos casos la situación es como la siguiente: " " shift example 1 Esto puede ocurrir especialmente luego " "de eliminar una serie de notas porque cada nota borrada deja su " "correspondiente silencio. Si ahora inserta un silencio " "de blanca en la posición del primer silencio de corchea la situación cambia:" #. Tag: phrase #: index.docbook:333 #, no-c-format msgid "shift example 1" msgstr "" #. Tag: title #: index.docbook:340 #, no-c-format msgid "Generalization" msgstr "Generalización" #. Tag: para #: index.docbook:341 #, no-c-format msgid "" "We can generalize the last example. The truth is: Independent of whether you " "insert a note or a rest, &nted; consumes as much time as necessary to insert " "the note or rest. Assume again this situation: " " shift example 1 If you insert a half note at postition of the 2nd eighth rest " "the result is: " "shift example 1 " "&nted; \"eats\" 3 eighth rests and shortens the quarter by one eighth." msgstr "" "Podemos generalizar el último ejemplo. La realidad es que independientemente " "de si inserta una nota o un silencio, &nted; consume todo el tiempo que sea " "necesario para insertar la nota o silencio. Asumamos de nuevo esta " "situación: " "shift example 1 Si " "inserta una blanca en la posición del segundo silencio de corchea el " "resultado queda: " "shift example 1 " "&nted; se \"come\" 3 silencios de corchea y acorta la negra en una corchea." #. Tag: title #: index.docbook:364 #, no-c-format msgid "Inserting notes and rests using the PC keyboard" msgstr "Insertando notas y silencios usando el teclado del PC" #. Tag: para #: index.docbook:365 #, no-c-format msgid "You can toggle the note length by pressing some number keys:" msgstr "Puede cambiar la duración de la nota pulsando algunos números:" #. Tag: entry #: index.docbook:371 index.docbook:3635 #, no-c-format msgid "1" msgstr "" #. Tag: entry #: index.docbook:371 index.docbook:3635 #, no-c-format msgid "set current length to full note" msgstr "establece la redonda como duración actual" #. Tag: entry #: index.docbook:372 index.docbook:3636 #, no-c-format msgid "2" msgstr "" #. Tag: entry #: index.docbook:372 index.docbook:3636 #, no-c-format msgid "set current length to half note" msgstr "establece la blanca como duración actual" #. Tag: entry #: index.docbook:373 index.docbook:3637 #, no-c-format msgid "4" msgstr "" #. Tag: entry #: index.docbook:373 index.docbook:3637 #, no-c-format msgid "set current length to quarter note" msgstr "establece la negra como duración actual" #. Tag: entry #: index.docbook:374 index.docbook:3638 #, no-c-format msgid "5" msgstr "" #. Tag: entry #: index.docbook:374 index.docbook:3638 #, no-c-format msgid "set current length to eighth note" msgstr "establece la corchea como duración actual" #. Tag: entry #: index.docbook:375 index.docbook:3639 #, no-c-format msgid "6" msgstr "" #. Tag: entry #: index.docbook:375 index.docbook:3639 #, no-c-format msgid "set current length to sixteenth note" msgstr "establece la semicorchea como duración actual" #. Tag: entry #: index.docbook:376 index.docbook:3640 #, no-c-format msgid "7" msgstr "" #. Tag: entry #: index.docbook:376 index.docbook:3640 #, no-c-format msgid "set current length to 32th note" msgstr "establece la fusa como duración actual" #. Tag: entry #: index.docbook:377 index.docbook:3641 #, no-c-format msgid "8" msgstr "" #. Tag: entry #: index.docbook:377 index.docbook:3641 #, no-c-format msgid "set current length to 64th note" msgstr "establece la semifusa como duración actual" #. Tag: para #: index.docbook:383 #, no-c-format msgid "" "To insert notes along with pressing these keys activate the keyboard " "insertion button () or press 'k'. This puts &nted; into the keyboard " "insertion mode. If you now press a key from the table above a note of " "appropriate length is inserted at cursor position. To insert a rest press " "Alt key simultaneously. Use the CursorUp/Down keys to determine the pitch. " "Use the CursorLeft/Right keys to switch to previous/next measure." msgstr "" "Para insertar notas usando estas teclas active el botón de inserción con " "teclado () o " "presione 'k'. Esto cambia a &nted; al modo de inserción con teclado. Si " "ahora presiona una tecla de la tabla de arriba una nota de la duración " "apropiada se inserta en la posición del cursor. Para insertar un silencio " "presione simultáneamente la tecla Alt. Use las teclas del Cursor arriba/" "abajo para determinar la altura. Use las teclas del Cursor izquierda/derecha " "para cambiar al compás previo/ siguiente." #. Tag: para #: index.docbook:389 #, no-c-format msgid "The backspace key removes the last inserted note" msgstr "La tecla retroceso (Backspace) elimina la última nota insertada" #. Tag: para #: index.docbook:391 #, no-c-format msgid "" "See also Inserting notes with pitch " "determined by midi keyboard." msgstr "" "Vea también Insertando notas con altura " "determinada por un teclado midi." #. Tag: title #: index.docbook:396 #, no-c-format msgid "Append a system" msgstr "Añadir un sistema" #. Tag: para #: index.docbook:398 #, no-c-format msgid "" "At the beginning &nted; shows only one system with only a few measures. To " "append more systems press Ctrl B. This will append one system at end of score." msgstr "" "Al inicio &nted; muestra solo un sistema con pocos compases. Para añadir más " "sistemas presione Ctrl B. Esto añadirá un sistema al final de la partitura." #. Tag: para #: index.docbook:402 #, no-c-format msgid "See also: removing systems" msgstr "" "Vea también: eliminando sistemas" #. Tag: title #: index.docbook:407 #, no-c-format msgid "Modifications" msgstr "Modificaciones" #. Tag: title #: index.docbook:410 #, no-c-format msgid "Shifting notes and rests" msgstr "Desplazando notas y silencios" #. Tag: para #: index.docbook:411 #, no-c-format msgid "" "You can shift notes and rests vertically and horizontally. Be sure &nted; is " "in edit mode (see The 3 modes). Again: " "You can achieve this mode temporarily by pressing the Ctrl key. Click a note " "or rest with left button. The note or rest is selected. A selected chord or " "rest appeares in red color. Shift and hold the left button. The selected " "note or rest moves accordingly. If you shift a note vertically the note " "changes the line. If you shift the note or rest horizontally before or after " "another note or rest the note or rest changes its position." msgstr "" "Puede desplazar notas y silencios vertical y horizontalmente. Asegúrese que " "&nted; esté en modo edición (vea Los 3 modos). Recuerde: Puede activar temporalmente este modo manteniendo pulsanda " "la tecla Ctrl. Haga clic en una nota o silencio con el botón izquierdo. La " "nota o silencio queda seleccionada. Un acorde o silencio seleccionado " "aparece en color rojo. Desplácelo manteniendo pulsado el botón izquierdo. La " "nota o silencio seleccionado seguirá al ratón. Si desplaza una nota " "verticalmente ésta cambiará su altura. Si desplaza la nota o silencio " "horizontalmente por delante o por detrás de otra nota o silencio " "intercambiará sus posiciones." #. Tag: para #: index.docbook:421 #, no-c-format msgid "" "Furthermore: If there is a selected note you can move the note by Up/Down " "cursor key. The Left/Right key changes the selection." msgstr "" "Más aún, si hay una nota seleccionada puede cambiar su altura utilizando las " "teclas del cursor arriba/abajo. Las teclas del cursor izquierda/derecha " "cambian la nota o silencio seleccionado." #. Tag: para #: index.docbook:424 #, no-c-format msgid "" "The horizontal move is especially useful in cases where you want to achieve " "this: " "shift example 1 " "but the situation is:" msgstr "" "El movimiento horizontal es especialmente útil en casos en los que quiere " "lograr esto: " "shift example 1 " "pero la situación es:" #. Tag: phrase #: index.docbook:437 #, no-c-format msgid "shift example 2" msgstr "" #. Tag: para #: index.docbook:442 #, no-c-format msgid "" "By moving the note before the rest or the rest behind the note the symbols " "exchange their positions." msgstr "" "Moviendo la nota por delante del silencio o el silencio por detrás de la " "nota ambos intercambian su posición." #. Tag: title #: index.docbook:447 #, no-c-format msgid "Hiding rests" msgstr "Ocultando silencios" #. Tag: para #: index.docbook:448 #, no-c-format msgid "" "You can hide some rests if desireable. There are 2 ways to do this. If you " "want to hide the rests of a whole voice, select that voice on voice selector " "() and choose:" msgstr "" "Puede ocultar algunos silencios si lo desea. Hay 2 formas de hacerlo. Si " "quiere ocultar los silencios de una voz completa, selecione esa voz en el " "selector de voces () y elija:" #. Tag: menuchoice #: index.docbook:453 #, no-c-format msgid "" "Tools hide rests" msgstr "" "Herramientas ocultar " "silencios" #. Tag: para #: index.docbook:459 #, no-c-format msgid "Or simply press Ctrl + R." msgstr "O simplemente pulse Ctrl + R." #. Tag: para #: index.docbook:460 #, no-c-format msgid "To unhide already hidden rests choose:" msgstr "Para revelar silencios ocultos elija:" #. Tag: menuchoice #: index.docbook:463 #, no-c-format msgid "" "Tools unhide rests" msgstr "" "Herramientas des-ocultar " "silencios" #. Tag: para #: index.docbook:468 #, no-c-format msgid "Or simply press Ctrl + U." msgstr "O simplemente pulse Ctrl + U." #. Tag: para #: index.docbook:470 #, no-c-format msgid "" "To limit this operation to a certain staff simply select one arbitratry note " "or rest of this staff before this operation." msgstr "" "Para limitar esta operación a un pentagrama concreto simplemente seleccione " "una nota arbitraria (o silencio) de ese pentagrama antes de la operación." #. Tag: para #: index.docbook:473 #, no-c-format msgid "" "The 2nd way is to hide a group of rests of a selection rectangle: Draw a " "selection rectangle as described in Select a " "block. Then choose hide rests or " "unhide rests as described above. Note: This operation " "is also limited to the selected voice." msgstr "" "La segunda forma es ocultar un grupo de silencios de un rectángulo de " "selección: Dibuje un rectángulo de selección como se describe en Selección de un bloque. Luego elija " "ocultar silencios o des-ocultar silencios tal como se describe arriba. Nota: Esta operación está también " "limitada a la voz seleccionada." #. Tag: para #: index.docbook:478 #, no-c-format msgid "To (un)hide all rests in all voices choose:" msgstr "Para (des)ocultar todos los silencios en todas las voces elija:" #. Tag: menuchoice #: index.docbook:480 index.docbook:2538 #, no-c-format msgid "" "Tools hide rests (all v.)" msgstr "" "Herramientas ocultar " "silencios (todas las voces)" #. Tag: menuchoice #: index.docbook:490 #, no-c-format msgid "" "Tools unhide rests (all v.)" msgstr "" "Herramientas des-ocultar " "silencios (todas las voces)" #. Tag: para #: index.docbook:496 #, no-c-format msgid "" "Hiding rests is also useful in case of an upbeat." msgstr "" "Ocultar silencios también es útil en el caso de una anacrusa." #. Tag: para #: index.docbook:498 #, no-c-format msgid "To make hidden rests visible choose:" msgstr "Para hacer visibles los silencios ocultos elija:" #. Tag: menuchoice #: index.docbook:501 index.docbook:823 #, no-c-format msgid "" "View show hidden elements" msgstr "" "Ver mostrar elementos " "ocultos" #. Tag: title #: index.docbook:509 #, no-c-format msgid "Positioning rests vertically" msgstr "Posicionar verticalmente los silencios" #. Tag: para #: index.docbook:510 #, no-c-format msgid "" "&nted; tries to position rests in such a way that they do not obscure other " "elements. This works in most cases. But sometimes the user wishes a " "customized vertical placement." msgstr "" "&nted; intenta posicionar los silencios de forma que no se solapen con otros " "elementos. Aunque lo logra en la mayoría de los casos, algunas veces, el " "usuario deseará personalizar la posición vertical." #. Tag: para #: index.docbook:512 #, no-c-format msgid "" "To place a rest vertically select it, and then use the cursor up-/down keys " "to change the rest's vertical position." msgstr "" "Para mover un silencio verticalmente selecciónelo, y luego use las teclas " "del cursor arriba/abajo para cambiar su posición." #. Tag: para #: index.docbook:514 #, no-c-format msgid "" "From this moment on you are responsible to place this rest. &nted; will do " "nothing to solve any conflicts. The only way to get a rest managed by &nted; " "is to insert a new rest." msgstr "" "A partir de este momento es su responsabilidad colocar el silencio. &nted; " "no hará nada para solucionar cualquier conflicto. La única forma de " "conseguir que &nted; vuelva a manejar el silencio es insertando un nuevo " "silencio." #. Tag: para #: index.docbook:517 #, no-c-format msgid "This way you can effectively have 2 voices sharing \"one\" rest:" msgstr "" "De esta forma puede conseguir tener 2 voces compartiendo \"un\" silencio " "(uno encima de otro):" #. Tag: phrase #: index.docbook:522 index.docbook:583 #, no-c-format msgid "selected a tie" msgstr "" #. Tag: para #: index.docbook:526 #, no-c-format msgid "" "You have to move both rests at least one step! Otherwise &nted; moves the " "other rest to avoid collision." msgstr "" "¡Debe mover ambos silencios al menos un paso! En otro caso &nted; mueve el " "otro silencio para evitar la colisión." #. Tag: title #: index.docbook:532 #, no-c-format msgid "Inserting ties" msgstr "Insertando ligaduras de unión" #. Tag: para #: index.docbook:533 #, no-c-format msgid "There are 2 ways for inserting ties:" msgstr "Hay dos maneras de insertar ligaduras de unión:" #. Tag: para #: index.docbook:535 #, no-c-format msgid "" "This approach assumes you want to insert ties after you have inserted a " "series of notes. So, never press the tie during note insertion:" msgstr "" "Este método asume que desea insertar las ligaduras después de haber " "insertado una serie de notas. Por tanto, nunca pulse el botón de ligadura de " "unión durante la inserción de notas:" #. Tag: phrase #: index.docbook:541 index.docbook:550 #, no-c-format msgid "the tie button" msgstr "" #. Tag: para #: index.docbook:544 #, no-c-format msgid "" "Press it after you have inserted a series of notes. Then select all note " "pairs to be tied with left mouse button." msgstr "" "Púlselo luego de haber insertado una serie de notas. Luego seleccione todos " "los pares de notas a ligar (primero una nota y luego la otra) con el botón " "izquierdo del ratón." #. Tag: para #: index.docbook:545 #, no-c-format msgid "Do not forget to turn off the tie button:" msgstr "No olvide desactivar el botón de la ligadura de unión:" #. Tag: para #: index.docbook:553 #, no-c-format msgid "Because this button has high priority and blocks other functions." msgstr "" "Este botón tiene una prioridad alta por lo que bloquea otras funciones." #. Tag: para #: index.docbook:554 #, no-c-format msgid "" "Insert a note or chord followed by a note or chord with the same pitch(es):" msgstr "" "Inserte una nota o acorde seguido por una nota o acorde con la(s) misma(s) " "altura(s):" #. Tag: phrase #: index.docbook:559 #, no-c-format msgid "before tie method 1" msgstr "" #. Tag: para #: index.docbook:562 #, no-c-format msgid "" "Then press ',' (comma). Notes " "with equal pitch are tied:" msgstr "" "Luego presione ',' (coma). Las " "notas con las misma altura se ligarán:" #. Tag: phrase #: index.docbook:567 #, no-c-format msgid "before tie method 2" msgstr "" #. Tag: title #: index.docbook:575 #, no-c-format msgid "Customized ties" msgstr "Ligaduras de unión personalizadas" #. Tag: para #: index.docbook:576 #, no-c-format msgid "" "&nted; places the ties automatically depending on the note's stem direction. " "This works in most cases. But sometimes the user wishes costumized ties. To " "costumize a tie make sure &nted; is in edit mode (see The 3 modes). Select a tie with left mouse button:" msgstr "" "&nted; coloca las ligaduras automáticamente dependiendo de la dirección de " "la plica. Quedará bienen la mayoría de los casos, pero algunas veces, el " "usuario deseará personalizarlas. Para personalizar una ligadura asegúrese " "que &nted; esté en modo editar (vea Los 3 modos). Seleccione una ligadura con el botón izquierdo del ratón:" #. Tag: para #: index.docbook:586 #, no-c-format msgid "" "The selected tie appears in red color. Use the cursor up/down keys to change " "the curve:" msgstr "" "La ligadura seleccionada aparece en rojo. Use las teclas del cursor arriba/" "abajo para modificar la curva:" #. Tag: phrase #: index.docbook:591 #, no-c-format msgid "change the tie's curve" msgstr "" #. Tag: title #: index.docbook:596 #, no-c-format msgid "Modifying length, accidentals dots and ties" msgstr "Modificando la duración, alteraciones, puntillos y ligaduras de unión" #. Tag: para #: index.docbook:597 #, no-c-format msgid "" "Be sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl " "key. Click a note or rest with left button. The note or rest is selected. A " "selected chord or rest appeares in red color. The buttons reflect the state " "of the note or rest. You can change the state of the note or rest by " "toggeling the appropriate buttons. This includes:" msgstr "" "Asegúrese de que &nted; esté en el modo editar (vea Los 3 modos). Recuerde: Puede conseguirlo temporalmente pulsando " "la tecla Ctrl. Haga clic en una nota o silencio con el botón izquierdo del " "ratón. La nota o silencio queda seleccionada. Un acorde o silencio aparece " "en color rojo. Los botones de la ventana de herramientas reflejan el estado " "de la nota o silencio. Puede cambiarlo activando o desactivando los botones " "correspondientes. Esto incluye:" #. Tag: para #: index.docbook:604 #, no-c-format msgid "changing the length" msgstr "cambiar la duración" #. Tag: para #: index.docbook:605 #, no-c-format msgid "changing the note head type" msgstr "cambiar el tipo de cabeza de la nota" #. Tag: para #: index.docbook:606 #, no-c-format msgid "insert/remove accidentals/dots" msgstr "insertar/suprimir alteraciones/puntillos" #. Tag: para #: index.docbook:607 #, no-c-format msgid "removing ties" msgstr "eliminar ligaduras de unión" #. Tag: title #: index.docbook:613 #, no-c-format msgid "Undo/Redo and View" msgstr "Deshacer/Rehacer y Vista" #. Tag: para #: index.docbook:614 #, no-c-format msgid "" "&nted; has an unlimited undo history. You can always undo a previous command " "by pressing the undo button () or pressing Ctrl Z. To redo an undo press the redo button " "() or press " "Ctrl Y. To increase " "the view press the zoom in button " "() or press " "Ctrl +. To decrease " "the view press the zoom in button " "() or press " "Ctrl -." msgstr "" "&nted; registra (sin límite) todas sus acciones. Siempre podrá deshacer una " "operación previa pulsando el botón deshacer " "() o pulsando " "Ctrl Z. Para rehacer " "algo deshecho pulse el botón rehacer " "() o pulse " "Ctrl Y. Para acercar " "la vista pulse el botón de acercar" "() o pulse " "Ctrl +. Para alejar " "la vista actual pulse el botón de alejar" "() o pulse " "Ctrl -." #. Tag: title #: index.docbook:631 #, no-c-format msgid "Staves and Systems" msgstr "Pentagramas y sistemas" #. Tag: title #: index.docbook:634 #, no-c-format msgid "Append a new staff" msgstr "Añadir un nuevo pentagrama" #. Tag: para #: index.docbook:635 #, no-c-format msgid "To append a staff choose:" msgstr "Para añadir un pentagrama elija:" #. Tag: menuchoice #: index.docbook:637 #, no-c-format msgid "" "Insert Append staff" msgstr "" "Insertar Añadir pentagrama" #. Tag: para #: index.docbook:642 #, no-c-format msgid "" "or simply press Ctrl + A. The staff is always " "appended at last position." msgstr "" "o simplemente pulse Ctrl + A. El pentagrama siempre " "se añade en última posición." #. Tag: title #: index.docbook:647 #, no-c-format msgid "Change staff properties" msgstr "Cambiar las propiedades del pentagrama" #. Tag: para #: index.docbook:648 #, no-c-format msgid "" "To change the staff properties right click staff not too close to a measure " "line. The staff config menu appears:" msgstr "" "Para cambiar las propiedades del pentagrama haga clic derecho en el " "pentagrama pero no muy cerca de una línea divisoria. Aparece el menu de " "configuración del pentagrama:" #. Tag: phrase #: index.docbook:654 #, no-c-format msgid "the staff config menu" msgstr "" #. Tag: para #: index.docbook:658 #, no-c-format msgid "" "Choose staff name, clef, time signature (likewise " " or " "), and key signature on appropriate " "panel and press OK! The adjust notes " "determins whether or not &nted; shall adjust the appropriate notes such that " "their pitch is kept. This concerns the clef and key signature change. The " "octave shift entry determins an optional octave shift of the clef." msgstr "" "Elija el nombre del prentagrama, la clave, el compás (igualmente " " o " "), y la armadura en los paneles " "correspondientes y pulse OK. ajustar notas " "determina si &nted; debe ajustar las notas de tal manera que la altura se " "mantenga. Esto está relacionado con cambios de clave y de tonalidad. La " "transposición de octava determina una transposición opcional de octava en la " "clave." #. Tag: para #: index.docbook:663 index.docbook:1706 #, no-c-format msgid "" "Note! LilyPond has its own rules for choosing symbols " " or " ". So, do not expect the same " "symbols in LilyPond!" msgstr "" "¡Observe! LilyPond tiene instrucciones propias para seleccionar el signo " " o " ". Por tanto, no espere los mismos " "signos en LilyPond!" #. Tag: para #: index.docbook:668 #, no-c-format msgid "" "The staff short name is printed at 2nd, " "3rd, ... page." msgstr "" "El nombre abreviado de pentagrama se " "imprime en la 2ª, 3ª, ... página." #. Tag: para #: index.docbook:670 #, no-c-format msgid "" "The group name and short " "group name have the same meaning as staff " "name and staff short name " "for groups of staves. (see System Layout)" msgstr "" "El nombre de grupo y el " "nombre abreviado de grupo tienen el mismo " "significado que el nombre de pentagrama y " "el nombre abreviado de pentagrama para " "grupos de pentagramas. (Vea Disposición de " "los sistemas)" #. Tag: para #: index.docbook:673 index.docbook:1741 #, no-c-format msgid "The neutral clef has 3 forms:" msgstr "La clave neutra tiene 3 formas:" #. Tag: phrase #: index.docbook:678 index.docbook:871 index.docbook:1746 #, no-c-format msgid "the neutral clefs" msgstr "" #. Tag: para #: index.docbook:682 index.docbook:1750 #, no-c-format msgid "" "The difference is the MIDI mapping. The first form - signed with \"1\" - " "maps the note lines to pitches like the treble clef would map. The 2nd form " "- signed with \"2\" - maps note lines to pitches like the bass clef would " "map. The difference is not visible." msgstr "" "La diferencia está en el mapeado MIDI. La primera forma - indicada con \"1\" " "- mapea las notas tal como lo haría la clave de sol. La segunda forma - " "indicada con \"2\" - mapea las notas tal como lo haría la clave de fa. La " "diferencia no es visible." #. Tag: para #: index.docbook:687 index.docbook:1755 #, no-c-format msgid "" "Note: If you choose neutral clef 1 or neutral clef 2 the notation conflicts " "with usual drum notation and it is not exported to LilyPond. An alternative is to use the drum system." msgstr "" "Observe: Si elige la clave neutra 1 o 2 la notación entra en conflicto con " "la notación de percusión usual y no se exporta a LilyPond. Una alternativa es usar el sistema de percusión." #. Tag: para #: index.docbook:690 #, no-c-format msgid "" "On MIDI tab you can change the midi parameters which influences the sound " "during replay:" msgstr "" "En la pestaña MIDI puede cambiar los parámetros midi que influyen en el " "sonido durante la reproducción:" #. Tag: phrase #: index.docbook:696 #, no-c-format msgid "the midi panel" msgstr "" #. Tag: para #: index.docbook:699 #, fuzzy, no-c-format msgid "" "The instrument panel lets you select the timbre. It assumes a general midi " "table. Furthermore you can choose the volume of the staff." msgstr "" "El panel instrumentos le permite seleccionar el timbre. Se asume una tabla " "General Midi. Además puede elegir el volúmen del pentagrama. En el panel " "canal puede asignar un canal midi. Debe asignar un canal midi diferente a " "pentagramas distintos. Esto lo hace automáticamente &nted;." #. Tag: para #: index.docbook:702 #, no-c-format msgid "" "Actually, each voice has the same timbre (plays the same sound). But on " "voices panel you can change this behaviour:" msgstr "" #. Tag: phrase #: index.docbook:708 index.docbook:734 #, no-c-format msgid "the instrument panel" msgstr "" #. Tag: para #: index.docbook:711 #, no-c-format msgid "" "If the radio button all is selected immediately " "before closing the staff configuration menu, all voices produce the same " "sound (play the same instrument). Otherwise you can determine the sound of " "the different voices by selecting one of the radio buttons 1, 2, 3, or " "4. Choose a sound, a volume, and a stereo position " "(pan) of each voice." msgstr "" #. Tag: para #: index.docbook:716 #, no-c-format msgid "" "Different sounds on the same staff produce different sounds on the same MIDI " "track which causes a very complicated and expansive MIDI output! Thus, if " "you have the choice between multiple sounds on the same staff or multiple " "staves you with uniform sound you should choose the latter one!" msgstr "" #. Tag: para #: index.docbook:719 #, fuzzy, no-c-format msgid "" "On channel panel you can assign a midi channel. You should assign a " "different midi channel to different staves. This is automatically done by " "&nted;." msgstr "" "El panel instrumentos le permite seleccionar el timbre. Se asume una tabla " "General Midi. Además puede elegir el volúmen del pentagrama. En el panel " "canal puede asignar un canal midi. Debe asignar un canal midi diferente a " "pentagramas distintos. Esto lo hace automáticamente &nted;." #. Tag: para #: index.docbook:721 #, no-c-format msgid "" "Channel 10 is the drum channel on most sound cards and is never assigned " "automatically" msgstr "" "El canal 10 es el canal de percusión en la mayoría de las tarjetas de sonido " "y nunca se asigna automáticamente" #. Tag: para #: index.docbook:722 #, no-c-format msgid "The tempo slider changes the tempo of all staves." msgstr "El regulador del tempo afecta a todos los pentagramas." #. Tag: para #: index.docbook:723 #, no-c-format msgid "" "The pan slider determins the stereo " "position of the instrument. The chorus " "slider and the reverb slider determine the " "chorus and reverberation effect." msgstr "" "El regulador de balance determina la " "posición stereo del instrumento. El regulador de chorus y el de reverb determinan " "los efectos esperados." #. Tag: para #: index.docbook:726 #, no-c-format msgid "" "The ALSA sound system does not support the reverberation effect of all " "soundcards. The often used modul snd_emu10k1_synth for instance does not support reverberation. But TiMidity supports it." msgstr "" "El sistema de sonido ALSA no soporta el efecto de reverberación de todas las " "tarjetas de sonido. El módulo frecuentemente usado " "snd_emu10k1_synth por ejemplo no soporta " "reverberación. Pero TiMidity lo " "soporta." #. Tag: para #: index.docbook:729 #, no-c-format msgid "On mute panel:" msgstr "" #. Tag: para #: index.docbook:737 #, no-c-format msgid "" "you can mute the whole staff by using the all " "checkbox. You can also mute single voices by selecting the voice number. " "(see also Muting)." msgstr "" #. Tag: para #: index.docbook:740 #, no-c-format msgid "" "The transp. slider causes a pitch offset during replay. This feature is " "helpful for instruments which are not in C tuning." msgstr "" "El regulador transp. produce un desplazamiento de alturas durante la " "reproducción. Esta característica es útil para instrumentos transpositores " "que no están afinados en DO." #. Tag: title #: index.docbook:745 #, no-c-format msgid "Special letters in staff names" msgstr "Letras especiales en los nombres de pentagrama" #. Tag: para #: index.docbook:747 #, no-c-format msgid "" "&nted; allowes you to place special letters like flat symbol in staff names:" msgstr "" "&nted; le permite colocar letras especiales como el símbolo del bemol en los " "nombres de pentagrama:" #. Tag: para #: index.docbook:749 #, no-c-format msgid "Flute in A\\b -->" msgstr "Flute in A\\b -->" #. Tag: para #: index.docbook:751 index.docbook:2167 index.docbook:2381 #, no-c-format msgid "The following table gives an overview about the possible signs:" msgstr "La siguiente tabla resume los signos posibles:" #. Tag: entry #: index.docbook:755 index.docbook:2171 index.docbook:2385 #, no-c-format msgid "\\O" msgstr "" #. Tag: entry #: index.docbook:756 index.docbook:2172 index.docbook:2386 #, no-c-format msgid "\\S" msgstr "" #. Tag: entry #: index.docbook:757 index.docbook:2173 index.docbook:2387 #, no-c-format msgid "\\#" msgstr "" #. Tag: entry #: index.docbook:758 index.docbook:2174 index.docbook:2388 #, no-c-format msgid "\\b" msgstr "" #. Tag: entry #: index.docbook:759 index.docbook:2175 index.docbook:2389 #, no-c-format msgid "\\n" msgstr "" #. Tag: entry #: index.docbook:760 index.docbook:2176 index.docbook:2390 #, no-c-format msgid "\\o" msgstr "" #. Tag: entry #: index.docbook:761 index.docbook:2177 #, no-c-format msgid "\\c" msgstr "" #. Tag: entry #: index.docbook:762 index.docbook:2178 #, no-c-format msgid "\\r" msgstr "" #. Tag: entry #: index.docbook:763 index.docbook:2179 #, no-c-format msgid "\\p" msgstr "" #. Tag: entry #: index.docbook:764 index.docbook:2180 #, fuzzy, no-c-format msgid "\\." msgstr "," #. Tag: entry #: index.docbook:764 index.docbook:2180 #, no-c-format msgid "non breaking space" msgstr "espacio sin separación" #. Tag: entry #: index.docbook:765 index.docbook:2181 #, no-c-format msgid "\\..." msgstr "" #. Tag: entry #: index.docbook:765 index.docbook:2181 #, no-c-format msgid "dots" msgstr "puntos suspensivos" #. Tag: entry #: index.docbook:766 index.docbook:2182 #, no-c-format msgid "\\--" msgstr "" #. Tag: entry #: index.docbook:766 index.docbook:2182 #, no-c-format msgid "dash" msgstr "guión" #. Tag: title #: index.docbook:774 #, no-c-format msgid "Changing the staff position" msgstr "Cambiando la posición del pentagrama" #. Tag: para #: index.docbook:775 #, no-c-format msgid "" "If there is more than one staff there is a 3rd tab, the staff position tab:" msgstr "" "Si hay más de un pentagrama habrá una tercera pestaña, la pestaña de la " "posición del pentagrama:" #. Tag: phrase #: index.docbook:780 #, no-c-format msgid "the position panel" msgstr "" #. Tag: para #: index.docbook:783 #, no-c-format msgid "" "The cursor shows the position of the current staff. Clicking on a different " "position and OK moves the staff to the new position." msgstr "" "El cursor muestra la posición del pentagrama actual. Clicando en una " "posición diferente y luego en OK se mueve el pentagrama a la nueva posición." #. Tag: title #: index.docbook:788 #, no-c-format msgid "Deleting a staff" msgstr "Eliminando un pentagrama" #. Tag: para #: index.docbook:789 #, no-c-format msgid "If there is more than one staff a \"Delete Staff\" button appears:" msgstr "Si hay más de un pentagrama se mostrará un botón \"Delete Staff\":" #. Tag: phrase #: index.docbook:794 #, no-c-format msgid "the staff delete button" msgstr "" #. Tag: para #: index.docbook:797 #, no-c-format msgid "To delete the staff, press this button." msgstr "Para eliminar el pentagrama, pulse ese botón." #. Tag: title #: index.docbook:801 #, no-c-format msgid "Changing the staff distance" msgstr "Cambiando la distancia entre pentagramas" #. Tag: para #: index.docbook:802 #, no-c-format msgid "" "&nted; chooses the staff distance automatically according to the position " "and height of the elements. This works in most cases. But sometimes the user " "wishes customized staff distances. To increase the staff distance make sure " "&nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "&nted; elige la distancia entre pentagramas automáticamente de acuerdo con " "la posición y altura de los elementos. Quedará bien en la mayoría de los " "casos, pero a veces el usuario deseará personalizar esa distancia. Para " "incrementarla asegúrese que &nted; esté en modo insertar (vea Los 3 modos). Elija:" #. Tag: menuchoice #: index.docbook:806 #, no-c-format msgid "" "Insert spacer" msgstr "" "Insertar espaciador" #. Tag: para #: index.docbook:811 #, no-c-format msgid "" "Click at the position to place the spacer on. By clicking and dragging the " "spacer vertically you can adjust the space between the current staff and the " "adjacent staves:" msgstr "" "Haga clic en la posición que desee colocar el espaciador. Pase a modo editar " "(o mantenga Ctrl pulsado) y haciendo clic y arrastrando el espaciador " "verticalmente podrá ajustar la distancia entre el pentagrama actual y los " "pentagramas adyacentes." #. Tag: phrase #: index.docbook:817 #, no-c-format msgid "the spacer" msgstr "" #. Tag: para #: index.docbook:821 #, no-c-format msgid "To hide the spacer choose:" msgstr "Para ocultar el espaciador desmarque:" #. Tag: para #: index.docbook:829 #, no-c-format msgid "" "Modifying an deleting spacer works similar to modifying and deleting arbitrary text." msgstr "" "Modificar y eliminar espaciadores es similar a modificar y eliminar un texto arbitrario." #. Tag: title #: index.docbook:832 #, no-c-format msgid "Removing systems" msgstr "Eliminando sistemas" #. Tag: para #: index.docbook:833 #, no-c-format msgid "If there is more than one system a \"Delete Systems\" button appears:" msgstr "" "Si hay más de un sistema (en una página) aparecerá un botón \"Delete Systems" "\"" #. Tag: phrase #: index.docbook:838 #, no-c-format msgid "the system delete button" msgstr "" #. Tag: para #: index.docbook:841 #, no-c-format msgid "To delete the system, press this button." msgstr "Para borrar el sistema (en el que hizo clic derecho), pulse el botón." #. Tag: para #: index.docbook:843 #, no-c-format msgid "" "You cannot delete the system on first page if the first pages has only one " "system." msgstr "No podrá borrar el sistema de la primera página si sólo contiene uno." #. Tag: title #: index.docbook:848 #, no-c-format msgid "Hide measure numbers" msgstr "Ocultar los números de compás" #. Tag: para #: index.docbook:849 #, no-c-format msgid "&nted; shows measure numbers at system start. You can avoid this by:" msgstr "" "&nted; muestra los número de compás a comienzo de sistema. Puede evitarlo " "así:" #. Tag: menuchoice #: index.docbook:851 #, no-c-format msgid "" "View show measure numbers" msgstr "" "Ver mostrar los números de " "compás" #. Tag: title #: index.docbook:862 #, no-c-format msgid "The drum system" msgstr "El sistema de percusión" #. Tag: title #: index.docbook:864 #, no-c-format msgid "The default drum system" msgstr "El sistema de percusión predefinido" #. Tag: para #: index.docbook:866 #, no-c-format msgid "If you choose neutral clef 1 or neutral clef 2 from clef dialog:" msgstr "Si elige la clave neutra 1 o 2 desde la ventana de diálogo de clave:" #. Tag: para #: index.docbook:875 #, no-c-format msgid "" "the pitches are mapped according to the General MIDI system. This conficts " "with usual drum notation. To avoid this &nted; offers a drum system which " "orientates towards the convertional drum notation." msgstr "" "las alturas se mapean de acuerdo al sistema General MIDI. Esto entra en " "conflicto con la notación usual de percusión. Para evitarlo &nted; ofrece un " "sistema de percusión orientado hacia la notación de percusión convencional." #. Tag: para #: index.docbook:878 #, no-c-format msgid "" "To activate the drum system choose the 3rd drum clef (The 3 isn't printed). " "In current version you should use only the following 20 drum elements:" msgstr "" "Para activar el sistema de percusión elija la tercera clave de percusión (El " "3 no aparece). En la versión actual debería ver sólo los siguientes 20 " "elementos de percusión:" #. Tag: phrase #: index.docbook:885 #, no-c-format msgid "the drum system" msgstr "el sistema de percusión" #. Tag: para #: index.docbook:889 #, no-c-format msgid "" "These notes are mapped to MIDI such a way that the appropriate drum element " "sounds during replay. Furthermore, these notes are exported to LilyPond." msgstr "" "Estas notas se mapean a MIDI de tal forma que durante la reproducción suene " "el elemento de percusión apropiado. Es más, estas notas se exportan a LilyPond." #. Tag: title #: index.docbook:897 #, no-c-format msgid "Configuration of the drum system" msgstr "Configuración del sistema de percusión" #. Tag: para #: index.docbook:898 #, no-c-format msgid "" "The default drum system comprises the most usual drum elements. Users, who " "want to use more drum elements can re-configure the drum system:" msgstr "" "El sistema de percusión por defecto abarca los elementos de percusión más " "usuales. Los usarios que deseen usar más elementos pueden reconfigurar el " "sistema de percusión:" #. Tag: menuchoice #: index.docbook:900 #, no-c-format msgid "" "File Drums ..." msgstr "" "Archivo Configurar " "Percusión ..." #. Tag: para #: index.docbook:906 #, no-c-format msgid "The drum configuration dialog appears:" msgstr "Aparecerá la ventana de diálogo de configuración de percusión:" #. Tag: phrase #: index.docbook:912 #, no-c-format msgid "The drum configuration dialog" msgstr "La ventana de diálogo de la configuración de percusión" #. Tag: para #: index.docbook:916 #, no-c-format msgid "" "The central table lists all drum elements: the name, the short name (equal " "to the LilyPond name), the line, " "the head of the note, and the appropriate MIDI pitch. If you select a drum " "element, the note head buttons and the little preview window reflect the " "current state of the drum note. You can change the line by clicking the up/" "down arrows or by cursor up/down keys on PC keyboard. The note head is " "changed by clicking the approprioate note head button. If you click on " "change element, the new note head and the " "new line is changed permanently." msgstr "" "La tabla central lista todos los elementos de percusión: el nombre, el " "nombre corto (igual al nombre de LilyPond), la línea, la cabeda de la nota, y la nota MIDI asociada. Si " "selecciona un elemento de percusión, los botones de las cabezas de nota y la " "pequeña ventana de previsualización reflejarán el estado actual de la nota " "de percusión. Puede cambiar la línea haciendo click en las flechas arriba/" "abajo o con las teclas del cursor arriba/abajo. La cabeza de la nota se " "cambia haciendo click el el botón de cabeza adecuado. Si hace click en " "cambiar elemento, la nueva cabeza de nota y " "la nueva línea se cambian de forma permanente." #. Tag: para #: index.docbook:922 #, no-c-format msgid "" "To reload the default values, press the load defaults button. You can save and reload a configuration in a file, " "by pressing the save to file and " "load from file button." msgstr "" "Para recargar los valores por defecto, presione el botón por " "defecto. Puede salvar y recargar una configuración en un " "archivo, presionando los botones guardar en archivo y cargar desde archivo." #. Tag: para #: index.docbook:925 #, no-c-format msgid "" "The play element buttons plays the " "appropriate drum element (if your MIDI out " "device is correctly configured)." msgstr "" "El botón toca elemento reproduce el " "elemento de percusión apropiado (si su dispositivo de salida MIDI está correctamente configurado)." #. Tag: para #: index.docbook:927 #, no-c-format msgid "" "If you place 2 drum elements at the same line with the same note head &nted; " "uses the first appearence of this configuration." msgstr "" "Si coloca 2 elementos de percusión en la misma línea con la misma cabeza de " "nota, &nted; usará el primer elemento que aparezca en esta configuración." #. Tag: title #: index.docbook:936 #, no-c-format msgid "Voices" msgstr "Voces" #. Tag: para #: index.docbook:938 #, no-c-format msgid "" "You can place the notes or rests at one of 4 voices. To determine the voice " "select the voice number on voice selector " "()." msgstr "" "Dispone de 4 voces para escribir música. Determine la voz a usar con el " "selector de voces ()." #. Tag: para #: index.docbook:941 #, no-c-format msgid "" "Because multiple voices can be very confusing there is a color button " "(), which causes the " "notes and rests to be drawn colored:" msgstr "" "Puede identificar la distintas voces usando el botón " "(), que las dibuja en " "colores." #. Tag: phrase #: index.docbook:948 #, no-c-format msgid "colored score" msgstr "" #. Tag: para #: index.docbook:951 #, no-c-format msgid "The colors refer to the colors of the voice selector." msgstr "" "Los colores de cada voz se corresponden con los indicados en el selector de " "voz." #. Tag: para #: index.docbook:952 #, no-c-format msgid "" "The normal case is: Every voice produces the same sound (plays the same " "instrument) during replay. But you can change this behaviour by attaching " " different sounds to different " "voices." msgstr "" #. Tag: title #: index.docbook:957 #, no-c-format msgid "Block instructions" msgstr "Instrucciones de bloque" #. Tag: title #: index.docbook:959 #, no-c-format msgid "Overview" msgstr "Esquema - resúmen" #. Tag: para #: index.docbook:960 #, no-c-format msgid "&nted; offers 4 different block instructions:" msgstr "&nted; dispone de 4 instrucciones de bloque diferentes:" #. Tag: entry #: index.docbook:965 #, no-c-format msgid "Block copy" msgstr "Copiar bloque" #. Tag: entry #: index.docbook:965 #, no-c-format msgid "Block delete" msgstr "Eliminar bloque" #. Tag: entry #: index.docbook:970 #, no-c-format msgid "Empty block" msgstr "Vaciar bloque" #. Tag: entry #: index.docbook:970 #, no-c-format msgid "Insert block" msgstr "Insertar bloque" #. Tag: title #: index.docbook:982 #, no-c-format msgid "Select a block" msgstr "Seleccionar un bloque" #. Tag: para #: index.docbook:983 #, no-c-format msgid "" "To select a block make sure &nted; is in edit mode (see The 3 modes). Draw a diagonal with left mouse button " "such that the appropriate rectangle encloses all elements you like to work " "with:" msgstr "" "Para seleccionar un bloque asegúrese que &nted; esté en modo editar (vea " "Los 3 modos). Dibuje una diagonal " "arrastrando el ratón con el botón izquierdo pulsado de forma que el " "rectángulo encierre todos los elementos con los que quiere trabajar:" #. Tag: phrase #: index.docbook:990 #, no-c-format msgid "selection" msgstr "" #. Tag: para #: index.docbook:993 #, no-c-format msgid "The selected elements appear in violet color." msgstr "Los elementos seleccionados aparecerán en violeta." #. Tag: para #: index.docbook:995 #, no-c-format msgid "" "If there is a selection rectangle you can deselect some staves from " "selection by right clicking on the staff:" msgstr "" "Dentro del rectángulo de selección puede hacer clic derecho en los " "pentagramas que desee deseleccionar." #. Tag: phrase #: index.docbook:1000 #, no-c-format msgid "deselect from selection" msgstr "" #. Tag: para #: index.docbook:1004 #, no-c-format msgid "" "This is especially useful if you for example want to copy only the 1st and " "the 3rd staff of 3 staves:" msgstr "" "Esto puede ser especialmente últil si por ejemplo desea copiar solo el 1er y " "3er pentagrama de 3:" #. Tag: phrase #: index.docbook:1009 #, no-c-format msgid "copy selective" msgstr "" #. Tag: title #: index.docbook:1015 #, no-c-format msgid "Block copy" msgstr "Copiar bloque" #. Tag: para #: index.docbook:1016 #, no-c-format msgid "" "To copy a block select some elements as described in Select a block. Choose:" msgstr "" "Para copiar un bloque seleccione algunos elementos tal como se describió en " "Seleccionar un bloque. Elija:" #. Tag: menuchoice #: index.docbook:1018 #, no-c-format msgid "Edit Copy" msgstr "" "Editar Copiar" #. Tag: para #: index.docbook:1023 #, no-c-format msgid "" "or press Ctrl C. The " "selected items are copied into an internal clipboard." msgstr "" "o pulse Ctrl C. Los " "elementos seleccionados se copiarán en un portapapeles interno." #. Tag: title #: index.docbook:1028 #, no-c-format msgid "Block paste" msgstr "Pegar bloques" #. Tag: para #: index.docbook:1029 #, no-c-format msgid "" "To paste a block select a note or rest as described in Shifting notes. This selected chord or rest is the " "upper left corner of a virtual destination rectangle:" msgstr "" "Para pegar un bloque seleccione una nota o silencio tal como se describió en " "Desplazando notas y silencios. (No " "olvide antes copiar el bloque) El acorde o silencio seleccionado debe " "elegirlo como si estuviera situado en la esquina superior izquierda de un " "rectágulo imaginario de destino:" #. Tag: phrase #: index.docbook:1035 #, no-c-format msgid "virtual destination rectangle" msgstr "" #. Tag: para #: index.docbook:1039 index.docbook:1098 index.docbook:1124 index.docbook:1390 #: index.docbook:2473 index.docbook:2504 index.docbook:2536 index.docbook:3197 #, no-c-format msgid "Choose:" msgstr "Elija:" #. Tag: menuchoice #: index.docbook:1041 #, no-c-format msgid "Edit Paste" msgstr "" "Editar Pegar" #. Tag: para #: index.docbook:1046 #, no-c-format msgid "" "or press Ctrl V. The " "items from internal clipboard are copied to this virtual destination " "rectangle:" msgstr "" "o presione Ctrl V. " "Los elementos del portapapeles interno serán copiados al rectángulo " "imaginario o virtual de destino:" #. Tag: phrase #: index.docbook:1053 #, no-c-format msgid "paste complete" msgstr "" #. Tag: title #: index.docbook:1059 #, no-c-format msgid "Delete a block" msgstr "Eliminar un bloque" #. Tag: para #: index.docbook:1060 #, no-c-format msgid "" "To delete a block select some elements as described in Select a block. Choose:" msgstr "" "Para eliminar un bloque seleccione algunos elementos tal como se describe en " "Seleccionar un bloque. Elija:" #. Tag: menuchoice #: index.docbook:1062 #, no-c-format msgid "" "Edit Delete Block" msgstr "" "Editar Eliminar bloque" #. Tag: para #: index.docbook:1067 #, no-c-format msgid "Or simply press Ctrl + X. The block is deleted." msgstr "O simplemente presione Ctrl + X. El boque se eliminará." #. Tag: para #: index.docbook:1068 #, no-c-format msgid "" "Independent of the concrete selection the delete operation influences all " "staves. Only whole measures are deleted." msgstr "" "Independientemente de la selección concreta la operación de eliminar influye " "a todos los pentagramas. Sólo serán eliminados compases completos." #. Tag: phrase #: index.docbook:1074 #, no-c-format msgid "block delete removes whole measures" msgstr "" #. Tag: title #: index.docbook:1079 #, no-c-format msgid "Empty a block" msgstr "Vaciar un bloque" #. Tag: para #: index.docbook:1080 #, no-c-format msgid "" "To empty a block means to convert all notes groups to rests of appropriate " "length. Select some elements as described in Select a block:" msgstr "" "Vaciar un bloque significa convertir todas las notas a silencios de la " "duración adecuada. Seleccione algunos elementos tal como se describe en " "Seleccionar un bloque:" #. Tag: phrase #: index.docbook:1086 #, no-c-format msgid "selection for empty a block" msgstr "" #. Tag: para #: index.docbook:1090 #, no-c-format msgid "Again, you can deselect some staves by right clicking them:" msgstr "" "De nuevo, puede deseleccionar algunos pentagramas haciendo clic con el botón " "derecho en ellos:" #. Tag: phrase #: index.docbook:1095 #, no-c-format msgid "selection for empty a block, staff 2 deselected" msgstr "" #. Tag: menuchoice #: index.docbook:1100 #, no-c-format msgid "" "Edit Empty Block" msgstr "" "Editar Vaciar bloque" #. Tag: para #: index.docbook:1105 #, no-c-format msgid "Or simply press Ctrl + E. The block is emptied:" msgstr "O simplemente pulse Ctrl + E. El bloque se vaciará:" #. Tag: phrase #: index.docbook:1110 #, no-c-format msgid "block emptied" msgstr "" #. Tag: title #: index.docbook:1115 #, no-c-format msgid "Insert a block of empty measures" msgstr "Insertar un bloque de compases vacíos." #. Tag: para #: index.docbook:1116 #, no-c-format msgid "" "To insert a block of empty measures choose an arbitrary note or rest as " "described in Shifting notes." msgstr "" "Para insertar un bloque de compases vacíos elija una nota o silencio " "arbitrario tal como se describe en Desplazando notas y silencios." #. Tag: phrase #: index.docbook:1121 #, no-c-format msgid "select before block insertion" msgstr "" #. Tag: menuchoice #: index.docbook:1126 #, no-c-format msgid "" "Insert Insert block" msgstr "" "Insertar Insertar bloque de " "compases vacíos" #. Tag: para #: index.docbook:1131 #, no-c-format msgid "" "Determine the number of measures you wish to insert on insert dialog. Click " "OK!" msgstr "" "Determine el número de compases vacíos que desea insertar en la ventana de " "diálogo. Haga clic en OK." #. Tag: phrase #: index.docbook:1136 #, no-c-format msgid "block insertion dialog" msgstr "" #. Tag: para #: index.docbook:1139 #, no-c-format msgid "" "The measures are inserted after the measure with the selected note or rest." msgstr "" "Los compases se insertarán luego del que contiene la nota o silencio " "seleccionado." #. Tag: phrase #: index.docbook:1144 #, no-c-format msgid "block insertion performed" msgstr "" #. Tag: title #: index.docbook:1152 #, no-c-format msgid "Handling beams" msgstr "Personalizando las barras" #. Tag: title #: index.docbook:1154 #, no-c-format msgid "Grouping" msgstr "Agrupando" #. Tag: para #: index.docbook:1156 #, no-c-format msgid "" "&nted; places the beams automatically depending on the note length and the " "time signature. This works in most cases. But sometimes the user wishes " "costumized beams. To change the beaming use a special button on toolbar " "which changes its appearence depending of whether there is a selection " "rectangle or not (see Select a block). " "If there is no selection rectangle the button isolates a currently beamed " "note (). To isolate make " "sure &nted; is in edit mode (see The 3 modes). Select a beamed note by left clicking it:" msgstr "" "&nted; pone las barras automáticamente dependiendo de la duración de la nota " "y del compás. Esto funciona en la mayoría de los casos. Pero algunas veces " "el usuario desea personalizarlas. Para cambiar el barraje use un botón " "especial en la barra de herramientas. Este botón cambia de apariencia " "dependiendo de si hay o no un rectágulo de selección (vea Seleccionar un bloque). Si no hay rectángulo de " "selección al presionar el botón se aislará la nota actual barrada " "(). Para aislar " "asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Seleccione una nota barrada haciendo clic izquierdo " "en ella:" #. Tag: phrase #: index.docbook:1166 #, no-c-format msgid "The situation before isolation" msgstr "" #. Tag: para #: index.docbook:1169 #, no-c-format msgid "" "Then press the isolate button ():" msgstr "" "Luego pulse el botón 'personalizar " "barra' ():" #. Tag: phrase #: index.docbook:1176 #, no-c-format msgid "The situation after isolation" msgstr "" #. Tag: para #: index.docbook:1180 #, no-c-format msgid "The note is isolated." msgstr "La nota queda aislada." #. Tag: para #: index.docbook:1182 #, no-c-format msgid "" "To connect some notes with a beam, select them as described in Select a block:" msgstr "" "Para conectar algunas notas con una barra, selcciónelas tal como se describe " "en Seleccionar un bloque:" #. Tag: phrase #: index.docbook:1188 index.docbook:1199 index.docbook:1209 index.docbook:1219 #, no-c-format msgid "The situation before connection" msgstr "" #. Tag: para #: index.docbook:1192 #, no-c-format msgid "" "The button changes its appearence " "(). Press the button and " "&nted; connects the notes by a beam:" msgstr "" "El botón cambia su apariencia (). Púlselo y &nted; connectará las notas con una barra:" #. Tag: para #: index.docbook:1203 #, no-c-format msgid "" "Note! This function can break beams as well, if the selection rectangle " "crosses an existing beam:" msgstr "" "¡Observe! Esta función puede romper también barras si el rectángulo de " "selección cruza un barra existente:" #. Tag: para #: index.docbook:1213 #, no-c-format msgid "This results in:" msgstr "Quedando así:" #. Tag: para #: index.docbook:1223 #, no-c-format msgid "" "Instead of pressing the button you can use Ctrl " "J independent of the button's appearence." msgstr "" "En vez de pulsar el botón puede usar Ctrl " "J independientemente de la aparariencia del " "botón." #. Tag: title #: index.docbook:1228 #, no-c-format msgid "Changing the beam parameters" msgstr "Cambiando los parámetros de las barras" #. Tag: para #: index.docbook:1230 #, no-c-format msgid "" "To change the stem direction make sure &nted; is in edit mode (see The 3 modes) select the first or the last note " "with left mouse button and press the change stem dir button " "()." msgstr "" "Para cambiar la dirección de las plicas asegúrese que &nted; esté en modo " "editar (vea Los 3 modos) seleccione la " "primera o última nota de un grupo de notas barradas con el borón izquierdo " "del ratón y pulse el botón de voltear plica " "()." #. Tag: para #: index.docbook:1233 #, no-c-format msgid "" "Instead of pressing the change stem dir button " "() you can " "simply press Ctrl F " "twice." msgstr "" "En vez de pulsar el botón de voltear plica " "() puede " "simplemente pulsar Ctrl F." #. Tag: para #: index.docbook:1237 #, no-c-format msgid "" "&nted; computes the beam position and slope depending on the position of the " "beamed notes. This works in most cases. But sometimes the user wishes to " "change the beam parameters. To change the beam position make sure &nted; is " "in edit mode (see The 3 modes) and select " "the first note with left mouse button:" msgstr "" "&nted; calcula la posición e inclinación de las barras dependiendo de la " "posición de las notas barradas. Esto funciona en la mayoría de los casos. " "Pero algunas veces el usuario puede desear cambiar estos parámetros. Para " "cambiar la posición de la barra asegúrese que &nted; esté en modo editar " "(vea Los 3 modos) y seleccione la primera " "nota barrada con el botón izquierdo del ratón:" #. Tag: phrase #: index.docbook:1246 #, no-c-format msgid "beam position 0" msgstr "" #. Tag: para #: index.docbook:1250 #, no-c-format msgid "" "The stem has a handle represented by a small blue square. Select this handle " "with left mouse button and move it up or down. The beam follows this motion:" msgstr "" "La plica tiene un manejador representado por un pequenño cuadrado azul. " "Seleccione y mueva arriba y abajo este cuadrado con el botón izquierdo del " "ratón. La barra seguirá este movimiento:" #. Tag: phrase #: index.docbook:1257 #, no-c-format msgid "beam position 1" msgstr "" #. Tag: para #: index.docbook:1261 #, no-c-format msgid "To change the beam's slope select the last note with left mouse button:" msgstr "" "Para cambiar la inclinación de la barra seleccione la última nota barrada " "con el botón izquierdo del ratón:" #. Tag: phrase #: index.docbook:1267 #, no-c-format msgid "beam slope 0" msgstr "" #. Tag: para #: index.docbook:1271 #, no-c-format msgid "" "The stem has a handle represented by a small blue square. Select this handle " "with left mouse button and move it up or down. The slope changes according " "to this motion:" msgstr "" "La plica tiene un manejador representado por un pequeño cuadrado azul. " "Seleccione este manejador con el botón izquierdo del ratón y muévalo arriba " "y abajo. La inclinación cambiará de acuerdo a este movimiento:" #. Tag: phrase #: index.docbook:1278 #, no-c-format msgid "beam slope 1" msgstr "" #. Tag: title #: index.docbook:1286 #, no-c-format msgid "Handling stems" msgstr "Manejando las plicas" #. Tag: para #: index.docbook:1288 #, no-c-format msgid "" "To change the stem direction make sure &nted; is in edit mode (see The 3 modes) select the note with left mouse " "button and press the change stem dir button " "()." msgstr "" "Para cambiar la dirección de las plicas asegúrese de que &nted; esté en modo " "editar (vea Los 3 modos), seleccione la " "nota con el botón izquierdo del ratón y pulse el botón de voltear plica " "()." #. Tag: para #: index.docbook:1293 #, no-c-format msgid "" "Instead of pressing the change stem dir button " "() you can " "simply press Ctrl F." msgstr "" "En vez de pulsar el botón de voltear plica " "() puede " "simplemente pulsar Ctrl F." #. Tag: para #: index.docbook:1297 #, no-c-format msgid "" "All notes have a default stem length. This is OK in most cases. But " "sometimes the user wishes to change the stem length. To do this make sure " "&nted; is in edit mode (see The 3 modes) " "and select the note with left mouse button:" msgstr "" "Todas las notas tienen una longitud de plica por defecto. Esto funciona en " "la mayoría de los casos. Pero algunas veces el usuario puede desear cambiar " "esta longitud. Para hacerlo asegúrese de que &nted; esté en modo editar (vea " "Los 3 modos) y seleccione la nota con el " "botón izquierdo del ratón:" #. Tag: phrase #: index.docbook:1304 #, no-c-format msgid "stem length 0" msgstr "" #. Tag: para #: index.docbook:1308 #, no-c-format msgid "" "The stem has a handle represented by a small blue square. Select this handle " "with left mouse button and move it up or down. The stem length changes " "according to this motion:" msgstr "" "La plica tiene un manejador representado por un pequeño cuadrado azul. " "Selecciónelo con el botón izquierdo del ratón y muévalo arriba o abajo. La " "longitud de la plica cambiará de acuerdo a este movimiento:" #. Tag: phrase #: index.docbook:1315 #, no-c-format msgid "stem length 1" msgstr "" #. Tag: title #: index.docbook:1322 #, no-c-format msgid "Horizontal spacement" msgstr "Espaciado horizontal" #. Tag: title #: index.docbook:1324 #, no-c-format msgid "Global Spacement" msgstr "Espaciado global" #. Tag: para #: index.docbook:1325 #, no-c-format msgid "" "&nted; applies a predefined horizontally spacing. This looks good in most " "cases. But sometimes the user wishes a different spacement. To change the " "horizontal spacement globally choose:" msgstr "" "&nted; aplica un espaciado horizontal predefinido (espacio entre notas " "consecutivas). Su partitura tendrá un buen aspecto en la mayoría de los " "casos. Pero a veces el usuario puede querer un espaciado diferente. Para " "cambiar globalmente el espaciado horizontal elija:" #. Tag: menuchoice #: index.docbook:1328 #, no-c-format msgid "" "Edit Change spacement ..." msgstr "" "Editar Cambiar espaciado ..." #. Tag: para #: index.docbook:1334 #, no-c-format msgid "The spacement dialog appears:" msgstr "Aparecerá la ventana de diálogo del espaciado horizontal:" #. Tag: phrase #: index.docbook:1339 #, no-c-format msgid "the spacement dialog" msgstr "" #. Tag: para #: index.docbook:1343 #, no-c-format msgid "" "Change the spacement factor and press OK! &nted; applies the new horizontal " "spacement:" msgstr "" "Cambie el factor de espaciado y pulse OK. &nted; aplicará el nuevo espaciado " "horizontal:" #. Tag: phrase #: index.docbook:1348 #, no-c-format msgid "the global spacement" msgstr "" #. Tag: title #: index.docbook:1354 #, no-c-format msgid "Changing the horizontal spacement measurewise" msgstr "Cambiando el espaciado horizontal en un compás" #. Tag: para #: index.docbook:1355 #, no-c-format msgid "" "&nted; allowes you to change the spacment measurewise. To do this select an " "arbitrary note of the measure, as described in Shifting notes. Then press an hold the shift key and turn the " "mouse wheel! The horizontal spaces of the measure change accordingly." msgstr "" "&nted; le permite cambiar el espaciado de un compás. Para hacerlo seleccione " "una nota arbitraria del compás, tal como se describió en Desplazando notas y silencios. Luego manteniendo " "presionada la tecla Shift gire la rueda del ratón. El espaciado del compás " "cambiará conforme lo hace." #. Tag: para #: index.docbook:1360 #, no-c-format msgid "" "Instead of using the mouse wheel you can also use Shift CursorUp and Shift CursorDown." msgstr "" "En vez de usar la rueda del ratón puede también usar " "Shift Cursor Arriba y " "Shift Cursor Abajo." #. Tag: phrase #: index.docbook:1367 #, no-c-format msgid "horizontal space per measure" msgstr "" #. Tag: title #: index.docbook:1376 #, no-c-format msgid "System Layout" msgstr "Disposición de los sistemas" #. Tag: para #: index.docbook:1377 #, no-c-format msgid "" "You can group the staves by means of braces and brackets. Furthermore, " "&nted; allows you to determine whether the measure lines of subsequent " "staves are connected or not." msgstr "" "Puede agrupar los pentagramas con llaves y corchetes. Además &nted; le " "permite conectar las líneas divisorias de pentagramas adyacentes." #. Tag: para #: index.docbook:1380 #, no-c-format msgid "" "To do this mark a block of staves as described in chapter Select a block." msgstr "" "Para hacerlo seleccione un bloque de pentagramas tal como se describión en " "el capítulo Seleccionar un bloque." #. Tag: phrase #: index.docbook:1386 #, no-c-format msgid "selected block" msgstr "" #. Tag: menuchoice #: index.docbook:1392 #, no-c-format msgid "" "Edit System layout ..." msgstr "" "Editar Disposición de " "sistemas ..." #. Tag: para #: index.docbook:1397 #, no-c-format msgid "Select one of the offered menu items:" msgstr "Seleccione uno de los items ofrecidos:" #. Tag: para #: index.docbook:1399 #, no-c-format msgid "" "brace - This groups the selected staves by " "means of a brace." msgstr "" "llave - Esto agrupa los pentagramas " "seleccionados con una llave." #. Tag: para #: index.docbook:1400 #, no-c-format msgid "" "bracket - This groups the selected staves " "by means of a bracket." msgstr "" "corchete - Esto agrupa los pentagramas " "seleccionados con un corchete." #. Tag: para #: index.docbook:1401 #, no-c-format msgid "" "connect barlines - This causes the bar " "lines of the selected staves to be connected." msgstr "" "concetar líneas divisorias - Esto conectará " "las líneas divisorias de los pentagramas seleccionados." #. Tag: para #: index.docbook:1402 #, no-c-format msgid "" "remove group - This removes a staff group " "created with one of the 3 methods above." msgstr "" "eliminar grupo - Esto elimina el grupo de " "pentagramas creado con uno de los 3 métodos anteriores." #. Tag: phrase #: index.docbook:1409 #, no-c-format msgid "staff layout" msgstr "" #. Tag: para #: index.docbook:1413 #, no-c-format msgid "" "To name a staff group, fill in the group name, or group short name, " "respectively (see: Change staff properties) of the lowest staff of this group:" msgstr "" "Para poner nombre a un grupo de pentagramas, rellene la casilla " "nombre de grupo, o nombre " "abreviado de grupo, respectivamente (vea: Cambiar las propiedades del pentagrama) del " "pentagrama más abajo del grupo:" #. Tag: phrase #: index.docbook:1420 #, no-c-format msgid "a group name" msgstr "" #. Tag: title #: index.docbook:1425 #, no-c-format msgid "Tuplets" msgstr "Grupos de valoración especial" #. Tag: title #: index.docbook:1428 #, no-c-format msgid "Create tuplets" msgstr "Crear grupos de valoración especial (grupos artificiales)" #. Tag: para #: index.docbook:1429 #, no-c-format msgid "" "&nted; can deal with tuplets from 2 to 13. To create a tuplet select a note " "or rest which shall be the first member of the tuplet. Press Ctrl and the " "tuplet val number. For instance: If you want a quarter note to be the first " "member of a triplet then select the quarter note:" msgstr "" "&nted; puede tratar desde dosillos a trecenas. Para crear un grupo de " "valoración especial seleccione la nota o silencio que deba ser la primera " "del mismo. Pulse Ctrl y el número del grupo. Por ejemplo: Si quiere que una " "negra sea la primera de un tresillo entonces selecciónela:" #. Tag: phrase #: index.docbook:1436 #, no-c-format msgid "before triplet creation" msgstr "" #. Tag: para #: index.docbook:1439 #, no-c-format msgid "and press Ctrl + 3:" msgstr "y pulse Ctrl + 3:" #. Tag: phrase #: index.docbook:1444 #, no-c-format msgid "after triplet creation (method1)" msgstr "" #. Tag: para #: index.docbook:1448 #, no-c-format msgid "" "There is a 2nd procedure if you press Ctrl+Alt+<num> instead, the " "result is:" msgstr "" "Hay un segundo procedimiento si en vez de lo anterior presiona Ctrl+Alt+<" "num>, quedando así:" #. Tag: phrase #: index.docbook:1453 #, no-c-format msgid "after triplet creation (method2)" msgstr "" #. Tag: para #: index.docbook:1457 #, no-c-format msgid "" "What's the difference? In first case &nted; regards the selected note as the " "first triplet member. In 2nd case it assumes the selected quarter has the " "length of the first 2 triplet members. This is especially useful for swing " "music where the combination shown above occurs very often." msgstr "" "¿Cuál es la diferencia? En el primer caso &nted; considera a la nota " "seleccionada como el primer miembro del grupo. En el segundo caso la negra " "tiene la duración de 2 miembros del tresillo. Esto es especialmente útil " "para música swing donde se repite muy a menudo esta combinación." #. Tag: title #: index.docbook:1464 #, no-c-format msgid "Delete tuplets" msgstr "Eliminar grupos de valoración especial" #. Tag: para #: index.docbook:1465 #, no-c-format msgid "To delete a tuplet select any tuplet member and choose:" msgstr "" "Para eliminar un grupo de valoración especial seleccione a cualquier miembro " "del grupo y elija:" #. Tag: menuchoice #: index.docbook:1467 #, no-c-format msgid "" "Edit Remove tuplet" msgstr "" "Editar Eliminar grupo de " "valoración especial" #. Tag: title #: index.docbook:1474 #, no-c-format msgid "Tuplets from 10 to 13" msgstr "Grupos de 10 a 13 notas" #. Tag: para #: index.docbook:1475 #, no-c-format msgid "To create a tuplet with value greater then 9 choose:" msgstr "Para crearlos elija:" #. Tag: menuchoice #: index.docbook:1477 #, no-c-format msgid "" "Insert Insert tuplet ..." msgstr "" "Insertar Insertar grupo de " "valoración especial ..." #. Tag: para #: index.docbook:1483 #, no-c-format msgid "" "Set the tuplet value on dialog! To create a tuplet according to 2nd method " "(see above) select the method 2 check box." msgstr "" "Estableza en 'Valor grupo' el número del grupo deseado en la ventana de " "diálogo. Para crear un grupo de acuerdo al 2º método (vea más arriba) marque " "método 2." #. Tag: title #: index.docbook:1489 #, no-c-format msgid "Slurs" msgstr "Ligaduras" #. Tag: title #: index.docbook:1492 #, no-c-format msgid "Inserting slurs" msgstr "Insertando ligaduras" #. Tag: para #: index.docbook:1494 #, fuzzy, no-c-format msgid "" "To insert a slur make sure &nted; is in edit mode (see The 3 modes). Select some notes as described in Select a block:" msgstr "" "Para modificar las letras asegúrese de que &nted; esté en modo editar (vea " "Los 3 modos). Seleccione una nota con " "letras y elija:" #. Tag: phrase #: index.docbook:1501 #, no-c-format msgid "before a slur is created" msgstr "" #. Tag: para #: index.docbook:1505 #, fuzzy, no-c-format msgid "Then Choose:" msgstr "Elija:" #. Tag: menuchoice #: index.docbook:1507 #, no-c-format msgid "" "Insert Slur" msgstr "" "Insertar Ligadura" #. Tag: para #: index.docbook:1513 #, fuzzy, no-c-format msgid "" "or press Ctrl H. The " "slur appears:" msgstr "o pulse Ctrl H." #. Tag: phrase #: index.docbook:1519 #, no-c-format msgid "after a slur is created" msgstr "" #. Tag: para #: index.docbook:1523 #, no-c-format msgid "" "As you can see the slur has 3 handles. By left clicking and dragging these " "handles you can determine the exact slur shape:" msgstr "" "Como puede ver la ligadura tiene 3 manejadores. Manteniendo presionado Ctrl " "(modo editar), haga clic izquierdo y arrastre estos manejadores para " "determinar la figura exacta de la ligadura:" #. Tag: phrase #: index.docbook:1529 #, no-c-format msgid "a slur is created" msgstr "" #. Tag: title #: index.docbook:1535 #, no-c-format msgid "Modifiying slurs" msgstr "Modificando las ligaduras" #. Tag: para #: index.docbook:1537 #, no-c-format msgid "" "Although the slur handles appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Aunque los manejadores de la ligadura parecen poder colocarse libremente, " "siempre están asignados a un símbolo. El símbolo se sabe por una fina línea " "azul:" #. Tag: phrase #: index.docbook:1544 #, no-c-format msgid "the assignment of the slur handles" msgstr "" #. Tag: para #: index.docbook:1548 index.docbook:1853 index.docbook:1971 index.docbook:2067 #: index.docbook:2206 index.docbook:2302 #, no-c-format msgid "This has consequences:" msgstr "Esto tiene consecuencias:" #. Tag: para #: index.docbook:1550 #, no-c-format msgid "" "&nted; tries to keep the position of the slur handle relative to the symbol " "it is assigned to;" msgstr "" "&nted; trata de mantener la posición de la ligadura relativa al símbolo al " "que está asignada;" #. Tag: para #: index.docbook:1551 #, no-c-format msgid "&nted; removes the slur if the symbol it is assigned to is removed;" msgstr "" "&nted; elimina la ligadura si el símbolo al que está asociada se elimina;" #. Tag: para #: index.docbook:1554 #, no-c-format msgid "" "To change a slur's shape make sure &nted; is in edit mode (see The 3 modes). Select the start or end of a slur with " "left mouse button. The 3 handles appear again:" msgstr "" "Para cambiar la figura de la ligadura asegúrese de que &nted; esté en modo " "editar (vea Los 3 modos). Seleccione el " "comienzo o final de una ligadura con el botón izquierdo del ratón. " "Aparecerán los 3 manejadores de nuevo:" #. Tag: phrase #: index.docbook:1560 #, no-c-format msgid "the selection of the slur handles" msgstr "" #. Tag: para #: index.docbook:1564 #, no-c-format msgid "Thus, you can change the slur's shape again by dragging the 3 handles." msgstr "" "Así, puede cambiar de nuevo la forma de la ligadura arrastrando los 3 " "manejadores." #. Tag: title #: index.docbook:1568 #, no-c-format msgid "Deleting a slur" msgstr "Eliminando una ligadura" #. Tag: para #: index.docbook:1569 #, no-c-format msgid "" "To delete a slur make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Left click the start or and of a slur. " "The selected handle appears in red color. Press the backspace key and the " "slur will be deleted." msgstr "" "Para eliminar una ligadura asegúrese de que &nted; esté en modo editar (vea " "Los 3 modos). De nuevo: Puede conseguirlo " "temporalmente teniendo pulsada la tecla Ctrl. Haga clic izquierdo al " "comienzo o final de una ligadura. Aparecerá en rojo el manejador " "seleccionado. Pulse la tecla retroceso (Backspace) y se borrará la ligadura." #. Tag: title #: index.docbook:1576 #, no-c-format msgid "Repeats and other bar types" msgstr "Repeticiones y otros tipos de barras" #. Tag: title #: index.docbook:1578 #, no-c-format msgid "Simple Repeats" msgstr "Repeticiones simples" #. Tag: para #: index.docbook:1579 #, no-c-format msgid "" "To place a repeat open or repeat close make sure &nted; is in edit mode (see " "The 3 modes). Right click a measure line. " "The repeat dialog appears:" msgstr "" "Para colocar una doble barra de repetición asegúrese de que &nted; esté en " "modo editar (vea Los 3 modos). Haga clic " "derecho en una línea divisoria. Aparecerá la ventana de diálogo 'Tipo de " "compás':" #. Tag: phrase #: index.docbook:1585 #, no-c-format msgid "the repeat dialog" msgstr "" #. Tag: para #: index.docbook:1588 #, no-c-format msgid "" "Choose one of the offered repeat types by clicking the up/down arrow and " "press Ok button. The appropriate measure changes its type:" msgstr "" "Elija uno de los tipos de repetición disponibles haciéndo clic en las " "flechas y luego en el botón OK. El compás cambiará su tipo de línea " "divisoria:" #. Tag: phrase #: index.docbook:1594 #, no-c-format msgid "the repeat open measure" msgstr "" #. Tag: title #: index.docbook:1599 #, no-c-format msgid "Alternatives" msgstr "Iª y IIª volta" #. Tag: para #: index.docbook:1600 #, no-c-format msgid "" "If you select a closing repeat on repeat dialog the checkbox " "alternative1 is enabled. If you check it " "the checkbox alternative2 is enabled:" msgstr "" "Si selecciona una repetición 'cerrada' (final) en la ventana de diálogo, " "dispondrá de la casilla 1ª volta. Si la " "marca, dispondrá de la casilla 2ª volta:" #. Tag: phrase #: index.docbook:1606 #, no-c-format msgid "the alternative checkboxes" msgstr "" #. Tag: para #: index.docbook:1609 #, no-c-format msgid "This way you can place the appropriate alternatives:" msgstr "De esta manera podrá poner las correspondientes alternativas:" #. Tag: phrase #: index.docbook:1615 #, no-c-format msgid "the alternative" msgstr "" #. Tag: para #: index.docbook:1618 #, no-c-format msgid "" "Both alternatives cover one measure at start. To change the alternative's " "width select 1. or 2. with left mouse click. The selected number appears red:" msgstr "" "Ambas alternativas cubren un compás. Para cambiarlo seleccione " "1. o 2. " "con el botón izquierdo del ratón. El número seleccionado aparecerá en rojo:" #. Tag: phrase #: index.docbook:1624 #, no-c-format msgid "the selected alternative" msgstr "" #. Tag: para #: index.docbook:1627 #, no-c-format msgid "Change the alternative width by pressing the left/right cursor key:" msgstr "" "Cambie la longitud de la alternativa pulsando las teclas del cursor " "izquierda/derecha:" #. Tag: phrase #: index.docbook:1632 #, no-c-format msgid "the changed alternative" msgstr "" #. Tag: para #: index.docbook:1635 #, no-c-format msgid "" "To delete an alternative select the appropriate closing repeat and deselect " "the appropriate checkbox." msgstr "" "Para eliminar una alternativa haga clic derecho en la repetición 'cerrada' " "apropiada y desmarque la casilla correspondiente de la ventana de diálogo." #. Tag: title #: index.docbook:1638 #, no-c-format msgid "End bar" msgstr "Doble barra final" #. Tag: para #: index.docbook:1639 #, no-c-format msgid "The same way you can insert an end bar:" msgstr "De la misma forma puede insertar una doble barra final:" #. Tag: phrase #: index.docbook:1644 #, no-c-format msgid "double bar and end bar" msgstr "" #. Tag: para #: index.docbook:1648 #, no-c-format msgid "" "If you choose the end bar or repeat close you can control by hide " "following whether or not &nted; draws elements following the end " "bar on the same system:" msgstr "" "Si elige la doble barra final o la repetición 'cerrada' puede controlar " "mediante ocultar lo que sigue si &nted; mostrará o no " "la música que siga al final en el mismo sistema:" #. Tag: phrase #: index.docbook:1654 index.docbook:1662 #, no-c-format msgid "the end bar dialog" msgstr "" #. Tag: para #: index.docbook:1657 #, no-c-format msgid "It is your responsibility to delete following systems or pages!" msgstr "¡Es su responsabilidad borrar los sistemas y páginas que sigan!" #. Tag: title #: index.docbook:1668 #, no-c-format msgid "Double bar" msgstr "La doble barra" #. Tag: para #: index.docbook:1669 #, no-c-format msgid "The same way you can insert a double bars:" msgstr "De la misma forma puede insertar una doble barra:" #. Tag: phrase #: index.docbook:1674 #, no-c-format msgid "double bar" msgstr "" #. Tag: title #: index.docbook:1681 #, no-c-format msgid "Time signature changes" msgstr "Cambios de compás" #. Tag: title #: index.docbook:1683 #, no-c-format msgid "Inserting or changing time signature changes" msgstr "Insertando o modificando cambios de compás" #. Tag: para #: index.docbook:1684 #, no-c-format msgid "" "To place a time signature change make sure &nted; is in edit mode (see The 3 modes). Right click a measure line. On " "dialog box select enable timesig" msgstr "" "Para poner un cambio de compás asegúrese de que &nted; esté en modo editar " "(vea Los 3 modos). Haga clic derecho en " "una línea divisoria. En la ventana de diálogo seleccione permitir " "indicación de compás" #. Tag: phrase #: index.docbook:1690 index.docbook:1702 #, no-c-format msgid "the timesig changed dialog" msgstr "" #. Tag: para #: index.docbook:1694 #, no-c-format msgid "" "On time signature panel choose the new numerator and denominator or one of " "the symbols or " " and press Ok:" msgstr "" "En el panel indicación de compás elija el nuevo numerador, denominador, el " "signo o " " y pulse Ok:" #. Tag: title #: index.docbook:1712 #, no-c-format msgid "Removing a time signature change" msgstr "Eliminando un cambio de compás" #. Tag: para #: index.docbook:1713 #, no-c-format msgid "" "To delete an existing time signature change select the delete " "timesig checkbox." msgstr "" "Para eliminar un cambio de compás existente marque también borrar " "indicación de compás en el mismo panel 'Indicación de compás'." #. Tag: title #: index.docbook:1718 #, no-c-format msgid "Clef changes" msgstr "Cambios de clave" #. Tag: title #: index.docbook:1720 #, no-c-format msgid "Inserting clef changes" msgstr "Insertando un cambio de clave" #. Tag: para #: index.docbook:1721 #, no-c-format msgid "" "To place a clef change make sure &nted; is in insert/delete mode (see The 3 modes). Choose:" msgstr "" "Para poner un cambio de clave asegúrese que &nted; esté en modo insertar/" "suprimir (vea Los 3 modos). Elija:" #. Tag: menuchoice #: index.docbook:1723 #, no-c-format msgid "" "Insert Clefs" msgstr "" "Insertar Insertar clave ..." #. Tag: para #: index.docbook:1729 #, no-c-format msgid "The clef change dialog appears:" msgstr "La ventana de diálogo de cambiar clave aparecerá:" #. Tag: phrase #: index.docbook:1735 #, no-c-format msgid "the clef change dialog" msgstr "" #. Tag: para #: index.docbook:1739 #, no-c-format msgid "" "Choose a clef by clicking the up/down arrow keys! The octave shift entry " "determins an optional octave shift of the clef." msgstr "" "Elija una clave haciendo clic en las flechas. Puede añadirle a la clave " "transposición de octava." #. Tag: para #: index.docbook:1759 #, no-c-format msgid "" "The adjust notes determins whether or not " "&nted; shall adjust the appropriate notes such that their pitch is kept. " "Press the Ok button! Click at the position " "to place the clef change on! The appropriate clef appears:" msgstr "" "ajustar notas determina si &nted; deberá o " "no ajustar las notas que estén a continuación de la nueva clave de forma que " "mantengan su altura (si está marcada) o su posición en el pentagrama (si no " "lo está). Pulse el botón Ok. Haga clic en " "la posición que desee colocar la clave. La nueva clave aparecerá:" #. Tag: phrase #: index.docbook:1766 #, no-c-format msgid "the clef change" msgstr "" #. Tag: title #: index.docbook:1772 #, no-c-format msgid "Deleting a clef change" msgstr "Eliminando un cambio de clave" #. Tag: para #: index.docbook:1773 #, no-c-format msgid "" "To delete a clef change make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Click the clef change with left mouse " "button. The selected clef change appears in red color. Press the backspace " "key and the clef change will be deleted." msgstr "" "Para eliminar un cambio de clave asegúrese de que &nted; esté en modo editar " "(vea Los 3 modos). De nuevo: Puede " "activar temporalmente este modo manteniendo pulsada la tecla Ctrl. Haga clic " "izquierdo en el cambio de clave. La clave seleccionada aparecerá en color " "rojo. Pulse la tecla retroceso (Backspace) y el cambio de clave se eliminará." #. Tag: title #: index.docbook:1780 #, no-c-format msgid "Key signature changes" msgstr "Cambios de armadura" #. Tag: title #: index.docbook:1782 #, no-c-format msgid "Inserting key signature changes" msgstr "Insertando un cambio de armadura" #. Tag: para #: index.docbook:1783 #, no-c-format msgid "" "To place a key signature change make sure &nted; is in insert/delete mode " "(see The 3 modes). Choose:" msgstr "" "Para poner un cambio de armadura asegúrese de que &nted; esté en modo " "insertar/suprimir. (vea Los 3 modos). " "Elija:" #. Tag: menuchoice #: index.docbook:1785 #, no-c-format msgid "" "Insert Insert keysig ..." msgstr "" "Insertar Insertar armadura ..." "" #. Tag: para #: index.docbook:1791 #, no-c-format msgid "The key signature dialog appears:" msgstr "La ventana de diálogo 'Tonalidad nueva' aparecerá:" #. Tag: phrase #: index.docbook:1796 #, no-c-format msgid "key signature dialog" msgstr "" #. Tag: para #: index.docbook:1800 #, no-c-format msgid "" "Choose the new key signature. The adjust notes determins whether or not &nted; shall adjust the appropriate " "notes such that their pitch is kept. Press the Ok button! Click at the position to place the key signature " "change on:" msgstr "" "Elija una nueva armadura. ajustar notas " "determina si &nted; debe o no mantener la altura de las notas que siguen a " "la nueva armadura conforme al nuevo cambio de tonalidad. Pulse el botón " "Ok. Haga clic en la posición donde quiera " "colocar el cambio de armadura:" #. Tag: phrase #: index.docbook:1807 #, no-c-format msgid "the key signature change" msgstr "" #. Tag: title #: index.docbook:1813 #, no-c-format msgid "Deleting a key signature change" msgstr "eliminando un cambio de armadura" #. Tag: para #: index.docbook:1814 #, no-c-format msgid "" "To delete a key signature change make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Click the key signature change with " "left mouse button. The selected key signature appears in red color. Press " "the backspace key and the key signature change will be deleted." msgstr "" "Para eliminar un cambio de armadura asegúrese de que &nted; esté en modo " "editar (vea los 3 modos). De nuevo: Puede " "activar este modo manteniendo pulsada la tecla Ctrl. Haga clic izquierdo en " "el cambio de armadura. La armadura aparecerá en color rojo. Pulse la tecla " "retroceso y eliminará el cambio de armadura." #. Tag: title #: index.docbook:1821 #, no-c-format msgid "Dynamics" msgstr "Dinámica" #. Tag: title #: index.docbook:1823 #, no-c-format msgid "Insert dynamics" msgstr "Insertar elementos de dinámica" #. Tag: para #: index.docbook:1825 #, no-c-format msgid "" "To insert a dynamic symbol make sure &nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "Para insertar una abreviación dinámica (matices) asegúrese de que &nted; " "esté en modo insertar (vea Los 3 modos). " "Elija:" #. Tag: menuchoice #: index.docbook:1827 #, no-c-format msgid "" "Insert Dynamics ..." msgstr "" "Insertar Dinámica ..." #. Tag: para #: index.docbook:1833 #, no-c-format msgid "" "Choose the dynamic symbol and click at the position to place the dynamic " "sign on." msgstr "" "Elija el signo dinámico y haga clic en la posición donde lo quiera colocar." #. Tag: title #: index.docbook:1837 #, no-c-format msgid "Change the dynamic's position" msgstr "Cambiar la posición de la dinámica" #. Tag: para #: index.docbook:1838 #, no-c-format msgid "" "To move a dynamic symbol make sure &nted; is in edit mode (see The 3 modes). Select the dynamic symbol by left " "clicking it. The selected symbol appears in red. Hold left mouse button and " "move the mouse. The dynamic symbol moves accordingly." msgstr "" "Para mover una abreviación dinámica asegúrese de que &nted; esté en modo " "editar (vea Los 3 modos). Selecciónela " "haciéndo clic izquierdo en ella. Aparecerá en rojo. Mantenga el botón " "izquierdo hundido y mueva el ratón. El signo dinámico seguirá el movimiento " "del ratón." #. Tag: para #: index.docbook:1842 #, no-c-format msgid "" "Although the dynamic symbols appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Aunque los signos dinámicos parecen colocarse libremente, siempre se asignan " "a un elemento. El elemento se muestra con una fina línea azul:" #. Tag: phrase #: index.docbook:1849 #, no-c-format msgid "the assignment of dynamics" msgstr "" #. Tag: para #: index.docbook:1855 #, no-c-format msgid "" "&nted; tries to keep the position of the dynamic symbol relative to the " "symbol it is assigned to;" msgstr "" "&nted; intenta mantener la posición del signo dinámico relativa al elemento " "al que está asignado;" #. Tag: para #: index.docbook:1856 #, no-c-format msgid "" "&nted; copies the dynamic symbol if the symbol it is assigned to is copied;" msgstr "" "&nted; copia el signo dinámico si copia el elemento al que está asignado;" #. Tag: para #: index.docbook:1857 #, no-c-format msgid "" "&nted; removes the dynamic symbol if the symbol it is assigned to is removed;" msgstr "" "&nted; elimina el signo dinámico si elimina el elemento al que está asignado;" #. Tag: para #: index.docbook:1858 #, no-c-format msgid "" "&nted; influences the volume of the staff of the symbol it is assigned to;" msgstr "" "&nted; determina el volúmen del pentagrama que tiene asignado el signo;" #. Tag: title #: index.docbook:1863 #, no-c-format msgid "Determine the MIDI volume of a dynamic symbol" msgstr "Determinar el volúmen MIDI de un signo dinámico" #. Tag: para #: index.docbook:1864 #, no-c-format msgid "" "Every dynamic symbol has a predefined MIDI volume between 0 and 127. To " "change the MIDI volume click the dynamic symbol with right mouse button. The " "volume dialog appears:" msgstr "" "Todo signo dinámico tiene un volúmen predefinido entre 0 y 127. Para " "cambiarlo haga clic derecho en el signo dinámico. Aparecerá la ventana de " "diálogo de 'Establecer volúmen':" #. Tag: phrase #: index.docbook:1871 index.docbook:2009 #, no-c-format msgid "the volume dialog" msgstr "" #. Tag: para #: index.docbook:1875 #, no-c-format msgid "Select a MIDI volume and press OK!" msgstr "Seleccione el volúmen MIDI y presione OK." #. Tag: title #: index.docbook:1880 #, no-c-format msgid "Removing dynamics" msgstr "Eliminando signos dinámicos" #. Tag: para #: index.docbook:1881 #, no-c-format msgid "" "To remove a dynamic symbol make sure &nted; is in edit mode (see The 3 modes). Select the dynamic symbol by left " "clicking it. The selected symbol appears in red. Press Backspace key and the " "dynamic symbol vanishes." msgstr "" "Para eliminar un signo dinámico asegúrese de que &nted; esté en modo editar " "(vea Los 3 modos). Haga clic izquierdo en " "el signo dinámico para seleccionarlo. Aparecerá en rojo. Pulse la tecla " "retroceso y el signo dinámico se eliminará." #. Tag: title #: index.docbook:1888 #, no-c-format msgid "Horizontal lines" msgstr "Líneas horizontales" #. Tag: title #: index.docbook:1890 #, no-c-format msgid "Inserting horizontal lines" msgstr "Insertando líneas horizontales" #. Tag: para #: index.docbook:1892 #, no-c-format msgid "" "&nted; allows you to insert some horizontal lines. Among them (de-)crescendo " "(hairpins), va8, vb8, ma15, and mb15 lines. To insert a line make sure " "&nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "&nted; le permite insertar algunas líneas horizontales. Entre ellas (de-)" "crescendo (reguladores), 8va, 8vb, 15ma y 15mb. Para insertar una línea " "asegúrese de que &nted; esté en modo insertar (vea Los 3 modos). Elija:" #. Tag: menuchoice #: index.docbook:1895 #, no-c-format msgid "" "Insert Insert lines ..." msgstr "" "Insertar Insertar líneas." #. Tag: para #: index.docbook:1901 #, no-c-format msgid "The line dialog appears:" msgstr "Aparecerá la ventana de diálogo 'Líneas'" #. Tag: phrase #: index.docbook:1907 #, no-c-format msgid "the line dialog" msgstr "" #. Tag: para #: index.docbook:1911 #, no-c-format msgid "" "Select a line by clicking on the appropriate box. The selected line appears " "red hemmed:" msgstr "" "Haga clic en el tipo de línea apropiada. La línea seleccionada aparecerá " "encerrada en un cuadro rojo:" #. Tag: phrase #: index.docbook:1917 #, no-c-format msgid "the line dialog (selected)" msgstr "" #. Tag: para #: index.docbook:1921 #, no-c-format msgid "" "Press OK and then left click the position where the line shall appear. A " "appropriate line is created:" msgstr "" "Pulse OK y haga clic izquierdo en la posición que desee colocar la línea. Se " "creará la línea correspondiente:" #. Tag: phrase #: index.docbook:1926 #, no-c-format msgid "a (de-)crescendo is created" msgstr "" #. Tag: para #: index.docbook:1930 #, no-c-format msgid "" "As you can see the line has 2 handles. By left clicking and dragging these " "handles you can determine the position and length:" msgstr "" "Como puede ver la línea tiene 2 manejadores. Haciéndo clic izquierdo y " "arrastrándolos puede determinar la posición y longitud:" #. Tag: phrase #: index.docbook:1936 #, no-c-format msgid "a (de-) crescendo is placed" msgstr "" #. Tag: para #: index.docbook:1940 #, no-c-format msgid "" "If you want a line to span multiple staves first move the end point " "vertically, even if the handle does not immedietely follow the mouse cursor!" msgstr "" "Si quiere que una línea abarque múltiples pentagramas (renglones) primero " "mueva el punto final verticalmente, !incluso si el manejador no sigue " "inmediatamente al puntero del ratón!" #. Tag: phrase #: index.docbook:1947 #, no-c-format msgid "create multi stave lines" msgstr "" #. Tag: para #: index.docbook:1954 #, no-c-format msgid "" "Note! The left handle determins the start position. The right handle only " "determins the horizontal end point, not the vertical position!" msgstr "" "¡Observe! El manejador izquierdo determina la posición de comienzo. El " "manejador derecho solo determina el punto final horizontal, no la posición " "vertical." #. Tag: title #: index.docbook:1958 #, no-c-format msgid "Modifiying lines" msgstr "Modificando las líneas" #. Tag: para #: index.docbook:1960 #, no-c-format msgid "" "Although the line handles appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Aunque los manejadores de las líneas parecen poder colocarse libremente, " "siempre están asignados a un signo. El signo se muestra por una fina línea " "azul:" #. Tag: phrase #: index.docbook:1967 #, no-c-format msgid "the assignment of the crescendo handles" msgstr "" #. Tag: para #: index.docbook:1973 #, no-c-format msgid "" "&nted; tries to keep the position of the line handle relative to the symbol " "it is assigned to;" msgstr "" "&nted; intenta mantener la posición del manejador relativa al signo que " "tiene asignado;" #. Tag: para #: index.docbook:1974 #, no-c-format msgid "&nted; removes the line if the symbol it is assigned to is removed;" msgstr "&nted; elimina la línea si se elimina el signo al que está asignada;" #. Tag: para #: index.docbook:1975 #, no-c-format msgid "" "&nted; influences the MIDI replay of the appropriate staff, if possible;" msgstr "" "&nted; determina la reproducción MIDI del pentagrama correspondiente, si es " "posible;" #. Tag: para #: index.docbook:1978 #, no-c-format msgid "" "To change a line's length and position make sure &nted; is in edit mode (see " "The 3 modes). Select the start of a line " "with left mouse button. The 2 handles appear again:" msgstr "" "Para cambiar la longitud y posición de la línea asegúrese de que &nted; esté " "en modo editar (vea Los 3 modos). Haga " "clic izquierdo en el comienzo de la línea. Los dos manejadores volverán a " "aparecer:" #. Tag: phrase #: index.docbook:1984 #, no-c-format msgid "the selection of the crescendo handles" msgstr "" #. Tag: para #: index.docbook:1988 #, no-c-format msgid "" "Thus, you can change the line's length and position again by dragging the 2 " "handles." msgstr "" "Así, podrá cambiar de nuevo la longitud y posición de la línea arrastrando " "los 2 manejadores." #. Tag: title #: index.docbook:1993 #, no-c-format msgid "Deleting a line" msgstr "Eliminando una línea" #. Tag: para #: index.docbook:1994 #, no-c-format msgid "" "To delete a line make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Left click the start of a line. The " "selected handle appears in red color. Press the backspace key and the line " "will be deleted." msgstr "" "Para eliminar una línea asegúrese de que &nted; esté en modo editar (vea " "los 3 modos). De nuevo: Puede conseguirlo " "temporalmente manteniendo pulsada la tecla Ctrl. Haga clic izquierdo al " "comienzo de la línea. El manejador seleccionado aparece en rojo. Pulse la " "tecla retroceso para eliminar la línea." #. Tag: title #: index.docbook:2000 #, no-c-format msgid "(de-)crescendo (hairpins)" msgstr "(de-)cresendi (reguladores)" #. Tag: para #: index.docbook:2002 #, no-c-format msgid "" "To determine the MIDI behaviour of the (de-)crescendo make sure &nted; is in " "edit mode (see The 3 modes). Select the " "start of a (de-)crescendo with right mouse button. The volume dialog appears:" msgstr "" "Para determinar el comportamiento MIDI de los (de-)crescendi asegúrese de " "que &nted; esté en modo editar (vea Los 3 modos). Haga clic derecho al comienzo del (de-)crescendo. Defina el volúmen " "de comienzo en la ventana de diálogo 'Establecer volúmen':" #. Tag: para #: index.docbook:2013 #, fuzzy, no-c-format msgid "" "Define the MIDI volume difference caused by the (de-) crescendo and press OK!" msgstr "" "Defina de manera similar el volúmen MIDI al final del (de-)crescendo y pulse " "OK." #. Tag: title #: index.docbook:2017 #, no-c-format msgid "Ottava brackets: va8, bv8, ma15, mb15" msgstr "Líneas de octava: 8va, 8va, 15ma, 15mb" #. Tag: para #: index.docbook:2019 #, no-c-format msgid "These symbols change the octave of the enclosed notes." msgstr "Estos signos cambian la octava de las notas que abarcan." #. Tag: title #: index.docbook:2025 #, no-c-format msgid "Tempo markers" msgstr "Indicaciones metronómicas" #. Tag: title #: index.docbook:2027 #, no-c-format msgid "Inserting tempo markers" msgstr "Insertando una indicación metronómica" #. Tag: para #: index.docbook:2029 #, no-c-format msgid "" "To insert a tempo marker make sure &nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "Para insertarla asegúrese antes de que &nted; esté en modo insertar (vea " "Los 3 modos). Elija:" #. Tag: menuchoice #: index.docbook:2031 #, no-c-format msgid "" "Insert tempo ..." msgstr "" "Insertar tempo ..." #. Tag: para #: index.docbook:2037 #, no-c-format msgid "The tempo dialog appears:" msgstr "La ventana de diálogo 'Establecer tempo' aparecerá:" #. Tag: phrase #: index.docbook:2043 index.docbook:2083 index.docbook:2328 #, no-c-format msgid "the tempo dialog" msgstr "" #. Tag: para #: index.docbook:2047 #, no-c-format msgid "" "Select a tempo symbol and a tempo and press \"OK\"! Then click at the " "position to place the tempo marker on." msgstr "" "Seleccione una figura y su valor metronómico. Pulse \"OK\". Luego haga clic " "en la posición que desee colocarla." #. Tag: title #: index.docbook:2051 #, no-c-format msgid "Change the tempo markers's position" msgstr "Cambiar la posición de una indicación metronómica" #. Tag: para #: index.docbook:2052 #, no-c-format msgid "" "To move a tempo marker make sure &nted; is in edit mode (see The 3 modes). Select the tempo marker by left clicking " "it. The selected symbol appears in red. Hold left mouse button and move the " "mouse. The tempo marker moves accordingly." msgstr "" "Para moverla asegúrese antes de que &nted; esté en modo editar (vea Los 3 modos). Haga clic izquierdo en la " "indicación para seleccionarla. Cambiará a color rojo. Mantenga pulsado el " "botón izquierdo mientras la arrastra. La indicación metronómica seguirá sus " "movimientos." #. Tag: para #: index.docbook:2056 #, no-c-format msgid "" "Although the tempo markers appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Aunque estas indicaciones parecen colocarse libremente, siempre se asignan a " "un signo. El signo asociado se sabe por una fina línea azul:" #. Tag: phrase #: index.docbook:2063 #, no-c-format msgid "the assignment of tempo markers" msgstr "" #. Tag: para #: index.docbook:2069 #, no-c-format msgid "" "&nted; tries to keep the position of the tempo marker relative to the symbol " "it is assigned to;" msgstr "" "&nted; intenta mantener la posición de la indicación metronómica relativa al " "signo con el que está asociada;" #. Tag: para #: index.docbook:2070 #, no-c-format msgid "" "&nted; copies the tempo marker if the symbol it is assigned to is copied;" msgstr "&nted; copia la indicación si el signo al que está asignada se copia;" #. Tag: para #: index.docbook:2071 #, no-c-format msgid "" "&nted; removes the tempo marker if the symbol it is assigned to is removed;" msgstr "" "&nted; elimina la indicación si el signo al que está asignada se elimina;" #. Tag: title #: index.docbook:2076 #, no-c-format msgid "Changing the tempo values" msgstr "Cambiando los valores de la indicación metronómica" #. Tag: para #: index.docbook:2077 #, no-c-format msgid "" "To change the tempo value and/or symbol right click the tempo marker. The " "tempo dialog appears:" msgstr "" "Para cambiar el valor o la figura haga clic derecho en la indicación " "metronómica. Aparecerá la ventana de diálogo siguiente:" #. Tag: para #: index.docbook:2087 #, no-c-format msgid "Select a marker symbol and a tempo and press OK!" msgstr "Seleccione la nueva figura o el nuevo valor y presione OK." #. Tag: title #: index.docbook:2092 #, no-c-format msgid "Removing tempo markers" msgstr "Eliminando una indicación metronómica" #. Tag: para #: index.docbook:2093 #, no-c-format msgid "" "To remove a tempo marker make sure &nted; is in edit mode (see The 3 modes). Select the tempo marker by left clicking " "it. The selected symbol appears in red. Press Backspace key and the tempo " "marker vanishes." msgstr "" "Para eliminarla asegúrese antes de que &nted; esté en modo editar (vea Los 3 modos). Haga clic izquierdo en la " "indicación para seleccionarla. Aparecerá en color rojo. Pulse la tecla " "retroceso para eliminarla." #. Tag: title #: index.docbook:2101 #, no-c-format msgid "Arbitrary text" msgstr "Texto arbitrario" #. Tag: title #: index.docbook:2103 #, no-c-format msgid "Inserting arbitrary text" msgstr "Insertando un texto arbitrario" #. Tag: para #: index.docbook:2105 #, no-c-format msgid "" "Don't use this feature for lyrics, dynamics, accelerando, ritardando, or " "(de-)crescendo because &nted; has special means for these items, which " "partly influence the MIDI replay accordingly. (see Lyrics, Dynamics , Accelerato, Ritardando, and " "(de-)crescendo (hairpins))!" msgstr "" "¡No use esta función para añadir letras, dinámicas, un accelerando, " "ritardando, o un (de-)cresendo ya que &nted; tiene métodos especiales para " "esos términos, los cuales afectan parcialmente a la reproducción MIDI de la " "manera correspondiente. (Vea Letras, Dinámica , Accelerando, " "Ritardando, y (de-)crescendi (reguladores)" ")! " #. Tag: para #: index.docbook:2111 #, no-c-format msgid "" "To insert arbitrary text make sure &nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "Para insertar texto arbitrario asegúrese de que &nted; esté en modo insertar " "(vea Los 3 modos). Elija:" #. Tag: menuchoice #: index.docbook:2113 #, no-c-format msgid "" "Insert Text ..." msgstr "" "Insertar Texto ..." #. Tag: para #: index.docbook:2119 #, no-c-format msgid "The text dialog appears:" msgstr "Aparecerá la venta de diálogo 'Texto':" #. Tag: phrase #: index.docbook:2125 #, no-c-format msgid "the text dialog" msgstr "" #. Tag: para #: index.docbook:2129 #, no-c-format msgid "" "Insert a text in text field. Press the font button beneeth the text field if " "you whish a different font! The anchor field allows you to determine the " "anchor point:" msgstr "" "Inserte un texto en el campo 'texto'. Pulse el botón de fuente bajo el campo " "de texto si desea una fuente diferente. También puede determinar el punto de " "anclaje:" #. Tag: phrase #: index.docbook:2136 #, no-c-format msgid "the text alignment" msgstr "" #. Tag: para #: index.docbook:2140 #, no-c-format msgid "" "Please prefer fonts like Sans or " "Serif. Depending on your system " "configuration other fonts can cause problems (pixelated appearence) on " "PostScript/PDF output. This often concerns fonts like " "Helvetica or Times." msgstr "" "Por favor dé preferencia a fuentes como Sans o Serif. Dependiendo de la " "configuración de sus sistema otras fuentes pueden causar problemas " "(apariencia pixelada) en las salidas PostScript/PDF. Esto atañe con " "frecuencia a fuentes como Helvetica o " "Times." #. Tag: para #: index.docbook:2145 #, no-c-format msgid "" "The text often concerns the tempo (allegro) or the " "volume (forte). The 2 fields beneeth the font button " "allow you to influence the MIDI replay. To influence the volume check the " "enable volume change button and choose a volume. To " "influence the tempo check the enable tempo change " "button and choose a tempo." msgstr "" "El texto a veces tiene que ver con el tempo (allegro) " "o la intesidad (forte). Los 2 campos bajo el botón de " "fuente le permiten influir en la reproducción MIDI. Para influir en el " "volúmen marque permitir cambio de volúmen y elija un " "volúmen. Para influir en el tempo marque permitir cambio de " "tempo y elija un valor." #. Tag: para #: index.docbook:2150 #, no-c-format msgid "" "Furthermore, the text can cause an instrument change. To activate this check " "the enable instrument change button and select the " "new instrument." msgstr "" "Además, el texto puede producir un cambio de instrumento. Para activarlo " "marque permitir cambio de instrumento y seleccione el " "nuevo instrumento." #. Tag: para #: index.docbook:2152 #, no-c-format msgid "" "If you enable the channel change, then playing the note will cause the staff " "to change MIDI channel." msgstr "" #. Tag: para #: index.docbook:2154 #, no-c-format msgid "" "If all is correct press \"OK\"! Then click at the position to place the " "arbitrary text on." msgstr "" "Si todo es correcto pulse \"OK\". Luego haga clic en la posición donde " "desee colocar el texto." #. Tag: para #: index.docbook:2156 #, no-c-format msgid "" "For the Segno staff please refer to the Segno " "section." msgstr "" "Para un pentagrama con Segno consulte la sección D.S./Capo al Coda/D.S./Capo al Fine." #. Tag: title #: index.docbook:2161 #, no-c-format msgid "Special letters" msgstr "Letras especiales" #. Tag: para #: index.docbook:2163 #, no-c-format msgid "&nted; allowes you to place special letters like coda inside the text:" msgstr "" "&nted; le permite colocar letras especiales como coda dentro del texto:" #. Tag: para #: index.docbook:2165 #, no-c-format msgid "D.S. al \\O -->" msgstr "D.S. al \\O -->" #. Tag: title #: index.docbook:2190 #, no-c-format msgid "Change the position of the text" msgstr "Cambiar la posición del texto" #. Tag: para #: index.docbook:2191 #, no-c-format msgid "" "To move an arbitrary text make sure &nted; is in edit mode (see The 3 modes). Select the text by left clicking " "the text start . The text appears in red. Hold left mouse button and move " "the mouse. The text moves accordingly." msgstr "" "Asegúrese antes de que &nted; esté en modo editar (vea Los 3 modos). Haga clic izquierdo al comienzo del texto " "para seleccionarlo. El texto se pondrá rojo. Mantenga hundido el botón " "izquierdo y mueva el ratón. El texto seguirá sus movimientos." #. Tag: para #: index.docbook:2195 #, no-c-format msgid "" "Although the arbitrary text appears to be free replaceable, it is always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Aunque el texto parezca ser libremente colocable, siempre estará asignado a " "un signo. El signo se sabe por una fina línea azul:" #. Tag: phrase #: index.docbook:2202 #, no-c-format msgid "the assignment of arbitrary text" msgstr "" #. Tag: para #: index.docbook:2208 #, no-c-format msgid "" "&nted; tries to keep the position of the arbitrary text relative to the " "symbol it is assigned to;" msgstr "" "&nted; trata de mantener la posición del texto relativa al signo al cual " "está asignado;" #. Tag: para #: index.docbook:2209 #, no-c-format msgid "&nted; copies the text if the symbol it is assigned to is copied;" msgstr "&nted; copia el texto si el signo al que está asociado se copia;" #. Tag: para #: index.docbook:2210 #, no-c-format msgid "&nted; removes the text if the symbol it is assigned to is removed;" msgstr "&nted; elimina el texto si se elimina el signo al que está asociado;" #. Tag: title #: index.docbook:2215 #, no-c-format msgid "Changing the arbitrary text" msgstr "Modificando un texto arbitrario" #. Tag: para #: index.docbook:2216 #, no-c-format msgid "" "To change the text right click the text. The text dialog appears again. " "Thus, you can change the text and its properties." msgstr "" "Para cambiar el texto haga clic derecho en él. Aparecerá de nuevo la ventana " "de diálogo 'Texto'. Así, puede cambiar el texto y sus propiedades." #. Tag: title #: index.docbook:2222 #, no-c-format msgid "Removing arbitrary text" msgstr "Eliminando un texto arbitrario" #. Tag: para #: index.docbook:2223 #, no-c-format msgid "" "To remove text make sure &nted; is in edit mode (see The 3 modes). Select the text by left clicking it. The " "selected text appears in red. Press Backspace key and the text vanishes." msgstr "" "Para eliminar el texto asegúrese antes de que &nted; esté en modo editar " "(vea Los 3 modos). Haga clic izquierdo en " "el texto para seleccionarlo. El texto aparecerá en rojo. Pulse la tecla " "retroceso y el texto se eliminará." #. Tag: title #: index.docbook:2230 #, no-c-format msgid "Accelerato, Ritardando" msgstr "Accelerando, Ritardando" #. Tag: title #: index.docbook:2232 #, no-c-format msgid "Inserting Accelerato/Ritardando" msgstr "Insertando un Accelerando/Ritardando" #. Tag: para #: index.docbook:2234 #, no-c-format msgid "" "To insert an accelerando or ritardando make sure &nted; is in insert mode " "(see The 3 modes). Choose:" msgstr "" "Para insertar un accelerando o ritardando &nted; debe estar en modo insertar " "(vea Los 3 modos). Elija:" #. Tag: menuchoice #: index.docbook:2236 #, no-c-format msgid "" "Insert accelerando" msgstr "" "Insertar accelerando" #. Tag: para #: index.docbook:2242 #, no-c-format msgid "or." msgstr "o:" #. Tag: menuchoice #: index.docbook:2245 #, no-c-format msgid "" "Insert ritardando" msgstr "" "Insertar ritardando" #. Tag: para #: index.docbook:2251 #, no-c-format msgid "" "Left click the position where the accelerando or ritardando shall appear:" msgstr "Haga clic izquierdo donde deba aparecer el accelerando o ritardando:" #. Tag: phrase #: index.docbook:2256 #, no-c-format msgid "an ritardando is created" msgstr "" #. Tag: para #: index.docbook:2260 #, no-c-format msgid "" "As you can see the accelerando (ritardando) has 3 handles. By left clicking " "and dragging these handles you can determine the position and influence " "range:" msgstr "" "Como puede ver, el accelerando (ritardando) tiene 3 manejadores. Haciéndo " "clic izquierdo y arrastrando estos manejadores puede determinar la posición " "y el alcance del mismo:" #. Tag: phrase #: index.docbook:2266 #, no-c-format msgid "an ritardando is placed" msgstr "" #. Tag: para #: index.docbook:2270 #, no-c-format msgid "" "If you want an accelerando or ritardando who's influence range spans " "multiple staves first move the start or end point vertically, even if the " "handle does not immedietely follow the mouse cursor!" msgstr "" "Si desea un accelerando o ritardando cuya influecia abarque múltiples " "pentagramas (renglones) primero mueva el punto inicial o final " "verticalmente, ¡incluso si el manejador no sigue inmediatamente al puntero " "del ratón!" #. Tag: phrase #: index.docbook:2277 #, no-c-format msgid "create multi stave ritardando" msgstr "" #. Tag: para #: index.docbook:2284 #, no-c-format msgid "" "Note! The middle handle determins the position of the marker. The left and " "right handle only determin the horizontal position of the influence range! " "The influence range is not visible if the accelerando or ritardando isn't " "selected." msgstr "" "¡Observe! El manejador central determina la posición del texto 'accel.' o " "del 'ritard.' (tanto vertical como horizontal). Los manejadores izquierdo y " "derecho solo determinan la posición horizontal y de influencia del mismo. " "Este alcance no es visible si el accelerando o ritardando no está " "seleccionado." #. Tag: title #: index.docbook:2289 #, no-c-format msgid "Modifiying accelerando or ritardando" msgstr "Modificando un accelerando o ritardando" #. Tag: para #: index.docbook:2291 #, no-c-format msgid "" "Although the accelerando(ritardando) handles appear to be free replaceable, " "they are always assigned to a symbol. The symbol is shown by a thin light " "blue line:" msgstr "" "Aunque los manejadores del accelerando (ritardando) parecen colocarse " "libremente, siempre están asignados a un signo. El signo se sabe por una " "fina línea azul: " #. Tag: phrase #: index.docbook:2298 #, no-c-format msgid "the assignment of the ritardando handles" msgstr "" #. Tag: para #: index.docbook:2304 #, no-c-format msgid "" "&nted; tries to keep the position of the accelerando(ritardando) handle " "relative to the symbol it is assigned to;" msgstr "" "&nted; trata de mantener la posición de los manejadores del accelerando " "(ritardando) relativa a los signos a los que están asignados;" #. Tag: para #: index.docbook:2305 #, no-c-format msgid "" "&nted; removes the accelerando(ritardando) if the symbol it is assigned to " "is removed;" msgstr "" "&nted; elimina el accelerando (ritardando) si se eliminan los signos a los " "que está asignado;" #. Tag: para #: index.docbook:2306 #, no-c-format msgid "&nted; influences the MIDI replay of the appropriate staff;" msgstr "&nted; controla la reproducción MIDI del pentagrama correspondiente;" #. Tag: para #: index.docbook:2309 #, no-c-format msgid "" "To change a influence range and position of the accelerando(ritardando) " "marker make sure &nted; is in edit mode (see The " "3 modes). Select the marker with left mouse button. The 3 handles " "appear again:" msgstr "" "Para cambiar el alcance y posición del accelerando (ritardando) asegúrese de " "que &nted; esté en modo editar (vea Los 3 modos). Haga clic izquierdo en él. Aparecerán los 3 manajadores de nuevo:" #. Tag: phrase #: index.docbook:2315 #, no-c-format msgid "the selection of the ritardando handles" msgstr "" #. Tag: para #: index.docbook:2319 #, no-c-format msgid "" "Thus, you can change the influence range and the marker position again by " "dragging the 3 handles." msgstr "" "Así, podrá cambiar de nuevo el alcance y posición del mismo arrastrando los " "3 manejadores." #. Tag: para #: index.docbook:2321 #, no-c-format msgid "" "To determine the MIDI behaviour of the accelerando or ritardando make sure " "&nted; is in edit mode (see The 3 modes). " "Select the accelerando or ritardando marker with right mouse button. The " "tempo dialog appears:" msgstr "" "Para determinar el comportamiento MIDI del accelerando o ritardando " "asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Selecciónelo haciendo clic derecho. Aparecerá la " "venta de diálogo 'Establecer tempo':" #. Tag: para #: index.docbook:2332 #, fuzzy, no-c-format msgid "" "Define the MIDI tempo diffenrence of the accelerando or ritardando and press " "OK!" msgstr "Defina el tempo al final del accelerando o ritardando y pulse OK." #. Tag: title #: index.docbook:2336 #, no-c-format msgid "Deleting an accelerando or ritardando" msgstr "Eliminando un accelerando o ritardando" #. Tag: para #: index.docbook:2337 #, no-c-format msgid "" "To delete an accelerando or ritardando make sure &nted; is in edit mode (see " "The 3 modes). Again: You can achieve this " "mode temporarily by pressing the Ctrl key. Left click the accelerando or " "ritardando marker. The selected marker appears in red color. Press the " "backspace key and the accelerando(ritardando) will be deleted." msgstr "" "Para eliminar un accelerando o ritardando asegúrese de que &nted; esté en " "modo editar (vea Los tres modos). De " "nuevo: Puede activarlo temporalmente manteniendo pulsada la tecla Ctrl. Haga " "clic izquierdo en el accelerando o ritardando. aparecerá en color rojo. " "Pulse la tecla retroceso y se eliminará el accelerando o ritardando." #. Tag: title #: index.docbook:2345 #, no-c-format msgid "Chordnames" msgstr "Nombres de acordes" #. Tag: para #: index.docbook:2346 #, no-c-format msgid "" "You can attach chord names to notes and rests. To do this make sure &nted; " "is in insert mode (see The 3 modes). " "Choose:" msgstr "" "Puede adjuntar nombres de acorde a notas y silencios. Para ello &nted; debe " "estar en modo insertar (vea Los 3 modos). " "Elija:" #. Tag: menuchoice #: index.docbook:2350 #, no-c-format msgid "" "Insert chordname ..." msgstr "" "Insertar nombre de acorde ..." "" #. Tag: para #: index.docbook:2356 #, no-c-format msgid "The chord name dialog appears" msgstr "Aparecerá la ventana de diálogo 'Nombre de acorde'" #. Tag: phrase #: index.docbook:2362 index.docbook:2373 #, no-c-format msgid "the chord name dialog" msgstr "" #. Tag: para #: index.docbook:2366 #, no-c-format msgid "" "Insert a root, an up text and a down text. Then choose a size and a position " "relative to note line and press OK. Then click at the position to place the " "chordname on:" msgstr "" "Inserte la base (fundamental), un texto superior e inferior (cifrado). Elija " "luego un tamaño y la posición relativa respecto a la nota y pulse OK. Luego " "haga clic en la posición donde desee colocarlo:" #. Tag: para #: index.docbook:2377 #, no-c-format msgid "" "&nted; allowes you to place special letters like the flat symbol inside the " "text:" msgstr "" "&nted; le permite colocar letras especiales como el signo del bemol dentro " "del texto:" #. Tag: para #: index.docbook:2379 #, no-c-format msgid "A\\b -->" msgstr "A\\b -->" #. Tag: para #: index.docbook:2395 #, no-c-format msgid "" "The chord name dialog remains open till you press Cancel. This way you can place the same chordname at multiple places. If " "you change the chord on dialog box the next mouse click will insert the new " "chord." msgstr "" "La ventana de diálogo Nombre de acorde permanecerá abierta hasta que " "presione Cancelar. De esta manera puede colocar el " "mismo acorde en diferentes lugares. Si cambia el acorde en la ventana de " "diálogo el próximo click de ratón insertará el nuevo acorde." #. Tag: para #: index.docbook:2398 #, no-c-format msgid "" "Modifying an deleting chord names works similar to modifying and deleting arbitrary text." msgstr "" "Modificar y eliminar nombres de acordes se hace de la misma forma que modificar y eliminar texto arbitrario." #. Tag: para #: index.docbook:2400 #, no-c-format msgid "" "Chord names are exported to LilyPond. But LilyPond offers a limited number " "of modifiers. It is your responsibility to use only LilyPond conform chord " "names." msgstr "" "Los nombres de acordes se exportan a Lilypond. Pero Lilypond ofrece un " "número limitado de modificadores. Es su responsabilidad usar sólo los " "nombres de acordes a los que se ajusta Lylipond." #. Tag: title #: index.docbook:2407 #, no-c-format msgid "Guitar chord diagrams and chord annotation" msgstr "Diagramas de acordes para guitarra y notación de acordes" #. Tag: para #: index.docbook:2408 #, no-c-format msgid "&nted; offers chord annotation and guitar chord diagrams" msgstr "&nted; ofrece diagramas de acordes para guitarra y notación de acordes" #. Tag: phrase #: index.docbook:2413 #, no-c-format msgid "chord examples" msgstr "" #. Tag: para #: index.docbook:2416 #, no-c-format msgid "" "Use this feature only if you really want to show a guitar chord diagram or " "if LilyPond export is needed. To show a chord name use the Chordnames feature." msgstr "" "Use esta característica sólo si realmente quiere mostrar un diagrama de " "acorde para guitarra o si necesita exportar a Lilypond. Para mostrar un " "nombre de acorde vea Nombres de acordes" #. Tag: para #: index.docbook:2418 #, no-c-format msgid "" "LilyPond does not allow all chord " "modificators. The modificator remains empty if &nted; has to export such a " "chord name." msgstr "" "LilyPond no permite todas las " "especies de acordes. La especie queda en blanco si &nted; tiene que exportar " "tal tipo de nombre de acorde." #. Tag: para #: index.docbook:2420 #, no-c-format msgid "To insert a chord annotation and/or a guitar chord diagram choose:" msgstr "" "Para insertar un diagrama de acorde para guitarra o una anotación de acorde " "elija:" #. Tag: menuchoice #: index.docbook:2423 #, no-c-format msgid "" "Insert chord ..." msgstr "" "Insertar acorde ..." #. Tag: para #: index.docbook:2429 #, no-c-format msgid "The chord selection dialog appears" msgstr "Aparecerá la ventana de diálogo de selección de acordes" #. Tag: phrase #: index.docbook:2435 #, no-c-format msgid "the chord dialog" msgstr "" #. Tag: para #: index.docbook:2439 #, no-c-format msgid "" "Choose a root and a modifyer. If you want to place a guitar chord diagram " "you should also select your preferred diagram by clicking on it in the right " "window. The guitar chord diagram is copied into the big left window." msgstr "" "elija una base y una especie. Si quiere colocar un diagrama debe también " "seleccionarlo en el panel derecho. El diagrama seleccionado aparecerá en el " "panel izquierdo." #. Tag: para #: index.docbook:2443 #, no-c-format msgid "" "By means of the checkbox diagram you can determin " "whether the chord diagram is created on score." msgstr "" "Marcando diagrama puede determinar si crear o no en " "la partitura el diagrama del acorde." #. Tag: para #: index.docbook:2444 #, no-c-format msgid "" "By means of the checkbox text you can determin " "whether a textual description of the chord is created created on score." msgstr "" "Marcando texto aparecerá una descripión textual del " "acorde en la partitura." #. Tag: para #: index.docbook:2446 #, no-c-format msgid "This way you can choose between:" msgstr "De esta forma puede elegir entre:" #. Tag: para #: index.docbook:2448 #, no-c-format msgid "only the chord diagram" msgstr "sólo el diagrama del acorde" #. Tag: para #: index.docbook:2449 #, no-c-format msgid "" "only the textual chord description (not recommended, use the Chordnames feature in this case)" msgstr "" "sólo la descripción textual del acorde (no se recomienda, vea Nombres de acorde para estos casos)" #. Tag: para #: index.docbook:2450 #, no-c-format msgid "both, chord diagram and chord description" msgstr "ambos, diagrama del acorde y descripción" #. Tag: para #: index.docbook:2453 #, no-c-format msgid "" "Modifying an deleting chord annotations/chord diagrams works similar to " "modifying and deleting arbitrary " "text." msgstr "" "La modificación y eliminación de los diagramas y las anotaciones de acordes " "es similar a la modificación y " "eliminación de texto arbitrario." #. Tag: title #: index.docbook:2460 #, no-c-format msgid "Upbeats" msgstr "Anacrusa" #. Tag: para #: index.docbook:2461 #, no-c-format msgid "" "There are 2 possibilities to determine an upbeat. The first is mainly for " "newly written scores. Select the note or rest after the requested upbeat:" msgstr "" "Hay 2 maneras de determinar una anacrusa. La primera es principalmente para " "las partituras recién creadas. Seleccione la nota o siliencio que sigue a la " "anacrua:" #. Tag: phrase #: index.docbook:2469 #, no-c-format msgid "prepare upbeat (give measure)" msgstr "" #. Tag: menuchoice #: index.docbook:2476 #, no-c-format msgid "" "Edit Upbeat ..." " give first measure" msgstr "" "Editar Anacrusa nota seleccionada (precedida de " "anacrusa) -> primera nota del primer compás" #. Tag: para #: index.docbook:2483 #, no-c-format msgid "" "&nted; changes the begin such a way, that the selected chord or rest is the " "first member of the first full measure:" msgstr "" "&nted; cambia el comienzo de tal forma que el acorde o silencio sea el " "primer elemento del primer compás completo:" #. Tag: phrase #: index.docbook:2489 #, no-c-format msgid "upbeat given (give measure)" msgstr "" #. Tag: para #: index.docbook:2493 #, no-c-format msgid "" "The 2nd procedure is mainly for scores with beginning rests. Select the note " "or rest which shall be the first element:" msgstr "" "El 2º procedimiento es sobre todo para partituras con silencios al comienzo " "(a eliminar). Seleccione la nota o silencio que desea sea el primer elemento " "de la anacrusa:" #. Tag: phrase #: index.docbook:2500 #, no-c-format msgid "prepare upbeat (give start)" msgstr "" #. Tag: menuchoice #: index.docbook:2507 #, no-c-format msgid "" "Edit Upbeat ..." " give start" msgstr "" "Editar Anacrusa nota seleccionada (precedida de " "silencios) -> comienzo de anacrusa" #. Tag: para #: index.docbook:2514 #, no-c-format msgid "" "&nted; delets all before the selected element. Thus, the selected element " "becomes the first element." msgstr "" "&nted; elimina todo lo anterior. Así, el elemento seleccionado se convierte " "en el primer elemento." #. Tag: phrase #: index.docbook:2521 #, no-c-format msgid "upbeat given (give start)" msgstr "" #. Tag: para #: index.docbook:2525 #, no-c-format msgid "" "The upbeat rules require to shorten the last measure by the upbeat duration. " "&nted; doesn't perform this automatically. To shorten the last measure mark " "all concerned rests in all voices as described in Select a block:" msgstr "" "Las reglas de la anacrusa requieren acortar el último compás en la duración " "de la misma. &nted; no lo realiza automáticamente. Para acortar el último " "compás seleccione todos los silencios correspondientes en todas las voces " "tal como se describió en Seleccionar un " "bloque:" #. Tag: phrase #: index.docbook:2533 index.docbook:2549 #, no-c-format msgid "mark the rests" msgstr "" #. Tag: para #: index.docbook:2544 #, no-c-format msgid "The appropriate rests become invisible:" msgstr "Los silencios correspondientes se harán invisibles:" #. Tag: para #: index.docbook:2553 #, no-c-format msgid "See also: Hiding rests!" msgstr "Vea también: Ocultando silencios" #. Tag: title #: index.docbook:2559 #, no-c-format msgid "Grace notes" msgstr "Notas de adorno" #. Tag: para #: index.docbook:2560 #, no-c-format msgid "&nted; offers 3 types of grace notes:" msgstr "&nted; ofrece 3 tipos de notas de adrono:" #. Tag: phrase #: index.docbook:2565 #, no-c-format msgid "The grace notes" msgstr "" #. Tag: para #: index.docbook:2569 #, no-c-format msgid "" "To insert grace notes choose the appropriate note type on 2nd tooblox panel:" msgstr "" "Para insertar notas de adorno elija el tipo de nota apropiado del 2º panel " "de la caja de herramientas:" #. Tag: phrase #: index.docbook:2574 #, no-c-format msgid "The grace on toolbox" msgstr "" #. Tag: para #: index.docbook:2578 #, no-c-format msgid "" "Select a grace notes type and insert it as described in chapter Inserting/Deleting notes." msgstr "" "Seleccione un tipo de nota de adorno e insértela como se describió en el " "capítulo Insertando/Suprimiendo notas." #. Tag: para #: index.docbook:2579 #, no-c-format msgid "" "To remove a grace note select the grace note as described in chapter Shifting notes and rests and press " "backspace key" msgstr "" "Para eliminar una nota de adorno selecciónela como se describió en el " "capítulo desplazando notas y silencios y pulse la tecla retroceso." #. Tag: title #: index.docbook:2584 #, no-c-format msgid "Lyrics" msgstr "Letras" #. Tag: title #: index.docbook:2586 #, no-c-format msgid "Inserting lyrics" msgstr "Insertando letras" #. Tag: para #: index.docbook:2587 #, no-c-format msgid "" "You can attach up to 5 lines of lyrics to every note. You can use the same " "special characters as described in special letters in staff names. There are 2 ways: Direct writing " "or using the lyrics editor." msgstr "" "Puede añadir hasta 5 líneas de letra a cada nota. Puede usar los mismos " "caracteres especiales descritos en Letras especiales en los nombres de pentagrama. Hay dos maneras: " "Escribirlas directamente o usar el editor de letras." #. Tag: title #: index.docbook:2592 #, no-c-format msgid "Direct writing" msgstr "Escribirlas directamente" #. Tag: para #: index.docbook:2594 #, no-c-format msgid "To insert lyrics direct, select a note and choose:" msgstr "Para insertar letras directamente, seleccione una nota y elija:" #. Tag: menuchoice #: index.docbook:2596 index.docbook:2621 #, no-c-format msgid "" "Insert lyrics" msgstr "" "Insertar Letras" #. Tag: para #: index.docbook:2602 #, no-c-format msgid "" "Choose a lyrics line bewteen 1 and 5. &nted; is in lyrics mode. Write a text " "on keyboard. The text appears below the note." msgstr "" "Elija una línea de letras entre 1 y 5. &nted; pasa a modo letras. Escriba un " "texto con el teclado. El texto aparecerá bajo la nota." #. Tag: phrase #: index.docbook:2607 #, no-c-format msgid "Lyrics" msgstr "" #. Tag: para #: index.docbook:2610 #, fuzzy, no-c-format msgid "" "To skip to next note either press a - key or press " "space key. To place a space inside a syllable insert an underscore" "(_) or a non breaking space symbol(\\.). Finish the " "lyrics mode with ESC." msgstr "" "Para saltar a la nota siguiente pulse la tecla - o " "presione la barra espaciadora. Para poner un espacio en un sílaba inserte un " "guión bajo (_) o un símbolo de espacio sin separación" "(\\.). Termine el modo letras pulsando ESC." #. Tag: para #: index.docbook:2612 #, no-c-format msgid "It is strongly recommended to fill the lyrics line from 1 to 5." msgstr "" "Se recomienda encarecidamente rellenar la letras desde la 1ª línea a la 5ª." #. Tag: title #: index.docbook:2617 #, no-c-format msgid "Modifying lyrics" msgstr "Modificando las letras" #. Tag: para #: index.docbook:2618 #, no-c-format msgid "" "To modify lyrics make sure &nted; is in edit mode (see The 3 modes). Select a note with lyrics and choose:" msgstr "" "Para modificar las letras asegúrese de que &nted; esté en modo editar (vea " "Los 3 modos). Seleccione una nota con " "letras y elija:" #. Tag: para #: index.docbook:2626 #, no-c-format msgid "" "Choose the lyrics line to be modified. The lyrics cursor appears. You can " "move the lyrics cursor with left/right cursor key, You can insert a letter " "by pressing the appropriate key. You can delete a letter by pressing the " "backspace key. If you delete the last letter the lyrics of this line are " "removed from current note. Finish the lyrics mode with ESC." msgstr "" "Elija la línea de letras a modificar. Aparecerá el cursor. Puede moverlo con " "las teclas izquierda/derecha. Puede insertar una letra pulsando la tecla " "correspondiente. Puede borrar una letra pulsando la tecla retroceso. Si " "elimina la última letra de una línea de letras ésta también se elimina. " "Termine el modo letras pulsando ESC." #. Tag: title #: index.docbook:2632 #, no-c-format msgid "Lyrics editor" msgstr "Editor de letras" #. Tag: para #: index.docbook:2633 #, no-c-format msgid "" "The 2nd possibility is to use the lyrics editor. If there are more than 2 " "staves select an arbitrary element of the staff the lyrics shall attached " "to. Choose:" msgstr "" "La 2ª posibilidad es usar el editor de letras. Si hay más de 2 pentagramas " "seleccione un elemento cualquiera del pentagrama al que deba añadirlas. " "Elija:" #. Tag: menuchoice #: index.docbook:2636 #, no-c-format msgid "" "Tools Lyrics editor" msgstr "" "Herramientas Editor de " "letras" #. Tag: para #: index.docbook:2642 #, no-c-format msgid "The lyrics editor appears:" msgstr "Aparecerá la ventana del editor de letras:" #. Tag: phrase #: index.docbook:2647 #, no-c-format msgid "The lyrics editor" msgstr "" #. Tag: para #: index.docbook:2651 #, fuzzy, no-c-format msgid "" "Select the verse by selecting a tab! Then insert the lyrics syllable by " "syllable. Every hyphen and every space is interpreted as separator. To leave " "on note blank place a single dot('.'). To place a space inside a syllable " "insert an underscore(_) or a non breaking space symbol" "(\\.)." msgstr "" "¡Seleccione el verso con tab! Luego inserte la letra sílaba por sílaba. Cada " "guión y cada espacio se interpreta como un separador. Para dejar un espacio " "en una nota coloque solo un punto ('.'). Para poner un espacio en una sílaba " "inserte un guión bajo (_) o un símbolo de espacio sin " "separación (\\.)." #. Tag: para #: index.docbook:2658 #, no-c-format msgid "" "You can save and load the verse by pressing the save to " "file or load from file, " "respectively." msgstr "" "Puede salvar y cargar el verso pulsando los botones guardar " "en archivo o cargar desde archivo, respectivamente." #. Tag: para #: index.docbook:2661 #, fuzzy, no-c-format msgid "" "If all is correct press Apply or " "OK! Both will update the lyrics, but " "OK closes the lyrics editor." msgstr "" "¡Si todo es correcto pulse Ok! Esto " "actualizará las letras." #. Tag: title #: index.docbook:2666 #, no-c-format msgid "D.S./Capo al Coda/D.S./Capo al Fine" msgstr "" #. Tag: para #: index.docbook:2668 #, no-c-format msgid "An example of a D.S. al Coda could be as follows:" msgstr "Un ejemplo con D.S. al Coda podría ser como el siguiente:" #. Tag: phrase #: index.docbook:2673 #, no-c-format msgid "the segno principle" msgstr "" #. Tag: para #: index.docbook:2677 #, no-c-format msgid "" "To place the Coda and Segno sign make sure &nted; is in insert/delete mode " "(see The 3 modes). Choose:" msgstr "" "Para poner el signo de la Coda y del Segno asegúrese de que &nted; esté en " "modo insertar/suprimir (vea Los 3 modos). " "Elija:" #. Tag: menuchoice #: index.docbook:2680 index.docbook:2723 #, no-c-format msgid "" "Insert Insert sign ..." msgstr "" "Insertar Insertar signo ..." #. Tag: para #: index.docbook:2686 index.docbook:2729 #, no-c-format msgid "The sign dialog appears:" msgstr "Aparecerá la ventána de diálogo 'Signos'" #. Tag: phrase #: index.docbook:2692 index.docbook:2735 #, no-c-format msgid "The sign dialog" msgstr "" #. Tag: para #: index.docbook:2696 #, no-c-format msgid "" "Choose the appropriate sign and click at the position to place the sign on! " "Modifying an deleting signs works similar to modifying and deleting arbitrary text." msgstr "" "Elija el signo apropiado y haga clic en la posición a colocarlo. Modificar y " "eliminar signos funciona de forma similar a modificar y eliminar texto arbitrario." #. Tag: para #: index.docbook:2699 #, no-c-format msgid "" "Then place a text like \"D.S. al Coda\" or " "\"Repeat from Segno then Coda\" als explained in Arbitrary text. To express these texts shall " "control the replay you have to choose the appropriate properties on text " "dialog:" msgstr "" "Para poner un texto como \"D.S. al Coda\" o " "\"Repetir desde el Segno hasta la Coda\" vea Texto arbitrario. Para expresar que estos " "textos controlan la reproducción tiene que eligir las propiedades adecuadas " "en la ventana de diálogo de 'Texto':" #. Tag: phrase #: index.docbook:2707 #, no-c-format msgid "the segno on text dialog" msgstr "" #. Tag: para #: index.docbook:2711 #, no-c-format msgid "" "The same way you can create D.S. al Fine, " "Da Capo al Coda and Da Capo al Fine. See also: Arbitrary text." msgstr "" "De la misma forma puede crear D.S. al Fine, " "Da Capo al Coda y Da Capo al Fine. Vea también: Texto arbitrario." #. Tag: title #: index.docbook:2718 #, no-c-format msgid "Breath Signs" msgstr "Signos de respiración" #. Tag: para #: index.docbook:2720 #, no-c-format msgid "" "To place breath sign make sure &nted; is in insert/delete mode (see The 3 modes). Choose:" msgstr "" "Para poner un signo de respiración asegúrese que &nted; esté en modo " "insertar/suprimir (vea Los 3 modos). " "Elija:" #. Tag: para #: index.docbook:2739 #, no-c-format msgid "" "Choose the appropriate sign and click at the position to place the sign on! " "Deleting breath signs works similar to modifying and deleting arbitrary text." msgstr "" "Elija el signo apropiado y haga clic donde desee colocarlo. Eliminar " "respiraciones funciona de forma similar a modificar y eliminar texto arbitrario." #. Tag: title #: index.docbook:2745 #, no-c-format msgid "Transpose" msgstr "Transposición" #. Tag: para #: index.docbook:2746 #, no-c-format msgid "" "&nted; offers the transpose functionallity. If you want only a subset of " "notes to be transposed, then draw a selection rectangle as described in " "Select a block. Then choose:" msgstr "" "&nted; tiene la capacidad de transportar. Si desea transportar sólo un " "subconjunto de notas, dibuje un rectángulo de selección tal como se " "describió en Seleccionar un bloque. " "Luego elija:" #. Tag: menuchoice #: index.docbook:2749 #, no-c-format msgid "" "Tools Transpose ..." msgstr "" "Herramientas Transportar ..." #. Tag: para #: index.docbook:2755 #, no-c-format msgid "The transposition dialog appears:" msgstr "Aparecerá la ventana de diálogo 'Transportar'" #. Tag: phrase #: index.docbook:2760 #, no-c-format msgid "The transposition dialog" msgstr "" #. Tag: para #: index.docbook:2764 #, no-c-format msgid "" "Choose the number of half-tones. If you drew a selection rectange the " "use selection box is active. You can " "determine whether or not to use the selection rectangle." msgstr "" "Elija el número de semitonos. Si dibujó un rectángulo de selección estará " "marcado utilizar selección. Puede " "determinar si usar o no el rectángulo de selección." #. Tag: para #: index.docbook:2767 #, no-c-format msgid "" "If there is no selection rectangle you can select the staves to be " "transposed. Press OK and &nted; transposes the appropriate notes." msgstr "" "Si no hay rectángulo de selección podrá seleccionar los pentagramas a " "transposrtar. Pulse OK y &nted; transportará las notas correspondientes." #. Tag: para #: index.docbook:2770 #, no-c-format msgid "" "It is your responsibility to change the key signature (see Change staff properties and Inserting key signature changes." msgstr "" "Es su responsabilidad cambiar la armadura (vea Cambiar las propiedades del pentagrama e Insertando un cambio de armadura." #. Tag: title #: index.docbook:2775 #, no-c-format msgid "Change Accidentals" msgstr "Cambiar alteraciones" #. Tag: para #: index.docbook:2776 #, no-c-format msgid "" "In some seldom cases it is desirable to change sharps against flats, and " "vice versa:" msgstr "" "En algunos pocos casos se desea cambiar sostenidos por bemoles, y vice versa:" #. Tag: phrase #: index.docbook:2781 #, no-c-format msgid "change accidentals" msgstr "" #. Tag: para #: index.docbook:2784 #, no-c-format msgid "" "&nted; offers this functionallity. If you want only a subset of notes to be " "affected, then draw a selection rectangle as described in Select a block. Then choose:" msgstr "" "&nted; tiene esta capacidad. Si desea realizarlo sólo con un subconjunto de " "notas, entonces dibuje un rectángulo de selección tal como se describió en " "Seleccionar un bloque. Luego elija:" #. Tag: menuchoice #: index.docbook:2787 #, no-c-format msgid "" "Tools set all to sharp ..." msgstr "" "Herramientas cambiar todo a " "sostenidos ..." #. Tag: menuchoice #: index.docbook:2794 #, no-c-format msgid "" "Tools set all to flat ..." msgstr "" "Herramientas cambiar todo a " "bemoles ..." #. Tag: para #: index.docbook:2800 #, no-c-format msgid "The selection dialog appears:" msgstr "Aparecerá la ventana de diálogo 'Selección':" #. Tag: phrase #: index.docbook:2805 #, no-c-format msgid "The selection dialog" msgstr "" #. Tag: para #: index.docbook:2809 #, no-c-format msgid "" "If you drew a selection rectange the use selection box is active. You can determine whether or not to use the " "selection rectangle." msgstr "" "Si dibuja un rectángulo de selección utilizar selección estará marcada. Puede decidir si utilizar o no el rectángulo " "de selección." #. Tag: para #: index.docbook:2812 #, no-c-format msgid "" "If there is no selection rectangle you can select the staves to be affacted. " "Press OK and &nted; changes the appropriate notes." msgstr "" "Si no hay rectángulo de selección podrá seleccionar los pentagramas sobre " "los que tendrá efecto el cambio. Pulse OK y &nted; cambiará las notas " "correspondientes." #. Tag: title #: index.docbook:2818 #, no-c-format msgid "Title, composer, and arranger" msgstr "Título, compositor y arreglista" #. Tag: para #: index.docbook:2819 #, no-c-format msgid "" "To attach some score information (title, subject, composer, arranger, " "copyright) select:" msgstr "" "Para añadir alguna información a la partitura (título, tema, compositor, " "arreglista, copyright) seleccione:" #. Tag: menuchoice #: index.docbook:2821 #, no-c-format msgid "" "Edit Score info ..." msgstr "" "Editar Información de la " "partitura ..." #. Tag: para #: index.docbook:2826 #, no-c-format msgid "The score information dialog appears:" msgstr "Aparecerá la ventana de diálogo siguiente:" #. Tag: phrase #: index.docbook:2831 #, no-c-format msgid "The score information dialog" msgstr "" #. Tag: para #: index.docbook:2835 #, no-c-format msgid "" "Insert the name of the composer, arranger, the subject and the copyright and " "press OK. This information is shown at the first page of the score." msgstr "" "Introduzca el nombre del compositor, el arreglista, el tema, el copyright y " "pulse OK. Esta información se mostrará en la primera página de la partitura." #. Tag: title #: index.docbook:2839 #, no-c-format msgid "Pages" msgstr "Páginas" #. Tag: title #: index.docbook:2842 #, no-c-format msgid "Page layout" msgstr "Tamaño de la página" #. Tag: para #: index.docbook:2843 #, no-c-format msgid "To change the page layout choose:" msgstr "Para cambiarlo elija:" #. Tag: menuchoice #: index.docbook:2845 #, no-c-format msgid "" "File Configure Paper ..." msgstr "" "Archivo Configurar Página ..." "" #. Tag: para #: index.docbook:2850 #, fuzzy, no-c-format msgid "" "Choose A3, A4, A5, B4, Letter, Legal, or 230x293 and the orientation " "(portrait or landscape)." msgstr "Elija A3, A4, o B4 y la orientación (vertical o apaisada)" #. Tag: title #: index.docbook:2855 #, no-c-format msgid "Navigation on pages" msgstr "Navegación de páginas" #. Tag: para #: index.docbook:2856 #, no-c-format msgid "" "&nted; presents the score on a seeming endless paper. You can move this " "paper in page mode (see The 3 modes). " "Again: You can achieve this mode temporarily by pressing the Shift key. In " "page mode if you hold the left mouse button and move the mouse the paper " "moves accordingly." msgstr "" "&nted; presenta la partitura en un papel aparentemente infinito. Puede mover " "el papel en modo página (vea (see Los 3 modos). De nuevo: Puede activar este modo temporalmente si mantiene " "presionada la tecla Shift (mayúscula). En modo página si mantiene hundido el " "botón izquierdo del ratón puede mover el papel moviendo el ratón." #. Tag: para #: index.docbook:2863 #, no-c-format msgid "" "Furthermore you can jump to a certain page by using the page selector " "() ot the page up/down " "keys." msgstr "" "Además puede saltar a una página determinada usando el selector de página " "() o las teclas de " "avance y retroceso de página." #. Tag: para #: index.docbook:2867 #, no-c-format msgid "Furthermore you can use the mouse wheel to navigate on page." msgstr "Incluso puede usar la rueda del ratón para desplazar la página." #. Tag: title #: index.docbook:2871 #, no-c-format msgid "Delete the last page" msgstr "Eliminar la última página" #. Tag: para #: index.docbook:2872 #, no-c-format msgid "If there is more than one page you can delete the last page. Choose:" msgstr "Si hay más de una página, puede eliminar la última. Elija:" #. Tag: menuchoice #: index.docbook:2874 #, no-c-format msgid "" "Edit Remove last page" msgstr "" "Editar Eliminar última " "página" #. Tag: title #: index.docbook:2882 #, no-c-format msgid "Remove empty pages at end" msgstr "Eliminar páginas vacías finales" #. Tag: para #: index.docbook:2883 #, no-c-format msgid "" "Under some circumstances it can happen that there are some empty pages at " "score end, i.e. pages which consist of only rest. To delete these pages " "choose:" msgstr "" "Bajo ciertas circunstancias puede suceder que haya algunas páginas vacías al " "final de la partitura, por ejemplo, páginas llenas de silencios. Para " "eliminarlas elija:" #. Tag: menuchoice #: index.docbook:2888 #, no-c-format msgid "" "Edit Remove empty pages" msgstr "" "Editar Eliminar páginas " "vacías" #. Tag: title #: index.docbook:2897 #, no-c-format msgid "Multiple windows and Excerpt" msgstr "Ventanas múltiples y Partes" #. Tag: title #: index.docbook:2900 #, no-c-format msgid "Multiple windows" msgstr "Ventanas múltiples" #. Tag: para #: index.docbook:2902 #, no-c-format msgid "" "&nted; allowes you to open as many windows as you want. This is useful if " "you want to compare two different scores or if you want to copy parts of one " "score to another score. To open a new window choose:" msgstr "" "&nted; le permite abrir tantas ventanas como quiera. Esto es útil si desea " "comparar dos partituras diferentes o copiar partes de una a otra. Para abrir " "una nueva ventana elija:" #. Tag: menuchoice #: index.docbook:2905 #, no-c-format msgid "" "File New Window" msgstr "" "Archivo Ventana nueva" #. Tag: para #: index.docbook:2911 #, no-c-format msgid "a new window appears:" msgstr "Aparecerá una nueva ventana:" #. Tag: phrase #: index.docbook:2917 #, no-c-format msgid "A new window" msgstr "" #. Tag: para #: index.docbook:2921 #, no-c-format msgid "" "With the new window you can do all you could do with the first one. If you " "want to copy/paste between different windows please make shure " "both windows are in edit mode (see The 3 modes):" msgstr "" "Con la nueva ventana puede hacer todo lo que podía hacer en la primera. Si " "quiere copiar/pegar entre diferentes ventanas por favor asegúrese de que " "ambas estén en modo editar (vea Los 3 modos):" #. Tag: phrase #: index.docbook:2928 #, no-c-format msgid "copy/paste between 2 windows" msgstr "" #. Tag: para #: index.docbook:2932 #, no-c-format msgid "" "See also: Block instructions." msgstr "" "Vea también: Instrucciones de bloque." #. Tag: para #: index.docbook:2934 #, no-c-format msgid "To delete a window choose:" msgstr "Para eliminar una ventana elija:" #. Tag: menuchoice #: index.docbook:2936 #, no-c-format msgid "" "File Close Window" msgstr "" "Archivo Cerrar Ventana" #. Tag: title #: index.docbook:2943 #, no-c-format msgid "Extract a subset of staves" msgstr "Extraer un subconjunto de pentagramas" #. Tag: para #: index.docbook:2944 #, no-c-format msgid "" "&nted; allows you to copy a subset of staves into the 2nd window. To do this " "choose:" msgstr "" "&nted; le permite copiar un subconjunto de pentagramas en otra ventana. Para " "hacerlo elija:" #. Tag: menuchoice #: index.docbook:2946 #, no-c-format msgid "" "File Excerpt ..." msgstr "" "Archivo Extraer partes ..." #. Tag: para #: index.docbook:2951 #, no-c-format msgid "The staff selection dialog appears:" msgstr "Aparecerá la ventana de diálogo de 'Seleccionar partes':" #. Tag: phrase #: index.docbook:2956 #, no-c-format msgid "The staff selection dialog" msgstr "" #. Tag: para #: index.docbook:2960 #, no-c-format msgid "" "Select the subset of ataves, to be copied. To select more than 1 staff press " "Ctrl during selection. To select a range of staves press and hold Shift. " "Then select the first and the last staff of the range." msgstr "" "Seleccione el subconjunto de pentagramas que desee copiar. Para seleccionar " "más de uno persione Ctrl. Para seleccionar un rango de pentagramas presione " "y mantenga hundida la tecla Shift (mayúscula). Luego seleccione el primer y " "el último pentagrama del rango." #. Tag: para #: index.docbook:2964 #, no-c-format msgid "" "Press Ok! The subset of staves is copied into a 2nd " "window:" msgstr "" "Pulse Ok. El subconjunto de pentagramas se copiará a " "la otra ventana:" #. Tag: phrase #: index.docbook:2969 #, no-c-format msgid "the excerpt" msgstr "" #. Tag: title #: index.docbook:2976 #, no-c-format msgid "Scaling the whole score" msgstr "Graduando el nivel de ampliación de la partitura completa" #. Tag: para #: index.docbook:2978 #, no-c-format msgid "" "&nted; allowes you to continously scale the score. As a result you get " "different note sizes:" msgstr "" "&nted; le permite un escalado continuo de la partitura. Como resultado las " "notas toman tamaños diferentes:" #. Tag: phrase #: index.docbook:2983 #, no-c-format msgid "scaling the score" msgstr "" #. Tag: para #: index.docbook:2987 #, no-c-format msgid "To scale the score choose:" msgstr "Para graduar el nivel de ampliación elija:" #. Tag: menuchoice #: index.docbook:2989 #, no-c-format msgid "" "File Change Scale ..." msgstr "" "Archivo Ampliar/reducir ..." #. Tag: para #: index.docbook:2995 #, no-c-format msgid "The scale dialog appears:" msgstr "Aparece la siguiente ventana de diálogo:" #. Tag: phrase #: index.docbook:3000 #, no-c-format msgid "the scale dialog" msgstr "" #. Tag: para #: index.docbook:3004 #, no-c-format msgid "Determine the scaling factor and press OK!" msgstr "Establezca el grado de ampliación y pulse OK." #. Tag: title #: index.docbook:3008 #, no-c-format msgid "Documentation" msgstr "Documentación" #. Tag: para #: index.docbook:3009 #, no-c-format msgid "To consult the documentation choose" msgstr "Para consultar la documentación elija" #. Tag: menuchoice #: index.docbook:3011 #, no-c-format msgid "" "Help Documentation ..." msgstr "" "Ayuda Documentación ..." #. Tag: para #: index.docbook:3017 #, no-c-format msgid "" "The documentation is availabe only if the following programs were installed " "during ./configure step on your system:" msgstr "" "La documentación sólo estará disponible si los siguientes programas estaban " "instalados en su sistema durante el paso ./configure:" #. Tag: para #: index.docbook:3021 #, no-c-format msgid "" "yelp from GNOME project (package gnome-extra)" msgstr "" "yelp del proyecto GNOME (paquete gnome-extra)" #. Tag: ulink #: index.docbook:3022 #, no-c-format msgid "xmlto" msgstr "" #. Tag: title #: index.docbook:3027 #, no-c-format msgid "Save and restore" msgstr "Guardar y recuperar" #. Tag: title #: index.docbook:3029 #, no-c-format msgid "Save" msgstr "Guardar" #. Tag: para #: index.docbook:3030 #, no-c-format msgid "To save your score choose:" msgstr "Para guardar su partitura elija:" #. Tag: menuchoice #: index.docbook:3032 #, no-c-format msgid "" "File Save as..." msgstr "" "Archivo Guardar como ..." #. Tag: para #: index.docbook:3037 #, no-c-format msgid "" "Choose a file name on dialog and press OK! The default suffix is " ".ntd." msgstr "" "Decida el nombre del archivo en la ventana de diálogo y pulse OK. La " "extensión por defecto es .ntd." #. Tag: para #: index.docbook:3038 #, no-c-format msgid "To save a file which was already stored before choose:" msgstr "" "Para guardar un archivo que ha sido previamente guardado con un nombre elija:" #. Tag: menuchoice #: index.docbook:3040 #, no-c-format msgid "File Save" msgstr "" "Archivo Guardar" #. Tag: title #: index.docbook:3047 #, no-c-format msgid "Restore" msgstr "Recuperar" #. Tag: para #: index.docbook:3048 #, no-c-format msgid "To restore a previous saved score choose:" msgstr "Para recuperar un archivo anteriormente guardado elija:" #. Tag: para #: index.docbook:3055 #, no-c-format msgid "Choose a file name on dialog and press OK!" msgstr "Seleccione un nombre de archivo en la ventana de diálogo y pulse OK." #. Tag: title #: index.docbook:3058 #, no-c-format msgid "New file" msgstr "Nuevo archivo" #. Tag: para #: index.docbook:3059 #, no-c-format msgid "To start with a totally new (empty) score choose:" msgstr "Para empezar con una partitura completamente nueva (vacía) elija:" #. Tag: menuchoice #: index.docbook:3061 #, no-c-format msgid "File New" msgstr "" "Archivo Nuevo" #. Tag: title #: index.docbook:3069 #, no-c-format msgid "Terminate program" msgstr "Cerrar el programa" #. Tag: para #: index.docbook:3070 #, no-c-format msgid "To terminate the program choose:" msgstr "Para cerrar el programa elija:" #. Tag: menuchoice #: index.docbook:3072 #, no-c-format msgid "File Exit" msgstr "" "Archivo Salir" #. Tag: title #: index.docbook:3081 #, no-c-format msgid "Printing, exports, Karaoke and imports" msgstr "Imprimir, exportar, Karaoke e importar" #. Tag: title #: index.docbook:3083 #, no-c-format msgid "Configuration" msgstr "Configuración" #. Tag: para #: index.docbook:3084 #, no-c-format msgid "&nted; assumes that:" msgstr "&nted; asume que:" #. Tag: computeroutput #: index.docbook:3085 #, no-c-format msgid "lpr <file>.ps" msgstr "lpr <archivo>.ps" #. Tag: para #: index.docbook:3086 #, no-c-format msgid "" "prints a PostScript file named <file>.ps on your system. If this isn't the case then configure the " "printing command. Choose:" msgstr "" "imprime un archivo PostScript con nombre <archivo>.ps en su sistema. Si este no es el caso entonces configure el " "comando de impresión. Elija:" #. Tag: menuchoice #: index.docbook:3089 #, no-c-format msgid "" "Edit Preferences Configure Print ..." msgstr "" "Editar Preferencias Configurar impresión ..." #. Tag: para #: index.docbook:3095 #, no-c-format msgid "On dialog textfield you should see:" msgstr "En la ventana de diálogo debería ver:" #. Tag: computeroutput #: index.docbook:3096 #, no-c-format msgid "lpr %s" msgstr "" #. Tag: para #: index.docbook:3097 #, no-c-format msgid "" "The %s will be replaced by the name of a " "PostScript file. Change this string according to your needs. For instance: " "If you want to use the kprinter from " "KDE then change the string to:" msgstr "" "La %s será reemplazada por el nombre de un " "archivo PostScript. Cambie esta cadena de caracteres de acuerdo a sus " "necesidades. Por ejemplo: Si desea usar kprinter " "de KDE entonces cambie la cadena por:" #. Tag: computeroutput #: index.docbook:3100 #, no-c-format msgid "kprinter %s" msgstr "" #. Tag: para #: index.docbook:3101 #, no-c-format msgid "and press OK!" msgstr "y presione OK." #. Tag: para #: index.docbook:3103 #, no-c-format msgid "If all is configured then choose:" msgstr "Si todo está configurado entonces elija:" #. Tag: menuchoice #: index.docbook:3105 #, no-c-format msgid "File Print" msgstr "" "Archivo Imprimir" #. Tag: title #: index.docbook:3113 #, no-c-format msgid "Export PostScript" msgstr "Exportar PostScript" #. Tag: para #: index.docbook:3114 #, no-c-format msgid "You can export the score as PostScript. Choose:" msgstr "Puede exportar la partitura como PostScript. Elija:" #. Tag: menuchoice #: index.docbook:3116 #, no-c-format msgid "" "File Export PS..." msgstr "" "Archivo Exportar PS..." #. Tag: para #: index.docbook:3121 index.docbook:3136 index.docbook:3150 index.docbook:3177 #, no-c-format msgid "Select a file name on dialog and press OK." msgstr "Seleccione el nombre del archivo en la ventana de diálogo y pulse OK." #. Tag: para #: index.docbook:3122 #, no-c-format msgid "" "Because most printers are able to print PostScript files you can print this " "file using your preferred printing command (lpr, " "kprinter, ...)" msgstr "" "Dado que la mayoría de las impresoras son capaces de imprimir archivos " "PostScript puede imprimir el archivo generado usando su comando de impresión " "preferido (lpr, kprinter, ...)" #. Tag: title #: index.docbook:3127 #, no-c-format msgid "Export PDF" msgstr "Exportar PDF" #. Tag: para #: index.docbook:3128 #, no-c-format msgid "The PDF is available only if your Cairo library supports PDF." msgstr "Estará disponible sólo si su librería Cairo soporta PDF." #. Tag: para #: index.docbook:3129 #, no-c-format msgid "You can export the score as PDF. Choose:" msgstr "Puede exportar la partitura como PDF. Elija:" #. Tag: menuchoice #: index.docbook:3131 #, no-c-format msgid "" "File Export PDF..." msgstr "" "Archivo Exportar PDF..." #. Tag: para #: index.docbook:3137 #, no-c-format msgid "" "Because many printers are able to print PDF files you can print this file " "using your preferred printing command (lpr, " "kprinter, ...)" msgstr "" "Dado que la mayoría de impresoras son capaces de imprimir archivos PDF puede " "imprimir el archivo generado usando su comando de impresión favorito " "(lpr, kprinter, ...)" #. Tag: title #: index.docbook:3142 #, no-c-format msgid "Export MIDI" msgstr "Exportar MIDI" #. Tag: para #: index.docbook:3143 #, no-c-format msgid "You can export the score as MIDI data. Choose:" msgstr "Puede exportar la partitura como datos MIDI. Elija:" #. Tag: menuchoice #: index.docbook:3145 #, no-c-format msgid "" "File Export MIDI..." msgstr "" "Archivo Exportar MIDI..." #. Tag: title #: index.docbook:3155 #, no-c-format msgid "Karaoke" msgstr "" #. Tag: para #: index.docbook:3156 #, no-c-format msgid "" "If the score contains lyrics &nted; exports them to MIDI. This causes many " "midi players among them kmid to show a Karaoke-" "like behaviour:" msgstr "" "Si la partitura contiene letras, &nted; las exportará al MIDI. Esto produce " "en muchos reproductores midi, entre ellos kmid, " "un comportamiento tipo Karaoke:" #. Tag: phrase #: index.docbook:3162 #, no-c-format msgid "Karaoke with kmid" msgstr "Karaoke con kmid" #. Tag: title #: index.docbook:3169 #, no-c-format msgid "Import MusicXML" msgstr "Importar MusicXML" #. Tag: para #: index.docbook:3170 #, no-c-format msgid "You can import a MusicXML file. Choose:" msgstr "Puede importar un archivo MusicXML. Elija:" #. Tag: menuchoice #: index.docbook:3172 #, no-c-format msgid "" "File Import MusicXML..." msgstr "" "Archivo Importar MusicXML..." #. Tag: para #: index.docbook:3178 #, no-c-format msgid "" "There is a bug in NoteEdit which concerns the export of multivoice staves " "into MusicXML. As a result NtEd has problems importing such files. To solve " "the problem NoteEdit must be patched. See http://vsr." "informatik.tu-chemnitz.de/staff/jan/nted/noteedit_musml_patch.html " "for more information." msgstr "" "Hay un error en NoteEdit (otro programa del mismo autor) que tiene que ver " "con la exportación de pentagramas con varias voces a MusicXML. Como " "resultado NtEd tiene problemas importando esos archivos. Para resolver el " "problema NoteEdit debe parchearse. Vea http://vsr." "informatik.tu-chemnitz.de/staff/jan/nted/noteedit_musml_patch.html " "para más información." #. Tag: title #: index.docbook:3187 #, no-c-format msgid "Export PNG and SVG" msgstr "Exportar PNG y SVG" #. Tag: para #: index.docbook:3188 #, no-c-format msgid "" "&nted; can export the current page to PNG (Portbale Network Graphics) and " "SVG (Scaleable Vector Graphics). The current page is the page shown in page " "counter. Both formats are very useful for WEB publishing or graphic related " "tasks. Many text processors allow embendding PNG and/or SVG graphics." msgstr "" "&nted; puede exportar la página actual a PNG (Portable Network Graphics) y a " "SVG (Scalable Vector Graphics). La página actual es la mostrada en el " "selector de página. Ambos formatos son muy útiles para la publicación WEB o " "tareas gráficas relacionadas. Muchos procesadores de texto permiten gráfico " "PNG y/o SVG embebidos." #. Tag: para #: index.docbook:3192 #, fuzzy, no-c-format msgid "" "Especially the SVG format - an XML instance - is very useful because - as " "the name indicates - it is scaleable without strange effects which are " "usually visible in scaled pixel graphics." msgstr "" "Especialmente el formato SVG - una instancia XML - es muy útil porque - como " "el nombre indica - es escalabe sin efectos extraños que usualmente se ven en " "gráficos escalados por interpolación." #. Tag: para #: index.docbook:3195 #, no-c-format msgid "The SVG export is available only if your Cairo library supports SVG." msgstr "" "La exportación SVG estará disponible sólo si su librería Cairo soporta SVG." #. Tag: menuchoice #: index.docbook:3199 #, no-c-format msgid "" "File Export PNG ..." msgstr "" "Archivo Exportar PNG ..." #. Tag: para #: index.docbook:3204 #, no-c-format msgid "or" msgstr "o" #. Tag: menuchoice #: index.docbook:3206 #, no-c-format msgid "" "File Export SVG ..." msgstr "" "Archivo Exportar SVG ..." #. Tag: para #: index.docbook:3212 #, no-c-format msgid "Choose a file name and press OK!" msgstr "Elija un nombre de archivo y presione OK." #. Tag: para #: index.docbook:3214 #, no-c-format msgid "The size of the PNG/SVG image depends on the current zoom factor." msgstr "" "El tamaño de la imágen PNG/SVG dependerá del grado de ampliación actual." #. Tag: title #: index.docbook:3218 #, no-c-format msgid "Export LilyPond" msgstr "Exportar Lilypond" #. Tag: para #: index.docbook:3219 #, no-c-format msgid "" "LilyPond (http://lilypond.org/) " "is cetrainly the music typesetter with the best output. This mainly for 2 " "reasons:" msgstr "" "Lilypond (http://lilypond.org/) " "es con seguridad el editor de música con mejor salida. Esto es así " "principalmente por 2 razones:" #. Tag: para #: index.docbook:3223 #, no-c-format msgid "" "The developers made a lot of effort to create special music fonts, which are " "derived from traditional music printing. They even created their own tools " "for font format conversion to get the best results." msgstr "" "Los desarrolladores hicieron un gran esfuerzo en crear fuentes musicales " "especiales, derivadas de impresiones de música tradicionales. Incluso " "crearon sus propias herramientas para la conversión de formatos de fuente " "para conseguir el mejor resultado." #. Tag: para #: index.docbook:3227 #, no-c-format msgid "" "LilyPond uses a multi pass technique which takes as much time as necessary " "to perform an excellent placement of the musical symbols." msgstr "" "Lilypond utiliza una técnica de varias pasadas que toma todo el tiempo " "necesario para lograr una colocación excelente de los signos musicales." #. Tag: para #: index.docbook:3232 #, no-c-format msgid "" "Furthermore, LilyPond has a lot of music orthographical knowledge, which " "prevents notation errors." msgstr "" "Además, Lilypond tiene un montón de conocimiento ortográfico musical, lo que " "previene errores de notación." #. Tag: para #: index.docbook:3235 #, no-c-format msgid "" "LilyPond creates a PostScript or PDF output from a file which contains a " "text transcription of the music. For example, the input:" msgstr "" "Lilypond crea salida PostScript o PDF desde un archivo que contiene un " "transcripción en formato de texto de la música. Por ejemplo, la entrada:" #. Tag: literallayout #: index.docbook:3238 #, no-c-format msgid "" "\\relative c' { \\clef treble \\key d \\major\n" " d4 e fis g a b cis d \n" "}" msgstr "" #. Tag: para #: index.docbook:3241 #, no-c-format msgid "causes the following output:" msgstr "produce la siguiente salida:" #. Tag: para #: index.docbook:3252 #, no-c-format msgid "&nted; can create the LilyPond text transcription. Choose:" msgstr "&nted; puede crear transcripciones de texto Lilypond. Elija:" #. Tag: menuchoice #: index.docbook:3254 #, no-c-format msgid "" "File Export LilyPond..." msgstr "" "Archivo Exportar LilyPond..." #. Tag: para #: index.docbook:3260 #, no-c-format msgid "The LilyPond export dialog appears:" msgstr "La ventana de diálogo de Exportación Lilypond aparecerá:" #. Tag: phrase #: index.docbook:3265 #, no-c-format msgid "LilyPond export dialog" msgstr "" #. Tag: para #: index.docbook:3269 #, no-c-format msgid "" "On checkbox at the head you can determine whether or not &nted; shall place " "\\break statments to achieve the same line " "breaks as in &nted; score." msgstr "" "En la casilla 'crear saltos de línea' puede determinar si &nted; debe " "colocar las sentencias \\break para obtener " "los mismos saltos de línea como aparecen en &nted;" #. Tag: para #: index.docbook:3273 #, no-c-format msgid "" "If you want to export a subset of staves press the select " "staves button. The staff selection dialog appears:" msgstr "" "Si desea exportar un subconjunto de pentagramas pulse el botón " "seleccionar pentagramas. Aparecerá la " "ventana de diálogo 'Seleccionar partes':" #. Tag: phrase #: index.docbook:3280 #, no-c-format msgid "the staff selection dialog" msgstr "" #. Tag: para #: index.docbook:3285 #, no-c-format msgid "" "Select a subset of staves. To select more than 1 staff press Ctrl during " "selection. To select a range of staves press and hold Shift. Then select the " "first and the last staff of the range." msgstr "" "Seleccione un subconjunto de pentagramas. Para seleccionar más de un " "pentagrama pulse Ctrl. Para seleccionar un rango de pentagramas pulse y " "mantenga hundido Shift (mayúscula). Luego seleccione el primer y último " "compás del rango." #. Tag: para #: index.docbook:3289 #, no-c-format msgid "" "LilyPond has its own beaming rules. Therefore, the LilyPond beaming differs " "from &nted;-beaming. If you want the same beams as in &nted; then select the " "keep beams button. Select the staves to " "keep the beams for and press OK." msgstr "" #. Tag: para #: index.docbook:3293 #, no-c-format msgid "" "Choose a File name - the suffix should be .ly - and " "press OK." msgstr "" "Elija un nombre de archivo - la extensión debe ser .ly " "- y pulse OK." #. Tag: para #: index.docbook:3295 #, no-c-format msgid "" "To produce a PostScript or PDF output from this file install LilyPond and " "type:" msgstr "" "Para crear una salida PostScript o PDF desde este archivo, instale Lilypond " "y escriba:" #. Tag: para #: index.docbook:3298 #, no-c-format msgid "" "lilypond <filename>.ly" msgstr "" "lilypond <archivo>.ly" #. Tag: para #: index.docbook:3301 #, no-c-format msgid "" "To preview and/or print the output use your preferred view/print commands " "(gv, ggv, evince, xpdf, lpr, kprinter, ...)." msgstr "" "Para previsualizar y/o imprimir la salida use sus comandos de ver/imprimir " "favoritos (gv, ggv, evince, xpdf, lpr, kprinter, ...)." #. Tag: para #: index.docbook:3304 #, no-c-format msgid "" "As mentioned above, LilyPond uses its own placement strategie and its own " "fonts. As a consequence the WYSIWYG principle is broken. The output differs " "from &nted; score." msgstr "" "Como se mencionó arriba, Lilypond usa su propia estrategia de colocación y " "sus propias fuentes. Como consecuencia el principio WYSIWYG (what you see is " "what you get: lo que ve es lo que tiene) se rompe. La salida diferirá de la " "de &nted;." #. Tag: title #: index.docbook:3312 #, no-c-format msgid "Import MIDI" msgstr "Importar MIDI" #. Tag: para #: index.docbook:3313 #, no-c-format msgid "" "&nted; can (try to) construct a score from a MIDI file. Note! There are many " "scores which would generate the same MIDI data. Therefore the MIDI to score " "transformation is ambiguous." msgstr "" "&nted; puede (intentar) construir una partitura a partir de un archivo MIDI. " "¡Observe! Hay muchas partituras que generarían los mismos datos MIDI. Por " "tanto la transformación MIDI a partitura es ambigua." #. Tag: para #: index.docbook:3316 #, no-c-format msgid "To import a MIDI file choose" msgstr "Para importar un archivo MIDI elija" #. Tag: menuchoice #: index.docbook:3319 #, no-c-format msgid "" "File Import MIDI ..." msgstr "" "Archivo Importar MIDI ..." #. Tag: para #: index.docbook:3325 #, no-c-format msgid "The MIDI import dialog appears:" msgstr "Aparecerá la ventana de diálogo de importación MIDI:" #. Tag: phrase #: index.docbook:3331 #, no-c-format msgid "MIDI import dialog" msgstr "" #. Tag: para #: index.docbook:3335 #, no-c-format msgid "Decide whether &nted; shall try to recognize triplets!" msgstr "¡Determine si &nted; debe intentar reconocer los tresillos!" #. Tag: para #: index.docbook:3337 #, no-c-format msgid "" "The 2 sliders allow you to influence the density of tempo and volume signs. " "A value of 0 means \"no signs\". If you choose 100 it can happen that almost " "every note has a volume or tempo sign." msgstr "" "Con los controles deslizantes puede influir en la densidad del tempo y de " "los signos de intensidad. Un valor 0 significa \"sin signos\". Si elige 100 " "puede ocurrir que casi toda nota tenga un signo de intensidad o de volúmen." #. Tag: para #: index.docbook:3341 #, no-c-format msgid "" "Often, MIDI files have tracks which comprise a very large range of pitches. " "Placing these notes in one staff leads to bad output:" msgstr "" "Con frecuencia, los archivos MIDI tienen pistas que contienen un amplio " "rango de alturas. Colocar esas notas en un solo pentagrama conduce a salidas " "deficientes:" #. Tag: phrase #: index.docbook:3348 index.docbook:3358 index.docbook:3377 index.docbook:3487 #: index.docbook:3497 #, no-c-format msgid "MIDI program changes" msgstr "" #. Tag: para #: index.docbook:3352 #, no-c-format msgid "Therefore, the normal behaviour of &nted; is to split these tracks:" msgstr "" "Por consiguiente, el comportamiento normal de &nted; es dividir esas pistas:" #. Tag: para #: index.docbook:3362 #, no-c-format msgid "" "But somtimes this is unwanted. Espacially, if the MIDI file has already well " "splitted tracks. Use the don't split tracks " "button in this case." msgstr "" "Pero a veces esto no se desea. Especialmente si el archivo MIDI ya ha " "dividido adecuadamente las pistas. Utilice no dividir " "pistas en este caso." #. Tag: para #: index.docbook:3366 #, no-c-format msgid "" "The button force piano forces a score with " "2 staves per system." msgstr "" "El botón forzar piano fuerza una partitura " "con 2 pentagramas por sistema." #. Tag: para #: index.docbook:3369 #, no-c-format msgid "" "The button sort instruments is useful for " "MIDI files where all or many instruments are placed in one track. For " "example, in following MIDI file a piano and a flute appear in the same track:" msgstr "" "El botón ordenar instrumentos es útil para " "archivos MIDI donde todos o muchos instrumentos están situados en la misma " "pista:" #. Tag: para #: index.docbook:3381 #, no-c-format msgid "" "The red bullets represent a special MIDI operator called MIDI " "program change which advises the device to change the " "instrument. Thus, theoretically a MIDI file can place a whole orchestra in " "one track. Files produced by keyboards are often of this kind. &nted; would " "actually place all notes in one staff and attach the first given instrument " "to this staff. If sort instruments is " "active it sorts the instruments into different staves:" msgstr "" "Los puntos rojos representan operadores MIDI especiales llamados " "MIDI program change que notifican al dispositivo el " "cambio de instrumento. Así, teóricamente un archivo MIDI puede situar una " "orquesta entera en una solo pista. Los archivos producidos por teclados son " "frecuentemente de este tipo. &nted; colocaría realmente todas las notas en " "un pentagrama y atribuiría el primer instrumento dado a este pentagrama. Si " "ordenar instrumentos se activa, ordenará " "los instrumentos en pentagramas diferentes:" #. Tag: phrase #: index.docbook:3392 #, no-c-format msgid "sorted MIDI program changes" msgstr "" #. Tag: para #: index.docbook:3396 #, no-c-format msgid "" "In most cases the default button state gives good results. But if the score " "looks strange or the replay differs dramatically from MIDI sound then try to " "play with the buttons to improve the score." msgstr "" "En la mayoría de casos el estado de los botones dado por defecto da buenos " "resultados. Pero si la partitura tiene una apariencia extraña o la " "reproducción difiere drásticamente del sonido MIDI entonces intente jugar " "con los botones para mejorar la partitura." #. Tag: para #: index.docbook:3400 #, no-c-format msgid "" "Select the MIDI file and press OK! On last dialog you can determine the " "paper size and orientation." msgstr "" "Seleccione el archivo MIDI y pulse OK. En la última ventana de diálogo puede " "determinar el tamaño del papel y la orientación." #. Tag: title #: index.docbook:3411 #, no-c-format msgid "Inserting notes with pitch determined by midi keyboard" msgstr "Insertando notas con altura determinada por un teclado midi" #. Tag: para #: index.docbook:3412 #, no-c-format msgid "" "If a MIDI keyboard is attached to your soundcard you can determine the pitch " "of the notes by pressing the appropriate key on MIDI keyboard. To do this " "you should first test the MIDI IN device. To do this switch on " "MIDI echo (see Prepare replay) and press the MIDI read button " "()! Move the mouse " "pointer over an arbitrary staff!" msgstr "" "Si tiene un teclado MIDI conectado a su tarjeta de sonido puede determinar " "la altura de las notas pulsando la tecla adecuada en el teclado MIDI. Para " "hacerlo debe antes comprobar el dispositivo MIDI IN. Active MIDI " "echo (vea Preparar la " "reproducción) y pulse el botón de lectura MIDI " "() ¡Mueva el " "puntero del ratón sobre un pentagrama cualquiera!" #. Tag: para #: index.docbook:3417 #, no-c-format msgid "" "It is important to move the mouse over a staff because this way you " "determine the instrument which playes the tone!" msgstr "" "¡Es importante mover el ratón sobre un pentagrama porque de esta forma " "determina el instrumento que toca la nota!" #. Tag: para #: index.docbook:3418 #, no-c-format msgid "" "If you now press a key on midikeyboard you should hear the appropriate tone " "played by the instrument attached to the staff the mouse is placed over (see " "the MIDI panel). If not then configure the " "MIDI input device:" msgstr "" "Si ahora pulsa una tecla en el teclado midi debería oír el tono " "correspondiente tocado por el instrumento asociado al pentagrama sobre el " "que está posicionado el ratón (vea la pestaña " "MIDI). Si no es así entonces configure el dispositivo de entrada MIDI:" #. Tag: menuchoice #: index.docbook:3423 #, no-c-format msgid "" "Edit Preferences Configure MIDI in..." msgstr "" "Editar Preferencias Configurar MIDI in..." #. Tag: para #: index.docbook:3429 #, no-c-format msgid "" "A menu appears that shows all midi input ports. Select one and press OK. If " "the port doesn't work try a different port." msgstr "" "Aparecerá un listado con todos los puertos midi de entrada. Seleccione uno y " "pulse OK. Si el puerto no funciona pruebe con otro diferente." #. Tag: para #: index.docbook:3432 #, no-c-format msgid "" "If all works then press moreover the insert key " "() and the " "keyboard insertion button (). If you now place the mouse at a certain position on a " "staff the notes you play on midikeyboard are inserted. Note! The keys determine the pitch not the length! The length of the " "notes are set like described in Inserting/" "Deleting notes." msgstr "" "Si todo funciona entonces pulse además el botón de modo insertar " "() y el " "botón de inserción con teclado (). Si ahora coloca el ratón en una posición de un " "pentagrama las notas que toque en el teclado midi se insertarán. " "¡Observe! Las teclas determinan la altura no la duración! La " "duración de las notas se establecen tal como se describió en Insertando/Suprimiendo notas." #. Tag: para #: index.docbook:3437 #, no-c-format msgid "" "To terminate this mode switch off the MIDI read button" "()!" msgstr "" "Para finalizar este modo desactive el botón de lectura MIDI " "()!" #. Tag: title #: index.docbook:3442 #, no-c-format msgid "Creating score form playing midi keyboard" msgstr "Crear un partitura tocándola desde un teclado midi" #. Tag: para #: index.docbook:3443 #, no-c-format msgid "" "If a MIDI keyboard is attached to your soundcard you can play on it and " "&nted; can (try to) convert this piece of music into notes." msgstr "" "Si tiene conectado un teclado midi a su tarjeta de sonido puede tocarlo y " "&nted; convertirá (lo intentará) su música en notas." #. Tag: para #: index.docbook:3446 #, no-c-format msgid "" "Before you do this you should ensure the replay works. Otherwise you can't " "hear the metronome. See: Prepare replay, and eventually the TiMidity server and the eventually the appropriate question in FAQ." msgstr "" "Antes de hacerlo debe asegurarse de que la reproducción funciona. Si no, no " "podrá oir el metrónomo. Vea Preparar la " "reproducción, y eventualmente elservidor TiMidity y la pregunta correspondiente en FAQ." #. Tag: para #: index.docbook:3450 #, no-c-format msgid "" "Furthermore ensure the midi input works and you have selected the correct " "MIDI input port. See: Inserting notes " "with pitch determined by midi keyboard." msgstr "" "Es más, asegúrese de que la entrada midi funciona y de que ha seleccionado " "el puerto de entrada MIDI correcto. Vea: Insertando notas con altura determinada por un teclado midi." #. Tag: para #: index.docbook:3452 #, no-c-format msgid "" "If all works then make sure &nted; is in edit mode (see The 3 modes). Then select a note or rest with left " "mouse button! The selected chord or rest should appear in red. The new notes " "will be inserted exactly at this position. Then configure the recording " "parameters:" msgstr "" "Si todo funciona entonces asegúrese que &nted; esté en modo editar (vea " "Los 3 modos). ¡Luego seleccione una nota " "o silencio con el botón izquierdo del ratón! El acorde o silencio " "seleccionado aparecerá en rojo. Las notas nuevas se insertarán exactamente " "en esa posición. Luego configure los parámetros de grabación:" #. Tag: menuchoice #: index.docbook:3456 #, no-c-format msgid "" "File Configure Record ..." msgstr "" "Archivo Configurar " "Grabación ..." #. Tag: para #: index.docbook:3462 #, no-c-format msgid "The MIDI record configure dialog appears:" msgstr "Aparecerá la ventaca de diálogo de cofigurar grabación MIDI:" #. Tag: phrase #: index.docbook:3468 #, no-c-format msgid "The MIDI record config dialog" msgstr "" #. Tag: para #: index.docbook:3472 #, no-c-format msgid "" "The instrument, time signature and key signature should match the values of " "the staff with the selected chord or rest. You can change these values but " "it is not recommended." msgstr "" "El instrumento, compás y tonalidad deben coincidir con los valores del " "pentagrama donde seleccionó el acorde o silencio. Puede cambiar estos " "valores pero no se recomienda." #. Tag: para #: index.docbook:3475 #, no-c-format msgid "" "The button triplet recognition determins " "whether or not &nted; shall (try to) recognize triplets." msgstr "" "El botón reconocimiento de tresillo " "determina si &nted; debe o no (intentar) reconocer tresillos." #. Tag: para #: index.docbook:3478 #, no-c-format msgid "" "The button force piano forces a system with " "piano layout." msgstr "" "El botón forzar piano fuerza una partitura " "de pianocon 2 pentagramas por sistema." #. Tag: para #: index.docbook:3480 #, no-c-format msgid "" "Perhaps your piece of music comprises a very large range of pitches. Placing " "these notes in one staff leads to bad output:" msgstr "" "Quizás su pieza de música abarca un rango muy amplio de alturas. Colocando " "estas notass en un pentagrama resulta una mala salida:" #. Tag: para #: index.docbook:3491 #, no-c-format msgid "Therefore, the normal behaviour of &nted; is to split the staff" msgstr "" "Por consiguiente, el comportamiento normal de &nted; es dividir el " "pentagrama:" #. Tag: para #: index.docbook:3501 #, no-c-format msgid "" "But somtimes this is unwanted. Use the don't split tracks button in this case." msgstr "" "Pero a veces esto no se desea. Utilice el botón no dividir " "pistas es este caso." #. Tag: para #: index.docbook:3504 #, no-c-format msgid "" "The tempo slider determins the recording " "tempo (i.e. the tempo of the metronome) in quarters per minute." msgstr "" "El regulador de tempo determina el tempo de " "la grabación (i.e. el tempo del metrónomo) en negras por minuto." #. Tag: para #: index.docbook:3507 #, fuzzy, no-c-format msgid "" "The volume slider determins the volume of " "the metronome." msgstr "" "El regulador de tempo determina el tempo de " "la grabación (i.e. el tempo del metrónomo) en negras por minuto." #. Tag: para #: index.docbook:3509 #, no-c-format msgid "If all is correct then press Ok!" msgstr "¡Si todo es correcto pulse Ok!" #. Tag: para #: index.docbook:3511 #, no-c-format msgid "" "Now press the MIDI record button (). You should hear the metronome ticks. The ticks mean " "halfs, quarters, eighths, or sixteenths, depending on the denominator of " "your time signature. The metronome plays 1 deep tick and N-1 high ticks, " "whereby N is the numerator of your time signature. After N ticks one measure " "is over and the replay begins. Play as exactly as possible according to the " "metronome." msgstr "" "Ahora pulse el botón de grabación MIDI " "(). Deberá oir " "los ticks del metrónomo. Los ticks representan blancas, negras, corcheas, o " "semicorcheas, dependiendo del denomonador de su compás. El metrónomo hace un " "tick grave y N-1 agudos, donde N es el numerador de su compás. Luego de N " "ticks se completa un compás y vuelve a empezar otro. Toque lo más " "exactamente posible de acuerdo al metrónomo." #. Tag: para #: index.docbook:3516 #, no-c-format msgid "" "At the end press the MIDI record button " "() again. The " "paper dialog appears. Choose a paper format and press Ok! The imported staff appears in a new &nted; window. Here you " "can correct some errors or close the window if the recording is too bad." msgstr "" "Cuando termine pulse de nuevo el botón de grabación MIDI " "(). Aparecerá la " "ventana de diálogo Papel. ¡Elija el formato y pulse Ok! El pentagrama importado aparecerá en una nueva ventana de " "&nted;. Aquí puede corregir algunos errores o cerrarla si la grabación fue " "muy mala." #. Tag: para #: index.docbook:3521 #, no-c-format msgid "" "Instead of pressing the record button " "() you can press " "the i on PC keyboard." msgstr "" "En vez de pulsar el botón de grabación MIDI " "() puede pulsar " "i en el teclado del PC." #. Tag: para #: index.docbook:3524 #, no-c-format msgid "" "If all is correct then bring the window with the selected chord or rest on " "top again. Choose:" msgstr "" "Si todo es correcto lleve al frente de nuevo la ventana con el acorde o " "silencio en rojo. Elija:" #. Tag: menuchoice #: index.docbook:3526 #, no-c-format msgid "" "Insert Import recorded" msgstr "" "Insertar Importar grabación" #. Tag: para #: index.docbook:3532 #, no-c-format msgid "" "The notes in imported staff are copied to the staff with the selected chord " "or rest. After that it is recommended to close the import window." msgstr "" "Las notas del pentagrama importado se copian al pentagrama con el acorde o " "silencio seleccioando. Después de esto es recomendable cerrar la ventana de " "importación." #. Tag: para #: index.docbook:3535 #, no-c-format msgid "" "Now you can continue importing at the same staff by selecting an element " "behind the end of your piece. Or you can append a new staff and record a new instrument." msgstr "" "Ahora puede continuar importando al mismo pentagrama seleccionando un " "elemento al final de su pieza. O puede añadir " "un nuevo pentagrama y grabar un instrumento nuevo." #. Tag: title #: index.docbook:3540 #, no-c-format msgid "Replay" msgstr "Reproducción" #. Tag: title #: index.docbook:3542 #, no-c-format msgid "Prepare replay" msgstr "Preparar la reproducción" #. Tag: para #: index.docbook:3550 #, no-c-format msgid "To prepare the replay choose:" msgstr "Para preparar la reproducción elija:" #. Tag: menuchoice #: index.docbook:3552 #, no-c-format msgid "" "Edit Preferences Configure MIDI out..." msgstr "" "Editar Preferencias Configurar MIDI out..." #. Tag: para #: index.docbook:3558 #, no-c-format msgid "" "A menu appears that shows all midi output ports. Select one and press OK. If " "the port doesn't work try a different port. If nothing helps then refer to " "the approriate question in FAQ." msgstr "" "Aparecerá un listado con todos los puertos de salida midi. Seleccione uno y " "pulse OK. Si el puerto no funciona pruebe con otro diferente. Si ninguno " "funciona vea la correspondiente pregunta en FAQ." #. Tag: para #: index.docbook:3561 #, no-c-format msgid "" "The midi echo checkbox determins whether or " "not there is a midi echo if you insert a note." msgstr "" "Si marca eco midi escuchará la nota al " "insertarla." #. Tag: title #: index.docbook:3566 #, no-c-format msgid "Start replay" msgstr "Comenzar la reproducción" #. Tag: para #: index.docbook:3567 #, no-c-format msgid "" "To start the replay press the play button " "(). To stop replay press " "the play button again." msgstr "" "Para reproducir pulse el botón tocar " "(). Para parar pulse de " "nuevo el mismo botón." #. Tag: para #: index.docbook:3570 #, no-c-format msgid "" "To start the replay at a certain position select a note first. To do this " "make sure &nted; is in edit mode (see The 3 " "modes). Then select a note (not a rest!) with left mouse button! " "Press the play button ()!" msgstr "" "Para reproducir desde un lugar concreto seleccione primero una nota. Para " "hacerlo asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Luego seleccione una nota (¡no un " "silencio!) con el botón izquierdo del ratón. ¡Pulse el botón tocar " "()!" #. Tag: title #: index.docbook:3577 #, no-c-format msgid "Muting" msgstr "Silenciando" #. Tag: para #: index.docbook:3579 #, no-c-format msgid "" "It is possible to exclude a subset of staves from replay. To do this choose:" msgstr "" "Es posible excluir un subconjunto de pentagramas de la reproducción. Para " "hacerlo elija:" #. Tag: menuchoice #: index.docbook:3581 #, no-c-format msgid "" "Tools Muting ..." msgstr "" "Herramientas Silenciar ..." #. Tag: para #: index.docbook:3587 #, no-c-format msgid "The mute dialog appears:" msgstr "Aparecerá la ventana de diálogo de silenciar:" #. Tag: para #: index.docbook:3597 #, fuzzy, no-c-format msgid "" "Select the staves to be muted and press OK. To mute some voices of a certain " "staff refer to Staves." msgstr "" "Seleccione los pentagramas a silenciar y pulse OK (vea también en Cambiar las propiedades del pentagrama)." #. Tag: title #: index.docbook:3603 #, no-c-format msgid "Shortcuts" msgstr "Atajos" #. Tag: entry #: index.docbook:3609 #, no-c-format msgid "key" msgstr "tecla" #. Tag: entry #: index.docbook:3609 #, no-c-format msgid "operation" msgstr "función" #. Tag: entry #: index.docbook:3610 #, no-c-format msgid "I" msgstr "" #. Tag: entry #: index.docbook:3610 #, no-c-format msgid "start/stop record from MIDI keyboard" msgstr "comienza/para la grabación con teclado MIDI" #. Tag: entry #: index.docbook:3611 #, no-c-format msgid "N" msgstr "" #. Tag: entry #: index.docbook:3611 #, no-c-format msgid "Toggle insert insert/delete mode" msgstr "activa/desactiva el modo insertar/eliminar" #. Tag: entry #: index.docbook:3612 #, no-c-format msgid "P" msgstr "" #. Tag: entry #: index.docbook:3612 #, no-c-format msgid "Toggle page mode" msgstr "Activa/desactiva el modo página" #. Tag: entry #: index.docbook:3613 #, no-c-format msgid "R" msgstr "" #. Tag: entry #: index.docbook:3613 #, no-c-format msgid "Toggle rest" msgstr "Activa/desactiva botón de silencio en la caja de herramientas" #. Tag: entry #: index.docbook:3614 #, no-c-format msgid "K" msgstr "" #. Tag: entry #: index.docbook:3614 #, no-c-format msgid "Toggle keyboard insertion" msgstr "Activa/desactiva la inserción con teclado" #. Tag: entry #: index.docbook:3615 #, no-c-format msgid "DEL" msgstr "Supr" #. Tag: entry #: index.docbook:3615 #, no-c-format msgid "Delete a note from chord" msgstr "" #. Tag: entry #: index.docbook:3616 #, no-c-format msgid "," msgstr "," #. Tag: entry #: index.docbook:3616 #, no-c-format msgid "Insert tie (method 2)" msgstr "inserta ligadura(s) de unión (2º método)" #. Tag: entry #: index.docbook:3617 #, no-c-format msgid "Ctrl A" msgstr "" #. Tag: entry #: index.docbook:3617 #, no-c-format msgid "Append a staff" msgstr "Añade un pentagrama" #. Tag: entry #: index.docbook:3618 #, no-c-format msgid "Ctrl B" msgstr "" #. Tag: entry #: index.docbook:3618 #, no-c-format msgid "Append a system" msgstr "Añade un sistema" #. Tag: entry #: index.docbook:3619 #, no-c-format msgid "Ctrl J" msgstr "" #. Tag: entry #: index.docbook:3619 #, no-c-format msgid "" "handle beams (see Handling beams)" msgstr "" "maneja barras (vea Personalizando las " "barras)" #. Tag: entry #: index.docbook:3620 #, no-c-format msgid "Ctrl F" msgstr "" #. Tag: entry #: index.docbook:3620 #, no-c-format msgid "flip stem direction" msgstr "voltea plica" #. Tag: entry #: index.docbook:3621 #, no-c-format msgid "Ctrl R" msgstr "" #. Tag: entry #: index.docbook:3621 #, no-c-format msgid "hide rests" msgstr "oculta silencios" #. Tag: entry #: index.docbook:3622 #, no-c-format msgid "Ctrl U" msgstr "" #. Tag: entry #: index.docbook:3622 #, no-c-format msgid "unhide rests" msgstr "des-oculta silencios" #. Tag: entry #: index.docbook:3623 #, no-c-format msgid "cursor up" msgstr "cursor arriba" #. Tag: entry #: index.docbook:3623 #, no-c-format msgid "move selected note a line up" msgstr "mueve la nota seleccionada un grado ascendente" #. Tag: entry #: index.docbook:3624 #, no-c-format msgid "cursor down" msgstr "cursor abajo" #. Tag: entry #: index.docbook:3624 #, no-c-format msgid "move selected note a line down" msgstr "mueve la nota seleccionada un grado descendente" #. Tag: entry #: index.docbook:3625 #, no-c-format msgid "cursor left" msgstr "cursor izquierda" #. Tag: entry #: index.docbook:3625 #, no-c-format msgid "select note/rest before" msgstr "selecciona la nota o silencio anterior" #. Tag: entry #: index.docbook:3626 #, no-c-format msgid "cursor right" msgstr "cursor derecha" #. Tag: entry #: index.docbook:3626 #, no-c-format msgid "select note/rest after" msgstr "seleccionra la nota o silencio siguiente" #. Tag: entry #: index.docbook:3627 #, no-c-format msgid "page up" msgstr "" #. Tag: entry #: index.docbook:3627 #, no-c-format msgid "view next page" msgstr "" #. Tag: entry #: index.docbook:3628 #, no-c-format msgid "page down" msgstr "" #. Tag: entry #: index.docbook:3628 #, no-c-format msgid "view previous page" msgstr "" #. Tag: entry #: index.docbook:3629 #, no-c-format msgid "backspace" msgstr "retroceso" #. Tag: entry #: index.docbook:3629 #, no-c-format msgid "delete selected note" msgstr "elimina la nota seleccionada" #. Tag: entry #: index.docbook:3630 #, no-c-format msgid "_" msgstr "" #. Tag: entry #: index.docbook:3630 #, no-c-format msgid "Toggle tie button" msgstr "" "Activa/desactiva el botón de ligadura de unión de la caja de herramientas" #. Tag: entry #: index.docbook:3631 #, no-c-format msgid "." msgstr "" #. Tag: entry #: index.docbook:3631 #, no-c-format msgid "Toggle dot button" msgstr "Activa/desactiva el botón del puntillo de la caja de herramientas" #. Tag: entry #: index.docbook:3632 #, no-c-format msgid "#" msgstr "" #. Tag: entry #: index.docbook:3632 #, no-c-format msgid "Toggle sharp button" msgstr "Activa/desactiva el botón de sostenido de la caja de herramientas" #. Tag: entry #: index.docbook:3633 #, no-c-format msgid "-" msgstr "" #. Tag: entry #: index.docbook:3633 #, no-c-format msgid "Toggle flat button" msgstr "Activa/desactiva el botón bemol de la caja de herramientas" #. Tag: entry #: index.docbook:3634 #, no-c-format msgid "=" msgstr "" #. Tag: entry #: index.docbook:3634 #, no-c-format msgid "Toggle natural button" msgstr "Activa/descativa el botón natural de la caja de herramientas" #. Tag: entry #: index.docbook:3642 #, no-c-format msgid "Ctrl +" msgstr "" #. Tag: entry #: index.docbook:3642 #, no-c-format msgid "zoom in" msgstr "amplía" #. Tag: entry #: index.docbook:3643 #, no-c-format msgid "Ctrl -" msgstr "" #. Tag: entry #: index.docbook:3643 #, no-c-format msgid "zoom out" msgstr "reduce" #. Tag: entry #: index.docbook:3644 #, no-c-format msgid "Ctrl C" msgstr "" #. Tag: entry #: index.docbook:3644 #, no-c-format msgid "copy block" msgstr "copia bloque" #. Tag: entry #: index.docbook:3645 #, no-c-format msgid "Ctrl V" msgstr "" #. Tag: entry #: index.docbook:3645 #, no-c-format msgid "paste block" msgstr "pega bloque" #. Tag: entry #: index.docbook:3646 #, no-c-format msgid "Ctrl X" msgstr "" #. Tag: entry #: index.docbook:3646 #, no-c-format msgid "delete block" msgstr "elimina bloque" #. Tag: entry #: index.docbook:3647 #, no-c-format msgid "Ctrl E" msgstr "" #. Tag: entry #: index.docbook:3647 #, no-c-format msgid "empty block" msgstr "vacía bloque" #. Tag: entry #: index.docbook:3648 #, no-c-format msgid "Ctrl Z" msgstr "" #. Tag: entry #: index.docbook:3648 #, no-c-format msgid "undo" msgstr "deshace" #. Tag: entry #: index.docbook:3649 #, no-c-format msgid "Ctrl Y" msgstr "" #. Tag: entry #: index.docbook:3649 #, no-c-format msgid "redo" msgstr "rehace" #. Tag: entry #: index.docbook:3650 #, no-c-format msgid "Ctrl H" msgstr "" #. Tag: entry #: index.docbook:3650 #, no-c-format msgid "insert slur" msgstr "inserta una ligadura" #. Tag: entry #: index.docbook:3651 #, no-c-format msgid "Ctrl + <num>" msgstr "Ctrl + <núm>" #. Tag: entry #: index.docbook:3651 #, no-c-format msgid "create tuplet (method 1)" msgstr "crea un grupo artificial (1er método)" #. Tag: entry #: index.docbook:3652 #, no-c-format msgid "Ctrl + ALt + <num>" msgstr "Ctrl + Alt + <núm>" #. Tag: entry #: index.docbook:3652 #, no-c-format msgid "create tuplet (method 2)" msgstr "crea un grupo artificial (2º método)" #. Tag: entry #: index.docbook:3653 #, no-c-format msgid "Shift + CursorUp" msgstr "Mayús. + CursosArriba" #. Tag: entry #: index.docbook:3653 #, no-c-format msgid "increase spacment of measure" msgstr "incrementa el espaciado del compás" #. Tag: entry #: index.docbook:3654 #, no-c-format msgid "Shift + CursorDown" msgstr "Mayús. + CursorAbajo" #. Tag: entry #: index.docbook:3654 #, no-c-format msgid "decrease spacment of measure" msgstr "decrementa el espaciado del compás" #. Tag: para #: index.docbook:3659 #, no-c-format msgid "" "Furthermore if the num light on num pad is off: The num pad keys shadow the " "toolbox keys (see The toolbox)." msgstr "" "Además si la luz del teclado numérico está apagada: Las teclas del teclado " "numérico se corresponden con los botones de la caja de herramientas (vea " "La caja de herramientas)." #. Tag: title #: index.docbook:3663 #, no-c-format msgid "Configuration File" msgstr "Archivo de configuración" #. Tag: para #: index.docbook:3664 #, no-c-format msgid "" "&nted; stores the current configuration (MIDI port, last opened files, print " "command) at $HOME/.nted/ntedrc" msgstr "" "&nted; guarda la configuración actual (puerto MIDI, últimos archivos " "abiertos, comando de impresión) en $HOME/.nted/ntedrc" #. Tag: title #: index.docbook:3669 #, no-c-format msgid "Attention: Pulseaudio" msgstr "Atención: Pulseaudio" #. Tag: para #: index.docbook:3670 #, no-c-format msgid "" "Unfortunately, the next chapter about The " "TiMidity server won't work if you have a new sound technology called " "pulseaudio. This concerns Fedora 11 users " "and Ubuntu 9.10 users and possibly others. If you use the soundfont " "mentioned at http://alsa." "opensrc.org/8MBGMSFX.SF2, you'll experience some awful effects like " "distortion or no sound, at all." msgstr "" "Desafortunadamente, el siguiente capítulo sobre El servidor TiMidity no funcionará si tiene una " "nueva tecnología de sonido llamada pulseaudio. Esto involucra a usuarios de Fedora 11 y Ubuntu 9.10 y " "posiblemente a otros. Si usa la fuente de sonido citada en http://alsa.opensrc.org/8MBGMSFX." "SF2, experimentará algunos efectos no deseados tales como distorsión " "o una total falta de sonido." #. Tag: para #: index.docbook:3675 #, no-c-format msgid "To find out whether you have a pulseaudio or not do:" msgstr "Para saber si tiene o no pulseaudio haga:" #. Tag: userinput #: index.docbook:3676 index.docbook:3879 #, no-c-format msgid "which pulseaudio" msgstr "which pulseaudio" #. Tag: para #: index.docbook:3677 #, no-c-format msgid "If you get a path as answer you have pulseaudio." msgstr "Si obtiene un camino como respuesta entonces tiene pulseaudio." #. Tag: para #: index.docbook:3678 #, no-c-format msgid "" "The only workaround is to compile your own TiMidity++. To do this load the " "newest source from:" msgstr "" "La única forma de solucionarlo es compilar su propio TiMidity++. Para " "hacerlo descargue las fuentes más recientes de:" #. Tag: ulink #: index.docbook:3679 #, no-c-format msgid "http://timidity.sourceforge.net/#download\"" msgstr "" #. Tag: para #: index.docbook:3681 #, no-c-format msgid "Extract and configure the source:" msgstr "Extraiga y configure las fuentes:" #. Tag: literallayout #: index.docbook:3683 #, no-c-format msgid "" "tar -xvjf TiMidity++-x.y.z.tar.bz2\n" " cd TiMidity++-x.y.z\n" " ./configure --enable-audio=alsa --enable-server --enable-alsaseq\n" " make\n" " su (give password if requested)\n" " make install\n" " exit" msgstr "" "tar -xvjf TiMidity++-x.y.z.tar.bz2\n" " cd TiMidity++-x.y.z\n" " ./configure --enable-audio=alsa --enable-server --enable-alsaseq\n" " make\n" " su (de la contraseña si se la pide)\n" " make install\n" " exit" #. Tag: para #: index.docbook:3686 #, no-c-format msgid "" "Now you have possibly 2 timidities: One pulsaudio dependent at /usr/bin/" "timidity and the newly compiled and pulsaudio independent /usr/local/bin/" "timidity. Use the pulsaudio independent timidity!" msgstr "" "Ahora tendrá posiblemente 2 timititis: Uno en /usr/bin/timidity dependiente " "de pulseaudio y el recién compilado independiente de pulseaudio en /usr/" "local/bin/timidity. ¡Utilice el timidity independiente de pulseaudio!" #. Tag: para #: index.docbook:3689 #, no-c-format msgid "" "A good idea is to prepare a command. You should as root copy the soundfont " "at a certain position:" msgstr "" "Una buena idea es preparar un comando. Debe como root copiar la fuente de " "sonido en un lugar específico:" #. Tag: literallayout #: index.docbook:3693 #, no-c-format msgid "" "cd /usr/share\n" " mkdir sfbank\n" " chmod 0755 sfbank\n" " cd sfbank\n" " cp /<somewhere>/8mbgmsfx.sf2 .\n" " echo 'dir /usr/share/sfbank' >timidity.cfg\n" " echo 'soundfont 8mbgmsfx.sf2' >> timidity.cfg\n" " chmod 0644 8mbgmsfx.sf2 timidity.cfg\n" " cd /usr/bin\n" " echo '#!/bin/bash' > alsatimidity.sh\n" " echo '' >> alsatimidity.sh\n" " echo '/usr/local/bin/timidity -c /usr/share/sfbank/timidity.cfg -iA -B2,8 " "-Os1l -s 44100' >> alsatimidity.sh\n" " chmod 0755 alsatimidity.sh" msgstr "" "cd /usr/share\n" " mkdir sfbank\n" " chmod 0755 sfbank\n" " cd sfbank\n" " cp /<algúnlugar>/8mbgmsfx.sf2 .\n" " echo 'dir /usr/share/sfbank' >timidity.cfg\n" " echo 'soundfont 8mbgmsfx.sf2' >> timidity.cfg\n" " chmod 0644 8mbgmsfx.sf2 timidity.cfg\n" " cd /usr/bin\n" " echo '#!/bin/bash' > alsatimidity.sh\n" " echo '' >> alsatimidity.sh\n" " echo '/usr/local/bin/timidity -c /usr/share/sfbank/timidity.cfg -iA -B2,8 " "-Os1l -s 44100' >> alsatimidity.sh\n" " chmod 0755 alsatimidity.sh" #. Tag: para #: index.docbook:3696 #, no-c-format msgid "Now the call" msgstr "Ahora la llamada" #. Tag: literallayout #: index.docbook:3698 #, no-c-format msgid "alsatimidity.sh" msgstr "alsatimidity.sh" #. Tag: para #: index.docbook:3701 #, no-c-format msgid "should start the timidity in server mode." msgstr "debería iniciar timidity en modo servidor." #. Tag: para #: index.docbook:3703 #, no-c-format msgid "" "If the sound problems remain remove the pulsaudio package from your system!" msgstr "" "¡Si persisten los problemas de sonido elimine el paquete pulseaudio de su " "sistema!" #. Tag: title #: index.docbook:3708 #, no-c-format msgid "The TiMidity server" msgstr "El servidor TiMidity" #. Tag: para #: index.docbook:3709 #, no-c-format msgid "" "All what is stated does not work if you have a technology called " "pulseaudio. This concerns Fedora 11 users " "and Ubuntu 9.10 users and possibly others. Please refer to the Pulseaudio chapter to learn more!" msgstr "" "Todo lo que se menciona a continuación no funcionará si tiene una tecnología " "llamada pulseaudio. Esto incumbe a los " "usuarios de Fedora 11 y Ubuntu 9.10 y posiblemente a otros. Por favor vea el " "capítulo de Pulseaudio para saber más." #. Tag: para #: index.docbook:3712 #, no-c-format msgid "" "You can use the MIDI to WAVE converter and player TiMidity++ ( http://" "timidity.sourceforge.net) in server mode. This " "approach is interesting for all those who can't bring the MIDI device to " "work." msgstr "" "Puede utilizar el reproductor y conversor de MIDI a WAVE " "TiMidity++ ( http://timidity.sourceforge.net) en " "modo servidor. Este método es interesante para aquellos " "que no logren hacer funcionar su dispositovo MIDI." #. Tag: para #: index.docbook:3716 #, no-c-format msgid "" "A presupposition is that TiMidity++ is compiled " "with (at least) the options:" msgstr "" "Se presupone que TiMidity++ está compilado con " "(al menos) estas opciones en el paso :" #. Tag: option #: index.docbook:3717 #, no-c-format msgid "" "         --enable-audio=alsa --" "enable-server --enable-alsaseq" msgstr "" #. Tag: para #: index.docbook:3719 #, no-c-format msgid "" "Whether or not your TiMidity++ is compiled with " "these options can be determined by starting it with " "Option:" msgstr "" "Puede comprobar si TiMidity++ se compiló con esas " "opciones arrancándolo con la opción :" #. Tag: para #: index.docbook:3721 index.docbook:3739 #, no-c-format msgid "" "         timidity -iA -" "B2,8 -Os1l -s 44100    " msgstr "" #. Tag: para #: index.docbook:3723 #, no-c-format msgid "" "If it says: \"-A option not compiled in\" " "then compile it \"by hand\" as stated above." msgstr "" "Si se muestra: \"-A option not compiled in\" entonces compílelo \"a mano\" como se dijo arriba." #. Tag: para #: index.docbook:3726 #, no-c-format msgid "" "You should also try to change \"the orchestra\" by installing a different " "soundfont. To get such a soundfont you should first have a look at the CDROM " "shipped with your soundcard. Perhaps you find there a file with suffix " ".sf2. But be careful: Make sure it is a General MIDI " "file!" msgstr "" "Puede también intentar cambiar \"la orquesta\" instalando fuentes de sonido " "diferentes. Para conseguirlas debe primero echar un vistazo al CDROM de su " "tarjeta de sonido. Quizás encuentre allí un archivo con extensión ." "sf2. Pero tenga cuidado: Asegúrese que es un archivo General MIDI." #. Tag: para #: index.docbook:3731 #, no-c-format msgid "" "If not then load the soundfile mentioned at http://alsa.opensrc.org/8MBGMSFX.SF2. Download it " "and in /usr/share/timidity/timidity.cfg (or /" "usr/local/share/timidity/timidity.cfg) change:" msgstr "" "Si no lo es, entonces cargue la fuente mencionada en http://alsa.opensrc.org/8MBGMSFX.SF2. Descárguela y en /usr/share/timidity/timidity.cfg (o /usr/local/share/timidity/timidity.cfg) " "cambie:" #. Tag: para #: index.docbook:3733 #, no-c-format msgid "" "     dir <" "path_to_the_directory_there_the_8MBGMSFX.SF2_file_is_situated>" msgstr "" "     dir <" "camino_al_directorio_donde_guarde_el_archivo_8MBGMSFX.SF2>" #. Tag: para #: index.docbook:3734 index.docbook:3797 #, no-c-format msgid "and:" msgstr "y:" #. Tag: userinput #: index.docbook:3735 #, no-c-format msgid "     soundfont 8MBGMSFX.SF2" msgstr "" #. Tag: para #: index.docbook:3738 #, no-c-format msgid "" "Comment all other lines! If all is ok, you can start TiMidity+" "+ with:" msgstr "" "¡Comente todas las demás líneas! Si todo va bien, puede arrancar " "TiMidity++ con:" #. Tag: para #: index.docbook:3742 #, no-c-format msgid "Select the configure dialog:" msgstr "Seleccione la ventana de diálogo:" #. Tag: menuchoice #: index.docbook:3744 #, no-c-format msgid "" "Configure Configure..." msgstr "" "Configurar Configurar MIDI ..." "" #. Tag: para #: index.docbook:3749 #, no-c-format msgid "You should see 4 new MIDI devices:" msgstr "Verá 4 dispositivos MIDI nuevos:" #. Tag: para #: index.docbook:3751 #, no-c-format msgid "Timidity port 0 128:0" msgstr "" #. Tag: para #: index.docbook:3752 #, no-c-format msgid "Timidity port 1 128:1" msgstr "" #. Tag: para #: index.docbook:3753 #, no-c-format msgid "Timidity port 2 128:2" msgstr "" #. Tag: para #: index.docbook:3754 #, no-c-format msgid "Timidity port 3 128:3" msgstr "" #. Tag: para #: index.docbook:3757 #, no-c-format msgid "Choose one of them and the replay should work!" msgstr "¡Elija uno de ellos y la reproducción funcionará!" #. Tag: para #: index.docbook:3759 #, no-c-format msgid "" "Tip: If the replay interrupts during page turn over then start " "TiMidity++ as root. This " "increases the priority of the TiMidity++ process. " "Use the following command in this case:" msgstr "" "Consejo: Si la reproducción se interrumpe durante el paso de página entonces " "arranque TiMidity++ como root. Esto incrementará la prioridad del proceso TiMidity+" "+. Utilice el siguiente comando en este caso:" #. Tag: userinput #: index.docbook:3761 #, no-c-format msgid "" "     timidity --realtime-priority=100 -iA -B2,8 -" "Os1l -s 44100" msgstr "" #. Tag: para #: index.docbook:3763 #, no-c-format msgid "" "This can lead to operating system problems if your CPU performance is too " "small! If so, then try to decrease the priority and/or the frequency:" msgstr "" "¡Esto puede causar problemas al sistema operativo si su CPU es poco potente! " "Si es así, entonces intente decrementar la prioridad y/o la frecuencia:" #. Tag: userinput #: index.docbook:3766 #, no-c-format msgid "" "     timidity --realtime-priority=60 -iA -B2,8 -" "Os1l -s 22050" msgstr "" #. Tag: para #: index.docbook:3767 #, no-c-format msgid "Sometimes it helps to increase the number of buffer fragments:" msgstr "A veces ayuda incrementar el número de fragmentos de buffer:" #. Tag: para #: index.docbook:3768 #, no-c-format msgid "" "         timidity -iA -" "B8,8 -Os1l -s 22050    " msgstr "" #. Tag: para #: index.docbook:3771 #, no-c-format msgid "" "If you want a different sound have a look at the Hammersound install page." msgstr "" "Si quiere un sonido diferente eche un vistazo a Página de instalación Hammersound." #. Tag: title #: index.docbook:3776 #, no-c-format msgid "Hammersound install page" msgstr "Página de instalación Hammersound" #. Tag: para #: index.docbook:3778 #, no-c-format msgid "" "For my examples I recommend the soundfont mentioned at TiMidity server page. But you can test other " "soundfonts at http://www." "hammersound.net/, for example the FluidR3 " "soundfont." msgstr "" "Para mis ejemplos recomiendo la fuente de sonido mencionada en El servidor Timidity. Pero puede probar otras " "fuentes en http://www.hammersound." "net/, por ejemplo la fuente de sonido FluidR3." #. Tag: para #: index.docbook:3780 #, no-c-format msgid "" "To do this search for FluidR3122501.zip at http://www.hammersound.net and " "download it." msgstr "" "Para hacerlo busque FluidR3122501.zip en http://www.hammersound.net y " "descárguelo." #. Tag: para #: index.docbook:3783 #, no-c-format msgid "" "This soundfont is in sfArk compression format. Download " "the decompressor from http://www." "melodymachine.com and unpack:" msgstr "" "Esta fuente está en formato de compresión sfArk. " "Descargue el descompresor desde http://www.melodymachine.com y desempaquétela:" #. Tag: userinput #: index.docbook:3786 #, no-c-format msgid "     tar -xvzf sfarkxtc_lx86.tar.gz" msgstr "" #. Tag: para #: index.docbook:3787 #, no-c-format msgid "" "Then decompress the archive FluidR3122501.zip (Because " "of the spaces in file name the apostrophs are necessary):" msgstr "" "Luego descomprima el archivo FluidR3122501.zip (Dado " "que el archivo tiene espacios en blanco en el nombre necesita las comillas):" #. Tag: userinput #: index.docbook:3789 #, no-c-format msgid "     unzip FluidR3122501.zip" msgstr "" #. Tag: userinput #: index.docbook:3790 #, no-c-format msgid "     ./sfarkxtc \"FluidR3 GM.sfArk\"" msgstr "" #. Tag: para #: index.docbook:3791 #, no-c-format msgid "" "It is recommended to rename the resulting fileFluidR3 GM.SF2 because the Linux shell has problems dealing with spaces in file " "names:" msgstr "" "Se recomienda renombrar el archivo FluidR3 GM.SF2 para " "evitar problemas del intérprete de órdenes de Linux que tengan que ver con " "los espacios en los nombres:" #. Tag: userinput #: index.docbook:3793 #, no-c-format msgid "     mv \"FluidR3 GM.SF2\" FluidR3.sf2" msgstr "" #. Tag: para #: index.docbook:3794 #, no-c-format msgid "" "Then in /usr/share/timidity/timidity.cfg (or /" "usr/local/share/timidity/timidity.cfg) change:" msgstr "" "Luego en /usr/share/timidity/timidity.cfg (o /" "usr/local/share/timidity/timidity.cfg) cambie:" #. Tag: para #: index.docbook:3796 #, no-c-format msgid "" "     dir <" "path_to_the_directory_there_the_FluidR3.sf2_file_is_situated>" msgstr "" "     dir <" "camino_al_directorio_donde_se_encuentra_el_archivo_FluidR3.sf2>" #. Tag: userinput #: index.docbook:3798 #, no-c-format msgid "     soundfont FluidR3.sf2" msgstr "" #. Tag: para #: index.docbook:3800 #, no-c-format msgid "" "Start TiMidity as mentioned at TiMidity server page." msgstr "" "Arranque TiMidity tal como se mencionó en El servidor TiMidity." #. Tag: title #: index.docbook:3807 #, no-c-format msgid "Credits and License" msgstr "Créditos y Licencia" #. Tag: para #: index.docbook:3809 #, no-c-format msgid "&nted; Copyright 2007 Jörg Anders" msgstr "&nted; Copyright 2007 Jörg Anders" #. Tag: para #: index.docbook:3814 #, no-c-format msgid "" "This documentation is licensed under the terms of the GNU Free Documentation License." msgstr "" "Esta documentación se suministra bajo los términos de la GNU Free Documentation License." #. Tag: para #: index.docbook:3815 #, no-c-format msgid "" "This program is licensed under the terms of the GNU General Public License." msgstr "" "Este programa se suministra bajo los términos de la GNU General Public License." #. Tag: title #: index.docbook:3820 #, no-c-format msgid "Frequently Asked Questions (FAQ)" msgstr "Preguntas frecuentemente realizadas (FAQ)" #. Tag: para #: index.docbook:3824 #, no-c-format msgid "" "I can't hear any sound! I see the running red notes but there is no sound! " "What's wrong?" msgstr "" "¡No oigo nada! Veo las notas rojas correr pero no hay sonido. ¿Qué pasa?" #. Tag: para #: index.docbook:3829 #, no-c-format msgid "" "This has nothing to do with &nted;! It is a problem of your MIDI device! All " "MIDI based applications (for instance kmid " "(not kmidi !!!) or pmidi) " "will fail!" msgstr "" "¡Esto no tiene nada que ver con &nted;! Es un problema de su dispositivo " "MIDI. ¡Toda aplicación basada en MIDI (por ejemplo kmid (¡¡¡ no kmidi !!!) o pmidi) funcionará mal!" #. Tag: para #: index.docbook:3831 #, no-c-format msgid "" "First of all: Try to play a MIDI file with kmid " "(not (!!!) kmidi). As long " "as kmid does not produce any sound, &nted; (and " "any other MIDI device based software) will not produce any sound, too! The " "reason is: Either your soundcard has no hardware MIDI synthesizer or it has " "a hardware MIDI synthesizer but it is not supported by Linux." msgstr "" "Primero que nada: Intente reproducir un MIDI con kmid (no (!!!) kmidi). Al igual que kmid no funciona, " "&nted; (y cualquier otro software basado en dispositivo MIDI) tampoco lo " "hará. La razón es: O bien su tarjeta de sonido no tiene sintetizador MIDI " "hardware o lo tiene pero no está soportado por Linux." #. Tag: para #: index.docbook:3836 #, no-c-format msgid "" "Please refer to the ALSA project " "page to find out whether the midi device on your sound card is " "supported." msgstr "" "Por favor consulte la página del " "proyecto ALSA para encontrar si el dispositivo MIDI de su tarjeta de " "sonido está soportado." #. Tag: para #: index.docbook:3838 #, no-c-format msgid "" "Before making a lot of effort to emulate the hardware synthesizer by " "software you should search for a soundfont file on the CD shipped with your " "soundcard. A soundfont file has the suffix .sf2 or " ".SF2. Please make sure it is a General MIDI soundfont! " "If there is such a soundfont file there is a high probability you simply " "have to load the soundfont onto your soundcard." msgstr "" "Antes de hacer una gran cantidad de esfuerzo para emular por software el " "sintetizador hardware debería buscar un archivo de fuente de sonido en el CD " "de su tarjeta de sonido. Una fuente de sonido tiene la extensión ." "sf2 o .SF2. Por favor asegúrese de que es " "una fuente General MIDI. Si lo es hay una probabilidad alta de que sólo " "tenga que cargar la fuente de sonido en su tarjeta de sonido." #. Tag: para #: index.docbook:3843 #, no-c-format msgid "" "To to this you need a program called asfxload. Simply type:" msgstr "" "Para hacerlo necesita un programa llamado asfxload. Simplemente escriba:" #. Tag: para #: index.docbook:3845 #, no-c-format msgid "" "asfxload <soundfont>.sf2" msgstr "" "asfxload <fuente_de_sonido>.sf2" #. Tag: para #: index.docbook:3846 #, no-c-format msgid "" "But even if you cannot find a soundfont file on soundcard CD, you can try to " "download a soundfont file. I recommand the soundfont mentioned at http://alsa.opensrc.org/8MBGMSFX." "SF2." msgstr "" "Pero incluso si no puede encontrar un archivo de fuente de sonido en su CD, " "puede probar a descargar uno. Yo recomiendo la fuente mencionada en http://alsa.opensrc." "org/8MBGMSFX.SF2." #. Tag: para #: index.docbook:3848 #, no-c-format msgid "" "If asfxload fails your soundcard does not permit loading a soundfont." msgstr "" "Si asfxload falla su tarjeta no permite cargar una fuente de sonido." #. Tag: para #: index.docbook:3849 #, no-c-format msgid "" "There is still a last chance that not all needed moduls are loaded. So as a " "last attempt type as root:" msgstr "" "Aún hay una última oportunidad, que no estén cargados todos los módulos " "necesarios. Por tanto como último intento pruebe a escribir como root:" #. Tag: userinput #: index.docbook:3850 #, no-c-format msgid "modprobe snd_seq_midi" msgstr "" #. Tag: para #: index.docbook:3851 #, no-c-format msgid "and repeat the asfxload command." msgstr "y repita el comando asfxload." #. Tag: para #: index.docbook:3852 #, no-c-format msgid "" "If asfxload fails again you have to emulate the hardware MIDI " "synthesizer by software. This works if your computer has enough performance. " "Windows for instances starts a soft synthesizer automatically if the " "hardware synthesis does not work. So, be not confused if you can play MIDI " "files on Windows!" msgstr "" "Si asfxload falla de nuevo tendrá que emular por software el " "sintetizador MIDI hardware. Esto funciona si su ordenador rinde lo " "suficiente. Windows por ejemplo arranca un sintetizador suave " "automáticamente si la síntesis hardware no funciona. ¡Por tanto, no se " "confunda si puede reproducir archivos MIDI en Windows!" #. Tag: para #: index.docbook:3855 #, no-c-format msgid "" "Such emulation software exists for Linux, too. But it is more complicated " "because:" msgstr "" "Esa emulación software existe para Linux también. Pero es más complicada " "porque:" #. Tag: para #: index.docbook:3857 #, no-c-format msgid "You have to start this software \"by hand\"." msgstr "Debe arrancar este software \"a mano\"." #. Tag: para #: index.docbook:3858 #, no-c-format msgid "" "These software MIDI synthesizers need a so-called soundfont, a collection of " "sample tones of every instrument of a virtual orchestra. These soundfonts " "are copyrighted, i.e. actually nothing for a free system like Linux." msgstr "" "Esos sintetizadores por software MIDI necesitan las llamadas fuentes de " "sonido, una colección de tonos ejemplo de cada instrumento de una orquesta " "virtual. Esas fuentes tienen copyright, o sea, realmente nada para un " "sistema libre como Linux." #. Tag: para #: index.docbook:3862 #, no-c-format msgid "" "But there is a (relatively bulky) way! See The TiMidity server detailed instructions!" msgstr "" "Pero hay un camino (relativamente recio). Vea las detalladas instrucciones " "en El servidor TiMidity." #. Tag: para #: index.docbook:3865 #, no-c-format msgid "" "Note! There are more software synthesizers on Linux, which can be tested. " "Among them the FluidSynth. See http://" "www.linux-sound.org for a list." msgstr "" "¡Observe! Hay más sintetizadores por software para Linux, que pueden " "probarse. Entre ellos FluidSynth. Vea una lista en http://www.linux-sound.org." #. Tag: para #: index.docbook:3867 #, no-c-format msgid "" "You should avoid soft synthesis if the performance of your computer is too " "small! The antialiasing procedure (smoothing the symbols) of &nted; consumes " "a lot of performance, and soft synthesis, too! As a result the replay can be " "uneven especially during page turn over!" msgstr "" "¡Debe evitar la síntesis software si el rendimiento de su ordenador es " "demasiado bajo! El procedimiento de antialiasing (suavizado de signos) de " "&nted; consume una gran cantidad de recursos, y la síntesis software " "también. Como resultado la reproducción puede ser poco uniforme " "especialmente durante el paso de página." #. Tag: para #: index.docbook:3873 #, no-c-format msgid "" "I use TiMidity but the sound is distorted and somtimes I have no sound, at " "all. What's wrong?" msgstr "" "Uso Timidity pero el sonido está distorsionado y a veces no hay sonido en " "absoluto. ¿Cuál es el problema?" #. Tag: para #: index.docbook:3878 #, no-c-format msgid "Check whether you have a command pulseaudio:" msgstr "Compruebe si tiene un comando pulseaudio:" #. Tag: para #: index.docbook:3880 #, no-c-format msgid "" "If you get the path of pulseaudio then follow the instructions in chapter " "pulseaudio" msgstr "" "Si obtiene el camino de pulseaudio entonces siga las instrucciones del " "capítulo pulseaudio." #. Tag: para #: index.docbook:3886 #, no-c-format msgid "At program start it says: \"Error in FT_Open_Face\"! What's wrong!" msgstr "" "Al arrancar el programa sale: \"Error in FT_Open_Face\" ¿Cuál es el problema?" #. Tag: para #: index.docbook:3891 #, no-c-format msgid "You have not installed the program! Please type (as root):" msgstr "¡No ha instalado el programa! Por favor escriba (como root):" #. Tag: userinput #: index.docbook:3892 #, no-c-format msgid "make install" msgstr "" #. Tag: para #: index.docbook:3893 #, no-c-format msgid "" "Refer also to INSTALL file shipped with the nted-x.y.z.tgz archive." msgstr "" "Consulte también el archivo INSTALL contenido en el archivo nted-x." "y.z.tgz." #. Tag: para #: index.docbook:3898 #, no-c-format msgid "" "I use asfxload but I get an error \"sfxload: no " "memory left\" and some instruments are missing during replay. What's wrong?" msgstr "" #. Tag: para #: index.docbook:3904 #, no-c-format msgid "" "Don't believe the many rumours on different mailing lists! I have bad news " "for you: You have to build a new kernel. Terrible, I know! If you feel " "unable to do this then try to use the TiMidity server." msgstr "" #. Tag: para #: index.docbook:3907 #, no-c-format msgid "Otherwise download the kernel and change in" msgstr "" #. Tag: para #: index.docbook:3908 #, no-c-format msgid "arch/x86/include/asm/dma.h:" msgstr "" #. Tag: filename #: index.docbook:3909 #, no-c-format msgid "#define MAX_DMA32_PFN ((4UL * 1024 * 1024 * 1024) >> PAGE_SHIFT)" msgstr "" #. Tag: para #: index.docbook:3910 #, no-c-format msgid "against:" msgstr "" #. Tag: filename #: index.docbook:3911 #, no-c-format msgid "#define MAX_DMA32_PFN ((2UL * 1024 * 1024 * 1024) >> PAGE_SHIFT)" msgstr "" #. Tag: para #: index.docbook:3912 #, no-c-format msgid "" "Then build the kernel! Refer to https://lists.ubuntu.com/" "archives/universe-bugs/2009-March/068812.html for more details!" msgstr "" #. Tag: para #: index.docbook:3919 #, no-c-format msgid "I cannot install &nted; because I have no root rights. What shall I do?" msgstr "" "No puedo instalar &nted; porque no tengo privilegios root. ¿Qué debo hacer?" #. Tag: para #: index.docbook:3924 #, no-c-format msgid "" "You can use the option to install the &nted; in an " "arbitrary directory below your $HOME directory. Please refer also to INSTALL " "file shipped with the nted-x.y.z.tgz archive." msgstr "" "Puede usar la opción para instalar &nted; en un " "directorio arbitrario bajo su directorio $HOME. Por favor consulte también " "el archivo INSTALL contenido en el archivo nted-x.y.z.tgz." #. Tag: para #: index.docbook:3927 #, no-c-format msgid "" "Furthermore, if you want to avoid the make install " "command then set an environment variable NTED_FONT_DIR " "to the directory where the nted/ntedfont.pfa is " "situated." msgstr "" "Además, si quiere evitar el comando make install " "entonces establezca la variable de entorno NTED_FONT_DIR al directorio donde esté situado nted/ntedfont.pfa." #. Tag: para #: index.docbook:3930 #, no-c-format msgid "" "For instance, assume the ntedfont.pfa is at /" "home/smith/datafiles/nted/ntedfont.pfa type at command prompt:" msgstr "" "Por ejemplo, suponiendo que ntedfont.pfa esté en " "/home/smith/datafiles/nted/ntedfont.pfa escriba en la " "línea de comando:" #. Tag: userinput #: index.docbook:3932 #, no-c-format msgid "export NTED_FONT_DIR=/home/smith/datafiles" msgstr "" #. Tag: para #: index.docbook:3933 #, no-c-format msgid "" "if you have a bash or sh shell." msgstr "" "si tiene un intérprete de comando bash o " "sh." #. Tag: para #: index.docbook:3934 #, no-c-format msgid "" "If you're using a csh or tcsh type:" msgstr "" "Si está usando csh o tcsh escriba:" #. Tag: userinput #: index.docbook:3935 #, no-c-format msgid "setenv NTED_FONT_DIR /home/smith/datafiles" msgstr "" #. Tag: para #: index.docbook:3936 #, no-c-format msgid "To find out your shell type:" msgstr "Para saber su intérprete de comandos escriba:" #. Tag: userinput #: index.docbook:3937 index.docbook:3984 #, no-c-format msgid "echo $SHELL" msgstr "" #. Tag: para #: index.docbook:3938 #, no-c-format msgid "at command promt." msgstr "en la línea de comandos." #. Tag: para #: index.docbook:3943 #, no-c-format msgid "" "May I set lyrics as text blocks below the sheet music? How can I use the " "score in common texts?" msgstr "" "¿Podría poner las letras como bloques de texto bajo la partitura? ¿Cómo " "puedo usar la partitura en textos comunes?" #. Tag: para #: index.docbook:3948 #, no-c-format msgid "" "This would require to write a musical score editor and " "a text editor! This is too complex! But have a look at:" msgstr "" "Esto requeriría escribir un editor musical y ¡un editor " "de textos! ¡Es demasiado complejo! Pero eche un vistazo en:" #. Tag: ulink #: index.docbook:3951 #, no-c-format msgid "" "http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/use_nted_in_text.xhtml" msgstr "" #. Tag: para #: index.docbook:3952 #, no-c-format msgid "There you can find some proposals about that topic." msgstr "" #. Tag: para #: index.docbook:3957 #, no-c-format msgid "" "During program startup I get an error: \"Cannot open ALSA MIDI sequencer --> " "replay won't work ...\"! What's wrong ?" msgstr "" "Durante el arranque del programa sale: \"No se puede abrir el secuenciador " "MIDI ALSA --> reproducir no funcionará :-(( ...\" ¿Qué significa esto?" #. Tag: para #: index.docbook:3962 #, no-c-format msgid "" "That means you either have no ALSA sound system. Or you have an ALSA sound " "system but for complicated reasons your ALSA midi sequencer is not " "initialized. In many cases this is due to a missing module. Therefore try " "(as root):" msgstr "" "Eso significa que o no tiene el sistema de sonido ALSA o lo tiene pero por " "razones complejas su secuenciador midi ALSA no está inicializado. En muchos " "casos esto es por la falta de un módulo. Por tanto pruebe (como root):" #. Tag: userinput #: index.docbook:3964 #, no-c-format msgid "modprobe snd-seq-midi" msgstr "" #. Tag: para #: index.docbook:3965 #, no-c-format msgid "and restart &nted;." msgstr "y reinicie &nted;" #. Tag: para #: index.docbook:3970 #, no-c-format msgid "" "During make step an error occurs: " "/bin/sh: gdk-pixbuf-csource: command not found. What's wrong ?" msgstr "" "Durante el paso make ocurre un error: " "/bin/sh: gdk-pixbuf-csource: command not found. ¿Qué pasa?" #. Tag: para #: index.docbook:3976 #, no-c-format msgid "" "This has to do with your PATH environment variable. Many Linuxes place the " "program gdk-pixbuf-csource at /opt/" "gnome/bin. Actually this should be in your PATH. But under " "certain circumstances this is not the case. If so then make sure /" "opt/gnome/bin is in your PATH. If you have a (t)csh shell type:" msgstr "" "Esto tiene que ver con la variable de entorno PATH. Muchos Linuxes sitúan el " "programa gdk-pixbuf-csource en /opt/" "gnome/bin. Realmente debería estar en su PATH. Pero bajo ciertas " "circunstancias este no es el caso. Entonces asegúrese de que /opt/" "gnome/bin esté en su PATH. Si tiene un intérprete de comandos (t)" "csh escriba:" #. Tag: userinput #: index.docbook:3980 #, no-c-format msgid "setenv PATH \"$PATH:/opt/gnome/bin\"" msgstr "" #. Tag: para #: index.docbook:3981 #, no-c-format msgid "If you have another shell type:" msgstr "Si tiene otro tipo de intérprete de comandos:" #. Tag: userinput #: index.docbook:3982 #, no-c-format msgid "export PATH=$PATH:/opt/gnome/bin" msgstr "" #. Tag: para #: index.docbook:3983 #, no-c-format msgid "To determine your shell type:" msgstr "Para determinar su tipo de intérprete de comandos:" #. Tag: para #: index.docbook:3989 #, no-c-format msgid "" "During configure step I get an error: \"configure: error: C++ compiler " "cannot create executables, See `config.log' for more details.\". What's " "wrong?" msgstr "" "Durante el paso configure sale un error: \"configure: error: C++ compiler " "cannot create executables, See `config.log' for more details.\". ¿Qué pasa?" #. Tag: para #: index.docbook:3992 #, no-c-format msgid "" "Ok, you can inspect the config.log. But this is " "presumably superfluous, because in most cases that means: You have no C++ " "compiler installed." msgstr "" "Bien, puede examinar el archivo config.log. Pero esto " "probablemente sea innecesario, porque en la mayoría de los casos significa " "que no tiene instalado un compilador de C++." #~ msgid "" #~ "To insert a slur make sure &nted; is in insert mode (see The 3 modes). Choose:" #~ msgstr "" #~ "Para insertar una ligadura asegúrese de que &nted; esté en modo insertar " #~ "(vea Los 3 modos). Elija:" #~ msgid "" #~ "Left click the position where the slur shall appear. A slur is created:" #~ msgstr "" #~ "Haga clic izquierdo en la posición donde deba aparecer la ligadura. Se " #~ "creará una ligadura:" #~ msgid "" #~ "You can attach up to 5 lines of lyrics to every note. To insert lyrics " #~ "select a note and choose:" #~ msgstr "" #~ "Puede añadir hasta 5 líneas de letras a cada nota. Para insertar letras " #~ "seleccione una nota y elija:" #~ msgid "" #~ "The drum notation system is still under development. Remarks are welcome! " #~ "A more flexible mapping by the user is planned." #~ msgstr "" #~ "El sistema de notación de percusión está aún bajo desarrollo. ¡Se " #~ "agradecen envíos de observaciones! Está planificado un mapeado más " #~ "flexible para el usuario. " #~ msgid "Shift B" #~ msgstr "Ctrl B" #~ msgid "" #~ "If you check the mute box the staff will not be played (see also Muting)." #~ msgstr "" #~ "Si marca la casilla silenciar el pentagrama no se reproducirá (vea " #~ "también Silenciar)." #~ msgid "" #~ "On time signature panel choose the new numerator and denominator and " #~ "press Ok:" #~ msgstr "" #~ "En el panel 'Indicación de compás' elija el nuevo numerador y denominador " #~ "y pulse Ok:" #~ msgid "" #~ "Configure Configure " #~ "MIDI ..." #~ msgstr "" #~ "Configurar Configurar " #~ "MIDI ..." #~ msgid "" #~ "Configure print" #~ msgstr "" #~ "Configurar Configurar " #~ "impresión" nted-1.10.18/doc/es/Makefile.am0000775001041000007640000000007011520267212012742 00000000000000LANGUAGE = es include $(srcdir)/../translated-manual.mk nted-1.10.18/doc/es/Makefile.in0000664001041000007640000003541511520267353012771 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ ######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(srcdir)/../translated-manual.mk $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in subdir = doc/es ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_LIBS = @ALSA_LIBS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ IMAGE2HEADER = @IMAGE2HEADER@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PO2XML = @PO2XML@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ X11_CFLAGS = @X11_CFLAGS@ X11_LIBS = @X11_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XML2POT = @XML2POT@ XMLTO = @XMLTO@ YELP = @YELP@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ LANGUAGE = es EXTRA_DIST = $(LANGUAGE).po index.docbook all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/../translated-manual.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/es/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/es/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am @MAKE_DOCS_FALSE@all-local: all-am: Makefile all-local installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." @MAKE_DOCS_FALSE@uninstall-local: @MAKE_DOCS_FALSE@install-data-local: @MAKE_DOCS_FALSE@clean-local: clean: clean-am clean-am: clean-generic clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: install-am install-strip .PHONY: all all-am all-local check check-am clean clean-generic \ clean-local distclean distclean-generic distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-data-local install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-local @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@all-local: index.docbook index.html @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@index.docbook: ../en/index.docbook $(LANGUAGE).po @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(PO2XML) $(srcdir)/../en/index.docbook $(srcdir)/$(LANGUAGE).po >index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@index.html: index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(XMLTO) html index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@../templates/nted.pot: @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ cd ../templates && $(MAKE) nted.pot @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@$(srcdir)/$(LANGUAGE).po: ../templates/nted.pot ../en/index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(MSGMERGE) $(srcdir)/$(LANGUAGE).po ../templates/nted.pot > xx.po @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ @if cmp xx.po $(srcdir)/$(LANGUAGE).po > /dev/null; then \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ rm -f xx.po; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ else \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ rm -f $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ echo mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ fi @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@install-data-local: index.docbook index.html @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(INSTALL) -D -m "u=rw,og=r" index.docbook $(DESTDIR)$(htmldir)/$(LANGUAGE)/index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ @-for i in *.html; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ do \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(INSTALL) -D -m "u=rw,og=r" $$i $(DESTDIR)$(htmldir)/$(LANGUAGE)/$$i; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ done @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@uninstall-local: @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ rm -f $(DESTDIR)$(htmldir)/$(LANGUAGE)/* @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@clean-local: @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ rm -f *.html index.docbook @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@all-local: index.html @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@index.html: @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ $(XMLTO) html index.docbook @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@$(srcdir)/$(LANGUAGE).po: ../templates/nted.pot ../en/index.docbook @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ $(MSGMERGE) $(srcdir)/$(LANGUAGE).po ../templates/nted.pot > xx.po @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ @if cmp xx.po $(srcdir)/$(LANGUAGE).po > /dev/null; then \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ rm -f xx.po; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ else \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ rm -f $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ echo mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ fi @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@install-data-local: index.docbook index.html @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ $(INSTALL) -D -m "u=rw,og=r" index.docbook $(DESTDIR)$(htmldir)/$(LANGUAGE)/index.docbook @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ @-for i in *.html; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ do \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ $(INSTALL) -D -m "u=rw,og=r" $$i $(DESTDIR)$(htmldir)/$(LANGUAGE)/$$i; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ done @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@uninstall-local: @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ rm -f $(DESTDIR)$(htmldir)/$(LANGUAGE)/* @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@clean-local: @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ rm -f *.html # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/doc/es/index.docbook0000664001041000007640000052547311520270115013373 00000000000000 ]> El manual de &nted; JörgAnders TU-Chemnitz
j.anders@informatik.tu-chemnitz.de
Maximiliano Traducción al español
mxgdvg@yahoo.it
MarianoMarini Traducción al italiano
mariano.marini@alice.itk
JörgAnders Traducción al alemán
ja@informatik.tu-chemnitz.de
2008 Jörg Anders Se concede permiso para copiar, distribuir y/o modificar este documento bajo los términos de la GNU Free Documentation License, Version 1.2 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones que cambien, ni textos de portada, y contraportada. Una copia de la licencia se incluye en la sección titulada "GNU Free Documentation License". 2010-09-28 1.10.16 &nted; es un editor de partituras para Linux. Gtk &nted; music editor notes score MIDI
Usando &nted; Iniciando &nted; Este capítulo describe cómo editar notas con &nted;. Puede arrancar &nted; escribiendo lo siguiente en la línea de comandos: % nted & Una vez &nted; arranca, verá una ventana como la siguiente: &nted; Mainwindow El primer sonido Por favor, para escuchar mis ejemplos use la fuente de sonido citada aquí: http://alsa.opensrc.org/8MBGMSFX.SF2 Para mayor información sobre cómo usar el archivo SF2 lea la correspondiente cuestión en FAQ o también sobre la configuración del servidor TiMidity. Para escuchar un breve ejemplo elija: Archivo Abrir ... Seleccione datafiles/nted/examples/example1.ntd en la ventana de diálogo y pulse OK! Los ejemplos se copian durante el proceso de instalación. Por tanto, si no puede encontrarlos, especialmente si instaló mediante un paquete, entonces busque en /usr/share/nted/examples o: /usr/local/share/nted/examples Debería ver una partitura. Elija un puerto MIDI: Editar Preferencias Configurar MIDI ... y pulse el botón de tocar (play) (). Debería ver en rojo las notas mientras suenan. Si no puede escuchar el sonido entonces elija un puerto MIDI distinto. Si esto no sirve entonces consulte la cuestión correspondiente en FAQ. La caja de herramientas La caja de herramientas es una pequeña ventana que aparece siempre encima de todas las demás ventanas de &nted; La caja de herramientas Si la caja de herramientas desaparece puede hacerla de nuevo visible pulsando el botón de herramientas ( ). La caja de herramientas tiene varios paneles: Los paneles de la caja de herramientas Para cambiar el panel use el botón de panel siguiente () o bien el de panel previo (). Alternativamente, puede acceder directamente usando los botones de panel situados arriba de la caja de herramientas: Los botones de panel directo Los paneles agrupan botones relacionados con diferentes campos de la notación de la partitura. Es más, cada panel está estructurado como su teclado numérico: La caja de herramientas y el teclado numérico Instead of pressing a button at the toolbox, you can press the appropriate button on numpad. For instance: If you want half notes, make sure the num light is off and choose the first toolbox panel. Then press 4 on num pad. The half note button is selected. Además, algunas teclas (silencio, ligadura, sostenido, bemol, natural, puntillo) pueden activarse/desactivarse con las teclas del teclado independientemente del panel actual, vea atajos. Insertando notas y silencios Los 3 modos &nted; está siempre en uno de 3 modos posibles. El modo queda determinado por el par de botones insertar y página. Al comienzo el botón insertar está activo y el botón página desactivado (). &nted; está en el modo insertar/suprimir. Si desactiva el botón de insertar/suprimir clicándolo o pulsando la tecla 'n' se pasa al modo editar (). Si activa el botón de página clicándolo o pulsando la tecla 'p' se pasa al modo página (). Además puede activar temporalmente el modo editar pulsando la tecla Ctrl mientras acciona el ratón. Puede incluso activar el modo página pulsando la tecla Shift en combinación con el ratón. En el modo insertar/suprimir puede insertar y suprimir notas y silencios. En el modo editar puede modificar la partitura. En el modo página puede desplazar el papel moviendo el ratón. Insertando/Suprimiendo notas Asegúrese que &nted; esté en el modo insertar/suprimir (vea Los 3 modos). Para insertar notas elija una duración de nota en el primer panel de la caja de herramientas: The note length y haga clic en el pentagrama. Si hace clic cerca una nota existente creará un acorde. Si hace clic en una nota existente la nota se elimina. Para suprimir una nota también puede usar la tecla retroceso (Backspace). Para eliminar un única nota de un acorde use la tecla DEL. Si desea insertar una nota con una alteración elija la alteración en el 2º y/o 3er panel de la caja de herramientas: The note length (vea también Manipulando las barras, Manipulando las plicas). Insertando notas de percusión &nted; offers different note head types. Choose one at 5th toolbox panel: Los tipos de cabezas de notas Seleccione un tipo de cabeza de nota e inserte la nota de percusión como se describe en el capítulo Insertando/Suprimiendo notas. Observe: El significado de las notas de percusión depende de la clave seleccionada. Vea claves y lea sobre el sistema de percusión. Observe también: Para producir el sonido de percusión debe seleccionar un canal específico (frecuentemente el canal 10). ¡Vea La pestaña MIDI! Inserting tremolo notes To insert tremolo notes select the tremolo sign at 5th panel of the toolbox: the tremolo types Select a tremolo type and insert the note as described in chapter Inserting/Deleting notes. Note: The tremolo does not influence the replay. Insertando/Suprimiendo silencios Asegúrese que &nted; está en modo insertar/suprimir (vea Los 3 modos). Para insertar silencios elija una duración de nota en el 1er panel de la caja de herramientas y presione el botón de silencio: Toolbox rest selected En realidad no puede "suprimir" un silencio porque no puede destruir el compás. Pero en muchos casos la situación es como la siguiente: shift example 1 Esto puede ocurrir especialmente luego de eliminar una serie de notas porque cada nota borrada deja su correspondiente silencio. Si ahora inserta un silencio de blanca en la posición del primer silencio de corchea la situación cambia: shift example 1 Generalización Podemos generalizar el último ejemplo. La realidad es que independientemente de si inserta una nota o un silencio, &nted; consume todo el tiempo que sea necesario para insertar la nota o silencio. Asumamos de nuevo esta situación: shift example 1 Si inserta una blanca en la posición del segundo silencio de corchea el resultado queda: shift example 1 &nted; se "come" 3 silencios de corchea y acorta la negra en una corchea. Insertando notas y silencios usando el teclado del PC Puede cambiar la duración de la nota pulsando algunos números: 1establece la redonda como duración actual 2establece la blanca como duración actual 4establece la negra como duración actual 5establece la corchea como duración actual 6establece la semicorchea como duración actual 7establece la fusa como duración actual 8establece la semifusa como duración actual Para insertar notas usando estas teclas active el botón de inserción con teclado () o presione 'k'. Esto cambia a &nted; al modo de inserción con teclado. Si ahora presiona una tecla de la tabla de arriba una nota de la duración apropiada se inserta en la posición del cursor. Para insertar un silencio presione simultáneamente la tecla Alt. Use las teclas del Cursor arriba/abajo para determinar la altura. Use las teclas del Cursor izquierda/derecha para cambiar al compás previo/ siguiente. La tecla retroceso (Backspace) elimina la última nota insertada Vea también Insertando notas con altura determinada por un teclado midi. Añadir un sistema Al inicio &nted; muestra solo un sistema con pocos compases. Para añadir más sistemas presione Ctrl B. Esto añadirá un sistema al final de la partitura. Vea también: eliminando sistemas Modificaciones Desplazando notas y silencios Puede desplazar notas y silencios vertical y horizontalmente. Asegúrese que &nted; esté en modo edición (vea Los 3 modos). Recuerde: Puede activar temporalmente este modo manteniendo pulsanda la tecla Ctrl. Haga clic en una nota o silencio con el botón izquierdo. La nota o silencio queda seleccionada. Un acorde o silencio seleccionado aparece en color rojo. Desplácelo manteniendo pulsado el botón izquierdo. La nota o silencio seleccionado seguirá al ratón. Si desplaza una nota verticalmente ésta cambiará su altura. Si desplaza la nota o silencio horizontalmente por delante o por detrás de otra nota o silencio intercambiará sus posiciones. Más aún, si hay una nota seleccionada puede cambiar su altura utilizando las teclas del cursor arriba/abajo. Las teclas del cursor izquierda/derecha cambian la nota o silencio seleccionado. El movimiento horizontal es especialmente útil en casos en los que quiere lograr esto: shift example 1 pero la situación es: shift example 2 Moviendo la nota por delante del silencio o el silencio por detrás de la nota ambos intercambian su posición. Ocultando silencios Puede ocultar algunos silencios si lo desea. Hay 2 formas de hacerlo. Si quiere ocultar los silencios de una voz completa, selecione esa voz en el selector de voces () y elija: Herramientas ocultar silencios O simplemente pulse Ctrl + R. Para revelar silencios ocultos elija: Herramientas des-ocultar silencios O simplemente pulse Ctrl + U. Para limitar esta operación a un pentagrama concreto simplemente seleccione una nota arbitraria (o silencio) de ese pentagrama antes de la operación. La segunda forma es ocultar un grupo de silencios de un rectángulo de selección: Dibuje un rectángulo de selección como se describe en Selección de un bloque. Luego elija ocultar silencios o des-ocultar silencios tal como se describe arriba. Nota: Esta operación está también limitada a la voz seleccionada. Para (des)ocultar todos los silencios en todas las voces elija: Herramientas ocultar silencios (todas las voces) o: Herramientas des-ocultar silencios (todas las voces) Ocultar silencios también es útil en el caso de una anacrusa. Para hacer visibles los silencios ocultos elija: Ver mostrar elementos ocultos Posicionar verticalmente los silencios &nted; intenta posicionar los silencios de forma que no se solapen con otros elementos. Aunque lo logra en la mayoría de los casos, algunas veces, el usuario deseará personalizar la posición vertical. Para mover un silencio verticalmente selecciónelo, y luego use las teclas del cursor arriba/abajo para cambiar su posición. A partir de este momento es su responsabilidad colocar el silencio. &nted; no hará nada para solucionar cualquier conflicto. La única forma de conseguir que &nted; vuelva a manejar el silencio es insertando un nuevo silencio. De esta forma puede conseguir tener 2 voces compartiendo "un" silencio (uno encima de otro): selected a tie ¡Debe mover ambos silencios al menos un paso! En otro caso &nted; mueve el otro silencio para evitar la colisión. Insertando ligaduras de unión Hay dos maneras de insertar ligaduras de unión: Este método asume que desea insertar las ligaduras después de haber insertado una serie de notas. Por tanto, nunca pulse el botón de ligadura de unión durante la inserción de notas: the tie button Púlselo luego de haber insertado una serie de notas. Luego seleccione todos los pares de notas a ligar (primero una nota y luego la otra) con el botón izquierdo del ratón. No olvide desactivar el botón de la ligadura de unión: the tie button Este botón tiene una prioridad alta por lo que bloquea otras funciones. Inserte una nota o acorde seguido por una nota o acorde con la(s) misma(s) altura(s): before tie method 1 Luego presione ',' (coma). Las notas con las misma altura se ligarán: before tie method 2 Ligaduras de unión personalizadas &nted; coloca las ligaduras automáticamente dependiendo de la dirección de la plica. Quedará bienen la mayoría de los casos, pero algunas veces, el usuario deseará personalizarlas. Para personalizar una ligadura asegúrese que &nted; esté en modo editar (vea Los 3 modos). Seleccione una ligadura con el botón izquierdo del ratón: selected a tie La ligadura seleccionada aparece en rojo. Use las teclas del cursor arriba/abajo para modificar la curva: change the tie's curve Modificando la duración, alteraciones, puntillos y ligaduras de unión Asegúrese de que &nted; esté en el modo editar (vea Los 3 modos). Recuerde: Puede conseguirlo temporalmente pulsando la tecla Ctrl. Haga clic en una nota o silencio con el botón izquierdo del ratón. La nota o silencio queda seleccionada. Un acorde o silencio aparece en color rojo. Los botones de la ventana de herramientas reflejan el estado de la nota o silencio. Puede cambiarlo activando o desactivando los botones correspondientes. Esto incluye: cambiar la duración cambiar el tipo de cabeza de la nota insertar/suprimir alteraciones/puntillos eliminar ligaduras de unión Deshacer/Rehacer y Vista &nted; registra (sin límite) todas sus acciones. Siempre podrá deshacer una operación previa pulsando el botón deshacer () o pulsando Ctrl Z. Para rehacer algo deshecho pulse el botón rehacer () o pulse Ctrl Y. Para acercar la vista pulse el botón de acercar() o pulse Ctrl +. Para alejar la vista actual pulse el botón de alejar() o pulse Ctrl -. Pentagramas y sistemas Añadir un nuevo pentagrama Para añadir un pentagrama elija: Insertar Añadir pentagrama o simplemente pulse Ctrl + A. El pentagrama siempre se añade en última posición. Cambiar las propiedades del pentagrama Para cambiar las propiedades del pentagrama haga clic derecho en el pentagrama pero no muy cerca de una línea divisoria. Aparece el menu de configuración del pentagrama: the staff config menu Elija el nombre del prentagrama, la clave, el compás (igualmente o ), y la armadura en los paneles correspondientes y pulse OK. ajustar notas determina si &nted; debe ajustar las notas de tal manera que la altura se mantenga. Esto está relacionado con cambios de clave y de tonalidad. La transposición de octava determina una transposición opcional de octava en la clave. ¡Observe! LilyPond tiene instrucciones propias para seleccionar el signo o . Por tanto, no espere los mismos signos en LilyPond! El nombre abreviado de pentagrama se imprime en la 2ª, 3ª, ... página. El nombre de grupo y el nombre abreviado de grupo tienen el mismo significado que el nombre de pentagrama y el nombre abreviado de pentagrama para grupos de pentagramas. (Vea Disposición de los sistemas) La clave neutra tiene 3 formas: the neutral clefs La diferencia está en el mapeado MIDI. La primera forma - indicada con "1" - mapea las notas tal como lo haría la clave de sol. La segunda forma - indicada con "2" - mapea las notas tal como lo haría la clave de fa. La diferencia no es visible. Observe: Si elige la clave neutra 1 o 2 la notación entra en conflicto con la notación de percusión usual y no se exporta a LilyPond. Una alternativa es usar el sistema de percusión. En la pestaña MIDI puede cambiar los parámetros midi que influyen en el sonido durante la reproducción: the midi panel The instrument panel lets you select the timbre. It assumes a general midi table. Furthermore you can choose the volume of the staff. Actually, each voice has the same timbre (plays the same sound). But on voices panel you can change this behaviour: the instrument panel If the radio button all is selected immediately before closing the staff configuration menu, all voices produce the same sound (play the same instrument). Otherwise you can determine the sound of the different voices by selecting one of the radio buttons 1, 2, 3, or 4. Choose a sound, a volume, and a stereo position (pan) of each voice. Different sounds on the same staff produce different sounds on the same MIDI track which causes a very complicated and expansive MIDI output! Thus, if you have the choice between multiple sounds on the same staff or multiple staves you with uniform sound you should choose the latter one! On channel panel you can assign a midi channel. You should assign a different midi channel to different staves. This is automatically done by &nted;. El canal 10 es el canal de percusión en la mayoría de las tarjetas de sonido y nunca se asigna automáticamente El regulador del tempo afecta a todos los pentagramas. El regulador de balance determina la posición stereo del instrumento. El regulador de chorus y el de reverb determinan los efectos esperados. El sistema de sonido ALSA no soporta el efecto de reverberación de todas las tarjetas de sonido. El módulo frecuentemente usado snd_emu10k1_synth por ejemplo no soporta reverberación. Pero TiMidity lo soporta. On mute panel: the instrument panel you can mute the whole staff by using the all checkbox. You can also mute single voices by selecting the voice number. (see also Muting). El regulador transp. produce un desplazamiento de alturas durante la reproducción. Esta característica es útil para instrumentos transpositores que no están afinados en DO. Letras especiales en los nombres de pentagrama &nted; le permite colocar letras especiales como el símbolo del bemol en los nombres de pentagrama: Flute in A\b --> La siguiente tabla resume los signos posibles: \O \S \# \b \n \o \c \r \p \.espacio sin separación \...puntos suspensivos \--guión Cambiando la posición del pentagrama Si hay más de un pentagrama habrá una tercera pestaña, la pestaña de la posición del pentagrama: the position panel El cursor muestra la posición del pentagrama actual. Clicando en una posición diferente y luego en OK se mueve el pentagrama a la nueva posición. Eliminando un pentagrama Si hay más de un pentagrama se mostrará un botón "Delete Staff": the staff delete button Para eliminar el pentagrama, pulse ese botón. Cambiando la distancia entre pentagramas &nted; elige la distancia entre pentagramas automáticamente de acuerdo con la posición y altura de los elementos. Quedará bien en la mayoría de los casos, pero a veces el usuario deseará personalizar esa distancia. Para incrementarla asegúrese que &nted; esté en modo insertar (vea Los 3 modos). Elija: Insertar espaciador Haga clic en la posición que desee colocar el espaciador. Pase a modo editar (o mantenga Ctrl pulsado) y haciendo clic y arrastrando el espaciador verticalmente podrá ajustar la distancia entre el pentagrama actual y los pentagramas adyacentes. the spacer Para ocultar el espaciador desmarque: Ver mostrar elementos ocultos Modificar y eliminar espaciadores es similar a modificar y eliminar un texto arbitrario. Eliminando sistemas Si hay más de un sistema (en una página) aparecerá un botón "Delete Systems" the system delete button Para borrar el sistema (en el que hizo clic derecho), pulse el botón. No podrá borrar el sistema de la primera página si sólo contiene uno. Ocultar los números de compás &nted; muestra los número de compás a comienzo de sistema. Puede evitarlo así: Ver mostrar los números de compás El sistema de percusión El sistema de percusión predefinido Si elige la clave neutra 1 o 2 desde la ventana de diálogo de clave: the neutral clefs las alturas se mapean de acuerdo al sistema General MIDI. Esto entra en conflicto con la notación usual de percusión. Para evitarlo &nted; ofrece un sistema de percusión orientado hacia la notación de percusión convencional. Para activar el sistema de percusión elija la tercera clave de percusión (El 3 no aparece). En la versión actual debería ver sólo los siguientes 20 elementos de percusión: el sistema de percusión Estas notas se mapean a MIDI de tal forma que durante la reproducción suene el elemento de percusión apropiado. Es más, estas notas se exportan a LilyPond. Observe también: Para producir el sonido de percusión debe seleccionar un canal específico (frecuentemente el canal 10). ¡Vea La pestaña MIDI! Configuración del sistema de percusión El sistema de percusión por defecto abarca los elementos de percusión más usuales. Los usarios que deseen usar más elementos pueden reconfigurar el sistema de percusión: Archivo Configurar Percusión ... Aparecerá la ventana de diálogo de configuración de percusión: La ventana de diálogo de la configuración de percusión La tabla central lista todos los elementos de percusión: el nombre, el nombre corto (igual al nombre de LilyPond), la línea, la cabeda de la nota, y la nota MIDI asociada. Si selecciona un elemento de percusión, los botones de las cabezas de nota y la pequeña ventana de previsualización reflejarán el estado actual de la nota de percusión. Puede cambiar la línea haciendo click en las flechas arriba/abajo o con las teclas del cursor arriba/abajo. La cabeza de la nota se cambia haciendo click el el botón de cabeza adecuado. Si hace click en cambiar elemento, la nueva cabeza de nota y la nueva línea se cambian de forma permanente. Para recargar los valores por defecto, presione el botón por defecto. Puede salvar y recargar una configuración en un archivo, presionando los botones guardar en archivo y cargar desde archivo. El botón toca elemento reproduce el elemento de percusión apropiado (si su dispositivo de salida MIDI está correctamente configurado). Si coloca 2 elementos de percusión en la misma línea con la misma cabeza de nota, &nted; usará el primer elemento que aparezca en esta configuración. Voces Dispone de 4 voces para escribir música. Determine la voz a usar con el selector de voces (). Puede identificar la distintas voces usando el botón (), que las dibuja en colores. colored score Los colores de cada voz se corresponden con los indicados en el selector de voz. The normal case is: Every voice produces the same sound (plays the same instrument) during replay. But you can change this behaviour by attaching different sounds to different voices. Instrucciones de bloque Esquema - resúmen &nted; dispone de 4 instrucciones de bloque diferentes: Copiar bloqueEliminar bloque Vaciar bloqueInsertar bloque Seleccionar un bloque Para seleccionar un bloque asegúrese que &nted; esté en modo editar (vea Los 3 modos). Dibuje una diagonal arrastrando el ratón con el botón izquierdo pulsado de forma que el rectángulo encierre todos los elementos con los que quiere trabajar: selection Los elementos seleccionados aparecerán en violeta. Dentro del rectángulo de selección puede hacer clic derecho en los pentagramas que desee deseleccionar. deselect from selection Esto puede ser especialmente últil si por ejemplo desea copiar solo el 1er y 3er pentagrama de 3: copy selective Copiar bloque Para copiar un bloque seleccione algunos elementos tal como se describió en Seleccionar un bloque. Elija: Editar Copiar o pulse Ctrl C. Los elementos seleccionados se copiarán en un portapapeles interno. Pegar bloques Para pegar un bloque seleccione una nota o silencio tal como se describió en Desplazando notas y silencios. (No olvide antes copiar el bloque) El acorde o silencio seleccionado debe elegirlo como si estuviera situado en la esquina superior izquierda de un rectágulo imaginario de destino: virtual destination rectangle Elija: Editar Pegar o presione Ctrl V. Los elementos del portapapeles interno serán copiados al rectángulo imaginario o virtual de destino: paste complete Eliminar un bloque Para eliminar un bloque seleccione algunos elementos tal como se describe en Seleccionar un bloque. Elija: Editar Eliminar bloque O simplemente presione Ctrl + X. El boque se eliminará. Independientemente de la selección concreta la operación de eliminar influye a todos los pentagramas. Sólo serán eliminados compases completos. block delete removes whole measures Vaciar un bloque Vaciar un bloque significa convertir todas las notas a silencios de la duración adecuada. Seleccione algunos elementos tal como se describe en Seleccionar un bloque: selection for empty a block De nuevo, puede deseleccionar algunos pentagramas haciendo clic con el botón derecho en ellos: selection for empty a block, staff 2 deselected Elija: Editar Vaciar bloque O simplemente pulse Ctrl + E. El bloque se vaciará: block emptied Insertar un bloque de compases vacíos. Para insertar un bloque de compases vacíos elija una nota o silencio arbitrario tal como se describe en Desplazando notas y silencios. select before block insertion Elija: Insertar Insertar bloque de compases vacíos Determine el número de compases vacíos que desea insertar en la ventana de diálogo. Haga clic en OK. block insertion dialog Los compases se insertarán luego del que contiene la nota o silencio seleccionado. block insertion performed Personalizando las barras Agrupando &nted; pone las barras automáticamente dependiendo de la duración de la nota y del compás. Esto funciona en la mayoría de los casos. Pero algunas veces el usuario desea personalizarlas. Para cambiar el barraje use un botón especial en la barra de herramientas. Este botón cambia de apariencia dependiendo de si hay o no un rectágulo de selección (vea Seleccionar un bloque). Si no hay rectángulo de selección al presionar el botón se aislará la nota actual barrada (). Para aislar asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Seleccione una nota barrada haciendo clic izquierdo en ella: The situation before isolation Luego pulse el botón 'personalizar barra' (): The situation after isolation La nota queda aislada. Para conectar algunas notas con una barra, selcciónelas tal como se describe en Seleccionar un bloque: The situation before connection El botón cambia su apariencia (). Púlselo y &nted; connectará las notas con una barra: The situation before connection ¡Observe! Esta función puede romper también barras si el rectángulo de selección cruza un barra existente: The situation before connection Quedando así: The situation before connection En vez de pulsar el botón puede usar Ctrl J independientemente de la aparariencia del botón. Cambiando los parámetros de las barras Para cambiar la dirección de las plicas asegúrese que &nted; esté en modo editar (vea Los 3 modos) seleccione la primera o última nota de un grupo de notas barradas con el borón izquierdo del ratón y pulse el botón de voltear plica (). En vez de pulsar el botón de voltear plica () puede simplemente pulsar Ctrl F. &nted; calcula la posición e inclinación de las barras dependiendo de la posición de las notas barradas. Esto funciona en la mayoría de los casos. Pero algunas veces el usuario puede desear cambiar estos parámetros. Para cambiar la posición de la barra asegúrese que &nted; esté en modo editar (vea Los 3 modos) y seleccione la primera nota barrada con el botón izquierdo del ratón: beam position 0 La plica tiene un manejador representado por un pequenño cuadrado azul. Seleccione y mueva arriba y abajo este cuadrado con el botón izquierdo del ratón. La barra seguirá este movimiento: beam position 1 Para cambiar la inclinación de la barra seleccione la última nota barrada con el botón izquierdo del ratón: beam slope 0 La plica tiene un manejador representado por un pequeño cuadrado azul. Seleccione este manejador con el botón izquierdo del ratón y muévalo arriba y abajo. La inclinación cambiará de acuerdo a este movimiento: beam slope 1 Manejando las plicas Para cambiar la dirección de las plicas asegúrese de que &nted; esté en modo editar (vea Los 3 modos), seleccione la nota con el botón izquierdo del ratón y pulse el botón de voltear plica (). En vez de pulsar el botón de voltear plica () puede simplemente pulsar Ctrl F. Todas las notas tienen una longitud de plica por defecto. Esto funciona en la mayoría de los casos. Pero algunas veces el usuario puede desear cambiar esta longitud. Para hacerlo asegúrese de que &nted; esté en modo editar (vea Los 3 modos) y seleccione la nota con el botón izquierdo del ratón: stem length 0 La plica tiene un manejador representado por un pequeño cuadrado azul. Selecciónelo con el botón izquierdo del ratón y muévalo arriba o abajo. La longitud de la plica cambiará de acuerdo a este movimiento: stem length 1 Espaciado horizontal Espaciado global &nted; aplica un espaciado horizontal predefinido (espacio entre notas consecutivas). Su partitura tendrá un buen aspecto en la mayoría de los casos. Pero a veces el usuario puede querer un espaciado diferente. Para cambiar globalmente el espaciado horizontal elija: Editar Cambiar espaciado ... Aparecerá la ventana de diálogo del espaciado horizontal: the spacement dialog Cambie el factor de espaciado y pulse OK. &nted; aplicará el nuevo espaciado horizontal: the global spacement Cambiando el espaciado horizontal en un compás &nted; le permite cambiar el espaciado de un compás. Para hacerlo seleccione una nota arbitraria del compás, tal como se describió en Desplazando notas y silencios. Luego manteniendo presionada la tecla Shift gire la rueda del ratón. El espaciado del compás cambiará conforme lo hace. En vez de usar la rueda del ratón puede también usar Shift Cursor Arriba y Shift Cursor Abajo. horizontal space per measure Disposición de los sistemas Puede agrupar los pentagramas con llaves y corchetes. Además &nted; le permite conectar las líneas divisorias de pentagramas adyacentes. Para hacerlo seleccione un bloque de pentagramas tal como se describión en el capítulo Seleccionar un bloque. selected block Elija: Editar Disposición de sistemas ... Seleccione uno de los items ofrecidos: llave - Esto agrupa los pentagramas seleccionados con una llave. corchete - Esto agrupa los pentagramas seleccionados con un corchete. concetar líneas divisorias - Esto conectará las líneas divisorias de los pentagramas seleccionados. eliminar grupo - Esto elimina el grupo de pentagramas creado con uno de los 3 métodos anteriores. staff layout Para poner nombre a un grupo de pentagramas, rellene la casilla nombre de grupo, o nombre abreviado de grupo, respectivamente (vea: Cambiar las propiedades del pentagrama) del pentagrama más abajo del grupo: a group name Grupos de valoración especial Crear grupos de valoración especial (grupos artificiales) &nted; puede tratar desde dosillos a trecenas. Para crear un grupo de valoración especial seleccione la nota o silencio que deba ser la primera del mismo. Pulse Ctrl y el número del grupo. Por ejemplo: Si quiere que una negra sea la primera de un tresillo entonces selecciónela: before triplet creation y pulse Ctrl + 3: after triplet creation (method1) Hay un segundo procedimiento si en vez de lo anterior presiona Ctrl+Alt+<num>, quedando así: after triplet creation (method2) ¿Cuál es la diferencia? En el primer caso &nted; considera a la nota seleccionada como el primer miembro del grupo. En el segundo caso la negra tiene la duración de 2 miembros del tresillo. Esto es especialmente útil para música swing donde se repite muy a menudo esta combinación. Eliminar grupos de valoración especial Para eliminar un grupo de valoración especial seleccione a cualquier miembro del grupo y elija: Editar Eliminar grupo de valoración especial Grupos de 10 a 13 notas Para crearlos elija: Insertar Insertar grupo de valoración especial ... Estableza en 'Valor grupo' el número del grupo deseado en la ventana de diálogo. Para crear un grupo de acuerdo al 2º método (vea más arriba) marque método 2. Ligaduras Insertando ligaduras To insert a slur make sure &nted; is in edit mode (see The 3 modes). Select some notes as described in Select a block: before a slur is created Then Choose: Insertar Ligadura or press Ctrl H. The slur appears: after a slur is created Como puede ver la ligadura tiene 3 manejadores. Manteniendo presionado Ctrl (modo editar), haga clic izquierdo y arrastre estos manejadores para determinar la figura exacta de la ligadura: a slur is created Modificando las ligaduras Aunque los manejadores de la ligadura parecen poder colocarse libremente, siempre están asignados a un símbolo. El símbolo se sabe por una fina línea azul: the assignment of the slur handles Esto tiene consecuencias: &nted; trata de mantener la posición de la ligadura relativa al símbolo al que está asignada; &nted; elimina la ligadura si el símbolo al que está asociada se elimina; Para cambiar la figura de la ligadura asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Seleccione el comienzo o final de una ligadura con el botón izquierdo del ratón. Aparecerán los 3 manejadores de nuevo: the selection of the slur handles Así, puede cambiar de nuevo la forma de la ligadura arrastrando los 3 manejadores. Eliminando una ligadura Para eliminar una ligadura asegúrese de que &nted; esté en modo editar (vea Los 3 modos). De nuevo: Puede conseguirlo temporalmente teniendo pulsada la tecla Ctrl. Haga clic izquierdo al comienzo o final de una ligadura. Aparecerá en rojo el manejador seleccionado. Pulse la tecla retroceso (Backspace) y se borrará la ligadura. Repeticiones y otros tipos de barras Repeticiones simples Para colocar una doble barra de repetición asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Haga clic derecho en una línea divisoria. Aparecerá la ventana de diálogo 'Tipo de compás': the repeat dialog Elija uno de los tipos de repetición disponibles haciéndo clic en las flechas y luego en el botón OK. El compás cambiará su tipo de línea divisoria: the repeat open measure Iª y IIª volta Si selecciona una repetición 'cerrada' (final) en la ventana de diálogo, dispondrá de la casilla 1ª volta. Si la marca, dispondrá de la casilla 2ª volta: the alternative checkboxes De esta manera podrá poner las correspondientes alternativas: the alternative Ambas alternativas cubren un compás. Para cambiarlo seleccione 1. o 2. con el botón izquierdo del ratón. El número seleccionado aparecerá en rojo: the selected alternative Cambie la longitud de la alternativa pulsando las teclas del cursor izquierda/derecha: the changed alternative Para eliminar una alternativa haga clic derecho en la repetición 'cerrada' apropiada y desmarque la casilla correspondiente de la ventana de diálogo. Doble barra final De la misma forma puede insertar una doble barra final: double bar and end bar Si elige la doble barra final o la repetición 'cerrada' puede controlar mediante ocultar lo que sigue si &nted; mostrará o no la música que siga al final en el mismo sistema: the end bar dialog ¡Es su responsabilidad borrar los sistemas y páginas que sigan! the end bar dialog La doble barra De la misma forma puede insertar una doble barra: double bar Cambios de compás Insertando o modificando cambios de compás Para poner un cambio de compás asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Haga clic derecho en una línea divisoria. En la ventana de diálogo seleccione permitir indicación de compás the timesig changed dialog En el panel indicación de compás elija el nuevo numerador, denominador, el signo o y pulse Ok: the timesig changed dialog ¡Observe! LilyPond tiene instrucciones propias para seleccionar el signo o . Por tanto, no espere los mismos signos en LilyPond! Eliminando un cambio de compás Para eliminar un cambio de compás existente marque también borrar indicación de compás en el mismo panel 'Indicación de compás'. Cambios de clave Insertando un cambio de clave Para poner un cambio de clave asegúrese que &nted; esté en modo insertar/suprimir (vea Los 3 modos). Elija: Insertar Insertar clave ... La ventana de diálogo de cambiar clave aparecerá: the clef change dialog Elija una clave haciendo clic en las flechas. Puede añadirle a la clave transposición de octava. La clave neutra tiene 3 formas: the neutral clefs La diferencia está en el mapeado MIDI. La primera forma - indicada con "1" - mapea las notas tal como lo haría la clave de sol. La segunda forma - indicada con "2" - mapea las notas tal como lo haría la clave de fa. La diferencia no es visible. Observe: Si elige la clave neutra 1 o 2 la notación entra en conflicto con la notación de percusión usual y no se exporta a LilyPond. Una alternativa es usar el sistema de percusión. ajustar notas determina si &nted; deberá o no ajustar las notas que estén a continuación de la nueva clave de forma que mantengan su altura (si está marcada) o su posición en el pentagrama (si no lo está). Pulse el botón Ok. Haga clic en la posición que desee colocar la clave. La nueva clave aparecerá: the clef change Eliminando un cambio de clave Para eliminar un cambio de clave asegúrese de que &nted; esté en modo editar (vea Los 3 modos). De nuevo: Puede activar temporalmente este modo manteniendo pulsada la tecla Ctrl. Haga clic izquierdo en el cambio de clave. La clave seleccionada aparecerá en color rojo. Pulse la tecla retroceso (Backspace) y el cambio de clave se eliminará. Cambios de armadura Insertando un cambio de armadura Para poner un cambio de armadura asegúrese de que &nted; esté en modo insertar/suprimir. (vea Los 3 modos). Elija: Insertar Insertar armadura ... La ventana de diálogo 'Tonalidad nueva' aparecerá: key signature dialog Elija una nueva armadura. ajustar notas determina si &nted; debe o no mantener la altura de las notas que siguen a la nueva armadura conforme al nuevo cambio de tonalidad. Pulse el botón Ok. Haga clic en la posición donde quiera colocar el cambio de armadura: the key signature change eliminando un cambio de armadura Para eliminar un cambio de armadura asegúrese de que &nted; esté en modo editar (vea los 3 modos). De nuevo: Puede activar este modo manteniendo pulsada la tecla Ctrl. Haga clic izquierdo en el cambio de armadura. La armadura aparecerá en color rojo. Pulse la tecla retroceso y eliminará el cambio de armadura. Dinámica Insertar elementos de dinámica Para insertar una abreviación dinámica (matices) asegúrese de que &nted; esté en modo insertar (vea Los 3 modos). Elija: Insertar Dinámica ... Elija el signo dinámico y haga clic en la posición donde lo quiera colocar. Cambiar la posición de la dinámica Para mover una abreviación dinámica asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Selecciónela haciéndo clic izquierdo en ella. Aparecerá en rojo. Mantenga el botón izquierdo hundido y mueva el ratón. El signo dinámico seguirá el movimiento del ratón. Aunque los signos dinámicos parecen colocarse libremente, siempre se asignan a un elemento. El elemento se muestra con una fina línea azul: the assignment of dynamics Esto tiene consecuencias: &nted; intenta mantener la posición del signo dinámico relativa al elemento al que está asignado; &nted; copia el signo dinámico si copia el elemento al que está asignado; &nted; elimina el signo dinámico si elimina el elemento al que está asignado; &nted; determina el volúmen del pentagrama que tiene asignado el signo; Determinar el volúmen MIDI de un signo dinámico Todo signo dinámico tiene un volúmen predefinido entre 0 y 127. Para cambiarlo haga clic derecho en el signo dinámico. Aparecerá la ventana de diálogo de 'Establecer volúmen': the volume dialog Seleccione el volúmen MIDI y presione OK. Eliminando signos dinámicos Para eliminar un signo dinámico asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Haga clic izquierdo en el signo dinámico para seleccionarlo. Aparecerá en rojo. Pulse la tecla retroceso y el signo dinámico se eliminará. Líneas horizontales Insertando líneas horizontales &nted; le permite insertar algunas líneas horizontales. Entre ellas (de-)crescendo (reguladores), 8va, 8vb, 15ma y 15mb. Para insertar una línea asegúrese de que &nted; esté en modo insertar (vea Los 3 modos). Elija: Insertar Insertar líneas. Aparecerá la ventana de diálogo 'Líneas' the line dialog Haga clic en el tipo de línea apropiada. La línea seleccionada aparecerá encerrada en un cuadro rojo: the line dialog (selected) Pulse OK y haga clic izquierdo en la posición que desee colocar la línea. Se creará la línea correspondiente: a (de-)crescendo is created Como puede ver la línea tiene 2 manejadores. Haciéndo clic izquierdo y arrastrándolos puede determinar la posición y longitud: a (de-) crescendo is placed Si quiere que una línea abarque múltiples pentagramas (renglones) primero mueva el punto final verticalmente, !incluso si el manejador no sigue inmediatamente al puntero del ratón! create multi stave lines ¡Observe! El manejador izquierdo determina la posición de comienzo. El manejador derecho solo determina el punto final horizontal, no la posición vertical. Modificando las líneas Aunque los manejadores de las líneas parecen poder colocarse libremente, siempre están asignados a un signo. El signo se muestra por una fina línea azul: the assignment of the crescendo handles Esto tiene consecuencias: &nted; intenta mantener la posición del manejador relativa al signo que tiene asignado; &nted; elimina la línea si se elimina el signo al que está asignada; &nted; determina la reproducción MIDI del pentagrama correspondiente, si es posible; Para cambiar la longitud y posición de la línea asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Haga clic izquierdo en el comienzo de la línea. Los dos manejadores volverán a aparecer: the selection of the crescendo handles Así, podrá cambiar de nuevo la longitud y posición de la línea arrastrando los 2 manejadores. Eliminando una línea Para eliminar una línea asegúrese de que &nted; esté en modo editar (vea los 3 modos). De nuevo: Puede conseguirlo temporalmente manteniendo pulsada la tecla Ctrl. Haga clic izquierdo al comienzo de la línea. El manejador seleccionado aparece en rojo. Pulse la tecla retroceso para eliminar la línea. (de-)cresendi (reguladores) Para determinar el comportamiento MIDI de los (de-)crescendi asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Haga clic derecho al comienzo del (de-)crescendo. Defina el volúmen de comienzo en la ventana de diálogo 'Establecer volúmen': the volume dialog Define the MIDI volume difference caused by the (de-) crescendo and press OK! Líneas de octava: 8va, 8va, 15ma, 15mb Estos signos cambian la octava de las notas que abarcan. Indicaciones metronómicas Insertando una indicación metronómica Para insertarla asegúrese antes de que &nted; esté en modo insertar (vea Los 3 modos). Elija: Insertar tempo ... La ventana de diálogo 'Establecer tempo' aparecerá: the tempo dialog Seleccione una figura y su valor metronómico. Pulse "OK". Luego haga clic en la posición que desee colocarla. Cambiar la posición de una indicación metronómica Para moverla asegúrese antes de que &nted; esté en modo editar (vea Los 3 modos). Haga clic izquierdo en la indicación para seleccionarla. Cambiará a color rojo. Mantenga pulsado el botón izquierdo mientras la arrastra. La indicación metronómica seguirá sus movimientos. Aunque estas indicaciones parecen colocarse libremente, siempre se asignan a un signo. El signo asociado se sabe por una fina línea azul: the assignment of tempo markers Esto tiene consecuencias: &nted; intenta mantener la posición de la indicación metronómica relativa al signo con el que está asociada; &nted; copia la indicación si el signo al que está asignada se copia; &nted; elimina la indicación si el signo al que está asignada se elimina; Cambiando los valores de la indicación metronómica Para cambiar el valor o la figura haga clic derecho en la indicación metronómica. Aparecerá la ventana de diálogo siguiente: the tempo dialog Seleccione la nueva figura o el nuevo valor y presione OK. Eliminando una indicación metronómica Para eliminarla asegúrese antes de que &nted; esté en modo editar (vea Los 3 modos). Haga clic izquierdo en la indicación para seleccionarla. Aparecerá en color rojo. Pulse la tecla retroceso para eliminarla. Texto arbitrario Insertando un texto arbitrario ¡No use esta función para añadir letras, dinámicas, un accelerando, ritardando, o un (de-)cresendo ya que &nted; tiene métodos especiales para esos términos, los cuales afectan parcialmente a la reproducción MIDI de la manera correspondiente. (Vea Letras, Dinámica , Accelerando, Ritardando, y (de-)crescendi (reguladores))! Para insertar texto arbitrario asegúrese de que &nted; esté en modo insertar (vea Los 3 modos). Elija: Insertar Texto ... Aparecerá la venta de diálogo 'Texto': the text dialog Inserte un texto en el campo 'texto'. Pulse el botón de fuente bajo el campo de texto si desea una fuente diferente. También puede determinar el punto de anclaje: the text alignment Por favor dé preferencia a fuentes como Sans o Serif. Dependiendo de la configuración de sus sistema otras fuentes pueden causar problemas (apariencia pixelada) en las salidas PostScript/PDF. Esto atañe con frecuencia a fuentes como Helvetica o Times. El texto a veces tiene que ver con el tempo (allegro) o la intesidad (forte). Los 2 campos bajo el botón de fuente le permiten influir en la reproducción MIDI. Para influir en el volúmen marque permitir cambio de volúmen y elija un volúmen. Para influir en el tempo marque permitir cambio de tempo y elija un valor. Además, el texto puede producir un cambio de instrumento. Para activarlo marque permitir cambio de instrumento y seleccione el nuevo instrumento. If you enable the channel change, then playing the note will cause the staff to change MIDI channel. Si todo es correcto pulse "OK". Luego haga clic en la posición donde desee colocar el texto. Para un pentagrama con Segno consulte la sección D.S./Capo al Coda/D.S./Capo al Fine. Letras especiales &nted; le permite colocar letras especiales como coda dentro del texto: D.S. al \O --> La siguiente tabla resume los signos posibles: \O \S \# \b \n \o \c \r \p \.espacio sin separación \...puntos suspensivos \--guión Cambiar la posición del texto Asegúrese antes de que &nted; esté en modo editar (vea Los 3 modos). Haga clic izquierdo al comienzo del texto para seleccionarlo. El texto se pondrá rojo. Mantenga hundido el botón izquierdo y mueva el ratón. El texto seguirá sus movimientos. Aunque el texto parezca ser libremente colocable, siempre estará asignado a un signo. El signo se sabe por una fina línea azul: the assignment of arbitrary text Esto tiene consecuencias: &nted; trata de mantener la posición del texto relativa al signo al cual está asignado; &nted; copia el texto si el signo al que está asociado se copia; &nted; elimina el texto si se elimina el signo al que está asociado; Modificando un texto arbitrario Para cambiar el texto haga clic derecho en él. Aparecerá de nuevo la ventana de diálogo 'Texto'. Así, puede cambiar el texto y sus propiedades. Eliminando un texto arbitrario Para eliminar el texto asegúrese antes de que &nted; esté en modo editar (vea Los 3 modos). Haga clic izquierdo en el texto para seleccionarlo. El texto aparecerá en rojo. Pulse la tecla retroceso y el texto se eliminará. Accelerando, Ritardando Insertando un Accelerando/Ritardando Para insertar un accelerando o ritardando &nted; debe estar en modo insertar (vea Los 3 modos). Elija: Insertar accelerando o: Insertar ritardando Haga clic izquierdo donde deba aparecer el accelerando o ritardando: an ritardando is created Como puede ver, el accelerando (ritardando) tiene 3 manejadores. Haciéndo clic izquierdo y arrastrando estos manejadores puede determinar la posición y el alcance del mismo: an ritardando is placed Si desea un accelerando o ritardando cuya influecia abarque múltiples pentagramas (renglones) primero mueva el punto inicial o final verticalmente, ¡incluso si el manejador no sigue inmediatamente al puntero del ratón! create multi stave ritardando ¡Observe! El manejador central determina la posición del texto 'accel.' o del 'ritard.' (tanto vertical como horizontal). Los manejadores izquierdo y derecho solo determinan la posición horizontal y de influencia del mismo. Este alcance no es visible si el accelerando o ritardando no está seleccionado. Modificando un accelerando o ritardando Aunque los manejadores del accelerando (ritardando) parecen colocarse libremente, siempre están asignados a un signo. El signo se sabe por una fina línea azul: the assignment of the ritardando handles Esto tiene consecuencias: &nted; trata de mantener la posición de los manejadores del accelerando (ritardando) relativa a los signos a los que están asignados; &nted; elimina el accelerando (ritardando) si se eliminan los signos a los que está asignado; &nted; controla la reproducción MIDI del pentagrama correspondiente; Para cambiar el alcance y posición del accelerando (ritardando) asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Haga clic izquierdo en él. Aparecerán los 3 manajadores de nuevo: the selection of the ritardando handles Así, podrá cambiar de nuevo el alcance y posición del mismo arrastrando los 3 manejadores. Para determinar el comportamiento MIDI del accelerando o ritardando asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Selecciónelo haciendo clic derecho. Aparecerá la venta de diálogo 'Establecer tempo': the tempo dialog Define the MIDI tempo diffenrence of the accelerando or ritardando and press OK! Eliminando un accelerando o ritardando Para eliminar un accelerando o ritardando asegúrese de que &nted; esté en modo editar (vea Los tres modos). De nuevo: Puede activarlo temporalmente manteniendo pulsada la tecla Ctrl. Haga clic izquierdo en el accelerando o ritardando. aparecerá en color rojo. Pulse la tecla retroceso y se eliminará el accelerando o ritardando. Nombres de acordes Puede adjuntar nombres de acorde a notas y silencios. Para ello &nted; debe estar en modo insertar (vea Los 3 modos). Elija: Insertar nombre de acorde ... Aparecerá la ventana de diálogo 'Nombre de acorde' the chord name dialog Inserte la base (fundamental), un texto superior e inferior (cifrado). Elija luego un tamaño y la posición relativa respecto a la nota y pulse OK. Luego haga clic en la posición donde desee colocarlo: the chord name dialog &nted; le permite colocar letras especiales como el signo del bemol dentro del texto: A\b --> La siguiente tabla resume los signos posibles: \O \S \# \b \n \o La ventana de diálogo Nombre de acorde permanecerá abierta hasta que presione Cancelar. De esta manera puede colocar el mismo acorde en diferentes lugares. Si cambia el acorde en la ventana de diálogo el próximo click de ratón insertará el nuevo acorde. Modificar y eliminar nombres de acordes se hace de la misma forma que modificar y eliminar texto arbitrario. Los nombres de acordes se exportan a Lilypond. Pero Lilypond ofrece un número limitado de modificadores. Es su responsabilidad usar sólo los nombres de acordes a los que se ajusta Lylipond. Diagramas de acordes para guitarra y notación de acordes &nted; ofrece diagramas de acordes para guitarra y notación de acordes chord examples Use esta característica sólo si realmente quiere mostrar un diagrama de acorde para guitarra o si necesita exportar a Lilypond. Para mostrar un nombre de acorde vea Nombres de acordes LilyPond no permite todas las especies de acordes. La especie queda en blanco si &nted; tiene que exportar tal tipo de nombre de acorde. Para insertar un diagrama de acorde para guitarra o una anotación de acorde elija: Insertar acorde ... Aparecerá la ventana de diálogo de selección de acordes the chord dialog elija una base y una especie. Si quiere colocar un diagrama debe también seleccionarlo en el panel derecho. El diagrama seleccionado aparecerá en el panel izquierdo. Marcando diagrama puede determinar si crear o no en la partitura el diagrama del acorde. Marcando texto aparecerá una descripión textual del acorde en la partitura. De esta forma puede elegir entre: sólo el diagrama del acorde sólo la descripción textual del acorde (no se recomienda, vea Nombres de acorde para estos casos) ambos, diagrama del acorde y descripción La modificación y eliminación de los diagramas y las anotaciones de acordes es similar a la modificación y eliminación de texto arbitrario. Anacrusa Hay 2 maneras de determinar una anacrusa. La primera es principalmente para las partituras recién creadas. Seleccione la nota o siliencio que sigue a la anacrua: prepare upbeat (give measure) Elija: Editar Anacrusa nota seleccionada (precedida de anacrusa) -> primera nota del primer compás &nted; cambia el comienzo de tal forma que el acorde o silencio sea el primer elemento del primer compás completo: upbeat given (give measure) El 2º procedimiento es sobre todo para partituras con silencios al comienzo (a eliminar). Seleccione la nota o silencio que desea sea el primer elemento de la anacrusa: prepare upbeat (give start) Elija: Editar Anacrusa nota seleccionada (precedida de silencios) -> comienzo de anacrusa &nted; elimina todo lo anterior. Así, el elemento seleccionado se convierte en el primer elemento. upbeat given (give start) Las reglas de la anacrusa requieren acortar el último compás en la duración de la misma. &nted; no lo realiza automáticamente. Para acortar el último compás seleccione todos los silencios correspondientes en todas las voces tal como se describió en Seleccionar un bloque: mark the rests Elija: Herramientas ocultar silencios (todas las voces) Los silencios correspondientes se harán invisibles: mark the rests Vea también: Ocultando silencios Notas de adorno &nted; ofrece 3 tipos de notas de adrono: The grace notes Para insertar notas de adorno elija el tipo de nota apropiado del 2º panel de la caja de herramientas: The grace on toolbox Seleccione un tipo de nota de adorno e insértela como se describió en el capítulo Insertando/Suprimiendo notas. Para eliminar una nota de adorno selecciónela como se describió en el capítulo desplazando notas y silencios y pulse la tecla retroceso. Letras Insertando letras Puede añadir hasta 5 líneas de letra a cada nota. Puede usar los mismos caracteres especiales descritos en Letras especiales en los nombres de pentagrama. Hay dos maneras: Escribirlas directamente o usar el editor de letras. Escribirlas directamente Para insertar letras directamente, seleccione una nota y elija: Insertar Letras Elija una línea de letras entre 1 y 5. &nted; pasa a modo letras. Escriba un texto con el teclado. El texto aparecerá bajo la nota. Lyrics To skip to next note either press a - key or press space key. To place a space inside a syllable insert an underscore(_) or a non breaking space symbol(\.). Finish the lyrics mode with ESC. Se recomienda encarecidamente rellenar la letras desde la 1ª línea a la 5ª. Modificando las letras Para modificar las letras asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Seleccione una nota con letras y elija: Insertar Letras Elija la línea de letras a modificar. Aparecerá el cursor. Puede moverlo con las teclas izquierda/derecha. Puede insertar una letra pulsando la tecla correspondiente. Puede borrar una letra pulsando la tecla retroceso. Si elimina la última letra de una línea de letras ésta también se elimina. Termine el modo letras pulsando ESC. Editor de letras La 2ª posibilidad es usar el editor de letras. Si hay más de 2 pentagramas seleccione un elemento cualquiera del pentagrama al que deba añadirlas. Elija: Herramientas Editor de letras Aparecerá la ventana del editor de letras: The lyrics editor Select the verse by selecting a tab! Then insert the lyrics syllable by syllable. Every hyphen and every space is interpreted as separator. To leave on note blank place a single dot('.'). To place a space inside a syllable insert an underscore(_) or a non breaking space symbol(\.). Puede salvar y cargar el verso pulsando los botones guardar en archivo o cargar desde archivo, respectivamente. If all is correct press Apply or OK! Both will update the lyrics, but OK closes the lyrics editor. D.S./Capo al Coda/D.S./Capo al Fine Un ejemplo con D.S. al Coda podría ser como el siguiente: the segno principle Para poner el signo de la Coda y del Segno asegúrese de que &nted; esté en modo insertar/suprimir (vea Los 3 modos). Elija: Insertar Insertar signo ... Aparecerá la ventána de diálogo 'Signos' The sign dialog Elija el signo apropiado y haga clic en la posición a colocarlo. Modificar y eliminar signos funciona de forma similar a modificar y eliminar texto arbitrario. Para poner un texto como "D.S. al Coda" o "Repetir desde el Segno hasta la Coda" vea Texto arbitrario. Para expresar que estos textos controlan la reproducción tiene que eligir las propiedades adecuadas en la ventana de diálogo de 'Texto': the segno on text dialog De la misma forma puede crear D.S. al Fine, Da Capo al Coda y Da Capo al Fine. Vea también: Texto arbitrario. Signos de respiración Para poner un signo de respiración asegúrese que &nted; esté en modo insertar/suprimir (vea Los 3 modos). Elija: Insertar Insertar signo ... Aparecerá la ventána de diálogo 'Signos' The sign dialog Elija el signo apropiado y haga clic donde desee colocarlo. Eliminar respiraciones funciona de forma similar a modificar y eliminar texto arbitrario. Transposición &nted; tiene la capacidad de transportar. Si desea transportar sólo un subconjunto de notas, dibuje un rectángulo de selección tal como se describió en Seleccionar un bloque. Luego elija: Herramientas Transportar ... Aparecerá la ventana de diálogo 'Transportar' The transposition dialog Elija el número de semitonos. Si dibujó un rectángulo de selección estará marcado utilizar selección. Puede determinar si usar o no el rectángulo de selección. Si no hay rectángulo de selección podrá seleccionar los pentagramas a transposrtar. Pulse OK y &nted; transportará las notas correspondientes. Es su responsabilidad cambiar la armadura (vea Cambiar las propiedades del pentagrama e Insertando un cambio de armadura. Cambiar alteraciones En algunos pocos casos se desea cambiar sostenidos por bemoles, y vice versa: change accidentals &nted; tiene esta capacidad. Si desea realizarlo sólo con un subconjunto de notas, entonces dibuje un rectángulo de selección tal como se describió en Seleccionar un bloque. Luego elija: Herramientas cambiar todo a sostenidos ... o: Herramientas cambiar todo a bemoles ... Aparecerá la ventana de diálogo 'Selección': The selection dialog Si dibuja un rectángulo de selección utilizar selección estará marcada. Puede decidir si utilizar o no el rectángulo de selección. Si no hay rectángulo de selección podrá seleccionar los pentagramas sobre los que tendrá efecto el cambio. Pulse OK y &nted; cambiará las notas correspondientes. Título, compositor y arreglista Para añadir alguna información a la partitura (título, tema, compositor, arreglista, copyright) seleccione: Editar Información de la partitura ... Aparecerá la ventana de diálogo siguiente: The score information dialog Introduzca el nombre del compositor, el arreglista, el tema, el copyright y pulse OK. Esta información se mostrará en la primera página de la partitura. Páginas Tamaño de la página Para cambiarlo elija: Archivo Configurar Página ... Choose A3, A4, A5, B4, Letter, Legal, or 230x293 and the orientation (portrait or landscape). Navegación de páginas &nted; presenta la partitura en un papel aparentemente infinito. Puede mover el papel en modo página (vea (see Los 3 modos). De nuevo: Puede activar este modo temporalmente si mantiene presionada la tecla Shift (mayúscula). En modo página si mantiene hundido el botón izquierdo del ratón puede mover el papel moviendo el ratón. Además puede saltar a una página determinada usando el selector de página () o las teclas de avance y retroceso de página. Incluso puede usar la rueda del ratón para desplazar la página. Eliminar la última página Si hay más de una página, puede eliminar la última. Elija: Editar Eliminar última página Eliminar páginas vacías finales Bajo ciertas circunstancias puede suceder que haya algunas páginas vacías al final de la partitura, por ejemplo, páginas llenas de silencios. Para eliminarlas elija: Editar Eliminar páginas vacías Ventanas múltiples y Partes Ventanas múltiples &nted; le permite abrir tantas ventanas como quiera. Esto es útil si desea comparar dos partituras diferentes o copiar partes de una a otra. Para abrir una nueva ventana elija: Archivo Ventana nueva Aparecerá una nueva ventana: A new window Con la nueva ventana puede hacer todo lo que podía hacer en la primera. Si quiere copiar/pegar entre diferentes ventanas por favor asegúrese de que ambas estén en modo editar (vea Los 3 modos): copy/paste between 2 windows Vea también: Instrucciones de bloque. Para eliminar una ventana elija: Archivo Cerrar Ventana Extraer un subconjunto de pentagramas &nted; le permite copiar un subconjunto de pentagramas en otra ventana. Para hacerlo elija: Archivo Extraer partes ... Aparecerá la ventana de diálogo de 'Seleccionar partes': The staff selection dialog Seleccione el subconjunto de pentagramas que desee copiar. Para seleccionar más de uno persione Ctrl. Para seleccionar un rango de pentagramas presione y mantenga hundida la tecla Shift (mayúscula). Luego seleccione el primer y el último pentagrama del rango. Pulse Ok. El subconjunto de pentagramas se copiará a la otra ventana: the excerpt Graduando el nivel de ampliación de la partitura completa &nted; le permite un escalado continuo de la partitura. Como resultado las notas toman tamaños diferentes: scaling the score Para graduar el nivel de ampliación elija: Archivo Ampliar/reducir ... Aparece la siguiente ventana de diálogo: the scale dialog Establezca el grado de ampliación y pulse OK. Documentación Para consultar la documentación elija Ayuda Documentación ... La documentación sólo estará disponible si los siguientes programas estaban instalados en su sistema durante el paso ./configure: yelp del proyecto GNOME (paquete gnome-extra) xmlto Guardar y recuperar Guardar Para guardar su partitura elija: Archivo Guardar como ... Decida el nombre del archivo en la ventana de diálogo y pulse OK. La extensión por defecto es .ntd. Para guardar un archivo que ha sido previamente guardado con un nombre elija: Archivo Guardar Recuperar Para recuperar un archivo anteriormente guardado elija: Archivo Abrir ... Seleccione un nombre de archivo en la ventana de diálogo y pulse OK. Nuevo archivo Para empezar con una partitura completamente nueva (vacía) elija: Archivo Nuevo Cerrar el programa Para cerrar el programa elija: Archivo Salir Imprimir, exportar, Karaoke e importar Configuración &nted; asume que: lpr <archivo>.ps imprime un archivo PostScript con nombre <archivo>.ps en su sistema. Si este no es el caso entonces configure el comando de impresión. Elija: Editar Preferencias Configurar impresión ... En la ventana de diálogo debería ver: lpr %s La %s será reemplazada por el nombre de un archivo PostScript. Cambie esta cadena de caracteres de acuerdo a sus necesidades. Por ejemplo: Si desea usar kprinter de KDE entonces cambie la cadena por: kprinter %s y presione OK. Si todo está configurado entonces elija: Archivo Imprimir Exportar PostScript Puede exportar la partitura como PostScript. Elija: Archivo Exportar PS... Seleccione el nombre del archivo en la ventana de diálogo y pulse OK. Dado que la mayoría de las impresoras son capaces de imprimir archivos PostScript puede imprimir el archivo generado usando su comando de impresión preferido (lpr, kprinter, ...) Exportar PDF Estará disponible sólo si su librería Cairo soporta PDF. Puede exportar la partitura como PDF. Elija: Archivo Exportar PDF... Seleccione el nombre del archivo en la ventana de diálogo y pulse OK. Dado que la mayoría de impresoras son capaces de imprimir archivos PDF puede imprimir el archivo generado usando su comando de impresión favorito (lpr, kprinter, ...) Exportar MIDI Puede exportar la partitura como datos MIDI. Elija: Archivo Exportar MIDI... Seleccione el nombre del archivo en la ventana de diálogo y pulse OK. Karaoke Si la partitura contiene letras, &nted; las exportará al MIDI. Esto produce en muchos reproductores midi, entre ellos kmid, un comportamiento tipo Karaoke: Karaoke con kmid Importar MusicXML Puede importar un archivo MusicXML. Elija: Archivo Importar MusicXML... Seleccione el nombre del archivo en la ventana de diálogo y pulse OK. Hay un error en NoteEdit (otro programa del mismo autor) que tiene que ver con la exportación de pentagramas con varias voces a MusicXML. Como resultado NtEd tiene problemas importando esos archivos. Para resolver el problema NoteEdit debe parchearse. Vea http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/noteedit_musml_patch.html para más información. Exportar PNG y SVG &nted; puede exportar la página actual a PNG (Portable Network Graphics) y a SVG (Scalable Vector Graphics). La página actual es la mostrada en el selector de página. Ambos formatos son muy útiles para la publicación WEB o tareas gráficas relacionadas. Muchos procesadores de texto permiten gráfico PNG y/o SVG embebidos. Especially the SVG format - an XML instance - is very useful because - as the name indicates - it is scaleable without strange effects which are usually visible in scaled pixel graphics. La exportación SVG estará disponible sólo si su librería Cairo soporta SVG. Elija: Archivo Exportar PNG ... o Archivo Exportar SVG ... Elija un nombre de archivo y presione OK. El tamaño de la imágen PNG/SVG dependerá del grado de ampliación actual. Exportar Lilypond Lilypond (http://lilypond.org/) es con seguridad el editor de música con mejor salida. Esto es así principalmente por 2 razones: Los desarrolladores hicieron un gran esfuerzo en crear fuentes musicales especiales, derivadas de impresiones de música tradicionales. Incluso crearon sus propias herramientas para la conversión de formatos de fuente para conseguir el mejor resultado. Lilypond utiliza una técnica de varias pasadas que toma todo el tiempo necesario para lograr una colocación excelente de los signos musicales. Además, Lilypond tiene un montón de conocimiento ortográfico musical, lo que previene errores de notación. Lilypond crea salida PostScript o PDF desde un archivo que contiene un transcripción en formato de texto de la música. Por ejemplo, la entrada: \relative c' { \clef treble \key d \major d4 e fis g a b cis d } produce la siguiente salida: &nted; Mainwindow &nted; puede crear transcripciones de texto Lilypond. Elija: Archivo Exportar LilyPond... La ventana de diálogo de Exportación Lilypond aparecerá: LilyPond export dialog En la casilla 'crear saltos de línea' puede determinar si &nted; debe colocar las sentencias \break para obtener los mismos saltos de línea como aparecen en &nted; Si desea exportar un subconjunto de pentagramas pulse el botón seleccionar pentagramas. Aparecerá la ventana de diálogo 'Seleccionar partes': the staff selection dialog Seleccione un subconjunto de pentagramas. Para seleccionar más de un pentagrama pulse Ctrl. Para seleccionar un rango de pentagramas pulse y mantenga hundido Shift (mayúscula). Luego seleccione el primer y último compás del rango. LilyPond has its own beaming rules. Therefore, the LilyPond beaming differs from &nted;-beaming. If you want the same beams as in &nted; then select the keep beams button. Select the staves to keep the beams for and press OK. Elija un nombre de archivo - la extensión debe ser .ly - y pulse OK. Para crear una salida PostScript o PDF desde este archivo, instale Lilypond y escriba: lilypond <archivo>.ly Para previsualizar y/o imprimir la salida use sus comandos de ver/imprimir favoritos (gv, ggv, evince, xpdf, lpr, kprinter, ...). Como se mencionó arriba, Lilypond usa su propia estrategia de colocación y sus propias fuentes. Como consecuencia el principio WYSIWYG (what you see is what you get: lo que ve es lo que tiene) se rompe. La salida diferirá de la de &nted;. Importar MIDI &nted; puede (intentar) construir una partitura a partir de un archivo MIDI. ¡Observe! Hay muchas partituras que generarían los mismos datos MIDI. Por tanto la transformación MIDI a partitura es ambigua. Para importar un archivo MIDI elija Archivo Importar MIDI ... Aparecerá la ventana de diálogo de importación MIDI: MIDI import dialog ¡Determine si &nted; debe intentar reconocer los tresillos! Con los controles deslizantes puede influir en la densidad del tempo y de los signos de intensidad. Un valor 0 significa "sin signos". Si elige 100 puede ocurrir que casi toda nota tenga un signo de intensidad o de volúmen. Con frecuencia, los archivos MIDI tienen pistas que contienen un amplio rango de alturas. Colocar esas notas en un solo pentagrama conduce a salidas deficientes: MIDI program changes Por consiguiente, el comportamiento normal de &nted; es dividir esas pistas: MIDI program changes Pero a veces esto no se desea. Especialmente si el archivo MIDI ya ha dividido adecuadamente las pistas. Utilice no dividir pistas en este caso. El botón forzar piano fuerza una partitura con 2 pentagramas por sistema. El botón ordenar instrumentos es útil para archivos MIDI donde todos o muchos instrumentos están situados en la misma pista: MIDI program changes Los puntos rojos representan operadores MIDI especiales llamados MIDI program change que notifican al dispositivo el cambio de instrumento. Así, teóricamente un archivo MIDI puede situar una orquesta entera en una solo pista. Los archivos producidos por teclados son frecuentemente de este tipo. &nted; colocaría realmente todas las notas en un pentagrama y atribuiría el primer instrumento dado a este pentagrama. Si ordenar instrumentos se activa, ordenará los instrumentos en pentagramas diferentes: sorted MIDI program changes En la mayoría de casos el estado de los botones dado por defecto da buenos resultados. Pero si la partitura tiene una apariencia extraña o la reproducción difiere drásticamente del sonido MIDI entonces intente jugar con los botones para mejorar la partitura. Seleccione el archivo MIDI y pulse OK. En la última ventana de diálogo puede determinar el tamaño del papel y la orientación. Insertando notas con altura determinada por un teclado midi Si tiene un teclado MIDI conectado a su tarjeta de sonido puede determinar la altura de las notas pulsando la tecla adecuada en el teclado MIDI. Para hacerlo debe antes comprobar el dispositivo MIDI IN. Active MIDI echo (vea Preparar la reproducción) y pulse el botón de lectura MIDI () ¡Mueva el puntero del ratón sobre un pentagrama cualquiera! ¡Es importante mover el ratón sobre un pentagrama porque de esta forma determina el instrumento que toca la nota! Si ahora pulsa una tecla en el teclado midi debería oír el tono correspondiente tocado por el instrumento asociado al pentagrama sobre el que está posicionado el ratón (vea la pestaña MIDI). Si no es así entonces configure el dispositivo de entrada MIDI: Editar Preferencias Configurar MIDI in... Aparecerá un listado con todos los puertos midi de entrada. Seleccione uno y pulse OK. Si el puerto no funciona pruebe con otro diferente. Si todo funciona entonces pulse además el botón de modo insertar () y el botón de inserción con teclado (). Si ahora coloca el ratón en una posición de un pentagrama las notas que toque en el teclado midi se insertarán. ¡Observe! Las teclas determinan la altura no la duración! La duración de las notas se establecen tal como se describió en Insertando/Suprimiendo notas. Para finalizar este modo desactive el botón de lectura MIDI ()! Crear un partitura tocándola desde un teclado midi Si tiene conectado un teclado midi a su tarjeta de sonido puede tocarlo y &nted; convertirá (lo intentará) su música en notas. Antes de hacerlo debe asegurarse de que la reproducción funciona. Si no, no podrá oir el metrónomo. Vea Preparar la reproducción, y eventualmente elservidor TiMidity y la pregunta correspondiente en FAQ. Es más, asegúrese de que la entrada midi funciona y de que ha seleccionado el puerto de entrada MIDI correcto. Vea: Insertando notas con altura determinada por un teclado midi. Si todo funciona entonces asegúrese que &nted; esté en modo editar (vea Los 3 modos). ¡Luego seleccione una nota o silencio con el botón izquierdo del ratón! El acorde o silencio seleccionado aparecerá en rojo. Las notas nuevas se insertarán exactamente en esa posición. Luego configure los parámetros de grabación: Archivo Configurar Grabación ... Aparecerá la ventaca de diálogo de cofigurar grabación MIDI: The MIDI record config dialog El instrumento, compás y tonalidad deben coincidir con los valores del pentagrama donde seleccionó el acorde o silencio. Puede cambiar estos valores pero no se recomienda. El botón reconocimiento de tresillo determina si &nted; debe o no (intentar) reconocer tresillos. El botón forzar piano fuerza una partitura de pianocon 2 pentagramas por sistema. Quizás su pieza de música abarca un rango muy amplio de alturas. Colocando estas notass en un pentagrama resulta una mala salida: MIDI program changes Por consiguiente, el comportamiento normal de &nted; es dividir el pentagrama: MIDI program changes Pero a veces esto no se desea. Utilice el botón no dividir pistas es este caso. El regulador de tempo determina el tempo de la grabación (i.e. el tempo del metrónomo) en negras por minuto. The volume slider determins the volume of the metronome. ¡Si todo es correcto pulse Ok! Ahora pulse el botón de grabación MIDI (). Deberá oir los ticks del metrónomo. Los ticks representan blancas, negras, corcheas, o semicorcheas, dependiendo del denomonador de su compás. El metrónomo hace un tick grave y N-1 agudos, donde N es el numerador de su compás. Luego de N ticks se completa un compás y vuelve a empezar otro. Toque lo más exactamente posible de acuerdo al metrónomo. Cuando termine pulse de nuevo el botón de grabación MIDI (). Aparecerá la ventana de diálogo Papel. ¡Elija el formato y pulse Ok! El pentagrama importado aparecerá en una nueva ventana de &nted;. Aquí puede corregir algunos errores o cerrarla si la grabación fue muy mala. En vez de pulsar el botón de grabación MIDI () puede pulsar i en el teclado del PC. Si todo es correcto lleve al frente de nuevo la ventana con el acorde o silencio en rojo. Elija: Insertar Importar grabación Las notas del pentagrama importado se copian al pentagrama con el acorde o silencio seleccioando. Después de esto es recomendable cerrar la ventana de importación. Ahora puede continuar importando al mismo pentagrama seleccionando un elemento al final de su pieza. O puede añadir un nuevo pentagrama y grabar un instrumento nuevo. Reproducción Preparar la reproducción Por favor, para escuchar mis ejemplos use la fuente de sonido citada aquí: http://alsa.opensrc.org/8MBGMSFX.SF2 Para mayor información sobre cómo usar el archivo SF2 lea la correspondiente cuestión en FAQ o también sobre la configuración del servidor TiMidity. Para preparar la reproducción elija: Editar Preferencias Configurar MIDI out... Aparecerá un listado con todos los puertos de salida midi. Seleccione uno y pulse OK. Si el puerto no funciona pruebe con otro diferente. Si ninguno funciona vea la correspondiente pregunta en FAQ. Si marca eco midi escuchará la nota al insertarla. Comenzar la reproducción Para reproducir pulse el botón tocar (). Para parar pulse de nuevo el mismo botón. Para reproducir desde un lugar concreto seleccione primero una nota. Para hacerlo asegúrese de que &nted; esté en modo editar (vea Los 3 modos). Luego seleccione una nota (¡no un silencio!) con el botón izquierdo del ratón. ¡Pulse el botón tocar ()! Silenciando Es posible excluir un subconjunto de pentagramas de la reproducción. Para hacerlo elija: Herramientas Silenciar ... Aparecerá la ventana de diálogo de silenciar: &nted; Mainwindow Select the staves to be muted and press OK. To mute some voices of a certain staff refer to Staves. Atajos teclafunción Icomienza/para la grabación con teclado MIDI Nactiva/desactiva el modo insertar/eliminar PActiva/desactiva el modo página RActiva/desactiva botón de silencio en la caja de herramientas KActiva/desactiva la inserción con teclado SuprDelete a note from chord ,inserta ligadura(s) de unión (2º método) Ctrl AAñade un pentagrama Ctrl BAñade un sistema Ctrl Jmaneja barras (vea Personalizando las barras) Ctrl Fvoltea plica Ctrl Roculta silencios Ctrl Udes-oculta silencios cursor arribamueve la nota seleccionada un grado ascendente cursor abajomueve la nota seleccionada un grado descendente cursor izquierdaselecciona la nota o silencio anterior cursor derechaseleccionra la nota o silencio siguiente page upview next page page downview previous page retrocesoelimina la nota seleccionada _Activa/desactiva el botón de ligadura de unión de la caja de herramientas .Activa/desactiva el botón del puntillo de la caja de herramientas #Activa/desactiva el botón de sostenido de la caja de herramientas -Activa/desactiva el botón bemol de la caja de herramientas =Activa/descativa el botón natural de la caja de herramientas 1establece la redonda como duración actual 2establece la blanca como duración actual 4establece la negra como duración actual 5establece la corchea como duración actual 6establece la semicorchea como duración actual 7establece la fusa como duración actual 8establece la semifusa como duración actual Ctrl +amplía Ctrl -reduce Ctrl Ccopia bloque Ctrl Vpega bloque Ctrl Xelimina bloque Ctrl Evacía bloque Ctrl Zdeshace Ctrl Yrehace Ctrl Hinserta una ligadura Ctrl + <núm>crea un grupo artificial (1er método) Ctrl + Alt + <núm>crea un grupo artificial (2º método) Mayús. + CursosArribaincrementa el espaciado del compás Mayús. + CursorAbajodecrementa el espaciado del compás Además si la luz del teclado numérico está apagada: Las teclas del teclado numérico se corresponden con los botones de la caja de herramientas (vea La caja de herramientas). Archivo de configuración &nted; guarda la configuración actual (puerto MIDI, últimos archivos abiertos, comando de impresión) en $HOME/.nted/ntedrc Atención: Pulseaudio Desafortunadamente, el siguiente capítulo sobre El servidor TiMidity no funcionará si tiene una nueva tecnología de sonido llamada pulseaudio. Esto involucra a usuarios de Fedora 11 y Ubuntu 9.10 y posiblemente a otros. Si usa la fuente de sonido citada en http://alsa.opensrc.org/8MBGMSFX.SF2, experimentará algunos efectos no deseados tales como distorsión o una total falta de sonido. Para saber si tiene o no pulseaudio haga: which pulseaudio Si obtiene un camino como respuesta entonces tiene pulseaudio. La única forma de solucionarlo es compilar su propio TiMidity++. Para hacerlo descargue las fuentes más recientes de: http://timidity.sourceforge.net/#download" Extraiga y configure las fuentes: tar -xvjf TiMidity++-x.y.z.tar.bz2 cd TiMidity++-x.y.z ./configure --enable-audio=alsa --enable-server --enable-alsaseq make su (de la contraseña si se la pide) make install exit Ahora tendrá posiblemente 2 timititis: Uno en /usr/bin/timidity dependiente de pulseaudio y el recién compilado independiente de pulseaudio en /usr/local/bin/timidity. ¡Utilice el timidity independiente de pulseaudio! Una buena idea es preparar un comando. Debe como root copiar la fuente de sonido en un lugar específico: cd /usr/share mkdir sfbank chmod 0755 sfbank cd sfbank cp /<algúnlugar>/8mbgmsfx.sf2 . echo 'dir /usr/share/sfbank' >timidity.cfg echo 'soundfont 8mbgmsfx.sf2' >> timidity.cfg chmod 0644 8mbgmsfx.sf2 timidity.cfg cd /usr/bin echo '#!/bin/bash' > alsatimidity.sh echo '' >> alsatimidity.sh echo '/usr/local/bin/timidity -c /usr/share/sfbank/timidity.cfg -iA -B2,8 -Os1l -s 44100' >> alsatimidity.sh chmod 0755 alsatimidity.sh Ahora la llamada alsatimidity.sh debería iniciar timidity en modo servidor. ¡Si persisten los problemas de sonido elimine el paquete pulseaudio de su sistema! El servidor TiMidity Todo lo que se menciona a continuación no funcionará si tiene una tecnología llamada pulseaudio. Esto incumbe a los usuarios de Fedora 11 y Ubuntu 9.10 y posiblemente a otros. Por favor vea el capítulo de Pulseaudio para saber más. Puede utilizar el reproductor y conversor de MIDI a WAVE TiMidity++ ( http://timidity.sourceforge.net) en modo servidor. Este método es interesante para aquellos que no logren hacer funcionar su dispositovo MIDI. Se presupone que TiMidity++ está compilado con (al menos) estas opciones en el paso : Puede comprobar si TiMidity++ se compiló con esas opciones arrancándolo con la opción :          timidity -iA -B2,8 -Os1l -s 44100     Si se muestra: "-A option not compiled in" entonces compílelo "a mano" como se dijo arriba. Puede también intentar cambiar "la orquesta" instalando fuentes de sonido diferentes. Para conseguirlas debe primero echar un vistazo al CDROM de su tarjeta de sonido. Quizás encuentre allí un archivo con extensión .sf2. Pero tenga cuidado: Asegúrese que es un archivo General MIDI. Si no lo es, entonces cargue la fuente mencionada en http://alsa.opensrc.org/8MBGMSFX.SF2. Descárguela y en /usr/share/timidity/timidity.cfg (o /usr/local/share/timidity/timidity.cfg) cambie:      dir <camino_al_directorio_donde_guarde_el_archivo_8MBGMSFX.SF2> y:      soundfont 8MBGMSFX.SF2 ¡Comente todas las demás líneas! Si todo va bien, puede arrancar TiMidity++ con:          timidity -iA -B2,8 -Os1l -s 44100     Seleccione la ventana de diálogo: Configurar Configurar MIDI ... Verá 4 dispositivos MIDI nuevos: Timidity port 0 128:0 Timidity port 1 128:1 Timidity port 2 128:2 Timidity port 3 128:3 ¡Elija uno de ellos y la reproducción funcionará! Consejo: Si la reproducción se interrumpe durante el paso de página entonces arranque TiMidity++ como root. Esto incrementará la prioridad del proceso TiMidity++. Utilice el siguiente comando en este caso:      timidity --realtime-priority=100 -iA -B2,8 -Os1l -s 44100 ¡Esto puede causar problemas al sistema operativo si su CPU es poco potente! Si es así, entonces intente decrementar la prioridad y/o la frecuencia:      timidity --realtime-priority=60 -iA -B2,8 -Os1l -s 22050 A veces ayuda incrementar el número de fragmentos de buffer:          timidity -iA -B8,8 -Os1l -s 22050     Si quiere un sonido diferente eche un vistazo a Página de instalación Hammersound. Página de instalación Hammersound Para mis ejemplos recomiendo la fuente de sonido mencionada en El servidor Timidity. Pero puede probar otras fuentes en http://www.hammersound.net/, por ejemplo la fuente de sonido FluidR3. Para hacerlo busque FluidR3122501.zip en http://www.hammersound.net y descárguelo. Esta fuente está en formato de compresión sfArk. Descargue el descompresor desde http://www.melodymachine.com y desempaquétela:      tar -xvzf sfarkxtc_lx86.tar.gz Luego descomprima el archivo FluidR3122501.zip (Dado que el archivo tiene espacios en blanco en el nombre necesita las comillas):      unzip FluidR3122501.zip      ./sfarkxtc "FluidR3 GM.sfArk" Se recomienda renombrar el archivo FluidR3 GM.SF2 para evitar problemas del intérprete de órdenes de Linux que tengan que ver con los espacios en los nombres:      mv "FluidR3 GM.SF2" FluidR3.sf2 Luego en /usr/share/timidity/timidity.cfg (o /usr/local/share/timidity/timidity.cfg) cambie:      dir <camino_al_directorio_donde_se_encuentra_el_archivo_FluidR3.sf2> y:      soundfont FluidR3.sf2 Arranque TiMidity tal como se mencionó en El servidor TiMidity. Créditos y Licencia &nted; Copyright 2007 Jörg Anders Esta documentación se suministra bajo los términos de la GNU Free Documentation License. Este programa se suministra bajo los términos de la GNU General Public License. Preguntas frecuentemente realizadas (FAQ) ¡No oigo nada! Veo las notas rojas correr pero no hay sonido. ¿Qué pasa? ¡Esto no tiene nada que ver con &nted;! Es un problema de su dispositivo MIDI. ¡Toda aplicación basada en MIDI (por ejemplo kmid (¡¡¡ no kmidi !!!) o pmidi) funcionará mal! Primero que nada: Intente reproducir un MIDI con kmid (no (!!!) kmidi). Al igual que kmid no funciona, &nted; (y cualquier otro software basado en dispositivo MIDI) tampoco lo hará. La razón es: O bien su tarjeta de sonido no tiene sintetizador MIDI hardware o lo tiene pero no está soportado por Linux. Por favor consulte la página del proyecto ALSA para encontrar si el dispositivo MIDI de su tarjeta de sonido está soportado. Antes de hacer una gran cantidad de esfuerzo para emular por software el sintetizador hardware debería buscar un archivo de fuente de sonido en el CD de su tarjeta de sonido. Una fuente de sonido tiene la extensión .sf2 o .SF2. Por favor asegúrese de que es una fuente General MIDI. Si lo es hay una probabilidad alta de que sólo tenga que cargar la fuente de sonido en su tarjeta de sonido. Para hacerlo necesita un programa llamado asfxload. Simplemente escriba: asfxload <fuente_de_sonido>.sf2 Pero incluso si no puede encontrar un archivo de fuente de sonido en su CD, puede probar a descargar uno. Yo recomiendo la fuente mencionada en http://alsa.opensrc.org/8MBGMSFX.SF2. Si asfxload falla su tarjeta no permite cargar una fuente de sonido. Aún hay una última oportunidad, que no estén cargados todos los módulos necesarios. Por tanto como último intento pruebe a escribir como root: modprobe snd_seq_midi y repita el comando asfxload. Si asfxload falla de nuevo tendrá que emular por software el sintetizador MIDI hardware. Esto funciona si su ordenador rinde lo suficiente. Windows por ejemplo arranca un sintetizador suave automáticamente si la síntesis hardware no funciona. ¡Por tanto, no se confunda si puede reproducir archivos MIDI en Windows! Esa emulación software existe para Linux también. Pero es más complicada porque: Debe arrancar este software "a mano". Esos sintetizadores por software MIDI necesitan las llamadas fuentes de sonido, una colección de tonos ejemplo de cada instrumento de una orquesta virtual. Esas fuentes tienen copyright, o sea, realmente nada para un sistema libre como Linux. Pero hay un camino (relativamente recio). Vea las detalladas instrucciones en El servidor TiMidity. ¡Observe! Hay más sintetizadores por software para Linux, que pueden probarse. Entre ellos FluidSynth. Vea una lista en http://www.linux-sound.org. ¡Debe evitar la síntesis software si el rendimiento de su ordenador es demasiado bajo! El procedimiento de antialiasing (suavizado de signos) de &nted; consume una gran cantidad de recursos, y la síntesis software también. Como resultado la reproducción puede ser poco uniforme especialmente durante el paso de página. Uso Timidity pero el sonido está distorsionado y a veces no hay sonido en absoluto. ¿Cuál es el problema? Compruebe si tiene un comando pulseaudio: which pulseaudio Si obtiene el camino de pulseaudio entonces siga las instrucciones del capítulo pulseaudio. Al arrancar el programa sale: "Error in FT_Open_Face" ¿Cuál es el problema? ¡No ha instalado el programa! Por favor escriba (como root): make install Consulte también el archivo INSTALL contenido en el archivo nted-x.y.z.tgz. I use asfxload but I get an error "sfxload: no memory left" and some instruments are missing during replay. What's wrong? Don't believe the many rumours on different mailing lists! I have bad news for you: You have to build a new kernel. Terrible, I know! If you feel unable to do this then try to use the TiMidity server. Otherwise download the kernel and change in arch/x86/include/asm/dma.h: #define MAX_DMA32_PFN ((4UL * 1024 * 1024 * 1024) >> PAGE_SHIFT) against: #define MAX_DMA32_PFN ((2UL * 1024 * 1024 * 1024) >> PAGE_SHIFT) Then build the kernel! Refer to https://lists.ubuntu.com/archives/universe-bugs/2009-March/068812.html for more details! No puedo instalar &nted; porque no tengo privilegios root. ¿Qué debo hacer? Puede usar la opción para instalar &nted; en un directorio arbitrario bajo su directorio $HOME. Por favor consulte también el archivo INSTALL contenido en el archivo nted-x.y.z.tgz. Además, si quiere evitar el comando make install entonces establezca la variable de entorno NTED_FONT_DIR al directorio donde esté situado nted/ntedfont.pfa. Por ejemplo, suponiendo que ntedfont.pfa esté en /home/smith/datafiles/nted/ntedfont.pfa escriba en la línea de comando: export NTED_FONT_DIR=/home/smith/datafiles si tiene un intérprete de comando bash o sh. Si está usando csh o tcsh escriba: setenv NTED_FONT_DIR /home/smith/datafiles Para saber su intérprete de comandos escriba: echo $SHELL en la línea de comandos. ¿Podría poner las letras como bloques de texto bajo la partitura? ¿Cómo puedo usar la partitura en textos comunes? Esto requeriría escribir un editor musical y ¡un editor de textos! ¡Es demasiado complejo! Pero eche un vistazo en: http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/use_nted_in_text.xhtml There you can find some proposals about that topic. Durante el arranque del programa sale: "No se puede abrir el secuenciador MIDI ALSA --> reproducir no funcionará :-(( ..." ¿Qué significa esto? Eso significa que o no tiene el sistema de sonido ALSA o lo tiene pero por razones complejas su secuenciador midi ALSA no está inicializado. En muchos casos esto es por la falta de un módulo. Por tanto pruebe (como root): modprobe snd-seq-midi y reinicie &nted; Durante el paso make ocurre un error: /bin/sh: gdk-pixbuf-csource: command not found. ¿Qué pasa? Esto tiene que ver con la variable de entorno PATH. Muchos Linuxes sitúan el programa gdk-pixbuf-csource en /opt/gnome/bin. Realmente debería estar en su PATH. Pero bajo ciertas circunstancias este no es el caso. Entonces asegúrese de que /opt/gnome/bin esté en su PATH. Si tiene un intérprete de comandos (t)csh escriba: setenv PATH "$PATH:/opt/gnome/bin" Si tiene otro tipo de intérprete de comandos: export PATH=$PATH:/opt/gnome/bin Para determinar su tipo de intérprete de comandos: echo $SHELL Durante el paso configure sale un error: "configure: error: C++ compiler cannot create executables, See `config.log' for more details.". ¿Qué pasa? Bien, puede examinar el archivo config.log. Pero esto probablemente sea innecesario, porque en la mayoría de los casos significa que no tiene instalado un compilador de C++.
nted-1.10.18/doc/Makefile.am0000775001041000007640000000231211520267216012340 00000000000000######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### if MAKE_DOCS SUBDIRS = templates docimages en de it es fr endif nted-1.10.18/doc/docimages/0000775001041000007640000000000011520270236012312 500000000000000nted-1.10.18/doc/docimages/drum_config_dialog.png0000664001041000007640000026760411520267216016576 00000000000000‰PNG  IHDRذþ…øsRGB®Îé pHYs&&¢ï%ütIMEÙ &9ìÓ—rtEXtCommentCreated with GIMPW IDATxÚì]w|ÕÚ>gfvfû&¤÷„t¤7Q¤¨TûÅ*¢"6W±w¯]QAbl÷Z@¤…Þ[IHBúÖ)ç|ÌÎ왲›èEäú1?~÷ÆÝ™Sß÷yŸ·¸zõêƒú|Þñãï@‰¢Î^gäÀÊÿ¶þõÂfŸ@$>ÃXóŸgF¯ Á¿¾1bŒ!„õ3dôt­ÂãDÿO\rÓ•Nézô—· ÆB”¶á¿¶mºμ™Õ‰Ü aõçÉɳ×鿆ÁoܰaëÖ­ÉÉILyyùСCããã«Nœ8‹BZ)é#+cRDšÊÒÈWškV³[LoT¿jU#!„ªXÄBhr/EQ„è ÿLþ[QPiÆX}ËbWi§þáòo€J—e1͆1Æ8ØS`ò­€S[!ÄŠ’ê'C¹#Äj:¢}Qä+m—ÃFˆWò+ m€úp¨ÂA¬ÑQ—º LE4À1¦ r êš5ƒ„5Lsj:®Ü¢vHB7lÔåJ‹Q´mýõ!yœ£éfãëäI'U]¤ƒÊ\›t\¾×0&òÿÉÿ‰ÍÚ ~¹En‰Ú²mE®3¢)i³±ÁÑ¿ÒÜn˜& ˆãrÛi£—Ê'@ذÈ1„!röãD|» Æ4ÝXµ$±ïŠõcŒîu­käÙKÆ"ݺuËÍÍ]°p\¿~}§Nª«ªH‰sªìò™’$QE._xÆ›h¤8FEƒÆŽè¤Pd™Bd¡»PeTêÑ€HÔ}E42š5 ) jíNùpgeibÚ©˜¢®`ªwu„Š…Ê=šŽ“Ê@Á[ªªÓ¡=8P4Š9²Ñ5MFí¤‡Õ<Ñe¬}¾Ú l - ñ4L>¨šÝyL;#FQÕª'× 0rcѾ%€…)û¢ß,J77B™zˆ1ä­Gîí êp‘ OX>Ôÿ”¿R'H2ªÐ¢g=zê1qvˆÖb¬Z¦-"p´Ø7²ýµ‘‹xµ<Hn­ ­´;Tž ëf “¤šÙ’Pçê`œ¡S!Š¢LV „!lÆê©>2•f¨Âˆ˜‚6£t5>¢d+ö‚×FløÒe§p#„hš&Ñ|쇷#„d3“„†¶®ü]W?OMK]³f ôûýÍMM¢(ê~'÷D7ˆ8ÊÜD“\Eñ|( ƒ¯×kwØmVÇqg==£sê¸abd !4lNÝ®ˆ )¢íSx.ëNSÌCO£2&û¢}–î7¤z†¦3:¥aò ÔërEj@£RQ¹qœIåmXŽ&¢Ó ìa+(là64ÑŽ¹öéúÁŒ`ÃTBxiï’Ç!¬ÚM©G‡Äè‘è_cd› kJ±é¡±#Ú…´"ÕÈsÜ Ih”«Ç®Î/2eûTÈHhDFP… IH%¤Ò ŠÙjäcH€¢ë‰BHÈ‹•ùºuB4l|£Ä(d&°VGb-55ÔÎQˆK䘣k;¨. ÓèÌ#ä"ç:2¤f+ GG®¦¢ä'Œr ¶´§( ‘dXÅ(‡#P‰ÏŒ®#²¡î÷ûyžüÁ`ÐétrœÕf³ÉŽŒhS½ìóùy>äõú ‡ƒe9›ÝNé é?AKš6ÞÊY­11¦&!!á8®NŒsér»UgTT‚Ñ™ …B|(¤+r³÷íÛ{ìØÑúúú`0Ȳ¬ÇíNKÏ(..IJJ‚æèœBFÇø V­‡èK-v¿bðÛ:𩨨O#ùm`€‰*íþBŠÅD4œ¨ ‰ µ ñ퓆1Šðû’ªQã@1彉ÏUAí‡*.$š „Tù¤gAg© LïƒPÉ-«B£öÕÁaS¦A%öé{’•‚r e¦þ#%@‰~E3=m×èÍe=h‘w˜Qcöt¨8h"‡y~£jhµå8†è$æZÏo©fºŠIÝL!ÍèV“„ºÇã$DÐnZ¬}”Nƒj¤¶N&ªÊX–&ª×>ªÎ#Â##K·Èt@UÚP‹E`4,BzaÚ´Ï éT"…”ü:b@"(Š ÔÁR!>4||CN‘{P\~Q—‡‘K3Z'F+Çhùý.ÿ·Î#²A7ŒZâÇÈ?A•kÑ-3­ k¹zêbb4ÐÙ U2LUœ†Ý ¢NÃù©DU"‡¤E±…ËhÉ3ra¢ýšUªÂVU›Ñ!š•c”²D/CZ/·Í§£% Óc@%S© ´ãÐã02™¬“íº¿5ˆMû9)ÏcK]Y%8°oùò••ÉÉÉÙÙ9yyùv»½¹©i÷î]ÍÞf—Ûír¹LMw‹Åâõz·nÝòóÏ«@FFFÛ¼¶ié‹¥êĉ»vB zÜn›ÍþgXþ4͈¢¸ÿÞ+–Ÿ¨¬LNIÉÊÊÉËkk·;š›wíÞåõzÝ.—Ëå6¾]L›ÍÆÄF:B¯×{èÐ!Š¢œ@ãd‘j@;ncÊ”BPñŠ ¬(0}t)…eI­uÿG Ѭ”Öc”­±cªä˜ý·Êm¦‹Eÿ=ÐvÐè… Ã 9Ô@ëé‹~N.î0ÎÒŦ¿R!©‰µ$oMø‚›©Ò6‘ÿ$FÞ|a7j`±#T‚£££ãÕ4:ÄÔ­aUµ\4ó@A] i”¸%ò™:Œ–d. 1Æfø>†Õp¨-‘.:™¯‡ß¥çeiOQÔÁC–.]š™™=tè°¸¸8Žã†áy> ;vì§•Ëù ?`Ð ÛM*AŒ1MÓ£²² ë×oèÞ½G§s;ÙìvYMó<ï÷ûöìÙ³zÍ/|HèsÞy†ù½:´‡î_ºtinn^ß¾}].7Ã0  ‘£G\¾4 ¨oß–-›Nçðá—.ZðÙýû:wéíiæ@„a˜~øá矾âŠ+jjjÖ­[wìØ±Aƒmß¾]Æã­[·fdd$%%yÜ8u:hš®G½K‡×B¡`]]ÝÈ‘×Ð4}äHùúõ몪NôîÝGF‚*]L úÃ6 Á£Èî'}÷)#©ëN T¡sf“ܲ)lx´I%zt"ÿEmê‘Û×I ¡‹hܽf&™øªŠW ‹»]wBˆPç˜È‘ óvZ¾GUÛHú@†|#â‘1!‘Ô*Ý^ òuIx¢³+Tµ?ИDºœ)£äÕ¥=Ò-ºd™h"΄‰”¦]N¦{$Æ]:`–Táè-Œa.BF{öî‘D©S§Î6»]’ňvL’“’zôê½mÛöœœÜ¤¤d5´€¦é`(¸~ÆŒŒ¬:b$„jjj~]÷«…¦ûœ××ívcrsrJÚ·/++KII±Ùì§Š‘¿{ÏnIÂ]»vß°a}÷î=¶lÙ†òòò6mÞ”šœZ[Wk·Ùzöê³mÛ¶œœ²ñ-¡ÏçKJJêÒ¥K}}ý’%K:tèpóÍ7«lıcÇÞÿý)S¦456677«ª—¦éºÚ:A;´?Gày…nÅr €¼œÜÛ·54Ô›*Q†a¶mÛv²¶¶g¯^iié㜜\ ä:xpç®>ŸÏj³•–”—Ð4½iÓÆÍ›7«ÎÇÓ«w$‰+Wþäp8Ö¬Y½fÍjù ÃÜp TUWmذ¡©± ŒÂÝtÓÍZ~ÊÇf³—¼°k÷®´Ô´Òví–.ýáСC4MSÅ0Ì¥—^6gÎG:t¸à‚~¯¿þª¢¢âæ›ÇJ’4kÖL–åä}å°Û)Šòûý Ãôîs^vVχvïÞ½wï>Aà=qq¥¥írsrbQßÚ/tæ~z„°6— ¡!”×ò—´e!bß( Æ”Öcô_`½!•'Tßp„üPI2VÍ:!„‚ì'мQYyXÍ=Á@HiU#ÆAŠ8DTp€qf‘i> ÕVÉd§6S£´B_þ‘i&ò½ >€¤ù ÐfˆD&ÔÞÜ©C“ÝŒ±6—ü@[²V P&ç¢ÇTé¸M¤'Y|‚КȘ.¤êi ´„.t4BªËSIäµj¸5SF‹Ø°â܉ø³´d¤‰×„Y*ó¤åùUà´øRU)7#r0‰„m¡D†«¹Ç„ªÔ!WMªŽ ´Q´H§•I@ár4(Dõm"»U„A!Zj$²Ù‰­çV +}å’ÖDÔac&™ß0ª#;z¼]4Ò:Æ“[&­!Dª8^‘““—˜pèÐÁÝ»wggeµk×PßP¿mÛ6›ÍÖ±CÇž=zn.ÛØØÔDš÷4M777=räÿ¸F¶l›ššvíÞunÇsƒÿ¶m[;wê,»iºwëöõ×_ƒA§Óõ»¼ -6þøoÇóòò\Ng^nî–Íe=º÷øuýº#Gäåæa€ ÍtïÞ½¬lC“¶ñ­uÍ”——¯]»ö—_~Y±bÅ„ ~ýõWAd”ðÑGùýþåË—WWW{Üî„„„ÈdP”×Ûìr9­6+Ïóò`íß ¼¼<33³¤´I@ašã¬Ʀ茢¨êª¢(f¤eSNÓôáÇ׭_WXXؽ{-›7oܸ‘¡™Òvídy’Ó§OŸººº%Ko\¿î²+®ìßÀ’%K† šŸŸOÓô¬YÊ;ÊÛܼiãF†¦ÖçW¹µ1®ôÌÌM›6ÖÖÕª–AQaQ÷ž=-K]m­Z%EŽÕ•³¨Rqqqç×÷ÀýÛ¶mëÖ½{A~Á×_µaýº¶mÛž8qbãÆÅÅÅ={öaóæ²ÜœÓ¢R@›ncšzÿ«ò  õh|$ 8½ˆ'·¨œº¬uÜêœH!™[@²Þ‘Nšh;ŒxaRˆLçæ×Ò‘Â× Ó@Hj JK–`­Ÿ%’ôH*?‚ËE²OD5Xe¡Ê m‘’ø¥¼iĨ*£2‘Lâ•uá©„.ÔE{¨éidÄ &£/‰$Ò7¡!:¢£^LÄ{™3d$±”‘Õ,äßz5IªÄ“‚ ±Yˆ¢ÎÏ#{AT4Ѳ½«¢ªªÊUÁy¤sG(¹a*˜@d<¬Låʽä.kMu’ßBDø™O†ƒDp.£M5?T2I­}gjxh1„ m59ð„Ä!cÅEÝšÁ”H\”aaÝÖ6K}Š™¨«hÒJü̪¥)a¬uƒ+Ðv´&%B”DQ<7ca8н{÷ýû÷mÞº9;+{÷žÝYYY'Ožlò69œ›Ý!i*Ó4íõzY–õxÜ¢$ú|¾í;¶§$§ð|Èj³¹]®²-eÎíIJ,EQ,gåá&† ¢(I¢ÛíFµÍÏò¡µëíÚµ[íÉ“Âc¿ýÖ¡C–cÀV›]E]XDãG{B(===33sï޽ÇollLLLlß¾}‡JKKŸ}öÙN:uîܹcÇŽÉ))Ƨ[­6¤\ãÊŠÊ‚‚‚ÊŠJ€€ü¡$J6›•¡i„ÌÑ™$!Œ1catåĉ` °°!TT\,±ߎÉZ_¥¢¢"š¦SRS``,Š@’DAH¨«««ÓÓÓG^^žÅbiqІFK’”m¥íÚŒAPõ¹é½V«5==ÝbaBi©iqqqBžç1ÆMsVÎï÷—)÷z›{ö쥋è„fÅ*@”Æ*Ñ µ—j/b"´…´YIÓkSÉyÜÑeCÒ–…¯6*Pö “ª:k ¯ûDÈ—DÖTÚ‘jÁ…ÖVݘ´˜Šu¦¶6à@[ ‹é‹ ‘ ìRŸ†eÕV8öH,$ù•a"Û è ,»HÔW" +!넪ÚWÕ‚D!Kc0&ö„k3Ò¢>¦ÆË©¨½ˆÇÄøOC’fИÂÄ¿ÈÊS—¥:§Úð#M¤*¹bÕaÔîHŒ˜Üky$±ªu”âmѥ˟#žmž°fî/’.|GE´˜€ŒúHpeABÝ,(?@*v—W¯š&FŒ$œ€€QŠ¡î,h$®H°«s¹ªèAuâU¯ôè±5ѯd …v ´«NŽ‘¾øh`Â4-FT“…è<ݱRÆ ˆêù;0 ca†ç…’¢âíÛ· ¼°eëÖôÔ´`0ȲœÃæEÑåtÊä½NSÛlvŒ$J;wîLˆO iúØoÇ8àñxvÇöÛåAs:òr>…)3#¹ñ!žç³2³x^¨©®öx<•••mâãì6›(Š¢(º].y[þŽyLëêê6oÞ\^^n³ÙÖ¯_ÿÃ?Œ3¦¸¸Xþ6//OÎÅuØí‡#‚ Œ‹‹Û»gO( oV„KKK=Ò¾}{^à•Ì@ŠñO<ÇY\ ÆØátPÕØÔ”˜@ª+„$ aÐ4­›˜p57Â’‹k£{¥(ª5ƒÞÔØd±XìvˆÄPd„£â™5ñª¯Pÿ…‘ÇãéÙ³×Ñ#GvïÜÕìmÎËÍíÙ«wËá´„Ï´¢ôi§†¡=‘¿  ËWw¡îù$S‚I·…Áßµ–¥1YÜ€q¦á®/®æ¹¨o"ÊD—pKâ›0YBdñè¢14ÒJñ˜h’ƒ¢Õ‹$œD€à·±®(a—Cm1I)‹æ° 5/”Ð"0š#q²Úq:“,?-ò4Æa­O||}C’(Šc§ÃÕJe×êÆÛäÆK¢äóûvíÚ••Ü»wozjÚ‰ªGʤ§§Ë†·Ëé¦i‹ ˆ¿ƒ‘ÓF\.Wvv¶Ûí7n\|||SS“Ãáp:>ŸoÕªU<Ï»Ýn–e5LB ‰‰4ÃÔ××aŒ$IDÁérvìÐÁíq‹¢('Áz}^HQqqqQè)?¿Àjµîؾ= 1ŒÅëõÖÔÔ<ž8‹ÅRYYIÓôñŠãE'$$F#|b÷...®®¾^„êêšhn3%‰—®¯«Û±c{|||vv–úcRNP4 …B'Ož …‚­Ì2xÞét8°ÿ€v»}ß-œƒ@¦f–Y}[‚„ ƒ7³\Õú¤þÖH" ©±µ¯#üz¡lDW¤1DìBÕ#ت Cµ#½þáÚ!Ú6Èw!]4†ªKTB{†Pª’ëg|8é;'¸ ¨0‘n*¶;$H{¬µ#óB2Õbõ÷jŒ'Á÷èJzC…}ÁZ²“D…q^ Ö¹žö0û§ãHHþÃÔ%¯_{井 ¡ªU>#ÌI ¤g\Èj`ÆŒ_u©¨Ñ {)?OP>‘©$©ò*ƘŒàÁd®8Ie‘ @çL‘½3ê‚'A!<«ö+ðHãxÕ†¬b‚ 5ÆU`³P }8ˆŽMÔºÛôûWí—!¬ * ’¢É„QÓ-³ªÈtË€–X¢ÁrjbN ðý¿?ˆ!Ä0LBB¢Ïï †¡P0-55;'gçžÝUUUMùùù‹E’Ɔ§Ãáq»I‚(‰n—;>>¾¦¦ \XX.ÈÏgY‹ÃéÈ/(@’T\T$ŠBSS“Çg³Ùþ€®ŒÑx‹ÒxAvíÚÕ¦MàØñcv»½²ª2¾M›ªêÍÞæ††§Ãéö¸£9@ƒp€*`¦mÛ¶™™™yyy•••’$º\.á’%KAÁívó<‰†P„ä䔜ܜí;·÷îÕ! 0F’D¢ š¦ËËË{zz:"oG%''÷èÑcÏž=?ÿ¼Ša!ħ¦¥¦¥¥åµmÛÔÔ¸gÏîãÇóz½……EEEr‰( /!9¢!) IR˜# …BòAo.—«Ã9víÞõãËä´Ƶ.ŠBhÕª• È‚h·ÛKKÛyââ0Æ¢(†B!¿sW\T|üxÅâ%‹~CCƒúÀP($Š„P’Dµ…<ÏSD;vlÿþýÏK’Ô¾ý9æ5û”š€š\5]Ü¢¶°´>@L[5áP›8 1aµ±âd,ž†ù05;´GÇam…S]´ x‘(B"ÐRϲˆì‚Nv¨yŒ*a Í{„Ò› K„ $sUß1)H !ƒ3 ã©æ¦'ã`Òð2ä#@’21ò ÆP­Ô„˜–ÇU…½¦³ZÅ#½Ë˜*…µì7‰ƒužHØàì„d2©ùÈ\V5{–d#´¥€H"JLj@¡ª\Íã€Dæ4ä…éùE­›C®ƒµY`*4Á¯µ›E¿zñ ’ ®;ÖŠÔú@wV€.bÃŒãÑkt³puÓe²€¬iG,viê}1Æï«ÒÒ:ŠÉسÀÿ$´.¨hO=ü®™H&v»ví—ü°¸ªª*=-]’¤ÄÄDŒ1Ïóñqq¬Å"Š"CÓ[¶l.)-u{<‚ ¨=ÁátöìÕû§ËSRÒâBÈÂZÜn…aZíŸÃÆã·ÑâXÉ8P¨Å1À —DÝ«†ÃäÌcMyÑyyÈʘPdZ¿á´9h¨ü±#ÉBX$ÍN–´"KYœ)šó>ÿ0œŸ5åÏP:]¬OtáeZ˜FbF*6D-hœMÑ*ó¶xXk+€H4îÝÔGzô}‰Ò»e¶Mº@84uedU7%2Æ+9Ól4L×ÑÔ¿1f„iJº,¬´ÀDä©Îµ‡µõÇtÝ!ÓŒÕRoºß§$C>[åž3;ZÙèa1)–HB¢(î˜hBLÇgü.1MûÒ9€ÈHáVzZᘦ»Ã¾cûöM›6véÜ5.΃ˆðg!¤àŽ;†íÓ§MQd¥vŒ1Ërœ•[¶tieEÅùçŸOÓt͇‚aiã¦MYY9]ºtÈžý/}J‘Æoß¾­lSYÇŽ- k±X­V¹ÂX `,Ìû-¬ÕÐø锜¬"j F¸MbR(’$iÑ¢E)))ÕÕÕƒ ’„1…B‹…¦é`  È:™EÛìöÊÊÊË—1 Û¾ý9N§CžË@Àw¸¼¼¡¡ñü¾¤¦¦ò|Háj ¡NŒQÁamý'HœQ ÏOPÑÖT?#Š¢ª««ƒÁ`Û¶m.ÿå—U©iiý/ì¯K7 b°ÎQKf`²´ƒl+9d¼•.1R×HA•ÁÚ‚Ñhªæ£O䇯Â÷“©*›L )áªH†€"( ` ‰`½ÈëNG£Zà ý¡³Ši $­aÕžÖ>J}VïÕH%ÜÈoÓœ,ªöhRO±š8~³ÜSL–45ZÑ Œb("h¦€ö°dóÇb#‚ÔÄcà¸É`…ÐZ[>(A?¤1•JLˆ‚¶: †Í µ¼Y(L'MÔœjSS›=62ŠÊl¾”¬uY?áE©,yÕ“Ö³f£i8y Ë“ ƃéÆÊ‚×F-È}¢ ¥9$Ló§vzÕ¢9‡iÏDʘ²( · ”@=F@Íêùb€µÑmQª¨´ZËÙ1º RËÊo6Ò—¤¸3Ïð„b¢œOT›ðw¨ñHšÇqŒÅ²k×Ε?­(,*ÎÍÍã,,€cÔÔÜ´}ûö””Ôn]»;Î`0 µ,0ÆÀát ¼°nýÚm[¶véÖ=5%U^%±¶öä–-[ºuëѾ];Š¢Mm¢pÿÛÆïܹr劢âÒÜÜ\–a„DãÓºwëæph¯¾"UD.™KÃéÂúúú»ï¾;;;»cÇŽyyy½{÷6ú/š›šš_ÆÐ ãr¹x>´qãÆ-[6‡‚‡Óì6[»öçtéÒ…ã¬~ŸOEU{žæÃï „ÍÍÍ[·m;þÛo4M§§§wíÚUïÒÒL˜q ˜XÔ„QŽÔhq£\…š#Í€9¶0®#`X×Ï^2"Œ1„Æ(ï £®ÄÚgaÉE‘ºM#°P¤–Z¨@@åkNÑ𻪸 ŸÊUÉ®Ô{ ‹l b€ Â =£  Gd1¢<“ÒøÞ• y|(Mé3¨±Õú€VHÀ³¦„d$ÉÁCP™&íçÊ©%zÖÚôÜÂ뤋a’ÚŒ('u™ä©Uá—ê³v ¥c² Vc¤M d·“Çe3Z_:BP…žD±¢0LŽøŽ4Gö@A¢º‰ €ÐW¾hšMxfôñ›aµ­@[@’ÛTƒ $ލ‹ÉÎ+Y2D`lØæÑ â(F*²‰Ýaêí§“eÙ£G¬Zµ²êD%gµ„²²³úô铜œ †‚€’èƒ[W]üw7~åÊ•‡ ŸÐ½G÷‚“Æ«oG%%§„„¥0Fiééòo÷ïß?uêÔÁƒ6 iËò„HSSsS„”®î-EQ§“ãX$¡`(èóù;ÇYåZ¿Ï§­ÑKáýI—¦²*õ{çkM¨]©²ŽWle«¨Y¡khÆçG‰]Uð E`GBGuhv»Òñ°l”·½Z3ÂCi›^©”¥‡ÂR`yxÂÔ–cäA䨴0¥ ûõ¯H""SRò“‡ñ)f§‰†…z.]픬§†´ù&h¨Wf,ƒuþ¹ÓÊäX¥¬¾œ.Y‚UWSUW~WS%@"%S5•BjW'[ܤjUOí]Úóù´íÀäd]ÅψVÀj¦”¥©˜CW´Ð Œ2¼Xw2ÂáU­Øý˜T†PÁ¼XG`} ¶YÌ.dAt<ɩ뜄 Șùn-&ËsD…%F¸Ù˜Hõ {rH^Yðp˜ŸÓŒ0–%?¹‚ˆpí›Bf¼éÎt7)È Ô;Ì´' · ©áŽÈVa=MTu†@Iù–Ñ9Ʋ)õ_GW˜´c†a\n7EA$!ÀÏó‚Ãámc¿Ï'‡$ê@y;ÇqN— ,‚Ïç£(Ên·Ó4ƒ1ö67k:§Æì'ßnaçïi<ž¤‘ꪪˆSÖ«Š9(Šâ8N„h§ÄéÍe-OÀ0ŒÕjµ°¬ü1/@@¨?lüï_¦ì{´}ÈZµðÈêÚÚÒ:”©½hf®2m4›Î°Ö7ƒ¬bvB•.š’¡²¡©Í¯‰T¥Hýµì‡L´èSæ´öºî”:]ä£ê‚ÁÞØà_Ð:ô1ÆÂ-²Ü×Ö·0ýÎEbò(ò°:³×)|eÊ–Eb-!…µVpØmtuIÔºÀ€5¶¾ªÅ±¢ M$nE”ˆÞAԆ׀±ä†.ÜGË6 G÷:èJÃ:1¢[À†úx¦5Ô®p-áªÐ„d¢¬T˜¢@t'=¶a21O2 1•d¨/0†-cr’%’^¥ú<[Ê0'¬àg´ÖtÒ•Ä%Q¦ë„yk¢¡~1¯Çrœ•£FŽì †BÁ`ÐXÂß%wÜjµ²GÓ4ÀX’¤@0ȇBfa¿àOi<Çq\k¯ü’S rjs‹öº.êžf7ÌiÀ -åq™Ç$¶Š©ëš Î@ÚÓòbûÎ!®Ó8;ÆŒy`Ì=ÑæãÈ8•"ŽûRc65e? ùºxc€ \ôk¨0«K–ÑE’g¯C]´#‰$´ûÃÈêêCM Et‡¨Õª±l$2‘¢tŠôÖSºƒNHÓXcÛ:%“º :3 èkqóšÒ&¦Lº14;MÕ˜Fdb”†"Ú©Š&ádí­¦Ô65dœi"f´GЗ4ÖðÀ†³šÍIÔ}º   1!Ï"6ÀþÌû€á´jÝ8-ªÐgjA‘N™Ê-„ͬøiX†éQ£1вëN1==¶0ÇÿMELiôû´æEØ,¹õ·ÿUG%§¤08Ö¦•q1Ôðßé2í©ê>Ðéb3kGcèë«xáh€Fc¼ŠÔÊÇð° z¯ªJºè­15ÜTýú,]f YÇü/M)µ0õª ¥Øaß’F)ÕNœ6G€%&ƒ·ªq ªifÆF˜«Øˆû]'õ"DȘ[ rÒXTaR; j:Q¤ªMÕz• ¶=j•Ö†—…hIÆLâ«CÃPSBWÃm´Öo9¤ÙÌ{IÄOh3F!ÐDFÉÊ/â2†÷­Ö‘AV©ƒ?¢îW¤“DVÔyÇ”‘Ç‘èD5ÅÊL ©=U#²ôÛLI6€XÇ“©{X·Š I]  È¢ûı|áÃqÈãp#ËKkè:ÚÄ™dQ9$—eTɉ€&Ô*sHœJlh º¯vMãPÖÆÛhùdF°b¦‘ Ж_Ó1%0ZrÙŸ GþØ“ÿrmû¯*/†à¬$IÀß0œ^G 4˜~˜¤ò¡ÂW+±Ê¤zÁdÈ=Ô'#y¯þXgŠè4eDF‘mÆú ¢7jøg¨½ƒôÉ5”€’?yW˜zÅd´„ZšFÿ@óù‰MRÓ±®ý€"¦Þ4mÌŸQª™ð²P7dÚaQl_U¸*šQM£!™dì(´Þ ‘èKã‚ê* —¢F×aRGçž[ÉèšÈ"¬[¥@÷v‰´PU:9¶PÛ/E=]k˜È\2ë‰qL“dˆœÍȪ'"ˆY·Ê±‰3 F_>Ød›©,ú°a‘BlXðŠÕa¶StÇßh% Q"KšˆêЉ/µ ò¥Fˆi|qºaÑíBÎhã…MlIÊi&T&­’«ºk&«`úìõßëGš±PT¸øC0$ÏþöÔÅ_ê¾Ai‚®¢9qt9™pòdíÿƒi2Z0 V:MM3N§£¡¡áï:þc'Îïó‰’xj›PWWw†uØív°ßø»Ìg´À Ã8Žæf¯J°,Ki™l) ’$ ‚ð'¹ïÏ^ÿ_µ!æ(Š¢h #¢ÚÇFÏ˲v»-‚AºÆÅÅýeñŸt!„2oþÇÏñǘå¬cÇÞ?€a,«Vþäõ6·xcûs:¶kß¡ödõiÆ"§V× „âââšššÎв3ðbbK^Q¿ùö»)>yû¸[2¹±±‰ã¸N]z¬ùy… Šg‡ïwm+޳675477Â?ÄñÑ4½~ÝêÍ›·Ž;¬bɳ×é¹$$-úlþáò£€ã¿•Sðïf Ò4]]UñÃ’Å'Nª®:.ž¢ ÎX˜ý{v®ýuÕf/?´žã)èó6ÿû«Eýinj¨«­ù{3ï’$~¾`þ¡C‡išQ¬ª:1QÕ<M••m~é_/}õåçµ'«Os›].g—n½V®XzJŽG‰‹óôëÑgŸÌµÛíg¥ÙÿÔÕÕ-\øùÇóf÷îÝóÊ«¯½eì˜Á_TQQ ÎÒ!PH¢Àÿ1‘‡1ãmn’mJAàÏ‘Ó?w~Ÿ7<þᣂþf„ã÷û0’ ¢(ÈÇUœ’«f7YÌà/g‚Áχ(Š:¥=C/Qü~/­e¤ n·çÀ¾Ñ³(ß~½€ÄS2k2ÅÎ0L+—„TEEÅ©Z0EUVžÀ‹Bÿï€H(Ä×ÖÖõîݳ±±iö‡Ó% I‘«J·ÎÀÿƒ™S`Ax†<äìõÿÿÇøŸ¢>Â3sݳ*,·åÃõIÊB„‘„¤Ø ®iF‰©.€ž8QuõÈëvl+khh0/bH lñÉ8zÙuÝçgEæÿ$Áÿvü¸?8räÃЂ :v‡Ã¡®*I’êþ˲ m†9 7ÿ:i‚åãŽN›<¥(êt¾îb dË2Ê9ÿ“×>Ë­lƘ¦(¤-.r†Q[ìO_Nê°ð_mmÆØétx<yLtwɘ£¹ÙÛÔÜ„$dµZä.‚PWWÇóòIìgõÓÿ áyáÞI655]yõ5“îðÅ_Ý2vÌðáCäoBee›ßywZUõI+ÇÝ}×ø~ý.`˜³þ‚¿ÌxݰaSÝ"G/þ™—$I[·nëÒ¥óéyÝÿŠÎ®¨¬Ägf¤£¿$Eq×®Ý;w’ý™†H0Æ7nêÞ½å5Ï0ÌŽ;sr²ÿ›øhÒ4­ó,`Œ7n,ëÞ½«¬Î‰ÓM£>‡eYžçcÿŒ¢¨“'k›››Û¶Í;%A- @ øËš_S’“Ú·+¥¨ÖN´ÓéÇ=‚¡`ðxE%Çq÷Oš8p`ŸÏ÷Å—_/Xðy0LhÓæ±G.(È¿g¤ºúú«®¾vÔ¨k'ÜsguõÉ·§¾»nýFžç òó§<2955…ì,ÃÐïMûà—Õ«›ššKJŠï»wBQQaCCÃ[o¿»~C䮌Œôƒ}º`áúõ½ÍÍnû±)œ{nžç—.ûñýé3AèÚµsccãY1u† OÝ¢hš¢hЦY–ùañòòrËí½e슢†QCéëë>œ5gÌM7nݼî¹gŸœ;ÿㆆz„Pøöÿ÷ÿhš> âC½hš¾æºÑ*_õg_>Ÿäµ£Ýn×éyÍf=ó»Ç.XðùÜysVî÷j8–eiš>ÓúØØÔtýè1ñññÛ¶mß¶m;Ã0gÚ˜¼v´Ëélñg.—sâ½:\þß)áÉ“'¿ÿ~ DZºéyí(Û}èÐáÕ«×Z,–ØÏaYvîÜùrK¬Ö¨ ›aèå+~zý·ìvÛŸ¡!Ïó7mÙ·ïàºõ›ÊFkÆ8,åhZ&lìvð•—_úyåwŒ÷̳Ï;Î-[·­X±òÙgŸüeÕòû¿ðÒ+‹eù‹32ÒËí¹ëÎñá™ÎEé«/¬þyy‡í_ã-›Í¦}p¹\_¹hñwÿNJLüâ˯=÷Œ™³%Iúê‹«W-ïСýëo¾ít:8رÃ9‹¿ûºlÓ¯wÝ1þ™gŸ·Z­Gûüó¯žüàêUË»tÐôY%õWýSÖL,F„¢èššõuµò¹wç?ðèÑõ’$ÕÕÕë¨  ¬YûkfVÆšµkÆòË/k@rJúꟄðlÆ9¦i¦k÷>õu5§Íˆ<š BèñxNÏëB¡Ð3>¼çî;‚Á3:iV>;zaèXšéÛo¿ÏÎÉ.-)>àµeý¡Çí444b€Ï@ Dz­!Ÿ0ÆN—S>ý¿[Š|Ee%EÑZ Êa¼^oÍÉš£˜iŠ:T^.£ùY³çÜ1þ6Ó…1`Y‹Ínÿó7 …ø›6oÚ¼I(ð/]¶|à€ óó²£Q5‡îãùÆ8))5½c§`0xÕUW$%%ú|¾‹/øÀƒÿ¤iª²²2))±KçN>Ÿïöq·¼þÆÛ€ÆÆF„P]}}0ô¸Ý7–y<îgŸ{ÜØÐT¶y³ÆI’tû¸[$I²Ù¬ç´o_¶y3ka7nܧÜÕ¸yËVŒÁ AÖ­Ûðìs/ù|>‹Å²k÷š¦$Iêß¿_³×{ýu×<ûÜ‹ãÄäÔÕ«~T³‡Î^§ó‚´IHÌË/j¨?ˆP¿KÏÌIHL·P,»ÝVRTÄ àÕW^JLLäùPQñ9gƒ‚,ŒeÙÿ¹xÈåuµÕ¦QTqqq@ÀjµBøeõe³Ù8–Åð¡P ÑcèÔC†¬V+@E œ2h³Y%IbY®©©Éåt665É¿·X,,Ëz½^—Ë%I’…a(š–$)X, Çr€@0Èó¼®ð³üLšf$IôùüºS,‹Õj¥iZEŸÏ'G«8ž8ŽÅÙø“3üþ€¬nY–•?Áï÷«’$‰eYŒ‘ßçDÑjµN}gÚ Ï?SYyÂï÷“%Éã•aƒ!ùŒGŠ¢ì6ca!žƒ!—Ë%I¢Åb¡(¢Ë05'O’ç“Y­C3†±¨”Sl6EQ!¿ß/I’¼¨‚Á€• †$IV+GÓ ’$Ÿß/¿42•¢èóû[š<øbY‹ÄÅÅ…B!+ÇÁ–¦2ƸÉçhʼB0 ƒ.—3 É©+B»ÝÆó‚ÍfãC!–ã(ŠE1 ²,˲ŒßïgCh·Ùd+¨O°Ùl,k!ç±5`%>.ίìÊPˆ³Z†Aù|>I’rr²ï›4±¦¦B(o=ÂË[’¤îÝ»öíÛ§®®žÄ"' rœ!øAôo¿ùZEE%Ã0ÓÞŸñÌÓOTTT*{„ã8 š¢;Ã0!ŸßߢßçÛ999Å%í9ŽÃH’Ô¦M§ƒ;YsÂôLJíï?p(ÆØÂ²ªšP0'K}Ë LTœzr9Y RrÕy„P^^nzz:BÈÂ0W_}…Ïç5¾!„•j©„Q^nqו‚À¿ø‡åËWä'''±, …•õ!”]CɵÝDA(.íx6¸í/¹~ßÁý{:wë]_[ˆÈë¦m~1„HÄÆ†¨<1‡£gîEß1þf¿ßÿþû3Ah¨¯u¹<ü b-¬,¿L¿µÛlC†]6îÖ±Ó¦ ñW^q٨믕UËìÙs.úRÔu׎uýµ~¿?¦Ã¶䇥|03ÞzËÍMÓ4µiSÙü?MKKýâ˯?ýxî”Çž˜ùÁ49mýú+~ZùâóÏÜ÷Àä‚‚üŸVþ|¤¼¼´´ä¾û&þüó/Ÿ|ºÐÂ0÷Üsçy}z“’Ôb±9rtê;ïmÙº­s§NN™q´cÀqÜŽ;ÞyoúþýúôîõÈÃQuìØoÏ>÷b¯^=}þ•Óiðû0ÆÓÞÿ ²¢²wŸ^Þ?I>¤qõšµÓ§Ïüíøñú?ôà$„ðú -ú"55uÉ’¥É)IMy8?¿íùýƒÁ¼ü’Ë.þÏɪcBQÔ%CFŒsÃô>¤(xóM7r Ã0<Ï?óÜ ë×m°°ì?®¾rô¨ë8Ž{dÊã%%Å?.ÿéè‘#íÚµ›4éž•+þì³…–8áÎÞ½zA-Ë´÷g|ùÕ¿ç¸qc  ñ1ø§ã¯½öæÎ»32Óï¾óö>}z3 ³ÿÀÁ{ï{pÍš_³³³žzâÑ””Š¢***^}í­;wvëÚåûïõx<€K†Œ¸îÚkf4' UUW­^½ö©§ŸýäoesÑç_îßÀëõýºn}vvÖSO<–’’ غuÛoM=vô·¶ùySžœ‘‘!<ôÒo5óÃÙ€±7ßXXX8sæ¬;w>ýäc‡¦éÇO}gÚ¶í;ºvéòè”ɲ*mÉåÄM{Æø¶[ÇŽºäáCçüimm]ß¾}&M¼ÇjµZ­ÜªU¿LÿàÃÊʃ xðþ{yAŒ¡óÀ§Ÿ-øô³EàÑ£®»úª+ï¾gÒ £¯ïرƒ$IEýëå×ûž×{æ¬F úñ' jOžìݻט17üç?ß}óíwû‘‡*-)ð<ÿî´éΚ••5éÞ{Ú•– ‚À±ì›o¾óíwßy<ž±co|ÉÅ­HÇ]2dÄ­·ŽþÁLAFþãª^½zΙ3oÆÙ9ÙÏ<ýxrRòî={çÎÿÊË/ „ÿýŸo>üð#AÇŽ¹‘a†a¾û~ñöí;&Ý;! ªtðÐK¯ºòò9sçegeMš4¡´¤„eÙþÏŸ;kÀÀKsÛ_{Í?&N¸BøÅ—_Í÷I(¼ç®;¾„¦éã•Lyü‡¥?¦¥¥>ñØ”ìì¬?ƒË³X,ÙYgU7>Â8à÷EË—¡i&¿°¤â·r !¿ß«ÖæW‹µ#„333¿þ÷7k×®ë×ïügŸ±W¯ |2 ¼Ãáày¾ÿ~wÛ-9ÙÙÛwî\ºôÇ~ô ‹§ùðßÿÂ~‡ßµcÇÒe+_rÑîÝ{ „ãnËX,oO}OnIB›6 C·xÉå—]úî»ï766Aê\.÷Ù<Þ¿ˆdÅ‚!ÝÊb\#G_`ä÷{ž‡Bù}~9P9ˆ’¨+ç¹óÎÛßxsêK/¿ÂqÜ¥#†1 CQ”×{¶tY,1:EÓ7n¬9ø IDATÊLOæ©'jkëæÌŸÐ¦Íõ×_3þ§ÿùæ»G§<,Šâëo¾e·Û/»tx4{޵XÖ¬ýuÞ¼OF•——û¯—_¥iØÔÜüŸo¾{ü±GæÎù°° ÆMj[CcÃXŽ=tøðÚµ¿N~è”””¹óæ=æ’‹/zí•mݶíÃYs233Ûæå†̤¨ŠŠÊ÷¦MÏÈȸãŽq³f}ôæ[S'?ô€ªŒ÷îÝ÷Þ´=ºw»ïÞ ï¼;íÍ·¦>øÀ}Á`pé²;th?õ­×Ö¬]ûècO¦¦¦Þ}çx«Í:wÞü·§¾÷ôSý²zí̼ôÒáíJ‹_ãí©ïL»oÒÄæ¦æ¯¿þfÊ”Éï½ûæ7ß.~ò©ggÏú`Ú»oß8æÖÏ~‚– GU[”––:`@ÿaÃ/¿~Ôµ×_{Muuõ'Ÿ-Œóxn¸aÔÁC‡Ö¯ß0ù¡’’“æÎ?jô˜Áƒ/~íÕ—·lÝ:cæìÌ̬‚ü¶Í™¿bÅÊ—^|îè‘£‹}év¹ºuë­®—ÃáøçÃß÷¼;ÆßvâDõ7ß-îׯÃ0kV¯òÈäF]·`áLy|îœYÕÕÕSß™–””øÞ;o0cæÛï¼÷À}÷Úl¶Me›Û·o÷Ư¸]®Çº{÷®ƒ p¢jjN.XøÅ£S&ßt㨠¿xdÊcóæÎÞ»oßK/¿6qÂ]I‰‰_ÿû?oO}÷ñDZÛí›6•¾üÒó‡ž9s¶„ÐøÛoû¸O?[ðØOϘþÞÁƒ‡Þ›öA^nî]wŽŸ1sÖoNüÐý-š†2³¬e×®Ý^¯oÒ½÷XˬÙsß}oú“O<ºjÕ/̘uÕUW¼þÆ[ï¼÷þ=wßmÝÒ4½qcÙ÷‹—>þèÃN§söœyÇ íÕ³çó/þë?_}îÖ­ßðÛñã»wïillœ4q˲Κ}Ó˜Û®¾úŠ©o½ñÓÊ•/ýëµw§¾a·Û1Æ›6mžúÖK—ý8}úÌI÷NÈÏo;ýƒ™¿¬^ýÒKÏ=zì£9óvû!ƒ[ölRÔ¦²ÍYK~xî™'««k>˜ùá‚…Ÿß:v̘›nüü‹/™òäœÙ3|>ßîÝ{l6û·ß~ÿé§ o»ulZzÚ‹/½Ì04„°¶¶îðár]­ŽM›Ê ¦¾õÆ?,“[Ø®]ÉÆ›(Šš:õ»ï¹÷óEŸÊ'ÿ|ûÝâùz÷ã=qž¯¾ú÷ðáÃh†Þ²eë°!—L{÷­¯¾þæ±ÇŸšóÑÌ?IƒŠ¢(Š^&=ú%—5âÜî@ Hž BÎíxéˆá<úxmm]iIñóÏ=v8íÛ·ËÈl{×ãyø¡17Ý0û£¹#¯]SSSP?îÖ±db‹œ˜I0sb0 C7¹qöì9‘»n»%⇠üÊ«otéÞÇá°_3òjÙÌÊÊ=êº_zeò?§Œ> (g×x›Ï*©¿æ Ps~OøÅ‘þiNvö˾ohhÌž5ƒaèÆÆÆÛËxA€¼ùú+’„ ²Í ÎÖ·hyÿ†÷ØãOLq»\4Moß±sï¾}6›í“ÏÞs×çžÛc|ë-7ÏŸÿé?®¾2š@g,–•+îÙ³û ý-Ë#?4lø*E|ÍÈ«iš¶°,é‡Ê'd†‚¡{î¹³OŸ^Â;ÆûæÛïzpEÑÅÅE ~ÞP_òrÕ[>ìõùÆß~«Óé|ìÑ)/ºä¡ïËn†ÞT¶9%5ùºëFÚ¬¶§ŸzbÀ Kþ9ùAŒqAAþ]wÞ,*,œöþŒî›XZZ!¼fäÈgžyÎf³/[öcïÞ½† ̲ìSO>~ÙWÿó¡DIìÕ»ç¨Q׌'ÜsçûÓg`Œ³²2išÊÍÍmhhÐÅ*Ñ4ýÈ#±¶¸¸xÙ²•~¿ï£Ù38Ž£iº¤¤¸Ùë[¹rÕØ›o C'ÞÝ»wOáøÛoû~ñ’ïŸDQTqqÑgŸ-llh°X,3f~8oÜÜöíJ<¸©lsÏž=¢¡ßïçùËå.,,ìÑ£›ßïçCü°áCFŒ¸ÿ¾{ÛÓ‰¦éÚÚºƒ‡Ϙþ®ÇãyèÁûFÝ06È>î¿×áp8v‡Ãž˜›“#Š"é×àyaĈ¡Ã‡ƒÜ?ib»)s²³?œ1Mv…L~胆„B!»ÝÎ0Ìc>̲liiÉ·ß-îÞ­ë€þý „Oß Y–Ý¿¿ ·Þv³Óá|âñG ¼xòC÷·’º—5âþ烅ùÂkF^ýÚëoÚm¶ÅK–\xáC_l±Xž|ⱫG^{ÿ}c8DDQôû}4Ã<óÔãÂ#†~8kö+~êÕ³ÇÊ•«òÛæ•”ƒÁǦ<\P!9ò?îVÀm…c?øàCÙ ÃÐô÷OLLLLMMyø‘Ç:Ô¾}éGsæM{ojQaA~~ÛŠŠŠ—¯¼ôÒá-Óž~êq‡ÃÑ®]éÚ_׆ !œ8ážs:v¡i@Q”ÅÂü°tÙÀý/¸ ¯ÅbyøŸþcä¨ðþ2„Ç1 sÿ}n¼qÔä‡=tøpûöídâ!33ƒ¦é¼Ü܆†‹Å²`ᢛnÝ£G7Тм/ ¼pÁ}G^s5ÀàÞ‰÷”¶?÷OVÒîA~‹L‚BØÜÜ<í½·åfyKîÜ^ÖÐÐ@QÔˆáC_r1ƈ¦i9ÒÙá°¿ñÚË’$1 ãóùhšsÓ £G]';ìd:S}|SSÓÎíeòcAøÇÕW^uåå^¯—¦é1cn=úzõ.¿ß_Ÿ?õ­×åÄ.†an¹åf¯×KQÔç÷íÝ»Fˆa˜ÉÝ9^çìõ©FÓÅ´(€X6"βá0"+Ç©ßZ,-‰Ÿ½ÌÒI‰‰Á`¦iŽc%Š¢jjj²³3e¡™™Q]S#‰BØÐЙ™aµZEQÌoÛV6•0ÆN§Óãq755›ËZFmÚ´‘# œNMQññmêëë­VBHFÿÉÞ÷o¾ùîÛo¿'<Á“eÆŒY3gÎVÅ®|‚.˲n·§¡¡Áf·BÕ´~‡Ý&ˆ"EAAŸyö…gŸ{Q~N||¼LðÚm6‡ÝÞÜÜìv»e¤žýmŒ<€&´IhlldY–ah„M3»wï}þ…—vìÜ%‡Œ\Ý5‚¡²Ë4¯vcLAXQQÙï‹ԗ=:åŸ1d–Ïë}ãõ—_{ý­¡Ã/{öé'ôï‡0v9]ǧÓ!ƒAyžOMMinöfff677ÉæEQ©©©G&G×GŒ±Ëé²Êt9EQ†Bü¢Ï¿˜>}fUu5BHaBBBcc£Åb±0L\œÇb±‚àt:äŒS ¡/¿ü÷W_ý‡ 3ú]Â()1A^¢v‡]EŠ¢A|ü‰§Ÿxò¹ II‰1ÆM’¤ž½zTV¸ÿɵµuwß5þ†Ñ×3 sÛ­cß~ë]ϣêË.F%%%ÊÏtØm,˺ݮ††F»Ý†pØp¦h:++ÓëõµiÓFN@¥(ªªªZ¦ô¬—Ц͞=¿£®|bb¢Ïçã8ŽeYÙ ].‰G)HÕ××·IhÃqœ$IùmÛâè!Æt¸…Þ6mÚ‚ a?bŒ1EÁšêšŒôtÙœ“k2a€v»Ýf÷z½óOH•‡@àûo¿b,l"]³há)¤£gT.M—a¤¨ 9>tôˆÔGé~i¼K÷dõ[Š¢8E…i_g¯X@Dò8ëEûãž°ÖÔÿVU@„PFFÆž=ûÒÓÓÂ{÷íÏHOQcœ˜˜X]]ãóùl6Û–-[‰²ˆÊyåsœµ¦¦6##çùãÇimÃ…‰Câ5oahúÊ+.{ù_/¸ÝnQT–E/½óŽq=xŸÃᱡ¡Au“Ï×=!lµrO?õø˜›n°Y­¼ 466657«¿56F¶~ÌŠ;i4·Ãa¿ã® O<þÈÐ!ƒ-˼ùŸ¬Zõ ÙC—U‹ss³ç͙նmÀëõñŽ(Š{öìÍËË=qâFØî°¶\ effì;p °°€a˜ÆÆÆÄÄD³E{*/«ÕšššjµÚ¢EõAý~ÿE Š*ƒNcšžiÚçŸ*Ãñiì €¦)9,÷4¾‘>CŠ1¦«ËjµY˜³DǼ,,»qã¦çy†ç]Ž-@B’$‰¡Pè†Ñ×}ôÑ<^$IúlÁÂÛnƒßaà€ ßy÷ý…‹>ÏÌÌüä“!FXEÙˆaÈK^{ýÍÇÖÕÕ}òé¢Â (ˆª ‡àAñ&AAuI1…III/¼ørßóúx}Þ%K–¾òòK`žç%QêÕ³ÇÖ­ÛÞ|ëNçvlhl\¶lÅÔ·_LJw@HZCA† 2íýA(Èϯ©=ùëÚuSß~!$Š¢²/ ÀóòþLHh³`áçE……ù¤](Š¢êEQB!”—›søPùO?­ª¨¬üè£y¥¥ÅPÛ/Œχ» !Da,„{îzø‘ǯ¹æj–e7lÜÔ©cÇÁƒ/Žv ‰Íf{ñ¥WòrsÒÒÒ8XXP ! !Éh¶&&$´?§Ý›oM½äâ‹>ÿâËþö“+C¨OFef¤oÛ¾Ãår÷=¯·jÕA$‰|`¸§ËÆÇÅ••m9|øÈÚ_×ÕÔœT§[]Y¢(’R[„QiIñêÕk^ú×k½{÷ôz½‹—,}ýÕÅÆ¼ @% aŒ!€‚ †¼(¼À_véðiï †ÚæåUŸ¬Ù°~ã믽LFóèäûÞ½û¿úúߜ߷®¾.==]Ƶ,Ërñg ½ðüÓ¡ϲù.„±@, žÂ'Ô#ôî´éÆ\²ö×un—«° ? Þvë˜W_}ãæ17ž¨ªÚ\¶å®»îA³°¦úp•¹‘$D~!¶ C_òî´÷v[rrò¼?Á@Bd¨„úœ÷¦M:ô’5k~‹óä·ÅËü ÃÐ{á¢ÏKŠ‹‹Š G]Ý{ïOÇv»]ëÖoxþ¹§BR„‰‘K¥S¨¨@‹5¾~^õÓãO|(ËqòàÇÅÇ Ðßï÷wèÐþÿØ»Êð¨Ž.<××â!!„xpÁ½P ÅÝ]Š;/Å¥@BkiiûQJÜ=X  IˆY¿:ß!ˤvû><<›ksï™33ïœ9sΈáC÷þ¼ïä©Óå¼½ ì÷-IR` åÊwïýY©PΙ5Ã…/77¯Ó't:ÇqÚ„Ö…!„®.ÎÍš6Aº9Žû¸ÃãS;vhÜ(ò‡wzy•2x@¹rÞf³¹G÷n‚ þ¼ïWÃÁÃêÖ1Œ-š7svv~IŸ+"ª/ĪT©L‘d¡äÅŽ;ð¼àâêÒ´iƒÁP¿~˜Áhøå—ß‘пoYOO³™õõõ©÷Œw3AÍ›7ýþ‡Þ^^ƒðööbÍlçΟ4Í ýøqWûÚ5nÅñÜþý‚зO/Žc}}}9޼ÀÇq;u´íº–;±1/²àò<ÿËž˜l­ò©¨×kKf>}ôèñ›¶œ>}Ê ×Ù;M20Ǿڸ¹Nz'F º5p 2üôé3ή¯eÀ+~‰,kêÞ£Ïý¤ø·–ñ>á˲™â8. œ$ñW.oÙÌË»üݸ›òÒL±h&u7îV¯¾C'M9mæÂ„»±…ùGDÏr,kÖä€9::jµZd‡§iÇq´  P(Ð8Äsœùé8Aœ8=tÔ$ÖlŽ¿s™÷ÑJ6Ëq ChiŠ¢hÅÛ@ËÈ/Í­‘‹¥F£fYΓ@£Ñhµ:Ç „jµÊúÒ‚ †!IBȲR\t†’$‘s¨$I,Ëò[V©NýÛJ *•ÊV¯xP«ÕEÜ$qW«TÚ¶¶ô4Š¢4Ïîz•@2d”0DQŒŒ¯Q£I/‰ _J‰HÝ:µKÒô]ʆ˜ùðÑ£G%ÆBp¿výz XqPíß¿Ÿbï…$KY¹¹¹ù%SÜ;JDœ›µh“úàA±õÉd2W¯Y×ÙÙÙr„$Éøøø†‘Mü+::8ضÎxžÿáÇŸ<½+¬Z½ÖÑÑÃ0Fãçb½m]† %Ó‡J’„ÖÅß¿`S¥t†Z2`æçŸ;|ähɈÃ0‚ FŒó*™ Þ4M·jÓþIB ;Sº£ÇN\ºt¥”ÆJ±ÍKc LioÂVY–³VF¥R9ïóE3¦Mi×®µÖÖ‹£Ù99þù×±#ÿÔ¬Y£ÃÇGŽÖ¢yS3ËÚ»@(¡M¶ÅkEO÷nQ‚€P*¬(IÒû—Ù{¼7CQmlDA’Dk½}‡ØÏã%¹4ðÖ´W‚öö¸,V-IKX+x¾ä TÇ•˜Ð-lþÃ%"Ï6r‹;›%щå %I#âqÖ©­:}HQT\üÝÆ£x^@žöÈl‹ži¹u"À*†˜¥ègK´Þ¡ÓéªW¯š““³g÷,ËZb Ë ï…–À•oØOa®ÓjNN¼[lëMÓ’(&''íÞùÃ;åjôLÜu:½™e/œ;sðÀþ÷2¢°F£%1333:æ¬Ùvî ))iÏ®ßÃ0Çúû¯Ä{ñï7Á eÈøPˆÈÝ»÷²srTJe@€¿££#"ñwïæææáæíííëã#B‘$ÉôôŒ”ÔT@YOOëpæE]¹rÕl69sŽfèºujߺëââ’’šâíUö~Jꃴ4 €òåË•/_Bxÿ~ ÊÖ] ÕªUªÐ‚‚‚”û)B___OOë=uçÏ_,Ðê9VÖÓÓh4zx”ñòò²Œ7‚ $&&=ÊÍuÐh‚ƒƒPÔ‡7”‰J¥Z±rå¶ovhÔš7x¬PÁ§víÚ …Böf)ùY%$E´kÿ1MÓï§ü!T«zõêN’”M'Ð0(0 NwMo!CÓ[¶lE‰À‰÷½=A(Á¶m[Y¨dÈx?‰†a—.]Y½fB©äX6<¼Aß>½ÜÜ\Ú¹çj̵¬¬,ŽãÜÜ\ÇŽœžž¾fíúŒŒ‡J¥ÂÁÁÁzŠÏ0Ì/û~cYnÇw?(Œ¿Ÿß§]{öíÓë^BÂø±£EIübÙ £ÑpШ§N™T±bè¶í;nÞ¸Ÿ—ÿ(7·q£(ƒÁ––ž››ëïï7jÔp_d;áy~çÎÝùùyk×m?F’àª5k¿Þ²mÓÆu ÍxzzLŸ:Ù××çôé³]ºõܼi}ûÚLž2ãÊ•??DD ÅÖ-› z4úÁhܶmI>q¢ÎÍÍÛóó/ãÇi×¶õ¹sfÌšÞÐÝÝíÍ)Çqzƒ¡d¶eÈ!Ã’$©ÔjÙsVƇ`Á¯ß¸ñÛ¯{ C¥Š¡žžyžïÞ­Ë–-ßÄÞ¾Ãó|ΣGþþEߺÛ¿_o•Z%IR¿>½¿ýöËsp Óë B­VÏ0ÀÓÓ322\«Õ999]¹¶é«u†‘$þIÇ'MžF$Ïó7òò*k0ÂÂê`Ö铎z½ÎÕÕÕÍÍÕdzN B¨×ë%QÊ/(€O;©a0³æãÇOBIZ¿~#AgÏžIÖ2dÈ!CÆ›h»,;¦“ÉDQ$/’$¡V«†]µJ¥®];«Uª«1×bb®)šf9¹_˜L¦—®IC‹¿*¡³Ù\šÐDÓôSµ­ü ñÚ IDATR­s¤¿òŸò#†åy0rÄP”‹üÝÇq$IÚiï8„ãX†QÈíäE`Ífša^2Ë„r'o —!C†Œç ·[ű@’`Ó¦/^F‘ôÉ“§ï§¤øãs5&$8¸m›Ö^^^ÇŽŸ¤hJà…¨Èð={ÎÊÎxáóù‹ æ¿ÆE€aÏñ-Z6[»î+ƒÁ¨Óé×oØÔ¢y3ë”/ÊóþjC/ptt¨Y³Æ›·š6mR¯^Ýþ=\$Dú»ÄBØV­?òðð´S6Š¢»õxY³Ëöê;èå:F3L×î½eÊ!CÆ‹`#"‚žç¢(Î=ã~JŠ_PÅ9sæwïÖ¥víZZnÙ²EK¿øÒ/ tÔ˜q!!AÇ™Y¶WÏîU«TiݦCƒˆFU«VfͬµÙCÏ(ì)àyuøF“iôÈá>>å#¢š6jÒ"0ÀÄð!&“Y@ΞP"É:£w‘ ÖB^à1 ”0>Ùdïìì<~ìèË—¯WnÞX¥RÚi:‹6‹¢(Ibñ˜„@©TÙÏéÀZ-G›} ™‡Ãµ ¬´ËBˆ2&¾÷š€Œ©b!¬#©@%ID=‰Ü"dȰ-lã#’——òøaA „...;¶oAË(¨Ýryìè¿(<„XAA`ü¸Ñ'Œˆ’ôÙø±yyù–ùe^^~üëQdl+’pÁvÌb«Šúb(ž%½§uè3ë-…«l™–´F(µ)x&£¬å–³Ö™¬?ÁNƒhõµ1ß¶å«À JUª†üü¼×^K$IµÆ¥HeÙÇ{ó(ŠfÃ1QM&#j$I1 ÇsË>ή®Tâ8. "ËšÑ'Ó4Í0  ”$´†GÓ4AEé´ZµF£×=N7OÓ4ÊõªÑhxž§iÃ0AX³™¢iš¢!„f³ Í/ßG.‘¨!€¬™åy®P, :hKÿ«·'Rî'­]õE›v$ùƒsZÇ|–ðÙ$ê  ‚_àÑ#ÿfggº¹¹‡G66Üww÷hܤÅÑÇ>Ì(ïãëääœùPÌ hºNúe½¼r².]<¯×k«V«L’¤A¯»uëúýäD¥RÖÐÓË[„ìì,QEQ ­X%$´R^^®‡GÙŸ÷üУgÿ¯7­!IJÅÊUª+Šèöê309)ÁÕÍ]¡P˜Íl½877w²$EÝŽ½y;ö†5±{o ŠRºõ==Ëâþ 5åê•‹È55¬^Cϲ^¢ ääd béÎy†ã8Í08A€·4ɳ;&‚çyƒÁhfÍ/`8Îд££#Š…øæ,Bxð¯ß‘©#//×d2¡ì©aõï^¹ˆaxùò¾ùyyiRH’’;1Ïê‹‹K¿þƒЬicY ¯MD ²!©„¡qp,Ðæ“‰Ì4Mdžá‡þþ“ã¸ú #ë†58üïßNÚ‚‚óçNsR¿AÄþ_÷¨”*?ÿ€?ÿØ÷(;;(8(ŠRXýðþþ31áž««›³‹‹(ˆUªVÇqâÏßá9><²1š#G–KÎfggî]zb:B¶%Žã ÿõÏsժ׮W?"úŸ¿Žù×ݽL«6íîÅ[ï ~Ÿ ¯ûv©Têú "ƒC*^¹|¡NÝú†ý±ÿgA""›ÈªnÂq\\ÜÝĤ䔔ÔìœGz½ž¤(WçŠ!!¾ÊרQMÞ”ébFQ”B¡ Ñh9–ÍÍ{!pw/SŸWÁ/¢H½N{-æ²V«-¥iNeØq4%Ék×®çbEá%h¥N@äõkWDQÄq"--%$¤bRRÃ0ÙY™N`øû©aA\½rÇ “É”šzßǧ‚(ˆeËz_¾|­EÆ\½T¡‚¿¬íoB¹yyü}ùrŒN¯·>û0ãalìààÀ À¥Ri“…y‚ œ]\ ¥Éh@ë¿Afgež>uœauÇTºpþŒLDŠ4“±UJÅÿdȾ%I’õÎJ;1fFó¿ãââãââGfL^Æ‹åfey^RÊù]__õ) ÇðW10 zGƒAbÛ»à….®ÀÐNœrå}ƒC*ææ>2‚( Ól2?wº¬W9''§Úµë;wª  ÿü¹ÓåÊû888z—+¯P(/\8SèÉQÔÖ QúÎ'kóà9Z …caOœgßsŽ -9’0ä©€koL®Þ,Ëþðý®ë7o½èm6çQn_Ÿ7\þC®lz½îèáhšnÞ²»[™¼Ü\£AŸ˜p— Žc³³3½½ËË®ˆ¯+X’$ DZZ­J©T«5,ËÚ)!0Ê™Šãø… —îÞ»'AàV·I’ö«8’$O:ýëoûÑŸ“&OÿvÇV¹ê_UzÏ­E@Ü÷sQ¿&p8þ3Å(†aÉÉIuêÔ;zô_ß þ £(x}OU€ ÕkÖÎÊÊdY¶vÝz)÷“q srv&Iòæžãª×ªƒ®T*•A¡1W/)Š  PF¡sÅú "b®^JNJ¬W¿¡»‡'XzzjhÅÊ99Y<Ï…Õ·2w?qõÕôÁ!ãîÄ–ñð MNJ(<õŒÉ§Sy·N?¢Öh*ø¦=H!2--µb¥ªrr«×°´ûˆˆ¢h6›$QäyÞl6+•ª’t:†f<Ìz T«^¥œ·×›÷W†Õ«~íê%Aà]\F!ˆAàññwjÖ»tñ¬Z­ñññËÉÉÂeòëÔ Z¥ºuûÎ×_o}ø0S«Õ*Œ·—wÿþ}Â6°ùLBÈ0ôíÛñ7o®êëëƒaø¹sç¿ÿþ§áÃ×®UËNßHÓtVvvrò}täÔé3¦Ä$üWW×ZµjݺuSnBÅ4Qà8ËþwTøë×.G6j:pðƒ^ùÒù¼¼Ü×ïß!ERFƒ¡ýÇ•JUÚƒ”ógOÑ ý 5¥¬—wテxž»kNTjußþCÀîÅäçc¦×ë:vê¦P(³³2¯\>¯P(nݼV¯a—®½EQLJºGÑ4„Ç ËfE‚ N?Ò0¢QDdãìì,³ÙD$š‚X“Š¢ å%iê½4Œ@hšæX¶WŸ`ñq±wãï0 sóFL½ú]»õD19)¡\¹ò¥wçŒ$I¾¾~­ÛvÀ0,(8´U›ö?~ÿ ËšK’‹¸¸81 óÜ p4MuîôqãÆQ8ŽÙvW<ð<ß©KO…B¡Óénߺž•ù$©›7bêÕïÓo„àÞ½¸;·o¤ìæÿªc¤ƒFóÃO»öïÿcØÐAnnn 5rxÍš5Öµé~JŠ Š6œ« ŽèÜù‹#G›3{z›Ö­Ð ݤqÔ…‹GþlíÚ•öP]Ç/_¹:jôx냵ë4 KJOH’¤(ªôÒãçˆI«ÕíÝó#'Ç‚|#µ Îœ:úò¹˲Gÿƒv{¢¥è×m!4ÍúûO!†á$ J’ˆa¸N§=v4/Üç|ãúU´ÝàÒ…³W.G!„8ŽÇÇݾ‡a£«¡Þüâ…³— /»|é‚Z­¹qý*Òuô’éé~Û·Û;B¨Ñ8ìÚù­eCu^^ìBàF±ë§ïÞËäã Ã|·ãkI’®^¹ ·”c&IÒ…ó§/]<[(Ãó¥7L>†aié¾Ûñµµ¤„_ÀÑÁaîœiÿûßß×®ß0MµZ]ÁÏ·Vjauë¨Õ*$s›wëæµØ[7,-­²I’táü™KϧÈøOZ `˜?þwàäÉSk׬prrÊÍÍ%IÒÉÉ©^XÝ5«V̘5'#=£sçŽ6$zƒaãÆ¯ë……Í_°8((°ZÕª’$eee­^³Á½Œû¬Ùólî܃úRðÎúxzFv·C fý†Í;wí™5s*A–ˆY¥›ˆ d.Ø{ªøé«HϺG+†´-ý/„b‘‡@«‘_EK4—"ÁQP$É"ï`}„¢…p‰ãòÜ7±¼€ezŠaz—÷O,!jŠDÍy® Kï7‚§Õ¦„«QO¡C<í´­}mõJÏm¨ <[Ë2^…üüó¯3gLEž›–¨/@ÍÌéS>êÐYD[ÕB¡X·þ«Aƒú7¨_oÌØ C†ŽÜ¶u³G™2ŸMœbfÍ?ýðmtô‘U«×Ú¼¤gdtìÔõÙSi©‰:Þ~ ƒbA=|˜µqÓ×z½~ò”éZ­®w¯f³¹”©ŠÜZdÈñN3¡Bj+ZÁj]¦ï,(Š:~âd:µ4<Ïó£É$ C† .0@Ä­[±ñqñh»Àó,Ëݼuûaf¦$AûRÅŠ6k±… ·ïÄ•óöž3w~Zzúº5+=<ÊL6kÞç —}±(..>"<Üæ‹hóA``@íZ5¯\ôèÞÕh4ÚÕ4Î0ôÎ]{®\‰A~6~¬—WY“ÉTzÌ!OXYøwÑWÏÎʉHq˜IÞ»{BfáS³Ù,'í”!CÆ[èõ¡Ý£‹ÏóQ‘‹—.kÕª¥££#„å8ÇJ…££ƒJ¥ÌÍÍ×ëõ6dô]°p©Á`ÈËÏ[¿vUåÊ•$IZ¼hþü‹fÏù\ÄÍ×ÛC¢(Ö¨Q-**‘±cFÑOBØÞB’äí;q¿ìûÍh4ÂêÖéÜ©£Ùl.….S¼$²jaJ¯m!IÇð"‘#A¨Z­Fíº d¡Ê!£ä œÉ¨Ã°Ú£¡äêêÒ¬i“ _mú|Þl’$%( $i6³Ë—¯êÜé¥Ra«ÔÜ¢(–+W®WÏîÃGŽ^·vUýúõôzA¡!Á]»~:qò´E >÷öö²l$´­QD¯7ôëÛûÄÉS-š7uuu±_OÜroÝŠ½ŽÌž5$I›„Òy;x¹}–X›Ôh]\ÝeQÈ!ã­À ×ôÚ³ÉB8ŽkÕ²¹$IC‡=rDpp Úèq+6võšuQ‘‘ mØC„ðð¿ü¼kûöïvïÞ[«vM(Á«1×Ô*Õ×7Ô¨QÍ~î¢(úú–W«T¡¡! …eµSYǵlÑü»ÛæÎ[b+2';5ˆø#Žã<Ï[¶ü‘$i×½UÏ}¹+”!CÆ[ë K¶ ²„ jÕ²yÍÕøiç—+V †¯·l«]»Ö¨ÂmÛ£1 Y´pþ£Üܸ¸8A‡ö•-ë‰Â;ÙoÀÆ0¬ @»uËF‚ ìat±Ô4M×­[û×}» ‚ B&"o‡[¼âÅA<|øðó‹ÿù'úÔ‰#ÎÎÎ “””{åúõësrrV¯^-÷Ëïåðÿ¬Z–|y–y<ûö{«wDï H’Ôë´iw€(I¡¤×ëp;;¹àÆq,ãMsœÙ ×;×5AJ†1Œ"?7¯B£’AàïÂ^D‘‰7oݾ}ǰ5« éÓg=ÊupphРžG™2¿ÿñ¿V-›[ª%$$êtººuë$%%]¹c4™‚ƒëÕ ³l¸bfßoûišþáÇ ÃôéÝSż¼üó.>zôÈ×ǧAƒzÖ©bo߉‹‰¹–››«×é»wï²uÛöΞäX¢(*==ýÒå«Ú­¿¿_xÃúBIÅÇåy~ãÆ4MתU«Aƒ¶zlRRÒ¡C‡Š Ã\\\^«ú~øá‡¾}û¢?/]º¤ÓéžKD Åûa”ñ\5ÈÏÏß³gZðfY¶oß¾nnn%ÿ€ôôô˜˜˜ððpggg‹I_’¤³gÏ6hÐÀ&käÂôôô³gÏ>zôÈÕÕ5""ÂÛÛðíÛ·£Ü¿hU»ví:uê|àºÁóÂK—\¾x¦dV"róò³é.\såAØÝ£€¢©Ô´ŒãÇŽ]¾p:+3£H§R©4›Ùï¾ûîúÕó¢(”@ ¾Sý¶½j” ˆË—¯~ûÝ®®.4MÇ\¿þùÜÙÂ+×0 Fà…ŒŒ‡÷î% 6xûöo£"Ã!„ƒá×ý¿»89{yy}µñk'†ŽŽ>,JRÃõÑ„žÀñÔÔ’$&%%+ Aàyyy»vï¹vý¦··×_å´mÓ YbÐÚA~~¾R©Œ¿w¢¨ÉS¦wïÖ¥ð%ñ‡3·}³C«Õk4êCÿüËqlÓ&K†‹H’tçÎÄÄÄC‡íß¿ß&s5aXXXXXÚÇe9‹á¾âTéׯ""¢(vîÜæ±ûÏ6ùáL_]˜¥÷GŽ9mÚ4“Éd0Ø·—”;++kæÌ™Íš5[²d‰Bñ8›ñÊ•+·nÝúÏ?ÿøùùÙDÎóæÍÃq\©TšL¦³gÏ~öÙg¾¾¾wïÞ5™L³Ù|úôé>}úÈDD„´ôŒJUë”À:Žaéwâÿa9)´rmû—š¹ŸšœœåèâQ]‰F£QGŸˆ‹»ãTÉî{ª5~ygˆ³ÊØ´z OHLÈËÏŸÿùìÀ€€Sg΢À$‘‘áíÚ¶vuuÍÌÌ=æ³û)©S§N^¹ruófMxž¿?åAjÚ𡃷mÿÖßßoô¨ÎÎNþù×Úuš5i¬ÓëF“iâ„q_._µ`þ\š¦ÍfsbRò¥ËWg͘Zµj•^±bM«–Í¡AƒúMš4®\¹ÒÀýÓ´Xz)ŠþûÐ?4Ã,]2ÕÛËëßè#sæ~Þºu+Áh,Ñ3 ³iÓ¦£G®][ÌlhºiÓ¦óçÏ»¸¸Œ9²^½z111Ç?~<ààÁƒßÿ=Žã=zô@ Ã6nÜ1mÚ4d»:qâÄÖ­[ÍfsÇŽ 0`À@ûöí½¼¼¶nÝzðàAN×­[7ÀvíÚ;vlýúõ­ <&LhÞ¼y§N>ƒAZZÚòå˃ƒƒGޤ×ë·oß~ôèQµZ=|øð¨¨¨Òþ™7^ºt©5µo#o•*U&Ož<{öl Ö-[F’ä‚ /^š ˆ)“>C“iŸò> »Ÿ’Š,þîÝúEE†±lùÅ‹—ªT©|íúu__ÿ””Ô3gÎþ²ï7D&òòò‰ÂLE†™Lf ÉdEÇq­VKàxÕª•FcËæÍÇŽhí$ÏóÇ †¡­ŠÀñìììŸ~Úýïa„011‰,Ùȧo oÑ¢E¢(>Üh4nß¾½^½z©©©ÑÑÑãÇ?yòäúõë{ôèáää´zõjd¹ÿþ_|Q¡B…ñãÇoÙ²eåÊ•“'ONKK›7oÞðáÃ=<<8ЬY³qãÆ}÷ÝwÓ¦MCKf7nÜÈÉÉéÖ­Û¡C‡Ö¬Y3dȆaþøãDD ˲;w®T©RíÚµ?¨î¸ÿþ-[¶lß¾}rrò¾}û¦M›¶iÓ¦øøøÁƒ‹¢¸cÇŽÒND0 ;vìXýúõqÿøã'NœÈ0L »‹"w%Š¢úôéCÄĉ•J¥Ùl^µjÕŠ+ÆG’¤Mè†aíÚµC¿333 ‚Ðh4ÖTûÿûŸ———LDf³)=-…ÀíÞaò<;ö0( éi©¸½‰Žçç=J{"ˆÂ£ìŒÜÜGö&ÝI%'Æët:“Él2äK%à#BQW._x»~ßÐê{-͈¢èëë3yâg±·ïÌý|Áï¿ý!œ8yÚØ1#BCBFŒËó„pøÐÁë6lܰnõñ§f͘Æóœ$I“'~Ö a}(AœÀÕ*uAAÁÓ“$€ac¿¢Ýá&£ Çñ‚‚‹ÙöU™(Jƒ èÔ©£$JÈ$‹ì.¥)))>>>aaaîîîÍ›7Gä?¾ýöÛO?ý´gÏžE) dä8yò¤““ÓìÙ³ 4¨V­ÚäÉ“9Ž{ðàAPPPƒ 7nL„¯¯/À2ˆÉêÕ«ÇŽÛ¾}{ Ã7nŒ„ýúõ®]»6mÚtذa(ó‡ãÇß½{÷FµhÑB§Ó222A¨]»¶··w“&MJûV©R%11ð¼¼¼•+WN›6méÒ¥%¿ºlqîÙ³'I’'N|ðàÁ¶mÛ `ó 7nܨ^½ºJ¥š9sfxx¸å¸ÑhüþûïwîÜ dgU«zÁìoÁp Ç ˆv—Ø¿D •ãnì±s]c††a@P2"Űw*Ùˆ½>˜¢ÈS§ÏìܹÇÍÍÍÛÛ+''B!Ì|øÐ¯B¿ ÇOœºy3– AÚ¶m}ÿ~ÊÏ¿üêîæl2™>j׿ïCÿj t*øêtºU«Ö*• kâà IIMA“3¯²e!€?ïû B°ä‹/ÃÖEk¡À QQ7nÜJMyàWÁWø%K¿´¸S” ,_¾\¯×W­Z500ðÚµkE8JHH"%aaaÈÆeÙ•+Wâ8Žã¸££crr2À××÷óÏ?2dˆ‹‹ËòåË_âP³fMÇ-Þ¯ ÃìÛ·ÍVÁ»·1̮ؿÿï¿ÿîååÕ¨Q£´´4ÀäÉ“]\\ÂÂÂ|||Ξ=[ª¿BHÓ´¿¿¿ŸŸ_­Zµ¶oß~ðàAc‰,\¾111ÙÙÙ€ëׯ#bsîe0öïßêÔ©+W®XD±ÿþòåËhJnW“¿Ô~•"ñÚ‹ˆH LHL¬^#¬ÿ€! >ŸCQ$EQÓ§OîÕg@¥ªµ®\¹êïï wäØoÝúSÚg IDATCä8ÖlfÛÔ®k×ÎS¦Í­T}ÆÌ¹í>jÃóO‰Í¬yÂø±Ýº÷ ­T]£Qûûû6ä»ï ®Xõþý”éÓ¦<Íõ I’è„Ý61 £iŠã¹¨Èˆþýz¯Xµ:¤Rõ£Æ}ôQ›Wßãú.(k¹rå¾þúë‡nÙ²¥gÏžÖ§<==ÓÒÒÐN°øøx$ Ãf̘!í> iºOŸ>7oÞŒýã?nß¾ý¢âÊ—/Ÿ€nDû˜ŒFãÌ™3===çÌ™ƒ¬VT˜‡jÕªýïÿ{ôèQ=&NœˆÄ¾jÕª´´´½{÷öéÓ§´Ïw%I²ì®ÇqÜ~á±ÿ³] ±É’%_|ñÅÚµkwíÚµaƉ'¢ «­Ò·¢¼í*•ªeË–ÎÎΙ™™è”(Š«W¯ž9s¦Ìl9L@h6›ßãB˜_PO’%;ÇñÜÜÜ„„D»˜·9ì¸4ãéáñå²%«W} !`Y ð=ºwí×·†a<ÏÁ²fAýúö2xÑhD„Ãl6Ô®m§O:â8.I"Ër¨ƒxLDÌl]ûõëƒa@«ÕêÖ­ýÏ_8Ž‹¢XD³ ãÂóDQä8Žã¸ä¤xNççWáŸCPXÕ¨¨ÈÍ›á!I˲%÷]’¤û÷ïgddètºÌÌLµZm½ ýŠX±b…——WÆ 322ÜÝÝAa.l@¯^½Ö®]ëáááìì<}útš¦5:qâÄúõëÛ´i“‘‘±aƽ{÷¦§§Ï;wìØ±z½žadDñõõ=qâD```¹rå,Ï=zô‚ .\¨P(~ýõ×%K– ã7nìÕ«×äÉ“¿øâ‹’ßÞù1lذ^½z•/_>??™ˆvìØa6›[¶l™––öˆ"55uÉ’%£F¢(jÕªU7~+ë2žç×­[·páÂ¥K—<˜$IŠ¢úöí‹aØòåËmå29hРqãÆ¹ººž8qB¯×£5JÀ?ü /ÊØ ÃüïÀ_#G;sꘇG™÷õ3¯]»ñý÷?îÝóZºµ7‚¸víÆ©3g?7ÆÑÑ¡´<;Ʋ,[ÄÎÏó‚µmú—A3lK#GøŠ\fùmy:.ŠÒ‹,Æ(þåJ½^ÞÍh4Þ+M¦çdW˜Í樨(777†ajÕªõÍ7ß´mÛöuÒ½{÷¥K—®X±"00pß¾}77·*UªÚµk———7kÖ,‚ ÆŒ³gÏ@PPЬY³–-[¶uëVooïéÓ§\]]###‡ŠaØ„ *UªX¹råøñã===ÿþûïòåË;88ºtéb2™¦OŸNÄ矎l$èÔÎ;¸k×®1cÆ|8)bfÉÉÉ‘‘‘kÖ¬´mÛvÅŠ[¶l)_¾<ª‘R † Ž9Òl67oÞ|Μ9*•ê­ Æ'Ož\¹råŒ3&Nœˆ¼S?ýôSI’&OžÜ°aÃ.]ºØ¤”>}úÌœ9333³råÊóæÍ«U«:~âĉùóçyQƦö’ q·÷.ku-yÕ%œahP‚„'pš¢@©ÒS ‘£&—4T*Õƒ^Ô`^±ùûûoÙ²ÅúHÆ 6lˆb~ôîÝ»wïÞèT=ÐÁàààmÛ¶Yß‚\Y‘7«å`—.]Pç.IR=@¡…¼oß¾–@gÖ§0 Û±cøÀâˆÔ­[÷?þ°>R®\9ë8³¥ZB¥Rù¬n¼•— Þ²eKÓ¦M ARíÚµ«ŸŸ_@@€­¦OmÚ´iÓ¦M! C}TK3P":YïZcMD ˜ÌEÞ:^·{özË‘çZªŸ{ð¹…Z´Üõì•Ï=õáôÔ/‘ÿû!ÿÔãC´o¶HªÅ°°0»R„S·ß' Ý”gΞ‹Œ/Æò· ;³žvV•Û˜ 2ÞE>ô\6 S¯Ç=Êݲu{^~¾,wªe[~½ÐG„$)%YT¯ ’¢p ‡²yI† 2Þ &+I’Ñh‚’Ü-¿«ã泇!4æÊyyE­x³7š¦H‚”E!C† ïJ¿,ÛÌJqww LLL”¥ó†š/ A† 2dÈxm"’—_pêÄa´™VFñ@QÔ¡ƒÊr!C† 2^›ˆ`ð¼`@LÆë⃊.*C† 2d¸,2dÈ!CÆÛÂó}*%(A(A([DŠ¡F£‘íI2dÈ!CFqˆ„ÐÅÅ]^\(6–/_®VÈDD† 2dÈx}""I’“³kNÖC9F1€ãxjJÒÊUk&Œ*KC† 2dÈø"€@X4Â{AA.”ä€f¯/PŠJ¸{@ Ã_fynDj9“…Œw ²–ÊB!ÃnM«{¼ÄYÃ0 Çå¯ýÃpÇ0ìåæ$ ÃŽ;Ö¼yó2eÊ„‡‡:tÈ¡Gd¼cÀ0,..N¥R9999;;cûk)„ðСCQQQîîîÑÑÑHyyyÝ»w÷ôô \¶l™ rS}÷«²Èç„ïÅgZR/•Þ‘wͼ5,\¸pΜ9÷îÝ›1cÆòåË?^ìÆö’#¯~û>íCîì^.±R-F£ÑXµjÕ‚‚‚ŒŒ ƒÁP±bÅ÷»B—.]:wîÜ„„„E‹­X±âìÙ³€Î;ÅÆÆþþûï/^\»v­¬üv#6ãÐEñþ!¦z-õSann.Ïó¥šÛ’ˆ°,û&!ä8î%ˆ¢(ÂKnçyÞl6¿Ö;ð¼ðV"ÙC>ܤI''§:'''C oÞ¼Ùºuk…Báëëûí·ßbvðàÁJ•* 8P¡Px{{ÿý÷ßBI’Ž?^»vmŠ¢|}}÷ïß/IÊ%¶lÙ2''§-Z {kÖ¬IÓt‹-²³³åißÊ?::ºjÕª ÃÔ©SçðáÆ 2dРA4MW«VíÆïI’|+s/ëâ „‚ ð<ÏqÇq<ÏCmõ>8Ž;v¬eË–NNNM›6uuuÍÊÊ\½zuîܹnnnU«VíØ±ãÝ»weå/^{‘$)//¿Z„^¯¯àÒ¦ÝÇjµºHi¶UÞ"ʉþ´¡Nþ§Æêôú¨Æ-.]¾Rª{›ggçªÕë°,Wì'$'ßoѪ³³ósÏÒ4ýÝw?.\ü…J¥zö,A<;nBÕêuPßñ*P«UsæÍß½{/EQ–Œö%ÉdÑ︸8AŠñœÙ³gGFFšÍæÛ·oÇÆÆ"Q¤§§wíÚÕl6ýõ×cÇŽEÑd2-X°à¯¿þâyþ§Ÿ~Ú¶mêLqÏÈÈ(((ˆŽŽ>{öì×_½zõjŽãš4i2zôh¹ëüOôîÝ{Ñ¢E,ËîÞ½ûÖ­[†abbbvìØÁq܈#úöí[ª?P¥RÅÇÇ—+W.$$¤_¿~qqq%ìa)N„ììì#GŽÌŸ?¿[·nQQQ­[·=ztttô½{÷l;¡ºwïÞž={ „þþþ€¡C‡N™2åÖ­[ÑÑÑÑÑÑ­Zµ’5¿xvzzÆð‘cnÅÞ¦(Ê~ #4M7h…c ..¾Ó§Ýòò L&Žc8öó8˜M–fPOþàAšÁ`@¤±8Ž?ÊÍeYÖÞv `EbVªÍ×øÓ«7Ò3Fý&Žãj•ê%D’¢)†¡Ÿ{MS¿ÿñ¿ªUª¤Þ¿çååõŠlB `Š¢H’¼|ùŠT²Î¹¨{½ÿþš5kªW¯UŒ‡Ô¨Q#==ý§Ÿ~ºyóæ²eË<Ï7kÖ¬]»v€:ddd@ÕjõáÇSSS9Â0Lfff~~>@’¤Õ«W£Gݸqƒ$IÀÑ£G#""~ûí7¹÷üODDD\ºté·ß~cYvܸq£Ñ8qâÄÀèÑ£;,½ƒGhhh~~~ZZZjjj:uÆŽ«×ëK¾™ètºï¿ÿ>**ªE‹‹-Ú¿ÿ… Ž;¶uëÖV­Z;Ö†Ф¤¤¨¨¨I“&¢éÁ€¢££;uê4bÄAš4i"k~1Ø$ÏókÖ®¿råêŽo¿áåîüoD%9îÆ•ÓáUüçÏ_¬Y»ÞÞ½¿`ÄÄÜHŒ»`E£mó<ÏOš2}Ñâ/ŒF#êB)ŠLNNîÙ«ß™³ç’àEzQ„ˆ@Ûºí`Æ0ŒJ©T(Ç‘ T*•J¥Õ:NQTáA>DÓ4­T* ãè5!„$I*• ¥RIQ„¢h­Nçãë£R)!”p¶,…BØ+z…BñØŒ€G™2]»÷F¡ƒE¢Û)Šv°E£ÆÆÆÎ;×ÇÇgìØ±Å+eÞ¼yáááÿüóÏܹsçÎk¡tEžÆqÜÔ©S-Z´råÊ¥K—^¿~ý¹¶™sçέ^½zÅŠ«V­êÓ§ÜPþ;wîtvvÞ½{÷ôéÓ¿ýö[‹}¼6S¦L‰gY¶„Ë5›Í .|$9)@àøõ7EQ,]ýíûQ÷þ¼ïر“MGÅ\¿ž““3dð OO1ã&„ùúødådïÚµ‡¡éºuëœ>}fëÖí Ô#Irû·ß)æiBþõ×ß?þ¸«eËæyùùüû“Ž(Š:{öÜÆ_×®]ÛÑÑaç®= Cûùù¹¸8»—q T«ÕÓ¦Ï öõõÉÊÊÚ¹s7CÓEmÙòM³¦MÉÍÍÛ¶}ÇÔ)¢$ùø”'pÜßÏaÀ½{ [¶n«[[¥Rýyà`åÊ•œm.¨¶mÛæååiµÚ_ýU«ÕΙ3§E‹¯û¬¬¬-[¶äççã8>}útd'´6ž Ã0]»viÒ$Yó_…`œ=ûóÀÀ€ÇRխ˧ÓfÌŽ>|ÄÑAc¿r¼|”à®Ðµ÷À¦ kjˆl%5hÚÃl¶q>W´ y³¦8†oøjÓ¾}¿EFEL<1 µƒÑhÃA8þ©SgišDçù'NÅÄ<¶s¦&M‘DiZ²=a÷žŸ—/[R³fĤ¤¹ó¤¤¦º¹¹èß·Fõj..ÎÇ­ß°ùÄÉÓMš4úfÇ÷í?jשÓÇBЦöîÝWÄš·næ™Ó§4j™——ÿþ}Žç f˶í:uìòig’$ø{û·ßÿ±ÿ—Õ«W¬: _“É4`@ßÕ«»¸8s,·næ“§N7kÖD¡TX´Çq¥B‰BDz,Û¹SÇ#ÆôëÛ›¢(žçóòòÓÓÒZΘR£Zµ„ÄDµZeÑÿòË/E¡AK„*Uªã!}ôQpppnn®Z­®Zµ* Q£F¡¡¡– Μ9CI’_~ùåíÛ·EQ,_¾üàÁƒƒƒƒ‘AÅÒ–ÔjuÿþýÃÃÃsss•J%òrñr 6¬qãÆƒÁÍÍ­R¥J€Å‹[;\Ÿ:uªT ››ÛôéÓ“’’$I*S¦Lhh(I’%鯊a˜¯¯ïŸþ¹råÊãÇ#ŽãU«VmÞ¼ù'Ÿ|R½zuggg[-„Mœ8ñîÝ»,Ë:88„„„899zöìY­ZµÜÜ\‚ |}}ýüüÞ'&)AmBhƒðÚ+W®Ž¹vý÷ß~V*•‚ ÔªU£y³&»wïi×®-a£ŽãJF}áx^ÍÈ6Æñ)ãÈ‹Œe9;i.EQže=2³²Lf3MѾ¾>ÈôR³fY3§ŒF[Ä0LÏÝ?îйÄêôú^½û <°VÍ–=;Ž4M—¢ÕaÛáÃŒ‡uëÖÑëõÁAAP‚hRîèàÐÀ[±±ÇëtºÏÆ!I2!!aê” hiDÆ;ÚSD™îÞ½Ñçyç*•+gd<$âaÆÃÉS¦OŸ1шà `¢(Š¢È²¬$IGë²&|6õ›ÏõRÂày`™ÈV©R©ÃÇíGo4'|6®}»¶öR³fÍžÇâ_ä!T©T5kÖ´>âêêêêêúx"aÆ Ñ©2eÊ”)S¦Èí‘‘‘–Aq‘"O“wð¾\þÎÎÎõë×·>‚žEþ¥WŒB‚ |||¬>J¾w#I²]»váááF£Yò‚`F­V£=t¶Z Ã0ÌÃÃ-MB5žè—~€‹çN!O¸ç D­Q»Æ!„ Ü;aó–oæÍ›‚Üû EÏžÝ&Nšvðà!žì¡·¢(†ÕoÕ.?éàSÆÑdf-½œÍ+_ ‰ãÆO ð÷5jøúõ›æ}¾pÉâù¢œ\œmBˆã¸§çc%<¿@‹ã¸———¿¿ŸUMAK“–Úe¹W­Ñäää¨Õê‚‚ Ç)ŠR* ›;v,¶YÂl2}¹|¥F£Æ¶ÿÖö2îGŽj~h»*“$I§×W¬:²w½Ng?UAÏÌÌÌ4x˜J­^0nhhˆ·—׸q1 [ºd¡mg‹ò‘$ˆœa!”žõ})EZJÚ´J€ ɨ¨ð%K—O›:iïÏ¿(ŒWÙ²³ÉÄÐ I’§OŸÝ¹kÏ';pשÓÇë6|µhÁ—ˆœ:yT«Õœ¶mÝL’¤$ŠF“ Åe«[÷ÄÑ1Gú!I’Éd|6~Ì´©Q|÷1£GX9•$éËeKV¯ZŽvÓYîêØ±C·n]pÁd6̘>E%ä ^XÝÇ¢1ìIYƒÁÉÉiÛ–M$IJ’ÄqÜÐ!ƒ22Μ1E%½ÞÐñã=ºuÈËËwttœ(t!š:eÇñˆ… âL&S›V­DI²kŠDQ5jõ©“G_šs1ÚŒˆà8ŽXªä Z„ŸjŸ¶ï¡ãf³Ùl6[Œ Ö,]`|ÚßD™&¬K7™ÌO•¥-ZV‘·bYÖú.ËQ¶§ßJ6ÿÊ!CFÑaž H·û6Q'G¾Âp‚ 1 ·sqŽã pAÿƒ•eyA<5ž ¢ôìÁç‚ ËCà„ôš!_õzÃ+ô¤D‚|§t‰”›“ 2dÈx]0Œ"íA2EÙ}QJ’J¥bhJBúƒûIÙ™`çi†ÑhtÚüŒôTûS\yÇ]â¯¿Š é Aà8MSïŽ.ÉDD† 2d¼ôz}³fMs²2pûÎÂÆrÇK7M{R J œÈÊÎÉÌ^¶b¹¤×iý âIåçk»tíò %±d²ž½h϶LDdÈ!CF)€J¥^¸p‘J¥*-8ߺ»yãW«W¯5šL%°Q¥V­]³ÖÁAÓ·o_^J DW—NŸ|Ò¿_?ÿ€€’Ù§éìì\³fwˆùŸûËe÷xË„îéüVuuÕˆ#¾¼5bĈ6mÚ¨ ¦ †a8ŽWæuíaZ5E¿Ôó­ÎøÆßàå4~²¾WÂA€º˜¬©ÊÿþvÔ ˜÷K³«4F´Û³jIIIúíë¿Ú Ëï ‹uøàÞow5©TZ\\,—ËY,–Ç«B¿a2™ìm†1þÅô ðßu¹ýɆþ½×Ç_½zÿ$ÂÆÆ¦FŠ gU‘Hôöí[+++6›ý+´ÊEÁQ‰ã8‹Å244är¹p|}øðA$afddÄåri.¢©VœRÅVO¦Ôg0~±I/Ì‚ ˜ÔëhQOÀT:þ¿yÄb1ŽËé‘ö3+úN”Ë–-;qâćôõõÿúë¯CCÃ*äU©Ãý[ézÕØôWEFðg8_1¨¾]v­^´²²²š5kÖ¸qc…BQVVvñâÅ ËŒ HE…(,lì¶mÛfÏž«]ãuû÷ߟ:uª¨¨ÈÀÀ gÏžÁÁÁzzzYYY“'O~ýúµ¾¾~PPÐèÑ£Zc½Ö‚Á@?Ω_¿^u曟ÿ ÊÁÁžøõ› oß½ËÍ}Ò©£fƒÎTšs8εë7¼Z{ŠÅâœÇ¹—ÆÎÕPºŸüpÕô©™ƒX,Þ¼y³­­miiéСCëÕ«øã#™QXX¸oß¾¢¢"KKK___x(+77÷öíÛ"‘ÈÊÊÊßߟÁ`”••={ÖÆÆ&##ƒÇãùør" IDATø˜™™ÁDÎ;———çèèXZZªò x÷îÝ{÷î±Ùlooo õNöìÙçÏŸcæêêÚ´iSAÎ;g``““#‹]]][´hAQ„¹.Š¢yyyׯ_ÇqÜÑÑÑÃÃ.Ož<¹uëŽãmÛ¶­_¿¾V3-ooï .Ô8ËÌÊʼpö ÀìÙ³Œ¨«§§qE4Žã;vì°²²*** rrrò÷÷ 0`@XXXIIIRRÒ±cǺwïNÏ`?“uêô9 Ô¯¶ƒ¢¨³çÎSÙ¸±3ôÓýK‘û$oËÖíݺþõ눓É>þæóùzzzUÓ¤q8œ7:88(н{÷¾|ù244ôÖ­[;vì`±X …âÀÅÅŃ~óæMŸ>}¦NJ’dnnîÍ›7çÏŸ/Ž=šœœìââ’™™yñâÅž={ÒÓÓcccëÖ­‹ HIIIXX˜*Ç9sæˆD"…B!‰Îž=;mÚ4WW×¹sç*•ÊfÍšÁÏHHHhÖ¬Ù1“²X .åååGŽ7n\§Nòóóãââ‡ÃÉÍÍ?¾V—ñêÕ«±±± …¢U«V]»ve0ÕÏ2) ¸»{ùgëÀ¡ÁÙO_GÇÆ—‹Å®ùá³ül{¾{ûAÑ»ÄÅÅ©F¥ŽŽÅ×®]èëë»»»_¹r…&"š’ˆY,Võ« Y,E‘ÕÓ1ƒËáüºÀt$E™˜ŸŽ¢è³gÏ ‹ÅÚvnû !M-èARå±Å'Nœ`keüí)ðæÍ›~ýú) ooï*äß>}:‡Ã¹råJppphh¨¡¡áˆ#\]]oß¾íСÃàÁƒ177 ­W¯^II‰››[TT”@ ˆ÷÷÷/((¸yó&ÔæEGG÷íÛ788X¡P<~üX=GWWW???ciãÆÛ¶msuue³Ù-Z´˜7o‹ÅZ³fM||üÁƒÿ„ÖV*•]ºtqÒ-Z´gÏžN:-_¾ÜÞÞ6JZZšV°nݺ)))p»vëÖ­/^¼ ­ 3 ÄÕ˯»o‡ìÕÛÊÊJ“æ'êèØÚÙ_ºp²§¿ÛMˆ§OŸ:T.—ûøø´lÙФI“Õ«W‡††–——oÛ¶ÍÔÔ”žçh¨DJ}}=H3`¸;©TúKCÛ (ª§«K~f6?|òth 2{VTÁËWÚXØW‹Êç ß¼~(ÚÆƒÁÀžåçìLÝ9i¨ÿ|XOO/***''çúõëFFF?šŽã:tàp8"lmmSSS'NœøñãGƒñèÑ#ج&&&õêÕƒ‚EQsdffúûû¬­­]]]¡wá›7oîß¿Àd2Õsôòò?~|zzºL&+))éÖ­@.—wïÞ®OsæÌùCš› X€zõꥧ§îß¿ŸÅÍÍM{mD(ŠÒÓÓ5êSOîÒ¥K@@À Aƒ ª;5´jDÄ­‹éÖ»"Óqxñ<Ó†ÿ´Kk½Å«h0/cc㨨¨ÌÌÌ´´´ÂÂB}}ýµk×Nž;?Êy\^^~ûæÇ9>eŲ́˜Øý{w7jä¨Y£Š¢ ›”——>¸W©$¢bbÏœ9¸võ‚¹™¡=F!•€~C¡QuäÛ{t‚ >üÝ»w€K—.=}úTe:ú3"#ü]ZZªT*7nljjšðå“êöêÕk„ €#GŽáñ]EKJK™Æçó5–`I)“©±kV³Téâ‘hŠ¢Nœ8¡zQ(¾|ù’$I“5kÖ¬Y³>幆 Þºu‹$IEI’ÌÎΆ/ ‚ÇIøá’$W®\ oyyyA£uÈd²ÀÀÀ… ª§ðÛû!IåÀ"÷èÑ£G°ìaaaª£FZm#""#####+u)<\bb¨÷+*A¡C‡:´R%TyœÒøÍ #>*//ÿK%‚ 8®hР~×n½ÜKƒ 㟇¾ž^ÝŽúúú8ŽCùs×î=«V¯EäıCææfv¶6Ž.ï _Ó‘ÿË]°`ÑÞ}4ecÏãqç/X¸oÿÁj0Ú‡ŽêPýE¢ÏW'²ÝTÏ«¿øUêxW]‰òÕ‡+]ÿöóP#GÈ¿¥ð[B½ªÕÛ¢RÙµzkæ{ºGõP"¸oB„——I’ÕÆ¾Ì…f!8(@á8þÏî66Ö_.eee{w§jÖ ºK½—qK©T¢(*“ÉòòòPݽs[ãÆÎ%%%wïÜ@‹—üÊ­¸\.‹ÅÒÜÖŒ†ü–¦Ã22î={öìÛ!ch@téÒÅÄÄ„®ÕÀà Fš ШÑ ” ÅWW"AJůX¤p‡bÀ‚¤EkÖn?nŒOxÂWàÚ-Ôi$’¢ø|›ÅøBàs$J½m¸\®P(PÝe2™pk Ê:(Šòù|•Ÿ|øƒÅb ¡Pðeh Š¢X,–@ šPÅårÙl6ŸÏ …|EQÕ3pó&Âf³…Ÿ/RE’$ŸÏc±X|>_(BešŽP¸oÿô;w Õí@i|¥õI222²Aƒt-Ѩ.BS5MBŠ¢Ö¬ÛP\\òeoäp87m)))Ñàtˆ ˆB¡X”LQTtÌì ·˜™™zµn-‰ ñß‚¤ÅZ=44c#"àóæÌMtqi|êÔ™LÖµk—ž=º«x‚ $A.]¶âÞ½ ŒáçÛ1°oŸ'N‰D"ŸŽ8l6 ´´4.nnì¬(•ŸwöÜùKeR?ßN}z«çÈãq=~äèq@n];wöCdeÊjK ‹´ô;/_½ªW·npð°ôôŒ#Ga lР æÍšØlÖ¾}Nž:ÃárûxµöÄ0F\ü|ø¨ÿ>LŒyøÈ±ÕkÖ9¢‰‹K½zuÛµkÃãñé±Gƒ Ú•!‘f-Š …WkO;[ÛÞ}úݺ~™Íá”––ÂeËÔÄ$a~RNÎãÕ«–c˜Æ‚!à8Þ³G÷á ¤s—îc##OO÷÷ï?ðù|##ÃÀ~}ÄÉMD‚>tp§N>ƒ±}ÇÎ>Ÿt‰$vV”™© ǧ(JOWïØ‰“Ö®277»x銵uE…hïÞýgOŸÀqì1{ã¦ÍÁÁC};uBQÔÐÐpùÊ”!ƒÂÙlNʪ5±³"=ÜÝI’À0ìèñã½{÷P*•CìÖµ †avv¶Ýº÷Þ²i®®nÛ6^ûðდ“ãÊ”Õ+V,qmÒÇq±X|õÚŽ;ìÞÊ EQ==½¹ óçÆÏ¶²ªÓ ~½í½e2m'Oƒ ZÇBPÅ0†B¡$IRSs8‚ ‹ŠìßÝÜÍÓ¡Q#CÇ™8Ž;~"dt˜L&KZ`i¡É0)‚=|áìÒ €2P.—kii1eêÌí;vŠD¢“Çk/ <¾K„““#ÔÒ;Ø7xõò5ã³ÆEQ…hÐÔ™wïÁE½w¯$Eê5«o@串É#ƒ‡ |¨é (£¤´lØðŸmÖÔUµÀ` ïß¿ïÕ»ŸªÃõèÞ EQ‚$êÔ±d2™$I`ÃÒÒ²¬¬L(2P” IE_¼ôõëªzqâ„0AI’´±¶‚éèËår P$E’Ÿý Ó,„ 4´‹… rô؉'OE̘feUGƒn×I’d2™i·®±XÌκúÆ(Š1|htÔL˜‘mæ(Š200¨×Àpóúew϶\¾>üŒMÖ¸»·‚öŽÚm#B}ø™R0PôÅ‹—VVV€×¯ß›“Ô'WÐ|>ô˜ñãÂF¯[›ÂçóŽ?µgï~…BéæÖÌÎÖ&yñ’7n%-HPwˆK’$‡ÍÞ¿oW³¦®(QZZ¦º+ .œ;iggÿ$¢¼¼rG‰Ÿ „ü²”±±Ñþ½»LMMa°’$¥ jeGTÿGÔ]¨Ñ\„ 4´……$yíÚé3"e2¡$bc£ÌLM5EàrÀf³(Šzñ,W] 'Ê´á"°,úzzœ]KKË^¿|*•JÕsT*•0ê‚Ö­PºQ(ÍiD8\îÒå+uuuH’X»n}Pÿ~r9®¢8>O,¿~ýæùóË–§ØÙÙ¤RYðÈa}ú/JJ¬´ØËåòÇ.Y²bÔÈáæææ³³eç$ÍŸ““ËåcÇŒŽž?aÜ}}ý[·oK$²ˆS)’R~L’øÌDHŠ¥PàacFO>i<—Ç=wî‚…¹ùˆCI‚üÿCè¥ÀÀ@¿   çñc[èT” 4hh ¹yóöØquutØlöé3g#&j¦Æ½ Àó,•Ô0šMA€H,¦(`hh€ã8EQ¿4ÇÓˆh8Ž”´h±T" ìÓ»wO‰Dbmmmbl,‰''ÍOZ´mûÎzõìú÷ïûîÝ{‚Pböþ݇æÍšuéÒ™ õÚ”Ëå;û!X·aÓ»wïBCFJ¤Rkkcc™Tл‚ ‹—,/--mÙ²ÅÈÃ$R©½CÏÞ—QÚ¬iSKV©$ìí…B!Ž+ Bèœy󥉷w;w÷–2™ÜÅÅ™Íþä$Ãá8;;I$ÒîÝþZ¶Q…hÑÂùõêÙI¥2wäȱi3"ç'ÎÑÑÑùÉ)—Ë''I$(#R^V¾"euCû¨È:::A°Ù¬ ·¬\µfÙ’d†‘¸âO$""±8>.ÆÐÐðû+WWG§½w»víÚh*,6ŽR@vvvTTÔðáûwï^…DAìWvïÞ=|øðnݺ0 û™"?~\,÷íÛ÷lAEƒƒƒ×­[÷“+Ó7¬¬¬`ˆAõp¾µ¤—–––.[¶,==ÝÛÛ;,,ìK7ǿߨÌÈȈ ëÔ©¼Ø¹sgE›5k6gΚaüÀƒar¹ÍÊÊúÆóê_òm1TëÔ!€-[¶@÷k«<×ÔN×½‚ˆÅâ5kÖ<þ<,,ìêÕ«Û¶mS±ÿ]Õ!ÅÅÅ{÷î½wïÞƒT·¦N:lذ͛7ÓÜâGë³{÷®¡¡£J¥âADØØ×&M”¡‘ì”JeãÆN..·n¥…/-)Á=‚àò¸íÚµ…r—ƒ½½D*ÓH7†* g§Fqq1J‚˜5+>1qaTtì_uŽ˜1ÍÜÜœ¢HÍI Å·SLj™Ó®\½¶(yIlìœ “'Œ;~ÜX]]Ýï™rO"¢²þΦ…*;ǵôÜ‘¦Féýû÷333ÇŽ«~t¹Ê˜4i’™™Y³fÍŽ;†¢è¤I“Ž= ­€?m6lØ`iiyæÌ ÃTk'‚ wïÞmß¾½‘‘Ñ!Càž‚ ÅÅÅýúõ322òóóËÉÉ£ÎÎÎnãÆvvvzzzÓ¦M›?>|¶ãĉÍÌÌš7o3EQ´C‡›6mjÞ¼¹©©é€rsscbb,,,/]ºT;ío¾GÒ¶m[‚ ôôôlll`¶;wî´k×ÎØØxذaÐLª¬¬ÌÑÑqéÒ¥uêÔ©[·îž={._¾ìíímbbÒ³gO‘Htþüù‰'Κ5 Aׯ_×6µÿ»wïnß¾=eÊ??¿™3g8p ¦ÜHI‚¿ÿî÷Ïc$I¦§§Œ1BeiHQ”OûöíiÛ*Ô'‚ ¡£GTénîÝzõìÙÞ»­§‡»FD‚ –/]ìåÕpåêµ “¦–””0™‹Å*(x5~âä²²²•+–Λ;ÛÏ×G}gÿç{f#GÇøÙ³är|aòß½zöœ:e’¾¾>I’J‚Êd@s=Ö*À·SÇÙ³¢/\¸´zíúY1‘£FŽ`±XAà \¡Àµ«§¢ß&z4~(ê¿ —)ŠÂq<))iúôéÐÍO6dLLL~~~VVÖܹs—/_ž‘‘áäätïÞ=Çß¿?lØ0À‡rssSSS}||:$‹UëÓ§OŸ={Æ`0"## ‚Ëå‘‘‘&&&ÏŸ?ïСC\\Ü›7o—/_ÎÈÈ(--0aEQMš4DGG?{ö,;;;>>~ùòå×®]ƒùnÙ²%55õþýûB¡°mÛ¶úúú¹¹¹³gÏŽŠŠ*))ÑÒyöòåËçõë×999€¼¼¼ÄÄÄæçç“$B999?~ÌÎÎ^µjU\\\TTÔ’%KrrrìííCBB`ÅN:•¢(KKËÚ&͈D¢¢¢"'''@Ë–-óóó5Bš« XÃÑõüùóõë×O˜0¡wïÞƒ š;wîÓ§OËÊÊ4uˆQ$¥¤¤„‡‡W¢ép£‰H•WÍÙ±ÑÞÞmU×7v¬§§ëììÔØÙIƒzJ·nÍJOOwŠ¢._¹:uZDYYyaáÛqã'=x¹zÕ ßN>VVuêÔ©£Ù±† HqqÑ“¼<@~~>ý´cîåé±jå2uIM‰ayùùïÞ¿ääär¹\èfmTððQ#GHe2-ê'Ø¿)Ξ>NhHcögé9 ø@ò½öÈ‘#‚´nÝZµ/ó3&ŸëׯÏÈÈ044ô÷÷¿sçÎùó碢¢‚ذa›Í>x𠃃CEEEóæÍ)Šb³Ùê1™ž>}JQTHHƒÁX¶l™³³óâÅ‹q?þüýû÷¹\îäÉ“»víúæÍ ’$—/_. L&j;¡(¿~ýú{÷îtîÜ9==ýêÕ«­[·–H${öìqpp„††Þ¸qcòäÉ€~ýúEDD¨Û#kã<ËåraÙŸÕ âŠeKûÈÎÎ1045ÒÅÅY&“ñ£‘JVÎ3™Ìë׌5æêµëçÎ_7!¼¢BtïÞý•+–útðÕÁ«Ì™ÓÓ8¹m¯>½£gÅ…O™¶lI2ŸÏÇ0 ’ZdªªRA6nÞšœ¼dÊÔIÖVV“§¡(2onI’,KëúíWˆˆ¾¾¾“S£Â·ôðûMó¿Œ@'Mš´cÇŽ·oßÿ¤5þÇÍÍÍ!!àóùÅÅÅvvv‰dÛ¶m;wîLHHˆŽŽV(àËej)¡Ý«P(„1œ(Š*//‡ÖÄðL¼J …ªŽ®~pæãÇfffð3x<Oƒ• g ÃV¥, ?éòå«W®\Ã0lqòßN>ï½PåóàAæè1ãš5m:kV”U:úúz!¡a'M]œœ¤£#Ô ýãäY IDATõé(•Êý%Î_}üüüªœ£££ã… Ú·o_VVöâÅ‹ Z¶l¹råJkkk///‚ Ž=êââ¾fª««KTxdddØØØÀÔÒÒ2++ËÉÉéÅ‹†ñùüJC ͪ?5jtñâEooï²²²—/_6lØü¯«cóø=h.´¼"ˆ®®®B¡(,,477OOO¯d¬¢kêůý•  ŒŒn߾ݲeËsçÎÙÛÛCYTïõë×ß`!ccc@ ‘ìôõõCCC)Šzÿþ}yyy¯^½¼¼¼Tž!* ¦ôD÷ŸÓà…‹—Ž9&—ãÐH ~½ºÏž½˜> z³–ÉdóæÄBéEƒ£Àçó/Jš>#òNFÆÌÓºwëú‹N*•ΈˆvvvZ˜”`ll\QQѼy³µ«W†Ž¿eë¶)“'âš>L›“óxÙ²•ô6†ÃáˆÅ¿N+–ýÛԵɀýd2¹vu•¯oÍ”—Wผi?#G~[Ч(*##þNIIyýúµŸŸ_‰T*…< &&fΜ9>|ùòeiiiçν{÷n׮ݡC‡(ŠêÞ½ûܹsÏž= ¿J‡Œ³aÆ 4˜5kV³fÍ>†¢(›Í:thDD„¿¿ÿ7ÜÜܬ­­+}€µµõÕ«W.\8lØ0ccãèèèøøøÌÌÌ‚‚‚òòrH­Äb±ª6H’T·v¬U¿ááá‘`cc3|øp'''›ØØXWW×C‡?20‰ZTL©TªRGQOå) Õö‡¬–íìš™™y{{'''·mÛöäÉ“ƒ âñxÕü *ïD_EûöígÏžmeeõók Š¢÷ï߇¿çÌ™ÃãñT,dÕªUåååïÞ½Û´i“ƒƒƒ§§'=Ë}/•„ÿÀÿ!@__—¢ÔŽõý•( %fdd0;6úI^¾Wk•嬯óâr¹ãÂB[º¹™˜˜ÈårA$I³fMSV,522T(4/Ò›››ÏšåéÑŠËåBžR™¬S'}=«:uäríÛìÆèqRS’´êw³fÍ £ ƒdôèÑPòîÛ·/Š¢7nÜÐ××>|x½zõ-Z´ˆïر#‚ ½{÷&IjŒ=ÚÖÖ¦022 ßµkW^^^PPÐÀQEQtôèÑ|>?++ËÍÍ-((HOO«úŸ²²²[·nAzˆ¢èÍ›7 FŒ?#22RåÕÇÔÔtÒ¤Iª×#""~ÒáOÍâï¿ÿÞµkWnn.TqMžýöíÛµó¬u-„\.÷íÔ±{·¿À¿[Ì!"‰4n e…BieUÇÖÖžÐüE~)QíÐ[©TBs—J¥M›ºÂxš5IvëÚEãªxÂðàj‹æÍ5žc5 s™LöúÕKEI’@2#ý–W»N2©˜Öˆü¤Fä¹SCF„å?Éþìg‚026Ó70þ²cUÙ9é7Þý†ÛVõ·€Ú¾É—¹#Ù/=NþçgTú­þº–*º+Õê7¨ä7Ê«²B¨…;VµÇ³*I’/^¼€ê%gbbbkk Ã}kü“*µÔožI$*óê4cb2™ûöþÓ²•ÇÖ¼±±©¹…Åûw…ŸU£ÏŸ>j‚\.{óêy5ØÐ(ŠU)Ësò^;zäÙÓ\ô×<Š¢ÅE'NœÔàð ~¥¥Å¿~½`>Íܳwÿ´ô &ƒ¬Óu&“uûæ•^}‡<ú¸:Í0¤RI~Þ“Îõzþ,crQ”A’¤¥eZ#R[T#U˜×¾ñn¥+ê~ùÖ¿eýd¿jâðíÏøò÷Ï”½¶©µ¾]„o”W5×Î`FßyñW³=E[´hÑ¢E‹oÓÁ_4*ÿs|ý™`³Ù™÷ÓYìêð,8l..g=ÈÀ~±•Š".GWW·ðMÁ³§yÈ/&[@(`0PCC£ô›JE5 m³­þ4¡Aƒ†v°½ª=@ãW ¤¤ÄØØ„ÅĪ£þ T*q\adrJ*•TCŽð¼Ï…K7 ´z(‚ÊqÜÚÚJ&•TÑŠ €Z2z0(S|úÑ4hРAã¿Àãñ¢#Âù¨cs‚ LÍÌ[·n£PT›%&@5ÛÑWŽàWØÒ~/TăֈРAƒ–§Q¤ðí»µë2>Ç–ûu I²U«V7oÞÌÍɬmQ!ihŸˆE× 4hÐønJ¥‡{«í[7–W”ÿjəψDåtÿf Ô‰ÍBhРAƒÆBI"‘X,ù ’ñßGç(ŠBQm ô[øßg‹}ºJhР¡]³˜š»^º6´Ð7±B¡ yÆŸØúŸÐahР¡eÌCµ†6mÚD¯aÚ ƒñ óáù — w&hcU4hh AäíÛ·k×®½sçŽÁ˜1cæÏŸ?uêTºr´(Š>{öüéÓgݺvþÑADû01&—Ç«¨¡h­#î4ù 'k æ¯Sƒi¥–¯îæþqJ¿ZduO©´¤®AÀØÎ‘‘‘ººº£GÆq¼K—.QQQžžžtUk5 †a?º½FQ¤µM}”Ö£|g%£è½û÷WÌMH˜7G=úMDhü’Éúüùó»wï^³fÓ\·n]IIÉôéÓÛ´i³gÏõP™ª5EQGGÇÌÌL¡ãæ=z¤NGPíÓ§OLLL“&Mè©Yœ={–Éd†‡‡[[[›šš&$$œhökËËËKKK¯_¿®¤>EdôèÑ­[·2dHAAÁ•ý7d¿ZäwïÞ©¢éþf½T³}õGñìÙ³:uêX[[[[[gddèèèÌœ9SãEÿ¤ |_&5Ò?•8Ž 4ùoaÇåR‰˜2j§]7Ý„5Ö3a0(Š"’˜˜X…y¢¾B»Ò­{øË‹_>ùo£(jÍš5C† ùžoP¥¶`Á‚™3gªÃÓÞvüù–ªÍ¥{øð! õÂ`0`§-..®Á5XGGÇËËëäÉ“–––¿ŽxíܹA¥K—Â"Ÿ9sÆÛÛ›ÃáX[['&&â8N³ZÓG?Í¥4¾U]ÕZБš«z S(ÿ&Š}ÿR!‰Š‹‹I’444 …ê·ÊËËKJJ(ŠÒÕÕ…±ËI’,---++CÄÀÀ@("B’dQQ‘H$b2™ÆÆÆl6~̇D"‘®®®zxk‰DòòåK¥RÉãñŒQ-**b³ÙA±X\ZZJ’¤P(444„o———S%ŒI’,..‰D¯^½‚Ùiu;ŠD¢’’õ"à à¯_¿ÆqœÃᘚšÂ½™LVTT„㸾¾¾®®ní_Ì(ŠrvvVQ¨C‡¥§§s¹Üêÿ Ø÷ììì‚‚‚Nœ8ѨQ#Š¢öîÝÛ¦MÓÊüüü‹/þõ×_ª #[¶lILLôðð(((˜}ÚÉÉI{‘Åb%%%Á"7lØpÞ¼y5âp8Û¶m{úôéÛ·outtÚ·o/—Ë7lذcÇŽŠŠŠöíÛ/]ºT[ô=pB§(jãÆQQQÕLDT,D*•æææ:;;_¹rPXX¸lÙ²­[·n”(•Ê“'O888Èår˜øöíÛá]kkënݺݼy“ž¾´¢÷VˆD…o þèyƒÁ`¼d±˜¦¦¦´Û›/AoÍÔçÏŸŸœœ>Àçó¡Vƒ¢(.—{ãÆG999¥¤¤nܸ1dÈ´´´¬¬¬Nž<ÙÍÍíï¿ÿž4iÒëׯœœ´zXRÅçóoܸ‘moo¿zõjx ˆƒfee;vÚ´i€3gΜ?~íÚµ™™™îîîZWÒþùÇÞÞ¾~ýú zwÓ P[RRôöíÛ°Ùì”””+W®¬[·N*•*•JM±Š¢ž?¾ÿþ¨¨(±X¬ÒªÈËË»råJ·nÝèéK Ö6ÍÊÊž-ðküc8κ ›:Êb1«aRb2™†iÑÔJkDjlÛ½{7ü}÷îÝÙ³g×­[j~—/_ž:u*ÜvÏçfÎœéææhÑ¢Å;wÂÃÃMMMGÝž66²/Úwîü…€¾Aí}ü9ŠaŠ¢E‹æ%,ðjÛ¡gïÀ‡³ lðæÍ›‘£B=[{÷èûv:Š¢>¿k÷^'OîòWïö¾ËW¤À-?»eëvßÎÝzìÜõÏèÐñ::B.‡s÷î½ÁCƒ½Út˜5{.Š"•N¤ðùücÇOtëѧ}¿”U븟'ÏÏwy»ÿÙãߥ{'¿®;vìær9o^‚›¶ õjÛaä豯^¿Þ¹k·o—Nþ]Ož: EA‡³qÓæ:ÿÕ­×ñã'9¶ŽŽpÜ„ðýûöë?È«m‡é3" ÅáÃÇ6mÞºdéòºõ½yóV+3 ( P…·šaffæææfddÒ¶mÛ*$2vìØÆ{xxXYYÁ38&L˜`kkëââbnnNÄüùó&&&{÷î511ñööNLLd0l6{îܹׯ_·°°°²²ÊÎÎæñx€eË–=|øÐÐÐ0$$ÄÔÔj2***Tó/Aªýè6CÝaŸB¡€¯DDD›Íž6mÚÿœŠ¤Q Àb±.^º¼qÓ–ƒ’æ'Þ¼y:GÈËÊ`0V­\ÚÆËk^¹\NÄè1ãûö X½z¹¿¿ï¶í©Ïž=c2±ŒŒ»‡›9ãîÝ{ÖÕÑÙ¿ÿЉ“§¢#gΘ6eÇÎÝ999Îý™«×®ïäÓaåŠ%oß.[žÂV³ü`³Ù'NžÚ¶-u¸±‰ sÒÒÒ¶íØ©äØlÖÞ½öî=1#2bÚ¹ó>Æãñ^¼(ضmGï^=—-Y¬¯§7`à°ìG%Í6tðŽ»ž<Éãp8Ûwìrùò5.—›û8wGêîÐБ‹-Je ,òóëÔ³G·Aý÷þ“jddX›…¸Ï܃ޚ©9„………„„ÀM ¨‘«‚,Î`0"##§OŸ ”]»víܹ3™óæÍ‹‹‹£( Ã0x·^½z7n$já|jkk»yóf¸vb·cŒ:Dôt§Ý—/_ªNÛ:99eff6nÜïJ¥RU)zôèu0^^^ç΃û8†A›Ù-Z\ºt‰ ÎÿÊ ÚHDT R@@@Ïž=7nÜ€µ 000øøñ#\ä›C‹ÊèééÙªU+X¢_}?~üêÕ+Àƒ ùEÅÅÅ© ûæÍõŒþßÁÚEDŽ?éï×É»] â£fâ8®$—ÆÎÇ5vÌèõ6Áf³÷ìÞÁáp(êØ°aZú7oÞ6iâB’Tll”¾žŠ¢Ožäe=zÄåq÷î;<|˜«kAÂ'Ž›?ðËW®:99öêÕÍæÄÇÅúwé6}Úü³/6›½cÇ®`OOwAÆ?gÞø°1ª»ë7lš;wvŠ¢ÊÊÊ=6lè`™\:ªm›Ö‚Œ ³wßþˆS1 kØÐþà¡#>~d³Yk×mذ~uƒúõ ‚xYðêú={v“ËåQQ3›5u >dRøT==]]]}}=[[¸§SûI3=¢j ã'NÂ_&[é|…Åb}™Î—áØ®tE7 ( I‰jÑU¿«ú Õcê“x¥‹Ú‹¯Y½h‚¨žùù×ÒŽúSBÓgo€M›6M:5&&¦qãÆAAA(Šnذü‹ U¯®ÔÊ4j')**666f±XÐØ‚¢(@‡#ÊÊÊø|.IŠç/\JN^Rðò%AEõ èBQ”±‘¡B¡„zbBI (úáÃGss3¸¡lcc *‚ /^ö÷ßËaÖ|>_½û¡(*•J‡ ¥:ýÞÒ­…êEËÊ+zôì«êÞ½zõB‘”¾ƒÁ B à#jh`PRZÊf³(B‘‚ ïßðéØYõâÄ ã€eôÙc“€ÏW*” ÔÿŸÚß|4¡AƒF­^`J¥r÷îÝãÇ7nÜ”)S¸\îÁƒ{÷î ûª“&(’433-xùR&“±Ùì’ÒR}}ðÉààóbŒA‘1Û¶¬wss€ê×°* EýÎ$I óüü§uëÚ!’•õˆÁ`P$Åb±fΘ2&t4ÇU(”¥¥¥b±Xí-B¨#ܱ}“w»vL&S.—WTT”••}ºKF†«S–¹º6a0R©T"‘ÀÝ[ üoxO¿?éâH’´´´Ø°nµ½}b±D.—ý`5uݧ@(’„ ^›4"´y 4j-?~1tèйsçB×¾¾¾6lØæÍ›GEWÑ9Ž÷èÞmEÊ*‹mfn~ñâ¥ù‰s)ŠT*Ÿ-IWP ¨ci‘ù0»¤¤,óaÖÍ[·GŒŠüïÙ@’$ ‚Ëñ  ÀÍ›·Ád17mÙÆápJ…O‡ö«×¬[µz­cÆEÅE—/_[¾l1tÉä#G [»ncá›·FÆF/_¾.LLœCI’2¹lü¸± ’’{÷ê¡££ó87EÐ3¦*•JŠüÿuX¡ÀUðJ¥’¤HÇ'M=kv¿À¾\çî½ûvv¶#G S(Ô眢€B¡ (ÊÌÌ4÷IÞÉ“§=<Ý9µX÷L©š…РA£6ÃÂÂâï¿ÿöññ,Êy:u:pà€ ]?4 EË–ÍCÁ{÷ì¿zíú€ þJ¥ÒÈȨ]»6 Àqyî]™Æ`0æÎ½iÓÖ i›6­Gnbl,Çñ^={@ÕI’v¶6†‰Åb¿N Å¡ÃG9lvŸ€^ÛwìT*•ööõCGÚýÏÞ-Û¶›ššUÖãxëÖž‚ìÛðÇõë×ê(K\\ëééJ¥²N|PzèБҲ²ÆÎÎ}{‹Å¢Ö­=ÌÌ>9]EQ´Wϸ‡åòjíifjŠãx·®a ìèñR‰Ô­es¯Öb‰ØÏ·“P €Yóø<ÿξ"‘ÈßßwûökÖ®wnìTk‰¥ö/öY“CÓ4hÔ¾ÙŠ¢úúú@mÏþÛ²eK@{õ @"‘º·jÙ®­™\ŽãxýúõœœÅb ‚ "‘dqr<è×¼Y3OA ƒÁÉd"‘hõªååååÐÇcëÖž *•ʘL¦žžÞ–Më ‚HZ¸¸Q#G¥’ÉäuëÚÍŽf0$IÊår…B¡Þ%IË–n^^­¡Ÿ'¸‡Ò' I’8Ž+•Jïvm|;ù ¢Tr¹¼¢B66Þ‚FýË–$—WTÀÃóª[2™Ìßß·{÷®” ¥L.//¯˜-‘H :ÇÐÀ`N\lyy¹¥…Eì¬( Ã***jst¤¡AƒÚ8U}ášå?Ÿ¡ñÇö…B¡RN@«R‰äÓ¹6E ©ôŠ¢*Ž ïCNp÷î½M›¶J¤R6‹1]&“}NYòÕøå—€Ïî‰Uwq\ã õÜ¡#U:Ÿ#~@.¢ö"®²h/Bó•a¬X,†®,UŸG«Ò Aƒ jK†A@TYr¹¼O@¯¦M]I‚0·0·µ¶Ö`l#4¡Aƒ ÕH8X,¦RI¤¥ßyœ“û¦°PI( =Ü[2µ×Á7I’úúú-Ý a)”Zº…&"4hРAƒÆÿ³Eq…bý†Í‰ÅÐÏ:A­Ûvðx}úÔÈ®Óû÷ï###;tè Ú‹LNN^·nÝéÓ§mmm¾†a3‰ÅâíÛ·GGG'$$LŸ>””$‰P•ËågΜ sss£;ÿwB&“öï×שQ£œÇ?~,`fhh`cmÕ°¡Ç«Z„XAJKËèêýQÔBB‘šÄªU«LLL/^¼¨Z„O&“yÿþýÔÔÔgÏž5iÒ$""‚ÇãüîÝ»‹-¤¤¤\½zuÀ€aaa™™™ ,077 ²··‹‹³··§›æ‡ˆ`JJJ`````àéÓ§·mÛàp87nôòò ÉÏÏÕÞU|¶“xþüy^^ž»»{õ‡º…‹“É4hPbbbjjêìÙ³§N:{öìÄÄÄ™3g …BՉП׭[·®_¿~¦¦¦ðÐ&EQ~~~ÆÆÆw ¡PH÷üíEЗ¹Tö r9®T*ÿ͇ƟÐ/þŸ{БÄÓ§Oß¾}›ššzùò夤¤Y³fUakF*•Ž;¶_¿~ ÃÞÞ¾C‡ÉÉÉ n H¥Ò3f´mÛEQƒéÓ§GFF8Ãá@íz»ví5j4cÆŒV­Z=|øêBhå‡Ö­¸¸¸† ÂÚ¾téÒðáÃ¥Ré¸qãúôéÃ`0êÕ«×¥K—¤¤$m/éÖ­[ÝÜÜ`„¹êï!ªhæAAA†Mž<ùÕ«Wëׯ6l˜¦¬C`¹®\¹RXXؽ{÷»wïÂ1¢žòéÓ§Ïœ9³e˺çÓ ¡AÐD¤Æ ££“Àd2ëׯãÆììì*‚ lmm ÀÄÄF%P¿[¿~}hÄ`ddï*•Ê3f¤¦¦|R%PÒ,䇖® Àßzzz0œAvvvÿÖ(Ú(Ñ >ü˵¹úqïÞ½>411‘H$ººº_zš‹üÐ:ýµ§OŸ644tuu­)¶‡ ¬Ò„„„ùó秤¤èêê8Á`,^¼Xƒ6==ÝÑÑQµÑÓ¸qcÀ–-[æÎ{ùòesssðïÇzÿ(p…§‡ÇÆÍ©r¹¬ZªU”ÿzÆCã“W’Dh"R«2iÒ¤éÓ§_ºtéãÇNNNUk×J*8KÂë•îÂ?¹\nQQQaaáóçÏá>€ÏçK¥Ò¬¬,;;;G·Îw‚P;”¯^íꜶϞ………;väóù5BRUáL—-[6gΜÄÄD•QðàÁƒY¸paÕ\sVŠ¢ª†KHHàr¹…Ìž={É’%/^T(yyyzzzFFFlŸ§(ŠÏØ·]WG°cËšêìŠÐ¶ŒÚÝy°°¨CÑD¤ö æþýû¿|ù2 ÀÌÌ,::ºj⦋‹‹ŽŽüÍ`0<==–––L´lÙRuÒ’Ëå6oÞ0vìØ¤¤¤ÁƒëêêN™2j¹]\\7nìëë»aÃ8ùÒø¨Ÿ0222rtt4iÒDeψa˜»»»V—ZR·oß¾fuW®\INNŽˆˆ˜}úh6;333ÕÑ÷ .4jÔhРAAÈåò#FDGGÿÉä»oÐ0z«„F•×¾Ò’•&D&•¼@QP$ƒ2Òoyµë$“Šq\Nëç« Ã.œ;5dDXþ“l(«‘$adl¦o`üæùщž$É/£i«.Qi“[ýîWÓQ} Ýô?Tÿꕦ^í_6Š6εķúË—/ï߿߾}ûJŠ™´´´ºuëjêo¥’Â=š¯ºŠZ¸5#•¿yõöO&“¹oï?-[yüg'7665·°xÿ®PU¡¤‡?*APEÀ‚R$YÇÚS)LhÔtÛü𤦚ÔßU]„ÓÍ¿Ýýj:Uþ’?êõ¦ª´ï¯v­ë–5Õ1àªoeeeee¾ˆH]zh–$©’RÙ¦üühýÀ`Ъt?OöÿŸ{|êOôÊCƒ ­àèê,f4hhë¸ÿODPº:hРAƒ 5šˆÐ Aƒ 4h"Bƒ 4þ`P…¢ˆfÔÑ ‰ 4hРñ]`±X{÷ˆŒšUýiÔ,hãg4hРQE¨Ž7«Ž2A~ªG‚@(Šª?ÝÇ©„V*•ýûÐ_,*=„¯T²S†wé¶ ‰ 4hü{ç5òÿñI6Ûèué¨tP±`Är*¢§wöÞ±K±¡x"‡'*6ì½÷ÃXÐÓ³ (Š"éuûnòûcîòÝ zŠ4çõøø,“d’)™y>3™Aüx]ƒ‘š–Î`0ÊÊÊ„"‘¾¾……9I’Å%%ÅEÅŽ|,èÒÅIEE%;;'77ÇqSS}}ýw)ïu´µ54Ô±85-]_O¯ººÚÜÜ Ã°ÙYÙ2™ÜÀ@߬°¨¸²²ÒÔÄÇñòò 55UŸÏÿ›ggk£¸Æ1 @ü(()+oþ}KiI©.O—Ïç ¬°µµ¹sçÞæÍá®®ý323·Zÿ^PX.‘H¥2©…¹¹÷¼ƒ[YZþúë‚ E=üûñÁ‡‡úà᣽»#ÓÓ3""v‘¤œÍb¯X¾8-=óêÕk+ôôô"¶G.]¼Ífß½ñâ•“'ŽTUU¡²@BÑÔ¹²jýÔX ªF`g"¾+(Ÿ-®Æp«När9IʹÇ Ù°NKK3rçîÍa[N?Ì$]žîÜ93mmmårùä)3úõë=wÎ쪪Êß6…]¾rmêÔÉaa[<¹ótu1 ;|èØ¢E¾YYÙ\‡ÃfGí; ¯¯º)DEEyïÞýlݾr岇}ÈÍ«ªª>}úì@÷]»tyþüňá?‰Åb‚ Ð×–QHR&“ÖXã‘€5 PZجeãøÆGeiiY¿Ô Á0lÿþýíÛ·ïÝ»·b L&»råÊöíÛÃÂÂNž<¹bÅ MMM”Æa‰äðáÃG=uêT@@ÀÞ½{‘4A4çf'éå ‰XDRdC“®Î=D"ÑðáÃÔÕÕ¤Réøq¿ìܵ‡ 2¹¼ƒ½¥¥eee¥ªªêßóü[·â)ïSû÷ëãë³€ ˆ—/_¹èÿ*)I&“¸ôèžú>@0‰7o’ùÁó‰€Õ|~qQ‘¹™›Í...މ‰ûùg¯£ÇNôìÑãÉÓ„Ë—‘xô0žI0Qé4ûöðôÚØÙ;}ÄqŠÖÄ?+›Qÿ4Š(£šÐþ ã8::ºW¯^ŠBðC‡•””,Z´¨ÎK|øpΜ9zzzسgO3"Ÿª­Ø‹Sc™Oí)ó#û±0 +ø˜7|ä¯ERYUYŽa¸X$‚y% Y,6üüÎ6¥( PƒÁ˜6e‡Ã‘“$‹Å211¿Œýùȱãƒ<nß±kÞÜÙr’¤þÍ^’$G{yš[˜“$É$]]]¹\Æã馧¥¿z•´vmÐü¾‰‰¯””¸šš$‰õw‚º•æŸ_ý"᱊ŠjQa¾âÎ2­Sü2s¹\¸5.œ=~ìØ±!Cþó»Äd2k7ˆžžžõLÝ"¢v÷™——'“ɦL™Oø–F¶ªªªoß¾ ?‚ihee•œœür$99ÙÐÐð—_~Ð;¾6“Z*‰NŸ>½eË–ÜÜÜîÝ»oݺÕÜܼ÷Á0i7nÜ;vìÖ­['Ož HHHX³fÍ£GôôôæÏŸ?gΜÜe…ã¸.O/3ýಕ”¸»÷îëÚµ³AðúÃ~"•Jÿ•q†a©tì˜ÑW®F‡lX§®®zõZôã¿?ººöߺmÇù ++*{÷vW$éСƒ<øËÕu€…¹Ùó‰—/_ëØÑÞÖÖfsØcc#]Ÿ†Y¾2`”—§D"‘H$“‰¶LkþHÄBØßýOuPŠBÑè”–– Æëׯ÷ï߯§§÷ÕB [M]]Ô»AhíŽóÃå ŒÅqÖ¾ A¹¹¹Ÿ:ú…Û–6‹>aNN=M|íŽ'r¹\QÔ.Ð&ÌŠÜÜÜË—/:tÈÔÔ4**jêÔ©—/_VSSk­î Ãòòò¢££mmmKJJ`¸¿¿ÿ´iÓöíÛWRR²añXìëë‹Z0‰DŒã 8r9iog;uÚ¬œòX¾l‘H($IR.—ÃÞF,û-ô‰ØÙ§Ÿku5¿oŸ^~ } ±4cÚäùÞ~ûöî"I Ç1x•H$š0þWÀ¸ñ“róòíím/ò‹%V––¤\Þ£»3‡ÃûóèM¡¿»ºɤ$IJÄbT"Í_åK¥’º{1”;M‡Ãár¹,ëñãÇjjj;wþºH.^¼Ø±cG6›íììüþý{ Ö.] ?»÷ööVUU555]¼xq—.]l6;..®wïÞ,ËÎÎîåË—éééƒ :{ö,†a·oߦ;Å¢¢¢¡C‡²Ùlkkë+W®ÀårùôéÓUTT ~ÿýwèîîîããckkK„²²raa!†aÐpÄ0lݺu<O]]}þüù°­ß²e‹››ÛðáÃ9މ‰É­[·¶mÛf`` ¤¤äããSQQÑü-N Üœœ„B!ŽãZZZ0¥7nܰ³³c±XùùùE•––±jÕ*555uuõˆˆˆ³gÏ:::²Ùìž={~øðáÖ­[Ë–- Â0,;;›ÍfGDD´iÓ†ËåŽ?¾¨¨¨ ³‚¢¨¶mÛž={¶cÇŽêêê‹/ÎÊÊ’H$ÿŠ¿e2™T*…v°T*¥×¢h2•Ëå÷ïßçóù#GŽ„)¥(êúõëcÆŒÑÕÕµ¶¶vwwóæ j¾þÍ0 ‹ ò¸w3åmÒ–ðÍ8ÎK$cF{mÝX]]M+¼E~>Oÿõ.ùå®ÛÛµk+“ÉÄb±‡ÇÀÌôw}ûö–Éd‰dì˜Q¡›Bª««e2Ùøq¿Ü¹}+5åõ…s§{tï.‰”••Î=á5Ò“$I5uµ¬ŒSc™LŽ!Zõ™ÓèejZ²³³“““û÷ï_£ÁýB ÆãÇ£££ÅbñèÑ£g̘ ‚¬[·®   °°ðÕ«WÏž=ãp8ðèóçÏ÷ìÙ#‘H,X0a ‹Û·o;–¢¨þýûÓ=ÍÂ… ---Åbñ–-["##Ÿ>} Xºt)ŸÏ¯ªªzøðaLLÌáÇ¡¸yõêÕÝ»we2™\.×ÓÓ£(j×®]€;vŸ¿nÝ:CCCÀܹsCCC^¸páøñã\.—Ëånܸqþüù@àëëkcc/ñööTWWÓ´ôcüù矰‹|ØÑÑÑÔÔ”$I(¹`PåêêJ„ƒƒ4ER$&•ÉÚ¶µPWW'I’Rxñ-²L–Ä…•Ÿ¢(¬á^f“…„H³£¼¼üÏ?ÿ„]×WO`0às„B!ô‚”””hÓ–¾¤þ;ŠÅbúhÙÃ8鮈ÅbÑîk%%%PË‹Ža˜X,ær¹0DYYY$}êh«¨EµÅœ{óGñáim¡ø55†aL&³þÌg2™ÍdŠ ýþùçîÝ»}}}»ví }ÚŠH$ Þ¼yó§NÈÌÌ|ýúµ½½ý·§×ßß?88øÀÿý·\.?~¼ÔYYYr¹|ÕªU[¶lÙ´ij¾ÔÕµ0§(*4ô78L†¾zhæ±€_%“É øÆq\EU½_ö}û¢:u°EB¤yõaIIIÙÙÙ^^^àŒ´©=²Ó£GcÇŽÊåòýû÷ÓNuEÕRÏ}œœŽ?>nܸ·oß¹W¯^;wî\¼xqeeå­[·:vìH;jÄwîÜùâÅ‹]»våp8{öì^:•S€ŽãB¡*-]]ݪªª¤¤${{û“'OvèСvJ7×øTw®¸N]“·Jb±øÒ¥KW®\Y±bE=jøÌç5IOO¯G…Œ$½~~~………ÅÅÅÅÅʼnNq8{öì!C””” ì–Éd¨ùè·1F™ÐúÈýI×pƒàéµ)+-þöWð·É¯Wú¯ºýÿ<0PˆÀ…ÌÐwOX, ?~ü·˜˜•••t¥¡(ª¬¬ Z´dÉ’Aƒ)++Ó¶8ŸÏ+Ì0‡—K¥RØæÊÊÊ ªØ°aÃêÕ«;&‰èìì øí·ß–.]'—ËÍÌ̦M›Vã1˜Lf§NúôéóóÏ?{{{{{{Ž9ÇqƒŸP(~Êü…ß"3fÌO?ý¤­­}úôéN:¹ººúøøp¹Üêêêµk×BµQ^^^y)ÍÐ#Ý6!™™™cÇŽÕÔÔ¬¨¨ËåÕÕÕgΜÑÕÕmL-B{õêdîܹ˖-SWWÿv? †aôàf`` ’’Rûöí3f̨¨¨`2™ÆÆÆpˆh¥&òÿûK"|üÀ`|«ÏǰÇâ96m_QÀ0 —“ÿóˆ EU&“¹fÍ++«o118g8”••ábe“&M‚>,,,vîÜùîÝ;‚ JJJ"""kÖ¬QUU¥c¸ÿ> oß¾ÖÖÖ0äæÍ›pJGŸ>}vìØQPP ¢¢bee¥ªªJQ”]DDć‚h×®üêøàÁƒ¦¦¦t·±gÏžÔÔT###€¡¡áúõëÓÓÓI’411177L:UѬŒ§O:µí_µiÓ¦ääd:ÿ§OŸîââRUUÅãñlmm1 SSS»{÷.}þÑ£GaèC3gΤ_ÎЕÁÝÝÝÉÉ©ihddC,/™LÖÈßîbfbbråÊ•ßÿýîÝ»0£p···wuuõôôìØ±£††Fƒ{fÍšEOš9sfJJJuu5—Ë533ƒ®Aâ‡8ŽûÊ´%¬$“Ë“’’ôôõÑÐL“Á`0¾ÅBQ‡1Ñ­[7Š¢à\HxàÀeË–UWWOš4iàÀ€víÚ…)x...EiiiiiiÁÖ~å O°³³³³³£o´k×FBÂax Žãæææ°»…G á#)†(>C¯^½èßP¾´ˆ•+)ŠâñxP´Át©ªªÂYŠrÓÙÙ™Nɂ҇ఌ¡gÏžtä::::::M˜E)++»ºº6m>1dÈž={ (R ›ÍVVVVœ™Ô€¹DÁcÖÐЀî@ÅÐÇÝ”á&‘Jÿ£=@1 SS36›„H3Pœ_Û¢)Î$ýT ÇkÓ¦H$š2eÊ’%KjœVcšHñÔÿœÿõ’ÚçöIZDÁÕÿÀ_’Ï5bhYÑ|&ÌÂÅZ´´´>uÂwJø§bF*$Çq‰D|ü䩼Üü1cF›ÿ3’6 Ç0$DZy]™6mœÆèo±PŠhE2Õg¢ñm¸Ðˇ¹GŽ;uæ\UUÕíÛwW¯ ppìÄú÷ÃÀú_O ä2ÙËWImŒŒÐ‚f?P#Þâ>ŽE DsS!¡Pxÿþƒ…‹–Dí?XUUx—’2aò´-[¶(n_OTÁìÔ©£²²2f©"¨_‚€vT™YÙ—/_;xèˆâ'R.ßuàñãg~ ½;wvTUUQ\ ·–¡ (Ь¬¬”Ëå (@¡x@Ô AÕÕüGþ>rôؽøŸ:-ñåËEK–ýúëØÑ^#p'IòSk&K¥R⟆)0¤E@Ô¡BRSÓ.\º|òÄéÒ²²úO.--Û±cwB‹)“&ôêÕ³î ª(ŠãV––6MVE QE±Ùl‡N­,-éeEãVLìÅKWH’´±±ž=kÜ»@Q$€§Ç«gb"EÇZâ@ DýÈårCÃ6ÆÆFŠ·‘—ŸéòU§ûÓÐÁpãw·e€$I’$?÷µ&…„@ ˆÏ@QTe¯a(IQôîÿôùîZŸjü¨óè—œCýÀÓœQÎ ˆ„oYúá³×"!Òû°F¨RÆÆÆ>|øÔb©,K*•VTThhhÔ>G(b7^ÿ’ÚÙZ»d虄*vïÞýï¿ÿn•K¶(e£+¼‘¢Â«}ë†z˜‘7í{Š@ü !Òd}˜L&ËËËKOOÏÎή®®nä5OY,V=·ƒG¡"©}´M›6´^ùÂÄfgg·Êæ»Î`2™ß¾GT³­·™™™ééé999V]áANNŽD"Q\(‰$Éââbøq`ƒT0XíAzzzUUFŠ¢d2Yfffaa!Z@B¤•pîܹQ£F >|øðáëׯ/**úv· õ/õÛyßbØ‘$YVVö©k?uSSÓÏ.´×B=ujޭɰþõ×_úé'zÏçFãå˗Ç?xð ½Â4àÖ­[Æ +.. ±Ö;,©TzèС¶mÛîÚµ‹Ç0ìÞ½{VVV?ÿü3j»ˆ†MVm2æÎ{ýúuggçÒÒÒ‰'Þ¾}{ìØ±ÿÕz‹‹‹ÓÐÐx÷îŸÏwppèÒ¥ l4‹‹‹ããã -,,ÜÝÝáÉ|>?666??¿wïÞb±6Ü"‘èÆ?~TVVîÝ»·©©©â-d2YFFFll,“ÉìÓ§™™ŽãGŽ™8q"¼6999>>^IIÉÕÕU__ðÚFGG3™Ì;vp8œéÓ§·*!ã©©©ýõ—D"±±±éÑ£Ü2;777##£´´ÔÈÈÈÝÝÉd¾yó¦  €ÏççææZ[[÷íÛ·%¦—$ɇê^໩= Ãìííúé§àà`Çg̘¸|ùòĉ=<<$Iº^’““=z4iÒ$Åp@òÇœ9sµ]"­MMM€’’’®®.“ÉüŠHBBBD"QçÎ¥RéÙ³gCBBœœœÊÊʶoßž––¦££sþüùêêê‘#GŠD¢C‡]¹rÅÚ0îþß IDATÚúùóç¹¹¹°Ù]±bœ’ŸŸŸ°dÉ8ò)++Û¶mtÈß»woÆ úúú“&Mš8q"ŽãQQQ€”””GýöÛo***5"\½zuff&I’)))\.·•"‹ÅÚ¼y³ŠŠJeeå•+W,XàîîÎår£¢¢Úµk'•JÏ;—››;sæÌ+W®lݺuôèÑ€'Nº¹¹µDá¥Øg7pØEUU500Çñ5kÖ0™Lƒ1gΜѣGGDD¨©©}v‡­/D*•žÛ·o÷òòÒÓÓ«¨¨èß¿ÿ€¾®#ìÔ©SHH›ÍÞ³gÏÚµk/]ºtçÎÂÂÂ]»v)++¿}ûö—_~9rdAAÁÙ³g·lÙÒ©S§'Ož;v ¶Ý}ûö9r$ŒmÞ¼yOŸ>>|8?‡Ã™6mš½½½@ pssËÎÎÖ××§íT--­yóæµmÛ¶¬¬¬k×®***ŠÎ;÷îÝ»sçÎ]ºtéÖ­[Á÷Ù´½ ‘ÉdC† 1b ,,ìÌ™3îîoß¾‹-b³Ù·oßž?þÌ™3 ‚°³³ äñx/^lB¤Fa5aÙA-Âf³8NHHHnnîœ9s‚‚‚  i£(êåË—=Š‹‹[·nœ„aX~~þîß¿ŸššŠ.¢ÁÞkðÏÒî8€ú÷¢1¹víš³³ó¢E‹ÆŒ“™™™••õ‘ˆÅâaÆA?ù¨Q£žŸ¯¥¥¥®®Þ°SmÖ­[·qãF›ÍVVV† .\¿~½ºººŠŠ Sa‹sñõº_Axt†ü"Ë¡C‡àîɳgÏ~ùò%T ÿ ÇéýËÊÊÔÔÔ$IN™2Åßß_.—c¦¤¤ÏTüă^yÆÓÓsåÊ•NNN , …ŸµŒ;*Å£ðOOO'''uuõùóç‹D"ðï¤ÎVæ©?5R§8Gðêêjø»ººZUUµE$ÍÔÔôîÝ»†Ñʵisøèѣ˗/÷÷÷WQQ RQQñññùÜ “U/_¾G„P(‹Å666nnn.\¸zõ*‹Å’ÉdÕÕÕëׯG-H¤¤œ„¶îWh@{DM‚‘‘Ñž={ ïß¿×ÒÒúŠH”••W­Z•••UUUµpáB8ÃÎÙÙ¹¸¸øÉ“'æææ ÃÏÏ:-LLLÂÃÛ6m¢ÉÌÌlÛ¶­••ÕÇcccëüµþ&¾ÆÑ¬¬, KKˇÆÅÅA R]]===½¡¾±l†žƒÏ†s8œ#GŽÜ»w¢¨9sæL˜0¡E,‹Õ¾}ûvíÚAßÃ÷[ÀãKTȹsçfÍš5kÖ¬eË–­X±bóæÍ .„s˜ªAaaaYYÙ’%KÖ®] ‡Ï*++‹‹‹?~üÝ£G¤BˆL&›1}ÊëW I/Ÿ>°^ßý?[Ô(+›Š3gÎìÝ»—Åb 6l̘1üŠH¤R©»»»»»»AÛ¶mýýýË–-ƒ_©ôïßÎ`ÐÕÕ]½zõÉ“'Y,Vaa!màîß¿øðál6ûÔ©St¯ (~Áf³á\Ex´Æ:"ô™ûö탞>}šöñwíÚµÎåÑZ4tFAŸT]Šk´`Ï‘Ëå]»v]·n‡Ã‘J¥›7onq ~4«««‹ã8ü=lذF(Px‹Û·oO›6müøñÁÁÁp^ÈÂ… ÃÂÂV¬Xqâĉy ø\.œRÍápè¹Õð7›ÍV D ~ê{¹‚€¯‹Åüê× YY™†cÉb2ž=yÔ«¯»HÈ—HÄhÝž¯† ˆÛ±7&M›Ÿöþ ì¼IR®£«¯©¥[ÃÈ«Óòûr\]]CBBºuëVÃ<­=FP§á^çI’T\þIŸ Уô%ŸMWkQ̨R;¥7n”ÉdAAAßRÜÍÁGRã™kÔ–ïGrrò­[·Æ§£££X/]ºÔ¥K##£ï‘Ì:«nË­ÃÕÕ•y²àþ¨L&óÜÙÓÎÝz|¶’ëêê´iSX Çñ;q7§ÎôAí|«$7'S(äÃFžÉbµ14}÷&‘A|붆߻ã»8àúµ =\úgf¼Çp‚¢pŠ"MMM ø† ͽjJ[³žÀÏzDQø’1‚φ×èWàŸŠ&¾âŸtÛô…éjMêV1£jdHí”Êåò[bVÔ~æFP!PFÛØØØØØÔžžž .jÔözˆVÜI‰Eâ çÏߎý“Åb7H„r¹¼† 'Šô»Žò½%2xð`===”ÍŸN:}õÖ”¨Aür•€@ ŠòòòÐÐPM-­†Qåå)KD¥ñ¿Sм- ’$W®\ ZÝâ­Š¢àW¾¨¤DKiµtt´£ÿ¼Ü€Ò~âó„ÿ§MþŸGÑi’e.ßbÓ£’B -¥Õ¢( ®ÔP…Pç|”Ý@ šÌ¨FY€@  @ Hˆ @ !‚@  Dó…þª íŠ @ A46†Ýºu«°°}Ú¢ 1)))11"@BÑvp=!_B```rròº„$Id‚7tN~#gÏž=qâD‹¨¥­¾æÔØa˜¢¨Ú¥ÜPåŽ@ ib¤Rippð°aÃV¬X‘““Wù¯‘¨¨¨À-¬þC‘ãøÆSRR þ­/ŽOŸ>ýÛ»%¸we3L †aR©4&&fúôé#FŒX¹reAAhÕ˲Á]…<==oݺ…aŽãsæÌ2dÈ!C<<<‚ƒƒg“? ÄwoïV­ZõæÍmmí”””4`û®Ø;B}£¨rnݺ%‰>eÝÖ0 4›ø?åð¡C‡þÝ]™l•y’››»}ûvoooeee??¿êêêVì”––ž={öÅ‹/_¾„á{öìY²dÉâÅ‹—.]:bÄÔ|!ßEˆ Ó¸ñ‰ŠŠŠŒŒtww÷ññ¡(êùóçßáÂ… õõõœœ®]»†ãøÂ… ¯^½*—Ë1 ûóÏ?1 “Édûöí344¼{÷®‹‹ A2™ ðÒÒÒ±cÇêèèxxx¼}û…æææÇoß¾½¡¡áš5k^¾|9iÒ$×½{÷ôôtäMÁq¼OŸ>r¹\CCÃÔÔÇq Þ={Ö·o_]]Ý)S¦@EE…ÍÖ­[ŒŒ,,,Μ9sïÞ½~ýúñx==½¢¢ýö{UWWGFFúùùA« ‚ ttt¸\n¯^½¢££‘ G nÁ Ž„}S1dÈ???>Ÿ}æÌ™olÝ¢¢¢öìÙ£­­=hÐ —¸¸877·7oÞÈåò}ûö±Ùì‹/–——WUUuîÜ™¢(6›Íf³1 “H$±±±›7oVQQñóó+--…B„$ÉèëëÛÙÙõíÛwÈ!žžž***‹-ú믿PñÑ64—Ëår¹€÷ïß3™ÌéÓ§«©©mß¾ýÂ… ÐtæñxÁÁÁjjjêêêk×®uppÐÒÒòóó»wï^3Oü±mÛ6 ÃFŒ±hÑ"UUÕÆ ¹\þèÑ£¾}ûš››Ïœ9sÛ¶m.\8vìXPPPÛ¶mgÏžÝPŠçêÕ«l6»sçΉ„ÅÅÅB¡000pÓ¦M.\@Zh@àÐ %ˆF%***++ËÌÌ,**ÊÉÉé§+pWVV.//777ÏÎÎGŽ9qâÄž={ÊÊʤR©ŠŠŠ\.§YŠ¢ªªª`WÊd2e2™T*…GY,4 ™L¦’’m›¢¯jëð±X €s‡ÕÔÔÊÊÊþyÇpœ>Çq555ø'›Í¦ ¢9§àííMQTll¬¿¿EEE#?†L&;tèP=>¥Û^¿~ý_¿ûTzW¬Xáíí]XXXVVVTTD’¤¢æ4hД)Snܸj>Ñ m -D(@@!-ÒØž?¾¨¨håÊ•mÛ¶m׮ݷÄfccsûöm@EEEVV–¾¾>ÀÙÙyÇŽ&&&½zõ’ËåW¯^íØ±#mbÂ8Ž·iÓ&)) ••EÔŠ61=(Ž ÁÚÆ:œgPWW—J¥ùùù€§OŸš››×ö.ÔÈÉfžŸ†‰D¢ŒŒ ø§‹‹Kyyy#‹'Š¢rss§OŸ^Ï9ººº*** r;MMÍ9sæôïßÿøñãÛ·o‡Î¿äädè áóù999êêê¨æ#  B( P€ Û$D™ÐÐP{{{’$_¾|Ù¯_¿:|E$B¡v AAAÁÁÁIII999åååƒxyyõíÛ÷Ò¥KE >|ýúõ111‡S§N%$$øøø°Ùì)S¦øûû4èáÇ]»v555­q©TJ{ªŠôèÑ#$$ÄÔÔtêÔ©vvv¦¦¦«W¯vpp¸té’··7ü$ÎZ¥ËKq>Ÿß̳·¤¤$44ÔÎÎÇñÄÄÄ‘#G*êÔÆ¡²²²ž£ýû÷_³f±±1EQß(ì`áïàà`%%¥^½zvîÜill¬¬¬üáÇŒŒŒeË–¡š@4ˆ±…#  ¢¼Îôb0ðü¼&fme2)üÚåÓW·h™iËJ‹hSXIY…ËU¦ÏiÓ¦ÍãÇE"‘§§§§§'<ç¿æ9AŽŽŽêêêvvv***III3gδ´´ðx<‡3aÂ&“ill gà8nmm“““––6dÈ‚ $É»wïìììf̘¡­­ #ïׯ333 ú¾ô¡GGÇÄÄÄ’’777eee{{û‚‚‚ÌÌÌNž<~JÃår{öì Ïg2™NNNptÃ0%%¥ž={â8naaaffÖ Èáp444‹‹‹;tèàííÝP¾‡/÷Êhhh‘——WRRB‡º¸¸LŸ>}åÊ• î±£(ÊÄÄÄÄÄ`cc“œœœ••Åãñf̘?œi‰Í£D"®ª¬€c… #ùÍkC#ãÏæƒ²²Šªª*Ÿ_M»ñ23Ò;wC¯«¤ª²\&“~§ê-“IËJKÛ[Ú”——bNQ”††&&ð³220 ÇqŠÅ"ž=yÔ«¯»HÈ—HÄHˆ|5AÜŽ½1iÚü´÷oþ]gB®£«¯©¥K¿Þ5²÷+š6ú’:cSl—O¨qr=×ÂC5îR#ðG¦F®ÖÓÖ™“ðI’ô$’æ–¥Ÿz¤ÆT’$²²² {III‰Çã™™™6ó¿%áuÆÜr‡)««+ó>dÁiLL&óÜÙÓÎÝz|6çuuõ Ú´),ȇÇñ;q7§ÎôAí|«$7'S(ä§ê- ÒRß:23ã=†1H£(ÒÔÌœ@ùÞ4©ZÅüO_òÙØÿ¬çPÑÖù'R!õçjgÖY^ô2Í0K?õHù¨Pà8Þ¥K—.]º4Ž*ªçÍB•hpÐʪ¢%Iv$ $D@ A „@ "@ A @B@ "ñ­Ð;ðÕ‚@ A´êß\Wq¿Y”Qõ¢,jX‚aXQQÑòåËúôésñâE¸X-Ê D««8ncc#“Éê´>1 333C«HÁŒ²²²ª!Gp=ztbb"Ê¢ðÒÒÒU«VUVV;vlÍš5Ë—/ŽŽF™Œ@ !‚h0ƒ(ì¯Þ$6_NNNížÀÕÕ••õå‰jݾìììÚ­c³âO\“hbbbee¥¿¿¿Ý€"""‚ƒƒ¿G’S÷)ÿòÄ Hˆ´ª««1 Ã0lòäÉô^$†-]ºTMMÍÄÄdß¾}0ä Íz„KáÿIåPKï"ûÙvúÒ§M›vðàAÅýÃZŸ¥þÝ[KéÌ0 KJJ‚[½0 XKKK›ÄQ\\LÜåàááñìÙ³†ÍLzÛš'N`¶uëVúÅ|ôèQÏž=¹\nß¾}Ÿ?Ž<1D‚6½k2TTT(Šºwï^xx8¸sç΄„„’’’ÌÌÌùóç›™™¹ººÖßUTVV–••Q¥®®®©© ¨ªªE Ï”ËåÅÅÅ|>ŸÃáðx<‚  {CSS³´´ ©©©¦¦Ùêêꊊ ’$UUUµµµ1 +((ÐÐÐ`³Ù©Tš——oª¡¡GëaäE©©©ikkËåòêêê’’’¬¬,CCCx»V)(ËÊÊ3 Ã0¡P˜››+‘H8ŽžžÜÙN ”””Èd2]]Ýá±··§ûøK—.=}ú”Ëå6Í„ÿ?«I"‘°X,Р{áÂHÒÒÒîܹ3tèPztòÕ«W&L8uêTçÎãããß½{çèèˆZ°æP?[±"ü¡v8GB¤‰áóÿ߆Ëؽ{7“É´°°øå—_®^½ZÁ0¬¢¢"(((>>ž$Ikk눈==½½{÷îÚµËÆÆ&55UOOoçÎVVVr¹üÞ½{!!!ùùùJJJ«W¯öðð ÂÌÌ,00ðÏ?ÿ¬ªª8p``` ¾¾>›Í ‹-//·´´Ü°aƒ½½ýСCÃÃÃûôéƒãxppðõë×+**œ×­[gnnðàÁ/^H$›mÛ¶=zôèüùó÷ïßOLLÔÑÑi}ÅÇb±BCCaFY[[oذÁÖÖ–Ãá9r$==ýãÇjjj!!!ýû÷‰D;wî?>>^EEÅÏÏÏßßß¾}‡Á`„††ZYYmÞ¼yñâÅW¯^-,,ŒˆˆX²d‰‡‡ÇÓ§OW®\Ù­[7(Ú·oÿìÙ³²²² &}úôæÍ›<8~ü¸¥¥eHHˆŸŸßµk×ZPJOŸ>mii ÇÆ,JÚÓ¥K—Î;‡……õìÙ³ººúÚµkÛ¶mƒ½Qýßyý§{effž?þòåË[¶la2™0üéÓ§VVV/^¬ªª277÷÷÷755EUs ¢¢bòäɪªª­,]ººº§OŸFBÑ4$I» ¿äëÄ,]ºTEE°bÅŠ.]ºÄbñ!C¬¬¬K—.]½z5 ººúöíÛæææ7nÜ`2™111Ðà#bÒ¤IMMM##£ªª*€D"Y¾|9¼EÏž=÷ïß_£½öööp8{{ûââbÀªU«Ž?~ðàA±X\VVgq …ÂêêjEóº•!•JaFaÖ£G“'OÂTÏ;6ŽÃ† [ºt) %%ÅÞÞªLÿ¦àø:»S,ÇÅÅ >^[[»AžŠ¢¨íÛ·¿yóæôéÓÉÉÉ OŸ>ŽŽŽFFF¿üò ìöºuëƒZªfR9¹\î„ Zkê~œá?ôÕL£ªª çÜAÆÈÍÍ={ö¬‡‡Gý—÷ë×oïÞ½åå倀€€Ÿ~ú Àf³ÏŸ?Ÿ˜˜‡ PWWwqqa³Ù³gÏž={öÇ?1­³ÆÓõ…\¹rÅÉÉÉ××÷×_ÍÌÌ„-“É„.–V¼ö”b{Q#OSmkkûâÅ‹—/_BÑ6xðà–"³„Báýû÷mmmŒŒ@£{¶`êë뇄„äææNœ8±¤¤z•Ö¬YdiiI’dCMV½}ûv@@À²eËzöìéî&Ož¼nÝ:@qqñÕ«WíííQÃÕL*'J"ˆo‚Ïçã8îæævúôiƒqဟŸŸAÿþý]]]¡°¨33³Ž;Èåòß~û †ëëë/Y²D[[ûñãÇüñ€ÇãùûûŸ>}ZOOÏÜܼ¼¼NøP\¸L(Bu?~¡Q@åry‹ÅpˆgóæÍáááZZZ...pDfĈ;wî„_Ü´Ê÷J(*Zíµ3Š¢((Å8tèÐÑ£Gëèè$%%Á©$-‚§OŸ¦¤¤ 84Å'ÇPÌá8Þ³gÏÈÈÈ´´4ooï™3gnܸqûöí¾¾¾,«¡ª†aýúõ0`@¯^½ -,,àøÚ¢E‹ÊÊÊŒŒŒMMMgÏžš/¢!_s€Ÿ•‘a8ŽS,ñìÉ£^}ÝEB¾D"FÓ¿‚ nÇÞ˜4m~Úû7Ð7@’r]}M-]ESO(Ò&°Ùl8°"•Je2†aL&“Á`|ÖA'“Éd2EQAÀéu[¶lùøñã¦M›„B!ƒÁ`2™ô]¤R©\.Ç0Œ ¸2„P(¤ÇÂ¥R)<$‰Øl6¼J.—Ëår‹%‹™L&ŽãŠ—À[3™L’$¥R)´Mရ͆r¹œËå¶ÊêTFÁ<‹Åž •J)ŠR,”æLWÓ>0ý‡>¡eÑä­(2âãã ±±±“'O†ö=FÓéwÆ\ã­D4Ð:"­44Ó QUU…+›!­¦9–Ëåááák×®]³fM\\\LL̯¿þ*ãhé H+l¸g̘ñ£ jDkÖa@¹fÍš€€€yóæ1™Ì+W®Œ5jìØ±h•kå!¾¤nˆD¢+W®Ôvô¶t¸\.œ•…„¢7Üà›thÝ'%%­[·nþüùL&“¢¨=zœ?><<üÑ£GŸÓh­TVVúúúª««·²tééé!!‚@ ÍøŽ‰‰ÉÁƒé8;µ{÷îpõIäüûaÑÒÒŠo}K¼·¾!!‚@ Z*µFí•÷ ùaE*AmÛ¶m­©C“UhI"¥ @ $D@ !‚øÞÐëmváíOùýVì®3æ/à–•ÿŸMc+Kxs+”«?xˆR×ÒA“U[0puuuÅõ=?u¦T*-..600 I²æW§ IDAT¸¸¸²²ÒÌÌì{,VM’dnn®±±q— yJ$’’’ƒÖ‘ÿÙÙÙÆÆÆ5&N~üøQSS³ÆúªEihh zû-í2š—ŠP|­H’¬ªªj}µÇq$DÝÈÒÛÁÐ/Õ—Ìš6lXhhh¿~ý>{‹wïÞ 6,###)))((èñãÇ/_¾ÔÕÕmð´TVVZXXH¥ÒMFll¬««ëÛ·oGŽ™––öåyÒœ155…{÷(zxxìÚµ«Gÿ·‹Gxx¸H$Ú´iSK¬–M^4ŠB¶°°P ¡£££¦¦FoqÜ OUCî|j#ôÁp3¡²²röìÙÊÊÊ­,]ššš¿ÿþ;"ˆïŽT*ŒŒd±XŽŽŽÝ»w§;ìÝ»wSe``0bĈÏF¢ªªú…^ ƒ—ý9yò¤‹‹Ë¥K—¾S{ŠaX ̇‡‡»ººÒñ%ñœ8qbìØ±p«­æIÝ| jjjµ ¥%nû‡aXiiéáÇ¡w‡Á`à8>qâÄFÞ?ˆ®¥¯_¿~òäIaa!Ü;PMM­]»vîîîp‰³É^ɇ¢££ûôéceec111?~444ìÕ«Wë[A«å:E”””ê| [4Ÿur#!‚hH’|ûömzzú7.^¼H‡§¤¤‚åË—WTT|I<5öâúl‹Ìç󜜛]Åká–ëµmÄ:OþÔj‡“$yíÚ5UmaQ;*’$q7nܯ¿þJÿÙ<}u&§¶›îÖc|ר„ˆÅâׯ_+++ñþýûÄÄÄÑ£G7¦uC.—_»víСCƒ òôôÔÓÓ+//ùòå… âããW¯^Ý ïÅçó=²lÙ28¬¹lÙ2¸¡ôóçÏ¥R©§§'jÁšÃÛ§®®~àÀÖšºÇ놄H“Áf³wîÜyûöí­[·*V¾ßÿ$É3gÎ|¡ ILL<~üxFFF§NV®\ wô‹‹;|øpqq±ƒƒÃªU«à^ ,+!!áèÑ£wîÜÙ¶mÛ… ´´´vîÜyãÆ 7{öìÎ;c¶bÅ —Ó§O‹ÅâqãÆyzzÂW"11qÏž=>|0`€¯¯/ 9w¾þõë×õôôLMM"‘(::zïÞ½\.wþüùÝ»w‡–ô‘#Gàl‰Ó§O?~\CCcÉ’%vvv†•——oܸñÍ›7:::sçÎuvv^¼x1†aC† QVVþÂÜh‚÷‡ îÞ½Åçó=<<¦OŸN“É|ñâž}ûrrrV¬XÁår ‚HKKÛ´iÓƒLMMW­ZÇÅ ·lÙ’””Ô¥K—E‹©ªª6ŸIjÐ3·wï^øgPPШQ£Ù Û⌌Œ?þø#''ÇÍÍÍÒÒ§F­_¿¾¨¨ðyóæ}û½(Šzùòå«W¯||þ·ÍýîÝ»I’ŒŒŒTTT æ«™¸CPêZè«™&F$Õ^#’Ï繚9xð`·nÝæÌ™“™™¸|ùòñãǽ¼¼|}}³³³×¯_O–ÉdNNN]»v4hЪU«444öîÝ{îܹY³fY[[oÚ´éõë×€K—.…††zyy92222&&ð7oÞlܸÑÚÚzÞ¼ywîÜÙ¹s' ///44T øúúªªª.^¼˜$I Ã*++oß¾=wîÜ:üöÛoYYY€£GBwHzzzrr²···‘‘Q@@tüxyyuèÐÁ×××ÖÖ6222--möìÙ,ËÏÏoÁ‚Ͷø˜Lfddä˜1cÆŒsóæÍ#GŽ8Îþýû{õê5kÖ¬´´´Õ«WÃ3oܸ¡¦¦æíí-•J.\(// -//÷ññIIIùý÷ßkÔ‡æÐBa”™™™ššÚ½{÷¸F@(^ºtÉÏÏoéÒ¥ëÖ­ƒu/77×ÍÍ ˆS§N}øð!>>¾¡<@{÷î;v¬žžI’0pÏž=VVV½{÷îÝ»÷­[·,--Ñw:òˆ þ×FÏ›7oìØ± ÃÒÒrÀ€¿ÿþ»««ë€à¤kwww“uëÖ`Ãjnnnggçêê Ø¼yó©S§ûöí[XXcgg'—Ë-Zäéé DvïÞíæævîܹnݺy{{z÷î=wî\’$]\\|||X,V¿~ýtttààŽººzPPªªª»»{Ÿ>} ÍÍÍá“$Ù®]»åË—s8WW×¶mÛ …B ãÇëëëÜÜÜ|}}½¼¼ †››[³› b±xíÚµÖÖÖ°,îÞ½;uêT¡P¸`Á‚Ñ£G3Œ¶mÛ2$44T"‘ :tÆŒL&³GÐRPPðìÙ³S§Nñxt'¨¨¨ˆD"ØÅ …B066.--•ËåÍ-ð+åìììnݺÁ¾¹1‹ƒ¢(™LFO¯Y¸pá‚ Ö­[Çápbbbà´h===™LÖ ÷ò÷÷‡C¥8ŽÓ7Åq|óæÍ¶¶¶ƒ6lØÍ›7Q˃@ !Ò:©si¦¯pŸ9s&11ññãÇ2™¬þŽÍÐÐ0== ‘HÊËËá·8Ž¿ÿž¢(’$³³³¡£‚Á`ìÚµ‹üع6 £Gþã?Äb1I’&LŠÉoΞð:{å/쪙L&‡Ã©®®”••©©©5Ï9¹7oÞÔÖÖvpph’»3 ºdee]¿~]GGçÍ›7—/_¦³Núvž>}jccƒãøªU«–-[výúu@çο¢pÐ`¢ÔµÐÐL“A’dVVV~~~UUUAA²²2LÉÈȨ®®–J¥%%%$IÖ¿Ô‡¢³ÚâÐ!(((())Ù¾}{“i'`Þ¼yóçÏ {ñâÅ‹/àl%%¥U«V©©©‰Åâ?þøcîܹ€Q£F…„„¨¨¨8;;gff:tèèÑ£P¬Ô~Å@¹\^ãªó•ÒÒÒ”””Û·o_ºté§Ÿ~˜™™ÅÆÆZ[[Ãæé‘Rl8jç°b¶×(,è/±´´\¿~ýŒ36oÞܯ_¿†êPüüü„„777eeåÆ#Ã0 úáéééS§N¼}ûvëÖ­'N”J¥?ÿü󇤆à8N\HH—Ë4hÀÏÏoÑ¢EþþþYYYW¯^1cj¾š‰ —Ësss›óþ_-¾[ǪHˆ4wD"QïÞ½µµµÙl¶££ã¾}û 1b„L&³··ïҥ˄ ‚ƒƒë‰¤cÇŽjjjtÝíÙ³'Œ!77wÆŒgÉ’%ÉÉÉ.— ;KKK===Øq._¾\(Ž?^__ùòå]ºtÞ‘iÓ¦-Y²D$Íž=ÛËË‹¢(GGÇ•+WnÞ¼yÓ¦Mþþþmmm[[[úa\\\à€ŽâZ^:u‚OèââUýñ0ÀÙÙʦ#Gެ\¹²¬¬lèС&LÐÖÖ„……­^½Z.—?yò¤yb¯^½èß:::6660ÉôÈAp‘zèŠÎ mmí   €€OOO—Õ«W+))5· 1yyyzzzýû÷o*g—Ëuww_³fÍ‹/¤RééÓ§•••ýýý †··÷û÷ï+**–.]Ú°7Õ×ׇ5“¢¨ÁƒçååMž<™Íf/X°`øðá¨ùj&;::~׋)ŠÂA0H©D,•€,“Éd2’ü.¯*üZíÁƒ?¦øY†ã8ÅbÏž<êÕ×]$äK$bäüz}G·coLš6?íý¨ÖIR®£«¯©¥ûY_\+j|Ê)v]užOŸ —ËáÈ÷§±À0ÌÂÂâñãÇ:::ŠO>½Ž¼cûÖ„?>uI]¯b„Ísŧª3‡éDÕ¤ÿÍ~‘ÿºÔïwz€‚‚//¯‚‚‚«W¯Â©ÁùóçGEE}=ÿ®ž™ UUUŠS@>»jÝ<Õ~6:þøÔ%ŸMxót½*>Uý9\#Pñÿ/©ͤN6á³éééíÝ»÷Ì™3—/_NLLÔÒÒoÞ¼ÑÕÕŠŠúöïe>•ê:K YhÍG%s¹Ü±cÇ~×»¼¾{öòÝØ Þ,TXT!!)͸ÛÈÕc‰ï™:´ âÇeÏž=pdhJ¶È¶¶¶sçÎ}øðaqqqii)†a&&&ööö:uhód¹}pÿX¸ïÊU 95vª.L]¿ôivšª·ÄÔ!!‚hîFÆÈ‘#QËŽh†Z„Çã1B$‰D"‚ èíIQ]E|Z'}jÃÆµUÈ?Tr€Õ:$DßS†£–Ñܪ%‡^‡† ºŠø;rïï×ÅŸ:ê䦦§Šr©A@ëˆ ˆ¦’ë A ŠUÒO-—Äéðëj¯ÚlTýäA D‹¤ÆRF ƒÁ˜õs‡s×Õ§WÖ8¤e3àpTp+ïºrͺ‘A ¢ÙÁçó#""¾ÓöLL®ªÇÏÒÓçRéf0F[ÇþcGÊz|-ü¾ìû¥KUUuæÌ™Hˆ Ѭ‘‘‘poŠïN05LmÍp8HQ)+¹rꀜü¾ë¯ëéé!!‚@ D³†¢(÷áÇ֚ºg š¬Ú‚¡Gg{¤F¾å<@BѼ Ç7nܘ’’Òà¹Î=oq_´hQYYúT¡ñ Ú××·²²å<AÓº_‡êeGB¤™¼uÚ»õÁÑÑÑßã°µµ­ý&œ>}šÏçÃGúN“Õ[\©5'OžT\w¿1¡(J±¶ú½×k$¶ÎRF®) ‘ÖŸÏÇ0LUUuùòåôV,¯^½3fŒžžž½½}ddägu1“ÉüNÂùêÕ«µY,\?ªmÛ¶­oëí¯pTXYY5Ža³ÙMe!Áÿí·ßTUUß¾}ÛêÍP Ãnܸ¡¡¡qèÐ! Ãp733ÓÐÐÐÐÐÐÔÔÔÖÖþí·ßk @B¤5 ¤¤$‹9’’’B®^½ú—_~yóæÍÑ£GoÞ¼þÕ†]ßÿɆ£(Ê¢†u¨¨Š²³³ë´ ¿Ü^lé6%|þœœzá¯KQ3Ïøx÷îÝ«¬¬d³Ù"‘¨u»CyyyÑÑѶ¶¶%%%0<999??ÿãǯ^½š6mZûöíQó…@ !ÒJl/‹Åf³ÛÁóçÏ{yyikk;88L:õï¿ÿþÂØÁرc¹\®™™Ù0 ›4iÒÑ£Går9†a{÷îÅ0L,íß¿ĈK–,qppàp8NNN÷îÝó÷÷‡6_dd¤X,ÆHHHppp`³Ù ,(((PSSc±X2™ ðÂsvìØadd¤¬¬ŸÏ9r¤D"á\.—Ëår8œ¼¼¼wïÞ5 5_"­VšÐÍnYYÙãÇ{õêõ…×úøø()) …ÂóçÏŸ:uêöíÛC‡}ûö­X,NMMõöö–Éd………B¡ÐÑÑ‘Édþý÷ßW®\‰DãÆ0`€®®nyyy||ü‘#GÞ¾}KG[PPŸ_UU%‘H‚ (êæÍ›€3gÎ\»v-66–ÏçK¥ÒE‹ ƇF%:4nܸû÷ï¿}û¶¬¬LSS3,,¬¥I’ \.—$ÉÒÒRÀ«W¯"""6nÜ(‘H:tèóömZZZ•••<ˆˆˆØµk×Õ«WÅbñÈ‘#gÍš`±XÉÉÉ"‘hÓ¦MLOOÏËËËÊÊÊÍÍ=uêTÓVÈŒ5J&“5þ3Ð1Êd²¢¢¢¸¸¸µk׎3¦wïÞóçω‰IMMm¨{ïÛ·/00V!ŠZÿüùóžžžÍA iÅÀf·¢¢b÷îÝùùùÞÞÞ_xá™3gvìØprrêß¿ÿ_ýåææöúõkÀöíÛœœöíÛWUUUUUÕ±cÇŠŠŠ 6fÍš¥¡¡áççèС‡Ã©®®¦£-//ÏÏÏŸ={6À×××ØØ¸v|ÿþý#FXYYvîÜ ;N©Têîî>lØ0€‡‡†a»víâp8\.wРA Õs4å›óïÚI••¥¦¦6|øp@XXXll,4Öõõõ.\°··×××þ¿öÎ;.Š£ÿã3»{…;¸£7éVTPD±WXb¢Æ®‰Š‰±<Œ%¶»&QÑH,Oìígí±cŠ¢X‘¢ ÒËÁ×owLrω" ~ß/_¾ŽÝÙÙïÌÎ|æ;³3‹Õ©S!4f̘‡"„4ͨQ£Ú¶m‹2dÏó«W¯Æ;88¤¥¥Uc2 ÅéÓ§»uë&‰xž …UÜ RTT´}ûöŽ;†„„,^¼ø÷ßŽŽ¾xñâ¦M›BCC'MšTY´}ûö€€OOOŽã†Af#›©©©—/_5j‚=n„HíV!YYY?üðC||ü† *^ékµZ‰DB~3 £Ñhììì”J%ðÞ¼yóÞ½{322†¡išeYS%K¦ã™nT¢†å8μlÚþÀ|Þ‰Á` íBH*•š>î0–ôûM¿kM=Îó##cL2kݺuC‡5e7 Dj R©”´L¤ÉIHH˜5k–Ý–-[LÇ+Rñµk×nýúõ¡ôôôØØX2Ÿ®k×® , jÔ¨‘½½ý¶mÛ‚‚‚Ìã$•l bÞÌH¥R›«W¯"„Lõ²) ùß××÷?þ 3ûÖ­[gN*-ÇqæMr-y(J£Ñt988'ÇÞ½{ýüüJÛÁÜÚæZ¤´ ¬!ZÍÉÉiøðá/_¾|øð¡F£yöìÙ;Ýè«LqðìÙ³ÿûßå„iÞ¼9qï½½÷eÊ”)ÙÙÙ=ÊÍÍÍÊÊ"ÞAŒñóçÏ/\¸0nÜ8p‡@¥K¼W¦W¯^ùùù‰‰‰!!!óæÍëÔ©ÓðáÃoß¾Ú§O­VÛ£G©S§–Iaa!ñX¬X±â»ï¾;vì˜Á` c"}ûöõ÷÷¿qãÏóýû÷Ÿ‰vúôé#GŽÔÂÛB¤–#fΜ) išV«ÕdŽEDD˲ä[Žã\]]ËdË–-¡ÀÀÀuëÖ¥§§‹ÅâúõëÛÚÚ_ŵk×1Æ}úôiРé8nÞ¼ÙÓÓÓäó S„äÔ•+WBB¡pÀ€¾¾¾J¥ÒÓÓsôèÑ¡õë×'$$ØØØOÀìÙ³õz½›››ÉÓ¤IS´üñ‡iX§Ä©÷šü1..ÎdÉ1cÆ´oß¾¨¨ÈÑÑ‘¬'“É.]ºd ¿sçNoooòÛtꫯ¾2÷ËL§¢¢¢HžV%%ZÜ;v²Q•-1ÆØÃÃãØ±c?ÿüó¥K—ˆ5(ŠjÚ´ipp0‘ÚÖÖÖ•îf;v¬iu„ЬY³êÕ«îx'¯¹Z­zžœŒ1EQ¼PÈÄܺѡsw­F¥×ëà•{s}Ç0Οþ"lâÓÄǤ:ã8ÖÞÁÙÆÖ¡ühi›—9u£DøÒ–¸ªÄ(@é«Èï§^uëòÇJßâµwOy­J„,Çò%¼*|5­zŸã¸‚‚µZM†hš‰DR©”Ì‹*ßøoŸØZSh‹‹ ÓSŸ“.@ 8x`_P붯µ¼ƒƒ“‹«kvV©Ê(ŠºufôW“¡ž¯•¤½LÑhT靖k4ê§I‰={÷KINĘæ8Ì󜧗7xDj’*,+ïË)eÎê(óH™“J,qêU·~íT†râ)ç™ßëü*?9eš·[½*|5­ºžÁ4ŸÚÖÖ¶LŸÐ»¯*ÀÐ7€wLVà=Sçÿ( D@ˆB„ D!B"@Ç´¬uå®o ›‹~  Bø[KSf3SNÛƒ1îÔ©Ó•+WJ¬éd4Í7®+FS:Z¡PhŠ¿jWlcgg第¬ª_¼ëŸ–ÉZ§æ©+ñ'ˆuxÀïÕÇqÏž=£(J.—ÛÙÙ‘öF¯×çååiµZš¦e2™µµuùm@ (`ãÆ999?üðCEÃÝÝ=77·ÄA¡Pˆ1æ8.--­R6X¯•`Œ_¼xáîî^ú€äHÕ·Êä¦ÅÅÅ …‚eY¹\^‹3%IS«Õ™™™VVVäUÍÎÎÖh4EUä­„ÈûV«íÚµ«J¥êÚµëÁƒÉÁ]»víß¿ÿùóçVVVAAAááá>>>åÇCv¢2o<&L˜@jϧÊlirss9ŽÃ—Þ¸N¯×ûøø×Hé}Å*¸ÓXmÝ6¤ËÓÓÓÜ›õ)­ }xž/ÑïÚ°$þ/^üúë¯.\P«Õ]ºtùñÇ-,,j«;cl0¶mÛ6a„Ÿ~úiúôé¡sçÎ-[¶,77—¢¨ÀÀÀY³f‘-¦!ò~#‘H^¾|yõêÕ+V˜fff.[¶¬Y³f<Ï/X°àÇܰaC9‘Ð4‘‘qðàÁ¼¼¼:uꄆ† ‚¸¸8­Vpôèц Þ¹s§¸¸ØÓÓ³]»v=ºÿ¾X,îÞ½»““Æx×®]ÇG)Ѝ¨(…BÑ­[7–e)ŠZ½zµX,Þ²e‹OçÎBqqq·nÝ2Í›7oÑ¢BèÉ“'™™™ƒ!99Y.—÷èÑ#77÷Úµkƒ!  ¶ö1Æ'Nœ`&22R,‡……!„òòò.]º”““S¯^½®]»R¥Óé:Ô¤I“èèh†a:wî,‘H®^½š——çææÊ0ÌãÇsssµZmJJеµu=²³³¯]»f4[´hѼysŒ1MÓ)))§OŸV«Õ>>>]ºt!{¨¾kŠŠŠ6oÞŒºqãBhÇŽÕ¨P¹û£·Þw†\wãÆ/¾øÂt|ôèÑ›6mêÕ«—^¯Ÿ9s毿þºråJ¨Á„H-¡¨¨È|GøY³f™êD‡¬¬¬ò/‹Å›7onذ¡Á`8pàÀË—/ÇwäÈ‘ÌÌÌ€€€É“'¹¹¹éõúýû÷×­[W$1 “˜˜³xñbKKË#F >¼°°pýúõÑÑÑÞÞÞÑÑÑZ­!”À²ì£GÈfë ,Ëå`ß¾}K–, üïÿ»zõêò<ÿðáÃsçΉD" ‹œœœ3gÎL›6­U«Vµ5ïž={Æó|||<±OAAAddä½{÷ÜÜÜöíÛ§T*ûõë§R©† nR666‰D§Ó>|8333,,ìèÑ£6lèß¿?±áÙ³gM6<{öìZY­  IDATôéÓÅbqDD„ƒƒƒF£9|ø°B¡8p`¤1##ãÊ•+ƒž9s¦»»ûرcA{¹ÈíÈõz}BBBZZšR©NNN•8ne0öîݤÕjõz=9(—ËBäŽJ¥*.!R;1U¦!!!ÇÉd2sgÉ«êͶmÛΘ1C,_¹re̘1ãÆ#ÍBÈÂÂ"88øË/¿¤iúÀ“'O¾téRýúõ•Je«V­¾ûî;KKK†aB?ŽŽŽ^±bE½zõ¢¢¢6oÞÌqÜúõë=jz†ÈÈH__ßY³f …Â_ýuÁ‚G¥iÚÏÏoæÌ™)))ÞÞÞgΜéÞ½;ÏóÓ¦M;{ölm"<ÏOš4é»ï¾‹ˆˆ G–Q©TDqöêՋܨqãÆUÖ)ç8ÎËËkÊ”)r¹¼_¿~;wž2eJU Œ1q3æáÇ%>òÊÎÎNHHÈÎÎþì³Ï\]]ßþv .\¶lBH$GBèØ±c 42dHnnîÉ“'cbb*å^€©‰lÒ¼…††"„ÄbñþýûÉŽŠ\‹Ê#7_‹‚3lþõ ˲Ç™_E.±´´,**2 òA)sw}m Z¦U)Š"éæP*•–™¹¦?K[©L–¶dU~;*‰üýýår9BÈÑÑQ«ÕšÊF•Y¸   ÿþIII¯ SXX˜ŸŸÿöâ€çù£GFEE1 £Ñht:¯¯oHHȺuë^¼xaú‚æÄ‰}úôú * XG¤º• ؾ†ÀO˜0!>>!ôôéÓ4iÒäuÿQWÞOOO£Ñ¸k×.„Ðwß}GæˆvH§Ó‘Kúôé³zõê”””ÂÂÂÉ“'1âUÈ$Mj}öÉd²§OŸ’ôúøøïÙ³!ôÍ7ßôìÙ³´MÊÏ…rÂWNNN^^^[·nEEDD4lØP$Uñ3ÄÇÇ—£BÄbñèÑ£+þ¦”ÿj¨ÕêìììüüüiÓ¦-X° $$!T¿~ýµkׯ/^œ9sÆÃÃ*.!R(..Æ÷ìÙóøñãã}ûö!„ 0|øp¡PÚ²e˹sç–‰P(4×1ÄgÎ0 ™ù!‰LíÆØ¼ 1ý&—4hÐ`êÔ©K—.‹ÅVVVdЉX,4hX,;v,B(,,,44´uëÖîîîMš4!ÏÆ0Œ¹'ÀÜiozŒZÌâÅ‹mmmB¾¾¾Ó§O_¾|¹P(LKK#skL™b2»ùW¸$JªLšçEQU£xž·±±ùꫯ<( wïÞaiiYÅFnÔ¨QéÏe)ŠbÆÛÛ{÷îÝ3fÌxÕÊcÿTˆXXX˜ ¿é+åC‡]¸pÁÊʪE‹ÞÞÞS¦Lê *¬V«ž''cLQ/21·ntèÜ]«Qéõ:X´çmüΟþ"lâÓÄǤáá8ÖÞÁÙÆÖ¡üz¿L?|9Ÿ,–1MY0ý0÷Xƒæ§L®”ò³»üuDLñ”øÕêaš#)娼üü*džådeU¦±"eò¡T*W¬XqêÔ©œœâ§ èÝ»7"©”ow_õf¡WŒŽ½¥º¸¸0=õ9™4&ØÔºmù—pçààäâêš•AÊEQ£ÎŒþj2Ôóµ’´—)êoFý4)±gï~)ɉÓ‡yžóôò†9"5I¾Î]ÿªSæaL“¹§¤ÄÙ§*RæJ‡)=ŽPúTc†Þu~•ŸLbðòó«–“•5­L¾#%$—Ë-Z´hÑ¢ J¥ÊJõ«b†NT"04À{¦ÎA"€!"€¨|ÌwPkjó×Äí P¹õg?œM„PkkóÔÔÔK—.½£Úc¼gÏžŠìÚŠ1~ôèQll,´+@i‘ òªø¥ã8–«<$íßTX⽦äwéýßQUí'‚º}ûöúõë;wîüŽâ6lØÀ+’–Ç4oÞJE*–嬲')..ŽÍÉɱ°°hÒ¤‰»»»i³¤Jy°›Ë”¹× 8`€äõ§hÚÖÖ¹ãœ3gö'÷H B£ÑtîܹW¯^¿ýö[‰]KT*Õðá×.]Z5*!Ä0ŒT*}wñK$’ †‰DæÛÏÕ΋/¾ùæ›>}úDDDèõzSÃ_õ*äèÑ£K—.U«Õ)))‘‘‘?üðƒF£1ß ð-ÁcŒïܹӷoß³gϚ⌈ˆèÛ·ïøñãïß¿_õ€j¦h¹µ­N§5ôoùÏh4ÜŽ¾ùëF 1‘„@ øþûïÛ¶m{üøñ²µk×>|øµt‰ ±"õã«Â=9+ÛTÄæ;Ý×7{9©øG |³|¬0ÆÙÙÙ . …S¦LIHHØ·oŸÁ`¨úMïôz}DDÄÚµk{õêõùçŸöÙgC‡;v,MÓ}ûö-((¨‹‘H Åbccïß¿OŒðÓO??~ìØ±­[·Þ´iÓóçÏÁ#|  ú‚ü\e~ÞÛþ+PÄ?y(‹Ê|SAˆT Ä„„•¨ú322¶lÙ²|ùr£ÑX‘¦b÷îÝþþþžžž»víÂ_ºté£>š8q"Ã0wïÞÕh4£FruuõôôüñÇÉ%iii#FŒprròóó;vìQ!ÏŸ?Ÿ:uª££cóæÍïܹC€ÂÂÂ1cÆ8::Ž1B©Tþë_ÿÚ·oŸyuöìÙ‹-š3gÎ'Ÿ|âèèØ±cÇøøøM›6ùøøxxxlذ¤B lÚ´ÉÛÛ»AƒÛ·o'ýN–e¿ÿþ{ooo''§¯¿þú}ÌDŒñ²e˼¼¼Z´hqýúõ“'OΙ3G¡P*Š–-[&$$´k×nÁ‚... 6<þüéÓ§ƒ‚‚œœœF­R©HàcÇŽµlÙÒÕÕuÓ¦M5§ËÊÊzòäÉ’%Kºuë¶téÒ£GªÕê*¶0Ïóqqq|ùòå¡C‡Äb±X,–ËåEEEk×®ÍËË7n\bbb¥Ü‹ã¸Û·o¿xñ",,ÌôFDDDDDôêÕkĈmÚ´ùý÷ß¡ú>0Ƙ¢ÞöÆ¥ûº Dj æS8I‡lâĉóçÏ—J¥¯Ý‰1þý÷ßûí·Í›7GGGß¾}!¤Óé.]ºÔ¶mÛ€€€nݺ 8ðñãÇ'Ož¼wïÞ–-[B3f̨_¿þ£G>|ôèQ"Dî߿߬Y³äääqãÆ?žeYN7wî\†a»víšœœ|øp=T*Õž={¾ýöÛ¤¤¤îÝ»·k×îÞ½{·oßÞ»wï‘#G._¾LT×®_¿¾cÇŽ;wž8q!4nÜ8GGÇèèèp7kÖ¬÷îý\¹rå¹sç®\¹²uëÖ›7o¶k×.11ñÖ­[$Àܹs‡ BQÔõë×e2Ybbâ¢E‹¾üòËU«VíÚµ+66ÖÂÂbîܹ¡óçÏÿòË/?ýôÓƒ½jÕ*¹\>f̘æÍ›¸¸¸5Ý©S§üüüéÓ§wéÒE&“Íž=[©TþòË/¶¶¶íÚµsqqIKK#ò(22ÒÙÙ¹U«VÆ #n˜M›6M˜0ÁÊÊÊÊÊjÞ¼yïcGsݺu7ntww÷÷÷—ËåAAA§N***zñâÅñãǧM›¦V«›7o>eÊKKËAƒ±,»víÚúõ뻸¸Œ=úÆ¡'N|úé§]ºt±³³[³fMÍ·²µµµ¶¶Þ°aƒF£Y¹rå“'Oªþ C|||ãÆCCC7nÜøë¯¿þë_ÿêСC=öîÝkkkÛªU«JQo<Ï?~\$š^@„ÐÀ'Nœ¨P(îÞ½ûóÏ?ø ‹a˜ÿÛw°Kph›v¦Ï˜õƽ"5‹ &L›6-%%%55U§Ó½v<^¡PØÛÛ›‡áyžÌ %(çÎ õòòrtt4h­+W®´²²0`€¿¿ÿ®]»H`‘HdÒ=ÄçÁó¼R©,1Ïtùòå‹-ÊÍÍ]¿~=ñað00pÛ¶m;v¬Z­ž:ujRR’¯¯ïÛ߈¢("»B‹-’H$DjGFFº»» ‚ÄÄD[[Û^½zAõ•ùŽÏ™3GYP€1ÆÑ4•‘žêáU×h4°, C¡oS£¥$?m”¯È1 UH¤–Ró{Û¶mVVV~~~IIIþþþ...æM¸¥¥e«V­Êɞ眜êÕ«—ŸŸ?tèPŒ±““SÓ¦MI˜N:=}úôåË—öööƒ®_¿~ãÆ‰›=))ÉÁÁaîܹR©”¢(ó«„Ba§Nhšö÷÷GÅÅÅùùùµk׎¬ð±k×®F}þùçdô‡a___gggSÚM £Ñ4MN1 3bĈ۷oS5zô耀"D ž>}JÓô¨Q£ÜÝÝÛ¶mKQ”··7q™Ôpxž¯[·®‹‹Ë£G†éß¿¿ BèÂ… ƒ!<<œŒÈÑ(¢áˆ¬mÛ¶dú'ÆØÆÆ&00ÐÎήQ£FÏž=ËÎÎRâ ®Œùª«Ê¼<..®_¿~W¯^µ··7ókKÄSÚ©Sæ‚•æ!ߋоÌT8ðÛo¿ )mLó?ÍM÷ª|¬öVûʪ¦ÏÈ'Ož|ÿþýãÇ»ººšÎΚ5këÖ­GŽ ªÄ+3›jZî¼ÅÅ…é©ÏIS!ØÔú5ÃLÇ988¹¸ºfgew“¢¨‹QgF5êùZIÚËFE*+@èRÇ#åY}º···›››R©¼v횟Ÿß©S§š5kö®ßĘ;P{ºî` â¬^½šeYó!$ÀœÞ½{·nÝÚÑÑÑÒÒ¬QYš€è9{{û‘#GöîÝ;111''§N: °³³³¶¶F°ÿ €>xž7Í]€z¿LûÈårÓ·`¢J×"b±ØÍÍÍÕÕ•üiòŸ©„ð¡´eþÊ´ ˜èÙ¶â#}@ôë¬F@ˆï‘XŒøò$ˆN«ÍËS¸Öq[`%»b™uEQ¦Cýùgi™ûZŸ%€Že[¶jg0è_ÙD`|êäÉEK–ÞøãJØëÆ¢(¥R™—§àxÞ4—›¡é¼¼<âSS«5OŸ%3fŸïrH0B™–(Á`8{êˆMÍÙü¨.hšÎÈÈzôh„Éc!žãxž÷ññ4¨çNAˆå50Uv;ÁqœP$B B„ŒFƒ¯o#¹\. >òòej‰6åùsS¡êÜ©ãðáCÚ´‹ÅÇÁÐ ðJ0ÆR©„aâøÀéuz•Z –Lð<â8®N×É“&¶jµ{Ͼÿžu}[lÞ²5--ݵ‡ÔŒåd*ÆX«Õ¦§§ët:±XìèèHÓtaa!˲dKúüü|¥RIQ”L&ÓjµÎÎÎc½^Ÿ››[XX(‰È‘ŒŒ N—••%•JÉ>) …B©TÒ4mccceeE¼/"‘H¥Réõz‘Häàà R© ˆ~’H$Tå…1.**bæÙ³g Ãxyy!„t:]nn®N§³´´tppÀ³,›––&“Éòóó)в³³£iZ¡Pèõz±XìääDÚ<ƒÁ T*óòò„B¡““Ó«v°¬z’’’–-[¶wïÞÖ­[Ÿ>}zâĉ·nÝ"E«Zœ¯*c•å¥H$*•ª„Ü\³fÍ£G >|8cÆ //¯:Ô¾>.BhJød–eY–ç(PZv¼êTE¦£ÂW35•JežC,ËFEEaŒ­¬¬êÖ­ûÚ/ø-,,víÚ•šššžžnii¹téÒàààuëÖeffFDDäææ~óÍ7÷ïß—ÉdÞÞÞ±±±>‹ÅÇ?~üø³gÏhš^¼xq``à´iÓB­ZµÚ´iÓG}”––6iÒ¤¤¤$†a‚ƒƒçÍ›gee5`ÀOOϬ¬¬ŒŒ ±X}zÆ :”——þÛo¿…‡‡“Ë÷ïßomm½gÏž#F8p`ÕªUýúõûôÓO[´hñád1Çqû÷ï—H$qqqäȽ{÷öïß¿fÍš6mÚ¬[·næÌ™§N"míÛ·_±bEfffçÎÛµk·oß>¹\¾k×®iÓ¦EGG“Y¶lYݺu/\¸0tèК#DÜÜÜÚ´i3vìXÿ›7o2D*•V½ Ai4š›7oÞ¼yóÎ;ÉÉɹ¹¹d¼®]»¶hÑâ£>ª”jwÀ€K—.Õjµ ÃôîÝ{èСR©4))©Q£F!†alll¨Æ‹¡išF#ŒÔõOÿþwLô5¦2|´¦X–-³ËPFù‹¹É²F–e!KÞýôÓÉ“'›ŸŠŠ:vìBH |ûí·aaa!­V;dÈ„PïÞ½SSSBJ¥R¯×›.<}útJJ BÈÎή_¿~ Å9sæ]×?þøc[[Û~ýú!„\\\,,,´Zí•ŦÅ(MQ§§§Ëd²6mÚ „&Nœ8wî\ÒŽ:::C9;;;88L˜0ìÐÛ»wï©S§"„ôz}¯^½êÖ­‹êÚµkVVVJ¦@ HKK‰D™™™~~~Uì±'·KKK[¼xñÁƒsrrÌÏÆÅÅ={¶cÇŽíÚµ#ˆoy¯ýû÷“ßÑÑÑ?üðC£F:tè`>NaŨB„²DTmIDATûæ›ðè—_µð%Æ8O‘ïâêQ"Óu:í­›W«Þ7TÁëV¨Ì7ôaŒ²P¹oïN™LŽ*IŒ~Ü«»J¥B¥ê¿ ƒÁÔîÏ5m OÞæ G¨acR‰ÿ5ŠF …¢22ž¢ôC‰¶ !T§N®Ýºíݳ·üéôzæ/§Ã4-éè°,‡˜Òh4ä¬J¥Öéõ!£‘Ř2W?!Š¢ £Yq¤4 ©Ù5Z-é0éõÓ½¡ÆLyèôúÓ…¦ÑhL¹&ŠÌmÈrEQB¡ˆdJ™ù¥ÕêB_s›¶ôŒŒ“'Oݼyƒa•JݨQ£ñã'ˆD¢*5²V;lØðË—/½*@FffffÖÛ s‚‚‚$RiA!äååõ8.ίiS„PvNŽ‹‹ë{Z\…B‘@ÀuTy„úuár@‹€rZñ6Ôë ØŠzïO z“HjaÓÅ;:¹`³†àô™ž¨òª'Žç1EÌ:½ÞH­V=ONƘ¢(ža¨Œô´œœlÄó DÞ–eµšÿ­NÈ„ #0—–c…B‘™™é×ÔÏÈK\ž›“«ÈWøú6fKú«%cbcc=<<ä29x–eo߾ݱcÇ”äƒÁP¿Aƒ˜˜Ûžžž2™ ñH‘¯xñâeëÖA=¶’Y9;9s<‡1¾võZçγ³³³²³š6ijd ÍDߊnÔ¨‘D"åy.++[¥*nܸqÌíxÖÈÆÄÄ´kßÞh40 {7ÖtêÃÉ_†a®\¾Ò¶m[„Æ8_‘Ÿ•U¿~}š¦õzý½{÷Z¶4²Æ;wî´k÷§¡îÞ¹ëíímie…o4ïܹ۱C‡§ÏžrïååÉqMÓ—/]îÔ©ËÕ—¤ªXõôÙÓ–-õ½P ¼öǵæÍ›Wñ\ZƒÞpóæMôŠùn<â¥Ri£†$RI% :Œð“ø'ŽŽŽ÷bïÕ©SÇÆÖ†5²éééE¹¹»sû>ÖHz½ÿÙâ ©Ô’¼¾ÿÀqœF£aÓ©¥€7Ñ9¼½ƒS« öÏS’0¦9ó<çéåý7!"2Ñ7¯¶lçìâÆóàv«WW‰|(í ×éä,ç” Š¢9žû+ZLÑ˲¤ãBZ5Žûó,ÆSå‘)iš6²,õ÷{Q»B¸dlä^Ü_ãwÔßN}@Ð4mÄü[~aLQDzÿûQÚPSÔÿò‹ç¸ÒqÖ„üÊç¯Úg(§gÄÇ^e?EQä«l³TcLaóÌzïꣿõ0+n±×ÕcPáþ›Àh4¤¥¦˜ ‘¿Éa£ÑØ< ϳ™/À^Tº_„¦)s1_Â/Ç›ö.cð®•U¨6`±¨þÜ®'!‘Hd0@ˆ@S!P"µ¬Å)´H¶nÝÚ=øUËÕ€€jl§¥66öEEÊZ¹¹EÓªâ¢I“§<¸caBj!„Š‹ ³³ÒÈBsµ @ððþC—¯²@ˆ@õ©ŒÉ¦Tµ2iോðÂW3T D¨6`hj4d hžçF#Bˆf có}¡I–e9ާiŠ|¢R"Þ²ÕØû¿mÛ- >>8°¹?þK‹ÿsóÛví}ðèIÏÐàOz}$‘X”¯Bxž';[U»X¡¨ÑÐ4}+&vóöÝ…tiß®õѧ®GßæyžøE†ÎÌÊþmûn±…ÅÃÅ'>=zâ”N§{MóOQÑ·n—³¼BH(lÚº³WVe0èü›6ŽºtõÆ­ŽçE"QÊó—›wì±³µõmP7;;«¹ã¸Ä¤ôŒLâê ›ÇQ%‹,,,,,Ä Ã „Á¡ŸK¥’jO Í@†c¹Æ ëÇ'>õñrÏḬ̀µ¥Ö¯{áò MËå²ý‡¹»ÕqsuJII±¶¶ÎÊΑZXH¥Rr-Æcœ‘‘yòä錌 ©¥´c‡~~M„BƸ&lq ¨Ñè †QŸ¥0NHJöðð,T*Ï6jX7êÒÕm»÷5¨_×ÅÙáeêK[[[•Z—‘‘Ýû£{;â áyþÅ‹—sçÍWäç{x¸[J¥{öþ_aaÑŸë©ý5YÄÒÒR.—K¥RÓ”@ “Éär¹D"!3Qxž‰D2™L&“‰D"räíS¨ÑpgogûŰÁ»ö¼÷ ®¹“ÌÌt™LÖ A=CÓÎÌÌÉä:#û$!ièg}›4n„þúj†e¹í;v6ó÷ûzì— ½Á’òÜÒÊ!¢!x†až=K^±6!>±M› iS§H$<Ïÿqýúêˆuݺv5òs{{{±X¼{ÏÞÝ{öñvrr***Òë4½.;'["‘`Lߌ¾3|P?¿ÆÈìÛ]Žc/^º2räçb±È`4bŒ}|¼…Ñ!S™‘¿n¨ëã¹.B©Tþ²îW£Ñh0fÏù!lôÈÈ_V[ZZ&%=³°°8pàÐÁƒ¿Ï3sÖwÓÎ:vì¿"‘„|Z!dkc=|Ðg‰$>ñ™­­Z¥Rä+,,,ñ¹ —LJ}Ñ´‰/11°ðxðw„¦0Ïóùùù,˚檊Å4E¥¦¥ ‚¸¸'vöö˜Â£Æþ÷øá[ÑW‹Uª‹—®P¶³·=ùß#©ÉY/ž'',ZøCQQñÛ' &«@MW!4M§¥glÚºSÈÅÉ.==C.—«5 Ó‰T©T9¶q£‡ž@µihZq•¦éÑ£¾˜3w¾‘e}¼½Š‹‹Ïž=?{Ö òÕ‹››k7×u‘:wî¸gïÿõù¸CÓF#;Á’=º#„0ƶ66vò¤‰Ë—¯èß¿¯ÌÊêI|<ÃÆ}ý¥V«!µŠ¢Ò327lÞNcìâèžž!“ÉŠŠÔ…EƒÁF.·³“çç+Äb‰[ç#'N ¦EsŠ¢xž—J¥Í›ûÿ²vÕÎ]{îܹ+—ɆäââÂq\ßOûèõzGG‡¯¿³uÛŽmÛw4o6&lÃ0Ç ÔßÿÔêt=z„vìÐ^­V‡v¡(êÈÑãJ¥Ò߯é'Ÿ|¬×ëß>uX­V=ONƘ¢(ž¢xӇżK?'“ÛŠDâì¬4Š*o©u‘H4{þ–5:ÙÛä)2™L«7«õÿÔÆÚzçÞý­¦Ž‹S~A¾ÄBRX¤Òëã¿íêâLQÔ¼Ò4Í0´H$¢(šçy½^_TT4ïûÙ¶¶¶………!†aÄbEÑ,kÔh´dXG ˆD"Œ‘^oÐëõÇ!„D"¡P(ĬN§+«†až<¾ß§ßл17Åb±yÒ9sæyÎÓË<"P³="gff»»¹hu:¡P¨,T©Ôš{twrp úÓÞ=9ö$!ÉËÍM¯Ó14­Pêtz„Ïóu}|(ª¤VÐ 㢢""#X–U©Ô% ƒÁð?¿ÆQRòà[Bj4:½~â×£\¹ÆÓ­ŽÞ`Ðhõ}zvwr°ÏÎÎ6²,MÓÁ;ž:wáþã'.ΙY¹=CC\]œxžç8.,lä_k—™ƒ+eT¥rdd0Ôd8ŽkܨáÌ©ßX–¢¨aƒú7¨_ãyŽçÏF™•Uß{6õm”“›ÿq¯=º 2YU¯×7ÆßÿékNêÀ#5Š¢|6X0ç;–ey©Db49ŽÃS4%`˜Ñ_ §iJ( TIã& D@<ÏSõ÷)Ÿ¯¿ä½Ð"0457ààõr¢¨÷E4ü#(ªBÎ"P ð<ÇæåæÐt-lŽiš¦(üZBª†anݺµ~ýƬÌ4š®3%,,,Ì×!5šBMšø¶lÙ‚çkkù.]ƒÉW< D Á²¬Oƒ ÊZp¬6ñšÅÓ@ˆ@u´ÏsW£Ö«àó]@ˆðáQzh†£PÕB„çÏc°ïžG#ŽãÆ ŒyžÇ, ÆàÝ‚1â8.==½Ž»#yžGˆÂà  ªÐét ÃPªâb €w ÿ÷…Û¼½½u:-uá‚¥¥%Ïó<ÓTxW*„,Bˆ‹‹£(êäÉ“tÓ&M,$b[{;Œ0‘#à  rÁó<Ÿžž®P(ìííe2YrJÊ×ñ¶mÛ’““ì=ÜÝêÔq³”JÁ5À»Àh4«T™™OŸ=KMMs«ãöÿw !-o²IEND®B`‚nted-1.10.18/doc/docimages/endbar.png0000664001041000007640000002750611520267216014211 00000000000000‰PNG  IHDR«®ˆ«"jsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ 9`ZtEXtCommentCreated with GIMPW IDATxÚí{XTÕúÇ¿ÃÀp®q¼ ’Š¢b¡â5ÒÒ_j3¯ó˜Hš],Å:©Çc eeå•Ô,MÐуd¨…¦‚ ˆqGä~¿ 3³à "3°gf ð~žÇÇafïuy×»Ö»÷Zë]/aA¡Ãè‘‚ 2VAAÆŠ ‚ cEAd¬‚ ‚ŒAAÆŠ ‚ ÈXAd¬‚ ‚Œ•R«îaÇG[z)…Z‚ ‚P ¯³Ž[*M †Ïä!¾¬0üå 8wìSôÐËA¡ƪ:û†¹-@v½¸Å÷6#WàÞµ Xëó¨e‚ 9þÃH*°tÜ?[*(Ž?€‰k"¨U§¶¶¡¡¡HIéÙSØÅÅÅ Ezz:)ѽŒÕogãÔƒšæXÁH¯ùM*ù»Wp¶´žZ†ÐùAzþüù8uêT–CJJ æÏŸ¨¨(R ¢û+FZ‡múSþw¯‰ï"µô!Ü>+}½G×4À["µ AÑ9ƪìÞǸV%˜Øý®ýú9ú `õô|üðbùuY?ÿ@-CAtޱºûåYùç7~ùN¾üoÏõîòÏu%§¨e‚ ˆÎ1V‘Q¦ö‹ðå8‡¿™ö)ÿ,åSËZãâÅ‹0`ÂÃÃI:@UU €M›6‘0Ý0V'ŠëÞ_mm•1gÐ\(#µ ¡5jkk‘‘‘êêj† •J‘‘‘ââbÑùÆŠ‘Tànm#`ßܾ­~UÝ“6~j6µ AÑñÆJ\Ÿ#ÿÜ×ßê÷gÿ–vœ¶Z† ‚è„7+ió”‹¢#3NìO•žµa(µ ¡¸¸8¢¨¨ˆ„A´`ïÞ½ #A±Ò O ÿ,yÂZÕüŒÿfVÂØ:ÈŠZ†PÈ¥K—àïï‚‚Ñ‚€€>|˜AÆJ3ømšhxü8BFŒÓWCúè;7¿}0¦³l ‚ ˆÇÐgsQqq1.^¼ˆÌÌL`ìØ±jdÕl Ž…¿éˆ¥ô3Ÿà›Ä’&ËÉ7ÇâáY ½O-C($)) ¥ö¹|7oÞ\½zj¥!Û¹–””„ÐÐÐÛ²6¸yó¦Úr¨­­m ÒÓ5’emm-òóó{t{ènnnpwwï8c%;ÿK†½½½Z™™ðy¨•0HIK‡­jò® ¸ùh%lj‹Áäe#CK‚«/º‹ø Æ>;‚´H‹báÂ…pvvæ<íÒÒR@nn.Äb±ZiȦ ‘‘¡ž¶•——ËË£nlعs'fΜ‰êd[?xð@n¼Õ•C}}ÓY •••ÉR,Ëݱwï^Œ3žžžÔI9¢¢¢;wî„¿¿? ‘““ƒï¿ÿ^þû¶mÛ83V`XÃØ‹ZúQg Br2½i„®Q]]   $$$0 ß™Hr0Ïs!2êš·¿øåïXêj¡Eã†é[Jñǃ%ÔÊA=ÑXªtýÕ#ˆ|XÛâ»^% ÔÎë.#!tÇ':ÿ}„}½CãòwdþEQQQ¨¬¬Ô(­øøx¥rlhh@pp0®\¹ÂydS˜‡‚ƒƒƒZiÈYÏœ9ƒû÷Õs@—ùY]¾|<^ûóØRq5²RÓñ °u")ŒLÍáè⊽­Û¼¯²²aaa¸}û¶Ú2S7o6deei¬S2?«¶tŠ •••HOOWšFQQ'ºß–NiÒVªê”. +óÎ;add$×k¬ú÷ïÏúÚ’[ßã—;e­¾¿oÝÓz™jE€·C>DÞ•ðn„Æå×êëëQQQkkkµO]Ð×ojne`nn®4 ===8::jEΉ‰MNäNNNj;Ë:˜Úe”`ammÝfŒ¸ ‘GÄÉÈ8T4¶v›°zÞ÷_c¾Ò6sppP«œšæÍ‘H¤±NÉN°hK§Øê·‰‰‰Ò4'ºß–N©ÛVªèT{<|øFFF°°°Ðú¸$+sß¾}abb"ׇ'ÇnÞB´èÜX{—m&hqï°^& fܾ»ZqR+Iú–1³òf²êÅ­Y¡¡SsgÌÐÈÙ611QcNr fï\•ÉLé#l¡{ŠþÙ àÜ)˜‹¼É)¸c‚¹r4À,Z´ˆœ‚U!è•é¸QÕli]fïÁцr~ÎÔJž¿/ÞŠi¦ 777ù¿ÇqssƒçÔ¯i˜Ð¢ª¿0Õ}6.Þo?qqü§Ý&o‚ÐZÛ`‘i=VŸm¸(z êè°É¼àÊSNx‘ó|çÜ*Dƒ‚ïŸV÷T‚`Ësç⯊V×Y½Ømò&ˆ.e¬q^›ûm‹ï–ŸÂ c}48.pµEÇP'Ý c=µ¡ÓHê ók4’ÓPV+¹#z÷¢ôz©¨~¿å²NJÀVÎÊ*`MtžVòV$KR¢ë«;»çâBY½üoë§×áÀ,€¡åô6ä#¯¡'Šë°ÄÎ¤Û ùàÁƒ8v삃ƒaggGZ×EŠò±û£uødW(Ö+>á=¿¡õÆ©¤b†]ö^ëpòõAÜ•YR Çy³‘Cn=¹ÙX¹r% ((HgÊÄùš•´± >j¹eyë™Á{,Ë…¶M*,­R«•«Ê ”¯Y ®ƒ°vÇQ¥4:Ûú Ðx¬ŒÚßa×kܸz)'ôa…»5gy³•÷_ÿFJÓˆ‹‹C\\\÷~³Ê ]*?MÆíÄê-·PNs·ÆŽÜ*\Y»³zñ áÂÞ±/F<;/Íy ý­œ”ÅÌiRR6æ*!Û ÀfݧæÁEźgë3Q ŠŠ+P'iùª#0ï‹×ׂ/7.„‰¦Ágm݉ïæ,…@‘Tý¼U‘Cõ}:"ˆÐAcåëë«ô·˜ŸZ>a ì{«ÅõŒ´ñIM{ó‹oüg¿xÿWxw…ÎOÄx¯áò»ÇzÖµk×7n„P(Tûí >ÿüs9rD­4d CBB4>ÒåòåËJõ ®®N£r¶…¬Ü[·n…µuûoŒ¤ù¹PRV1‘)$Þó<¨ðœÄ”³Á¬7(èñ-Ê¡´¬B¡‹—Î@~~!*kë=-¬ÑËþ)09—ñ®ßeVm¶k×.„‡‡³–QNNÓÆ¦ÉS&Â@ß@í¼U’ƒ¾E›ãB[íañ”]»:ÅV¿“’’”¦‘——ljî·%sUÛª…Á¯nÚ½ùË/¿ 33Sã1GYæååµ;Ö?^æwÞy@~ð€Œ’’’Î5V²ùÌVOb• (¨ù­ÊÂõM|õÞòæ§Ðû1xõG¸þ V¹2KEȾs…°ýÐ7ðvänM«:;ç®×bþ?¦w쓺H„„„,Z´HíS"##Y³fÁÃÃCmƒoooÌ›7OíúaÈ!Jõ $$D£r¶ÅáÇqíÚ5Ì›7®®®J¯“6#tÏW8øó”Н§ ? ËfÏ|â¾xøŽuyÆn܇•³Z;'‡‡‡ÃÁÁ«Ö¼§Q}ÃÃÃñ /ÀÛÛ›õ=±±±ˆŒŒÄŒ—^Vé>äà¿W¡Tiރܔê[Y9;;+M#::ZcÝoO檶Õã $$Ï<ó –-[¦QÿtuuÕH–ÑÑÑmŽõO–yÙ²e …HHHha¬Õ}8Wl8t Î81µÅuïÇÉ«Î=Í 46hå”hßãdg¡ÐaQ`6’‰-«ïò‘‚ýýýLvv69w€S0[‡Xóþ 8²ßcx<^»÷`ì½Ö1 RåªÞÞÞ)˜ U®ä J{Ûy‘S°Ž8»»»3îîîÝ×)8u_ªü³¡Åxla#ÿ{Ãä"µ®<žÆýcÆšfŸ½†ûËQ‘“ˆo7̇à±ytQU<^žº…“²Q¤àž*±UÙ§[O5—“Û½W›#tj}€#9¨ÒõÅ7I åSÍœ®Í¤6ïîs]ú¹KDUV0€W[¤³øð'XÙë5ùß%ñÔ1V²HÁ·°}’#µv =Të~£”ß+©Dƒ ±gß׿5Kø¼äÒãÛD]9¨ÚQ¾ ‘nèšÂåi†:Qw}xâ21w“¦Ð†–>-BÕ‹kškÙc̬“áª/=‡¢–Ss&K±Ø®9|ˆ¨&ªOßQ¤à®ÔÒLåë´Þ¤cO¶Ý7ÔàêÕ <«öýœý£G –sÔÓš¶kÇU6ŸÀnbó2x<F‚Ö´Jëõgl[*«D5c%‹õE î ¨²ß´Þ¤[pѪèFcE ½›Â{´Õ±Mbcc1aÂùß>>Šç‡«ïárÜ}ðx˜ÓÁ­£“Z¤uy‘^Žlò öòCÎOXWê÷­>x7w%nÍ—÷øiÊʯ-¶nÝŠ;w"11Q펆•+Wâܹsí*2’““áíí;v`ùòåÊÑCØöo|ñÝi5(žr™³t}ý¥Âßúöí‹cÇŽ±.§TTˆÞŽO£AÊn½aÚ·áØâ:ý8|øp899áܹs§³cÇL›6õ=QQQX°`Ž;¦Ò}ºˆÊºñÍ_8¶D±nx{{cùòåmê~Ûei¿_~Œ7f«v%77ÇǦM›ðÎ;ï¨-3kkkÌ›7O£CheŽÍ±±±¬Êœ••sssÄÅÅaÆŒòß÷ìÙ???NtA­ VVVÊ~Á‘÷†c̶}ó;ì½(zï\’'m†•ÕšfŒ³²*P~û2¬¬æ´HéøÍæíêO¿½ª<[Rz{–þ`‚¤ü°R2µÀ6-®½XXX¨·©iÓž™™™Úi˜›7¹ ˜˜˜(M£úþyÌ?¯Ý)—óçS”¦ÁãñT*§¸®H¥“ÂϬöÔùõ&===èëëk¬kzzz …*¥#;5@Õût•ucrÝàóùmê~›³,ûÅöOÅúe‹ÔªkUUÀØØXãv¥ÁçóY•²2[ZZÂÂÂfff­ô—³>ŵrüø4F (Mþ ó÷Ýj®¼À ß]ØØâZ§—›Þ2j ´PÈêÜ -l:’IÏÀûW?Íþ­Š"«Mg9pÒÆB—uC•~Q‘qœM[€\'ÈôÆé“M¯°'V? ÿc·›Ï´åYnO~ i,Á©’º¦/™F|6ïcù5cÖŸÁH¡ëüçÜ*DCy6RRRZü{œ””\~›Zÿ :Ó“6Fºªªô p45˜¶\´‘¨Óó[‰yûñÙ¢¸{c7|º¶-m£‰í<ŸŽ¥U`zÙU|øÖ¿°çj!ÀfÔøõ?c©•Ô@‘㤥]¥×«êÀ9%à'nŸšÈ—ÐAÝP½_¨ïØÜVôiBKÆ æîŽC@ÅXø½…ð~è|ï}´kþ5öÓ=áb¤ìz1.®˜‡» ¨—2àñøðY€ào߃Ÿ)Õ:—zQ]UuàŒxëY­”Ÿq ]Ò UûÅiß÷OEѧ -LÊàécCHb~ø/Æ8 Q›ÛÖÌCo {xMEK–à•Ù3PõȪüN<ê¥ †>ÿOœü+QûÞoõ&¦*º)¸£Ð$ª+­´Ú/4‰>MhñÍJ†÷kÿƵ¥ëq3ú4N‰DLÜuü}ûOܼ\Æ'¶£~Ž­Sús–wOŠÌET׵篣bÕküáB‡G·%]…‹~ÁEô鞎Z~V£Gs³ˆÈ0 jóî"åaÓæŠÞîpt¿ô¼¼<ÀÝÝ m™HŨ®ªD]]ÄR€¯o¡ëk™™‰Áƒ+ hVœš„ìÇNióušoŽ‘•—A"BUu D"1†FF MX¿†'$$ÀÕÕ•ÛÀk]Œ¤¤$ 6‡…)1JSuøäëƒ@DÇÀeÿdëœ|1:¥ÛÉQ¯³ `hé!ÿ\rµ¤Ç)2¸Òæ‚Ð]:#êrCéî'Gm%\št»Cp;»v®žXöÎû˜<À¼ÕuÂæøD•)]Z˜ê…SÅáÇ@__q“Ñæ‚Ð]¸èŸª9í÷ÑÚ˜Õ­ŒUM^\G-E™XÖãøiÿ>ìŒKÆšQ6O|ÆÆÆr}QUUչƪ¬¬L¥ëÅ5¹øõÌ9\¹•1ðôôÁçI –0M¯w|¸=3Ó§M„½±ö¾¾è.âÓEë5¢C^¶µ¢¢<O­4jjj䯪üeȶ£ÖÖÖª†Œ††¥iÔÕÕ!55O=õT·5Vòºj*˶(//GJJ œœœtR²Áˆ Ò6>Ä;w0|øp­ìý:@ÚXŠUÞKðrA8ÌøCéÝb|0Ø’U9Êcñ‚_2µtER_ˆ˜_£‘œ†²Z Ìm1rœ¦ŽîG¡ö ÈX_¬¡ùX„,ÈêzSÇeXî°‡ š6ÔG`Îîdü¶v($¢‡È¨—øÏH6]›ŸŸ‹„ÝÂöIŽÔÚ=©(»?Z‡Ov…âa½¸Õïý'þ'#¾Ã3µG·bþüùðööÆÚµk»U½´2 (®MFP~ Äõíé7ÿ„¢Æö§ß–Ïl¹ãé-ïAÀÀÔðöð}­?«r$|3 ¡ý?ǧ{‘÷ ªïŸ‡ë ¬ÝqT¢ Ìo•IDATáÀ¿ÿ€iÏ}I¢öèv„††âêÕ«Ý®^Z1Vµ…?AÊ0ˆ"9þ önñ…Ûèe(·m°\º´ø»¾, ;óš¶„.?r ©ñ×Zßí–¡&7 Ó·”"ê‡%¤½=QÕ_˜ê>ïW·{mqü§$0j¢‹ Ö4 ¿¿Û ZùG«ïJ“ŽÀsŽ1 ³Rz_Cyë=ý;ßxEÃw¤=ÑnùF„³ûwcÀÌ7ðÝ–T.?×\¾|sssµÒ9ØîÛ·j¥QTT8uê²³³5ªS\\œR92 ƒÓ§O#''Gíôq-îge£°¸ õbc!ì{÷…‹ƒò‰D‚¿ŽîÅ_ìB ð½ÕÖ™ÏZdd$ÊË˵R )lÄ… 4 ¡nÞlÿ¥L§â‚wqÞêÖG,ãÖ­[Zéÿéééšœccbb:D§ÚBv–¨º°+>ƒ”ÞWWRƒûÿjÙYëÜà㣚_ÂÁ·P6ú=ì|ý9ùw¬ËÏ5ÙÙÙˆ‹‹ƒ··7ìììÔ{ÖÓÙ3gàéé‰aÆ©•Fff&:777d'''¥i|öÙg´!§G™¨µ¢÷rŸ†-ÛÞE“Öª›‘š€y5¬óå·>>ê9ÛbïÞ½puum³žšÔvìØþýûw¸,Ùrûöm+Ô)F\ŠÀ@îÚCÓú|õÕWpppÐJÿ733CXX<<<ðì³ÏjU§ØôOMëyüøqVcåÝ»wqäÈL˜0¶¶¶¨­­ETT”üwuAPö¬§àK¼ZÜ#0sg.”ÔµyOÍÃZÜ€éåuŽa†)ºy’Ù°v-óuhB›i”$}˘Yy3YõâVެP陜‚;Î)¸*'’™ÒGØJžüg7&@áýñi÷^Ù?{¯uLƒT»NÁšÖG§`.òÖÔ)¸±ögíÁE}zŠS0fÑ¢EÝÎ)Xk»'mA¨í‡8}öC&`õÆ·1ÂÚ°mÃ)m=]`hc©(c_A^ƒøæ”Ý*ÆæáŠòù}ñV4H1}ÄP¥ù¸¹¹Aèè‡ëÑoÓD°Ž­m°™2jZÛØÐzÉÐ…U^½Æ½?£!àév}ºbÞ-¦mŒÁH_õí¬U·×ºR¢sÑ^X{ž>æ­û óÖ±¿E\ßúä KKHÅe(5+ü/G³”«9· ¡H¥MII¡–×1~œ;—õÚ†‘Õ‹mþ>sÜÓˆ¾š‚ºGgOʘ÷Åëë?Á—ÂD×eêÓ•ònõ°i*Ä@¤e=T»=t©>Dw4VjP™Ð껡ÿè}[¯ô‚ýB߸ÞZ1Z®PæÀÉ5RQVÿÆþ¤ê)[Û6VKÞÂɳ3ð{Ì5d<(c „ËÀa˜0~LÕ0RŠäлÿ6ë³ê·\Îꣲ,£ó´’·"9è›´çœÏƒû³Sqýú§jµ‡TT¿N’¥*rhòiÀèIÆ*çxöoCø``Sgxuߘü~ àè {}j9-Òž'”4rwl•TR‰F–×Ú{­ÃÉ×µ{ÀÒ>/¹h]ù …õyâ%Bãú¨$KŽóf#‡Üz‰VÚC*©„¸“d©Ž2ëÄ4€h "uêlË'Bs—÷1´٣ÝÞÕM%CU•777¸¹¹aðàÁònnnðœú5µ¾¢·[œp&üwOLƃ°äéöÏê5î \½¤Ýµ&Uåpè@¬ÂúXñ;¥>úƃ°ÂÝš³¼ÙÊáÛ¯ÓÎÓ´ñ ô25ètÝ`+‡?ÐoëÞâïçÃðÅNó¨ÊˆÆ©¸,]ô§éJ ñÓŽO±ûÈ9+XÃ0ï5@“7¸££zꆇ‡ãêÕ«Xµj<==Õ. x½øÖ-í‰ûŠ0lHëòLÚ†€WŸ”†Ù³gcÉ’%*×ïÍ5ï´Y¿¶¸w¢0gÎ,^¼XͶTQÿýY¡®\¹GGG|öÅ7éÖÉ“'áãヷßf?pñâEÄÆÆâõ¾˜2eJÉá˜B9DFFÂÃÃC£1#114–exx8FŒ¡RYT•ÃÄÿ+ílû稩Ӱií›j×344´]™·Wc ôv²oWVñññˆŽŽÆÆÑ«W/üôÓO- -ŸÏÝÛ®Zƪÿþà’¢›âxa­üo ×8óîr8ÿ,©OÃäÑkp¥BŠÍÿæn °úþyÌš<¯Í)‚Êü{ggg8;;«•ìä GGG¥ògS8òÓ-ìÞÖ2 q"²#×?׿ú€Jz¦~í¾×Ô¨•·6ä ¯¯###û ǃ•••Jéܽ{àààÐérÐÓÓƒP(ÔH€“q‡Çã©\.ûÛþyâÄÞ©Y]Ûª'›r4ÖU 7׸]YÊǶ>}ú´šõáò‹Î_³bÄ🻻¹@Öºø§† ÐN¤`Uæ²µ¦ë úƃðåäößú:r“Cg@r 9hC\¬ƒvô8!®/Ô©¶ètcu'h.eWÊÿ~íÀÌwrš‡¶"«â¬¨mT)‹‰âÓ=Öž¿Ž-ËŸï´…l]ä@ràZªôO}ãÁ:1NèñÍtëÁ¡33¯É;…©kÏÉÿö~ÿ$¾ÍÓ<´)X**À[*8_zo: ‡v¯SÇWÕ²LÚ¶K±r8`óÁ(lü"›3‡Ú®ÉäÀ¥TîŸÿÝ«•z¨ZŽ ›CÈX€¸.óÇ,Aá£Ó“Ǽ±—?™ã\´)X*©Dƒ sÙ¿my¹Í©’öíÜ&pV–ˆµ^m^Ã…Cmw€ä@ràBªöϳïŒÓޱR±QÍЭ‡†ÎÈTÒp«ÆÅ¹ü¦ñׇ .È—óÂh3R0—súl Sb:¤,AèîXÑÊÑeŒUCy–ŒñÀÁ„ð ñÑO7q.p!çéˆHÁ\ÌesµIƒÖBwÑ•þÙ•Ç Þ£ø'm‹ š§¡F­ž¡ª*FFzj% ÍmЯo˜hÁ^2RdÝI„Aß¡è-l:ªåÆ—_ivªªk ‰Áðø042‚PhÂʧ&!»RÄ®±ô 1tÈ@j¥,\qãÆ 8;;ÃÖÖ–õ=¥¥¥ÈÌÌÄàÁƒ!ª·Á¦®®ÉÉÉ*ç­ ’’’ 0x°f‹å7oÞ„ƒƒƒJþyHKKƒ««+,,,:U °°°@¿~ýÔNCæ=dÈÊKKKÊÒ™c…*ýÏÚÚºÍzrUŽšš¤¤¤ÀÝÝEEE-"„øá‡øä“O8ž–‚/>Nõý¿˜–Ndx<ãà1ƒÙ~S«Áó†°èˆÎ_T†¤!Ÿ1Òã±P7óà=¦+ NðE] .ÉÎÎÎŒ···æçÔ¾ÈE @®°°°è°@€í¡Íà‹º8¾È–n|QÒP‚¸_ÏâØO‡qøT"ž™õ ~ŠÚ……>îÐæThéí]˜³_€¤ü…:?5 ê‚§6O”&‚Ðe´b¬2ÿŒÀÑsqšÙaÊòmØ|øYØuÌhWŠ,[ð|÷bÛÛI;"²-AD3VýÆþ>ûR¡®)xíùë¨Xõ¸Ð©‘m ‚èZtTpÔnm¬öã%AªÀ&d‡ÁQÉX-ߢÈñ’ ˆv¨¾³Æ·îÅè”nW÷nm¬ªr1Æç{h±…XWÖ¬‚ Ø"óÉds¶_Cé2V]‰¦HÁHË ‚èò¨t­À±ÛÕŸ•Sðõë×ñꫯ¢¼¼5556li¡”ôôt888ÀÔÔ”õ=䬘ÌÌLØØØÀÌŒý Øä¬˜¬¬,˜››ÃÚÚºëu*¦ñ7Áv%ÊÔÎn}l´^,‘H„ììl 0zzz¨©©Áƒä¿ðÁø÷¿ÿÍ‘ B §`î §àîGcí=†Çcw€€½×:¦AÚýd ‚ B§¡Ãªu!R0AÑ.=ý°jÚºNtÜÝÝÁb –è@ÊËËI\½YôpŸL2VA]ˆžê“IÓ€A+‚ ‚Ðþ–-[¶ˆNWD>ÎÎΘ8q"ÌÍÍ»|}ŒŒŒ0~üx >¼Sdéè舉'vMŸ¢'044„——FŽI¥ÃÊ)˜ ‚ :š$‚ ÈXA+‚ ‚ŒAA±"‚ 2VA+‚ ‚ cEA±"‚ 2VA¡ÿ_˜z(ˆÿ)IEND®B`‚nted-1.10.18/doc/docimages/the_excerpt.png0000664001041000007640000015161511520267216015267 00000000000000‰PNG  IHDRx¾T–hsRGB®Îé pHYs ‰ ‰7ÉË­tIMEØ !3ÄJtEXtCommentCreated with GIMPW IDATxÚìg\×ÞÇÏ”í»,K QA5vcb4–[Š1McLb®É“zÓԘĖ˜hŒ½EÅ{WDAA©Ò;Ûaûì´çÅšuA4^“œï‡ìÌ9gþsÚïôAjjj’““óóóçÌ™Ããñnnn×o•”TÖŽã&ŠEü:…@ äу"I>—Éd­Þ­¯«ÇQ*•þþþ V«=š€¢(†bv§út¥&+·lPßðÊZyd÷.WoVæÞ@}<¥¾ž’’ò*‰D @5XŒÁP̱†wÅ0¼¼¼¼¤¤düøñ4M#b6›Íf³Õj@1ôn?@,ÔjµB* Bý=en¢ˆPßµ‘aÙoIÓeUr‘€àå.Z E‘ŽÞ!òˆ€0(‚b(æDPÏÈÈ`fß¾}YYY“'O‰D}ûöµZ­I¡Žz‚€¢’r__yE%Á~WÒo˜,äœÏ–UÔxºK7ÏÒ²J­†èç @È@þ‡`ƒa(Š¢Nîb¸N§óôô¬ªª444äççwíÚE1Çš˲f‚æó¹€eI’ò÷õ¡QÑLV"ëVMc“^"…|wwÙŸ²…@9P”A1 Å0>—Ó5ÐÃ~ýFA%ÏGQ ˆˆ°Z­Ï>û,Çãp8†¡¨Í×]=),«­®kÀDi™y5uò˹,ËhÕ ×o@›Á0¼°¬ž3r…Êh608”@  s§ŽgYPX\ÖÔ¨µ]W6#º÷F1¹yóæ©S§¤Rék¯½æèórFnaIµý'MS³™Ëã±,KQ$Š¢ Í (ŠáMÑ€eA”a‚>_@5(Šäq¯Jª¯ÇEw€rýC4z[nÃJR޳Ç(Æåp¹þ‚5>ü]ÁŽÑh‰D÷Þ"I’fXdãÞÓ0š ä_ÃЄÅrïuAx|>âïã@ wåA§ÓÁX€@ ˆœ¦i ±W”B Äa0›Í¦®®Ã‡èÕÖÖ>³X–­««{P¡=â˜L¦ÂÂÂüüü¿î*•ÊjµÂì@:, «W¯^´hÑŒF£B¡øá‡ÚõŸ““£P( ÃüñÇ0"11qÑ¢E‹-ÊÈȰ]¡(jÕªUåååû÷ïoÛo»줤¤444´á`÷îÝ63233;÷ˆV•rÅŠK–,©®®vææìÙ³‡¾~ýúý'§ÝÔ6ïÚµë_¢²äþÁTTT,_¾EQ­V‹a@.—§¦¦0ÇñV›öÇŽ›3gΕ+W4M@@€ÕjµýÿÄO†……ݺu+<<œ¢¨.]º´jDZZšM„0 ³X,—.]²=½©©iëÖ­‹%>>ÞÝݽU¿©©©S¦L9sæ Aaaa)))&“iêÔ©)))MMMãÆ»víšÙl>|øp÷îݧNÚµk×VƒJOO·›ÑÐÐ@Ó4—ËÍÊÊÚºu+EQýû÷¯©© ·X,7n܈ŒŒ HII±X,Ó§Oo5@‚ V¯^=gÎoo着*??¿ÌÌÌÚÚÚáÇ—––Z­V³Ù‡Ã©¬¬ôôôôññ¹zõjhhhtt4æäô«ÔÔÔçž{ÎöÏÔ©S óòò¢¢¢ åååføðá¾¾¾0ëC —„¡¦¦fÑ¢EC‡ˆˆÈÉÉüú믉äÂ… ÞÞÞ­Ö§}úô9wî\IIIrrrBBÂÚµkõzý… d2ÙÎ; Ã… ”Je×®]ÃÃà MÓ‹-̘1C«Õ–••:äîîÞ³gOÛ‡"œAQÔo¿ý6þü-[¶Œ?>---..îâÅ‹ÉÉÉnnn*•êòåËsæÌñõõ “JN’¤ÍŒ^x!""bÛ¶mvMêÞ½{RRŽãýû÷×h4z½~Íš5ñññ×®]‹‹‹s MZºwïŽa˜——W~~þ™3gúõë·uëÖªªªøøøââbA|||üüüöìÙ#—Ëd2Ù…  C\\Üùóç%Iaaáüùóùå//¯óçÏþùçþþþ­>ñöíÛï½÷@­V›Íæü±gÏžIIIÝ»w/***((:tè¶mÛ>üðC˜õ!ˆKCIÁÁÁ«W¯NHH°_©®®6™Lýû÷wVŸâ8>lذß~ûÍÞ!Ðh4jµZ*•FEEyzzÞ¼y3>>þòåËÎê2[ }õêÕ«W¯Ž‹‹Ójµ¡¡¡±XìããÓ§OÛ·"Ú <<|ìØ±\.wĈƒ>~ü¸Z­Öh42™¬OŸ>#GŽ ÷ôôt‡Ã±™1pà@±XLQ”ÙlîÙ³§§§§­Ñ=|øp‰D²víÚ¦¦¦¢¢¢Q£F 4èøñãm¼AåååÙÙÙF£Q*•öïß_­Vs8œñãÇGGGëõú   ÐÐP[Ô………Ù˜¢(µZ]QQ8p`pppUUA111­îW´Ñ½{wÛ+xyyÑ4]YY‰¢¨]º¼¼¼lÂó=iì£>²ÿÐjµ¶$IÇ%ÉóÏ?óæÍªªªØØX77·Vƒððð(++›>}º‡‡‡V«8q¢V«-((Éd111Ý»w:t¨Á`:t¨³†¿Z­Þ¼yó©S§d2Ù!C.\¸P__ß­[·€€€áǯY³&**J"‘´êW«ÕöéÓG§ÓEFFjµZ³Ù|æÌ™¸¸¸É“'«TªÂÂB???[{öì‘H$­¥P(¶lÙrêÔ)///£Ñ1hÐ ŠŠ ±X¼sçÎÁƒK$¹\n2™z÷î¢è¹sçâââúõëçL5{ôè±oß¾ÔÔÔ!C†tíÚµ²²òôéÓ¯¼ò Š¢QQQA‰DbµZ'L˜pòäÉÌÌL©T:zôè½{÷†„„ôîÝÛÛÛ;  gÏž999ÕÕÕC‡u¦ öÔjµÑÑÑ!!!7nÜP©T±±±€’’’ìììÙ³g·¡Ž‚hµwÎÕ»råJbb¢íÿE‹¹â?55uß¾}¶ÿCCC.\ØQ *++W­Zeob¯X±Âu¿—/_>pàÀÌ™3m߃‚$É>øÀöÿÈ‘#'OžÜ¹pvìØá8ýÉ'Ÿøøø´íeéÒ¥jµúõ×_ïÙ³gGwáÂ…#GŽØ¾üòËÑÑÑöŸ×¯_×étcÆŒ™¸* ¸Á @ -ÀíAp‚ `,@ Ä’žžÞ9Ÿ!!!mo/€@ ƒÁP__ßiïݺusö]xÈ¿´Çà¸\ÕuÆŒ3oÞ<}È£€J¥ú¿ÿû?Äá Œ®“ãÒL–,YÒ o¾¾¾Ù <"0 ³lÙ²ÎuýQeYÆ!ä®0À(€<‚$yìÈ¡›§v˜•<‰GבÏ?ûÜ gß.·“›—ûÓ¾ŸÎUž<úøÛϽݷO_™È?¡ñ{ìà^còÚ÷#qÏAF+s±hçε5óþïkûIŽƒ¡¦¦ÆÓÓÓÛÛÛv¥ðváÂm 3c2Ù‘,`¿|Ùö²Ÿ^ý©wÞöíçµx{{wnàù7gœ 5ÕÕU—_æ+ Ô·çä™Õ¦§»ó|’ode:VñÇß°aƒýʶSÛ²úf±A,àÀl{£ßm'·9†¼{÷îS§N-Y²¤©©é˜ª×ë‹‹‹a’Aþ=«Õª×ë¹\® ªŠˆ?›`÷B„››—Ëmõ®V«U©Tááá™™™#GŽ4›ÍëׯŸ0aBlll«Ët\®ª½òl „9/Ì ¥²ªºZo0xyxvé*‹]‚ JJËTj5Ç öõõù§®Ð`¦í/RÜ'¾¾¾-Îwssk§an@‚°X,¶kåáX=ŠHÞ>PuµÒè+æ\[Øsd0º75ePìCBB^|ñÅ7ÚC:{š™Á4{ßæôÅÓßïìWæÎk4üñǶ_Ĥ×Ñ&‹Ú}e³Ùìççç4ÂY†dÈVoa(†#mõ×YÀ’ ÙêÐ?‚ ”ƒ€¶"–4Ã2­?ÁÐ6[„m˜"(å´“ÍX†¬3ïí˜ÍÒCÙ¾·à½>úÀv¸Žâ‚¹c›7nž2eŠ——ŠÀFp+X­V‚ î=‰·å3¡@ àóýòò??mX˜-÷ét:–eË6Žã÷Vš‹E£Ñ¸»»=z4;;{æÌ™999ƒáرc<ÏßßÿÚµkÑÑÑ­®me„EŠ$+®^GI†çpË2, Æ–Æ, Ð'8y1òzVVn^n·®a!_®¬Ïȼ>$.®—kg UTVž=!Àß×Ý]j%Íç/^ðóõlÈ`kru÷ER/?#öƒb‚Î¥ÍÐ…7"‚£¸ž‹)ʲ ÇïÀ#hzݺu§Ó9Éh4Ò4ÝâDEš¦cccßzë­Vk±6Š2H@@ó“Ë1 £Yà)Âq‘ 1 Všå¹mÆÅ¹ EMÈ.ÞÌK]]]bbâã?îìDH*Emòµ[“'M ÛOÍ6šÎêÇ¿µµµf“9<ÂÕ•K4{W“L&@(Þ©±ŽÕÎÉ“-ËÒï–zxx¸™NrÅw˾ûχÿñòòB„ƒ´#¥ÿs´Z­»»»íÜÏ}1…¢¨V?–ã õõõ#GŽlMF\P S©$¹¹üÚZÌl¶z{ëúõÛ±cGqqñ‹/¾8`À€6‚>sæÌÙ³gGŽi2™fΜ¹ÿ~¡P8uêÔÄÄDN7oÞ¼ãÇ·½æÁ¢ÓW$] ôðE1ŒAÐ&¥¼ª1&ÊŸ,˹VéÙ-Ô™0\MO¯¨¬xiÖ Ç–%¬–nݺœ9›$‘H‚œœ¢jG©T9~|büÓA,ÃP4Õ»W÷k™ç“.Æ?ýT‡âWWHYô­ØgtçóË–TTÊ‹ÇÇMs¥ËRRZ¬V«‚ƒBºt sý!fõêÕݺuë´™gÏžU*•-Ôh4¿üò †a Ãt,8÷è`X×®iL Íj˜41Rå/ °ýEÌð¹#ìnŠŠŠÖ­[—››0{öl@|ßø’ê:üîJ9´Šw ùÝwß%B¥REFF¶¡ ]"ØäË›öÜ$—þÝÔÖÔ^I½²àÝÎ>Õ©)©Y™Yï.|—ÏçwâÑ¡¡¡jµúûo¿_üíbŒÛ±§ãüø±ãA|ùÍ—m|…åÑ!11ñÕW_­©©AQ´C””ôøãwnÎÌöqVš;w*%eqœÅ0ÃX(Š ÕjoݺµråJ•JÕFÐ¥¥¥³gÏÎÊÊ2›Í4M‡††æççK$NG’¤P(lw%a4a‹¡ŽbŠ–(O\($¬ †bŠ¢ KšÌ­z”+…E…ÏMžÄãñ å¯ë %¾Þ¾O?õø™³çZ}aÇq•“gÎ<ùøØÐà` ÅpœÃç ÜÝdƒÆ4ê4UοÄyog¡±zBœ“¸{èN˜4i mêh_A¥•WÕ—ˆF–aO¤ýîJõJ’d¯Þ½HÊšžqU.oèp|PE„Ñh¬¬¬ÔëõA¸²Þhr¹Káxö¥)V–3b<¤ÜY*rJŸ¨»KŒ"""–-[vìØ±™3gڮ̞0{Lþ4€æ¢còƼòì+Ž!ÿþûïøâ‹/œânï²1ú‡ï–<~–y ë8ï§ÑjµZ;½¨”$Éûñ»aýÛ|;aóæM›—-YÖvatFuuu=x<^YiY‡»à4=áÙ 8Ž'_Lþ«{n,`–±ý•——“$i»Ø¡.c§‹pqqñ}®6fY¶Å7áQ›*{öTcèÝ[­;V׿?‹a‚Œ?ž ˆäää6ŒöööÖétýû÷/..®¬¬ìÛ·¯Z­Öëõ¶Ag…Báîî®V«9RUUÕjMr…€/À0 EP AWÕ*pŒ*«jDQEQO`Tµþm™Ò²ò^=»s¹¸Z­®®©.,,¬o¨·¤Dì&vétú¶“Ál6ùûûMÆú†z­VÀˆéŸs+×Å$]ÃQÄrRêaôíÎG™¦uê¢}p-OèMW²Ï]¾y"·üšLêÁãñXÀžÉØGRVW’ÓÃKÖ-¼›Z£ÊÍÍÑëu.暦óóó+++ï'3éõzÛ씋îËËÁ©SÀÅ ñMŸý¦c›EQ>ŸÏçóí3^AA+ÞY±ˆ]s(&úèÿ°ÿY±`Ep`°c°ü?i»ye6è.¥¤Ô×Ö$_J%©¦¸‚ÜÏR¨¤ Iz¾)ŠÊHϰÕV€Çã…v ýù§Ÿu:]Gýr8œ¸¸¸¢¢¢3§Ît¢âóòòJII)((°Ï?u¨ž=zø(‡Ã‘7Èÿêf˲$CÚþ’/'ÛЖéP}Ͳ¬Z­®««;~ü¸ëÅêþ-W«Õ7n<|øpË¡${¶ÕÎ4Ÿ èÑ£ŸÏÏÈÈxúé§ »GFF&%%MŸ>ýìÙ³IIIŸ|ò‰H$’Ëå,ËJ$’¼¼%(¬û‹3§ñ8x4ÐjµMu®ðëuúN7*ù|þ¢%OÊÊÌêè÷<¬VëÍœ›sßš[R\¢7èy²Ž¢CX‰I“']¼p±{i¹\î3ñÏÜȺñ×’t.žõz}iiéK/½TZZ*‘HÚîÔ>(,ËâÅ‹Õjµí“À­ Ä=ë+¸\ntttMMM’Û«W¯üüüóçÏÇÇÇÿ÷¿ÿ5^^^r¹œa>ŸõêU>ŸŸžžÞ½{÷ÖÝŒA©öæ PRPRWS×Àå Åå„Rm ð“ðx<½VǶf€··—Þ §hráÂ…eeek~^³rùJE)š²=½AQÄM"6šŒC† òäÉ;wîƒ º~ýúèÑ£½½½(Šº~ýúÛo¿ÍãñŒF£íkÆ-’‚4š9\)‚ „•6™¬³¦<&p7“/÷ó‘ppB“dk}ɈnÝ9êåá%s— <„Ãå° «¨W)mså †aR7÷ªêj^8O,”Øš,ËM¦«é™“&Lp©aËq÷ìö®ªx‰@€F3Eq"/Š-Å0E¶ÿ$†¦YšòܸˆD£oJ<Ì„qì Én>íŽK`(AEm¿f‹…ƒsx\î_š‰{õêåxE£Ñ$%%u ˆFÎP@ñVÅqÎäç§ë´3&£xPÄ‚‚‚Äb1ÛÁ‰DŸñ¹ÉhÚýûîN½ÖZ-î<žIPϯ}¹ÆPš¡| è=Üß3´É ïëáREQ‡ÃÁ¹žÐh4çäd[ 뀘Aîî²vS .LKKûôÓO;Ó¦fŠ¢4M]]B¡°Z­.Ž&Ý`+¯ð~ÀòhQ–euZ7ï›YW’®¤ˆm¬Ã —yÈ:ºÞA™‡lÌãcâÇu®ºüè“¦ÏœÞ‰á ƒÁ ×ë§Í˜ö·è1$$$L˜0!&&ðóçÏF×ýb¶páÂï¿ÿžeÙO?ýT£Ñt(D"ÑÙ³g[túqÇÊâêÕ«ÙÙÙ555†ùùùUVV0ÀEý ðõõÅq|ذaö6‰D¢×ë—/_îííýÄO´>Œh2!V A=´×è¡=ù<.‚ /LÎ0,—ƒ#ÂEq«É Z[88 :ÚM"9~쬷·'˲aÕé SŸ}ö“ÿþwè!s^z©U‰2w÷iSŸ;qútYi%@†fä eïž=¯¤¥½õî»óߜٻ—kÚàéþ_Eá·×Å„(æFB¡¨ý%¡îÏ@nZ¢Ž Œb¡Ág›î- p9Cà_§×•––â8'ºÿ{Ü|>ñâÅ‹/¾Ÿ¹P>Ÿ¯Óé¼½½¹í   ` DЧuW&“)3+[©K$Ò˜˜~žžž®(VIñí¢¢"À²Ý{ôŒèÞ½JCuÙ;oϯÓZF F˜L,ðè ER ìÜx½Õjõó÷ëÜŠU Ãúõïס´ ‡S[S»eÓ–„é òh±XÔj5ŸÏw%Ë9¢V« ‚ ®/BS*•%%% .|¸ý¢\.OJJš9sfPP³¹k£¦P4A¶!A+a‹_aIÊj¥Xš$ÍÚ&àîÖj«¹G÷îþ~~*µÚl±HÄboo‡Ó³G¬Ìë ÃÌ}ýu¡óÝj2™,aêÔ¹Â`Ðã8gÔOw©” ¬yy¹›¶l~õ•W"{÷v©®ãzzvÿØÔTˆ0u½OEñösŽqº†—eæ ùBV98r¬X(aYÖÅúÚb6×ÕÕZ,DhH77©ëµ¼­™pŸ5—Ëõ÷÷çóùm¯UeY ×£45ý¹$  €MXК!õ ò¯¾ý5³:ÐŒp؆ž²‹ÿykÊÀýÛxAv︱]Q¸Ä é?eîs³^êhƒ1ïVÎÍüÛ}¾xú´)\÷þUÁd4åææž8v"ªoÔÄg'r:²1‚a˜ÊŠÊÇOubI’^§OOO§(ªC-P{m^ZRšt!)8$ØÇÇÇÓËÓÓËÕŠ’eY³Ù¬ÕjI+ 0›Ìžžž¾«{?I’T©T"‘ˆeY’$õ:}`P ë1¦kÒYI«T*]»~íñ£Ç;ô¥ †a ~þù稨¨ \ݺÁ0LÒ…¤ ë7BCB§Lš@;ràÐþýû÷íÛG’¤··÷ìÙ³ÝÝÝ;”X×®]ûöÛo£££?þøãÍZ£(*•JgÏžÝbçîØk[°`Avv¶J¥BQÔÃÃ#..®Gê÷¥¦¦:^©©© ˆˆh«Øh5jU“F؈m0˲CÝÛ\¿åææÖ¢gðÎ[ó׬[{=#} —7çå—ÚØÉÌáp‚›g»±£Gi´ÚãÇ®ýõ×- mm%U‹lA’¤ÅŠ5V– µJMoixÞ#¼G¸è— ˆ5?­ÙŸ¸?,,lࠆŠˆq±·Á°Ì¥äK?­þI«Ñúùû½òê+2ÙÙÓg;–d$IÓt‡>mYTX´`þ•R˜1sF'¦Ê=<vìŸÏONNn]p8p`LLŒ­–A·Ze—/s•J»EDåì Å6‹ÅÒnË”/zu ,@@QÌÞ÷bA‘;ò€ nÇÚ}^^žï¼5ÿ·Í›®^»:ùÙ‰:âEÑç§Læóxûÿ8žq½]a`Y–¢H‹ÅBrúɵu˜ç‹f3‰ã$‡ÃmÏ#cµ’]z“VŠ”mù3†c®´Sztïië[tHzõê…ã¸ÉdêtM7xðàAƒÝÛ6lX«k õz“êꀗˆŽ®Ô´¹yIyn¸ïÝqAwmßµzÅjŠ¢*Ê+&O™ŒaXHhˆKz†Ú†÷¼g;ÌÓËEQâºÀ£(ýÝwß …B×wz³,ËápP‰DÆ ¶fñöíÛG=dÈvCxî¹çT*ÕÔ©S;¶ˆ@ttô›o¾i;ù££~%‰D"Q«Õ-3ìM×¥šeY £¿¿Å¡%n‘J‘6G“ZÈ€ŸŸ_YY;[ƒúõñïÝÃöHÄV¬ÿì)ÜY=ʲ(†Vgžžó^C©Rùx{w4¾P}êÉ'z÷êÙöºO{ ‹ÃáŠDb ‹¥=û ˜ÇãsyüvGáPãñ¸€¨îms\.×õìØÑ|€ãøk¯½&‹ïg¿‚ ­6ˆX–m5ØnÝ@b"¨©>>Àµó«@SS£rk¡ä,?¨¦&Çþ300ðÔ©SiiiO>y§ÞWÖTJš·–$ ¬©p¼²oß¾þýûµq¼ŒÌÛïÓ¯§^Is‹Ðûî1¸ËÜgÌš±cû‹Å2bäˆ'Ç?éº6à8þü´ç“.$}òÑ'ݺu{åµWDâ †t y&þ™›7oÆÆÅŽ7A—uŠ„³çÌV*”=zöxí×:4ðH³tpHpAAX"žõâ¬Àà@×_™a?@`µZcÄ<3áןËçâþþþ …"((è¹op8½Nèú»Û†|\^{b#22rõêÕ™×3xîÜ9µJíææ–šš:~üøë÷Ú¨<;½ßâé§Ÿ~àgÈ#iii4M[,WÌ¢(Ê&¤¾¾¾^^^-´„¦i­Vk;ÎÐ>Li0ÚX“K`˜Ùµn€´#»‡ ˲,ËÚ7·ÜsÑcóºþó©.—ëâ»Ð4m_Ú”ž‘9oiðk6gHko¼÷Tíì—gÝé¼*f³Ù`0ìØ±Ãöå²fŒc¾ææÐ,Ö‘à1›Í555ŽcþHZZZ'jU ‚ÉdþôëŸ.Ô>‹ïl|a•ŸyÇïëÞ“ý9)§ÑhvîÜ©V«§OŸnk”>~4ãÇwF¹5Úê^†—tÒ˜?>5áÙæÝ‘¦äää‰w§;î»mÕÁѼ¿‚{…¡‹{„_pƒþøc¹\þÈ<ÿðåª,˪T*½^Ïçó1 ky—1Q4¢jj’ËåÅéç¶>=&B,úg$m‡0 ÉÉÉÕÕÕÎb:Îd29‹ƒÁ@Q”J¥âñxßr’$¦Õj)ŠR*•‚´ê 77·¾¾þ™â&“)---66ÖÝÝý¯_«ÕñWDÝíÛ·ÓÓÓ…¬×ë¯\¹2jÔ(‘HôHE¸Z­¾|ùòôéÓe¶¦¦&³Ù܉S©T4M+Š{+±%i-J÷?\hšž;wnMMÍäÉ“½½½ï«Ér-ó×Ú¸mÃú2uÒÄžYWÎg;IWGÁÑ©kÍhHpÀ£6t`µZÅb±íguuµ^¯ïÝ»·+­KNwîÜ9OÏÖ§XnݺU__ìØ1g޶½· ¼¼œa˜nݺÝÿ+Ð4íÌ0ƒÁ ×ëÏž=+•J[u——§ÕjíÞ‹ŠŠø|~hhh»ÏeF¯×K$}¨Ý¦‚‚‚Áƒ·ëÒVk§¤¤ÔÕÕµê€$I‹Å"‘H:ór¹Üu¦¬¬làÀ®DÁ`‰DΪ¹7nÔÖÖ¶‘٠ťK—ÊËË]±S¡PÈåò¨¨¨ûOS‚ H’´—¯{K«Õ^¸p¡µª233«««íïUWW×ÔÔÔ«W/W4X¯×;vÌYŒY,†a„BaïåæææL±nÞ¼YUUe7¬¬¬ ÄÇÇÇÇÇ>|˜ý'BD×®]CCCoݺժƒWG¿óãoM#ÈÀ§ç ãJ°zEå ££.|ÿQ{ßcÇŽM›6ÍþÓ¶<Ù:®oß¾•••ά]»öí·ßî´÷ìÙ³gûöíä•—-[öÍ7ß8»«V«£¢¢êëë9XµjÕþóÇ×Ü·oŸ+Ï­¯¯4hF£yÈI\XX8oÞ}Ú™›1ÁHzHjŠê¡ß‹¿Ù'Ð?¹É'’êÝŠ}ø©EQÔ¾}ûaÆ}ôIKKËÉÉñð𩨨8uꌇ¿0„……ñùü}ûöÅÇÇ£(›šš:oÞ¼èèè_|±³P4::: ***&&¦U7÷OaúÉo6]CPì¯WÌŠÌ/]ÕîÓÙ ñcþ'©EQÔªU«”J%̸>ÇŽKNN†ñððÉËËÛºu+Œ‡ûá0ùLÓô_|±{÷n¡PXWWk»~íÚ5ÛF¤Áƒóùü/¿ü2<<ÜæfРAùùùuuuR©T$ÕÕÕ <Ø6tõêUƒÁÜ£GgO4GŽÉÊÊr¼h5ª]ñ}IƒÅ8"ܸkGû–[Í)çÏzFÍJK<ðSz†aÇ[O’$•Jå¡C‡|}}[u““SQQa·*;;[.—»b¤ÅbÑjµp6{|íÚµÚÚZgA™Íæ{½› Å·‹*«ëŠõ ìÓK&ÚCkc]¶Õb¬,/-)-7X(wOߨ¾Q¾žRgc|YYY4M;3Ì`0466îÛ·ÏÙäsFF†V«µ{¿víšD"qe§tSS“J¥Ú³g³µ1·nݪªªzà9¤¾¾¾¨¨È•` ‚¨®®>yòdQQQ«rssï±Ñ*nß.®mP"8/¸KxTdÞzó1??¿ººÚî½²²2//ÏÃŒF£B¡8|ø°³!⬬¬²²²62[mmíÑ£GuȲ³³KAqq±‹1¦ÓéÔjõÞ½{¥iJJJII‰³ ôz½R©$$¤Õ‡òùüØØXGå`h˶åŸe–6|wÝ×£]ã3Ïý.:{ÊøÌÌL€¯¯oÜàÇ„‚ykZZZzzú»ï¾ë¬¨¯[·nðàÁ]ºti}œ‹eKJJFm—™òòrû϶˪X,:th@@ëë¬jjjq”Á`øñǽ+*o|øÞ·©9ÅEPœûĉ¿~hœÕjm54scÕW}t4)Co&‚véÿÇö<¤‚Ö»}……E93¬±±qÍš5Æ svüjYYY}}½Ý{MM§§§+1¦T*7mÚ4bÄ777g’ãíííJP¢¬¬,//Ï•`M&Ó¾}û пÿÖ[…8~ëÖ-‡ Økg~_±î—ܲ†œ'zû“µï¿Òú³x<^VV–Ý{^^^MM+†555mݺ5...<<ÜY¨ªªªÌ¶wïÞAƒ9[nDzlii©Ý»D"!IÒÃÔjõ† †î¬¡Ñht:³ 4Í–-[† ì,E”J¥Ý;Žãb±ØÃ~ýõ×Q£F9[•TYY)—Ë%—Ë7lØ0räH@ଵáXˆt:ÝÆÌÌÌE‹Ùöš0ðä“Ož:u*111''§W¯^3gδU»¶[¶ÕoO>ù¤Íq×®],X°hÑ¢ÌÌÌ“'O&&&Þ¼ysåÊ•/^ÔétΊa˜ŸŸŸcjeŸÛ¾qç!.üïWg1å5?Ó¯]ã«Y©—@wâÄ Û:¹òòò[ùêç&Å>ÀøÉÈÈP*•Î2–Åbár¹-ÞÅ///@`¿ëåå¥Õj9nÑØáp8þþþÎËd2±Xììn ﺺâ…~t!³ð®SÖŠœT»w«Õzoh”Åøù/í=™B³öBÎTå]ó”Iƒ[ï$I¥R’$&‰l†9)숻»»­ÇiMOOOWbŒÃáp¹Ü€€™LÖª777wwwW‚ê&“©„h!öÀÇǧÜ" íwë²N/ZôMeãÝÞEå%9ÁÁ/µêÝÛÛÛ1³©T*‰DâŠa"‘ˆÇãµ »·]Ïçó]/UUUR©ÔÃx<ž-M=ûÌvËîÆv½gÏžö<ؽ{wAAÁâÅ‹»wïî¢ ¤®nÉWË«›È!S^ë?¹y^^wšd‡sÚ[’4tÎÜ¡._¾¼víÚtT†¹}ûvXXØÃßöÀ±s2Ó/&§(šÌ~¡fâîi™×¥::FqþèÙoµ¦¶±þ烗hÖ±H`±“_Ë *«S7¤¥^º–‘­#@QqiLLß¿]ì‘$YVVÞÆ–%¥RIQÔÃ9¾Ÿ´Z–oü½º©ÙÆwõ«pÀý>`µŠÚËÉI™7rM4Öh°Ð ûÈVs)éBfN¾™Æjå*‰û_Î1¿ôÒȪU«@ósQÌf3àõ×_OII±ÝZ±b…íŸ_~ù°páBÛ¹]ï¼óÎ?ü¿ýöÛòåË•Je` KËŠ’Žî=—Y€óD‹>Zàá;È3h}CCµVïÇçp¸\ÞæÞB–¾œ´}÷þŒ=z”––nß}ù¥Ã]}«ÕúöÛooذ!,,ìoßÍÕ_~ðþ–Ä“JÑVã\}ÎÀL¡¤CþÇpî°‰³—.x®ý–ÊCP€;ë€Q ï5rÍ7 Ý…öïÿ°òò¬÷æ½s$)Ýd½ó)V­YðÕß-µZí»ï¾»wï^g£€C‡i4š?üqaõ}B3¬¢‰@ÜY„ðÅî3|ùòè°vïtå[zóâ ÿïxr¦•fl ÿÇF?ó(V|ã܇ïrüR&ù§P=þLÂÿL¢££wíÚeÿùÄOlÞ¼yË–-¶©Ô­[·^¹råƒ>xê©§„Bá–-[6oÞlزeKRR’½;°ßÚ´iÓñãÇ?þøã6TÁl6§¦¦Úö24¹îÇïÍThÌX±öö™ÓEV³²ðø¥'‡¦I$Ò~‰âï…¶U'M œ4i’-ì3g:pL7A/^tv‚Mvvv]]³0­VkcccJJг=ŸYYY vïYYYm„Öb€B¯×_ºtÉÇÇ§ÙØIèšt$ ²nä(äõ¶ ÚºýÛŽ\rX²ËRVË¥K—lI™SÐ-$€Ëꌜ+è3ü•YOßÎI¿ý§ë›7o’$y¯aƒÞÝÛ;X(4X¬Ê íÞÿ¥§©Ëo)¿u' ÊŸ}îÆmG_×/´Š¡©¦ÆF+ÅP k;íÃÙ€Oaa¡J¥²{/((¨««s6mÐb@¹©©éÂ… Îv—••iµZg‘¯ÑhÊËËÏŸ?ïl­-ùt:Ý™3g…¡ºººººÚ•4µí¾víZSS“³q]¹\n ÊjµÖ7(ã¢{«šL&‚ŠeÃÇM˜:²GrÒù{ûº&Å"eåJ¥ÒnIIIIEE…+†Ùv§¦¦VWW·êàÆõõõ΂2™L*•êÊ•+ÎΖhQ òòòŠ‹‹]1L«Õêtº¤¤$gizëÖ­ÚÚZgA566655]ºtÉVºÍµK?ûozqÍÝB²u·íÞm¡Û0Œ¦¬º¦&+Åš «Á`8{ö¬³þeAAZ­v”Z­¶LÀçófmÍן|žUÖl?|eqžÝûÍ›7ž0,]ºAÇùú„„„ðùüÀÀÀ¹sçæÏŸo;&aÚ´i´ßâóùŸ}ö™N§ éÓ§ýÖ¼yól:Üöá †¹»»ÛÆ u iǯ˲à·ç½,“ NìÝüKâiÒ`©¬02$yãúÕÝÛ¥O~éÿÞyQ€:×–)̸Pgä=¬C‘@„£1÷"‘Hx<ž³»Aà8Þ¶w.—k¿+‘H„B¡3Ç-FW[„Lš&îÜ™xL¥32° ;à±±¶»MšÚÇ.7ÛÈ ž~9(,BÂÇmÏ ïÕ÷Ë/¾ hE1üžN˜X,&Iò^Ã8/úaåj™‡ Çñ}5?ãbNqóA*ÁÈsíA1”9ùä[w$–7¨ Žâ©ÔiŒ‰D"£Ñh¿+ Åb±+1Ʋ,Žã2™Ì™Š‘Hä,(»÷6N¤ …¶XrÛÁ_®Xh6›¹\®›››3ÇnnnöÜbµZ¹\îSÓ_>lÍ0†cXË0f½òÈÞ;÷h2YPŒÓµ[„=p©Tê¢a8Žs8׳ñ½y•ÃáH¥R ‘›››‹¥ÀVW´‘¦b±¸âi› °¿×É”3™%µÍò*G4jÖÛ®O†4ž8ðûÎ=‡ë4M 0—$)g ‰L&“3ÃhšÆqÜÃÃÃ& G/žÈ)o¦ (W(ÜôëO—2‹Nïß1qÊÌ×§ v¦ ªòܯ6oŒñ¬+'ô(«B¡°OŸ>­:¨ªªÊÍÍu¬Åb‹Åmx—Ëåvï WŒÔëõ oß¾¶•]4iØøÝ§kÖï0www—•Ú‚24ÅÉ®VimcG(†GûuåâÝï,Iª©©ÉÎÎŽ‹sö¸ÒÒR«Õz¯a t´³ÅQ<‹²‹‡¨De°R ŸôÊÊÏÞîâ+° ur׫\_ç0VŽ xTTT``릤¤ b·Ä¶”È•khh‰DÑÑÑÎú"þþþ¾¾¾Î‚²yïß¿¿3ï€ÔÔTµZ=pà@GaH$.Zh4ÝÝÝ{õêå̱F£‘Éd¶»‹ÅÓÓ3<<<ÎÉ)L´µiÅ'¿¬Ý¼Çt7KX‹Å8†a7nÜpÅ0F#‹###T[[ÛFP:N*•FFFöë×ÏY)¸zõªÝ;A …Âà …-QœÕ°ùùùUUU΂R*•"‘¨oß¾¶b¢®p½¿¶É|G9ܧ^zoéûs|ÝEöx`æÞÐÚ²ý²Õ?on"¨?›„À€œM>_½zÇqg†ÕÕÕ …˜˜Û䳩úÖ ¿^g±?û?‹ß{Ù[zgjúöíÛÿðCôZ«¹¥ q® g~9²Úc@ÂÁmß/y¼«ÊØuÖœÉS&<1+þ©?Ò‹—­þé©‘ýƒ=ù­Í2VûͱÌÒ÷†ÿíÄ IsIQ‘Ö@ðÄÍJBþµÔ%߯sT€G·è; wß]'Nüº~s^qÂ2jÎìY!>îÁà¨ÇÆíJܵi{be½Z$õ>nÂk/Lóï¬nRÕ´ð³º&K³V^`8Æm™Ž&½¦´¤ÌHu£á–Ã)ÂX|ûv“‘˼`°égO­\·ÓÔóãÎãÃ"Ú¥÷%ß-= [‹ 0XÌæ½…mD› ˆ{˜L&ÇÄj{œÆÜÜ_èõù»/±f—ÞlâÜëýO>ñÙ!„Åüg'ݸéû/>ýn½Ñ¡ŽK»”jœ3ÚGÃ`2™†1›ÍÎV“$iµZe6›Ûön3Æ–|ŽME³ÙÜjܲ,yvïº7ßûJ¡ÿ³Ã¤VÙÒÂinqH&‹ÅBQTï>`À'ÙòGŰЇ÷¶|Õ÷±½ƒíî-Kë™ížۢΞÊðÓ—,ù¹Yw¤²¬Ìv—e¬'ÿyîÂoÔ&«ã{µ‘I‚p,®f4ÞIÓŽmgŽ¶ÈØ,c=¾ãǹï/ÖZ¨¶ ãà8`hó=ÑjñóëºèÍi‹×%Zi HPx̧_}5il¿Öý®a­½c³¿×;‡ãÔ°…0 †ƒ¦¥¥¬@ʵ/Ý´~DD0»æ¿ëÔ“còäÊâê•‹×Du[Õ:†Á8>IGNæ_½Ò,¾tÊç®=1áéËNrss7nÜØ!KH’T«Õ‰‰‰Î6Íçää”””8 –$I…BÑ»¢æö‰ãgëTZŠaY€Ú½çåå)•JÛŒS315-ùâKµYÐ-4òÀ‘Ráa™ è±K#3[¬Î òâ[‹o¸øš·nÝjã-7nÜhµv3›Íæ÷ßocg;!ÿ¾_|ÕÓd¶ . PsÃö?÷ÍJ ²7lØj¡›­%çù…ÚMMMM‹ÅjµºÕÀ›Ô5gNœ.©n içðX–ݾ}‡PØúnÒììlÛ쮳r¥R¹cÇg›QmÇF£qãÆŽÂ P( îÛ&üû¥ËZŒþɤ¤]ËÎζ×õÇŽŸShu4 P ÷ðô°EQTiié¹sçÚøŒLïa– zÜB8‡+ð˲S˲Síwkjjnݺå,ÑU§Nœ.¯U Ãã‹tzÃþýûmkØò³¯mÙ¾ÛÚ¼bÅŠ{ÃQ+J½Íò._ê·rÇ‚¤èÁÁƒgÍšÕ†ƒÝ»woݺõÞë*•***ªººšþk8{t§ˆÓl±÷¸ã©yv?ÿüsbbâ½)Š,ËM7°Ÿs7Þ¸BϺúgÏúøãW¯^íìnmmíÀm_ærÆÊ•+?ýôS’$/æççÏ;÷^ÇÅYüfi*ñî²n_²õÏ4¥HË¥£›£Âü±»ÃÜHȶ»F£qæÌ™ètÜ^¿~ýý÷ßo5êJrÎèÎã`öÎ)‚b¹¹¹6‡vÿ*h~SPäˆ ™%¶»·ó®ÊøÍ†P¤~áÿH!)§yõÈ‘#Ó¦M³ÿ¼téÒ’%KZ3ÌZ|ãìÐÈ0ÞÌ0¥Ri±³ûÖF†ú9Ž”òø„ȾìÎkf˜{@÷-GÒ(ÊÕBtêÔ©U«Vu"ª)Ò|j÷O½C}',†b¯¢ÌÓ±=‚¹ÍßK§Ó¹þŽ;þ-ß|Fÿç Þø¿ÿÖeïÿö·ƒ¸Èkòì§PõꌋEÚ†¶žLÜXKá/¼4;ÐSˆ6'¼Ç1ƒ#5í°?‹Å¢7hq4¦U¹÷CÓugÀ~µ±òö' þs£´–¤‡Þ€±½ÐP©,è»ÏÞð–ñù|@ÚcÀ·«×ÍŸõ8ÇЂ ­>·m«Pµ¢¢ƒãF¾3{²›XÈçó…BqÔñ›6¯rHïvm#º% æŸÏ,°wiŠD‘{RŠ¡)Š¢¶Ó‘poœ¸â1 0â›_÷–¹ñù|@Ø­ÏåkÖ½:uçÏ4UÝøäýOo•×;l¾eišê¨=}#K£òËùo_¾YB´}„AQÇmFzâéOIDB>Ÿ/Iú‹ß±mýˆèÿgï¼ÃšºÚ~nvaïlE(ºªÖÝVkuÖªu·¶j]m]hUÜg]à8ز {„Aöºãûãb D@_½¿§OÌ=ï¹ï=ë=ç=Ëêé´nñ·¶–lü»üÚvß¶kÏ”/ºQ&  Ãpí:ê·*¦V­ž3÷iF!~œ—N1]‚W¾z¶béÚŒb.ªwÚ£V£ÁŸ¶òi³fÑ×Öæ¸bþ¡=wîÞ;qX—†ùõŽ !iO–/[ŸY\¥¿ZýºâËye?Ïšû<§TSç»ÈWŒD"}v“Ï€€.QÛ~LùæÇ…YÉ‹çLïÜΟaÛÉŒawòF|Uܱ³ñÉãg­^>µ¹ÁŒŒ_ïþø*Q|™³··wxGŸ÷­­TXqõ¹ëqø¥­‹7Oðæ2†Ôüì›éÅuœþtö„¥ëß'™BûfÅö±³ÊÍ/>LêgQÌíÝ6î;³h]IA)mãèïãInÜ„ _T~èÞ+ýz‘©Q߯bëÕ¡Q‰o\8{õæ2žÈÆÉ«ºš7t ãû4*Ó|öºÝ“æ¯Ê+,#3-ƒ}éu7"c.+++##cÌ£‡#q8Až{¨R©80uêÔfßPÿŽddd0™ÌV­Z5|Ä+Ë»÷ð™D¦$²ƒ‹wî]¬Ùoº`Iþ½÷T«7¦€ÈÔ_|Ñ!,ÔØ‚ˆ£G~ýõ× —èxúô©B¡èׯ_YÜšš´´´ž={6ýãÐÜôÄçÉJµ–B¥»¶ êÓ­ƒnv †áØØØ6mÚ4ænzÃ*>?777""¢aÓÍ-ɽ÷ð¹L¡‚H·V=»‡[šµX-SJªÏ;žWQ§íäê5wÖtüo.—[QQÖP±Êâœ{ŸË•jˆLqt÷íÙ­³K‘’•òâej¶J£¥Ðî­Z÷éFn¹•Ù¥¥¥555!!ÍØ ‚d$=KJÏÅóð îÓ=Lo…UfÝ}ôB¡ÒÈg¿Ý:³›r;@^^Þç2ùœžžn:äåè±$cwºà½ê£P(BCCsssu¿¨$ëLµ3ÓÄtê5 T#(¬W !ˆFð|.“Ïõ‹ùY™¥\>òzZ‰åä!˜ Iô^\B(\Í­())ˆ¤u†,RÞº¾ÿåÏ#|Ù›­yéiøL¦í¤>ítK è,ËÞ#¿Ù½aŽ%ƒ >)ïÙ|Z¿fôÚ#`)4f‡>£÷n_íaU¿›†"·¢¤¤T(–++R±°¤¸¸²Š¯…"mßJ§€ ÎnÐ뮓¥Ë¢õ[gèB¤Ì»ð9Î1ÀŠòŸæÏ¹z/ÉÚ5`ÝÎ]Ã;ù(¬€aêjeKÛ¬²83úï]q¥J¹•=·úíÉLM>pê_m9MÈ»'~n+ 1Ù[Žžë{õjbz.İìܵǀ~=í-͈Rû Z†eì0äÚ£g©0‰Ù¦}Ç!ƒºÕ;#CKò’÷þ½çÁó4™J˲°IëoãЪÄ'¢ÿ>w-¾Œ+ ›[iQÒÐ=ˆÔ5xŸC'Oݸ—[\eëìÙ½Wßþ=:PH$"eÃÐ4¸÷â®^¼^$Ñ•”nøqe¯¸3dH+φHÛß²E_…½zziâW3Òô—@$Tg ´žÇÒ'l`ôoKuÿ´wñ™òÝSˆrúÉcaã7eí7TÒšSë΄°rð\øËeÝ’ðàøŸî–¯½#ô¾#¿IæTIGðQø,ö1 rõêUü¢Öd>½±tå†ì’j "±­]æýüë´/zÒÈ-¼wQ)gg¤¤eæCtËvíCýZy²èT¢;ò"—Š2Ó’2rŠÈ,ë°a>žn Zñ:‚hJ99/SÄJÔ'0¸mp ­¥9‘n…ÏÔ0ÔÖU‰ ;+GªB¼Z»;Ú~¨ íŸ4”ÏùãÍ,l;„G…€€€€@bµ/aÃ@@@@@@Â0†€€€€€0 „a aÃ@@@@@@Â0†€€€€€0 „a Á;€¢èóçÏ•Je³Å ‘’Ÿ>§¬¬ì]b(---(( R’€0 ÿqÔjõÌ™3›Ý^h4šyóæ•——)ùésðàÁ .¼K .\8|ø0†aDb†€€€€€0 ¯IMM=zô(‘-2<ŽŽ...6 ;;ûÀDBµ2™lÛ¶m Åc®©©Ù¸q#Š¢ÆÜ¿ÿòåËÆžŠÅâM›6i4Â0ü¿Âápâââˆt xw`¾ví—Ë5 ¤¤äúõëDBµJ¥òܹs‰ä}˜œ'N˜0 ééé ÆžÊåòÓ§OÃ0L‚÷‹J¥âóùÍDQ”ÇãiµÚ÷×@¿n;Þ …ÂÿäXG$†`FÌé¼ iii6lh^3´lÙ²w\²e‚/^lÞ¼ù}Ä|çÎ;wþ÷²òæÍ›»wïÖÿ…ò9”`­VËápH¤7VðòåËR©tâĉey÷¹¨kÇ_X«.ÊÏ..ç1Ì,=¼|Üm߇&jµZ¥Råççë.•––ŠÅâÌÌLcâJ¥Ò„xË'F)à 4°²±³0cü¿ä8ŠhùÕÕ* bfaekÅþ(:ðù| ÃŒeecàr¹555™™™5C\¡PH¥ÒÂÂB6Ûp ”””H$’fk˜‘‘‘žžÞ q±Xœžžž‘‘ÑìuÛïI±·òêÕ+1‹D"¥R™——×âßUUU¥V«³²²Èd²Á•••|>ߘb<O¥Reee1™Lcß•••¥/þYF“-“Ét¿ìÚµ«ªªªuëÖÉwg í žíÏ;ü0½¼g¿ÞUMÆ«l·6]¢†ôµfѵ<Å™IB ½}hHSM”R©ÌÊÊ26 -,, …ÉÉÉÆÄår¹ ñzdggóùüîÝ»7#Ñ`µôñݸ{ž ÄRfÖÝŒü¢oXKu6iß¾}ËurÂÃø»ÊxAi ³öÝÖ‹F%7F¥¥¥ÁÁÁZ­ÖX€¿þúkùòåÆž–——·oß^.— ­_¨Ž?þ‘ç222 nBQtïÞ½{÷îÍÎÎþj¼*ÖHÕZ¥pÓÁ£årÒ€)kºY#ûÿÜxù^º¡>©|çÆUžå`úÿ>–Ba''#))¹¨œ§ÿ{ꣻ«×m“jê| •WۦƯ’‹³3Ò’’SyBi“­*?;#))¹¸¢º > ~åâY‹KErýÙ.þdj}'˜R^“õ*-)9µZ$#f êñ CaaáÀÃÂÂV¯^¢èÈ‘#þüòËû÷ïœ&‚ ¨¸¸xÖ¬YOŸ>ýêuéܹC°»§÷€ðöVL2…JéÑÏY%,½žù²Y@^<]ÆýÏx Q'Ä_5¤ÿÀÁÆ ë߯ÏòíÇêÚm¹•ÅÒ:Ó¶!kžÕ§™JrùØ®ÁýúF2lØÐ~ï9w¯‘Š=¹un\Ô ‘¸b}Wî<¡Ô ‘Ujd™B•þ/LK§ŸV,¶ÕCh•âKGÿԷϠ׊EÇ>$}>Ѓ···‡‡ÇíÛ·:D"‘ú÷ï¿mÛ¶_ý†a777ƒ†ÁÕÕµU«Vݺuk™vÐÐ2$ Ã0CzÃ0…? FQ´gÏžM}£T*=yò¤‹‹‹þd‚ »víJœŸ‹ÞùKÃKÍ©lÛÚïÁ½x†Â•1“žìÚõfWˆVQsëÆ½Îƒ†Ý½yŸ¢ÙµkW“4Ñjµ|>ÿرcööö¤¤¤dgg‹V«Õr¹ÜcÇŽé `˜XP‘ðôYQi¥Áì="zv÷t°©u‘½zU]]M¥Rë{x’Ík×T+ëlx¡[°Ÿ8aÅf’’’¼ü‚D Še4¦™Uu^Ò¾¼¤:6R*Lzþ<;¿P¡†ÙÖv]º÷ ðr&A  +mÿþdÚ:ž(ˆÉÐ}WRR à ·)d¢-ë×óë)fÉ>r옅]÷É5üò§Ož—WjààâÕ­gww{+€R©T¢äåË—ÁQö¶6uÕþÝo3'íå¡ÃGåuÃè4b>4777¶)L.á'>ž“_¤Ô 6]zôô÷p"Y2”˜˜Èf³ÍJ$’ªªªýû÷³X,c¥åÑ£Gr¹|×®]ú«’ªªªÒÓÓSðÔjuaaáÙ³g_¼xa0@vvvAA±¨4 ‡Ã¹páBZZšÁ¹¹¹………:ñ²²²”””Æ(&—Ë+**Ž?îääd0@ZZZNNޱ¨T*Uqqñ©S§=zd0À«W¯òòòtâùùùQL*•òx¼Ë”gÏž™ˆJ&“q¹Ü#GŽØÙÙ œœœ••¥ÏÎÎær¹ÆéSSS# wïÞm¬8=xð@,SL,WWWïÛ·ÏØäóãÇËÊÊtâ/_¾üІA&“-Z´hÉ’%þþþ•••}úô >|xxx¸ÏÒ¥K;wî|çÎcÇŽé¬HxxxIIÉÊ•+GßÔ—š™™}ñÅ­[·Öý²{÷n‘H4uêÔëh<‰s»¢/ ûêûþí݈FõdÏ:†µ×¤ ? ëõfiÄcÛüºôÔ#<%…pppèÕ{ˆ—§}ã5Q©T‡9r¤ÁÖÖÖ …bêÔ©ÆÄO:5jÔ(\ÃÜÄÛ3¿Ûœ^X¡EP@~>§FëpcþƧal"AÑÊ?×i|ÙvËVÿ:竾`³Ù0 Ïšûƒ± ·0yáìùw^d*50@yå"ÚƒëG,W.ß¾{¿‡n˜¾ IDAT¾€gÛ-ü6¬[m°ÙlµZýÕW_Õ‹—ÇÍ_¹rþ/ Çk7~?¶7®†!¯ž^›»sSzQ%Œ2‡£„\ï]ÚW€S§NMšòµ³³³A½SÉ÷×± ö^¡[þØ8¸K ÎôÚÙÙ1¢aŸª²àå¼™ó¤äª40‚òÊEŒ§·ØZ›|Wqq±ƒƒƒ±¬¬ªª:þüW_}eeee¢ …S§NÕ7 yyy\.×X´õÄïܹ3tèÐŽ; pçÎ’’cQ)Š 4ÈØ¨ýþýûú¥+--ÍDÑ­SüD¢Ë—/1" À`€k×®‰ÅbcQI¥ÒÛ·oGEE…„^xãÆ >Ÿ¯OHHxüøqcãñxgÏž?~¼µµµÁxËXT|>?66vôèÑ^^^XXXh4ø;wrrr£Xyyù‰'&Ožll¹”J¥ª¬¬4Ueeå™3g&NœhÌàa–ššªg2™Ú0¼zõjÏž=ø2|ÀäÉ“=š””tèС   @II xòäÉGŽIJJÚµk×ôéÓ.\ØøÂø¨èèQˆÏ_‡¢Ø–-Þ66oÖðr¹«µZÉâÅÌ’ì™å¨[ ,ÊËþnûZúu_&A°ëù’v¾Ð?”ÍxcÏ}½ÃäVŠÒÒR|9šL&‰5!ì&,“§P($ÉÌÌÌØÒr&“I¥R=¥P¨d2Y'^S’µaÉò¤ü2=Ì+ÈÒ‰3™L:Þ06òòñrË+,C0°qñ_¸bÍ’™_Ð_7@ ƒF£SC«”íZ±äÆ“4{“Üü’|:•‚‹°Ì¬Í…b9‚ ÏÖ]6oß:²8åuûÆ`0H$RÃøa­‡‹£m%O£ÀÎ-pÑʵ‹¦§½VLX¶áÇŸ“9åzÎ'¸ª0 EQ2™lnnnLs–™ƒ³­O$EPA$¯6]·îØ6¼O'}ŘLfCqµ¬fçOKâ^d¢Ø›ºÄ/Îe2èÆÞE£Ñ &¾®Õ6­*® ƒ¾a0333QBô!‘H …Åb5¯°‘Éd*•j¢¬²X, …¢{Êb±L”™z_ýbÜTÅ0 3-ÞP1¡R©4)L&ÓÄ7ªTª·Šë“Éd0QÌÜܯ/Æ ƒ®¨3¥d2™Íf3 õêûG0 «W¯¾wïžnøèÞ½ûŸþY/ØÌ™3ñG;vìÀÿxøð!`ß¾}&"Gpà€a0w®Îñ%àüy€þæHÀþý}^ÿÒùá]ðð.†N¢<Øô»¯£Î(/xÐðàׇ5kÖøùùõìøöŽ›˜÷ï•k7ïðj”ö®­ÄҦݦ «©Šû÷Ê¿·îòj”ön>|Ñ÷Kbvæ•$N¶€fþåÒŸÞ'‘,ì\’ΜVj0ˆaÜ:€EkBIK¸]{©ßñ†HäÈoæX;¾< µ}ӆܢJ¶Sp ¹q;´ ÙÒÎùæÍëb¹†Ä°jìϤÖQìì›7ÓŠê´_töØ%˯üˆ±Ö®X’W̵°unЪ‘ŠU ÊöÜLÆê¨J2s>[¯¿¯UIï^¿|õf|I¥Ðε·²| £cç%´OïÜø÷ÆíW¹Eæ¶®R©´mP+@@ðÁùІ¡W¯^º‘éñãÇñ®“îÄ|¬°råJ| «\.Ç÷°Èåò;/°püx&Óè( ’“[æ  îhO1äÇwÄ^M:t¨X,>ròᔯz˜œ§.™3ïâçR¥º¶í¦Ð=A‡ñŠSÍžwùî‹7âä7Y‘ÙT Y ×vÜY¶#§ý°æÛ¡üF¶sˆ‘1¯i¨4K7[‹R/ÉîÜoÔ_kfYÐÉú¶ÇÞµ•½ksÚ5 [—ÀÃ~s˜Â SUj-™…í—ß-Y>y@ã#‡ ’ƒ›ƒ›OÓê Õ‚E—*ÕøˆÎ²ˆ4nçÊé¬×[=Ä<ί˗8sC$«Ô’©ô}š°tB£íûýçßw¯ä‹±Ú¼¦¶ ú‰h¤þㆡW¯^{öìÑýsÒ¤IÜ·oßàÁƒ/_¾¼~ýú¬¬¬}ûöEDD°X¬C‡íÛ·oÙ²e`Ù2ñÇ3ðËÌ| 3ŽÎž=ãìlxgf````` @%ÍŠŽÎ2Ú®£È­Óû/ÝOFôTFøôéÓŽuû’°V-®kŒSP˜—›û…nžÚùAJq=}úŒƒƒ= ''ÇÖÆÊÞÞ^"S’iLŸ Ð¾6—NÓNKKãñx 7ˆj4wâÄ c³d/_¾ÌÎÎÆÕ0Ð:«Õd ë ;G¥Z ÈT7¯€ÝÛÆ]:­ ’’’——gL†á†ŽA…B! ;fÌóþäÉ3/wW*!–+©t–OPûPOvì©£:W@uuµ ñ„„„‚‚Š=zôˆÍf7ÜX.•JY–ž^ÖR…"SÝZõïtëâ›O~~óÌÑ‹w4蛬B´š„„g †áwI$’êêꘘÝè¾4ãɶ]Gz™"pRrJtt´¾+‰ËåfffšøÑÖˆjÔ0B¡Ò‹‹‹/^¼˜ššZÇ“£Q‰kÄ0 Ê+¹………Æ¢Òh4—/_ÎÊ2\³³³‹‹‹u⥥¥iii&Ów£q¹Ü³gÏ›|NMMÍÏÏ7•J¥*--=wîܳgÏ HOOçp8:q‡“ûºN™F—)ÆöT?}ú´aT¬‹jÔŠrUUÕÉ“'U«ÄÄÄœœxff&—Ëe0Œž4ó:fL £"‘èÀõ&ŸµjeM 9%M¥Q CPŒÏçÍcÐ=­P( êÄcbb¢££‰3Œêêjcâxü¦a€šššýû÷2ÄX“!¬­­Ý&‘HbbbLˆã“[&‹Å¶¶¶QQQõ~Ç×’>}ÚÆÆÆÐøR¼fÕJ}«8ùÇ ¿¹Y®Š<ïøñãÆ Ãm†('ž®c>nü»s¿p~~~QQ‘ÁO@4☿·þ}¼L @d …n¶iSï:Ôš7AÑ®-¿G»$Uøã®]‡.&rùÖ­[={öìÚµ«±Ö$++K'žžž. M¤­‘HtæÌ™þýû;ô‚Édòxwþez.İïÖkx]q‚Oˆ²zÏ‘°È R`3$¬óÈQ^Î6M‰4iÙ»ÀvqžÕ(ß v_ŒÙÖß½ñ§ªVsKßöÆ*àØ†Û9Ö®Ü}þà^Ì…[šz…­m¯¦~«DX‘šš!Ó@Õ¢¦ÝH£VÔ¤&¥ð¥K{ç÷‘ bAyjj¦&•W‹[8f~yjZ¦&UT¿ùäÒ¼?þzcp샻³-,ßµ£œŸóÇ®£:«Ps›Ðk?ÒÝë×ÏÜx¤Eëµ½k{–yÙ[õ¬B­xHφ+šjªKSÓ²”™+}Ì9†7 b&vìòûïÈû¾¡GšzE±S§† ò¦¯Âáp ÅÕýcãáÈ)nä1?ü¾ýPlT¯ ¬Æ&¿Š=-÷Õ¸a=êMœß·×¬ÓPp*¶1 8ºÌZ¸Â¨ÓÂuSÀ«]ßÃ;×ëZ '€Y‹V ï§•½û¤?LšÑühL˨ñßFÿ¶¹Ý,­¶nu²õ 9ràWm†±z- ì:bÿ–µ…”_´cãº?öÇ͉Bmß±Kcxÿ¶_ß¶¿¤º€D¦’iÌ–l¸y;6®Ûº÷î"#‘)½ú·HÌ5Uù;6®ßº÷¤LS»ÊqÐã^'¸¦^åuòëtìÐA;[›w|iÃfÁÙ?üØ¡ƒä׆Fµhݩֶ}&ü¹v^­b Ä]º?Tg‚AX™³ã×õì;¥3?_ŒòÑ Cu56s&\ZŠñx ¤¤ù6ÁÞrw7€B»vQ®®ÚîÝרT*µÊÉñ{ÓyQ«0 ÍÉÉ.ãJD—Ö¥ëÐñS]m°œœl†jìÛZ+.qîÆúZDÖé.ñ2o¾uî䌻JßñŒ?*Ëvú”‘¹¢APˆDönÝå§å‹,ÈŠFF[ZZ*—ËM.++ãñx (•J•JÅápT*•AÁŠŠŠššc1¿U¼¼¼\,›P¬¢¢? ½~oT"Q«ÕùùùÆîGäñxB¡ÐXÌR©W̘xee¥é\«ªªÒjµ …Bü¨}c'*7 BQm„Ƶ6Faa¡Á¬A´È¼ÙS7ï9%Si rnÕî‡Å =m!]H§VFGÆÄÞÑ"(‰Lñm×sÍÏsIQv¶¨¾ŠŠ ˆR¥–H$ÅÅÅø.}T+ýû×Uÿœ{3æ@a-Ÿ[¡‹¿¨¨È`Ö`¨æÚ±]ë¶”½>‰ E´¨.**ªwφa‚`”––I$’QÕ&R©”Ëå………t:€j%;×­<|1þb\YR¤/))©®®6Y§jc®©©Q©Tyyy–––D+Þ¾fÅÑËwõ‡Y9YxT0L›=s–}gUZ‚ 7ÿ‹—.rf#RCÅë£~½(--­ªªjFé³g|µ%ú¬F r÷ï´øÇ…Næ°.¤»oÈè!½ÎÞ| #(‰L ìÐ{ÃÊY /[ÂÀsöŒñDŸ«è´ôÇEfoJ5¢©Ù¼âÇ“×ëŒ98Ù™ºÎ0 (=~øð]O$2…7gƘÁ¡¿¸ ×"(¢^;»5`äöh}©³¿.˜±`Õ™3gÖ­[:tèýÇYñ¶‰øøø4ã>™L^XXh⾄o¿ýÖÄAÿ¦Åccc'MšÔŒûD"QHHHyy¹1Á;w.\¸ÐØÓšššN:™‰‰™={v3îc¨ªªêÔ©~)[³.Š@Òžpªã}&QÌx¼ê¦ÆÔøûš~™…lüqf´:›:'M_‰?½{È’^çQ`ÄÈWÜ·ÞÇPœ—äb^ç´.{ïÐëO²ôÒFuvï:Ûº›mƒB:ëÔJº{ÊÛ¦¾ùÔÝÇpýL´E][÷“UÄ{û} (œx礧uýùXÝ} ×Níe×¹Mϱ9%ÕÎsåñ+mu¾+´cfÜÇÐ²ÄÆì4§ÖéX·í;‘S.пáCŒø|lÒ¤&ŒÌÌ@P´{7àí ìì ÷­aFüýKWïðTð¾£&âjgÄUP˜¶C=|õƒõ3ÓO©!‘ …B°±±qwµoC&¬Z9ga.·Î¤(ÍÜ ÈŸŒŽØÓ³‡·î¿ ¯{Â9•YÛnvï;tíOsÿ9}]¢PÑfíº\·úÇ ï·oívñükû/ÿŠá‹e™æß6bñÒEýº¼92 /áÞÚuÛõNNd×zêE•%+æ..Ö¹cƒnå@§×.ÿï5ð‹Õ?¦>wS¢PӘ桑ë×üè߈Ì„EËç.)Õ9‰€aå ;Õ®OäˆUKÒb.Ü–(Ôt&»}·È k~ôs·kd‚f?Š[ÿë_B•áïúˆ >vù‚ŒWîJjË¢}·A×/óv±ù s ( Fj¬U˜<™9:B#G~ЄØ,2•ˆÔ+"ÜÞ‚VöâÒå|qpÏ ûÖÙ¹êàˆjŠ»Plmm½›r‚Ág‹PRu-½Î¬‰ÂøjÞ KËOEE ¹’˜QSwQÝÆwÚœéµ-¦…ý‚5Û¦Í]VY-6·´quqhd¥Ð˜£¦ÿùå7å\>™nîéኟ‡¨#‘“—YYÇ£E5wš¾dU­ITy+³¼NÒQ;^¼ÙǯvÊié°xýÎo~¨âV‹Í­l]í©X¥ ".«Ô‹yéæìÚY¦•ãÒ_þš¾ ŠË³­m]œì›Ô*=ËÍÉåՙ뢲]¾]¼ò£g5ËÚiŦ=ß/årùbKgGÛ†ßõ~Ûßêj¬O­i«àà}÷AèB‰¡|ÿ=ù[€ßáû‡›Ùøô q8±wÓ°I |»D:¼ÕÝŠÖ°þ<¼sèöíÛ+W®477?rò¿yÇ‹………±=bŸ2$ÉËËËÄ-Ê ;ÏE_ö¥Qj»¢¶n3—ýö÷šoéÒ§¢"DùzXd°—#ÞfC$J`X¯3—Î÷л"YÙ9º7Ú*¼qXÚùúx¹Õ³ €Þ» ëLzýbGÏ ~÷Eí®:wgŸ¹#{Rȵ/´²÷˜¿z˶åS¨d’¾bÖ¸bÎMh»=]}çŒè¡ÓÇÊÁsáÚm[—M"ëk‘¬íƒ‚Ýšh»Ev„^ÇãäÕzϑӆtü4²›dcïÒ:(ÈÕU@Æ ̘1£ánÏwçüytÌ­±§ШQ¤3È­[¿/g‘F£  …“'OÖ?…">>^.—GEEq‹žWcŽ!ޞЂĴ,±L A‹mÒÎÓùýû°Þ‚‚‚L›6͸¯P(îOÖjµ7nœ±£#ðY\Û¹!ž•••‘‘1fÌcŠUUUaÖÐö¨TªL:ÕØ9‘ "‘hðàÁ†{½ÆårŒqŸ’’RZZ:|øpcŠ•••Ñh´7×]¼F.—9rdÚ´iøLl3ŠxÙ¹¹BHdk;G?ßV,:µñ(ŠÒÒRcV¿ãð¾07»¼Š¯Ñ"t&ËÅÍËËݱñU@&“UVVúùù5c´Â-+*,.W©µÍÎÑ-À×Cÿ– ±°*'—#Wª!ÅÆÞÉÏ×›Ù¤3Åb‘Hdð(l±€›ËQ¨4xÌþ¾Þ Z ö*°ÊÒÂÂ’rµ¦ÐèvNn¾u¶+ …B¹\înz…åÇ€Ëå¾ßÉçÐPµ±Ye//uVú¾§YŒM>›.‹R¹ û?á­“ÏÍž=~Gñ·N>ã'ŸßÊ['ŸM\ÿN“ÏÿW|œAwPtý:ÕÓóSë‘CV6à3€B¡ >ü]V^¾eîéÙ«W¯fÒh´‘#Gš¸Ôì]}†~~ÆîÀ" xÓD¼¿¨ÏŸGss1C­ô￟ UøŒ Óé+W¾ÇI°öíÛ·oß¾‚, _ üžèÚµ«±#át¼¯ÞŠ‚?ÿD î¤ñò‚®_§zyV€€€à31x``1’£#DX…–¡]»vÆ ~¯0Œ­[·6œ¡ýDEE)Šÿ^++«mÛ¶±ÙÄ †„ah.·n¡“'Ã-[F&½¥0z ô{†L&» þ}ãÕ¬+çÞÖ½{w¢È†¡™<|ˆNœóùfzô õèA >iZ~ŽáÕ+Ì U€ 0cÉÎŽ0 Ÿ“a(-ŶlA >òð€&O&üHŸ:-ìJZ·),4|ѪU„U x §®?Í*,'Ò€à?eŒñÃ䯿& )öœx»˜Î°è@$ÁÇ0dfbW®X¢jk ÍšE&6œ˜æÆ‹àÖ•W£`ÑÈNV4†a(ŠÖ;ø¨J¬‘«"¹þ? Ã?ÿ <^}?‰ΣsÎoG«V¨ÊPg«-¼¹¹¹W®\Y°`¾mXq&÷aŽ„H+‚ÿÃlßn A wob°@Ð(P CQ ?[EÑ‚‚A¾]‚ üwň´" ø?0 ( 0Cµõlj©‚ÆA$ˆDª‹cccCCCóóó …D"‘Édjµ:???00P©TAz~I[†J‹ò$[F¶cSKø*ØåjïaCÛWÕ½7B‚<ìx<0auÃð¾_àãC8‘o ˆDÖh•\.†áÌÌ̾}ûPMOOOOOoÕªAú-ûŸ“[—TKÏüsJXôµÔ•ãÛ Ý'&¸ÍÁ’áf¦bš…=ÀÉŠÖÊž•X$ië舼wÇ€cO«˜ Zb‘´FÙA@†÷¼yäiÓˆAã- ‚HD"“É fff\.W­V[ZZ¶mÛV¥R±X, EAzNK$¾âôôa ÔÞ0«ŸÛù—ÕC»ØP5L&cï½Ê¾Áv!Ž$[6½¨RP‚H½­Û¹±Hé¿/ äjl*-Ä=ŒE§ÈÊQÈaz¶¡?)¿*“yB@†æ›oŒ]¥E@`pÄ@‚Hd"¡(*•J!R©T—.]šn€ @¤º¾ (¿BäîáÁ¢‘®<Îêàú×¥ÈÜqH;Û”¼ ¤iÅ’ôö÷>xõE »‹@"‘{X"Jñ…¤’b …Bg†¶²›ßßåY:ç^ÏÚ™¥ÑÂ#:¹JDÊTŽœÂ´ ò…€0  "‘D"‘Hnnn±XlggÈÎÎ.//Gªo€J‹æóa"ia¬¸Z1od§+ÙÈí´j¬(”(ùõ“\AT·;«¢²* ˆDÞx)ßÛLáo×bÝÈ’¯Šò¢“Ú%,¤[CyyŶ3 …5ÍÒ©Þ»Ã@@ð¡G "YZZ…†aÆçóKJJF­R©|||h4šV«EQ 7“Ï_îx!å Ì\쬹¡’ÕÜ+~Kù g•zjkÊQ­A±”j:,á¢ZŠ2Û@$”jž¯¤ç¾#ò2ˆn>fó=µ˜ A±çù.…˜Ê¶g92!* b’Œ€0 Õ2@$2Ó̬S§€ÄÄÄÒÒÒÐÐP‚!!!óœr¨J¦“Àè–fîm!™bíin¢PQ IDATå ˆÌvÂ=N4¿×Í:D{㪻†Hd•Nfà¿c ¶Óë1¦¹D¢ˆ0 „a øF  +Á»îñÔ­€Õ !{î¾/ÐS(Ðê/W…H$¨F⣾ý„§ˆ€€0 Ÿ¸a\)Tž*xP\M¤ a>S0 ëïGÒÖb—as`S|l âÐ ‚HËœb„aàÙ3¢&†AÏ0>Lœ„L@@@@‚KNN΋/âââš*xñâÅQ@"‘ܹs§¥bûÄ)((X·nÝÖ­[ßß+®_¿®V«‰‚M‚&3|øð üû￾¾¾îîîÏŸ?«È™3gòóó|>ÿ×_íׯ_3Þûý÷ß/X°`Á‚ø/r¹üåË—C† Y¶l™iÙ·бyóf@`"ÀŒ3p5²³³›÷ŠzhµÚS§N-Y²dÅŠIIIÆ‚={vÊ”)³gÏ~÷Ô©ZOç'OžhµZ¢„j¼ÇÉç#H¾¾Ä¡:h4šY³f­[·?ïáÓA¡PÌ;÷·ß~stt|ñÇÅÅ¥¤¤,Y²¤yâÎÎÎsæÌ±±±INN®¨¨À#Œ‹‹óóó›4iNo(Ò©S§K—.Íž=ûòå˽zõ:|øðèÑ£:¤Ñh¦M›ðòå˶mÛÚÙÙ…††|/•J3gÀÅÅ¥¸¸øÀL&“B¡ÌŸ??99yÁ‚6l`³ÙÆòšÏçïØ±EÑÀÀÀ€€€S§NYZZΘ1ãСC‚L›6íï¿ÿf±X÷îÝ+((øá‡‚‚‚ FE§Óq5\]]ÓÓÓe2‚ ÷îÝ[¿~½§§'Ç‹ŠŠÊÏÏïÖ­›‹‹Ë™3g¬­­W¯^m0B>ŸŸ““³víZ‰¤V«ù|~LLLUUÕ”)S®^½J§Óårù¨Q£®^½jmm­V«‡zàÀkkkooïÊÊÊyóæ:tÈÙÙùå˗ݺuS*•< œ4i…b¸Iyyy•J¥R©Î;—––†{ÿþý´´4¡P8uêÔ6mÚ­Ä|Äàì ™›)\A’’’”Jå'¨XbbâûÔWWWçææ6[œÏçß¾}›ÃáˆD"¡Pعs§D"9zô¨H$2(âíí AÐÓ§OóòòBCC .^¼˜‘‘QTTtéÒ%‰DræÌ¥R™ßá¬V«oß¾}ûöm>ŸéÒ¥#Fàm“ÉŒˆˆØ±c‡1« ³ *•jÙ²e/^¼¨®®&‘HaaaçÏŸÏÊÊâp8W®\‰DK–,8pà/¿übÌ*à©N6mÚÄÅÅ=þ|ñâÅ«W¯.))2dˆ§§§D"!‘H111ÕÕÕd29,,ÌX„0 ³^cmmýòåK—yóæ8q¢´´t„ îîî _¿~ãÆ+((8wîÜ„ :wî\^^^PP(**âr¹~~~½{÷Þ¾}»T*ýçŸLl.—‹ ÃUUUP*•ÑÑÑxÙðôôœ?þÉ“'‰&â¿?b h)<==q‡ÆíÛ·ñ_ºwïnnnnaaôôÓ¾}û®_¿~òäÉæææ©TêèèšàææµfÍšo¿ýÖh¿‰D²··Ðh4__߸¸8*µv75›Í>qâĨQ£ † Í---)Ч§gPPP||üСC•J¥££cXX‡Ãa³Ùvvv±±±Ã‡wrrz«¥¥¥UTT¨Tª+W®à#*±XQRRâéé?lØ0ƒÚÚÚBtèÐ!*•êïïïèèøôéÓªª*ÿÔÔT\g}s»¿¿ÿõë×a±X(Š>|855ÕÛÛÛÙÙ‚ ž={ÚÙÙuîÜÙàÐ ÇÏÏÏÁ… š™™õèÑÃËË«oß¾¸#+==ÇãùûûE0 B(FFF⎈ÐÐÐFcnnÎáp41ß…P($“É“&Mòòòª¨¨˜;w®§§§“““D"±±±=z4ÀÆÆæ—_~ÁÛ܆Èåò!C†à#’ÊÊÊþýû;;;Óét6›­Ñh˜LfQQ‘±cåAdd$“É?~<`îܹT*588¸_¿~îîîÎÎÎR©ÔÚÚzîܹ€/¿ü277×D«º`Á\ 2™\QQѹsgEU*Õ‚ d2YÛ¶mqë¸páB†ÃÃÃÍÍ̓ƒƒû÷ïo,B‘HÔ·oßÜÜ\2™Ìd2™L¦T* îÑ£nw)Š———™™ÙܹsÝÜÜ4Mff¦¿¿TT”@ èСƒ½½=“ÉÌš5«  @«ÕK >Ÿ¯ËAG]VVæåå5tèP@Cv@@€ ÷—.›ÒÒÒÂÂÂÚ·o¯ÀÅÅÅÄÛ9NPP§§'ÀÇÇàáá?ÅOÔaccÓ¥KßÒºukü©Tš˜˜ˆÿÝ¥K—:èÓoXñ÷? ÿ›ÇãâÿÄUÅ:·²²Òý"‘HZ·niffæå奛޹¹¹ºÄ?ßÍÍM7ͦÕjY,–««+цáCƒ7‘uš¡šŠCû£óù°Ÿo+*¦JM|^ƒ²ÇNþf@D;:åm-)†$Ý»V­1‹Œì×T5 *óžxþüyEEň#Þ÷¼?ÅtŽÿóÁƒZ­¶‘+…:vìØ±cǦ¾±S§N:uz½¼¼ð)ßfйsçÎ;·x2²Ùìf«¤OTTTSE¦OŸÞì×EDDDDD˜ð2 1a> £K—.ú½E•¤ê—åû1箇vÌjíãAÚŒgwÍ›sxï.¯ fíC%A•\¡Vf #,ËxúË…óíkê"H¥RinnÞµk×S”J%ƒÁhŒ’R©ÔÜܼ[·nº^mËÂãñª««ušðù|FSO±?o—á^m…B Ä~IÂ0|XžýûÏÕrܵßìè¸W”Ü®û›~jùý†%sZ·º8 S«-«–<Ìÿ}<Æ×¼ÎéÍ(,Ù¶é{Yå¡‘(Q€Zœ¸¸¸ÿ¼D¬m' øï†Â‘#G 4(77·  `ÇŽß|óÍGùf ÕìûûjψáRÈÖÅNççì9iÛâe9 ÖîJ¿²ñiÂÓøO³Å¾íôd‘+‡€Öý¸ðá5W«ÕsæÌY³f»»û'UŒärùÌ™3ÿøãcëjOÏž=¾Zõa\mÓ0x{{wìØ155uåÊ•øòŒèèèfºÉg­<#±ª°øï÷=úó¯Í­Ýk¥ ˆ:¨«Ã³…œû'îý¸bõ†¡ÅÂ.ÎÚ7³ÖVÃMÏ–†‡{áƒÚ&P©T0 KKËf|ˆJ¥JMM-//7±‚EŸšš™LÖ%e2 Ã|>ßôâKcH¥R|ë™±‰n±X¬T*ušH$µZ]O1A h4ºH$ºuë–F£i†&666‘‘‘4¨ÛŸºaÀ‰ˆˆpqq±¶¶Œ3ÿqÛ¶m•••‚Œ9ò§Ÿ~H¤M›6á‹-rvvnö{ñ™øÆ ‹Õ T­”¥?ýwù¦Àï·yÝì#eK€F%Þ·íäŽv 2xtëÆ›»„wñêÃÁ£G¼J~ƒ®]»Ö$M4D"¹wï^VVV3>D«ÕŠD¢Æ‹§¦¦VUU5FI•J…ŸdkkÛ¼–J¥&ÄSRRJKKuš$%%Á0lfVgþF¥T2_+sèÐ!Ó uŒáççÇ`0ô×à|¢†!11ñÈ‘#~~~?ÿüóóçÏ{÷îýõ×_Ã0lkkË`080f̘Ž;Þ½{w÷îÝÇŽ[³fÍ‹/îß¿¿cÇŽ˜˜ÜN4ûíæææQQQú“ÏŽZÁ’­ÇØ®m6­ÿ¡›ßëurÂ/?{)rP@$¨‰}˜§Ü°y½³vuö¥m?yµíÔÊÕQYÃ0™ÌÀàn;ø4©Ë¿wïÞ‘#Gúúú6oÄpøðáÆ‹_»v-??Ê”)éòïÙ³g̘1ÍsRI¥Ò}ûö™§Ñh‚è4a2™jµzÒ¤Iúa.fÕ5ç c„ ÍÐäS;k„࿇\.ON|)ÕXYZ´ïÐÑôîw†sósóóóÉr€€o+ßOüߣa‹1µà>A`þòË/×®]›‘‘ѦM›E‹K$’ýû÷ð+'…†L‚ðãzX,–µ•¹±M=Á=-$©IRú_Ñ$q‰APc“Éd‚ÞŸbõ41ü.ˆ8Y‹àS§¸¨0æ¯ßƒáWN mµšºíRЄYKüüM÷çöß“SâVB†ÉÞ·¼÷^½Ö¯¾™Z>¨­µî¹k»0××!€““S ¿ QU>”Jåé}LµÍt @tdÝ·iþ†], “œœ;tèÐððpü—+7¯l¯Ú.&$€$§cΪ+«<\=Â;„ëbŽ‹‹KLL ïÕ«ô ô>б۷nÝÂÿøæÝ®%@°wï^üáLJ……µiÓfþüù³fÍÊÈȘ8qâþýûu‡¿W4ÅøJ€Kû¯Â­è‡Œýù§…Î̺¶CÞ9tãÆ~øJ¥9ù¨-ïAT*•Z­ÖÈå¥Rm…Bј…LZ­V&“a¦R©rrr …ÑÂ@&Ë¨ÔÆü'ÿ„û}F»†F=ÅËç ­5i´õ7+ËX~µÂÛ†Ú‰œ÷èÁ=]˜6mÚ ><--M÷Ëλ;Åaâ7m- ð"xû®í«ÛøhÆŽ{òäÉ·íàiìj½òòrü #±`(†üXKŽìí¡êjÃJß¿àíí=sæL‰DÂápâãã;wîlffVYY¹mÛ¶Þ½{—••ÅÆÆÚØØ,_¾œB¡,[¶L£ÑìÞ½ÛÌÌlÊ”)¦÷÷¿‰DóÖ•”ÕE)© ™Êôvö›¼œÄÆÆÆÚÒ\ ƒêŠç[·¾ånEÄB>¯š/•É50ZZV~ðàAÓG†áŠŠŠÆ‹gffòù|c3±(×ùÕ|T&Wk‘òòÊýû÷ã§ 4üèæzâj¥¬²¢R$–À(VQY¥V)uW¾¤¦¦Â0\oU’DB3oð½0 Ói4ë§O•^^*ãÅ@©TÒétƒŽ, Ã’’’ÊËËxïÞ½”””#FTUU]¸paРA‘‘‘WRɨTƒa˜V©ÂwlCT[-_ÿ"A4ƒ‚afFv]Èdò´ôô¢ ÕˆV~w (ŸœUH¥3IÑ"`äW[·òj†bR©ôÔ©SS¦LÑM>Ë«—,9v1^ªª]uÚ±çp&çÎÓh4õ¦—ï¯9Õ°gA#‘hØääHØlÔÓH)©© Ãßß_w‚•JmXÏ‹ŠŠ’’’ºuëv÷î]FÃp^^ž¿¿\\œL&ëß¿qq1Š¢&ª¢\T“y醉 ÐhŒ (F!ãóQ˜ BBÆ §0 ·˜\nÕÅ+W¼½=ôëMgÐùþã„ÇYÙÙCz«¯Ã°‹W®JeÒî]Ãûôî.—Ë32³Î]¸082ÒÁÈ‘ÆPÈøeÙÞ~ádr3G6­&þElßÿµwÞqQï¶]áîàèœ4A@¥ÙÅØ5öØ{4&51F5ƨ_51þ’ØRlQ£1VD£ÄÅ^°‚ŠJQŠôÎqÇÕ½Ýýýq¼;ì:ï—/_Ç–ÙÙÝùÌ<óÌ3-ø6ÉRAA>AÎÎ.¶›D†ùã?Ú´ic£¶Yâââ¤R©¿¿¿éÆÂÂBOO϶mÛÖnf p  @U';G©C©ž€¡ÒÝñ¥ýB¥EZÌÅÙZØ.‰Gš6­Š6(Aæ\ÅÍrÿþý&L°. ,CïÛhܸ±NRûçÚ£z¾^Iׯ³M›ð²Á0ŒÏç[÷пqêÄÞCçdËV/ t«¡ÐïžÝ;Ѳޣ&ZO“5Ð?Ξ¼:2¶iÛN,ú¥{§ˆÒÛÛûÏ8­b#ê4]pçñx6Î6àñx$I>y0Ck—ÍœôÛ¾«ÍÛwÞ²ä·î"ò¯ÿѢϜÓ*¦ynŒ¦iÓBVg~5qÂÖc±¬Éǘ™r¯òN(Šâ8®ÚaVíÛÅiÚéÔ)Ǭ,û›7ùùùöׯ«6Ìo×nÿþýñññ£F9r¤•Ñò}ûöá8ž››KQT=öìÙòlHHÈåË—9Ž ÌÉÉ©Á¦,/W=Ìup“á8Žk™””¢´‡e}»7 8–-.Ì5èt`NhšþçÈ‘®;4ðW«Õ%%%¾Þ¾ŽŽ×®ÇÇ^¾òN›+•&Çqç.\äó©}‡s'Kìí%iéÇcbF F‘¤íª‘z­´8½APÛ:>,Ç2vÿ¹?zEŒp²¯Y–2¦óxTVv¦¯O}'§Zx?ñŶxøXbÇŽNNNÆ Lz½Þ8—%99ùÒ¥Kuê(™ÙÖ*âõÿ6jV–òC?Ï%½e|ÏW2—4¾ŸuîRyÌÕ«W·oßn0vîÜilúLí8uþùªV*À©ŽÓ§Ozbšò™3g`ñâÅ+W®´¢ ^~A2éÉï–-Ÿ7w–‹£ýë* 72&¼|a¨ÙÖT”²dÙŘhá÷kº7©Á“L-Ï\¾&*© ¢WMmeéõ7þ=õ×S†ôätª›®_ó—½[PgWç—›_yáÕ›~¹!òÓþ]9]EܹCëÖìtpkÔÉÅñ™¤3nßÉ«¦ª€ádxŸjým’dyË–t³f„JU¦ cìì8gYV$ýóÏ?íÚµ³Ò_fæÝwߎŽ&IR¥Rùùù;vŒ¢¨²²2???NGQ˲*•J ˜µ¼œGRN`Æ–x?')µ¤s[{>‡a$NhJ{3ßgrJŠ›«‹Ÿ_} Ã>|xðŸƒ_õµ½Ø!,4øÂù+-š7³Ò4Öh4)÷ï<°²?D¤D$ññöÎË-xðàAãFlRUIfF<Š$îÆG;º6Kí¥ž66äYŽUTÈdÝQT(êGÙÉëû{EŒˆ¤5uw ¨aÃŠŠŠŒÌô¢â"o/o;;Ñ‹y±Q U*UQQ‘««k5“ŽE%Ë¥ªF¼µh{èóá´_~ý¶‡S®=–«äŽ»úä {ûÇóUŸŒŸ8¸÷à”ßS"E–—a4ær×ejðÔ6-ªLÓY³fMd Ù‘;#}L™0†xFá ¯„i§ ­Ç½báäIgïO_²æë±=°šLÔúv|öFÚRà{ê`dÖùW/]HJÏq÷_û×¶ ^²¯=ð'öïJ=y-öBRz®,°Ùº6õ•=“ô…aGáåúÇÃh¡ý²°ÖaA9 £µ<ž:0Píç§5ÎQÐë`øðá‡:uêÔØ±c-µ°êÕ«W\\ܦM›Í›74iÒdÏž=àææ–íæævñâŘ˜˜¡C‡V ©ýHÚ ‹…|¡Ñ×¶¤Tã á%Þ/~§¥†a"¡HYPìfÎà{?5µq£@­?w.6%%%??ÿï{ÈÜ5:­N¯·& Z-I/1)1))Éø¹:::¶jÝÊÛÛ+5-ÝaPWgeÄÓ´ ãJ$R>pe%÷ ²5®½ý#l)ü¤ŒøÔÌdŽÔ“)u”ª˜b¡@üÏÅ¿woݦ„a`0ЀqAAårERr¢DbÐ ÐA***Z¾|yÓ¦Mßÿý§‘WWWg£ïuz:äåÙ$ ÖdöO›OŸëß««3W~¦®7¦V«+**.\¸àææ =ø=Gu4ƒd@xû“Fd§ÜÊùÏK"!!¦éj7fi=À°Â¾}¡êG.“É:tè••e0,À0.û@sÇ1ÃÈår¥RɲlqI±V£%IŠeY°Þ×äÃÀÀ2µ¦¸¤˜ã8 0 Ãp Çcl›Ô­QW(+J1®Ì`Pã8‰Ç $ߥ ¬‘@XCD¥ª<· (}©*—eY`1£DªQ|KÞÙ“öÅä1wnß>Ÿoe]I#ãfÿ0f†ã0‚$ð§vOÖétATË‹ìììÙƒ'Ìýqì¬gvcÆùƒ&7f?lüÌ!ã¾`Ãð'ýpìììôz}µ³RepO¸„’$éããSZZj¥ååïïß²eË¿ÿþ»K—.?ýô“Ѽ Ñhœ)ŠºyófëÖ­¸oß>³3É z½N©âñì1 ÓÓla±ÜK&ñ”‰OœË.*Q{Ê$¾@¥R³æü ëûúääæyx¸8èÎÝ;û÷ïŸ8~"Çqòr9I”ÕPN|>Ÿ$H•º"<<ÌtÝfšÖgçäùÚ65]ê$sWæç&”ŒãX¾œ…2œpÖjÕ5 C~i–RW¢fä‰)œ"H‚`‰Ä̓Ú×xu'H‚4>P–e<ÜÝ¥Ò›·npžõ¼¬žˆK¥Ò:;ò‹D¢jQÈj=hÁ¨ô:Û]C_8AE¼Óáȱ“Û·ur<×k=wSRbâË/]>ŸVC«,‹½xþÁƒTIýˆû4ªok@Ð]û7€Œ½xÁv)'''3†hýÂ2¢ÕjÅbqxx¸SÁ 1 {+ÆTo`*•B¡°iÓ¦6.çžž®×ë«Ýo¢íŽ8Žãñxï¾û®•é£EuîÜY.—Ëåò¶mÛ&%%Mš4ÉÃÃ#"""--­uëÖŸþùÕ«Wê2¬Ra´†åVP$¯KÛpÀ -CuéFÖ žHŠ`µZ«{òܰÐÐm۷׫ç.ó//¯ÃG°, À]»ïåé%°ê{c'²sqv½w/)<,D,²§H 8ŽÍÍ+ÈÈÈìÚ©³MRMòëy‡Ç&34ãàä'/N$IŒe ŒASóé8Éq‰“%9ù§åß±ãK$bû­‡ÙRk8A‘”q®;Ç///Ïx˜áîîáá.{Þ_ºqµÑJj’¸°  @Ð ^)‚èÞ»/E@lB¦B¥q´¿°r%Ù¥ ýÄ qq\óæ¯P´¾È¡mçíº” ½SÏ_Ù‡a1 »téÒÚµkCCC{woò¼ï–Ö©oÇ]8.îvb…ÏÉ/zEŠQ­(¾töÔ‰Sm} IDATç ˵Î2_•Zûü®¥ÑhÊÊÊ”J%A€aŽã6lXã|Ç»té²iӦѣG»»»Ç0ÌÁÁÁ××7==ýüùóC‡5kŒÖ©ÔÃa¦Óî§eR<ƒž6°#sç)UåÅeJ™›”Óêi­¨êߟÇëÖµëÙ ç5 ðõñv—¹çäå^¾r==#=48$?¿@&³ØÁ1¬[×®{ÿÞ¯¬¸looOÓ†´´‡.ź¹8'&'‡Ûæ„òômƲL^ÖÀÆo_/ ½ÖÀˆ%n5žë&­Çq`'pàó$¡Íå%ŸèÖjmy‚ (à‘$¥RV¤§eà8ÚÄ– .T«Õ .¬³·zQQQyy¹T*u­¥k/ÐÇþ ^±½:*j÷Ž#'N—ÊËë7hðþà>ϯV}–Âм9Þ»7~ôh•fË€tT¿"å‹á8¿NN™|±„œRQ¬Ñh(ŠbF­Ñ‹ìžãÄEqú ¿Ù}Z®e\\ÜpZž™žS@³/{-DNžŸ2wÚ{Žœ•«Œz€ÿ9-¢ŸŸ¿qãÆ¤¤¤ŠŠ ÇE"QyyùàÁƒm\ûA*•º»»—••™FQÔétÔëõ}úô±‘P]® 8 |ª{Ç&†á8†aXÿžÀq€aÎq:•Ì9•ûÕ¯/‹oÄÇß¹£R©œ¶jÑbμycc'~ü±Ÿe*’$õïŸpçò•¸ü‚±H$“É>=zæM'OŸ3zL—NIœVqœðô 'ËrÇ~Óß™ÇBÀ1´î9-®£Õj³²²ŠŠŠôz=†a&$$Äö0 ó÷÷ÏÈÈèСC寔”†a&Ožl¥zUW(•ùÖòÏØXÆ0 ¸Gþpj­U(ÁÂl#W—^Ý»Wi’Òt¿÷Þ;~üß5ë×OŸ:ÍËÓb¬-Ÿßªe‹V-[˜nÔÀ¯kÛ¹{'m ûôìiKöq‚ïîòðÁE­` dPX?ŽÃ8޳ÞöÇ0¼up—ƒç·êøºâÒÂÆ¾Í0ë“MϾÿà~…²ÂËËÛÝÝãÅ¿ŸA899 ëÑ×i!7ÒÓáQ-øL3Îk7ÖÑO.ùíœÎeiWïnNÁÙ¯£f8b¨µ5´s²³VÍŸîu¦ŸKspë÷ÃËo\ž1ÿ[©´vÞá÷ïÜUi˜‘#FwíñL êî»{víI¸Ð¬Y³iÓ§I¤ÏE E lóf3Ûãâ¸íÛ™> ^ü+òñǧ§§GFFH{XPïÔ¬øPÔÒ“ÿØX¥Ò4½téÒglØQ•þrðc:M#ÂZwÙúçVç^CU»1…¼ÑÔ××wÅŠ¹¹¹åååA8::zÊd"½++{\ýqXîÊd²«W¯Vm¬d›Nœ6_q(+*” •RUòȯ│$®¯¨E Š¢F'OÆ,_½êûÅ‹íjå"4$xÚ”©kׯÛ¹Gêàж¦%+X–ÕëõJ£eiëìf šÖóx|ë3ìÆÀ'…‚œ¾µïnú5{™Ph'ƒU¼<½ƒ€AµÔKÓôÓ,é*“É «ÅU+))±&àêUxÿ}(.;;X¾¼š´™¿DVVöº]ñŒ÷TŠ)òf…“7FmkÝ"ÃÏïQÿïþýû»ví*--íÓ§O= j놦EçüœXà´sanÜÞ{òpË!£ÇV¦¬×ë¿ûî»ÀÀÀ1cÆXÊ _ ?®ݺÕöfþÓ¶³åeòY3gM˜0áëy_¯Z±ê왳¬ôX}ÆÂðé§Ä‚LI ÷Dÿ ~üñåÃ7ß|óšvN%÷vn>˜y?Igfd¨ XhD¯ÿ[ñC›Æ~ÄK²Q•]‹Ž<™˜Ã°ŸÏãñÌWFU-0<޳bþvttìÛ·¯é+±4ÀQ§s¨©KaÕêðªðßUµ³<à8Žã8I¾±‘&Zn{P× À GüœÚ˜Öé{÷î_°’’ã–ú-;•æuå?ÖËL5Ö¹“iÊÛ·oOLL¼~ýºõQ’âÕó´)n‚EQ–º FàÚx~c Ãp“¹rFkésñjÞïÕ R6mbPu_Û*˜âñø<þê­n†ãŸÏçñ¨çwk•£¾5býszr»¶Ã8ްíΡ®ðëW*Ï iܳÎâ p,Çh™â CÔM›†Wãçç:zôhã–ž£>½Æù”ÓËÃA©»eÚmÐÈjm—ððð!C†<« Öh˜ÂÃ#I’ ãoã¿çÕcðô4S[\¾Ìæåq2ê4 ˆ×’$¿˜zˆ'iß¾}ÇŽQ9 oš0ÀªU¤FÃíÙc~ÝŒ²2X»–™<Mn@˜ít¢Þ$ñByAËmJ¥°s'Õ·¯ùËqܽ‹FâmÀqˆŒ¤F6Å­[™;Yô<â- á·ß¨áÃÍ\T­†Ï?§##‘6 ÄÛ$ •ÂŽæ—$”Ëáý÷éÇ‘6 ÄÛ$ €an~8‘eaøpz×.¤ ñ6 AÀÌ™„¥•ÌÕj˜<™Þ»i@¼5Â}D|õ•EçT¹FŽD6%x›„.$—-³8‹ÂhSÚ½i@¼5Â@QðÕWÄ—_..æÇŒ6¥¨(¤ ñv`,_NÆÇSfˆ€²29’>ri@¼Â`ÄË ûè#‹ã ÇӖbi â ˜6°â§¤RÁgŸÑûö!m@ ˆ·F0 V¬ ç̱Øo(+ƒ#è£G‘6 ÄÛ! F.$—.µè§Ä00lŠ™@ o“0ðxðõ×ÄŒiAT*˜4‰Þ¿ŸU(ЃC ˆ·@Ã`åÊlJC†ÐÝ»ë Q˜nx „ÁÈÿþG~÷µ„®^å 0dg#m@ ˆ·CŒ6¥ƒ)K±öàòevð`Ù”â­Àqèßß°ÁZ¿áÚ5®GÙ”â­#Í›ãß~kM®\aD6%xk„ǃyóˆ¨æÍ1¡Ðü1±±ìàÁ´R‰%@¼Â8à7nð¶m£,sí×½;²)!ÄÛ! • ‚oÛFJ$æ÷^¹Âdø÷_4ý @ ÞaÀ03†X¹’ÌpéÛ§ýË/ŒÁ€+@¼Â`dŠM‰eá‹/ +W2è¹"ÄÛ" 0t(þçŸmJ°p¡aÑ"Ôk@ ˆ·F0 >üX±Â¢MI§ƒeË˜Š ôpâí#'Z³)éõн;ýçŸÈ¦„@ o0ÀСøÖ­d›6æ³pù2û駆€ý±c,ê= Ä[! }D>Löëg>:¤¦r½{ÓƒÑÿüƒä@ Þta0âä„EEQÖ‰‰aû÷§{ô ·mCÆ%xÓ…( ¶l!Åâ‹e?ùĨOJBs¤â ƒ±c‰åËI>¿†#u:xð€ëÛ—NHàt:ôôâ #Ÿ~JlßNõèQsŽRS¹ðpýÐ'N ñæ  ŠïÝKÅÄPݺ՜¯¨(vèPúàA¤ ñæ ØÛûïâÿþKEEQaa˜uã’BË–1Ȧ„@ o²0<ÊC†à·oóþú‹êÞÝZ¯\aÇ£Ñ{€@ o¸0T2lEíÝkÍŸu÷nÖß_ÿçŸL^òVB ˆ7]ÀÞºtÁúô±˜SŽƒôtnìXÀôúõŒBÞ „áMÇÙ;xš;—øàÂÊa×®qŸ}fhÒD¿bš‡@ 0¼é$,[FnÜH\C–32¸Ù³ þþúmÛq @ axÓàË/ ;»3—>úÈ0p =|8=ožA.G¯ @Âð†Ò¶-~ü85z4aËÁW¯r{÷²Ë–1nnº~`~ø¹{õ!Äùæ¹];¼E |ÁbÊCl,«RÕ| MÃܹX¹86ì‘ ::b-Z`è5B H^{hØ;q‚ú÷_võjæìYV£±éÄÂBî÷ß™ß4:íêŠué‚ÀâŤ¿?Æã¡7 @¼öàoyþ{öÄ¥Nœ FªKQq‘‘ld$Û¸±þ£èS§P€ „á ];|óf*1‘÷HTÇDvïf‡ ¡ô!!ú“'Yµ•+x-!Q Q#,&†:vŒ]½š¹|™e¨í¢or9ÈåtëF÷îK$н;>r$QãZ„áÕ¥W/¼W/ÒÓ¹_eV­ªãd·£GYˆŒd—-c&MzäEQ0}: @ ax-ñóÃV¬ 'O&à?˜¨(öþýºøª¦¥qs挿q’“¹+ÈçR †W ƒ€ ¾ÿž;–‹$ ÷ïsË—@©¶6ãÍ, ë×3™™œD°d éD8îA H^/‚‚°  ÇSæÏ'`ùrfËæÞ½Úõ$Žy$&{öè?æÌ!ÆŽ%7FS"ÄË5SŸŠY³ˆ“'©uëÈ.]ðŽë^˜?þÈtíJ郂ôááúÓ§‘S@=†×lÒ$bÒ$Â`€¨(öÿ3äçsz=hµµK'?ŸËÏô»kWú½÷;5¡ „áõ,JFŽÄGŽäÀ¹sìڵ̞=uŸïvø0 »w³ßÿØ©ÉÈøñ„£#*o„áµ¢cG¼U+üÛo=üþ;³|yÝ^SS¹Ù³ ¦[Ö¬a&O&Æ4@c[),,ÿœX·Ž¹vƒ.\¨cËÿÿþï‘j͆¢ÌóÝw¤«+øø`þþoˆêÒ%vܸÇF¶ɧq {Ë)((˜3gκuëì« ÃËÅÏûñÇG€¦aï^váBCAGÓ ÓÕ%Áôt‹3*†§ 89’˜1ƒ;»×xVÝ͛܈†ììÇù}ÿ}CçÎØ{ïï¿chð¥–ètº›7o2 Zí€Æ^( FÂ<à)•ücǨʵ€ž-÷îq $D¢[°À°r%³r%S^þúWn.gª Æ-;w²£GÓ‹RSÑB{ê1¼YtnýØ©ÉÈ‚†³g¹ÂÂgVå}ÿ}T¯^ø AÕÕ("^³Ò[²„Ù¼™‹!, ›9“xçW«õ£Óéôz½P($pN«7Bc÷†ãXŽÃpuvH°³ƒ† «Ô‘‘ÔÅ‹ìÆlT¶¬Hj#ii$'3?ÿ\Ý’0`.AïÞøÐ¡Äk¤99Æq‡³›7Sýûã/<¬mrrrBB‚T*›^?}úô¹sçFåí¬Úæ~ÿCì0îÞõ WnÞÓ±D`pÓÖÍÃíÅkúÀq,Çáµ´&''+•ÊË—/›Ý›ŸŸ¯V«¯^½*2· ‰R©T*•ñññù•“0-Ã0 †ax]Í”Dz,8ŽcÏÈ&h0‚Àžƒ…‘ã8–ek{·OYD&ïyMÓ–ž©u>|¨ÕjçrÇ0 I’H^KÚµÃ۵÷n%µZ˜7ϰe #—?ß+<ÈÀÎì·ßVŸg}ûâ/§…ëç‡5h€Õh2Òh`Ô(¦N%~ùåE¿í+V¬Ø¸qãwß}gê-~ïÞ½cÇŽuêÔI eWn\ïйKô®Õö]ë?fBçP¯Ó‡öüºzõ¸i3»· ¶ÔyÈLº¶ÿà©é_}U«›Ñjµ è-ÄZÑjµ,Ëj4³µ›F£aF£Ñ¨mÕ²ÿ~//¯Ö­[×¾–5$\=øøéìübœÔoÔdܸQŽêéÄÒ¥K§M›&1†®|fšÀf?HØ»/úanÍbÞ B†ÞÀÝÉ–S:$•JÛ·oÿô‚§×ë-=”K—.‘$iéAÐ4MÓ´ñ\¥R¹~ýúÙ³g#ax½`åJrÊB¯de*,4äµk¶.gm”næLÃ6|8>p`õ†OëÖÏÝÕ¸1öÏ?TŸ>tF†M¶µuë˜'ØM›Èví^´e)<<¼k×®¦=hÒ¤IÛ€çc©Mš¬ùäª^«NJH]½ê‡‘ý: 2rËú­C†ièf¦.P•|ö㬻)rÓ4mÁÑÑqÇŽ–ÎÊÌÌ‹Å:u2[{Êår©TÚ¶mÛúõë×x¡›7o6lذ¶·Ç±ºm«þ÷˯›2òKX )99¤YÏæzúG°nݺ:899=«gÊqôÙƒ[Wþ´üNZÃqrÿ) <²s©-§'%%¹»»×¶ˆžäĉžžž–Ò9sæ Žã–öÆÅÅ©T*ãÞÒÒÒ}ûö™‰„á5¦Òñtï^ÊJ“¿¢‚û÷_nï^¦¶á›l±Ø¬Zef-£q‘¨JÃsÙ2ÂÉ 3šÈžU‡¾qc,:šº}›]³†ekj[AR7b„!:šjÞ3íÔkµZ I’ÇãP†;v,##cæÌ™OV‘3fÌ izÖ¬YM›6}ú\Ð [X®޹ŸtíÔ=ù˜–-Fµi1qmäÏ¿mݶzU«=õÑ»·m?}×]&{=ßYN§QÝOLHNÍ’¸xµlîè 6fñ|ôî/¬*Ñè?Z[øðAmR®¸ïNRZ–ƒ«w‹fáŽ"[^4–e¥ñ7âŠ+è ÃÂùQdÍ6LJñ—¾œþÍ­‡EÓ1è 2Rª¥\^š#¾¤‚hÚ°¾-)¿" axÃ0€Ñ£aÁbíZ¶lyînHT¯¦wìx$ ù|Æ1 cš¦-èõzKgåååÑ4““cvðY¡Pètº¼¼<ÂdŸahµZò`'™¶…åryµ,?Rµ„3?žv¿@^ù¶eÝ»rüï=ÞC@«’À €a.žf.¶×UK‡1Ðjµ†åª\4íÖ©‰¦ß/x<à–y'öÄH/É ãŸ&77WUÕaƒ¥Õýüí÷kwi ZŒ^óÏ–U3‡òù îÞåâã«7·¿ù†).æhhú-*™¼¼¼íÛ·gffnݺõÊ•+Íš5›1c†F£ùúë¯5F£Y¹r¥^¯ßºukÿþýE"‘Z­ž={¶V«íÕ«—B¡?~¼ÙdLëÓŒŒ ¸uë–:_QRPtþÔñ„«—5iã*>2SÄݵ&õÒ¹ìÊJc/;(j‘KÓ´V«5ŽUØÎÇår¹¥³JJJ***Î;'07:¤V«ËËËccc]\\€c )·=™_\ưàìáÓgà `_wãÁï¶mÆ#°Ò2‹§O§†*=kïèÔ0ÐÏëzì…GœöÓúǪð(åÀ3gÏkùäää¼¼<³EÍК¸Øsg/]/)WâÏÃ'hô˜NBó¶âÌÌL¥Rié™fddPeiojjªN§3îU©TùùùUŽìÛ·oß¾}<È!U‰‰a ÒhߤÑÑLµlöë×.\¸Ðºuë£Gr—““ýúõ3Cÿ²IDATþX½zµñGÿþý³³³Møûû#‘ 0àÉœ8q"DGG›nœ?>9rDž²¥÷¨!wRo7uŽýfKåm­ÿd(ÌY{Æô¬üó‘Ý{ß´eëÖ­[%‰‹‹Ë_;iu´íO3..®C‡–ö>|ø0<<\¡P˜Ý[VVÖ¾}ûôôtŽãXF³ë·…Ž‚*æòЈa•¯X±âСCÕR`mÿ«Ú^&/ú½2×ß|óͲeË,ÝËh¶¯ž'åW¹hÓvïw îÑ¡jÊÒ©ßnbMN:thIIIµ4ï%\áUѵ9}ãAå)ñÇÛ5ö6=€û^¾žÈq\VVV¯^½Œò$wo]QUŒQõµ=—ZyÀš5k¢¢¢ž<‘1”ÏÝC@V¹«É³³T,sçÎýõ×_-í]°`ÁÒ¥K-íýé§Ÿ-Zdü]RR2fÌÓ½¨Ç€°È»ïâmÚàV74mØÀDG³6º½R89%Ï”ƒ ‚^½zUnY´hÑ¢E‹`øðáÇU6‡MwEEE¹¹¹@@@@Ýìîgw­½U¤)=ºóÆ„¾­ê»¥_Ùqå†oxïχ·¨2¶Üeͯ͌ÓßH’äóùmÛ„‘6 fÒ:uIIÍB…¦öQV8¦´¤X¥Ñëh¶²’.^òíê2-Sµí_C8n ç…4i˜šIòøz¤.žã&Ï=¸».b·Ïü»dé¯r™‹b¸ ¢c×kwH$ö4 RÏñS¾|`·mù‘K}_'Gi©R“ü–gΜڦIƒÿžŒaÉä)±IUì0$_€“¼ïÖÞÑÓÇßß^,*SªqRÚªóÌ™S#Âýk,î˜Í¿­Ý£eª|Yü'ÊV¯U•”–X\«¯­••ÓT(KÊä8%ÐÑ c@Ô‘‚ƒ«b?ÿLNœhÆ5oSRRåÖj{•ä£S'Ü’»jLLLtt´ñ÷–-[@&“åååUi0RÔO?ýdºK&“mܸfÍšU‡ûÑ&ÿžx“,È¿áÆ¥‹¼ÛöÐ_몜×l_áå$®R;8¹:¹p,£ÓÓ$I’$éYÏÅzL(Ž5Ü»~fÕÏëïÞÏÐ1˜HêªPÚ>+’+/ÎÞôëÏGÎÄ–*Ô±TY¡¦Y23’ UjX©÷§Ó?©1EJ ž}ú‹/ÌŸÇŽ3Q‰‹‹€#GŽ$¹)õzر»·oçᜬž'×ÿû÷«Ö0'Ž5T¨Ô;åŸ[7[:¬àaòÆ ›ª|hJ²~ýúÊ?uezꃬœ|­žÁ^aQñæÍ›»s튋w2ªÔ“yäØÑäÄ›¥¥%„Èa耓|¡Xæé­ËOܼ!©òÈØØØ´´´'aâããÓÒÒ( qáãââø|¾éí™rùòå°&徸ž§·:çΦ w{/]º$—Ë7lØ`)(EZZÚÖ­[«E/)))**Ú´i“i(ˆÇeEÓ;Q¿~ïÑŽÃ)W÷úõwý±É¸W.—geeíØ±ÃÙÙùÉsËËËKJJ6nÜHXÃrþüy{{û¢¢¢jÛoÝMlÑÚÇÛG¥£%ÎÞ>>)WN¦\9iÜ›}?aã¦-åUíiåe– íÆE­_¿€»wùԆȓz¶Jÿ=-¯Èx®Z­NII1M âE`Kä ‰‹‚•ÑDq©Pý¸N©__ý¤-«ÅÅÜèц›7-­ZµÂ"#IWWóéüðÃÕ¶„……]¸ðÈäò‡‘ðððÊ-sçÎ5þ˜4i’•Ûk×®]Ïž=+ÿ|ðàÁ‘#G:tèÐʯh[Ôáâ2}Vrjè;·ÿùëŸãW„޲OЩ‰÷„K‡×þþﺭ[­\ôÐmyò*†#¾ƒç¬E+†õx´ ¤N™³`ÆŒý'.ÉU¼ríì] ho/á òóæU©C0¼ÛÐO?›ú¹ŸÈÎÎ>~üÄW_c©{T\\н{÷jÛ“““ÝÝ݇ fö¬û÷ï‹D"K{ ´Ú KöºÒÒÒ¼¼¼¡C‡Zê1=ztÀ€Òª‹XeeeEEE <˜Ïç?yŠV«Ý°aÃ3f›ÍfnnnLLÌ{ï½çííýäÞüüü?ÿüsÈ!–TP©Tººº½Lyðà““Ó§ŸšŸ½±s[A±²J¡cý¯/ж‘ÙãSSSÁ°aÀÓuùtUUÀ$õ—þ´Ü߉oÔ¹+W®˜>ÄëMF׿?`QZ·ÆŽç™í+¼$‰i»R(7:IÕ²v`ذëð§ã¾9¬Û_;¿ø{ÃÒ“F¯Ú1kT7Òœ8èJR—Í››RÁ7ÛV­¤O§w‡vnu&Þh{‘Õ^ôÓÏãw¥0½ªìûO§n=xδ®P+Ë¥R©££ÀyñÄAó×î.«Ð€@äÔïƒÏÖ­\àlÇ•JEQ”T*µtvvvÕ²\™q‘Hdé,¡Phggg%M ìì …ÎÎΖ„Çã9::V ‰¡T*I’trr2ë6ªÑh‚°”MFc¥t:1eÏüHµH$²TDV ahÞÇ""]¹ÇráÙ ìÇ_× ïÙ†´Ð† …À˜ÚœFœ9•šSb4R5ïÐû§ÕË[ÖûÏŠ…ñùUÞ($ ˆ×›#¬©BD„E Ò+F¾ÿÉ ¿"ˆ\ˆñSÆù9ÚMþzÉ¥Ë7—}9µ[»ó-ý\«nЩ¶l<{¿ÌÃÃÝz®akwEãþé›góæÍü½e•ΙùùY›ÿ¹Xed'[ôýˆ'|dl¿è—Ž#&Þ¸yÏ@Ø…„‡‡4 ”ØñÑËör‘…´ÜºïÈ­›q2 ]=ë7mîï#³q"uPçA1§Åß¼•Wªò  –¹:Z9 âõ&7×â®&M°½{I7·W:Oãî}ZÊF~âçhûz£Û4Þwfû†­§Z.QõX.éÒ!µS¡¹ÉÉOj޳»W×^^f#¨ x|_Gá킊ÿT÷kÚeÃòÅ"Á£._( mÞ6´y[ô‚½Jà®õ|»ÕóíV—&îâbãáHo,cÆÞÞ/_._¾lºdfrr2ÄÆÆ–eÈ ²sÏœ»Ô ×çáöå0ðPPWŽ®ÞÙ„ggbMÒ*òvF9vk Õjuåñu‚õ鄊­{Ë+4€>AÍÇ•y÷JæÝšÏ,*****:qâDBB‚ÙîܹSZZJ?ál’’RTTdé¶SRR¥½wïÞÕëõ–ö&$$”––²ízr¡0öÄíXÐét,ËF¸2{ÆB!õ‚³#‹E"Q@@@ƒ ÌàîîîããcšåÊÊÝÃÃãÉí•{Åb±¥½îîîÆÒ^–eƒƒƒ- ƒ½½}Æ « >‡¬7nlið™Ïç[ʦ½½½X, 4ë³$•JApp°%aÉdîîîOfÇÕÕÕÙÙÙR6­“•;uþüÓ é•[tZ­››[HHÍæ£ÒÒR©Tjz]$ ˆ×›Å‹I//ìöíG©½{ã}úà¯ÑýWÈ+¢wÏSèÊt—³TM]y1ûÒà–ýLâyõùð\Ÿ¿×­['‰Î‡ž>â¿þ‚á§Y_™ªP"'Ÿ†uK âµgâDâõ½y¡¯aˆìòÕ݆ܶ÷ wLŠ=¼ûÒeïà®_Ndƾ¡.LJÉ%IÇñ[ B‚ýk\9ñVè«{ ¯2ŧ„}GMH$ Ä«Ã0¦#±Æµã†10,Çr„ÈþÃéÓLü–âJ–Λs$:Ÿ¬¿ñ_ü\EOŽßjT%)))?ÿü3ÜÐÀ‹£^´( Žã ma.;˲ղl}»™L& ­¤É²¬¥½ ð,k0,ÓÍÞ°õŒ ãÿf÷â8€ã¸¥s9Ž£iÚÒýX)"+Ù´ ï«)ã罹¥æ•N‰Æ}ñÍüYŸÚ‘`Kj•7\¹ëÛ·/Lœ8±ÿþèF¼DÌý“õn¯I8 Ì9S¹qÖ¬Y¶/‰óª±oß¾ .8::šZ± …R©tvvæ“l©Rë(uÂ1ÐTÈóróZÖÃÃÃÙÙ‘z…ûr¹<**jРA–æaét:ÇŸtõ9vì˜D"i×®].zöìYš¦»u3ï¨yáÂ…BÑ»woK±J¥2N‘3ÝXVV¶}ûöÏ>ûÌRHŒ5kÖŒ3ÆúDB³(ŠÍ›7O›6ÍRH KEtüøq;;»öíÛ×¹ã ÑhXã µêJr§ÑhLC† ñ¼2dÈ!ClíXhšáø|Þ+¾öcffæµk×>ùäKƒÏVE&“M:µÅ0L£ÑÌ™3Ç|k™ÇËÍÍ={v­‚èeddÄÄÄÌœ9ÓÒàsddd² ¹¹¹ÑÑÑ_~ù¥¥ÁgK[ Æ ‰/$ Ä+ARÄý9öïß¿Z»gE—.]̬WÎÎγg϶Îèippp˜7ož¥îÂkñ"hc9ÈóSÒ¤I“:œ%‘H†þ<îG$9òµ~XHDmz6áììliNïsB,¿à+bæææö‚/*‘HD6Å;A€@ ^%\]]—,Yâááñ"/:hÐ –e_äy<ÞêÕ«_p6Gý‚¥ x65æSFã¨/¸‚Çm™3ül1`㥀fÇ  @ 0  @ 0  @ 0  @ 0  @ 0  @ 0  @ ^OþBɹS«IEND®B`‚nted-1.10.18/doc/docimages/play_button.png0000664001041000007640000000150311520267216015303 00000000000000‰PNG  IHDR+%T5‡ç pHYs ‰ ‰7ÉË­tIME× '"}öâIDATXÃí—ßKSaÇߟçì‡L=Ûœ^hÑ„)BAX„" êÈ(0/¢.$±ÔmæNÓ £FþáÊ.Ëi˜S$…æÔÜ·³³óv1•êj›këbÏÕ9ðÂóy¿ßç}ž÷…áõPÐ@ ÐQ$(ü$ý¥Á`PQTA(7…!ˆD¥Ù¹Y[…­¦ºÚl1ó—oÀ[¯—R®¶Ö~êø […UBH~ë·{¨¡±qØãÿð}i9 3ÆòZ‰:^×ÚÒæU¦ ¿|59í[Z^ÞÞÞΓ ©…êu†k×W×VD×ÔÔ—ÓÍÍ•6›ÅbÖëõù ÄâR\Ž•––=¼ÿhfvfÐ-ÚÙO65™…rA0sý'. ÿøg *EÂ[¡:‡Ct nhxîñ|œ˜øl„BÉd2÷<ÏC‚ &c !ˆJ)m9Ó">qÅʋ׿~m}=¦S¤¸Àí6Œ1)`Œ©I%¼¹ÁQ¾óÊÕÕÕàS·øÉç;ït–'“&“)gPBSY5¡¨ EI(JB–㉄¬ªª¦iqY’åxUeUkk›Á/IœF·ÈL¸C BB!€0¥¥œ^g¬úúû,–²ž[·+¬V’[BKÕ!!„ð.¢”Êqyè™{qq¡ãB{­ÝŽ1‚æø4‚wœƒ!„ÆSBÞwc£££çœg/]lG¥—:s„w4MƒRŠ9Êùçýýý=ò ¯WÇóYtè öTE %›[[¢è¢Ýìî²Z,Œ±ìD6=‘çô#oF&}Ÿ/wtÔ;êÓö3œ2Lìý¸÷Fw—©D·§§Þá`LËëýà`Íos_ïõÞ1èuYËþ·¹é¿™ B©q°ÿ}g©Ó€äbßY»À@޳ß E‚"Áo§qanº°Ðét¦®~{·Û<ÿxW2»œ×¦IEND®B`‚nted-1.10.18/doc/docimages/upbeat_end_before.png0000664001041000007640000002437411520267216016406 00000000000000‰PNG  IHDRiû»ÜÒsRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEÙ 1¬4ætEXtCommentCreated with GIMPW IDATxÚíw|TUú‡Ÿ™É”d&½‘B!´P¤Pš´¥º®‹¢ô]]wUÔUׯO\+–µÒ, Uªt5”$$$$¤÷ÉL¦Ïûû#H‘$H…û|>ù#Sîœûžs¾÷=ïyÏ92QE$$$$j¹d IP$$$$A‘EBBBB IP$$$$A‘EBBBB AÈÍÍ¥¬¬L2†„$(·‡Á``îܹìÙ³G2†„$(·‡ÝnçðáÃdeeIÆEâö‘Éd’$$A‘¨ng}§Åbaùòå\¼xQ2¤„$(·GYYo¾ù& ’1$$A‘¸=\.eee8NÉ’ Ô‚ `0l§«ÏŠÃáÀ`0 ‚ÔP¤ö( ÊÍ””ÄÔ©SILLlå«Ï=²bcc™={6RC©#RRR˜:u*gÏž•¥±Æâââ¤ä± Ðëõœ:u ‹Å"£Ž0™LÄÅÅa4%A‘¸s‘E¢^‡jqqqìܹ³V®_\\̆ (,,”Œ}Ç ŠËFQV™œbãjü5‹ ¬\¹’yóæÕÊõSSSyöÙg9þü)Æ ·:5‚Ý@Üöïùì‹Udê:óà_gÒà.x«¶£$“Ét6ª”){÷ÑPë¼NåÜ®<û÷·Ù›VŒC¶Ÿ#û’ýñçüg\r—hèÞ‰ä=Iv¹Ë†<"¶Ìí<ýØsì¼PŒC\Š3ðúcÓùù¼©ê%2iiiŒ3†;vHƨwAJØñŇlËäžt8?èŽ0ÆòùçÛ(–ò¢êÅõ•†K7‡Ãá --MJh‚bÏ:Äâ­§5QC§ðá§Ÿðþÿ½ÂȾœ?ðq…Rêw}¸õÒ°@¢‘ Šƒó{÷!ï61<óêË éBHûôíÓ PT|žÄô2iØ#‰¢TFIPn4Ü1‘˜’Ea©@û¾aD÷@ä€L©Åß;‡€Íìh°‚" §}kòºR¸9j}–G´É.Ê¡ÌéÅÐ)ªþ½bD~}7µ^ê;Ó#Š¢ô„j¤žOMÕ[C«ÿŠÊċÄÄŒ[ô„ÀÖXP\v3¥eØiÅýÝý/»D.«Ü¢LL.õ¢Ssmƒ”†‡"XK¹˜|ŠM?®bÛÞã¤æpnMÇýÈ+1JÃÅZ®·†æ¡TTžsÁ\ mî­ø;i±`-kä‚‚KÀé´ãByÍËæ‚L’ⱡ‡ÓÎG!Ÿ+ÁnÈdëÒùàÓÅüvîª4òø³ÄîÚ ¸(°I’r·Ç=¼‚ ËXh?¸â÷5:°™ù™ ¹\ ×Uõ{þÄfv.DDǽ“â«:@%¾ û–ü›§_ÿ´âŠVô:HÖK³dÔ»—_mAYµjz½µZM“&Mnì X²IËs í›1kA0_dþSóH4‹¸5½—Ó¶ni¸•”””„ÉdâàÁƒèõú»®ÓéÄét¢Ñh*·_ÉQžyv)U\H®Ä”}ž-[ª6¢èrápØp8œ"Èån˜-l6ÇŽC¡¨¾ª;v £ÑÈÞ½{IOO¯žT ©©©^Wv›Í†\.G©T6ˆzËÊÊÂh4rüøqÔju½¶Ç””L&‡¾&/&9¹5… =iŽ¢ ¿—‚`U`Ú’ym6v»€®]»Ò¦M›º”'Ÿ|“ÉÄ€˜2eÊÍøëØräXÉËÉ'˙Īo³=[ÏÖLüó}PœO~ Úa-ÃŽ­FY£XRR‚ èõzòóókìºqqq9r„©S§V&Nì ¹*1‘yÑãÁ) ëÑ©Š²‰ØòãY±t5ñÙ¥˜,V¸)Õ¸ký\.ô¥¥·to¥¥¥8NŠ‹‹«Æ ÅÒåÂl6ãp8®ùm—ËÅ/¿üBPP111 ¢ÞŠ‹‹q: †m·s_%%%×”Ådj‚¼T•”Ï`Ðâ²)/gÅŠ4oÞœ˜˜Ö¬Ys9 øÿûß- b5Ñjµ" N›6íæ¾`Ë>7^ô¦…¸<9Güå½'Åž*4b— ¯Š'sÍbàÈ?xt„øê›E½S¬QŽ9"FDDˆ¬Ñë®]»Vœ4iRŸp‰æ³Ÿ‹MA¤¢?™»Øaø?ÅÉEU\C‹ÎnŸÛ[ôÑÈ*¸Ž›è*~÷Óú[º‡ 6ˆ:uããã«_e‡øâ‹/ŠC† ©ðõo¿ý¶ÁÔ[RR’Ø©S'qíÚµb}süøq1""BÜ»wï5¯o|K¶Wþ½ÃËEqÏ×WþŸ5kÖe?óÌ3—ÛÄwß}wËe«ýŠ›aþxªõ¬ûò5Nõ ieФÇxþýò3t v¿ýà›½ˆß>šÅsËòPÓ‡Ê× ÝÁ=îQÓY³$“7?û…s¹EÌj¼ýƒ¸ï‘9¼0k­½+¯Æ’¤Ì™9“Å{3¨xuƒ«z›”½#î¹±ÅPªß'Ô„øû Ó”²î‹…ØÌ€¦3^šËèÎ~·ŸY'ÚHÙý=¯±³fŒ):Ȉ?Æ©ÄTòôÔÞÁX.B}U•‚Þ¾ÎòÁ“9{ö™EfTž4oבè¶MPÜ yÚ¾µ*“rB;Ž¢{—È6UKI6 §OŸšƒ¾¡­Ð›„Zëø Iê­,¢€17•ÃGNUhÄå¦Å,Èqºf~MŠß@Ü=ܰå8ÿý5ž‰{ äéš²N³jí6rJÀí4nkÞY¾ÿä>[{˜¼ÂLV w_ ss¨·y¹ß°vô kWÍ/ºÈ;’¢ªÌ¢hÁì7_§gdH•×9»ñÞùä{Ž$gSPR†€§/Z V©»]r~ ¯½NL®¦¬´”Ÿ~ø«N#6Ì&3vA@DŽR­á؉“dee]c—ËÅÉ“'ÉÉɹé³g\‚«ÅŒÕæÀ…7¥ŠÂÂB k×®åÔ©S·eÇüü|Š‹‹Ùºu+yyyµ¬'rbཱུ T5Áwpó¾.\þ?çh7´!)ä6ñdÛ ‘œ©'qóº’ÉVÛ—MI‚X~Jd||Í„ÿ¼A7]6Ù?ª9ž~MhÝ6oÅÍ SÙ‰/Yµ/£Ê!¬Ù(¦ONUÍ­§,((ÀÓÓóv¼]"ˆŠŽá1Á‰Ã!àAv)÷@!¯ÚKtêϳhÅo¤V!'¡ }øY3šJ®ç4ç³gÕ|»>–‚2;‚Kd(”ŒŽÛ^cAðóó#88ø&lã"që>]¼ÔbN§ r…¥&µFNxxømÛØÃõZMhhh-×XÓ~å‹Çª™w&êKDDÐåׇý h«¤Çe¬Óœý óò²@Ëfåý-=#§EAëˆòéããsÙÆ>>>WDÁÍ­î%$$„TZÉ¥É[xjõþr1qÓâ)Pâá܉{4¹­`¬]ŸÊ¢ÍËè:û þ9¾2Û9Öyk‚ÂÛÑ÷¾¸Ý¼ 97¡„JEWhO^øbíP£ §´´”S§NUaÇúÅžçÃÎ¥îÈ+‹NÉÜ0áÞzãït¬péÄï®ûì ]wA(?WFïæu œN'Û·o§mÛ¶UÚæ÷áØ³óV^çA ‚‡= ÁåCçè®ô‹és[¶HJJB«ÕÒ±cÇZ®/ã鋸»WþÐU{¶â/s^æ™'Ƥ¹Ò“Ìû eh×.‘ï:tçz»ÆÀðåMñ”›]žzß@¹ ®^½švíÚ1`ÀÖ­[W#‚R+Û8 ™üøÕ§lJÈ”4ë9ž—ŸˆÁ¦7’{!û¶§usÎ`Óþ$L‰;ùàý÷yÿÃ…É*¬$ÞÄç 6PrÓñY¾÷ü•©#+&…Fä…÷ÞeÆ Hî6”~-1öaº6ñ¼þIäÆ}ÿ‹wç=E‡JÖa‰ö|6Ï™÷*Š\ímÞJ,]0qbÝ—Ìyïç*†c"¢èjd 'eh[ßÇ“ã‡âWYU‘L{å^šö§kÄäê{.Ù'"´¸Ö«ø~~Öº)}­eScbÁ²ß(²Š¨[ñ𬧙Ðz=/ÌÿœÜÌLB7Ô·ñËíòúû­°¸~”¦»ò'ÀD@X[îé{5b¾rïN¼öÍrîÛº…_w >S‡8ûbâ˜áth†Ny÷í‡!SzÓgÂ?YÒ¦kV®áðÙ4JJZvŽaðÐaÜÓ•V•gÇZÓ÷²`ýþ*]w¼ÚòÀØñÿ~3N}›·¬%©ªá˜ÆŸ^#%¬Y³j: 6Îîþåʪî 6„¶l‹µŽÎ}‘{„óàsïØ©?›ÝEÜùœîDvïϰ¡ƒл ¾šJ|§…kîJ'ð§dÿ),χViãšší©qA­i|õò«ʳrbÆ¿Ä?&u'ÈTJ„l ɘü¼o}5 ‡O]{‡]õˆóg—àF`Óîé¦Z¾— ÿ–ÝxpF7œÄÕ Äߨ˜Ñ¼3ºÚ®»ÓjÆjwVíº¿ü.¯==¦Úår9XÍ*Mǹ3`Ò>ýø_´ºÉ•ì‚Í@âž5¼ûÆ›|·ÿâK 8)­“Ü*Ÿ¦ yh6Cš] “‹dýªçÐþß§ŒÈš§2vi'Â5[åWkF,kxÈã$kÛ—,н´`É»+3ÿ5‘PÈt­éjçbzE%–K¹Ûožßû~´ˆÓE&´ZNlãËj y$j«SènËu¯ÝáXEq¿Óç3sö–]'&6@àxÞûئ·²û 3uå½C]B—WƒéXwÞõ-{()))¬X±âcæ¶~µ†’KÁÌ&:b:²Ž•ÇÑŠÅSCqìÌ~èÞîJÔ>„¶Œ G÷Îø¹ËoaéµHqz¸mÆâbs®¹ÖJÏPbFMäÁ} ÷©ÞŠU]‡¾„w(÷&ì߃Ù?ŠÎ‘a4†‡F£ÁÍÍív¼ÃÐE2ò¡HFVg8ãr¡R©Ðh4UÛFçIÏàæôüÀmÓxn¿]0TÀ•© ‹y”ÇÇBÛ@Û–6Ȉ‘¹äí¡8×IPWa­|Ð^êå¥ ‚ìJ{S*•—m¬R©n*vUk‚ÎèÑW«[6`7ÚAîIï10uÊ#4“å±ñë×Y±b#iÆòê’i}ñW:З–áÁfÌf÷Ƶh›õ`éÛ©þæm.JN.gî´ïiýäG<5r4þn ¿¯¹\.’““¯µ£N§“C‡QG¶1Æ÷MWø¾ŠfÑc˜ûþx¸wxƒµÛ¦8hu Çð"¾˜©¥iÛ†ý©9¾—´"ÖxiÚxtg6oÞLtt4£Gf×®]Wîö*q©·ŠËZLâÅdŠm  h톦Szx5ï¼»Œ¤"'zö%Üü<ͺ͛øiÑ»ŒïRž]é2¤³ñ/ðÉŽÜj¯ÈqÇ1ÿ‰Íá4¡DCˆ÷xFOáµ'úUïi7l~ñ_&ôhÖàïDtSÓi²/cÿ–GÒ8vüæ&«© l=dzžÜüt,@ëvý1¨-*™=‹ß㨥³¿YÄ›1žýóh¾»`¢mÏþÄôîÏŸÆ gÆÀ,:^„`ÊfÙܹ ï>Ÿž7éb8MÙüôÙG|·=ðú†Ä­IŠ:„§lgÂóÇØµë zÜÂé3ˆa½Ú4Š!´(¸È?k!ýP©e"A^J–+&`Ÿ’έëf—¹—Ó‰ÃfGšvK”¯„BÎÆÒöþ)LÕ­ë Í·!Õ$è)CîÕ‰¿ý{:¦Ì#ÞYp ®ˆƒ‚oÊ}:¿ÿ'ö¨iÕ¤)iç‹¥ž!qëÈÕ„FÆð—ȘFY|s®‘]Ÿª1µ@† AfEõ‹‹hÿVhݘ°¦.¤P*Q¹—Ÿ­Þ³Z9 ”Q`ö":ª#MýÔ(µ>7CmŽçhΕHy›î#¸·G –’R2S²n*›V4'±tñn:Ž™Dd°äHÜÍäî1iQˆß£ÙLݬâù]îL~"e•â–=”¼¼<öïßU %‹Ó5(I;Éý‘»J‘©ä^8ËÁýûð•(³iQË Ø´j3•Ÿ"è²æ£ö GCV»‘´³‡Ø·ÏREršˆè,ãä²yòý ƒl7š'™I>°ŸF°‹~BB………רQ¢|Ú833™L&ÙæfqXIL X1öOä/3e¤S ™Ùp!)‡EŽ|ùjéÜÜ\’““Ù¿?ÙÙÙWÂNgÝ ŠÁ` %%å…  Å_w‚sÛ¶q6´2h1 +{"öxsÚø+Pº)Ñj iÇNΆ—g)³ˆ «Üp¹,d\H©Ü}r™9³s{ô‘<1^CVZ¥V;à¤/ =5…"yÃoyyy˜L¦?ØQÂår¡×ëÑh4’mn‹³*ôø´Ï'-åú`lAž —M‰â’MKKK)(( %%…ÒÒÒk½Î¥mÛ¶Lž<ù¯¡¬—û÷Åo·ÐaøŸé¬¤¸w¥ïo§ïà± ëìGf@?mÙŽ  dèÓi¥—ñ<9‡–ã¼B[2æ‰i<íUi¢›>e7§÷cæó/òxÿ–`;ljEËø5©Œû2éÑÉÕXm\x{{“ý;J8NÎ;GDD„d››ÅšÃ‘Ù`wy  ½ŸÉ“¯Ï Žu»4m<¹7‡âž{îaòäÉœ8q‚_ýà¶Ž ©Áç¸ ]Ä^Ÿ~?ùÇ7ðÑü5døE fîkOî(ðoŽŸ'ùÇHÈ/_6–þ$‡÷Äa:õ}œa¼ªÌš5‹±–²îÃ1nÜ8ÆMšÍÚ„t Œ=?ÎgÊÌȹ ν6Ìf ÁU÷?. Ø,f,6‡4MßÐÒº­ðÂüN>;1˜n>…¢a.”yÐí±y|õN¾]ô6¯ûhxï_ãð kÊïË•Ô-÷ðápA..p»X¿äsv'[Á¯+Óþ1ž&7ˆ …GãÓUã®Rçsüóþ ÌߗɽþƒOßz¼Qx(·Ô]v ÒÎrpÿbϤ`0 x·çÑYOÒ) öCo¢­˜#»·sèD<éÙ…8Tt<†q£ñVË¥Ž]o¸6@$³Ð†¡¨5?=”Mò(¦ƒåŒçuCÏ¡Áå¡\vy¼¢xæ—97sKçýƒÂÌ ^~îqz4÷FÈu¡DxbI,æèÚïxuÁVÿ¸›bϦ¼: 7ðN*qŽ*ûçÎ[.Ëæ½Â7k÷qîb¹%VÈÝÜI*kÂ7o?PabVÍ6¬¤^Çü÷²åH™yÅXì ”2º gð\þ1v “úu=âêÉÈqfO>§ã]d,t ¹©QSJ-‘ÃËþÅć_$-  <0kâZfÎúˆÇÓP\ö2’~[Ì£}»3ùÍ%œÈµÓbà“l<–JòžéÕBÎéÝëH,­¡ˆ½$/<Ì€Áóé/!¤3ß]CrvŸÿ=câ^¶'dH=ºž‘Éå„ô äé_;° £o~ך˜ž7%(õî¡$''³téÒ*â=ƒ†Rh´q29›S›¿åðÚ/.¡<E®ö¦M—~ŒÚKÒV'ÝJIº2f|×ë^ݾriýt~ÁÅdÄd¶áDÜT´ž^è4×›:..ŽÜÜÜ*í(NŠÒO±iõJöÄçãÔœN½‡0vPGRw|ÃòÍ?r&½o÷"vÿ¸ŒMÍyh¢(b5ë¹xd»«FGpó(î>œH÷~øä-9ƒ  !ïØ–º’k&6$$%%¡×ëok;Â;Ã-qÚÍ”ʰ9œ€Î O­;Jŵuq²)eÍ©xç“‚ƒ-¬n¤iÊë)-- Qqss#55­V{Ùþ·,jb5¥©º‡¥ƒˆKpâp8q:\¢ˆ5iS^ùy‹!¼ñÒ º†ß «mEÌñở—cÆî(¿W¹Â ¥ÊŸ‰/¾Ã„n×Ìu3‡¥Ÿ:º…×Þú ›2Œ‘Íàñû;"%òóâ¬;’†ÅæD ¸‡wæ¿BgUøŒ¥ù|óÕ|vì>I`ôƒ<5óA:„¸“°åý°“ÔB37_úOœÅ¬ 1øÖ` Ån·#“Énë°ôÆŽÓ\Àµß²ló1 Œ6œ‚ á¦ÒÒ²×Xžš6Ž–¾Wfdέho¤ž ®•–¾«ü°ô#*>,Ýá(w룣£ëîlãšÀšø™"MFŠ+gŠÁV*YõºØ-Ì«â3ˆAlÞãqG®£šWvŠ«Þ|P”iÅ©s‹©© âŠ÷f‰]ÂÜE@Té‚ÄîcŸ9[+÷••°Wí-ʃûˆÇ3³Åӻ׈/Œ¾t®²Jôÿñù1ßæ%j—h+Œÿý@{Q]Ù¹Öø‹]ø‡³ßt‰ûšÄ ™ö›:Û¸6¨RéÓ  À˜Ga™©Ñ?IrNmä­7>åd–¡ÒÏØF[õÇ©2¥™håô®ÕÌÙý1›¶ÀŒŠ¨L™ñwþ2q‘!µãáÉärP¨; ùô¥Yݵ‡øÌ4^áô=‰G{Œ?éˆJ†DMúºWmî]y(ÐB¡ù!‰§W”°q½•éËZÑBW÷S+‚R–—À†+Ø{NOÄ}ã™4¦?!Wœ}¹® AjH¶Sb¶4°Ú¼~ƒâÞƒG0¤gžªŠw_üÕ‡lO(ªr§¯Ð¨Qt ª®¹øt†Ì¶œ“;6qŠÈÔ¿Nfˆûèѱ%Ä@厮Ew”Ƕ°hi2 ]ÝFÏäŸO=Iß®‘„ùëPHbRãìÞº×ï¬ú\žÀ®ü©c‹k_”+èú€ ýB%?½–ÊäwZP×#Æ÷yÙâó}¼¯¸frO±×£ÿÏæ[®|ÆrZü“"òVâ[ëO6'Ói-Ïl](Nî^{é.vž4O̲VäÚ â°îA•u@%EŒwæØo©\Û·oÛG¶îÛ-èÍb]. ÅGyD|æé¿‰ùy¢É&H£‘:î¼ý¯‹*…¬Ò6¥öl%>ñߟÅ<˵õ±ñ-QŒß&Ц#ñâT­IœÿrŽX\&Ôé§Æ§]¥ql:\zÕ Fbׯfk\ú3ça<üñ×6„UÂ7Ú ØÂ©Õ°&¥¢½D娃"ðsÝžrµ'†Læ¿ >`@“[}TÈ@&GëåK€·{½dÙÈ*ƒðPI‰ku`mdr%AÞÚ[ÚÜ[&HO´6wÎ,Pñãê²:Ídv«Æ÷ÇŽ%–fœ_rùkÆqÒÀ+˜¶ÞªnçΘÍfDk:ŸÌ¹ÑÅVÎü¶‰ ©JÂÂÂèÚõÊTµLåÇØ±Ã¹·[{~Ý{‚“ˆwhî;!ý{æß¨Óíêö ðª±X,9rƒÁPíï¶lÙ’öíÛ#—׌0FŽ=ŠÉTý8`»víhÛ¶m%ïÊñ gÑç«ö¹<"`?_B©³)ª|/޾’A³> ‹tk¤‚âÍ1žÄí5^RF9žÍ»Ó:ä’3PFì»(EAóèHZ†úÖ[ã4™L”•ùiÉb¶_¨¢ÊÔ„õOoo+F£‹ÅrÝS%¸y$?÷63_Ñ Q‹¾¤Ë…ÙlÆh4^îB¥9ÉœŽ‹ãL|2² °£Â+ Œî}úÓ³{G‚=•È(Ÿ&­Iq“ÉtMYœeÄåL|")y­"¾Á´ŽìÄ€Ah AFù:´²KIDAT´xUÈÝÔÕ?—@t’¸ÊÕ¥î-f·ä·Y§hñKçF”•û2ô‰GXrì+.˜!bÈcÌxr Ã:7\è“vñõ¦3(½›2räÚÕ_,ßY$1v=üz´²ÐdùžÅälP\SéË•£Õj>|øï]šâøm¼²r?n?J¾ùŠ™—“AV¶f=ÿÄîÅû’Ûìr¹HHH €ÀÀÀÛ*‹£Fº,&e™'Xþå~Zµ’ Wg-çes!1m›!<:õaš»×^;qd³{§ÏU2Vê¥uP?µ’zßeÄlžÓ Œy餧ÄsèÐa~[¿˜ž…_ÎäÐnèlf=Ô÷rE×ç˜UéÛ |ùÅw"eçwðÊsÏñõ/±×ˆÉ’زwÙ¦+ï}õÕWLœ8‘3fššZc¥±Ÿgñ»/ðò‡“«âp·­àhn-® œ^£$ùÌïÉn&Áø)M𬣠Çje`åÜ™9Ÿ-¿ɫ¼·b_üg'Ÿ¸ÊõKãD›!ϳê›çˆòl A>¹;=úôä»ÏßáÀcrƒâ» ¡,ƒ¯ç¿Ï’-g+?%A¡£YP(^—2xm6«W¯æìÙ³$&&2}útZµjU#åYþùk¼ùùvŠªÈZ÷ökC¸wíõì²\;çvë°™ÝW3#SžõÄ_]wõRk‘¥3Þ]HÇ{bwìiÒóôÈ<‚hÛ%†Qc†éÙÀf äªò Š» ¼5?çî4Ä{³•摚zs!¿½x`ÔP‚/­oR©TŒ;–ôôt"""jLLÀÅömÛ)¨j Œ>>REÜ"YIGI*ógTÓ Zÿ-¹FÅ}³ìôõ¤gºðíàA—>~(êð~%AiàDEE1wî\êü·u:Ó§O¯±Îî¾ñŽ•½+—¡hù8­CêfgB¹§Ž.ƒut©§[–¥cµkÐh4„„„Ô‹=är9þþþRø•¶ ˜8·ámÞÚ¦äùÅcq¯#Q®çp—ôè¹zZ«ÕJjj*{öì!33óŽžå‘¨®˜˜Iܹ„9/- dÐdFöª»ŽVÏMPòPnÒó(**âäÉ“ÄÇÇ“@BBz½ƒÁ@VVýúõ“fC$“?Ê ¯|ÊîÌPý8‰¦Õܳ`̘1DGG7Ê»—å’`ØívÒÓÓ±Ùl’ššJ||üeÉÏÏÇåª|Îh4b³Ùª<§XâNnD²/Ä3wêP>úá.÷&<øðp{]µ½“¨¨(¢¢¢$Ai¬¤§§sþüy¦OŸNNNÎea¹ …Z¶lIëÖ­%CÞÍ8 Ùº+–_Q®¥Ó°©¼0©WÆœ6È>ªJžiyIà& J­SPP@qq1»wï®òsZ­–ˆˆ¢¢¢èÚµ+‘‘‘áë닟Ÿžžž’1ïZÅ~9‰, Uoþñü :‡ÔíT`kÈ< e•lg-ƒˆ{%A©uFÍúõëñððÀËË ___¼¼¼ %::š¨¨(Ú·oO»víP(’Á$*EæÆÓŸ}Çc1¡uÞ¹ú<. y}úôᥗ^¢iÓ¦„……ѪU+ÂÂÂðññ‘fn$ª¡&ZîyôUžz×v,IP€ÈÈHÞxã ÜÜ$sHÜ:cxyæp¼ïb'VêA c!r¹œqãÆÑ¯_¿QžqãåÞ?ùs‡»º^d¢”ó‚ ^ë Ä̘B3÷Ó>±ÆòåËÝs`7|Ø=.f¾5Ch}†#0`Bè~ ¡õzýÌ™3û8òt/fBh&„fBènBG£ÑØÇ‘'B3pöíÛgµZÀþ‚®4€@Ù¹jåmÖáË›£îyµŠ:½Õj… ˆÏçפöåwKc6›U*Õ¾}ûÜS©¥¥Å ÞºººcÇŽÓâ*((Ðét´‚v­VëííMQxQQ•¾hµZGdF£‘Ïçs¹·ÿ"‹Årúôé)S¦Pg1 "‘ˆÍf·;ðôéÓÿøã†§OŸnOZy‘…ÁPÜü6³ZƲÚN=uŽ#GŽH¥ÒñãÇÿQÀ›<=ª[N·wï^Zbí±yóf7xþùç‰'ÆÄÄÐuत$ZÍ­\¹rûöíT(½¼¼ºN¤n±qãFGdÛ·o?~|RRÒmïÀjµzÏž=´ÆbÓ¦M . ow`‰Db[{%‰=©HPèøÛ€ãǶªg½âv*+¡Ó+>Ÿ/$ $^·48޳Ùl‰»Æb±Xnðr8‘HD—‘ÇãÙºC…zׄB!Ç£Bì¤Ë<Ï~õ£^¹reÚ´inðšL&ºÓ†ËåŠÅb{–[¯ X±SÛ™²-ƒ•JuðàÁþÌ …F£aX¡Pt¼µðpR(zØUP˜¨¹ ÅÜï~¹Òl@pœì¤-­B -ÞææfE …^/U(ôÝÒèõú®¤auƒ×b±(•J‘HD‹K¯×777ÓjÎl6S¤×h4ƒ ±“.ët:•JåããÓ³ßh4ªÕê!C†xâÀÔíÓÕ\t§^¯olld±Ú×]N^^^uu5‚ yyy&n…² RMÏšLߌžzcÈã;êÜ–›qÍË+u Â;õÔ9jjjÄb±T*U©bóòÊÅBF£‘–ØNâ¯^¯/--¥Tý&ÑÌ#¿]¾^dE‰V­î‰'…´škiiqNŸwå¯S箨4-V”¼+e¨#b“V}ìèÑ’òj3Œ5(ÕŽÈär9‚ }àÀååå'Ož|þùçÝ–P]]íÒ>Ž ÕjéN•JURRÒÜÜÜaE:vìXzz:ÙeçÈ¢ÌN¿‘ŒU6“@U§)ºÊ ­õ…0÷%,Ò¢OOOÏÌÌ$IòÈz‡4Z­6--Ím•Få׬Y³JKK]’¸iÍÂǼöçFßÿð3Z -^¼Ø¡pÌðæss¥^Ò‘÷Mxqõ+Ããƒæ¼¼¶[Ê‚ËLJŠ4xÎügV>û8±JÍh·”[¶lÉËË£¢˜ÅbÑh4žÌ¥¬¬¬+Vx"!//ω}œC©TÒ6ëׯ¯©©±ÿ…óOiê¶ÞÓ Uú‹õï_ñõä¶çán¿Ç‡ šÍÝ<ùà¼]OÎ0PçU+ÊöîÞ›[X. W(5T3v}ùùÞ ÜnƒV<(¡§Ôûyû¦ôìÆ£g.¦&©/»žwögŽ( ›¨m~b擽²yõâÙ~pצ/92Âck\¿~ýÈ‘#7nìË÷†7Õt¥ç´­ÃÝ¥‹]ãO1{Úgwû=>,@ÒlîæÉçízr†"oÁ¥c³æãç÷VÿžW2ô¾©®]Ù• G+Ô³^¹ñ—3þÈÔ"œÍßíNr<´$†a‹Å³¹Ô'OÜâÆ¡š®ôœ={ö\¿~EÑN¶ÐË ”•£ìp£µÓjGìÙsÎý²A n4¦îÙ³Çý*´…4›Gº-ÆÑâÍÎΉDJ¥²6˜nOž“z-±F­úÊ•¬ºµÐË·¾‘ /ñþk/•)Ûøefffee¹à“z|ÊC%u$‹“8ìÑIc~û™Þ¡‘ŠŠ Gêù÷'ÒÜû«_`È“‹W OŠÿ;£Û’,ùô“3Nýº›#'?fÌ_²Õ‘Ìœœ«ÕzãÆ —ŠÉåò’’OæRUU•\.÷DB]]û¸¬bÐ6ùùùôóókwàY³f‰D"«ÕÚé4oåEƒ¸ "š’ÖêY³f¹Ýá¦zcÑg&O$˜ôðÕÿhÝ–ðÇóÕ´xY,–L&›0a‰bî#³bN÷ïßO]láåcsÖl¨Ól·S›ç’—ÄÍëV.kû“+ñÿv÷o3L¡Òܼ‹PÄårÝŸ233¨÷ÔÒqœàp¸,–3Ù?> EQˆÅâr8Λkhh?~|rr²KÅ.^¼ØÚÚêÉ\ÊÉÉ©««óDBAAAII‰{Ôjuzz:-ÞâââGy¤ÃA‘HÄçóI’ì´!!€N›B¡…ÅÂèn]t”€CÙ ʆ 'hñòù|>Ÿ/‰¸\ u>ßgÔi*«[Èb±¨Š%±—Ÿ}¡VchoÂ;¯è·ÃéŸlÛ©PkEÆ>·jõø»“ûfŸÍf{bmºàr¹B¡J‹ÀvšÅí¶<—  ݶPHgÚ80‡f¹¨'7¹¥ŠX함Ó}ÄðÙûï|öÍ~­ÉÊbs¨i$IDÑb°_K¿ùñW*Œ#ÇOÛ}ÿdAùÇî4loƒyƨ÷ìÓE¬ììì²²2A²³³;?J¼p2H;]PU›-– N”´ Uð5À V† ~t% FŽ¥IÄ[ ‚M‹·¢¢B"‘H¥Ò†úÐììú¶ß|½ió®CAþE[©‹}cÝ¿·}ûS‹^O@‚%«Öư=1Ho£©©©/Õ«««+,,´=`ã%%%*•ÊÝŠ‹‹Õjµ'***ܰ [tz£ÑëõzZ¼õõõyyy*•ªÝÙl6‹Åb±XìŽ7u‹E² .?²!¨ótã1žI ié€[,GÿËi<`<ÜÀfÓ8$Ðf–5H´õûvïLø×2ê*~ð¡{sr~>zÁµŸ½ÿúåœE›×-È+ »üng£‡”½*–}Ô°ãÓOÒÿeFPˆÅò Ž¢ÕzW…9©©©V«555Õž´Ü P+Hìð¨6ŸSSãÝî°Za8ÌköD‚Qs¹´u‚ïçk”ú±l0x@šJã{UUU2™,55µ>¤¦¶=AAÜø^Ç¡ŸøÄóêrk8pù_MÛæzY42ü$§…ªŸq…1÷´Ê/ùA€?Ø´2=¨GTª*¼°zõÿ•Ô* \<6ýðߪ JÛã[äçãmij±­Þ“ç<ûÃæµ½8Ù˺ç~¾ç˜ÉоÛõFˆV-~Œqñ'‹ÍYôôST“¶è™i|qðlûÐo[ïi‚óí·ß677“$éïïoÁPDblibC‡T#^ôåèûþ{n3ÍUÖºóxsÎÒYBÆ}MËfW^›ZÛKç„·òÞ͹-z¬òŒ@q:Â0JöX]T"zã†ÍfûøøÔ:=÷ŸÐ ywÝëuMíÇ*¼B“>ýï+e®_ÿ΂'Ÿ0Z`±D&PÕ§U]wú̹‘+Ý=.-q°ë‡¢³/œÚ¹k?fw‚gá oNMÝ¥¥¥ñññ}æ! …ÂÇÇG,»¤,++ËÉÉyâ‰'hº ž}þLay ‚‘lžˆÏ&.\Hûú¥Ó_~»ÏÞž³¯zlìŠìV³áÆÕ‹ÇOœ (bHìÄIRÄö¶º:$$„Ïç·¯ÀO?ýt÷åµ j i¢Õêâ–†ýfG,Ž×Oõ¯y[[DÐÍ´¡™–µä<ÇÅÚìÏ6Íù'퉧©·^ú®·Ì(‚E@£l\¯ pcb¯fMyúfbf1·,_¾¢=ûmûê›ùŒ¦(jëÖ­ïmü€®%Ù'ænxC®PÛB°’Z¸A~Ö%WMU‘ýl5ùéÿ}üŽ„×wE©ÞÃ… , ­¹Dâ–·^xúÇýf@,öòeKiI@›Ê:Ùsç¶O¨Û³$ûÄÿ>ÚØ¨n"H iRשI*ƒè,„æ88Ãf’Ú.ꔆªBs«ÎA‡C#ð& ìûùÞð?Þ bzÇkÑÍg¿aוÂ( X…=´`r³uÌq—ƒÍÎÍ£<¾,vHDJÒІ&]PxÌs/®žü@*õctmhË»^xúÙ’ºöO1 ,.!B‘ßä c-(ArD÷Mœ²öååÞ"þ-ÅâµU•+nE ‹EË’îÛµe×á6$ <`H- ‹V¼Ò¨Ñ¹œ«ÖhcïzðŸ}HÝž(j]ñ”;ƒèflë&n±üò†!çWo³–qdÀKMÓÚ¨¡¥ýÉ6Íþœöáï‘‹Šþj®¸â iþçìÏŠ5ß„Ql½¹IȲoý37Ï/Ù#'I2hPÄOé-VT ñ8½¾ ‘$\Tßb¿æúÙïO?ûÜô3Ä‹E·zñª<ïÜk¯¾q9OŽâ¤Pê;g½d¾F¥²_?GNzjí‹ôÊHiÀÂ…ó.œ»ÐØØ¨n:ðè#ù?î?8*> ¯É¨=_¡vgÝsàª\s«-:Fdí h+ä’ú€‹?ébÇrÂ\g)åWMêr,úÑÆÂß!‚ÜÁÉ~¿Bºü£A,À­þM¤×*Ö|*õ¥$Á/œËçÃ?<ém¿tO¶D–zùSZN¶á¥cA&_$ã ·pîÇÉ6º>:6^(ó¸·CK ƒþuÿ·íÞ G°hí»Éá^ÏBDFF}ø!wí+¯ß¨h¨*¼´æ•ºïö¤Š ¤âÿ€ððð½?~ÕI‡YË^H“Ø–œ (4âçôCfé©AtæERNH‚4vLË?18¶qå² hž@L)p—pƒ¢y§7£…G±lˆä6Ÿ–Eó„J¼ü8! Rºê ò¢øê`ˆ/áù =ô^ûS¨ýu<˜ËȤÒ;Ð{ §Nñ½Jø ŠÞöþ÷ §èÀbDõÜÒU×äu8Žc¦UVåÜ .ÁßßÒ}÷¶ýMîM §žÊrù=9ˆ®Z…X+OHåçš*Š-Q£}ãFxIéåÜÆVÝÅ;¥ž„Ñ —rÅn®Û:0¸=0ÜÓFLw·ˆ‡’lgÐÀû5+¤Ÿ…²ðÓ¹¯ƒÛ¬ð!‰áCÝæŽ…þy'‹ß è÷¶~9~h ½é ±¤Þ~Ïþ×±ˆë*´=¾~¾fÞ§áÞ:…\ˆÅòU>·“o[?ãGû{Éúø«=óÁžNUhÆ™úåçßѳÇ&ÓâŠLóøÌ©óç/$¹’Ô‘©Qá!ô§ÁÀzz±è}$»^lxiG›VÈÂSg¤ÎdfƒCÔ¨‰»V¯Ž zwTì Z+¨Ì'`öÜy·OLB‹:ežo˯¢Ýï(™ Ä ÁxÍ—€!À"!TêÇb&ƒ~¬køi÷~€opØ|;¥á‡ª ªŒÏ¥€Q/ÇŒ3sÈm|ýõ׌<Äæ7–_­Õ “¿ùä;y1qÖ÷Nõ6Y‚o@1j•Œz$ ú»n7àªÐ÷Þ{/ãâÁ‡gøØÏ›>H& 9ޤgÓ€¼e¸~Ü—ŽA¾1M3v‡Ï‡³lÙ²[BÕqãÆ >üö‚ûvÇÖõ2뾡GÃq‹µä,H|زíqcc#r‡;0݇¢û ÷ÝwßmùµûÚ²<#Û_W}nóÞSwôTtr­SmàÈkÆß¿ðöá3 ­«²†„P:ÿÝïU蔇zæ¥äý^)¹ë®»¼¼¼LõSÒ&5 ‚Ç&?Ô¢RÐÇ~«Bs8œÏž(ä ‰“_ˈãk™"_é-4دüq{ÌÚW_}•Ù¾²áÀχ êš>:”óêôÔ[èý|b±øƒ>è'$бAËÇ—×÷=—„¸ÿ:÷6)RÚ—ýG³  ŠÜ÷ÞËãñBCCÎ R®BCìÔ ­¬¿y‡wµj40õz¤ ýúï¡ý>i˜ãÏÿšz€ï»wÞ.©¨%HºãèÑ@†……­[·nÝÖ©“.Ø/3Ï\´:õS u.€…{¨eP$³íÌ ¡#&ý¶ÿ{±¡â«?*4V:³òðTl6[&“ [PvŽ,:ÙåW‚0›Q’pŒ¨¾a! Þ~Pîã‘õä€ÂºuëjkkÉ;(Šà=‹ÅRSS3@ôoiiY½zµ‡BœV¡»»ƒ …ôn`,69L0pnXUWÝÜÄhõ£’’*_»ÁáÐ~.U Ø—¤¢hAAA_åÀZT¦ï_/ïßnÃVì«åžÄ·Gl»(•ärùñãÇ©P~üñÇ=p/®ª:tèPÿv¹±±ñ§Ÿ~êǤ÷4’¾.<Îí_“ažÈ“J¸›+é@[!h»JuuuçÏŸ§B¹{÷nÏ›«¯¯ÿûï¿û·Ë&33³GÞ ìù¹bØ‚å×y¶òxºt1+pï©tkµØÚÚzýúõþÒ¡V`ÏŸ­Õ5[v¯nõlåñtébVàÞSéÖj±¢¢bÇŽý¥CŒ G¯×w{Ádbc0¤×w(ùF‚ ±PÁà©“ñDI’îñZ­|½8Þ‚¢¨Á`ðÄ’=“ÉÃ0•p÷\sêÍ9‚ÑhD¤¿$  Ã<´'##£ªª Çñ˜˜˜Kei²ÊÌ*û[êQƒaxFÆ÷¸3™îÊÈÈp[l&¬V÷%àx-Þòòr>Ÿ^U–Œe oQ*•gÏž•Ëå½ÝPffæÃ?L…²   ²²’Šy ƒ#²ÜÜÜðððNßÊ쥥¥ÕÕÕžÌ¥ŠŠŠÚÚZO$ÔÖÖ* ÷$èt:FC‹÷òåËIIIŽÄ“$yìØ±tÝ.î²\UÔ¼6¹Ú“m+Uþå˜*O$uÖÂÜ—°P\D‹þÀ'Ož$Iò膵 :{öl¹\Þ -Y²„"åÉ“'_ýu*”)))Ž.mݺ5//ŠsçέY³Æ“®egg¯X±Â yyyÔíÓÙTª‡zˆˆ :ícsœ$â½QÄò¼ÔÇE¬¶JCÏhôͧO¼QX. Ÿ6cFth};ôQ‹z+=¢-!áéü¾,bu¥ç8IÄ{£ˆåy5¨‹Xm•†,ÐÔ–\^ôÔ’s9%8I¶w´ìêá[Ä¢ÞJèCKÈ@xC]_±ºÒs222®^½Š¢¨@Ðá¼TK‘/ް*aýš:Ø`ˆõ$gÐkP“)Ö³·Zc=ÈÃiñ^»vM$Á0\V›‘QÖé*†ÂF£™ÃHDBÊ"ÉþýÂÙÂÚ¶¿ëÊóÜèŽ-.++£Ø¨É`@qRâåÅaÓ{ ¦®®Ž¢zׯ_¯¨¨ð0.**âñxuuu.…UUUy2—ÊÊÊ<Ì«««©Û§´Z-ݸ¬¬ìÌ™3íñ'%%¥©© †á”””Ãfåã48¥Ã«ëë…†k^'JZhQZÎóYžH°Ñ?¸¤ÛX,=-^…B!•JSRRZe))í÷8·þ¶{Çöû[ fO0mÑ+ëWQz]8I˜/—´ÏN¶ÀkÃG›ÝèŽT*‹‹‹ŠŠrIÙX•ÿÞ†÷®”£8·íË aÞÔòõõ¥¨ž^¯ohh B,‘eeeÅÅÅÅÇÇ»bµZKKK=™K$Iæääx"ÇãQ·O'477K$Z¼ ƒµ¿Ëžc«øÁ0Þa¡« :þpc —kèDI |ÈÀá4{"Á¤‡ÙìFºL­U-Ì—q!ÈH‹×ßß_&“…‡‡Ëd <\Ú6ð_¼ûòïn·b„í—·oßùáZŠ2£¢ûúú6ëL>aKW½ºhî#Ê‘”ÕlP7µ$2‘Hâ²/ªÚ•Ï.»ZÞ`û³µårÖùk¿¶ˆºÄb1E‹xyyQ!ær¹ŽÈ¼½½ƒ‚‚¨©©©¡ØœCã¨T‰Ä Z­–º}: "—/´xe2Y§A¿ý‹X‚üù¹îòn±FxRˆƒJöÈöÙ´ßJ©k´þiοh€$lÚ/1êªÃ]z(¥²‹ób&ïÆÑ¦òbKÔhïaKCÐÛ¨‚¸;;ñäÉ“•õšÈ˜Ä ãÇxKú]«ow¼G:þåfS³òäñW 4ÏÍÕMîc.~uÃgÛOd¥ÅݸúÍ®£!CFÆ‹h¿Úf÷»³ä »|^:rÂúÁ/^’—söÜÅVÆË<×áþGçôã º*b±¸AѦ¹­Ÿ¸4±ù…_¼é¶¡ÌoÙ6«.ö…€€©éñwÕ!Fêï.œð‚p‚»궈Õ/Ïñy„Î~rQ߷뤳ƒ‚£Êvþ0ïñéÕUUBŸçÞÚúê³Ot7€¾aÞýߪM²Ùz_Ú‘ß?ðå°è6—í#¶-/ŸàÕ6ÏŸ–F³/ÈŽÞ\ÿñU«ÀDu©Y'IDATæ –/]LKBWÏy´Ï±›"Öþýûsss1 C[Е(ûz“҉Ś틴 ¹-!£áËYüËYôÚÌ~kª©Ê ²»/ìß¿Ÿ–Þžêಳ³…BaSSSuAŠq~{ª©‰n/ì³J·yéâÆõõõž9ªªªr¤-) Ÿšö€ÖÇ'HLîÇ=ôk÷¯§˜¿dqN~›?xR䔤¡e9çËrºo.77×ñ»fxKŸ}¦¢¶‘dq#£ Ÿhš±ª ë¿|ÿâ¨U©µÐ OuðGŽñóókwà)S¦p8†§LéTûqP+ˆÀ ÷›$PËßOµ¿S’dÁÞÆ;µE +@¿Çq©T:~üøÌ|þÃS"þ©BÃ_}õ•;½ðþûï»ÍKr¹<,,Ì“æ222œ°OŸ=Ÿ’Ê ÔÔÔŒ7nèСÄL÷Ä_—dÃv)\tê¤O¶lö§Ì{¨ƒ'ÈÏÏŸ8qbXX{ΑJ¥"‘ˆÍfK¥2[‘`l ío0H§ý§éÒ^±®“…°†=mš±&„wë¼¢\$‰Åb©TÊç©”ßæÀ]-F#'`±¤Ò>úºŸÏ …ž4ÇãñúL[€@ °¼7„/_þB^Aqv~9Éæ »{âûï½3$Ø÷*…ðù|‰Dboº9ÜÁcoŒ]nÔ¨q¿p¡L&·Nܸmš“…ÆüøëQµJM²ùA~Э?œââb…B Hqq±ý…új!ް@±©Çgƒ†Ðqú@CCƒÁ`(..Öhü‹‹5m+°Ùlîd1ê€aØm^ºP«Õl6Û“æŒFcŸi Ðh4UUU¾~ Z›Õ·šÿ‚–––òòr“©Ý+9&..Îf¸E,”@YÜÙHNN† H£Ñ˜Í¢6!‚aX'‹Q‡'¼ta6› ƒ'Í-[¶¬Ï´Lœ8‘Ãáôe‹·f̘Áf³íÃyàº%-‡j‰0F» í)ðÀ‘¶ÿ[­V©TêÈt.!‹Ý楋 .DDDôYs útßJyçÂÞ>žœœÌØ“A¯;0ó=>GÖð°Ð²oß>Æž ˜¸?Wàààà[Bm™L&3ßv¼mÁaLàx<Þ¶mÛn U,XÀf³™!»˜ ¡Y‚    [Bí¾<ƒÁ€ ¡ošƒ[À™˜±ffV` úefÌÃXƒÁ­ëÀÌœe¬Á€ ¡™šƒ~ ¡™5‡±ffV` ˜˜Y0 ãÀ 0`Bh&„fÀ€ ¡™šffV`·îô§‘ÌZ¤â’!ÿ¢Á+\lOyIòÆÆiÚ¢öÇe ^Ä]uâÕétl6["‘TH<;¿z [ŒuµuZ½‘+E Žòñõ¯åëëëCCCû¬9F#‘H\~÷¸?AjeC£J`¤`Td8òx|Iâ›-ïýu­ý÷<¯à]_mîÄ«V«}||¸Üö82 'Nœ€axÆŒö¤U—Ø bÇãÁbÚjí×OqU×!C+Þ¿ä!/š×úÚ>ü $„^«~òο>|X&“?þ¼Éo"½4Ê_|îùãg¯b H7ÿâñ¯û×ø/¼ðÂ_|ÑgÍmß¾}üøñIIIÕ{±ßvm}óÝÏê5:Oä½c÷±Ù“†{8¾$n”y‡´ei,ÍÆVÌìľqãÆ§žz*<<¼=„–H$B¡ÅbI$n¡`, éÃï( ÔЊql™/¯Sö¹m!®¾!k»Í™+¼%ÝiÖg¼ mòË,F\(#‡.ÐÍ?DÐå^* …B¡D"áóDÂëtCa£ÑÌá $b!ÝþvÇK¬Z¾øð_ym4eù×$½>¤Ñ`@qÒËË‹ÃÉår%}8ø|¾H$êËiÙ¤ðô¯+^y׌ßô5ĬU*ÉýT$¾ÒáøJü}e‰—ÑŠˆ½üžYõo¾¼€Û%mãóùb±ØÞ8}ñi×ÖÂñ«é-ïä×YD‚û^ÔM6 =²EÍU7ÚÃ{ÂF¿ŒS”@ æJ;ïíÄ ñÍo^á5ÔÁÁq2ÿµ«n>­ ôòé㟱S^]/öxæÅ7–nÙ²%//¯ÛKNúâÒ%ü°mS{ÂÙMJKKçÏŸï¤k{¶àH‚V«;v¬#Æ””—v[¿~}MMý/7sànCúfCú«¾,²}" â±® 쵃-ë*´ˆc_Ʀ>Ó¾ÀZfç 6”)'¯`—[†Œ–™'ˆŒ¡÷"rˆÍCÅuS_8à0Ê¢Ad3N‡»³ø)ICŸ^0¯B¡—4w ŸŽË¯uåËíA2`pêýÿ䊊yka÷¼mÍÑ_fw|¶õØ©ó+ž4ê>x/D&ìýæëÙí ÄáGiû¿_Päüy³BBÃI®×¸´G¦ŽÅ㈓2&JüÍ?M_¸pÁb±¸üðJii©K+Ý,%—””P!vbK—.iµÚK—.uSPꃃƒ‚ƒ»öņe8²ÃMóªMAþÁƒ9’P___^^î¤ *•Ê%AUUU·‹ÅÉ´qb“6äää‚>ç9°ªNÿBX•“ \ßbXÖžßâ«59z{ƒÖê2ÕtIà<&Ir±w™£K½’[,N’—)“KîåÀ«_~¡m³‘'”<óÚæ¶¼kÓ¦M{÷îí–ëÛo¿Ý²e‹KáÔsàÌÌÌ×_ ¥ 8ɳ²²V¬XáDì·Ÿ½ß^tèhòòòœw'//ÏyŠë2.--5kV·—ú!v ›ËòU¥-æ”—X†Œ–Ýý¤`p¬¸“—r` ©zyù²½‡OÛ¶ îžòüåc_¶]} í±´´´;ÜDÄŽKLÞüéçwN—9 …B£ÑÀ0¬P(ì/¨Õ<`i+޳;]êP0 8Nº"€œpœpN@î¤ÃK.Ûh4A …N'U(ôÿääpW‹uŠ¢Žœ\²Z­ ÒõÐ5ùÎâÙߟÌmO‡NU(ÖÝ,½ MMMÝÊÔét---Ý^jii1 .-`2™\ÒØÐÔÔDE s hµZ•JåããÓmzi4ÈW©Tε¥B`6›466ºM ×ëL'6±ÍÆÆF–Ý¡ N^^^uu5‚ yyyö¤Í>Êæ#(Ÿ—Wê°¼dÆQ4Ö9†%äå;­^Æ:'Àñ„¼¼B§Qô·óípG—\¶ ¨©©‹ÅR©T¥ŠÍË+k³µÙlv$¶Í8¹d4‹ŠŠ¼½½;»/aÞ{æº]y†ûÔóϵ Ñh4•••Ý–¾”J%ŽãÝ6§P(L&“ó^ØüÜ% •••jµš ± 444Èåòîna ¼¼¼¹¹Ù‰üòòrçÚVWW»$ÐjµNêëë]èõún L&““iãÄ&ö÷—’’’õf‹X­Õ%SÄê‘"ÖcŽñóñ–ɼƒEþ{ã—0Ñ^ Y½zµMÉ®¸£ŠXYYY.kTL‹ÍÀ,b‘$ Ã0•ÎSÄò9üŸM¾A¡Á¡áv¯prû±¨ôh±‚€a˜ wŠX(Šâ8ŽaŠ¢ÃKà ÃH’ìt©càN…8!¸$°E­îJ Qµ1°Z­åååùùùååå"í[(êâQu ÃlÆÁq6ŠâmÊ8ïµíáˆÀÉ%‚ Píö*A"©OLô®ÖèvÛ.á8N÷RW•¨LD Ã(;±€“¾¸”ß(ŠºMÐæM(ŠÂ0l2™JJJ ËËËÕjµKÓu5g÷îÝõõõ8ŽF{RCY‰±Ù ³ùÞÝ»w;ÜØ°fó=Î ¬Ö±NVëýÎ äAWtÀqÜjµZ­V½^ó-ZÔÐÐPWW§P(Ú’+ç+¬Û±c¥Pèì4|mm-Ç«¯¯¯ÏѼ;·m$Ôjµs•´Z­#'—ÓÓÓ½¼¼ºMÏŽ;–››ÛõRqq±MÉ®—rsskkk»/^´X,Î{àp8.iÚÔ(**¢BìÄJ¥òÌ™3Ýv³ººZ.—;‘_]]]^^î„ÀvNÃ9Auuµ•Jå’ ¶¶ÖžÀ残E­V———/X° ¾¾¾®®®±±Ãn+æóù>>>.M§×ë?Þáì£h»ìY|ÒulÔY]<è"ÕtIà<Æq|±·¼¥¥¥´´ôÀÿùÏžxâ‰Q£FÙ^4 ¼ `³Ùb±ØÏÏï®»îZ¸pá‡~xðàÁ‚‚ÛZJG7t8µß#90†aF£ÑV˜Ù·oßo¼ÜØØØ-×üùó%‡kÖ¬9yò$Ýø»ï¾Ûºu+Ùs8yò¤ç9°dgg;ϳ³³—,Yâ<ÅuIà<Å•ËåÎ Š‹‹§OŸÞÜÜœŸŸoÓY³f 6L$jÏzlïH¸û}öÙ­[·?~\.—»a“Øîc$‰ ˆmu-..ÎÏÏ/**Ò—:N©¼ù/‹Åçóù|~lllxòµG“ßNLLŒ‰‰éZàí3aÓð#GŽ•••Ùj§66›m0‚ƒƒo¡±˜ µ•ò…ò²ZgoP#p¬µY•{íZ“†Qìö؆mÓ–––ÂÂÂüüüììì³gÏÆÆÆÚ©m6FEE%''§¤¤$$$ÄÄÄÄÄĸ<ÇêzØybIÁ\tKcKÜ­V«R©Äq¾s%IR­V—••Èåò²²²ÚÚZÇm™}8¯Âl6‡……%&&&'''%%ÅÆÆÆÆÆ†„„ôÜ£ƒJTXlCk4KJJòóó ËÊÊÊÊÊêëëmo ƒ È~h“““ܸ©ÑzÃ0Û^ˆ§o«#‰ þòƺ÷®•Öúøø´45.~ñ•n Ízå{oüû»Ÿ"€+æCj­'¥lˆn7=·C·¶œ †aÛ2è²"ÐÐÐЖ¾ÚfcCCƒÑ~L“’’RRRl‹Gll¬ŸŸ_ßAúh¶-›0 ·¶¶ٖͲ²2¹\®Ñh¦úì`ˆ#ÞÖÖV­¡)"âþ¶']¸\.ŸÏ÷õõµ¹k|||llldd¤ýË ú(Š"b±X*** gΜYVVV]]mKu ²i’`óØØØØ¸¸¸AƒA½ÿÞZÇõzýÙ³g8pâÄ Fóæ›oº--77·:ïܳ«Þ¾çá)¿ðÆðÄ![Þ^t¾º¡°°Ðþ•tµµµMMª_]–Õž\úò¤‡ÇÕåÇ®ÛþÊ‚‘Éýòî+Ûâ HSS“­¢Y\\l»·êtº©S§:á­®®>~üøÁƒ;ipp°mL“’’âââbccCCCû`L=}/´#A1™L7®™ÍÁ+W®´Ý¨êêêÚnT<ÏçGDDˆï= ÀGMøøøÌÂÂøøx[Ý—/í´dÛ ¶½ŠÈ6 JJJl“Àb±ØÈ233ù|¾L&‹ŽŽ¶¹k\\\\\\TT‡ÃéQÝœm]¡×ë/^¼øë¯¿fdd(•J‚D"ÑèÑ£SRRÜn”ÏçŸ8óóÒ–>9ílfÆÿ6ž­k!¾øî)¯Ã«ÿ¸\.“8{ã“Ý¿ðÔeŸ½·îʵ¼´YËî÷ó²?QÔ{[8¶ÅA½^åÊ•7n,_¾Ü6ís.ÛlŒŽŽ:t¨“& ’ÉdC† ±ÍÆ^Ó> ¡1 ³-°•••¶(·´´T.—WVVâ(ÞÌùòK.—Ëãñl~Ø6›ÃÃà ANo íôæê>ϽÛÿ¯ÑhJKK'L˜ —Ë[[[ÛRÇãñ¢¢¢RRR’““âââbbbì ½àt ü‚0›ÍJ¥2##cݺuµµµ‘H4|øð¹sçNŸ>Ýï :tù‚—¦Î{îé¿3…^>“§ÍÞ³vMj\D'²ày 'þÎó‹!6;*aĆ-ß.f® ¹ÑM*vh …ÊÊÊl÷V¹\.—ËÛr®ÜÜ\Û²9hР¡C‡¶-›qqq.«‘‘‘/^ìƒ1íÅÚ–¸#ÒØØ˜“•§ÓÅ-Xð¶xØd2µí=ðx<±X•”R5/ù£øøøøøø!C†Ø¿–šú\P¥ ™L¦Óé®_¿Îãñ"##m÷£¡C‡ÆÅÅÅÇÇw{Ž·/‹|¶óz?ÿüó±cÇ*** 11qΜ93fÌHMMí©ÐnäÃóŠåã5†ÈÁQ"ãa…8ßgœ{[^Á—ú… ìñ¼À6kjj233¯\¹2oÞ¼ÒÒÒŠŠ ûœ‹Ëåz{{ÇÆÆ¦¤¤Ør®øøøˆˆ7r®aÆ œ©H)„¶¨µµµ°°ÐV;------mnnfNXZ’žÎãñ¸\n\\œýlŽíïüöJ-‘H¾ûî»ÐÐÐ>K_©Ä–‹¥¸¸ø—_~9räHqq±-ÊŽŽž={öŒ3î¾ûîÞ(xû‡xû»®B,^LB¢çÝ´¡CD­VÛb½¢¢"Û«×ß|Ô¤´´”Çã ‚¶Ù˜˜˜h …ø|>¸½àbnmmmmm2eYii©B¡hK_m·´ÐÐÐäääädñÚ¤¶ÅÇßßÜX¸páÑÄjµšL¦;w®]»öÆ1sæÌÇ|ìØ±ý’›õN:5iÒ¤ÒÒR•JÕ–¾Úfc[æ’˜˜h[`龨ävs`’Þ¾âk–·+Ïžår¹~~~ñññmHBBBXXtÇ|ók }†ášššôôôC‡]½z•$I.—2}úôY³f?¾S1é6€X,.//¯®®ær¹ÁÁÁmé«­Öpkmž÷Qê·òÓQ‘‘³mU_7Ò×ÛäN… HCCÃ:téÒ%Ç9ŽŸŸßÔ©SgÍšõÐC9?zKãž{îÙ²e‹mñˆŒŒ¤[ľ=§¥£Ê^ùy€Á !1ÑMû˜º¾?˜7oÞàÁƒ¯^½ú÷ßcÆf³¥RéäÉ“çÌ™3iÒ¤nO3¸ÓChÇyyy¿üò‹í3t'Nœ;wîc=Ö'C tf0 °dÉ’3gÎÌ;wÚ´iwN±Bß&!4]Á”0¸M˜Ék0¸…øŽÙ⥖l0Ö`À„Ð 0`Bh&„fÀ—ûÀΘˆƒ[Ð…2pí7Pu™1É„† Ü–90 fÀ€ãÀ 0`˜Æ0`0 ðÿ$ƒQ ðIEND®B`‚nted-1.10.18/doc/docimages/change_stem_dir_button.png0000664001041000007640000000167711520267216017465 00000000000000‰PNG  IHDR%"Ø›»sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ #…Ä êtEXtCommentCreated with GIMPWIDATXÃí˜Oh\EÇ?óæýuCÉFXKLA0D(n¡¬=ääÅà!ÁC=x9ˆ4¨7=ÏzñP ›ƒ’› t£ˆBö"D=´ló‡Ôf³»ïÍ›ùyØÚtkL»›Ìæö{3~ß™ïüæ©íímá„…Ç ŒS¨ã…Êî  Z­233Cš¦ÿùsÿ‰ðnz¨ºBµ’Rüªm0o677Y^^FDú eÀ¯ú„×Bôª†¿A…g@ÝRà:©j@zúÃA9ðþðˆ?Ñ5­XÚï·±e‹œTC}~¢šŠäãÿ%°÷Pü|âÙ÷‚£ùEû¢}`²ËîY‡÷»‡^ÓYôÊûË#þ,Æ–-íÛH©ËB ìy‹=oQm…ÚP˜ï êkÕ( ñ•÷œ#ý í´ÿ Ä‚œdPúc ú7þY“½•ážq'çÂoCܘ#¿˜‰y(ŸÚQè_4æ5á¿(l-õz­­-I’P,iµZ}€ÚR¨†Â>o™³³³ÃüüÐ74þ¯>Ù›éåôèÍs¯ZO éLŠœ¢+Þ䣄üFN!/`FÌñ´Ã éÛ)ö¢…´Óò®¸pýEŠG_©û#}/żjðnyØ?-k?­q—»Ç •_Ê¡Òqú¬•qû“ÛhôñBÝ/¼By†ÚÝÝ=ø5•e”J%šÍæ¡®“B¡Ð½ 8ý—p õ€òNÔ?µ¥@dq­e„IEND®B`‚nted-1.10.18/doc/docimages/staff_config_menu.png0000664001041000007640000022526411520267216016433 00000000000000‰PNG  IHDRá ?¨+sRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÙ 8þ\ú*tEXtCommentCreated with GIMPW IDATxÚìwxTUþ‡ß[¦O&½“@ $4¥HT@PEWY êÚËÛZP±×Ÿ»6T°ï ŠkYPAQÁH/BBI !}f2sÛï)$,è*»ž÷yòÀÌÜ~Ͻç|ηI©çßÇÞY7’~î j Ö¥ø@ ÿÓ(²Œ$ý´mX†’X8ö–ytwŠR=ûÖ¦´óïCÈu†¯¡ÇI_Z²Ú£ñˆq¦¾o· [m·*I‘- P%q@ ‚Ãä[Aù§mF×aíÊo!­H²å[=_’L}]âº÷W,|£QM?÷Ž„†ä¼/› õ0 –¨k£|v™—NL£Y3£:CŠ‹ «]ñyeˆ'¿mŠ@ @pXa™&Íd$B?M³èJ¨³¥ ,Sj,:ÞRBM=Àú2=»× Uii0,©cKqXr8p€9Â…ÂøWÄ’!ÁžÝ{8aÔ(î»ÿ>Æœx"è 0 žÔÂHë†@ .˜ ›‘÷¶, Vä³"¡(–¸L@ðé :x¬ÖO³º†d„‘ ,ÉÐ$KqX–$÷PZ 5œ”çoî2Ü’µ`»{‘L3ÚIYÈ’ÌgK–pþ´iÔ74k¨ªY.jñ,°,Œ0²,‹)?»"á±É(²„iY„ ¿fbY䌘CFDH|Ãsݼ9>—4—ÊÜÒFf¯kä•“spª27-ÙÃÝ_Ô þ]`cÇÛ2¾Ó÷»°¯MÆ¥Ê4i-º%¦µàPÞ§¦AÀÝ 6$"sR†Õö;Iâ€þÆÔ5d#ŒehH–U šÔÜe¸¥êü*XÈZ@’ ­ýÑdj¶o¡®ÅÄçóQVV†ÝnÇ0 ª««ãB# bY·‹úÚ˜’!º@ 8Tì23†gsqßTd BºEÉî g½Sζº%õ$¬[ š]Ju³†ªÊ膹Ïâ,¢È(„u“ëûåàRd¦¼½U]HyC˜ë?ÙÅêê :’}÷[´Ý–,aS"ïtͰöõ6¨Šï€ Í%×gí[OÓMV^Ô“€f2hv){ý:6›ŒnZX†Õæxe‰È÷ºʾõ±ÍäÞñùL?2iïUðüòj§Š,º@ øQH¦AH71´m ù *Ý“m¬Úf{“ŽS‘è•f#Ù¡ðeeˆ ±Ož˜º†¤‡‘0ÄÄ cI`¡Hº†d¶/6Œ“?\Bçž}ÉÈÈ 55•O>ù„»ï¾—Ë…eY(ŠÂ›o¾IQQCÆ®ê kûâ;@ð£é‘äaú‘i<´´’·6Ôáµ+äúìÔú[xtt’ † fŸ’φ½An[¼“?“MaŠË‚U{ü¼¸r/;êCÜ52¡¼˜XœÓ3™Iʼnd{mìñë\~T·-ÞÉŽº0’,E†ÅÕý3éŸãA‘$ÞÞTÇkkk‘€ñ]“8¥( ŸCå›J?ÿfAݤÀgçþQÌÝPK·4¼½±Ž××Õò؉It(¸m2/ëÈúš ×|PÎQ¹~ß;\ŸU»ƒC&‚¦Ù8¡³]M!>-o`ÁæLÓ¢%Ʋ".®-a–°F¦Óâ„N |¹£‰Ü;wÛâ$;¿»™pXðLKF×uš‰Mô¡ë:áˆÏ­% ›|:í†tð±®&Àö†0gõHâµ»¸èèl]@]‹Áš=~î=>—áyn&¾¾»S‹’8¥0‘Ù+÷0´ƒ‡ E‰¬ØYOK8Œ5ˆÃ-a¢…gÓ2xos-’ÅQ™.ž¿™owÖ“æÌåþ‘蘠róÐlæmØË7Ûë9ÿˆTºA0¤EL÷FX4@ øH¦¬‡ÑµݨVW™$ÈìöëœÔÑIcÈ@Ť¤ÊÏŽº’1å`鲯Üϲ±H«²®\l`âr»0t(³fÍâ /$99™¾}ûÆã5Ž9æÂá0©©© <„²•UðíFd›ˆÙ‚Ce}U#·~Tƃr™q|>UfÝ?§½²†¿|¸™q]“ —Ïß@Us‡"1ú…Ü6›,Ó=ÕÉ ^ò<23metçD2½v®þ×&¶7´pj·á¬®læ÷ÿX‹?lb“ ¬[›ïcX~"%•M xj†ea“%2<*ã»&ã±+tzp)Mç¹Óº1åˆLò=2–±.¼¼r7ÎÝÀ¹}3yabwº&ªÑãM! \öΪý·( Å¥rùüM¬ÜÝ †ÉeGç2ã“2Öìösñ¼ ,º /œXÀîæ¿ÿÇ:üA…EÉtOËåïËvðÂòJœÑÛÁÄ4@c„ÃXûy#•Õ†ø÷fñ]“X¿ÇOŠKE7-ÞÞP{`Œ`Ô²!é­b6K¶bnT˜a0b†-Âá0%%%,^¼˜1cÆð /0wî\®¿þzRRRe™¬¬,œN'«V­bÇö°t1@pÈXHÜ·x3w.ÜDŸì.=º—Ϩ‚*j›¢óP&²¡qlA*/NêEØ0¨ö‡é˜ì¤²)„lêØ,‰È‹ßŽŽ#ha— ‚Ñ 'Ë0IŽ&]¯õ‡1‚Ad»‚i‚ -²×Æ@ ¨D, ©ŽhQ'`KM3tÂáˆø°I&6td¬ÈY×Ýdgd?·—OØ0 jËwÔcuÍAJ÷ÐÁÆò„Â!° Ì}¥CE ~t'c aôpKj;e£ÊétQ‘dÉÔQ-ȰCEc¹µ8‰Y—M L³µš‰l ,$-Œdµ/6"ÛŠl°¸¸MÓ˜:u*ü1 ddd iK—.¥°°ÌÌ  d]¤¾‚ŸBaŠ—g&÷aai ÕÍ!òÐDÒÃ4NÉ.Îì•Æ²ŠzÆtI&Ýk窷װ»9Ä‹SŽD²"ƒ{YGgœö}Žôfd6*š$ÄnY|¾e7Í!ÁùIÜrBgªšB$9Uùt+«vÕs\ç9©ˆ {š9µGõAÒÝõ¥y#ýF´‹YÌ%CoX§c²‹3{¥óõöz>Þ¸›KÎcUe#ó×íÆç´Ñ++FpK _LaŠ‹ÙËwpnÿÜ4<ŸÛÿµž`88¦0™Ý ~–UÔÔ…ß®@ ü¤˜eCkkÙ%‰¾¹ ø°LšŽ]ޤF?¥0WW·°7ŽWõ)²¾Ÿ•©(®b?¸ØPU•Þ½{ÓÐЀiš¨ªŠÃáà¸ãŽÃçó±}ûvêêêP…ž={²ª¥KÛ‰$ªú Á!ÓP1ýè|]6a‡oâ“M•ȦÎ㟖òì™ýx𔞼öÍvîZ°Ózeò฼»®Š­5ͤy(¦†d†qÙdЇÆõä•o*8ÿÕåÜðŽkëʤ#²©oÑø`C Í®9&Ÿóûçq÷‚ Üþïuä'9¸mt1+wÔòÌ›™|D6Súæ2 /‰“Ÿ^ÂŽ³!?VlȺ†®…¡µ¥B’H²Iäùì”ìjdîºjr}NížA¦[Å-›Ti!”XÙ CæGâþZ‹ IRÀ)uÚV(¥S¼žÆþ$»TÞ›Jem#ÉÉɬ]»–%K–0|øpºwïŽišÈ²ÌÊ•+q¹\uíÊÇۃܹ¬§",@p¨XDRÖ–©«*M–"©f‰¤‡ &–e¡Ê2vU¦E‹ÔÜPe “ÈzN[$¦!¨m>ûÊ,áPåìÐDR"FsmŠ„]‰8Bi†IMk"ƒ]Q¥H°z@3p(26%’Ö¶E7pÙIj{¼ŠŒ#ºLä»Èù)rd?ºiÖ ìª‚M‘hÑ"ÇâP#5Gbç)Kà°‰˜ @ øÑ˜¡œ(u;ˆÙðØU2½v¶ÖòH÷:ð9T¶ÔúiÝkH††»r-¡ô®ûÅlÈ8j·ESßÚAņMRè7d8ÿûßÙ´i—]vº®3tèÐør­ÿ_YR¹d’]øÑ Á¡"N PÑ;°/‡†[ng#Fäýî–Ú~ö*m··ÿj.‰ˆ©£Õ~%À8Zï'Ú(@‚²ïXl€M¢îTíoÛïöíÇØ"ñz«c±L0h{ž†)‹@ üX,ô`!íôÝÒhj Çc3 jšBT7µD-ûV, ÉÔ‘Ìýô„yQ«XÖ>V­Í}=ͨáC(Yú9Õ;Ê9å”Szì.…hÙrÑ@ ‡’e éa°,¬ý&µbÕÂ# Ò#ÚB’"ß[Xû-ù¼¿žL, )õ‚û-ÙÔF¡´’D–ÏIs%Acc#ªªâv»¶ -šN]«À@ @p‰ Ó ˜YŒöóSí’¡áٵ͗–ÕF†(-õ‘lT²Ѝ”văTîmiû¥fÐ }玅ÿ¬@ @p˜b€¡ÿ´í˜zDcè!¤˜Øˆf¥µP% Ì–fúvL';Ñs€iD @ ü¯!!™ ?Çf°²‹ˆÕÕ¨lðómy5²,£"Aȸäø>L8²3–eáPdÛa’¶Ö4 … LKˆ @ à°–0’ÄÛ%[¹à¹p+D+ˆKÒ ! òxzÉFf/-¥©EûÕÔI¢Ç4nÓ›¼$ºi"‰@@ àðDtE,“b›Ü´Š,ñ¯•å¼³ª‚ìŠþ+G^(’ES³Ÿ{ß/áöSŽ"Á¡þ¢N^’$¡( ’$aY–:@ Á Ø°) O/^Ǚäa\vÛ¯®Œ6VÖ0éZÞ[²‚î‰ †iþbû¶;$¥¦’×±£@ ÁO’ÍA\;»‚ÖN¡§_ŽH®Ý¼”šC:ž\ ³ø%C7LÓ¤¾¶–êª*2sr°D܈@ @phbÃÜ6P YЏ1ýºXÈ8m zXûÅsey¼^êjjÈÊÍbC @ 8T±àVeìŠ)E.ÿúÕ2 ÉÄm“‘±0-ëð†È„%@ üd±aYàU‰Š ¢QäªÍ–6M-Æ´Lâ¡æÿ©”%ܪ‚Œ‰ñ+¸u™¿ª+™@ @ð?"6ܪ´ŸØÀ²øà·øð½ù„C! ‹Š9óœß““ûb(¬è¬ï,Š®¨eÃ2M,À²,œN'N‡ €®G**Š‚×ã¡%¢¥¥ǃ¡ë´„B8NGd–…n„B! ÃÀ²,\N'H--m«¥ «†@ @phÈûÿÝJdp¯J J`“%>Yð/<ýœsîïùÓM·Òµ°+¡ U»"áó¸IòyILð`S$T ÜN;I ^¼¸ì6T)R®<ÑëÁãr˜àŦD„Mlý ›LtÙØþÁk“‘- Ã41M›ÍÆó/¾Hÿ¡Cù¦¤Y–‘$‰5k×ÒoÈf½ô‰>×þñÌyí5¼^/Ï¿ø"ƒ† £÷€ 9’«¯»ŽŠíÛ‘$ ›ÍÆÿ=ý4<ñŠ¢`F÷ûCd¢@ ~šØð¨› —A² 6oXÏÐaÃé7` ;3éÌ)£È›6¬c̱ƒèœ™Ì ÞÅTWíÂ44fÜzÅùôîšÇ³O=Ž,×ã¦wQGn¼ò2öêÊ' > ló&Æ;ˆ‚Ì$&Œ9ŽÚš=ØTE&ú'á±+È–‰eš˜†eš464š’ÂK/¿ŒMQ°«*³^z‰´ÔT"¥×ëëêðûý`YÔÔÔ0fôh–}ú)¯ÏžM¯=8mòdÖ¯_"Ë456ÒÔØßGìÏnT@ ÁOVTl¸m*Š$¡J6UeøqÇóõÒ/¸ï®Û™=ë9¾]þ5’erîäÓ¸æú?RÝØÈ{ ãóz™÷æëlÛº™u¥ÛøôËå|ðî;|ñé'¨²Œ"ËtéÒ… [Ë8iìÉünò©Ü|Û475qáÅ—rΧáu»Qcû—%j$@Ü0âÖ†°¦qü±Ç²}ÇÊ·ogÇ®]lÞº•QÇOHÓâ±1ñ€eaè:¡p‡ÃÁE\ÀïÎ:‹»î½»ÍwÏj½Ó4…•@ @pˆ³á±Ë® Ê¦‘ ƒŽÈcO>ÅÊ’o(+ÛÊí·þ™‹§_F~~>º®söÙgPWÛHjr"š¦±~íjÆO˜€"Cb‚‡c;ŽÍ›6 œ| n—‹‘#G †Y½r»vîä£À{ó߯f·³¥´”†ºÜn7fäHp((šÏFeš&–e¡i“'NäÝ÷ßÇ2M¦LšDMM D…‚ÕjùÖë†ACc#C âþ“P(±ß£ËÄ0MáD%@ üD±aYàQekE4¨[×4†ÄmwÝ…¦i̼ë.^yã °Z-11uòL¿ß"ËÈ’I©Ûê÷ø51M¤Ã °@ @ð߯£h¯ n›‚"*[(˜|²p¯¿2‡êÝUlÝ´‘ysߢgÏô?²/½ûôáöÛn¡%àgUÉršêk1bo¼ö*;ËËØ°v _,ùœþýú¡Ê‘ S˜}{÷¦OŸ¾<÷ÌÓ$&x‘±X¶ô ¼.g$H\¶°Éàs¨È˜q«„ –eáõxðù|d¤§ãr:ÛX3b¢ÂŒŠZY6LÓäíùó2hP<ðÜlõ{ìO¤¾@ *ˆ{T Æ©kXH Häædóî»ó™ýÒKØívN:ñDÎ;ï<ôpˆyÿü'·Ý~;gyYYY<øàƒŒ3S#×_wv»;︣û÷CçØáÃIôzQ°·™ûÖ?¹ãŽ;8÷œßáõz7n6Yˆf€’$ð9lÔ·ro², M×Á²°Ùl\å• I¨ªŠ®EªŒ›–EXÓУEù Ódë¶m|¸p!Á`µëÖ±·¶–™wÞI š>W×õ¸ûU ³!@ RÚ÷YÍâ©scB¿B>œ?ŸÓ¦L!ÇR»ÝŽu'Òup8w1r:ȲŒeYƒA,ËÂn·c³Ù…BqàñxhiiÁ0 $IB’¤øúDED(Bj•nvû¶mlÙ¸oB–e¡( ëÖ¯ {·nmNhÃÆX@ï^½XòŤ¦¦Ò­¨ˆuë׳nÃÂá06»ÌôtŽêÛ7^_cíúõX¦IÏ=ˆÙp8ôèÝ»Í÷@ `?q¼»r—Î^„Û&  Gk à  ¶³5).0ö'·,Hª@ ýí­/íW×ÂÚï7Ã0â"Ã4Í6ÛêV\8G€eY„ÃaŠºv¥¸¨(ºA+ž}ʈ ˆílO @ :ê¥bŠtï'Löÿ~ÿÿ[í¸Dµ*í @ @phˆ4K@ @ˆ @ @ðßÃnT‡eî%ËŠ“ÿâjL’% Õfip@ ‚vôC¬ìÄ÷ˆ »Í©îw¡( 457ÿâû–¢°|Û6Ñ’@ ‚ý°ÙläбKÔýŠa«û­Ãš)nq¸(%Ë"¯S' /@ ‚à -fõ·ß²³¢‚N ¾KlDfòŒðú|´D‹âµçæËòär¹Pl6,ÃÀï÷ÿ`—(I’0M³m]à?,p½^o<}³ÈP&Äûï?¸¿„¡xß ÿåqä‘ü{þ|:vióýO w:Œ=ñDV­Z…ªª Š¢pÿƒ’——Ç%—\‚×ëwDpØâv»¹ô²Ëxûwâ…)àU\¸ÝnTU ³÷;Þš;»Ýþß¿×ëå¬)S˜;oÞϺ¿X`§Ó)n²@ð a³ÙÐÂaö7]È?ô¡mY–©ªª"ô=V‡5kÖðñG±²¤„'žx‚æ_!öB ø¡È²LuM ~¿ÿ:¸òìÁá 4¼>#Fâõ×_Çáp‡9û¬³8¢W/Œ˜å`ï¹Ößl™P8ÌÙgŸý£ö÷Cö-IŸ-YÂ9çžû½ïòúžïs~¶öðc¾û!íè§ÞÃ_jýß*?¸¨Ÿ¢(¬[·Ž-[¶€$qD¯^tíÚõ€e–/_ÎÎ;ñ%&2xÐ $IâË¥KÑt?üþýûÓ¡CÌv¢Õ‚ÃQxìÞ½›­ee èß˲X¶lµuudge1pà@êذaú÷W¸ÿréRð‹Ì Á¡¾ß*wîÄï÷³fÍ>úè#zöìIFFn·I’زe ’,³sÇš››9ꨣ0M“•+Wâr»п?n·€¯–-cÏž=¤¥¦2xðàŠîjšÆ·ß~ËžêjTU¥÷GŸŸOFF.— +šyòÛo¿eÇÎddd Ý»wÇår±lÙ2<5{÷b³Ùcذa„B!Μ2…³Î: ÇÃç_~É]3f0í 9ýôÓYôé§uíJII ³gÏæŒ3Îh“rµÙïgÄÈ‘ø|>ì6/¾ôº®sôàÁüóŸÿ¤lëVêêëyæ™gÈÌ̤ka!Ÿ}öOŸNrr2UUU<õ·¿QVV†¦i|úÙg|úÙgœ>iúižúûßIOKcÁÂ…¬ZµŠN8ᠱ˿)Q¡(lX³†Ââb6VÖò¯UÛ°)Òw[6dYŽ+Ôzˆ[n¾™áÇcYV›N–$êê¸ù–[ظ~=9:`ê:¾¤$n¼áFŒÁ¦ÒR.œ6 —ËYGQÄ)øµ¦^"¹ £³ ±eYŽdb“eE¡¬¬ŒÇœ?Ýx#'tÌž3‡ò²2œn7S§N¥wŸ>\2}:'Ëó³fq÷Œ|ôñÇœ8v,n·EQD5@pؾﺓ“è‘#9óÌ3Ql6G$Ó²Pd™ò‡Ë/gïÞ½œ9e ×^s ƒ âˆ#ŽàÕW_eË–-ÜsÏ=쩬ėœÌe—^Jrj*W]y%²,Ç'wUVbY—NŸN‚ÏGSc#I £ª*Á`^|‘«¯¾šÇ­Ïä° IDATOUUÿú׿"c I"''‡3&O¦oß¾tÈÍåÖÛnãò?üÓ'N$)) d™®]»2wÞ<&ŒÏà!CØTZÊ´iÓp»Ý,üè#G|ìÒz2(!!S'LàÌ3Π²²’{gÎdwe%¾¤$.>”´4®ºòJl6æo|²Ôж§Öm*6^TT•mÛ¶1{Î*wíÂëv“‘žÎÂ… ãc¿cŽ9† Î?Ÿp8Ìi'rÝ5×0bĪ««™4y2•••¤§§Ç­kª¢ÄÇv‡ƒÇŒáÜsΠ¸{÷ˆH9æt]i //3&O¦GdddðècqÑ…rÆgm/ùyy¼ùpòI'!É2={öäâ‹.ÂívSVVF^^—]z){ª«ùÝ9ç°qÃn¹õVV–”×±#–aœšÊ7Ü€×ëým¶h[ø.¥vņü~*¶n¥%¢%¢¡±‘nݺÅ7¦ªj¼H²LeU’$1jôhLÓD’¤øìEäX, à ³jÅ U€à $YÆåv“שSxÿ}î»ÿ~jöî%à÷sDïÞñö’ÃáÀ²,Ò32H‹¶_‡ÝŽÓá "zŽcÆŽuív;•••4ÔÔü¶ÚF´MÈŠBFVYÙÙ?Nl„B!v–—“–•EvNŠª’™™É’%K˜–/_Naa!åÔ×ד™•·---8NV¯Z…õˆQ…E‹3qâDšX¿q#={öl7Á@ëÖ*K-gŸså[·’_PÀ¬çŸçµ×_?h[·ö<9ÙÙ8NÞž;—®ÅÅ476¢ª*öž=“m¢©±‘²ÒÒˆ(ÏÏÿáb£¹© ¯ÏGVNš®cY·Þ|3wßsóß}$‰‰§žÊĉillDÓ4¼ <ùøã\vù夦¦"Ë2‰II<òÐCè†?ˆß¬€ÈF%øIÏ̤¾¶–ÆÆFRSSilh 95•¬¬¬H‡k³ÑÔÔD}c#=ø 7Ý|3—^vO>ñ×^s SÎ:‹¤¤$lªJq÷îÜxýõ„‚Aî¼ývŽ9’›oº‰ôôt4M#p­àç@’$²ssY·z5MMM$''S[SCfNé„C!$`Ü)§ðÔßþƲ¯¿æŠ+® Dj[I---´„Bñþ»ÙïLjÎRë†AsS))) Œ=ñD²³²e™aC‡rãÿHQQ›7oŽX&¢Ç°k×..™>Í[¶0aÂŽ:ê¨6V +Ú^bqº®ÓØÔ„ÓédüøñÜu÷ÝäääPRRBC´½hšF Œ[QÁ`¼ö‹eY466âr»yü±Ç¸âª«HMIA–e|>?ôÐo¶m¨ªJ~§Nl++#+'§ýv“vÁ}V@³xêÜã˜Ð¯çÏgXÔò˜œ7Å"õëëë‘$‰´ôt| ìܹ“´´´¸dUUÍÍÍH’„×ë%33“`0HSSS\„¿&²,³qíZ¼ÉÉäæä°kÇ|‰‰¸=ž¸ïéîÝ»ã&Ø`0Huu5ÙÙÙñ6ÞÒÒ‚¢($&&Æ] œN'¹yy¼ÿÞ{tïÖ->£'¿Š¢°ú›oHËÉ!;+‹²Í›ÉÉË‹×Õˆe‰Úµk¦i’••Ecc#‡„„jkk#“‡‰‰†AMM )))Øl6B¡P|Ò&ön ȲLBBB›d0–eÑÜÜLMM ¦iâp:ÉÊÌÄn·³k×.¼^/^¯I’âLËâÏþ33ï½—Î;SYYIFFªª‡©®®&//ÆÆFjjjâÖ Ó²ÈÊÌÄ4MöîÝKcc#^¯—¬¬,jkkiljBUN'6U%99™òŠ 2ÒÓã.4@ÛóñùHOKÉm¢}芥KéÜ­©))|óÕW <æ‚ÑIe$ L“í;v Ë2¥¥¥\sÝu”––RQ^ŽMUñù|ñíUWWÓØØˆj³‘•™¿@€ššdE!Áë% ѹ°rÃõ×Ó§woÂá0ÙQkCëlT¦i²{÷nÒÓÓQU•P(ÄÞÚZ:DèÞhF3»ÝŽašdgf⃤¦¤PWW‡ÝnÄb´ÚžÍfc÷îÝ455EB¼^2£°ß*š¦±qÝ:zôéÃûo½Å˜qãx{Åf.½·í»Ä%)âÏ3_Z©©©¤¦¦¶Y,77·’ÌÌÌ$3jF}çt:EaÁá>]Ÿ1±,‹Œè‹#Ö~óòòÚmó±eþþôÓtïÖ£úõÃ} Áá@ëArë@qˆ¸7wìØ1þ{,ײ,’““Û—Öý»Ãáhã[Ÿ½ŸÏöþûLHH !!¡Í21[¦¼¼œææf:uêÄû¦¤¤ EÄcØívrss1M3.TÚ§§§Ç1v>­Ï)v y:´9Öï;Ñ_ì§Hò¯–/'';ŸÏÇ=3grÁyçahZ| ßšÖ÷¨õv<§Ý¶l·ÛéÔ©š¦pßb÷¾õýs8ädgGbÚi‡‘Xg¢í®½íÅÆ¿qÑÎ9hˆ„ú}+Їëûž91 ü­ãr¹¸æÚk)ݼ™fÍ"è÷·éÈ@ðÃPU•‡y„»v‘‘žÎ=wßMjjª¨Íõ_6.jlhàÖ[oÅ´,ÆŒÃõ×_OKÔ ê'g ƒš’"Ƨ‡Ó=ÿ¾çú»„†ý`Ábˆ¦ÅT®$Im2tý<"q_ !l_=ø Š¢ …û”@ ¦i’››ËËsæD|üM“–PHÔ/8ÄñC,þçr_7- £U\Äþhá0’,cš&cÆŒaü„ @$1ËÏ!4ü~?O<þ8¡P]Ó~›™Á£6fFǨº®ç½8¨Ø°›(Hö„[Zâ>þ¿ŸÕ+WR»wï϶}×K÷ž=ÉÈÌl7ËÂÿRƒu»ÝèºÆj=Câr¹ƒ‘´ŒŠ‚Ëã˘$¢A”­? àÇ¿Kc¾úûÿKÒÿ[ÅEëkfë×®e{EE¼Pó!ßY“î={¶ëÚ‘ }CÓØ¸f {¢5Uÿ»ØºvïNFvöwŠÐïÑÖ+Tãx9†B!JV¬ ¿ €á#G¢üL wWU±tÉú @J4×ó}éhš(Š¢`³Ù¾ó‡‘e9RÈéÆëñpúäÉŒ=é$ÎýÝïÚd”ؾc×\s O>ù$éé”””0qÒ$RSSùlñâ¸ïæÏ™x vÛ»^ßõÛÏÕ©ý]ë}íò~©sý®mÿœíèåžÿ·›à¿OoiiiS¸îOÕ;õ}ËHQàjk{n¶”–¢i'ŽÃ9T Ã`ÝêÕ¬]½š£ú÷?ø2«V‘œ‘AA·nbüø?N8bý·ß¢Úí$EËšØü`Q•“C×âb¬˜9ég #3“AC‡²aÝ:““‘¿çÁ `¾þúkòI¶WTDŠ+uèÀ5W]ÅQGÞŠ¹|™¦‰Ýéä‚3ÏdØ1Çð‡?ü!žQ"¶LL¼˜¦‰Ífò¬ø9*Š‚¢(q‹„Íf‹WŒ ‡ÃíbË@$Ý—ª(8EA×u à =-»î¼“äÄD\N'Ï>ÿ<÷Ü}7ç_p˜&]ºvåÍ×_§oß¾ƒÁøvÕ•)v¼’,ôûilh@Ó4TUÅ—˜ˆ'š•âû„‚ªªqÑ»^ûûK’D ä믿¦%zìéééôë×ï –¬Ø¶5M;à,ËŠî²,­~]ïXºÁö°Ùl,Y²„ÂÂÂ6d~ ªvïfÍš5˜†,Ët-*¢SÇŽíC,W¿$I‡üœ©ªJII ©iitÈÍýœkë{ÓX_¿¹9’lÀå"19ù{'$bÓÖ“†aDž—VÛŽ”Úÿ·X6—P(tÐç@’$¾úê+zõêuЙÊ_ UUY²d ÅÅÅñ¢pÁ/6Ö ËbËÆÔTW· Bþ%ö …HÛ/`º½ç×f·Ó!//R=½Mu5ÃGŒ@µÙ~ò¸Dzq_}þ9uõõí ‰º½{q¸Ýµ°/øß£S§N¼7w.ƒ‡ bã?¦ix<žd¦T%2ÑjÀ~Й]Çår"±`u¨¯¯çÏ7ÝÄEÓ¦ñ»ßý€çgÍâºnà_óçãõz)++ãÙ瞣¦¦†ââbÆr [·neÏž=lÙ¼™SO=•„„æ¼ü2555tíÚ•‹.¼ÄÄDÞš;¯×ËèN@×uV¯YÃò¯¿æüóÏGQþï©§X¾|9:uâÚk®‰W­   Ãà…_dÙ×_cSU&MšÄ‰cÇ"IÁ`?ßtUUU\8m}z÷¦¥¥…¯–-£sçÎ<7k‹/fÇöí8ZB!êêê¸wæLŽèÕ‹«®ºŠõ6`·Û)ìÒå(±4Ïå[¶Pºi.— §ËEKK ¿ŸNuï~PÁ!GýUßzë->Y´ˆ@ @ÇŽ™túétíÚõ3÷+¯¼Â'Ÿ|Â1C‡²jõjÖ®[ÇŠ+ð75µ{|555ÌŸ?ŸÉ“'0@T…;ääd~?u*N§]×yý7X»v-·ÝzëA¹v»W_{ßOJVVÖê˜bçÿSfžý~?>ø ªª’ÍâO?¥oŸ>ÜyÇ‘<ÿíýú÷§c~þÏ69ÐÞuùfÙ2Hðùe™æ¦&TUåÈþýã©–÷?‡˜µ®²²’çgÍbË–-‘gnôhÆžxbÑZ]]Íý<À˜Ñ£9þøã‘$  À]3fÀ7Üð"óõ×_'77¯×û£ž—ÿ´µÁápðÊ+¯pÑE‘‘žŽþ?ìF*8üe™²±Ùí 5 û/èRn³ÛyûÍ7}òÉß÷²§ªŠÒñx<´g·0M‡Ã±ïw(Þ*Ñu,@‰N$†ZZÚ Ö5->nù%Þ‚_˲P…ÀAÆ+Blü'.:m+U¶ûQU¶lÙÂì9s˜4iÝ£ƒÖïÛî5áʲLII 6›‰§Ÿ?÷œsxú™gX¾|9Gy$—\z)çœ}6S§Ne{EЫGÎ8ã RSSùjÙ2N3†´´4žyöY~änºé&¼^žúÛßqüñ¨ªÊsÏ=GAA.‡óÏ?Ÿææfn»åæ¼ò OŸÎ›¯¿Žßï[T/^Ìû|À]wÜA°¥…P4ÖÁétòøOð·§žbãÆüñOâí¹sijjâwÞᤱc3z4sçÎå„Q£>|x<ýÜYS¦Ð«W/l6úiÒÓÒ¸ý¯mw°úCÄÆ®;X·v-ƒ† #=šÓÝ0 j÷îå‹E‹PU•Î]»`}ˆYsn»ýv¶lÞÌ%Ó§“–’Âêµk™õ ÜqÇØ¢‚Ѳ,<^/+V¬àüóÎcÂi§ñîüùÜ5cFäÁTUNg<_y À4MšƂ… 9ûì³ãB4ö2—e™7ÿñ,ËâøãŽ£¨¨ˆºº:þï©§¨ª¬äæ›oFQÜn7RTth¡¡P¿ßÏã>еbI’´o9Ë"Ý¿,˸\®H'¢(š›q»Ý‘`½VAœ±N¦õ6~¼nOlMש««cæ½÷’——‡Ýn§¦¦&>àŽU46u`0ˆ¢(l*-ewU'ND¶¾±4Û’¢`F〜.W<©C0äOúS|¢Àáp ËrDˆIR<˜1fEqFÝL]û’{< Ã@µÙÐÂá,6›Oþýo$UeÔ‰£qy"ipo¾YɲÏ?ç¸Ñ£Û}y«ªJii)'ŒÃÅ]Ä¥—^JCCsæÌ¡KçÎÇÛ^}}=oÍKII #GŽD–e¾øâ ^ã ’ùËM7¡ëzäšD'9Z‚Áøà㑇ÆŒVM–e·ÇX@ n-‹]Ÿ˜µÄérÑÜNzg§Ó‰b³Eáp<–©õ=os½e-ŠÜïè}k ðûý<ù䓘¦‰¦ëû®·ª‚, GÛiëvÒzŸÞ„ ]G±ÙFÛž@ðCûÒm¥¥Œ8å”v­¿ÄþÍVÉabßYûeMËÈ`sÔUê`ýYëuÔè³ùcÑ£Û¹”}çÄDT˜|ŸéÂMò`“7BðÏ”¸?«Ì‹øyî÷‡e¡kï½ÿ>ãÆçöÛogÜ)§°pÁ´p8"&ÚY/¶î(WVV’-P#–SzçÎ|µl>ŸóÎ;®……Œ9’ÌÌLÜn7éééàv»9þØc0`:ubÒ¤IlÚ´ -æˆ#Ž ´´”p8̼yó8kʪvíâÅ_ä©'Ÿ$77—¿Þz+sç΄Š]EU©©©AQŠ‹Šèß¿?–aÐ 1í‚ 2x0O;ê¨é:&RÌh —„„²²²HKK#3#§ÃA‡èС†aðø£rë-·|çlîw¡…Ô—•qÔÑG“Û¡CÜIUU2³²;a µµ¢jÿë_^^΢E‹xäá‡5b}úôaê9çpßÌ™q¡¬^|ñżþÆüþ¼óøã7¶GoÍKQQ^‡£ ¢tófTUå†nà_ï½Gž=9wêÔ69Á‰ÖÂÉÏË£¤¤˲ظq#ªªRPP–E]]O?DŸôôtzøa^ŸAC†°`áB\N'uõõœtòɸÝnzöìÉòå˱,‹M›61dèPÆŸz*;wfÉ’%Œ;–¯¾úªMç!Ë2555Œ5 ·ÛMŸ¾})++‹w˜1+Å´iÓxkî\Žì×ÿ{ê)lÑÎÐîtrÿ•™‰ÇãáôI“…Bìܹ“gžy†‡}”Ž:qÇw´¹ëׯgä '0~Â<“'Oæ³%KèÓ·/^¯—çgÍÂëóqî¹çòÒìÙx<}ì1.¸ðBFŒEq·n\yõÕñªÅ/ZDAA‡³Î>Ã0ðú|œÊ¬Y³ÈÎΦ  €/—.Åëó1`à@-^Œ×çcÔèÑüù/aðСtìØ‘9¯¼)F§ë<üÈ#¤§§“ššÊ_o¿=RPÖç£c§N\uõÕtìØ‘uëÖ‰þIðcfÐu¹•+ì¯1kÜÚ‚þõòå”––ÆÝŸMÓŒê6Nˆ‹ƒèX"f¹oý{ï´÷9>QÛüÈñˆišƒAÁh5îØùôíÛ—/¿üòg1÷Ú &œœÌÌ™3Ðöc‚,øüðë-ÄÆ/yÁcBc¿¿ååÜ|Ë-Œ?žõë×°­¼œÇŽåºë¯gëÖ­ñ€0ë;¶óC˜üü|jöî¥9š©I’$êë멯«£sçÎÔÔÔ””½h=P5EQ˜ýòËœ;u*gN™ÂÍ7ßÌÎ]»°,‹ÄÄD :wfÆ <ûì³ôë׎ÔÔÔ`·Û¹ô²Ë˜zÞyœ1e §œ|r¼šë¯½–òŠ n»í¶6×@–e6lØÀu×]‡¿©‰¦æfî¿ÿ~ò %+VpÛ_ÿJS}=¶XRËÂf³ñí·ßòî;ï°âë¯ÙVVÆÚ5k\pÁÌyé%ü~?ŠªrÉ¥—Ffð¾]¹’•+Wò§ý„¢¢(¬_³†ž}ú°«Ñââç6±}O¦ Î_ç–óÚW5Ñ·7¥6Ä3m& víbÃÆL=÷\‚Áà¾ÙÅvܽ,"î–—_vwßsuõõ ãËd¤§3ÿwhjnæé¿ýG}”ªªª}÷|˜]»v±ù³Ïø¿I“øa×.Ö¬]Ë¡ƒ9{ú4ßïÜÉ{ï½§<À™3gHIIqoT.ö-…ÄãõïðÝýŽû7(U®ö–¿T1µ Z†o¿ù†òòøñ%XL»ïoçmë„X†‚-+è………J„Öþ;y‘ ›»yâ;wR®\9êÕ«GÆ yä‘Gøå—_Xºt)ÕªU»åøÿ‘ï6n܈ ܸqƒ1cÆ”‰ýsßââbš4iÂåË—oy ·1òÇÄFuFeÚòØÔ k֬᭷Þbç®].Ï›7o»víbĈ “ÕjUò*ïfb‹¢HõêÕQ«Õ,Yº”Áƒ!I³fÏÆ? €5jàëëˬٳùõÔ)⸛«l0yùùxxya(,dÊÔ©|ºq#ÉÕª±aÝ:&O™R¢¬zxдI¾üâ 6}ú)«V­ÂT\LåÊ• §G÷î<ÚªÇ#""BI¯+W®Ð±Cz÷éÃ{ï¾Ë°áÃé—•õûæ"/¢wÒç6¸a‚ IDATåÒjµâåメ°C‡ã¡ÓQùb6D›Hã"GW~Z]&Í›ÕjE­R)‹ô™³gÙ°aŸoÞLö †EŠ L&…z=¢S{‘åÊ1}útÎ_¸À•+W¸té’-Él6“——ç²®‹(ŠÔ©]›o·mã«­[9tø0ƒ býúõ%J›NljãÇ™¿`j• o//NŸ9ãðŒ/\à×S§XóÉ' y°ys†^’ÞÔ¬Y“èèhôhµZzè!/óº;vŒœœΜ>Ͱ¡Cñööæ´M¡ ¶è½^Éd"??Ÿ‡Jî¡¡¡<ÿ  òòò”MÊh4R\\LA^*»¾Vž¿Nª$&b0ÈÈÈ@¯×ãëë‹··7111œ¿pÁá“ÉD›Ö­/bHHÅF#?ïÝK`@š4¡Ø`àå—^¢Yóæ%÷`2Ñ£{w% Í‹æç ƒ™K׌ l)Z'/PëB)Òë]æ=Ë÷q§J–Ñd¢SÇŽÌž3‡Í›7âP97$8˜•«VqäèQŒF#ùêõ„ÛG‡¦  €®ÝºQ¤×3lÈ&OžŒ±¨³ÙL»¶mÁö\aaa´iÝÚ¦Z’$Ô*&£‘¡C† PÂ2wèÐ!4j5ö &“‰Ž:àgÉ$''Ó®];ô……T©R6n,eD›ŒFzõê…Ùh¤|d$ˆ¢ÈÞ_~¡Yz:˜ÍfžíÒ…ïwîTæPÛ§žÂT\ì®Óàj­E^7ŽÔÔTZ?þ8*•Šœœ¾ß¹“Ž:ü-8…[¥¸‚À©Ó§ùñÇy¢Müß´ùW¤Ï‚À·ß~ËÊ•+™>}º’²ùWˆ¨5ÖmØÀ[¶ðÅ–-;~œ×§Nå•  ¼3å_Îp¡`:tˆ Btt4õêÕ#%%¥Tª™+33“•+W¢Ñh9r$Ë–-£V­Z|ûí·ãççÇ®]»øè£ÈÏϧnݺôíÛWqýôÓO\½z•‹/’œœL—.]P©TèõzÞ|óMNŸ>MãÆéÕ«¹¹¹¼÷Þ{œ>}š1cÆÐ«W/Y±bß|ó ááádeeMqq1sæÌ! €£GbµZ9þ~~øøù¡R©~ÿßnžªÕj||}ññóSÒ%IRÎ÷õó+ÁÜhµJ[>>>Êù7oÜ`ûöíxyz*X1N§«Óé”}ÒÇÏOOO|md Z­¶tÿO—/_fÉ’%ÌŸ?ÿaïj|lÌ–ÉIIL˜0oooÒjÔ`ð AxzzÞ1-¯s–„ýïÐ¥K‚ƒƒéÙ³'iii¼öÚk8pÀñ±»ÖéMy=º|ù²2–-[Æùóç8wîíÛ·gèСlÚ´‰%K–(Ÿ3†ÚµkÓ­[7>ûì3¾üòKžxâ ŒF#/¼ð~ø!'N$**І ’””DVVñññ̘1ƒ÷ߟaÆÀÈÏÏÇd21qâDŠŠŠxî¹çèÖ­111ôìÙ“§žz £Ñ¨|6zôh>ýôSf̘áŽn¸|åV~rNždÈСl³Yî*TP~äTâââ”ÏÃÃÃùvÛ6Bö¨m ÏÝb6ªV­Êòwß%çäIN?Î{ï¾KbB‚¢ õèуýûöqòøqÖ|ü1:ŽÚµj‘}ð ÙðÔ“OÒ»W/~ص‹Õ«Vñþòå|ûõ×ÊbÀÞŸæÄ±cJš‡Åb!>>ž ë×sòøqeg3î\‡4Qy¸eKegsòøqöüø#=ö…ùù¬^µŠg»vÅd2¡ÑhÈ9q‚ À@bbbØòùçDDD`2™XýÑG´kÛV©#2tÈ.œ?ϧ7¢V«™ùÎ;Œ{ñÅ?ŒÙððôÄÇÛ› ¶´1g)20âç‚SZ’$âããI­VÁC†pøÈn޼ɾýûK€Üwx“‰‹—.ñ@ýúDEEñkNŽÚÕj4XÌf®_¿îr³“óNŸxâ 6mØ@÷nÝ ^¿v   ’“’ðòò⫯¾r0Ì$I"84”ŒŒ ‚Ñhdùû€¿M9¶ï—+W¯Ò¬ys̆Õj¥rB¼9må##  bÏO?¹äz—JOd ¹ví6$<<œíÛ·+× ð÷'77—ââb×ÀHùþd ¢Sÿ”å,p‹…:uêàååŲ¥K),,dèðátïÖ­t$ÓEt+95•cæ-²´OªÅùìÁ*ñdíþ²ŸÄädÅ€²¿?³ÙÌìY³ÿÊ+Ìž9“ëׯsüøqzôìÉÑ£G]F<ŠŠ‹6t(k?ù„ê×ÿ]y·Z¹|ù2)))ÄÅÅQPPÀ¡C‡Œ5«ÅBbÕª¤¥¥ñ /`6›ûüótíÒì06²ò¸}Ç’’“K)ÿy7o"Š"µjÕ"00Ï>ýÔuaØÛ¥¢8¥wÚ;sìÇJ7nÌö;8˜Mnn.K–-ãA[ôÉ­Ü^*W¬H\\+V¬P"·jµÁædHHLäúõë%ÔØßO½úõñ  IÓ¦¼úÚk$$$”Šüø#ãÆÇÇLJæ-Z($ßÿ=ÉÉÉøøøÐºM ¾þþ4nÚ”ÑcÆZ½:/Ï‚… ©‹Íš7çâÅ‹X,Æ¿ò +W­¢rb"Ïõ뇇‡S¦N%4$„ÐÐP&¿þº‚щeð!T¬X‘?þ˜›6±üý÷ï8"r;…]EÖ®]KJJ ©+ð;{cLL ~~~Xm€ñŠ+*!·q;CC´Ã[ÈÆ£ÉdbÒ¤IäææÒ³gO>|8}ô+W®,•ž,Š"â]F64 Û·o'22???Ο?ÏÀwìÙ¤]»vÔ©S‡äädºuë¦V«•–-[–D««T!--œœΞ=ËŽ;˜4i Ìš5‹I¶ÔÊÐÐPˆ‹‹+ÑV¯æÍ7ß$%%…nݺqåÊ%411‘V­Z_BtãåEÅŠ‰ŽŽf÷îÝäççÓ»wo*T¨ÀäÉ“yÿý÷K9>Ür‡sÁÝ÷ÎK$ÿT¨PW¯vé¡  ãÊÕ«TOMåûï¿w¹íØb¤»¤ª³Wøœ1,@.”4çœpW9âròw 2×-å1vqm¹Ò©«ö¯å|œ¼àÚ+zf1ÐhµTŠgïž=¨¸ŠQ«ÕX­VòoÞ${ï^Â##ñòò*UËC®v>{Ö,–,YÂð#(,,$©jUÞï½Ri ’$‘””D¨-­(8(ˆ´´44:3ßy‡±cÇATùò ÍkDD<ò}úö¥þ0ý­·cB”$jÕ¬I@` *•Šôôt¬V+Þ>>Ô¬YAhÑ¢{~ú‰^}úP."B‰ºØ÷™ÙhdÎìÙ¼òÊ+d¶lI|åÊÌ›;Fƒ——ÕRRÐØ6 ƒ^OHp0QQQýP˜ŸÏÆõë÷òË<òØcxyz’™™Yªø¢‡‡ÉIIЧ.:* ??ÂË•cÁüù<Ó¹3±qq¤§§SXXˆÕl摇æçŸ¦UëÖ´o׎aC‡*} Úå¨CLt4F›ç[’$jÕª…§‡IU«R."«(í¶S¥J‚‚‚E‘W¯æ…^`öœ9<Ѧ Ï‹h6“Z­aaa.£4¢(Q¾<|õÙç4ÍHçàäÚ¶ jâø¡Cæç“T½:¢‹9d6›©™–ÆO»w3iòd–,]J`PÛ·'))Éáýòöò"µZ5tZ-^^^4hЀ°°0jÕª…J­fÔ¨QLš4‰O?ÿœˆðpºvé‚§]:@‘^ÏæÏ?gäÈ‘¤gdдqc&MšD±Á@LLŒòœ*•ŠS§NÑÒ‰IËjµ’’’BÏ=x¦Kb¢£8p òž(}cÕÙ/)ÉÉøØ"8>>>$'%!µk×V˜€ªW¯Nhhh k– ÐÐöœÕªUcÜK/1jÔ(,V+Ç¥uëÖHV+õêÕÃßÏÏmpÜBDQd`V/½ü2]:wvx?Ap µA‰èzzyñýÎ?z”uëÖñäSO1}útôz=íÚ¶eë×_ópË–ôËÊâýåË©ÿÀL:•^}ú°aÆ Α#>> Î;@ùòå]·q—ï’Åb¡aÆ,Y²„ààà2õ‰)S¦°cǬ6çˆý±^^^ÊqZ­Q¹zõªCòåË»t¾F¬V+6ç ··7^^^äå則‡G©T8ùZ—/_æðáÃtêÔIÉÞxôÑG1™L+²ÛØp‹KƒC^À ¶4%ÂjUޱˆ"ùyy·­êéÞ&ÿþUXD5jÕâLNÏ+ñ2ÙÎȨ(¢ãâÊL’ 4ˆaÇ+4¢&“©”ñfµZyyÜ8…¾µnݺ4nܘ‚¼<5jDóæÍ‘lÞ$¹ @ÿ~ý4x°BÅjoèÍž5ˆV’$â+WfÎìÙ ´ oLꔟåâ¥KŠ’$ñúäÉ%µ]lŒ"¢M1ÿ?[èY’$üüüèÛ·/åË—/µ)Š¢ÈÔ)S´ÕlVXžd eüË/c4E‘¶O=¥+:v¤k—.Œ,ƒ???Þ™>•ZÅl¦¨¨Hi3..Ž×^}U¹¿ŽíÛƒ (‘®y¶hÛ‹/¾¨PÜÊ×”1cFÆl6c±X¨\©ë×­S(q‹l†ËäI“0›ÍÊ&Tj“5›©]¿>ÇŽá§÷ ³)i¢-m¨zíÚenÜ‚í~+T¨À»Ë–)ÔÁf“©T¡ÌØØX^Ÿ<™ââbD[Ú…$IdddвeK HLH`å(i‰`¶XP«Õ\¿q[½_åz2Õ°ÅbáéNÀæéE‘*Uªðàƒ–ºgQ5r$cÕjeÌ$Ir &¶X,<óôÓŠ"àííÍø—_.IÕ³Z©\¹2ãÆ£¸¸˜… `4)ÈËãÍ©S•þVk4¬]»V)”øØ£òä“O–ÊvÔ·+–/WžÁí‰t-VQ$!!ž=zð\¿~¼2aB™¹ý8'£‘¬¬,$I"11‘ÐPžíÚ³ÑHõêÕ¹pá{÷îåÒÅ‹¬]·ŽU«V!Š"GF²ÑQ÷éݳM,Éä)S¸ví¿ýö…6Rˆ¢¢"Œ&y7oâåí;}ûh™™‰‹…íÚ±oß>ÅpmÓ¦‚3Êêß_iãÏŽ¿ÕjeàÀÌš5‹0[±=???åý¯0¥;I‘ºÝ–&¿‹NãyíÚ5ÅáÌÂ… ÉÍÍ-1Ø0ÊÏ0ÔœIì¿3™L<ÿüóFt:3fÌ`Ó¦MeF'­V+Õ«WÇd2ñóÏ?S»vmæÎKÍš5K@LL +V¬`̘1?~œ7n¸Ü¯ä>—ïµfÍš$$$°`Á‚‚‚DNÝs¯)ncãlÜÒh°yÞ!&Ãí•ûg ÆråËŠ©¸«­ÎÇÇ-+ˆËJ¼Ñ¾Ý"l_‡Àj«m R©°X,e›³oÛyá–=ôö ‚h«Ó!ÏCûÔ6(ÁÇ<Ó¹3ñ•+S¯n]åºÎÇÉý#.AAA4mÒ¤TŸ(s§6\áìû@ŽzÉ›³·Jî_ûvâö÷g²kPúÁÕ5eq½ Çý5Êš‚ ˜”„QN÷’$ÔZ­‚g¹UÎ~>”å tõ¼òoyþ(Ï`׎Z­æô™3dffÒªU+*V¬¨ô³óõäq°ßèëÕ­«\ÛùþíSöÊŠnÊíÉŸÛ÷·(ŠÊÿò½Èûsô6¶=@1Bœ¯'›[)¸µèõzFŽÁ{Ë—óÉš5xï$öû™ÚfTŠ6<—ÉhD°K»óòö&**о}ú(5Y ¤ϲRg±Xxªm[FŽAÍŽÙ±};kÖ­sOÛêt:ŠíèI ƒ#FÇ.5Ç9òügdëÖ­lÙ²…öíÛc6›)(( --ùóçS¿~ýD§·Œ6Ø3VÙa5A 22­]eqµZMFF’$ñÕW_‘™™i¯…ÿ!€¸ÅbA¯×»Ì8(((Àl6£Óé5j<ðñññk€ÙæL’û¡¸¸µZF£aõêÕtïÞ¼¼<âããY»v­â±ß¦M›Æ€¨P¡>>>¼øâ‹”+WŽÂÂB…hJïj×®Mjj*¬ZµŠ±cÇÒ¢E ®_¿NHHYYYôìÙÓ½¦¸Ö#~«b72Wµó9Òí MýT{nqðäÈCWãñ_YläèÄçŸ}†dWÕþnžO^¬Ý °ko°§­ ý¿E, 1ÑÑäœ<‰Õjui¸Þ깤ÿØ;pßo]¶u`ÎìÙ4ðAž¶Ežd…tÿ´xðAÞzûm¼Ê`_rÞ—, uëÔÁ××—í۶Ѻuk®_¿Î‘#G¨ï€Á)**ââÅ‹4nܘÀÀ@fgS`«HìééIM)Ôét4mÚ”‘#GÒ¾];´Z-+?úˆ×^y¥ÔýhµZ6lÜX°֥˟s7kÖL!ýÐëõ¤¤¤°~ýz‡ôÑ¿B§pÖä(»Ý éøÛÅØÊE;iÜýýýiÕªû÷ïw`–Û·ogÏž-5¾®œ ·Û[š5kF³fÍ\~wâÄ åï©S§º<¦U«V´²±[¼øâ‹Êw-[¶¤eË–¥ÎéׯýúõSæWtt´ÂÆh\@@{÷îUþ×étL›6iÓ¦)ŸµoßžöíÛ—:×½ö¹Ti»mtÃ9Íä#öӺȖ6£/,¤ØVá÷~•Zí°y•9Ù5üüýÑétwTÃã~RŠÿˆ‘á–ÿí17;E}Ürÿ̓´5ðóõÅb±P¿^=zõìIDD„R{eÜK/ñæ´i,ÿ}ºvíÊîÝ»¨Q½:ÁÁÁ%Q //êÔ®(I¨$‰Ø˜hþÁм<~<³çÎ%48˜gm 5jÔ Äv~PP , ïsÏELL 6D’$ªV­JíZµèôôÓddd0åõ×9r$ BFÅC=„h±P¯n]|mtÊj•ŠóçÏß3̆N§+¡æ¦W”žžNxxx™Œt÷Bdå>ûÐ!ÂÃÂGEöíÛG•*U–»Mµ’ïW§Ó1bÄzôèÁºuëhcðñÅtíÚÕu î<µûV}âíü3çßm»®¾++B}·÷å·±ñ··ó9{.îÄëä<ѯ]½ÊÅóç‘\EKîC)ÈÏ'$, ÿ[­|èõzrss©–šê^0Üâ·Ü×¢V«™5s&ÅÅÅJÊÑ¢… Róêׯφõ땨g—Î)ÈËcÆ;ï(iŽQåËóî²e%V+]ºtJÒ=£££ùðƒ@¥vA^3mçË)p-zˆÇ[µrÀ¨É)RÏËKãÆa5›Ñëõ<õä“tìØ±Ä`6™”ÈÜ+V( 0 +ëža6ì÷x6nÜè ¸ÿ•a~~>ï̘ÁS¦pèða6lÜÈ cÇÞ95¾Sê“}„£AƒÌž=›M›6Q\\ŒŸŸDDD¸nãÔÙpË[ç½Óùï66îa§K·Étf‘¸£ÅÂ)Œj6™¸tᕪT!¢\¹{âµù_A8rèþþDÅÄÜòX«ÕÊÉcÇ8÷ÛoncÃ-nqË}¿g9c¼œñIÎØ1“É„J¥r8O’$ô6@·|Œü(Š¥Út>Jãnì¿+..;\3–«,ŒÎݤÞÍ~s«ÿïõÞ&Š"M7&((ˆfÍ›S-%…™3gPRÓË©¨iYzGYU´U*™™™4jÔHaYòôôThí $þQãÆ-ÿmýËö‡ÛØø¯‰Åb¡° €Ððp7+‚MÔ6£=HÙ™S\þ;"2’ìýûñ·1‰¸Å-nq‹[Üòo•Z ‚€(IT«VO>þ…ZÀVÜôr:›+#Á^oðööVŠí¹:F6jngÜxzy!^¿ŽÕjuYÈ-ÿ=)ÈË#84ôöiìwÞíréRow¸®”ìŠõç~ÉL§ÖhøüóÏ9wî}z÷Æb£v® ê·¸Å-nq‹‹ ­NçPïêïÜk%ÙØ°“¤¤$¨-g4¨T*T·Ò#A¥RŒÑj½{êZY‘$År¥§XÌfƒƒ¹|éG$,"­ŸüÇÅl6sòèQªV«†$ЍÔê2ÇÜmlÜ+cC¥*µ8”2,$‰¼¼¼k°°ð¶çÈíÞ®B¨+:ÑûÑ‘• ðÝwß±qÓ&A`Êo0vìXÚF·¸Å-nq‹[Ê«(_µ*'&"<üoßKÀÃÓó–l•¢(’ûÛo¥YíD¥V£²µSì‚ÎüŽîÇfиŠlH’D`p0§Nž$2:š¤jÕ¸tá¹gθ{ÿqQk4$$%áëç‡ÕlÆ? À~Úmlü¢²½ˆ·z¹´ ?ïÙƒÅbÁËË ooïÛ.bªÛ€ÀAàøñãôïߟӧO“••ň#î»þ—#¹.°xÉƽô‘‘‘Ìš=›3f0pÀÌfó-~ò1jµZ±Ô%IB´«Ž~/6I’P«ÕxùøØï þí››$Iøúù)5!þìõ%IÂ×ߟbƒá¶EÕt:Z;®|‹­0Û_Õ’$áããƒÙlv |ü+®#§1¨lžEI±Z­ÿº`•J…§§§R´ñßæ ðñõ¥È`¸§5Üâ–Û¾»¢HL… œÉÉaãêÕ¥ð$µ¡¡/*býêÕ·t4ªT*üüý©X©’RÙÝ•2h6›•Tª?û‰¢ˆZ¥Bc§PŠ¢HTL §NžäÄÑ£X-–’hÈdn¸åÜ(·Z¹pî:Ÿ€ƒƒËLŸs÷du(‰BÜîÕJ¬Råî=Û¢R–äåå1hÐ ž{î9Z·nMFFþþþôéÓç¾46BCCykÚ4¼½½‘$‰P\\¬T^¾cC°åÉž8z”£ÙÙäçåáëëKbr2 ÉÉ% eG•ä*Îr[*•Ê¥GHöîÝKûŽ),,Äb6S·^=¶mÛ†ÞÆ3ïê9­V+ê2•f³‘dµZK*Wk4e.þ¾þþÔ®U‹—_~™G~øŽ6W{|Œs»¾þþÄÇÇ3oî\š6iRf{’$1oþ|&¼ò ‹³ÉÄØ±cy~ìØ2¹ñeƒï¶àÈ2Ä××—:Ð"3“îݺÝsE¾?ôz=‡öíãì©SX­V""#I­Y“àÐÐÎü2æœviµ¥ÊÏëjÜåÊáFY+$IÂl6£R©n™;Í”©SygútïêÙþŽwº~ýúÌŸ7ÄÄD·—Ô-¯!.TŒ§RB¿wß+yQ\¾jµšÀà`îßOJjê-£wªX?v ÿÀ@rÏœq0|*&$PXP€ÑhDtOŸûIùB£Õâãå¥Ð1»¿H|||¸|é‘QQxyyÝ2ÿNÄl2q>7—а°27ø+W®ŸŸÏÃ?Œ§§'¯¾ú*Ó¦M»ÿŒ ›7J%xyyýî9‡ÿïDa)..æ‡;T*ê§§Îõ«A"™ IDATWÉÞ¿Ÿ³Ÿ}FãfÍðòõuqÊÍÍå†  Àßÿ€j¦¥1 +‹¨¨(‡¢žžž,Z²„É“&Ñ­{w¶~õ/ØŠÙ+‰²â(IgÏžeð!,ï=‚ƒƒ¢†Jññ„…†²aýz"""ÐëõtîÚ•;vpñüyt:ƒRj±X°Z­ Ìxç*T¨ ä)k4šð½%‚Â-¯R©0›ÍJZgϸF­F­V£Óé”JÝöÇH’Ä7غu+{vï¦RåÊÌž5‹ßÎS¢>rHÖ^¡ž·`rsù¿ÿû?Ÿ³Ç0Ùߟ¬°kl†–Åb¡¨¨ˆ±cÇ„ÅbQxùÇj‹`ÉmÈ›´(ŠŠa¢Õj®á½Q©Tœ?wŽÝ»vQ!>žÇ;vD£Õr:'‡vî$±JªVuY´Sî« ²qÓ&nܸN§£r¥J 4ˆúõê9ŒÑ’eËÈÊÊbÒĉŒ=QÙ¼y3­Ÿx‚§ž|’O>ù„"ƒ¡Ô|ˆ‹‹ã…çŸWê”õ¼:NÉ—‰ÔjµCdH¾wû¹kß—öÇÉíÉã+F²V¾îô·Þ"::Z9Çjµ*F¦ý|r5§A@§Õ–ÔP©0nO«[îÈÈõ(£xá¿ý¾ëL$$$pòØ1¾ùòKV±?"j•Šðrå¨P¹2ÞNEJ%IB%¸'Ð}üÞˆ·Hûs÷@Bøzå ûùFý𿠂€U±˜ÍTIJ*3ºqîÜ9|}}ñõõ >>žëׯSPP€ßýĸdïݱSà$çÿoclˆ¢È‰£G ¥~£FŠ2äKLl,G²³9qì)5j”™›X»vm-X@Ll,ç~ûI“'óÒ¸q,Z¸PQl=<úˆû÷£óô¤S‡Ô¯_€={öàë积Zºl{~ú‰˜èhúôéC`@W®^eÓ¦MX­VNŸ>ͳ]»²mûvÊÌ$66Öy“““ÃÆQ©T <˜ÐEAT©T,^²„C‡3aºtîŒÉlF°)ó›·láóÏ>£¨¸˜Fñt§Nܸqƒø3gÎ0fìX5lÈO<¡DA._¾Ì_~‰ÑhäÀ4nÔˆfÍš±pÑ"®]¿NŸÞ½©™–Fvv6•ã㉊ŠbûŽܸqƒœœnܸAýúõÉÌÌD%\¾r…ùóçsåÊÒÓÓyæé§E‘%K—Å÷»vQ¯n]nÙÒ!Å®È``÷®]4ÎÈ &.Né’êiiT¨X‘Ý;vA@pp)ƒÃÛÛ›—'L`óæÍ,]¼˜ªU«b2›K*ý¥æ°Jx¼U+æÌ›Ç¨Q£Ðh4Ì7öíÛ£öíÛÇš5k¸yó&IÉÉtïÖ ôz=³³‰E£ÑpéÒ%æ/XÀÕk×ÈHO§S§Nˆ¢È¢Å‹‰‰aç®]TIL¤\¹rüðã¼øÂ %Ô¤vFÖÑ£GYñÁðPf&·j…ÙNÑñôôdÁÂ…TILä‹/¾Àh21bøp8Àº HMI¡K—.èt:öüü3壣 bÒäɤ¦¦òÓO?a6›KåÊ•±Z­¼ùÖ[”+W޽{÷òúäÉîÍÊ-w´÷þî[’$´Z-IÕª‘Pµê-Á»¹†F£)åPµw$¸Åý»{þ¼5§R©¨’”Dl\~øúùýé__BBCILJº%¶C«Õ*žFÙ«'§íÜoãp§?·cq1ׯ]#95Õ2PþXµ*ZŽ|п,ƒE¯×S\TDxx8 `ç®]ÛyV- éM›R¹R%222hذ¡Ã˜åææ’žžN¯ž=9rä³fÏÆb±Ð Aâ*T c‡<ؼy)o•N§£Aƒlß±I’ؼe Ô¯_bŒJ&“ oozöìI“Fx®Nœ8F§ãÝ÷ÞãÔ©SxÚ”ÝM›6ñ\ß¾˜L&FމÕj%//qãÇãïçGçÎ äÚõëʤ½âùþûïóÌÓOHë6mw¹O›¥§S±bEÚ¶mKrr2¢¬°«Tœ;wŽ6mÚеkWfÍžÍú  $99™5jÐ¥sgêÔ©ãuóæMžáÔj5ÏvíÊÌY³1r$Mš4¡fôèÑAذq#D«Õ’͘1cHoÚ”–-[²déRN?^ÒF·nøúúÒ»wofÌœÉì9sÐzxðùæÍ¼8níÛ¶¥fZšÃF®Öh8tౕ++††ý¼ó F:ÎÎ.e° ‚ÀÍ›7Y¾|9oNJbb"f³o4lHzzz©1E‘ +R»vmÖ¬YÃÁìl|}}©Q½:[žËÍ¥yóæôìÙ“={ö°`áB$IâêÕ«¬_¿žb£•JE·= ¤wÏž¼ýÎ;Ì›7­‡Ÿ~ú)ãÆ§}»v4MOÇd6síÚµRžÔ3gÎ0lÄj¦¥ÑµK–¾û.ë7ntxNNǦO?eäèÑ<Þº5tèØ‘o·m£g÷îlúôS¶oßÀòå˹~ý:j­–%K—²òÃéÞ­^^^deeáíëˇ+W2þ|ºvîLbBÃGŽäâÅ‹H’ÄÓ¦qêÔ)ºÛ*W»Å-÷“â'¯;N÷§´v±ÿU=ÁËÓS)à–¿OÜ‘{dÉ©T*BBB¯ð½~AÊ’¸¸8ŠŠŠ¸zõ*ìÙ³‡˜˜|ìAÇ÷™±ñGûPR3|l‘"gŠaµFƒ‡‡F;oî­DEP©TäååágKWE‘¨¨(üýý‰ŽŽ&22Òἇ23•Ôœ§Ÿ~šyóæaµZ‰,W?? )õ<¢(’‘‘ÁÛo¿ÙlfÕGñúäɼöÚkжm[¬V+ÉÉÉlùâ výðI)) 9ïÆ V¯^Í·_Mxx8ÑQQ4hÔˆÂÂB$jÕ¬I³Œ ÂBC;z´Ò÷ö‘(ŠôêÕ‹´´4êԫǬ9søæÛoiÒ¸±b DEEàïO|åÊ#ÚžÇl2ñt§NX­V<<<èÚ¥ k×®¥CÇŽc2©R¥J)RQ’¨]»6­{ŒÐÐP{ì1ôz=Í32°Z­Ì™7“'O¢ÕjKŒ;[ÖSmÛ’ššŠÕj%Àߟk×®±ÿ~NŸ>͘ѣ±Z­¼1e =zõbð!X,zöèAµjÕ0:ET‚ÀÅÜ\4o^¦Ç'¬\9®^¼ˆJ°:­'yyyèõzâããE‘ììlz÷éÃù ÈlÑ‚>ø}a¡C{ÅEEŒ=š±cÇòÄOðè£rþüyyÒóè#(Žˆgžy†¥K—€%sZ­F£V³oß>Î;ÇÈ#°Z­L™<™þYY 4‹ÕJ¯=HIIÁh4’ѬÍ320 Æã¶íÛ©T±"?þ8¢(Ò»W/Ö­[Ç£2’6mÚœ”tO<»nqËÅÓüoس…[àÿ ñòòbÀ ATMJâ¹>}”hôÝÞóýêÔuÿñ—úVmS£F æÍ›Gݺu™;w.ãÇÿ[_àÉÊ¥ÐÚ/`r޹|KL|nYЉ+¥úV¢V«¹qã†btÜ©7eùòå¬ß°CQ… Ûˆts"<,Œ† òl·nTOM¥B\œ’ºtþüy^?žó. U«9óÛo4hÐà÷ç¥p@@¢(àïV£!??oootv`CFãŠw¾¹/ÃÃÂJyÃ˵ZÍĉÙóÓO%,cçÏ“`Ô,« IÂÇÛ»w Ixy{—àyl㦳áKœÇT6Îe¼(Š\½z???4:f½ž¨¨(ŠlÔ‘’$Væ\ÐØX`ÊzEQDí¸-IAAAøúúrôèQš6mJRr2»ü‘E‹óñÇ»|v‹ÕJÍ´4Lf3ò K-â“5kJ+E‹óÙgŸa4ÉËËÃË©€—J¥âŠ‹ç5Ø=o¨íyåãĕ½Ü¸y“/¾ü’§;wV°<ü°‚·±7 åâd*•Šàà`eŒ´ÒÏÎâããƒ(Šxxx Šb ùƒÙL -W\ç៯¯yÔjµøØÈ"Üâ·ü}†„=þK&51Ê: ;Š,‹ƒóÇl‡ÿÓjµ ^QecÁ2™Í2«Å‚Õ›ž=–ˇ§¶Ý›Z­Vpeöë?€hµ*{ûëé<=IKKã…1cèЩ½^¹_I’žÏèê~,Ní»Â°É˜@yo”ñ‡òçÿ+zžÛØøooo&NœÈÊ•+Ù³g'N$==ýþ24l/¹ 8ÞòÅtlß­NÇÁƒ9uú4­¼L…Ø^t:­–¼¼<ÂÃÃKy_¬V+ƒðråÊ60T*|}}ñööæ×_åiÓHOOÇÃÃã¶ã"V³™W'NdÛ7ßP¥ Ÿ¬^Í[Ó§+ß›-<<<ðññqI“[TTÄs}ûòâK/1jÔ( õzå»wïF¯×³mÛ66h€Õΰ’€ˆˆBCCY¹r%ý²²øö›oÐhµ„……qîܹÃÎv¼Á``ÕGÑâÁ‰‰‰)õ,kÖ®¥å#pòøqŽŸ8A=;psY¢R©¸vý:SÞxSQZOO†ʉœÅ€Óëõø`5›)**rèÙ¸R@~WýïtŒÅj¥zõê\¹r…C’’šÊü… I«QC9¾,ƒÔ*ŠTˆçøáÃT¬XѱKþ}úäIb*T(Õ†$IøùùѧwoÂ{ï½GÍ´´’hÉ… e2t ”¤æ 2„£G¥<«©¸˜ñ&ppÿ~bââXþî»,\¼¸ÔóÖHMåò¥K9tˆ¤”,Zäòyµ ?ýü3ßnÛÆ˜Ñ£1ÚÕ°©–œLÍ´4>\±߀ÌF#W¯^UõΗýsÛß­”ûñòôö&.6–uë×Ó°Ar~ý•S§O;ÌE·™á–{¥<«oQ´ìŸ{ƺ²XíÔjõ1eÞÍõn×Wr„vÆÌ™òäOðÕÖ­Lš<™O>þFÃþýûñññ¡G÷î¬Y»–ß}GhH=ºwW;sçÎ¥Gxyyq2'‡ï¿ûŽþðÖ´i$ÄÇóó/¿`*.¦[·nÄÄÄ8(ý«V­bç®]¨T*Z=ö¶j¥KLzýurÏ£cÇŽÔ­SAøõÔ)–-[FAA™™™<Ѧ ’$1cæLª$&²ë‡Jö§k×X±r%Ù‡Ó¡C*V¨ 87ÖoØ€—— ??Ÿ–-[R¯n]¬V++W­â§={Pk4<õ䓊®öΌԨ^Í[¶ R©=jÛwìàóÏ?çúõKðwj5.\`é²e\¾|™† ðÌ3Ïü­´Ìncã>_CBB`K‰pÞ¸ï7ñññáìo¿±aÓ&j×®Í ãÆ±`î\eA¾]ÏxxzÉÏ»v‘Ѳ%žv¬$‚ pôÀT‚€Ÿ¿™mìÞ³‡´Zµðóó#<,Œ|çž{ÎåFe0F)‹ÅBAAj­–ýûóô3χÊÎ+BXX5kÕ¢Ef&K/þÝ ,`4™ˆ‰‰aÎìÙx{{³wï^ ‘$‰Úµj±páBÊÌ$,, /oo‡‚‡òF±`þ|†Ê”7ÞÀÏÏI'âááÕ†G‘çX~~>Ÿ~ú)Ø@æö’ŸŸdK»º™—ÇÌ™3‰ŒŒÄb·8J’„Þæ0è ÂBCy¶kW6nL¥J•0 è š4iŠ+¨\¹2Ï>û,ã^|Qé‡ûŠF‡šˆ¢ˆA¯/QÜ£­®‡|?ƒ³ÉDHH¯OžLÛöí1T­R…ysçP¨×—¹È‹V+‰IIä?Î/?ýDMÛF&Ï¡Âü|Ž>LýÆ]nÜEEE 0€à  ² 77ooo’“’xíÕW1:yýF#[ß<úÈ#´|è!¼¼¼JúR¯GçéÉ yò©§ˆ«PI7ZdCZ ãÕW_åɧžÂh2‘””ÄÜÙ³K=¯V«eë×_³oß>4bl‚@£F8zì ›4Á ×ÎØ±cy(3ó÷gô……J{¢(R`£z£mÌ O~~¾Â2eÿ9’1cÇR91޾}úPÅF1.·[ÜògöXµZ͕˗9tðà.ŒwÏ}l*áááTINvاWV+GæÜo¿)ïÑŸ½^Õ”¼"£®öáÇÛ´ázõèѽ;/ÏÎ;™4y2»víbý† ¼ÿÞ{„„†²déR¶|ñ^~™wïfÄȑ̟7€å+VðÌ3Ï(ûú'kÖÐÀVü1K/fß¾}t|úi~صË!òºwï^.ZÄ›o¼ñûšbcœ7>ï¼ý61ÑÑŒ?žï¿——ÏõëÇ3:Q­Z5†A‘Á@—gŸeÕG¡Õj™=s&^^^lúôSÒ›6å¡ÌL"ÂÃ")ßÿ=[·neù{ïqæìY¦NÊ¢… ñööFEºvíÊåË—éÛ¯«?úˆšµj±ê£ødͦ½ù&|ðO>õééétíÚ•áÇ“””D•ªUé—•Åc>Êã­Z1yÊòòó•õ—Ö¥ºgó5´çTÉ`–˜ÛµmjdzeãFš<ø ’$Q>:úžÑ¸þ¥¬Z¥\¿z•¿üƒ=†§]!´ûYŽdg£Q«‰,_^ù¬Ë³Ï²sçN²tH£(,,䨑#øûãDTùòœ?wÿÀ@‡tÏÎÜÌË£Q³f‘——Ǿ={D‘š6uPÌKE6ìÀ°Îàt¼m“12C“LïY `—&&g_ìLnO& °÷¤Û§“9ç™J’„·¯/µkÕâÕW_%³E %Œ«4´SØìéOOž<ɢŋ™òúë.7hÙ#ˆÁäÜgöíÉÇÊ!kç>ŸW¾7QKQî–Õž<6rÛòsÙצp>_ö ÊßÛÓ¾Ú›+Ïž±¸˜­›7W©©ii¨5Ξ>Íáýû©Q»6!aaÊx–å´¯%b}çTA¹/œ=±²ÂQÖ|:|ø0o¼ù&Óß~ÿRÏ+öÏëëçGff& ,P¢ö÷,ß÷­î¹¬yo??íÓ %IB£Vcu×dßOösÂy,ïGQ«ÕÜ»—ÈHÊGFrêäI¢bcÿpšûMd҆ݻvñ@£F„—+÷¯è7«ÕÊ‘ìln\¿Nš5KÕÓ‘$‰ÇSd0V§N -ÿŸ¼ÞჹyãµêÔaßž=TªZUI¶/†{êÔ)êÔ¯¡°³ÉÄÖ­[y¦sg®ß¸ÁÁƒ âù1c0 ´yâ Þ|ã ªU«†Á` u›6Ì™=›ÈÈHkÕŠM7Ä×ß|Ã;3f°eËêׯOïž=éÑ£ŽÔjÕ˜8q¢R#Jö8@¯^½øèÉ‹+) ëåÅaà eì˜1èõzZµnͲ%KÈùõW&NœÈ7_(Š|öÙg¼3s&Û¶m£nݺdõïO×.]Ðèt4nܘ!ƒ90!B ÓÞ Áƒ‰‹cØ! mÕŠeK–­¬M >œJ•*1jôhêԩày¶kWöìÙÃc?Îå‹E‘!C‡R%1‘ä”ÆÇ—[¶`EΞ=K¯>}øfëÖCE´:ëV®¤åã³þç“ô_þ-ÞZÁÙpËdCP©lJŠJ¥bþ¼y˜L&üýýrá6€.Y)ižÎùß~ãàÏ?£ÏÏÇËLJØJ•ˆ«Xñ¶y’e…™]õs®$m.«ûïœÙ€œÛs…Aq^˜, ßmßÎå+WHJJRÚ.k³¿F•*U˜9cƒÁ¡OìïÅþ9\õ™}{öÅ]õ«çq…‡pÕžýw®Žqu¾«ñtÕÏÎßË\ý´iÉ#Gøvóf¬¢HHx8 š6ÅÇÏOÁÝj®¸ç1wEŒ`ÿ¹«¾”Ó¾úê+‚CBðöñqù¼Î÷!…|ùå—¹ÊöÇÞjÜn7ïí>çëZ]ŒKYýäê¾Ýâ–?j¬íß»—†M›ñ§ëU¸|Ÿï ê^ê< 95•ÝßÏ›7Âû}èêåË4iÞ­V{×`hW÷™’šÊ;wróæMG´$I\8wŽׯã¡Óqêܹ•í]ˆppJ„ÚÈMŒF#«U)(êíå…··7yyy%¤)N×°ÿ;((Hù,00«W¯:8—j¤¦2vôhú€ÉdâÙ®]8x0’(ªà+46Ôµk×ð@§ÓQTTDù¨(…ˆC²Ã˜Ýj/“•‰`Ôj5j›#%//±Ï?Ï™3gÐh4œ>sF©‡&g¨ÈX>ùolôÅ«•Ë—/s0;›Ž¶Ô)Ax°ysÎüú+E¶Èö?%¢-šƒ®ŒcÜÆÆÿ R­ÖhEå~öØ9{Ç•ˆ‚$¨xuåÏe<Ä­*©ÊŠ™Ùd"¢|y"££WÜ슜ý—úÜb±ðãîݼ3}:1ÑÑwUüLE%…Ç=KÏ#A¨ššJrõê¿+â¢ø;Åï?Ôg_P@QQCÆÃV0ïNîG°¥A¹ÇÜ-÷Ë»lÐë uH½Wm_»rÿ€€R‘‰Û‰D >P‚R©•öë³§‡ÇH­³]‘NWJ´‘,..V0 *•Š ¹¹ôzª¦¦âííMåªUÉ/(`ß/¿V³&«V­Bcñ—Yˆ*_ž?ù„_z‰ƒû÷síúuÊ—/¯D/ ‰ŒŠâóÏ?WˆI´Z-|ø!í:tà·³g9˜Mƒ ”ñQ©T\¹r…'Ú´¡[|²z5:wfààÁ%Ïâ„S´Š"ÕSSy-'‡³gÏDze˨n[·FCAa!Zè-”eÙîçСC8x}ûöÐ,=ÝÁt‰a³¢¢(R£zuªT©Â¢ (W¾ÁAAôêÝ›žÝ»ß1ÿ_%*•ŠˆÈHrrrÊÄ2ºÿ1Q©T$T­Ê‰#Gøpñb·’¨4TÍ-7ÁꮚœŒŸ¿?W.^tO&J§ ¹×ûgÜeÚI÷¸»åßâøøWÏC;zõ{öÚ~þhÛÒ¤ËmËxª²dÿþý¤§§—òÐ ö†V×­V¼}})²ÕݱX,´jÕŠ6mÚ Ó騴i›·lPxyω‰Žæ£U«Råë4ˆ!r4Ân~X-233ygútL&“Â’e¿Ÿ5nÔˆŸöìq0¨ óó™5sf‰e± V«ÙùÝwJT¡ßsϑտ¿r=ùœ}{÷"Š¢b¤È m¹]9 ´¨¨ˆ96R ¹ývíRÚß´q£ãØ…ùùìÿå%K %9™_OžT2Þš6My¦:ЩS'‡6î&á/}wÕj¬¶:e÷ÔØp§ïüsƆZ­&µfMjÔ®{îœÚR’¤’ôAp¸Å-n¹ïž"´¬\•EäðwÀùùù\¼x‘Ê•+ßµ§ßžžö^ã* $/]ºE?ªTª»Ž K¶vEþEó0,ÊmK® \cÓœ¿“Ïï[¢V«ùjëV ¾>>üßäÉ 6 ³]Tg£Æ9Zâêsùo“M©µZ­.qY·Âr•…ã³7JÊjǹh­óq·k¿, Þ`Øn‡Oû§W·ÍŸiü“O>QÂ@ÿ51™LtîÜN÷¯òü¸Jºßån^5µZ­TÊv‹[Üâ–ûUDQäõ©S9{ö,j•а°0ÒÓÓiR%óß!çÎcã¦M 8ð¶ôª®t’3gΰwï^}ôÑ;Þ»™ûnÑa¥êñH€§—K/æÄ‰¼òÊ+J4áN¯ýÏÐ n{ž|ß.Ž$‰í IDAT .°lÙ2öîÝK¥J•¨\¹2)))¥ä”èÆm2äãÃÂÂØ¸q#’$1jäHÚ´n]f »‹ÉÄ€¬,Ý´ÖÿCzØŸJ£Z¹reIUáÿ äççÓ®]»•±áŽ$Ý;£Í-nq‹[î÷upíÚµôîÕ‹”jÕ8•“Ä xøá‡2x°â˜ñ”•~[ Qñó÷Çj± Öh”‘&¸ØÃÃmß´ØÕ°ñõ÷Çj6£¶á ……xyz"h4ˆ ƒääd’““•{ôñóC²XlàiCaa u¨N‡Vv¼ÙÒO$IâÚõë|µu+mÛ¶E§Óa0ðôô,ó~D‹•FC±-ýGå9\õ—óÞ¡ÑhØóã,_¾œí;vðªÍظã=ƉÀC§SªhÛ‹§—WéwipŸõÈ‘#ôíÛ—† R½zuâââxõÕW>|8<ð@©û¼ÝõŠ‹ŠJHlÔjR’“©žšª\Óh4þ!ƒÊYŠ º<ó VQÄ|Œ·ü‰5&Q®r~ õO¥Q­^½ÚÝÛÿâ䎼5nq‹[Üâ–ûR<==INJ¢~ݺԭ]›êÕ«Ó½gOÚ>õ±±±ü¸{7YYYüzê™-Z°tÉBl† ðõ7ßpáÂ^ýuÚ<þ8‹…Y³g3õ76t(#†ÇËÇ‡Š•*Ñ¡m[–¾û.~¾¾|ºi“_|@Ïž=yçí·ùá‡X´x1oM›†N§£~J µëÔaïÞ½¬ùøcâããY´x1'NäÊ•+4hЀ%‹Àø øî»ïؼy3­Zµbîœ9¼ñ曼9m‚ 0|Ø0† Zr?+Òê±Çذi_y__ òóyæé§19\(UoH õzfΚÅÈ#ØaËýw>îV¢r28A`ÆìÙd¤§“ \§¸¸˜ƒ3{æLåòw·Ràåv)ª%IÂl63yòdNŸ>Í|Àûï¿ÏèÑ£ùòË/)_¾¼ƒ±¡´¡RÝözÆ¢"Ž8À¥ Ü‘‡ÿ²ü?{çEõõñÏÌîf7½’FB @z•Þ{Q¤ƒ»Â¢`EŠÒÁF• Ò{ ’ÐBK%ÉfëÌûGv×M£(ðZöû<ûËÎ;÷ž9÷ô#¨œ¨KHXØ}ì¿Fõ¤4'È˾ùSGؼq §/cV¨‰¬R‹Öm[R9º"e<\›o÷‹‚€ÙòçŸCQ*• ”–ì-ùO_?+ ¢hsJvI|u ¬KјiÃ=J>ÎçU©TÅ’ìþê³)•JDQÄd2=ô¸²,ãää„Ébáû'Òœ½±h rIqËÿ?çÅÍñþªaâqÄÌ«T*ŒF£Ãhò„„««+iiiøøø?t(_/ZD£Æ™2e ÏÇÇóãO?áääÄÉ“'9pà'Ž£[÷îtïÚ•íÛ·óóÏ?“pö,NNNtèÔ‰ Œdß½ËíÛ·ÿî»4hÔˆ5«W³hÁ‚BCúüó(•ÊB½Ò32èо=‹/fÖŒŒ}õUÖ­_OtTçΞÅÅÍWÇŽeÚgŸññ‡òÞ¤I,úúkæÌž““?üø#7n$1!Q騹3¡¡¡ô0 @R*¹œ’’Ä´éÓIOOGT( „Š:% S›7o&,,Œ¨¨¨B}$þÄËc+-[96–ÁC†ðå_P«fM®§¦Ò¯ºvéRPíé!C×åRøRFFË–-£Aƒ¸¸¸`6›ÉÏÏG­V]ò÷y6£ÁÀù3g '®n]Ç;û/‡Á` áäIT*þ– b\Ùx’‡õõsÛyù…1ü–"Ñ¢M ª?£ÑÈË£G# Úüüû†Q ‚ÀíÛ·Yûý÷Ìž5Ë–Ì®vvF§Õ>0¯“eÉò±zZ´hÁ´O?åÅÑ£6t(›7o¦wïÞ 6Œ¼¼¼â‰Õ÷»‡Å"1§¥¥Ùø”$I8;;3gÎ.]ºDÛ¶m‹ålØ>÷¸WVf&NÎ΄GDüe~âÀ?Ä@È«Vôþ¸où{?†@Næ1ZÖì@vXWvîÞÆ×_ÌbÜ;ï0å“YlÞŸÀ¤g*°wýRžmVyï”ÚQ÷ßtP)•JŽ:Ćï¿/öÙøý÷ü°ægÞž¿W§?WáÂz褥§3wî\[7ˇ…BY¿aÓ¦M{$£B¡`ݺuLŸ>ý± V+ôÉ#Gسs'&I" 4Yùí×_9°w/¢(–ØyÚ^øÛ´i±±±$^¸Pb³&µZÍ’¥KÙ·o/ N­Zµ˜÷ÕW(ï! )•JzõêÅ¥K—ŠUjqsu%~èP5jDjj*¢("Š"ß­YC•Ê•9{îÜ=•ð‡Ýß{YñT*›6mbÕªU <˜ˆˆˆ‡~ÿ¬õÆÿ©ÆA0›Llß´‰óçÏãîãƒoٲܼu‹­›6‘•‘Qêú¹¸¸0åƒˆŠŒ$44”¸¸8FŽEFFª"%ž•J%ë7l &&†;v R© ºÓ¦¤P¹reÆßDÛ‡5Ü ·nÝâ§Ÿ~$‰ €£´÷„B¡ ;;›ì»wñõóC­ÑàïO¯ž=éÒ¥ =ºwgúu¶Ð{(Š¢ÍCª·«8¤Óéþh¢*Mè,!9öt)Bég•€/ H={õ"°lYz÷îMãF ñC{>§²xæíçcŸ‡©°ãÍf³Ó½èÍ.‘[©P°~ýzÖ¬YCÇNhÖ¼9’$Ñ¥sgRRRlålï÷‘í“·-Ÿ¼¼<ê׫ÇÜÙ³yë­·¨S»6ýûö-P4ŠŒ{ßqû±í”)SƶoV/{\\]»veÇŽ…Ï Ë<ïw?³Åm]c‡àß ëþ–ÖTò‘(O‚ˆ&7l€²Yo–,|Øð@œLÝË/×¾ø®A Ë½Á u£Ù•õGèÂ3ßå¹Á/sôö¿,ôGÈÎÌ$®n]žjذЧZƒ†’ª 1f⪺‡5Å2c¶‹ÿ´þŸ}99« Ü£GêÔ©S(&Õ>Ô:†m\ë‚@ff&7nÞ,4nѹØìYûòvÖï3JÏþ¾öÊf±ù<R’’¸~ý:í»v¥~ãÆÄÄÆR·aC:÷èÁÝ»wI8}ºÔšå‚  T(˜¿`J¥’9sæ )¡‚˜(Š?~œÚµkS-.Ž˜èèB º¤ç¸pñ"ùùùžG¡ )9™´;wظi“Íó5÷‹/ÈÓjm5»KZƒÁ@ïÞ½©U«–mýŠ®§½`j½·ÕÃSt]EQäô™3ÄÅÅQ¥J|||ŠÑ˜uûý²¿ŸN§côèÑDV¬h›«í;Ú+zmÑ2ƒö÷xr¯gglû/¿àãïO‡®]‰«^JUªÐ²];ªÔ¨ÁÁ}ûJ E‘KIItéÒ…¤‹ùùÇñòô$2*Ф”[H£õ^˜%‰?ùµFƒZ­fÁÂ…H’Ä•+W-]K¢©€€úöík£Ñ¢¿+ißí÷£Äg·Ü¯$ú-:žýþ”4¿Q£FáççWŒOØïiiôZ”Î(F“‰|Žƒò||< 4 ((ˆÚµjáæîÎálj‰ÁÏÏKII`éZ]ÒÞ7jÔˆ_~ù…¤¤$nܸÁò+hܸ±Mð•ÿ‚ ![ξ|­–ËW®ÐªU+¢£¢HLL$×ÒÑ^­Ñp7'ÇæõnÔ¸17n$99™ÔÔTV­^MÆ ‹ÍA¥R±~ÃV®ZUjQÉŽž Ï<ó —ΟgÍêÕ,œ?Q™óùç;ÓJûØWy²}g?*2’Ä„†VÀçJºþ>gšl7o{ž!Ë2^^^tëÖëׯt·ð¢ýû÷+üc;çÔcS‚âçÀ¿³¿ë0ªÜ£ùôœ‹–Ï'PUòƒºøøÐwÊëü8ø “gêâÚùÅ8Ý™Í3¯MÅd~X1óß§UJaaa…¾Û{!‡·òíJI~ A8{ö,“ß{+W® ˆ" `h|iiidffòù¬YÔ¨^­Û¶1nÜ8òu:ÜÜܘöé§DV¬È·ß~˹„6 7"OÕ¨ÁS§L`` ­[µ"åòe>ýøãBUn'DQ$ùÂ¥’FM›òv‚@låÊf3ˆ­RåžJ°Bñ÷÷çƒ>âÖíÛ¼öúëlX¿ž<‹p`4騡k×®%ñüyüüüØ·o}ž{ŽS'O‚ ðÝš5,X°€ììlÜÜÝùôã©^½:§ÏœaÒäÉÌŸ7¾Y²„y_~‰$Ë„3göl*DFòôÓOBfV ê×ÇÃÝEß|ñcÇÈËÉùƒþE‘ëׯ3êŹ””„ŸŸô±116aÇÕÝÆÍ¥¤$’’’xû­·¸pá¿lÙ‚³Fà(_¾<õê×gÉ’%Ô¬U :wêDFFçxçí·y®wï‚ëßyÇæEìÓ»7C‡E¡PP!2’Ö­[sñâEvlÛæ°´áUeüüxñÅQ*•„„†2hÐ žëÝÛ¶N«V¬àíwÞáãO?ÅÏ×—ÁC†ƒ———®ŸªQ€Úµj1vìX‚,˼2f Ú·G6›‰‹‹ÃÕÕI’pss£jÕª`‚£"#ñõñÁÅÅ…ˆòåmÞãÊ•*áääd -¬T©ÎnnÌûòKúöëGHh(åBC©U³&²,CÕ*Uèб#-[µâ³iÓ3f àÕW^¡m›6ÌÇÅÅ–+‘’œLZF …¢Ä.Èö!D²,£Ñhpvv.gEjת…¯oAuž-}Ké}0ÀÒñÛfUÚõTªÏ«““&L`èС̛7•JÅ… ؾ};Ã, NÑ>r?x¤Ê† ¼úê«6‹Â#?°UjÒ6/Aé,qxÙÛœ^&cÈÏÃ`–‹ÍãæÅd4€HK^NËÞĉ‡±Ê”¿îYË&TÒƒ'-æåå1oÞ<\]]ÿ¾ÊF1k¡Ìˆ¯yxݸX"We™–-]Ч·7WRR:l-Z´ Œ¯/o½ý6¿ïÛGtL £FŽ´1WWWÔ–8sµZ³ÕZ/¸8;£Ñh¸zí›6o&#- Wwwnݸ››äôéÓL2I’È·‹‰E¥BÁØ1c¨þÔS̘>yóæñÅܹô~î9¾]¹’6íÚ±dñb HRRäìÙ³Lyÿ}$Iâƒ?,-;v €!C†°{Ï¢££Ù²e éwîàâæÆ­70 ÷챡·Ä½ûúùÒÜ­ ‡B©ÄÅͼÜÜ• €­Û·S¯^=*T¨@µjÕX³v-Cããm Ÿtz=ÏÇÇsøðaÊ—/Ïo¾ÉÁl×—+WŽU+WâîéÉÅÄD^=š¦M›2~Â~Z·ŽeK–S©R!!ÏŠ²eËb4¹qã'Mâõ×^c×®]6edÔȑ̘Y xwhßžo¾þšW_ݶ¿’$1oÞ<Ê–-ËÒ%K¸uë}úö¥Aƒ4jØWÚ¶iCß~ýÐiµøøø Ñhl œÙl¦i³f 0€[7o2}Æ [‰5TB£Ñ™•Åk×"Ií;t \X{ûí;vØâô=ÜÝQY”)777¢Èêï¾ãêåË4mÞœWÆŒáÀÁƒü¾?»vìÀÝÝç‡åËyó˜4y2žžž„„„°xÉ’{æ¬Ä©”°Üºþ!~c¦U­Z•+V°|ùrΟ?OBB½zõ¢L™2%ñ=Dî•×XZ^ÌÃ|ïÀ@Ù€¼»»ûc™˜³³3KR ˜òó™;½ ]{óÆðt 'Ef-§O«¸tˈl4“vt;ežëÃ{ïµ£ ÄSÂl6ñ0íß´Zíß¾ñ›BØr*‹“Wsy­}®¿ŠÆI¤KuO¶\-!H’ĤI“ømï^dYænNzŽÓgÏâççGtL úü|úôéúŸ.MÛ´ Öøú°rå9bõ6ÄÛË‹>ü5j`°J999ÕFìÜ€°ðp|}}ÑææÁïpñÒ%Ìf3mÚµC››K—N4x0YééFÛxf³™äädöîÛÇÓMš€ ˜˜HÕÊ•iݪÇ £^ƒx{{óñ‡w_‰E©(Íe¨Å‚Nä%\›““Ãî]»;v,jgg^9’¯æÏç¹Þ½mîyAÍfŒ–ƒÝꥲߟwß}—ß@–$ò´Ztùùèóó1›Íäå呟—Wâü=<<¨T©ËW¬àø‰Ìÿê+~Ù²Ù"\=z”!ññ˜ŒF®]»V,!S§Ó‘rù2ƒD¯×ãééI¥J•¸|ù26ÄÝݪUªØëõV¯5WÁ`0`01[:½Úï¹Éd¢I“&h4´Z-‘QQÔ­[—üü|Ê T*‹%ÿ[':-ùÔl6s.!jqqxxx`0èÚ¹3«-%¹eY¦Y³ftº'¦hXß NgSFKêl«T©0ètÌ‘A@¯×ÛrqŠ)½zô`Μ9ÜÍÉaôèÑ6%ÓÊϺ÷èÁ•«WÉÍÉÁÇ×·ðA PpúÌüýý‰Š‰!?/ÁƒÑ¢U+Ûú·k×Ζ„àïOYK±„¢]u«U«FP` y¹¹Ô«[—­Û¶‘“›‹·÷D£‘Ž;b6™(ãïOÙÀ@7j„!?ŸðråÈÈÌ,qêׯÉ` <<œÌÌLôùù\½vŸŸ¿¿?ááá\½vJ•*áããCtt4ÚÜ\‡°R¿Ê+ÅXhß­8¯¯E‘<‹’iý]^NŽíïV~_t,뽬çEžÝžhí”Ö|»øoë½­IÌyyyˆ¢Xìö÷±¿ÞÚ7ã~ól¼ø^ò½Š:dggÿ©=°7*üÙëï¥h”6oëw¼õÖ[Ìž=›N:îíÿ|¨þ!–u› Šè´ZTvaTÖ1%IÂ`4âYB"· ܺu‹_¶láÀÁƒ(•JÌf3†KIIÄÆÄ<¥ëÓéÓñõócǶmdeeñò˜1¶˜óû L²L‹æÍiÖ¢/ŽU@(²ŒB¹vý:#Gâè‘#„…‡óÖ[o‘™•Uìù5Ò32l¥x³²²ðòò²ÝßÞ2fõX<¬ '–\ú@´a'Ð˲Œ—'Ž·yVRSSñðð($ñ„­b²,ãëïOêµkY*t=¼³23ñöõ} ÃÛZt`É’%4mÚ´äþ9–ß4lЀ#GŽP¡BvíÚeSl{ôêÅ—sçÒ¬Y3¶mÛÆŒY³Šñ…2~~ÜÍÎÆ Ó!Š"W®\ÁÍêÙµ»ŸUð³–º-údeg£×ëqwwGküœTªßÙ2¶B¡( %¥òÂB¬O®R*Q;9‘nI¸×étܽ{o ½>Ð;ã€è zÔ´dMz·–Œ~XXÃÍî%(ˆ ŠRº‡Ûc’kÿ®Ûßç¾÷+Áh»páB8@ùòå;v,_}õ£FâäÉ“DDD°qãF,X@Ïž=ùí·ß7ngÏžåÌ™3lÞ¼™#FðÓO?á[Ä@âÀ? â_yI7¦½ÝûׯiŸèR$DgDåI¸™¹Fru2ÉçNðÛïG¹s×ô`V€”U "œÿ¸µ"Üé3ã fI¢^Eû^ë¬Ñ R©8{ö,;wîäÐáÃH’D•ªU©V­³fÍâܹs|5~1AÏ{æÌ9ÂþýûÙ¶};*•Šóçϳxñb8À­[· šÉ2þþþ¤\¾Ìï¿ÿNrrra¦jqÝÛ„‹€ë_¶,Ï<ó Ã_xß÷ïçqãýÒK@G-%%…ß÷ïçzj*={ödéòå¬_¿ž}¿ÿΪo¿%55µ`>K–pàÀnß¾]0Ÿû$Šª5<==IIJ*f‘¬Œ òµZÜ==Kdü -b@ÿþ\NNæÂùó$œ=K“ÆÙ½kW±†PV뼕6 Xb“•J%gΜaÇŽ;vÌ&`†††²mÛ6Nž:U,üÆŶ-[xqÔ(ôz½-‘Ûd4âççÇ78°?k×®-Ö‡E­VÓ¥K.\ÈÎ]»ønÍÒ32¨R¹r•ÐÒóÀú¼CâãùtÚ´b¤Ùl.°z—°ÆE«¾˜L&›gG–eŒÅÁh4Úb•M‰½e\–e7nÌå+WX±r%[·neùŠôìÙóë-E ž$Ìf3•ã⸔@–ÅB_ôð>sü8ÑUª”š¸,I)))ìÚµ‹M›7ó||\JL$,"w'~PÛ Ó^Ou¦’¿ ŸÐhz›ÏÆ´D”KPt¤«¬\¾’Ĥ·¨kTuúµÒðLƒ–|<ë r4ÁtlZë‘+HÆGTÞñÏX3R.]¢L`Á¾ônP–»&‘o ½ëhÿÉ.ZÌZ"±±±¤¤¤ôwP*éо=QÑÑ8k4´jÙ’cÇŽq))‰îݺQ><œú °îçŸ)@Íš5 ÄÍÕ•'N 7èØ±£-aðСC?qI’˜ùäFŒAtTT±ý‹‹YæÐáÃ<ݤ Ïõî]˜ñG¼¸¯2àîæFêÕmôQ.4”ÐÐPœT*ªU«†«‹ ¢(R«fMÜ,û©V«iÔ°!1±±øùúe^yùeBBBl¥XkT¯þ—{~ü£-Š¢Èí7pqwÇÝݬŒ <<=ÿ”Gò¿êÑ8îÑ–ö:ÅGœ]\lž“‡ù( R¯_ÇÅÕµ°Bo1X\»r… ‘‘¶³Êd4ÚŒR¶Ñˆd6ŽÞrZôÿíïwýÚ5ÜÜÝÉËÉÁÛÏggn\¿Np¹r¤Ýº…N¯'4, QIJJâôéÓtìØÑV’ûèÑ£tïÞÙ³góì³Ï€N§cÚ´iŒ?ž… òì³Ïâi¡Ñe˖ѲeKÄø7Å™ãljˆŒ$3#ƒ2\LH bt4çod°ád *…€à7äcYk”ù¢SºÔ¬È/ëÖѸE dY&($äÿQÙ(è.`6™Q(¶ï‹…å¤ï¤}Ç®lÞ_œU£g?~YO9—¦èÌк{?6¬]úÈKo•” û$ T*ÙùË/dgg£Q«ÈÕK¤ç™)ç£BF ýömº÷郪H?ûîÎöÞk)={w®$I( œ4:´oÏ€èÒ¹3f³ÙÆí¯·6´~o-cieR¢(ÚÊSÚï¡5„Â*8Y»N[ç)²$a²ü¦¤ñ¬ÿ¶ÞÛjé-i> …‚ógÎàæíMpP©×®ááåU¨î»V«%ùâE2ÓÒÐççã¤ÑàíëKù lÖÜ¢´hnìŸÛZé¤hßëZÙwe·†§Ùïu}­ë£P(l¥Eí«j•4žýúZ÷×~=¬Ð¸¸Ð¬iSFMûví0Y„Ë¢%L­B°}SÃÄÄD¢££‹•¶µÎ¿¤&töôUt~Ö½5›Í¶04ë¼í£T*mÏo¥0Û•9-ºO’wY×øÎ­[\IN&';Y’põð ($Äf(‘ŸiÚi_Þ·$š+¾¬ß›L&ÛûQTé:vü8}ü1óçͳ)Öë$I*ôY×_¡P˜˜HDDD¡0*ûwÓº/öejí¤’öÓêݰ§ë>—ôn©T* C!~P”ïØ_ÿ_¬ §ŽÅ70 À@’/^$¸\¹‡‰ù¯B©T²cËjׯ§§'æ‡èKó@“Rz6=(Ž:„_@€-dÓÞ«ppÿ~6ibã5G$08˜Ô+W(¯G N£Fœ;y’Ììlê7i‚R¡`çÎôìÙ“_ý•J•*ODDï¼óÑÑÑ|÷ÝwÄÅÅ‘––FPPƒáÇ£P(˜;w.‡føðálذÁ–ÏáÀßß~ý5-Ú·çÒ… TŠ‹cÓ?ЦS'~:r‘Kwá¢þZÎÆãdT…„%eÉ {¬¸{þ.9—rmv³*e)ãô4)¿}ÇÌé=âÕ¿w߇õ¨4nÑâ/­kIå_‹ êP4÷Úë¯sãÆ Z4onhJ ÿ(:®`¦QZÞý÷E…寴ºÿ¥]?Úvvv¦r ÉäVÁ¯$« U°³¿un%­uÑõ°*XE÷Àþš{õ7xõ-ºoƒÑ/¿ŒV«¥YÓ¦¶û½OÑý°þ;**ªØ!fÿÌ¥uN/m~öÿ¶¿WIkeoÁ{¹>)ØßÏ¿lYüK8$í騴½,é{õ,iŠ®‘B¡`ßï¿Ó©S'ó îîî6¥À~m‹î‰u¬¢…Jú­ýü‹zK£}{%´èÝO£ÅâZ”ühàïY’ *Lá¨ôs?˜Íf*ÅÅñÛîÝ4jÚ´PNØãà3¯Äóç‘$ O»%+DQÄËÛ›Ó'OR%.®Äæ²æ~2õb6›i×®£GæàÁƒeÔ_|±T^•É^xá…‚RëAA¶êˆüÕö¿òrܹs硺Ï>–ƒ]8|æçïXV'O|ªô%;óbd Þz­}·n=ܸ’$ð·¬Hõ$•JÅŒÏ>CT*ÉËÉùOLÂ}b`ÿMprrbÞ—_"(ÿ™ýuÐQÞ ~}ò´Z[…)‡PþP2dµ³3éwîP¦lY‡wã@•¸8Ž8PP9ëÿ9ÈZ]пlY""#quq)¶ …‚¨èhؾyó=ûK=èýÊ–¥|… èµZÜ<<þ(g}9ÊÃÃeË–£Ã„„ÛßýüüÐëõH’„³³3‹/fñâÅ…~ï Óÿ¨²OV‘j6O¢·Ó®f%JC{Ö¿F—©ùÌÝ»wÙ³gÏc+íûOBÑR‚ü»`_vÒ±¿ÿEÈl6ÛBAûþßQ6|ýüH¹x½Á€òOT@úO®ž‚°ððÚß¤è€ äde‘{²»^žž¸Yš)>ªûióòð ÀÅÙùžáY&“ ­VK~~>ÎÎÎ%ž3E«bý3ü?+S§N-5œæ qNòïjy±YÛWƒ—ïãênhM˜L¦B/‡8à€üã}¥’° ÈÎÊ"??ÿÿ¥bÛ?Ö°Ä¿™‚fzF{–jR AA¡T÷A£F¨R¥Êº@ÿÝxñ Šà_R6*W®üÿji€Ó[^â°Eßq«:–E}ê;\n8à€8PŠ€ R©ð+Ú%Ú’ŽŠÂ–ìnù?ww÷Ç’ãâÀß‚ õa¹Ä*‘ ºT†¶] l{D²ç·÷Ÿx/pÀø§Àq>:ð¸èÈÅÍ ³Ñˆ^§sÐÚ¿Ÿ¸yý:ÁÁ÷­vö+Ò$˲å! ¼7¤-ûe]Ë0måwÔðp.Ô]ÖpÀx¼g² ¸ºº‚(¢×j Tj5˜Íäæå9Ï9D…½N‡‡§'Þ¾¾œ:z´XÙ}þï¾67—Š11È’„R¥*õ=ÿçU„µ4*[9åÞ_u €·f­å¥öÕ ÍpÀ\ÝÝÉÏË+Ö/§ð‘\P¼ß€œ>uŠéÓ¦qãæM>üè#ªU«Æ× Úª9ðïƒ$Ëøxö,‘‘„…‡£ÍË+Øó¿I"½IE\ÂÃm=¼¼½K-:ñS6ÌìYý£'ÌÅ «˜úÃÞîéØupÀxD0Ô¯WóçS¾|ùRÃ$4j5s¿ü’ÌŒ ŽŸ8Áí7è?`GÆÃÃáhüË!KeÑëtœ=}³ÑèÈ›ý¯ì½eŸÕ ÞÞøøú–ÚÏå/)gΜùKµ›VƒB†äC«éÿ>y.åøð›•ôŒÕsüø‰G^LÃd2Q­Zµ¿ÜÇ&òrs¹˜˜È«WÑéõ899Q6(ˆÈ˜[Ž’ªÁ` !!ÁV.X–eÊ”)CDDD¡dª;wîУW/´Z-Fƒ¤ädnß¼YjÕQ9{ö,ÁÁÁxxx:øEQäêիܼy“ØØX['ô¼¼<Î;GXXþþþ% …‚¥K—’œ’ÂÛo½õ@‰^Oê E‘V­[3kæLbccÿß{ú<,–e™[7npñüy2ÓÓ‘dwwwÊGFfëø^ÒZZ¿ONIA’$ʇ‡—¸7z½ž³çÎX¶,¶æw çÏ£R*ï»níÚ·gÖ¬YDGE=Ôú–Öù|Æ ¼ùöÛTŠå»Õ«ï;ÎÑ£GùðãY0>Yf¼hWòGA“§Nbî_ðчþ'[eYFE233IJNÆl6ãááAdÅŠ¤\¾LNn.gΜÁ`4ÉåË—¹sç¡!!“‘™É‘#GðõõåèáÃ\JJB­Ñpùòe¼½½ µÑVnn.wîÜÁd2‘ŸŸ››åË—GERSSI½qÉl¦lÙ²„……!Ë2©©©‚@zz:ù:+T@’$’SRP;9‰Z­F–eÉÎÎÆÃØ˜ÇAö„h ¬|y´Z-‹²áÀ …g'''¤Röþ/IÒcÇŽ%33óñ(‚ˆB©@¥rBŒ$'œàÊ\P¸R¥f=Êx:³þ³WYkz<¥wïÞ½ËÁƒ•þƒ¸›Í½{ æé¶mq÷ð /'‡K.°w÷nêÔ¯o™2%2Ô[·oóLïÞÔ¯W///$I¢NíÚ”/_Þ&€:;;³nýzb¢£YºliwîоCÛ.ÎÎ%רף×ëqvu¥O¿~|>s&­Û¶-Ú Ñh˜6}:_ÍŸÏ´O>a̘1|öÙgŒŸ0)ï¿Ïk¯¾Š qÔ€d9ìÍf3]ºtÁl×ÁY¥Rá¤Ñ(Ý:K²Ÿ›»;f£…J…^§C¡P P(ÈËË+&ô©Õj”–˜]“Á€^¯/$„»ººb6›QªT è´Z” Jµ$ ­V‹$I,]²oooÌf3nîÆ€(¢Ójm§5 Kƒ)û&unîîHf³­)åc¾J%gOž$9)‰*Õ«Ó¨E  ·nÞä̉dedP£N{†ˆ¢H‡Žñññᇵk)SBõ +W®Ð¬ysÚ·kÇÊ+“'OÒ­GÊøùq.!V‹F£)è-Ëèòómë¶ø›oðññA’$AÀÅÕÙlF«Õ4S«E…B,Ëèõz4ÎÎäæäÚwÖoØÀ¼/¾ M»väÞ½[èÿ5&$Ký}…B««+®..¸º»º¯F­. ;z-i>Ö÷@¡P€ `2ÑëõÅ"ýXæ ÍÍE£V#ªT˜Fòó󉎎fÊûïãææ€«›’É„hyµyy¬•‹KATY&_«- g¥Òf0D±Ðý!’ÙÌ+cÇRÆß'''<=<5r$Ç'==»vq'-ÈŠY¾by¹¹äiµœKH`åò大§“’’‚Þ``ýúõܾs‡œœ6lÜH­Zµ·)'Oâ…#èׯ‚ pðàAÞ~óM4hÀwkÖpãÆ L&‡aÞ—_R-.ޝæÏgß¾}4jÔˆ””‚ƒƒã'NЫgO†>ÿ<3?ÿœ_~ù…J•*qæìYºvé°¡CÉÏÏwXÙ3 YÏB\kýŸU:ïe°úKÊÆâÅ‹KŸ A‘ò³8}òÛYÏ–ÝǨÙn ŸöëMåÐ<Ü]«ö,˲íÀq࿳ÙÌÅóç)EÕjÕlÖdµ¯/Þ>>„„†’œ˜ˆ»§g‰ÝS *2’É“'S><¼@P’$$I²Y÷ìÙܹsÉÎÊ¢SÇŽŒxáÛõ999¼õöÛìÚµ ³3o¼þ:½žy†%‹“ššÊ+cÇRaÎ>˜:•pËøVÁth|<ß,YÂK/¾ˆ ŠÌýòKž2'µš… òÕW_‘““CçΙ8a²,³gÏ®§¦2dð`A`Ë–-¼?e :½ž†gh|< …‚=zФI¾ÿá⇠!3+‹3gÎ0ï‹/ȳ4•JÅâ%KøâË/Ñëõ èߟáÆƒ–éÕ×^£Zµj,_¾œ¬ìlæÏ›Ç¡Ã‡™1s&µjÖdê”)x{{3qâDÞxã *W­J÷îÝiÖ´)¿lÙB^^sf϶­ñg3f°dÉ<½¼˜0~<5B–ezôèAåʕٴy3Û·nµÍáqBE²ÒÓ9Ÿ@ÛÎñöö¶ý_Xx8AÁÁس‡Û7nX"S©TìÙ³€ÈŠ9{ö,Mš4)QhjÕªû ##???~Ù²…æÍ›“œ”x §LÊùóç)Æ”÷Þ£R¥J˜Íf&MžÌ›o¼Axx8999 4ˆ'OÒ¼Y3¦O›VàùZ¶Œ;wîpøÈ” }ûôaÁ¢E,_ºôÙÅ…×ßxƒuë×sàÀ⟞Q£FÙx©³³3K–.eæÌ™M&:uìÈøqã YæM Í·jÙ’I“&áæêÊÂE‹X°p!yZ-=ºwgü¸qH’Äâ%KÈÈÈàà¡ChÔjâââ$‰ãÇ“M§Žéß¿¿-—ÀÍÍ®]»Ò¦uk¾¶(XË–.åƒ?äÛÕ«2x0c^~™‹/²ú»ïóòË8;;ó̳ÏÍ¡C‡P;9ñÕ¼yxxx`–$FŽÉŽ]»¨Z¥ Ó§MÃ××—3gϲtéRrss¹””ÄÎ;ÈËÍýÛ ‚ *ˆ‚@¾NǶíÛùþ»ïhÚ¢½^OÏ=øjþ|^3†ððp ¯¿ö^>> 4ˆUß~Ëëo¼Aýzõ0šLüoâÄ‚ŽÕ;v0qÂôz=ƒ¡W7""‚aññøúúòɧŸ²k×.êÔ©ÃÐøxüüýx÷wX¸p!³çÌA¥RÍøqãHKK£GÏž 4ÈÆ ¾ÿþ{Ú´n͸ñãIIJ¢L@™é釆òü!¨T*‡¥ý1 –VZ²çK޵þo+ž\Ùe™²eË>Æi{£7JT¨ÑŒ©_¢’å‚Þ­ÙÇNÇÝ»w©^»6¢(²Æ ‚€ٲܸv»ÙÙøúù•ünf“©Pˆ¡•˲Là èÛ§ׯ_gö矓”œ\È"Ю];¦¼ÿ>—.]¢k÷…1`à@>›1ƒ÷&M¢uëÖÅâ %IÂßߟºuë²}çN233iݪ~~~c[,Ïk¾û:u颯¿æ…áÃIKKãÚµkȲLRr2ï¼û. æÏ'88˜Ž;ãììÌÀAƒ8—€Þ``óÆˆ¢È–­[Q©T˜ì  …‚å+V°`ÁV¯Z…——W®\Ál6Û}Q¹žšÊÆM›Ø±};;wì K×®ôéÓ‡½¿þÊð^`ýúõôïߟ³çΑoñ¬œ;wQXÿóÏ,Yº”~ýúqôØ1æÌžÍÆM›Øºe ‰‰‰¼òê«,\°€¨ÈH~ýí7ªW¯Î®;žØ!¨P(8sò$Q•*Ù û0•JEÕ§žbßîÝ…„ E•eµFÇ̈#psuå»5khÒ¤I±p!Ðh4ôèу¹_|Áè—^"==*•+Û” I’xçwˆ‰ŽfíÚµ¼3n çÏÇËË‹sçΡÓépvu¥nýútéÜ™eK—2hÈâ‡eÅÊ•dff2ëóÏ9ðûïøúú’””DÝ:u Í9??ŸI'råÊú÷ïO«–-m4­P(¸zõ*/ÍÅóçqquåüùóÿ'Šlݺ•… 0å½÷è?p Ë–.eÔ¨Q¸{xðã?àääDë¶m #þùçÉÈȰͧL™2|6c³>ÿœcGŽ`6››1ƒøaÃøñûïÑét,Yº”Ÿ~ø5jüí ëû—{÷.—“’Ðéõxz{óõÂ…¼õëÖ—^z‰WÆŒ)ðIF£“É„,ËÌš5‹¯¿ù³ÙLNn.¡¡¡F‹AIÂhù­Ñh´yŠÊ NNN˜L&¼¼¼¸qãJ¥’ü‘O§M#7/»wïÒ¶m[Lf3±±±‚€R©¤l` ÁAA˜L&ÜÝÜE‘Ä Ðjµ4~úiÛ==<:Ž-[¶ðÆë¯S¶lYdY&::º @—ŸÏ«cÇR6 €Úµkã¤Vó¿ñãÆ“””TL9$‰aÆa2™hݪUÁœL&vïÞÍØ1cpss£ZµjDGE‘˜˜HTd$eÊ”¡c‡ˆ¢øX¼°¥ñÆô;wˆ­^½T~ééíMVzz‰yJ¥’óçϳ{÷nV­\Éí[·øäÓOÉÍÍŽ„¼½^ÏðaÃhÛ¶-mÚ´A¥RÙ„@€˜˜®\¹Â‰'ðóóC©P‘‘——WM+•$&$púôiNž<‰N«å£©S ‹ˆ`Ųe €f³™ˆˆ^íµBû^èù‹<¯5„)00ŸÖ­£r¥JDFFÚ„Ô¦M›Ò°aCÔj5]»táôéÓ˜ÍfÚ´nÍ¥K— Z·jÅÖ­[‰:½^Ï mŠœÁ``ÐÀ¸»»£R©hذ!Ûwì(¬lXæôâÈ‘¸ººÒ«W/Ö|ÿ=Cž€ZµjqøðaªT©RH‘ ¦E‹˜L&ºtîLß~ýÈÉÊâ·½{¹œœ À°¡C™6my–«fÍšÙžïïhyÌËËãJr2!!!É2aåËÓ¥[7nß¼IÓfÍèÔ±#ÑÑѼJP;9qìÄ ¾š?ŸäK—Pi4 /®ög•ó;ii >œôÛ·ñ)S†I'ròÔ©ãÙf3áaaxxxpøàAÜ,¡ÏÚÜ\ Q±±ŽªHÒ —ŸÏÅ„®^¾L¹òåkëÀãU67C,ªM;Ô žˆÕÏB{f“ U ÅdYÆ,Iˆ¥„ãH’DÅ ˜5sf¡0'ƒÁð@I¬.\`â¤IDFFâ¬ÑpýÚ5[•5 ë^Jz\ÕªŒÿßÿP©TÄÆÄØ¬|2?t(ÁÁÁx{yqâÄ Ì%zK2¼}~‰ÑÎòîââbS¬9ö‡$I˜%©ÔDwû¹º¸¸`6›‘eôz}ÁuãB‰ Ë’Tm]“É„Y’l5ÝEQÄÉÉɦØYÿý¸ $…ž r,Ví’öÝh4¢ÖhJ|N³3sæÌAíäÄüùóÉÏÏ'55•…‹ñÖ›o‹A—$‰ À@š6kƨ_dò¤I…ödÅÊ•ìÛ»×V1&=#£Ð}‹’h ´î;`Kötqq±y*A(ȵ±xœîI’ðpwççdÍÚµìÞ½»À°x1È2j''«¢eÍÃ$BxX^ÞÞœ:}Ú¶Öùؼ…–}¶7-½Š­­FS ø‚MÙB–Q(˜Kˆ7DÑ2'«gNo0 P(P*•H’T𾈢mÍÕNN…æów;[ÓïÜÁ?0À  F#·oÝbîܹ˜-^Œ¨¨(|}}E‘ÈŠ™4y2 6¤}»v„††2í³ÏpqqáÀ´lÕª`Mtº>!H’d£ý’Œ9ù–œ+_ÌÏÏÇY£¡âôbà IDATf͚̞;¶nÝŠ§eô:ËÚʲlË›±¾ÿyyy0~Ü8úôíKdd¤-§fÂÿþ‡öoè]ú'C""#9}âù6^á€ÿ8eÃþ¿à¤Ñ V«ÉHO'ÈÒÓ>ÉÕd4’—›KPHHé ‹%éÕšóc2™È(gÏžE¡Pðé´iè´ZV®ZeS€œIÏÈÀI£Ál6—XûÞÛÛ›7^/OÏB Tff&?üø#f£Q©¤¿~d)î Ë25kÕbÁÂ…¤¦¦àïÏÜ/¿¤}»vŽ!A­V³hÑ"Ž8ÁÜÙ³ÑZr6œ©]«s¾ø‚F„2$%áããS8ÇÅ.©Ðzïä‹îN ÕââX¸p!-š7çÒ¥Kœ2©ˆ·EE®_¿Î?þÈŒÏ>ÃÇ×…BÁÄ ˜þÙg¼õæ›% ±¹¹¹L?žÍ›7Ó¢ys~^·®`.&¿üò ú÷§k÷îÜ¿ŸÍ[¶2Þ˜ÌfªU­Š——‹.dÈóÏ3aâD6h€“Fƒ,Ë…Ì“'Oòñ'Ÿ°ø›oLE®]»†ÉdbüÿþGâùóÔ¬U«r&Q¨ÓÓÒX·~=²$ нkW¤"t`S ÔjæÍ›Ç¨‘#qsscÓæÍ¼:vl©ôs¿¿—p‘í7’,ãçïOxx8|ø!“&Ofñ7ß‚··7IÉÉ…ÖëïÉlÆÓÛÛ&À{{{Ó»wo²²²D‘[ˆôäI“HJJÂÕÍ   ÌŸOfV†–-[¢T(Ðçç3jÔ(dK¢|pPk׬)±ReõêÕ™8qbAÁ G÷Zͪ+H½qgggš5k†ÙlF§Õ2rÄ”–¼ www>›>‹ç...މ'"/ N³fÍÈÊÊB¡Pàïï_(_ÄGgLQ(•˜ŒFŒ&.Ex¹œZuê ·$ˆ9²˜@¦R*ù}ÿ~BCC }/I/ ÎÝìlÂ#"0™LŒ9’·Þ|³Ø½ ­Ÿ½àgùØîi'ì•„_|‘ñãÆáí닇‡S§L¡jÕªÿ/Іu ÊW¬È…sçøm×.ê7i‚Â≴۷¹œ”D£æÍ‹UïE‘­[¶IïÞ½mÉ—]»våË/¿dÕªU<óÌ3…sv,Éš!!!ÄÇÇÛʀʲŒ¨T2rÄ^;–O¦M#ÀߟÈÈÈbko4™Ø±};}ûöå…#hÔ¨k¾ûƒÅ{aý½ $''£(¥$x‰ï„ `00p çqssã£?,¤ÄÛÃl6Ê믽Fxx¸^sí¼ö× zöìI§ÎI¼p#Fðt“&%ÎM¶{æRéÏúwËoäžïûµk4hjµš˜˜¾Y´èkþ|ξ‚R©,™*eÊ”±UA“$‰ððp‹üÆh4lÛ;µZM•Ê•‹çYŠ®ØóAëØ&“‰ÀÀ@ m2™lc[C +ZxkIãÅyŽ{5#tàO Pʻ뀥ò¿!ËZ£Ìý›Ò¥fE~Y·ŽÆ-Z Ërõö/êG}d³hþÛ Õj™);sçνgæžsï9çÚl¶Ùm£Ñˆ(ŠØívDQÄlµbó§É4›Í-iJý׬Œèt: ~y N}ìVìbìþâp80›Í-éaeÙï^år¹xcÚ4ª««¹gòdÅí("7T–eÂ""”t³Ö°0Æœz*ΙÓf†¸u*ZŸÇƒÓé ¹«ÕŠÛíÆív‡ÜpjS‡Ã5<‡ÍÖ t}A°„…)éUM&“’ž4$õ­ÿü¿Réܧäó±à‡ˆŒŽ&+'GI}[]QAQq1á‘‘í*dz½½Á Ú×®Ü[pv“ɤ¤ ´¯^¯Go4ÒÔЀN§k‰A 2Üý1`à@fÍœ©ìc²X…ÂÖܬÈ*´¸Øi4Þœ>EEôŠI `1›q¹Ýx<ž9 ô±¢ úS:RÅÆ½N‡F«Ån·c2™ÚÈkSS“òNv:èõzžš2­NÇ=÷Ü"o­ûÄ®ÈV«Åh6ÓÔЀ Š<ú|>ŒF£RKXŽæf|’Ô’KÞb¡©±(*i‚ƒŸÇÖ÷s, Ñh(]½š˜ÄD’ÙQVFrZÚ_’™Måo:†j4¬Z²„¬ü|"#"T£Cå׉H½žOfÏfÔé§óéª2&Îú ³Nøßܨjkk;ôÍ<Þ (‡*ÿ´I›–YâÂ^½8°?{wïfOe%“‰¼‚ââã• òŽ6cëÈ 6¸U”ÃÀ9²,ckÇß<°Y›7¨ìàò›×)øÿ@îÖ~ök×®eΜ9Üxà ʹ# ¸A”: ‚@sS_}õ•b ´¤oïZÁÇî±õý ‚ \;øš¢(†0ö¿î³õµZŸó—ÌàøïIÔh2r$»«ª¨ôg ‹ˆ ß AÊêC{ƪÇãÁãñÖ½H~C¶uûÊÆÛZÉ̓™òÔSÄwêDZZš²ÒZvƒeZfš¯»öZ|>_ˆA¡¼7ƒR ·nöÊöù÷ÕàöxÀ_n{2$ÅF®ár¹Z|÷1ùÓZ~mˆý ~æ‚ë|Ž$I-çî§ÕØ×ÞýËx<›Šªá¡rH’Ô²oÑq²ÁªÊ±ÃÿäFõÌ3Ϩ-¨ò·" y=""#‰ŒŠj™½ô+c^¿øwYšOJJâñÇ£  àwÝSkåM¥}9äÔT’ÓÒ/ÎÍŽFÛɲŒÉhä̳Î"3#NwØ+?­ å£×ëåÊ+®8ä ¼J»Ùò.ªwíbWy9¾vb,TTÀ§¡Ñ”šJzv6ZÕØPù«Œ •¿³¢¬˜ûsÿkY–éÔ©üi©qX޵–¡£-Gרþ'œð—¥þ3$IñóWå÷÷³§ºšƒPP\¬®n¨ŸÏG厔oÛFçb|TTޏ±¡¾ÔUTþ>F•úL«ý~¼ß‹*¿¿ßè¬Üµ‹>«¶ŸÊo’ÍâŸ~:"û«¨ü³Õ&PQQQQQùçaonÆd±„d§RQéÈ8…–ÔÉÒq¼ª¢*******­ ze¨#Cäì•£¢¢¢*******ÿp<'tÛ·oïЇzˆ—^zé+*Ǫ›Šjl¨¨¨¨¨¨¨1´Z-O?ýt›öÚ3$Z²,ãóùèÑ£ª›–ŠÊ?ý}¢6ŠJÛÁZ6.ÒˆbË@I‹¯j sÏÿ:ËÈœc±XZ6ðkù'ÍA{Gü•÷k6›ñz½!Æ+}¡×ëCöW8žäH4 ‚("’,·ø<ÅÔ·ºY­VœN§²IâѪ‡Á¿¤Ëå:겨8úü•ø|>fΜILL 7näüóϧ²²’üü|Ìf3v»×_ÆÆFFÍ‚ ˜4i’²¿È믿Nee%§výúõãã?¦®®Ž—_~™îÝ»sùå—«ƒ‹ŠÊ?ueCE¥Q§Ó±§ºšŸ¾ý–OçÌaþW_QUQN¯?ä,]`gëàV«ms|`ãµóÆŽ¥{÷îôêÙ“ÓN?½Åø8DÝ,aaˆ¢ØîL¢Åj ù> 8YÂÂÐh4ÖÙd21ùž{øø“OÐùwý>VÐh4|8w./½ü²¢ Or$IÖ­ãë?æó?då¢EØm6D¦CEV–eÌ&S9jÝïy°øwæ|g±X°„…²~V«•±cDzlùò£ÚçZ­–·gÍâíY³Ž Å^§Ó1sæL^{ýõœÛˆ$IÜqǬ[·Ž!C†ÁsÏ=Gmm-—\r ;wîdÔ¨Q<óÌ3Üÿý ¦M›F||<999ÜsÏ=ìÙ³‡.]ºIÿþý)..VÕØPQQ ²,³xÁ–,ZDbF'EzN+V¬àÇo¾¿"Ùžò^]]MBB‚ Š"Ý»uã—… ÛF£‘—ÿýoŒz=¥%%¼òï³~ÄCäº×ét³iãF4­Ž³†‡3ò䓉§¬¬ Fƒ(мüÊ+hµZV¯^Ý¡òäõz9qÀ:çä¶B¸—?Û5B–e:çäгGãFù N‡ƒ/?þ˜½µµôìߟþC‡"‰"_þ9{wïn×ýÀj±pÃÍ7·¬ˆøwo­[·†ô» dgg3fÌšü+bv»sÏ?Ÿä¤¤CöÛíf̘1$&$Õ>Ý»wSSSó‡ÛúH+Ü]ºt¡°°ðùþKMMåüóϧÿþDFF¢ÕjÑétÔÔÔðå—_ò /Я_?®¿þz´Z­"KgŸ}6gžy&^x!F£‘ÚÚZ:wîLDD½zõ¢[·nª•ŠÊ?ÕJE¥e[¶`w88ïâ‹øøxò X0>KKéZXØ®ò+IÝ»ucÙ’%¤§§óλïrϽ÷òч¥(‰û÷ïgíÚµ¤¤¤°£¼I’”æt:©¬¬Än·£7HOK#,,Œªêjš››ÙVV†Î` 3##¤>Ÿ””¾øâ &Mš„×ëeÆŒäçç+ åîšöïß²LBB ø|> ºuÃl2)ÇíÝ»—½{÷¢ÑjIKM%<<Y–Ù¶mf³™úúz’““±Ùlèt:âããå9P§òòršš›‰‰ŽÆf·“Û¹s›6ÛVV†Ålfÿþý˜-²23©¨¨ ¡±‘Ô”âââHNNÆëßÝØår±gÏdÀáp`4Èð·ƒ$I”——Ól³Nff&uuu¸Ýnšm6DA sçÎê*Iàçû-yݺѳwo廤ädveg³vÙ2 †Þ/_­ Àn³q÷]wñøO ùïÝét¶ÙéÛjµ²cçN***èÖ­UUU”mÛFxx¸bHVUUÑØØˆ¨Ñš’BTT>Ÿ~ýú¥´ÅΊ êëë1›ÍÊÎâN§“½{÷"I‡ƒääd8@bb"F£±µcÇÑjµäää(ÏOàûšše¦<>>žÔÔTåû²²2lv;‰‰‰ÄÅÆ¶ÈëîÝÔÕÕ˜˜H|||‹líØÅl¦®®Ž°°0\n7V‹…úúz|’DjJ V«5DeYf{y9&£‘ºº:¬V+éééTTTÐÔÔDjj*±±±¤§§+бÃá ¶¶Ÿ$át:1›L¤¥¥µ¸IåÛ·c³Û‰Œˆ 33Y–[Ž÷ùhjjB«Õ’}ܬÊ ÂZ­Š ‚À¾}û”÷@rrrÈ;/Ð/ãÄÛÎnäj€±ŠŠjl¨¨¨.§“=55ôé߃Á (+²,£Ñh8iøpV.ZDSc#a~…®5r``E2ÒÓ1!³z†’’¶——S[[˼ï¾#;;[ù~ë¶m¼÷Þ{x½^öìÝK眸ÿ~–-[F]]_ó •UU\;~|ÈL·$I :”Í[·ÒØØÈºuëÐjµvïŽ$Iˆ¢ÈÛo¿Mmm-N§“­Û¶1kæL²;wæöI“:l7\=«V­âáG%)1»ÝŽÅbá¡$&&†!Æqî9çÅ%ãÆñï½GRR×OœˆÇãQ–Ùï¿Ï믿NQQ>IâÕW_å`]]ˆËŽF£aèðáœ}晘Íf~^°€ ÇŽ¥vÿ~vïÞMõîÝüðý÷¼ÿþû쬨à±GeçΜuÎ9\|ÑEèt:–-_Îí“&qòÉ'3õ™gøêË/ÉÏÏgýúõÜpýõŒ;–÷çÌá½Ù³9uÌ"##)((Àétþi2$j4l.-%<:Z14‚•Þ´ôt$·›Í6гOŸwð/úgÛ›Žˆˆ S§N,Z¼˜nݺ±téR:çæR³{7äÍéÓq:Ô××ãõzù÷Ë/Ó)!3Î<“gžy†3Ï:‹wÞy‡7^®]»²sçNFŒÁ„ë®cëÖ­\pÑEŒ=ÿ|4Z-çž}6Ï>ÿ:ÅÇóÀý÷#IGee%±±±Ü>iÑþUŽ+¯¸‚Ù³gs÷=÷`2éÙ³'<ôh4¼úÚk2yòd¼½ûôañ’%œ4hPÈ,{tt4\p#GŽdêÓO3ûý÷ùeÁŒiYY¬[·‹Å¢Ô[EÒÒÒ˜pÝuÄÇÇóü /ðýüùððóiò²²øüóϹzüxÎ;ÿ|t:ss™|÷݈¢ˆÓéà`}}c«vÿ~ºà“$, iiiŠO½Éd"55·Û$IDEE¦´‡ -n/‚@^n.§“Ô´4"""Ú­¯Éd"==¯ÛMrJ ñ:a CÐhˆ‹å`}}¨¢&ËÄÅÅa2™p»ÝÄÄÆâr¹¨Øµ £ÑHç¼<ìv;ýúö¥®®ŽÆúzdY&?/Y–ÿ²l[-Ø` 1^E_;®&J?x<œ:f ï¼ý6Óß|“Yo¿Ý¡¼æåæ’Àƒ=DXXݺuSF›ÍÆ]wßMZZéü²paˆbpéóúW‡»S[[‹$%%a1›ñx<ˆ¢H\\\›ª;wb0(èÞ§Ó‰F£A§Óýºë°$‘—›Ë­·ÜB÷ÂBòòòX¶lZ­¶Å¯kW´Z-†°°0¥Ÿ^ýu²²²HOKããO>¡¾±±¥}}>ŠŠŠpûeÛëóѳGÜ.ZŽŒŒ 6oÞÜ6¶Éj%%%O@Þâã1[,ˆ:q11Ô74´™±OHHÀ`0àñxˆŽŽÆår±cçNL&Y99Øív @mm-öæf$I¢ kW$IÂãñ7††V«eÆ ¤¥¥)¯^½šÎþ¬±cÇRRRÂÂ… 9õÔSIJJà©§žâŽ;îPÞ1óæÍ£¸¸Q™2e [¶laúôéêࢢ¢***Є-j4Øš›CŒÀï^¯—Ëâ¯Þæ¡ôz=F£‘îݺ!»7V’xöùç9ᄨªªbÍêÕtéÒEQL†N 8³=cgè!,]º”Ûo»MYýE‘Üÿàƒ”¬]Ë®ÊJ®¸ì²6«#z½žè¨(¶mÛ†(ŠØívª««ŸìÖÆ×n¿¾èOß+˲°³¢ƒÁ@ÍîÝ455ÞýÿÅL’$R’“q8ìÚ¹£ÑȺu눌ˆ <2²¥ƒV¨þl$I"1%…Šòò6FlàçÞšâ±3sTTY99dgg“““Ó¡‘ër¹¸éÆ™öæ›ÜróÍ!}úí¼yTïÞÍ®;¨Øµ‹Á'ò½,ËDGG#›·lÁ`0°³¢ˆ‹‹C’e„VFÔÎ;C I’HOKÃápP^V†^¯ÇçóµI©ëv»™tÛmÔìÙÃ?Î)cÆ(.bmž!†²íÛyöùçÙXZJÅ®]\tá…¸ZJÁŠòò+Ðh4¸œN¶••‘““Ó¡‹ÚEðßojJJ˳QY‰Ñhdõš5DEEaölj´WÇc%Msгü÷Ï?ÿÌ/¿üš5kxà¸õÖ[•wKàù>'$#`Dª¨¨üsQݨTT‚0ÄDG³iýzú €¶UöŸšÊJÜ.aÌÔËÀöòr¦<ý4ÑÑÑì«­%.6–,°rpY‡·_ñóIR‹B.ŠtÉÏgÆ ¼üÒK¨«cûöíÈ~ŰG<=u* âŠË. Äív;.—‹ÔÔT>ÿì3¢££©¯¯Çn·ãõù°˜ÍäççóÚk¯aµZùyÁŠƒ‚—ÆÖ¸qãxüñÇ©¬ª¢±©‰ˆÈHz!Íþ™Û€’q÷äÉôéÝ›Ûn½ǃ,Ë„‡‡sÛ-·pë­·2hÐ iòo­ ”'^¯›Í¦|g³Ùðy½xÜnEAöù• ×ãÁf³ÇÝwßÍ5ãÇÓ§O.ZÄ3S§"û|¸\®¿ÔgÞçóѵ{w¾ûê+*ÓÓIMOQà¼×®¥K÷î*Ã^¯—¯¿ùŸß…Êår1áºëÈÍÍ qs±Ùl8œN†Ââ… IINfɲeJ;&&$àñxxñå—‘e™uëÖ1jÔ¨cÃÎä»ïæŽ;î`À€lذñãÇ+Fƒ=¨½÷ìÙÃøk¯å¥—^¢K~¾r¿q:ñðC1áúëé]\ŒÍfãÚñãÉÊÊB’$4 ›6mâwÞ!6.Žêêj.ºðBÅ 62^¯«ÅBff&ÿyí5Ìf3 -bÈ!Ь¯îi4Ö¯_Ïc?NÙöíäææ2hàÀ6Ê6› Ù/o»Ã¡\»¹¹Ÿ¯EÞ|¾y Lv»„¤$&MšÄ5ãÇÓ«W/,XÀ Ï=²Ü²_ˆxÍã¦AÎÌ™3‘$‰k¯½–K.¹DÃø¡öµÊÿôš‰½êiÙî‘yõÒ!œYœÃ·ŸΠáÑe™¤””?4ÓøOÁv¸³µ*Ç¢(²eìQQ$'%±»ªŠðÈHÌf3Ð2S¼ô—_0˜Lô4³Å‚Óá`ÃÚµÔÕÖÒ«_?Lfs»/_·ÛÍÚµk±ÛíÈ€Éh$''‡X¿ßyp¶••µøŠ§¥ÑØØÈ–-[èÓ§MÍÍlÞ¼£Á€V§#9) ‹ÅÂþýûÙ´if³™ž={*3Š óØØX”ÁÁëõ²}ûv’’’§¼¼œ}ûöa2›±Z, t/,ä’qã8p W]y¥2{½k×.´:ùyyDGG#Ë2k×­#?/£ÑˆF£¡ï 'ðå矒JEJKK9xð :Ž›o¹…… ´ÙÓ!PžÉd¢®®Žšš%íèš5kHOOÇårát:IMMÅét²k×.²³³ÑjµÔÕÕQ__¯Ìb—””PßÐ@ll,Ý ¨©©Áç󑜜ü— – Ø=»w³bɺ÷káo IDATêE—‚öìÞÍúÕ«ILN&#'§]E‘íÛ·SUU…×oŒø|>zõì©´s€ÒõëIOK#<<\YùhnnfÇŽtëÖ ŸÏÇ–-[p8 L&áddfRÜ«<ò#GŒÀãñ°qãFjkkW,½^Íf£ººšììl4 ëJJ˜6mÏLªdšR tÃÔÕ¡7èQT„Éd 1,7lØ€Ó¿2Ø­ «ÕJUUÐ’á(ñ,!!ˆˆÊÊÊØ_W‡ÉdÂj± ÑhÈÉÉaݺu$$$ƒÙjeĈ\vé¥dddàt:)èÚ•HÿªVp¼LIi©"¿û÷ïg_m-]»"«×¬!33[s³’Ù­¹¹™šš²²²E‘ÚÚZx½^JJJhhl¤S\~y«¬¬DEÅÍèh£Ñh(]½š˜ÄD’ÙQVFrz:.‡ƒóçsÊYgrŸC)šªú²6@X8>™99ì(+#+?ŸÈˆ5­±Ê¯–z=ŸÌžÍ¨ÓOçÓUeLœõf ª±¡­åÛ¶±³¬ŒæÆFÌV+éÙÙääåµ öý#3C‡óûïØ§ŒŽþo48ièPî»÷^†Òîl{pLFpY^¯·K—(ŠlÞ²«ÅBjj*/¼ø"+W­bú´i!+1‡jƒàkýÞö<ÚÊPp3§ÃÁ¦õëÙSU…äóÓ©¹ÄÄÆ‚,ÿš¹ììçàkþÖý ‚€^§£Sb"?ÿôÓÝ(8þ¢µ[ÌoµÿáôÏáöUës¬ááŒ1‚ñ×\ÃÙg¥¬xüžväè‡ÿõ~ަ±±zùrŠû÷'6.N5T~ó™óz<¬X¼˜ÌìlʶlQ •Ã66T7*•”ªœ¼Ž²?­‰³ÅBMu5 II$$%¡ÓjÙºaæWù[ ¢FCL§NÄ'&‚ !(㜊Šjl¨¨¨tˆÃá8¢J° ø|>ÕÍð5€dYVúæï ˜övù;NüÆFtl,¶¦&*vîÄçw93µr!UQiw¬hnf׎X¬V"¢¢0™LJ‚ÕØPQQQQQQAô»O555át:ñ©Ê¢Êï0V5 f“‰°°°ÜjµŠjl¨¨¨¨¨¨¨†Â(ááán¶©¢ò[2¤®h¨¨Æ†ŠŠŠŠŠŠJZﮢò¿Ê‘ŠŠjl¨¨¨¨¨¨¨ü)VJ,aa¸4 Z½d™æßˆ’$‰°ˆÜN'n·[UbUTþ†ˆj¨¨¨¨¨¨¨´&æøP+ ¢(âñx8ñĉ‰‰áûï¿ç…_$""‚“O>£ÑxH","‚¡C‡òÅ—_¢×ëÿ°Ás8uUQQQ •£Ž2P ‡¦ÆFꤱ¡!dÖíPšF£A«Õ¶|4%PàbñâÅ ²³²X¿a¯¾ú*v‡ƒuu|;oëJJЈ"ÍMMdee)ýât:ùä“Oøü‹/X±r%‘$&%1cÆ º°`Á~úé'RÓÒGÖ¯_Ï;ï¼Ã’¥K±Z,¤¤¤ Ñh˜þÖ[465ñÕW_±jÕ*~øñG$I¢z÷nr²³•UƒÁÀœ>Àf³ñõ7ß°xÉ“’§©¹™O?ý”/¾ø‚U«WG§¸84Z-Óßz ‡ÓÉûsæ°qÓ&Š ùæÛoyÎ4¢HFF‚ °mÛ6Þý¿ÿcÁ‚hD‘´´4ÕØPùç ›×¯''/-5ø²d': ®l¨¨´Ò¸Ù·gëV¯&;/¡£F1âÔS6z4] ÙPR®;;œi®¯¯gÆÌ™ÄÇÇÓ£¨ˆîÝ»2KWRZÊÓÏ<ÃãO<ÙlÆ`00wî\¦>ó o¿ý6zƒN‡%,LùfÒyêÉ'‰ˆˆPfß”ã,E°X,˜L&¬áá˜L&ôz=ÖððvAƒÁ€%, ³ÕŠÉhl“s?PžÑhT®¥ÕjCþI’xsÚ4233ñz½XÂÂ0™LÊ1Á3íÁÿ̚ʲÜR³Yñÿ>^Ñét¬X²„Ú}ûè7p ÃGfø©§2pØ0­–•K–t8‘£7˜ýþû¬Y³† %%…›ÿõ/–/_Þf—çýû÷3åé§y𡇔YØeË—óÔÓOó‹/¢7CeÄßw~xãõ×IOKC’$DQüõ8¿R*Ë2ƒAé‹ÕŠV«íP–´Z­RF@®‚õ62ë— €ððpLF#z¿läåPõȋկ˜ZÃñêôÜ_ßh4†ÈŸÁ`@¯×‡ÔÇf³1cÆ zõì‰ÇãÁbµ†È».h3³À}ZÂÂ0J¦ž`ù?ÔÊÔÑžx±Ûl\;a)))ôéݳɄÇã!==«ÕJ×®]ÉÍÍE’$*ví¢¨°´´4®¹æJKKIˆ§S§NÄÆÄЫW/ºvíŠÁ` ¨¨ˆ¤¤$¥ÿeYæË/¿dþ?л¸˜Î;ÓäçÐëõ¼þÆd¤§SßÐÀm·Ý†F£aëÖ­Ü5y2 ‰‰¤¦¤pûw²zõjôF#=þ8o½õ=ŠŠèÙ£&“‰ÜÜ\ ºvE§Óýú, ¼þÆ<ðàƒôìÙ¯×ËwÞ‰V«¥©±§ÃAqq1z½ž›o¾™š½{Ñ<úØc¼úÚkôêÕ‹/¾ø‚Ë/¿œ­[·’——Ç5×^K]]åååÜq×]DEFÒ%?ŸgŸžE‹³ý­¢rÔ&=Ô&PQù¯ÇCùöít/.&»sgÌf3Z“ÉDzF'Ÿvu{÷â°Û;œA‰‰aø°aœz꩜2j ! —Ïçã±cùæÛoÙ¿?^¯—?ük®¾ºE>ýôSr;wÆb±0hÐ víÚ… ìÚµ‹+®¼’ «V¯&/7³ÙÌe—_Ž(ŠX­V.¼øbîàzöìÉÄë¯çiÓ(,,ĤĔ¢×þû_bbbèÒ¥ eeehýÊ_«ÕÊØ .àé©S)èÚ•ØØX-ZÄÔ©S gðàÁìÙ³FÃ)£G³eËÂ""èÞ½;÷?ðÅÅÅddf²jõj´Z-^Ÿ;ˆˆÒÒÒ˜;w®âzÖ­[7®0„„„?ÍU쯘IÞ³{7ûjk>f q:¡×ëÑiµDFE1pð`bcc©Ü¹±U[—ѹsgFÍøñãÉéÜ™%K—¶16dYfðI'±y˪ªªe™~ø‘#F(3»«V­¢_ß¾„ùÇ…‹)åŒ9õÔ–>×j©Þ½›¾}ú`0=z4N§½^Ïó/¼À7ÝÄÀ:lŸ|ò ={öl“ÕH–e¾Ÿ?ŸÄÄDÒÓÓù÷+¯´\ן^5`8¬X±‚ÂÂB"""(((`Ù²eJ9ßÿð)))$%%±®¤½^ÏŠ+èÓ»7aV+,Y²Fƒ$Iqõ5×’šÊ/¿üBqq1W^}5½‹‹é]\Luuuˆ‘«×ë™òôÓÜsï½ôëÛ—ððp¦½ù&ï¼û. äåå±vÝ:,aaŒ9’E‹c gÌ©§òÈ£r '™™ÉÇŸ~ªد¾öZ‹²ËÔgžA§ÓA—.]¸ó®»HMKcóæÍÇŒ|_‚("h4TUUa6™6lgœqF£‘ü¼<"#"èÛ§=zô@®¹újFÍW\Á¨Q£øô³Ïè”@rr2))) <˜>½{c2™4h™™™!+¤v‡ƒÆÆFzõêÅi§žJqq1‡‹.¼ÓN;Ûn¹…ÅK–´ÈÃüùôêÙ“ /¸€³Ï>›¡ƒóÕ×_+]täıX,ô(*¢oß¾íÆ~\rÉ%œÐ¯W\~9?/X€à_ ¼ì²Ë8ù䓹æê«INN¦¤¤hYݺìÒK3z47\=‹–,aò=÷pée—‘ššÊ¢E‹øá‡èQXÈe—]ÆgœÁùçžË×_­¼Çÿ¶ŸvdIEåP¨Ù¨TT‚p9Øm6’““Û5&Ì æ ׫öVF\.ååå¸\.´:ééÊìmðŒâ 7ÜÀ /¾ÈèÑ£éÞ½;ÑÑÑÊË;>!ŋ۩?öS¦Nå…çžC–eE ÷ù|œwþù¼ùÆŒ9í4Î:óL®›0·gÍB¾75«V(²võjŒF#î ÿ|Aذq#oNŸÎÚÕ« £WïÞœyúéí*¿s>ø€Ë—³`Á.¼è"î¸ã?~<Ÿ~ö®»ǣ܃×륪ªŠU«VñÕ_pÉ%—°cçN^xñE¶••±oÏʶoçÒË.#++‹¢¢"öïßO—ü|ÞxããvrFÃÆ’ºvïŽA¯oו­Ka!ßý5™ÙÙxÛqÑýû÷³aãF*wíbËæÍ<þØcxü;>+ƒ½ÿsÍ5×0õ™gxø¡‡hjj"77—ÒÒR ÅöýÙ³ÉÈÊâ«/¾à‰'Ÿdú´iÄÆÆ¶ô—v~ÈСL¾ûnn¸ñFnºé&Æ^póøAøæÛoY³já‘‘lß¶›o¼±<;N&LœÈ'L¿~ýý4·MšÄèÑ£yðÚÄ>¸Ýnî»ÿ~–,]Š(ìÙ»—+¯¼²µ%ƒÜÎõ?Ï=çjjj8ið`âãã¹ïÞ{}ê©H’¤¬‚˜Ífå=wðàAbcbƒ1))‰›6_™‹‹;,…W–e¢££‘$©eõI’ðz½TTTðÈ#°yëV4¢ÈÁúzÎ;ï<å]ÓrŽÉDLL̯ã€É„Ýáà`}=³Þ}—…‹#K¯—Ë.½”Më×ã;N'K~³-‹ÕJjzz‡® **ª±¡¢r|>È2:ƒ¡ÝAZ´ ÞVJ_ð1µµµ¼þÆ„……ÅÃ>ØÆ5Éér1áÚkuÊ)-³ÓƒS^^®|Ÿ—›Ë§Ÿ}ÆþýûÙ»w/;wìQV´Z-+W­B¯×3æ´ÓpÚí<õ䓜8hP‹Ñär1qÂ<.—‹üü|ºuë†Óé üW®\I¿~ýHLLÄãñpË¿þÅÆÛÜ—Óéäæ›njñÓÎÎ&®S'n¼á†„^½(ß±£Í /Ë2—^z)^·›Þ½{³³¢¯ÛÍêÕ«™xÝux½^ÒÓÒ(*,¤¬¬Œ¢ÂBeUÈa³·ƒ˜ 4Ö×SØ©Sˆ²ü»ÙjÅÖØØáýi´Z–,Y³Ï>‹Ýá /?Ÿæ¦¦vw»\\vÉ% :”#FARR’ò}Jr2ßÿ=³ß‡ÃÇ㡱±‘ØØØYÒhذaûöíã†oÄi·sß=÷”„ÇåÂãñ0nÜ8´Z-Í$%%q饗†È’V«eÅŠÄÄÄÐï„p;Lž<™»îº+¤®:Ž“ âëo¾¡´´”>}û2|èPåûëÆÇçñpÖg0qâDRSR˜÷Ýw¼7{6v› §ËESS‘‘‘$%&2hà@ìÍÍø|>’0`öæfFŽÉ=÷ÝÇæM›ÈËËSäÓårqÅå—…FéÚµ+W\~9v»¢¢"æÏŸÝn„p¹¸îºëðºÝdffràÀ$IbÅÊ•Œ9’¸¸8<W^qË–/犫®BEÆ]tn§ŸÏwLȲ 464°¯¦†ŒÎ‰ŠŽÆétÅgŸ}Fsc#}O8Š]»ÈÏËCögf«•u%%|þÅTVVpÆé§ÿ®ÕGY–q9rä¯+1Áå·ºV þ®sN£O9…×ÿû_´z=^·›ÆÆFÂÿÆ›%ºÝnªvì`WE™YYª¡¡¢**¿Q[2Q¹Ýè´mI’ðú|h´í?:²$‘’œÌ“Oÿ<—‹ÁC†ÐP_ÏÒåË‘1P¢âŠ&ù|ÊsXmiïY \G–eôƒRo©£@zF eåI’$4¢¨dR‚–Õ¼àUL­?¶ãX‘eA¨?xÄ”"""ð¸Ý8p€»ï¾›íþÉŽÞÅŤ$'#Š"ýúö匳ÎâĘòä“tÎÉá¬3Ï$>>žF¼C@ž=øÛ¥¡±±ÝçâûùóùÏ«¯‚ `0˜ì7F›šš”~“e™úúzAàä“Ofé²e :AéÙ£cÏ?€††eõÀãvsɸq\7aEEE¼ôâ‹!+¿–4ø ý~ýúñå—_rÑ…bµXð¸ÝŠì744àõ˃Çë YknnÆãñpÆé§Sº~=' Œ×ç#:*ŠÛo¿ýû×I~K†’ÓÒ(Y³¦å=Öj"MEE56þDå"0¸ýe«ü¹FÌf3ûöì!#(‹J /Ü.¶æfRÓÓõ6n#í)‡'œªª*ÒÒÒZNÒ!2~I’„ìóÑÐÐÀ‚ ˆëÔ :P`ìv;wÝy'#†çÄOäùs[ÊðzÙ²e cÇŽeÄðáüôóÏlÛº!Ȩôy½‘““Ãã>ʽ÷Þ˽÷ßÏÙg…ÆJ[ºhñb&Ý~; ,øµ Ÿ¾}ú`·Û™÷Í7œtÒI<ò裘‚\ AÀáp°qãFòóó),,dÁÂ…ìÞ½»Ã¾—½^¶lÞÌe—]ƈáÙ?>eÛ¶!?KA²XU]ÍGÌÃ>ÈcO”ì ­®¸Ÿpó-·pÍÕWcµZysútîºãŽvŸ“cf¼ò¯”ï˜èh^ýÏB&&Ó£<ƒ<€ èõz>š;7ä]&¶¦&{ôQlÍÍdfd°±´´Íª‡ œsÎ9œqÆÊß:[S?ΟF«Åår¡Ó騫­E–eÂÃÃyzÊ¥¬@j\[S[7on‰ó7áºë¸úª«”rØššøùÇѶ*_’$Š{õâ“?_[—o·Û4p JKCÿ«/¿T2Ü}×]Ü>i’RÆ?ÁµHÔjñy½xü+Nj솊jlüE–þ¾½{Ùºy3v»#õŠÑëõ¤¤§“•}DÓ:ªâÐëIÏÌdõòåè üéD%IÂép°vÙ2"££1[,íºFhu:’“’B»Ö†¢Õj%>>€ÄÄD’’’€ÈÈHÑ<÷쳌7ŽÄ¤$RRR(îÕ+´p÷'Ìõ×_ÏwßÍyçžËÔ§ŸFòzILL$Ì ®ÑhX¿~=£O9%ÄýK–errr¸òò˹ìòË1[,\xÁÈ’2+'I‰‰‰X­V%~jjª"“ááÊ,bjjªœ™žž®øG\dŸ«¯¾šÆ†Šûô!""‚Çy„®]»"Ë2éii!™~ŽG$Ÿä´4ʶnå‡o¿eÀàÁJ¦0Ÿ×Kõ®]ÔÕÖÒðàveH’$ÒÒÒ˜1cÓßzKq=zù¥—Úìû ×éHJJBÔhgĈJ’€ÔÔTD­–I“&1yòd¦OŸNbb"£ÇŒi“Ài·óÃüù\3~<É©© :”™3fàr8ˆŠŠRäA***èÛ§OCT£Ñ0󭷸ᦛÐjµ\yżóJŠ(²hñb®?ÇÃðaøçî»ÈHOÇh0„¸¨Z-wÞq“'Oæuÿ^§œr ÿ>5i©©!ÏZZZ¶æfòºv%;;›¹|€×{ר¨(´þsDQ$1!CPšÔ„„„–²RS•¸…ääd,~ùLzø^½zqë-·pÖÙgãóù¸õÖ[9÷œs@’~•ÿc\–[+çÁ@‡Ç'.&í]§uyÁc]ðq¿ëážèKC;U~G ÿ_Å¿ƒÛ¡£ú©¨¨=ÿ±W=-Û=2¯^:„3‹søöóÏ4|xK0VJŠºÏÆ!Ìr464°eÓ&ºtïN¼ :477³zùr:ÅÇ“êŸùV9³2¢È– °FE‘œ”Äîª*Â##•å`Q©(/gWE±qqèuº–eôƒ‰‹#;/OqÁh­( ‚€ÙbÁa··«Hʲܒ™H§ ñ ¤äÔjµ455µ¤ã4[V(ü{+8NvìÜÉm·ÝƛӦF£Á请ìóa·Û[Üx¬VÜn7n·ƒÁÀ«¯½ÆÅ]Ô&è3 `iõúÆ?ÓnʶպÿóxÒ!|4w®b ´–¥àû ÄœXÌfþ¸ ­V‹Á`Àn·c Ãåpàv»ÊÚ½± IDAT Çír){Z”÷¿òü^·§ß½Ìr?G FCéêÕÄ$&’”˜È޲2’ÓÒTYå’©•K–•ŸO¤? »Š €N¯ç“Ù³uúé|ºªŒ‰³~¬Ô•#ÁHHJ"6.îˆf 0›Lt+,dõÊ•$¥¤ Qswÿ%Š¢$I¤ee—€ÍïK¦Õ’šžŽÙjíÐМpSjïû@lEë¬BL=…®õ1ïÅãÆqùå—+{wø|¾6>ü‚ (3àrƒ3Eµ®WອË証Ö÷0.%8ð{ ,[P€s뢃é¨íŽ›œ UȽ{ÓÔЀïlGÇÆ®Ät$#í¤ÝÞ*Hpß´–1QÛȈ(ŠTWW3ö‚ èÝ»7ø|¾–~mG–‚eÃçó1êä“Ùk]ŸwÞy‡9|ÐâžÃkÿù¢|Žu:mb‡:’—öêßÞ„O Í±Ûl؃„Ûˈr¿Ñˆ% L„Èr«g:¸>­ŸŸãE–]. j4-c‹:±¨rèÁI’ðù|¦ìVQéÕØ8H’„ÉdB>Œ€0­? ño)¾­ÛÝR¶jlüeŠ¢ìóa4ÛìÒ-dÿ•ø|>rssY¼hQÈ&x‡S€òy¼+ñÇ«Á¡ì5ül­þ$‰„„¾›7OI2ð{dÉwˆgàÚñã¹ÊŸU£Ñ„–ÿm¾rùrôǹÞ_ÔXHþ~ß±y3;ËÊÚL€¨¨£ÑhHÍÈ §Kôjs¨¨ÆÆQ2úŸ9Aðz½t/,¤¦¦†>}ú0wîÜ6ʬʱ¡(þ‘ïþlDQ ‘ÕpPåè©Û‘–¥@p¬V«=j÷dЫjÐï¡j×.<^/GRݪT‰ÏçcWy9å[·’Û¥‹Ú *ª±ñ—r øÖÚ"‘Ù»w/ ìß¿¿åøß˜SgèTTTTTŽ4²,S]YɉÆ¥6ˆÊo’”˜Èâlãv«¢¢Ý›û†ƒLKÊÁÀì‘FCRJvÈß4W·ŠŠŠŠÊÑÅåt¢÷gfR³ªü–qÈÌ(«z‰Šjl¥‘ߨ@–C¾¸\ɇQ®ŠŠŠŠŠÊŸ¤Eª[¦ŠŠŠjlVð|­ioã›@æ£ß*WEEEEEå¯ÏÔ½TZë0**ª±q,¼ #fCq› üþ[Æ„,«) UTTTTTÅREEå¸DÍ¥z¤ ¿KT‡Y¦µ)"ÆGõŒTQ9~ß ­¶e“=½­N÷kzå?aÕR£Ñ(»•««¢²,c±ZÑëõG¼Ž™xKXØa•ØäïXÙéûhÖÇëõ2qâDžzê)ÆŒÚ5kT£CEEE56ŽÁQ´ÃOë`pYyüa¯|¨¨¨“ u`¹å 2{Æ Þ}óM~üæêDÅ9Y–Ñh4Š¢×ë;lii)GSЊÖýé´ZtþÀÃÊ_ïC]ÛjµrÞyçñλïbð'±Mihh sNâaìK¤×ëyjÊž}î¹cB±ÖëõL:•'ž|ò°ê¤ûôƒ>Àjµ2wî\ºwï®>È***ª±q¬)Œö>cC2L::¶Íy***ÇÕ»@EÔÕñÍgŸ!‰"£Î>›3/ºˆ˜ÄD~úþ{vnߢ¤·VƯ›0ƒÉDBRѱ±œ?vlȱcF£Ñ ÑhÅT’eÜn7¢(†ü¿£ãÿEQù´÷wëºZÃÃé7`qññlÞ¼Yɲwï}÷¡7Ù´i@È5+:N§“›n¼‘ Ùl²õqã!p/¿[Ç¿«ÑhDQÙµ¼=c$ø:¯×Ûæÿb;õ ôo Zÿl¯ŽÁ×oÝ7J½ý{13†3N?½M>íÝsëþ ®Ëï!==Ñ£Gc2™Ðjµêø£¢¢rDPc6Žœ†¡Älˆ¢ˆN§ yÑ’À@&Š"&£Sëª% ÇókบbNEå¸B]»veÄðáʹó¾ûŽŠŠ òòòuòÉèt:V®\ÉÒ¥Kq{<1bøp|>ëJJ°Ûl쬨@ERSSA–©¬ªÂépPPP@¯^½Bgþe‹ÅBQQßΛGAA‡O?ý”¾}ú(ÊöÏ PZR‚ 8úõÃçóÑÔÜL”ËÕ¢‹" .dåÊ•X,FŸr )))ø|>æÌ™CtL Û¶mã”Q£Ø^^Nll,E……ŠâP®?œ;—êª*òòóÛ$Þ¿üò «V¯FúõëÇà“NRÒy¾7{6555œtÒIô(*à‡Ÿ¦´´€Aƒѯo_$IâÓÏ>#1!’ÒR²²²8xàÉ))lÙ²·ËÅÈ“O&9))$ÀZ’$>úøcb¢£YWRBZZcFæË/¿¤b×.N5ŠÂÂB‡Rÿ}ûö±®¤§ÓI]] œ!ô´4î¿ÿ~~øñGŒF# ,ຉ‰ŠŠ"++‹Å‹sí„ ÄÄÄÇ3Ï>Ë–­[Ûåî×÷ÿÛ»óð¨ê{ñãï³Î’}„d—KÑj ˆŠR‘ÒÚÚÞ_«µõÞŠzÕ{Ûª× õº{ínéâ‚u¡­bkAQª²P–„5“ɬgùý1“1 ‰UšÏëyæ3gfÎùÌ™s¾Ÿïú9vïÞM `Ù²e 6Œ²²2œä¶[·ne`y9ùyy\¹`U7âñùxòÉ'yçwðz½üñäî{îa`YÁ`o¾™ÆÆF®ÿÁX¹r%§ LZZªªØ³gO‡Šœ´´4þç®»xæÙg1b+W­¢¾¾þ¨ïdÇŽÜrÛm 2„ò9ÔÔ„¢(˜¿æ™Ô{ý÷H]]Û¶m£¢¼œ¼Ü\®\°€M›6az½<õÔS,ºñF*ÊË©(/ç'?û7,ZÄiƒ£é:W]uUâÚÝ®°îº.ß¿þz–WV2tèP~ä®»î:Žøý~æÍŸmÛ,_¾œ?ýùÏ(ŠÂÞ½{¹æÚk ‡Ã”Èo÷;*++IËÈà»×]Ço¼ÁÈ‘#yüÉ'yøÑGñ¥¥Qùúë|çškÈÏÏgÀ€Çñ°«{™Bô&iÙèÝŒ€‚ü|ÆË«®JÕ¶i»ðïÛ¿Ÿ{î½·ÃßÄÿ>ø ÅEE©íäÂ/Ä)Vƒ£ªÔíÙÃä/})õnßIQú•”°rÅ ÔN‰D¯×˃ÿû¿<õ“ŸÐÚÚÊc<¼yóRµø( 555”Àç&OƲ¬T7Î#F0þ| òóijjbõêÕ|yÎþí[ßJŒñz9ÐÐÀ3Ï<ì .Àu]Ο9“Ó§cš&«W¯æü3˜6uj¢¥ªŠW_}•aíZhÚ”••±iÓ&<ÈÿÜ}7=ú(<òHêù«.Ä4M ‡M›7óâ‹/2aâDLÃ@Ó4"‘Ï=÷ß½æfΜI(âÍ·ÞbÛöí|~òdú3wî\ÆŽƒã8\wíµ(Š’Š™ªª464ðË_ýЬYC~^¥ee,ùõ¯ÚW˶©«­eô¨QT D<Or²³9tè‡ì¬¬T¸m°|ûñá@ŸÏG^n.ŽãPXXˆ·S÷TÛ¶6dwÜq—ΛǸ xöÙg1MÇq(..FQ”T7"˲ˆÇãÜrË-©ýî¹çˆ%÷ßqœ­ŽãЯ_¿Ä~) ùùìß¿ÿ¨1‡¬ÌÌÔŒ\999(ª Š‚ßç#v˜êÜÒÒÓSøü~,Ë¢þÀÒÓÒHÏÌIJ,***‡ÃDZ[q]—âä÷y" Ã`ݺu”••IÂ!„dã3]ÈHÖf¦aðò+¯`ÍMMTmÜÈ„ °:µ*tøn’ßó Öjá8C‡ !‹ñÞ»ïâOOçåW^¡¢¢oZZ¯L«,÷!Do’nT½•d¨j¢†ªÓDÓu.½ôR&MšÄc?ÎÏ~þs¢Ñ(†®³páB.XÀСCS3Ou~E•|PˆS‰mÛ 5Š¿¼ò ›7ndÔèÑ…p(ćUULœ2¥Ë.T­­­„º)8jªJÓ¡CüÇü-Á Žã°àÊ+S]²‚Á`ê5ÑXŒ`0HNv6ÏžÍW¾òJËʨ©©ÁJ~v$éP(v]—ü‚®\°€º}û¨¨¨à‚Y³:—Fiii!‰PTTÄÏ~òü~? ƒAâ–EYi)£Gæ²¹s)**¢±±‘ÂÂÂŽÇ¢i|ï{ßã¶Ûnãì/~×q8ÿüó>|8@ CBöÓŸþ”Ù³g3vìXlÛÆu]<<ô?X´ˆ¥¥øüþTÒÓ>ÙØ^]Í­·ÞšøŽ‡;o¿=qüá0N»ï!ØÚJ<cÈi§1bøpæ]v……….š=›ÚÚZæÏŸÏ˜Ñ£ú~Žm£( ±XŒ`KKê¹#GŽ`YÑH$5›–mY´vþ>[[ÉÌÌä©ÿû?®¾új Ó`ÉÓOãÚ6áp85%q3 ùÑŠä¹²š¼8‰2rþ·ïsCq—'¯ø—L<×–-ãìsÏÅu]ú—”È…èZ“7Š55˜¦IÉ1šŸÛf¼C7G! Óä¥gžaæìÙ¼ü~5ßYò~C‘–^ËÚzÐõIÓ4fÍšÅ%sæOÞø{ò¾BˆSëZÐÖ'Ö%—°eÓ&þ´t)¶m“_\ÌçÎ:‹Œd¿ýîo±;UUñù|]~vû×¶OÚ<êæÐ©Â£­•ÕëõóúÓy\DÛç·ÿ{çãp]—½{÷R³cÇÇNÖò{LO§}S¥Ã1ªªÊê·Þ¢5ê0åmWÛvwýíªB¡ýñwŽ_wßCçcok­ðûýíºŠµ_ç}율µ=×~†²¶5>ºú>»;ºKP;Ä6yîeåæhn–dCôHk0ˆ¦ëè†!Ñâ„èǹkJ„z ­&MMÖ,‹Ó®îx]¤Új¿ÌiÇ$50⟙phšÆ˜ 7iRê÷ï$k§?‹• Žã0vìØž.µ§,ËâùçŸçë—_Îøqã:¬=Ô¡P(1øg(nV,Æ…^ÈÀ?±¸õæõNQâÉV¤òÁƒ©Ù²…æ¦&T¹ß‹ãœKÇÉÎÉIµ>Je¨èd#9³†8¶œ¼<6oÜHN~>EEE½³ææf6nØ@ÙÀ2v£÷J]ÞˆIBÄ'p@¢ëKç¾ûŸÕ›´mÛL?ï¼T¬Þ.¬†Áw“Óׯ:ÍLuªŠD"\ÿý狀E}¦¾Û¶}iו+#+‹=;wR>x0yyyx½^‚€TĈcRU•ee‰…H…¬Ü\<œ7âã'ª¦ p\Wj;z 33“ŠAƒX÷î»ÄJâ'·dôŒ D^~>š$½RØi«ÕÓt3ÙG[ÓuZC!|É®2Nôå©»A뽕|Å»éft*Ǭ-qú¬Ä¢Q ÓLIÉÎÉ! ±}ëVⱘL¯.z¬©±Ý0ÈÈÊ"3'Ÿ×›ê )Ä 'éééÔîÚE¨µU%w‡!–l——GÆg$ìõÒÍZUÕÄ@KE!šìz%NŽã848€¦ëdfdàº.™YYìܾUQHKOO$ŠrBœê×;Û¦~ß>|~?éé©ÙÍ””“›K$9À\ˆ)—x½^Òü~I4ÄÇM6\Œä," bWM áPH.FÝæÊ1ÿ¿·H3e/^(5ŒŒ ²ssñx½8Žƒ×르¼œÆ†Ô×Ëù.„ø—¹Þefe¥úÙ·_‹ÅçóÉ |âc—I$Ñ]‰ÇãÉé¸Ýî“ Çq(<˜ ï¿Ïè 8mذÄ`F»!þUD53º¦uø)ääå‘™š»_Îw!Ä¿êõN!z=ÑˆÅØ¸v-åƒUiÛ!Ùp—Òòrv×ÔðÚ+¯`uZíU!„B!:$†ÁÀŠ JËËqc´l¨šÊ†÷×¢E u»B!„BˆcqP$ÂÆõë?qB÷Ɇc;ŒŸ8Q"&„B!„8a'J:jª©OjÚC!„B!Ä¿¶Î=£dñ!„B!Ä'B’ !„Bˆ>J¦×ïyL$V/&²bŸB!D-(ªªJ8æ`c#–eõÙX¨ªJff&ÙÙÙÇŒU,£±¡X,Ögc¥( iiiäæå¡ªÇo·dC!„¢£Ñ(Uë×3 ´”üÂÂ>‹x<ÎŽš””P\\Œã8.T˲ظa¹ùùäôÙ… Ç¡nï^--TTT¤â#ɆB!„HÑ46mbèˆT Üç» å°æ­·ÈÍÍÅ0ŒÏ©ªJõöíô/)aØÈ‘}~õÂâbÞ_³†`0HFFÆ1·•dC!„¢RT•æC‡øâyçá:NŸO6²srµ¶‰D0Mó¨x´9’H4·Ó*Ù]XI$%××=¥ãæ÷ƒë‡%ÙB!„]s]MU±þIK蚊¢jG?áØÄmç3»›DÂ%ÑÂáô IPu'ãðÖ­«kˆ46âÚžÜlÒ**È6OvN<Ω˜r¸ÉGO–ÌdC!„¢'üjÙuMecM=¿°&QÀv]\ÀÐT.Ÿ1–³F—a}å$c¥¡ÚZÖßt3êžíxíV¼¦†¢©"qh>"™…Œ¼õ6 Î<ûlÞ‡žt&“dC!„¢/'Žó‰%® ªšø¯¢©Üôär®¹ôsx=â68.ì?â·¯­ç ãÊÁú—îI Ž‘l¸®‹jì_±‚÷®¸œá£RÐ߇£¶6£¸n^6všI«ÕÊ»ÏbàM·1rÑ"ìHäÔâô<)”dC!„¢/'У®A'JQl×aÍû˜2²€hÌ¢ ;?¾]ƒ…FKÔeúøRb–¸ŸÈ~œHÜ“ˆ•j4WUñÎù39ëüIx¬Øö!ª¡ é*ŠîÁ#Pï‘QÀ¦åûnGóûzíµØ‘ÈgæœP’ãMœn’ µ±j¿­B!„è‹79X¹7šªp¤%ÌO_yŸëú3ºi$Ч®‹å‚‚ã*¸®Êá–V4Eùhдë¢ë:¯7õPÛí§ÇëE×´Ô¶¯Ã0N~¿S[ß60¼«×¢(D››YsùטpÎôÃõ8»·£ZQ4]E7U SC754;†ÛX‡]ó!¿p:5?¼•¦üE×;¼§x<žâàñ$öáø¾: °wï^Þ~ûmlËê~»&†’l!„Bôa½:+’ë¢* µ îüõ*TÓ‹¡kÉ¢º x=&¨:á¸Ë‘Àò3ÌDkA[¢¢ë¼^YÉ¥—^ÊÔ©SY´h›š0tÇânàï+WbŸï^{-?ÿÙÏ0MóÓËÙ ƒî¹—b=NšÁª¯Ã<+ƒk£(.ª ŠcaþàŒsq‡à@-#Æ âƒ»ïÂj ¥ÞOÓ4‘wÝu3gÌ`úôéÜyçZZþ)dz~ýzž~úibñøIŸ3’l!„Bôíl£W®“hÑØSßÌõ-gÔ°r&Ÿ^Ρ@ˆÏ/x‚É žàÀ¡V®ºë^ùëûìݳ—ëLJ‹2±d‹†¦ñÂÒ¥|çÚkùî5×ðË_ü‚ôôt.¸ðBöÖÖ¢¨*o¾õûöíCSUÎ;÷\šššøÆ7¾A,=¹ý?‘1ñÇiݾ•¼‚b{vã¢çŠëñ<ò'옅‰¡Ýûô¯]‡:r"8.öÁF|šƒÖPOëžÝ©Ï8ÔÔÄœ9sؽg÷/^Ì£?LK0Èê·ÞBULÃÀëõâmkåq\ÇÁcšèš†Ç4ñz<©¡¶Øz=¼^/†®§ö=õ^É–\MÓ>JÞº‹Yɘ !„Bˆ>ª­[ŽãœÜ,PJ²P»ªªŽÛŸ~“o^r6Ž¢Ñˆð›;ÿ C>SÃghd¤yHó™ìm8BKÈAU71µìUW_Íï÷;¦NJ$áÆn zûvž{î9n¼é¦DaüÐ!.›7#Fðèc Oº…æ¸å§‹X)ŠB¨¾µ¹ âa\ÛÅõz>|;úÓñÌø2îí¿XíÌ™ÄVþ‰ðC·áܨƒ [hݵ‹ôÁƒÁuyíµ×ðùýÜß}©.bwÝy'–e ùþ¿ÿ;¯WVâ_ûêW¹çî»1½^FÉ´iÓØ´i»vïæŽÛoç+óæ …xøá‡ùåÓOD¸dÎßw \}Í5¬_·Ž‚‚žxüq¦L™’è*•ŒIW熪ª=Ž·$B!„}˜{’ Ì)ŠBK(Ê ß›4ðõ9S FâVŒXÌ¢®©S]Á£AVšAIaÕ{ÈÎ𣪠h*Uk7ÐÚÚšH4Âa×EQ¦MÊòÊJb‘–móã;îಹsyðhí¥®E=mÙèj»ÈþýP¿Çc£8àØ êG¾{wýßeßNl÷òB·~ÇÛVp‚A”°Fø@CbËbý† LùüçQU5µ–E$9c•®ëÜúŸÿÉ’%Kpm›3&Oæå—_fÞüù¤¥§…øÛo°aÝ:fΚÅ×/¿œ¥/¼À»ï½ÇÚ÷Þ#7?Ÿ}µµè𯬠/ä¦E‹X¾|9Uë×sÁE±cûöÔ±vw¼®´l!„Bˆ²{¡¾«þ0KWncþEçÐÜjEÉIÓ Åm"1C¿©` Ž©à·EP¿ÏäHk„ü,bܶ÷lW›îº‰YªÚZaTUåó“'³uëVvîÜIYYY—ë8¸ÝüMõùp=>§OÒéC £IDATlÅjÛ_P¼þ6öú±bàà`ÛàX¶£àº šÇL´&´;Ö®b­ª*ëׯç¿þû¿Q…p8̮݉.X–eqÉœ9X±¥¥¥4:D,£ªªŠ‹/¾ŸßOkK yyyìÞ³‡ÚÚZþúƬ¨¬ÄãñPWWÇÞÚZÔä4¼îÉ$fI2fC!„¢/kë>tQó¹á+g°ôÏ+I7òÒ½Ô6EØ×¡©%N lѶF,ÂQ›XÌFS¡¤ ›ß¼ºŽ/H4eôé§“‘‘Áò+0 \Ƕ©¬¬dü¸qxLEQøÚüù|ý«_eÚyçQ¿?šª~Ô êã>zÒ•¬›×ùŠ‹qŠ`›^ËÁ‰;Ä#Ù?_†÷¢¯~ù÷„žûÞ™sÉüÅ«Ä#6vÜÁ²\ÃOÌŸ¯¤MU7no¯^ÝaŠ®ihªÊ¦M›X|ÿýÜñãóäãó…³Î"Ú~ÚÜvû¦$gùòû|ŽÁµíäø‡4Ÿ×uyèxðþû¹ëÎ;Ù_WGQaa"y;^¼$ÙB!„Ç-?“X;âdçN(çÁk¦ñâk' ’›a2uL1g ÉfÌÀ,F”d1¸_ò3ðx ªjpç¯Þ``Q3ÎD̲‰[O>ñ7,ZÄŸÿòvìÜÉÝ÷ÞKuu5sçÎMÕüÇ-‹…W_Í¢nàógÅÖmÛÐtý¤ö¿G-]½0 p³²‰G-Å$´Èüþmx¿t>¡¢ñêË9xý•´¾ú"ž3§‘qó=ÄqlKÁÒ=ØyEøJKSc%Î;ï̲eË0L³G±êië†æ?ýGq.[ÎÐâlùÅ !„Bôª¦±£ºšÓ†=éâ–íŸécƤA¼úæfÀehY!×ßû{¼ªÍ–ûزs?Ôìgë®4 qéÙÃøê´‘Ã1p]¼^/cÆcâøñ,]º”ÊÊJÊÊÊxø¡‡è_RB<£®®ŽñãÆQTPÀÙgŸM~^kþñÎ9ç,ËúØû¯iÛ·n¥_ÿþx½ÞÏ)ŠÂþ}û(*.F×õΊa X»^x‘ÜÂ<œÀÃÄÚ»›ƒ?¸ WÕq•Ö~ë¸Dþñ6‘mÛÑŠû³¿9„oæ,úÏž“ì–—ŸÏ¼Ë.ãÀ¼ôÒK¬Y³†±cÇòå9s(,,$ ñÒK/±cÇ.ž=›Ò’FŽÁîÝ»9cÒ$ òó±l›}uu\0k¥%%T”—ó«§Ÿfùòåø}>FÉ¥—^JíÞ½üâ—¿dÕªUäð¹I“ƒ†Á¨Q£PÕ£Û&TU¥vï^ÒÓÓIÏÈè+`ÛÃü©j†¦ äû>7wyòŠ/qÑØr\ùí !„BüËÓ ƒ¯¾Êù^Ø+ÉFª ª(„¢q~[¹™÷‡Ø¸eo?õÿ·FS+S+Š‚›LPl;ñÙÌ7ÆÆFt]Ç0ŒÄ P¶M,'pä/<ÿ<%%%X–•êêcšfbQ½hâý?.Ã0øó²eŒŸ4‰ììì5÷ªªòþ»ï2zìX|>_×Çíñ°î{ß'öâó”fù‰7ìG±@ók(ª’JLœ°«‚^P@ÀÕ9[ÌY+V h¸.---\0{6Y™™†¦iض͑@€Õ«Vá8NjF¨¶ÙÄâñ8>ŸX,–HZŸÏG8‚äÀr#ÙbÛ6±X Ó4;|F,EÓu4Uív MÓXóöÛSܯßQÉÆ7ìâ;KÞÀo(2@\!„¢¯ë…ýEÁq¢ñ8Žm3ï¬rVmªeýP_WOK8†ªª¨É‚oÛÃ0 TU% òЃv›ø8®KNv6‘öã€h²ÐÜ[ÇñqcåD£Œ{à~þ¶j%»ë÷SRT‚ÓÜ„ ƒ¢  àâ€a ÒŠQwð cû<ªaàÚ6®ë’––Æ‹K—vÙ¢àº.‘H¤Û}‡Ãí7& ¥þljw‘LUÕš]¨Û÷Ñ40M4UE×4t]ÇŠÇ\â!·]y4 -Ù¢aFò¡µ­hýiÇáxÛ(JjZØÎ\EÁcšhŠ‚ûoPÛ¯µï½‡¶Pm›&K!î÷›8‰ø9çP’\¹;ÍïÇÐõO?‰èÅXI²!„B!Nh5èã1LÃ4ññÑÊämã Ú×è0v£í³?å‚vO ЊªvÛ²¡«*…EEddfRQQAó˜1457ÓZ_O¼±+£f&fA™YYdg“™™Iff&^¯÷ŸÒ¬7c¥HˆB!„8·­ý t’­ÇÛî3R›Ü®dÉõŽ·]ZZiéé¦-7ùúÄØ ºL¶N•VT¬$ÙB!„Ç+<»É…ä$njV¦î ØÎ‰Äª§ÉÃ)”dtH${8nC’ !„Bˆ>Y¶v)*.fˇ2âôÓÓ¢º}sÛqس{7Ù¹¹èº~T—&×uÉÍËcGu5§‹×çë³±r\—ƆU=j=I6„B!D¢€mÛ 2„Í›7³zåÊŽã'úUQp\—~ýûw¹Ž†ëº””–²åÃY³zuŸŽU[w¯œÜ\ÒÓÓ%ÙB!„tY€Ö ƒÓG&‹ÅútÚëõ’‘‘‘0ß~ …›ìr6|ÄZZZˆF£½ºâ©+Ó4IOOOµk¼‰$B!„}´Ð‰Õ s>Íõ->ñéüÿŠ¢••%j—„o`»ŒB!„âc$!ãÇC’ !„B!Ä'B’ !„B!Ä'"5fCQ>‰/„B!„'JU”Ëo蚪°vw#® É5…B!„â„((¬ÛÓˆ¦*%]ãç«>Àv$ÑB!„B||šªàÑ5píd7*ׯ£šŒ°B!„Bœ$×àÿO4ñÉ|°ÀKIEND®B`‚nted-1.10.18/doc/docimages/block_select2.png0000664001041000007640000006066211520267216015471 00000000000000‰PNG  IHDRÜ<$ HàsRGB®Îé pHYsÄÄ•+tIMEØ3ä×;tEXtCommentCreated with GIMPW IDATxÚì]w|şݽ~—ËÝ¥÷žHн ""EPT ¢ˆŠ€þD,("Ò¤÷Ž„ ’Òë¥\ïeëï@ ©w!!€ûýðá“ÏÞ›Ù73ß}óÞÛÙˆ¢(@ƒÆÓ˜î4)iРIIƒ&%  Ýõ`5y>èðð‚Ez·C˜@â Ø|š”O%nì÷Ï·Ð'Ä[Øù —¸·€_š”O%P3èÿ6è4øi!å“Á¹Ÿj¢§ï§ ä?Öê§é ¤ú ß%Ф¤YIƒ&å35‘Ѥ¤Aƒ&% 4)iФ¤Aƒ&% š”4hФ¤A“òñ€•ù¹E: N÷2§‚”¸6÷×OgM™:yæ§¿ˆg¨G(’f”””äççwÈ­ÛeA†±*}Õ¼Y?N3“ íNzQ¹f˯‹ºzðž‰Á€hÀ–-[T*ÕºuëžKI^ß÷ãÆ“iæ“C¢wÎlZwô:N¿S~¦@AtÌ×ö¤¤ ™¿¯>TeeEýøÜµ £L{6­¶ôHw,P Q™g5jÑÿšOI*’÷Ÿ+·BF¬úéó¡}‡¼7;ž(SÆ¥L ñt´›˜­þñÅÊ›gÊÿc¤¤,÷.¥›!ñèiÓcÄÀâ°(1SUhRv0HÀ8xêÇ¡­I‰«ÓòTÿÈÆ2!Aqðšm ‹ ˾!WËLÏY»Ú˜”fTLb'_Çšu‰¦ª5À3&Ì‘þô¢QU¢Û÷©9õŸŠö¨¼÷óikR˜•Àak(‰«&Y3fÂom)Û½õ|äúR|wò]ÒMQI’ígxž¿T›SªÙlÞ·oßÙ³gœœ:uêTÓË=ò¡Î”ª5ºìý›×'“ ‡v])Öº‡wÓfÿ½âj]ÉúëÿA˜§˜,&ÃPÍжTÄöÊ›“T^íÊ.P²Ê[”„a˜$ÉF묫pE²\ÐÇmêq†ê©‘Äq\*•º»»³X¬ZF%ëªð²”P«Æ\IL¬€𗬩JSŽhÔCλ˜£ÁëIÊ®v½UVíQU{÷ÔÔT“ÉôÛo¿5_§-zjµZ½^ïííÝ¢d€¤´X,G=|øð»ï¾;|øð&…ìÂñÛE¨^Ý*·¸r«”â¼ùé×Ó{»Ù5yS¸êäúu¥.ƒÞ˜<@ðd_±¤Vˆ\;ùûöéÒVžÉWV§‹† Ž0o‰Édúàƒ–/_îîînWÍ¥ÙºSø¡ááƒGØT°8C/ßË‹ŒŒì=Ü¥ÞO)eb(?ïžæÚ+Z­¶É¶‰‰‰÷ïߟ9sfÛ[ÊZˆÅâ&²î½þ(Öæ%:x<Ùsú¾öéG“ûI˜vÌÝiÍ9q`Ëþ3Á¯Äù…8?Ù©Ôxyà6# 5“,ÜÕþog ápBBBš’4 <ÏßßßÇÇǾ‰Û c±˜...MG½ÁÑ*XLÊÝÝ=$$°ÞOEÎÀÛÔ­F"‘l¬¹yäçç;::Ú^U[[!˜ê¢ÍMYµê×\ 2ì½_>Ÿf#Šì„¯WüšUmî0Ɇ|òÓåߌ½Ÿ™\eKeíRPö¶‹jB‡ç7%,ñs¦p‚0c"Ï^‹¿Zíå`_¤îÄοÕ;÷éÖM: -÷0jéw§O;))Má•å?œÄp ,X÷ûôX»¬$…Rw~—*š0}X8«#ž] ÃpÜž Kdž¾Ôó™Ðh¿vïÞ½íÛ·7bãpó­S[ÿ¾–KHàÛ‰W‘¼kGš]¹“<ç𱔘 ^·²ŠP /;±wßá šÌÂÂBubL‚s£¬ªù­"Ó뇜¿p)OÕƒq›‹*¹;vœ‡›HŠY,–òòò899Ùçç”àZíà›7o¶ß´I¾ˆÔéâ®\¹VA\­÷“4µó}¥âz±¬öÊÝ»wFc£ «^£3Yq‡ï(0p3½•žž~ÿþý¦ªjRºººFEE5PÓš}zí¶#7õ€`Šéìí!°£~L_¶ýÌýø7?%º’s`Gg¯.QQ¢'Hʤ¤$…T:H>@0“ñÂd3¸µ­dHfý,ðzqÁ·oðiÃâr•%HÁ ®ûÔ¾œ28¸8ãvqÓzæååÉd²:œiRªTªÜÜܪ£ª3ÛÏÈ´VÀñðRo}qžFW¸å—5× V<;YÏù…É ˆòÚÌ—ƒ$6æ)}U~¥UèëÌh­=’Ëåf³¹´´”Á°µ™J¥Òjµ–•—„ÕÍÛAiŠbÁÒr)#·…—: Ûjµäææ6“2………Z­Ö®ÊŠ1õ—Éd¹¹ŠFÔ9ò«»„Öê@†ÕÀ&‚]!0yVVVææVס¤êÔŸë U£I³tª)Ì5<ÔÚjµ †®F-6Ã#L‹C•Eù•Í?<ååjµº–36Mp6B¥RM˜0°dÉ’Ú‹fiòÛC½!û{7Mj0Ußýßô‡ÅB˜¯à.Bü%6ƒí2jÁïå:´å;‘¤Yvû£½_ÿü/%FµEEE±±±)))¶Yºté«Ñ[³(’lAòÖŲ…AФã%-Öù÷òÜå=Ì8J4% ×ëG]ZZjosnU®:¸6»‘.İЋE‹,s|6 þÃg|ß¶‚G$MÅßM‹‹>öê„lמ¯'—êvƒÑhœ4iÒO?ýd¯ž'Ožœ?¾íòë è«*+ ªK2(~Lˆ ãÆÑ]œðÞ'SI\½ç®9{+åêæÿÍëê%­òӬܜXØ¢—G˜«¬]¾ùr¦Voê˜ Ûß·,÷ *ÈÖTF‹0É4wN—_Ú[–‘¢AÑF»“RÝÕl{×IYÄ&‰º^=\ï[)ˆã9ù©nµJ@ Ǹ—ßßòç·==ùmâ5ÛÛÀÇ tÌ&½Nñ\š¢‡˜CÞœ4]6­æô<"ºvëÝ3ÆÛYwP ÷¸¤„!“$²og1…WÉ tƒg¼é& ¬\ ´¸ð®scKÍ]4ä§C§ªQyúéLõ¼M²’2K“¶ì½Û­ÿ€»{Ï=þÚŠg›„-:ØÂK´Zµ}–õæ)ˆpkçi:Gæ£7%!¨þ3M±ÊǬqôóm°U Ì»ûvëé2`j{<äö|Üé›ï(;s¶#Ÿ Á0Âñ9LÃ9$€T–(rÞ× €:uÓs2i’î[ÿ—Û‹sû9tTºåÉ›V›Êšüvã¤GÃ¥g8`õzFÂÆŠº®¤þ•6ƒÐ²—6 û¶Úþµî!oEAÈv «ÕêY³f>|¸wïÞ}ûö}»én]<“&¥M˜âWf_»”Ϙ0¶FïÝ™¨r?~¨Ÿ„•uþ¯³wÕ§ÐñSƸ²¥$Vž,gøÄtö,¿yáìÍ<¯¨Ãã£8­íDNwêÔ©Aƒ¹¹¹ÙX$99™“7&2^‚øä7ÏO]›87ŽÿÛ1P_Ï,è¤æê|XÖ‰‰òIv9aa¹ÁƒøS7@pãbvâĉ¡C‡:84½ÌÏ,PšÃ•yÕ¿ÎVò_ø“ò‘5ì$ÂJ:wDç+.,¦F·IBbiñˆ{ìUÐ\ ÇÏœ9ãééc×@ 4¨}£o²¸1yÃ{îî~ ·¥špBSxmñì/îëQ’´ZÐ{ýu­$I’Ð}7ÜÐé…UU(Ùmá¹ùo}t1WEàÚ£_½*fðÆÏ[/k\Ø&ÆÆÆÞ¼yÓö"5ÑwVI-H¦^(Y¤¸v¬¤^+*®”ý

‡‰ÖƼoC†/£0•oª*N7jÔ¨’’’fnGhå¿ÆéêÄÑÔl@½¨¿{·Ti%g s.µ c0j¢o{+¯‰¾m—ìw߯û+³Ço?½{Ãêøn?ŒŠìýÙr?Àa@äÝ-Œ½öÜ©â5ÈßTrqÿu-Äö˜0kŒ+³QSNž=’š] XñÁ6ÍOK6Ö´„­‹ÿçüËW“Z÷F§ö•«}sÁMø5˜ 5h œF=IÕ¯œ2dTn˜%®Êå?:ñMQn…ÄMØ|†¡‡hR+¡ä•_ä†9˜¼œg6Q0æ»kÃÞ"ÇÌò’´ÅÊSzðÏ–A·wï€wß qäÂ¤ÍølþûÐêWŒèæÇA €Ø¿»´'ù^yUWËæåߦ[XÑߟ=0¨ Õ]çþš4·fžPnZøö,Ya3W.™$x‚Þ%EQM­œ¥PKæ)ýÈìë ŽfD¬u÷’³šÖrdyìxÈôÑ»s3¤téîöÉUkÉmyAÊrâv‰surx>?¥o“·èP@¿éß}‘÷îŠíï¼Z0ú•7>yo²#‹Á÷ñq ïüõÝÄÃʬ’êÞ“}¿ômGv •‘¸Éd²âAŽš-(%xr‹Ð!¢ûŠ×/ü¨ýçGœ‡K-™†²<`¥ÊbU©0‚ªg(H ûTâÜ€9ì€>Þ}ÀóÖÃ0£Ñøè5VŸ+ŽuŽ]½vSê¡ïløBèêÎBµÅ:`6Ü–¾¼èÓ9³Çõà Ådl¾r\–´ü»Ý «è¥éñÖÊ|µp|ë¾²5™L$IšÍæÚ6vAQ’$-f³Á@Ö™–ñäÿiö¯ò«¿CJ¥°\k3LÃáð{ £¶Ö¸[˜!U}–"}cHSÓ: ÇM&“íz¶9¬V¦ÙLdóý‰ã8Š¢öêi±XãL›FßqqqñññNq¸ÅPUVRTV¡5ZÜZ--Tá>“ÞЙXFsøðá#Fxzz6gš Ô Ó™Q‚ÁæÝ¹•ÆËÝ}˜;Ë¿°–€*’ÿ1hë¯ %áJrà&×¾híÛy ³^á™ÊýÎ0ô@RÆé¢ö ç²àòÄÄÄØØX>ŸßQ¤4^ïÇô*gù–4¯ç±cǼ¼¼bccíª\*•J¥Ò^½zµ£¥ìׯßâÅ‹[#MÒ_>´bWQÔ°ÙŸ½â÷äÝŸâââ7nÌœ9³©†Qž{rûoßý²§@cz°¤•Áã7}Ê´iañÿ®$+Ë¿ÞÆ¬¿j6L3O_»Ð™Ý੦`@AP¶õ-i펅‹k˜¾=È ~Dó–277·wïÞóçÏo…³Þ¾ƒÁàñZÞÀœBDN"7„(ÐVØ<ë‰w4ÇC„Ãá4ª-e*ùuÙG«þ¾¨¬»±-jÔ›¬“ýH‰¿Qoª¬¢æW)¾<èËÄ•~¾âç$Ô`±‡ ZUƒÁd2mýt€E]|j×Öã× \¢†M2¾«¯b°E.,Š4©å( XO`÷Š´èÕ…9é)7o—(-$G¬Ö›0²q3~sÛ÷?íIT6Øj™Á•Ô÷4`öÀ/%'™ÓNåa<_á€In>z¹§—”äÍ‹ßX°Gø{ÿ‘‹¹—¯ðäÀ@ !#Ì'15QdYúé?V¯^¿ë¢ÀD˜Áüt\l൵4+žRÂÁ&F‹N¥jÄuðêG£ü¸€ê‚¤Äd×{Òènâö3”,Ë××ת1ì®67ü•í7äýf„‹YAý„Är™ôá÷#gÊdJ=` \Ý\8 @Ÿ8ÖlW¿õÖ[¶¯néà@Ç+jì‚ù/ôóiA3ÞU™“Y¦ÎY»èë\vÄgß/鿨Ž1‡Ãéܹ3 ýæ½vöjÑŽj­µfž†™‚ÀÞ/|¹ò›)ý›¼=Œ8H<$•>q¬éÐ{ذaÏŠ¥×ååùËõVdùºÕ¯ŸÙèéá„i&Øk投s†uyù7˜÷îwÛœ»$$ß-¬Ð0\£z™0¾k 3ͱ6Ä“I¦¶•³q\Âßúê·¾£'Ÿ=“’'sô‰ÿʤÝB…Ojÿ}„í}¾<Ý%4)iРIIƒ&% 4)é@‡&%èРIIƒ&% 4)iФ¤Aƒ&% 4)iФ¤Aƒ&% š”Ï9è7:4)Ÿ:ÐothRÒ A“ò‰ÃbÂu ô™SÛ®}=iR>cHØQ¼îµ2'ž-µwîܹaƹ5ƒ&M{C/§H¹×3wsii©R©¤-eƒ N‡ãx{TŽc„²Ê€¡6Ú¿gï ô=Ó[ÿiФl?9räÊ•«míœÑýJ“ò1pç΂‚ºè@çi›–Û|0žÉÍß:ð•Öä)KKKkž$jp<EbF$€`“É@Ï«ɇ¯WUS’ö©ªªÒétiiiF£±ÅÊk®—”” ÎéééÕˆ¦yÉÂtƒÙÒ5#ãêPؼdq1ª×;&&fÂÔ”8Ž#RsfhóMkFàq$ ¼5L]%ÐÕ ”––êtºÚ~œ»A’$“É´QÏÖÒl6+•ʆ:‘^~÷ìöݧóª48Af²a}FÏ|u´¶³ïH]en…EìïR{ž—½=¢V«q×jµJ¥ÒÆ»›L&œ t:³N‘F%uZ A:^©´Ôû©AŽãJ¥²)RZ­Öõë׿þú뉤£Hi2‰™:£Î°šÍf«ÕZ;Ðs÷ôôô{÷îMŸ>ÝF=[yÞwÃ_IT{}ײžÁ†ÏøäÔõŒÒò’ë'6MÔI(ÅŒšwü¶” m¿i¬HžÛ?zÚ¢-JŒj5ŠŠŠbccSRRl/RsÞwvEµ¤mÚ…²…AФã%-Öù÷òÜå=Ì8F4% ×ëG]ZZJuÎþ@å^~äÊ’%KÞyç6©üÔ©SóçÏ·]¾^3RXþ¥‹¾ÚßáºOgÄ»ò¯™ááÁÂYol8ýÇ»*ÝþÃôöàP¸¥4çž öŒ ÷jj‹_ÂXypí·»næîjí˜ÅPË~`íÙ×68gé½Q¨µà†¼¸§8Hp?W?6Ü*%Ÿ½@U—ü½y#4òý%3‡Ô0²¦rÇÀ¸…Ÿ½áce7ö|±b‡ÔLVfŸ=aâ”IÓä››¨ŒÌ¸ð÷Æ]I&+õäÓ€Ôs”¿¡0<ï”tõãÆ)âÃï;~GòûHãÖßåÖ§~eHÛRVtóô9Uˆ Y\*C1nˆw¯)cC˜ WŽüºïR!Š™”ªªÒ¢Ü¼rCcãO™J·-èß_ÐkE è9Ù&²˜ïl.ÿi‚GÎ%‰¶‚넆¯Í’Üø@}WAü'H©,¹™£’î\õÙ´7?Ú—\DÖ±7 ®KxŒÀZ]t>)‰<æ—Í›þøóÏ×zJŽ?i,ÛõÛNß—çôñ@m”vnñ£l¿5eƒ-¨Ñ: A3 EI“LGV¸Qhýñ…pÒ‚S*IÙß±5hó!hÍyßݺuëÙ³gÝŸ´Òô“§nÔ˜>®씡‘ÌÚ“H<ïÖéÄ[•L÷È—†÷rl⼊Dso%[Äá‘¢²ÛW/Ý.òЧ3§µŽ^¯?þ|¿~ý\\\l,’––&(Ö‡¼rš—4VðÄ9xŸ-¿Þ­ko…JÆÂãW7õ¡†a ýû÷oxUý."pÙ}³,/„«e“LŒYhvÊôÀ•pë= £·G‚ÔñõO†¬Ü{,]¯SPýA§Ò‡A®ÅÀ#¯öJJJŠÕj‹‹k¨„¶º8ýN¶LgÄf°øïÞ}º»ðÍäËÊÊúõëg7ß튾ÉG!Ë>36„_ãFùl'j"PÃß_¨9°õνYÆÕÓg’rP¢^¤&ÿô»o}r¥@MàÚ£_½*fðÆÏ[/CÉV£°°066öæÍ›¶Yºtéô¨mY $I´ ™v±taâÚ±’ëü{yÎòf Å›Ðét£F*)i¡*Ã2v•®ˆP¼‘³õàOþ×oRc½ºq<é·òÙp1@ÍÄÇ= ®§‰Æšvö2çÒ#W>ÿüówÞy§¡¥iß}¡—‡ùïdèèóîoWŒM÷؉'æÍ›gû(´Òq«ç{9‡ üiËÖÈý—»Ž™òâ ×¥(¢æÁDXŒŠ»û?cqÛû»Éows¨S ^|álvQá†e 6QhÞ­ëzš–°uñÿœùj’j½’5i;f%ˆ‚ ¨ÅÏÇ Ð\å$†©+­f …p+ šW†aè!šÔŠ$JO•ÿ>Û30QÍ$*¼\¬|òáÔõäçž,qÒ¢á âKAÕ«?ûúº6~ºiÕk´&+Áàðq’ª7ÐEjóϼ3uîÙxJñVœogº×6°ßè4Ò$„7éq“rŒY͸8ûI¹lT¯5êõ(õHB…ýöê o×´R¹iáÛéYòÃf®\ÒJF¶w(ݤFâe7ÔiÇ :™œb»q?ö1S†jÕþÌÐ`¼HèË1ð€Ãlª×{ù!ÝÄf ñŠròó÷g4£EV検½x éNf•ÚÌsö©–w‹ {ÄÍ0Ë×ÿ¼öŸ|yC§Ô«{oIÛ¦íâ˜Qš]N ALxpH̸?œ–Zcz‰áÆÝ&³J®Ð[0†P³A¥6H\p[˜ó¶Ne6V9gì,ÿû+7U9b€µ€q£Ü£³MJ‹AËn Áõ/<ßGÐDÊWàÆë9ίåÚI´âþÍg~Lª>n®=˜Bø7= ö>fÕÝ*SaõRÇ0Ã±Ó ‹æÆ à%%Š¢z½ÞFacÕÝ+)*ËÅ¿wt$L¯Nݽ¨Qߨ'~¸"åç_ª ïéoÏ ðM§>yo¿Uì2 AFÛµEQ”$“ɤ׷71™L$É1›MÿVN‘U ê®fh IDATï{[uõz•iƈb…×ÄÁ©F£Çñæõ41É‚ ƒIfMgP ½CLÅàïEAb³¡A9“ÑHl«ÅbCÛ yÚ®ƒûʳôj3 ëšµZ]®Ñ{?4Ã&”K0\$<¦Æô€™‹4éÃÅ »;ÃÍ)o2afû(´†”7nÜøùçŸmÖ•$&«€Çfä'\“ÙòQ,‰«û¿4Éþcu¶}¶5©UjJX0ª\Z±k×®K—.ÙXöúõë ¹ðÀþì´F?¢€p­#VéFa@oTXÕ#9r%ËòðÆlåɱ}#“¤ÆxðàYgš˜>Q-**Ú¸q£££cSŠYt@¥œ¦ö¹0IBË-ÓG …[o\b¥^ntºGTŠ—²´-Q4eœ;Rn×ð³ÕºsíÏ,èß,An^±¯o‡«5˜ƒë(q q.J<¸æJswÈËËËË˳3­!e\\Ü_|a‹$iÈ[6yÀñüì¯ãp·ÕäƤý[î³{Mß›gë¼@)‹nîݰú›u‡e¿çB˜Ì°ø—ç½2ØÆSK ‚(T¹MŸ1=lÐ#~…ã)êýŸX³’}&nŠ)0 <ù…7|j¤ º=ùØ•ÛõhŒò#Ê^?1>Âkb““‰Ñxûöí x{{7%#—6\‚½3ia˜- )¸§Üšõ=ú…9!-ôšUúkéÍ¢äGµf ÂF¼|Ç—̺/'''66öƒ>°‹0gΜ9s挜i%)!BF™Âò¯?v§^̤ÞêëÁ@läQyóàçKV:ûz‹}l#ªº÷í»oo½˜¥ÇëúxÄ©³©3& s±­¡0 ‚a¸^ûª’¤›gIªòÜuS¼F¤8Ÿc¢Çš«BáÀ7U÷¯¨dåµïô¢aê¿uïâÍn¦é5‹Ö`n¦W®QϦž(›äyž“ß™›v!¿²ôa'0ÆÌùìÓoŠÉ×.®³Q‡zÑ·í¥Ú1ÐÑKÓ×­ý=[… kÕ—oJضZ<]éÍ•+VÝ(Õ±ý-¡=óÃâ Yhý0OâÉ‚š 9Í:y~öݤkÉ…Uz¡WXF~9›jX5Þ—Tå5ÈlÀãþ“!Äg°dQ2Vp¥èvЉr£†»‡uö;âŒgÈö5 ž/¿ò¦a¿¿N”9xDDE†ø{:p™õʵ½HI¡òCk—íH(EŽþß÷ËãCͶ4ý³kKz1ɰ§K(‹ôìµ¢Œ,¯¿=QØÄ#*˹øë÷«6í¿TiDòŠ=: 'ñh=dµ"§´‘–¨íú‚˜W·rz!ݦt›b_êªÅìUû.ŽÀ±SÏ!´G–ÍÆ·‘EJ‚ P´¹Íq³ââ¶Ë7]pˆyaŪ•#ÃEjÛWû^qåÏ“!ã†iÓóÊI‚ÀPµeù$éÛÍkóõûÖ‡ BøÞÝæ-_9"…5¢-…)n-ž5w÷|3Q7â´­Cëœò}ÝÍùjPpmÀ‰Jû~ïÕ ÆÐÇÝ'EQŠ¢0 k¦W1 £(Žã¨m·Ã0Œ¢ÂfyG0ŒDQªE=[ýÆ*ÇI’´½TkH™••µgÏž&iÑÜügÿá„tÇàþ“'ËSìMµ±f³"÷ð‘än/M(¿,Å(¼¡ 02bÔ¤a†´¼*½…±K@ü˜Ñ¡pÉ¡½%šÖ»G6ý}#¿á:. É—/æ+ªë®wp˜F°š+$˜†8(Ç·Èm¸Æ¢gÚ×vÊjµVTT;vL"‘4 © µzpzz:¾ç–-uªÊI6.%5U/´©ó¥wºè©ÒêæIYZZÊb±šýFq÷îݼ¼<ÛKµ†”îîîÝ»woÌCà “­Ù°£˜ÙuÁÛâ» 9vÔObºƒëG¿üîÔxï+¹g¹øFÅtÛìU÷ì3µ˜ÍV b°x5ޱMOØw.Û/¼Ï‹#cØí“™€½FM‹2ÑŠâf°9ìŽÈÜ´#žÝ;žºÍMæÖ ›.gKÙNEöÕû¯™Û±w!‹Ãø<ÎsÆH@=ÃûÅ´ÆRæææ=z´½:Óª¬RY‚úŒšßŒåwOS O°GŠ2‚Jôº½ü‰ÝÑjµêtº„„„f¢o½ ×j{gff=šcKŠL¯IOO§ŽÚ´r 0#¸Ug©•-f 233íýôôt©Tj{©Ö’ÃáˆD¢v#Q_· |L¹\®@@ˆDØ“¼éŠ+š_ha(‚ \.W$âÛDt•A+9ØÖjŽ€/‰šË&[,&“Éåríý0 }ùúúú8ðyõ²ñÛÀ+ tzÊÚ'“êo @``àÀ6Eßå>:p MÑ7š ü»‚-Dß›7o lïѧ7¸z6ý—K“²Sû\œ8æ by÷Õzóþ+Îsn“ž‹çÔÙKðÆl‡A“’ÆS3ÂÏEOß4ÚL6Âõ‘‹=˜¨‚ ¾¾¾´¥¤"gÞ§G;V6›ýÕW_Ñ–’ÆÒ÷ » ~ôMæ@“ò©‹¾!ºhRÒ A“’MJ4hR>f CÒ}@“òi tè.éhÐÉóFH™~”¤ü·VæÈ @pMʧÑã€FúŸku§AÀ5”&åÓ 'àäOwíSÒ A“’MJ4hRÒ IIƒMJ4)iРIIƒ&% 4)iРIIãBûY¢»uáðáËÅQÃÆêíÀ¤¿|¡Ñ¡–’´×öüôÖï|»òë×_}ý§ÝIZìÙøF011±ý¶Þ¤Ñ‘¤Ì»¼óó/~L¯6,U÷~üêó—óž‰Ý/^=S‹ÆæÄc|'ÝÍ4ìA§„(L›W¥s ìׯSMÕTŽ¡¡b&ÝÝ ׫Uj½ l‰³ ŸÃ€þ{¤´˜p”Éàrœî—¥ÜÒ ‰ÈGh†Z­Öh46ßÁf¨Tª &>ÿüs¢) Šs†ºÇ Ýtt÷˜wïYwÔa/PÍùÍ+Û¨³¿èãàË/¿œ6mñd¡ÓéF]RRÒ‚ŽJ3ϯ|gŒ¸Î9Á¢°¡ߨ@ëKZÏlúØ•Õc¤g¯iûSÊðÇÓVYœò뢩þÿÚZ¶G×gYš®÷äÉ“óçÏ·ý­±”ÁMÁ ‚½ŒG¯¯^º4¿PÃôè±àË¢DöF|„ôÚÞ%_ÿìþ¢ã+/÷wxâ¾( ÃOþvÍõ*SeÊÒ9³w]ä-„&ïÊοΌˆ™éôÈH2ƒ{¾vXy¯ð,Ìë2xòÿ¾[:<ÆyŒÆ‘†¼Ÿ?|w݉]¤³µòÎ_ë÷Oñ•7³¹HÃö^móUBLïΞVEufuË!à/¾{x¸½ó¯¦ðê²¥«RË cŸÅã)Ò¨®Èº“våJRA¥Nàګ߀ø¾ÑNÜÇêj«©êû…n½V@PõÌ,tñ`ÕnˆëÌuòÙ±ù#¡ÈÙ@ñƒ:G‡ú¹9ðXMŽE”÷n§\»–\XepôëÕoÀ ¾Q"ö¿9̪ÞòÍ’ÕÇSM ^Ä Ü¼xm÷ ·uJÈ¢HË’$³ß«üz¼£½‹ÖHã™]å+جgs±›,çüÏ+¾Û~ôZ¥}ð˜Šýç|»ý‡¹ý9Ñ"‹¶ôTF%Ñà!åùŽ6£¿nÄ:¹ù‡<Ø–ú+î^ý¿þ:v]n~`™’ Þ³ìµµj£&ù¹Œ"^_ عëÌ9£ÅH‡’Çq³ÙÜØÃfM=ðË—¿ÁIJØíå%ó':ÃÖÆ›±2hé…ßÏ(#Ç6ÜÎ."pÌb6›Ÿà~G8Ža¶Ké:ê[«n~òÆœ½)EÖ:!¦.>³cÿ{Ózø5qØ’Ùl&Âb±4s_ %¢>°‡Ä„–8°Ï'ß}ç[4›Í$IZ­VÚBY*“̘s,£­«¶ªàÔ΃³^ìâóPm Î!Q]„8úDÍüì» …–¦odµZ›âL›‘2++kÏž=t®"{Óê5wå(°À¸—xª4Ù>ã`’Ý?z2-æÅqE—Ë1Š(ÏM=¼ÏA`ç¼@`fVgFI&W  ˜ˆ:dffÊd²F[W3~˜Õ¤Óê­8`ó…b!“²Ü>þ×¾ÔGùÀú#úóö45ÁÕœ£}ìØ±fÎû6›Í:½¥gd˜ÞBèÌ(Âä:¹Å â¬Í<¸7³H£‘Éd/^¬ªªjij2Ý<¼ùHFÞ@mœÒ$Üíµ”(ZV¡‰ ñ'`–Öhl‘G¿£;³+ŽÜ×ÌîÝ»———×t¯¶)}||âââ4­l㢟îT¢B¸|J­åvîÖ;@lÇIl„U½ç—“}f|˜ê+@jþëÇ(Œ¨?²}â¿øê½8Ç&E“i÷îݽzõrwwoJÆ`0üõ—Ók3göëkAqar¸œf·êêê={öDFFÆÆÆ¶d'ËÏ죲~òˆí7téÒ¹ÝÝyu“¸Gí:tèŒéÓ,(`&‡ÃfØðvˆ …BÑX¯¶)ÅbqHHÈ£DiãÏû®ß§;`äÂE=.¿¿¾‚áâ ¶Ý—,8üEB±ãÌ‘XîýÜ2¹§H½º²¸? Üÿ’0–ÿöÉ{ßl9'·þ{Qyi×ú]cwÿ8ÉFfK$µZ]¯umÙÍU‹¬9šf¬ãã_Þ¿)¢çàUï |`K(¿Ø~ÿ>}Ë‚>4:§süËŸ|½ôÕþÁ͸ÖF£Q øûûûøø4%£Óé¸\®§—Wçˆ([Âçóy<ž——Wö4`¥_pxWö…»(N’æd~ÄàW>[öÕ¤Xÿº¼7™LÀÙÅ%¼K¤]„ÉÏωD-kÒ¶Ž¦4íû*ôϯ×Â…3#«LÍ¡l¹q°¤¿AïÎR³ µšz3N’ÀQ̦U˜‹þä†oWüyNQ?0¤P¦ùo10“"ãÖí™ÁÁ#Xeld}Ŭþcùg¿I3õŒ'fÑHêáž¿KÜ3 (`ÆË/”+)žKhçè¡#GF8?Õ‹ ×9 gn/Ž’]T Ü:Et:rxg_ ÒAj·)Iã¹ËÝSQ Á˜×MŽ Ô%G:®»–)·—·Íí‚Ýb†M‹©ñe”ê¤c;Á=¯à˜ñ¶˜IUeÖOÿÓ€‘€!ôóú8§&ZiTäŸÞ¹~åê]÷:‚¤`„ABÌø¡C êVeÙÍÕ‡Sµ ž§®CG÷}ÄS„˜b'·÷>YÊb±3 ¸Ö>Pí{ìáôÁ’oqœ0Ì`0}VóåÙ ¥¥äâú½·0 ð=ûÌ~{” b¸xy{±SöîØˆ§rø’ÐÈî‘a¾–M ¡JÿcÓ¡ËwË8œ²{6nÿpf<·Å‘…9¨Ÿº…|ÆÍÿîínÞ˜2•üþéÜ•;Ï+ÑG®—Wkª1àY§2 àT} I§9Ÿ-!RÜP5a°Z~ah§9kÿ·­0Â`!Œæu€žÈKßÖòþýû¨sÎl½U©+¨G¤<ùø¯¼%WMfÿþñUf°B‘[`ä‹/Ž õ·øÒ•ÂtF’=tBä Œ `DsÿØAE‹¡Z­ÔðN>Îr=jÅIFxBϾ£Æ ¦Î:Ðè¤]|iÏÊ¿/Öc$Àh0œ:|@TGO•RÎ@ÁžÎJ#Š$3D¡GŽ a”ž:T^·lJJŠB¡8rä‹eG„g±X*++O:åääÔLô-—Ë“’’¬V«-uªÕj¹\ž˜˜¨R©lÉ9”——ÿ;¦MEÑòòò»wï¶(Y·oßÎÏÏ·½TkH)<<<6]áÁü|#Jñƒú¾ùòP'òæ‰?oÜ'5‚,„$z­º²¬(÷^öÄw>x}x§WÅÃÓ7 àšsÛ6—9õ›2(Ò–WL&“Íá½1ûíð …Æˆp„®nÎÜfž´êlv±¦Aòv yeÞ§¼œëªÈ`0DN®0ÏÕÙIm@Y|‘§»S£n¢H$b±Xîîîl{,¥Ùlæp8®®®®®®ÍCl6[,×ö|‹Âb±$‰-ò€Ãá´(iµZ9ŽP(´Q‡Z”””ðù|ÛKµ†”ÞÞÞ}ûö}æ˜H’„¸½†ŒŸ8n(–ºãô‘S*¦Kg?f©Ìøbí(÷ê]¿­>z-Ϥ*À¨Ë-T7ùµ?EÓ÷ýÌ5uxg–²5!Œ88y‡†û{6ÅÈ'ù¶Gªå‰¥oÚC™ÖXʳgÏ>p~eE¨@`Rå_8sÖ1ªyìÛW.ž  ¢šÃ@ îݼÍ+/++Û½{÷¨Q£Z|÷íèèxûöí©S§Ú8oÚÀN˜0ÇãÙeƒmDyy9‚ -Ž)EQ&L`2™|>ÿ©›¾©g (ÜZž{'£PîàÕ)ºs Cç;HÄ,ò¶A¡‚X¬výd–ÍfÃ0Ì`0ì2QvU^³î¦…Þd0 b±Xí¡F3_ðº;!ÏÝÏË\™uíÚR%áÿö‚w_肟ýšTw.Ú¹ÄÃ×ÃXžqíúÍ2å5x·ïŒêÄzΨiûNÔ*•j„ €%K–Ôû ÇÌ*…\¡Ôb$E¢FµF‘ÿþJà8A’T»3Tmÿlœ‡XüÍ55IQEèJn|9u ÇΫÏXÛñæOV]ù–…£Ý]ÜW]×Ô4P[t}Ñľ°œ»þšPˆ>ã lƒ=ÏÓÒÒ~ÿýw’$0 “$iT&^H³°]ç)ï]È4õê×K̨AQ“SªÐ„ž´âº IDATíæäçéÀa@DQT͆;5ÔìRSUÝ?l”4È2·þ~²ÊÈJ>°iý (‚øáþ©÷×}¹HŸ9P‚I’¬Ù ¹æš:aøÁ©õêl^²ž õ¬-Òb‹$IÖœ„Ãp£’ZémÏÊ­¼«û7òo j ‰$4Âß==³êÞÚ¥‹uý™Ü½nÓ¶è‰I¢(ŠaŸÏ·¥ÎVN߃®{¥,}ߺ¥—Õ¢Þï­ìuçöÚ“ÚWr+=þé?ÜÑû¾>gš$K8¶û€Êñµ>>ª‡°Å} ãÍc{ 91ãGvkñ[uãÐ&¥µf&Ý™úhéÒ¥õöU#IR§ÓÁ0,ÏÕñY Boʺ‘9eì¼O û9bš%kKÿüóvô)%IXXXÝ+Lµ;æú…„ù+$l®Õ7Ð;ËþÔ#,´Š.x#nÆÈn³g´eÍ:ï?ç‹ä6s6…W$ïøsÃv§qï‡9·¤#áçºliö'˶d¦Ÿ^·9xó/ŸF¸rIT{›‰2¼zøåâ~Þ¤¬²B&“eddÀ0éææÆ`<.µÁ`àr¹>>>€š]}U*›Íöððàp8§¯øRúÉòm9·N®Û¼uÍ¢0 ‹´ªn0QŽ_¿÷>~§o„ÇÓ|Î}AA££c=Î<¹@‚€€„+RR+IH]ÑŽ¿þ9´{|ì¸7Ǹ±úÈ+ê±f`p“[5ëËR¿ÿæ‡ä2ý`ÓV`G<ì­ïÎ~å¯ß~9xq×kã’z÷uç¢zÐg×ñ—ã"|˜ð·X,:®¤¤äÆ[¶lAQÔßß?00°K—.žžž\.—Ïç×ìJúdöÅ#IÒb±˜Íf…Ba2™²²²ÒÓÓµZ-ŸÏïܹsdd$‚ §fš5wU×!“¶­_wøÒöic¯õŽë寶XƒöþT3ØšD»™ †¨sg7èV Äa@bŠúÆvràÁÒÔs'Ó wob¬LgwmN/"ìÒ a2YL–̈9a½3n%ßIJ(óßÃ͹Æ×q¹\.—ëææÖ³gÏ·Þz«°°ðîÝ»YYY7n”Éd†Õ\ìáááò‰D, …B¡Pø˜LEQT§Ó©Õj½^_YYY]]­Óéj6b%IR­Vëtº~ýú¹¹¹ÕœNÒ ,&“ØcÔÜðØô”ëw¯“úw0ÈÇõaé”-Yy᤯ÃC”a.Ã&LêáÍr pgq˜@+O—ª›J}”_Þ|VþÒHýݼr[„ùÎñß–|¿-ü½-óÇ{3¶8õÄÒÏüúøþ­;_ظk}œzôÁår¹]ºtéܹ3AZ­V­VkµÚœœœœœœ¬¬¬ââb½^Ïd2™L&ƒÁ@„ÉdŠD"‰D" ù|¾@ pppu·bc³Ù™Íf³Ù\³·¾Åb±X,Z­V©Têõz€‡‡‡···¯¯¯»»{tt´P(tttDäèÑ£±±±žžžM¸3Æ´#ë–ü¼§Ûü?çõ1zlaʱ/>ûñËc{·í~iÃ_¿ôõæAÿqRÖ=›±•÷3͘*éÜÙ‚ì"ƒJ•|áœV÷!»Ÿ˜p€–  ¥ÎI;{–hÄœ¨òvl>1}¦:AŽQDuIöÅÎ [²P&yöÚ%K+9¾úÊœ,5#fΙXºìû×v¾?Ïýó9ñ6dò$IlllïÞ½F£±ªªJ&“I¥R™LVYYYVV†¢(I’$IRU'Ö%z j"h6›íààPs^»‹‹KDD„›››««+‹Åª=éH.—ËårððlÆK—.5u6£¡ò–&+B´9Y*E¿9{‚ôÛ-—þúpË¢Yžâ-@ÓÒÒJKKm?›±•–²þƯø~Tyú±‹%>/‰á=$„U«ÇpÀNán†[ÇR¸áìÃÎ&÷pe§ÔÞdžC^Lš²¼r”¤ˆëGúÏãÄ×ÎC_}9wÍö„êœë÷óýºûÙ²/hí¡Z5†088¸Ñœ.ù0íZÏmª%eÃù·¿ªùC^)Š*+¹Ÿ+Eq »~âbß9#%LðŒ1uBÞº]—µU…:,N?½¶²awµ=)GŽùˆí•q02%}†Žð\äŸäôîq~Ëü£¥ÑÓß›=²³3PÖÔ‚c#øá§¿2yX'I=Í‹N,_e Ý3ˆË²  €„ï2¤gPónªë¢ºŸ¾bÛ•Œ'ÏÅøþýÝøLŠ0âY'$>Sÿ2¾7ïVòu’$ÝÝÝkfLWWW±Xü”ìƒj06mÚïããCQ”ÅbQ«ÕE™Íf£Ñ(úu[DV}÷×µôk'/ ¸rÞ8g.Bá:ó£B—ÀWæ/yu\û)ž¿I’T(õ8ód£o @*ÓŽîI­2¨5{¯dè<×—ÿsã–– 36ʯ‘ЛåÔmÊKJ«¬¼”0Tª1’2éUÕZ²¥›²„Þ³–nð‰ØóÇæ­\h(¾3r`W¾¥âZ.xsù¯Lë*aB‘a¡jµ:##ãþýû5s1 á¡¡aaa¡¡¡¾¾¾v†ÜÁi~~~VV†a\.W"‘p¹\GGÇ   ‚ æ~ý‡_—¿ÿܺ}ïʌŷ‡ö‹âšJ¯³ç~³nÞÄ.l:ún„©bïŽÃEjƒËOÝòûÑž^½ÜYi~Ùz<3dÀ_,˜äÊm8“Â^}ÆÏéWbwÏïOÈö ï3aTŒ =ñ\‚FN™åÓ¥gÆí—’î?XÒ­ÿØ×Þ‹‰—0L¬‰dÀ€ýúõ3™L¦°°099yçΕ••AˆÅbÿ€€€€€///¡PÈápØl6‹Åª‰‘™Lf«7'¢æ­FÍÿ&“Él6+•Êê‡ÈÏϯ¨¨ˆ‹‹ …L&“Çã=z/ˆï2úÕÙþQ}2nݸ˜tçØÁ¼N=¾8s~LT˜ø¹ ¿Û…”ÊÂ;§K-&ŠÓû¥÷¿ ý8w*Î$Š u‘/~´äËbÿßÞ•Ç5qmÿ;“ÉžÁ°ƒ,²ˆu•Öµ¢¶¸T«­KÞ³ÒJû,m}~Z­–¶¶¢¶µÖ¥µ¶î¯E÷]T*ˆ¢B!’°dßg&¿?æW«aI¥¾ùþá'Œ3gî¹÷;çžsî9þû29¦½·{oÁåû :‡¡¨¸º'7~ñœ‘ èáwã½ Û7o­õ?}ôèƒÂn\8òcÎÛ·„M—ñùÊÅ!í¾%L¡P¸\.—Ë zúé§q' «×ÔÔTTTܸqãСCJ¥EQ.—ëííÍçóy<ž§§§———Ëe±Xt:Éd2 ƒÑÁ€aEQ›Íf·Û‰­V«Á`Ðjµ:ÇqƒÁd2 §S(†…… 2ÄÛÛûæÍ›)))ÁÁÁºšp÷ÜÖ-?(…ÓF¦Ì -¹pdûçï~¿9rú+™«—¿̆ÿ×Ii³Ù´Zmû#z£8QƒV«3Ú ­u2aS¦¥ Kñ^6¼®ÙÄò†ôíǃ:\Û±ÿmôˆÃ‚c†¾JpˆÍ3ê´Ö‡¶ÇÚ"^—õƶ+ÚåÇ7¦ f8txRl0?sùû¿Yó‚¿ÈýQc³Ù‰‰‰‰‰‰(ŠF½^o0ÌfsKKKcc£L&S*•ÍÍÍ‹Åjµb†üŽ6{Öè@Äb±8‘6òóóãóù~~~ñññ<Ëå²Ùl‚ÜDâ‚ “É„¢(ÁÝGr*ÑY‹.±}tlãè,‡9ÀÏcéª]»6|{dÿ#™Õ‡ii4;s¦—IY\\¼qãÆöG4õ¥zìÖ†ý›¿õ”—ÙÔb,:ºËYÎu˜´ª&“ïëíÁp}¦±j•[èýô¨L‚^qóçÓR€þ S7)žC'.•2°à¢èøÖå¶ê¤Âî­zóù|>ŸÛ>Æ0Œˆ(;Äì0 ?0ÇÞ–ýù³¼zmmíŽ;<<<8õ7Н8Wk€?x»eÂ`6¡ æ7jdÌñŠS?¯áèÇ{÷áµo±X,‹;pæÉnl]Ãÿˆêkß÷€ËSjšϾ/úús!ªçìö×J —Η4|øØç^^³ÿŠÞŠâ.³6|—ñâ»kj>Y+»öR"H3å§+R#D˜Ï|ûv—±½ðÖ½{÷þøãEEEƒïc0 “'O–ÉdíÚív±X\VVVSS#+;>s°p¿¸i{~“úá¨ñøºÅ¾ FÚ²Üf;Þ—qìØ±ÌÌL×Ïï¦OÙ!žjû‹°žý'ÆPwîÎÏß½ÎpÑkàKïláuä«eëÒ'•mܼbAûa©^Ü®=·ù£Õ»NŒ|},êBèÆ ¾q_nè§9¿œ/zkÎ\õ—ŸLJA¬ª¢ŠúsVmYûZ6”£×ë/^¼¸gχÃ! ýýý£¢¢ŸÏ÷ôôd±X·|Q–ÙétªÕjƒÁÀf³###à‚@Жý¿ô_sèò¥E³æ6mÈ@±(~«†,øäë3¼ûv¬ÓæÛ<Î@¢ò'¦%ž:zZ,»£MÛ¶zq>_§V,ؽõ“ïbc?š?ü!>Pý­‚ [6›0àÚ† QÑc³”Vx±ìî}qÉé|Ux¨¿ >íýEɉB @„ÏçϘ1#--­±±ñÎ;ûöíkii±Z­À××7,,,000 ÀÏÏO ¸o‘Óé4r¹¼®®®¡¡A¯××××ß¿?44”Éd†‡‡wZ§ô‹¸fGü …—ÊÊïW_=Q õ ›½|Ɉxö“öJ„{ú‚}†Ïœ5xÓºû/#:?ûÙ”×öìüiÇô±‡=¸ðvjU³þcQÛãìh*Ó[À,Þ¾nUíñN;bœ¸®±ú¶¸5zv¯¬Ô‚Ûï^9¸òýj&üžì¶õ1‚dt:Ýn·£í@˜CðÇj›„ù¤¶NGÄn·«ÕjµZ-‰:Ãá¸wï^vv6—ËO"jjjjkk³²²Ü}c„øê6"ú¾aD›Ï¼•²àªÚnÑ5-È?q^ܨw`†a¦òm‘¾,àqNa`l(^¶hq~Y#êÐY9Ï aM[òÚ†=ñÐëõDôý¤*XPP°dÉ×ÏïæDÐaÁ þ}‹ à A€ag鞯~v¸e {áÍuŸdÅ ¨6ÖŽb0…\F§%;´òফåèÊ£°£¦ôº ³Ýº°gå:¿œå38Ot{"¦ù›–ev]A×µs›w‚µžÿõdµ¢ðÛµb™ÚÇGïþVa2Øi~#žïß¹% Ûï-‰kZ–QT¦ˆ楕KÓØO4#Iü…¤„™Â~l€iƒ“Æ f[ÔwŽ\(Òâì”™sGGû=à „J'šƒÒ  P*•Br’$å£A¬7üÁUG‰mäN‡Ýá@1'Ž;PZÒ¼9á'¾hô~úsF™kJ7|óÁŽKòè1¯}òÞKýè%üwW._¹CªÐ ¯¯<öïU¼µ+f=ÙÓ7±¡ØCôD*ˆ¢hgÎô2)ËËË÷íÛ×þH“´ØL0´ùä/{½¥•Æí™Üý!ˆçèÑó /ÿcJ ·9Ž_ĈÉ¢«/®~¨üÄg&&¶²£û÷=Ù†ØÏ–ŸŸÏãñžHÅb±Z­îÀ™‡¥\Ïjj4šôôô¼¼¼ŒŒŒwÞyç$jÕëŒ8LãyzPP³Î‚s8NÌaÔkêeuf /$È׃Ãþ»ä{ÿz[B¡Pï:§û@l^qýuÐÞùÁÃ14‰d‰®Ä#d II‚IJ$)I II‚$% $)I¤$A‚$% $)I¤$A‚$% ’”$H¤$A’’ ’”$HR’ A’’ ’”$HR’ A’’IJ$HR’ II‚IJ$HR’ II‚IJ$)I IéT*UVVVUUÕ“ª`SSÓ{ï½wëÖ-wß½{÷æÍ›IRö2,˵k×ôzý“ª Ýn/**jiiq‡ðªª*‘HD’’DwÐ¥b^]ë&É$)I>% $)I“p\`&Üâ„^üðÃŒŒŒ^uìØ±ÌÌL×Ïïf¼_œ¨ñòžo¶žÐ|´k×Ì„C­Ø€hon¿–“™v|áp?ܤºx8W‚ļôÂXOêƒm ¹ñîÆ/s®ÊtS€@Ý/.ÓVPÛõiôz}aaarrrWÍÛC:³«ílSÍ}xzErWÙ;ŽIyï¾ãOe®œ;4€`$Ñ*7øÅ¬·c™¸¹¥lÍòÏo*­õe¿f¼ºäôùÛK´N‚9-göm+¼cèã!XSSSvvv}}=—ôÑè[-»qµ´©âÄ®½gïxûÿâ$Oˆcjnž,8_ÎðŽˆ ÷ Ó½<Ù4ÒXSñޣҠ铇2û6+cn™Œ¾ìwXP¾W|¡Îª«ÌßQtþÌ‚×.ŸùT[íY§Ãà!„Jj0]mÞñ¼Éƒægï>ap2…ÌFqUcG#©¼³ñ«Ó#3ÿåÈ+ÆnÔ¨%âªVJ7ukhh°Z­2™ÌÃã×;N&“Y­ÖÚÚZƒÑCQf³Ùd2I¥R‹ÅÒ¥ U*•Åb©¯¯wÇú~kk«V«íÉ ]ÕRÊåò+W®´?¢lÀ°80ÉäNö1ÓÛìnWiP€Jn”^ºÒƒÄmf½~3s^ «=ÝpùÙõÿ±GÿsvjÓÖz ˆãÕ/ú©1£b¨›ÆìàÁƒ©©©C† éõ1“H$œ2eÊ Aƒz(Êh49rdÆŒ]µ@¹¹¹ãÆ?~|¯+(‹[[[; t÷pòäI›Í溨î’B¡tÈüÑe­ß•\rŸš8tPV;9)(Àm„›ÉðdëjÎ}ùÙ¦z†Ô´Æû´c%Fc…=;†­ª(Sá¦2©Ò†áZµLT¥|:1¬{©JAFsGž’F£Á0Ü+‰¶ÝE§Óa¦R©îPB¡tèn÷‚ ®‹BzIØ30vJ`ìÌ¡U)ì@ à•<ᙨóÊÀ˜Ö™F ûòûc‰QjaÖç_®·`ÖHFŸ¬7Ü¢œ'5ÒBÜ}Ô¦­.­w¨>£â‡D§|WPb4ÖƒŸ\/>tøìõjEWInä/]øüîYJ·ŽY_¨ÍíÖ Àcd<Ò½æbæâÉ&õÂ{'(tĈ*Àa:‹ ÀŸIÀa¦_pÔÜ¥ŸÌ] T'†aPw:Ãq¢©®·Öuà½'Ã0§Ó‰ã¸ë¢‰Åú.]è: Æ÷Šä¶¾r#)‹ŠŠrrr\SÐQunï-+†DÖ]Ú¹¾ÐÕ»8ÌZ#J÷ô`^;çòèÚ µ±T¦R7,(Dç6«êwïÞ}áÂ…^'eKK‹R©Ü¹s§¯¯oEÙív©TºuëV÷ˆiǪo¨•TIeMM-z аxÍÊú_è7"œv“F*®ª•745µš@o4‡¯ÍÉéùŒPYYYUUå*gºGÊ„„„ôôt—ˆ¥.^zð{àûð‹Õ“ús\î!Õ®W(ƒ¦/zmЇk)!»¦rÓ'«.–UÊ[p'D¥Á»¡R‡¦N›:"¡×IYSSsþüù3fÄÆÆöP”Ùl.,,œ;w®¿¿ÿCN³6•ûé§ Ë*Zÿ¯`É:nÒ¬‰czØÕ½Ó›¾*¸põN]³ˆJ…<0ú©ÉóÓzêœ;wA9ÓMR²X,ŸGm‡þÔ®¼+÷TNð+«>}qh( †\3¯ú+;¶}sàüÐW&ñ¼}n£ÓPW´æ7·)ý‚cßLiVÚ„žeÓ³×®©µ³]imW¡Óéñòòê¹p£ÑH£Ñø|þŸ‹rêk We¾µ§´Å/$îíŒù3§Ž çh7¼7÷Û JœÓ³6`-åGÞMÿW‰Ž6`ì•/O›4RhºõæâÅÅ:C=ÎKð¡õPAÇd2]o¤µèÔ×Û(íÔño-_6Œ‹Œ4Ü9±vã/ = €K¾¶5^øeëþ†¹«~Èš?q€mi•_<úë•»jˆ*ìãÁæ#c&§Cwfï–ƒ%­/¯Þöî¼ ýX–fÙÙ¼ü"Q…Û?6<°'wwšëwoØp˸díº7g¥øq)ºúŠÜ_ò«äzndÿä¯ï÷ÜÒ‰›Õ·s–­¼,Cãg.ûvÅ«á^®>m˜Yþ뮣LÿvÕ —#|«¼A¢sÀ‚ï¦ò³¿|ž{êRqu]£™ÖÿŸÙ_>?8´“ò‘q®Óa–5H8ÅÇßKyûÔžÃÎÞ¨–+­ôðŒÏÖ=?4¦GQˆ¹©¢Q 1ú ´»göä>t©D$­WÏ„/V­ˆãÁO)[¥W¿ú÷¿v\7L~{íš^‹òvuuØio=¿}2váLÞž³]%%DçzfZì²×¼Ñ’´äH&¥G R<#fNèü™iO…áÛ?fêë¯/H}â êíº”`‚\?[£Ñ¤§§çå奤¤Œ;öOnÛM-eW/”T(…‘O5ÜGsY/§I-),®‰{f”¹ôÔá+!C'>ÿìP– Ï*fn¹[z£¢Ní×ÓGéëÉt[[[óòòž{î9¡°§îÝnÏÍÍ:uêC¢oÌÜ|»¤¤²¾6×KàÙ×; ¨¾þJa‰BctRhl/a@HLT¯‡do±X,‘HRSSÝh)“’’²²²:ðÉjh®©]:uøÄÍÚÈIK³w§ ²º¤•µéîÚÏ~|wã®Ô¬“_ÊO^«ŽHœðÖ»é|J_´m‰¤¨¨háÂ…qqq=e2™nÞ¼ùÆo<.u–¹Sø™3gΜ9Ó‰3½JJöÇÍ`¸²¢øòõ;*­ÙkpÚ¯Øõ9­Ù÷S~q­ÁcKÉ!‡øÚ î¨(.øngÔªw¦°ûÞ Ìår) ‡Ãéù¾8 …‚ H¯ˆê›`±X8ãvŸö K˜4Fhtµ»^%f~NáL†!€jv,={½vÀÔE žaö!F:ífƒVg°8œ-z3¹Ç·O:ƒÝÓdDãxõ#’ë(ÄeÒ Ñ™/»oì@ÇMjéùÇÎ]+­–Ô6q&?Ð`2“´üû¤„zât«./_ñã}isä -÷Ž}ô™`ÝÊÙœÇk,q»èü®U«×_º+7;i6‹IÃÕeÅaP£ÕO’èñ’AA*++:ä¾6%§NKn÷çé¼Cµ‹œVUYÎÇëËu—wÐøÔçÆNì‡ÕmÛ¸á·j—)ºûIDATÓÑçÌõ=}3Úf³i4šS§NõüÅȾ‰Û·oËår×9Ó…”Ãá‰DJ¥’J¥öüÅ”¿ pSí÷kVŸ”z¾÷evR›ÐÖš››¿Þpán£ßWÖþš/½ü »ÝN¥RûÂv8·ô!ŽcF¥R{ßRR©Ô„„ð?LËËç3÷õr©®œ>’wõ®ÌNåF&ÍûzÇúI‘^älÛë€È÷Dõ˜›oýºvö?×HŒv@Ø¡ƒ’¼öÚôçžMÀÙA$)‹S‰Zê*Ën”UÙèÞÑqƒ‚„^ž\*…ä#IJÿ3 ¿OI‚$% $)Iüíð^ºüÔ¢‘=IEND®B`‚nted-1.10.18/doc/docimages/before_connection2.png0000664001041000007640000001303211520267216016506 00000000000000‰PNG  IHDRèaStz? pHYs ‰ ‰7ÉË­tIMEØ 8 ;hë&¹IDATxÚí]iXSWþn6B€ö5! bUT¨*wk«Ò±jµÔÚNk«3:mmÝFÚjvÜÚ:µ®-¶¥UQq¬Ô HAÂ.$l! !Ë7,Y xÞ‡7—û{ÎÉ›s¿í|ÃqúHh qqqqqqqú4(h LÅÅÏøÙá0t""îÀÂ…xømÌøç@þYFoDĈˆÞówØÑ1@Þ€t\D\D\D\D\D\D\D\D\D\D\„žÊU HLLT*•ÝoGÀç¨dÔ„~õ3,,ÌÏϯÏW£ª=úå787zÙì1h1ïM,_¾¼¡ÁÙ1#`# ìo'nê¡~îÛ·oÍš5}KUU\=lÈò}ºbÎXŸˆ÷뛟z ®MÑÎ0Öd)ˆð…y½ÙO¡PØ·t\EÝÍÉÁ3“kôe7x1hÖ©Qªw0Nq 7c}?ôf?>|Ø—t\¼y]ÄœÛõŠö礕—¦GQ‘úbUï€N§GED™$BK¡A3DEµI9üI*¦¿¾vÊÊÊrssÃÃÃmmm¿—D"IOOwtt´å,‚“ ZÄHV¶ä¶…ücž@8¿ÿuc_ìØ ¬a¥ïMS¥–9ß^5˜:À}ûöÇ3é^<Ðq-2^‹¨ ê÷Þ9OÙyÏN+U—§†ØP‰3ßÅ%¡µÁâ°qÅEŸŸ­‘…>äÜýŸÇ{ÛZ»Œ?úÑpâ¿¢ÌÏ4hšú qóþ{Š8ÿ{ä`:q<ä5­­ª’ò‰†Ð‰{å× ÐÙ?­ j=ieß¶O´¢Y&Ú‚³gÏÆÇÇ×ÔÔ Ùèq¯B‚P~K¾s¥µû`´ÖCwMtgˆD"÷ ÙÙÙb±˜ø×èÑ£§NЦ¨‰‹«%™R%¬Ú2ºýy•L뮣Ð}[ µç‰$''‡Çãåääðù|>Ÿ_UUÕ…K œ8°2éG>"nÏW­(Ñà8°­ŸjJ\x†8°÷ßð®·J¥2///;;›Çãeggóùü¢¢"cÞZÀ×1ÿ(m¢fÏW£wyþöŽ»ÄÁðÍð“ˆã¸@ žøSsssÍHy±±±ñwó‡ÇàêꊨٳÄÅ0­ j·š¨ä¹o]*Œd½{Ž÷À›µêêj>ŸßÊÔ‡666vd!x:§Ò• é²*•:tèP.—Âf³S N.oooDÍž%.™æ®}8¶{y=¦²Y n¾ÑÿÜÆÆFâqÿàÁƒòs!5•²ñï”òÙ°ï4„Ö0 óõõår¹ÁÁÁ!!!\.—ÃáÐh4DA W 8p ??¿¢¢bâD#ëžiùzlë'l© .¼º?¡8É ÎÞ¸qcÿšµZ][[+ …B¡H$ …íÓ‰¬?£f–Bøùù ðprrb±XM‰à'ÿìÂÕðÈŠ [²²²6n4-âˆã›êëêLm‰dÇÛK5¥OÂô¿6^Ð#•‘‘{öìqrr2þ^D^Xbbbqq±aT£‹ÅL&“D"&nYYÙçŸk‹hnÛ¶ÍÈíß½K¬ÒxM˜åÄPÔÝ[½ç>qÞé…÷6,œÙ}&5 ï]¾#5óÅRO+++Aqqqaa¡@ (++S©T¦¶cmmíããÃf³Ùl¶¯¯/›Í¾¾W^ƒ×^{-(ÂÞøvrè Ù¿««kTÔ0“:pâ ŒN§·O—1Åi˜k/•+òUJ)!zÛ‘ËåÉÉÉááál6Ûø{>|˜ÃáÓÉêêêØØØãÇ;;;›¦*?áv´äº&Û±'{Ô/ôŸ_©PÅÊû·+_L`v÷Q¨QVÏóžw¶ªyÏW[-ÂÔªª*ÂE˜ü999R©ÔÔF¨T*‡Ã  år¹\.×××ðö×<ü%¥ 44tRT€ O@q~6€‹‹KT”i?Ô ¶¶¶ŽŠo’ÔQÚßµê.È *ÊWT~~>„‡‡‡„„/>ŸF·¤¤"""t©û@Lv°J®k*‘ȶÇLø½Lkˆ,ýþr÷Y qÏ<‘b˜™>™L–••Õž©æ¥H$ÒìÙ³ƒƒƒí‹^u`¸­Øÿ!•ŠœÓýÙ8€QL(jøóÃÉ¿^)'ΰî;Ðý–+®nZü¿\Àq3uÒÓÓÍð仸¸ö±¦nÞ¼9===11.ă¼iqݦ»Aré“ËyÄG;¯žŒë~³J)/fáþÖ”Çr•Ùó,c2™„7Šx臆†²X¬ŽfÂÀ#.s³­9º÷©ÛG]©ÝÏÝÁwÏ™é±í"}˸î·³ÙK£Ñ8—Ëmeª¯¯/âÁsGÜ&ѵY¯ÜhýøÞéÔ™®Œîw+ïHìîº%•kCo±À Ùlvll,ÁÔ€€¤ž>ïÄÕ¨j–žÇoI·å¬üiWŒB>M¢KQïÞüIGÁ,3Èèèhã½{ýXûÌ´´´ÈÈHâxÑ¢E…Ëî^¼UÔ–«0ô¥yÃm»¿˜i2.žiæLëc·þøµL¡6²?]û%üüüÂÂÂÌîPZZšH$š7oÐsçaJ†<ä„A)qúHŸÒMãß²ö¨5þ^òòAî(öÚÉ Ï0©“6 ßÖØ\§ÏäÝ!Ýa­¸ðè¥×Ë·iY¹mȘ1ý1è7èŽ8ƒÁ ‘HD œ C†8”²µ-«pqq1éÖ%.j°µµ5½Ãb …bª™\Óan áuñôô4évD ‡Åb#Exr¼½½-€øiå”ëuMÚaŒø õëÇ>‘ÔÜ»0¹;Äý+î#©^}¡Í‡UÞr‡cç±îÎ 8ÚžSãL”±óµ“Ú7™æ|âò–:àYÕ5lïNÚø´K%Ê69Rµíåææ¢o Á|ââùÛ1;Z•„Ȧ ¦ãš¶äåEYr]ÓKŽt4­}jYÝ™¯ò²n7I¤`íL ]hTÕD²öÖ•kÙùu25“å>rÂ4c­ì§í½ž%q O.I¨Ôf¥X³bάÉf‘“õÿžH qû$eE;£òòo¡C¸V#¸t È$ÓǼêCŸnر÷d™ì©Ý.œ †(Ûµ T6[¦Ì†i!.\#]±¶-SsÙ©ƒ¶-ÆÓü{ÈùµÔ"Ý’Vîçp8ÇÅ/ 00000ÃጞzQÐ Ôgd¬°§—Þš@‡ŽÎJªÆŒw %«¸è¿fçÉW•{SŸ'K· ìýÏÕg°â–_^Ú ­lgç¹rßTÖù/ñÔŠG‡6,Èb(4˜£³'7lÜKsç ÷²3£[6nkrs× ÎuMU¹ïŽÆÀu>1°ê|R)ɘʕÞbƒ‚‚ó—N?î¨Q£:_]™YѤ­îáêÝnÐÔ”ç žÈ;·oëèìåíΠ<³2Ï÷îÝsrrêÎ.®ÇK$’#F€ë“ådµm¹Ç7¥¬‹¢ƒj·gøÍ×8˜ð"Õ{,ø-gÐÇr¶¾=˜Æ†TÍ¥I<É’šZ£tÈVxú í’0$¾Ã•VY‰\•>ç®ò3F-iýH 0KW,ÖWÞ#Y…p;ÏEù|‚d»°C ÎCss3ŸÏ ѹ»©}¼ÔÔÔ.Ïh–dRZr¥­Yó”íyYUÚ¢‘,}«ºµß××+Ì®Ë')I>pèg³Å`Íš5Ý) cooojµÆ­‹o¼ øµ_™t¯k¿.O¹¯Uò‚÷§…|ŸSgÆj§QV/3M\, èÕV1 QËu´Éš¥ú½“ »¾õídÉ(z-(—që]ÞŪ©Q‹ÍìYã¬à»l­ uС—µ£Ý1uáÝzŒž»z†#Âþ}©ìI´êÑÿþý–c‹† VÖ¼û⫵*“-Jbª>¦ÕV­U:k)S4#R4AU:d¦®/‹ w¢‰â¸gªÎ0µ[DÜíkñÔ®V Ýß<Áž%nÞ_ÚeÕuÜ^OdU?lÏaùÓ¼Û‰‡ÞÉÁÑ`8,ß´ÿá¯-Ežå5—^ù!ߤÎuD¿ð­&nOß2çú†©×7/I»s«Qו{¹L=6àÐÅë>.¥0‡ÞSÁS¨ÁJaÚŸ_×Dr™]¯Èk“îo}c:ƒü=höCÞÚq¢àÆo+ë¸Ù‚=èU´$tOÿRë‚.¿p|æÛµ8|^ö‚«eu¢µ†ñï[wxò.íVìôO¾„UßkŸZbD¿ó­Ëc¢‹‹‰Üô[Í+»p?‘¬/óX²Òòß•)qÙs”Óܸоp‰êüÉwÿ¹»8%åvaE Nµõ yqB(ƒd`Á4[°‰KXf†}ª5ŪSª`ùW/iWâ)!·d“RÍ~›–ŽFl9e¿‡Û Ò€¬êð㦃þtc~v–ÙÑ—µÕ¿ °VMèr ­?CëJ[lH[ÕY ƒáå»ÍÃÔNÒì}¢fû˜1:³{DUàØÓ=Ư…y*‰ ^w×j] —W@£Ÿ¶ùÅ(ŒañAƒZ=—s ; ׆>§Úªj¸E´Õ Æ:t¾'àx›—Î-Ú ®´¼lÇÊa’ ëÛ F,k3$jà µ; .o£`sÒ k«˜ÀRÚê@… µ¢2óApF„i²¸Zœ‘™Ïð â8[×”ò2ª•:+0اm9inÈç?Ön”Æ4àêÃKsx*—@ö`:feÔ©4 # b z'Ñ9"@­ÛeÓ0C3®P@ß$m×”ÞѡɲȢš‚‰crµ@éTÚZË"0>ÂÒ£°d×("í­`ÆO­ç޽êgÏÞÖúñìDp`Þ^Ž¿k Ñ&ÕzhkØBÒwNñ˜ßúq!‹¡³?}#¡+"ð:-«Ë„¢N°ZoPàu»ërõóþ>,K £íûl,¤¼ý~ëé±Û+|®µ^â»À¤U‡ÛËÝ8¢­ç6)^ÿÓ_\x4z§èÜïô#KWDÀª¹ki«½­ã@ð;¿Mv ËkÎLi©%ˆQí:ÿ½²åaå6-”²¼´–€µRrcŽvÓ¦ýŠFý÷‘T]÷ê !œ\l·¢¯e‡´±ti«½ê#hzêüf÷ñÝÙ5k‰sòÉ Ó€L÷mi×E‡à‡²Æˆ ÁðóÚŵ|f}û–L±¾°Âø¼i#"R:ƒb)ß*‚ùÄçðMIÎÌøâÖ©L/äo=µÛ¦­+‡(•,Rª3ËšœÊã×Çmù1lܦœÿiyŸ ]éÏ6,o¬“ýc\D@Ͷ¬oÁUÀôø”oV€ÛG7s܃Þ?"+[×ä—YÖ³'ÎË#lËé2÷ƒ;y†1út.=éÏRQ‰TÚ1–e^þ ³$.`”µ‡nÞ?½{bà fqþÞMËý 1!jÑâ% ç¾t¹¾ ä¿DJµ[جo/dów³3­PH/ï€ ÒŸ/éÌÀÕ dcõU¡°°P¿¤ýÈy‡“æÜ¿~áÒõ»™ü¢‚̤{by³ªÕ1¨Õj‘HÄb±Èd²®¯Í¨/xŸhyÔöÌÞtY«›«öoZæÉèB'yuUœA¥<Ÿ„és/»Œ[߬é[þù€0ËkaTÛ‘Ä0¥º/˜Vpæ OŸ¶Ô‹éÏÏÔ8ÓO\›ÄAcQAïŒÁ i%Þ×ßB¯¥?#ô¸q¦uÙ¾øïñ¬¢šÁ¾Ãÿöî?¦9>E\Æ0+¦Ðà­ï¡îi}y®~ÓŠjlàçÛ[éÏÏŒ¸²ÊŸ‡Ž\*R›ÀΟønÿŽË¹'¶{÷,Fõ²"?–«zg¿FYýÎå2ý×Lß{Ò˜¦z!ýᙩ üoma-€FÕðÙœ…²v69®ª+lRÍ6¬7ˆÛ‹;Kú1q :ª’ ñŸ*ÛÞq'¯=§Áq°ÚoRF¦"®QpÚÅéåíVÜZÞ)í•ÓzéÝõÈ´B:®a°—®‚õ·ÛŸ±bŽ}ǽ-µïú­ ÿÊ‚^zw=2­q ÃÆmõÎ?¿ÌÕ–¥qÞ{ê¤}ËnEݵ·oUÀ àõxÚõæHi…Tø$i/“B€ÁÃß9yìÐËô—”’ü·'¾Ü¨Öin?^Ù‚&¡­¸`ÇþÛÝc¼áKw×d}31ô¦ç°ð‘Aödé_—®”H•F]úVŒ c NÙÅÏáxt/¾ÕúùT’I(O9¼tź”BñS¿kŸ$}º(h ~¯®Ãƒ |1 œÁÑ—¸yÚ§~O¾‘'¨"Ù8 ?eÙ±~LôÂQ„>N\„~dœ! â" â" â" â" â" ü˜ÕPvœ€u]IEND®B`‚nted-1.10.18/doc/docimages/ritardando2.png0000664001041000007640000000715711520267216015167 00000000000000‰PNG  IHDR/boUÞsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ6+H#tEXtCommentCreated with GIMPW ÊIDATxÚíP“÷Çß!! R¨T8üç•UÑíΙ›çf;7ëÍ^=vÓÛÎsóÖÎUzu®óæ‰gëµî®vÌ:»´›íd+íÑͪ-¸ Θç…#Á¢˜€ȳ?” *Iž'Ï“HàýºãŽüx>ßçûù~ž÷ó}>Ï'ßG%‚B‰3èBÅ‹B(^„Bñ"„P¼!„âEHHT*T*A(^$¾„‹Š‰;X‚HB¡¡ ˆÔ™ cþ6[’ûY°6™Râåv»ÑÝÝ=æ½ôôt¤¤¤0 $ˆV(QQ©Tc„m”ó¡2!ØíPåæÞCJʸ¶GìÆ{ȸœ*?:räŽ=ŠÜ»ÝnÇ–-[P\\ÌHW@¼B ŽJ¥‚PXŒ—ÝlÙß³Ýèלy1Þ9óºK`ðž}Ÿ9À»ïMMŒô22€çŸ)\¡Ä-ägwÅêî‘5îvŠÌ¸öﺺ¦üPæ~þ9öϘdz³C‡pä®ÏyÙï¼ò ùÿôiŠÖÓ§ß#^áfaјÙÉj§´èíòC¹bt|:4)û8¥ÄËãñÀét·náØ±cÐëõ¼lŒó§óÿÿëõÄ^~ŠÂ墯;r›7oœNx<èGùœâGdggãðáè®®¼·cÇFy3¤pB3îûÕÕ@u5T§NAXµ Ç÷áì1Æx\Ï‹H­`"¢d‰D°KGŠ¡xBâVØB(^„Bñ"„Š!„âE!/B¡xB(^„BñŠ*µµµ°X,IB¦q_a?{öl ªªŠ£Ig^„Bñ"„Š!„P¼îòÌ3ÏÖú&„P¼â†ÎÎN477Ó„P¼!„âE!¯ha³ÙPVV†ŽŽ:ƒŠWüP__­[·Âf³Ñ„P¼!„âE¡xBÈýEsàÀÀ‹ÁÁAh4¨Õê¸é€Ûí†ÝnÇè~HåÊ•+ ËÆÈÊååå8wîœèíü~?¡Óé¢âŸ·ß~V«/¾ø"£]ýýýHJJBBÏïr)--Ejj*¶mÛ&i»ÁÁA¨Õjh4ã?Þ¼À‹;wbݺu0™Lñ£¾ ôz=F÷C*ƒdÙ¸~ý:`Ö¬Y’ìX­VŒÊÊJYF¿·:;ÑãîƒwH@b’©é3‘aT¾³»»f³£û!•ºº:e£­­ ÀÚ”ôôtIûïñxdµ®oJÛ¿qã€;Ňo¾ùfD6|>*++‘››‹Â ypHˉ„Ýn‡ÙlÆÊ•+#îƒÇãTTTÀl6Ë:F#‰A«Õ —Ë´mÍ®]»/.]º„µk×bõêÕ‘M‡8ùûWñÆ[¢s`èžÏgýI|¹ótÊUð×ÔÔ 77£û!•Ý»w£­­M–êêjÔÕÕaãÆX´h‘èí, .\¸ «íp}s8ŠÚ¯­­Emm-Ö¯_qAs__*++±xñâ¨õ]'Nœ<–‰wÞyf³YV:::ðþûïcÅŠØ´i“¬c433Sò8755Ád2m[³dÉ’À N‡¹sçbô{¢UúúGXgz ÿjé úÖú“ØñÜ7pãß;$­V £ÑÑ>––²l466òóó%Ùéïï‡Z­–Õv¸¾)mdͲ¼¼¼ˆíº\.@FFFÔú.©c9‘¨¯¯—݇‘«‰¬¬,Y~Ðjµ0 ’m †m+’óòõ]·y"¤pÐya„Ù("^^ÿ}œwŠK &§­¦×IÔØ´iJKKãjŸ+**PTTÄ›ÑÈ5pýÚeüôŸ×Dÿ[¥¿‰¨¿ÏO?:ƒKÿm‚Ó3Œ”ôYX¼ü1Ž Ceee\-, 8qâ^zé%`,Åk`À¿ î»3—íÄß6Í—(Z(ûõ/±ïÕ·ð…ÇwÏç‰ÉÌ8’„P¼$Hš#ê{™¶âü©R$ªÄÛ¾sàɹ4ß@êêZ8’„L1+R}léÃЫï5§5Îö}°ü:r’Ä—HH¹ àíáC/™j¨–,Y¸æºrå 233¥bðz½hhh@VVff¤¡·ï6¼Þ!*5’’u0t)dwSZÝ^qPëQ¸è+á¿( ¡¯·žþA û¨5Zè ÓÑÕчÃ!ëv°Ãá@KK òóó‹Š¡¯¯6›-jõD---p¹\ŠÚw¹\°ÙlÈË˃ÑhŒÈÆðð0, 222““£Ø¾Y, äååɲsñâEÉc)íííèèè@AA´Z­"6»ººÐÖÖ&«£íÌÌ̈÷¥¡¡Z­ùùù’¶kll„Ñh Þ¶ÜÅ[[[! “ʰ÷¦ S«¢þž8ÖÖÞ‘ç,dëÇÝ>%3‹J ªªJ TUUEl£§§G +ºoF£Qöâ”±^Œ°¤¤D ´¶¶*fóµ×^“Ý¥Žíh-F¨ÁÄ?ìÆ _ÜwÃÝ“7swð²“)›óRMr^ùö¬°ß{È´õg‚ß’7#„Äš‰ºcO`FOñPzü<Ãc§aZã©Góõ[ ˜ýp¾¹ü«Ð'¨ÂˆL'¶ŸúBt{ßùÝ…°öBÕ›=ôÈJF!¯Ñ³¬ÙXµv¶ô’ļÙ{O/ ú¹˜¼ÙËgM„Är‚3iU™y3B(^ñÊÓ˜±÷'Ë*žFÞŒ"E‹Tå²EaØYñ¬0„K—>ýÛÍä3ñpöƒ’ +R Q€Ë"Ué°H5‚c;H ¶Ø§N‘êDÁ×ß$$¨ÄËÎ\¶Sðú¥·!·HUL®!…Eª,R^‘j¸LL6…Ë–O"Õ‰–7Ûqª=lÞLêΕ@l®JÌÁ$÷-}}¸|ù:s^ñ˜7‹Rn$ÃHr_cÐÛwMñö9ó §î2ëÍ¢…” *µ>âvÆ+Êðóœ7ÙoœgÍ[¨X ª3(^÷‹HëÍ¢hÒ p×üÁQ¡Šr m`˜÷¢~œozý²c𻯟åe#Qö‡ëÁò«óóP¼ÿOA^ØýwF#vœßxã\Ìcâ5IQªWn£§é/Œ8EÊ8÷}q:¦1(ú8p:ÃÃø}û6F¿Ž‘çïõ÷÷KÚŽÜ¡··‚ Hö݆òÓ¸ñ‹mxå­Ñÿå®§ÌÁÆ/`ßÏŸB²Ç §G¼ÝòõkEç1´ÓxÌÝn7`ppPѸ>ŸO›½½½1‰éÀ±¤T{#O»Ö)ã¬ÑåŽk#Z18ÂÐÐPH]Q­Zµ*P‚yëÖ-L›6 ÉÉÉ’_[[‹¼¼<Ì™3‡j$õ èó¡§§‘%4ýCèqºÐïõ*5’õ¤§C­ŠäÀ÷âÌéODå¦Í_ŠÂœTv}p9œèíó`È/@˜½ÁË>Evv6,X ˜?Ïž=‹ÔÔTÙE¹7oÞDZZ£6› W¯^…Éd’tìóíôÔp»§ V«K—.Ejjª¬qž‘»Kæ>“Óé„V«Å´iÓ‚ž©d1™‹T§Jå†+^ ü`ËÖ Y¤K")R çÛ™ –-REñu,`΋D%!6üÞ{ŸÓñR/ Eøö¦õÜ}əƊƒE¹R’Áý]f:]JšA¡UN&jñµ¤“-ÃŒ9›)P”+¥xQ£,ß+Ú*±ÏR|› I ú£ì‰Z|Mñ"²‰xH©+Øþ«dû¡Š*4ZôN°'¨‡Ûç´9‹¢âÛï•}ŠE‹æGeœ)^dÒÍâE1?öy'ÔÔÅì³ãªå¾û6.¯x¸EφQJÇãÔ•^…w²$Ú9ó"%žüÜyÒ²×{ç©éÿøÙñ?DפââÅ‹£Ñ({aB)ttt ½½]ò>ô·«« °páBètº¨ù–âEÈxÓy…’Áp8üýøãù›¢ÛÏ\ü5”•• °}ûö˜õÝb±àäÉ“Ò÷¹ðqTVV"!áŽêìÙ³YYYQóíd@uwÕÈÈs~?\.t:äê`BÄ04`C’~>ü"Bu沸vîà}¿dŠÇ}Ž»“¤l ˜1c…‹Dïò s=ÌOÅx ⱨr2‚NêËFBb‰×¹žxÜgŠ!„ð²‘B(^„Š!„P¼!„âE¡xBÅ‹Bäò?”“IX?‚¥˜IEND®B`‚nted-1.10.18/doc/docimages/insert_and_page_button2.png0000664001041000007640000000374711520267216017556 00000000000000‰PNG  IHDRF  á™” pHYs ‰ ‰7ÉË­tIME×7â'Fî†IDATXÃí˜{PSWÇϹ÷æÍMH!$°D» ZŸHÕuë‹×¶»Û]»Û*µÖí:®v;ítª­c+µuXwfÇú@»ÅÖGµÝ> " 4 („È+$„ÀMnnîþ´Ž5Yvg¶ãwòÇ=¹wÎü>çwÎïq ³Ï~ZBÀON‘þ„=06™îâ8>þ ].àñ€°0:ÀIûúûæaßïG{«ìóù:Í]>’T©bX, ¸¤ôjYùº5«.xEÑGEâr¹2™hšY©GÇÞx0YFÓt<­míÅ%¥?7;‹Ëå~g¨?TpØëõædeææd¹\#ûßÏ‹‹ûäÓ¢XµZ¡¾ñhéè@ë Ðïÿì‚ .~ù¥¾ªúÔ?‹>?{p½R/—Ëžûí¯Ï}q¡Ëb)¯¨‹·nÙìv»í½½œ%Ú ŽŽÂÑQ@’ÐO÷èø i€¾ªú¹ üàÃl6{p—Åbݹkwî3¿)¿Váñxœ¿X¹bÏ[ož<ÕxûŽÍnŸ­ÑÌOÓá8n0Ô]\úô/WÉeRçóù8KˆÝÎ:ù 20h½y é±qö¼Pà—J=›ó諵ûëâ’â’Òê5;¶oKÓi!„A }vælOM§Óøàÿb²X^¯'M§ML˜óiÑiá Çq<&:ºêÆ·&“éµÛé à%Åh¡Ð/ùEbšÃ¡-ŠhÜg:MÓeå׎=Þ×ßœ—oÏKÓmÎÛ!¬3B‡£ßëõædgÕ7Ü4wuAÙlvt´R_U¢¨B.#‚ à% ‘xò6ŽGvþAŒ¢ˆíÛh6ûÞÛ‰8ƒ HœŸ-¥—.¯_»fõÓ«‚p”H$ôz½ÿW¹ÙE§?_¿nMSs³ÓéÔhâÅbQÅu½sÐ !† »»{-\€bØÐÐ0‡ˆ—Æíÿ!`ØÿLB¸ó/Û—.]âr¹Ž8á%É ¼¤ÑÄß¹Óär¹²3×QSSëv»œN>ŸŸšœ<22âpôÑ4a(‚ Je$¡Ãá`0™ßçóêŽ||ÌPßðÈB*%™\»šž"p8œ—6mäóùúª&ÓÝ Òtºa×p³Ñòü†ß}gh°Z»;:Ì Óhâù|¼³ÓLQ÷â-—Ã!I²ÅtW& K/]y{ï»gÎ/IJJX²x¡Çãqôõ¤V©.\üjhh8#=]›šÜi6Ÿ;ÿéóI$¹\ÞÔÜì÷Så§(J"‘ ××7$&$”•W*8¼éÅÖ­]ƒ>dÞ´‚€©“4€ãñ?‹ÿ>ß*€Ÿ“i±Z;Îd2²2× C…—¯~cµZÃÃÃä2Yk[;EQ¤¤|>×c³™»º õ Ç wïÚ¹xÑ‚–Ó³fÍdÇ`0¢¢”<›–|ÍÒh¶nÙ¬¯¾ñ#G“ç&ed¤QRzY¥Œt¹\›ã¸B.k6-&cKË+/¿¼dñ¢Ö¶vG__RRâL"Ñ4=66ªÓ¦hSS‚,11L§Õîß·÷_Å%5µu™ëÖ*##KJ/±X¬ôô¥©©)‚¤$Ï=\ðQjJÊ…‹_e,[z0ÿ½eéK¼$Y©¯ŠŽŠŠ‹I$‚ (Êÿç?måñxAO!ŒU«ŸÍÍ)úìL¬Z½rÅr·ÛM’䪕+ a³Ù‰dÅò§D"¡\&{~ÃïÕ*„ÐÜi®ÔW=•‘*ø±¼ˆ¼^R›š\Ñý€–/ϸZVÞÔܼíÕWzl9L&Bx¯€žÐë»ÿЇ„Œ?|ì„L*—¦{„T;!Š¢z{]‹¡¾Áb±º\..«Ëgiâmvû÷ç[§M :<Ü/iDDJòÜŠë•óç¥%ÏMšô±HÔb2ÕÖoß¶Z»ìßÇçó@*¿VñÞƒ7oÝòx<ì“û}=#<6›­Ó¦?qÒfï‹UOÞ}´¶½½wŸL¡TF¾ºuKd¤âÑ ¢ }SV^S[;iHp:Ñ`CÜ4ŠŠRú(ŸÍf› éô™³2iÄ[o¾ÁçãÓÔ_S"½”·Ñív[[788äõz(ŠBQÃ!<^Rb‹/ü!è(7•r¹B®0[<9ÿá%#IòÊ•«ûÞÙ#ðkÔX3¥2ÿýýv{ok[›spÐëñ2YLÇ• …Z­Â0lƽÄb±d2i§Ùì÷ûFê±Ù(ÊÿÄìÙß=Ü/E ù¤-1FM&066ÉÎ i78ª°0q{{‡²vÈívC9ö„4]©d±° þ†X»~åÓi‘gŸ nZ&ƒé“!EDDÐ4m³ÛU11ÿ$J?z0PÔde“v¹‚N»S…P±H$‹ššŒ#ŒŒôN{Yñãò޹22˜v#M«RÅ0¦¸ÚõÚŽ’ïäëòøNü1Òc¤Ñ¿—T+¸&yR3IEND®B`‚nted-1.10.18/doc/docimages/voices_panel.png0000664001041000007640000000555411520267216015424 00000000000000‰PNG  IHDRJS8 ‘"sRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ 7(¡†9tEXtCommentCreated with GIMPW ÇIDATxÚíœ{P”åÇ?/.Âr3n{á~…(=8xKÌc¥èd©‘Ò“]N%ZgR µ´£9ž2u2KíL:¡¦Ñý˜M²êàLˆ%’ r„¸ ,ì.ËîùCØAXt!Ð÷;óμó¼ï<ßÝïû\~Ïïû>¯P›k<Ÿ•ÅßââÑß:ÄŒ]¬D9̃(Ôp*''¹BA{{ûˆJ2$áááTUVŠ-JìzØþñÇL{øáne§33‘+¨Õjª««Y€ÒÓ??^_¾N@vv6NNèõzÔ--üëõ×  B®P0!*Ьsç®_S«Y’˜ˆŸ^^üó¥—him5ñ~´};!aa¸Ë准òá¶mÃG¨'ãã9›•Eaa¡©,%%…Ç{{{ž{þy¬F¢¨°3§OóKFïnØÐk}/½ü2yyy¤Ÿh*3¦.ëîîξ½{ùdÇV®ZEDDÿ^»–É“'“•™yë*kk\ÝÝQ(•‚пPÍMM\))ÁY&ÃÓÓ©…BÁÒeË8q⟧¤°`ÁS…2™ÌÔ5¯Ÿ_¹‚\.ïA¨P(’’º]“Éd‚@vVnnn½þ§ÙqqÌŽ‹C«Õ²eëVžY´ˆâÂB¢§L¹eŒuuu”b0ðìòÀoÚõÊJKqS(ð ÄJ"A«Ñ Õh°¶¶&~þ|¶lÝJšJÅ‚ ºuÍØØXÞY·Ž–ÖVª««yÓ&žŒïAèììÌܹsYž”ÄÕ«W(..æJY®®®Ìž=›U«WÓÐÐ`j*• €K¥¥¨T*t:ÖÖÖØÛÛceuý/tþÎ[9t:øÓØÐ@KKKÿBi4”èÛÚ0Ü >@šJEtt4~¾¾Ý®íÞµ VK@` ¢¢ˆš8‘U+Wöú?Ù¾ À@&=ðr…‚ø§ž¢¶¶€];v`kkËý& W*ytæLrrsзµñïuëðöõE¡TrààAþ»gÅÆ!©TŠN«¥µË,kê7.г23‰ž2­FsWÆKY™™(}}‘Ëdâ¢XŒÌE¡D¡D¡D¡D¡DX$q×ÞÞÎ¥¢"Šó󩯫»e»¸‚P)B¾dggó@L uuäææšÎ%ÉȪµ¥…“ÇŽ¡mk#dÜ8¢;ÖBå—/sþüy /^ä¡éÓ±íXÞ•-Êh4’~ü8vŽŽÌˆÅÁÁÁtM©TΩãÇÉHOçÁéÓ{]yßcÔ•K—ÐéõÄÄÆb5ڎĽEÈ–ü‚lÉ/$î-Âj´3fÍÂÑÑ‘²ÒÒ~ wïÙĨ(äJ%žÞÞ<½p!555#_¨‹¹¹…†âàà@Ò¶ÿ\AuSÕMmlÿ¹‚¤%‚@Hx8%EEýzzzòå¡CT]½Ê¹³gijldÙk¯|¡êjj+•¤žéùä;Ë\ÜÜh¬¯ï—ð±GÅßßß”žy#)‰´´´;gÖ³¾ûþ{¶lÙB~Aííí “A1¢[”‹»;U ¶'¢zf;ËjkjãìÜg]ÕÕÕ<³p!Ë–.¥¨ €«åå¤>|gÌz¡cÇ’sþ<¡cÇòÞS×»ÌÕÄG»›Êòsrð ê³.V‹^¯ÇÑÉ ÊËËÙ°qã!”·Ÿyy¤«TLž:•òÑÂÀn÷œÿí7ÔÍÍxùøô]——ï®_Ï /¾ˆZ­&4$„E‹qâĉa/”YNMk+'C2z4Q“&áÞa&Tÿñ¹çΡiiá¯=„­íˆ—n–á4k0·•J™>s&—ŠŠÈ:}Ú4»99;ãåë‹_` E–0wĬgeeE@p0ÁÁbö@„(”(”(”(”(”(”Q(ËœCa. Gî eIs¡²²’%‰‰œÎ̤¾¾žæÆÆ!ãN^¹’¥¼¬ [[™1ƒÿlÜhzô¶º^Wsaö¼yüeâD”J%J¥’¨èhæÌ›‡½“ééF³–B³fÍbó0ÔÜŽŽŽìûì3ª*+ÉÎÊB£ÕòÅ‹-3Fu5º:0ppp¹ “ÉXü쳄†„0ÔÜ+““‰ˆˆ@œYš˜È©S§,#TWsᦹš˜ Á`s§¥¥q_d¤e„êj.ôsÍ…`0¹þônÛÆæÍ›Åðàføö»ïxþ…8¸?ãï¿ß2Bu5ú‚9æÂ@1Ü)û÷óÊ’%:x»¼Ï~ÛB…ŽKq~~¿–’9æB'4 º¶6Ó¹æ&/ÖZš{ÇÎ$½ñ_¥¦2iÒ$ËFæÞ~~Œ–HHW©hnnîõsÍ…N¸ÉdLíØÃâ&“áÖ‘ƒlîå+VÐÜÜL\\r…ÂtX$àÉS§ròØ1TGöi.˜û‚FAæ`q›Ë{Ë‘ùŸi. ccD˜ ÃÁس¢P¢P¢P¢P¢P¢P"nÊh4¢íXw‰è#àÔêt͸ñ®7®ulrî –Jð âæÌ!//µZD"aüøñ¬yûm&FE *÷ÂOålV–Ù[H$µý¼ oÉ ‚ °q‚ƒ±“JÑh4lÙº•¿ÏŸOiIÉ rwÅÎ]»ÚÙ lŒòòöîóK&øA 22»Ž§o0¡ÇŽ÷ÁàîDyy9;wíâíÕ«&Tø}÷õyÃ`$ø?÷ dr9üxäÈq¯HJber2NNNª¿æ: þO÷졲¢‚sgÏR__Ïê·Þîÿ9B}CC¯®ÖqT`` ï¬]ËÞ}û«¥µ•7““Ùj¦ë2`¡Û\h75jÔ spùòe›5‹€  âæÌ $,Œo¾ù¦ÿY¯¿ºî\èüVTo0'ÁáÂÊ+*˜ƒ ùùù¬]»–øùó{ܸq\¼p¡Ûo‰›3‡ô“'qqq¹ýeÉ¿^¯gݺuøúû#W(˜ûÄL›6÷ß{oй% r¹ÜttŠ#“ɰ5c#Áš ÷Þ{/'Ž7»[†±Ñ‰ÈÈÈ™ ¢¹`I¡@4Ä4Ë- % †»R £Á€p“nÜ£ÔzôhÌÉ(܉hQ«±•J±¶¶î_(w¹üú‹MMwMË2 456r¹¸§{îÁ¾—ÌBÁÜ]&C«ÑPzém:Ý]!–`e…­­-Ž..Híí‘J¥èõún³©$õ†Š ‚€—jµ­V‹~1z °¶¶Fjk‹ƒúÚÚnË"¡¹±Ñˆ 5ÕÕdÿú+‘&à4f ÿaý¸JˆÓëIEND®B`‚nted-1.10.18/doc/docimages/lyrics_editor.png0000664001041000007640000017521011520267216015625 00000000000000‰PNG  IHDRNQ‚1"&sRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ  vú«ktEXtCommentCreated with GIMPW IDATxÚìw|U÷ÿß3۲雞HèEj„@AQPD±DTPvÅ¢¨_ªˆˆbAP¥#BzÏn¶ÏÌïÝvS ÖŸ<ÌçõÚW2»³÷ž½3sîçžsî9ºի0dkV­Šò¸ÝRxDD 4hРAƒ gA@Q”?ÜŽ¢(‚€½¦&Â`4ê.:ÔúÍçŸ#|¼hQTRjêA:$§¥)Š¢AßF–eµÆ &ˆ¢v5hРAƒ …ðÈHœvû&MN‡ƒ0³A)ÊÏEÙ[\PÐëên° kV­Š2›Í[,ññôƒ"˲Ü€(Ф6mŠ"ËÖ¤ Øå%%!dKƒ 4hРá/%N8„?ÔŒ‚Óå",, EQEQñzâINK#*:š¼ãÇÉÏÍÕo4œc 6E–ëXœÐétH^¯oÓ›_GtHm‹“ìo§6);EœNçªS5³mÛ¶¸Ýnn¼ñF6nÜHUU)))x<~øá233IJJB‘¤ºAU4h8çˆS¬Å‚Ñ`@Åùù¤5mJBr2( å%%§VˆA +@´è ª²’„ädÒÒÓ°ðp ssQ€èØX*ÊÊÐ DEG®Y›4h8uÜ@:sx8z½^='ðydTU••õÆ8Õ¶\©®:ê1k©ÄI–Ñëttîܛ͆×ëÅäDïß¿?±±±äååQ^^NË–-騱#¥ÅÅÜ·_ AÃ9¹ê À%>üħ´¸˜¢‚R›4¡¬¸·Û]‡àÈŠâsÏÉ2¢N§ZŠ u:Ò›5£E›6H^/¹¹(ŠBtl¬ÏÝ'ŠØ¬VòŽ×vöjÐpꞆˆ“ Šè ÖÊJ Q11ˆz=R•ª¡§9Ö­^­˜Ãô8‰¢ˆSQ°Z­X,öîÝ˦M›ÈÉÉ¡cÇŽª }×®]˜L&Z·n ËèÈ£ Aƒ†sCb›‚¡×ë‰ˆŠ¢c·nس‡²’’À|Ê.(Ñ¥àWf=¤žWOÌA°‚ÐJ>iÐp®",,¬Þœo¢Ÿ8¹].õ=?>Òãv×9ßãõb4ë¤9qØí§\u AE.ìÛ€yóæ±oß>ÆOMM }úôQÏ þ¿¢´”Ý¿ü¢Yœ4h8‡Q›¼H^/-:t Úb¡ª²’êÊÊP¥”“)ð7x¬¼‚ Zí÷jŸ¯Aƒ†sgÁ&â#kéY’ðú7¨ïS=ú£>‹“R;Æ©AA‚>ë•“Ãw6pàÀ®:´áïøã´*4hPõP^ZJYi)¶êj_=)MGhРáÏ$N ZAÑjÀU~W] ­@C0ê¶àj«½^O¸ÙÜ +.ûISŠ4h¨oÅæ[äiúAƒ ®~ 3›qØí¸V$IjI¹`x½^ŸÅéL;àN§ú ¡à÷NÓ»v%5hРé 4ü-ÄIú3,N~Ë•Ô@¸‘^QI"<"£Ñ¨¼ 4hРáì#N€Ñ`Àh2!üÁvdI ‰Óv»ÝØkj|Ä)°s%)%EÝ6¬áÏ… €É`À¨×ñOwNH²ŒÃíÅ+ËhŽ 4hÐpV‘§ M%&*ÊÊ8rð :5¸I>MÙ  N·‡W?ÙÀ§?ìÁáòüc™º(@‡f)L»f­Óðx%-Eƒ 4œuäéÏFp}c¾ I6ý§èèh‘‘‘TVVb±X´«tºÁ–>Üð3v/¼óèxtFÿÈWˆ(:t„§?\Ã37&!*ü¿­[t:Ý)â¯Éû§Ë+êt!ÅzφñDñ/[yjРáÜF£ˆÓ–~àɧž"**ŠggÍâ£>bò¤I´n×ŽêŠ Üõ$Òà'²ÌO‡ò˜z˵xðzÜ>–òÏãè(d6Ïdø…–¬^ÏÀ6)¸=Þô$i #*&—ËEMuuHÚü¤¼&Q11¸Ýnlg¼F¿¼^kuµ¯xî?\Þ‹…fÍ›k¤Iƒ ?qRƒÁÀÏ?ÿÌ cÆ0éþûQ¼^zõêÅáC‡B¶êFÌf3N§§×ݹ®¼\/a&—«N¢­дãXƉÁF³-¤°ûV%‰GEFË–ÿìÂÒþüf¹Gb÷É{šrGÿyYæÄÑ£„……‘Ñ¢ÅY!oeEEùù¤¦§k‰05hÐð÷'NÇ'+W2óÉ'‰ŒŒä™gŸEQ®¸ürž›5ëT#z=-_Î3³fáöxxäᇹ~ôh<6€٠C@'ø¨Ô?€A¯Çƒ$ÿóå±Xp:x=ž³b¢Œ‰‹£Æj=käµÄÇS]YyÖÈEyI iÍš¡üƒ-z4hø_!NþjäàKd9ôŠ+xhÊÒš4áî;ïdíÚµ¼ôÊ+!õ¤¾ÿþ{æ¿÷_®^Á`à†±cÉÌÌ$»GsnÅHª.‚0ëDt‚€>¨…ð;(” ËxD½( Ëgdž½Á€l³!ËòYq¿ôzdI:7tŒ¯äÛ³A^I’´â¾4hø‰“ àv»qÚíȲŒ1, É_ãÅåráöxDÑ€éŸÌwìÚE\\ë¿ûY– 3›9tèíÛ¶õÕ†ù‡ ŒFÌáá!Ä3€0ƒˆ^PðªÞ0™Ÿú‘ÖíÚsæöñe+]ûÕj.½|Ø¢u‚ b4Ñét8äz,JôH²¤~n0~sb1“É„+¨ â_…` Nÿhyý°%¿Ü¿[^£×ß_(KøË©µšôz5Ù\ca4ÿ–xHmw° þVâäñx(ÈÍ%*&†ðÈHLf3¢N‡^¯Çh2¡7ýD0¦ èõz<^/²,3rÄ.ì×SX†sÀT.Ie%%DFGc±Xêìæ1ëÅ Wxd/¯=ÿ<1‹º4‚ìÈ‚‚ËnSÛø}O¤²¢œyoÎæØ‘ÃLêYR›4­‡8 èÅ@­ßä¸äÃé“C³¦MEô\O<ý4>üð©Êö¿•æ) f³ƒÁ@ ߘÝn¯cURÅ—°,È*òŸ?¦kçδlÑ¢Q}y<žyî9œ<¹Þ4û•72"—4ÍÏäp8ê‹Àî´`yW®ZE«–-iß®]£úòz½<ÿòËL7ް°°?®ôz"""¨®®®3¾²¢„SY–Yýå—¤¤¤ÐµsçFËûÊk¯qÛ-·ù»åE‘¨¨(ß3†¯‚Am2¦' 4ümÄI Nž$)-Ääd$¯÷Ô*Ó¯<ÕÀРªä]ºtá» 6t(Mš6eÿÞ½F¢cbΉAT€ˆÈHŽ=Jxx8&“)„D„éEŸ'`qÀfÆ „› ¢ˆËL¯Óé1šŒ8"""p¹\¾•ºËÍ-wÜ…µÚ (èõŒ&#¢ ╼8Nô:=¦0^É‹Ëé ‰ãEÜNâââøaÓªÊËhš^qÒ èY’‘ýV…­Û¶Ñ¶MÒ›4iÔ˜èD‘»î¸C%4¿&“‰×æÌ᫯¿¦¢²’¬®]yòñÇÕM!œ ‰Ýëõ²ýçŸIMN¦yff£'äÛo¹Q·¼f³™q÷ÝÇÞýûq;4mÚ”‡§L¡m›6!mÖ&"’$±c×.Ìf3mÛ´i$ ¸ùÆ}nÊ?HDQdÓæÍL™6O?úˆèèèz-dÁòîÙ»·ÛM—N宿sXØï–WENæå1zìX §“û'L`äÕW‡S8iРᯄX[¹9’’“ñz<ª¢4›Íýd@o0 ‚@lL Š¢0pÀÆŒÍ^H\\“￟¿eà\x¡(˜ÃÃñx<¸ë ˆ7ü'Ñÿ|Þ¼°0o¿9›»oCdd&£ïÖ}Åà sP$/-R,,þà:¶hœÙ/’‘…((ˆ,ÿ÷bzunOë& Ü2z$’ÛŇ‹> Këf´Lµpëõ×P]Y~ªOÒÒÒ7~©©i(!Ÿ^zÿK–%_¥éÀ¤¤(8ì55(²Œ"Iê6uY’¨®®ÆírQYY‰½¦“Á€"I(’„Çí¦ººšªÊJlV+rཪ**++±ÙlH^¯Ú_àeÐëyûÍ7ùïºu´nÕŠ»ï½×7ù£,8AÇB@^§“šäµúå­òËk4Pdù”l§“×j­#¯Ãnçž;ïdõŠlúö[ƌŭwÞI˜ÉTG^%HÞ€+ EÁåtRc³…È[×jUå­±ÙÔñ•ƒ~Wåo7𪪬dÍÚµ ^%ÈB¦,‹õÉ[U…,IجV\N§:†F½^ß`y×Ããÿ­•••XýÁóµåðºÝx<~Þ¼™­60⪫ð¸ÝuÎÓRhРáo±8”¡Î`Àív«Éäf<þ8²,ãt:¹¨LÍFQq1¶êjFÅ7ݤ¶ã¨©A’ÎÌÓªkNöYhB‚¸|Áá¢ÏŠ ‹¾¿’ÇÃØ›neù¿—’wü-Z¶bΫ/sï}“ÑáT•Wp¢°˜ÂÂÞzã5ô¢ÀÏÛ¶±èƒwùÏ'ŸÒþ¼ä?‰ (Ì|ä!>\þ —¾˜cyžÔðõŒ`E,S0Œ¢ÏB°8´¨ÓñÍúõ|ôñÇ,˜?E–ùâë¯Y¶|9óæÎe舌¾æöÿú+½srx}î\Ö~þ9²,³dÙ2¶mߎ(Š4IMeÂ=÷°`ÉvìÚ…^¯§Yz:·ßr ±AVJ‡ÃÁí7Ý„ÛãÁérqÉ€,X¼¸ŽU¡>W’¢(èt:¾Û°ÿ[¼˜e "+ _ý5,\ÈÂùó1z4W ÊÁC‡8?+‹÷.då²eèt:þ½|9?üø#¢(’œ”ÄÄ{ïeÙG±uûvôz=MÒÒ¸ý曉‹ ×ÌŒ þ»e eee=~œ‘Çãr:Cåõÿ_Ÿ¼7mâíwßeŲeȲÌ7ß|ÿæÍcÙ¢E\ÓM ºøbŽ;FÇXþÉ',œ?Ÿððp–ò 7mB§Ó‘ǤûîcåªUü÷‡Ðëõ¤¦¤pÛM7‘”˜j]4øö»ïˆŠŠ¢m›6H²\Çb#½ÚòþwËf¿ñŸ­X,Ë|·~=¯¼þ:Ÿ,[ÆÍwÞIßœróòhݪk¿ù†7^}•8‹…OV­âÛï¾C'ŠÄÆÆòÀĉ|¹f ë7nD¯×“œ”Ä-cÇÒ$5U}–A@òë¡W®Äd4ÒµK—:®`Íâ¤Aƒ†¿•8, Áp8ªâòz½xm6j¬V•¹Ýî:±çʪ/øw ‚PgüÌÑgÁñëw½ˆß¥Æ^Ȧ ßâq98|øWAUe%.—‹ 'Rcµ¡H|AÛ‡~ÝKÏž½hž™­ªšø¸ôz='Mæ­7_cþ¼qÝèëéÑê /RD?Aö[ÁjàƒàqRu‡’Ûíf`ÿþ,ûè#öîÛGçNxçý÷yøÁñz½D„‡“™‘Á„{²’wßEQØà?mÛÆS3f’œLuu5¢(²âÓO™>u*WJEe%n·»Î¤gw8EÇÃ˯½ÆÝ·ßŽÃá9O©E@®%—ÛÍ€þýY´t);wï&«[7æÍŸÏ'âõz §YÓ¦Ü7~<ÕÕÕ|øŸÿ ( Gcã÷ßóÌOž–F•ÕŠ(|òÙgL?žÇSUU…Ëåª#¯×륦¦†Òòr~Ú¶Q×\£Æþ5(oðø^tï/\ÈÏ¿üBvÌ›?Ÿ‰ãÇûä5›iÒ¤ “î½«ÍÆg_|ÀÉü|¾^»–gŸ|’fM›Reµ"«V¯æÖ›nbô5×PmµÖ7NljÜ\V­^Í‹Ï>Ë÷›6ù,Bµr5) =·ÛÍe—^ʼùóÙúÓOôÎÉáíùó™Ìd2qûÍ7S\R†ï¿gïþýŒ3&dŠFœ4hÐðWBÔ†à/&U„‡ë‚‚ÄEŠ‚Aƒ±kç/<ÿì3Üqç]„™ ˆ‚( zDŸ{щŒŠ¤¦Æ²¤¶§H^&?ð¯Ì~qãÆñÊK/pìÈá>Õ—èsê‰Ó JÈç¾àp_psÀ£(Šêë×·/ÿݲ…·nE’er²³q»\x½^úöîM͆ÇO¢eI"77—Œ¦M±ÄÄ`¯©A¯Óa4xtêTÿûßä\t /öå ôôr»\<ûâ‹´kÓ†áC‡úb·‚>±ˆø]AøåUd™Kdý† lÛ¾ÇCŸ^½p9x<úöF•W‘erssIKM%1>žššô¢ˆA¯ç¡ûïç£+èÝ¿?óßÛ]GVÉëå‚Þ½síµ<8q"Ï¿ü²ê¬#oðø}è!¬ùæ~ùåœN'ýúô9%oN5v{ˆ¼'ssILH %9Y•×h0ðÀ}÷ñÙêÕä\tÿš7¯Ž¼:Qä±'ž`úCå#&F#b€$Õ’7äØÿ×ãñ0røpVù%»wï¦Ænç¾}q9xýcmÈë'dy¹¹X,ÒÓÒ¨±ÙÐùåp÷ݬY·Žœþýy}ÎÜ.W±Žæ¦1c¸òòËwÇ,úðCt¢Xç:hРAÃßkq Z¹oAÖP¿µI§ÓùvR5€@:Eôey’ý‰0u‚‚^„óÚµãƒùïòé§Ÿ’—_€×åô‘!EA/œ"9ãó»uå½wæ±áÛoèÖ-‹¹¹ÄÅű{÷nÎ??‹8K,½péÅZ×Nü‚|\N'e¥”𖆢È*Õ3ˆ‚/˜ÝíƒsøH’DÏ=X¶|9[·mãúk¯UcLÿD¼­^–eâ,ÊÊË©©©Áh4"Ë2^¯—ìóϧ_Ÿ>”–•ñà´itìÐA»ÊAÀãñðöüùÜr㈢Xï.µú\u~zeg3ÁÞ~÷]®9?~ZòRXââÔ8“ɤ¶s~×®ôéÕ‹ŠÊJ¦<ú(íÚ¶åünÝÔç#Ч^¯?µ™ÂŸÝ¼vðr°ëK _ûÛs²³yý_ÿâíùó9|¸?©¬Ž¯4¾’$GUu5UÕÕ¾x*¿¼]:u¢g÷îTÛl<4}:­[¶¤ONŽÏí*ŠQT\̸‰‘e™ŠÊJ†Å“=Fv÷îjÛÀ.@)ØUçÿ½‡œž=Y¿q#oÏŸÏð¡C‘$锼û&H^K\V›ÊÊJÂüÁâ^¯—Ž:ðÚ‹/b·Û™6c6mâ’ÔߨY¸D¦ðÚã«Èò?8C¿ þ§‰Ó¡(-)AE45Ô0q²ÄÇÓ¶}û•µY¯C'ÈþÏ:‘œ^½°ÄÄ  £YSRRR9b–˜h$IÂdÐsÙe—©ä&ƒžËF' ´kÓ†—^|‘×^{9o¾Ivv6ã﹇}{vóî;o£×é¹ûÎ;iÛººZ2ÉŠÌØo %5•7ßxY–Ù°aV«U=Ç ;•Ž 0y<uâLNLÄëõ²í矙5s&.¿‹Íår©ócY–iÙ¢:ŽÅÿþ7MÓÓ‘¼^:wêÄ·l!22·ÛMLL áá¡E…ØþÄlݶ)“'³~ÃdEáÒC\3ï“5w¼‹“ÑȺõëy|Ú4Õ%/ ¯ÛœÑ´)QQQ,\º”ÌŒ <]:w懭[1›Íx½^¢"#‰ŠŒTûE‘‚¢"¾^»–ô´4$YfíºuÜ6v,N§3äwÕ–W_¿K/*2Kl,+?ûŒ©“'ãö[âãxäOKI!%9™-¢U‹¸\.ºuéÂOÛ·c0Qd™p³™˜èèÂÉG‹û‚ÒÝnn¾ë.æÎž%66Äí®‘ €kÑãñàõz}›GÂÂh’–Æ>þ˜ ãÆÕ߀…Êåv#Iɉ‰4ÏÌdþÿýmÛ´Áét’Õµ+?ïØáÓ5‚€ÑhÄ’›K¯×óÍ·ßbw: 3™X¿a#‡Çív‡Œ¯¬(ˆqÒ AÃßIœDQ$÷øqN'½ûõ#âä]ù_‡Íje÷Ž4XÃK/  *sÑ`à‰3Ô FŠ‹‹¹û®»% AQ7›Yºx1v»üÇKüDz×KV·n|¸t©wæv»ylútÕÚáñ¿WçÚêtüòË/!²Úü1<ê9‚OÞÀD)×^}5éMšø&ö¨(R’“¹â²ËÐëõª•åÁûîS ^¯ç‰˜èhÆßuÛ~þ™j«•¤ÄDb¢£iÖ´)'óò[ÇŽ%=--$>ÅãñÐ=+‹^={bµZÕÉ›Z¬kïráW\Aš¿½ˆðpÒÓÒ|É%ªI¯×3iüøù'úøçÎ;ùiûvª««IHHðÉ›žÎ‰“'€±£GÓ<3óùQb££ÉÌÈ ¼¼QuÍ5duíZ'Ie ÆIÝ• \>hñññ(ŠBXX™Íšqqÿþ˜ÍfdYF§Óqï]wa2™ÔÀìñþcƒÁÀ¸;î`ë¶mTWWGLL MÓÓ9~â×_{m´â %÷Üq‡J^k‘à¼Spé€DEE!Ë2ƒV-Zpaß¾DFDøäEî¾í6"ü퉢È]·ÞJDD„OÞÛnSåµÄÆMzz:GEQ®»újÚ·obIòz½4kÚ”½û÷cµZ2hÙÝ»×Ùɪԓ„Vƒ þ4ƒÉºÕ«I’ÈlÕŠø„öïÞMNÿþ¬ûê+ºœ>1±±Ú(y'OR”Ÿâõ’”žNLd¤ZNE’$¶nÞÌÅ—]Vou·ÛMZz:£®»ŽçŸ{ŽðððÿïAõ奥ü´y3qþ‰\„‚²,óøÓO3úšk8¯}û:çœî8xr ùþ$–Áï&ÜÚkm7÷z}9«‚ ~í¾Ÿ|öY.¿ì2²ºtQ?ÿCòÖ"–õ}§ö9Ý»H\Qmyu:³^|‘~}ûÒ»gÏ?g|%øÜÚí©ã-IØkjˆ Êï((þÂ+¯ÐµK\xáï—×7 ÊÛÐ÷êÈ+Ëèôz:eeJ¥¡Aƒ åå;tÈ·[½¡“dYÆä7ók8 óD¿Õç÷DÚF_ÁW¯÷Y9xÒ ü½t»ém› IDATØ0F\u­[¶¬3±Õ÷ÚÇ!–ú &§;§!¾§Óéxùå ½ì2:¶o_gÒý³ämè;¿U^£ÁÀ€!C¸dàÀ’÷WŒoC׸Qòúÿ†……qÑàÁ\xÁädgÿ1yýút÷C}ßÓr6iРáïÄéƒÃƒLözlî?©–—Ñdòíò©G¹ýå\™Ëÿj’{z=ôn— £É¤&=Ó„÷Gƒçé΢øãwßùêþ uÝþ($Iâ‡õë}¹ ü±Fÿä‰Öíñ°ùÛoñx<8ÎyN'›Ö­Ãëõâp8þñòjРAÃ…ØXR`«©á¶[oE§ÓýáLÛ‡'Ÿx‚ÒÒÒ:ŸI’ÄÛóæ1dÈ6oÙ"Ç_ñ’e™¹sæpÅW°gÏF]wF“‰gŸ}–“'O6>{ø9„j«õ¬ M¢Wmµâô—´ù§Oêyg‘¼VŽ(Íú£Aƒ†s§µ8á߆,n§“ÿ[°€ùヒ÷Éëå³Ï?çúÑ£‰³XB>Ë;y’¹sç²àÿþŒfÍþZW¡ PŸÏœ¹sùpéR2š5ã™§ŸÆfµòå—_2xÐ RSRÎÜÎÿ qQÏ Rˆ{Dñ¬¸yÏšñ}‰¿Î¦ûAô—4"§Aƒ†ßƒ  1'Nþø’à]CÅ©( .—K]Å›ÍfŸ{ Ô÷A£áááàߥe·ÛÕ­Õb­öñ,»vï&<<œÍ›#‚šëÅf³‹ ÔøË¹FuÝnÇ`0¨}›ÍfDQÄf6c ªz/øsÀìÞ³‡0“‰æ™™ØjjˆŒŒôÉ矄V°@c“É„Ùlqažn2ðíX ŒáÙ€À¸¹óóÏšÝIøR*œEòÚl¶³JÞššš³g·š¢p27WÛ]§Aƒ†:º¬10 4ÍÌ$£eKtµ6)éO׸Rë…ÿoYy93fÎäÐÁƒ dee1ý‘GˆŽ‰áÕÙ³Y·n¯»ÝÎ Ï?O¿~ýسg'NDQš6mÊÑcÇ|äÌß®N§cßþý<>c¹¹¹\síµLŸ> úõcÚ´i¬_¿žþó6nÜÈ˯¼¢¦9o¾IFFC.¿œ¾}ûräÈNæåѳgO_ݰ͛9qü8Ù={òÔ“Ob6›Õþ~=p€Ç{Œ£ÇŽ1bäHª­V¶lÙr*d™%K—²xÉAÀÆo¼Azzº/þê dHÁ;%ž.ÿ†„ädFÝ|³ö„iРAƒ†ÿã‘‚äõ"êtœÃårqË­·²þ»ï¸|ÈÆ\=Óy€ÿüûߌ»çöíÛǬY³4x0MÊŽ;XýÅ!íz=:´kÇœ7Þà±Çç˯¾âÀ¾}‚À•Æ1kÖ,ÜN'ãUŸ~JŸ¾}™5kî»o¾þšˆˆxáùç)..æ²Ë/'£Y3–}ø!¥¥¥\9|8ÅÅÅd4k¦ö×®Mþ5w.“￟¯¾þÚ7@-Z¨‡¢PUYÉ›sæ°vÍ“’xùÅyò©§ø¿÷ß÷Y³Ês¥70ø­rÎÎO‹ßÑÆS_í÷i8;ï‡ÝŽÉdbÝš5t=ÿ|uó—¬((þj ²¿ê€N©(/'³eK~ݳ‡æ-[†´×¨àð`—šW’8räçge!øãÚ¶kG~~>¢(²}ûvºuíJZZ&N¤°°€cÇŽqÙàÁÔØl¤7iBóæÍOÕÀò¿¼~+U`'äO®×³W/œv;'NœÀjµÒ§O\C¯¸‚üQ§Ãív3xð`œþ¬Â‘‘‘ 4—Ë…ÉhÄd4új¡Õꯦ¦F-a«©Q‹ô*øÜpGŽaçÎtËÊ"==YÏ=ÇÑ#G ÈmÙ(\=çÔ÷=¯×Ë”)SØ¿ƒç5ÖåW;[µV:ç½zõ:ãŽÆн{÷:y£xàÖ®]{Æq>þ_¹’$ñÔSO±bÅŠFßkO?ý4}ô'Nœ ]»vÿøI¯¾kXûwýÿ¸~gê³  €ôôôß”ãϾ¯¾ >Á‚<ýôÓuÚ(..¦iÓ¦gü}×µù-cèp88ÿüóq%kþ׈“JzD‘6íÛÓªMZ´jEó–-ÉlÑ‚ŒÌLšedÐ,#ƒŒæÍILNÆ`0øêlÖºßÎHœÔ’ Aï'ÄÇ“ŸŸÇãÁãñPYQALt4ÕÕÕ 1‚ùó瓟ŸÏ'¬ÆAEÇÄpøðaA ªªŠªªªöUÅ©|.J-e€ œÌÍE'Š:tˆ¦Mš„Ö© ª6|¬Ôú=Áý¬Kj¿A¥;éÒ¹3ÇŽáøÑ£æçóÕ—_b­ª !~g‚ ŠØl6ˆ <÷Üsõ>ü:Ž>}ú°hÑ¢SßV¯^ ¬\¹2$‘àénAøñÇiÑ¢E$–…²ièûyÿ÷ôÝÐ÷Ó–¢(œñ\ÇC~~~¨õP¯çå—_æâ‹/®ÿZ v»&MšP]]’ëiÏž=DGG7˜,ó·(æßs-ÏdYß9•••¾¬öA¿¹¼¼üT ¾ °~ýzâââØ´iÓ§Og¤¿N`^^Þïžô~ë=ö{'ù@|eDD„Jœƒ4è7““ßûìȲ̬Y³xúé§OÛ§¢(¤¦¦ª»Ï¨“ÜÜÜkög<ó‚ àv»4h[·n=m޳úîgA;v,Ó§O'???D6I’8yòäå‚‚î¾ûnRRR°X,\pÁüôÓO*A;v’’rZˆ»Ý¶m&ú›ÿŸ„OcRAº/°(j`Tôg´’H…¿ž–ô»à™>… âv»ÉóÇÉ’DóæÍY¿~=¿îßÏÊO?U³eßrÓM¼òÊ+TUVr2/ƒ†ºýýI’äcäþ"¨nUuY’ˆŒˆà®;î`ÊÔ©\>dsæÎå±ÇÇ^Sã«‹%IêN@µY­ãÚýÉ’¤n­—% ¯$!.§Éë%%9™œœ}ôQ:uê„Ýn'--‹Äã·`5v'— <úè£ ¬Uk­ö9çwË—/§¨¨ˆäädEaåÊ•\uÕU<õÔS\y啪"9~ü8Û¶mC’$Z·nM×®]C™±(VG©íرƒöíÛÁ?ü@LL íÛ·'//üü|:tèÀ?þHYY&“‰=zr††‚ pôèQvíÚ…Óé$%%… .¸@ èß²e åååDGG“%hG¥ ±}ûvl6ÑÑÑôéÓ‡ÈÓ”û (þ‚‚²³³9~ü8¿üò W^y%v»mÛ¶Ñ·o_öíÛǯ¿þŠ×ë%##ƒl¢Æß Y–ùâ‹/èÖ­¥¥¥$''Î÷ßOóæÍÙµkqqq\tÑEjïÛo¿¥M›6üøãddd••ŶmÛ8rä‹…>}ú`6›)(( //îÝ»«V…üü|Î?ÿüÓŽ ÀöíÛ9|ø0‹…Þ½{Naa!¹¹¹ôèÑ€ÂÂBNžûŒ„„ÒÒÒ(//gݺuDDD0`À€:d¤¬¬Œ;AƒñÖ[o°uëVÊËËسgÀëõÒ¼ysºwïŽ×ëåÛo¿¥C‡lÙ²…èèhúõë× Ñ Œã7ß|ƒ,Ë|úé§dffÒ©S'öîÝ«êœÌÌLzôè×ëeݺu 8‚‚ p»Ýäçç«zIs?þý¤€Ñëtôz3›ŸÞâTÕÆœ7ÞÀírѶm[žzòI¼þmÏ=û,éii„‡‡³dÑ"E¡¬¼œ©S¦ðÆk¯á²Û:t(?ô¥¥¥thߞŠS'‡S›Ö­yhÊv;qqqÌyóMœþqv»™3g2xÐ ò ˜þè£\}ÕUx½^¦N™BRR’¯À§(2õÁIð— u:¦<ð‰ uúkÙ¢N›†£¦Kl,sÞx»Ý΃÷ßOJj*‚ ðØôé´oߞ¢"A yóæjÓF¯ÚeY}È#üõ¼Bbb"ÕÕÕTVV>7çÁƒyýõ×9tè;vìPW_W^y%{÷°]»v5z¥4kÖ,vî܉ Œ9’Ù³gðÆo°lÙ2Nž<ÉO?ýDQQ6là ´´´Qdà×_¥¤¤„'Ÿ|’×_€¹sç²dÉŠ‹‹9tèê ÆO?ýÄ®]»(..fÑ¢EÌœ9óŒ HKJJ=z4/¿ü2ǧ¨¨ˆ;v0kÖ,Eaݺu=z”‚‚&OžÌ²eËN»ê«óø'–I“&ñùçŸãv»yùå—Ùºu+ÇgÈ!¬X±‚²²2fΜÉo¼Axx8¯¾újihÒ¤ o½õ^¯—;33fPTT„ÓédÕªUL™2…¢¢"/^Ì«¯¾Š,Ëlܸ1Ämñý÷߇7´jýôÓOyðÁ)**béÒ¥¼òÊ+H’ÄæÍ›™1cFÈÄÿÄOàv»6l³gϦ¬¬Œwß}—G}€}ûö1iÒ$•Ì|úé§ênÑÚÖ¸wÞy‡… òÁСC¼^/ï¼ó_~ùe£'†0yòd~ýõWvïÞͰaÃT×èºuë8|ø0………L:•÷Þ{wñâÅŒ;–PXXÈŠ+X¼x1à+{ôÌ3ϰmÛ¶:ßu¹\L:•ýë_ÌŸ?Ÿx@uñ¾óÎ;LŸ>ÒÒR^zé%Þÿ}A`ñâÅüç?ÿQ¯Ç’%KX±b…/ÞòÊ+Y°`ååå¼ð <ûì³g”¿ºº›ÍFaa!N§“òòr6mÚDAA{÷îe„ üú믔••1lØ0üq&OžÌ‰'øá‡˜Èš5k4ó7C'Š””–’›ŸOqyyƒßdq 6]FÆÞx#^¿[¬}»vthß^}°=þÏëÐŽç§’…6þ•~KÕ…ýú©&ÎÚ9E!%9™ÔAƒp»ÝDFD0ö†B|½žW_­žïv»E‘ÁƒªõUëX„ãàþ’’’¸|ÈÜn7Œ½ñF<—^z©z~dD#GŒQd÷`£WþóÔB©§ù^XXn·—Ë…¢(lݺ•„„š6mÊÍ7ßÌK/½ÄÂ… ‘e™;v0wî\z÷îÝè›Åd2‘••ÅÖ­[iÕª‚ Ãá`ùòå,]º”¶mÛ2eÊõ;#GŽäĉ$$$œ¶í±cǪ꥗^JNN'NäàÁƒÄÆÆ2~üxujcРA\~ùåÜpà dggóüóÏŸ¶¿¬¬,"##9yò$»víâ‘Gáã?Æ`0ЧOƧZºuëÆ}÷Ýǵ×^Ûèñ²Z­Lž<™ôôtî»ï> ƒN‡(ŠX,&L˜@dd$mÚ´á®»îbâĉjÁõìbcc¹þúë±Ûíèt:n¹åUÎ^½zñì³ÏrÑEqèÐ!FÍäÉ“ÕÂÃÁä¤6! î'po½øâ‹Ì˜1ƒ‹/¾˜#Gލíét:uwi =³Ù¬Æ,Ž?ž¦M›rÑE‘••ÅìÙ³Y½z5Ý»wgêÔ©8N6nÜXoV“ÉÄ´iÓx÷Ýwi×®úŒÆ­*û!Øòñõ×_Ó©S'~øaÜn7[¶lQ×í·ß®Þc}úôaøðáÜzë­§mOE.¹äõ^ظq#óæÍÃf³a·ÛÙ·o¯¾új¹$I¢W¯^Ì›7?þ˜ììlÕJð裲nÝ::vìH=¸á†¸í¶ÛêüÞÀ±(Šèt:&L˜€Åb¡[·n 4ˆÇ¼^ùEÁd21`ÀdYæ¾ BÚ>ø zþSO=Å7ß|ÃðáÃÕ{]§Ó1zôh®¾újl6Æ £´´ôŒÏpà»ýúõcܸqèõzl6ÜsÏ=èõzìv;ß}÷999*9ŠŠ¢gÏžŒ9’ÇÓ¶m[®»î:Õ2|vïÞŸ~ú «ÕÊáǹ÷Þ{Ù¹s'+W®äÞ{兩¸N§’ÀÛo¿]µ¶L˜0ÄÄDzõêEŸ>}˜5kVˆüÇ'55µ^r0~üxõþèܹ3Ó¦MãꫯF¯×sÛm·Ñ«W/úõëǨQ£˜ÿüs.¹äÍüME‘‚ÂBJÊÊÈîуÜãÇ)®¨ Õoýݧ€WEUñŽƒc$‚Ï ‰hà;Á7]à³à~?ªvŸÁïÚ n;ОPëX¬çøLý…´Ôgm¹olÀé|Ú½^^¯G–e-ZDNNN§“›o¾™µk×RXXˆÁ`à‹/¾`„ ¤¥¥ñÎ;ï4ºßž={²uëVV­ZÅØ±c‘e™Í›7«.¡}ûö1tèP‰gùòåu ´ÌèÁXºt)íÛ·'..Žž={ª+Ü3fPYY‰ÅbaøðáõÆ)lܸ‘œœâããiÑ¢`÷îÝjŸõMÖ½{÷æí·ß¦]»vŒ3†?üýû÷“(мòÊ+4oÞœøøx† V'8ó×_UÛw»ÝuÚ¯®®æ—_~aĈ„……Õ!}&ÿf€ÔÔTu•\Û¤_û>‘$‰N:©–ŠŠ ºøëÓÚi¨(oéééDEE1iÒ¤ó\.åååtîÜ€äädjjjêH®Ýž,Ë4mÚ€øøx5Ž©°°–-["Š"F£QÝÜQ‡ƒÕ«WóàƒÖkÁ Æ-·ÜBLL ­[·!9’$QXXHff&¢(b0Bú›7o­Zµ">>žúòawÞy'ÑÑÑ´hÑ¢ŽûI–e233UR‘••E~~>,X°€ž={Wïóh6›9ÿüó™>ž™3gÖ‘]’$Ú´i£·€>i¬[:-- ½^¢(ÄÄÄ’’¢GGGãv»)//ÇápвeK¸ôÒKÕ…rð¦¢Ú÷jj*²,³`Á†JVVŸþ9dðàÁª…ª!yn¿¤¤$õú#!!*j}¿í…^ 33“øøx†®>÷’$©Ï`“&MTý°Îë !h1\ûZ¿ôÒKªÎ¹òÊ+ëè•À¢=@šΪÒ[ÿ ¨ª®¦¸´”îÝ»SS]%&£Á@Iyy½ÅåMœ$D{ùÕX’$Š"z½>$F¢6ÊËˉŒŒ$66–üü|¾üòK¾øâ ®¸â ¦NJLL kÖ¬ÁãñЯ_?¶mÛÆÚµk™8qb£ošììlvïÞÍ’%K3f ©©©¼ôÒK\yå•<ùä“\xá…”””P\\LïÞ½‘$)„DÖŽ§òx<Œ;–Ï?ÿœòòr>ÿüsõ³èèhæÏŸOEE Ì™3§ŽL£Fâ©§ž¢¬¬Œ]»v@ÇŽOYë· .¸€·Þz‹.]ºÐ¾}{Ž?ÎáÇÉÌ̤°°‡zˆ]»vQVVÆÛo¿]GAµmÛ6IJZiii<üðÃŒ?žýû÷c0NÌû[ˆt “ÉD“&Møê«¯8tèšð566–’’’W]@ើꪫ˜þàƒ¸é¦›TbÞ§OÆGÿþý™>}:iii<òÈ#ªë6@ì›7oÎ{ï½GÿþýUÒ5tèPµ}›ÍFLL ÙÙÙ 6Œª®ü`ùëCFF&L`Þ¼yÌ™3G ¹ùæ›éÛ·/½zõbôèѤ¤¤ ÓéÔ{H¯×³eË>ùäŽ;Æý÷߯…PFF†jY=z4C‡¥oß¾\ýõ ê·ÛíËÄd!>Öð×#2"BU¾Ÿ¢""p:§½îºիI’ÈlÕŠø„öïÞMÎ…²iÃÒ›5#5-­ÑæÝs’4 ÇŽñíìs8HNO'&2RÌ—$‰­ÿý/C®¾ZÍ PŠ’$©»nŠ‹‹±X,ˆ¢Èøñã3f ýúõ£¨¨³ÙLtt´Ú§ÛíVÝ^%%%jœWBB‚¯ÄMÜn7eee¤¦¦Ö±Š”••áv»IMMÅãñPXXHrr²º‚ ´h3&&¦Á ê@›V«UÝ–n±X¨¨¨ Y³fTUU©J#<<œ„„„÷­ 8JKK}7oT”º¥ÿL;¦$I¢¨¨ˆÄÄDŒF#•••x<5}Eee%•••èt:, UUU4iÒ„¼¼ùÀMî™;sæÌÌ™3Ï“›‹÷î¡FÍšèêïê5kB"ã}j*Þ§¥!'+«Èa¤ÃÖèôAÊårÔ¨YÕ¬­¡Ë«&N%4›Í.Š«ª£*©’o%Êò’%K˜>å÷••~ûöíÃ\W-RªtÎØØ‡ªÒ‰ÿÏ…Ífã¯ÇѼeK8:;C.“Aöõ¤¬«›\ëÔÁËÄD¼yõ 6*!.eš8_±DX,°K9qS%¨š4é0FÅéTi+´Ý÷­^ªŒ´öň®ï+còT<ýïU÷ºô¿<ÏüÝzQ‘2ÿÛõ¿,ù•týO·I•T²>°°´„K:H$jÔ+J¸–úžžH}÷Nç¸Î.©’oë¼|>\.—A.í”Ú?]ÞÊ žçÎÓ0Ô¹¹¹Ø°a¤R)V¬XǃÅbáæÍ›8{ö,Þ½{‡ÐÐPaÖ¬Yxÿþ=ÓÞû÷ïGPPÆŒƒØØX­[ñññ˜>çÏŸÇ;w››‹É“'ãÚµk ‚ ,sE á š‡T*Åúõëq÷î]L˜0Û¶mCFF.\ˆ   †&–,Y‚ŒŒ "**Jk^Êï–,Y6›áÇc×®] ”QQQ Á´iÓššÊ<—ššŠÉ“'còäÉøøñ£šÁVInÙ²ñññ˜6mF…{÷îáǘ>}:BBBpûöm°X,DEEáèÑ£Œ¾¥¦¦bÕªUjž/™L†íÛ·ãæÍ›˜0a¦NŠ””æþ•+W‚ÍfãÅ‹˜4i† †7êÄR¾ÇÊ•+Q/mÚ´ B¡2™ +V¬@`` ÃOW\þóŸÿ 88!!!¸xñ¢†¾óx³fÍRóâ?~ÁÁÁXµj•V=))üáÇ3f fΜ‰/_¾@__"‘ãÇGll,ÌèÈ–-[ˆuëÖ•Ù –œœŒéÓ§cĈˆŽŽ‹ÅBRRÓVïÞ½ÃäÉ“!‹!‹qàÀ¦ªäÛ&O¥¶OQ#é¼W¿$OAA~>žýõøÅ($ªä¿beeÏ~`(Ê*/_¾dØâSRRŠÙ³g£V­Z˜5kªW¯[[[ìÙ³¶¶¶X³f F …B™3g–˜öëׯ±|ùrœ}:"""àííiÓ¦A(bÆ ˜={6V¯^… 2“¹Ý»wkxˆÄb1ìíí±dÉ`úôé044„ŸŸzõê…sçÎÁÑÑQ'ÝDzz:>}ú„5kÖàçŸÆ‚ °nÝ::taaa¸uëΟ?7B*•j* ÄÅÅa×®]ؽ{7òóó±páBT«V ¿þú+ °lÙ2Ô©S 4@HH:vìˆ &`РA " 4ÿùÏðöí[üú미ví¦L™‚«W¯–ˆÓòåËlÞ¼îîîX»v-f̘ٳgcÛ¶mعs'NŸ>ˆˆDEEaÁ‚ˆˆˆ€µµ5"""еkW°ÙlìØ±-[¶ÔHÛÄÄ«W¯Æš5kpûömL›6 —.]‚@ ÀôéÓŒ&Mš`üøñ011Qã±²¶¶ÆáÇ1dÈèëëcýúõ044DóæÍqðàAôìÙŸ?f@.Ïž=‹)S¦àÔ©SxöìöîÝ‹={ö0äÙÚ&M3fÌÀŠ+àêêŠOŸ>ÁÐГ&MB~~>Ö­[‡yóæaåÊ•Xºt)îÝ»‡Æ£M›6 "Ü¿b±5jÔ@xx8êÔ©ƒµk×bîܹ˜>>ô×_ÑñãÇiܸqÄápˆÃáÐ/¿üB7n¤ììl@B¡ˆˆ>|HvvvDD$‰ˆËå—Ë-V$íØ±ƒ&NœH …‚ ­ZµŠÖ¬YCT4}¦ÏŸ?“H$¢øøxªY³&õïߟΟ?¯–ŽªH$âñxÄåriÆ ´xñb""277§“'O‡Ã!™L¦ñ\BB¹¸¸0×÷îÝ£† ‘‰Åbºzõ*µiÓ†©°°PkÞAAAIDDb±˜éÌ™3ÌuPPݺu‹rss©fÍš$—ˉˆèÂ… Ô²eK""rqq¡ŒŒ ""*(( WWW‹Å$“ɘº/žwbb"ÙØØ0×="ggg""jÔ¨=~ü˜ )--<==I(Rvv6õïߟ^¿~M€lmm©  @-ÝÂÂBrww§ÔÔT""âr¹äááA|>Ÿ}úÐÇ)++‹lmm)..Žx<žÎñFÕ­_¿ž–-[F¹¹¹_¹è‹$55•ôõõ‰ˆh̘1tâÄ ""âóùäççGwïÞUK3++Kíy¥\¸p† Æ”%,,ŒfÍšE_¾|!$‘H˜{PNN‰D"zòä Õ¨Qƒ©c‡£a£‰ˆnܸA}ûö%‡C<¶lÙBsæÌ!"¢-ZÐÅ‹iåÊ•4{ölš8q"¥¦¦R@@ñùüªq·"—ˉÇáX(¤c‡é“XL"¡„……Äçr‰WP@œ/_ˆ›ŸOÂÂBzýò%%¿~MÇ ü¼]æ˜#Õô´éSy\öJôo8yò$Ž9Âô“û÷ïk}®°°¾¾¾`±X¸xñ"lllÊTnXµj6nÜÈÀ˜˜™™!-- &&&Ìsµk×Ö£ôD±Ùl•Zy­Œ_Ò××G·nÝpïÞ=$&&¢sçΰ±±ÑªÊ>¯|TRù(ó¿~ý:Ö¯_^½z¡AƒX¿~=,,,йsg°X,œ:u ®®®%ÚæÌ™ƒ.]º06(âÞTÚ±âzZ·n]´k׎ٞTd4¡¡¡prrB£Fàè舭[·2!Uÿ¼°KåÔ:hÕG÷e8E¡ëØk»víйsgxzzÂÉÉ þþþHMMeVÖOŸ>…nܸÁœ4*iB¦\™öéÓöööhذ! ¸xñ"V®\ Ô¯_G…¾¾>Nx„¶mÛB$ÁÎÎ;vDíÚµ!‰ •J1dÈØÙÙ¡S§NX¼x±ÖXžJŒœêqme}üõ×_ððð`bº"""4ÒjĶº® °k×.ÁÎÎ|>7n„@ —ËUhxeˆÝ+©ü¿ÿþ;îܹggg¸ººbÙ²eLvéÒÉÉÉhܸ1êÖ­«5mž "¿*?˜››ÆŽ‹¶mÛÂÑÑ:t@bb¢ÖAªN:àr¹033C·nÝ-Z„©S§ÂÕÕ›7ofòyóæ 7n [[[¬[·N«N 8­[·Æ?ü''',Z´b±çÏŸÇÞ½{akk‹£GbÏž=Œ±ûö-ììì777†ÔV•„·øµ6f³ÙèÞ½;vìØ[[[DGG3Ä¨Ê »jzÊk.—‹:uêháËd2­AÍJ¾5¥Ìž=K—.…³³3–-[Èd24hЀá`Ó¦›ªR«V-üôÓO°¶¶Æ¬Y³PXXÈxØV®\‰?ÂÕÕ...˜>}:ªU«†E‹Á××^^^ðððÐj+”¿²\ׯ_l6öööhÚ´i‰åõôôD÷îÝ1aÂØÛÛ«1Ï™3¨S§:wî —ß¿zõêèß¿?jÔ¨qãÆA(âüùóøå—_`kk‹û÷ïcß¾}J¥Lysrrжm[ØÚÚbúôé8räˆVYXXÈØ†˜Z×Äiúôéàñx°³³Ãĉacc£AŽ­Ë³×¤IôìÙ 6D‹-P¿~}—.]ºuëààà­hôÅ=}5ÂСCÑ¢E 8::Â×ׯ^½brÖÖÖ077gåÕ¹\Žßÿ©©©X²d‰ÎÅ„D"ÑðÀ|‹T¦7¤¼å¨ˆ~}Oÿ;í[•üý¢_BË–i ŒMMÿÛ!årˆD¢"Œ#†i¹T ©Dc€Å‚P `bô ,,, „VIK"iÄ€¤~=†ÿèô ˆD"èëëÿ7/"ˆ5r>› ¹TŠƒ‡A$©•5åÝ;X}=ªKD%æ¯uró§zõê:qOJ’.]ºèÄ[©’ï/‰R©›7o®" ­’¿]ˆË–-Ó “¢¯¯9sæÀÉÉ©ªÂª¤JÊ)ì’¼4Dú:9Ðú!‚T*ÅÜ9sà`o777ì;p&ffŒgÇÁÁÞÞÞˆ½}ú††X»nV¬\ c°ØlÜŽ‹ÃàÁƒa`h}L™<vvvèÑ£¾|ù¢–Ÿž¾>zôì‰gÏŸ£Fؼu+Xl6â=Bsoo899á×ß~ƒ±™™ZÙ9\.†C,ÃÉÉ ŽŽŽ¨V­RRS™{ÀÀÐÓ~þvvvðïÖ Ÿ?.ùýUêá{?333L˜0¡\ž?‹///&°µJþ~©^½:æÎ‹† Vˆ¶¢Jªä›VÃ_O{úøø€Ífkõ6ééé¡W¯^¨Q£F•¨’*©¬‰“Ò{C_÷µ}X,_¼@Ôùóx‘˜ˆgOŸ¢y³fI$`³Xغu+2>|Àª+0wî\ädgã§^½pöìYp `h`€ˆ;Ѿm[è`ôèÑàòxÈÊÊBg__L›>úúL~2©QçΡe‹ÈËËÃä‰Áãr1iÒ$„­Z…¤W¯pìØ1ìÚ¹F††Ìs–ˆØ±f¦¦HOOÇÛ7oЬY3ˆE"5Úøqã›—‡¬¬,ôèÑÓgÌ€¾ž^‰u¥W®Œƒ£D"ŸÏ‡X,.µZõåž¼r²Z–#ØÿÖ›ˆ ‰Šö•+ÁhÿÝôÊòË* ¦£,e¬Ìms%Zû÷¨mßÚò …ßT~e`pYòûÞº¬Ô÷Í:ñ½&1º‚  ¿zú+šfy=Ûº¨Ú„Š<ÿ½äïί2)£ªäš8•v’L¡P zõê°´´ÄƒqçθººB"‘ÀÓÓ_òòðŸÈHp¸\p8°µµ…‹³3â=Bnn..]º„¡C‡B$ZËA® IDATà?‘‘èÞ½;NGF¢f8sö¬>‰2[¡P_ºÒÒÒ@ºví ,Y¼§N[__­œ‰@,B(2ƒ¶êþÿ©ÈHôèѧ##QÍÊ QçÏ«MXtÕAyÔ:((íÛ·ÇÎ;K5²Ê<ÒÒÒðæÍ¦œ[¶lÁüùóÿg•N*•bàÀ¸yóf¥%ÍÇÓ§OqöìYœ?OŸ>ýn …[·nE|||…ŸñâÒÓÓz …BçÏŸãܹsˆŠŠBBB¤R)ø|>®_¿^©ž«³gÏ¢_¿~•^/_¾|……E©÷]¼xÝ»w¯p>W®\A×®]Kÿ;²’øíx<~üñG´k×wïÞ­PÚïÞ½û®tJš%PtªSyr«"R‘ç333µêˆT*E¯^½J„ŠŽú—EÇ*K8zõêõ·é˜RŸnܸ—/_24NUòï’ƒÃe „tvrÂÎðpÜŽ‹ÃÁƒqìØ1ì?pK/Fvv6꺹_•AA´mÛ=BÌ­[ø±gOÔª]_qj>åä@&“ÍfcÝÚµjž"*b+.æ}a«`Žèëë­ZŠaœ(Tþ§âÿAö•ìó§OÈÎÊ›ÍÆÚ5kŠ&\ lÔf¸”œ^åÙvS4YYYX±bX,ŒŒŒ´,]§pÊÓËzj«¼i/sss5п⡲¦¥”sçÎáðáÃðññax œœœP½zõ2È)ÏÉ===‹§"ï¯P(°aôlÙ“'Oáêիصk|||;ôîÝ[çQ芈‰‰‰†þ”õ$_I¿™˜˜”ˆ¹¤z_Iƒ_iõo``sss°X,\¿~½\'FUï+‹^•t¯ò»ììl<{ö¬Âçü6›­éQ'¨ŠŸ0ìÑ£ãÕÑÓÓÓ b)­ª~Ïb±0Ô²¶Ÿ®˜?CCCXZZjè6+)ŸÊ:­«ü®zõꈉ‰aN[}OSJjj*úô郠  ôë×OãTn•üË=NÌ6”Ž @Zj*ŒŒŒ0}Æ øu튋—.(Bœm×¶-æ/\ˆ¦Mš //¬¯Ï´òñÁãDZnÃ,˜7B>V––èìë‹ÏŸ>!tÞŠöò]]\ ‘HpçΰY,ü¶f zõê©DÂ<Çl©êÛkÊ8("袳¯/r²³ÿ›³f÷ëü”TÉl6²²²¾2gggüù矀±cÇÂÎÎÈÏÏáСC˜>}:úôé,\¸›7oFÍš5 cccdffbРApttĬY³ “ÉÔ Zaa!|||póæM4lØžžžxüø1nܸOOO4hÐ÷îÝaÙ²e8qâc\ÿüóO¬^½Z£óߺu Mš4½½=†޼¼<~ûí7¸»»ÃÑÑS§NÕ9ˆüîß¿fÍšÁËË 111ŒaRn•ÚÛÛcΜ9`±XèÔ©Î;‡zõêaÍš5Lr¹çÎÃðáÃ1oÞ<„††bÒ¤I¨V­X,Ö¯_888`âĉЏ ÄD@€.]º    Ô²Ëd2ÌŸ?111HNNFÓ¦M±eË888Àßß\.Wc"¦ oFõ» . óçÏÇܹs1uêTX[[£cÇŽ‹Å¨]»6/^ "–-[P¿~}8880À•b±?þø#®^½ŠÆÃÝÝ!>€k×®1˜4ÉÉÉü|, ÷ïßGçÎáèèˆÖ­[«‘<S§N…ƒƒFŒ±XÌx1úöí ggg„‡‡ëÜj‰‰‰§§'š7oޤ¤$µü§L™{{{ôíÛ|>¿L“6› ™L†úõë—èc±XØ´i£/, wïÞEPPóÌ´iÓ`ooŸ~ú  …;vìÀâŋѭ[74iÒDë€Ïb±ðôéSøøø !!NNNÈÎÎF~~>zôè;;;´P"‘`øðáøóÏ?ѤIŒ5J­Ì††† z·júÑÑÑðññ½½=üüü‘‘"ÂÞ½{±dÉÀÉÉ .Äû÷ïGGG„††B.—«ÕͲeË P(àää___¼ÿ†††¸yó&<<<àé鉸øxæ™+W® iÓ¦¨[·.öíÛ§µž qúôi¸ººÂßß¹¹¹Ìo‘‘‘ðôôDýúõqìØ1­í³dÉ899aÈ!jÀ›Å=z~~~pssÉ'Ô~ÛµkÜÝÝѤIƆ”E&L˜GGG4lØÏž=‹ÅBll,Z´h:uê <<œçtssÓ+¦ZŽ+VàðáÃLEFFbÑ¢EÌ3£F‚!—˲}ûv´jÕ þþþjöV¡PTmÑý›EWѵ‹éSVq¾|ÑùáÐí[·ÈÅÅ…ŒŒŒ¨aƒtçöm’…tåÒ%rww'+++  "ïfÍèõ‹ÄÍϧܜú±gOjîíMb€á‡áåçÓˆáÃÉ‚jÕªE æÍ£B.W-ÏÏ99Ô³Gb³ÙôÛêÕÄçpèâ… T§N²°° ÐÙ³I,7?_­œ>PÍš5©Ë¥Üœòóó£çýE×®\¡öíÚ‘L,&~A9’É?tÎâs8%Ö7?ŸÞ¾~Mwbcé^LŒV®ºó§NQNN±Ùl†?gèС4bÄ""Z¹r% :”ˆˆvìØAÎÎÎôáÃ’ËåAË–-cž‹ˆˆ JNN&¹\Nþþþ´oß>5nGNNNBDDçÏŸ'9r$sݤI""ºté1‚$ ÉårêׯÃa¥ÊÏeggGqqqDD”žžÎðÊ]¹r…Äb1õêÕ‹¦M›¦…ÖO¡Æ95jÔ(jÕªI¥RЧöíÛSZZùúúÒ‘#Gˆˆè§Ÿ~¢°°0R(äááAÇ×Ê¥·yófòöö¦#GŽÐ‡^-"¢Ë—/3\Y}úôaxßš7oN<`ê#00PKWù¥R)3†¢££éÅ‹€)ïĉ©oß¾DD”››KÖÖÖeâRÚ³gýðÃtðàAzÿþ=I¥R""z÷îÃ'¨”K—.‘@ "¢ШQ£Ž«€€""Š‹‹£ÆŸÏ§¬¬,òöö¦Ç“@  ºuë2z§*>d¸óΞ=K>>>TXXH.\ sssºwï“§’«°gÏž4eÊ"" ÕÊûõùógj֬ݿŸÄb1Õ¯_ŸLDDÁÁÁ4vìX†,((¨DÝ!"ºrå uïÞÄb±/œ®û“““ÉÇLJD" 6Œ"""ˆˆhäÈ‘LŸX»v-ÓW¯^MôéÓ' >ºâùܽ{WË®U«V´~ýz""êÞ½;-X°€©«ž={j”Q.—Ó¯¿þÊðIç4ËÌÌ$"¢M›6Q‡˜ÿ]\\(--$ uíÚ•¼½½)55•¤R)õèуŽ=ª–Waa!YZZªÙ[[[=z4œáÂ;|ø0uëÖÄb1½xñ‚üüüèýû÷¥öµŸ~ú‰ÆGDDŸ>}¢>лwï¨}ûöôòåK’J¥äëëK.\ ÏŸ?kÕéâ:vãÆ ôôtE¬êÍš5c<C‡…““³©\Éd2‚ƒƒQ¯^=z÷î””ügàëë .—Ëà ùúúâãÇ///ðx}Ôê±Aƒ‹ÅøðáÌÌÌðèÑ#üñÇP(8sæ Î;‡K—.¡Q£F?~<öîÝ ‘H„ùóç3<~ºô¡*Æé,Ɖ…²-r‹×*]øÅ¿WUåI…âé?¥¡-ÕSÚòÒUf®Ê6Œ’6Cñõå÷… 2Yú^J«tÅ*·,ôôôÔ0£T¹ª´u(Õ­Ž’Œ¯j§d³ÙÌsª“b888 11gΜÁ°aà§§§3uøða\ºt ?ÆÞ½{±uëVÔ¬YèØ±#¬­­‘‘‘¡Fž›““£A‚ZüTË/‹!—ËñáÃ…BcõêÕÌà¬JrYü½ €€Ïç£ÿþxñâš7oŽÁƒ£cÇŽ¨Q£>~üÈ”oäÈ‘ ÅÓ§Oñþý{Lš4I-ÍŒŒ ddd0Īe‰Q`³ÙØ_eÕ¡¾}û¢oß¾ … D||¼Å…X,ÆÀѾ}{ÔªU ÙÙÙjƒMq½Q˜ª[Mú_N/ß’%KÀãñàææ¦qbM5öDy`£x;êŠoÒ–¿jÞÙÙÙH$`³Ùؾ};Ó?ß¼ySæE ŸÏ×z¿2&°}ûöˆÇµk×лwo˜™™1‡²³³‹b%ÙllÛ¶yV×€VÒ„§øä„‰¹üúœ© N\Y@G [[[899A"‘¨Û*‰f•ï¬Üê+Ï)Súwª:™SNÌ ‘’’¹\Ž–-[Â××·Ä~¬jÃd2™š>èééi,”1©Ê¼µm‡j«OÕç ðöí[BBBP§N@RRÃÙW|¼Ò&R©B¡©©©Édhܸ1Ú·o¯–ÿ—/_œœ¬QN‹…ÚµkÃÙÙ/^¼@ll,úöí[Äaúu៙™ ¡P===f¢Z}¨’ÿ¥‰› V€_©R‘:ÒÓÓC§NŠmÛ¶áÈ‘#j«UgnnŽääd5㦋xVÛ­, Œ}ûöÅÖ­[qíÚ5&NA5fŠËå"99 @¯^½àëë‹üü|°X,ÄÇÇãÂ… 066F@@c0•^mƒ±±1Ö¬Yƒ=zàíÛ·ÈÈÈ€ œÑ¬Y3¸¹¹¡[·n‹ÅHJJR#7Õf\cccáääwwwp8ðx<˜šš"??wïÞÅùóçajjŠAƒ1åc±X7nFooo5N9…BÁƒ—i°,KiI†Q.—ãÎ;¨U«6l>Ÿ/_¾ÀÔÔÕªUSózr8ܼygΜ¥¥%‚‚‚Ô(m£»»;233‘””„úõëcõêÕŒ÷©¸tÕªUèÝ»7._¾ÌŽ–ä‰nß¾=-Z„°°0ìÝ»W+`l½zõ››‹ÄÄDxyyaåÊ•ðððtëÖ yyyX²d 0§ª4hÀx'ÊR÷ kñûÙl6Ú¶m‹7"22/_¾d&~~~øüù3–/_®–ñv“H$6l6lØP"_[õêÕáåå…={ö`ܸqXºt)‚ƒƒËíVê`dd$nß¾-Z`×®]:'Ae± fffP( asIÞ ///#00µjÕ§OŸ˜Å‹ª˜˜˜ 44Û·oDZcÇàããÃ<¿{÷näææÂÌÌ ÇGXX˜š~´iÓ›7o†¯¯/’’’põêU¬^½Z-}sss4mÚ›6mÂÌ™3±~ýz¦ŒmÚ´A\\¦OŸxûö-ŒÁb±°páB­ujbb‚Î;cîܹX·nx<ø|>5j+++ôë×ŽŽŽÈËËÓàÂkÕª•quqëÖ­Ž;†ÈÈHfÀÄÄ:u‚P(ÄŒ3ñññ%žÖ¬¢Uù÷K‰#*[OzUŸR?eE‡f³Ùj+ŒS§NáãÇ055Å™3gÁx¡TW~~~ˆ‡‘‘Nœ8333µ@Ræ~UQÍKÙ‰uýîç燷oßbÀ€Zyû °yófXYYÁÞÞÝ»wGÆ áêêŠñãÇ£fÍšhРúôé£x¬mÒ §§‡îÝ»£nݺð÷÷Çüùóáææ‹…£GbÅŠ°°°@Ó¦Mñöí[èëëk”_5­¼¼<ôéÓæææhÓ¦ ÆŽ‹fÍšÁÁÁ3g΄ <<<ЫW/µòÍŸ? èÑ£Øl6^¿~ͤ–T~CCC¦íUË¥z——Ç P%B6›‚‚ 8hÖ¬†ÊŸ<˜5´±±ÁÒ¥KaoozõêÁÏÏiûâ§•×X²d :uê„úõëcäÈ‘Z õæÍ›1sæLX[[ãÌ™3ðôôdêWÕ“¥zØØXXYYiÕ9°±±ÁªU«Ð­[7¸»»cäÈ‘L9ÏŸ?wïÞÁÒÒvvv¸ôõpIiº£ô©z KZ¹7iÒ|>Ÿ vVê÷Ù³g‘žžKKKØÚÚâÂ… Zû”2pÙØØX£o¨–("}ݳgLMMaff†mÛ¶A,3ƒº6)žŸÒC|ðàAüôÓO°±±Avv6ªW¯Îx^Tï/þ¼¶ôôôôWWW´jÕ iiiõ§ÔÝ–-[bÒ¤IhÓ¦ ªU«†ÀÀ@äççkÔ³¡¡!Z·n kkkìß¿;vì´hÑ&L@ãÆáêêŠÑ£GÃÏÏ …‚ÉsæÌ™ptt„…….\ˆÎ;k­ŸË—/ãðáèQ£<<<›8q"¼½½akk kkk,Y²¤Lød/^DZZÌÍÍѰaCdee¡Aƒ˜;w.üüü˜ T^^ž†Í.IÇüüüðòåKtèÐvvvŒž\¹rwïÞ………ÇxB•vF&“aâĉ ôH•üË%ºH~o^½ŠFÃÒʪ*º¿”mšÌŒŒ"”q™L7Éo@ã™*éhky<º¶JƒPMSõ·¦M›âÈ‘#j¤Ÿ]•ÕÓUž÷­HytÝ«,_^^Ú¶m‹Ç«Ñ/kéº_õý+BðZZ—t_EIŒ+‹Hõ[¼s¥=_^YûIIõ’œœŒçÏŸ£wïÞ’òÅ–õý*ÒÖ)uY OÊRî²Ú‡’úoE°Í*ª³¥åW:Våqú~ò·ü’B{GG¼HLDsXþ€cÿKB¾äå!ãÃ8¹ºâÓ×`k3,5CY'eåù½,¤ Ú~KMMÅØ±cѲeKxyy•JJ[VïZE&¡•y_I÷²ÙllذgϞŴiÓ`nn®öÞå-ñûU¯+‹(¹¤´*Ò^ß‹Hõ[Û±¼$º•ÕOtÕ‹r»ÓÝݽÒë½"éU”0º¢Ä²å©»²æó­6°¢ÕÙÒòûV«¨}«’FôuÍÎ ,,Ä[· ‰PåsÒ¢üÌ,,`çà€5jàsfæÿä{ØÙÙ!""vvvÿ§ÚoÈ!`NþTI•|ëD½Jª¤JþNœ”âÑ œ\\ ‰ª¶ëtˆ2¾ÁP%äŸ”Š¸}™`ÝâÅ¿Ýü-åqttüîdeÖWE¶…¾UG* 1¾²Ê®+½ï±5ù½ÛóïjûòlçýÿÐfÿ´ú7oµéjÓªíÂJœ8) ë Ê­’ÿ*Ê1±Ôv¼²U•·ÍÍÍ ÚýÖôàææÆ§þ“¢äzspp(*àŸ*ß«W¯`ccÃàÄT†ÑU"Â?|ø;wþ¦6•Ëå¸ÿ>Z¶l©X]¼,ïÞ½Cbb"<==Q¯^=­1FoÞ¼……ìííuxR©·nÝbp®¾U/Ë›‹Å‚P(Ä;w4ðˆJk“”””Û;Y™ýZ&“!&&†áé+ɶ¼zõ IIIðññƒƒƒÎ>íááÁÐßhk3‘H„ØØXøûûWÊ;”7=å‰ÞçÏŸ£]»vå²YÏŸ?‡‹‹‹VZ˜ï1!zöì¾î>ü[&ÍÚê†ÏçãÑ£GjðJ›‹:h=àS%ÿvi•¬l¬ªîOY”U,añâÅX»v­Úþ÷Ï?ÿŒÍ›7Wêì^&“!44¯^½ª´4?~üX©|iß"r¹Ë—/Ç“'O*6ÉÅ÷e—Ëåøí·ßÊLø*°k×.†äU(bݺuˆ‹‹cèNž<‰û÷ïãýû÷èÑ£Ç7—Q"‘ ((ˆ Õ¥·D„àÁƒøòå‹Öz“Ë娾};¢££Õž˜6mšvZe ÀJáóùåN/33³Ü7…B}ûöáÔ©Seî@BB3á GTTc3®]»†sçΕK Kð±X, $$?fðꊋT*ÅŒ3ðöí[gþùg¦Í>þüM„ÌÅ%//¯Üé%%%aèÐ¡å¶ .Dbbb¥•ÅbaÕªU5jF…‰'bìØ±5j,X€uëÖ•JR\žEµj¾J@ÍÊ ûNKKÓJ\¬$›Ö)R%å˜8UIåu8‰TŠýû÷c÷îÝ Jùýû÷qüøqœƒ|Íáp°uëVœ>}r¹ÇŸÏ/•˜µ<ÆØÌ̬Ä-: ô/%%«W¯F«V­tr¶i2”d³ÙZA2u-@Jë ÆÆÆZa8Jzw###5耲<£§§Ótºp””§ð._¾ÌLR6lØ€3gÎ@(B&“áĉøôé“Î-2]ýP¹·êßœœV­Z¥†Ô]¼ÍTûjJRežå)ciýɨ! †††Za'JÊGùLI6¢8á»®tU1b,X€¹sç"==¾¾¾X°`ÆŒÃôƒ²ô¿òÚ™¤¤$\»v­\¶HÕª~¯§§§•d[__cÇŽ-Ñ]%U§¿]d2&MšÄP’lܸsæÌaÐiMMM™…À±,ÈíãÆƒ¹¹9ªW¯ŽM›61„¡±±±hР,,,°bÅ †"44µjÕ‚……PXX¨6¡H$0`~ù帻»£S§N>|8ã¹~ý:àää„õë×ÃÝÝ]­œ‰ˆ‰‰a(cú÷ï{÷î!!!ÕªU `ii‰&Mš 11Ó¦Mƒ……7nŒŒŒ S'R©“&M‚¥¥%:wîŒ?ÂÐÐOŸ>…SoÏž=ƒÚ/•J1räHÌŸ? 6DË–-1eÊDGG3iãÒ¥KZÍ)Ó˜6m,--Ñ¡C¤§§3eX¾|9lll`nnŽž={j™¢U«V¸wïär9²²²àî¼<Èd2ðx<ÀÕÕ•ñP­Zµ hР㩺~ý:š4i Ô­[—.]bŒÝÕ«WѨQ#XXX C‡ÈÍÍeÊ'‰0oÞ>>°²²Â²eËPÆ÷ïߣwïÞ¨V­ƒ¥$¹}ñâêÕ«=zT'¹jùe2–/_ŽjÕªÁÛÛÉÉÉ077ÇŸþ‰V­Z1e{þü9C&­,«žžÚ¶m‹gÏžA("//¦¦¦055ǃT*Å›7oТE œˆ;wî„••œñüùsæþE‹¡fÍšpvvÆéÓ§µÆÉ¤¤¤ aƨQ£vïÞÍÜ“€öíÛÃÊÊ ŽŽŽØ¿?è jc®]»VâY™’&ÇÂÂ~~~ÈÊÊ‚©©)¶nÝŠþýû3õ ///µ6Söá3f zõêpssÙ3g4<<ÎÎÎððð€»»;¬¬¬àä丸¸€ÍfãÞ½{ðòòb°©”dØJ333 2D@ìÝ»µkׯ²eËÀb±0zôhXZZ¢aÆxüø1³SNø×­[kkk˜››câĉjhèJ‚áN:1HüÊwxûö-|}}!‰ ðË/¿ÀžžžHKKƒX,†‹‹ 8 п˜™™ÁÖÖ‡ªŠyªš8ý3"–H0zôh\¸pyyyÈÈÈ€¿¿?cü‹¯VʲzIKKÉ'ÀápŸŸÁƒ3twîÜÁëׯñþý{œ?oß¾‹ÅBpp0>þ {{{Lœ8Q####$&&"99111`³ÙJ¥˜8q""##‘žžŽ»wïjıX,¨u4åµr §gÏžàr¹èß¿?:wÇãaРA _–ª„‡‡#//\.¿ÿþ;?~ 6› 6›­¶BR‚òi[µ¾|ù¯^½B||<ø|¾ ˆ6oJYWYû÷ïGFF¸\.Ž=Š0éõëן>}bЇ®ñ¼§§'^¿~  ˆÃ+((YYYàr¹ÈÊÊ‚\.gâk„B!Z´h‡#F0í¸wïx<Nœ8 @  ##¡¡¡8|ø0x<¢¢¢`hh‹…¼¼<,\¸‰Û¶mS£ípssógÏP­Z5ðx}ÂåË—£1°÷ìÙýû÷‡ÃQ󀚛›cçÎ(((@ff&nß¾‹/úôéƒuëÖáÓ§OxýúµN¯—ª\¾|wîÜÁçÏŸqëÖ-ܺu R©Æ Ç$ÿ•+WbéÒ¥i¸¸¸ //‰ÑÑÑ6lD"òòò——‡OŸ>ÁÃÃHJJŸÏǪU«0bÄ@LL víÚ…¸¸8p¹\„‡‡C__¿7.3Ó§OGûöí1þ|5¯I“&Mðù|8;;Ãßß³gφ@ €V¯‚2˜˜°Ùlòòò››Ë|_£F DEEÃáàáÇؽ{7’““!‘H0iÒ$œ>}ééé¸yó¦VïmñxŸÍ›7C €Çã!<< H$˜8q"^¾|‰¬¬,ÀŠ+ªÑfÛ¶mCVVòóóqùòe¬_¿ži粈žžîÞ½‹ÄÄDdgg#66OŸ>!88[¶lAaa!lllðóÏ?ÃÔÔ&&&HNNFNN~ùå„„„ÀÆÆ†±s¡¡¡J¥nܸ͛7ãÝ»w¸qã233Ѹqc‚ˆ`mmÍÄ9 07nP+ޤ¤$Èår¼|ù …oÞ¼££#C³R­Z5ˆD"˜››#((Í›7gè<”«we}p¹\¦Ž…B!þúë/$$$ÆŒƒ°°0í^XX¨±u 4üЮ];d~…ðxñâÒÓÓ1~üx&¸>-- :uRÓÉ„„ÄÇdžŠ9sæ0:~õêUÄÄÄ@*•"33ùùùÈÍÍŇ¢à9sæàèÑ£€ßÿqqq077WÛRT(HLL„¿¿?  §§‡àà`Æ7kÖ,ìØ±«W¯ÆÝ»wRrUrqqP(D~~>Ξ=‹°°0ÄÄÄàÁƒËåhذ!LMMaoo°ÿÇÞy‡Uulÿs D¤*¨¨ Æ†bo *v14FQb/ÑØ®íÚ»ÆKnìÆ˜¨‰%j,±ÄÅ‚½Š H•& œúþaö<8 ¨7¿Ü¼g=Ož8‡½gO]³fÍšïwÁž>}ŠV«cãæÍ›tèÐAÛ;88ðâÅ lllèÝ»7:us½àñsff¦{©©©DFF ãzòäÉøøøÙgù½ZùǃdìwëÖQ£FpãÆ ÒÓÓ>|8†‹/Š™“¸ä$1fÌA²íääÄ7ß|ÃÕ«WÑjµDGG“——ÇãÇÑét‚¾eúôé 6LxoŸ>}JÕªU™9s¦Ž¸víÇÀÓÓ“víÚ¡Õj177'((ˆC‡ѽ{wnܸ!޽¤zKï2DôŸ»»;IIIFñ»ŒInn.Ÿ~ú©Ø¨yzzòòåKž>}Ê7عs'ß|ó ¢Ÿsrr˜1c†(Cxx8 4`øðáäååqúôiƒ9dnnÎСC™6mÎÎÎ 6Ìà‚ŒÄ=ظqcvïÞL&cúôé|÷ÝwøøøP¿~} NNN"Ö/88X ¾KR½zu*UªÄ‡~H½zõD½V¬XÁ;wpvvfÉ’%&ÃÉ$Èd2üüüèÑ£ ,àùóçÓjµ( òòòÄuÅŠÅ®¶ R³µµeûöí$''³gϹ~ýº X(¸3KNN¦ÿþlذOOO®^½Ê¼yóŒŽ|„ÀÒÿmll ˆ/³²²Œ¸Éår40Î<ÿù‚ÂÆb“$ЉZ§Ó ²S¥RiðŽ?V\}¤<%ƒP*ŸôÞœ9s„[¾¤}jii)Hqu:/_¾D.—“••E÷îÝùÏþCõêÕ¹sç¿ýö[¡<Ê•+G•*U8pà÷ïß§Zµj´oßž­[·’]¢àØÐÐPüüüø×¿þE^^§NcÄØñLNNŸ}ö“&MâÖ­[Ô«W¯Øü%Ê—/_beeEvv¶Q:Š7Ù‘Êd2ºtéBhh(:ŽéÓ§ãææfôûYYYØÚÚ’““#¾ñÝwßqòäI&Nœˆµµ5_|ñ*• kkkƒñ‘?XºK—.´jÕªJêO‰«O:V‘ÆGhh(}ûöeÉ’%ôêÕ ++«B7®¤cÔ£GrùòeêׯJ¥bÆ ¤§§Ó¹sgàMǸqãèׯéééìÚµK•ÅÆÆ]œg̘Áœ9s4hP!H‚"õT>Éøz¢Õj Å××½^ÏŒ3¨X±¢ÑïKóÂ1²q³²²ÂÁÁ™3g Ͻ˜“Ò1¤D„<~üxqzöìÙ±ƒ2™Œõë×óìÙ3®\¹Â€D©>¬[·ŽÀÀ@:t(666øùù½6À\¯×S©R%¶lÙÂóçÏÙ´iÁÁÁ?~œ>}úеk×ׯšŽêLòN¯”|»ví¸{÷.U«V5øÝËË‹… ¢V«Ù¸q£ØýY[[óÞ{ïñÞ{ïRð\¹r…Š+R¡BbVcLñÙÙÙ¼xñBœÑ¯[·®È€Í‚ïKÀ¨•+Wæ›o¾!''‡¹sç‚«P*•Ô®]›Í›7óâÅ Î;Ç‘#G b¥Y`ÛµkÇúõëINN&<<œÃ‡#“ɨQ£jµšÓ§O“‘‘ÁôéÓ_ü+•ï›o¾!33“°°0öïß/”¤ÔÖÆŒÉ(*Ø®mÚ´aëÖ­$$$póæMöïß™™ÙÙÙ¤¥¥áííM¹råX¿~}‘íݵkW&Ož,âLÚ¶mË/¿üBxxx!–wc’@… ðôôäúõë<}úTŒ+•JÅÞ½{yùò%wîÜñS­Zµb÷îÝ„††r÷îÝ×RrôéÓ‡1cÆ ÑhX´hQ‘ÞFɳeaaAtt´ˆ])ªï[·nÍÕ«WÑétxxx––ft,÷éÓ‡O>ùFÃW_}%â;RSS±²²ÂËË‹—/_ràÀ ÖÖÖ°`ÁT*óæÍJ¿|ùòÔ¨Q//¯BýÙ¤I~ùå"##ùã?غu«Xœìíí©Y³&Ÿ}ö™ð„k·€€>ûì3qí»I“&\ºt‰3gΈ›eñññT®\™J•*qìØ1áÕjÚ´)çÎãÂ… äääp÷î]áIêÒ¥ S§NeàÀ$&&¾ÖØíС³fÍB­V3mÚ4á=06÷œœœËå$%%½öÖpPP»ví<ƒñññÂX‘ò677§S§NLŸ>FÃÂ… nì•+WŽjÕªCXX˜8r®X±";wî$++‹Ù³g S¹rejÔ¨a@´,•100U«Vñüùs.]ºÄñãÇQ(Èd2¼¼¼ÈÈÈ`ãÆLœ8ÑhŸµoßžµk×’’’Â… HMM}kp\N‡‹‹ -[¶äèÑ£TªT ¥RIDD„Q#kÀ€|ñŸººâääDtt´ÁüKLLäĉ¸¸¸àééI^^žÑ> àܹsÔ¬Y333/U©R¥bûU2Îî޽ˣGðôôÄÍÍMÌEjÔ¨!Ö.“ád’ÿªÁ¤T(öŽ µjÕB.—coo/޽öïßÏÍ›7iß¾=®®®½6o333V¯^MóæÍÙ¿?§OŸF§ÓQ¿~}±k‘Ëåøøø`ccƒ§§'³gÏæÃ?dèСüûßÿG8ùwM>>>ÿD.—S¯^=Ê–-‹^¯gÇŽìÝ»—>ø€aÆ„ãÆÃÅÅ…Ž;ròäI¦OŸŽ­­-vvvF€­­­AÚÎÎÎ(^KŸ>}èÓ§ï¿ÿ>»víÁå …‚;wŠø€yóæÑ¸qãB aíÚµ ðUFŒ§§':uâСCÌš5«Dx/OŸ>åÃ?4ºˆ 0€àà`6mÚÄÌ™3)S¦ ®®®¬Y³†BBB˜0aÍš53šw‡¨_¿>}ûö5¨w@@€@u·±±18¾²¶¶é7òÝwßHRR!!!( Ù´iûöí£]»v"–©E‹( |}}Y¼x1›6m2Xø¤üócF}÷Ýw”)S†-Z`ooÏÒ¥KÑjµT¯^Ýy^"©Ý´i!!!Œ5ŠÌÌLƒX ¥R)Ò-Z´`Ò¤IŒ?žŽ; F•þ½sçNÑÞÞÞŽ`àÀXZZÒ±cG6lØÀ¬Y³pqq`ï޽ܺu‹Ž;2räHq,\œ4oÞœqãÆ1hÐ æÏŸÏ矎««+ð*þ¯M›6øúúR¹rå"¡–-[âëëk`\öìÙ“€€±ðïß¿ŸÅ‹Ó±cGÜÝÝ…'ªnݺ¬X±‚Å‹È÷ߥ¥¥è‹àà`>üðC6lØPè»ùuŠô„„ZµjE«V­˜9s&jµ___ƒÛUz½KKKÖ¬YC·nݘ3g:ΠÏ,,,Dºÿþôë×~ýúѵkWq‹°`Ÿýøã<{öŒvíÚ,p¨æÎËÍ›7 äÌ™3Œ?[[[d2Û¶mc÷îÝ3wî\4hP¬· $$„ž={Ä?þÈÔ©SÅ-Dggg<==éÖ­åÊ•3Úg}ôýû÷§gÏž|ùå—|ñÅT¨P¡È[©uêÔ¸vRZ:6+ø÷o¾ù†+W®Ð¶m[&L˜€F£A©TÒºukNËÙ³gÓ²eKºvíJÏž=¹uë–Áwmlløé§ŸhÛ¶-Ó§OgݺuFãÕÜÝÝéÛ·/uëÖ^Ò:àìì\H‡Hž(iÌ*•J4 sæÌ¡Y³f\¹r…Ÿ~úÉ´çïc$¿MZµâe>×´I^/ …‚[W¯âìîn”ä·k¯^ð籕4±JBzù¶¨Î¥EÛ- ÊðóçÏqrr^Ýœ277端¾*u¹ò+½âdß–P´¸ï¾i{‡ºû&å3–~]ûäOGšú.P²ß„Àö]’ʾI_÷·7m/é½eË–‰ª%íßÒÔ¹4c´¨6úoöYiˆÊKÛþo¢ËJ2ÆL¯^½èÚµ«Q×7é‹’Îå’êÃ7ÕMoÒn%%í~Ûïÿä]“üš“ÿ¹’N9r<<3É;“Çéÿ@ñ¾+ü‹¢Ppÿê÷‹Bá6É?c¼–fì¼í˜ú_X„‹K—õ¿$ˆé&ùïö¡ILb2œþ¦5ïOtæwÁ5”?ßÇ ÄÙÒœ£K»®˜˜,XðFå’ÞŸ1cÆ;­×_m˜*CÑétìß¿ŸðððbÝü999Œ?¾Ð±å;wX³fM©Æä?¥?¤›®«W¯.­ôüâÅ‹ÑëõLž<ùo?—ŒÕ§¤”Gÿ´Í«IL†“Iþ‹ÊT¥V{âææVì•ð‚å¸sç;wŠ9))©àdiÄÙÙYPk”Tá¾K¥¥×ëIMM¥[·n|ýõ×%Î[BÍ®^½úÿœÑ÷WN¿þúëkI¢sssY½zu¡ß===éÕ«W‘ïiµZ–-[Æ?ü``peffR«V­BT+ïzÌü·%..ŽÝ»wÎ•Š¢££…ÑÌŽ;¨X±"ýúõ#++ˈóÿÊ z][Kô$&Lô3Òï={ö7†ÿN†Òþýû©V­šh™Lƺuëptt4Q&)µ˜bœþÊÆÎÀ¨R©ËåÀQ­V À5333ñ›„ù£×ëÉËËâÏ™D=‘››‹™™™“PóË‹/ˆŽŽ6PÒ3¤»¯PÃ%Î/33³B ÑÜÜ\€ðiµZæÿy­V+ðvT*•Q¢Ò·1J?~LXXiii |HõêÕ…‰ŒŒ¤J•*ˆº—/_”|ùå—téÒ£»×aÆñôéS5jÄ–-[šø”)S Q£F\¼x€èèh>øàð÷÷çØ±c…ò»víš0œ:DPPmÚ´¡E‹ìÚµ ½^ϦM›hÔ¨ƒ Àïr‡¼}ûv&MšDVV7nÜ_ºt)mÚ´¡M›6Œ9òµ`’¬]»VPyôë×O !:tˆ–-[¢Óé˜8q"íÚµÃßߟ>úHP‡''Nœ8>-[¶dóæÍèõzbccéÚµ+~~~tèн{÷z÷Ñ£G|üñÇ´k×???¦Nj€‚mLîß¿/°•Ξ=‹••÷îÝ#''‡rñâEvìØAçÎiÓ¦ -[¶äĉ%Z¼ ÊÍ›7éÒ¥ ?þø#ÇŽ£cÇŽäææbeeÅÚµk騱#uëÖeûöí( ¼¼¼Hþ…þ9}útzöìIß¾}ùðÃÑétŒ7Ž€€Ú¶m˼yóÐh4DEE°L%éééL˜06mÚжm[fÏžF£!::Úàýüé–-[2oÞ<Þÿ}5jÄ´iÓÈÍÍE§Ó±víZš6mJ×®]ùᇌ‚œ* bccéÛ·/UªTañâÅ( Ξ=Kƒ J´¡Œ¦µk×Ò¤I‚‚‚?~¼À.ûá‡èÚµ«˜ƒû÷ïmžaaaØÙÙ1iÒ$Ú¶mËÎ;éÖ­›øû÷ßo”«,77—)S¦0þ|~úé'‚ƒƒÅ¼|öìýû÷' €€€á¾|ù²€â•+Wi¹råX³fÐaÆ<šo"Z­–Î;óÓO?‰Í–\.8K7nT2RzôèÑ >œV­ZѦMæÎkZÈLb2œþR“BÁåË—™bÄÂÂÂ=z´à¸“nÏ………±}ûv>ûì3£‹ôýfÍšqüøq.^¼ÈîÝ»Y¸p!ð 4ÏÞÞžÿüç?œ?þ¹Æ¥#ýû÷Ó¿‚ƒƒ ¨iÖ¬YÃÌ™3¹xñ"[¶lØS¯“¶mÛƒ^¯çÂ… ôìÙ“7npôèQ† †B¡`áÂ…œ?žK—.Q³fM£Ç°ëÙ°aC~þùgÂÂÂ8xð k×®E¥RñÇÀåË—ùí·ßèÚµk¡¼ÜÝÝÙ¾};çÏŸçòåË<}ú”K—.ûÍÚµkciiÉüATT-[¶äСC¨Õj^¼xAÕªU騱#gΜáâÅ‹¬Y³Æ`ñ(ÎX äOFø¹sç2gÎ>üðCär9eÊ”A&“aaaAÕªU9{ö,ß|óà©6l;w68²³³ãøñãh4,--)S¦ ?þø#‡fçÎåýäɓܸqƒ³gÏ¢T* …BaÔp*ssôèQRRR ãôéÓܹs‡“'O¢T* Œ¹\.ÒvvvX[[sìØ1Ξ=Ë™3gqíþóŽ=ʉ' ˆJbggG¯^½prr2€ð033ÃÞÞ¾DøÒ ±uëÖ‰ïÉd2vëççÇÉ“'¹xñ"Û·ogÚ´i¯íC¥R‰ƒƒÿú׿¸|ù2}ûö%33“ˆˆæÏŸ/æ~þwU*ݺuãÞ½{DGGOÆ Å3+V¬ÀÛÛ›°°0¾ûî;öìÙÓ'OP*•`³J¥R”?¿;xð +W®|'ºB§ÓÑ A233yðàaaaøøøcÕ€)ÀÂÂBümëÖ­ìܹ“‹/¥¾2‰Ép2ÉQ$‚Π  ºté"vÈ·oߦY³fx{{³|ùrîÝ»ÀÌ™3oZxx8ï¿ÿ¾PžÆD¥R ÔijüÄ«gggªU«¼¢zHJJ^ÑAL™2ooo:wîlt¡Î/YYY¼ÿþûT«VŽ;ŠIi½Ë#:I9oÚ´‰ªU«R¹re&OžÌ/¿ü"8¾6lØÀªU«ðòòbõêÕâ¸ðuù:;;ceeÅîÝ»ñõõ%((ˆ£GNPPjµšmÛ¶Q¯^=¼¼¼øú믅÷§fÍšT¬X‘¹sçŠÓÉÉÉ¡wïÞxyyáççÇ­[·Ê{ëÖ­©V­AAA…ˆR¥ó´iÓ¨Y³&ÕªUãÀbvrr‹MÁoJ¾W IDAT$ÊÉÉÉŒ3†ƒ‹B¡ÀÍͤ¤$©V­šˆÁ)(ÎÎθ¸¸püøñBcÏ‚BëÖ­ ½«ÑhèÞ½;5jÔ0 QÉ?. âÉh4Ú´i#Žv"""hÑ¢…øfíÚµr¹åÏgâĉT®\™ âCŒˆˆ Y³fâÉÇÇçµù©T*‚ƒƒWˆ÷VVVèt:¢¢¢([¶¬ð õíÛW£å—œœ/^ÌÏ?ÿ̯¿þZì8<{ö,ÎÎÎ8::jóèèhìììÄ}ïÞ½ÅXHOO§k×®T«V=zãçüùó899ÍO¯×S¡BA/bnnN`` §OŸ&<<œÜÜ\XnìÝÑ£G3a ø#""Dß»¹¹akkkÔKZ°óë0c‹o*†‘#G²|ùrŽ9B= x7 ŽAIO®^½šàããÙ3g¸wïåÊ•ÃÁÁ¡DzÅ$&ÃÉ$o(YYYœ:uŠeË– †wgggj׮ͣGøã?xöì/^D¯×ÓªU+”J%ëÖ­ÃÎήD¼IÒQÜm(cvÆŒµZÍåË—…Ç¢¨Û(Òû;v$44”ÈÈH®^½jàá) Ù¸´·ª B ,^¼˜k×®Q¾|yáþ—Ž({ôèÁÉ“' cÏž=¢Í_çÅ*[¶,ööölܸ‘^½zQ»vm8€““NNN\¸p]»vqöìY"""X´h‘ }ðà111Ì;·PY{õêEÏž=‰ˆˆàÆ‚®ÃÁÁõë׉¿¿?:u*T®•+W¢Ñh¸}û6 0@,Î)))$''Ó¶mÛBßìÝ»7;vì --=zÀ·ß~+hmš6mÊÌ™3‰ŒŒäܹsFÇMrr2IIItìØ±P¿äææ²ÿ~,XÀƒÞé|ÉoT9::/bx233±µµñ8’ÄÆÆŠ÷V¬XÁ“'Oéuþ|IHHñwéééFó‹‹‹+$P¯×ãââBvv¶èèèh£qE*•ŠÀÀ@>Ì€8þ|‘u÷÷÷'99™çÏŸjsWWWrrrÄ÷$/ŽôÞ'Ÿ|Bdd$—.]„¾-[¶$%%Åh~ÆtHçιyó&3gÎdêÔ©E>›——Ç!C8zô(uëÖ5 ¶··|‰999"fÈÒÒÒÀ`‰‰‰1h¯Ò–ÿ`L‡¨T*ºwïÎÁƒ§£dYZZ’““#Þå;v,W®\aãÆ|üñÇèt:jÕªEjj*iiiï$Ë$ÿc§G¦&ø‹äO†u///vìØÁäÉ“™7o~~~øùùñÙgŸÑ¬Y3233qpp|N³fÍbèС,\¸PœÇTÒn³ Á¦±#4 ÄÇǧÐs:N¤gÍšÅðáÃ:t(Z­–ÔÔTXd+UªÄ£G8uêçÏŸ'%%Eìôò ÇÅÅ‘™™i@Z,“ÉÈËËã×_-¥Óé¸sçîîî|sûöí#//Ox1är¹8Z7nÇŽÃÅÅ…ÜÜ\Ê–-kÀËUœHd±ëׯg×®]ÈårÒÒÒ¨W¯r¹sssÌÍÍùí·ßøê«¯¨_¿~±;i©í£¢¢8yò$ááá|Ø(—aÁoúûûKRRVVVôéÓ‡åË—‹8¶*UªpçÎ4 ‡‹F£1º“.˜¿F£¡N:ÌŸ?Ÿ1cưlÙ2±HIž²üõÈ¿`¾Î; ½+“É`òäÉ‚¨øÉ“'4nÜ777j×®ÍìÙ³ñ÷÷ç믿~m¹e2þþþLš4‰Ý»w£R©ˆˆˆ`Ò¤I¸¸¸P·n]fΜI@@›6me.H¨ªú“²ÁÃÃêÕ«³dÉ7nÌ–-[ŒÆ8©T*Ôjµˆ/üä“OX¹r%J¥RÌ9c–‚ô*T N:,Z´ˆæÍ›³mÛ6ñ=OOOÒE½^ϳ˜¼kÕÂÅÅ…Æãî·7ÏŸ?ç½÷ÞÃÏϸ¸8=z„N§Ã××WQ¾÷Þ{¬]»–yóæ ’QËW©ÄÝÝÊ•+G£FÄu[ggg5jdP[[[ªV­Êõë×qrr¢jÕª¸»»‹…_ʯ~ýúøúúâääĵk×xþü95kÖ¤J•*…¼ß}÷ãÆ£mÛ¶DDDCóæÍiÖ¬5ÂÊÊŠ*Uªàéé Àãljǃùw¯(tä£Óé¸rå ±Ïž=ãƒ>ÀËËKŒÕŠ+âè舧§'999ܾ}›´´4úõëGÆ v³R#Ýurr¢nݺ´nÝ333*W®L`` åË—§|ùò¸ººrçÎàUðhÕªU Õ'»K‹uTTOŸ>¥aÆøûû‹˜Û·o‹ Ó§O7 î”HŠóòòxôèåÊ•£ÿþÔ¬Y³ÐÍ4cßõöö¦]»vT¬X‘*UªàííM§NP*•tèлwï’@÷îÝ©U«Íš5ÃÆÆ†êÕ«ãìì\¬GHj?ooo\]]ÉÌ̤nݺ‚EÝÑÑQ´oqí]PlmmEž’—¥nݺ\¿~•JŸqãÄXìØ±#‘‘‘¤¤¤0|øp¼½½iÒ¤I±ùKÒÍ›7ÉËËãÓO?ýשS'¢¢¢HNNfذa"?{{{êÕ«‡¥¥%2™ êÕ«‡ ­Zµ"""‚çÏŸóé§ŸRµjUjÕªUÈ“Y¯^=¬¬¬¨V­ÞÞÞ$''Ó A<<<¨]»6NNNÅ–]&“!—Ëñ÷÷'22’ÔÔTZµjŵk× ¥}ûö<|øØØXÚ¶m‹¯¯ïkÛB©TâááA½zõĸ±¶¶æüùóøúúÒ­[7£hÛöööÔ©Slmm‘ËåÈår\\\hÖ¬^^^T©R…k×®aggÇØ±cqrrB¡PЪU+îß¿OVVcÇŽ¥råÊÔ«WÏ@‡IùF¡Óé ÃÕÕ;;;¢££IJJ¢J•*¤§§sîÜ95jT¤±´´:ÈÖÖVÜvrr¢aÆ8::R½zuîܹƒB¡`Ô¨QT©R…jÕª)¼©S¦L1zÜi’¿»ßBúÏ[±îÝ£Ž:­ö•‘/y'ó1`( 222ËdÄÇÆR­F r²³IOM}uãØDòûŽ,Ð×üvéÕ«D$ºù¹\ÎÁƒY½z5§OŸ.ra,é¿Kâò.)¡ªôÿ°hÑ¢×Æ?õüLJ¥!}5VÇÒ÷½wM¦ù&y¾-ÉqIò) iîÛ/í·ßåûz½ž§OŸÎ,¸I(8&år9Æ côèÑEη¼¼<ÚµkÇ­[· b’$Ü+cýñ&ãümú¢¤ù‹¹JOOÀ½ÒoYYY8::¢ÑhÉdÜ»wŠ+røðaúôéÃŒ3xùò%>4-R&)•˜bœþâeZZׯ_G.—ãëëK™2eP©TÅÍͺuëŠçoß¾M||<ŽŽŽ…nDÉd2RRRHHH N:ÄÇÇóèÑ#òòòppp Aƒ( áùˆG­VÔámç@ABd ÉÛÑÑGGG|Hnn.öööøúúbff†J¥âîÝ»$''ciiIíÚµ 0Âd2Ü¿Ÿ/^`iiIݺu à0Œ}/%%…§OŸâëëKJJ ·oß& •JÅÇ©Q£† ÇU«Õ8;;Ó Aƒ7nϰ°0<==)­««+aaaT¯^»wïbcc#<ÝÆ¼JùÓ·oߦ\¹rDDD`eeE“&MˆˆˆàñãÇXZZâãベ™™<|øPðãLÕ6ðŠs3::KKKêÕ«G™2exñâ÷ïß° ùÓ.\ f͚ܸq™L†¯¯¯ gIHHàÞ½{˜››¹“Ȱÿýw¦L™ÂæÍ›éСÏž=#77×°Ó$&1NC±´´dáÂ…8;;sñâEÜÝÝùòË/IMMàƒÙÙÙ|ñÅ|ñÅ‘999tîÜ™!C†àêêŠV«%((ˆÜÜ\?~<åË—ÇÅÅ…~øÎ;³`Á¥%)ÊììlAÇ"1‚Ÿ:u 777^¾|ÉÙ³g¸ÞöíÛÙ»w/-[¶äôéÓŒ3†=z0kÖ,Ôj5­Zµ¢\¹rF 'Éc²bÅ îÞ½KÍš5Y´h‹-¢Y³f,\¸…BÁÕ«W™1c­ZµB.—£Õj '­VËüùó-6.\Àßߟ)S¦pôèQ¶lÙB£FP(FÿÛ·oóË/¿`nnNdd$VVV,]º´ØÅ6%%^¼xÁÎ;™0aÈd2¦M›Æ7ß|Ñ#GˆÇÜÜœãÇ3lذbe‹2BV¬XÁåË—™9s&‡F¥R1dȘ7o–––>|˜.]º0mÚ4ÆŒSˆX¹lÙ²¬X±€É“'cgg'°æÌÍÍ™:u*-Z´àÙ³g:tˆÏ>ûŒ»wïBdd$ðŠ~¤ÿþ"]”¸rå ³fÍ¢yóæÄÇÇcggÇüùó¹ÿ>ÁÁÁeüþýûôîÝ›'OžÐµkWŒ««+W®\ÁÙÙ™õëדœœÌĉСC‡ ,ômsssvíÚÅÆY¸p¡Ç?ýô·nÝÅ&1‰Épú›ŠJ¥"$$ž>}JãÆùòË/qvvfƌ⹠ðóÏ?BÖ¶°° $$„† ’-øåË—133cÙ²e( ž>}Z*†{­VKݺu™8q"æææÌŸ?Ÿ'NмysÆŒÓ'O(W®:u¢OŸ>ôèÑ¥RI`` #GŽ,VÁgeeñõ×_\.ÇÇLJY³fñË/¿0bÄÉÌÌdòäÉX[[B~¶°°À××—7nаaCrssñðð ++‹½{÷²aÃvîÜI»ví3f yyyB‘—)SF †Ÿ={–¹sçŠEJŸ𬠒Ï_‡íÛ·süøqÖ®]‹››áááDGGsàÀÖ®]˦M›X¸p!þþþlÙ²…!C†°fÍ-ZT(_333AD+—Ëœ%K–ЦMQ&‰ú¥¨ã@ GÏ$&1&¦‘ñŠV«ÅÇÇbΑ#Gâêꊽ½=³fÍ*DÄ+½ß°aC1±%凇‡fffeº4Ä“z½q ÙÙÙ™¼¼<222ÈÊÊÂËË‹²eËÒ¶m[ %[×®]+òVÏ“'OˆŽŽÆÉɉ²eË2`À€BÔ0tèÐJ•*Ñ´iSîÞ½[¨Œ¾¾¾Üºu‹ƒòÑGaaaAXXQQQøûû“››+‚<%Å.)R©L?þø#ß~û-öööLš4‰¬¬,\c\m …‚E‹1dÈA`ÇÁƒqppÀÁÁéÓ§‹öž={6«V­âÙ³gdddÐ¥K—bN'ŽT]\\ç]~Ï‚F£1?št¤W¾|y^¾|‰J¥"//O)5kÖLìâ‹’'NP·n]Š-ʼnhµZq,XÐkùßêÕ«óìÙ3öìÙÃ|@¥J•8sæ üñÄÇÇ3pà@œ±··gÅŠ¢M$Äêï¿ÿ¾P9Ïœ9Cýúõ±··§V­ZÄÇÇ #ÑÝÝråÊÑ®];¢¢¢ •éÁƒâàà€““¿þú+z½žŒŒ 1fŒwëÖ7bggǰaÃøþûïyðàÞÞÞXYYñý÷ßãåå…½½=þþþ…ˆ³³³EþÆH—¶oßÎÇL¹råhŸPêr¹«îîîdffõX#V–ô“Z­&11Q0 HžNc”0ùç|“&M°µµ¥C‡ù«Õj:¹½½=æææ¯%ñÕjµâ(³lÙ²",66Vè,€zõê5œ^¼xÁ¯¿þÊçŸn@‚mL–,Y‚……666&£É$&Ãéï.‡æÙ³g$&&’‘‘ÁĉÅQZqJJRx•*U"::Zp1…‡‡¿5ñ¤N§ÃÞÞž²eËòøñcÒÓÓIKK#==](/©,¾¾¾F½7ðŠ¿®zõꤦ¦Š<~ûí7ƒÀu…BÁçŸNJJ }ûö¥_¿~F §‡²sçNBBB(_¾<«V­¢K—.%®S58~ü8ééé\¸pððpQn½^OëÖ­ µ¯F£áĉ|þùç‚ѾB… “––FZZ/^¼`É’%èõzš6mJÙ²e™6m:t@©T¾µÑafföZŽ7½^¹¹9666}¨U«ÄÆÆ+++z÷î-bdFŒAhh(gÏž5jÀªT*£ä«E-~5jÔ ::š?þ˜¡C‡¢Óé ÞW«ÕÂSµ}ûv† &bYj֬ɸqãŠüV÷îÝ™?>îîî»lɃ%µÃþýûñðð iÓ¦m•œœÌÂ… Y¹r¥Áïjµš¥K—2vìXÊ”)càAÈïU“ÄÖÖ777Ž9‚ŸŸ<àòåË,Y²DxN:ň#°³³ãúõë´hÑâµFBpp0K–,ÁÃÃ…B!úôرc}:cÆŒá_ÿúz½žÜÜ\ôz½AÒó%ÑOYYYsh̘1LŸ>[·n‘žžŽŸŸ*T@©TR·n]zöì)6EÆÆ³4ž¤ Õ¨Q£˜6m÷îÝ###ƒæÍ› ¯‘¯¯/={ö¤F¤¥¥‰1RPçI:³aÆ888Jùò剌Œ4î—$##FC‹-X¹r%ãÆcüøñèõz^¾|Ydš|XhüšäŸ%ïš«Îd8ý†S>’ßÿ†äääpÿþ}jÖ¬Ill,½{÷fíÚµøùù™:æ/­VË矎F£ùÛÞØY´h‰‰‰¬ZµÊD•c“˜Äd8•Òp2ÕýCŒ¶“'O2räH¬¬¬˜3g~~~¦Eñÿ@Ú·oOåÊ•Y»v­÷âï"K—.åÒ¥Klذ01Ä›Ä$&1IiÅd8ý‹^¯Ç‚©S§0¤›è,þov5gΜ1胿1ó”)Sþ¶å3‰ILb’ÿ1EÀýKq¼V¦E±äEqéO¦|Á°ùûæmŒØwIÊûw f.êV^i¹ÒL$Ì&1‰IL†“IÞéBTÜóª?Ïv¥´N§+òÚúÿuÝÔjµÁM©ü¥Á©*‰A‘““ƒ‡‡‡ÀÐyÛü^¾|I½zõVÔëD«Õ¢R©P«ÕÿiµZ®ºÒ–­8¾Ã’´ý»Z­–ýë_lÞ¼¹vPtt4nnnEr×ׯiiiâ½wIÂ|îÜ9:wî\â|u:£2™Œ³gÏÒ¼yó7&a¾xñ"¥"6X&1‰Épú'Z8%òv”äo™¾óÿÛØ.5úòåËXXX°zõjñÛ°°° <<¼Ô™7)I%!!sss:wî,~‹‹‹ÃÂÂÂwçMÉA ŠR©,Õ5äâ-+++nݺeQÙXyöíÛG£FhÑ¢ÕªUÃÖÖ–V­ZѨQ#Ê”)c£¦$í[Ò…· äææR­Z5âÔÒŽMéß …¹\^šAÂ)JHH(7çuøD%m—×yrò÷eëÖ­9zôh‰H˜~ÿýw5jdP.c0%m³fÍšqæÌ™a ™¼Ê&1É_/¦§¿JþTpëׯçÎ;΂ xñâ»wïææÍ›( ‚‚‚hÛ¶m±Çpyyy,Y²„÷ߟ͛7 ´ðQ£F¯®}/Z´ˆéÓ§ t]É8Éd$%%‘––†ƒƒ»~€äädÖ­[Grr2;w¦[·näåå±xñbfÍš…\.é9sæpùòe"""HMMåÞ½{´lÙ’~ýú½µR—¼ žžžÜ¼y/^L@@¨T*f̘Á²eË€W°óæÍcÙ²e<þœ­[·…««+¡¡¡¯å5“Èm·nÝŠ^¯gĈx{{“——ÇÞ½{¹rå ;v¤k×®Ì*•ŠÕ«WÓ¡C¶oßN£Fˆç“O>ÁÒÒ’;wî°uëV¬¬¬ $!!?üP,–½{÷XBGe÷îÝlÛ¶MU999lß¾K—.ѰaC,¾¿mÛ6.^¼H­Zµ;v,:Ž#GŽ`nnÎÅ‹ÅM¿¢D¥R±nÝ:>|HË–-0`€Á¢¬Õjùá‡8{ö,ôéÓÇ€×M­VóÓO?Q·n]ªW¯Î÷ßJ¥bàÀ±±±lÚ´‰ÄÄDªU«Fhhh!(…âdÓ¦MxzzÒ¾}{ùÏþCbb":u¢{÷î<|ø'N0vìXa~þùçÌŸ?ß /###9yò$C‡eΜ9„„„°a쬬7nœÀ4“ÞYºt)IIIŒ5Šàà`,,,ÈËËcß¾}üòË/Ô®]›Ñ£G‹ùµk×.Î;GµjÕ;v¬Áü”¼p‡fìØ±Ü¼y“½{÷òüùs*W®ÌèÑ£±³³ãܹs$&&Ebb¢à›3‰ILbò8ýƒì&³fÍâÈ‘#|òÉ'ܸqƒ… ¯àÊ”)ÃàÁƒéÞ½;³gÏæ·ß~+6?•JÅúõëYµjC‡¥S§NbQ‚W¼l¿ÿþ»QÌ™jÕª¡V«‰'))‰{÷îáïï/v¸Ã‡ÇÊÊŠÁƒ3sæL:„\.gõêÕâµZÍš5k¸sç“&MÂÓÓ“Aƒ±yóföíÛ÷ŽuzúôéÃÁƒ…1tèPT*999,_¾\<›-Ò+W®$%%…‘#GÒ¾}ûíYYY1þ|HåÊ•3f •J…™™¡¡¡ôîÝ›… òÓO?¼«Ñhغu+‹/æã?Æ××—µk×¢R©!©¯¯/Ý»wgÔ¨QüòË/Ez ^¾|i€&­P(8wî¶¶¶ 6Œï¾ûŽ-[¶0wî\Ž9¸qã¸qãóçÏG¡PpöìY¦OŸN‡.²me2ãÆãÙ³gŒ7Ž;v°iÓ&¬¬¬8uêNNNܼy“Õ«WóñÇÓ·o_£ç­[·²ú¿ÿýo~øá´Z-Û·o'** +++¶mÛFóæÍ fùòå\¹r…ôôtÑgŸ~ú)NNN|òÉ'4iÒ¤TèÍK—.%,,ŒZµjñòåKƇ““Æ cùòå;v ooofÍšEjj*?ÿü3W®\)ÔþOž<áÛo¿E§Ó±zõjV­Zň#P*• >¼Ð·{ö쉛›ãǧ~ýúèõzîܹCVV£GæðáÃ|ñÅ,[¶Œ]»v1fÌž={ÆÜ¹s }?66–íÛ·¯0ÔZ·nÍèÑ£‰gìØ±Èd2ÂÃÙ:u*7¦ÿþ&k“˜ø€K—. RÑ·Ž=ÊŠ+0`fffÅÒˆH†]FFåË—§N:b·_\{fgg³xñb*W®L¥J•Xµj:Ž2eÊЧO´Z-r¹œ!C†pìØ1‚‚‚ ÞW«Õ|öÙgx{{“““ó (M&ãáǘ››óÑG!—Ë1bׯ_/qýu:­[·í)}È!ÌŸ?Ÿøøxœ™:u*~~~Ìš5 FðaÄgHªw~ És¹cÇ’““±¶¶föìÙ :”¡C‡âåå%Ú*-- [[[¼½½ IäÍçÏŸ'!!¼¼<š5kÆ“'OøñÇùæ›o8tèƒ Âßß­V‹¯¯/4mÚTŒ«ÜÜ\222¨\¹2µjÕ*ÔgÒ‘_~177gÙ²e\¸pÝ»wcaaÁüAdd$Û·oÇÜܜѣG³uëV:uêÄÀY¾|9 .d×®]ÂûTpIuÔjµ,]º”2eÊ0vìXÑ&ùÅËË ̨×ë©S§Ž Ë0aK–,aòäÉ,\¸[·nQ±bEÆŽ‹ŸŸŸ ‚6öýîÝ»£ÑhÉdL:UpÉiµZz÷î-b¡L7$Mb“ÇéŸf9ñ2'•Z-Œœ²eË åEHH­[·¦uëÖ¬^½Z,7¦aÆ|ûí·FT)?IAoݺ•¸¸8bbbð÷÷7j`hµZ‚‚‚8rä[·neذa¨T*är9)))XXXˆ²¹»»“’’"„‚ IòÇòXZZ¾–Ž¥4âââ‚ Ÿ}öcÇŽeŠüŠ3fàááA—.]èÖ­›8fkݺ57æË/¿4ꑇ%$fxk5hÐ üüühÑ¢óçÏ7 ¥ÓéÕIþE055;;;ñŽ««k©¼)z½Þ¡ÝÊÊ FƒF£A¡PгgOš6mÊ AƒÄâ­ÓéprrÆp­Zµ¨U«V!jŒÄÄDrrrèСM›6eÚ´i‚HZúv½zõ˜;w.£GÆÏÏÏèX¬Q£qqq|ûí·„††âââÂÏ?ÿLzz:M›6E¥Ráàà žÍÍÍÑjµÄÐÛ¶m#55???>úè#A¼ëããCýúõ9qâDáŸRÉ‘#G ˆÛIII\½z•¶mÛÒ¬Y3¾üòKj×® À”)Sزe ‘‘‘dggÓªU«×ÆéI”1–––…x劒üèßÖÖÖ†kß¾}iÚ´)ýúõ3Êu—_Ö­[GÇŽiÞ¼9=zôsíil.˜Ä$&1yœþ§E¯×cem·—[¶laذaœ?^p¨9s†—/_ Ìž={ ÃãÆùTÒoz½gggÚµkÇØ±cqww§|ùòFª^¯ÇÆÆ†¦M›ÒªU+lll§U•*UÐh4Ü¿Ÿ÷Þ{M›6 r+++Ξ=K»víøíÝy˜TÕþñï]jë½›­¡ÙéF4.¸‚bÅ%‰‰ã’¸eHô—Å,g&1$šŒIpI4Æ£F3Æew‘¸!‚Ðì;t7ÝMoµÞå÷GU—4½PH vúý<{ézû´-«W¯f„ šÛÚڸᆸá†X°`‹-â˜cŽÉ–qwïÕU yçw¨®®Î¾öòË/ïöºïë}ßgܸqlÚ´)ۧ졇: ¾;û–oû•¶m3fÌnºé¦ì܆õõõÙfÉö×”——³víÚ.—;räH*++yà²óî}r6 ƒúúzÎ;ï<>ÿùÏóÀðõ¯K.¹¤ÃrÆOSSwÞy'þóŸÙ±c×_=gœqF·Û°/Çq²MZgŸ}6¯¾ú*cÇŽåý÷ßïvŸÅb1ž}öY®¸â Z[[ùö·¿Í˜1c8á„xæ™g(,,>˜óløðáwÜq\sÍ5}ôÑðÕ|]Õàv7)÷¾Û;zôhþõ_ÿ•¹sçé©FzzŸ ðæ›o2mÚ4/^Üa6€®ŽUÕ<‰¨Æé%9ðàƒrÏ=÷PUUÅSO=•­Õ™1cFvn¦Ù³g‡»ü"Þ÷ qï 0Û»ñÆyâ‰'8ùä“»œóÊqœìD™ßøÆ7¸îºëH&“Ù >óòòøñÌg?ûYÆGSS·Þz+wÜq_þò—™8q"Ï>ûlv™]MÜ~õêÕÌš5+[›UUU…išÄb1f̘‘­9ùÚ×¾–m.ìêÄ0kÖ,n¼ñF€ìúBº³ý¬Y³˜:u*õõõÙç?üðÃqÄTVV²zõj®ºêª˳»I˜Ûk\òòò3f 3gÎ$‰t˜yßç·k¿_UUŹçžËôéÓ9á„1bD‡Ë¾“§R©nï?ýôÓüô§?¥ªªŠ)S¦p×]waYV‡Iz÷w2_´hW\q•••}ôÑúoUWW3mÚ4ÆŽËm·ÝÆ]wÝÕiY@€qãÆ±mÛ6&MšÄ˜1cظqc6 Äb±lMaûýöa%Ú·åöÛogüøñTVV’——Çi§¶ß}–L& ‡ÃüêW¿béÒ¥|ó›ßdذa|ík_cÖ¬YTUUqÊ)§°téÒìë¾ûÝïòÜsÏqòÉ'wÙÐqZZZ€tóáÞï·÷ýv&LÀ0 † Æ}÷݇ïûÙ×·ï¯öû?þ8÷ÝwUUULš4)»Û7?øÁøìg?Ë”)Sxâ‰'²ÇãñìºxžÇ½÷ÞËwÞ©Ð$rh®º^’Ë\u{ñ¯Y³†³Î:‹uëÖõxbë®ÆhßHû²ãñ8Ó¦MãÅ_ÌNÒÛÕëºÒ §/ñý­KW?îïÿÝ-¯»å沜ƒý{®¿Ú»Z×\–wûí·³}ûö.Ošû+ÏîÊ·§eô´-û[Ƈ)³y¬7öY®ûoïÉ„Ï9çž~úiÊÊÊöû~¹–ûþ>7¹–õâÅ‹ùÖ·¾Å’%Kö»Ï>ì±+ÒŸh®º¾šP3„_ýuFŽɽ÷Þ›½½§×äò÷öûï¾û.÷ß?³gÏfÈ!¾D»û.ëžËc=Lë{wÕgã@—s°ϵlºë_²ïýd2ÉóÏ?a´µµñàƒ²páƒ*Ï\·gÛ²¿e|˜2;ÇzãïR.o¾ù&÷ß?sæÌ¡¬¬¬ÇÏHoRÖ[¶lá±ÇËvêï*}˜m‘Þ£àt 4ˆºº:Ö¯_Ïi§ÆÅ_Ü«¿—,Y¨Q£º¼dZã‡Ì¶ ‡Ã¼òÊ+X–Å/ùKŽ=öXÕ‹/fâĉ\yå•Ëõ[³f #GŽäòË/WQpêß|Ï£¬¬Œo~ó›ÿÞ‹slÍŸ?¿Ã}}é~ýôÓ9ýôÓõQp°)âÀ¯*û¾u8hÿî2ÿ¸í}†Eú]U'"""¢à$"""¢à$"""¢à$"""¢à$"""¢à$"""¢à$"""" N"""" N"""" N"""" N"""" N"""" N"""" N""""¢à$"""¢à$"""¢à$"""¢à$"""¢à$"""¢à$"""" N"""" N"""" N"""" N"""" N""""KŽãdÿﺮ‚“ˆˆˆÈ¾ ™H°uÓ&bÑ(žç±kçNZš›œDDDDöæ–e ‡ Ø6†a…ƒû}­­â‘þƲmʇÇu]|ÏcÀ A†±ßשÆIDDDúƒtÿ¦Û¶‘J&ñ}ŸÝuuÄãq'‘}y®K2Çu|ß'™HJ&÷û:5Õ‰ˆˆH¿âÁPˆ‘cÇâû>¾çQ^Qeî¿>I5N"""Òÿ“çÑX_—† ¥¹¹ÃðÝQ“ˆˆˆô+ÇÙ][‹mÛ„#ëëñ]—H~¾‚“ˆˆˆH;ˆäå1jìXÁ ¾ç1løp‚Á ø~¯USˆˆˆôKáH$ûÿ`0¨áDDDDz“‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆ(8‰ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆˆ‚“ˆˆˆÈ¡b¹=Ï÷1œDDD¤?‡&Ïu‰¶µaô |ß'‹á+8‰ˆˆH¿ÍM€çº¬Y½Û¶»}žëºlݼ|_ÁIDDDúqx2M6¯_O"ï²ÖÉ0 š››©Ù¹Ã4œDDD¤ÿò=¡¼ø·¿ÑÒÜŒë8Ù•J¥¨ß½›—þö7*FŒÀï¦ÆÉV1ŠˆˆHàyS¦NeÙ[oñÒsÏQZZJqi)N*EmM N*ÅäO~Çqð=OÁIDDDdâ¤I «¨ ¥¥'•Â9r$…EEDòòضuk·¯Up‘~§ °H^®ãà¹.Žã¤¯¼ë¦¦©ú8‰ˆˆH¿ÖÞ›)—QžœDDD¤_I$“¤R©3L“¶hTÁIDDD¤CpJ$زm[öÊ9Ó0hhl¤©­ü‚‚n¯¨Sp‘~§¸°ÂÂBÖoÚ„iš4·´Ð‹1aüxÚZ[{Y\ÃEDD¤_ñòÁƒI¦R¬^¿Ó0_UEóž==Ž*®à$"""ý’ëyT”—ã¹.e¥¥¸É$¾ï÷ØL§à$"""ý’‘ OÆ Áó<’‰û¿®NÁIDDDú ˲°,+[»äù>ø>¦ea–ea¾‚Óá•KõŸˆˆˆôþù·ýߢ"}è¡ô{Õ.í[Ïäy'žzª‚Óac$ œ}ÆŒ‘Cq6H&“œ5o^NÍqéq|§ÃǶm,óÃþ Ú*éÇÉ'§Q½»;&“I Ãè4èeOÁ`—ï©àtX¦É»o½ÅŠåË{bßtlšf60‚A¤ˆˆôK®ëâ:¦iâù>þ~æ“Û[~Aç\p©d²WÖEÁé%åX,Æ™gŸMqqqN/Ù¼q#kV¯fpy9&M¢¤´Tå(""ýR,emu57l |ȦuTN5P¶móðÿ÷‡®­Rp:Ìá)“…öù³Aãž=DÂaB™ÇjkkY³j'žz*eà¸n¯%eÉñ#Kç‰?ý.‘^À¶™rä‘L˜8‘—ž{ŽwÞxƒIS¦éŽÜMÍÍbYV‡×9™+åz“‚Ó!üv=Çq:$á-[·K$¨7×uñÁ N‡— F¦i²aÓ&bñ8GMJkss69GÛÚ6l®ëªÐDƒT2ÉÖ)**bPy9»¶mÃó5È"òÑò`0ÈÀijj"/?€!ƒ±}çN6nÞÌè#Òc3ÁGrUp:ÄÁÉu Ã`Ûöí4·¶rܱÇÒPW—­Jô=˶É+(èP;%"‡ŽiY :”`(„çy 4(=PžçQTZJ0Ʋmý¸9 ऴ7•Âsœl³ùð¡CY·i«Ö®åˆÊJ\Ç öIÁéÐíéôU®‹äE"$‡M6PTP€›©‰ò=Ï÷Õ§Iä0 ƒéу=/ÛoÂ÷< à  ÐU="Ò‹•¤k…ÌyÕÏ„©¦¦&œTŠòòrðýtpÊœœúêÎÎÔ8‘ N¶eQרH"•¢´¨ßóÒ¿j]—ºÚZf~åŠÈ¡å8;·o§  €’¨Ûµ Ïó2t(M{öмgC‡'¨°D±”ã°«¦†áÙ–™X…ÅÅDÂaœÌ•sž$°¸¤„d*Eù°aØ=ÕJíe a0¦²ß÷ñ}?bœDD¤ŠD"”””0%3™çy9ueñS+*ÒÍë0uY*™ä½wÞaôر‚W§¦ºH8LňÄâñô¥¶jÃÏ)8EÂaò"\ÏëPMh£ÆcCu5+Þ~[—/‹ˆˆbþ^­:¹Œ=šcÆtjíéœLÓdÙÛocš¦:=~˜Rì IDATÒÓ4RQ¡‚颱ï-[ÆÔiÓºNžçqÔôé*-:>nïï """"’¦ËæDDDDœDDþ±hH’ÜÊCåÔ¹¥ee9 6­à$"ÒG¾Ü“‰ï.[ÆÐáÃ)0 _^ýìyµ»vÑÐÐ@Õøñ†Ñ¡ ÃÀ÷}6oÜH<™¤|èPl»žê¢mm¼ûî»Lùä'),,L}´OYÅc1Þ{ï=†AQII¿<¦\×eǶm4·´0zôèlÙ(8‰ˆôa–e±låJª&L`Lee¿whEï¾ý6{)0 Óãm­­Ä Ž:úh‘H¿>nJJKY¹|9GMŸÞ) X–ÅŠåËùÄäÉŒ5ª_7Û•Ê›K—ÒÖÖFAAAÏUpé Ó¤±¾žSfÎÏë×'¹P(D0 ­­­Ëà”r‘‘H¤Ͻj”Êÿ½ü2©TŠà>#g›¦IcC#GÂËñ˜2öš¬>ûoæu¾ï÷Ù@ŸŸŸ¾O,UpùGbfæ¾üÈßÇ4°¬®N©Ôaî “™Ìí.ù>fæ¤Þ[§qÃ0°3åẞßúeFËÞ_(2L/‡cÊ H65Ñ´ºšèæM$›šñÈÁŒKñ„ `šÙ‰wû?sssXw'‘¾ôïyù¯zÃ0ص»……ZJCK<T|\×ãŒOUqá¬É‡5<µ×lôÔ%{%Y¯”•AÊIðÛW¾Gk²‰úÔ÷R6‚T2Ù²SSäPNv0ÈŽçžcÕþ'…ñF‚©(¡¼^*Ån¶Xy˜cŽ`ÚýÁ²2¼D¢oMÙvÇŠ‚“ˆHŸJNMsˆïCû\â–ið»gß¡bH1§L‹ã¸>Ä“pÛ¢¿qáéG‚ïÞ2è9ùuXË4,ž\v'­¡ :’ï=ùiNû9.<úz,ÓþØ/ÆASžëòî-·°ó7w2åSãÉ+`E}Œè.‡ðó‹ð ó©ÝþO¯âèû~ˈyópâñ>ÓÙü@š¾œDDúRn¼^Né~+ðfõNŽª,Ç· žt˜8°%ïo'é™4Åòµ·ÝÌ1³?…±c=F´3hcÙ8­ø-»q¶­gèðJÊN™ÀÒ™UPÈ“OÂû ›ÑS™š™æßœ–£¯!‘>œ2ýUzë>®ëò?¯®æŠ[ǶŒt-…®.&ŽgàcÒÔÅ4Làƒu°L“P8œ½µ ‡ÓÍ|™fµP8Œµ×ÉëC¯s.Í•½T>–añ·U0 lµþJö¤vP³g c(Ë+ïôü` .øÐïéy¯¾ú*Û·më•íØrêú˜2L“ÖõëYuí5|☉xëWBÃ.LßÅ ˜ØA‹@РXnwýû˜5[˜ñººNëß~do™ë½yLwÚ~ßÇuž|òI¢Ñh·eškí¤‚“ˆH«qêù¤+š ~üû×XµuáP+  L‚Á†aáxMÍm”DLÚ—û¾O0díºu|ñ²Ë8}Ö,þßµ×ÒÒÜŒmYÄb1.½ä<ßǶ,¹è¢‹xíõ×±-ë ËÀ?%m6ëj—ñöŽg™P9‰m±÷˜^ö9^~ç/œ9ñ*ÂŽW_ƒA~ÿ‡?pÙ¥—²§©éC7S¹ŽÃ]wßͲwßÅ?ŒÇ” ²ä¢bì˜ÁZêñ›ö¾ò„¾øuHÅ1-0M£t Áë†9z<~c‘D3ùu›Ùþç?pU£ïcÛ6MMM\ÿÍo2{ölÎ9ûl~öóŸ“J¥0>âíK¦R|ç»ßeÏž=]nïÔì)8‰ˆô©ääô-= ¹A<‘â¢<ŠÌãÓ3&S’⸫rÜU ùã +ù÷»ÿÊãÏ¿ÍÒeïsñi•÷‰a™³l: ­\¹’“N:‰Ï~æ3üþÁWYÉÔiÓˆÇbxŽÃ_žz |Ÿúúz.¼ðB¦O›ÆQG™õ¼¶£çbÚ«áCÝÀ²|ÿÉ 8÷”KY×¶˜#ŠNå­Õ/1¾ìxŽ<Ï븦eñï|‡·Þz‹çŸ+ÓiÌ2MBÁ ¡`p$BÀ¶³üѶeŽDÒµ/íµuÁ ¦ib[¡`0]Óèy˜†A8þà"öõ‡:¦ ƒ¶-[HnßÊ€ŤjkðS<ã|B×ÝŒ}Å¿âÆ“8fˆÀ¯ž#ð™«1Ëã&þîZŠ"6Í_ŠŸÙצi²kçNŽ:ê(FÍoï»Ûo»-[¶°dÉ@º|ÂaÂá0¶eá{t(£p(”®ÍËÔ’l»ÃkÚût…C¡ŽeêûD25æxRpé³¹)Ý”s07|Ÿê-»ù§çÄc¦0~ìpÖïlæG Îeáw.ä77\Èc·^Ê_~z‹^Í«w~™O}¢‚dÊÁ´ ð=¡óçÏç–ýˆsæÍ£  €×^ËYŸþ4?øá …ئI}}=—\z)³fÍâ_®¹˲zýs›ÉÏqY)'I}ëZãM¤[=l3Ƚ¯|—ã§ÎÄ ùÄÝòÜA,~ç9®>ñÇ$œX‡eضÍÓO=…çºÜzË-<ñÄ$ |ßçþûïgú1ÇpÆ™g2pÀ¾öõ¯cš&555†Áþä' 8ãŽ?ž]»ve÷s(â®»ïæÔ™3‰äçcÛ6/¾ø"cÆŒ!‰ät,ä24@—åkšì~óMŠóC¸­­øø‘{.Ÿƒ»i-ÁùßÇ?û ¿]Š1t$±»~Hòí%xx)—ïÑòÆë¸©$žç ùÖ·¿Í‚ ¸æšk(-)aøðáüô'?áÔSNaåÊ•œ5w.ååå 1‚øC<ÏcõêÕ†ÁM7ÝÄàÁƒWUÅò÷Þ#‹FùçùóVQÁòr.\ˆëº¬X¹’c;޲øôœ9477§ÃÖ^ºS9@2'‘>œææy>ÿû÷õÜöÈ[œ~Ò1„#…l®m£¾%ÁŠM ¬ØXÏŠMõ¼·q7Ë×ÕðVõV6ïÚÃ†í»‰%¬LóSóž=¼¿jçŸ>Ѷ6|ß'‹qÁðÊ+¯`™&œqæ™L˜0ÿÿèp‚:¨ûoZÉuY&&¾óS~ôâçøÅâ¯ðÆÆgZaÖÖ¼Ãûõ¯pâä³XÑô4#ó§ñÌkpÜ?tâN¶¦irÇ/~Á‚ ˜2e [·neã¦Mø¾ÐÚÒÂý÷ÝÇŽíÛY³v-¿[´ˆ@ €a 4ˆºÝ»™3gÿü•¯ÉŒvǹâòËÙ±cï¯XA â‡7ÝÄ¿ýÛ¿áºnÎå¹ßcª‹ò²h\úwòL§¹%ˆ\ð¢qö\v:©e¯þî/1+ÆýÅ÷‰-üžgâ9>®ãbãѶv-~æb‚ÖÖVÞ]¾œóÏ;/{¼xžG<'•JQZZÊo~óvÕÔ°jåJ^_º”ů¾Šiš†Á±ÇKmm-_™?Ÿ«®º ;äúo} ß÷Ùºy3;·oç3Ÿù ¶msÉ%—póÍ7ÓP_ÏqÇÇW¾úUòòó÷{\äJWÕ‰ˆô±àt0Ïã7O-cêä#°‚a¶ÔG)Í·‰;>ñ¤‹múäÁ ˜xÁô(Ñ>¡`€–¶å Àó»]Ÿöqƒ| •Lò¹/~‘žž ëÖ1lذÞ¼³—®è Za½ñ}jÜ÷¹ô¬kiÞÓÆâêE,^ó'LÛ`æQçQÝò"¦iQ·µ…IOeÜÀ©¸^Ç+Å Ã`ÅŠ¬©®æÑ?þ‘üü|*++YòÚkŒ=Ïu9aÆ Œã8œÞy,[¶Œ³çÎÅ÷}®¸ür±_|1·Üz+–eu«êó^ÈŸœ@0Èšµk¹è _ ‘HôæAÕem]`àâŽç›ø.N:f®v`¯$ÄI¦¯ÌsÏ'ébååu ¹Ý?ÓdùÀðÒK/‘rÞ{ï=ZZZð}Ÿ¢¢"æÌK"cögpÓÍ7ð÷7Þà±GÉÖì 8mÛ¶±ººšŸÿüçüìç?gÏž=¬X±‚€mwèÞUxÌ•jœDDúVr:¨›mÀ­WŸÊºõiinfäÀ®gOxä}r*F¦ŸW^$ÂQS§òØc …²ï°mLÃà׿þ5«V­â§?þ1w/\ȳfu`Ôßgôp(D]mm¶ß’ïy …øí½÷r×Â…<üûßSýþûéc¯§ÏÏ ,«'‘¾”›8ø1”ÆV”rÛWfòµ_ý•Êqã[>ˆ`Àdh±…ïù-°-ÛË‚uÛyuù&b‰—žñIâIÇ‹ò‹;îàÌOšAƒsôôéÜýë_óÜóϳìí·‰ÆÓÍY–m3þ|vÕÔð…‹.â¡ßÿž’’’ƒšC.—1wüÊ*šjå;§?Èÿ{3Îgpù86%_§tèp†VLfYÓ“ŒÉûÛwmgXø +®ÂñR–SßÐÀÿüÏÿðÀý÷sæìÙ†Amm-§ÏžÍ¦Í›±l›ç_xÿ[²„ÒÒR~ÿ‡?ðÓŸüÇu1M“›o¹…k¯½–›o¾™ùóçO$ð2ÛèC‡ Ã2M-ZĦ ˆgjXr*«®ìëj¼+Ãu)ž:•ÖÖ6œ²<<߯mH1ò±'±‡¦ñæïÐòß÷Òò§‡òô]wÑÅ/]ú¾ ê@áÑÇ€mãù>ñD‚Ý|3'ŸvùœuÖYD£Qî»ï>æÌ™“=V ÓdåªU<ùÔSÌ;/Ó¤×aŸfîéK_â×_ÏÂ_ý ˲ˆÅãL=òHÎ7_.\Èe—^J}}=;vîä´SOÍ–iWM½æÔ:Y_¼øâïû¾OIYY¶]UDD>^LËbÃúõTVUtpò<Ÿüp€sN¨âÕ·Ö°¥¦‰#Çã–ßC†%àû>±xœh4Jkk+úÓŸøêW¾ÂÜ9shhhà¿î¸ƒÿø÷ç?øGy$ßýö·I&“Ô74pÄøñ 4ˆ¼¼<ª««‰D"\rñÅ\Vk««9z4¶Ý±®Ä²,Ö®YÃ'vjBõ};?Ÿä®]ìzþEJ”âµ¶aä}ùo4Ýq;¾ÀK¦h{üa¼”Ktñˤ÷À€!ìJxT\³€¼Q£Òïeš 2„+¾ô%^]¼˜‡ÿøGþþ÷¿sì±Çrî¼yŒ=šw—/硇¢­­yóæQ9n¤¾¾ž¹sæà¤R鲩¯çì¹s™>m‘H„»ï¹‡—^~™qcÇ2rÄæÌ™ÃâÅ‹ùÝ¢E,_¾œ©GÉèÑ£Ù±c3fÌH_¥¸ïçË4Ù¶e ……]NòÅØÓÐîsõÂÓOû®ë2º²’Ò²2};‰ˆ| Ù{öY>}ÖYU[³ïIÕ0à©%ëxá½]¼ºlïþúrRŽ›yÌÈŽEäz)'ý¾@€»ï¹‡G}”`(D0ÀÈLîšH$H$“|ùª«øÒe—ÑÒÚš}¿p8Œ—yÎÁLÅaš&+ß{@0Ȩѣ;=ÞØØH}]“¦LÉ©¬ ÃÄõ^ßðžÙðKŽŸrEå+ùõ·põôŸ3y؉¤Ü®ûmÞ¼™ù_ý*LPjápÇq¸êÊ+yþ…øÍ=÷à:)ÇÁu]jkk7~<¾ïã$¸®›í» q]×qˆäåñåùó9}Ö,Ι;÷€æ€3M“§Ÿ|’O9…P(Ôá±@ ÀÓO>ɼ .ÀI¥ºK—¼~þùU¯ Ä·®!=~SÄú`ºn܃E`p951sÞg˜tÓ³ëðÌ3ÏpÛÏ~F8&˜jÀu]Š‹‹yô$™Lbn¦I®½|8&fǽïl L¥R8ŽƒaƒÁô`«{ý=gûCuªE²,^í5ʇ £¼¼¼ó1ÕÐÀ¦uë°,KMu""}ÍÁvoÝ;™Lâº'NÄ€|“·ßßÌÖ»p]Ã00M3}¢°mlÛ&`Y©TŠÏ_x!óÎ9§Û÷ÈÏϧ¥µµÃºÆb±^Ù?צºœ¯–ò0 “ãǞÄòã¸ëµëX_LÊ}‡O”žJå€ch¶`éÐ~k_—ŠŠ ~wÿý]†AÃ0øß¿þ•xÊ>(÷nj…>ÖÇK.µs¦ÙíóÂá0ÃGŒ lÀÆGý´i4Ö×Ûµ §®Ë4É/)!

_}!8ªqùÇcZV¯OüÚ~º°úH9œäŒN]•Å?LÐÎ%8YF“Z¶MQq1…EE …ΣmÆ>á²ý±¾4s ã N""}H¦™®S“O?”­ùéæD×þW³—jçú2Ï󰬮#±Oº¦Å÷¼ÜŽ©Þî[õq:¦Ú'‘”Üä3¤¼œêU«˜8y2öYßûa9464Ç»í ‰E£477SZVÖçš×z)]’L&Y[]Í¡C»ìÃã{CÊËY³z5ã'Nͬ~ùÙò|ŸºšLË"+8‰ˆü#p]—ÊñãY¹b¯-^Ü?ÃÔ&Q\\Üås"yy””–²|Ù²êôû—ÒMf£ÆŒé4øeû15þˆ#XùþûÔÕÕaô×r"]ûVZVÖåà— N""}ïûضÍä)Shnn&™Lö™Ž·½- RPPí|¼wˆl¿?¬¢‚’ÒR¢ÑhïL,ÜY¦I$/üüülˆÚ·¬‚¡S¦L¡¥ý˜ê§Á) QPXˆmÛÊIÁID¤Ö@ú²øÒÒRÈ^!©«r‚ô œùùù*§n:j·ß·m[3‡ôpLíËT1‰ˆH_“ú˜ÊI¦¬œDDDDr¤à$"""r ÁIy""""í‘lH·éµµ¶à«|DDDD²¡©­µõƒÎô9´®¦†Ú]»TB""""{‡'ÃÈŽ –ŽÀ4ÕÝIDDD¤'ÿjAýÃúöïNIEND®B`‚nted-1.10.18/doc/docimages/before_connection.png0000664001041000007640000001120311520267216016422 00000000000000‰PNG  IHDRºeun\ pHYs ‰ ‰7ÉË­tIMEØ 5-¯…5"IDATxÚí]iXSÇþNö€ì‹AdßCÂ"mµŠ"(jE­­¢]ÀÚjÕ^­ÕV»Ýº‚UûÔ§ u­T­hiÕjEʍÈV²(D–°$dϹ?.„œ÷É9'3s&ß¼™ù¾÷Ì™ƒá8Ú€L€€è‚€è‚€è‚€è‚€è‚€è‚L€€è‚€è‚€è‚0ˆ@z¡~íùí¨ÇUpž!ˆ.Ý#%Nn€©Ÿ!ªÀùí0m=¢KO˜¶æÄ"¶€‘9[ï‚€\]DDDD¦‹BÖ”»éЙl29¢‹f´?¼8ÓÇ5úóÿÆÌís»Y‚ìŽèòlˆy×B}§'—©T¡šk‡&0g¤Èôˆ.O—|<+»YÜõœ 6mÊ´o‘éû‰$77W$é·Ú¾½ À9_Ô¤Lcª1&åËP{õ˯ò—mf[¡~Õk¨Pp8œ¼¼¼ÂÂÂüüü‚‚‚ÒÒR™L–™™1ÖŠ0öðþŸç@Cî7 xÅñÚ ¹¹¹  òó󛚚41÷7 çæáxØ2H&£’Ÿ•‰±q§Ç[Ñ”i×·fÃç9 ròÒc2bÃ3‘’’’‘‘¡œYª««uôL zþ?ö!].üU$šËñ™ê“T³ÎE%rD—î””tàÀíó›™™±X,‹Åf³Y,Vë}“³Ñàåå5hèòG½Ü¢ö3(]8ŽQÔÉ"¢Ew03à³b8(‚ú§¿¥R©L&“Õ___''§®.5–öE«úŠ.¸œŸ+À’/w=/kÿWuaš3 -"áš‘¯Àš*HA=‘Htuuõóóc2™l6›Íf»»»“H°´­¯.)W)p\è]¢•sF5xº¯Cc‹XXXÔ¬\¹rVt“ɤÓé†Ðª¾¢‹BÞúÌóÙ[s” ÿϧÕž–J¥ÅÅÅ………d2922R·J¨T*„††yÎOë+º`˜j¢‘uÙmH&,^–V¾k–ãÐ Žãùùù………yyyEEEÅÅÅR©F­3] }E"e„ê¯Öewª„w#j%r°÷Ãà‰¸\®2¾UóƒÏç?m„ño»á8ŽaØ¡ ¦Ífc¹¹¹K–,©««ãñx>>>ZV}ëÖ-pô ´!@ÒR“_ÆU~åȰé÷°ˆQM”{`ÿcïœ0¹\$ »@&“iS0 Ž:BD+X9­ôôŠi̦-wÜæ(Ìu]Íå'‹Mcjo Ç---»lp-™™Ù«üJX‘‰WÝŠãx{Ýyן×aê/ø@à\,þ×úòˆÅâ»wï=ztýúõ3fÌpvvÖš¶¶¶ÓiFCsee¥n­Ý´àò€güyO·âÞûðϦfôÊÍÍÍ ¡Í}Œ #§òäu…\\õR$G(Õñ؉Ý*¬¸xpö}ÅZ–—ãÖîÓæÆlÚ¼ÊÅHo?áÚµk¡¡¡J·£w‰‰‰¯¯¯RS&lmmßs¹ŽWbŽŽŽ0„Їt 5§¦òDUüö-ãNרf÷…ÒÇ™Rt¨íþÉÕÞ ŽÆç'²­dªÿŒÿÝÚS'Îgÿã«'7ÈÍÍM®P(ooo5?X,–³³óPrP†.A¦PÑrý“п.ƒU"‘89t2›ÍVòƒÉd#Ù°ÏébêcÚyšcböaY÷¤GWM}ë—ÁË«":â0Uä"y¤ßf;88HKCÌèWºˆ2f¼yY}¸*)s:Ãèy*œ±3¹ygç¡°á¤2äF½Øoè“õI Ycô˳ó;Öo{/>¾3BÏ¿?íR&Þ;ôêEÃ’é®^½:~üx•Ôc~^e!§¡sQñpVÀHª>E9\!*¼[$Vঠw{3=ÊtA·rª(Iõì¸ço¤Mþz†$|±ó5½4r±óµ¬Eçâ†)Óéy2’‹«çO‹UXŽ>fPu¼J—(ØõQ²8îlqÂÚ)€K²²²Ð1X}—ã‹Ã.ñTÓuÀšÌ½!Ðx낾êçî›°&gÿ¼O§»€ˆ—:aòÔ‹ƒ’. wbß:V®R/(¶¿§oµöœ íܹ>ê— ò#g&¼}+z”µòL}î¯4ó)¨_ +„Ë#¶ª§¡ñ[S­h¸âaÄh¾¸&•'zÍ‚ö|á–hCØäŒŠGžù¶ÃƒþB½8øFα¨?j*¯Þ:âÌÇ€ŒçÙÐàÈý¶ç¬ÿïµãwe?C‘³ ‰zqÑWbV¤¨ßIÜ3Œ¨ Žæx˜@Ñ_ÕÏy‰ùñÔgad8õ¢áNFçé“u™«3[TÏÍ3æ­u«³QÇCæÃ’ø•SoÐ% ÌÌŠáé>ÅÇ®w7b »sižÙ¤§ÑÔd.n#p8šŸÿs•ÉdZV¨2™ŒØ¹´r…—Ëåpt‘¬¸\.€‡P(|fº3E[[TUUu·¬×2ݼyóžÎP”rº°Mµk‹kèÌ ë7—W\Ì.n~zT³vpdYPûoM­x6&5²×ÇâµÆ§iÓ>ÿåDÉ‹¬óÞ×­xkV Sõ†‡c—Ñí›´àe”öRGyÓpLFÀ©Í˜ϱä»*Æn“ñ×´7…T*=uêTDD„‘‘Q_Ét~.©C—£[Ï–*TçÛ¹WçZkÙèn?\z¨³Å¯Jýeï $ÓÉõ›_½úH>ü‰ÏòPÓéno”u Qwï$a¢¦+¼&ýq§AÍx¤“ýpódžkaùêpö"ž.q’ôQÔ+s>\ºèw&šï܉1£UßGƒg,Áf38W·|¿Ê« -÷ÎuV¦·NŠÌiÀ˯¿?Õ‚£¶¥ÕÔñÜ{¿n[fAR]W.mühÂü&Y¯·¬ûciÈ™:€üE抈[üQ]Ö-'H2–ÁÑ¥ä¦ja¼º{$…íÜC[r0ŒøÉ±¼ìS{WZÀýÃå`dë½!þßËßU—6¦½y¨wô>¼¸aÁ¯Å€ãCdkDy;ïÔ–¬³.­›té먫IIµÚ”ÚÍ25Â5©Y8¦ç'¥õ Óݪ¼è);•‰)Àéõ#;°Ài®\¬áœ˜¦ÒÖÆ®úçメ;ó”‡Y_í€%ûµ¼œTyÈN*ʆQb'—”Þx…cTN.@Z"ˆ)õÔž Þk°ÓÜÒƒ]”~.†a_ú©ÛGW@ôw¯©F06´×(:£°à‰fSR;÷`™HËiß5kºýæóþÆ”!À žUâ×Ï$ÍQ¥Øäò/ûœ Ž.Þf ÑÜÝhªöËø2xw„jN5þ&(d­IõÂN’ùÄ1-ÕÑV:O«M÷JíâEZá÷"xšA1w²·äv[¹iæÚš`š¾W¿õz2JOOâ Ïß òêòVõW5Žtøáï”×,”ªÂ‚DàÉñGÎØûwn_HzÕòT~ÏKÓmzØd@Òr+zù…ÏŽüzéBú#©¼»öt‡²2g©€”ž^¦1×d¡P¨} b4Í;é£Ùó€¼¼<™iewߎM&~h5¯ºüíX¥pTÖümVuÙu½4…@ PÊl¶¶¶}E±1 L.áNNµ£@.ebP¸ç$ù%ÕôäB#ñø’²ÃgÓëí;•¨ÆÎ¥%ûJz’<íÀ6ao7ܼ’ðH¢è-]Deq1ÛCþÉ"‘(==³·fÁe„ºlsA­¹BJÀŒøÆ^õ"ÑX*Žw×<\Fä·NÒlý&×­U­m5¶×fÈZÏÖÝ57Sq¢ŒÊhaH¬øµ‹º˜B,+ébjjÚW2®7£ÀÔãåêsGæ»™¹lVž ±s—í]Ëåï|EY'™î©÷ºCVl˜}Xœú0ÒÚHûö÷©L×JC¨\ܽL'æÝO kêÏ»&—„òþ~þ·_VÓa”Ÿ¿ W–¯æËUÎìÂ#Ù1Nê,ÎoŒ÷`×r—T·3ì&Æ‘4>ØÊ9<-¶áŸÓk‘¯JV8qŠAyáê€ïÊ“¡æ4aã™°õÉ* ‘,wž; 툄ìÂ}@Ú^rµUukIÊ¿½¾c‡æ ñ“5×sé9oþKlïœïp½½½_ž´Ç0}U 4ÅÂ_V“L=oÉà1éHUCøõdzL qs-ý,ÂH–‰ç¾1ö‹ÿíœe›zl]8iÎê_l̘pÕ´3­àĊʼfì[æÔƒ<žVõÄk',Ȫº‹‹‹ŸG;ó]ÉÝl_t[’_¤€öÅ{TÉP Ðm(K4²ÞQbÝ^ýàäÞªÊ )N!Ž ²y}©‡9ÉÁ`£9½­¦³³!yÝ™©ßÞHüt 'SbüãÎʩ擭ÉÄ©<÷TÈæAÜÚ¥+c»°sÇ£ G©\ÛzVÉ÷\‘ƒý¢Íöƒ%ø×çô8%îÊï€ìÃ_{`®ŽK¸ß*U?s­éPôýRûQËöëkþW’âcÔß;8j¾-G~`©]B%RtŒ´bïµÛI»B¼,%­¥»7D»YZŒ›&½ÛÊ@P¯ô]†»yxyyyyyõÖwéù¶œÂÕ`U²G¯—GíÙ£Mßàuåù·ï”q*¹õm¡D&W_È#æ³OƸöÿv(u)r!¥úª ™¯iðÇ¡ú¥=ç´ÒZ$ò+[üiÜ1O¨d->©>Â)Ì¥)ìçd?%- W¯^kii©»ïâîî¾gÏž²²²ÚÚZ-YÈpó›îæ÷x0üúí@±´°­s8Æ¡9K˸3Zš£C6Hx¹÷2Imõdœ$7q”x„i„Áº5N×<h5ºè-œÍݾ€ -¹9_ø÷¿-Râ€ÏmIýÞL“ÃÑBê/BI‰a ̉XßE#ÈÕ‰ú+ÊLDšÙ èpª««™.ÆÊD[EùþàÁ(Ž AÝx…)ßþtônE£•³ÿÛ}:…iñ]Œ|¨L¬ÀÕo‘˜fŠcC.íµ'<6¨D®s¿ïßš^¼>¤Ë3cÙJ,Ê aÅäàdžàd”¿mSCAT!kùfVd{—ås¸ŒÇÉ€2l²û‹N—¶ò'Ÿ‚·^ÿ¥ã©i6ý£|e‰§#²û‹NƤg<«,ì2º4å©^ÍÈ@O5#º¸,|r[ªéè•#:µöKo+o¾F—ž.Ævï¯óî …FøM;’•bÖ±ƒ˜—±ü,}×®i‚ìþ¢Ó¾JÞmJ"€•ÿÊcGöÎõQ=â*å—.™Û&W)v¿]؈ŒŽi—·sŽäù/ÜÕx÷Ç¿MGúŒ dš7Ó.T ¤F^›t#b¸2:¢‹ ów”Úù,Œùø §µµæßÔšŽ÷ºÒ¾LHþïL'dqD—Ç`?añåÒ¨«'žN½\rŸK0¶ñöÎ{‹ÜLÑk€]žíуgÇÏŽAöEtÄ8¿ŒÌQ§Ãùí0a™.ûo½Ë€ãÞ%(HATQÁk"øNCtAèK µ@ˆ.ˆ.ˆ.ˆ.ˆ.ˆ.ˆ.ˆ.ˆ.ˆ.Cÿ”vp@iµ9IEND®B`‚nted-1.10.18/doc/docimages/del_demo.png0000664001041000007640000002124211520267216014515 00000000000000‰PNG  IHDRÀ²›TWš pHYs  šœtIME× (RW8ÃtEXtCommentCreated with The GIMPïd%n IDATxÚí]w`TUÖ¿ïÍÌ›–dR'•@( ‘‰„¢‚,Š…"KSÛŠ‹ºŸŠ"®¨«ëª»ö†€(*B1”P¥ $H %$!™$&“ÉL¦gú+óÞ÷Ç Ã0-“ ¹¿¿’ûÎí¿¹÷œ{ß;a@@t(H H H H H H ˆÞnoi¨Es#Oƒ8px@݆f8·$eߘì15‚A·‚~¹@ݲ&cnL)Ï7u ˆë†a´Z-$DA’äË/¿ ÑΞ=‹ã8Ü :ˆŸþÙb±@u16½ÛàvÓþégöê+ŠÍäßk q·OâÖUk;ôآϛZôNÿt½Ú¾ûkµúî¯Õ…5ÌB%úš¢ú”vx¥I]íÖ× Võ!†¢|Ók".'~¥òcˆ=á¬&¼þD€!­?¶è]a¶°×›ñ4M;N­V«V«M&I’¬ž¢h\\\w7¨¨¨è¾ûîóN‘ÉdÉØšB%FyvÀ¶­'P.â“^u>‚ b›OºVÛoûöÓ<þUòjuÿ];KDŽw¥™™™ÁÙ¨Jß»W.‘úŽž¡‘jhÈ(,,ñIohèwèP}…‚°…ÖKÑlïcbbÄbqÀJkkkwîÜå“NQTCCCaaaÇÇqµZ‘‘Áãñ"##“““#""8N¸F`88pàÀÑ£G™®I’&“É?}Á‚>)ï¿ÿ~ÃY¦þDàrÞ™¬$pÊ?}Ççš?ÖÉ_rØŸÄÿª24Û}* ÑøÏhRÉÍþéò Ê…ÿô 5U§µÁZèéÝ/¿üRSS¬Ò%K–hµZÿtÇý-|¨ÕêÕ«Ww8ûuÛÂ4ÍÊ•+¡j|mà´™\ýÅsÏ>ûñе8ÍtïÆ0 EQN§Óápà8NÓ4ËS'—Ë;¶H’$áØÔÔ¤R©ü ´Ùl>‰F£QÕØè&ZÀˆu:Ýõõõ\žï/Aop9HT.7ûÉ—êëù¢«:îpÐ E‹ÙÆ÷®4DgmvZ©4¸ƒOºJiµYÅr¹ÝWÞJ«T6^Œ5` µÛ;­V«T*Q4𯺥¥E¡PX­Vÿs ŸAsSI¹1>†"€Ä-OΛ]r¡¾õ)É™;cÂ@§Óëõr¹EQ ÃD"‘H$âñx‚t@¬D’¤Ãáp8n·àp8x<^ÇÌÈsçÎÕÕÕÍ™3LJ(8ŽûH’¤O"Žãv»ÝM"‹Ã¿p7Å·Z]?wѱX|UWÊͳZí8ŹZجV„‡{W¢³É·Ùl|‹¯Þm·;H³Xp¿Nñív»OyžÚíB¶wN§Óf³«— «ÕÊårýu +ƒF“\¹úÇÍN–™·â³¢…› ~ô°‡+ŒËžé]…Ífs:V«EQ@Àårù|>—Ëí8áóù|>ß[e6 †åæ½ñ³Ùl%%%÷ÜsOÀGAøämhh(..ö/0&&Æ'19993+ËM€*ßÙ8bD&óÕøTGš#bx¹¹±¾òŠá#2…â«î¾÷G5 ËI•м+ ÑÙÃÑêìì”” ‰¯µ…å±dnn¢Oú±ØæÌÌø¬Ü„€-TÀö®²²2;;{ðàÁ+MHHÈÉÉIHð.„±¶˜-v—DͶö·o>üðË(†ÔWWJGX\\<â¦L‹ƒ¦|ãÝÿMŸ˜ï£KÔÕÕ9²Ë¶°ŽÁf³íÞ½; º4eÿÏ?—®ß¶×Ž»y¢h6qï©rêòwZs.+kû÷+Væ %áóºøú<\3þÂ… \.7Ä¥Ùl®­­ hLVUU)•JŸGz½¾ººÚ_Þß"­¨¨8ˆ¼Æf|EEEø›ÌøS§N™Íæ²²2o1—ÝR^qÑE'NžÚ±s§ä²¿yݪõÛö±c‘¶µ:ùοÜîhRzÖÜɹ»¶oœ?Þb±Œæ`wöìÙ-[¶°f|JJŠT*½f¼Z­~þùç>:zô¨¿¡¨P(–/_ÍøÐf¼A#Ÿ1i Š&Œ,«¨n}@“Ó&´îD(OðöW¿²ÉË—/W(>}ùå—!殓f<·7®Þ®bßçÎ’_Œ€'¯ühúÂ.ËÞOéÆ:\ áN}9€<Ÿ×*ÏPÔkìG¿'Ì- åeý¥yÉÓN,`{\èŸwemSœ¶îþ€ºxÂEÙD·>‡ha0|ùß÷¶:Éþ—&–\ÖJî¿]ûƒÑFÝ;cΤ[oîA'Ñ=?.tœÙ € ~åbëB¡}õÂÊɸÀè//J¶ª ïÚ ß’ À3ߎЕúÉ·lã²­®¿hÿôn¾ÓÉþk‘YÀÄ - †ÜÜÌæ"b“¬Y»v`ê³&>%ãÕ×ßî5Wݪ¹ì柾û¦¤´ hZ¿þmè@4}¶hv몀ý¦ÈŠvÈ`•«s(gëýCâh;_Xh÷‘ϸO¶{¯ 0ôñŸ&¶²¡‡Îiüãè€ÐAu †ñ‘?~æ 8Kû·'éNYa¡Ðø{šÓÔú%_ÚbŽ,.,Ķ0”™úýO?“$…a|`mj󾢺ºzÏž=ñññÞ‰¬lî:© Š¢b±8#####Ó(‘H0 ?~|ˆ“å²²²Ù³gû?*..®¬¬ô<"qGMM­9m@CC›øÊÂéûŽœt3 @$ø"“Éî¸ã7qå•Ö˜ÏÍGÖ‘ Ÿ3îQdò߆q‘alú˜Îmo/ÕPCnçÍùw\\Â=!ä‡ð­»?2MLþ<ΔçSÅâtŸJ}šBþêòGq‘Qû²Àaª>…§Ý,˜² 2bZ°²¯´\.ט1c‚™ñáàÌ™3÷Þ{ozzºÏ™mnnn°¹Óh4EÍš5«Wlaôþ­?=±è¥ÎŒ œE‹Ú¹jÃn–=(O°ð¥wÛ,eÒ?¢'ý#@zZ®ðÙ­Â0å‡O>½M!°|qïÉu1a¶°÷"ðæp84MSS“Á` ‚a˜êêj.—ÛØØb “ÉdW“§ë’¢AÛ¬‰ŠŠ²4o½þz“Ù`h·¼þ+?sÚ]{ŽœfPî­“¦Ä½O!2™lØÃPh”ÜxÍÆÅ¿/Ýë¥h¶w¥¥¥ƒáê£Âö¡¢¢bûöí>[Xii©^¯6w‹¥¬¬¬  €ÇãI$’ÔÔÔ¤¤¤ÈÈHÿ#ïN™ñá\ê^eÆÓäWï½#8\>k(*deI1€pnŸ6¿Ùh ³ðfü €.ì]ÌøN¢Ó[CmßðóÁc§QA´ÓuåèøÞ­/,ÿ=uSxdJ& }HΡâ’§ÎEŧÜvë¸H@t?bbbD"Q3ãiš¶µ^]¼`冽lʬY³œN§P(¸Ãçó(Áã ç<¾äÁéa/úÊî?(NêµÄÃ?ÜÏœNçæMßmúýòy¨0k串²²üü|‡sÛ½sާUÈ.¥šópNã5A^^^°» Hg|$:[ô/=·hOÉY8æ¹eoþýá™h÷0ÅcèÞèÕ½ë”$”Ľn³Ñdâ Åb¡.}V¢466ŽcŸü°¢¨ººÎJ»À¾/ ÔŠwß}r¢] Iò:Z—Èf³íÛ·/|y‹Årøða8ýp »B ;w†/o6›ÛE8ˆ¾«UVVîÝ»Ž5$Pa4 ëá~Ú̺^KII ±%u“{—ÒÒÒ̸;ƒ¹wé&”––Ž5êÚÔåù´Y&“%&&J$’ve珞V‡Ã!—ˇÞGÝ»tB»wé¦ï‚yiuØ,M3Aºfï£^Z!ÂúyÓdÁšOÆŸŸß¼'µ&GgJsZÌ*­¾Û·0Ö‰³Íf³Z­‡ƒõÒZ__Ïãñ¢££ƒ¤×ë Cyy¹ÿ#¹\®R©|©ÕjNç/o6›}›››kkki±‰®Š.€ºÅZHq Ö‡%í’onnØ„æsÝQnމFÃòl޼®VÀöN©TFGG»\Wƒþ¹sý3ÿ|Ÿý>S¥Þpxþìì¬ ÿs ŸAchšfE}eR.ë×+Ö<õü B.ê=qMMMååå‡ÏçGEEEDD`ÌYlÛêù°hœ›_u4Ÿ¡4;ÞþøW".Ò•òA“øæÚkI¹AÇ9^ÜÏ„üˆ©½ò±õð©«|ff´µbß}õÙê_7:äæµ«¿”Æ\ù&•+ˆœ9&kþ“/ü°òc‰ˆ×]+‚ †ÅÆÆÆÆ^qqªÕj1 ËÉÉ VF£‰‹‹ (`6›].—Ï£¨¨(Öí(Ûq•¢öhñq‹ŠÄ>’‰‰‰ƒv`@0ùæƒöAã˜G?§‘FâÛ·G& â%‰‚þ\Š|sž}Ð-ô£Ÿ3áÈ{*õnCÓßηñü…h¢Y=SÂKåÄsƒO$ýí|Â’WR€í]YYYff¦·{—Aƒ2ßy3ßäpçøðÜ©>4êšJŠKt-.„Ãc[»aõ‡\öÒªª¯‰‹Ï6Ð;ËþÂ5µgí=VöïõLœL& 1³½`úý·µO=ûJC³?ºì(»µY!8ÉVôOU‰N_'…üÆž²[›/‰N²½„…#l9QWð¢s~ÉSœD‡>FŽˆç†–oªàEp„) <Œÿø¢gSSS(åÇþ:s^E]#€(ªÕ¡ÇÓ½´²hª-]õͯÒôìgM½Öf|peŒ¬ò‚ªYOPŒâ’< 3¾UÞ‰S½¶°°0Ôâ…×:ZU~d\›^Z™ˆ¡Uç¼tUîB.æµmÀÆd^<ï—ä¥Õ™n®B„)†ŒWôI™‚-mâŠíw©Š#JÓ·)ÂCYmmíîÝ»½·Ï,}ô¯×ÊëZ=¶DÇ'y¼´NŸrДþ™S/{i½rDRyÚdw˜<®ªôhUé•ýõPÆår£¢¢®­O“_¿ÿj”H@ôþûhÃŒ¿Zþé§ÿÎ0 CSÜ9 œñSæ©Ö6ÍøM”[L®ðMÍMª3i4ãzZ 5‹´eÅšNšñK–,ill ”‰þïÒEì6œ•7ády]÷.Þ¹þØöëo~ÒS¼´Ê.”.û×V‚„3|ÂU c]eéçŸ}qª¬‹ˆyøYþò¹Ø?6ì;þ±RÁpÅi)Rè†!< Ë>XýäKošíÔÀýÃ<Œ©8}dÝoû«dÕ›ÿrÇÜI#»k cÆívã8îr¹‚ iš5öx<žJ¥ºj•ÆÉôiÅ% ‚rgÌê)·{¬šºiÓgÊ5&ößiwOR©T>ò3'ßâ‘G8ÂMW—ßjCY,Z­ÖM"qS«VW; ×––?‰µZ-_e›@bN¡jûèÏ ±½3™L†ÇãyH­V³ñnº±ZƒŽ¡OÔh{brb|é´¨T­ñV ƒÉdR©TG(ÆÄÄ (Êáp:N 6j‹@ J¥Þ=Á0l̘p} Ï`i±ž,“ ÌÎ{aÉ Ã§wx‘&±MI%ÖêÞ¥¶¶väÈ‘Þf|RRR^^^@+, ¶oßž››ëã¥ÕƒÇfÜúçŽÝÏÍšzÓþˆ×ù‹R© f¯‘/Œ–þïóÕPUéQøì—]› **«¦÷ò»æ+,3ž¦i¥RÉápB8ïÆsg‹åàÁ«Ìx½¾ßŽ¢R¾8Ü!ÐëRwî<#ŒBÛU©0`JÔ×§¹_ªin[ÞcÆ+ ÇÃ3ã# £qoˆ¢ãÛ¶{çV¯­Ù¡Ñh<ŽÆ»+fjòcz Ìø0¦t­0Nj3¾^Z»ð6¾G#33“ÏïѾl¹p’z2ž~úéÞÂ^I ±óø|'|ùqóQg{:ü^N\r;츛îB¥ý®uTƒ;ï¼³½/4vö@³3^Z»v;¨¯ÙÙ ¤Ê½´öX\oè“O@~>ص îV½ו@µµ`åJ€ã@§ƒ3ÑKq]u cÇ€Z ¸\0mZ›²Í2ÀÅnÌ9h®ñ@í…N>þF‰mœ÷'fŠ$qc(.$ß Ô^ƒòr •‚•+Û”ÅD ãÕ ¡ÔQ””šÙÙ 7N$Pûñ믚 øY/Æõ;by£RàŸKC@µE ë{Œ Ñ‹·0H ˆëM ÷Þƒ»Ô:¡¸\@*ǃŒ 8pj'6nII@«C‡‚/¾'®@íÄo¿Ç6àóÁGÅ‹‡§¨Z¶ ÔÕ……`æL8%p kæÌ?üP0 託?ˆ¾mÆ&N€-[ ‡ :„wÞ\.°ÙÀ¡CpJ Úqã@~>x}S 680cÃ×[¡ÖNÐ4ÐëAt4`¿ ›>Á‰+PØ()·ÜÖ®¬ŸG‹Î $P{PUärpî˜:x<8+@í»‡Â+UH B$€'€—‡v@àâE`·Ã‚j wÝ8pþüUß§¾ÿ>=|ú)œ!H ¶˜ÆŽ€ÚZp:`Õ*`·Î$Pøê+àñÇ8}:Ë^^Þ! ‚#7,^Üú÷«¯‚M›E»ïӧ ^{­õïÍ›ÁŠŸ¸ÐÿUOG8‰ö`ΰeK«IŸ› ~ÿ$$À‚+PØøî;™Ùz ´p!d\ÚÍ›ÁêÕ * ¬X’’àô@õlܸñ€ãЛ·°ëŠ;vÀA€ Š¢>úè#8Ù@MÓUUUp²! z‚ÇvŽaäúùƒ²Z­b±Ø?ž9MÓ¡ƒœa·ÛU¢Ùyàp8B ´ ¬iÂŽ‚ lHv@~<ö„@ž°sn·[«Õž?~òäÉ׫­_~ùåüùóãââ|Òׯ_ÿÐC…ÈH’d›üèZÕÖÖšL¦Ñ£GƒËaÔ%Itt4 ¹œ²%Š¢|>_*•zÂÎ544ètºG& ˜8q"7Ð%Frrr^^^’ßùО={B·Š ˆ„„„Ð2ñññíêšÓnµØœ±qñppZÒ•nÚù¿OVQ Pk7mÜp[F¿ä€[»±!Dããã¥Ritt4Çë+[˜P(LMMMNNfC‹)•JŠ¢:¯éõú#GŽ+gË–-“&MòŽ\ìÁÁƒo¿ýöD?¯ä'Ož Ý*‚ ¶nÝZfýúõÞòòc³Ÿ]^­P3Hûç5Tÿéy´mKuùø~î“/>ºðŒãKˆ¸¸8Fã)¥Š¢7˜B;gÍOèC ø\n8ñÏ–-[öúë¯GFF|Šak•|Ê> ø”Ãá`æÿ(DiÞ $èµG‹3X‚¢W÷+K^©R¨Ùÿ¢ûyçMLJmé‹.†—7vâÃs§¤Çãñx=}ã <‰ïcšzàÎÑጟ2Om´z?\°`A°¾ùæ›UUU¡GàôéÓ;vì`únÜwFr͆„› (wÁ‹¯ûiFœ ûެT0\qZŠÆ[¸‘·0’ Ü4#“ÉÚµ…7º¬JNÒÌðÑï™VÜ{Õ©@§ ÁäáÖ›¶0ƒºnƤ±(\¾¨][Xg·°Þµ…ѧŽì߸uƒEè-Þéÿ|î™í‡N°ÿâRÅb1Ü5zÏ0 MÓ4M³\#‚¢(ÇÛ,ÔívL’ öžß“²úý——þg«¯dggã8~ùÊÚM#@lRÿ¯V‹a˜±>¥u £i:X™¡{׺ç’$I’™¾x诹\.š¦Ã¹ÊhhhØ»w¯ŸäÞU¸©ZÑPŒÏç])‡!–¿÷5qÙœÎqË<£.!ÑÅV‚ ±±±rEƒçŽzÎÏ—Ïñ |!”Ľn³Ñdâ Åba/pÚòÆo@ +¬Ùïª VãÏ?~_­Ð†¸£†€‚€¸ ð³H H H H H H H H H H H .AAAAKKK7¾jÕ*ȆžB ‚ :|GKD°GgΜq²±|ºÇŽƒlè)z÷Ýwm6[‡óº¼#ÏAôAi4šÎÜn·.xloFß0:P(˜L¦Ï>û ýPN6I’´Ûí6›Íår¹ÝnöØp>I1›Í2™,"""ššš.^¼,ouuu@Ï:ƒ¡¦¦†õüå6½´†ƒ–––`Mê|¼´òx<±X! ½ßôí[+F£)**ê}X³fMOkRUUUqqqŸ^Xç´†y|ŠD"…B‘Ýf¡ÑÑÑ™™™‰$àSN¬œèè謬¬€.îââ↠âï¥5DiF]SIq‰Éá¾uÂÄÁéÉ!Ú,‘HÂéZ˜p8|>¿ ì}º /?ö×™ó*ê’VמìÚòÕ%åθ»ò‡B(°­ät:5J¥2AètºŠŠ A‘”ëêê~ûí·î]ªªª ‚åÝ´iS@e/^ܺu«¿{— .ø—Æ0î¯Þ{«¼®±uAu“ÁjdqéÒ%£N]+W¸iœ>`@jààeE¿þûÔÄéS}cãÉåò––«Õ @QT$%%%¥¤¤ÄÅÅaÝ»ôeEŽ3ŠUñ²ò&œ,¯k×—„uJr¥±óœ4ht°\Ÿ,}fPÞDM Ý»ôT~ÓäÖõ?|ÿóF£Ãmµ9–,YvVdàଢíÛÌvjàÀþ—Ý´nͪ‚-»,".ÖËý4ã~nñóžÕ+".°ò䯭›wlºTïºp±6qìMp þæ1EQE¹ÝnkÏ[,–6 %IÒjµ[¨m6AÁÊaózœÕ~ó¿§_}ßã»Ãf³ùgÄqÜ?‘¦i’$1a¤TlAêzëÙG¾øe·›a7çßæUcu£¬[™ÃƬúì퀭ýõ³×Ž]ÔÍ^ôú˜ì4»Ýîp8ØDÖ¥ —Ëår¹§¹wÁqÜ`0èõz‹ÅB’dss³\.?y2ˆ*ʸOïûfíz‹ÇwO™# vâ¢Ñh¼ËqÙMë¾ýæð‰s ÊM&:uªõˆqñýFŸÃûûG}}ý¥K—| T©Tþ­¢iÚ`0m- ¯Ù¸‡eÊL™ó ·°@UT´t3bcן<©÷/¡_î¤aé…·ŒH󯥦¦Æh4²,ë©>666>>^"‘°ñV ä‹“» â#[mo„#*=[é/C¸ìΟ)«ôÑ–.˜Æ¹<¦ÃrF:NÏ£3GvÏ9íŽÉ÷|øÕZ«Xuˆš?~èmY÷õ´{ïš:cöwøø{Ó¹Âñý[^yû èAÛ¡ IDATâ® PP´[om½*¿mêýƒ†fú¬û·þôÄ¢”:3ÊáÍ;×k%p®Ú°Û³,zíCoC/o½›&ÜÛM?ž™ Ï\°¸cyݸí…'æ­?P6&÷¦Sõ GgH ä»´ËKkÆ€!£FÓ™l©™ϼãÀ®mWm[º¦×–½ªi±h7©3µxû@}äÁÙ¿Ÿf8üq·ONá[C¸S ˆ€^ZišV*•í-ʃ^ZY4+ë¿ß´ç‘Wþ{÷̓”g(ÏúšñÐKkÇÍøyeeI1ìövû´ùÍÆ®ô%Õá-¬3þj/œp)©^Z¯Ò‡ä*.9qê\T|Êm·Ž‹õú($C‡¾öâß^l¦íí=t/è«uÏZÂA$É0ŒÑh´Z­z½¾c5‰% wL¾ €;¬¸ÃÚ…}p8þ­b]·v¸µáä}|É;=ãÄøI³Ùl±X<é(в‹\.·ÅL%IÒd2±¼¡(Š$ÉÁƒwá;]…ñãÇû·Š¦éμ¡Ñù·;âââØXöÄÄÄÄÆÆFFFö¡˜© 99999¹7vÌívK¥Ò &t,{gòö)ܰŸõ (úÿ÷ÉÉѧ „ ÈØ±c;œÝÿÎ"ð8Ã7ØB§Ó%$$Àq€‚€[$$$$DÂÿå”ë[d¹¤IEND®B`‚nted-1.10.18/doc/docimages/line_dialog2.png0000664001041000007640000002250711520267216015302 00000000000000‰PNG  IHDRÚØÕýÐsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ5&ôiÑPtEXtCommentCreated with GIMPW IDATxÚíwxUUÖ‡ßÛÒÛ’P" =†Ž…2ˆ QQÁ‘ñc”" Š,#&‘T@qÔqÐ(ÖPŽ¡ÇÐR¤Ýôܾ¿?BBB*B€õ>Ïynιû¬s²Öþí²N¹¥}o}¨ôAŒ߬ÖèËD6rì$ñŠ 40}o}HíøfµFÓ'jŒ9vg²óÅ+‚ÐÀ¤L"ùÀöÒ Àb.¯Â%¢F¡¥&l¤·___ìv;ÉÅž´¹¾Vc…Ùé¸äì'5ÏIhŸ[Å»B£Q—ƒ¥èÂGe®ž>xû6kp;5 Íj1Wú¢Y»”œÞÍ#wßN§#þËõ=“‚‡Ÿµ†l–ÚrH³+Z„ö¬bO.s1–¢|»v½à}øj«Ô ¡ž\S¯zW×þ e§v¡ikVr«ë’²=7,8yäzøâa ÄÏšÆÁ”LÚt‹B«Ó×ï„ÎËf1“uê8þAa¥É³ø{Ù±kù9gðmÑJj‘P¿žä¼úûêä5–nq|µû×f§â>Õm«é<êÝ£èô.FD’¹g=hµ²îBë€ÍQ‚Gp_\Ü=/À1×Ê©Ðê´x{¸1bP´ÊFžMÇ¢Ya_Ò)<Ü\nÕŒ­ûޱüó_Ô«#v£™éÙù|´a;Ž¥ãã鯣Ñá:ž•Gì‡ßRXl‘yµ M«½ ž(qïV:õìWeÿÚì¼:yÏ/ù’ùßU§:„VûØÔç9ž!}±$o§Øâ@éÜðÐZÉÔ¶$(°í·@•7Tß:lVl–ÒË íƒšóÎê¯Ö¯;{´gÝ7›iКGGôcÓÎÃ|³éW1˜©Þ“1«è×-Œ.íZ²ðÃx2²²èLvÚ1\|[£Õé¤V^µCǪõwÔ„ÙU¶ý{YL•:X¶uvæüs=¯Lº ’ÈÊlWgç÷he8‹sp*°(¡þ^¸¸¸`ppÁãÚªåËÆÇUËnÙ} ?mÅhô¥{çP|Ü´„· `@¯Ž èÕ©|ßfnvÎdç0bÈ KËd_R%:‡ N_1‡#\=]h«lç>«ß§bù³"«ÉΜe_óʄ۫ˆ¬Šmöâæhy§’°çÃî€K1V«‹ÅÖ, ³ƒðö¿®þŽ©æXecäó),*ÆÍà ½Á£\¤N‡€·>üœ}‡—GÏdfs"ÛŠ¹¸mŒtïFä˜ÍV¤˜@§A#J»fz´ÚFjUz"­¶F;?¼J¯8wù†êÏ£i+µ 5,æÂ< ŽþJ±COpï(šuH~a EEEØmVL‡7a))ªÕF•hnôá‘{†rd/îÜWW—,}¥`סRq ÿS_Ú…†Ò³WOfLzßÀ¶ô #¨M+ö;Í΃¥åDhs¿%»Ó:¢Ûùyyü;ÝD~Êvzwh‹ÃáÀ7?Ÿ#Y'ñ ©Ó9zƒcàu¸zxWù®Y«`\Ü<ÑêõƒqõðD£ÑàåÛƒ«+w´züü[a5û¢ÕÊ{RV»§7^‡Ng@£Õ¢½^ÞàrQ$…&Ü£U3’Šè7ìzDÍÙ©n[™ Jï[ ²ö(â÷”Z†F£­š×è´¨€Š­&:·oGAAêx2Ç‹òqõò«õŸÓé´«O xxŸÛ×ÍÝ«ÒwnžÞÄêR­P 5ÜÜ)\•Jƒ‹i@Ë’ e§v¡U>@Qf GJrpoÛ½ÁµFÛnž>È)"õ×ý˜Ífl6ù¶b:ô‘ 4 Þ~ù$ôë×O¼Õؾ};v»]âÑ„âa09räÅ -//¬¬,™[5²³³±X,&½¾îTG%ú÷ïO^^111âÕ&@ll¬Ä£ ÆCæh‚p%ÌѪ / m|”\sB“À7.Ò°]ÈÐQDh‚ BA„&"4A¡ ‚ Bš "4A¡ ÂÕŠ^\pé±Z­a2™(,,¤¨¨¨ÚõY³f5èqãââðôôÄÓÓ///ŒFcµë...$ZÓF}×Z+zÙzCc2™HIIi°ó«ïº÷*Úå†Ñh$((¨ÉV¼ØØØ÷Ÿ÷ š£iáââ‚‹‹Kƒ½¢]„{‰…¦©ç#ƒA„!½lµÙlõ:®jÀÇÁ$ë(WZVß@†’LºÖ¦—eŽ&sƵ65¸*²ŽW‹pë›%¬/ÑÑÑ" š÷üõ†F„!Bá6 }§‰ðÇ‘¬£ ˆÐA„&‚MDh‚ BA„&"4ADh‚pYøcw†ÈO Â%šü6š ÈÐQDh‚ CÇêÙ¶m¹¹¹ÄÅʼn·š7nÄl6K<šP<ºwï~qB³Ûí˜ÍfL&“xµ PRR‚Åb‘x4¡xèõu§:ê,Ñ¿òòòˆ‰‰¯6bcc%M02G„&€MDh‚ BA„&"4A¡ ‚ Bš "4A¡ ‚Mšp‘('%ù'HJ._4U¡Yó÷1ýA4÷p¡uç,Þ˜.žm"¬ÿû´÷÷¢Yè,Ùr¦Ær3ÚúááÛŽ{Þ< Nk’BSví5íˆWHÎ-ä‡wF3ë®Û°Ê«E.;‰+îgâ·Íù>)‹­KïãÙÛî¢ÄY}Ù)ùü-Ìa“:ˆã.ýûhEg>`mš¶‡Ð%òIºifasä¢_FfÎ\Ï‹ûÿEˆ¯ ›ÉS¾óù,«˜‡<ª”u˜“lçx;_q\SìÑ Á’ÌØ·6Ph³³wÝlŽvyžËü©5z· Jœ¥ÝÛ}}ŸÀiMã‰áÝq×ë‰ñ+{2håïfO¡­R€uZÜ«o[Ïl›¾ÕÓdÚÞ$…æâÓŸ×ú·dÕÔÛðv19/—­?ÍÆÅû&>x¢#-º½‚»¶ô=*õc>û'VjÇšo¿e\›ÏytO&Ón¿®Öãìß¿Ÿ¸¸8öïßÕ®—ýÝPŒoçü±1œÈµpbóÛì¾ÿ_ôuÍaà--¹nÈWŒè7€MsÁçúÓtkã‡Þ­ãÿY÷¹HLQhfܪöøèÃeü52˜ÜC«ø9Ç ÀîE‰ôý[dyÙY#ïÁœϸO3ãÛ1rÈ&Ïÿ:¿HF6w«óXç¿'ãj[ohnן0çÏü)È›Îw®"æÅÛк´äÛ®£ë´†ü€róÜŽ Z„ÞÈ7‡38ùÓ>˜~?ÎzCbROúDQ¯¬Ü¨&þ#^}áe2™”ÉdRkÖ¬QJ)£¢££UuØK’”±Y¤²8K׎"u_ Õ7.A)¥Ô0£›ZŸ]röK«zòÖOÔñuC”Þµ­²žÝ'íÇ1*øÎ J¨µÅ£"{↫›N)¥”²V#™s/¾ƒ»f}Äìë¼(‰{‹›wŽ#Àí=ZwÈK_îcBGIó7¡t¼oûï›Wíwa¼Ê¡^­²}Ф86O*[›MÑ| DCpÓx6_íwç~©¹çÖÝý‡ñmBª8­)§÷A¡ ‚MDh‚ ˆÐA„&‚MDh‚ BA„&"4A¡ ‚ B„+›:ïÞß¶m¹¹¹ÄÅʼn·š7nÄl6K<šP<ºwï~qB³Ûí˜ÍæKþ~ ¡~”””`±X$M(z}ÝO›ÕY¢ÿþäåå#^mÄÆÆJ<š`ÈÒô"n˜Ó·|}9rpåB^}sIgÇóÊžË}÷ßÃÐÈ?±xû§Ü}SZ‡ÜÀŽÜ þ1õ"BC¸ã™/+ K‹Y<óÿy;s—þÄ®˜h–ìʪõ\öïßO\\û÷ï¿"×ln–öI%vÆ<V>gŽÝ̯/OfÌ£3Ø”V:Ä?½y5Ï ïÉM÷ȸ‘òbô_ÔïUÖL'_}“†DðÄŽŒÒ¸–$òfZ昻¸çá±D…±:¹°Îs‘˜4Ð2÷¼„-óÎþùé-Ï£mž‡¦MGŠ·¾F·°HKìhô~|´tÍ(VJ)uzûÊÕçFåT×6õ‰‡RJÍ öU-o\U¾žw쨲ŸužÝ|\êõÔ¥”CÝàí¢fîËVJ)õýè0åöŒRJ)ká^åaðPÛ Jcùï[Ú¨o(·¹mÚõÊ/ìu‰Gtt¹^Êô3ö…ÔÄÄ«{§½¡úDQ Ò£Ål9Cð¨qä[ËÃϯ¥ÍÙ ¸Fë†ðôsà×6::†Ü¤É"€•cÛŠ—_ü»ßÀ¡7Öâ4Qþ¥=Ø‘· ¸)É[ÖÓšÆßS èþÜ€Ò”~vå—< wNí ÀŽ)ÑlÜÈikiJ9cûsXô­xãO­pÚ²xò»4î˜V:¹>ôæ·ø…Í¡¹^Ká©%ü;¿9q7°tú·Ø ì»ÞV>W›óÅI¦.̧ӢqJÜj%çÐK;œDjY–ðGã3ˆ¸NF–ÓÄ<CÔ‹ñ´rѲ5ú]š‡¿Œ§VƒÅ´ 9fžÀGob@Ü$,~ˆosÌ8{±€´fóOS0>ÑE~©³ŽóŸžÓG¿¡MëÖˆ{žg[Þʳ³ÁwrÇ·læhF/>ù 3>ÚJw=雞"Mù3¯½ï¬;IÇ——^&(Ø‹‹Ïͬ~éÏ8y‡Ãz‹u_•¸ñ+Ò¬N4kž`c¿—¹_âV}OfÏ"ú¹¿cÚ—@×®]Y5w&ßÿ•ùÓïaÏê3<;i(-ݧÆ3Tiâê{k|eXi%u'>ü,Ãnôîߎï–=Ǫ[_d¿;ýþý ·ÝÅý}Z³g_ïoÙHGw½8þR íùùóù¼UiëÖüÕÿÝ>­Y±ÿ8Ý[—^[óïµIà}öÂõòÙ¸º—ÕØñâW|‹_×ôõž&ió lþ½˜qóÿÉ#÷Dñ¿Â¦G…JÔjžè[ðÚk±Õ~6|ˆWݾ`ݹ‹ÖÍ#æ°vå¹ïF­Ù˨ e[}–ߎN%3«ˆþFÆ7–Ðj¢yø`¦„®z0¯y[÷8+²ÒÉœÈ;ï¨TÞØ©#:]é7Š1¯ËÆñÃåHï ‚ Bš ˆÐA¡ ‚Mš ˆÐA„&‚MDh‚pmR罎۶m#77—¸¸8ñV`ãÆ˜Íf‰GŠ@÷îÝ/Nhv»³Ù|I·.œ’’,‹Ä£ ÅC¯¯ûÞü:K,X°€Î;‹W›‡–x4ÁxìÝ»÷â„&mZH<šf<êš$C¡¡ B#PëÐqíÚµâ!A¸”B=z´xG.µÐ¤7„ £¶ÎIÿGw¡z´áÇ“››+„@²Ž‚ Bš "4Ah:ü¡W‚FñÜe ¦;öýüüÄ9ŒF£¹ '(þð»÷•RâíF j]H†¸ñذaCãôhܦTAæh‚ B»ÊæmòÙ°Ÿ‚­’ÈÊ&†òÙ°ŸÂÕAƒüaS«ÿÙt˜eñ{°; J¢4yÙ;”çÇöoò©Øx]jJRS94kÙ›7Ó~Æ ÚM™R¥ŒÓlFc0 ÑéD5—KhY)êÂîp²øó]ümB$žn®8”»œ ò‹íĬøï!´ÆògòŠ$¾ò ×N¯gžá‡7Þ àöÛñ +/“¾n “&áLß/¾À­U+QÎå:^n‘KÏÅé,í±Ê.;øzºñ˾6%¤ð¿½)|»;O7WÊU‰Æ˜£9m6̚Ű3îÞ7OOºEEqxöìò2…‰‰š1ƒ¨Y³èrÓMl2„¢cÇD9—kŽv¹Øô[2O¼þ5Zméµ&FJáT`s‚Õ®°96»Âlµ¡Õ\?qÞ—Ö`À£MÌ& òó êߟ¢ÈݹGQ»x€ÆŒÁÍÓ“ ^½è1t({~X”s­ôhJÁ{_íeiünÌVǹH£AšÝ 'ØNÈÍ+¸bÓXW§ùóùí«¯ 0eµ¢ÉË£Ç]wqhæLƧ]´ E ,puEçê*ʹz´‹ÙËþǾ9<3vhå/5 §*—ÕEf”µ€ðWL`«ñjyÇØõz²BãîŽ3?Ÿ€ˆ´ œ9C‡!Cpž> JQ\XÈîÏ?§ûŠ R?.E½iª—E®¸íTVã¬ÇÛ×—1·ßˆ«¡4Ÿ3ø©• ~j%‘O¯B)˜öF<_oúMÛð÷p3a-üܫسZ­<ûì³ÌôéÓ±Z­ÕîðáÃôîÝ›XÑšz…é²`{ãã¡ysp8p¦¦2ð¯åÆ¿üuô(*#‡ÑÈæwߥ۲ex´kW­ï¿ÿ£Ñ(w³TÕuÜu$—?ø™á{Ò%´%¿§Ò=Ä—w¢@¯½Nƒ‹\ :\õZÜ] xy¸¢Ñ@v^1‡³|.WFll,ÉÉÉìܹ¥“'O&66–yóæUž nÚÄ´iÓX´hýû_ú¬ec6^ÆoÄ£cGÒwî¤eÛ¶› 6*?gz:ú¡CÙº|9×M˜€ÿ!5ÚY¾|9wÝuï¾û.Çu]‰=ÚÇ?äÕU[yàö´lAÒ©BœNÅÁä<Ž¤æ‘˜šÇïi¹$Ê#1ÕDbJ6Oœætv™¦BŽœ<ƒRUoÐýøã‰‰‰Áßߟ€€bccùøã+•Y³f /¼ðëÖ­k‘5væ(*¢èäIô^^¥×­Vœéé8Æ0x0ûããÑ…„6mZ6Nžìܹ³ÖíF£‘Y³f@bb"QQQзo_¶mÛ@BBƒ ¢E‹•üµ`Á‚ƒƒ +ÉTM6ŒFcµå¯É9ÚËüÌ×;R3âl8‘Y‚4Z-­РÐàT¥É‡Saw*…¢ô‚µ^§Åb³ãîRù‚ë™3g )_ !##£R™™3g2eÊÚ¶m{ÕÍÑPн»ê²ŽG^~}^† Á™%%`0€V‹²ÛñðõÅQXˆ-'§F‹…U«V1nÜ8ŒF#ãÆcÕªUX,–ò2þóŸqwwgìØ±$&&Ö¹}Ô¨QèÎÞ…’ÀäÉ“iÙ²%÷ß?III¥ç~ä<ò®çeA}ôQÜÜ܈ŒŒ$++«V5•¿&{´WÄÐ^mXÿì´mîAa‰ƒÔl3yEvÌV'v…ÝQÚ£9œN z-¾žî¬þö7÷ ©dû`öìÙdff’™™Itt4>ø`¥2½zõâ‹/¾`Þ¼y¼ÿþûWM–þŸÿµn}zç®](‡ÝM7aëÔ Ã­·¢rrЙLtŠâðœ95.kóš–IDATÚùì³ÏèÕ«&“©|éÝ»w¥†iÍš5˜ÍfV¯^MÇŽëÜ^ñ§"""X¼x1§NÂd2‘sVô;wæƒ>¨$h­¶jµ®ÉFMå¯Ù9ÚØ¨ë™9æFþ³a3§3³éäN«!²{KEÒ¿k 7v w‡º‡Ð5ÄŸö×µ Øl'áèibWmÂËÝ…‘:U²;{ölÚ´iCïÞ½éÝ»7ÁÁÁDGGW9~çÎY¿~=‹-âÍ7ß¼â{´üýû94ký{ öíÑžŽ¾gO~ÿþ{¾ž7‚‚tíÛãØµ‹þý1mÙBîž=ÕÚz÷Ýw™0aB¥m&Là½÷Þ+_ONN&44”%K–°páÂ:·ŸŸdùøãi×®F£±Ü7o¿ý6«V­¢U«Vuú«&…¦OÔ5rì$R2ò(Î7±èéõªJ©ò?ó^Ç”Œ|f,þNBè×£=Þnzž_ôïêÿ9 4óq§M î¿¥ º]wÅe«6lØÀ˜1cjmÐüüü.ø!ÜÝ£G@«à`l?ý„!2’Ó'N°ÿçŸ ž2…3Ë–1püx¬ëÖ¡ïу3……Þ»—›øášÏ –Ť¶:?õÍx<|Œd¦%ùÀö+ïîýë|x/úNæ¾»‘/ÌåžÈÞüoáØï5.ç=œ—ºñj1t(‰Ë–У†[o¥ 7—=ë×só?âDò²ed&&Ò,<{B­FŽ$ñçŸÉذ€óR÷µùQ÷9;¾*Åùxºøû‘,ýb7ïý§ô7„m6J)4Mù¢Õjk}ßFS®—úÜÚ>ö¶¼<6/^L·Ù¾~=áï¿ÆßŸ³™°ùóÙ;e CgÌ@€ÃA`h(¦]»ªMÄÔHBk,G;Nl6‡»ÝÎèA¡´ò3°äË‚J“Û2‘ét:t:z½N‡Á`h”‰oSo¼ìv;v»À‰±êtìüðCZÍžjßþœ;vDBòÏ?ÁžO?%ûÌz¼ú*v»½^¿Û,\=šÝnÇf³•/eë݃½™u_8&“ §ÓY.0½^Á`À`0”ÿít:qqq)O7e.•?+úÎf³Ñl̼ÍF~~>v»½Ü>Ó¦±oâD~ûæZM™Âõù Z77l6[•Ì p•ôhZ­¶ÒR±×j×ʇÃQ>t,ëÉ*–«ØÃ]Ë=šN§+RÙR&˜2•û14”N?ü€þlc¥;;2Ðëõ"²«µGÓjµ¸ººâââ‚Óé,_ìv;‡£\heb*ZÙç•2d¼ÔWE?*¥p88ÎrÖäÇŠ‹p•ÏÑÊæ_{&׫ôÙ¨KÝxUL —ž½3D>îS2y"´{4ù”WÍ —`è(ø Â%šæ yÉ͵‚4z×@2D¸¼H£w• MæM ‰GÓGr»‚ Bš "4A¡ ‚M„†¥RzßÃÇÈÔ7ãÅ+‚p‘xøkZuAhÀ-3õ¨xC.¥}o}H‰+áÒ°ã›Õšÿ0ÔQûaÈHîIEND®B`‚nted-1.10.18/doc/docimages/beam_button.png0000664001041000007640000000132211520267216015241 00000000000000‰PNG  IHDR((œ/: pHYs ‰ ‰7ÉË­tIMEØ 9µ¡ïqIDATXÃí–OK*QÀï™;Í .fSb‰ˆnŠt%Õ¦•AA´éø!‚ü~iSm¢µ¶ËU)¡j£ˆ8‚ãŸ^ïÜ·°?oóQŸ½‡gw÷ÜçÏ=ç@³ÙD³ÍHæà9øÛ‚»]8;²Y<ª!?ªišÅb±Ýnކoo݆ѠTh@–eY–' ¦”><<”ËåUµd2Oºžÿonnث݆£#Ëþ>Q2¯êÉ‚{½ÞÅÅ! ¬ªªétzò`BÈõõ5!ý×W®Pà{×k¼¼à~U*•L&3•P›¦É»¿çÃaK³ åɉxz*ôz0¸0­ ``ŒÎÏ„ªB"Áïì«•M«|ÊÒ;>þ YP:¥¿µÕÿKU½ºJI¡€uB¡.7Êcü˜¿âà —HðÛÛý•s$ÃqÁN§yuõƒçqLŒ @ û—:×p)¥FC×uƘÕj]XX`ìËÅN§óööV*•4M“$Éáp´Z­ €5M‹Åbñx¼\.Bìv»Ïç«V«3±‰D.//UU¥”Àâââúúz0œJ¥"‘H­VxY,].Çq¡\.F?]dŒÕëõ»»;EQÆÍ±ËåZ[[“$‰çyŒ±Ífs»ÝápXE„Ýn_^^áë9Žóz½~¿xU]jµZ2™,•J”RY–766<Ï¿‡*›ÍÞÜÜäóyÃ0DQt:»»»@¦» æU«Õ"„`Œ%Iú=ÓÏú9ø»õêçç癀aooožãÿü ]¥Ýcº~BIEND®B`‚nted-1.10.18/doc/docimages/insert_and_page_button1.png0000664001041000007640000000460211520267216017544 00000000000000‰PNG  IHDRL&ášê@ pHYs ‰ ‰7ÉË­tIME×6§ú !IDAThÞÝYyTSW¿÷¾—’@€Ö5‚¢€ˆ´EŠhg\@ì´cÕ¶3µ*:ž9=µã8SÇcñ8ÓÙ´Z9o?Bé&EF¸âƇ¨3 Ó kdhZ£ qss\¼”“—uÁ¼ŸÏLš9azCHòüb‘ÈO©xê~ã–°¼¢{ý‡<Žð_y[™N¢¦¶î⥹\¶xQ¦D"¹W\²cç.Š¢²23ge}Ûÿö÷ððð£Çއ…†úû«Ÿ)={LžèÝJ¿ìÿÃØ,Ë×çÏÝ8òßã_ž> ¸v½P­&Þ^òÖ™¯Î565]-(ðñö^›½Êd2éÛÚœ‘9Œ$ÿ¤ð,´X`¿õ›M–ƒýæ‹ÅxþÖí;+VÿæóÝ{ômm<Ï ùÜ~±¦¦æõ6.þÅ/¯~W`µRuÍIŸýéæM‡¹ÿ ŒÔë#´ÚÄ„x©TZ\\rábÎÏ^Ÿ«&TîîîNn]†™« {½A~â4êê<ïVV†éÛ<ÿúO€aVéÛûÞrÎݽ¥…¼œ{%7/ÿÎÝâ5ÙL‹!6iÎXëÉS§[[Éøø¸Ïþñ¯Ý;wÝÜ(Êš5ùØñV‹Õ××W*•†ݼU]]ýñGò1:Mâˆõ”s^žœ—''ñ8Îy=nʤv<Ï_+,Þ EUuõ»Å÷¹ìí·Ìfsqé½½FЦ8–CÂq\"‘LŠÐ.yóè¨ÉÕ5rMüÕjµeeUҌħþ4Mçææmûó§r¹l´é›!‰?}òûövCƒ®±§§‡¢h¡PàááN¨T!ÁAØ$¾ÜÜÜBÕ Óq÷´üV’dY.2bY|˜› iÞ.¤$ÁAAÁAAŽÞ&ÍHt1¹ŒáÇ0cwMÀ±,†•pgIªˆ½ž$Ôþc4’^Oªˆ€q!ùĹSÓæäçå65êX†áŸ+X†ijÔåç妦Í’°Ëð$úWW–¿—°CHâ!>f[ M145n>YS^ ^hüõ¯Ç6SߌIEND®B`‚nted-1.10.18/doc/docimages/copy_sym.png0000664001041000007640000000123411520267216014606 00000000000000‰PNG  IHDRoUtsRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÙ .ˆµtEXtCommentCreated with GIMPW÷IDAT8Ë唿ËqaÆ¿ÇoYŒN ÂÀIe’Ù_`—EÇ$?Jì–')›?€ÁâçŒc’…C‹¤(…r®gz”—GOoOïò^Û}wÝŸï]×uß Ð/IF¿¨›L&‰DÈb±J¥"NG‡ …í÷ûŸÁP6›¥`0Hv»Úí6N'Ún·T*•h³ÙÓé¤N§óLÊÅbØívøN‚ Àd2¡Õj=ì?Àêõ:ŽÇ# Z­ÂçóA§ÓA¥Rã8|||F£ ÃÃИËåB·Û$“I0 ƒx<A0NÑh4P.—ïþh4Š|>ÿ [¯×`Y’$a¹\B&“!‘Hàúý>¼^ï}}@Eâ8ކ¡Á`@’$Q(z[Žãh±X¼¯Æív#""¥Rùw=³Z­4›ÍˆˆÈãñQ·Û}{x6›‘Íf{] §Ó‰^¯…BÐh4¨T*÷tW«šÍæÝÏó;;›žž^ZZꘕ¬Ð--·ßzóßÅXi+tK4*ÙQ=$/˜·ûÅ< y‘l‡††âââ²³³ÓÃb±zÆž/g'#„àqŒ@Rgç²³gLËb±ÕÃd1¡aÈ^µ†˜,&f¨¹¹999¹²²’Ãá8\¯år9/%IÊÛ¾\¬L¿hfÖ=­kÓétÌúfUV§M8‘ h°K‚ Pø”ÎæNGÓn¼?t:=ö;¹eZg2[ÿ&srËtì6æ¨+õmŬÒrâ9ˆÆuÝŒ"œxŽiWÌçó±ÏÆÁØÁ_+øNFÂ[|HnD€K—€  ‚ H€‚ H€‚ "‚ "‚ˆ ‚ˆ  ‚  ‚ H€‚ H€‚ "‚ "‚ˆ ‚ˆ ˆ>‡O— sö¯¡k@2ˆCd3ö½üº˜´˜®A´%ÿ4ÐXOds&¿Ü·š®A\{sn’Y§.²ÑgAD A A$@A$@AAADAD A A$@A$@AAAÄBÛ|¾üOü狨Uë¨uâç†IÉÚ¿ SG=€ce¾ÀšÕwcÓÞ?0;Úõ¶iŒ­[·bÆ ˆ‰‰a½\]]©§$@¶¢©2£âf!M¡2–)ŠŽa^ü@¨ÒRñЗۢ1þúë/=zGe• &&±±±FQŠŠŠ‚õ`‚¨'0º&<;r6K| hZ®â©á÷a|Y2|„·¾¹*ýG$âg$c.«¼¨¨EEEØ»w¯±ŒÇã!<<œ%Jqqq Ç£žM™ÃåoîÃ÷¹§Øo®=Œ«/âÌ[ñ·|cˆê¢á)f}V«Õâòå˸|ù2vìØa,‹ÅˆŠŠb‰Rtt4üýý©·$@×Î~æ¿vÄø»Àþ|¼}3îé_„iwÏEºR øûƒ§¡Z~BέÛ:ŽŽŽ€HLLDZZ***,_Î65áÂ… ¸pá«ÜÍÍ ±±±H$FQŠ…››âö š´㔼Àå;ãó“'±` ;€xüòiR\ÂÇ% ¼æïxË6—ËÕÛtäÀô×§¦©©©ÈÈÈ@ZZÒÒÒ‘‘¹\nVB8ÞhD9êêê’’‚””Ögüýým¥˜˜H$ˆÅbÄ­-@—ÞÞm|óâ®VñÑtßR U€`ÿÅš[Z€:ÂÃÃãÆÃ¸qãXåÈÈÈ@zzºQ”¤R)T*¶-#ë±Óp»;àWcy}}=Nœ8'N´;®AŒ ç/‘H`ooO#è[R+ÓïŸïÀ¶£V^b…c<&¹õŸÖh4šve5558räŽ9Â* 2ê¶Æc‘HdÖ±ÜÝÝ1fÌŒÃÿ«W¯ÞQ’J¥hiiîˆÂB´ –%@QZZŠÒÒR$%%™æµ\®Ñ¾Ôöü#""ȾDÔ{hÕå]þ]–³Þø^è4s¼Ä·¥uFaa! ±gÏÖ2Ìàœ‹ââ0ýr—aÌ®700˜2e ë¼rrr°ó›¿Pø¡^¼x @^^´Z­EßQ§Ó!''G_ßΦ6 !‘HŒ¢d¦   ¥$@¶0™f7:´Š=ú†é©LÀ”woù°}†aô¾•@hh(òóó-ƒPdee!++ Û·o‡‹€‡°zõj|±»È8¨ O·|}}Ͷ/EFFbäH ?"""°÷T6ššš •Jv%ÃÏââb³ÏY T*9.]º„K—.±þîììÜN”âââàááA£—¨ûpx¦ÙpÛ86×&c~’©?óÞð[¾!8%›› …B©TŠÔÔT¤§§xwœÕj5Ο?óçÏ³Ê Î‰mEÉ’àW±XŒøøxÄdz½ÔëêêŒbÔöüëêêÚÕ1©PA†ˆëðr¹§N©S§Xåýû÷g-áâââ ‘Hô× ºÞï,P©_‚Yƒ·8‚ÒŸÙ³gÃ.b Ñ^“ŸŸÎò„oƒ³F£1.íììÚ9'FGG›íœø¸ \¾ååì‡ÍÍÍJ¥Æ™’áUTTÔe}áxý1g°-¨5Ú× ÂÖ''§v3½¸¸8xzz’Êt5ÇFŸÝ!àr Ö1(Si¢8‚1㣩Õ7ˆËwƆýoÚñ§ûwmÆþ]›;ýûÜÿž¼¥: —«7ÝGGGcþŠ'ŒåJ¥Òh_2ˆRzz:ÊÊÊ,>Fsss‡Á¯®®®í"ò- ~µ³³ÃàÁƒ1xð`Vy}}½QŒ qréé騭Ջ……¸ˆ•Fꌆ†œ>}§OŸf•{{{·%‰D¢&n ‡+ÆG!NÊ[#/Âú»ïGV£iÚ¸ú fû9ô’†aù·;±lnÜmÑè2d† Â*ïiðëµBqüøq?~œUîççÇ ~e˜XT¯««+À*/--Ezz:¾zLT‘‘‘È(¬BSS“Åç^YY‰ƒâàÁƒ¬e\HHbbbXçIö¥›Q€`¼«'å-øøÁ‘ȼj2¢ö½{^½Ë¦Ç:¸!,êNLºwþï…'êH¨³à×ÂÂBddd`ÿÖt4ÿ¨0¡ZØnIc%%%())1:'>„B¨´Íˆˆˆ`EäÇÆÆ"<<Ül;¯¯/|}}±Ó3L°iÓ&D é‡üüüv¢š““c¶ÏBà5£D^^òòòðǘn^"##YOâbcc‡C s# Ðð@Gઙ§ªLSo18¼÷MØÊìüSU#æzRª K BPPì›`ë@ll,’Ž)‘ÍòÿIMME^^^·ìK× ~mûÈÝ\çDCÖÈððpÜÿýÆò––H¥Òv ÛÕŠÙÍ8„‡‘ƒ-íþ®V«Â¶mÛ6c¹£££1÷RÛüÞýúõ£u£ç`7à¸)(’+pÇW§~Çö¶;-JVj¥ŽÓ&øuΜ9ÆòÆÆFdff¶ó²fð«‹‹K»ˆ|K‚_E" „Aƒ±Êe2˽A*•¢ê”ÐlùõQ(8sæ Μ9ÃîóžžíÒœDGGÃÉɉ¨7iÈß¹.³ÊþúµqúK¿}‰=ûöã¼4 j¼Â1rü4,xn>"Ý„¤,=ÄÞÞ¾CçÄŽ‚_322€zË!“É: ~íß¿?6¬A €]»v¡™?Ø¢àWŒ5 £F2–}ôüId~̘1~câ矙™ ¥Riñ¹WWWãСC8tè˾ÔNT###! I€¬¦)3‡>†«-¦uxð½ëñýã‘6?öû/mÄ»>ªMwÃYUŒ·fŒÂßÜOV®Â;ÛS°dZ0©ˆ è,øõ1~ „.ë!Á"lA¸Úéç¸\.œáìì ¸¸¸ÀÙÙ¹](GÃÅ(漫áoÁiPæu¿N§ƒ\.‡\.g¿a¶$„ ž@=r°‡ðp·—¿†ón{þ½µM“5ÇF·g@|>'NÄìÙ³-ú¿«{–áþííú?ñ<Ú6äbñâÅí;Œª¿ížÑÚñÕÈ+ŒÏ¿š‚Kßù@¥àaèó½—íoíAÐÒñyv‡ÍK‹¡,0yá=_¾ªÂ™“ú›Ï"+ãÇ;¹àñxxÍŒúT*òòò››‹ÜÜ\\¹r¹¹¹¨¬¬´ø¸:õõõ¨¯g¯f4^×Tú9À Aƒ0kñŒnO¥R‰ÜÜ\¤_È…â3½ÊUìÚîøf­ 4ÔÖÖ}ŸÚ.! €ÐÐPãù‡……Y=>Κc£ÛÄápØn­ße’ÿ…9«’ÙSRZ†AY…âé¯.-‡»¯;²žÈúL}æ÷ˆ_†ªzoÏøxŸÞ[óÏ€E×´+ö¸)¡lµX£Î†Â+8Ó:H­uŽN)¸\®Ùõ1¢]YÛà×}ËÜZ½—³¢¡{B‘ššŠÔÔTzÏêñXˆÝ»wãl]+ø5**Ê"çÄÑ£G£"QŽåŸéÛ¤.¿,Ÿ+ƒñ[¡°<—®L&ùsçpîÜ9VyÛÜQ†ó—H$ݶ/u46Šö‚çÖì/p8Þùl%bÍtkéE+'ÏD~³i}ìè?ß;ûÉGÑÏùÀ³¶ ÍÄ#?¦"bÖ\Þ±°Í`_Msln2Ú¿þýy ˜Z )) ®þ:ã“8Ã#w©TÚ-çÄÆÆF$''³‚_ Ή×f°$øµ_¿~èׯYKPƒ}©í“ÄìììNcäB1wâuœÄ‹(Ûù³³ÜQí2 „††Zl_Ò6çcØŒ—Q¦Ò8†”³*Ôd|dº>3ÿ:; 9–õånyïœ2¥’àðÄXŸ²ƒRï~ÉG}Öïî±Ùñÿ¹Moç¹²óy ÛNØDA#úÁßßþþþ˜4i’i°hµÈËËcEä§§§[äœØV( Ή¿ÿþ»±üZçDƒ<88ØìÕEhh(BCC1s¦)•®Z­FVVV»Œ°c¼à‰øÖüJæ-ã¤R)¤R)¶oßn,···7:S¶“ë*w”Jq¡U|Zg¤™ë¡b>‚$ú f~}^#—õÝ HÓ”…{žÞÁ*üê^<âŒþ‡ÐXµ º/aϵ÷¨Ÿ¹F‘ë˜vêݯ!Kl|5¤|t»¶µ ªÀÚ8öpÑ@§¡\ɶ†ÇãaÀ€0`fÍše,78'¶õJOOŠ,?FgΉNNNˆpâpr¹Dll,¼½½ÍªW —Q>ø iiÜЀ7g%£é0lØ0 plFZZZ·lc.ãŽ9Òî ¦±Ç4üÃ˪ôY,„Nñ8µ{ vl\3C1ÉÍåSúN€ö?7ÙM¦©£Èe ö½{·^q½°:;ª›ð˜·má;ã}ñø™hìHa[îkÒך:§À Ÿn›e»Yওxç¹pØ5 Ó7”Ñð4—öP“Bô9'®YpyßcÆŒÁ¤7£8]k6ˆÖЀ . z¿¨ÄDýS°¶Á¯m—Dæ:':99ÁÃÃÅ&OžŒù+Þ ikësÕ“ÜQ]æƒâˆðgÖ)|öÁ—Ø•|¹WðÄâqσ/!gû˜æa IýûF€šëöãïsXeoùžý:“' ÂhRd-ØžUo3šñãf ˜€{O`|Ä=q€jé><4u“¾ºFãÃßà~Û÷C)øuëݰë2¾_o7ø¥D…Y~äy£ÄÄÄàÅÏLKwCð뵞Ó£³à×àà`V‡¥Î‰ÞÞÞ˜0a&L˜ÀZ6°2 H¥RdeeuÛ7»àƒxyu½´¹Çá•UëñÊ*v¹NS³ *|ÖI`¹Í(ù¹ç¡ÔšbƒœŸÂ×÷°§cù8 EÖ‚Ü­…`Fy¡EËк§&t…“—áõ–bÀºçÀG j• ˆ€¥‹çà™Eó ¶Íåøûµü¾õnðÌL.²'MItƒc~8q¢i°étFû’ÁèmŽsbgö¥üü|äççãÏ?ÿd-à ΉmÓœ˜‹Áp‚éÓ§³–†-ÛÏdšk÷C`†‡Øº¤Óé••Åz*Ðî3ª2<´\ë¯N¡kþG-q.×"kÃXð6¨Á0 øöÎ ŽÀàa£0qÊ?â&²JÇ™±p)f,l_~ùÄ´ ÉÉ †ZÉGrrNާmTà‡¦ÁÁ‚ÌF^!9¹çbXQ¡ÏÁœ——‡ädYë“¦Ê €L&ë²Ý-hQÐétV«O©TÃÀÙ³gQ®è¹ÿKQQMëÏ"³ÏÑÙÙ#FŒ0º h4¢  W2Š?õ¶(h-?µZŒŒ dddà§Ÿ~2–ÇòžÇŒÆæÍ›q¶â[£È˜›ÉÀµ6΃#ã°¾»%cC^øxâHSAj ‹;,¯Ïü ÓS&¡S,ÂKÎ#¹Äô™–Ú<ì9VÞÚMS@M£yÒsÈ“žÃ/ÿûQÃÇcrB,½”â 9g,˜;Tôp`4œO„ƒ—YÅÛd^Br¦ùǨ>ç†Zi óO+€NP W8à«U€4É{|Mª³EàaV«²’EZU€Šx£].Ñô¸¾âb/¸BŸÏ:Ù ×ÐßßMÐGË¿øä‹¨®®FUUªªªŒï»ã&`ÈV™““ƒC9¦ô»b±ÞÞÞðôô„§§'¼¼¼àééiöþq*Õ$Ø1 «}®e©Ç’VŸpŒ7„õ ©æïLða·/ÓM™õë×wù™÷ïpg ÎÍ`Ù_Äúû…ÿ½Æ¸ ¸¬Ïtõê7r!sµYÃXmK%“•]Ê*Û»šav¾ÞóºÏ¿t‘YƬ×Ó(f¾Ël4»îœoO0‰+:­o”ÌB0ÌÆ·ÎXå:þ%›Y†ù×ðÃV»öñK˜Gì²­Vß3ÑG™…`˜´S%V©oÝs'˜…Ðÿ´åWeÌB0ÌüàÎë+//g8À¬]»–yê©§˜!C†0]Ž 1 Á0˜jÖX f¦M›Æ¼þúëÌæÍ›™‹/2---íÛÇû ó$GÖéØP”}Íð8c½A3¾g}öÍ8&pÊN¿«Íl@ŒV÷òLnæ"ç‘ø*ÑÏø{Þöá®'>ƒîšØøQˆ4¡àrJêØ‰'¿ÂÐ ®(<¶BkM„ ÞHˆÁ/( Õ(­~¢^áBµNáuv6Ó¡íðx¤y¹ŠÌ1js 7¨çÈu n:rNÔét(((°È9±+: ~58'‚_% ´Zß.SØ(Šþ„¶Í®HÙàQ€iÁ7/M»©5¾ s"›…Ô6Vmam­±`Ä­S3MS6&<öt OŒ™Ï,Ã/ý` ™µÇOGqç÷nÄø@¶«{ù‰÷1í“4«çÅg`ÍÙJ0º›\±_^^u œÎ“Ê4¹GâIW¼9ß¼Íö,5jUjiTßä¢úgΜ‰7ÞxÛ¶mCzz: þþûo£½)""¢ÛÙ Ή?ÿü3Þ|óMÌš5 555]þÛ¯ÁC`’(¾}4öoÿŒÅÒãÐ_ÈCØØÎ“°ÙlÔTÁ^ó-]l²Ôçÿ¼ÍpùÎøøpžOè¤üÿa{R#®nÏ–Ä>Ožý™£0#t0öV˜oY2 •ÿÌ‚· gú©(Þñ¯ío]ŠÚnÆ.ƒï^¨Á–7Îâ\ Ehà¢ÃÐÇÃðÐ# æ!å%øðƒ‘[`Ôö`IÈÎ%L¤Ý"n4„B!âââTâSÀ¼yó0ÅZ444Ÿdµ}ä^]]mÝã;'àÊ…ÝX»a39œÒmxqs|o‹‚ØþSLö÷•›–_Þã6{»Ÿ]§·‡Ç-Þ‡çôJ÷úIEh(Ü `^E½›½ ÷hÓv=ê¦+ø¿åøi¬o·ÏÑ*ðÏÑO£^Ó;Ëž½ýèn<ÚÃzò¾+†~æµÅG°æ­±f}özŽ’©I  ,Ç7NNN>|8†gï*ÜÖ9±­Pw‚_³ ˜Ix÷ÓIx÷Ú|é'àpx¸ÇÝ®÷¨-~SØû«Ô[ù×¾fÚr¥ß8 €Sh®Û‡•~BÓ´ÎMò2ÞŽ\‰·²LÞ§§×¤= #oNÀ©Q_ùónªŽ¥,0ßA‡Œ½0ÌŠ6%½g®BEüfÅ\çÄŒŒ dee§ãݼG+ Bè<î|nïÛ€Mñ-~ÓÙwì:‡XŒs1 &û~³ŒK¡ï*Ú{“>±v$ëwYæ_Ý>·:é˜ùÉß̹é:PÔ+\¨Ìè–µ-µ)©š¸4’o! ΉӧOÇ’%K°uëV¤¦¦B©TÂÕÕµÛõ–í+‚Øcz×¶-[})û~¦¬~»cwA§*3nBv®àÚª”ÉmvÉ0Ά?Ïú]«®êÖyéÔ•xdÜ«ø×Ÿ¿Ø<£-°¶QÛ`SâX°¸â‰µ·@ï0ÙM®&•Á-¶ë§‚­À;µªÓ©¹Žˆ]j„Ÿy\ZÓåglº˜OøxE«5ü |škŠEâÛKptû¿Qþ+û.6UoTVVþ€æZ‹ú·¬ß'¾dÙÚæ<Ü;y%ïýÁ"ÚÌ–6%ƒQ{õü°kòîbnä >ãeÑò¸9P+/âj³S½Ä}c{ŸGðÅDÀò)¯±l>ÁÓWâð»ì%”ïÔàV;M-~«fÇÃ\\i ¼9Àû1˦GQsïwX1’v¦´¥MÉr£6| ЭFSÍàp˜äf×wOþôüE|Ô_ùÃndÝk%sÙÛÏ8M3¾ßvÅ4cÒ4eãÉͦ¨ú‰}gôª6—u©«(I  U•=++\o¢9§ßÿ:11˜„¤¹°çN˜ùYJ0îÒd$ši[2¥ ñ€q'.€€>Kf@@Gö|FU$Gô¹š­QŸSSP }8Qbâ«Õûƒð,°Æ¡5ÇÆ Ö,p4ÍxZdGiô}ì­­÷*RPZ[[pà ÐÑ´3¥ªá µqC¤µ­¬%gI[Ð+ ÉÀ¨ñdžUøá”)€ˆ»ñÂÒ—1У½Ï‡ç‚P;>òš5Ð4 YØQú™Ûž¾Nk4ÁÝ’ß©£äè"8Sƒö¦ýùì]˜ù•ÉñðıCؼqþ¸r“:È&Ö ‡Ã… @ÁŠú6­í^kÖg¯—Öv’Œzso.Á­~›Þ¾Qå©xtÒGÞ=þVê·á‹ï€—š‹°.¶Lk{}›’>[M~’½#@šæ\È:Iü^ý÷›ÈofïF¡VœC¥J_&tº‹Zˆ°:7BZ[¨É®Ð+K0¾8.|n‡"Ä0Z\mÑ ÄΔŸGQü?ã{;·1ÔB„Õѵâý¥Ã`Ïtœ.¢Éõ8¦îÔi€¬óå(È¬Ó US~ú`T— ýÛ‰›Jˆ}?ê÷ßvt"azàøŸ¹PÈ,Ïú_]¨7’¦5ë ŽrCd¼äµM8¹§ [×J×,ä±!4Z›ÐS£ö‘í…¸ø‡^(4µ!°ƒùIî´œ<›ñë*½‘“Ö(@¿­+BCyçu©j –;ƒ«vGÇÃm#’á¸Ã@~Š=Ê3õ{ š!Gd¼JóeøuU÷öã4†ÃXÿŸ0ÁŽŽÖ n‡bXBIòðÿÇÿXe<‘ÞK:‡WGû˜fDZ†¹yãlƒ \¾3UWbŒ‹¨O:è¾÷ôÎV÷­¦ÁJtÍ…—/aÃ:ó<öu(AB¦»EA¸Ûa²#4‚{ {ë,毰Þûñ~gÁ«ºßêœm26ze!ê7ákÌ3e?Œ_ö2JsYâ{–NÄÙý]eÔ²½}&>a ¶Ì˜kÜÖomž#¿¹&{Lj#À§Ç‰°é¸Ü¨ÆÅÕ/ã±3ɸgÒܱ¶É[×bõ÷zÇC¯»^Âå#©g·M©3,5nUjoªkÇï­ÙûL™KÛ1uÜÃ8^¢À™¤Ÿq&éçvŸs‹žƒã)ïCDO߉›k:JèŽÃ¤OàÍ•/‹ß›s0Gór°qÕ ¬Ûð2ËM;  ü0÷ŸK°nå"x è%qóa-GIÝq˜ü缾Ý8RçžÛ:=l¹‡ ¿·‰+ôÁ‚_bÁŠÏqõròKj!tõAìÀ(8òhÚClå0Ù–ëynÛC -§åÖ 6÷ Þq'ï ŽFõ ªu:¯ó¬¨'Æí_·Þ}ÿ%x ¿”¨0ËÏúË;ZëÄ Š­ÒÛ–ïݶ'Mi“ïØ+~@7#äDÜ(hk°å i'ÆmÿëþÿÙƒ…ødF#kác×®Æí&qŽ^*Æ<Ôž®V|j^‚¸±é©q{È„ üÐfsù“¿°öóÅG%>‚ïǶ»9ÓŒ ‹é ã6 AbkÏm ‚ :Å–ÆmK!A܆ØÂs›ˆ ³±¶ç6-Á‚¸© "‚ˆ  ‚  ‚ H€‚ H€‚ "‚ "‚ˆ ‚ˆ  ‚  ‚ H€‚ H€‚ "‚ "‚ˆ  ‚ ˆÞ‡rBwAÞi`ÿºÑ–ì£@À$@6%t8ÐX(ëèZD[üc¬Sí ODŸA6 ‚ H€‚ "‚ "‚ˆ ‚ˆ  ‚  ‚ H€‚ ºÍÿJDwZvV¾LIEND®B`‚nted-1.10.18/doc/docimages/hor_shift_example1.png0000664001041000007640000000321211520267216016523 00000000000000‰PNG  IHDR†<,JUÕ pHYs ‰ ‰7ÉË­tIME× +ÏÃî)IDATxÚíœ{PGÇ÷1$ ˆƒbUdb+VPÈtR«V*µ­/§R«¢cGi+VZP¨ -Ѿp´í,u 3j;¥jAE°‰ÚHÄ1LQ  »þ›V 3 °ß¿nîn›û}öv÷÷ÛÍ!$I(o ]‘@A$ D‘@A$ D‘x¹pÔªíéìí'üýét:d0@HVVA^µÑÕÕÅb±0 ûÿyJŽÿ¨¹T'jܸñͪlŽŠc“ɤ×냂‚܃óù|»¬:::¶lÙrôèQ‡CyC·5Ö‰n©Cæn^ÎWo€P(›ÍôÞ¿s±VbAèüÕ¯Ùz³1)¥R)Qõ®P1;;EÑúúzÛ™Û¥[sÓk`¨è™&i6œõÎÞXüõŠiM…›àˆâ$v{Òí§NúšÛvVÊ!oÑ„€E%«gÔfý:‚²oòf…Nž9ÿÓ³ÍÍ#j¾-¹$‡HF®Ø/ÞÖÜùXmvzOì¦eï eÊû-7s“¹uZ£õ¤Å¨HZ¹ç‡vD2rùÏȧi •:g ŠþÅ@˜»¿Wé–>yÎë¼k:òË䙉+1$íÝP¿«]Ζ;¹gÁ\Å—gm›3…S*¸Ï~ö ב¸¤yÑAêµ³¥âÕ\*Ì]ÃaÐðâÝû.Þ6圑¾À -ülèÞ.×þºžÑh”H$ ƒòPQ¡P¨Tªˆˆ&“90DUH[@Øœ©L« L$йóçÑQÄ{ÜÝÝÝ-“Ébbb¸Q«í7I¹\]UUI9’üüü#GŽTWWGE Ì üùÉËN*ªÜ1ÛÅ*®¥óRo½s§jÓð‹|5?,¿­gÈÛ¦,ú¥ñ·¥¶¶•——wïÞ½uëÖ¥¦¦ÒhCt’•••)))J¥ÒAB·¦4ž”V«øûû³ÙlÊ‘øøøØŒìI½3ßìW Wdî™Ö„òõNÙa ï}Bq?›Ù´´´sçÎ!‹cccy<žã²~~~6›í‰×%¢]{ç¹h¤³1ç¦1¨àŧýkïÞ½kM8ÑÜÜ<‡wÒ¢+ Ìt}Žt5ãçÉ/L¢=õ§KJJ²v!ÁÁÁK–,¡&µáUHÔÒýÉ'>ry`ïØõ{ûšëqÎÌþ»+ÛÉ"™™™\.·­­-!!!44t "é.Û¿m¢‹F”µ»âœÃó‚ÝC h||<µ6½ IĶå®9•~%líi†€Ñ)Ï y29O•ŒÚº©úórµÂ‹ŠŠìwëj5I’eeeB¡ði¬*Z‹D"j-+«ßŸŠSE^énëƒ?~ÜÁT\£Ñ gzzz4kHH¥Lr«IÖÞÑiè3Ó¬ÉÏ„ z›qjŸùjm÷ôØ5”›¥J: Ñh<¶'X!(Y9ÉNΙ€ -ôÂ=ÁîXèÛ¾xs…ä½v`$Iâz@¹-Tl>½cqzq?áh1ªìA/à&$æ>?µxÈæ¼:m"à&$ªÚÝ-Cí¼z>+ƒ ¸ I¯jˆ7FŸz¢2zß}H¦¯Ì |Ó"FŸZpE¼j zß9$®|:×p6ÿ¹;ÿÖ [˜R!½ýÞ¢èúÁ„„‡‡Û½`±Xôz½¯¯/Š¢# I‹A¯ëí3š-‚ 8mƒÉdÐiãÙÝf³Ù`0°X,G ½ðC‚ã%.‚H (ˆ"‚H  ˆj¸ú±ùu¡í¾<IEND®B`‚nted-1.10.18/doc/docimages/perform_empty.png0000664001041000007640000003134611520267216015643 00000000000000‰PNG  IHDR\•›äÕ³ pHYs ‰ ‰7ÉË­tIME× 1Tµx¦ IDATxÚíg@GÇwïö*G‘¦€(‚±÷Fì½GÅŠ-vÆ^kÔØc¢Ñˆ¢b‹¯;ˆ½a”Þá¸ã¸Æõ~»û~P[޻ӀÎïÜ=÷ìì3³ÿyfvÆq€÷@DQ@DQ@DQ@DQøM~ýÚ€a ¬G•K§ ïÔ¹s¯aÓù*ˆ,ðµ‹Âñ_WnÐë_?¾øç?P lèÔI`›ldžj9½›"~®\ˆ\3¡ûÕ×0ŸîbGñ¾ÒžBÖõk\™ö—}‡ƒúvm=F­ðå vçÒ‘)3—rÅ ‚ ¾u')ýåK<áX »¤L`¹ß¸…ãµ­í¢ •J×­[çääT¥Ar*¯P¢9u2òôá=l%<ÞÓîÌ©(“Q@õÊd2@Ó² ©TJ¥R™ÌºÝCQT$yxx|þCkÔJ¹BŰsp`YØ5 é¶ŸVrβ+[&DEEYÖSàpùí[}#’*`„Ö´e‡á=BΟ=eå9êõz¹\îææö©DA¡P8pàÇ1bD•´’¢_Þ°Ù/bb'¿ñÀª¹É0lÊÛžeÓ¤tßM¿l—·eœ{öìÏyP…˜½yͪc´”BcN]úëŽå“-ðÃ/Î]¾X[ö¯£gãˆÈº· °Lïܹ3gÎì¦Mƒ!&“ɰ-Î4''çòåËßÿý§>P(;;»*¿êâš¿sïf‰ø›îa;–Ls`RM9Iº{a÷ñèé³ç™rU …ׯ_Ÿ0a…ò9MT*•N§×õªÕj‚U¾g)*árx"7O_ŸúV´5 Éê¹3ßxü¶¯n0Èbÿ=m·aŽ®ê{tìJ¥PZ4 i˹óç·m`ÙÅŒ¢(…Ba2ím^&“i^x«À6sH© ™õ›?±ßÑ´"hDù7“$zøKK7Èd²˜˜£Ñh½«s‡v'³… 7ôn $È_úý¸oš· mݺՆýç­ñVÌ+ˆºùäÃèLí?ù{Ë\Á$²ƒ³Û_¾~íê¡ý;ÛYªµ“ôD"QzzzåÏUâ¢ð› F|œeˆBž.0%ùQG|;r2†JKK«tõY{’ …H$ò÷÷·Þ›Í–ËåtºµëµêyyïþùçY g;›^úÅãñ(ŠeÃÅÚƒD"‹ÅÍÀ ‘m]¹è߸ço/c…RqæàÞ°ÞÍ,>"Ÿ'rd1Är5A•Ùsè¸Iý[XÖµZ­B¡È/(T(UÖçV¤Ri^^‚ 6 oaa¡P(´ììjPF#‰*^è¸~ãâyé< ÕÑKŒb±ÈÔÏãcÏ;v¢a:Ç«tõ™IMM‹‹ûᇬwUZZªÓéÄb1F³ÒÙÑ›\ø|Á ᦕó™Sr&•JÿóZÛ J‰›A^vòù¸e7vBï:p¨5g­PiýƒB~[8O¦Ô×ó¨ïêâ¤WÊEJK\ét:NWZZj}0 Ójµ‰Ä¶*‘HT*•e>k ¾¾¾Ý»w¯ðác›¿Él?`p'‰"íÖ½»©~TñÓ<øÍk Š¢B¡¡ùvîàW£»R©ôôô´Y AÒÒÒ*Ÿ‘eI«W¯víÚ•Á°vJÕ‹×ÈT¯S®>0hÛŠ$‡ ´IÉÿÛDÌ£GÎÂÕʼnɠ*Õ:‚è,—é‹VÿúÓ"{:Åš#º¹¹Oœ<ÍúÂk477·Ž;Ö¯_ßúžBTTTÛ¶m›7onÃðfggXÖH¬ê±è$¹KWíÖCŒûþÀŸ_Üò¢Ð€áTRÕ²¶bíÛ?Ö®]ÛªU«)A/_¾|øðáºuë¾ìQô³+çS3óÈt§ÆMƒ¿ò5¡$2Ò«wŸµ«W¤šÀ `ÿÞT„ ò,µ+§P™“öd d}&­Ü¡Q)\?÷µ›×®;»º·hÙÒÑŽVÕmûÏÑËóçÏg2™OŸÔHŒF£V«ý²+CYœ¶l݉Æ8túÜɃ:}õ¦Ò™í;‡‚«´öŠBrrrddd¹t‚aËÞã8ÌhìuìpÜÕÓ2Σ°1ñd ÅÙÍ£G¿¡½;·¬¼XN·kÐ@®1f¥ßÏJ¿_£@zzúG°ŽÜÜÜŒŒ ›8ùùù'Ož¤R©V / º€€À„L®§|&ê„)³'OžääääååÕmT*SRRâÏãñ mXã …‚ËåÚÄ¡^¯/,,?!!Á²“­(‡……}H¥_œ%S·>cÍ¢Ù¿.}/Ù™ 7ï?ɃT|åê­³‘Û÷º7uæÜšÎÞQ©T2™lýœß§pH£ÑH$N·ÒnÔ<Ž{ààÓàÄß»š6íÛ¶‘©Šx»~‰Ø;ïQÜýìºiîõèï„ÔŠdF«Ð¢LEÕ†G´•CÇI$F³ÞŠ¢d2Ù&®jÞO’SÀ0‚áÑ›‰nŸè8|hïŽÁ‰-z>,~QÂFÏZ³ס‡Y÷žJ”½=Ë~¢--¼þR ÅP7Ží¸h³ËÎ=»´U«­M $>;6}ú‘òŸ¸w mÕ«O-À—SÈÏω‰)ûW¦åA$8ñÁ]ŒÇð8±1±:öüþ››7oQɰo3g¨@|ëömÔãàëÖ¥SM» q¬°°°¼+sHHH¨P+IOOg³Ù6qX\\\RRrûöm+×)ìØw\gï;uƬ¦¾.†Ã5•^‘H$M5ÛØdäTœÁu âïÜ.¢ÖоL&+(( ˆQQŸÏ·aËd2‘Hd‡:ŽÏçß¿ßÙÙÙúœ‡Ãyòä dzax¹\nvv¶e'[Qpppðõõ-û××wr—À£RE³‡O }±Ó«~ýþ}›l8ïîQÏA§12ÝsDp`Ùʼg7¢uÓ­u‰D²··/ïÊŠŠŠ*ÀJÄb±Å0Õ™d2™>>>ÖõqD¦»85 iêëD$....õêÕ«¶ä¾¾ë‡©½·#‹EƒÁÀ`0lXãvvv¶r¨Õj™L¦———õëJqŸ2eŠ¿¿¿½½½ Ëa˜“““e'[Qpuu .ÿÉÆMë'­;4küàÍî¦Ø9AAö$hm±ƒo3{ñx~ÿÉËÚ·iEy¿l!ñ""çÆÅåF6›-U0j4%Éáprss+À¤R©³³³MR(‡¦M›Z™h\²rÍOsÂG×s®Øz»xiÆŒ5]¼T»Óÿ½}Íú‡„A0‰Ü«WOô8hÌ s–Œ‰Ùê¡zÀ'‚J¥.X°àK=;³¶x/** èÛ·¯©MVÔJ¹D*ÓéõO^}UÀܾvÕÖ)î´´´¬¬,S0{ü†&>}ð:=WoDìäÀš8q‚~r3ÞüuàRû¡w:tüøA¡$ÒçHì¿}òŠÅbÕé–g4ù|¾··É} y<Þ•+WfÍše«#j4š;wî <øk-N'‘H,ÝàfÀf³Y³fMµ–;·ýDwê¢Rëq[³zõjk<`¨v߆Üß]K0‰4mÚ4Ë\Ý8A/§zmû¦³…8À¦¤§§3Ɔ1 S( °ÕbÕðÓ—nZ½öEvÉ„9ËÇìB‚!?;gT á(Ùb'}ù(îú­;™ÆSœ˜Vù|½aÇÁRµþý³÷nb™«^Fnߘs)æÖHjÑ>tÉâù}Ý €m;±0lÛõ<0 ×õîÕç[ÑS`_>B%Ã1|òåjÇíÚB³o£Rël ë¨v÷š9®ve7ö °Æá¥RË Õ›t˜S,±¦|J…\&W (î-Ÿ½^ÏçóAêXOáeÁ0á…¤Ô€úAP~úM×f!$«÷yñâEòÝ+vÿ£ÐËnìEnLLL=,{îhÀˆq¿¬Í»vç©'·êØséó<¬¸ïìXöà¦òé P(õêÕq¨c³®m†ôox#E¼vÛo-ìx¹/¢.$þ°g%Íê×Cùúú¾À1-û$¸Ë° ›6;±d²…u4–Ëò ;æ.Sb‰Å²#Á ÁØZ`ãÏ£G&Lž{êàΗ±gs’_wž¸lþ„Ö_mõëן>wq©D~ëá #DiÓ¥÷ò% ü<­~mLbÙ;€Zˆ®ó§$W¬X±eË–ÊßJÜÛ173 JBÚvéÛ£›=Ãv›5ã˜B¡À ²½=¸±u¡§ð§zÞ£'Íø4’E²wp•|NÀS´ˆ¢€( ˆ¢€( ˆ¢€( ˆÀ"p—J¥†ÕæBªÕêj_Z÷µÕšD"©åµD¡®¢R©6lØ “Éjs!ÿý÷ߨØXPYeh4š•+WÊåò/ãtÀ  k†ñx<Eks!¥R©Å›â}©µV\\ z Ÿ›W¯^9r¤v–ËånݺU§ÓË£!•J׬YâP‡E¡´´477·ÖöSSS¿˜ÅW‚^¯ýú5ˆÈ)|€Ãáܸq´€º‚P(¼xñ"ˆ…OHQQ…:„H$ºtéˆÃg ‰F±Xœ‘‘QåWZZ§7P¨t&ƒöé®a‚X@aa¡D"±‰C6›-—Ë333­Í™J¥R(ÙÙÙ"‘È” †a0 ÃÿÝöÖ@¯×[:EÍOXæååÉd26€ÒÒR•Je‡jµZ©Tfgg;:Ö¢}†1 ³ìÇHÚ+ŸÏ¯ð¡TPqøˆ§9ØQó³2é³gM ðr'ðÃË}S(ÐvêÜ¡F•H$UÀš6¡V«mâP$iµZ@@£Ñ¬o^Z­V(êõzS6wïÞ­_¿~ppðÕÚ  ÃV†N.—GGGOš4Éü{’V«µaJ¥:Î&5N§ …Z­¶–(Ç{öìÙÈ‘#?­(4hÐàÛo¿-ÿ‰A%œ>as §~7À‰EÏO{>þ»Ñ[w¸|ñLHw•\¢4À®½šÍ¨‘„o\ìÙºWWÕ¢×ëÅbqME•JÍÈȰ‰Ãœœœk×®uïÞÁ`XéJ.—;v¬K—.nnn÷ÌÀÀÀîÝ»ÿW .))ÉÕÕÕÊÐ …ÂG™ï$===..Ά @ ¸¸¸ØÄ¡R©tuuíÒ¥‹‹‹K-…ìììüü|ËÎΪœÂ…ÈßÚOZ4e¤³=†IÍ:íÝ´¤ðõÝi‹Öi è‹Æ÷6M£ýèŽwñô©ÿ=N3ç 4€ÏÎÉÏ;;)þÙö_ÖR‘w#w2,Áô[~=¼Û¨ø©¨ïúÿraܳ”=CQ£!55µ‚«jIKKËÈȨé¯ÈÍÍMKK³‰C@——iÙë°Ë£ÕjóóóO:Åb±LÙ<~ü8333;;›ÀN£LKIˆ% ñõoÜ4ÐTU^RÌçü¾gWônU5fÔ'<‹ˆ¨æñññvvvUf= :uZJr‰P‚Ã$¯†š5"Ã&ÉÉÉæÇŸÇãåä䨰Èår‡c‡:®¨¨(**ÊÎÎÎ2jÈJM.â Œ8äêáÓ¦Õ7ˆuyd>ŸÿêÕ+Ëή¢Ð¼yóððð†åÒŒ•;O4éÔwòäÉ4Ê;W1VdÉÕõü]\©IBúÔ‰#2 ‚ Ãë Ö¬¡‰DrqqéÕg˜W ÞûömA*Àž={&“Élâ0''çÍ›7&L`2™Ö·Ô{÷î;– §€ãx£FºuëfÊ@&,XûãQ—ã”Z=AõüZݺvñ›&>•-ݽ&(ý°bßÕ7dËŽ=ý:4!.¤L&sqq™8qbÅ¡µ¤xãŠÅÇÎ]—«u¹x7¾|¹cËS9‡c~üÓÓÓ322lØALLŒM*•Ê+W®„……Y–S0èû6¯Œ8zJ,WAÄppëÙÿÊwÚY™SÀ0̲³«(H$ùÈ~â›ÚœæÙ À®ÜL¤È€AäʬwóО?ž)gMN§Q!ê5lR)•eH$roÄÉäʰ:D†a …b7ƒ^+‰U=A‚¸"‘Hd2AôðC[7üsîú>o# õzc•ö¾ ƒš4€É= 5lÒbÙÊÕ}º„˜Ê3¡H$ÆI ‡*E‘»·ì¼d|_Å ‰X«Ñ™*'‚ 5ŠMíͬ5+ª•òR©ƒß•Ío8Žß¿H$²Ò!Š1 /..–J¥ÉÉÉ–­SÈL¸»dÙÏÜRåûˉñôñÓÒ&¦ì‹ŠŠ rpp0eàèäÊbÐ NFhß33¬Onz²©ºL&/âò †€Ï3åñbñ¢åy|iù2TZ­†!¸¾«“D©!!Ôν‡-˜6¼ 3Å”O©TZ£ ÍËË+--µIÀ0E1©T¦P(,tˆ£—ÿ±õHñÝÅììì’ššJP)¦ ƒÉ:Ÿz."™ "‘ƒZuÛ°z/7•gÝ9²Ùì’’Ëή¢`4«ÝZãð‰z#6{ÉbG2^•1¥E‹–ïYmÛ¶­Ö›˜—ûûŽOÞd1¡Ð‡dý=t:9gd²M Ù~Û{'þŨ VHÓ&Æ’g¢pý¦íûË‚ †-:1Ý f0ôz=B·ûmßM‚‚H$òÛ™)c­V‹¢h5Knpãö=•W„úMÚ¶êTÁ§F£qtv;tt½““SµÇ}ûUâ¯ÓéPµ²èÔҳǹ£ÖÉ¥¾—eEö/¿GÞßÞa˜ÜnÈT …b7 ÃHdò¶Ý¿û5lÁ$!ÇÍL´Z­Á`°Ðnl6A5kÖ›¥Ä¹3©í‡ðäZ“®R6tcýøãÕT%ÌرYùµ¼óç/Àm* ¹ÜâÛwî-\¸Ð2j w|¿När…ëÝ»·Z­¶Äf\=ã;ÚÛ~;Lòiå~"ñ/"""£­,¤„_ðçžÝѱejåÔ±mKËüÜ»s!.-Kš"ŒÐÑ3-œ„Ék÷üÝuðè”ÌWφ=zö lP¿vžaÒüõ;[„öKJÍupó ý¶Gp ïç9²F)>ñwä™K|±ŒDe4nd7.'×ÁSº÷é˜Dn5`‚e®\Ꟍ¾Çʇ´èÕ#ÔÅ })ØFtJ馥ß?2N]ŠìÔ¬¡©Nɹÿô5å—_~6Çg@w'¯TAÓÁuúë§ îfU +åÌ7úâýWe96Í›ZæÊ§~}ow§¼ At–Ó¸YËœ2Òâ͈ì\7¸·†c¿!£û ù¬5j¿®\ðëßgõï/c±jÙ‹É iäó8µ‡ „Âè6hìÞõK,VJÏÃg4þ"s¨°9+Ž‹ŠŠúöí;bĈʩsvnfZz_®ëÚ3Ð×ÃÔš N^:[¬ïԮŋwëÖm̘1ÕkÐ×/žåsø8»{ùujß’bÝ„EÚˇ‰*’(Œ1cÇô íjј MKz•]ÀAqØÕçSûÖtêçÛØîÉ“'îîî›l‘§OŸîÔ©“¿¿µ®Äbñ… ÂÃí”K«ÕFEE}÷ÝwNNf-?Q(±±±£F29nçîØ¶]¦Cßߨ‘Ρý¦ŒnyqœS™ø&CoÄXŽ.:vp¶ÿïoï†EEEõìÙÓÇÇdžnù|~BBÂÀ?mO¡uëÖ³fÍ*Ÿ€eçeß»s›lç6oÕ/¡ZS /Ú?–Ìc71 ¡(Ú¼U¿Îüª9äì¹6 SB`½ ¯‰d1XÎç¯þmãb;¥Î 9…B!~ êõë×#GŽìСúçP “’’¦OŸnñR¼òùóçÏ'Mšäååe޽P(µ¨))̈>ù<‹‹CBeö61âÀ.7èËEÑ„„„1cÆ4oÞ܆n³³³!ï'>à#´A£Ãݜͪ§…{þzûÇÚµk[µjU½"Øš6=‡]¹}ïá3 FiÛ±khç¶4 Ø}´öR¿aЙ+7bãî ¤š¦ÍÛôîÑ͉Åa©Õ9F|ú×è'¨žûÏÑËÝ»w×jµOŸ|n]€I-;„¶ì j½®Œmýš4ŸÙ¤9Dí…’’’W¯^Yy¼ví:¶k×ñíxöÕ+1¨ àr¹k žžžíÚµ×díÇÝÝ=88ØœÊ*,,tvvnݺµM®®®-Z´03Ñx7¦FQww÷fÍšÙ6Ñh ੤¯‹Õ«W/>zøºr €/WW×Ù³gƒ8@Oá ÇÛÛÛúí^jÜ’H¤ P(ÿšâããcýËlH V4®X±bË–-  ÐS@¢€( ˆ¢€( ˆ¢€(€/N”RÁù³ç8B)+DRI8áÃúömŸ©°#+PW±ÙÎKûÖοü8µaC?nêÃù+¶ÇžØN!Ã6,hAAÁ… Pýü1 ÷ððmD¡è$){ßêBxpƒ—M_¹™””´jÕ*ƒÁðùcÔ­[7 5ãÍÕ{reËŽí.,fP—QXô†×JmEEÑ–-[vìØÑãk×®õìÙ“xK²’’’ììl‚—¯½åÞ½{`r@µ3==]©T~΃:;;Õ^QxÄùôÝ)Ð ‚ 7À0Õnã-aúöí»uëVsŒ ·mÛF|{úôééÓ§÷íÛGìjΜ9Ö¿|ðe£V«ÃÃÃ?çAû¤!œÝyIDAT÷ïóæÍÚ+ ]I` 3™L‚ ¼8ñºkp??»¯èµ(Š–––bV­¥““Ë0¥¥¥ÿI¯ÍÁÁø ZF£Q¥RµiÓ†x³|¹\.“É|}} lpÏÏÏ÷òò"ÞÊU§Ó•––þ÷ÃEu:]Õ_á„éuÚ¢Ô'®¤ŽYö=„£:-“‚ƒ U•ØX¯×›ãEQƒÁ@l–——7jÔ(‘HTmÁ<8dÈp…[@vvvß¾}Fãç?ô–-[¦L™B`€aX@@@DD„‹‹ ñP4&&†¸·k4çλlÙ2â¡A~~þòåËͼ>¡(¤¥¥9s¦Ê¯2ÒKòK‘Güýû. ÍÕ×|îìS~TR¡Teðö®Ù{„RSSÓÓÓM ÅÅÅ—.]rtt$°ÉÉÉÉÎήÖannî­[·233‰kˆÇã!Ã0q'óÊ•+Ö<Ùl¶««k¾Èõz}NNNHHˆ™ö\.W*•²X,3ûó‚P©Tâ+Y©T:8TóÎt­V{ÿþ}âþN§ãñx/^$~ÑVzzzFFq“Ã0,??ÿúõëă¡PÈår \©TªâââÆZQhÞ¼¹)½ôQK=LÍ|t#%O´ñÈÅÕS™º8p£nÉÄÁdŸVkÖ¬®QAccc!ì2Ο?VmNA&“UëðéÓ§C† iÛ¶-MVVVrròöíÛ‰;™û÷ïoӦ͘1c¬¼œŽ=XmŠ´–# wíÚef…¾½'%&&þöÛoæïÚµ«M›6½zõ"°‰DK–,9~ü8±«'NØÛÛ—S©TFGG7ޏ§p÷î] È]ÆŒ1¢iÓ¦ÄÓ‡¸ÊÎÎ>þ¼ùáµ}N¡Y°cÁªS¿+4ƒ'­X1iÁí2îRÔ‹æ-hñ%õlI$N÷öö&GGÇjß­Q«h ; *Ã0“Éôöö63 àææFlL¡PÞÖZµi s²E_T{¶…üE^ŽN¥ñoÓ÷ïý(d“>…9/R¤NHmzNmãRÄÞûIY` ðRƒžB~~~lllåÏK‹Òøa—Åû‘ÿ0ÍÔ` ÕŸ=}vÐè0E «tE@BB‚©TÙ5½ÿ¾³³3qw´¨¨¨Z‡'>>ž8Ó[\\\RRG<òÌÎÎÖh4ööö6 7Ÿ}?-gO÷ru (¹D"ÑjµuºåÉd²‚‚ó››Í...6Ó>//J¥ÏH¥R‘HT­ÃôôtljÍ4P(¼wïqå&%%UÛòQ-..~òäIQQYII‰P($pÅårsrrjz•ÕXìíí+÷µŒZéê¹[…ÌÙƒIÕ³:c—þÖ¡ïH'†qvqg2¨æ½°°°ÊT N÷ôô$NÅ …B;;»jÚÙÙÕ«WØ EQƒQí4’ƒƒƒ‹‹K5GôövSý±iç_íÝæëÆ2Õ¡uww73µ&“Éb±Ì? ­VkþðÁÞÞ¾ÚáƒÁ0sø€ã8±™Z­~ÛäˆsÛ\.·ÚSFQ”Édzxx›á8N\x£Ñèàà`Y#©(¸¹¹UÎÿóˬÄ<~§¡3ú}£ò‚C&›‹Úõà ‡ƒa˜B¡ ÐÜCBjPb.—›——gf²ÚÞÞ¾I“&ĉF™LæââR­Cgggb3*•êèèLœSððððõõ%v¥W°„â¼´„‹7þµui•#±øøx???óóöµ¡PXe‹"È)899™iïîîÞ Abc@Àb±ªuèéé‰a±™R©´·· "N4òùü´´4bWF£ÑÉÉ©Q£FĉF:nooOàŠB¡$%%YÖH¬J4J _üüëq2Ãcïîíʸ c3õ(N3ñThØ7J¤ ФQ=0x«$ÿèÕãG3²ŠXõ† öºÔöœ‚Á`¨0ÇþçÞí|•î»y ƒ=h²VŽÜŸŸíÛ³ÇÕëk÷P/7ÇÊsö˜ApñBܯ¿þ AЫ¤¼VÍkÐSÐh4• P¹O…aÃoW˜™2Æ0Ç!•ZMàð+6 †ø¸jµÚh4*•Jâ‡8u:V«%p¥(z³nÇj#6vÜœîßx™²ÔétÕ©ö£V«õz½ùg¡&¬¯Š.½¾Ú©T*E«u¨ÓéÞ®h võ¶É¯Œ0§ ¿],§V««mrÄ…¯ix-…¬¬¬èèè—–Q¶ûï+dº[·–^ç¢=ø§B”»jU2†¡d ­Ã·ƒgLÁ Vœ£3ì0)_ Õ±ó_±ó_™ôäää ¨p-ÌJþßÅ«œóÏ)7ÃUg APbbbqq±9 (k3r¹<'''ÚôiV?™iŸ™™‰¢(q.V&“ñùüj¾~ýÇqb3­VËçóoܸA¼¶*55µÚSFQ´¨¨èÎ;ÄcGત¤$==ÝüðV¼%V ›ÍFdÍš5å?ħ"¤3VŒúý;xú8ÑÇÍÝöËOK---<<ÜLãuëÖ]¿~؆Ïç4¨ZWøóÏ?‰m ÅàÁƒÅb1±Ù;w–/_Nlc0¦Núvʃ€ÜÜÜaÆdeemݺղª±<§ÀNc(6,lº2ûÆ¥ ÃãÇÏ"»®Ý¸ªo§ÆßŽ\°{ÓÖeS‡;2?ºyÞ‹ŽÚ÷ïÝy š™)Yj…,ùu’P¦á ĦuͰtÑJŽDUö‰‹_3„^ñ¹é¸‹ç#.ÜF1¼L8<‚ÚTòeXµdMPþ!ÑèdïìöynžzuiÄÁ?_濾¸Å;0hBŸ–ÖxK~uúŸãÏÊÂòk´pþüúT26×¾t®Š^'&IÕF‰\Ugr 4 “¿ëâ+½×{Dï@/'×À¾—óS 8Það¬þA/§¼¾Wª^NJ øL„fæâ%üYì¹y V$e±q"#´ùó癲´g1aÂq‚`G¿Cÿ­çRqì@¥QhŠÖ¨‡ ˆŒPz~7gõÂYA8‹Å€aÇq‚Ü}÷<Ú$ á穌3»^´éŸcÃ,ZÒÈËÙJoy™qûöù('ß)tÒì¹@j"`†k§.^¾1—'† ¡Ð&ÏXH<ûP[D!99922òCÖ¤$&A'Ÿ`ÈsR’##‰rŠ_ÇeGF£ $Ø› ¥@1ÿž‘º¼eá¨þæõ]úÄPcZZZyWU¢mZ¿U Ô¼kué™Y¦~Õsøh¡1Z¢PÓíû©(JŽŒL®{ã}^¦dc8ìØ|T¯–—ÎWñGjÅ´†B¡HII©¶ôZ™T¦Öê$RyNN.=Žc*¥B&“céiüs¥R)ˆ“\.·Ú<{ö Çñ*Ÿt2t2©L¥Ñâ0©Í>sæLf8®R)d29ŠA¼~A~§PR²yóún1µÑh¸tî„RXEý¢F½L*Uªµr¥ª¨¨ˆ ð|>?!!¡Ú³³6§°råJíGhº6Z¶ûŒF£9¸ág©LÎO>Åd:±…¥fî€Ft§ ±´Ìúìëÿ÷J(ÚÛÛÏ™3G&Sj Ù·{cùé ;7ÿ»o µµFw¾Ó7od*½Wï¾¥¥¥•Í^ܻإe“²<ÆÒu{œéÜÖ9¸Kbøè‡º}û¶¶ŽÃáp–,YBäœäÇÃz´GÞÏcuë5È”±J!‰Ø»Îûý2P yúìyâ°ÙìT[Î}ûöýþûï•ËÆÉM ØB‚!‚a’‡—oqqq3µJ~îðv?w> þò)k4êÅó§–¿$=µO+–U>¢€“>¼å}cjܼ3A±SRR6mÚdYÕÔ §@&“+d××oß¶¬_÷–3^Ádû >¤½[¬í‹$ŸyÀ¸t›³cÙª7dž……o®²ßƼ¼¼ì‡7lØÿNy‘V€C°O`Ëßø¶yƒZò ?óÅÔI³ÒyïÖ>£z-‚ t:½B|Ù Ó'ÍLæ|˜&àäæÌP,ÿqrüÌ5›6l^»la«@Sß¾}(¸®oÖòv2ÁY(EܦL¹žó¡s!•š²=³þ²Í/»‡ClÊCQ#Š’„D"™,ŽŒ‡Éáx3Rºlêä³SÊ:)8†Vn/¯œš:g•ú}© Z%•Ψ|Äy“Æß¾y;·X ä 6ß<| سâ"wT¯]5mâñØ„Ë%ˆ^µáý$9‚‚»ûcÉÃqCûÍY¼rÞô .ö¬ÎNŒ£KWoÍí8|ÆöÕ3Ê7ë^“§A8ªÖh/^Ô¼™'±s÷ÀVwã“òòò ­Q@C‚ç¬>?÷^&d–|x‚áä=gíöÊkœ%&¥r?(ÝÑkÌìynCÇüpͽñ͇ ¹yœà@&í«üçs b’rËþ¥0Çÿ𓉠ØxüÆÃ2E€ 8°Mß.}T%†—o:r"»gç\_f"¥§”ûû¯wŸhQ²"Uq_‘„÷¿Ç©î—TæÔ»*NãØ‰÷ÕJy6î8uáŠÊ‡kÜ©_RZVNn‰îÐÈ߷ʆ®R‹OÆ}ØaD¦NZºñ¿Ï)FµZ]áÃas6ú5ïrøØÉþ=öC0Ì.U`Y¯ì;1²O'nT«?Ú'3”œ:skË–-Å¿È%î)¼‹£w‚ :­¡6µ×nmÛ÷hÓô^bAnÞM¶íÝ×·m#FSÁ¬S«¶½Û‡Üy™C«Wà–Ý¿÷oë_9†åiÖ¡G³= ‚P)÷;Aû©ýhµÚ*[T^¾áCº¿ú… –“Ç’Ÿ·Îý­)ûïG¹wWª€`r«®øÍU4ÆÑóÿ옷|«Êðnôîïߨ²C¹¨`òÈ·²Ë>ùnhÿ f,¦ëü°~ûÏÆ¢8Dg9ÏY¾aͬá•À”ƒ£/F³2‚ƒZ‡<|À×1u ¾ ý!Òšø–Db-›:tGäUƒ(tÖôE?mY4– zÕ†—ØœMï”Jå±cÇ!ÞX‚ è‹‡®=ÖïÿuùâéâzÃ!F¸ß’™f5Àh4Â0\íÖ µ=|8n0ˆ—Bd0è(F£ÒHÕm2ã˜N§'‘ÈT*¥J!Ÿ³fÕZ]¹EË>£—†­àædÄß1÷ž|至œ¯ÙôcU‰F½ÁˆQi42AÙpL«ÓÃ$2ÍD©jXõƒ¥Ò¨dÉ&áµ<ÑH€Ñ ×jµ(ön¥Íží›©¬6*µjÅiþ.ïV¯À0©á7]_çð*Y¡;VÌ* ÝnîÏû±¯,PVå Ê¢ c&½Êá‡/ÞðóÜ02 `ÚAú"ÿºvªÔ <6½|ã걓çŠÅÊ–§M›ìã^ùþOZ¸~»«o£{Ï^SíÝ3¼·¯m,³†&SA§ÿl:i¡Ãa²]²°¤™3ëVl½-æÝe2( u«Fþ.íH ‚ „Ê@`‚ðü¼;…)`ÍðUŠ‚cãáýÛS}žþ×ߎšö4:âzþÆÅ³hØ ø*‡iÅ…3&ÿßý7Þ^õ…%¢[n^F»_­(@AxzÒ‹,6?¸U»Æ <@È) ˆ¢€(@ÿÜêN×+çIEND®B`‚nted-1.10.18/doc/docimages/segno_sym.png0000664001041000007640000000165211520267216014753 00000000000000‰PNG  IHDR×>Å—sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ 937b÷ÓtEXtCommentCreated with GIMPWIDAT8ËÍ•MhTW†ßsg&f&æO˜vM‰"ptQ0Å…q!•&VÒZK(-HÌ"-Ò*u!¨iSš"Z”j«-©-ÄBªbE­R¬U!AcTÚ4V͘èÄI&7÷ébÒiâŒÙÔ…ïî¾÷œçã¼÷»ß1úŸ²ô ôì!Ã}mú²~‹6|°I_·ü–tCÇn•——«å^ä?“1…Ú¾"ßë&°ª†ÆÆzV-˜F l6ãäŒP9;ƒ…Ç»ŒAF)ÍñáË©`ĉ9w/lD«uÇ_?ð:ÆJå»?ÉÁ;û‘DÞòc±‚£a ¼n$‘1ëCìH74óÞý‘'eI’=tS’¾Ý!I2Vª²Ü±¸¢.J’ޝU¨¥qybPÃý§„åšJë½}—š©«ªfßé^{áuJöu’Lñ`?*œ$2ç¼ÁÕpt¢ÍA?éykˆ:Ly|÷ ¦¦ _îËì= ´çd ÆêÛúxš4þáÑ­Ÿ(žŽ$Œ1,.©$Óm‘·b/ÝŸ0Ý›ÉÖ®þ§CF£ÓPµ1HBókw1`; œeÝ{µüúp89$¾ÌÊ¢">opûD]"‰ì@ §z“'Þö8 ÙŽ'öSÿì°R³^ÑþúuÊMqéAû*ž»HM×ú“â'jÿc µ?÷þã A?’ð¤8š<œ(oÏJÇÜ<Ñ ±aI.’ÈYôñäëß”b\^š{¹qEÁ Õ»/åö;3S\HbOo89ÄŽtHóXÛ ÀŽ9ÙHÂåñ3`Ç:­iÉ HbióÄ`%éXÝJujžZ–I’\cƒÓí+ÐËH’ ßÌ—$y¼îÄ`Ã}×2¬>دÐõíkHbË•ûqïLÕ|,Ï4Îë•8dÓB?ùïÄçÉ¿C¨á­Å¤ç³}ç¾ØZMvêtÞo꘣°·k[ÃÍ­¨QÙK mpãÜQý¥M¶/WËJËTø¢oÂ{óÜ\ÿõÌ^wa4;„IEND®B`‚nted-1.10.18/doc/docimages/sel_for_empty1.png0000664001041000007640000003406311520267216015702 00000000000000‰PNG  IHDRaŸ§rÿ] pHYs ‰ ‰7ÉË­tIME×  Æö IDATxÚí]y\TUû?w6f˜a_dS@QSq_S¬|5+[,Í45+{­Lý•¾-V–š¥*™Šejnáj®È"*»0 ðÃìûzïï1`ærgPÏ÷Ã?Ì}Îsžó<ç>÷<ß{a HÐ0G@@@ÀsÌ0G@@@ÀsÌ0G@@@@ÀsÌ0G@@@ÀsÌ-(Ð’pökàÑz¢Ç U€Ä@Ð`è ˜#z%\3 DM‚žè1TݲsDïõ¬  Ò¡zÎÿ4 ×@78€€€€9æ˜# åêåßúÁÇŸo•hŒÐ³O2šù ©† œx_ûdá‹ß<‹b¤ü"næŸÛàå‰Eþ~&ɯnú[¡ÐpñwÏìÝ|ðì€øq3G½tdçþÌ{йO,P=ɨ‡ßˆ„9¢=öïÛNõ>uþäþôMføçҟй.VÆ•C'ô^`ú¬¿¿»ô­W翱55]>Ütì´Z#ëtÑ[þáã°1©Ñ¨a(]HëàæºÞšPÕ_Ÿ»óÏLNøýàAqï­g{û:5ˆŠdºi æŒÚZ#†%xÂpv?Jn6XWýÐû¡îÞ¹]Åo´µaƯ;·¥Ÿ6%jÔ#®ž@­$(Á.€‚Œ“OÍxáIŸHô)¨×4Þ¦÷¼íÈ“‚®/¨zù÷Ÿ¾7(zÐØ±ã‡ÆÍ_µÙ¦æù5ÍF³ÚbÄÌE‹æ&÷ŠZ£ººº¬¬ÌÇÇÇrŽ0Jù*²võgß°‚†y¹¹Oî­¹ÌݨCäî2ó•%ý]c*íSh0(”®ƒÅ©”K¤ÁŽ{Þ`dåææÚݼ¾.È äåæ6w¿çF#‰DBÄbœx¦KDbóðô¤QÈ6µüsç—[÷2þK"üñ«w^mƒoÅCcˆ@¢Ä$Œ{ÙkÅ·óê¤"š#6mÚ”––vóæM+Ç}Ø’A~øô£+¥MS·¹º¸X/¨´Û6n|oíúÇ8GP(%Ñh4óSW‰Þ¹@³C›N§Û½{÷»ï¾K¨_¤c¿ö]‚QB&“…â 3lƱcÇa1NÁ½‚K_nÜZY׌aÀÕÓãæ_†G]q•?˜%À„¹oØd$™L^°dùÈ#1¡P(Ž,•¶mÛ¶jÕ*§å­V«Õj‡ bM`”7ýÄï¿f\ÊŸ:Ý gSIV?ºíãGOþzøø£uÚkµÚêêꨨ("Ân `Ђ¨!NàâwíááA¤­¬ª¦…M2¤¿Ã9ŽcŸ©&Ôà«2$¬ûÔ=`À€¸¸8‹!pB5wïæ¬?«É‰ß¯2ïiâ `?/~³ÅBv™ñÒ[{þÂÇ͆ò0000<<"1)Éñ±°X,"Q&š#0¬‹û+áIÞ;~ÙÓ7vÜÞmkpD]ɵ ûó Ø£wó¼¥¥åóÏ?OOO'ì±®!î|ŒXc Nq­ƒJ0¬WPF.>þ÷¹‹b¥!aôä7_ŸK'ÙfiÚ¡¿Ú€âê?aö,[|‚ûžøû·NÐ7ràÀÈ~ ª­“¡»ÅD—žž+« .¹ÜDaìý==€E·ÎÖHöºœòô˜¢üKÝ?ct:‚ T*ÕîU«ÕÚ°XGºþ…¸óbÄþ^œbªSš; ÌÀPõê·^þ)ý´J«ü¶ï7u]ñfŠM:ã¢!˜NSßà›vìNîïm£U¤Á #'Ø?ziŽ0e¯´´4 ̇ªõ›/¿m–ëY‘ý87ÏrnZUrõ|F¿a£K¯çZSõPqãÆ 77·Áƒí|{™P(äñxÍ–Wú£zòšóÕêdûF­×ë‹‹‹‰´­ÉGĵqiiV# P]ÁP{y ý‚mËx®š% ú†Äs7"ÆÅ¾(·¶¶æååuÁÎí=p¼í¦jÐåÞ¾‘–f±ZWW3yòdŒDñõ 0´V¦¥ÙÆC·¶¶:âÛ‚‚±XÜÜì>¸¼¼œˆ%¶­#æÏŸßùÐwï¿Ìm [Xl´(`‚èöù“ç½§÷ *Îw°=ß{ftwæ±Xìçç7oÞ<ûšóùüììlœ¶[X]G Z0pb»eaÎêz‚Í;óeeeDÚ^uãçò˜óç;Z…_û/Ï>SMÈà‘?óCˆ7á\jÝ¾Š­3ïgäªÆ ­¾vt­V«“““ccc;‡ ¼ì¶ù]äéoü´é3Wªm·ÿ‹‹‹ËËï}»é;»³sçNG|Ëãñg̘áø‘››KÄÛÖï”TÞ<ùù®£®Qû2§‘ Ë:=£Gÿø]< 999€‘#b‰Üw1aÍš5~ø¡§§C{EH$™L&ÞiGOQ(‚lN&”:ËÚ×»Á` Ø5‰D&nd—ãµ¹C9¥ Èå^$âdBÕÞy:1£í#™bß(Ú¢Ü9dŠÛ‹³¦7‹ä…9jâÌUï¾ÉfØ|׃Lv‚‡iîà4î Ê™÷>­TAè§­RéÐ Ÿ? °ß¤`ú?y‚ȱ–ïQÝX!n¬’¢+B¡ÍfçÜ{6Ň`ï………z½ÞáêéN OÁ½!ùm)&ªfŒ€„§m°a×@=G">x‰8FVÎÝF~£X´|åÈ‘#Bf2=Å™88{;‘‘Ñ®ÐU4Þ:r­’æ2ÐÛ˜‘‘ÂÜ¿{{öŸ¡žƒâ“F% veX¨'¥’–‘#G&&&45TfdHöÞÒÒ’™™éáááÈPKJJêëëÙl¶}Í[[[;xÀ*yQâ‰êÉUAû’aÁæ Óé¸\.‘¶·´--ý32ìÜTônµ7J‘èõÞ6™ŠIýÎ-×Éî_–Q* š22îlÞP¡QÑãÕԲΥ7„ÏkXÞv¹ £(Êçó;‡ ªªÊÍÍM«Õ92‹x<^}}½}q4A"‘8Ò¼¢¢ÂY·6jjjˆXbÛ:¢ÃÝÔïNþdÀÀÚ/¾5lÀ†•‹3®5²ÏÅ2Ïþ‰JÿhÓžåϳDMÝž2mîíJñÁ°X¬ØØXk»< "//Ï×××îÛþõõõ7)ø:šQ‡ôlþãqŠÎîý~~~DÚêê[Änzw€Q­>´Z^|2l¤cˆ%Â"Þ<ó¤-A0’bØëAbˆ>³ãŽˆ+£÷NF!(#÷jw” £¢¢¢¢¢:‡àÌ™3‘‘‘ŽìûÐétOOOG”0™LGš_¼x1<<ÜÁQ˜àãããüýAAí¾W Îɧ0CW,þÏå´õM«ß˜óãuáÅ-üeÕg›·~úÁœY• aîíô•/ü²U­é ªËÀøûû;â6›íééiS¿íÎ"£‘N§l®öz è K"ը׻F£quuÅi‹¡ÆÊ<¡RÈdwzPÍŽÚ?_Py4‚þ`[d™—4Q‘“ªBµLp—<·Õ0~j ñ5±¬B¥ê‚BüŸ÷~~~AAACàîîîíím÷0A$1™LG”P©TGš;e&àO*çðM|EÒó¯ú3(ÿ¶nûß ¿Þ÷²wXäò5«ËïlN¿ž¾?aÍ2ó&íI•&p³—³ Q}S²o&¬bŒ‰N a3qƒê•×x!fûžüŸ`ê-æ9×õwÔù™|Ì…–0Õ+ / ±yŒ£òïùbþ1à#ˆ^+,–@¾Œ‰ý¼:‰zò„†ß8ODšÉ“#$ê; æþiä·« /ÕÑ#‡öõ¶ÃPÇk°nÖÐ=û,›ïH·<Íl¸í©•ÑJ†^èeG/$ #b¸øßvzÿ1 Ë÷±m¹þQÌ”¡3Úž c÷ ¥ôü_mèíû,SSSÛU¿ÁчÎ\ í“Jí?øóÿn;4¤¯=ý³Oci%·”Êâ¶&Fðì…‚ S'ݺu«³ª.Ê{>ÿþý,Ë‘¡fgg³X,…Ba÷"³ººš Ù Nª'_åÖ7WÊx×BhŠ ”Ö¢–ÆÛ4êL¢^_TTd±mã‰x­ô)3"@I›šjó[ (ÿч&PÔ,£k#Duâµ;g¡€‡¶¶&¥¦žq\Õµk×ššš²³³ÛBÐvèÎ;†Ëå:¢¿¾¾žÃáØGZ[[lž““S__︯JKK Y‚ : 7•\ðö -¬j䂜K1 ûpñðŸlÀ0ìúM€GóÛ„[s.|´fÃ?þ8}útÀŽ_Ža„‘’’ÒÔÔ„9†Í›7§§§Ûݼ¦¦föìÙ…+¯b¥™XÕ•–•þª·¶øþŸÁ¾®Õjõûï¿oñPÑ_ò·]T÷õ»IN¦¶ Ø£‡Òܦ5I|§¨Ú±cGaaa[̱zõêÌÌLõ¾üòËŽhHLLt¤¹V«ÕëõNñÕÒ¥K‰ˆ9ÄGøšðÙ² Ï¿ðÊŸv'è<ñ«-üòõ[¶Gz~þ³C¨Ã'~3|"@(ž9sféb›ž„é1>BÔÄ;ö×±;%Œæj°i•‡wÍuU6?¸yê Ûg¹5ãcg1?½¥Î?ÏÇè´„iž}ÂÙ½ò½*xoooGšwÿ÷>÷‰,]ûC“ðíYÓ&Î~eÁ´qO1Ä¢†«'ÇNÊŒ9ãä·Ÿ»R:òÙW`¶|ùò©ÇmJ=ÂGTd½ôÒ»œZÓóþl¿þ¶¤L`~;P5k‹º}–[5!Ƹ>ã q<9|Äo¿ýöh…ƶuıcÇ::áYWÿðk×Ïf? ’‹š¦A“×Î?¤(ûr‘MäøøxS¼,j³ˆ¦¦¦3gÎØ»ý Ój4F»s·ÐÛË“Á`oøýGËns<<£RH Ú,.óFõdÏ9¼ªóHZ:Æhé3³NåÎ"<âv0 õõõÇìkü( ‰£“H¢Ëw\UYY™Á`àp8¦”Ë[düŠ :.—ËÑ_SSS[[ûxÄ¢©©‰È@l[G$$X~¢uøˆäW.µuá’…O9À‰ƒa³Ùƒ¶c·äÆ'­»]Y‡a@Èÿ·þskC°0dTÅm=ðÓsÛîßi[‹º´ÈÔ!ØF*b¤`TO„äÐ{_’’’H¤Çö«FU1—éJ<48:t¨©43… _ƒçʲ²²ú÷ïï`/±±±£F x Ü>tèP"“ʶuDhhÇ//éUÒ¼‚»áƒ"‚ ò ˜ 4t²ãcPÉŵõML¶ƒÁöó³mˆ[°tÑòò†ç9jÀ:Lûvû¯MB™_ŸðÅ+V>;iÁ7’èøÀ ¡ð;UÄ lvqqÑ…††8Qgç°X,ÿP•îå#ÀwÎÿzßE:Ë{ÏŸgf&G„ìG#c¨£×@ Ê´m›¶¥h‘È©.L•VoG%ùÛïš' Ã;ù9Û ûÌ«#¦ÌVªuL77ªmOÚað;U½Œxúé§Ã «.Ñå®È ™B±ëø3“74<®ZO÷Ž·Û £Ñ(“ÉÒ¾Z¹fË>ÙãþR©ÔÝÝÉdW5.)ÁßÓ­Y¬xôÛðýŽIq6ï`¥Ñ™4:ÓŽ œ]=ì®:ÇýÜ눘”IàÞQ&{ʰ€[§Ž¢ö¨í6H.—_½’µþ‡ýæ "qÒì’’•JeÓ£,æι‘=0¯ £º'$&Fö êNÏÂuq¸y¸ôCÐ{×x„°páB‹Â"þݨ`Ÿ‘O¿zòÜ… g'ö\üÙvG·ñ †…ÓG˜¸„D÷ÌüZìÑÚTy+Ë ˆÅ z# Aï„£ëÏÁgNŸXûéÿ>~o9Å…9áÅ¿X½ÄáÝNämüýZÎÍêzAXdTâÐx–+ýL¾ðdCQ@¦`O>Ð7nÔÞCÇ[ZZŠ‹¿¿Ù…¥+Ë{ü””ñ°À†€!xÔù¨4zPpô&¼ˆÁ<~ ºÀC`N†1˜#ì^G@À‹ \GÀœ /b00G@8ñ"]Ck 8Ca`Ž€µ\èÂÀkî^çB‡ÁÀuÌm¥¬í`1 Cs„}9ò°†!€9ÂÞùÇ‹áíK*ž±_ÿCzçbs/ A/Ä×_ ×÷QtÜå ©ø»®\#N|LrDÏò—.]ÒhzxÎ)•Ê+W®8R ?9åq/i7˜! sssa­Ñóøþûï¥RiÏÚ  øáx݃0—ËÝ»w/̦Ү‡k;Ç hmm‹ÅÝfƒ¥Ò>)gN/)¾uuuJ¥²Ç§%\Gô"9räÂ… ðÒaÂÖ­[‹ŠŠ >Â)h4N×m6@>¢—›¡R© COËÞÛ¾O—ššÚùGµ\|ëÖm™RbÀí5lØ0–« ®[õW/ü3vòâýòùüýû÷³X,G†šÍb± …}ÍE"QuuµEt†‚€êÉW¹õí“ÔX‚Í;EÑ{÷îEGG?*³ªáV‚ƽ¼r®û»æóùžžžîîîC`ŽÒÒÒ“'O–––:ÒÇ+--µ/¬móʑ掠¤¤$&&†P"tä<’¦ê7æ>óîêÏ3/þsäÀ®Ä¨ˆ±)/UԵ⨺|è:‰dÓW@RRRš››ü”È–-[ÒÓÓín^SS3gÎG>³Äg_×fåÊ•ÐW[N­ÇNmçõH×;vì(,,$ò ž¥K—^½zÕÁîòòò–.]ꈆ¸¸¸ž AË)Že"ô³w ›³æ'"0.iHİ„)Ͻ¨¹rþ°»¦iëÎ}s,ìÃ~5ëJV}{Pƒ¢°Ìëm6ªKΫŠnÈÝC\ǽæF‡>p”U]ü‹K™>2¦Û ™0oÖ°²ëÇ¿IýSTpqÝÿ­ûëè™JŒª=i´¥Êpbá×ÍœÈG˜ÒùCME¢M“ {ßð*Hí{ùÿ|¿,zìùˆ^B“=n|D~~¾ù¿ÅGOÕß¹0q⤯¶üèfú‘á5€¼ÝÛ÷¾p`íºµkF´µ*úç¤>0V“¡³ª..qRéÝ»w½¼¼j]]J¥²©ßvgQS“D"!ؼùž»Q‡(=dæ? žöõ®ÓéZZZpÚ"€D6x’0’"B£­ú@ú{^ÿVŽ{[®Wpåv; ÐØØÇ áçç·Ú|ÉB™£;JRÈvÒF|>¿´´T«ÕZ 9Z[[ïÝ»G§;´\*//ommuÄWjµÚ¾æ¨Ñˆ@"Ûÿa<‚–Ûö-?­Vkþ£o¤?Ùh¬­*¹~1«ßóÓM?t¡$œ¬VÍÚуØnS+97ïà?œg§ùÖÖÖnæïOœ´Ójµz·z½^¯×Û­D§ÓF‚Íu:£é$ŒÙ×»N§3 ÖÚ¶T*¯F1¡ #iÍÏí „‡3l›mz]Ç­mI‰‘´Öñ¶Á`ÐëõZ­ wÖQîâNiÑÉP%éØSj^[`_”MSÅJÀh4êt:'•V«%>+¬­DlmÞÌ/ûæ‹w8µÜ}B¾ûáÇfåC°_OOϧžzÊÏÏÏ‘pæååùùùu‚M(‚Í90hAT2¨¥šÖz-ÍJ¥¶Ú×»V«=uê”Ŷ’jù‰yd÷f¦é_7E$»Z˜üš·­]ì÷hö p— ì@Rü|å³+ÑìØ:ƒ¡MÕ ­Ôû¸2ðää0Âí°SŸ êx{c$0ãÙ ä o;|UXX8tèи¸8óXDzzz\\œÝóÁ—‚‚;”hÕJ¡HLc²˜L¦MÍ¥.š—[^{Ÿàkä6Ô´.˜;ÃãÓÓÓ‰tíÐ÷>’Ëâÿ~ÖáÇb…@÷NëàÇ`PM¿3ƒÃƇ5ÔW0™LƒÁdºØšn9>Õë/ý,ÉÞÇlâédTʲ»_k]_ß‹Hk™$-;‘lGUóáeWA‹Ñ;„Áf»Ù³på(¯ÖUç’ÔŒBWÛcjÊg6z!؃&ì$Gw.ôZ>3j2ïÛ¶soM£€îæÑÔjÛÞßßöîÍþ7AÈ4÷ØÑãzAäÁªÂ{Y€‘ÏN¦ø:u>‹B¡˜·’Ë$³fÍš5k–P(!þ˜Š¢:ÎÁǺL `»•hµZE 6×éH=ÈøŸäÔ—>FÀU/1Z[ÐZlkpÑpÿ”Æ\”Ö·Ÿ`W/Eéâ`Ôhlf4uêM]¤µ÷ #=F!‹¸R±Ê<ÿ­«Œð¦…»˜öùÊ`0˜¦Š) Š_k88©ôz½µÐXß?}¶tÍw*=úoO±©y‹¥QÈ:ƒÀdy¿½zã´!öE´Ü6>âСC]ôªýy4!1†{XÆ ×ÿ¹œÝÜ– á1 6y¾¤äÞÔ)“éLW@¢…EÆõ¡Ù8‡C¨­ƒ{¨: ã—Ï“^]…Z—¹þ×N¹‹=TÜ‚”1Ã(ÿ>0C¦Ñ{dU3úÆßCUzNÿi„t1Àl10üw@3çžÒé{¨²3øÿ_ïøv»÷w™ps·l E{°tUÚêԖ楹Mk‡ó‰=T(ªÛ³é“@oVÛÌ´iŠêž}j r¿T§ÄŽ˜VZÓj“ëׯÿûï¿{ã*"u—¢µú“/~è9â—MŸY»#i¼÷Á¿ª(>…µbÞK9ÞÚDsóuq±ë-ZU^xõZ¶Xi(*ãL²‰õìd†LiËã$ÊŠLJÁñÖª2u¿$!3XAvÞfÃßá”[ôêxj!“ Ì?Û„ºÐfºˆt¯DušÍ‡*^j{§·Nÿ±üã¯5ÿ¶4ê4ž}"mà}ê¯'Ο=s¶ªNзÿ ©S&ù{¹w3­öpù¼õ°J²zéürØ¡ã¿G¸YakÔ{vJš<5§ ÷ÜT]¸[eÆÊ¸®Þø›Í¶}Šè÷nY¿î«Ÿ„2‚¢£Ù’":šññ¶½V̧sêJ&x€ãRXq)¬Þlc‡ùxæ?óÆŽ±Mɵ»Å³ÔÒwðÄeï¾c“/ÿЗßXüÅÖ6>ÂÚ‹˜´jÅ‘_̸#ùxÝj ä_¹Â·(Vtý¬‚Ý_É»Š£Ê„7_ùÏþ—4zá>mÖ¼Ñ=lzÔ}¶üΕenl‹(†¡•6é±ÛŒÖ"¶Q‡´Ò$N ’N§«¯¯·ØuE±R* »r¥Êѯïc‡‡…ºr•\ê8ƒÁ‹ÅCÐa> ï\¹d“þ𾆠Šä6´„³â½·«îܬêF_ñù|ƒáîî††">·mÑi‡&¶ÞÍ¿q"ãÒègæžúdÃŪBEMAæí–W_VzC h*c¢ûY=9W}þÚ Z«c0˜4ª‹sÕ5æ",nÂ[‹±è6h³Û ½èCüühN™Z­–ÉdZÜÒÌQ©TwŽH$’ãJ솲Yê”QÜÜܼ¼¼üüü:‡ ó|XôÖë6ÍÓ)pàÈ ¥BHWWf÷¿a†Édzxx8ÅW ƒˆÛøˆ¨¨¨v´ŽSY! ‰JúuþrÏ.›’I]¶8€JF ÀÇ'°ƒ6§cÕÿ­¬äÞ*åb$jlÒøo¾þ<:Ì¿›–g ×gO£ÑxzzZt—„[[Æ$EE9Ø™\ó°Ã7»äÍtº.**ÄqUýúõ‹ŠŠê‚œN„Opp°S‚emR9Tkt€pä3ÁD ×Ј©¡-MÕl6›N§ûùz>loz†D:y¶±± é¾ÝýÊ-ç]bð_ˆæ”×¥õø+׊HošÝ2z’0A 8Ø_uuErrrrrrIi¥¯k7ŒæÂˆ¶Ü&H¥TƒtNѦÕj5EçËd2½ÞÍñ¸ (*è^µ[ I$z=Í)( ‰D"¬… G惡R©d2™S|emR9Tk\¾|ÙqËÈd2`R§hë”û zRÖ✥8† 4È¢»xEz‰$úòå|»Ðëãz0M\sùrãªØl6ŸÏoiiqnzx<…B¡Ñœ@uÅÇÇ ºmëˆ9sæà°ÿ™jÆIDAT\z ˆžüÐ;ºÉ¨U^'͙óKkz0¸eyÍ GuÎ5 ÛBÐÍ(**JJJJIIé¶á·ü©û¡…ÆÍÏøø¹ë±œ³Ý&ÂoùAÀÊcÞÐ å ~§Ýf¡[âGFŠ£îÏîÉYHrÎ(z$Ý F¡Pº³G <™iD%ú°¿Ô>ê£àñòw4M"xå•WÜÜܺ³G‡öG@ôx1Ìò¦³¼ùX3ÝiÑ#ihº¡¡¡½´Ö€€€x2ùˆ‡è0‚'+G@@@À_ÚA>Ã00G@@@@Ø—# ‹a˜# ìÍ€Å0 ÌöæÈGÀb†æ{sä#`1 Cs„½9ò°†!x2áä÷Gè4j”D¡Ó¨Ð³¶LeL­V+•J*•êááñHæ"|„´…ûÁ²eÍäàï·nèù„{ÇaZ­V©T* ‡STTTRRRUUUÍ­™6aÖδïà¤ì†@ôÀ:Õ)Í~öÈõ*¹Íù×O¸ÓœFvÜ»wO"‘tƒ;’’’H$'s4z½^¥R©T*>Ÿ_\\\\\\QQÁåry<žF£1ɸ¸¸xÑ"ÔYÏ:Ø—R©,..îGy{{GFFÂóæøˆ l?r½tú‹Kã\›¾M;–vôæ{óF9ËÊwÞy'++«Ü¡R©LŸ´?W¢¨J¥’H Í Â»‚ü¢¢¢òòr.—ËårIÒ`1(P(ÓWCBBâââbcc €É=³7;ú1»;y¥Ó'¼,\|1W¤J°šv=AŒÉT+“†ùò¬¥¿ëíKÈGô®uÄÑô]~Ñãîû‘©.ù6íØõ;§˜#ÄbñСC©T<šC«Õòùüþýû[hjj¢R©ÞÞV_]RRb0lœ…˜F£Q©T‰¤¬¬¬¸¸¸´´´ªªJVá'(êA€D"1™Lƒ1޼4ç›ØØØèèèðððððpsö¡,¯98ú]/—>ÑcSã€oðÅê‰)w´þV¿Üzëg~ÂÛÖŽ’$!¾5oâ/g ÅC¸...Á(ŒÆ‡øá‰äëëÛøìü•šå[·yÐÈ€KA™Á™9< -- ÿÇ|>ÿƒ>8räˆ5­[·úùù½üòËÖ†Þåç´Z­Z­6§*++¹\nmm­)Ò‚Ðéôê„  >ññ3âââ ±>^ûó¡Cµ~f³YÉÉÉþƒ/ö÷|kf. ³&ð¦''Ǫ’›§k37‘qôÿ²}ï7›¾B­§<ðÀYÅ €LL=ã,döîK›6}ÒcÀGLš4©¡¡ááéwwwçr¹=¿Ž@u-ÕÃè¹:i‘Þ ˆjkk·lÙRYYYUUÅårµZm•À`0CU:pþÀQ„D7g–³kKÌQ#»Ò€aŽŒH$Ú²e …Ba0l6;44466ÖD%DDD„‡‡oݺ544Ô´N1}HÎÖòØñúÃ)Á°.¾jNÀT< *æþk6LxÝÇšÀºåÝ»w­²*[³w²žiMàòfwW‘ƒ|ÄŽ;þþûïnÈ_ýuBB‚µ£!!!™™™ÖŽÞ½{÷СC_}õ•57Ž3fôèÑÖ&OžÜM9ÂTk¤¦¦ZÉj€£i»Î«Å?¿Ù7d0'ëwŽõŒRǯ ëGÜJ>Ÿ¿ÿ~‹…WŠ‹DÕÕÕÖ,dgg³X,œ:¹µµuÏž=ÖR²@ ðððHHHˆˆˆˆŒŒd³ï´¦±±±±±ñÚµk¹¹¹Ǥ_Á @õä«Üzs ÍXó<´µ5)5õŒÅR ©*k H’ÚøÔÔøb ·4îå ”sÖtºdSë‹@Kã°ÔÔ |ýª ¥õkxrFFŽ~¡pXF†ÕO7T$hË©ç;’H$ ÃÅÅÅbÌqèС[·nuyK«Õâ\ç1 3 8—qƒÁ°k×®[·nYÉd8®àñx5558UUUT*U*•ZËåÖBÙÒÒ‚_¿ÛSk,^¼ØÚ¡ ïýwÔóÏï~i*WBʸqdê0«µnÙÕ¿žzç™Þ†eÞÉ“'çÏŸß%‘ŸŸc¡J¥Âç#vïÞ½hÑ"k‚Ïçàð"‘È|aЂ¨öõrÁÿÕà˜W–ל~AgQ@«Õ~òÉ'k×®íÒQWŽÖäÔÑ/Nê‚hÀ×gæb«1ÊYÍÁ1õæéÚÌbòâʼn½PÿÎ;Gg1æÈËË{á…bbbð}µdÉ’_~ùÅÚÑŠŠŠsçέX±Âš@ZZÚÌ™3gδº&úé§Ÿp\‘ŸŸ/‘Hpª««'Ož‘¦U…F¡0*++_ŒËÑ î!YÅÖÓe Nw5w bqtVVn/Ô_^^hhh°sÔÕÕåççw¹×K¡Pà˜ZUUUWW‡#ÀãñÜÝÝõz}/Ô¯¹c­Û%.\hQ5ê–?;äù×fP]cÖ5ˆ‹ öüºïÀ³gÏüþgF)))ÍÍÍø2555sæÌÁزeKzz:Ž@RR’F£±[ÿÆÛôW^ÅÊ:o‰§yinÓÚá|‹‡4ÍÊ•+‰8êòÞ·)M]ŠZÚŽgÌBÏJœ£Ùüÿ¯ïúwìØQXXh-æXºtéÕ«W»ôU\\ÎѼ¼¼¥K—â¬^½:++«wêÇ×ÜG9Ëìã»¶ŸÌö4þ—ÔCgß–éX–·*zÄ ]3T­–—””Éä§§>9KÈYö gé}H@» ˆªåÍåkˆì¡2tu5UÅe¿PƒÑhÉlÕ˳wž~À~ó¹ínªTgŸ~vîb…áþj C …§9ü¹6ÞˆÆv>käÜôiÓˆXRnТõ%’¢2‰B ÓZ¿¸]c*±>?£I*Ç*‚лk¬ ìã‡g*‰DÅ‹®É×Qg¤î!®ˆ%>¡M ¡N €‡­úís=´?SÊ%w ÄJC‹Hö°ÇèÐsŸ"±nâ«Ó$ävFÆÆ=E3ûr_[3±ÅH?káºeVm>xäHÚô!k̆†îÙº#rü³Wnwñ®$µ¬aÕÒÅ»ÿ8­C1•aá.)f”ï9—÷À›$ò}n.ðû¹ÚÀ= êù…oá4_°fK—φÛÀÝè”9æ^$À¿Ý0[eÛçéî]ð&/Ù¿ÎR+ç€pÿ2š^ @Õ€ò.Åþi¸¦JÌMí,0h‘Ö&3;Œ”„0ð¨AõÂJÈ/ŸÜ»äÕ÷j[Lÿ5~roÈ&î´´´ÔüG×@Fª*--•êP†±¥ªåCÖÿz&ç™HöSãW«¹æM8Y-œÎª:໕oüz>Ïì £¬¨¨ÄÏ™´ëøeŠ‘©ô)³__þüHsµ#bcûz×µJ‚ø‡ ü쫨€[* Ú¼µÓÔÔ,“É,  ¨Ã@ss3™L6 4ð˜F4–[wc0’Eí1®hôr¯ÒR¡yà y9.Ά¦Eý:N(Z<Ô’OK=œôï~YÆ”+k;ôÒY ¨U›+ kÀ7µKû®0Zš½QcSi©ÒÚHàÒa8´ tË®¶¢¿ \.—L&›B€Z’1ÅËD0yyyáðyBÒjµ8s•ËåŠÅb@PSSÓY Ký&#«:éo)¿ùÌ‹o™_üŠoß*MбÃ~|Ëíä,E¢väFž~§fžP8vöKg_}afüðþlι,‘×DSHmM´’ê}§‹ÍŸ} Gà×Ö»¹Z~+jT0ÛJ„È/¾½ð½^XñÙ³oÊeJ;˃áBUˆÛ Ð"÷ýqD,–`$ª§›„t´¿¹é6AÅÝ©»Ó…„BóëÓ§ƒF–žºóJ~±Æ€êôÆ7-4 Èd£Ž4ñ ™F|W#¦ÒýÔt7 ‘ŠÌKT¯áåD›ÿÀ\Z_£§»Q:¬0u:F£é<|Åîœõ5?ó¦(y…P$êHVeùu žÜd.6ñ €c*R{ú[µ°8Ȩ#¹Ôƒæ+E"½µ‘|±B$ã¸bàK "‘” ~s(•J‰D"‰L!‰$Öâ¥P*“FŽîìUó Ónb‰´³L¤R©ÅдA£ÑÈd2s.õ›éî0°_»Ywðïóæ ÂÍàħ§Ú¤ßÜ6ËÃYªš‹ƒY^gr9fä–ÜÂ0lõ{“f¯Z‹aØñ­Ÿ"ù÷+ˆ%QaÞÎ_v§¥¥=÷Üs€ßœÅénóª×Y®L:îÆöY¶v³Æˆb=ËÇRÙ.^¸Da˜Õ«…Ï‹7wæ†/6™s–]bÏKMˆ·©†eLõ–7j[DšŸß/>½³^£4 (g‰¢¨L¨9û[eöÁ¦÷ý¤oS oÓŒ+B› ®K-vÄÏV³:¹b}¼ØDgšþN¬—áŒTi@ñ]ÑA KýD8ËÎñú|ãO]!Q-v¤×é´ZmNŽUNÑ$ðñÇwàñõw6rÙ²åæ Å7† eÐét#jظ«w9öÙï|ÎÒ"~1¿l]ñÊœ{öýž2:á?fÏ1^qÎùµ›˜øâÊ—ÆÂ´úí¼-|Ê«k·JÑås§üÜ4>Êë1`Å-u—¯^o+|üû$ãçéÖáÎJ~ö•’{ÕÙ%*vÈSÃbÚf«¼Ò3YÑŽ¾JP)Æ$5TƒŒ©7j˜ÞF¯~†§D¯áÚ±º¬~‚"Œ‚ú ã– _¿¸šVq8œªöÎc÷Á(4„DBjkk===ÝÜÜä•þzB ¬o¾ãQ4ctd j-^ă~3óä®?Ì^ó…æ-zgòˆx7ÞY=fH„ã“Ê9“Ö eeeÑÑÑNËaÔ5P\‚¾ýùö‡K†<É·§º| „sæ›ÍÚ#<÷½V¯Áay…¡SI¦ Jš¸‚]QR›øœëäÅ~!nÎêñÐö/^y÷S#ŠHdJÊ‚ONìúb‹À#Gß‹­Ô>q:`@âÔÑÃH ÓúøÓÈZñm†À ñ°A¦¦-ñ¶ðJÅ¥—Ô¨ÔS#gÐ02ÃGìæ©¿h ÓÓô‹Ë> öéKÙÕ}ÒŒÿ¼öüÓˆ]G¬˜ûÓÙ€~9|iñœ±`‘LÚ‚õ{×~ôÊ“xçpûæ“V½úÄ€ˆ_Šm€ÅW–,Ø{ëy뿟ØáOþÁÝSá>·$<ŒÆ0ÅŠBð;F[ΰêà͈o_(‰ ë]$Ón؈ññDzSÒnqòÌÁïU ÅÐÕgv±YPW7Áo>[(ÁŠBÐÆh…DTó„ÛQÓ{¼ð¥ÉΑ˜YOÅ60b¢££>ü>ø©’ºæc3~a\‘ô¸ç{‡‡ZR &çä„Í÷P!Ãáp¶mÛ–””„UñZÛaC¡¬kQI­ÏÅäJœ'ÏÄ60b¢¢¢vïÞý>¸§¹õÏç)¬æ/øþÒÃ;‚ybü”Ñ6›‡UñšÇÔÊ=âˆì;fêŠ~؈ñ±vÓ¤æcªKØÒÞÍ?{} û¦o¬Ïú¹”‹u…7úó'eó.B ˜4íSWôÛöBPhƒ6z0° ã£Ïâ?Ó]ÅÜαpð˜8sfŸ®-Óû]|Z¿Ü®`]!hc4‡D‘Mé7J$&R÷~‰`å„/¥'û.ßoŠÛ•!FŠ×Ûx½-oè€Bo>¶ b@ÐÆ4‘ŸŸ•••URR2räHÕɆ›ÃÂÂ̈(IùãèÓ* Ì N‡…Å6Ð+±±±999_|ñ…Š×óù|¡Phaa¡“Òóóóù|~XX˜6™<}úŽ9’œœ¬nÚ†††´´4-o@)Òü9yYplóú»f&Ð –På™zVËSÿ´%Ì‚¬nql6›F£™˜˜>SRR’’’BBB¬¬¬ÔJ(õM¹zõªê[SScnnN&“µ¿m&“ 111ÞAô ‡Ã¡R© Eï6¦¨¨hÛ¶mÒãÍ›7«˜jßÎu"ÉàQ£)¤šÌ3AÛŸKÏ{Î š¨³Éîó”ÄÇ‚w&¾…Få%îÞ½[PP0vìX¯?qâÄãÇ·lÙ¢“Òÿþûo.—«zér!‰±±±¾¾¾Ã† S7íÞ½{´¼öhîÒü™÷öÿ™?à­Àºi=ëŸ9¡)¿üºÑÆäe3Srå¢ô€@¢…Ly[ƒO™qãÆEDDxyy>Y,VRR’¿¿¿Z +**öïßߣGÕwÚ´ikÖ¬Ñ@EmÉËË;|øpŸ>}´”–N:ˆ¾ ^´hÑèÑ£5L/Q™Öo‘ª§Í @r ¿žùo?sÙ„™Íf£H¢#„õ9þ *@– m ¢Óéª_>yòd]•îïïïíí­e&Ò;.\¸ AZ:¤§º}©;Æ€ÓLžD"9>Ñ­¹Ý6եɮÒT¶>?i\nrr²qè3<< ÔM(ý€ SK š©¨-ÒÝø### ¡ƒè—èèh“ëÝÓŸN€Nч~SŸò€@¤l½rÜÆDgE˜;æ:»@„_-ˆ! àÜüär¤ïùˆóò™âí7Ê¥GA?ϺBŒ½Û˜¡N°köˆÓ²uÌ£¾Iø|€µ®òÏ?»diL>H$ÆXsñâÅÇG½vŽñÉosEbhä>ùøïÂÖ*MúßvtõY1ÌÎhyÓ¦M;vìÀ¦GÚ¢÷iC‡‘vp³ôÑÍ éOÇQß\^ «Ìùì›—¼Ñ8@"‘‚‚‚P²ŽHPòaT†ô˜lÞ7n~PZA¢¯X·¦¿{(–>gÿÝbLKÊNŸ>M§ÓW®\‰04ÄU·®$>x’UÍYÙ8|sÜ[œÊÆXzZ6›ÙŒIúg‰Îú–hãøéSÿLËtD%!BÖoæ5…|½ûÜüßáæ÷iÈ\BÉÑ<ãhÎ#O$Ǿeb"ú¶.¾YùÝñ[Ÿï=ö“31‘ý-^ѺDýÃ-Ž´4EzL4¡ÿ|ëŒUg%>üiêI—ðÜQݶ¡šƒaÝ×·¤TƨSyZ,¼ûéœí[×q„bšCŸ…Ë>ÛüÍb'SV¢Wx%W¦ùOÏ“³ÓJfÂÁ±ãÅÂÊ^½‡*.wô¶„ƒ3{ªx“+W®ÔX!~Ǹ¹¹)ø«°>cÖ²cÍ?½º™?.åe˜»tÓ¾uÙÏ¢3M+ûÊJRë®:é‹§£££f÷iee¥ABF$UOhmmmnn®«š¤R©|>_ËܤàäC$i4Z{ ŒYçÞ8±àÓÁ*ŽYKó'g™Àª]«–]€‚¿B‹3‡RÞ>%>G”×Áwò®ŸÏªíªeUÔö?µ´†µÌB¡P©T 2±¶¶u?¤¤[é0 Õ %‰š©¨-\.WÚ£µÌMqÑLŸÂ%^ö#VÄ­C&¨QÕÚ(D/ßògMHmÚPÖujä+½ àM4ÿ©OŸ>CÆü ¢Ò1k¹XJÅÝï4ÈÖuÚ ÄBÎGK/}ýÖ´‚þ‹ân¥=¸ùÏç“=ÊÒþþà ·¯Ž=ÆúGô¤Oª‡YûîÝüßIÜJ~… çu?ç_zmõÒ 2¿3 Í÷òŸØä¥Ü©z 0^ûü'ß-{i ‘@U˜tlWìÙ³'666>>¥o49UÁ¤(P­ßÖ [ÅùçIݧÆä@Î3~뻼4f…>?Æ>í2ÒõÛäÒˆù~¶îa#ì±}è“bAëec‘_ε|ÓPèn­Ú²+l®ñ•>ˆŽmŒDÈž?}OóÏàc1žf&|ǹ¿ð˜ÇÄ?Q‰²½322P÷N[w³ö¯¬X_¤8·Ñ[¿Õì6w1_€DÜøåÙ ”æwF9ì¯_¿·™Ø(æoœ8ócf’ ™ˆ­†ú”«Ï­ôIðx7õûk×îä–TJÈ4×^Þo½9À¼#bIèØÆ<Ýÿ^|•Ìövézhª+˜2LIÅüªs•õsmÍPjˆz¯|w3¢ ¥F(gU‹XÄ*Œsl?bÅÙžšÝŒ¥kèöë•s-ìæ®õ|! µË„¯œ,·>çðk®Ïý=;~‘'¶Ýë¬O3†ƒ³“\}6*\Œ¥Š>)t×±S\;üÙuù%VÎ]s½ùçÆóß4åNœkk'³ktX\mÑ6é|Lï&p>æõ„WråíÞ!á¿¿Ô@,\ùWΪ ÕclvW9j?f½>|L;ÞöOӦʖ–¥lØm÷šë³ž]–—W)WŸögèOŸõ;&ÿìüt®¬í‡ÿðy¯ËñÞÖ;‹jo|öÑ»Ý"‚©½cŸaþïN§'ƒ¢qq–Ϋ32V£‚_s”º›ñ+ŸÈ=?hÖÂøí{ÌHÄz=ŒY»Íýyü­ËG§Êy‹tšê{Ÿ·ô@vÃOTôù­õ)¬¯{~üªïŸbJ$ð[}pwÔœŠ6hè3xðඦ§1² ö]¼}m)MGÒXšQÂiºœ@bØ8tw¶§|ÄÙÂÂB&“)÷©U‡ÉdöîÝ[ŸêÔÔT[[[ åòòòjjj|}}U¼¾¬¬¬®®ÎÃÃC'õ–™™)‰úõS3DXW[Ë«ç‹Ä’ E(•?÷ðð ÓåìÁÊJ/h+­Tf1È·OÛóÅÅÅeee>Þýxõ PB ™RÍh45:ojjjëî àd¥gqÜ|vQ·BÔŸöDöêêèíÛBÒ@ š©¨-uuu™™™={ö”®!Ö˜§OŸ’H¤Þ½{«›°¬¬¬¸¸ØÛÛ[Ý0‹ ==ÝÁÁÁÉÉIÅ$iii={ö”«"u5I2!ççf¹¸¸ØÚÚ*N§\ŸD³Aåtªªª¼¼b”) :{Ys ŒÊŽQ&íÔÚD ’âíííïïo”1Êhrýî½JÓj¬Oà Íg(1ÊJ¯¶lMùÁY/â•ý3Ä{ZB«%Þv®=¬_ˆÏ-½þÞ€‘7Ø|‹5ä¾3üý¥Ÿb¤ÃÖ°vÝ_mOŠE¾B‡3m¦îµA"ªùñ«yo 8iÖö£7^)oª&°Ý;¯&Üó¯âä«ÏW‰ÎlÌQY²CË¡;ýdnÌkƒ3yaÄŒ%#¬L`NƒÒÊ:Vν_L%5u0Aíƒé£7j\4ÆÁ4šakgì,9û”˜P=viw’œM]7æ‹]GoݽwõŸS«çùœPÜ2xr«¤ùxwøïÄš¬ÍÿGq«ÏW‰ÎæüïeÊÖŒ¹ÿ ­5niÔîŒj´úTzøŒ¾Ç}ÎÜzļWË]Ý3ÎçcŸ…¿HS1l]ópE¸OWuË}Mâ`v T_þߥgKù“aË.Þg‡|¸õH‚!¸›5sâØ­¦ÄÁXÙ´AÚ¯¹Ò*ct9ÊF3u9ºõÓw‰J5I¶è¯4ÃÔg§´1¹Mq™>]+›^.Ž‹€ÓއÏè žºÁ#fÁñLX.Ç€‡"~½z­Túó÷ÏâïÍQ«Ð×'¦Á÷õ–ÿ·M¾Rdúì”6FÚ©LL—;É–»0“™°àÙ†ŽSºÃŽG5Ù'¦7§Ztl]¨‹lò†õ`€Z6ã` vî«g—å ”÷%퇭 Äݬ™)ã·ýÒ´¦ÿÚËV%ožöœ/€.ý>=·¨7ŠGuÀ'îÜ©£Ó©CÓç«Dg/R^d0eŒi¥,ä `¾£l†ßÊ}<ÔWþŶ4e÷¥ït•yþ êҘ꼕Hã`nÕ ûa¢t̺½åÿ/¼ ݰõàí;é&D`xξ“ð-@"æ^ˆX<ö»»`n?êҭκ¯’A©‹WzK_oß8•bh6fðHZV‚;Œs€äÙ‚1³®Ó@"æ+çµN¸Ä«eÙuHUgi̸£ó° ;¥cÖD’JAƒ–]¼¿iÑxsñÅ·?·%ßÏIŠrélÁ‰©Ö“S/% ìÿNöqqóäãbÓuÊ—„I·ó’3. ±¢ x´W— µ§þJ72Mv:óÁÖ?ø´&¾}¤+ÂÅBöƒ‡9´ý{w•…ÎH»ÏI,=¼=é-¬®àI&«€@4ÈWµ7qþãG&®ý-ÉÐÆNtÌ=ÅÌi–̲b=ú`J„˜¾¾¾$’†ÿ,=’¾0`4Öæ>Ë«síçEoòÁp˜E¥œzÙ,ÙŒfk×ÍÁÆJË×ßNìƒÙFŸu5Uíú`ª . ‡}œT](¤™æ«Ôdk¤>˜í¹+}R#ôÁ Ùý-ÈðÙýŠæ“û'v·ñ>Ôüs»Üf&¶Nxa¤l½¥óJïäêÚánïnÏîõôÁlÏSÌÊÁƒf¥/ÌÆú,¢Bû+b‰a¢½¦Š° 2ïÝMÍ)©ÑU†Ð }0ÛÓ§­ÇhÇSçêÒ̳£@Ì6D$ú‘/À± mÍ“*ŸÄÜ|Ç¢Åm¨_W`ݾÜ:áÞtÙ¾ýBUøb?‹š²âÇQ²V£Òí{Šqʲ¹\¾žÊÅ1kUèêâ9Øo[7+Ôg[}2³ï¢ºŒ]~ö \÷×`KJuÆ3÷Ý—ž!Qœ&|Ý|ó4gà–iÞm½&gg\Uȶ«´Ìã`¾„ÒyQ‰ˆ¯¿ÒqÌÑRŸ¨.ãF—û.“(NùÂyüö˜ÏG¬ ßÙù˜X´Œìw: I$(ý§ºaŠ5$ü-3d;Ð ý:ÖÛ‚¬J)ó£–3£òYwºþn—ÿ¿†èVŸÍÄÄÕ…6F%œÆm;½äǪ̀‡»æ Ìx°ï×­‹m[Eú3·ÑyæÍ°exÈÛ!!ñ†bc€Bw³*y »Uñ›tà¶¾oûu^þúSšuo+Íô9ù`ª££#ªËXÑý‰ûnm(‘HþÞµ´‡ëÐõûΔ7Èv£Xîd~yáÛÝú=p¥€@ MùáÙͽøb¢l¾ØØGrú0nº‡€>ùuU— >‘Wac€h¶òØý›Ñßp£óJS·,ŸéD·øöì¹s§MžP/–@uú¾Xâ5~á¹{Åq‘_v5Ñä6Œ,¦Òaëzæ}9ß¡8/І>uÏQŸˆ h–,77WñöÃg»<3óΕ¸„«÷¤ç=¹ýðF-¿±ekäåÑWC‡wà*ͪ}Þ¿xñ} îM8Žö9³X,())‘›Ï©…“[“(rNÜw.týWQgn´ŽçH¶ìþþ§_­]2EX\ ÖMWUUñx<}Ô¡¡Áf³ ??ßÒÒ²ÓÝ|{*Ò ¨¨¨Pš›R}IV¯@ŸÚ ‹ËÊÊ:‹¶+**@³‹ÅuuuºzR¡P¨ŠBÚC ÌLJ††>þœÉd4HÃÖÙ)wòë W@ kçY’‘‘QTT4vìXÕ“H$5UÕµu<¡XB"›Z2ºrÙÌŒŒ ???ƒÑæbAâ¿×»›1Ü|üÜÚ º'6°«kê@ QÍi º%I£×C.—ÛØØØöìììüüüQ£Fµ7ál°”——[[[“Éd Ò¾$KÉ$óÉ#///…©”ë“Þ£ÿnúÖ§60™L+++SÓÎO¡¬¬ìñãǾ¾¾666ꦽzõª———Nî„ÅbÑh4*•ªaúWìX”}|¤´Ü­\5 µ|0Ûs7³ïó&´ã=ש;)¯ÌÓ@PÏqÛáßØÙ¶“b8>˜Zòª·å³ê+Û $…e”oÇ æEË3n´;d‰ÃÖHÉÂÃã” ©£>MyÕ6Æ´‹·lÜÿn•ñÕ&º›!Q–5¹1¨ODOè~$ºúIÜö}Ñó*mÜÎÿ|Õ˜Þ/8Rh²Í9™ƒ­ã9*u7#QìÛ›ê@w3DO¨ct˜ò·QÔ'b6†Wú§çÀ –lýØ?ÇþüÃgÿÒ2SM¢º5ý#—`u´çbÆpî§JZ¥îf£®yyu¦X[HgGµ£Q*æ†úì,X°ÀÛÛÛ8mLú÷›X­(‹+×L\°Œùwsà²Æ:™“÷‹¡5Œ‚ˆ{좧Ê;3º›!hcP–¯»wï6œ›Ññ|LmÎËÿ ë+/žfÕ7ÿä–\’X¶6¨VÑf*Ef®q^1À‘ ”%bL6ÆaŒœUöÜVÃbùÇenÃm áù SSSSSS·ŒŸ¨xÌR›‰Dr/ÀyQÄAY"ù–£Ûìz} +î´>CµlkÞüó—è< ÍV¹Ñ áùïß¿Ÿ’’"óv¥”+¾ÒuÔœS§NIû÷ï/7x"΋"†ø"‰²D:5üüUdU_ëÕÒc'ßÉ‘§¿ë.ÛµúÙ.ë~_€ûì?³O¼o8µ lÈ65÷·_ö#V<¿±‡Œ‰úúú††ƒA `»"‡@ àr¹4M³ ŒÙÆÔæuö\ÀŠm|?;{lu@Y(åúŠ”iÆ\.ç™Z T–ìifXxü4Îùó„b¹êæ¿8%a) ‚t¼€¬“+íjK€áÚ¸o_ qõµ¸«ÌF‘l™šµØÛÚÐ*BÜXñ]ȇ[$ðZíÜG¡»}´jË®°¹fD” ‚ ˆaØ(J:4wá—×_\¦eÚÅk×¹KKG:î÷i ŽY#‚¼‰˜wíÜñóñ×þ+d™XÙùL\ðÑL'3qBAƒ ‚ Úó ‚ ÚAm ‚ ‚ AAÐÆ ‚ hcAm ‚ ‚6AAƒ ‚ hcA´1‚ ÚAAƒ ‚ AAÐÆ ‚ ÚA¤cø?$ÒÏi'IEND®B`‚nted-1.10.18/doc/docimages/united_rests.png0000664001041000007640000000637511520267216015467 00000000000000‰PNG  IHDRWˆ’ w–sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ  7ø3ptEXtCommentCreated with GIMPW XIDATxÚí{PSWÇ¿70$ ‹J¤øÀ¤â WAÛ­¥ëvt·Ûaí¶u¬u¶»jÛÝêZ§:vwÑñ­Øv´í¶Ó²Ýít;Z°ZEk •‚ ¾ÑBoC‰¼’ܳ 1‘ ÈÎwæÜGî9÷“sÏùý~9¿{B/P.…KEáR¸¾ ÑÃV¡ââbddd 44Ë—/ØtÉC¦ôôt€ÄÄÄ.Ú-Ð>—Â¥¢p)\ —ŠÂ¥p)\* —Â¥p©(\ —Â¥¢p)\ —" p)\* —Â¥p©(\ —Â¥êDÏ>û¬cÅl6ƒeY<° UVV:þ:×íaU{{;!œÌD .t¬¤¥¥¡¦¦©©©¬²ùùùÈË˃L&ƒsÝVmß¾ÜÌœ'Ž%''•JE'âõB Ý2£}®·4…B“ÉôÐVöÚµkX¼x1¢¢¢°téRTTT<ÜÚ@iv»ÉÉÉ(//h4h4PS¬'Y[Mhh0Àlï>%®¬¬ÌöŽ ¡ÓéhËuV]ñYþ:Yßý€sQ¥o0DDÇp~&$$ ÃÀ9'ÑÏÏ …âþ­ÞZwÖÇÛ»Wx·59n)))D¡Pð4®ÚÈŸï"‹âTÀ}—ÐÈñ]ΰfÍ—c¶lÙâVÉÕ'_%HâÛ'½j-xn³ö4ynæp· ÞY”ml—segg“¼¼¼^ÕáÓ—&†aÈê/nø\]îû$R*â€'!êÄ%dó®CäTn))¾DÒ·¦¸ójI£ÇêÁÚŒä…qAD &‡.>Ü–šÃd¤Ä¬rÂ\²~Ç¿HñÍvÎÏ8I‡5ý¢Ûõ§ÉX1ñ“©I¶ÁÌ;\&**Ê1Bèt:´µµ!22Ò#ý¹¡ª¦¶Ó,û#$$~ÝßÑÖ„ªú&Ǻ<"J±g‡ ŽÖ:TÝl‡@4à dúw¾ÚÚZØl6¨Tª.û˜óçÏ;ànܸ9998sæLÿú¯0÷ÉvŽê25þwâ Âý¸AéoäãóO?À§Ç ÁÞ¶üäÓq*ë]ø Â-IKÁó_„Í|_ï¢~±bÅ Ô××#33Ó{ÖBmÎ"Çí-X×e¿±¢€|°mY;ªK,“´=/6Ëþ±Á.eÅ¿öoÝovn@¸À1À­ªmXð’ OM††ÊRä~ Ù—µàzކŸ|öͪØ> O¼WÓâ…Û½Ëc®â£—& $;×F–„ôÂô’Ç—o&Å&+o¬6]:gÙá²+÷æ@ŠŠ ñaöA¨¤=ßâ±ìµàÇë:œøp&ÈÅü~ÞÛɹµ·â“Ï. ,÷7(ú÷(­š„[àÛ3çP×h„H‚ª±xlÆ übÁ/ñĬ‰ýPܾCmF¬Úq•Ûµž² Ù{,¸ UªñÖŽCxëQ~ÚšŒüfk×>^6 'sö!PèùoxPËò÷`Á¦\Î}¯s±ütE>×l8ƒy‰o¢íj™„Æþ©sñíx.Ÿjºr ×Ûmœûþðñ*~ã¹MMwÝM«Õ Bœ· tI§¾Ž£›ÏãÉMÇ]/\2oŒôûZm6X–å<sÛÖ£â£[¸!)))P(pÞæ ËÚQY”‹%ƒ²Gg`ɾ"œ;!!*•Šsß °F€‘ÑSðæŽÝˆWJ!–I0fìþ[î`¹EaKzïìòy8¾m-ŽinQ¸sÈ%JÌ_”‚ÛW@sö4R×®ÇÕ[V ·?bmf4T_CÖÑÃ8’u !Ñ‹°ýõùø)ë06¬Ù C‡SÌçí\mþ½s6¾— £­óWQ@”áxTdÀÉÌñÚ–QøhKŠÇc>ÝrÛu%8òÉ&üyÿ×°`k3¢¶²×oYa6hp£à.µXiËuW„í@^ÞlI=âbÈË•Ã1ëñ_㉄8Œ U@ Dxdâý(\·c ú"üœ»s§ëˆ nÞRl?°ó'„zljðU¸·4&üüeÙÝ ÍÔx$oÞê5° ÊÊÊr¬Ô××Ãf³ÁyÛ@•¦àN×µ9ÖÃD­ˆl¾Œ¬¬"–c4a6›9™1qqqŽ.I£ÑÀd2A­Vx¸­&ªÊËÐz;Ô(W(0fÌx:$^ZZ «ÕŠ˜Ž „Þ›ˆç]]>ñ Y4TêørÞ¢§ˆ¶ÝæÖgs—…NÛwR˜LŒ¸wã¥z >»lp#aéÕöA9 øçs¬ë.^DöŽ=ÐõàÝ`oû,\IÐdÄN_äQ.p‡§O¦cå_ÞEUKGŸÁõ°ïzhŒçÌÂ_woÁDy§ƒ`5VâȾµˆ=O/û>ø2 céu‹t÷xŸvâ`$$¿€þ³ óÇß™ŤÓâÌÑ/ðòoçöý»c,°Ûíƒ;p#ô ÆŒEÄ‘éKPxö{טßýjVÿ‘ ƒîív¹2ó?‡y}ù»SNNTªqƒ¯[ð–*+¯S¸nEÓˆ¤Ï}p—naÛ¶mŽ•ââbX,8oó†ìV3Ì,$þþ ¼0+k9·nݺ—¾–sßúõk{<ë½ÜDÎY‰Ó¦MƒZ­î’©èiµ5ÝD…V‹šÚz4èõh¹#ÂÐG"0%nÆ —yõ ^¹r5zºìòòr¬\¹îëñ˜nc üÊý$?F &ofV>°¸Äýb \û¹â^Û—$??™š3Éïa€ëö1|WÔ“I~ÍÍÍ$55•,[¶Œìܹ“´¶¶Þ?¹ÏÞF®]ÕÖÃpÝ:Ÿ`û’ä7Mæ×m’_bb¢Ë¹žyæ7ò .“ŒŒ röšÎ·à®7-Iµ:ZØc º~d#aÆ©åÞM#ÕjµœÝGCCÃ}ëQUøÉÈÈ WjZ|nKíûw³eÄ¡¤ÂÜ} ºöRY·l:•'‘;ë¸,k%…§‘ŒÌãDk² |¸ÎI~ IòKJJr9nñâÅîÛ*–rúh&Éüæ{b°Ø¼—!„Ÿ7V›Ê7 hôÝÇA%½øFï’üºN§oiiAZZŠŠŠ‹U«Võêh­µ¹ø®À‘8æ'Nƒ´‡…ËÛê‹çÆ\ÀŽÉ2µv¸~•`á‹ÃÞÝxËE3–ü€œ²Î™Rå8$Í.¾ž‚Ëk’ßo^Yrߣ¼™ä×Tßîøß¬¿Ž³Åu¼z}¼†¥¡jÿÅÔ £!=Ð$?€@{Oâ‰Qsåó ŽxpïhRì ¤§§?Ðh—ÝR‹Žt©êK9Ë’,ñx™ƒ&䨢-ëvl¨®æg†ù €KØ\)kæÜ'Taöd%…Ûg+¡,FŽÂ1B9fΙ ÃP¸}‘¥©¹¥Ü‰|QññPˆøCàÓpíV=rsKÀrìó“GcBˆ”×ò}nÇ-=§…#Õ£x/ß§áJ•ã1{B‡7(E4Óô]Ÿ;tt<¦Þã$ˆü£ ô‚ã2(¬…‘S\œÿá!^)wäþ 1aæ “ ;£R†Âõ(`a¦ÍŽ@!ƒ¦«g¡5Y)\OJ(QbÖìÉÆ«gsa°Ú)Üþе™ÑØp5ÕÕh²cNì£ öfœË¾ÈùìOiPäþž/ÒÀâäIˆ‚ä'€±½?æßè6hN[njוàÇ+®`ÎÜ_£µs£Ù žf­÷N„5ãÜ…®“¿CÂ>,2© XñP„ù )Ü^µÚ›—pË)Ɔ@=s&F õ÷Z|¶[0þìú¦–Щñ^ëÓpõf×~tÜ0¯×ÁgáZî1±äB…ë)Ý;ᣕe)\O)Læ:ÿ¡Toñ-¸w^ÿåÎûs<­ ñ®q\ÝÅ‹h·Úr=!IÐdD:=—í0 ;÷ Z܈'"é²P¸Îb˜8;ÁN/ñ°+qæÄ·Èν€ÕhîæÑ¯´åºsqâ`ÌLœ…ÁÎ?D²0êPUUš:~78(rcç,ÀhýM46·I¬ …Ü_Ì{Ùƒ(÷÷È•^¾s@EáR¸T.…ë Ã( '@cc#ŒF#är9”J%…KE» —Â¥¢p)\* ×[ú?H»8]òCÙIEND®B`‚nted-1.10.18/doc/docimages/after_connection2.png0000664001041000007640000001323111520267216016346 00000000000000‰PNG  IHDRêkö‰d pHYs ‰ ‰7ÉË­tIMEØ, nøÐ8IDATxÚí]yXSWÚo û¾É¦DœZ« .¨Xlµ¢u­uœÁ­_—ѬíLÕ:bÕ>úiÑRëhe*VƺT´âKQ ,²ïû–Ù·;ÜCHB@ ç÷øÈÍÍ}Ï–ß=÷ÝιŽã€€ðû ¢/¢/¢/¢/¢/¢/¢/¢/¢/¢/¢/¢/Âp‚‚†@ü|`ô÷ÑkŒCôu¸ ?î„å÷gD ¢ï(ED ¼µ4wf¤û" ú" ú" ú" ú" ú" ú" ú" ú" h uC€úúz>Ÿïçç§“TKKKuuµ~5zxxØÛÛPú*díçÇ™ëÞ˜Š¦÷‘.—›——————›››ŸŸŸ››ÛÞÞqãÆ ÊIJJÚ²e‹~mˆ‹‹Û¼yóH¤¯ þîò°¥É¥ÿütÆú+?}leŒHó² ‰ òóó ¾æååÕÔÔô¹†¾e]Kæñxz·j0²CH_1ç—Ù¯gpÅÄÇÚ_ÎÌdÔ=.¹Î43BLÈåòòòr6›­š_KKKår¹f©épÄ©=¤££ÃÒÒRûºž>}ªw;#;dôÅ%†¼©â.~CÊüˆ/êSw!n jkkóóóU|-((‰Dº‚aàÐÜܬ}©T*¸¹¹ëðt•H$µµµ„ìÈ¢où…U' Ú•#B21ä<¹Ò>ù4wÓ^–-bÛ Ááp…•àk~~>‡Ãѵ2™ìííÀd2Y,Öþ°.¬ÓÕt›:uê™3g’““Y,–öR¹¹¹S§Niô•¿¿M©û[x¼q3õûÉ&ìW}fåò¥p*:yˆ:A(¨ ¬üüüÚÚZÍ"ë[ ×ïšÞ'ÝÜÜX,ñ?ƒÁ055}^î·ß錾~j…ê}ýéÓm©ÓÏíšôq&´f¦€µÈ ¡2™¬´´” i^^›Í.//Pm}$)dz“É$æW‹emm=ZÍ`ô-ú*QiÄ^ µUj6Þ\g€LXÎæKƒ× ÕÕÕÄ´ªR[Åb±®…P©TƒÁd2 ¾^Xˆyxx|›š:FÆÐ`ô½s©(T¯ ›ª“&–=«¥ê%ò±Lßööv‚©*¾vtô»‡¾á˜ ±åÔGmõõõe±X_Y,–™LV]p:ÇÔ¨Œ¾[„à³ê”“q/ë±I]ŒÉcµÇŽ»víZ~~~}}½.¿Š©L¡‚½»»;ASÂÌb0†²Ù}{€ËyÙ|)lÜýÊsúœà™²ê8Ö˜œzsrrRRR´¼ØÆÆ†0­,åŒöxˆŠŠÚ“‡8:äô•‹«8^¦ÏØY~8°ôÝA›ãÛ?<†í<è›`jjÊ`0ˆ™500Édº¸¸_Ý¿Tr>ŒŒ©0,ôUÈÕ«\û2‰ƒI/£ã+pö†åOa/…B!ÔV_½½½I$äŒôÅ0å¾PÇÖ­ìêêÒu´…Bs€ÞRÚô1-- ’’’ÒÓÓµ¯«®®Žííï3äì[ZZ}ðàÁ„„íÕ32 „ ¤‡NÞ%¾°b¬³5€¯GÌyö0õ šoÆÚÛÛ£££ÛÛÛûŸ6_@j¯˜ ®5æ[Sàƒ2®LT¹ØÍ\9·›x¤uˆñAC.izÃÉ ÃŒð——‘‘qêÔ©¤¤$ÇoìÇ/Åh+»g僿~ï¿Å:Õxï¿Å|Ïʺ6õ]¬cø_t•Zçñ.ÖÑûŒ6}Œ‹‹6›­S]l6âââ´¹¸ªª ªªªú»À`a‹ÙV&·8¢jžàóÈWj•ÉÈ«¿½=ƒn€\õ‹Ña×ù6vºT*-..&²ˆ nEEñâò¨¨(4)Ž6ÏLñ£CEÇ£¿Î¾t§Ž8ãwvßàK®¿»så¿ Çï?Žã•••D—ÍfJ$ê—dff"ÆŒNú:Ïw†[5·‹ˆîK6À\ÈgGFñ5¥” eigss3‘u ÊBìêêÒRV$ÕÔÔ¸#ÞŒ6úÒ'Ò{ ¥z$fœs2ü³?üæë®{¦î~m0ô-))ùꫯˆt™ææf=J7nœ@ èèè@‘°QH_Që½Eo?P}|?)õu'Úà‹-:»æ0gUÃÖÀ•»UNggçÑ£Gµ¿ÞÎÎŽˆâªÒe,,,-Z”––æää„H3ªè«µ­e ±ªü7\8éaˆ["%ü½_.TQ°ÁÅ`00 Ã{…TzÃÜÜœÁ`¨øÊd23F}cbb,¢ðÆ©+•=9Fé11ƒ_G*Oùö8=lí­/>»×}ohÓžþL4â€D"ÙÚÚÚÙÙ988ØÚÚÚÛÛ[YY_544444ô— VXX(‰bbbDgábê¯17µ©·4ÇÕf&$$ÜÌÐ!½µØ„ »srrbb’uìæN.‡£ë(ñx è8Þ[J›>feeÀ‘#GtÚp¤¥¥._¾L8Å|l@ll,Nׇ¾áááš/à&|‘ûœWYl79|–Ë É[˜¸£Úíçß›øøèä‘"¡VíéÞ´i“»»;…¢Ï3çþýûááá…­ã¤| K»–ð28ÒgÈÑaoµ#ÿGprr Ÿ¨S#¿ÿ£R©ºŽRÕׯ˜ë-¥M…Bá­[·¦M›æåå¥}]§OŸö÷÷צ‘ÍÍÍ'Nœ qppèwZÒ;l!UϲyL´¯·î2LÐQö=0»K¢:eGÓ¦=›7oL«"##---QØbô„-.l˜sŸ£ÜUÀ.è£Ôc¥ž¡W۞ܘ=˜bÞŗÊ?ô,¿®ë®ÅßßßÂõÃßîÀ%‡0¦M·Ö¬ý<_F“¾¿½ÏN~ઠé¬>L:Ƽ”ê>ak#²JE¿Â`é‹+„["÷©ì¡Ð}7çÙRqÅRsòzž¸öG´Ð-É¡ 8×¾,ÊÉñø`ê@ ŒòÑÊ¿$mO¿s/+¿„#Óí\&Ϙ§­cêyAK÷—Oßòó«.6ð‰cS»ÈkF2[noúïF~Be¢ïˆ$nëþð¢’ô©T˜¦4íRLÂ1MükŽÿçŽ}GÏ× ¤½Ï;úψ¸ê Ab˜ø¿>1\ÁwkKe]â׿de÷ßò³€‚K5i¿á„¿¿¿¿¿¿£ß„ &L˜àïïÿÊܯõ7+ë]KjMú *ô )\ȸúÌ*Aýˆ ¾›÷÷"› ÑPA8úÿw_Úì[wûÏ©J/¦…Û†¸¹®ª¯|WyBj}qüŽ¥94±³vpc¿¶pñ’IîzTdæ¼¹°p3bÞà!j*|oÊDÞï#5‹A¤¼¬¹ÌE9:ïù7 `Wå ƒôKM,*--MµÈbùòåj¼’7¯äw)+ïÙoL±ë\^•w7£ûâoçî4™imòÒ–_¼xÑÇÇ'88XïÒÒÒZ[[—,YB-\‚IiBÖ÷ÚHu>žìY³³~ú&S×víëÖÙ¸<:Y徟>-KÓcPf,(ñ·;b2nÂ%¹•;¦i3»O}ý?}›qõKO±›¦¢ ž»üÕG¢Ü5™Mì!QFÌ133ës¾"õºfA’‘]Ô’ÝSàúõë‘‘‘4Mú–••õùV&xÆ|CŽã@µžÇþí$¡8ˆÚžìX\ÐdªÇ'§/¬{ÕA?öÒ®<è\µòuýÄ}||Ö¬Y³gϽé»qãÆÌÌÌìììÇ'­Ä]¤°ZÑñë÷ ¹?½>'.í•:„r~û¹þî–«EÉÑGýÕk±¢ÎÓk¹õOûj8HÎ÷¤¹õ¹86`4ßËÓwÇö„ÊŸ´uˆ·~ë*’ã¤æ¸ýͲ¾1 …¬ÅxUÁQ__šššªÚB@7åÁÛÛ»¯Òº]ÞÍøÙÇOøùx€¨ýa蔵™½vö5só´’vÔ5q{ bõçï,rÏ.ùCçãÒæ%3¶üÔ$Ùõñ6½ùG§Ó_ìŽö Ñh$ÉÛۻ؄dðö¶ÒFÊܼ– àèè¨SÕÕŽr077W+ÅÍÊú¿©~¦2sªÀؤɡ”„[¥ù©'¶xðMbµ—Tl|œ£Ù¾r|mûÍs^¸)d"…~‚jØI¡€‡‡‡‡‡‡aL·²SùÝó¿Mü²qÄñ¾¹Qw_YüçÖTþWJm#‡ßTüïm²¦(k‘KÛÞ›¹¢]¦³ÕI¬¶Ã˜¡ÅšÊÌûýÉ}olåéjÓÔoôÔíµ!Ôˆ@¢X™ÛïÃ9$:ã^¬Z R¨¾ú ‡ç¡è×VâÀéµ£nÆd4ù<»ÃÈ=ÏθÿÁd;¨,¦¿ýÃÓ³±•zÕ§aã)mmXC¯¶™èJ°p£õsYkq«³æßL´”àÚ×ð Ù,²ÔÔý_]U!ÅÉnSìGûYQÜ5XŸžúù>Ì(¯oÃÌ=ýX3gÒHLžz 9})†}hGœi~Ø ë¿\¨œ•ç°Ò-çùŠfÝÍ Ùhy„Ù!S€ ét©èk_ª6· aV[Œl⪠%OzÎ )–r Ÿ ¶šµØø‹aýªïî®köºêÚBcKÏð7<õèšÞ‚C¨<ø[úO7ÿd<¼ã¢ÔÆhŽo€BÖ™Ô"ì!=mb,ÃFII¿­+‘Xmqykàht5„€{ÍØ Zì(†Î}ÿ–àxORs„3Üév;˜XÍr4&ÀÅgÏ9€CÖõ˜<^åA¬¶¸½—‚ΡØ“M2”;Z1€ßwÊ”)}Ÿ_â†ì¼zð 6#c€Ë;³²Khî å ?jØYÍRÕnB€gÏo#é(É-U.Ê𠦓5³¯)`Ë'xÙR <'‹#S¨m–xò䉽½}þmPZZÊãñ‚‚‚œדåæu®ÇÕŒ¦ÂŒÔÌ4湑$¹Q›Ô*ˈû*£ýó,Ÿ·V}é&9—™2M¡9<ÈžòWõßIìÈ­~Æb:Ž åf•RûÕ>]†>'$Inn.‹Åê÷Ý[:§«+Ä¡–&°àB™ê\ K¯½ª?…¹€•×Þr¹‡”ïB22/U §üxÿ×9±¿£tu¿eïkië@òÀ{ÿ{Ç8GmººŒß²}.î+»¡IÐ)%è0`ººîŠf÷Ù«ðpË*`uBÆ»ž=[Ð[êü¦Ó½åœ-W*³b5ëåç"ö·^¿òÑ(PaM$êw¹„?`(áä7ã£ÐÀº/lûq¶UØvmN÷BBŒbsèÆ·ÒîÇ—ó¼ ŠÒ:•*²”÷4¦û…;O °Èé×è]|9gÅXþÝø¹×j‹‘–q6  «Þ*GFØKqœdM¼ñ—é»~;´h•íó;æ™:N5˜9-8 gj»B¶ðÃÖ•Ä6=}³És€ì³‘°ÚBûììãýá“JÌä'íÅ“)½&VC ¯9–J§ r }ÀaÚÎä×|‘žø·ùå¹{Oìô2ë)ÊÄ*ÜΈÜ*•g_®Ù×ÅnÞý] ˜9Ϲqaý‘þ’¬Íì<0\×vÀ8‚xC嬥jözÓ/”€`úÀü؇Ç9aÛ¾y”qîþWÎmÞ¹ëƒ-«Çшùy™éÉ^Á‘h÷Ï2[¥r`-þè¹؉´=«êï, y+¥BÍ®güÖjŒLU§Âڤ†i¸@¿P‚þº¯J‡ØÿËÓ¤Ãal$%Gw®÷±± š¾|媨ŠosE lùµU*w^ôÍÍ|öåÃ-tÛ l˜W[IÖj¹«ô{ÈÅH…%³/ÉQÝú ðQò¯$§=Î,*˽ñ”+KUîä™ß¥ß_;M¿ÈÃ0¯¶8·l±æ•FA*숂š°EffæŠ+¸\.ŸÏg2™zÎdüRvaÐÇúY û®Œ¸Œ×Õ%Šå œL1¦™[ä¶ÀeYY9 ¾Sg†—‹z—þdž#$l!—Ë[ZZìííû}Æ9œ¹eÊ•'S>ÏNG·\Òtbç:7ššfÅÆh ‚Ra Óôp|m»D1‚\úc!l1 †J/32ŸL´ ió¶Ûµš¯Ypì’6E C’5ÂKVrÿµ§›» YÇgoF zÙí¸ŒS.’€±yðpÐWÞ)huë¥õãÑïè ÐUÖWÅw>:Ù½ëÛ¯+p,ÆÇ˸‘á…諜æªyC‰°×ìÛÎNT^9o˜Þe‚ /¤ûj ¯Õaûsïk6¡¿ºÍ¥'iðþn¥™ÿöRaº‘á…è«%Ìœÿ¼Ãÿï •[B¹FM!~ÙDå¦IR^É–°e]rÙØù»;»Ñ#Œ¸Ù,¼Öf&°'­>Ü–s<,ð8Ýmâ´É K2ÿ×”;Õ|)†mOJt¤¡!F‰ô¿Kœ'®~÷ÇåµÏnÕ*#SÏOÎ&ÿ=ÄF2}Àuæ†%«Ò®&^¹õ ¨²‰df?iúœuZãCÍïþýùЬ`twpæ¦ßA;û}U*B(¾y7G7'Ì‚€D_„èy@@@ôE@@ôE@ôE@@ôE@@ôE@@ôE@ôE@@ôE@@ôE@@ôE@ôE@xyø«5új{MÃQIEND®B`‚nted-1.10.18/doc/docimages/clef_change_dialog.png0000664001041000007640000002760211520267216016510 00000000000000‰PNG  IHDRÞÒ%¥~ÌsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ /èÒÂtEXtCommentCreated with GIMPW IDATxÚíw\WÕÿÇŸŸÅ”%à ˆäÈ–9ÒÔLýZiá Ü[ÌÈ¥¤ g¥¢‘‰™ë›ÑÐ,ßjý܆š‚ÙCà3|ä>€¢€Œó|““nnníñŽv ë‡ÿWj¸^-™Þ× g[3$þq(z­|*òšå™VµJwÉcå¿üóËËN™<^nn.õë×§S§N$%%ñý÷ßsäÈlllŒÂ&%%Ì´iÓèØ±£ÞÞo§±~Ï81¼s}Üœ,Qi´DݹÇÛ[.ާEýƒg×ÏŸÑϺu ^ðQ·âAG©á‡¢×º¸mÆCű<9ºðYº}tÂäXeÆ£:z¼­SZ—|Ôú íñòí>§¸}ìñ$ ׯ_çÏ?ÿD¥R1mÚ4ú÷ïÏ™3gLŠ˜›7o&##ƒC‡‘}_é¥7¾¼ÖÁ™9Ü9v9‘‰Ë~B—ƒßëÉŒ9úDâQu=ž^4KÌ?‡hÒî¥"çKJµ³uJkF}õ/['·| 2yE7dR8{+‹O÷ß⇷Û´ mŸA—À#ÈÌ, 7êl£à—šÐ±©-u,dtÿä4 íÍ™ÙÏ•¶®uˆˆÉâÓýÑħåqä}ãO(™¹6þËŒ—]M®õׇÝît <‚W£:,òyWGãLßý“Ó›Ý?Ñ^)¼]ôzE÷©4:®%æ°ö@ _Œò4ŠƒqøNt ¬«#ÙÑ}éàÉ+˜;éY[˜q/áºQœì<:m7uÒ{º¿þ¹Šu=âŸ+ SÞ+öØÁ“W°tö@Q§.ƒÛÚ1lò$ê;X!“êZc'[²b//–à‘ïÍÌΩܬÆ{<TÒþR<Àæ O™xÍ1£JˆÇ=ž´XwåÊÒÒÒhذ!:ŽƒbooÏ‘#GpttàÒ¥KäääpîÜ9²²²îp*5mBO$1óåFŒèÁ²}·‘[Y0¦» k·–þ›É3®¶ø¯þ•ßÏ^G£Ñ2²ÉÍúfr9>‡Ö¬Ü£¿Ý£•Y"U˜•ÃÓ ¬èäÕ˜: Üõñ¿™ˆ:¯@­y¡€N§)õ^n$Þ£y}k:y5ƶ‘›Ñ±¥K3MêÙãÝÒ±Øóó¯'3³bÚËM1—Kñùà̤Z¾ý` hU¹¨5:ä2 6–h‹Ü/@d\-Û”ùÞ´j%R…E­ðx³ß¨a¥HøÍã›yºü¢êæ O1æë«yIoNG‹-èׯñññh4<<<رcݺuÃÇÇÇ611‘œœêÕ«GÏž=‘H$,>y¡ÔÄÙ}.…Œ»1¼ùBs~ è†Z Qwîq/> xÆ.ðûËøõp䣉/ak]9º)õ­µø—h&?k†ÿ®,°Ò×{,?ÏG¿Æðv+ÖÎ|‰D‰«©~¹™¹•‰‡zX–î¾BàknrlÝÿn0¾g#ö6¶ôÌHåfl9–È0o{~\<Ä$ÌwÇ2¸£ G¿œb¸ŸÂ,ú1’wûÔ+û½ét¥w†¨­š…ës%ŠÕè|I©­’ùÅ˱›®óÍ8})çÖ©½¸wzÅÔNq×Ëp96ÃèÀç½s9uê^^^H¥R®]»Æùóç9þ< .4|(P*•:tˆ-ZЬY3$ ÿÏñé£ÊI'7)Õ½T´Ê\@‚ÌÜ ;÷v¤Üo©³óèˆ:7ez"êœ,tZµá|§gú’ñ›!œ¢H15'ñy™‰hr²Ði5†sî%^'/=mn6H@¦°ÄÒ¥)2‹:¤]ù?#{…íç·bwL™™Œ*-žöÍØüþî¦eÓóí Øyt$'éêìT´µI‘µ¨M€Œ§QÝKGWLøìÄkh²3 ^¸h¨î¥=Ò½M»êLÎÝ[Åvóºyâ—ÏqöÕ‚Æ«/aéìö@;…Ï)n_¾ÂÜK¸j<:¡¨2Û·oOûöí‘H$ü÷¿ÿ%::š%K–0vìXºvíjâizõêe´-9~é dfeÔYŠ:׉TŽDª»è4j¬êy °ÖgKÇ&ÈÌ,З¯HUY)FáŠÞƒ¥“+R3K$)™  ÊJÁÒÉ™¹%HdH¥úýR™™…‰½ÂÛ¥;µJßÑ O¥åBt+·þ†T¦¸^3Ô¹YHåf&oÐââoY¯æy÷ôõ®"á­]<ШóÉÍ ÷c”VxoµÁã5}nPΗ”ÉN±¶Kñx¥Öñò9þ<'Nœàõ×_ÇÕÕµØer‡üŽ"·²GneoºßÚÁhÛܾQñâµ-y¤„Dn†EÝâϳph\ì~ëž%n½Vác=?½ÌÝsûïߺ©ÌËzÍ@*Ea퀢Èý”³:ŽPÇñ¡óYQro5ísÂcõ¾/ºr³S–:^a,XÀÒ¥KÙ²e ÅŠ®pѳƽA’Ât •¡°´­•iñ$1·uæâ¥Ë´~„Qþ½„¹­3‰¤Üì”ZÇ‹JÃx5uN&Ê̤2Ÿgfãdø$UžvòÉŠý·hOŒ&ÔVv%ÉyvJ®ãå·P>‚ºÁƒ=`‰ÂSf&±çO‘JA930(ÒH|¢|)<„ð!<@ï¡qppx`˜Ï?ÿ‘âAez¼àà`Ξ=+R\ ¨Lá%''Ó¨Q#‘âÁ£/""‚=zàäädRÄŒŠŠ¢oß¾¸¸¸Ð©S'Ž?nT}˜"©@ „W ~~~øúúKjªñÔÖS§NeìØ±ÄÄİtéR¦OŸ`W4¼@P[‘—t ,,Ìh{øðᤥ¥ÉèÑ£177/ÖúùùáççßQÚÞÞžï¾ûN¤¼ Æ“¯™2 /ÿÄ|ò xyy±eËÆŽk"¾6mÚ0qâD „¥¥e±6ÓÒÒŒì 5‘9ùƒ Uìºuë˜6mï½÷:Ψø¬Y³˜1cyyy%/Kz µ¾¨YmÛ¶åèÑ£FûòÅÕ¬Y3~þùçbÏõ; ÑsE ÂDQзB *žüzï“Ho‰D"ªU½Ž'¨<VE? DQS (7Jê5Ux~GþÊèa%„'xd”J%³gÏÆÍÍ 777fÍš…R©|$<) ±ó;ò§¦¦Vx<…ð̲eËˆŽŽæÔ©Sœëׯ§uëÖ8;;3pà@¢££ð÷÷'((ˆ{÷î„¿¿¿Á‹úùùQ¿~}† ÂÕ«WMl±mÛ6<==Y²d‰aÿøñã±°° wïÞ$%=Ùi,…ðªjµš#GŽpôèQ|||˜1c‹/æƒ>0ü@¡P0lØ0Q«Õ—¡C‡2þ|îÞ½ËÝ»w `ذa†ãùê ¿ …QqxÑ¢E¬]»–ØØXvìØaX àÙgŸ¥aÆøúúÒ¸qc:uêè;âGjj*)))&ñòññáÀìÙ³‡   ‚Ì.}øì^4žBxµ¼h¹fÍ._¾Ì¤I“0]þÿÀÀ@zöìIïÞ½‰ˆˆ@£Ñ”{|æÏŸO£FðööÆÛÛ777 Ç×­[ÇöíÛiР¡Ž4fÌÚµkgØö÷÷g̘1xzzòÏ?ÿÙ÷÷÷'<<Üàí@ß?44”¦M›šÔáŠÖ̬Y³éފƳ¼ëx†µ®$*&´ Ãw*‘Â=WŠ~@W«Õ$$$0a @```±b+îÿ¢E‹X²d !!!‘&,, ___Ñs¥œÉ×Oþ³ÌŸÐ6óö’.¯:pùòeÆŒÃ믿Npp0+V¬à«¯¾bÅŠ¬_¿žÅ‹ĶbÅ “ãü1\¿~ýû÷‹­ˆ.cÕ€–-[òÛo¿¡Óé˜0a‚ÑÿÑ£GóüóÏ<ÜŽ;èÛ·¯I¸üÿbɰªðxÕá!Iõ+‹÷_¥R1}útƒÇûùçŸK /„'„'(ÌÌÌX»v­Áã ûÌ0N/55•Ï>ûLOx¼Šñx³gϦ{÷§Ó½{wæÌ™#þ1­š5ÌãUD«æÁƒ¹pá¼ûî»´nݺV¥qEt*«æ( NŸ> À»ï¾[!×HIIÁÙÙ''§Z7„¨,Ãã¶óžà888p÷î]êÕ«GRRR­[ÙW|Ç<úôéÃêÕ«ÉÍÍeõêÕôîÝ[$Š(j>uö5V½¿‹x1Ñ]›ÚÔº:Åã°råJ† †­­-:u2šÂ¯¶1kÖ,6mÚdØ7nÜ#µlÖxáņ¯gÀkŸpgÛºO™øé.Ö¿[5ßÚUq¼\“&Møë¯¿„›V¬XÁÕ«W ç…^`ÅŠÂã忝ÐzðÇdk æ˜Ôj2ùjF¢3²/°ê‰OÌ}Rµ‘ÉdlÛ¶qãÆ±iÓ&d2™¨ã&ãÚV¼ß0QqnQ_%ˆœ$(3¶¶¶üøãØÚÚ>²)<6‡ /L#EUòlÊ:–O_KŽV T>5²¨yý»aü—e´¯ÿ;+™5 1ËÇLàÀlrRöóÎñBž¯/r‚ DÄô‡ówÌñ?h´çÅûÙ÷Q?¼ÿˆÁÁ« cëþùÁ¯‹ÜU„Ê\³*SÖ:÷ƯqÂËŠ]Ç®¤öƒ§?î‹ÀÞs/Úò{Z.)¶BxÆÅpQüEÍ2rmó£í™;)Úî4¶¡µAxÊ ÑL^˜~ýú oW Ըƕ¿¶Ý0ü¶i<…-ëš„iàf]ðv×Þ¹@ „÷¸üP ¤AóŠ/Ji ŠRrË"„ð¯r¢äXFÁ’PÁšìö­lÃoK'Q¿á=êÜ[( }—kb^|¯‚ï ¼¢ûð"„ð­úÁ«|æ¥ä·Ô\Ãö°)¢¨)¨|jt_M ˜´hž_Uð Ïܶ+s\mE.(†Gs'ú™ÖRáIåÆ-˜*-È ùteúßø¬8oØöz{r±xNÉUæ ˜AYP‹š2sW£mã~˜Z>î7˜[¹êû"µ'd~;‘ª¨§­é£ÜËÍã :´j¼I$¯·‘Çb%Õ¿‰S£ŽrðŸ‚ÑÖ®mX9î­ Ï÷ß_c3χ~È /¼@Ïž=ËÝö£[Ê­¸[ž¶j¼Ç°-T¶ÌoáÌKŽä÷ˆø‚›–Ùе]=á^ƒ+VpùòeZµj%ãIz¼ªòfßÍŽ%Ñú9íý7nçEÕŸ´oú …¾™3â¿çØ2ÌC<ýG$88˜7nðí·ß>R1²Aƒ|þùçôë×S§N1eÊâââ˜ùä†ιsçxûí·‰ŒŒÄÓÓ“àà`zôèab+**Š·ß~›sçÎáææÆºuëxî¹çLâñ°^²Æy¼žOÛ~G¥ßâ­Ž>Då¨ û¿ü©]Ù¾};111œ8q‚õë׳fÍšG*>&''B@@€þåèïÏÔ©S¹ví 4xh[kÖ¬!00øøxìÎù×()óÛÛÛɆ X¸p!Ó¦McÔ¨Qܺu‹Q£FáççW¬­©S§2vìXbbbXºt)Ó§O/6µ¶¨é:¤ ·Êúòóí‚qyu_à÷Ÿý…’ÊȦM›hݺ53gÎdéҥ̛733³2ÙX¿~=­[·ÆÙÙ™­9FEñÖ[oaiiÉÈ‘#Kµ¡Õ l bÛ¶mxzz²dÉ’‡ŠÃøñã±°° wïÞ$%%®?jÔ(¬¬¬1b‘‘‘ÅžŸŸõë×gÈ!\½zõ‘ãQ#…W¯g'Ãïk' Š!R¹=_þµ›æb*Ѳrøða"""¸xñ"‡ÆÇǧÌ6-ZÄÚµk‰eÇŽ†OO=õ;vì 77·Ø¢«££#‡"77—¯¿þÚ°ßÇLJ°gÏ‚‚‚ýä¾ %Oç!•šf÷-Z°cÇrrrؾ};žžžÅÚjÓ¦ ÁÁÁÄÅÅ‘ššJJJJ‰ñ¨•³rVìþ!1ÆÓ^¨èqsscß¾}¼ÿþû˜››—ù|ÆŒƒ§§'ÿüóQ‘ñ‹/¾ÀÃÃ۷o›œ÷ÑG1iÒ$<==Ö£sppÀÁÁÁƒ3kÖ,ÆŒC»víÊô)bíÚµ„„„àêêÊ–-[X·n]±¶BBB ¥iÓ¦†k—‡Aâþò;º¾#gs%Q‰23‰=ïèV¦©«« ßLx†q_Ÿ7Ú÷Ô[›ˆÜ>¶JÇ»ªspp(óôòj~¿~ý:=zô0Ô+«#ùúÉ®ƒ"1³q"óö’.®YïôšÁ&¢³nðG¿-\V5¢k×®L›6­Fßc¹Uxžt?½´Ë›è6k·Éþ±ß†<+'»êÜãIu‹¯ñ/—r^ݺu«ä ®ëÞœuOðúÕuþÑṚïI~@?³qË~+¾>Ðlħ,}ÕUò?ì]p´µÂT?á]»v­R"<³‰-«(˜¦Ý©í2Ïdî¬èƒøöžÔ̇3¨ÓžOë¡ßpä‹1ˆIê•Aµªæh•w.²Òë˜Íã ¿³ãöò\Ëì¹d:ÄÆÞs £G §o÷öØÊMoûXðX,û[ä^Q²6‘Wè‚™MG>iëtßs©™ÞíMþÍÖÏ¯âØ¦K׋£B?—´Â|›·íàágHJ¾ÊÚÿ1±ÿ¿½ ϹB „W˜¬ècFÛ¾Ÿcv¿l˜|~.ßÜÐPöžò·Ïí'`²/¾Îúº[fÌ6Ãy Û¦¼ýùþ\> H©3‡™¾ß‰\!Â+̽co4qAÁLÐWìÀÆuOÂâþý§¥~<\^ÚnåiŒÎaëi<^îÎQ®ÞŸmZ Ât…Š™r wÞ¹ß â¸~Ö¨¾_/6xA7õ}6u:›îd›Üþû¡“Œë‘šl>ŽK „ð ÔiV°²¥ÓF ŽÄÞ÷f3Ÿu1:§^ΆßI4±éôÌÇÔï1 aËøåF†Ñ9®Ã )ù¡h¯ŠÎ¬n×,@ˆN „gŠŒÕ{æÝ¯×§·Ïg¨ õ™nÔ{Ÿ{O5hïõZAë¿7Ž%žœÍéL¥a{Ä7ÓE®á‡S»„Ž€è½óxvÂZr 5f*,eFá­œ‡bqdúCG ûµª$Þy}S!»s êV_ä ^Iø¬ç Wýô³›Þ¡ù‹ù¿¸â?Hdv rÔwËNÐ íÎÙ_ñíü4¡±úN× ë–„\,F'„ðJ¸Ü‰í§÷Ñ«‘¾õ16|#Ýš6eì‚`¢RóL…ÚTÿñ]u/’‘ot¡±÷k|F_·sñÂo‘'èåh!r„ R¨Ö‹ÅY8uãWÎóÉÔñ|¼õÔÊD62­ËçóüËyñùö4v±C›—ÅIAYtûNýð ÇVÌøx‹&0êf&TáýðÃOì&Zþg*:ôäàápŽŸ<õ¸TŽíý–c{¿-Á[ÚñÚÈq ìÛY6»¬¸¸?©¶µDxC‡­67­U§³ë›Uìú¦â¯U]-Táå/M[UQÝ‹ ^ãžÈŽ$&\ )‚ê/¼*¿œýó˜I%(µ:4ªdbÌêÐÖZ!r€à‰P{¦–”˜ÑÚª@h¦ç‰§/« Ú×)ÞÉ ¥xú!¼²¢Ó¤³uùþób¼;vfÐ(~>•ðáôÁLŒcî5 ŽWÙ|Ú¿5s -Hyæôq~ùïW¼½åA#¼Š=ÇͶ@x:mÕlm´··¯üR¸D"–^Â{0y©aF¢+S_ŒëʰWãéjk:Âà6b‘êÑIDATB¡µôšzÔ©²÷—–Vys¾„…… ˆ¢æC /=¼ÄcZU s¾-~Ô÷îäá=kk.ž¾@¯LnÚªU©ÇSNš~STeÿÃÿe´dö²«ÂËÿLSQÿBx•³Í-K.%{jl²ïîÉO ¿-ëö§©…¬Zˆ.¿îUQÿBxeh 0gÝëîŪÛf4[¸šìßüÎï†ßOOû¨ZÜæÃˆ#'':wîLçÎY¼xq™<©@¯Lô\·ûB‹8vx‰¹+¶ufv2ãÎ`q¿/àýóú!@u{òë‚öÕª˜YZ­–7nIdd$ñññå&jž æö½9üyÁ”2sìëȉ¹•T(”†ã?.ãÙþú‰˜¤r{¾8º‹†fÕã¶+RÂã=ávŠêùöÓwz»?ÃV„‘ø÷NÞû{'ï–Ž iÚÀÌ;׈IÒ·dJ¤fÌúö$ãž¶¯6÷W¸ŽWD-¨Á/Ÿ¡Ë÷sö‡ethP0e_Nrÿ^¸h¥S[Ví»ÄŠ!ͫս '<^•¦Ï|8Ï?ÿ¼ðxBx‚y¼þýû#•JY°`qqq¥N’Kll¬Ñ>‰DB›6m1b;v4µ@5%---4hû÷ïçÍ7ßÄÚÚ‰äá¦ã­[·.S¦Lá‡~ _¿~( QÇ”¥Ž×¤I–/_ΪU«hÔ¨2YɃyår9-[¶dÕªU,X°QÇ”ÅãÆÚÚš!C†°{÷nÞ|óMärÓÚ‚ ãÆ#44”W_}++«ŠZ êx‚‡‡‡‡K–,¡}ûö|ùå—\½z™L†§§'sæÌ¡OŸ>X[[—*j!>!<Á#ˆ£N:Œ;–N:„™™þþþ´hÑâ±D-Âï!hݺ56l(WQ D¯Ö×ñ*⿞àOLí'Šš‚J@L«.„'¨döø  ï»ï¾)TÉìØ±CxÙÚ,¼áÇ‹Ô*[xÂÛ GiÎKþ¨' ‚ ðxýúõ«Ô‚Ú„øŽ'á Bx@O ¨9”KÏ{{{‘’•ŒD")±Ï¥xUëyT˜ðÑZ‰r„æsæÐtút“0ÚÜ\$ ’RæöÔbá©5Z‚>ÍG“zcmaŽF'A­­2î©Yºi¿^!¢7m"êãiݯfÎäЪU¸ €u³f†0ñ»v1e VnntÚ½‹ D‰¢&\OC«Õ{´üuì¬-8v>†ðˆ~?Ãogncm¡ ”ejZ•Š‹óæñÒœ9¸µm‹…µ5ÏôíËåùó a²¢¢¸4g}çÍãéÎù»W/²¯_‰WÛ…þO4Ó>߇TªŸBA"‘€N‡V*-(Õ:T*µŽ\¥ ©˜j¡ 3(X5jDnj*df¢ËÈ q×®d_¼HÚ©Sh²³9=t(ÏúúbamMãh×§gKXHP „§ÓÁ×{ÎñÕ/gÈUj nP"Aw_xj-h´ ÖJÐh!-=Sä€"x~ò ÿìÙõê¡S*‘¤§Óî•W¸4w.'Ò´];œ<<Ðef¢ËËssdææ"áj£ðròÔÌßð;ço¦0sdãƒÐZ^lJ dfç¢SfÒÊÝIä€"ÔÿÏPËå$]º„ÄÒmF.mÚ Í˃„Zôê…öÎÐ鸗•Å™Ÿ¦í¦MeºFI ¦TÄB*Uuq–j/¼¸¤L&®Ü‹¾žÃ\¡o/zÑ/úo£÷»ÛÑé`ƪ_Øþá'"p¶Ò²tR/œì-Mì)•JfÏž››nnnÌš5 ¥RY샼|ù2ÞÞÞl*cÆ«ê<½r%ç~ùA£A{û6ÝÇã¹Q£Ð]»†.1ƒG6nä™ °jÚ´X;ÄÁÁAL¤T ÕºUótd<n9J¿îíyÚ£>Wâ³hënÇC‘KA.“`&s… s¹Ksu¬Ì‘H 9ýÖPÌgÙ²eDGGsêÔ)t:~~~,[¶ŒÀÀ@ãºdx83fÌ ((ˆ®]kV«¨ÃsÏaõÔSÄŸ:E}WWHK• ]FÚøxä}úðwHM&M¹W¯í„„„ðÊ+¯°qãFúõë'ÔV<^èáY²ýo†èFÃzN\ËB«Õñot:‘·Ó‰ºÎ•Ø4®Æ¥u;•¨˜dþ½y‡;É™ÜMÍ"òV:é<–¡¡¡,]ºggg\\\X¶l¡¡¡FavìØÁ|À®]»jœè4ÙÙdߺ…¼NýwO¥m|<šË—Q¼ø"~ù™»;ÍfÌ(ÑÆ­[·¸}û6›6m"..Ž›7o_¼x1 6¤cÇŽœ:uªÔýÌ›7ϰÆ_TT}ûöÅÅÅ…N:qüøq"""èÑ£NNNF%“•+WâææF³fÍ “x•dÃÁÁ¡ØðBxÀ‡[޲ïd ¾¯öD…‚›wsЩ‰T HÐ!A«Ó7¦h´:ÔZúèr™”<•K3ãÀ ¸»»¶ÝÝÝILL4 3wî\¦OŸŽ««kÍ{ëtœ=×V­pvwG{û6º´4´·n!ur"=%…Û‘‘<Rª™M›61gÎär9sçÎ5)Ž7nܘk×®1iÒ$üýý¸¿}ûöÄÇÇ0uêTÆŽKLL K—.eúýü~~~øúúk4DÇÞÞžÈÈH6lØÀÂ… KµQRx!<@©Ö€´€J£C©Ñ¢ÔèÈQjHLÏ%.5‡¸Ô{ÜMÏ%93—´l%™9*²óÔèîß³0Wp'9·úÆc×\\\¸uë–aûæÍ›&«©îÞ½›ùóçóÓO?Õ8ÝE~ø!òôt<{õB99 P€TŠN­ÆÊÎMVª””mäåå±}ûvÆŽ‹ƒƒcÇŽeûöíäåå¼õÖ[XZZ2räH¢¢¢¸ßÇÇǰnDD~~~Ô¯_Ÿ!C†põêU}Ü##=z4æEZYÇ……½{÷&))©T%…Â>߃>ñÝ/ @«£Y9n'ç’ž­&W©E­¡ÐŸµFïñ4Z- ¹;kK¾ýí^ìànd{èС̟?Ÿ»wïr÷î]6l˜Q˜:°{÷nùæ›ojŒèâwî$i×.:¾ù&ÚÓ§Ñi4È:wFåé‰âå—Ñ¥¤ KM¥eß¾\^° D;?ýô:t 55Õðçíímô¢Ú±c¹¹¹|ûí·<õÔSÜ_xåÛ6mÚL\\©©©¤Ü xyy±eË#H¥¦Ù¼$%…»ÏȾ­™ëû;ÃŽpçn2^mI%ôn[Ÿmêѵe=žórÁ»… m›¹ÐÒÝ™æMœ¸—«&âÚ–m§Ž¥ƒºyÙ?>5ÂÛÛoooÜÜÜ0¹¾——{÷î%((ˆÕ«WW{Ñe\¸À¥yóè:aœ?&>yûö\9x}dff"kÞÍéÓ¸wíJê_‘völ±¶6nÜȤI“ŒöMš4‰¯¿þÚ°‡‡_~ù%kÖ¬yàþ¢6¡¡¡4mÚC}nݺulß¾ <ð3BI6* ‰ûËïèúŽœÍ•D%ÊÌ$ö¼ãYf#öööOlÄsLbs‚áÙÂ.íšcc!çý ‹¿Y Ôµµ¤‘“-Cz>M·gšTK‘„……áëë[êÔe}g†ÇÝÅ…nn¨þøEïÞܹy“ Gâ6}: 6Ð}âD”»v!o׎„¬,.Ÿ;Çó‡ÕúÊ=€A‘˜Ù8‘yûIWÿNÒM\lù:` 7þɯ‡ÓÜÛ€ß׌,³­½õjòºrN}úµa.íÚ¡xùe2ÓÒ8»w/Ï>ŒeãÆDoØÀݨ(ê¶j…:"‚ƒuô(‰aa¸ùTPZ:еùîkÂMX[(øtZo¾Ú}†¯wþ €J¥B§Ó!‘H R©´Ôe°js¦p0Uz:G‚ƒy¦{wNìÝK«o¾AâìLNn.Í>ù„sÓ§ÓgÎt™™ ÑPÏÃÔÓ§M„'ÄUÃ…§ÕjQ©Th4Ôj5Ã{xÐÀ^Á—¿fU–óE'“ÉÉdÈård2 …¢R*ÒUµZZ­¦ÞäÉ(e2NmÝJƒùóÑ5o^ŽO=…ÌÝè£G©×¦ gøä„Ú-Y‚Z­6jüÔ`á©ÕjT*•á/»­› óÞhEjj*Z­Ö 8¹\ŽB¡@¡P~kµZÌÌÌ ÍÔµ‘Âi§R©¨ëëK7Þ@¥R‘‘‘Z­6¤£íŒœŸ<™þ÷?LŸNëQ£ZX R©ô™Iˆ¯æ O*•ýöjMØ¢Ñh EÍ|OW8\aX›‘Édaåÿå (? éèáç¡CÈd÷Kr¹\ˆ®6 ÏÜÜ333´Z­áO­V£Ñh ÂËW¾ðòÿ‹"¦i:êt:4 Z­Ö†%¥cá?A-l\)ìÑ“^ ‚‡OÇüÒ€ ^x" !<@O Tñ:že\µÏ£O"fêªRˆçQK„'ºU-Äóu<@ „'á Bx@O Âå‹Ñç3'EŠTÊ3§’…W\@P/óö‘A%!ÑjµxôW¬‹*T×÷¯–ü?Ü;OòäõAIEND®B`‚nted-1.10.18/doc/docimages/beam_slope0.png0000664001041000007640000001032511520267216015133 00000000000000‰PNG  IHDRÃJÀàºsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ !!âÛ×tEXtCommentCreated with GIMPW0IDATxÚí]kTW¶þª›n°yØ  €@!˜Œ‚ã[Ÿq2¾fL&#¢óð7Ñqå:—¹‰ÑQ‘˜ëLæúZjB4˜Œ"AGEŨéF@y5tCC÷¹?ª)ÁÐtW™Ï·V-ªN»NíÝ_³ÏÙgC!   €ˆª€‚‚’‚â×#C‹:½· GÎæQÍSؘÇå3TçîÇıKSÓ þÒ:œ<ô!|¤´q¢x‚ÈР<†àùP6µrÊÝG¼ŽüÌd¸Ù1Ô}¿›DôuX4êÕND€ªœ½³òjŠ'ƒ 7vÌBJY£é†W8ˆL-ÁÍÏþ€Ôê&j оMbÐbÉÆ ì±×˜·QP}e?‚«¨íšfÄoÎ¥– èÛ>Cõ­ÕðÌÿdžÓ‘_’‚ÁR1àÄLfžPœ¼ã .ÝI­aãHK~ùš%K€ùó{çóÙ )üÖÇ©ìþÒ¯>c‰QkC62h¤ d°uÜ»œ9x{Üs­­€JL˜Ð{ŸOP2|wª à8p!>5ˆsÎÑw£ólЕ÷:Å¥¦¦B£Ñ»ßoÀ¬^§8­VKûM}L‚‘¡µÉôÖTØ‹;/Ký™Ý÷ž¼ ×)®¦¦†2¡éA°n14˜ö<<Ç|lO»?sݰ^§8{{{Èår„‡‡ "¿¸¸………ˆŽŽ†ÃÃÞªhjj¹sç P(h±ýÓO@T —YYYhiié;Ì&A§Î"m< -î¹ÆòCDÄ0‘:…žô:øùù‘iÓ¦ &?!! J¥’yJ¥’ ñññËØ¿Ÿ€ØXB Q(v¹<$&o<—@z-kÄœâfB`Ç´µ ¤맬€¡mz#xyúÑX½^…¤¤ö½X@||î&Ý»wÇGaa!ÊËËcI›cRÞžd8‹d(>õ)¶ç>0:,bgÌôÍArrï›nhh€J¥Brr² ò333€›››Õòª««W¯^µ¸ÎÍÍüíoýØãäädÔÕÕaÍš5l™ƒC’“u}‡ ………X¶l{l8Š4ê 4g1ƒe>úê{…ïäåðí¹æm¤ã~..å7cì˜géëœ?©öö&A")HT w÷z›­suu5Ö¯_„„„î_*]õ222Øþ¾5nÅx¹@~¨m"ÚÊÈ0G +³ŸûdR¡ÎYhÕh¹=a õxòFtt4ñóó³i? ý¹ÍÑ£ ½õèþR@A})=;7oF$A™ðwû=ó&â\m3=}¥S˜AÉ0Òǰmþoq´XÍ–ÿn㬠 Ø}ï{+Ž+ÛZ>µ2ůO†A¿óÜüO[æ5v#No#Ø=›kÏaêò›Ô²¶Eç¡Îœã~îã‘~r„[å©Ç_'ÍÁï¡–¥°24Þ=Žâ.šndç‚=¾ÄSý„‹ ¼º}&ŽlŇc¼¨e)z A~™úf^ŽZ€"­iÝó ÿˆEý!ùŽbʦjü§ìOÔª‘!¾‡SŒ9_%áÔ}n¬¿SÑÿ!>þ 0OAtøfÏ. ™ö:>ÛôžÕõ7µµµÈËËD6\¼hlUáââbµ¼úzã\ÀÙ³gy«sqq1êëëÓhnsôh&NœhöÍ+³waËÏuʵá£1ÑÇI˜îÑçAMäÛØöši™Õ–-[,ª¿¹Ø·oÜÝÝ‘ UUUHOOGtt4<==­–WQQÝ»wC¡PðVçÔÔTèt:ÁtÀÚŸÛ,=ò9éÖ¢¹E"¥œÿ ñ’dTÒ-A&U\ßAœ]£IqS+§ÉZYYbbbËY¦i æÍ›‡²²2dddØ,ÚŸÛ=šÕ2tÝEúr)çøõCëàh,=Ž©ÓâP å¦0’†*Ü­àÎRk*²7ýU¤©.`´ÜÞj%è› 16r%Î×ð×÷WñߤÚÙA&“=R7Ö¢}‰¢ŸŸüüüx©/ÈårÞêìàà;;;ÁtÀ—ÌÕ£UtA’)÷‘}ÿÑHsg×}Ú0Œ£~‹ßºà³R3Qr¿uª\ìX7ÒßjЩsðÒøM¼(®t£x¬£I™¦Ñ¡ÀE[Ùu ¥Ÿbga-FŒø£7pþèn¬Tƒ¤rN”\|C±2ñ0®XÁ‘Y™“ˆøkUÖ9õt¥ÅãM*êðiªeñ¡ì~ÉñÃÅìøpŽ14bèT/ ·ÊÃ75¦kƒçí@ò¾¯ñÆ¿Kز/VžFb†e)'ù^é¦oª@Æé4\½Yˆ.îÞ1j¢MËïJ¦OÀ3– lªN§7 p÷,¨cñ×ð›Ùi=úŸ­%j¬ìôxØ`M ÞR/'€Ø9øs²æ¥/$Ȧ¢Z¶¬,cº1+Æ€ä4–Á¹ŸÔq¸¥91Ⱥ(²>½Ìê@=}sÙ¾zè`ǑվÙÙ;’˜)/Z@Ö|·ßDô8P¯;™ÈâwÖš_Éæ2BV/ ÄÁΘ.ï¡­´¿'™2Ø×lqwRÆ?²^Ú¶–¨[ žUdØ>Ä• Žƒ–pÊ¿Ÿ© 8‘¤êÒa1)mîœ"枎œ{–[F&çÓIÀÜXµªV}GÆù:uk(©<Ø"™+¿'d0W¦Ìk¬y•T}Gˆ¯S—$è¸UIå}† Vù ‘w ÜP¹A“&¹XoŠ`•¹¿†a@ˆÿ¼ßy¨õµ‘œã}Ïúúí+ÝNýÓº•n:õeŒ…Jº½¶¥®PPùBÈÔÞ¿`Ƙôe t`†" ísf†Öä\+‚“"ALäùW¯ AOà‚¡®öý˜o"ï~[ì#FDD8Ìž‚#ßÈ…D1 >NÆ dggw[ÿ®PUpÊzóÒ#2""F<Ý#…÷L¾=†‡³Ãƒ¼È;!"<诙]pï›)O+r@ÌÛÍ¢®Óépýúu„††B*• ç3ZkÙ,yo^©äœûûT_âú9§ìã9@ü§Ÿî$ëÌ {?gŸ·zÔ~?’ Yø/«÷è›Ë‰ƒˆ1» Ÿöy~ýþåó.³¹œÓm÷ˆÝz¨[^ÜcõJ·ËïG¾gÖ’Ž™ç[›KÈŸŸ_̹6}aà#ì ï25ù„0f’áùw 1JÓþ.‰p2.õ|y÷U®¡ 8Ç·Œ%ˆX2€cuÉö^"‰¹¢Ö™ý°_ ÷ Òþ~$((ˆ³u¬PP‰·Í,yŸŒóéöGå5ji'ò™ !äó.sœO÷Dµ” uÐgÉ@!%§ÖGŠDödÝÁë¼®¶h-+óp¥¦­¯¥#žódËŸ{ïï2uå„,žDˆ¸‹ÂEAÈæý„è ¤7 'd0Ë&f|7ýØò0¼œ” †aÆ»;±÷Ã7:%ni¸ ©óHÀKʱo@þë/K°ëßE÷ˆ¥(ÊÜÃ~ËÁª‘Ë>‰ß}×Õ*ñcF&ŠÊ€HœàÿTbF‡ÁQÄOd­òy—Y«22²€Ä x*ˆzOt±J¥‚¿¿?”Je÷1^|eÇ0è5$qAX‡ñìHòþß’{ÚŽM©ø·Mɇ`?†“I˶òš¢gÇ  ´eèç¾ØŒw6lÁe•qŒZ,€¨Ñ#àí†õ¤}{ Õ-¦9„a“^Åæ„DÌŽdõ[@}w ž¸¯ËsNÞË‘•¶ OzÒ2ðNã?èp%ík¤œø³ðs‘ •êÐòPB€ i·ñÁ¸j1 Û%CVVæÍ›‡ÚÚZ466"$$„¯8(hJo±“k>¡á$S‹Q½^ÊÊJxxx@,÷œ Bâö¡±\nt¢³îãËHOj1 ›ÀcÿèlÿgL €ÊÎWR P<¹d°—‡³û.=  °ð–^²úúI$î<€Ÿ”Õð ŒÂŸßZ±C:§—8E°ûõyuÔ6^|†ÆÒðU,BM«iÈT,ñÀ¶‹7±2Âsm«6™qõ›gD îgÏ¢V è;ݤk›þ›CзTbí”%xxUBKC»ï:ÜZ€¢o‘A] î²\[u¼S~UMÅ·&2D¸R Pô-2 ?ðÑDÑs{aÊùì¾´µEß"CàâWº,wp›€…Ü”~ÿÚgÌÎLj¤Xó”œZ€¢o‘Áið*¬à&4|*^úîPW¸ Ûî»TþÓ÷"²m‰&…M€¯èÀÚü=D&Ä#j¹ws^[•E^ô2fÀ:EÜ ©¤°)ðŽqã+0bÉn6 ÏcH8ž †£¡é'¿Ç½æVˆì\ðÉ…Ûx3ŠŽ$QØxMºsj'æ/^‡ÌÒÎé`¤.ÁØrôÞšäK5OÑ÷ÉD_3GöãÄ™ ¨ª é?‘ÑSñÚëóàçhGµNñä‚â‰M¢  d   d   d  è³øüN6«é sIEND®B`‚nted-1.10.18/doc/docimages/staff_distances.png0000664001041000007640000010715611520267216016116 00000000000000‰PNG  IHDR<îaçYsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ ‡FÒÕtEXtCommentCreated with GIMPW IDATxÚìyxEþÿ_ÝserŸ á H ¢( ¨x‚÷íêªë±Þ»¿uÕýº¬²+*¨¸ ¨ ("*7rnÈ}‘;“;sw÷ïÀ@ÈL2AtQêõ<<ÀtUWuuu½ëSUŸ*IÓ4 @ :ˆ,Š@ B@@ D B@@ D ! @ "! @ "! @ ÁÏG/Šà÷ÃáÜbêm¢ ÿ¬Û•ÅÛkËq`…!„€üçÇÝ9Ø Ý°:\\18“^Æår!ëtèä#•;óê)°ØE ! ‚8íVì6;·¥õ%Øÿþ÷¿2diiiH’À«uõd5ˆÂB@'dIÖ±eËúôè‚ÝnGQŠ‹‹©¨¨ 88«Í$ëeCÞW_}•€€z÷îMII ‹·ÛMcc#ááá^ï÷í·ßŠÅbaýúõ 0€ššJKK‘e§ÓIYY6›ïyZ»–;wâp8èÕ«¹¹¹lݺ•ÈÈH>üðC¢££‰‹‹ó÷§Ÿ~¢¡¡ÆÆF &33“úúzÜn7ÙÙÙ‘ÍâÅ‹±X,ôêÕ˳ç×ÉóÞ{ïa4IHH ¦¦€•+W²mÛ6:uêDqq1áááìÞ½“ÉDUU™™™téÒÅkþjkkù裰Z­Øív¢¢¢8pàF£‘²²2 ä?ÿù3gÎ$88˜ììlª««q»ÝSVVFii)‡ƒÚÚZJJJˆŒŒD–½÷ëæÍ›Gjj*óæÍã‚ . ##ƒ¦¦&6nÜH||È’%K(**âî»ïæå—_& €x€xMs÷îÝÌ™3‡ŒŒ 8Àܹsilldøðá|üñÇœþùlß¾Y³f‰J/8{‡°j«Ê¨¬®¥÷¡OŸ><øàƒžÿ›ÍfBBBèÞ½»×;@||<ÕÕÕX­VW{tt4111 0€ÒÒR¦M›FUUU›iŒN§£©© ‹ÅÀyçÇáÇÛÍ{÷îÝ3f V«•øøx²²²ˆ‰‰!44”¨¨(ȰaÃÈÍÍEUUŸ÷  $$Y–ihh ::šØØXÊËËq:¤¥¥±víZTU¥¾¾ž¤¤$233}Þ/66–ììl>øà~úé'…a0ˆåÒK/¥¾¾žÄÄD""" ¤¸¸˜¦¦&ÂÃÃy÷Ýw©¨¨ !!nݺCLL ÁÁÁ>Ó2d>ø }úôñ¼Ã=z´¦ ^ð«Ña?œý¸zÚLŽÚŒ|´x“G'J±ƒ/r_÷épÜýÍ«c[¬Â***bÉ’% ÒÒÒ0`:—Ë…¢(>¬5kÖ°gÏ$IâüóÏ'-- MÓp¹\˜ÍfEÁ`0àr¹0½bµdɲ³³˜4i}ûöEUUt::‡ÃAPP׸K—.Åd2qÉ%—`0p:¸\.ÏðŒÃáÀ`0 Óée«ÕJPP×2UU«Õ @~~>«W¯F§Ó1aÂÑëõ«Ãáp ×ëQI’ŽíÖš~ø}ûöát:=–ƒÃáÀd2¡ª*F£Ñ3‡£ÓéÐ4yóæQVVÆsÏ=‡ÓéD§Ó!I’'¬ÓéÄl6{µ>Ì·ß~ë)ók®¹†˜˜EÁh4òÞ{ïqÛm·a2™¼Æþçâh¨âº‰cùñP%fÙ…žÄýÛ‰ #aaïÞ½dddpÝu×ýâ"¿jù3vÇšƒUüûÓeôvìaÌŒÇYýÝnn™>\”d°X,äååý"÷v:ÔÖ6‰Bg—€lY¹…á“nàÚ‰iвNÁa99™¼¼<Ö¯_Ïm·Ýö«§½páB¤¦2ñÁÙ$ *»ªj¸ùšk1é$ëë‘$¦¨¢O¡¾¾Þ¯ â_‚Ù³g"‰— üÎÈÉÉiÓß©-ÂÃÃéܹóÿP@4 ·ÒD¤©y‚îûovagì„so½¾¾ž¹sçòä“OžuyÓ4Ú\$~›¼þú넆†žÖâ›§žzêiZH~~>Û¶m#))Ékàê‡2³ýnÏþå-Œ½ŠÊÃ{¨ô#!ÅíF§?»'Ûív»_Ë kkkY½z5_|±×ëYYY”••±cǯ×3228zô¨Ïë§âp80mV‹¥Ì=ÄW&øMà°ÛÙ¸æ;rí¡sBwÆ\z‘‘QmÆq»ÝlÙµ…vü@hp(׎¿–Ä„Äs¦ÌEáæ›oöéhÚžò‹ ÈâÅ‹yòÉ'9pà€×¥€ÝƒC¨²ÖñòsÏPì ãŸOÜKHH`»‰Ô•åòÜ3/3çýùgÕ ùòË/III¡oß¾(ŠÂ|ÀÃ?Ün<·ÛÁ`ðéˆÑhlóºÉdòyýT>þøcn¾ùæ6Ãôb%œà·Ó~øÖËŒ´®ab|¹Nýí{nøÓÂÃ#€fç×ÌÌL €ÑhDÓ4,[ÀóEÏchü÷ýÿòɟзwß`§ÓIrr²XÎü+àµÕéÛ·¯×Âß/Ž. ¬ †¿}ð9§ ¡=cJS<úòãd—Ò·oß³êáUU%::Ú# ~屪ªŠŸa‘‘‘>¯—””PVVæwyDFFÒ«W/ŸÛŽ„nÌkËßœNg³Ï‰Û :ø°`4MC¯×£oG„TUÅáp`6›)..ö8Èy-ÅÏž’ÉíF'Ž¥ùÍ!˲ߴ¢(žðÞ=éœß´ ³nZ˜ÏC"¸2>ŸÍ?¬äòkfzêÚ?ü@tt4‰‰‰TYªøgö?±Ž>VÉM—–ÇÜïæòVï·wA$ ©4TÍ·U Km?mû#ùñl¾Ò–ü&ëÀˆJÉNAF³•{®?Iü¸t1ùrWàÀ¯^Á7lØ€ªªŒ7îœüÀív{³5´x1®É“ÑÂÂ|~$.—Ë«€hšÆ×_^¯'**ŠuëÖqÅW°xñbÈôéÓ½Þ³6 €F½žúŠ*‡ãXƒ£k®´ª†††>ÀDhçNÄ56èer°±©‰µë×cµ6¡Óéˆ`tZšß{=íÙ·ìœ\.f¤ 9©ãÃ|ªbGSl茧ý.ꚪ ŠüEß÷Ʊ̔)SZüf4ÛòUmÀ`sÙp«G%5Då˽õ,?P‹$Áä”0¾.È9Ñ! mÑÁjjj¢D.iY742kNì ÓéHKKcéÒ¥tíÚµ¶LcËæ ¾`$f“¡ífOÓ õ-Œš‚¢*ÞGdC› ±††[u{Y’ÛÕ§è%}›"rjÚ  %ƒÔv¹n¯²mÛ¶Vãle¹ûyô…ùDwëͤñ#HßÙþø}]Eß§cÖp8lݺõWm@øáTUõYÉ‹ŠŠ8xð z½UU)))ñ+µµµX,Ÿa³²²Ú¼×áÇ),,lq]SUjkª¨­·Ó‰Ðà=û£G²sçNŸ^ãn—’£G!²eã(×ÖbÞºãºuèFÔøxê âɧŸæÂ /dúôéžä©«;¬V+ï¼ó ÔÖÖ¢Óé8|ø0ƒæã?f„ ¶YN.§“ƒ_|C„dD–u4Y]XjmtïަiXœM¤Þw«×¸MMM|¹l.OxX.·‹âÒbV¬\ÉÔ+®Àhh»‚oܼUU™|ÙdزmŠâ¦w¯^è79¨<ò"Q{Ùi×Åý™; 01¬ß…þu~6®¥GžtíÒÕïÞ`NNS§Nm§çÝ6 ,`êÔ©¡iš'í?þø4L|`0¤åÏ)))ìÝ¢çæaQÈ’Ä%}BØ_æ ß¨ ZXé«V­bïÞ½üéO""<‚5…ýÚ~á 5HŒê2ªEGèöÛogذaX­V""|¾$Ë{ï½ÏÝwÎÆh4œóÖä¾½ûP…±Žõï»ÐŽu½]ŒŠŠj! N«…»žyšFU&:(ÐÈ¢"Úîºm5|öÝ&.›v _,Êo®Œ²‘Ȉ3öй¹¹8p€©S§z½ŒªªDEyŸœ ô쩤( f³ÙgØSMw“Éä3leee›÷ %00ÐsÝRšÅS>ΦôèèMAü¿·0õâAž|FFF¶žÑT~Xö!/üuÁƒ§Óçª1§tCô¨ááhhaah¡¡¸…¬¬,Ö¯_Orr2C† ñšÇÆÆF¢¢¢¨««£ªªŠéÓ§óôÓO3~üx222˜9s&EEE¸ÝnÏÖ­ÄfG³9Й‘$™#eì;\ά†£×É`wâvxß²}뎌•FçN1¬Y»†ˆˆRRRhhhâð‘# j£‘<.ðS.Ÿä©ÇÆ£G`íÚôèÞƒÁà‡x8©É{°ðZê«V‚ÖH`ÔEèŒQþ}dhÔ7Ö’_’¥¾ ¹Qbב íÛþGŽ$kìÛ¿‡®]‰ŒˆôKHBCC‰Œ<}K'00³ÙŒÁ` ¢¢‚˜˜¿ÊÊ鄼<èÓ§ý4zöêÍ®þ7±nχ\y^89µBÇrÛ˜‹RâããyçwN”GX/Œ~G|”£ýŽ¢·ê7š{ºç¤ê®gÅŠ~=gP ™yo¿IHT'n13µ«$Iœî)án·»ÝÞæ~hm5èÖ&+AÁA§•¶ÕjåÃ2ì‚aùŸ¾WéÙ³çIc›ÿ|úÿq¨¨Ž?¼øW¬ý’HS(½zµ½úÁY[Íå'ât4ow­iªf¢WzíQ]]M}}½Ï{ÆÆÆ¢(ŠÏëQQQ$$$ЫW/ψ?ù«ªª"88ØgØã½ŸS¯;6ªkê ‹ ::úØu• »Oø¸M¸.OüÈÈH’’’ZÍdl]ÍŸ_z“ª&Þ^¹‚2|8®ª*Ü£F¡…„@]ÉÉÉ >œÅ‹sþùç{}†\.Æ ãoûS¦L!<<œÚÚZBBB(//',,Œùóçc0¼:MZëê1 #Ë2n·†¥¶·â¦Òb¥Klfc–jo=DPSSCÌCønõwlÙº…S6›¾ýú°ióŽ6¤Òb¡sl ¥e¥¬^½ÚÓ9˜0áÒæ­è]®vEMS¨Îù;!A;ÐÉEtꌢdRŸ÷Á‰Á`Nh·žä—dp {'nÙ zp)nŠ*rÐÉz÷Nk·AÐdº÷èFMu-••t‰ïê׋]»vñÕW_ñÒK/ö·¥i‘‘‘ ¿„Ëj…  woüjŒgÜ<›Ìá£Ø‘‘A||<³ŸßîÜÅ£/feÒJÒ÷¤Ø9´ëÓNkóHMUùrñB,õvô:½ßó!~ R›smQS]Cff&£Fêp\—Ëž}û™6ò´ÒŽŠŠ"))‰oV|Ãu3®ûyr2GþÄkÿ^DÒñ<ý؃üa×Zö[ŠFÛb äÒ©S)>z„¯¿&((³¹c/»¬¬Œü‘™3gþ¦ÍCMuñãŠE¼þÿ&»°·&qå57»fgùöŒá“ㆧ¶{ßU[Ó©jr´_¹&MjñUK’ÄĉùôÓO}Æ à¼óÎ#++‹óÏ?Ÿ¯¿þš¤¤$Š‹‹ b÷îÝX­VFEe¥÷…ÜÖÚ:ôR³€TXê()k>‡$} qý0é 4ù€v‡””Š‹‹ #9)—ÓÝn=2Œž"G¥BÓ4tzAAÁ€„ìWwSIOC£U±£Ó)èÈ&,¼'µ¥KˆLúC»w8’·‡&Õ‚Ãê@/Ñ4³ÞäW#I²,£(n¢c¢%å””Ó§wÛ‹/†ÊÚµkO»¾·Z¡ý‹z÷éKï>[XÓ%¾ ]â»ü¬t].'?¬ÝĈ‘i\uù¥gtSÓß*z½žY³gñíÊo±Z­CŒ§/ [¶lñ˜þ_¼ûJjšxðò+8´{'Q8øËO°¢{Meäð!„˜}gÕÕ–3räHFŽIVæA¬å~?TQQË–-ólY}*¤¨¨ˆŸ~úÉç\„ªª>¯ràÀdYFUUŠ‹‹}†mñLuuX,–Va6+M6;%¥e-îuxû<ñì_¨n:qúÝÆ5k=×£##‰‰–±9Ýt鑃ÝGqæ^Š3O”ÃöíÛ[™¶yù¥ôï݃ê[Û=1/ˆÙlfüøñ>?I’>|8õõõôìÙ“¯¾úŠGyY–÷b‡Çå}ºà—––ìózXXŠ¢ø¼LDD;wFQ‚‚‚ür÷7˜L&OX·£–Ÿ|œeßÿ„KQÑL\{õôc¹y~ùªâ!ÌLšy§'~B÷$Þÿ}4MC–u­Úûàà`ϧ3ýá‰g=f o¯ØK–¡ˆÚÚZ233ill$44·ÛMçÎéß¿ÛJ§c̘1,X°€—_~™nݺy¸»ï¾›ÜÜ\*++}ÎAÙkëÔë±Ù¨ª ƒAN'Ñ¿O(•–Zº'Dc«÷. RRX³n›·laà€(ŠÊ²å_SV^†^§§K|¼ÏFÍd42bx*kÖn`Èù‰ŠŒ¤°ð(;w¥c0()-¥k—ö{±’l"2éTyàØ‰¸j¿DÖ¹‘ ]ýª¿Ñ¡ñÔÚKIê”B£­IÆïItY’1MȲîØb‰ä¤d †ö{†»víÂf³1þ|n¿ýö7$ªªÒØØHYYqqq˜ÍæŽY ¥À›@!pïÑ!MÓPUÕcmù;´¦©*t Ω4ÔVóÆoWTÊÊÕk¸ñê)B=Nê(t¤“âU@Ž;á”ì(¥±´†;¾Î!VÞyO<ö4K7ï⛥ÿåûþνÂk¯¿ÍºÕŸeÖ{¿á­§fóõºMükAr‡FQ”æ¡‹ädŸs>¯wêÔ EQ|^ŒŒ¤K—.$''£( ááá>Ã6çÇÍfÇ`&88øXX'fNæÓ¯×˜Ãp»‰ˆŠöÜëO÷ÜFA^!•µ†Drß“/òä}7¡—NXmͽDDDУGVs ÑÑÑÄÅÇÓ»woBCs[ùœ1c‡jÊÑéHMM%<<ܯñãÀÀ@ÂÃÃ[…/[¶Œ””fÍšåÕ@q»±U×bÖd —ŽàéYO¼p`ó2BÅ£¶UQ¼VäK.¾˜Ò²2ö8ˆÞ gÜ…RVVÎkoü¢£ÌºõŸãæ]âã¹núÕìÝ¿ŸœìtºwïÆ³fñ·×_ç¥W_á©'ž$©{÷ö?(™¨>Ïã´–àRË©­Ôë5ݯúÛ5¶¥‡ó¨oª¡_ÒùD„Dû=\¢ª*55µTWW“Ô£g‡>ê¡C‡2tèП՘Íf h³GªiÍóõõàqtîlªDÀxÌ*9‰}ûòâ?Vp Ð@B´Â#· eòeµ) %ÅGùðõ¨Ùñ ²9„”kæ†Ûïòk’ÿd¾^¶˜=sX¼ä3¢"#~v£«iG‹Ž²~ÝzÆŽKb÷ŽyÇÛ¬66mÚ„,Ë~MÓ().¡° —ÛÕá¼[­V¶nÙÚ<ÁÅã/nwùðÉi·9ÒäRq¨LŸre?-"í–øã£“ùêë¯p4:¸éþgøqõw|òÃ&²å5´õŒ½›Vñå~ëo[–5…ý;6ðo½Mú¡lŒá„†yæ0–mÜÓ"xL·̼óÄ1¯_w'{'_GI¹…˜Ø8BƒÌ¿ZÖ;uêÄk¯½æé•ÆÅÅqÑèÑRcã‰V ŠÛ³gOòóó=çƒÛíÍÖÔ˜1c|6ˆn»ƒú* ååUÈ’ìOoTk®€Á]bQ;:z!.6–¸ØXÏÿ£"#¹ýÖÛøð£1 ÜvóÍ>óm0vÊ*³ûï½—¼õo¼ù&zòÉv-EQ°ÙêÊ÷!7æá ~“SY¯´éD§ª*]£“)‹,!»ø]£“1ëƒ0øå|çp81L èß±ÍJUUEQ”Ó®/µæóµ¢°¨fÍ‚ª*˜<ù¸éÄûã…êêþø·5TßEp/5h¼8ÿºuËä¼þÍs"µµµ,_¾NÇõ×_Ûíæ³×ŸeHþr‚ã4ÀNöò—YÍåWÏh1¼üÙgŸq÷Ýwû|Æ“dæ3²ƒÃ¦ ›XôÙ"¦M›Æ{ï¾ÇŸžýæ@ÿ¾q‡ÃÁ?ÁèÑ£±Ùl„G„ûo- ³uÛVžîyl6³fÏò{.€Óáä®Ùw±æÇ5të֥˗úW’$V,_á]@vî܉N§£îh.æàpŽ>‚­¤½Kfއ»e?mdtr{¡8·³3}3z­åp„ÓVÍ’eéÝ5œÌt;wîìЋ)(( ¢¢Âg¼Ã‡SRRâóz^^ªª¶¼®i8œT ŠŽåÈ‘# ( eee^ïUœÎÃý‘‚Ê:Ïo½û¤xÂÞ:c*o¾·§[!*¶;<ñ$²­Š;[÷ZSSÝê·úúú6˦¤¤„ôôôV+pŽûaÄÄÄøÜ K§Ó1bÄFŒq¢âegcøðC8ÞÐÄÅáž4Égú¡¡¡äææ¶¨<š¦µðheÚôŸx1.›ýØøª¾yèáØúqIÖ¦¡ 0!wpˉqcÇ"Ë2ùùþØÃBCyôá‡ùhá'¸\þílª©*¤`u>)è|T?‡s4M£Oâ`B# 4w(Þð R;YÐ|¿ Ž­Q Ä`0øŒg6›1>¯?^ôøõ²üƒ¼ðÜ l?˜¦¤32vÌ‚‚‚PUÕGZ*ó.j!’¬gÌ´Ùž°Óg=ÂU·=ˆªjèôú/Ôétm–Íñg<5ŒÉdÂl6äµ'%I’ç(×ÄÆÂI=wEUÛì‰uéÒ…°“¼ØM&S›ðA²D¿þ}üz~£ÃqBÌüdìèÑŒ=ú´>ø°ÐP¼ï^ÿßMp0æ$ÔN=eéØ1ººvÇ’M¦ #áážq~‡°NgÕSïÞ½=½Ú_EQ qò׿6_éõÍþ ¾,£“ËMieåëOêH¨ªJDD„§³"Iœ:¼¥¤Ó·ÈOFF………{,æVí[X/¾òW\n…€S»ï±-¿ ™éWO'ãpŠªÐ/¥ÆcóTþ¼ëàž|òIvíÚÅĉ‰ŽŽö;®„Äe“.#.6Ž® ];¼]{hH( >\@Ueç :ƒÎС´_|éÅö÷Âzæùg¸áñrÇŒ¼ú'0†1ô²Þü˜›MϤ[Ù°o;#.Ì䉣0ëO$l¯(!±s<Ò),,Äáp[PÇå—èPÃA¿~ý¼^¯¯¯çСC>¯ïرEQèׯM•…<|Ó3lÜyÒ"Jݺu£_¿~(ŠBTT”×{Ýsý46nø‰ê²>€Û~†¼ð !¦3ãÁäóŽÏuôîÝ»ÕHçÎIHH _¿~„n*h5r:I^+yHH+ëçxc峑þ•±_Yn_0|5>§;Ñû[Àårµ˜ñ×ð•6’® çR¢%!IzÐTŒu«¹êòñ-ôàÁƒ¤¦¦b0èÔ¹3Æ¡WR{øS Í_p†Ḭ́©·œ°zõzžþy6oÞìS<&¿Ä‚Ý wÌj®`û3³vOÖ ñ$†Ž¿Ž>ƒ.h÷¾—Ýt?EWÞHnA1»$Š@ 8=‚ƒƒ˜ûêõ¼òæ{ì/Г­ððããè™Ü£E§å¦›nj!Æ·?ù*óçDP±íkdsÃf?Ì%“®h-P£FÑüjb£OßBìíǬ¬¬}Ã§Ìæåð®|2ÿMÞxéIl uT—ÿô_xñú«udeÕyM /{‘‘‘<ðÀ|¹ì;F§ù/"ùùùÔÖÖ’••uÊ UQÜ*ùùTWW{®¯_¾€‡žúØÜ'ÌåQ#RÉÊÊÂl fâ¨Áü°ý ý†ŒåÕç¡¶¬Ú²fó·®®®UZ§ÕV•S[U~F_‚Õjm3ÝÚÚZrss[Y•••‘••ECCˆÝ«¿ºòŸtì@¶°ðpyîàQ€g³€TWW·2½»§ 㙇5OUíáº[!~À`u8Ûg‹èΨQÝ=ÿ·X,~g®¶¶»Ý©.Ö~³„9ÿù˜šFH¯˜ŽÅbASm<òÌë-ÄCg ¡ç‹¯ãÙ×Þá)· <Ë?OÎÏ 7ÜСüÉ¡€¶Ò½æškp:­Â455ÑÐЀÅbÁápB 8vªì ¢f ¿3&MšDddäiyÎ×ÔÔtÈAðg Hjjj ¤¬ “œÒ:† ŠÙ ã¶Fb $BNfĈÞg8KÕ¥”VÔн'±±±žD?~öoþs–ÆNyMuÖæëšÂõRù`ÅF4 $2ާ^yƒ{fLF'ŸÝ[„……µX%å/Û¶m£wïÞŒ1‚oö×R`…?üáØ«òÅ×&üy÷ÝwÏ~ ¤E/÷è^.½h9åõL»í|òöóȆ$ɈêPÎhfG-Ï>ú ó—¬Äêpa eêåǶÐÖ\Ìùèóâ!ëýìæÿH:Þ^´’‡¤¢ÎNï>}éÛ Y>·ö¹1™LFFŠ/M üïÄ^^FEe6«‹õß/¢Ôù,AŇpYëˆuF2¡ª* ¼|Ïu¼ñÙ÷'.44`·Û¨­­%,,”{g^ÃÞý‡±Ô5ÅO½Äã·_~¢ñ43pH*uuàtjX,ÍëÔ…íƒ~©©©§¯GÄÄĈZ,ÎN‰4’Á}“X{ ”·<@¬Aâ³oÖ#…bbRÄÉ„ÓédÇöM|úýö¿G'ôçÒISضmãÆcâÌû88õFŠË«è×…°S<º6oV¹é&7EEÍ+'†—øö[#gs§üt·Ýöåô%g…€ÈúPÞú×?¸ö¶?¹{=÷Þµƒõë·ñÆÜ„œ?ˆ€€.¹ôrþóWùË¿æSÛä ©Ï žzæF é×Â1/0$œ^!ÞÝý_|ÑÍË/·VÛ¾]cêTK—ꉉ9·†³bbb¸ãŽ;~×¾à,€¾©“øne¾Zñ UnÞ¿ï Rõ=㙹âæû¹äê[i²» ÅÐ-.žÞÍ+¯xŸ“Ù¼Yeút7K—ꉎ>wD$00°Õ‚@ øU ¾G_î}¨ï/ž¡€À`:8gñüón^}U¡-ŸM›T®¼ÒÍÊ•NÚ•C §Éozl£±ž{®yØÊŸ­”~úIeüx'uuâÅ Á9+ C†8yå•¶-SÙµKãÒKÔÔˆ—/眀i\r‰‹¬¬ÓÛ£fÇk¯u‰·/皀\u•‹ì쟷ÁYn®Ø M Î9)+óþ»ÉýûKâ­ ÿ1™`Õ*#G¶~¤W^Ñ3dÈ a‘$¸äá!眀ÜpƒÜâèÌîÝ%–/70nœ÷Ç‰Ž†•+ ¼÷žž÷ÞÓ3¾žwßõÿ,äuëTFŽt"IbbŒãä7Üäç‹a0@pî¢ÿ-fúõ×õ\t‘ìY}5fŒÜ®oGçγgûïP—Ÿ¯ñÅ +Wªlݪqüdت*Ø´IcÓ&…?ÿYaȉ«®’¹újÝ»‹á3@ ä¬ÇfÃ# '·|FÈÏ×xôQ7«V©Øí¾ÃY­Íb²y³Â{ï©Ì›§gôh14&„€œµ<ð€›·ß>á98nœÌŠÎÐà¼õ–Âòåªß¤ipäˆÆ´i.–,ñ=”&¿'~“-ÝÒ¥-[öuëT¢£¬Zå»ÅW˜;W!.ΉÙìÀlvðè£îVì›6©¼óŽrZVMUL›æbÝ:UÔ,@ ä·‚ÃW^ébÓ¦ÖwE<ù¤›ûîsSV¦a·ƒÝÿ÷ [¶´ ÿòËnœNïiHRóÙ"¾óQ[+DD œü&‡°ºv…’’Ö¿;ÍCI§òç?»ýºo~¾ÆÚµšWáèÜRSe®¿^&%EbÑ"•wßU°Xhµ•Jm-Ü~»‹µkbb]  älbÙ2ýúù†ù‹/Ü^´&) ¶l1²l™ë¯×1p Ì«¯êÙ±ÃÈ“Oê¼Z$ùùÍ÷! gqq?ü`àúë^öo¿]ǰa'î±zµÚÊšÐéàÞ{½/ÑíÞ]â¯Õóí· ^ÎÖZ½Z c ! gññŸ|bàÕWõtô¼¤  ؼÙÀ¼yúÖƒ·a±ðp¸úê¶7N¦k×Ö¿{»Ÿ@ 92/ÃÓOëxé%=z?gs¦N•Y·ÎHZšÜJx¼MžGEI~Íc ­ÃøšŒ‚ßúßÃC<ýt³Ì«pô¨ïíE¦O—ùè#AAâÅ Á9mœ*"›7˜2¥õ# ,±`ž Îx(Ê™w! ÿ;%þþw=ݺN5Jfýz#·Þª#$ä $²i  _ ÙÙmu¹Äf‹à÷ËY=„¥( ‡ƒÀÀ@¿ãôé#qø°Ñãan46ÿ9cÌ 4ÿ{Ù2xüqòó5jk[‹ESÓé%áp8$ ã͸@ œCHNNO=õT‡ã™ÍÜü猷ÁiiÍ7މAƒ€fêêÖAN/‰ ðå—_ŠÚ)„ò»âÞ{!5µy-pß¾@³¿‡7D_[žØl6ááá¢<°@ΓaØ0è×ã§Zyó÷ÐéàÖ[½ûìÞ½›… в¿? dÑ¢EÈrKmQ\V¶nÞLV^š¬§G¯~ŒLŠIçiÔÕTÕ¡Ì•––’™™ÉgŸ}ö‹„¦iX,ã€È¿——Û˜3g11VŸq«ª.ZÎÐÛIJZÏgŸµŽwðàArrrˆŽŽöz¿;v´˜÷ÉÎΦ{÷îèÛpv)(¨ƒ˜¢F ‚ÿ­€LŸ>ÝI^v®¦ n¹þVÒ®žÍ3/]Š¥èÝ{Û÷dóùâIˆ2£©*²ÜÚ¡.o×\ÿâ‹lÛ·¿C™ËÊÊ"''‡«¯¾ú/EQ¸ÿ~K«ßëëxûí‰Ìš%1m^ ÿüg•²²–¿uêÀ=÷LòšVTT>Ÿ«ººš°°0Ïõ—_~™Ë.»Œ°6Ž]Ü_÷UvQ¡ÁÿX@ C yû/Ï2þ¾¹wê(b;æ“Þ£×à‹¹ó¾ÇùzÑÛ¼öìcTG¤ðÆS÷¢?IDì <ôÄ‹TÛì¼mÕVæôzdYîpó­ÓéÚ|.N‡N§ó\—e½^ßf9xn -ÖïÎbËþÑà Åm/åíwçs÷Ô‹è)É,ûòsÏõÜC»±(!Ô•äaµZY²dI‡2WZZJvvv‡ãgÆ ¨ªÚšò)”ªJPP#Cw\.ÿwgtû8jÄbq°dÉr¯×8@NNŽÏçÚµkž|:tˆ¯¾úªM˜ÂÂZˆs ?¿­ÊZšžzK53FÄ2ªwåååTUUÑ¿O¸ýE Ì[{T˜À¹âŠ+Njt5Jìã?˶róÍ×3åÒTO¸í›Âê ŒZ7j‹³©ïÅ3§ K`«(àÉeË1áRò§£i!a Œ;ØïÌeeeqäȦL™rZW__¢(~ÅW…µkÿI2+Wj(ÊÏr:>Ó Áhô}½¼¼œ°°0Ïõ½{÷¶;’nYC¥CThÿhª‚Ë¥¦g@|ÕÙXæÐïâÁȲŒ$IÔ6Xq¹Ä® ‚H@@@‹^ûÃ/ÿ‹»Ÿua4sr³ªÙšgŽc΋`û–%¤»Šxø¶˜ô¦.=yã¡I¹Y™lÛ¶1£ÐÖy°§`2™ÐëõŠs2ƒY–ýН( ‘‘ <õ”‰¡CÞ{O¡©©ù¨\«µãi›Í&¯×ŒFc›Ïe00 žëz½“ÉÔæsètbE¶ ƒH2’,±'}qîp:DBBTWW“ŸŸ‚$Ÿh .ìA½ÍM£]!4PG˜@>ß^´îpýåº^üûÛÃ6w³sJ@NEÖé <5¨Ê¡s‘ Á\5l Óž¸EÒaÔ7W$I§#$,ŒCû×QUUE·nÝX·q—_6â¬.îÝ%ž^ÏóÏ7?ïºu*ú“›­[5""@¯‡š ·Û·…àÛD 8{DBÖÉ8].Ž=ÊÁƒéß¿?6›ÒÒR*++ u"ŸÔ™¼d@ µ–rŠŒè@¿n1ÔÖÔPÐ`à‚îÁָȫ²qiJ8Ę́¶:$9I‹<ÎY´hQ»/¼¾<— jˆéÖò’,žë3ì…^ÈC‡P_“ǧŸ¶½êÃnm ;;‡šÚ:j멬(çÓOOo~ëÖ­¨ªê—¢ª*‡òšÖC5ÿ¨¬ äûïcY½:ƒ!œ  '²¬³T""ì XN%|ú©wÓåСCäää´H«ÎRNfv6‡“ŒÌ,ú÷OA;6;àÀ¾øâ ¯s .‡•¬¬,vUCŠ˜tD?$$Y$É”——#IK–,aÖ¬YDEEa·ÛqÐædÑÙ›SÁØÁIÈ-'±s8_o>Ì÷Œ§©±ž!]Ø_ä¢ÑRJu]Ð1CG/ä\«¯¾º‰g¿>rªdäÅ×ÞföÔ´6©Ê?Àý>Á¢+Û W˜±{ï~CEµôПòü}ÄÃ5×^ËéT?»ÝŽ¢(\{íµ~ aí߿߯°×]WÅý÷ßÏ¢E‹oK„ãó}Æ_»v-ž´2Ó×rÛ+ϲëp.ê±Å[—Nœâ¹~øða®¼òÊV[Ÿ”æïçÑfËâG\KŒ¨Ï‚aé0šL$D' Ë2ùùù˜Ífòóó±X,„FêZ ae–6r¨¨–ˆÎ,%Õ¬?TÁ©É,Û]Eï0‡rKÙ_)sÙ€J*kh²;‘uB@Î%Ñëõm HæÎo™ûÉ7\sÿsÜ~Õ˜~­¤Fµñôc±ëpN›žÔšRÏ]7ßÎðãß3®À¨6ñÜn§4(ƒþôÆP?ƒÞø’$yü-Ú-´cþ)úæ«©¾šÜü"Ê«jOÄ×Ü1×)8 dÀ€ôj¢¤¤„áÇӭ[7p¹\¤—(Hr•'ηYp»"ørO.«‘5%å¨n':“Ì—MYoàí µhª‚¤ë„AÖ{¶ýœÒ¦5q4ƒ»f?ÄWÝË{}c;l_ÿw!M9m!¹kÉ.©¤[Q&¼ï66nÙAÁãøhγ¿ùBVÝ6Þë/¼üú°Ô7¡7Üö`³hnÊjê[|ÔLœÉ]7]Õæ=5µ‘ì’2t–£üù÷pÄÙ•ØK5ZК-½e*Vw(ûm]èÒŸ¯žXÎW`QZX :£Ñ|ìß§ ©šE‰ ÞÿýV&§¦*”—eÝ÷«pDöáÒ zòß´yózËQödV`¯.¥±±‘yóæµþ²KÆòãʯÐwù .9„õß|ÉúÓ|¸-[¶ in_Î'7òªÊÞ½{ÛÍ#@cc#yyy~…سåGæ-XŒë$Ã-ðÄŸvã h+~À¥hDÇ'1còH-üÐv÷îÝ|ôÑG­<êǤ¥±rÍ*$àýDmtØ1ë5Õs¨0ö¢,Ë T´ ÊJЙ={¶gøGu»ÈÏ9Âßÿ€Å¿>þŠ~I]Ú½±«¡’W^þ;ÜŸ|ø>;M&.0…îÝb}ƹóÎ;ÏèÙL&EáöÛoo7¬¢(ø•‡ªª*~úé'ÿò«¹¹á›Ï[ˆG`x,Oÿ}.7M¼ÀóÛ+÷}‹ââbn¹å–ÖÛ¿ßy'ÿ8öÏçæ­b—UThAǸöü`f ‹!8sÒ¢ýÓTôaÜ0ë^B;БLL¹òJ\N+‡UUijúåwû«³”³yãzvíÙÏνG¸üòËþÇÝ<=O?ñ6‡BÎÑ bâ»qß#O0}¢ö Î œN1y&ø…Dg0‘Ø-±Ã76‡2lÔ(r³vâr¹ ¤ú¤±þ_‚½›¿æŽ{þ@µÓDÚÈá”åíbGá îúòyiøü« ih²‚Épî8Viª“¼ü2’’Å×&üž$,,Œððp.\Øê<ÓÅnodРA 4ˆ}{·Ÿ»÷—i¨4yê$¿Œ›.…IV)ÍØÄž={øøãÛ¯ª*ùùùm†ÕT…¦¦&jjë)((ðë¾g‚œœ/^Üæ®ÂyyMÐùìòQ]M<÷ð¼óßUÜðÀŸ™óò£èÄbœ³žmÛ¶±}ûv&OžL]]»wïæŽ;îh3NII „‡‡“žžŽÓé$55µÃi¿óÎ;(ŠÂW\AÍõyîܹ 8ØØX’““}ÆÝ½{7C† ñ£­ÐHOOo3ìgŸ}Fee%#GŽdذaNË…+VгgOFí5ÌÁƒY¾|9cÇŽeÔ¨Q?ë=Ïkvv6111ž­ÒÓÓQU•¡C‡žY¹ûû•^qðÜ!4XÏç½ËþÌÆM™Égÿy“è@ÿF¿õÖ[[ü_’Zo.Ó³Q#"®;×쉀_aõ›o¾¹Ý0™óVQ}–Í,{ïuÞ˜÷a‘‘¼ûÚ3¤œ?˜®¾H´Ðê€Ùy÷Ýw™={6AAA¿š€Ì˜1ƒððpJKK±ÙllذÜÜ\¦M›æuO6MÓøþûï™:u*kÖ¬!55•C‡±iÓ&&MšDNNµµµ$$$еkW:wîì5íºº:fÍšExx8;vì ;;›††V¬XA}}=Ï=÷qqq^ãnÞ¼™ššÊËËINN¦²²’‚‚¦M›Æ7ß|Cjj*GŽÁb±°~ýz^|ñEúôéãõ^EEEÜrË-“™™‰Á`àÀ|òÉ'Üÿýddd0~üxvî܉,Ëôë×ü‘É“'û¹>ø€Ù³gc±X°Ûí|õÕW˜ÍfBCC©¨¨ ::š]»v‘˜˜ˆ¦i|ýõ×ÔÔÔàAƒÈÍÍÅn·c·ÛINNfÆ Lœ8‘nݺyMoÆ téÒ…-[¶0fÌöìÙC~~>]ºt¡¨¨ˆÃ‡Íe—þ0ÿïf%©K?ÿˆ¾‰ñL¿å~ظ/>œã·xøË¾ƒûy÷µ‡±ØÊ]ªhá|à¶V0wÁ¹hÆý9²á]ô|öþç¢`:ZŽn7{÷îõk%á³U•õë×SYYIzz:sæÌ!77—}ûöyÓ¥KêêêX°`“&M"==ùóçSRRš5kX³f ÙÙÙ,\¸—Ëå3íüü|Ö¯_ïiäSSSq¹\F&MšäS<<ßç¾}Lœ8‘-[¶PZZŠ,Ë,^¼˜‚‚¾ûî;rrr¸óÎ;5j”Oñ¨¨¨`ýúõÎ;ï¼ÃСCIKKcРAX­V‚‚‚¨ªªâ“O>áèÑ£¸\®6}Ãôz=têÔ‰œœ ùùùlܸ‘‹/¾˜={ö0dÈÎ?ÿ|ÒÓÓÙ³g:uò<Ë–-[Ø»w/cÇŽeÁ‚³fÍŸéÙl6Ö¯_ÏÁƒøç?ÿIvv6 //ÄÄDvìØqæ,ß:CÆ\Î1—Ÿ‘{y³>î¹å:vÌãÑçß ›Iìwå‹ò¼ ‹Ý|øácD„G3x\/¶íß- Æ ûÛßxì±Ç:ì˜úKÑ£G®¼òJ›ç®n¼ñFŽ=Jl¬ïU”—\r K–,!%%…¬¬,† Bzz:ÉÉÉhšÆäÉ“Y¶l‘‘‘>ïIyy9‡ƒ””Ö®]K÷îÝÑétddd0lØ0Ÿ"r<¯QQQôèÑƒÆÆF*++™0ak×®%!!MÓÐétØl6222|ŠH§N(//')) EQ˜1c ÒÓÓéׯN§«ÕJjjªgÚ¶$Œ3†>ø€¸¸8.ºè"6nÜH`` qqqDGG“œœLdd$ÁÁÁ$&&RYYɆ 8ï¼óØ´iv»þýûÂÔ©SÙ½{7={ú>Ï%%%…+¯¼’ÄÄDÌf37Þx#%%%$''søðavìØá)3! ¿½†\Äó¯ÏcPJ²(Œ6(kª'6¥7ƒ{u4Ü D_" ÆÇÐË£ž=N ¥¥¥Ì™3‡ØØX¿¶ö(((`ÅŠðÁ0kÖ,Ï8þñ1ÿ»îò½¤eïÞ½ÄÇÇÍã÷9ÊúàÁƒsß}÷xðäÆôdžxâ‰6ï÷Ç?þÑ3„xÜ_«W¯^Ü{ï½-Â=öØcž;Öçýòòòزe G¥²²’{î¹§E˜“󜘘ȦM›Ð4Ë.»¬Õþ´´4ÒÒ|o!åt:),,dΜ9žç8¹<ãã㉧S§NB@Î4¾¬€×_}N(J=Á™„Û^ÅšÕEÌ|mÌ9Y ,ࢋ.ò9V}¶qjÃæݺuãÁüYé_ls:ôïß¿ÅAXgŠ€€€Ÿý\Ç­ºŽÞgôèÑ>'ÛÛÃh4¶™ÞàÁƒÏHùœN§“M›6!IRkG +§ŠêºzvîÞÅo¿J™>‚~Ý=cêm¡©*HÒY½Ÿ¢(žýÓÚcõêÕ˜Ífª««½^¯««cÏž=^ϼ·Z­X,öíÛGpp°_ùÚ=…3?/H¦¡¡;‰ -òK£i&QǨ®®fÊ”)<úè£^ÏœB/ê¥ xóãÜõÔ Hk¿Œ7ïÿß_|Ñ• 6ä¬yÞÒÒRÖ¬YÃ̪µ_ IDAT™3Ø´iQQQ 8°Ý¸:½^ïU  y³Ì㇈ÊñCÑ|]?•mÛ¶¡×ë1¢íswtÇæ[rss .Z äLÐÖð• 5qqq 0 Õï]Œ*Ru>ÿœ»—ã®ãÕg ÔØ~o}ך/øpñWL¼þ¯÷ýŸ}(z=V«Õ“§ììlbccýÊcTT={öô6$$„þýûc4¶^1ØØØHDDýúõkóHããb0ÚÍWa*š‡¦ YpZˆsP…õñ‹à”›(¯®FÖƒç½é—xØkŠXº¹ˆZ»ò«çWUU^{í5ñâaëã×¢   ÕZrÅåàÿ^x‚¬R+¼r'…ì¨(lO¢ùâÓáVmÚÉ.¡=)°Øð–nÝ[L§éªª’írn Kc 'Ož¼¢ˆj·‘““‹¬èɸ(b-È`ü믲n×Q eBÒ¹³iÃFê‡Ö!7ÏNhšä›mݽôèHîlèS”/W1üü|‚«ûƒ¬ÃdµãRÇ™™†áï¿1ìÛȧOc0€™³g³iÓ&¦OŸNãÆ]Þç‚ 8wî-Z´àÎ;ïdñâÅÜÿýlݺ•   <<dY¦Y«0¾ür2ªª±ípKKdë€è‘23±öë‡æáÙlÆh4òõ×_óõ×_»¬œìv;ƒ bΜ9ôéÓY–ÉÌÌ$33“Ûo¿„„l6qqqÔ©SÇé LsF6Þz=:YÇ©Ø4‹¡}Xmj…xcÐë)ÈÌ'rüÄIZ·lAµjÕ8†å+–óÌè§is[k6lÜZ¦€D?ÎCƒ5 ²‘5hÒ¤'Nž¤Eó²]•šj&+î||’ȱ§‘õ2’±=ÕjEÒ•Ï{&)š¨3‡ÉÉË¢†m¶ZI§Ûî'ȯt+A§S ­GFFí§~hCª•€,„€®ˆ‹c Y{c ht// é«O ¢A—Á„º¯ ÷Ô%tq‹çñÇGðûìoòØcôïèüƒŒ?º…‰?gæï‹Ê_¸˜jçcÎ\‹7n|•b ³U__¿¢HdÄ^{ó#r¬º*ËŠ¾(RÃKañ¼ßØ´ï8H íîéËŒï¦Ð¤v Ô«êrœ‡«HNNÞÞÞ´há˜îãt† K´¤Ð¼¼°uìVk±È+¯¼Â‡~HzzºÓòhÔ¨999±eˈEÓ4EÁd21þ|¢££yûí·VpæÌlt¾AHÈDŸN%¬e-6íˆå±Áa¸ÜÈKNs¿IHL¤Y³†ìعƒ.Àd2ñÙŸóì³Ï’Ÿ_ö:š¦a2ðíô餤¤ Iááá„Ô !**®¢‘;7eY¸T½7èâÈ:ˆoý7Êtg%¤žáàÉíh˜ìùdf©xü‰Ø¿’^‡àå^º XlÜ<ÜhЈ¤Ä$Î%ÄZ¯nn¥‹Wvv6ãÇ'<<œ.]ºî«kCRžðÁݱçd–žÅÄ9Y69†s{iõö£Lžð_z?ü‹YDÿŽÍKV⦾ûm-ñY7¶E˜—•ÌO3¾eáÒÕä[%²róùÔH–®ßr‰xõæ§E=°üj7bé†íœŽ;dð¤N­`®ö„.š ,SлtéÂܹsiÛ¶-Ó§O§cÇŽDFFâëëKZZ‡æ™gžA–e§•šÕd³Y’ÉÎ5“™•¿ŸŽ$a6Û1ôää¢9Z5k’˜HÛ¶m©U³+V­`ôÿÆd6¡èÊŽ TTÞxý" KÕTöìÝG­šå‰CHxÕxÌØèôÍQÍ …§ÛdÕ»%¡t‹:æ\$¹ö4Lè%wÜ#ªê×nT¦xH(:4 »ÝJÍš5‘Ø»/a­Ãððð,µáõè£b2U|Éñ[^@„ûêÊ8{ölÑÞÞäh:z UÖH<}‚l}}"ެäàÁV(n5©ã¥çtìvö8€\Ì¢±~ÉïÔké˜a4&&ÆåÚ®ÈÌÌäÈ‘#Nc‹…ŒŒ Ž9âtŒ„ªªäææ–¸¦ÝfÃj³qæL<©©©Eé±±±äää”Û­ùL~ÿ-~[ºõBƒÃ‡ “eÚÜÖ† k—˜ŽNqãþðá<ö@G:äLŠÈLK.ÞJMHàÔ©S.»111(ŠRâ>òòòÈÊÊ*Ú”K»Ý΃>Xj@ÙÍÍ'Ÿ|’©S§Ò»wojÔ¨Áˆ#¨Q£»víbܸqDGGÓ¬Y3§£îsRÓq7¸¡ŽÄÓ¤aín«Ï™s›‰ØM.M°ç`·–\¥IãF,øk!øùúñ`¿±Z­¬ß¸™&M—yM›4eçî=´¿£-îžÈ’DzF&ûæÿ.YhÎÏP|ê%7þT«YoD1ìÁZ`I.G]$£“tø¸Rï.Ñ ÇhR·w4»§ÇJèõÇ¿ŠÜÜ\ÒRÓhX¿!îî¥k2™Ø»w/‹…víÚ9íä DXUXVŽš²ó€Á|ú×vžõîêǹ¨$nªÍ´9Ñ4íüª×î€tÑqG·¯B nK“š>%Î[Ѽ”uœ³ôÂmEÿÚMü>{3YDÅŠNo¤Û}]K{éß÷ïá÷‹Å¨Ûò.jÖo‚¦i†¶à·…ÿ`µÚu:tçã½×˹Çò^gß¾}¬\¹’„„üüü8rä?ü0½{÷.38k0hÕª~~~ÜvÛmE1…Ûo¿+V ª*ƒvîJIIÁÃÍI’hÚ(w7#’$ñ`ÏÖÀùÉ5-6ì \2>H§Óq¯ÞlŠˆÀ`PPU•üüüýüùõ÷ß±Ym´oçz ×Ö-[bµZÙ¸i ƒUÕ0™,¨vß͚œ#FàYŽŠÕèÕj%/e:ƒG±S¾ìxD †œK;…»Ñ“º!tоE×r¿n7r,Vbcbñö®F£FMÊÕÉC’¤¢åm+º”ù-- Âú¸rjÕªU4w«fõ™¿à^"Nfò쯢i`I5 ½ÿ9u[¶&þàj’•@žñqÂZ…;OÊþÝd™²Ø¿?€¨è†=Ò¿ò·†|}}iÕª•ˈŸŸ-[¶tñòò*º—9ßàëÙ¿a*t7™ÍøTó.J‰‰!88¸Äôãµü=èÖ˜ûOMÂ:1ë‡YÜÓ¶Y¥”wHH 6t9íùÙ³gÑëõ%Òsrrðññ)Ú~6[ƒTç×X°`¿üò ‹EQhÚ´)þþþN­g4oÞœ­[·Ò¾}û¢m›6m¢qãÆ„……¹œ23! S~.V‹ƒ^Æ®–iÂhÐ4•ÔŒTòlÌyùP­äÌľ>>ù L&Ï?ó îîîeÞ¿Þ³1JÙ§^ÅŠ!èaTUC.£+{ ÿšOÒs’ÑI íšÝƒ¦iåêQe³Ù‰:…,ëhР!CùÀF£±Ø³"¸&èŒÕ˜={:}ãèžgóÂH‚|Z¡—4F½üW.ãƒ/¾¦SËÐÇöxâÿè¡Ù‰;Ãk¯½FçNwàëã^¥ùMKŒeöwÓÙ¸}Æjä›K­jª‰ió–]ÀèH¿'þSæ9«×iÌêíû‰:y«ìNÓÆ 0êo¬Ïìƒ>à¹çž#++ jÕ¨{BRd¤£|t:ð÷ÓËûûû“••Ul[||<}ûö-uFa5ßDRz*²$!É2ÒùÖq1ëI'c3™œ H¡%â{‰ óùgžá»Y³˜>ã;ê|øÁ.ÖcGﺋE¢y³¦ü祗ùfÚTæ-XÀÈ#J-;UU1ä“™™Š)ó Y^ãk«ÞjÁ`0ºMÓPUv»±~ïßDÇǨ¸ãéé…^¯/SDêÔ®ƒ§§g™î*gåu%ƒ …€÷Õ‘žž~ÞŸ~~üñ'~úñ{Ýß»¦‘‘™EäH¾šõ­ÖäÌé8çŸ5…¿oàÓO?%&6CGNà[‘èyyyœ9s†œœœâçµÛ±X­äååOnn.Ùi§ù¿Ge׉ø -ÀºE÷2|@ŽGÅP`±áéĘ·?àÎ&AEé©©©H’TüÞ/ÂÃÛgIÅÝ4¥ÄRŒF#C† )¶íÁ,Õæf·SW8µÖŠWÜú2#:=¿ÑÈ—é¦hÔ°a9ë £ÑˆÁ`@óñ-ÚV–H’„¢èñôTŠÍ¤P•‹ªyzz–|ÖB@„õq5iÔ¨Q±µ m¦\öœ½œ†møgÉ"šÖ DgÆ^`«Ü i*›—ÏãÍ·?æäé$á‚»kÓÖ-¬ÞY|Dw«{úXÓ1¢·÷°ÑìiÇNÄà\›Ö-šãå!Á5#nÿ~róò8yp+¤i½îdEï$èö~•v ‹ÅBdÄ?ôüÙæ ÂäîáA~~>ÞÞÞths]Û·dë¡SH’Ž;î}€Y3¦àïå Y§Ð IK4iyC•ohh(~~~>N§Ó•kù]@Èå6j…ûꊹç¡G˜¾écZtèA·V·‘“zŠÅ+b3íÞJ»ÆÑ£G™üiÞ|éIÜÎÏššž®qì˜hˆÑ(Q¯¶x6Îøká_ØN,!"¬kÞÝŸé?/`Å¿KرïCž~‡À Wnû?¸q –¬ =# 7O¼=ýßóò`åJ•iÓì¬[çÊ0eŠÂ3Ïèĺ/o/Ü‚ƒEA„€ëãúÀÝÛŸAÞdаª½ŽN1x¡ÿ»Õ >jeÉ’â½yÌf˜8ÑNÿþ2!!’x@ 8ë׫%Ä£ØX9sTÞzKX!¥a0n¸®¤! ×ᾺñÉΆ÷Þ+}DíŒvFŽ”©QCT®øüóÏ©S§Ž(‹î«›½â³±m[éÑ ­7ßVˆ+ôz}©óU #ßê ¬Ÿï¿·óÅå›Ïgòd;—L•%„€ëãV$1QcÂ;å]L-)IcÆ »(8@ˆàVççŸU¢£+¶ÓûïÛ°ÙDÙ WÊ-Dî«›ädéÓ+nMäæÂàÁV–,©:_l¬ÆÂ…vV­RIM…êÕ¡W/™ðp¡¡"ˆ/rC ÜW7'v;Lšd'&F»¬ã׬QÙ²E¥S§Ê1Âss5vïÖX²DeÍ•ãÇ5,–âû¬^mgüx;ÁÁкµÌ°a2÷ß/ãë+E DX‚«Æ¸q6>ÿ¼lëÃh„¾}e-*ÞC« >ÿÜ~Ùr±`¬_¯¥‘Ÿ¥ÍH®iŸÑÑã™à`‰®]…€„€ëCpU8zT㫯Ê纒eøôS…ýû­%¬••+UvìP¹óÎò‰H¡[êÏ?UŽÑÈË+]0JoÀÀ‰¨tí*B‘‚ñæ n8&L°UdES7–xñÅ’c?L&øä;®׋՘4ÉFïÞ40Ó¤‰…×_·³}»FNÎå‹ÇÅ"²~½Fl¬&ª@È‚p_ݸìÛ§¹œ®dà@ׯócÉ4lXÒU´x±Ê§ŸÚKˆÁ† *÷ÝçŒU«4bb*´ w¹dÉ•>}¬DD¨âá „€\/÷ÕÍIT”æt àðá:~úÉu¯ª5$ž}Öùôqãl¤§kÅ,‘#­ÄÆ^Î{îîЬ™D¯^ŽŸ—Wé"©1t¨a}®:ÁÁŸ}¦CWÆ %#GÊÔ­[vÀzáB{¹Å£P04€»î’;VÇ®]zŽ3°r¥3ô¼÷žŽÎ%J›!$!!"! ÂúT%¡¡%[ôÏ<#\¶0HL™¢`0”¾ßªUj™¢áë[\0N2²u«O>QhÙR.–ß1c6o6°j•žÐÐÒEdôh›ˆ‰nÄl¼‚Šöí%–,ѳzµ£’¯UKªÐBQÊüõ—ž/4&MR¸ @çΕ<Î`€&M$jÖ¼ü]»Ê¬_o`Ö,;ß|ã|N®ãÇ=½ÆŒŸ¦@Èue}÷ÕÍÁ}÷ÉÜwßåÏ< cµº~.XhI:d¨ êãúô‘:ÔJBÂ¥ï¨Ã3F^zÉFî¸ÃBïÞ&Mªx­ØXÄÄ’Û Qþ‚ƒ›z¸«°>WBx¸Ž¥KU6l() 99œIîHÛ¼ÙÎôévÜÝVKyF¬/\hw:ï« ¾@ DX‚kÞ°€yóTöîuÄ2Zµ’>\‡,—´Bž|RGd¤Í©¥p1pêÔA9|ø‚¨øøH%ÖDÕ˜=[uò>;ö„€×!ßogôh[±m²ì˜þRî½WæÙguLœhÇdªØu.•uëì|ö™__‰¤$ìì’ÇètËG ¸¸i›:Â}%pÆÙ³¯¾j+±ýÈçñ‹ÐP‰wßUX¾\OÇŽW6èÏfƒädÇR¶YYN§ãíM…'i„€\Â}%¨¨x<ð€•ÜÜŠÛµ«Ì¶mÖ¯¿ $~~8 ²_.z=<ñ„°>B@„õ!¨R†µR³¦…š5-tíjeíÚÒÇf$&jôíkåÀç–F»våû …DÓŒ¤§ù÷ßâ‚R¿>xz^NcÂÃeþó! ‚‡6"¬[—iÓì,XpA046mR™?ßù’v;<û¬ƒ‹ÇsÏé2äòÚR…‚r16¨Œgcûv Y¦ÄzëÎÄ#,Lâ“OᾪÖÂt¾íƒJÆ6T>ýÔÎâÅÎkñnÝd&L¨ÜÏ PTbc5æÌ±3{¶¼<ð÷î‚@ \ÑUJ¯\„ûêVåðá’Êb6ÃÛoÛœîß½»Ìüù ¾¾U“ŸÂü»ïŠvšàæä†Œ÷Õ­ÍÃË„…]Yk½F ‰ ôÅ–²·€€ëãÖ&0Pbõj=­[_^å¯ÓÁ?(øù‰²n)Ö‡ PDÖ­ÓÓ¢EÅEdÉ=}ûŠÑÞ°@·,Õ«K¼ù¦w÷ò3p L•÷ÚK’ÙéO ¸¸i¢{Â}ukòÄ:4 ž{ÎVæT#áá2?ý¤¯”Ùn…H7˜">Z3ž|RÇ}÷•þ*,óãz¼¼*ÇÚ7‰ KX‚ÿþW‡Þù8B¼½áw¼½oNÑHNN/€@ˆ°>—KçÎ2}úÌD¯/>ÄË V¯ÖÓ¦Tá÷íFyç}ôQñ„€W‚§ç6¾ÿ>—¦M¥¢ßªUzî¼³|¯yeXšf¬T‹XUURRRPK™Ån·‹‡/r¹¬@PÈÈDFŠ~wÝ%W¹hT…pRPPÀøñãÉq,xÓc-ÈbÞÜÙq ±ZüõÏ Ñ K¸¯®_víÚů¿þzImªuì{ÃlµáæYŽ]î¥nPùFî™ó²Pe#îînÊKll, ,À«‘òÇrÅ÷>eÊ ¸´* ³Ù̱cÇøã?ðp1w|RRRÑ38wî²,\êyÄ¥ƒÇ½×ÙÛ¤òÁkO3qƪ…4àÇßÑÿÞÖâ#« YYYxxx w¼ÕDX×/íÚµã‘G¹ø¡ðϯ_s8&‹WƽGwæNÀÔ¯§3eöÏ ¾¯M©ç³Y xuø@<=–Ý»Uhg IDAT(/K—.%<<§é:õŠï×nw|”ÿý7ÁÁíèØ±c•–onn. 2§ûÌš5«è,[¶ ½^OÏž=K=ïòˆÙ{}½K‡Ö-dÒ‹èÔ{ ñG¶ðÎGqO‡ßðuSÜW„o¾ù†кuÕ‹ïuïÂÖÇõþ|$dY.úeÅïå›{˜õ÷tëÔžÆÍZñþ”9tª/ñìˆaì=qŽ#»7>ä1ÎØ‹+Ë2ËæÍâ»…k°Û¬%ÒÊú]šY–Ñé¬E¿+m¬hš±ÂyªŒŸ³ûªHº«c®7þþ»„³üŸLxy G6m +%E|d—`µZ±Ùl.ÓóòòJM¿¥Dpc1ï×?1È2‘ÇOù°ežÑ !íÜI>ž4ƒœìLŽÙÏéÔ⃄Èíœ(¨Z ÎïÊŒkK÷ªøX·1†7Þú/€f¡¨¶4Õ*ŠææÎËŠ+®‹¼Ü°.,ñQ_ìܹ“jÕªý½vGË—le÷½¼=n þŽW,9=€ «е]^óÑ›]تÊË`ÝÖý´ëpëÖ­#55µByùý÷ùýwó|œýÿçŸ]ï·gÏ|||8yòd™çLOOÇËË Ãe 7›ÍDEE1oÞ<—1ÄÄD~>ŸÙ ÓéHLL,õ¼GNg€g×ëç{¶çk21°sRÇáSïv ^·Ü7e2™°Ùl.cyeY B@„ûꆡC‡ >¼èï;øsøÈ‹4ëÔLJ'à¼€Ä âõÿÍÄ”çMóÐ&lŒXÇkÿû/F‡û÷ÏÇÓ®ó}ÔöwLlåçÂÀACñö2^•wÄfSèÕ«ǯ-×þÞÞÞ—+2~üxzöìI‹-*œ¯ÜÜ\¶mÛÆ°aÃ\Æ@~øá‡¢gP®ȲÍû9¶çzz“TÐ@–À”›ÎÏm¡k÷ ð¸å¾©ˆˆbcc5jÔuŸ×ÒÖÇõK‹N}Ùº}nÞÕð0^x½lޱG°qg0é³ tñz6vX/÷Ž\«ôôtêÔÆÍ¨T©p\üUåXŠììl¬Ö[Ûc·Û™1cÇç®»îrö40™,ü6o>‡7.f;8^èéÇŸóç•ýU+ùsßÿf-‹Y¿,ááßåãÿþ]YÁ~MeÎo³7.—)S¿¹®îyÀ€,^¼ØaÇűbÅ ÂÃÃË<Îh4årßÔÔT‚ƒƒ0`€Óô½{÷Ò½{wÚ´iSæµÌf3ï¿ÿ>ÿùÏn Dpýpi ÄÅWά_ÿBVŒÖ b¾#PáÞ÷4Iáߥ 1bh¥ä³0¶á*®¡ªj±XByZ‰å;vŒ¥K—rðàÁ çÛY Än³p6>žìœ<$BByc šFZJ)iéD§˜¡å“Wý}‘eÙåø„ÛVãõÇÐøÎ~|:þuÜÊ3:±3Ný•^ô»*ã.&77wwwt:K««0OŠ¢ ÓéʕDzöUEQ\¦ëtºRÓ/}ïË›¯›B@D òúâÒˆ3’NnçŧŽÑ±×ãL›ø>¾n®ûõ«v+SÞ}×>þ¢’ß•áeºXæÎ[æ½R‘Èž={èׯaaa—UI]±˜²ùü×ùbúÏdæ9\ š¶.3¢©~ùösfLŸÝàE@í¦µ¼~ޣ̤h¶Ç§áæSï˜J°oÙƒHó2X¿ý$õ^“<öÙg >œÆ߲߿°@U+øö|Þ;cíLþrB©âqÁEuùâq(ÕD«Ÿ½Ðؽu«Ön$«@#!9­¨kó¿sgðÞ¤ÙØ´‹ú:»•=Âãâ9|úÃR>þæ{îjÛšåë6³8éêßZJJ ‹-*~»6¿Íú†ÍÏv8ñ‡w¸¬2RÙ¶q-!ÍÚQA\\\‰ó^)v»½hŒ3vïÞMõêÕ9|Øyf“““‹ò”œœÌÊ•Ç]»v‘àrßýû÷ãë닦9ïï~âÄ Ö¯_Ollla³Œ¸S'8rìf4jÖ’–M"KŽ]'Nœpy-sA.‡ìçô¹$<¼ý¸£}}½nLÖÇWÎþì]í<Ë/.áÎ&µJ+#(¸o|<…Vƒoì"S-|õîk¼ÿådå`ô 95?_¢ÏĽ§?ŸNþªÌó:€ÎÓ“C[W3åƒ×9‘b§Ã‹?_õûó÷÷/a­úmË6ìäö–Mɳ–Ùƒ àìöåÌË€¦ «ÕŠÉd¢f–´lV³ÒòúÍ7ßp×]wÑ®];§éË—/ç®»î¢yóæNÓ§M›Vt/§OŸ¦   \÷fµZ©V­šË}ãââv™ÁwÞIXXšfeöçãyoÒl²ó«›w0«V®àöÖ 1›Ílß¾Ýé¹Ò£õØã¬ß} »ª‚$ÑåTË~',Aåà*b5°wÛ:–oØÇÈÑO“tr?Ÿ¼Ðo´2b·5#ߪR¯={¾F’WîF ×Ùu9wò0>ƒóÅýü%þY²„~x‡4 [§Ä&¤bt÷¦W¿äŸ=ÌÏ?;ZÁ®b Š[”ÌuüüûŸÔ¨J—ž¸ÝTt:]±ÞEégOòÁÄIxÖnÅÜ…_Ò³Çk¸{z¡+#vÞøÞ|ß±/’äèÆÜ°aCnkˆA_þiOʲ0l6z½Þeo(½^‡‡‡Ëô‹ïÕÃãÑX®yÚÜÝÝ1 .÷ussÃÍÍ­XºÝf!&ê8gÓÉÌÉÇý|¾"÷D0aÒ ²ó/ôÔ¹yâ„——z½Þéµ4Meâ¤/X»óÈ…I-5 ÷ê5‹í{Ý ˆ°6n .äeg°}ózÖn:D‡¾O2é»_1žÿ¨+¿Ud¥º+®‡Èþ-+ùò›iEâS½&¦ÌæùGûíóôó®{Ì”6äé—ÆýÙæý̸Öã@4•_¾ÈÁ¸L>™9›M”Äê“ghàE5Ÿjèç‚ ë xê4Ö®ùl6G#ÏѦur_~Ñ¢E(ŠÂÀoèo0éôžÿ¿Ñ,^» ûùÚ¾K÷~´½ývÒ ,d™/tQ÷ò âN$¬IH™ßÃáséȲ„]Õ@’iÖö¾šðFÑ>Y)±ÂT.9YY4js7÷õŒ,ŠÆ•š­Š…j³rêÄQvîÜÅÙ”,L–k?º·M§žü»t1«7nE2V£[Ïûiw[Ó›æý¸8b)ÈäëÙó¨^»)J?Íþ–ü‚ër'>ժѲu]î½—ÆuK«ìt<õä ÌVb¢vµ»ÜyÙ¼y3:Îe,áØ±c(ŠârÅǘ˜Ö®]ˉ'œ¦_III¹‚ˆFÒÙÓœŠ‰ÃlÕ8Ãm­ZœÏ·ÆW¼Å¦ýÅ-áë×âc°EXXkjÖ¬]Rhq[;éøûü¹]Å@TU%7×ÄÀ ßbdzš?Ý{ö"ro‘{yš=ù#! ‚Ê%¸Nh¥Y99àåU5–¨)/•ÞÃÜ¿×Q»~‚}TNÅž&Ū¨¿–SÄÉÜÑ©;wtê~S¾Ç@NmšÃ©3ÿýòMzwlÆÃáC8kVðkT›¦~n¬_þ7[vó׿Ëh߬–Ës®ýc&‡"y{üø ‹™¢(.c {÷î¥]»v.>V<’ŸŸ_·7={öDÓìüûû &|8‘3ÉŽoK§0ü±Géö|^|2¾¸{¼óîÛy  %%…ñ.ÊÆU Än·³|ùrÆŒC:uœ&þ÷j‚Áå¡( Mš4!22’ 0thÿ+>ïgŸ}íø¤°xIH…|ÚaÓ¿óX±+†á£ž¥aÝšÄÚÀª­G™¿`5Ê! ÇŽ#&&†3gθ©ü\2³r8xè0«W¯vÙR­LNž<‰,Ëdff–ºß¡ØTÐwºêïÍÅq¸C)xÕaPÿØ´ôüoÌoO¹1a¯Â’ïßdÞ´xzì'¼ûÅ÷lš÷™s÷MÜÞð%ºõ)W|ábÜÜÜPÅåqƒ¡ÔGåÆ@4RÏŸ˜FžÉV´ï¹SGyûí9“š{á¼z#¾5jŸ?—¿ÿö_Ïú™Ôl3aí»ðÊ^ ~ˆc±²â)®b …cX\ߟs~š)Dpy°uëV<(Dp™ŽÙ•®p-;J¼=~2S¦“a–øxÊ÷ô{à~ü½Ü®ø¼‰Ñ‡xü‘§hÛ{(k&~Gƒê2ƒìÉ“FO7·ëæù]íQÛECRóçÏw”Un2YIü6o±œY¸˜sµ½HK>Å—ßÿB=o=5=%dðû¼yeéâ—‡ÈC;±º…`ÏË"::ºè¼åeÇŽç׌qnå:tMÓˆwšÅŠ+ŠÆ¨vÉI ddæ éNŸ9S”§””öïßï$óf~ÅßëvÛzðÈǾšÊãO gã¶½Ø5‰faéV“….(×=ž:uŠ£Gº,«ÕʱcÇJ¤«ªÊ©S§Xºt)ÕLMTä‰U¡ ¼ÜLsQù†4âý‰“*ý¼ÇNl"Ç+¾Ýïäß߾㟥Ëñ¬s7µ /È Aƒ-ïÞÝX±®7î!-xÿÓïØ²%Žî=oãÏ?¡yÖôº·¿~ò?ß=˜aáÅÇ÷¤GífË®c<1¸ËýŽºô ¨ºw¹ó’——‡¢(Eù)ñ,ãž{îáî»ïvš¾aÃzôèAóæÍ±Û ˜:ám&~ý#é9ùxzû;.. Äµ4µ€q¯·ºk4hÃ;&ѲŽceÍAƒÃ/»¼÷ìÙCnn®Ë{4›Í8p DºÝngÆ ôîÝ›ºuë \;Ѹž„£ª¹½íƒtn°’÷Þy—šõñìØ Ø—êÕ<ÅË„c.¬ÂuQ †@Æ}‘7Æ¿NéßÑoHÐl¶äpÊq<—n'âtÓ'½\b-oß:<òÐØív4MCUUdIW¡5W ç”ruLáQÅÒ5;çâã1Ù%lªVtüÚE?òö'ßb½h54£Oõ¢cõz=:³ü˜þÕ&Ný‘Œ3ZÜΛãÞ¢MÃ`*Ã¥(J±2/ù]jNóe·Û‹æ-+­L…€nzkãªZ6Auùîçäå›ñôòBщE?K£óóÒ™sŒ6îý‡r׎äçû3éqÔâ³ésr_Iëͳf:†Ô`Û–õ(Š‚ªªdeP3Ä·ÊòzöÔ~Þzý-Öï8€U/<ÿ‚Ã{º˜x(î¾|:ev¹ÎÛ{èhºö “Ùvý3B@B4*û£ÒññåàŒ„„„£ý5ï:<9üa6®_Ï+ &3- ÕèÃÃÇc°¤ñÛ¯¿¸zÛÈÏËå‰'ž`ËæìÞYþ*mË–-ètºbkÁ¨ªSA«»vc±XˆŽŽÆfÎeꟲïx\ÑÈlIÒñ÷ß‹8tp?:Ÿ´¿­)1çÒP îÜ?à!ô¹§‹î5==£G^öL —KLL ‡ry]›ÍÆ©S§J¤«ªZ4>$ @ˆ@¸¨מ—£ý_{ómö®ýŒn/,`àcOѼzÕu<Ð4‡ êÑG ùôQž5Š¿×\Ñ>ì)†?:€ˆ ÿrðäé ÓzH2w=0œ—ßü/þîŽjtÔ³/_wå½k×.,K©3,Œ9²Ä6»ÝÎöíÛ4hõêÕ"Ö†àú#?;™_æüL¡:?ö0^n¸4§ Ñ„)Å•* ñ±'Ù±•Œ|;qgâiÝüüTìšÊsÆð×¶cÅŽÈÈΠmX{^9”¥v¡J »>À„ß)[ÖÚ¯° !‚kÖBž÷Ͼü.2g3L|úÖ3hš»ÙX‰ƒH5;ÿΛÉ+o¾GT¼cjY1òóœÎëG£ŠÒ¨m~ÄÑÊÃ/ˆÉ³~å©i¨²žê~Hâñ ¹é°bãz‹J P| çÝB*1g¢Ñ€Ø-»¬åI@°{¥\#55•UKòÎØ±D§æ\¤)Vö8Hƒ èС¿þ<›©ßÿFzŽ…ÛÚwæµ×^¢æE±,IÒtC•o½zõèß¿â3DȲÌ#<‚¿¿¿[‘¥Kÿ¢!¸îiÙumM!Ïç6Þó æì$¦ü¼˜ðc¨åQ9Õ“¯¯/Íš5*Z_Åa}xêµxë­QôzdY¦Ç tí÷vUÅ`0\µÝUIPPAA=I’¸çž{„r+±ü•P`º Á ƒoP~ýù'F>ó2ýºwÁ ÙhÓý!Þ}ãÉJs)ŠBÛ»ïcÉÒEüñ׿¨zzõ gPß{KÌ¥ èõ¢R¬HÙŠ"¸±¹׸O‡à†¤YÇެߺ“ƒ#»ûÒæ¶(re·þeîîÖ»»õ^©¥Z‰ØíS§ÚéÜÙB@€E1ããcæÎ;-¼õ–ýûÕ•_áOU5¾øÂFÓ¦ÜÜÌÔ¯oæí·mM²çà§ŸìÅŽsw7Ó°¡™Q£¬DE9ŸPmÍ•‡²R·®£ÑŒ¯¯™¾}­¬\©–ØwÙ2;X 1c0˜ñ÷7Ó£‡…?ÿ´;­¼ ùù/¿l%(ÈqßWC8®4(®iÆ¢Ÿ@p-qóô¡Ã]hצeˆ‡ Êê!­§±|é%+S§ªåné^\Ž-3kVÉcï½Wbõj=úóSq>ù¤•9sœ_£Z5رCO³ftñÅ­L›¦–™MÓxî93f¸Þ÷é§efÌÐ;Íÿ!2þ©Vi‹^ô¢TŽ eò#WâvvSÑöo¿ýÖéúWŠÕj¥ÿþX­VÖ¬YsÍï¿ FŽ´rô¨£úk×Næûï$¡]×Ι;÷BúÛo yyòò ì߯gòdmÛº~:›6iìÚ¥Çl6°gžæÍûnܨñÍ7ö‹^Døé'…øxV«ÔT}äèî— }taß~°‰‡ŸŸ#OYYòó ¬_¯çÁ/Üþ?ªEâѲ¥ÄÖ­z,±±úõsì7s¦Êܹv§ùŒÔ8p@Ýn¨ÔJúb+§2¬ àVGÓ`ð`+óç«:¤qèÆ?Ú™6Í. çZZ >>f²³ÿß¼YOçÎr¹[Ôk×êéÖíÂþë׫tëæXþöÛ%öîu=¡—Ý®¡(Ž9ókÕ‚øxGEÙ¡ƒ…]»·7¾ÂС®û•_¼ïÎzÚ·¿—äd5ç¿ë.‰­[ %ò¿i“ž.]*O+ÃÚxá…1L™2ÅåtÕaÜŠÈXY¶¬¤§! @âÌîîâý¸&ÈO\8]—.V<=Í„…YxòI+ÿüSººßuWqë¤cG©Xë¾ÐÍ4{¶nÝ,™Ñë-óBñHJºpŽ#G.hcß¾¥ßêÅûvè`-Öò/€C‡4tå¶oeX}zŽ~ý†Ð¯ßñv —¡²ns7uZš&¬k) _~©ðý÷ ½zIB~><¨1gŽJÿþ6^ýÊ´kgôhë×k¤¤€ÍÉél¶ª-°Ü\çÛÆËÊpQýoæzú|+ÞhÀ©©ï¼cÇdr½Ï´ivRS5QX×B@t:‰§žÒ±r¥äd#ÙÙæÍ»ÐSxöl×ê¾}»æòïfͤÇÿþ»Bn®#Þ“ãܽղå…J}ùòÒƒû­[_Ø÷Ä }±J—þ®D/* |¤§ÃCÙØ°¡ôz 6V+Ë\E¹ûn 3gÚ‰ŒT1™4ôz¸Øý^Z‡^°±w¯ŠÕª±oŸÊ /\0%{L.a]xz‚^QQ#G:7;žyæÂÅŸ{ÎÆüùvrr4L&­[UÂíEéÏ?aß¡C/Z~¾†Í¦‘˜¨±nÊ{ïÙhÝÚ"DC ¸ÁøóO{™âQÈôév’“…R*u á¶mÛ¶¹ö!í:˜Û¹³ÄwXnùeÇq#FÈE½ªú÷¿p#œëàSOÉìÚ%3c†JZ æ:o#Fè8xPcÒ$;û÷kÜwŸõºzPB0‚Ë#1Q㫯ÊÛˆŠÒøá•7ßÔ!WòÚN±± ÚYµJåÜ9°8išÍ99`6;àžžŽŸ,K P³&ôê%®#4ôÚö;®TÙ³Gϯ¿ªlØ râ„FAøø@«V?®cÔ(×Oã»ïš4±3s¦J\œFH<òˆŽwÞÑùòK…€;sæØ9wÎQ#Fè?^Çܹ%Ÿ„$I|÷žAƒTfδ³c‡JJ ¸»C§Nr‘0òÅ ÊÌœigëVǶZ! ÀáF»ç™!C®ÞjaB4‚+#)I£{w+ÇŽUÌ¢7ÎFŸ>2aa•WAÇÆj¼úª+ÔRã0—Rس•óÓN> «WÛ™=[eÖ,¥ÌÞ®7Œ€´m+Ó¶íåÝŒ,K¼þºÂ믻ÞG¯—xÿ}…÷ßW*TÙöî-Ó»wùòÕ¹³\îRY¼  jxï={Ñ`ÁŠòÁ6þüS_)ƒ cc5žyÆÊêÕ•1pBÓ½S‡µòÇúk&"bÁf@pS2q¢½ÔŽ;eñ×_*‡_ym¿aƒJ—.V­ªñ¸˜„:ÔJDĵ ü 711Ž¸Ç•vëïÑÃZlŒØåˆÇ AVâã«î^ wo+ãÆÙˆ½ºÁ! à¦Âfƒ©Sí$%•¬LFxýõ’y^}U‡‡GÉs%'k|þùåY1…â‘™é¢ò•!8š4‘ŠýêÕGà¼Z5 F ~}Gþ‘ŸŸ~jgäHëU‘k* ¢Kª@ ¨L¬VøïmLž\²Ò÷ò‚ß×T2¨!Iðî»ÎCÂ;wVÜ=ᘼ4ñèÑCbÛ6ÇÿÅÆIK3’›k$+ËȹsFNž4mdÍ=!!®êSÇœ‚ ^½ÑôÂ7 ;wª.-†GÑ1hë*ï•WtŒY9óÆ}ø¡ÔTœ •¼ü²Ž3ôî†Û¹³ÌèiÖLrÜWUøûï«"næÏw^yúùQ¢Ûþ¥ ðþû:BBŠ×Ì…3a”—ØXõëKº‘ôzX·NOf¦‘/¿T.{ GçÎ2Ë—ë;V‡^ïLDµ«T+ ‚›//øë/=­Z•]aש#ñÏ?ú¢eÜÜ`üøŠU“ :Þ‡…ItíZ9möÐP‰O>Qe˜0¡¸Åe±pÕº÷ 7 nn%·Mœ¨T¨â¾ã‰;î¸üªqÕ*Õiw]ÿÊ¿ßÑ£u|û­½D¬%!F¶±|¹¾JG« –@ ¸i?^aÀ™fÍ$š5“xòI/¼pu×ÃqûÇÌäe¢ª ‘‘åšZ<4TâÙguNã!Çk̘Qµu! à¦ÁË þþ[ϱcŽ3ðãWßÉR½ºóíéé0iRc5Ö­ƒ Møé§r]ï™gt4mZRA4 ¾ûÎ^¥Ýz…€A%Ò«—ŒâD·,?Þ1VcÎûÞ½–æ˜IqÓ¦r]/4TbÖ,Åi÷ÞÌLª´[¯@ ¨DÂÃu:OËχ 4ž}ÖFŸ>Ö’Iÿþp÷ÝЬŒUîkvï58YiÕªªë‘%‚èטÊXûÜÁ}çÿ^lë´i6 r—i?‚Ò-‚Ö­%\»ŽL&ÇdˆãÆ9fÕ5êüôìÍšÁÆÿ“³>ºeˆˆ¯/$'ß~î\ÕÝ«Á5½[!Â77½zÉìÜiw9½«Õ!$ï¼ã’fÍ$:w–W -ÿõ""T>üÐFJÊÕ½O! Á-)ÂÍÏÿÛx¹hëÒ¥U•·¿+ýÞ¯W!ב›ëX†;/rsbኂ‡DFjüû/Å­’Rºá ÇÚµv¡Žš5«ð=Ö4M¬Ý(Zó  ­Íqãl|ù¥s>wEÀ@hÝZrºᆠŽù¶\uvÔ/ðùç:ÆŒ©[Aˆ@PÅ«1gޝ¿v¸µÔ ƵÝÜàþûå¢)PæÍ³óÿg#?¿ôãÚ´‘X´¨ê ¹IxgÖ öäׇ-Ÿ¢+p8BëÕ«Ç”)SÐé®l •9àʤB!)tm™Í”)…ètP»¶ÃÝ•’B©‹S) të&]Ö„AÄ@úB„—Oh¨Ä»ï*ESÇoØ 2j”•S§Ê>Ön‡¸¸²E&4ž{NWfüDˆ@ C럚 ™IDATDø²X¶y?3öÈäG®Äíì…kß~û-uêÔ©ôëY­Vú÷ïÕjeÍš5BˆÏÓµ«Ìš5†+ro9Ê:u’8P¾*ÂQˆH(n(!¾ÒßgŸ•l7¿öš®RÎíìW^«dÏãÇë¨]Û±¡RÎæ½$ÁOÈlÞl`Ì媉‡@ ¸N(’3gŒ>làÿsˆIiã zö”\®¦(D na1YµJOÇŽ«ÂÏϱ6z«V½zILœ¨«ò@yiˆˆ@ \Çtí*³m›áºÌ›°@@ D B@@ D B@@ "! @ "! @ "@ Tb.,@pÓPPë×_XP£gO¹ÔÙlB@»FŽ´2þiÞ\bÁ=-[J¢€ªáÂ76ÅÄàØ1¬¥®îŠ;5‚‚,T¯îøMŸn…,D ÜJœ:¥1kVÅ*ÿ½{5ºw·’¢‘–æø=ÿ¼Ó§5Q B@Á͆$A` sWÕ[oÙX·®|‹çäÀGÙÈÍe*D Ü °l™žàà’"’‘C‡Úˆ‰)Ý‚ÈÍuÄQ-RE ·íÚIüø£ó¾Aii¯½fÃdr~¬ÉÇ[Y¸Ð¹x¼öšŽŒ"nZzôyõUÓ´¿ÿV™8Ñæ4-<ÜÊß;ºu%^}U'º_‚èÆ+n®JMÉ“L&œöœÊÏ/yÌäÉ®ƒìõëK¬Y£§vma} D ÜŒ££~ý+«ôë×—X½ZOƒB<„€‚[†† %V­º2ŸÓÇ+4l(ÄCˆ@ ¸%Ed„ËóÔü±Â°a¢Š"nI$ ÆŽÕUXD ’;V‡$Œ! à®ädxê)™Fʧ·Ý&1}º‚N'ÊNˆ@ ¸å©QCâ7t¸¹•¾_›6Ë–é©QC˜åAtã·O?í0)^zɆÅâÜòXºTO­ZB<„"NDäå—û¦>úHâ!D \Ó§OÉjoæL…ÕaE.,@pKÑ­›Ìš5zvïvL¬Ø¢…$ÄCˆ@ ”îÝeºwåp¥Ù@ (/§N"::ú–»ï­[·’]áã222ؽ{·@ زe Û·o¿åî{Μ9$&&Vø¸3gÎðÇ‚›•½{÷’žž~U®%‚èàªa±XHNNvš¦Úm˜ÌtŠ£¡êWnÊÎÎFQ—ù©l4MCº “kÍ™3‡þýûÓºuk§é¤¥¥Ýwyó•žžN~~~±ò"®999ìÛ·¯¸pØÌlZµ„‡ã¨æíIò¹Óýëñè£Ã¨[÷Ìsf$Å“HûŽwV(/qqqètºù© ÒÒÒ8|ø0÷Þ{o•_+11‘ÈÈHl6ç+/¦¦¦rôèQ²³³±Z­üóÏ? <¸ÌóFGG“””T¬¼„€‚«F@@½{÷¾¸]Îß?N!E æû¹­H|Ô!ž~ü¦ÿ+ üBý@oÎÅÇáXO·âU–jÉã­§§’m¨ÉÿŠ·l’’’På’üT ±±±dee]•kmذ»ï¾›Ûo¿Ýiú_ýE—.]hÒ¤ f³™ˆˆˆråëàÁƒÄÄÄÛWÄ@Áµ³H’ΰpÙÞÿà¿Ô¯„$IÔi|o¿;ŽÈˆóÎd²²¸³]{Þû~Q‰ã#Ö,gîš#Ø5õªç}Ïž=deeÝÒÏOX àªa·ÛÉ¿hQòȨmüùï*RG¿ÄŒo>¥z5š6iDƒZî,þq 1oæÕçÿFa Š›ræ(âÍ4¬‚Íf+–VÌfs‰üT„Y³f1zôhš7o^æ¾X,–˾VE°Z­˜L&—ײÙlŸŸÙlÆjµ–+_&“©Ä¾B@ÁU#--åË—ýt6= âƒÆ-ésG=T[:fÅÕšÂÔoþ¢K‹&äŸfyR¬Cˆ,y,ýw}ô###ƒøøøbç-‡B–eªU«vY÷GDD±±±eî›òÿíÝ{PTçÆñ/-FD©”:ER­1õñBd“Ði¥©Z“I¬6i’™Ú8‰5m&I;Z§“¢N[uºÞ"š† E%ÔÁ "Â`` HˆÈ rݕݳýÇ ‰Àâ…Kæùü»¿sÞ÷¼Ãì3ïþçTV’ŸŸïÒ- „„„ÜÑ¼Š‹‹IOO§¼¼ü¶Ÿ—••qòäIŠŠŠ°Ûí»4¯ÒÒRJJJÚÔ*@D¤Ûøûû÷õŽÄÖ„·áä‹z/^zyÃ}Ü ˆr6nxJ*úc¶m^Í“¿ßÈïâæPž‘Âgß¡©¾»ÝÎ7 }„IáÁ.Ï¥±±OOÏ6óéŠÔÔT¢¢¢ ë´öÒ¥K8N—ÆJNNÆl6ßñ¼Îœ9üyóÚí¤¤¤}«’íÒX.\ ¢¢¢M­DDzŒ‡×@ž~éÕoÿ s½š–úZÀ‰3GQ‘9‘aƒ}n}8}>Þ&;wî$44´Ká!÷†DDzâ/®òei=Œ`NH ÿnÂͽí=?NÃÆ‰ãÉDGGÓ¯_?Îç–)D "ò]uåÊL&S'UN’vl¡ºÅÉÏçÏâÃý{;¬9ü{”[jÉ=ŸFîùöë G gÿ—Êáã'ih²bk±¿‡ÃqG×RXXHrr2çÎë´¶ªªŠœœ|||:­ÍÎÎÆb±¸°N·———Ç AƒÈËËÀÞÒÌáû8•Ãé†Ã0û`A­7äååÝv,ð“—•NÒ''¸ÞЈátç‘©SÚÔ*@D¤ÛŒ9’¥K—vüe[šÏ_ÖðPD, ^ǰÁÚG ï®ò*'ëþ°®Ý:»­·×>Ï¿SÒ‰ˆŠaîŒI¼¿éu¦Lët>íÉÌÌ$66Ö刷··Kcùúúb6›»ÚG­u“Æÿ°Ï¯™ÝÖÀÞ[Ù±û –êzjëê™óDën$û3¶˜’n…€ÿØ0üFíx§Xzšwv}‚éã#û@ÚÑd®T;Y6³íKT "Ò+8  o­åðÙjvïÙÃ̉£;¬¯«*%#÷ AcÆvzîÁCpÔVðL|•– F çÍÍÛ‰™5¥Ï¯Ûæõ/²vÓn8¾‰³Y9DÏ™¿ âLA£BÂùÛ–÷ öëðœÞýðv4ñü¯–PSiah`k7lcÙO(@D¤g´×©úªˆ‡Ž16t"+–ÇSv1 ÓŬÂÆAÚñãLžÁõk•yvØ3pžyn%5õMxyÄ? GÍWìݽ뎯¥7ô@œ†•×ß5µ Ï~€íæñNžzÆéæÎ~þ4W˜1™Ì­»—öz Nƒ+WQUÛ@¯ 1/[5|c½ "Òm¾Ù©½z™OÓÒ¨ó fû®DÆÄýó'Öý7‰c^ÃäÝÃ00 ƒðI³»å.,Ãp`·;8•‘Ñ z NŠN¥°Ét‡áÄ/0„ïmeÉÂ\yîo{=W)@D¤ÇøúñÄÏžêòqÁ‹1E,ºïÿ@¬Mu¤||}“(ºt™ŠÊž]¹ª‡WÐ7¶í緺̵z£GÆ»÷}­+@D¤Û8Îv3ÞõsÙ8q,™àà`<<<8“]rßBÄÚp5«ž&5ç2 ?ÎãqOòÖú5dZªyÈ…ëq8†áÒµw¥öVûà{³­Ñ•ãìv{—ÇR€ˆH·rww'66–ÂÂBïé¹-Z€ùóL̟ߟWÔ榒”QÀ¯W>Kmy Ûÿñ)57Q•ÄkåÕJsss»×^W}•S™T^«¡âj¡¡?¸çët;†a0dÈ;K""÷‡‡«W¯î³ó7‡aúW2ÿÜš@Cc3ÏŠbgâ{Ì~8÷»|ÉàŬ~¹ü5jy42‚æÚ/1Fßë×E""Ò‰ñá³H?II™…1!ã6Ô—~žw¿°W³ô+XöÇm,[IU™™W^>M¯¡}cg©? ‘N¸¹3"h Ó¦ý„€áÃîIx@ëm¸V‡Áñ¤=Ä>É´G£qŽœÁÆ×^ìË¢ˆˆHñèÈĽ8”†ïÜyLŸÁÂÆãy·¿‹)@DD¾û&L™Íº)³ûäÜõ–ˆˆ(@DDD""" Q€ˆˆˆ(@DDD""" Q€ˆˆˆDDDD""" Q€ˆˆˆDDD """ Q€ˆˆHû?©k…¼Ä©¢¿IEND®B`‚nted-1.10.18/doc/docimages/toolbox_tremolo.png0000664001041000007640000004051011520267216016173 00000000000000‰PNG  IHDR–$ÍtÈ(sRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ  #×xttEXtCommentCreated with GIMPW IDATxÚí}yœÕ}ç÷UßÓsߣi43ºt‚@7²¸Áo0à8!ÁÞàMâ¬woöÆŸØãÝØŽƒí@b›Ã8€ ƒHƒHB·4:f4£¹ž¾«ÞþÑÕÕuÝÕ­Tïó™ÏôQ]õ­W¿÷;ßû>B)…¼mÛ²Eù¡Óœ¦Ñ®½é&"ÿŒˆ+-P-­­No¨•ƒˆF"¶Ÿw2BM]]ÞÎ()ÞwŸ=«0A°¶mÙB›gÌpžt[ ¤dJ VI0¨ø¼çÜ9A¸¥Û¶l¡M--†'œ»h‘â³ááa°,‹ºº:Ãß;tÈ‘$¹ÆÊ—`MN¢¦¶6oçk,qëíîÆµ7ÝDÜéÔ|-£‡qÛm·!bûöíªH±¸esOzã(—‡~¡üyóun£géÞ¶e mhjå8Ëؾ};|ðA>|ÇÇÒ¥KAÑ”Å5òÕ,]šòΜÁøèè%ÃA9./ý’>o>Ï­Öšš°mËêN³-‘H€ãOzæÌlܸÛ¶mC]]âñ¸42à…,-ÝòëÔ75¡¾±ÑH'œÙö9s纺„‡ÞÚѲòr  àBwwÑk Ó×ç8¡?m×Xçöx<!HÈž›Ûã៵ž6ÔÕXV4É«¯¾ŠÎÎNÜqÇ€¡¡!üèG?¥½½½¸pá‚äø={ö ®®3ø  Äí–|G}c#üBÀ²¬ÄœƒAŒ ƒ"8‹¡‰‰¬G!!D©Â)½¤šÔŒYÉvÀèÛãõ"XV "29) l¯ßÂ?5áâLô™ÛŠïFÑÐЀ+¯¼088ˆçž{(--•;88ˆÇ?ü0V®\ 8´w¯ÔG …@)g|l %eeàXI–EIi)(¥ðp¹\ÁâñÖÔÕ¡¦¾>¿Ëb|l ½çÏ#™L®à¯ÛßÛ‹òÊJøøðCÕÛÒÚŠêº:Ä¢Qœ>~‰x\ø½¼‰ÏaÃÙS§062‚Šª*´vtçÉ›ÆâÏ«un–eÁqñ8¼^¯ (¯ñh¯W8FÕšÑXfoŒ‚®®.¼óÎ;H$xøá‡qÓM7aÏž=’ã†ÁSO=…ññqlݺ“üh¨’9÷Ç! !XV†’ÒRŒŽ" " !™H º¶„y¡E£ˆÇb€º†4·¶"cx`þ’TÕÔÀçóáøáÃ’ëÔ56btxÑHDq¯”R4óB ‡qêèQA(úú„ãÊ++áóû%®€ iÓ$~ \>ý ^«h;‹!à ‹Áëóâ±<^/¢á°ÂDÊïÅ6E)E{{;Ö¯_o~ó›x衇011Õ«WÃ-3s+W®Ä#<‚eË–aýúõŠ‘žnãã–•¡´¼®yþ@ å/ö÷#©âO”•—cfG(ÇáÔÑ£‡B?Å,†´X° ¹ž;­Eùã(¥†~§™óZŠ )¥˜5kæÎ‹ë¯¿CCCøÂ¾€/}éK¸ùæ›ñÈ#‰RB¾úÕ¯âÞ{ïÅòåËû?ø@qÎqÞg"„ ®±Ë ~T<CM}=\¼6°Æc1øü~t8¡á|^ŸO0—‚?Áqš÷8Øßšº:LokC2™Äðà`&y ¢}Þ<†Á©cÇ0>6&ù­ é{c¥ð‹‹œ‰È-§h×àÜÁ²2xý~Ä¢QÁ¦_s‡IÑ ²Ig¥±Nœ8ÑÑQL›6 ðÆo ²²¨©©9r‘Hû÷ïGˆXÆpùCŸ …PZV·ÛñÑQp¼9šCM}½pñhTøÝÅ 0£½­(¯¬Dz”” ´¼»;;Uý µ6:<Œñ‘´Ï‹¶Ù³Á±,F††³çχËåB4A©Hsž;}Ú4†0o¦MƒßïG}S“ Ö2+>¿’ÕÜ ¥‘pXÒ'jæJëÜ^Ÿ/eyAŠLN„À ‹Á +©Q椱n¼ñFôöö‚eY´··ãW¿úÖ®]‹»ï¾[8¶¿¿_ˆ"¯½öZÀ².h­±1ᡎ xÆE‚%ÖVÐÛÓ–eÑ0mªkkA)E4Aow·â~ôò.”R €q»1³£óæáøáÃL?L&œ9uÊ4†®'Ð1w.üØŠ ô]¸€iÓ§›Ò*` Tâ÷‰$ €H8œUTÈq(oÎÓ“˜œ˜~ç/)ÕɱQ (¡·^}•jÕ}~Ci)>üðCÌ›7.— §NÂpðàA<úè£ñx[·nÅìÙ³ÑÑÑB¼NIGéãùýšõ< Êß©U3(Åää$b¿Åb¨¨¬Ô­Š#A3Ÿ‹Ïíóû5Ï ‡­E…Ë—/DzeË@ÁÓO?³gÏâÛßþ6þèþ«W¯V¿iÓ&Éû÷·ow$É‚¿‡ÖÐHvD…Q 3ªõ¹å¨ÐŠó˜¶÷Äûï¿Ï|æ3Bf]¯Nhõ:—KËWT˜Ï™™€Ã’Æ·GyßùÎwðÔSOáÑGU•ZùÄ™ÝÝCÊZcåñÜÔŒ%On:­pͧãcåÒâñ8Ê+*òvnµd2 ˳œ6E4–AT˜ó¹MùX*á¬Ó ècåk2^Ïm$3xÅŠΓvZÖí€h2ãt‡ÓòÑŠB°:„Ú†aºJ±4=\‡ÁŒ¶6Õ¬¸ÓLÖã?þ1ÖòÓ^Òíï¿ýmÔ64àĉÂgDmCDÅØOr[0>Îuu §Ú ¹ä‚µ~Ý:=v ƒ¢ªÿŽÎNÌ3;Dµ¿˜?ož©e`òÐÔi—¡`-\¸5ÕÕ‚…B!=v ÿíË_–ÖöÎN¬[·@jÝÙ_~å+˜3oÚgÏÆ—ÿüÏáó)éüÜóÏãÊ«¯Æ¼… ×Ü»o/]Šçž°éºë0£­Mø«ojÂw{ÌôµÄ›þ,Ýúúúp÷g?‹é3gbõÚµxâÉ'%ßká’ŸûÇ?ý)/]Š–ÖV,Z²ÿøÇˆÇã¸ñ–[í³gcF[~ý †¸/ Á"„`Íš5‚íÚµ Ë–.Ŧk¯ÅÎ;A)E2™Ä®]»°ž¬¿üÊW0<2‚=»wãàþý¸xñ"¾õ÷/9ïÛ#··nÅ¡>’|þÚë¯ãþÏ?úáñÙ{î¼õÆ8×Õ…s]]øåüÊËËqËÍ7›¾–^û³/U••8~ä~ûÒKøÏ_T=N Wºõ\¸€¿}ôQüôñÇÑ}ö,ÞëìĆ àõzñÚ+¯NŸ8s]]¸û3Ÿ±÷'Ây_¿n XÛ;;±víZÔ××£º¦‡Æþ>B$Áêk®ÁØØ^|ùeüïo|eeeƒxøÏþ /¾ô’äœ_ÿë¿F0„_T%ÿ·§žÂ×þú¯ñü3Ï`ƒÌ¯€“'OâÁ?ù<þ£aáÂ…¦¯¥Õ†††°}Çü¯¯@555øòÃ+Ž3Âåózáv»qâäILLL ¬¬ ,мn®¸§BsËÔ““¸ØÓƒX<PŠšÆF\wÝuøêÿüŸ»;wâÿ>öü6lØ€÷Þ‘HË–.E}CŽ9J)>uýõ’„Z2™„?¦d´µµ óäÓŸýã~€?ú°BeuÌðð0î½ÿ~|ík_ç?ýi@×™3¦®å×òO™©Ž¡DÑÖÞ.|¯‡K|ž–²2üâç?Çò<úÍobÑ¢Eø»o~kÖ¬QÅ`„{ÿîÝÅ/9„Àíñ ²º5µµ z‚‹FqáìYTÕ×£¹¹>~r[,EKK ^zùeœ:u +øDêúµkñ̳Ï"bãÆ€úúzBp`ÿ~ÔÖÖZºå•Wpûw" ⯾òáóx<Ž?øÜç°yófüÙý¯ÂçF×J Ëää$***ý¢¨µžŸDxá´µµ¥ÌZOi\âvÛ­·â¶[oE,Ã?~ÿûxàÿ§OžTña„{ïRs£‡ááaœ=y@ì>$¦°·»µhëèãvK¦oX¿ÿïÿ«®º*µ‚ÀºuëÐùî»Øµk6nب©©Ám·Ý†¿yäŒò«˜ûúú„z­££¯¿ö~ö³ŸáÛßùNÆzøaKJð½ï~Wr¼ÑµÚÚÚPYY‰yâ °,‹žžüƒèµµµØ°aþî[ßB$Áðð0~ðÚƕngΞŶmÛÇáñx Á0©®­®®N#Z%d„;ÝïÅüÇQZZŠ¶Ù³SÌá’V4EÓ´iH&ŠZÐÆqñâEa)ÔÕÕ¡¹¹Çáꫯ>ÿ—Ÿü~¿K—/GCSn¼ùf|,[g§ÕZgÌÀ믽†çžüíßžyöYìèìÄ´æf446¢¡±}ï{†×òz½xò‰'ðó_üMÓ¦áþÀ~þó’ëýËO~‚ÁA´Îœ‰ën¸wÜ~»jnJ —2I$ðwßú¦·¶¢±© Ï<û,þí_ÿÐÜÜŒ/>ôÖo܈i--B¤›KS ðë²´yëÕW©ØoXµnæýË¡½øâ‹øÚ׿ŽcGŽ8É(“mÿîÝhš1gE ó˾VxìØ1á…è|w7þá±Çp;8Íš3¯^†mtl >ø úûûáõùpÛ­·âßø†#(¶¦.öꪫpèàAG !X¥wzÆi¦[ç—”Ÿ9󱜖—æ–ÓÁrš#XNsËiNsËiŽ`9írnY%Hs_”£`˜Ô,‡4c!Dò—úŒG9†€!Œä8 ]¬$<߀ÛíÆ† ;¦Ûkb|ÉdÕÕu<)ˆx!€›qñ7Ãß C@Àß 7©ÿñx\±ƒ¡¸1Ø&XÉdÇñó²R7PÂCS€¤n‚aàr¥FC€ÿïqyÀ»W¤ÎͲ,Oßí²ŒA<2þº©?—ƒbDÃv ££#8~ücP.¥!ax-Aøû'ðú|¸êª5ðùüyÁ ×áð$>>´W­Z›s?Ø&X )AJƒÈ¢ $,5r¨@©Ã0 (¡   à8*:•üÏ •`à8c¨¬¬JaPbKk†Ó§ãŸ~ømaOê;é ¿?€ýÙ ¨©ñ僼ÄÏbr2„={vaå•«ù>É¡l¬ôCÑûŽg Nß`ZESÊ Sš|Ê›±rCZG†Bã8þ /^ŽPh¿|ú <üå¯éžßN ÇbÕªuX²d%\.áͯØd[·¾ªØTÀî~Ð{Z×ÉC΂Š¿î݈Y{Å9Ž‚aøï ŽÊ6r2I½c„abb>ÚƒE‹– ” 2ªíÃÐ1k6l¼.—[dŽRf8‘HààÁ½ ¥\Þ0h= ñÇÑœúÁ6Á"¨LýRÞ¼¥oP¼óW|j8Žã#•K©A/`H«{ù9Ó¦W‚Á<Ù!õ°©âáf„šú,Ÿý õ,2}Âñ}’}?Øn ÓC…RÈ|%"ñ«ú/öÁãñ¢º¦FXd@)Žp ²(&5JhVÒ~Ljw—)Ê` Š­ïlÃf’~H?DŽ#ÂCk…¼ôƒìY¤1PÊ¥úˆÿΞ~°#AªÜMf›3ŸþøN:&áÅÔúKdš;PPŽb`à"z{»±ßnüÃÿùa“¥|c˜>½ óç_€>‹ÇcˆD ”‚alØx’üöƒìYH?£öõƒ­Î;©~EdÈ`Ú>&õÓ#ƒB X°©ŠH{¤Õt6Ò#•ãX$q8ð!^}õŒŽ#‘H €e“¼3M4\;0Ô×7òs¦>þø# bÓ¦›À0 –,Y™räE+¢ìÄ ö,Ž??§ÐV¹b°E°¨äÑOS7D9*lÌ(á8‘`¥i+7£…aÿ¾ðÓŸþ_ôôœç;¨¨¨Ä¬Yót£;1¨õC4Åd(ÄkõcóãÒ~XÆÇR –u öD…"']¢Êu3ÇŸñ%Ie{ á‹R“ÑBB“èî> ¯×‡3Úð©Í·àÜÙÓø‹¿| ÀeY]eµK)'òûpI0¤×Xœ¾Æ2‹Á>E!±ÕiSHyÏQ.\Â. üMPJÁé,–V4gCúÜuµ X¹r5fÌhÃg?û†Á¯~ù¤Dõ‹÷|`Pß&XìÌ_" ß"ãÔç„ÁVç]–H–‡ÌiçPØÿŽRÉ.£jN¢Ú.¤Ù`˜3w!¾ø¥ÿŽÒ²r”–•"Ñú/öŠ®™_ ò$cÚô²T1h`±ƒ-Î;¡êv]2ZRßs|ø/Ñ2S(Ï÷ä‚!} ŽåÐ×׃×_ ;¶âÈáðÃú¼^Ÿî5ìÄ Ö¿¦XcƒØ1?“œ1Ø&XTª†¥Qa&‡’V_™"ªI©&ß,š ENj||§NÃk¯½ˆ7·þû.€RŠòò Q¦ÙÀsɃ²¨(oZ8 }())Eii¹pÐÐÐâñ˜ Á¹Q¡Îõ8.µKê+¿û5æ/¸ÑX”ß‘ž]T[°,EC‡8°}÷Q¡c|>?Z[Ûqç]÷a\ª¯ÝäN°dQ*é‡|bØ»÷}œ;w÷Ü󇨬¬ÆÉ“Gñâþ7Þx‡ äv`ÈCæ]¤µ(Àáƒ]ø·'„‘‘!¼êÿ BðWÿã¼æ"¢x†Ú ~©†oA1}úL̘юå+®ÆéÓDZfÍ&PÜ~ 08Ø®®ãˆF"hš6±x,ó0 „aÍšMè¿Ø‹çž} +¯\W_yk×} õ M†éÒ˜BQR.­ÒBðñLJð“þ&&Rû'‡'Cðûø‚ `ø[]c¥ý2+÷"Ç .Åûó¿ÁðP?îùì M ëô É´.a†®®xò‰ïãäÉ£H&¨¬¬F]]#6l¼¾` ,Åw~?ÿùñø?ÿî¼ë>¬[·¡ÐoÕZ6ì‹ e#…¥,FF‡ MH®Xy fÍ޲:ÉI**zÒ¬1@ee5.XFõùÆL&йc+þ±X,Ëbxx'NÇã•FÌyì‡ôùÎwŸÁÀÀEÌš5gÏœÂÄÄ8ÊË+që­wçƒm‚%í¤%KVbÝúÍ „A P‚ÅKVà®{©ösÉ›?((F`¾0 º¦tsõ™3;°`ÁIn ßýpòä<ÿÜ¿cÝúÍøâ—þ;*+«ñÜsÿމ‰q¸\î¼`ÈÙŠ'߃”£ð—”àÁ/þ/YŽÒ²r¬Xy ¥P™£ITM¡ÕQ¢À *Bkh1äÃ0X¿þ:Œ ãw~ÉP³gÏÇw~Ó¦M‡0#$ÒBrèÐ>lØx=Ö¬Ù—ËÛ︯¿þ††úQÆçøì³`¥¦ï¸øÕip.Wj„úJ}¸~󧥉;*Íä¢ õTº9 ™ë55µàž{R´eååø“‡þRÉ †òòrÜwßC¸ï¾‡LôÉS?Üu×ý’Ï‚¥¥¸ë®ûlÅ`›`QŽ"a|b bW<ý/µœˆçëD£€¨8Š™D_,3Ü[ÚÁP\l,ŸÏ‡‹ý½©ü…9–ÌPzú-(ÀR~7NÞD¤Õnjƃ¨(-Ò|­3f:¦UÓ¬Fnë¹ïœæ4³­óKchjmÅÙãÇí æ´¼¤œæ4G°œæ–ÓÁršÓÁrš#XN›¢Í!^s08Äk†âÄ`›`;陃¡°l¬lɾ Ezæ`(0»w#²/ˆÅ¢Ø¿ÿá3³vbÓñ8ò‡!gÁ²BöDZÿn$“ID"aÄbqG“6Ó‰ÔˆÆ öa°Íš!ûJk«žžs8È/ÇŠD¸÷Þ?Æ‚…KòJz¦G8V(âµË ƒ}>–D+ɾ(N<ŒçŸÿ9Žÿƒƒýà8uu ©%PÂÜð<‘žéŽŒxí²Ä`‡`©}‰ )Úƒ÷"PR‚Y³æáî{>ºÚz´µÍ–°Î(GIn„cb bª ùR÷ôµ 6a°Sci“}¬X± ím³QW߀çž{ ƒƒýØóá{¸ýŽæÎ]¨ê‚pLüç`°ƒ-‚E%6X)íÇOÆ“O~==çðö¶×qÝu·ª:„…"K3ö\ âµO2[+Í} Æb’öŸv½÷^øõ/àóùP]]‹n¸³fÏìÙó5«P„cD‘‘v0ä†Á>e@ö¤8ª¾úÕÿʪjtîØŠ;ïú<¯Ày©ÇÒêÿR’ž}â0Ø(èsÒÿçÎ]BÂáIx½ÞË‹(Ôᘽ( yÀ`‹`™$ûJÓDÊi’yvb°ÒÙ†,1ØšnÐ!‹ÇãMŒ#O‘b¤#5F…×Ò3…sê`°ƒmQ!Õ–òÁÁ‹øÍ OãäÉ£ AKsk&‚$((éY&i(Û1ä!ó. [/\8?þ]>ü‘@{]SSù0Ø&XÒ‘0{ÎBüí£ßC4AyE%šàv{É—O&S¿¡Ü0hŸ“8 €!gÁR#ûòx<˜Ù6KÁß^(Ò3±cê`(,†œˈôLJÄ$÷- A8æ`($ÛË!s0äE°Â1ƒ¡ivˆ×œ–ksˆ×œV°æ–ÓÁrš#XNsËiNsËiŽ`9írnª Ò—ˆ€£,·¤Î$_¦þÇðÓ‘SëŒ\iª†á÷N±£het‰h^¼ËåÂðð€ƒ¥È± 6fN°¢Ñ(B“+àq{$«:Ä+gå¯Ó …j%`AÁ€PFšÕ%ÒÒhšì‹ 5‰?Ãçó9X¦¿Y‹Å0>>Ò`<)h1H9qWú}ê?2£€¤ä„cyÐbà™i,Ë lr–âÇâ÷š¬ÔühN~f‹“J>Ãd@gn„}ž9VÎ f‘“¯ I-–t°?“‚E!–Ò”„ª¯èÈÌë/÷ÊgêUŠÙDz¬|NÖBIKñc1-XéeØÙ4ñªñ å R@>AH¾1³lÉ~,Ç!šÀ™3'ár¹0«c>%%—K1õKvXL V.`aj1¤ò¨bDd;=Ö DZľ}à­­[pÅË1}z%‚c)¦~±‹[ÃÅ’LJÕ[ý!_Z¤.VÉÒ)°Òï p9I@ÛŒ%‘ˆ£··;¶¿‰·ßù=.ôœG[Û,°,Ë“ŒK1õKNXÌûXjŸUÀz#@‹í$Ó TÑrn–tsâÄl}óìÞý..^ìåP–'ã ‚¥˜úÅ,¦Kš» šêT¬"ÕÔjšø+õZ<”Ë”7Ë߀X’É$FF†ðñÇû±uë«8xp/B ”K­ ‚tqf>±S¿Ø…Å’ELØèŒ &†Kˆ2¤«Z#ELÎJAÅÎd–X(¥`Ù$º»Ïbç»Û°sçÛèê:‰D".Å@¡`¶K1õK>°XwÞuø-¥6X«òYf€kÍÏOs<¥èsTnÌ"–p8„³gOaÇö7±cÇVŒŒ !™L¨t˜J8o3–bê—¼b1%X”ªSå¤(¥?QÚðLÒ-MNA$ÀÕYeŒ½°°,‹ññQ|ôÑlçu9r££Ã*#”Ï%ÝIvc)¦~É;–lÓ JG#¯xØp\†ãR;³¯®’3ÑFvXâñzzÎâÃÝ;±cÇ›8þ â<¸– ”‚ŠL¡]XŠ©_ ÅmÎRQ6Vqd¼²Ì€'QÕç ÐjiúõH DZˆDÂèê:‰íÛßÀž=ïáb_/Ì,¸ä8œßf6XŠ©_ …ÅdºªÄêa¬eŽ|)©#I G[š_<í aaY##C8thÞ}÷-øèC„Ó†%ÔÂ@T}¬l°S¿ ‹5SÈG’i•'··FÀµÕ³ºc¨T³TµiaI&“èëëAçŽ7±gÏ{8söbѨ©Ñ—ùT5Ý`K1õKÁ±ØëcisYÓ*£yäa ˲8w® ï¾û.\8D"‘E­Cî7d‡¥˜úåRcq›I1d\¦ï IDAT™Édr3•võ‹e( ©!—Ë…††i˜?ÿ Äb1 ^D2™4ÕY™¨0E–¯çc™ÁRLýRP,–5É®˜©~#Ê’ƒ^Ç(@k`a--­¸áÆ;P[Û€]»¶ãܹӈÇc–4±Ö¾1V°S¿\,æMašŒVqh7#­˜k'õÔ6áÓÆâñxÐÚÚòò ÔÖÕ£sÇV8°G"\ºþ–"‡•=–bê—Âa!Ó ²{P£Tã·TN„D6ãr& .>Î †aPSS‡UW­CmM=êë›°wï. ôeYλ2 -–bê—BaÉÉy7.w… i  ¦ˆRÓµM³ ËÒИ $Xйó£¼¢ Õյصëœ?±˜N¤HÕ‚sÁRLýr)°¸õÍt÷bQψg"ÁѤ¼~%&:Dñ-bñxŸ3f´¡²² MM-xkÛ=r““ÅRLý’_,YdÞõ.l¶Öd<¨íX\.*+«±bå5––¡®®{÷ìJM§Ñ(Oä K1õK¾°dÇš¬JÛ¬ŒhæEôk6B±†ÅëõcþüŨ¬¬BUe vï~^¯ï’`)¦~±‹­Î»NFÌôž,ÙÐ?[ÅâñxÑÜ<›>uªªkàq{Ts;…ÀRLýb'ÍÅâ?ªï}¥Sk°«‰KùÂâr¹QSSÍ›o½äXŠ©_²ÁbI°0V.4„”R öãÂ…óؾýMtuÄÅ‹°xÑ2l¼öx<Þ‚QEÆã1Œ áàÁ½8x`/B“X°` >õ©›áõz5;ÈN,‘Hýý½B__"Ñ0Ž=ˆ3gOcÍšk±yó-ºË,=£yßJÛ*Í¡¶¥×l¥Š¤”¢§ç :w¼‰Ã‡àС}H$p¹\ ”C]]’In7Õttí D¤”bdd»v½ƒíDZc‡Ð××–ãàb”ËÀ²Ipœ'ïôŒÉd‡íÇïÿ2zºÏbpð"X–E,!‹/We‹±„EÕ¿ÊFÈäÚI©µ´ýA+‚e‘†e“xò‰ïcß¾L¦X_ª«ëÐØ8 ³çÌÇÒ¥WÂårãh^)9ŽÃo_~¯¼òk„Ó ”¢²²µµ ˜9³W,Y†qñ~K~é'&Fñúk/b×®w_³±±Óš§cîÜEX°à Ñr* X¨^ AË´Y3R­áµ™l½­T‘”Røý%˜1£ MM-èíëÁ­·|6ÞŸÏ¯Ç Âg¬óI‰H)…ÛãACÃ4ÔÖ5 <šµ›°nÝf$q%`ß'ßôŒ@iifÏY€ææVô^8;î¸ .A4FEe•îr«X´ý,³BEE”ùŸ2ïTFÙ…)̆†aÜ}÷p¹Ühhœ†Ÿÿû㨯oâeW*Tר-JšIΑalØp=®¼r5jjðþ®íèê:Ž~ý œï>ƒU«Ö㦛îÐ\Da'–`°Ÿ¾ý@PZZßüæ?°sçÛØµk;úpÛm÷`ãµ7š#zF5Öcõ×Ö„*m3f2K+{Bís„Ú×d8„x"&ä´Œ²µf)Õ0ÈsG>Ÿ§OÇ/Ÿ~gÏÆèÈ0¿0{Ö|Åœ¥l±÷ ÁÄø(ÞÝù6Žû½½Ý˜œœÇQ%ˆD"|¾Ï*=#ÑÐN™ÿúÂc^¨ÒZ*£‰e‘!±b m !ôû`8Žã ¤öP"=P–eñÚk/âÕW~P(B€òò*LŸÞŠ­í¸fõFx<…¯— £~™˜Ë/=ƒÝt‚TÚ°©i:ZZf`ñ+°òÊպλ6bª\c‡PéùXZPòJ SÙb«4„z{Ä TæÏ¿uuêǼy‹pà w ´´Œ¯h‡övÒ3B0}úLü%¨­­Ç™3'±~ýuX¹r5Nw@(4ªªËýBu}*µTº IFOcÉ},š…ón ¡xtg´Cþ)†Á¦M7áºënEI°o¿ý:êëQZZÆO;)–`° 7Þx'8ŽC8<‰px[·¾Š·¶mAï…nÜ}÷çÑÒÒj‹,ä×÷«´„Š(’ŸF  ¦rYy£Šä8„!`¹´/ᔈ5µõ²Évb-U8zÆx<†?܉}ˆsçº08x‘Ÿ —š³N£Ý¸ °@;×$Žì…*3ã‚*vËr%tn4„©©´1EX_hJDÊq š¢|b›ëÉÉÞ{ïmìß÷</\.7ZZf¢®®K–^‰+®rdV±(óIÄ„¯¥4mfÍ`ZkI…ßb+ÂôlKã‚Ïç}WXJDAm#³»Wf"[~°È—µ3 ƒÖíhmí@C}Ž;„E‹–aáÂ¥¨¬¬æ§g…èeÞµ´–5‡] BtN䪱ôÕ½ü}<C_ß;z‰D}}@9šNÍŒ1ãܹÓ8uê8Ød==gQSS‡ +bþ°È5gYYn¾ånž:œÁÈè0êêÐÜÜ*,^6w~5,ÔDYFÏ‘·’b€ª)´žy·HC‰„ñÎÛ¯ãw¿{CÃOÙ¸yó-üâIZJÄPhÛ·ÿ/¿ô,FÇF>‡vÅ’•(4=c2™D/>ø ïí|áÈ$æÍ[œ;¢|¸RKÛ3çSA’·o–©æR䬱Ô|‰ññQ¼üÒ³xãßbllD4éßH4’ÚiÊ•JÄH$ŒçŸ{ ¯¿þ"‘°##ä­•g,ʼn‡ñ˧ŸÄáÃû…M —KÄ)o?U¤yáQ×PéèĬ)Ì©VhTyÁöío{¦[cc3ššZøÔÍ;%b<ûï¾%lДª¹s¢©±Y¤ròOÏFñæ¿Ã¡Cû„Õ,„KJáñxsÆ¢6)/-Ù—Øìé •Ú>Ñ9h,}B—Ë…`°”× õ M¸ÿþ‡ÐÞ>[Õ©Õ©³£Dôx<( –òK³R8¦ÏhÃw~MÓ¦”ž‘ãX9rÇ ßûý¬ßpÚfβKÆ|©E‡fòTRÔò¯Än€µ-T‘µµõøÌÝ`Çö7‘L&ÐÐ0 ׬ވ ®€ËåÖ0z#3;JD¯×‡[o½îÞ‰$›DcÃ4¬Y» sç.²í…ÂÂ0n´µÍâç_%ÑØØŒ•+Wã†ï@iYy±@Ãa×2y-PÝ¿ÊhD£¤ž-T‘^¯«WoÄÊ•©º—Ûí†Ûí1Ìù(V)Ýn6mºk×næ5§Glq}­X|>îàKX¶l’ÉZ[;ÐÖ>^¯Ï&,Ô`šŒº© —‘P)—¤åZ¥„0ðùüšõ¡BQ"2 ¿ß¯—+–††&444‹Z†&O~œøûL*šK?*d´*9â?ï ¹-ŸÔŽ€Ò ,J,òzô=Uy-Þ/H¾VQí{é{ågYh,‡qjÒ3ª'J•uD©“nÎa×6…V¢B‡±ø±HÎÃH̡ܔY}-OˆŠ…Y ZŠ JÄ©BÏHU}¬Œ°ˆË7™×R-%}­]ƱVær¨"§(–8«—Ë’›Bù,¢0’¿—. QÖ(-h,‡*²ø±œ9ÁÀ·’FuÚŸ¢ ÍÊÇrè‹‹º¦—u´ý®Œ°éûUr3¨\°jAc9ôŒSƒ*Ò(§¥ÇÕ õ^,pÚf0ëZ¡CÏ8¨"•ÏLü[uaQ×Vz>U¡jÊÒ:ôŒÅÅܬ }Ó(ÕNê+[çÑÎÁdO‰˜HÄ18Їx<&êLª‘ÅUÎ5²“žQ-,ÿd`QÓ"T3/Õ4Òy󔪦<^NIP`ªÈH$‚sçÏ€0 ÊÊ*@HªPív»e‰=ù¨”v¶C™ éàrí%Ö>jÚJé°kXåÇÊH­Dîî>‹öïÆèè!¸ù–»°`Á\ zÆÌ÷êÉÄ)‰Å œ#g¿‘ú^z¦(fˆêùX–¢Bj8C¹ò8‘ˆchhgϞƛoüGŽÄÄÄâñjkpÍê  ”S±÷Ê"«1=£>5͠쀩T}ù—–Y<(¾×.[Y(B‹«ôZª]¬®ûñøãáà=ˆÅ¢ ”¢¬¬3ÛfaÎìhll–ù…£ŠÌ IÞf*c1š¥"èžš¦R:ñfT¡e•1™L‚RŠÖÖvTUÕÂåvaùò«qõÕë –JÖj©P»©"µ˜ªbÑçnP/ñ¨i©ì4•qêÁ6ªÈêê:Ü{ƒËå©ÓÇL&ð«_ý ñX ·Üz7/^–%¢ÚÊŒ@TF¾’GjªaQ[\¡fþô|,}ÔU1†ZË6ªH†apúÔQ¼þúËB4›L"‹¡¼¼W]µ6;JÄ,°ˆ#¹–o£6•±¸ã Í ˜¶†2»"'çtƒ%âÀ@Þyç÷8qâ0(¥ðz}¨­­G}CæÏ_Œ™m³l¥D4¢­Üb`}•}&**ª°`Á°‹ –`Ú´éà8UUµüo¸¼Ó3ªÑVÊ—JŠ*2oX`§€i=t›},£óªubuuî»ÿ‹ˆÅ¢ˆ„'±gï.¼ýök˜C8<‰ÿòŒåËW™rXí ŠTú7D3ó?±PÃü1­}´5¨–°åL bžž1™Làäɣطwöí{##ÃËJKËLTVëFòIimäN,ÔÌÊh;…ÌŒCo6Ý`žqtt/¿ü Ž> Ì–¬ªªÁºõ×aÞ¼Åhmí@V”ˆÈ¶Rý’‚ÓVæ‹h‹•ób +Žjú=Ã0˜Õ1sç,Buu &Ó˜;w.\  #%¢1õ÷âζ²Xô©–²0³Bg½Vh‚QÜq55uøôí€D"ŽãÐÕu--3Ré…œ g”æ…¨d^¡©"óŽ%{ÞÝV¥ÖiÑhûö½}û>ÀøØ|>?jk0g΂¼Q"ja1zÈŸ,¶ÉÍ1ÌUd,Åïÿ2~ûòsè>_µj-”ˆV°h?@ Mñ ÂbÝ ÏE›å™*’ã88°/¿ü,. Ÿ3 ƒêêZøý‚Ò3•H>ÙXÌ }®ÚÈvS(p8ìܹ ÃC†âiÓf`ÅÊÕðû†*Vóé5vÙÒ3ZùÞ( Ñ*S‹ý,»Ædë_¥J3sæ,Dyy%\.7JJ‚˜7îà‹X¶l•$b1ê´ ]¶xjù‡j”Tx«i*bÑŠínyãy_·n3jkë166‚@ -Í­h™> ÃHÔi¡èͨöË‹A°Ç'3,9%¢Þ½—ƒX±òÃVq Å *üæ“¥Pš'[s¨"?aT‘¹49¯–¶ù¤"Þ +¦Ð¡g,~,¢sÄbQôövkskÉ’Ùjé„4Q‰¾àe‚+†qa¸xÚuS‚åÐ3?–ô¯‰FG‡Ñ××S°ˆ‚ÆÆf´·ÏQð¡ê –CYüXb ••5ˆF£àTf¦B¶»¼Üs,k˜þH­\×n££Ã(+«0/XUdñcéîíGUY2šMÀ’ÑvD8'Ñü.ó=TŽSþO$9$’IH‘sæË¡g,~,OÂãñÀç ¨FxâÜ—xÕvÔGLF†©XP°f5–CÏ85¨"ú022Œ¹sò[›I'P4ƒùh3™Lð›¦ó R‡žq*PEr‡ÑÑa?~K—^)øcå§mÍ¿–þO {w÷ya†°iË¡g,~,â–^Ë©†%“ÿÒö¹Ä>–š¿%x)6K%Ü(å\ÒInÒ#}Ò mvÐ3~R±ä’"U®‡4;û”˜.3å…*òò£g,n,rb[=aQ ™’IX+B;ôŒS’*2£‰† ™:%ó– Zô±ôOx¹Ò3U¤ö{½MŒ´•t#M©„èͳ*òr g,.ªHë>‘ž©ï&þtGVõbÂÇrè‹Kö¾•¶ TšCm˲)Ô³‹—3=cÑbQõ¯²2¹vRj-mЊ`9ôŒÅ‹…ꥨæF˜VL öÆåÆÙzÛ¨"/zÆbÇ¢íg™*¹Ã®¾wt֦Сg,~,Ú¾˜Þ†ãÖ…J¹IyÖ釞±ø©"‰†v¢*¦ÕÊk-%ÖIJÈX1…=c‘c!¦Ê5v•ž¥Å6ªÈË™žñR`Ñß™B-U .HRÑÓXr‹fá¼;ôŒÅEeoBm¿JK¨ˆ"ùi¤±Ò8s#·uè‹ ´sMÊrLvB%Þd\^rÊr%´CÏXÌXÔ¶•3[÷›6³fP-g9åÐ39¢—y×ÒZÖvi4Ñ9‘«ÆÒW÷ZÅ×Ëž±8°Pe=GÞJŠª¦PKc1zVPQÝögF–ć09ëQsSm‹ åÃÕrú•šÏ迈ö›B¶º²Öi‹ÆÒKì}âé§ó¹º†›g3¦0oT‘—3=ã¥Ä¢6{"SBBVB•6{zBevC“ÄkÔd¬ýù]«Œò$=L}Ý ±ù“+5…ê³XÓsÄr6…=ãTÀ ‡]ßLÊkò×Á“oJNr,-5¯ßID3G£ÿ[³ÑÒåŠÅxk95!S.#¡R.IËuOèF©zÄ’»_ã`Ñ;Ÿ¼Nƒé/ÊãÄßgÊ8PÑ\úQ!£UÉÿx_ 63̉Ã[‹:¹¿%}OU^+}§ŒÏ¤ö½ZªêæÒ 5–CÏ8u©"ŠÑr%.íh%DõM¡•<–CÏXüX$ça$æPnʬ¾–š=éky$h)*tè‹‹RsIWÐèMè“j)ékí2޵2—C9E±ÄY­’ö÷´IµÍ €Ê{±)M±%5™ ¨ilELµ+4·|;4Ñ{BÜ.n%žPp/’" â;kÞ]êByèÎðTª©ªÚ=­"¼4žãç°`zUÑPEž9ÁÀ·’FuÚŸ¢ ÍÊÇ* xÇá÷4ò,D%ÖvHµ…“¨RfÖäQˆ§•¤>"Ò£©òZËê%ð¨æh—F—Ë¢cô¸ŠŠ*R]SÈË:Ú~—¸Ÿõü*¹T.Xµ ±’ÉŽ=€3ÚQ]]kñÁH/nÎ?5“,$–Îe1× ï£Ñ(O ‰¢£Š4Êi‚¨½—l-3˜ÃºÂD"þþ>ÔÔÔkh5¡Ð~mþ?±üù5Í ´’.Hšû‰F#ƒÇã}^£YŽæçc[K7ûZÐॺôT‘jü[JMUÍšþ±VúÑ&ˬIÔö·r›Ùh¦¾eÝ4°â¢Š4§µŒR †!ªkÍLçØr,óYg+u£ÙŒÚiã9Cf±šwæ‹¶ÒÄ3Ò0y4j&Ò“Æó ±ô´–Q¹G¿p«Eš«Ê[˺ëÕÀÔý«e›KA[™3gö¬\ÛBÚhSª‘áÕÓdfg9Z›æ‘}zD­¤B¥õœ…Ë>ªH;L«ß ìceëo™3“úe¦pj>£Ÿ…× Å‹€*’Þ1­}´5¨–°Q»Ëhë2»„Kú>{H-k+‰³N©¶/v©©")±pOv™µ>Í©MÉGK¸ôµ“y˜›ó®žY–°ÜBâÒÑVZ7ó¹ùQ9/¦ÈÆÙÔÛòÕÌŒF}SþV.xJó˜¥ì8þœ†„g—޶RNÇm‡€YÉkÚèc™1‰z½•é±òzÓ©åycfµ–d¢ƒU¤Zâ3mÆÄë%ËÌäËètrd”Ú1]Üž$hžœwíl®áÒÓhJ­dì°[K7¨û R+õ&‘dM§ä ϼPEÚ&4ÇH0OT‘Ù˜E©y3;ËQ)ÌvMõ•€¶ó]L´•Öð\´™Q¡v'Z7‹ZZÊŒ€©ûV¹øW¹ä¿”Q¡‘öÒ4¤rñy Õ'6å±r.#m”OMeÖ15³I“žp’*Ò~ VÁÒV„ ÐޞÌ€vMïÐ,ÔÒØ-(Ud–AŠÝ–UTHlBaF-ëM£U}T×'²KÝ[-¡m¥A°Ç'Ë›`YÛ Ñ\_=òÔî js‡‹³REêO*áÌÆp>×:a!Î ãK ~klÚÔµ±4Ú³iÂâÑt™©@™ë=‹¯§==†Šx+Ì! ütWJÁÁ~Äb _»\î¬%8õ[’å §8¡rIÞdÎa^;„Ó¨¨¨BCC“ð<‹*’‚X,ŠÞÞnmn-s Ú`N•è÷!# ãÃ0p¹=¿%¥¥()-…Gæf¸å«¾¾Ñòr$Y6µ¼¨Ð™5§M™æq»áóûáóxL&µëÀž=No9Í–Æ8]à4G°œ6eÚÿaŸúØÌ÷±iIEND®B`‚nted-1.10.18/doc/docimages/sel_alternative.png0000664001041000007640000002054411520267216016132 00000000000000‰PNG  IHDRífð48 pHYs ‰ ‰7ÉË­tIME× 7$»ªâ> IDATxÚíy\×öÀOB€$숕çRQqiÅÖ­ŠKm­kµµ×¾gKµÖ.Ïgí–ªÔVAl]j±ø£õQQkE+V¬ (ˆ¡ BDˆ€BȾüþÄ’Ì$!ä|?ü1™Ì½wî9÷œîÜ9—¦ÑhAAÄ¡£AÁ8AAãAAŒcAÁ8AAãAAŒcAÁ8AAãAAŒcAA0ŽAAãAAŒcAA0ŽAAãAAŒcAA0ŽAAÑE€ ÒM‹ÅkÖ¬ùõ×_i4Jƒ*r¹P†qóæÍ€€‹»mšF£Aå!‚tx<^Ÿ>}RRR|||PTY¾|9ìÝ»EaL&ÓânçcAºÝÏ ‡ÃA9PÅÉÉ "##Q6®AAãAAŒcAA0ŽAAã˜NC£ü»!þû ¡ _›BAÄrâqõ…Yƒƒ^ÿ0~Cô¬Þý§d” Qbf ÒÒÒ …ít™Ç㥥¥ÕÕÕẎx4T˜ÛIfggŸ8q‚•­‘ŸØýñØA½í™}‡MM½Õ€&qŒÉ5\š8ðÅãÅ⣰,ó•¡£ŽU6£JÄœ>|xÞ¼yb±Øvºœ=oÞ<.—k1w\Úâbo¶™[Ž‹‹[³fåêºáïÿ¦Ýë±íçœ&‰àÇwƒÞÿ&š¼õÑEùc4òwÆÎ¼"iŸSˆ‹?ûO~ÅONtLd‰ ¢EýqplÌøE ±b[ŽÇ,üLúº·T L\j]t>K|5évËüîèïÚ’FZTydqÚ]Ô ‚ Èð΃÷ƒ1~ÿ&Ëk1ǘbÍÛ§‰C¦Çs§ÿ®áÕÜ]ÔÛ…8snÝvÔ ‚ Èœ®„ácQ síàºçbò2÷¡(0Ž1‚Ò-g¤@g¸Ê=ìjçè(ŠøVT•xGªBÅ U‚ƒƒ7mÚdõÝ ‹ŽŽ¶½8†s-f§‚k×®;v¬;ÜŒFÝœ¸6rVâƒßþ¾½üOtǘ€¢m¿¡+ÿ77°eÆ{ĺ–1§Q{(AÅ UÊÊÊ,éC)//çóù6§]žÆxYÊÍJ¥Ò²²2‘HÔåw"äG??äÏoÞ½üã¸'ôVI¬;ñÛ} Û9í‹h=iï<œI§IÕ¨–ã| ‚ ˆ¥m_V¢Ñ@ƒi·tÁ¿¼ÿÕÕGÞÚ›³`dÛÍÃi4š¥g-tÁ|Ì‘Z1øŽýv´‹ƒöØÑZ^Sêåh‡ŠApq $ pq€ž¯¡<ÈóÒÔÕÙ7~_8ª'íÇJQ,Ç‹Zο#QÀ”QÚçU²Šf•h4»ž,TŒdddlݺå`‰œ>}ug­äååmݺµ¶¶ÖÀòM2ÐhZþüøø¼5N'¤¤¤$&&šª¶œF©æIfõ`>NÆ`c(Jiq0Ї©}^\s˜8`û, fâ|Œ!¤¦¦nܸå`‰¤§§£î¬•œœœ7Úâšê$%%ÅÅÅ¡nÇhTMÄýÁJÉÞ4â hÑjÔ ‚ ‚ Ý1ŽZËÊb7]+¸i\»³ˆ8~wÃ`Ô ‚ ‚ Ý1ޱsìE8hµ|öƒÉ—eà³Ì—ZAA„ ”ß».//OJJ*))©ªªzá…(7¨iÙSéûÍÿÁb€¤æú®W‰“!c¸J@(&&&Ž3†ªxóóó  EssËî› ÃÙÙ¤R©Z­f³1dlËÏ?ÿ\[[»z5©‡›2™L¡P"5’œœœöº3¬ª•\¸p6oÞìèèØy‚‰Dööö&iB*•r¹\cdUTTIIIǧT011ÑÛÛ{îܹ”Jååå@BB‚··7ówuu‹‹suuíÁårUiWVV@jjêÍ›7©þ¾…BòÍ …B‹eooàáǰjÕ*wwwcz½uëÖaÆM™2Ŧ¼Ÿ Zwc*++[_¬øôÓO hrçW_KÔšÀˆ ‘ŽJñ˜…ÛU—À¹±¯Ï6f‹Èæ{9Y…òÓž·èÁTSS“˜˜I©àÕ«W‹ŠŠÚ”ºråÊöí-[= <µa”1u–]µ&½4u÷îáÇW®\)‘àvQ榴´tåÊ•ÄÊA3sêÔ©•+WÞ¿EaqŒÿ4?xxýñ‘é>6óô' #ÖÅÈN[UÐ …›œœ,—Ëqœ™>ŸŸœœL,çD13ùùùÉÉÉõõõ( ëŒc\<~ Og¸í¾||“1ËtT›§Ì™ý?£.Aã˜ÎER“9õ•¬Öswg/ 5ê¹ßÌ>‰DA[ƒaÎÆÔŠº×G½\$V&ÇYnTöÞæûG_ÜÄÿ£j)*ÒZáóùR©400E ˆÕS^^Îf³»É[÷6ÇÌ›7Òõ÷®žÊ©hjý(—œŸ7ï/Û×(¯ž:î>âÅ__dÌ]µT¦–?¬©Er¥ÆÞ‘åîÕÓÛÍØm·sssà7Þ Ò4‘D,@zzú;w(5wåÊ•öݯ®®n=ær¹Ä·b±Ø0A™™ìì캺º—^z‰R©ºº:øî»ï²²²¨ª¬±±‘¤dîܹÃãñL"Fb¨_ÕéÓ§©VRPP@f”i \.·±±‘覑ˆÅâÜÜ\cdE¼Û¼iÓ&///ªãÊ€¦ C^¿~=™7Û ó_³fi*;ɉ‘·ˆ6¸sçÎôôtJ¹\.%×TWWwðàA#›LbJm:B^éÚ¤§§ûùùqÌ —Ë­®®¶ˆß…6Шn_ž=nÜ8mû$Éü¯GÍÝ©}&x~Úé/†|ëW¶Ï}ÿî‚óß´äÖ 6à®@­|˜š»ë@_¢Ô>ßwì‚ÝI[ú± ß|{Ó¦M)))ùùù...äKUUU7nÕªUï½÷¥æbbbŽ;Ö¦ûYYYÑÑÑÄqxxø‘#G >>¾ªªÊ"òEGG_»vHULžk׮͟?Ë–-‹/¦Ú\qqñÅ‹É\œ’’rìØ1B¤FB ªC· ÁÁÁ‹/Þ²…Zþ¤øøø¤¤$£Ô$2þü &¬ZµÊxY…………‡‡÷Ýw×pìØ±˜˜˜#GŽ„‡‡S*8nܸPm:%%eÓ¦M'Ož0`Ió¿xñ¢¿¿wpb”,¢îرcÖ¬Y” Ο?¿ªªŠ|sãÆÛ²eË„ ´ ø0‰)i“””ORém†÷„ ºÄ9'%%eee™Ä¡YÒ|Lß¾}I^©’U,‘Üú±÷È÷®>¬¿^M¾†6n'­üÑ1Ÿ¿®/ÓÎà»qÕÙ—"朹ÛÔþ«²K©o¬QýçzƒåCd ¤’3 pww§*"Ÿt›R·oßn=f2™Ä·D²)ƒ…oNØl6N§z«UUUàååEµ ›Íf0$KyyyµŠÔHˆ¡b|U®®®T+!2¸w4JMe L&ÓÓÓÓ$²¢Óél6Û˜ªˆI{ª•0 š&f}È$ÌŸÃáσשNŒ’E´1@ª™L&¥æ †¯¯oûë»Ä”´ñôô$¯ô6ÃÛÙÙ¹Kœ³§§§©š™1Ó:ßÔe“þH[üæ€å9?ÌqMŠÁ^ZºY¦©š6(ô­_…††Žœ´‡L% QÞ¤Á3žjÿ5W?±UÐ@PG‚q @]ÞKRËZÚc¸îËJðˆ™ðÊm±Ò°:£®òe\-Z¿âr¹WÏ®$SÉ¡¹³s¤ºþ9ðœj#ã@(¾ýöÛ ,(,,4aµ“'OÞ¹s'š™…‚‚:ê&¤§§Ï™3'>>5®—ØØØÖ­¦l„N_I£–¬žþEë*œð~›ãÇ6ÌÙ!O$ßÏoþ²¯[—ô¼±¾,ú÷{º¯™÷‰ŒƒíÛ·GYYÙ_ýeªj333ûõ뇞¥û VÔ_>›•w«¤A¬rõò6vrÇWÖX‡ï²ÅqûÖŸ¦ÕQ÷”•@ ˜?¾\.OOO'Và QXX˜™™‰qŒ))ûiáÏüfâØÑíù“›ÆÇËüœòJäfñ¡‹â¥¢Q÷ çžÏ®?úF­I‡1û°õF05Éÿ}ïó¯ª|”ø€À30ìé׫„–n uÙo°•üÊ$ ¦ÒQG²rò⸲º¸›J¥R¥R¡ƒBº&ŽÑ¨Åÿ|ëTëÇWþЃÑò$kÔ4(i¨8\ÿ`LM•[GFî€Öeá¡¡¡.½bô>Zb0u­fò‹X™“gO³•qðî»ï–••ÕÖÖ~ñÅhևޥ õåùHˆEˆŽ.WfY‡Zí9&Ñ‘Y5×ñ¤Žî]ÛM//¯¤¤¤DDDL™2Í1kS•µâB£Œ8fû¼r`VŸÖ¯ú,è;oÕ\Ù8sêŽf%¸õðýÇ3##g¼Ð3dH›Ã£o4 üÒ²ûO1GgÏÞœÞn,C,•´±^¤ööò u±J•ŸŸïëëëïëÝ$j–Ë•š#“åìl2ÿÌãñjkkÃÂÂìì(äoËå¾¾¾½zQ éîÞ½[__ßF)¥¥¥Ä±³³31kuÿþ}¹\ÔÙÃëúõëÞÞÞäß mOii©H$ £TJ$s8oooªÍI$’!C†¹¸¶¶¶¾¾žj~CE¯A=F)jjKd*µÆŽáÀvv).*xª´ëJ *„ºfãitǰ¡étz{õyzzrzo ÅÅÅnnn¾¾¾”K¶ëfiq‘³³sHˆ®é"2]4°Ÿ££#¥{)((`±Xº›~ê8áñxd±X$ÍÈ!z/–H$EEEÇËÓÍ`‘sø°A”ÔD£ÛñÊï¯S'r¹œ¤áp8DÊ€ëׯ·ž§fJà¸ø|þýû÷I*]›üü|777cœóSHÞscc£Iš¹ÑPD;C‘î+Íöô–9M¦û$‰ªå¼˜Ÿ=?\WÒe:ÃõÝùToL)¹áΤÑìI^/`ãÆšNcõêÕ (•ª¨¨0ìÆ-ZÔ^)ÇolDDqrãÆ‹-Òt>°zõjcjˆŠŠrss3l”îÞ½Û€æ8É‹wïÞÝ*R“ ’«ä?XÀ~JúÝùÑ+Û_̲ÓóhaƾâŽÔgªqK©HGݤ3žŸ:]wAƒ»¬‡EµÔîÝ»àæÍ›äÍ¿¢¢‚ÌÅ7oÞ4lœ›PV:FãÖ}?0NÈ ¡‘ãÇ·Wƒ×Lî¸bccÉ+]777#î©?$ïÙTÍÌtâs¥º›[ê–±5:î[&@R{vlÿéyZá¿S¯þ¶¼¢Œ×:/ªV w,açYöåL ápòÂIÙ)fKOƒÛCÇRÈÈ¸ÙæŒZ%”©uUØ=—ëêè¦Z)¿r宎²Úå.ÁHYé±±§6,[‚BF:›NüÕ¿{ % ÝÎ)i)1«Ùøü«D3|Æ›ËCܠפï‹þ¾ÛÔ\ûûÁϺ8<ЦU;æ½+Rl«üèª5éå Ñ¨Q©ˆµ¢7除¶íF fH¤3ÜûE¬ü+«Û-×ÕÛM¹ TGqKìrWaŒ¬ôª©±,%Œ˜cw^ÕeÙµÄ×ÐøPšxñ;¹ 4mí¹ ¯…ÝøüÆÞ¯?øã<@ÝÑsÊÒÿŠ 2£D¢¥´üµõ—Š’ÆëmH&øsÚª›ûGʤ™ªªªV¬XÁçó¿üòˉ'¢atOÝéMzfçØ»ýÉ·Næ V/‰;i)Ëuõv“n¯gÙSvÙâÒÕ,+½j²wj*Yíܹ3999""b×®]”–"ÇŽGyÆnÙ2CóSp¢~Hx- ü§‡ÀÇ×›ùûÔð1a,NþS~Û7+dá/Äõ¥‡ÖÈ‹ôüç¤Úÿùî÷÷·UüñÇ_eU5öÎ}ú y~ì3l:­{ŠHo7§%éyqºKºÜ‘r{†ŽíÎcÒ0Y‘QÓ”„TeÅr÷uwi»À¹¦¦æwÞÑh4·nÝš9sfTTzKäaÑË^ƒþ§÷²9·êŽìÑ]âZ‹¬Õ²ª·æ| ,Ih kœ{¿pD)½›%Mroyq xÞ¡gW¿,”€B|ûpøžºö¯¿ñÍì#œØ²ñ~[mc(èx -ä—\mëÄ®ˆ™u'¨,Òÿ3iÜR·>‘3ûX@¨gºÕ-æì²å>à^êþb§*+cÔ¤CV_.ië‚X,“É”H$Úž AÇâWuˆ7èvìg][âk•TKüˆLÏ(g;:äi h:këË­Ÿ2uÎ[6ß?úâ&þ©CKmD[zHLLL̦M›V¬XqàÀ´Šî©;Yöa• z¬ƒÕ¤WVíÓÕ¸¸¸ddd,]º”x´„Î1_¼ h4 ù£âfÀ‰ú–ЄFgÏìÁ€Â£OlÒÍã9v‰ºÃô6uó¿^xséÏÇú³6¢-½¤ †ÍfòÉ'{ö졚1§îÞ:™»åŸSØvô'ÿ“î»êóÃw.$q­dÝ€Åu³ó ÓúÔ¤WV4;fû““&M:xðàòåËÑ“ O3—O­¨É»y‚†ódÐ@­ä߸ÃòûÇ?ü[5ܾQ&V2XCµž‡©d÷ò kˆcÿ!a~O·‡¦*n…Ô{pß–‚­IHæÿi̓G5ÝyÈæÁ{2…”½#³¬„û”Ó(óòn¨uª‹éÑsPßí3˜¼äÙÎ.üû¼NɃgî:¬L%ï¤ÌíÕçééi’qb@<³u“üð¸[Zü”#ÿóÕ( %¥üWz»1Ø¡O‰:-*H ŸÁv7Xòtûq‡¨;‹@¦AfoT®‚~Ì 1Øÿtÿä‡ÇPÃcÐ곟þoìGgÎo[zë¯#¶ïùxÝÍÎy†'+­V|÷P©l¦bÛk?J¾L‘¿œþÈr~D©%7#“BêÅG:úÊRt­ð Z®6@òÓ÷dwÞÝ¢îºùX"‘ið7T®¥)üÍQcüwÈHÔ²ù‚c3´ñ܇§­› ¥§¾Å |í½my¼ÇS÷/÷r€—cúø=óQòYºæÏÒ‹2ã馩r+±>fÀ#̼>FÇCÖŽ’›á>vf>|½óJ¡ðó†ÃMEÑ:üOméU”³UÅ1ô×¾úíïS{¦勒פ|µ~D Gàà‘ÓfΞ9-ò“ !(ÄÅä*ß°é‰ÇoÜþm×0OG’U»¼Ïm‡ÙÖÇ–ÿ šGøMå¿¡ä4L¤3mƒÉ»¯B)\VVFþb»~‘ߤEn,º|æÜ…kyw**¯\äJ¥ •ZI\0ðß}'‚N±Zƒijj@`LsiË¢ôæ¿*//wqqisrÚ®ÿÅüg]Ò/—$Z{³Ù»ô~uźVÍTÞ¯0•ø|~ë±T*%:+D"‘yä, iH,«Õê§Ö Wø VHû‚&”|]]]«H­S©TZ__ßýee6Ã숪ª*àñxJ¥RïÅ•••Ä8´îA¨¥RÉçóÛw_¯@ŒW4ç_YYéääDm®H­6ÒèD"ô3Z__o¡r¼Â˜˜˜{÷îÕÖÖ>ÜQzç|ö]p =:ÈÅœpþüùÀÀ@ƒ3Øj4ò¬sèÎéäÐÔ€Þ´R&¨•RAC£D®š“íìîæbgêÿöd2‘)<<<ˆ®R©Ì°SIfff@@€ö[ñúDªh¬oh‰•j½£‹{ŠÒÛ`üøñß³ßðá}<;Oò‰D*•"µJ233}}}l|U T}zWaÃì•JUWWçååEfWg‘H”““6I]]‹‹‹££#?22’jÁææf¹\n‘­Ë3؈ëZ–Sõž|ÚœíŸÏB“›™9‘É‚ Öáüõ§às %˜‚ÏqLcÉ·!ϯ• ¢²/¦ÿ¸÷£Å[^|bUZ“@£[¨1ÿ•Ždtõ µî‚zRMK<‡ÂGÄ œ?¹$¨iÆx]Wß[ÓB§Ç1¹¶KµVu«Uâ­sg¿'¸¦½.Ó¥àëÈë ù¥¶&ÕNŸU4·9#å&V‹Z?ª¤¥Í pp…£Üâ0r»5\®‹ ˆ Í` ¾Îjg7àÿ¢äÕ´Iµ^»òv^£¡>,…ëׯÇþ¥oÛEâbOOÏ   ö¼u2W°zIÜL±VB*·¾onølûÆ…,: AëÁ`ÇãñjkkÉx]m=bÄŒcŒ¥ßªÅwCû «Ç¤÷rný˜÷ùIâ`âÛpˆ[ iii Q‹·ç<Ð}%gÜxââ°°°§Æ1¸\AÛÁ`—›››““CÆëö¿€ðº6ÇPÎçkk‚ÝË€F³ ÷j¡½S8-qŒR\Üc8Oªt齨®"ÅÁŒ¿\D*<&“Éb±Ð´ C)-ud÷Ww<„z>»þÞ¥x|0d¡XV^D¥R …B6›M$´EÐëÚ¦×5Ǭ}ìïÛ]ìèÐ3"æ›íŸE>bÊb"'ó¤J:Ã#éB’ƒyåN£Ñ<<<0ˆ1\ÝbÝxxx`¨¡Vƒ÷IDATÓ±³³óððÀ ½®{]sÌÇÀßG6 [¼xÈò èa/ɽp±²YA£Ùý+¥hçB|'Å"Q+j>ÇÕ-‚ èu­;Ž€ê?½ýö™Û Ú'íÙ}?ÜŸ¾yÞš¼W· ‚ ×µê8@£¼~旌̋—? 9y ý¢%s9N ‘‚ ‚tû8AAÄtàúAA0ŽAAÁ8AAãAA0ŽAAÁ8AAãAA0ŽAAÁ8AAãAAýü?bnºh_°ÇQIEND®B`‚nted-1.10.18/doc/docimages/text_assignment.png0000664001041000007640000002201411520267216016157 00000000000000‰PNG  IHDRgm}T _sRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEØ 1÷Á€AtEXtCommentCreated with GIMPW IDATxÚíyxSEÛ‡ï$ÝKK[ ”²ÓeGöUD6eQÑÏ•MôWõUQÐwA”MQY‘}ß)[iK[(¥´eié–¤mšd¾?’”…&iÒ¦tîëÊu%g™Ì93ó;sžyž…B ‘H$—B)oD"‘Hq–H$‰g‰D"‘â,‘T 9·ð :4òG¡P˜?]˜{ÞPÊ>‰DгDâDÜiôôo9<Ÿ{,­§ý(†ªJÙ'‘Hq–HœŒ ëào6š~µqõܬÙ'‘Hq–Hœ¨ÍYì™÷/jšóäІ¸[³ÏNôéû™3¡?Íkøà×l ¥I3‰g‰¤Ê`$÷Ô2Þx°-5Ý(TÁtxú3Þio¶×~Ž=³þfîæ§æañ`ckº}›}` 3òWÞx¤3 ‚jR§†Íè;þö¤›W—¦™OswÓ ÜÞÔTâ^³;/,ÒÒ÷™a´òËfß{͋ٴx XÂ¥/Ò5XBQ‡¡?Ä£3É:WöÏcÒÐv„Ö¤N7~ º1âÓ¤èd‰»~'@"©òèÅ¥õ/‰€ˆ˜ôHÉKÇט·ù?¾Qd !„0ŠôUÄy{éGE^Q:·Û§Ñß? jÀ½«øøP¶(LûEt3ë~Ï‘¬Ï»^¬oþOÑw~’(ÌÝ%ÆÕ4ãÖã+¯Ó‹«‘«Äüé÷‹@ó¹uö-»Ž#šš~Óîk‘¨Óˆ¨¯ï3ÓP¼´%C¦¯ùšŽiðÒN‘m”%ïÊHq–Ty “ƒ|ÌÂÖ`Š8 Bƒ¸ðSg³PzŠûW¦ £BÓÅÊ¡ÞæíuÅăÚk ÝrŸQdïxQ40‹iø{'D¾Ð‹´?† ó6º|/ΩOŠ÷ÂÍ¿é&~½hâêj1Ä˼Íc°XŸmJïêšaÂÛrnèX±þJ¾8¿d¤hY§©xxNœÈØÿªhlþ~‹EªA¡Ý/&„˜ÏñBlÍ•e/ÅY"qYòDäë ‹zÈmfÅ Bˆ\±mT i»²·ø5Í`’Ù+‰Á±¬ý¼Ø£)¦Í·Ú§O?õP˜ÿ#B|xè´ØþÝ¡4ëÓ~¼XŸ'„ÈQ³î6‹nñƾËâôœ{…—9o­— B‘-6=QÝœ^uñèê+ÂPü’ŒWÅÚ}Íû¢÷¢4aB/ÿ&ú˜ÿ÷ûÄßÙ²ô]9Ž,©ÚèSÙ±!Éü£  ¬oÀË=̯ÿdš6·{œÞÁJ@±ã'¶æ›6×üm½èJÜ”·Ù§aý1Ë6),|v$›ë‡sï´ï™1ôAu ÅK†+[XþÏiò8ËgÝkñ  nͰqïóÅ´¨¥ÔÇYº9Ûl×~™iƒ‚¯<Ò¥rø”¦èšîiˆÐÄþK”Ѳ¹'M¼dñ»2Rœ%Uƒ–Ì<ËPÚ†zzÎÿñ!KÒM[#þ¯/>{^§ÿ’»x*y+&ý `Ј–\úñ!ž½ô1§…²kþ-öM6b°hs½q,?ð%½ÍφŒ3¤jŒ4ð¹ÊÚñòá О¯âöórSO%d9/z9ÿšóÖbÜH"}¥5žºT"ãn±Ï÷.Fò3íº°†Å;/ ÎMåðÒ©ôoÑq‹Î¢+¼Hd”¥·{ŒWšy¡ô ¥yçþ<>é;v^Ò›÷åszÅߤÎcÃß쪧ªÇƒSã €†tµ}ò_|¸0 €FÏ,aÑÓ eÏLzkH$®Q#~ùOQGe²Çµ!foÞ Þêì#@%êõ{C¬N*Bä‰èFníG}'gŠl×·Þ'„!ó øö™î¢¾Å&í,Z|A|³=Õlã.ñs‡y`Üôéð…ˆÓ ! N‰›™·5œ*"ónqQ†,qdîxÑ»a5á]'B4«$tyT¼óÛI‘me^P!çs–H*ض¥ oóè¨Ï9Pc#ï­"ççOfÛádôª¬ÍØÈÐêònI›³DRÉÐÛÑÏ(w…7…¢â2®‹ç§IŸ³+=ŒiÛþâÃÖ#r.[G5¤ßâL¨Ñˆ wYÆÒæ,‘TÖÞ†Yh­ýü7-­¹¹œé@š†ùgYùËFâ2uôjR.gþ–LÀ“Þo¿JGY¾U iÖTiî>}šUaa¹UìK¤1óóÞ}‡¯ÿØAôslµwmZv»‘“ßcÒÐ&x+dyIq–Hª¹÷'$°£Y3T ©|×Bš5$U–½ Ý}}QHa–Hq–H\‡¹¹Üí燔f‰g‰ÄÅzÎ=|}¥8K¤8K$®B®Á@¡¨äR)Ή˰ÏÒk–öf‰g‰ÄuØ©VÓ»Z5iÒHq–H\‰Ýj5=ªU“7B"ÅY"q4F#…B¨RÉž³DгDâl¬[c¯ZM7io–Hq–HÊk'/Ú¡Vs·´7K¤8K$®ÅµšžÒÞ,‘â,‘¸£‘£QÚ›%Rœ%WbŸZM÷jÕ¤½Y"ÅY"q%vªÕô’öf‰g‰ÄµØeg‰DŠs M,+f~È׫N’e… )´F#:!’öf‰ç›d™¼Ó?3²u ™ú>¯ oKh·É¬NÖÉ’8} }*n­§µkײcÇYvÇï¿ÿNzzºgg ;û3w{–¥ç®mË;<›‡ºã¯T½¬§²37—>~~(+h0pâĉ̚5K„lÞ¼™Q£FqáÂ)Î'ïŸ?<–µY%ìK]ĈóI,”•Pâxˆ q,4:K{³¤’át%y©œ½ P‹ác;ãwÃ~}v*9–Õ‰¨á&KEb3†3f°eË–›öíP«é#';’8¸¸8f̘Alllåg£&µIy©éwã2ô‚Üø#XÆ m‡ÑZN{ ±ç-?Ÿ÷ߟM›6Ý´oWn®œìHâPNŸ>Í{ï½G|||%çÂ< ¯iñ ڜ͡?¹ØµânjI«†ÄÜÜÜJ RÈ3Q»¹Iq–8 •J…ÑhtªýÚéR¨PªÌ"0Þp†”UÌZ«6ÿêÄØaõ‘F ‰#9¤ÕºŒ³Á gù’÷Ά‡³ÿ@鈷©¾¸:ÒX9y2ÛÌsyœÂ# ¤4»2z½þºžje`»Å¤áöf•J%+‘¼wŽç3gÎ0oÞ°]œµìüaÉ…*jw¸—­<Ñ_Á›³°LêÕõe^Õ—N1² .ìcË)ºõoOì¼Øÿ$wsãŸþ¡S§N´mÛÖ¦sûí7Ž9ÂÌ™3’7F÷ß~K£F0`:`­¿?Ãz÷FU†žóœ9s )J×^-ZDppp™Ó) <òï¿ÿ¾ÍåWѰe˺uëFxxx™êðúõëíªÃÅ9xð +W®¤}ûötïÞݦs׬YÃþýûKm n¥]ˆÑh,šI«_¿~¶¿Îæù³¦æ;H5P­uîm·‡—ÆÏ!Ê2JèÑ›Y‹§óx˜»S Õ˜¹•—ÇN燔~¬z÷5úW—"k/W®\ cÇŽôéÓǦs###‰§ÿþNÉ[vv6 …‚FýÇNµšþYYôïܹLâìîîNHHH™óîííMpp°Óîµ×bOùU4 tíÚ•»îº«Bêpqt: …‚víÚÙ\ž ?~¼ÔólRZ…Ba»íγ-k©ZÒ3b˜ûä#ÌI²ìô¢ïìŸîᜑtãþ™ü?$ #(HWWû±”½=õ ø¹ÎÌ[ñï»Ôjî®V ¥RY¦úeystTÞ+ÚþmW;®Äuï:I0w4ËšNy´ç;®© oì 9ðæ`^Ü¢-Ú0|‹Æ‡áë—‹+^dô¯—ÍÖª;é¶mÛxþùçILL¬R×í¨Å\å@ÞCe*Ërð*ö$´m(Ús×67~™ó§®“ýõÉËxþ¥ Hç%Ó@Þ‚ ÈÎή2לo4’m0PKú7K*)å Î*êÞ`èuïÆçk>£o “þ¾ð ǽÁžctYÈåá0ïjÖj+t½@‰ÄåŹ îGž™t¸Ø–ê<´ð&·övÒ?ꈟû4Ór'³ð•VxÉ2®÷ÁóüÍ~~r> I¹Ô·J'Î"{o™À¦bè×½„yOÔsZôKAÌ7Œù¯ž7N¤…Wån˜éééÄÇÇ£Õjek(…½ˆvš¥4KÊ£¾9…¸Í»îž={èÓ§OÑhõc=fýܶ¢€Ôƒÿ°31¿ø%Q¿ïCô¬í¤ 3d½e;÷瞦ÕP29¶î_bµµèýȽÔu¯< ::š¨¨( @`` Ýé$$$päÈX¦t’’’Ø¿?}ûö¥V­Z6Cjj*ýúõsÎû’NÇÊ•+iÞ¼9m:vdË“OÒñb‡ô>V¬XAHH=zô(S:kÖ¬¡zõêV»p ƒ–ÌK—IÏR“¯7¯jÖ ¡v —Ý×µbÅ zõêesù•GÞnG||<‘‘‘Z‡‹“ššÊ®]»èÕ«uëÖµ¹=&%%•ÚlRÉ>øÀÊ'†‘ÌíSô{þ/øöz‰é£ëâø1Óð6þÎ^çîúæ<æçP”]oB‡V‰‚P‚‚‚¨W¯aaav§ìÐtBCCmN'((//¯2ýÿí°x¢r¶zu†zzè^œR©ÄÏϯÌywssÃÇÇç6é´± xvØx–'ßæZÿÈ ow&nãXlŽF©TÚU~å‘·ò¨Ã–ÐoûîÁ5NŸ> @HHˆÍé[Õn{ûn4z[åpm¼ÂºIcøõJ± Ñyë_XǽÏî";ê8— ÷âçPˆš}Ÿ}CôEwÞèÞˆ·ŠêS>—ÓŠžuŒiQZÝ>gûŸ#¨[ Üåxï¨t,f{Òqt Ç­®L“ë F©P8Ôæìì }òRF÷ÏŠ«V˜qö®$:o mœªÄ`0ØU~å‘·ÊÔÊ’Nñ@˜Û>H­iŒ6ü-W7Meü²«Å•™Ï~D·öݨpf' ßòcàJ Bd‘–’BŠå»˜E.÷ðkl ñ+/Ì›7ofàÀ=*'nr\]²i0RÙü›Y1áy«ÄÏÔõkK¨Ñ[va”SÞª Ö–c[ŒæŸ¼°ËÅ6µzÿ'^ŠðÄój7š¹Áym4.èÔòÎ)½‹/²mÛ6rrrdÍ«è²Ðéèä`ÿf[ç6j“9²mûOœå’|k5¡ý݃·}áÜÊKë4ÖöÛèüÊXZ–“Ÿ¨ñÊVÞ)§¼ÝêÞéEÅ”e…vh—T!gNâÅ#„ë¾ÈœÉmL¾Æ¾ÍèÞ6ŸIdÏi5´ º£ž„–WIÅ’\XÈ<³µ=cî)~û`2o~¹‰äÄDéUšMJV¡S“g¥yô˜ÉÂÿ„S^ŽGå‘·ÒîOø@D9–¥+à0¯‘³‡O>ØÏ5‰òað¬wèîgn$žõèá rz_ùN¼¨¼#oÓ­a]ê¶DZàPBCC cB˺4¾„”*Ó]•V‘HÖé¸ÛϯœMmì|žlÕš_”,.ÆülŽ»ÀùâT¡ƒ©Tzsôêú.×N.·^³%o=›»;)oÖÝ;mÂF„\¬Bm×A=gi«?ºnf¯òéCuйÌùÞ³1¬‹%é§çYB£ÕCÓªsîh=WsÈÓ»ã'ìOúDv#+ao¡Ìf£±ÜíÍú䥌ê9Î*›¬1ó"§´ÐàÆÁ2U=j·¼‹œ¨SdeåsÓ°ŒG8¼=›oÞBÏò®@õèðÔ ü1ýk¼ä90o¶Ü;œÉ¯:íÖ¦ ”Î;—üº( ¸}œ$͵y@x;š¹7"3)šøËº[eÏ€P6¬C€gåZå5##ƒ3gÎáЕ>ÒÒÒHNN¦U«Vø–a¼Ë—/sîܹ2§S–ëLKK#++‹-Z8¥ 9zì>}ûÒJ£AaÏ<"FšœÔÚ  t÷Äׯ:gbOâïï‹IÞ ¹wœ„,+ÍZnþ´nO U<&&½^Oëá¨s5äé … o_üªyãæ€'Ndd$áááv•_rr2mZ5G¯+tPÞl¼w*šµjJ€—§ÝeY˜—ÃY´ÕÌÌLâããiÚ´©ÍA1—/_&##£ô¶ nÃîÝ»…J¥¦g"??_èõú›>ù _‰öæcAýIbεýêӋŸ–×Ò¹íǽ˜ô÷‘_ÂÿØ÷)9Ñ+Äó6‰ä|G¥yýgñâÅB©TŠ-[¶84ÝO?ýT(•JqèС2¥óÝwß9$²\ç§Ÿ~*z÷îí”û¯×ëEFF†PªTbÈË/ çê2OˆESú‹úŠ’ë¤ÂÍKôyèñ’ÏMY$z+±®n£¾ˆy·ÈGŸ>}D›6mœvôz½ ²»ü”J¥ˆ‹‹sX^yï¬-KßæÃ„ÂmuíÚµB¥R‰•+WÚÕ­i 6™5T*U ¯È‚Œq¢Ø–ÎS'ÒÑO… (H˜Çã]žcݳUzàoÌ"§àƇéqf€Û®}|Þ«z™_O™[ycÐÃüÒÐGûó€‚P,!í%ߟ2äÝ<ÈXÖt•¿²¤Sü\g™n@OOÜÌß­³w.à™ãnX!ôùìÚ›HŠPÝXaÐ’geÇÏ£ÇL~™Ð/UÅš¡ÊZ~ËŸCïue©9½ ÒqL[P*•Nk °h‰Û}m Э/¯ü_C“1»ð sGþ§H˜Cz=€š¦ïm>9BF¾mÊA–½su®ÁcÖc¯³-«Œã³Æ+¬Ÿô¤i%a¤²M˜YYV¸v%¼mXõÄbï¼]c.ªJé8U‚¾*t0/ßWºë^E ä¹üXˆï-e‰€s•Àv]öÖ/Ôœ‹I/úéÙk™4?ÿäÌ:`üüý^–ÿ§‡ÇleÓ¢LÎìˆG;© þ¡yâ¿soé2d.E+X¥ÍcÊü×9ôjS;]†äJ(ŽÆU¼>Jò…mÚ¡»‰ØXáPr`…ª#ß…úÅ1¼¾8ʵò\^tïl-K ؽlõ­PéüŽ“MáÛ%·X éê"i¦ïø{VèIÙþ/É€ßð…üü|+|zvi‹2Ñž:ÀÝ L±(*jÝ?“¥×Óóëk¾ãs–÷ÒtZÙQ©åJ(Îy¶GÌ[š/, ‰ëÞ“W¶òÝzë+:}¸â–=7¥&,:ÉøÙ1ìÝyˆ˜ YzR?¢½º· Ø…â­\Í­Ò÷Îæ²ü"†‘ý›9¤¾EfxÀIePêêÛÖ\¬²è=² w 4¿Vê¸s bøÄ˜:Ón·jAuŽ‘¸›ÓjAË óÉ ?º¾ö=¾Ï^KûJXÇž+ÓhUÏFQ(¾Ê‚Ñ|{^ kå6ÑXgODV¬âülJtGèÔhm´w–ÖÙr¯Ñ‚>Ã[àÊëZ»ª[eYî=eé¡pL}ûxÖVž1ܦIž¬-ƒ²ÛœUþ„Zœçýà P] ¾@4¡wÓkv%¯F]i ?Ížsתêáùų”Ê©4*ÿ•PªRGE`‹=ÑW¢mø¦j+mÅw΃ËÒ–ú¦ÝgU}³ë­¢Ì)(| ïj^¨Ï ÇXÔý÷ nÛPà"ѯ ¬[pk"üγïT×=ð”5èØ¿ø4zzòm ª¯ˆ•PäêÌNÄV{bµZÖMºc¶w~7²5%6kp˜þ7§w|DŸ òñ»/¥îļ9´,m­oAœ6É“C‚P ¹g9“Ž´kEˆ§é‘—ÊÉ“ ^Ú„z›Ì¢€‹QÇ9Ÿî5[Ò@îJ4Ç-ö#/êµmC¨µ"kÔ’sšœà4¯í…¨%ùD¦Î·?M;Fèuõ ”K—.‘””d}:Npà·;¥0ƒ˜£gȵòp¯ZMhÓ(Ø&L¡ÏsZЇ-X‚PÚ´iã´ÿ(kJÛ¶mñòrÝ׈2—¥õÍ'4‚Võümªoå„¢ÏÜ&ÆÖ2Óñ›„k$ºTñ×cBÙî+‘P’)6<ìkJó®oÅÙ‚âiiʼn÷š^s÷Tü{ÕZçîqhZ[Q{À\‘gÞ¦>,^m`q@ï#VdÈ ”Šrà·7¥ ñÑë<º.N¨õN âp槪¡¸â§<ê[9¡=˜òrKæO‹æÈŒÙó5½ü ªÃðŸþå¿c—’¦Wæ àK“® aE4œÙM¢îE[–E1frdKµ7Ô~£é BUêcI >ð1cæ5`æÁg ³xª«Šû¼*PªT8Ãᬠ”ò q¾¿½A(ªúC™xß«ŒÙ -Õž¸áïWiã[¹Bÿ+ÂLæ2A(®xïË¡¾•cŠÉ¾Ü⥯y¶ò-£ßÙN¦Ù˜¬ðëÌÔoѦÈÎÚíš™lC9'8œVxÍ®•´’ï÷X¬,uyæõ¾Yõ¾ fïŒoˆ¾¸‹©ÝR·n]Ó§IfyjlgtDÕœ•®T{¢+;ð» mXrãBõÍažÔŠ€¾ÌX0†uC!ñ›û¼…uïö$P ªjµ(5íÕ¨ XE,gÙ§ajÓ0\bÝ´é2ã÷à¼ÕÅZ;«y%”7çüÚƒY¯ÓJ(Ûx°­!hë Œ]•Û:âVP¿òµ9V&?bIåÇUê›Ã\”Ô<›å“vÓgöö½ß‹ö'góÛ/Ò=øú¿ñiGS/ˆÍÏ'z_ÙmóãäqLýËiXg$ ø?êTq'k}ƒË2Q¹­ügâñÞár?*ƒ±äΡ¢ë›cûåŠîþl3ËÆ4àüŸ“èQ·-~°œ£é×Ìx7¦³Ùûîìÿ†Ð¨Á¦þe Ü®=è6GþÌÃu¤{š56†²NTn«y®À!‘Té¼#_«M-¸Oü|‚SË^c@}@ßÓ§CM_BÛôbàÐaÜßhæYÆý´)dðÑšÎþóýBÊÖ¡¯*+¡Øj+.i¢òò Æpi?Ù*„ ˜ªt õ¤²yjj*QQQtêÔ‰  Û®†|r®^%[‡Î*oüƒÉIO!!>žnݺÝ4 tiÞq’L+(}B#èÒ¼î·6JˆB Y™Ù¨óõ¥^¾Õ ¬î‹»Œ_jµš‚‚jÔ¨![ç-8tè………ôèÑÃiÿqéÒ%ðô´m6±ÄÄDâããéÕ«>^ݼª¡ÕjÉËË+½-ˆ "w󣢚ٙ»ÉÛÇE¾¨¼,B•¤3[IDAT]ºT(•J±}ûv›Î3äD‰%¯¸eЇwã{„B©‘‘‘7«??Wt²ÖY¾Ç,q*OH\œž={Š6mÚ¸dÞ>þøc¡T*Å™3gdA•æêØKóRì%tUêÙiÝ@^^âö[äɉ{î<\yq¹ðCùSqâÔ˲ˆš”ÔÆªsÓ1'ƒ3$’;üaíØäŒd]Æÿ¾]Îî5ÕÂ{óÄË“x¬}7:ƹU¯O %`²SÉÖC&¸UG¡-çÙ¼GCú•üd•Á‰gkÈ;þ}:L¿¶Øëέ¬Y°-«0÷Ú× ´»?5}\\~ ©Ò‚<|#†Y½>¡ÍAŸlbP«Û}Èà ‰Dš5n'Íœ˜7÷ºU¸M$1ì[ì̹ám]{‘ –yù‚ä’‘ ÖÙ†5±kBpÉ ÷Eô!‘HÊYœõä^ºÅ,¨éëY~Ãr)Ǹ`þîW?ô£sÆ„@r O"‘”³8{R§u[ w¡x·ÓHæ‰ÝE+m‡¶ ÅUÌ£W®\áàÁƒÜÿŸ?9Ά AΙÓ¹’‘‘q u–y‰¤thsö É!Ô›>»¨G\DÁ<Ѻ˜3ؽ,Òü£6}û5tqNNNfõêÕrO²tõscÖìþÚógX™jzäŒ=ú–Nær O"‘”Þßs$º81ë® šýŸøßÁ,a(vXAì碽y¿¢ãL[àzà2ÈCRÞdffŠ«W¯ºdÞ4¸|ù²0 ² Ê GEî7Es³h)Û½*–G¦‰<ãµ# /n¯µQ˜„MÕYÌ8颪¦O¿ÜçSª0{u}WlÏV"‘8–Ûέaœùù)º?»‚+–MþMèØ¡9µ•—8¶=’T#@ Y|”e#껬7‚1'’9/ŽáõÅQhK² ¿=›oÞBOù&‘H‹Ä ´MŸòìÓï³!µ¤A±žY¸†ïF4Å»ÌvT˜!mÉäŽg3ºËY³„ß×ïâxbzßz´îý£ž}˜N5¥÷®D"‘TŒ8K$‰Ä.¤#­D"‘Hq–H$‰g‰D"‘â,‘H$)ΉD"ÅY"‘H$åÉÿ=¢ÚL: IEND®B`‚nted-1.10.18/doc/docimages/multi_stave_line.png0000664001041000007640000005331311520267216016314 00000000000000‰PNG  IHDR:ûuãÏ®sRGB®Îé pHYs ‰ ‰7ÉË­tIMEØA‰È˜tEXtCommentCreated with GIMPW IDATxÚì]g|TÅמí5=$¡BïA¤W•&bADé*ØýƒŠ¾ŠbCPDŠH)¡'¤’^7»›ì¦lÚö¾{ÛûaC²Éî½»!˜çÇ6sî™™3ç¹3sîAâQšÒÒÒÒÒÒÒÒÒÒâ~Àl1M9Iàn.èÔ<;Ðhвõfƒ;) ]w0ià° =Z»w? ß½{ƒó‚+RhVˆzdÝ=ûø“àD´GkÓ•@Àá3`ÜK`Ä(ð\o"VP``(À €"ÀŽ þX… jÿA48¸pô F Ï?’EEІÝó ôžo`Ð^~0LcÁ=Áºy õEmjêù§‰ˆ)ëºw›Ü~ׯ´•oiË@¸l?$EÀ7,ú¼>¹M›Äf.“ à8˜2„…A/iVЧøì}Pñš!?':¢»ï¼±C±î~÷°¿[ :MÏv?î…EÀ/Œ >YMö€{WU9(V·^q—P©ŠÛ½Gîýò¹~ ÀìI@£;N€5ß¿ÿ2*AŸ^÷ÆÏñA€T ÊÊ .`HIf3ÐjAff½LQ(-­—¹{˜L@§õ2ÅÅ ¤¤^&5@¯€ @B°ÛLäòÆ2HOo #™ Ðé€ @e%t‘fÁjY…`þk ÷–*ááCzJüíòbðTW Ôƒ_þ 7€OV€t)è3$$À­[P^$’úŸ@§v{…ˆÅõ?33V ÄÇ×ÿ±¢ÖÿÌÊ @Qpç©Lv6P«†¸¸ú?VV‘¨± ŽƒØØú?VU‚‚úŸ99@¥j,S] òóëææ¥¸}»þ55 /¯þg^¨©i!ºfž퇂O>l ¶æøò¸ ^pÈ@„°``”€áýAĽΊÇ4`³“Yÿ“Ë4`0‡SûG‹ÕX†Nt:àrȰXõ?ëd8œzµd2uzêdX,Z+Ñ”\Ö0°~=ؽןW0.ï 4‘ b£ú•D„‚¡½jmÎç“ ØìúŸŽö¢Ñ¨d872 Fcó£þ'E^e\óªsïFyQȰÙZ œ&qú*_¾¢‰í§þœ0|ܱ#Š¥+ž«Î¦iÛƒµƒÀÒ½àÓ•à“Õ üy0¶Xö6 ·áбÝ.]¥¥€Ç/¾‚ƒ!éîÉ{Àî"°õ Ï&>ûþÐØICÎ(ž»`2]ÉNVƒ_^˾ÿÛ¾~»—F•+~V Ÿw¶]u`ïn ©Ýú€9¯‚n¡ > œ½Ú÷oÎA<ðÛ× ^† Ù•`íZÙÚýIMöþrJAû.à•y O8ȇϿàÍ £?8´œýû‚5x{9 mö€éê°#µƒˆF¾aCúF¢+D à,B”H$111ô‹`Äп?èß ÐIZUUUçÎCš¢­Ð5++ëÈ‘#4] @^È˃Ÿî[%%%{öì±ÙlÐm…®]ÿ÷¿ÿ¥§§Ã€pÅ·ß~{Û±f¢Ð577W§ÓÁ€p…H$R©TÐÒ`X§ÓIkÐ Âl68ÖúAº¶¤¦¦nÞ¼º&„+¤Ré'Ÿ|éÚ†`·Û[k´|ô(0›!)Ú.PÕjµO`Å™•••bÇž†–C^^^UUU\\üX µZ••Åp,n&™Ü*•ÊXÇV`F§ÓiÞ[a4 EÏž=½”?¾+‚trü?!!A(D[Ö>z½ðÔSOuèСµ>99™úk Š¢ ƒÖÒƒ¨ÕêøøxùŠêêê¼¼¼`òÕÚb±X§ÓQøF£Ó½êŠìv»T*íÙ³'“Él „4™Lv»}àÀ]»v}”zWê϶'Nœð~f+—Ë÷îÝ‹¢Mf]·nàA4â™3gæÍ›wþüù6k^Ç8 P(r¾-¢äüùóÙÙÙÞ‡HvìØa2™ÚˆÛß¾}{þüùÿý·ûÞ5,,,¬¥w`×ÔÔH¥Ò1cÆP¼á###ÇŽKñšILL$¸~ýúÀ‡ æÕ‚É 3f ÛÓºeÇ1 ;¾ö<¡+ÀóÏlñ&‰‰‰1 V«µÝbøðᩆEEE 2¤W¯^-›/—ËŠŠ5j”P($“ éׯ…o…B???2”””¾}ûR<îŒòòr__ß#F{Úz…ã8Š¢ì¼ô½  Àh4šI&cp™Dã!â—_~ íá ©TºzõêÖ-¤khµÚŸÉC<0™LyŽZLEív;õD'ht¯÷”Ûl6E- E Ã0›Íf&ÀÚl6 ÃÈ¡~¼‘*Ç-‹Çé«#SE§X!b67^Œ®ÑhAsEma»c¶FÖ@8Ž#b±Xæ½ÿéŒN­ˆ:õï¥k±J½°x8NàO¶oqèСîÝ»»ÒÕÃ+Ã}CÒXƒ»w£Ñj²§Ñ™]ú<µaÓcºùºm?iÖ7ç-I—ÙÐÚÝÜ"qœ ÃÀs[Ï'hú¤×¶o\&`Ó›ÊòÞáËlCÞsÝ7?ÏÑÍ­g–‰ß]úÎÕä<‹½6ˆâÓ®§Vkô% CÒ5===::Ú5¡°°8Àß?¤];#¸|Ÿ¾‘ƒªóã7ç»™Û­Æè“G“óåÎ4¨å›¿ßÌhÀWÂl4 F«ÍÎ`±óòò:D1±‹Åß}÷ÛÔÛ·oWUUÅÄÄxSÉ’’©TúÃ?x 5TU%0pãÆuMl$#‰Ž=šœœìq0\^^¾}ûv??¿FIqŽÃ¦["uï(ØÿÇoîãH8ž˜˜ˆa˜ÛÅ%rßÇ·sDÅÙ\~·Þ-¥Y[~Ìr£C®þw,6½wZ†dÖUlß¶5ÀßùÕOXÍ&½Á`±ØèLVÊÝ»†å;ÎÎv…BQZZJæwîÜÉÍÍMJòê>½^_VV¶uëV¾ãD_rTTTPdZ73///¯¨¨ðØ»ýóÏ?®QÞ””OºÅ¥K—æÍ›g³ÙOH¿{£Ñ':‹¿èÿþÆðz³%_=1j@7ƽàOà{ìô µÑÑÑ/¿ü2YêW_}•œœLx‡øøøéÓ§{S—èèèW^yeÝ:â‡ÜÈÌž=Ûq5ÔjõÈ‘#KKK]“¾øâ ÀÖ­[‰¶ E×®]+‰Ü¦Þ¹sgÖ¬Y&“É£e•„Ñ0ÜH£3g­þQoE#'!ê…±O±î¹ƒÉúíÏ(Ô¦¥¥;–,uË–-W¯^õ²¦eee£G®©©ñìçéécÆŒ¡–Y½zõ¾}û<ªÂ0lÊ”)ñññ®Iýõ`Íš5nl±á¡á/p*.'€Ð?töÂU?~ôº3‡Ó®›»`U±²þœ2«Ù¬¬P¸ë«M55*§™¬­óqÒl2vµ „‚àEÏ9x=ÃŽb®0`‹oþñõ»>œúaNIæõ—_ZPX¥©[Œ¡¨Bî¦ P»¥¦FiC Ñò„†›¯"¨S·mON¹p!ORÊ0iìÈ¡><¶sàê×­9s  ï0hLƒh$jM»òËo» ååvœÆäB‚¾E Ð>‹>&à|¿ßrÒ¥èŒ\1ëÿÌÈÑÇŽ ôuvèÎß÷ˆ*5 W<Ÿ®£_hArRnîØ¾+£ È‚àl¾¯Íj†t½ÏcX—ÞKÞíM1àæ0Œˆ˜‚Àw×~3{t§ö°øuãÇ_üªµaNó«¡ÐãqЂÛG¼ñö;o¹ 8 }ÁñyuåÆå/ u~Ý_:úû[Ë>QZê¥ù„<‰t­®®v»þ#??_¥R%%%yùýŠÓ^{=CZZ ¯&`ñüßZùÁ”g:'%ÖGqÊ3ã¿ù~§3W«511ѭ²²²œœŒúXQ‚@P'@A~V«õ¦.u{©BC­ƒe¸æ¯V«óóó…ž›ƒÁ`0¤¥¥•9®ØsByyy«7|ZZÅâSÇ EFF†Z­vMÍÍÍÕh4ÉÉÉ\.·ù%1åÅQñ©™F,ŽÏ‹¯/~kæÓξ¡’åþé×Î\à8Aær¹œÍf{Z¥D Šá„Z­6 ©©©®Aר§Á` ËÔÊÊJ©TJ-ãiµÚœœ×uDÅÅÅTtEQÔí2HǺ_³ÙÜ"t ìÔ÷§{Á`2Y :  ˆ­Ÿ¦IK4 ŠáÒó½>¡XjµZÉR g&ìúsŸ¸¼'@£uíÝÏd6³=Õűº¸ö5Ï X,79x\í|ol&[ŒÚÖ [,ŠíéŽÍbd+iëÖýÖÙª9`û†}óËŸŠà8`²˜ : –æ–És*œ+Âóïøá§îoÍ0AàeҬݿïÊ–á8A£3Â:…ë&oÖ½x\3ìXïÑ7Ñ&·ìáææG†[Õ…é/Oxª6:Ec„÷~úØ•$'î'2Œ#ñ÷‡û7XfÍä… Fo"ÿâ ÷èá^F†½ ·´åEïÌ/ÂL ë:pÛ¡ v¿¯È0žwfP—à†Ãɓn´ë9hï©èu¹Ùâ’êàö#ôkß.ðþQ–²jm©¶Að܉FwûÑ•ÐÖ(boÝHIË2Úévœ†`Oø’›6¿?ý}fÉÚÌÂb? tèAíÛ2îË9«éËßÉ’7Ø<ÀõoÇ`»Õ4UIñ± ‰©3ÆàùØÑV¾ÓÙf…æ:|lèðf+RT)ò§Ô²A«>ùŒËuÝBçÄ®ý`ÝÅÛ©VÐhtÿhȶ¯ø 9ah³ö°Ûu7 «OŽ¡³¸o¾³®S§ö®¾¡Vä­^º2êf²ÞbÐh´ÀÐ.­LW›Íf±¸ùŠe4Ñjµì6yÑ£Åb1 nÃó寜3ñÓ7ýd@h×·W­}ÿ }ãsu¥yËæ/º–]ì<±1iÕ÷樸V«w×äv£Ñèñ$>N‡¢¨N§s Jµî±/uÅ£8ñÈ1³Òëõn«éð Nça§tëùYa(kí‚i¿½âøª/ hÿÒ[ï|¹ú%»Iߨ&feÙÚ¥óÞÊrž6µ*êvwÌ™=ú†c;±[vKÆzºŠD¢+W®¸&ˆD"©Tú÷ß{\¸×ZˆOKKs?´8îÐ>F³…Î`ù±Œ÷íuáÌLº•+sþ -É4r¼Ã%ê9Œ#9i)y¹ÙbcrxUÕ5Z­–šræ———Ÿ?>+«ñÊMk'ÛH¨©Up7æT÷v>u¦`qx/.ýìv²Á9ÔdÑWþ¼aeÇ ¿º©ƒÅ}ìCMÔxÈ¡¦V43~P§úU:L6w쬥…ÚYÆnÖüóë†.¡u ø,îjj }öчÿ9üïYY…Ê/¨ý¸çg.š;½TÖ`4±÷«>ßzÌê´DCQtÄÚÍâ‚ÉÎõ ,º |æðé“»ÿ>\TVÍŽ{nÆ‚¹3ý "RQn~wÝÏ&§Ø$†Úi4RN¸½0/O¥·„†ß_©žhºsäó³‡M˜n³£ &‹Ãa7Š6˜áǃ—œ¹ è?ñÕ.Üœb£æ¨ãoùugn±Å—g±ÂK‡]ß`ô6éçÁclv„Î`r¹œÆ¾›·º`jø¡säøã§»!*f½}éôßÿ’’_Œ ‹ÍµãtH×û¢,‹Ãd‘œDçŒèªPëP ÐéÌîƒýá«¡>3j=÷÷/ï®û¶Æxï3·N @QEÑ6rBË 9i™Çãõê5è‡véæççç9üù»v/˜=ÎßÏÏÇÇç13#—ËíСÃèîúX:ÇçóyL†{*q8œÀà.¿ýðYßnáþ~~þþ½ŽüiÇžÕ §øûùúú6ÉŒp0LŠ3š2Éá Þþô§W–¯-’+\¿^=#Ø xP„ƒÒ´WÞýò…«$E%€%ìÞ#‚Ͼϙ¤+)fÎlò#>¡ƒB¡é Ü Á|‚ j¦Ø@@<2€t…€€t…€€€t…€€t…€€€t…€€€t…€€t…€€€t…€€€t…€€t}‘ Ü]iéÚö—¯Ÿƒ€t}ÔÀ烖¸ÿÒõÁcæL0j4¤+¤+¤+ÄãKׄ„„íÛ·S\Áò!‰6mÚ„¢(lïV‡D"ùî»ïÚÂ-A¨Tªõë×ëõú'—®iiim‡®jµ:!!¡Eî†h&4MbbbÛyuZ­ÖØØØ¶y7 ?<à8^SSƒa4ÅãAjjjZJ›R©¼w¤ëƒ‚^¯ã7ªªª )¼ùæ›-¢Š ˆåË—gdd@º¶a2™àü±†af³¹¥|Ãl6ßÇÈ ÒµÉˆ‰‰)//‡v€pEBBBaa!œ»¶!ìÚµ«  ÚÂÇOHH€t}Hð&”€aXÛ zC´)à8þ@§?Ìœœœëׯ·¬ÒÌÌÌüüüíÛ·?¸kTa0tºW¯™L&“É~ÿýwƒA-ùé§+` ÅÛ¶E»•‘J¥gΜÉËË£Ve6›+**öíÛçïïß()99¹Õkß¾}F£‘BÀn·3™L/-ì=JJJŠ‹‹wîÜÉápœoÐétmí€V«U(»wïÔ’ååå …bÛ¶mÔž¯R© ƒÇ¹«\.?qâDJJŠëpšŠ®½{÷ŽˆˆhY{={Öf³½ýöÛ-ÞØuؼyó”)S† âprrr^^ÞÂ… =ÞÌ÷Å,Çünݺ.^¼˜lî:uêÔ‰'zôƒ3gÎÌ;·cÇŽ’ ÅåË—[—®sçÎ¥#`öå—_.Z´¨G-›ojjj^^Þ‚ „BáªÚï¿ÿ>`À€ñãÇ{#¬P(¢££ßxã  7bdeeÅÆÆ’y…ùùù‘‘‘ ,ðØ Ÿ?~ÆŒÇo<Ü¥Ó;FJW‹ÕâWòx<‹% ]èJX-f‹ÕÎdq½}/›Íæñx^69Çc0B¡Ð#]ëJ´n“L9“Éô&kGÿ/\%›pŸçug‚a‹Åâóù-N*>ŸÏd2…B¡‹fÂn³šÌV“%È.ûó,‹ËåzYr@@ÖL®%wxQó³ÆqœÉdº5/õ ãá]iEà¶ÿî9{醬¼Zúü¬×–/|…Ïh£—öé'ba¿~öĉ3D²r®0pøÄék?ZæÃ€R¶]õÊâÏÞ[¶ûÌ-R»úìêµ[~üà·_ŸÛà ‡Ý¢þ¿÷o?m´Ø£ó«1WXÌàÏ?œÓ˜®ƒA©TR¿úp‚€F÷z|R]]m4e2Y]¨)jÛ¼nÇë'KˆÕ\.“G¸*8ñYh4…BQ\\ìMy***,‹L&ó8ìÇñ.Žh¹\.÷ñqâ3™L•••³Öét6›­´´A×im«7¼\.Ç0Œ,ˆã¸N§+++ód1Ç Õh®h6›år9ŸÏwüåî¿;ÙwÎêäŠTÈ ÝZØ‘F5‘R«ÕÞ4UUUV«µ¤¤Äc|H¡PX­Vjµz½^©TzÌÚq½[V©TTt-//‹‹#ÑŠÆÇœ;w%ÎlCرçGkÞõczn˜¬¬,…BqíÚ5‡7¸uëÙXg®ºô{&(\»vÍÙIŠsSö<©1ÛøµsÙÒ~۹͢¸¸X(z¹†³¨¨H©TÞ¸qÃc´EßrD†oݺÅã¹_ÒYSS“žžîqO‰ÙlÖétqqq®…ouºNzöÙ¥fò« &@wçOr¹±JcbòðGgÍ “¤ËEŽÆ¦Y:97¨×‚wÞp?0²VùÁê}Ç¢ªõµk û›‚DÝ(‹Î`ôôÌäÉ“ÉÊ‘XPWÑ`Fdž-úpåýÕ ³Ö|»îq~ae IDATã¿ýW©­] Ð¥ïpÃÙ Î/Q{βw‚ü›ÆÅ£S³Ëu ØÂöëòÖª·Ý·…M³mÓç¿í:\R£sü¥k¿‘F³Ý§~ìIëÞ'rÞ¼ydŠJ‹ãÅ•Îapýß^óÁýÕ·kÿüáÿ¶ìøGV];m1À`F‚ º"b³¹é3#»v¥Óháˆ21{ ñåæïûø×¥0v£zÓ‹·ý{szO‹2’ z‹Å¼7'D- Å2!7ЗÏ5˜­€F ‹Xó?Îß—ì»ÝN¦1ë¾ÿxÉ/G¯ N¯ÍÒÂ\½N‡c¨§I…š#žÄ`$ó[u©‹Haf2™ÜX¬ l†øµ{ù……?¬‡ÙÌF—öÇ0Ìn·»-< G‡Î.Ûlµ£c·~Ÿ}÷ó„>í\…qĶý³å›vÿgEë_ýòÂUu•Ÿ]gO«ÕJaOÃ7È—¯6˜q@ók×iñ>œ;ŽÂ7Ⱥó‹_íþ/??Ù`²0XÜ":ð,ÇþC&Ÿ””TVV&•JÝÐÉfüiÏ)g®@ ëÚ;úò¥ø;|Wy›ÙPRRR£TÙQ†bŠŠŠ}ûöQX5//O¯×»~ pŒÀ+ÊÊÊ+*­v”ÃJ¤EQQQ¹¹¹Ä<ì › _ºtiÞ¼yÞ„gŠr“ºù7fvòüÝ‚rg™9sæ\¾|™BÉÕ«WgÍšå}¤„"ÔT*ÎèÐ`iHøÀ ‰y¥n…•eÙï¼>MÀ®›hï;Ô„Zj¾þpa‡Ÿºw“Ão³¡&jP‡šîܹ3kÖ,“ÉäQ^]> ¸Áñê]]O“:Ë,]ºôÈ‘#J233Gå}á)BM£22„ç\ŸýbRÄn…­ú²½$äÖÅ>C;õ¸¿PfÓìüvM×Ðúo,®°CMM@DŸ!ÇOÿiÛž²*5ƒ#xfüôÕ+v l­~£c·Çþû÷çm»å %ƒ#xzÌäUï¼Ýµƒ›¹‰¡¢pùkóÎ$äÜ q|Åq÷VÃ¥%ƒYÐw›AÌúoÞ[øýhä^¯Nàf·?¸M|üÃŽ]8÷Ëo»D2Åøô¸Uï-ïÛµ}k•‡+ýòÊFQ·êrñ¯ß}{%.Uc0³ù>f+2ì顈áû]'œ¹ è5ö¥ÐˆÞ­@×{áxa(OØvü„Æx*‡ÅgÑMÕWž‚»WÍ_–,VP«b3A<†ÒRÊêÐgäÎÍŸùò9à‰‹Ã á·¥òðÚ…ð¨ex,¦‡¡µÕs¬÷ˆþøê}g™2ÉÝ%¯Ï¿’&ñøÎ ²*Lõ¾Áé¹íçﺆù7™®‰Äíöˬ¬,¹\~ìØ1&³(]ZZzãÆ ŠÕ޹¹¹eeeGŽñRaVVƒÁ‹ÅÍ)Ž"s_ùÊíd£ÙÆæ Œ¦ŽÊ*xå•ô¨¨| þÇÆ5)EÕ LÆÜŠ‹¯®®nøžÅæ-[vêÜÞDc°Â{ xqæÔ¢Œ¸âL7ùæä䴺˞9s†bÝŽãùùùçÏŸoß¾½»¸`aYYÙñãÇ[dϪT*åp8ŸKJJjjj¼÷´´4•JÕÌCíyãí·Î\¼a0[Lv×¾C^š99+ñZvbý÷øo߯4ä*Ź›™ÃiTT‚xmå*æÙ‹J- 1CûÏ|q¦²0åˆ8Å5_ê½ÐÌÐÐÐQî.oBQ4??äÈ‘-²½îÀýúõEyKTJJÊ(¯¯‘JII‰ŒŒŒŒŒlfÁÆŒ›øb·Ù“ýË/!»ÿ€ž=#F˜a½ÁF4hÞ[«þoÁ‚—Ø.ƒ¨Ñcƾ¹ô}›ÝN£3¹\Å„ ))©Õé:lØ0ŠÃ~q¿}ûö!CºvíêfÈåÆÇÇ9’Û·ô?¾wïÞMèëëë½oäçç÷íÛwT³¯$=fü’Uëlv„Fgò¸>›·ÿØ`…É™öú«Þ[Îc5þ1jôè×,·Úì€Fçr9+žKJJ¨èêãããããæ‹“H$]ºti‘Í™ 44”b¼T*åóùÞo”÷÷÷oß¾}Ën¬÷¿·Î* "¢6ˆ÷ýºe·³Jkðý°~Ó†wü8Íz…ùùùµ:];uêD‘Ša˜ŸŸ_ÇŽÝZX¡PðùüÎ;×-Óo„Bapp0ESêõz‡ã}[P;[Ká›—/ûd“¼Z `p|®úßן­êàÓԻ䙂óÖü0cñÇY¹Cз_Ÿ`?:îÄ€çÞú(΢ŒŒl+ÁîÙ§Oû`ƤAºz Ð}ƒÚך¢±oÐè<Ÿ ‘c'<´™UUUn×äåå)•Ê„„„™»ªTª¼¼<Š=J¹¹¹jµ:>>ÞK…%%%YYYn—Ü7Ê˻Р“ÉâãÎèeee­îjwïÞ¥X ‰ãxyyyZZšÛè`vv¶Z­NLLl‘¹kUUUaa!EÓK$ƒÁà½oÈd2Ç=â+À-ëéŠã¸ÛfCQÇqAZäNÇ"I ÿpdçýbÚùóçÓh´–]|‹ÝûÆíX1ûàšdÚ´iÓ¦M1bD+º‚ Ôu\ºt)N§ö9:Çqjƒ7Õ7fÏžÝâ¾ñÐ0bĈÇ6Ì=]Û·oï6Xo³ÙÒÓÓÇ×"¡¦víÚEFFN˜0"¶qûöm ‡€‹kÿÓ½{÷ º?Þ¹‘#GÞ÷³l6;&&fìØ±-j:|øpß¾})š>00ÐÏϯu}£ ñÈà!…š6oÞ Í áŠõë×ûúúB;´!ºöêÕ ÚÂ-ºuëÐÜÁ°@ èСÃCÛP"\O»‡h›àñx;v¤?¬Åú§K—.ÐìYà×±¿î¡5ÉCÎÎ èÝ8®#úñG°nô¶ÒX­îÀ`˜F£=̽š9;w>àÍÉm³±ZÝ7Áð‹víÀóÏC3@@º> ðóƒC3@@ºB@@@ºB@@ºB@@@ºB@@@ºB@@ºB@@@ºB@@@ºB@@ºB@@@ºB@@@ºz‰C‡  ]ÄÆB@@º>jxð‡¿C@@º¶Ö¯‡6€€t…€€€t…€€t…€€€t…€€€t…€€t…€€hxâîw½s¤§×þùrÐ÷uA@@º>œ9¶l©ý¿L~þÙƒ|r2À06 0áåÕp0ÜZ8}ä瓦8zŒ F£F£z ¤ëÃŘ1`Ê”Úÿƒ£GI%÷ìo¼ÍK}!à`ø±ÀìÙ@(‰‰@§€~ݺ3jÖá÷ßÁ§ŸÖÿìÒŽ„! ][Ï=žyÄÄ€ÝvìÒÒêÇÀ‡ƒ?®ïW;vQQ@(„ÞÑÊ ½îñFM ˜:µž¢Îص ¬XQÿ³gOàõ´pîÚjh×,^ ŒÆúipìXýψÈUØ»¶ |ø!øí7ÒÔÐPpíèß: ì]ÛÞz têDš:kä*¤k›Á!`Ú4÷I«Wƒ_~îñdÃnJ%P*ÁÃmxýupñ¢“EhàÍ7ÁÞ½€Åz¬kŽã€N €ãÀq=9Ž7øI dÖyrdÒÒÀÅ‹ÀÏ`éRØ»¶>||ÀŠ V¯Xxܹ ÈÊ6¸t X, #¥\»7o‚ÊJPT’“Ý^+“™ D" R«WàÖ-PQŠ‹AR@pé0›Af&((ju­ÌíÛ ¢Èdõ2&ÈÊùù@­®ý’vû6P(€LŠÖÊdgƒü| ÑÔÊÄÆ‚òr —×Ë ;äå\¹Ò@&!`X­LNÈËZm­L\(+%%õ2Èɹ¹@«—/À;µ2ññ@«\.˜6­–Ò°wm#ðóz=LŸþýðùO@-Àå£Àft:`0€Õ „B`4.à8@QÀã5–±X€0‡ “ ÌfàãL&Àf»‘¡Ñ‹E%ãøäýàdÀ` •qŒ„32À S'`6ƒwß…tm+8q téÆŒö€`4‚’ð÷:@ºB@@À¹+¤+¤+¤+¤+Äã»Ý®Ñh`¸Òâ@JJÊâÅ‹­V+4¤+D‹ÒU¯×ŸµÛí&“ ú1x½A)“Éd2Ùž={¥iµZ>ŸÏöâ {©TŠ HŸ>}Z½ò(Š ׺´.ÊËË+++‡êøYUUe³ÙæÎ;bĈÖ*ÒîÝ»Fcqq±T*ݾ};ËÝ$£Ñ(“ÉöïßÒ(É`00™Lç1£ÒÒRµZ=hРVo ôZmPPP›òšš‰D2räHÇOµZ­Óéf̘1yòd7t óÍ7ÃÃÃ¥­_¿~êÔ©ƒö˜å¶mÛt:ÝÊ•+[½ò‰dÛ¶mëÛØè§N:þ|}¾ùæ›­[·FDD´"],X@DBB‚L&[ºt©[âÕÔÔÄÆÆÎ›7¯gÏž’vìØÑ­[·éÓ§{ÌèèÑ£ mÁ7*++7lØðÙgŸµ)߸qãFJJJ}þþûïM›6±Ùl÷te0 ƒËåº6“Éäp8Þ¼AY,‹Åò()‘H‚ƒƒýýý\å¹\.ƒÁð¦Ì-‹ââb¡PØ®];·©l6Û¹TÌ6pf1—Ëp8GÁÜZŒÇã1 ·>Àb±Øl¶7vf³ÙÞôÃ%%%\.×µ |£¬¬ŒN§w ÙÓÃf³étz]©X”;­ꇜ͛7'''?–3mÛ¶]vìo†¸/ìÙ³çÂ… eÕ‚P(ºF76jµºM­Ádâ8Žã¸cãúºrLQ>Þc­âãã­VëüA-&‘H.\¸@ûJOO—J¥;wî¤5Ùl6™LvöìÙœœ² pnn®Ç’4ªfii©Ç/L*•êØ±caaanSóòòŒF£Ùl&ËB,וêîÝ»­N×—fÏ®Vªe6hÿúë/²Eˆ%%%Guß¹s§  @.—{Ì(55µ¸¸Øc‹P·BqqqQQÑîÝ»)–Äâ8žŸŸo·ÛÉö«èõúÂÂÂ&ùFll¬Á`ðøHyyùÿý—í65%%…Éd’)‹Å¥¥¥u©×r¹|êÔ©r¹œpÁš5kRSS /°eË–7z›;wnTTYêÑ£GW¬Xa…ƒÁ0kÖ¬7n ®X±‚h Ö®]»sçNb‘‘‘ÙÙÙd©Ë—/ß³gYêñãÇçÍ›W÷ó‹/¾lݺ•h=tìØÀ`s'=û¬Ùlv+S]]=uêÔ‚‚פ_ýõܹsÞdtðàÁ•+W6³âââæÌ™c4)4 ²dÉ’ (Šùóç7ÉJ¿ýöÛ† <ŠMœ8ñÖ­[d©7nÜ´iYjLLÌäÉ“ë~þõ×_€5kÖ¸fZí(е•; vxÆn¥fãá UW”ÉÊM°!´Rš»Æß‰ÍIj³ËwˆÇ ®ÿÌÕÿW¿F‚Àˤ?üß×g¯%ÌV@g€V\epùŽÑJtµÛl劬Ԍ¡ý»»NswÏ/i ÃqÜ£$µÂ:%¡&E©•8š´Ô±IÕ$óX5Çh­N¸õ[žFã üæ¾÷Å¢g#ëÂjEî¢W^»‘%ʼn:)fü͸gGr­ÑÃô G³:ÂQA­Ä¹ZÐ7‚ (µšäLÉJNË á÷Èæææž;w.##ƒ¬6‹Y§7Ò™ìääd±íß¿ŸºV2™ìêÕ«UUUd3r‘HôÏ?ÿP‡šJKK/]ºDö5¹ººZ$y,‰3rrrªªª?eÊ‹/ñÚùº±‡ÃñññqýÀcÓ—¬[¹òrJ>R7f²Ù¬É„ÍjE1œÁd³Ùl¡PHvÔƒ@ àp8tul¬¥PâçççPâ}“p¹\>Ÿïñƒáb ±ÛíJg0Y,v»¡|ÕGœ¼žbLj{]ÅbÕ=Ûœ…¯-…€7»Ž×º¶H^–!.Cq‚Ë÷eÑ{Ÿ~´<$ØÏU’Çã¹m»±òë×ýsþ¦í^ÝÝf6šÈ|Ãn³!(Æ`²ØE+øøø°X,ŠEˆ(вÙl@@¦Äjµ²Ùì&ùÇãr¹a2™®LAQÄf³Óè 6‡ËãÖú$b®ùö›Ï?rÁŠÖzívêžåSÞVÊìÖÔ³0ð[~¾”×è$éÐAÏ»Šš 5çO=ùfµÖÖ¥°¸ì±™ô„ýêÇÏ^¼*–• ÂŠŠ¤ÏŒîHùw×Ng®ÖÚgðÔ¶_©nCŸ½z'E*•êÌXç®Ý‚ý…MÜlADúçð…[¶FuôœvÙQÇ¿r³´RåÒ©ª²ªG÷î‹s ‰×/ž<•S(c ªjjfL«µÀõ3'÷¿XÇUÂOñ6ÔÔô¢`•¦§¨Ñì§ž¿nñŒF‚ éÝW¼s>6Ãj¯dÐèŒÇ£9ÌúÊï?YµíнÉJÔV©ÕÎsWkÌgw¥Ñ™Ç¿öÙ»¯?U£1¹=z÷¿o?U™Íõc.h4zßÑs6¾¿ ñ ³Bôùïýs.Öl³×ùƯ¾øøŽš~Ù°ê§Ý'k´ÆZߠц{¦v¦`1Y¾Ëz>3sÓ'ïxK×ŠŠ ÇÝ555®Ç´õï9¨wqi5†L6/rø„%‹fd&7ž"ïûæ£3×3Pç h´¼¼|—ºŠ 8Aäää*ŠÛ·oS„š,‹R©ÌÌÌ$“qlšmÒ–—²²2ÇÉÁPÃq:ƒa2™RSSU* éìþŸvŸ¶:ù% ð¢b©CIDמÃôÈ‘”£8Î`qû>5jÙâÙâì»â{²Þ,zÐHLLlÎvð’’A|}}ý=$,|ÔSýîæ£Î`rºxzÅÒWÊÄYåâbçþܼ÷Ôu;ÞÀq¥EÅ®­€¢ŽyùùJ¥2..ŽbãxeeeAAYSj4½^ß$ßJ¥î„a(†át:C«Õfdd8î.‘Æ_øò—ÌNœ$¢\QæP"ôi7qÄ ¸t‚át&»sÏÈw–¿®.Ý*ÕMt©èJ£ÑÈÖa.Y²„F£¹#¤çSÛwÿ£ÕhLVÄÏ?@ÈçºëƒõÇng£ /_3sIäÐaÎÙ)’“ÇþÍ*,²ØqÅz÷ïO§3ètÅ’F£Ñét²2‡‡‡¯ZµªI[ðÈÚÌšsÇÄ¥æèMV¾Ðßd±Á`Âzòv𵡫µï5âÙf9”wðÓŽ=z­Æ`±ùøø y®AµV§«ãŒ®û~|öìÙn}#¨sŸo~ùà×êMV¡¿Ÿ›™›NÜÎlÄÕ£g{nªs‘ôêòÿŽOÊ™­Ag´ ¡Ñ©Êì(…o¯]»¶©¾á– 8f:vðvJ¦Jgâ |kª«€#_9›jnØò‚{½¼`±C‰Çî6ÿfÒkµ _èëï×xºáa³÷[å†}òÚD>§v%*‡ï7qβ•¡>GE)ÑC{t`1êÍç6Ðjµ7gâ}Àíò·ÊâôùSGrÙõ+i™Ÿ·âEÿwËúà{Á95xìŒËÉyÞçØ!¶*°_?œï'¨]›Á`ñFM›Ÿ.U8 à²ÜØ)Ïôå°ê'k E2Es!ÞÜ.BÔTI>xc*ŸSÿI‰ÁâÞDÒ222 Ã!C¨ÅºwïN&¦P(ª««‡ BAW“Éäïïß³gO2%2™,))ÉcIœîñ×·oß^½z¹M îܹ3™’ÊÊJ©TZ—zûöí6ÁT½cß±_õAçߺÀ£¦F¾gÛ¯ç¯'­v:ƒ1`ÔO?}×5XÐèѬ¬,Šú6zG«T*’Ô­@„¿¿ÿ Aƒø|>™ ‚‚"""È”TWW6É7rrr¸\®ÇG|||(|266–Åb‘¥Z­VŸºTêÞ‘i³Zb/þ'yåµqo¾Ð(Íßß?<<¼GkÌb±¿.µ]»væ®,žØ¡i­M`¢¬”K—.§f‰X ꚚÁzé…³}Šò3.^Œ¾›™Oãø¢lj6UÀ›±ñÚsXõÁ ³ÙøÅª÷OÞÊt.(ɆvmbÝñRIÎùóQ©™ù(ƒg±ã¾|ôça{¥¼ðìgïfäZq&G€ Þ.›aÒ™œgg¿5eâÀ¦´rr÷_ý°³ XŽQ#¼ãû°îÙ½pxûßlÍ—b 3˜/ÍžÕ¦ÊØ½sãõV‹é®¼’hг{yþË£šT÷ëgö®ÿâ‡Ô|™£î4:ã…™s SÔ½Ç.ýä_'fIÐ{ööôÓÞÒµÏÀ!+»t-唸ë‹D"סieöÍe«¿ÒÚ1§÷)VQ^J¶ÒÈy®_TTD&&“É”JeFFÅ`Øl6ët:‰DâïïïV@.—«T*%iTM6›íñ«ÕZPP@¶`S©T––ÖZ ¦ aÅ{Ÿ•ëëÃ08†jµÚº,Èb¹¹¹‚4Š¥Y­X Om°8FËÃÆOÿèýù’\×íÅååå4ÍÕh*IêÊw?•Ôèœ}CY]áѼԭ ‹µZmVVÇ£˜»ªÕj¹\N¦¤¦¦F£Ñ4É7ÊËË>I-f4Åb±¯¯/Yä‚Åb9”hdÙ¾¿&«´ÆÙ>&“±. ê áÌÎaþúšR…Âè6®£T* E£×ç®cQÎ\°„íG¿ðrcIlf]ükÉ™¹z“Mè¤(/W«Õ®bud6›Í.‹1qvêÍÛ %ÕUVZZQ£$SRSSc2™ÈRëJrÒoÞ¾S¢¨¦±¸ÕÕ5Ó¦Oõô@¤¦¦¦>ÔA ©q7îfT*5¾_eUe§ðp…B~ðt´3WLAè¸ç×eÑNÞ¨ªªj´âÏh4Òèô/¿þ†Çã[ìX`pˆ¿€NGÝZF¯×»kJâäùËÒšçf0ùÁfÏwU‚¡–„ë1ɹ*‘ï Ñê|||ÈZA©TZ­ÖÊÊJ—¨/þÿí]yTSg/y $$$Á°ƒ‚aQÇŠÇÇ­Zµ¢­ÎÔ)ÎŒz@ÖqŠµÚŠ¶êX¬z¬ÚÎÔµ¥çàq© P\;[¤, 1,ÙÈKÈòÞ›?¢B¨3¾ßŸyï}Ëý~÷Ëýî»÷¾6~Cyå a»Ä„ÄIPx¸½F …N§l¡Ñögå×[ÛÄ@Ôhuqq¼A¹¡×ëåryßmÒPýÓí{žwÈ Š—J¥ž:e²ùjYŵZ‘Ue&ÈÓÎ;kzŸ¤êÈЃ‘Òã{hTJ¯w‘Œ«×o‹$ê ˆñ󤼙4éõ§§¦öò»Rq£µS:vîüä…³ûÏýûýÛ?):ÕcÅ ŒDöéÿ\WýHªÖŠÄ¤§µWßܸáuíV—¤"‘ˣ塀½q}^Hî 7ÌÔÒÔÐò¼“Æ5XøŠš*¿ËÈ*ì2¡–æ®ÉøB“ç/?yÆûrY%_$cqÃg¾¹`éü$èì]‰jArò»Y¸< L AÕžâ›Fkwè´åéq‰Óûî1t}U´gßÁ¯•9™+qn*‚b}GWÌtä|…®’¨Ë6nqÙ ôå…ÅÖºJ¢r–mÎëçÐÝø¡x[ÁÇ›ž£‚:S«7€¡ºýÅ•–º {ì³V¼ÿR@¤¹Kþ4gÑJòùÿUXhÆ‚åIo¥b˜Ý¹cˆfoñõknŒŸ±4iQj7Lšó'¿Üµ»¨^(Æ0 ÀØ)3á£Å{ìûk·ë;6†÷²Í¹.{JnÞ©m“[[ªŒåYôßÄkî•goο_Ë7¢(‚/¬à Ÿ_µÔUúiÁÞã‹cðƒª›âÎNr¯`&q™T IÓc|a<ÐÙÍÚ>…Ú•\.wT¸Ã&Žaøx’»^l •ÎZ½ùÃi\’Í#÷KOnÎýD ëMˆCTr¹H( ábòûÖ5Ñ`D̶ƒ•»5?̳G*uªÜV«uµ’Ëå6…;T*•Á`P(ά¸F£Q«Õ®rÃô‡(6ÿ™Ðˆ f[‘_ÿw:K¥°ùï¨ììÁüE’î>yÖýòó³– îm&ÒßíëÕ©6 ¤xû®\ŸŸÏvÀ ½^oÌX8Í—CójW¾hÐ˺"#oñÄ@›G?([ŸžÝ`¡Øpww+¿E*•špŠ õLfÆú2ƒÒó>Ч”•c¿ÔÚÚz÷îݯ=}ú´ªªJ ¸Fˆy«395ø‚6”H ‹ˆŒãµÖþ·µö¥ÑÒѺwŸ•®àu¥´"öYO˜ø†Œµ MO•Ý=LNH*µ_¨J, ‚K—.ÙåŠ_ÈúŒu MO]:&›;žäQv国¦pëǹ•äÉü¥¾Y©0qæ†u´†&¾Öˆq¸! 4TqÙ~§6ømKù†ŠŠ ›]†a±X\UUÅçó}¼®®N"‘èõz×zOH^¹.8¦ñÉ3@ↄM˜ íh¾|éE)Ém×Îmû¥:+'<•|ëνº_-<ÃumFz}C£D©¡1ØÑãyã#ý¯W”ÙëT¥R‰D"Ü0¯5éõ Å ƒÃãE1oT^µÙkŽîÝÝ`ý'Lö¡5·ËÌ-cÜØÌô5›ùjØÀê9ÏA¼Ð(Š"v““óðáCdx0™Læz6h®½Çñ¶JÝbG½qõþcÍ8Ó]cc£Ù_å̸ì^3vM eZÌE§+MÎMmP˜K„®«©ÿºËd²”””G93…\¼xñqC%†úZ¥¡{„[þ³ƒvœéN$­ZµÊÉÙç†fÉô Ö8=ï³ÓÆææ‚LŽ;æÈÕäøp‚ ƒ· ÃAxTÂûw>¥ìÒ‚9fâŒÜüìÙScÃ;è™G;Ü1|ú׎½‡Ÿ;1b]¿%ï½·ç#Q¸Ãi¶ÿº›…æäŠ›EÜðõ š\þ¹¿Ë6¢zÝŠIEND®B`‚nted-1.10.18/doc/docimages/triplets_with_rests.png0000664001041000007640000001510311520267216017065 00000000000000‰PNG  IHDRb5 +vsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ,:“ïv tEXtCommentCreated with GIMPWžIDATxÚíy\ÔÕúÇ?³0 ‹€ˆ‚KB\T 1pI¼b×Ô\ëjÅu½™¦7µ¬´´ðš¥þ,—JMoRyM+qKÒ´L33½¤¸+bnÈ";3ÌùýLhÌÈÌðáó~½æåÌ÷ûåÌ3Ï9ç™çœïsdBB!„ÈéB!„0@ „BB!„0@ „BB!„0@ „BBLåÄæ%èú¸¨pv÷F£°fÏot !Ô/a€@+IžGØ„O1nù.äãçUqlßLˆ‰_$ÑA„P¿Äd,”Dì…ÁÍœ°'§-Ãç"ëðm.äžG÷GQšwN"„ú% HcÃM©@A…r¥;*4y€(‡Lî+\Q¡- “¡~‰‘pŠØ ë¦ô›«úOûP^xR®ÉSè B¨_ !À•"ÐvH ä |Ÿ†!ÍèB¨_b$Jº€Ø ß|‰Ÿ’“ðÙüpm†¥ë¶b*ÿs!„ú%&Á)bwܺzùÅ2x¹:@Sp ?Ç|„ür:†ê—˜§ˆÝ’“ðš½ pôè‚]¿ÅâñæNt !Ô/aÁþaa‘šè ­îzLÕ?/Ë;‰ù”†P¿Ô/a€`ÿ°°H5¿.›gG¨›câŠã•ƒ[ÕÒàšìÓ 8hõKý#რÃÂ"Õø8*q½¼ plmi& Ê “«õ×(Õ~Д¤ràê—ú%Ì Ø7Gªî\[Yí)\ôç45î!n <ìâ îÑal¥ŠÎ\ãÝs> ¡~©_ÂÁþaa‘jÖnœ W…žFãБʅM æèÏ«=Á¦˜‘4„ú¥~‰‘pŠÁŽhì…ErÎÿ€ÿ[ò1~8’8èð{r¼Ú¢ÿßÇ`΂×ÐÑMÅAB¨_ê—0@h|8ÂÂÂ8Àõ[‰‰‰X¿~½¤lš>}:|||8À ['==#FŒÀÂ… %aÏ®]»ˆ©S§²s©ƒï¿ÿÛ·oǨQ£$aÏ¢E‹°bÅ ³sÌ€’. ——ú÷ï/ [’’’Ø!„˜@@@€dô»nÝ:vˆ±úmÑïXñÎBlýÞ'„B ¹¶ §o0f,˜‹§{·C×sq]£c/4b”J¥Eç ÓÓÓqíÚ5£¯wssƒ›››E?sFF²²²ØùÄæqvv†‡‡‡e~LjµHIIANNŽÑÓ¢E ¨T–[»¡ÓéL¶É–±Ú„Â+;ðpû ¥TkØ¡¼ˆ¤£ÿ›BFµ³ãëë‹àà`|÷Ýw’±©sçÎpwwÇáÇÙA„üIpïëë‹ÈÈH,Z´H6åççÃÃÃCR6Ù|AT`ü_Ÿ­Àc«Ñ{Æ^ªBilÂÅÕÓQXý¦J78Ȫ3çV?}yeì B!¤ÑºRLzë¨þeËGgàÒ­ldZWEåÛ‹ŠÌZz޽A!„H‹ßæ˜ûÛÛøßíÊì€s‹'qlßûh£R?‡µ}ÞÂÈý€”¯6ïu“œƒbcc±råJމŒŒD—.]èÒ lܸ;vì #Ldýúõpvv¦# X–‹Ë«‡MþvMepPEÏYª¡äÖvHÎAéééðóóÔ)S8ZŒäý÷ßÇÕ«WéÒàœ;wèÖ­a$#GŽ„F£¡#ˆå„½{3.ÞcñA˜·Á9·vب(“îЧ§'üýý9ZŒÄR·=r?´jÕŠú5µZM'VXƒ“]èµ|~í7“9êŸ*[²7!„Æ ˆŠ|\(ªLU}ò”_­óåyÉúçNžÃ$é øùù5êA²oÏ>$&&}}@@¼¼¼¨."..qqqv÷¹uF+//ûöì3©XX·nÝ T² ¿=òË/¿àüùóF_oÑQ -M×?P­¨u>cGŠþy›¡’thß¾}ý 0xúŽ~û7®5êú‰'R‰6Æ /¼8{ö¬]}®Æ>ÏŸ?ƒ`Êûk5s’Q³|ùr ÂN>|8†Šèèh)d þôüæõÕ„a3bïI˜CÛ÷"³œe± ±E>Ÿ¿‚ú%&cÑA&¯^c ýCAçÂŒ/°4ý6@åÚó¸°MÊhK31à•Ýt!6Hyáê—H+@P¨ªjjnù Ê1kàkú—§EÁ‘[1Hž‹kžÆ'—òèB¨_Ò¸ç„ììl8p©©©¸vízöìyÍW›¶~&U2%mŸO*wÃ’+ÝñÏ |ýu{CâÓ{ô‡â“7àa#›kãêÕ«øúë¯%cS~~>4äl )›Hý©¹¸ØÖô›­ÿ R—ÅÅÅ’³É4 ÒÓÓ¶]ùgkĈú×ÞÞÞ÷e“\†@br2š)å(ÊˆÅ¢Í úó­‹ŠÌ4¤XÈ!¥7/âÌe-ztæÿf ,ÿþýþ7˜9"Ô&ìÕjµ(..FJJŠdl*//‡\.—œMܦ¨¨(„‡‡#8˜z5ÜVÜ–ô›——§ÿW*Z)--•œM¦ ÓéPXXh¼íâ>|XT¥ÄŸ\V'}=Ô€8œ_&Jnþ,rvзéä5PÜÔTK¡-Iáj!“9rÿÔw³^µ ÛÛ¶m+†*)›‚ƒƒExx¸äl –„ÑÑÑ™øãÿ㶤ߴ´4@DFFJƦ¼¼<ÉÙd îîîb̘1F_oñBIáî*@òí <ÛmŠ+ë"Èä*,Þ¿^JË™ðÙè~ˆÍ+PÁŸõdøÀÞÜLÿzÙ“ÈâªhBl‚·§§~‰ÉX<@x¤µKå€ÙÛÒªo{ìóÎOx¥³§ÅÞ÷ò7SðâŽËUY ¡¾´ôï„ïOg`ËÂgá —¡ìö ž}ˆŽ!ÄèÐýqê—H/@ðù[ ÀÙ£7ôÇZõy?Îím±÷,Ë;ŠÁS¸}´ùG‹#æ|‰„ ঔãüÊa8˜WF¿Bý¦Ó¤}ƒ×N^ýpð‡· ´Ø"Ú Ìð†mÝÆÞµO¾…ÓÛ^* 0qÊ^:„ê—0@0¢Ì]òbu}w¹ÒŸþ/jËUx>³j¶´]„Å}¸ù“%ypØR윌Ԙgqªˆ[ÃBýÆþŽ/ÏÀÈn£‘\¢Õ¼ü ž p·`@ò ¾} {¾Çžµƒ?ü]J1%*‘Î „ú%v†Ñ?å—,YbRÃÇ£—âûkEÇÚæ|%KöXäƒQŽm¼‡¯aûÊëm?1äÔ©Swõaï¾­ñŸùÏaIÅHIÚ}ûöm$''KªÿoÞ¼‰‚‚ÉÙ$ܼy»ví•+W(:3pùòe¸§O¥¬ß;uâââ$£•;u¤d“)”••!!!ÁhÛüýý6"ç܈9—Sëx†gk<æíl‘ž°y2ÚOÀª!õ¶ŸÔÆÍÍí®>ômó*d»f Äg&‚œ¤+•pvv–Tÿ«T*¨ÕjÉÙ$¨T*´hÑ‚z5w `Ý˧RÖïJŠ’w*)JÉ&SËåpuu5ÞvsJÒ_]›¨ þ¶SKg@ôþâ7‹ÈMˆMÜÃDr‰öž~Hý %M:õžççùº‹á±Y,”ÄBI,”$ÑBIæS©ê—…’ì°PÒšq¢ ¼:B¶›fu¤mJµHTtdÜ<”‰, B`` þQ“ÀÀ@tï÷)RX€C[#eg&AõKì³W½‰¿K¯Nº†àÇMÿB«•uÕsÎî²È‡züÊòÓ˜˜hð¨Ibb"ŽïŸ|ßïQ‡è [pþVýî6W;R¢å –È=•K¿ÉBýR¿ÄtÌv¿¡Ðæá¹§V»aÚ;)QÖj4€µ(¾¹¥ºUPËmËI%Ùß¡]Çá¸^^—Žø!ý$úyªõ翈uÝc°{zUÚ‘.¾.ÐiÔ¿:Mþ·ÿN]HBnqܼZ!´×ã ê)ÚÔ¡~mS¿­ü’œ~Û?Ö¸Äc®5çW>fp}ÓÀ¢z¦ ÑÚQ!ˆ7Šd“¡úp~yƒ¶:¿q\.ã§B!“‰UW ¬ÖŽÔÖ \BŒ>Ø þ­(¿.¢fmjlVóá vbUÕe“£«§èÒ³× Xi BcÖ¯1k¤¬_bÒëoHJ¿ a“M¯AÐioaôìXƒcóv¾ScþBŽÑÍ+ï^Øò{¾eS‰Kôk:tè Ôg ‚wŸ~¯eJ 2ÏaõÛ4hTžCñRW«µ#5òòÑê‰V÷ý÷÷ë—â¬ýÔ!S}‰Œâ»{Ñ”â×_S­æ cl*+ÌÁùóYüio%¨_ÛÕ/lÚ|\Rúµ¶M6ŸAHÞ2ÔàZï°k]óã`_@xu,ž|bˆòäSbÂäbÅç1"%·Lò‘×Á•/‰ÖÎJ@¨½š ™ÜQ„ŽoyŠ9ñVoGJ„½C|ÅŽì«ú·¼à¤kª¾g„_óa­í¾M± 2%3V¼‹¡±êט ‚äõ+WKN¿Ö²©¡3²ª/€ZÄÆÆ¢wïê •^xá…{±ÑëP£\g¯ÑãÔDU„èJpjÏ7ˆÏ(ºëßËä*´íŠ^aáªI7˜Ò•ãÖlhd*xxzB­(ÆÏ7 ×?'Àß„òÑæjÇZ|öÙgx衇~×óû¿=‰~úXÕ¿—voÄÁŒB£Ú•+Ý1éyË‚1É&…&M%™>Þ¶­rï’ˆˆˆ·#$$Ô¯¸vívî܉¾}ûÞÓ§’ׯƒ&MxZZúµ’MæfýúõhÛ¶-úöíkÔõFñññwm ¼àWüõ±—ô¯Ýüÿ…Ÿ·Vß-Pœy3§ÎƱ¬â:qò Á¢ÏW"¼•ùŠ)¦ÆÞSexfx³;ûfü¿ñô5ï}[íXŠnݺ!""‘‘‘µSr7¶a{áŒõw³šuÚôþë@”é„Qíô~û,ÿ{[‹úHŠ6™Â¨Q•ÁÊæÍ›ÜŽñãÇcРA¯Æ ßÓ§OcÒ¤IX¸pá]}JýÚ‡~¥OŸ>ÇÂ… ­3ź½ŸÁu¯»®?Wtu·èp—…-|ý„§Ë]S7ª&¡"6·Ô,émI²÷P[,ÅüÑÃ^â‘eç$ÓNCL1”\K·ØûÞË/š’$!—ÉŒJz÷œ)Êu–÷‘mâõ[׃ÔõÛ¼û4±bå*¡Ñh,ê§+—Ú´~-5ÅPïaïÀ¶5¾Ü1pÜôÀ¦UsÀ2Ñó™)¢§›ce‘”+„";9^|0}˜Pü¡cš‡š§JÕêá~Uï/7ÿBÑ9ᬋŸê̘«†\ƒ`‘/Ü:ü²²ë:…Ü2|²H+ÕZÍf)ÚÄ¡qëט5R×oRR’2dˆ8{ö¬El=vì˜8pà€MëW²»~îúk:N9¬?^˜Uõ嬑ۄBDwn.ˆ°U Ú8³nb­Žˆ<]/G¤ÆL¶h©å¤¯ú ·¶¯K¦{ êòKEùu±`âá¬×ÎB¹û‹)ïnÅÖõ“mb€Ð¸õÛP‚¹õ{ñâE(æÏŸ/ÊÊ̳¨½¬¬L,[¶L9rÄæõk©¡Þ+jRJ« l¼0§z£¤Ì=Ñ¿á±è™Ž€ö[go"mã%`ZuŒÎãÿ‹åëvcÆ¡«úc_¾¼‹Ýß"®²¼£<åœEçr¢æÄ#t~”dÚ1Ë<œ„ ûÔå¹C Ìýï^¼ùa:†”¬[®ðmŒG{u†³Üú‹]¥h“”û¸!i,úU:{Ø…~qðàA 6 k׮Ŝ9s0nÜ8¨ÕjÓý¤Óaë֭صkÞ}÷]øùùÙŒ~­®óúf&·t„Ò±ÐÔ˜^ˆÐAóSòõÇ2UÞéÜ|D­vn§l±¹†ÜgŒ¤‘Ý[ˆ7dY,ƒPrë{!“;Š“å’hÇ¿|ë* 2rÒd«Ù#¿ØÆojÔ©Qd£~—|þ¥]è·¸¸X¼úê«B©T OOO1cÆ qøða¡ÕÖöOMM}ô‘óæÍ3[&–t.WªÄУ­7Ű* r‹÷sÇñ@\®1_SùQÕ=¤Žâ¦¦v®æ‰fNïy£Üô|Îé•CŃϬէÆ- œx+Dxu^.™vêCQæOâñ›Ô9÷æìÝÓj6IÁ/ö„±}¬tnÙ(„ƨ_vcìJ¿§OŸáááúÏçéé)ú÷ï/^~ùe±xñb%¢¢¢ÄܹsÅØ±cEPPP*•âùçŸ)))Zçj¯PëG'w¬üia•$®é%ˆ¯®Uÿ¶/M×··<£véÍïþf¸H$¥Ä´Å …1ÂÛ£«¸T¬±`€ }=ÔbÌL‰´sÿ˜VÄÑJV5¼_ì ÓŠ7)A€ÐHõ«p¶KýÆÇÇ‹iÓ¦ Ÿ»gÆE=IJeËDff&u™Let»F×AèÚµë]§(´%Wp&á S"$ôaÜ©s¤ÓæáÔ™d¸ú¡C³êy¢ÄÓ'QT!Ð$ íÝU¨Yp—²K«*4(Ð¥KŒŸõÑáòù³Pú¡MÀ‰'ê´ßT*J³pæâ-t †RÖðíÔ‡ì¤sH»]n\Á … º„ZÜ&)øÅž0©åNèÚ°ä$$$ÀÇÇžžž’_¶¦_¹Â ¡!íìZ¿Z­¥¥¥Ðét¥R '''Èd2êü~ÿ/¯oA§ÍA.•ó/Ÿ¼ap.jðÂ+ø¿Ç–ú{Â?âÀŸfš´™eRõËœ0áÿÏ Ó#È \ŽY$f/Š“L;õ™«rRwß/ñÄç—¬bWCûÅžj7dú¥~©sãÇ‚Yöb8>·kÕޝ‹š«´eWÄø° †_äUkܘ]«AžÕ)’_x$7!J4qɘ’°äm޶ޭö!öÙÇÖ,”ľ% ŽYvs }ë[tm¢Bn⇈øø¤þ¸BÕk~ú·Áµm†·]_mÉüä°'§rzAáÐk&w0úýŒ›‡2‘…!!AúkÝ&s¿»9Ú#JuVô«{·–á“qìÀb80ÝÏ>&ì[ҸƂ92B‘ñãU‹ÙTâõ¯Nßû×þï3ômî¼Uµƒ˜®TÌ|ØK¼ç;æIQ1ƒPwjÊÞ ƒ°m«™A ~‰tƂыïq™1SCñÉÈd2 ™ñ1Ö-žŒæ†IŠòÛGàè^¹+àÈøëˆr=È—žÇgûÓÍ»OEjÜÇp1CQŠš‹SŒ±¿±Ržoû…Aˆ}ôqçΉ1cưӨ_ÒÀcÁ¬t%x\/¼} àܲ+^›3Ó&‡·Zqç"´rTájyš‡¢øÂi”éd2LYŠè•ÓÑLi–™„Ø ‘ró¶æ„YNâhô{èéïŽâ«'°pZZ»·@ÇaäèÑ>t Jª¶ÔÌ=w e:N&`{|&ö¬~­ÞÁAAÆý„:è\ƒ@!„Òö3GGϹC»óínÄÆÀo‰ñ8{4¥åZƒkçþœŒù›í½›´y‰‰o²g !„zPïBI÷Cqf.^+´ …·JΞ „ ;;®®®÷µ !¤2ñññf{ÓäM}0æ  Ç{±-´9{‚B‘ òÓÝ­cuÕ¬¸lö!„Âpl¬žs<‡½@!„H ³.R̽°K?ŽÆ™Ô[ðòÅs¯¼~Ük]§r Ñ?¿}é6{B±×¡øêV´ƒlMEÕ‘°qͧøðÈE¼ÚÝpB]ã®ëB!RÃlS çÞ[P#8¨¤Bs ³7Øs4…Õû5x„4e/B!ö $ÜõxÉ­ÝØ–]bp¬(k¯þ¹gWOö!„b¯‚O?Ÿ{ž+úÃ4Âå úçþa^ìB!Ä^„ÇLºëqµgŒmîlplmt*@&wÂþîìB!Ä^—–ÿ¬@Ãõ­C†b˱¨k¼KîÅeøôjaeöà_ “³’½@!„Øk€sw·ªÍ–¼B^Ʀ ŸâïqÓŸ/¹‡QÍ8º…a÷º§Ø„Bˆ1ïvÏ’¶ÌDç1ËPZµîÀÃ7a!á¢ËÅ¡=¿à¦¦rO¬>‘„ÉÁ\ H!„H³ç÷ÛüI>=á5Ħ /íö¤]ПwlÚ Ë¶ïep@!„H˜ÿäº2¹äÏ(IEND®B`‚nted-1.10.18/doc/docimages/ins_block_dialog.png0000664001041000007640000001207211520267216016230 00000000000000‰PNG  IHDRØ`ðÛ+¢ pHYs ‰ ‰7ÉË­tIME×  41¯F(ôÙIDATxÚí]yTS׺ßgÊ$9@‚Œa¡ ˆm¯u,J½õ:T}U¬¾Ö<‹×Úµl)¾N«Ooµ·Ï·¬õÖ.µø¨µ¶X|Zá^KÅqE!L!@€ÌÉy<’0HBÜ¿uÖâdçûöÞç;¿ó}{g³ƒñIÉb$PüëaN³pѪ5Ð"#ÈEœf¡¢MÍ1"Š~ºÇ# z´ÄÂëK~ó÷°ˆD"³Ù\§uóïP³«­‰£ºYßa ÚÑeÐÙ¡2t*bcC¹\é“„bx¬GQ€É om¬‘„=’çE«•uݪæZ/¿öCÐjT•BäíÛOaÿOêCÉ»¦Gd1áóÔö2ÿùM޼C-FÌæ£}+6¡±oÃ9>•×r  (ÒV}•HM@–Àá» tIÌ)åë%üû;‹K«<ŽÌ×óBéÝ=? Ýxk—ΔP4µvl=ðk—Ö0crø‚i1žBAS›æà©¢²»M¾Þ¢/þºèÚm¹È/rçS˜øTØÉ=Ÿ,¼yäÌv{^¤è‹ «Æù^¼Yó]Îy¦E͘¾hæDÒCЬÒdŸ¹r½²0%&tÑŒ‰Ò£½Sû?‡òÍ+-Ïçr6­™/%=¶øUÕÑmßO—%"Š:d•×/DLšÂ–w¨õyê‚wøÛÛóûÒꋈŽc¼@èåœ`¨+Ò,Æ F%:&À'hÞ…±^ÿ8trΔØi±cŸþ=>&ì©1_Èiim “µ5Ü3éSŽç_Î:~*=ååw–Íüë–,ºž‰áþGO*ÛÚ[ZÕÿõî¿×5*?#oléИÄÞ~LsñÆeåœÕêôÓbÇÞ(«¬W›è¦£Âß\ôÜÝú–ƒ?ç­øËÌu/ÏXÿ÷C¾>ÒÿX<­U¥ùGfŽ›€«jºçFŽþÑš¥c<…éÛö•Ý®^õo‹lúÉù¡æ¢±¹qKS6²?þ°{ ûæÒò6Z}›»yÍ<ÃBº­‡ðˆ4¬Z••Š•¸s8Â|hì*D篖Ÿ:{$E#C„<´A¡,|þé{Mm¥U : 3Ö°pVÜÂYñôàÁ“g¦¬ÀÅë»渉<éñ€º£« ¸ÂC,á <¬V+†atk…WÊŽää•VEÆEæWù¯tó ãÇöÿpòâJ1éùê‚é¡Rþ¸p_€oåü^\æ&ò¤(*Dh¼0-ÃÐômÿ{³¢Jì¨ìè¶é'f1a×t‰µ½°Èøivƒ$„‘GÄ^ë£Ý'7§¼Èfa¯J~<"êØ#v4V™UwÍ|©£5ƒ[»Ú<$èlàÝZžÀ'4M/^¯Üb2G’±Qá3¢µZ=‚a€¯üTz«†æ²BÙáP¶µóîž>P÷‡ 8ß]ˆ (†áúà ã¹¹ó=H&+ÆîEwO—O²{"¬‡§”ç&¢(+‡Ã¨5Þ¤hF\TUc—ïVZݼ廜È@O¦Ÿ7åj€!ˆ+2Ñ¡¯ê§„‰Ë62›ÞšËv¢ï9eÛ Šö•GDí}WGgõE­—Å%yFNÓt麻»Í&£úVA×íP¥×áàyÙLŒ ð“Þ¸ÓtñF%€™‹K«s§'„„†Nš<éý5+D>A‡ÛÓQœ@PŒÃs3˜Ìþc¼g=ãã%Â9<Ø枋‹^”øì+sŸ\+¯bÚ-.«¬\4{γ㓞2™-WJ+/—Ý¥(ðÖ²“þ³hÖäðà@º­Ââ›?9ÿç™O/~~ÁáNðÃî§AÛ… ØÀ—? û¬ê5Ÿí¯u Å° ë›ÞšÛkžŒ:àIŸ¡Ùj6uß=Ä/6‰àò I€eÜ4ÝÝB.—CDWõî„9ýdzUÈ:g'ÆG¬HJ0[¬E¥wòÎ_Åøä®ïÿ¹pÆÄo.ìÒʪêÕÊæ€?ö¬A3E•sÂÓÞ\²ëûü å 8‡Ë4W\ZùÜäȱ2Ÿü‹7þï·¢qOõdó«ä»Žþó¥™±o-™Õ¤lßžq´EÕA 4;œyiVì[Kf©;µ®ÜĹ=éþŒŸ~ó#Y1oºJsÊÄ„ˆIñì~RV«Kíç³ô ÐaJä~Fq8 ¦YøiÆ™Ï^Ÿ(/:ýìól-Û:éÕ7wå ÛHZsÉÍ¢nAü|Âd­•·/Èj¥¦µQ, ÀpN‡²Þb2<>)  ¢]Ù¤×j,&†a8—ïåDY)F—àðÍ÷* Ú.в’>B¯1ôó`Ðv6Õ”ó‹ÙdÔóøbi¬Š{·BO±Ä¯£µY¯ÕXÌF çx>|w!N*…\ßÕi1›0óö EP¬ù^…@èéáé£VÔuݤO†í-rv? Ç9®GDM[stôSì’›òíÅÆÿ)±ç /«zéK‹³ùHk1Âíʆº²"fŒØ‹¡ÚæªP/âFßoB Û‰I"žÕÈ‹âƒ,‹H£¹ÝZë& îëªp‚ }¹Áç“>2®À Aw‘Áå>Žãˆa‚¢8Ž\¾XâkÔ‹Pœ é… 8ÎÁ]ºŸb©¿ÅdĈ•²âÆnÂjµ (†áJ`t!Šáb‰ŸA/¢›BpùŽ‹%þw-†ã‚"Áy\Z'8bo_ A1 ÇpLìÓ«Ÿ8ÁÌŒÍÞ¬L˜2g Š ¨eó‘Ö8}cèl• ºïÈUc¢g!h¯„`(% 5ª#džtvvR5u5Ý®»Øa/1 %}ÌiHæœçæAŸpøî6Z\Í]6غÁýéH¯+Á¹6böº\]s|wnï>0òÖ‹y.ßã Éhƒ‡zÀèiÊдLßt+å·u*~PNpí+á¹ ËTÝõoêõz“ɤ1i¥áñð-­k@à!./¿egûBYY…ÀCŒ ÈдöˆÞc –ÀÓßü10xð|7š+ƒ滋hù¡i=\âIÏ̓8=n-D왣hÔðN@ ßH@H: ¢V£ÞñîhˆaÃ;Ûs.ˆ áÀ]òªN:å´}›;w.¤Ý“BD@r²3î]AQT{{;¤ÝDDú®[[‚ ØœK¾ŒDt:@W÷Gàú“•ñCféÒ¥ ÜÈqä`±XV­Z•ŸŸ¿jÕ*‹Å 2t"’$9`É Ÿ@¤¥¥ ÒÒÒ A\Í#™åÙÙÙ‘‘‘'666//ïq÷sÛ¶mêûضm$œ¬ô 77÷ôéÓR©ôĉË—/omm…7~ÔxÄÏ>ûÌÏÏ/>>¾¸¸˜)¼~ýúÔ©S%ÉÔ©SKJJ%%%3fÌðööf»«³gÏFDDdff2%6böõ°Õés’$¿üòK™LväȦ9üE8p@&“¡(Ša˜¿¿ÿc2å©Ù6P]]™™¹~ýúÂÂBºpíÚµ¯¾úêÊ•+³²²RSSÏ;—ššºråÊÕ«Ws¹\&nÛ¶íèÑ£11þÇÀF̾‡}‹Å·oß.,,\³fZ­&IR­îY–Áœ<ÔÜ™$É“'O>&S._¾¼ç̱;KrƒþŸyK{ÑI’MMM<O§Ó)•Jš‰D.—óx<­V+“É”J¥D"©««ãóùŒ"Aœ3§×êp1ûz’Y­V///švmmm(ŠÒÕÚq@甜œLg˜™T³N§;qâć~xçÎÇ‘$°o$IÂ7+lЋ”õÕueE}†æÃ‡ëõúC‡7Ž) ?|ø°N§ËÊÊŠˆˆDFFîß¿ß`0°×®]{âÄ vm6böõxyyåççëõúï¾ûîÁ¸¡÷*I‚  Å.øÝwßU*•t…£iŒXWWºk×®¯¾úŠ)üúë¯÷ìÙ´ÿþ;wvîÜ™••åëëË Ú;–žžþí·ß2Š6böõlÚ´)%%%""¢Ÿ$ðk¯½;„1bLLLll¬X,þâ‹/Ž9ò¸mºaÃò>6lØI6ôÐ<Úá04?^;²B³ÅbY¼xqAAÁôéÓüñGìþ@ÃÐ<”Ð 1d`–™™™˜˜˜™™‰¹èvMÃ7k†ø# …?üð´Ã##º †s1ôˆN10…F€Dt€áœ &Áù°IxHD‘!œ€ˆ®b†!_14,_¾Ü>Xá}‰B{AŒ°Gœ;w.LºB 3`Bb“ˆÅbh&{8\ m5x[=4ÜÃÀý¤Z¡­o+š!àÂéá¤ËÀB‚í kªïÁ‰8| Iòäùïés]·®£]Ðéô!aÁ‹04Äž"€,$°QÞÜÜÔ¢Óéu:½¢±Åõ¬Ïlåc_‰è,¨­‘³7pIž[÷Þ¾©³mhG’dîìO—ˆ5UµÊêÊ+þ;**¥¬ß@¥Y˜¿âõ!púÑúÔá œ…ˆg'|>Ïþ‡}Æ÷Þ{O&“Éd² 6F#Þºu+...##Ã9Y¨V«çåå§H³PßÒz^ÑØb^^I’.öOƒ¨“°pí†7침ÓéûÑÚºuk]]]qqñåË—kkk·nÝÊþ¶  à•W^Ù±cÇ믿îä÷€vŠ +ÚU+-îg•Àž={æÏŸ¿wï^HÄGÌÂC¿ìinl¡Ïíé¨jU_¼®ÑtÙ”gggoÙ²E"‘H¥Ò­[·fgg3_>|øÓO?=~üøsÏ=çÌÖgœbîì¹³è[Z[ôÚ÷ŠÏõÃÂÚÚÚúúúŒŒŒÆÆÆ{÷äì7Vµ)!Iòƒ>J¥€ÊÊʤ¤$©TšpéÒ%àhÃUö.©UlvRÝD¤YØ¥éã'}á/ÏÓÇÜù‰G³~¾zéFéµòúÚFo©×KËæ57ØnH§P(‚ƒ{XÜÒò`Z––¶nݺ   QçVŸËëÅTFFÆûï¿ãxZZ{ÔAo¬š’’²~ýú¾J&MšÔÔÔxûí·W¯^-—Ë·lÙ²nÝ:@jjjrrrCCÓ:½KêîÝ»?þøc‡*ö2ï&‹ÓÒ&š…µwåV«õÁ“ÁÚE³ÙR]Ys½øæÕ¢6IĨ¨¨_~ù%44PUUµpá²²²ž—ŸŸœœüùçŸ/Y²äqôœÞmÌázć²Žéóòrúg¡Á`ˆŠŠR©TŒzEE—Ëu¸±ª}‰R©Äq ‘HÌfsD¥RÙo¸j³Kª½Š½ÌCÙ 8Én`4 å÷êÙ,XYèPk.Ÿ¿zír©= /¿üòÆ•J¥R©LOO_¶lóÕäÉ“þùçO>ùdß¾}Μ¾a³p08vìØäÉ“™Ÿ,ˆ‹‹;vì3±ÙXÕ¾„f!`„ ß|óMcc£Z­¦im¿áªÍ.©ö*ö2£/4Ó,l”7[ûÎ䶨n\)»W-¿v¹Äá •7úûûÇÅÅÅÅÅÉd²ôôtö·‘‘‘¹¹¹;vìØ¾}»3³°¢]5//‡)þwüÔþó&{÷îMIIa>¦¤¤0ìÚo¬êp«Ufº“ÂdÔí7\PåÑbÄBsHXðôÄ)Ï¿0à8xÍØÔ ¸]^¥hT”\+wÂ×z04ө쎊ʊv=5!IrßÔÙRž`Àè<ê0ÈÐ!ùe`4#£ÂQ }ÂWy=É(:ÅzDš‹p­á“ gYôY‰‰‰‰ñð³fø "ƒ´Õã""ý“Ûƒ´Õc$"ü™šÁÚ Ž! ! ! ! ! ! 9¤oBòí9Ð"Ãt@D›/ FÀ#*ë«¡- F >)bQüëáÿ¢+W,¯÷IEND®B`‚nted-1.10.18/doc/docimages/staff_selection_dialog.png0000664001041000007640000002107311520267216017436 00000000000000‰PNG  IHDRØÆ°üNsRGB®Îé pHYs ‰ ‰7ÉË­tIMEØ ’…7)tEXtCommentCreated with GIMPW IDATxÚíw|UÚÇ¿sK:$!•–„„$H‘@ÀaQº¼‹/® €@i†E@©¾€¢« ¸+‚¢K#͵º›U@š¨‚¡„„" %éõ–yÿ¹ä’Ü%Éóý|îçÞ9sæ¹3çÌožsž™9GQU€ý&ÿá–ù#ö=@W"®>ÏN•R„¢E¿Iê±ï)J@ßÕ>ÏN%ùªAJEjˆ´3‡I;º½Øƒ ó¥T¡†±)°¯„—É|õêUL&^^^•~ä­RºÂm'/óÆÜôêŸøÎî8¹z׸Û+*¨ø@òò0`ìÚµ ggç óWfOnC~ÆÜtÚ´¾¯ÚÛ=O wlXcv*ŠR¡¡]»v1zôhŽ=Jbb"aaa(mS‰=A¸UŒ¹´iÝú¦¶mÓº5GÅ£wr­1; LQ4e¯f³€3gÎðÈ#°}ûv¼¼¼(,,´XÉï’°yö¡FQ4·vž•l_SvªãÁþýï³gÏÀ•+Wxÿý÷QU•””.\¸`•ÿÀxzzâïïÇ=XÖLìãWC;`οNX-w}ýç[²ÿã܇ ìÜn›õN_ŠrKçYÉö5e§Z¬  ___:wî @ZZ7nd÷îÝ4hÐÀ*oZZË–-c„ têÔ©ØÞwû+Ü©ÖM]økïæ„ø:c§Ó[häbF£¢°gÎD¼±¯J8¥_\ô<1{=‰I)ì|,ž í,˨àÚõ–+4#ñ§›²SÑñܬM¡|ϱf|[›Ù#?:ReVb§ô6å¥Ý´S…Ó§O³sçN &Là±Çã·ß~+Ó4üä“OÈÊÊbÛ¶mäææ^StÅA7žl‰«Ï-ú7¿;MH³FŒø YI‡€â2=áGÜ[ETZÎ\ô$žIÁ¥ik<]­–µöN˜ …hìn¹NoÅNéã‰øÛ¯¤ßsË6ë·+GU9ûû6š‡õ¾a{¥B;kÆ·%òŸÇX3®u¥vªåÁTU%00?ýéO¼öÚkŒ;–ììlºté‚N§³ÊÛ©S'fÏžM‡èÖ­Š¢ üx¨Âƒu²×ÐÔMÇY¿Ιìxec"q+Æ^ÐÄL Û›Øý×oL*§.å³ôû³|Z&éå.sw£µs´ÀSx3äA<Ø¡¹V&ÝÞ<€OC;¦ôó££´8˜”Ã;ÿIâbf‘•MW{¦>Rn>¯z^ìÝœN-ââ -q*s<é2w7Mܘöx(íý\ˆ;›Ã;ÿI&%£Ð긲 L¬Øyž/÷_…•4ïnàÑÞ+“öÇ“¬b×·×”kgÄòxV-Ž*–W‰íríT׃4lè¢Ñ–{<¥ ½öß{‹ÇÙ»÷ùy›|(îŸmýõöžÅëœìÈK=«7x0[‡ÊÒ+ð`ŸŒ)ãG®H´±•z0M¹ìĉdddФITUeëÖ­¸¹¹±{÷n<<<ˆ'??ŸC‡‘““sÍ€gÅlP1»u9u‘£WíÈ+("çÜ1Œæžè4 î 1:'W&ôm½NàW?ÇNcfí«O£(`6T~C[Wêśߜcá'±<ÐÒƒùãûèíĪØ#ħäÑ®™3“oᇃ§1™ŠoOÜXìÇÎgs¿_ÃróÅŸÏ¡]ó<ѽ ßý¡Ã¬uD£·ÇhVËOi.äкY:·j†Kã€â2=s caž%ɬ¢siTêhÂl,B£wV‰§ªØƒiʵóÉó-­,}éqEaßÉtæ~ø´öNÖÇqã©jÅ7ûëa±t˦(­¶W*Œ–4 G­:ÍÇÏwgöK@çeí”÷%OÓ?Ÿeµâ= Ø¿?­ZµB£ÑpêÔ)>ÌáÇ™3gŽå†2@QQÛ¶m#88˜   EaÎÏ•GÕNìE-*D5ŠwRk‡“—?:GWrRO`ÊÍBUMxÞ߇¬?`ÈËD5Ë4»2Oï·üÖ»4"-î;«e«Û ×Ö‚¢ÓáØ¨9úó3)ʼ„1?Õ|ý?<ïïceÏXe3_þ¥?(̾„)?Õ|}ß3NÿZæxJÛ4äeP˜™Š¹ ÐêqônÖÁ…Œ?WùØêù—“Ê}¼é̾Í6· xàñëA§cñ8zùWj§ô6奕Ø)M^êIë§éoT`‡èСŠ¢ðÙgŸ‘œœÌ[o½Å¨Q£èÚµkÑ£G«eå—øJ ÈÙ3´:ËD­}œ½1 ÑêìCÎU}‚°/Ì+îwÜpÅqò DïÜÈòÿ7.ÛÊ[äРspFïÔ­Åí8=Ê5Ÿaȹjµ£Gs›ù=ýÐØ9¢(­Ö²ïå•MO?´öŽ hÑhŠ·ÓhuhTëØÄƒA‹Vc{¥Zvʵ]«°VÂáÇٷoùË_ðóó+·bËüAîOØ{4·¹ÎNoã e—ò=£]Cë'ü‡ÚvëìÝšVɾ­|šV©~o´éàÞ¬Jû[Ñþ×· Ç-=1tM\5f§:}°ÒÌž=›ùóç³zõjæÎ[®¸J7ëý•U¸#Ø7ôâhüqÚÞÄSðGŽÅcßÐ EQjÌNµx{{Ó¹sg~ùåKžwÞy‡€€BBBøòË/™?>-Z´ 007ÖXa¸»»³hÑ"üýý býúõ:tˆˆˆ¼¼¼ˆˆˆ ..NΡÊäçç“‘‘QæSUqU;ÈQÒLLOO·ü~á…5jgÏžeþüùLœ8Ñ’ßÕÕ•ãÇóá‡2~üx<<<ˆ'::šÙ³g×ha¸¹¹‘ÀòåË™3g&L 22’¤¤$"##‰ŠŠ’³F¸£Ür1..ލ¨(|}}œ„„©qáŽRí>˜^¯'55Úµkǘ1c8p ŽŽŽÖêÕh*\®Ñ+E9¶ƒƒƒY·nC† !&&†ÐPyG¨˜ª<þt[6räHÂÂÂ((( ==èèh^~ùe¦L™Baa¡USòn³téR&NœÈôéÓ áƒ>3H°ÉíG¦Ê+ÍÂ… Y¸p¡%=((ˆ¯¿þÚfþª.ß ¶l‡‡‡³wï^9s„*q3¯AU&J Ó B)äizA¨EˆÀA&"0An@w«¸»Å½¼o‚P©Àîå±åeÜ{¡Ö L†Fê·{t2éƒ ‚LD`‚ ˆÀA&"°ÒT:/Y/!vAv‰‰‰„……• ÝçççÓ¤I«Ö¿]áÿóçϽ½=œ?^jW¨ !88¸Ì@5+V¬ K—.„„„Üõ™:u*ݺu#33“nݺ1mÚ4©]¡ö4gΜɼyó0›Í -ZÄÌ™3­š~ }ûöèõzÚ·oÏÁƒm6ßxã ÜÜÜðôôdÍš5ÄÇÇÓ¥Kììì åǬÒþmݺ•É“'ãààÀäÉ“ùþûï¥v…Ú#°ððpš5kƺuëX³f !!!têÔÉ*ߨQ£=z4Œ=š‘#GÚ´éîîNJJ 111–9–FŒÁ¸qãÈÎÎfñâÅ<ÿüóUÚ¿«W¯âå倧§ç=3l «23gÎäõ×_§¨¨ˆ X¼Wiâãã=z4ÎÎÎ<÷Üs;v̦½¨¨(éׯŸe”©ƒ2räHèß¿?‰‰‰UÚ7www‹´´4X¨}ëÑ£nnn 4777zõêU&O«V­X½z5yyy¬ZµŠÖ­[ÛþórF‚ ã“O>!77UU-MÒÊèÕ«‹/¦  €Å‹Ó³gO©]¡v `Ö¬YlÙ²…3f”»~åÊ•|ðÁ¸ººͪU«ªeíÚµ|úé§xxx (J•Ãú‹-bçÎ4lØ]»vñÎ;ïHí wjz3pàÀrCí%i<ð‡¶¹þÆï׳uëÖjHóæÍe)¡ö{0AD`‚ ˜ "0A B=Ãf˜~ü?¶HéužÏu&ÒDA&"0A ‚pÇöÑKni½ Ô[ù¸;3ûÙîÜøâˆ^§åíq½ñqw¾ëaý^`ùB­Xjz.—Òs mb•ÑÎÓÒIMϽë2þ[äÞpÏQå÷Áb=Ásuä@b ªª¢ÕhèÓ)ˆ6ï·xñÿØ‚Ÿ+#ú„ÑØ£)W²ù俇8{)³ÜæbFNk·Æw:UjB¨ßKNÍ$=;ŸÎ­š°/þ<µnFjz.I©ÖÓ¿ŒèÆžÃÉì=’L—¶~ŒìÆŸî,ãmE!¸i#"û†‰ÀX±;ɰž÷ó[b ýhÉÚ­eß\nܨ{'c0šØ{$™ÁÝÛX­ïÑ1Þḹ8 ( 2 ™Pïû`%$$§‘_h`ì€NäˆO¾\&ÏÅ«9<ܺv:-]Úú‘r%Ûjý÷±æ»ßyqéXöõ>d mAèÍÌ™3Y¹r%999lÞ¼Ù♆ ÆO?ýÄŽ;X´h‘Í´[%::šðÏþ“áÇKÍ ÷Õ“£¤ÏÔ¸qc–.]jIŸ>}:ƒ°òl%ù===yå•Wl¦Ý*cÇŽ oß¾–´ììl\\\¤–…Ú!°ŠúKóæÍcÞ¼y–åW_}Õæ65Ýïº]6á®6A ‚Lê}Lê:±±±"0A¸ÔÔSE"0A(‡›‰DW&J˜ ”¢:ƒàT¥9)AA¸ˆÀA&µéƒ B9\¼x±Üþ˜››¾¾¾âÁáVðññÁÕÕÕ*ÍÝÝÐÐPE`‚p+(Š‚¯¯¯åÍx‚ƒƒ1äçç‹À¡&DÖ¤I\]] EUUòòòªeC& ÕjiÒ¤ 999Õ¾-AA¨UUÉÍͽ©mŃ ÂmD<˜ ”Bž¦„ÛÄíxš^šˆ‚L:UUoê#«%WÏŒŒŒÛ>¥©`››nnn·ÍóUØD”ʾ{í~)ûºÑg&·˜ ˆÀA&‚LD`5‚»»»Õ· ˆÀn‚­[·âîî^㹕_ÀÖ®][îEM¨C+™lÅŠR£w˜õë×söìY)ˆº*°¤¤$Î;ǪU«¸pá‚efMáΰhÑ"¦L™‚Ùl.³îСCDDDàååEDDqqq/·hÑ"üýý býúõ$&&Ò§O¼½½éܹ3¿üò‹ìn³jÕ*¦M›†N§cúôé¬ZµJÎú;Hhh(=zô`Ù²eeÖM˜0ÈÈH’’’ˆŒŒ$**ʲÎÍÍ„„–/_Μ9sxá…5jgÏžeþüùLœ8Qv7),,$&&†Q£FáîîΨQ£ˆ‰‰¡°°PÎü;È /¼ÀŽ;8~ü¸Uzbb"‘‘‘8991|øp,ëžþyèÙ³'iiiÄÅÅ…¯¯/ƒæäÉ“"°»É_|AÇŽIOO·|ÂÃÃùâ‹/䬿ƒ(ŠÂ»ï¾ËË/¿l•̺uëÈÏÏ'&&†ÐÐÐë'ž¦ì©×®];–-[Æ… HOOçêÕ«"°»ÉŠ+,s3—0vìXV®\)gý¦yóæ<óÌ3ViK—.%::???V¯^Íûï¿_¡èèh6lØ@‹-pww¯ÉZýÂåöíÛˤõîݛ޽{žžnõ-Ô,7–ë°aÃ6l˜e9<<œ½{÷Vº]ÉrPP_ýu*#y’CD`‚ A&"0A¨TE”‡gïRöu\`·cŒ8¡jHÙ×­[·NJç.y-)ûÚÅ!Clަ«lCAnƒëׯŸŒÍ'·ˆDA&"0AD`‚pç¨Öë*·: …P}E±ùºÔǽU·,0Y?î$UyšCêãÞªi" ‚ôÁA&‚Lt0wbÙ–£˜Ì%TƒJñ$Õ}›óÚðNRã¥È?wŽø3¸²{7-§M£E9}š Pôz­V ¬> Ìh2³tӿ邳ƒ=&UÁhV0©•gæ·‰ÀJ‘¼j‰ûmûõ£ãK/±íÝwñîßç  Kž”¯¾"nüxœüýé¼iKÁÕ§&â©”,Læb¥áêìÀî#)üp8…­¿§ðŸƒ—pvÐYÖ `68:c½§Mÿ}{œ¹¿OŽÏšeÉ““˜Hü´iô™1ƒûzˆŸzô ÷ôi)¼ú"°~¿Àèww Õ¿œ¨( ª*fŠÌPdƒ F•‚"y‰ñz¥ëõ85mJAz:dg£feѬkWr%cÿ~L¹¹xê):ggšuìHX¯^>\ ¯® LUá£oñÁ–£™,銢Xf4+˜Ì ³‚É Y9RÓ7úæ›üþÍ7àãƒZT„’™IØ€ÄOŸNܘ1´ Ã305;µ°ìíÑÚÛKÁÕeåy9úg~?“Å´áݬÖ) ¨€YÕ`2C¡ ²s ¡(‹vþ2)ÜøþÏÿ`ÔéH‹GqtÄœ•…w»vh !5•à=0_¼ªJ^N¿}ý5í«9s­¡¯oÇØ÷ê0ÛµF`çÒr‰|g 6døcqÐÇgžüOþŠ®S¾FUᯋ¿ã›]GÙ¹ï>NÞÓO·²WÞ¢¢"¦NŠ¿¿?þþþ¼üòË•[aÇ'<<¼ÎMtߢEÚ¼<<ÀdÂ|îÝž{Ž##QOB½t “»;»W¬àþåËqjÑ¢\;2èmjEñׄKÌYó+ukO›@o.æÓÑß™å3G§QÑiìµ*öz-:G{=.Nv( \ÉÌÇd2[új%,X°€äädöïߪªDEE±`ÁæÎk•o×®]L™2…%K–еk×:Uùî>ˆSH)û÷ãëç`0 feaNIA׫?EGÓ|ìX¼zô°i§ô £ýúõUÕ&¶ö‡“¼öÙAžîß…¦Þ$^ÈÇlV9r6—øó9?—Câ…l/äp.“ãg38ræ¯är9=—ø¤Ë¨ªX lÆ ÌŸ?///¼½½Y°`6l°Ê³nÝ:^}õU¾úê«:'.Sn.¹IIè\\@UQ‹Š0§¤`:~ý£rdóf´M™bÓFe3ŒÎ›7&MšÐ©S'öïß_aº»»;3fÌÀÛÛ°=ãe\\Ý»wÇÓÓÓª¥QY3mͲY¯6{Í~6ýšÂ3wÀ§ÓŠPE£M±hTÌ*˜Ì`4«Í*&“Š3ª :­†BƒG{ëCMMM% À²À¥K—¬òLŸ>‰'âççW÷.­ªÊ¡#ðkÓ¯€ÌçΡfd`NJBãéIæÕ«œKHàþèè ÍT6Ãh³fÍ8uêcÇŽeÒ¤I•¦wèД”ÀöŒ—QQQ :”óçÏ[½:RÝY3ËË_¯Vd0ƒ f È¤RdR)4A~‘™ÔÌ"Χr>£€ÔÌBÒrŠÈÈ3’•o$·Ð„zíþ˜£½Ž”+9ø6´²íííMRR’eùÌ™3–+g ›6mbÖ¬YurB¿„×_G—™Ih˜ãâ ?ôzÐhPFœ\]1åä`¨`¼ªÌ0úÌ3ÏàèèȳÏ>Kbbb¥éƒ B{í©[3^&$$0bÄìoˆjVwÖÌòò×+-|þúuðfíæÝØaÀßÞœ|3ÉW dæšÉ/R1š”kŸâ{^FS±3™Íèu\‰ù>žÞšYÙ~ê©§˜5k—/_æòåËÌœ9“§Ÿ~Ú*OÇŽÙ´isçÎåã?®3âJùòKÒ¾úŠNÆa>pÕdBûÐCBCÑ÷í‹zõ*ÚôtZ÷éÃñÙ³mÚ©Ê £ëÖ­£  €µk×RiºNw=,`kÆËV­Z±zõê2SWwÖÌòò×»>ب>¡ÌÒžÅþÈÅËWiÝÌ ­úÜ߈mñ§û<èÚˆÎ-=èäAÛ‚›7"¯ÀÄ¡S—ù[ÌÏ8;èy2"ÐÊî¬Y³hÚ´)ááᄇ‡ãïïÏÌ™3Ëü«V­øöÛoY²d ‹/®õâÊ:r„ø3è:z4>Œ)%]‡œØº•ÏKvv6Ú–-18@@×®¤ïÝKÆÁƒåÚªÊ £ÉÉÉòá‡òÞ{ïUš~cð¤¼/ßÿ}bbbhܸq¥áù»=k¦Ð÷EµÏ³S9q©ˆ¢ì4¾y1Ôff77·»ömÒ¥&}ø#÷ûÑ5,ˆ†öZf,Ý\þA)àÑЦž. {¤%jW;Ÿ¡‹eèСPÝúømȼ½iìïaÇô={rñÌŽìÙƒÿĉ¤._N·1c(úê+taa¤æäpüÐ!Þ¶­ÞG+«€?/IÀ®'ÙçŽvt{íyØ×ßÛ…˜=˜¹r›¶g1¨g{~ZüDõÃÓ•\Åêò”³ž½z‘¸|9Þaaèûö%;#ƒƒß~ËÃÛ·ãØ¬ÉË—s91‘FmÚ`Œ‹£ñÀ$îÙÃ¥ØX¼oÁWTŽ2mïµ&omÚY=K¢ºðþæ£,ÿòG ªª¢(Šå£Ñh*œ@¡>W¾ßèÑ23Ù½l÷wëÆ¾o¿¥ÍÇ£xy‘_P@ЛorhâDzM›†š &>¤8PF`"¢:"0³ÙŒÁ`Àd2a4yöOMiê¦aÉ–\«Nk‰¸´Z-Z­N‡V«E¯×ß‘íÃÆEœIDAT½ŽÑhÄh4â3nEZ-û׬¡ñ¬Y¨-[^/Ç´$ïÙƒO»vüüs®¤¦öÖ[F« „Pf41 –OÉrG?Gæ<Ù‚ôôtÌf³EX:½^^¯·ü6›ÍØÙÙY¿õ‘Òeg0h4t(.O>‰Á` ++ £Ñh)džS¦pxÜ8~ÿïi%B))#K9ºmºk)íµ–€N§qÕEÙÛÛcgg‡Ùl¶|ŒF#&“É"°•¬ä[š†eËQUUL&f³ÙR†¶Ê±ôG¨ÃAŽÒ (s_¨z9–xwá\ؤA&"0An±&o­Þ[H}Ô!)22Ó=…ÔG˜<so!õ!}0A ‚ ˜ "0A BmÇ*Lo×À“?/IR„›Ä®§m•—A„ð`ÙçŽHiB £¨ªJ‹~“dþGA¨aþˆ}Où¢½<¸‹ÑIEND®B`‚nted-1.10.18/doc/docimages/crescendo1.png0000664001041000007640000001624411520267216015001 00000000000000‰PNG  IHDRŒXæáÀÇsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ$áeF¨tEXtCommentCreated with GIMPWÿIDATxÚíy|SÕ¶Çi¦Îé<Ó­´¤M­B”±Ü« <¥¨m•låd7‘HÔõ FuÞŒ: g*ÕÀ’Åè?åmìZû„ó)–иxñ¢ÛÞÛµk×––F•ÜEáóùˆ‰‰<ùä“;v¬Ùäçç#;;yyyÈÉÉAnnn“%¼­QYY‰ƒâàÁƒVéqqqæå¾&'»X,†P(tOƒ¡¸±ü WÔ æ´sßGêµ*\>¾þ\Zïì.TTT¸í½ÕÔÔPMðññÁÀ1pàÀ& ±1ùGjkkíî¨\»v »ví²4ä< ‘Hп¼þúëîa0}fÝÿw+ca¢üT\8VŒ&­ë`L½¤øøxµYÎ=÷ÜX´hÚ>í¸råJܼyK—.m³ •J… `èСÈÈÈh³œS§NaõêÕæÞ¥+‘ŸŸ•JåöúÉårÑ·oßN•çàà`¤§§#==Ý*ýêÕ«˜={6Nž<‰'žxyyyÈÏÏ·Ë?ÒÐЩTj~¹Á¸˜5¿+Ìÿ{ðüÁÕ×AwÛ÷ž“õ8ö-©Æ#BÎG§ÓáÒ¥KV+BrrrÌó°7nÄäÉ“Û,ßä¸{ì±Çš¾Ù¶mjjjðì³Ï:4"X°`Äb±Cr|}}±zõj‡ ©³˜>}:rrrÜ^oE"är¹[ÜK÷îÝ¡Pˆ5kÖ˜ €é¹ÌÍÍE^^²³³qåÊ•Vý#~~~NËkû ƒsÞ>niLZˆÃÛ?F@Ñ:ô¸÷i(ô0z}’ƒó ÖœÍ‘Ýí•yyyfã`ËJãÇ;d0ˆöE£Ñt‰ûÔëõn}<b±b±S§N5§×××#??ßüüš^%%%V³na0ª/½ƒµF…öSû>EŒ€ ôy «‡½iŠWþ½ ƒÑfd2²³³YYK¾sçN,[¶Œ µ“pýúõ.qŸÎl]ooo 0X·UUUÈÉÉÁ˜1cåãâòæ÷Ïýú½ÑXÜfÈ¢ÞÀmƒ¡ªÜà3zú[A¡P˜Wc46lE«FÑy …àp8‹Å¬öæÏŸ?ÐÐPÄÆÆ¶YNUUŠŠŠ˜˜__ß6Ë)((è²£%‚‚‚0tèPº‡Áس禱 Ÿ‰Ï[oÚåÀ>£‚jJI¡Óé •JÍó˜¦9Í¢¢"°wiÚ'99Ù8Ô­[7tëÖ £F¢ èD˜ô3gΰ&³¦¦˜/ÞzÅü>f¬û¬Ê©««³Šö4™LÆŠah¼+¦É8dff¢¶¶ëׯ' '¢3Ž0î¾Bgý–Æ„WÄ® µZ-¤R©Õ’ÕÜÜ\\½z•ùaaaVûÉH$ˆÅâf×\Ó(‚ ˆNm08EðµiŠâÿÃ'×áñßþx/!À¥ ­¬¬ 'Ož´Z²zéÒ%Vü ššŠûî»ÏÊ mÏé`AÚ`pG¶ŽaÀ3õ‚-zÉüYニÐÅ;È6lÀ‚ ’!””d>ö1%%.\ÀâÅ‹±fÍH$ÒN‚ \ ›ÎÃ8sæ ¦M›¹\¥R‰”””6]ììÙ³€>ýï50”e— ½iœ®âpxèÝ7^®m1jjjPPP`ó÷…B!¼¼¼àéé oooxzzÂÓÓ³ÉÔQEE®_¿±X //¯6çﯿþ‚^¯wh-¾ií}DD¢££Û,ÇtOl¬½W©TRWˆ'Édðõõ…§§§St3??Ü>C¡P8¼—ÔÙ³gY»§„„‡¶/**BMMÃ÷tþüyˆD"ôèÑîß)•Jh4šÖ·»alàÈ‘# ó«­ò<Ìe•Ža†)?µŒñôà˜å|û8ã äÒíÌ×ßÿÌš¼C‡Y•‡éÎŒ1‚Y¸p!³jÕ*æÔ©SŒB¡°YnVV€ÉÎÎv(iiiŒD"q¬Ìäróúë¯;$ÇtOGŽqHÎØ±c™ØØXVî)33Ó!9k×®mó=I$fíÚµŒ³H$×½+–Ûº ‰¾/6ïiÇŽÉÉÈÈ`åžD"“‘‘a÷ï–.]ʤ¥¥µú½vÃèç+Àïr5Ê´Ä(bذנ68^!£°ëÝûX¿¦^}ãOÁ±=æÎ™ÂŠLS$eZZ¦M›f^¶BcV‚ Ü–v5i"£Á(¬-Æ—i_ots<øèÀ:„ðØ?<é»ÃqT®‡Ã¾ìŒŒ dff’Ñ%h×ãíE÷%Z6m6]³,³öî~ÌOe«è«›çbÞÖ«·§Þ TÛAÅ`D 5. Í>nÙ/jػػøAÖ¯¥‘ǘ¹9TÃAÑ`øõ²2ó ŽC¿½m“Áz¼7r&ü¼‰j˜ ¢³ åÍíxtÞIË…y"|{â$x²ïF¹ðÏ Ø» ‹¤&‚`‰vqzëµÅ˜6` U–s¼Ç,?„¿'ˆX¿–òæfŒz§ ‡Kž¤Ú%‚`›÷Ž=Š´øî½÷^»."»’‹kÕÖGG&öí_.ÛsQ\ÍÍ/.1~|–`Á¶ä»%T*òóó‹ÐÐPÖrO{-ã.{ùùùˆˆˆpÚyà¸g;vî1 PÔÕ¡^¥ÞÀ€Ë A¯GéÍ>p¯¬¬ 555HLLl¥ œ¸W¼oa³An/ÊYZúÏ[ƒ™žS~hœï$;;›Àdee±š Ü£À= Üs½À=½öóõO21ÞüfÛ2LÖ¦_»DàžS} *)&<þ•UZJ¤7àÔÑrV¯%¿ø Ưöý‹¦¢‚`‡ú’˜€Ì¥ÿBq}Ë›‹¾õö¯]¢<œj0¾Ÿ: gë´æÿã&dá§EÆ}¨®ýTÄ굎=ù4L 훌¤¤$ó«1III8ü[z ‚hâO O‡}Eu­wX/oèeâ4§wéá×0o‡åÐ$o_ìýé¿RtÀ)Teo0’µë=]M3é7ø“J¥ô8 ƒ® 'ÄŸy—Q]¯‡Hú=ðˆKÉéÕg0Ué¦Í:õïÉp²ZmÓ5„þƒÛU¿ÝÊ`0 r<5i…UÚÌ5[ÑË‹MÔ «Q_±jÃ?áéA ݹÆr|÷î"|ðåOÍÙÓ`EŽOH,ü½—U:Šú'ݼ».tåxa±Í×ñy–CyñH€qý2uŠÁÈÿúq쫲XæÀ¤…X5!Îh‰Ò-ä⦦ [*U˜êEšÝI©/9€‰i“î:d¿%=ÆŠ¥ì:Ô‡åÀöíÙTy¤›wÕƒ¾ûáC^ÁæY½ÊKmY8\O—/WÖû÷††JÌxã¨UÚ{ÛÞmt!Ì5:¾7Ô8å¦êŠ?6û0Í/òa°‡=ó»lÉÑkjY‘£ª8GHºyW]ày&à‹áQ­þ>2í9œ:øøÇóÂè5î9¸råJ‹ŸÝØ99JË+¤ß›Ç­Ä•+•æ4I¼?P\‡ÃÏNLj0ôBÂbлï ù0ºùó¼­)صkJ›òo ÅÅÆ¡ªL&sXVcd2™Y¾O›å¨ÕjhµZ‡òVWgTp¹\Þ¬œ³ÇÚ<¿ %%%Ëáx[¼'{äp•Myyù]ïénhµZ”——³ª7wÊgCǛӅÚÚÚ+7«{}= ƒÓuaÌW[°pñËøæ—cPé­‡|¿n˜òìËxkîx4ܼ†–îÆ.ýæp®7ƒÁ…Ba·œªª*¨ÕêVצÀ½)SZnŒÏíØbÑÝïщHð±Æ ÆÅ£û‘wKÕB¡ñßýR{Á›ëš'ïÕÔÔ`ïÞ½èß¿?âããY“[XXˆsçÎaäÈ‘¯-ÜÉŒèá×bðKã—Od³£¨Ö%OÜs—À=[’æ¼üj“ßéT—Ǧz ò £54}W“ck¹D¦¤Sàž÷Z+ŸXÆ×_Ô.ºà‘—N¸WúŸ­þÿÛÏ[†‘e¿a d"öß1—×AM§_”¥GñxêP“;6¯g:qoÞ³3ir·ñ°ÞÆ€¤ŸÖŸvÚü®«É±µ\Js’u ^*eסTjœ® Ï÷»P^Ø‚Uƒqé›Ëæ÷¿Aøl@˜ùÿ·Ògâ¯z8†<1Cü…€éûÿDi¥²Â3ølÁpÅMhëþĤ‡ßs(O¦÷==¦);qõ¥'šM~×9,yf$¼¹MUH ꉹ¬Cá¡o+äÞU¾+ÉaË‘O8_/ïæ fK§ØÀ•òŠdSØ™¿,«žâg~n¶˜ÊÒoð…´¯mÌÁÒ'zc]Ÿ_p"»§v—/ ¸ç½xyùV<ÒgúÌ^m–SñçGxãÂ+XÚ'Øîü¸û‰{íÄ÷í×|Oƒ†Å«öàµÏ¯áðáS¸RR †ï‹¸{$xèTx{ØÖ]r%9ö” WØ­CÏpwå°öÐKžgw§ë+=r'å¥ÃêŸMÆ3>æï,¿QgNÿë‡4ÓcÒsÚéE©Æùà!››ÈYþP¤Õõ¢üÉî99uõ1&)ô~·Ü|°µ9^¯€æžä”ëŵm^3˜®@{•‹£>ŒÖê^èÔbÝ;Û‡áˆï‡ô’ú÷à ˜±Sg8͇Áêƒw{:‰'ŒÁ Ñ–í‹+ŽTf}>Úœ5¾ði6j Ö˜d%ç™5oca¬Åÿ!ûócÓíñ\Ü>qï<¤éQp'l RÉËP¤m¾çÂf@’[Ö:A¹ØR÷EŠŠ„.™·»ù~H/Ù)cCƒ~wÞH¬ú0Rn/Ÿ ·:vµAi\fûT”Źío\ö§ªü²kMñë6ã‚-àZÅyTرƒ»ž¸gÏoƒª¼…¡¼û9âXéì¸x¹°Q÷®·ÎZþéÙ×Tæ¹–cÿþýÍ[·$?   šëVß¹c yÿfûn Þžƒ3<Ä4xgÓN<b½EÈàh쨴ÄjìÙ·‚Öí›ZvO¾y ËÖG7ÉgKù¶—¢"ãN»R©”5™&ypòäIܺu«Éç»ßȰ#Èͳż%½üžâ„õ{ÎAsÇ6<ŸHŒž6s§§ãÒ‘ƒ¸Ô…Êö(…BÜÜ\»õ†­ºo J¥€1 ´9¹öä Μ9µZMzé¤ú÷àÚ]ÿËå­þŽUƒ¡ pÚÚصo?·{ ½äaÍÿþ Fb9i,JÈE‰F]›~ƒ‚¿•¬›¦Ñ DÎáß‘ÛZÆv}÷z›鑃ژo{©¨¨07ðm91¨qóê5”˪¡n` ðòExLwÈŠ Ì£°°ðŽßÔã˳6_#nè„»ÞoD꼘87n”@®Pø…¢[tø=ŽØ®ˆ³ËÅd0 ƒúÂnÝÛ«›AaQ- »ó6l:Š‹‹QVVFzé¤úïöÐH§ VÞ†9“ìctƼx®Ü곯ÇtcB$«¬Ò>éÀ`zN>ØDÖŽ¡ÑæëùÅ,r‹÷ZsX…'=ТÓÛ•’Çëìuz·GÝÛÄ9mÎs¤—@{”q‡îq¸"üøR*`MÆÇh܇ú¯­Ç1ÎÇzçÒAŒKeeìm"keŽeï)ñÂÖOÑsõ÷l HºÛή4ÇÛuqvÝÛÄÙÜή¤—¿þíî°8Â`†iÐ3÷ú ̤•g­-¥â²Õÿë†2® ’Ñ5²Šò‚OÍ×âòC™l…¶Õ<îÎüc™ÄÄD«Wã|'&&2þ¦ÝGÚºsÌà@O›— ¶´¬V¯½Å,yf$ãÍõhò¨'3÷ƒuL½žzdî6ÂpfÝÛ£›!ée.§ufwȲZà ¢ñë/ 3òl?¯ˆN᳿õ¹í¸J°únð þA¯-ÅoÕjŒò Þ²ÅÈ 7·CâÓúîµÎ:q¯¹QX7»dØ(çÝ¡¡¡-8³\' ‰h_œU÷öè¦Ào 饛Õ‡0LlšÛÇØ+áp˜±/e1åÚ¦æOSsÔ2?zæS%=À<;<Μ:0“Qè›ôl«Ö9ÝÅ_¬t™€0½G9X‘p}:ćј'¾:OföÃ0عlºÇ Ââ¯~Á-µeO'ÿD Œ{¨ì=‘âøîÀ5p8\ŒÊü¯„OôNlÓýrÅï­P( ‰pQH7 »G:Γì…EkÎáøÚ1¤§õ¥gñþ “- Ã}é£1mÆ L; ªÛë­«sþ„ÆÀ eäll9s»³^B0¯mÙsäÄ={dê®þÖ¹VAºI8@›Púö[;9e ¸yùÎ]ÈEÁ•k¸%«‚¢^ÝÞc_ú%†th[ñ:þ•Wm㇯¾|³õÛ××a×Ú°ûÄEhï Hò Áý£&bêèô@v–,Y‚Ñ£GcРA.‘ÒMvïÞœœ,Z´ÈqƒQVV†mÛ¶¡  ¥¥¥VÆÃQ®mþ|¸Çxäé­ÀÈ@a‡>µÏßn³üU%._¾ ™\ †+DpX4îIˆ†€CO#ѱn¬0œIáOÃqÈh0ΕcS¿ÐŽ{hÔz÷‚Á†" ò nû”z^AtxÿÞ–­BJNÊ€4¦9ÝùûoÞõ{‘iÏáä~šÓ%§QSèt@m- V* PÓª«  ¾Ðh€º:àý÷©ÜÜÝ`%¶ªNW™›Ÿçwƒ<óïøèÇý¨×[ûX¢žxúÕ÷±ìõðò å!º Í5Ú*•±Q¯­5¦ÕÔñúz@©´Z@.7~VWgù~]1M.7~G©´€¶ðôÓÆ¿!!€¿?Õ•pÚ”TuÞn|òÕZ\(ªDHÏ~xjþ«ž(jò=uåx…lÞ üú+г§Q^a!0g™IÊÛY F}éψ‹Ë€Lg‰¹àòƒñù±‹øïÖSN:å|û Æà(9ñ(Õ á2|ýõ×Xµjâãã………˜3g2mmL0¶É4×Ëw??cÃh£Íãïåel´ýýi€@øø_3*Èø×TwþO¸þ”T·K¬Œèu•xcÌ,<_±Óêp%✥óÑ7j„p9æÌ™ƒÌÙ³ "Ì›g|µ¦FÛßߨ@‹D@p°u£mê™ÛÚh7×Ë'ˆŽ2u…ͽ©*wa“L…é¡U–ì1¿º7ˆj„pMÚ:¯ÞÆ<(ˆŠ26à={ BD„m½ü€ +/­¯7޶Lï½½I_;“Áˆüv½ÙÏ”wÄ8\]—o~ßspÕá‚íQ=ªÀ;pÛ·n…ÀÇ“G¶ÍùkË”Ô@Qpö¬O2ϱ†­SR®FL °b°{·%mþ|RZ'ᆲô{øF=Û$Ý3hª+öÁ³Ñ £¹Q~ø¶Tއ²ëj‘âÍ£Z!\†íÛ·cÅŠVióçÏÇøñãÙ½Ã8æÃ°Õéíèãî¨ÃV§7Ñu ¼Ú;ŸJ-[lD÷‹¬MëðX¼euIõÅe¿ ˆŸö3 ÖO¡!gÒÐàØ*)[•£´ÅáþÎ;]{j®3Œº¢#¦×,Ô6Ò÷El^óLŽ6®*?‰‰©Ã±÷V=„þƒ‘]v½¼htAn£q¶«;GiDç4pyÃ+HÍXõm¿E@\2÷í C5ïþ*tzxðƒuö2ž“Û ;iéKåÑ™ Z…³_ÂÑf¶ ¦`Ù–=˜74Šj‚ ¢« ` õ8¼e¶í;ŒK×eàù‡aÀƒc0ëéɈöâR-AÁ ‚ ÜÚB ‚ ƒAAÁ ‚ È`Ad0‚ 2A„{óÿÈkQ…CW[IEND®B`‚nted-1.10.18/doc/docimages/Makefile.am0000775001041000007640000000267611520267216014310 00000000000000######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### dist-hook:: cp -p $(srcdir)/*.png $(distdir)/ if MAKE_DOCS install-data-local: $(INSTALL) -d -m 0755 $(DESTDIR)$(htmldir)/docimages; \ $(INSTALL) -m 0644 $(srcdir)/*.png $(DESTDIR)$(htmldir)/docimages/ uninstall-local: rm -f $(DESTDIR)$(htmldir)/docimages/* rmdir $(DESTDIR)$(htmldir)/docimages endif nted-1.10.18/doc/docimages/copy_demo.png0000664001041000007640000001506011520267216014724 00000000000000‰PNG  IHDRº€3äm pHYs ‰ ‰7ÉË­tIME× ¢|ÖÏIDATxÚí]y@SÇÖ?Inv6APÜÅRTº(umÝÛRŸÖjÕÖgµj_[ífÛ÷¾§ÖVÛ¯»-µ¸ uiýTZ7´.ˆUT@EÀ"$h $dÏ]¾?‚!$ˆˆ8¿¿ÈÜsÏœ9ócî¹gæÎ0(ŠïÀD.@@tA@tA@tA@tA@tA@tA.@@tA@tA@tA@tA@tA@tA.@@tA@tA@tA@tAèšÀÚK‘NºÊ‡Ô‰\é÷P´”Ñ^‹/w.†!SRºÜÈ€™ß Ñ¥5ð ƒ!ÓRºÜÊC± ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢K×ÂÖwËlõ7¢‹WÈÝò[ Ôß ]*Ë Ò<ë½Ó¯,7ÞSýˆ.Šüãšœ]ä½Ó%C}Oõ#º´?næip;}ŸQu­m­~ÆRq³îa£ –’’âYzöìÙÄÄÄÖ=,.U¤äÞm„±~ØÀ%ûø¾ ÏK’sB–ºŸ>Å}áZaaapppPPPóšÆ©ÛR9ü& !=Çc*zêo ²K|\Ó{fA«Úž™™9zôèŽì`‰DÂår{ôèÑ^ÿU4X²d ÕJ\EÝ=ÞŒ‘VÉô´—ýXþër‹gyrròÅ‹[Ô¼4\jÐZšHß,¥Õߌüæ…úÖ¶}Á‚TÇbß¾}'Ožl/m÷öa´fL…Fi|Ÿñ3fÌ@±K«QUj'ð‡1~,//ïš±KzzºgéíÛ·iË]¡P(ärùðáÃ?KoöIO¿é&c±Deddˆ»±½´ÆdŒÌȸJ+_Xd¥9=]â»Øl6µZݼf‹%êø‰ã\«)¿eñÔߌ¼Iž^NÛvNGë@™LÖ¢cÛù2?_ X­í“#Àbcc=KhËÝ<"—Ë,XàøYìËs“9ȶõïß?0Tà¥5é\kSòš|ÅÖ-6Vèþ|åJLLL‹ÖdÛ$5I\maµÑH£¿ùꪀØXmÛA›Û¾Ëå"‘¨½*Å"""­½¾7øKážèV4hÇ# í{éR‘«¼Kº‰E)YY%nåeee Ãh¤y]¯.7”žñ3ÉÅL±Ñ¬ë“Í49š––YÉtÕo*§”·Q£Ìÿ·¨×Ì”[žò–*FVÖMÚ¶ ZªTªÛ¾¸qã†@ `2Ûé1Òæ4ÝÉ“'ß~ûíæÓtKÃÝÓn??.§(*mž¶YuOÓtåÙê÷"Œ¯µ¨E@½öÖ¦é**®²Sõr¸¢µiºaÆuÉ4v¿ž‚êRƒRæÛ=‚Óì#„¸~ܘ“¦ÕÕQ;ÕÓkí$±i:_W!pÎ&P¾6׌~;Eö kBNœÓÅŽôíx/d”J ÞBzÇŒx¿*íhºØ¬ŒÌŸ´v2ôò  ^º¤×›œë¡ÛÎ¥†óÛ|H[O €ˆZŽ{Ík²á%ˆbš§®·r¸>ÍêÇ{-o´ Æfåßä–Wå\uÐw³«7ß¾tÙ¾qÙÉ7\Kú/}¿øÇÏïW¥XZZ]  ¡-wEAAAii©S¬¬x€=­Ø#²pôèQg,Rþ[œ´¨çµ¥, lœ7¥šÂ´4¶¥«¹ª)ã²ýí¦_§|ÕÙžù)CP?@0€uS‘“–¦ôÌ» ™LæVÞýE^uÖ ³žÉ4‰G\±±Ýä¡»©¸èÔo©|3J#eËìÓÿJZZÔ¨ò|­†ÑRÇcÖ¥¥Ý¤m»V«¥u`yyy‹ŽmP[Æ i4w³ÖµJCNNŽP(ÔétíR)F;ó|èСg¤)ŠR(N1{¶01Ñ=iq‚[—Ð-¬>÷U¹AG1‰§Öhìr1;Š=aÁXÙ%ͦ‰ênŽnc€=!sÈgž§œ} ¢Šùëûð} †áÁ!AAB˜°ÜRUZ[~€ÍŠxÌ2s}@h8—6£èçç×¢µžh^¿ÿñÂ/U²Û¡ “1KÇaˆÿ>l-ÚÆt„þŒ  n®m7u e5_äaôŽåñxm0õn ‹Ûæzº´¯q¤Õzä ÝÅÝ¢›ãòWû5Ó"E\¶þÆ9}eS’'䉪4•¡®ÆÄÏõþAÁõíìÁ[¶Ÿ­’›€Å n÷|bóú1nH(§ Ûœ·—bÕŠÖMÓ&>Ío4õWLYéß`®p%’­‰ï‘ãw»2A˜8·RY«òúí¼}!¸Ã|ëúÏÒõ›TZFó”Õ•4ý†¥VËd2_ß»ŠC=õ۵؟_òÊÎsÎnba”]¥) Íáî³+Iò¢+§~î[k¬«-©oû7ÿýø£/R¬¸s£?­ CS޽GP*•íX)ãôéÓ´t‰h&nä¥W7þ´¹X"ÇIŠÍ÷“øÄ²eËê#ß푃çü½ë™ñ,ªaÖ×ï±[?•2îüµ´üF÷èIj]-ø.úƒÉÜÂÂÍLLˆcœ¶lªh6›1 c³ÙíëåÚ‹œô• ½Éî£%yûXsS°ù$`­cƒäˆ שá+w÷3¹,Õ6éåÿ}ÿŸ´9V±XÜ‘t±Z­ ƒÃáÜÃ4-´²ëFuw½×-MGø'ƒjïdÆì<¢¼UnvÕP’©ùr°ÂNPi«ð´ª¨N £¬öÔçÊßÿÇNQÔËÁ•-¬$ü/ñÒ˜8LvÂø”)j©®ˆVÄ.;vìÊ—4¼Ç²x~?ó|£‘ŠÉzã8¯à˜º¬ØÜ{¸ÿàÑ~Á‚Ó>£D>؃0­)÷0¤êrŽ—c4sã¾£sΜ‘TT÷Š0òÉÇÄèŠh]†ê(hô&ðíÖã½µßΜ4Êýu)Œ—¸€×âK›_(ìÅG‘qŒ–ç€îS’^„®ŽVÐå‰isNŸŠ>é ÅöIxâÉGõa´¾¾¨ç0r> ˜~Ü5>½™Áæ:ÿ÷w„V¿H3X±ÃFÄq7õÿ /°¹Xçw¨_Ðcý>"ŠhyÂýHÓᨹý:· º´=†@ñɇ”.aƒ––¶Û‰#÷J%ˆDб0»<˜8s&M‚·ÞB݉F/0t(äåHz=êQ4º´„ü|€öÚd¡‹ÓÅ1@އºÑÅkhµ@ Ýç]ZDL Àž=°~=Èd@¢=ÃP¨Û ~ýæÎ‚&¢¢àùçá¹ç woÍ ºÐÁn‡•+aÃ°Û ûö…èh ¡ßY,€a€ã€ã`ñ:ËfÃĉ0bDF>ÌÙ.A°Ù 5öì¢"P«ïÕóH$‚ÄDx÷]èÛBCÉDtyAP\ 2dfBFF}ü+•Ö÷+‹U/Ã`E“ ¾¾Þr¯“$H¥P[[ÿ“Ã޽᧟`̘ú¥T*80 ÑåAFUäç×űž×n&HX,†ê¯6ϼ<8v öï‡ÂBÀq€ØX8{KÊàúuر¦Oïâà …à=T*jÛ6*"‚ ¨(Š¢¢þçªU]Þh½‹ IH ?jkaî\xçúòo¿’„k×îŒÔŒ.ï D/PRãÆA|<<ñ$%Ÿޝj23!7Ž«ëÕ«Ë{-+ôîµËd¨©ƒáàÁú0ˆ¢àÐ!Ø»·~hyf!ºz¨Û^/\—.Á‘#š *U£ìNd$8¶Ð3NêòÏ#D¯ã ‘ÀÉ“œ eeR|l6\¾ C† ÑÁ*\¸_|99õ“šO=§O? Y;ê¶ÁÁðÜs‘Ë—†ƒÓ¦=$Þ,Ôµ vƒ¡³XóÆÀãAy9Œ Jå}7‡íãÃññA£HÓÓ%»§þ„¨É“{OžŒFw ¾s‚×·nE#z„ÄÇ#~ܺ P·e$)-o‡/4eåeľ<Ñ¥eÔÕÕÅ ¡ª³Ý¥žyI—ÜV ºtX,–¦Ž‰ÒWËßùì§»]sE‘Ÿþôk‹Jl6›ÙlFtéì8pà@3G™íþòöŸ)ºË*~ýfm‹JΜ9³k×.D—Χß,¾¦¦F«ÕÒ^êÛ[ôæâ…ÕF{›ëåúGõ ´¨D¯×WWW{W‘øå¶{÷n׺5M‡í\UUÒª[|d2!€«Ím@FFÆØ±4ûx_ºt‰Ífs¹î›=›ÍfžP´hñü”””ùKVΙ8Ôó^“É„ãxó»ZªtļW^ùí·ßšRâ4C¡PxÙF‰DQQQ!š {‹0$IÒnwÚˆ.Ó¦Msåõ×_½ £²+V¬X¸pa«n©8uªB&sµ¹ øê«¯¾ùæšîT©¸\®§r½^¿eË–¹ ߘ5kæìó‡ûw¨À=‘™™©V«›7ì—_~™9÷µE‹6¥¤>¡¨ÒÒR/Û¸e˘6mÚÅóçûöë×£­‹(þüóO«ÕÚb¥˜+¡H’äp8-R¬½Àf³›ª ·ÛL&3‹Ãò*ÃåpÀó®;w&%% …^¼Éd2iëår¹<ÏóI’,K$H´î£y¤_yÿÕ1n2€öÞF¾Æ0¡PÒ”x<—Ëõ²c¡C˜{}Ççó F‹·wºØ…"ñKg޼:gæøqã¦>ûÂ/‡Ïzs×öíÛ 2—7q~yѩΠ¤)¤:€“÷jb«ªªruF£kÉ=…Édò¬ëüÑóPg«ß²²‹'”f;¯:8áy—Õjmñ(i×P—¶z½Þjµz^Òëõv»ÝYη˜=ejjjt:]ó®s5’V‰:Î`0xÙ Ž£ÂŽ»*òNl¨eΞЪ¾Ðjµ´mw§Kvv¶k¼SYYéZr¯C]·ºLFí¼¾ïúÏ1dˆ« G.çxZ¨×ësssýü¼Ú|Õ`0жQ*•r8ÏKF£Q¯×;ËÕ6µ§Lqq±N§kÞuZ­Öi$­JJJ¼ï©T ÙÙÙ>r¹\’7~׊ù×®¼óü¨ÁÞ÷Å7ìv{```Kƒ¿ë6îZíÊ•+;ì+ÏkkU‹yçfht\N‘ÌU@räÈÉeË]>jhOa”wºi±·÷?^SïÖη‡Á ~*žÓ”Ь.yuùxnÁ‡s'5„/¦ªëGŽŸ<]ÕmdOlùòµû³&¶1ÔMIIqÍG]¹rŵ䞢¨¨È­.³Ù,—Ë…­F$à0–×ûWUxZ(—ËwìØáÌ’YÌF_¨Q*)a`7‘ûájµš¶çÎÃ0Ì~g¡¿ÝjV««M NP ¥²y·×ÕÕy¾9•°0Ni™ÄÕȦ——§R©œÕQ„݆“\.÷ïRY¿˜O›€ÅbE\Îͽuá„Jg`„ Ý ž>il¾ôÚòÿ¬Ç¹þlÛ즧  Àn·k4-ÚÕ©b­V;~üø†Sbg¶Ÿ¸Ù†Øå‹÷ž¥(jógŸüt²²m±KæÖÂ<ãdjHÏ-žªí»¸)aó|¼ °Üb]é?o¢(jظ¥ÞÄ.ÒkE‡« ô‡füqã¡‚û»ê4&s£,¾ PÔnËEÝG–oúƯlíòrïç)]:?7·ÖˆË•šèú³¤©wg¿°ùÏ܆÷äêš6¤Ü”PX“[44˜!ST7tj” oSE#?ûlÙko®ýíçÕ\ÀvÏûðÛ%mî‘»JÓ}²rdHcŒ\ùIûæìtö6n N¸Õf½–u$·¤™ÝSÉ“ûR†<æ™É/$=»níê½(¢nû©ü†Pƒ‰=óò’ÊÊÊVMæêTnJþ{CoªÌxwÅ[vÜ­"Êj6YõŠû3›¯ôôÞýúÄ,þ`CÅ•'®»ÏS⦊jvO1«íßÎÝUšÎbc¸jǰY¼¿Ý3Mç–(3UeC°«Œ7i:‚°kjÌo.~åÀ¡crUMÏè¡á¾aŽÇ.I’ Ó™¦«ÈÏHzi©áNßP$®R*—ÞõùÏ·ÂI’ż¸pùÚ;š.“ÉfÍšåëëËðøZÑ5MGD^^žX,vSòÑ‚‰´Îq3ƒ°[ëôúzIŠ’—«OŸHÏÊ8\t9gùZÁÓ#8§&(ŠrKÓ}ôöûvÿA'ïŠ  Üª;¿'eðÈ©´6tDšnìÔuc§ºz»gšÎ-!¶7õÇG¦/mmš.õë¥þªúôá g¾¾&Š[~á‚´èò_›¶íÑÌ,6×lµ94ìß³Çàòì6pÈ£qŽKñSæízæE‹ çrylŒ•1'00Ïç¯^½úâÅ‹ñññ‰‰‰þþþl6›ÉdÀÕ«W5MMMMvvö“O>Ù§O‚ Ü”ä]¤?|ÆŒø¡3 ò3óßü–ÁÄüƒÃü#[ÿÖÄììl‹±ö—É9…¥8I›1ã…;iºÛ¹Js踞ª[%ª[4å”êïU™]ÙEÒt®¡®Friôäùnn¡.ÛÍf“Õfw u“×¾×ÏÿJ±t×úµ?¾MQÔ©½?úr]÷üa8$E9ÃEûø}|D±Ï*xcvnnîÊ•+‡:lذ)S¦Ìœ9söìÙ#FŒ˜0aBjjªF£i­š1CWzhú³#æÿs‰Î`y2ñuŠ¢lFuÒÈX×\µf3ԙЋ×m@¡¬ÚŽ­²áLÓ99¬’^Ÿž4ûõ¯ö7Öçûþ‡×Kn‰C%·þc–|œzãjŸGúG^ÿƒ4ÖV)«}¿¶BgmÉ#†NpüÑ}@BÎÕÂÒR ÅÆDõô2Ž‹_·n]mm­R©$B,k4šÙ³g·¡µÍ˜!Žžºé³êï÷Uˆl’°IÊ•çßøû¹×(<®áˆÃowü^õÒœiãÆ}°ö»E3Fµÿ£ëÚt‚ H’ì°ÕêE¹ÕEn1nùî³OÖ™8oÖènŽ`“ ˆ¿þØ”4ç W8-' lj½¿ü¼yÿþ³W?åí½*ð@ëX„Ëð Þ¹ùGµXTL_ Zßl±XìL¢Ü¸qãî\ׄe¶ØÊK‹V}¸¢0w÷3àûWzc,&NÀÂØÓ|4rB}ÃI28zÈÉì+³U$´ÊǪ¼oalÞܱ±ÙlW¯^>|xÇÐ%++kĈniº/?~ç–Þ&ô}ïã‡û¹/lóS(ü”Ji\ìšÿ’Õ5,a‡úŸø|>\ÊÜ÷[ÚÉ:+`Lf`hïÙ –P•ÇŽgêŒf‘ÐÓ&…·ÿ1‹%Ú±5kûÁ¦¿µqã¶k%r.GPìÇÆ=÷JÒˆÓGKdÀdÇ |ôéQ9Ò:‘ùùÚîݵ¡¡m«èöíÛ$IFFF¶"v¹ïÐjµC» ˜l~ZV!­€#v! s\ç±ô ¿°>g¯J2ïÍ ðãþ¼}ϧï¾çˆ]\Ôîèâ7nÂÔÌ ùq#5—'¼“¦ë,çHw 0 ›³|]Ò“›™¼C™¥lN-“WGö}uÁ‚˜ð†ÃX×üœeµÄ/š7s˺’ýÔ;ߘ¤üãöŸ¯õx\gXÉÖ¹è" 7¤î4öéft­ÖЈ~ÿ]½ÞµÄù7›ÉÁ,ÂjeR·M|:ô€ÃHŠE‘„ÕÊa2î{[Ð ]hwôïÏäp3há…F„NôÑ+¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ Â}ÇÿòúR›Ê—™åIEND®B`‚nted-1.10.18/doc/docimages/selection.png0000664001041000007640000005066211520267216014742 00000000000000‰PNG  IHDR7£ï¢YÓbKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIME× #+§ nº IDATxÚìwxTEÛÆ»Ùlz%! !ô^DQº""EAQÄ^?_""%HïH”Þ‹Bo!Þ{Ï&Ûæû㲤7 ñÜו Î9SŸ3çÞyÊÌ(„2dȨcPÊ"!C†Ln2dÈ!“› 2dÈä&C† 2¹É!C†Ln2dÈÉM† 2dr“!C† ™ÜdÈ!ãþB%‹ üó}. EÁ}ä]æ=+’æžëòÞ«hšë/ÔÆªÖO)å”Tᔘ¦„úUàÙÌ­ä1(C&·jGÔ¸3q%O\y€´úˆnñ,tìÏ>[õ ââàøqxâ pv®»‚LJ‚“'¡kWhذ\Yµ#Ôo.C2¹U;ìb.Ñ&gGþµCü%â/ÁI`!É :HÿV­ûB@¼uZ;ÃgŸÁo¿Á¼y0n\ÝäãÏÃÑ£pø0<^>rˈ“ÇŸ ™Üj öѱÜYr‚Ë—¥¿ }‰W¯JÏ'Ÿ”TÐ_~/¿”TÆÂhÕ ¥\]¥—‡¼ý6,Z$]·i#¥Ý½["[ì}Û¶¨ÅÁ;ùöè!­>øõW©mýû—öÈlTÄrþüyÒÒÒþÕv\¾|™øøŠsÀ•+WHHH¨jéùÃ2| Z+æ­ÞÂô矬ðå"7GGxùeɦ´b…ôlâDèÓš5+š¯[7h×N ™èÓG"!//ÉRzvv’Jy挤šzzJyvÞ ,ÎÍ•fH'OÂï¿KÏÇ“ò(•РdfJN±caãFÉrû¶¤¾ž9#ÙМ¥™^E`c#‘ö•+’¯Iˆˆ(h›N'‘§Z]0닎–ÙHOOçäÉ“ 4HF °}µ@wM4u² *¥0S»ˆB“ëŒ[9ò²áÆ„9„„<¼tI'§‚g:˜†IÆÕ«B´iSrXÉRºÍ›MCA4!F.âáê*„™™ qû¶~~RÈGqe;9 qäˆê1ožÖ֦τX½ºh(ÈÓO›öaÿ~é~ÿþÒun®“' ¡Tš–çâ"…¼¸¹I¡1BñúëÒ³.]„ˆŽþχ‚„††Š#FTKYz½^L™2E\ºté_ëÑh³fͬpÞÙ³g‹£GÖ¾PeK–ªå×-‡xÔ>‡Oe³ïjz|5“º2yKlÜ—FWV}б#üüséÊI=8±hÚvíÀß”TS¥Rr.\¹"y*ólÛ´‘TÞ<ÒÒR ½˜“sI¡è…À¼Nê¦÷àå—%[ØòåÒõk¯Iª§OÑ´VVR\ÚС÷úõ3MÓ¶mQÛ—J%Å’=þ¸éý1c ë9Ò*„öí¥x¼ $oef¦Dn…ÞÞ’Y||$ð½hÖ¬è}33èÝ[ú+Œ{×Õº¹ÁŒô«^±b­[·f¤¼4®V£z B˾° ^š2 •™j îj3”(þ;Òœ1Ã4wÄHN¾¿m˜;WŠ7ûè#Éö¥VK^Ó ¤YáäÉò¨—!“[yaÐÆ¢1i×ÉMš<@¯×Ò©ÍPÌê·½2¡À¢Ô¤Iñêéüù×W®x ï>ø@R‘{õ{{‰Üš6•HíÄ i-ê111Œ5 F#é²ZZI(ÌpPI\¹pÞ* J7ÆŽ~è¿'Ñ—^’ÔÓß—®'M’ÔÓæ÷i§E{{iù€«~2dÔ(¹mܸ‘ƒòÐC¡(Ín& F6¯\Áîä[|±oãZ”嘹i²2°´¶-½ŽûŒ¬¬,T*ww¾ÐD9“ïÀ¹Ä2óªííy^­ÆöîZQíСü1}:™jõrÝXãMÃÇâ°÷ʪTþä³>XÅ¡Q‡á\]ŠÓÒÒ bùò嘛›W[Ο?OTT)¥l—III„„„°téÒ*—e4¹yó&[·nÅÏϯÒå!HII©¬ #/€7((¨Bù®\¹‚‚[·n•š.55[[[T*U™)“&M€Ðéteº]©g'æíÝ#š8Y Ç&]DXš¦\îÚ˜§D;k‘––V«\ô«W¯§OŸ6 ¹°µ¬Yc±tévw†¯úGˆ›Ç³+ßo­·Ï§‰™3gV(_tt´xá…Dvvvµöç‹/¾›óvW©ƒ¡ ™™™búôéµ6äÓO?áááe¦«¶ ]Ú82gäHÂ3ÌYµz í-Ëþ¥Ñgðú”™Dgd×½éʸq¦;aLž,ÌÖb$Df±ë§r²u²N#ãGµ›Q—JˆV.#“Ùó—3¤w›rå[¿p!õº×áÈì7ß4=ìeÄig-EZb.W÷Ðæä/CFݶ¹å!$$³RvSõýb{übpîø4¯<Ù‘Ðà2ËŒ¸~’ÛF7Ü,­mí™Å$$`eeEðÝ8"դę\»‘­-¶Lý·ßÎ3F¹jñU8-+5 Òâ xu©þÝm##³Ðhl KÅ&µúìƒèèhÔÁ•³©ÆÇÛ¢±K"---ÿ}”÷fff‚¥¥eµõ'%%…øøø µ¥$DEE‘••U-e ÒÓÓ‰ŒŒÄÎή ïKCzzz¥Ú$„ --˜˜˜ çOKK#::ºÌ|©©©„‡‡£ÓéªNnÁÁÁ%’ÛÅ£;ønÍߨmUh¢Ò ÆÜ¼ô ¡^˪M'™ðòH¶oóË'7kkëZCnñññ¨T*ïîÙ–eKfœ5ªà .nßžž/¾ˆõºuß½óWœÉ.ç±v÷"ì¤A§ýædV{Ÿã¢th4^„†F`egVäVŸèè4ŒÁ¹•|î¤[ÆV˜Ü’““ÉÊÊ"$$$ß1T]äW-„W%rÓjÒØ´jg. 3*ÈÉÍ¥×c}ªÔßœœœ É:9&”õë7pãv9:Vo U«Ve“T\8ëÖ­çz`09:#Z‘–-[–™/%%…ððð²C|ªâPÐf„‹N í 3±rûJaeí,’²Êv$$_>'~úñg±`Á1|øpˆŸæ¯¹Z}·“““Errr:Bo&‹ÔÄBr¸rEgçç˜1•nÿ¹­ñËË¡5"›Û“Ä×Oƈ´$ìPx éIabðíÒ‘× ¥Jü¾jËýq( âðö¥¢¾ƒ¥hдµ˜6ë}ñÁ̱Ben.¶ìÝ_ZFqb÷ áæ`)ܽZŠ©o½'>~û%¡4S‰?ª…E_¼ÏåÈtžzñ=Æ {™NÖzþM/3ŸS‡nÌz{&Ó§O§÷Ýå:' Em^ó‰lÞ¼™­[·ÖhÛ¿Èäò4“Ù \oØÕàú—ñ ÂÈuÿcÌœò OõïÏ›o¿O®¾26NÁ’¹_ñ×™›&wÍ,l°oØòþØh“nóÊ«ïðÉÒ„Ýà›§ck®ÀÒÖ“v:–˜/;-„q/¾Á‹¶Àÿ>y {s%jk7Ú´k_mí«4¹å¦Þäë… 0wáÛoßÃL© ×ãìúnëÖoÂÿêD{vùŸùµZÍ‚ X·ñZ]6dkÈ»`t.©Œÿ„ž-Kæòp¯~ü²t%d×¶Ü ¨ŒJ*ÐM¿…™š±Ó>fD¿ö÷¥;z] É-ÿÜÉóûÒÀÓ‹ù›Ï³jÇ6Zy”¼)‚^ŸJ²F‡ß‘ݼ0¸ òÝÚS¬Ú¹“Öî®ÕÖ>…(…&OžŒ¯¯/‹-B©4åÁ³v±üÝtê;Œ)£vß—¯ "®`ëéÆ-;ñê„ñx8—nKKMŠÃÞ©>ÊR"~oß]Å…À¨Zt]• ÞûòÚÜ*½¶4ôL<î=FÑÛËO¿þŒ¡3aÞx'¼z~ÉŒYs˜ýÎt†õîÈßçNò벿ù|FÑð‡Šñ>ÚŸÛ‰óèØóé$ˆ%K¤{¥ë_•âßä½ÁªIõ3LHd]Úö[F•~•S¦±uß)ôB T™Ó±cç*¥@]KinÅ´bèÓWÊÄÝ¥×Ó,êõ´ü²j ¹:t¨Hœ›¢e=ÂBC8xð  ë±{×~’=íin©bÓ­û4&×* ¥JIlx4!·¤ð«œÏA•%ûvôèÑûç€R©äàÁƒ¥¦»~ý:)))dݵ¥…Ø’eM’}Ùqnqq\½šŽÖ¥ä€Ü[¶¤]Þ£›6׺5W{õ*³ì°+vÄĬþ¥\qA:’“½8vìr•ãÜ 9f¤‡Ù‚JOBœ þþ!DæV.Î-üš;–鱄‡‡—øÞtÙ©Ìýè=N\ .¤èHKIâÈ‘#¨+¹iÁÞ㙨$®…£ÑèèÑoº7åPãçAFNNe~#ÿBBB8yò$®®®U'7ooï"ä6~ìkŒù|3_}Þ˜9ÿȱx?ú,=ú6@›x¦Þ}IºpŒ‚þ-{Ò²ÐVÕzM,[·Gñö[¯³z¥t°J“&MîË ”Je¾£ $Ô¯_Ÿ ä§KЪIÑ›ãí]výls©_ßoo›’­Yƒ®Ìï,Ú¬\‰÷Àeª§¹·•ÄÛeâí]ý[t«r²°²¢I/l*GF­–}ß븴¦JôceTdâé‘€—wåN¼Ê¹j‹§%¾·ËNròš©×Q©¶åÅ·þV­ZUAËmÈã=;sÆÏŸ¸ÔL¶­YÈÉ'ðõõ¥wÝ4%h4šReýoÃÉɉÆãááQurkÚ´i‘íE¼½ç0hí¾Z´“ ófÓñÑþ˜)ÌiÒekoäÒ¨ISÖýðÂÒ“éᅫ·[Ár”+É´hÖˆûöró¦§sèèUÞ˜:ºÆcÝ\\\033+óŹººâé陟Î"Ô9¥Ÿ¹œ›ÜÜÔx{»•žpçNI=MLÄ64ÛŸ~*S=MvËÁÖ6oo¯j—1=++-^^Ø;Wn¹ÒžO’¹¼ÜÉdf¥°ÆÓà oïÊGëƒsCËR?¸úöŒ}ºë÷ù![§¼ÿÕ¼7u ª*¸¯™Ç_þŒÆP@Ì á·ÑefàíݽN’[VVöööµ–Üiܸ15*ÃPi(Y²j-»ౡ/qöjèíÚ„°ý~L3„ï7ÿÃâ kiçfºÎíß â­Uh×Nr&äaÓ&élÑûaÀoC"?<ͬa¬~'C޲ Åårå° Š{‚Ú$àÔ¼fw±uñdÍßÇÙ¾æWúõéM—- ½q‘[±U0¹éømûbhÒ±7Ýú>Z+†V“ƪ…ß3â™! ü ÿ[¸š£|&l¹gn%Á¾Q{þñ¿Ìâ…¿ðîk#IÉÖ““š@VRqŽqýúz»9”˜ÿÞ Þ‰¯<ûß#¸Å‹¥{¤ë… ¥sC]]k´ZaвnZ:Ç—ÖË'£ìÛРKV¥ËT˜YÐiP2!ç@è,=Ž]ãy}³3® ,j¶?BÇï?|ÌÌ$['4}üØnDsêàÚÊõGaN+o” F!P(Ìèüè`–¯X„—ã¿¿ñhFr8c0Y¥°oß~ÜÝ?æ©ÿ<¹U:ˆ·$´QÌ|ûk†Œû”»×º—7ˆ·¤xËÄÛçŽÑE‚xKB£´4žš;³»;»wíÊÁ¼ƒ\„‘Ë;ÉZ"²­03‡z-³i÷JP•äp¥>Á¿ E%LLl»DË1çP(+ÿ럪à‚o3YNËTlºÐù93Ô•œ&ŸõÁªqé;ñF…ÝáÿûÜ{fYžÉÔž¬t_öîÝ‹ƒ½mÚ´ÅLm­µUUi˜ÛWϱkÏ!R35XÛ;3ôùQ´mâQA27²ií Žœùj[­ ,ooq‡2WKoIÈ;¬8ïoáBaÔåˆß_J“0ŠÉˆü¿E#²ª,‡kfŠ©J½I¹ï´Š19U*7úJ²x§A–I¹“”Y"àXV•‚xË:”ùò¹ãÂN­4 mÒ¡¸_¥þÌ;W¬[·®šN,։͋¿¶÷´³u—A.Ê`Љq/¾`ºhÞL-^~ç{a2ª|(ó­¿2ë£ù¸4ë‚ïŠå4¯oƒBiA +sô9Áµ†é…AKÀõ«D'fªÁ½^õ{eÓbÒ¸t<µ“º»jQ…°h‘¤žÞu°ðÛo\Q Æ]£"6,£K.Pµ°™¶C,»,•Sër‰¸¥Cá˜Ê ‹âÞТ*‚æ™–dDß3»±`S³ïؽQsº>Ü“†ndètêþS&MÀÃÙ®ÖŒÃèÐÛ¼ýîdjMLJCãʤÄÊÚžiÇ—œ‰ÚÎ…¡#Æ0jX¿ÿÒaš5gsÛøá\L„[wøâû¶¬þþSÆÂrt¨¬[ÕRËÆ÷§¹Ì·ˆ°ØT,,ÌÉÉÕ²xÉ’j«Ã Ñ°~V'w½d_4*3éñ|%lW[¶HÞÓ„¸~Þœ…àÓ¡}4/|Q ! 3štP²÷; ´‘("½XÖGCÐ7qŒ™ãViu&Kkªæ e}ÞÍ E×6Q(”¸Ôwç—EKq*|vl-B¶NG\–Þäž›OW~ûnN¥Ê33Sñâ„©ôìÙSf²ê&7—îM ðîÎ ©¨äk»ÉÐjiسý¿Ö©””vìØÁÑ?ײyïš¶ìÀ{“‡âa™ÂÇ_ýÂ_ÇNЬiúõëWn[b;P\6§Öf|Ôœë»]MfWJ£ v¤¢ËNàѱΨ-Ëé$iÛVr&Üõ˜v4l§¾ý~"²Ai4GØ&Ѫ¿šãËÒPšè7±öõ*¾ üüÞDÂü§Û“k‘ßr…ÁŠk¿ëØ®K Ã` šu²¯ ¿¨0Ú…Óz  ñqY8zYñÈx3z=ã.Ï&s :vlO·.äåWµÜ^ü¿l|žnƒ&òÓg³QsøäëÅ4ëñ ã{zþkrrrbÜÈN¼7gkŽüC;ë\þÜþ ­¡aû¬Z´'»ª†Ý¬ÿ¼àÿ7oÑ$è`>}* Ö$«úYÚ–nJÌlr HÉ:•ó2xjœƒüUÈgnÇÏ&xØËœ<õX9Ó§O/¬Tµ`›… ߇™ˆÒÊo¯†¥îWYŒZè“sR¸”{kG¼[4¬º ö ’sá·ßÃtéC4íÊlš©:¹Y8hñè–Ío墰´ mo7ìmUò!C&·Â°uªÏ€!ÏÔºÎ)”jZ´iWãõÔór¢—W5±§M“ Lf?Únã±é÷\õø*Ì”´îéS}+ùK!«¥2J‡ï„`®ÝÑV½ ¶m¥Õ wáÁ ¾ýæÃ&»Vi­¤ 2¹É¨†àÁΩQ$&V}-åY³4S0Ížñ¦´ÿ› 2dr»ßpii…}¢ ¿ŒJ"+£êÞÜìð2Ô/´½Ñ /@|¼,h2dr»¿Ð¦d•dAÜawÖ~•A•7hhcªžró¦´{ˆ 2dr»Ÿ8þ³ŽÔHsŒÙ´é§¢Z´Ï?o¼Qp=c\½* [† ™ÜîâÎ$ñ÷ÏÖ¡ ã+Ùô|ª×°N›fªžŽqq²ÐkÓ§Ogøðá² drûoÃíagºŽÍ…žN“Ë}–jùÔÓ6ùqoùêéæÍ²Ðk¶¶¶XYÉ¡22¹ýç¡`ì+ºŽN ýR*Õ¾êˆÒIY…ÕÓ+Wd±¼ÿþû÷åŽZ1Ò ¦M›FëÖ­å—/“[ÍÕÍÞïs0 ÁÎáäÞŒê¯ä^õtôhY=,,,èÚµk•N–ÐÈ­}ûöµv™Üêþ|'‡íÚkÅSo¨°®‰=ÌZ·.ªžÖ"ïi÷á¶85£ŒKš]>ÿüó² îäÅ„ÕaäìŒ-³™¾Å–ú.58ƒ1Þ|,®g΄>} cÇ] ý'¹Êc¡8::2aÂYòÌíS¤óBÀý8|hêTp+´©dáDÊK3›f¡RËC@†Ln2Jå6O¼˜‚êŽËßNåú¥TDM’ܽêéŽ0~¹³{4µgú2ì-äw'C&7¥ã‰/ëñò²tÜì¬>£'Gc¬Z # e)e<÷tèPp½x1ÄÆÊ/B† ™Üª_5íùŠ3¯üfËÐ×]°²®šx»·gúÊ2N–߸±@= ÔÕZ†¯„p"[Å E¡X!Ðjµ² dr«:vîÜÉ®]»j´Žß߹ù=÷1ölþ|SOé’%•RO#Ó˜?!ˆ¬tùc“Qy²^°`çÏŸ¯pÞß~û‹/ÊäVYÄÆÆWÃA¯ÑhÒîsÇ6nw÷õôõ×+\Dn¶¬( z£ü•ʨ4BBBHMM­T¾ôôt™Üþ«¿’ˉ ‰E´jeªžîÜ óæÉ“!«¥2 Äß\Ú[ÂÏ?ÿ :™ª§11²Ðdü'Q® 111¨T*½Z¡(0g§'s3àz¥%-[µÂÁÖ îIsožâaeå+NÏÏKSRú¼ûiii(•Jbbb*TB‚Šä119Åæ+\¿F£!%%‹˜c…ú_’L _'§HåÇ"-“úú ב#1OJ‚[·È™0”•+ËUWBBÚ\ ââbÉʵ¨P»ï}V8Mnn.‰‰‰ÄĨJLSZÿSR­±Ž×b°5”)£ÒÊ.­å•eÇ_IéãââÈÉÉÉŸÍ_‘¾UWÿË’ff&III&c´xûu¬TÊ|!†É=‘ËŸÉô>ÅÒÒ¢ø4Å\W6Mxx8 …ÿRó8qwwwš7o.ÙÑÂìÉŠ¶!Û?¦ÌúSR\ IA鯯P» ß/.@T#IIJüýo—XNŸaÃ0_±Ëýû¹=mi¯¾Zfý !Ò3|¸t)+;³j“zº'·“IQRR_óûÒ} »ç-güøñUzÿ¥Õ_šü«:þJjGBB)))øûû—ÚÖòô£<},OšÜÜ\Ö¯_Ï+¯¼R¡2ó®ããã ÄÊʪÌþÎK`` jµºTÙþñÇ<þøã¸¸¸”.Q &Mš$¡ÓéŠ}¾ì³ bÜ»? Á˜ÏÿJ¡V™‰~cÞZ½A£^œ9yRdjõÅ–±þ»B¥Tˆ´´4q?°xñbáëë[fºÕ«W‹Ó§Oç_G^âÂÖòÕ1ot¸8¶!¶FÚn«FüòrhÙ ;uâîb0Ѳ¥ÑÑef¹}1I|ýdŒHKÒTk›¿ê!nÏ®t~¿µBÜ>Ÿ&fΜ)êBCCň#jU›233ÅôéÓ+•×h4ŠY³f‰ƒV8ïìÙ³ÅÑ£GËL÷é§ŸŠððð2ÓUÚæ¦M¿É÷û’ñýzªB{iwí?ž‰ý}8¼áGæm8Däžôíûsÿ·¼H¡óý®PôÆû±ó?†ÂÞÓ[·`ÊY&•DvF"Kç}Íð¡ƒ<ì9~Y±™\yÌÖ]‡Âí»´ŸÇžÎÍhÓ}ËÚ=>0ï—ßqzl(Ìy—ACŸ6IcÔ&³b§#÷–ßBM eKSp, »vÁO?Ér© £úØÃLyûcvìÞÃß»¶3kÊkìÙ{ZN]p(,[¶ ¥Ò”£Ïýƒ67‡sGw1kÒxž{f@þ³°Ë×Q* îüv|WôÆÝË›k~{¹æWÿÔ¾Ý4îÞ‹ç¥A²råJ,--k¼Ã'Nœ@©Tb4–ËuæÌ®_¿ÎÕ»±h¢œÉwà\bH™u5'åP é™Õÿ±]t'æ¶K—î+;q«V<׸1.áá’ÝðÇÙe4’io_lò”QQ]Xµj'6Õ·¢ 2²þyŠã7+ü—|ÖåÍ®^½ÊÒ¥KËH-HOM&%-{Gœª²©ž`×Úe¾d:#0Sräøâ#¯WY6III„„„”£_%ÃhЇ֨ÀÝ͵¹Y•Ú¤Õj¹~ýz¥Û”÷ÍU(ß•+WBpëÖ­2}ëÖ­ÃÙÙ™²<•²¹õbêèÁ¢÷C…ÿ­x“gW–Îj…Bâ¢ÿ!ñôã}ÅÎ#×óŸÇŸÙ%{Qü²`>|¸ÄOó׊Üìr²Í­6·<ááQ`2¤ÎÚÜ⮈Qz Õݱ§²°ïþomånÔ‹WF?#6±€Pš[‰7¿X,ŒµÀæf4êÄþ-K„Oƒzùí«ß´ƒð»#ÛÜ„•Þ¬RafËovû,$G™Ec\tYœ÷;Í• gÖ· ®=†ð÷Î!è´Z¶oßÎÄ C«ü‹#£õ4O%ݽΟ‡®]k´Ú¬ä,.NDXš“m¨ñn¦Ç‡óâ°á¼\0[Ðçfs|çf˜óbe9Í;<Äд,Ì-m±vtç¹Ñãxö©^U\)+ˆ‹ %(4¡òc~ÿæåŒxq*Y†-$!4€kgÏнõ³²ZZ…^Ž;‡A@ëþOSÿ¡!D$¥aaQTåô?ó'çÏŸÇÅÅ…å«v3íõQ2ÁÕ~üŽ… ¤ë±cáÈhРګ2jµìú*•=ßÙ#r¥MŒŠL¢fãÅoÝâÐå{ÔGµ-ÏM}³Jå*fŒ÷JµíÜ‘w‡·§NeíÎCèŒ êùxÅålÔ±æÏ}&ÄP¿Y'2Póå%·Ó§OcffVX•-%ˆÏȾ5{èÓ¶5gÏœFAIÁxÎL›6iÓ¦pÖªbAŒeq £ž„¸XÒ³r¹|-{ N:Ujo`` YYY  )AÖ¤GZ‘}*©Ø¾hÓ$‡X¡´Ògέ[™˜ºSb›Ë{ïÞëàkâãõœ:Yîþ8¿ð­óÈ-0ä… ¹1PúÒÃÕd'«Hפ‘šêŸß-¬íU%¶±´÷qk£'g~õÊÛ—X"aŵ+×H4Ë,µ%õ?$°>Ö¹qDGG—øÞb#âps²#.%¨­ì6v"ݽ,9uêT±u”§þÐÐP4I• tÐi2øî£·Ùsöfá„Ä„ç—_Þ²…$%gcanF®Î(pkÜ‚÷Þ›I\€?±• Bä'ë’Ú( :bcbÈÖ ‹àÚµk%ÚÐ Ë_õÄÆD“k$8T²«–¶` ""‚sçÎ~×–\Ru¹ÈÍÑÑ•JU® Æ›G·á•FÓ®O0yÌ“X˜›•Äûõ{ïóΗsM„qoÙ¾?aþò¢§¬·6’U_}†¥²haÈfů?±æ¿HLÍÆÂœœœ\>ýüsK¬ ÀÆÆ{{ûüÓ… v–mÔ8:Lò²³Ùñ™Šð}mPÔwg*é´tGGËj âÍ»¶µQ£¶ÈÆÑѺBA¤Æ!CÈ Çòîî½Îß|ƒÑЄÍk jˆB‘‹Sës°qPW<@Ö¨'줓 ±8´¡Q73lìK˜•Þÿxlíì°°°(ñ½ !èÐíaÞœ>…¹5îîîXªU "-®~+++lllprrªrohJ{ÏÝ4]ª,>iŽŽŽ "BàààÀÒ¥K¨ïæÊÒ÷úõŠ¨Ë•éNNN©².|/7;‘ùs¿aûÞ£dä°0Wb0ÂàALúto~}n*óç~ÃÖ¿‘£ÇBm†Ng`ÐàEdqoý–––888y'÷æ)¹µiÓÆ„MKü%0æðÁÄ ve™ï :wlTfž ßÏdËÞƒ,Þðö%xñê×+þ`\+G'Z·iƒu1' 6ñY¶ aÖg?2zäpœr¯Ñ¢ë .n´mÛ¶LLÓ¦MóÓE ^À½ÙÖ¿’LÄßN(Mf*ö4lضmݪ}ª­¹•C¤CmÛzU<óÌ™°}{þzÓ–ÿû£»Ûv…°ÀÚÒŽ–-±w®œçºçóÉl¿ž‹ÐYz»Æóúfšz7¬¼ýî87³£^½z%¾·øøxìèõhßj=îÎÍ͆ Ò¦M›*—åÝÐ)Ïöe鎣XÙ¹0óã¹|ùîD̳âFœœœðiÑšž={V¯½4+ ggç2¿]®†IC^æL¢5s®bÄ3ƒÉÜNóG'bÕ Q‰ù :-S†öæd´9_/XÎóÇ`ý›Æ½ˆ¹G£2ëuuu¥E‹4jÔèþÙÜ–}6¿Ï'ðÛñx粉­"A¼~çLJߕ¿-ºÌ‹,úó¿í:E;ë\¶ø~ÏïËWáÒüq&¯c«Q§áêû"3·G¢hÛ×¹šŒXN¯Máä*-1‘:,íìiЦ’æì-`éR:Tj'tg=û™-ý8)5tz9[‡Ê“òÓ9óÈÄt®Ÿ‹Ã±±-;6wg¸ K{gm=ħ‘¡Ä&gáíッ̓{š}JÜa6Ÿ¹Í¡«·°Œ `ÁWï²|Õzz |™gëU²ó'ékŽ]ãð`lãùí›÷ù}åZz<5Žçz?\û ~~ŸÙK±ú¯ŒîߣLoRá Þ‹'þ¬vÁ›Û´gØÃõHGŒ€›WK^~í}æ¼ý:.6ÕO§4·¢ÓàD/v£ ÐáÞ/Ži›Ü¨W Gû }.+^ÍàÌšzùš x5©Â¡.C†À;ïHN`ïHB¬›3`®–Aoº£¬bˆ›½»= µ—Ù¬XP‰G#o<=ø]±¯×‹ÞÍêѳ©(4mÕ™™_þÊŒ)ã°2+yÙ:=B¿6ôö–òyµèÈ´Oç3kÚøb5°J‹Z”²švòäÉøúú²hÑ¢"A¼yHKŒdÚ 84íÀàþ}±·)߇wh×:>>KgN°eËæÏŸ_ýA¼ÂHZj* •;[[*2ó?sæ õë×ÇÛÛ[Rïñ:v.īϰ 'É•S–Õ·‹m¼– By§Ñ®ÿ)Z<_ùR·´4}ÿ=æ ÄX9ñלÙ¸ÔÊ(ù¬J÷öý³šQ…÷¬+„ŒŒ 6lØÀ¸qã°¶¶®¶º÷îÝ‹³³3Ý»w¯U2B°aÃzôèA³fͪµl­V˶mÛ=zt9>1=©)i˜[Zc[Y¨0HMIEei…MÅÞ×®]»èÕ«W™A¼åš¹½öÚkEln QA8x„4‹z¬Û{œÖ^ån\‚ßnvüåŒZ^¯—ôpê1á•ѵ&ÄÊÊ yäÉævâï@ççî_.9f²äw(¬µ;´fΚ‡pqëUµÂ[·ÎWO=4)¼fc“'×Jr;kέӉμÈäÚÏ™3g?~|µÚÜ’““iܸq­;ÄÅh4réÒ%žyæ™±¹Ýºu«DYÿÛˆŠŠâÅ_¬9››«g3ÆŽ¯Ü/†Ä[>t|ÞŠÑ©)œÞ˜C¦FA»j¼éŠ“S5œf?dÌž ?ü ]Ï™#Z_Ëf(2dTÚlôoV~o¯Vg߈‰yÆŒ>“ëñÁaO¾þ§c>u©bËäI¦¼ãÆAT”,xuåš¹­]»¶A¼ÅH– 8`À ظaôQWsoiõ—ÄëççGpp0·oK›BfE8¢‰³çZVx¥v9­® ÞÊö¿¤¶6=š~yK³nß&ê»ï8Ü­[©õ—ö>ÊÓÿŠñ&üãyp$ÁÁÁ¬Y³¦Ø4ééé„……±qãFlmmËÕÞòÔáÂÂÂÂ0 UzG•}VZo`` {÷îåÎ;•~ÿÅ•­Õj )VÖÕ1þªºp@@Û¶mË·¹•Ä[.‡BFFF¹ƒx˳jMí²[“õÇ\S’¤ Ã3†«¿&w‚-ížÅ'Ÿ ¼ë=È=~ñÐC5V‘jý?¿I…W7#.ÍŒ%–À¬Y³øõ×_‹ >­lï?ü@£F=ztìÄ[Ù÷/„à­·Þb̘1<üðÃ÷½þ»ÿåIS®™›¥¥e¹‚xë2,,@­+«:ع)S¤Í-瘝¯¾*­=mذV4Om.É¿4Ù[ZZ¢T*±´´Äª_’¹¹9jµú¾lÇUFÌḬ̀°°¨ÖþÊ67u Í›KÁ½y¸sÖ­“åôîÝ›öíÛË‚ÉMÆ‹Aƒ$iÞüüdr“ÉM&7u¯½žžןþÀ4]­VÓ­[7ÌÍÍÿ¯J¡PСC‡jé“ÉMFÝVO}} ®÷î…o¿} šîèèÈ{ï½W¦§´.‘ÛÔ©Siݺµ˜;W–‹ ™ÜdÔ|ûmQõ4"B–‹ ™ÜdÔ1õ4(HVOeÈä&£©§ãÆ\ïß/«§2dr“QG0w.<ü°¬žÊÉMFÄš5¦êéĉ²Ldü÷È->âÁ‘ñ²dëšzúÒK×À7ßÈr‘ñß!·ó‡7Ò±];Z4oÉ‚-BpÁ7ßÀÝ-×eõTÆŠÜrâ¯3òùW‰Mסҧ3kÜüÂSd ×5õ4oßúà`Y=•ñß ·eK–ªå×-‡8û×"ÌŒÉlö]e&ÑÙòº‘ŸÁ¥£É(íÔt}Ü KË¢3‽N/sBqÏÜZÔ7”9Û ô‹#"X‹Wg|^}UŠ»«’š¿ñæ¼ òذ)¸´m¤Ã¹M&V޹äè”´~Â’§ÞtÀÍ£ŽÏF¢Ãƒ ‰ŒÇ³IsšxºV‹Lµ9™Ü¼~ƒ\,h×¶ Ö–g5 z¾ÿð#^¸m’ÇÜÊk×µešNbLAá¸x6¥ESOÙæVu©„hõè22™=9Cz·)W¾õ R¯û ™ª †œ6¿Ï» Õ¬åÅêA|Ð5–øèÜ¢«^`¦Äf×*†Ñ_8–X~Ô¥>i—¸³ùE/¾kkÎÚ ÖÒj…»p!„GX]ðI)sèón-ºb7…kW=S79ñŸ'/}S¯Zˆ->ü*£õÁ«i z÷îEófM˜ó]ÕŽ(F-;VÍ£¥Wc:uëAnhݵ/Wƒ ©qZ.F%›~Xæ–¼úÖ§ |Äç_™ÉáL3φMèõ裴nÞ”gý$ÛÜÊcsûçï-ìñ‹ÁÚ£-^Š–ù.-³ÌìÔpŽœFmÌ`åÊ•5wð­äähÐé XYÛ 2+›ÓÏœ9Ãõë×¹zõj¹ln ª O„* ½],(ª3¾O‰2³fZ 6-ŠŸé¦îÇMÍLfcY7lXÿÛ¬›æI‚Ç^¤é"P·[xSóçßêâ[UŸë? ;Ú2¿t…Ñ’‹ë"Év Ƴsg_¼À0>嬅-W­êãØ+‚ 7g ‰ŒxˆŽîºu»°v,Û•|ÖåÍ®^½ÊÒ¥Å-ƒ.›• çsöfhþ=}n6[…céŽ 6—\­µÚµÚô“¿uŸæ/Ec(xŸá7ýXøÃté,ù§×ëILLÆÇ˓Ĵ,ÌTt{ô):xªð]º´Æ?b!Œäh4…+++”…l|FƒŽm«sÀïšÉ½¿Vþ¥­‹?LG«ÕrýúõeýoãÂ… ¬[·ggçšµ¹Û³\¨Ì”ÂÂV%ì›9¹ú2ua]vŒøàƒ/E®Î ~üñGÔˆÍͨÏK¾ûX4ñ¨' 3aii)ܼ»ŠÈÄ´j³¹é³³Åê)qb²J›o?z§s¤HMÒVKBÿIï7K“î–ýšY–ØòK\Ѿê4â‹öZ;Öd„øà‘x‘’Zô_Mÿ×/Z$Çe—«‡Å){’R#v.O• Ѹqý­iS!BC‹-+âvšø²o”ˆÌ(WÝå±¹9½_( Ù»¡TÛŠÿ­9PbžøˆëbìàÇ„J©€P©­Ä[_¯,©Q+ž{v I™€hÚ¹¿MÉÍO—““#Æ/nß¾}í¦FØ¿e‰ðiP/¿mõ›v~7b ÆmøÍ"rQ˜™‹7¿[WçmnURKu™Lšôz£‚%k–¡‹;F–^W¶Mèv$®.ö,]ü'ïÆGý¾rZ¡ZþóÉcùjÉŸL~o.A‘±ÄÜØƒ1å‡â’ª­ŽMÓ4œXâ úLúE{rËXV››ÎñMaœÞKn®±Ø4 ׳øe˜5ÉAÎù³%¥Áš„cE'Ü •%Â.‘¿àMKÏ(¦m±ÇÑÁ¬êsGs+ f9?ŠÖiôÿ>ã¤ÞÞÒj…<„„ÀªU÷í×¼›ÞžõóådëÔ€/ç-åíŸ,^sHŠbâsÃYÿ×qôFIfz­†ã;6ÒžÍiÝÌ¥Bq÷ÚŒ. cû+ñrT×xŸôÚl®\8‡ß¹‹djŠ~Wçw¯føè©Ü‰.Ï ¡\;{&ÿÚʪÝ]ț̩­™ñéOü0{Lz3#*±©ÂÉ“'‰¬Æ“ÖªäPXôÅû\ŽLç©q2nØË,±žÁß¡éŒkSºzéÔ¡³:tËŸoß¾‰†¢67«¶Žé2/²èÏCL}÷s†?Þ‰-¾ßóûòU¸´|Сܫ¥£NÃÕ#öEŒòîOh°v·)^}ÒhØønÇ—8‚^2ºoíÅGêãìjz pèE#™ ¦åe6ÍÆÿÚÌl2xs·’ C:.>ø´ñ¬Öm_ºMŒ¤ÏËÖ¤¤ Úö®ƒƒi‚'ž  ßLZž/]öôí =VãD`aëHç‡{³í£÷1šYÓ¬¹vV%¦¿|›]çï!pž›6Ãäž­K|—.¤ÛC`í芷—go‚(Œzömñeú¬OŠ‘ˆË½YgvíÞC·VR ¼Ñ¨cþÆ¿È2˜þ0Öo։dž ,è“Êœæí:âçïKTBM›ùàdg]ƒ*²`ÇŽ <˜Fy«Xʉ;w2dÈæíøo9rSoòõÂ?P˜»ðí·ïa¦TÐëqv}·Œuë7áõ¢Œu¥þgþD­V³`ÁÖm÷ØÎî\ΈßÈ'6€¸ëÜð?[ø§ 3s[ì¬Ôù}oóГü¹k3>õLû®P(qólJ—Nj”ØêŒCáО­Äk´<>àIÎþµ‘Uçö³lW0Y9±ù®6bc_É3Þ¥U#§’IHeä—¹ß1å÷X¹â÷Ó8°ŒÃ§£L~! »ðÊ3C0W5L+]|9Ò“G} il[·º\‚)¯C!6§9nc²iÚIÑ*£E&;·•0›Ôè¹¹mL‘™žK—`v9‡8nú+œpÑ›îÎtx! ¥Q ·%Ë}‹/?2²[·úc}¶lµ;5¢£º°fÍŸXÚ•mÔ9Õ€ä0%K—î/ÝØÙÛ¡¯3v×'w§Ÿ¡ì1‚˜É“kÔ¡‘‘AHH«V­ÂÚºì822’¶»0zô(ô#–˜)³Yq3ììٳܹs‡ÌÌÌ’ÕG½žÀÀ@6mÚ„«kCO„+|É6˜þع6nMjzT~ÿ…„††ñúôxzz¢Pª°´Pséø>./¤~ggY!ç@U yßLPPP…ò]¹r!·nÝúw ³†7(ÌÄá;Éâö?{„“…Jøx6vzˆo¿ù?ñh§–B¢aÛÞ"!+·Ä:Ö7C¨”Š2 _¿Û½ˆaÝ^ž,²ôÆbó,[¶L,Z´¨FƒxNˆû—G–«LM–V¼ß,G¼¦Ðß5ÊkÅÇ}"EtlñòñÛš!~y)¼Ümþ¿þ¡"übùÒVÔ¡pdYºX2-¤Ìt_ 'r…øä“à^qpß®ƒ'IDATôh:âââÄóÏ?/’““ËUæåË—ÅĉËL7wî\±nݺRÓT·CaÉ_ ¥Brr PŠv?%Î˜ŽƒÁ ^ýuqêÔ©RËJIIýû÷¿oA¼F£QÌš5Kš6…+ _¿|õ”U«$'ÃBÏ–¥ÿãÕŸ’©Í3Aä¬ÿnœÿË$©ÚÒ–ö:É õoØÜRÝ­I¼|ߥK‰°µdå’e´«gM•’E_üÂÎnh3n™‚°kWð]ꋪÐåüá½Ø·ëÍÍó’Ûº&‚xO:…^¯¯Ô‚üòÚÜ›-b Ñe”Y¦^+HHx„õëÿÂÚÙXfú„‹®ÄÝv`éÒ=åjsMÛÜRÂ˶¹ED´âÏ?ÏãpCŠØoܽ;ÎÞ5„þ9»32¸åØ¢VØÜÊ´+U§Í-39ž¿þ²±åµ=Ù¤þþþ$''—Ú6!7oÞdçÎ\»v­Ät²Í­67ÿK„Só>"=W'âo+~“ìs^l#f}0W…qg×Ks¥˜ýÙQØ*f—8ìEñË‚bøðá?Í_+rµúj ö«6·ŠqaYå³5=È6·<„„áåU`{ëÓç?ks»}ë²0¿0œ÷çæÓU\Œ2I·iÓ&ñÝwß•Z–ls«A›[×g^ãéù ™øî<6Ì›ÍKÍ¥)´S«þ¬½‰Î(X¼bF O^ž:ÆÄ®äÚcï"yk(ÎMF-A“&°r%<þ¸t}ìØ]ÕôÝâÓ‡‡Kê,Hbz{×Q˜[8бc{ºuéDtRm;?ÌÔ)¯ÑÈÍQ'5eU².Yµ–ÀÝ?ðØÐ—8{5 ôvmBØ~?¦Â÷›ÿañ†µ´s³+¶ÿ3rþüy\\\X¾jwµ¯PQKз/ôé“i¿k#viÑÅÇA†‡ÃçŸKTk¸5hÄ¢e«Ø¹ý¾ùt¶Llÿ¶Í-&&•Je¢ï+ P¹°m×–,ZÈÔ±ƒÑÌÐ¥'‘•Ïmãdü/7bcb òBƒÆÝøá‡‚ÝzâLÒ—¯8ûC^šÂÿOKKC§ÓSBý÷ÞËûØ ©©©$&&B¡ !AErŠŠ˜˜“|†ÔT-11J“2‹+;Wc@§ÄÇÇc0·(³MÉÉ:4 111e¶[¡P››Kbbª}‰iòíy hsÕÄÅÅ’c°,³ìÔ4=YYY%Ê2¹¹9DGG{,Œ   ¹~ý:é!!¬šö±ŒHKdÌV f.¦³›¤$òîh?úˆÄ¶mIIµÆ˜\býBÉÉÉ!66–œœœRÛ(„ !!ììì2e›žžNJJJ‘t¦}ÎE£Ñµµu‰õÆÇÇ“›››?¦Jj[JJ ééé%Ö)„@Avv6‰‰‰&éîiiiäææ–šæÞ²5M©ïº´±%„ 33“¤¤¤ReV\¾¬¬¬ûcb»ÌÌ$..΄“ŠK_*¹MŸ>îÝ»séÒ¥|aFÞ½ÞO=Kï§žE¡P Ï eÔ‹³hÚ¨ ·IŒ,9_I×Õ•&,, ½^¿¿…ËnÔ¨F£‘óçÏKFß0{²¢mÈö1É—˜äŠMÂÒ?¨Ì6êrYY-¸zõ6¶1EÓN«P(¶%)ÉÿÀbßϽõ¥§{pãF,‘š´2å–¦##Ç˗ƒ±q4+¶~Y†:‘ Çß?8ÿžÁ` $$„k×®qóæMâããñúÿöÎ<(ÊóŽãŸÅEäð©$*‚îÊKb‘4Ø¢ Vãf&×$3&Íå$¦™¦"š£¶éd&“´©EÑŒqñˆZ£ÆðЉ£²«°Ø•%€ºˆ‹,²Û?^YX—3ry>3ûÇ»ïý¼ïó}Çs”¾Å¿²?Åd?ír½›ÜÜH³IÁôKŠ(]µ’ÜW^q:—_a¡CÜjjjÈËË£ìr£äfæÍ›çô,[ïwóæMÌf3gÏžÅÇǧÃû(..æúõëäææ¶[þv»²²2ÈËËk³)**¢°°sçÎQYYÙæ3’Éd˜L&nÞ¼éx§Ú{þƒŠŠŠvïµµ@vøñ¯­­¥ºººÍëïè}JLLt©7½ÍË&“ ½^§§g›eÛÞq®^½Š^¯gèСÖÑØØXézõj‡õ¸Cq‹ŠŠ"**ª[¦ Ývù› ))©_ÍR“ÉDccc\GÙy0]‚‡î:TÉŽ2§1'©óÁÿêëùþo׉gLpç½Ó 54•šIJŠéÒ5žûÈÈc…ð`Z\Öš)ÛYÏãOÄwŒg§_Ø}Å×(×ë(**B«Õ’ŸŸOAAK±Œ?`baBè”J%S§NE©T¢T* ‡¹s!'€½”J©ÙH3IIÒ|¨‡ãWSC’BÁéêñ„>cÂ;~Ö»wï&!!__ß.eæÎ;×黡Óéfþüù”••92èZ­­VKAAuuuøùù1cÆ ¦OŸÞF#;wîìôœ‹£ÑØáv6›ýû÷ËÌÖS-ÞEUUééé$&&öI³ÛídggC|||·ö=vì3gÎ$®U£×ÝÒö8´c¯­úÿ Óù÷†tÂÇx#só`’§;Özƒpú f³N稼Í?¯Ê‡ñ"¯Ҿ”( '›Û”AÖñS˜k›¨ºUË‚ :ݯêZ ›7euô$•5Vªk,=*Â÷$n[ÿø6:ýu(¼ÄÛï+Øô~2[=ÆúFä^‘B)z‘ºº:.^¼è$@n§Ô¨[ïÝÑ‹okâVu5[·îçriÃ+//Çfsmƒgóý–à)S˜¥|Þa‘) üýý»wá¡¡’ ­]Ûü¹†´4xççÄáý^†‹…ÜÜ\Gùåçç£Óé(/o;Ùáççç"ä …¢óöV}ˆÍfãÌ™3h4¶oßNqq1cÇŽ¥¶¶ooï6ÓldïþO.{¹_))ÉL±•ðþÇÛ0[;jÇiçÄ—,~êwÈF…°pa J·rþüáç\ïÁ¤â=‰›ÿ#¡ ¿3ܲL:Ô í^n544sjÿgKäò6+ê@¢±±‘‹/º¸Cƒ«Õz×Ã<Æ…+£ypZç]9jënqFŸÅ+ÞÀJË(½žžžDFF:*o³7®çf'[³F²Ö²³ïã6IݵšÝÓÖnINL¹·®) \ºtÉIÄΟ?Á``Ë–-.Û{{{é$bJ¥’ÀÀÀN“[ý%hZ­FömÛ(**rŠ«T*,KŠ[ii)_îÙBê›k˜»ô%fÿ"Іš›dí?›Ü‡ g¿çÌÏF»¸éåååìûïVÞzý-æ<ýsfNÃZ[MÎS ‘{£;“GȨDGG÷¯¸=»|ÿغ˜èùÏñÁš7ÙêYý§2aF2ê™ý?…Z­0"f³Ù(--u°òÓ£¨Ñ?ÀÊ­«\¶wwwoS„Æw±]ØÄ©cðùõA’‡Ìs:Æ„ pwwïýnvO/_–ÜSµZ²âî&'º6%v»£ÑÈÉ“'„L¯×S__ßfNœ8Ñ©ü”J%aaamfâî'ìv;õõõ|òÉ',_¾NçXÀ¢E‹X²d ±±± ÒóíGƒ‚‚X¼ð1~¿ÒŽÝja×–teŸÀ' œÏá·=Ôæ~,Y<‹×_µƒí6{¶näPÖ1<ýÃølÿ–üêç÷‡åñËv®ÿ êWR‰ Û‹—ì6îþìýj¢An»TTTpÁpÙQù´Z-.\ ªªÊi»!x wFpP°‹;‰§ç—ÎÛÛ›/¾ø¢ÿ !$DrO›ûš?«WûïBp°Ôx×Ðõ¸­ÙlæèÑ£ìØ±Ãe››!!!N"®T*‰ˆˆ¸§2ìA3 dff²mÛ6Ξ=ëpŸýýýIIIA¥R×'(¿±Ñdnø€ôÌCø+øxóJ&Íc„gDz2Âo;?ûˆO??À¨q|´q‹’tº_ŸŠÀ<õ~³”'O§qq±xÊÅ õwlŽ‹åçç£=_€×ù×ø{ôSÔsÝÕÍ÷÷o3¦3jÔ mè™–&¹§YYÎîéøñ-âöõ×~éØ5;v,¡¡¡Èd2S(Œ9rÀSII Û·oG£Ñ››ëµøúú’””„J¥">>>½.™›œ„'_$áÉ»»#³ŸxžÙO<ß»a©ž8ˆï“²"Öp»Á%»˜ŸŸÑh¤©©u€T†§êceêä‡]šJÜ—1^%=½Å=-)‘ÜÓãÇ»}˜‘#G’••…Ï (Ãk×®±nÝ:4 §Nr¼GÇgÁ‚¨T*æÎ; ,ϾF.ŠàÞ(¿r…¿¾´šÛ—uC‡uÄÅZ‹Xhhh¯ÄA$!!’µ––&-Ÿ8©©R6õNÆÔÏtl¹Éd²û®)Fw1™LìÚµ‹õë×óÝwß9þ÷òò"!!•JÅüùóÛof#âÖ“Œˆý–«‡NæÜŸ4iRŸ» ’Õ«%÷ôÈiyófˆˆh‰ír°Ò[¿qã{öìA£ÑÍíÛÒœÆ cöìÙ¨T*ohBˆÛýË +žæ…O3bÄQ÷êžÎšÕ➦¦v;©0P¨®®fïÞ½dffrðàA,‹ÃÒŸ3g*•Š””F-Þ !nýh¹ Që7¶ 9®V»7 Ï>+Yq \³åVö5\>áè"¨¨¨à›o¾aܸqŽnkr¹œ¸¸8T* .$ @¼+BÜNÜš»Y­]+ Üš5ÎýJSS¥vmÍîé Ã×׫ՊÅb!&&•JÅ¢E‹zlžN7Áý@F†ôS«¥ Ï<Ó"|ƒTÜ‚‚‚ÈÈÈ **а֢.èDƒ4Aß“#õJ¸ÛÍÈÜÑiý£Â{ï¹îßÜuãááArr²6!n‚ADzeRÂ`ãFW‘+)i9ƒQF ÄM0Q«%‘+.nqG[‹\zºë>¥¥ƒrØq7Á`$$D²¶Dînc» BÜMäìv)×ÞÈ&ƒ î&è;D¶´˜Šà'¥:غû¢S6¯sÙæ®å®þ×ÝmÚ=«k¼×óÓÁqÚ;ë hwÀ>~)²MKaÓfؾ¯"þ&øqÈìÍ!àv s¡É*Ê¢¯ ÖmÆ»ÊAAðÜs¢@BÜÁOsBÜ@ˆ›@ q!n@Ð)ÿƒ‡n¹HgAIEND®B`‚nted-1.10.18/doc/docimages/flat_example.png0000664001041000007640000001075411520267216015414 00000000000000‰PNG  IHDRúI²;æsRGB®Îé pHYs ‰ ‰7ÉË­tIMEØ ʼnºÒtEXtCommentCreated with GIMPWYIDATxÚí]iXTGº~Oo@ƒlaG„K\Pî&"ã‚ârŠK ê˜ãq½.u¯ŠhÆhÔ‰ë8&×-jâ ƒŽq" ˆpQÙ‘µÙšnè®ùÑØMÓMÓH7pšzŸ§êÔ©S§ê+ÞóÕòÕW !„€Â,Q]žŒ=ÛOÁ;$  ó£iÇ`(ÑÍ¢¸9ìsÄK“Öàêémðp¨p(Ñ)ÌâôóxÏ/ éU5ñN}æ"9úy R;ý¼›ˆ¼³?Õ"9ÆÁ%?S!Q¢S°ÏöNÄ…œ uó`ÉQkðÄÃáŠ¨Š Š‚µÚ\!ÁçS]»YŽQrNÃÇ©M#ÅÚ-qTX”èlEqòD—ËB—}m'|møpè> ÇÇz©Ò¥9N…E‰NÁV<ßuEž÷ÓatpU×ýWû«Â’¢ TX”èlEdTÀÚuvºiܳöê£ +d¯©°(Ñ)ØŠó…@Ð×›µ–aøêFxPaQ¢S°D^Šç•Õ€“}´îËÊ“Ua«w&RQ¢S°5Uª°Wë~ΕÿW…=FM§£D§`¥FWˆÕa]Ýúƒ)ªð„5=©À(Ñ)؆¨ÂòzL¯Ì=ƒÿM-lzasW*0Jt 6‚[g‚MZwû©ÁºÑ‹¡¨ó[tV´ÕÛxT­ÒÒRDEE!##ÙÙÙ8p ¸\nS;ïªÐ©ÎÂŽ«4{}yy+¾‰+R~Õ¹¶˜†³g3©Ð)Ñ)Z˜6mšêzÓ¦M°´´lr>B.ƒJ9AÒ‹—pæsP‘}ÛO¨Í]=†ÌÉNÇ+Õ£ªà9b_É0èý^´Q[»wïÆˆ#àïï¯GP´:âââH­J&HIIÉ[åloI_Kªˆ¤àWÒÓš¯ÊÓÊiÉ—ÉMV‡I ²· ç jDŒ7ŽtêÔIošN:‘'NèMCGkf„ ;å„\JY6f ˜€gÊuu†ÃGøõ“pæ›®¹~<wK¤ä´!èd…)1ÐÓZÙ• „siåªø¡¯ci¯wLöÞÔóó±øRzmQA‚”pêH¼Ÿ¯Šs¶×61Ù;¥%w1fQ">%:EK¡C××VNÁ¸uuLç9JŽ?‡LÆ”sg©ðëaß¾}X·n%:…qQ‘u c¿x nXž-þö#ºX™naåÉ7pÖw'¶ q§ P‘‘‘8yòd›)]^3È¥˜Ú:^IÔ~âÆîºYíLøa9‡Ñ›D¸Ÿó{Ú,%zÄîÝ»›´ŽþðûDæUjĹýŒˆˆH“”(d8ûÕVôœ¶ çö|¥u?""¢Ý·áË—/QVVÖlY’OYY._¾ŒÌÌLJt6ÁÇÇB¡Ð ´EOá§gÅZñ™Žžånm’ò%œü²{ÌÇÚº c|}}Y+û’’TWWÃÙÙ¹Yù…Bðx¼fËÂ|x<\\\ô¿‹š$°×`¦ºò9é×A ñì{îB€xn’²Åï%‚HZUF|Ý2°Ý@ÅÎήE ]¨Á pçô®V/áFãq­3Hðžø7œúŸ÷gRMòÎÛ37CªÈÀè^=áçç§úÕ…ŸŸúï¡ÿ$l£3Œþušº‡¾0 ƒ–>ÆØïÔ—ßé+AÂV´Zý¾¹‹¯¨Mlz#êÔ<8¥>’¤‹Æý½¡Oó!mä#))‰2«¡IýÍ?=!Dë×”ÂÛ|DZ m±\¤¦ŸLÞ«÷ûÐÕŠk¥÷˜Ê‚Ó(èi[oAtCµykçÖRÚ¼µñlÿd\/VŸ¶âØ}%ŽLðX؇§ŠšR•³Èö€ððp„††RF›šè‘¦¾f¬W÷oCé Ѭºžmjm]«+ª öå=¸Í—7€©Ó¤Ó•3öç^”™´,åYª1z·nÝT¿Ö£'$$àæÍ›”ÑÆ£¿­ö#„h‘¥nÜ›°®!€¡ã~}$ó̲7¦©ë¦ÑUöÖDêÙYª]iซßÕ4Œå²Êqïs0Áœ±€«‡z½?ãCÇÃ×A`”²tè¸IIk(‹Ì•è-ñßÔ®s}Bêúx4‡´ºË#GrÌ}¤+à8žÖÆ1KX¶lÝd¼óÿÒ¸îâó ,P×Q!Al|! ðñ/¸\7ñÁ¯±|®º÷Áà`Ã5Ÿã“£££!‘H4dñ6ˆ7Z>"‘¨Eò‰D8zô(nݺe\¢cò­­v™uº¡Ä„±SеOwdÞ>Žó1ÀêÜͰ®Í.ÃìÙ³acc£/+»C‡ÔÚÜ®óøzÅÕuEæ¬Zü%br*n;… éÏ"?OŠð¿ƒ ¡Ñd'N¿ƒ«1•˜6et‹·[FFrss1þüf哘˜‘Hd”|d2Y‹äséÒ%c̘1zIÛ$úHýtºž«gHzc¿³¡<úÕOWT­ôØR#Í"×ÂÓ¤3¯Îk¤[[ º'κHºXñµÊìêû.éèb§³>‚}ÈÝâ*³ð03cÆ £ºPƒ3ÇmÞÐòa}­îX{qyêå˜ÕkªIË—r@í›ÝÂn0Â{9©®× û)’j0 Sb­`â•hdæ• 4#{×Lƒ ÎYé²òXL Þd”²Q3mœÖ$•¾I4]ÝåÖœkh¾@Zü“·¶Gãǻᦇ¦¨gÑ;ÏÚ©Úg.ÎÞƒý/JÀ0\¬=÷ ÷Î}‹%>¶€ØËÙ[/,Ù~OO.Öȳ v;Ö>-lÞ!õ0c^Doˆœ†¤{CÜú3ßõg·uMž2[®k©®~ô•¿±ºéZ¬ÈþÆöšŸ%öü wµ2ic½ªRoC]°Víñ3ó’²GázÛ&+ÍQ»ŽQîO?£éýÅïã½84ÚK#î»%×ÞºLÔÃŒ½!K8CÓÕ×ußXïÔõœ¾¼{Oý®<Ãp±vËmìx˜„¿oü<Ó÷6xµž¥7y¨'ë î>ý«zÌs|'å°"í„V>3ÿ±Uãº(vû[–ˆz˜¡]w3ÇùèLìýö/èï.l±wú •G[ØÔpUS¡Ôô³ë¿ƒ¯’ôU¢«È‘iv§…n³0ÓE½…UV‡Üê¦w¹©‡Jt³Ç¤þ-ÿÏÝo„«2 ÐÜVâ6Ê ð L½“Mè4©v¸#Çñ¼ ­¼>¨¹ßZ,oÑßx˜‰:N=̰ÔñDDhh(x<í¦©+ [YpÁ#sñÆÞE!SÆ/>Gêô0ì¸ Jjv~87\4çÊR ëÌ?ð°püX<ø r<»Ö=aáxíµÛ—YBB***šýî'Ož-±Xlp>D!CIQ1Ê+*Q£ àò-ÐÁί’Í'??ááá8vìXƒiÒVwn´#ÄÇÇ# @u––[[[ü*Ã`ï.Hª¬Æ‚›)Pûj?ò‘?"^¯EÊÝ™ª¸oûþ¾L+…×èŸðôÔP¼nÍèI‘Êm®6î‹ñl«Áå½½y$–gÍÇãCêc¤Ua‘HÔâ2œ?>¢¢¢––Ö¬|ÂÂÂðàÁ£ä“˜˜ˆ¸¸8½é²<Ù²=|Ò­ûV°2xß`ظq#¦NJ5:›`oo;;]ŽðýŠ Øòg¿8ŒoŸE¨´ðŠ«8ôÏppX¢Jè ¤•¢$á4wvýðoµFï¾t! ;JY”°³Ž ÿz.,tih^Æ„@ Ã0Í~7ŸÏ7Z>Go>âÌbÂà©ø5SÜ`Iqdözóáp8°¶¶ÖŸ†ÒŠ]è³á"úÚ JÜižªâ¹‚Ž8|]ÓxÇI•]ýüï!«Óog©|¥™,‡ïˆƒ‹»®Í©‡£@VþÁþõ’ü 䲿ïB¤eà XÙéV!¯$Û§÷R=#tïGÖï;Gr%u½³*ˆ·% ö=ûKC†á’;zŒ2ZÙ lKoj‘KsÈ7«¦×ZùÖÿ ;·Ž^ xïM& ÃèÝ@õæçúÁJ"Ufoj¡¥`8VXsò Ù‚"ð(ã1¶,™Šðï ÿàðõpDuyÊk×ÇKžÅz†|Š-áÛÚÏ­Ùe(ÏŠÀ€‘Ê%nݺiŒÑm<!æÆR³”½!“h•¢,HÅöº»ÑV]±k˜–ÿª_«»ÎÃo7" 0†Ñ%Õ§ìõë®VÜRòøúdÃÒ9dØûÄÃÙžð9Úc×f+ÖÒèÒ²h2ÀΠm pîÈ^“MsBˆW»¶>dÁ–¤B®0¨Ì†htºŽÞ˜˜ˆ   H¥RH¥RøûûƒËåã#ŽÊìçHÊS:‰ôôï 7×,e˜ššŠÒÒRôîÝÛ0Ù(j ./ƒD"EàòøÚt@^N&Äbqƒù¦Ä#½Žbc½®¾}zè/‡\†rqd²† KKØØ›´–›› [[[ý§ûP}jÞxqj¨JSLŠÉk÷ݱµ­]ϾVÍsòw4¹ÍȇŽÑÍv=ÔÎ)rîý\Ú­, [3\ÝËY y¤ö]?X‰?ëÚfêN fÌöê.hÑâv+‡¦¨¹Tï$Zcpœ‡‡74‰f$PÎRˆâ¯bûþ“HHÁ¥sÌ^¶ ÃÞÕ¶çÛôU…Ë’JY_ï·Y·šh Âmx¬ûÇÆ tá'ˆ8~¹¦zØúà³Õ[±kÝt9mËÃ.Œc!*²OÂËgŠkÔ[K¹|gì~ˆ%}4ÒÖH’Á*MT]ú^@Þ㉬¬³Böû¿\‰­ûÎ"¯J{ó‡‹/PU„òÒÏæÂÚÊUQ5îh2~ž£¿Û-+IÇí;Ñx•S·w—÷ð»Á½`Íi£.´étûpo®ŸÎÉ+§ ¤¾ Leþ)Õýn³ï²²¾å‘d¸—M£“_ ײE TØ:Fg!ÊSÊuÆK /i·V™ÿ‹*ìÐ×uumïck:׎áìÚðG Þ¸1ýŒz?´w3ëêÚ¤±5ÃÓ;¶Þ4'V:N§Øú`Á–xqç ¼-ÌÓ΀ŽÑYqÖtðZ¦oé8Å×aYçó½ÜË»³ÊÁpxT*F¿&ìTk-¬_¿‘‘‘©Fì¿ã`¨“++'OôðV›öÆÄİlMÇèí‹}5O_q C~J)ÕHS’²_ußgÂw¬«#[”è,EIòA"ärâÜ)ù-)W㾤0†ü·»µÒvÚ¦/‰ËXYϯ‡{6Jr÷Ày$­ª†þSP¢›'Ž}¡±yÅùÝÞäÃ)aäãI£‰›…Òēó%{°¶ŽÆÜüÑžAÇè,GjÔ~„ÍYƒèì “L~ˆ8…e!^¬¯g»[ÓÉ8 õ²R®Ÿ=Ë×ï %£|;Wô ƒÏæ~ŒNÖÔø‘‚‚¢]€®£SPP¢SPPP¢SPPP¢SPPP¢SPPP¢SPP ÿ²Ñ ÷ÑgIEND®B`‚nted-1.10.18/doc/docimages/toolbox_panels.png0000664001041000007640000017115511520267216016006 00000000000000‰PNG  IHDRįìy9esRGB®Îé pHYs&&¢ï%ütIMEÚ -s$$tEXtCommentCreated with GIMPW IDATxÚì}yœEµð9U}÷{gŸÉ$™$³e²¯@€"$@XEˆ< ›Ê*²‰øô=PyÑ*<@e$€Bd! ٓɾgöåîKwÕùþ¨î¾}ïÌ$3Ñï%(ÅüøMzêtW:uöªƒ™LfÅÒ¥eDÀ5Íçó"XÏU‹E£p”㜤ø ¨¤Ds¹KG“<ˆ¼~&>lÇx,VPX(„8,6ñ¸Çë„Ã.—kÒ '‘ÖÝÙYTRbFv‹C†€Å‹ßqÇ«W¯Î"qóºu‡ÅûaÇá˜# 'ÔŸUG"Ù¶+¥DëmÅeeí­­C† [·jUå!66‰hð°aŒ1Dœ5kÖu×]w饗:¿µaõj›Ë16Ô.(B„¢ÓBô‡>TO5†®ŽõpÍòå¥ååD¤Þ ¥7y²êÓÒÒRYYés[ssG[ÛÑbBá ä>§)„4Œþ0!"TXÈûàí·O=ãŒÝÛ·ë™LAa¡sSšbšhñzË>1‹… úC©dÒíñ$ãñ–ƒŸ>–-YRVQ¡0¯´“qS¦(bnii©¨¨p¾!ÜÝÝ´oßц4Œ~цÚ,ýè)¤B‚AdìÝE‹f{®¶eýú¢ÒÒ¼õWôÑÞÞ~üñǧR)—Ëœsõ%»cÅàÁ@@J‰ˆ dçÖ­xhÎB4~êÔm›73¦³½ýÀÞ½ýVÐiÊd‡fÊ“d6MÓì)˜š©ÕmÛ¦M…EEeNÑBDœshnn~ðÁ7nܨ 眈¤ƒkK!FŽ+…R"cÐÞÚD=ԡLJ 6¯_?aêÔ[·&âñЇòp{ÀîæìÉ97 ­æœ‚BíþâÒÒÞ}·¨´48•8õ;"nذág?ûÙý÷ß?tèÐigu&éÄ$€¦i‡åûµ mmÈX¨ ààÞ½ýgF¤ÆX QFÊþh¦Òê&ˆÁ ìÛ½»ÌÁ#„ã§LQ¿_|ñÅ .t¾¡³½½åàÁ¿K<†¢%)%?öò˜x°’Hô§'¢”Ru ¼óꫵ£F:Ñh¿dÇŽ÷ÜsÏwÞ9räÈì :hCMm@´AD#êë#]]étºlР»w÷“(Xa þ0´¡6‹“às-Q$„šIY\RéîÖ¼³_SSÓÃ=vã7®]»väÈ‘ûöíSzÍG}tÚi§9;GÃád"1¼¦&‰t´·+¶èc©d2J!"cÌ fŸXRíº@ @DñX 4MóˆÇu]÷ùý.·;ÒÕUPTdF2‘è?3!¥m›‡ŠŠ ÈE"ÁPÈåñ„;;?R²H†áäïˆøòË/@UUÕ½÷Þ{Ûm·566"âÒ¥K««««ªª€HᄈÚ[[¥”#jk[L§ÓÉD‚sîóûIÊx<.… "·Çã|¢VN½ƒ¡P2‘Ð3"òùýnG ¡ð*,L%º®Æc1Ã0”l;¬4Rdd£Ns¹‚……éT*•H ±»³ÓÙÓ¤~"Æyg{{QI‰Èe¦Û·o…B‹/9r$"677#b,óûý‰XÌîìv»GNœ¨Ôv)%clÍŠ ‘,WŒýBû‰Â vwuqΡ!„Ìé©$7‘$bŒ!c@40ܧËíæš–J$ÑëóeÒia-‡b»¶ûëõ—^ª®«s~Â^úE‹Íš5këÖ­Š}(Û)Ã1TX¨4U5…îÎÎC¯bâñÇ·67 Ã\UµyݺþÈÎ,û蟬¥ìC¹³œ¿d5zK\Uµ½±qȰa9´A´{ÏÛ½dÉ’ã?žsÞÔÔñxÜçóéé´ÝÇwœddlýªU¦‰æ¤ "û‰”2 %âqÝ0‚¡Ò0Œ~Òõ6ÀÖL­žš¦)e=>Ÿ‘É(M+64·;“Nk`™oNŒ$“É–––_|ñÑGÝ¿?çüÉ'Ÿ,**5jTÈã±{Fº»‰hxMM*™ìhmEÄÑ&pÎcÑhu}ý¶Í›c‘ÈȱcóžØFAIy92VRV¶£±1™HŒ™4)J¢ê«Wº>rìØÖ¦¦AC†¬]±BZB ?f¾ÍàL?H4ª¹Ý¡ÂB=“‘ɤmûÈÜ·©ßóøµZžöööƒ–––º\®¦¦&·Ûý—¿üåì³ÏfŒ•ƒöKÚ[ZˆhDmm¸«+‹ùÑ&tutøü~Æù¦µk}>ߨñãÕÎù¦µk¬BÈÐáÃ…¯÷ÓeËÊ**ªëë;ÚÚŠJJ¢áðÎ-[|>ßપH8*(Ø´v-" Ãè§f*6Ž0 ¯× D¡ÂB!D:™}ÃÌ'"¥³S®HgŒ½þúë7ß|ó¤I“V¬X1xð`EñwÞyçÃ? BÄÃaÕ3•L®_µª²ªª´¬lóºuJ¯®¯†BñHd×öíRJÆyMCƒý„,Þ¤ÆP]Wç¶lܨg2¯·º¾Þãñt¶·ïÛ½;TPP7zô†U«†×Ô¸}¾-ë×Û–W¿Ì|ûðjCTkDR*ë>}¨Q¹Ün#×?ÀûÕ¯=cúômÛ¶­X±bƌ˗/gŒ}òÉ'“'Oö¹Ý.k·3Î}€×ç JóèhkË:ˆ,ʲWËèQ›Û9fÛ)dƒfÃg‘ì6”µ{‚A—Çéîfˆ¡¢¢d<®¼í=ÑË~Øàœ¿ùÆ×_ý”)S~÷»ßÝtÓMj)¿÷½ï=òÈ#™d2ÜÑaw^·reqié°ššMkÖ(`D]]AQQ2ßµm›²œržØ´!%T **Úºqc:•r¹ÝÕ£Fùüþpgçž;}~øq›Ö¬©¨¬,()Ù¼v­éê§ uLÓíñ‘?PŸfŒ9mÞîcjpÎ)¥Çãyä‘GæÎûä“O"¢Ïç»é¦›fÍš¥,¾œÎŽJ)}~ÿ®mÛvmÝšŒÇ+*+¥ö“„õÄ6;Z[w46Q°°Ðåv#âέ[wmÝJD¾@ ™HìÛµkÐ!öî†AÖ’ËÃ5åItö‹D"L$¸Ë ‡sQ¡6)DÞ‰¨´´tþüù«V­Z¼xqII‰Çã¹é¦›F*(Èë/-Ç"IYRV–I§wmݺkëV·ÛDÅŽ'.·Ûf !{¶oß´v-cÌ >¼«£cç–-{vì(*)†±o÷nÃ0JËË×­ á‡GGo-‰(]L ‹Fm¼©½áœˆ¢ÂøÍÍÍÏ<óÌÔ©Sãñxww÷Áƒ ³³3™Læ}K© B]×ëGB€kÖcu£G§Óé¼'*|¤¦Æ;¸o_,«=Ú0Œ‘cÆÄ£ÑMëÖ «©éîêjij=iRaI‰¢"{ü‡¥¡g2n·{ùòåS¦L!"—˵o߾ŋ3ÆLýTJ)¥¡ëûvíêîì”DöìÙ»cGAaáø©SëF?ujAq±0Œ`Aý¤°¤D 9µÈØðÚÚ Ç7¸ªJFye¥ê9nʯÏGDc'O.«¬9vìÐ#lÇŸíáéëG!ÍÙ3•LJÃ^¿_èz:•’Vžƒ DÑã¡”²³³óñÇ?í´Óm´¶¶rÎÛÚÚbñxÏÕP2Ã0ŒÚ†·Û½qÍÝ0ênjɤÓ5 ngãš5º®×㤠hkiéloo;Ö°úo\³Æë÷׌ ‡÷íÞÝ0~|YeåöÆÆ~òl7Gçx,¦h%Q¼·)Øf#Åzì)Dqqñرcc?øÁ6mÚTSSS^^~ðàÁÚÚڼΕjUHÊ‚âb¯ßïñùâѨÚK…ÅÅ^¿ßëóÅ-Pýß úƒAH'“ SÁ‚‚@(„ˆét‡Å**+…%.œ çêGYˆvSûŸ¡‚aš¦eR©`0(¯rL„,S7çG"òù|uuuçwÞž={ÊËË««« jª« Ãè‰Åæñ¸ËíöEE`‘´ž„¬'ÊQP¡¢¢¢’Å÷£‘ˆ"袒]×…”þ`Ðç÷§S©Š!CÌZûA Æ9Y¢XX¼ÃùO0˜I§¹Ë%‰‚¡ÈëjMs]®ööK¥ÓÊËq÷Ýwãߨ½{wWW×ÙgŸ}àÀî®®¼þ¶–$…ðáîîx4éîöB×óŸ(·bô‰XŒ3&…àšÖÕÙF‰„ŠÅw¶µiš‹D”TÈÊ›?9ìÃ2Àe®üP‚³¯žd­l^óx<“&M ‡ÃÁ`pذa³fÍš>}ú°aà sä XZ¿¢zäÈö––õ«Vµ80¢®.“N×Ô׫'Í ¯­U›Ât÷K¹½±ñÀÞ½%ååRÊÊ¡C÷íÚµáÓOc‘Ȉº:]×·76®ªâš¶sëV5#Ñ5/ç“d2™L¥ ]—R&âñL:Ý ¹2²'mH!tÃX¹reQQÑýtÞ¥—>ûì³>ŸoíÚµ÷ÝwßÎ;ó›ßÜ{ï½éD¢­¹Ù‰!UUÃjjV~ô‘rŽ™0Áíñ躾eÆx,æõùœO¢áðôÓO?°w¯®ëÕuuÑîîPQÑÖM›TTpä˜1ÈX2o\¿Þç÷4iÝÊ•CGŒ~ºl(¬ª‘—”•9W?™H(ˆéTÊçóÙÔ*,t+Ÿ)cÁ‚‚T"¡V 3™ŒËí¶7F<õ‡By´±¯µµ¡¡aË–-o½õÖ¹çž[[[›J¥žx≫®ºÊëvëê£Vs¹Ýþ@@…^ˆ( ª¹+†•÷„ˆŠJJÒ©”0 0¨g2šË ‡•s? qMˤR‰xÜíñ‚Á®ÎNÇãóûÃ]]àq»U°„B6#@$ÉX»#NûýþÑâñ$b1eIgÒi“Ï f2· €ú1cpñßþæÜ„PRV6vÒ¤%K–<ýôÓ§~úUW^éüëÒwß…£”:g&<õ£Ù©?‡MÄq2ÓT29ý´Ó>ýä“.åŒÙ³cwß}÷¸qã&Mž<²¾ÞÙaÉ›oò\yûÖ¼^o2‘8ì4u]†Bi3í3½?öø|æúZ¼)/×MÆ©gž‰Dn¿ýöÙ³g_vÙeοîݵkÿîÝG)/›\.—´oÛÔ¶’EH&ãöxòT*Èá¨mf†“™¦S)u¨ÁIÞâbX³fͪU«¾ûÝïvvvrÎ×®];zôhBÏ=+¡4b; Hivˆh“PÞC×çhe§¨Ü>{!€!2ΉH†ær9ßïr¹lùár»=>Ÿ=¯x,fo¥L&ãµlÅ4•Ö¢Ò•² Lˆº®»¼"™Hx­wÚ”ö…³Î"¢k¯½öꫯž1c†ó¯í­­[7neJ4½å–[n¿ýöáÇ6 Æ÷íS6fϳy~¤¾ž(CÊ>Ž˜‹¨NÙ=í@³épXr"™ìõœê,z¦MÎ’;*)„èa„9±aû%Ž;î¸;vœ|òÉpìÐÆ?:i_öHÀw-€þèqG½)Í´?Z±¦Ì½ÃÍHIm¯ëú)³gòþûýaÙG½©°X²ÇI{šù}ê°™Œ2‰Hs¹ü€¡ëFÂR{FÓ4r¤Ú9%Ùшí.<,B\OŽ& !òœ'®\3NYÐD´ÿ~·ÛwæGy$Ž2r5ÓC´<ÍôPx˾®ë=Ϙ´a…@ÚpYfþa·€×çëOFª¡ë.‡f:nòdMĉ§œÒÿ|xåJ0tÝëõ&­<üÏtCÆV/_n{¸«ëëK>¦þ4¿ßŸH$¼^oxÖ?pÃô ùÊÛ¿ž Œóå|`³žâÒÒc_ºwoësŠBÞŸÓèBåJ§RJ³ë©Äµ67€Ç墶––cÐÑ"t]ç¼?g¥ G8ËTŸu½¨¤„ŽýN¤¹\ÎxÀ!X—ÛÝlØ´aèºyìÈ–9жœjˆÓ•“瑼ÿþûoüÆ7Nš>}ýÚµ‘Øü 0S+ÉÔ”®–/sóÕ9罊V]׋ËÊZ˜ûÂ%›±¯P3r¤´|yyÝzEHϰÛg½µ6778 vÎq'Ÿ,ž¹z,´ÎŽŽý»w+7Hu}½yN©ß´aŸjûç Hw÷®íÛ³ÌÔnï.^,¥¼âª«^Z° ¸¸ø”3 ÈF£àóù¼^o&VÁ}ew»¼Þ"ƢѨ:ÚUPP@DнD"¯× Édò³ˆ¸ÆÆÆ¦ææýû÷¯]·îœ³Ï¾àüó½^o2™L¥Rˆ …8çÑhT¥ ×4•Z¨0àõz}>_&“‰Çãn·S©Taaaôèݼõ÷´P08å„‚€ÛíN§ÓÉTjŲe‰ÞÌØ½{÷>ùôÓS&Mš4yrõˆÿl¼Ä²`JJJ”ʯ|š½^yÓÙÙùÜ /œ:cF ¬«­ý§Á€³ù|¾SfÎt¹\.—+£ëÑhtÝêÕ½Òy{{û7o¹å»wÜŽDΘ=ûŸ‰.ò×þ¬3ÏœuúépÞ¹ç¾ÿþûsÎ9çôÙ³Û;:c×^ýœsÎ9ÿ S–ëÁçóÝ~Ûm§ÏžýÇgŸu»Ýo½ýöé³gŸqæ™ë7nD€ãN8A7Œ¯_sÍó/¼ðAcÇŽ=cöìé'Ÿ¯×ãñ@:ÞºukWWW2‘ðù|.—K©íÇçó©¹+@ð¸ÝŸJ–L&W-_¾|Ù²“N]½úÁ‡² —Ÿý×]uå•×}ã‘Hä©§Ÿ^ô·¿}ñ‚ ¾vÍ5>Ÿ¯²²ò'?ûÙ½?ýiÕСâ3h5'“ÉW.|á¹çÎ=眗,xþO9jT}CÃÞ}ûcÛ¶oQW7ãÔS¥å­FÄ·Þ~»¬¢â;ßý®Ê=:÷‚ Ê++_zå":aÚ´­[·†Ãá/Ípä“feˆ]ÝÝÝÝÝ©T*ÚÝ}í5×ìÛ·ïÄOüæÍ7—””|ñ¢‹‘ÈÝ÷ÞkǬ~ý›ß\yÅ·~ë[»wï~wñâ§ž~ú+—\rå×¾Æ9¯:ôºnxà¿`Œ‡ ¬;ÍœXËÁƒê¤ÇëU¢’kš¦i^Ÿ¯¬¼\iR………¯·¢¢"‰h.—×çIJòråXd.b"‘ðùýŸ¯¨¸X6ˆ«~U"Ú¿gOYeeNLq÷öíC† óƒn·ÛãõºÜn)DÅ A¯·¨°Ðëóº^^QˆÈ˜:iãñù4MóùýÅ¥¥Ê­ …Æö8àóû“étaQ‘×çóú|ÉdòØÔÕÓéôÁ}ûjòöJóñX¬|È kÖo¼ùæË †#‘ þîñÇwïÙSUU¥<ésçÎåœ#cþò—Œ±ïÜqGF×ß[²äÏÏ?oQ\\O=õÔ§ž~GÝÒÜÜÑÚzlRˆÛçRUÕS®ä¥ß~Æ//XP\\|Îùç¯[½ú¬9s¶lÚÔ¸eË…]ôûÇW”æv»»;:¾×];vìxé•W¾ûïÌ:ýô¹ÿöo—Ì»ä½÷.»üò}¼þÚk‰D‚³ªzÏ›‚Ûšš"‘HIyù¡C9ç.·ûoo¼ñÛÇF£Ÿ~ú)2¶ì“O¦NZ___][{Çí·3Æ4—ë®»îBÄŸßsKË'Ë—ÿö±Ç<^ïÌSOõú|S§N:eÊò+îºóÎŽööƒGïÔÃpOg¨ƒ6LfêòxªëêT¼R)&.gòäÉO>ýô«ýë]wÞ9lذ×þö70øè£¾´`Á† ”8úÑÝwW”—Ÿ1k ñƒïÿG?þq&“ùÕCÅãñë®»îÃ>¸hîÜI'žtÒIǬ<9fÌæn ¦ýûÇMšä ì[K2™ÌŒ3®¹öÚ+®¸â7ß¼á†n½ỡ֯wÆìÙ“'MŠÇã i{öìùãŸþôÚ«¯þ×}÷UVV®]·îÏ>ûØãÿé|ÿý÷»::vmß>íä“?ZºÔÛÀâQi^ŸO9‚ª å\ IDATJGGkk¨¸xÔøñ$¥y*çƒ Úµ{·Ïçkhhp[æêÆ'OžÌÕÍ o½óÎäãŽ[¶lÙi_øÂðáÃ/Yræg$âq@TW;îß¿¿«»{èðá#ŽIg"ª`Ëþý^g‚””{wîÔ\®ÒŠŠÒÒRιÇëmooŸ0qb4mjjBÆRétQIɘ±c}~?×4·Ç3ó _ ÄéÓ§#cmmm³gÏæœª¨†Bþ@ jøp¦iƒ*+»»ºŽâÛ‡n†E%%è8[ØÕÑáöù¦ŽMêŠRDÎùСC׬[WW[[QQœÄb±}ûöM™pA"mhÀ¹™÷É“@S"çœq®1Žœñââëä2Šdw®*Š•¬¥`p1êÓš¦ÒIÃï÷!C BêÉÐ@ŒÖ4[òÍö´ô©(%_9ç€Èj\c _cîIƒÇ[ßÐf`ÐäîŒ1Æ4®gœk‘!¢”>½;eÓ}yPƒCrd©´¿™…ÊÎÀdeÔ…ÍýV=t|óúN7c¼WÚP:’z· Œ‰ÿ±giöþ7ÛÒ0õ Ç1Æ5ΑY—ÝrÔS6/æŒ]ÓÎ]A@äŒqMãœkÜEŠwq.%)º!Á‰¤lýïäêÌ÷O‰x½ÆÐù]BpiZù ãƒ]pÇ+úÀ˜)qÎ¥”„8ä €ƒRú8SY H’òåW9*Ç›sD4 Ãï÷+ˆ1’´wJ2`Lc S©Ô­·\©ëººb&L˜zÿÏc ‰ˆsNq2DI¤°–»Ã5š?ÿ·}ëû†!ÔècVâN¿÷ 2à\CD‰!gÈ¡‰m3fŒòö1Î,ç\-X2/**¶Õ|50Îȃµg´iÓºýð6—Ëm—Òzü·®©I$@ö°Ó¥µ‚j ¬¦Åbá;·M›6òïef 7k08Ð ‡8g$€$iqιƸy¸G]ŽÚíÈ;ª»¿5Z2¨”¤dÀpŽL€Æ™œIÊHeKW°ìÁJ!è`{lÈÐR’Ä‘oÙ¼±­µ ãŒ#cšÆÏ:ë«K½µ«ÃIÞ±¤ÞÒ•4¨rà ˜Æ4šKÓ6ïØ2vìD)‰1 ‚T:MDú} Sàuš]¾"Î9cÜÊ]WäÇÔŠš»‘Òñ××cVÔ ¼nüAO°€²¢ESÀL 2$’ÄŒø¢5hËÃè«£—VÚ\œ1¦i¨ø×8g\ÁºÑM-nÌÂ6§®ÓQRRæhLÓLzÌŠ4‚t*ýÚF}cs¿5ăm±‚¢2·Û¤$ÎI˧ 7"aw´3G§AÜß)(+"$ÆAãÈ8iœqsÁ³v-µv·;銴E 1ic×ÖíöíFnÒg8çì md´¶µ;i#•1š;ッE¹.—¦í>°wĈZÅN‰ ­§º"á¾hC;„¶ž[#‡¤$Æ$J’ %© % )òßNfãñØšÕËO˜6£©iÿرQÕI1«CKé„%R2)‹.¾üüóæªjn·û™?<*¥$Rƒ=±]»È9l©d¯ªÌ`r!Ì|±××2 !ƒ$ B•t”=ª¡daq۶ƺºQo¿õêe—_›Éd$ZÆJ/÷}P¶ðŒ®gî¹÷¡ººQŠ)67@@…«b%?ô ‘Y’•H‰hÎB9ÞaòS4n"¬‚ÄR)öû{^›‚Ì\,±wïžÚÚ‘¯¼üÜE_nÕ½À>o\A{•Ù²eK8ãhù\V­úxÖ¬sÔaÞoNA™Ž]$íÚµ}̘‰Ò0y!|𯹠,åƒPS\!2775ó´žÈ±„n·Ë–y*¹ˆ¼¯’£6ûHEcNÖCB uPÂår=÷Üï-~ÝÔ…cÏþi‘ºÂŠ3.ºãÎÍ®&îr¹,×4u‡¶råÇÓ§ŸFD&¢$I™y(­ÜANÒ@‚Í+= XYöˆ@$÷ïßW]]?ÿÅ?Ì»ìj»ò®}x¤Gš…‰YÆØ§Ÿ.KÄ£ŒqUJcÝÚ•§Ï:G᪷õE@“eÙu-ŠÜ_U5BùÖ,XhÊakõd2åS%´PH`ïùL?%)¥2•Nçš³q¯°f¡vIŒ¡R]Á0Æ=·$°¢ù³B²™>Hû IÕÖ5qÁnq $HFfÅ]Ã^¯Gâ UÞaOt£ÅˈôŒ@Èc\JAdÖïí{`¤˜‹”ÒçóAÅL½>Ÿ]ÈÜú.ï5¤d²ª o5Ñ×*ôK²Ø³T&¨Å©‰HI„CB𾤋”òƒ÷ß®¯ÝÜrP ÓÉïdorÚþmðàa]t©"-ÎÙ¯ºÏ°J« !¤9ìÃ!™ìrí&ÎIÝ.²°40éB€½È-’Df)Y‰Á&È<-mÓŽˆÞ{ïÍÙ³ÏùÕC?ûö?B*G¹c'çyc²NÃ` øƒܧ\NŒ±óÿ˜Édlö‘g>Z|Î&’¬N¥Ô¯¶¬è•€ÙõµØÍP… AæÐË__²^ðñÇKêëG55íWõÂs–OÀÞa ¤¸ô²Ë®á\SjþÓO?jèº]([‘Ïú('NM\ÍÝÞ•ÚèÓ›zE,«HIŒó÷ß{Û,ÁnuFPÑ‹¢Gx D<¾k×ö_>ðcÎ5Ú‚í±Æ6*ÉãñL˜p¼aHÃ0b±ˆaè§œ2˪/¤}-±µUHiQØ5 CHq$Z©ZH%O%II‘HxÕÊgWÓQ“;ÄÀˆ€€ìß»¥qÃÿs¯ªÞeLʾÁIJ6¬º´t””L&ÒéTaaQAAavz0br¬ …%o¥ó»½¯àáµì„ÕI)››Æb1"©ì'=†€öÀTX5arz!ËÜ›viω2™t:N¥’©T €p2·Ð`Ö¢0±aooS;wÀÔíYµ#«Œg"„”Ò0Œ¼Â =i^JÙÜ´¹¦I©*l9FÕ“˜…u»=5µ#GT×UW××ÔŒ,**ND’èKÇw^½(%I’jÙm ²ÖÉ?mÚhok ‡»Í×öMöF )%g\)„aº”RIŸ´9,+“Éd2éT*•J¥”á\âÞE‚m±Ù›%‹ yš©eˆI"RH ³:#Tz'=»jÅ‚ùÏ,XðŒaå•j›Ù/Bô„%³àhškĈ!ôD"þþûo]tѼ††±–ê†!{ÅPf ¥”Êÿeu—†!¬‹ñ¬Z´¦»¨¤4(‰@ê{`ÐÑÑúûß=´qã8看r­Ñ^¦TB¤’’2%Z7lXSTT\_?E~„=#jê»Jÿb ¤!@)¤´1 @ràšiV} TZÛºes]}ƒ×ëeÀ 2±-¥põêP.æ–æ·ëë7®ýâ/`³N}Ö9&LÍ È¾`É0Œ3N'"¶zõò)S¦]ø¥ËÔÕ¨}êÚm(NJ0÷¸ƒeõâ]ì_ŠrÄ„išRKrä`[=Ö˜#Û¸iíøñS¾ré×KK+âñ¸]×ÁÒeþŒ(Ë‹…Œ1e¡;å‰"­¼qdR‡Ã|` ”‰/uY{ÙÞý#s+”Œ1’‚H† ’ˆÌ²ãD/¤‰ˆ@JJ&Û·7^|ñå……Å×ßðíH¤Ûy‚¢}(÷é°_«–¼‚²Rо¬-Ûªµø©a¹ÊîR8ç @$ $Õ2)›B¢B•äÒsÃX+Eš¦½òÊ󯽶 ¬|ÐèÑãýþ€“p-gN/@MÇårI)ˆxSÓ"éñxíIõªAi0)¬J"… ”dª<ì‘Ô¦µ4›8!™H¤Ó!‚Ô-lôªOIiÊÚ––ƒïðÖ£>Àëêê(..Í3¶z]5ß±c' a¸\ž·ÞúËÙg_8cÆ,E$}‰Ê"ì}Œ¨öšam6Œ›ùY#$I”¦KA !%:±Ñ;ác|ñ»{þù'ŠŠJjjê+Ê+z"ôaŠ™ûÈr*RKs“”ÂívÛëkÚØ+m¨mÂÔn¥uç¤ IG¦™Zÿ€Š;©‘¨4 •¶wH— I)ïºëçË–-©®¹víŠaÃkœÒUô<ÞìhØ=å¸p2SPêém!S}4ûØÎDÛQGæ3ÍZ/¦pAË~!)I(Tb‹‚z8OÈšÔ¡Ãîû¯GjjF.Z´p×έEťΫ!{ ›ƒLlïxžÁˆˆ=w’ÍS²¼˜L¡˜˜0ó°á”¬Ó'+„ ™d’$ Bþ6F ‰DRÊÁ•Uç÷å›nþ§ŸzØëõ9פüžèùt/HCiÃö4N‰röŒº’.¶g­8Rö$•­¯XŸTìŒ!Cɲºö‹ÈV¯^¾¥qùçÍõ¸=ÕÕõy—Ì ÙCæY~j¥’3ƈL Ú kzr°Ç^±ˆÂÒsê Ö0Œ©Ç´ÿž]»¶.^üúù\RZZž—@Ò iav^¶£Oy'sØGd©4Så01"!²ÒE™ÆfvˆQq|å}´” ‰²OãÔ„%!Œ3f…Ã]W_}˃þD9pÐ!ê-¹ry¢åïˉ(¨é-Zk Ñ-!)Ç«(ŽìB̆LP†BÌŠ–^¢¤¨X1z̄ݻ·7·üxÙûgœy~mmCž¦ÖƒàM Â1qs œ;¥÷ˆ«¢+;ÁæVÞ‹ö˜iVUIâÝ·56n().µ DSïëÅ‚p<øá]·E£ášš‘×\sk2•Ê©¨ÜK1Ö0ŒîîN•— ÐâØ-ùôáD,cléÒwJKË5MÛ¸q2±í\yD䡦î^ëîîüãÓCãÇO6w3JÓª•D=“'¬Yïß¿û~yO(T8nÜäÛ¿ýCIYS}…òÔÊ2ÆâñX&Fd$É kÚŠ½}Sg2™'~ÿЗ/¹êý%oYc–¹»sȵÉ’È¥i»wíPš™’Zì¡Ñ›a8"MÓ6¬ÿô…žøÝï,..ÍcëjÑóF`Ë3"bŒ ô"k{a=æ !âæÍëC¡‚aê?\º8N9ÁPUwÌ 4Í©t%åë;m†ÜnwWgÇ#ÜÿÊËÏÍžuN]ýgBtoìÃ6ŲfI)D3í#lB¶ Ê0tÇkÙ€y.5yD† 0•ƒ¬íܹÍrJ†&m(1Ö,ç|ûöÍ/¼ðÔÃÿw(T@RIVêSdÕZS¯TòѤÒu}Μ ì‰düŽ;îþË_þlk¦Œ1y¤Õ•ê¡§3·ßüõH¤ ŽŸz²éü@É€BïÞmëÉ ACoüæ÷æÌ¹à7þR9xh:•²û2Æz(9êÃîÝÛ¿ÿŸ7ÅãÑáÃkÿý{÷€$iõ6a¡O„x½Þë®»ýŽ;®žwÙµ#ªëØç¤')w0"Éÿû§?øø£÷c¿{r!I ³FR¿˜ÍpÇέEsç^™L%‹‹Kó¨œ)!b±èªU–”T \YÛgÜÜ‚­«õÛÇ9nü”xpàÀÞÑ£'äÑÕ!¢ùì°bcè° †®¾þ6SÆ‘mŒ÷•Åj®AmmCF×¥Ô#ÊݬBG8ÜÝØ¸:;ÛêêÆäé}Þ§B¤ÄÚ§Ÿ.+*.­¯ýÖ[¯^pÁ%¶ éÐi·ýñ2ÕÖŽ€ÉS§?ÉÙYŒ‡˜Çë­©®×uÃJ ÎN2 ´nݧ±X„ˆ:;ÛKŠ+œ|÷ГR&äãÿòÊ«n\¿nU:ihÛd^´!âÚ5+?þè=6¬º¤¤\MŒàÐÅ_•ÆdœuÖ…³Ï8ÿÒy×ÃpvÎÂbŸžœûÿûÿóË{x×-Ë>^b;é GeÙž°*‘hØðšE¯-˜6íÔ ¦†ÞÕãpš@g[Û W_ò×—ÿü¿¿¹ßï 4Ôö)¾Ø‡¢¡aÜ9ç\ôäS­­ÉNà²Ü}|—qÙÇKn½åŠÿε[·mÊ«5+%Qß°RÊiÓN)*,¹ó7}é¢y¡‚™{Dá8Å.·lÙ¨8iÅ Á••Uv î!,Ûe1}úé~iÞÕWßbãÁ){‚¢%!8ç¿þÕÏ~ñÀïþñí‹-Çé;=±WN‰"Ms;饅:áøuu£réªwØÃh¦ˆÈÕI…“NžùËŸ^]ÇSþ]¹¶OgäshD†¦™§iÚ!Ã\.WAa‘­gõ‹@ÌúàAƒï¾çÁË?=f¸q“%åžËO$äê-š K/½šq¾zÕ2[b[N¨#Ù-Ì:ŒÂ™ö£{ÿg×ÎmcÆNH$ây9ؽM*;0 *(,✠Vç0B4ç=䈄ç7Ú[[ÏšóÅP(d¹r”ã{®±‹N§Ïšsᘱ'L˜ÚÝÝ Pjs§.0 ¥-§Ø„‰Ç6ëœd2þµknÖ…a%<Ø÷òôí¼àœéºn†®ëÊŽ;ìÖE!%c¼ºfäºu«Ünï™g^ Î çí·^›$É­X±4“Iß}σO>ù›¯}í¦ÐåöDDÉT"‹À¹çÏ-4(NY„žå#½*ËRÊšê‘•ƒ«JKˬT‰ˆ=U¶žÐŒ±—_~nß¾Ý *{Ýáo•Ô7,"¦Ó©­Û6|òi[¶l<óÌ CÇœ«Ë޳•)Ù0öÜ ¾ÜÒtàʯ}ÃIê€CÛĪ ¶! ]×%A?íIW” Ò²šÚ†?Z¬q~Ö™8òá©ÃYÞ >ݹkëÏî{ø©§™7ïš\¦(TôÉL3©d$Ü%H(ßXyÙ d4fÅlÆ=ƒ}LDÑn5h$:tX:òù|±XÄÉtt]'òäÂb<fÜôŠ×ÖÔ×Ö4B8Ü…ŽÓˆN§ Jr`%D#Ý®ŒG xô¨qáî.@¨®©WÄmr:™I Œ“Äca®150D,/©hoiQAؼç¹¶£Ñî´îU øýñXløðšÎÎvV LdR@9²Å‘p13Nñ…SÏT9ïÝÝ]öÈ\2¯ð étر‚••Cº:Ú! E"a‡ 5pirÀˆ!rdßþÖmÇCv› ¢ì)k9(Xàœ_vÙ5†¡_{ým 6{ìq…G`ˆÄ@^{í­7Üp© '¬2vóE 3ã}tüñùñW IDATÓ;îdºñ›ßUÎ\9}9“c:ìý>?9N€$’ M!ßÛË¢rã )8׈HÓ\ýëP;ÙÊ12®¾æÖ‡úIQaÉ7nüw;KôÐŒúðÃwgÎ<£¶vÔ»ïþ­££­¨¨¤?bé´¡!0f2Š®û6"öJ=¯È`* —¡ê0wîz&sÓ-ÿ! ù¾½úL9 ¢I"qÉ%WÍ›w †A2Ÿ6z¼dŒ™Á«qã&;™@^wÝ·Lë(û]:ĵ}2ÓŸ®ªQY~Vú½u¬ ³!HE¯×™†¼3ì¾ÿÓ‡à³Õo'¬Ÿ4¿ó£ ·½"ÝÖ ;ÔèÈL"B“~<áq.­¨ÌdRV¡ÖáàW°œùŒ*"ÝYøÆôo`Qáu.ÔÏWÒÕÀTÀ¦ï1ô¥„C\sùÃeU©t¦ÏI©U·+šƒî9ݳ¢Z7 'lï+àõxr`û¡{„Ü´g×Fd(…P~ 0Hª;H’$uc!T‡€Ê°.™Ø»c:–æiz’h£WÙ#P3d“ 0ÄL¬}ßÎ.å"@@Ƹ$)ˆ8g ÌÕ© iNíh¿›G:ö¥b­*ÏNÝ/#¤$ Æ9 Ó¥ŽBH6n`ô!d&DÎ † ©@‘6ÌQ`2 ]Ï "¡4Œt*)Ì8Ì™sa,»tÞ5étÀ¼m%Š|™'ôt:RRõˆÚ_ýê…™L&c±@!žqs=JgRêòŠSfÌ"Àt&}ê©g@&£Û,/£§‰v…|¡íÛ³‰qî  4H"c9´Qð*#É&Ó÷í\6,ˆ,]Ii1Ä•¥@ƒrlüT÷ÞŠ6äÒJ! ˆ1”DCsØ­±DwÓþDGm”jð@Š*Úði£ÈLöÆüýE^*ÇÒMì€X’ÕZâ G¤ì »šŠßÿÖ–8òí>â1ØÑíðô«s2×ް;êë0°¤}·<ÿ…:`õ92/£"˳ Ü"û—üÊ«-=°WX‡)%¸³‡ÙÛü›œÜKöF>, Há„}qcàEšÙÇ8{À‚1€Œ–67··›'™ˆc@ H‚­™F7ýàLÂ@ùÞþ‚Ž­€H–$ IR]VK’LØÁe%À²°‚ðÝÝþô¶6@BZw÷‘$BÆÀºÒ‘QqÙ`ç[“ž7·k°£² rL"cÖñ0ó…Q×ðІ&/|~°}£7W«r9.ÒtË/-cÝOx8º’ž,] ‰W¿s‚m3÷MW½ÐƲýÞe{Oé/]‘Ñ×nþ¼lÉçíˆD„[¬¿ówבÂ"€&Ž– Ü›ÑO³ö±µEpñœý÷ĦÊþÌÙ¯Þ=¢¿°M9²¶±ÃÕuÿßhƒr/âm¸ÿÚp)m0&þþ™³ÏÃçíóöyû¼ýý­ïPz¿k@î=þ²‡X:,æÖ‡0zt<„ÿ[ƒìå=|hX׫‰~çC¼\Egþ ¬ÿ1+øyû¼}ÞþaÌ”ðkÃyAa 9׈[7€£uUãìÄû6Oœ2Ô¸{Vœs·£cL#”ª’ˆU—HˆÕñ–ù)›}|oVò”a㚉ê¢lBP¥K”3¤0î}K¾¹%[jáW£nÎÕÝæê¦2¼4¦©êMŠi(gþ&“ˆÍwë)É3kuÆ]ê&]»¼A¯{à=zeƒaì…+£WïãLcÙqÆ£™˜–Oãâo†º[¥Î1f–- ¦®pGfÆ=‰B˜pO2[ÙFÇ·¯§Eþ ªPÖHÌ xØäŸ$²•EÛüùöšãOñ´#XþwÀ"×ÕÓTë㪠€d& «1r±l_ìÅÆÌ6]‚>³ï(Õ=üW®„L½EŸ›àÿœ6È×oÚ„„–#¹yiCôÅ:úô™6µt”Uޤ"«1¦©[xÕàfm !Ú»:³~ Œn4·u Repà #Ó4MmaµÒ2ŽFœ>¤p$ÑΔ––IB®Rç\sY…˜UM!§2i§›¢­#\\Xàó¹‰ÌÒSˆœsMsqÎ÷WEj1íîåšîC¶h,ÙÞ*++W#`È8pWïK;‚Aí( úýþüiªº…s`áœ!6·vù‹†0† VCŽÈ¹¦i³åÒVñμê M-Å9+ˆh~”sU< @ ÙÑÝá\ÁÃ7ŸûJ¸ ”h± u¨z67¯7WÛC“©Ù(šÏ^r@ó•‚*1hV—QÒÉ*˜ÁH’Fé“°%>ù«3› °\}e¡UäCèFSظôÙ›AΙ¸dt$*dLõçÖwÍÁÛ•E2©ôs«åo?¡þcã×'ÒWdU§ˆ3N`Õ=Dfíò¹ðª§RYkLÇGæ&:G@ÆMR`ŒK U¸Ä¼I‰‚^vùï’¶Ìóºè¾³’‚ÌÊ•V¹ENdU®dˆæ!y©K~ËŸ“¶Átâpã’q@ÎÐY’Úª”’µËöÂSËõ~ÛpøÌ…ÍÜઠ2{×3«ˆ‹™HFjƯD–èøüW€»DÕ€RËd®‘ª~ä([â¡ô ÷ °gÂSçð‡Êœt¥i\Õ¯äm0D:£Ÿùˆ°™ßÔÁ™ÛŽï((,VEe}—iÜ.ꥧ3Kw‰»^§1SÂì«êD£á¢¢ÛÜ´Ž3ôRÊNìójý,³w^IÛóžd@„°rz¬ë‰ì|à^lßìÈe³¿`ß…~„ÇŸ:І£®§9÷"ò¼Q?ùëy¼‚Ì ºÐÃ[¿ç/‡XAçG!÷hæ@c ±d:èq!g€f©#ƹÛm*ÂÙ´éh2O¯‰%Ó%!· #ãÜäïš]:ɾC'Ž9¹<%R™¢RÖ¬l¥Y2ÞbdD¤£žLu:É[7D*cjndüÿ±÷ÞáyWûð™Ù§©[–›\ä‚ÅŠ1`ÀôÞ1Í”$xéHB „ ôPB CÀ€)Ʀ8”Á˜n÷.Y²­.=ewç|Ìîììììꑜ÷û}%º|#é~fwöìÌ™SîÛ ŽæšØÒ¨«z„¶ 9³'P@*a{ª¼o,f‚Ô›˜£ÎFNy[1Ó­JÊ¥œ5 ®òt%µ.Çkq¶;Ý"{°Ôn¨ªXj43¨‘0(u÷K@Ó´š|w”‚l9ì¨ê[ |rAŒŠm‰@„t:³¼>Ó£äJGW®´¼”Ð8¾Ä F,')×s>-ÝžUf££+[Z˜àåÓ”_‹Åb®š•D\º¨3“+©L2Æ„]Qïù:‡i´ »¹Í'âbÙv:k– pæÂ1*ñ¨«þ@³Ù–°e3Ši_Qb°m{Á‚wš›·sÎp—Fœ©=³¨be™J=Ø@’XAæ*øî80HíìkÅ\L¶Öƒ/„`Ëlܸ¾µµµ­­•óô„^æazî†Ð™Ûöq€G?Aæöä1ÿcÐ<Á¼–S‚ÒrÌ?üË/?%„*W¥ežFŸ&•à›âÃ$ŽwMÏ ÂÏoÅ%­e[~7XAre+Ï çTàx3îëg!à®Ö1ƒÆ¨ãKI++b ÝC÷OÜpN„êÃÝ‚ ƒº+‡;¨£«óxÜx3´»dÅ 3hŒÒ¿¢žn·DfBs¹«¿ûn!ïhbÝ0Þ{v%¢ÍX€ñíטG¢¥<_aLgWDnÔF¤ÙæÐ¢¯‹,]²iãº[o½ú‘‡ï:ÿ¼ã:;;äIaÚ.Y>„·€Š©A¶„¿­ØûuÁí¬&µäq‘‰y—¦w¢wÐkû~wþwÝuÓ‰'8ë…'9½©g!æ †_˜þQapB¸}ÈÂ4ê ÞÔ®¾ŽÍ{‡ñº°ñ½÷Þ|ìÑ{¶lÞà[¬µ+5ú7b9vïK<)Á«+„1Īêni,‹‚Uþ}oké¡ôê´ çÎ*(²,[º<ÆôlùÁ=ùlß] ºÝ/9Kƒ<'®i±nÇ^‹úæ±φKiê.)ùäã÷ŸxâþukW •ýóE­mx’òË'¡ïEúýâ#ÏF„ˆK¬»WÅ©Y]µú§ª¾ÕGyž÷áRN–/=c®ßI¸"Bp…`L'["MWõâp…!L.‰³í†(Fö˜÷âˆã÷ÜsßN<3‘H ‰ý)À§N…®úÃdã×`êÖ€>rI,›¹{‹ë4 ø—4(&r8ù=,öXJ ;6˜I§§Ÿý‹='îSÕ¯.›•/,,B*î(ü‚P^Oú¤>}ªÛ!„i|,–{¯ ‡–+EœvqÁõ)Ñ+!¢Ý –Hïÿ òSO/5 xéßâ¾~÷Ý7ãñ8gþõ]Xp•w…:xòM¾<如†ÌÑÓ“½'Ý¡[¯ó8Æj‚È;#[⾺´««Ór*P®Šþh×-Âà^!Õ”WVŒ|/UƒÝ (nkÖü4çõ' Ø†v{ÈÃ6ô[‹}–õäµ¥a¼Ê¢7Ç|ÎÂM©ñõWŸµµµ4äàƒp_’€_„ö@ðš”;hWá0ÝÛU´›ënù`ˆæig\8uê‘×$)^®ä?•ègD¼*Ò]ͺêL°Á‡­«ªpø’…Z•®PºWQSŒ±‚¢¿>ú’mÛƒ Q,2BE¼ÃÚ s„ч¸^Ü”pœ%×ò{‚Ý»êübF¬¤¤txí.¿øÅÕ¹\6X-Uù&è5 ”ÍÉ [v#Œ,ïÇ>,¨Lz±Œò,[¶øw^#”NÚoŠiZò‹&æ('Â|NBH„r¥Ö?õå¸CöZ¹MQyé¤äX/lÃ)í2h¬¤¤´ÿ€šK/»!“IçcˆÝÌi¯/ fð.w; ³+ÄPá™nSJiŒRžG+.*.¹ ÿâZ£© H9Ý[R|†È…€òiBÕ€Š9ýæ$€ ¶cú° F)g\w°ÄÃÊ¡IÒóµƒÈ6p` Ÿ}ò¼0·Û‡%$F) úÖIh”¸Äô° bцÇ=d ¨Á5µÏ<û&oÚSöZˆÖ€"dÝwŸëº3N·.‰›.èÆ-uS€ÝéP¼|„­{¶¢Ž=þŠ+~×§oÕ„ MÓTD†ClOu*ý[ƒ+G)WF`#U/ÁïµäíÞ6€`¿~ž~æ ÞI%Ùúù›5ÏW¬a¶FfW"‘¥]L€ 0‘¢Ö¿yDyá¥Qٶƺ5\H(5xÙ’Cîuͳ²Ò2hP’iÛ¶ 3ü`B!ÄàG%bÛfÒð€ͦ f¦!"%å)?âÇZ–iPŸ.EQœ67n0â K) a€@€q  ¤‡P©8moª³³mè\b„]XŒ^X,‘Ô_ 2çÂ( @©ü ¨½½~-‚h¥†³‡Å@ÜTya  Ê·˜Zuk‘¹Xý¬*+îé²AѶÐà剼ŽlfrQ,q¶ÒÔlch[üŽ8í…#Vñ|Ÿ¶52ÌfÌF´À+¡î†K‰ŒE´Õ"›«w8‘gWQG–5C·H³Ç{­A8¡ ¤R©C;†wgˆX™2 N ¤µðtÇê µÃFšRïHwtuu®ÞÐ0|ØHê‡F bt 7s]U¾€C8atGKk[Iq¸Mô‘H2fKÏ% l¶#¦™3s¹d2É™S8ÜÕ;rþ!ôõ„ À?*NçrÙ\$ÜýNáðl6Û·OÏàÈx.—Ëöttöq6µumݺ£ºz órÙ!J #†A(SJlJP^âÄ+rø´677çLë»Å‹-ü̲-ôå6äÿ¡Jí'°l«zð ?3“Éôï?¨£»Ã777wtt´´¶è-¼(¦Î†e™™L¦_•:½”.ý¨Ÿ^D’Édr¹l:éW•@ÄÞÀ³¹t:]Õ7€½½«_UÿÞÁeÒƒ˜Öù×u}1ƒSOPJE«G¶ ;'j*ÌÄ÷¤b$>óéû=ô˜ššaÌ&”R`FÄè„·Þz¹¢¢ï~û˜J¥\® ý蜽:ì8¤¡a‘ m"sÙi+æÜ?šåÙGÄÆÆº Þ9ú¨“+*û¸eÞˆˆ$xØèŒq¸³Iär¹§žzð¨£N:tDÞ<:;¯Ôq#%òõxôºà4J¤¼\Û0.;o.—ëèh«¬ì+8Õ†ÁÁ;õÊl¢? Ýщ€§Ó]¦™«¬ì=®{ˆ†aðåà  («³ó†Á [­…‚ ª«Ÿ~Ö…©T2ìTO¡†!¿«¡+W-[²ä[N·6:!4B8q„ë¡x£sþJ“Á…ð IDAT ¾ãrÉ)οîiBQWÎ/׺럧+Óënð²m d/Zœ´,«­­¥²¢/¡ÄÓžqV. \¢ã‹ô®Ïæ#zÑ™Ü[ˆ"¸j*ŽÂŒÐs«hŒÍŽA¸§~ ÉDÁïnúŸ®L—Å,Ë6mOÌÉIð-›7Ýßm³_™ÙÑÞ.µvt.–@’/IávK9ØÿpôðÀË—/¶m+¿‹Úµo•݈!Ú¶½eËÆO?ý§™³\•?ç=¤„”––WVö«¨ìW^Y%þT¸JJ+·56”—U–•V8Ê+‹ Kᣓ°Ñ ¥K¿Ïå²K—~憎0pŸ¬ÃˆéÅilÜúÙgÿÌå2òÅû„ýð^Û†4ÉÞT°H^AÞÞÞöúk³žzò!Ó6pÍè2}Äèa7”7#J£|JÒÇ©Ó!}4“NÊèwHó‡«Aoô Ÿ°Í›6üêÂÓ;:ÚÜ[“á üúq@ ££}Ö¬'ï¾ç–uëV§C†Ct·o7&~8&V4õ3»ƒ§Ó]~8ï·7]¶èËO-Ëfh{׿vac€ $0:GG†>þDge6¬¹çž›_xáÉöö6¾ÓjáaÆ­<Èfc¿O‰VúXõ- ÂÃM›6Üs÷ÍO?ýpkks®ݲ¬wæ¾úÏï\}Õ…ëׯyååç^m–e™ºÑAb Û¶¿ûváŸïúÝ?ÿ9Ï4M÷B/^wf uW¥ÙÀ%K¾½í¶k|ðŽí¾|ßYÝ‘¯‹‘Š®vDf[+Vü¤EÐsùŠ0ݖͯ¾ê‚¦¦K–|ç—³UGç_íþõÏ3Ÿ{¬­µEÒ›’Ö ®«ÁÐEeÛÐêÂbwpÆØÖ­õÜÇ£Þ³cÇ6f+p½iù²È±È«÷®ÚFL»³H\ÖžZ†à•ñáÝ>-²sðàèàÁpÊÔÃúUxëWΜ~¡ ¨váz·Ò4sŸöÏúúMçŸé¤IS‰D þ,|o’ Ý.f†H€¦c»<]¬$c§©G„ææ/ÿãÙyó^ïììp2¤’-·ê™øuñÄèT–[pÓ# ÑÇ *þÑÒÒôâ¬'7oZö9¿>|”8–/^÷pùUTBEžðÀ †|‘ÿ©ÀmÛZôågÏÍ||ÍꟀqFzé’ˆ´‚ ¸e™íímC†Ô4äÖ[®š1ã²Î®Ƙ«Þ(x1ÔÑùßõõ›zðΕ+—ŸvÚy &”ñ‹P¸?Xè©EÝí¼Í²³³ããß~æãuu›ªû àí²è²¼ÍŒÙÖ?|½uk]WWÇá‡_ZZ ã„®`œñ_×ÕoÊå²ÿþüãã?£¬¬\Q9ŸsÃ6Z÷ûmm-sÞx©®~ó¹ç^2rä.üaºg[?¿'ëÆórlr{¶¡L/?6“p¸išß}÷åÌ™/ûñ~åŒÙŒ2<Ñ)ÙÕÑ@Ò[¸ò(i0('z’;ééêøO…ž0ïÿÜ-aÁïX–¹ø‡oÍœÉP…B€ ¸o¯Y»få=wÿ~ö+Ï57ïÐŽÎl;¢VDÚ£Ô=ÓÕI¶ƒJôŽx‰ Û¶W¯^þç»~ûÚk³ÄJ*üwŸ=ñÈæ¢G—ïȧe-Á½H´i~øáü»þôÛ/¾ø$›É_É7zñ¾*à ÂÈ$jUJZ9x(ð¶¶Ö7æ¼ôç?ÿޝ¤<ãªù:p$îë/à‰Djâžû­Z½üÐC¹ì²Ö¬]1jäD"TÙ=8ª£‹(Ás^¼ï¾Û–ÿ´Ä²,a²NzØd/ã<—ÆÆúǽ÷þûþPW·ÉÝ,½‡,;cŒÝ{ï-«Wÿtüñ§³ë÷ÿ¡®nSž¥S|Úïºë·ËZrÒIg¯]»jãÆµÇ{ 4qýêàè½–X¦ùùgÝ~ûuü7Œ€j<‡G­¦òk+ët)%ßôz1)ŸwÅeþ:::æÏŸsçoä+©cîË+à$1º€+Ÿ7œ¹££Æ3EI±VÐɸ>cŒ‚ÚÝRqwÿSpæF ™Íð¸ÏXò÷۶7"0Û¶E¢Ó{DòãüC´··=óÌ#K–~wñÅWZ"c¦2#µw;ˆL0X¢-j¬ƒÃM3÷é§ ^|ñ©­õ[”£‰ûÚ£€£”Qééèþ˜©šBAÄ+~üÓ7~úyÇ{jII™|Á²/âÎ,¾2•uGd:]Ÿ,šDKÍá„àºu+gÎ|üë¯þmš9¹öHðû‚_‡R†3ÆÆÛmÜ¸Ý ƒNÜsßâ’ÒêþƒPâYöŽªå__õŦëΚ~ñ´ÃŽMxÍà Q%¥µm¶bÅÒ™Ï=úý÷_É\œB®Ü‰KúM[¶lÐðô雦9až¥¥åO=yÿonøc75âÎ褾~cu¿\xù'¿ÿÝ·‹n¹å/÷ßwûíw<(Ë>ËzÎbñB¿0*nÞ´þÁîØ°~͉'M¯¨¨T<5g2õqÙ6¨»µx'3ÛvŠItOå‡ëªì`]ÝÆg=ùùçf³YÉ6mÆ(óÃ1ç<|Ñ£û­E·mfðc>º²àפsy½˜PŽ õ óTå{G=‘óç¾výMw¼öÊ ¶Í(eˆ —ÏZþVË2¿ø÷Ç ugŸóËýö›‹ÅÀ'UhDÔ0KAOD”oG厯|wÄ4 AÄíÛç¾ýÊüwçtuvê"’ÎîçPÏ!Árí=³¼Fç·àË]õÒÖÖò÷¿?¶zÍÊéÓ/2¤V°aêr|» “ Žúøúî\0ØÊ"÷$åÀmÛüæ›…/<ÿøºu«ƒ±ipVŸ°Ñ ÆÐ¶ÍÛn½æ×¿¾nò?Wy‘™—›äÍÁttCCý_¾kÓÆu'rv¿ªþ¸Æ1T8ˆ t:óñÇóÿñÒ3Û¶5oGÚPÉÚ[–y̱§ær9¾kŽ=®¼¼2Z˜Kr¨0—Ëwüi›7m|~æwßóÄèÑÞÿàm˲PJ I‘"m˜W6ŒÖ^øÛŠË.¸ð²‘#Ç(”õ¡Û Qž_÷üT^zqfï,)àŒÙK–|;sæã+Wü¨þ>C›ÙĦŽÀ—ªä~¸V¸&gæ^{í…U«~ºô²ë‡%'ôñA¿LHCCÃo¼4oî«–m›¯§ý³ÿdžaÌ›÷ÚŒ—år&!°fÍOÛ·7È䤣€aÄÞÿío¾ú÷^?›4hÐU«~ll¨'|R¤jaÌLÕ& Xã—_þkëÖÍçžwɤISâñ$÷]¸öqidì„/åÉLhÌ•)¦•Ëåæ½óêo¼´cǶˆ—E‚#ìÄè€>Ûè1<4fJ|õzþ”–W àÕ¡—á’ø±z gÑpÆ1Móúooomaè)9<  N"ÄjkG_tñ•ƒõÃ1:4¥ÔÖÉ”Ý"µ'×i)wÄáxèqÇ^XX¬M”{%Mˆ¶í|„Œ®äôƒ£K9¢%ù«©>}ú/âñ$/™ŠR*…Hž…ß)ëòêÜœ‘¦¦í™@¯ø ¯D,f ês07‰Éü6–\ù¨ÖÖ¦;¶‰4q´6§0Ñ®®Î¿>ò§wæÎÖ¬¤nVÐ[YŽÃAƒ†nÚ¸þÕWŸO&“«V-ûûßýå/¯¡Ôˆ²JôÞç7l­[³våÅ_±bÅ{âþK/»Ü­Edç}££¼ÏéopƵÜÇ'Ÿ|€ÞÅ3­L„Ùƒ _ˆm shñOiKKSWWgØF"Ù*דÇèL]¹û^ÀÃŽùnß/‚|èS„ðªrPIU_è œ([=HÚ³€¸iãúY3ÿ6hðPÛ²©a¯†\3º†ƒ Ÿ<ùà3θ`ÈÐZiAä[j/²NÂÑóïW‚™xyyÅg^0thíK/=-òêŠÀxQ„|,ÕŒ®¤£‹ 2JÊ©ê –—WžtòÙÓ¦WZZæÕ’`”þ¥Qj ЇA¿Åw ÉdòÜó~=hðÐ9¯ÏjjÚ® ¢âjÊèòYA¸ Ü9 Äà\¸(µ[ËÞ{O>kúÅ£F•µÝõºè[Ù‰ä!‡ÓÜÜ´víJýJêFùyÜÀJB€zíuøúëÏ_yùÙöö¶K}}eŸ*9P¨]"îlmmnnÙqõ5·¼ôÒÓímm—ÿÏ }ûVçrYdè–˯›\ž•äJ&SûOž:zô89ä& $òò[|‚æÜ«b±Øi§Ïè?`𫳟kh¨W—R1"x"(½]©ô Y²¢àúc¾l"òqRÖ° Èm9ÕèÅK{ wž"•C 2$” ßóæÛî{ò‰ûëë6óeqTò¢­êz”•UwÜéG{JqQ‰â™Gè…¡dµþ½A4²+ ²çå3zÅâM9|pÍðçg>¶xñ7–eÊî‰\/íUa÷|tïþ<¸î1rÌYg^¸ç^“b±˜,e‘ú‹ÊúîD`übëa:©àåâxQQñ±ÇžV;|ÔÌ™¯ZµÌ—erD"™¸x).æSkoo]øÅ¿þýÅÇ}*ûºøJ>3P¯§»º’’²£Ž:éøÏ,+­Pò]Œ!€Ìi"š<ùšša³^xò«¯>·ÿÔɧ±a«X,6iÒT®øÖ) º¦1JcëÖ­Úÿ©S§ÎcË<ï„(Üa¦ÙZÜ‹0´j(åå•§œrîáGœPXXØZôeÈÁ½?hй¢[N­<ÜTª`Ú´c‡ ñüóÿøã÷r ¤Z}/¿º3£ [ë(DÀu‹©—݃àgIîˆnë•TÝ{ w I5ðL:ýÂÌ'ê¶l,..=hÊ´;ï~ô¶ß_Ƚ¶e.-¤.Õ‹#«U[;úìs~¹ÇûÄbqM'\x™º«ßíµZº-•ü0Q]áV&øàX[;êŠ+?wîì¹o¿œN§}XÜQ´ìÝèò|Rª>rÈM=øðSO=¿ÿAÔ #s·Ék„€pt„v¬Zœ2~ÂÄk¯»möìç>úð]/¡¾æQ  À›š¶ÿá¶k6lX#9#tÞ™È2xî¾ï :ã‚K'NÜ/‘HÈ‹…6ù®îµ^p ‡ ©½ìòß?ç­·þÑÖÖêw´‘—Ó¯ç„Ó4çÏŸsäQ'&≦æíÛ¢TxÝ>~D»¤¸t=öI§»æ½óúQGŸœL&›š¶74ÔSB•§)üE®Îw-cÆìzö¹¿œ0~¢áïgåð°ÙÐÚ†âdhmu€Œ=n™óƬ÷Þ}+›M£+®_ÕëÑ…DßÎÁõž©·Ü¿¼\ ãŒ;Þ~öÃýMÖŽCÕÑÞþ»›þgó¦uüG_ruYYyÍ¡6c†s€‚€aÄ÷ßêé§Ï4x¨#Â¥=ê‹1N2E”à´v³ rƒp~ä?õÔó† ñÒ‹OmÞ¼A¬AÏ¥£ûc@‚!  ¢¢ïqÇ6íð㊋KÜháQ“"ž©,Öætòp…m!FÀ««ΘqyMÍð×_ŸÕܴݱmÞéÁQN¤óܾ½qݺUò±XœiÄåQW él-?ûÙ¤Óϸ`äÈ1"kƃã |oO¶¤¤ô¤“Ï®2ü¥—ž^¿~5hÂ2ÖÇûTöyñ…¿4õð—f=yÆ™Feó™ÐˆÇ‘£Æ"b,¯ìÓ÷…ç?øçG>ÿügu1Ó5€ÊÙ¼àÑ&™Ltд3μ°ªªè£Ä¨Ê‘Ôu‹ä\§*Ê6Ô‡+à}úVMŸþ‹Áƒ‡½úêÌÆ†zwÝŠp¯FWÚI{—g#V« (‰‚$°WMµÅN %MÍ;¶l^Ï¿yâÉÓËÊÊ7oÚ0íˆã ,ÃP8Š••U{ìiÇ{j*U(Ú±´£w·œò#§×Õ'EUôAÅzµðD"1ù€C ¨yqÖß6lXãobÛ©Ñ•¢Rî QjŒ1æÜó.Ùu·=)1Ält×çR…©ÉÛBÐ[ŒñûHL ‹Ž9æÔÑ£Æ=ýÌC«W-wß Â=xmíèégÿòƒ÷ßìììŒÇãûMš:~ü;Rᢠ®¸¸äÈ£N:á„éÅÅÅÂ*¢/Þ¿©@Ð+Ã0öÝ÷€jf½ðÄ7ß|aY&2d„É¥,Z½xœ|À!Û·oûãí×Ý|Ë}ƒ Ù´q]ø–æ"Åyö€Ù±cÛm·^}ó­÷ ©¾qãù˜ô¹¤‹GRYÙçä“Ïþù!Gñ0·n¯ÅȃïáJÛm^¶¡…§R‡vìÈ‘cžyæáåË~ð wßÉÑ»‡“¨Å”d‚lÖAÿ7X¼úŸ‚<äœó/™ùì£3.ºüÐÃŽ1-«´¬¼ °ÐyAû9DܧOÕWþ~×]'Æãâà:z·Ë©Gè’Çv—áÅ /„€ÚÚQ—]~ã‚s)õ•iáâhœO~YOœ¸ïÑÇœ2p`KÐ ïn{ ;BürïØ-œ²Ë˜]¯½öÖW^ž™ˆ'"”ÊÜ0ŒSN9çÈ#OhooK$’åå}b1#dtµü`À€šSO;oÒ¤©œZ©»‹Ï+?)Í2dØUWßOž¸‰w÷ŒÏr%n¢ÊPå '>8’0§žrÞ¹gÿ*“Ió½dq… ‚Žn€?éäé¢-’P1:o×7Ãaçò1Òÿ}z.žäw …¼à}Î<ó"NÏ!Ç—ù|Üy­ó]ÀS©‚K/»Á²rLèwg!Ebš‘"VÚqäÎò=¼_¿^tùÖ­uR4ƒý8P\\êD-tDNü ”ÕÕo¼é®êþ(‘£ÆQY*&¹ÛàyS©ÂN8cð !ëÖ­bŒñ˜i0%¬1—Ë>÷Ü£3f\^[;ê£ÞýjÑçûO>Xɣǡ£ŽžËeÿþì_ÏŸqÙˆ£?þø½… ?=è C•ì¢6ýE9øçGsÌ©ƒ ‘j'5—°ìYž78½ÚZÚ0xŸ>Uçœû˺-¹3.Ãwbt„5l¢óLZfÎ4¨T8BÑ?ÍúL€Ù62l3kÖ8C+§ÂMÓ̤ÓyŽn™93ãpÓÌæ;:³eN Ù8˜m[fýŸÁÿ¿#¬øþ–eDÆl+—uˆ€"᜸H‚çhG7M Ü43yÃÍ ƒ“lKœÅN4‰ð-N| ÃÝAuÏ |q‡|à……%µµ»øá@Œ8¸p÷Õ Ž€b”ååååååŽ\¼£qqñúµƒ:³éÞEǚؖb±ø¤ý§pà!–eùC„N5 !¾úªßüæÓ4-Ëš2eáÚñn6¹Ú ¯| Ž‹Ç¯ÿͦ™³,ëÀ%„Z–M4ž,Ï"R{É%×Ùî[•õB½Ÿ®LoOmƒ¸·[x*UX;bL¯á‘£Cïàš¦RÉÕkVr‹}â†a¢Í{6 1(.ð¦&ÆpøðÉdrõšUA¸[S-ѯ_n3¬V›J%×®]Ez>´¶ •\³vïÿ·™Í{K ÃàAC›ÙH©A‰[„dów_üÐ!õg.BȲåK]‚"Ë) ¤ØÌfÀ¥]§/q/˜"‚aÄÆË~ê5|IÓ bÌe³e%å­m-ñ­[|pBæoåp‘ûî¼­­¥ak…ëÊ*ž)Baiñ®ýö¢|ƒñäèøßפsµ.„‡ŒN©]Cã–]÷Ø)ø„ÞÂ)!u;öŸ<•7páŸ(G8GdþgŸ±lÛ0bÌÚô= ©I%‹Ý·Ô•ü Ž†áü/%^BÀ¶,DdÄJ%¢àŽÐ‡€ŒØ½†3„¢¢ÒT*%ÄÉ@’ #îø•b€aœD‚ØêQ °¸°¼²Ò²™¹ŸÀ»~ €È­Œps‡ ¼¼²0•Jg{ ¯(,((wáž9ká:!È ¼¼"Oõ«`[¶!ÕíRB]¯Ï#å%GˆèlÕ¦iWTö1 ueIÄãÛ¶okim½}ˆ`Aæ:Ô¼»€¡a SÉÔÐaµ}ûö˲µ¹ ¹Š@Êwcu¿ûî}@Aª`óæ ­m­¾Ñ)ÚýèÉDrèà¡vlkkmEÑ—`PÊ‹ mf;r=Áæ —„ïÜ,™Hè3D™TaªOU?˲ :…ž7MܧCÄÓqÈ5 !À ¬¬¼¤¸¤oNÜXC/--/-)éÛσ3Ï‘Ì ^PX—ÁUwD'x:Ý{x{.—Ngê¶l´m{äȱ.%% ™õûmm­•åÅEÊ÷³¹l<‘¬ôKÚ¹ÿ0¸¶¥À%OÁݯxÝE&“éìl ÂÝ›êžN§»º:bñDeeyï೨¨¸´´€7‚PN $ìAþ·ÔÆ„PDF¡I-cJ%Æï¶»AãÂëqµC¥—qdKu¢ö|†ØÚÚL)4ÁG’ž*i'©Ç"!ȆÁˆŽŽÖ½a{ó¾û䣞2˜ó¿Ž;Â_v>¡$kZˆ`u©žGÎÌQ誨 :\fJÿt²Ù4¡FUÕÎÀi¯á™œ]PXTÝ+Û`ÌŽÓöÐl¾_Ï Êð`J\e7éL!‚z8ÍN4_ÝÀ ÎÎŽ¶¶æ>}øœ‚ÐŽsDô¨·ß¸ÿ „ÀÆÍ©‚°ö‡b¢Ü‘«YÈ 1ÜÔOàR NupC wi’"àF¶lÙ0zôXžNp¥ùʳAÅ}ñéolÜ ¤$3MSÔ£”Ò#A½\®çz|BÒÎ4³;€U«–—””3\íE1âoÿöööÖÖæ~ñÚ®®ÎÆÆmý«Š 8Lá‘å N†k…’›C›šš::ÚÛÚÛûWÔÙ<$b±P8ÄšššÚÛ;ZÛ¸"ð´Ñ‰vt@üé§%ÇJ$R¼ Ûz8qDéêê¬(Ryçõ2™L²_/áf.—Éd’ýz©Ç‡€ëׯ¦4¶Ûn{Ê2Óò+¯÷NÒétSÓöþ}âºÅ4Ы”Ífã±X"™ÜyA=ࢠ,OA=Ø;jtE/Ðüëýíßa0¬o=$ƒíÕuÊŠ,;#¨§…w+¨·dÉ·eeåµµ£ÃGg:—¼›÷$ºS[Ôsw2炳Ùl"‘°í\aa¡ÂïNPϲré´)´çx$'O$íh„!dÍê•ý *--SG—س٠?BrEty[ î1bÁõ·:˵ëÝêQJc±¥†Û`"IÚ!"‹RÄãŸÇ¥vFYÒŽzŠx=†tvv,]úý^{í˵G}>)‘Š}᲎ŽöL&E1MD=DP/oI»ÞÃY¸_þŠx\ËÝh!èm(¶Á¥¼Ã‰N\M:âÖB®[·²¢¼Ï ÁC\)W6ƒˆ2gípñ¤…ßÑo(+«øèÃ÷öÜkßÒÒ² \ÔpÁv=º«ä¡´ý¨ë¹[SE\^üoh]%úƒY–eÙ¶UXXĈÎÎö¢¢R©‰øº‡™'¨§ô™(zA¸"¨lSY»veÿþƒ‡ %ñm«ð@#œü·/Bç²iS1!ᵄzÑ4Ë2_ýüԃ߱cÛÏ~6I< ^ ­ !äƒ÷ç>ùäý”à¦èmÛ>øà#~Ä1WØ IDATóÝèqÜb„ žkÍÚ•ÅÅ%ÅÅ%2Aµ€£oSAyC L‹˜â6¡ji’¨k¿¤sljÚÞаuìØ ˆ<'öcŸZªç!ZBèÒ¥ß3ÁM”yptSap®œúí·_î±ÇÞî¾.Ãym)‘©A=ˆÖ[Uƒ$ýoµùÛ/¨G|…ÄRqIàÃñ@+¨çäòÐ9`DÁe̹lÖ0ârk\Ú\ø½ÑÀõ™4ýµ£Ýj×:$XÌe…䬣¼b˹¤(A=‰„FÕãsŠ"^´ ?0Aš§Ôcš×Ãï…É<Å|½ð<Ó°ÙÔòÒòO?ýçäɇ(h.·¢FP_ýðÚQC† çíL„öö¶÷Þ}SâÉö˜ŠH@PÏ'#ì5ô«^•.衟 ™0ÈmîÐ÷æG ê¹Vád9>0¡r ç^‚P"RàݎΛYBõ0°­Ên©|Œs̆sî—àŠT:1 ãÛoXcšæ>ûLV õ#õ(5²Ùìwß-jjÚ^S3|ðà!AËŽÔëê꬯߼m[C}ýæÑ£Çkà~Vî"c<Eÿà}äæ NLýoÑ¥ˆÍf¾ÿ~ÑÂ…ÿúÕ¯®B(àgãúErHÐ…óõÒé¬mš_~ù¯#Ž8Ÿød¸"¨çÁ½oñR8ýè\êÊ?!L, ‚ŽË²‹š )Ñ"‡à'D±€€#h‡\’'¨'u4£ `Œ¹¬Nº qYd¸ˆ WÂÐŽn{¯Ÿh°ðó,7H¦ì¥Þ›ÒmÛvU¿þ [ñ¸ü|5í­œ_:—½ã/˜S¦îê¾øá~A=1ºãÚ8[ʾ¤'¨éks"nøä#›Z@Ü%Ñ{­ÔëhÇrfBJÁeûfB#Ò£4ëΟ´¢àâÀ18s)Ę WwY5æžpQvDüÌ[ѶÁ_@*\ýüÌǾøâ_Ÿ|üþè]ÆMœ¸ öÌU'¨ÇÓ­–eÏûâ{óßX¹jüñ0Xåº× êqx&“yøá;¿ýæ‹®®.Ó4|è9-\×MÊ{@TÛ ”¹29ü§ªÜ\,è  I;JÈ•WœßÕÕ9eÊáŒa˜"žâhË‚z”Ò5«:çì#š››(¥Gu²¬›&Šô‚z’èc÷z|zfyKq-CDHåÙ »Ã°»qbÛ(Á O˜ ùî»E£G %%¥_~ùI"‘œ0ab*•Rb=.¨Ç$z}1Ͻ»Í5ÉΗ,×P/¨WUU=uêá \RgŸÉJÔ>²2Í÷---唨[¶lêß`Aªàä“Ïö÷ )ó)ëâ "ãmY„RyÍ ¾o.ù¸·jR‘žÌŸû!$¬çGÚkúA/ à.ï"†> 8G-#Î%lDI;ŸJÎg#JP‚yZ1'¾Àº»ÇDšUˆ Þ?ÌÛ¼yÃàša×]{ëàš¡†aøÈI#õ,Ë|ïÝ7ŒX좋¯œ<ùà>}ªBÔ5‚z„@{{ëúõ«‡5í°cÆŒ™Ð¯z@ލ\[¬lÞâ©ÝW¨ß0|ùhL$’§žz^aQ‘ˆÐyÊÂ’`rPP/c¿úÕéï¾ûæ¶m 1Ã8óÌ M3§…³€ ž0ŠíÛ›š¶SJ¤ß×À‰´P"÷@C|;<ò¸çUWõZ[Zžxâ¾W^ù{{{³™Ë=óôÃ?ö—†Æ­ÜP.ÏÔó‘ÎY–uòISëë7›fîÎ?þæ³Ïþ™L&ý·ãêö¸qB'i€ó2~’´³B’_T¨&EÈ5›ò˜rX79OÇÛY©UVö=hêa­­-Н¬0,dËD¼¢oߪd²‘Åb±×fÏÌdÒ„ÒÚÚQ:xpt®%—}óÍ—þüçßÍ{çõàÐBž7 TŠ2´bÚQ^˜_PÏaLV’qV4˲¤G!tàâ9¹­ŽyÁ‘1fYVøèê6)Û†òáÁîÉ £.?þ~vÚ¹=öòøq» TSXX¬>W/žŽAx<¿æÚÛ&ðó}òþÕWÍøöÛ…!pm0f—••_pÁåcÆLxñŧ.¿üœÕ«–áŠ{f,(Ò ùØF„ ØŒ=ôðóÖ<ú×»m›õTPñ䘱»Î8ÿ²5kW|ð\/,(¨Ô äñÇï]²øÛl6sõÕ·N;üXEÜÔë©ÙKl#Lª¡ÓÚA…’"¨Gyä‘?{ìiüÞë¯ÍŠÅãUUý7¬_óÊ+ä‘F/âZA=þ#3—=ýôóŸ~êÁý'\[»KuõÀL&ÇCÅCÁ)®‚óH=´r~j¾EÊ>©âž(š+·M½B!i—H$c±øÓO=tÉ%×°+–‚×M|;Ò Ph’ëà„—ÿñì‹/>±XLV³ÐϧnBÜF½Ûª'æ—´SOq`®3+G-øÎʼåCË—BmÛæÄ̶ͱÕìv@Î/—}5øŽÄlò*Õ]‹%Ï¥TLB) Ï1x‚z’ü0ÆR…FÌ „Ú¶eÛv´ ž†æ·‘Ífï¸ãºíÛ¶UW˜6í¸ñã÷Ú†"¨'Sç577Ýs÷Í–e >êÈ£Nª±‹.+˶!V”O8mT^tt1SIÒŽŸ,mÛÞ±½Ñ¶-8@§ÔãkПï~|Þ;¯ï½ÏäU«—ïØ±­¬¬2h |ÀÛÚZ_˜õî¼y¯Þÿ‰Ä”©Ó‚p7A‰þép ÀuËÅ’Jüï ‘LÈ r_Œ±sνäôÓÏ_»fåWœ{øáÇ_qåï×®]qé¯ÏZ¹zùˆ‘c|wäÔëé~“¦ì½Ï_-ú쫯>¿åÖûÊË+yòÚGª ž¤˜íé)J¾jEˆKÔŠ&¸8ÆŠÜ‚œ óB0:×­©# t›¡Ìî:¡*ó[îé£)ê¶R™™ 7ÍÜâÅßðoŽ5®¤¤Ä}[£SY B!á’#ƒ^J£ûƒ-¨j©â#2HLœõÑ—Aäq{-\¬&6ß_˜£9¬ÂC¶ yt´Z}ùK•ý„H¶á„ EdYzqPQ' ³ 9Åä:ÃòÃõÅad_JxüG±XìÆîÌä²í­ûî{àf À5£#bIIÙŸïþÛæÍë?úpþ§ÿZ0vÌ®cÇí¦ÀA0IæCÜ ؆X=ô<â‚z@¹÷Þ[–/ûá€ä,m¾‚zœå¥¥¥éõ×gÍŸ?ç™§~÷½or¹\~‚z€È~ó›?–––9yZ×&ƒpvRpëñJ1ž*dJ]žXSº}c¼˜)c55Ãáå—ŸI$RÅ%¥†A_yùïPÕ·¿œ}Ö êñûúèÃwç¼ñâˆÚÑS¦L»ð‚<ð°_]r­aþ€o” !„ù A…2æ+–÷LÄS MÈb^ÅCzg«·ƒ*&Š ž¢ž-Õô‘÷<0:"ÖÕm<úè“÷Ûï òŠ>ûìs@"‘bLõ}ÜÑ©±ETë¢51JPOñ0ä:Sç¤îsAÞû8!$—Ëuv¶'ÉòŠJæ”È1h`>5^œRÚÐP¿uë–ŠŠ>#Gî‚‚zŒŸt\­0×q‰:µDD ¥EræYM™r8'‹ÒéñùÖÆx\ f ËÀð!J)^Ö[2ÍìŸþtã7ß,¼ÿg–/[2{öóË–-¾òÊßï½÷þ2^˜ "ö«îoæ²gM¿¨ºz`iiE¿~Õü(¹‡¯ím­éLWEy¥÷;¸´ª¿œÖ{’ëë[@;bmŒàÐKÚI•ÕÌbSÜ7UPO†K2Ñ-Cê¥Ó]ï¿ÿV{[ë°a#-Û2¤¶¾~sMÍðD‚+¼ëœGéþåCo!JWØÁý“ žµ³ž2Æ%B…¨—TZ„ êê6ù忾ûöËáÃGŽ9&›ÍÚ¶#,è‡#àˆøá?çutvLÞÿà+—~µè3J  ž»¿z:nnš¿8ÁNâOúE•¦©²±½½MÚ’‚OG#¨'¬"›íêêê°m›¡SN®ë,“;(S¦L+,(*-+ß{ï •ÅGÔ“lCO©Ìî_IT*(¨W\Túð#/<ðàs\ 8"‚$ΕŠÊÓ–-›ª«™§œzî5×þÁÌåtðA=BÞzës^ñ¿¸úŒ3.àê˜Sƒj©Ü³}öÙ‡/¹äôË/;ç²Ë¦÷Ý"JööÖtº ë}b¼.…0úÖ2½±ˆÛÈçEѧ1!J\Ì_Õ¯n•è×’ ÂE+¤5cap1:¥ôÇ¿/H¤ÓÉTêÃ糧:ÿrï-­mÍz8€bÀè²£H¿HAïCÝkC<,á­! Üµ <ím­_üû£ã?sì¸]<ê¤]Æî¶â§%rÈ_9Cø¦Mëãñøâ¾Îæ²ß|½° ¨¸©i›¿=8AiùP£À'YQÉÄnpš‡›Ífþ|×o/¾ø”E‹> "MtHgZˆðÑGó.½túooºÜ4s ³rÃêèüâMÓ¬Û²éÃæ—ò•´µý¾C J+FÄê¡8-ZÏÔ¯ˆWÝ PjøÔ35b”´ã÷yϽO~þù‡Ó§_<ó¹Ç&Çüàü“‰Ô>WZZîT…îW…ðb^÷½ßb$Q•pÏTjN’L¦n¼ñO÷Ü'—Ë1fŸsî%{ï=Ù4sò¡&¸Ä(Šx‰DÒIA0–J*~~œ|÷Ý—o½ù2ÿNcãÖÆÆ­ûï?õê«Î0 f¿I=ûÌ#×]û>ûÈ‹^unF{èrÍ)„KÈ)§lá‚­[»ê§KûWd¶×JžÆñ f››wü㥧ׯ_=nÜîmí-^!­.÷e%tý†5ãÆíþÉ'ï]yõÍóÞyuÌØÝL3÷ÌS]qåï"á²é'Äï™FX†*¨Çaét×K¿[¿~m[EÅ%‰DR¹)yoáëÖ¯¶mûÓ}°níê‚ä'•UýŠŠKƒâìLþѹfÉ~“4hèo®ÿÅ©§žwì1§Î™3K §ý÷H‚¡Ì¹sgŸtÒtÓ4ýýµÝVÏy—1ûæß_±|ùb¨¬ìËÏFy êE‹>yàþÛùwKÜyÕjDõõ›oøÍ%­­M(JPÃÓÔ÷a2/T¤mÈ®IÈb* ê)W Õ¤ÓÉ0x[See_Jh6›‹zþð¡CGœwþ¯c|%Ýc~¿h5M³³³#N—$“)D&º$´L}Z¿›ë¼Ÿ°G6›åÏ`=öÎå²:¤+âEᤤ,™Le³Ãøñ'L˜X]=hHͰŠÊ¾ÕÕËJ˔ȵ¼Á„u€FnŠˆ!úñ ®nÓM7]ÚÙÙ{΅ÑË–QJ_þÇ3ï¿ÿ¬\¹là DPÂmZ¸mãž{í·ç^û56n]ñÓÒ‚¢ööö‚TÁÑÇœ2÷íÙ™tWª }AI/É(EC«þvŒnFWzíëï¼óÆukWŠï\zù ²žJпaÛV6—6-3kæ²ét2™RÜ!WäüÑ0b­­MïðöQGŸüÃâ¯÷Ük¿‚‚  žßÀ˜üèåÓýÆë‰£í‹åtóªø4é€'**ú\ÿ›Û‹Š óy¸Bï–R#™L†1íðãG/‰ä‡Ö¶¶6BvÙe˜1xìX '¾¦jtÓE(ñɪ‰÷mbtøbª*âBL3ç®eù*â ?˲,BÀ´,Þ3Þ#¸ò„Ž®¾üáÓE‹>ýÇ?ž]¿~iæb±XMͰÓN;Ê”ÃÜH8mÝÑÉŠxþV9¢ÕÙiE<µ bĈ]n¸ñO3Ÿ{tÓ¦õûîwÐŒ—UTô½ù–{9ÙÏÄ=öå…AùäO]øD>ÇI‘º`:»;)Ÿè,cŒ ŸrŒ.}¡MCÄÁ5ÃÄ7O<ñ¬x<©ãÑÐÃ×­[õÍ7_´¶6¿ÿÞ›Û¶Õ¯^³¢ak]U¿þ¯½>ë´ÓÎwUáÀ‹0‚6¨ºþFÛò¨“VW·©¦fØ®»îé6DjàÁ÷ °°è¨£Nb ·VW÷olÜZXXÔÒÒ,×  ˆç.£¾¦Rÿ!”“/FW6HÞ:cì°iÇ![ë7³ë÷)ð¹É1i^TT¼×Ïöÿø£ùk×®JöíÓoï}&k%íP7z*Up饿Y²äÛ æ"âå—ß4p`‘—© 圢”)ñöb7Ô þ¶ý7Ýo”$“©d2¾Ð|ðáêÆÔ }úô•4"àÁÑ O>åNî G5þ£ØFØFèb Í\–R!¨'JHÎM…iÒ9’v¹L.çI'þ Z82GPÏÌe ÝèA§U3f1ä»5ë‰Ù³ŸëßàGœ°Çû—¤Ó]K—~?oÞ«ï¼ó*"»âŠß $­#FlÛ6s«¹tIyHÚm[½…gx6ƒž~f2]ùÀs¹ñeå\ø›)Ñ_cˆ¡•ê‚z@Fï2~—]Æ+Œ±RZ¨ ŨĉûNÜs_âëÐÀI@PoÀ€Žû@`РD8°ÊËûáº*Wíæ¢n-=Ô+))=å”sÄ6¯‹á¨’v2|À€Á55Ûvc̲L =º“©½´ì€!”º%,Ìw”íA4^ó†T·¤$68¹±P3'¡‚z޶¹KÝ<\-œ:çîÃ9Á¡$ztyÃôÛF0‰ï³ ¥bü‚z©5keE<&P}’v€6CÎ-B ÊxFÔŽH¥’kÖ®î¼vøˆ‚Tjíº5r~@Úy¡ˆgxðZ*ur­\¹töìç<òÄ .¸¼¨¨X¹Ž5îÈ#OüÇ?žyõÕç'Mš:iÒA^1uà‹3î.ÿéGIÒ bP`h3æHÚ@ ¶m#c@øý¢aÄÇ›@)ݸAéòKùæÙSøØ±¤rÔ¼òc¥×^·Ì PB››wxÜ¢’v^­‹£ˆg™fiQisKwz|AI;ÞÜÄ[]z 7s¹Òò”ì¥êØ=@pÁÈ[KHó¥ 'è× GâÐDhÒ$i§ƒ›¦i™fø±ÖGÎEŸô /Aø@)ºÕQ„rÌ×É¥C-mmmŽF~’v~¹Ãl®¬´¼µµ%flî<—Í–—V´¶µÄê{ /«èÇ™•¤2yÙÙE]kƒä™j²ù%…vßÓ †+vä)ýPj ç©6(%†Er/c”’††-ùÁ'éHÊ€úú-¦ËufmdÕúÛaAgzÒŽŽ¶Òò~{¹\ö©§š6íØ_ÿúzÑÔ!(¬R©ÔŒ—%‰'Ÿ|°¼¼bìØÝÜuEcyj§R%ÄU qÉ\f‡Râ0•‹& ˲˜f*Ùk8Úhë-›wl—K8¥!¨ð–Q­$”ø¥Ââ‚ʾ}™íQ :œìP®Â£\qˆ  Ç2n³²Ò²d"ÑǬê¼´¤,•Ì Î…‹TxŸ2 ÿ"Ú½äæ Wº u`wIÄãÛ·7¶´4;nÛö4ì³!u¨…mÎjF¥„1,H nÜîan‡ÍX]]ýˆÚI'U#¨g5N÷ˆ@ÚÚÚºººê¶ôN¨ˆs·µµ¥Ó^ìŠRôÞÞÞÞÕ•¦§¹ð¢.l§päèÀÙ\–ñòò2p\Bð ê Ä0¸Ž#•cÌ€˜N§»ºÚ©+//ÿ?oëHû“ ¢”Y ɶr¥¡òO%Æï¶‡#i§(Úñ21à ”ë1y5üÝÚÚ¼Sð¶‚oÝÖä_>˜›¡&–e>öؽ×^{›[gÂü{­¾4*gæHeŸ¤òt¨Aøåùò]]]Ùlì<ݸ£ê à™œœê>‡HC‰ùÑÙFXÌT Ãiñ( ”žjòÕЄ(â©p'HÆŒÙý°iÇÅb†–¹™ˆÐçÌŸ?Gû¸TÃi§_ZZÂ¥ÀmÛ¼ë®ßnÙ²qÁ‚¹Ï=77‘H@2™œ1ãòE‹>})zñN¿ žÐFvw Ê· .iGÙÿ|à.œ(uý¶lÙXYÙ73DQÎøñ{Ìžýœ[@“¿¬ zÝáŠxyêÉ4eDª˜‹Ô ê—hàLjÞ–ZÑ?´SŽç'„&Ý—ª‚z èš¦ÕÚÖÒ¿z€ûMŸ¤ó‹¦É18˲:;;úö­âTNTÕ\‹Ô\rZr©Ÿ¬DMóU‰’I§¤‘÷KG{™fB ¸’vÄ0 .iÇd ‚‚z‘p¾IÄb±žêùà|“ÓŽŽ>îbÇ3åJ|0~úii<žô·ÏE‹-† ê!b.›'”òªUEÒÎ1­Þ êì” ž&ý¨³ _I¯b²iQ_#£T"(ÚÅ Ã\îƘ«'#X•à’ËÖ-Ü–Ú‘ â#!0$ò¹Šä‡œËe§OÿEŸ>}Ýeñ·¿½ëúëoÿÃtgƒ‚‚Â3.ãeðØM+º¯äÂ÷—]Mðfò¸Mr GæÀQ+‚z½ƒ+ ?œµY”ÖrE Ÿ&(ûgˆyï.Þ…µ¶6¿þê œ8މÇì’{F¼ ~òäßî§ÔpŸŽ®'P$;êWýíé¿ÖÕ×Í~þá…‹—¶wtþ*.'óyåœ8Â3¦;ÊX '$¤ ÑÉúõ«3™´Dƒ‡B¯Hêány¿Ã?ðý÷_»2_>¸,¨§…{ô·ÚÑU. †Aøá›úúM|{;餳²Ù4sˆsA2°BÓPA½ú­[6n\·yó†l6'‘›£KÈ¥–Õ•OÎ]T^wGÙ dÛìk,OÛˆ…´òè+·1Tl,ÌFbaÒ¯¾é+ IDATë- ê Ï!NQ"Q JdÆ’Œp˜Hq§ €m[cÇîæFK0GaañA&·œòƒí.»Œ·m«;wÌÙ£\˜,GR ŒÄ€ CŒ*w:ðâVl×?`ˆ>a+Y¥‡„Ã]™(¸¿*ˆPŠðLÐ/ã $¬ùZgè¾öyWõ,ø AÕ3þwWWç¢/?ïÓ§jñâoâñÄ ACJJJtpÍè,Ûþ֜ޚ;ÿûïvnßš}ëíC=÷²3dEnOèÅÛœˆ$²Ã®5·°c~„ õõ[*+«‰õu+:[ 2`¤›cG{{ÛüùsvÛmO©“Û‡ êùçdæFßè· ‘Ø6›0aáÃG®Y³2•J 8ÄÝÑ ÉKPÿmš¹5kV<óÌ#+~ZbÛìɧf2\Í{R3á¦%±ôòe$1-¹;1.Ѭ€Ôž@$¢hâíilCšúv‰wÙOßÍ)G ³•Yb2·µ‚z*œáI3d þ+“MË,÷⎂‚zÒ:èlõ ~’Ëe…÷äc†ÿ¿Ú;ï8;ª²ñ?çÌ­Û7Ùd7»é Ò$!!@iòª5(ˆ4Dª(‚€`Ë«XQl`×ß+¾H¤$ -HzÛô²½Ý»wæ<¿?Μ3Ï™9sïݾþ¡ûQ>IvŸ;gž9çéßp›JX^Zõl>/.èa‹2•¸ÌÈE(ë ̱¯¥ž™Ñ½ŸŸ'˜“êIñ—W?ÿ£¿õ—¿üÉuÝ;>{Ý×äÙ¿<¡J\M?¡@=ª'žyÑÎz×ø)soºùö¦Q£.\„Ƹ}ÎEÓxDm†(ƒþð@ 1Ûujî!&5VOß ¶¡ï~X¼¸ööBâ^[üêÐÚº­£½|Cœ©ÉÔzž¼ <8Nâ}ïû0¬Xqzcc3eÖ"–ÑKwÍZ[·}òæ+wîÜvÌ1'Üvû—F“wÅ:Q ^Hµ”g£ÿl‡CGfÔBº!_›n·L…õT·9] & ãŽ`Ðc€z8">øýû/ºä£Bx!q9¡xP†sçùçþ¼ôØ“bã£Ã™º˜Cñ;™^yšO±h©Q×§‘vŒáOô]×¼é–Ͻú·Uƒùü²cWÁ ÔPO ùÛ««Ž;îv"^ POŸµ¯½¶º¿¯ïøãO±ãüPPªy¦þc–æ¤-Ìdh@=ÃTÊ lÃÿ£âl„)Å£þ:—Ïe2Ù«®¾eÚ´šav@¨ç¤«šÇÔ¼{å5‚;•ÙOzjÃè1ntP¿@3€f¨4 ÅÉ¥0[K÷üD‘vjž ?ñ:”»(¨§f¡Êwx¨@=§uûææ–quõõ¡€¡Á lÉ’åÓ§Ï9ë¬ ±‚f`Šw’µˆ…MM-7ÞxWWWûöÖ-ýìû--ã››Ç[‰xQqYB dàHåtXù@½2Å ¿ ÅuÃØ@xÔy¦*µEf`ГM²ŽŽ> ‰ …Á¼@‹¸ç«Œ¦ýH¥6=:…O×s0‰0‘ݺ•Pý¯¤n€AEA¸ü£ŸèìhÿÂÝŸÕÐøÇGÛÛÛã‘ã.Jé ‰ëÕ7nÂ#þº§·KXÄ  žM\Œ;áÑ?þ¦»Ç*.-šìbjñÝ5òUïÎe-ˆ9¶Î@ýè ”¦Õú‚PO‰‹‘ £g̘›Éd“‰D"‘œ7ï躺BĈX¯žHg3ét¡PXýòóÝ]íÑ« ”ÜAtCgrh¡Êü‹3dQ»Pw“oKKÅößÃ,2z1â*àÒ¢âñW—‹d®Ÿ!îpf¾ìÁÏ»öÚ[›šÆºz_«Jq瑸†þ ïß¿çÎ;¯ÿüç?õ䟭1Rò¾¢_¦01ÒB*É€ðÍìâ8lq®š‰n ©£,6›"âéG*ì"?¸ÉÁÐ7VU€¼¤8Hï>*ŽB”5U¢ì/ƒ“Å•2y­^!ÃÃb[F‹jjëoþô=w}ö†§Ÿzü²+¯{îÙ'O;õ=˜iIQ l"aÜQ444^ú‘O<ó—'N?õ=C,ê±XñQ¸à#7­=saçñÚ#£Øéh× ^ÌWþ]ààèù/X ¨§ø‘  㬣£íàÁ}z_7€zT<›­øÊW8räèåǽÃSêa½ºÔ2×õÚÛæ­W§BäÄ ™ÅÖS”´iF(¶Pdà3Дcáé°¨ûguRq}xÊ9*^üêÂJ-ìðZ¿Ò1ƒ0ÏMMcUПa8 ZÔÞ1Ÿ¢¨¨¨üð%×TW×2€¾þ^ =`œ£M7Е ÏCÎyT7ôxªx݈7Zk!N7PRãuÃÊ€Šõä‡Ô³w„@¹™rdAC@u°-V\ºò+*š´_H‹(É aäµÂ™Ð>~0: A€¨1â¶;î»õ–«ñðæÌY˜ËåÒ©´Í« €z!%»Ccã˜W_{1—ËÉêW»S#Œÿñ‘ßVVVN7¥¶¶.,Ž¡¤·~‘tñ¯Zºu3™>bæóD‘vŒ±¾ÿÕ§ŸzÜõ §žú™8¶ëmâò«±±9‘LnÚ¸näȆ#F eõôi­(¬<>Œ¬†ÞGôk£hÑ‹‰ÚîE=¬ vl}ÿ)P/ŠÄ#./ýûŒÙ[þMÔÖÕû¾þæ—?~æ©ÇO9åÝÉD2ôF…€z´S2òùÜÀÀÀ†õ‡3 tûÁ‚Ä‹æóGµlßþ=••q#²L„°ËX0+ˆ¼-%Ï)£•1þÌ3?þøïåg¨ª®Öc ¤êéBá‰8"÷Û¤gl4Î)È nR·[ê´!âyžfá…SáA¥2ëÑBîH‰¡…Åc€z~â#p™íêF¯=kë·Ÿ›ü8fºò¥uCOéïîîÚ³{Ç©§¾gÖìÍÍcGŒhˆ€C  §ÃÉü_´‰Ã!‰G¬Ulƒ ¬ºa]ŠPÌu„ž P€©<¢¦r#)«Œêiqyœ’ŠH«xl¿l“‚JÞÈq*D$Õd¥_˜ÐùŸȽôⳞç}òÖÏ#—¿x[_o-ó õBâ¹þ^xº··'“ÉÞtÓ=>èØ7€zñŸéêîœ?q2•rI¤U§ÎÁd*1¨C1L¦5J –·Å=E}ýÈúú†ÊʪE‹—ŸqÆ9ƒƒyO•j¨j ´õ,å/*EÅ Ë‹ˆû¹/áYÅÍzLA’rt)è8>Á˜(FŠ7z–C2é*¢íiÍõ¢âº$À*êQqÇq%qã®*%‚€æ düE S,–Žcá§#„=zÌYg]°gÏÎû¿ù…k?~ÑÞ½»iqºz: žõá áň‡zCÓ ¹{I7bzŒ3È8ž÷÷5¯»^aά…,Áeý(ò€kê…ÄkëêÑóËE"âÅìB!pý†5“'^–“Õ¥Óúh —”(­ õäsÌÝ}×Mo½ùÚQG/=vùI·Ýyßçî¸éõ7^Y¼xy¤‰Ó"^( ÞyÇõkÞ|uÁÂ%Ç{ŠÂ±D·ï0PO‰îºó†7ßøÛü‹µ|ÛÖHÈ—F[’± Ñl,eç1(êÛ‘ü<ˆxÔQKïûÊû÷îš2mN*Áu,?®Ž(¨'Oë2z¦8Gô<ÏrÚzÖš7¢H,¶Ó1f5bz^.—CŸ´†­Æõ‚Ó:—Ëd2ˆ:RPúúzÿøèoÎ>ç|iö†jqŒ®„0·Q¦x* ÔcŒïÝ»óë_¿+™L66µ\~Å £F5ÚžŽ¨GÍ2ÒK]Pohâ8dÝ(ÃÍõ ·§û†O\2sÆüd&õ·—^¸ôc×{ž+³Ê¤O>¨×ÛÛsã'.™1}^euÕóÏ>uÑ¥W©™@T\[Šs§··çS7tÏî™Lö}ç]Lû‡²«bd±â¤Eb¦œš X~0ßvð`&SqüŠSAeUõçîþFÂIÒZZ¸NÅeV{ÛÁL&{â‰gÈo±0ÄÜêqñtöÄÏÈf³_|5wáÒzÝ>U" ‚‘Á¥QfÔRzC…\×/~úíÞ|nÔª§ç¯øÀ܉–êúPÌàkA]›b‡ñþž¶·Þ|yËŽÝûì·ºáBàØGÐé®áZé2ý¡k À6n\ûß_ÿÜe—]¿âÄÓ<ÏC4}ðPÏôLñk_½óÜ÷~¨®nD´ÀÓ ÔÓâ]íþð»Ÿ<óÌŸŽ;þUÕÕÂsw¢W—…tbµùÐã†É } E7DKËø/~é{í £[¬Cõ£1SˆˆVÝõ†$Ž( G7 S,®ŠNEeŒßzËÕï<ó½ç¾÷ÂÞ¾Þ+/}ßìÆ‚¬då¡àEÅÙm·\}Úég¿ïýêëëkݾ• 6ñèž"Å?{ëµ»vn€þþ¾ ¦€?=¤D?þ£¶¶Ä/ ˆx(jªëî¸ók…Á|SóX‰àuœd‘†*ŽˆÕÕµŸ½ókƒù\KóZQÎÕ±ººæö;¾šÏçZš' b:•!½gö]@¦•HqèZÂ|—J/ ê9޳wûºþÁ=­­}ƒ{ù…#ƽ;ÉÊêÉ_õç??ò÷·^ok;0wÞ¢ò™krg¾¿ç{ÿ}ûÓ/½,ÆŸ,l t£NÒ˜âj±ÎÈ]B Ó4¨Ç9ûùÃ?èïïkljÖ“yC!Q’Þ ‹?ò‡_n󋇿ÑÅ× Dógv ž\ɦ– §ŸtüÏ~ÿØo~ó³'ÿøÝ;>ÿPcÓDK@Ö±Z4Êl#Ëye‚¶÷žžîoÝÿÅõëߪ©©»íöû¢<ž— –£€vÕÂaŠ Ì oDeëF©©QDSΟ¿¨«³ãï}ýÏOüáú›îÈò´ÄŠñ8C€yóuwuJñOÜp{ÞŒ·<'bî‚£·nÝè8ΑGÎ>lÚ‘ ¨«.¶d®éMû¶U*PhñŒjh$eüa"^ˆ÷<¯aähÕ³vHâ#ºyǶ3f˜ Bz2+ÉV¡pÓ™jÕÛWPOÞÀ£þæ{ß½2™lÌø‰XqhÛ½åÅW× 0î8ã[­¬±âü˜Ý'µ¾9P<8)‚P‚xõ꿾ôÒ_Ž=ö¤©SˆGêíß¿gë¶ÿø­ÿó?¿XóÖ«œqa†qâ€zúêMMÕ3ç-»ø‚ Gdk&‡¦-tn,by`¤.½\ žã8?þñý/¼ð4TVVWUÕHe)“ˆÂßê#äŸ!ÎlU•ÃÓb@=½ó.¼tßÞÝ;wl;ëÜóɤ$y¨ƒx"" ôV^ð‘ýûvïh-%n1ßÞ‡gÏYJ¥'O™¦fß"0#”&¬ìáù\F76]}ͧ‰„„–GœîbºaÖK0ΡäÖ¸=H8 ݈ê1`)–F€ñ-“'Ž›¢& ¢AI ™¿–8 söÅÇ5Ož0¶„8À‘#°`¬w’À`þœÅ€ ´3Ë‚'/g†ÒݘS€¹Y0·Äî¤6 !âAˆñ7D ^1q84q”Yá_r÷,çâ€zN²ê½\Ö¶OõˆÆtÂq=a;›-@=é¾|è¢.[¶"™JO™2M3V£â±WOe—xöÒ¾ 'w›4øeÓ,¯T,°Ö‰ä½©íÀþ‘#GËÒ÷˜Qoc¿½ý`KËøßÞ¸ám`°pá’¦¦±¶Z;P1–L&ïùÂwÆŒ«‹¢¬W·ú.æœyºÑÈ~ Þ""æ¯üØMç_piUeueUžš bÆõôND:V¢ê Ô’ø?J7  Þ`>Ǹˆã £xWÅQ¡u®²NЫ8³±âÂóI'Îæh›yô¹©Œ8zTc"•ß¾}K&“±-S[-]|Æ9K§35µ#¬ÊáyÞ`~ DÄcÀƒ1dÌs-ïÈïÐg888È<Ïž¸ê ÷êy)388¸nÝúm²á2‚MŒ9ŒaUUm&]];P$­Œjl‘ÏG–F›õz±@=–ÉTÌœ½€©ƒ"N< Ô ®Îd2^й-iZÖÂGY˜ïˆ_@cS+ÒŽ16mÚ vÄ,"þdB«øèÆ1ç_xyØm¶x!±@=ÆxSSK©jBŒ3KãÊ]+qÖZŸNÆÉdÒÍòí—jí–õpCC×£âì ®óæ®ëË£´n¨~ ÞL0›Ílݺ‰Evzj”OÄcèyQ ÞÔL&³uÛ&¹ Y|Ò”ªêÚQ MÑ 8ê‘Y2'ŒÍžµºuu#=áåòyÍ„ÓãdLÏCA¨l¶ 1©%àœóuëß&D<`¤Sˆªi—pR3¦Ïtg¸âÉC—@½êêÚÚÚ99°U¶›!pL£gVb¶Oߨ‘#¢/ g¼½ý ðŸÛ¿/up̳–qÚPÉH†_Æ;»:8wôÓ‚%zƒƒu5õ]]Î!ˆwvu:ÎSœÉJ†Òâ#±µuËŽ[‡¤étzÁ‚% ÒË!SY1}Î|G[}îWHŽ€ „àH\•·)‹Ýöíß=}ö!ˆïÛÅIGš>”ÆÇÏg8ŒLÓ–:è8|ïþö qîÈØ(W?ňEŸáO\‰z;£ËÖÔÒœÍTXnGvCq‡;ÜQè.e]!xž €/?1sø!ˆ–—+G„þþ––±äfý?˜+¼AºKÄ"áD"Y•UÙQB¢é˜®gâAEˆx\OûÔÞ³õ#“ g”×$<<ñ1†¸O?Š÷oJˆlýÈ‚ÇfΘ{Øá3˜BÉEcÊä`œA½DùA7•Jq'Òt*uðàþŽŽvéH Ï“O  Ð`2¬/ÍFΙ¢"[9aì„í­:PÏGô„M8w˜"›©˜8nâö¶Ãon™”ÉVtîݽ~ÃßÕYë[!04ÎZ¤ãF‰ÄäÉÓ ¡!´ÙŠLSs‹ç¢^ƒ§#+ãžN]m}6“nòJˆKIŒxfLËðÅ'8bÖÄI‡Imé úèÿUQ|&`ƒ®ç$‰¤ÞLc£ÉT6)]=0;>xÂD¼ÎÎÎÎÚšúTEåðÄ»ººjjê3-Ny|¥Ä; ù_|uÁ‚%©T*”Ó åãBèçŽÓPöŒ´óŸ gŠúçprXI; ¿¿¿¯¯««¯žx0¨«11Ô;DqÊãsœ¤¶f¢â²6`` ¿§§k¤)”Û‹õ_Uô>Ì•åí™lEŒAgGÚ1Æ¥‘Ô3îÈø+g>aEc;jð/ruG¢â€íÝ»óÈ#gÊ E>Oåìèe þE¯ù¾}{€ÕD}›‚[p#D<¨çÛAÚõ÷÷»…’@½bâ…Â`apøâ°eË†ŠŠÝ3fÌ`>ãN-…RŒðöÀzzº;;;F×…u£¿¯ÿÀþc[d“4cȘÃüIÃÌQ§Úç˜î¿AtººÚ{{zºzºÇ4C\F£Êïíéêî–@½!Š'ººÚqíÛk&M><“É lådêûû{GT…Øõ ù|> ÔÓO§¯0h/¨w(âغc+ìØ6oÞQ2Ú¬BÊNávÝhkÛŸ™´m¦¥€zI'éŠBù@=]DŽè ÎAxÀ8ã8œ™â‘Ìšæñ!KþôGßM&\ty¾‹^=µUSZ:M ª³P/òÛ‚KíÚµ£­mÿ‚‹)L ^áb ˆ¹“pzû+++S‰4gN’§ô¡"Å™)º:çüÑGsÜq'WW׆p~¤™½XÞÀ–¢-ÚâR¨×ßß—H$²ÙJ¡ÌdiW¨'GO¥Ó™T*%„]< Ôcd ·ê¿fœÃ¦Í+**š›Ç©XpЪâºZ}ÌXp¾Æl¬ÌŸ‡b­Cdœ3‚´“~AÚ9ÉdB ÍHdŒ ŸÇÇ¡˜8O&“4›dÔýD€zQñD"I©q€\ÿÚµoÌŸ¿X-j›`ʤ Ì;êííÉçóP•°DÔmD<0¦q‚œ{ 0| žU\Ï?Ü‚NÏ”£ò_BïK¹@=@xeõ*™/ ñ¢@=UÑ-\ázè míݼ‡®'4 clíÚ7=ϵ‰c¤=Í4otRZËþKꄇˆ‡îЀz!ñP϶QKƼ,ª‡•”íqëzÿä=|ë›_H&“zê>"}>FW¢ºfÐËõçÿ}äÁîwœDTœ2‚Œú[µ÷ÉÉ'tÆøíukßò±D"Ÿ¸›n•%üÏX !´e­çÉÿ gr©ä€6ƹä›z£â&P/l¬°^Éèò˜Ähµ#¢eW wËDûäà¯Ï?uúgϘ1·­í aUÑOeê!b.7ðå/Ýöàƒ÷?ðý¯?ýÔcŸþôÇ?{ûu¹òƒìB GMªúùÏ¿»é`üëÁ­«o¾zåûßwòW¾öy×'üâÑ;B,R3„¤Æ­»+´ÃBÁÛ¸q^ŸX¡Æ`êÉÌ–M„‰‹2z|Ƶ…BÁ*^¼h4Fâ‹Åè†9·I*ôázV ^è Ô\ʸ>iâ4³ñxÝ`¶—EëH߆z¶õüÍÂÿ»vîxì‘ß !"žåÔSB|øg|óë_ŒŠGyz &8ûÛ+/^wÓí?ýÑwÜ‚áñÑ›°¸«dÚžæú2ƒ Pô¨5agÚÞñéÕeõä\41Ár&@øec& 0Ô ]7E¨ç ´€²­&*¥°ÅÁăՈ£žÕÔÔ¶Üðà>Ça¡¹sÅzì[¼dyKËømÛ6ŸtÒ;7o^7cæ¼T:åñA¨‡…WV=÷櫯¬Û²V7×½ýó·ßðÊÚõýý}½mD1_üqbµÜ‘1b£Dá0‚æ©•‰ü +ô!n(´ßFœ-¨'.„ˆžç9Žcz¬P/þê¾Ó‚:‚æ›æ P$4ùb™~ý«ˆI‹Çážç©ñ¡“R˜E, ÅåSð¼’âHÆÒ]™õ¡º¡^™`óD´¸,ÜP cJ r#UÒÆs½N<µ«»kûö-ŒÊ÷TàÃê…Åkjêî¾ó“½½=H2†8†ÅuØÞ|ã•ÇûS¦î¹^Tœ[¦'oEýÙ`:7‚ŽÛ;ÈVHd;;Ú{zºäQߤP‚iÿĈV-<ŽÃý4š'Ð&F¢ ðYcÝÝ;wnß¼y½çY®Žè‘×!hPÖ‹¸±Ñ/i–=]D(« ã®ëæržé¢“Õ i!qäœuwu<÷ÜŸeûœ)Ž! €›[óöß{ó®ìúp©¤“k{þÙÿ]³~£Ö -‰ZbdÇA²J±f)B(3‰ÄÓ âWBÏs]WmðžˆõâÄ…ÞXÄË»zX\Ql†8hÒ4p‹êÖ‡‹þ‰‚^äKР•-a¥B½%Åaøâáñ¡Ô©G=n<ŵêF¨G,Eù“Ó±PüØÕ7·îØ:aìd}ng]¨ç‹s.Ä£±c ×Ñ(ÒŽzÍÃê•?´«ó%Dë'›Σeް5fŠwĨ¹eBøgÏ+«_:û½ОµfŽÒ≸ïë QÌOœ4UÞaŠ3ã°%â~”McZ&Mšêy‡Š›ÙÉ.¨ÖŽY«ä~jflyaôË?õ°#[ZÆïÚÕ G½lîÜE…‚Ë"[´ZlÙ´þÅ矖ߚ4qj"‘’+)˜^yõèÕÛ²Ž“¸àÂ+’ÉŒiÇIU€FfVÅ’X@¼×†½¢)ŠkŰÇj3-•ùoõ4ÃÒÏÊh´ç…Ä%#tuo`ÿÏýK6úˆ¹GÎD™‘㯸òš¿¼¼¦fÌá#GV¥"GN#¶Æ©Ss¦qÊÂùî芘@=+jVþÕÜ ^H\®ŒœªÝñ»TDé«K¤–žçñ°8çLÍ %ä—…•¤DÜÃDÚYu#T¨jýäÃõ†$®7jÃ’úŸ8Ýð]ÆcKBDD!â54Œ¾ãޝíÚÕZYY5yÊ4¹yEmÃ(POþwÒ”ÃÞqê=ýäãS¦N»úº[ýT3Þ·X Þ²cWtuwvu¶¯Xqú¤É‡«ÀPx÷Ç $hbÀÜŽË?/oˆCÚé—‚pUl‘•ˆ§øO¾yZ ¨Ç¼Bá`L™6³¥&‰ˆ€ÎìcÏ>òè3 …ºuktµ¯Q+1‹éNj;CKÔŠEz4À-Le F‰xÔcŒýõ¹'^´Ìqªœ™EÄ-@½ˆË’%̹LJL¹J:7 ™¥øÍ”c‘ÒÔá#íþ•@=C7ôá,h´5Òúú:CêuwuÞtýeöïM¥RúðU€àº®_²SP¯»»ëßýÚÞ=;ëêG.?þ”¦¦qŒ¡'<= E»ÅVñžî®|ïë»v¶ŽÙpìq'§RÙ–æñ>ÇÃǸluÔ»×;¬,q(VhŠ"^_ßÏ~ö½ššúSO{W"‘DËÜâÀT×â ÊÑôW^qÓ¥¹.‘H0Î\ðT©KðÀŠõR©ô{ÞsÞ#ü*‘L áa¤-ßêéW%´¨X&ŒsT12È©S· Q­ýû[¯?ñçGr¹þŠl¥@;4 âz®;xàÀþÎÎ6/r2ÄõD²zÌ5­¼ážû~1iÆ…'/@Ænyù¡‡~úÊÛë*ªê®úø-ôB²{x]hÖ#Þ½ú1.+c°x‰ƒ‰´+ ¿ûíÏÞýžd³™Ý»w¶·ô«YlD¼8 "[·nÍü‹töƒ’åb@=èîîÖÅâ‰d¢0˜åñ± J;õ~¯¦QÆäV[’‹^i* ˆ>Üâ@½Òâ4b;TqeS#á×ùI—ˆwO½%èÔCp¸ó™O]³ßÈçó'NAበG^ ¨Ç€u¶·ß|Ó•ì•Ïþj')÷%áñAT¼«³óæ¯8°lÞ¼þ£ŽSUUÃjkUÆmž)š·×NÏÛ”ŽÒ®²¢úcW}²µuë /<³}û¦£ŽZ¶té Y¼bí®Qâ¾%ÃþË_üðÙgŸøÌgîmÕ(s†œ13ð?tuù¤ÿúÜ“c[&47÷“+,¨'Ëe¢6ìÝkC^Æc¨oïÐQ ^âå—Ÿÿü=7 X¾üƒ´ eµùv`ÿ¾ûî»}Ó¦uxî9"ĉ“‰ÎŒº·}éßh˜uÆ»—gèÁÀ¾vÇó÷@ß —¨¨5Ë31jrÚbA±­´›KÁ°ÂH»d29eê´øêqËOþíoºøÃW)útØO'…Mx.7°kW«ã8í›7o¨¨¨êêîŠ:×q@=!įõàû-cŒ!ÔÔÖ/^²ÜÊã“v(±¾)n.X–ƒnØð÷¥KWÈié£Å|¸ÕE‰%îpÄá$Žˆ†÷`Ó T™ä$b6S ÔóP,Z|ìŽÖ­‰DböÜ£&M9̨ƒ¯%zݽÝm÷É\yþ‡«jª=׃²Å{z»ÕF ï?ïâÚÚ:×õB ÅGÒªŒD?)z•%cL7­e¦H;×-ìÞݺ}û¦þþÞd"ÝÑÑ&„¢[Å@ ×Úºõ'?ùüî÷]vùõà‚ÂKÇtøêÏçöìÙ±kwë¼ù‹içmP1™þùŠšê4+Åé­¨‡ˆo¼¾ZDbÆÌ9®[°"íh,*úùåÛo¿!¿•ÍVO”žÈÔÍ:l²˜¹¤&S'qN2J¥éš“Þÿ‰É-cÉŽÌ0©…è¹–7Ò΀śÑCH»… Ù¾}˾ðé»ï¹¿©©¥µu«8XÕƒŠwuuüõ¹'c;vl{þù§Çi=FVƒDÅ£@=ÎùyøÈæÍÞ|óÇI\xáåS§„‰85U#>Hääó¹öö6·QuÅ_•ïÅ™aXèÈ€<$«MD‚ó¢¨g0‰xï]yÑì9 ³Ùìø‰SgÒ,¨7nü„Ë®¼þÛßüÒÕŸøôÒ¥'Ü‚ªD/K¼¥eÜå½á[ßøâÕ×~꘥+¤¸ýêÑÊ'@O9ñeóæ ÇOI&“²`Þ‡h(=~Œº]]«^znÞüÅG}l&“Î}°ñt\¨yÜØ_÷™_þü‡+Ï¿dÐÍéÌ52zGÅ€zœó#¦Í5ªÉF 5ʧî÷>е5}Ô.9–©éæ‹3ÞyŽb` ÞüEdz"Êã,FÄ=ª)™L îâÅËßqÊ»B4ÍqÁ’5ç}üÞ¿¿þÒÁäÈŒ™¦«?ûƒ•öWÔŽª­Êšm)hÎÐN‰vŸõÍ é1ë ”sÒRäœïÚµã×_>ÿüKñ‹\uÕ'-:6T”u´ø¨QM\x9çüÁ¿¹rå%©T "cŠˆ3ÆR©ôÍ·Üsó—Θ5é²CæX¨';ßäj`”šãIk6A×6°Röú!"íþ@=Œö¤ 2h?2pèFP3êÍ}0ÙZ®B-åõ8¤N?íìw¿ë¼B!/$íÂ&.Óñn^³Ôi§žõ®ÿZY†¸mt-¸€€è´µ×2ÑqÀÀ—'õb (+PodÃè•ç]"‡©„ "â@=`à€ã€ƒN<áôSÞñ®Á|^Qh¢âP¨—J¥?sû½²ê8þꂼÌÖà„4ù©kÅtUY‘îIÃ`¬±±ù’|\¾ÒÖŽ¬â@½ÓN?똥' Õ5µÉdª| žüÈyKA(N*3¦e‚~ý£W7 ™ÑÌà£zmtÁ6S•¿E"êát>Ÿûå/xÅ•747««ùê««—,9ÎzºÐWQ‹ë'8˜ËÅÄ(ó:zõuëÞzè¡ïÉòÈ­›7|æ3×6õÈ ?x9ƒÅ¢¹‰ÐÍÍøXňªÇPv,î|’ø¡\- eêF|iÌç èÞ%â…‚²ûò¹Æ@˜â}}eˆ»(p0×χ'îyÀâƒì(ó ôúú£Í‚\™Ên[ 1àºn>×EÚåéç‹8ÀÄà`žó¼‚U|䂹]<Çyžýê("žÏç¸?–Ó¥éä†"AÙþS žC¢øj¬¨´¾¹úê™âÌá#F4hqÈ@=ŠÔ¾»ï†x$¾W¯;÷ƒRܸ½#Š´K¦R7ÞxW~0çyÞQG-ãœÙvR(FĆ(>võ'óù|ãÏ*>}Æœ{ï}H¨Ïó¼\nÀº•Ó´µÊA15’œÑ²!RS…–5)òt¸}×5‰xxhâ‡vuu`FóõÑ$¾¡ÑÚ†„^àl6»mûù`dàŽ#Ãvžð@:dC:"8œózÙlfËÖÍTÇ‘PÔ9Žýñï|ÈâzBBo¤¸˜—ØïT‘¹ûD"9súLÇ Ä}"ómo×ó|"ž¤ôO¦4‡#BÂIΜ9‹^½¸8Y._üÈé3¡§[-²$ÀŒ‚YƯ=—˜V9Ôó\·ÒÎÔžëÕVÕ¶w<¾áˆ·· /ÂãcE™k¨çÿ]%ë3ŽÚùC–"Í— @¶Kdý*[á›üѨ¢G†h—.¸<,c¬6ÂcÀ@x <„ÀÜr ¢§PêÆ‰; WCî¤B€ô^iS† Ýbc¦œ;]Œñá!íFÔŽèììà%Ä™š m·àüʯѤÜ\éÒqsü.5 ëF±l~ª¢zÆì…ÌþСnÿøã„¡‡oã~2¸¡±™"6¤9ãWAÑÖy³€1¾y÷Ú œ>k®ÃÐФ€©ç>Œ@"Øf=Á9ß¼m»‘=ÐÕâzê´<]U ‡ª•Ñ‹úBÍc''’ mòÐÿ3€ßh2V¤µ„B1}®YÇ83àÜ:ƒªªL:½úíMÍcÇO:L]ˆ9çLh,¬$Cp]Ú¥SH-3’E¡cˆô趸´‰Duý(W†`¨pˆÚlFÇ‘ÈÿðVD2•U™ªÊªfÎQèŒ *Ü4'9DƘ#Du„@Çq2édSs‹‚w2ýz( ž@ îÈÅsd  ‘Ídr.u墕ˆ4J)­CKám&jk?ÐÑÙîÏvó‚o[ø£ÞHÖ¡´Cÿ,++*'Œ›°}ûŽöv„`6.ç0@Bx>~O‹«ûBTVTN7iûöÍ~ÄÂó‹¹:be¶¢eÜT:‘R®ìAG¾jZqls-wêƸž²|ŒùeAˆ¡Bt# e+j*kjÆM˜*„Ð e_7d²Ÿ!±è ¬®NpÇi7ÞóìºÂùÝDL§Ò’€‚nDÛÁÚþíî<ÐÛÍš›ÇYKs™Q„ÜóëÍ@Öš'"+qBÄ^ggweUmª"U«UG Ô œa?·@îQ·œ˜n>˜™Š°_»æÍÕ3gÎËd²–Õ ÅíºD^3òG=?Ë?´ñåKÒ}¶ÓO¿¿¿`pÀL2hkÕš ñi€L&´O*Èy0ùðÙ~²†­c Ç1xf¾íáfPˆ‹—3ý]€œ1”¶B´9->‚à ¯­ýàôYsNJ™ó†ŽXz~Q±ï`»Y'T”1ƺº:ª«kÇ¡StUÅ¥½4*“JT¤Sµµu`ÕàdŠÕúºÚaè"¤Óé{÷z…ˆúQ6Ýàœûì3ßò ºÁúúúúrƒ4š¬&‘PÝúK"ºa™"°ÎÎö±c'è¢ì‘q0ùÀŠN¡ ! ÇPX•ƤÄþ„ :!°¯¯O›%!~Ig³(-mŽd¤½@@ÆšÒ´¥‘¶ f®äóùŠŠ YÁ«çHG€«•atY(s\ÎUƒˆgÉåІ…\.—èGIÕ ãü4 ÔbàüèX £™*˜aÔœ’P©¬)᤹­Qk×®Y´èX &¨‰™è?úCÀ>Лޡl.LGG;ÊÁG…B*•* Ô㌠xèï7ç®xyÙŽ7UY Ëk“M9ëß^øáÓ£Pà Ý AÛ–nñ ƒŒOòYÎZ!ãNn` »£Ï·{„¨Çüfº„ÃÓðÚൔzÞÖÖæ¹mÕŽ-"ì߿릛.?ùä3W®¼D·H„ÊòÁRO†ëÖ­Y¼ø8mÃÒG¥dþ£t£««s``ÀsÝ|>¯ucH8¿þþ~!"7HLÇ"ºŸ€2 ¹Íi†~ŒŸWU³Šu 'cжogUÃØtÀRÅP½žmEÉ(O±iÉQ¬ÒâœËÒKÂãC3W øž=»~üà·wîØÖ2vüŒ#çùõ@ÀmÚÏŠ%kÃH>ãàbA³)Ð#¹g=ýôŸ.\R]]C” ¼ ¡‹¤\ÃP&B`ÁÕ<>pú{ú*+«ÒIƒÇ§A/æ£Òyí—ã™G«QrÉbZ\"\]ŠÒþ¸ZHjÓQ#4?f\õØOÎ/RÃe”S7‰bèå3ÚIQ¾MºGD«._íÃCoÜüoxï}%Žš¥MÅ,ˮ̎ŽvUf'Ûp‹õÇQˆM³lÈ´HË”1¾gOëý÷iåÊ|ç;_FÄ“O>3à–-•3=¶nÀ?G7Hqh PÊÃù…ÒZ7|¯;^7ŠN ¦ê‚¦öÓà‚tG{Zß~ó¯«Vžu¶Ž­Sìm³WC!m Ô£ÈI²¨Œ)T\ Û!2°z{»n¼îÒÞÞèééRÏIÚ_Œôé¨X, ›Žž"€Ñ|1©´G¢¬­í@¡0¨|4ÆbÇØ "„šj16}7y€Èÿûßߘ1kN*‘ò±RjÓ0©8AHOÒ‘™7&ƒZh´TÊuX¼qPûÈÔYæ¶yŒ2”Ìü¸q´X_uDù²¸‚µkßÌf+?|úk¯­BÌ›w´ ƒè±­¡vcåÕê[C¥Nœ½’œRÆÝh HwpCÀßñeŸñË/¯š1cn:Ö#™C›©åF£Õ‘ÍHN¶gôõ‘eWº¼‰ö‘¿_R]·mÛxß}Ÿ½þú;&MšÚÒ2öŽ;®ß»w׌sõPiÚƒW¦n¨ä'ðÏo’fAÐ…"îQ9ºö3Bºá8Ž\Α“~:"Bæ¨Z:a~¼nê¹Ojc“’5FI0ûèS½žOýõ¯äö%OÑÿ ¡ÃQZ¦¥JÓ"<ŽÔ ¦$ù¦Y>Ÿëíí•¿dÚ´™ÉdBºÛ¶m¾÷ÞÛe94”S¯¯ÂÒ¡h™†‰$²FGPÓ?€™(7þg²¿VJ†z¨x|(ô¬FÉÓRãÚ¼¨g 6å >˜.A5BÀAÉVéJu]¸ªiZzk&u$Á¸uwS·&Ì512äJ70èÛŽŒöÒK´wï®§Ÿz|ýú·~èûî½cÍšW_^ý|”ÇGçNèZ‘Ôjï_`!׊Võ’T§á“Éo­YóÚà`Þïzâ3 Å‚žv åõôìJ=?F2VVrî¼øâ_Z[·ìÞ½Cïˆ#f_|ñUÏ=÷¤ SnJi%Ò¢f­ÔÒ«~;‚wA/B¼nø³ÂÕMC=êùÃ3‰¸ ˜ ¥Éj€c¬nð¸¨h—+µ>€äø‚CÃÅx²Ð}ï—n©ª»ñìYªÿ,nZ(’yµuòõ:ÈÂ)iŸÓ“–.œ¬›Bf”2444~ñKßùŸÿ÷‹ãWœò×gŸzæ™?%“©W^y¾¿¿ÿüó/- þ¼PEr”¦•áÃäG ¿é—°Ô'Ò2=³S 35†$šiç ƒ 2ä 9(Üš,Äѧq¨§œˆ}ÍBõ zI‹$ èÓÑ1‚Y ¤KK6°†–BŽ•‘ó§UÙsȲ ëF0õ‰!3z:þãy^só¸×_[½ÿÀžË.¿îo¯¼ØÛ×C©Gª#¡È™ŒÉòvm.É×Þ¶€^¾±$T7èH:ÀÄtn˜yŽÕàq11mFzú—ëׄ1®`ñ €\„PŽO€9ñ¼ÂÙgŸŸÏç¾ô¥[¯½öÖ¦¦±O=õØç?ÿí––ñˆ^I•(©ÚDUžø0uCsP |,Y ªt5´å.7ŽiÔÃBº¡t&ª¨psñí¤Ú¿BG^IÛ š-½,ß½÷¥Õ/æûºž{îÙ£gÍF!h«-Dˆ™4ê!Åùyž§ŠÅ  ¢'¼§ùð<÷Èi³g}jëfÍXpç×3Æ®ºê–Ñ£Ç8ŽCM¥#AŠŸe |ÔË¢ šì3¿l®^Œ2éæªËEІÀ|Ÿ‰ÍfÈ„Áã“/…| ÌÔÁS?ŠTªÓ]€©±ü@E|Å ƒþbFúÓ9xÑ ËØÐukâ_MMcGŒ=cFòªoîîîZWUuôÑÇÒÙò*ŠÊŒnTÆü憦ªyŒ•ÚIÑô÷ƒ˜í\ŒÄ…0„~Ðï`Œ4³.EÐmÁÊàñÉĵiyø@=~Ó"8Nâ‚ .è¿ï¾;ZZÆ_wÝm'†~Œ„•®(Ý@Ú¢ªO]ªivU03dY®nø»6 #ºÔ %¶uí¹Wªn°˜(å Œ˜±É.d’ÍÆÄÏú5[vsØ…+/@áêÉ]æÁÎæ§,„Ù ÚÔât"[^Ì1D±so;|èü‹FÖVê]T¬ž qo™ ©×ð˜y¿t Œaˆ ŒÚ’êË€ƒ9Kq:RY)–§z+˜röƒx?9T´i†O>ùÈK/=ÛØØœJ% ¿YœÍzOâËø°ì¤r<ÆÁq8  O®@¼ D¨G·KÔ! ©?”  s qý葳ÉlPc£4ÈxR 3&4Ñ ¸Po ¨~ÄïýòíW\yòe+"ÑC$~¢2N2*@⇕" ªKµn¨b#ÿÝV%ñÜœ¯L“ÔÁx„è‚P舵À@O'¡ðZ=*!úUZ8¦bø—^¹ò!„îæˆ˜¥íª*è»ùÿXÝÅ;L;,Ð ÏCιtm£™{:ê ¢zºE¼nسù‘*n¹ïP³V±†Î¿á¦»üdEÍh cfbÌÒP”Pະݤ¸©½,º™b´Ú‰ìæL;¶$ÉÊQUSŠ©¸7k¤€­]ûÖ—¿|›knwÎ9’R„r„ÌBP@½€ÇX( ®yãµm[7ÕÕ˜|Äáòè¡£ÁÒbàGNA'F,û% urRõü`£áJNÙ‰@¶Ãµñq[¶Ñ¢†Åq~r• jæ’¡!‘Õ õ¶‚ Cazÿ‰/½ˆÆgôËBq1ó}&o\ fSDÅR¨m$—`¥€zLf®Á6&9Z+ª_³r]WW „ÎÚˆ— 1¦Ó• Ú'cs}‚‡ÔFºÃR¿<ÝPyÚCê±xÝ@«nXãWö˜)ýiµúœ0¡nù ÑÓ7pòéç>ü«ïŸpǸÑ#•›¯Ÿ„v«E¸—JͰõT ׯ R)!ÌÖ ÿŠ”}<Š™U4$† /5ƒöÆV+by6›­¨¨êïï€N8¥ººFÖšfi84IÞL¢¯Q—>ÛªŸ€l¶âèeË$š z@¢ƒl±NZ"ÇÔ…[Êâê{äÖ®b,ävÉ·‘“fgˆ U)z@+ÎQÈéa2 ª±‹6J¨Ó1˜=h€[€ é¬%®C¦bb¡Ñýd¢=%YÖ²¼Ê#D£ê-Tš½qÃÚ—_~þÜ÷~0•J‡ú8”Ǩ²‘q LeèceÄò- £ØÎ2t‰2:3´LÝÐcìl‘1@=ý Ý‘kCFºùñ Ý(1‚/úúÑÜ‹ù½Þ¼çÀöO~úš=…9³ænØ´~|ãR¿X:ÂVÂêHˆ[4ûÈï\ ´5 @½°*Ì£•sÝ!”ñ¢h Ó’ ú€'„¸çžû7mZ7ztã…ǘ†°.7Âé@:Ÿ54ŸqëÖr'€I“¦&“i¹S+7_õ,CçHk ê¢zÀÚ†—6@¢‹@þ wRA¦C†]¹"g™¸ ºKÃÐ45(ÀHÑlž_mà|‘ÀZ–BÛbñx(ËÑB,¡·i³$ÞÿÈê¢ü‰'yüñߟyæ9fa–õ¬¥¯Iȵ £ŸñG?úVgWÇYgŸzY‚2dÆÍ«¡NÝŠ‘†=ü‡ê¶nD §JõÀ£­q¤@Ÿ™Ùy#í1$ݰn¦ÌLÜm3*­7,|ìµî9xçÝß™3s&càº^Ç;Åd2ãŽ[c…ÂàK«ž[õâ_N9õÝsæ…"J¯ ÅòBŽ*]˜`¼_Kû7"©9íb˜°]»Z]×}ç;ÏÌßwßgÏ9ç±c'é1"–ávÌ8´icGx"âÄISÏ8óœ'þô‡iG̸úÚO鬉ñøb??F‚}HÓ¬¤oKž'Åa¡b† OÊã-)2ÁR:FÚÂC§Ë¾}»ŸyæO¯¼üˆ# …¼JŽcÌÑ]D7X‘N$,ë¬%u Hg!äü]½½½?ùÉ·gΜ—ÉTªB6Ý¢ï‹~ù1†Ç÷ì³O¼úꪯ|õ‡z8lˆÇi ‰ëd·Q[zcJZd&H™º¤dȺ¡‹Iàz‘$%ucn¾ÙÝ¡ï™ýü…ã€NwO"UUß0Nº!fÁ ³mTh–^£ëyzä³Y|ƒƒƒû÷íY»vÍ‚…Kbz•„5ÐNvU4»"#ÊŠl©zF¬QoDâþ]/]ºâþû¿¸pá’gŸ}âÍ7_½øâkÈýŠèˆEU?H˰àzI’–o€äñ}ä’k?|ñ5‰„À Xðc‰Á ~ Ô+vLš$‘>(ÚâbØ´`×: b#ÂÅÍ"©ˆÝÇH‰ƒM;p`ß§?õ±ýû÷†âB¡TAÆÝFWƒéjÁ˜î£’¡ƒÐ§^?®öS$‰l¿€ég?ûÎÀ@ÿe—}Bõ T±R7{Ì"<¾ÜÀÀô­O:cÊ”iž@9ýBwf´Gº¥ šÖÒ•óÆ”¡@#E13Šé†Y£[¨ç'¤btqhºa˜bq›©ÍtÒ{¨>LP³”ãóWœñó§Ÿýåo¼à½ç5Œ¡fžýv¶°W%”è¬ôl¶âøãÞ1kÖü¦¦ŸiÏSm3¨‰Q/oˆÕQŒ¸Fé?óO×3Ï<÷߸筷^?ï¼ÔÖÖ¡OU‹çü…> Lõ€ÇÀÁÙ½{ǧnùh:„t6{÷¾™Îd žhtAtM(†é{&¬l?N›c!7¨mP¥?ŒB‡ŒS0Ûpã¢~¤#Ì5èîî”;©~7R©Œ•ÇÇÌÅ õŒ«u0T%¤e¥Lu¡Sõ¦]~ß·Û·o÷£þúƒ¼²ººÖl{E- ³õã=öÛîî®óüt<ˆÈväÏEqЏ_höÍÇ'ù·XÝPî³ße«6Šáè†úU"¤q@=a¿“Má(¥e¹ùôX4Ð@ý}•&ãXrãµ·<þôSOýåÏï~ç{Rɤ§‹! òG°6t-êêGÖÕ$ƒ_,„©³Ø…º91æ(Í^‡C´8.Èk©D¹`ãÇOž9sþÞ½»O8áBx$³)ŠlOï`ꀋnó˜±þè‘`©ð\, é·T@½ð‚ØÎ˜b RôÁÀTjƒÕ`¤á tý3mÑSá-ŒO~l6 䉧^qå?ö»®®Ît:}ìò“g̘cåñ1Ûi{sŒ4`9{mÔuÙd¡ý`¾òƒ|­¹yü©§¾Gøó·P=ffè-P„—<ÍÂæÛÎ[~ø]ôÑQ£]×e¶ñ_Qœ_ÄŒ®ÃöSÕ²QL7ts³ÞRuêtÃoQevÝPÏVÊ:<ÝHD×Ú\_»¿OëÒƒyKN™·äòöÒ6Qf Që:gÙü}Þ¡€dOf­ü…Žx¡D-*Y„lÃèšÉ}Óß×ÃÉå»ážrÊ»—/G:]aýÆÕÓÿ•òø<>ÆÀ„ËÁ‘½•º>ë‚!£sX0vA¬%S‘½´ô;3AÜOéµPì8’&KPyUˆp1=7Àß‘m]¾''Ÿ|抧õ÷÷%“©L¦"¶(sÍfŸF-Ͳ¾ˆÑ ê7…«B€«W¿ðòËÏß~ûW2™ŒzoƒS0¾ZÃʈå!‹ó7n\×2vÂqÇ¢ *ó(P/¤‘‰z–¬œ¦¨nèrfTG,'É®!膪?fVÝÎÞÂ0t#AÄqÇIp.b^6I›0 6²EÒÖô÷øé-nõhè•a¹ ¨'7)=e5úùC’~Bf nø ’p'f÷a¶ÈŽ¿ œC*U§[€Èƒ´.Hp Î9©„³0Oþ˜¡Æ%X’õtˆ6p8çÔޤŒó¦Œ½ƒÅ‡P€Ø H¢lÁŒ1e™²H÷j¬ŠY°¹/ 'YSSTºX>3Z–Pð+ª-PÞ¡ Ðþ¾®Ô‡wuµ-X°dÆŒyf×1I3&?FÃ5¹AéÆ._~òÑG/Ëf+H÷¤Ç·ƒ„”!:Ú¹¨}§!û4Û¨tCyÃÐXVãðp~‡¢þfêºÛ´iÝŽÛÀqxLü”qîÄâ<Ç·UmW£»1ª½ÆÆÈŽ!ò}’Ú@”’Fq~$‹Â$PÏ–BÄÍ›×§ÓÛb±èV+EEeýˆQN´Ð9wÝB¡à¾ðÂSŽãpîÄ¥¹åÄÙ8õR·ŒQµœ>ÕõB¡0oîBÌ-r}¨§¤«åÊùø}› s¹‡;˜ËåÖ¬ù[ŒöøÈó»ëëGf2#¬z&„èííÑ(ëYù#6>#q(«À¢ÿ80ПLe¹f®Ùp~æÝYx|º ªP´½!Œz!t¹<Ï•ÅgÖ£EŽÖµn"Œ…?•ÜÚN;í¬3Ï|o>Ÿ3F·ñâ% ÌtSì@=`ÍV@éÔjE<ö3{)r®`ooIÿ_èFÿ@EEÅ?¨ Q ƒú0Ž~HÎÃEÒé,ƒNvnßÖ0zÌñ'œføû"ÂÖìVë¿Ç*ÎÏñÇL™<%‘t½ )›†ëQµÙ;¸þd}••µ#GMìêèÔÿ8rÔ¨µo®™7±üÉ òYNFÔÄ-ˆç Ó¸6¶§¨âÖT×°ƒý©TjÃÆuRÉä‚HT t= ™OŸcžçù£qމđGά©ÑÐШæÅ£?TA+Y8¬œÚžç3¦¦¶†ÞO8Œ‰mÛ¶¼õÖk`t¯ÅÅUEQƒ®Hì8|ºLž|ø1ËNâÜ9Ð~Ðs½b@½x_݈ "nÙ²aË– 0”¯ŠŠÊ ŽÉTTcËå^}"&±/‰D2î[r|'Àj|äóù §JFQ²7 F7 žG`Àr¹þ={v¯¶q0±PÌD~ÚD"ÁxÚHa§R9±{÷Ž·ß~Âý811‹"%“eë"Ž7ñÄ“Þépç ‰ó“ɯ2€zÂ-¸õ#›±µuKkë–!éF:^¸pi:S«Ÿ”¯-&UÕtÜBùS þ_ó`þüIEF½9€-h ãeý.Æ***kjj6ꫪ®nh=¦·×Ö ñÏÿB8âðzôé`ÃXŸ'ÉNÆ‚8ŽSUS“I¦‚7ÐóF7éêÞzÑùï3máB5ê"Eb ˜ý[F1ƒiÂëÈŸ‰Úl£ ôBáu4úý©…À K¥*Òi·nÖÔ9Ó'‚ÙI;b^Z¬¨rG‰Â þnUMõžƒÝÍ-“sA– r~øþ{ôhaÀ$" <¡ï¥ˆåAD«*«w’ÉÔžÝmmíŠ?aõ„@I*”ì[I–F•Ùª1-³ÕÝönݶÕß¿H"Gx‚v³Ðî8ãÇM:â°ÃÓj"0 1v„M¶^°òlÀØè¼¾ëXÝP÷CÒ @Îxm69ªºÙóÙÏÅ–©‰DE¶Â­Ÿ>qúá-¡§_Žnd+£›²éd°™2Æ^}é%ð/ÙIÿõ_ˆˆH=ý-6 "û÷\ ¥1ÁÅX!ŸoÓàº.þû­IÂqÒ §­³OoÍ-cî?fj¹õuÅóálÈO‡±Ú¹Ó±"— '4ôSÍÀ=ìpƦY/ÏŠ¦œÒÙlMýˆœš¼ŒåÆŒi(¸.þû½) Î3édOW—ÿ×€PÿŸ/â‚ýgô!ì8Îæõëÿ³ òpåŽóÚªUÿÎë°»u}S¶lØðÝÐaTüÏ*üç+î«ýàÁâУW`Ý[o æóÿY yÖN=∊ªªÿ,…üª©­ýÿyj($R†IEND®B`‚nted-1.10.18/doc/docimages/after_slur.png0000664001041000007640000002540111520267216015114 00000000000000‰PNG  IHDR!l%¬sRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ 9ëâŸmtEXtCommentCreated with GIMPW IDATxÚí}yXSWþþBBÂV‘5ì&¨¨àZ׺¡vÕiµ‹í´v´íÌ´ÚŸÚvl«­ítïŒ_«¶®¶¶.]À]© â†,YÃŽì Hr~`.\YL ˆÀyŸç>„“äæäÜsßœóž÷ó9BÅÁ‚6%! JB”„(((( QPPPP¢   $DAAAAIˆ‚‚‚’%! JBÆ„tê"|ôòZ¼ýùAÔ¶êéU¢ ÂàÜm¬ ±ˆžú$”7l½§ãë#àáÑÃæ¢üôÓOصk$ ëppp =–‚’P¢¹ò$¢¢‘ÞØÂ*·´òÁ·éiX$åŸÿü'>ûì³NåÞÞÞH$J¥ 1…††B ОLAI¨¯ úf¬ vÇwyŠ.Ÿ8ÍBAùIŒä}+00yyyF½–Ëå"00ELáááð÷÷—Ë¥=œ‚’±ÈÚ½¡Ïëñ5ß¼ˆ”7Æù‹bee…–––>C("44”EL£G†——íõ”„ºMutD’RàYÂgûö`‘{1O_Ž U+€o; Ê+às†îÑëõ7nÒÒÒ0wî\¤§§ãÆf;¿££#¤R)ÂÂÂb’J¥ptt¤wÅð%¡ê«/Âuìv€…¥=v^,À³cœÙ_ÏÆ¨§ÿd^û~q^ñ²ÒeñâÅ8tè —¦¦¦iiiÈÌÌDzz:ÒÓÓ‘™™ ¥Ri¶ÏôòòÂèÑ£b’H$ ƒP(¤w ÅÐ'¡“úãÞ_ áëãqõƒéÌsšúS8ÎeþŸó‡'—ˆ‡ u¹\ŽÌÌLddd0Ä$“Éú<•3€ËåÂßßáááÌ´N*•" –––ôî¡:$´ÂÍ?U6ËsE†¢ !ÂŽ\ m›_hÂ{WqaC8%¡n Õj‘Í“L&CBBªªªÌV?+++„……±ˆI"‘ÀÛÛ›ÞQƒ„ˆ®B¾=ÿ²XäýÝé5!6|\ojÓ…"?NÇù—$Cú¢DEE!%%}ôsƒ»»»÷ú|Ÿþ9Ö®]‹O>ù"‘ˆ5r*++3[½˜©œ¡ÞR©NNNôN£è>¦nQž…F߯ƒ/}<£Ë×Tµê˜Ç.C¿CWWWÖ­[Ç”9;;C*•2B²a"ï Bt4›äkkk‘žžÎSFF222 P(L®w}}=Ξ=‹³gϲÊ=<<B2Ô?,, ÖÖÖô¤xjUe0_èBpnU¥²B7žú«8 Êjjjpúôiœ>}šU.‹™»£ leeeÔg999aÆŒ˜1ƒýPTTÄáb’ÉdÐh4&Ÿ²²2”••áøñãL™……£7u¬pp0Õ›ètìÎBQ°þµMͺ¨JõÕÕpû€o‰fåù!u+ ¡V«{ÿËbiÉ¥R)JJJ°{÷nÄÄÄ`ñâŽ>¯V«Enn.:„õë×cÔ¨QÐëõÈÏχN§3Ëwçóù cˆÉ@Nb±˜Þ­”„ú‰„ò_†CÀ'!æ@´.,?†ÜŸç é BApp0rssáïï‚‚˜ëYYY±¦E†U/“ΓžžŽððplܸï¾û.š››!“ÉÉ𷤤Älíboo߉˜ÂÃÃáììLïb:ë# rm˜Ç:Xt0"ªkOâéãíù¹÷& ý_£FBnn.òòòÐØØ™L†´´4ddd07yo Œ—.]Â¥K—XåcGb2%`V(büøñ?žíf¯««c©cýëêêL®»R©DRR’’’Xåîîî¬é\xx8ÂÂÂ`ccCïnJBÆkåÓN:z÷& -^›ý(”7—æí¼žÅ+~öÃîÙÚÚ"22‘‘‘ìiju5scw\íêJOºêêêøøxV¹··w'!<,,Ìèó:::âž{îÁ=÷ÜÃ*/))aSFF®\¹Ò«_yy9ÊËËqòäI–Þäçç×IÈÇ£wýP›Ž¹»»C«ÕÂÞ¾wAt*¶ýª‹ýüaà M}Jk›Ú‡ãb¸†G@fEEšššàïïß+ݦ¥¥¥ÓaÖ_.KKhµZˆD"ðùü>ßÜEEEàp8prrbÕ»µµÕ¬£L>ŸÏ:¨>ÈIH,cãÆX³fM¯ÞßÒ +ûÉ€LU+¬-QyþøNY‡æ›K÷N£×¡:ãC˜+dlÁ’Ç0géÌž…`?OØZY@U_…ÜkéHˆ;†ãç4ˆ9üß»(}1+v…íÛ·ãÅ_Ć Àårý¦  z½y’Æ ‚NÆÑ£Gm`‹Å‰DHKKc•«ÕjÈd2fÄd8Š‹‹ÍÖÞvvvF|ááápqq¡ 1¦c<›1àYpЪ'(oÑÁ¯ñ4fÌÞÀ…¥=v{ æŒY=»Çb÷tûüòÎ ©‹lHé1}út–OH¥R1z“˜222P^^nòg¨Õj\¾|—/_f•;88tŠä7%`V  ""¬òúúz† qu¨­­5¹î HNNFrr2«|Ĉˆ),, ¶¶¶”9† q,„˜hËÇ9¥¹Êbì˜þ ²šÚ‡àsß=…‡=ïŒÈȳ ÀæÿÄëËÇÅÅ·±±Áĉ1qâDV¹9fëë둘˜ˆÄÄDV¹§§'+`¶¥¥Å¤Q™ƒƒ¦M›†iÓ¦±ÊËÊÊ‘‘7ß|IIIJ¥ÈÍÍEss³Éu¯¬¬Ä©S§pêÔ)Ö”ÎÏω„Uÿª7 V€ÙV8§Ôà³G¦àZQ»°ê~Ïf^?¡_?›o㈀б˜ÿ£xñ«àoK;’³³3fÍš…Y³f±Ê ‘™™‰'NàÓO?…››êêêz¥9•––¢´´”e`¼qゃƒY‘üR©Fë6ðððÀo¿ý†¤¤$ÄÆÆÂÓÓˆ577Z­Ö¤zBŸŸüü|üñÇí?`<BBBX+tR©~~~àp8”iîvšäc )q-©=ÈRà<ùúKŠþ¹ª Ë]hš S ‹!‹áííO?ýO=õ¶nÝŠììl–?(-- ùùù&ëM„äää ''`Ê;Ìv\Ž7ÖÀhÈ>ˆ|)×h4Éd2šÜ6­­­ ¹íÝ»—)·µµer7uÌîææF;ÔÝDB.Ž@b{ ¥Ï »“~Ç(ëþ«M|j¦di‰°°0„……aÙ²eLySS®]»ÖÉ'Ô›€YFƒ+W®àÊ•+¬r‘HÔ)’ß”€Y+++Œ7ãÆc•+ –õA&“áÂ… hll4¹îHIIAJJ »Ï»¸tJ‘2zôhØÙÙQºÓh(Øå»®³ÊV~q÷sRûÔßvâðÑc¸$+@C+#¼1eöb<ûüÓqäSvé#¬­­»40v0›™™‰úúz“?C¡Pt0ëîîΈñ¿üò fΜiRÀ¬H$ÂÔ©S1uêT¦ìÇÄÊ•+±qãF¸ºº2õ¿víT*•Éu¯®®F\\âââXz“X,îD¬!!!àóù”„úÚælÜùŠ4íórßûwà»'Cúý³ßé+lÝõ)¶}=ö-%xcéT|ð¯CøÏ;Û°e_<6-ö¥LÒè.`ÖËË <kÖ¬ésÀlÇÕ½W^y¥mt}3`öÖÜÔ€Y©TŠ+V0ÿëõzt"Öììì^éMr¹r¹±±±,½)88¸S&???XX þHÊ>û„<<<àî€“ß›‹ôìU‹È¥BlÕ¿“¥¸ã'ý†à‡váúþÕ&¦ì¦Ðªó©€3ÈÐ1`¶ãªœ……óذ/“Éze`T(8yò$+`Ö``¼5)³nnnpssÃܹsYÓQƒÞÔq…1;;»W1u………(,,ÄáÇY3™àààN™üýýMÖ›têD-}å-: ˆ¿Ð‚šÌO™ç?7 ¿°¹—_Xa:ïÇǰ%©= ‡+ÄŽø¯0.íà@ê³~°¨ß>íÞ6Ý'çà Vw²FLïê!///xyyaþüùí7ŒN‡üü|V$FFFŸ Œ¿ÿþ;KPîh`4ˆâ¾¾¾Æ ¶üýýáïïû]¿lmEVVV§Lr¹Üd­L«ÕB&“A&“aß¾}L¹µµ5c¸ìW×Sî©–ÆË7 ¨ u×v …| >8ùßçpß)pòºù5!“¾ps=³ŸU±þ÷³GƒåqhªÚ‹&ýNX[ôËÔ“Ï…R«‡•ÃŒN,Þ®7õ÷D™§ïGN!U–‹ÚÆØ8¹C2a”jeŽ~—ËEPP‚‚‚ðÐC1åcGŸPof»30ÚÙÙ!$¤møúõë8uê¤R)FŒaÔyy<“Üí‘GaÊðöÛoãý÷ßÇÒ¥K¡R©žžÞ+­¬©© /^ÄÅ‹Yå§OŸî´²i€Ðy1îuµÆ‰ª¶ì|»ñH:ô#öõ.~¸æùŽT,ôX:öü}ÈnnFZ‰fàèÖ¶=ƬG¬ðôZ%öW7ã‰ý“}Ël<™2ûãd•×d|ÜÞAy®øïÞ‡ú­n¤ìų{ 1W*:={ðGp84td ÐñË/¿Ä³Ï>‹§Ÿ~B¡!¨ÞÌ^¸ppéÒ%f Ö1`¶ãôÈX£3ÊZ½z5¬\YYÉòdõ%÷Tù¤8VˆÉJÂöw"öädæå`Նϰ著»o;[C<ß}àHH]w ù.—U¶òÇïáÂk›wr­Ä¸Gd…x…û²êû„–þ°AÞs°ÿÈYÌ^+P-;ŠÑ_·uB‡Ñøè·xpdÿ|~Êε˜ùüN&K@×Ãû6¢NP¶`º=5NÞ 0çÌ™Ãò fouX755™üÝÌúúú²B>L50Ž1sæÌÁœ9sXSH¹\ÎÊD “É••Õm, ‡Ã««kÏ$îŽuÛv`Ý6v¹^[ -ØÞE0ú#¡“Ï¿•®=–ÈÎç¯øb{h¶b¤ âäýT2Õ¾y«ÈMŹëqØø×ôÉó°„µ*‚¤sðÚ†exnÍ£ðî'üÀß1yíN蜷ï*oÄt{ºg×Ý CÀlG“!ùG!¼/Æ‚‚ &&†5%3;¦H1V2ˆé~~~X²d k iØ<³cÀo~~>ãBïÕ ¤öô–: ÍOBz½YYY¬Õ‚N¯i)ÇŠ}y¬²{×ÏGÜ-ïi ³®×"k×Lpwµ‚Kk{øø#"j*æ-¼~ŽVfé²þ"!¡°ûˆôúk?£AÛ~óñí¤,½„“¥í¯ÑÔæãpBÅMöoj›”È—]D¾ì"|»¡“fcÁ4)xƒ,=BcñA”iŒœÎã¡NI€ñ—œ º(Ùù…¨¬®Cs«<-\ݽÀŽ!¡Þè·Â°¥´¹IˆÒ/$ÔÛÔÃ!“É2G6JƒëÚßßóæÍCuu5ªªªPUUÅ<î…À°të†B¡#FŒ€‹‹ \\\àêê £”jkk¡Óéz¼>åi ˆO/†ÍÈ@Ìž5‘µ¸Tsõ¸¼€®ß'ÌŠïrb™¦;VÌzþò·¯'ž…Ѧ+·)«I‘Zkv“ NSI²²ËúÅ€˜÷ËL£¿Ÿ¥@LŽT6}îŠó?‘%ãFv{>Ž…õ°0+vÄš5kRXXh–óíÙ³‡ {öì1Ëùn5+vy]o10Nœ8‘ØØØ˜ÕÀèëëK/^L6nÜHöìÙÓ­1::šˆD¢nëÚXþc8@ÄK¿c=ÿ¯pgâ³ðÄÀ˜‰®ïå·[Ò­ì§`÷\Oæÿü}Ç„UÛ;MSœÇOE¯òë™(­c1Þ8·‘sP˜ðoðÍ5 "Z¼:M‚.7B§U™½¼æoo&k7Ù®`)ã?§/`«q¹ŽŒºõm"if“ÑTÆ4èÊÀ¨×ë!—ËÍf`ì*`Ö``4̆……Ý6æ­±8º÷ðø¯< ¾|i>¶¦Õ`Ò³Ý _ý:j,ßÅb^éºóÌs­M׉ïÍð WHî{îu²ÌµíW{¶«L8Å¥#_‘Ù>-ì÷~šf¶_ÎËŸ,l«‡Ûoá…Ç>$gA·¿J3Ÿ$q…Ƈì‘Xtøõ¹Ý1sçOt$4ˆFB&…Bi4äêÕ«ä©§ž"Hdd$ñóó#úÇí¡PØC(Vqæq™×Úz¼@Žþ²›¬œæAÄs^$î|.Y™^=0#¡æì9àkÚ£® ~Y ¹Z K{|ög^˜æŽãßbßñ&íË6…KD,xÇ®MÅRÿ¹Ñ¾ôyzÓC¨\›…¼¾¥3h,ÙÙ¯»IÊýgô™·WËŸÀɃñgr*Š*ê+{ˆƒ$˜³`)æŒ÷5ú\:M!î}üs“„î¹^®¦ »5SFDM Ã”» |>ááá˜8q"¾þúklÞ¼ÑÑÑhhh`V¸:.ÇWWW›ü=­Žñí§!çò!|¼kNœ>‹Ü²½øç¿eXþìøò‰P­ÿ‹#ºÝ÷? U´OÅlF¬Ä_:L3.|Ò&ö…o8Цµ™˜¼ï÷Ž£¡p€GÛ+j= {â¶Âiôºv®9/ž­ÀÏ3=z]?¢kÄÚ{žA½VG:‹Ïóþòæý¥o繑üOä6¿Üë2ö ¼=Ǹs߯LiÁµ§wý &Mš„I“Ø»w40vô õ”=òv±dŽ’ùØúßùØzë|ÙÀáp±ÈI00$Ôž ÿÆú?¡²Mýÿø•öí\Üf…H‚ºî(J[tðä·³¯cØËx+休ÕîRMþw:Ð:ý¯9Hšº(xtPu.u¥ñ©,b|ܸ´ ÆhLz]Û®Å^2Xa¬133YYY°´´ìuÂþÆÂSàÛO“e×$ÖïiÙl|Ú=žKÇ}Ÿ[âä—Ë]'jº-Œ" c…nƒ™²'êˆTU+½›‡ Æ%K–`Ó¦Møé§Ÿ––•JÅxzƒò£Å:/é~„Õß_ÌÚmyû—ä±™t’È ú–rV§8ÌÃMÆ<Ùa÷ f¤4‰DK×ZÕ«zé[+ñجõø{Ì~ÏäØ/€ýt\‰}çî³èÎ|ǯg`MÔíµ ÞhLÁBº}òpÇëÑx;/‡£t|÷äw'ö¢/•@£'à‹<áåÜ>êiQ–¡¤Z '_†x ª° :KkwøŒ¼õË둟/ï ±8Ã×Ûô¤øªêÔêEðјŸßž?¨7{ÀˆÍ*š5-Ðêô‡KB¡ „VÆ“„N}…eÆ[8\!ÜÝMJ%ÚÒ¬‚ª¹--­Ð€cÁßJ;;Ü(-†……¼¼¼ÌÒ,ÕÕÕP*•ðññ1Ë^󨬬Ĉ#̲«a©ÝÖÖÖ,Žn”J%ª««1räH£ûƒŠŠ ¨Õj£Ó°®E¡-Žžð°ï&0ûN˜-¸¹l·†UÞªÊ$>V–$|ÃVù¾ñn±óüG§siÕrÖ²aðª“ë|ãÜ"°ŸL :;žÓø5÷BB~ù…}ÄÅ‘Áˆ4SZX:;gwºDfÑ4Ö¬Ø#G,É“²šnŸ¿#©ú§}öæM•üsü7OÑ®WX‡á̾ÿ‡Š_ÙûID· ͪÊï¡!·*íÿcý?ï%ÓvæÐ©óqÿ‚w°áȯðíë4,1øøcàÒ¥¶ãÏ?Í›å»?4&ƒÐí7yE—+m̨@[‡†š ¨ôC ­ª+(RkÝC¹#$d=ò1|>¯m˜½yá+, ÈwÉ;øs+{:åí{S·©ÅoÕìø™+ï´ëYÙOÆûg“êòõcsQsÿ7xsŠ™vÀœ9xï½¶cãÆAÛYÌ­1™.t“ÛºÉ)škþÇ‚‡ùŽÝ÷«;¦,>õó÷xgä½(ÉùQ«#‘úå3 †-_Îz­x1€_{sŒ·HÛœ§ö´GãÏûôMÌÀøI:ýë |½û›-0‡™È¸ø¥ñzGK j«ª Ôj!¤f Í”"KºgûPƒ"ë,¬D3`Ïå < Y9ÌÄ™ïŸBÀò/þÕ³×\‰_oÄ~çÁ˜Àù~Xrž–äüTL ¦¯/ ùÍùŽ¡k°•éy 3³sºZ;x rss?¡Z ÔÕ`$Ÿbi P(?~¼Yöùº“(3¥SØ?‘xl©ª|·®îj•–2À]€²Ce8=ÛóÿNVÈÙn|·úžØ}i?¾†À³ÇñÁŽÿà¹EáìÁÒ ³¬p¼NÒçqHr¯¾þÒªÛò®8IÂñ„OͼÚ[89 À½÷2EÞcÇÂ{út´¶¶âÈ‘#¸|ù2¬¬¬°páBŒ;vØt>SÍ”{Noƒ—«ñËÀ·M‘kaEà.€}À2¬û·Ù¿ïÎï;¦%{ßx”-Úë¼&,&ÿþòÉÈ/#M i¬¯$oˆ;ïÅå9“'7ÿ(´z³¯¡7«cÆîÅTTDÞzë-2mÚ4²víZrôèQ¢V«ÉP†FoTzK˜ìH®4éÜç?_Ãê?=û2séêØ¯ŽÝ°‘5yóG”fžÀúÇÂÕŠ‹’‹±ØðÌCø{ÀÚÊ ¶#ðVaû*—çŒ_x—JJðÍ[Oõ8¿4åñO²v¨4LxÆlߨÛÛ›7oÆ™3g°lÙ2ìÝ»~~~X¶l¾ûî»^G¡Ût±ØS©¢Ã‘»}6+zzzÂßß¿ç,ü=ÄôÜ(-EeU5 m¦;N¦ e•7§_cÀÃQ®Cªá[[[QXXˆëׯ£¼¼®®®ðöö†··7\\\z§s·èÕ(-(@Ye ›4—[‘<½Åðt±3í\ºFüüí^(M6¾gÙ£q´ëó÷ÈÍÍE\\fÏžÀÀÀ>Ÿ¯¥¥ß|ó 1{öl³µ·L&Cbb",XÀdo4Ž=ŠŠŠ ¬ZµÊì}¤ÏšÐW_}…ºººÛfá7 ÅïãÁ§OxÖS°lÙÐÕSªªª‡cÇŽáâÅ‹‰DˆˆˆÀ„ 0aÂ89Ñd÷P“ö&¾0€Dã_«Ÿ0Iè–_=‡³)—‘WT††f-vNð –Àwt‡¨¨(³†J¥Â7ß|,[f¾ØÅ˜˜$&&bÚ´iˆŠŠ2Ûy¯^½Ššš³ÖÕlšP¡¡äf^ïød¸ %%…¬[·ŽxyyÝL²Æ!ãÆ#›6m"qqqfß;œººL‘˵¡šÐÐÑ„Œ϶}ä£Qœ6¿ö'Nć~ˆÂÂBœ9sûÛßPRR‚wß}³gφ³³3î¿ÿ~ìܹr¹|X„ÒÕMtmÚÒõfW§fh PIDATºôonܵ$Ä·mß³¥!eø] ÜsÏ=رcÊÊÊpôèQ¬Zµ \.¿ÿþ;Ö¬Y???áÅ_ÄáÇ{µáÞ`ÂÀ»ºSõjÊw›&dÚܯìÚ†ïÿˆGy#¡ ý±:¼Ó\›oNŽÞèzî~¯£à¦.bAuzBÑ9¹ùáÇÉ3ÏÍ‚ãèeH¾ð#ÝÛê.AKK Ο?S§NáÔ©SHNN†V{û†ÀÀ@L:S¦LÁ”)S:ä ”æÔ˜º3U†8š”©ò­ßŽ`ó} Ìö/^ŒÄÄDÔ××›½½„„ÚV*ðÕ¶7ñÉ®ïq­¢=Ü€gã‰åk7á“wÖÀ•gAïþ»8sæ âââpúôi\½z:Ýí·…¶³³Ã„ ˜Õ»ÈÈHxxxÐíeg€çÌߌ~½ËØ7PuåÍÞ(ÄÝ:¼Ïžúi“† uày]OGAi-ø#! [.Mx>Ø T*‘€øøxÄÇÇãâÅ‹F”€¶¤o‘‘‘˜4i"##1~üxØØØÐF½‰ü}³°ü´Q¯µˆStÍèà]zJ— |ÔM C‘„(†"T*Ξ=ËÓ¥K— R—åËåB"‘°ˆi8L㺠+àî2ó¶["²¬11`Êε˜ù¼1A¼Ä+Ô˜nϧ$D1ø Õj‘žžŽ¤¤$œ?ÉÉÉÈÎÎ6úý¶¶¶;v,ƇñãÇ#""¡¡¡fÙây0 èøG}2Uvù¿#`Ùv£ –+³jðÃ(ó&Ù£$D1`¨­­ERRRRR˜¿ …Âè÷ Œ3 9I$ðùü!Ù^}¼sssñÈ#0ÿÒ‚ÌÔ hLØù6`Ì88X¶iµ{÷î5Kª[JBwÏM¦×ãÚµk8þ<’’’œœ ™L½Þø”®|>‰Ìn–ð‚¡†;'xS¢Ähhh@JJ .]º„ÔÔT¤¦¦";;Û¨•8F+±´DHH$ ÆŒ‰D‰D__ßaݶwBð¦$D1$ÑÔÔ„ôôt¤¦¦âÊ•+HMMEzzºÉ™%E"$ ¤R)ÂÃÙÇâû[ð¦$D1¬ ÓéÍŒ– äÔS€nwðññD"Axx8¤R)$ BCCÁãñ†\»õ—àMIˆ‚â&JKK‘šš ™L†¬¬,dff"++Ë$x<‚‚‚Šàà`„„„ $$£F‚H$Ômdn‡7%! #Ééúõë,b’ÉdLn S0räH„††bÔ¨Q5jCNb±ÔõOIˆ‚Â(ŠNÄ”““¹\Î$ƒ3B¡ÁÁÁ 9FQþþþptt¤MIˆb°¢¢¢¢“íââ{{ûþ›²èõ())A^^òóó™ÃðMMIçstt„¿¿?üýýáççÇú+‹‡¤þDIˆbÈ`ñâÅP(Úö“Ëåxùå—±fÍšAÝJPr¹ÅÅÅ(..FCƒñ1W\.ÞÞÞÈÉp˜{ËuJB½ ¡;v0éKß{ï=ˆD¢%¡ÛA©T¢¤¤ÅÅÅ(++CQQJKK™²’’£#Ômmmáëë ±X wwwxyyÁÓÓðöö†‡‡œÍõ¤Éz((îìííÆ$²ï MMM(..Fee%*++QQQªª*ܸqƒy\YY‰òòrddd ##£Ûs xyyÁÝÝÞÞÞÌ_xzz2Ï™cÚ÷È# 99™ 0V«Õغu+ž~úiJBƒ ÖÖÖŒˆ};4773¤TWW‡ÚÚZÔÕÕuù833ç΃B¡€R©dÜænnnpssƒ‹‹ \]]áââ8;;wYf˜wDcc#bbb •J™‘©F£¡#!Š¡éÓ§3ôõõõxûí·‡Õ÷ …ðññéÕ¶Ljµ*•Š!%•J…ÆÆF(•Jfê¨ÓéP[[‹ÂÂBf”¦Ñh`kk .—Ë“³³3QWW½^ß+K%!ŠA‡ØØXÚ}€@ €@ 0›ndkk GGÇ^{¢( QPPôëׯgœãYYY&-ÐÕ1 Š>!77·SŒÑVJB ØBAAAIˆ‚‚‚’%! JB”„(((†þ?$m8~‘ÏIEND®B`‚nted-1.10.18/doc/docimages/toolbox_rest.png0000664001041000007640000004641511520267216015501 00000000000000‰PNG  IHDR–$ÍtÈ(sRGB®Îé pHYs&&¢ï%ütIMEÚ +ƒb°PtEXtCommentCreated with GIMPW IDATxÚí½wtÇ•=|«'#‘˜H€IL`ÎQ‘¢©,+¬èõÊkÙÚ•µ^{÷³ü³-ymådE[Š”(’b˜3)ŠY`&A‚$ržÔ]ß==Óyz"iêœ9ôôTß©¾ýÞ«WU·¥òR¹b…ò`¢$ŠF™yå•D~Œˆ‰%ªOÿþ‰ÖŠSIJN†³³3êõ¶·µ!+''fu;’’üÿWŸ>­ ˜ŸX•+VÐÂ~ýw:ÎÅ‘”Ô#‰•”œ¬8~îÌ?¹¥•+VÐü>}‚VX6l˜âXCCX–ENNNÐïà@‚Ir‹+bµ·#+;;fu‹-–¸ÔTW#5'‡˜…j±V°ÒÑÑùóçÃétbÆ HVa±¸„szá(ƒv¡¾zcUw°{i®\±‚æåçƒr\Èذaî¿ÿ~:tUUU9r$!ڀ¸F,Ë‘#ùáÔ)´45)þG¡“vêeÝj%/?kj¨YxjŒÇÎWé©S§0cÆ TVV"''n·[Ú3ð‘L`·Þu†ôÚ¾ý6.V#VOºêµ9ÎßžQ·XAê¶X,!ðÈî›ÙbñÝk=k¨k±B±$Ë—/ǦM›pÝu×êëëñüóσRŠššœ?^rþîÝ»‘““ƒ~¾NA’Ù¬YwÝ¥Kþ÷Ù¹¹€Öæf¸\®Ø[v‡Žädt´µ®»úÌ$§¦"-#i`Y'Uܮ춵µ`·Ûý!‡ÕjEgG:|Æ ì^a(± !ÇŽÃÊ•+ñÁ`ñâÅøÛßþ†+V`òäɸþúë%çÏŸ?•••€Ì0,–›ðTu´·û `µÙüÇŒž§ugG(Ç¡³£#ÐPf3(Ç®›r.œ;‡¢uup©ä”º¼W(¸57¥AcL#õ†Ô+¤”¢´´eee˜7oêëëqÏ=÷àá‡ÆUW]…'Ÿ|ÒŸ(%„à±ÇÃm·Ý†Ñ£GöîØÖS'·Ë›Ý»Ãá?.$êÜ.—ÿ˜Ñó´®cµÛÁQ ‡Dâï­Ûl6CÉà8Y¹¹¨»t m­­qérz…É©©°Úíp9þFxÏqÚÛÚÂν…e±Ž=Ц¦&V¯^ŒŒ lÚ´ YYY€Ã‡£³³{÷îE›`ªÕ‘źP]þ¥¥è]XèoˆÌìlÆW8×èyZ×é]P‹Å‚ÔôtÞ‚uv¢­¥%¤º”–Âj³¡ö´µ¶¢hà@„ß~ Öë5äVlv;IIª¹AJ):;:$ 5w¥U·Õfã] Híí!°;p¹\°;p»Ýp‹zåZí5‹uÅW ¦¦,Ë¢¸¸ï¿ÿ>¦L™‚… â”K—ü½È™3gvlÚ‘źPS/Ë¢wa!223ùá…¶6\8wN7=Oë:çÏžEFf&lv;ÚZ[q¢ªÊÿ¹‘º…ÏœN'NŸ8–e‘Þ«2³³1 ´G6d±ÉÉ¥`YVñÃ0°;wJ¯ã8P_/°£½í>KJ9ö¤$Pl”ã‚r†|³|9Õ÷Qä>RR°k×.”——Ãd2áøñãØ·oöïßßüæ7n·k×®ÅÀQRRB¬‰!E±Ûíšãyv‡ƒìUÍ íííªq¸\.¤gd莊{‚FŽ‹ë¶Ùíšõvvt„Ö+=z4FBþùÏâôéÓxê©§pï½÷bÒ¤IŠógÍš%ùû† &…¯ttt CÃ"E£WèÔp£ZÇCî†< þ~ÿþýؾ};n¼ñFf]oœ0ÔëüXJ¬z…\ Ç t8B²Xâòä“OâøÞzë-üæ7¿QŠ¢¨71»!¼›¶ÅŠaÝÔHŒeÖÃK”Ø›NŒIq»ÝHKOYÝ6Q*F^¼^/BžÝ(=ÄbéF\·¡K¥;›(qŒ±b5/†uãŒÄ^6fLâN'JØeŸh2“hŽD‰Eé2b8pÙyyðz½’÷‰òÃ(A»ƒýŠŠ$¦ÓéD’(SæäÉD+&JèÄçÀ˜1{v‚L‰[WXWW‡»ï½E¥¥T^Žÿxâ ¸Es¤ƒ}./K>ú£ÆŒAÿâbüìÑG%‹3ôê:þ<•—ãËeËü½–[-ÂÃ<’¸Ã=‘X?òL&íßÍ7bûŽøãŸþdøsy©\·[6mÂî;pðÐ!üá4TWAAžî9üü¿À™³gñÒË/ãäÉ“xæÏNÜážF¬ú†¬[¿O>ñrrrðï>Š>þØÐçjå?‡ÙÙÙø÷GÅ'Ÿ~j¸®ysçâö[oÅ­·Ý†?=ý4Þxíµ  h%^1!èhoÇÅsçàr»J‘Õ»7úöí 0Âîp ¹¹PRZêOï—”–âÒ¥K†>×e}.œ[T\l¸.¡üË#àåW_Åüùó1Æ·2öîÜ™¸ÓÑ.„Àl± #3YÙÙ zÄr98ú4z忢°°6ßMS›¥˜ë[¢U]]’’þýÙ³ÈËË3ô¹Z‘œ[]í¯ÃH],ËâÁ‡ÂÂoĪի±òë¯qÅå—ÆOš B” å8444àô±c r|³hU‰US]ì޽ѯ¨^¯WsÚ+dggcæÌ™øÝÿþ/^~é%´·µáÏO?[n¾ÙÐçjå÷O=…çŸííxæ™gpóM7®ë÷O=gg'^~é%¬X±=ü0¶nÞŒ‚‚Ýß‘(á—”” ˆÓ'O"U¶®Tc9NäÀëñ?|ýÕWáv¹P\R‚Ѩ;¿~â ßËËÌ™3QQQ¡Ã‡£¼¼Oþú׆êZ·n^~å¼ýÖ[°Z­X°`Þx#î½ÿ~Õi½‰½âð­KôÈ’Ûä›åËý£”V› ã§NM<á‰RÙ»s'òûõÃé£G£“nH”DóQËc%J¢D=•(‰b<%Dû÷W%Z&Q —M',V¢$\a¢$ˆ•(‰’ V¢$ˆ•( b%J¢$ˆ•(1/a­­ÿtQ(GÁ0¼NÃ0 „H^ü1å@†0’ó@a°’øôÌf3¦?בÀÐC0DX­-­ðz½ÈÌÌñA‘ €ˆBÌŒÉ÷c|?! ðý߯¡àÿºÝnÅF ÝCÔˆåõzÁq¿³ïÇ€”pÀP0þG0 L&þé`øþZL0þÝ+øºY–õÉw›BÆ ~2ßuù—IŠAñD#êššQUu”ã-!ŒÏJßï'°Úl7n2l6{L0èµCGG;Ø‹qã§DÜQ#O$D!`ü“Cý’: À B Ž£¢z¨äod¨DZhmmFFF/ƒXg]öÝha8q¢ Ï=û”.ÿ™t€ÝîÀßßøYY¶˜`·ƒø^´··a÷îm¨;É×&´CÔˆ%ܽÏ(õkd0Ñ”úÈ$ˆ¯BùcBùAZg¶µµàìÙS>|4ÚÚZñÞ?_ÃâŸ>®[41p‹ñã§bĈ ˜L&âs;>ëÀz½X»v9/&!ztÛAï^h]'\ ËG~Ý_#Víä8 †ñ}N8pT¶‘“Aé`Z[[±ï»Ý6l(¥ðz½* òTGCIi9¦Ï˜“É,rG¼öx<Ø¿(GA)3 Z÷Büâ8Q;DX•™_êsoÂïü%€gàÀq¾ˆŠÉ¥4H+Á ˜{y‚ë•` Ä¿ÙTqs¤æümËvк6á|m~;DÝ ¥ÅJDW]ºx‹™YY`ø_J9p„‘õbø§„†…AˆcøÝào¸ÀÓÉ*€*¶¾‹þ1“´ƒp9ŽøošØ*Ĥd÷BÀ@)Ç·‘ï³è´C4¤Ti’¥¾9pìÐÁ}8~ü{‰.¦Ö‹’iä@A9ŠÚÚ‹¨©©ÆÞowâÿï×þýc¡oß" |ÆÌív¡³³”R0 ƒé3.‡Ã‘ÛvÝ é1½vˆjðNE¦_Ñ3ä0à8A].ðdB@( –Ï¡ˆ¬‡`¦ÃÁ <©ÇÂãqcß¾]X¾ü455ÀãñÀéìËz}Á4Ñ r£!7··/`´ÃÁƒß¡¡¡³f] †a0bDÈ‹VEƒÚ½8_ýœÂZEŠ!*Ä¢’wD£{Êÿ ÊQÿÆŒ~à '"H‡òc´0ìýv^yåœ;wÖר@zzJKËu{;ÑÄ ÖN§ímm>K ~n¬1pœ‡b,%±BÇ^¡(HWvQå¶™óˆ%á³½„p ‹E©ÁÞBÚÚ[Q]}V« ýúaöœ«qæô üÛ£O‚a°,«k±¢AíÆRʉâ>t žx>‹Åé[,£¢g±($¾Zp…Ô9ÊÉåß%Á÷#(¥`!‹¥Õ› ƒPwNv**&¡_¿"Ü|ó= ƒ÷ß{]búÅ{,0¨ÞX*æ»D·õaˆjð.K$Ë»ÌBpèßÿ޲¾ò QÅŸG‚aPÙP<ôð/’š†”Ô4@§³—.Öˆ®[ ò$£àzâÙª4°DCT‚wBÕýºäiá?ç|݉µ¹By¾' Â58–Ã… çðõ×K±iãZ>ôž}î]X­6ÝkDƒØjp|OFb±âA˜‹ïIÄ¢F,*5ÃÒ^a ‡"˜¯À"“RM¾…è(9©––&?þ=V®ükÖ.ÃÅ çA)EZZº(Ó$r‰ƒ²¨(o? µµ””‚””4ÿIõõµp»]ˆÓ½Bëq‹¶ÖV|µìc rœ.'’RR|‰Ô@°©F¬zC§íÛ·þÓoü c³ÙÑ¿1®¿aƤðFƒ<–Á”©³‘›—Ô"u+%å“΂ƒàåžFk+¯Â×Ñ޻݇-Œ¯Ë­n±„¸,”ß"ÇC‡ŽÄ¿þì×h¨¿„›n¾mm­8yâ¨äKZ—ˆ†“'âõ×þŠcÇŽÀëõ ##99½1}Ƽ¸a€ää\ýíxç—ðâ Äõ7,ÂÔ©sÐÖÖêsêZ8¢×+”=),eÑØT¶¶V À1QZ6eu’“T4èIÃÆ™:d@Õkă×ëÁ¦kqèÐwp¹œ`Y u8zô0,«´ÇÃvê;[} µµQZ:§OGkk ÒÒ2pÍ5 c€!jÄ’6Òˆ˜:maàp$aøˆ1¸á¦;B ÏT»É‘äM‚ß((žÀXa „AfV,éæê”`È’Ü@¬ÛáØ±ÃøhÉÛ˜:mzøÈÈÈÄ’%o£µµ&“9&"v…âÉ÷ å(ìII¸ÿ¡Ã𣑒š†1}½* 4‰ª+ õ)Q` Bk=Ñb ˆ†a0mÚ\477`ýúUhokÃÀƒqýõ·£  /ü3BbˆA ÉßbúŒy˜zUUQWw Ç!''_åŸ#Ñ3Á±¸ ¯ý(1DƒX*b_bAŠýöbÿþ=p$%¡´´ oº 9Ù¹(*(QQ>%‘ މ1ˆ¥‚äKÝ…k'0D C4-–¶ØÁ˜1ãQ\49¹yX²ä-ÔÕ]Âî][±à:ÊʆªÆñ¿¢‹!*Ä¢¬d»ÅbEÕÑCxýõ¿âܹ3XW¹G2æÎ½F5 Œ—à˜ ØÓÂk?d Q!– } ¦b"ÄOÛ¶®Ç'¿ ›Í†ÌÌl\~ù”,GéÀÁÄŠ—àQd¤"Ã=‹Dì à5ª{ìwÈ蕉M×âún‡Åbõë_v•à˜`þ»Rôì‡!ê½B…|Žð·¬l!èèh‡ÕjåU^D½A-Ða Ži`ÐÛ"!¢B,ƒb_‚L¤\¦1X2/šBiì†01D5Ý #8æv»ÑÖÚ—›Åz&jŠ(Ѝ!¢gŠà4!ª¢Ö+¤Ú,¯«»ˆO?ù'Ž;Âô)ìèAÄUô,4= Qǃ̻´ÛzþüY¼ôâŸpèÐw~Ù묬Èç EÏüª މ0˜ÉO`èN®J±/J)Ž;Œýû÷øÍqrJ*&ŒŸ&ùR<ÇÔ†)! 1ÄE‹%  !ÈÊÌAff6ÚÚZÓW_u#&Lœ®`¾šh½"`ƒV£ª%b!jÄ’>  Åýæi8;;‘–ž¼¼|˜Í?óå“ÉÔPd´ë$ qÀ1±Ôľ, •*ôÛã%z&Lâ‹!bb=“ 1ÉcËxŽ%0ÄCÔˆ•K`ˆ ±‚c A]sBx-Q"- áµD‰[I+QÄJ”±%A¬DI”±%A¬Dù1ÕéÒ;;ÁQ€Y2Î$_¦þb|Ó‘ùuF&A*‡a|û@óê(Z]"šo2™ÐÐP›ÀÒͱÀÕlŒXN§mí­HNN‡Ål‘¬ê¯œ•¿@ûG ( †„2Ò¬.‘ b_ü$~·Û ›Í–ÀÒ°ØZ,—Ë…––V¤$§Ãb‘‚ƒ” w ÿóx ¯ ç?×Z <0Mƒ€eY¿š\K÷Çb·$??šóÞ jqRæ0Ltà‡0¢ãsåZb9ù ~±dK÷ÇbXb–ò U_ј×#^î 'ÿŽW6‘ž+Ÿ¤µP2¥ûc ¡W¨>¥ÂH‘Nk[@é>ÃÂÊ]á)/5’ªÉõ,,^ꇺ%/7炇ºñÏ÷_Åæ-•   àÀQþEá{E Kss#V®üUU‡àtvªè^E³]b˜nP\‚0 éø‘Ëvg,”RìܱÍõð°ŋ娍`éììÄŽ›ðÕWŸ`ßw»ÐÒÒŽcãÖ.fÇN2)Uoõ‡|i‘r±¤Ø$K§ÀJ?ƒ_ËIºbO Vè#Pà‹¥KÀQŠ~‡Ý÷|S€2¼ãhÄX(åÐP_‡ƒ¾EÍù³˜1ãrŒ7y½ó%›ŒG¥]ŒÇXjGˆêT_u«|Z}ž\ P•§[¶›zÃâ'Q'=…ÇãÆW_~ PŠ{XìÛô›?‡ax ,”rhooCUÕ!´¶µ ©¹³f]‰ÜÜ|Øíö¨µ‹abYÌ f¤ŒVׄ¿ø÷â'A¹LIAßøÁa¡@QÑ@ÔÔTcÙ—Ãd6á®{æÉE9PŸÕŠ‹ø½ËåÄ™Ó'ðUóÇ8{öfϾ C†Œ@ZZºLß=¼v1î 5ÂBõÅ€Ö*géŠ\éâGmÁ/ßÓ&ê±ô4,TÈ"ª`¡ è? S§ÏÆ©“DZô³1}æ< 6 |â$:XÄÇ8ŽCCC=vlßˆÆÆzLŸ~Ñ;¯«5âv1L,-¿(~¥>XÔVÕ³ ךŸ/‡¼|ŽÊëX@˦k1Ý|9î¸ûA˜Íf,ùàmüâ—¿Ejjš¯·H#Æ¢e±;:ÚqðÀ^´µ¶ ±±S¦ÌBÿþŰÙìÑiCÄ¢T劥rxIAéW”±M é&ˆSY ©¦ (SìíaX ……òÛ”¬¯\àÖÛïÅ.W'’“S}1íª×ëÁ©SÇÐÜ܈úºK˜:uÊCZj:“)üv Ébé˜|žÝŠÅj฀ƥvf_ýGz=‹´N) Š¡ÃFâ䉣¨üf%(¥èèh÷‘Žå8%,:ç°,‹ººZTV®Duõi̘yÆŽ„¼Ü|˜}ûòDÒ.fcв±òžX * Ü`øDTõ5´Š Ÿ£ÞêÞXä½B9J‡# ‹îzÕgNaÕ×_ 33›×T§?»€F‹8thêÐÔX §£_¿"ØíŽÚÅ`ºªô5Ô»÷j’9D%ÎÐÒP¯› <=‹²³ ÆBñíží0™L¸û¾GB°wÏŽ@âQeY{8XtM–Šk¬®>•+?GMM5¦MŸ‡!C.Cjja‚b Íú~Ÿ`òäþ6Ø Õvê¡V&¸§a[,U,¾Àw×Î- „àŽ»BSc}ÀȈ.„¨ƒEÁ¥K°eË:ÔÖ^BÝŒy˜0a23³ ð3ï†ãm-Ëà2„*=*YÏ£§b‘wËåçŽ;UGbû¶Mà8­m-¼V•ŒX‘b Gw¡½½ GŽìaz÷.Djj,kÈXÌFR áÜPeN$É Œ´«_, QH{,¢I®öö6Üq÷C¸x±_~þ!ÒÒzñÒ’}#Ãn±Zm((싲²aHOÏ¥êSc$XB¶X$´ªŒ)ˆl$ÝXð,íYX”C9Ò<Å÷‡ÀĘ𓇥۷líÌÅiÎY KÖÊnw`PÙPL™2 “‘“““‰ÑL8‡O,¿­´Ç¡uCƒß$ˆ2äzÉNµMøz­xN°4Çáàïð÷מÅ=÷-F͹j+|,šöBåœ^½²0rä8L™2僇#--]uVu,$Ätƒì7¨Iªé[ªßPâO`j+.Ò9?= T±ð–Ädâ÷X>°oþþÚ³ð¸]]Õ^aøXô\%!V« y½ 0iâ Lœ4}úô÷§´†tÔ°D¼»¡ò@Ù?!ÔPGE:±ì‡‰åŽ»FnNo¼ûöË8qü{¤$§ê¦ÂÁbÄb%%¥`à Á˜8a:FWLDNvÌfsÐïÁ¢›nÐú²–XªXO\ü¿?Ö$Dwþ¥|G‹žˆ*Yó‹Ρ­­EÅ……}1jÌx :ïÿó |»{›!Ò†ŒEF&¡†a––‘#Çaæ¬+P\\æŸé@0Ú…Dn±ô’ŒÚê¼>KAƒ‡”ò)°=‹à ›°iÃlÙ¼5çÏ⪫oıcGPXØ cBzFÆŒˆS')ŸÑÀ"·Pü:@3 ûbÂÄ;v2 (…ÅbáG½v1k,ýÑîàRÏ4XY7°ì‰XZ[šñÖ/`ëæJ°,?%øÃÞ!ó.¿ÖorFõ•_%V$X„ÊáHBqñ@L:#FŽEvv,KÔÛ%‹¥ßãÐ" ¦)®þÄë5T÷ÆÂõ1xïÝ×°uó:?©„’ššGr’KScRSÓ`2›bÖ. à ###FT`Ê”9(<IIIë+§‹ IDATþášè·K™w½ ƒ þ4Ћ…‚‚¥,ëÁ²^E}ÓfÌEYù0ÿ±U+¿À”is’’fÀb…¸Ølväå`ìØÉ˜:m.z÷.€Õj‹y»„§š¤K«'Vo¼aŒöܺAó`ê´9ü\ó–f¿Õ((è‹qã§øönä¿Ãr¬ÈE‹ÝnGII&Nš‰Q£Æ!/¯ÀŸêˆu»D5x×Ɉ Gþ¹ûa¡?i:Ü7^{ù/à8Š»ï{僇cÀ€R –Ùs®BZZ†_›pc,y±X,(+†aÃG£¨¨©©é>¥äø´‹æb ñ‹êG_þØ"ZE%ð@Ж€Å¸+ôgq¬ëK9ÐD‘$“?A!™qBÁ±8Žå,¥ûc1J,†aàtvâ⥠°YmÊ¹Š¢$ã“Áág¶ù½µh»–€<Ž8ç"ûY>±/þJGÁz½HOÏH`éX Ën·ÁáHBKK³‚ɬh; é Ã/²$à|S?((¨ ÉDˆdY¿tˆ“ ·0 oÎ…IjJ*rrraò%öXº/ÃIJحPRŒî"‰˜À¢ÄR]s ƒ‡Œð/Ò• ®Ž™n–ò³ÀçP9Où×ãåàñzýâmè†Ý‘„¤¤dCJ*ÑŠt{ÜøôÓ`ÓÆµà8>æ,(è‡Å‹Lj‘· Õ©ÔRêD’FÏbÉc,ª¼3skºc_üÔ&à.dùȳÊâ8LÚ3’ŸKCÂb·'ág?{ ®» “§ÌÂÍ·ÜãO} ÎXÜ.Ö¯û#GŽÅãÿñ{ Duõi<ûìï±oßn?ÙÂÆ"ë…RªÞCTö䤉NyòSë¯rì2Œ!Ý,©<Øô½mkkÅ™Ó'ár:5Çï”eÎÀ€¬q, Ãà²(.è'’Ðz—j/âüù³7,úXa0rÔ8<ôðc?~Yü+$''£¦¦/<ÿÿpñâ…ÈÚ…³p4j¤gBUq0dW\Ñëõ`Ë–J\¸pkV/ãQ5$nâ%)§³;wnÆÑcG°mëz¬ê_Œ??ý¬V[Ì¥"II¸å–{‘›Û™™ã[ZOÑÐPÇ­PÅ ‹2ŸD ÄZJ×fÔ nSzoCÌc•Dt¹œxãïÏúÿ'óäæ/R‘,Ë‚åXlذG¾?€u•_ûo¢Û÷W¼ïN̰€ød¬)<Ö¬^§³ Ã`æÌ+‘––!Š ÃÀBô2ïÊXKú×XÀ.í BT'"µXúª˜¯Bºß‡EüôÆOž±³³ý¿ÿÁ©SÇQSS-K7d WF–o(9öX„–q¹œX²ä-,ûò#W^uÝñ’“S…”eX¨a½@>”X”Å2*Ïh2™P:p0FއË/_€×^ý?Iþ&žR‘,Ëâøñ*\ºTãÿ<%%ÉÉ©X´èŒ©˜«oDÃű’ˆR,‹®¿»K‰òþÒwPܶà.C©!·ÛU«¾À¶mEE¥¸úê1bÄXdgçÂf³KÔc\.7f̸{÷nÇŠŸãĉ*ìܹ}úáÖ[ïÑÒ0WB*2–_.þu—’êéà,(¥øÓó¿Ç¯~úë ÖêС½X»v9XÖ‹‰§ã¦›î€¥0›-ŠñD!}`µZ‘Ÿ_€œœù<ø2|ðÁضm#Ö®]†²²¡˜0aš/€g`dÑjB*R˘ò1q#Ð{Ÿ½£z¼ ŸwÉ‚•ø`é;¸UÇrµ´4¡²òk´´4aܸ)¸ó·‘ŸßÇ÷°@6³Cœ§â f2™1`@ î¾û_`±X±iÓZ¬Y³ ååÃÀ²^dg熿˜"!ÏD¤$+wÞ?_$$ÂOîSå| 6úÜ=!&dådãÖÚ׺fÎuøùÏ30hÐP_Ï®$«.Š·Ô,Ɔ1A>ÐÜ»wÜr˽hh¨ÅáÃûqàÀ0Œ YY¹á[¬„(/ G€€ùù…X°à6<÷ÜSØ»wŠŠJƒîH$Ašg,ë78$2½ð÷§ýﯼ*hw“'²¬#¡41„A[{+Þ‡ÎÎŽ XNiÇWk‡Ãd2)Èâñx±jÕøè£·ÑÞÞŽ¤¤d\{í-X¸ðNÿhA`Ö(ƒ²²a˜4i&öï߃Y³®0< ‘ŠTÁRÞˆ!2}³uµÿýà!$H¾_ݤ cBSS=ªÏËÙa[JJ*”3ølóæJ477 ¾ÿ¿Áܹó‘+!!_O2ÆŒ™ˆíÛ7¢¦æÊË/3ä mdä^ꇺ%/7çò½w‰Ž»àæø—‡sÁùÁr¬¬ëJU×Ðu –àeéןHòð‚ƒà@ᡸE/ÊËÿ9ë›uÃͺáaÝüêŽ^¢•1Âý|íÏ@Ȩj6ˆ­¤x¹œx:L -x«Õ·ïäç÷ÁÁƒßÉ,V ¥"Õ˜«+6†n$Ϩ%XyýÝ|mJå8ßP¼j²Tœ1OIIÃøñÓ““ »ÝììLœ8ÝcIWâðí‘‘‘‰~ýŠPWwQ±(äÌ»\Qîz„¥Õ’ÝEU‘B6òîW«Ç)5„©¯zòŒñÀb즩Q€ÆžjŸ¯Y†ëæ\£ùùôñ3±~{¥„\„f³W]u= ú ¦¦yy9r¬H(fˆZ­VÌšu¥OHŽÕóÒ‰±ÔŽõI »yzþ—ó'†‚‚Sð .Ï{,ÝÜ&”“¤ãŸv»Ã—ðT[.¦Üy•R ¤¤%%冿béB‹ãùÍW‘ßÈÀ¹$ãø8PÊHêVÀ ÚS´&üD, \Qé–„p˜‚˜A ʤ3Dé~¢!Ϩ…E‚K¶Ãƒ–³B&YhÖO7¨H"ê¹"õMÅ7Ré"¥îJYOT±Hâ7u,=¹s‡¡$QÃÆ ;x—[ÅÿhjjËziipØ’ëû¨2¥¡ýÃhÔ°8’’[Í…€%šÖ¥¥¥„aš’“ÀœR`Ö¤9†Ó ‘Z¶`$ [*²Zšq¶ú–¼ÿΟçõ?Þ|'æÍ½f«‚`I,äƒa7n2ÆN˜Â/3,A\⪖æFœ={ }ð6¬V®»ñv´µ¶t#?›VˆP*’ïß756àÝ·_ÆÖÍ•˜C}]½æÍâ×òQ]õ—P°: T%^Ö Ž²¾¹¢¼zŸÿoX>[ùq Óöï¶bǾmع[˜A=ÕY{ÁXaTä)ðíž(èÓ½23}IÇ®‘Š\³j’I˜4u–Okacyý½—PXØIŽdPÊéîáÜ5¤Ú¢áö¨,>Uº6¥K”ï-eˆÞÜ9&Ø©š<£Ò4ª»¾ŽÎv¼þÊÿÁãqɬ§«ïŠT¤,M xþÙ?b˦J^î:ŠXÖï¨Ä†ë°açº.'Õ¶½[ º9ªø_ý½¼c%­W/T1ΕßH±^2wPŸKD9Šó窱iC%f͹B²ã”ƒÉbí#R‘F±PP46Ö㹿>–e1söåZ£ˆeã®õ  ˜V1#ndzê/ÿ…ôô Œ=^EMÚˆu¢²Ž QX+¹ntÖj°D;Ø÷šš°yã7˜4e&l6+Eý«cäãSI*Ò(›ÍŽææ&¼úÒ_ L›9&“)&XÖíZëÛTIœgã÷?^ò.þþê³HJJÆ…SáÏ]¶~%šëjœPq]z=A}(Þ \Ùs”Ž_ê¥ÌF";åòwÑv"¿!¢Y‘ ƒüü>ر}3>|ïMÜtë]°Ûí ”ñÅ5J ¢@º“ΘŒ ®ºæœ:uç«Ïà…çÿˆ>ýú£t`Y—`éÝ» õÈëo ¡ªêûÕo‘™™ 3cò¥H”XX–EKK3E% Ç@bHßËã,õó bµ Š·‚ô1“Ф”ÂîHÂ#?û– Ƈ￉S'uT$(V­üãÇOÁ¿ýâId¤gb÷έp¹\]‚eô˜ ˜3÷j— ‡ᅤӧND­]´ÍªÑ¸Š*bª€û£*ÓŒBÌcECžàŸÎŸ=úFŒ¬À—Ÿ/AkKkÜ¥")ÚÚZñî;¯âÜÙ3Xüocû¶hinê,«W-ƒÙbÁâýF® ‹Vp®¥³.©”Â*XÁäµ’ ŠFõ=±ù…xè‘_ ¶öjk/h ßÒ¸T¤a,ÚZ[ðîÛ/ãäñ*$'§¨&dãÅãqãëKñÍÚ¸û¾Åè׿(d,Ú¦€$qRI…ëŒõ c*°^róz£ °/Þ~ã%ÿ½xIE‚%¥e2tZ[[ðÆëÏãä‰c]"[ ˜N¼ô³ñõŠ¥àX6<,º Ïè‘JºÒA‡m šÃâã éèü›ïäjRªiâåúUÑÀBܺè~<þÄÿ‡›n¹ }û àç'©ÞÈc¡'ÍÀÜËçƒRН¾ügÏœ Õ `Ôb!u"!•zŒ¥¿©•ÙHŠA/BTµ?‰¯u¥ ÂþrÊPÍm`…UÙ89,,‰^™YXt׃à8Šõ•«@ÁÇ1ütœ8a!À¬9WaøˆÑ˜4e&V.ÿÇ~:áù*õô4?%ý\û¯Ð+”-Œà]3¨ó„Ê3ß‹Ccc222}Ä©f½5¡#À™õ¸êšÑ@±ÌÝÄ‹ÝnÇè1ãQV>6›-t,šZUTý ÆõþR•½ #r…Ô¿‚8˜‚ž|XE¬‹@)…×ëÅçŸ~€k¯¿UÓuv†Ð‘Š ‹O`K¸VZz:,V«N\?,×\»ýú‡…E/Ÿ¤k©»6#nPÈ# WmyF…ö§LÛ/.+ÌJð/`0mú\¤¥§ûEfÕøTdhXõîÚ±ÇFRr²¤·×X1ñ#¢á#CX4•xˆ$C®îÚ ó™ô¯TžÄ&xWø•*ï556¢µµYôdúò½3v¬V«íÞŒKE”–ÑP‡ïGqé neÕÊ¥˜xV« 7,\„Ö¶–@>ËGøxHEÀÅ çÐÖÖŠ¢â²®@nn>ì>U½®ÆR{éJ–Ãd6…†…¨gÕåƒÆÊa#–Êw ‰Õ’Ù…?V¤áåòŒ›6¬ñëìûnޤ€ù÷-tއTä¦ k°eó:Ôœ?‹«®¾ÇŽAaaÿTçyW,ðï#ÓÕX†…Ì^YQÃbœ<ênOèu…Q—Š$ 0œN'ÞyóElÞôBÑb±ÂÌøšRN±Åw´¥"[[šñÖ/`«HžñÃÞ!<™ˆ(ðæU\ºËå×úoÊè1½ç°hO!&a‘+@ }R)·ü(Æ¢ªsœ8p~yFUIÄÛïEfv6?-X”¬ þÄëåI”XeðÞ»¯aëæu ,©©éHNJ£HœvGr’j7,ÒÞ[ðx+ØX V|%vÇjû…y—w§³ ƒ QŠåôEQñ ˜ÌfÙœu#¹"~1‹ÆÆzÅZ7B¦Í˜‹AåCÀQVµŽxc)+¦YGäX´g!ԕ賂àÉNMWøÀ¨_»eµbYùµ3ÀŠ^ù4ÖsÊkü›ÿœU[W†Øë M*’‚©Óæ ªêZ[šýóÁ úbÜø)¼j³êXZøòr bIDATñÇÂ0&ݸBÁ¢5M4ã-±›ä8€a pƒêïÅŠ WxÕ7iþ@=ݨ©”eÞÄ+ǾQÙ¢#a±ÙyL—O~÷8ØEŸ^ð’ó¿Þ²@ìd+Šñ“¦Ãíqãµ—ÿŽ£¸û¾GP>x8/[©2?*r,*¹+P°œ/.¢E¨-ÍMX»ú+,\x'† ×/Y.Ƭg<å'VEÅ€Î&Ä­Ìš8G•\F¤"õ¬\>éJÿuƒé®Ý²áÈVšÍÀœÙ×`îìùQk/q»hío#N~ò2a1ÙÃå›-ú»®çå² Œ)NΔJzx55ç|3>\úÜ²àŽ 5L3 ›÷lÔÌšË5Ä$“g·¥U“ÐT#“T?B Ukk3Ξ9…÷þñ:æÌ½}û ð[½Àõ…t.#±HjÓdŸ‡°—NgS:@ÞÑlô`F«x]í8uüRóË‘×+µËc¸Çþï¯xúç†NWÙ²0dû8%ɨÂjé_ºSýÅ 5xýÕ¿¢êûChmmÆ©“Ç`±XPZ:â0´v¢s mL¤OwÌìõâÔ±½X»n š;œèňT¤ My¢1, Mh籄{téb ^~ñÏØ½kZZš@)E{{š››dS`”«Ôç¹+c°ÐæcQ£äŠÝËbOÁÈÑÓà¼T… [7 ÃÙåkÄæqš2fšq¡_™ª`€LàSàèÑ#xâ‰ÅXºt‰3ê®0^w’A^º íÕøè“÷°·êXŠ.'W°2yôTIà­?3TI$N¡‘%—3¦ÝÀ—ƒ†àλF¯^Y€œœ<Œ?V« Ǫ¾÷ÕËŸ[Ww›7¯Å+¯<ƒÔÔtddd*,•šÕ m•í.ÌâPsþšÑV»ŸöRS@yÿBn¾¥»žl¥|ù”05…è,Ý—ËVª-®öàLŒ³g_ôÔ \¼Xƒ>}ûcĈ1X³ú+¼õÖóسg«fÄùógñÝw;pà w`áÂ;a·; µçuX3HÍYÚ-nŽ»å"N;€7€Ã©£pèð÷(.ȇÍbê2\+Ö-Õ3® )"S®Ç£’-ÝÔ¤õd+M bøÏLÄ„ñã¥{ïÌž}5\.'Þxã9PJ‘“Ó<ò8®¿þv”””Áfs¨5´¢žnÀ;]ÿÄsœ8º»¥&³‡T`İa°šMèîEM˜_˜g®G=Í-¹¤’<¯½Çô ÙlÁµ×ÞŠ nÕuö‘ìSÕM]!‡KgaéŸàÌ…&B™W„+¯¾E¹ ]èiÈgÿ Þù’‘r­#­¢"©µ”_.R«!êŸY/Nõùùéíwu±µbqôÐw8tì8P˜LŒ5CK‹|. «H¥-©©KEªëz¾1©Hµ^©VŠH<]F/œ²dÚá‰ñüV·#åœøö»­8rò’S2pí‚E˜9c6’í0&K×AÖÓ´Ð#—ËåÄùóÕØ¾}Ü. ûbÔè‰ÈÎÉ1,8¢§$ʾÎáç§(5NDÍëŠWwÉÍsutâäñ3èèp#%5ƒJ#+#v» V‹¥ÛÊÉÅ[*êê.bß¾]صk3Ž|mm-õä0ãµÈs&±Ë„w;‹e71ÈO2Ãb(“ΔÚ-p=Ê‹H3ë^¯·N§íím`Y¯‰1L.±i¬ºº$Âï Ö•3¯ÁÊu_Å7Í`OBVÿp$í@SS ŽÛò~Йîk­äª9âA椤döééÓæÁår"'·7zedB"ü4ýZ|~S ú£Ð+¼bÆÕX»yUüܱ`è¨{ð6ìÚƒoV} ›‰Ãð!ÃP˜Ÿ‡ÍÖ£\!ÀO¸+,ìëŸtg·;`³ÙKòƒÕe<–2~^Twáæ±fOž×’ž; Þ…ÙS¦"‰qaóºåX·a-jjk»„ FVèè§(Æ„´´ ¤¥eÀn·ûϤĉ\*2ô\UÇX³&ÍÅ7[VÇÇ2&ôî? ·Ý]ˆÎÃCMÈÊÊE¯ŒŒhÚ“¨*k}í¢6Ol‘”Ê2HE†=ÔëEÒSó®]Ÿ^›5i.*·®‰¹ArZJÓ²âÝIÞ $u±ªx‹#nƨ5‰V|©u½èÄd2‹ ¹l6GL}sôãœÐñÌœ8s§†f­”- ÈK’(þ–Ø¥¢M8¿+4J®I£'vìÛŽbwÙøÐ‚Tùa]!™—þzÖ”rºVTcí;ð.vuÈ7à‡B²PI@¡å®t­±•ж®©©6ß©¹A¨DŸxŒÌ’aL`&³Å§\¨C,‹Õ w6¦(&7dËžÍ~‹'?®gv'Žš¬[ïÖo7GˆL9)äïýóã7Aq^âOâ%)|Ëãñ ©©.œ‹ÛHAïÞ…(.†ØXÌfmbefgãDU—Ç©„ã¯}ü>Xx[Xõ#ÞÛŸ/ÁÝ×ݬúÙ{Ë>Áíׄ.ðËËDÖŠ,W|¥"]Yp:àÔ¶´“íD&÷ÄËêZ(aJ^ijj@jj:RÒÒàH’î¦F¾Y¾Üjø˜1¸tñ"úöDÑ.ûö/ûÑ·aØìv$¥¤ 5=©ÉÉØ³}»ºÅ"rssÑÜqéIƒ R)µ-û‘ß?Ñ`1›a³Ûa³Xàõzµ-–ZéjøîPvíú$Á¢pÓ FõÇH²©Â+L¨œhèD1RþO7Öån´IEND®B`‚nted-1.10.18/doc/docimages/staff_config_menu2.png0000664001041000007640000020660111520267216016507 00000000000000‰PNG  IHDRæí3"òsRGB®Îé pHYs&&¢ï%ütIMEÙ  L[d­tEXtCommentCreated with GIMPW IDATxÚì]w|EûŸ™ÝÛëé’JB¡WÁWŠ(EŠú³¡b}-X+¾¶TTPо‚( ( V¤@’@ )w¹º;óûcîöfw/¡ˆ¨¸Ï‡^î¶ÌÎÎ<ß§?ðñÇ·Z­7Þxczzº$I„ ÓŸAüï¹, û'd¾#DñçŸñhÊ¿á…Í T=,„„aèÃ=©ú"ìYç3˜‹9!ª6ü“Fr®¤á ÚG¸d#a_=Cc{G¹6¯¾ÕEÎw0ÌÖûsß‘jד³1Š‹Ë”túƒxÇq‡^²d‰Ëå‚S§N}æ™g|>ŸÓá¸è;ðOÛÕõ —nuf;„ý“¡šõ*˜‹Ì5äï!„ÁÎiƘëk‡ „  #–âWúŒòx‚——‡! p:æt"€”¯£:ö'fÀPžj™½2sE˜ïÐËœÞÐõÏò=B,Û…2ŸR¾ÃÐ`^Sh&ÃI I0Ü—„Ä>³<€FÚ`¯£ZWªëk¢Ø‹°˜§XÉòc€•ˬaÁiø{v!ò+VÌRðÒDõ1ƒ7Ì0ù>´ÒØGfV¾b2»€~E"6•4ÓB‚Ë•Ž_µ‰Ë›ÕË%ÁûîÅþÉœÞÐf'„€†¹ÑŒ¿!xðÀÿÔËCÅÓØG–7æ¹0OnJÿ,ŒüKÁ„Ðn·óôiÓàÁƒS’“uuBx1d|BB!âñx£À!N’$Œ1ü+ë qŸ Ç Ëjµ§È+6° „ê©PÊì5Ãîöx ÅW%ÉçbŒ!B È´#Z,oéCg µò>9½4»Û1FÉÒ†ÌÊUÜ“}D£7ˆÍ¬j¥9ž¨P0Ès© dqŽ>”³C·Îû¤`vC|¡¡m¢ÕÂ3v6.þb ]N 3§††§Bý°zag˜‚Jbg:,œgú½+™©P3„ý*ÃRÃ(®˜í÷¬ôLH`ÏÒ%*Dù¤ ¼aÞ»B bæí¼p7ü+–c„ú•A0&ÊEX£aþ£=žòy• ¨šp؇ »Ììs:Z„BÈï÷BAÀcŒIB'û8ÇaŒ½^¯ÑdDýq°u^ã$„B"""Ž—–BQËORM бZ<`I^%ì¼sç÷ûŽ?^SSãp8¬V‹ÝnOJn!IÒ_³ÕVJyÏ@UÖ¤p =ð!8'HÌaW »waC #•rùuBF=•ö ë#ÁNÊ@aP3V¼eáÔÖuJ™Oiu_ú§Šw+±VÁ²b•c™W††$?Ã;ÖåÁ¡ë³+“E¨”ÂéÍŠ[³Â ]̦ïZ«&Ò_Qðu`¥F¡:CH4|2’P!¯a%^« ŸUý•™où´×Dˆ5oȘMŸqkØ·üÔX¥ÑZ¡ê1hM4ÇË·S< ©ŠuËÎ;$åÈYC‹ÖªÅ£P”1VIÒ ÔW¢µ,…¨ôxùU©žNõ"C’%k€`ÌÜž0b0#phÞTˆc(Õ冸BæÚ·ZoìZÂòŒß‚v5*Î’»FYñ9¢àÉ“'ªªªêêjv»=&&.)9…ÛD,lÕ×;Oœ(«­­­¯wÙí¶ˆˆÈ&M›YLfQ/.l]À8é “’xê·f¡cœ”œÌqý³äØ1IÓÓÓµ7.+-e%;jm¯ªªÜ±cÇ‘#Ån·K’0Àl2%&%wéÚ¥EZúY%ß? ã9ZB´‹˜„“øäe/KšôeôXÖR”e¶Ëîp¥m\+-±*k"£Ç‡Þ4„ôUÊ/ˆrL!¢xƒ1Qêß!‹ÊJÌî· $«ÙŸl fõKY¥``^eg“õW…e›½#ƒ¬P"Ä*å¡yÃ8À³‚úPŒ"Ëà…UO§y³*PTØ<ƒcA‹1«ÜȆpšµaÈ¿Ÿ.<— ªkX¹èÝ1#+¨V¾–ë…€Ÿ‘HØ©ÃÃFµjŠ(˜(è9X¥¨É{'¸öB †ª²„ÇZ}Y‹ˆJ·Ê=!ùŒYÚ• ‹*fÕeD×’ÖÏ­‚vÆf;¿ ƒÖ²àÅšdqP¾¦v ·!VZ¶©6% ÜgŠV°#„(qšFN3†ˆâ-4l¿a/…Â„èº Ãñ5•;Fe8wË®ßï߿ߞ=»Ž:¯×G0 ›ÝÞ®]vN‡FÁÖÏq\YYéöíÛOž(s¹ÝtJMfsjjZ—®]’“R(J^D ôùŽ“¾YI’ Çã©<}Z؉IIÇA].×wÜQSSóõ×_ ‚ z»,`S!åĉ²üA¥Î;·jÙ*6.Îét–?¾+oWՙʞ=zåätÄX ;kTèÇ@WÏóÛ%!N‡ãLõQ[µj]W[+¾?„ÚZEÏó„ c¨ñ †qñqœ$Šg,di4´‹Ý3*TêaDiÓƒá6$«… å>a]z0¤ê•š•ó£²Cmh˜l.fÝü¬©@Vú5ÎlÖY¦¯Ò×)kc}•aœÅ~•ÞO@lš&4)'µ É/¢gž:ÒMÉä;Híé ˜Óé}A£ò\Cv#¨”„òLÍ:TSé%á|áaÝœôÖ£Ô"á„Á`vƒè¨xÖÖ¢ˆ8cØQE„ec]×ÌB%Êñ“ÆÑZ£;²Û‡hCAiOþ 2ŽÿÀj¬Gª=N”?)¬J{uÞ¢‘IðDVùkÀH¸á5Î<²í#`)Æë×ÿRPPкu›öís’“ BåØ`jóæýû_e4U`0Ø¿~ýz›ÕÖ¥K׿ÍS£¢£ÎTŸ9zäÈÎ];%Iìßo@Z‹¬Õùw¢5gaaafFf»ìö ññq••§ æïËoÞ¬™jœ2&ÆÅÇsS§Nu¹\ª¢¢£é76l¸úê«KJJúôéc2™è e¡Éáp°Àã÷û¾ûnµÝ1|øˆV-[ I9ž‹‹ËÌÈmÞ°!½eºÅjÓŠÂS§NæïÝ{èС'Êl6›Ùlöûýëׯ³ÙlV«µ¡)EqíÚŸ]nÅb‰ŠŠúùçŸè縸ø SÐÙq·aÃz·Û“€5æ °žHáéÓ§sss›6kƱaÕó²W`¸^X×µö\ªÃ†ªA€* ‘^ÝNõ'ÐxÇa<»ªq*|½=;Ãì¯ò÷gsÖÂp߇™Ùª! ¨Æ<èk0T2¨š"vü*!@ $P+1ü²‚… ¨Âå5¬ñ„õœ£àƒFíÔ©UŸ†<èìSË/Qã‚@T!‡lpƒR0‚p%ìŠen¤xA¬ÉòDðja÷]C¡$\Ô›z Z“³êÖJN§Fkæå±»ŒÍ 0x…A›‘°A¸=N;L4 ãàӮȑ¨Äô†öê:„ȶ°| ƒîgLÃZ– þö믿4¤G6›Št6›­E‹))MvìØa2““Sä-@uëššê•+Wfdd^s͵ÉÉÉ&“‰ BRbRF›Œ:‡cÿ¾ü–­[xÃEq¹Òqîܹ³wï+ŒFSdDDdT‚ ¶¶Æãñd¶m»wÏ^£Q1Nùt‹ÕŠ´×aÆ ¯¾új~~þ‘#G¾üòËêêêãÇïØ±cçÎÛ·o_´hѦM›¶oß.›Í)Š.>ìp8 ¸Êd2¹=¿(Š’$Š¢×ç“0îÜ©sjz‹;wJb—@Ueå¦M›¢¢"»téb³ÙÝn7Т¢"Çm0dmçyžç©€ 'OJOOÏÎÎ!ÐÏíÛç¨"„=Q^ÇÑëÈSi0òÅ©Pb0>\YYiÙ_Ëó¼Á`àyƒüÖ †À»4 !ÇSTTàA»pŒ Rñ ¥dÊ’ÚñÃÄÔFÑÌPyY•P/kíj¿åJ²®ŠRf…q-ƒ;u£òL+3AS!ÑòÊÁ÷3 {eU‰åïÚùd!!䤖Éàƒæ$0D5"o8€,+j‡d” ÔÕTÈÌ‘°BÕú¡¶(öOv©¨~Rm ÕÕB«”cÙ&²Î*‹„ºôu0a_T:._$8ÿPõ™eL”7U°C¦ò¹»ví²ZmW^Ù"ˆ Ù¼eËçŸVpð€_ÇõèÞà E……%t\gNNŸÏ—œœ¼7ÏÑ£G‹Ù¿RbRmMmÏ^½ÂŽ3p…°’xmMMdddûöí%Iz÷ÝwóòòdßóöìÙ3tèÐÈÈÈŠS§B1V••–µnÝF0¨5˜"Š"?€@Ÿ+ú~ûí×’$©¢ÕN§³¶¦&66Þl6eggS@]¼x‘ÕjÝ´iÓúõëo½õ6I’Nž8±qÓFBˆÕjíÔ©s³fÍ.üØb±lÞ¼iË–ÍúyÆõ·Þz›4Jû|¾¼ÝyÇŽã9®c‡Ž­Z·>R\¼gï·ÇÑ­[·èèÇóÉ'óL&Ïó€”&MúöéûÙgŸ †’’£sçÎsÃX³ÉtæÌ™¿î¨®©1:un™ž¾%wkaAÁðá#!ß|³ªyZZÉÑ£V«íË/–Æqã'ø¼Þ°fIíZ”õ3ذO=¼_޳e"xCq³ZvÀèFZº*.Imwe‚cÊÖ¼tˆ}…êqʸÇäÛa866*8l¬TèeñSsºlâc‚Âd S³gÐ͉U 2æ¬Ê.c£™d¶ÎLÉH!–ç9õH!—0lšõf`Š® À«"Þ ›i£äÝš÷µ¾gf0jµl‹.†ԱÖo9l"(`v¹ÊH¦¼TÀ~œ"’©â¤‚ Ë~#[bÙ8êöÌ„5a6îL~GÁ@  `ЈÃV„»…0ˆ]Ûl˜›<€ 3ž< Ê5O4qd@»‚‹G~¥Œw“g2¡¦ y:èVSE¨A&®‘`.mø:—±©0¹C¤·ö.*ðk›ÏÝmÌó|EEEyyÅØ±ã+Ù»woófÍ2Û¶ìÛ—_ZZÚ¡C‡N:ænÝR[W/Cƒ$IGŽ_yåŠYû ºÝ®ÁƒçænµX¬±±±žoÛ¶myù©€oþw¶<Î3U•ûöåwëÚ-w[.D¨G·îÛ~ÝÑ.³m“fÍ6oÚ¨gc€MÑ÷Ô©S;wî|íµ×úôésèÐ!ǃ16 _~ùeMMÍîÝ»ccc“Ùõíõzãâb1Á€„Pñ‘â“§NÚ¬¶Ž;J’Dù`4ùý>Y%•Éb1GFF®^³:)11!!!555::f„›>üpþСצ§§{<„â¹ëF\g³ÛýuÇ–Í›G\w{ŒÛíf§/!´}û¶ŠŠŠÁƒGEEUUUmÉÝÒ!§Cvvû ë×oÙ²eðà!ôÈ-ZôéÓ÷ä©S«¿ý&-5í¦›nš={VFFÆ¿þuu}}½_·lÙlˆ¸ñÆ› ·lÙl³Ùztïq¦ªjëÖ-„¸øø+û]y,­Å·ß~3qâ&“‰6líTX™Î~މdl6Kó2[TDµäë ¤ºQ ÙlN™o*X†ÒTÉ£5²Ñ[Œ™Œ2$FÉ0Cñ,è L°;„5¼ËÆ[Y fUgY g<ˆ”)Ë¡j€þ *k¾–š@é A¾ÆÔ™]Àª³lè–ŒÄÊtpùF*f­Ò‘‘ëˆÒ0äØu¶ÂªsUQu¬.N“'6ôƒÑO!œfÓ"X'B%‡±HÅæ&ÆéÙdUH •u‚bfžU‹‡0›l*—=R‹±Vn  "c¤EI¥å@ñ½V{V¾A•e›nŒa™C¸Í®²f)|Z¶ÙSÎÑ©¬Ek•Ê®µ2¥«+Œ«ôÜq\m]mDD„Ùl:yòdfffMMõž={ â222N:Õ´iS›ÝîóùdÜ…úü>ˆPdd„_ô—––ÖÕÕµHOß¾c{‹ôô¢C…µ‰ŽŠ6 !±á˜¤s'yœ‚`HHLôú}¹ÛsÛwèÙº-7#33>1Aýªq*®ÐÐÔCóóóÓÒÒòòò>úè£ŠŠ ƒÁ IÒu×]7hÐ »ÝŒ4 M® ,aI’°„±„yާ¨a‚HÄd4¢!=t~ll\ß¾ý:vèÀqܾüü 6øý~ŸÏ!E¿×ë…J¢äóúòvçýôÓ'OžtÖ;1Æì1ªãeᣤ¤$!!1::cܺu뺺Úzg}ZZš$I)MšTTTPycܤISBHtTƸ¯„=@ÅÊÊÊz§óçŸ:räH]]]mm-ÆøŠ+úTž>]UYÙ»÷c¿ß!ôù|>Ÿ/LÚèYW†•éLe'ÁÜP­ØËFš°A!Ÿ£Ë²&zÊÚ‰*;‹Í%c,¥ å^fâmú,åYŒšr•1†J9ºXa.ª€X÷ •ZÇ2<2ŽÕЗËj an§0ÌÊ9HòsÑ¡o*«w„¢‚™Çǧr†ÊrÎd~ËF{¢egÁ›’ ðV…eœÇô:aÿ)ŽQždS¶&·ZóÌ U # †=¼ôAËf3ªU/…Ár6©:06Fï¤W Ý=hœW| ZBᙌ©3쉘õ£Ëú1‚'§<@e‚dŒ!—*Èœ±–«÷¾l ¾,ÕV%ÌVš­J˜@u,KP¸ kŽëdi„5’â«Bk¨,´ÐPT…*Ðì‚°w4ð<Ïó^¯¯u«ÖeeeFÁh4ÍF³çOœ<Ù2½¥ßç7 oàÙ» „ƒ Š’×ë=qâDdDäáC‡RRRŽ?ž”˜œ¿7´!Ã…:\à8EQ”D  ¢(‰"YjÇ׎³! [æ$>>>..NÅœœœaÆ͟?Μ94©üÇ0`@DDDUåi™U"""#].§(ŠI’Rš¤Ä'Äó¼ÁëóÒ«{|^Á`4›L¬·”Þ㸔””„„Q ·mËeä‹Àaåå§6¬_×¹k×fÍš—•–?~ü]ýƒAÂ’$ׂ4]]4›„%Ù±ÍØ±ö7¨!'Ï¥¦µHKK„\qŃBX^^N™iyyyDD„¼´†¯se¥Y£5¢pUéåË04)+>3Q¸¬y1Æ4­ˆy {«|˜ñÉW–]V@SjJ+C–³*¦Ê[ÆDó*ÌõÌ`0›C¬¤¬ZžŽ±‚‚ e°18lP›íÊè æ¥zeš8|¢ Ì–¡ZYOCẆ´ZQ£$Ÿ fþXU¶!ÊP2¨BÖÏFȳ³¤¬c0¦¶ºÆîVå2(½Ú„IyÚà Mˆ>‹©ŠOeø…êŽ ÅšÉISÔ Ð¼q98†a,0]¦ÌÐʵ!gl"Ù 1¢i]Á ÃÅs„Â,‚³ÔJ­˜Êw‘¶Z€g-ÚÊh@ÿû’¥ Kb\|¼ßïs»ê9žkß¾ýÞ½{cbb$‚kkkÚg·ç8ÎãóJŽŠˆ’9!Àd2Æz§Cˆ‰A*¯(ÏÊÊ2M‚ ,(ˆ‰‰ñ‹~¯ÏgµØxž÷ù|á6ô…ŒÓãñTUU..ÎÉÎÞ½w/‚0'''ß>BHBB‚jœìyv‘3¦tøða‹ÅÂó|rrrnn®(Š›7oæy~Û¶måååÛ¶m³X,Ym318EIjÞ¬ùÎ];<^·PÇs X‰ƒ'ÊJ›§6ƒIbY+„°¬¬ôĉ­ZµÁá¨KHL¤EgŒFÁá¨óz½F£"alŒ’(=zDë+Ñ`ŒÛ·o¿/_É‘#ñ …™ñññûöåwèбøðáôôtžçüþð³ÉäñxœN§Ñhäy¾U«VGЧ¤¤ð<_Tp0)1)***7wkNN07wkJ“&ž7ð|UUe||õˆ‡‚’°l³00¿1„¦¾˜v lzTËÀ€31˜ !–¨€Q  ‚D[*yŠaCu(5€v L·% Þ³q¯~‡ Dr¾2) •dÿ.?‘Õ-Á€ôtD” Aɷ̰‰Ò«Èž ÅO169¹ì%ãh C:'Œ5;0,3~t9|ZùÂʲü¾‚V[¥M5x"e3OòUBhBnÔ.£öœ"@ý€€U‰°(Ò½çB ^áÀÒÃÊEÊ.sE(¢2L.t›£ˆ &€à¼1Ò˜œW@|˜¨+e 8S†%dª‘F a 4á`È”¼@Ž3§¥ YzN Ý>8´ÈÙd!F¿•áMUÿ'Xÿ„žŽƒîvúô'¬! "D½ Û$BU!„„® Yƒ!ï„ aÙøs ®' ˜¸ôºc+'ù^ŠtQÅ[e¥nΜä÷û£"£š7O->Zœž–N0n—•µmÇQ·®]hìeÅ©“ÉÉI‘b Ä @HD­Zµ>T|¨{L÷œìö/DÑa·÷èÖ àq»ëŽ´éÔ «Ü >ΣG8Ζ-Ò÷ìÝ›žÞ‚`œŸŸŸÞ²åÉ“'°$iÇJ\š:uªËUϲáéÊJŽãèñxúé§›o¾¹wïÞ‰‰‰eee'Ož4hP«V­|^ŸÖ€%œ˜”XRRr¦ª*&.ŽŠ~4,•šNž}úbB°„ƒ–žPkeeå±cÇŽ?f6›»uíb6›‚«åäÉ“‡ÊÈÈ0›ÍV«µ¤¤¤´´T0"##SSS!„555M›6µZ­cù3ëµLHH°X-%%%'N”¶jÕ*&6&.6®ººº¸¸8!!¡Cǃ=Wþl±X""#jªk SS› †¤¤$BHQaá©S'ãââš5kVTTh2™:wàt:=wóæÍyž—o‡±$¯WÕéC„`U²IèOùhÀ "I„AkÚ´² ª_áá0®êàíä{‡²®eÑŠ ˆ™(Zeõ1z÷ÀóHñ^Š„Ø‡\Æ<Ëʶ¥Y>Ä—¡Ro¥‚IðEýoÈ¢= Î<û˜ 1( (P ‡ž%l­ðóu-T¸ãdU“<A@O‚ìXqM‚P@y~Œ‘ÂðÊ;9«|:2~¥.>’Üå&¬©0c–­ñ@DLÊ“¢¡QLQh"é$€ÐáP…A!½# ªD,6PYõjå×T|C÷–_)ò e M†îT‡–£à äÅLk§ÂG°¤¨¼5èž úÙƒ_E.9°– A¸xyfi±.þàæ’§KQø•±È=ˆbVÈQÇEB‚нÒÃÙU M²,.ËÒš¸‹ßS•D’°ÉlŽß¾m[tlŒA0RSS›6m*aL¨wÕ,(èÞ½§ÝáóùØrÍR›ÿºc‡„qdT”(IØ ü—;† ÈiŸã÷‹rµ›ß?Îm¹[›§¦žª¨hÚ¤i\\œÅjå ü©Så ‰ ‡êÞ½;NÙîk±Z¡Çã9]QÁ,“Ù\QQAÙ¸qcvvöÌ™3?úè£êêjzLEEEll,ÇqB¬X$„õëÖž>]Ѿ}Ǩ¨Hú›Çå*,*4B¯ž½-‹œ²¥´Ü ŽC²UF’p°b‚DÑ”ÿ¤/˜ªÅ/Š#f?«ÂèÁê’D–oG¡…\TçÊŸ D¹‹¢HwÍ( z 1ÏsBxž'Kæ8ŽJÙ~¿_UK™Æ |…’:Fk-iÀæNX='p1 Dxõle" 0©°½%HbC®¢[Ôf…(‹w¨Åe5n¨}LV^QÄÔt†£2ìŽ4… TS3„ªeK&lªd" ("M8®æiBüX“H°ôY0žMR/”³Zë÷u¶|¢¹—2šEvå#Ù µÝ#4=cä5¬ÊAšNel8z(øŽyª6„ɨ ¼ôµƒ—\ž\5Š-¥2¥‡Þchñ¨µÌ‚dJú+^QžÎ&íË®Hî΢ùU63ì˜Eˆbã4ÚØƒìÐ;R:¡àE» 4J9½ v§œCúØ9ù=!Bv»íàƒÛ·ç¦µHoÚ´)Çq@QôWTT/=Ö©S—´´n—‹)WC„6«Õát¬ýù'I’ڵ˶К„8ŽßìOHLîÖ­;„Pôû×Cvœ;vlKoÙ²IJZ´céôéÓ%%%;vNk¡§¬ÓÆ'$›EAŒqrJ Çq{öìyôÑGß{ï½?üpúôéªÚ4ÂÒã‡7Z IDATÇBì›3›Í‚Ñxøð¡M›6ÖÔTÛlvÇc·Ù:wé’™Ùcâv¹@¨4Þß…ØFaQ›­­g¢-„ÒPb_ãÝ>´¡aÒ¬Ù" „yQ$Ú"Ä–K Û Š©wrä³&eD­yš NU”8bêhbUý•uLù¼TT"aÃãÙÒªRÒl‰4 ©”eÀæâŠYeâ¥ÉA]ÿAý}£›†­΄„).Áòf&&îœ4•Ä +ƒÌ5I¸ð"¶r>[ì³áÛ©ªpkC+d†¯…|¨©þÍ‚½:]M‡¬õ•²+DS-<øú‚¶m¯ ¦æ* »åEÎÆ"¨b¤Q0ÁL‘Œ¬ž¬æIÂWQd´lȸc‚„êü±éˆp ÐhoF²ª´Ý_ÂÔ‘Õ´•k4À þN̦ÍqœÍn¯©©Þ´iSqñ!/@!-[µêÞ½‡Ýn¯wÖ3eÎB«Í!ÈÏß»}ÇvËm³ÛÝ.w\\lž=SSÓ¼^Ÿ×ã¹(°uaã ÎØÚÒ¤´uÉ矾uëÖéÓ§‡Õ´N”•iû‚`ˆ€ø¼>‡ÓiµZÁq:4Šüý©¡¢åê*ÙaûÞ4PH2LÇmþ†rÃ5Ø8OÉ¡ r@éíc3¹A]}eºY. Iƒ ÔÁ* =¦—†Âþ«¬l”´DSnŒZ Åè².2Ù*38U£0eà¶ö R¶í"a!\;áôÖZ k¸+b´L¨,ÂfÉË­µ1;²¨ê‹5¬«× 0-SA¸j좶ǫV:l¦œ¢Ü·² VA¸¦Åª*ª¤ÌòP¤8eQUDl6?PRõ_Wu+ÊÀ19˜Q~Ô–E µ Û…Oî·‘µÝØi¬ 5Ћi#×J›n„­…eƒ¿³×ù°e„Ín–°³Þ !´X¬!¯×[ït’†»ÄšL&›Ýq{Ü.—Ûn· ÆØQW'Š¿ùÇŒS¡a«pk F#-Îö¶L‚–fL&“A(ôùý^çëùñg6 ‡paÍÒªÕÌöa¯ÀÖÇoP>`Û\ªúã†í·ÍF+󤵵ÇC9Ê*)C©’)̦ \ëF& j a¬X ª¿­¨ÅÑrËcPUcU˜é[(•l6)h]|Dí¿Ærãj0íšCHÃr»+ïȪΊè3eùÈüJTÎÃêÐaeûp ›F¯ð=Èb{¸²è,‘…FZªŒùÁ¢%¡ d»»ªPVi'lÍ;%€hk`*úrªªy³OÂâ4®¹0͘ùAáLpªV]aÌ0L/Q­…&”®­ Έ¬¤¶_uX¨f‡Ä6êPá.[|»!&Ö»áäs)8zÁœb£ÑH«XŠ’äñxD¿¿ñ"¾ôñF£Á Ðwâñz}^/¸Àd³‹?ÎÆû"Œ¦§êe„ÖçòŒ$/ªŽ {Ym.„"+ši?E4Ýv- ™.#@™[BX•” «V¨•á"®U %UåÐV²fˉ+«ªA%‹T“aãjÂÍ5Ô¤· ü¨ ZÏlQ ­~ í ¤¼¬¶1hˆŸÊ}ÃX_Óð4P!œÍ2R岫×ÏYUKKYÇ>lšž­¬Á@ÕD¡àV%†9W“¬¨®!ÃVsÓÌ|HÔ€4ÐÔ»*8vu)oUXÎKûósàrtUÿ£°ðüч4šÆöáÈyÝŽ6ÿG(.ln\7•«Œ?áºâ¨#0YýŠf”J[‹F \ɨðYo®êY”†kV8ÓEŠzÁÙ6eÊnÄÒ(uµå*zi#¥ÙZT!°‡"Mû, è ¤µÚ'›Ø`0nšQåƒÏμPùîA…  ÌÅ ˆ„……\ß!A!%¯jåBiÁ¶‰ ûPTé¶gñþ…¢‡•Ó¤rQ#¹[¨ÜÀ‘o2ðÇ@JÙ˜×+FòÑ©ÀÁÜ(õ¬2•ÛËq3ËÉŠGe!š° ­ñX3H’€œ&Çä„JÇÓ@8¨ÄlE]ze‡…՚ݰL^»œðÍÖ²e­_l”ƒÂrÞÛAZª¯O™hÍ׊âä„hZ0é ; ÏŠ,L\Øe/=f×åùäå“ý~ù[E‚餓N:é¤ÓåMBƒ!ÐÛZ]Kœã8“É|¡Õ×.„0Æn·ûòVÊuÒI'tÒéw’°BQQÑ~ÑÁ¥€OHdDä]wÝõòËÓ‚Ußt:?ÉKŸtÒI§ Ï—ƒÎü~B\\|ü©“'. pWzüXï>ý¼^Óéü$‚ßèþ×&‚±ÃáÐa['tÒé2&šc : )½—Vuóù|<ÏmÞ°Þíñ\Ü+WUU½1}ÆÌ·Þô\ì+ÿEÈ(ƒ‡«ª<]SS£/htÒI§Ëžø¿€ž`°nèÅ"„Я¿î°˜-‹{å¿Êkãù¿î0›Íú ÖI'túgP …\Ê(³Ki\¶Aï„ÚL'tÒI§Ëª4õ™h „Ðl6 ‚0™Lf³YÏ|ÓI'tÒéO¡³¶(ŠÇãñx½^ÚôÅHùCØJñ UÒi¼OÃEçA#gñ<_TTtËm·½=óÚÚÚ‡yäö‰wÚl¶ßùŒ^¯WukI’þè‰ÕI'tÒéïNrÄãvGEGwìÐiÒ¤»ü~?ÇqÔ$ë÷ûiU<ƒÁ@këøý~Ú!Z© z½^ùxQ)8…kã8.o÷îÄÄ„”äI’ „N§óðáÃíÚµ#”––¶iÝzo~¾ËåBCttt³¦M0Çíݛ߾}v  z¸g©©©);qÂëñFcrRrtt”(I¥¥¥é-Z„Ål£Ñ8wþüi/¾˜‘‘ñêë¯ÿßÍ7õêѳî÷Ee›Íæ^šöÊËÓN*ÄÄDòvïtíÒE_Ž:餓N:i´Ê@“úÆü ‚ ¼7kÖÀA§N*ByEÅ–-[!ƒá`ÁÁ•+¾"?¾yóæ‚ ,[¶ì×;[µluóÍ7!„öîÝ{ìøñÇ9ÎW_}uÏž=Ë—/w{<Ç ëÒ¥ Û%ZuÇg¦>;|صwNœÈqÆ8wÛö7ßzëÓÅŸB-úä™o½òêkãÇEI’¤ªª*»Ývã„ f³ùåW^YñåacÂ!„§Núvõj›ÝnŸÏ·aÃÆ[o½ÅÀóK–|úÖŒé•UUT\0 DP%Çc1›++«²²²0ÆN‡33#SRJÔBÎ!äEo°L¼Ñhä9NÂØìwBË»B¼^o}}ý»3ß>sæÌo~#„ 2¤ÎḢwo€ÇãšL&!Q’¼^/í!#IµÉû|>Úu['tÒI§¨†Ý0ª“ؘ˜6¶m“™Þ2=)1ñÚ¡C%I*-+={öÈ‘£¬Kî¶mm33,Z´~ݺ‡ú÷gŸ/›7oþÜ´¤dîܹÏ=;511©¨¨höìÙ#®»Îfµ.ùôS{DDz‹ Ý1***6.®¨¨(33ÓçóµÍ̤X(‚ Ïó7Œãñx$Iòx< -Ú¸qÓСטL¦F ¸%'§\3d0BÈ/úëjë"#"n¾åVŒñµ#®{ï™6›mo~þ’O?­©©íÕ³ç]wN|cÆ ¯×;vü@H½ËõÀ¿аÛg½ûN½Ëp8¯¾þºÝn/((á–[þ/«mÛ»&ÝóÒ ÏÏšý¾ÕjýßÇ –|²hý† €Ý»û|¾wÞ}·°°¨{o»"øþ´iÓfÕ7ßú}þñãnèÖ­«Ü¹\'tÒI§5Æý½^ïc“'§¥¦Þ÷À}:wž8qbII Bhÿ¾ý;uîsÅ;wwà ¡?þøÅ—^jÓ&ã±É“¿úú+ƒÁ Šâ cÆtíÚ­yóæ{öìi—Ý­k׬¬¬Ž:<؈UY„쬬}û÷BvïÙѤiÕ1’$ÑŽof³yÈ!»vçqá}*$¸Ø]yyy»w×××L"##}>ß»ïÌÌÊjûÅçŸÙívg}ý÷ßÿðÌÓO¿;ómI¿\¾âñÉ“Faáÿ>Zðñÿ²²ÚNãõÓÿ묯§×Ä„ìß ¿+ßœþßý¿øeÝ:«ÕºäÓ¥uçì÷ÞmÖ´é‚…‹ î]y¯oÆÿ;qâày¾¼¼<22òÞ{&Ýò7/Zð±Çãq»Ün—Û`0,X¸¨yóÔYï½[W[»déR“ÑTWçØš›ûâóÏ=6ùÑÕß}__ïÒ—¬N:餓ØapqܤI“~üáÇ¿þ:~üøûï¿ßh4z½^‹ÅÈo†BX[[›1ŽŽŽv:ô䈈¹ëËâO>¹câÄÛn¿ý›o¾IHHh|L™™™¥¥e55µ«V­¾vèÐÆíÀV«Õëõž¥U!í³ÛÝ0zô¶mÛ_}íõé3flظc,‰"!„^ßn³Ýwï=GÝ›Ÿß¦M›Â¢B©æEQ !44Œml•™Ù¦C‡Anù¿›wìøÕd2þ²nÝ=wß!¼aÌè]yyÇEEEú|¾­[s]õ®Áƒ‹~?–0–0Ûã¸]»v= BxϤ»Y·ž7<^ïwÜa6›[´H3›LzlšN:é¤Ó?–3‰ †~ø!)))''Çh4¦¤¤¸Ü@rJòª¯W 2Äd2åååõëׯ[·®Ÿ,^|×W¯^“‘™I#¿äÈí¸¸¸Aƒ=úè£IÉÉ»vî Ó÷M ®ÑÑÑmÚ´~ëí·›5k’š–ÚPuïÿí·”äd|öl+Ø¡Cûœœö„ÊÊÊ·ÞžÙ¹S'ú=½©ÇãùèããbcÁèõz±„ÏZ† BaŒyŽ“°”0æyžÂó<–$BH»víÌKAAÁÚ_Ö*?n\à1Aã¶„1Ï!Ÿ$ÑÓéqùzF™N:餓®a7€ññ ‹—,rÍ5WöïÿÚk¯½þÚ«^¯·Kç.mÛ¶½ùÿþoÜøñ‡Óëõ>;õÙ7ôìÕ{μ¹O?õ”Ïçóùý¾`dY§NÚ¶m{ë­·uíÚõ½÷Þ;ë˜ü~ÿÕÿúפIwßzË-·;¬Vm6›Ýn÷W_ýõW__;ôÚÆµpaþ¾}_|¹¢¦¶BxæLµ_!BI’B!Ÿß_VvbÔÈ‘#†«©­9‡PpXXTtðàA„àgŸ/ë“ãóùzöèþñ‚…&£ñÛoWÓhµÂ¢¢ÚšºQ×_Ÿ““ýÛƒ\°ì‡8—ÛmfüîãvYm¿ùvÉhüxÁÂ=zŠèÕÂuÒI'tjLÃE±}ûì^¡ÖoÖ,|ã7Þ|óÍf¼^oTTÔìY³©êL7v,ý•âåðáï»î:!ÆcÜHWsÏBAh’’Bo*û§9Ž#Øl¶¡Ã†sŠŽŠéÜ¥ó+ÿyÙd2aŒ VþJmÞ|ÿþß&?ö¸ÓélÖ¬ÙM7N°Y­~¿?2"bð5C~ü?«ÅÒ¥sç»&ÝcµX‡ ZPXH\“+ÏÄÄÄ|±|ù xÍàÁN§óŽÛowÖ¬ÆOhݺգ?ì÷ûâã|·ð­™o·l™~ϤI>¿Ÿ^3##cÖìYý﫾Z ¤bÊ'¾ùöÛ‹>ù¤{÷nÞ?M‡“¥§Æýô:餓N:]Þ=OEy9BHý¡¸ø„S'O\šúÛ¡âÇ®8øÇ¾£éX„›Íæt:e8'„˜Ífš4e4].—Ýfƒ¨ûÙçóQ%•=!ôý÷ßmܼõW_ñx½T>çy*4ø|>ê6™Œm×mÇ @ ô{€ßïGÉ×Ô¦wB\n—Ûí–3°ôzA°–„zÇY…^“âv»é1ÔôM¯àº €yvvtÒI'tú'‘^Kü÷‘Ýnà¾û´€N:餓N:ý¤öÇqqqqz/tÒI'. ý©-!$„ˆ’„1¾èÆÔ½ ¾,s—!„R°|©.4褓N:]fDƒ¯U P&`Œcbc§<ýTFÛ¬†ª‹_ ÝB³ÅÚ½çm2ÚŠ—#`#ˆââãÍÖ«ÕÆñ}q뤓N:]N$ÂìY³ ȶˆ„·»¼¼!$Iâ%ާÁÛÇq<ÑƒÞ ‚BI’hüÖå¨dÄq¢ßô,mtÒI§Ë‹l6Û°aÃßœ1=>>žãxŒqBbâykØ„ŒqØœ`ú­óunÞ ú2¢FÖ†N:éô×ܳré‹U é¸æ?Š*++UMàykÒUUU'N4›ÍÚŸÊËËâ‰×]g2™ôéþR#kC'túë€4-ïHõôéÓ§OŸ¾ˆÈúû¯I›8ÿãs`8Û)º€—a±Zf*!„y»wwêÔqÝ/¿¸ÃÕÕéò_a ¬ tÒé/µOóóóóóó) VTTTTT\Ü[üÎkšL¦wÞyGýe`Ó d“Éd·ÛY͉£ß[­V!„!”Ÿ Ïò?]~!d³Ù8Ž£Žv»]þ“öy£ë !dn¸‹¹N:éô‡0}„Ž?~ìØ±¨¨(BHçÎ;wîL±ÛíF£1°[¢Ÿ){§Vµ—Y˜àyÞf³ÙívAØkB­ ýÞn·cŒÍf³ ô`Zä Ÿn6› !111/Xk6›1Æv»ÞNþl0Ì&“ÕjµÙlcùtª—_Æ,Uƒ>=åéví²~ä¶ðBèÙçžËj×nøˆåååUUU÷ßÿ”gžINI±X,ú®øÇÇq‡÷í×oÛ¶m‹åƒ9s:uîÜ·_¿ÜÜ\“É4~ü„ýû÷ñ<Ú·oß#“'ë&ttº”TYYùÀƒN}öÙ䔛ͶtéÒ¥K—Úl¶Ö­[Ϙ1#»}ûþúïÚ½ûµ×^ËnŸý¯«–;Æsœ ì^VmùU«VuïѽCÇŽóæÏ^!TYY9jôè¬ìì÷?x¿c§N)))wOšôÑGöêÝ;§C‡Å‹K’„1^³fM¿~ý2Û¶}ø‘GŒFáö;îðù|É))?òHJJJ»ìlŠ)ÑÑÑí²³m6ÛòåË~äÑ!C†ôìÕ+..nÍwßõíׯc§N .D]ÆŽs^DM(Hƒ`ïçŸÞjµíÙ»gõ·ßÊ’‹Ùl~ù?ÿ±Y­…«W¯žöòËóçÍ›=k!dܸqgΜÑ#.s5:(ÆÊ ´Ñ Æxí/¿¼ù曼ÿ~vvöÇ ”=š››{¬¤äõ7ÞÈÊʺ÷Þ{-úäµ×^CÍš=ëû EÔõ)ÕI§?d«bL‚ªý&66VæÕ55¡Î„Æ-[µÜ—Ÿ¿fÍš[o½õõ×^Û—¿ïÛoW?ñøã?üðüùóÙ½œ™™i·Ûé‰F£ñ¥—¦-[¶,#£Í¬Ù³ä{ ‚ðŸW^7nÜ7Nxå•×8Ž„ðw¸øÈ?üP]]ýðÃ4ˆã¸={ö|ÿý÷V«õwÞy{æ;‹/nÚ´iñáÃ555.—+”µDýŒ*-+]¸parròúõëúñÇeË–EØíÏ>÷ÜŽ;ºvíú÷g)¢MqR×G•—Ÿª®®„Ä'$¶k×îûï¿_¿~½Çí4hßïw¹\ƒÁðã?ôë×ïé§ŸæxþÇDÑŸjjj¢¢¢7oÚÀëùÁ—+Aœœ’˜˜äóy D¿_Å+úô;sæL^^žßïŸ={vB|¼ßïÿõ×_!/O›†Ú¶m›ÇãÉÉÉY±bEaaá¡Ã‡£"£úöí{ðàÁÓå—köN:ý¹Ô6+ A(Šâ¡¢BŒ±$áþW]嬯GÖÖÖ²ÀfµZÇ_[[;xð`³Ùkö²|ŠÏç{ê©'9z¸¸xòäÇV,_ÒyÞëó"ˆÜ7{GŒ±¬&ÖÕÕMŸ>ã†ÆÄÅÅÕÔÔ,ýì3 e'A5“þ)I’ŒaBô3u™_=p ÁxäÈ‘Mš4©­­éuEŸ¿/ñ¿rÅ—YYYDýD›0M ±qñ'O”AM&Ó„'<=eÊ«¯¼²|ÅŠÇӃ¼>ïm·Þ¶`áÂ_xÁãõΘ1cÆôé,C×[K]ÆäóùBBÏq‹ùø±ct7FFFNŸ>}Ì 7ˆ¢tÇ· 6ìÓ¥KŸî9«Í6gîÜ»î¼Ón³õèÑãÿoÌè1v»]’$§Ó¡O©N:]|¸†ÐívE‘Õb¶`‚ëjkBF“éÔÉ“¢(ªkf°™ÓÌgQÃîeú«Ñh|ìñ'žxü±ô-NWœfϺꪫ>˜3çöÛoyÚØxd¡œN"IRm]m»ví0ÆïðÉd"„DEF9r$11Q’¤ìöÙsçÍ»q„ٳg××׫ċ¶mÛþð〖­[¯Y³¦ÎáèÚ¥‹/Ø2ñïHÏ#„ÂFÎñ¿oÇ3éîI³fÍºéæ›û_Ùß`0ˆ¢˜––ær¹o½õŽãî¼ë.Á`¸óÎ;EQŒŽŽ½ þyÜçùÔÔTáÒ%K|è¡é-† "IøÉ§žr»Ý£G2›LŸßß$¥Éè1£EQd]k:é¤ÓEß—auèn]»Î˜ñæÐk¯Ý°~=åÛ’$eeeÑBÎcÕgÇ3pà@í^–ùš!ƒîàŽC3fL÷x<ôš~¿ò£N{ùåñãÇß|ÓÍ[s·J§¥¥Q)B?Ûl¶Q#GÝ{ß}V«uÂøñ¿ýö[½Ë5eÊÓ÷Ýw_Ïž=Ÿ}öÙ7^ýùç_\¹r帱c;uê$I’Œ5„Ö­[OºûîÙï¿âĉ¾}ú\5`À߃:ô¸]ÁÒ¤B(1)iÕW+¯~ÝÉe(hs0™Lª=U»©»Úh4  v’¦1úz ÑeO^¯÷ø±c»vu:œë×­ãMÇ£Á™tm@-‹×ëEQA „>ŸÏëõZ,–yóç †ÆŒÑÑZ'þP*--MJN6 ‚Ëå¢{¶¶¦€2›ÍÇÕÕÕÉ|›º„©·XûÀîeÖ‡M3¾¨íõzý~¿|MQKËÊzõì9ÿÃ×®]ûÁûïB<ZµX,ô3=âóù8Žs¹ÜF£@-ùn·›Ž!äóùAp8òõz'ÏF„(Š^¯W6ãÿ]5lŽ[÷ËÚ!×\Û½G÷eŸÇqÜ9•&¥íõz½A !Äíx#Ø×!¤±: þÇ»6¨H!ôûýò¾2›ÍWôé“““3åé§/M½ztÒIËÕ !ò•ù¶Ó餛·¡Ïì^V]ý‰½¦(ŠóæÍ{ø¡‡â^yåÇCÓI@Àbˆ|b¡Äï÷#º ;Zz¤k$I’¸¼1ˆÿ§-Ö?¢dîßâyµ£e¿¹4Ïâv»úñÇ¿Ñì餓N¿‡Ìfó+ÿùü§$I—÷®¿(l­‘º/|'àé-/Ë =R|Øf·ÇÆÆ©úŒž¯ˆZXXxÓM7ýðýw¬d÷×”¦«««²×Kõúý~I’Š‹‹}>_NNÎ%hÁÂ.e­uÒé¨ÜÿqHùçíd;¼Õf»`|¡‘@Â_. Ø„úOuâå¼h¨¬ø`ëÖ­W­Z пÿï(PFƒÁ€ ”0öù|a^ç2ÃGÝ#>zúôé‡zÈátþα5òŽÌfs}}ýÅíVäóyg¾3sõê5_õÕëo¼ñܳÏz/Fž Æ822²®®îbÖ`0‚À!„ ñûý^¯÷vUB"""jkk/¥>tÑçM§¿ `ïÞ÷â´ÿH¢xqß2]±Îz'Á$쯭[·Þ¸iãéŠ ù¾Œ/BƒÁÐȉ¼þ¦Ã¢ÎÅbŸ.]zàÀoï½÷`Æ›3<Ï„ñãUÑÑ¡c%%4‰¢¡»ËXÖ!}¾ÞhI’rrr0Æn·Ûf·‹¢XSSC/NCB.`è}Žº¹s—~óí·§OŸNMM›0aüµC‡Ò’Cxе_ ‚0oÞü«®p݈ë¾üòËsSª©hdÒ(UVV>ûÜsÿûðC÷Å«!ܶm;„pÕ×_;Ž’’Ôð8Ïk½EGEµkß>o×®ßÙÎŒ$I_}µòÓ¥Ÿ—”6lØ„ñãis…³¾¬†&ÿ¬n±XÚçäìÏϯ­«»d›úbÍ›Ne’$Ü·oßU«V]\ÉB8hР… &&&†ýÕb±X­¶ RÞÈŽ8Çõ°Õ !¸ukî?ÿ|íС™´xÞ…a˜³¾~÷îÝO=ùdLL à‘‡yý×G nµZ7mÞ4oî|‡Ó1jäÈŒÌÌ­¹¹ÿ÷ÿýͪU»víZ°`Q~þá­·ÜrÍ5× >bÕª¯Ì&3`Ïž= -zýµ×Þzë­-[·r7qâÄAÊÃ3 sæÌY½f5!ફ<úÈ£«ÙIlZ{<ž÷Þ›uêTù‰“'üvàöÛn‹‹‹ëÝ»×… æ¢ßïv»“’’¨Y8))ÉírûýþúúúeË–½ôÒ‹™?¯];dðà>}úü÷7bbbœNç‘#Gxðþìví*ÊË'?öØÀï¼sââÅ‹ï»÷>ˆÐü?|ô‘G}òI||ü/k×VTT<ùÔS½zõŠŒˆöܹË>_Ö¡cΪU«0ÆŽçß{÷=«Õ:}ÆôíÛ·7kÖÌn·½æzßøøøÏ?ÿ@› †±cÇZ­ÖóÚ!^¯÷¿Ó§O›6­[·nôË&MšÌœùΊË_|饷ß~›ÝEƒaíÚµŸ.]:eʔ֭ZI¢Xx¨è䉓òÕòóó fÍžÛ¼Y3Z8¯¾¾~åÊ•§OŸNKK=jÔÞ½{Oœ8ñþûïÇÄÄ<ôÐCrq=¡+z_±xÉâg§NÅùê믺víZ^^N[ üðÃ0›Í×^{mrrr}}ýêÕ«‡Žúî»ïò÷íKmž:bÄp„PAaá©“'KJJ\.×äÉ“—-[vå•Wª:Ñ}óí·mÚŒ>Ü4þ»\®+V˜ÌæLš4I6],_¾âØñcqqqcF&„¬^½Úd2O™2Ev¸ÝîÕ«W[,Ö¢CEÍ›5»êª«6mÚtèСԴ´áÆ™Íæo½u÷]wíß¿ÿôéŠ#GKªÏTwîÒ¹w¯^ÛV®\YrìXûìì!C†`ŒW¯^œœ²yó¦fÍ›_7b„œ CyáÅo¹å–‘#GÑûFDD<úè£}ûö}á…çg¾ý6ëFá8nW^ÞÇ <3eJfff}}ýšïÖ°ª„0--uW^Þ•W^i4<( QQ‘t[íܹ377Ò·OŸŽ;"„f¼õÖ=“&B¶lÙ’››5lذ¨¨(·ÛýÍ7ߚͦ>óôÓùûö222仨æÐÄÔî¸ó¦Ó?"d¹Ód4®ùþûÁƒÑ<´†J’N ÖmÜ¢vîf6¸ì?¸î7,á¾ýûü˜_7nÚ7å™g<8wî\Þ`8_ûF€ËÛXt„>ŸO’pFF†ÇëíÛ·¯ËåEÑétÖ××KXêÓ§ï‚?î?`À¨1cÖþò‹Ïç»ú_ÿ*,(¬©©Ù· BØ©S§¢ÂÂÏ—-ë?`À¸ñãW­Z%2~bŸÏ÷ØãO›6mذÔ¼)‰bïÞ½igÙi-d`£e œN§Ãá Õd©“Ö?¯©F£ñ“ÅŸ 6œ¢µ\ã0r䨎;~ÿÝwlD£Ñøþ<3eJ‹´4·Ûm2›;uì4hÐ ™3&%%ÅÅÅõêÙ³W¯^~Q¤§<üÈ#ÉÉ)}ûöÍËËûxÁ‚´´´¸ØØ^½zõêÕ‹õ”ûEqÔèQ¹¹¹Ç—¹=®ï¿ÿþöÛnóûý‚ Ìš=ûôéÊ^½zÙíöùÎw»Ý.·{åÊ•V«uÅÊ•_._~ŽwïÞ½hÑ'ƒ¡° `Æ›o6mÚ¤wïÞÂÅK–°eyž_¶lÙ¶ÜÜ~}û®ß°aéçŸFYi×®]›6m\u•Ä­V룓'Æ~}ûž©ªú`΋ÅÒ.+‹=FûW_{µÎQÛ«W¯_wîü÷C9Ž^½zíÚ¹kÙ_DDDÌž=[„‚ÂÂÿNŸ‘˜˜Ó!gùòå{÷î5 -Ú³wï½{/ûâË•+¿²Z­kÖ¬™3wNçÎÚeeÉëçùï¾û®sç.#GŽ"„,\¸ðºëF¼ôÒ4I’ºuë6tèÐÅ‹ËÏB_¹rå½÷Ü“žžN«XŒ®À0BHûöí}^oAA!!dëÖ-]»vµX,Â-[·þò˺Î;·ÍÌüì³ÏŠŠŠA˜={¶ÍfÛºuëüùó»téìóûçÌ™ëõz].×ëo¼îõyû÷ï/aœ—————'32í²+êÌÛåÁë"""hÏé@„„‹åÒ4¾”÷b»b_Ä;šL¦Uß~óüóÏ¿ûî;öˆózv:$ayyyaa!e&ò—g} ¹ùС0sæ;¥ee6›í£>zì±ÇV¬X¸óÎ;Ÿþùo¼qÖ{³î¸ãvÚýÜí-‚ Øì¶â#Å©ÍSÅGŠm6› ~¿Ÿç¸úúzžçYv@1M/¼ðb»víî¿ÿ~»Ý>ñÎ;1Æ-ÒÓ ?˜3ç©'Ÿðz½¡7gÌhÓ¦v<¢(Ž3fÜ cŽ9zϽ÷nX¿œÐÿù2)ƒÁðõ׫֭[ÏJ‹tBGŽõƯ >\æò¡ÒãÇ[¤§û}¾¨ÈÈn=zTUU ½æš3fÐhù¸ØØÈ¨¨öíÛÇÅÅ>tàõzçΙCMšÝºv2tèäÉ“é1±±±"iBÏqwÞyç;ïÌ?~|J“&‰‰‰„Ÿ×{ï=÷Ð7Þ»wïÿýo·ÇàxÞh4Λ7oîܹÉIIYm³Æï½÷H’4òúëû÷!t8 ,P /Yòé’%v»=++놱co»õV*t †ôôt@·®]+++©màÍ3èà{÷î=ફ¦<ý´|ŒÊèÚ±CÇ ã'`ŒS’“Ÿá… &`ŒSRR^ýõ?ø Õ}%I3zôÕÿºBXQ^^RRÒ«W¯/¾øâóÏ?·ÛlÍ›7ŸtÏ=·Ýv«_¸ÿþÌÌLÀ¤Àr·aãÆ§žz°yóæçž{ÖáplÛ¶Ín·=òÈ#7ÝtóUW xðÁå(9aÕéÓ)MšÈ‚…ÖJ !sعsæ¾ñÆ{ó÷=†®„ž=zôêÙ“ìp8 srr Ïq+V®¼÷¾û:vèеk·Ç{Œ:erÚ·=j4½Å¸qãXn«Ã§Ÿ|’•þèy» (**ªuëÖ½{õzóÍ7é„WVV>ÿüóóçÏ¿Ý.å½è+{ôÑGçÌù ¾Þu±®¹7?ÿí·g:Ž,LMM1bÄy.IÒ´iÓ–-[6pà@“Étýõ×÷ìÙó¼ä‰4`S#ÛÑ’’ž¡u›6Ü}÷ÝóçÍ»¢Oáœ9s&Mš´nÝú€¸Ýî>}û´ÏÎf•ÆÉjµöéÓ÷ýÙï5 °|Åò+ûö³Z­>Ÿ¯i³¦Ÿ,^ܱC‡µ¿üòÒ‹/¦¤¤lÜ´)«mÛŽ;Z­VGãðáÃÈËË ‚Ð¥sçÅK–ج֌Œ¶^¯wü¸ñ³fÍžpã“É´fÍš?ø )Ä?ù±ÇG¼¾¾¾>*2ŠöÛÑ"±(ŠBI’HÐ"š——·gÏžŽ;Æ17ÜðæŒçîÃFVWWÓ(wm²uttt]mªWOrJJÉѣ͛7¯©­Ý¶uë™êê?ôlØÅsÜâÏ—}µrEMm-‚Ðãñ"¹‚b{°Ïç»q„9sæ‚¥K¯¾új“Ñàx~ÿþßæÏŸW|䯸èÑ£ÏL™"óÌ™3M›4ñù|ñ ´|#!$:::Ð2ˆƒÁÀªÂÂ#ÅÅ7Œ‹1F6kÞ¼‘g0Ö­[¿xñ'åÂcÇŽÑ ‚°Ïk4™ŒF£Ëå2™LFA?‹’ÄÆÚìvj£3 Æ€ÚÚÚ„øx§ÓÙ¤iÓªÊJº¼XÁ”ÞÎQWG»-UWWWUU ‚àóùŽ=Byú™3gT!1qq§NžLIN¦3@+³Çˆ¢xe¿+_}õµ¹sçÆÇÇ·hтި¢¢âƒæìÙ»ÇëõVWW?ûì³òôÕÖÖ&'%Bh˜]™f‹…fÁ`«uÙ‡m0¾ÿþvÁ¥·Ëƒ$IJJN^öÅ#†§oÂq\QQUBÕÕÕÇY_ïózcbb"##Oœ8áõzcbc‚œ¡¬¬¬®®.""¢Y³f€ÒÒR³Ùrút…ÕjmÞ¼yiiimm-ÇqM›6µÙlt8{öîm™žÎó¼×ë---õù|ñññ €ÂÂÂØØØ'N4mÚ4::šã‚-ëׯOOoq^–³*xm337¬_Oy‚Çí– rŸ ù|¾©S§Î;wóæÍYYY .9räúõëÛ´isÞô¸kB’¤=»÷<ñä‘‘?þØã?f1›ûôéSYYYWW·páA0<ñÄcO<þ8„Ðn·WVVžû†»öÚ‘#GnÙ²eË–-#¯yíµ×Òħ»ïºðÓÏ?½fh}}ý·ßQzüøê5k!÷ÞsÏó«W¯áá‡6›L„víÚeeeÝwß}^¯GÅ.]:ß{ï=¿þúëÚŸп¿Ùl„ýþ[o¹yÓ¦Í{öîùïßðx<™™™™™™uègŸÏwÇí·;ΡC‡ZÌfBH·nÝW¬\Éqœßï3fÌyù°% g´iSPP 2@ÑÏ©©©ìÆóz½wÝu×^yåØñã&“É'Ї¢2Dƒæ £qÆŒé3gþ?{×EÒÄ{Âæ%£r  (‚Šˆ#ꉞ =FÌžY0!ŠEsæˆñNÃ)¢¢" HaY6‡™ùþh™›Û>@D=·žï^ß23ÝSÝÓºêW›îß»·|ùr¶P£VCÏ¿Îõ*µZ±®-]©b©¹s×Î=zܽs'úØ1¸=ÑËÀÙÙùä©SFBá­[7ë7hGKûöÙlö… ˜ 9$Axyµ [ûøÑ£ëׯ=ZYz Ç ^¤ßA×oÞ¼zõŠ|‰<¬N¾ý7H£ÑL™<ùA\\JJ ý‚FFF¾@–Òí›7oΘ1ãäÉ“ÇOœY²9<üÔ©SÇ_·n}zz:†aâã×­[wöìÙU«W?züX(®\µjmØÚ³gÏ¿­§§Ž .—É‚hܸ±££#\u0ðÞÉÉéÚõØž½{›››£(ÚÌÑ‘Ã(ÿÕ¡«ûöëÇb±ýýý…BaAAý¾$I>xðÀʪf“&Mà+èóP _•oÿâóù½{÷މ‰™2e2;´^Š222‚77·ÀÀ©l6'*jgQ‘xÊ”)g÷î݉‰‰7ŽˆˆØ¸aCãÆ_½z5eêÔÝ»ã8ÞµK—nݺ¡(š’’Ò¡}û5j¨ÕêI“'‹D¢ùóæ-X¸pݺub±X,?xð`ÅòåæææçÏŸ?tø«kÇóíß¿Y³f°æÇÙ3g`’E%\§=’Éd 6¬’yÄY¬û÷þ2a”ÿçT›Ãé ÿW<þ¼°°°N:KKË:uêh4//¯Š½šB.ÏÍÍ tµ®^>}õØÿ¥¦¼ƒZ\ úJ4ÎbµólçÚ²¥±‘ñÂ… X,\Ÿû8Ž;zäÂ¥+Gþ 3;K¬ÖÅf³—-_Þ°¡ÃìÙ³™ó»µµõ”É“™2€–èÌà÷#ÔWèÔp膢ÓÄaný 󛡯×q¥0¯‡O@Q4???((ž«Ñê<(¥Ÿƒ È_ýõòÕ«Qþþ´eIßÌ[ôÇ/(ÿàéëKkÃa¾c‰üaú“õ9‡ÃÙž›ûq×®]ÌßÃÂÖ¾{÷nÑÂ…:1e:“¥ó²Ìqê3\gŠy<ž›»{³gEEE: g>§¨¨(tÍš¹sæ0Ñ„ôyXÍ|ûáH§ZW§.]~ùå—¿Ÿ<Ñh4+W®hëÙ®™£ãÂE‹N8Q¯Aƒ¿Ÿ<‘Ë妦¦ŽÍš={úôСC¾ýûNŸ>ÍlüüüêÕ«ÇâpâÓñÏŸû¸|Ù2 Ars?®\¹"þáC•JU$‘ÄÇÅQEcäçç/YºtgT”J¥ÊýøqåòåÇ¢£ë7hsåéS~?†aG¹}÷ÏsçÎ:uêtèÐ![ÛÚ>d~¡¿¤[·nû÷í³ªU«Då€ÏçËår˜”E«;P¾„Â5jµcÇŽI“&;6**Š$I˜Ì XáØRSÞá8žò.Ù»{ÏcGyµïHWë‚ÚʪÖÏ~†­ÿ£\.ÿõ×þW®^qkÙR¥R²XÂòÜe FóÇܹK–.™0!À×w€¥¥EzzÆ®];7j8uª6'•V3i@7è<]æsôÕÛýt’.óz î]­[·.-6J|I’^^^;vdÚgô+”=xúË9xÃfý6¼…9Ô2øSš+H©TNŸ6mmØÚ>}|ÆŒ[§Î/Ÿ>åŸ:uR*‘ë ÀþßÉ*ñO4Ãu"õ.]ºÜ°aÕ*æÅÆÆÆëÂÂ`"“ ¥Y3Õ÷ÿ iµÚ9sæŽ=zþ¼yŠRð¸ÜÜÜ\ssóôôtZ]cNªÎ“$éäì¼kçNkkkµZ››ËDÂáp8kÃÖvíÚ522’¢¨a~~´ùy‹a†aŸò?™š˜&>^ËÆF'QAäädz©T”D¢‚ž={À¥Þ±c[iBQ,=ý½\.c.˜Ç_F¶ÎŠjР†at‘4—››{ýúu???ƒK¼òÄb±Þ¼ymii‰ ¨þA]i’à§"Ç©R~Yµ*îA|ìõk…b±UÍšS›5sün룠(š‘‘>jäH¦$.QQ ÅQª“ärùÌ3ïÞ½{éÒES“.]º´iÝZ'J±j ðg Ï-\X¿<&0èÇUk¢ÀZ™0,#héÒ…‹YZZªÕê‘#G,\´¸IãF*•ª  0ªM—ØV«Õ“'M ^VÛ¶6Zºd‰²Ø8&Â¥E‹‡¿ÿ^£Ñ<þn­­vIÐÒÀ© E çµkÖZXZ$''Ïœ1¦˜ÒÓÍçñºz{‹ c…ˆ¢¨§OŸÁ¶‰‰ñ­[·ËŽYÚ#QÅ0,//ïÚõëj•Š ­‡G“&MÊÎÃfÉÙÙ¹}ûö/^¼ Wõ:tèP±½×ð5èï)ÙÙÙµ¬­iÿXÙ¢+îþ½ªŠkøQ>ú¼mmÑß  #±MëÖm=<>N‘$¬_û}¾ŠZ­^¸`rô¨………J¥b³Ùe¯ •JÕ¯ÿ€ŸŠEE]½r¹´ïîû?ŠÜ¢ã™ÎÕ®?Y_•†[ÒZXHò_«ÕB 9‚ p‡©‚ ,,,h!]bA;;;;;»Ï×jaÜ"(N¬plÚTgööö0å¢(×¼ysú^€³³3=6˜¸ñ…ŠEQ­Zµª*¾Ô²ààµkÖp¹Ürnt4ÆY«V­þüóÏk×®eddxxx¸¸¸”slŸ‹jBm &ñù¼S§N7mÚǰò˜Î‚˜˜˜TÂoóÝÒ‘#G´Zíˆ#Jükqº—aáÈ@?°¥ìâôÌ €/+ã–ò(dúÀ;%6¾PÐVÉC˜Oƒ*KTd¤B¡¨[ŽÌ5kÖ¤­u²iÊea–¯i4Ú&Mgfe™™šjµÚòäÅ“äJz)ŠÜœì´Ô¨?r8FÛff¦\eÈ@?a8N‡+©Õjº]v624˜Jè­KAXYY½yûö«Fß|÷:8 3mX,ÖÉS§¼»v…øÃ(ŠVˆ d ïÙyPå¤R©ÄÝ773Óÿ ÌWŠñ#ÏÉÉ.—;©@yMÊàádNÀùóç]\])û[ß顳bþ`Iâ¬]»æÔ©“‡.;”Ú@2¾)QbqaÞÇÜ*OKÙµ£ÔœFÞ%¿-1ëásvI¹:ʆâ¥]ZýäÉcXm·B õ‚¨Tʉ'ÅÇ?hØÐaëÖ­°óK …âÐ¡ÃææùùÛwì˜4aÂÿåL Düj£r®Ž¬¬,­V[ÓÊŠ$Gð5H¥F% IDAT»œÓššZ¯^½Ý0E~ü˜'‹4hðñãGkkë*A\‚ =Ubý^ E‘ÅóU Zfåxþ]±Î@ßÛÖ]¿~ýÛ·ïhµZs ‹jî]*•1×¶Z­Q*••Xh(Š•½QüŒ›C±2r¬iu©´kÇKäêêÕ«ííívïÞ}øðá5kÖlܸñGw6l‹ˆ€ŒR©T ¥’[:þ-­¥R©¹¹yK·– 4„¦¹ŽïA ÐÁ“Z­V­V3EŽã·oߊ9sƶ¶m£Fä ÅàAƒô1·y<žJ¥ÒA/g±XGÆ@—äñx(ŠÊd2ýÍZ.—ß¼y³_¿~=›çñx}úöÍxÿ¾P,ÖÿkZjÚŽ¨H@ Ì›?ÿØÑ£::8'@¥¤lâr¹_I9Ãf³ß¾}ûøñã‚‚¡PجY3'g'@– ?Q™0 £ñti‰[m<ÿb±XjЉ¸g ÿ Ѫu›”wÉߤw:A牉[·n-‰*÷(>Ÿ§ÑhJ«ªð3 l>—™™™š’RiUAcc#ýd¸3gÎܹs0tèÐ5kB\]Ã0‹³¨iO8‹Åb±XeðŒ$ÉÕ¡‚tíÚÅØÄ$7'wãÆÍNNÍ&Oš¬ã¤ …'MÊÈÈÀqÌÂÂңLj~AÒ—8ŽŸ?!pj`“&MŽ=Ê.)ôÃᬠý}ôhf…EïÝ»·k÷îÍ›6Á ##£¥AA9ÙÙÛ·og´¦5;;»J+PLøe½åñòÕ+—.#FŒÈÎÎæóùúKEÑ[·n¼¼¼Êo|Ñ´Š*4óùü-[¶>OLìß¿¿cóæEbñ¹óÎ?7ïyúÒ4lØ÷@­R5jÜØo˜_½zö4`YõðüKˆ$ɦM›þÇÐo Äüè´Zí÷cÅåpºwï^Ð­Ò ÊAƒ‡”VIè§Ø(‚ìÞ½gj`à—?ªgÏž:¿|úô –¹DDTY 뛆ãÏž=µ´0Ó$B¡ ´“l6›½*$¤nÝ: ,Å)#FŒð÷¹mûö  …âÃîÝ»÷ .N&“åå}<}:¦¿ï€#‡ÊãPB(”JsssZxEÁÌÑä·o¡«“i§æçç'&&Þ¾s»G÷€ÄÄÄ×II)©©x18%Ô…á©›Ívrr‚¦ŽãôÃi)I£Ñà8®¿Ýc†ã8t0½$Iòuý(½ÁD"¬RQ…™Ï¤šè»`µFÃð„î‚~#ÉœöCÏDDDDÚû´S§NÑ} øÛªU+7lÜkŸ0lH‚6|x·nÝÖ„†â8žø"1|Kø¶ˆZ«žë¼#¼…~)žÐ¿@þYGó„ó±ðJ¨žBæÃâ:GºÊ©Ç[YYYYY}ÑŒa·nÞ0l )ªÿ_ýü†}ù£4Žáhff¦T*aö6³hÁEZ¦Sç.£ÇŒ)ñ¯£~WÂ2Âñ¿ÿþ;;;gË–­€QaAýûtïÞÍÛÛû[[£ŠÍfQ§NÝùóç ÃÃ÷îÝ;iÒ$µZ¢èÅ‹ïÞ½ëëëkna1aÂIQŠ¢±±±{÷îËÌü`mcº:äíÛä»þéëëkfn~åòeI£Ñ 6lß¾}=º÷À0ìÐáÃcÇ›={6Ša‘‘Q?B1,`üø^½z‰D¢9sçF;–½pѢׯ_[ײªW¯ÞÉS§®]».-˕ʻwîôèÑ#lݺ––ôø Åô™3ÿ¼{·AÆ«CBLLLà‹‹D¢ÅK–…††^»zò'!!!*jçë×IB#ã ¥‹íììék?zDGK|úôé·AƒÜÝÝjÔ°>|Äõkמ?·±®¼,¨…³sm[Û”wï{æÔ¼9-)ÙlöŽÈ½{õ?~¼\.GQ´c‡ŽÞ]½™@’ÕÃsA2³²V®\™œœlgg²j•¥¥%êÔ©›·n‰ÅE99Ù..-<ÛzÆÄÄd|øÐªUë9³gY[[×oÐàS^^¿_mÞ¼Ylì ©TúÛoGùÂqüîÝ»›ÃÃ¥R©Gyóþ¨Y³f½úõÇŽ{êäÉ véÜ™2`K¨|†þ×58BžjµÚ¢ª ýÈÀ=zDEEÎ;çééù£:!P477'-5%5å]vVæÇÜœ¹92ÒSÞ%‹ò?•èTär8Û¶-[¶ 0bãiœ™3g8~¼4EQ2™¬{÷î/^¾¤k%õíÛ·cÇŽ—.]ºrùr‘X ÅÌë7oØŸøüùœÙ³/Y:dÈxÍåK—ÄŒƒd‚$5jT¿~ý˜Ó1™™™"‘È£ukh-%$$Lœ8ñáÇ1§Oß¼u ŠÇår—-_îééwïÞ˜±cBBV³ÙlŽã8¶s×®+—/çççûøøðõŽð½»v‹»ß¾}û+VÒîÌÍÍCCC.\ø"1ªt8ŽÇÇǯY³&!!a[ÄÖµaëjÕªE_Ã\H(вÙì©S¦Ü½sÇoØð6þy÷î!ƒ###Y, ¾ÃY,€ Û·m‹½~ÝÌÌìÁƒgUHÈØ±ãîß»çÑÖcùò\.—Ëãq¹œ‹/®\±‚îÇñã'NÌž=§ÄÉ Žˆˆ`B¡(šð,¡sçÎr¹ÇñëׯoÙºõàÁƒ°ÐPuòœÍf¯]»v”¿âóçþþþKƒ‚ø 7‹Å€Ú±5öúu33óØØØððð±±æfqÀzöIò¸\ÃÏÄÄœ9sï¯{R©T*•‹Ž [{#6ÖÄÔdï¾},K(þbkûàÁƒîݺý´é?œuK~ ‚.+Z¥ûÂaQ Ne°°¿2ÍŸ¿`òäI§OŸ611 [÷# (Š*Š•«V¥§§“Ñ­{÷‘#F ¥aöòåKGGGPàQÓ¦M#"¶– ç ëÐwiÔjF#‘H8 £Ø»g¯3fdçä`(š“]ĉ„Íf3Ž “ÉæÌž3ÌÏO&—¹¹¹q¸\øoïnÛ·o[°pV«MJJ¢•(P7mÜ(‘J{öè±hÑ"EµZmÇŽ9,íûcèOËåvéÜyÆÌ™uëÖ,ìÅ‹ûìoÔ¨‘ÿÈ‘µÚÝÝÏçoß¾‰W¯‡¼ÒoËd²Aƒ1ÇF÷¥ÑhÆ_«–Õî={»té2lØ0©Ly¨3YZ­¶Ï­[·bccu&ëåË—ÇGõ/år`÷®]ÖÖÖ'OÚ¿o_FƇ]»vI¥Òê繟߰fŽŽû÷ï¿÷×_¿]"ÏKlk4šAƒÉ<¡×—Ë4qbvvÎÑcÑ~ÆÑ|6Àæÿ”~uô}ZÚÇÜÜ*1ÓK<Ϧ(’N^`R™Ïù,£¹\ž“ (†¡Vµj;Ó˧/¯tˆŒ¯$­Aîþ¾£ÎÝ{ °¨Ûút|¬WM~•{¤RSÞU¡ÃÇñû÷þú}l@Q‘ø?³dwíÚUŸ?|¸Ÿ~Q33Sss ¥JuõÊ%÷V­¥éí[7† óËHOÇq<11qkÄÖ>}ú >\ äææ†‡o~‘˜8þ|&ÈEQÌ%’$µZ-S'€É?&…CóæPÑm•J…¢(”vtfózîàõ0&êhµÚ·o“#¶EDlݪT*q‡d~)((P*•ÖÖÖ:Ï„qU$I2«FêÜËb±`è;*sð°GXŸ˜æ¼žvØè´á‹ÐÏÅi`t_ðí ?!õ?7Ç333W‡®vtl6uj •••L&;xðÀ¹³g'O™ÒÌÑQ† N -(ƺ¡“ª“çÌa@;X Lž0Ûp<4O˜k EQŽC”ÓðâÝÂþðáC-kk›-—Ë3ÒÓ]ÝÜÄ……ÿU·Š¢–5jædg}Éaص«Wzôì­R)ËÃ( ÃŽ=ráÒ•£G+ Ï–\ÏT÷° ‘ËåéééM›6%I‚ásD³³2qOy—ìݽç±#‡¼ÚwlÕºÕñèh KŠ"kY[ã´÷ÿ[;“E“fþ¥5 ÿýƒ®ÎþªìH™'}ß7ü¿u„¢Oÿ~RÃÒ¼¤~6²AqÐÙ·OZxuéòÕ蛀úN];¸Œ‘çœq1ç@¯Zß¹t#¢n:âBQiQ}úôéÓUÅ$"‚ %&Š|¡ÔS«åY8¿<ò[Ÿ[Ea8öìɱôë룮xZ¶R©¼yóæúQ}…ƒÈ@b3p{8pàöíÛÇŒ³*$D.“=}úôLLÌŠ•+·„‡“$ù÷Óg[·l133[ô×_õèÑcÞüùÚ·ß¿wïü… CC׬Zµ’ÐjãÄ;{¦°P0! ~½z1§cD"ÑÌój׎¢(•J…"ˆJ¥ÊÈȸïÞƒøøÅ‹—\¹råÚµk,ûöíÛr¹|ÕªUW¯]ÿûï¿4l˜›““““ƒ"ÈŠ•+uúÒhµ Ïbc¯s8\™Lfúo„}b±XK–.]´`AzFF%„ÈÄ 233£££é<$I¶óôœ3{v…b¡…ýðáÃG;–Ífæççóx¼Zµ*¤UavàÀ•/V²€~Jºqã¶{K·V­ZQ…i²²Þ=øšœ0ÀÕX¡©pL\õ'P ‚Ò–‚ úË ›}âÄ__fŒ±a—1 TåÄãñÔj5‡Í>{öìàÁƒ£¢¢X8~íÚ5XoÈàÁ5kÖ¸»¹ŠÅ†=xð`Æ J•jÑ¢E]»vY»v\¡XÌb±~ùŶ–•ÕܹsY,V:ux<.Ó¨U«Õüñ‡R©ìÔ±ãäíÛ·ùòåáÇ5R¥ú”—÷IIQ‘V«åñxú})ŠÅ‹S€¹þW¯^-***m{ÄqüâÅ‹vvv]ºvÝ·otÚWÈó*“ÉÌŸ¯V©Îœ= 宫«kPP¬äV!C—$ÉììlQ~ ÂÕÕµC‡*•ªOŸ> ¨˜è¥(jòäÉU¾hò²þúcáú®Ýºþm ãñµu ƒ`Ú2«áh‘Õ&ç$RéHŠ"½Ø= P‚nݺը$ÌÎ’?!>ùòå~Æ]¼t бC‡ÿ»È Êcaaa%¿äÞ¯g ÂçóY,–X,ðùR™ì»ÒZ D(jµZÙw6¶ÿ¶iø½­Õ—wîÜièà@$EQu~ù  ¨¨ÈHXØ–pEýƒL’’ â@E?„ý»]¢Ü¢( ‚÷ÅÇÇ_ºt©E‹–––©iiZ‚øÜŠþPýï¾(à){‰€ÄúæõùóçSÓÒ|||ò dR©§§§±±qE5gΜÂÂÂ7oÚÕ­»jåJ+++$Õò¬[EáY5¶‘‘‘¯¯/I’±±±]ºt)ÿ£ÐŠÎñ×X:$j «5B)Ý»bì+1°ñ?Ü€J‡×WçªV©ÌÍÍoܸuîü7nÜ277W3p£Ê3½‘£­‡G[ò¨„|>¿UëÖ¦¦¦•ü—Ü[¢« Ã06›ÍápX,Vå6VAärù¬Y³êÚÙ)•Ê€‰¿ŒEQ6»á8Ž''¿mݦÍôéÓË9¶J÷õU ¹p86› ~ªg„i¿:×ê÷Éÿo¢ôp¹\‹UP¿qãÆÃ‡Œ5J&“ 2ôÆÍ›:vôhÛöÒåË%ºQ ‚h×ÎsGd$†¡Kƒ‚úôéó9œÊÎbèûÚ%QÅÂøc^›ÍîÝ»wýúõÿþûo Ã`ŒX¡H„ã¸V«-±/ZN›šš¶jݺŒ3l…BrðÀ-[¶ø 6nܸŠJkØ‘P(\½zµ§§çž={¬­­+zNë=NNNuëÖMKK£ËÃ_¼x‘† ü*û+- 5$àî±¹KbÒ°¼¼¶3|Ùâ3`±X8Ž“‘‘\8޳XlýWV*•999YYY………¨tŠD¢¬¬¬B±n+úÃsrrhüHØ&âÓ§OYYYùùùEeggËd²ŒŒ fU"ArssåryVvvNNV¡P(rrrrrr Š¢:÷RUPP™•UPP@¥t_e,Vø!¥¥¥­_¿ÁwÀ€N;û ±wß¾üüü=Q0T$‰D"2‚ÄÅÅÙÔ¶yý:I*•*•Ê\.שGG›••+á$Ivvv‰ ŸÏïЩS%*—óx¼ÅK–nÙ¾yófý*«¥ ›Êõõõ|ùùù{÷îõ>¼Sçξ¬ß°ñýû4ýÉB¤°°03333++''G$ÑxËÌÍ1;'‡†_†ÏÍÍ-‘íÓ¦UN “Ëå•Û¾+þ³y'){{ûæNN^^^&©Õš˜˜S@.—ŒoäàÐÛÇgØÐ¡žAðx~ÌU(IN œêàÐ(éURèÚ5ÆÆF&&¦r¹EÑóçÏ~=º«·÷‡ŒŒÂÂB×ÕÛ;7'gÿþý±±±ŠòxÜ€ñ»÷ìÑjµÁË–>œÐ111iáââ?rdNNÎǼ¼vžžãÇ‹ÅÛwìÈÌÌÔ¶©=sæŒððpúÞ–-[>yòd÷ž=G"‘Nêêêzúôiº¯áÃG84lXšÑyÿþýÃGŽ6,dõj‡SP :xð@ð²eÓ§MsppÐ?ŒW*•ÓgÌlß¶Ɉ ˆJ¥²·³gáŸA¶)¸NØl ÃH’„˜‘×®]£îç'aÆ),,lëÙ.|ó&èR[¿~ýž½û>ææÈår ÇqT† 7ûÙÓ§PœÃ$ˆG#þ ’9†a2™ ÐFQŸÏOKKójçõ-PŒ÷ s`b„KX†ÐjÕ ì+++‹ÏçaJá0`/ðbˆ^ŒF£a³Ù*•ª¢.¸ÿ»>Y,Öëׯ7nÚܵkד'O›››©Tª3gÎlÜ´yØÐ¡mÚ´aöÈår,\ˆ ŸÇÃY,Ž7hÐ`ĈL”±k׮͚=ûò¥KõëׇjÓ„‰ÓÒÒÞ¾~](Óæ;ä­¥¥åž]»>åçÃÄÃðÿ IDAT ’€¥ ™<”Éd<O¥çbs8|>_«ÕÂ?ÑФ? ÿ¿!‰‹ÄçΞ¥à´Z­R©„BH©TŽ7žxÂŒ,8eºÍçó£"#1 Óh4‰sýúõ°¡T*õÛ€õë×çææÆ^¿S°Äb1l¯Z¹žÃùR«ÕãÇ œ*—ËËî @?çÿN I’ôø+1ðúŒ r2 …ñãÇÛÛÛïÝ»×ÌÌL,/]º´Â¾½Jˆ¢*_F< í̱'7í¹§ Që~kû±±/2¯¿¡°G$55uóæM&L011ÑOÀ0ÌÛ»këÖ­9lö»w<´iãÆÕkBÿ}tçNŸ?~æÌÌ 066¦ŠmcccEccc[º¹ùûûK%…B±~ݺK—.:x0//ïte’ ]½½]]\ }||¦L™òøÉ€ kBC)ŠÚ~÷îÝ 6\º|ÞËb±6‡‡¯\±ÂÅÅåñãÇó,¸tñ¢N_¥xV±X¼#2rïÞ½¶¶¿ÀÍÍͽ¼¼þøcîöíÛ±+.(о|ùÒÎÎE—/_¹¹µ¤5M±X¼nýz@pààÁÛ·ƒbɰ°u¯^½¬mk;gö,Šá[¶‚ãÇŸ8~œÞÖiܸÑÓgO½½½y<^Bb¢©™™¹¹\.\dzwëæëÛŸËåú¹cGXXX“&Oœ<¥V«Gùû»¹¹!’••ñ1/¯oŸ>¾¾¾(ŠN›>½G÷ûöí hÓ¦Múr¡>´:tõš5k[´ø¬Þq8œAƒyxxüþûè¦M› …Âz¤(@èêÕjµúÓ§OaaëŽ?>bÄší(ŠöêÙk÷žÝë×­' rßýݺu;xð Ô´"##ïÇÅ …  6‹ÅS§NEQ422òîŸ:6uœ:u ŽãqqqÉÉÉ/_¾,’HöïÛâççÁ™!i4š¨QçÏ]ðl×vBÀ¸Â—úQøÿm­#} ǬŸÆüŽ˜¸¹L Wf-<½*» Í::ŒnS¥P(˜[ \™´VF_Ìç”ç­KÄ®fÎÃ%äíííäätçÎß~û–Så—V>ÃV*•ªª&-ÐØ{™Ü;y÷ƒDÃ7©¹rï^>õ%Ô©¦PmtéÒE‰D¢ÕjW¬X1mÚô&MšÛ‡º‡oß¾mçåU¯Aƒ‘þþ°BRRR‡ö E‹-JHòcLªZ­ž>}ú³§Ï¼Ú·^¶A¸Ä• ]᳘$ÝÝÜÔju­Zµ”*‚ ¢‚‚zvv0íÒÞÞ^$1ïEQôa||¿_­kgç;`@ZZšV«Õé«Äçp¸‘QQãÇ@iͬØèââÒ·o¿311ÌšT°îÂÁC‡~í÷k¿~ý:Èfœ/ùý÷¡C†lß¶ B— …Â1cǶoß~ýúõ5Z³6ÌÂÂâŸkþ]ZªqãÆ,œõôé3’$îßû«•»;ÇCäæ­[¯_¿Y¼xñœÙ³¯_»–ðÇñ»wïòx¼K—.=w.8hië6­Ã÷@àÌÓ11ŽÍ#¶nU«Õ23?dfÒüŸ8q"›ÍÞ±}»ÿÈ‘4˜y^^ÞÞ}û~8pÉâÅ÷ïÇÍ›7Ï××wÉ’Å=zøð!ì‹Ëå&%%:|dö¬YcÆŒ‰ŠŠ’H$ …"|Ë ¥KOÇœ¹|ù2Ç»ÿþ»w6lXß²e˪•,ëtLL¿~ý¡´fNÖ/¿ü2fÌØ¨¨(fiænNQT5fÍšyäèQæ*Õjµ½zõL~›œ”ôºHRôן2D£Ñp8œÕ¡«kÖ´ZâÛ¿ÿ®]»d2™Z­NHHQ;w>KH[»–Txø6›ý1/ïÈÑ£#GŽX¹b¥J¥zôø±Ž…­T*?~ü¸nÝÚ„„ç»wï¡3?ÿ ôs†Ð—1 £b+$­? lêsͯr-J'¬b22¶°^v] ›ƒª‡;Ypy‚/ybu–û·À¾äéÙvâÄ Íš9Ö®]»4–Š‹ŠŽ;vèàÁ„gÏ¢‹Å$IÚÖ¶MzÄÂñôŒ fZEQ,/**Â0,==FZ𛛝]»æîíÛæffÞýó³I]|} šVñ³„Bá§ü|­V«Õj>}úDRô½M›:Þÿ믗/^$<{{ýºH$*±/}Û§O¦ÎN_éííý >ž^£ÐùîÝ»„„„ êׯ_?!!!%%FÀy<—Ë566†æD"9røpƒõår¹Ï_ý>_£wŒ=lذݻwI¥²¤×oÜÜÜàÁjçNÆ ÚMÓÞ¿‡ŸŽã—/_ž=k–µµOïÞ©‚:9;;wíÒÕØØ˜ ˆ!ƒ<˜v–ðy<êÉ\iµÚäÈfÍšÙÚÚzyµûõ×_a»U+÷쬬ϟ+E)”ÊE ÚÚÚ¶õð`±XÐÝWTTÔ«W/›¹sfÃZ½`þ|SS3&øs•†aãã»víZâdõíÛïúõëLíJßÁhmm C˜¿kµÚiÓ§mذ>áùóú ÀÐ0¥R¹há"/¯v*•ªIÓ¦EEEŸ0‚°Ùì#GŽ,_¾ÜÂÂbÆôé—¯\†©DC‡ qph$ðe2ÙÁjÔ¨ÁìE Œ07·X±bÅáǘJÃÂ}ç’•/T•†F‘ôöÃÿBÂ0ÌÆÆ–¼£ÿTvx,Ê (诈-š˜˜X¥9‡§Ú4sÜæÓ½',ß8ãW–øÂ‡V(I® ióæð¢¢¢Ù³g5kÖ¼Œ-…ãæææ1gΠ(šQ¦Nº&tm‡Ží32>Ð_pôöî¼lY#‡äädx2wéÒåü‚|Ÿ_T$†õìëmذÁÛÛû¼\‘ËåŸwU‘ËåNÎN·nßÚ½g7 @zzzÿþýI’¤ïµ··¿$(¨Y³f*¥2¿  8(èäÉS̾JSäryizÇ£]—ô/›ÃÃ]\\à)ŽK‹›7‡oÙ^ZÌ$—ËݲekBÂ3-A°Ùì¼¼<A¨R|\A´lÙ’Ãá®X±¢aƒµk׆)99yÿþý©ðþýûßG¦oQ(•FÆFE±Øl’$á›Í†:(wì4»Ø0E”ná2??.—û95¥øèrP«ÕB##¥BA…H¥Ò¯á+RªT|~É“Åçódô²)e.ž•¡G¶.lݺut^‹Å:xèРA¿Ñ¥¢pÿí·‡š?>Ô0´Å"¶­P(‚ƒ‚¦Ï˜)“JúûúÂÍš5_¸pÁÊU«Þ¾yC‡®ÀëI’¤_ƬRÕºuëë±7\\]mmmëÔ©Cû `ðÑêÐÕ­Z·177_¸`P(ÌÏÏW«Õ ¸sRRRݺuÿIyBý8 -éUbÞòY·…BáÈ#fÍžSPPЫWÏQþþæëÅah4šÁƒÏ™;·wïÞú“µdÉ¢9³gÿëäAø|~[OO˜¸èää²j¥ƒC#¦°¤Q/þYØ¢T*5Íøqã‚—-^¶¬U«VÌõ£Ë/Z£¡‰|íêÕŠ¢=ˆD¢I“'oÚ¸B~W¤R©2ÒÓ]Ýܤéí[7† óËHOçr¹ë7l`³9óçÏçóùO"‘Œwww1|¸¢¸¾ „G€'7:99´_κ™?J¥Ã0.¨ÑhX,–L&CQ”Ãá`¦ã·„×3 G@ݧðzŠ¢‚€öSgOŸŠÅbè‡ÐÇ0Òž~ŽD"Ù²uë´À@¥ùLúzÌP)Ño ©TJ§*A#Fr1ߺtž_µ~ ·oÿþ'OžìØ) a²œ\. Y¥Õj§O›'‚éC¦aUH’„*Q‰ï®Ïv8Mp= ( V¬\ á´àŒ$ •*æsâããÓÒÒ ÀŒ~€µ¡ 7ˆ™ióñ¿:éǵ¬­9l¶\.OIyçäÜBR$þQÀ-*Jm=ÛU¨,GU}Qýúõ [£P(9á¬Y³¿`‚ ‡ìëбs«Ö­ŽGG[XX@kÊÚÚæ lŠy÷ph_¿……X·þ&.Ô¿‡ë¥ŒÅò“©¯¹ ¾†ÀFÄØØ¸ ,ñ¢¢¢Šš"" ¥Réwè—+Q`Øž­……b'''/‹<ˆkåî>bøð U£«âr¹áá[^%½Ú±}ûÿ{çñx0ô¿auÁÈ»ÄÇ?lݺ‰‰‰B!OHxnjbŸ?{Î}mÖÕI‚$|Q‚ùÐÙ¿ ½:µ«€¬Ëä6N^¤å¶¶µ wظ)[^~{q9ÍÖ ³‹ %à| d ¨ ìi›Íæñx0™M(ÆÆÆÑþBÿ~†tEø\.@¡PÈ|Ìúƒ×£(Jcæp¹\³¢¡O# ÃBìt0xÞÂ|ˆ ‘$ùòeRQQ À7…¯äXu;7Àêý¢B »üxÓ¬ñµ Õê“2€aHƒž‹NmÄ‹O?,æŸP©Œ#OÄ `d]—vaÁ”çËúøñãôÓÝ[µêïëûüùóÀiÓ”J¥C£FóæÏ …ïÞ½=ú÷–nn=zöLJzUPP0kÖ¬àeËZ¸¸tõöŽ‹‹³¶±‰>‡°™šš6wrÚ³gw[OOO/¯›7oÀŠ´›6mîСCë6m6nÚ¤Õj½}XXXë6mºzw½}çΪU«Z·iÓ­{WIIÄbÓæÍžíÚuéÚõÖíÛ†ibŠ¢9AMê]â¶8p¾ióiJ.äŒé[Ю·5%Õ$\-€ƒê°ê0L¿•l˜³eKÅqœÃáp¹\ˆ‰Q¹ç¤¦¦FG×jµW¯^ýJHÐ2¨ÎÍtÐ5N¾‚€!p²hKèk3¡rlGD¡_¼x1>>¾4(+6›}õêÕjºªþ%ô…s¢Ÿ—_||¼@`tïÞ=èåŽÜ±ƒÏç§¥¦®]³† ˆ˜˜˜5kÖ¼}ófãúõ!«Cmll6mܸ,8øå‹·oÝòððÈÿôÉÜÜœæŸÏçñøq÷ïïÞ¹3$d5‡Ãy÷c\\\ÜýûZ&îA<€Ëå¶tkùøÑ£åË–O:µmÛ¶=ZºdÉ‚ LLL>¬V©Š/êÚÇ Aðôg³‘–}YR)/Ü™ðÐgÄ€V5MÊ?qe@èë-²¥AAÝ»w›8qüÅÖÖ¶C‡S׆…éÔ“@$33óÍë×´i"g”t,((P*•"‘È‚þÈår¹Z­FD °X¬‚ü|QAA~~>Ç£óA‰D™™2>dÔ¬QS¥RÅÇÇ+ Xî]«ÕÊd2’$9Ž@ ŒzvjµZ&—|>\Þ"‘ˆÃá( 3338<:Ð:o”J¥B¡À0L 0ËÑ‹D"_G(A·q§ßQ$q¹\ø###ø …ê4¾·T*ET­VѬ¨*iºf ›Í:wî=Y-[¶Ü¶-"dõêåË–éTçE„¤ÈèèÞÞÞOŸ>ëÑã_›$I…Bñða¼Sóæl6;###óÑH_2 ªS°.Í®²ß.:tY*•Êårhß3çB.—«T*8P´¨T*Ø;äy‰c ç×Üܼ°°âƳ9l¡@ÈtÎA`yFC$—Ãa³Ù2™Œ H.—Ããñ œ3‹Å‚àµ|>ŸÍf#B„†±Wpmp¹\¹\.J ÉþzÄb±¤’¢ÂÂB E>~üîÝ»N;" ´EQVVVÿý·­­­‰±±B¡€Áh”ÊdàßaNEýK„3ë‹«È@ˆ:.—›’šzêÔ©€€PRÝÖh4¾ý}wîÜ9cút¾@°k÷î‰'"’ùáÃO¸—b† “é$I¾yûÆÜ¢ÂyØAAAU2¦Ñ]xµ]§œzóç2 5Äæy xv¾þhkžŸ[¸ “fí eUPµ0¸Ä«y/¸}û6‡ÃÒšYjóæðÁƒ=KHhÚ¤‰NéLS§tGPppffæä)SvíÜ Àpüá£Gׯ]ÏÊÊT(•;vå?о&|óff†‰@(lÞÜéaüÃÞ½{çææ~ÈÌ„?ÕjõîÝ{’“ßÊär.‡3kÖ,ggç¦ŽŽ©))ùùù‘QQ¯“’(7j<~ü8 ‹zõëO˜ðêÕËÍ›7+•ÊÀiÓÎÄÄ@õEQ‘H´nýº‚|Ï ?¾aÆ´ç …‹‹¿¿JJЍ  ‡‡V£IIMÍÏ/èÕ«§ÿÈ‘ÑÑÑ€ßG®W¿þ”)“ß½K),á×·o¿¬ìì5¡¡©D«%z÷êåãã#‰|úôéÑ£GFzúÁƒ«Ê€aØÓ§O³²²Ž‹Ö™¬‰'=yòäÎÝ»ÚÿS¹:Ã9ÒºU«~}|¢ŸèÔ©#”Iô®®®>dæååÕ®]ûÁƒNÎΗ¯\AäÇÑÑÇß¿OS*•vöv“&N²¶¶vlÖ,+33ùÝ»2Þ÷СC‡ø  žFý½«Ž«*ùâsóð(%cumW1pÄnôg‹«®µö®®kÇÚíÚØ eÑ^Þüý1r½¾‡n™ëýþágäÝ;s&îœ9gN¬ZEQÔÈQ£B«U‹‹‹ƒ‡ò”””•+WjµZ¥JÙ¼Kç.A,\¸0ùñãüü‚‘Íz÷ŽNKK³¤A˜ßÕ«WW ýþû>OŸ>eYnÂøñ^^^p¡"rðàÁ½ûö–)ã¤ÑªTÊJþ•RSSóòóíìì‡êã㘟—ëééñ2;§°°000pð A8Žïß¿ÿàÁƒ†YYYïããS5$$***ùÑÃï¿ï[³fÍO hA˜¼’¿ßí[·¦M›V¡B…#†Nš0qÑ¢EU«VtS«VX|ü™Lvüøñuë×/úñGµZ ¸víšÉdZ´èGž ,¼víZ³fÍìíí;uîP9@¯×“$9|Ø0x‚ Ö¯_P9 {÷îba”ç8++«ðºuãÇŒ)((ˆˆh´lÙÒ1cÆäçå·ù¶mßᅦâ;€½½}‡ýýü%'÷ëÛ7*ªÇì9sª…†öˆêž•õ4aúô† "âââ2lèP±âßëBöìÝ;xðR'kìØq11ýš7mª-Ù”¡°¸yË–-›6ÛÙÛ­^»677×ÍÍM\§µuýzõ¶lÙ2räÈ+W®ôïߊž†uìÔ±jp0˲˖-»víZëÖ­Õj5Ãwô×`0Ô D1“É4jÔ¨+Wnݲ¥¸¸&CäÁÇ2¹|öìÙ ¹üá£G0 [xxøèÑ£sssÛ¶mÛ¯_L©4ó °··ïÔ±SHHÈÁC‡fÍš½~ý:! †ã^^åÇ«P(-^üâÅ‹©S§*ŠeË–]¿qÃÇÇG­Vó'“Ë'Œÿ–¢éØØXN‡aØÑãǧOŸîêêúë† ë×ÿ:sÆt++«zõêM?ž¢¨O²—çy•Ê*66j5(Š¢(ªFÍuÃëB…{¹r?ü0A†¦;vè ×ëkÕªo"¬­­ãââÄÉÜôzý¼ÄDtE(Ëåò~}ûöåJ`4ç%&Âel2™,Ë€°°°ððpØFÞlÊà…ŧñÃFAÑþÓ—Œé\í·%cƒÊûNþig¾Q HêÕ!,²ëðG|…Ÿ÷ŸÐ,HŠ€÷ùëpRŸ<)_¾¼ÙQ –}||²²žšmOE%$$Lš8qÒĉÓ„[ A ˲zNpíåU~úô„*AA¡Õ«ïÛ·ê`á3–+;0°ŠN¯?yòä… :vè@Ñ4¤ðùó~þþýãâþ‡ H^^^… ‚$I²BÅ yyy‚$¬×ëa2а°0aAQ4ùñãˆFX–µ±±±³³‹J,ËÖ«WÏd2¹8;c8n2™\]]ÌÂH‘$Y%0Ð`0øV¬XT\Œ¢hjjjDÆE—+WŽç8Øœ‹‹‹³³³á½æ:Cäéӧ””T”ÑÇñ3gΦ¤¤6ˆhüÛo¿mݺ ¦"}=›4ݱcÇÓgNŸ:uÊDQ<Ïž···ß¿o_Ͱ°À*UæýðƒAw÷—çùråÊ•+WNÐÁP&dðfÒV·n][µmëo¾‰êÙK®Ã³EݺuM&“»››ÑdB(•³ù ÕëõM›6½{÷ŽØµcÙ   ™LÆqœ›«k`•*°ìääD‰NŸ4Mש[—å8+++R&ƒ÷/<ǹ»»Ó4‘šš‚ (˲õëÕ3 Ÿ6À>l¦™‡ÙEḠ8¶¿ šaàÚcYV°4Æ_¨MÈf+. õÓ4 ß-õ1¡ [1F£QâÖ¥rmðb‰¿Ç#"wž³õ–O™5öЮÓ"¶j…¶PxªáúMX¾`j¬JRn à8®L™2yyy0œXY >íííÌ€ðÚL0ØyG*™L6g°°Ù³gËåò¨=^Wõ–W¾ëÚuäÈ‘£F"0mÚ¼iÍš5nnn=š›˜(¨R©223àQŸïéé ÍÜQïôƒ•J%P^ÆÑ1íÉg''hýÏüˆ7GÃÁÁ!-=ÍÉÉI£Ñ †a”Ý‘ðéÙÙÙAõµådåææ–-[V¸¼€¿îܹcÇöm¯ÔžMš 6T¬¸ƒ@\ÿ¸„„„~øáÕ»(zòÔ©Bf÷®]j›_Ö­¬÷ÿ´¿‚À3Ü»-f¬­¬FŒ>qâ„]»v/\°ðçŸ6ä·Ó ,Ã0Ïž?³·³OMMqvqáß¼¸AÞR.}6KV&†aŽi4…B‘ö䉽ƒƒøöçSmh¯’ÐKÖç aYöm;Û'J¯)Z² :>Ùy°.;=éù…šÍÐ~ý@Ä蟦ÆbÿB¹-±ù Š¢:vè°fÍê1câåª0›7on¹„é§izÏž=P Î2Lûöí…à•3¼o3<Ï{zx¤¦>Ù»wï‹—/o$%AÉÐÌúõëÛ´i#ØïÀçY–­^½ú•+WŒF£Éd¢( :@ÛØØœ8qA‘ .`JlS«U9qòÄ–-[৤´þæ£ÑJöÖÌÌÌ™³f­ûåx¼ iºk×®‹-Ê|úTSX ôK,˦¤âú¡HÑ©cǥ˖>ÍÊJOÏðññQ*•EEEpÞû®Ý¸Q£-[6W­ZÕr²V¯^Õ©cG±ÙæíÛ·U*•««+T«Tªo¾iýÓO?9v ΗÉdjÛ¶m—.] ]üÉÎÖV¯Ó>|X«Óý¶kWïž=ù§ýݱc‡B¡hß¾ý«ó™xÚ"ëÔ©Óð#Ž?}y…“ÖêÕ«²²2‡ ,Vséõú™3f€’<âÌÚÚº_ß¾g̘>½°°°W¯^.\ÈÏÏ œ7w.´þ¹ÿ¾Xp7™L3¦O×ëõ Ã@P ÃúõíkmmMÄðaÃnݾMÄÁƒsss¡pÌ󼋳ËÀ¯]»4h ‹³³P”ðV®ZÕ³GÁɘeÙ€€€aÆݹsÇÛÛÛ»|yq¿fLŸn*QÞZ–kÖ¨!¦S(W­ZuÈà!wïÝ«T¹rÚµI’Ã{Ã05:tøðêÕ«úöí'ž¬ãÇýñÇ æÏ7jkk%X™ †¨¨¨Û·n  鄚Oø"ì¯Ñh EQ,=#½lÙ²S&M‚&÷†w÷W§Ó=|ø°OŸ>ÂüŠÇS€¿¿ŸÁ¨ÏÌÈ ª]»vaa¡Ù˜—Bƒ½½xü …¢í·moÜHúþûïkת%V¹Ãù‚4X–a=……pÁ–I’Œî}áâE­V;lèÐ*Uª[Òÿ‘5ª*•ÕOËW®[·ÎÒÝNÂç!]#/_¾hõMÛ ¿þRúz½þYV&‚¢(Šbæäì¼oÏî–­Û(Š·ÕøÏÂW•¤QŒ áiŠb¹7nÀ1 üã ©,˾ÍóIjŠ”î_Âd2efdT«^][¬=}êD×nÝ332P}ñâÅÄÉ“êÔ®3pà 2eʤ¦¦L™2Åd4&$$Èår±Ò[ˆ²">c™]ŒA­,Š¢ð'ËÜðOœh¢aµ– ‹A؈Q5è ­Û|sîìYxŸ-ü×SPP V«‚_·.zE\3|ñmå·=DÖ¡Bo cò/Uâ(ŠŒÆI“&Êdò)S¦x{ûäää,]ºäÂ… Ó¦9;;‹{dÖz©„™ýWÜA³iÍÉÉêuîìÙ¢¢¢wôºxY[[—Z§%âJJs³Å#þI¡P„T«vïî]œG°÷ýþH°a ëÍŒ6³ÅüÑ>Õ¬¬,gIêõú§OŸÚÙÙ†T«.…nýœ‘“]¦lÙ_×ýÜ¢eëša5·oÛæààÀqÏs.®îûîí}ÍÀ§ß½´|ÅšlZÝ©ÿˆÈwÀs<˜â‚© Ê%ÞS¥go‘Pø¿žüã=~c:Š=YðZɺ{åLðÅ=¸m :ˆS¿Ä­?0™LÅZmQQ‘V«î}?CRa„¬¯|Ð4­Õj‹ŠŠŠµZËïï(ŠVg8AÄÊy >KnýŠG²e*G‘š¢ÿˆ‘DÇh¶ˆ~…1ß%H A‚„·yÁ'H‡ *k²{˜½³g‡!KàÙáÞ¶€ïc¬¬piz$H A‚„7öÇçÙ¨Lݼ÷b_ f,ÝÐÈC“žžvñ÷Õm_p©ÑuPË2I¥-A‚ ¾zðÀh>ø'¤À/¬áÆ­+c¾ïסž£«WkìþÃ+ßFÖÌ p“IVc$H A( ¥÷éL-x¼zdô‰[Y;WÌiàY18aé¶”?v7ªâ$OÁ¯ù8Éó™L³(ÊårÉsTÂߨÚDZ3þ“@?áG PÛ;µ³ù·ý‡öíœ0 S[+!,…4=_—…Q*õz=Ì^ ƒa ÑHÌ.µ8ùfÐàAå½½õz}ž=•JåÛ~۾̗àÝi-Ò‡||’F-À0Œ0YB|Í¿2Y¥N„åD’¾çä䔺f>hšþl½!$üÇðÉ »Ìù²Ä§¿h\¼xñüùó/³³F£JeåêêÒ¬i“*U‚Ìv4‚ Î?_\T@QÔÑÑ1((H§âòåË•+W^±|EZZA–A^¼xpvvÿ¢¨ .T­ZÕÖÖfšJIIIKOoa– ñ1117nÔ}DªR©bbbÖ­[÷ £TÂ)¸uëÖÑ£GŸ=¡Óiår¹““SݺuêÔ®cö$†a÷îßÏÊÌäKøS“Æ…œ†8yÒËÓÓÛÛ&e*,,¼‘”T·N˼§ï‚”ºf>P[.^4lÐ@’é%üç¶„ÿH’ܵk×å«WÄ  Åq\§Ó;wnÙ²¥QÝ»Ã,“KV©Tƒ =j”ꎟ8qõÚµqq‚+0ÏóåÜË Y°x`IÇ9ŽÓëô×®_çy>ª{÷‚‚¡æâââÞÑ}æ%Îmß¾=Š¢F£qíÚµëÝýò…^¯—Éd‹À¤ ƒaïž=Ïž?‡JT’$yž‡ÙQU©TÇ8^¨ÑÀ·ÄaÑ =APE’¤F£8T*˲AÀØ,$IÁ0ŒA¯/..†Êd2 Ãq E1Œ¢(˜æEQ¥R‰aMÓ0صJ¥bF&“AiøßŸha|›3gÏnܸiàÀááá°‰k×®ýôÓ²‚‚ÂoÛ¶6‘Éd‹~ü±JPÌWf¢(ñÑG.—÷îÝ«W &8ÁqÜÑ£GG‰¿võŠƒƒŽãr¹EQš¦ ƒÐw˜àR.—`€Z­6Q&¹LãÀ+ N'çˆã8½^/ŽóŠã¸B¡@Q#<*U*‚$†1 0z¨xý°K’$Žã†ÁŒ®AÀ²@¬Ÿã8µZm2™`'ƒÞ€b(,CRdóæ°,<)„ÉlÞ½®$ùDÂß‚.@ÂûXF(úüùó»v­X¾",, 2Z•JÕ¼yó5kÖ.YºÔ<6Ï“$ùý÷ß÷êÕ«wïÞ Ó¦­_¿^l—ŸŸ?rÔ¨©Ó¦ùùûCÅ&Š¢:..n@õêÕ;u›ŸŸ?vìØY³f Ï"OÕªÁ·nß‚!ÌnÞ¼éêææà`µµëÖ­‹h^¯ÞÆM!k¬®V« ÅÊ•+ëÔ­Û±c§ääÇ‚tëÞ}Ĉ‘•U*Õ8 îAãǯ^£æ‚… 4h ޽_PPУG±ãÆ…ÕªÛ?6%55>>¾fXØÀAƒ &“­­mÝðp•JuøðáÄĹ]ºv­U»öü `ƒÁпÿ5kN™2U&#årù¸qã6oÞÒ¨Q£±ãƽ-Âÿß,F³lÙ²µk×6oÞ\¥Rp [¾|ÅÎ;_¼|i6YAºvéÒ«W¯^½zÅôë­Àþì]\\oݼ¹ÝÍ[·ªV Âóüùóç[µjU£fͩӦaªV«ë†‡+•J’$9Ò¤iÓ&M›9r”$I…BÑ aÃ%‹—úùûçççÃ5 nH©Pþºá× FGG¿xþ\`u8Ž?zø°]»vaµjý0>Lž“=tèКa5 l0è1 3[?(Š>|xÆŒ™;vlÒ´éÅ‹¦'´iÛ¶aDÄáß‹ujµºEË–{öì©W¿A“¦MoÞ¾µ{÷î 4mÖüÁdžíÙ³gÏž=J¥²AÆ+W®¬Ö±SçÜÜxDxǺúhJ{ Ö ˆÅ¬¥Ë–kfìÃó¼££cŸ>ßïØ±Ã2itqq±V«-((X½zuXX-!û“½Ý¬Y³Æ{3) f´T©TŒ=wî\×.]¦ÏpvvžÒ.Á&½½½ííì/^üƒeÙ‹/Ö¬QC.—#rúÌ­V·k÷®­[¶$ÝHºz튢Ï_¼ÉdÛ·o¿zíÚýûúÅô[²d ànݺվý·×®^5 &Š2‰X)Šù 0,{öÌ)µ:-=],*qwíÆõæÍš?v¬‚OÅ>ÑÑ‘‘‘'Ž÷ñö^¶t©\.þ⊢F“éÄÉ“ »wïÎÌȸpáI’³fÏ8}ꤦH3þB¥R©)*:söÌo¿íœž ¤ÿWZ5ß¾cGß¾ýÍ&K.—=i¦øÕétÅZm±V[\\l¦û•Ëå5kÔ¸té2ÇqgÏžqtpðöö<_TT´mûöµk×?v à—uëå2ìû­[·vìܹbùOËúiûŽí·oßFQ4==ÝÖNtã†ÏóZ­VU‚ ~ÛýÛ©S§·ïØÖ¯_¿Ü¼<±š}à ÁC† =qü¸••Ц(AÒ32"##;îáé±dÉR;;;³õ##I£ÉtöÜÙÄŇÌÎÉ9qâäÂó׬^µk×îÛ·ïM£’}ãÆõCöÿßÿú÷ïëÖ­ýû÷Ç3a™L¦×ëõz=¤_®Pœ:y²U«–£F¶µµ}÷ºzcÝJ 1l 8ŽŸ?¾Q£F ´L ááá7’’Ì’¼Éåòè>}úÇÅ 4hï¾}ݾûNHéÈÀÐ4Ã0ÂMgqqñ¦ õzÝï¿ÿnkgwõêUE…gÌôŠ4EõìÙó—_~ÎÉÉI}ò$44Š×5jٲŅ ®_¿n£V?/‘Ò0 ;uêÔ¨Q£HRÖ ~}š¡¡vºjppíÚu(Šâ8®}»víÛµTÁ$IîÝ»wÒĉ,ËõŽî ­ÙÅœ/´ZhDDÇq]»vñóóƒåÎ;=~üXÈtKST=ÜÝÝ­Tª°Zµòóóq?{ölll,ÇñÓ¦MÛ³wI’ƒ!>>lj÷ð›7oÖ­[·ÔÉjҤɹóçÍNW*•jô˜1qqqqqq=zö,..6ïohhê“”œœœ_Ö­ïÙ³']¢âž:eÊÍ›7Ož^Ïóü“'Oúöë{úÔi3NðZªTÆÇ•ÉH[[[••¼Êå(5Í;Ëq¾¾¾Þ>>ÇoÕºµ££#d7n$íÚ½ËÍÕU&“egg‹Iâ8Ç1³ÌKŽ‹Ssš·Â²°¿¥†¡FE™7á¯,¨ß$øuý"[k ÃX–Å1 ^‚òÏó¼R©„F=ðj–ã¸ðððsçÏW¯QÃÓÓ300)á4MwïÖýåË—µêÔuvvNH˜¦R©L&I’‚#SFFFåJ•Äê±ññcÆŒ ¬رCG3[°W4¼­Ìóð¦_¬€eŠ¢Æÿoü¨Ñ£,Xдi“™3fêõz’$ßïæNÓt×.]úÇÅ}ûí·bë*ØJB´Y³f‰ÓÞó”-[6¼^=ø€F£ùã?ìE9Âawd2™»»;pH³µµuDDDD£FÖÖÖ½zõJJJâK˜_ÕªU›7kÖ¡c'ÀðaêV­újXJFãêÕk..ÎפiºsçÎùùù7öööžž >,Ö ¯ó]·n…ýbúÙØØ™yiëçñç9. °rž½Š‹‹‡^µjUáÈ Üè[–…zÄôÃ1¡(êÝëê#ËÖÉ‘ššrîìiiËúœÁ`¥²*5b8¢×é²23PÅpÃ0'gç}{v·lÝæ½Ø£~†x’š"¥Òû×ìÙ”™‘Q­zum±öô©]»uÏÌÈËåëÖ¯ÏÈÈ>|Dùòåq7ÜŸ:eJ›6mZ´h!Î< ]e]1˲fŽ:‚Š¢J…¢X«%B©T€L&+,,Ä0 z@Š]ª” …¶Ä¶ekk«ÑhÄŽ=,˲,Ë0Lx½zI7nh4…BA’$Ïqú÷¡N·uëÖîÝ» vìPÑ””?vì¶­[…w1 –åb­Ò#ôðF•JÃh†Ñëõ<Ï[©Tzƒá=úøBÖrààÁýû÷Ož<Åßß_.—3 “ššº`ÁüòåË÷ˆŠ[ÀÓÀÚaXq¼µZ-Î'-¦Y&“Éd2žç)“ ÃqŽãjÔ¬yõÊxQÈåƒÈ­ ÖCÄŒ™3ûÇÆªÕjq,¹\.“ÉX–5ô,ûzµ¡P(1™LrË1·\?â1ÿm×.Ç»uë0 ¦7ݺà|Au·eY¨G _èû÷¶uõ>Õ¬¬,gIò<_ÎÃÓRË%á³EzÚ“&MšlÛ¶ÍÁÁežã\Ëyà $H© ÿ’‹×µë¾ýûæÏÿ^ò¡(JÑt—.]4h æÖ $/²¥  8µ‹:½^¬ ¯ÀÚ8ŽƒB¹¸5ÕŒ IDATfø¼Y[EEE°*±]®R©6|xófÍ`zf£Ñ(ˆ•B»°•Jg2™2‚ 8ޝY»V[\üâå˾}û¾¡?½kYèú%È×íŠì‚èÞ·-1ìlË-TJ岟–’ '‹eÙ€€Êß´þÆÌŽ:›½Í@Ý2Ÿ´˜fÈAa™à§Ÿ–‡V …wäâa°9¡Š¢&Mœh2™„3œj]|* È—S©cn¹~ÌÆŸ¦iÁ¾Ôõó¶²P@¿¸üŽuõ1Á²ì“Ôi›ú‚ ),DsÙ@2;“ðÞðMëoê×kP\\Ä0 I’jµ­••êÓ†ôzŒFãàAƒþН”ÑE¬XŽëß¿  @&—;•-ki¨õù°êÔ©¤Ñh(ŠÂqÜÚÚF­¶ùp-Ò4ýÍ7­;uêH‰äÞq¤+î!Ïó-[´„õ‹ò/‚=Ãsª\.'¢¨¨jM´ZíÛ† >¬ÿç’ÿØ” ÌYȨùÉòaKø/./P«mÜÝݽ¼¼\]]U*%_b·õ¹Ìq\¹råþMð µZíåååâ쌢藵7 †c*•ÊÕÕÕËËËÝÝ]àÖ¨/<Ï—-[ÖÆÆæ3+++3ß¼¯ ¥Æ7S¢ <ÈÃÓ“$ÉÅK»º¹å‰\áÍðwc¹ÿiÀ @̰%H AÂW ǯ\¹ò6·LA.]ºäï––}çöÇ“¡ßÛžÇqü¯{!’-Iä>SÒH AÂW%O£(*—Éqç8Î`0”-[¶_LÌË/ aÔ6…B-Qôz‚Žç=Êy`¦R©P +[¦,L½D±Üáu¾8–;N,ËÂXî¥R‰ã¸ðËEQÇ÷ïßˆŠŠç@D©Tr'~ËŒ6ŽcI’Ä0 Ã0²ž¦i!|=t¢Ò° m!¿Ü“İ%H á+t|˜?þ‘£GÝÝÝ'Oš4kölE#""¦'$äçç3æÆž^^sfÏBQ,>>ÞÚÚznb"ÏqZÎÃÓó÷Çmmm¡tžœœ<-aÚË—ÙmÛ¶ý¾O@NNΈ‘#Ξ=Rmò¤‰0JBBÂÑcǪW6mª\.?räÈ­Û·oß¼•–‘mDfÍž}íêUÁF¯  `ðàÁeË–=wþ<¬G©Têt:1mŽG޹ÿþÍ[·333Z·nÝ("bÑ¢EOÒÒ¾ý¶]ßïû (Ê0ÌÿÆ?{ölݺu¦M3‹1ðeAR‰K AÂ×ŰϜ9£×÷ìÞ=q„sçÎÍÿá¹\~ùÒ¥I'bÖ?..:ºÏñãÇÛ}ûíô3¦M=zô™Ó§ûí·Õ«ß¿wrk€J¥4hð€¸‡’ÉHr5-=½q£Æ‡tqq^¶l™Z­^°pa~AÁÑ#¿ûøxÏ™3— ½ÁpòäÉ3§Ÿ9}zôèÑ£G¾rù²Ø”ã¸KW®4iÒD¨ÇÎÎÎŒ6»÷ðï‡'Œ·cûöÔ”ÔI“'7n玙/^”Éd?.Zä`oâøq++«9sç~ÑË’„-áktäý¢Ïݤ9}78ŽËÏχ±Z½¼ÊÛ;ØM†ßñ._þ»ï¾ƒB-MÓÐùmó¦M7nÜ8{ö¬››Û•+W S|€aŽçi‘?ðU‚ªÜHº¡7èÛ¶i«R©ŒFcµˆˆƒÁÕ½û„‰årùîÝ»<ˆtÀ€ #"p§)ª[·nÎÎ.4Ms%õ›¹hšÕ£ÓéÌhÃ0Œ¢¨^½z{zzñ<^—ekyzzò<_½zhnn.Žãûöí›1}úÙ³gëÔ®=vܸ™3fäååétºÏV-Î@’¤L&ã%†-áƒî’0°IŠrGQ”ØAùClCjµZpýg bóÖ­-"#a¢É¿ÒM•Jex¯ÁL>‚ Iˆ¥h&Þø 7|<ÏÛØØÀ86®•¿;§ŸÃ:ü  i:9ùQ•*A,Ë$Q³FMk+ë7nìÜùÛ­[· /¶aœéÓgðL“Ñø(9™¦(EÇŒm2Q0»ügûUbvåòåoÚ´±Øax)–¸„÷¶Ãë¢ 68p '7ÇÓÓ«k×®M7¦Dq£„‡­­­…˜âŒpC§(J¸ÊÂq\¥T—æ÷©V«4lxìèQq(Í¿­e"ˆcÇŽE4lø7w…B1dèÐø1cìDá9¿¸É‚Ûå±cǶlÙšž‘^ÆÑ±UëÖ:´Ç1Ü,ÑÏó …‚ ø_–eF£ØïAk++^/l‚ðβTó^Ÿ>uêm‰^Þ þîœþK¼—uø¡Q¦LO¯òÅEE…wîÜ)**Љ‰Ù½{÷Áƒ‡0 #I²°°P­VãvààŋլYsûŽz*•Ëå³fωéפI㨨¥Ær§iºY³¦sæÌ6eòšŸ©^£Æ«pî—Űââb•JU\\üÆÚæ1áK§ML¤Y|~†iÙ²•B.tÈÃÓÓl͘գ×ëßM›e™¢éÑ£GÝ»¿JPPT÷î5ªW‡1‰©Ïïˆ4…èuºÌŒtEq‚b‰Kø+°Œ%ž•™‰ ÈÈQ£ºuëÖ¾}ñógÏNN~”0mšX7®¶±©˜öä‰N§CD#Ú¾ EE_ß.;÷êÕËÝÝ¢¨¥K—nÙºõÐÁƒööö&%%…¢¨²NN|¼½zõ*Ìx———úä À»¼·ƒƒ=‚ W®^-[¦LzzzXX --ÍÏÏz˜@_”ôŒŒ§YYeË–1sæœÙ³×RE¯^½êä䔕•%—Ëýýý³³³Ÿ={¦P(*ñðáC///@rr2Ayyy¶¶v~~Å0,999;;[mkëïç‡ H^^^qq±F£¡iºV­ZŸƒ.Ž ˆ 'úùùÅÇÿ}çÎ[·nIœ;÷ ™X.ïݧϢttp`9îÒ¥?†yæôiAšÌÏÏoѲåwßu7€$ÉÌÌÌuëÖmÛ¾=ùÑ#ƒÁðüùó¬¬,žç=<<\\\¹víZõêÕYOŸÊe2__?…BNÓô£GpœÈÍÍ©_¿þË—/0;*(I<šœœœ““ãêêš“›[£zu!86ÏóÙÙÙééé†ùøø¸ººöéÓgøðá………,Çùx{ÛÛÛÃ(èfëçÚµk..®©©)þ•*¥§§»8;?y’f£¶®ä_I¬¢iúÕ\çç«ml¼½½322JæÝÇq¸srrt:]aa¡Á`pqq)W®|ýÁƒ¦lY§Š}xlÙ¢e«V-Ï;·q㦈ˆ† …¢nݺŸœacvîüy…B¹µx²:tèpíÚµýû÷·oßÞ,€(Çq0K´SY'ÅÌæ1$$$//?33ÓÇÇç?þ¨V­Úƒ¹wïÞÁƒ‡¬¬Tzƒ¡èàÁþýû{{{÷ŽŽÎÌȸvíÚ‚ |ý|s²s<=½zôˆ***êÕ;ºw¯žÏGDD9rн{wx˜#âK—V­ZU58øô™3+W®|þì™^§ÓÍ›èáéAàø…‹&Mœ$“Ë׬]Sν\^^>E›ÆÇqœåúéÓ®];µÚ¦B… 111‘‘‘..Î÷ï?hݪudds•õêÝ»gŽß»wÏÑÑÑÞÎ'ðG“Û~Û¦SÇN½££''Ÿ=wnË–-õêÕ£(*++k@\œ¯¯ïÁƒ>ìëë›”t36&¦aà ,P*U|Ê{ûT¨\¹òGÎÉaWò?8ã(‚¼#î:|Ñ,Ô¼e,w½(–»PÖôÀðú-q,÷·å0«çÝ´QL~³²8þžEbØÞd2Ù¦M›víÚ DÉ›6ÝgÅòŸÂÃÃÅ [©TV áy¾¸¸øà‚—<þ‡Õ¬¹pá:tX³öço۶ݼe ä£ýcc½¼¼p¿}ûöÊU«š4i/)o$%•)S¦_ß¾€U«V%%%¹¹¹ÙÛÛGGG;::2 CÄ‚ùó…– ˆM›7·oß¾IãFMÑü!ÖLòtøV«5 æÏ%ãÿâùóÀ€–åaºS€­­­\ð6T8R (šžž^¥JŠ¢¼½½ÍZ­îÝ«w\\œÑhJH˜êééɲlŽã ®ªs,×Çq•*UÒét<ÇqT%ˆ¢¨ +>ñÜl²Ôjõ«¹.SF˜÷2eÊFá9žãÜÜÜp‡ôÃ|š/_¾¬X±¢V« ®Z5#=zIUªT ®‡¶$p »u3éÞÝ»RÐÏðŠA.WH [‡DZîåÊ=}úÔÍÍMìË™™™ÎNΖÆ5 رj,ËöìÑcÆôcÆŒ¦†/a{öíݳ{·““ÓùóçW®Z…”´¢¶Uß¾}*Á²23ƒ‚ƒ_5W¢ïeYöÉ“'â;ìråÊ]¿q½u«ÖÙ99ÙÙÙ¥~:¯·¶w8;‰~â8ÎÛÛûÒåKµÃjÝ»{ÇÕÍí3Ì@Ìó<¼žÛdyxxX’¢(äâ5š¤'ú?Ã0­Z¶Z¹rEXX˜ådÍŸ?¿g¯^oØ©"àù9sæ(”J€B¦[·nfù¿ z=MÓõêÕkÒ¤ tú‚žžž'Oš2e Š¢wïÝëÜ©|Žÿ¼~¸zùJQQQXÍš*•ª°°P<ž‡¶QÛ´ùæ•7ªÁ`5räâÅ‹÷íß"¨™)€ÉdZ¾bŠ &“©M›o„5éÛúAPT¼1 Û»gÏÁƒ23³ââúS}ϵ¸Œ”äw¿Ë0 ëܹs]\\222Fe4_Óö‘·>À®^½*mYŸ-Œ=t1;lÁå‚èJ¬Ä‰¯ÆJ\©R9:8þËÏE£Ñ 0àÇ~Ξ—Œ=›[‰gfd`?vl«V­£¢¢ÄOœ81//wâ„ b‘EÑäää *Xn[‚<~ü¸bÅŠbA$++ËÉÉ Ã°‚‚‚œœEË”)£×ë*U®|ãúu£ÑXTT8;;CmªPI’1±±qýûAášgggçæå©TJŽ}­É4£Á²ìçç—žžîääxùò¥»»;Ïó ÃÀ2àÙ³gF¥R¹»»#¢)*¨?§´’$ALMH(S¦,<âذaáCgÍœ)žAž?^XXÈ€ “ÉÜÝÝÅi¡ïÂ[Âü²,ûòåKF#“É”*•B.wvv®rçöm­V›“—›G„››Œe!ÔS\\„ëPmctìèÑôôt¥R ¼…}SL›eÙÓÓÖS¨Ñs-Ì;ÏóYYY:Nm«vuq@z„õöá ¶úô©mHµêRËÏ/_|øðæÍ›÷îßÏÉÉ"ŸuñÆá8Žã8A–ˆ‘——ݧÏûГӖ ©;„X%¥ÒS¦Òÿ.,‚ Û·oß¾}û;ÌÅßoÿ”ÁM2_—$?l ¾NÈåòýœ?wÎÙÙ'Žcsóò¼Ë{uíÒÕìI‚ ~ÿý÷II€ç)šn×®]%ÿw0¥Rù¾ÜDårùŠ•+íììºtî ƒ"0 ³|ùòÆW¬XÑ’a߸qÃÙÙù_f$IòO™è{ìãŸâÙ³gË„r$†-A‚„ÿ¾x­P(vìØqâäÉÄÄyîîî$I²,ûâÅ‹yó×­[ׯ_?q,‚ vþö[×.]Ôj5Çqâ¥PV((ŠRÝâQUªTI2 c08ŽCQT¡Pà8ÎqœN§ç8–$I(:#b0`"èXݬaër¹|íÚµžááu¹xñ⊕+Ëyxøúú"¢P(0 cYV§ÓQ­Õj9ŽƒTA¿m£ÑÈó¼Z­6™Lr¹Ü ×S4mcc£Ñh`Î1(¬“$)—Ë0!oØGé#Çq6™L0èõ(†Á²^¯g¦zõê£Ñ(<Æqœ^¯‡‘Yår9I’<Ï ˜ÍS¥RÁÐh4Òjÿ__¶. ¾êoE_¼x±uÛ¶;óöö†%†annn ,Žã99Ù=zôôóókÚ¬YFF†a»ví1bdóæÍkÕ®}òäɡÇE4Ѝºmû6¨ñ~Í-y¾{TÔÆ ‚ bÕêÕß}÷Dz‚Ü¿¿U«Ö}}»tíª×ëT*UÏž=sssIJJjÚ´i•  ¹s ‚°³³ ©VmÍšµ*VÜ·¿••U•  [[[AbÆq|Û¶mÕBC6ЏpáU*•ÂÖ¢X™2Žðð+A ‚ ¶nÛ6|ø J-”'Ož²dñ¢E‹éõú׊8 »wÿ¾ÚƆã8///Õ)•Ê‘#GÍ›7¯Aƒú›6obY 77oúôK—,]¹jÕ’ÅKç/˜?|Ĉ©S§V®\騱c Óg¬_·A´ô´õë×¹ººmܸñqòãÍ›6&Mšâãí$4Ͳl³¦M?|877ïFÒu¥BZTTD’äOË—¯[÷‹››Ûºuë&Lœ´þ—_দÕjW®Z•PµjÕÑcÆlذqР‚è úäGFÃ0~~~œ(wÈõë7Ξ;w`ÿ>ž½££ÃÃë ?}è>" (š›—{õÊå[·nwŠêÝûÒ¥K7“nŽŽsôÈša||*ܽsgÏž=£F>zôèÒe˲sr®\¾tíú•«VΚ9ŸŸ?wk×–&a¿škÓ×cA‚ì;_ò¯å°”üċΩ,‹êuˆÁˆ˜LM÷ªBž{5˜(  (ÌB ð@PÀóEyÀ‚äÔjN´hY IDAT.88îÝqE§´±Ä×ΰFã±ãÇþù­V‹ã8t˜#ïÉ“'½zGÃ팦i++«Î;uûî;)X©„/]¾ÿ~llðftOX®[·n¯^=Í2?$yòÄ ¹BAÓtûví†MQTÇN8pæì™¦M›* ƒÁZ­šÁ`hÝªÕøñã ü¹‰Ûwlß²u‹Œ$“’’P…õX[Û1 Ó¹sgkk@ݺuÒÓÓƒƒƒÅ6e …"¸jðùóçÖþüó‚ùóoܸ`2™fLŸ±}ûö¼ü|’$oݺ…•ÐLQÏóÕªU£izð As‡ËÅÅ:žçÛ·m§9ÏÈH¯[·¤¡Kçδ(¹ÜGè#EQ#GŒ45jTÇ0tøðáF£1¬VXnNTÚC¨”Ê.]ºh4š6mÚL˜8‘ ˆKü1fL<ðÕCCW­\ ;\TTdf§†a¨Éhœ–Zê±ü ªà†Á``YEQ6@VV–³‹‹Œ$ßmÊô!T— a ž–†åä ª×ɉ»w±ìl,?ÿ•jš¢P½yK^Dþ ÐÝÿÓA€S©4qqº¶mXggÇÑ=HaAA‡Ž·nÝêàà@™LÇyxzI~دO4<ÏÓ4ííí=nÜØÞ½{9::򯯡,ky$A½Ô)ŠªV­šZ­>üûáM›6æçç[YYW¬X±k×®ÁÁÁbn ŸÛ©ÞžÂ×Â^m0VËâgà-2”n_YtRMQZ2N³¦µZ­Ù_„w†Ñ–hG†9~âEQ ¹êÄáëB=&“©s§NâS¸`X*¾ý˜},µ,ÔSêc&“Éd2‰71¶OvDQ€¢h^žÕž=Šã'ˆÇÑâbÀ0Ç!"k¾¿ÂžÿÃÛ.4LGu:Û… åçÏ÷ꩌäQ™#XBbØÀìeYV.——/_^8zKÜZ ÃxzzÆÆÄŸbÖõ‘·÷N:÷Ã<¢aÆ üi^™h}Äξ¯>~ª(Š(Nœ°Y½†xüÀÓÆ_“›¿¶}ö•'1Ã(.^”_½ZÜ«§&.Žut%—;ÃÅ(Êd0þñ‹¢X©Wz$|AgSËòÛþòшù—õ|¶gëÿø¡ÿÿíy|TE¶ÇOUÝ{{ï¤;+YI‹ÙÙ]Àñͨ#0# ®q>âÓq{⊾‘àŠÂŒ ":êè°)e ›lY4,Idët:½Þ¥êýq“¶I:Q–ú~øƒ¤nß{ëäöýÕ©:uNëˆO¨¬4¯[gûmáÄÉ3 Õ¥Ã'öRûÛïH{ö6>ø€œŸäÇ¢~ø?LÆ{>#ŠâÁƒ^Y° Éí>ëocLÕ4„°(в¬\b‚ÆNùQ!¾†ÍáœW£ Ÿó4–ºZSjض-ö•Æ;:©RçƒRv*I Ìb=} Æ ©€00Q@Á }3VËÎ1B€R {š‘,£NO-wíJ¸g¶çöÛ›§ÞÊ0êŒ`#ŒÐª~ŒñÅèA"ƒuuõ‰ññ)ÉIÿáɓ֮Y} nô¢”&%%#@ÇãùÇG+Brˆ/p8ç~¿䨤sz ]­¥œO?#‡eéܽ:/ÃúaL’´8'%f4b¿š- iˆjÀ€„è¿D¡ž¶Œ¸ÝÈëcf“’•©äôªde2£‘‰"Ò4À˜BŒ¶ìÔWõ[ÆÂ?4!DŲ2ÃΖ/þ©Ü§é—PSûòË@°{âÄö‹Ùm[U•ñW_k‰ØÕÀáD¼£úú:UUïž5›WêåpÎç¯jUeÅ9X…äŽ&¨ÃzŠï³íyKïhgÐ[Y­Š‚››;ê‹–’©å|JœÃᜇ:À ’÷7”þó›Ã„FÆÜ4,{Ò¨E¥w÷™ª6:TýÔ3Š»1sÁ+ÖË.ÓÛLÓÌYY‘†ú TÎË3nݵ‰¯UmÙ@ü£ú“†ã¶íþñc™ ¢pŽÖc¿ß¸eKpð`j±\ ¤±Q:pu`(µK2_Ãæp8ç¯\ ûeU"X øƒ eoet‹Ø!$‰Õ‹Þ¦k×ö5RöxÊßß3•”úKKµ@ æ¥ù}ÆŽ0}ºôÕWÕ‹#Iún¦©©éÅ_la§ªÁáâÁjk}*óóЃŒ±´ô´»R*µŽ]cŒ±ÓX ¶uÔoµ“ú™ !ºê‡ ®?xQ/ŠÚ±£Èð/Y¼¸¾¾~õêÕ l6 M[· v;°uªݘ¥]µ.‡Ãùe% !¤jlýîc_~[3gÚø?¿ðQU—S5z¢Áçn)Å[I^v×ÝËõO…B¡W¬Xµr¥ßïÏí“{çwvïÞÝd2uÏÉ©8v¬©©©hçÎÇüé§žºòÊ+5í‚)Ü®/`ÇRÕ¥Ëñ;»ddÄÆÇÛÍfQQÒ{÷V].·Ëµ×®~_|Nƒ!ýx—ËõîÒw7n, ¿ê×oÖ¬Y)))ÐR »Ecúº¢°Vt±‡ˆìcámi§Ép‡Ó±ÞÿºÁ¾tY{/Y—ì÷Û/iìׯóN6¥tûömEE;‰ téÛ÷ÉM_WÜ{ï—£GQÉ ¸Ý·¯YãéÞ}Qï^®¥Ë0€ªªS¦LÎË˳Ûí½z÷¶Z­ãØXGîWüþ÷Sºwï®w0²;pêØ·NPJ-ˤɓ_zñÅøøxýiic‡°cŒ‹‹‹_}íµï¿ûaœ——÷û)¿5jd—””#‡{½^}€i|p¹\ÙYÙ‡£¾¾^V”=zx½^Ð4¡êxÔ™Œ¼Š:±Á›ÃáüÂj-ÜP–o,«nFFõÔ'óÕ/Ê0‚Ñý{lßw8Á*f$ÇN›WZQ§Šò¯ÏÿUVVº|ùò˜˜˜¯¾ú²`áÂG~8##ÃjµÀÊ•+×­_¿è­·233ƒÁà…µ1!¤y<9/½tè7¿‰Ï̤W^s SåÐ!Ͷ«°°Ï²¥c¦ª!Y–ÿþî»ñqq+ÿùO“É´}ûöP(~¿ýúõ.—+5-íêñã"………]ºtÙ¹s§ªiC‡Éèšòz½ ‡–••%ràС¢¢"£Á0zôh‡ÃÑÑ-‚ ø¯½ÖòÙ¿ˆÛUr€qëVÓú/áÊ~ô±1ÆÝ»w—$ cL)[!+¿Û°!?9ySÏž×núÚd³ýcÔ¨ž¹W`Ju!Œ‹‹cŒcãƒx½Þ¦&÷Ö­ÛŸ;÷{¬W¯^„í;vØ¿?>!áêñãáÉÛXXxøÈ‘ÌÌ̱£G—––ÖÖÖ~°|¹Óéœ6u*0Ö‘ Ã}sæüõÿþ/??_Qä={¿­««[½zµÑh|ýõ×ÓÓÓÇŒ£(ÊêÕkªOw:œW_}5clݺu£±Áåòù|•••¯,X0eÊ«×Kª«£/DIéžÓ&ù_Ãæp8¿¤ZK"©¨k~öƒ"UrÎïU߬–U5œ{Ãȼ›ÇæM~Ù”«óÿ8¡ßÍcú­a  Eñƒ–ß?ç~“ÉÒ§OŸýû÷Õè‡+V8xà©'ŸLKK»àÔZ½]CJUÓn7 $——Ë[¶„mÞœ5ïY1>^Wk]˜+++'Mš„1ƒ}ûöÍÊÊ’$éÁÿ‚1éš‘±á«¯>Xþ¡Ífûèã .Œ¥”,ôûý²,/ùÛ’£G&'%­\µÊd2í?xpÁ‚‡£ÉãY¼d‰®ýÑï¡PÿþÍøt°’­;§æ¯¾D>çgÅà UA cÇ1ܹ  ûņ?®˜1CÈÏp+aß!ÔÔÔäõz F}çw|ôÑGf³ycaá;3š–¶wïÞeï½lBÈ'Ÿ~ºvíÚŒŒŒÏ>ûlÕ'ŸÄÅÅ™Íæôôôôôt„Ðé퀪¨¬ øýF£i@ÿþWït:B™™™ñññ&“顇nnnÎèšQRR²xÉb£Ñ˜˜×-##==Ýd2eggA ÇãÆÆ¨vÐ1jFWvê£Ë=l‡óKº’‡Žº^û¼xäà|‰Ç]!«F½²H˜$€DQUÓŒ’R‚‰$¶ÌëÖÔÔ¤¦¥ù¼^ýÇØØØææf„»É½âÃ/¾ø‚ÓéÔ4íBL:Æ»½dæmW\a‰QËÊhe%JN® T† ºdñâCnÛ¶íÁÐ7š+ªj±X4M;AX³fM]]¢(±±±C‡=q²!„RUÕd4šÍæ‡yøøvÏž?úÈÒ‘ "^t° €C!þ¶w§iÚ¦M›þ½zÍž=»}>9#¯9aÂuúŽË6‡Ã9³+‰¬j]œ–{›ÿùö£…Û÷py¯ôØ·>ú*¤PŒB€ÙLbV’õ®ës“fE¥Œ©·ÜrË;ï¼sÇwiª—ãoÛ5=Ün7!äžY³>ýôÓ{fÏ~ôÑGr¯È½€¢Ä©ßßôîÒËúõÓ6m"¹¹ÇÊËÕ×7­YÓÌe÷œòyóz/Y¢z½úkÖh4Nž4é½÷ß_µr¥ªiii©Ó§ÏPåæ›nºoÎIûäåù|>„±Ïçk» ¤ÿßjµN˜0áñ¹s)¥C‡ 4pà´iSß|ó­I“'«ªš•uß}÷1Æ|>_‡‘Þºf;þQ£l+>Bí¼p€jj ´ª*æt"=ZÇââõù\.!#sòä ÆÆg{õ: ,?&fÆñê·ªŽÇØ1e iª¾ a,Ëò¯o¸Qj2›&Ož4`À¯×ûÈüñæ›ã>¹¹ùùùºf˲ÿÜív †ÄÄÄ»îºÓçóMœ8ñ¦›n>|øƒ>8}ú_xñ¥—æÏïÝ»wCC~°'¥Jj*t°¼ëjqc#$&žbOŸÏ{ìÈŒ±Áhì¼ÊªªºaÆ—²Rþú ŽIDATæ¿\ZúƒGo·Û§M½uúôéN§“¿‰8œ‹Jir—”úºZJÏU6P}ˆO)ÛrðÄ?¶VNýõ°ç­úøñ‰Þ€ÂZßûH0!X—}AQÓ4Y–c‚ H’¤‡Lû|>³Ù¬Ÿ6 rr­‚°uËæ?Θy¼ªÒívë—³Ùl /¥Ÿõ™µ`ðèÃd%%%§¦ºjj¾-.¾üïÛ{Ý„£G[ªªÄœœ¯W®Lxú)ÇÀLUcF£‘1¦ªª¢(aSȲ¬ªªîXK’¤(ŠÅbÑ­¡ß[0ÔÿO) …B”R=(Šª(²>µ«ç …BF£ñôO‰uù‡Î¹s‘¢Dÿønù]Ã3Ï0A@”bBâOž¨n“À„2VW[ÛÔÔ„0jkûÌø“:sæ¡ë'ªT5ï…½‡/\Èœ ”1–’’b³Ùc~¿ŸµÖÞAE}i@$ô¼f’$ ‚ ï´Ö§Çu+é9È!š¦éÓŸŸ6vˆü›êž¾Ú¢\—ÅP(D1ú©ôÏêÆ¼®nO†±©°0q괨ϊS÷ö¢`ÿþ@i(¤”ví–y66Ƹ¾¾þŸ+WEª5x<žO>ýlàÀ#FŒ8wßm‡s1Ñ’:›1„`T~ªÙˆ—~²Q   ¬ ¿‚í6Ûè1cÛí&òx<_}ùexBHó^X¦ÀFcê÷úËCJmíþýûz¼÷žÏëMñ…¢?Íw×]ªÏßµ«wß>Ç! ªf³9·O“ÉÕá hQuiþ?ƸÍÇEQÅS¤á j À0Žê×ϰ};t}f^õI0?ßwã§ÉWŠJNJJNIÁMM‰þE4¨þöÛ²bc1FHós“¦Ïp.z«îÍ7!ú^r]5£þ¡u‰Õó€FŽ´Â­ƒ!2ƒ!$ò<ííyd£égŽŒBŸJ¿zäu[ìI©Ò½;'õõQn^Q Ýèç,ûèÑ£»wïnßTQQY´sçÈ‘#¹`s8œÎ Ë°î 6ÉrN¢aúÈÔUÛ*«ŽWeJZ‘$IEAÜMM_~ùe{/!äñx.ÜZ^º¿«(ŠëˆðÁÒ÷ß{úéFEѪ«‘ÝŽ† ûvÕªÓáu:2n¾YöùBü~iII›.ÿ"vP»tñNš$–”¦¦öã ɲiÓ¦À˜1ZBÂiÆ,cÄÌ{ŽTUÕÿm‰æp MÆ€R%;»þ©'fßkyë­æ3˜(¢ 7jŠ1À˜™L¬ƒÁ qð§XÃFéË QïÂÕØÈ°9Îò,5MSUUUU¿¢Äšñ-CR<Þc OTR¦—qjɾ‰1nn—ó¢1¥T•e’”ï½r TÓ@UMSouïÞmLOOÎË G éûÏ‹;'ÄwýRUå˜?¢yØÀ˜aß~ÒÐp:ÁF06nÛnÚ°¡á‰¹¡ü| AkñP”à°aù‹ý×cÇ*ÙÙîœ3±Ïg{w©p¼ªCEo7ä:Á¦”Æ9ééé‡nÓd4»¦¥] Õj9ÎOèY I’4M£”*ªjWU}/ cAI«Z‡'Æ/JS`ŒF£$Iz†jÕhÔ4MÓ4B&DÌÌÄ„`„Î7Sè÷Áˆà¹ëN©¼Ü²jUÔmÙ¤¦FKÁîÖ­ÛàÁƒÛ vNN΀. €L‡s>¶¾÷DAj[*Úñ±)€B;^ëmŸ㼸oƘ ¸gý·ùß«Q(ØF‡RUë˃ƒÓÙÁn&@Œ1“IîÝ Qª÷°ÍU˜(*Ý»c§”Ê>ÏuZÏ!S]-––YW­2lÛ*ÔÖA« ¢öAÍÎRÚÕ=Ëm]±±±“nù]]mí–­[½^/H’Ô­[·[ÿð{=å:q8œûÂç\ØæBQª¦¦ô7}ýuÔ-^¦Â˜ šžx F „µ×ÝVíïHŒ[ZÛhùy+Õ¢ˆ‚A¡²Ò´±Ð¼úßÒ·ûpxO|R­Ë§Ü³u8àÔêaÂÙÞÊÍͽÿþ9[¶nݵk—ßïï‘“3tèо}ûꉇø×ùx`LEM㑤? IbÔW­@Q;Ÿ:û"L`¬ßlF£h-€mÙ{ÄçG×_/¥¥²´4d2¥‘ŠĢ‚ÀÄ’’˜‚…†={Äòò6:ÝQ‡5›ƒƒA»rßgt¦KrNNNVVÖäÉ“õb)„ók–†Ãáü˜ÌæµkVƒnŠS܈T—:ÉPZZòýwe—ô;±$Iç0Õ7DÓ Y6¯XÁ>ýÔ”’rdÐÀï† Ùí`rK7E1Ö×§}»/}ï·q‡Ÿµ>'ìL½Ó,ÿªhD¤¥ƒ³Î%f¡M¹2‡sqa±XnºéƵk×µÉqÁaŒuíÚ5¼…c¼tÙÒÙ³ïÕë{^ºf°!ô$cSÚ-†+Oà@ÀY^[^žúÞûGBÕE…U‘ÁL’˜ € °ÖòÕgüàsÙ»¨÷€4 É2 …œ7ÌÈ á´éþiQ²²šoýƒívGŸe¦3‡séÈ’Åb‰L=Á C)u»ÝúP†1&I’åôÉ·/™gF).±Ý¿qëÖÓø”QšDl6p:A ASÁbîÙ”¬öÉUSR˜É„1ŠÌD ©*`ÌB”1ƒDccÕ.]¨Ý¢øÃ~°üÎ(MÏÂÁ©>!•–"Ya3QbÒT¤(Be%Þ¿ö~ ååÐØ¨Ÿ„uN¡Ã‡1BüãÆy§LÆ0F”BŒ±p¦3.؇ÃùIå!ÀX*û.á¶ÛÄ£G¬nEoÃD) ¨*b T4 ô¹Ƙ(R§Séž­¦¦jqñ€…BÌb9!ª1AF‘ª2É€~f2Õ@ßÖD`¢ÿÉ!&€0Re† 0¢@jjÉÉ“bùañÈÐG ¢’ª ”¡`E(ýYtY‹‰i|ì±ÀU#¨ÃÁ ÇâqÁæp8Î9×lóê5‰wÜÑyûi.- Xô;ép=jÓiާ±ÚØéæŽ5ÆžÛfúÇ]ù+Ý5Œœl¾Íáp8œŸÔRm;0vŒûÏŽ)(@šö³iv˾¯_"HgÊZ†‚À$)0`€ï¿nŒOm6 Òh8KLÔ3pÁæp8Î9‘m@¨yæL`̶t)iÍfÍ.½Moz—õ^S›M¾üòàÀÑ£•Þ½™$Ò÷[w<ÉÚ¶ÚAY4‡Ãáp΃$ϘîÏÊt¾ý¶ô}9Ð%&Ûឪ‡÷êñ¾Ñ£C—_NãâôJ£ÐšGåô¥ @k QžO”Ãáp8?1š’ä7NÎÎ6îÛgÞ¼Åòõ×Äã¹èe;2AŠë™8±ùºkå9š¾ë1åÎÍS JiII‰3!ƒÁÃßw. ¼s8‡£ëÃX¬««­k×9þþwâr¡P¨¥z¦¦¡Nˆß¡Ð-?BÍf9;«é¦›(IIz!ðΧ@Ì …zôêÖ¯_—™ …€g(ãp8ιVnB˜ G*+“*+I]=øÅª*éðñD5 (BP(„B!ô#‹SœSu?ãÉ©Á ¦¤¨‰‰¾ùÁ>yþ´˜¤iz”«Ö”RŒ±Çã1 'kkÐŒéÓï¾ûÎ8gœª(¥\³9‡s®Ñ–W3„€1 uuÄå †(cA²,¸\bE…iG‘TY)œ8ªÊ¬Vj63ƒÔlF²Ì‚(#8ð3eÏ•3º,3Bb˜ „4Gl¨gOÿ•ýƒ¹Wh‰‰Ôjeëe­ÏNVõ™ð^½z©ªZW_ÿ÷w—¢iÓ¦Qªõ¿òW¹¹}RSRx¡-‡Ãáü¬>÷©ÕºÚ´¶dýTÕ–Zz‚R=%YÄÁ¸±ÑPVfÞµK8q’¸\ #ăÔnCÁ F™ ʦQ£{½ÔjAª ª€&¸ÙKm6 2BÁHQc`ŒŒ(TRSC}ò‚W\ÊÎFŒµÉ‰Æ0A`¢È"’øþ‡5@½>ŸÇãÙ·_QÑ.BÈÿþ]kŠ|“÷IEND®B`‚nted-1.10.18/doc/docimages/pos_tab.png0000664001041000007640000002572011520267216014401 00000000000000‰PNG  IHDR²ÏÚÃà pHYs ‰ ‰7ÉË­tIME× 6&$fZ IDATxÚíÝw\gþðgfg{awé]zGD#{Ô‹5O“¨¹³b~'—¦gI¼\þÃí¹y}þˆ!’¼Ïÿ×p5ôž+¯¨—Æé£ !²¿Í#ï× {œJºï"wWq¿µÛÿÆQ{ÝíD"²ÿÝïõ—y·’>p(þÒCÃqŒ†#„Ñiø+³ÆØ/ð÷OqÃŽãÇ1œ†Ñp„Ðð(ÿqñ!ß)TiõiOk’·~üm6›ï„á8ŽãTouÅ"†0üÞnWäiöŒì¨É3h5Fžï'rñÅi½ ÎIuÌ®báô§“Š+ƒKíi³jÚšé,~YE¥‹3slÂç'.áN’6’´Ñ "m$i³ZÌ8b¹ù/MÕ¦l—Ö71IýÈaÑɱ¥•5£' ;ôÓU‘–:ìÜÕ›A¾b£JÖŠaˆ$IZèÎ2*ütîõÑÃ"ÆùBIB¸oÄwW1ÿÄé‹&>†¹XMM[‹ÍJ#èÌþzøk8€ý¢å~…ö›ÖòÛŽæ±G,„=Òþ`µ68Q-T.R•5²ßýÐ9F3BÝ&Ç>T7á8†cTÉ륲ÈÏic¢&‹µeûa½…Έp Ç0œÊ@ a½ ¢»™4wX0—Cç2 -FvuY»±‘èäÅ’² IblÐ S“œ¸¬üÛµÃÃ}~ȹަGSÇú>‚lV7g!fÖ\»-MŠòûé|Å‹ ùéBÊ€˜lZd 'ŽÙ>ù*³Q©wuEz^¸RøCnQú"Q¯º¥£¹Uyìô…”äáþn‚[ÏO~õFù•ÙçMñsO}*ÞjµÑ¬ú­êXNQÆÂIW‹+N_*bó„ÞîÎDzó1¦€Ádôºý‡B¨ó# Ç0¼«¤²Ãpø\ñòY£ÙLúÞCÇÕ&š›¯?UC¯ƒh£ÑìÎeÚt­u:…Tà?Ôª’µ«Zm˜®ƒ/æ¹ô<—G§ÑÂýÝh¤ùÚ­?OWÌf4èµAóõteëñ¸°!¥•5eÕ KfO´Y-˜Í†0„áÉÆÂ0ŒÁâ f»ÖÈf2â¢BÝ”Fƒ™ì0Xü½Ý£Âƒ]Å‚â[¥&£Éj±`4:`!„lV+‰›‹ÈÝÝU£7+”ªÃY—Œ&«ÕfÕ›Ì1!~míZg!Ï×Ç#è,&ÃÏÛCe¦[l†apE€‹8ŽÑ5RFC†Ó°;½Ê»á4 éoÔxŠŸK‰iV´µ¶©??C”s£°¢áî¹EÚ½ƒhªÊ®õYôíúÆR¶k óh]›³¦ê2ƒ4ZUV++ì±u˜«7:ÖŸÇfÉÛ”óK¬ ~«Z¿pæÓ_þxµ¼¦)!Ì—ÇãY¬ÔÙ’ê±aN­Ãq§U5´^¹)™ž2Üd%?þ6ûìÕÛ3ÆD.˜6º¶¾97¿$4,âNðw®³¢N‘š8ÔŠèù·¥ÞÎÜyό՛­g/,nL û§_ÿ0jXĬñ#¯–Ê,$¶$mÂÁ¯5(õý_Ÿ8R,bÔ¹E„áxðßÿ{q:ÁD‰øœS§P×GǨÔCz;ó9Ìw>ø„ɧ¿èî-8w¹@èê‰ã8†áHåÒ”…k£’Æ+UÚÎA±ÅdkÈ7Øè,¯(‚ÁFiå5nÖF‡ÙªÇÌΑ8ÑýR·ÍjQµ6´„H:‹#pv·˜ŒjE#†ã<‘«^«2 8AØÌf±—¿Ù ×ªÎCŒz­V¥{ a0Ù!³I¯’7˜Œ:ƒáäìi4è´*"I׉+é5í&£žïì¡mkÁi4žÐEÙ"³šM|gw‚`h”-³‰ è\¡‹Åh0t<‘«ºµ‰Åæa8®S· –ÐÕ»çet€ƒÒk”¡!ÓZu“´Ò®#‰ ‰†ª®–"‚Åg..—ªkÊ1 óðAU—\¹y ]=::t-­L6!dÐi¤%Wîœ[Äq„i53t ‚`ƒé,.Uß=ÀªÆ|}x>¤­¤Qn¤ya÷^{¡á ³_äN Ëq‚ 3Y Ãh޳Ø<èëH8ŽÓé,W@£Ñit:5A­šÁâˆÜýHÒ†a8N£ÑYO€c8Â0N£3H›FÐ w„ ;{Á0êZNg²1 £NÂ’\×f£t:ƒ‰ãÂ×IŒa4œFƒÞ"ª·xgŒËá £‡÷:ÐÆpÙ•ô ïú´k ûz”Ô´3à¨ñ¹A£Ö+[pq›ïlÂÌõª”+«Î¨é0ÚØ¡{·Õ3ztĈ»ßúf>à~2X÷TBÐï~oœvçê]3 ‚ÞkÉþg‚Én‘+ÜÝÝú* T¶“ˆF„¶C'X¬>ƒ¨EÑJ§3ï|çî•èÎ4e ݑнçw©0&¯ƒÁE|DÜ?Ææ¾¬ï›'ïμóÙÃÞQÔëý´÷Ìì»Æþ×Õm³{ùö†H²÷¥ð†áž+Ãz<¬…¼ß}Å÷©ÿÞï¶¡¾o…}ÖèÖ°ßõë£ØCÕ|߆…CqðŠ,¯CßQV!é37 “+ Â­®¾Éf³öU’ÅátU3•„wÑf£î68 AÐ^?¬S¯#ÑH‹ÙˆFg²ý ÚdÐ-ÿ]|08‘ˆÜu,¿³§Ù9Ëf öqyòCÇqÜA®œX,p'6‹ˆ¼3Ð&h»1 c0ãBŠJ¥ÊÊÊš>}:m8œî±Èf³ivw¼<V«Õjµ>z¢af±Xôzý“߬999™™™‹8|,²X¬ªª*µú1¿ÀàêÕ«yyy+W®|Äz8NXX˜C4«F£c õ¿8O'‘H ¡‹±ø¤Òjµ………ׯ_ïšxðe CEEE×åååF£Ž0¡·¾¤¤äܹs$IN˜0!,,ìÈ‘#“&Mâp8ÝŠ]ºtéäÉ“‘‘‘mmm™™™ñññ¸ ½^_YYYVV6vìX@P^^îááÁd2áÐ`0öu:ÝáÇ322vìØQ__ÿ¸V¹k×®›7oRÓßÿýáÇBÛ·oGíÞ½{åÊ•¯¿þú¡C‡Ìf3Bèã?îçÒó|Àç󃂂N:…:räH¯…ëëëG½téR™L–œœüÊ+¯<øÖŠD¢©S§ž8q‚ºŠ2}út@Ç ƒ´·X]]]XX¸jÕ*ƒÁÐÜÜìííÝÞÞ^WWg6›‡ÚÒÒÒÒÒÂçó}}}¥R)Žã,ËÅÅE"‘˜L&///—^«­ªªR©TAAA&“é§Ÿ~ŠŠŠBQU‰D²uëV«ÕzäÈ‘ýû÷/Y²D"‘P¯(ì•“““F£quu7oÞ‰'rss,X0sæÌeË–ýþ÷¿W«ÕÆ [°`ÁÎ; ‚ £&&L˜ ‰BÉÉÉIIIUUU .Œß¹sgUUUxxøÊ•+ÿýï0Œ7.\¸$I‰D2}úôÛ·o¿úê«G½xñ¢@ HOOÿì³ÏAYY™¿¿ÿæÍ›ûyC#ÀácÑÙÙÙÇÇçÔ©Sb±855!tèÐ!½^Ïçó===:D§Óu:]jjêÁƒccccccoݺURRB§Ó­Vëòåˉ>ÞÍœŸŸßÜÜ##ãÊ•+………yyy6løöÛoßÿ}gg窪ª1cÆÈd²¬¬¬ôôô+VˆD¢˜˜˜+V…B*BgÕªU‹eÆ 6›ÍÏÏoýúõ{öì)**"I2111>>žÏçOš4Éd2ýå/ñöö^¾|y[[[EEÅîÝ»‹‹‹©®îøñãß|óÍŒŒ µZ ±À@D»¹¹Íž=;55Õh4ž?!TRR²xñâ¥K—¶µµá8¾dÉ’ÄÄÄââb„ÐŒ3†~æÌ™¼¼¼üüü“'OöÓË‹ˆˆ¸téÒíÛ·###{-`6› âþç=Ïž=;nܸI“&QÛ€ã85ÔÝ»w/BhèС†Ùl¶¾·Z­F­VÓét‚ t:ÉdÒétAdddŒ?þðáÃTjwÕLMÛl6ƒÁÐÞÞN}G=,,ÌÉɉÁ`ô³.À@è-666æää(•J.—‹òðð8s挟ŸŸ³³³Á`ÈÍͽuëVxxø7¨^RTTÔ°aÃp§Óé}Õìíííçç'‹ÙìîO¶(**²Ùl/^œ4iÒ}·^$­Y³ÇñŒŒ „Ðüùó_ýõÔÔÔ©S§îÙ³ÇËË+..ŽN§{xxðù|„§§'dzţGJ$’×^{ÍÏÏO&“­Y³&55u̘1«W¯V«ÕÉÉÉ®®®ÁÁÁÑÑÑo¿ývRRRHHˆ¯¯ïŒ3Þzë-__ßµk×~ùå—, !BM6eáÚØÑ“[äòV=Ãf±$I×].ƒ!??¿ªªÊÍÍ-11Q$I$’Ë—/ëõúßÿþ÷%%%7oÞôòò5jÔùóç'NœH£Ñt:ÝÏ?ÿ,—Ëm6ÛË/¿LÝGøÕW_)Š®»\N:õôÓOSA…BQUU•˜˜˜™™9mÚ´¬¬¬ÚÚZ‹5dÈÄÄD‚ ²²²RRR¨Nu—Ëc¼ùoÆŒÇÿ5šõðáÃYYY»ví‚# ‡@"ô§'-suñÅþz‹,kôèÑ£GîšØùþ„øøø®¯¹L™2…šàp83fÌèõöÝ@êÊÌ´iÓB'NìV¸çœÇèÝwß…£ÐÍ ¾Ë%&&ŽÄ"@,Àë~n1,,Œ$ó]†þXê±Ùl:Î!šõ¹çž›;w.\˜àÉ—}æÌ™?¿öZŸ±¨×ëä ƒ÷uðàÁçŸþ±Teϱ‚Þ[Ào¢ªªª¶¶6))©   ÿ’ÑÑÑ•••÷é-"„ètú#~ ¦±±ñ“O>™7oäàŒ$ÉÌÌL­V›˜˜X__?nܸ¾JîÛ·Çãõ|àÑk¥gÆh4>z=ð°l6[{{;5Te±X®®®ƒ¡g±ÖÖÖ¢¢¢^C.¹Ä"`Pö"•Jåƒ<¸ ¿X¼qã4%``dbkk«\.onnîç)6¢ÿXÔh4ÞÞÞþþþЬÇÕÞÞÞÞÞn³Ù4 N‹Å¿°·øÂ /äææÖÔÔ@›ŸÏŽŒŒ ÷ôôìùì®í- ‚cÇŽ%''/]ºô“O>©¬¬ŒŠŠZ¹råôéÓSSS+**’’’ Eyyùœ9s-ZÔk=#FŒHII)++›5kÖèÑ£wîÜY[[³råJOOOø…~mÔs©‹÷=½Ø_,FEE;väÈ‘)))üqyyylll^^žD"kÖ¬!bÁ‚Ÿþ9A«W¯î+ù|~zz:N_µjI’111›7oÞ±cGYYÄ"àIsŸ»Pp×jµ!ƒáïš:yò䨨(.—ëëë‹âp8ÔD?¯ åp8~~~!“ÉD„J¥2ƒz#üzd2™D"é9Ÿz‰ÞCÇbtttjjê®]»rrrÖ¯_o4wîÜi6›ßyç®GruMDGG÷U}™ßýîw{÷î}õÕW§L™òào%€_ ??ÿ£>êëÓêêꇎſýío¡={öP?.[¶lÙ²eÔt\\œ}û‰¾êéš ^0¿¶„„„-[¶ôz»^¯ë­·~É šÅbéõæ¿¶¶¶–––^»\búÖË Z£Ñ\½zõQ*¥º¬Z­–z}38v,¦¥¥=úºE"Ñüùó¡}¿‰ <ÎX}ºç|ê¦Âü‘z{Ö?þÈ`0º•Ñh4Û¶m›4iÒÒ¥K{½gžýÝü§R©233«ªªl6[NNNEEEmmíâÅ‹8 •JcccÇ¿wïÞ[·nÕÕÕíÝ»·¤¤¤¶¶688¸[=uuu2™ì?ÿùOfffffæêÕ«¡Ý‹•••_ýõüùóÝÝÝëêê"""† †ŠuvvÎÊÊòööŽ‹‹ëèè‰Dqqq¦×Gët:‹åáá}ìØ1ht€£ÆbPPÐĉ÷ïß?zô耀€¨¨¨aÆ:uj×®]r¹¼ªªjêÔ©qqquuub±8..N*•ö‹ Ãl6«Õêúúz¡PpÔXT«Õ …"**J¡PÄÆÆ9r¤¡¡Åbq¹ÜÄÄÄ+W®<à:<==y<Þ–-[t:ÝË/¿ pÔXtrrJII!"88˜Á`DDD0Œ€€€’$§NêççG£ÑÜÝÝB‘‘‘nnn½ÖãììüÇ?þ±¦¦F,‡„„@£8Ç×õcbb"51bÄûb€ú—šè ÇqoooooohnÀ“¾Î ‹±‹±‹±‹ð¤Å¢T*U*•=çK$’9sæŒ7®¬¬Œšèù¼EF“mµZ¡Å$8ŸŸßs¾\. :}ú´J¥ <}útÏç-ªÕêììì?üáÔ‹RàIÖßÍÍÍÍÛ·o¿víšÅb‘J¥ß~ûíSO=õ¯ý+##£¨¨hÒ¤I¯¼òJzzzSSSZZZzzzcccZZÚÈ‘#»Õãíí½iÓ¦G|÷4üö±ØÐÐ •J—/_>jÔ¨½{÷&%%M˜0A£Ñ,X° 55õÀ#GŽÜ¾}ûñãÇGŒ±}ûö£GöÌD8±ºhÑ¢ .ää丹¹QCà~øáÔ©S"‘¨´´Ôh4ö2€CëïÜbUUÕÖ­[/]ºäééºcÇŽÕ«Ws8©T*“ɼ¼¼p¥¥¥©©©W®\™:uêîÝ»¡ÑŽÚ[Œ={öl׳gϦ&¦OŸn_lÔ¨Q¡¤¤¤¤¤¤^ë ·¯µ·‹±búÒË%—¿¹D"šà¸‚ÝbüÅ-Ëe RàÈÜø0ˆ€Çbî7ˆ~¸åi¸»˜ÇeÒ«›ÚÝ„\.‹^QßF 0àc1ÄÇY©Ñ+Tºnó]œ8•½Voš0‡IWiÇ/–3„ºÃxüb¹ÍÖ½«(à0|Üõrµ¯›Óð0/ht€£öÝDÜÙ)Q&ÝF’b>;>Ô«²¾õЙ›ic#ýÝ…MJíysS£faeãÜqQNŸßOaè-> ÃT*•B¡P*•t:ÍfCo0¨ñù| Ãär¹»»»«««^¯‡X v\.—F£9;;F›Í±€q4Æf³ Cÿ™±àt:]{{{Ïùb0èH$’³gÏÊåò^?½}û6Ä"`Áq|Ö¬Y ý”‰ÍÊÊê/kjj~øá¥R  Μ9#•J}||úŒÅ«W¯æææBK—’’Òg,FDDŒ9R$AK ƒÁb±ôv÷Mß‹ÁÁÁÐF€Á¦Û³$àæ?@‹Ð'ø‚xÈ#†àÇŒF£ijj <»l4+++úæÐh4 Ãð.“$YTT ±†a§ëMRnnnvvö–-[ºæ ø].((رcÇž={ìw¹ŸW µµµëÖ­;zô(Ä"x ¬Vk¯Ï:0z¾ßÃf³ ì]îù(’$ö.WUUõó)œ[ˆE€X<˜FƒËdˆ¡¹Rž cIDAT${ùÌjÅ¥RäøçaáÜ"x‚ÔÖÖþmÛi”$I‹ÙB’丱©é+×NÐ8O«•þÝwôŸÖ¯_o EöW«­Vú©SÌ>ÒoÚdMH€Þ"Ç7ß|Ÿý×íëWÿù•?¾úÒ’ *ªoß,)qèR([·n---íšÓÚÚúÓO?9äÎÐh–”d00÷ïÇìŸ)C’´›7™;wZÆŒ±…„@o€Çw8Òi8 ×uèTíj’$M&³Éèð_Ù°6#VkÜzö܇‡¾ …¡õ鯊Z•ç©§žr 1›Í---z“‰5v¬Ï—_||d'R±ÛÛ}?ý´Ùhl;ÖÖÜŒ+z‹üB2™L­VßJWËPog®H’,--½|ùòíÛ·©çÎß¼y“$I³Ù\ZZªP(žÌ½³™Í.3³EQ\XØØØ¸zá¢4ŒijSö|6ªR©¼~ýúåË—«««ïû`ý¾ÎB¬X±âWÚN—““óí÷ßÒj l;vœÝ´éð×_ù⋊U« EE™£F}}îÜ·ß}wäÈêÍô‹åÂ… ¹¹¹×¯_ïõ´nݺââbû9ÕÕÕZ­¶¯mP«Õ×®]ËËË«¯¯GÕÔÔôúíòòòE‹Íœ9“š¸uëôƒeâ‡ÿz߉ï´aý¦®™Ž‘¶îÑXXX¸oß>ww÷ÆÆÆ—^ziøðá6lØ¿ÿ¹sçòòòæÏŸïââòîà«þ²eÎü%!Qÿ·bå´qãÆêmM­jO·ˆˆûb---ÐjµL&ð•+Wòx¼'lMsuu¥òºD  WW/V*ϰÙ.Zm´Ív~èPs` /ƒA•d2™!F³víÚçž{Îd2á8þâ‹/v{²aOŸ}öYZZZ\\\¯Ÿ~úé§---"‘ˆ ˆµk×~þùçÓ¦M>|x·b111úÓŸrsscbbìoàXO:’$ßýû;á>ß¿¹¹™Åb!„Þÿýœœœäää¥K—nÚ´ÉÇǧ°°pÉ’%‰‰‰q"öÌ3B­+@»î˜ }íµ×4ÍgŸ}våÊ//¯óçÏïÛ·Ãá¼ùæ›!›Í–““³oß>‹5a„ï¿ÿþÂ… ©©©éééŸ|òI~~þŒ3ÒÒÒ¨7;O:599Ùb±äççûí·gÏžMIIÙ¼ysFF†D"™4iÒ¼yóÖ­[§Õj§L™²nÝ:F3mÚ´ÈÈHˆEàýÄwÿþNÚ¢geÍ“§?m2šüÃ<¥UuAcsØB±“³‹˜ÀNU¾®®.&&†N§GGGËd2jæ±cÇ–,YâééùdŸ¬Â1p· ßèÛ?>~”:Éh¯­­ÍÇÇG(bæííM Z§L™2lذÇçææ–””,^¼xΜ9---Ÿþ9ŸÏûí·i4Úœ9s¾øâ jÁ_‰Ñh,++ëº #ÉÚ¹çÎ)…ÂÏÍõë]% Fhh¨««kgI ãóùþþþ­­­:îƒ>˜3gN{{û¶mÛø|¾^¯ÿÇ?þ1wî\•J•=kÖ,ª·¸cǹ\¾`Á‚¯¾ú*..Žºù½÷Þ;pà@fff@@ÀæÍ›gÏžMõÕjõÂ… ¾üòˤ¤¤wÞy§   &&æí·ß¾~ýúCe"Ä"øÍÔÉêöøtìä‘-M œ†‡G‡P?TR¥T—–”WÞ–¾ñç·¢¢:ï玎>uêÔäÉ“³²²ºnòÏÈÈøæ›oL&Ó´iӞ̧ìÞþOÖ•ë±Î®¤ÅzYÞ4åµW{f"BÈÇÇç矖Éd®®®ÅÅű±±—/_þî»ï\\\JKKÇŽËápâââ0 3›Í‹…ËåR=2ƒÁ •J Fbb"—Ëýõv„ ê%ËÔl‹e\S“‘ÁÓhcœ ]\È;íO§Ó©Atט ©©©°°0))‰$I…Bqýúu77·qãÆåççw›STTDÝwh2™ª««…Ball¬³³3U•D"Y¶lYKKËš5k¨†*œ™™yùòe>Ÿ_YYùè7°C,‚ßfìü·m[R&'á8n?L&I!ÔÜ(//©,È¿±÷ãϺ2!´dÉ’·ß~{ÿþýÎÎÎ6l fÆÆÆr¹Ü;v°ÙìñãÇ?i{úÞ{ï¹Üôfr>¹U¬1›Òüƒ¾ÛõqjjjÏd1b„L&{ë­· ÃСC£¢¢˜Lfss³Z­öõõ¥" +÷.]º4wîÜ &Ì›7oÏž=W®\±Ùl¿j 0™Ìèèè®g ±üÑ-?ßôÆø‘ÙÙüôtk``×p»k/]º4sæL@0vìØääd‹µxñâÓ§OWTTX,„‹ÅZºt)5Çl6GDD¼÷Þ{ñññsçÎmnnÎË˳ÙlÏ=÷U[SSÓÎ;õzý¨Q£Báááï¿ÿ~VVV|||MM‡‡‡››Û£ï)6eáÚØÑ“[äòV=ƒÁß+èÿpÁ0‡ÓÑÑñèU•Ü*Ùøö_bâÃúþÚ­kcCóõ¼bÚð·¿nŠŒºÛ»¬«“J¥ö5øúúþç÷ìÙ#•JퟠÃãñú¹6ÚO?ý´ã‡ÓVì„J¾ðMû?Ú5¦U{IÞ4ïý÷RRSíKêõúüü|û9l6;áõ¥è£Gž8qÂþ :½î²R©<|øpuu5"I·òòE%%·ãâ~òóãšLK %Jeæ¨Q&±˜D¿ð OòÓþ/]ºôÞ{ïÙ?A‡DèO;OZ,æêâ‹Ð[¿¨È¨ŒWÿüíÛXl¦—¯‡Ñ`2›Ì y[ei•¶]·þÍ¿Øg"‹.\°Ÿ“œœüÄ^f¡ÄÇÇÿ÷ø… ÅüëÆŒãêêºá¹¹KC£þºacÊùî±ØmïÄbqÂv¯ˆ““Ó¼yó,f3^]Íݺ•“’ÂÚ°!’ÃA6ÿÚµämÛ¢½¼ Ë–!:!ô«çm‹à7“”4jó†wV­Y7<æöÍrZk4šŒã¡/¿î–‰T&'';ÖÆÇÇs¶þU§ÓÅÇÇSÝÛásŸÛüŸï~¶§[I±XüÆo<ểã8—ËE+3“P«õo¾ÉòôdQÈ1cP}½Ë¾}ú‰-#G"„-Ä"øûŒÿþçǯ½‘ÁaòB,‚'`4˜à0Ì’˜ˆl6êb÷Ätu5.\ØëG‹€‹FCwîf隈Á»Šè-‚G R©®ÛÝæ5ðX­Önst:]^^ÞÞåžo³2›Í{—ûÿ"*Ä"xF£1--mÀïæÌ™3íœ3gŽN§Ø»œ’’bÿãË/¿L=¹k‹µ»’±~9ƒqüøñÁ¶×_}õÕ`ÛåÝ»wæãÎ-Ä"@,Ä"ü—\˜þŸvžìõØ0àabrøu[g,šŒúµÚ0˜YÔmf£!„}sâç]Ž<úc¾`XõRÚÿ–Ñ$=}JIEND®B`‚nted-1.10.18/doc/docimages/new_window2.png0000664001041000007640000007550511520267216015222 00000000000000‰PNG  IHDRD@›©^sRGB®Îé pHYs ‰ ‰7ÉË­tIMEØ ,ûº“tEXtCommentCreated with GIMPW IDATxÚìw|EÿÇgv÷zÏ]ré$!…„BïE¥HS°ÐEEÅG±>€?PTA¤÷N($Hï!íRï’ëýn÷÷Çaá.¹Dˆó~ùzIv§ÝÌìgg¾óY¸qÛ“Ñ=È@‘”Ùbf2™ 5uŠ&• D§ (Êh0$Ùê:¡Óé9,ÆÐ~1€‚‚‚ï¾ûiíÚµl6»9ÄÙÄÔJY-ªAÑ9Œ=›Åä°Y­ÕÇñ?’$I’”ÉdÁÁÁ†N§7‡¸W±¢Cƒ‰D|ïeÃpFûÓO??¾´´T­Vƪª*«Õš0räHƒÁ€axs/EQu •§Hg0y¹u J³ÅvoÒÝü<ƒü$g.ßd0˜¨þˆÇ ÇZjH õÁ1ˆA‹ÅÒÔÔ”••5tèP«Õ (...++ëß¿?EQŽ5Gèâg³Yë劈¿Ò²ŠÞ‘ÁUJˆÑ) °˜4Š:ƒ Ç0‹Áa3m6«Á cµ˜Ç!ˆÇO}p Ç}07oÞ¤Ñh/^‹ÅAAAz½ž `+Ý*(¾å'õ I;›I0ixm]íð!4j5Ë®®WyˆøL À0 ˆÚx<Á1Ã0ꃂ ˜L&›Í0`À‰'–-[f±X*++{÷îÍ`èîRõzÉᲘi5u=»Ëjå,žXêÁ§ì–Æ&eScƒ¿TXVQÅå Ù,&ÃÔÄc=óÂq€ˆÇ¢·ÅDk08Žá8Ä™ÌîݻƢ¢¢øøxVQQa0(ŠÂ0o1óÒéM£ h ¥Æ`0•UÖõŠ ­Uh³ +™ `0˜å5 o) M*@Ëèâ±S Ç1 ä±(›Åq±¸ºœÀ0œËãô­ÕjK]O<ñ 44”Ïç³Ùl S¶ûÜÌ/W¨ R–=)=O£1¦eëu¡Xì¥Ñ¨,3„P °•UÖX,‹ÍÑÌ xŒÕÇa;.«nR(ê›'^†ct:=88øÖ­[………}úôñöö†|}}åuj ojNˆÅfw°9‰@ìéå¸Åáñšƒ D¨ÒÃq«ÕF§Óé †¯_`óuøó§ò9EÉår6‹Íåq· S-“Ù‚j@t»Ýn6zÒ‚$I½Î¤×髵µÖ€ê @ÜGpœvïE"ÄßsÄÀXŠ¢P!ˆ®„˜L&»ÝŽê@t%h-@ õA H}ŠŠŠ222ªªªd2YrròW_}ÕnBjµÚd2(Š’Éd»wïîÄæøêêꌌŒŒŒ …BÑ|ñ«¯¾Ú³gOuuuÛÆ©ªª*7sQ*•:®555Žb444t.‹{1›Í%%%999Z­ÖU˜âââ÷ßÙ²eÃ_5ü7µU™¯\¹ríÚ5Ôï¯úüïÿs¨¿¿ÿàÁƒe2Y» ¥¥¥%%%êêê~ùå—©S§:ÝÙÑ6ß}÷]zzzFF†\.o¾(“ÉfΜ¹~ýz‹¥­…ÿ¯¿þÚÍ\Î;—••ÕF€7^»v­U1:”ŽìÝ»wß¾}W¯^={ö¬«0cÆŒY·nû/ïËm.j«2«Õj‡x(hgVVVVzz:`÷îÝÉÉÉl6ûÍ7ßôöö¾7äÀ×®]Û·oßãÇ=zÅŠ/¿üòöíÛõzýĉ¯]»wðàÁ‰'’$9cÆŒvK–ŸŸ¿qãF±Xl³ÙfÏž]YY¹|ùòeË–·küøñ½{÷Öh43fÌØ¼y³X,^¼x±£ãÇÿã?ºuë–••Åf³-ËÈ‘#Û-Feeå¹sçAmmmrrò²eËúõë—˜˜8{öl@°uëVƒ1a„M›6I$’/¿ü²ÕÉÍܼysåÊ• Ã!«W¯V«ÕÑÑÑr¹œ¢¨úúú3füñÇ|>?99ùé§Ÿþý÷ßE"Q]]‹ÅZ·nÝ‘#Gššš>eÊ”ÀÀÀàààeË–¡gñp}X,V\\\@@@ó•#GލÕêòòrWoN‡èСâââèèh@vvvvv¶ÅbÉËËó÷÷ß¿ÿ¸qã.]ºäçç×Fbbbâââ<==óóóŸ|òÉW_}Ã0Ÿáǯ^½ºméúé§G"‘DDDðùü¼¼¼ŒŒ G1ÁŠ+æÌ™ó¯ý«méi.F@@F»~ýú‚  ôÕW_1ŒgžyfäÈ‘.\ Iòüùó"‘(22’Ïç;|Ä‚ã¸Z­¶ÙlMMMjµšÅbýç?ÿ)**¼òÊ+o½õVNNÎÌ™3g͚嘂 2dÑ¢E4Í1ksÌ×âããçÌ™süøq¥R)“É]eG§Óãâââââø|>àÀ:®°°Ð1~ ûä“OÊËËÑ€xèÔ‡Íf·RŸ)S¦xxxx{{»z·ú÷ïäÈ‘¡C‡ …BÇÜ»wo6›ííííïï8jÔ(…BáïïßF~ûí·mÛ¶åççGFFž={vË–-ûQ÷îÝÿýï—••µý{˜L&“É$B©T666ÖÔÔDEEõíÛ—Åby{{Áb±¼¼¼~ûí·‹/¶‘ÎŽ;¶mÛ–››[QQA’äðáï_¿. —-[f6›¹\®ctÆd2ýýý•J¥B¡¨©©iÃÔ5jÔ¨/¿üòƒ>HNNF£ñÓO? ðx<&“Ù2nXXXRRÒÆív{xxø;ï¼séÒ%G»`6qâD‰DâååÅápÜTŸéÓ§ ???‚ %%%Ÿþ¹«qÑ5À³‰×ÄE´ô÷)**JNNvüÛÑÑÝI¨¸¸Øa÷xxxLž<¹£EQ*•‡nþóÅ_ÄHä”ÒÒÒË—/÷ïß?**êþVÐŽ;Ç­…„„ >¼s‰¤§§ggg7ÿ9nÜ8Ÿ¶£œ9s&55588ø…^èhv•••çÏŸoþ³OŸ>111ÍVWWïܹsùòå¨÷#:»X,Ž‹‹k¹™‡‡Gs,‹Õ‰¢8¦{wFe1Z;r÷ôô¼ïãf‘HÔéD|||Z*©cèÔ6Ý»w÷õõíÞ½{'²-kR*•¶¼ëåå5wî\ÔõãØ@ ºhìS__o4Q] ˆ.UŸË—/oÉNµÙl¨.DWϼ†ö‹FíB ÃÌËjµ"»ñ`·ÛW­ZÕ9O.©TºlÙ27׸ï›ú ˆG†’’’~ýúµíÓëOOO__ß¶÷3!õA<^ †„³§S®^ðxcÇïß×X™ÇNÓ¨4}ûõ0nBž™ÁÁÁ!!!åŽ#RÄcDMµìûÿ¼5‚]þE8Wi´ïÙp05vÖËKÞ¤3®¢Øl¶o~þæ›’oôCõ€¶dm‰{7î׿¢ú|¨@çû ^¬Vë¡[^êV?.‚[Öd±“Ô¿ðÙ…‡²n¦7‡ÑëõË–-ûðÛ¯dæf~_õ½~¢xÀd?2sTæ†]Ìfss˜”””>ø`åÊ•îœßàEi4´zÓù±ÕjÕjµ8޳bE£µÑ-ø|¾ãû_m`±X”J¥D"±X,III111^^^NCšBÛ^jÍH ôy° ÃÍ}3v»½Y&ôz½.çtÄÆ®MËT‡ˆ¿>×mR¾ùø¾¾;Âp8œuëֵܬ¿çøUhÑyíRû«ÞjzË×Ç×qÅÃÃãã?>tèPnnn[GJAèN±oݺիW/çÉÊN:_Øâ°š±SvW‡[áÞöÇò(@Ýþ¦¹³¬±öÆ%kGîγ°µúPÅ`08l6}×.ÒÇÇ6jTSqWû¹I’LHHHLL|íµ×RRRÇŒÃår=ZXX¸`Á§šeÅ0 NQ”º¶Ž´Ø(@á8¤(Š"IÇÏÀ‚/õÂi„ÄhÎjDÑØxæ\‚J­2 "¡@"ö1|˜P p§Ó[,–ä«×ŠKJtzA#<„¢Þ±qQ‘=:óÆ6ÖtÄY~Vê:1_ áÔØÝ»w§¥¥=ˆ”_~ùåVv‚ h®_fP @-CÕjmV»ÝN™4æu­B¯1Ù L2•%DÌk*ml#¥ÆÆF h=ÄW“ê–Nmááá×®]«««›0aBI©uÉéY£Ff1híþp¡PH£Ñ\ HŠtú(bkW}HŠt¥ …µÛOHà"n{ÒãP®æ¬­k“²É±qˆƒöEÓF:w$$0‡ø]ê) Êå¸ÝŽAŽêÖb±Hoï]ü¡P(¦M›Ö¶!=++ëèÑ£ãÇ¿uëVLLÌo¿ý˜6mZbb¢Õj}î¹ç’’’Ú^Ú7ë ÙûŽy0¸†á8nµ’*£T€¢( 2ê§Žùû:[YUuøè±Ñ£Føùz¡3èÊË+vïÛ7{útA{d¶X:Äãq§LžÀb1¬6kƒ\~3#K©R 8 C*`1”×e½ç÷í/¨OfÁ5>_зÇw²n7ÔÖT‡ðx|÷‹ZQQÑ«W¯!C†t^"Š}ûö-X° Õõ~øA(:¶æv$9ŠÚzÄ%Ýõõ‚A’µ5‹ÙÇŸ[oê×ÒÊ“““£P(rrrG»ÄõŠ;xë Ñ⑳‚ŒöA<~üøÞ½{çÌ™Óö™\¡ØfÐ<|tÆÔgh4<ÞhuÚÃÏ?·ƒ.Ú`ý·ëç¿4ŸÇç9Ÿy»HI¡çæâ‡UUÙCC-Ï?Ÿ’’²{÷îìììo¿ý¶¤‰‰‰aaaôõõˆˆ(**’Éd3fÌÐjµr¹<88øÊ•+m7¶Õl6+”¸”ã#I™L}"¡xá‹ñŽìZ½ÕÅŽ‹Årúì¹ O êf0233ûögõ`°ØÌc'OÍšþ¬ãd W\OKc2™Æ£( BHQƒÎ`sXÇŸ‰Šì! Ýõ˜jTåëpP á_ꩃ%U¹†ÇG k7°^¯£ UP˜ÏçñCCÃÛþ¥- ït!kjj.\¸0 ñ1Øý´zÏÞ ‡Ã >óøÕïgödz¥;@c&÷Üb¿üÒ³-§<cÆŒiVŸOÏØþÙöߊG9RfÞ`ΞßrŸ0—Ë5jTuuuXX˜Ðuû4zao¿½Ü' häÀÞt4úðCQÔñcÇcãb Љ¸ß¯ÿÞl6¿ýîÛÍÈïî(a4É8s&ãûïÉ€ë3Ï„ÂAƒ%$$\ºtiܸq®Ú€Åb566VVV–——÷ë×ïüùóf³Ùn·‹D"Fã8Ŧ¼¼\"‘8]ÞÓÔ70éL'0 ³“ÔÍœ Ymmu­.8PŤ3ôŠ&ædÛwIi©··W` ?@­Qoÿ}{||<—Íð÷//«ª«¯÷osÔVX\<ñ©ÛÒ㘳˜l‘€6tеÔÔñO>éÞ„«ZYú™§/ÛÌïÝ”?£KpöP¾ïtœîîG¥KeùUu·Õõ&«ÎGÒíVu ¨>ÃÚíô"‘ÈÃC¤R©oÜL“H<»¹8É_RIÒ#“É8Ž···;'ÈåàÄ ð⋠ݰÂgg=¿ÃlùøòÞ@Pk´rFÄsï. l9>š?~ËXR/é¯K]µyÕeÚenÕ‡Îí9÷å9/·¬Fw޵¼Ý(¹iéŸ~òéÎß·úKÅ÷«êp we j—’’‘H$w¦0uuuAtÚ¥ÐfµmýekTT”ãܨáããsúÔiФ–¿¿Ü‰úPŽÛûô¡D¢–½cüøñ"‘èðáÃ#FŒp5ü ÏÎÎ9räêÕ«333Ÿ{î96›-—Ë1 ãóù%%%R©ôÌ™3‰‰‰O<ñÄĉ íäLÃ0 br¥B*®§ßÕUA" ƒLS/w>áW46‰DBŠ$wíÙST\D’䚯ÖÄÅÆ=  mó y€V«a³™yùyÇŽ³Û쑇hÚÔi±øÊ•T·ZÅÜÐXò?‰ÞnºDÃiž>€«õ‚òV©¨ûû8MÔ âfyu‰3B†'ìµÚ.]T^[„ã´¸°Am=¢R$©Ók9\vÈe“*#óF@@ ØCâŽ-_¾\&“íÚµ«s/CN %Ã0w&\ ¨¬n~¿BøÜœ¹ cŸlll$h´éRowŽ:éÙsÃ'jëj­«ÈCä#õéܰEQWµ{ÏÇ!âuµ;Œ+ÊJË@èœú4Ô70YÌN«Ï”iSŠŠŠ.^¸8qÒDÐÁœF£™õÜ,™LVW[çïç\ùû؆ ieççóùãÇß¿¿Õju¥>QQQ—/_6™Lƒ Ú¼yóüùó=<<ª««­V+›ÍÎÈȰÙlÞÞÞqqq®æÚ9‹Î€BKÊnU4à8¨WÀ§FEˆE,:Þ¨hrÚmétšÅj²‘öèèhWSS3dð?_?ÇI’"ðvæt:ÝbµJ$’¡ƒ‡:ll,&‹Ã樵j7§¸”ÝHZUF“É ÕáA¨äò*Xt«Iuƒã9¦ñ²[«jÊlР6È­«Õfƒb ‹ÆÓê•î<¢†‘v; ¡——§§Ä³J&«ªªŒŒìÉfµsBÓš5k-ZÔ¹¾(—Ësss[ÿ–û½cÇq_?ߎ9ï B¡@øWò¥(êjrRâÕ›!Ýþ4‡Ãf€ÇO/ÏÙÏÏ^ýÅêƒøûøwÔP¸}ëöQ£Gi4àç0{»èÎ÷öoÇé¨m¬\xxx¼úê«G öööNKK‹ŽŽ¶Ùl½zõ ¼qãFxxøÄ‰«««ccc<«Q¥f0˜Bam½jêS±sg ‹°¼b9€€N§C«Ýjvâ PUU­7è¢"#ôàãã3dðÐÐP»lhPHÚ{KxJ À F4!Äëêëår…Ÿo€D,¡Ú›ádee)Šôôô˜˜˜Ž 6›Í`0Øl6›Í!¤Óé›}’HàCJ€,xèž4ƒùÔÄgwîI¼zcôÐ~8†¼s€Ãåt´«$É˯¾ÜráThÔjuiiiYYŽãŽ³Ç¢££Ý15EDD\¹r¥W¯^aaaͦe__ßñãÇ_ºt)%%ÅÕÍõLHQ€¤l±=½ €$Iõõô‘òí6;€€Ðb0~ë8†aÆ 9}îìÙsú÷E%%W’®a¬ªªÂ0lİ¡m”9$8X¥V?qnð ~ÞÞR»Õž~3³¢² ÇÀžýž™8Q pËÆÆÄðNMÆëžž£­ú, “›,8ßþé¨l&×W¬0VÍæÐÀ u N`£ã§¸9rÁ0ŒF£ÓhtJ]RZâééÕ+:ÆÍµ§ÌÌÌqãÆ¥§§GEEu´K9„ÆjµVWWóx<__ß–Ð@ eˆðz¸ž1’´Û¿ë‡-ÛíÓ“´þ}z ¸l$=EYÌ–ÎbL£Ñ¢{EާõÅ‹gdd4ûM1ŒÑ£G Ý[xf±X={ö,((hy´°V«Ý´iSTTÔ‚ œ~ `Ôhp Äpê1À BQ”ÃS‹  ¡Iy¯úØlÖÔÉ“Ë+*nddÖÕÕúOž8ÑÇ[ºxéÒŒÌLE£bêäÉm¬Èô‰‹‹ŒˆH¾v--=‹Á`Äõê5aüS‡Û»Oiiɯ½.{¸)@¾}¶Øm&›± rFK—ßþÜÀ Ÿ+k´°YœúÆšˆ ^>’nîOš0 ³š­ù :#¾O¿-x½øâ‹enâhq¡PèÎöh»ÜåŽ÷ Èð ›ó¾~æìù_þ¸˜ž¯æ°ˆ'y¿¾pv·níìØ’ÉªvlÚPtþ€Y¯–Fö{âùÅã'Lìè$TÝ$_õå—=â†ü÷¿ÿñò³:åärÅÝ’v= ÇðÁCw"zIq‰Z­îØèòOLFSEeEçÎÒ±Ûíy¹y¡ÀÑè“§Ln×ËÙU Å“ãžt©>b±xÔ¨Qt:]­VcÆårGŽ9tèP÷ó ¼yófË+µµµgÊ”)m<ºF¥ª©É¢ÓC1ø§'ÜÌS€²SK­¥€ËŸÔ­[P·»zñâ ~ݺõÈ‘Ãlû‰Ñ£Úx½³X¬1#GŽyçÊø'Ç–•—gee|ÿÓK—üK$¶ûZ°Ûí᧪;EÀE-døÍ³Ûi#Û^Š&I2ª[¿º†š&]]VɵQ}&[­‚ aXûž¬†•–”py¼îÝÃx\^Wú¤˜L¦æï»9>‹Ø< r6MǃÌL`±€;_ŠÆ Øe}^¸xùóŸ2u¼çù±R@ZÏ”•VþËw«—J$âæ0ÕÕÕ*•ÊÛÛÛ±”£Q«7|úNÚ ý¼l4 (u)IJitÚ˜±w9‹èõz¹\ÞÆg…H£A¯Ñu ‰ðóÁñ¿:ç¢(ª¸¤øë5_3 »Ý^_W?qòDÌídµíæÍ›K‹J¹|ðJ¥Òh4†q8±@€×׃¢;ÖSÈbQ^.Ê@§Ó5»Ï8Ìݾ¾¾m¿“mzƒÍjÑZ,°ÐBa)@QÀ E«mÈÏ=ÄÅļ<ÿ¥ïüaçî]¡¡ÝÃ:ò•‡³à•—7mÙ’––ºÿСW_šßÞX´XÌz½N«Õ¥ÍÆ[ĵzb&#Çnÿ —]“´X̱!C®æžSjåjµ’Ëå³ÙÖ®šxyz±Yl‰¤Ã#a‹ÅòW>O§ÓG¥V«[]wÕAårðþû °`X²Ä½SÀd2mùã²^øNŽ‚žY M'Î$Î}~êí!³Ñ¸oß>:^YY¹zõjÀÅs§½ËχyÜ~É‹ÔH¢þüŽúÄÿÓë$É?þøãܹsm¸pÄ’^Ñ‘W¯^*(}&24Ãà_Têï¿û>&&fᢅeee«W®~rü“L–»ã©”䔤ËI?þô£P(\½j5; †½aó¦Íùyùã‹H(ró ‚B÷íÞ÷ÇÎ?¬V«R©ôó÷à æjÛGë÷"Ä.]¸´dѵZ½ûÝ}üŽã-û›p‹ÅÍP¯'ΟÇ*+ïTe¿~еˎã­ü>D"QfffK=º—nñqҰv[§(Š”„„( @H0êØNâØ˜^ï//åÚ5iÇ'«>ÿõÅ‹õq±°ÕLÇqƲr¢èt/“E„ía AL&s`Ï'H’d2˜Ýqg Ãd²˜Ìïê˜7o^»†m‡†SÃ_ËÝäÍøø€¯¿W¯‘Ìž Ü1à Æëf^ä]‹tq¿s¿nV6›=zôèK—.5¯‡\>ö)Á]ó &Œ…)jºY}rrrl6[Û.3L6oÍ·~ýuÛŽß¶¿ôÒKa!逜À{F÷ÔëõŸ}öYUeÕ'ÿùÄ}éxI½úÄ÷Ù²eKQaѰá»w ípRR\âåå5eꉗ»Î>Ž}^AÁAb£Á8nü¸á#‡“n?}$Effd:ÞOOÉ‚E Z‹[«Ñht>3œ4©¥£Éb¸î>l6{òäÉ-ŸœÀÀÀÁƒÛšèbÅc2yL÷\*´Ú޶}HpPHpPçú ‹Åš=s†[ba4Ç ‹MQ^B Ã1 kרÃp6›þôßqgÚÕi¤Ré_øtÜ‚KÚíö±cÁȑǎWö‡–»4!„ ¤ [¸†Pv‹ÃlžÁ`ôèÑãäÉ“·UƒÅ²€·ZHc´l…„„„¼¼¼¬¬¬ŒŒŒ–ÊV¯„€à°÷>øÈNQ¬ö¹†gÝ IDATôBØögìtÆÜysóóòëêêâ^óñõi_¸óV‹õ÷÷O¼”8yòäаPÇoqlDh¿3Y -0p@```· nÍ9º“5±qãÇ «Õß7žÏçèn\À‹ó^,È/À0lÞKó˜Lf«HD«±´›Nm¯1Œ~ýúµ¼Âãñz÷îÝÖÇjått_âC‰C5:º×É1ÌÁÝÝÎ}²‰Ãa‰f^Ó¨ ãN·´6^}zÊ–óÇýû÷ËåòæÃ[F{úZúC%Öæ®n´CvÏ-—M'r,[¶ÌµôÜn¦{ŸÆt¬»rõ†Ò0CÐo@'ê€A#ü¼ýž›õ\‡W$ !•HÇŽÛ™¸A0ˆÑ#Gwf¸q?o¿­[·ºü]xXa0o.žöÖÇ[jtci¢hÊf°*’ŸêY>vÌ[-&žÌ+V´Œ5dÄè”K/]NÞÇ3±P®‡ixØ¿^ÿ7‡Óz©tݺu÷±´]y"ò£RÄCMdˆo?Ÿ¿ïðùkÇyÖ¸±S&ý‹Ínk¢‹ˆŽŽ íÄ.væýp§ìpד&u^¯G͆@üÓ¡(Êh4òx¼ÎE'I²sŽÔû\¼t)å Ôl¢«g^<.70}ç@t5èÄÔ@ õA ˆMë÷‰'vè0 ¸?êãííݳgOT/ͼR@êƒ@ ú RÔ@ ú ¤>Ô@ õA H}©@êƒ@ H}R@êƒ@ ú RÔ@ ú ¤>©@ õA H}©@êƒ@ H}R@êƒ@ ú RÔ@ ú ¤>©@ õA H}©@êƒ@ H}R@êƒ@ ú ÄT]Œ¶P$ªg@À‚Ž*©âP_Ž| ¤¨&œ`hæ€à¨&ú ªZ÷ è÷ª 'ÜØŒT Èîƒ@ ú ¤>Ô@ õA ¤>©@ õA H}:MÉs¯½òʺÍ{v´x”y¨|©ºâ”™3æe–Õà»ö•×i¾X>Ë@ÞØna5Û Z+߃1Ø¥ùZì:•EäÅBM€ø}¬:ÅÚß˸U ÝnÒüôÕgg3 P ¹IvRý®ujsç[ž¥Ý´°Õ?⟭>…yW~>9hjzQñ÷ïγªeß®?‹ZÈMÔrKSÛjéêéªAMÕç0Qý#þÙêSpx·0?üúÿb»Îxq0A`ªüc¨…š©¿eR7XÿYe&Iª¶Ä¤i´ æC<Ôês6µÖwè¬é}C ÿ!iסjfÛ;õ‰¿©ÿYe6m›—Ô%¬A͇xxÕ‡" Ù:ýÒ©½é0ÖVŠâL@-tÈš‡€FÚPã!fõ±(ÒÂÆ¡ãÄÃ…¤1{ÐãÓJ¹aÇg%Mõ†Çªÿ•gë~ÿO!z‘úü@Œ a£(€ª¾jãþà ߸i}¢#õ©7dîá©ÌUÿÓȘ©¿ãè9|<é:o¹\þïÿÛ`0Œ;Öi€ÆFMbr —ŽÙûó™ô[ƒŸê#éTV²ã&›Qg$y<ÎCX¿*•Êjµzzz:þÔúXÔì,C©õ©±«U#L¦RN“ª¬ì©MU7l‘9½[qSÕ Ü¹3‰ÅwËß§ªªJ*•Òéõey>K£í³eËIç“E3¨­‹MN.ª£%8×ÜlÆ{Ë–-ez°ÖÜÀ¹Y)‹ΧE.—3 >Ÿß5Ù µZíããÓ5ÙÙíöŠŠŠGP}4Ío¿ýþÍ7ß8 pqûZh˜ºâæ©+¹’n}ׯ[å+h)×fÑoúß2+oåª/†zãÆ]»v­\¹’F£Nž|>ßl67¶y4M"qâ~gUëqœŠ„ ÓU¾.‘М›$øj&{ð<èÊN–$ê.þ_wR‚Òá_VEõå5Oò=<<œþŠº,õÙ5ÞúüH @€oè¹²êÃb±âãã[^©/I_¾ë0Iác§ÎaÖœ$kùñÏÇ·›ÎÅÄã$i:vôˆB¡p¼É¯g4.~åÉû2´INNþâ‹/˜L¦+} mõ+Z¾@„BaŸ>}VçÊÊJ&“Ù˜«ˆ¾7â-†"‘iŠŠ éåÜêœ ¬ö÷gÅÇ;Ø4%åõ\nLL¬Ãê|ë’âê—\JÁlžÃbên"…$>þ¶ˆxzzöêÕ+00°U:êrõᵸ!Ÿãn÷¢åÇÆÇ;%*e Ãèª6Œ:k·!0ä\Dlåññ=° •gyuƒ®RkIcc#‹ÅŠu5|“H$AAA®’ÊÉÉIMM]±b…«¡“S®^½âNñî $IÞºu«Ë²S©TB¡°Ë²ÿù>”më·_^ȯ–F þïÊå¿~Y¡,>AíÚ}F.ûd$€¼¼¼~ø!66ö¾HÏ? Š’e×߸¤L\«³ øsÂe;ûl£â.õ¤åom7Á”_ñ†|wµÒz›¨²ª)õT£ÞDY)4dÂ@üóÔ'/ñÀ¼³âËQW%±ÛKK«M6¦[+-ºræLšP(lhh8{>sìèXwb­\¹2((èùçŸÿG·\MFÓö¥¦Ò+>ð˜&°ÿ{Éz—"P˜©Ç̆§ç¶«gf NQ-¤Ú=úWÍûÔÿÎ\©N³ãmmÚ/h÷PÀÊ÷}ý³ß|óÍ3f :iÄ££>‹¥¢¢¢ùÏ[×W*Œ‚ÀacûúTTTtgÛJR¯¾ñê«^aü ¡}c{Šøì6ÆAZ¾cÇ™[¦ÜöÜÊáÖéônuuµÅb©¬¬te0 ®¢××× †ÊÊJ‡ÝG.—7555n¨gêxE…Þ‰%«VcµŠjkq~Ë™C»‰Fš HØôz£Ri®¨Ð¬J°u¶X^(jža$ßb–˪ë´&Àh›¹u8IP$Ęš€I£ßñ’UV´œ!VWWSTkOAhf)qP6 Ò ÜØºg¾ôT©ªU*°ÀÉy™}›GÐ(yomV‚4ÒM«ÉhijRVT8oFyÍf³9¢ËlN‹76ºÓŽ*•Êb±Èd2£Ñèj Üè:©ÚÚZ“ÉTUU¥V;·â—••´¼ØÔÔÄårÝìfºº:•JÕeÙi4ƒÁÐeÙý ê£×ë/_¾ügU|·ó* 8O’s=EQ•»ù×ÝZ™üàŽ[°ñ;ØgÂì¹ãöl{"f3È«–n~Õ²"wÊP]]M’ds1î•F“””ä{ijjÊÍÍue“.((hll¼råŠ#@^^žR©lÎK/µ¨X¢r'ÉÊlFÃàé7ÊþtR¡ì¶Ô­,mAw»–éFhâaÒ2ìr- ¨Â== [ÍŒþ%™Ù· NšTƒ»MÉ èH;¤ 4–='û®í555©©©÷îi¨¬Œö­‹™¡±iÏHçYKJo•üµ>M’h,~w¾z¯òË—¯·4Wœ!«#mJvšÕÓ~^Îsn¾É‘’Ë—ÓŠüÀššÚz±«¦i%.ƒáêÕ«®Vµjkk ]%%“ÉÔjuJJ ›íÜ9S¡PäääÀ»½ÎJKK5 Ž»µ1M¯Lÿö'ëGý^xyl7·<únݺUYYéNmì¦òÍ¿hTšZ]÷9nþ`·L9ƒ¡±±ÑÍìH›êØ‘?r Z;¾ #cžŸô´poYðÝÿ7±‡¢ %%%AÄÄÄ4_©:õ% ‡AÑƒŠµ–š‚kÃüøbo>÷›þÜ¿Ìè&…`„hÏ¥¼6’5ißzvÔ¼¹óÝ/Éo¼±aÃWw‹‹‹h4]˜4iÒñãÇ]ݽxñâÔ©SÍf³ãϬ_¿¾ùnÁ*u§óˆ¥Ùòå‘u¥YMŽ?µuêUƒ Õâ?û‰•&Š¢(Ò~ä}õ"HÞ¹m ,ÓhlÍ©};Ñtt}U•°dÉ’ŠŠŠ{¯þ„Zÿr‰«X™ûUK0[ËR½R]˜©m`··¿\û*´· óí¤Z— ž°. -vü;}/õÅ’ƒ?ÿü³;¨P(¢££ëëë]X¼xñöíÛ]ÝÍÎÎ1b„R©tàÙgŸ=uêT«‹6l8qℛݬ®xƒó9Ý…47SHMMýì³ÏÜ lRžíæd½bÀª n¦ T*§M›æf`«ñÖ‹ÓÃïÍ.xÖüR£ÕÍDþN»Oþ5IR±cç‡ri¿ý±óûíÀ<Ù5eý'S Ó¾²èJnåê5kÆn 0œImg÷ü°åXâ”™ÿT#E’M5F“‘lj0ƒææ ¨SŸ’·’=îzóBŠ¢ÙbÃ_£•f)jr8F=ÉAé`Õs«|¹¼¾Y<|4{èkòœÊN°1(ÕôÕ‚î½î¬¦§o³\ýÝ£î~õ1[^-‹²Þb³SZõ#ûÕÓÓéúQ÷l‡†8¿gÏX_Ûêzï²bô žññ¼ÖC­à †Ûß5ø;Û^n¶ȘóL, âÂÅ'–¬™<¼w៽—R0|fä€ñ¾óâS/‘}áRMIe@|ؽ)Tf¥ìIÓhÍöhÕ+´GWó(e#IãÒl&`§ÃZSe³ÕÄŠéSßcòíU-?ëÍÃtY¡R!·I‚y~ÝüºÆŽ)¤=ÿ­Tñ¶JVnf‹™!ѾDË2’öšRÊf¹KI¢1~!«å£(±þüFFiºÉl,>PæGå<üg¦¥Íì²ìè¼þû^è²ìpºß¿<ðß–ݧ%ž,30#6rLŒ ŠÛxéLµÅîGÇû {a ø««¥r}=­Õ‡´4nÝubÆô©¿ýøÿÄÞ)K—o˜ÁT–Ý~5Y  ÎÚ€0+vœª8™$Í«„EØW>çaHø×&$ð€ž’€®/7„’ ‘$ÈÙ- ï1¿¸YmP8TÒNókš¶ÃÿÓ’e½ò£|ÛR)NÝV(3\)%]­>r¹|íÚµŽ›ê µzý–õ±ý˾ç¿þ¹:ýjÑMYSmÃ'­ŠôbZÔ = Æ:¾wAêÕ»^–¼Œ4J =µßaÜmN¶]nܸQUUåj­D¡PÔÖÖ~óÍ7®ìÊ¥¥¥ÈË»cF5µe·n5(”V©Õë•ʦuëÖ9l“999jµÚdºm 4–Ú´œKÕù€"˷̳”ñîÞÐì{íåd4lvmlv„µ Xwú4Ã}'øªÒ e ©&¹«™™™›6mº××®1eH“ªaíÚƒžIÂI­ÖÙ€[Oø6¦1o|õ§]¼Ú§ú×g›¥çö4®]û@—žW’y*ÇÛ=XLúв[u  1¢¾A¾qãF.—ëêªÕêúúz§wëêꪪª6lØàʧ´¨¨hÿþýÙÙÙ-/&''ß¼y377·k™L–ŸŸï~Çþ‹Æâââ.ËîoP‰DÒâ{î…Jè¿téRÕ´q?m¸´t邪s’®ö‹~ò¥Y±òÒÂC¿åõ›¿ø½¸Ð»||K3N7š¸Ÿþ{aQaÁWk×öèÑÃýsIÊËËÃÂÂ/^ìJ\.^¼¸dÉWýòâÅ‹“&M?~¼ãO›±þ£7ß8tðL£ö¶œD \°p1‡Í>|¸¦¦fÉ’%Ž[ʼn˜¦ÆÏ|‚4i>øÂ£•óŸï0Í¢g‰„÷Á|óÃ2hë©%.¦*..ž?~«eÀ %QY}kñÒñ¢õ³j6s·$¦ö6kÆÒ¥€Œƒ~ÑêçýÒK/Ý×nR¬ZñÞ¡ýGÔ·¿5Àóð;ï%?_oW?pàÀ®¼ºrssSSS.\(8ßA’œœßBØÒæUëž[´âÛý}—?7òãÿ ‚Ã7Þ—íi¬iJ£3ú¥]Ùq½Éôò’q‘Þ­LYºœ*ÊÔ°zÕJÇN‹ììì_¿ä¦»3ŽãA¸rç¡ÓéŽBº €aFsܵèš>Y0÷»ý—ȳ‡ê’<»ý3Û‘š“¢Ñ ž±ãåW÷ €„Áo´|á?oÁýi 3·ñ•@§Óï €DZí~rŸÀ^|ßžÕ¹bÇñÝ€¯ó±iò2o4à˜ó¦±™ _¼ñÊêßÎØZ8(锊æzvÚLm·2†aNkàÞV¾ó´Ľ­:σ†Á``ÖeÙ¿Ý׹ψIË_8ûŸ÷æY5«_œò¤¿0Å‘LŽ÷±Ü’ð_|¹f{?|ã¥{­èý_yÍáÙÛ;-ìVSYqÞåÄ$™\íéß]¥¹óŸêšŠ_Ž^i)=Ã㟙Oc¶Ä׬_Ò§ž­´DÌ’°>>BÁ#þÙhiýµ£ìüóµù™zž»ßÓ¢n=„4¼ý%µª~ãžs-¥@¬×“ÏqDw¶D’vkyqnrRJyµÂÃ7¸NŽÎ`BvŸ¶_Ñ4ö‹ï­Á8«?Z±xï¶¾ãÆŽõ—èšô9;7-ÙÇ™½àÍ÷Þ\âår…2-yç¶])R©´¼¼üÇ-g„Ù-ê_¿Yù¿¯®¨WÞ´8¨‚I£I94U‹E7ÿžÃ6®|íÆççÙBzä8zä8ÑcÔÝ ”³†½ÂÖÑnо\z£éŽ©NÜgãÚÿJø·Už´êömùfÅçßܪitHÁàL{f"z‘úÜžsÑh4­V{àÀV·<¬ù*$1áì©ýÛëäJ“^c3˜¯üvP€(ûZbv[©2G5jÔ(ÇHüÞ”]YvŒFc«ÀEZÌ;E)MMM‡vø:_=½kýæý¦Ã»Å”’’ò§!™œ³èå¶ìÖ-báñ‹¾X™{­òO»dZZšR©lΫ)×Ó¢dV1ªtm×ÖÆk3s,RÛ°hž>}ú^_ç’ü¨†Æš2»¾/Ö§úUTVÔ¥ÎÚ‘záµE?ü¼³Ikó Ž^°ð¥ú¢´Ei·-JIÇÖ|»Õ`§ZNÖÒÓop8­^]”Ål¶“TMM­B¡8vì˜+_çêêꤤ$½^ßÊZÔÐÐàj½â¾SVVVRRâf¯þë …BÑeÙu©úøùù%'';¦—ÎîGö8Üñ¯ëG>š÷þ<("2ü|Û@$I¥ÒÈÈÈÛýÑnºxbßúï)«k")1èå×-<"‚É`PvÝ«óO¶”@è ‰CÇO ô¸m=Œì9mοìvBx¯~DD„Èpû™×²õl"ÂŹñ÷‘Wê-Œt9l\¹r¥Ó*‰Äb7DFút½úUü °)ƒuNŒš4si·ƒ{ê™" ï¾yª¥ôbFŒœ2'âÏS®)»%õÒ‰o¾ù¡ ²ž¤(1ÿîA!¡b‘s«3ŸÏhî$Í­ !„vM…ôèÑcܸqnnì¸/ÄÆÆºZêýg«ƒÁˆ‹‹s'¤¶¶'0gddă(‰‡‡‡···£cQ”õô®ï?ûïZ¹þÎ!5U5a¡a\.‡"M±RÎEí S¼fõOéÕ¹ˆÕ DFú=èÚ>Ë5K¥Þ‘‘þXì fudd÷®Wc.` @TÏG¤Hs?A™¬öNg|öùÿžÿ qùØ/ÿùlU¹âŽ+pEi…Ÿ¯opó}ÿ</00°•ú )»iÓl[¿æ§Ǽ#þû“Eøè¼>m±æ>æS[^°oϾk7²õV¬¬¢20ô¶ïbÝ­¢wßø ¥ô„A±'cþ~êôúo¿OË)!qFxtß×–¾Ö+Äõ›‡Ëš„16î;ýíwI7òlÖëµ·ÞêÐü†Ð©åË^}£\q׌‰çA0î BíVÃÅ“GŽŸN(“5xø—UÕ 'ÈG\}”Iß~õ]fµ¤g©4ä©Ã?21HZŽ?ûþäAÙ®ÝóÖÛ¥å—ÛþœC‰¤‘ï,½EW¥½Ëí†+ üô¿Ÿ³˜·§‡~Ýã¾øú{FKA‚ÇçÒpôá͇/ÿˆOV£VkH€óø<:qW3Y­úRõ]/Oòî{{Ý6ùk+Ö|üþ÷¿Qj ·Öt–^oFû@ù›·ØØ-&»Íñð“¥¥If;@™“ ðŒ¿?FŸ†üëï¼þîÕÜ2[ ó\VvÛ:±bÉLÆŸxǬ\÷ýâY#[.ñã]ä!ö þAÒC÷©çK;5Šÿ‘ûæ0œ&ò‹=„­¤Àø}þö|ëö‡[žá­úîÝW'4/öïYóÉÿý´»éOéج»ÝŠâQûˆû Ë©Ï"œcžc¤UµcWSñ|ä_]ŠÎÏÏ?xðàÍô¤¤âÚ»0¦0:¾çÊ•+_xá…nݺýû› W|YXREpD1½"èØ£°éqñ¦ÀÎEœð–ñ#ÖËq:ãõ•›ç½ûy~Qd zFE°é·{þÅ‹“®$¬ûùˆùîµ…à¨Y99•e ,påøg«N÷yû…W2ß 4ë…écÊn•¦Ûz&¯ò;‘²þê'Æ######s/Ÿ(¹™žYVOä %óÞúìów_qî,½‰¼z ÞðhÃóðé?°µÍnäÈ‘#G 5Ý\·çŒÁl`8="~Ć6ŒîŽ*íQVÀ ñóùZóê[ŸMŸ|H*æÕV+¦-Y±|Ñ ì>­kö:nëÎGŽ,ªlûŽ=nâƒi8†ÚqH¼÷ÍϽF¸œnŒž±ñS§N ñ“ ŠyôÕgp&¾òAÁä9.T7ú {">º;q]* ;ptìÀѨ±®à{øÌzéµY/¡šxÌÔÇÐ3`ê침=ˆÇ4A H}R@êƒ@ MT@­»wÛ àãmmîÞ–”ÐQ¥!H}þ2U_*+©E‹l¨6¤>]Ä×_Û·m³ge¡ÍÏRŸ®âêU2+‹Ú´É^Xx—ô`Ö,àå>ÿ¼ýÊdrAúeÐPŒjÔ 9ðª¤>ˆ\¾LΘa«¯¿Kwüý¡T àO?u ýz§? žœWŒj©âO®_§fÏn-=o¿Ï›‡ÇÄt^ت¢ IDATx;ÁB_T©RŸ6)*¢"",­.ˆÅÄÀ… ñˆˆª@êó@¨¨¸k¼ãáÖ¯§¥R¤;RŸFj*5oÞ]kê¿ýF{úi䜉@ õyÀŒcÑýùÉÒðpXXˆÜ¤>žuëìà תU÷¹–ʪå:ƒ Õ3©¢52E’j•]\õÅž›Z+ú6©ân6o¶ýõí: ˆ}Ÿm=ïþxŽÙ}¸ÍbGU@ꃸÃO?Ù—/¿clž>c2ï.V“Þd´ô æ/hjj’Éd½zõjù‰Þu§*òªu¨EH}Þ}×Öll–JáØ±d‘Ëf³Z­fA†I™€éÉ cú… …Âæ0tÌfµ¢¯Ù!ú<¼óÎé …ÇÓÂÈk„„˜ÑhÊÎ΋ŠB¡P¥R ’$µZ-ŸÏ·X¬vFû"ý¸<&‘ZªB Š@êóÏ ¢‚Ú±ƒlþóС%=ù®T«¯_/yê©§JKKcbb˜L& ¬¬,==}Ú´iÃ!vÇ2ýíœyÕšM竾y±çޔʗF/ý5Ó`wÒ|Ã{ˆýØ–”\Á¾ý <ã0p³Z4Ü R6ŒÆÜ™Rg±ƒ&½ÕjC[ÎH}þn6o¶7oæš>{€Òãû`$Éœœ…BáëëK’$À`0èõz›Í „-¾ªæÍn¨¯P¡RöŒxQ„ç1Þ{3614\X£4ËPDø°GGŠzð*e5¤Í1ŒAƆE³KkÜT­ÚŸ- “_½2(^j ðÆqü\ž*G¦')¤A¤>‹Û~úéö"”P.Äi´™†ˆCˆ™L¦¤¤$Çùå—Þ½{=ÚÓÓ3**J¯×Ûí$€w­Ê_Ê(ëìC`ÔѤüø¿/¿Èæ 7|òÌñ”Â)±¾&êù‘ݶO…f>ˆ¯Ÿ^Ó \»óBƒžd¤^>þï>@ÚMg¯å«Ò#$Ø{ÏÆåV3×'ÔC¹S"úüìØqgý»_?ì›ïûàà }}} N7 †UTT…††B ƒXËñT¬;NÃI’Ò›lqÝäЫNe2ÛN¤çV6óó—ð½Ä&½ @1|ÍÑâ^Ûâɽ¯UZoT™ß{:0TŒÿp(ãyÏæÇ‡’K“²Ëí˜'ÎBÝÔç露mÛ¯ÇÌ‹Á`zñ½üýýsss³³³Ÿ}öYÇi4†a†A @ìŽêÛEÅ²Æ »·yWjZQýÇ;oˆÙðVEå§û,Ý9zˆÓÖ/ ç*ê2ªå˜ÃJš¨Â/»Ä“ƒYÍìË™å Z9Óç”7þ‘_lLׇ`òZÎò¤>]Jf̰6/u%$йÜŸ+Ä Ä½¼¼¦OŒKII±Z­±±±Ã† „……=õÔSBNn„úæg‹Ì¤0Üb'*(Š–Z)’ i<­¯T2`ȇZ¬JÍ€ €!À Ä!c\± x”› “…ŠâÈj­P¦³ZÚ¶¤>]DSxåë¹sdç !1Jg¡Š,˜(¨D~}ðà~Å €·O>4X©–ãœÎ“#Zk÷GÜIÁ⡾Ž@êóñ ÖS§îHÏŒƒÑ%êƒa7ªÌKvÉ€?1#€Ù=ÁШÔçpµõ¼ú*þóÏ]TÂ=È1 õ?RŸÇŽk×È–Ò³h¾fMVE å>˧£ ©ÏãÆÊ•ö–®õë Z—Dìv;RRŸÇ‹’ª¶ööcߣܳÍ€ˆ¿ÇÑËcϲ¸ø¶ú¬Xñ0ZvU*Uccc}}}G#VUUÝ—X­Öºººû•ÚCŽ^¯ÏÉÉÉÎÎ~pYÈår³XðØ«Ï޽䧟Þ9Á§[·‡è+V¬X¶lYBB‚Z­.**Ú¹sg»Q._¾l0$IîÝ»÷Ö­[ÈwÓ¦MË–-[¶lY^^žãŠB¡Ø¾}»L&Û³gO{R¾ÇÍ\NŸ>­Rµµóþ—_~q£•¸ŸÅ½TVV®^½úÿû_JzêÔ©Ó§OçääÜÛ§eÞ³gÏc"åhæå’‚jæLkóŸ/¼€ þé¯Ñh\·n ¢¢Âq¥¬¬,555,,,..sæŽ !>>2™,33süøñ{÷îýàƒ ôô;Ïkÿþæ®.äìYÂÍíñÚÐÏÏ/<<üÉ'Ÿl9RZZ ;v,Iv< ??¿Ý»wÛØØˆÅbcˆA¥R999¹»»“$iü±MJJ’JMî‘.‰ÂÃÃÃÃÃ=<‚••Ã0åååAŒ7Θ*‘H¼¼¼:w?ûXȸ‰òª{£l‡nü¦ÿ“Ò³v-Ýbø|òÉ£1|öŸ¿‰ŠzÛC­Ú ŠB¡ðôôèt:¡P(‹§OŸž’’R\\<~üxSdkk[VV6oÞ<@ P(,XŸŸŸmkk;lذ€€€Q£F©Tª   S"R\\¼ÿþÈÈH''§Ñ£G;vL£Ñ 6lÀ€Û·o昮P(ÜÝÝ Ã!C Emmí¥K—Æ7oÞ¼¢¢¢;wîXYYY[[{zzŠÅâ½{÷Z[[[YYux©òòòßÿ=22ÒÞÞ¾¶¶ÖÏÏÏÇǧ´´”Ãá=ztäÈ‘ÎÎÎ<¯ªªJ£ÑxyyéõúØØØ±cÇ+í~H’tss;tèPRRRHHÈàÁƒ .\¸°råJ Ã<==õz=ŸÏ4 ³fÍ:{ölJJŠH$š0aÂáÇ äéé9`À[[[7n=šÇ㙪 ca …¯¯¯³³srrrUUUHH˲2™,--mÅŠüô+unº“–Ðò÷Ê•+gÏžý_UŸeËšãÍS¦ ÿýh:Ú§¼ý+îgΜ‰ŽŽ6~þì³ÏLµïvDDD\¸pÁøÙÛÛ;,,¬§åÉÈÈøå—_ŒŸ…BáÇÜý¼ÆxíÊ•+M½ÿFSSÓ† ŒŸCCC§OŸþ`×Ù»woZZZËŸëׯïòµß´iSccãªU«\]]{z»ØØØS§Nµü¹lÙ²áÇ·ü™––&—Ë[¶þ¨>AAèñ㸭-òX©ã>ÿ}† A•ô@ úQŸWqñcT˜Ò²²C·RÛTŸÿ8Ÿ}ö½êeeeb>Bp’ª¤o 9Æ} ý™ÊÊÊþ÷ùðC¸jòˆ‘ÉdýQ}œœ`Èžyü`æÄ±¿Ò#÷k*r ¾È.hÖü%aVÖÖçÊ•å~ýÛ×çKÎkiíDû‰kf¯<ªéôDœ:®ŠþîmO\h£¥Øëeg~ù¶èíϾoé'Q«Õ999–––Æ#…E…oìx#!0ÈDÊ#óOåoÅ·Ž Õr庺ºòòr‘Hdœrwq‚@ m¨®®ÊŠ:°r8·ACüwE¬L9Ú‰ôÔ¦\»r¹åµZ}ãÆ–5 ‡/NtKdíY@€ÖšÍ ÌÝqvGë+Ÿ8qâÚµk›7o6N`„¶Ï£G¥Ri4‚ °´4ÆÁ5= ©©ÉÆÆÆÔòÆÉ߃ ºuëVvvöĉËÊÊ<øÌ3Ïøûû#HÑ®:.·žËí–‹Î0Š“X–­¨¬,(,R«ÕXºÂçóºÿøjµ:G&«©‘óx<ç¶66õ?˲Ʒ®—°±±i7†C ˜j-w›| Óé4MsCª¨t0¢ˆhÝÉÒóÙ ±véÕ¡S‡ò6E_7~‚ñKKËåË—¿ûî»-WŠJbæ·ÙœŠ•²‘²ÈÖG C‹fAõyô (*àó9$É¥¦O§œ‚0,[SSC„X,ny¹ÿÍT*•õõõR©Ô¸FÄÂ… £££ ‚8þ|]]““ÓÍ›7}}};i…:•ª(1£Y–e ’d†e`–eY–Â9x„©E64Íå«×JJK\‡ ‰uõòCGRC‚ƒÝ‡ ëγgÝÉŽ»rÅÙÉQ"é úèØ;[»Q£L-'dòÅftŠŠ³›©(ö€[BÓ4•Yâ6Ð$ºµ­’N§c¦GådfçÎÅÅÅœ°sSSS“^¯—H$ítmèС­µ »$€0¡Í1 Ç(Ø Gl,ªô,¯Ó‡5㘭ÕfD›,ååå qpp())êó ×㉉¤\ާ§#8ŽÊdÌ! w÷Ï>û¬¶¶ö­·Þ è$÷_ý•––6yòd†afΜyìØ1Çg̘qæÌ•JµpáÂäääÎ)åµeW’m%V(Š´²¦I^«öv·fË2ly}µ¯'×¢ãýc.]ÒëuK.À0”aY^ë4Ð!6ö²P`ag×ÅZå•Q1Ñóçζ²À2,E† |5!)îòå)¡¡=ªÂÆÒCµy? l¦>¸aØ‚’œ’*Ù´àEh7ö•ÎËË•×Êì ܃r66~óÍ7ú'ÍrùòåìììE‹µ“Â?þÃ0š¦{v9uÑ;;»Säš©Ø8Åv¼«ÀÕ’c/$ö¦*'¿8­åœâââ-[¶$$$„‡‡—4š1rÆUÙUÚç^ÐtÖÐY­¯¼qãÆœœœ²²²öÓ¸ÏêÕÙüay<Ö‚%I–Çc–ËeY¶¦¦&>>þ£>ª©©é$wiiéâÅ‹(Šâñx ??_,óù|£ÍÒ¹/£SªpÁP C1EÓ2Ë£âez‹¡†aESm‡KJË*++§O™B’daQÑî=»Íy[+›‰ÇDÅÄèõúNnj0"Î{zö,[ ÅpçrÌD’àQ5òê’n{(,KÕîÆ™s¡HQ~L]{™¡Õ=³zªª¶¬°4W¡­EzúÊ>†éz{[Eyy{±€IH¼ZQQÞ, Š¢ôz½F£)**R*•z½¾óª¾k¥‚nVªTj9í¹7?¼DÕªé¹Þ"{!±÷†¦aÈÓþ­~œœ¾û„£ôž™ò̼ÒyX Tèz N~cá­¯¼gÏž¸¸¸ððpã‚JÐöy zÄIbéé†'ž ýý‚• A°°°Ó§O_¼xqþüù¦Äh„»¸¸$$$øøøøøøDEEiµZ†almm«««Åbqaaá7‚ƒƒíííï¿‚¢ªÆŒkf\É´I¥¯kh (mqi£›«%˲<.OY#—X¸?ãìl?o•••………yyyÅÅÅ X(Æ0D£ÕšZ“Èøs¢ˆX,lT4664²€$)°øúxefÝq¼Û™Ò…ÃUþNÇYH |‹AwÞ dj«Ì¯p-¼è:~T¯¬IϾ^§ªÄ1ÂRl…ã8££þNüsÒˆ§»tÁhš‰-ÄquUuUu¥ó@¡PÔ Ã07nÜ077ÿ'FPSSMÓ*•ª›~\y9ˆŒ/½ºaØÿ€@tÝÖsgïN¼c!’ Ÿ1{΄.Ö‘ˆ%Ÿ¯ûÜç´OTd”V¯à=aÁë \œ]: &öŸw|éRl×.úñ, @QýâŬT Z5ßÑ£GWTT\»vmîܹ¦"/¡¡¡—/_^¾|9˲õõõ Ãðùü¼¼<‡ýû÷ët:‘HÔ¡ú(kä\‰¢(Â’zë"–Å®§•b‰"¨×LQQ ¼ÜïÏ(¯­uqqÔh´¿üúKQqàó/?Ÿ=kö¸'ÆiµÚÎçÐR4MÓ4‚ 'Nž0ÚNŽN¯®YÃãñkkït§ÞTòx}ý1 ©BQ›Šc,Aङ”Çw—o&††c¤¤‹ØA“S©Ò5êÆ&½h.D<évÌßi¬°,«§(c º¨ ÇqסÃH‚ìR¶RRR¢££ÿüóÏn3"‘ÈÒÒAnz[4 »cŽ#~þÃýü‡÷¨HR‰tÍskÖ€5Ý<¿©ÏرȮ]ÜÝÏë1\dƒqvnw„Ï祥¥u¸ ÊÏÏ¿zõêœ9svìØ±téRg\EÑ«W¯ZZZ®\¹òìÙ³ƒ êà¦4­®­‘|A(ŠÉÊ-kPÔ3 ›_\«TzˆD\3®Y}]}‡°·³««¯³µµþßÿËÈÈØpÿW_|Ų¬J­Âq¢ó—Àq3W­UMš4iÊä)­TÉ-“Ù›X8¹}¤S¨®W*2(ÚÃD¬F‡0eþ3³‘:e&O:¶‹(Œ²¾¨&‹Æ5z ÅAÍ@Ó Å„zŸ!£º¼;Š¢ÀP¥(ŠÀq/o/U“*1ñÚ!Cmml;5v‰U«V¥¤¤GhΑèusŽÈÀè'Îµà‹»ün0ÃqÃpE1 £(Z¡Pp8œn®KùÀØÙÙ¹µ¥Ç\ø€( P}ú–Ö;)?ÎPåää4mڴΣ B¡pÚ´i2™lÙ²eöööaaa~~~cÆŒñõõ}饗œccc}}}¹ íÑ©5(Í¢(ªÕ.^ɬkhÄ0 ÃP.—ŽOÌ,¯ªG„R©õYí‰d˜ëÐKqW• "Á”)“ ”!/¿àðÑc£ƒGu¾†a¡'^½–TZ^¦hjPkÕ:ƒ^­V>z\,J%’nVFJ-‡¼§Q[ëU*+ôZ ’#1h §kë ÃpŠ1ð¹3Üb¸Çh[©s£ª~BÀ,©Ðº[/Š8ã„—×Ô¤NK»Á0lÀð@¡…° O§[½zu||ü믿þ 62ÃÐ4]___VVVUUe0zÖÕÅp€×ØÀ.T¬y÷¯¸ÏîÝL\înìuð ?6ÐØØxôèÑÄÄÄÒÒR.—kggWXXˆãøˆ#ºÈtqqár¹–––~~~­Cׯ_?r䈧§gHHH‡5 œ@̸äÓ3F ‚c`Ís“YP Ô Ñó~ÒÇŽ™%9qA(04£×(Š~zÖ¬7Þ~k℉Ï/[.˜ÜB,/Y¸(âì¹;f2š¡Y†•Ëë‚Fž‰8óâ+¯¼õÆÝ4„‘RË¡ŸÔä|‹b%PÔBg˜ó\ºÌ(¶Ú‹‡4ê+ÔzŸkŽb`Î+D‚î.ùŽa¸—ÛÐИ›ËárGŒêæ8I‡³sçÎØ`x<žR©´±±!IÒ`艃0€§(À€ ŽÏR«ÕדSKŠ‹#º?aäά̌ ½ÁàáááéåÝù/Pÿêóúßÿ0£úŽa>þ˜õðx\¢?999Û¶m«¨¨0Æbq·²²âñxÝlІ999·VŸ¼¼¼¬¬¬eË–ÙÚÚšjJyCQjAAÑßí¡7ÆzXÀRF¡ìP}nnNŽŽ zƒÏãI%Š¢ü|ý’¯'–}áùçù¦=‘P¸`þ¼Úº:•ZM„X(477—Ëk:°{Ïž°Ï{yztë…ÂE’!ëšêÒPP©Vhq‹e.`Y¶óÚÃP|ã°èäÛfnm}M°W¨—ße®TMM%%Å Í ìjnnÞÇC´q·µµåp8]}€BärpoT€ß €@G_Ž\^ûþÇÛÒ*œ´Ø ŒipüsÇaONzr\'wÑëõ'ŽJ:°e0]NúOÔÆvü°W×òùæP}ŒZtÒ$´%èóùçÔþýËꂾ¾¾›7oNMM5qvppxâ‰'z´»‘³³s|||ë#ùùù¦öm¶}êjjªëä5HóHê6éYÀshRuœ˜› ZírEÄš—^Ú²ukRRA/¬x®“®w‚ lÚNžžôäÄFEã™3§wý¼ûí7×ì´üFOÄ`Ðkµl}ñ ¼º¶1ÀbГ:ž$9Ï3`f€ÐÎÝ~DfIBRVÌÔ‘ uˆŽ$I ú”.‡SXTèâ<ÈÚÚ¦W‰+--ÍÌÌl÷曌ðÔW_¹¹ÃÀäÉ­".&uäÇ{¯×MÅ­ÜI€Jõ~ŸlÝ8·e;6µZ}ôèÑœœœ x{{Òo¦¦üºi¶¨EÀ ”'Äì:7pðü…‹[_<33333Ó¸ãkÿR‘DEææ:• `ÜÜèõë‹ÅÆH’œ4iÒ¤I“î½Õ ùÛoH}}³à86|80á@ASSS»ø‚¤«Š¹Xd5l0Ša€eaY–eA‚°, ç=zœ––ë֮ݱk÷µ„k‹<Ó‰útð“ˆaÏΟÏápŽ?––žÑ¥ú° c04Z-Å ®jPcÒÅZ­ž )¢«žo£l9Û3(€0 DZ.æF6ÌÝhöHz|||8ŽZ­~àv2|øðÖõ´0fÌ­¶ƒA¡Z-ÈÉ%%@$£GƒîØgùùg’PÜîžÕ‰’’ó¹ûözuÍêæ-Æ××wÔ¨QÛ·oß²e àôÞŸÆðš¥ÇèÞùòšNìÝÜZ}*++÷íÛ§Óéú£úÜõ¿ð?lŠòÙg”‹ ²dÉ£Œ¾³,KÓôý®;‚a´¿?¢Ó5Ÿ†¢z¡°“™6A´ÛmÙÑѱ²²² ‹id€S€¯ÑÎAP°÷LAbŒêžÅ'¥Éš—_R*•P-Ó§LîçgÙ÷P #I޹9 ˆ‘Œ¥7Š›‘$‡Ãát9aÃ0‡‹ ¨—k,†a$IbÞÍo­§O„¢èòåËy<^çCtš¦;omk Žåå@$®®ÝRµZ­ÔñøíêŠïPVvo·2©T3jTóЄêÊ2‹¶ŽŠª²ÖGŽ9âææcÔßþ¨>  {÷"¹¹¬ñ—áÇéùóÑ0ïïŸB„^¯ï`lŠ‚¶žf0 ¦ß(++«… ¶û¥íÜwã xë&Ûî¥hõ~!̃¼0"¡P$>¨1H89:v+èƒ Aà8ÎãñXÖø‚!±&Í‘ŽIDATÎȽ_Œ[_ t51åA„Ãáô†ô˜B«Õ"2`0ÀèRS.ZkåâñxŽº’ѪR{¿{_G}}½¿¿@@ÀO?ýÔÜül쥩’Vï‘–ÖmF·º¸¸ÈåòÚÚZã|úþ¨>C† «Va¿ÿNgd°€kט˜fÚ4ôªO77·è|F5Žã"‘¨Í—Ëít Mshú?ðvGknÆ=ë »Ë A.OdfÞÆ…îÆÙ*Œ¾N¤:¾|Ù­m|||IIÉÊ•+GžZ±æÈ‡ 3Éfç‹ Mm>áùu­¯wŽ:uwï‹VØÉ>îÈã†ažCï$¨ª,Óét@•åν÷òw·¡­,Srøðá&L°²²2±`¥$%R² Zu$lÅW,XÚA‡ƒqßíâââþ;Ëô­·°)cø¹®„…bÒ$¸Ø#,-¥[¿~ïzrjII±@ |ÙÎÖ¶+O™|fÉrŸ€‘·2ÒõÃ"O//8ÞÇ$11äœ9†Š ÐÐBC gÏЃ@x<ÞãÆô4×07·aÝvžúµúŒ‰:„/X@UU5ÇW—.5ìÙCÌÛ¤T*ûrQ䱂a˜þ¾¾Ï¸qèñãø„ c¿¶Ñ37'BC{W€Ž?þ[úI¨>þ \] £qqm\°É“ Äôé½(@ …‚û;ù!Çã¸ç‚Y[ßëóZ¶Ìpü84L ¨>}â‚8·˜#uuàùç QQP€ ¨>½Ï¨Qh\Ù²æac#˜<Ù°m]^ÎÂÊ@:0îÓ Öºì7¨Dž{öYÔÅ¥·†#Z[[÷ö‚xTŸ‡ 6~¼áîìN“Ã~ðµgA Ö++Õº`h\¹e õçŸ÷â>yyìO>ùÌœ‰ÚÙ=LÂ0¬›S½ ÿ 0îcÒÛ»—HN&GF[V­¨ªbW¯¦V¯¦ž}–JIa `<êÓ p¹ ¹|™oo!^¾ÌŒ¡ 5lØ@ÁŠ‚@ çÕ[¼ð&"QQLc#ÛÎÛ´‰ÎÊb_~{òI¨ãTŸ^`þ|tþ|T«..TT““Ã*•ÍIG2±±Œ‹ 2oöì³è A¬.ªÏÃ÷žøÿâ pæ óý÷ôùóÍvP]¨«cSR¨ŸFŒFЈÈ‹/b°Æ N€þƒ0s&I¼þ:Ö®ç+/ݵ‹Þµ‹^µŠ²²ÒïÚEÿ;w¸…@ ú<ÞlÝŠÇÆÉÉä˜1¨à¾ÍIjjØÕ«©  ýLJ küWY »É èy= †EññÄ™3ŒqBFx8}çÎ=‰¹y“]ºôÞÚºAA¨Îf¸3¬9ªÏÃóÅŒV­ÂŽe¶o§££;˜¡š˜Èàvó$à-¡pÎÀQÆã'NHÓÒèçžÃન>gÞV,_Þ­Y¬?ý„Ö­£”JœÌ¤¦vkª‡JÕì¬ÿï>>Èš5ÍEâñÀÒ¥p’-ª€Í›q@y9[QaòœwÞ¡ ¶¼wUì)ééìêÕÍ® ¥%Ò2fÒ(LpÙXTŸ~bgg25&†$'³©©LCxï½_¶Q.gGŒ¸7»ÉŒÏï"‹—òÚkÐ\‚êéÇŒŒÞ}·»Zðãtz: P«ÁþýxjtË}ËÊbýüGGdÚ4Ø%Õé-რ‚œ>ݬ5@&ëg …`Èä…°—_†¦T¤{øè#죚U£¸˜m=H²Ñi=ˆ©±¤¤° C߼ɾü2æç{Ü ú@ =ÄÉ YµªkûeÑ"lÝ: pþH¯ €;q@^{ð ³i—£í'Àðäqað`dÃì×_ èmAõ@‹£‘‘Í£ƒjjØ3 MM°V ú@ }ÎÙ³L]\Šª@õü‡±²BX–ãäÔý‰g`@õ@û÷Cõùo{Ü!ÿ&vì oÜ`/½„ùûî1hû@ ½€qP;¢¢ã^Õ0 Õée®^eBC ° ú@ }BÒÒ ¥Õé5æÎ5 ˆÎøoÆ ƒX œÛDvd ÃÕé]Ξeär°{w›ÐÏPÆ3ªÒ‹ÌœiÈÏoÖ¥’]½š‚ƒž¡ú@ ½ÂñãËrïy[ññÍr£Õ‚]»è– _›6áO? ›.Tä¡âíˆDÍŸ;\§°t)l·P} ‡MD1~|gÍrÚ4T*…ã ¡ú@ ½ÀäÉèªU˜¹yÇ©þþˆ©$È¿ 8ÓòØa\Oþï¿™¦¦öafööÐð¶Ò›,YÒAã|õUì•Wà^P} ÞU¬ÝhCÀر°ÅBõ@zOOäÈ‘60[X±V T¤÷ñòBfϾ×DüŸ0¶Øÿ0ê y|árÁ‰¬hû@ TÕ@ ú@ ¨>ÕÒXZ›}'W­ƒË'C ú@úmSÍæÖLŸ6eѪuÕ °B }ïÍúÈO߬ÿöW=Ãÿ¤dD§vm07{†\.×h4ŽŽŽ}yÓ¢¢" 1d mÈC§ 5æ«­ÛY¾Õ‚EKœmD±6ý‘˜÷xõäÉ“›7oîã›~úé§çÏŸ‡íªäá“ÿgn-³æƒ¯~ùe÷ça“ËÄüñ7¬TH¯“r$NjïÿÖë‹ù\3ÿY~Mõ•GU˜‹/ÆÅÅý‹j/::úâÅ‹°Aõô–>]¨|zíkŽ|€âã8>ªâ\¾|ùÚµkÿ¢ú‹‹‹»rå lGP} =†¡ê(ÃdñÏÊë¹Û ™½wG¥R©ÑhúIõªÕj¥R ›THG¦«€E£5<›‰â ç¸õÞ÷ìÙÕOª7""bÏž=°™™ö¸ÿÇÑh4………Z­V(v >Œ–¡AqyE~~~ÂɽG"¯¸MX&Ð4åçç÷RyÒÓÓu:——W‡©õõõ8Ž›º»\.W(½W¶Q(ÕÕÕ¦nZ__O’¤©ÔÌÌÌ¢¢¢>.0TÈãÂÍ›7-Zäêêú /thý,s3+K[•ýÝÖ*\ö888´‹wê”Õ®9X©4ØZ[#8îà=ua€e—×9µc“׸©Où_¡Ô++«Ñc';ÚKz¤>îî¯¥¥¥D)ŠÊÌ̼›ÊVÜX»æÍ‹©w´z Û²2*6b¯­•ŸŸ?eÊŸvŽcUáÍ·×¼“’Õ’+¯œŠ>³×ÞZdJòBBBæÎkJÖ;‰:+•Êüü|cªZ­¾téRŸE+++322ú,ê¬Ñh$ÉìÙ³¡ú@ÚCD»5"Οùþxô5~þé¡6kr«Å“\»¼ŽG¡¦ÊË˶€R©lRƒ­>Áápø|¾©,fff÷µÇápŒ©MÓÿm|?*ñÝâü±lm©ŒoÖ|—˽e J«údãû‘ msåñ¹¤©›vY`’$;)0—Ë5¦’$ÙÉ™­Vk¼]ߨÇ뤖 ú@ZýRUÞZ÷îÖ:ÿÍ=ýìé}‹+/Rìè.;¼ügÏó¿ûÖ}ýõ×^^^!#÷fIÙšRÙñ£G¯$¦*´¬B­:ÔŘpëv궈äÖa'Ŧ„­[[uæ(*·E$3­²!ºâ‰MËÚ ¾xîTDdtAiµÄÎ%+§ 46÷<”š1øyWvM½ÄÎýí×—ó8ãHÉ-¹•+2ãJ,-|3¤³ìº ‘¿_¸pkúô饥¥‡__07°w Jg&þýÒê7“nè)Úx¬¼zR³ç¨Ç8$n hša¤™ ðɧ·}ô²ëÔòy;Y¦Õõ‡4Œ˜0ç‡_r›s)k‹6o|ÿ‡}§ê•jã9(F€5«`³êy@JJJöïßoü¬W7îùuŸžfí]}rãÏæÆ³ÅµåÙ±žºrŽÇ·2Ì#((ÈÙÁªÓÞP³ÀÀÀÀÀ@€^•½v÷KrçΕJÅápÚ¸ jem]@‰Äë)|3ޱ¨:EÍžmá Ù%­Ï,/È0¦Êd2{[[ëš%‚‘Nƒ=¦Lu-êLËùŒŒ .—›™™Ù.rdfãìÆ2Š`¤Ó ÷)“C®]¸—ëzä¡ÏêZYG M]¾|Å`h½â5«R6ÖÕ+pŽYJêMÞÝßÏõë׫ªªšG§+**2uæC§¡¡!??ÿàÁƒ}uNLL:ª¤=–––cÇŽ5~ÎK=˜× vñÿdÃ;>ŽØ–ïÿ|>‘20µµ†Š²Òœ¬[Ÿ9=}ñË_}ô3m±TÌѽj3Ç™3¦ô¨$±±±®®®-…©È¿¹íÛ-GÏÅëï¾ðKÂÖS/FŸLÌi#=)XøöçÆTssó«CÝ·mÛfffÖá’’’üýýÛý7 ÇŽ[óêë-hkl5m\ÿAk鸙³`åkN"ÒxJ΋_~þM\rŲŒà¾òÊË^ ŸŸã¸1U£Ñœ8qÂ朗ʵ¯¿¶""ª¨ÝñO/9ôå§¶d×eª««ãââÆŒƒã]¿ãÊÊ?½G½wÿñ%¿ý쉀¸X,wóé~Þ6ïÓ-)P}ú fff6ç¹½û`ì¸é“ÇúÄþ¶åpäõàIs .žšµýÏy6ì®6Џ|þ¯ß&LšöÆÒI¦ô'ûê™ï¿ß1ûù×Z.ÛMT*5æjªÎy}ý†³ ·¨V/|CM1uìð€aW€ð-$óV¾ýéë ­,x€ŠŠ çèèÈçwŸïääÔ¨s#&íøË²²éf%IË×ÚõÉ".´}ú)·ó›ã—-%)EdôþÀ9ïüü‹×M»ØTÈ»lB`€¯b˜Sé%ßïúcÅœqyÿCݦMßÝ(’Ïb™npXª$/ûvN!_lÛ¤iéÃ?p(2±ôx7ÿ~òõó=~*»°B µ?iêôI£ydoöà ø»ßíöžp,öjŠp<|ž~zÎ {ËmÚþcjaUë(NJ‡µ {±uUÅiéY„[]¯z°‚ „õ‹¯lzr†¢Ýq Ww þðG›‰Gïܹóþãž½Ò¥ðäŒwvZ/‡êÓ!Pã8-ö±¦TÚ†›¥/Z<ÀÚÜ:ÄE–q”f'p%N¯lX½ðÍâk©š¾Úw!1”vßw? ÿ 8t=žÎJ‰~wí{_I3º*—ïáémL3°†vV#§¯üæ½°»cÃüBþçÒ—•c!±}öù5Ï>ßÑ£FÏÐm=AÞÌï¿û¼{þNQÆ×Ÿ|üãoǵ4 @tÁÒ°Q\8iÊÂ>{j’ï¶j•[ŸÝÎ{ølïáÐöé7¨TªÜÜÜfsZ PÔ¬ ¿À‚ÔëDœêÂc©E†fWܾœyÇŽƒñhÁ@y»A‘!ËÕ65¶{+ò’®W‚aƒ@mmmËe;¤¶<ó¥å«ÓKª[¦d´ê|YŽ1—ðøãÏ_H¸e œ0 œðÔ‡ï†ÕU–ÕWuýD%%%MMM2™ŒÇãuxB]]]qq±¹¹y;ÏK©T–••u^lS̘¿àRbjš¬ŒfÁ5já ¯¼03ïî¥(­|ýk¯ŽO5ܵæX–)¼û°Æuì¾@uuµB¡ÈÍÍí›ñ>ÕÕÕz½¾§OÕ§_ÐØØxóæÍæ7phGb_ܵñΆút1!õž«Â1Ÿ¿jã×üóÐEBBBRRÒܹsMEÓÓÓCCCÛ­ï£×ëO:5vìØÉ“'?ì:fõ5¹ûÑPÍêƒ hÀÔçß¼ÞV*0šŸ§OŸî³ÕÅ***®]»6oÞ¼¾±}jkk`}¨>ýÜÌâ•ÖOfÕú¯>[÷Bðô'b¿aÖ˜$/UeýÛ?„kÂV˜ß×·2#l]AQ¤¦¦`eeåhorp=‚rÞÙ°QÞ¤I¼•§§XØjQØ««ž{ú?º®2çÙÙÙ²cç¯6itfæ¢QOÎþøoØH°ÉAõÜ{Oœ|'ýîÊUÿÛ{ëÆúÞ;Â+eNò÷ïÛw퇒dõï|üͳãÝï)ÛºyW*5®U<`À€Î§˜Ú øý¯3¥¥¥*mmk/ðþÃÕÊ—Úÿ_øž7j*«ë›DR+ëb¸~ THL_¹þRÀáßÿøæssõ)0ëäuúØÈ‘«Þºrh­»£IM1δ¸~½dÆ Ãt9ÓÁHǃú‹®£˜ÔÚ^j ÛT"‘hôèÑ Ã|þùç÷+‰¥ã¼±Q©Ó E·+ ¤z|ߎã]]–Ëm0&ËŠú<ëìS\\œ““óÍ7ß$Ùá ååå‡>wî\ëƒEݾ}û?þHNNîãÓ4¢hGßB¯ Óé ÃW_}…¢}a—F}^6 >üòåËÝ9ó÷Í¡«¾¸5qÙ›Ë<Åÿs%$$TVV¾óÎ;¦¢Î¢×ë³²²-ZÔ QgHži?¥º8'úÂ…[²Ræn±™•¥¦êÒ`å@ ú@z Meê‚§ç.X°`ÆÔ©‡/fbGÀFGÁú@õôÑÓoe×Õ×çeîÚÞH3}S:ÊEÍ]`1¤€qŸþˆØ×å@Gh–6.3šyü:G¸ûˆÿ0tèÐ÷ßßÔ@g“ÍÇ×®]ëìì Û´} ‘ûŒ)ÞCsr^÷îûb ©”ÅH*÷·4HÄùW<‚D"5jTw¯iÓÜQtäÈ‘VVV° @Ûòh@0þ‡_~tcÉk¸À<á©âä¿Oïÿ…±tÝôkV¤øzÖÒ åIEND®B`‚nted-1.10.18/doc/docimages/block_delete_demo.png0000664001041000007640000004115611520267216016373 00000000000000‰PNG  IHDR—ãÆÀÎ9 pHYs ‰ ‰7ÉË­tIME× ;Ç:Ä IDATxÚíw\÷ÿÇ?ÙaÙ *.8­u¢b[ÅQg-ΪuU­í·U*jÑŸ]ÖJÝwÅ£ŠŠŠ«"*¢" .fH Œ„@ ;¹ß±2.„x?þ!—÷}Æûó¹×}î}ï»#a†Ì2¸P1P1P1@Å@Å@ÅB44eùˆÏ7´.˜¶ÈÓÜÐH 뵡ù{>ê nh]¤^DŸm7ÀZ¬¥ààº7´.2ÀÄÅT T T T P1P1P1P1@Å@Å@Å@ÅhÀ»^óSʯE–?<%T`=G[NýÝÉŽFª³*ŠJ&úe°”õØIýçã7ÈÙ‰7am›º™ bÐx‹,I•üÌo¹o®Y?öÐÜ+õ¹€´K0þ«Žê?åråÉÿËιmÃyì¦e¦Ú^6qE§Ú¶*7¹ôæRz¢Ð¦­Õ˜u´Ãía¤Z‘Šqó^‹éNÜá˜`‘Å´¢ÍÚØù„@Xœô~/·‘¹á§;’5®i4ʬ/®“pðÌòüÞ­÷WOdº•‚,­çJŠÂ`ôãýÁˆ+aFûH¦ÚÙ[½ó›Wgÿ+·nôr· ¸Ld-6þüƒþõ×_†®))$½_ÑýØ}§®Œ™²øâá/?Uâß#~ZµqSÓv~çΡ¡¡ŽŽ5îô …ÂÄÄÄ?þ_6›mccðVcrrrii)‡Ã)L(Œz¢ùSv¢…¨“ÖF|bcc‡ †S¹É¥iç:Ò+=Uô‡·êNL®xqw‰æ¡×ö“QQ/ÕÿÏKów™–ÓÉß‘ÅJ›¢çoÑó·zJމ‰™2eŠÞJYù}¯^MIe¹ÍÎî˽ž-’ã›å¥ù«J3ò•×ñÍ “Ä–™EåD܂Ӹ’â€ØKÉßQ_œ>ª=99yæÜy:wA$2“ÉÈzr7ëÉ]µÁ¥Ni-Óll•QQQZ圚0{ÇŽcÆŒAíŽ:o’Ëi.—lè×ÀÀÀf“ …Žå.x¢ÂÂF䌋½xÈ©x-Dت é_Ëf¦U†¡~×37'£ÔP âb ‹‰‰ùå—_êœ:vìØÖ­[qöÊÍ}£yŒÓí<â“3«UÊ…[Ö®pu°F$ “Éðê>T¬Tµö¸˜¼2ï‹y_#õð©C3Æ/)1KWù®C¦\2!Äãñ®\¹²äËO‰”ÏápâããçÌ™cîëÞêzJ‹.ÿ]ØÉ¤ÊÈÑòì×ê‘fƃ‘K2Å¢·Û‡”¬—âýl†-#wï ñˆDb ý0пOïLvIû®½¾Z¶Ü·Ýû‡¢–Ou%SþÃo{¦Mš@/¾åÔýÓ{å²Qfüh” Tl{øw/‹ÅcæEL=c3sÞUVåäx îŤ¥¥999íÙwˆñùüÿý×ÜULó IÇEü§ÑoгÜ5-}fȈkå*_t­Å–½¦ˆìÝšuSδ±EBNîÞ‘»÷ën—UÜßûpÇþCÃzwØ·eí¾‡‚ç;˜÷ÓµV±ììì 1aΦÝçÈT»%‹¦fgg÷t:½áOþOoŸ®Û¹ë_‘yúoÞ쯷4C¨ŠŠ K'‰ Èd2C?‰D"‹¥P(´JãóùF¦Þç!$>ŸÏår³³³|‡GgËöOi_ OB ¿,;» !Äá d{ŠŠIB$„$¶CSC~l£[»@ ЭŽÃH%¶øMUa*ÞQæ³Ù*†žìªòrkIiiv¶ß 8ã"‘¸ÜÒìl#¯ª*jqqqv¶ ߌé†$eg—™Ím¡ìl‘™ŒÓx©DUP(°Ë–›û(à;dg—UÏ]ƒââb"ÓLo#î[PP`èˆÀ0§þ]<—/ø!ääÑaüç˾Y6/GŸ%þA×hÖH"‘H$…Baþ‡Á XýUìâ±(B5fúLfEÁÅkWâRø¥wÖŸ>‚Bí»¯ÿ¿Ÿ:ºYëq¥Jü«×¬ÿ=’Hl6»²²Ç¡eee‰ÄÎOj%’H$Z¥ £ã'‘HrssËËËkNù¹¿÷ßIJ•ÈU"±ÄÑÙ%;;›/ðIŒ‘j=ÐcûAŠZ#Jò¥tojȯ<ná.²°Qåé‰î Ýê8±TÊÈÎ.Ä»ŒU¹V1wv>[JbèS±väÒRµÎÖQÅÄî\.×:ÛHjÑ£¼‘£4»+¢Wfg Œ¨˜á>ò>ÙÙÙÀŠq¹\"*¦wæ—••áì[\\ŒsÈø9p´Ã ¡Aö¶Ö!n^ñªSÅÈd2“É´µµutt$ÿGƒD÷¿Û‘(÷ó+_%\´¦’»xyY{Üòë¦{vDy÷^¡PÕ3ë555?ÐØL¢ûº¹ˆþSè;[¹Ø²â]Þ±èá­²ê½r2J¿ëi<Ž®7ºŸ‘Ä]ÓßH0»™G÷›:Ç’›t?//oÒ¤I8÷bbb ëõ=¹Š<ÎèeõíêuÓâ6O§»öÿåÛÕá+W. ô½óüöÞÃñßÏ¥¹K#g½šÍ4Âü­_OïŠÔÊEtìÜOýŸC­vò¥Oo²Zö£ÑšØ¶Ù8ZB[7®ìJ|\ã’ß©ßÀ¯ÆŒ2ƒè>Búl„B¨ôaNXÔl[:O%žý°\ú¡Ãúÿ»³pulú­ïÑûž˜oÖ«V¡. UøZðŒUK§ ¬þSýØpë™Ó‹vu€>¶*â/ïܼ»Fb­ïÒUÍTÅ´á*}œž$'GEEq]wþ±»›EGKÚ¶U[ÒœeÂ<„+5Es—›ÿœë5jüÛWá¬W‡ƒŸ€' Ùl¶!­¬WA çö­;¬‚b¦­#· €hÖ+¦Œøß M ³vkúôiC#¨dá67tRÚ«lŒÌìÞËðïru³^kD  U|þQQFòKõf½–æªJŠûEEá%y*ä y'ë5'½;*É) Šñ[…“8ÚüiÐÆ«=55µ¬¬ÌäY¯IIIB¡g_>ŸŸ››kÈ 99™Ëåòx¼:TƒŒÜwìØßš²!ËjU‚nÖ«•••‹‹Kƒg½>ŠÙiÛy¸D¥*ÊH<²÷$†a+&ûü°ñO à ÷!„ÖoŽ®gÖ« ãbI×£˜5ð$S)E5îFk¥MÅÄ¡yÆÅ-´dÖq±::ÄÅšW\¬ÿ¤ÅÁ‘;¿ø~Û±-+gø"„ºŸÏÎÿ¡mQçé6íf/žVm\·¬×ºQÎ+|ñ2ÓÎÅ[óâÜé ´ÖS„¾oB"[\OLض}¯Þ4Bšzg½’(üpȈaoŸýñˆ~ÝÛsíðÛ_~öɱø´ÃçÎw´¡iíQÛ¬×Ú¢”–­Y¾hÛ© CY;¸þ'c 9†i®§.ÄÆ;;}G{{ß@½i„æËüC>ð±Ø¦aÔ¨QÆ ?4ŠÅÇÇënümËŸ{ÿÚ;qätk{U%_Â+M`}´g÷ngT¡ÏÞ~ñâÅ‹/6TšvŒ&'§  @¯¥T\YÊHäJ>Ÿ_m½uý‘«ÞGî¼êŸVmŒˆ:t¢¬Bdçä1wÁ"¬,'>^;YF_J¤aÉÎö‰7˜wSÂ’VV¶7Z›Í¾wïž½} Ñá¼W”ûàï«Tºá°ïÕ«kEEE&tT#Ó Çtâë62==½¬¬ §ñÅÅÅzwü¯mÙ*•ÊÎήU7Úˆhå‹ÙÚÚ2™LCùbµV1½[wRÿW^•îÛk´¹ë÷ó0Ißär¹µµµV½JiÙÆUÿ;uå_¹ C¹µë¡6À”£q4-'-¨Þ×ÇÇgĘiFk4íç× íô; !„Òét56lгµRÆ`àï;õW¥ÑÂëÌï¿ÿn¾'ðm<þ gÛ¶mº---e2™··Á[ÞL&S÷y¿ˆ°·wss3Ú<½U7ÚˆhåîÓétƒ)¯&S1 0••„U•¦:xªªªlmmµJû~ÊÐèØ÷ ‰bN~µÁÆE“ÖÿuN…!2•9sYxÔkä¦LÐzáˆ|| >¤M–òèôJŸvu(YÊ+b0e>>mñÆëk¸àhvƒ^OŒYT*ÕÒÒÒ™£££‹‹KÃÛÌàŠR—¸S‘ß®ÛåÖµÿ#‡:82Hdf šBR¯å4†Éω:}ñ¿JîåÓ]+S–Gž«q-4yÙúêÿ‡ï9»8"?—SêíÓÙÙÞº*.–þT €666!!!­§¿&P±ca/s+^¾ÍÚ¸µ÷¡M«1•8Oª Zv«»„)+g®‘§Nòx¿Ú¤ØmÐ^p}«iÐÆµm×¶-~ðÜÚÙL^c- }zspÐ:dZ6&ø’[›þíÿ»”¥!„JSÎW)1¯=ëVÚÝ»w¿¡õ(Ò¾ýÑ£G+**4\Å…¬ä'O¹%%G"×6í5c} 3©–n•pà†»»»ƒCËz]ýßõšqû4…„‚&}Å“(T Ñãù}¦ªGò[täzÍÏX¥Â̘Ú~îhÀ 7&&¸¢ì4õü¾Ÿç¬XßÙû3Üz^‹?TŸ¥Qè×k•tëØ›‰Ý&xì”/CÇ“à @ÃÅÅBãæÿ7q^Âýd+§ aƒõûÀ'‰D›½ôûÙKath,CÙ8ºŽ÷)8€F† .T T  NPÁ ¤eÝ7´.Äð¨X ⃨Šnhuƒ€Šµ¼ýÁЀ@\ P1P1P1@Å@Å@Å@Åpøða  ’¬ÓÓÓ›áÐöïß/‘Hš¶ 111\.·ΓÊʆ}oJJJBBè¨X]ŽÍ·`7¯_¿¾¿Ù=”têÔ)©TÚ´m¸zõjIII3œ'UUU ZEFFÆãÇAZ¬Š …ÂçÏŸ×y÷{÷îÁ0Ws÷î]pB #???//¯Î»¿|ù²´´T¬aÉÍÍݾ}{wÿöÛoa¢W³|ùrpB #>>þÊ•+uÞýï¿ÿ®Ï*TÌ4¨T*³Y¡P”••¸¢4?JJJ¦OŸc™““³lÙ2ð*`NÔúÍü ÐÆ’_N…€gk߆HçÕ«WzëU# Ùl¶!ƒÒÒRC?±X¬ãÇ;::jn”Ëå%%% çôgÏžá4Ø\\\h4ŽMQQQff&~±|>ß›Í>|ø°……ñV±X,ooozæÕ«W111þ§®Ü“)U¥œÌσû[9{Ç=ÊÀ)Šýü¶=•J°ÞÔÔÔyóæáp¹Üàà`C¿ú)$$$//O·´ˆˆ†ý&jLLLm« ãr¹ø6oÞ¼ Å·ñóó3ôSpp°@ ¨U«–,YbZÏÌ›7/55µq>ÅJ¼ñ!!!F_OŽ;¶uëV½1ºïÁƒwïÞ]çªÃÂÂâããëVuSˆõ¾¢Ä” æ.ùëtܴуidRŽÿsÞSÊý4d\F‰D˜ùèã‘#o&׸ ¬R”Ïž³D P´ÈÅ-†É3ž?¹ÿàQy•µzZƒ7šY,V}îò·ü¸XуètŠ ¯ýþÕÒcò¼Ñ’Ò¬u?ÿ!-+ú÷Îí”äé|~ßê4±EzóÙݳ½;¶ëÑ'pðÀm;ÜHfµf k Þ0‹>–——?zôâbïyòäI?Ï&sŸÜ3,`ãö£cúª7Ú¨<B±ûOæÍü$îæMkÛê½8¯ߨ\˜¢TÝ¢ ‘™™YZZŠcÌçó+** ˆD"C?•——§¥¥i%‹óùü‚‚C»ˆ+Ë ¸%6®ÚA=+uÒ´ Õ»zË ÏÚíHšª[Hvv¶n8%#„¸\njjªVO÷”Ëçóñ½*‹ TTT¤¤¤X[[k.´ 9œ*™ÒÓ³­CÏT)))1Tqoh1322d2™¡…?~{je†ÓxÝy¢×ùDûH =999zÇæW°d2ŽYff&ÎÄàr¹oÞ¼±··¯CÕ¦EsDH$‰D¢ÓéVVV666VVVt:L&›FÅ´è>"Ðj©J‰U …ÕÛ1)!Yez©Lšž”Ü?h¸%…„Rˆ ÎÜ|»ò«9QQ©f§÷*YÙ¦5?\ù÷‰B…!„z™~8ò;MƒS—ã«'4BˆnÛö“ÉLRr­2.Dü²ƒSZŽ¢[Úýy(( üm×ÍõlO=›]+ˆô±1ÛÓj©µŠhmxú¤s~¥ÅÈA}«7IâBˆDõæ$²zÕ¦-‡Ãÿ7!Ä{"íݳӃØl6B(éiþ’/?5Z#NwrrÒ©W㪶¨ÈÖÖÖ¥¥¥¡Ÿìììüüü´nT%&&êîòý”¡ï$WÿùòÑ¿'4 :tènͤWJd!¯Îþ‡OÐÕÐÉS$UWa´d„››[¯^½\]]qekkëèèˆã(„………![[Û>}úØÙÙ!„ žÝ±úçêCT&*ñJ´ãÎÎΆJsvñvs°æ–Uõ†&NNNÝ»w÷óóÓÚN°=ÍŒ6^wžèu¾Ñ>oÏëׯõNTü™¯&55U"‘à˜Ñétœ‰áææÖ¥K—ºUmZˆˆ‰×b¡.½v©¹åa¹!dÛ~L—ñ¡ù£Ç~¢ÞÞ&`àwB<ïÊ•+D$Ìäp²RwìØóôÅ[;—¶¹œ"‚{aÊò­çj<9åë´lHÊÞ¿öôé€Ñ¬»uíH©yGÃäçŽD¾x_%§[Ù÷ïýîê›W’÷ÇY#%7Ž7ò ß_Yï’¨v†Ü¨Ûñýú‚Õ †aMçÏŸðàÁ?ÿüßLQÉ [·UE±[»i½#Ó`&^Ia¾³{[œb®Ç=Íx+S¨¬]ì,¨Ÿþ¹!ÓÊÊÊ¿ÿþ{éÒ¥Õ[x…9—¯Ü(æ—Ó-¬Ê+Ê×­Q¯nÃVó5¦¦mÛnëVÌÓJ%­¬¬LHHøä“O´Ï«QQãdžPéLk[;&]úÇÇÇ;::úûëùüdÒí¸ãÿÄin™¶ð›ÝÛ©«;~üøœY3„UC%#„bccƒ‚‚j„ÞõGãââfÍš¥µ½†7ÊëÂ×òFÄ7_ª¨±±±>íÛyxxbªƒ­¡cbb¦L™¢÷§'N¹»»ãÏ]Ï|¶hÕ‡Ý×=@ìÚúÜW)ãNùtö7»Î®œ5VVQºÿ5dš·‡{ý{tãÊ®ÄÇ5ÞSæÔoàWcF™Y\LXøfÂĩ݂g\>·—jxLÞe½¦übðbR¥Ð:Mmú^;T¤”–­Y¾hÛ© CµóýïÔ„)ä×Èt;³1çªÿlï¹{$Úì¥ßÏ^jú’µüнb7,² IDAT_ÍI£ã˜31MîÆñL}hÏÔ§ãºÈ×s‰¦‘cJO¬xš÷ù™í×nܦڷ=zùú Þ~õïQüå›w¿ÒÜâ»tU3U±£GêÝ.–í‰üMdÛíûσ/Ÿ>nh÷Šâ7w_ œ¢0ïàþi™ù™Òµ÷àõŒÖ±¼½ûÔõ‡Õ²Þ¤V—6kñ¢ƒGÏVJe–6Ž3ç.(ÈH<š‘X‹uMyùóçÏuÛÆápΞ=ëäädhÇgÏžååå)•µ»uP^^Îáp ¹¢šôôô3gÎ¨Ó püðòÉ=­¢êæôôt™LÆçóñÍ^¿~m¨å™™™—.]JII1É4MOOÇ0¬  ßìùóç<O$)§ñ1ÚÇçÏŸWTTu#~º$r€Ô¸BÊÏÏÉÉ©.çó‰#/ýs†L¥û;eÒx%÷õÑ£¯ VC!ÏÖÇÇGs‹-¯°V%h•Jµ´´trrrsssrr²´´4«µŠéDߤ&:uºDÌÜ1¡G{7¼sˆ¨`ÝÏYGölþ駟Ο?o(0Œš:-÷|R1wÎìö+7k”6å»u¿ÖyÞ”””p¹\ݶ?~|ìØ±^^^†vÌÍÍõööÆé”¡ê._¾lt¯ÔÔÔñãÇ;;;óï:EÕÅ©©©ԽšEBB‚¡–ÇÇÇôÑG=zô0‰Š¥¦¦:tøðáFƒž={N˜@(½§ñDWÆúøúõ뀀£nįBo#ñ-^¼x‘ššZ]Δ)S¶×£jâÊP[´FDã'ÿ‡z‹iÖbZon)bgJ©ökÙnÉ0þb^F‘—§ãž={†:}­®™MZÿ×¹÷Ù ¿¯`MQa04M÷5 …Á`༸†F£éÝÑhu Åè^T*U_í å*•J§Ó¶ §å\÷ö)­VC@ÄíõlF#âFü*êïC‚s¬!ª®u‘úÆÅ\½:¹z56aÖkøž³‹#òs9¥Þ>í­Qkü¢:qWE±°s°iÁ=¥6~•¦ÊzmãÚ¶k[˜¬à@­Ä]ª•g îl-²^¯^½šœœŒÿ(_ Ã0™LÆ`h¿«vçΡ¡¡8o•ˆ‹‹sttìß¿­ª …GŽ1ú¾|©TJ§Ó ÅLÎùóç;uêäg,ó^"‘0™L½?9r$88ØÓÓÓTíñõõíÖ­¾Ù¥K—¼¼¼úö%”Óx‚íã¥K—Ú·ooÔ&o$†É¿]¶B¤ñð““ïÀŸ¾™S«BÄbq#_QjvVó]¯žžžÎÎÎ8ïz­ÅZlôèÑ£Gnµ'·‹/†††â¼ã˜Ïç{{{‡††ÖªØ¢¢¢Û·o/\¸°Yu6''gðàÁ!!!u.áÑ£GS¦L©Ï¬Õžààà‘#Gâ›öìÙsòäÉã%£},,, ¬ëx&V‰ÿøáoËÞ½µ‘nçq2úï‘áŠ0“ɤÓéà5–––u~<ô±¾WXÍ#¥TÌüX¹r%8¡š;v@›æÒÜhÀ—Ü€E£…f4èÄ£û­.—ëää¤ûbƒz¢T*KJJÜÜÜšUgù|>“É´´´l>í±°°0l.++S¿ã¸™4»¬¬ŒÁ`47‚Š4G .fÎܹƒîÞE¡g°ÌPÂ6l@wî „ "*˜áÐi„±aV Ü£4 P1Àü®%« ‚…*˜ꈾZ ®€Š ̘  n@ųb*¨Ðt ^#Ò­ÈÝ7gÔ¡1Öb€™1l˜¶¨`Nh刑H e¨`†DD¼ÿõ•*˜ÓueuD¬úåÐú€§ÁÍ}á™pÖb€Y£©\6€?X‹fˆfÖŒ&k1ÀüÐ̃å*˜?þXã~%€Šæ‡f,€ŠfÆ ˆDB$<„´fà9ʪn¨fBÀZ 0ÙRs犈@ €ŠæCu¦Å;høpð*˜­Ši!T hîèêTµœED@P h%@î¾¹ éf¡šo¹hàaÅ0ùËÔÔ2‘¢g¯>vV  ¥¯Å0ÅãGIJP˽¢Ô”°N‚}v÷lïŽízô t-‡ç=bÎH_G„™DGˆäA§€Ó«yõêU‡ ³¹Çççç—––F¡PÆŸ`Ô˜B¡¸ºup´¶àWŠB^ýŸ8>Ò€ð…͘°åì½ê?o>„Žn‚I4ñZ¬RÂéÙÇMýþ›+¶>£;[À“›ï /**jñÝ<s&=5%íefîë'†$ S–o=wOsË”¯ÐkÉÉJ [¹ä£QÁSg|qûÙk˜E@Ãj ‰D·£BeYI‡bÒg­ÿ <ÞO•Tf¿ÞF¦ Ånh@÷“3T‘©Ì™Ë£~Õ3[ß8öñø9e’w7»/^~ ¼ƒŠÕ¢¢¢1cÆøúú3ð°KjzKÊùk϶­?m¬¤¶ik¯ŒŠŠ2TšRZ!¨ÂÚ8Ú5gq8œ¸¸¸ùóç2¸ÿþ Aƒ––››{üøqGGG£–,˨%›Í>|ø°……E{—––æéé‰_KRRŸÏÇG-ÒÓÓBYYYF-+T̵ëÖPhL[{GKíÈþ}: 6Å+WTKBÈÂÁ §%ÎÎÎÎÎΫÄ÷n\MN{%‘«¼|ºM2ŽI&5ÎDJJJêÓ§NoÂÉœ0xð`‰D"‘˜L¦½½½»»»»»»ƒƒƒÁ “ÍçÁ¬äåå!„""" ü³å§>‹¿øb B(|ßEüÒ¾›6<"bÖ¼IMM Å1X²d ñÒ&Mš”——GÄ2$$Ĩepp°@ ¨Oï¶nÝšššŠosìØ±_~ù…x™+W®Œ7‰7TJ‘“FD‚n矜‰c¿{÷$ƒ¥)„3? Ô<~Ž<Þh),,¬žƒUj5W›3 +·þÝì_ÛqèÊO—ýß‚q8–wÏFm9}¡¦ÌÃàr¹+W®„õy³…D¶è=pð‚ÙŸ7~ÙwkŸ?62 cK;½32úz²æ»¶]pÏ÷¸Û*ãbYU¥ra¥‹ï€ÓÇ"qVꕜԄ›&÷…L&ËÌÌ„9Ѭ…ŒDÝ´9ÒÕÕµþE‹%šÏXµdr€!ãgwÏÎùb¹:ëÍÒÁýÂõ‡£½a8ZŽŠ½xñâÌ™3ºÛ%Eÿ[¶!4vܤ{—ÏãœäN?:vú,œ¢êB¡xõêUÏž=qlJKK ñÀb±X,ŽMVVñ.p8œË—/;99µ,,,4jYTTtáÂKKKÝŸä2IyE%iikm‰SÂóçÏU*Õ«WxñòG•––ïãÛ·oïÞ½ËçóM⢢¢K—.ÙÙ ž>}ú´¼¼<77Wï¯ÍÉÑii‰HÔnþCæOŒ1Щ*^î×Ëê³ÞDe…ûÿøQ0iŒé¬2¹Ò¡MÅàµÎ«W¯ V£Q=WÉd2N·µµU‡mllètºÅÅL b>>>ÁÁÁ:C)™:r@‰Dɰ¡ùtìkh÷‹~›·zË€®.†Š2 ýõþ#›Í¾pá~222>|ˆcG¼ G¼›UèÀÏÚ·eí¾‡‚ç;À›×ÌVŶoþ©D¦œþÍÚ:Ø•¹gþ}ô¨“ûà!C¬õŒ«RÊÚ³ïâŽ;BOžÔVÈZ-Z) º(v~]Ú¥½ÍSax©¤€QH:~â.ͦ¿³Õ°Žî!¯N~ Âþøþëù$pœ¹¨Xrr²fæ!¦¬Šøó ™êðA'ë½;ßùÇ ¯xÖì!2…ÚwÈØ…ŸÖ-„N§?½s…'gÐéô'jQ;Á L±XÌf³ñ-ù|>‹Å·áp8™™™ø™–Ä3Bñ³^9Y©‡ÿ>#‰)TºQ´,1Lþí²"xMß'OžÔŠhT©h‘‘‘* ÑL*…¬'•Tƒ‡ ‚à›D"QCd½Éf³ÙÑÑÑ66„îh'$$°ÙìgÏžéý5333==HG^¾|IÄÒÊÁ)|ÃOd •A§!¤Š>€çê”””z¦(×õ\…¬W=Y¯%!„>Z°ð/?égÝÆÍÝ‚:mÑÆ•‹fYRÈ‘¶¹¥[”¸øu'&N­!üüüˆ˜ ‚àà`£Ý i&Y¯I×£˜5žœ×²T)E5.X ¥€>žˆe`` d½6 ¦¿¢ÌyP„šüÙ¢ò·Ž>®L{ñvDzÞ.»„¿nÜЮ#g¬ ÿfíò)÷k.¶±?vS*im‘¬l×À©E>wúÍKÅ6¾ýµ"Á$²ÅõÄ„mÛ÷f²KÚwíõÕ²å¾í\ša---©Tx€É¸qeWâãRÍ-Ný~5f\Qš•ŒHäφ·/=~aÜ“:¹Z;výèß‚çá賟ÿ0lõ¯wÙ‰wÒáöï×WÿÞ2pÊ"´qD²þ“1…\ãót;SÑÇuïgµ÷ ŒÜ½¿™w™H*@œøË;7ﮑÐç»t¨˜‰ãbU¯†Ý%g¿xþ˜UòšûàizT·(„ÃDZ+OÜÿÖš¦¶WJ…ç®>œ*±Ó-ªYÅÅ” ¹X"-*.©G\ ‹üákM #Sé'NœÐ{·{ÊÜÙ‡ŽKL+ûйó³žÜÌzr³£Ãår÷ïßO£Ñˆ‰‹5æ+--%>{ëËæÐ=úP%,×ù †ÍŒ3f̘¡þ£VŸÉP*•Dì+**är¹®eļñÛ/$Tÿ™ó2]׿û™ŸlŽŽSaˆDaLœ³"ru(NR©´™|æCB¡(++#øj±X\QQѬگE`` X,‹ÅDŒE"‘P(4Ô¡PHp°ZœŠj$‰@ P©TMèLÍN™õs”$ «û+½X,V»ví&Nœ8qâD|˘“ÛãS˜{]hò¬Y³æçŸ6ô+'+õà‘“¼ …J·oã¸î‡0Í_Uʪ/¾X¢ÙÿÑŸ-ù>>FËyñâEJJJõYÖ?þøã† Dï³Ëd2Ö´bQ=WÕï´°³³suuuss³µµ…è¾þïÇ0ºí€†ìáD÷µG©L']›M‹'©£öd*söÊÿ“(UXË¢VÑ} Ñ¢û@3î#…˜:)ôYoqøïÿ›5!ÔÕÊZ!Î6Uùš‰£b™Ü€:k'Ž:tÔó†–ð=gGäçrJ½}:;Û[CˆÐÅÆÆî<´ð¸˜.y§O‰û!´ê‹i“¦ :0)¹¢Jš¥¯I ×J%S dÜè$Žž8²G¯a×¶m\aŽéß¿ÿþýÁ­KÅÚôïðîäwᘼ§ç¼Õ7½øõë×=øqù"ÍÝÖñèÑ£~øa§Njü ­Z  êI·÷>q= ðWÿaRh§o™ ²IGÍŠ«!.VGöŸº œ”Ëå\i~~¾úe™MÂýû÷›öch¨˜ù‘››»eË–æÙ¶uëÖ‰D¢F®4>>þÊ•+MÕå°°°ÆnTÌÄ”””˜ª(¥RÉçóaN´N¤R©P(lž3há*6räHSÅápfÏž s¢uóy榙\Q*fþ…ÂY³fÁx¨˜¹¢R©¸\.Œ7´%lݺ55µv?>xðàîÝ»›ªËƒÆù–íîÝ»“’’f¶áḬ̈°°zVýi¹jZDnÅÜôOg­ˆŒ¾tpwdøºˆ{OŸub ÿpпiù¡¢üÌYùZ»Ü=µåôm„0XkRÎ+LL¸÷âMž¹wÃäÏŸÜð¨¼Jjî}ÉÉÉyôèL΋üãÿ¾ÜÕ§ã»/é’i6;Z%¯ä~6sžÃ~7À? ÆMèJNjB †&JiÙê…Ó\]< Ú³kûf­5ß¾<»{¶wÇv=ú8À£m‡É,³šŒŒŒ¸¸8˜¢-\Åž¼±dÒ¦}ÿToñ2Ý–Jæ¦Æ¾ž;ÿ·mkÖ…kœ¦•?m‹þö«é0š„͘°yß©êÝâôÖéCfÚ‘‚g7‚‚§¥åªÿ•>¼q Æ0!&ˆî?|øpÛ¶mš[Š)ˆÇf­_4ÕJô{µLzÒ) Չȯ&ŒþØžŠªw¹uå\ÀÈñQ;¶ë-Ê(<È.‰„Åbá[ ‚œœ|›ÂÂÂׯ_ãØ¤¥¥á—PvøhŒP"#S¨£&Ï êÛU‘J¼åì=Í ÁãÆí&‹ÅÚ»w/“ɬK!„îÝ»WTTäîîNÜÿ=R(2™ÌÁùs'+ïu¤Û¶e0ª õ…xSßÙìܹ“JÕ?ïß¿Ÿ•••˜˜Hp…•Md.eddKFgfrr²ÞÁjLÔs•D"‘Éd&“éàààåååéééèèÈ`0šêŽMݦî'^öïÓ'lK´æÆO,B‹Ö¬Û³fÞ”/×Wo?÷ç;vìØ±cBh̘1É)œÝOºíÀ|?9èv] Y~4 —ú@¦2g¯ü?‰RU·è>ñ(º¿råJGëw·M½:ûÇ'¿ª¿sš6º«÷ŽD÷› jC(㇟ÌxòÉ ­™bBÈÓ¦cnÒµë"´A½}â×ߪÿ³|ùòþýûôöh†ZÏÉJݱcÏÓoU ;›ºž0䳦Ï/“(«·Ø{w6dìäÓ3qË6ª…·Ogg{k£ ³si›_X¢[ãÌψÖX«Žœ;uúâ5~•\E¢Ošð ¾ýɘ3^ͺ[׎R}£Ùå‚bxî@ÔÆ©FV‘’^%Gu7iõŒ™V$›µgßEõrìÉó‚æ&doûxüœêŒjåY×£_!”i\[Ùy?ô'޹£‹gçΉ7Lo¥bñ uBY9{ÌðèëÉÕ[†`$øJeöðëmÔ9åR¥Ñ¦ï2*V g½¾'çÁ „E›.¼1ûè1 Óé˜R&‘cOÅ>!p[.W«¨ K“d½ªK«Iôd½bªÍa_k6*§ÆŒŒ œ_½ºõ¢*TÈÊÖiâ´éYOnf=¹©×233óäÉ“®®®†{í†Q-mþþûo£F‚±£W»6*U•Df´Fu\R >žHí“&MÊËË«—‰ÇÅžÞ‰ñëðîV•aYϸ˜R.ܲv…«ƒ5"Q˜La%6Í„¸Xs‹iß*:¿ã\gÌܳ>îkÈFõ1Ìhia3&hÞ¿«(+Ç·/ç¾x™I²°'RZΫWZ$²ÅõÄ„mÛ÷f²KÚwíõÕ²å¾í\šÃé§©úõZ%Ý:öf"F· ;åËÐñ$óì²:¤úþ©B*"“õiÞò‰£®d©~ømÏ´IèÅ·œºz¯\6Ês‹•ç§Í]¸ÚDèÉ}á†lˆg½bÊòÈs5R¦}û«!c¥´lÍòEÛĨ³®Úù-mê7tËiï¹{3¼&i‰D›½ôûÙK;ËûÏÇi¥€|¶lu="¿÷wÇ>¼›UèÀÏÚ·eí¾‡‚ç7€„­þªÛæÝ5ε¾KW½Üõ¨X½àóùÙÙÙz–°ÌáØwüÞJX¹Þ}©úã·K¿_½·¨j:tÏùU‘(ôQ“¿øqáhC»lùföž‹÷«ÿd½Íе$^A***pJ¨¬¬d³ÙVVVFË©¬¬d±XõÏÙ‘H$ÙÙÙZÁ2œ¡$ؼZ9¤  €ˆWE"‹ÅR(¦ªº´´§êá}zýÕÆ¦€'D9yvþ9r›µ¸Èàs¹\݉ŠaNƒ}½†utG9ytÿù²o–ÍË1\œ@ ÈÍ͵±©õýnA…öºå‚ºMÚê¹Zc2™L&“N§“Éä¦}R½±UL ÐçDLyåÔ¡«2ç.èÖ—ŸË3°{Ü齃>+ÌÍ1XTM>]ºîã9ÂòJ‘­½£%ƒÆÉÍ1°j«úKCÂB!3—êN°4Óª˜¡w0èZbVËÍÍ%R£ú°'ؼZM.—Kä0S ·D"1¡Šá‰²­çáãgx<F¦;µ±'!DP ¸\®Þ‰º~û~^)ʰ´·µFqórðÝ’››[‡ÆÔ9{§ÎÑÞXS«N·´´tppppp¨í{MZ‚Šùøøkȇ4áv|ÒÓÔ&|ùkÔ:Ùˆ¢ _¤røì$Çy§õIDATWüwÓÎÁ¹»©2-6.ž´þ¯s* ‘©Ì™Ë£þgüôrîÜ9MohqèСøùù-çСCÄÏ´ ‚½½ýˆ#®ÅÒÒÒ68—/_ö÷÷'òúæ={ö <ØÛÛÛTU¿}û600°_¿~¦b©TªP(pF™7oÞ ²³³kƒ®¶ê¸‰Â2$8„ }Ãe½†ï9»8"?—SŠŸ8 FÑLôµ´wñïî>iÉ*V.ëµkÛ6®ma˜zI˜N¢¯D¸¥…¨˜……Epp°Ñw¨¡úý¨³^›- ^NlfffLL ~Ziµ¥‘¬Wbà¿ U‹¢¢¢ëׯiqˆg½æææ?~ÜÑÑÑTU³Ùl“|9ùÖe­DßWl^=ç¼D"‰ŽŽ6m²nsU+ëÕÃÃÃÞÞ¾e½µÅ„Y¯&yj#`¬צ¢¶‰¾@ Ìz³¦ }³‰‹ºlÞ¼ÙÙÙ¹tdõêÕuÈŠjV4m¢/*f®xzz¶ŒŽ¸¹¹Áh à‹€»-ˆ‹‹K§NóMžžž:u2‹H­››[§Nšê;x€/–ëŸЄÁ€Š€Š€Š****@«àÿ7‹Ê2(ëIEND®B`‚nted-1.10.18/doc/docimages/chordexamples.png0000664001041000007640000002217611520267216015612 00000000000000‰PNG  IHDRî–kNsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ 5"åÚ<*tEXtCommentCreated with GIMPW IDATxÚíÝ{\Tuþ?ð×p¹3"àÉ+^P¼eµ˜ŠÚÅKšV&Úº•éRm—móRjní¦®íjQ–neí÷¦hš¨™7T¨oˆŠ˜€ Èu¸33ç÷20Ìe`Î0¯çãáÃá¼‡Ï Ÿ÷™yŸÏ¹|ŽLDDDdìØDDD,ÜDDDÄÂMDDÄÂMDDD,ÜDDDÄÂMDDÄÂMDDD,ÜDDDdVìj¯d2™ÞÏœ‹ˆˆ8â&²u»q!¯û¹ñr""n"+-ÞDD,ÜD6 ñh[&“±¨‘Uà1î|©7­QÛËd2½ÿ‰ˆ8â¶á¢-w¯¶³7 · m޶ÛOnn¤±p·üRo{E›ˆˆ…›ÈŠ6´4n$]]]mP´޶‰ˆX¸ÛèˆlÃåË—±hÑ"h4ÄÆÆâí·ßf§‘ÍàYå&ŽÔê. â‰i¶kÈ!xæ™g0pà@Œ9ß~û­ÕoräOD,Üf(ÞüRµ]...(**‚ƒƒìíí­²h7\¯xIÕá®òfï†ÿȶ\¾|›7oFvv6æÏŸo•»Ê¹^‘Ñ {ßÔÎh4h4üõ¯E—.]бcG8::ê=çܹsðññAÏž=E ¿««+üýý b)))€€€ƒXZZT*,ºÀÉÉ O=õ”ÁÈ›…œˆX¸ÛrB¹ ¿Éìíí¡Õj­â½ <vvvHJJ2šW擈ãnsE›ÇE›ÎÃÃcÇŽÅ Aƒ b_ý5 „xÀ ¶sçNøøø`ܸq±èèhÀôéÓ b‡BII‰Á¨rssqæÌ&…ˆX¸ÛiÓ ÷³Ï>‹ÐÐPƒØðØcaÙ²e±K—.!00kÖ¬Ñ[^XXˆíÛ·ÃÎÎK–,———^¼¤¤™™™X»v­Þr­V‹yóæ¡  ùùùðööæF±p›Ã‚ ””„~ýúÄ233QZZ*züòöíÛÈÉÉÁ°aà bùùù¸~ý:Fm+**BJJ |ðAƒ˜B¡€R©Ä¦M›àíím0òf!·¼   ܸqpß}÷!,,L/’’ƒ_~ù±±±€$%%é®^àF±p·À±cÇ••…ÄÄD£ÏINN6ûí·ßŒÆÒÓÓÆ¢¢¢ –uêÔ øè£ŒŽ¼9j³¬›7oê®×­['ú|ÑÑÑÐjµ(++ÃÌ™3õâGEVV&Mšd𻩩©ˆ‰‰åææÂÁÁA4¦R©À &Þxã ÀÖ­[ñÞ{ïq„m.\¸€Q£FA&“áôéÓ°³ÓŸ&!11™™™X´h‘ÞòE‹A¡P`ÿþý8xð ;’ˆX¸ÍaΜ9(++Ìž=Ç׋ggg£¬¬ £F2øÝ¼¼<äå副 þ^qq1Ä”J%®]»X½z5BBB0vìXmevvv8p î±)zôèwwwÈårv$±p›CEE…î±V«ÅÙ³gEŸgl¹T1 v·9‹5 75ðç?ÿü±nÄý¯ýK/¾~ýzœ9sÛ·o7øÝˆˆDDDàÀ±½{÷bÕªU¢'¼ÅÄÄ`áÂ…ºÑuÑøœ9sššŠûï¿S¦La‚šA«Õ¢¼¼EEE1FƒÊÊJÑXuu5ªªªDcjµDc*• ÕÕÕFÛ$"bá6£7¢¢¢ÅÅÅ¢ÅY¡PÀÉÉ ½{÷6ˆy{{C.—‹Æ|}}agg'»rå ˆÆvíÚ…¡C‡"** ...LP3”••!::Ú`è=¼qâÄ Ýy ]»vÍèYãuWˆÅΟ?oô÷rss™"bá6{g98ÀÁ]ÖV˜{ºë¸O²Ÿ€¥îùœ9ˆš‚w#²€«W¯âÀˆÇÉ“'Ù!DÄ·%äåå!''GtB”””äçç‹ÆÎ;‡ââbÑØ©S§P]]mô÷ñ X ™òÚk¯!##ðÜsÏé±pKÈÑÑr¹;v4ˆ999ÁÁÁA4æââ{{{ј««+d2™hÌÍÍ Dcu'A‘m(//×=.--e‡ ·%( Èd2ÑÉR,9 P;5&ÙŽÕ«WcÆŒP«Õ¢³ë±pY‘I“&aÁ‚ÈÌÌÄ‚ Ø!Ôd oÔp‚¥:œ»…›ˆˆ¬HÃÂÜð±X§ög•YhÔ,“ÉD7|^ãåbÏ#ޏ‰Ú¥òòr;vL7}C………HHH½£[ff&4h,-- DcÉÉÉ(,,Õ]ÿMm»x×íî6ö¸á-yïvÓ †»Ï‰…›¨ÝËå¸ï¾û0räHƒ˜³³3ºwï.óôôD—.]Dc»wïÑØáÇ¡ÑhDcw»;µÆŽa·…= ¦ndÛ0i¼¼½ÞT‰…›Ú-GGÇfn'''( ј———ÑÂíããƒÊÊJ£EÌS$lõËþ^'¡Ùr>îµÁÛ·f<ÆMd‚+VàÈ‘#ǶmÛØ!6^Üm±@ÚânrA N¬»Û1~±¿™Çù9ân–ÔÔT¤§§cñâű„„äääˆÆ’““‘-KKKCee¥h,33Dcœ3½uÔ]ƒ­Ñh޹sç²S,\°-c_è¶öEoìøw[ÜX;–olC[ÛÁÂmaýúõƒ¯¯/6oÞl[¾|9âââDcŸþ9>ÿüsÑXdd$Ξ=+Û¿?<(»xñ"6mÚĤXX¯^½twmó÷÷g‡XðËßš¿ìoT4.V/é2v‚šØ¥_ß¿­íûåÄØß&¶¼-mÜ˜Š»Ê-àÊ•+(**‚R©4ˆ¥¤¤@­V‹ÞÖ±î 庑7µ¾]»v¡gÏž=z4ÂÃÃÙ!­ðåßÒ/{sÆÅv÷Jñ÷[ãÆTs §9wõ7ÞØaá&³Gxx8²²²¬·’íØ±|ð*++1zôhTVVêb111xóÍ7ÇG~~>;Ó 8C‡ÅĉÑ©S'vˆD…@ìZfkü²o<Ò–¢ˆ´§ÂdÊaö|Ü›…[bÇ×=¾|ù²ÞÈ:&&F÷833S7€'Nè>°………¸pá;“ø…m¥_öÆf7»×ÕØc[Ë×Ýö„;lÐøðǽ Üky{ÚÀaá–XÄ 6 ¾¾¾¢1ôíÛW÷sHHˆn…ôññÁðáÃÙ™Ôæ‹vݨµñÉgü²·N÷ê?±|6Þ;!öXìxÿ½–·'<9Mbaaaøí·ß°k×.ÄÅÅé}‘Ìž=ÿûß±víZœ>}ÎÎκØÃ?Œ7âõ×_Ç… tדù(•J|õÕW8qâ„A,;;»wïÆõë× b/^Dvv¶è=ш_ ‡²²2ÑXEE‹€È—»±3É›2Â5u¹%þ>±“æl­èÜm7„X¸ÛŒþýûC¡Pèî¯ÝPß¾}!—ËáíímëÓ§ k×®ìD ( ¼øâ‹ 5ˆýúë¯xòÉ'±lÙ2ƒØ´iÓˆ5kÖÄæÍ›¢W¼üòËÈÌÌ­]»¶]¹×îa[)wý·õ -^¦eyÜUNÔÈíÛ·‘ŸŸ¤¤$hµZvH+Œ¶mñ}ßkò¶xlÛ”Ñ8‹;GÜ­báÂ…¨®®…††â‘G=òÈ#ºÑscÁÁÁøæ›oDc#FŒÀŽ;Dc~~~رc‡èHZf„ ¸uë¶mÛ†!C†àwÞa§´r°æÂ.¶K¿­©{Ö n«1bÄ£±ÀÀ@£±>}ú-Ü~~~ðóóuíÚO?ý´hÌÓÓÓhŒšO©Tê&Xjw™“e µ-½Û{o+ǶMy‹=·­üíÖ€»Ê‰P(7nœîç'žx‚Ò ÏVξ×nð¶¶qÕ’çµÇó8â&²C‡aÀ€˜6m^zé%vH+ºmá˽á(ÒÖ§&5ÇÞc×ws„ÍÂM$)¹\wwwtïÞÑÊÅÏÖÞ¿±âÖ”Ë×ÚËÆ yËYÝ®òêÒ«øèÝÕˆ:žÂìµ£âmÊÈÎß[Ÿ ¤)[Ãç°HK¸$XQ¯&E`Òøq¾HúäRøîCt—óP<™_\\úöí‹.]ºÄâããÑ¥KÑ;€%&&ÂÍÍMo¦»:—.] 2Ä –’’‚ªª*ÄÒÓÓ‘““ƒx€‰¡69ºf!oƒ…»,c†<‹Œª½åÞÃâjÂx9ðd""[+ÜGäÔF · )Æ,¿îØs³\4>xñ^\úb:³EDDížU샾>C¯hÛ9v„“]ýÖZòŸÆþÂ*f‹ˆˆX¸[}´­­Ä‹«ê'¹èúð›H-¼›—¾CG»;ÏQaÙ?’˜-""bání7Ptu%JÕßiH8¼½ÝÑqà3øöñžºç¥oÿ–Ù"""îÖ~Wþ³_÷ø¥ÝÿE¹½îçQKê§­,ØÃl wk¿ƒ‡n\;‡â?é_–ãÚs¸î±V}‹Ù""‹›3g¦L™"IÛAAAX¸p!;¹ ›o¾iòïµúÌi»ò+ÁÞ7ØŠÉë·0äݘe"²¸›7o¢¸¸X’¶ÓÓÓÑ£Gvr;•žžŽÜÜ\Ûq šb\©¨½Mæ³ü âêÒ«ºÇÎf0ËDDÔîµjᮩÊÔ=öï`o¸¥»ÿ7ÝãnÌe¶ˆˆˆ…»UGÜÚ²úÇ"ñ]›SuŸX:˜Ù2Ñ–-[göv ±eË$&&²“[(224{»jµZòü'''[M?ÆÅÅaË–-\¡å?!!ÑB{÷îÅÎ;Y¸ëÈdrÝcM£Ê]‘³\¯=®$w†÷ûwäd¢Å‹#22ÒìífggcñâÅ’œöfùòåøôÓOÍÞnee¥äù?qâ„Um-^¼˜+T£üïÞ½›ÑBëׯÇûï¿ÏÂ]ǾÁ gª†3¯ 5Xþè+ÐÞYöœyŸ""¢æŸU®T*qæÌܸqyyy1bD3Z©/Ö?:ʼn\Z†O’ j·,<ö°GŽa¶š!++Ëì}wýúu@ZZóÒBUUUÈÏÏ7{?–——Kžÿ””«ÉVVHò~”J%ÊËË%i»¦¦FÒü§§§ó3jåùÏÉÉ1¹ífîK—.aòäɺŸ—.]Ú¬vœìd¨Ò 8tä0¼ìP™s›þwV÷=éqÇ‘.QRT…×p9C…ñp7Q^^^«î­[·bâĉðóócá¾Ûz­RIžÿ””8;;Ä£¢¢0xð` 4Ȣ빔…[¥RÙTá®Ë¿±Âýã?ÂËË cÆŒaenåü+ܱ±±P«Õ˜8q¢È˜·™bcc…;Cf¡Í! '€£¬*ób„Á®Žº6½rÕA*5•©B°¢ƒ “9 ­ÅÏÏO–¤mBXX˜ÙÛMJJkÖ¬±xyzz ûöí³èk ~~~’åêÔ©foW©TJžÿM›6‰ÆƤÖ¢ï¡{å?00P²õYÊü/[¶L4>uêT£1©¬Y³F ddd˜½íÐÐPÁÓÓÓ&ójt6kõ#ÇÁžµ'¨¥–dã¹ÑOàryíuÝ2;G¬9 GéÞâæ9“§TÐp³’ˆˆlB«îû»»6>û v¦—ê–[u¯ë$Ùë^ßµ¯ì͸³×AË5ˆˆX¸›¢Ë8_@ò/õÓ¾u¿ ‡W=,Ùkª”qx,,™Ù'""nS¹÷w×ûÙÙ;'¬ÄÌ% Á{“gaöÎ(fß ¥¤¤`Ù²eHIIagY[á.ÏÚ‹Ç_ޝ3Øüë÷èç,ݽO?yQ½×ãÇ»2ûVèÚµkX·n®]»ÆÎ "ÑjwÓ¨2ñÔ¨¹ø½²F·ìñÿœÄs}=%ÜP؉GWâ—›ó™y""jß…ÛÔy‚O~ñÞ®Ð[ÖOó3¶l9%É*hUøfåŒ|ñ}ýßW8ÚÂ÷o.eeeÈÉÉ‘ìõ“““ÍÞvvv6 !!Áìm_¼xpðàAÝë4¤V«Æ¤’““ƒ²²2IrTVV†ÌÌL³·]YY)yþãââ`ooxs ÂÂB£1©ÔÍ›.EŽrrrPYY)IÛjµZÒü'&&ж™™ FcÑコyÓ###áååeÖ¶ÓÒÒtó³ÛZþÓÒÒDÛNNN6úº­²«¼(y;"Î,O,SKöšWø®õÅÌ~ž ""²Y–ž€¥ºâŠ0Ò]®÷»Cºº„‡¾¸"ÉEîÃ÷ŽÁBzUÁ%há2œ€Å¼öíÛ'0:É '`á,œ€…°p Ûòô£8[Z?²î5c¶½=¤v÷Íöë’¼æÉyïC¥ÍÄ£Ã# @÷¯¡€€Œ ù˜[rDDdÕ,zrÚ­ãKðÊþLÝÏr· Úö¼¯ŸeÊ7ûëμ •Èr™¬þš3^~DDD¶Àb#n¡¦œ®·l~Äôwv€k·¹€Š¼ïP©˜""¢Ö.Ü—?›…#EUºŸ½¾…/Ÿèè ˜€îì¡­)Æ®üJf…ˆˆ¨5 ·¶:Ͼû³Þ²÷£WBÖàmÌõqìL+‘ô½”f­Óã0`€îq‘-°È1îëQÏéîú]ÚˆWúè_–õH >Ê*Åϯ½€'ºÊ ‘u@çnþ6æ˜>s:zw”›å½¸÷XŠ””¥Ì<µï½lÙ2£±Ÿ>;¦÷ó°azÏ4åø%¥öGD7|òæ xsaô z“'Üé&1oJ¥Z­ö®ý×ñññfo;//@í$)J¥Ò¬m×MuúÍ7ß 66Ö ^UUe4&•ôôt”””H’#¥R©›ŸÝœT*•äùß³g222 â999FcR‰¿ç÷н5¸‘žÜü"TÕ;»¡sw¤§§C¥RIÒvUU•¤ù?~ü¸hÛ)))(((ì{çn9Z»v-<<<ÌÚvbb"ªªª$ù{¤Îbb¢hÛñññF_×l…{Ò¤I¢Ë«ËNcݺúË¿<î{›5E÷sÅÍx¼·$‰fQÓû£µ*¤;ެô|¬øäŸÓÙÅlI)¿£*ñÄ´ ­R¸·nÝ …Ba´ÿZbݺuèÑ£‡ÙÛ¾~ý:¾þúkôíÛ×ìm»»»cçÎ ˜1c âŸ~ú©Ñ˜TöïßµZ-I޶nÝ ooo³·]^^Ž7Jšÿ€€Ñ¶wìØa4&•äädœ?¾Y¯)Ô⇯¿@ä'Q¤ÖÄå® øx+$i[fï—Ž$Ë¿¿¿¿hÛÇ7“J~~>Nœ8àà`øúúšµíÓ§O###C’¿gÿþý(//—,ÿn>EÛNNN6þºROÀòû®½çýí|ž.V–õƒÐÏÙQ/@èÜ»ÐÃ×Ó`9Aî>\ˆ+ª2ËÅï5•©B°¢ƒ “9rNÀ XÚá,¥™… =ÝD¿kþspî"YÛrE'`iƒ°45ÿN‚¬o–Ô/Ru;xþk†yë~^:~R+«!“Ùá¡Ùƃ3ö'àÆm%Š3“¾ôÈíêw«KÏãÉÕfyo›çLBœR@Ã&D팺ô4Bg æFÙ=Ÿ[S•+YÛÕÅiLF;^·T…—Mn_òÂZ–xßçÖëî³]–ý1>KSB&³Ç²—ñóÎÏñªíqóѵ71ðèˆW×nÇ…ÈWôÚÌ;¿Ë.ä·lwß®ExeoƽZ®iDíÌÿfÍÂébUÓ¾(íÝ¥kÛÑ—ÉhÇë–½¼›ÉíK~VùïUõ·í\¼,P÷øÆÞíÿ™‘øpVíô£ýë $å!c{2ðvýsæ„cËÖ°è§õóêa¬Û¬÷¤RÆá±°ä6³’hªr{ø“ÓPT¡‡w7 h’dm+|{ò“iå9ê?tL›Ì¿¹úQ«ÎÁ_Ž5ýs.Ý"YÛ-ßdµùçgTúuë¡w?³¾ÂípgZQ§^ëæV?jŽ­=3uÁ¿Õ-ë>ÝøWJÓ#ÌÑkgÞ7ÿÄ¢®Ôý\p~-€æn Þ›< ³w^ÀšqÝlzEÓªoá³wßÂ??ÂíH Tk%kû–ЇZÚ\Ñk `“ùϪÒXM?zt`Z{š¨šØíx Ç>xF²¶¼7C²媹7±¥ýèä鋞=|%ËÿáSM~Ï’ï*tqtPLBÃ+¹jÊk;èO й{ïÚ"^Ux7­p.]žÃ<_WÝÏêò$ä4ãK)ñ“'Õ{=>|¸«M¯le7~¤¾ýñÚGÛŒ~h zïÉÚþúË8~ê[Ø5ªrœ:õ»Mæ?üã£VÓ%7¯š6 pîÿŒ¿÷†{ׇ^©ãë —YGÛ¦æè»m ü ¶°«Šsqý÷|«Ê¿ä…{äÄÎw6Cô÷÷wy¤ ¾¤þR1ï'!“É |{»Ü ­çï÷Ñïti…»G…·oàâÅ‹˜:u*\\\ÌÚöõß.áÖ­[˜9s¦4ë–½žšõ¸EóîÜ9TWW‹ÎYa¶Â]7ã•aG—âñ QH­¨Á‚è3X5¨£.öÏããÛ¯ãÌú¢ùõøáøçtùNþ÷zmý²hž;špíü<’~YÑä÷ûëúYxçæ³¡>± ¿XŒ½ÿ–psñÿþý!>ûßä‹¶—»`ÀàˆÞ¹£‰íåaÈ ¡jâ]Ô&¬=‚/Ÿ¾¯ÕÛnª˜˜,\¸_~ù¥èÆLPP6lØ`Ò†NKsÔÁ½<Ü䈋kÓ92WÛS¦LÁ¼yó0oÞ¼æ¥õ×Gkc®>Y¸p! €·ß~ÛbŸ#E!Pf]Bll,ºuëfÖ¶]:õ„L¥DÒ…Ä6³n­Zµ ¥¥¥Ø°aƒHa•xA„Ó+F ¯AKmà PT7„?=ð‚ÞsO„öîÝß0hg®¯‹îõF¯½Ðä÷Zp1\pï,¤WÕLPÒ”÷ß\M½ßÑÍ¿ÉmVW\d2Ù=Û t~à-A¥¬¢mk€¥©9²—+Ú|ŽÌÕ¶¹&`±†õÑÚ˜«OÌ=KS?GhÆ,Mm[fïÔ¦Ö­»MÀb‘Â]£ÊF¸ÉÂSŸ'êw`YªÞÏ×¢Æ×~Q:vÒë¬Ò›u¯eçè%œ+U7ù½îê#È=ý„èýkøþ  Œœ°Ñl®*IF{vhÒŠ™½Imo˜Ðýžmv}è%ƒ •ÖnÛÚ ·I9‚]»È‘9Ú6çÌi­½>Z#sô‰9 ·iŸ#Ó ·imËÚÔºÕê…[áÆ¡%µ[Ev„¥Û.Ÿªï÷%º6·çUÔ.Ôª…•c|uËǼû³Ù¦•jÄýßI=š¼"Û9z›Ô¶F}KXýÂdÁÙÞp‹Qîá/,þG„P®iÞ&¢”m[[á6%G2;—v‘#s´mÎÂÝÚë£52GŸ˜³p›ò92µp›ô5qêjk_·îV¸ÍvŒ»)Íì †§¾H‚Lf‡éo}†/?\GýÛ«ËNCî~?àÉ_oak§¼ó—±é§ÚKf¼G¼„ß6ÃݾågŽÈd2“Þ“ǨsàêÜ UM<~2ñß±8ò×`ÓÏŠTfàdl~¿YÁÑ ½ú ÁØ? ƒ«]ËûFʶëˆMx ÒÚãÝ7^ľ}ûDOS(ˆˆˆ0éD1sä(d} Žþm|»ÉQKÚ:t(ÂÂÂf¶uÅ룭iIŸL›6 X³fE?GÖÁ¡·ÆÁÁÁÁüŸÑuÇptÉ„6³n½üòË(..FDDDë㮣ÕTkçÓýŽKבŠOw 9• wEh…^NA1x¸àd'»³5e/L^¼^ÈUk̶E#Õˆ›Çæî±¥«º)|ò·¹Bç;yûµGÒ7s$ָəÆ\#î¶~ÎMkjÕ›Œè_®áŒ¥‘‰ˆýöŒösCâ†ÍIDATÅ­³øÇ«O¡»gg<2¡óçãéSPzçúlååó¨Ò  ÁÑÎpëjå±kíö8T[cʉ&2{Éq3GqsÄmÝŸ£öü•äw||<¦L™‚ªª*¨Õj™kCÙWrçÂøîAè"··Ý #¥eåP«k ÈìÑÁÉ nn.°k‡[çù©‘Ñ`¦¼»±sðÄða} –ß¼y^^^prrbެTnn.\]]áêêÊΰRptt„‡‡‡M|ŽÚãgT©TB«ÕÂËËËpïus ·”®}7}瞯ŽðÖ{nMåU8º|GìÁí³3˜©6„“i5Ÿƒ¥^èÂêôŠ6hªó°äÑñrÞzCÿê²óºÇ‡z3KmŒ\Ñ “¦÷bG5ƒÅv•—¦–Š.¯Ìß‹]ùú÷D­Èý±¾pèÈ,Yºpwél¼¨kô÷ÖglOÒ=îìÃ,Yºp÷}á¢Ë¼&"ÔÇEoÙÿm½ÙÉñv?³DDDdéÂíÖãu¼ÒÛSoY—¡aÛ©ïáÔà]§mÂÆ¬ÚÝ꽦}‰‘nŽÌ‘¥ 7üóÇÁžö%}F½ŽÝ;¾Á̾õSîUœEèÃKr·Øù,3DDDԀŧ<½üÍ+þâ稾3õ¥OŸ Œ €«¶'EŽªvØðë5¼6Šg”µjá€ë‡>ó/,EBv¹ALî€u;áÉ=™"""k(Ü hJp$*ÑGb‘š™GÏÎüž_8~®Ì ‘5n"""2o9LDDÄÂMDDD,ÜDDD,ÜDDDÄÂMDDD,ÜDDD,ÜDDDÄÂMDDD,ÜDDD,ÜDDDÄÂMDDD,ÜDDD,ÜDDDÄÂMDDD,ÜDDD,ÜDDDÄÂMDDD,ÜDDD,ÜDDDÄÂMDDD,ÜDDD,ÜDDDÄÂMDDD-ôÿ‘úª[²8 IEND®B`‚nted-1.10.18/doc/docimages/upbeat1_after.png0000664001041000007640000001124211520267216015466 00000000000000‰PNG  IHDRLãŽÕsRGB®Îé pHYsÄÄ•+tIMEØ#Î$=tEXtCommentCreated with GIMPWIDATxÚí]i@×>“„„vY$lÊŽhwÅ—"Ö­µ¶VlêÓZ¸ ¸ž­«¯TmݪR­õI-mUPë,"n ìK€‚¶B–÷câLHî÷‹™Éܹœ™oÎòÝ{“J¥€€€Ð2¢¢¢¢¢B?¥„´%?á›ÿìýã!OŒÌŽ ¾ÀÞˆ.!Ä…Ì\öK}DØé„˜9¶TdýW¢¦¦&%%eذa...Èšé%„¥Çß-ãîÄÎòW„¬ÿJ”””]»v ™BC)!ÈÞ5?ø<ïùÜ“‹eµ#û¿Ê¥J¥b±X"‘ Sh$%D¬¸QY¯8Ж¹åz=L‚ e”àßûî«dé´]Ðɼ¦–‚Ã3õñíú³{®Ô¢W!‚VQ¢ùΡS ùí¿zø#W}=ç ]aN²ãÖÙìt ´ .ÔfJò.×€ÇÖB†Ðpr8Îð3Ã7æÖ¡$[‹Àår«ªª´˜âÚ̽ÀèPWZÇnª¥‹EG\Å ÈI»*Ú8µ–g”˜/Z7ÝâÙ…0¥cCϘŽäs­¡„TÀ-} ó‚} ºì5pñ¿ô» h†cbb’’’Ðó„(!’–'Íúæä®Li*º‹§ÜØÐÙžúbÇmÛ¶]¸p¦D"”_i*%Ú2-®k)mÈüõ^–¶h¢…¦ÄM‰„(qB¡ çR3)‘È$©¤ %Äœ?vŸo€Á³mÑÍGÐ"Jè&t‰¨“âªßÃÓ…´ékØ!F ¨}(ËÊÊ<˜ŸŸ_UU5~üx ú?§­ˆPwuÏÆu)’æ¼sÇ’ðÑN ÷é»#îjŒÅbqzzúºuëz߇ËŠeeeJØÔÔD"‘ †ÚZ‰Ãáèèèb¥ƒÏç‹ÅbƒÞR¢²²2&&†D"@tt4™LVàâ¦i‡ÎU¶SŽðŸáAV$lÜ[‚gº£VG,<€%m«L¿–£7Ú˜)Ye†Žµµµ1cFï›ÊÉɉwwwW¶µ¨¨(;;»ùóç«-% !Vê1âââX,Vttto)Ñ™DÀÔ©SJ†çÌ7gpÅúž~S¼o® =ø'uÂÞwÒ!&¯­¿þypÔÎÔ?¶¬ó7R™¡1 ³±±ñ÷÷ï}St:Ã0e[Û¿¿½½=!}è#éëë«¶‡))) rú@éÙíW(p¢Y¹[pùuOò}°à`9¾WwrìñÐÁTŒBÔ^ ÿð“€bêkbÕˆ¢Fî›>¨¿•ú®}™à’M;0à~KÆÆ€ä2>¾ÏxÞ±“¡NM¨W'|tâ1Z³á §×=9” Eü²'²Ÿ'}ßš kŠØ§—¯º¤&¹5D_ã³!9²K¡ÀÂ&ÎoKÀ%ˆsÆÖ]¢{Ñ»ÎÅL6!¨ìÛ^²¡zÅ÷AÇ‚öW¨û»¾Ö”Ñáðß+ð‚»°â¿„ZT.ïC]¢­ðð'aw:3«¹q¿†{Ò j[Xtèã­MáqÿöÐEž¾·BþQðð„=/ñRcàƒŸ@›†˜ô%¤ ©›f­¼Ò1CÈ"èÔ‘E6D½jÚòö-ýR´!nµ›.†žèÞ‚ý Œ öëðOðµÈŠ.Z“––6aÂüï… âÅë ÑÆ½}ñ«µ3¬°|¸³³³R'¦¦¦z{{+óêjõN>¿ñ±ÜŒŒá¶1À»œÍçÒ¥K EµEØììl7qâD"s‰èèh¹¡³¤>%bƙ֮É'cüª¨ k"¬*ÈùnaˆûÖ³GZSÚrcnâ”pøpóv•úìÙ³¾¾¾Û·oï}S·oßNII \²d‰R'†††:;;¯_¿^‰sêÎCüò_šmaûB?¶'¤¢—••Å`0±R±k×®ââb9}è %œœœäPBR›¸}ÓŸõ›t#4@U±˜éäÔë‘àÒæŒMsÎÞ“±~">b°µÑXÖú@''#šŒŒŒœœœzßNuu5˜™™)Ûš¡¡¡‰‰‰rgQõ¸òö±»¨›§8”±Ñh4]]]B¬Ôc˜››s¹\9} Zª“Ô&†-=QÛ‘©øîLZ‘8eYjã¬Çâ)½ šÓcöåVël3(²Ãï?–MåMYêfc1zWÊÙÅÖªÖÑÿ¤:ëYéŽ:ï–¾fE­Q[àüŒŽ©¡•ú®Ħג§W"BO?í$D̉°ÑÃFÛ@ÉbR4ƒé¿·H¥¼*Nòž.“ý&Èçý®J>ôKmÌ[² {©ÔD Qàïí`ªu3 ­7·dîX÷¸cËã‹W¹ÒhOG;S ‚Ÿ›Q)œáŽÖ}Õ‹„Ͼ›œ|+»´¦ŽTC“7yu)màŒ]6àQTò€j®#`Œhë½"í¥qaß²:=ògýt€á<Æ®–°n4ƒ»)"ÀsdhÊù_tøÆÿ^aK_ôë¹ovíSg˜7¦¯/"÷ƒUã s‹ÒÆ›;¢ouÜF½€Ý›Ç`4›Q®4€ö‚ôòVâú-¸»i´½µµ[È3&“Éd2 Wº[™wŠÓoVê—òó~àá¹xÏK|©ôp\F…Æ d Í)Ð/!®ús{gV Îk¿žkÕñß3s€Äüò?}O¿]B5èàáë÷öÜÙãô{ÌHºÏŽ[å;úïÃ!bÿ²d\HÂÓ×´4+‡v†È•¾ñÌ»R¯¯ï‹ »´­&7«\¦U“Œ{;›vÈfRa}ynÑcáË—¦3íí­ŒišÀeffš™™988(d>-Ì*æÉ txz;é)c›ÂÂB:nkk«TÏÙlvUUÕðáÃutˆV:%Â–ÆÆf~[»H:4†»´€D"¹»»«ðN±Ùl@ O•*†ÔÔÔÎSZ[[EÏ£µø»a‡mÃn5Êö7üâ.×Wêx‡]¨|±9åÐÞ˜›pàÈvïZé%àÓO?UðÇBÎÉ Ý<ëØˆ=ù%û0{ö숈e{¾~ýz‰TSSC 5„õÙ'×øÛ¾Tç$3,òþÈOº†;Ɔ^c[××eVlà4Jjú®ñF=+VKê¯o˜1ÿg*ó=ÿwT'ÕQ( ÕÅ|ù RÇ~óÓJ]%o\ÊP6^ÇÃK÷´79Ò±O¦‡Ä¿jД¸åqnGJVáBÝZ‰ …_x-Wv‹)“ÿý®=ÚK}ô/œÇ/˜fàµãî“V1Ÿsûôæ™VÏNÏÛ½p}2¯G#$µIa`¿°2ŽÚg™Ì€Ïgê½î¨î¨-wïŸC|ñ)ž-§ S—£Þƒ‰ „´¹,_ hþ+ñå_[Ø!0 øáQñŸ6Ï4€’¿‹ø@¢3}}yáAârûÎªŽ¬9Z¬ü7‰T6«NÂgg&žØ÷uÔ–-Q_ï=qñA’œ°ùèLê÷y¾H êàw¢.ü½Ý¯Ÿ d’ê„•ËåÔ h ¦z+D80qK]³ìß:ÉŒ"NÊe6€Á¼¸ãË=˜È~¤=œ¬ççtêud‹·¿ùeuÒ¸½²÷IÖÁS…«¢þctE­"Eó̪S$Jf˜2µ| —FäHÄHuâ¦Ò¬¼:èÙy{ ¤a p>¬//&i[õ£¬ 蘻{?­¥ÂÚÜ,<úÔµêÅTä—ð¹yfn.–º˜„ÏÎ~T%Ã!>®&}7\ ýIÞý’&¹?Ñ5wðr0Wá¸gõ‘ê¤"AsS‹@(–bd*a O§¨ÍŒà7$Չ꓃-|öËŽ ¹¿-4!y×±]i>`øþÒ¶ÎÓøÙÛ†È5|ïòSE”–ÆÌ­C-§*Æu¬æ;kíðóýžô¡¾ÓÆ:à#×ÐÔ1»²›U«AõPª‹ŒŒ$\ªSg¼©ÀxìšÏÝnͽ»36séÞñ­æýxùËà_ªDd'0GÙCB.”¤±„Ÿ9àóë$õw¯ã èO aL&cÝ•{3¾ZzÄî›ÛËœp‹Ü‘ØF"÷á 2²màê™k—^â¿.J¾ta­CÅQAϤ:Üá'Õ©}\ôF¤: º­Ú»Ì€³?hsJ½/)ùF‹ô’ÕUu,½õ 1ûN•L•ÿþÃMg™$ `Ò‰üä9}9 C#•„>¤É< 6>,Í/¶$ý‹ñÃÆþïÀgcÌžµOè=Dò[[sÓˆÞ9ñ[€ÕGqÞµê'N›X%A A¨»ÇŒ'Æ\=½Ô*Άµú^tüýºŽt_;€Òog ²›ñ[9XΈ¾zïø|+4cZe@_‹ìKJuТãÙ9§×M³æzÿ-sÓküôÀÙoÏ :‚çÒ|€êº`û¹âÒ‹Û¦öh½Ñþ?«NmâôµÈÞN,K¾é£VJþ˜}ç¯ÄKÉiw² Y·®ŸßÐÐÀRÒ<ÊË˵ÁJ<Ïç˱’¢RÝ£GÂÃÃ+**êêê|||z¶°úvJ6Œ<ýF2ih=WbQ__O¡Pä|…í•(**b±X“&M¢Rµ¢PÐÔÔ$‰LL^¿ Šô ¢éê{¸ á¸)«UŠ Ø´i‰Dª««C¦ÀñF«é{|Õššü!z«#hEz-Ÿ¦v¸»jápš%ÈøšO ïþ©/‚çLõ›:'8êôÞ åŠ‘­ìþ ÜTúCИŠÓë ÈÚî÷V”l]‚×Ï‹»ögÆ¡w,Ÿ‰:†æ €&ôµE5‚¯¯opp0FC¦ ÜK²Ê~nOùÑàÈ]*{R~u%>ÀÚt©2¾Z`îܹ‡Ö××G¦ œ¢¦š—&Ô%Åw™iÖÆyP ¶õP AÓ)A³ò´z™'mâÎIRŸ†žéÅDƒå4žTÇY³l^Ø7 `QçxjÉ“´Óø² –“§Ú#J h<%€î½2lxŠ8¿ûíÅ}þƲIX·ãr`>ëÂ|ôéÔ„ ’¦Œ.8ռׯ߫HdÚ«ÿZç…}w> ‰Am¡è'…ÑVrüÃ1Ëdëê:ú¼åbIªyr+€ ~¾z±-ª6!¨-§´W]ùzÙÇ_\â>¿›ìúIܹï¡£Z‚–QOß=wêLRj뉈aã9á%Ëæ0GîAk)€€*Nˆš†ÿó6¼˜£ÇöœIEND®B`‚nted-1.10.18/doc/docimages/before_triplet.png0000664001041000007640000000662511520267216015762 00000000000000‰PNG  IHDR±U‰ž’ pHYs ‰ ‰7ÉË­tIME× 3^Ú÷† 4IDATxÚí]yXSÇ?7!ìˆ²Ô Z¡AjEiŵ*ÔŠJµOŸKmõ‰ÏVëÓ¾×gÕ[ûl«Ý´V´–jm­¢hc±DûÊ""»@@¶Èš@Èvï}Ülå …!!óûø>f&73“3¿™9sæÌ\Œ$I@@Ð ‰qqqqqqqqqq€TµžÜ·=ñØE1ŽLé¦lö;¤u¿.}áÅKÅ­`?fÖ©«ßÏ÷±G¢·\NÈ[2ÂÆ„ßi•kS˜î¹â¬ž6HúÉ R±ÁßýÓ–.ɶžKë…glhj‹Ó'ÊNÅj ѬFÚ³¨pûÃäåg+ô-¤rãækTíôܵQ•¨"ÎËŽJù%á$}ùÄÐR²KÍ;†ýÙ 1•Xsãeõ°ÑÊ:U$‚éá ŽïO|×ý3J=<¸>“ á"ñSS'ê“–5w¤\©Ýæø¾PÝ¢Ã6ˆ­Q-ë8jËâDò#)¸Oû8ÄŽ¥_"SsÂÊŽÀ‚8A(êtª`Ρ(ýt\.ìÀ À0z´³5j â„JVN&¸±õÓ¥¢o¨ÇmåX6',‰$.¡nÌ?4|ég©Àè¸ Hú¦O` 꿃¦G”¶7Pá­Ûô-‹t+*ÀÒ+áúŽÙmrpý·ÕîS“EZZZJJ âD·û¹¹¹kÖ¬©¯¯oiiñóó3`òÈÊ΀±O:2h ’Šò «©Âܸ“¼l™W—µ5·®.NÆ•Eqq±B¡˜8qâPj`‚ š››i´^÷ÿîŒYéééúLϰ¥ÓàËú’$âœ{+*7gÿ¢V6UçƒPG6†1n¿ õööbFI¡PB¡Ð$ì˜SìXP"U’xÛ¦ÐYwÄr Ñm¤¾ÓŸýÐÏ—… ZeÈÞe†6«pG+È«jÿò•Ïóš¨Äö^_êikpž•ç×oü±H’@÷„ÀxrYs ²í¿ Q©YÅTŠûs;S·O18Cyë­Èõ÷P›™ñ812r4eÝ¥¢lÇiükÿd>màïÌY´ð»s¨Í̘ö\]1 ‡#™—üm –î~´0Ù{ßþçGXB«Œ úÏo†ÚÜÑ)âG,IÓFcŽVû:œ[GÍù¹»ëoÖÆ[HOŒšø|èø²œÈ‘œ!2NÊÆW¦,.*©¨çìÄ䵆[-I¢cSØ«ñç~oͰNø¯>‘´Š´¸Xª2Ñq‚Çãõ)Ó–ÊûåM2m´­â$÷­ÁU”Ô e®o.àõ¯V½´Y=[CÙµ_põðõ¢÷cí®P( ::šÅb šÍª!sO—"|×dîÀWpÔÎáÙz^zý´¤™‘ÍêΖ÷ aÖ6+\.Œ< z€†Yg˜ÿŽœ¬7ÙßWÕ|}ƒÃ?Â3ÈÕ« ä›×æ¾ûË€lÜqâÔ²±Úo9r×Ön+û#ö '•Ä¥v3À0ÚæïJÍrœhÌyoå·åšÅ§ýñ´]=×€\|§p0t%³FSþ.‘Æ_•$‰Oâç6ªÈtk4NDç†yïiû1oÇ•E#8LÛÀ@[|Ußš¹O8ºê´~tÕ—]43ãDù™eç4 oå0ãòîg©ðê6p+­¾ŸùK ô ®CXŸ(:õ—ݹ:ÍéÕ3_¬àš™>AàaVÚçã~¬Ô~tû ðœyÙô·•MDŸhÈi>ûJ‚ëTŸøw…ש¶¶ªªªTªÞªtÝúY ‚éÓ§SáØØØžs)L½/QPaïéQ!:¿:âaaFfþc&[遼G:° øJI]U#>v´§q#--M*•FEE 69‰BÁ•ü:)™½ˆÛ®T*MII‰ŠŠâp87w(;î15G»ØŽá¸:]Z/XÊsëI—aØo=‘kÖ~Vu·çõFÈoW´õ)[\Ù´.Ðh ‡6ULVƒ´mÌû—’P6!û?fÓ:]Ÿ6~fòï"íc6ãýÆâèÍ”„J|hõ3Û/Võ©8Kð³¢1œ?¢à~¬ ¤BÒñèê×{'hN ’$~襰ìve/˲?+‡{.÷’?–ýo%inœ(¨wú]žNôµf€¤*ñpQ †a›“r².{m•4ܼ4+ç9ñ;+º8ÎZí·­’U®Ø–Ñ›‚,ÊϪ­NXZ㜜þ%Ü|74á3³mï­öYôs5•rw?žŠN¢¢¢ì¥À`Æõ¾Uvf‰n¹Åñ“ÿù¤©z+ØíÍ´Ú!oÛ–T^ŽTŸŽ¡[¹?ç竎盓>ÁÒœß6E­QŠnˆ`å‡óÕK ¯% ’U¤éÝt6ö¥¤©ï~¥´ð‘´çR,ÄÏJ%-œ3yÑ¥œ5ïñxLà¶·ušÓÜáãÊ3Us].Ã`åHõÍvlç(ê¬Ç×U½’­,¥ñ[d=AùY¥& }?+Á–Å™­êC[?Ÿßç¢ G¸SOŠÔŸùL  ÚÏnÀ¡ W–¸¨o¶c¦µÊ3žã«•P€ž œP»t 3nðÚw3»É®ŠÛy¬*ãFU¯keZ[[e2™Ñ³íÎ< ž‘{"ýõ3C‘HDY›ÜÜÜŽ š@IªŽ\¼âÏa€ŠåAÑùÎ;LW+í­èP“z‰?2@OgÔM%X–€_úxûUõͤßìÃÖ5åt©E?#dÞ•BÆk)³¶­õ5øœ •yš%˜µ[5ŸßØÿ,Åb1Å {û^ßSkŒý|þ0kàí¿«M:ïkç±YÍÞlÇ™ú_«ÍP+Íúa7&ý'âg¥h wÄ“&  ÿ'ttŸå5¨:&Þ©½Ä'î^ã` 4ÎXɉyÀ² Ò6-·ïšÇSjV ¿Ç†aú­{uÉ*ÿa‰Ýå|‰7œeïÍÕƒ¶V\.—7óÓ> ©†O޶ëÂíŸÈÊqp/»ª-ÐãV¤˜7'¼ãE7Œ‹û\Ï@ÛØŽ«IÑ!:ÝÅÊ‹+Dã5&Š„; äg%É&ØÝ‚À6¸œ(8©1rg6˜1'H’lÎ?B]h÷|B’êqždÖt ¦Ÿ(¡Rø»B¨ÌÝ‚ÿ1p¾ws½z   àø ¶ÏòÀ’qjZ0cÖüýtÊ­6%a–œ I2cïlõê4âõ¬zi—Oc]9à~YÖtï_ÃÕËT§àôÙqBÑ@Ò±ž9A/6WLùÉÝñÃÙ JÓ yÿl¥¹r‚$ñ¤„µŽå¶|ÛÁl¡n?ðÌdW`r¸Ã5®§¾³›zKqõ~îÿ¡oúDg)‰õȉ©ÛH‚4àòÖ’â¢z‰ÒŒç¾™úÙ¼ µiÃhOùó"¢DG„û:é±Ü'Ï;zéî Hz–G·„]Gʆà]Ïp¢[Ÿš²²²ÄÄDêî¢+VôuYÜT]”›w¿¬\Xÿ¨Q,éP(q‚ÄU*¼¢·¼=ßoP^Ó€á’ÀÓÇ'g2ݯ&¬]Šæ¾x;"X5_ÑÜܼcÇŽ}ûö9;;÷VJdïïF©œ¬éÂæ—À{Á®·£¼Ó;¡³iDi¥}kЭÚÝ<ê|¡.!þHîÁ‰që—wI±þº‡îÊÜœ½—©ÀÌÍ\$w‹Ð1I’Ü0FíÔat¿/_JôÎæy³`ç''gÒ0&'ZKQ‡äݧoãÿ^†ëñ`ÓÔá@c8.#¡›8ŒlÛ.IÞ¸ü})N€µëhÞä NÌÎì_Óv(1Œ¾étÁáeãÑØlAs…ÚŒ“³ýº¾m…ɳ'9uAK'4DSeýüýE~zIefã21$,neŒ· õ@³ÀÀí‹"Xâ~ââââââBoð?O‚›T,00Ã0ðÀê4ÐÓÓ£åû^"‘˜Z †aAAA±±±z§ŽŽŽŒŒ~j«Õj«««{zzÀ?@åÌ™3[¶l©­­Á±±±±111ýNÏår‡x]]]]VVV^^®R©X,ÖÑ0/<o˜prrŠŽŽÖ;}LLL\\œ››ÛðO$‘Hô1Uÿ‹£îîîŸS*•$I‚‹€,ǤI“ý;ƒÁˆŒŒÔ§­ý¡üð«•Édzw×ÿliiæ±#HµÐÀÈa³ÙúP>88XïîúŸaaa&õRutt\¾|¹ßékjjFМóù|N7ò›!»ÉºBJR4$bOÂyÑàjÃ1”£·k èÙºuëîÝ»GSCYY™P(4é}p5yòd½ð¼½½çÏŸ?’Å_ÉNݵ=º¢ó”æÑz' „îlò?ŽÁvèC*¡;›üë(Ò®50ú ±±±CÜ3®«ô9tpp0ŽE ÔwC“ùÙ=È«Ûð0×ß*[Àó‡c¨ÉM„ž·_ Œ>ŸïããÓÔÔÔÿ—ÀÀ@}3¯o飣£ ÆØŸXS©ùæ5R©6ô. Vƒ–¡š‚ øÕa>³Æ×ÈëÖ­S(ýNïääd“êN¾iä{EéðP³³™ EÑb'”‹êBÿZÅý¢vܬ¼k×.ËG·Úº!†å1–|4ævþüÆ„ê톡h‹þ0q4`8ª òcîàõÙS†'CF3^ÌûzLÀ˜ÛÙ{pnÓ$0ÔhE"¨êº Ýá9Ú“h~´ƒ¾ˆù¬¡ _3“'ùy‚¡,ú +ÎQBˆ,Ú;DøKÒtwŽ!„0Ž+ò´­:¿þB(ü9\{Šl®A¿Ú£»à ñÀ(²ìÄ£oÚÙ÷Ÿa¼ZJ|—l-޵ûÁ]!D„/B,k\î›’IÈûWL5î3s ¶ÖXˆ’‘’!æaѧl°¯×ŸœGtSÒfJ¥@s˜„9»£ÑŒN†™ño9ðùön(KjZ†BÚí÷{ŒGuŒ_¼lžOÄ­6‹Ÿ¸Gî6cgŒãj&C_>`}Q¤€¥sbbÍaZì„ ¬éCÌÿ3#ý+Ñsìl¥ùBçK÷ [ÈÆRª¯á˜K(î†`rÖ7S`g«ÕÀÃÉ ñ;𰳯B»Œ…t×ÿF©zM:ãySÖÚªµW÷šÜð¸Gà‘K—! Éš|“èøç0Ž«Z‰ênÖÝ>b²¡Âq¯X«Óæ; ÓªL;„éhËOÒ“oÇM1'ï‘ÔÌ`[§•0–ãHn‡k‰5 Lï#ó™ OÏQj`˜OŒçmC9½£™ ù€À±­BR?vä÷VIu:'†÷4—$° hÀ~¼_|àîÛÖd6ê¬&Äz:ïe€}@6Ž\yiU~ê÷òAÞö*[Õ¯:ƒ‹€l¶xÑ•¥¡:Xv×4 ÆëÜ®–x‰»œûÔEW±ÙuN¡'NÜ¿ß2P³øL¡·ÒHLÁGû–³˜Ã Á‘$KüѾÎïZÉ«$ [Hжé£7g™kˆ­˜¥4º]Í3Þ¿v/±q Œ`Ï"ó…à!Nob_Æe \†–¬fž ' /ràá²­!áSØŽÏæ±tÿ€>7$„œûcÿï¹’Üùùó“ ’Š»‹Ç> ÄC÷¸ìˆõâÿúÆœAð{þzÝC{ƒ‘tM”:µüaKü½‡X%FMãM+š_4öá%þ°ä—7\”?¶Àƒ¼>ôƒÏB2Ø0G4`ŸãžõT=ãÒÐç#g „4”†{Ž«&Õ!_–oÃâ3]•Z[wUrãRBáÜNì—8˜¢eOXôÝ(Iõ¨Œ*ÎÃeÛw‘Þ¡cô·CÞþsÕŸ Œx'ôó]ƒ°Ø#\žâËß×:š …à³÷ùãvDmUµ2pŸÎ‡¯ °‘œø•YE;ý—8 \%A ÞyøþœýO!äÉôæ}ÄÇÇ[þ¬KÝ SsµI0;ÙÜz6[´v €½ÇBЀ4  €50>}dÀ P…é`¸žÅ5}dæ µëY¯¼³CûÃ3Ý88!„Ê{ËWþ{e­¢ö%¿—ÄÀ(b!;ã£êîËïë(ÝÁúƒ…]…`ЀÝÁÀƒþXXcË*ض½¢¯â¾üþ¿ Sœ¦€A ˆ…4ʤR)X°ë|`ñâÅ`³Òåø¦üŒ§éS@Nl§Tý Yñ7Õ=^O»@ÏävIØB×ÏžÆ^ù}û4`¯,ÉsÝ$µpg§Œc@,d¯Ü>Ô¼úœ&(ÿýÇÑ„D¹öF¹ª¼^Ó.£œhsgpfzCC†B”¶³æÇÜÆê*¹RÇrööžá °"þòZÃçí$Bh^šÇßW³FPCIaï×çû¾/W«ûÆ0 {~³×Žtûö~ñµ/ßþסÌ.å€Ý´Üç¼¼qßW^lhÀ ¾$’šõb½D«÷Zôâk>ïÎ6a”ŠZ®ÞñY»¨ìÑ^ 8{º`mŽBÈý__{UZ|éëçR+_ÉÜiê§fn Œ?ҺΧÞyô%tÚõ¿ù¸Ã€êù7ÛnöP!“HœËIžÍyz2ƒK ÖÒ΄{BÏî÷¾§=FD:yñžÄ¹µ=7Âç½¥Cô€Ñ.^¼>jnÎFè‘ËÏI¨¾™[1Ìc¾ÙC õÒ§$‹"d\œBbT F¡Æ*O„BÝ?\äÚcº]ÿÕ:#@áÓ†ôplÓ¦Mà£fE¦yöGÅ£¡ ú‰9ìòá¶sT\nï „P€ú07§þoM¦ oTÏnÔxS#ðÊ…Üc–ëz T|E3OÓM')-áÐÍò•08ãS¥ åýÃø*d¸PëɃXh<‘Tõ$îö¿¥1éWz{;èK§¾ÞƒzvYÛ»+§77©óŠç ä’‡52¹ÌýŸx,à[B”V\èíêc™JÕ€Ô“3ýåø÷¿rdÑ,\©ª~}Z82ìÀŽS·ýéð§ÄP¶ ˜—¼C-/žS÷ŒJñ:nÂRGÎy¡¾ƒäkÄ043·s=/Ô"æè$— ßHíh<õdFºø‹m–¯mû3¼î–Á÷ÏuŠÿõ¶¿îsa uÁ«eó2ï—žoMÔ¤¥,1­±Ä <-ö®F;`÷NG7Æšå·wû~ÅÙ2 ÅWrY„úî‡ãRwñ«×»àÆ„cð¼7ï8´8@0Ìì`Øæ­^ÍÛ›2kIœÀ3œMnt8¼'^úêàißpŽ#âψò$,|G“Äî3šz:þb˜Uuvvž}}‘ËÕ†pî¿[Qöå‰s"FüZ‚Iß÷±{¦IÝÕ­pùÙC3ê²ÌèmO- îs‘ì£]mcÓHƒZ€Þ.mm'ñå]Qe—àŸò Í1Bsä£/f̯vlÂFžtÿhÌj LŽ…r‹ŠŸm.I‘TMƒºA¢Sh‹ûz3BÝ©‹ïˆÏžüp„Œº»Cr;×Ô“òB§;x‡LDï—w(^ÿ/ÉåZBˆ SÜñ¢³íÿáç½k¡YÆ6tU^WˆëM=ÊkAšñW=£Ôs(‰Ž$‹@‚ý„D¥g&ºìéb$ÜåZwLj ôÊI¹’zÌûÉß”ÿP¦~â?ɇµ.‰ãNC!Æc?J§Õôš<{“ÔLÈ¡÷:•æ…ߵ˩þ–B‚ˆp_B®0W<¤SÊF`Þ¡SDܤÍü£h_gÉ y‡ѸlŸX~L1¢›¢PÏôW3ö,“ÚÆA+uã)¤ÊÍ;ÚóăôÒ·7)_cìtzòaÇ÷ôÖ^z¦ =Žc/=ï¶y±ßÌ#Û\§>ã:õsÅÍœ·ÙÖY›E5ÐV©þåÛâb™Á&Mò !'{N¾(xø^?ø÷ÿ\ÆB€U2òœøøçíF€brØölYŠ¢nüó„%Áò‰6§R§Û^¢5^fNÏž-‹=f\:L¦·= P$¥5:ÐÈ-Ì鿟¶ëÉMÖý4kòÎ)˜Nos è4¦Ìàk^÷ÇãïºÐì¾ñ{5íaPŸß~¨JÞfkù­îu'Y {`tÚ:¡[îùÞt°- ]äþ»™4„IRz¿yËé©[ª>Ђ•1ŠñBT7WúÉå¬Ü•꩎"pOúŒ†ñŒŠ¶Úºïö–a(•muª)©¥p&—éÈrvìÿ§gÂ*ç¨Ù1'Øô†÷¤£’OÉ:4äùzëÛµí*— ³Ì5L«97«çþ-SŠÜø1h`äÐh ÓM¨„Æqv›>`uGJ×%þþ@s^®Z3 Éf…-{á5b¹ùNTcXêZ·”Uüúv×…îf椎A1 ž4íՀɚáЀNr©ðõƒ%WV½—™hÒÌ ë8ix —%†f9Æ8Æ€[[(=c;3&žw¦tÕ\ ˜p¨«)..l0^ÆÔ¹0‘4Ð#m6~nËÏ¥0vN¯©lW ü<;¶º¹fbÒ¬¸ŠmóÚ%rð6ÐÀ“œ.F]Q>àpNpÀúÉŸígÓ Û0±ãÒo¦.q¸ù›Õ2•Î Ï9õÖ6—Â|x¿šß]˜¿õÍÄ/÷Òp3Þ]íñ½¥y?3´Z-kä}”ŽÂèl:σ1pHïôw³Aãú$²š¹fc{E»?8ö—¼O¢þþ·f[bºûìœ_'i>öQݿΨÔA“ÓcÞØÉa€µU,Fûµ„ìò+×ý"g=o®©^ gw†³»þw#k¹É˲noý;°#ȾZÉÃ});%•_­6{œ ý «B]»]­ýi¼(EÖ~²T­3ïRéÐÿ°.êv}ûøGß­g„-OiÅ·o6/ý ËÑwiýûý¹¿ÈŒ[dº€ëׯïììœ=Û”¡ãdft–ŸÍô?‚&BT±çÚ®oú?b¬ØY¯§™T“Étqq¡ÑLx{1BË îdaKý  @Oîaíc«©9¦þ•E³ÄÉZï´6#›ï“Ý3àݨyqûM^DKøÝ‚:ýGŸä cg•£oo<°ÕþÇ¢¢¢¬¬¬¯¿þ4`õ`ŒEŠ-õÕÁówµèúé¶×ÿXVV–™™™]UUÕÿG©Têïï°bü˜=yÊ_=Õ! Ñ’$ ‡ÞY“©ªªÊÊʉDeee?ÿo~~þ”)S °n0#â÷Ÿæb¥×¶û¿ Ÿººº]»vÅÇLJ‡‡¿÷Þ{ƒ €Éd¶¶¶B,díh;ë]üéŸ,ØòRþÿÄ%lN›¡©©éÈ‘#"‘¨  ÀPÖK§Ó-Z”žž¾jÕ*°bïo;W¼ãequB£{:{9J®¾T:eéd0δ··9r$;;ûêÕ«$9x?:A ,HOO_³f««ë˜œ4`F(UÅͩҾŸZ$ejàà¡“)À8g´ÇÏÎξxñ¢N7ø d†Í;7==}íÚµžžžc{ 3ÒùÕj½0œ´ù›«tHˆÒÛÛ{êÔ©¬¬¬ .¨ÕjCÅf̘! ŸŸŸ™®4`ηWkô¿p–ŸŠJMƒ „T*BèÀo½õ–Baðy' …BaHˆÙ÷à ˜/’Kd›7ÇäXpý .dffž/þÝû¹½òÖVšk“m ¿wïžH$ÊÊÊ*//7TÆÁÁ!99Y(.[¶ŒÅ²ê}iA–yð8¾~—ÎÚÚÚìììÌÌLCo6BL&sùòå 99™ÃáLˆû CÐÔÔÔÛÛ{íÚµàà`##Ø’’’„BaJJÊ(G°k¡½½=''G$åååÁ¶páB¡P¸zõê±ÁfG -,,ÍôÀH¥ÒcÇŽ‰D¢Ë—/Á†ãøÜ¹s…BaZZš‡‡ÇD¿åqӛ͎Ÿ³zzzNž<™m|ÛÌ™3P(ôõõµ™{‡XÈ®‘Ëå§OŸ‰DçÎ32‚mÊ”) ###((ÈöŒ°GT*ÕùóçE"Ñwß}×××g¨XdddzzºP(ŒŒŒ´ak€ìFséÒ%‘HtüøñîînCÅ‚‚‚222Áh&ªƒ+B§Ó]½z5++ëèÑ£‰ÄP1___ý¸å™3gÚ•}@¶Ìµk×ôÃxŒ¬¼àéé¹víZ¡P8wî\kÁfy0 Öú°9¤RibbâíÛ·”quu]½zµP(´¶l ` P*•<oÐWœ</%%E(Zí6Ð06¬X±âÌ™3ý9Nrr²@ X¾|9“Éû€lŸ3gάX±‚Åb-[¶L(&'';88€Y@v„F£‰D+W®trrk€À°æ.ÐØ3ÿ¥˜Þ›Þû™IEND®B`‚nted-1.10.18/doc/docimages/staff_config_button.png0000664001041000007640000000211211520267216016763 00000000000000‰PNG  IHDRÓ‹¹q pHYs ‰ ‰7ÉË­tIME×$4‚NéIDAT8Ë­”L[UÇﻯÐ÷,?úcÀëø±ÁÍõ6(°i„6HŒX4fYÔ™Åÿ31š˜™…˜iâ:cLŒ1º±¸1ݶŲ-¸´DFË4ZÚ}TºG¼×QöúÞóÆþÀÍôüwϽ÷sιçÜ/‹®ÿl‚ @žçskžËø—WÉHÎãr{ænÍ ‚°í&Ïó4MÓ4]"!„¹íÅßNþääGV*‘ÌÝš¿0v1Ó4^]-‘äÚû'F>ûü –e³X¿pûö“ýf%Æ®’$€ç¸¥eÿôôÏ‹‹K““ÎBЕ‰Ç'l.·‡ÿ;Ù<(“á¨hjPg@©´B hØÕðÄãɵȻï_‰döä²?° êuÚBt!‚‰„ëŽq¬FUO(^¯oÒ9¥×i½vÔã¹i³;8Žcæò•ñ‡-E A¢d6#׿|§­§D(twuz} ŽŸœó^_§Ét » Bè¹9 †0 #É56ÃÚ쎧ûûÄbq!·Ù¦ž{á°ºŽÈzp'ˆšcG_¥6¨o¾íîêT* ­foEEy4JááèTŠ¢E¥Ù'.s¨DZÂf×TW§îÞm5[ z¢¦@Äþ}û¶¶ÒÒÊJ¹\Þ‰DùÒÒtÜ~ÕeyÞrÍ1ñÇÊ¢eh¨~g5ÀÔÑ>òÁ‡uµ;ÕjU[[k.€N§S*•™L† ˆ¢ÇüúK%¡¢¨?×"›ñèÇÖOשx2™üò«¯§oÜ(--¡¨?°’!rüÄÈ[o¿S_W[‚@ÔØØ¼g÷î¶Ö=CÃÃbÈ®¯Seee}½=;Š3£çæ½>’$s ›ÝÁ0L:ÞÞ~•FϧãµM5;*јT./¯(O¥R^ß˲&ÓŠº0öýÆF,;G±xÜ ×ÝgŽðr™¹§Óa³'Ö7Ξíí7×+«0 S(ä4ÍD"­F“á2Ë~?Ã0gÎŽ>;ø ‚ <Ï3©Tö·æ»V× 0?Õu k×£ÚýF-„HIIɡޞ¶Ödž™™U«TZÍÞ•`Ðåv‡BáÍÍM§ój"‘!?GVëÉRÙÖ¾ƒ÷dÛ_åå#(ŠºÜSG»±ÅpäðK4Íx<3¡ðª±Å ‘H8ŽËg$¯Ñ‰øìœ»CWTüàà@uU•B¡xó×Mí‰D­Ry}¾ôÖÖ#ÍM¸Ä²÷A@rÂF­G¦®O£â²sŸ¸D´-©ïÎ577[ 6¤P!³3 È?Æbq ã8þ ‘,Š|_DÖd2é¿«-ÿ“ýe4·Zn»½IEND®B`‚nted-1.10.18/doc/docimages/color_button.png0000664001041000007640000000061411520267216015456 00000000000000‰PNG  IHDRoª¯ pHYs ‰ ‰7ÉË­tIME× (*ºšÝ+IDAT8ËÕ•=OÂP…ŸÖehÒ¨,²8é`BÂÂÀèhô—¸±±3ò#ü £‹q"as‘Á¤&N¥¤wh“Òöe2 ¤ zæ÷>9çÞ{òjJ)Û¶©,½üÑ^á«:èžà­:XAvÐqî('Èu‰ãÊ Ïc2!IþN´ÿ2ŠGð ‚ ~9PCp bx,z‡ð¶ºvR®"×ð§ `Á=\•ptC¸ƒOXÁ%ÜÀÅP’Çè:"ûXgp ²æh6c:e± Ñ ˈ¢Ö´ŸtÛRJ‰ˆˆÌçÒíŠaˆ¦‰iJ»-Q$9µñ·\⺤é&c¯‡aÿý>£ŽCP«Ñé0P¯çi;[$ ñ}šMZ­vö¼šeaYeº¶¢{‰KÌ{IEND®B`‚nted-1.10.18/doc/docimages/panel_buttons.png0000664001041000007640000000614511520267216015627 00000000000000‰PNG  IHDRŽL4¿àsRGB®Îé pHYs&&¢ï%ütIMEÚ 4)ø$gÍtEXtCommentCreated with GIMPW ÒIDATxÚíkl\ÅÇÏ™»ÛYo–uœJœlÇ·ÄÀä¡ZPÁ.FSŠJ‘úª~ ¥ê—ª<*!(PDÚòT „‚©µˆHPB‚cÇ8Žyø™Ø»ë}Þ9ý0{ïÞ½»ë½wwÝ&Ý™Ž×kÏoΜ™3gæÎƒñX,‰€,gwéٳǞ{e_œåe÷`²Ε"]%]%‹t•t•,ÒU²HW•[qÌòÞ›ÝAâĘ‘1††ÂCdœ82dÈôwˆsîp8Ö==#Å ò¸*0H$~- ‘¨V Ä7à` 2d¢A 0Ù‚X,‹Å$¢HDW% ιÓé-BÀ"1H…!"Cˆ ™Sq2D VU5 (Vúdbø1Ƙ’B¤V(qæÌéÁÁ~âEÅÈC@dˆ.·ûÊ+ÛÝîŠ"Y­˜™ õè¹rõµv­Èã*@­.­RBLVMDDDœsÆ!!qNÚ_‘þÕ&‚tçj 0åóÇÓ«2þraˆááÁ§ŸúM"‘ï þë•üÓöš7–Î ½£B¡àÞ½µ]q cÌžy\%ú%ë‰Q4HLy"MJ2õämDæÛÁàô±c_¬\yy0xíÕ~ø£Ÿg­§`çêêÕkZ[ÛEA˜QM$víÚÁ97 ‹Â­ÈÚQ™µYDÌæ*"ÊÞJ/À91DDÈ9¡ÞÎ9çÜ."ôîß{é¥ß ¢D"‘Ž€ô[ ââ†åëÖoV‡£"Æãñ¾¾}ĉˆÈì(½pN¶¬Èã* ü&J.‚ÉS§2&XˆÓ™(‡9ºu)S!(âU1 m‰H·Bxˆ€JbEfGiæpÆÀ–– 0D`XP_¢FGN9.M c ˆ8Gކ,ˆsÎ9YDˆeƒ´AÁ“Æ jÒí/ÉDX!úŽsÑlÒx±V:J ˆ¸bÐÙB0ë+‘1ª&_ô÷>ü¹`g-Dç ³j.zî w—]D>WQjv2@LßgiçJ¨îŒ6XD¦§Ï>üù{ï½õ]úŠˆ¼ÞùÚ?Gòe‘ni{â#ÆÆNUUy<¯xobb,‹ævI‘`¶¿å\ ï¾óFóŠË"ÑH•Ç#v{ɶ¦»*î”ñfoïÞÇ{D4Ýí®Xºô¢ŽÎnÆÊ…"Œ‹yjÌéV”±oß¿îêúžÏçúì­¿½và ·PŽ“Ùb“uc"JD@À?þh÷Ÿ·þþôé‰o2ÄŸþìW©I'ŽŸl…B;bY²dY]ÝE—¯ºjxx°½}Ã,gÏ `||ôÈ‘ÁH8¼ø‚%ÑX”´QBD{û†Ñ‘“ÛþúbÛ×ìxwûµk®[¸hq®ÙStÔvv",0Äþþxæ‰@` fBÁŠŠÊJ÷<FÄ Ì³J,iym4" ¥åë?þÉÓ£]·Ý Ž S¤=(qäÈ¡­/<94ôY"÷ùüµµç¯[¿¹´˜7ÏÓÑqÇË/?÷ì3vtv¯Y³1 x<ÞLބŻÉ:TROŸ™:`UÛÕ MÍœÔlûS¢YΜsŸÌø|þ–­€,ëùtñˆD"¾ûƒ]û£Ñˆªª““ã‡t:]©U·Vˆ¿=vü‹±±‘††æ/¿8L{½¾›nºµ0„Õk0º ­­mkÖnDd••U+[WuvÝ ˆú1£©O-Ù"€¡žÔˆ+Èü5µN§Kÿù²e¯XѪ§Û¥²bhèàëÛ^Z³vã}[ôùüÛ¶½L+Š£0Dþ¨_ÕâTQUuÏ}÷¯l½ÜSí]Õvµ~•C¿O` €VÆc"õ”®Æ|H³"’u.^|aW×]PíõþàÞ2X$ÂëõvwßÛÝ}on+°h+°³óNýå<§³³»`D¾3@N33ÁéÀ2œŸ"2m·§ 4Ý6s,‰bŽ­ŠDXGäq•Ûí= …D}\UE€϶@%qÀ Œ11£‰'íèVkÅÒºeQ$0‹9»{A–³»ìÞ2%/BŸ3EºJºJé*é*Y¤«d‘®*·"¥pR '¥pÿC)ÜM§&¶]e]áUZšD˜Väº\Ñh¤§çcÈ­"ÊúèÖB—²HÄl®Ê«ðŠÅb=={‰D8<Æ4 Q™CÁ“|¬l`W g¼mFNœ8Ú×»÷ñÇ ‡gn¿ýû+ZZK¢SË*"+­îœC€-)œþà’ ¼þú˃ƒýã㣜óÚÚEQí2b tjÙDd%–ƒ‡õ•Êxw¾ï@O_߾ʪª††å·vÝU»`a}}£®I,öDd:B×ϯ+‹ÊËaC g¼°jÕê‹êk.Ú¶íÅññѽŸ|xó-•MM-¦0]BYZz[–‡¥)¡ðr:]ƒ‡¶n}òĉ£ÿúç{••ó6mºÉ´*–VD&D.s$…;'ù¥p&-ƒX>úðýío¼âv»ýþ×_sCãò†Ææ W•VD†Æý¹!À–ΨD»¤©å¡‡~í;Ï¿ûƒ]w8.!t;YRj<—:µ³a)Ä49ŠøÚÔt)"ÎÌ„\.cŠžûeò¬ŠÈ2Y?û¥œ¶¥pÆF&¹Ó¥p¹ö€#òZ^>R8£ˆ,‹ÓÑXDUU‘ä˜D¦6€HéÔÒ–ßòEØ–ÂÑøøÈ›Û_ú ^øµ¥É¡ä:5mG© ÃòFØ”Â|õÕ±çž}l``¿øh‚ššZãšBBG eX®pQ†{R8":Ø×·OÌñyžê«V¯SÓ("3» ñiA¹"¬ÌªÔj‰ˆ5þZ¿A08½ öü¿õ«®^gD›>9#-Š[CdÚi²®l]•—´üò‘'"á°w¾oѢŇ31ë>Üžˆ,‡ `R•'¦ŽÈét.«o@0«‚J("ßH„ WåÒ©äBÆÕ´„"2‰°{(ujR 'R ÷[¤î\*ÒUÒU²HWIWÉ"]%‹tU¹¼ýÝ0'À¡Xál…‰OÁDEèOÄý¤I†Ì7íÚ…¢(““cT¢Sÿâö%È®ÁIEND®B`‚nted-1.10.18/doc/docimages/neutral_sym.png0000664001041000007640000000057311520267216015313 00000000000000‰PNG  IHDRE¥[sRGB®Îé pHYs ‰ ‰7ÉË­tIMEØ :­DM4tEXtCommentCreated with GIMPWèIDAT8Ëcøn¸û7`@æ(jLÅ£”‰ üÿÿ7`B寔֦þ=±q=>¥ÿþ100\Ü:ËÛ@Ê!®ÝXäàó ³–‡ˆ³óYá W¨%\’ÆvÒøÂ•]@½¸oճǧ}…9ѤX9<’éWoM–â`&¬Üz¸Ôa†+Ã÷—Z³ü;²òEyÁÏ,ìRzvB€‰™7(¯ûÊËû±bÜøà_yüág»[ÏŸ¦R&¢•²òH¢‰0þÿÿ«Ò?ÿ³03"‹ú:û‹eIEND®B`‚nted-1.10.18/doc/docimages/undo_button.png0000664001041000007640000000163211520267216015306 00000000000000‰PNG  IHDR[RË pHYs ‰ ‰7ÉË­tIME× Ì Ï/9IDATHÇí–ÏkeÇ¿ïÙwv’ìnvÛ’XÍj‰©mHCE,5P)RzT¡oEŠþ¼zòàEèµRzQoi)A0DkµZ×Ö˜¬%ý‘dÝÝywÞ6©e“&íš^ća3ðyžùð<Ï;¤|o O,(ždüOï®”jœ›¶o÷I)w˜®”Š>NË›4… v’ÞBg›¿;ã¯!ÚÁÚ×Ð_ù¾)«%Mtè? Ý^ãû¦ %! . ´ °0Üû^6‡OòýS”>Ti›Õ5tpÅÙ{œ‚ ,``5¬†QP‘¹· ~©õco~à$œíÍ(¥¢sÓ½+³|d‰8‚Š ×ïZ¶.­ÚJ ¨ðÝÝ©[Ÿé³ïÇq¼½)eµZíÕ ZÔB]«]G¶ºdÃÛ¶vÇF+0Í–%â çÏOV¿>@¿ÅÛÊL†ÅßnÐÏ?œL/ñ¡qpBlTF°h+%[_èºýÖgX…FøLôî—^&GZ&75#„èï«ygvÕW7æl¸jnÍ™›õâ÷úî² `*°u Zt0’lA^ýʳ•Îy6›*âÔìÌÇ“åKÄ©ÛÄ™Âiá ­õPé›|0_HüœL5ˆ»^ž ÌÏÅ/k“ÓÞ‘&øî&3¤PxqïXÞÏ7›q0::_._/'þ8?˜ù‰tp V®IÙt]w›~0Á•‹¯ÏÀ"ïçŸÞ³Gk-¥ ëõ•ýAñíé~qIku¬âGšÕû þ:rê~ÔVÖž3Æ<ÏÛ•Ë ƒÏ½P>¡"Ñš¯JòÙÇØ3÷T¾wùÄyWˆúŒ!„ŸÏwï¥Öô­4BÔáÎö› -®Òª»««ím"‘Ȥ3àѨÔüx蠉Ǡ·¤Ó©Í§œRÇá„¢˜{#½ËwgÇÎ&k-ÂÀk”ë‡ääñL&½qñŽéZÅ]W¿¸ÛýjñÀÉ‘§’ÉdÛ vN·Æ¨å¥š?¶<üúsÙ\o&³qÉl²1ŒV²V©kpÆ=/¹Ñø¿3C(÷zRcl‹Ó£C:¥t èâoéoA†nă1ªIEND®B`‚nted-1.10.18/doc/docimages/upbeat_end_after.png0000664001041000007640000002322211520267216016234 00000000000000‰PNG  IHDRki=ÆsRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEÙ@Ä„ÃtEXtCommentCreated with GIMPW IDATxÚíg|UUÖ‡Ÿsû½¹é•$!” AšR”Ž‚(X@lèŒGû+Ž3ê(bG± ‚+Ò¥IïB ¤·›^n=ûý@…D’à~~¿|¹É=ÙgŸ½þgíµ÷^KB$‰¤ŽhdH$)‰DЇD"‘â!‘H¤xH$‰‰D"ÅC"‘HñH$R<$MƒªªØl6Š‹‹‘{%R<$çLee%ï¾û.óçÏÇívË‘4 :Ùn·›¤¤$„¨ª*;D"=‰D"ÅCÒŒQU•+VðóÏ?ËÎÈi‹äÜñx<|õÕW˜Íf $;D"ÅCrn!p8h4Ò1•ÈiKƒSRR‚ÃáQUUUTTTÈ¥â&ÀápPRR"Å£¹2~üx-Z$;¢Þ{ï=ž{î9ª««eg\`-ZÄÍ7ß,Å£¹ràÀŽ;&;¢rrrHKK“KÅM@QQâ!‘Hš'R<$ÍUUÙ½{7Ë–-Ãn·7øõ…$''³páB*++e‡·TñîJÒ ûX[“œåË—3uêTÊËËE<Ö®]Ëk¯½vA‹R<OE&Ë>ü÷Üu'÷>ò<_o8"D"i!4Ù>OU> ßý/OOù’CÅvؼ‹-ë¶#|ÃÍ—¡UäÑ´ „Øívôz=:Ý_gëTy‚¤eÓùÏä €ê 0ýž¹ïÖeU#IK¡  €±cÇþå–î›F<œÙÌú{Km0#'LdL¿X4½ß/ÜN¥\á“´<™™™Ÿ‘âñ¯£bï×|¶õŠ6«ÂûoNáõçîå’h+žŠ<¶l[CV¹GŽJ‰DŠÇéÚQŶïWRàÔ=øvþýàX"|ˆîu%Ý[·F#¤ff’_,·~K$R<~7e)`ã¾B„%Œ!W"!ÜëxCÌ„Y-(€ÛîÆí–ó‰¤9sÁCÞÊ\Ž•Ù!#zã}²ƒëÄ:­Å׌٬—OçQ=.œ'.·¡(TÙ2à,¹øÄC­*¢ØY…¿w, m¼8¹"ë.Í&½¬U±Ò!:Žpƒ|:6ô8É;¼5«~bñ¿°÷H.N­•ˆö‰ä¦æÐ©sgÙI’‹G<„Û…Kõ€rú»Q¥ðÀ^Žäå¡Xƒéع'!f¹Ñ£vÜ$/Ÿgÿ7•ÛS(wþÖŸ’vº ŒS€Qv–¤¹‰ÇÉ»BåÜŒ]EA£hBÅíöàñ€ZËKVœ^E@l}®ìŒQõМ×[NÞ»ÇÓ­ô`Û8‹{~M)…œ€‡ù.ª,úºµñä3BÔûþN~¿>}äñxNåiŒ>>y uý“'‡›n<œýþε-Š¢Ô+ñÓy‰G~~>óæÍ£¤¤„üüüþ|`”쥰ÔE¹ç+æÏã ò÷¯ä½qÌ ±añTï[ÁÉÍ[u«ªªØµk?üðCƒ ’ÝnG£Ñ`4Öì/¨ÕÙÌ›1­GÎ&'G„}Q:?.^€—±¶ø‘Àí´SmwRk´huzÒ321›Œõ¾¿Ã‡c³ÙX¸p!&“©Îâ‘””D~~>K–,ÁÇÇçÔï\..— “ÉTïLgªª²sçN Y¶lçõÜŠ‹‹)--eûöíX­Ö&›;wªêŒgçv»±ÛíX­V<•••x<„Gžz˜+ÛÕ2…tðíKyê½Õ8kˆL”ºdÐZÒHÓ–úù³ÞĆ[(ÍÙÄyp;!´Ëžü×Ýt57@,±ŒŸ½ÆŒei@ø‰—iýqÛK8¸}#Û“R°•»ðmK·ËúâQ›R’4xÇäù™]™pà Y¶R\#Ám‰m‰¯©öÇZ}d)Ó¾ÙVƒpœ˜–÷ææqcÏÅwÅ^šGÒ¶MìHN£Ì¡! 2޼’*i]µwS”¾5ë·ž_Šjð!þÒ¾U{.NñBÁ'Ä!Àíè,q<úæ+Œî†î¼.27|ϬÍÇ0‹ó»˜ê®&wÏržæ¿ü¸'‡²Š*œnÎ`ÆÛ/ŠÊ²²&Ï=¢7ßírâëÖITç§cs¸j’ t¦pF?ð(·Œ\»N;ËÙ·òSþóâ4¶¦QVQ[(èT Ô§Ü­ÖVDYö>æ½?…é߬!-¿„j§^>Á¼q:=™x¨N26}Ë ŸnÂíh¼£¸ñ¹wøç ¶`£|yö.>ýnýÇ^ÇÁï–î®o3ËØòýüóé©lË(ý½ïR]Eyé1 ^ÞØ[¢e(øv½†zþÀû?í¢êË5^a¹éÞ§™ôÏ1™µ5{dÙ,ÿè¿Lü÷²*~ïÃTWOíw°T%¹D¥¯·4÷†ŽÊŒ <ý÷;˜µòèÞcUe9W=ƒÉM"‹-";;»ö7•½˜+°ò`³O†¬õ¼9eg¬†¨äî_Ϧ£úšÜä¸Ü@¿ÎÿŒ)GÖ ©Ã?p”f±rÞ\¶ÿQ8N¿—›µ?ÿÄäêâ{n·›_ý«ÕJIII#]R!,œ¨V9Ø*ªq8Ý Õa4yÖ¶-¾j:ßÎ|½–ñ«Rž“Ä‚y‹É®¨yò“Ÿz˜Yï¼ÁÚS­Æàq9¨¬¨Äît¡¢Ag0²g÷nÒS2uêT¼¼¼Nýõ‘#GØ»w/S§N=ÇeQÇ太²‚jÇñëë &H&++‹éÓ§ÿn)¸^/­òrl6‹/þS8ÿGç cË">Zy”šß<ª‡É“'ÿîÓÔÔTRSS™˜9™çÞý¹Æë ­cã‰kq^ý‘››‹ÉdªÝH<*ÄkÙôçÔ™{Ÿ~Š;®„¿á÷ƒ¾¨¨«ÕJBBªªžÚˆXá8.S`ŽV•±×_™É‡ð¢ûÍòàˆ*2sÉ+,=¿õÕÎÞõ«X4—MŸ¾Ä?ÎãϼMŠÃñÓgÓxó“5”zνK:û·ôÅü‡ÞѬty¯Í˜Ìàè¿îD^kògÀ˜ûÖ¹Õ¢¬µ†1à¶Çyãõ'Iô¯Aü\EüüÉ›¼úùj+¬àVë¹Væ*æ—9SyeöºÚ¯/ eUÃTðŠƒ·_CðYºÖٓǦ¼Å£·\y†p´È€©j/`ɧðÝÚ£¨BCpÏÑ<ûÈøoüó{9œgCˆ(”úÞ«ÆDâuðmÿòßÎÂTïdÍGóÉuùÐcØ Œ‘Xƒë|vÛáµ¹‹»vKÙLN‰ ï°®¸j{u¢U€æ/¼Bc öŠÛ™µ¨¿ü¸”_6'qÌ®!¬Ý% ¾újz_Kˆ¹Æé#oóV®ÄVå®ÑHôq\7æVýêîÝ9ò÷±`å r+\5þÞ?–ën¸“@¿s¾®p;()Ìb㊬úu'©¶J¼ÃâèЭv÷…‘S×=ú6±WŒæ§ŸÖ°'%%„Ž=ú3lPb#±è.ÌØltñÈÞ½ŒYŸÎ#×®bð‹áÖ»ïgpB™ù½ g9›ŽæâP[Ôà北_ðoU`Ö(€ÿÐp"C}ë´ ¬hôøEt`èø ÿ’³ôºÎLpÛDÆÞŸÈØûëè‹ ­¨9¶¢3…rãÿá‰nÆÛ\wçX  ©åúZCc&>ÇÓÿº?ë¹]ßUžÇ†…óÊä·øq_á~kBoP(½0úÎ+€®W^O×+¯oÚ1и—wðëÜwY›v|fuéhnÝo-øÆXÍþ=9Ø]®Ùt婲ñÓç/óøÿM'Ï`ÂÛÛÍÚ¹3xããÕu˜¶Hc«K¸õ–ñt ´œéÅsÛ““yþ_7ÑÚ«~ÃÓšÀøñ·Ð%ØëÌë¶çæÇ_âÅÇo¦Í9 ‡pW±þËyà‰É,?C8ì¨ÂCÊ_l5˜ç±zõjœNçïôßS~w>ÙI5€ÆBÛ8?¶/˜ÃnEP™»ŸR½Üy“èºáU4Š“O íéÒ)ŽP?/ô:M–p…ÇIé1FïÖÜ4ñ~„P ö¼íÌý8]3Ÿi¸\.vî܉¯¯/z½¾qW[šÇÌè»î$.)™ì‚œ oCl\{ÚU³úûÙ¬9Ë7“““9|ø0Ÿþy-K¬#€ë˜¤ýdÙJp¢'0<šØ¸8bB]¬™7›µçØV{Á^f¾>‹ýEŽc0Bc u÷&>ú¨ù È¡C‡ÈÎÎæ£>"33“ÒÒÒã¡…¦^ª %&&æ´Oœ¤|÷+Ü€B@÷±L¼¾zAev_®YÍÁB'ª½Ô£¿©ù¾›YÜ–>WßÄÝ7!ØTWêxü]PœÎš7Ðs=bCi  —ËE@@þþþÄÄÄ\Äâqœö8¢nß)++ÃÛÛ›¶mÛþi ˆö¹òêÎ[è²S¿b_Q- ¹+]¯}„‰w ¢9ç°ª¬¬Äb±sêÄ2Ôµ¥ÁÄ£cÇŽ 8ð4íÈd÷»UÇ£Ù†(ÆÞ÷w®ÚWöf^ÿl Ù}ª6‹)(oW EeUx„JeÁV-ø†øËFðÒ½ýñ©óŠ¥›uï}ÆÜ¯~æŽÁwqŀ˛½×Ç—j×­[GXX h¶KµMê³Áž={èÛ·o-Kµ ë%å°šà—¦à¬Âa&~à¼òâ# ‹lÖ}§ÕjY²d $00‹ÅrJ<ê# öjsdK¶ !ü»`tŸÎhœ,þäfÌÝ„wÌ¥Œp9¡&è÷àl6ïÚÅú3¸ºc ¨¥G™óÆS|º&w]<*á¡8é+žzþ2ÊU„L,9/Bzÿƒ7ž¾‘NáAøz{a6[ðòö!¨UkF>0™O?úƒâþr=Óh«-΢\òªÊZ.ë×ÎÑ~TåndõŠe”„àË_Ñ#ýcnºg;EG ñk=„¶ÑqÌŠ âŸþÁ¼=…”¥îáû¯¾edχ‰ñ>—·° *g;Ó_ŸMraµ÷’†1K·¿ô9Cÿ¶—M[v‘^P…9 œ„}èÝ)œ¿ªØh⡺\Ç3Bù„Ñù’Þ›ŠŠòÈ8â¦ÿÄû¹:Þ†w€•Ì£[ȵÃߢÖiwÞ:‚͇çY]Éî»Iɪ ¦ãŸôQíÇXõý÷”Äõ&Z¿Ž]r…EÒPhŒ„Åõ`t\Ù -ªªžJ  1[0é }­„dž£*Ng•D0¨kktB  nM¤w{‹“Ø—g§C´tÞ\>x ±s‘¹¯˜²ÌrlÅxâ½ÿ$è©’²q>Kš™ð`_¶¼ò& êñ$¼j ˆyœŒzŸìKE‘ÉxÎÖGgo’ ßw &'—O5´< Õ¡G­.aßúe,(°Rž~%ìX·’žt4î|ìvAiÁa–|ù ÚÎ>(€Z‘VXP(FTå²uÍ2|‹ÂjÕYÈ’?ÀÑýN2wí ÈíìÚ¶Ž…FÚ`‡.—‹C‡J|±¯¶Ô‡½{÷’‘‘q*׫äÜÙ·o6› ––vª0÷ÉL÷M&F£ñ÷G¤½:3²G¿|—Ž-£ý¥a„Å&pyß¶|¿+‡»†$bÒDУßíÏáXVú^á˜Z¼O$o5‚Õj­Q<„#%~Bù幫_zç;Vô&3V«µÅˆ‡Á`8Õ—R<ÎÄd2¡Óéðòòj™Ê[f³N‡ÕjÅb±œ÷øj0ñHHH`èС§›4}"mÌœÿÙ%¥´év—é¸4ROé6zBˆA¥]ö·LZ†ÞêO¯C 5€=uïë è‰éy×\?ŠKCjÈJ-œ\ú.‡=yì¦+ˆõ5@ufÐØ*ŠÎ‰½ öiöâp8ظq#aaa 2D.Õž­VËþýû¹òÊ+/ÐRíŃÑhdùòå :”={öœÊ“ÒäGòÏDÁ«ã8ž¾e&Íý’wz]ÆÔ‡†œ8šWŸÌB{âìIX—öX¨âHîlBýœì[÷+ŽÚÐzG0tÐHÚÕ’Î^¨8-áôˆÉ`ñ'3N¼ÂsÈtO´iéW|aòçþ»â{±Û¢ê¡ºª§0`µš›@,ÎêJªœ‹ÕŠA+c63{0N±2âI¬Ø1‘/_}’ð × ÿè6¿¹¡Q—¡¨deäQPTMѱÍ|2ç;޹‰tãG÷¬ýD¬ÆD—ãè2pÜoŸUnfûìEä¹>áÛ§El«·fرù§…,üi)YE¸/º ½…ûn»ŠHkã+¦pW’¶{=ó.esr&ÕŒëÏCO>@·YsXŠG= î4œIÿ~œ¼§_åõ‡Ç±yõ½<ñÀX. ÇÛbBëKB¾CIÌŸö4ÿ^ô { \:Ž©Ó&Ñ3ÌxÎ[Ë…ê¢ôX>%¹8 Z­ ¬ [)!¾\l/Bg…?ÍåÍ×?dõþ ìñõ À`Ïãǵ‡°„„óؘn4Vjáª"#i5ïüï%¾[»Ÿ"X}ðV*É\µžRM3_K°Nšú8Z3¯yˆýÃxîå¬þá%Füð1#G_K¯ÎÑøèÊ)PU„mÓÞÙAtb?n»c<÷Þ}‰‘¾u:“¢Ú‹Ùº|ËwÒçî{épt=_/ àÞ .¢i‹ÀžŸÌ'¯=ÇË3¾'ËíK×þWqÃ-wqó°Žl{÷vŸ}i™8<Ý04ÂSv•ç²þû™<óìlÊS‰ˆ¿”›o¼{n~×;Œžø>é‡v’_u#Á>2ð+Å£/^LNNN­>"¶=ËœXr ظp6¿|ëÄ­ª¸O¤‰×ú„C€ÆÆòÏßcy½Z¢!è4mï½¶©‰ì\àrTR\\BUµUÑbñöÅßÏãæRn·›íÛ·ãååEiiiÑp—½Œ£»V³`ÙVÊ5ÞD¶mOûvQx2ÖñÖ3ï±réVx÷~=ZŠª³ÐþŠ LyánÚziØ^Ä©Z³]ÑP9–¶ƒ>™Á?í¡Äî>•NQ£1Ѻ×õüûÙûéé]cß !Ž'¿³ÙLÛ¶më\œæP[sÓœ ÂÑ÷Š”J—hù¨¢:{‹xêú®ÂgÔ“=þã-F¾Äßo»žÁ=b1¥‚%8Eõ°àÓ™,›YÂÞƒÙ8±xõ<üÐ=\Õ· ¡>FhŒ±eÏà‹—_೵鵔_pãô\ãTg{þ–YŸÍg±™ËFÞ„±Ãˆ þM!Ì>­0BVEÅͨ>¡ê¬ ãð^Ö._Ì/›ö’UìÄ?ª#W\u-c†]N¸Ÿé¬ÝkVñâ+(w©5`›>Œ¹¼[\çAûaÿ pþ“¤eØ0…v憛®åÞ»ÇÓ+®^&››YKØÐÿ#Ôoy…Xýƒ¸büXn½ã®¾¬A¾äöŽÆ› Wú‰9kwÕZ·Å?œñ=c/DÌ¥qÉÚþ•¸*Úô›K¥ ž#J]¿¹Õ)ëÞÝ-t=ÄÊ{ó˜v?L}Tt 7Å-´ˆ«þ9K¤W}jðíˆ@C .%Âä#&¾±HäV{êÕºeË–‰ððp±?i¿¨tz.xïäääˆøøxñÉG‰Ò*§œI\ÀqY‘ô™èÞ> Æ±åÒM<õñQÜhÓÖßhôÈdAæn’ÒO«žá9ÆšOf±£ø·´ø•%YT~‘š>Xê®Ècþ{“xø¹ìÌ9[å*6/žÅºì³§ö×}1š½ ;‹_g ëʃ/¿Í3w_E˜éüîÕ×ßK—-ÞÞø˜õÒ!¸`(Xb‡¢÷ÄxïÎÒ¦ÏLÆ#cûâw1Ôm1yᣇÓ'ÿ¢2‡¼JwÅò“%_€.²¡Æ¦1†“çJÒÓÓÈÝ·œ™3æ‘QYK5PG5;–|ŽÛOKPP#GŽ<íëÐ-,\ý)»¶lgÇÁ,ìz_ÚwëÇà—ß:³Nî}hh222ذa‡ãt×ÕãÂn·ãty(hõF,Z‚èõz.»ì2Úµk×`mq¹\lÞ¼™#GŽüÑÕGõ¸O´Ç}¢=,ó©ö„„„0pàÀ³®~(ÆP4z+wÜz=»tdwJª%˜Ž=ú3äʞĄ^°c.amé}‰/ÉÛNV†3Ýï:zŸÜ¶ìÊcí‚8°pÙÐDüšÈ¨4 þþþ8¶}·•ôZ„Åþ7ÝÉÀ‘j8®Ùárºö½† Ò®/&“‰°°°SYü…ê"+i«Vo$épùÇÊp+z|[Ñ¥× FŽ@t€½N‡ÙlnXAQðóó£U«V§ ‡‡ì}ëXùË’gWXŠ[ÑãJBÏŒ9˜vFüýÿôÄkXÛNÜóä MÚß.>Q \}ÍP–%}Ç1SÃn‚Þ=Ž6f-é+?dÎŽ2¬qC¸çºË06Q´M¯×ÓµkWàÒ7t†ÅGjÞô¸é_L™t/ƒLÒb›!!!§´uqxù{¼ùÅ×lØŸNÅiø¢Bù6;±ýG2þÆøœZ—––rðàAâââð÷÷??ÃÒéHHH8­v­›´_>â­/¾æ×¤TÊמ|òó«h{ùÕÜ|ãPüõ-#âÜèâ¡13ê¾§HÞŸËkó·°yÉÌr#¥[[*®cö— °ùtâþ'&qC¯Ö4½3¯`jw ^+ð÷õ¡¤ÚJ‘ú´áIDATÓ-ÐLø…¶aèíóÄÝ£ˆ•ÂÑlªƒ£«Þãöû_dKjÑYR` ª‹SX³'‰û|¬ EEEŒ7Ž­[·2|øp¦OŸNpppƒ´Çã¶“ºúCþöÀ ¬?TxÖ”ÜöÒ4ÖíÙMQõüõZ)§Œ1¬OOƒÿøréZ~xÿe¾Q µëÊ?žüOÞÑßf¢¸ŠÆL‡K.á¥ÿ{„¢r…n,á$öîCÇ(?d–æMIî~^ûcv¤Õœ;ßB—èvøœˆ<æææ’’’Bii){ö졼¼¼ÁÄã`ò{êm¶.¬¹=Æ :µ‰ÅÏÔrbal“˜!¸+ÿzm&Wݺ“¤ýIÍ+Ç;4š].¥o¯Nx73WMÑè ï΀öí¥5¶0Jm9ÎÌÀU£¥jiÓu(7è‹Ï‰q͸qãXºt)cÇŽm0áÈÈÊãç=iÔ¼…ICd§Œ½öÂT·oqâ`ô#±ÿÕtí; ·GE£Õ¢•©ö$ ŒÞ·†À(tJé54/ZÇaòÌ×ÖÁÿÔ4ÙËˋ矞gžy“É„ÁЀyH^:ÕEÕj2+z á1W0ù÷Ù9–d M²=]ÑhÑk¤ó/i4æ04^­¹¢‡QOf^1 E´¥S¯ÁL¸çNÄYÝÍh4b46ƶz A¡¡Œî߃=©™däãPuF´¥SÏÜö÷;Ò±å¥T”iZ$!  0ðšë˜0~¶¢r\èð nEdx(Þ¦ ?ìµF/îzâY¼MFò‹Êq -¾A­ˆŒk’öHñHj{ßëLDÅu&ª¹´GïEdl<‘'?ðT°ÿ!|#Ú`nyý+‡˜DÒDhÍøÛÍâ­‡i‰å«¤xH$M§„¶`×Ò ´ÀÒ¨R<$’&DØŽÀôµl-lyê!ÅC"iR 4á§+%½Ø-ÅC"‘Ôá¢Âá¡%æO’â!‘4!î’t—™iØòò¢HñHš …{·‘inO'¿–gŠRzsÙQ£Ð1¢EÞƒÂn·“––ÆÞ½{Y´h%%%œG1>ÉEŒZ™ÆÜ—ŸàƒMNîy}mZf)çâa Ãá ¼¼œŠŠ ***ÈÉÉaß¾}$''³gÏRRR¨ªªBUUÜn÷©ïI$'ñ8Ê9¼y!¾ò?>\¶—n·¿Å]£ºP×ü?_ýu“Å»¤xœƒXTWW³{÷n’’’ÈÎÎ&33“ÔÔTÒÒÒN ®ME¡¸¸¸A“ÊHZ°gZYÆ'Ó§°îç•l9R‚¹Ýp~òv¢½ê>ýŒŒŒ”žGseûöí>¾î…ƒ%ë눲ÂBÞùè»ãÙÄŒm¹ã©g¸:Ö‹–\\OŠÇYð÷÷§²²’ÔÔÔß}®×ë±Z­X­V||| &&†ÄÄDèСhµZE‘«’ߦ,G€ÖĈGþäñ}0´ð²œR<΀Ðétx{{EDDááá´iÓ†6mÚE»ví—«’sGÑ;pOL¼‘ï–ozR<ÎB—.]˜;w.!!!àç營Ÿ^^^(Ьâ,©zs{þñÌ£\ÖºeOW¤xÔB@@7ÜpƒŠŠV«%00ooïfÑ“QO`p(W<9•ûû†£¿H†•"äz¢ä"Ãáp°oß>üüü´þl}),Èeíº-\våÂ}/žY˜‰DRäÁ8‰D"ÅC"‘HñH$R<$‰‰D"‘â!‘H¤xH$)‰DЇD"¹ˆùÉœÃN²`IEND®B`‚nted-1.10.18/doc/docimages/sign_dialog.png0000664001041000007640000003046511520267216015233 00000000000000‰PNG  IHDRÚàêžïGsRGB®Îé pHYs&&¢ï%ütIMEÙ (ë‘~tEXtCommentCreated with GIMPW IDATxÚí]y| WûÎÌÜ-¹Ù7‰ì¢¶Ø#‰µT_U¿ÖÒÐÚUQ;¥ZKKëEQKŠZÛjû*mµÔúR-‚"ADDBȾç.3s~̽sϽI´oeÃù~òÉgî™™3gžóg;ÏÜ‹æmüÙÑݧgë†a܆AE@` dÛð˜@DÏcôOûG!WË8ÑãçoBº–ÆüxYd€o<`®¶ú ð,+ Âù”Üñ÷‹rîsŽî>ï¼Ø„ãEEE½›oU˜$yÜÒ”3ä!ÄÈGK§ÈÇ#kf#bdHîÝLDìiæˆÃ°|y´ÖÛÒÜÈÔ”·-ËœÃ1ŒL†ÜF[ß¾L ô—¼7M>EfÍ—@‰¢(ocQ$†e–ç›·M=t´Ú6KØÔ‰y"L’‘ÛÍr“³¢£ ;̓Áæ[ªŠ¢´M<Õ¸"¥A"¤T©Â‚][û9|z3=[7ä8E^^ž^§{ôÊ1–«ÜnÅF„*¶Wú TòŒVØ’Ü•é0™ô6wnéãJ;·PAf§y:E³¼l†'=–é7=ÈFÈü`Ø F4³“¼y;äYVœ«0Ò¼T)ë³*éüïé3«›#ï·2XGU NÔëtyyy ¥¢{+$ð|qq±N§«\V ¿iYÃaÂDÊúÛ˜cÄ0r‹Ñh,-+Õh4j•ºõi­ÒLZŠPÿƒF¬BA2æ[¨TAÊ4²ù(õ؇!Ï´Í4íHÖÖ’­ª¤õ:]qq‘½V«Vk$òakJêE’|Ò.†a@¯Ó•”kìì4;,Šä¼€™C$ϪÒ6ÚëÊÒB8BwJÓd4KKKì4…Re³(Vªe¨Õj­ƒǰ¬^¯·Ñ=€10Œ•F±ÖU²Ð-¤˜ävâAÔëuwÒÓóòóJŠ‹ËËuÚÎÎÎÕÅÕÏ?À^«•-I)l£<ÆŠ2™H»c~veÓcaŒlãÙYÍ¡‘õ¬Ûš!‚Rä)–]Ô1k¦–——ÝJNÎÉÍ‘booïêêìèèX‘‹ˆ08’eG £×•ßNIÉÍ˵’ª«[@`½½=`Q´UðÖÆ¤JjVÐc6J—Ô²€1òzƒþnzz^A>9WŸ†¾övv¢(šn ! Ø)u«×ëœ9A*}¾1ÆžžžäxòòòAððð¨Jñæææ"³Ãf]1egg]½z59ùfQQaii™ä0Ùi4ŽŽ…´hÑÂÏ?€çyÆšˆ¨B¬cž(šTšt0Ø|Mrî‰éÄfÃ"yJˆFòñ³™-D¢²Éb&;'ûZÕSܬysŸ†ÏWô¸ä‚ p¸2kReee Ðét§N’»¿Ž¤Âs—z;åâÅó7n$yzxvïÞ³¡·«»{aAAæƒÌkW¯ž=w6/?·Më¶M›5—¨ŒªoM”,&¡‰c)°(r†‘î‘–‘8" ¢Ä^ÛàWRH$­3[Ña D¤b1÷ “t#ñüùs7n$yyzõèÑË·¡¯«›[aaáýû÷®&$H)*, mÙŠä¢üÀÆ Ã$'ß¼p!N’j½ú4tus+,(È̼•j‹¡"iyHÕhíO?*®§’- ä§¥ÊSÜ­[Ë`ˆ)nݪMãÆÏ‰„^´‘˜(ŠÜßôdO:5zôèëׯ߼y³M›6•Þ& ¥i ,[PwöæÍ[/¼Õ>,L>ÍÍÝÝÍÃ#´e«”ääý?³‹«···ädXi)yäGªÂƒƒƒàvjš‰fvšøm>E¦ ìŒ‚Ä0Ù!&\®Š™°Šˆ 5)ËP!€³œœì³gÿ¸yóVŸ>Ña:)w÷–­ZßJNÞ·¯`]\Ý|}}±(b³³%ýg&7/÷ܹ37oÞŠŠêcÕ‰‡‡›‡Gh«Ö·’“÷ÿð½Ô‰(Š•fÖBâßIñOh= ÃS,³Lº£¡-oߺõÃOû¥)öððtd¥9;*زÅh4êõz½^Ÿ––Ö¹sç‡zxx ½ƒAþXIFã7oÜH8p`Û¶mEAA”ÿx^„ ààáÃG¤¦¦ÜJNÒëu"™¤ }„²³³'ŽתehãFíÚµ}±ÿйFÒ³–9g›Â°þˆ­Ý&,±W¹tpd'RçFž¿z5áÆ¤Aƒµk×N$¥aHppðë¯LMM¹™”X^VŠ í.=œ‚(^¿~­ÊNA„ׇࠠHMMI¾yC§+7=ä¤:'2ÐD¸Ò̆µµMJº!Oñ´4iX¤é¾“–4lXLjjJÊ­›ƒ¾*¾aî–ú—_~9}úôÀ%¿ð³Ï>ÃgffÞ¿_>æâÅ‹þþþD®Ža˜üü¼Ë—.…4~®QHcAÊ®A†<(77·ŽÏw¾zõZ@`¿€åQ¶ÎPΙ3ûÔ©S±±±‘Ý’““7¬ÿLÖO)·S‘¬Je'’pmbp -µ¬5‰¼Uð€1^y4ëÛeZrP³öJÆ^Å8¨X­Š±W1Z«U1jF«fµJF«b´*VÉ!ÑÚ¹”T£$ÆÏ d°IPpwwïÔ¹‹$ààFØ¢IŽJvv–T%\ˆ‹ —{ssw—¥(È‘„ùù¬üY­ÚNÚg,Ãäååʃ¹sçNß¾ÑS§N5zŒÔçÆ7mÚxäè1ðNÏ_½zÍ? ÐÇÛG„J=CÎ6ÅM@§ÓyyyuèÐrrr¾ýöÛÓ§OkµZù€œœœ 6Lš4),, òrsI¿Šå¸¢¢âDEE‹‚ µŠr@ÒñáÂâ/1 #Š"&¨€Ì^ãÙ³g e«ÖJ…"44tÃÆM²n$ëÛ©@o0|ðþû?ü°¿¼¼\¾HjZ:ø“O£F–,Yò|ç.ã³çÎ~¼|ybb"Ƹcxø˜±ãºuïNF(óúù²,kQuUÿÇÖ¾˜‡ˆa ò ܼekddä•+—7mÜIº•ƒÁÖñ¯,ON:Ø*°$gg'AîeÜë߿ߔ©SF%~ÓÆ±±±¿>ìéé³@ŒFɸ6%ÈN¤ ÅnÚ´ûËÝ[¶lÑØÙzóMI(r'F£Q @€X†±+pùBÓDé-‹ò`œÌƒ9r¤ˆÅukמ;{6..nÆŒC†‘vIƒ1ò¼(dºÂ**²ØpK^É*=88822ò·ß~7nœ³³sçÎ#ÍèÚµëgŸ}ضm[©EZÖB€0Æ"ÆcƒÑ¨Õ:0,+Š¢(ŠXEQ,)-}c䈲òrQ† Š¢èìä$Š‚ÀAΚI4K–,qww/ÈÏßûý÷óÌïñÝ·ßbë”Ø·oŒ7^­VO˜0±âC?mú ;¦WÏžp÷î‰S%%%ÇàœœœððŽÛ¶o„DÙE #SY[HöNöA‰ƲRg:°h%oŸ“§L^»fíÖ-[EAܸaæM›¦OŸáææ&¢(Š.Î΢(y#l"· 6RÝ´qã¦M›f̘ùé§Ÿ¾=ùíuk×nýb« ˆ¢ bYªoɼÛäÕ«6ÓR&™ý›4‚4ÑæÁ0Ø<™#GŒ ‹‹ëÚµëkC†ˆäÁTÂ7„€Œ1­ãm‹½uëÖ¡C‡öìÙ3iÒ¤5kÖ½mÛ¶‘#FÚN±Bi0È5#ùâœiDA©lBBBš4i•››ûÆoL˜0¡_¿~ ,n!4sæÌ¡C‡¶k×Îä;šÉ.©BWW„Pii Ë9Yy¬ Ž4ßÒ@Y†sÐ:0 –üŽI>æ+аöÚ·{eð+]»t)).ÛŒxzzfffææåº»{deeYŒ…µfÁÊ.À›oŽ6lxâgÎüññòå ß[  À€±8¯Ÿ/DZr¸l”%ëon—²Ô¢Å16ïRRRìèä$¾˜˜˜Â‚‚Ý»w;îÿ†¼&‹Åh0˜Â0<ÏÆ€1¶H•uôònðÓîîî‚`Êž¼Ý·¯«›« –NL†•m®Š‹òÝY) e§Sìàè_lݺuëÖ©S§¾úÚk»víܸaÆbLÌòŽ€Ð‹–«ŠäÈ‹¶‹Q²vLNN.((ðññ€#GŽ8;;Ÿ>}ÚÍÍ ËËË/_¾\RR-CCM³"ÁÉÑÉÏÏÿvjJ«ÐV^ ȼ¯·—£“#/;¹X⊈F2Ç>|xÇN/]º ]ºF±¼äß¼>>!:º¯££“i¬•U‘ÙÛÛ¯ø÷Šì¬,žç]\\ 4oî<[!Šâä·'çææîØ±=ÖÂEëu"2ÒÁÁ¡"tåeqηjÕ¦yóæ§Í9yÄ0ÒzÃ0,ËÈ©7©J ©›ÂÄŠ É’kÄ,Ç)8ÎTVÌ0‚ ð<ÏØ&n¨/¾p …R¡°tÂ󦵜J2Á¹œ›«“H½…­m4&K¤ä¿t–õÀT*•R¥’VSB¼Ñ(ÕÙ<º\¦#÷Wï–=ªœ‘,}3Y"Bpò¬"KA¸Þ`0ØVšÃ=D–É•…fÏ Y‹õ$’kvÌK&VãÖ*¬ß¹ª€xî­¨P±ºÂJF¥%˜°¶²{Àó<Ïó– mÂ,VâÏÎ1"ê’x£Ñ¤x*{[϶½Be;&*åL EsÝ'6×m *^¼ÂÖE“!½Á —_¬¢˜÷/KI¾¹(å%aa¢¾Î*íK¼Æ‹æ% 0%J¥Œ0²·³+))@"Æ[z6¥VçXzëÃT*5ÑhʾVRµ…«ÿ%̧ÒÛ1òÛ”’F1¯Ø!„#§&oPšOaɼH©oó)’ÃäåÄ0ˆpÍá#™½) rtp”>2Œ)AÏ!–倵ŒÛÉÏW:ÞtšÜÜ‘ÍÛPÍÔÄy…RamJ©¼P…›·E2…`U¾÷ï8 žMeW•¤Þ1ë3Q~•cÉs5¯‚Í9–6iËÜBìÁ@¯ÓÛ˜aZO*ÔéÊéÌQÔ¤Eyd*¡0ÕÙS±PÔ™ÖiÕÑüruÀ(êÖ‹H‰™Êu)(jŸ‹ kGð?}Qû°0*JŠj °$&Þ$ü_£Ô‹.PQR<>È/2a¨8(êþÿý÷W_{µc§N/°oÿ~c­×ëßÿý.]»¾µcç¹½}XØÞ½ÿyqÀ€Ž: 6üæÍ¤GôFAa¡ã£¿øláÂ÷Ç›ðÛ©S[6o¾z5ÁfKJ~>ðÓwß~sùÒr×…‹~±uëOœèÑ£ûÒ¥þÞ(žAßÑRÎÄ×Vu‚J­ÊÉÍÉ/(hРÁ{ Þ³Ù{øðáéÓ¦9;»8;»LŸ1Ü5wÎOOOF3"&&))éïôFñ úŽòj>'3T¦ãñcGåCß=6=-uÅŠ[6oùüóÏííµ3gNŒˆ$»ËÍÍõöö–¶½½}È]NN¦7¶ÔjµüLÅÞƒ¶mÝL'時D-"¸D~) ùÕRoŽ+mH'´hÞ|õêUãßÿcñ’ҵ¢£««kff¦ôÝ ™™÷ÿr{KOK•¯Hñ,€Ô>"ñ ”\UÆZf.Ì{wþØ1£ýüü°À 6]GEE­þôÓ Àª•«ÿr(•öF^ŽâLôH Òê;zªBî‘3gͺ—‘°t雽oMœøá‡öïßßÎÎnØÐaœùãqz£x–I‰ CÖÃR“TË~üØQÒ®ÿOHKK›88¸–tçΞçéukçºïΛ[ïèXéê`\\\BB‚‹‹K-èÚµkz½ž^·v®[(hyIóÚ188ØÍÍmÙ²eµ<¸åË—ÒëÖÎuë›±¦f”ޔޔޔŽO 8ù7(((ê˜jGŠgÆX‹ú¡v5.æõ|åWLOII½SLgúÙ¥cêþMM)¨ôéï¿ÑÇM£vPkÚôq$½„Ü›÷^`HÈ‚¸:Ó4”© ¥8íù°å{~y%[¯Ï×öê‹¡Ï—˜¿øU,›ðÒ*çÆoíDgú¥£Pþ0ñZáí„›úš7×Ù—¦®»”ÓrîŽè&.ˆµ7"CI° '¤½×6 ÜŸeX~puŸQ:þüñè`¿ÈU_ßN\û¶—øú÷jtô©;O€sgОˆYq2~^ÆÒ+fú¿]ã9Òi~éxquÿ—ÞÛ›pióÒ¶ý7>½4xJTèö[5¸N/èHÿê¨;G{Ù«r€}c_É€†ßñÊ32‘éÇ·ôn1àbÖ“FGlúÉìÇüB=c镨9‡¼»lŠö6ýPu舭ÔeïD×à‹ýþ¯5€Ô½#ÿ(ÔRýtñ›]_ž¹öeQêæá{n÷øä@k{ųÀÅ?ÖjÜ{ܱÄÜJ×úîÿô«6혼mBžQl4¶­¥ )ßöѦ¬‹Í,­¡;ñîúyG• ¿×¯ý°Kz¥SÓW_ÖÒMñ^¿9*¯û'µxÊhwsG„¬ù}{[j¼wtnÄÔíc?raì¬ròGÁ~éâýŒëƒk’ A«2ÒÀøâ«šz‡šQ¸ÿpr­‡‚-LùþùÀ°•{/@úþ7×ÞÈŸþc¬ƒø²±æ…xu÷ûšùª8ÖÞ¥á Ãg'•ñ5t!Çç,Ÿ0¾TĘÏû¿W>1~÷çëÛk⡦¾#À·KÀKÅ’JW%¤ïI®¹pk3.ñìövîj}áÕ™ƒÃEô |y§O·Õ‹;xKÎû¹¸‡½WÓBì9êÃs7àþѯVtZ_CjÐ9vˆ·½´­Ë?óŸÔ”=¯Ÿ)Ò{G~¶¤ßS þ÷Õ­¬SGâŠôWl€ó‡ðs¸û߇×ó¸éw: ŠÓv8 ÷°^hªŸ‘í^?—þüâñ#—~ùÇíÓ‡À. ìž^ðÑ4y{℆15þЧ’É6Z¼´¬³ïL­‘+!nÕž7öt[/+È8 óvŽxš"kü )•J­Vk4&’±j½½½†eíìµZ­ÖŽÄØ999999Ù+ª?˜óçêȈþç¿Å»N'ì1ÅÑ·vÎoÜý?×…ùŸ~öF{÷šâÏ{–´mh/dU kîZÞ‘kÇ:Ê òH¾ÎÞ+fr€Ã“LB ý—î#{÷îÝ«W¯>.jhѽG];º7y>¢{÷îÚ¸€6à•ˆˆˆˆˆˆ–nªj¿]ÎŒÌÌ^€_×ÿ®°o¹b~Œ#Ç”Þ?=4¬éŠ#µ ΀çüy· éÂÉvZ%xuy¿F5È’ÿ¼M~~n´§&V«6u5"Ä î—­¸òP¯7®¹ðZ}ûÖŸ}]ÔÙçÎ8•9â›3—p`@SgÁ5·_«Ï¯æÕ† çP”Pfd®Ÿí~©F/åÑþÃ9Í\å1cS:Ú"rI$dž´Ê»&¦•Àä!5¾dŒÅ²ñ/­rm1sKpjÚw|ÒôHo‘ÏŸÚmpޱÂk¼ràX”3¾Žû—§]M_lÎ÷ó¤ …}‹É>ZJG[4ì½¹»³:yãO–ùBb–IDATŠ×Þ+ñh·hxÍOÏõ ÷gWÿò¾.ç÷™Æo8|—Qx~òë©–ö ]Þ‰a{n×x®góEj>ùéú'¯4ª…isi:sY˜'xwûˆ{Š~1­ÚèˆX§ïŽ,SÌÛCbãñï2!»ͪé{0–Æ¿8ëDãߎð×néóòÊØÏ§¼Ô)Ó ²ê­o5€?—¨á!ˆ.‡œI»6³_í}™ÄÔŸ¿Ùµk×›{ÃS®ûr›zó¬÷Û³†tÿãZq`§k!Ý%þÐÓCSÓ÷°ì {((~Cøó~ˆ†Ìï­T6ßVÄóe™5ýTÏ]ÿa-ϜƳûë¯ÃS†jμx´õ›ã—ÿ»£ËË?ž;{`sOÿwkŠR· ßs»ÏÚŸšj8Ù.þ¹«£X•'4ì×(žA:Öx¿¬äÂ~³U ‡îÝDúÜ}óŽVÊä»wó"æó7MÚ¨rÿjE:ÓO1TOE •SˆŸõja !ãðÛ[3Œó^«4»óJÇ.gnïYðMk?_ÿÀ¶Gµ¯œºyò©ëyBAÒ«‰ øFoù VîÄ7jCqñ›F;Ÿ.k¾9¶†Î35Ö”ŽO $cM¿…‚¢.½Gª)¨±¦  t¤ t¤ øŸôzýóϬJ?S(ý@ͳ€ºúeRòGàäŸÄlàíSeüìÙ³'Ož¤ötcÈk¯Ö«ñTIGN—ŸŸO'Œ¢^Ð1(0`â„ñT@4”¡ t¤ ¨ÆÓ5BŠºI?ª)ê](CÕ#E]êGyƒjG ÊPPP:RP:RPP:RP:RPP:RP:RPP:RP:RPP:RP:RPÔ¤3Ó¶ü E­A¦`ª)¨±¦  t¤ t¤  t¤x²PVVFéHQ_¸xåJ|yy9¥#EÝÃÎήM›Ö†Ò‘¢^@Ê>R:RPcMAA55Ö×Xs3MÍ´„‚¢.£FÓ¦u+FÃñ”ŒuÀFPk4˜kŠzJG JG JG JG JG JG JG JG JGЧ¦?,CQ— èGµ#5Ö”Žõßw¤¿¹EQ§®#ÕŽÔXSPP:RP:RPP:RP:RPP:RP:RPÔ 8À@K((ê´„‚‚k JG JG ŠÊЊŠºd¨v¤ Æš‚‚Ò‘‚Ò‘‚‚Ò‘‚Ò‘‚‚Ò‘âéƒõ/'PPÔ>,ôÃT;RPcMAAéHAéHAAéHAéHAñ8à0-0£¨SÐ3 j¬)(()()(()žôÈ€–PPÔmhå›jGŠú¦+`ÛÖÍT4õ‚ŽoŽKåBQ_èHU#E- R­ÇýýC)(jH§ÓÝMO“>(”J*ŠZ†Ñ`6üühdMQ@éHQÏBš§¨CÐ3Šz¬kAÁϲpÓRoÛ´=»Q3BR«tüL.ˆ#„ªÚ•ž–ú äø±£[;Ö0cžµ ø›¢§5õ)ê#j•ŽíÞúÿåäètº;fcªT©ª=”ÁKƺ}XØÅ žniJ÷xüØÑQcÆUÊ<³¾ã¨1ã* e z½´áÈÕÚ€jŽ‹Î¥î<œ(`Œ1 "ZúN¥M- ½ÚïQÿ~Ú‹ Ïœñ2Ùg¬U!¨Ó!…±ìÓÄZ®–5Gµw+ˆxÛ¯‰KÆõ²W«ŒxD Eeü²/Ö>«÷ìþòîªU¡ÑÑ fÌ8¶v­Ë /h¥]9?ÿœÑÑ»wï®sínQQz„r‘F#y¶l©ày./ï¹^½Äã²’’‹ûö…¬[gëɤ¥Íš=«g¯^ž>&&æè±c4”©fÍñ ¯lÑî¸æ!þ/tjªR°0ðýòÞi«–E/th<7¦gNa yîÝŒ»&Lxkâ„e}¿þzhâĉ۶}áçëG?cæÌÓ§GGGדÈ:pÑ¢Ëï¼Ó{Î(.32"FŽÃ))¸¨HlÑâ·•+ºZàOžrçîÝqãÇ;vþ»óíììnÞ¼¹s×ÎÞ½z=1tĵ¥ÿñl]¹óïï.õl×,¸ArfIë@§õs_åàX¤dA¥`U£Q)´v*„ ·°LDɳ”ûyLÌ냽"}4è•â’’Ïc?_²d‰|ÌÙsç.\¸téÒŽááõ'{àÖ^”yáB((£‰™™\ïÞg6oöˆ‰qŽˆ°9%66ö‘#,} ýäãO¤íŒŒŒ•+W]¸pÞÈó:tX¼èWiØïΛ»mûŽìììààF‹>XøÜsM€çùµëÖþ|àAÆŒýú므 6nÜ¿yyy·nÝÞ[°ÀÎÎî±0bã ð÷ÿq{;„×úGøx¹ßº_"Šøú¤ŒÂ›…É÷ nÝ/¼™‘ónîõ´r‹³óK’Òb d sîܹ¾Ñ}É>ûF÷='~üx5ħfúÕwßÑ(ˆ€A0 Ø ˆœÀ`ƒPXÊ#Àƒ5 ¤V µ‚‘6°ˆµJñ ·ØÏÓÑbòórs===å–¼Ü\'gg‚Žó—~¸ÔÅÅ©mÛvõG;¦²B]VÖôå—Å‹Á`…󼓓XZ*°M%öÝÉ© ?ßÝݽŸçJüºuko$%•——ƒuœ“““´¡V«yÁ”µÈÉÍõiØÐ¦“쬬A¯¼b‰$«5¡Vß#ëyCÚwmîºçÇÿ*€÷w³+)2ru…¥¼Î ò˜ÿ0/`AÀ‚(*8ÆÉ^óÕá+]B½åNÂÃÃ:Hv{ðÐÁpÂ.ÿë_/½ÿþÂé3fžx0lØ0ñâE,l§NÆ&M}úà¼<6?¿Ù /¤}øa¥'†‡‡9Zy…ÛÜys_}õÕC^8þÔÉ“YŠêîævÿÞ=ÛxßÝýà/¿\¼pAú»pþüIǬ9^ ™4 ÅÞƒ§2³s›ú:° êÕºA·–^]š{ulêÙ¾±gëFžÍ=BüÜËt||ʃå»N©8Ô¯C ÜÃøqãvîÜõý÷{KKKKKK¿ß÷ýλÆY/w‹ì¶jÕÊÅ‹—üôÓOu®KÓ/é2f $$™™\Û¶7ùeáÂââb6$D¸x1¨k×’¸óÅ Ï?~üöíÛ¿ß÷}aa¡Á`¸víÚì9³¥]z½^¥R)•Ê{÷î-­‚Í$^ðâÇŸ|ò0+«¸¸xåªURãàW/ýðÃŒŒ ^’oÝš÷î»Od¢çq¢Î°ç<—é¼hg\ÞsA]Ú61ÌZõ›cµ·«ýK‚:6³ZÆ Ø´qãÚuëV­þÚ´i³qÛڶi»iãÆÉS¦ääˆQ‡‘uÆÊUmúöUéõÆädE¯^™×®¥Ý¸²ì£+»vGŒ+¤¦ÂíÛm ¸öÞ{-÷ï·9×ßÏoÓÆë7lX»vN§{®qã#GJ»¾÷ÞÊU«<˜íáásøðáGcÜØqkÖ¬:t(ÆxÌè1RãoŒÜ±M˜81;;;0 `ôèÑÕH¤Ó•§§šJžTju5§Íˆ³ÇG™Ž_¶ç¢Èª^îÕ~iìû½X?“g_`ö`×®ü]»»N˜À–•ü¶}{Ëö«||®ôí×¶gOW!1Q9pàÉ âfŸˆbÓ'cUFEžçyžáåŽ> Ù/Žååå™ü_3X–eY–ã8Žã†©ýi¨–kñ‚À.o¼a`Ù¸¯÷8¿3• Ê—ÒRa_ß;§O{µlyé»ï²33ÏË g®z|Ò œŸíÈ ‚Ñ`àyÞÈó¼ÑÈó|sÍ”¾…"Äp˲œBÁqÇ) AA©T²µ^šúøÚ‘çy£Ñ(ݬvÐ Õ€Fž/..æ‹"bõ[ã§Mr76hȤR P*¹§¢÷ ÐŽ B&í‡Ã0ˆaX–ñ÷ÔŠ¢ k†aY–AÄ1DZu1=¯œdMÏ Ä²¬(Š’XQŒ!6 @»Ëq …‚aY†e ÷´Ô„?Ú‘a)=!Š"ÆX^DAc,hÉR3,+ѱ®¤ùøÚQ¾YŒ±(Jw)HÒÍ2,Ë2 ˲ÈüìÁS„'¦¢!$)<Žãêm}_u¹n!dVóð,¡¶Weè»­zŸ ¼ã“úbkU2©yGú%!õÅwDuñ U=×TuÊPЇ³Žéø—ßç÷¬ ¤¾D֔ޔޔޔޔŽO#¬=òr E-Cz×–jGŠzÁÅøøøòòrF©TQqPÔ-4M«Ö­™Ò’b*Š:׎µº¤¤˜9uý¡RE$Eù‹’¥1>uí·´´¤„*ŠÚ÷u:F£ mÉ |ÂÝR6¼çKéeöz£‘3—hµZ*)ŠZ€B¡psw/,,,וß.VÆe@Qnæÿ€}«.ö-3IEND®B`‚nted-1.10.18/doc/docimages/line_dialog1.png0000664001041000007640000002246011520267216015277 00000000000000‰PNG  IHDRÚØÕýÐsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ4ÖÀÙtEXtCommentCreated with GIMPW IDATxÚíwxUUÖ‡ßÛÒÛ’‰$$ô:Ê "6DEGÆq(¢ ˆ@PÀ2b™QA…GA@â`éz -…@ÚMÏíûû#$&¤2„`½Ïsž›sî>ëܬµgí½Î9÷j”Rô»õ¡²?Ah4v~½F /Ù¨q“Å+‚ÐÈô»õ!µóë5Mßè±jԸɜÍ)¯B#“~*™”ƒ;Ê2€Å\*^„KD­BKKÜD·___ìv;)%ž´ ½¾NcE9¸ä -ßIXß[Å»B“Q˜Ÿ‹¥øÂGe®ž>xû¶ht;µ Íj1Wy£Eûž”žÙÃ#wßN§#á‹ ;›Š‡Ÿ†l–R‚ ¹¤Û­ÂzU³'— ‹¹Kqݺ]ð¾*Š›G£Ù© mÅ_M•Eïê†Õ·#«×¬#99™®]:¡Í9ŒÝf©ÖMÎQV3Eîípóò­±,²\ŠÅRRHDDÄÿ´oDD–’ÂFµSe9?£i4Új*ô4’~*›;vâïßŠŽ¡Aì9º€ëo~7R’H·6>lÿ-‡ nÝå+4)¶Æþ{¡û7–:‡ŽšJ꫌èõü¶ÿG Ž¡ÕjñÕ[È>¾ÿðÞecÚ¬ÂZhØšxŒv}n­ÕNe¼=ÜX:ç!NœÎfÞÒ„Šímý}yuÚ}|»ý0ï¹MzÐÀ®iP¿«oÿƲS·Ð´µ+¹ÍõƒHÝ‘€œÎ|ò<|ñ0âgMçPjAÝ£Ñêô û@çŽe³˜É>}ÿàð²bŠÙF¦}ìܽ—‚ܳø¶j#½HhX&9¯ÿ¾2ed­íŸ]’PãþuÙ©¼OMÛjû Îh:½ ‘QdíÝ€AZ­†œc»Ñú`s”âÒwÏ pLå5…r*´:-ÞnŒÜ­²‘oÓ±xöŸØŸ|7BÚ´`Ûþã¬øìg÷îÈÈAÝiáãAFNnÜÁÁãøxºñøèÁt¼Îddç÷Á7•X¤G^­BÓj/(%íÛFç^ý«í_—W¦Œä¹¥_°à±»êµSÐê›zø´Ä3´–””X(Z+YÚÖ¶»à3PÕ UÇ·››¥ìrC‡à–¼½æ+†÷ïÁ žXÿõZ´åÑ‘ýÙ¼ë_oþ…‡GaÚƒ·ðDìjúw§kûÖ,ú Ììlº…‡“~ß¶hu:é•Wíбzÿ=qNµmÿZ[­–ï_“¹ÿØÀË“ï¨"²rÛ5ÙùŸ3Z9Î’\œ ,Ê@˜¿...\ð¸¶zûòñqõ¶[÷bãÛ0}éÑ% 7-íØ»{w®Ø·…›³9ùŒzÇӳ؟œN©C‡ÎaC§ÓW®áWOJmÍíÒwPÍûTnNdµÙ™»ü+^žx{5‘U³­Ñ^Ü ÿt2öÜãØÝðq)Ájµb±XÀšMQN0Þþ×5Ü15«|Œ|>EÅ%¸yx¡7xTˆÔépðæŸ±ÿȉŠñèÙ¬NæX1—Ñ1ÈH®áD݉Ùlå`ª t4¢´k&£Õ5R«–‰´ÚZíüuˆjYqÞŠ5ŽZt¤­rV¨e1åSxìJzBúDÓ¢Ë ŠJ)..Æn³b:²Kiq6ª-@K£Ü3Œû£zsººÔrÂÒWùv.׈?ô£}X½z÷bæä‡ð lGïˆp‚ƒÚpàøv*k硳c)-F£Ñ]Øg”åŠX~IõÊaƒ¶kk·SYd•‡¢0¢ZÛr;ç÷ó vÅÇ·‚FCÛžÑ\Ý1øãè4ˆÒã?ãêê‚Á` èØ6\#‡7è:Dù±Zúù0öÎ[*¶ïÜ{°A”ÃÇÓYúñÜ=¸sþr7E¥&§aÊ:ƒ¾[G¢úuâ¡è¾ØNvìÿï¶îAçnDy9\®ìªcåùX]•ïŠýËçiµd¤r‘=¿ò[^üópíø‘ˆ›†V³SãñÊïÞ?žz¶ÆE'¶ãé0‘©iK`xÕ‹ÑYG·âmÃ`0 ”"µØßö}ä›ÍJzÒÞjÛýƒÂÈJ?އO ¼üZ‘™’„‡O Œ×QhÊ¢ û4~Áxù¶À”ysI› N‡ÞÕ–mÚa5›ÉËLÅa³ nîÚapsG¯w‘žy•Qs†ˆˆ®Õ¶Øö}­û\sTÅßƧeëzíTÞ§¦måv*“—•^õî}M “À’3É„µ4ðkŠ;m#»Ÿ_—Ç¿óM¤î OÇv8| 8š} Ï€Ðz£70^‡«‡wµ÷Z´ ÁÅÍ­^10WO4 ^¾-1¸ºbpqG«wÁÏ¿ V³/Z½¡"“j´zÜ=½!ð:t:­èõzô—‹º )4ãŒVÃH*²ÿð Ȉš ²SÓ¶r;TÞ·fâQÌo©¹´Ž‚F[½4®ÑiQ‘”XMtéОÂÂBÔ‰NàêåWç?§Ói1Ö\@ñðþ}_7w¯*ï¹yzW«KB0Ôrs§pU* .æZ^i,;u ­êгR9Zš‹{»~è ®µÚvóôá`n1i¿Àl6c³Ù(°•б¯t¡IððöãС#5ûêãàÁÃxxû¡ÑhÍÎe´V.AØBè7‰½Ð„¸ž»+éàÁü¯»—oÅþe§n¡iµ1áŠÅÍӻʴârÛ©Uh“DM.v8ëc¬]h%&?5R¼$É´7ªˆMÆ‹‚ЈÐA„&רЌFc•WA.aF3™¤:)2t„«Ah•‡ .$$$„ððpÖ­[@RRÑÑÑЯ_?¶oß@||<:tÀh4ÊðS¡]~~~=z”åË—3oÞ<{ì1ÆOjj*±±±L:€E‹1þ|222dø)\3ÔúäÆUÕ3f yyy5¶}ôÑGÑjµDEE‘ @bb"S¦LaÊ”)Àï7-/^¼˜eË–1oÞ<&MšÄ«¯¾Z‘áJ¦.èëÛ±œÚ hk¸O222’ &0jÔ(ÜÝÝ+¶=šÑ£G³ÿ~†γÏ>[å8‚p%R_²¨÷¹þºV+V¬`ÆŒLŸ>½ìK|(«T–ÏËZ¶lÉŒ3.ê‚pÅk£|^uþëù‡óÙgŸÕº¿ H1Dš \uCÇ'žx‚ÂÂBú÷ï/ÞjìØ±»Ý.ñhFñ0 Œ5êâ„–ŸŸOvv¶Ì­š 999X,‰G3Ї^_©£Þ ??ŸØØXñj3 ..NâÑ ã!s4AhˆÐA„&"4ADh‚ Bš "4A¡ ‚ Bš ˆÐA¡ BsF/.¸ôX­VŠ‹‹1™LQ\\\ãúìÙ³õ¸ñññxzzâé鉗—F£±Æu ’­ù £¡ë@½|½±1™L¤¦¦6Úçkèº÷*Úå†Ñh$88¸Ùv¼¸¸¸F÷Ÿ÷ š£yáââ‚‹‹K£}E»÷ ­üÛˆëÃ`0ˆ0D¸—M¸6›­AÇUJIÕQ®Ù¡cCÏ2´bÒµ65¸,s4™ˆ0®µ©ÁUQu¼Z„ÛÐ*aC‰‰‰aˆÐD¸ç¯76" š· hì;M„ÿ©: ‚MDh‚ ˆÐA„&"4ADh‚ BA„&"4A¡ ‚ Bš \ãÔ{÷þöíÛÉËË#>>^¼Õ Ø´if³YâÑŒâУG‹šÝnÇl6c2™Ä«Í€ÒÒR,‹Ä£ÅC¯¯ÿi³z[ 0€üü|bccū̀¸¸8‰G3Œ‡ÌÑ¡ Bš ˆÐA¡ ‚MDh‚ ˆÐA„&‚MDh‚ BA„&\$ÊIiÁI’SŠÅÍUhÖ‚ýÌx`0-=\hÛe K6eˆg› þö8ü½hv#K·ž­µÝÌv~xø¶çž7ŠÓš¥Ð”G{B;òeRòŠøþí1̾ë6¬Jœ{¹IZy?“¾iÉwÉÙl[vÏÜv¥ÎšÛ.L-à¯á~ ŸÜQw ¸èßG+>û>ëÒý°=<€®QOÐ]3“L›ƒ`xø22kÖ^8ðOB}Ý`ø,žô]À§Ù%<àQ­­Ã|ŒØ;'ÚûŠãšcF3xtK ãÞÜH‘Íξõs8Öõ9,;ø‡¶èÝ‚)u–¥·ûú=€ÓšÎã#zà®×9òEVõ dðªß$ÌÞ"[•ë´::º×|n=»}ú6O`i{³š‹Ï^КÕÓnÃÛÅ@Ôü<¶ý8ï›xÿñN´êþ2îZMÙ(3í#>÷VnÏÚo¾a|Ðg<º7‹é·_Wçq8@||<¸j×Ëÿn,&´÷aþ¸XNæY8¹å-öÜÿOú¹æ2è–Ö\7ôKFöŸÀæy?ãsýºù¡wkÁ„ÔÿY$&M(´3oau‡‰|øÁrþBÞáÕü”k`Ïâ$úý5ª¢íìQ÷`ÎM`ü''˜ùÍ?5t(Sü_£ZºÕ{¬ó¿'ãj[oln?€pçOü!Ø›.w®&ö…Ûк´æíÛ®£ÛôH†|r–ðìÎLZ…ÝÈ×G29õãTÞŸq?ÎCbÒ@úFU/¯Ú¤&ý=A{þ}e2™”ÉdRk×®UJ)«bbbTMØK“•±E”²8ËÖŽbu_+Õ/>Q)¥Ôp£›ÚSzîM«zâÖÕ‰õC•Þµ²žÛ'ý‡±*äÎJhuÅ£2{ãG¨™›O+¥”²Q#Žã©´ Þ>7ßêìaàÓ}'ØôáóÜþšï "øŽÛ1›62÷½ÏY?†¸ßòèeØÉøåÞ¸É<¼Ñ(¶[™õñ.ìN)‰ß³àdƿګ"è{ŽæÕ±Ãüò Øòlg|KŽÕÆ‹¸cáq^ùt¢8±¹”÷]¼obç‡Ó¹÷ÞîLÈUô|/«ön¡ó¹ÊÖ§ïÎàÎQƒp ̺ï⦷n/ðß%¥Ì}û%ö͗ϦòÀØX¾Ø¿Y¢Ñˆ¬ûÏbîû¿;q}(—àˆ›y,~31}ýøxî½<8äîšý!s®ó¢4þMnÞ5ž·wiÛm/~±Ÿ‰¤Ìßl„Ðé¾ù¸o~ï…?ð ‡x¥ÚöÁ“ãÙ2¹|mÅ $MÀMØrdBï š÷1§çý¾îî?œoÓÄi͹¼/‚MDh‚ BA„&"4ADh‚ Bš "4A¡ ‚Mš \ÙÔ{÷þöíÛÉËË#>>^¼Õ Ø´if³YâÑŒâУG‹šÝnÇl6_òï·Fii)‹EâÑŒâ¡××ÿ´Y½- @~~>±±±âÕf@\\œÄ£ÆCæh‚Ð ¡ ‚MDh‚ ˆÐA„&"4ADh‚ BA„&"4A¡ ‚ Bš ˆÐGi¥¿Ú©ø91unÍZpš|‡71E§OSêüÝïæ‹ˆ­x?/Ì{ާ{„=E6qnS M9K9~ô _¯£S #Ÿd—PrööÁ;°áíƒi9/üVkSà°¤±së¼»à/†v$ÓVvösZÏÐÖ;€Ñwr÷Q ŸöŸ ²«wkÇ=ÃJYúáAzzÄÑ⻋5`+Ú˪µ_“¼f1i†ž<àÀñÕKìÝ€ʯ3q¼†NüÝ$Xów³e[2?¾¾}Û§ q-ó|ÎÁ¹Ð±¹ÇR2¾2ì‚ìjt¾ðófü{?+sަš‹Ož¡?¯x€çV`õ›'øö`:‘žrækjÜîæé§­,CÇé÷WlßóÒ|´é0Ãý\eîiNX±kèÐÅÈOßmÁï†aD]ÉNÚÍþL† ìZÑ~Í?~£×;ýÈ8~„Rßö„µt‡7ÕÍ^rˆeÅÜ0·_Åú äЪE¼òÆJ’Ïç•=ûaQ`ÉŽO¸û¦®´ ½y™ü}ÚD†…rÇÓ_T––°dÖÿ14êvæ-û‘ݱ1,Ý]çg9pàñññ8pàŠ\o´¹YúÛ$—ÚûHxÅœ9nW¿¼4…±ÎdszÙÿÌ–5<;¢7ÝÿãG=È 1bpÿWX;ãAžxå Éã;3ËâZšÄé…˜cï➇ÇΚ”¢z?‹Ä¤‘„–µ÷Eœh™îÇÈÏl}mË|4A(Ùö*ÝãH*µ£Ñûñá² |ÿö¬ÍåÍ/·Ð£p?wÞq'_ηÞÌ÷ïþþ]ËÿØ‹Wö†±lÅB||”¡óB÷z?Ïù_\s¥­7ÇW­AïÞ©A^esæÌI¾>Š??ÿ:츟èˆ(²mNÚÝý #=\@w†EŸ}ź•Qä}™-C²îŸ«ãïNJ‰½,λæa×úòèÒùeëN>¿ÏƒÙã¿kÐç¹æcÒ7z¬zyÕ&5éï jÜóï+“ɤL&“Z»v­RJ©ØØX£êâËÛÚ)¯6+ÖsýV%Y•RJ9¬™ÊK§U·¬KVJ)•¹{œrõ¨òíNå´™T ‹Nݶò¨RJ©Co߬ü{-+³qè¨O2K”RJÙq§rõ¹Q9ÕµMCâ¡”RóC|UëWW¬ç?¦ìçœg7ŸP€z-­P)åP7x»¨Yûs”RJ}7&\ù†?­”RÊZ´Oy<Ԏ²Xþë– Õñá6·O¿^ù…¿&ñˆ‰©ÐK¹~Æ=ÿ¾šô÷uïô×Uß豪Q2ZìÖ³„Œ@Áñu<üÜ:‚ÎMÀ5Z7œ€§Ÿ ¿<¿™°1ñøè4ä%¿@6¬×P¼ô¯ÜýÖH¿¾ïàéŒö/Ë`GßJ"তnY?Nk:K+¤Ç³ËJú9 uìȇs(ÍJ@çÈ N¼Ên«?ó»øÛ7éÜôÚ´2Ÿ/›„gÄßéëa£À¡X´7›[çÝPqœÕŸœ¢óäaâð¦:–fÂÏùîœÖ€ScØ´'‰3Ö²’ræŽg±èÛðúÚà´eóÄ·éÜ1½lr}øoð ŸKK½–¢ÓKùWAKâo`ÙŒo°Ú1v»­b®6÷óSL[:„O¦Çà”¸ÕIîá)q8‰ܺ¼àÆg0ñ8,gˆ}(–èhã¢e[Ì;´Œx O­‹i#sÍ<5(€ß8ÌÀø;I\òßäšqöéßÏá¦>x¼«8üRW<÷gŽ}MPÛ¶ŒŽgZßÊ3sÁwJ&'¶náXf"/<ñ13?ÜFGw=›Ÿ$]ù3¿ƒo¯?E§‡”]&(܇‹Ïͬyñ8y›HÃã ~“õ_–’´éKÒ­N4kgSÿ—¸_âVs&³góìß0íO¤[·n¬ž7‹oCþÌ‚÷°wÍYž™<”–ÓX0º¬põµ#¾<¼¬€’¶‹~†F7ú hÏ·ËŸeõ­/°Ðßþÿz™Ûîæþ¾mÙ»¿˜÷¶n¢“»^©…öÜ‚ÀÞ¬²u$‰kÿËšÿ쟶¬wázÅÉ\ÝË‚jìô6 +¿Á¯Û ú„ùO‘¼å¶üVÂøÿà‘{¢ùoQ$3¢Ã$jµ Oô­xõÕ¸ß 1™å#ªo_¸þ÷‹Ö-#ç²nÕïï^»Ñ•Ú¶ö ¿›FVv1­ü2Œo*¡ÕFˈ!LRý`^­öú}ÝãœÈÊ&s¢î¼£J{cçþŒì|n¥ÿhÆJ¼.?üý]Ä—£¼/‚MDh‚ BA„&"4ADh‚ Bš "4A¡ µI½÷:nß¾¼¼<âããÅ[Í€M›6a6›%Í(=zô¸8¡ÙívÌfó%yÜ^¸pJKK±X,f½¾þ{óëm±páBºté"^m9rDâÑ ã±oß¾‹š´y!ñhžñ¨OhR „&@„&M@CÇuëÖ‰‡áR m̘1âA¸ÔB“l&F]ÉIÿ¿î(B#d´#F——'„F@ªŽ‚ Bš "4Ah>üO_ n4Ås—ÚîØ÷óóç41悞 øŸ¿{_)%Þn ևTˆ›Ž76MF“à6ï  2GÚÅP>o“ׯ}DhUDV>1”ׯ}®å‡›[§ø÷æ#,OØ‹Ýé¥P eÅ›¨>a<7n@³Lå“×¥¦4-óg“³e fΤýÔ©ÕÚ8Íf4NTs¹„Ö”¢>ì'K>ÛÍ_'FáéæŠCi°;Á©  ÄNìÊÿ\Bk*¦¬\IÒË/sýˆô~úi¾ýun¿ÏððŠ6ëד8y2!!ôûüsÜÚ´å\Ž¡ãåÙñŒ<œÎ²ŒU~ÙÁ×ÓŸ÷§²91•ÿîKå›=ixº¸R®J4ÅÍi³qpöl†ÏœIH¸yzÒ=:š#sæT´)JJâðÌ™DÏžM×›nbÛС?.ʹ\s´ËÅæ_Sxüµ¯ÐjË®5i4P §›¬v…Í¡°Ùf« ­æÊø‰ó¦8yi <‚‚0›LPXˆ*( xÀŠ$o×.ÅÅì~àn;7OO‚{÷¦ç°aì}øaQε’Ñ”‚w¿ÜDz„=˜­Žßÿ!uNhv'8œ`wjp8!/¿ðŠ LS¼:/XÀ¯_~ («M~>=ﺋóf‘8aí{ö¤UXª°e±€«+:WWQεÑJ-væ,ÿ/ûOæòô¸aUßÔ€œªL\V›QÖB"B[]1iª“Wë;îÀ®×“}ø0wwœDF¢µXàìY:ŠóÌPŠ’¢"ö|ö=V®l”þq)úMs½,rÅe´ÓÙ…LX¸o__ÆÞ~#®†²zÎ'W1äÉUD=µ¥`úë |µùW6ïHÄßÃIìÄ¡´òs¯fÏjµòÌ3ÏBHH3fÌÀjµÖ¸#GŽÐ§OV^`Gkî¦ëÂ…ìKH€–-ÁáÀ™–Æ ?ÿ™ÿô'Ô±c¨ÌLF#[Þy‡îË—ãѾ}v¾ûî;ŒF£ÜÍRWTÕq÷Ñ ^zÿ'F êE×°Öü–QDP_ÞŽy½ô: .:p5èpÕkqw5àåáŠF9ù%8Ί¹\9qqq¤¤¤°k×.”RL™2…¸¸8æÏŸ_u.¸y3Ó§OgñâÅ pé«–Myò2Þx#:‘±k­Ûµƒ¼<°ÙP832Ðƶ+¸nâDü‡­ÕΊ+¸ë®»xçw1b„¨ëJÌhýpˆWVoãÛÒ6°ɧ‹p:‡Rò9š–ORZ>¿¥ç‘|:Ÿ¤4I©9:y†39…d™Š8zê,JU¿A÷£>"66ˆ‹‹ã£>ªÒfíÚµ<ÿüó¬_¿¾IDÖÔÍQ\Lñ©S轼ʮ;Z­832p9‚aÈ$$  %|úôZmœ:uŠ´´4V®\ÉéÓ§9yòd•÷_|ñEÚ¶mKß¾}ÙµkWÛF#³gÏ& €¤¤$¢££  _¿~lß¾€ÄÄDL«V­ªøkáÂ…„„„^ñ%SµÙ05¶¿&çh/½ÿ_íLeìÈ[°aàdV) Ðhµh´Z@ƒBƒS•?N…Ý©p8в Öz‹ÍŽ»KÕ ®gÏž%44´b=44”ÌÌÌ*mfÍšÅÔ©Si×®ÝU7GC)ö=òí""ð Å™–†ÊËÃyêÚV­ÈÏÍ%íèQº¯XQ§™•+W2sæLôz=³fͪ6¼æØ±cLœ8‘'Ÿ|²Þí½zõ"##€Ç{ŒñãÇ“ššJll,SÏ]PŸ2e cÇŽ%==½Š¿üüü8zô(Ë—/gÞ¼yuÚ¨­ý5™Ñ¬v(p6‡Âêpbu(J­2óÍœ6•rÚTBV¾™œB3yÅV Km[ì¨s××Ü\ œÉ)$¤uÕg·8uêTÅúÉ“'+Τå|þùçÌ™3‡O?ýôª«:}é%ôùùt:gb"”–‚ÁZ-ÊnÇÃ×GQ¶ÜÜZmX,V¯^Íøñã1Œ?žÕ«Wc±X*ÚüñÄÝÝqãÆ‘””TïöÑ£G£;wJbb"S¦L¡uëÖÜÿý$''—}ö£Gyä‘Gp=¯ úè£âææFTTÙÙÙuÚ¨­ý5™Ñ^~t0Ãz±.áG Øi×Òƒ¢Ri9fò‹í˜­Nì*- »£,£9œN z-¾žî¬ùæW†ô­bû`Μ9dee‘••ELL >ø`•6½{÷æóÏ?gþüù¼÷Þ{WMFËø÷¿É^¿ž¾=„s÷n”Ã°uîŒáÖ[Q¹¹èL&ºEGsdîÜZí|úé§ôîÝ“ÉT±ôéӧʉiíÚµ˜7*IDATÍfÖ¬YC§NêÝ^ù§"##Y²d §OŸÆd2‘{Nô]ºtáý÷߯"h­¶z·®ÍFmí¯Ù9Ú¸èë™5öFþ½q g²rèìN«!ªGkG2 [ 7v  OÇz„Ð-ԟ׵¢Äl'ñØâVoÆËÝ…Q;W±;g΂‚‚èÓ§}úô!$$„˜˜˜jÇïÒ¥ 6l`ñâżñÆW|F+8p€Ã³g3à/ýûqdd ïÕ‹ß¾ûޝæÏ§°°]‡8vï&tÀL[·’·wo¶Þyç&NœXeÛĉy÷Ýw+ÖSRR céÒ¥,Z´¨ÞíçY>úè#Ú·oÑh¬ðÍ[o½ÅêÕ«iÓ¦M½þªÍFS¡é=V7™ÔÌ|J L,~jdƒ:RªâÁϦ¼×15³€™K¾§sÇPú÷쀷›žçÿ«æN-|Ü jåÃý·te`÷뮸jÕÆ;vl'4??¿ ~wϘ1„Ð&$Û?bˆŠâÌÉ“øé'B¦Nåìòå š0ëúõè{öälQGöíãæï¿¿æ+ˆå1©«ÏO{##YiÇH9¸ãÊ»{ÿºÞ¹“yïlâ‹ò¸'ªÿ]4®Ñ³Æå¼‡óRŸ¼Z FÒòåôì‰áÖ[)ÌËcï† Üüø“²|9YII´ˆˆÀž˜H›Q£Húé'27n$à¼Ò}]~”Ç}Î …¯„Nq>žnþöxË>ßûÿ.û a›Í†R FS±hµÚ:¿o£9w‚KýÙÚýå/ØòóÙ²d Ý bdž D¼÷JÍfÂ,`ßÔ© ›9UXaa˜vï®&4S ­©ít:±Ùl8ìv;c‡ÑÆÏÀÒ/ «LnËE¦ÓéÐétèõzt:ƒ¡I&¾Íýäe·Û±ÛíNš„U§c×ÐfÎT‡¿û±S't¡¡¤üô‘‘ìýärΞ¥ç+¯`·Ûô»Í˜Ñìv;6›­b)_ïâÍìû"0™L8Î éõz ƒ¡âo§Ó‰‹‹KEÙ¸9s©üYÙw6›cÇâuß}Øl6 °Ûí~ô™>ý“&ñë×_ÓfêT®ÿӟк¹a³ÙªU…«$£iµÚ*Kå¬Õ¾‡£bèXžÉ*·«œá®åŒ¦Óé*„T¾” ¦ÜG~ £ó÷ߣ?w²ÒèõzÙ՚ѴZ-®®®¸¸¸àt:+»ÝŽÃá¨Z¹˜Ê…Vþz¥ /õÉ«²•R8œNg…kócåE¸Êçhåó¯Ê™Éõ*}6êRŸ¼*Œ„KO£Þ"¯÷*•<Z­M^嫿„K0t”üá Ms…|É͵‚œô®bˆpy‘“ÞU*4™C4/$Í©í ‚MDh‚ ˆÐA„&"4A—*å}#ÓÞH¯ÂEâác¬]h55¡3ZVÚ1ñ† \"4~ÃVÓA»A‰+áÒ°óë5šÿœßIó æ9IEND®B`‚nted-1.10.18/doc/docimages/the_alternatives.png0000664001041000007640000002073611520267216016315 00000000000000‰PNG  IHDRi pHYs ‰ ‰7ÉË­tIME× 5+#- IDATxÚíy@TåúÇŸ˜vEÄ„’ëR¨¸”X.h*©-æš–]÷îµ(3»u½e š¹\KA+— ÓŸå%—2ÃÐÄÄT@A„DDaØf†a–ßi™9gff†ïç¯3gÎû¾ç}ž÷yÏ3ç¼ó=L€”)R"¤DH‰ %@J€”)R"¤DH‰ %@J€”)R"¤DH‰î‰&D.—/Y²äûï¿çñx°WT*¹¸¸À¦qéÒ¥   ŽÖkžN§ƒïÀÖ(..îÑ£GbbbçÎa ®ÌŸ?Ÿˆ>ÿüs˜Â4¢¢¢„BaGë5î€M_™$ ìÀ777"ŠŽŽ†){°–)R"¤D6–éÔ²¯â–¯ýòP‚@‡L‰ä·NNêò¿Ö.Ÿ7©ûƒcå×À7X™¬¬¬ýû÷766vœ.ïß¿¿¢¢Â^Nx}˜Çãñx+‹¬=I¦¦¦9rÄŽ­SÙòΰ>Ý]…=ûÛ{¹ !l1%j¨:=ª÷‡ódÌÇš‚äg|°¤îÀšìÙ³gêÔ©r¹¼ãt955uêÔ©¹¹¹ör¯åW5Êóˆhš¿ØÊM¯^½zÉ’%öëëª?þ³ÿF§uߦÕ*d_¿òÒˆ—ò 6 K¤S½:lâYYƒþ¾FyÞ¬Gþ.-úÆÙVøeåag·>}ÄP•ã†O¯¸qMÛCg| |Á_©%!ÖÓ=Ú8äý\•¦˜<¾k g“þz]ɾYû¯ÃC O]ñ ±ÿtØÁ²¿|Iä7 ù°±”H׸ä•c̦ÐçÑc”—]ŸÙ݃ÙóËëëá!ÐçÖ±ßÃ`“9¿ëõGc36&o‡)€m¥D²üU?W)‰ˆ/ðÜ~4:ÔÓÉ5píC¥ñ×”8 ®„††®\¹Òá»1oÞ¼ŽæÜ’cRÉ»yÅÇùóçCCCÌ©`||¼¿¿ÿ”)S8•ÊÈÈ ¢7úûû³ OOÏÕ«W{zzÚBDäææÊd2®Ö.))!¢½{÷^ºt‰ëõ¥¦¦†}s555"‘ÈÙÙ™ˆd2Ù;wˆhÑ¢EÞÞÞæôzÍš5ýû÷;vl‡šý,8¡Ù,¦¶¶¶Åð0+%*))iþkÌûï¿oB ›>ù¯B« Ží㪖_‹±^£#"òž÷ÂdsÞøZ#-%[õäøÇìÚgeeeñññÁÁÁÑÑÑœ ž;w.''§E©³gÏ®_ßôŽ”¾}ûnذˆ¾üò˲²²·Þz 9P Nœ8Q[[ËÒò‡:yò$cR3ÉÉÉÉÈÈàêñÖóxPP×JŠŠŠÒÒÒFŒáæv…ìbcc‡ c~UŸ}ö™ŸŸŸ9¶âóù‡ŠŒŒìÛ—Ûcú;v˜Ð´B¡8vìØÐ¡CCBBX†TTTçÎí."šÉÎÎNLLìÛ·ï¨Q£8=ùÿ¾…_`7)‘¢,yܳ)ͧlInÖ¿%/~:yŸ$nõˆ®ð+8!h¯†µ/ ~&GÞÈ| ³vß|³´ªëoxb¥ô×Ò9pª£"•J•Jepp0Lpx Åb±H0 %âÆÔ©S9ãÜÑ´¢Úæ*ʼn©S7½yúÜÑÃÞŸxç…™æœUSeZÕ²2YMJ­svyûuñ÷™iŸôôt"zñÅ%1–Èår"JJJºví§æÎž=Ûºû·nÝjÞÎÍÍe¾ÍÊÊ’Ëå¦Êʤ¦¦VTT<õÔSœJUTTÑ_|‘’’ÂÕeÕÕÕ,-síÚµââb‹˜‘*æWuìØ1®•0ÿJ5:JÍ ÜÜÜêêj¦›f"—ËÓÓÓͱóG÷•+WúùùqW&4Íò²eËØÈ0á¿dÉ”TïÓ$Æ>"Zà¦M›’’’8ÌÍÍå45UTT¬^½z×®]f^›,J-:ÂÞéú$%%uíÚ•QZ²2¹¹¹·nݲ‹ë‚ÉTWW·|Ñ¢Eo¼ñ§æbcc<Ø¢û)))óæÍc¶###÷íÛGDk×®---µ I®yóæ?žæfÏùóç§M›¶jÕªY³fqm.//ïÔ©SlNLL_,›SóT"00k%À„¦™{QAAAl 2á/‘HØK5Þ×IŒSD´ÀÎ;s-( 95'Zß.¡¤¯¯/{§·Þîîîí29ûúúZjB³Y˜×[µèc;,¯Þ;wô¯2eÓÜk~ÚWÓˆH^–hr…§ç¼Û +Ñ'ü.Í_…‡‡½•M%u£û>yÏ©„¡ì܇@GàðX;%ªÈøhöÞ‚¦¶žÛS6úÍ#¢†š³WäjÓêŒ9'm¨.ÊÕ£ù«ÜÜÜsDz©d÷”ÉiUJC?Y|Çu1QSSóÊ+¯LŸ>=;;Û‚ÕŽ3fÓ¦M9;ÙIIIO?ýôÚµkáq£ÄÅÅ5¿î °Áªÿ8Ói‹'|Ô¼z)ò­Ÿî*&êßßÝ%£NµCZÿqO¯v±BueÁ¼Ÿn>fÔê÷:ȘX¿~=“»üþûï–ª699ù@ÈÙÚÆÊ3ÇS2._­’k<ýûÓö‘eŽ ì»lw\¹ü›e}d›¶’ÉdÓ¦MS©TIII‘‘‘ÌÊ!ÐÙÙÙÉÉɰƒ¦DßÌøVZÏl»z=öÃÊ¡ÌöÜ®nWU¿¥H©R"ucµáEæ]YvàÅ;Șh–؆ֶã&CeÛþóƇÿý¦ä® ƒopĽ×ÔØ{€´Õå®}äšÚ ¨²”Ú²•›ŸÄSÔÎÝT«Õ°û”H§•ÿýå£ÍŸÝõU'AÓc»ÁãéjUÑžú{/sš¨-Y3(z5/ì÷èkôÙ™@hhYר…iÉ«yeL¼öÚkååå}ô"Äñ0°·²0³ ³ë1Ðå[Ù)ŽáV'W‰E|dÀVõÅJWïöí¦ŸŸ_BBÂÎ;£¢¢ÆŽ‹pöš•¦,8YÝÀl‹;?»sRæ¯zL6].;»b⸠õjòêð·‡E?ų̀‡»qjÂ#èÍÜÜ7M>Ãá‡\È.’kþ|Y¬‹WÏ—–°~Å ¿ ??¿½{÷"6f®á'mñPh×üÂÛv ætÙîxòÑ¿ýr6Ïdµ•¦¡¦Ýû8oÞ¼f1,‹Åt‰høà[—3K•M7<}Ãú…x¹ÜýFW%Í/¸yHsu÷í.éî%2%oÓ(«+ë´þ~>¬Öh233ükëêU*µŽçä*¹»[lª/...//ˆˆprâ  ¢R©²²²ºuã–^¿~½²²²…Sª««óóó™mwwwæ^ÚÍ›7U*UHHÈýj.\ð÷÷gÿwâÖäçç×ÕÕEDDp*UWW———'‘Hüýý¹6§P(úõëÇæàòòòÊÊJ®º#†ŠÑ€ú :u]m­\Ñ Ñêœ.bw¼œ¬{Z»âjVQ¡Ç <¾kÄýù|~k÷ùúúKº™ yyy^^^œK¶êf~^Ž»»{X˜¡›XlºÜ§÷®®®œÎ%++K$núžã¤¸¸¸wïÞ"‘ˆeø÷ë×ÏÅÅÅèÁ …"''G"‘øùz™ì#¶è߇“›x|§âÂk!!!ÌÑ9•JÅ2H$F?âÂ… Íû¹…Ò}˜¸¤RéÍ›7Y:]ŸÌÌL///s&ç{^XžsuuµE&4›… ™–ÆÑ™¾ˆ–á#볜ùM7m…Þ£š¦ýriê´HCjå|çk;3¹ž˜Zq-Ê[Èã9³<^&“ÑŠ+t÷Å‹‘L&ãTª¨¨È´›9sfk§>|¸Ù°QQQÌÎ+VÌœ9Swÿ!¢Å‹›SCLLŒ———i£tË–-&4'‘HX¼eË–f“Zd¨°ü‹ŠŠØ|éÒ%ÓÆ¹me`4®Ùþ• ã„}29|øpópµÈ5Î"W\\{§ëãååefÐÝóBÀòœ-5¡Ù,LÈ´Øi¥g—V5j›†éÕŸ ùDDŠòãÜ¡÷£Ä­Ûƒ±ª¨ ¸ùƯV]³aî@'ß‚'rHÒ·Í*SòxéqèxXöAD‡]j±G«©iЪÐ6WIè¦V­:{öº²vÚåvÁL[qqG—Ï #ÇJIÃõM 7|'·„9Ì­fÝŠÇžcò¡O¾4?Ì‹ˆºþ2çëµõå?íú°·‡ËÝ_³aêãéu,Û*<°hIR!étZ88*Fuùå-_"&†mÝæ«!ºF-ü=ÅæVIí¦J–o ¸=v¹½0ÇVFÝT] ;ˆë4SZÎlø=¼6\$ ¢Úâµ›r«x<ÞÒ¯Ò7>qñËŸ¿sáö¯'ˆ¢ø®¾cçüë÷èÈþaO^U4‘ZYøü²Ó9 #Œ6Ô ûmü¢¬÷ó΢ "¥¥¥ ,J¥üñ¨Q£$¶é;£º|N®Ý[ï|ù‡tÙâÙ«w&ÛË*i£Ýä;Y"ÖŽ]¶;$“meÔMÎn[ÊV›6mÚ¶m[TTÔæÍ›9-ÍÀVR¢wõ-†­™Èl\ÿf?Ib¾Úø|N£w.ÔK·ké&îÜÇþ¸}RØŒï˜ãów/QÅç¸ù=§ywìÓ“ÿ/3wd`ñ_[ "ža&×¹qãÆ#GŽÑÒ¥K-+` ØøÎ;¨7›²ÿH.1|̸ÍGî•@tþ÷?½¹®è×_/(½£svïñ@¿Ç†=$æólÓDF»9>ÁÈ¿èÛ¥Ëm9·Kø0[“¦ÙŠ›ÆnÜÉÕV"ïo–ëÊËÊÊ^}õUNwùòå‰'ÆÄÄ`&±Gîä<ã×çF{úrÅÞ0%rá5EÔ²ÁM‹©ËN”ÑìM’{÷g‰ö©•×Sd £½›þú:u÷# Ÿ©i ¢Fù•=eò»ˆ ´rñÓÉû$q#º®é£ÊÀÃûi¾ÉÕ6¿ò“y (°²ïd%9Ư¸æ-ûpñê=±‡d–[ dÍ.pîíÜÓ¶ov®¶2ÇMl¥IUŠ–SH$ … …B¦Àb¿ ¬ÓL˜¿ˆøNâG<›²~RCD³ݘBßw'>í*Ö‹ ¾hÍ3ÁÍŸ’ Þ˜­¿yà‰•Ò£»çtÏ}xo2±±±+W®\°`ÁÎ;!¶é»²DÆ!?9&»É¨­ZË yxx:thΜ9̳3L&À.S¢Ðé=ˆH§kTÝýwdÐä ":RÙ”åðøâ‰„D”}à/¯éypÉŸÚ6%”tÚú<þÒœo>(tÏ}xo2b±ø½÷ÞÛºu+WÍ`Mß½üCúª¿;ñÿúû¾ç¢÷\;™ qu5v×Íû˜Žç&£¶â9 [ï=zô®]»æÏŸ™X+I5jË2.Ý ¢‡ûû øD¤UË2/^uýÛß›ž…U]¹X W DÁë=;Ô4ÜÈÌ.c¶ûEtu¹whÕ–æ)ýûöl*جÓÅR¢ªYª‘«""{ØJ5þUåÌÙUXp5÷'¦Sgd\ÔtЧKŸžAú{ ÕÈÞòbwéÍâû"Õh’ïÚ¬L£ºO⢭Ýçëëk‘qb‚T£ÕºÉ~x\ÏÏ»‡T#;çö’Ƽ™&ÕÈU’Ô’Fâä&¶u ìÜ•eë–‘jd­zÊH5Ú&í)Õ¨Ói&vQäê‹Í»¾™îÑí•æéÿéODBïQúÅJOO¼{ITÒ ¾gÕU9ñ^C¯)ÔúâZœzg RTÎæ½¾¼¥ô¥â*ŸgèA—G–©´:H5²‘jlËòn~’®Ý-/ÕhšïÚjW©Æv¤­áá,to­iYçZYªÑÊX<Ì”jä¤z ©FG•j´Úo-þºu#‰èÒsoªš^ë1mÇùW>­¾;z»M #¢†ê”‚»ïý ¢¬õ—™ ßÞ«ºµq‹èôœwt¥"ú„ߥù«ðððA£·Ú~º*/=>®WØâ¸¯Züç‚᛽çZìÚŠ,__Q\Vfù7:ÁwŽ1<•u­U"á\; Ã3pkÕSà¨XïösØìýOu«êÒGÎÝ~÷ÆÛ{ßm¸›Ñ»KžbR¶íÒú»ÛÊÿùCÓÒ¢¿lsÝtÌ9iCuQ®Í_åææž;¾ÐÆ}`t¡üÖ™Ö;;ÈR’öµü}zÉ%|çÃãž*‘p®Ý‚ ª§Àa3u«µÄã‹·ÿòÉч^¾ºgÁÈ®¢äOžw"â :¹Ý=@ä;IäÄSht¿ž¼MÁžD”²jâŠF"ê<èߟ îlGfå$Ñft¡@~dÖ®fÚÑø±·É–ç;ßI øÎ.0.†)ìç:@ ŸEa&Ï?¶¯Ï Ú'%""Ÿ>‹¿ÿ¿aoÿ|bÝìðË¿ïÛ¹f@—?—›ñœÜŸôí/—_ßß0±qÝ[KßÞv–ˆ„>ƒ¾;ö¶ý\¹éï±Q9{bÓ¾¶¾²™ö5>ÝRiM°ü„­©÷ïlá;K,Ä0„sí=XÍÀŸ0gþñ/ÛMšnåöý×Ñݯ#¢ü£Ÿ–?ÿƺŒâ?ŸM<Ó͈nŸ‰íÑõ¡··'¢ðqK~Ë?uW¼Ñ0µ%k˜µD½îbåµDH·¥¿‡×RZÁøDôßM¿Àò€Ã•ÃŽæâhóOyþ9Ø)Q›->ÿÉÝ:a@7ª,ñ“eƒ}‚û?qòÄñÑïÕQ£<ï¶J1!þðÅ+?nîïëʲj 7s[aµµD¦I´a=¦uŒ_[ø#,˜à~8ºês:ìx°TEìvz úÓýÑ+rÎüüËÉóY׊JΞÊU*5Z5s@ïîúþÕ(>ÇjM¦¶¶–ˆd2™9ÍíŸcT¢­°°ÐÃãÅÎñ›ÿûï×¾;­Ð{Õ¢³G÷ç¼þö¢‰ê›E–2T*mÞV*•Lge2Y]]uì\SScNCr¹\«ÕÞ³£ÆˆÂZ´ å+**šMê¨Xjœ(•ÊÊÊJÛ·•Õ³-JKK‰¨¸¸X­V=¸¤¤„‡Ž=  V«¥Riëî5ˆùŽf3ù—””¸¹¹qê‘V«53èêêêȤËhee¥ÃOhLÈ´è£YRÙÙÙ±±±7nÜ(//0`€Æ´òÚ‰ÔëDä:dHˆ‡5céĉÁÁÁ&ë5ëtª”_~5,;æôàà^ÝymHqhÕJYUµBÕH<'¡ØÝÛËÃÉÒ¿A&"rqqñññabF£ÑXámAÉÉÉAAAú ÆLÚX]YU['WkuNήÞŠò¯Èd²#F˜`|ß èá{ÿ,¯P(”J%cR‡$999  oß¾æWUUUåââÂõòÐ^X!0ÛB£ÑTTTøùù±yß{]]]ZZZxxxPPuH***<<<\]]‰èöíÛÍû»tér_ÍròhXŸ³õŒwñü???s‚.;;[*•FGGs-X__¯R©xBc®ûwîÜi9À1&ã*‘náìO*‘v–U_ý,ì±¥JfZꩤ¯?ûHÞª'þ²0D( "âñíÔ h3 —XÙ¨5\ШfÚøø_`|€Lþìtz÷›3ëz„Á/¶›¥/_¯Ô[—¯ÕÈ×L™ü†ì¼þÊþ´š"rñ€Ü§]"/=þTÔÓmÝ6üöDˆã:ЯGË©D¶5ëÖHóagNXõfL]Q}‹=ªºôø[uÍ5Êü¬úF"rñ ߨf¾=«¤è†T"mÐ)Öl,ð‰®”QÖ2SÖ“s¨)ÞÌlø éߨ .\`6þ3ÆØ[T;3ûúú†„„´>àåÒe‹g¯Þ™,×ÓLsñêùÒòÖ¯˜!âÃØÇÁ䯸¸¸¼¼œÍ¬«?E86·¡”èE³hõEý=¢N£ÿÙͽùcƇ?0£^éߨ û÷ï'"V¾>í¶á#%ÃG0GDDÜ3%Â*i@ÇÁä/===--ͬÛcÄtfÖEJijԫM`I¨w+Z¸qIDAT|A5ñxNáß۸ûó±’¦”H-Ï í4 X©öè>³¢(ÑÅŠAF­Q(ŠD"Œ ÓP+ó]ÅjÛN]YvãôZ<ù²SìKrº¢ÑhjjjÄb1#ß 0ëbÖ5%Iµr{q?­÷pâQ—¨ØO×ýg>T=¦X©æ |N&¸X×…<ÏÇÇù9`%cãããƒ|È–qrròññA>„Y³®YÉ€•ïÑû–÷ŸµŽyt*ò‰Œèíã¬H?yª¤¾‘ÇsúGbΦøW‘]¢m,û+³.R"öÜúm÷ ó^ùùJ•þNgqÏíHzwj?xÅ®QUc%`ÖEJÄúÂÏßJ>õGámž›_¿!Ïœ=Eâ&€KБR"›O %@J€”)R"¤Dwù›Ø‡a‹¶IEND®B`‚nted-1.10.18/doc/docimages/lilyeportdialog.png0000664001041000007640000014577611520267216016173 00000000000000‰PNG  IHDR ÛªK²BsRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ }d­tEXtCommentCreated with GIMPW IDATxÚìÝwxTUþøñ÷M›L&•L2i¤¡JïUWÅ‚]ׂ®QÁUQ×UduUÄ]ËoײНº(‚u¥¨°*MZBI !=¤÷é÷÷G’ÙL2I&HŸ×óÌÃpË)÷œÌý̹gîUJŠŠh)å±÷U„BqV9ôÜ”–Ë”æBS€P2ö9ZB!D1,ÎÐ=ÁÎm˜Ã’ÿ×oÿ UÀàÕ}:›7o&,, ³ÙùúISРª*ÍGˆžÈüðІ“èÙ¬=RÙjý«»KÈ(­sîïv›[ý¿)ý&Õf;Û êXøC!¿Õÿ¶•u³Ì½½Í„è-# 6KÛ ^x*p´ÒJÓÏ o€'ŠBV•µ…öÿν:óMÿ«¯¾bëÖ­\qÅ”––òÚk¯¡ª*äçç;m¿k×.ˆmQð‘ÖgEµ¹ü»yø»œÿmãÆömÙp´ŠÌJ“cü9/Οo®K åÍTʶÓ^ÇžÎÛCÁbWϘú€Í‚½…¤ o®ˆ×`Wá×bØ’[Ìè«e¨ÞOEam†…LÁB{# ΂›sŒF#ƒ1cÆPRRªU«Øºu+þþþNÛ–””ðúë¯3þ|FÝP M»¤±Å™(Øm.ÿnŒ5ümÜøik•ÿïä…ãó†áïÍU«Óù*£€W.ŒcîÈp–ï/aÎúLÇöÿÞw‚µ‡Êé£õ"ÿk<™©eCã~×åÞ1‡iQ€Ôâz^ÝQÄÊÔÒVeyvk>çÆ2*RÇÑr#·¯;Ư…uh<^¾0Žk…R^oeÑ–Üë0gDóFHñ¥Ælã룕üé»lJë­\1 „•W%SVoeä;(®µ²éæÆEûóòöBþ¼1ÇQ¶Å[ó¹01ˆs ~ì)¬åŽõ™¤—ùt¦žÏÿTÀEIA óÃïo;œÖ¬¸<ÁñÞ÷¹Ò‰E¯ ÚºôPgR±Ú|I/73¬v›7ŠƒB¼8Rj¤_ˆ5& 6k‚Í@ÁîÞð¢¢(dffòý÷ßc±X˜?>]t»v9¼÷Þ{TUU±qãFjkk?x4ÒØâÌ ÚÚÿ»i±Þj³²ì×BNéË­ÃBÙp¤.ïÒì-rNOµá©Z˜àXT^kD±[¸}„]œˆMUY{°U…«…òÞe‰è¼T–ýê|µ?Mˆdåbúz3P¯å• b™úÞ~þ2-Ž[Ï £Îbç?ÇÊylRd‡uœ?&’/ˆ§ ÚÌ{O0ÌàÇCBéâô÷öóùÁ,ÝéÏÝ£#XzQ;òkíÏ®üþ²1¥Ù·ýÇEðqj1Á¾ŒögÕÕIŒ~kv•N×ó¡ñ¬I+åpI£Ü¯m/àÞ± uÚQÎÑÆ ÄÝÏLŠá¢~!„iúëý0ø{“Uadë±R§K]5À)½oÒËØ‘]Ž<4! €WÎcáŽPXÈ}ãcxhBÿ·3ÏißWÎå/3¹md$ÿº´çDø;ÊvÃ=ÿü)‡Å[Ž38\ÇŽ»Gµ[Ǧïž‚L+{ ªÀ˜èF´ìʯæ±o2˜ãÏÌä.L¡ÊdåæOÒ°Z,Nõl™ï@½£ ZvæUwºžoï,àÁ  eo\öÈ×éŽò.ßSÀ§i%Në…è=# Ö6/=l0Œ?ŒˆÀ_ã…ªÂG»sZ¥µ|wŸ¦µú È®¨'±Cõ¬lÜïƒ9•õ­Ò²Y-­&,5mSXc":Зþ}|Qlúé:¬cn¥‘ø-sÖìgÅžÿM`Ž Ö’]Ñ0‰*Dëͳç'`´ÚùÃÈ(>ÜË/9Ni¹Ê·¨²á#­§ÙlvY^UE/lòË+Ñ{?sÚ¹ô $…0,LáâZú‡jQU•Ã%µ óÅfÓ±ñX…Ë`ÁÃí_=Ø:7¢žžNEEQQ CƒÿùÏfëÖ­„††pðàAêëëÙ³g555t&!zº§ÎïÇý“âÿg6ïíÈqúöêÔßÿÿ}zé%µ o˜ü»5³”ã%Õ­‡Â[îßÌ+?㟗á¾IñÄ5~ë¾|H/ÿp´õ~Mi5þ¬¹ùßâª=y,˜šÄ“ã‰ô÷aRBŸËðú¶Lž¿t¯\6ˆ ’C©6Yl`ll0À[W '&È—÷vä°=»œ×¯Æ{× cÂ+?Riü߇Ò}“âˆô÷arc¾GŠkø5» EUO¾ž-dWÔ¢åÑi‰Lè„]Uyd}štbÑëFÚºô0@ïÇ9á¾*®¡¨;s+P€á‘)®a¤Ác%5d”µž§àÙÕ“›FfΜIAA6›ÄÄDV¬XÁäÉ“¹æškÛž8qÂñ+‰3f4|8}û¹4¶8#$…êH ýßÿ¿;\èôw¤¨Ö6ÿÿÎOÇøû¬†ßö/ßyÜåß_Ëý›{÷§ êL&î™”ÄEÃQPØ—_ÉëÛŽ²bwN« £)-Em>g¢!íg¿M%ÌÏ›«Î‰æ‚a<ýMK¯ÙnÞØz£ÙÌÜ ‰\1$»ªr´¤–WÌ@±[¸wr§È,­åÑu{©5[¹ ¿ž+†FñÆUC¸iùvGZ/mIgfŠØ-»rÊ™»j7ªÍŒr õlé¡ÏöðÜ¥CéæÏ@CÃÈÅŸ¿Ø+Xô²k›# 6«•¡¾ü’SÎÆ£eŽK££QP±µ±¿“ýíÏ«¦> ntóõ ìܹ“””<==9zô(ûöícÿþý<ñÄŽ1AÃ0àÆéׯIII(ŠÂ¥ëNHk‹³^t–ƒ‹.¡Îl%ééõԚξ‘¶ª¾TÜòïŸùl_®t !:`Šˆg¹ë¿E!9Ô›]åhYÝÿNð $‡6÷¿'­-„BtR½!ºò.O7 ó'ÌúĶGjK›o°´‚BÑc…x˜ºþi®þY۱Ǵ¹ÞÓXѹ_=!„â4hgŽÂ)Q<Ü»…³‡¹VA!„è¡üswwKºv_‡1@Ã-œO-™-­!„BœåR.ox£Ú‡/!„¢M(!„B!„BH  „B „B!‚B!$PB!„ B!„@A!„g] pàÀô± N¯,8m…o*“Õzæ=ÏþL®›BˆÞë³;KOÇËËë´ü·:Z­ÖQß³­ìB!zÙˆBGòóó韒ºõëPU•ëoº‰»çÍsú†üÑŠŒ5ЏÄDî{àÌf³#’’þpÛm$$'Ó?%…G.Äl±8í¿jõjÆŒOBr23/¹€Ä~ýˆMHà“5kÜÊç½÷ßgÂäÉÄ%&’Ô¿?·Ï™Cii©Ë|Rv{Ÿ¯6l`Ò”)ôçw^ȡÇÙðõ×L™6˜¸8Î=ÿ|ޤ§;ÊQ[[Ë Ð?%…Ä~ý¸÷¾û¨¯¯Çl6»¬[{û´Wv!„â´ QQQ¼öê«,xè!²srxcéR233yé…œ¶Û¼e ÿݺ•]Û·“š–Æsÿ»cÝÝóæáééIÚþýlûñG~Ù¾¿?ÿ¼Óþ[¾ÿž-7’~è_ù¥c”#;3“k®¾Ú­|¢¢¢X±|9ÇcûO?Q]]ÍCú“Ë|ìÝëö>Ÿ}þ9_®[ÇÑ#G˜’Â7ÝÄç_|ÁºÏ?çXFCæáGqlÿÀ‚”•—³kÇöïÙCQQÏ<û,>>>mÖ­­}Ú+»Bñ› ý$±_?Çëwßu¬»àüó¹ñúë¹þ†xþÅYööÛèt:§ýûóŸÑjµèõz|àÖ¬] @iY[¾ÿžE ¢Õj ãÁ`õ'Ÿ8ïÿè£èt:|}}Û-g[ù4•3>>€ÐÐPZ°€-ßßn>îìóÔ“OŒ·Ü|3Ù99<óÔS ˼½¹yölvîÜ @ee%Ÿ}ñO=ù$èt:æÏ›ÇgŸÞfÜÝÇÝc$„BtÄõlE¡®¶–¢¼)9Ù±¾iÿ„„GþMË|µÚVËÚÊ`ÝúõüãÿàHz:6› »ÝNmmm›ù¸»OߨXÇ>AAAŽeM‚‚‚0›Íøjµdfe¡ª*ç]pc½ªªX­V§4›×ÍÝ}š—}ÏŽÒË…B¸<×{y{ܧ¡z=Jg“ÑHþñã„„‡F«e¯ÃØ6›¹wÝÅ5W_Í·ÿù_ó 3/¼Ði›ÜÜ\’’’ïÃÃÃÿ:­ÏÉÁ`0´SG¥ÍumåS\\ÌÍ·ÜÂ{Ë–qÑE¡Ñhضm^tQ›iÌ> GQöíÙƒ^¯w«níãʸ)SäA!D+ªÝNYYÇ32P°6Î+.…‚Ü\ôÄ&$`µZ1˜M¦3}vÉŒõõ,}ã 6lØÀ]wßÍOÛ¶å´Ík¯½F]m-/½ô×]{-z½ž3fðÔ3ϰô7¨­©á…_ä÷×]×f~}úô ++‹äääVeq•ÑdÂjµˆF£!//%û[»õ:™}:ʬY³x|Ñ"þþ·¿Laa!dÆŒ.ëÖÑ>m}B!„+þþþ$ôëÇñÌLüý]^²v9GÁh4…ÕbÁn³9­‹Ž‰Ááx]vùålÙ²…¥o¾Éûg—_~9×\}5·Ýq¶fi̘1ƒÑ£G3xèPRRRXôøãŽuï¼õf“‰Ä¤$FŽÍè1cx|áÂ6+Í]sç2uút¢bbXµzu‡ùô‰áÙÅ‹¹sî\ ‘‘Üpã\uå•íÈ“ÙÇo-]Н¯/ÃGŽÄÉÌ‹/&5-­Ýºµ·BÑYZ­³É„¥Û(úÛŸWQ<8´dvÿ0nÊ”.ý6ºoß>&NžLEYY·þ¶ÿ·ÊG!„8SìÙ±ƒÈØX‚HY¸¼a…j“[8 !„hcÞŸ B!„hÓo66?lØ0jªªÎ˜|„Bˆ³Œ(!„¢M2ÛOˆ^¦° €ÃR]U…ªªr@D§(ŠÒð“¸ädbãâ\Þ³Eú˜ô „è¥JKJØ¿w/C† £o\ÞÞÞrPD§Øív ØùË/xxx8Ý=Vú˜ô „èåÒàœ‘#‰m|îˆ|×þ6éáAdt4&Of÷ŽèÃÃÑ6»ÉŽô±³³H  Ä¢²¢‚ˆ¨(§,$4”êª*LF£S  }ììì(q†PUo//qqŠ<»Ýîtç\écÒ$Pâ „>&~+(!âBH§(|¶r¥Û‰^qýõÝZèÔÔTÎ=ï<òóòHMMíÑÏv8ÙgO4Õ±¨°Ðé}wå'äCüLsàÀ¦MŸÎ‰¢"¤¦2nÜ8jª«{ÌßÅÞ}ûÚ-SGë{c;uêÉe9£F&_pA‡ÛlýöÛ·1DD´Zf±Z±X,TWVv¸ÿàÁƒÝ:iöfÍëx6ÔWtêS¼{>4ÇgÔÈ‘lýñGÇ瀞–ëêÜN£¦ªªG|ð<˜Òâbçc¦ª=çÚ{Ge:eî®üzR;ôÄ>q& qqqí n¤Ñò¤W[[Ë”iÓ¸úª«Îú±Z­½:ºííå?kGÓÌ:~œå~Èì›nrZîVžÍ¶íq£=±l•é4–Yíæ@¡G´COî¯=L¸…ó¼{ï%&:šÇ}Ô)x˜ï½ÄÆÇÃ]wßM]}=Ð0¼îˆÕų³ÝÙoÝúõŒ=š0ƒ)S§rèС6ÓmZÖrÿÑcÇn00uÚ4<Èú/¿dìøñ„ Lž2…Ç;•kÅÊ• <Cd$÷Ì›‡ÉdrJsÅÊ• >œøÄÄËP[WÇ‚‡"19CD#GfÏÞ½Žõ¾þÚe;:F®¸sL›—`ò”)""¯Àà`–<÷ÜIµm˺pÙå—n00jÌ–¾ù¦ó±9…>Ð+…nzüeÑ"žxòIjjk–7½?Q\Ìïo¸CDÑ}û²à¡‡0™ÍM&¦Ÿ{.QQèÃÃYññǨ@uM ÷Ì›Gtß¾"#¹sî\jëêPG!´:_¬[Çð#è£×3qòdÒrä9aÒ$ôá᎗. €ÅÏ>ëvÚ«µU=N¥L«?ù„1ãÆ9ÒºÁ‚‚¨ª©A>\±‚ÉS§¢o¿óÃGŒ Ì` "*ŠgϦ¸¤ÄéØ~µaC›uïÎöVOCkY§;w’Ô¯®XÑa»¸Ûnïÿûß 80ƒ»î¾£ÉÔnY>\±¢Íí;*O{íÛ¼5ŠÐ°0&M™BÚÁƒ¬[¿žQcÆÐG¯g¤I<|Ø‘æ+¯¾JR¿~ôÑëILN柯¼rZú@ ÞXº”_~ù…ÿ[¶ §à¡¬¬ŒÔýûI?|˜ÂÂBž|òI·‚ŽŽö[»v-›¾ûŽÜìlRRRøãý÷wªÌk×®å»o¿%';›Aƒq͵×òé§Ÿòí×_“—“ÃСC¹Á§}6nÚÄÎ;9°o`ñ³Ï:­ß´i?mÛFz‹£-wßs‡bë?PTXÈ'«VêV;{lÝÙ¾eù·þø#E……²zÕ*™u饧ԶMî¼ë.Búô!++‹o6l`õ'Ÿüæ}à´êŽpëþ@hh(/½ô’ólãûÛo¿OŽ=Êî;ùé§ŸX¼x16oÜØÈååQ\TÄõ×]ªÊ¼yó(-+#-5•Œôt yâ‰'œÒ_³f ›7m"?7—))üñÞ{ëÿ»u+ÅEEñÉêÕrÙ¬Yn§íêý©”iú´i¤¥¥QR\ ªÊ–Í›‰‹eë?8þ?cútPU¢£¢X³f ' Ù¿w/ÕUUüñt»îÝÚÞí}‹îîr¬?Õ>ÐÓ_+Þ_­­®îò×OÛ¶©€ZY^®~µ~½ªÕjÕCiiŽåµÕÕjvVVC_޳DZ߇˗«ÑÑÑ­ÒhZŸŸ›ÛÐ{÷:–­klæû¤>ìXÿŸo¿U5M«2îÙ½[ U?Y½ºSiW–—;½ïŠ2 2D}ÿ½÷ÔôÇUƒÁ >·d‰zïüùjmuµ£®ÿâ —ÇùÛo¾QýýýÝÊÇÕñìê׊÷ßWgfþ&}¬y^|á5&&Fýù¿ÿu»¯¸ÛnÍûçŠ>rô϶ÊÒÖöåw2í»iãFP3uZÖÔæYÇŽ©^^^ê+/¿¬æçw[;¸ê[7nTfd8…¸@ûóêi»˜\ZZÊÍ·ÜÂSO=ÅØ1cœÖåç磪*“§NuºfæêRÃÉìÞìv•:ÎqÀ]Í÷oº£YËe-ÓŒ‰‰qz_TTä´>*2Òíü QU•ÄÆaþŽÊؼŽ=¶înïªüeee\uÍ5üù‘G¸hæÌSjÛ&'Nœ ::Úå±ý­úÀ™6GAmv½vêÔ©œwî¹,zâ |àÇòÂÆ¹E1ÑÑŽíûöíKQQ‘ÓuÞæïóòòÚcÊ”VíÑ|»°°0Ç{Ÿ&“É©žeee\yõÕüù‘G˜yá…¨ªêvÚ-ßwE™¦O›ÆæÍ›1›ÍLŸ6Ó§sûœ9dddP\\̸qãPU•uë×óüƒ#ééØl6ìv;µµµn壞sšÒ}þ…¸íÖ[2dˆÛ}ÅÝvkÞ?£££ý³­²´µ}Gùn__Æå²¦6×ëõüûƒxcéR[¸!C†ðô_ÿʤI“NëgÎi ìv;·Ý~;ãÇçî»îry’S…}{ö ×ë;u?™ýšh±¶¶–   †SÓ¬éS”››KRR’ã}x;÷Öî¨(ŠBff&)))r:sŒNö˜šÍf®¿ñF~÷»ß1ïž{ÜN¯£º7·üü|0]ÕÎÚ@¡YÚªªòìâÅŒ?žI':–‡……““ãèË999ÂÃÊÔøK‰–’Š¢°÷×_[µ‡ªª­òmY§¾tÞyÜs÷Ý'—v³÷]Q¦éÓ¦ñПþ„ÅbaÆôé 4ˆââb>^µŠqcÇâëëˉ'¸ù–[ø¿e˸hæL4 Û¶mcæÅ»•«õ½>Phš—±~=W\y%:ŽÁhGíân»599„7õÏ6ÊÒÖöåW\\|JíëêoàÒK.áÒK.Ád2ñÏ—_ææ?ü£éégßdÆ%Ï=Gn^¯¿öšËõ¡¡¡Ìš5‹Ç-¢¢¢Âñ-zóæÍí¦{²û5IHH 88˜·Þ~›ÍF^^þù.©ó³K–PW_OII /½ô×]{íI—#$$„+¯¼’‡y„‚‚Ž;FNnn‡åèì1:Ùc:oþ|t~~¼Øâøu”^Gu×ëõL›6§Ÿy†úúzÊÊÊxù•Wº¬œísšÞ'&$p×wþo.ª¢ eÆôé<ýÌ3ÔÕÕQ|â/¾ø"×5ÎEè@Vf¦#Ð>}˜ué¥,Z´ˆŠòrPU Ú£½ëðÍ–Í¿÷^t~~¼ð÷¿;mÓé´ßwE™&MœH^^_¬[Ç´iÓP€©S¦ðêk¯1}Ú4PUŒF#V«•4>>äååñÜßþÖæ¼‰ŽæUœIs’ùfÃÞ]¶¬a’³íân»-yî9êêê().æ¥ÿ÷ÿ¸öškÚ-K[Ûw”_—´o‹edz²FªL&¼½¼ðóók˜»wšç(œ–@áïÏ?OVV‰IIN3ã›ß_á­¥KñõõeøÈ‘"#™yñŤ¦¥u˜öÉîàããÃ;o¿Íÿþ7‘QQ̾ùfþpË-]Rç3f0zôhJJJ ‹ü”ÊñÆ¿þErRã'NÄÁu×_Oii©[eéì1:™cºòãùqëV¢¢£mû‹/v˜ž;ukéRŠKJˆ‹çü /äŠËOW+† IDAT/ÇÓÓ³Kú@oQèŽWË´ùÓŸ÷ShZöÖ›ob2™Hê×QcÇ2zÔ(>ú(ªªÉÜ;ïdÚ¹ç˪իQU•¥¯¿ŽÆ×—£GÍE—^Jjjj›ù¶\¶òãùñljêÛCT†¨(^xé¥N§Ýüý©–I§Ó1jäH ÑPš6u*ÕÕÕL:UU‰‰ŽfñÓO3÷ˆŽæ†›nâÊ+®h³L•¹»Úü·ìcÍëÔ·o_¾þê+Vò ‹žx­vq§Ý¦O›Æè±crÎ9 0€Ç.l·,ímß^~]Ѿ-—™Ífž^¼˜Ø„"¢£ùøãy÷í·OKhNÑßþ¼ŠÒð!{hÉì†`Ü”)NO”êIwf¢¹Ï>ûŒ??ö‡<ãëºîÓO¹xÖ,itÑ%¾Z·Ž‰S§:ýbª·ö±ýû÷3yÚ4JOœ{¹œDÈ9vŒÈ¸8‚HY¸¼1j´¹?GANþ¢§8|ø0v»’“›Ëß_xË/»LŒBt »D¯SQYÉwÜÁ‰'ðÑh˜u饺Co×t9@écN…v”]þF$Pg¹qcÇr`ÿþ³÷CÜÃC:>ÖÂ9çœãÖ³‚„ Bœñ<$PÒÇ„ B—ßôU>ÈE°Ûí.û‘ô1é(Ñ‹RVZJ¸Á Cœ’òÒR‚‚‚œ~Z,}Lú€û‚¢ Úír…èaú¥¤°kûvFGxx¸|ë'õ-òĉüºcÄW«•>v–÷FÓî¼—‚·•hýüäˆ ÑƒDFFbª¯gÿ¯¿RS]]zÑI‘دAÁÁŽçH;{û€ÝjÅW«Å»ûO¸\ÚG¯çØ‘#Ä'%á§ÓÉ,k!zEQHHJ""* “É„Íf“ƒ":ÍÓÓFƒ¶Åh‚ô±³«øx{c³ÙÈÎÌ$04´apÀÅÝ] Á!!˜ÍfŽgea1›å2„Bq¦}ñðð@ãë‹.8?¼==]>É×e  Ðð>c` ÖÆGg"7°B!Î(Þ^^h|}Ñx{» Ú  aøÉÕ°”B!Î,m pšž)„BˆÞA!„BH  „B „B!‚B!$PB!Äi%…]JU!£¸’Üò:êÌW7ùBÑ( øùxìGrX žŠ ¢»ƒ•_²ŠI-¬â«ýÇ9”_†Ù*·BˆžÈÇË“”¨>Ì:'ž²ZÃ%PÝ+«´†ì #+~9Ì_/ÉÈ@¼ä9!BÑ#Yl6öd—ð솽Üyî"JªIÐH  º7PX³ë(K®ä”XPäÖßBÑc%'&Å“Ÿü—p¿þ.ùº'ºLÙÂÜú‡é$HBˆ^bLb$r‹©3»¾³ ¢Ë¨*˜­6¼<ÿâ Ö}þ9Ç222x0?òˆcû, ¬¼œ];v°ÏŠŠŠxæÙgëÓ$±_¿N_ƒ§×ªU«Øºu+eee 2„K/½”Õ«WóÃ?PQQÁ9çœÃ=÷ÜãVZ999<øàƒ|øá‡ÔÕÕqðàAÎ?ÿ|—ÛÞvÛm¤¥¥±k×.jjjX·nz½¾Ýôo¾ùföíÛGjjªcÙ»ï¾Ëõ×_N§“ÆBH àX©(,~æþõÆäæåµZÁùç@hh(-XÀ–ï¿wÚæ©'Ÿ$88n¹ùf²srxæ©§–y{sóìÙìܹ€ÊÊJ>ûâ žzòIÐétÌŸ7Ï>ÿܑޠ9–ž.× {™^x4 sçÎ%++‹—^z‰|||¸óÎ;ùùçŸÝJK£ÑàååÅ¡C‡¨ªª"00aƵڮ¬¬ŒO>ù„×^{èèh’““‰m7ý®¾új–-[æ•XµjwÜq‡4¤B…–¦LžÌŒéÓyêé§[­ûjÃf^|1ÉœÌïo¼‘šš§mÂÂÂïµ¾¾.—™Íf QU•ó.¸€Ä~ýHì×Ûªª*i©^ÎÐl¬V«u¹Ìd2¹•Vxx8«W¯æã?&::šI“&ñÃ?´Ú®  UUINNîtyçÌ™Ãòå˱X,¬^½š¸¸¸V—#„B…FOÿõ¯|ùÕWìhüæPRRÂísæ0ïž{HÛ¿ŸÌŒ V~øá)&,, EQØñóÏKOçXz:™ä?.-uÑh4NAgQQ‘Ó6W\q›6m¢¤¤„™3grÝu×µJ'22EQ8zôh§Ë0}út‚‚‚X¿~=Ë–-“Ñ!„ íIHH`Îwð·¿ÿݱÌh2aµZ ÀÇLJüü|žñÅS*LhŸ>\rñÅ<ùÔSTTT8Nß»ø¶(Î\III„„„ðúë¯c³ÙÈÍÍeñâÅŽõ™™™|÷Ýw˜Íf¼½½Ñétx¸xøTŸ>}¸öÚk¹ï¾ûÈÏÏ ##ƒììl·Gž~úi¶oßÎìÙ³¥a„(´çálxxu£˜èhžzòIæÝ{/q‰‰ÜrÛm\qùå§\ ×^yFø‰‰KLä²+¯$­q6<4LfŒMHÉŒg0þýï³lÙ2¹æškœ¾Ñ[,-ZDhh(,_¾œ>úÈeZï¾û.ýúõãœsÎÁßߟË/¿œ’’ ã›3Ýzë­¤¦¦rÙe—u8R!ÎTŠþöçU”†‰‡–È·&qòÖïËfÁªÿòëã—׳;¾¢8ÝLÌ›ÍFTT|ð^x¡4°âŒÕgî+ü㺉\:¬a²wÊÂå +T›ëÇL»s÷Å’׌…8Ó|ðÁ¶ùÓK!„8xI Dk¡¡¡øùùñÁ¸œÿ „gu  ÄÙ®é£Bq¶“¯J¢Ë(JÃsÍ-½`¢iGó„âla¶Úðñòlþ{ D÷ðóñfHŒž´ür9BÑKìÌ,dHL:/ D÷Šë£ãÚ1É<¹n7da¶ÊOX…¢§2[mlJ=ÎüÿûWJ$^àr;™£ ºL¼>€Âj#×OÄâÏâàë_J° „=”—'£C¹aÜâ‚}‰•@At3EaBB8á¾$õÑQg¶"S„¢gRðóñ¢oˆ?Iamn'‚èòŽ—Hr;N!D/ú(‡@!„(!„B!„BH  „B „B!‚B!$PB!„ B!„@A!„(!„B!„B „Bá6y(”èrÕUUa4Qív9 BÑ)øúúf0(O¿‘ºš óó‰MHÀ? ´BˆžÈn·SS]Mvf&žøùûK  º_QAqA # BÑSG€€€âÈËÎ&¡_? D÷«7Ñúù¡ªª !„è´~~Ôm®—@At)ÕnGQ „¢íÙ½›á#GvIZŠ¢´;ú+‚èú`A‚!„èÞÏÙßð³V!‚Bô¾Z D/î¿-†°ªkk9|$£Õvú' ÓÉBˆ“øBö[MïñB]]{`ÂØ±½¾aëêëÙŸšÊØQ£P¥Ã:3¦ÝízÈBum-Ge‘œ”ˆ¯FãXn4™È8šIRb¼ BÑÛFºâDUU]MNn.µuu(ŠB€¿?q±±h}}O*½ÐðpJOœèÕíê§Õ2qüx‚BB(+.v«Îîlד…ÇӉ‹‹Åf³QZVæXîëëKhŸNw™†¢(DEFawYûRS×A%„gEœ@™£p²'ªŠÊJŽddÐ?9™Ø¸8²²²H=xs†ÅÛËËåÉå·>œŽkO[ Ð|ta@¿~dçæb2™Ðjµ$'&â§ÕºÜçxv6q±±$&'SS]Ùh¤OP•¡¡Kuu5{ 91‘Üü|¬V+cFŽÄb±qìUÕÕh||ˆ0:U›ÍFÖñã”WT`WUú„„‡‡‡cÿ–y¶”_XHAa!V«///¢""ˆŒˆp쟔@n^V›Ð>}HŒwœˆÝÉ¿i¤Æn·s<'‡Ò²2l6†~‰‰Ž´ŠŠŠHMMí’zNIét;vňŠB^~~«È×ÃÓƒÄøxP<¨ª©i•†¿¿ÕÞ0´¦ª*i‡ðõ×_£ª*ñ±±hµZRtÔÓl6ãëëKb\F“‰¼‚L&¾¾¾$ÅÇãëëK]}=©’G^A6›à`âcce¤BÑ«…柫v»œ¼<úÆÄàÑâ³Ìf·“›—Glß¾œÌ§œÛsªkk9|8þ¤¦¦’›Ëà±Y­NÛY,êê뉥®¶sãMTU%80£YY 8êê†o˜F³™1£F¡ÕéðööfÛÖ­xzzr(ìØ±£Se9–™‰]U™ »ý•‚'ˆ‰Œtìß2ÏæßðMf3dz³1|8‘QQØl6jkkññò¢®®€z“‰±cÇâããÃÎ]»(6›ÍEûétæåao\f·Ûñöñqì£Õj)),l¨¿‡f³­ŸŸc4G!zö€‚ë_=D4 Y¹¹XÌft:ýû÷§¢Ùdòn š†0šs5œìíퟟ„9Nz¥åå·JÇÞ¸·7õõõŽmšNŠî”Å»qÿsÏ=×ñ¾Íº4+WK!ÁÁ |4Žgg“~ìãFv¬oY>ooo<<<:•¿Oã¨Jmmm»eéŽzºÓŽ](4L¸±wzH¿iGPÐ"͖ˬ#YÍ—ÙZ,k~kéúúz¬VkãdK Þ^^xzzÊ¥!Do‰Úü¼Š çXv6ž^^ 4ˆò’’Sʪ[î£Ñ#Gп?:ªªRXTDYy9ãÆŽÅÒømºUa¼¼ âðáÃÄ÷í‹Õj%/?ßí|½½¼èÓ§iiiDGDàÑøM±Þh$¨gm7g4™0™L`21¨ªŠPãÈ‘#Gˆ‹‰q”ÏÞðµù{yz¢ %55•Äøx<=<0(n<–¹+êÙÝ‘nóá1»ê<"à^ à<´æéé 4LhU]ü‘¸\ÖNqäÈ z=‹…Â'Ðëõ £9(!zCœ@û?LŒEçïOyIÉ)®uK Ì ”róó9TY‰¢(0jÄ‚CB¨lg$9!¬ìl~Ù¹"#"¨ÉÌt;ïä„ ŠŠØ½woÃÉÛÛ›Hƒ½^×é;ŠÒ²ss©¯¯GUU´Z-ƒ rÚD¯×³{ï^, ¡}ú0pà@L“6;“b|<EEìÙ·«ÕŠÆÇ‡ýû£4ž»µž.¸{C¨Î ¨*v›­Ów³ÛlN'~/OOÂôz~üñGT»è¨(§85]^q7PÐëõ¤>ŒÅl&((ˆAƒQWS#‚¢×(4©9‰‰‹n ~~~L™8EQœÞ·\ߟC ÂO§s\·˜ÍT–—c³Ù\¦ Cò)ýû㈗·7v›¸ØØVåj«,žžžôŽfÀ€øh4ŽëÓÆúú6ólÎ××—áC‡âè(·Íf£¦ªÊ±MLL !AAøét(˜M&ê'ëu&ÿæÛj4Pìyuu=Ý9v½!T›ý·Å¯ìVk»—W\ V«Ó¯ a¢Î Ñ5Î)/.ft@Àÿž|¦ªøúø0zøp§r4_Ö4W"&&?† >}ðôð ®¶Ö1wC!z~œÐnálµZwBlþÞÕúæ~ھݭŒ'ŒÛfv»ª³Ï›f¸»SUU©­®vù3¶òlÎf³u8;Ôd4:F\5 »ù··mW×Óe]>™QQ°Ølxu0—¢%‹Í­W]V\ܪ|Ç32ZµM[Ëš§WS]í !D¯ zëC¡&ŒKhx¸[Ûöö[2‹ŽE„‡qüxv§;´¢(ŽÛ7 !„8}ºeŽÂ™¸séBà4!3"Â@D„¡Ç”M«Õ2zøpEi(§\jBôÒÏYw&¿÷Ø@áLæÎ¥‹³G¤¬ ¹™™xHÐ'„èÂoøY+‚èÖ!„Ýð9Û4**‚è·ù¿B!ºÞaú,­Žž0,‚èRZ­³É„ÖÏO†BôõuuhÛyа ¢K"#ÉÍÉÁÙpŸ YBˆIUUêjk)*( ¦o_ ÄoÃÏߟÈèhŠ‹ŠÈËΖ !D¥( ¾Z-‘ÑÑøùûK  ~;ô€gN!„8u2=]!„(!„B!„BH  „B „B!‚B!$PB!„ B!„@A!„(!„B!„B „Bá>—…òmç¹ÔB!„83ëë[-“!„B´I!„BH  „Bˆ³,PØ·oþÒŠB!Ä™(üðÜá…DDEÝ·/¿¿þz>ÜkCDDÃ+2’‹.¹„C‡IOBqö ?þø#þ~ýøãm¦¹qÓ&~à Ü=w.¹ÙÙ¤9„ øÝ™•år«Õú›˜öòÌËÍ¥¨°œãÇ4p ·Þ~{)÷©ÖM!„p;P˜2e ¾ü?7.é§Õ²áË/™2eJ›Û<¶p! {Œ«¯¾///ü´Z¸ÿ~.¹øb–,YâôÍ}ÅÊ• >œøÄDŠŠŠ¸üŠ+0DD0jÌþûÓO­¾í¯[¿ž‘£Gf00eêT§oûµµµÌ¿÷^bã㉊‰á®»ï¦®ñ§ måÙ®½æ222ÚM£¸¸˜oº‰Èèhbããyèá‡1›Í¬Y³†ñ':Ò\ðÐC÷éCMM +V®dÚôé¼ö¯Ñ?%…0ƒ~ðÊ«¯v[Ý„Bˆ…¦`aÍ'Ÿt,øiµ¬ùä“vƒ„¢¢"ÒÒÒ¸òŠ+Z­»òÊ+Ù´y³Ó²M›6ñÓ¶m¤7^–¸sî\ÉÌÌd×_²bÅŠVé¬]»–Mß}Gnv6)))üñþûëæÝ{/eee¤îßOúáÃòä“O¶›g{ŒF#+W­b„ í¦qÇœ9xxzr4#ƒÛ·óó/¿ðlcP4mÚ4ÒÒÒ())`Ë–-ÄÆÆòãÖ­ŽÿOŸ>ÜÜ\}ì1–½óÅEEìÞ¹“sgÌ趺 !„n î î ¥¥¥„……µZæXßä/ù :­VKii)›6oæ©'ŸÄO«%<<œ,h•γ‹ŒF£áöÛnc÷îÝTVV²víZž]¼˜€€t:÷ß?k?ý´Í<ÛÒô­=<"‚õë×óÊ?ÿÙ©r?òðìüøcôz=ƒ âûï¿'??Ÿªª*îœ3‡-[¶ðý?0}Ú44 ^^^>r„êêj2dH—×M!„èt Ð^°àn 4 Å·T\\ìXß$*2Òi4 &&Ʊ¬oll«tÂÃÃïu:&“ €üü|TUeòÔ©DÅÄÃM³gSUUÕfžŽI‹NÛdge‘Ÿ›KA^—\|1 |°ÓånZ0}Ú46oÙâ fLŸÎæ-[8zô(ÅÅÅŒ?ž°°0þýÁ¬Y»–äþý9ïüóÙ¶mÛI×M!„èÒ@ÁU°Ð™ À`00pà@>ýì³Vë>ýôS¦O›Öæ¾M@nn®cYnNŽÛeGQöíÙC~n®ãD_Üì„ÝRQa¡ãåŠN§ã†ë¯gkã »3å6 ÿ ¦OgË–-lÙ²…3f0xð`Š‹‹ùxÕ*Æç˜ué¥|µ~=ÙYYœÿ»ßqóþpÒuB!º¯öVŸ8AFz:µ55¨ªÚ%*Š‚ŸNGl\Ñ11(ŠâX—Ÿ—ÇÁÔT*Ë˱Ûí§?Šòð (8˜C†-½E!:¡;Î!¢ë´w>v+P(/+ãÐÁƒ 6Œ¾qqx{{wIÁìv;…ìüå¢OÀ%'N°gçN’û÷gà AÐFKªÝNUe%»wìÀÓÓCD„ô,!„pCwCD×ië|ìv päðaÎ9’Øøø†“fWE0DFG3aòdvþò ¡¡¡øúú²ï^’û÷G†F£i3²ù­ã£Ñ°Ï 3gJÏB7t×9DtáˆBçc·…êª*"¢¢ºm¸($4”ÚšL&¾¾¾”••‘ܯÞÞÞ¨ªÚ£†©ÂôzöìÞ-½J!ÜÔÝçÑ}çc·UUñöò‚njdEÁn·c³Ùò³ÛQGzZÇR<<œ#G²uÛ6G>Mû|±nÃGŒ ^ÏÄÉ“I;tÈ‘wuM ÷Ì›Gtß¾"#¹sî\jëêÚͳåëíwÞaøˆ„ DDEqãìÙ—”¸]†æÇ¥½ò¨@~A—ΚEhX#FŽäõ7Þ@«Óuª>í•¥½ó±Û‚cx¤Y$d³ZñÑh0™MÁ€±q$¡Å{“³ÅŒVë‡Ùbn3½Ž¢ÏAÇ;Ö?ð§?1høp î´~Ððá¼þæ›ÜxË- ;–kn¸C‡óæ;ï0å¼ó9~<>þ8&“©Õ~¯½ñ¿Ÿ=›sƌᆛo&3+KF„¢k†œ^E……¤¥¥qÕ•W¶ZwÕ•W²qÓ&§óæùé¿ÿåhz:¨*sæÌ! €ã™™|½a­XᜰfÍ6oÚD~n.SRøã½÷:ÖÏ›7Ò²2ÒRSÉHO§°°'žx¢Ý<[¾¢£¢X³f ' Ù¿w/ÕUUüñt» ÍËÛQyæÌ™CHHÙYY|ûÍ7¬^½ºSûwX–vÎÇî(¸8Y*Ô×Õ¡ Çj³¶ºÜ`lM°ÙíDEÄP]]…§‡g›é9(¸ø&?û†ë§NžÌìn`ö 7´ú¦ÿö»ï‡^¯'íàAnºõVV¯]ËÔÉ“±Z­|ñå—¬\½ºÕ~ËÞŸþÉÉDEE±wÿ~î{ðA¬V«Œ(!Ä)Ç ÎŸù%%%èõúVëôz=¥¥¥N燿,Z„ÎÏ___JJJظiýë_Ñjµ„……ñà‚Nù<»x1AAAøøøpÛm·±k÷nTU¥¢¢‚5k×òìâÅøû£óóãþûþ?{çÞdÕðá;IÛt¤{ï–Y ¥(*(‚"´€Le©€"²•-– (e|PõUQQ@Ê*t—î‘¶i“&ߥ±¡I›B‘ç¾®s5=ë99ówFÎ3ŽÿÛ±Ãä3MŸ}öY‚ƒ‚Ðét¸ººòî»ïòëþýf¥AWa롺ô¤§§sààA¦OŸŽ ®®®¼õÖ[f‡7'-æN†k|‚¥¥)7’ðćFMIKO%#3"U:­kkkÜ\=ðôô"öÚ’S’ðôô6Ÿ±JU‘w'L`ãMÕØó…x:<Üh\û÷gü˜1숊bæGQTTÄš/¿$´I²²²8tø0gÿù§R¸Á¼9r$—¯\áå~ý¸˹óçiÖ´©hå@p‡B¡"...¤¥¥áççgà––žŽ«««Á8àíí­ÿœšš €Ÿ¯¯ÞÎßß¿ÒØáîî®ÿlgk«_INJJB§ÓñDÇŽéÓh4&ŸiŒÝ{öðé§ŸréòeýÖzAAYi¨(ªKÏ7ð­p»eù»jò}L¥¥&ÔH(¤eda-·æ×ýh×®-©)IøúúÓ ^#lll(**$#3?þþz‘`cc‹¿_ Úuæé.Ï1uÊ är9yùÊêÏ(Üüyä­¦üQ¥¥¥•ÜÊ‘•_³\!^©DbàO§ÓU wíúutZ-×ãâôv®®®&Ÿ#³•B%óÑìÙÌ›?Ÿÿû¿ÿC£VSTTÄçK–°gÏÞï=£{ùèt¸¹ºòÔ“O2ûÃ),,$#=O?ûÌП±gÞ´suqá…=˜:u*9ÙÙ Ó‘š’ª_Á¨T*4 ö r++’’’˜7¾Ùi¨IzÜ\]éÜ©Þ\!ÏÊÌäó%Kîüû˜ú޵µ¢{=ž%Ë>…›/v´µµ#77¹¥5ZÊnk´°°ÄÚÚ¥2Oï§° €Ôi·µõàíåErJ _}ó §ÿþ©TÊÄ›{5·†­þVeì;mܼ™ôôtþ:}€ À@š4n,0 A-¯(<ݵ+ׯgÞüùŒ; Ú=þ8¿üïÔ«W¯Ò}Å8V~ñ£Þxƒ zõð÷gØÐ¡œ8qÂd˜[ÿ®\±‚©Ó§óHëÖáííÍÐ!Cô+Õ­(øùúòÑìÙŒ5Š‚‚5jÄ ˆEG›•†[?W•žòïûÆ›oL€¿?CæÏãÇoûûÜú×\j¶õ–ÁÏ¿üJZf2)Ör+,­,±”ɰ²´@&“¢)Õ¢.Ñ *)¡¤DªD»‹#Y¹ÊjWþóÈ[yoÂ>Y²„kׯs56€wÆ«”V­Vkð }\2çÖøGDðÛÑ£$§¤Ð44”YS§†A­ €';wÖ†Æü‡5kFnVV¥8¼<=‰Ú±Ã ̈áÃÑétFÔÛé÷èíìøtñb>]¼¸ÒsM=óVÆŽSiÛdÈàÁf¥áV÷ªÒàãíÍ÷;wêí¿ßµ OOÏÛþ>·æG­…[‘JËv*<\H$H¥¤ ’›Êþ·´²ÀÂB†Äε¦Ô쟚ò×þñÇiÿøãF3òøo¿ØuyòI½þÔç¬YÌ™5Ëhð÷çë•+ͪÜ@ üW\¼t ­VK“YøñÇô|ñÅÿ<U …ò³åøúù’˜Xi ÕêtHoñ `i!C"‘ Ö”Ò¬YÓJñ àÁEôùwF^^C‡'-- ¹\NîÝ™1mÚž¯U ©áYǵ_|!JN æ ©TdÂжm[þ9sæž§£J¡ }€ ¹â–…@ j© ·½}•îùù÷^(H$tw± µZ­AÜ©´Î¾MK§Õ e,5YM¸ËcȃNaAÁö¬[Çc³…‚BAVf&žžw%aÙ™™Ø;8 “•]ïìì₪¸®Îík) °wp5W Ìßå1Dp÷Æc³…B½úõ9ù矴jÛZS…Z­–´´4þúóOêÕ¯µµ5Í[´à÷#GI¥¸8;#5‘àÿz%!/?ŸÄ„š?ú¨¨M@`&wk ÔîJ‚±ñØl¡àá鉪¸˜¿Ož¤°  ÖîJ¥ØÛÛ„½£#r¹ ìµ¡­[sáìYâããëÄmˆ©{…‚а0ünÞ).‚ê¹[cˆ ö05›-$ xxxPRRBiii­%N&“aee¥C9~þþb@‚€»9†jSã±YB¡›*#@Œ!ðʃÈ@ B(@ BA  @ „P@ „‚@ !@ ¡ @@ B(@ BA àVŒ¾ëá‡;DÎ5 {ïÞÿ¶Ÿ¨(t·G—^B´G@P×ú!“/…Š9Räº@`V­2ø_ôîÛmi)Z­–Ò›µ¥¥hKK)½ùY"•"“ÉÉdüüãU>C´G@p¯ú!“BA§Ó‰œê¢= ‚{…i¡ ÕŠÜêŠPíQ Ô9¡ f0A­¯ Ün»íQ Ü«~Hà8ñÇf7Θ˗‘J¥Ô BApÏëmë¶mEFˆ~H஫s3çÕk×[[#•JIMOÇÝÙ‰ ‚{XoEý¹ý ÁµÐêÛIìõë ‘Ð²E ²ÓÓ‰KN!÷¬Þ>HuêŸþ!¼kW~ùåžyæn¤¦Š~¨û!q˜Q ¸£ö©«¶qª5ZµjE^V‰?//â““ÉÌÉÁÃÕÕ¼çˆö(¨åzû Õ©¦¡¡¤&'šœ|ÇßíÌ™3´m׎¢‚ÑQÅÍŒå*šƒ‡Þµ+žžxùøðÊ«¯r!&ƨßró÷ßccg‡Z­®ÒŸ0Âܦ*%¯Õj‘Êd´nÕ en®¾1—7R‰TŠ­Ba~Çn¢muèØ­V[É^”0UÕÛÚî¯k¶¶Ç†={ö`«Pd¢Ý=ŒýÙ[¿þú+""X¶t)/õìIII _~õá]»r8:šà  Jqh4šJ.>téÚ__<<=ùnËt:J¥’7GÆ?0o__FŒIAa¡PûÂܳ33VL)}­™K¤U={ê”)̘5 eAÑÙÐW«WóH«VxxyáãçÇ€ˆÒÓÓ Úì®Ý»iõØc¸{xбS'Ο?Ïî={x¬m[Ü<<èðÄÄTX=í÷Á®Ï¦ÜL•»J¥2Ù×wxâ <<=õÆÞÑ‘é3fÔêØ’’ƒY0>7mÒORo­ã´j…›‡OtìÈ… ô~RSSy±gO<<=y´ukŽ=jU¥éÖq/08XoWqµ¤ÜÎÜ4%''ó‹/âîáÁ£­[óÅÊ•úðÿu?d–PHMMåüùó¼ôÒK•÷ÒK/±ÿÀ²ÿo†Ý¿?Gûë×®±oï^HMIáÕ>}Ðét¼9z4™YYüsæ —bbHMMeÆŒ¢¡ óÀˆ„ZßS¾ÕÜt‹ŒŒÄÕŅŋؗûóõñaûÖ­¤&'sú¯¿ÈÏËcÜøñ~wìØÁÞŸ&>.Ž&¡¡¼Ü§;wîäçŸ~"1>žfaaŒûm}œ¢ýÞ;SPPÀ¸ñãɽ¹Œ\Ñäææ2nüx *ˆÆ‰j„©©r·²²2Ù׎Ž&5%…Ô”¶nÝŠƒƒ/¿ür­Ž 7m¢m›6tyê)Ôj5{÷í«ôvìØÁ¯{÷’GHHcËÛ€NÇð#°··'66–÷ìáÛo¿5ȇ*Ót˸w)&Æx>V´33MÎÎÎ\»vÿýø#Û¶o7Y6w³3fddàæâR鈻«+™™™è´Z½ÛÔ)S°µ±1ˆ§¢{nn.;vîäÔ‰(ìì7f #FbÁ¼yb]Ppÿ,áV£Ä3ÒÓ¹CNV¥¥¥eê\&ÃÑÑ‘ zõp½ƒÃŒåv`Þܹ¼Ú·/ƒ## Ú@·gžÑÿïê⤉yåÕW Ú䇳gãèàÀAƒØ´iû÷îÕÛ ŽŒ¤û / ÓjEû½ÇXËåXXXðJŸ>DíØÍ;¶¨¨ˆWúô!,, k¹¼ÊºY±ìÕ)cîÕ•{Ua._¾Lä A|¹r%ÍBC9söl­ ë7l`ÔˆH€g»ucýúõG[Å~²V§£cÇŽ<Õ¥ ÓfÌà­ñã ÂüðÃ|öùç\¾rEÿb˜‚‚ƒ6ëææ¦÷/—ËËìÜÝ ìŠ‹‹Ñêt¢ýÖÌŸÏØqãxõµ×ØrsöÛ÷µ×¨_¿> æÏ¯öžuêV÷êʽª°YYY¼Ò·/“&Là™gž1éÿvêÖo¿ýFll,ݺuC«ÓñܳÏ2hÈÒÒÓqss3ZÇmmmõõ9õÆ ýH¹»ŸŸŸ>mæ~ïêÆ½ŠvÕ¥éFZÞ>>zwÓ}Á]î‡Ì:ÌèáîNHH;£¢ýæ›þ¢¢¢èÔ¹³Ñ%-S{$nnnH$N?Ž›››Éç u^(˜¨¯gOŸæFj*Ïö胣#º›û€:­//Ü=<(,,äà¾}\¾xñ¶žsk{ûpölÚwè@ûvíôöé 2„Õ_}ųݺ!—Ë9zôhÙꀉ6kì WE;Ñ~ëŸ}ú)#ßxƒ~¯½¦ïW?ûôS³ÊÁÔ’uU}¸¹å~kØ’’DDÐ¥KFŽYëcÃúxúæÊY©V‹Z­æÛï¾cÌèÑÕÖñòç$$&R¿^=ýgsë»±ø­¬¬P*•8::–Mªoþæ´»òç$%%¬QÕõw«2û0ãì™3Y°p!;vì@­VSTTÄÒeËøáÇywÒ$“û[ÎÎÎ\¿~]oçââBîÝ™>cÙÙÙús{Â<g’xæ¹çprr2éG¡PÐõÙgI¹Ù˜Ó±WµŸİ¡C™;¾Þ^UT„F£Á^¡ÀÊÊŠ¤¤$,\øo8cñWc'ÚoÝ0R©”•+V¯T’¯T²rÅ ¤RéX¼YÎÅÅŨT*½Q«ÕÕ–»±¾^§Ó1vÜ8lmm™?wn­ 999ìÚµ‹ysç}èчqäða† ʆͪϮ®®tîÜ™æÌ¡°°ôŒ >_²Äüún$þÀÀ@œœœXýõ×h4’’’øxñb³Û««+:vdÎܹ‘™™ÉÒeËL–ÛÝî‡Ì ááá¬[³†/¿úŠàúõiÒ´)GŽáÇ={¨l²z{{3lØ0Ÿ~š zõض};:ŽeK—"—ËiÓ¶-þôxñEÎ?/:a±àîé‰C³;…/¯Û FÚÛÄ ôW²êt:|}}™5s&£Þ|ÿÀ@FFÒ³gO“3síDû­;baÏ®]ìÙµËl‘`N}ö ÀÛ×WofÍž]m¹›êë·nÛÆo¿ýF`p0~øðɧŸÖÊØ°mûv ƒ"#qwwכѣGsõêUþøóO³êóŠeËÈÎΦA£Fôxáú¼òJêû­ñ[ZZòÅŠlÚ´‰€   ÂÀ ?_6'MË—-#=#ƒú ò|¼Ð£2™ìžôC·×êȈ™;°lOsǺ÷î-Öö‚j8sú4 ±±íeOTO=ó >¾¾eK}7oÁ+_ò+ÿ_*•"³° =-{÷Ò㥗Œ>C´GÁݨ·Í[¶q±k÷n¦NŸÎ™S§þ“~(dÊÆ›3ŽR̺ÂÍÓÓ¬/’qóPˆ@ð0#·¶ÆËÛÛlÿȭ­EÆ =—._F«ÕÒ¸1‰II,þôS^èÞýžôC&…‚Túï®DVzº(5À¦n3“YX˜}ß¼L&«ÖOÅö(ÔF½uªn“Ÿ—LjQ£HKOG.—Óý¹ç˜6uªÑr»ÛýYBA ÔL(Ô6¢= „Px¸hÛ¶-Ùf¸ýI¡ •H ¨3BA´GAm×[Q§D?tÇBA¨M z}ì1®_¾|ן#Ú£ ¶ë­@ôCB(¢= ‚{…  @Ps¡pòØ1‘;AA´G@Pç„B‡.]DîfpõÒ¥»þ ÑÁ½ê‡Äz¦@ !@PÆòåËE&—cb(¸ù¿ @ Ð3zôh‘ ³±¨i€Ü¿¾çÆŽÉ”æ§")Û•D‚ÌÞ ÏÞóq|´§ÈU@ ê Bš6Õ¿ÊÎÞž†!!fý¢Êl¡ U)ù}j{*½‰U5'_Õ™TBç¥ 4“â¼BR¶'uû»4œ~©µB”Œ@pøãl<ý&o®dÿÝüþ´ $þûm‰Š?&„ð­¦ oŒŸDÓÐ0½ÛÐ×#h«<¯¿ mBÈKÍæâ»Á4þ8©ÕÝy#ÞéÓ§yä‘GP«ÕXXXˆR¬¥ü4õNsAÝ oÌÛÉ‚I/è㢷KÎây;ùâý^B,ˆ:]-Ë—/Ûʼ<ââðñ÷ÇÎÖ–‚ü|’ð ÀÁɩʰfQˆÓ–?m[2úíwññõ¥´Tæo7Яÿ«ÔoÔmø Róݸ~ôÇžcq¨¡[Çæô›¼™àîó+™F=±lËï¢0LPZZJëÖ­ ê¶V«¥K—.xyyaoo³³3]»vå?þ0»aÚ4i‚½½=þþþìÞ½[ïVTTÄ!CprrÂÓÓ“™3gÖ¨Uì#·lÙRkß×”HHII¡{÷º}@uîÆ˜0a!!!ØÙÙáêêJDDf•à>YQÈ¿p ]²›0ºa—¯^ÀÉÑ™Ÿ~ú‰?þ™LF‘ªˆ¼€–þµžÔSßâ×6„ܤ«ä_8€}“§*+›[NY*•J{ì1^}õÕ‡v +#.y¹¹ÜHIÀÉÙ™üÜ\ÒoÜ@&“áæáQãø²”j.ŤSq®üÏ…xbcãøxr|=ŒvÂCÞ_ǘ¾íêT=®+uÙ²eØÚÚØI$>ùä5j„­­-*•Š… Ò£GÒÓÓؼy3óæÍcûöí4mÚ”ŒŒ ôqLž<™øøxÈËËãÉ'Ÿ$00!C†˜•®œœœÿ4¤R)={ödàÀôïß¿Æîư··gëÖ­„……‘ÍÈ‘#yíµ×Ø»woµe ¨=îäŒBµ>†ÎZλ—ÚQ*S “Ê(Õ–"A‚L&ãwÞaüøñ(츺º¡}4µk(Éi¸7ô!eÓ›f}aÆáïïÏŒ3LÎZËíŒ.©(• 6 777œœœ£];Ã÷رc( ½2•¦ŠßeÆ 4lضlÙB‹- ¿¥¥%ùùùúYK›6mÌŽ;**Š&Mš`kkKëÖ­9þ¼>îÔÔTºuë†B¡ 44”Çßq~ Lãà舗·7ŽŽe§£#žžúÿk¤ìe|ýÝ>E'º‚¹té*ïz‰•œc—2+$RÔjã++W®ÔψéÓ§~ (((`ôèÑxyy¡P(hÒ¤ ýõ—Ñz ––FïÞ½qttÄÍͱcÇRRRb²îWW§ÍIcuuº*Y¾|9~øa%¡Ð²eKýà¥Õj‘H$ëýLŸ>%K–дiSÜÜÜ Ôû_»v-Ó¦MÃÞÞ___ÆÏ7ß|Sg몧§'#FŒ I“&·ånŒ™3gÒ¼ys$ ...¼óÎ;DGG›U‚ºAµBÁÖÖ–oV¯á«U«¹‘^6+JϼÁº5øfõlmm±°°ÄÒÂ{{{Ššõ£(-k{[tÊÕ&`É’%=z”Í›7ßöÖðaÃÈÌÌ$66–ÄÄDRRRxÿý÷‘Ëå=zT¯Ì•J% àäÉ“(•J”J%»wïÆÑÑ‘~ýú™ô_‘pòäI.U¸ kݺu¼òÊ+(Š*ÓT‘½{÷rêÔ)’’’èÒ¥ ÿüó¾óûõ×_ âСCúÿÃÃÃÍŽ{ëÖ­=z”ììlBCC9r¤Þ-22ÒÒÒ8pà6l¸ãüT1¸[XàâîŽìæÌP&“áìêŠL&«q\Z])_Ήdí¡fÅìH¤rkâÓ ÏÜKMïÕûùù±gÏòóó¹téyyyŒ5Jï>dÈΟ?¯o3»wïÆÍÍÍh=8p 2™Œ””Î;Ç‘#Gô“Saª«ÓÕ¥±º:]ãÆcÆŒ8šn ÀÁÁ;;;Ž=ªo“ÉÉÉ\½z•sçÎQ¿~}ÜÜÜ8p 999ÄÅÅ‘——g0hÞ¼9ÿüóÙi ÄÃáC‡ê' µÁݺGáìÙ³899U¹­¶wï^yä‘•àι«÷(¼fýïNOvN––V7—ŸddçdñÎÄ·‘ÊäHtìØ1¦L™ÂÖ­[ :žš““ÃÖ­[Y´h( &NœÈÖ­[Í ñâE^}õUÖ¯_oР«ÂÝÝ矞uëÖP\\Ì–-[wõŒ‚V M\]ËDKll¬A¸¡C‡bggÇ’%K ìMù¿KKKú÷ïÏÂ… Ù»w/ƒ 2;M¦èÔ© ìܹ“ððp$ O=õŸ|ò‰þ|ÂíÆ]Ž»»;]»veêÔ©’žžÎÂ… ï8?U,ÛÕâ…²Õm­…Q©Th4Ëå$&&2kÖ,ƒ™mŸ>}7nÉÉÉ\¹rÅä@|kýJKKcîܹU.+WWçªKcuuÚÍš5#!!Ó§OsúôiýÏOž"??Ÿääd>ÿüs^ýõjÓvðàAÒÒÒHHH`úôé¼ôÒKµV'«:£ R©ô‡OU**•ªFî·²téRÞzë-~úé':tèP£2Ü'BÁ{À Ò/'cáîA§ø¬_0>~>¨ŠËöC›†6¦¸XEq± Å™¯±É»€Ì݃ôËÉxXa4Î>úˆØØXý)êŠÀÊÊŠ 6ðÍ7ßàààÀ+¯¼ÂСCM¦qíÚµX[[Ó¸qcìííyòÉ'9{ö¬^™Ž3†6mÚàääÄæÍe7Úmܸ‘ƒâèè¨öܹsMú7ÆàÁƒÙ»w/íÛ·78 ]]šLaooO›6mðòòÂßß_¿Ê——G— ¯¾¸+²nÝ:²²²pww§sçΕ:ñÛÉOAƒt-žQ(VkQkjfŠÕÆ…B@@‹-"22{{{zõêUégÊ_ý5 6¤E‹( zöìiôwðålذââb¼¼¼hÒ¤ mÛ¶5ØkÚ†ÍIcuuÚ”€óòòÒ›rìé鉵µ5†iÓ¦áîîŽB¡à¹çžãé§Ÿ6˜\Ì™3N‡¯¯/AAA¸»»  ,À××Z¶lIÿþýÍúiä C¡PЪU+ÂÂÂX±âßþôìÙ³( }*ÿÿVwSTuFÁÆÆ†¶mÛê?ÛØØ˜í~kº ì b~~>ááá•úúêÊ@P7¸½¾P‡¤lf3w ?ìØAd…ÅWf´ÀÕG‡½‹‚’+—P9†×ò òõ±¶–c‘~Ç¿Wa{yƒFäg)ÉL–Ð`Öß"‡þ²êÊ•tïÝ[ÿÿÞÿý> »¹˜‘‘AJBžÞÞ89;“•™Ijr2^>>¸yx ³°`Ç–-<ýì³Fã¯Øƒ»Ïgö»ýHÌ(¬QýÜl™¾ð;®ý0Y˜@ðöCZ®ìï-ÿK¥Rd•ú¡)7 ëJͻ¹Þpq¢?º/CB±H¿ü·I¸æ–Åc〕³²PrS²¹“JãDÉ ”QÐi4ØW8£ --½­3 –2ò Jps¨Ùl+¿ KK™( @PcÌ R+k/¼ÆåÙ­ÈŽÁ;4ëF†‡“Šó Iø#类 ¯Ýµ÷<÷]#»yF¡\É—ŸQ¸{CƾöŸ­úµ¦fÛ–2Æxâ¡ËûøøxBCCº½÷Þ{L›6í¡L—x׃ Ö…€ÔZAã¹Éýë{wL¦4ÿJå×L¿ú•xÍ´@pÛ¯cûµa&•®ŒéBˆÁÝ å8>ÚSˆ@ ê8¥Ù+—U®–ЬàÁ#çæÏÍA™—‡D@ ÀÝ{׃ î ®×ྛĄ“«B(ÁC†8£ðp…„¸8 Ìx·HQa!ׯ^EfB(Xˆìê>Ù5XB‰D‚­ ‡ä‰N°1q—ª¨ˆÇãèìLÞÍ@ 0ÜÝݱ°°`ÿ¾}üý×_dgd”½T­´”Üœ.ÅÄðÛáÃÈ­¬ô·×xEáÏß9-TA›vâ§Š‚ûÕ«W3lØ0‘n®®+dܸA|\š›oeµ´´D¡P„­­m•/ü³ @ <\‘ðp!—Ëñðð@*•"•ÉÊþ–3^N'¶@ ˜Dfî3N^HføœÝ•ì¿úàZ5ñ$„Pf‘0ié^Lz™@½}\r“–þÀ¢±O ± ¨–»}Fáüùó<óÌ3ÄÅÅ!“‰—‘ ¡ *Q[W§ÞÊð9»yoÄó¨aϱ8t€¨çmϳZ]i€²—BèÝš¡/¶…#0*Ξ=Kçαµµ5°?qâ^^^5Š?44”ÄÄDƒxÓÒÒ°°CŽ (»:ÕÅÕÕ,¿U]jŒ,¥šK1éè*Øýs!žØØ8>žÜ_O'£bdÈûë„PTËõë׫Ð5ð2Ìšòüq6žàîó+™?ÎÆ‹Œ4ªÚº:µ’²—Yðõwû8}œè æÒ¥«¼?êy$VrŽ]ʬdHQ«¯\0nÜ84h@PP£G¦¨¨HïþÅ_дiS||| ×ÿ>dœ={¶lÙBëÖ­iÔ¨Qµõ¦`÷îÝtèÐüü|âãÅá~çvÎ(s`jOôVzôèAýúõõ*rêÔ©ìÝ»×ÀÏ¢E‹pvvF.—3bÄŽ?.JNðÐR¬Ö¢ÖÔÌ«M·ÇåË—#—ËiÓ¦ þþþôèуóçÏ—µc†>úˆúõëãïïÏÖ­[ùꫯD!ÜçÔÆeKU՛иøø0|øpÂÃà bûöíøùù1{ölF…¿¿?¼ôÒKáV¬XAFFõë×çùçŸç…^àïfQ¨¸: CÇßgbùãäÚ´ à»iÛª -š×Cróáæ®(DEE±`Á.^¼¨ß§ºõ°£§§§þ³B¡ ¸¸X”œà¡E¥.­ñª‚JmúR'…BÁ'Ÿ|Â'Ÿ|RÉ­~ýú•„»àÁ$,,Œ,#geLÙWUon ³`Á,X`àg̘1Œ3ÆÀnðàÁcçÎúÿwíÚe0ê˜P(ßßÌÍUòË¿x©{þ‰¹®ÿ}ô,—c“xæ©GqtT˜µš––FŸ>}øöÛoyá…ËåDGGÓ¹sgQ2,-dä”àæP³m‹ü‚,-ÅlLpÿpéÒ%´Z-!!!$&&òñÇóâ‹/ŠŒ©»+ e³—Ÿö'¤aö6ì=x’"U )©™´kJ~^?üò'ýût1kÆ£R©Ðh4888 —ËILLdÖ¬Y¢T ïÕšÏV}ZSZ£peW8·(îþ»jƒÜÜ\FŒAZZr¹œîÝ»3uêTQxuU(”ܳl¦¿vÓÿ Ü‹ŠJØè4ƒã³ñô›¼¹’ýwóûÓ6,@d@ BA x˜EÂóv²`ÒËú¸èíã’³xcÞN¾x¿— ‚jY¾|¹Ø~˜Øzî#úMÞ̈¾OQ †=ÇâØ},Ž=Çâ(PC·ŽÍé7y3ÁÝçW2z.bÙ–ßMÆ{öìYúöí‹§§' …wwwžþy~úé§»êOpo0%ŠŠŠ2dNNNxzz2sæL÷ß~ûvíÚagg‡ƒƒÝ»w'66Öäsª‹/%%…îÝ»ãêêŠD"©6Ý&L $$;;;\]]‰ˆˆ ##£ÖžW]x!Á}A–RÍ¡¿â‰OÉ&!%›ø”lví?ÇÏðñä>|ûéðJfÍüA,ùö7£ñ9r„Ž;Ò¾}{bbbP*•\½z•×_üñ®ùÔ=&OžL||< üõ×_lÚ´‰5kÖ T*éÞ½;½zõ"''‡¤¤$<==yõÕWo+>({çOÏž=Y¶l™Yé³··gëÖ­(•J._¾ŒJ¥âµ×^«µçUþaEâöúB’²w2ÄÌÀ;v9jŸlü[RzóµÑÞÎüßÇqs²3ˆèF–’Þ6œ– €L&åÍWÛóÎÀ'Dë<Ь_¹’î½{ëÿ?øóÏÖ«g¨È¥R¤2YÙßrSáÿNŸ¦cx¸Ñø+¶Ç†/~ŒVWŠVkøb4[kK¦y+[âÓ +ÅñXNX͵&Wr{ôÑGéׯï¾ûn•ß³¶ý êZ­ggg¾ÿþ{ž|òI–-[Æ–-[8|ø0—.]¢qãÆ(•JììÊúÿ?þøƒ.]ºPPPPãø*rúôiyä‘¿ðï÷ßçÉ'Ÿ¤¸¸øŽŸW“ðC?2ecY ]iõgVmÿIoöBf!£T£á« ?óêà1¸YçøKU¹¡sjÎûc_FzÓï'+¿¿'B¡¼¨Õjƒ7O ÷}g®+åË9‘XÈ*×ë¹*£"@Sj¼¾qã§N"**ªÊçÖ¶?Á½ÅØ…¸¸8òòòhÑ¢…Þ®yóæL›6 €úõëÓªU+>ÿüs&L˜@QQ+V¬ OŸ>FŸQ]|µÁÞ½{yä‘GjåyÿEzïWªEKÔ¥è€ßÏ%ñ÷ñ3tnéÃè>Ïáéé‰VWŠN§E«Ó’›—Ë¢ 'øú»_iÚ"”æÁ.”yÕtù ngg‡D"A&“L·nݘ0aîîîBD&g}:H9u-»Fá4Z­Qûòý]½Ý®]»ˆŒŒD§ÓQ\\ŒJ¥ªu‚{‹±3 J¥@¿Z P(ÈÏ/›Êd2vîÜI·nݘ>}:¥¥¥„‡‡³gϣϨ.¾;åÇdñâÅìß¿¿Vžw·Ó{?cÖ…œ\%ýñ7̓­¨gŸÈ¶m[Y¶l)+–¯à‹+YõÅ—ìÙó=íZ¥àç•Çß'Ï’›[Puœ99äçç“™™ÉúõëÉÈÈ yóæ\¿~]´b ªA¿TWkaÜÜÜHKKÓÛ½øâ‹äääpèÐ!Š‹‹ïŠ?AÝC¡Pl#(•JìííËêFÃsÏ=Ç€P*•dggãëëKDDÄmÅw'ìܹ“ˆˆ¢¢¢hÕªU­<ïn¦÷ Á¾®lÝyˆÎ-Ba㜾8ªÎ0ªW(öÎÿ.ÉÄ\:Ï•«—¸zí2:ŽgÎN¥ùâždŸeÄ+ÁØ(ϲ᣾5JLDDûöíÓÿ?lØ0233‰%11‘””Þÿ}xçwØ´i………\¸p§Ÿ~ºRœ»ví¢gÏž¬]»–aÆqôèQýІR©dÀ€ 8™LFJJ çÎãÈ‘#̘1à ®_~ù…óçÏsõêUΜ9ÃôéÓEï"¨UÔj5………¢V«M¬hocEÁt˜%K–0gÎ>ûì3²²²(..æøñãwÕŸàÞaì]R©”AƒñÑG‘ŸŸOrr2Ÿþ9¯¿þ:þþþØÛÛ³lÙ2Ôj5ùùù¬ZµŠ°°0ãƒK5ñ•£R©ô“2•JUåÖÔÒ¥Kyë­·øé§ŸèСC­>ÏÜðB(ÁÇÝwë<\ÜÐòoÇe-·ÆÆÆkkNGJi¾¸'g&|ÏÉgÇce#ÅCžE€—SãááAff¦~ ߺu+‹-ÂÁÁ…BÁĉÙºu+r¹ bbbÈËËÃÁÁæÍ›Ä÷Å_0fÌþ÷¿ÿѵkW“ÏÍÈÈ`ïÞ½Ì;[[[<==ùàƒظq£¿Ù³gckk‹‡‡|ð›7o=Ž V±´´ÄÆÖ[[,--ú)VkQkjfŠÕ¦…B§N8tèGŽ!$${{{ˆŠŠ2˜-Ö¶?Á½ÃÔ= ,À××Z¶lIÿþý2dP¶w¿sçN¶mÛ†££#>>>$&&ôƒgÏžE¡PPZZZm|娨ØÐ¶m[ýg“ñ7Žüü|ÂÃÃQ(zcNúÍyž9áFÌ>ͧ֔ Öþ»Ô.—˱²’ãý2^7EÂ_Ͼ…ÜǃMÑm%æÆ¸ºº””„N§£uëÖzwN§Ÿeyxx°mÛ6–,YÂĉiÞ¼9óæÍ£S§NzÿsæÌaøðá§X‘šš @@@€Á2T¹}9Ýýýý+¹ wŠÌÂç›mÀ*uiWTFW¤eË–lÛ¶­ÚxjÛŸ naccÃÚµkMº‡‡‡sâÄ “îaaaúCæÄWÞ¯›_u?Ÿ¼Óç™^¬(!.%‡tµÅjmÉ¿ ÃÂ+K+F_£Ùìñ{¹¯':©–bŠ,µ Ééy5J̦M›¿ùNOOO$ —/_&''‡œœrss Î(¼ôÒKìß¿ŸŒŒ ž}öÙJ8p€uëÖ±`Á½±Û¸<==ˆ×ÛÅÇÇãååe௢{BB‚>œ@ðŸ­8XÈÈ/(ÁÍÁºF&¿ KK™È@@Pû+ ƒgl#Q]ùkOң˿[îne?JLLD"‘`uy.:‰­NúIÄ×#rÚ6ö­ZeüZ­– .°dÉöïßÏï¿—]3ëææF¯^½˜4iŸ~ú)ÎÎÎúó]»våÚµk\½z•N:aii‰R©¡îiذ!ÑÑÑtéÒ…¢¢"fΜ©_±ˆ¥Q£FeßÅÝ®]»2uêTÖ¬YƒR©dîܹúó åÌœ9“¯¾úŠ‚‚æÍ›GÿþýE ü§Œ}í >[õ=jMiÆøâò3Aâ]‚Z ד2™ñN¶ï9ʦÝyt ²fÁ¢¹•üÙ9YRª+äû-ÉÉ‘3sBf|lzéÑÉÉIBPPÏ<ó gΜ1˜¥¯]»–I“&ѸqcŠŠŠðññaÔ¨QtíÚµZÍÔ©S9wîZ­–Æ=3Dtt4ááá²páBÆŒC›6mX±býû÷gÆ Œ5 ///,--éׯ³fÍ2ˆ«k×®„††’™™ÉË/¿ÌìÙ³E Ô*¥ ù¹e·›Ú;:"»å®±ýÚ1¶_;‘Q‚;BˆA­ €óñ9¼Ô­ ÛüãÉj†½ÚèæEK´ºR4Z5Z­†ï~È#+Ë–¡¯væÌuã´lÙÒìk:íííY¹r%+W®¬äÖ¨Q#Ž;fÖ3üüü¸xñ¢þÿ¥K—²téRƒ0^^^ÕÞ&!¶î*å¿z°¶µ­$ Î K ×’3ÉÍ+$ü‰¬Úø ×þ>§Õ Ùjg®7`ÂíKèE IDATÈ'ù#&¸”\,-Äž¨@PÊõPþY ê¼PùÊã|±õwJµZ~¼ÜØòñ|¼Ü o«ÊÈ) ÷„ |¼²ì:O™TʯŠ%R &˜ó«àNgµ*&DtdBDÇj#rs²#úëQd&Õd»D ê:B$jU(‚{Ovv¶È@ „‚@ð°Sݯà¿F*²@ ¨;˜ó®àNY½zµÈÙˆéŠ@P‡¿zü 6Ld‚@à~DüêA ¡ ’>gw%û¯>xVM|D !‚‡Y$LZº—“^&ÐÇEo—œÅ¤¥?°hìÓ5 gÏž¥sçΤ¥¥añœ<þ<Ï<ó qqqÈdâB¶{ÅêÕ«ÅöƒÀlÄaFà>bøœÝŒì×…5ì9Çîcqì9GžíÔ‚ásvóèÀU•LÛÁ«ùz×é{žþÐÐPïŠHX¾|9íÛ·7°ûè£pqqáòåËz»3gÎàââBzzz­§áðáÃ<ÿüóÌ€¸té’0sqq!<<Üàn–rûÿ S"A¥R1fÌ‚‚‚hܸ±Á›w¡ì:üŠÆÓÓ“€€“Ϲqã}ûö¥~ýúF¿ßÔ©SiÓ¦ ¾¾¾Ô¯_ŸQ£F‘™™i2¾êüW—þêܯ_¿N¯^½ð÷÷§iÓ¦|öÙg¢ÓBA ¸ÿÈRª9ôW<ñ)Ù$¤dŸ’Í®ýçøñà>žÜ‡o?^ɬ™?ˆ/wž¸§éÖh4w5þN:c ¢££iܸ1ÑÑуy“&Mpww¯Õç8p€2|øpbcc9þ €R©$&&†qãÆ…èèh:uêÀÎ;éØñß›g'Mš„‡‡J¥€-[¶@zz:‘‘‘Ò AÞ{ï=JJJ f»ï½÷½zõÂÂÂÆŽËsÏ=Wiæ:yòd>üðCý Àn¥°°Pÿæ\???Ú¶mËßÿ}Wë–V«eóæÍLœ8…B··7#GŽ4Ho}GGG3hÐ “qº»»3hÐ 5jdÔý½÷Þ£iÓ¦H$œ=z4¿ÿþ»Éøªò_]ú«s¿ví.\`òäÉÈårœœœxçwX·nèwªó R©1l$X[Û¢RVé?##7774 _®^U§¾ìÙ³gi×®¹¹¹bTp_¢Õ•òåœH,d•›î\ñéÆÛ§¦´ú+Èúé'Þ~ûmV­ZEçÎ7n%%%œ:u ©TJdd$³gÏfÞ¼yôíÛ—™3gCHH6l wïÞØÞü‰'ÀÁƒ9tè2™Ì`  œ¨¨(~þùglllxë­·xûí·ùñÇxã7pqqáÊ•+0pà@“é—H$tèÐÇÓ»wo~ÿýw}ôQÂÃÙ>}::ŽÒÒR~ÿýw @ÇŽ>|¸¾ß:tè9r„nݺ­Ï‹‘#Gâàà@LL J¥’>}ú0þ|¦OŸNZZ.\ gÏž•ÒÕ³gOÆg`ÁÚµkùì³Ï˜2eJ¥0£G&33“ƒâííMll,VVVµVŒQHHH ??ŸfÍšéíš6mÊܹsƱaÃZ´hA‹-juU&,,ì¶üW—þêÜË·‚*n ét:Î;'VÌY.´°°@¥R¡ÓiQ©T¦¨¨ˆ‚”J%ùùùäçç‘“›ƒöf£¼•Ó§O#‘HP(ØÛÛãääÄ#<ÂäÉ“k´gXOM–3ÃÂÂP*•wU$ÜNºóg}:H9u-»’IÎ*2ÝŽµÚ*ãýæ›ox÷ÝwÙ¾}»~`ÌÍÍ%**ŠY³faoocÇŽeçÎ899ñâ‹/²qãFý,8**Šˆˆƒ¸§L™‚ÖÖÖFŸ={ölœœœËå 4ˆS§Né'‡âƒ>ÀÆÆ777ÆŽ[å÷èܹ³~E!::š'žx\\\8wî§OŸ¦¨¨ˆ:àææF“&M8|ø0)))äååñúë¯ëW Ê…Bù =mÚ4lllpwwg„ lݺ€¬¬,}|·âææViß]*•2gΖ-[Fbb¢[vv6»víbáÂ…x{{P¯^=üüüj­[Þ/((0yvvvúÕ•[Ç…M›6U¹šPSöîÝËòåËY´hÑmù¯.ýÕ¹Ó°aCæÍ›‡J¥"++‹O>ù„üü|!Ìò%‘ ÕjÉÊÊD£QS¢.¡¸¸•ªˆ"UQ™h(.ûlkg‡JUDi5eNNùùùdff²~ýz222hÞ¼y¥½<@PóÕš†Y¼x1¯½öšÁl+%%NG—.] "((ˆAƒ‘——g03Þ¶mjµš¨¨(üýýiÕª•AÜåƒ)*ž°³³£¸¸@?qðõõÕ»Wü †‡ë ìœBll,III>|X¿­Ð±cG>Ltt4-Z´ÀÁÁAG§N8xð ^tîÜ™ƒrõêÿ·wÞáQmÿí•ô„”K'H‘Ò›`Eº ("***( *EEJ®((* "-¡IOHïwI.Wöû#¹5GÊ%B€ù=Ï>·7}gvßyçÙÙs$%%ѪU+”ü æms÷Ëßû"))©H+«··w!÷Ž;Ò¥K&OžloŠG–ejÔ¨Q¡÷•»»»¢ðT<<< …ݵkƒ¡Äõ eaÛ¶mŒ1‚5kÖФI“ë ï¨üŽü%IbíÚµœ;wŽzõêÑ£GÚ´iS¡‹LokEÁb±`2™òƒrr²óƒüóûs‹Å‚ÕÁƆZ­¦aÆ,[¶ŒN:1qâDÅoÑ¢EÔ«WOOO|||èÝ»7‰‰‰Feu³··7Ê<“^¯gذaèt:¼½½2dˆrc\;ÚŸ={6U«VÅÍÍÐÐP>ùäæÎK«V­ìÊùçŸâåå¥h¥EŽÑrmÞ¼™{ï½wwwî»ï>"##ùþûïiذ!nnn4oÞœ“'OŠžò.Çb•Ë=ÎÖ­[Y·nsæÌ±ëÀ%IâСC\¼x‘‹/réÒ%®^½ª„iß¾=^^^üðÃ|õÕW%N ”›Q0¿‚ç`¿¸ ""‚ÐÐP¶lÙÂùóçiÖ¬™RÎß~ûß~ûM±˜´BìÛ·OQêׯORRß~û--[¶ÄÅÅE)KÁÑtt4JYëÕ«Ç÷ß_è:¾ÿþûBy´¦lß¾ÿýïŠ[`` ’$Uø ),, OOO;S{dd$õêÕ+våÊ•ôêÕKé|o„¯¿þš×^{µk×Ú­)kxGå/ÍõEDD°iÓ&.\¸Àü‡‡mÚ´ŠB©„ŒÙŒ“³3Æ\c¾2“oI¸æÜ˜C®)WW7rM¹e.Ì Aƒøé§Ÿì4ömÛ¶‘™™É™3gÈÈÈ`Ĉ8;;³ÿ~Å2¡×ë8p bRKNNæüùóDGG˸qã åuåÊÞ|óM¾úê+²²²8yò$>ø RŽcÇŽÙÝP_|ñýúõÃÝݽظ7Z®õë×óûï¿“’’Bƒ èÞ½;6l`ß¾}¤¥¥Ñ¸qc^zé%ÑSÞõk¹Ç©Y³&Û·ogÅŠÊÂ;???ºwïΤI“HKKSF»¿þúk¡çvæÌ™>|˜>}ú”Ûuêt::vìÈ´iÓSð¼yóÆëر#sæÌá¾ûîS¶Án×®û÷ïçÀÊBFmÛ¶%&&†mÛ¶Ñ©S'$I¢}ûö,X°@ «ÓéèÔ©S§N%;;›ÄÄDfÏžMïÞ½•t¦L™ÂŒ3Ø´if³™œœæÍ›ÇÖ­[yûí·‹­÷aÆ1}útÅÍÇLJ'žx‚±cÇ Èò¢¨o=¨T*ú÷ïϬY³ÐëõÄÅűxñbE†TöîÝ[êi£Ñ¨|·Äh4*#€%K–0~üx6lØPhpV%…wTþÒ\ß™3g”Üï¿ÿμyóxë­·„¢Pš@’JEvV:¿Ìs¡é†œ|k‚Åj%$¨*™™¨Ue_`7—×½{w"""}„ ìÞ½»Øøiii¬_¿ž™3gâåå…‡‡£GVæ âììŒF£áÔ©SdddàååE£F”µW¯^|ùå—Šyjýúõ<ÿüóãÞH¹fΜ‰ÎÎÎ >œ‹/òÉ'Ÿàãビ“/¼ðýõ—è)ïrŒ&+&s٣ɱrQ­Z5¶oßηß~ˤI“€¼½ œiÙ²%aaatïÞ¨¨(»xýû÷çÔ©S<òÈ#Š ¾¼X°`IIIDDDðØcÑ£G‡kŒ:vìHBB‚ÝhÓßߟdY¦uëÖvá=<†@B¨{Ͻ$$Æ‘”œHvN6²UÆÅÅ_Aœ¿ð/Wcc .saâããíÍæÍ›™1c§OŸV¦3ŠZXc#&&Y–iÑ¢…â&Ër‘_á `Æ Ì;—Ñ£GÓ¨Q#¦OŸ®†aÆѷo_>úè#6lØ@xx¸¢Á:Š{½å TÎ]]]‹t+¨ îNrL–2[rŠy5²aÆÊB<€;3¸‡‡Ÿ~ú)Ÿ~úi±iûúúâíí]hãµi_ëæÈßVÛâI€-[¶Ø=EÑ·o_úöí[ÈÝfí+Š]»vÙýý“O>Q¦C+ æÏŸÏüùó‹ 3vìX;© ¶ µ ríõ–Ö¯¨ô…wT~Gþ£FbÔ¨QBÈ”UQHHJÁÅÙ…Ÿ÷ì¥M›VÄÅÆF­š÷àêš·z4;;‹¤äDüƒ¬ì,üuöm;“”R¦Â|õÕWÊ;Ë ôîÝ›uëÖÑ£Gœí^UºV·uª’$qöìÙRm¦Ò³gOzöì‰Ñhäã?¦OŸ>Š©¯sçÎT©R…mÛ¶ñå—_*ÖGqË£\A±J»FM¦!—K™âerÑjoÎÛ>_ý5žžžtîܹÜÓ>sæ V«•ºuëͬY³xüñÇo‹¶jРëׯç?þÀh4âìì,n`Á©(˜ÍfT*cÇŒ/6Œ««aUà «Àƒ] #Sï°V«•“'O2wî\öìÙ£lž‘““ƒÙlÆËË ggg¢££yÿý÷•x6ËÃùóç•Íù$cÆŒaöìÙøøøKddd¡a.\¸À¹sçèØ±#Z­wwwT*U!óÜ|ÀÉ“'Ù¸qc©âÞh¹‚’xáÉ|¶ø{LfK™âi5j†?Õ¼ÜË««+ .,ôü”ééé >œ„„œéÖ­&L¸mÚ«eË–´lÙ²Ò•K|ëAP®ŠÂù‹—™;o6ä”ÝÜÜIOOÃYë‚•e_A9ÞGBI”I÷ÜÇ2RžIòÔ´¼W›¶oÜÈà#hÕ±:oO’ÓШU¸8;¡uÒ¢U«qÒjP«U˜-VL¹frrsÉÍ5‘“kÂß· ©þüõ—Û¶r, !!!¬ZµŠ‡~XÜ-‚"YµhÝžzJùÿË?^³¦]•J…J­ÎûµþŸ8r„ùÓnײ}ãFz1ç.6¶~óM¹Ê¡ºãó×ãÈÇUþœ{€_ž@¥’PIRþyÿµN45’»+&³Y–K½—B¥íV­ÂËËKymR ‚» ‡ŠBXµ0._ºl·ÿ5€U–%¢ ZI’0™-4nÜè¶­???ÜÜÜXµjÕM™{‚[…X£ (WEaýêÕweÅ”ç;Ë@P™J‚ \@pëñññ• n ¦.@( @ È£¤¡(Á]Î+¯¼"*A @ 7ŽXÌ(Üf8~™~c×rÿú£´jXMT@ (W„EA ¸Í”„—¦obƘ^|=ûå˜1¦/MßÄã—˔ޑ#G$ ³Ù\!å?~ü8vŸ!¾̘1???<<<ì¾–YVlõw+êòFkBQîPú]Ëð¾÷c0Á¶¿.±õ¯Klûë<Ü¡ýÆ®¥F· ÷<1“yßüyËËß°aCôz=juùÉ277—Æ3yòd;÷·Þz‹–-[*xrr2ãÇg÷îÝèõzî»ï>öîÝK‡ðòòÂÇLJ'žx‚“'O–{9=ÊSO=…¿¿?îîîT¯^‘#G’˜˜XaíPÜ…ììl†Š··7…êò÷ß§M›6¸»»ãååE·nÝ8þ|‰y½õÖ[Ô­[wwwüüü4hIII¥öEA ¸ã0]³‹©#dYÆh2•:|ŠÞį‡/s96•+±©\ŽMeËžHvürŒYc{³nö …Žå=ËÜu¿ßÒz¹Ù#m'''V¯^ÍÌ™3+ÁÞ½{Y¼x1«W¯F£É›i‰‰ÁjµÒ¨Ñ;ÇþøãôìÙ“‘#G’’’BLL íÛ·§}ûö;²°ÿ~:uêD—.]8wîƒ}ûöáååÅÁƒoù½;vìX._¾Ì•+W8|ø0_}õË—/@¯×Ó­[7ž|òIÒÒÒˆ‰‰!00>}ú”˜¦§§'ëׯG¯×söìYrrrèß¿©ý·^ EA ¸ XÊðcn.¥}¤5j _|ý¿îûû gΜc܈ǜœùëLr¡I…ÉäØÜðàAªV­ÊêüYõz=Æ C§ÓáííÍ!CÈÊÊ`îܹ´jÕÊ.þŸþ‰——ƒA1ů^½šÚµk`gž·oÞ¼™zõêáææF‹-ˆŠŠRÒ»zõ*=ôîîîÔ¯_ŸÏ?ÿ\1õE£F˜8q"ƒ "66–gŸ}–>úˆ:uêðÓO?Ѻuk ï ¶ʨvÒ¤IôíÛFƒ››cÆŒáñÇ·UÇÅÅñðÃãááAýúõùí·ß •aõêÕT¯^OOOž{î9ŒF£â÷ꫯ2~üxFމ——÷¥ÜiӦѭ[·[zÏZ­VV¬XÁĉñôô$44”×_/¿üRi‹ŒŒ ^yå´Z-žžž¼øâ‹­.“'O¦Q£FH’„¯¯/o¾ù&ûöí+µ¿àÖË¡R-f̦M›nùý9þüBÓ—.]"##ƒÆR¼"""hÞ¼9sæÌá­·Þ";;› ØÕÛñãÇéСÉÉÉÅʱݻwÓ´iñ}ƒ#AÅË¡Rõ¢¿üº‡W^z5ßlwN‡««+’$¡V«qrrb×;xäáÇØõÃ""j³qÓ‡ŠÂ˜1c˜5kÛ·oç±Ç«”]QJ‡mî¶`ž6a«V«i×®sæÌ¡víÚâî¿ HKKÃE«Eåàž±˜Í$—a>Öj•ARñÏ…Ô2•Çì`d±páBfΜɮ]»”Ž"--õë×sæÌeô;zôhÌœ9sðññ¡W¯^|ùå—|òÉ' Ö¯_ÏîÝ»íÒþðÃñðð(6ï™3g*[T>\QRùùçŸ9{ö,nnnÊ(ÿÉ'Ÿ,ñZT*:t`ÿþý :´D ü÷]—€€€B~ÊÚ¤¤$vïÞÍ™3g”ò¼óÎ;<ýôÓvq>øàÅÿÝwßåµ×^cÆŒJ:EåSѵFÁ& *ydff*rhÓ¦M<üðü÷Þ{X,ºvíʶmÛìäXZ ÎŽ;øä“OسgÏuù n*õÔCRr2ó~Npp0˾\LvN6GŽþÃÎv––FÇÉÊ2P£zD‰7ŠÜÜ\V®\IãÆY¶l™hÑbY¯×séÒ%0`€¨”Û„ªááÄÄÅ•húËÍÍåôéÓT +[§o)»UÈQœ©S§òì³ÏÚ&cbbe™-Zàíí··7O?ý4éééJ˜aƱfÍL&6l <<¼ÐtDhhh‰yÚuL6S}||<aê'욺òððPdÞ¼y¼ñÆŒ=Ú¡<Òét$$$òKHHP”˜¸¸8 oªÀFxxx¡8ýÔx¶|*rÑbY°Õ¡Á`°S<==óî!³™G}”¢×ëIMM%44”Aƒ•*ýM›61hÐ 6oÞLóæÍËì/¸ur¨ÔŠ‚J¥¢ÏÓýY¸xÝ{½^Ïšµ_1oÁ¢NE’’šDRRžyÐÇÛÛazßÿ=²,³dɶnݪGþEiÊÅͳ–ÕºàhNÕ`0ðÊ+¯„‡‡õêÕãðáÃ¥N»¨_ÞÞÞ¼ôÒK;vÌN€=õÔST©RNÇ«¯¾Jnn®â_š¹TÁÍ£QÓ¦„„†réÒ%âããÉÉÎVü²³²¸rù2§Nž$0(ˆ{ tÎ¥Áb-»¢à(ÎÞ½{Y¹r%3f̰ëÀ%IâìÙ³¤¥¥‘––FzzºÝ³Ó¹sgªT©Â¶mÛøòË/yþùçË­m Dtt´âVðÜölÛ€¬¬, ĤI“øôÓOiÔ¨#GŽt˜Oƒ ذaC!¿ 6([y._þïÔ‚çE¹]¹rE‰H³fÍøúë¯+å=Ž———œ9vì 4àßÿ%22’Q£Fáââ‚··7/¿ü2[¶lq˜öªU«xþùçÙ²e ÷ß™ý·V•ZQøëÀ~®\¹DË­8pðO-Y@‹f-èØ¡=^^^$$Æ‘–‘Š»»;’Jr˜Þ’%KèÛ·/-[¶¤V­Z¬X±¢PÛ\ß¹sç8vìï½÷^™ü Žz’““9þ<ÑÑÑÄÆÆ2nܸë®|Ûœjjj*õë×çÅ_Tü†JTTÿý7z½ž­[·*#‰ë%%%…… ÚiÙÏ<ó jµšØØX"##ùã?˜4i’â?xðà¼vIH`ïÞ½Êâ4AÅ IÍ[µ¢}§N8»ºsõ*§N"**Š‹/"i4´jÛ–&Í›;4¶XË\Gqj׮;}ûX¼x±²xO§Óñä“O2fÌRSó¦:bccùé§Ÿ =_|ðä™gž)·:ô÷÷§K—.Lœ8‘ììl’““™5kV‰qFM`` o½õË–-cçÎ|÷Ýw%Æûä“Oxÿý÷ùæ›o0›Ídgg3kÖ,6nܨÈxà&L˜@VV‰‰‰|üñÇ…Òš *•ŠgŸ}–)S¦™™ÉÕ«W™3gÏ=÷œbñôôdÞ¼y˜L&233Y¼x1 6,1¯Ï?ÿœQ£F±s$N IDATçNÚµkWfÁ­—CezëÁ`ÐsùÊ%óLtõê֥ד=ÙþÃÞùàsÞš8‹3ÿžÅê`3•óçÏóóÏ?3pà@ À²eË -´³Íõðî»ï²víÚ2ùÃó¬3gÎÄËË FÍúõ믻òmsªÎÎÎ >\y+%%…o¿ý–yóæ)æÖZµjÙ™"Ë‚ÍR¿~} ëÖ­þ›+6mnnnòî»ï²fÍšbýßyçñÔÜüèpÿýôxê)ê)zôìÉ#=zкMüüü®+M£ÉŠÉ\¶Ãhr¬\T¯^}ûö±nÝ:Þ~ûmV¬X‹‹ uêÔÁÓÓ“Î;süøq»xC† !22’Çü†•âkY¹r% èt::tè@¯^½Š]$·k×.Ö¬YÃÊ•+Q©òD[HHóçÏgĈÊTFQ<ôÐClÚ´‰yóæáë닇‡³gÏfß¾}Ô­[×®<)))øûûÓ©S'E†ä ~ýúÔ¬Y“úõëóÁ(~íÚµcïÞ½üôÓOÔ¨QÚ·oOFFF¡)››Iqû(̘1ƒÐÐPÂÂÂhÒ¤  `èС@ÞÚ…M›6±aêT©BHHÑÑÑvr·¨ µ^{í5233éÚµk‘SEŽü·^Ýð꼄ÄD¦Í^E×áœO²ðÁ‡ÓX÷Õªã|ñÅÔ¨Qƒ6mÚ(ŠÂ{ï½ÇÞ½{éÒ¥‹®¸¹¾Òúƒý<« Y–1•á½õâL¢`?§‹,ËÔªU«\7))©È”ÅÍ•ÚÜK;—*¸=É1YÊlUÈ)æÕÈ&MšØ)èU«Vµ{3ÁÓÓ“E‹±hÑ¢bÓöóóÃÇǧдõi_ëæÈßVž‚Œo¿ý–ààà"ËñÈ#‘‘QȽ_¿~ôëׯÄrtéÒE‘?G¥S§NDEEÙ­Û )´XóÕW_-”®­s-®Î7nÜX)ï-WW×"­»6ºvíÊ¡C‡Šõ/¸(» ¼- ñ&Våçº÷Q­2F“‘ììlL9z=ð'AUk¢Õ¨Klx³ÙÌòåˉ‰‰!((ˆ   Úµk‡$I,]ºÔ.lqs}¥õ·uêŽæYË‹àà`$Iâܹs7µÑŠ›+ *Ñ_pû£Õ¨É4ä¢ór)Ó‘iÈE«Uß”2­Zµ ///|ðÁrOûäÉ“DFF*÷ð”)SèÕ«×M¯çƳcÇ.^¼XìÚ'ànáº- 22ÎÎ.x¸{òî›C˜¶j/YY‡éùPÉæ³mÛ¶‘˜˜Èßÿm÷šÐÎ;y饗”W• o®oéÒ¥ †Bs}¥ñûyÖÙ³gããã£ÌëÛ)•×+¾¾¾ôîÝ›×^{U«V¿ÿþ‹““ÓuO?iF*0Wº|ùrôz=Ó¦MSÌ ×ú †"çR·¯öoÏg‹¿Çd.Û·´5¯l_îåñóóÃÍÍU«V)æþò$--³³3={ödêÔ©R×mÛ¶¥mÛ¶wä}TÔ> Á + 5j‘––· Iç§£oŸ~X-V45Ï èÏàý‘$ ‘–^üëHK—.¥OŸ>vÛ§BÞâ»É“'³jÕ*eÕ«m®/99™^½zÙÍõ•ÆßÆŠ+3f uêÔ!;;›FŒ¡( —/_¦E‹å²OÂ_|Á˜1chܸ1ÙÙÙ„‡‡³zõjªU«V®›*­^½š#F„V«¥_¿~¼ÿþûŠÿÊ•+yöÙgñ÷÷'<<œ—^z‰ˆ;¾ÉÎÎfö§ŸòÊÈ‘¸»¹Ùù -^Ì믿ŽGþëg¥RúµáÕ~m*Í5TìomÚ´)×-”y%AÈ¡²È¡RõŒYYYü´çGèò Á!Áè zÖo(ùŸnõ(Ò½¸•½jµšK—.)#|€Aƒ•8×WœÿµsŽæYúé'Æ_¤_YçT=<û ''' o·´wÆŽ¥víÚ¸¸¸ˆŠ•Z•JQxÒü“Ÿöü×ñ´iÝŽŽ:Ý9wî\q7 ÊI’=z4N™Â˜1cøøã‘­VÆŽKXÕªŒzýõ2¿)-‡JmkoÕ² ­Z¶µ.”ñ!7n“'OfÌ;ï€,ãíãÃèÑ£…’ ¸eˆ5 B•EUʯGÚLïÅ­pä/T&Ôj5“Þ{lƒì¬,&¼ûîMùð—@PZ„’ äPYäèi‚ zH,X€lµ¢V«‘­eÛÁ¶3¢@ T´Š‚@PAhµZd««Ø`F ÜFrH%ªM î.Ä{e¡X‹Âª¶l%³á«¯Ê5½­ß|#*UPnzzŠ{JÈ¡R#éžûXFÊ[ÐpjÚ3¢f@ ¸Ë©;>ï#ƒÈ1õ  x„¢ @( @ „¢ @( @ „¢ à–RâÎŒ‰ ü{ö,½Þágƒ$I¸¹»S-<œÐªUKõAÌŒ ããÉÉÉ)óÖÁ‚›ÔŽ*...øâéå%*D€Å‚ÊÚŸ«(¤¦¤pêäI4nLXx8Z­VÔj%Àjµwõ*‡@R© -1|–^OÜÕ«T«QOOT*aDª,í¨ÏÌäò… ¨U*Ü<l Û6ö¹ž4J8Nœ8ŸN‡Ål.÷´‹:fÍšEHH~:‡Rò/X–Š(GIuíð~²ZïØ#:&†ÿýý7"33ó¶¼ 4ÂGÅÅÕ³ÉtÝi ñE–.]Z&]ùÞÌÃV¾é‡Êóßzë-æÌ™Szù_AýI¹O=ÜHÇŽ£UëÖdfd Ñh ¹ggeqï½÷’”˜X!渔”Þ›4‰?~ÿ&Mš(îI‰‰È ”E®ô2æÖ–0+;›ãQQ…v…ôóñ¡fþ&2¥‰ß²Y3»-FÍf3ÑW¯Ò¼Y3A’HKNÎ{`‚;ÌÌ\V¹Y\:×# ŽŸ8Á/¿üÂüyóäYPF—%_[šîîî¨ÕjÚ´nͬY³¨U«Ö-©ßkˤÔDZc×uŽ3f Í[´`È!x9ØÚ½ÒL=”ËB‰²¤q­–T”{ƒÕj¥Á½÷ÞÖ‹‰nµ¢`ËÿÑG-ä—“MfZZ©âû“«¸ss‘e™À  R“’ʬ Ȳ\ªoe•¢p «×¬Áb±Ð4cÌÉaÆœ9tìÐ:”N¶–’… Яo_4juÑ#Ú²ÊôÂÆ]½ŠF£!==ÑcÆðì!üñÛo7·^‹+Û5e*1n9¼®@›Ö­Y»v-#^|±tV¦ @åH–õ¸Ñ4Š‹cs?zô(®îî˜L&å|Ë–-4iÚ_޶íÛuò¤¯M»vè”ÃÝÓ“)S§Ú¥c ks“e™Ÿ÷ì¡SçÎ…„P¿A‡qdYæêÕ«tïÑ?š6kÆ‚… íü3õz^zùeBàæ…áÃ1 vi•t=%Õuy¶cy6®^µ;2RS1deqððaRRS9Å¡#G8qêYYYX­V¢NŸ`×®]:r„¤”Ò32ìÜÿþçdYÆl6sþÒ%;ÆßGŽpîâE, ²,+ù$&'s,2’ÃÇŽ•˜·­ì¥I³¤øe}f‚Ò<ÃýûõÃj±ðÖèÑ<;t(M›4¡}ûö%ÊÐù СS';¿¿þú‹€À@ôùºöض};]ºt)•¬¾VN–%ß‚izyyñ°aœ8qBqKHH oÿþÆo¾‰Ñh,µüŒ‹‹£Ç㣠 i³füþÇedQþÅ]£#/Ë2s?ÿœˆÚµñÕé¨Y«ŸÍ™c—öý÷ß϶mÛËkþëõzF¾öééé…¦§§3òµ×Šm_ù†¦JˆüÆè7HK/<ô®RÈÛq®ŠWž}þY;I’ðööföÌÙÅæwmÁ‹r/xþÝÆìùùg\]]yåÕWyõÕWÙýãvšè¾}ûè?p =ºw/6MÛïý;³ç§ŸhÓ®W££Ñh4;v¬Ä8Ï¿ð:??.]¸@VV}ûõ³óùå—1D8¤R1`à@Þ›4‰™\ªë¹Ù…ÓgÏb6å^ŸyJëD¢¾YPD[åŸe4Ò¤aC¼||ˆŠŠ"&>ž:µjQïž{ˆœ2…Þ¿Tòóù^ Š—ÏŸG¯×ótŸ>%ÊÈëé“J’ñÑÑѼ3v,»vî¤CûödffréÒ%»´ëÖ©ÃÔiÓÊmùšr»ºº¢ÕhxªW/¾ß¼77·<Ù”•ÅS½zѨQ#\]]¯kp¢¹Þ7SŸÉôikÎurrbРÁ…L»²,3oþç%¦n÷ßê`›â©S¦àíí ÀsC‡Ò½GBaΞ=Ë3ƒ³léR6l¨túåIRR¿üò ÇŽÅÍÍ 777FE¿þýHOOç»9zäžùiõÚk >œ™\¦ë¹YŠ‚Ùl¢NÝznF )ßÏŒÉ\|ÇwñÂÅ…Ô?ü`·x/48Nñ¯_¿>²ÕJjb"®®\½z/oo2ÒÓ•8qÑÑʹÉh´s·X,¤¤¥Ñ¦uk´Z-)‰‰xW©Â¥+W¨U³&ƒ€:uê€ÕJJb"ÙùŠBqy'ÄÆ–*Íââ''$ˆ^NpSX÷õ×|t:>Ÿ;·ì}A©- %$êåéŸñc‹tþùaH’IJeKÉÈÌ@Ê7Ù´™À€Ç `J0Qy~møüÿ¹¹¹ô0€ºvåå#wg'' z½ò $ØFE¥%Ëãøûp5&†5jcçûK’ıþA§Ó•|mÅ\ÏÍVT*5'£N©­æÑKç»k´%*€±W®”èo6›íÜ®ý UIçµ€.]ºØ=ÔR^BöùäO 8Ê»Li:(»@pq±^6Do³º•fÁ ,Ó¡}{¼¼¼Ø¹s'«V¯æÙAƒŠ„¿¿?§N¿(¹å`!`™ó-&M›|¾r…ˆˆå¼PRŒü,.~Á²ÆX,í0Í"”FÆ÷èÖݺa4™=gƒž}–ógÏ*ÁN:EãFJ'ó‹£V©X¶d <ô›¿ûµJuC}Èu¿9kƬ"Ý_|åE´Z-’$aÈ2ðå’/K¶\àWvà^ÒyÁß—GŽÄÝÍ-o @4«×¨··7K–-ãQ£ˆ‹gÆÌ™E¦aKßQ?ŽN;òÁ”)ÌŸ7ììlæ|þ¹âïëçGîÝywâD>š>oooâââ8yê÷wî\ªë)o!s-÷ÜèkHަÒþ/àf묳²²ìÃ_O£Vã]¥ QQQè¼½‘“ÉDNn.žîî¥HEä}Ci EAPzB9Å/([† ÌG3fpúÌÖ®YSb>ú({öî¥}þ”†-¬17S¾‚  ÑhÊèâò-NþÛðÓ鸿sgÞÿðC.\ˆA¯gæ¬YôéÓ§TýÁµñ³ >ýì³ë·¬}’#éÒ%Î_¸@»¶mÑhµ¸¹¹¡R©ìÒÞûë¯tëÖ­Tm^\•ZÍ®;•ó½nÊ[Z­ggçëŽïȽ¸ó¢Ü¾þæ~ûýwBªV%08˜Àà`fΚ…V«eéâŬZ½šàÐPž4ˆÁƒ•8ÕPš8‹-"11‘ð5xè‘GxâñÇQ«Õÿù/\ˆ³³3M›7'($„G»u#22²Ô×s;¿õ°k×.ŽFFr4*Š£QQü{ñb‘‹„®uÓ¨ÕøëtüöÛo‹Œ$%-­ØxaùÓ>‘§OsìäIÎ^¸@NNN..ó)έ¼Òo=nÄ*XÖãDd$ÁÁŠÙûÚt ÀÉS§xìÑGñõõ-1­‡gÝ×_Û½ñŒ` r¼7i’C]R¾Ž®uÉâÅF"jÕ¢ù}÷Ñ¢E ÆWjù¹hÑ"RSS©^£<ö}{÷v˜gYû¤’d|nn.|ø!ÕªW'($„o¾ù†/–-SâÆÇÇsàÀú÷ëwÃ2W«Õ¢ÕjËåí+I÷ÜÇ2RÞˆíÔ´ÿuìÞµ‹n?^æzÄ«/1nìx4 ïMšÈ‹–ÝÕøæï¿gÜøñœŒŒ,÷´·oÙBó–-ñõõ-6LäÑ£ÔÈ7³ÝJ´NNU­Zè†4æä«ø_¹pA…+nçÏà£Óáæá@jRYz}‘ñ$• o__ÜÜÝ‘$ ‹Å‚>#ƒÌôô’ó)!ïëN3?~I\8wŽ{7½¡ H®W;Âb±pO½z,Y¸®]»: ÿÒ+¯Ð¢E ž:´Bó½›x{ìXª……1ò•W†ýçï¿iÚ¼ùMëOêŽ_“¯¥Znîg¦m‹ºJ»Ò²J žô””JÝЧϜÁjµR¯n]¢££ùxÖ,üñ[:r¼Õ£Öc'ó×<9R¤£zõÈ5¹|îœûµn)‰‰¤\³ZQñd‹¥È°Å…/[y¤)T¦gxíºuxzzÒ¹sçR¥¿`Þ¼r)KY󽛘1}z™ê¸r|fú:±­2U«ÕX­VÔùsÌ·»PªkHOgØðá$$$àììL÷nÝxo„;NÈ”…†uëî`íÃ¥ÿRB ¨ ªGDàêêÊ’… m­~'æ+¸™ŠÂu¼sY5$”9s>Ã*[ññöFR©®+Û•–-[r¬˜‘óÝŒP‚ œeèÅRL‰Ý nU¾â¾¸‰Š‚ê: 1qüDÑx•í^š»@p[£ß$Ò¤ »/4¢ƒBF e_pÛi v_hi,!dÁ­= ×Þ’°(„B ŠUnµEA’$e±2µ’bµZKÕ66%A( •ÛGÔ!‹e¡EË–ÖŸ«(¸{xœ”D@d*©ÉÉxzy9|õÔÕգшkþ'G•‹œ¬,\]]EE²XPYû“b…š:xæ­Z(´ÙJdIHˆçðÁƒÔŒˆÀÅÅ¥ÄðÁÁD_¹BPp°²«  rX² âbc©šÿ;@ÈbAeìOŠUÉ19ú÷ßd X­VQ«••J…§§'ÕªWdzJ峯ÅáæáAph(‰ññä\¾,vB«$H’„‹«+Á¡¡Ê¶ÔÅ‚ÊØŸ”¸F!<<œ€€rss±X,¢V+ jµ''§R›¬=½¼ðôò'ܦJ¥Å‚[ÙŸ©(ˆ@ ¸ûhÔ¤Ié…¢ @ ¸û«b@ EA P@ EA P@ ÜR4¢ ÁÍ&1!ϞŠ׋M¿*1’$áæîNµðpB«V-ÕN®¢mïܶŠ‚@ ¨RSR8uò$ 7&,<­V+*¥’bµZ‰»z•C ©T„††Š¶½KÛV(  Â8sú4›5£ZõêbÔYÉGÁ¡¡´ißžCàççWâ÷dDÛÞ¹m+@Padfd¢¹mðõóà×c4KìLDÛÞ¹m+@PaȲŒF«Et%·ÑèS¥Âjµ:ü®„hÛ;·m…¢ *Z[u Ú֎为cÉû~%íøqLYÙH*UêÞƒ_ût¾ŸªO<eXt'¸9EA TˆUávä›='˜÷í_˜­2È2² rþøù¡–µùpXѶel[³ÁÀÑÑoqõ»o «¦#<À‹FÝZàê[“!›Œ„RþDÔ÷ßqæ“™´Zýnááâ!Š‚@ £ÎÊ…Ùbå³õòá𮸻8c‘%ÌV°Ê‘efú—;ùðùûEÛ–¡mÿÏ ÄÏSC‡ÇîCkÉA• çáR&Z7üܽðð¥f“Ú\\ÔµPÁÛ—Ü&åü7&…šÁ>¨TÖü°Š» ¿¹L®UÂh£E¢k“°|ë‚ ´uyö,ô|‚F Âð¯„|ù rV*h$Ôj IÓ‘³Ó±Zd¬WªßS]°O™ŒÚÝêŠ Š‚@ ¸3•¿KÝûÏE>X¾—½s‡þW^YÆ*ƒÉ ¹f“LfÈÉ5¡’$ñ:`)ÛV¶Z98pµjàëï‰9ò•ŒJ#¡RK¨ò•$°ZòÒ“s³±DÆ%¨WçoŒ"ðþûq T#¶pÑ›TÚC¶Ê,Þ|ˆyß ÛhVÜUù U³,V0[%,VHKϬô×uÃG9¶í™O?…„XBjc>wÉjE’@RJ*5¨5j›â Ê·0H GŸÇÝÙj¡>üoè뺖£GââêŠÙdº.ÿò>*:¿ën[¡(‚ Ó*éaÈ1ñæü9|.‘7žéj_V)ï×*ç)¹È4ä çfrou]‘×õ˯¿Òåð $08˜§{÷æä©SŠÿÑcÇpqsÃd6+n_­]K@PÛwî¬TuS^mk6‰úðCêÔÁrõ ˜rpÿtnK~ßû}p^ü3.3Ö*N– g¿' ý‰c$þþ{±y?77vþðC‘×âèZ+ºn+{ÛÚS b, •Œ˜Ä FÍû‘º5«òD«:8kÕ´±Ì.ܳ· VKÛˆÅbE¥’ìÒ|gìXÆO¯^½P«Õ¸ºº2êõ×éÞ­S¦NUÂAÞ¾ûcÇcÞüùüôã´nݺÒÕQyµmÊáÃxº9cÍÊB¶¢é¯öÅrá4ªê÷à[·mC–eæ}þ9;vì ..®Ðõ|µv-uêÕÃ? €GŒ ''§TþGÅÕݯ֮¥AÆ„…‡#Ë2™z=/½ü2¡aaóÂðá %M½^Ïë£F^£º€š4mÊ?ÿü£ä·cÇš4mНNGÛöí‰:~Mb1 IDATyR‰[RÚ¶òlÙ²¥ØøåѶBQw¥¢°v÷q>Xù;½kOH Ž¯ê±Ze¢.§s::3ÑéœIã߫霉NåÌ•d¢.Æ—œIbªžÓ—â‘å¼½ómiÆÅÅÅ“={ÊïÉž=ùyÏ;!ýÂðáìܵ‹Ÿwï¦nݺ•NI(WEá?pÓHXô™y¾UÆj‘±$Æ‘þü£Š²àúŝВ þ(–„¬°Zóƒ77R.2Ÿ/¾ü’§{õ¢yóæÔ¬Y“ÕkÖºžŸþ™¿ÿ÷?N?Îñ'øàÃËæ¿gû÷ïçß3ge™—_~™ääd¢Nœàì™3ÄÆÅñÞ¤IJœGŒàä©SüñÛo$ÄűaÃ|}}•ô¾Û¸‘=?ÿLÌ•+Ô­[—W_}U‰ë(mGñ…¢ ×Á{_þÊÖƒ—é×£&´\LÌF&o[[I•·zNFÂ*ç-^´XeÌV‹EF&oÃ%Z…ÑdÆÕI­¤›œœ €¿¿¡<ýýý;wí¢ÛcvÇ×yNL Zµ«Ñ”×á[ò3˜ããÈxkr®ÉÉ9×HæèA˜ãⱘe¬¶Ã"cÉÉE£R“›–^( /òË/¿Ð·o_úöéÊ+ uŠ&LÀÍÍ Þ3†õ6”Éÿ½ ðpwÇÕÕ•ôôt¾Û¸‘©S§âé鉇»;£^{ï6n 55•M›73û“O  ¢fM»6Ÿ:e ÞÞÞ8;;óÜСü}ø0€Ã´Å/oÄ@P!…Ê@®ÙV+`²ÈäZ¬h,*ä\ é32•Œ«VÂE+á¢U)ç²U¸8k‰KΤz°r]¾¾¾$$$PµjU»<ñóó³Í}¿y3½ž~µZÍäI“îè¶õnÛýWgñu÷@¶Èyo;H€*]ž³V+J‚ääŒÇÇ«Iò–øø<Á’§(ÈZgôé™xÝS»Pž+W®¤zx8-ï»Y–éÓ»7N™Â¯¿þJ§N”ðUCC•óÐÐPâããíÚÅ‘pp°rƒ,Ë´ïÐÁ®.Ìf3²,‹,ËÔ¨Q£Pymÿýýý•sw77ŒF#²,;LÛQüòFXAEô&•â˜>¬36¯Ê7[~A‹™j~nè³-D'çn0““kÅl¡À!cÎï¬,V+ZŠ*ûñ(]›UWÒ  ^½zlÚ´©Pž›6m¢s§Nv‹Öš5iÂÎíÛY±r%ïŒ{G¿éÓ¬z ÈZç¼”,2³Œì€Ïª]hjÖÁ|î4ɽÚc>wMÍ:TY¾ Ù;@±*X,2h]ÉHÏ»u»ôÍ&«×¬ájl,5kÕ¢f­Zt}ðA$IbùŠv×}åŠ/úÊÊä_0ß$IâØ?ÿpõÊ®^¹Blt4‰qq Ë"IΟ/¾n‹qs”¶£øâõH@pûé •èxöᆌКïvýFlb2u«z¢VItmD§†´«H«º4¯@ãˆêW÷§V˜Ž¬3ÇÎÅñÑê}x¸:ñd‡ºvéNùðC¦}ôßn܈Él&+;›ÏæÎeë¶mŒ;ÖîÕ4¸÷Þ{Ù¹};ß~÷¯¿ñVY¾#_¬Ò´)úôŒ¼i4XÌyŠ‚nÁZ´u0ý{š„~‘yœ„þa:wmD|­WÂZÍ`Õº`0ƒo«Vvéïܵ‹¤¤$~Ù»—ý¿ÿ® æÍcë¶m$§¤(×3uút ÙÙ$&%ñɧŸÒ»wo»ëuä_0__??ztïλ'’𖆠įűç—_ožìÙ“Ño¿ÍÕØXdàÜùó\ŽŽ.2½‚nŽÒv_¼)î8ótEÓº~( ßx„Ñ ~&5½:m›ÔÂ*ØO¿-2¼$¯—+¡:/úÞ_Ÿ Í‚x€5«W3ý£xeäH4 mÚ´áÇ~ fÍšv&cÛy:uصcÝ{ô ''‡… ÜqmëŒgDñ±‰è±ÄE#Ë`NJ"çðAž{kR£–¿7 Â’™Ž$U%ª[9ÿ“Þ¸¸¡Ö›Œ[£ÆTíß¿P~¥©û;±Þ+¡(‚»«ÕŠÉdÂb±`6›éß©&!>NÌßšIrNE¥R¡’$Ôj5jµFƒZ­F«Õ¢R©DGT"FŽ$î‡8Iõ*î¸cMNÊÛÒY’‘ò 2¨Ô¨|ý°j¹p5½ZCƒ)S°X,¨Õj¡EA Üq”0¯hÌf3&“é¿ÃlÆl2Ñ8Ü“±½î%5- «ÕŠJ¥B“¯hµZ4Z-Úüs«,ãääT¨Óm[4&“‰„„Ü>üô¯¾âäÚµ¹¹âï€Z£S.rn.’V‹ÊÙÙ ©z.¦¥ oÜíС\LO'ëÂB‚ƒñððõ.@p'¡ªDŠ‚F­Æj± «ÕÈVkÞ¡Vƒ,S+¤ ‹E™z°YÔj5›â Vç) !>KÛ¶‹Sn.¹&¦ŽI D¿jW/^ArrÂ]£ÁK­&Ë’MºÉ„Õd"ÇÕ•s?ŒK“&É2999ähÔêJu? EA ÊcЩª>>èt:ª×¨ApPNNN¢Ò…¢ î¸Î¤Žm‹Ó¶ÎÎ΄W«Fxµjäææb00 dçä`ÌÉÁh4"IZ­œñòòÂÍÍM(BQbÔ)¸›ÚÖÙÅg|ýüD EA ˆ§²,Fï·¶Åœ¢mïÞ¶Š‚@ ¨0Ü=ÍEñzŸ£ÁšØÐ¤! `R©J%•¤šTªöÞµ÷^óïý1æÚÙÕ&U»¸PaUk¯ækÎ5¿1GóŽwP†2”¡ å»$6<CÊP†6h(CÊÐ e(CÊÿïRñÚ ×]7Ø»Ï}æ3þ¹cÇŽZëêÕ«öþ¿ãާ”´x45µrÕªÅ/2ïÍË–Í›‡fh(Ç¢ ô$CÓÓÓ/yÉKfff¾øÅ/Nì}[>Ü¥Ž )wD’ŽÊ"CT×Pžš6è†ë®;aíZE<™O~ñ‹_|Ýë^÷o|ã®»îºè¢‹H`·<¹¥ŽŠœÑE6ßwß®;>>Š*±È#ÊŽÊ"ûðI[¶lyðÁçßsÓM7­^½úÔSO0^ëm{ä‘|°jÍ»{lvvö¨ùMÒã‹,||Tü EA!p‘¦×›XºTÀìÌÌž©)ã½ÑQ“»víc†âh×P†ò½dƒ¹ÇfffN8á„g=ëY¶mÛöÉO~òÆo\²dÉãöeÛ¶~ðƒ×\sÍúõëÜqóÍû/òà¦M mÐŽmÛ{ôÑùW—¯X±ê„FÇÆÌìÙ³õá‡wîØñ$_ÝÇLôFFÎ:÷ܱ‰‰=ÓÓ÷oØ0;3sèEŽ;þøÓÎ:«¶í]wÞÙ¶íYçž;¾dÉÖ‡ÞrÿýGÍŠ8à"µÖˆèÏÍõz½´/M¯773ÓôzùÒ¾±ØÐÊS6;ä#¹aÆ/|á ý~ÿšk®yñ‹_|ÓM7Í¿jfŸøÄ'víÚuýõ×OMM8þ ¹êýÓ|¼rõêSÎ8CR…å+Vœzæ™$·oÝú„¯î¿ÚšO|tÇ/e|bâ´³ÎúÖí·z‘G·oŸX²dÕ '¬;í´é©©ñ%K¦§¦Ü´i~Ã…TŽtÀEú³³3ÓÓ#ccs³³½‘s³³M¯73=½0:Ûÿ‡2”ï/?HÒ™gžù¼ç=ï·û·_ÿú×ïÞ½û¹Ï}nYp­_¿þÚk¯½øâ‹Ÿ÷¼ç¸ík_;¬gÍÚµ¶>ôЛ6Xwê©kÖ®]³vm†o‡~uÿÕyè¡-›7ŸwÁ£cccÓ““‡^dó¦MK—.[¾|ÙòåµÖ wß½p·Gëb“““ŒŽŽfdÚëõöLOOOM}'B¡ åXÍ‘¼çž{>ó™Ïüå_þå5×\óÞ÷¾÷ºë®»ì²Ë^úҗοç%/yI¿ß¿á†¬xr~мÒt¦§¦ò™Ü½‘‘üóЯî¿ÚÌô´"öLOw‡ZŠ"½ˆ"zà3Î9À£Û¶Íî äùŽ×Å2ÈÊo",Ÿµø¯1”¡|ÇbOä}öÙçž{îUW]µ}ûöŸÿùŸãßøã?þã×^{m"I¾å-oyõ«_}É%—¸õ+_y’®A>ž›Ëg‰77;›úÕýW뎆4622¿xH‡^¤”’ñˆX¹fͶG™Ü½{a ºÈ (^›Xº´7::;3“V2DÄÔääúACù~öƒî¾ûî;wžtÒI>÷¹Ï-_¾üÆo\¹r%€o~ó›{öì¹õÖ[''',íõËzhóæÓÎ>ûÄuër®Xµ À–Í›ó ‡~uÿÕN<餦i–w€™={&wízÂEN?ûìÞÈÈÖ‡šÜ½ûŒsÎ9óiO»ã–[jÛ"ß%iÏôô||Ÿ0jÿEz##£´gj äèØØìììèØØÜÜÜÜ n¸ÿ1e(ß~Ћ^ô¢-[¶ÔZÏ<óÌ¿ø‹¿øáþáW¼â] æ‘G²vvÅWøÊ7–ôЖ-m­'®[·|Å S““=ðÀ|ºçЯî¿Úƒ÷ß¿|ÅŠ‘ÑÑÉÝ»ï½ë®|þ‹ä“333ï½·ÖzÜñǯXµêô³Ï¾û›ß<„461©ÖºðI3›šø.š^ozjjj÷î|çèø¸¤TC?h(OÙ«_ì†ë®Û¿i¡4K–|ík_;ï¼óÜýÛßþöm·Ývûí·¿ímo›ß$sss×_ý9çœsÖYg‘ì=µ¶Êèèèþ­^£ccãØ&.MMMÍî÷æÙÙÙã–/?`¿Ø|9ìÏÌ/22:ºÿ {¦§‡8é¡û±Ø!­Æ%—\rñÅ“ü³?û³7¾ýíoík_ûÜç>wá{®¼òÊùÇ_þâŸJ'뀉˜ééééýüC;}ôbfö Üöæ!áP†òT‰Åž(щÛo¿ýË_þòË_þòÄC°YìɬvlÉâ Rq4úÅŸÊPŽU?h^®½öÚw¼ãŸøÄ'Þö¶·-4@ä^ÁÝS­oþ;Ù/vX‹ ý ¡ˆˆ™™™ñ–zÓ† Ã38”¡ å;nƒæmÍwÜñ‚¾phz†2”¡|÷c±mÛ¶ý‡×¾öŒ³Ï~Úyçýçßü͹çñÁž_(Ÿü«¿ºøÒKO;óÌ_yÓ›æùðøÁ|ðiç÷?ÿîïHú™×¼æW_=üÙ†2”¡ ¯¾ÚÝ¿qûíÿü¥/}ù+_yç»ÞuèçÊ Ÿÿü¿ÜxãM_ùÊßøÆ;ÞùÎC|ð¤“NúÀûßÿk¿þë›î¿ÿCþð† ~÷ÝïþlCÊ÷» Ú¾cÇç¿ð…kó7ÇÆÆV¯^ýæ7½é¯þú¯ñü>òo}ëØØØªU«Þü¦7}êoþæÐ¼êGôgæg~æÕ¯~×{ÞóGûØÄ“àfÊP†r¬ÈAòAäôÔÔÃ<0;7iå‰'žrÊ)°IŒŽ=öØcÎ:ûì‘‘‘|ðÈ#âùùöÏçÎ8óÌC0¿Î/]}õ‡?úÑ—¼ä%—®_ŸÏÜúÕ¯~_ÿndišå+V¬\µŠÃ«x(O=4;3óàÆÇ¯Y³nݺ‘±±|fáÖ¬Y`óæÍgu€Í÷ß 'âù}äñ7lÞœ9Äk­¯Ã^ñò—ösŸûÌ?üË~ìÇ<çòË¿Ÿ6EìØ±cã=÷X½jÕð:ÊSÍmÙ¼yÕ‰'žzÆmÛΈÅfÕªUW\qÅýoÿíÃúÐÔää»ßóžÿõU¯:ÄóûÈï¼ýíøÀ¦§¦~÷w÷U¯|å¡?ø;oûÌž=þЇ®»îº7¼ñÿúÏÿ|ÒI'Í„[çûG–,YrÆ9çlܰaé‚ùnCÊS$433³ö¤“Ú~ÿ}IÿèGçfgÏ<ë¬KÖ¯_ÿ¬gýÖoþ桟_(W\qÅúõëŸqÁçwÞµ¿õ[‡øàç?ÿùä#ò‰Oôz½Ÿú©ŸzÅË_þÚ×½®»¥cccs³³ý!às(Çt^a.×|ÐyÎå—}ï}¹õ«_]{ê©ï¾»3îC.ס<5ü ¡S÷‘aVz(C4”¡ e(C4”¡ 嘓Cõ‹-yÝ]Ãô=.7¾qx†2ôƒ†2”¡ ehƒ†2”¡ mÐP†2”¡© :ãE¿:<Ǻ Ä¡sR†§`(ß-yÇÿõ•HÙ¨!¹Ý  ’¡6Â$ ‚ ÊÅ0 ˆŒ¬Œ|•C}CC F 0¡ 4A:Ð*jm›â„Q!˜ !ÁIÝÒ&@—ª™ Á RVUI˜PA¤I** ‰4AÄ,€ Á‚•4ú ´}7AD@‘‚LPŽxAêd˜"‘ç t!(ˆB(ÈRmP«D —‘@g´a4QP~ÔP1k&ªà9JQS (ÉægÍtæ¤*UÂôL½{Æ[7 Õ`…êù J~寯bCù.KZ£ ¨b+:Ì`P·÷@¹‘pÕ@Ú@C Š[D´ª6æB± "G)å^7€ ‹Á‘fÄ`FÅ f€2šÁ)Á‘ßÖ2i#¬«ÂE!šà¹*‰@Uí«†D# ‚„è'Å @D(°°Y1–Viyºã`4Œl¼³ÐBþŸç §ƒææ¨M¦Ç¿4Œ€Ì‚H“ FÕ „Ñ@sƒ¢@ºu˜Xæ´Î´ 4Ú¼R €¯°ÖP($ôU¬AT ý ¡|÷EDC‹¨•Ñ!’»Iái` ”ÁÐBˆ~ +[ÀòþO—A kˆ Ò(‹¶V3…Š$J2o#€¨ ÒAöÂ*Ñ¢*èÞ='¢±M¯ "H2(+ä"ÈH $(d¥ $†IdP!(ŒVÈ”Ž‡:ÛgŠYUõ ff ©J&t¦B.ƒÁdbçÐ<7¾”n hù^Šh£Õ¤Áhˆê$ (B5D£õÛÖ‰Šj^ PªÌ£WÐH0‚’hdȉ Ñ}ˆ ¼Ü-# ¨Â•‘¾Oú¬E.Ä¢lÐß¼fR!³&oefé+wbf¤…‚F£Í¿š®²&4"J)ÏÿôPÅbTÛ~P¨¥)ÐÝœt) &ýZÝK8ÕŒž|‘…€³ oÁ’hª0ƒÕ¨Å¼U¸@7!½+µÑº•.ÔR-@ Aó™#㯴&U™K³ $‡‚„P©¢OP0A$Ý$B!˜D™L2«3¢ƒMåp*‚…yP¡êhÕKeg¹šÆjEìœJIf!}É ƒ g0sa¤™CáÁÊtúDÒEA¤WFV ù-S©*Ãå ‚Ò7Yj—ÕŒnGKŠªˆ*á•-´×˜Ï#±A»wínÛvÅŠÕ€v½rиD¢˜Óh¹Ó¬ æso €0777Ï$=TqÄ*Ží‚ˆ¹u9VСVÂ$ÁÀ’v€„µª “¡ªhF”Z‘®Ìø–E¨¨f^!ª¬1ºzD?æ7—*¨Œ ƒ23Z:(f@PV™÷ûÈI4!IGÚˆ„‚,X Pzp-ª ½ª F˜GegÍX"Aó*¢ ¤Ñ "œfdHj 9‹xL‚eR4 Â)T ƒ·¤"cÒPä5h&D ¬Î窈VŠVšˆ0@WˆvW®E 4@¦‰’A¢„´K´`%ØO¯ pá¤á#±AmÛFDÓ4yõ€L4Ò·uwcž?Òh7ÖYv¨µNMMþdTÌ{ –ƒ™™?®b/ÿ‹Q±sç£wÝu§"˜ ÓÌÒÈÞÈȳŸ}ÙÈÈè"Uð(¦§§î¼ãÖg?ç‡÷(Žmä°€T3œ*4º¤ T†Uµä…’úd¦K•æŠ3q+Aé™”g°F4^D…úh‹ûÜl+Gq7ÌèÆI¤A ”V%£C¦¯¦LcpQ#fPtÂÒðÎc~WdfÙM4¢ ÌÔ´›$‡É9B@ã,€b¨V"D!"P ÁeB(*Ò¦„hf†VéCCéJGë Ö€tI ‡«ƒüuúë¹Ðp2¿oä¯%Pf@›×3 Az]@'B¨Œ¬i@†Œ¨–K0ÍOµEÖŘ-Hìqë—4˜«f&vQo„ŸÒü¿‡©Bó*"êîÝ-_~¼™Í/µðÍG¦âÞ{ïzÿûÞž#É.NOûÃ?úÔÊ•#vÍÿþÖ®sÄ*"êsžsù…®wwfŒD’¬m{ýõŸŽˆöîÈâ€'jÿÕž¼Šc6)­¨jT‚ ]ÜSë\m‹7Mã­jÉœ„9…­€t%…@eëV7Äô$Q³µï,”U´ÑÖ¦ŒÀª¢Vº«ÈBáUº$œ È’>UaÞª @€ndîU-Ò!aÀ¢»eeͨ¶5$x~q3C‘Ôö«¹™AÖ ƒ!C¿?÷à›wMÏÌÎî>דּƗ®ªD§ÉhdUºY‘5ô`gõŒ ÓHŠ!eì§È·fJKÖÚ>öè®ÏþÓ¿<¶s7î}¸)ÍŽ;~⪟ð¦qAT¡ÈD fÅ«ª›u‡@¦ûI Ú hU©¶UÞ3FÖÀ*”ÐýOˆ¬4Vd-€§YàâlPV¸·´·ˆP^b„8¿µ"""WÅîÝ»oûúMÏ|æÅ’Ú¶Ý[öv1ŽPÅYgŸ÷ü\å^á’‘ì÷û·ß~³BR,^Åþ'j^"tXGqlç¤áÅ ¢ƒôBDaÅ\e¤×@p³ ¨4¬˜eÒÄlàc¦¹©Ê„i^Pm²–ž(Vz€Á;4)º:$’`(ó Ú¹ÙÍ÷oÞ59UcÏùçG÷¾ßÿËÌêJW¤"s}¼ñË_ýÚ-·½7½äE?92ºÁÀ¨‚Æ"¨‘ ·Áü^¢±Ukò4î6°YF+6?hª£ÍÜkÛºurfzzü¸ãû1ÓóžS"¹E3?W@6D¨º³V‚ Õœ ȼU µ5Ø9ü2X›E@&³Ì‘¥ÅÉz!@¬rq9éF¡ûù•këñlëüv2ËMDîYHÙQ1¿mßÃØ[E:æ‹S‘³…fb`à2§ £rûŸ¨ÁáD‚Sž¼ŠcZšb’BA³ dà\m{[âlPãiÊI#TȚɎÄÛ@(ð Z¯ÐhŠH@ Ã*Qk[hyÏ.ð`¨²qvI «¨”‘UøÇ/Üxç7ï&›Üò“WýD)có5(Tüò›ÿó¡oÕ•‘É ³’©¢üAk¿õ‘fj×îÛî¸3j¤Œ¢øƒ>úàCŸuúé` ²@"ÁO0ÖÚ¥ ÉLULUT¿¢ÖêæN—*H²¬X¾zÅñ«¿y÷=f>::VšKU„…=@U#CÕ`P„Ú4vy&:a™ž¤˜uKte42‘K]%DZ߀>EKÇ HÜ)0ž‹Çi`‡ç· çÓ@<üPÓôV¬\™/)‚Áµ¡ˆˆÐ“T‘© ¬]t»6µq BóûÈU KÒäQ¤QHL y—d±G±àD¥ )ÒÂ¥5=|ÇleŒêöi™G­a¦¨ÍÁ.;œ0cÚc†df”Ún/%¯é¨ µ¶ŒbB‰în4Ë«1$ B%C 5-–QÆl¿ëßïVmGG&úŠÍ÷oÛºmûºµë®ùÕ·>Écë±+eÕ¤ͬVÖôz&ôçtÜ’5íÜæG{ôœ³/Úú膨’‚¦Ü"彩H¶’ƒ-X k„¹)D˜›…ú4B(³’À#EtâÔu«¿þ ÀÛˆ`\|á…KˆfŠ6 ƒ fŠ6D¢¯YÐ'rßu×1ƒ˜¡”Éà.-æH{.&DˆdÌ &Šx¢¨kƒ´—½O{(IƒhëwÞ¶déÒãWüP·©Ä}löÆ<¡Š´¡‚ÚºõáÇ{ôÖ[¾úÎÿþ[¿þ–ÿÚ4MîÛ}vï¨8å”3V­:0 ’úý9IccãföüüØØØø>6èbÁ‰üù¸:ì£8†-ú58ÂL¡6Âa}Љ²ˆP#¯S”¨v.šÆBÕ À­DÅlbzι©%Ü¢P«¹·°"‚¨Yé·ˆ07ÀŹ9¿|íÖ­›¶ïÜþô§­ÿÒ—> ¼ïð¶ˆ!`¤Õ½óÜ© •L‰,[:vá…?ð¹z¸éGݸzåê“O:Y2 ÒBiB„è]%ÊÓ—*ôÚö½Öª25d@¤‰p·Ì¤ôìÊËŸ½fåš™=“§Ÿ¾öÌÓֹؕ³BY§‡è²Š … ¨€w£¥A7kk%JœU!kˆ•–èÒÚ!8(!vÔ£‘“Ö ~Ù«4€E‡’|SQ¬¨Äã/]™'©"-LDí÷çn»íkŸþô§vîÜÑï÷gföÔÚº;÷æT>bkÖœHrþ(î¼óë;vl»òʛم®'9?ÒãˆUìs¢€ ™žÝ¼t¸*ŽQ™ ¹ÌÝAÐ2¨:<¯à>«‡"à£Vû„Ò@ÖRŠu˜y^êѸWAÝ]U^Œ5Í»ÓijÈ\Hw7¨´b4©­Z±ìügœý ´ufËö{h‡Tï`•î´ˆÚ’VÜ)‰"z½æÌÓOºà™—lyèá•+¿ü/ËôIÂóZ[¢ÌÍÍ6£M!æfçPܽ‡ì‡pξa.Â]N‚‰vª™>~ÙØeÏy:ÅÊpZ ê ,𞱟-•fª”§ÈQˌZJd"‚P =¦4e!Ñ”Ý-Œª%<£‰ÄÑkƒôøÿܯ~€eÈ|ö„`&õÉ=áÖÚ_Å­·|å#ùݸ?›€Ž;nùÙgŸwÀÊÑ«Øç(fff¦&'¥ö}ÃÑR‘©¢.´· zR*Žá²X«Š0‡³Êh„U T(Ìü¾wµ'*ZC¡,$  Â;7ÀËÊã&^tÅs€ 5 hg*˜-^QÃIŠë…`æ4/€UõÝ Y ECJÚ3½«ßö›‘ѱ‘ep1 Ú>¶{«Ðë²e«Ò¥!;0D ”±ó¾*Å耟ȳ‚¤Yµƒ˜£ fô€ ¡X˜P«ª‘R€ &@lÊÐqQu±AzïòÂÀ#y›dðHÆB?H:dEi?$'§voÞ¼±×9õÔ3^ø#?±i㽿ú¦kͬΧéö­|¶Š}l„ƒô¾C*Çónãa©8¦¥í÷›ÑÒï÷K¯Ì¶µ”0ea,}3ëÚ/ey‹õ*j -@N«Ò­ X³{œ PÜȈ€y†rm"í„€² €E’% ²f`PkŽ_úâ+ÜOúX>ô¾ÿè¾dŸU`ˆ6ª£ë¨Ñš"ÌfÖÀÀŠ(tµ.‘Ùs:&…“5/ Th($½@17Ÿÿü+FŒs—?ïùK&–Fhz¶ÿ¯_þêêU'Ø9çm¿xo®î™››,^FÇ3(‹ë™3îÚæjFÈ{ÅúµPÀÉJ1Ó› '`]u «"r:­©fFV“…@TÒa,GìÍ{9à?ºÀ e;7•ÔqÌ›ª'Ƽì­"Y½ê„õëŸ{ê©g¼êU?O³¿øókŠùÝ»ûÚÍç§¿c*8ÅA]ÌOÅ1-Åêl¿ôƃ*î$¥j´òtÀÎ÷GÇ2Á(t+RÀ ¡Ò2õX-<›ðP¡ê™ÍÌ£VgDf.2©: ùhël¨TW¢xÍ÷–¾ï”…jԀѕÙu£±†yr·6mÚ82‚+_ðÂ%KÆÁ&j%Jmv}IhQTR~Df‡’} SNÙÝ.˜Ý*¨„Éð€€JdÙa· Ì²îî ¥ä>)ÖAá*ÿMQ¢i!ÞïIªxÚ¹ÏxÃ}ÉÒeK–.°gfÏ#o,{tT,„.<Œï Šý‰ŠcSFzÍÈø¨—0*˜¯¤å@?Í/YÚm£Dä­5*$„I–MØYz,„¼CQd³Âe™°Å,ÿTÑÙ Ì&˜¡ºióƯÞô/s3³LiÅ@ IDATw~óΩ©©VÙ¬ qõ¯¼U&óÒ4½^iŠÓ f$˜ýAAsf)ÊàNOÓgÌ{MbÀŒfÉDsл*[;Œµ)M£âæÉÁAX0Ú¶½í–¯ïššÞ¾s×ÜŒÍì)[¶l‚n;''ïݰÑݾ}ïæ™¹þyO:›‰©éÀ£Öç`…ÖŒNZ6»8 =LfɃbùƒIw¢Bt™m¤è‘ñZ² dUžè[‚ ¸hÔi×ÁÌPÂiöÙº å‰ïðQ5zè¿þë?½ñK×ÿ—ÿò+ss³G]ÅäN`?tÔU Ü ¡Šc£Â“ˆ:ÓΩ Îö­­‘¯Ê ĨuX•ýêjM41ÝX“Ž«Œr•A—a ®†a¬íœP"&“S“÷ܳaËÖ‡·ïØ=5ÓàáûwMîþö}÷<ºsÇ¡äê_þ?„* ¶Ö¤“˜Õ¶Dæ 4Òa4X`Šˆ eÒÝXà¦0§ºDI–üC 0„6´,®j 9â>2Ú\rɳ—.]ÖŸ™X6¶tÙøÜÜœMé¹èÖ[ºlM¯‰¶mzÞ+½ÞÈHU-]/(DÂ,”ý` Ûü³;Ê’°¨C;w°Š®…PvÇ aYÔmƒè~‡Ç?¹èÚü<–—û$;æñBƒV ’#Ø7y’*2Úµkç·¿ýïŸùÌßþãõ÷ðCJZ¶ì¸¶ø %©ÃT±÷QhZ<Ê*¶n}h||É’%ËòµíÛ·¦%=ÈROYdô¼â3ZQIcaÛ¯½Þ“ÆAfŽÚ±!k’(Q­úV›â¡0VZc ZXBª£ÀŒVÕÍKaæTTÉá2“ÔŒ,¹ûž»ÚÑïßùïßzÆÓ.¸çÞÍ<£yÂc¹ú—ß àÃï§»¹(Z5To¤ZL¦!³P Âݪњ9`F.Àé5É;bCv8cª$b*ACæ‘Á’;»®¬„F7£c½±ftd|tó¦{«tÁ3.~ô±)’Ç<}ä±Gw¬[·ÎK3>:±jåê¦ôïÕ¨f.™“R Ái}Eñ@¸À­"(ë+•°èú1¦,³y6# DÊ@Z .óLjt<,ÖpSDÔÉÝ»ÿþïþúéçÿÀÌìÌø’% Çœ´÷›Ÿ¨¢´ß‹·ÝvÓ»ßõ¶Ü“##£§væK_ö3×þöíHU,Ì?nL³Çøè©¸ùæ/oÚtï+_ù–/_qÏ=ßúÛÿçÏ_ô¢ŸÖAÚSŸÂu1£úªµ…S!–¦GC#·1w·H#… PQ‘03Ñ4(¥MüïÙ½û1ÓS“££cc#ê ûúA]s­C€g<ã¢_þ•ßÚ±ý‘W¾êç''wo¸÷nì³¹æŽHņ wüc¿Ï=ßjÛþòå+V¯>ñù/¸êèª01±ä¥/ýÙ?ýÓ}ðÞùÒ—½æòËdrr÷’%Ëö×ó$U£â‘p¼Úk‚I\V•ÅA†Õ•ŒÙi„Z#I³(…*ÉÔZ‘EL0¼¸æ¬+ÜZ17h®mQk­2)\a0ÚÊåkf—Ô+–»lùqÏ|úE[·í\vÜÒ5«–ÖqýÂ5où؇Þ Ð ¼M<$R,A¤ªhgg¢O±×/½†J‘Ø¥bz½^òŽBDDV´¤IÕÀˆêp0Ú¨Æbf&/DÙ(ög殿þK²WòE?î½ÂZ3Á¯´¼A3ôÛ¾™!2Ø 3E:°cBIhp¥«™0€r¦ë¡$O C Ô.ÔÄW#€¤AY|]lÁ¾ª>ºsûääîùséú:ûܧ'!ÉJчè(?ˆ Ë—¯xÆùbÂrŸýEªhÛþ_ºþßøúììL­uÇŽmwßýͦé=žÙ:G‘Ÿ½ó}[·>|öÙOßxß·wïÞµlÙòŸüÉW,Nű' PN*QônJƒ¹Ñe‘ðž,dG¤á¢[²IB¿?×ökÏ‹K)2§©Xãæ•(f„@sw6¹‘s¹'HkÍ +O^·fÉhïügž;2b+WŸ{ÞºS×­8néøþ_þcx×!íé-$˜DE¡5n}!¢rÐh‚Ýø•þÌgnøÌg¯›™%]¨Õ3oèbB¼#—E’Ь9dƒVe0ÊLˆ¶öÝLb9*жíèHïÂK.¥Ð - òE”ì±³ä­NÔ‚Ì\`‡xI®ËÒ8=©ôefÌ2ß ³Â&B³äUbWˆ!7@AjDŽAí¬ÒѲAoÎ /\ùó~„´±±ñ .¼ôe¯ü9ó €}ŒÅaßÿXè#,^i+V®nšÞüó§Ÿ~Öùç_8_]?ZGqÏ=ßü«OþÉåÏû‘7¼ñ×—/_ñÉOþÉîÝ»ÜË"U›•±$Øq£'ö„¬Ù¼bùóHïºUI宓L f#½‘¦çni–¬2B5s˜ ³¤ C¨¶m…V’94&3' ±{÷îÏ^ÿÿðÙÏ|ýöÛêz†Ûzÿ;?öÁÿqP3tõ[,û_-¡OÉËérjDZgO{Á3/–´5"úÆR²òmr7„%·tÆ­¢pQ’ËJãÕ,;{3uM’n 13Kn¤ÝnznѪÎÕªÒ˜y3èƒuc‘2¥ã#37fKGR«â9äQ°& `Aê˜90é<@P…H¥«TɈ£Ò7?Ï»ž¬Ý£ãã¯{ï^pá%K–.»týÍó²Ïs(ï‹=™Ûû^*'×Ø×¿˜WÅ©0³ç=ïG{lǾðÙ©ÉÉsÎyúK_ú³'tÊS°Xi\î¸ã–ç¿àªË.»Ò½üÔO¿úþáÿݾý‘¥K—±Šc5']0@'°8j¿ÊàÆ–(f‰VÈ NÒ²J¡‹'K,`‹-¡°A% íú›$[D¶D¥+*I7G LÉâ$*jT@››íS㧬[3=; ì‹Qüƒß‡—btPøÁÿñº«í ¯ìÁÉî(!<­²Ô§ ¡iHW„'™˜:†þ ²ÎÑš¬71 ³kÈÕX“±jiJU+3Õèà:“Fv†ÚÌôôÍ7ÿKí·€í~læ_ÿíŸ/»ü h+d€ÄâERËJÏøËŒjÀ]1H<‹fˆjÀ~ÓV&¹³\ì§W+ A°"¢MžÐŽq6È>胘t#KF®ú‘ÿ¥ÛGX°ó°É”‹P©¢[síÚ“_ùÊÿ ÀÒeË~áõoÚO©bÙ²e¯yÍë_óš×ü(¸è£àË^ösóN,Yò²—½æˆUÛ±Ø\+£7ÛÆ$c" ÅɘmûΞQdd©Z“²ŠP%tÀ¼Ó`ð@ë’Ô!b®X²HÈÌ "=,ª¹SHQè2RhU½Çñ±‘É™™v??È›Æó~/‰þÑýÞëéÍŠÀ%¡B­x6owÓ¿½á[“»w¹¹µýo~ã–K/yîøØ #"ÛJ›Ñª"Œ¨•¹ QR ^rhúÎÎÖêfLTCòÌ;ÐA3FT°¸ãÂK/ø§¾ðå¯}qùq+žvÖiæž!ªÑ­ ŽhÍ­Fôš{ù»˜T!—Ã; ó&\@(Ôné¾Q YU’u ðä00!‡âæPØÅØ ‘‘‘‡Ù255•eš´§jN¢%:X7¤Phп:Ø^§zúPÅ"Uëµy¥4 "ä´ªZÌÌ<Y‹6š%ã¡‚`MBž@$}´D…n.y«ÖÊ ÎÉÒZa&˜X‰’eþyj¥Y…Œ¢H›éã¾M[Ö®=uÙ²eS»¦û³Öµ]h Ûv‘kÉlõ±¾ç¯~ËÞI@ZjMÑs<e Ï¿àél}àöÛ¾º{zú…ÏîhSæÓ(ªA/Œ€åä«ÒÐoY<ƒµQ ¡,µ« 5§kD+š«mõòå—^tÑM·ÞòƒÏ»h¤W˜Œ‡µBòb¨•Œb½šS©ÛÖILfÝä)¬ª~ݱÿ’Š·f;¤€‚ÝŒ%Ò‰ÁÀŽèºKÅj(‹äú¹ÿypÂQ¸oªX¬Šc;Ò¬ãðñlÍi5µÀ*eÞù÷ä¦WTó¢DŽ^’h C ¯V£ï¼d£y…ö·Û•4À Äµ°a]Gˆ¥ã#ýÀ%w}ûÎûî›Z»îÌÓO_ˤ_ô| /Eœ9Àˆ~ÿ#ï—åÐBw#ÜáR-4xexvŽ…À(ð‰‘æÙ—>çŸ>ÿO^´~ÅñKa&õÁ²)¬K´¨­m)æ.—×4àƒ&õ@PžÍ½™6 AÐúµ¿nݪ•«_8Ñ+ˆeò€²=¤Öpz­µ€pßSû{[Q‚jN˸yDY †Œ¬`å E$w"é‹€ÆÌà9¼»o‘¾cv•-€(g=å»'=·V5‡ÑЍ É5z¥ ˆ¹P€Å¤ŠjÅ|°Ýƒ™ ɱƒnWQÃJÉ!§"L¨ §9¼J 1ª•"@ªŽ‚¨áÞUsBy{wò´SOyèᇶnÝyÕ•Ïé5Ɯ㬠y€TuxtÝS2zB³­éeEš]ï{‚ ¹”p³d!±rõò]õâ‰e£tÏï™ÃbsæNöþ«JIk›”%‘µVsÁ÷@?úÅœ9× Dh,[O/t÷PtØSÅ,D)sµFÏ!Ì¢&ýI¶òSQh‚ÂÍBÊù…5ÇzDR YÇrI(’S!³üÕ·tQd³DÌ©C4”ï²´ˆlŒœ@êEÁ„ÈyÇ%myËF eh2˜ìÃŽÒ–ÚjDÓôà.Ôl‹B(Y¬Q@Õ­$›X7U»cc×ü@˜‘·fý¥—ÎÎõ—7áŠè%st˜ŠZàðìô¨’›TIo“ì…f •T\x¢ “´„%dÅÒ@h0÷,›8ÚjÙGÚV´fž­V*Mªö+ Z«»˜!úFkJ)ImÅ\&¢X¨/€áV5H3Jlk-^PÛ´rNëKZŒ„+“g ±;ym´ Á˜Ô°Á€a…œK`4 ŽÚ¥í˜x%ß›ilhƒ†ò]Ŭ„ÐMrš{îñP @ÁÆKD­”™%/*Á® 0Zd[y6bYw”Ö„ˆ"„Aц…„54¢æ´âœ §õ£ܘþLlé8—ŒõÌ-@O2}E¥Q47´RÉ*Q•ôƪZÈÅÔDw"‰,ôn"X%z"dÅp¨ÖJ7kºm[*%'+W#³Ÿ¾Ëf× ä´VDmͽ£qK(9YdÔ\_RŽœ§¨¶ŸÖ‡„ÃZFãMD¿i<§J0„{C¡Ÿ,»’”lÜÉŠ0w‰É¦À,TÇxߵІµI|ëÈî£mÐP¾'dÀöŒ¡a‰¦×v.ç¡f%ªF”ž3Xk ,ªuS“,Ëb!Õ*º±f\mUq£¹¹ØJ õk;ÂR:ZvLC7\óŸ|üÿ—ÁÓ/¼áW|äï.H¢B¢ uÀ…B¶ ˜½áš_ë>™³DþJÜRÆ5„Â!1€IÆ"DH9õ¬`´}T€-Ã@k ¢Îµµ4 Y±zá¥wÆ™7OLì4‹?úÈ{‹·]ú÷gœuËÄ’ÇÌâ?ú^%e‰5DÛÖŠ€{¡T#2@¥!˜“¢Xc†æýÁáVÔ k¦Áµ"Š5Ѝ9 2QA–,¸È9 ˜Cs­Ö’ÅÕÌ"W&¦5´ACù¨‹Õ„:KÊ}m¢"ÚU(D( ŽVY×öØ:‹ÑÓÄÌLæ½2˜“tÈF³j¦¨0§TÁ õ’Ї96¤0³h»-‘sió•cE´47¨R(å,Á˜¶Iîétòã^úÎnž< ¶Š þã/¾ Àì½ÌÖ[&c¶àô`2XD4‹‘ÀÄ@4t° W ê’ç|ê|qþ’¼ä9ûÌ ¾ôø3V  TVܪµß¼’ÅKˆ‘$FtõÛ²( !b®”†`?Úµñƃ|³wØG("`¦H.YR¨ˆäLR†oÊ(A*Gׇä;*=«CÊ¢c1€FÂUR!„Ã[ÉÂÌÝJÛ¶Å)Z‘ú@Ô´Pô[ež³Ö¶˜è·mÓ4!g¡9,û¢‹â ¢…Âä­ZÂC÷ Öì|%ÿøÃ¿r¤Ç¹~›ˆQQŒ}„)z’Tg€2¸©·Ñæðõý¬Ìmaß½I¹_h™‚ ªæð"§Õ€[Q D$þæŒ3oð™ëþ㦠紭—¦=ó¬[\ÿÙ_ܸñ|·êb×èGG i”¦ˆ}Õ¨f´@mP½‘^›Œ#m4•µXÉû@Ud«û• T$šÿ™?ÿC>ò#ÅÅ9zâüÇ×ßðE‰>òÞÿêþþïÿ/üÄGþº¹†ÞvþwÿÜÍ·|¦Çð…?ø[ŸønÒ(}ßòë7|ïü§õÁOþè߬VnÝ,ÜÆÌ•”`¿ã›~éÖÛ?uäèsΜ¾ö‘‡¿åÏ~{ʾïûÿÂþ—îÏþ…zÉóûþÌÖ÷ïüu Ëi5.Ñ»•‘—–ËÉih.õÌÞ³Øû®Þ› ¤@•¢¢1¥4ÀŠ=BiDÊá(¼~ÔXVb"XW–L:ƒªå $™E ¯—avöÌÙÞû•W^Sµ †Îõ•“D³™eV¸(Îq¾s¼V«Õjµº¼Äë\âR¿‰n¦L)³ØÎÙœÈ"O…d˜3ÎY³^VnsBÈÕØ‚ÈÞ hîËåʇ±mŒÎ ¥¦ ÃP²ÀêwC€ÍYîת•:& }¾9 bkãÌwÏo:S¿ø¶wüÆÆÆ¹¹v[Kë¿íÞÿó¦›?   Ó7½÷vw®øÜƒw¿"Bkª²ú´„Að{~äºëÞÿmW^õÔ•W=uÃ÷ÿËñç_m§?ÑšmpÌ9 €å™%˜R 3k24*jx?´y¼ÇÈTôið!4«¾u3_E`Žšs:“°uø|– «Dÿ¢›mþ\7¨K®ú^ßÔ{ÏÌajkí?Ò­žæffnV„—<üµÍ="vvv¿¼ÄëYâ’~ îÊž¡U€ÆÖªžPá²2é½ÍvÈ™Hå*9jÆœV(|ú8Ò,#ÐhæÙ»Rm†y‘i²*ødBÚ¼A°µ`ÅW^tf¤òÎ÷þÂÖ¡3gN_ý±_øÞS/ÜpìÊ'ïþý?¹>EmµZ6›¿;››§æïÿ×{ç~ó]?ÿÎ;>vÛÛ>ñ¹ÏÝCäOýè_ÿSßÿŸøñýáuàhP¤™k®KãïýÅë®x¹Üüµý±'½Ão¹é»¾õ^ÿ¦‡Þuç¿þ©¿ó7ƒüþÌøßÿÖ_rƒßü €ÿÈßrc*i):½b4²¢ò4Œ‹®(s©Ë!€–ê¦LQÈÁ,eIe‚Œ± «ÌPonŠ6I’¹—(jNªÕJTüRB4Y¡}Îw61¨(ìufû8°I°¦¬$®î'FèBÈÏþ_ùÕój./ñ*—¸´cL ‡5ZkF¡› –©>?fK8mÞ Òªçj%î ØœtºÍšs†F#,7Y#°ŠU Š/AÔÀ9Ü|¿)JgÓºc*º`o¾ùÿØ;ñü[–Á'oú_ùãëÑ^šy¬+‹ÿêŸØ9wýéOàå)Z/{½æ%Ö€ÁËK\Ê/2‘Þ|F˜Š ý"déÍšÓPýÚ*¨Œ6.ã8ú8”ƺÑ-¥RôáÆÈÖšú„Þ­wŠ‹a‚Ãg"" Å–¿ð¡q}­‘Ííðá<ýÌ­†æÞ`öì3·ï¿…fF€S/\¦±-WG ÃJ°9¦qÝoÂìÜ„Uh!è`1ôyÀS¿»¤MIfÆOÞ àȱç„}029d¦)§ 5X¡!­¹{m>:]}6W€ÓjO Ô)E_ÖX«G7Z¦Ü›rÒaÙ¬õ•x¼:ИQÜ(ù“à­•(q  Y©?¨Ñ b '%ŸÒJª:|¯ý úø¢µaV«Õ§?ýÉÞûîîùårUÏöWLèzÍK¼äâð†]âR¿5óÕj™Ñ›2 0eL°•RO¢+t2ièFoe`JîÖ(3Z£™ âåæãÂÚ š‹nÞÌd€‘sa^ºœõCSäìf Äþ·Ï¨Td y!õf4úþ¦p¨çúOÈ \ÿùÉRu'QQ¥AHL)±ÿeÉ̱@§í;«" Åú>$•[[Oô %*0¥“=ðèsߦ$ᣵ2¤4kÅð&ØZ›V+HÓ´¢“ÆI!* 7sÑ ½÷ùÔa¹eB½ñ¬¦Vi03#%dG @1¿!F%j¿ö3ˆÀÁã@¨ª$-—{O=õøgûßüOù/ýÿÃõÐîyjèRò×¼ÄÁ=œþÔ7è—ô+BI”s¾Ðš!ŠšJDHhê iê™Ê0zó!ƒb Åk² ™W~OdOe=‹‘©TfÞ³Ó˜”q_d8X)ëI(Ïž¹ÀÕ×wßÝ‘áë Ä=—Ý6<@0zŸ"´G ðŽð™iئޗ}ÚFA«>mm,zßc’C#+ ­1}9ÐЀìêî.ˆÌèªÈž­“uÚYRF‹ÈâÐËØ!¸äh&&ÓˆQV2±Û׃i¿Î´ÐAòûÞw×­·¼õškÿôOÿøÉ“Ïý›ßüõ?ôïm¾ýíï~I+„䫉}¥%êIe™óæ¢iöu‰KµËÉ5op) Æ6æ>‚4›ã+` €ÒÜ+?¬@‹N)"3Í͆Á²Ã¬6Å¿ÉÞShæi²Tf/~´†”HOßÿfÕu`LfÓêÈGÿÙ_ø–þ“ëoøb¦=öð÷ýöw½å¦ÿ~µÜ¬:™ûíž2H²uÝÕF°#>ùñ?Jèº7=4ŽçI°L¹°±ÙªwÊ}AÿâçÿÜwþÒmoûÔá#Ï<{æšGþæ~ûž;}¿‹’)^ ‘µR)Aã`dÖœ2‹qд16‚š’´UïÑ£Ñb/ÚàÑ÷)*4žÌ¨Ð%gTî÷P$èÆLYô‘uµYÎ -˜fž’¡ré%¨ ˜oŸ°°l¯?gUf:=´‡aüÂC|ä#ÿËSO=þK¿øÑÍÍCßñßý’–ªTþ¯–’|áï-±nÀY%;V7ðeá?o %.᱘P("hî&°Ñj/¤2½ ]VÝ‘DåT$PÞ ˆ3N±Í©ç¤Ul{ÙµJƒh̨3NÌ*ŒC6Ô^5°#þîü•€+À—~üoÿÕ²J¤Ò"N?ÅÿóÑ ÍA)n}ëÇœ:u=€:"â#CY¡[*ôÿñ£?Ù›YZ’¶·{Å¿þWÿ1Ö¾yõ)4å*RA†§¬-÷ß÷Üÿhƒ[]2¤”±ì?ö¿ý5ÃEBüÉû!`°€Þie¨èÓd-[*[kÑ'¡ãbè1åDøîrw6zo2§œZkô–=CIC$Èn°˜²-šÒ²ØL„›uM6SZkÖ•˜±ŽÌÜA#mÅ Òd ›êõ:ûA•ï¾_Dì’>þëÿúç~ö§‹Å•W^ýßù‡në;në;_vÍî¿ÓDé⟃5Ë L€TôŠ7ˆ7—ö\ a¨T¹-VOÇÁ¬K2ôìP"€ks(MJj×Éœ&'ÉéiÝ&ôÚX<.Ì3ANJR=¥\ŽD«®sÅјÕbBˆfZuetà;¾çïÝÿ™{Ožx3|yËM¾ÿ[ÿ€G¹3‘"…›W sFÀê&Æ9Töf-³xÌXE î=&É Aškê¤G® àß3@d4z#zD² bDαSG "Ó|p›2‡a¬~ ©sÀ2'swo­QD rÕ=…6 îå^ƒA @’¹AZl U6;=z¦ g\]ØÃa³Ѭ+‘r0_jË ÛÄrĽ¾{ög:µÞööwÿÐýwÇ®¸òW>ö øü‰a+¯nw逿5,ñò°ÃK~ çµÄ%ýJM=Ú0Ô¨\@Bƒ[ «îFÁdÖRª«>¤®lèÙ–Pù$åjÕÚ8 Áô6Ì Uɇ&‚™NÙh@6kUÂ8½GÔgP™™Ñ„GôäM·ÜÓ-÷üÜOž¸ñó÷ßE(S5ÉK%hMå`I•TY:¡@‘¨‰alÅÔ‘}ÜXL!¸›bêiè]0äÐÆ4ÎÑwd_­|Lif!\)dph1u˜¹b¬ú2@帹E0Xýâ†EL2Ïæ¶“YQºÕÚ0MSsWjbÐlJ!ÔèÅ-pRH0˜¬°”2ZdpßÝ8k=%ÐI&¥2C*µ¯Ç\ŒöØþþyûÛï yþüÎ8Žf¾?{ùFzU àWZâåÿÕå%.Y‰"½™²ƒÎÂðQ«ÕjÆÁèÖ ,btWRÙ…46j2V&W) +åà>­V”|¬'*ÜYLEÂ0Céeœ“X+Åž’LuÞiäÀ  …Tæpÿ—ÿ÷÷¿ûÎ]síãÞ¦sÇûÒŸúä½êÖÙû2,›ÏaCknÆya•s*/3"Y®YYDoî=³ÚíSïSƸ”h‰È\fxRJ‰Ck« fAÊ¥¨ìE¸ÙÌ H.Ëä*­À>SL“Ô3ÜŒÌbÊ\ö,ll¦›ù*Ó+di¢é°Õ4™YLÓ$ÀÔ|Lå`ÌÀ¨ÌðXWF¨€„ÓB4¸ 20z1ô [êÔ×{Q/isÜ]Z«\rŽ­ÖW齿%¾ê–~-qéÎæKÙL`fÙ'€îNÈa{{»‹qHU%A0c¦*ÜBZM}ÆŒ©¯¦æÃ„ôa(>ìÎÞùa½ê*FZ(&ie^¨¥^cH@™ˆž¦žŒŒiµroO=ö®'}wVeD5)2­ÀDŸÎ/W±ÚhcÛ0„yéͼfüYMvš+³yFæÔ§ÌœºÓ{ï­ ½¯š8 }5Ñ™´I«)z—Ðs¢),iî`3e˜Ql„´·Ü‡E îtäÞ´lËÆaŠ™n R«½=*v—SsÛ¸úîŽløhÞ”³  µ6-æ1e•U¬c©Cs…lÊEÚRI„!a†.$Ò&×kÃë×a6àÙ¾ÿÁjµ:wöÌrµ5úYëb^ys½†%J_spèýF_âÒ-ÅP<­!‹ZcN‰@Ï0óžÁnãÐX²7eôiowÙ`‹XaTUL WÍ”%š·Þ£O“ƒànƒô>­(å8‚Ô!sºLe®r²´ŒÑ+H”=zÀÎïíº·z¨ l«¨‚(BL¦‘ eÊ!6XNM Äb*¦”Sô>•_={Rd¬VØ:ÉžÈåyo‹à¤ÞE¬œ>ll2}ËÁ›ŒÊ®ì4Œl]{ËÕr±yØi½àYÓs²¡•€œå‹Ööæ–AœI°·>uâÁû~ëÌÎéÅæÆ¸ØV¢H•Ãè÷~ëŽ^y£9šy02³î¬ë™˜Ó©¨.˜9#hÍÖøô06Y2%çëg¹¾|SH:yòÙôsï‹_|Æo¸iœñ•U¾_}¢ô,%¦Õ¦ø|‰Kø Ê0º™Q¡ì¤cn0 ÃP·“Ѭ Š64Kˈ.ˆ-ööº`´½iåVjgO€´½å ™ÃÆFcGrJö¹_“˜:ƒùˆˆŽhé1MMLvõÅÌYEϘHëÓêJq$UÄІq±9ø˜Ó´wî¬|´¹šŒR_:|ÄiÆe·¦¬‰9aZc#@™5c[”ô‰nW”3tg9=üÐC|ê×Oí¼¸¹XpÜЄ4“˜}‚°uèÌvνpË7Þsïï÷ñ}N—Ncµlö}%ÕñÏâÆÕ¿ª§ÞÆ‘áÎ;ï7ëSŸ|èódN‹ÅÆÆb“nÞü…_ؾâz‡§¦šd‘fELf*¥’IW‡Ú’!ÉD!TÁ|ãG°j¼^ô…‰ò—¿üÄü¯ù>$¯ºêšƒÄœ×Zb\´paÇ~¥ÊåºÄ¥9SÂ+ÂÔ¬LðbbŠì C‡ÌŒiš¦4ÒÇQ ™MÓDóTF_‘Dæùi¯ùÆ´ÜÉÐæö–gF¤ËlH 3—¯¦IœX £¤Ô݇FŸ2÷Ö‰²>Û¹CÂà8Œ6©æ­µCžñ̃ŸûÌ£_ú|öiØ8Ô|«X­&¹e¬Ú°yhsÛ-îþðÝW_u+¶ÖbF®g #¢ñs„ Ii‹Í­áŽoZixèþßþüTU¶¶þÊ0^‚™QF f Úð2À»â¨†Ã_àO=öèsÏ={úÜ£{ «wkãÆÆæ·Ýõ¾ëÞtã¨dt¥Ì C³E„æ`tšÍðDX6ùb¡+®8zÕñ#óؕǞxò‰gž=yúÜ™±-Æq÷¶66ÛŠ[n=Nó92Ù 0Vƒº¸%…³G¯‡T‘/ê›Å%!Ñ,`ËÌ#Ƕ߶¹õô³'Μ> ¶CG¯¹êèpüè†8ë”cNO,{{’sצn&ifb*m-]#MJa.0‡Å‘£Wð¶`±wúð‘ÃN3¬0Øæ¢U™)RÕXDF†]Mäæ3F‹}&ý°¯Ë=èà>!ùÖ·½û¿ùKÿóÞîǎ¿¾µaîr¼Ò3þk*..º,¼ô?çå%.éÙ|2˜¶Ü]Þ÷ùGž;¹;z»ã]ïºåÖÛB‚CI+e Y ƒÃŠAoTˆÍ}{C×]{í‰çO™ùÕW_ñüóÏŸxîùNŸî=}Ãbc±¸úØáÛo»¾`>&ÌèÑ¢ ¶A Ÿ•}&‹RÁ ›§BÍUWožh¯»úª£GŽ>wâùgŸ;É6ÞpÝMGŽŒGMÆVxðÊ ¨}ª`ddÁeYÌU&äÐлY#ˆJ4kl©tX^sÕ> ‡]yôØ‘ë®ÂÖÆ–[“JgÉÚ< /q ªÞP±?œ&¦ JR…Í*–”Ã8n‘×¾éÆ'yþÌÙçz\[OA3ÏRJÉJ£„ÒÑa=$#Ó‰˜­6"AJ¿2‰Ì¯Ãlþ` •4 ÃÍ·Ü΋žö:Д½¨ãº¦¶ëkZ¢>¸¼Äÿo^]Ù2–“–{»Ù#"d‹;ÞyÙ\ìÈ*)ÊÉB¨x`е¡T4C†¼”î7xh{kssëŠsÇâ™ó»»››ÛÇ_÷¦«±ÙZTˤG ‹Ên2Øú†2­$CB¤Ü}ʤèu…rO° ó뮺zksË7Ž ‹<²cs3Á*,x#)ÂA¥Ãµî“IdPg„0¸{¨rt¶êSWH¹94·¾àrk<Ò-PÇ´f@>XÒBs¨t…j—bIhóͤ~ÉÉŽ€œoœ¬óÖÛ"§L˽U†y–E7OLÕ@c̵ò@F¥éä`>ÈVu ÍÚ«ØÁ‡ñk9ƒ ¨ %/úÛüw½ä!‘øà︼Äk^âÒÖ;ç—]쫞£moo]ql âéÓ§OŸ½öÚëΜ~þÈÑ«6n`@ÆÂo°t70B–¨8e%©€æýe@ †}{kû¦›ßòÜÓ϶ÖãêÈöÖLÄÆ’A ªTAˆbVá:øžf©´²HAdt­bÚÛe" ƒëìé§ûrñ¦cÇÝ‘s/ºz'³iÃæR|~à$>͉ ½Àá´PŽp‚n™BÏlN¦­ŒÓ O?1èx^wiuÉšoÔÄe-Irz1E¶FA^ŸÓ€Dð^XÝu£Ò,ØR½>õÉÝè47%½µTd0Ù7 ©~¦‚°$÷ak $U0=J;ùúòÅ”:þÜ™³§º°CJ'9W†ã¼øú=f˽%¿‚æò¯~‰Ký ÚÜ>L‘™[›ã‹g—7Ýp•5Kã>|ß_¼ûî{?ó™ßü–oþ¶ÅUÛa3g[„Ü4Ñ8Ÿ3tYœ¯t¦ ­ÙÆ¡ÍÕÎ9‹nPÎÀ¹Eª5¾µ_ÝS¬S7´WÖ oæEöJá;çvÜ8e9©¦QF4k®çï®Öÿ+Fñ—)UB4ؘÕ*'Ìrމì v˜ËÕ´³œ”òLαñè4›{Ûë$—jkKí³ŸQÁ®Œ’!ȤC!‘i{»SÏišúrJ·Õàô:@A±Ñ»›2u `6ÌË©k‚pÍŠîŽj¹ ¾½¶3h±X<ûÜÓ;;;õÝΈ*1*B(³R>ÌÖW@北Û'Tð¦·Ü|y‰×¹Ä¥ý2s#ÍÙ,•‘¹}d³ù`BÆÍ§ŸürL!ésŸ¿ÿºã7=þäÃoëÛ?ñ›¿’'-õ¡{¾ýhÛ02¤áB­[›M™}Êti’<ˆ¾šf ,7 Ñæ9U]£f‡˜ûœ3ªpË2b*7wPbï©å’¼Wvª}yŸHKf¥9%²N#­®{0:›ŒTÚL˜²T¸ÜÆ>õžÑ“^™ª˜YD딥D[²ŽŒ¬C•ˆåª«/‹ªl¢Ì¦ÈÞûÔ“‰L3/`œzfÅMÎ !PB|F$\ Á š %9Áu¾¾ZìOþüqàø×áGðÓ——x½K\âG#á–¤¬w‹&) tók®¾æéO¦23¾üÌÓ[‡®úòSÏÞôæ›NŸí7¿ù†³«Ý½–{Û E3O` Ey3“‘Š”E¦Òa¥¸ŒÞcX|³’å ^2­AÎ[76C€æŒÄL)—lƒ‘IP5^6ƒ¢d±Ztó#¥åjzìÉ/ÝrÓ­ÃÐv—ËǾô…[n{ÇÆ¸˜·âL®[‡sq2'H „hQ7ªµ±hÌ«)c•l0ø\äT“»RuTÒÂ:Ú>ɆʵO5Ô&acBÍÆP&4„±+e}ê‘Ê2½4³dz±TÇ™6“1Mæ-•ë_´›T3¯ ¤Õgöu›Í_~]~½öWDJP6‡ud„<Ýê¾ ßÚ:|þÜ ;SYÙ]‘ªbkC3 ÎÍ\™2O˜KQWÊ:9êì°Ì4 êIi¡(°±6¡"à‘«\GÝÎ%œª÷47—¬úM! VnGµûº›5¢ rªG}¤CœÌ½Ý½Ï|ú¾Ï<óÎ;¾é3¿ù»K¾å¦·aD>Ïåæ±¼Í÷—¬ðu&3°ÕAR“5²)d&3ll˜§øäùó;À¦ºÞenÚ^,3Ì‘&À ¤)…Ü’huÁ±òwP -èö¢£)!%FÝ0Öm¦èà P"F,Ñ´C]iL2AZFν/äéòtùõPŠ%r¾@ÀAc"AÚ<´qà <ðÐ0´cÛW<ôÐçmÇáÈ¡#‡¶šÇŽsc 9) ¼®QHÁȤU̳y(§Bªx­Mž‘=òðó§_|ßûîr›[u=°*ˆH8,HÐ)èML(aP8‡È•f·¹Ë”b9røƒøð¯üÚ/=ò¥Go_uÏ·ß½½µUµˆ¡bç‘ÙA’.X4kÓ<«j„ÁfþtWæ T`&ÌPýOýèG>§®¢4 Ýþ®w~àýß2ÇŽÕ,/3‘0C:æ¦ÓËRa%Ms,Z¦"úlO!E+~}µ¯çÌU! £Ous¬Á\–<½¾Uð€Ì¤°¼|]~}¼²Ó›ˆåj¯Ze]Qv…›o}û8ŒÆ7ßróÛŽlo}Ï{V]Ã`cküà· C3 ®Á¨.4”ÁaPŸ[¾ßìftk›l±Lg˜šyÅŠö̌ܙ¶=MSz7oƒ[cv(bNd«< šAf@L|"–‘!k2Ke 3êÈÑ­qÀΩä1-F¯Á„ ¼ä>PÒjxO¦2 juq›K«j“×þå pððáí{ïùS_lÍ †{èð!§¡È·Õæ"g̵"Ý DÉ .ës{EvsÏ®(çy¾@‡MÈœƒ\¹ÎªÒs–GFM„ÝE’Õ3—’€`òËgÐå×ïþ‹æ»Ëih>´‘³§Ò:0G¶·Œlk1$0:Ç*´¹y3Òhû#ø6»!€Æâ©VÎU”Ô Þ‹g€nhÝÀ“/žúOþú4MSïÑãñGýŽ÷½óöÛH 0ÑVpä”*®mŸÛËì…©Qàhž´-køÏs{;¿üË¿$mßó{?ðÀƒ÷ýÚÇõÞ»ï]lŒõ§‡äõ>Ê`? ÈDscQ\-I$Ød©¨Ï`%EjnÒIƒ_Ã5T ¢H1ë « ]XGd ¡à2W-žÖÙ Âàµ@ f³=a‘%cöÈPd—7BV*íâèEzm²ƒr“ËgÐå×ïÞl,–ô¤ÉÂ0.ƪ%fkgõ6³KëP :E 1Ï{ †ýÑ‹êáÞ&€IH“T0UÑ£ ×_wst,Wç•Ú:txÚUW^]yé.Êàò¹C…4Âa4*8åðr:<%£/3G2+™I‚‰k®yË»Þõ¶#ۛ׿ê‰'Ÿª\V+ñz—ðªÌ °Qïœó„´n‘ªTœY+PŒød"Tî/*aÜŸÀ™ˆ„™Í­B*ª¾-1™ê~SºsÃ<ËÇ Z Šœzï=4zkVùˆó‘Ùâ sEÙ#œO±% ÌŒ#”°rB™l†.ð¸eˆ–‚{é€Éª¯ŒŒ€ÂšƒAôÖ¬ vx{ë½ï¹32xàS'NœúÖ½¿5G… B°Ð[9¤¥ÉjHfÂ<òÅ,Ŷ!=am0oi4fuƒÚÞºëý¿Ç(‚W;rå±£šmcÁ× XZ,+VÐÊEU´M•ÔZ±0%Y2X£EiÊçÑž¡Zc³]vM›' —¥%¦ÈuÛ\ž î5‰›ûaaÙ{†Æf‰‚£šù ÌDJp³L­úÎt1èLœŸ†y˜y.vùõRŒ‘FÏž°Ð@U™˜2_OáI1¤Ì› ³ùrYS7•In¶rXÖÈÏbÎê£,JvĪnsRj>ÊJø @×l ¡L™ôê%åÁ¤çßù ú§j7@Û77ñwz™¤,ŸˆYÅÈr­ô|¹Ò—kÔ´»¿ðÂ‰Ë ½¶…°<}éA=¦ ßÌÝ;Q§K•“rww¯ WÝrÓõO>{Bõƒ1 ”å”Å ÀÔë¯a´Dò±ì±p“5fæ\ø˜€ºK…2RÍíÚ«¯È’ø^zë”(rª» Hn—7jª;ÈÒKMêz”aD$­4Äœ¯sˆ;ÙUPT5X9ÏçX2B ·êç¢Õ èåù@øÌ¨ŽÒ1´µ±gf§47ÑYQŽÁçÓÒ€¾/b€X¦2Ç,v¬Cº¢³¡aɶ¨ã½¨ÿÊÈH3Kq>ÙË¿’œqHBI¯p€B9(vÑ+Ïö«ŸA{{ÎÃ&= IDAT{çvÎ:tthÃ~öÃ~èÁj#Í~•¯gŽ8›¿<vÒZÌ\­V‹ÅâòB¯y¡Kz6O¯ð"Ӝ٨ܳæJŒãÆ¡­q ;ׇ2@*`”’°²_ !6Zkêk ¯æ6#j&ÃlÓœ«ªâ¦Õ—÷ ÇBÎ!eë´EP°°¤b”g«Š c&Í‹k‘•µªœ)…sfcõ¿X=¯Y,‚U÷¡õNÁÁ)"êœeDEÅžÃÓŠ´mÁlý³4G\T£Êh€r>]ëÇ©Úϳƒ¢X9w9Û[dd0;­f}©}n­uèb…@f0§˜P$˜.¦+ëƒlÊšJ3ý*ΠåryæÌÙíCG‡áÂFÚß<Õ‹?ø±•h¼ã¤]¼óö÷ÒZOψX­V«ÕêòB¯y¡ñ>ƒÚè“&'V}Yãj!™pæìéÇžüÔ>óüãO=õ–7߀5-ÝH!M›)HŽnP.Wiœ]¢"G°[fš‡2fŠNjß罎o§€ŠGMB @–Õsmx KÊææL°Â“Z+›ýzŽn"CHpíÖ,#ˆ„õ’B|@óÅaf!%ì®6Ï\´Îu¤ Õ#”ÉlÃ<êÇL •¾t€5¶ÏÊz¯°!Ht"S9»ÞP†ß"t¤.>ÎŒ©lC£[i1. ¤­*ƒ,TF)ªOA·!½¤—Vióu:C¯>o^R¥s›fú/~zs]:Øz_Ù~1±¿•öŸåkDÎEauG¾¼Ðk]èR¾1媇ÃS3Z´ôÀ«_~ò¹[o»csk{oçìéÓ{xó|eš½L,•[”ÁI2šš·Ù@nm#Á@62¸Ã4cR&Må]*Î,‰6"çûRõ†Uà÷ LÊJ|_§úe'“„™ÓÃ’i3Ê”•L!3‘…šÿMÚLd£¢”V¡rZHVÈi!ˆ€£N=)‰–³åÊ€0¦Ìb®ËÌf½'×ä²ÂœÔWª¼¬%àìR6óDÙëKU‡eºêX6¥R¢“.¤R`*":h$2ÓhÆ–Ñ€A¡$Ô̦MN,g¯<}îë¿ê~Ð>€T³xý%Á3õf?Ïçà£:“UnÖo8ˆÈyyzßå…^óB—¶D1@wtY›%>pÖÜúÊ£WÞyÇ{}ì±ìÏ_}í-ï|Ç­Cmý4±:5B¢ ÍÙ#ÌL½ƒ ÁœFBôJd•emÎÌÈ 3Su\­peEÜa`îþ®‹…\›$Œ±‰34Y’y% D$PŒÞÜ‚êI%5c,8,máªÙ=+™^IU¬w5ªƒfDÎQpú˜0§MÒœ?«N³¼n 7æúinj ¬š+ å 벊IB]‰Ê¥+ܦ[[õIˆºËDfôp¥Y“ÑÍ8 ã!¥{ËŒ:>c6'Eƒ…@1Íç™,QT[Âò@?Ⱦš€ãÕR#€G÷AkíÓüa=Æ÷Ãj¤ýßó»¿ ®iÒjÿ¯U.'­þÞßÿÛ¿úk¿(HÈT¦R(÷ÌkYèôéSýè?ùÂØÛÛ½p`½®wt ¿Ä  §C„ÙI˜ÆÛn»uý‘GŸ¿ëýï[ ¨°Ü?ŠhU&1i^S#AYñÊ43ËñË„†Êtf3'=£«UçTowþ£ÅÔ¨Gt3­¯¢fQ0wä˜îÖÜ3³žô3/ˆ@,s6£jÖ:Õfs¿Ê%¬¯¥W¤™‘¤-:hãÈ…Û"Ñ!¥±0 eìjf;;;[‹ÁŒûðqÍK¤f„¬*Á£Z\„‰’É 6Œ‡RãÎîî¢ ó›h4³ÖÌ*°Èš¹×%’™r¼،5 'Y½§êûïcTé–2¥ ¢ðõÊÕ¸°c^–œõJç>Éî#}#/$铟øÕwÝñM‡=XM9ÝͿօvww?ñ‰_yðÁû>ü­¿÷ï¼óèÑc•Zõÿõ;úFÕ(Z3tqg¹êY²â2m’@Æ»îúÐÞîêÈÑÍ2m¡š¬DªW‹™ŠYhÜ#£î1F´­a•DÅÕÛ²²‰[#V3‘”ªPÒr˃B8MÈP)±ËkéN™©’ÈÀ…Ù°ámÙánPˆ9c…èj8¿·GȽ­óH³R™3BdíPAÉšÖ§Ðl7ŸÝS/žÚ76‡­åЖ» ÂæærBÈÖ†³gΞ?srqøø´Ü]gwÈ…„[&al¨ócîž™©¤ØÕ3µ×õÔ3'vw{ÇÖW«U»vhmÕ)Eãúsƒ\t³˜ÕÚ´Rͱ†ð²¯V®ó\\¯¥ùæÊrxµžU]Àˆ¾b2ÄÁ€š‹O‡ýŠƒ’m–!’xa#}c,´ÏŸ¹(ú]øgÿô§Sú?÷777Jù™*hük\HÊž?yÿ}ŸzúËO|û·çûßÿáã×]ñ1ô5¾£KúÔ£7ãæ¸éîfÖ3[U¡ÔáC›‡m¬%p1gÒ+›5ÕµR°^uS¨ #§æîmh¾X´½¦ÈnXµœ‘2ù¹³gŽ^uƒÍ¨º[0ΣÉÓÅgfF ¨M…Å‘³'ÎMÓ´±¹µ»Øn<µR¯‰vV‰C4úr9=â‰ã7¼mê)%ÕÊMZUX³²lF³BŽª]ô©3_~ö…óç÷÷a1ÚâwÏF¥z# ¸›»S|ñá/9vfÜ8D³ê-Mœñ$ŦJ ùâ²wô¾ŠÐ˘êÉPƒîî‹…÷ÞYØ€Œ˜”0³ˆžnÊ„­ûí 3d†,"S ÂĈ”Ù;öêÎ ½ôŸø’sáo%oŒ<Ð ÑÅõÔ…]ô°Ð>Àå% š¦Õ?ÿùŸ…ô§à>2g”›„| I¹³sî _xàì¹3/ž>uï½ðÚk¯ßØØxmïè—(&¢Û\‰´åÎéí£×G¯Ÿ[ɉŒœ “4ɼԻČÉ-Kö['O>×0lml/7Î/ÏátΓ=sÍ¢§Ï¼xŹŽ\s£ÉIDôª*iL†y,5rGmÉT =ûåçž>ñâ”±9nî:¼{þðêÌtÖ*“Âbh¾üÔ—OŸ9¿¹}¥·at‡¹;†¶©ì™©TdïÑ{èÓÔ{L1Ť.††j¨lÙæÞöѽs§£ŸSäÔÕãµîHMS晓žÃz _xEVgˆiÉ(£j‰ æA›Œ²qc6ØšÁ7ÛÆÔV«iBMè}¤Íà=Q2ÐY¡œùg¦L3"E }fME·&]©m)6"_eOš݇^Z§ìW/)"Ö¨\Ìd¤‹7áÁ6÷9 oè…„[nyëÓO?ùýüÏzóïýÓîðá#¥ÕÒË ¿êBû,—{?öÈ??ý³O<ñèïû}ßõ®w½çÈ‘£û’ WÿŽ.í{\³BSE}pÇ™3/.¶O\uÝÍHL«=–D°GYPÍ(wj>°¨ïŒÌÝ]=ÿÂÓ'Oí„s±ØÜÜ:´Ú<¼3í1Kd8 `´ñðÃyþÅqc›îfnÆæ †f™&v•}êÑû*¦>õHKYª¹LÍ7Ù:d¹svÁµ™<§g_Ú©“/<{òl–,5}7/Ç,ó°ŠÒÁŽù±³hƒ-6ÝÍíð¡Ã–ç^|~µÜ­û·{k´ÅbppêÙ¥ˆìІ¢¸*¨vùñÊÜ–¢ÙZ0)t-ØfÇÅbgwicá‚‘V%ru±gß, óJ–.QUÅ ã€¤Ô 02 aƪA&$ýÕçjð+7JpÀþJ=ãyºðJw–¹<™›­úFYh}C¼ø¤ƒnºùÖo»ç÷=ú¥‡ÿé?þ‡÷üÞûÝw¼BæA‰Ã×°ÐÕCæ /<ÿ‰ßøØ©SÏßsϳßüÍ¼îø›†qüZßÑ¥¬Qä•iQª<°õIO<öÅS§^ôÅV³±5w7óVo»1!Ì){®ú2û4MËÞ3=ÕœãŸ<76ï:wîÜÉTÔ×ÎÌ̇ †ï}zö¹“'óB²·úæ¯Ósæ3×›Y*ä‹aÜ€Il ãÖácg^<…å^sv 4Ž‹¶NUh•Î[àÄjR+3«j ”Ƶ\z™9Â8šÌ­qØÜ6¶ãÅ“4y±WiÖ«‘Èäª#fà¢H%˜}¿ý¥h@dé0µï£hИ¶áãæÆbw÷œ{ëÌ6ÿ‡³Lœ´ŒN’›E¹ýs¦ÃhaÉLˆlFÆ:Ýh6áJ*Žã×Ö“ÖE{`–¼4Lý¢SãÀnÁˉìUIdæKwÒïÞB ¾ÒB¿ò±_¸§}çŸü¾?ÛZûéðÿùñß>|džh~ ½üwþüÎý÷}úÜÙ3§N=ÿáß{ÓM·.¯å]’=i]Q¾yÉÝ‚Š)Nœ<¹7Á …u55‹¬¢…PB˜™Ì%-·¶ØÈšÁ‹CÛÇv^<º·órJ©cÃbÊ@*§P(2"ÁÁlå¾VøÈŒ!•‹köSEÈ{‚h.3Ÿ¢/ÆE[Œ8«I~vȤžÁ ™ !êj«œ/;•˜z¯ ‘ô²j™Ó´J’¾€Ù¢ W^}õùÓ/ìœ;šb2ra–²„BŒ,xBèó´fà2pJ 3’ëäq&ä´ÚsoF7tl-6ÏØHf‘ÆV©†©Ò`ÊR9®Šæ8ù$$ÌáE´ùÚf FÅÿËÞ›Yv^÷açwÎwï{¯÷îÙ03˜ì+A€DRÉvì”T#†Œ,©¤-'–í¸’T—Ë*ÊV$9²e³$Y‘’Xå% ÉJd’(‘w€ AlÄŽÙ÷¥—÷îýÎ9ùã|·§{Ö29(½Bƒéžwú¾¹ß¹gù-re¼y÷ÕÁ;† uÀðÒ>¬ì:ˆΩ–÷:4ƺÉî÷D :?SÎùOþˆ~ü?ÿÐoÿÖoŒFKãã“Ì%]a  à rn_zé¹S§N;zøÁßsÓÍ·MMN‡‚úZ¯è*Å ÙÔm8jÉIÀâ4rÊš5C-nç"mÚ}¾L¥#2·bÓî0‡#g32ãzŒIà:16¾4³¾žqjÆ,FîÄÙ-«¶FÙÜÁf@s"U Í "Ï‘T»Ý|"ZW4ÃÔ«WÔëå6OLÌ4ó§GÍÆMsScƒV³Æ ÅØÜ_4:»›ú¡,"8%¦H 2!oÍ ¨8çLdΨÔ†Á`¬*â”êŠQ¼U§V-'™ˆ‹×3ÁLád̬Glí8Šæ–$¡Í-R›¸§ÒëÕ6ω!©êÕƒ Áª…»•W ¶´ìDÅÙv8lvf2wÖ0êЕíæW‡©s )'!d%/…éY}–.1Wý®ZYZ-rò[o»ëžóðŸü‘»/..óÈ †×èB_RÕ£G<üðíÝûò»¿ÿ‡î½÷›6nNUõ®èjš¹%©nÄâ¿e‰uà=´ú Š˜º»‚M&˜µÆªpïA U•z-òøÄÌÂÄôâp)\ v‘Ô1®œE:À´YÀ‹J–´bÄÃe7âªÊ-£]€YJ•÷ê^¿?Ù;=ôÔ¼-øÚͤfMâpSb$ÂPV‹ uwTUÍ¢NìÔ¸j¶ªNd”ó°Íó@mnKÑT©ª*wsXÝd28›©ª‘¹Få•ÌLNšÍ\C¤m(U=ÎjL”Û¡¤:kvrI•znšAŒÛă^ª‰<‰Tu˜XØÜ*re@ (›TUs–Tu(þ ]({’ÀìIJæRŠÀ+ÁsÿŸ³ŸêÑè2_ï‚Nêx ÚIß@+÷b+¹Ó`0ö?ùÓ{_yéSÿáãssë ¶bUq¶ö@—ÈP´´´øä“ß<~üèÉÇÞ~ÿ»¶oßÕï.{EWqÔºÕäBR¹’IªY$p€n€.2g åä²# CÑ6e0UÄFf6.¦Þ˜0“jLÏWÇ…Ð:Õu-RŽùâÎV4ÊÈáêNê^qå77vî¬p˜ÙÜrÎì®9WâZ%3¡?6ÁuÝïõ œs£\qk¹ÉÎÝ=ainš‘Æ)• ¬ÅÅEJ2=9Í@Ö¬–…Rέ!f7>ÊKȪm´r"@Ûæ¶ms;jZ[jZUÎfÚdgŒšÖÉ‚Û5jF¹iZ³:¡J}5Óªb‘Q“³¶¶°$UåD½º'©ÒDÊRsÝ`´0zi8_'™L¥^Šé“ª2CÍ›ÒÒ©®ÃÇàË㳲ػÓ‘°{ ïæñkÚÍûù§få¾|ÅT+¶T«Úôçëþ¸…Ó|Z=ç^ä=úeùà‡Ž€o<ú•H÷¾Ú‚yˆ.ºËZîËöî}ùþèØûÎw½ï–[œZiJyN «:ex¹™:\•á¡_#wµT˜ Ø-œ×8JïdqÜÁõofY='é©e2U˜k&À¬©½Þ`ÚÖÚLœ\“ikªDìfmÎY•¥âT1Ì ä-ƒÌX]-›‰EÝÝM€ gÕÅætÒÊ f T%Ͷ´4/RÍ/-UæÃhä1”\‹Ã¡¤JR"÷…á¢6J‰kå¦Y‚³©*¡'­j!ׂ ª0RkÉ­Í™YšFOŸž¯zý ÅpqÁ¢mf:–š¦lã„x4Òáâi"ñD"½¬íÄ`2IjÕ¼xúL•ª~€‘ûÖ6ÍÓO>Ñ,.ÌnÜ893—:ôtXº&53k™Y=Ögæ !QXÙ¹…Ì.Á”¤ÉM¹ôlv>«^Pä«vÍêqάž õ]>™ßÕ@ËuйœÌìk_}À>ø3'O3ósrÐÚÑå²F\ÎáÃyä³GŽ>úî÷½ýí[¿r n «ö%`ˆ”PìСš¥åÆÔÔ)›:©;å–D îM;jZb¯¥_W)>Ý‘¶’‚˜ÝÔ†Ö‚43¤i8 ¹ªAìšëz°Z^X\Ê­£òÜŽ†MH£äœ5«»Ú¨Òl" ŒÌ@mCׂ5·Öv$œ,匶iÕ sÚ¦ ÛöäÂBöfд\ ,gb¨ffÖ":ÈîÞ4£¶mƒ}Fæ§O©Ž'NfšÍçq%”•“Hj³ZÛž8}âè±£ªyjfÓ‘3>>;³n©]RW5z,É´…‘“&GkΩ¥_ X©NRU•H¯®ëº‚HVé¥W_|ùEs륚S}êøñ£GÌ­[·}÷­"šÂˆÑ\–¸_™#\Õ¸ibw ŠKà4 €†˜7™B`Ž‚ç·Æ:h-l‰ó2]Ú—xe›²æyФ@+7ß+¿áž{ïöéoùKŸ7³3ó§ÉWå + ´FPÏÂÂüÓO Œk®Ù:99UUõ]E¯ºª¼£0˜Ó°mÎÌ/MLpÛZ³4lÝÈ9vÚììU53¦ÔÚh4Z`PÓfpիÞÏ571r®SRÏ<â^ê+Ðæ¶5®f¦'Ž^6c̪­·m6ç$fšÛ¦5⑊,qH櫱‘œxñä g$®S] #눉Zó3 §àšú½ÙñõÞâÂÂÒü"ê>‘$Ò¦%°Ñ¨9¹+eSËÙˆ¢ˆ £ùÓ'k© q’¤î'NŽFš[€!¼8¿Ðš“b÷õ·¯ßxͺ ×,.œ:¹÷è±Cûª>ßÛÞ¶óú›êº×Éß8éÆTÄ"X‡H³;o¿åñ'¾ó•G;rhÿ‰ãdžÅ ë¯Ù³ç޹™¹6×Ü %5s7©ªØò1³©«©”µW‡ò£n’–ÅK~¢e˜Íª#–Ö8 ZcvX l¡³Ã–òóùùCÕ8¾ïr øÏIC óøàÏ:tàøSS³NffE'ü ]Áù¬{[¶n»ñÆÛ¦§gÜÏ•é8èêÆ¡1M’‚µúÔ {oݳTw¨©‘µÙ†ˆÙÜmDÌ®9+X¸ÉgÚ¶/qßÛaãÞ¢ÃQêõ«ªrIógN=vüÌÂ"CŒ'ö9Ùg]6 &O©6k–FDä”<ç |œ˜{’DFBJ•¤TÏÍÍÍ/Ì¿r`ïÂü’Â*SUµÖlýÌÌæõÆ&çXÛ“ Kó §ÍiýÌìwܹaÃú‚Ç‹Á"N", NRI’Ä’8±0 «Ùþý'¾òõGŸæ™ÃÇ GÃùù…×ì¸á–;¦ffmi~¸0?å$tËží·ßyÛæm{4Ä1È¥ÑÈ©ˆtúUáþHÌ ¦áÃãî“céöÛo¡:zìèñƒG^}å…ã‡÷>÷Âã7í¹=y›[M ,ÂS…HÃKãpûaP‡5rõ‰3hg‡s±+±8Wä/†Ëg‡Õ3¬ ‚_jf¼‚þÝ´š¥qääÏ<õ„°üÔÏü‚»ù‘?ón1Ž×hmY£ßÜpã­<ðÐ[ßú}6láóñ™o‚H ¶–‹HÂþç×M/ôª|¦YJʃñ)¸ªµ9›[0ËÙ",žDÆûãRIOªªª«*)Ùþýû÷tZ5Ùý.:ÀDÝXôÛO<þ[ûõÿòÃ?`ßÞ Íƒ® Ð…Žâª/Íή»ë®ûxànºùö©©é®àºX \½9¨õÌÎÞ´£v©‰³™/iÏ¥š»ó®»¦g§¹“psbf—P†¾; LÚd¡… v²¦¥gžå[ß|òøÑƒ‡ZZ³ŽÚ¼mvýÄôäÔĤ’I³çÖ;o¹ãnwYv×a‚prÏ„P3 ¹À .`a ØñZvlߤü}ý±ÉÙ¹ÙÓ§O,,ÌcØ O íe=½´¸0>QÝqÓ¶ûÞööÞøT€ê˘ìd!zÝÉgº™qñew%0Õ(‘ÎÍN¬ÛtMËhs;è÷6¬›}á¥W_|þ©ù3'n½å¦­×ÎNúƒ~©¢Ln†¦â2h"—&Se&·®,âd9Ca’ÊΑĽÁXU×½›n:vdßhéôââi!Y.dð0­wö]Æ©Öy91¡% iȸ¹G½+”}í3i§Ugj5µê:ÅùÒEÝöü¤±öëm3ê¦1çìÅ® Ð{4uÝÛtÍ–wÜÿîûßñîk¯Ý‹ùó¹çºŠë G6  fI’ªJ|f¦÷àý÷»$'b®.*\T4¹¨ŠqÐÀBH(ÈŽA¯¿~Ï©…v|rjjvf¸0æÌü¾‡ö½òÌÂüÜ®í7MOÒæuƒ[n¾Ñ© Š*Jæ Ò–9$C\°³È€-óâ±ÒZ?;;>½na´d¦uJˇNŸi,·‹g¶¬›»îúkæf''¦¦á0¸™=~ôÀýãã;¶í¬zàe•s>{k„Þ!²ç]PW©ßŸžšZ`íÕ¼s×Î'ž|òԉçnŸ Š|ÜbQÌi¸92‡qk™€L‚îÅ S'w3!7xÌÝE,ÖPŒÍÌm:´ïtÛfÒ°á¸YÈg%H¶L¥Ý£¢ÌïÈ¢ÁAˆÄÁ®ì°Ît(Ôý_ãLúbÙaåØ;|.9Y¡Ëõ½èüÙ®ù½ßýÍžfb|ò‚»ù5ºD466±ç†›ïû»ÞòÖû7¬ß”RºØ÷_6ÐUƒQTgSÅâæFnó†i¿õ†m\×Ù¡Á¥NI©MŒ Ì¢n®•H×pÈ133 ê435wz©™È£ Ô«{ýññ½¯î;uòĩɽ7íÜ=è÷z½þÐÈÝGmóÄ“ß<~ôøìììÝwÞݯ{EB „x“£sp%w—IJƒ WÕƒÞ˜úyO×Õý—^|^Ûî¼yj0¨Y@¬ r:tðàÿó‰ïÜqÝÁƒ»ýÔ}÷¼¥ÈÇvØb-ݽ0È\CL?xžœjIuÝKIylzマk;66–P.€@ œ›:7g²b0VÉž‹0ˆ…T£³˜«3à, cwsaW€“¸CÍXK21\3ÓwF ÙZ²Ð],ö×–áÁc"hWñe"8õ|í\ ÝîçÖåu\ÍèŠ î…ý+þ=ˆVƒžÜ7?f×î=D´uë¶»ïyÛÍ·Þþý¿ýØ×¿D¯3ÐÊâÍûœ§¦fîºë¾ïè‡vï¾1ôë²Î t÷bu¯§¦8X[uó]ÛÖm¾fjrrœ‰™è豃>öxÓŒÀ~Ûm÷íܶ9œ”Ô$îMÛ2{JupBò†9ÁÉ…ëÄMJRWƒÄU¿§£ÑË{_ݺ~j|l¢ª˜Éœˆ^~áÙ§ž~áÞ·Üóío=:7»ñÆëw ‰‘æy˜¥“™1W¡ÁÌb #‰ˆsÄ)°Éî“cc$ÉÊâ æþò+¯®[¿é]ï~ç7{ôàÁCX–ö¢pÿ!&V7A NBÉš»I„•TJ%<ù IDAT49@kÆ©6v!x)©bäLè$J¢hƒ°›¢husç/bs#%P|àΑvFâå0;F“CaVBîáH»¬¥å®A6cfUœÁj°Ê99ef}Í»ùóÛ‡‹%‹Î÷¢ë•ʤß#¢;yâøçÿì3|á³ö¿úþ¿ôמ{îé­[w0Ëô̺{î½ÿ¥Ÿs÷‹ÔAk ´²ö ’¶nÝööûß}ï½ß·sçõUUŸ‡×}Eßû¯¦rJÌ!žžÕµ[æDØTbÓ296{Ó·/--~íë_t†=NHbQò°3¥ŠÌ‰™Y:m3£#"ªEª^"@Æú?kìN~z~aýÌÜ57¼P÷š¦EлˆÂ>(¨iù¹bŽTX¥ñxˆ&ŽÖ]Ì„Xz*¦£l®£<ÌÚ:ÉYW™sH؆«3»; Ĩ+eg2GV7Êlýâ=TÆMQ¹u‚ÂRæ‰ÁV ¾‹;Xœ¨CtæâˆFäLj"†™ƒMQ”h ªÜàææ g+‡“™• 3Lä!¢+ÏAãp_-±ªBYÛ ö{$ЙӧþÕoÿÆ¿ð°ªÑüëßð¾üÑøo¹çmúð¸Xº¢@ñ'ƒ±Ý»÷<øà{î¼ëÞõë7UUõz®èª{¥”(Z-NQTÌ)%ì”Ýûýþöí[|U½Ú¸a®›ÇÃÜÃ׊½"oQ7æDÑ­`aWR7ƒB³B‰cõÏ/ƶ»_~ñÿ䳟ö[¶nãÑ"‡\|À$Ä¢p(©P 2’ÐÔILnEüÇ<“U‰EMk9J´ýÚíO=ñÔ'>ù Ï.U¢¢EX–¯±¬³A””AÆ‘] p†0»°™››©+ äá÷ý ÷1/@(£ðïÌœ9¾Û(Lœ28 Y• ŽÜ6àAÖ\×27!"VÍ`À„È…ÄIAnÌnÎö¢Î·Œ¼rI'" ×ç×ä7áåÎy祉‹Õ<Ÿß@ Àùÿü½}ñ Ÿ¯ÉÉéÁøX:yâøää”$yýWÄÌ33swÞùÖxÏM7ß>66„Œ×wEWÙËLGm©[mÝ‚‘ãÌXqžprÚûÊ‹›6lï;[9©>i†&œe‘AàŸÓ571vh6'Ïj`Xøb„ªÑáï &×íÚ±ó;Ï<µ¸°0;3)Q„cÁsy40¤ÓoŠÐ@^gf'f#8!ìÉRØÈà>15ñÀ»œ™šýÖŸ:uZŠßÆ"Ý@N`È+€1!"!±p5çè]ÇL fw5Saj´PZÎzýÆê­¤gòX×; &ÓÐeRƒ¸4hcOÖ´mè0ƒvgâìŠÐMt E7 Y-¢ ä:³±Ã:Ï{h¥ø_i vIÎEÿÈù¯‹‚ ¿Kœ\]Oœ8¦äSdw¾û½7Þt[üï§þèã¼ó=S¯ïŠÐëõ·mÛõÐCïÿ+õ'n»ýî±±ñ•Œ°×yEWU¢~ªëÔw G-¥ûû"×ܼºïðÎ]»ƒ“܉ÝC†‚Ô³éSw„gœ d‰$v ›9oB2bg'?tðØÖk·ïÙs]bpüø©PûsâHvz[aàGdÁ"uv£47!b¢äÄðŠ¥mG’’!£óö{ù…ýÚWœìÄ©ëf×—w¯Ýt&‹ÅÂÑC{ÙÂýƒÙ!rv%Ó0—:W²‚ñnÌ.öEb?€­ÑÄ– jHHSœâ#Fy˜3+j&rSse‚©¹Æó»shŒ´î"LD‘0©Yµ+;ÒŠS̯áÎYC¸üÚx…©–ðà;ß35=Sœ3D®½vÇ}o{€ꤦ]»ôÚõûýë®»ñ½ïûÑï臷nÝ^×½?+º:R3ªDîL`r!‚1LÈ]ÉZw=r`¸d›7oèl|œ ‰ˆ¡ÖÝý\ì¯5l‘Y N¤RÌ™Ý+æ0BìI"N vâx‡‰±É}¯¾øï÷gŸK¨îºûéšn€6SL¸È)LÈ™<%ˆ0“2ÁHcåEÃÝÑh6¸,o'¢Ðp"‚,3#â+Ì +ãS‚@:»Pj#v"ŒŒ8˜®¤Öi4RUba*ÃÍv° jMSF•V°ÔLLÄì …¸2À]åuìæ/Ñ‹+òËe¿ÇùÛÞñ®¦m>ö›¿bæüðÏÝtóí;w^¿èÞóþ©©:KÇð+ TUÕ7ÞvÛíoÙµëúÉÉi¾€ ÒvEWÁG+qð„Ë •œ$º§°6 ïsYJ #°E¹d¤ìl䳓“o{Ç;È=%.+ÖÎŒ(äG£S q.Hr"€‰Ì1uB‹ ÍÙaÒK!›l±2';Cª$ÊA%t¶‡ˆ–KÀ0/ú`jHáLôR³D¤àÖsÌSL5 ¢-R@âbTj7›W⢚ˆØÝØ4kP&Qòlƒ03ƒ‰9›×eïßÕ`D cNf!˜:è\”hPW&C¢2?ÉwóöJl/’–AV+]8V¿Ç2¿ôlEã­åM×_zÍ®î:ˆ˜Èý ½2ÏDÎ$"Un%Û¹s›Ø4 bÂ…CŠhqÒ¶ð1ªÀœ$#Ãcƒ ;H9„\D¨¹(’‚ ž 1¨sÇ6/Ùn»2Ò„*†y™­ñgrœUÛÜ2'b À”‹Õ_· ÷2È*î_±øî#N¸؈¤Ì$’]ÉÜ‚Šå䦌Ø7u†¶ÎB.NŠbmMá,ÍEµÆI‚<ïæÆäâšADž<Èf®ªnáÀd! ¤ªqæÆb15B¸Z3¹BÓ½3GT0ápX³Ç¡™™fÓ¬n:HX “[ùÌ¿|¿753 ¿ô]Í/Àˆ‰0±A#5D­`}‰=IéÉ”ÀfÄ,±¥Š'¯FW‚ζ¹ôÊ ·ìšXØÈ\ƒD™ŒK­S¨¢¶Ã}öïÞ¶ b•)¬ÌU –«ˆã±»ÜULa +c)6ós[Œu™àjdnÄ•Òçæ`¤ÍmJbdmnëÔs"'ÀÉ™]\ "efë\ÕŠ¬ÖiKzy.‹°Ã)Ô^ l1&ë0R„¯R·¢$bb (cx!%f37US‹+Q'ˆXÎLœÍ¢$uœÔ-6“]+f8Ëɑٙ"Êšr3‡K‡ìÕ½U‚Ý,”b´ë@ª»¹xÙ+kµÂN‘€¹™kÎÓÓ3è5ººgÒ^dâ4l¹œ„œ` yÅ•B"OeÎY%f'â@ý:ƒ­>°èr ¥H‰¦ >P!w#nÄû07²Î6÷Å_øú£_ûW·ôÇê@ìÄ(%¾Ðàr˜¹ªKhrÁä‰ÐÆI-,[7ñ"ýnD‹ KüðWu5=9ùÖ·Þ÷äßÜsã-O~뻯۳iã†S§OåË_~衇LõSŸùÿÞóÐûÒØÆ}  Î`®%·JZ¦HjÅCÈ‚‘ji],¡á±Ht ¿÷ð´ >ÑøzÅ¢±—$H‹í=9Ì-Œy˜ÔÕ̉r«‰Åàœ)ð…M7+»…“9,ØP’QÔMà•þ —ÊAý~o0;}úÔÊ'³ª®ÔÐàâ–Ø0ëL„ÀÅø€:#[&XpðWÜÝirbrÆBø‹@¯-ÐUƒÌ lNjVÜl@N0K›uÿ¡ýd:;·ij¬×š B'º[9´·ªÆ×ÍM‡¼‰;¹«À›™»ic.ï!ƒ‡çªã Íí³Oûر£û¾n׵ŠÐÍ’q-•P¡u„Ü““¬G›ÅRÝÉȰ3sˆw½öÒpxäÈñúÁúÓÏýñîëöìØ~]]U‡ݰiS¯_¿ôÒ‹G'¢W^yñ™§_¸~÷Ë·Ýz£{´q`,¢Úbæ F8\§]‰‰Ì ãÔ™ŠU,Ϊ+DIdÄdNâ ¸¹»“ÅbLœÌcþNÌæ-D ¸“¹CpsælV%ɦ pbÓÀ1¨ Wj¶•`2ga®HÂÈ¥”õÎîp 9¨ê×;¯ÛM”΂œ.õâš E«—]XÎï/â$Å üøñ#o²@{¾ù–;±,U-¤‚P;ï7»ß§Õ_]õï6‡¢0DK¯\Å3iÊD‰Så±ÜG/Å€;Ž8úȾ´eë–gž{ù¡w¾Kb‰È1N%#j†‹_üâ—¶ï¸ynÝt¶ .¢ÅC!MDl%¥»›u…‘"r›s¶A¯¿¸¸d†T8àÔc ;3/­‰{ÙpŽz©KõXö&þ’rV¡Z–GNjÍÓO=ÞŽÚÁ`üóöðÝ÷Þ׿6gÿÌg>373WÕ  ^5>;53>1EfæO,]ƒãä0HX”='‚ÇRÞÏÊH”nnÑú¿ /4¯b¼]T|Üy%Cb‡ªHËšÍM ´ªŽ¡–…Ç™ÅûĘ^Ê®¯l9#¹“¹ó{±áp8¿pf||ºJÕ²“×ùçcùÄv6_Pòð˜^þ¶•GvÙRÐÌš¦éõzo¾@D´¸¸PUU¯7X±ÌZ…î9‹Ð>Ûk3-¢ }©|UɃ^ÝÍ2ŒJÁÀ¡«À¢n¹m'ƦvìÜþø×¾yàðþž{zÆko¸áúǾñ¥Å¥|ßÝo˜lÛ¹Ó\r'î6ÌÞ)y yfbEvµãX,̨4;äƒAÿ–[nýÖÓ/ܰg7Á¹ ø$9,Ê%+$vʦ)lî;ëdq'5gvS![f%Oa¹‘:õ¶lÙuüÄ©'O...1˜…›¶ÍÙwï¹áѯ~‰6oLŒ]³i“w„eÅde§Õàsi<ˆ!æ¤eŒFÎNeëK1Š YùlPr´@¨aäÌÖá ™9kéÍ DY­ë³‚N!ÎVUs;²hÝR0uS@ËO+ÇZùb£Ñèôé3ãÓUU­p,§”™ÏÖð†ê™P¬¢VñåC» VÕ¦iš¦yó"¢#Gž8qüÆoŸ¼È~ýÜÝÖ*‹éK¾rn—–ª®êÝy||ll÷Îë®Ý²•ÝOž:uó-·S•Ò÷?X%1se0Q #2“‹‘‘ÇðÇ eAÕTÔáhÁe,Àp €5p3X܈;÷× Ð'"%ònÅZbn‹ˆ&©ÍSkïö$0S"'’ƒ#˜®±ö+à!"G–`×®m&½LŠ,0ŒsI’ËF+ålÊÍÀ|öVÂWúÓ¼Yí6Lé<ê|w_`6´<:g0´2ë¹]ý"ŠD”µM©âXŽÅˆb'ãdjæÓSuOÌÎL¿ðÜ7ýéÜ.Ú·OáîÊONMsÍ™$U`¢ìdÑ><`.… ¨e’(Šø ȵWõVb$8Tp$>h†»¡ta°eŸg’‡P(ùXQ¤^ˆsÄM65=ùþ÷ÿ°«K% ¹ïÞ{ÁxËÝw473M äðÝ»v  Q¦u°¢³T+Pg"7€c@ÕL¡FT8tÞœ^ÕaT”ÏÜɘÍCÒÒɈ™¡Ì,©br˜ sHµD6‡‹4 êN\2!#8»„h°r6kf†3ëš5í±v»§‚‰Ž©Ö2Q£ë/9ÌhIè«üZ˜ øÒB’Œ@!…{Ù²t©™€9s(›!„¸ã0±YhÔ²·dDžHNÆÆþZyóç¼{ì+K῾âŒ^œí] Ý»êØ7S ó‡Aç+Ã^ðKˤÖ7…ÅWu Ý B”ÊBÄ^ XR"Ô‰ÖÍŽ×lž›ñOŒ¥¬ÙÌî@Pg‘€·M&HÉ8õœÉÁ¬˜=Šá´S6¥N>s09˜[7]ð4ÌÄ$eV,Ç#+Ö«’;¨±ÔfçªWWýºî‡ö8³×UíÀ07­›°Œ†CN.Z«(­PaÞDzMˆ*Pb ö?¨?¿Ô¶jýª—ݳ›-…Z!b,CÅÖ´(u”9'y€ J]Yì²CO:ø0QÔq4bgùõpcв`‰»9ekÉÜ+:›¸ ”¢d?Žò­ùs`4Y*C!ÏáÞW|éÝé2+éœÛ=ìm>ý©Oœ>}êB‡–Î?™fnÁy+Ö8+©â— ´" ز²ÏW¾üùçŸæÏ)ÐpE—ÌlkNLç¿Ó›B²c0eÙ5;ÃÕÌRbN å¡HXà”89\Ms©©»‰º23Á»  ˜ñ—Rõ&‡#•T÷úƒº7`‘iÁVYŽƒÔÌŸŒ32va$t{ ƒwS@¦bi{ÄÂ`©á'竺×ï¸?æœÌ²ª[nÈ©%¤ªî:~¬bž›¨R%©®R I©ªk©SÕ«zý‰±‰~ ©ªê^ªë”j³ˆ«É‘ãóeæT¥T‰ZmZFxžÁMáÊź˨ˆ!X‘Eì`˜d&Yä)b€=-$ÌDÁ ƒ!$Íʈ-ns{@«C؈%´8„à¦Ë´•HÓ‘ˆ<ÔòAÆ+±›CJkóÕð‹4ç¸}ÿ¿+ç!+Æ.¾ú8ú ížËоãË_úœš=øàÑsÏ?“5ïÞ}ãèÔ©SSE»ãõ\Ñy.Ô|ùê·Â»³ó>ZA»ºSR€K8”€fUr,ž<6›I½¾E± bNŠF­®ÙÕ;©$äŽÊ`©„ŘO/Ú±#'EÒX¢í›êô07a¡UUµ r¤:tøàÆj06>«fU•úUƒpˆð¶¹“»¹*9eóLææšóÒpñäühÔxbŽ&sÝŸÏSãA„€0RZX>÷Ô7{“s\Õ,R3\¸Ç©P Bh³šg5U5oµµL­Žr›ªB, Û•Ô¯¬Uµð‹Fà¥D¤QúÄÎ N£¶=}æÔ†¹¹NC±ìÖœ(İÉ8´웚 ˆÉ]£03‹¹“D¼mcŽffF®êñí0!éÄ àQh¼v–iLlnN\ÙKµtù„UõÐ9S’U_:Ï>~±|HÎ9`+ζwêo—  äÌü™œ[_Éúò,æ än¿÷{ÿâÇüÛ6m~WtÉÄŽK'£óÕ–¿³$£‹ÕHWÝ« f9ŒÝ*ç «òüÒâhï‹Ó³[êÁ˜¤ZD z,PÞ.)‚Ü[WSs£¡6j£œuØÚph1U½þøäT3š5ó9·æa¿eU%"†/¼ð|•j犙“^^¸›/ÔÉT³»«e33©¹ê;×Qª&&¦G³ K 0³Hå@úI«íp¤'EÐ)A‚Î µÁ(G[Vj“˜ÓS¯ê¥zœàÐ6±WÕ Ég\5É4´7Š~ó2ÅtààÁG>ÿÙ¿òŸþgƒ1{>»ËuË!ò$•Y`zÀÌ2v1r3#PÏYM3à0r³Î ² ˆ¬,¹Ž]ÖÍâlä5ªèeË"„àÈ­]ËÓ.kG8ÑE­#VÛ1ûù…@×Ù\6ÐY“jêþ@®–¿úòáÒbôV¯ÿŠ.7¾h2Zª–óΙ½ ^@q$3Íš+é K¢j”mØœ9uê…ÖœˆŒ©¦Uƒ *+Ž7022ÕpÐ[^X2÷•ô „{ý±‰ÉÙù3'òÂrfÁïÿ»ÿw?Þ÷÷þNvë‡xN¶2­*'®*zã3ëæOm†KæF䪭 eòÜØˆÜ²’“eFÆÄÅê0Æ6D3³E´Xºa¤KNpbmZvê÷úš‡£aãªM«Äž½­!Ô©J…oÚ&Ÿ^X2r%c"!ØYÁCBªÍ-lH°Àë˜<À . ›º@(°E†#›†P,B¶¤Ðc•Á¢ð")MFn®6ˆ£­Œ[, =^©†™Ÿ3³èÎíŠ#1-õûƒÕ-L9´Ô¨ïÈP«ìÅu®¾:k,kÞ°@«ù¹Î®¯%Ð…ËÇË&£•…ϪRhåþøjOFV´&ÚV3ÔëõBTpäÖ´Úæ PC¹èKžÂʈ6;è‘D|‰{àBlRMLÌLO¬ÿØ¿ù¿¯ôÇûG¿ôÑå_ÿâ/þ7®‡$€`fC[t§^o\!‰1›š˜š[kU;vÙT(’¥A{³Ìƒ&!©`ådS˜>SÐ ¢Óê1… WUsœý\ "† wjÚÅÊõ|ô£~?ÿ/ý“ÿõá#ªÊàá¨m%rQóã§&§×Á²in-[›[aqaWÊ–C 6À†DnYsnNUró¬Ú¶ SsÛÈsn ípaضÃшÁ‚ÚܘãsÉ!äˆr«%%æ^¯'‚h©À{²€—yàä h¬±ð²Õ2"d͉`¦EÄœET³0{L·º9«uÝB7v-ªG"¨% µÉ n2eXcäeA9Ârë­w½å-oïû~äŸý³®bf=OtÞ,ö\ðñe©åžæÐ¡ªªºù–;=üüô}o{0¥jådúu"¢………Çýr¬'§¦o¸á–×tE¸È:좃¡K'  ΃ܯj»ù 3à Î9š3/¼rè†Ý›Meص˜æÇÞ ¬NZ @bj[ç$©¨":ÈMsV&ú¿ó{—ý‹¿ð7Ú&kÛAÔf#ÁO}øä°bèE¿ý¯~-Wñ›û"zï÷?xza¡]µ9OLŸ8=|ú;/OOOµÍ°mFfšUÛ¦Q#3¶J´M(;i³ 'ÓQ›CL²Í̼bæJÚшPúã×ßpç† [™AnÚšù²¸Õfg¦ï¹÷gŽ ˆAÎ,¦Ù‹¯«»„¥Fဠs¸_°S=F'2U˜•­||ÓÎ6(ôNŠø$ƒ(œL8tìÉ‘j…«kÎA—\™÷ƒÿê§>²iÓfUM’º^ìòî•»¤5̃âØÀ[ÞòöÛn»ûGÿò}ò“ÿ¶?¿¸Ù"¢¦mþý¿ÿýÏîÍÔÝ·lÙþó?ÿwï¼ë­WzE~áÐ9‹ös¯rE–¹`´rôfp: Ï/aaP•Xÿö3//µ£-ë¦Gjm£!Ý©º©›™©+¬c‹²©f3çœC`ðѨýÓ/|ùqò¿øpnŽŸýðçn¸áúí;oLŸ©+Œ·žö8Fš%I¿æõ6Ö)…ŸE°ÌCŸ„Eê*PI] KªêJªžÔ½ž¸;qü[ß~zïË/œ?½pz¸°8\wÍÎÝÛ÷LNO Wf'[‡iø‰t·J̽æå– 3 ±ÙzL‡IAÜ…Nè„ ÙÔBï̃Gê¦íg¥è,eÍáä,!ÝÚ”Q´qi§×”ƒüò‡`€ÝsIÀ«z±åaGT€ç¾cLOè"æê+õûcùÈßÿê×Ù¾}×þà_. ÑêÝü¨¾øÈgï¹çþ÷¾ïGþà_ÿÎóÏ?ûë¿þÿæ/ü÷·ß~7ÀWhÅúü"c óV/VB^ý¯¬-#µ¦ä©ªÇ†íðð±CgN/]#¨ŽFM3‚“—ZrnrKHDÎ"ú*`gî%affI o›æAâCÿu¿'©êiª“oZ?7;;Ë,"pW€,B€“‹T`þ—ÿ,òS?÷·/ñÎÏ>ûÜCï½mã5Ûkä^¯×¶.>œ¯o¸é†=7ÞΩîf\ÔÓBŽañHÖy¦T`q¿íÄ®›o¿ëßx|ÿ¾—æÏœ:qâÄác§¾õø#cƒÁµ;÷l¸þ‘2Ú 5ÎcÌG;–VàP® 5#€ÍBþÄ Ó–ý,ù+ú*6b®Üµ͂ceÔoDf[ŒŒÉ @"äÀoE“˜À3ºøVˆ{æ+ÂáâX'"šŸ?sèàþÑpx¡áî¥F¹+˜Ÿ— ÄÌwÜùÖcÇŽN:Ðá#‡öïõšk¶v+ó7 ÀwÝ}ßÏüìßÞ°aÓºuþÇÿáo8°÷7þ·_úŸÿ—_Û´ió_]Ú³šx±Ö´ü„Z‰ïºÚ3‘“;œµIUÕ}ëWc×îÜ“*™™š¼~׎™uÓ‰%¾S8…4\B /“CŠK€;F­=vÁˆéG~lv6íPò©Í³t÷[\¿¼0ˆ…þè`g…%2"úø¿ýÝýë¼Äýɧÿðúëv­ßpÍÎ]7Tvl×öÉ­›·Üpó]UË2ˆ\ƒ¯@Â0ûu& XI§î8ÃÇÕu{n™_\J,½^nnîÈ‘ãÏ>ûÂüü©]×<°nv“¸Jæ8œÈDÊHÔu$Lš-TÌÝ5~;´e„S°=˜H‰…H+‰ ¥PÍ.x"ÀrvB ÕÜÉ!¬jD –˘E՘ȜݨSyåâNró ¸U°}Õ Ì¹}䑇Ü÷™OrzzÆÏs^)vq!L઒ábÎ ‡K_ýê¾óÜÓ_úâŸ~jÇî_þÇ«ëÞˆˆcc?öcÚ¸ñ"š›ÛÀ,î~üøÑ¶mü,ªhMV£xpñ©Ðª>ëÒØ9¨¥«½¤ìV!)›š'Tƒ‰ék¦xÃ\ï¶»ïáz¬UKÂìNÌ¡Ž›‰°„$¸‘9™'e³}è# ·eóIŸ¿ñÆ;wn©gg×íºajzC[ÄÃ;`0¨ÓS+ØcÀ‰Ø#ûø¿ûßô¯ýä%.ê¹ç_$zñƒ}Ý®]×ÔýÞ†uëªÈÏ“Z6‡§T¬ÐãAÑžt»óÐ2!ÿÿÙ{óxËΪLøYë}÷9w¬9óLABd „Ý8ƒh‹mÓ¶Ú?º¿ökÔîþì¶µ~ú)Ý~Ø(ŠŠ - ˆ„9cU’J¥æ{ÏÙû]ëùþXï>uǪ[• &Ý›û ·Î½w¿g߻ߵ×ð É g¦§ÓsãÑb.]j†çOÏ>°gï}ûÆ£Ã"§÷61ôŠ0’*à!UZâfqRU4))9€‘•Ã$ÁÚ&Ò0ŸC;Ó~îNTS´~ q(^<¥ÞQ‰r Ý&÷êåV[˜iù#|³ù%›w9‡‹ãñè·ßü«ñù„6¾ ÿ!k;Oz¸X‚>ÆB"bfævóÍ7Üùù¿ùÐMA¡íÚ¾»ü-išÉ®ënøÀ{F£EU}ñ‹_¾iÓ–þ‰²±…dí¹ÙªTèø­è%±¾X_†µ||çAªb6RcÛ¶"yç¹›wîÜvæ©gOÏÎZ š)• • /=Ó DX5œUS\SVÒäµoéoþÇןºã®zh û·o¹`vz°iËV#0³ÅÅAM:7= ¦i4mÅ{Ã1… •ð÷¼ó-9ëõßt¬Hô?ÞñžŸý?<Ó ©çqûêÝ_ùÛÏ}–"_wÙ3Î=ëì,†/µÆº2:+oCz*|˜HiD ²enóÃí-”Ì€4hüˆPÂڌ½0‡±ÎàI‰áYÐÕ,¼EœºæF*5MS2Qš/ˆ´ÍU¤š^Ó77i²Z?SL»‹'i2Ýd\84ÑO(Z§ë7rÌæsÓ,I(ªæ16 —£×[èÅW¾dòÊK®~À€KÜ ¼lò 7ÿå‡Nz¡¥Qw<½ýíoyÏ»ÿàË_ñ-ßýš6;;_-nOàŠ¸"÷Y]m­ …o$¬äÚ<ÎyóÖiâRÊìæù§_tÎìü|35$SÒ¤¢’š‡öìºÿ¾Ý—^vyÓ¡“ÁˆD-Cá·YTúšW}ëì ·lždïÞsN?mz0” dìÝ\“¸„‘P4õÄã¤×ÚÀ“M›RzòS.¾âŠç¼ìeßô[oúå ²¦ޱ®ØßRÕÁõºæyמè=ýÂg¿hE<ÚÈB+ÂÐââÂÍ~ÿ»þìÜíÚkÿñ÷¼æŸÏÎΟðɲ0±¤´FŸè˜= L0AîþRþÚãúQ1Jήjð¹™éá`A&Ã"µ£Åßòѽû/ºèÒa®¥@©ØeUœßöê±FÑG1A¢€]'ª D%ô 9ZXœšš»öºëgg¦§§‡J?âÑžÎj}–öâ°¤é]ò‡ßø-ßu¬+¤ª”áð‘#ævú©§FG¶lß*I'?UìÇ£¦I"¦]kã–^%ÕÈ×*B+€‹fÜv q7VÑÖhB‡É©“ Mšž$±ÏID¶ÀªÊð¡íE¢!}~¬X‘¥Üumt¯ÉÀnT‡éÞíȃ5˜f!Šz”Ñ}=¶a=écgC$^ðü—\~Å³çææK±ÜäåÍÚ¨§×Ý&Á¥/^ó¼—-°ø·D^‹ÇÚ"Kó‰oyù·ínô¯΋¼û†?;îhÛñÝwå‡~ø _|Ùé§Ÿ‰eØè¸¢µ”XeƒahR|­€Vè<Î!§ŠÂ “®¤æœF Ÿ»óË^üôO~âIƒ%ïÑ•Q§SÄÄk+…Öð[û'¯ùNEQ@‹ “„ÙÄÖ4²eÓ¶;þæÓ[¶m¿àÜ3CU ƒ$IÊSëÓ\‚ABÕxÝë^÷¦7½i ÔôÜdúAAnò‹¯»~ßžo»å–ç]yUNM<Ù‚~>á G•2©%KWÑ ³’I’BJéZZF ºnh¯†D‘jÒzµŒï;¾óµ;w^¤Ë¹ª'tEkMͰBè˜8 £Ñju3hRHŠ<þeÌhHMÒБu¢©¢’ üâç?;n›4 G¥4‚´Îš[‘üTÅ}íηH“0JJÑÔ½è§?ùI—LÍï½ÿKãÑØ=vL›Ó«Zr}òAôÔÉÔ â{_óoý½?Z¹tø†ÞHÒÔä™áô¡¦™D²f\Ÿ0QǰoU‹ˆ¹Gõba"e j¬JÔBÍÚ$Xõ:3Äð*éUæ5Ä)â J÷,ªá“ABHs…*0‰ph%ÑÑÌ I)dÒdîphR7s‚NU„ H}L‹VØtس‰x\qt´µ¨¤“ˆAÀú„©cw|×ËÃÊkãÇ?{Íýùï^óŠDäU¯ú¦iŽrÖ¡†­Ÿñ˜‰ä‚d"4c)­™çœšfÆŠ+bKÍ<–ÆÃÇy r¡¹‰ÓîÞµØ|rýïþÐIwœšèîý´ØPa+è÷Ýϸ³ Î?ïà¡#)¥ê(¡*|(A˔̚ˆFjU=ñÚW}ÛïüÁ;VÄ¿ï 0;=“)ûÙ;ö=òЩ§ŸžsŠ0Ä%~ê.]oEDô¸(»ƒ˜°c!ŒP#$ؘ‹4‘ÿ¼9M¢˜R7 sãfŽp a &+$\A\’”bîL9ûx4é¿Õ¢+|W… ò}K:Žêå×C(!®‘.'«Ý±Ö i5B=ÂêX'yÑs¯ùûºóÿÑ5ßpã­\óŠƒÁ:áæøW´ÜŒ«Z+“ ÀöïßçwÜsÏW÷îÝÓ¶ãÁ`¸mÛŽóÏßyÑEOß¾}‡ª®ªÅ°èô5(þÎþßóÏë'ßý_«%^÷Ï^§~À!ÉÝ¢DD·Âû¿¼Š|é ŸÛuïÝó3[Î<ý´‚ï•ýV*ÕE"LìÃÃè¬n‚ñ#º:ªêŸ¹ùÙ«žÿÂûï¿ç”§?å MÕµCWH ö£Þ CY½©½º†“‘’b¸8§È5¢Ìã¿¡–èäšûgƒ U·¢5ÅVU51a"ÜAAB£4MS,Ü“rxyÄé=®>ߌ¹›+¥st§Qè®’=Î,)Ü·ºÔRèä{Ò8–Å=µ9‰™€ÿç¿üèOýÄ/®xñÆ[o8‰³]ó¼—|ð–<†Wt¼Ÿ•¤°#GÞ~ûG>üá÷ßu×—Ø×¶ãøÖÁ`°yóÖsÏ}Ò5×¼üÊ+_¸iÓæ :/Ìã1Â=îíÉ6rhñ·UéÛ2îæž²Jµ |ò“/Ú¶mG×µÛ¶n›ž™¢àZõƒ{Çv°/vìPЩ¢•ƒä*­),'lMEw^pþœ§"áÔT 2¹KxÔj={°öÃŒ…çz?q 3yhd*Áqh2B”ê´0ý±¢)9CO … Âó{µD7"¡Êµ Ôk·ÙÔâtZÿ–YÛt*bFñ;’0h…uÊ€4ˆ+2•äjÈ’®3¸¦ZÓ4ÿ÷¿ýÏÛü'}>xë¼èÅrã­×¯þê·ÞpçÉU×Õ“/ F“+z¡ù¨Ðò~&óÔ]»î×»þð#¹áÀý1³˜$bãñø¡‡سç¡/}éÎÏ|æßõ]¯=óÌsUõ9—]yŒuOéIµŸù]ÚS5çOYøß'Ö¬ÿq G,gr¤sib 2œJ%g=õ”Ó Õkº÷tAІ¨..@ Ò·2ÔÛ“TT^‚ØZtÄÀR¨ÑãÖQ¸ðh“¯ÞvÔ޸׹÷:uªˆSL¨m±H†ªÆ¤ šÄaa&ÐPj¶Ò5(“Jˆê‡•’›¨af¡-¹!,“cJ&2`NšÍ‹•®—*ÕÌ^Y@„"u¸°‡5P4sx%î+@äÄB¤(šÆ h@Á×Ù˜ìá5냥öÄ\ 8<îqÓmG#K¯ÿvü…nºíÆ]è%W]·t­º¢IúS醲n‰4½¿ÿþ{ßúÖÿö—ù±È}>4½ú›7Ÿ6:p`ßÛßúÀ_œôö;´gfþ”Eüï}Tw¿˜‹(   hêÕ!°—yêÅ'…¡¥éÅ¿œÑâWEq5w«ÚjÒ„Uq7–Fì&ÌâPl”«A¸»‡’-}­$KŸ´KÓ¥…É$é8îqÃGßן¯œÄB+R› ®ûâ+¯½ácï;‰…VÜïn K¢“rŒÄÃ?øGôÛ·Ývó#»rõ^ã8ðàÔÿæ±ã­¿õëG4%‡©XÏš‘rV8=%ùžïýqÛÞëpÅ¢'˜!5É‹„$ãV‡ÙA1u8¨ ¡¥LE®ÏyÑ(ÀÄÊÊE©ee *ªl"é…âÞu§•ò½ßþO±Ð+_~òm¸¿—jækwêß{ó/šïù³wÜüן?ïì󝽿Йfúìsw¶e,BƒeѤÉÀp À½u4Pºë[ÿû¯8˜ššWÿ“YqþþW?êÜ=ÙpÔ!„È.š"–8‚–×Gµð™ÌÏM<|·b.'¤‹EbA }5K„*µ1þ®’l}&öšqƒR[?€V›1Òƒ3£2ïß‘‘•ŠÊ³uP… XÕòè;È^$eºUú¾LDD†õ>ÛPð“¥ 22£ø8¡9[WT¥”Ò ÖKe…ºwU‹” 1•ïûêÄIOM §§g<°40³%~[RBxo(Q›ùRk·ÿë|#·ã›ï7>,²ç¤ê­uz}[Õêîû ¿þ3ÿöGþÝñÇ4ßþO¼ñ7þäúÑú‰Çsæñ÷5R:T)êô„”’$,Í’µIY•€&sÀ¨Ž%p[Â5f‡Ëné%‰©‹€åYêHÆD’¦ð¥‘ ÀÄÆŽ4(ì·´Êa’¥©‹(H×&©&fá÷½„^À¯Ã® £j8øà<²wï™gµ}ûÖa“« —éT²!&C3†ÿq Je~¢)ÌŸc|aX*(°âµ4RRë:@̣ߣ§:=Œþ»šzb‚{¡3¬5hdˆ2¹»¤ Îæ›©Áù;ŸäI+HŽuh­ER˜vGþŒãÇ ›n{ÿù;íQ.ÔËeU…D’ŸüÜËžqñ³6²1^ÿƒoxçŸÿAÜMînfÑä_óxõ+¿÷ÿÄš“+î"01Å]Bv]hj¦ ~ððÁ]÷ß¿}ûi;vl­‘$ænÚïÀ”’û„ص²— ß…%I.dçlV_\RVAçh¡@k‚@ ;vR´D ‘/¹{Ó¨j qe}õ¯Ö%¹÷á‡?ú±´í¸˜‘6•®íff¦.ØyÁÕW=_3´ßàQ¡Šä ÈJyG©12B „„¹wDo¶&7ÁXÎýĉø¨C£N;LÝ‘’{!‘ûÙIü"ßk€¤J£KJ^:Uu3ÕܺE‡»8UÅH&!t¡¸xlÒå‡ “8#è0mL?h4>rhvvs“›‰ÁÖηô“I¢Í=U Ô+/»ê¸7âÇï¸m4zèQ.4ù6¬ ÀæÔ½mÛßqÛs.½r#{ã[ÿÑ«&Ÿ÷÷ÿcÒWÏ<þà-ïýlú¹Ø?ÜÃU²Š:$)ᥠ¥HiG·}ü£w}õž…q7?¿i85÷&5ƒÁàE/~q“”4 *æIe5Kã?þÔ¡=®“ªÙŒB&•„l¢)Ó{›Â`*¡ÊŒŠy‘‰ÞKUYîÕõadV­[ ¨4×(Æ"sÒM[·^ýüF_Âv?¸ßÃç]pÁ™gœÙ¤tT™.½Ž Bx©’@É ïý§B|¥ÐÌRNp8”ˆ™ö5ž Žâ$*CÀUm&ªô¢èÍ^':Xì©* UnÖµ ±É$>HgRC½ŠX\G;ÄÃ%T™DHx%ØX Çš›ÝÜ4Í“¿TõhTPíÿ‹š˜ÔPq¬ãŽ/}zÿþý"í£_hiК„¡ `ÒÌÚ¶mÛö}7¿÷Þ{¾üéOýÕ¯ÿâÿØà>ùýß~Ï7|ëó£!ô®?¾ùÂֽ哹ê/Xñâ_ýÕ;|ÿß÷Õ÷½“C‘£7aF¡Çž‹‘O΃‹žzÅܦSî¹ëKgŸ{Ñé§nrä4 ¬Œ6£ª —ÂMú~0ÝaUr+¸§;IC°ÏÕûÜB æÐÔ#€ ìdÌãûעޑ¤>qª:òî¾ÚŠ.|»”lRÚ±c›B)PðôSN!U\÷€ù°—! ä‘T[µrÙ£C¥1¡ ¤„”!e*¢Z(Á‡Ua¤ƒ*}•:Šu±ˆ¢áúl¥2ÙCáP¯YR6gJ¹jÝ&wB½ê+…½O´&BòÕkû+BeQ@ ¨‚"PÒ†}VYÑÖªñÉò"Iû ZYÏG#F‡õÎ{çÝ+"ªED-Pë IDATjGýÑ-´4lõ`œJ­š oÜA3õ¤Oý•ßü¹õƒ?¶Á­òîw~ôï`Cn?ËöÞŸÖûê÷¾î›ï¸ã“?ò#o¸øâËH¼ïCNúÌÌìÖ™…3Î;ïî/|áñ؂Ҕ,ô¢d´~ÃáO„°íÛ¶²}Û%O}j¤¤€;]@–±”¬ !dM ­69úéŸü÷ÿâ‡_ïN1‡Fà¨~~æ’!ë%FÆx\û$[jå"B‘#­cЙ@OÁ WQ.t_¥áëP¢"~t !’SdaÙ˜DþÒk f#5p‰u°É$eÒŠD#‰^èÙª^Om¦BHHcMTB8Ú &U3Kš.=ô8$mÔ’°~§(•‚RºâÖ–6IbR' êæ•tÀf‡âN%ê+ ;”5$¹Ð¹B°7Ö“ž°/'4¥å™ÍDg©@Oýw¹ôÉO?Fl[fôèŠ6y”±Å£3­e Å=´i~Ë)§žvã­¸æy×ýCØŠW¾èÂÏ}Oë.¸à)ÿñ?þòާK­‡ü™Ï¼ýöÛ?²{÷ýO}êeËüÅ×à’’2HÑé‡E,ãÃñxoÛV5I?BPTÊ4A]˜—Ù4=þÛo¼À·}ó+¦d`^‘xPñÎÑD¢$O×*ÎLÑà빊xLޤ!XI|5·ÊHM?¾_ƒ„¦UY,PÎQç¸ô»6bEÿðtŒ  ¤ …Tãªh“R+©#b®DÉ¢JMãÅÅ©¹YPKFzJ9@ *É£Ær¦Ô¦9yGòp ”áÔÌ¡q—5…jh®ä¦ ɪ=R¼DH¥ÈœBÓñ”ý šhBJMRövêAëö {=ËzÍX‚ÆR‹]ª@ÄC¸¶þó™OyÎz'ýÜ]Ÿ]ªøÕ»qäBñŠT=M’zJî ø%Žô¿_k®›?~Ó…´ÿ^‘ŸèßêÀ¥ÜT=çœóÏ8ãìÏ~öÓ/~ñõäRÌÔãøp÷ é‚÷?êA.¢šD›RƤSÑ×ÔÄ/F€³ˆ˜t¯ÿÛ¤xô^éW’RêÍü„¤&Ð!ddIÅ †H‘{nt¸6ÉÁAg̚ù&)ò`ØWõ¤’ tmR-fµŠvwݽ¬Ž`U¢,Ä¥Ñ3†S‘D]›qçM3lS:5ããÃNŠBDŒVØeL Ã…¶Ý‘2ÕvmØõÔ¶ {s{Ñ”UTÔi€ Ì)ôf8Ô<˜ÊcÞ`_ sÛJøE•7Ë!ßúFŽÂàâ£*4¢Â’ R«+R²'9»ˆ€‰¸B…ZÃlER³–c2Ž™-M†øØ,ÔÛÞà¨äóú }íUx~÷ß|ï½wmÞ¼õiO»âg~æ ;vœú}ß÷CSS3ý.«o`nnÓsŸûÂ={8xðÀüü¦ç=ïëçç7OtVú —-[¶{î»wß·šô¸WêÙ·®Î:Û„gÐR‹aEaáµ'*îAÐŽ~1Dž5Úz«¼íïð¯|…x©ì¥ G ‹yv`…Z¥Â!$Û‘‡ÕÄ’š¡]1U™{è $¤éË‹”& ‡Ãfj¬©+ee JÍèð"·µ3Só£ñ¢B¨ wŸÉ4“Q` ‹ •Ä$j"š’#84~äàA›nºYœm¼у RE1ȃ2jwïºk~Ëé ,*)%•QÕ”’(ƒ¡HS;Z$JIMÛ•2:²8Úwpa¼8¢äA3z).âhnJ±Ò-ŠfGP‹\5 ÑÑ4]'a-ï(’‰'Æx¹åPðH=ëa#1ˆKÌô–×GQ Nxž+¢Ã³.zîñb' 7Nn¡£Å\ÅDÏ~™mü²…–½ ùà-7¼äªk“ítÓmÜ¿ÿ‘|øîÙõ¢]ÊéçN¾zÝuß°mÛö©©é ~B"Ë9¿â¯<ó̳wï¾ï´ÓμâŠg÷®ÙK5:8 ®¹æå{÷îYí¦ý8ŽA¬V,û°iš¤QÑÃGoٱͬŒÜ*M îL¢B“”Í tA£‚b¦*9çiúö?}ïsŸñt²3oÛ<5óÈžΜÝ253ãæaЊ,ÚäÒv£q—“Š h¢Ú¤Ô  SýÓ¥¶`Ïþ>² šf365ÒátêÆ+}ÃO¾ñWá?ÜÏÝó[Om¦ær•Fb”t˜RoÉÇ0ürºf\lÇN/]Y•ƒ #+i  S³SÓ£¦™ZQ`zÐ8­´ípjšÌʾ}öî[„¨hJI5 E¢ªj ÅÜ„æŽâî^¬¸»¹CDó´ä)š¤&åáT»xD\š¤cw·LŠªVˆšÄJÕ¯ŒªRÄQ…„ª ⪚ºDqT/£žƒ²‘~ЊÉʸ X•{cüÍ—?Ó ž ÅB^Ój]†W[±ÐêヷÜpãT’uNò•3‘e6„|Îsž¿$¼•7‰W¦¦¦¯¼ò…«ü–Ɇعó©;w>õ‰#$IL XÌiÁ€ªèÁ}¤<·iëiÃé9A<‰s;'˜6 ÝKi¦’Uµ5EÿømoþöW ¡~û'ÿfË–ùv\$72ŽîúâÍÌÉ)çAR ˆHÅŒê,ì@º³”–„›u¥t]éÎDI*9§¦g7ÍŽŽì?rhõ¢ûxaaÿáû¼&sаT–нWÀè‰è¼úÒó˜ß©Cr“šê@%5¹™ž™LÍ:ø0ÝsNP6)C¸¹¡3¶Ý¨3¯ Q WŸµ ߇:ë~ +¥”2œžž0C"ÍÃaSÆãq› a ¹'˜»kJÞuýÐÇ«E=aÕ""RPF¡Þ$©¹¨PL—i ‡³º$ZYa‰¯Ö2‰ãõcÐ_úôRÅåÞ0”'½ÐDæ½îX:C:nù;™,ôîŸnù n €¯4\[Îk•¥¬úÉ/~YÕ(ÜÐ3âñ™yé¬3£wÅ¥zx©uí}w}»î‡fMMR áQ {tïó§ÑÜÜhÖ™ÿä¿ÿq"ýÔOÿôz+îßèû^åYJ™Ûx±=4j)K¨¼³‡ U«§k(–U½w †39OC%C§§¦G³ó‡L¯Õô¢ŽŒF¿®ºE ñ¾y’õ=  G$Â[è6HRM"‚ápjf~Ûþ‡wA1ÈPE¥ÑÆ£q[ÛbÞï(TŠ»$-è õ€©ZqI"„˜¥”h6‡’¢"šò`8˜¥3Tó¬©JÌZ ¬¨ýKTøt}I£"uU@Ñ!5èkÚËúö óAç¹—\uŒäÒ­XµOy’ -ar`bì꾌[»z¡Gy¼ïcïEU»Ã†SÈÉÝÒNÀ²Òlu0Â1E‚ïR®dÒÌŒPä”HïÜ:ÇáýèI´òÝ…ÐàhTzEÕÀ¼R;E5©þø~ügþg×[ô-ðîÿü?D3wt°Î«ºb‚¨HA˜‡V¸NX †œXçE")ÚÝx1’§‘³ªÌÌ̧gV/WÜÍ“ˆxÕ¹p¥ Hq§@¡èmâiÑÞ©w» `èÆcJ£$5©ÎÌÌ †s- ¢ýÈ‘QWŠ$íJ)^iàtÂá,fƒ4TQÚÒ59“lÛð$ TrÊ*:n[Á¸É¹hŠl´i†ÓS3ª™¤‚´"y(©8' ˜p*Gô^Uy]B © ÕêîÐÚûÉê(rÅ}?)Ž–" JüÔç?¹t¨Ü³®–džY(ÐÏÓÓÓY^¼êÕFR$²kÕÝGEQ}M²ˆ…¬õÆ5í¹bJ>‰ KÆUµÁ^ÝÔÖ>ϳžöÜ¿ü›ÛWíÒ5Gc]¨'y=I…,®¦/ûqâÐoùÀ£­;{^;Ь,ÁÖÿ<ÅX½t©²-ꮢGJ±bf…¥Äh( Ãa¥'Á0K÷.ÔmЋS#,¶å_¿þõ¿üÆãè~ñ—Þà_ÿË¤Ó à)gGWL:Èî^E „$¬ê°Š‘ èÆ£’J–Üßô¦ßZqòñh‘#@ƒ{ÒaDˇT‡CŠ7¦”4U£+8FsRhÅé6jË=÷ß»÷‘G6ÏÍmÞ´ã«÷<°yÓôÔ,­j]  P»®F©(9ÍJ‘Hœ¢âfy0Ndã®#¤A {”²HZ~àž³Î<ûi—?{J=ª¯$ÉC½U”fâæ=Y7pÞ7> @SI(&U±(scZ®={ …K €K;߬J¹€Ð‰/4™ðGÆÑã‹W;Ë:ÑMrýÕ¯xßGßû˜F¥µ#ɘ2/Ÿˆ£éÃ'>HTi¦ÍÀ4iÊ»÷ìÝóÀ™ùAÓYì!RáfmÏ$R=¢ª’‹a1„4†®k;ú 7h[MÍë~àŸ¾é¿¿ù¸oæ—í7ã“ïûîWF^85åU¯Kws@œù£wüÉ1NûЃ{ºq[¼”ÂbÖvæd1æ"•ñ¸«Ìû¤Â$©ªÊ†˜ÒþýûŒN2©Ð¼s.Ž·ŸrÆùç_´iÓ¦®µ­ß»ëáÜro!™ã®ckÅ:55]Ú#¤³ù¸É»©h“Šk´í*"²oï.3kÛnÜvãÑØEJé¾îY/¸øiÏ™›Ù²é”Ñᇒ¨¤Œ®°Z%‹ð S‘ªœ˜ ô³­º®IAñ AY-Á”ßo¾7P]J_:šž¬ˆ‰A+ÁËý4òDªM¾cx_.몬\è$2ŠëŸÿŠ_ÿÕ<Êȳ"—Y‰ŽŽöŽ9öZÂÅ}b4„„ô‡æœuÜuŸùâž Ÿ|ji,Š“FzW¬ëÌC|Œ˜‰Ê‘DD$“%¥vÜ-ŽÇý¬ šTÈ‹/zÊ⨻ëî»6ò¦Þòûoðü^Óhã¤{+iàVDaª2Ðá¸t»v}qaaa÷®‡Ž}¶ùí¦”Ü·çÝV˜r#:œJ¥tšBwû§š©S¶ŸÙÌÎw£Ñpvª‘”sš›™K9ßtãÿܵûvÜ(ÅÝ15·ù¢§=of8캅ƒ{”T6oÞánYÇŠöÌ3OÛ~ê©Mnˆ$ ¨Rýвfª$ˆ¤:‡JøŽÆí®ö|å+wí~àÁƒöï;xðž¯|ðÍ[·&yvÎmgmö¡¢ZJQMÂ"5P gÚО%%Ø­T!.®xv!$?&ý £“ïL‹'?²b:vÒ ­ÆrI´Á…þ^Ñ1'\|=ÁzCîE(VÆ#3MMi=ï?ܸOÇeÔYç>Õ½ÛûÈž¶µ©é¹ÒuƒÁ ´mjZ A3l>7JVH¶Å……C m×v]éò Y8<AÌ^÷²oýÀ_¼sƒïí£7ßø˜\ãÞ‡>ê¶­_pús¿îIMˆ]©Jp2„2¤e#”¦PèH!‹Á§?íŸ?øÀ#wÞùùGöí;tàჇŽYÔ[?ôîÙ™™³.xªrôðžÝçž¶éô-³ó›gv^øŒ¹mg†žE%hëI¥wL‹~‹ÁUS<É13ë›·lÛ²ãŒ;¿x×h4Z\\8°ïÀ?ÿé‡vß7=žsöY©I¤@n9¥b"!Œâ~Œ(ýÛº© CþDD)…vI"×´?Nt¨BÝË :ëßp+g:ѦÁ:.îÇ]hB;ó* Ng¨¬»Ðñuéÿþ#Ñêßû¶ãwÒŽ­+€€í¾GîžæÎ']pÊi§5A¹§»ˆ$Q¨¤” h$A5eUANI’’ÄKÁ]÷=p×=÷ᄬ¨ý– Rå¹çœ¥Ã¹/~ùîéùm3û÷,9üОîþ{¿¼߃]|éçl?ûô­[æ7mÙ²uÛ)gK/‰ÝS–ÜLDÄ<Ö‹r)Þˆ% Hª€Ò$Ù±uóöí§}ûMû÷ïHëî9Q„)%³’T­ôõ‡&·Ðk BF¨!±3º9¥¸"Ù; ÕÛ9Ð\LÖÊh–‘'&…s6ïkNën¹YhRÁ°0™FÉ:°€%!k7Üòþk¯zécYÖ}AŽà¬é_»êïñDI‡B~Ø ·ÎMµ™Î‡/8}ÓÅO{ÖÖSÎ$¥õ"¥­Pܸ”¤QLdÒ$Bº§”òPŸü”§°™{`מÙùƒóGö•Åñ¡Ãw?ðàžGY\88èß·ÌÏ ~î×ÿðk}}ÿéÇ^wÆi§OMm[½YUà°½…*Gsvë¼8P¹m˶©ÙýÖ±-¸ûé§5GŽ>|äH?|þ™_73?•S3ssŽä^AÌŠøßÄ^Hª¨NK5 ÛT \TͼIy0¦¶Õœ=OoiòæígÚ÷àb»´Mô¶êÉRzýZ¥•pø‰º£½ÐD4‰&‹šB«£ô‰aY)éÄòWe+µBZï,W?ãýÄÍXB¼Xx9…°\(¾kU?h½…Ö>þâcï}ÙÕ¯ø¡Ç"çÔÃ…"‰¦÷3NÝtÅ%gíØqÚöSÎ,ÔPÑ šj#!JZ‚`FuÅ€¤â%kF¢»AÐ(¶nÞöð¾Åܵ¥ÀT§§¦O=ã´CGŽ>rdëflÝ:—SzÛ›U‡óæøîï}ícxQW=óŠûÚõêW^¿eÛÖé)NÏÌYo-æä¸tt MÖ£™ð +¸#% < "YsÊyÐL]LlÙ¼ýá}憃©éM!TÆ*>᡺Z÷j2¿¯I’Ñ O*­š0J¸ÛšÒ §f8i 2Ìý*j0U5«f¬º°á*©CI#éDT‘L-S jðniWðø[iÉæ]“vt¾~¼^éóŸù ÞgéOÜBK˜¯èá‹\Þê^c¡8ðØÑd)Lq9^ñ Ô*.nnî<{˦ùù¹yI‰nîEUR3„4ÅÝ¡ÝÌÝ„ìÜEôG7/èæ|4RæJj¦ç6ÍÌ›Tœ§lÛ:H‰*ÈB(Éß}ËoÿÚ¯ýÊcrA¯}Õww¦á”@ õH àî~çß~îOÞùŽ?ýÓ?ùëO}¦ Ÿƒ¬  %}A öc…FÊ,6ÈYRÎÂÒv]Ûue”=Ñeò\&Ý£à ”r°æ"êÚPÅiEIp"IãÕx#š Ó#`iª$U^=çcè¬Rýc{¨·’„È"SdL‘û„~¬< ý åTÒþsbÿþ}fÝqüÏúú›ÿòCKãÈÉ-4=3‹^ôc™œÅª½}Ü…¾Öíò¸IlülO¤µ ³3×Fæçg$Z ”b ©öì{ø3Ÿùô9gí|Ò9;(–¤qw0ÄU “€æR Š—À©xçô¶•F“0¥ä”Ü LTT40H_½û®[?vË-û–Åqwýu/Û4;ª’DE¤bUF^hòÁÞqøå{Þµû¡Cûvw‹‡)làT´]'G™´ê$Žºñ'?ù‰K¯¸Ü¬üõ§ÿúi—\ÔL Eúd¾zªV¥g©””ÚïÜ"7Vµ$*IS*î4š\)  Ì̹Ĺº]ˆBOQ)TSúð<ò„À½ƒ úÑŽ¨xQd•h-—ÐEêØ©j×uªZ…—õˆ˜jâ=Ò²¶oBM¤h=A˜„¢HŽAkmà% A<¸ß½÷Ýõö?xË®]÷øøí?øK?õ›Ç8å Ÿý¢ü¦å¬'¼Ðsžsõ³¯|~ÛŽÑ 1Êúlƒà õ ±Ã‡~ís¢'xûyÍ#¥FRrÕ M hJ9ö¥Ñå®/ܹëþûÎ8ý‚ú2„Ì‹Š L8ô «½avA§9MA/kKiÍ«1œ{µ‚‚ˆè¡ƒ.¿üŠsÎ;û½ï}÷ƒûçgw¸0kê5ì Õ ¾J¤ö\j¡ˆ¹€.îfäÕH^TÕ­W(0l׽캩éÙÏßù¹éá@5T¨FS². R­ôBSVT‰ÊT‘E(p%Íy0œ rlƒàlËEãêyÝ\SŠ·èV5aÉCx „ó«:$üë…JI'œM“ZwuëD…½m‹T£B,€Ýñ|’á—”„cÑäa¾½¬þÊ'ûx¯m›ýûùÝÿñ›·~즫¯~É…=àÞ÷nüԆΰTÇãDÁïüÖ¯¥”'ܲ^Bzu´¡…Žq|áóŸý»jóÇasŒbŽ žP˜ÀŠ -0¥€š·).½ü™_¼çž©©kÛ,B]šAB¢uªÙ­¨¤îÚk§–΄xnf¬ué ‹Y•:ªÏe—^*”»wßCäMósnÖ ¦Ãi‡Q2°êÎ÷æ\¤‡[é,njÒ°)"èw*ÄèÊš¯©Ê);N½õ–~þ‹Ÿ¿âÏN9yÅKôD¤eŠÞ:L<înt ]B³PªŠz±À‘'ž´7CÍC¢1CjŒá¢ÁßN áÍ))¥X ‚lo.[õZ ªV!{3õ€½Ú¶”è¯CT”—"Ù^WfSIɤ.¿·ó†ƒÎE;¿õwþëm·~ø¥/ý¦ïzÕ÷ÏÍÏ“¸ÿž»Ÿþ,ÿ›¿Ú½Á‚èÂKßûçïHHÂ>î®U‹=úy|nš$Yâ<©\eæJŽž( !ó¾0óDH#Bf­uGퟙÝN7Fœæ®*t‚Ñնœ‡gɃátÓdÄ‹¹»À]““Ã;unšÒŽuj¡)FŠæÃ‡~ꓟzúÓž67;•ó <¶¢ÑkTÝ¡äu$ç€{Óœ„:è0Ý…FAI^»bä%—]¶8ßwÏ}—_úô”H"£ÚVi’ÂTG)µŸŒ0tq ¤‡¤¿•¾*¸ñ¨Sl{ òzøjÀhª‡@4 &œx!’]hÅBÊ•îð -u0¥ÀÝúù+‹5îp–:4ˆB èâ+1 u_ÒÒØG«R‰®´ŸûÜ—_ñìïxõkgæg,¹ûÞ¯ŒÆ‹ÛwìxïÍïþÀ­ï[ï\/zî5•£Á“_èc·Ü8.N…ˆÇé Ú†õ݉*jn"R¡xîš2Et^ fB‡„Ùc±¢ÿR]Ñk7:¬Ì„ µV –𬌼É(.ì„ˈó'Œ“^šY¤œ/¼ð’ƒ÷ßñéO¸çž¯¾ç4ó¢> IDAT]o¿ð¢K~àuÿ*7 ÷ßú¾—>ïúõÂзÞðX-4ù‘uò Gµo/xÒSRN:…|r¢'æahaƒäÔÝ C‰b©ifFéà‘gRó ÇÓ3óÍ`zf~[¢–{HšY'ªÜ%è+îfîŽÒ6¹QUÀÁ ‰,R­ ?ý©O:¸øÂ¯niÍL,qÂ<«â;hQh+paà ÍÍK“²N us©^‘–ìºçîOÍ wß{ßÎ;“Ò…ÒÆ FS£’S”Ôª“ž’›…ZÕz„ƒ..A$­’$IÄÃUÈ« dŠ`Ä~’ÑC_ÿ9Dà€Ö ‘$k‚kõM-ˆTÔìæ¤MZa))‹¡² H±hrí{åé$cЊVñp8õÚø—·Þò¡w¿ëí_üÂçÎ:ëœoûÎòœç>ÿÔÓÎ<æ0¨×<ïÚw}à‡Þñ¨ZáGvÇ“v^´áLÑOä×øh#Ñã}.–Є›TT“Q,fçNMéÀ#{÷ †ƒ©¤³³[›ÁP¥°²Ò$ ó 'Pœªb³RºVÀšsàf ‡C+u6UýDÑvíC>0=ÌŸúËÛ§§¦¯¼êySSS‚^L¨ËõXð`=ÀEáÆÎMŠ!æJâNVóÖ0öh8ùœ}ÖÙ/øúîÛÿÈå—_vÁ“ž$šREí…B Š ]êk"P()ÂPN’âFç¡ÃÆ^DÊÓQY¨‰@bé[…!üÒ¢Œš°£]$…Â@ß{¡úÈnLzßfU²Ê:z1N6{~']UŠ»B ½Ò$M,mE(“0#wT˜ Q@yÔÞ>“Vñæ-[¯Å+/»ü™ûÙ;;7þùOžØæld‡|ãußü®üÏÇd¡ï­ìí¼ÿ–ÿõÒ«^¾nŠÓƒ³uv.‰ÕN›'GNªgô¸<(®¸ ЧÐAçvÊynvk1{ö³®˜››Ï9Õ¦°PAƒfVoô:Vö˜.Å N£“ª—à¸Â, wjìôAÓ\û’ë ŠPRNÃá0ýÉ”RmŠ+ÀE¡^ÅȦ/;Ì ƒ¤D¸³”]k@Øõ4Y<ú<Šà §§§u‰h*Öµ.„D¼¨Ôñ‡$ Ü»âFw ´¡»…‘ iRÐ\¨ÞOúGe4Q*zˆâÞÌFàf­Mp¶4!’*!Y³’ºyJAþ‚‹-•Ưíš(ÝB­TUñ*–Í*>™áæ"’Ô M,ÑÈbV@xªo.«wUyÖݪŠrÌãÚyo¡9BÓŠSjÔœéIG‡[Ãl@DuÕ‡ˆ„¤”L¾I–zÓm7/zåc²P˜ÑO¾Ð;ÓOœKëíÅ@-à¨ØëÒcÍwN+ýÇÒ£¾ÈêÏÉx§ÁкC–‰u,ù8±¢ïn?ˆpšy‰Ê#pl1áENÊ@ELDœÂÐTë«è0 ±ÉtÖ¹w0ÐèÝXs†Š#ÍÎÎÎÌÌJÎ1%¸f?ràà¡#½'sßר^}P¨"iKú¢™ªœcâ_ -ºÓXÒÜip·€ öžÚ¡³óÒ3³ÚJv ê.ƒH4ò"ðÅM©ª­ B)ª@JB€ädüùЦu+F_«á*K³‚¥YÌÒ­x\•Âo~ù·Ç'7}ìýf¡u64ÝÜÝÂýV5åöX»_šÂãÖ­T¡8º“îИlÖrrò¬'UÕݨ   ¸8™\0Eä új¨êh´øàC Ãe};DEDµOý–”«Ò·ýé[¼ú•ß{ì›òÅW¿ô÷ßñ;f¡åÑI&ì9+eóæ-"23óÿs÷¦A’]×yàwν/3këêîê[£±±ÜÄ]”(KÔb‰–e)dYÛš‘ž™ð„131?üÇž±GÖ2IIôh Z–Â’L‘÷} ÁM¬ 4ºº»ÖÌ÷î9ßü87³²z­†HY@Ñ(TWÕ­Wõîyç~ç[Âu\Û¶=_Õq±WÛ¶Ó5h â8+ªéÚkÍÍÍÏÍ-TJA×9³|âÄ“ßÞ­+"‡]uìØÍú?¤´Òš9IÖ`¦( ¤?öÄ·Ö7Fs³s×]}8%…"2mž9½vèðEªdÂqºžn$`ÅQÍ’R?'‡ºŽ÷N%Mrë ­ý~(1ÃF .%#9©ÁìLÅnÆœ ó¿1‘oG":è5]Ûu rJá/üÍãßúüç>³oߤyÕ+ïÿÚ׿zóM·¾ï}ñ#oý$|ñK_^Ú¿÷ÖŽ~õáGFíæËî¹Gr& ±„x\Hqs7Gü§¸€%8ßÎqV½7#ZE顊Fë&ds¤Úõ€w9Y£¢RL’ôRŽ–&J=} üHŽÖ­žëD@—Êe„×A]Œ‚„™ HnÇ\.UƒƒþÌÌìÊÊÙéDz™M[ªV^¹G®*¹3ðù1R3ÐÝ—§Nü¶,$á…j`a~aÿþ)¥……]Ó6ø;|õû3Á˜&1ÓÑ™þìÒÒ¾Áìü°µÝ»—†Ã¡Ÿ#¾RŸL%;V“—‹@ònÖΜY^XX|aÆš ¥H¯ßTcû”Ò}ò“¿æÚc"6lw ¥×ŸÑ”xâÉÇŽ?úÌþß©`=IL<ˆ$))^,¶¥B='§#‡w:T®nà².JÇÚÆzØ #%s|‚Š]*!êDF}«H¸£€ê&N7jO¸é›£M§¬­¯-,ìuB$8\]]Z:pôúë¿ô—Ÿ§s×®=£a ”µáæW¿úÐãO~ëðáƒmnöfú) A ¢5UåITîq’¡‚1£Jq®÷„ ñHÐq†)š™!0`ÂÜ›¤ÌMIÀ«< J‹bD¯  T'¥ŒF2VE9ƒ¡Éʈ+¾L&”Ôshe6T1wêÎú fÐ;zÃ1 OÄXr©Wp¥")ŽªR›‘ɉé½ìmù’—ÞûíXhú(V+xJiyù¤(€ÞÅ®èbßÕÞ¥¥+Z艧ŸÝ³°çàÁƒµ« mÂbÏœÿÎñû±ýo·ýÙïJQU`ó±r TœVÀQÛÍ»ÒmŽÊ5W[œoNž|îk_¤iæî¾ûÞúâÉgžZØsÕÃåĉ§®>tì¶;nÈIèãIR¤“¹Ó:8 ..*„jJɼtÅU$iJ”€,Å6G]/çÚCxûˆ É1†N’ „dNq: »®s+NUILD95¡E¶©µnùÔ³ËÏ8xäêåÓ§xà˯|å+DÒ·ŽߨÎÍÌôz½QWN:µtà`!©´ìê7TÛŠ hš $:+n^ŠÄ  ¬¨- M†Ï|àÆ_­’_8Îx‹>JÃET°§÷ˆY× ã‰¯U ¯æWg'5váü]]tÜ¢HdzxCF™"ov‡>ŠÃápm}unn±ÉÍX¼"çï)T¸žK ¬¹ÉÆà3_ùÔýw¼â²¤!þ±÷þUÚ\G[èÞ¶m¿ßßÉ]=u»¢…ll¬7M3Ý@q›Æ šÉ%GcÀÀ™™{!·AõWIT-ÒDÅDŒ,¥SÚW¾üÙc×߸²~ŠinùÔ3Oxòä3§ÔFß<þƒ‡–úMÄȹŽÊ(H¬ÃñÚ[¤8@gA±nhÕJÏèl4IJ„%ÑÇîf×^{ìð‘ƒ_øìçÛÇU@3]]_Û½{ÏúÙ•~¯n Oœx ý•<ÎK&jºQTCÅ%"Bã8Ñ&CYÔÇj×°#¢Äš/dX[ä #ùÙE hœ-IqOšÌ”E¤+¥f;+¬°ZØÃ“$‡G;êºgHÕB5 ­ÏnØél~4­¬¬ÎÏ-6ÍÖŽlWÕ­ÑT¼OæÚ/LO®Æ“:þåÛŽ¾d0pµ4üÈg?ôüšÚíbfmÛ¶m{é+zíË^±ïgnvöŠpòä‰Ó§—o¹åŽ Ãs4Ü(ž5Õþ‚äúhµc7n$Õ•Iˆ°Â˜¼ jÒ!œÀùtoƆ« n";«mÛ qZ‚ ’VÊÆ°}ìøæÞý»»ÒÍÍ:+ƒAo&å§ž<~úì©ÞLn0søÈ‘oº©Ñ¦Àš€d®ëô,9[xÆÐ.•í6…•ºD­e”1xå …Y*Ih¢*1VwÑPÝ Õ„ì ‘ÆXÇÝtL2·¤Yèh‡B(QêÌ£Ïr‹P3°ˆˆ"tr;õQ$é‹¡O&ýˆŒC:®:9MöìÔA¾úØC$o½îöܦ¬ _xøs;Y¨jŒóȶ®èõ/ÓN½š®p!¸û™3Ë<òàÝwßÈÔtÿt‘†òbolý¿•'žxܬ¼¦ó ŠuAŠˆ>?~J›«)µŸÿ̧®ºúên4œÙ«ƒ^žé5£µåÑZwëí÷ž~®æôò¡cŒ£@p…a,a0®¢šºá¦7½êµRxWhŽq…*®»öº‡þêm·ßž’*ë´L)WŒ  +qÑǞЈX¤äœEÝ ÎÉ9申™'o×»~õìJÓë9|ØÜî[š_xÙý33½Å§w¥;òÂì/Åý "H“À…µç‚8؈æ’ÄÀŸê† #Mœ©Y‰FÁ„Š!ÛĦ(î,RljÏC(Ä“ ƒ+ÄÄ i˜á¦ša&ªtš{‚â8]1‘d¥›øVYÓæéIɉ’B窱•qG5h¢‚œüBa¡¨ýê–AOý¯»¨n}À4¡9¦WÿÊmGïx~wî=·Þ÷…‡?¿Ã…¶oÔ+xÝýo¸R–ã-4Å-2œg0¦ÿ\šàAçCÓU¼Ìï…òJšÍ ?¯àœÌ qý 7¦®äÒž=ÁÏôJwB(É]³hË0ñ.Ò»DHšYfµ‹†$ “ñ$Þ-¤ŠŽÃª«_r°¤ct¾eïáЊPÜÉÒ^UBZsI•Û.—ÈQ:MD &'UÕÜÝ@z—¤b´,©¨õ˜ÒÏb— Ã4–J/¦ D\Tuë!â“m¥IRøLÂùDä¯ñÎïz¾eèÞ ¾ÿ¡ã_ÁÄB yûõ/ù+n•ùüÂÿèê`0¸ìmL»bôT¤Ú¥M§Á£<{Ú½Œ[ 9¥ª¤FËÈçû sû,øÑB…Èì 3ƒ™àJïšßÅ€”¨RÊêÞk­ÍMj²4½ÁH…¥ëRŽ wL˜Hušf€ô›þÝ÷ÜjÄ„kµ×{âi@ñ:ÒTä½Ñ°Ë¹Ÿû³½Áìf»óΪÿj7%6)åS§O/ÜÕ¢¸ÓÇÒ°ªV¯6<²õšX‹**³3‹Ëk~ví¹¦iÒPRè´ÒYÛ¨Â#DZjü™^iKré×óî­.öúçÿÛÏýö»~%çüÃ?ú9çË^ÑKÐø.áö½\°0MÿÕćäofhÚ‚Òª ¨RDéÚÑÆzî͹¦ZJT¯R…*µ¨Ð&)PUmR’4sjÕÏœ^oz³]”ÛY•¥°3kKˆ0Ü :Xß\__9³{ï‘Ö½”6Òäà ™â[¦ „ñ¾0C£~hÊÚ,>óÜÚ©“Ë9ëÜÌL·9_ÖW;ÛL h±-]T{½3Ïêõæ—]¿¶¾¢Â$Y…É¢)ÕèÁb†^0ðoÒ’Üóé•òøÏG9å¦iÜi^h]–4;è•’rWz®àÖ:²jJI&8‰¥Jɵ “7a$mH":@UzýP «#¥††uHçãà[FBPQŠ ÔÌSIÔ¤«ˆ ì4guJzÎóy:ût‚ƒÄûßó'øŠW½~iß¾)î Ç"’­®!|I~à“ñÆW~÷ßÌ=òɯ| ü­õõµßxÇ/¥”ßúÃo˹¹ì]¤6lý.ª±ýÎ÷zã‹ÉïÕÍTè^JçYTE!þÜ3O.î»zafw3è+HÁCO`ÖQ”Ф·qì²Ðé"››åôÊòòÚVD¥?3WºÖví]_~¥±xu¢i'?þ³«›3s{š¦Q‘”4çL0Icp¡tŒ›^RJçVh,­¶'W×G)‰hvnaqscµ-C§PÅAmz¦$½Q7zôø#O<õ,4KJYS£ M1ÿOåVHFÝhæ(î,A’1ò™$i’RJ‚˜[jw/¥ ZˆÕ3)?öô—¿ô—ý^s×½wúÅÉX¶ø†7¾eyùÔc=úηÿÒwÞsëmw\öŠ.YØåÒÅhûÑvú#k1:gÑð+´]¥àF®—a8г«T—Ý@¨[þïEr€KŠ´Ú53sM¸¨9÷fö¬¯¯ŽÚMÀ³HéinT‹Ó ‡tï†áY¯ã(d¸08-HŠ1¡"Ü’5w¥4ÞëÏhî÷DZÕù¹½ëógF››tÓ”D%õ…Þv4“b%¸ù*êD2º(„Fü°°j®%@áî.šo¸[ÓÌ’nݦ’¦Ö©šc&nJ·¤ÁÆQ@ÝÛÖNž:³{÷ž¿üÜçâ"Ík_ûú'ŸzLs{ÕU×½÷=L•ûî¹Ò|öS|õk_»gq! U¨0‡³ ˆ°ó’sω&7-6(J7ªÐÇéŒõ ‰˜@DÜ\ …¦ô’s¤†&5wÇfrqè‡Õå\ˆÎ§ž|â£þÀ›Þü}“ž ìþÏÙ{Õd•ç.ô¡OÀë_þÆ¿ÎíðáÏ~УH××d”Æ?ý“?øñ¿û~üïý̯þÒ¿ùó÷þñ5×™»ì] tSØöãØð ÁËèÖëÚâìTؤÎ\ à ÌÜé^Øèê2¢*j…B[„õC`»HÞùÑsiú.‰€ä<¿°Ô ×7×Vá…,-îÅáæ­Uý“¥šõû= i¼GA!&']@ZÄœ¹³?RjT¥iönœYÖ$J$$/îæë£O„0‰Ã„è„°U¶¥T xÅ#9XCI”Q×yî lG­ýÁ ¬®ÁK¿ß G›:a¦KM4gj’z×n®¸ûúæÆÑc7äkP.î^:røšçž;µ¶~v03·9ÜÈÍܾ¯>rM°TAI.RîøÉ? Ài]çVRîÙh$¢J˜8ÇŽ¹AFAŽxµ†¥»ª€a%Š+ËYÝö\ŸÄAž7ÞzjŸ9³ü±¼ÿÕ¯yc¿ß‹·G°FïÿÛ¶,§+уí0Žgׯ¿÷Û\˜>ôéÔcÍůh4ýÇwÿ‡¦×û'ÿíÿøŽ_ÿ6ÖÖg³;½¢ ´;)FÓ϶VhÚ5àŸ/æ®9™TÅ£ôz€zqtÎâM{«D¸zÅÀÜ¥(’›“ѹ˜nëú6/Mšhú½Áü‚œÒÈ¥H½~ Ga[tTÜZLº5ÒûŠY Š{+èIxº„Œ n"Ò1º¥Ôkú+C/œ[Lò,E›f „QœUwW$7«¹=@A'¨.ˆÉ¶'ûh|2ƒ;iÆRF–Û¤©ëFÃÍ•QÛVó£ÎD’0„þîA ‡Ãá®Å½7Ýò’Ô4£a;Øß'N³")7I´é]}Ý û÷yäÈ533s[î—¾"âС#Ë˧~çÿ{ûh4L9G©¹Ìñ‚£÷óÏY—?…MµB8oðøÏöˆh«èg Vœ%b©à¡íVŒ†Ã^ *âu`å¸B5D‰èÄÝaÖr´Þš©"Y¤Ÿg{ƒùšu\ fáäãu2=vè)aPJ:$Ý7&Ð FvhMúØyŽ4i3˜Kªî8:é¤6îHç]˜GãF'Œ"ô^ ÓbŽŸ4A‡e”Á®´…Îâ¢Éé"ªI]AêäN š¢ô{Í“§Ÿýðßwßý/_˜ìÞ½kÿ¾=s33W>xòÄS/¹ó®¥]»VŸyjæ¶›ççýþá$s“xæQ€Ðƒ…øL¡˜ë:¸Õ˜µ*7«s™‰N¬ÚƒŒ@yºŠ‰‹ E˜+,Q§-®ØÓ~²K¦añc *ÌÌþü?ûïþýwýÞï¼óþW¼ú–[…Ë4|‹KO±/½Ð‡¿ðÁ?x÷øýßùŸþ™Ÿ»öè±_ý÷ÿæÍßû?òcïu÷\¸KúôŸ\YY! ¬^é¼÷¾WøÖ·¾ù{¿ó{—ö1n£+¼¢ AB—.@ÓPôÄפ¼h¢545°ÒØ’ÃõQ½Ò…ë}lP&ô”›0MEÀH1a²Ê½¥ˆ9\”°äR¸^º.÷)5fÞ6Gî;!«ëÝ^w'Z£™‘¢Ê ö„,KUC.*p)(‰j !¸B,t­²EyÉ©AñÖÌJÙl[€Ï][ص š[·Q;RU!"(Œ0óκmÍrRtô{fÞô3­(6‡qÖ”¤9‹»°Ð†¥OŸ])VææçèBwŪSã/¹ã¶[opÐì_Ú§9>t8ç|Ï}÷‰›äô–ï{kJª)Í/ì’¬BHR–VU] .øaM©âô^´¥@›ÂQ¨ïP Ý‘Š9O’¨Ncä 0g“DjõâV+—±ë IDAT™¾ƒó¶Ü.·ÍÅj*u¤:òÏþ‡ÿùWé_ÿç?üý#?ÿ?ÍÏÏ Dx~+¾µk¯t!kk«ïú­ÿ÷üìÏÿÂÿ/ë¿ü¦7ÿ­O<ðÑ$IÎ3‡œ€÷Ïo¡÷½÷ÿÖüí_ø§ÿâoÿÅãÇ¿Š—½¢ó]ÛÏYÛŽc—-@q Ð^$x)ÒHʪ ÎãOœ¾ájuê….V^\S*ÂäðN†Ý„‹ ºÑ¦ˆ¦”½‡i¡Ó¼—SÍBÌ)¥>(룧ŸzÊ3³sOŸÞØhIIkÛbAo Nrpù„45@Db$ IFa)fES¸§Ü˘ ×7?ùøÙ³gïºïw¼êmíñµSÏZg^¬•âæV,Ãa'9w£u#Udض´“fvfÔŽffç„^Ì6GCïF6­cf0hzý•Ó§:sEPq͵7 fçAš8™Š”¸{›œ{MãpmT#!^‚E®"¹IIà`ÖäNU¡9R¦Æ$ÌÔ¼ÀˆJ 7»® 3ÓÒQÖÀhêã‡s»„È-,R™“ˆñPóû ^Èyz?íïCŽ…àÉÃG®ú¹Ÿÿç¿øoÿÕÉ“'fçŽixœûE&[öy,Dk«+ïúÍ_ù©ŸþÇssóÜòqú6/ÔuíŸý—?êõz?óáoÿÅ,´dç–›ÂEËÍe P´?‘ý‹éyÜ ™-äVàAun’ØÃ>‘²Î$írÊnÅÕÌÝÙS`XL#x‹¥Z :[sWìI–ê~ì4(]'ÂQ¡§ž{®‡_=¿{ÿÌÌ®V–ÊðÌé³+íæ¨˜KÎ$2¼Ä/\emmU{—ö7M¿ŒF«kYÔè33³îÌHÃÑÆòò)³®5%@²6ÚxÍkÞô–üñëo¾óɧž<|Ã+OÎ?{öäÚ™SIó7¿ñP–ܬoŒóÌìüîcÇ®®o8°”{¹+mž;urõÌé={—>õ©O|îs_pz¯iÚ®m»n×üü÷¼fnaHb·)ò, {¥hS4n—$•¡Tª½€£ò1•ânŠJ¹ kRó Q 1w Íè¥H„=jœ$ÅJQ‘†´%Á‰ñ¥l½ËHªÞ(öëW’7?Žð˜Ölu çlÚ >ëî:rÕ5¿ùŽ_þ_þ÷•RÂöI6¹U|¥ 7ÜxK¿?xø¡Þñ뿸¸¸§ö S¥áÛµPX²þÑú½Ñhžy;XH.2»(0tétA<ˆ/xÆbQʰzÊ®l‡í©Õ´´gN ›£¡Ñ‡í(‘«Fèõµ-Þ̃´ÒMÎ)7ZŠå™y1sÒ†ÃáÓO?Úµ]çE Y³³<|ãíwÜóÎ9éúóàPÓ³¶íšÙE°óQwf}mß«YÖ¿õè{ºþÆ[_7;7wò™§÷Ž6ÖÛQ»±¾gÏ••Ó{÷¶¥ÕÁ·žzâ›Í é fÜÝŠíßø»Þø¶ëŽ^³²¶:æLé˜g÷]µûšåÁ³?øEŸFf6»Õ“gVoY¸n®×[Ü{­»ôûûz½n÷ÞCóõõõµååá­·ÜÛëÏßvKyêÄs+g–43·{}}åÀ‘›šÙ«½iì[škü¹ãÏ ÔÄ#O¬Þi1yª¢UÄÌ>b‰pFwDŽa5º¯!%R,“"9夒»®óØÚa8]ŽÀÊȘä1aXY!S •"T*É•øöàA[ééÆ)ùÛ~ü§ßþkÿn¼-· çéYÒó\ø‰Ÿúon¾ù¶?ýãÿøùÏ}êôò2¸­4|Û"_õê7ÌÍÏà/Þó'ÿùÝ{÷îßÉB¼0tΠýܺ3Ue.ØMãA|Q`ÒÙ(É™@6¹iz÷”“šœ”³=˰ÕÍ.y¯Ÿ„lD,u=°3;‡$Í©/)¯  WºE­$É’THïë¡—Ù©7Íœ¥¦¢ÌÆSI˜feßnQ=¡=ûîWß;˜YÄðk£ašK¾{—/XÔ&Ÿ:8ç)­²+ÏÎéÒÆÐ»2µmë¶¹\~ùÿþ?—»ã¥÷»îðc>òìÓÚæ™~/ßqã¡ÝK¯L¹WûaQÁYð1ËÙ$éÙ§Ÿ dÜtí€Ão†¸úPzËë_öàW¿zæÌ™v´>ßë­žzô£_ûÒÚptàб׼ê=ÀÀŒ ¡FëÈX™F8X}³Çaòä&»š„Pºª Íà"Y$¤ù·*$i*V’æ ÈWd"Áf C(i)«L+wšHBä¼RBMŸt[ÖsÞ!táM[sa§zœ£š‰ _%Ï#ïUBÃ6 äNŠ6sÏÞ¥ŸúûÿÄúÀ{À_U¿Í Þôæï¿ó®{_ýš7¾çOÿð_ûꎚŸ_:¿É4ñb}ÐòE€¹9Ýf'ˆ>6òÙÝ 37Ýü’ÙÅýÔ,B‰4+ñÈš‘p~U‡Ð‘¤Qk"Jk’7JƒªŽ)§"aj\¥YÔ"^§ª/§“}"^5W–#<_’ŠƒÅqöôú=¼ræÌpsu4Ü(m9³vöÁÏÿñW>ÿžûî{Í5Kíî™^oanëï:G »ƒvïþʉ¤j‚¼¸˜Öïsó7æ÷~þsŸo7VÚA·¸à{æ¾ùø“O=öÀûמþþï~…˜Ã" ®A¶î)R4B"暼ŤP„V‚í´Ú I(EH‘B­ëܬˆS¥«3axÅ":-u”úÀ³d£gM"Y M ”©Í•iVå›v»Jc‹MÃmzJž>ýÜîÝ{– mþmÛøJ”'á÷¿õÇŽ?úõ1{ÿ;²Ð`0¸÷¾W<úͯ=ñØñ+X öl^ì´EA3c^$ü ÕLwt¥Xgô=»ú7›\wô¦Ù…ƒm×ÅAÁ½°8’jä «ÀÅ%)È€9º±@´'ô$¡ÕPyUIã‡Ë¸[ªÓ}XCDįÊ,ðgB5Œ“¥Vƒ$gP tïž=G{økß0МF{5öžxòÉOìÚ}]£iÏÒž]{o–­@wJµAs ÑdpC“T'ÝS‚K d†'Mûöíß{àÐsÏ€iCá½~¾ª;|rùÌÆÆŠ¨j®ÎéÑcy¿JD:£QU…SH)sMï ™…›@Â.ì R,Ô**Op3#\D鮚<ìÞU„HP n%â<¯(›A³0\0JšÃŸEv–/¶ÕM¨ÑÀÔ [üÉì‰$K)ø¿ûCû'ÎÁJ"¥kª_àóYh’4KîZ\lz½-áÊwl¡·þÐÛ®½îغ ‹çäß.¾¿ÀŸãß9DìvrëêÄJéÚ[o<¼qqi÷¾]sûXXJéÑÆÍ"ažb„Yd zý ”û¨Aë$!iÅ]EH…‰[ëP!kN–¥ÊLH$`qUŠÛø™UsÔeü«pq*gæz½™žösÊšSf°{×BÓë]}í597ýþÌÌÌ.R"0x–"¬ÖÊ¢N Iªª"AiNºÁEPƒh’”%@¤œ3ó³IÒ¨ë4園 Œê$@Êš’ª sÖºBnPuzJMµ¿u¤Ðïc‚EÂ,A4@c"HÞ™¹®€{hØÔÆóºƒL$ŠàVˆZé#CÙ$9 Qê~v0›ŸÚ¼ÛÅb[ƒå1‚;™¥ÅñS_÷úïÙµ¸â¼)ÒV ØP®x¡ú>ûéßyç½³ssW};I)¥‰&ãR É|ç·B—‡¢§&b˜ø†¼8ú âÖ (0+tîÞµ˜›FTŠJ±ŽæLòô‰?òpéüöÛî¸êêýpºŠtІî"0;ÔÃÑYU .PaD„!’ áIÄ* Ì=à"†I¸ÂÃL§úSlý*+SCÇyP{ô0æD¡mÑ&7YÉÙÁÀ¼˜u¼æ¹Jª ?!±§!ŠðˆÞãBÄà’¡g ËDRĪãUÂÜS•š ÍjüóFVœy˺‘.qFI‚;’²¸KøVm‚‰BÀÄÖ Lš¼íJN¹+mX •‰¥žh¬zwH ½æ°1’BIÌ ÇË+éƒpþ³ûÜ·‰3§O¯®žlØ`ŸÞwÿ+{½Ï{MN-—àº\x¡©7A†zèc7Þü×°Ð{ßóGßõº7ÍÏïÚÙB<ïëœÛàœß]¨š´?8lz¡÷A)7eÔŠ;4©&1vª) h“»Ñècùà`0XœËŸüÔ§KáØ„R3⫟rÅSPhã °ˆ3¥Ðj tº:»¶Ds$H{­C¯Nƒ‰BÑà#A´Šê1F›(€º³uëÌÄ)fNëÆ´åÒy1CÀO5¶úÊ{8'Fwš‰ˆh©íRçý$T•c²8Î)j.…Ĉì|ÇÜ×À4USÒÈGc¥‚‹¨ä¤Y2,¨Î^}<èQÛ&å8=REŒ‘0ææ¨¹[Á¯)p½Ô W7Ĺ̄F+*¤ñ³äOôJfóçoàiZ É•3§Ÿ|ü±ßýÝwôzý}ÛO­®­ŒÃ†¹ðìxÚupç xæÄ“kk«×»i*ÌÌâ;¿ÐÉgOÜpÓ­)§Ë/$ÛÊÄtœè’d íÛ¦‰yôAn–%›˜ âá£{N’’´¦æ§WÎŽŠÞýÒ{WWO~í±O„½V„ÿ’éPuƒ¸#«ªˆ“†àÆÀŸ/BCÊ$yiÍ<õDŸƒ”B˜H f#«¿¥æSÄDZÇN8èH _~wMÉ!]ézýL°q–ü¸ï&ÝJÜHÕŒ ) »åÚ5ħÀˆ\g߀ѓ¨‹D\\œÈpuø –Ò¢ôq*møÌHªj¯®@$ΆfQ VH Z@ð„2†PÜÚnÔë5ÉJ)m£„wˆƒŠ†ÉhuɉØN8˜()åHÁM HÊ;Íz¾d7-ã™ÓËïúÍ_ùè‡ÿ¢9¼+íC=0)@ñú»?ù³{÷ísÚ¥%œcôä2 …£ùo¿ë×>ñ±N/´°°87;/ÐËz8ÿÕš™›å¹lë+XhjªuQ`èè`Ð4óê…®ËI‰1$$œÔpíÌú½E»áæ`0+žî‘ÿ Å D)*¢NS%ÈD´‘¤•ØÃîÕðX3èFw…ˆ0‰,m•1»M«ÎiƉõðP&çùø˜9Šˆ†›B:¼¸å¦—rªºBg€EùÈG>ü¡÷Ó}ü[¤¦„þYISŠK|ã5¼“Œ{«7‚¹[é¸Ç¹_$ 'LÖ8*"HUí'Ü,I JW &÷­Ð襰É=’f®"@ ï¦à±"öµk ìJ f„ˆ&O€¨«ëòy`ÒÛrrHÍéæ›oOcK49|äšëÝœrž2¢¾ðëÒG‰é1¿ÑNŸ>5§%"¯{Ã÷Ü|ëíN;çS¾ ÝrëKÎÿ”+_è|(—¡·½1{_œ»õƒÀ$U”%ôœò˜Ü*YÕºáÓ'N>uâÙƒ÷‰Ö¨½ðÙQMmR?IÍLI41¥&Ⱦ"I2%‰&Õ,©—úÉI¤QÑ--ÆùÇn>%8B" ±YbSuÔ.H(ºÑZï`ì\jÅ wßµõk#PfŒ†£§ŸzüèuGQA¬ú6ÖÁ›ZÿËš»å%¤‡ñ½Rê…)5š Mh€(=¬o´f°ö4!ÑM wMY3 )E6=)"Mš ’ª‚F²þElEJ1F7£jÆã‡BQw ºHŠA¤Suªð<tÕ3Ï>õПš_|é7‰¹Š¸Šƒ9÷‰¢ã£ªŽ šÐx/HÈ®c†«rS\0)AªL }%.gº¥÷ D"Ë P!´Ð]ƒt#T=R$‘^Šå¤>^”œpÏËî¹ñÆc“Á aD_0aŠhUrIE§«ã‘»uVʨ5Xq(K‚:½Â:NP¨2p²8êyxBŒŒÁꉴBJx ž8F•E IÖuFX)sÜÇ:ˆŠõ!ò¥IUZGHÖ$h“¨“aÕ1®ÃßLzq÷žŸüéüú7~oÓ47ÜtÛ¸'Úâã\)Ls¡ÍW¼úõm×þÚ¯üwþÌ?üù[o»óèÑ_8 m§AÛåÉÊÙ3ñ¾?yÛÛ~:ž¤@̉„4%ÑÀÔhìEÂ"r‚M a7ƒ¨ Z÷^ÓÜÿ²ï¢PµQšƒ)õaÎ=@) 'nÂã4Q°À! cœ³ðꋱ”\(´Â”BÝéÒHMtªŠ1-QYáÚIÔç>¬, ¢ ëhà¤ZØ>3;û’Û_ªqûÔzÐ,Ã0VC,QQÛ  ó,!PÀÄ")ãï‹–˜ ¯üï`f†ãc@†›€ŠFôi£Ù%†ñts¨ªŠ‚†Š^‡)“+à IÉ‹’$rpÇÝ]Äš ÅÇÑhVåÌܽt"ê’ãÓT¤¨ÇbG5H¦þå¹%Yšx˜ìß{pÿރϳŸªüË,”3ÞüÝoýžïþÁç]1ÿšš>1MõP‚0Dœ`8Úüú׿:Ü×¹-Uˆl¯>ò¢áI‡àÅ • 5’Rj̓ ã­kY45 =5½ÈïŠSIŸ\‘âËŒíŸH*Uu, w4E…Xà$’¥úAEt"ŠZ£7$À#nYÕJ$QÜœ‘éêi$4w c_sÉ.#ˆ¶G9ƈ¥ŠÜcÏ‹;¥‰°Æ~Âʈ¿®¼8˜hv•q#“‹.ñUCþ.c»Ç =‰ˆH’„$fV‘»'‡³ÄEê¿N@]2%K¢jk6u3ýƒª¦26Õ&ÜÆÙf*)B‘0³šcô$ ¿êÆmúq}™¤ñ›ël.ô(§ Ë÷Åt<ñTr'yLJս¨ºÄnº6MŽcà¹â‰Øfêxñ³Ø û•T#Ž9¨ Ô:š'ªÒhD!*9Ç KépB«£tà¨!œ¬®dÑ uœ*Êš}  ¨Ñ6±ëÔ±]‘CJ-IÜ]#ßB Ïçýs 3A Î%GõFt²ƒUƒYÈJt&)É)â)°ÕÏI­w•bÙ=4Aä¤ÒH3%L¢÷²âTÀɪw¯þ¬„È€wtDŠ(7 Xšž4›µ1ˆ'š<8Å`mÛ‚¦)ÇMiNÀêqUHg†¶Þ‰ÄxÁ¡Ñ¶‚"F˜xQ!R¢;ÄUšæj„BÜŠ[1ú…v¬L#£ÓÍÅåO@B7w7y.´õY:9Ž‹'ÆÕuó¤¸lé+KÓg±sÆa/xGEQ–?*Â+9ÅA*koy³CöûYT¶ÐÄAM)fåÌf»k¾ÅñÓS•*ÍCt!µ­çá±G˜@¸ºÀ•t"‰¸[[‹‹km…à!¨܉À¢lAp«Ó°bŽ] TÅÝúM‚Éšî\]ÙXÛÜHšìß“2ÉdîΓÏɽfïî]¦Pq¯¹ƒcGtO6ÂR¬%ÕNŒ€¸¡ZÇÏÚêP}èAó‰–³Šå’ä¦q3Pí¡'Ÿ\~Ík_5è›C5ȼHG«ãáÌ…@["(¢²‡é•¿bãЏHÂdE˜09Æ®¤îè âð°·jã(š¸bD„ô$I„a:?ñ©o´ëûví^ÜõJôÜÉ$ËË+„ÏÎ Þÿá¼ú»^¹{÷‚0¸‹ÄH…'iBM¡ÑÅÝU3<ͬÙBÈ<ªvWÕᑼí¥D™ TR5IRX¤¶ãP2Øš&‘±‡j ½uáì(²•â´ |· k$ 7«CO!cVIªÈ¤¹§”kXÁNjÐ`П™™]Y9;ݘٴӠªF·ëã@ J•˜LÒr<úÐÉ#)ŒH ó û÷HÙB­?˜?ç,¶eK6}äG'MGŒL·BÛÎz/|~P£ªK"NIH.1L¦ÀWW×ó`×Ë^õšA?/Ÿê÷³gΜ9ùÜYÍͱ«?ýÔÓƒÁÞá¨ýÖ£O§^ÿÚkz)bŒ‹’Ð\yÉh¨š ²N©C`–*Õ'Pܶ°$2a U¨IãiÙ•sïØu£M(pD5š8 ÎZû²¹±~Ëmw\wíµÃÑè«|£ ‡×Þxý§>òÑù]ó×=º¾±®È¦:€WŠ2P¬«!j$h„—ÖÜ µ2…È>¦r†ŠjQTà«á=¤¶*DRED¥˜ ’´îI|KÒ‚zå ¢¢9¥¦É©H¯G‹U+EAÕÃ"’œ5RÆé)è‰)ÂJDÁ~÷Ø¡ÐzÇ¥C×-]lò#ÛŽZWN:þ©f-2ùˆHòÁ¶Dpã­wûa“/2Þ½*ª“‘Þy`Í”¬¶0˜ß¿ðÈc·_³çè Ç€<)Ãr©—Æï"I#ò[¥v=8šIu ”ÒñÇŸº 4uÎÚaË|r|³qR‰¶Ä^ã°)@(™EL^ðãRs $m;êF«Ÿùä§ï¹÷Þz𚣷®>ñÜò™Õ•³{ß²9íÚÛÿË/~N„ËÏž9|èû½,ã äšº'Hc:ž‰„ÓÀ<Èן«Í×RtsuZB¼êø¡¿n3RU0sDÑß-%IDšâöà—¿´|òÙ¥¥¥o~ýÁÁìlóDO÷,íí5ynn~aq^Ç· Әţcã f„[“ÒHMSʦ^È0g À§Ââ­9@Q‹SÃsŠ`ÐÝ­sP()Á B¦Ð…‚HœO„t]É*¥I*»3‹’¥r¦$ëbIhJ6j)Ij(ÿ5éyVÇ—ªA 3½¶mƒ™ó·Ûö™ô ÛKª­ý?ÁA¶rMcT4«¾µ÷€1YÎ~ŸÛtL7 )å¦iúM‡kë«ss‹MnXk¹L Þô“Ö'PCÐÞuòaÓW6‰}t÷¶m#þBß¡ŒüÓBVl·’q´ “žº4yÑôA,-R/4^)¥V}F$ZÛµ ‹Kwß}çÜì`4ö{½§7V\uý×Ö¾œ5ÃåàCÏžxì¦[îX9ý•œ+Z©…>Ÿ#ý2>ué¸$éä6©BSß%¦ŽQ•þœíepòÁ[¢û ÿpÚ#qLà9úx‘ ýx *…¢„¹3‹KLo(J8uÿþ}¢§VO=~`ÏÜG¯Ûµ0wìÚëÚß¿ç®~/¿ä¶[wÏÍíÞsàìꩾt#˜ Ç5IФª.&L pEÆ“z€æu¤¶‹4Hq@’ Cu•ªuÕ——ðÃwUS„OGƒ ¬°e 8zšï¹çŽ®ëè×^s¸ßŸÙX9³çÀÝ =§ÏÎ/ÜõÒÛTî¢aÒv‡%n>Š„Ô˜( 2ÓkFN$™9i ß ±"0CIºjªò[Q…û`fŽ¥¤À":Fª±‰)²Gæ!JRmz9kÊœ3 d'ФbV3¤!€Y“IàTA)n€8Õ©Aßv(¯P7ÿºå/Á>Mœ9GͰu–¹Ü÷yÎäzòçtœ§,çÎù 5ònJVµ1.ª[0]즣}.yÁ“2Tc‡¦c3§iß>Pi»²ìEˆI«f„í§SÅ÷¤)GŽ\»oß·.çÞí·¾$çæ–[n‡¤ÅùyÜrÃ-æTv¥]wÝ „–ª,uque‚¸8]‚I$• Õ)o”ñM@ÅDcÀ¤H$ô¤ưV%= 7HÉMj†ÐR R6Zk­(A£;;F6…æ~sûm/$…K5…û¨úî…E©:¡Ýª0†¹«W(R´>Ž PͽFRr‘L( Z±L¡ÃœÚd-nî$¸Å3¬òsuuSáoèahÿÿÛ{óÉÒì:ìœ{¿÷"2+³ªz©Þ{¦9ÓÓ³°gFÒ¤I$Å¡.(R”%[¢ ‚aúÝ„mÀ€Ã4™0( hRÞ 6%™0as’3r–ž¥{zºz«î®%—ˆ÷}÷ÿð½¨Î¬Ê¬­IšÝî‡*3+"c©x÷Ý{îYÒ†ÁfÊ”“¨TѶž²¡T˜¡,nh™Ù"R©ˆN“FBæÞÉ£’œ kkfÅ4´ͽSî¤ÝR`uóÙËã_œPPN´éRæQSµ æd犛[¡›3Mo*CGÕ¤¼sç¦Fâ¹a½Å#ø¶‡ÙMio˜]·ºvíÊ‹ßzþ¿ÿåøcé§ŸüÀS½uÚüþ^oìíhã~GCLÞÝô âRéÀ°gx!Z€…mrÀË0n1–®Êœ‰z0B¥”Ï|æ{[hÇB¦ÂhI†:,­0uÑ)»HAp’ÊÙ 4uŒ. Ûu½¨²îCfLˆ¾Y#JI_Œ‹ƒa¨+M­u^Léî¨2µµ…w{Tv—ÇŽ“ê[£Îœîâ›y‘Ìžcj,†RÆX‡R†årkgUëÔVJ€dÍ:e.ÌIªå#?zñ•‹}¦M¡¸edçboÐÖ.ÒÍh™Ð`E6gsŽÅÓYŠGMS›H‹6Ѷiƒ“ *Rs2b·‘B1/‚r˜ÚäôšË„ny¢Ð½ëÅNH=%°ø†FæX ÍõÖÖû_ÿêžâÜîømN³ÎÁéIa7›8Ýq$àͯäøêh„RNiÓàÕW^þ‡ÿÍñÕ¯üñµkWžÿæ×†axúéoú#žEŸˆÁ¿ëG²lͽdd3t#\Ûß_Ž; ˜{ÙÚEš+Ñ“<ÃP`á>ZÉ^PzR…›…puÁL–3S%“S ¢ô’N¨ã u1†Yè³!¡$]"Lfäö8NX\{}^|{{\íL«Exof/Ðíò[o>òè3ž8÷Ü /BÉb6±~AÝiôO$G™ëñ‡ß›¶ÞxþË>,·vÎÖÃv°×rª!Ï©j‰J3÷­¿ñµÆm»ù´™Ïàn —R¶‹a1˜ÖUätxÐz»”±ÎÅëo¾qår8¶Ò¦i"0bÎŽ/@H‘Y f2²˜¦Ú[w›­FÂ5×9ipz¦ë6rtÀdCñ»®A':~ÝÙ½Ž&ãìI̬_ÿÊç^ûã~ö/ÿÌ};[G¾ŽÇq\ºy«YìfoècáˆÒô†Wt,Cç¯ùÙ†7!P³gË-òæû—¯½úòý_ý§ŸÿƒÏuªëþþަ‘©ó†Áód<è]¿S*-‘H‘à`öæë¯Þ¡ 㬔R–‹ed“YÉ.9”æFxdë4ÞÁ-ë$³€#k‡Eßà=•‡s´V&ݼ¤F˜Y™•Š[¶Ö2Š˜•£DÀ˜É>?Â&ž{éâKo^Ù3+ÛÛç³NÓÞµÕÁþ æ)3PŒÃb<œ¦çžûÂ¥7žBSe¹Ȧ‡!›ÆqljD +®LdŠÚÒ=«¾øµW/½uõêÞ¡[Ù^l¯·w÷Æ-­÷¥ÖóšMr,Æqɽýç¿ü{Ãö}ð uPÓ ¤ÓÝ#b(ãžù8œ9¬+d‹Œº^Õh-ZN¡½U›’æÃà‹0§0Ã0.¶jµÚbÛ¬Ô¶MdD÷ë èÔ"˜!ÓÝ[ÌIw­éòj°<ïp7ëVèºÁÓbün;— ËÝïùÞý•_ûg¿þ¿þ?òÙ3[[×±MѹÍ,†›RtN§1gôœÒÓ–qqÒ©ž7ì³ŽÜæX¢ôñgÅësÜŋߺ^€ú±³³ûS?ýs×ug›i4§ií§tïúYLÊ`‘Â$#J1W‡ûßzñùRÎôJÃîÍ1S³úDci4B³¦«¹•4ïñ›§oãËP±_‹M芳@ÏÅB@}¿Ó£j¢6gÏëCR—ÒLI%1ˆîÐbrçüáÙkÓÁÕu ÐÝ,h¶°¥¥®^»|õê—‚¥®XÍ»¨ìêxÏì"”ˆÙÞ¼4´¡(Y–»çÎ\9Ø¿*u35µhnÆ%ÅH¬¦ý<ì‹F&Ò{kÏf–õ:»=9G£ötN³†¹Ãbˆl6N!jTõÉž<–¡ÎÏ.\;Ëk”H!7ž–,îNLB É{©AwÐ …O¶Ë¹é‡¼ðÄ3ŸüÔ§õü§çΜý¡ïÿþqŽFãtçŠ;¬Do—$íÄt"6¾¡&ó†°#deÝ<“«V·Œ¾°\n={îÊ•·®ÿp±X~ôcÏ)j”ðÜs_þÅ_üÏ~à~ô¯ýµ¿õg»+ø3¬A‘BNo\3ËTF¶¬û{ÌÎx¡ºçÍl„ã6þ>¸Þ´ Þë n»÷´ ÌÙ~uöÑ(b#€Ù‘L³†cvgéè*‡9ˆT³ÞÌfÖ(@–2,è‹.\ ã™Ýóë«»ë+o¥Ø—¯Ãb)›²„ºóʈâo†n¨•GG¡#( ×)Ôo¨eÙ¤ƒãƒÝÊg?ûÓçvÏ¿úêËO<ùÁOú»ÿÿýý¥_ú¿÷{ÿwŸ-.^|ñóŸÿíŸû¹¿ýó?ÿ ËåÖÍ«Æ÷Œbç*W¤C”l‘ 1¢‡Û()8-ÈŽ‰ZO7GÿÐ+g¿œ™ºÞãw¢†T—ªnR1fÃÑN€VÏpÝ(Ë‘s¾s׌'È"¥h=U±/,›º]Z‹šÉqË8´g9söá½õ¡ÞzKäàC÷@ °Fluà •Y“Ì&²'š%c&FBÈ..™Š¨´³¤Ü=÷ÀÕËo€Ï“\Œ ·b*IÖ½‹6WËÙ*©14G‘Í!–æX<;=¨5i]Zm0€a“µa+îL϶Ý‹#Z6 ½8ÏñI‘Ñ @*B™½Ûëå!ÕKdýkÐQlõtTèæ=½ŽB<7¬Ì¦«/í+xuJ ¿ñ•Ïáÿèé'_ åæYì4ŽâI!Gg1\uÞ.=G_Ë1JÎÑ.iÃNä ̦#&~ÜtH`rêvÌéß÷}?týGŸýìO¯×«ôþKI.<ò÷þÞò³?ûïøÃ],¶nžÞKÍ2g•SÂ#áMhF±"%ë…"2¯¸PÑíH7p¡³ÓYGv芀S&Óæ«¯gë…`׃¢»Áñ¬Þ’M0Žîì X·"¤ÐzðÐ"°^ÜyZ†q¹ÜË@¡f´LGF·5š. ÄÆ±“‡:,“îEh}€Lt™ M¡)¤R– 6.Ü9û » ŤèLÊ¢÷AI@‘ nÉdw\cZ·ÅK)Ñí_Ÿmn{Áe âjŒTVû‡#lw{9>¸¯3º¬ŒsÜ3B¢@&è)Ï™™d1Ïgö·5eéà»Ï;q«}'àôÛÈÎÍ›{@Pýê—þà·¿ðI^Æ>û}Ÿùô§wéd(úÖ”¥Ówd§v ÇŸÖ±z Û<Ÿ²¾¿ñ›vbGÙÒ§Ó© ”á¯ü•¿ù3?ó7O„œõÞ¬?½ Ã0zé¾®u•±ˆ”M½ƒQ# 6ÛL[ ì¶ÖŽë!~Ö¹†òº:æ`À@8MÙ†äµ.>N±»/·nȆºyâLhiM¢\slN·« ³a1eú¸p7‹å¹tâ`Ý2MÙH…9ËHÕû1ög›*ú§!¢²G_PL’±V ¬­V­Ä0œé©F{Šˆ>õø_øŸzåùÏS6%j¶H3»­:TLÌ(eï[úD4W Z‘²ºÁ)ÛØ}ÕXÞxëò¯~ýÁ‡Ï>õÔ‡”²ˆÖŠn•&"Ã6ƒF×öJhQ[DÇPvÅ\ˆ@z"¼;ÞÍ^ìÆe’nkí~t;ù¾×ä/?ÿÅ_ýµòÂËo‘|à‘ýåŸùw?ôø#§CÑ·ßÍŸNÉ›?R:nb4]ß‹ÏE0äñLú[^R7DÜð6Ñn€§N¹Á{aÿuj ’àe8óàb¹Sk|ùë¯~ì;cécIˆ²Ù•‚ì>‚›ò!СNŒn´ë‰zI,ª]†Ó6[Ìn}êR“ˆ®Ís3é‘óÍUjÏPWTR¥ }‚ê…VïkÿD-µ™U¼ºwm=þð_úìOüÄß8xë[/¾ðÜ4)²^g”Í!±0SF×µ¢ÂëTqÝNÊH‘%2ÌÑ/¯½yùW¾ùÁ'ûÉŸùvÏ=¾xzñµ¯üþêp5%»¹‰êr<ô$6ek1Ú뽊: uÕrÝšõéLi‡ƒo%xéâ7>úñ§?òÑOfÅ4­–9u›Äh~•á36—LðbB½EšÃ]L6&ó:1ëàA·žÈN†pÃ,6—µ¯|ñ÷¾øÕo&ä>|æ{~ðÙ<ݬǫÏm‘ ;­D³GêI­Ð ûø£%é>Ή“ÍÝóÖŠÓ*‘ºÿÃqúÀ-œaqÔ•ä]{4K_ìØ°Ôzï…o¿²^×'>ðÄb×ë}É3ë¸-´˜Z)£N©¸ŠÆ™²Ò]ž"›õðMÄ«o\R4ºÒY’vþüýçÎï *¥˜p­­³©Œ#2TÊ dW`FÃráp7S⥗ž¯²åòܵ˗V‡ûgwv{ò‰åöN¦W^yíÚz_-St7x¹¶·÷C?ücõgng÷á‹ßúv-ðÙïÈioµ^Ÿ=s&©ÁAÚΙq5ak{ëê•+PnoïÅwvÎ\½ºwöÜÎþþ5Gž=a½>TÆ·¾ýíÿùŸÿóƒ½ý©5Pe#ôàC÷ýü_ÿÛ«uu/¯¿~ÉlyæÁÝ¿¢­lÜþö·^xòñGÆÅòòåËçÎÛ»ºŸ-×uoïêåóç<œVã0€þÖå—¶–gòcmumïðà·ÿŸS§jV@†ò×^ß9»ýÑg>õÝÿ֮ϜÙ}óÕ skëÌzµî¬ÒÖQþͺ )zú@ºÏq¯-hPzŒ“4çh€»¯A·!Ÿ 8”Í_ÀûÈ÷|òÙßýÜïÿ>ËâGþíïÝ]úIÆ]·Õâß: õ=ðQñØ-ËÐISÛÍýÝÛ´[¿u7W¢Íày«Ç$²ï…>ÈK‰t* Ôr}í0®í[mÖb ªëýG–V/û{×.¶½söA€¯^—Û–1Ž[«)b:¨ëƒ Ð}k{gðå¸ýàr5ZööiËk¹žb±‘Ylyp¸¿”^¨íp9ìNä.ÝwÛT‹sZש-¿ùµß¿ºw@äÖr{}áч>tùZ{àÂC{õ̓}­Ö‡µ­—â"¶Š½úÊÕqûʵ«ßÚ¿zùêµ7†²0™Œ‹¥_¸ð¤C+Mg¶v_í•¡,‘†Åa}u9.Ý=§ýqûÌ÷?¼¿uZ_Z­ö‡ÅÖo\|ëÊáµkWj]¹—aMÈ üê·Þ<Ø»\ÌWëéòåK‹2žÙÝ]ï]Ïì\~ë­+Ûg.ì]–{—.~õìîCukk÷òÞ%óE]_=t¸Zåfû‘¦$Ò•:"3ûöðºW–'r%­” (³wÔØ ´»$ºé|ú™gÿ£¿û÷ÿñ/ýƒßùòë¾8{œˆ[ênÅ$8q5v®s‚Àäø uÛÙó¨ˆôΫÃ= _ï1l¨Eºå΢xš&ȯ½üâ7®Š0Ð ‘í­K¯Â†ˆœê¡‚nßLkµÖÁcFSdè):îFl6¯£õxœ«o½N7š2”j°±ß¬iZøŠY‹l¤CÝt#$è¾3|pw·6/ν—¿öˆ¸ô‹ê)§JÐlöÂÿËžû7H™™ –æ’`¼øÜ’jÝn‘5#(¡uåb´ž_¨póÈ@WÊ:v¬mß'¢ 3­áÚÐ.ÿ1H+%ÚdBööG·Ü»– ì]åÕ4ɉ«‡ß 1¢Y()![…ÑŠ)ZL{ôRl\.wgv¦–»äÖߨu2Æ¥ê“_nC3l˜ù”Y%si2cQD ±Œn]}‡D3”;¬A'aº¼ƒ‰ì´Îèíâr0â…ÇžùÿÞß~ù¿ûÝ/üáSüÀîöò b§Ñ—t3ñNËÐÑåHO‡€C7ãAwµÆ:)=Q'‚Óï½CÙl¿ë“üá­ºÚ¯²É Í>‚ "hîŽÎè›­Û{H{´ è6£4ãœn$ä0ôÌ¿|1H™— SÎÉ@){ĨLÓºI(V¬;5‚N ͹ •…,‰Ì˜!ßL°¸-Ç¡g”u Æ‘ƒ5£®§¶p[·ææV ‘Y›/ãRȈ0Òmˆ¨>.§i•Ù1‡­Ó`³Å0ábZÍ9  g­31¥ÛvgvkZ„Lš¢•Rà¦@ÍX.ÙKHÐ\uXʸµµ½\î¬˸`eä ¤¡'nw?H³ÿ¬„)»g‘GZ#òF9MÇ4êïˆt[`è–š´Z¯\~c¿•Oÿ…OýÆoýú¿zèÂÿà÷oåDéæi4ÃÓKç±ÎB§÷§©4n*IÇä'–³™œqê“ä­Ëý‰XÓM/ÿ=Ò j”2<úøG»XݺÝ'\Ya–i™ÙÜ$§2€t]xÿ? $Í Keг „£cŒÅKkV/­N Ì†ˆæÃYÍKÆÌä¡• ¥,Þ"h,f«º‡Á}0Ú´ ÐÍÌKFÝXÄ«/ÓÊ0ÖVÇ2 Ãв :•eXd‹5¡ÑF2” #û&›°P@òâÊl­•q¡Œ ‚tdhËÅÖáj=”RŠ®W;‹%ÌRŠ$ÅÌ€yQTš-„l52ã²N«H¥rwj‹Á=ZÆ¥ÐHWˆŽL«ÓÊ·ÝQB‘ÌýÕ!„hujµëf”i´–9Eëpw°“·;.d&C˜Q¹‰Øºçt¢ìËbýå?ø_ûŸ~õ/^´aaˆõ¿ýêSO<ùɧŸâíUãw:‘I:-"6~B<± ^eN¨Ç©FpâížÞ=£÷/ñhÛˆXg+ ¼dK‰°$b67F_I²µ4º{³ÒÌ¢ïÈ&£Ñ•¬«Ãa¹$*d°†šá…H+™-[³±Ja,âz(ã´^ZÍ‹R0!&N—²U¤Ü™¬5£N´Ì6Á ¢Õi¢°Ô ³­l(ÓA¥[­Õm6uœ¼”Úº»E*'K+CfUÈÜiåp½O2š”fJ˜­VW¬ È–Àõ (W˜²N9†²®Vø5Mk3d¦—¡ÕÉBb¶ÚVÛdä¸X¬Ö‡!­Lë‰îµNJåtYæjð1§ì¹¨&¬÷Ê0NÓªx™SI")µ ™r©kåÕ[Ÿ„ ²Fd !ÂJÉ•Czâñ¤oNßQºN>|í…?ú~å—ç‹_9sîÂ'?þO>úØîùΞYºy »KLú†ÓõHEÃ19×q±ØÛÕ§“ãÖë R†q\ôTòV”“êÝ­KÉÝA?ï1Oû®°€mpkëÃâ¥Esšov©j—¿Îô#K¬«Ëà¤$1M=݇¤Ú´v*[÷±º¸ EOöS´@F$=Ì,#®ëœB‘ÙˆRŠgDËÙï¤[‰lÓêІÁéÄdîu}Ø÷?FV7Õ–·¡ÕÉP¤6){B+ÍÑÚ3Â2ƒ´H 5𹛬Öuª´ò2D‹bA·¬Õ̲­i¦)‚å0˜±1Óˆˆ6ÑܨzÐÌØjlY¢…„ˆ2#`<<¨-s,Cf*Ö’,K·muÝZ+¥Ôêîl´Z¯h¾>8¬ëÃÅrL¢®V,VWÙ¥fʤ¹ñ™DHµ®I Ã0#‡b‡¤Xy¬ º³tk\öø¿Þ\wp3…Z´úýÏÿæ—¾ñü™û~öç~áÇ>ûãg–KsïÆÏ8zƒÛ9(Þ™¦tê¹{bZ¯W/~û·~ë7¦õúñÇŸü®Ï|ÿƒâ-î“¿6Ž÷X‰nËÕzwïæ#Š™ÄÌ©5‡±µBv\ÈFuŸÁ@oªNS„¬([q' ™•É„¼d¬ €.5ƒÒ g‘7;¿·?æÌK€Ö²’ô¥àju-“qÈÙL>#š5Cépç&Hto-èÈš(-%Y–£kŸ™Ifæ-¨Èæ"À‰Ñ5)u]mê`x´¨Î±IV›‹Ú¤ô²huê–!Iݸ¹N6ŽÈl-¬ÚdžÑÜ,%Ô÷–]˜ZjmT¡©fŠ–”e*ZH)e„qðmŠ™jZƒŠÖhî`˜9k}»ôE)Éà’J:‹zôa°²söüÞ•·fÌ9&éàA·˜ÈN„¨oì€î~ý¹o¬/<úØ3Oâþ9ðºe6o’nÝõ)zC+ô¶~þ„Jq¬ IZ¯×—.½ú…/üîÞµ«×öžýÈ3ßùàƒNe÷Q¼§÷ó=?Ÿ<‹Ia™ìšѳã: ’‘kö`‰·[ÔJ!€eV-b¶SÒ 2æø=°syÙ¦nSH7 u8–á>»K#EïÜj"#3%ÂÚly¤Bfà"[M³$ëÊõ:Í,[À Ç¡$1 Té¦÷Q£ZWšB‘ieˆ *I‹².çl3#„U]YšêaµbnÓÔ­JR‘­L$¤bµRðâæÅ)‚ݬºIDATÖë ™hQÕ2½¸‰ˆš‘ãÂêjeq½iw³¨)¤IjY½ ˆ¶Î𑤳”ÈJ 2×Óš"˜-*ÌaE™!©Å<êº>¤[Adƒ†a‘ é´Áßa ‰4ßÛ–¡£ýÑVÁ£ÛepȶÒw¥ßœTtî`7?®/ªj‹[/éV˜Öj¦ZëjµÚßß‹h}ÕÉÓkÌu©à;(&ºËuØ»¼ÊèÛîÚá$3% ƒd.3FÔ“eT4ZU`¢Œ% QÙrvâðž¬.˜»„Iá‚"š«Ãm˜£Ñ³¨5ŠÈRØF‡~"E#98Øý—CÕsP† tˆžÍÚb"Ò²ÀÓ`ÀKk 1Ĉ2Y(ÍÈIê²OsI‘}sÅÈ60”^E÷Vk€FÂXú©Òf1­×ÌѬF«­Zœîó‚ ã¨ÌhµoçVŽM+÷"¥"ÓœRRFddËt³ÖšTf–l]fÞ^YfO¼Î43Æ6%}v€»IàèVàMmL™‘(ƒîºÅÓÊpÓ Øò̃O=µµ½uùòË_zîóúÑåXŽÆuÜÄÖ>Ï“Ž0æÓäï]›º½}æñ'>øÃ?ôãëõêÂCÜwþþ#é‰'·H&º¤ù®š£÷ ‚9Y#Œ¨@ìRª)$ÂèÊ´HÑ¢QÊt ”nhÙ6êr‹Ö\‰aèБ‘­‹4š¸RÎ EDÒ™­o%²¸g&[c7*#V­(^˜$¢V¡LKNÓ Kµh•sn'z4e˃ÑL¤±YŸV3H¶Èhá&ÑÑ*†©uõ¾2•JYµ‚[L&v‡°Ì@ö¤ÍTŠ0zf®=à"Í zk™’1³*ÂS=!O@¦¦V‘‘]ä¥0S õ¼°ÖZçň"ª›Õ²9˜Z7ìp—"Óè,$¥0ÏH3š¹Y‘b·áE Ëb‹í3÷ÒtÒÞÑPv3< 1<û™¿ø½_üÒÿù;Ÿûõù+ ×§¾ó“O<öØÖbq º+0è®NÑc{±¢årëñÇŸ<{ö\ÿz±X]ØŸöën‡þÜ›%î{V´‚3[K²/ÔtV$Z±ž»œÍmì6 #²©¢;a´&AfNE‚¡šYH˜ªÙƒ™‚R@¥…Œ«X; ¡l"@ñ!³å&× HK¥“ëºöþ $š±-U)xsC„h©–)$¬ ;,Ü$6Ì-S…j„h ­‚äTe„dÊî 13Ý”#ØÌf2£eø r2"uÉ:àVælvBeôj“9‡Ê°Z'‘ãP¦Ö¤èŒÍÊØà F’¡^Ë,jË )¢’†Þ±©…Ò0ÈèB ¹w¢—™ *°ž&A…–ãÖ¸ø“áÝm:ÞÑðÜCßñWÿúß–gþð¹¯ÿ_ÿúyãÒËŸýìO}øÉ'ï­º5p{ºûâÉ $3?{ö<:¦$’ít‹û;bîÜSOô­A­‘ìù{È®&mQ¥¾qŠî±­_óë½  €3[ÎÑËlᥴLËôÈÚ•©NkH%(Ñ’¤ ­¶i³›j *ÅŒYQdËиúé+nMP £µè˜¹OÑ3ʬ´ÖCH˜'²µ4åa43ººŸFom¼¨äZÙ=’F/5›Ã4Õ¡¤¹E«‰ˆ0/ý™tvCÎéÎÑj³Õhšs3 Oëùô2µR–‘¢÷=ΑY§ìºY#aFÖ sC¯h€‘©PôHÚD„ 7ïöOdIÈ &cFÔ*D²¿çtÊeü¶e75Dè£é£O=û·þÎã_~©ª<øàC÷ßwþæÛ¿ã©Û¶'F½ë| -èÄrvçùwò;ïið|÷ìækTBGOÖ`¶ÎaI´L’-SfÁ˜ È)¤+“2’–)º¥´YÃR‘Ùã0!=8,3Œ- eµþ€&) Ù2zJ|S ÊîPäAÑÌ"*ÒaÖ^ÙmȈ8#Ó•Q t7ïSg[Ôå7È TMÅ”p" Ð2Dc­SZ÷<›My¨ÈžžœPAuv6)ÊQ3{ìÔ*hȨHë¹­©@ JHÑ­i1 +R™f>)’dÊÁDv³£B&2zšðÆ„º¥’"éòTë^ð™)R‘´µbY¦´5âððšèƒñ±ÇsÜÍ^Œ÷t–Übè8zî‘ØÞ½ÿéÝûoº£NÄtîml¹ýÄ-4ñoóŠô§òFHúÿØÖ}*RH[wØ@§ÛdOkŸ}ÉT¨Jjz³ Š™ Ú$„¥ÕL½ª!YÎë„L“ÈâBÍæ²äœÑÞ" 6!‰ìó4tˆ5£v‘ƒ)²E¥1#D„hŤ@Xf‚°èKY*2œJu7ê „Ï^bLµtäœI/JÝÍLFƒ" n¥™+“&Ò¨L8Œ¦ ÙG ¦&ÂZI6Êf‹n"zÖ3Õ"Ý,U™Öã =¬ó eK¹:xEŠñc.6Fͤ!úƒ‚4÷‚þœÓÐÝèd4X@»zåÊtëý½Rxÿƒg¾ðD¹+~ÐZ'\úOÊnnˆn^±t*êœÕ×ÞpýÏ)޳µÞ½6&aðï¬*½›ŽšYŒ)dæ %Â5²»5šÞû%R0@4®ÕlJa&üõ¼V0ÆD85z¬iC2˜†ÐØR˜`S7é4©îåã ‘ÍÁÖ=mõ$a¨h™X•2ЍƒLf™ÍÂú™Ý:ÐL}ÍËnUdk,´L˜-¤  éÉÖgE©IŒê°Œh # ³Æ†ú6PÑÝãaÉŒ¨¢#"è?a-š`‘´TXSÒ’hHKs¤fhŽ3B"‘F)MH›=½­eÒð^Þg[/kÊnQk ¢5lÄû«éêÞµ7ߺ­n>ö‘Œ[Û÷æÝq[8ã„=Î)I¡¼å¿ž°»çƒÄѼ.T1Òº+ë‰Î°¸tbõ#Þ²¾Ý:ÍÝ?ÿdÚ“£^”'9uôà†w¶Ots²xƒ–ÙȹûOK£÷E¡9Þ3hP’Ðõ 0Y°_Û™æD$d÷‰î@Mh’“š ûE¼'Y€‘‘pO¨¢`dßzì‘©N«Q™"² £Ñ 1¢¢ÉKß)E ­…¡d´ÁGdvõ Ó³‡ä˜6µAžIôA6{Üô8f4e¤)ô”eJM°¤uSh($2äô“hFWÁŠZÀEuB³[Â2ZFv½+®‹,„GkˆT3Z2™I´P¡š„$¼ïèûÚM è°Mâ®îí¬.¾ôÂrKÏ<ý<úôh€ß–Dj“>|éÒkëõïö»—;ÿä»—;?OHºû]ñj6w¹Mcrp°îÜ}?üh/™™Ñ2Z(Oz4­’GÛ¥Û¿ö(‡°ër½^½üò·o 6ÝPšÍxÚcu_@f],9ÐìÝ\ƒR]™°ÊtõD02{VT¬¯|Ì„~â7È`J5‘1±":D’Ø0hQúĆ´îßšsMëè0d ¥d!°[àÇ,¯{"e) ‰ª¢Y˜¼ukfKÈB-ú¸ÙÅÿbÄ$:C´î Ìn†DCvPªgÿô“0F§i"»˜w==Ô4¢³Ék÷RJ3£J¡OÙ”…ŒìÁö®¾êǼ:`È”J#…^¹"hfÆ $Q{uîùŽÔBï¢ÊµýzppøÒ·_±ÿÔ?ð‰?kÅ—Ûg¦Õê65hÇ+—/›ÙþþÞ‹/~33nî‚|·ìỚhn6иáØÝ=÷ì³ßõÀ0³ÕêðÕ×^YŒ õòØø¯~Õ¼üÀþèõtC/Ð%œzÅ~ûN­A¼þ7þ¦Ù…‡§aѼ!àôfÛæ†÷²½½\Z.[[ÛW¯^9úB"â(÷§ïM;Ú—ó»Ìnn…͈”=ÁJ×ïÂ.>’°»³{áÂCëšçÏ?°Z­ò;µ“^—€Œ8Í"öh"ëÑãòå7wwÏíœ=»µ½ý.­A–jL“$ºïy6ö .KÊÎæé”¤e€LBaÆDÌkþ 0ˆÊì—}µ“ŽÝ LDÒhÉÖ@£²å¼ ë&ï$Å®bM&Ñ»°îGŸ 衾6Ê ‹®½ÈŒÙ~¿'ª¨÷UN¥#L Í9£a4F''÷exx LÙ{¹)£e@L ÙÆ_=z=éôð3Ó’š#d3{œŽZ’ÝÍATGsØ}†„PwJA6Ç)Ùý áTfÐ$ƒˆ¬‚“ÜøD(ÐØ3A2‰˪éڵ˯¾qxõÛŸúôw~àÉg–;;ib¶v›tþ¾û¦iú€_«S(O›Aî| à]Šþ4ŽýÿÌ<ðÁ?«Slñ¡Ç?ô§ô«i¶X.·wv¶wv†Û ¤~g±Í‚«ÃÁ§'AOÊ•ÙtlÈ Ÿk— Ðæz.ëHIÇ­‹ëM™p›%ÜL…z M·÷³ ±_2Z•ÈD•< Ë™þÜÁ¥´n~£†dMAF­tgŸÃA™}"¤I2D¦…B2V§75ȶwïό֪Ãz(IñB:͇2µÖU”n}Odì\©ó†‹;e n”RY| õ•ή­ÅV0³ZëPÆ­˜§r¦ŒPr/fÖmNZq´ÑÌ[mæ…TG~{4X‹,nðÒ‰{}0‘bªu1,D$²[;Û­fduèNRª!“æ=ì'¢5åà‹^gÐúªÏ醌ڪ³X1‰93¤£û®%ÒÙqj´Ã8ÔZA–ŽsSÒ7a‰Z»›+Šw”Ù£U–’µe¦JŠ” +ƒ«O®D¦Ì¬ePRvU§1ºÓª°½5.²íœ9_Æ­1Ò¦ƒu¤"ªh ޏÝ,öþñþñgpp<Ïœƒú'¸‹Ì‡ÍÜÊ0ø´2/)™I7ÑÝJI3¸©¦˜3Ä6Ò{róÍVЦ©”±Œ‘1m/÷…n™³N7NçA˜•bKÐ8ÕÕr¹$dÍ”!‰Vθ§2Öµ,J^JÔ ‰eËb±†±ìíNÓ!lg¹m©е‹åbux(+–µÒ=4eĶA2sWL´¡µZŠkÎl[Ë¢—àF–.;1Ø2ÖýN¶ÜS\n¡Õ ³¥—tÚjåæ&…`^ƶN°ŠëZÝYWk/n¥´f6lm¯<h4ψ®^ÆqšV”‹ #Ì|ª•d¡µL+‘¢Œ‘@|1ÎP²Nðãæ^oó¯ÿÅ¿xÿÄxWñ'òý7áýã]v)Ò{8KøýãýãýãÏýaï¿ïïïÿÿ/LÎS¹"R­:IEND®B`‚nted-1.10.18/doc/docimages/slur_handles_select.png0000664001041000007640000002220211520267216016764 00000000000000‰PNG  IHDR ¼€/àsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ /]­ê–tEXtCommentCreated with GIMPW IDATxÚíyXSWúÇ¿!!$ì ;²ˆ€(®ˆ¢ƒk­ZÛÚZ;SÛY´ÖigœÖÚN7Û™¶j]ÚŽS—NýS—Z»ØºÔºU­[U‰¨È&²/„$äüþ¸ˆaIHÞÏóä!ÜœûÞsϽç{ÏyÏ{Îå1Æ‚ :À†Š€  ‚ H(‚ ¡ ‚„‚  ‚ H(‚ ¡ ‚ ¡ ‚„‚  ‚ H(‚ ¡ ‚„‚  ‚ H(‚ H(‚ ¡ ‚„‚  ‚ H(‚ ¡ ‚„‚  ‚ =Ta}äåå!##‰×®]CFFöíÛ‡ÐÐP ‚èoTTT ==R©T+ ×®]Cuuµ^Úôôt ‚èËÔÕÕáúõëZ1hþ[TTd°½{÷bÞ¼y$ÑÛQ«Õ¸yó¦ŽH$äää@£Ñ˜d;++«Ç΋„‚ ºHnn®¶« ‘H‘‘ëׯC©TšlÛÞÞQQQˆ‰‰»»;Ö¯_ùóç“P„µR^^Žôôt­S±YjjjL¯€ÂÃÃ1tèPÄÄÄ`èСˆEHHll¸AI‰D‚õë×ÃÙÙ™„‚ z¹\®u*6 ‚D"AII‰Yìi¡Y¢¢¢  ­¾lH(ˆ~‡J¥Â7‘‘ôôt­(äää€1f²ý 66رc–.]ŠÕ«W÷h‹€„‚ Ú1¦ãGh…ÌÌL¨T*“í;88 ** ±±±:]___@~~>vìØÀÀ@ƒEB&“éå7--„‚ ÌAii©NBzz:®_¿ŽÚÚZ“mÛÚÚ"<<ÑÑшÕ:ƒƒƒµ~cQ(J¥:ù•J¥¸sçµ(ÂTjkkõ"% JKKM¶Íãñ0hÐ DDDàÈ‘#˜3gþñ 22Ò$?BYY¾úê+üfee¡©©‰ºa J¥™™™:¢píÚ5äææšÅàé鉘˜DGG#::ZÛmprrBuu5\]]µÝ C¹sçŽN~SSS6lèõ׃„‚èQ4 rssµ# ÍÃ7oÞ4‹ÁÑÑQ[á[‹‚——W—mVUUéå÷ÚµkÉd&ç—Ïç#$$D'¿vvv˜3g Ñ?())Ñ96W2©TŠºº:³ø"##!‘H0f̼öÚk:t(‚ƒƒÁãñºdS­V#%%EO ÍRÚ¸‰èèhíp©X,ÖI'‘H¨EAô=jjjtâš¿———›Å¬í*4ÿŒŒ„­­-x<FŒÙ³g%YYYÚü62¬_¿ëÖ­39Ïb±£FÒÉoLL ÜÜܨëAô?‚T*Õs.æææšÅ¾···¶bµqpttì²ÍÖÓ·322píÚ5H¥R466ê¥5Ö"‹¥Í¯žzê)¼ùæ›xå•WÈGÑS¨ë²°i횺óèæZЭ7úæÍ›P«Õ&ÛwvvF]]‚ƒƒñüóÏkEÁÃãË6™¾Ý?BXX˜Ž3´9ìšÏçkÓåçç÷™{ × EUÆ^LKzW*À;o`Äü×qx×Ûð¶¥E»L¡°°P§… ‘H •JQ__o²m¡PˆÈÈH­C±¹’ 4®®®=z4^xá£lÞ?}vìØÍ›7›¥<¨—ߨ¨(ØÙÙõ«û¢W …üÎ~Œù[d+Zžf©ûþ‰Ø¼JÜ:¿ Î|ÕøN¨®®Ö™ùØü·²²ÒdÛ666Z?BëJ6xð`ØÚÚv­õhÄôí®ˆš»»»6ŸaaaX¾|9þú׿bãÆt³ôF¡`Mµx:áw:"ÑLé¥O0aùlüúñ º²÷hllÔ‰lî››«YÌçóáææ†§žzJë¤‹ŠŠ‚ƒƒC—mv×ôíæüFGGÃÏÏOGD—/_‘HD7PoŠëŸÌÅ×ò–§—Àü¦Z¨î9ž$Ÿ<ŒcïTaªkÿj655iý÷GšÃàââ¢Âk=zĈˆ‰‰Áúõë¶ÙzúvCCŽ= —n›¾MôU¡Ð(ðÇ×Ïkÿõ¸g¬kÎnÇÿò& XSV¬• í½‘}ö¢èxî›ý &Û¶³³Ã!Cô¦Cu½«hàôí®Ÿ¶ž¾½fÍÌŸ?;wîìÓ·I(,@ÕÍ7q¡†Ʋ÷šKÇ>@€ [„Ï&½ŽÇO²?ÿèBÑØØˆK—.éM‡®ªª2‹}‘H„x@G tí¶P©TZ?‚%§oß/b­gf®Y³$ýY(®o<¨ý¾ä»O9‘¸Ç¸C€{BÑPñ-€u½þâ”——câĉ&ÛñóóÓá5W²E‹ÁÍÍ _ýµñ~¢VÓ·kjjpõêUÄÆÆvÛôm‚„¢C~üñ.w#y?‰uc½u~sà×_o,êÇßßÎÎÎ÷Ù]]]uÆõ[¯¹x?†öÓ ™¾-“ɺÖÜzúöwß}‡Ñ£Gcûöí&Mß&H(ðu9׿ñmýWœñZœ—|»¾óäi+bP$!**Jǹvù8Ý1}ûþü¶ž¾íêꊀ€€{oÑG„‚5U#£ŽkÖn™7Hïw¥ì¶ö»Ø}nŸ¹@"‘NNNX¶l™6&!,,L'К§oËd2TUUaΜ9Ý6}› ¡°8jE˸°H¿’ìÏÖ~˜õhŸ¹@... ĪU«ŒÚÏÐéÛ]ÊWóôm©TŠÀÀ@|üñÇ&Oß&H(ÌТèxI³/þÛÒ¢˜ûRT¿ºˆÝ1}ûþéÐÍÓ·ƒ‚‚ŒäädªM$=ϦÅ¡f€ U”¶¼`Öæs?¡ã¬ sí“«'§o$½¾°ÅA©b ‚æÅH˜+¦ÿMûÛ?o†]™êQ^^™L¹\Žàà`³Nß®««ƒ³³3Þ~ûm³Lß&ú6>‰wþ²Œ|‘è Åíš|”8ÒzÕ=G§«O솇ÀòÑ|ÛžHÆY™<^÷D:::" »ví2yú6a}¨äW‘ý .V):M[›û93 a´¿Wƒ Cz^‹úNzë8^ˆu·øñs¿yÏíϽ×eÓtË9‹Åbx{{cÔ¨QT«¬ªNü„«·PUßg?ø…t>Lÿù£s  : ¡0Ÿ$/à|ÒÏ·„ûMz Gߘ`ñc7ÊÎc泪Ä}QŠmo­À»íAA}ÛâJ”šv÷ýóqÃÞ¦nÜÞcçÙ«fÞ8…놋=’qú‡×ub*,ä™Àªió0÷˯¨f:¾…aXúþÿÚ øì³sm ES  l˜z{ ß<NBÑuwàç.¶d\à‚­¾F˜Èò¢_ÿ5{ßÇêI4Í™Ðõ-tæ€yÁɶ›ó¢0|˜ì×éþ¾‰Kpé§Õ°íÁQÿézdgg÷ù#"##ÓÆ>øö›ïÑd`ÍñŠMBR„W'¾Žz”•U¢NÑð°wrçWº ü—_~iáº`åWÇ–·|òâm™Åó}êµ±,dþv½€˜8fl@“9£(àÊø§?¾ør›ûªn1¯Ó@8Ì{ÜKL©a½«öQ¨21÷áël‹öµ\:[jÑcË®oÁìMÀ±ÿ=Eò~ê„ÜóÅå^ï[èÎÌO›Ž”Ú–w9Íý{VDòöäXôØçžZ…FVˆâ¸”ÍŸÖDFFbTòVªy}Ô Y_t¡Ýß–NÅ;˜{¾~º„àÙwwãöé-´ã÷‰r³Ú8Š¢3+ñÜÁ–Åj„Žq8ºçOðÈIp •éL³Øñg].Fc[N^Ëã!33“j^ÑV€ÓðñS;ÝϘ'[Çáí?am½ðÆ~ÄÊõy8sæ² +Àl48ÇÇÂÞ¦o½­Î*…‚©eX4ïcmOîÜp±~Oø õe»¡Ðü "ZƒµŸ DçN•*ó8Mû𿦺aÊì >_îV)ÒÍãXe‹ê»E.ÇærÃÎu2üíø¸ÛX‰o+ð„§˜jO?ò-2yêÀô¶…¢8‘¢³'†ºO¼zVgÛªïßj•Q<áÉ94÷fUwKžj Öh}Úù(¬Ó·ÐP–ÚöS±:!{u‹âøñãíû&N¿I]K“ÒmÈDå]Æñ¼–4~ö@A-N-š‹q láæáƒÐÈhŒ?>Žæ>­xlÚߥó1…B™LföcÈår0ÆL¶«P(P^^n²µZâââvíyu¡Á¾íD¾ø!Ù®Æ?¦¢Q£!pðŌǟÁ³ &ãæÏ?áf/ªÈS¦Lé_Bqô“«:ÿLë¤gMu8_ƽ־úÖ%\¼Õ*ñÁ¯±yƒBãÆaêäÑp¶Ð$ÆÊÛÞQaø°H‹—•%…B¥Ru»P0wsóPZ^…šA(v„wÀ …‚iêñQJ™Áy œÜa~|b§àùˆÑ¸s§2y`#„³»'ú{Á–ׄŸOGoÃÒBaUWŠª£:éÜ£ÞÔù½æö!6%ØÉ @ßDv0§Æìç¢n¸Í]EŒÇ³¥€+#®: p²٬Ǟ 'mà˜î‡®Zw;N­Ñùÿ·ÿmYͧ¾øŒŠyÇïë£z ‚»þb.uEgñplÎÉÍšÇæ…k€&ê¸á„ì,ÀI£VâÄÉLò-àYaþ­J(nniéGFcÝÈ–øø×&?‰õ*ðx<Œ{äYŒsæ–ï_pü*Š*ä(¿}ëþ:üV¥¬¬½Šy¿Ye¶üõÄÂ5ýÉ ÙX‘Ñîoý%À©½÷Ìö´xXÕðè•-£¡O®×>ꊶàÃÌ*ðx|¬Ü'Áû Áîa_ãBz.)þìŠ!ñxqã~LöG {æ3­²««ñê¯/áýaLóKôó…kº#ÀIè4²eßpºsç¶lÙ‚÷Þ{×:3hM>Š?ø8hÓl¼S«Ý~c{"À‚çíÕn»¼"–`¾ã¾Ñ³³q¢¯Îñü&ì1Õ3Á^åÅVþTØï&…uæ[°9²‰3hw_1ß0ßöàö¬¿‘žžÎ-ZÄüq=¿„5ù)¬J(–ø:2L`ÀT­RgŸ‰`ØÛÙÕÚmwÏÌb˜½çczvjòÿ­»œ½cœIùOûx ~ä³~7{´îîq6Õç±ÛrBASS;xð ›>}:KJJb§NêT$zZ(¬ÊGíÀ-9o皬³¼ºŽ[°f‘_‹ÓÒ9”›çÑPñÊÕºþ§ÏáÁ-›JyÊT]ó)ÔÝýÓß,Æ‘Ïû×,Rc| JY9!  ²²ëÖ­ÃàÁƒ±zõj¼üòË8uê’’’¬ÞÉÙ#>ŠmÛ¶µ¹½ÀOdªz©Nš’{¯}gÓfŒqÞó’7p]'M#–mø7’]ítl `T4hÿÿtÛ6£ºa¬ÿ{c%†=³ §>ߎSž‡9‘Ëå(..îò±XS²3o ¿°õJ DŽ® ‚ÊÊJ444´k÷Üǯì[àñÚµ#|x9æ4lÇ‘ ס¼?ÀIì„éá±#pdÇg}V òòòpúôi\ºt ƒ Âܹs‰¬¬,deeaÉ’Å:é·nݦ·­³{nñâÅýÇ™é=98SU½ ƒèžƒÊ}øTðvf㌤ c¼9ç–À !"²j¤çËõ„ÂÞK„æÐ:ž=Ü»°Ö­ï?ÄÍÀÇðndï{é1kªÅϾÂá—Q¥ÔÊØ9ÀÏ_Ôî¾{®Ë o >ù·DÄ ³žú ¦Ï¯À­[¹(—Õñí0À˃Ãü!äõÍfD}}=~ùåœ;wˆÅòå˪“®=A gf‡Ô¨el¨ç4{>µTç·Í32˜ÿèl[âʰGÒ³u0É_{<§€Fç¹Jº™9¹Œe·Ô½n…+C} B§`ò-˜FÃNœ8Áž|òI&‹™[¼x1ËÌÌ4*°Ê}V·Þå7âæù"kj=îÐx‡==öÝ¥ê e˜óÀWõìÌpi7f½Äè<éÍ„Î,""BçÓú<"""ØÈßl±*¡PÖ¦²±n"ÃFx‚ví|<Å¿Óý}—°<…ºß Djj*[±b d˜§§'ûûßÿÎŠŠŠº}IBa€P¨ X¼“`ó6¥è>éä·tþÏÚÄ0¾ÐWg”D–õöX|[O–.Wš1´Öº[ŸMhðp¤­g‡Ã¢ïüa³çÛè·D\BسïîfõMýW233ÙªU«t lçÎL¡P¢ÝžPt´­;±ºõ(øB|÷õ_0m-ö¿0/¹\ºßãúÕa:iŒà4š”Eø¡JÙî"€5⟴„‚þûÄ8Xÿ |»Фkø…Yâ—¾ÓoœºB~~>öîÝ‹={öàêUnò¢££#/^Œ¥K—"..΀áiy<ãÒ÷9Ek¾zvÀx<›õ·OX©RÿñÕX}Vkóñ+%¬2ó[œ¤Ýæ9j)“7™·mî…!M#Æ7ÈùÌOqq1Û´i?~<ãµ*ÛaƱ>úˆÉd².ÜC· éŽôû®GK ªgkŸ®ÝÇÞ7ž½¾é+V¬ã\lb¾B>çÓˆÎìlx÷ąϦ/]ÏÊUæi×ÜY­ç«hþ˜â£0ÕéH¾ËžžÎÞ{ï=–Àø|~‹¸z{³åË—³ôôt4WzC#¡¸ó»ÞcãB\Z|Bw6zÒtöØ‚lîS˜«@·=í¶?¥ØêoFs9É·`: ìÈ‘#lÙ²elРAºQ§vvlþüùìСCL­6M\ qLZ«PôțŒÑ ²(9¹ù(.-Gu­ %š4ºÑ–#\€‘~ν¢¿{ãðnœ.”Ö†ïŒ?þaq%¦”£¨¨5õ ÀÆŽ.îðõÐ /tî=qùùùÈÏÏÇÝ»w¡R©ZùxðõõEhh(BCC! Íh¸õ¾ ©%¦¹ÿ÷ŽöߺղK2v‹PÈd2\¹rwîÜAYY™Á¯{3„›ÿY‚e{¹·2þi÷÷x¬,¶ËÔ2Ìžõ˜ÞRlí1ö¥ÿÃ?¦Pí6•J…ëׯ#-- —/_Æ7ÐúÖ6l’’’³êTݨŽ;ÞiºûÓtdÃÒ+\u‹PX’Û{&!láiÀ#©¥øj¸§ÕçY­È‚}84½÷¸—pçܴЫ±e¬V#%%'OžÄÉ“'qþüyÔ××뤉D˜6m~øaÌ™3nnn–«h<ÃF9Z§k+Mg¿[ Ao¿!œ‡¸k¿^,zP4O–záøÝÓù&.ÁÅã´´A]-‰D+ gΜisOOO$''cΜ9xðÁáääÔý-Jf˜˜XÕ=ÛÛo;·ß*/WK{G¾—N…léï°ú¿ÇQßëî….!øýËÿĆWž€˜^pÔ&HMMÅ/¿ü‚³gÏâôéÓ(//×KÇçó1zôhÌœ93fÌ@||•¼å­P®qnTËz555HKKCjj*ÒÒÒ––†ŒŒ ¨Õêv÷ Gbb"1~üx„‡Ó«ÿú¥PÔÞn{U¥†ŠÃøª¼ Z Öþ¨ýîïNWÔŠ)..ÖŠAjj*RSS‘޵#FŒ@BB&NœˆñãÇÃËË‹ “„ðIö~h»©Yw_ìAîn©ö{ÈXº¢V@ii)®]»†ÌÌLH$dff"##ee¿íËÑѱ±±ˆ‹‹C\\†ŽèèhˆD¢>_fÖ¾~Uú(êŠ>…£Ÿ~ô¦È} ªÊŽAÔÊiý¬Ÿ¶ÉÁ³#½¶Ñöª©Ý@SSòóó‘••…ÌÌLH¥Rddd@*•¢¢¢¢Óý===¯„¸¸8„……õȈ„5 ù( ÀÁ÷OX¹dVi·ùÇÍÂ'_íÖ‰ªë°µˆ ƒ™¿ƒDĄ̂Õjäååi×vÌÊÊ­[·••…œœ(•ÊNmx{{cÈ!GDD¢¢¢*àv°ÆqH«­ÍùáO£F­GÜóøfçJLÚrs5”^ÄC±É8ZR;ç±H/þáb cP*•Úùyyy:Ÿæí­ç@´… üýýŒ„„„ 88ƒFxx¸E£ûj‹‚„ÂHní} ± 7@qÏ/á4cã†ÀAS…3GN¡LÕ|’r KbÈ‘ÙL}}=ŠŠŠP\\Œ’’¢´´………())Aii) PTTÔ¡#ÑÆÆ^^^ðó󃿿???? 8@PPììì¨ÐI(z–‚ÓÿÁÏü gÛx¿„[46|û#žKòë³7B¡€L&kóS^^ŽÒÒR­(”••áîÝ»Ëõg¥º¸¸ÀÕյͿîîîðôô„§§'|||àááOOOxxxô[Ÿù'z™PÓÔãÌ·»ñý±3¸™_³FN˜‰§ÿ(üÅü>q³TUUA©T¢®®uuu¨®®†L&Cee% îýööözOoGGGØÚrKý999A ÀÍÍ NNN‰D‹ÅTI(ú¾Pu;zòþõÂ'N»-/’|‚„‚0UPHH ¢KBBâA¹´{T™©[I- Ââb£¥-SF=úÖÓ‡®fヲÖ|í¨ëÑǺ <µ  ¢õ}  ¢›Z­êL‚AbNBAb¡½áš_6G­ ‚„‚èôéD­‹¾ÓR$¡ ,zcQë‚ ¡ :ì‚"&Ôº H(¨ B­ ‚„‚èZß–ZÖ-è$DwA m]`$ôÄ2¨Bba½­B ¢Ûo6j]$$·ÈÙIP&·H¨uѽÝB Âêû»Ôº Ú7Z‚0VèŽ1_Ùö–²¤A­ ‚„‚°LW†|$aTë‚Ã<]: ¢O·.¨;B- ‚ ÖE/ Ñ/ƒ Aôʧ"ABAXië‚èЛÂj]t½¹KF- ‚ H(‚Z_$APa 3“ ¨»A- ‚ H(‚ ¡ ‚„‚  ‚ H(‚ ¡ z’¶Öv0e½S׊ µ&úw¹Ptj5°c0s&àã…€£#,] \¼HeDX± Òrý–§¨xè!àÒ¥ŽÓµ¾ÍO)s]Sí™;?}©EÑÊ…ZF¥fÏæD" زÈÉ”J ®JmÛ€„*+Ša„EÙ¶[ÖeÐ ÆJJ ߯y9˜Î¶©TŒ}ø!cññŒ980&3–”ÄØ÷ßw¾ïÙ³Œ¹¸pÛW¯6,?55ŒýîwŒÙÛ36`c+W2¦Ñè§ÿüs...Œ …Œ…†2¶bc2YÛvkk[²„1wwÆø|“°›ùÑIDATãí´Gc#wnÆqe#sß×®eL©4./}©\Œ…„ÂÂüæ7ÜÿßÿŒ¼0…RÉØ´i-Ûïÿt´ïÑ£ÜMmcÃØ§ŸžŸ‡Ò?οþÕ’N£aláÂöó4t(cÕÕúvçÌÑMg¬¶P(›8±}“'ëŠE{yékåBBa… À]Àâbó źuÜÿNN\e//çž çÏs7n{û~û-cvvÜ“èË/ËϘ1ŒÝºÅX]cÏ?Ïm9²%ݧŸrÛ‚ƒÛ¿Ÿ{Â)•Œ]¹ÂØøñÜo+WêÛ dìÄ .ÿ]±Ó«WséÜÜÛ³‡{:×Ö2¶{7c®®Üok×vž—¾V.$Vˆ@À]<•ÊüB1l÷ÿΆÛÛ¹“Ë“ƒc?þh|~®^mÙVRÂmsphÙ6f ·íÒ%}ÜoƒëÛ=|X7­±vÚ"6–K÷Åú¿íÚÅý×y^úZ¹tõ°0@EP\ x{›æM¿›½=ÐÐÔÖrC­†Ø³±œœ€~Æ3>?j5Àç·Ÿ' ¾¾c[¶¶œ3·õþuuÜù4c¬¶‹…Ë9{­‘˹r‹[ŽÓ^^úZ¹Ð¨‡Ëý=zÔ:ò£Ñp7Zaa×öo]:âíh$è~]µc ‰þT.$fÁîï[oeeæµÁýýþ{Ã÷ùè#îFzüq`×.óŸïСÜ_‰¤=w›a7»9섇sÖÿíàAÝ2´4ÖT.4O¹ÇÓúÅÌ¢s8áHKF‡cò¶#©4ížg}wGê½qׂ;ÌGÿùëèÉs&}bèÈ×'Žf¡ž^-ƒâ·]'ˆë“¡ Ÿ4õ>Ô€ lü}Fñǽô:·’¤; 'w3V£ü½I/o9xÎŽá€íÛwqXÿ¾úâ ç\:ƒ‘’t&÷Å·Þ[±àÞÔ”uëÖmÙ²åÍ7ߤÑh®Beœ"¨vl?(.Z²lkj¿ç²ïÍq/½:µ"@ DÑûvéEh©ÙjÿX´.%a´˜¦ó^)ÈÂÂÂÔÔÔ›zL#ryÝ»ŽqÛåÛzQÜѣřµ*ߪ+CD¢€M›Nß~Ï›L&©Tš˜˜ˆYª¬8¯´ãAQ²†ª ³UZ—/|bÐàØ° Ï+§ükë?§ÈëºOŽóÏâ&O½›Í樘ÎãÇ5šmAÂȈðý{||WR"‘Ðh´°°°;£)W®\9wîÜ¡C‡˜L¦Ë+?ùHØ-aÝâù?~ÃæÕIaîL©k¯6ïLN~@@Àýª)òRD\ˆô×Ïùßo ªGD²×QŽãùùùãÆsçü&ªóuúãØó/¼ å´kõwÃСø(L5™¨)¯aâľ·ßóUUUœ8q¢Y\ÁÑ''öìhA!Oîûó³_“jŒAdZZöiϯj2çb³  (ýÙWÞ[üõÍÓ¹V«Ý·oßü/¿jÿ©ìß¿ßÏÏoذawrîÃb±Ü 뾉_N~Ó ³­ÙóGèPÄ‹(ÂòÅÜy¥b“Éd±X÷Lèõúµk×Μ9“ùùåÊ`´8?A™L¦'¢(FkÃùÍÇe0„h¿oQe0˜,Í·êL&@ièé_&“Ùè+Œ ètÀbµê”F!mª‚Ã##½µ¯–ÖÎùès‰ÆØ³Ð¸|¯Î41¹ç“•Ò˜:'pØÈÿ÷ÖK<Ë«kE;Æ· ƒÁ`tT7up>…ÄMj6ª7¼³`å¤1#î5÷ÀæõæˆÞuêž =ìvû•+Wp®Ú¸‡1ªë¿_0Ë_GŒ6›8mÞ’…³Æ{7«µ[êµæ¦ÿDv[üÝ\ïôšÎšôÖ”‰/¿‚ 4›ußøÖGM9}ú4î¢î¹6ï;SïÙãÙÞñçN»Õ ³¦fÿe˜gÏžår¹·óœµZ-†a¡¡¡¾U×étr¹üìÙ³žÄ)W_íoH—ßh!èR–,@nööÐAÔ××»sþ s®*L§Î8_È´ë¶¡RñrrUbÂè[uuq R ÒÓ«¼žXàt\+Nèš/OÄ%IeeezzºÃÀ¨+£ÒšÝˆÙþ\ºè¯cšèõúMK¿˜â]¨bµ˜;wIT(Õ8!Q“§N§™%ééÏ-”——3™ÌÌÌLeÑhÔh4éééí¿" X,ÖMÕ­Õ”¨¨(ƒÑâeYX½°P-¼k|‹ézNÚµËþ*xïÝé;·mn4åïï;5%??_.—¿õÖ[¾Uçr¹~~~‘‘‘žH¡ÆÁ¤ëYÑÑÌ£V"<<(8ÚîC>…Çã¹t~KLf“Õ)22 ˜Ù_q8öÐP^t4ß·ê4‡Ã1DG{‘/£âÒó™e¡”)ŠSÿòÐ)ÖëÛ8EQ|>?::Úª¥¼èèæ˜¹¤øÊžc͹ ë©WÞ‰ŽŽöNS¬ÖNÑ—­\†¢4Äû€Åby{ÜæÛ•ÁÀf³}®îŒP(ì(S¾kJ—.]ZLéq«bƸ¥v|¿ô›oæ­èÔ9&ˆëú6®É» ž9õ_YYàÔÙ¢™ÿ{™É¤y(¨qqqíÔ ððp‚ }«®P(x<^BBÇ»ia)hz˜~ã…ZÓÉûãcÆçó[;¿5ˆYÃáØââ"‚ÂÚµ>…Ë­‰ŠŒJL¤ùª)Àß¿.11Öó*Ù´~ä¡¶k#“¬fZñÄD¯#YA„Babb¢IÔ! 11¤9L6ýØL³ÕAÀâò_›þñ’Ϧr¼_³ÙìïïŸå›sBBB8ŽÏãP«Õúùùù\Ý™¢¢¢Ž2Õ‘ù”Ë¥Ô?2rê¬wfï^ðCºØ4®«kM êùØÂžp Û»wïÛoŽòPPË–-ûðÓ““aFàî…"ËÏ2wÙêÊm,®À«52µåÈr„°5K¿X« …ÓÑMDÇ<ÿ»ÿ›*×ZºtKNŒa1àÆÌw:ŸÒòþiªûöçõ€Æûöûù~Læ“ýÃŽ¬ÙÇ‘—Ø5.ÊeXx%k¿Õj={öÖǧ¼5ÖCYÁ0 nôwë ‘þ›vß—˜éÚt)î /ú‹ €§(CH$'NóêÌØøŽÏ_r¸¼þà× î&Mùã?œ3:—Ï®P{>úLåùC§6äìÉ’(޾·c5ÍË ˆ3þ•ØPÓ„à €ÓGuîÜyãÆ?=OkíÙ³'##£=眭ÓéÖ®]ësn¬ªªjÆ l6û¦…mR¾Eœ£¿!I)‘vß³ç'Cëí¡ ‚ÈÏÏoá|×q="“õÚ²å'À뉾Qi)>ÊCÕ µZÅ|Z—¼3eJO Q`Ù// Öæy„Ì&^»v·‡ÕmFJmë#|£”Ï ¡:$D™SÉÈ­ôqŠzõêÕµk×â&¶&;¡‚YÔôS}}}ii©Ï »Ý^]]½mÛ6@à›…óçÏ3™L Ã|«n6›Úyäåå1™ÌÚÚÚº±xÉ´iÓêüǹ¯÷º7»¦¡èâCQ!‘¿°äiSÞîÞ%H¯a4VGkSG7,òcÐu:çGŸ4iRaa!Õ>vìØ±dÉŸ«Ëåò—^zÉ`0xRXRLeïlùǯÕŠ}: ‡Ã1{öìÎwIE®ú«bµÌìí!T•ºoú¦¢ÄT@MÔ€•&<¯^yÆ4ÅëNÔ¬pU~¦Éóê¹å›!’ê Õn***{Ù¨¤Ò—ßðSnnî;ï¼ÓNû&“iܸqõõõ>[X¹råúõë}®®Ñhž~úiª#Ø·oß±cǨ¢cæ>µçj‚SžÞ#ê×O¦Ç}çÇI±ý'¬ýeéJ‹¶æù§‡dü÷×úSg¿9Ô¹Š¼òÊ×ëÏX0¸Ê£#'¥§Y»Í µNpÐ}°°ïzýe§„(éùûë±}Ù£¾Õ]Þ F*¦7:ìVR.ì™ûr´]É:P\®wþS`·”ÑôêM! ê¹a©l½álþÇû¶v 7‘–®­ý#“>›5sÌ»ódzoÒÆõÌ ‰7í:>ôéÁ΃ÓAz‚Y¤?ü37¾ A SLÞ­„QÝ,âèõ–¶sO/òÐ9´ó‚Íp80ŠËg1à;é÷ïˆÛ¹qî’Õ7¼Eõлs}×”£G:/‘À"8qݱ£G,Ú¥ó§¬ÁÜpØôÇ^]¯+ËJ£#åU‡a^×”ü³G!)ŠÒË€'Nx¾æM,Ÿ;wN$µsö¨V«9â[uN'•JOœ8áÉš7c½¿¡†§ Á¦Y„€fÕ¨™çΉD^_óAÔÔÔ;v¬u>ÅXt~Q/ÌÚÔ)¨Þ\“ž^Çå3¼:s Q[ˆ˜B(†ŽßO28èäÉÛ÷†§YO¨ÕÏ«.­g´Ó”T*---=räˆÃÀl(ްi~7¯ººº¾¾Þçp-õc³Éd²S§N …Bß,±X,Ÿ›a2™T*U;Ï¢‘œœ‹E„Wš"SÓƒ‚nxg’®’9rÄGMIIIq^"ñÆäS–û®kÒ¼…?§g+RŽ60—V¥¤>¥C«žJêóp÷+>¿¼X5r8^ªÑê%Æ1£ú2è \>ŸŸ˜˜Øµk×öx°ººšÁ`¤¦¦úV]­V&''{"…*6]3“ºòþ[a8·N€X‚#šØéæurÇq¡P˜’’ÒzÍ[¥”ÂlÍÏÎ8Ѫ77EwòvC¥ÔT0úmB0)4ÐÁíÅ ¶_åÒº$&Fwkï2HÿšššÔÔT‹%ÊýRS›Ÿ (*|X,–ÀÀÀnݺEDDø|%³ÙlŸ›ãøO?ýÔ!‹JÄb1‡Ãñ¶%‹~>¼Èe¬ê[#¢££5¥Óä™kÿÜúÇßç~üøµ¤~^ 0¶÷ ½U†ðȨý« HZÐë3¦ÅD_[÷α²k2©ðÔÐ':ÇÆ žmEÃårÃÃÃÛ¹à/88Øf³ù`Äf1ˆDbŒ@XlNdd¤'kÞè&@(@ÙNäòÊÎ,¬éš§Â#@§h¯ç†5®£m½æ-l®«Òæf+ˆéžù„“˜Æ½ç&Z–•ÅÖE„ó££í4e·Û×Ñš8@"ÎÕjµ¿¿;G‘Ùlæp8:uòyÍ›@ àp8íiF\\\‡¸](úùùÝáu´- ±_»ì™ßR‰«æ}0=)ô I^üÇ¿?ùÑò ûçþ°t@׿­¼À8^`eù%FPV^—Ô-EïêñOÖ¿6­þqéZ‘LM¡´ Ðh«çyZ×~a›?Ù,(  §Ž­[Èô§¿ðmÐS³íxA,:LdÜõôîÝûæïX܃ø¨)&“©Å­R˜Ø÷¶ ¿,]þΫ/ m’CCÉž üß7ýõä£=¬––ïËq8AÓ§OŸ>}:‚²-V3êÙû8Ž[,“ÉÔžs¶Ûív»Ý+#ûÖ|7sþÏvýFg–Ke~¬›«µcHDŠAZ&$ ¯«tü2&“mõá$pÇ0Ìl6;7ÒL`³Ý«OÓ,A‹Ådb´Û”Åáp˜L&³qØé&SóLÓjµbÖÎQd6›q7›Í>ÛIIIi¼”î¸Ûm6‚ Õ5eÏž=.—]=>tDŠVc²XÉáç Jâz©D¥{E7Ùb+Ëã73kjjŽ=šŸŸïC¤‘›uþjq¥Ã&KrJò®]»<­J9¾ûåÏ&AtIíuæì™KYhŠ”omòP ÀU3;i Êi>mFOQTHHÈßÿ ÷gb3R ùÃGæñ ÚkÊn·#²k×.ÜÄVçÄ7ì*nú©¾¾¾ººÚóàN߃‚‚Ž?îçwÏïøk0}ÕAQ}G¬yk ‰x\¿/¢:ßÖ¼‘„mùÂ÷CùMi?dƬ½1@|=c"›A (½ïàçsË=]éärÍä6¬ykâ­yk\‚H’$ìµ[²æ wþßE¿¬ŽëùÅŸvâ³/ŽÍÀÌ¥Œh§e½J|hÿþËù¥~‚p‘Ø—#]>þï—?ü®µ6Í(VpŒ7ÐO~ZûìkÓËkÄ¡‘NëÌ÷{‹Ò~;÷e6änÉÑÖ}üÁž¬Z0!KçÏD)‡'h¬öf’ëJ.¼ñê[®Và$ @i¾ôb½Ba²7Ï\ºö}öÝi¯{eíÇëÓ`ŸþpÀÜtéÒeîܹÐw»¦°#ƒP jECÍ¥ÍÒ#Ígƒ&“)3óâ’9ïžË­hz³e²².ec–––æyNaÄ –U>å i=û úø£Yñá|Ø÷, #00úán×”±“f®<ð¿„¾Ï|5kJa+—o‰ï7qh¬ÏÙlv÷Ô®"¥¶IPh쀅?¯}öÙ6Û«$%›'üôÛ_f@xþ(Ÿ³Þ¥Xo, ‹gBW@Mzã‡y¹K·{÷I\ÄZV«Zµ}_¨¿ï;_Ðéô°ðØõþ¾ø·µ"¹&(4zÒÔw'Œ¤ù´TAyðÖt·Cc 1)ðÉPS¯Yû½¿>92óäéó[°dô˜”ø¨öÇýž·kàH“ÙÆáúsX0%<0š@ì^ýõê?¨c›Èdq‚XØUÈ= ]@ ¦@ ¨)j @M@ PS Ôš@ ¦@ ¨)j @M@ PS ÔHÇ ‘Hìvûƒp¦V«U&“Á÷µZ­×롦@|añâŵµµ™­X±ö¸'ìܹóĉPSîÀ}$É;ÛŠ¢¬V+EQ>[Ðëõ8Ž?× †aF£ñA8Óö ³ÙlµZ¡¦Ün¾ÿþûššš;Û­VûÕW_ÝÝéÀ»Ýüùó½¯4E$Ùl¶;ÛÇëêê‚€£ÒAµµµpT€3Ÿ’••uôèQØ÷FÊËË7oÞ ý5ÅwjjjŠŠŠ`ßC‘ËåYYYÐ…{\çää¸ü°#I† ŠÞ\°Gi4Ï?Ö£V«‹ŠŠÚ9ý©©©Q(W®\ñ­ºF£Ñh4¹¹¹\.÷¦…µ5lM5¹¢í³ (Š$IEï•o°—––¶ÇÕí¡ÑW4ͦ£×‹W®(Ý•,++k#-‹V«ÍËË ðÍ‚X,¶ÛíwÄWÏ=<¹`osœBž=¸sÊ;S¿þæÛOç|8jô‹[ÿù#ÛJƒ›”µ¯Œi±X¼:Ì¿œàa3kÿvÌY$¹zõj8i÷‰D²gÏž&w߆A…ܳߢ;þüåË—ïpœÒ«W/&ó†ÅÙ³òxrÃν=ºÅ9,º¿.œýãAÄ7¼NC¸¾!¤S¤óç¾(ÒñåôE5JMZZšçš NNNNIIiÏ9WTT0™ÌÞ½{ûV]¡PõìÙ“ÇãÝ´°Ôˆ ÐâP>Ÿ†aAAA?üp çw88fW*•€Æ Ói¾ßxG^^žÏ®n½{÷6©€£ôîÝFˆ‘››ÛÎFF>Ÿß³gO@à›…“'OFDDÜ_Õ××ûùùuÔ¡;&N!ìÊÏÙ³lÙÒ‡Ч¡Ç_0m޷ù?ÍoF±*ûÈ3O ]¿ã¿¤ñÀî+F!ÙŽçù[2e ñì3_}qôàÁCü¿9ߪvèÈíÖ”ºôeRñÚu땆kãeø;–°ê~X²’Ò)*"ŒÃiο¨D™õÄàÞ]aÜmdÝ9~ü«»/+¯(+)Z¿biqA)t ä–Ï}V¬XA£Ñšç®9çµ¢ª%_}\YV<èÑî¬Ìo@põÈî5Ç1J×ÿÛoù7_8—Ý­oÿ¢Ë«W¯f³Ù·¤¤dëÖ­áááí9çÜÜ\NG§ûxî&“©¼¼ü÷ßg±nþ5h»<È.fÈÊ;ä,H’ÌÉÉiá|ç £¡¦²ª¶#Ç¿{Ïž|.ÛÛ#ìX·ªNihúÿ aè‰ã‡r²Oûæ«ÚÚÚ¼¼¼ß~ûÍ»)žÝR\P Ò›@„Ñ©%Ò¼ÏT¨Tª‚‚:N˜9úœ®ùÄUw%«««óóó½mdËŽ¶Û+++W¯^íççã÷ž3224Wµt*iaq¹ÍÑ茮)i‘!|]PPÀd2KJJ:(Öõ’iÓ¦5zÐùVeùãiÝ¢b»l?t±éù,c¡ ¸ªxñwßæWÉÿ®ºrjÆ»/[¾|ìØ±€Ÿ—n±Ûq>iÒ¤ÂÂBª}ìØ±cÉ’%>W—Ëå/½ô’Á`𤰤˜ÊÞÙagáp8fÏžÝÂù× ñ£»W§ÄG¢ÐìYóWx}’˜8æÙk×/‚ÆtëµçxV{\}áÂ…÷Þ{Ï«*&tÞ´‰MjùÐ…œJ]QQÑØËF%•¾¼­’gÏž1cF;•Á`;v¬F£ñÙÂâÅ‹7oÞìUoUäÜ'™ví¡úÈÓ“};ô¾}ûŽ;Fuó½d¶0ñߣǵVZBçȦ?ª1’¤JçƒÒKß}ý•„tÿl* ¸× •½p Û»wïÛoŽb2i÷}@h3ë/g]¸œ[Äð’*Ôn¿¦àÒ¬Ys+ä×^l%0›T,ñÚ ‚FÄwûö«^,n``HÔ“ŸLtêPÏïS²úêóçÎW7(tf‡W)3Ç×|¿pÉÚ]øõZÂ`¸o¼¸£øê匋—ÌZT^á͈2L{íS…¢ëÁ)ÕÞÃsŸÖ‡Ç·˜b¨kqŠ O;hìßÿ„$¦=æü땬ý‰dôèÑ›·öθû[V4²Ê9³ÞÝyà”ÙŽP:€:ö• µNs–ØîÓg¾å“%dÀá ð5î%ÎÙùþìùyeµ ž5ÁóÚV«é¯³—›¡1†}ãÑë³éû ÌfXúõÜWmQéÍ”Æx¢ß#žW7[ é×Àòž³`þ=¬)—.]r¹æÍypeÜKÐ/-îj~1O,•ÉDÎÂÆ‡c‘›{“gã$ÛJ£+•Êüü|“ÉԮ˯²R©Tú°t’$ ‡Ý¡3T*õåË—=™9ëj9šJΆ=ÿÛ°÷dÓbŠ" }8 Ç¥R©KçMXh¨Ðh¶’"ì7mæ{~UV–ÊÛCÈd²ââbŸŸUëeuÏú  ¾ù¸2©ÄsW[,’Ñá!Z“¥3{?þÔÔWG”]õeéDCCƒH$ÊÊʲéèµµÁYYrw%‹‹‹Û³”Ç1 ÃíL£Ñ\¾|Ùó5o¹Ç÷Ì_¼Æq}X$Q]Sëy3 ƒ €‹ tN°ýÞ˜Ú»³ŸogQ^^Îf³=_ÒqK4…Íf·­)в³‡sÄüNÉï½=Îã:—iV‹¦MþßÚ»ÛXJŽ“w¯Z·U©7£4:Ec¾ýöÛžçt]Â`0ètºWF(Òqþø¿+Vo’ªõ‚ #¢Ã ,“A§2‹kš¥³_>7±[Wº÷Ëqolykçó!©=ž3wŽןÅb¡¾®¿¢ÑhL&ÓgWë5•Òæ,£ "qÖÇs=·F’d°0tá×ßòi4:“Éð¹—Y,Öµ^fÓŒ¶:‹ÉdÒh4NÙnÕýµé­1Ùt&›Àg³ÙžÚ¡È+¥•M‚‚ èÃƎya ›áé%ép8’Rº/_¶ à &“EkÇ2"ƒÑžNïMéÑ£G[·2 ÿlé<ÉZøÃ¯û?ârxS¤ã›™ß•ÖKRRRÚÈÖ-únñ2­ÅÑ4áOJz(9ù!ŸZMê4‹ ïD§ÓÓÒÒ<¯y|û²oý"7\ÛßÀlC¢£bâcnZQÊþv°ô‡¯¾øaYƒ\à ~á•·?zwßÏ—þÃ0,$$Ä¥ó% _ èÕ«7ŸÏoÏ€ éÒ¥‹WÎq&)>¦¶8ûSVòÑÜÏFê‹z¬o&“I ¤¦vŒŒlçÈær¹eeeiii&°€´´Ö)‹É¨3˜BÃ; …BoO™pXþüÝeë¶Ù‰F]0²Y¬îÝ»{îÿ/?ÿ\£5äWˆh ΣƒF,ürnçð Ï Õjy¼€Þ}úv@2®¦ÆÏÏÏçN¿Uùg.ü»aåÎ3¯½·àý—‡¹»_fùû‚*€h3G‘¶ùß,mzrlxTŒMÒÊkWþòóþÿÎÌvÐ^}íUo‚ûÂï—7 ¾×“þABÏ- ýú±§žW© Ü@>ŸÇ÷/,žàÓïWLÿDm±Â!‹A¿;Ûi7kwmZ·aÛßRµž´^ô÷z’(©ûqÅæë‚„Öç¹7ýýý=·Üw÷þ# …ŠÆô  îµ…ýÔ+¦ý}¨ÞùO1£Æ¯™ñ–]n0ÜÄ)Tå•ôÉ~9|ÒßÌ{Çf1¹|OΠ¨ÚüuÑ| ƒwÈ ›úêÄýçr›& µÕuž¡(¼kLxVq5A’A;%t_üõ§l÷ĂɄZ¬¨Á€x<@yÝøqŠÃápé|£Ñظ©Z;ßs8f³¹=Ð,Ø­»—W™L¦Æ³hgMÙl6ƒÁ`6"6Ã`p8…–Íî€d IDATå_²hÕ¶fE ùy{DÃã#C4U2 ”ÎìùijßΞâíËk®?`ôþ| ŽãíwTc«Ñ ŠB‘ù¹§­pþc·è$ƒÁࣦ=z´õš1»ÅuþlNIõ“Ͻödÿî'O¸™YŽ<ñȰg.½8~üxÉίMíÔ=_­7ñƒS»w׊JŽˆ¼^™“}îøÁóyÍ ‡Á>|Ø‹@ãùWãS•7@œ’êP×9\ëQo‰L"¾„-ê[A555.¯Õj¥Ré‰'|^sÕgffêtº;rï³Ùl‰$===((¨¦äryiiéáÇ1#KQ£?Ü<ú•ÒºŸVoo”Þ9Ñ«ñÐÈ3?z¸¨Ädu…têÑ=¥8çBñmô•ÙlV©T>4»5999L&ÓÛå£Ç}øá U8a‡öQS&L˜à|«´šõ¹—.ž9_’Üïéyß?ÖÖ€P_I?AÙŒf³ 32_{mü-}–ÜEÈܵëo±Úàø ^{÷³¥ ß÷c1nCÇKK€8ôyé±±†aXnnn ç7åSΜ93vìØvæS.]º4tèPߟ%·;¸øï¿ÿÆŒÓþ|Jee%Žã'N4©@¶ žØü‚œ²¡rÇÚ™¥ t&gÀˆ—6®Yî)´ZíîÝ»'NœØ~Sl6ÛÏÏïé§Ÿö²ÞÄ[˜OÁ1¬SBêGO<ÅbÜ\‚{YÓ{¸kÞú sðà¿§ÎgÙHfŸ~|¬7“~ÿ¯²ƒ¸#$*aÇ#'N¤K5–¤îü¤€Çné(:FSx|!Ï˻㕬ýõõõO?ýô¦­G¦O¹µq @h=û êÙoìoH〈í’úN—T舻HSŽ?~³5o7…5|øðáÇNúï~õ¯QÄÕ×ðÔüŽùnAz½þĉ­ó)jµZ&“¥§§{²û\ÔÕÕ]ºtɇ\c‡`µZ¥RééÓ§…Ba;M) ©TzìØ1»ÑPá8&ºß†–ѨR©Ž;Ö~S¥¥¥,‹ê G|Ô”nݺÝêmîTt†ÂÁHJâw”Aw;9Éår—˜˜èóÞ…ÅÄÄ$%%Ýw™Í怀€.]º´óÕs@RRÒ“O> °hP¬„›”äwŸ -½^Ïår;¤§:¶»}Ô”ØØX¨)žÀ´Jbcoù —ËŽŽngŽ–Çã…‡‡ÇÞ†»Âd2q¹Ü¨¨¨öçh›mr,ÄÆÝgCK«Õr8œ;ÕSm¿m ¹#FtîÜúr»ãÈýʰaà 0N6›Ý·oßv'Îïô-ŽNïÓ§‡Ÿìz4Û}ì±ÇîÆN„}s4{öìû@?øàØ›žàïï¿`Á§@ 8÷@ ¨)j š@ PS Ô5@M@ ¨)j š@ PS Ô5<àÜ’ýS( ¿zñ¬† |üчYt([7Çn·›Íf£ÑX]]]PP@§Ó§NÚzs|äÕ”#Û–¿1}žcÎù~Å7¼AG;ìóÒ8Ž“$yüÂ`0Ü}Źý`f±XL&SCCCaaaQQQyyyMMMmm­Åb¡î°øO^c‹ô}[fŠ¢0 » ŽBä^ß\r·kŠº*sÚÌÏl4^'?ò§yï:ì™´Û}ÅŠééé·Á/«V­ŠŠŠêS$IšL³Ù¬P(Š‹‹ ÊK+«j*kjªu:]ãGUèt:—Ëåóù)))]¢{ò G‘X»>¢¦Tª>ÿì ¹BrE(÷h pûå—Øè¸ï¾ÿ¦@Mi‹ÍëWÊlÌMŽöåUôøúþí[‡§Íí¨;þ‰'Nœ8ÑvAQAmLH’¤(ŠF£µ ét:ß4…¢(«Õj±Xt:]iiéÕ3⋦ª»ª«« Ec• ÞWró\FrrrJJJjjjRRR|||||<ŸÏ—ÖÖ½i¢3ÚÕ5ê[վΙ¦°¶QL@öà“©5ôíî tÁßTÒ2õH©ëhŽ þ”öCÔÈ-Ô”³{Ž ž0mÂÐÞ4Ì`°òõŒ¢˜4ð÷÷ÿå—_bbbÚ(£Õj×­[÷Á¸ûѹsçÔjõóÏ?ïÎÂ?þˆ¢ž¦ìv»Åb1UUU………………•••555 †ñÁCB$MÌÎõóó‹‹‹KJJJMMUïõâ·Ò…„……y~ ¯@)vϨÑSfwãòÛŠwTy!%'©³_pWàÔ¢î£_¦ê\þª“WOF)·s‘H´víÚ[:‚{÷îý /Ü—âÙ³g?~Kg©£GîÛ·ï=¦)i=-1ý4e:E(‚IJýh ÃgðàÁî¾Å׈L&;tèÐÈ‘#Ým¿n±XÄbñèÑ£ÝYزeK—:Žã*•J$TTTTWW×ÖÖZ­×"Æb±ÂÃÃ’ÂÇ<ÑküÛ QQQ©‡…Yu=zÄFDÜÂ~¥ÑhüáÇ…µõý½0”Õívûõ’õ5?Óm kaWª6Úˆøtb°é»ìàöR‰ƒL Îj\Ÿ`Ç€gëÁq˜]:ù¹¨ûBRÀñãÇ¿ûî»[ª)aaa÷ž¦˜ÒN’ݺä…'pÌÞ³÷î'jkkŸzê©ÚÚÚkñ?ƒÁápS¯#•J1 [´h‘ŸŸŸ´ˆóAŸõ›9þ fX×;ë㮀äßG‚RTì.Õ®c@MµïÁsÝý‚q×ú.g–mg#µZmvvömðFXXXZZZ×ü¨Q£ºwïîîNöÏ?ÿŒ1ÂÏÏõMÂl6:th„ îì_¾|ù®žû(•J—Ù~3RÀ´j°ýòÓZœ1´„B¡h#ûàÕã›Í¦ÑhÚ0P©Tv»]©T²Ùl— ƒÉdjÈÝnoã(&“Éf³…„„4¥BS!»qãF·ÓU}æ™gÆçnLLŸ>] ¸»$‹‹‹ßÿ}wöׯ_o·ÛÛ¾v\¸pÁ]”@æÅ ÿ·{õöããßž[WSçÆfÕ~9çó/üÙóoD)ŠÜÜ\•JÕÖu¢Ó©Tª‹/ºË§”••i4šŒŒ wÔjuNNŽ\.wù«^¯OHH˜1cFS³­VkQQ‘³}‘HÔhßÜÀ3Öê3n´“›[ç¯2¸¶/Ç †nÙ—+üƒZο‚ؽ{÷øñãoºtEUK ‰—²+üÛÊר C•J‘Qì¶€&¬ @*!µ®›*# ÆÄË—Ëë]OteA +#£ÈýÍIX\¬T±]w¨QE‰99e52×çk¬ Ôë22 ]È\ž““óì³ÏbF–´:Ϩv׆ÜÜÜèèè›~‡¼ªªŠÇã…††º‹#ŠŠŠ’““Ý=Y·Z­b±¸QW[[«×ëÝÀ0L­VgeeñxNýúJm~S]zw÷kC…þËÇêÅUzwª.P‹Ç´eÿ×Wj®ÂܺZdú¢}]©Ö]ú«Ô×Ã\Û¯¨¨hìe£’J_Þ–Ξ=;cÆŒ›ºtÁ‚ýõ—»_ ÃØ±c5[WTUM˜0¡ û‹/Þ¼y³»_­Vë˜1cT*•»2™läÈ‘mØ_¾|ùš5k\þ´oß¾cÇŽQDÇ?÷éÑ]ðýôé š`ÿŸk:ù» ¼‹ÎÙvÙŒ“€@ ÷ü Ó¢ç+-„˜¿rýÞ]ܳêë÷eTÒvrŸácœòÇ´žÒS„ãøßÛOçÉ9Ý5¬s½0"±K§O…öx¼*' °qãFÏó)ååå{öìicÒØ8±¬®®þóÏ?ÝåS²³³u:]ë&jjjvïÞîzo4VUUmذÁ]8''G,7Ú·IùqpŽ¾Ê¹€DÚ}ÏžKœ ­›$%•õÙ¶õ_«dAùùù.ß29ZÈd½¶l9À h+¡k(‰¬«d¯]{Ì]ºÚ®ä)SºnªÈä½wì<ĺ>Š©*¬¶VІýÊÊxû‘‚Ì©Ë_Í —÷ÞµëP`¸kû–† ±¸“Kû …âêÕ«k×®ÅMlMvBÓmN§¢¢¢¨¨è¦ëh®\¹"“ÉÔjµ»§5557när¹îr¨ÕÕÕm%+++00°iEBë|J]]ݦM›üýýÝ=yh{5PFF†»§þyyyL&³éQæ]”O9µë7: „ñx1#,V·“d奣^~gÙ²åÉöŸ—n±Ûq˜Où˜Où”o)ʲw?œOÑ8k6oxûÅ)Z‡Ãvm\Øwø®íÃ8ŽíÝ»÷í7G1™4@`>Å™_V"1Žš7²¸¸Ø¹zUñ•?×oiPhQ:ÓæÀŸ¯¬´ÛíîÚ`0JKKÝ5»¾¾¾qQ#ÀXï¯ûƒ"iíý… |\èVš-¨ªªJ‰›\÷½ ³Xâ*ÊëxZë­Z­.))¹iŽVQ[,ËË븊¶æ• Q°^O‹œÕBRl<»–ët4êà&u ˆîÿûªÏéGCðÄ>ušVÉB’XûÕT×¼nµZmv‡»mæÑm‘‚æ°‚Æ –Ê”M¿bVíô‡Òœ–´O™öžsõË'wÅ c¤¤´´s´%ÇT³mSÕôË-#VU¨^ð„ï9Z»3Å—”mçhVÌlp\=D´ÈÑÖdh> µ85•,;M:¨ÍÔ|Ö\` b->iñ6GK¤ÕˆYLØÏ«]æh Ô•è`Žö¦9ZǬ‹¨¾á¾ÊÑÖ]QE?ñâ#Ñü_ý0ö£å?¼ûȧ¯Nz{ê;¯O|úÑ=§/¯þsÿ¢'ÞédÛ¡½ùš7Ь(¼´rÅêÜâJv`ˆT"u%‹ŽÙïÏk›_èILc°›%æÄÞ]ÿI'¨kÇBPZdÚ“Nõ±9~V§jYC»=„vÔô’"ñ½³¹v}sЄ†Z.ó† ‘¢Dyúÿ–‘Åç­Š"€îÃnv¸ ;û§>k')kÀ¸(ͺ+v~£>s;)­Ç8ü°‡§¦ÿ~Î6+šã/D`Cù(×O>g›äÍÐ@ ^ÝÄ•¦c¿8 OÙ:Ýn`×[PV™ýb/H·Û0€ ‡ #Ý­¼‹'W­^_RÝÀâ!€¼ÿw÷¢ôŒÞ 0ô³q£}Ô Üw`2Б}#ŠPçˆÞY<†è@ñ†³rÃðè ¦Ìø÷Üû'KÏ›/²®o"é0Ëvž(xnHŸ‹'öà8îb.sK'vŒ{yšTouÎ)´(O‘‡ÍB®mF†ø £—ýòC—ÙTŒFCèt pJ£;uÖ+Ï4ýz­:( €øGþòóÏ¡ž»V5î_ÙF³ ‚h, p@ÊÄ`€@¶aäwVa¤Ð¹zÕiݪ <›öÚ¥K!f«Á#pw‡n½awlûŸ5sK0€­'Z7’°c;gY26\/@háä e`°¯5•eü©!69Ô¹Âl*Ó4pŽ>>5̽¯’¤œ•^5ü6šm”;éá\@VhümËÐ|Ýv]…ïæÆÕ8 n´ßºp$‚»&çþj’$‰›Ú¢k(ŠjcT4hÃ~ÍhmŸ¢ˆƒ[–NúßgFÇ5) í܆}‚ ܵ¿ŸÜßȳé[–­)sþcÆœóü5eÛ¶mÎSzs¬°îjþæ-[Ta!®Zÿhç ÎlÚúoWÊu« UT”nÛ²…Þ()qöè‘ø~Có³ÏvîÜé6ŸB?|þ‰³ „FŸøïä•+WZ|æå7˜ag£??ø‰'ë ¶l.p²ƒ¼þÚÄ«Å8E뜘2艞ÿü½Ë¹úÐ_‚ÓrÁ? ø±OÚåe[¶”µìr×jT ¥Ú†‘•UÕ;vìh‘¶YLr™Ìduˆ$»eóæÍ«”oipÆÖpb,Rf1¸ŸHŽ"[¶8Ÿ&(øzD“ H¶zÿÑtÿ<²ußoݺµu>E—Q¶õi¤y«ÊÌÉÛ÷o9ƒ}ƒúè‹ÂJ7>ã\Lj¿¼yss¾üÉHsC#Ð"è[g 74j0åEšëé– ¾u–°– iqm6aá¨ê¹›7§7iÙòAFI|sQ–!ýâ‘esŒY¾b ¡!Á©€éô¥ƒW5D ûÆz?«šC:˜rYP³ýÒÏŠ¼¼¼Í›7ã&¶úR|Ëdf·)r­Á¤Piêkû«õ•cÔëär9NÑrrrÔjµÉä: f³ÙD"Ñ®]»Ü¥ö•JemmË£Pi2êeR9F"……1Qâ†3Å1»J¡Pkõ 6·¶¶n×®]Mù»Å°pîü&ApøÁ­Î‚2õ2©ÌŽƒ²òò`A ‹ÅjݶÜÜ\&“)•J½ T˜?÷\¢ó_x bóæÍ“OÉ?ºI˜Ð_a°ª«¯nÿc'EQŸ¾™6sÎ7$E5dlâ0ѹßnhš”+³?Ù“5o$aÒ=îz ‹Ûæ*u'°›U ?œȹÖ“ÅRç™-™wþÀãi]¯Åa2mæì6Ö¼µ:MlI?óT@6æ/¦qŒ~V}à÷jµÄÚ¸ÍåMò)$eÔÙýT?ƒ‰]Ks ħ}¤r‰‹´KÙ¦w™Ž¦bózIe ¶uY—¥™Ÿ¬™rít¨EC$NgНkšŠ\ûi˲í™ó’$¾~‚S¦uË)ÙbM`žvAšºÉþ‚G%>äSÄU¹ã‡?Þ´ûú.2fݹæû˜k[XЙìí;vu`>…Àíÿlü%.üÚNæ4kÝŸœ h¤å“žÂ@‚ Â°Hç|ŠQ+K¿–¯E4¢Ë×Jê[Œ«#;Wvé$¼fŸÎümÙÊ{&ŸÒ}økÏ'¯~ë£E;–ÍŸðV2 ¸ë°}9b«Ý¾jý_(/þ)/6Ý…<û÷îgkÞ”µíÀáõë7–ÔH"ã’^{}Rj—Û.Û+~›;óë•;‰ëá³B*·Z-\‹Ï套'Ž£Tªmºû˜MÏ#(ýí¶Ó¿«K²-ÂDn¿W錓V˜ÿü ®Sÿ!“ÂhƒåÂE$A™tXöQ)†á§D†Ä/î²êMTÊSœAo¹xVÒugò6ý…]VžJÆôVP°ÙŽÒÖØ×Œg©D~MÝ8¸NgJ›° IU石Dry™þè³aÎÉ¡[Ž?¤Î?gñà<2‘Þoä Ëò bÇêò*n³};×ÛFZ4²_ù7»¤yÂ%–µ.vf×ÚÉ3>³^ïu'HÐÒW˜ÃVW]^QÝà'#\åÀp‡­®¦¢¼ªÞ‚·œ®fØòÊÛ³-×í“8NRÍö1«ñ½—Çm=ßф鼆ÀŸºÿ¿ë7mÉt]’~óÍ7bÃox›£ðäžq¯Î2äõ 'ë¶dZ:hm¾QR: -¾ïÐŽž»b4™O®øÉ_öòèa¡Ñ‰Û] [Ù¹œùï›o¾÷ë²mž¯Í¿#„9©K¬³Œ˜ü™ÑN4عuµóçF8üÈý™åžÇ)îÀìø‰?'×- Ý6Gql}]ÑEÅ{Sæ×i/‘üýSݺwÖ|P\S »{|U–n¸pQS5•aùg¶í×fÝhŸnûîåâŠ Ž‘Æ)V3vdW:m~âKg|·þp«^Ç&¿ö¢³Ü%ôzªN{ðWˆŠ^}nàµ8¥EwNh§(J^5ˆq}pô~ü)ç½>fN»!;õÐãUêæ˜Q.­d8*”Ážýë.o\EÌýhš³}aç‡Ë•Ö»1Na0 #++«õ²«¯ÿºmë–ÙS&(“0kÍ:I¹uüÊ•ŸD Y™™­,…N›6­Q¡rr²ÁÝÍè½%R…Õ£4FÚcæMZ˜sÉiÉNKŒ)ª‘RG¼5ãÃ`R™©èj9ÚJ?™÷¾¢<·é9 n·ŽÜçßsW Šb°¸CǼ<ú‘èÌL/z:-®s§RgøñgsÔ•yêJ%+++Y,VG}ü¡(ïÔ‰ÅâÒÒR¡PØö†¸µòñA§~¾ëíÑ ÷Çs;›Å¨Öýùþ~®žêµÊA¢!Â`:­9ÊÕV³Ôœ.ÃuÒN k6 K²8È­°¯—«Ä’ìës,m=c•}¥68U•ð8ùУ!(B(`ÑÐϯ¡ÛXu¶ÿ±ÁÁ Xc|nÐkŒ,XÌfº]”Œc6•JCgùñ[œ‰¤¾|Ôè M‹!hLî¬/–LvÚ-\.­1âE§~3>ÿé矸ñ¹•]©TÓ˜a°Ëò”É Óma°Ë—)*I8 Â`‡ ƒnÛ®Ð^kJÏ–vB£3ôÆ5#A‚wçlüö‹ñò ‚k{\¿×RÜŽY|ÉEMþôò?f“”…0”‰¨ÉÆÆEŽ\hïòpPÎa6Ì÷µU»ÿÃI’:sÞ×ó?˜ÄpºÑ:,Æ3__¾ó8N’~!3æ.\ðÑd‚Ü÷ÑašrxÇϳ¿\Û}͆M©Ñ|@ßPþÐ)óøîã\SêsAïñð’¿Ýúb5a(а¹ “äìƒgÝ’L!­—kÌ1qñ\¶ë²¹ÚÈå< Îï°½þùæÇÒJ¨¬ùö×_·ý¼¥Ìu6œÁM~À7‹ Ä…@U/óÛ}³ןÑDÝ¢ƒ ¡bC;µY "&4âÁr}‡iJH¿. D ›å‡ ¼zØd·Ç>‘ú€í ðÂ"x…C$9塀OåÅC½†Œí1ì›~ åï½þB–&$óØ66ƒ½ @Mñ…ÿv,›üÞ|+-ÀÁ8)ûöïKŽ „.†@ ¦øŽY§º˜u °ù?ö(‡w„„@ ¦@ H;@¡ Ô5@M@ ¨):ÊëIDATj š@ -ø?*%î¦Xž·IEND®B`‚nted-1.10.18/doc/docimages/upbeat1_before.png0000664001041000007640000001076411520267216015637 00000000000000‰PNG  IHDR¾HÇÝØÎsRGB®Îé pHYsÄÄ•+tIMEØ UgtEXtCommentCreated with GIMPWaIDATxÚí]y@×ö>“„°†M ²¨ìP*nq«[]ªµj±Ux*¢Ôç‚ÚÂ>Qëú¨¥*u©Ö*Z­Pv0B ì¶„dæ÷Ç$€"!!Ì÷Wf2sgæÎwÏ9÷»çÞA0 %”$e(¡¤Ž‹:XSvtøÿ¹öŠ-TÖöÀÖƒ@9Ù§–]HÝ5àZûȘ˜xñâÅùh=H^ÁÉ9ºïò”þÍå’–Š:ÞÞÞ e@>Z9¬æô} VÝ`¿»“uvÙ²“Œ–Ȩ£(*LWÝCÔ0¢Ö§}à^üö÷k?=` ò¦Ç¨Ãyqø¿‰¢:3õ>›ÕДóË -|»öò»•èÇB2™¬¤Ž hL>q¾T=ŽÅþ²ÜZKc¤÷¾Kü_~Òåô&eÿ¤7neeÅ`0ú uš³£ïT€Ý®ÿùŒPÅId1Ýc0þCnf•@ù^{l6ûíÛ·ýÇê+Ÿ?,Иâk­*ÞM5e ögìfTù^{S|é'Ôá>-²dó4ƒ¶òE¼¡¡«þ±¨Ø}& =h݉…X3ëM Ì_åFkÿu¬zü—–•õ Š"¿ïsçÎ?~|„É ¥?QmªnÐBk_kXC^ :#ŽsìµÚTœ:ujÿþýJg×ëÔiii~í=,V÷üÏdÜv;/™d Øþ EQUFc½N„D&`h;êK®í¿Ñ®«æ˜P»Rz4DPR§óÕõÔPA+w„¥WãøªÓ6.4Upæ" à0¹‹:*((ˆŒŒÌÍÍe±X“&MÂGòDÖA>ü›—W PwxW]Ä ™W½ŽfÑì “ïHïô\ÅøÍ`0ØlööíÛå/3-- ð   >y–„„ ÃÂÃÃuuu¥?·©© Ã0&ùø.¨SVVvðàA¼éKÕ_àÐî»RÔBâìái§Ê/ŠÞv jcü7/óDŒ¥ÃxÅOîehŒâ¬Ot'&&&†ËåNžÀìü€Ähàô*'¤”1ÉqÜãÇ=<<ð²/^L"‘$K-¬g·2¸­ÞÐÄsÞxC‚˜#dgÞ‹/3ŸòÙ-’°65æN6 &.œl¬BpÝÅÆÆr8œ¹sçÊ_TbbbQQÑ’%K:©1®sÜ­_•¦Í¶™N…ÝÒ®RSSsrrfÍš¥¥%ÀsJJ †a®®®„Å:!!!»hmü–épÛ·^Í þÁÞÆD(v͇ûØîº¹Ø˜ÀË {ŒSÇ|éŽÐ)4‚©“ŸŸÏb±BCCå/jóæÍL&³Ó¢ªn/]“ܶyG}¿5ë^?íÀ¹¹¹¦¦¦2½hECBB£Ž¥¥¥ê •1¡AÕŠ7Õu ¹Jó…tKK¹3,°Æ§A_\¶:ðô?“ð‘Sn½®èFÔ‡š[ZêL555 …bii)Q4 ¯ºÿMÕ(—LŠqû¨;&[t7²ÓÓÓ333 éÏÒÑÑAQ´ËÇ—:’d"´2&`Å™Jqå¶÷ÖÚ˜É+Õ½N«N¦É벟„Í,SÙê>|»ØÎW”â¿âWØ 3»/þò2c¢‡#zC4žõ|¤ÊœÜNf¦Ù 76"êˆüWïÆ³ty !a2Zsw‹ï…šVâ„ ë<Ö æâѦ]mÂ0vi‰Ù禉äÅÏÎd—ä]%˜7½§ã‘‡e/[ëtèZQ­ ø&<ý>Èl’2L¦Ðòšžï^U!Þ²ûáWkUÕš±#)PÄÉ|ZÌŸnK…~…ng…¢fJ\\Rú›ò&Ð4°pž4½Ë—€©G ¤MÉ·Í Ë ˜ T=°vw ö ºù»?-o¢~jèc¼îç@5Ðén±ŒÇ9`«hCÆÅÀmï2ß5 T;©ìœ®ŒžFüÛUäÜd¬þñî$ñ€‡ÆÌý;Üi€ê°1Öª-9O ¹ÄÝnsJÐX3ccŸÔÁt:N§çúÙ˜¾¤/&0Nöɯíì—xŸ7À¯ÈÀ0(ˆY‡r²RXúWhkt #7í™g$¶õšVãÍ!&»ð×Íy¡Õ‚Ru†šÛ¹y|>oÎxs­nVÝewRán…ªAó÷oÆûD×HâVLµå‰&]H‚<ðòòÂ]¦››Ûû¡Æ+ÏL+iÇ$]+§‘úbyã×fæUð;^QU—nff¤«ª¸©í™™™|>ßÙÙY]“›–Ï–8ÎLÖ°ÿÄ^£“Ç---e2™ŽŽŽjjr® ü¦úúF¯’Šª&M§®º¬¬´TÖÂñ £Ã‡ïº7!=j¹\®à]pó·Õ®I@R½hcÎ9[‰‘¦ŠSÀÍâ÷‹“ -õ™Ñ‘w™ò•òAà©^ÒÉ/9;±‹&€¸Èn={öH¤ÜÜ\yn˜_›~vã“]5“±ˆì…ûùù­Y³¦ËÃdpXd2ùÝ®VýôJºxÃmË™ ÀËüêÓÅÔµw3ºÚ(»ž×¾­¦š=•òèɾ :ÝS-ÐÚû[§/ˆ(ñ¢/š2W§GlTý,!Gòhê¸ðßüF©u^>¶Ó¡neŠ´N}7ÍçÒ‡FÁ¸Ì$@r ¥p\êò~äñœÜ{™¢z£xþûK3 ´œX¾çÍÐ §pØRÍrJž]Ø1£]ŠlÖþÅÿ‰cwKAA+o|Á|oÆN_tãé3×ÏÐèì_µ1;ÿ¹hÛ“£üx¤uIÂè)yÍŠÖÃÂßfá Z€ê?|z9÷UÄþ§(€öÌÿ½ÎøÛŽzPð $uºÛ’o¦Æ¬6kóó‘OæË¾ÆÁY‚(‡ù<æÌÑ=Á;wï9rævj¹ ³÷ÈÖÿñèør{šÞÜà›9B=ô ÎMx÷ÖË¢ýVKŒÐ Tz„:”îkJ¦ªFs<}?LAIü&m~ÔéÕvšˆÀìS38[ËÉhÕÉŸ‡ÿ¾áÖø#¢f’öóù\ÿ`;U™ÚaY‚‰1}-i)I{´ßÙW¾‡²>Ï*f·PõL¬]'¸Û –NÓ“g¸­¼üVSW‘VÖTksY…DiîJžÜd„$*ßaÁ§z¿,«@þ†©$  ¶³ÑÔ:FBN#f« ´1›¿wÌ7oÚù1+wÙ “Ú–%()DÔ1+yúE~²¡Ê ù6½,(ñ9RDZ²Î%27Y‡EÖ¦ãÖXÛÒR÷˜€'°˜8Bd¿Õ†1AÎã·mA2ÙxÖêq­×ee”ò¥¾$aY‚]†¯9£w¬ú]¤%uM«1¦ÂÖ)ÂTcG:@Yf™ˆ ”ÁöÖ4(z’ÑNú r™Ò: /à ¤WË”&D «ÐäMîH«%ÁöY‚%AaÛ´¬*h˜:Ù UEkf½zU Ãèê`¼²×iEÍ 2ÄÖ©MDÆø•™© ÜI« st KC”ÃÊÊ©l3ÊP A9Ìô×¥|Ðáb­'k¯¶¥:ëeAƒÄC¨zÆN#Œ{aö‹Å*..–SÄÍ MÍ|!†©êš4-uŠ·NŒ$Ø~ögGIPP·ÊÀåh¾è?>ëÊb=’Óañvíß 4>9ö†×z'ýû¢Ëk/ºS#LUÿ|—£áÔù¸¸Ö˜¼I”õæ]-³€ÆcD¸Hæû¾ôFAï`÷îÝòK‚ÄBJIPƒFîÝq×Û@ÊÞCÏ9$2™LV1šÿëG2JøšcÌ |ñYHmʽ|¼L-/oW]rW 5'ÿwE¤iøÉ•–j¢=Hk¨N–T“Ù$‡779h’{í%AA«$(2X––¬ÑÖÆ®40_¿F(Ú)h(g‹­û{ž€mX.ßÓò昛è5¯Ol”bIùú;ó4t†ÒÅ0Òoíúh¥[Í;W,m‘za]Jg!B!·W—Ëß»w/‰D*((Pœüñ9çò~#¢Kê`˜°âæ CU÷„Vö´})"{·5€Ú웵†a‚²kËD‹àÒ¾¸ÈtëáênÍg ^cw¿ŽøU™ñÑ¿E9|äç3Wã3+ûâã'ý—:ò§‘†Ìè·Xÿ„Ì w¸Ùú»³¹eŸ\iuº¿"åúù?n=JcT 4‡ÙOœûÍÊ®C”æf‚hê(¡ìœ+¡„’:Jôþs¹Ï^kDzªIEND®B`‚nted-1.10.18/doc/docimages/dsalcoda_example.png0000664001041000007640000000147511520267216016240 00000000000000‰PNG  IHDRP²µ|HsRGB®Îé pHYs ‰ ‰7ÉË­tIMEØ ;´_|utEXtCommentCreated with GIMPWªIDATXÃcüÿÿ?ÃHL # ŒzxÔãŒàí…þ寿 ~¸åÈÇŸ£Iø?ÄÁ·çG*¼Õ¸YùÕŒË'¿üõ¿zì¦<€¨¦¸Ìùöj—/[ÄÔw×;¥_¹Þê'/b”úáÏ?jz˜ h‘”p™P§'Â%öïÿÿûœ²n¿ÿùé #£yÃiÙCÀƘ‡u¤xxtÔrÔÃ#ÖÃA¹æ ,B®IEND®B`‚nted-1.10.18/doc/docimages/keyboard_insertion_button.png0000664001041000007640000000222611520267216020233 00000000000000‰PNG  IHDRàw=øsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ9ë×ÇtEXtCommentCreated with GIMPWñIDATHÇÕ–¿oEÇ?3;·{·v~‰`Çù¡„X"ƒH¢ ÑPòQQSPP@G$ŠD(I“ 8;qü;ö­w}?vïvwf(æ~b§LÁœV·³÷f¾ï}Þ{³'XkyCòš‡Ÿ”yÁ³ûÉv#¤”!)‹¯¢˜:vœ<Ë(Ê?è¦)J)t©±X„h­yãòE.\{!ÄaN’P¿}—Ùà8Saˆ@ „p‹Å–$É æ `-²¥ÙjñdùçÞ»ŠW©F”giSQ )$RH<)ñ„D ’o¿_âÏ¿vÇž÷m¤Gàû¤û ãi0¥†B£<…@8L¸„DqÆÓå=êÏ÷)Jƒ}›þïJ)òv^%­oøJ©áB)%RJ¬…»‹/8q,áÁ›lí´‘BNˆ~€_ñI¶vŽh¾Ü%¬…xÒz5¸ö¢”¥Ç+|õåÇÄIÌß+Ù…µÖ^t´@»áû>ˆ±…ýÏêús³5®¾}ùK§¸y«NÙÇ4À(…d:œ&ÞØ|¢µ ÂZ8Á]AÖ+Yzü‚¹™² μ²ýrŸ•ÕøPAolî£5݃&ÁÜ[C¯°u¨?ßæér‡ß~J·×EyŠŸo/³pe¦_®`…¥V­±ï`AH9h5"¬6~àšd€ Á?+»\¾xŒÏ?ùŠRX ßýøÕõ˜ÝF‡™ÓSÎÞºØÈ§ÁôÔQ²ó’ZPE)§9ØÜXËâÒ:×?šgáÊ»~‘¤™²øh cí«R ßSdÍÉ´¢}ªAuÈÀËýG[ìÇ=ÎÏÍŽÊ[Àµ…«”e{‹k¬mL@…¦¹×˜hG1 m‚'õMnür‡f{•;‹ét2' ·î=àÔÉ”N¶Å?ýJÚÍ&HãÄí38®o~ý ÇÛšógι(¤À‹ÖÏó¨(×ÖZJ­±Æbû ö+­µ–Ý-¦?x‡…/>uI.{=:IÂÙg€'%Êó†È†…%5qNb±¸Îa-­½:Ï¢V“w2üŠ1Îc­õÐ#k-Æ´ÖnŽ›h£ÑZcŒÁXƒµ–°Òm¶(º=A«Ñ@KýYé¹nÀsàý0б!ÎóÿD¡µ¦:wz$Ðk§R¡‹cÍhã¾Èð{SÿfˆfìÞb)Ó.e¯/`ò«µë¾A™ÚQ/Ll*Žx/!P¤:Ï]u¢˜v#”%žR”yŽô¦, ¦§Ü˨“¢ªÖ¬v¬uQà‡5tQR©U)»=<¿âòQjN^8;*Óÿí¿ŠÊê>gIEND®B`‚nted-1.10.18/doc/docimages/endbar_dialog.png0000664001041000007640000007401511520267216015525 00000000000000‰PNG  IHDRÚØ ;sRGB®Îé pHYs&&¢ï%ütIMEÙ  ˜úŽ›tEXtCommentCreated with GIMPW IDATxÚì]w|ÅöŸ™Ý½ýÞôÞ„PH(¡…¢ (lÈODE,O° ͧ¢¾'MDAQ,(åYPDšÔ šJ 5¤‘Þï½¹}Ûüþ˜{7›B‘DÔ÷2úá³w³;»;sΜs¾§ °Ôø:úƒY¯¸£ÇB>›Ò[Áæ» y{èÒ4m²ºv.?ŸW?:XðØð(³Éb·ÛÉ7H’o}ÐæÜ·8IÆNþ¾!‰è›:z>€! ùCHžÚô1ÆÒ5!r»{8"p¿3„Í8ü”æ Â6y©ç´ñWùÒSä·ÀÜÝlܤŸ-S~Fº …µ8ßú²´í>–S‡¸ÛþÙê~9'HãÖÔ­D|Q”;E2)îÛE‘Œžè™‚¦¯€H³ÀX$"ºô2Ò‘‹ExF ÈgóÊœŽ=Òâs¤‘t Œ!„ÆË[¿1£64Ú¡àrØíÒ»©\zp«ù“ÓSÓ3@žŸ!ˆ€Ðép( M3¼ ¸»Åf]yº“~’I…2*”ÙôÀËYEÄz²IÖÖòL!9ž{å#*ýlƒÚb÷£=cÕòiþÈû $zf±i‘“üꫤtÆX¶ø¹Ç\±œ?[ñ \iü[3Fë•.ÀB”~’§ˆR“3„! t¹\…B)b,ðòïš@‘ÙýÐæ¼Ñì<|ÒÄr¢ˆ=Ïrÿ$s×_5c²Ìyúi"&Ï!ŒÅÂÂÂÚºÚFs#E!½^ÞBþ@(’>EŒ)Š264”–•šMF‡Ã©×ë¼½}¢¢¢5›|=¢ ÈL.Ù°\‰h!C$i&#]pEyy]}]£Ù Ôëu~~aaa!Q°GÓ‘ÏE`P-B 5W„ à`Š¢ÈÏ¢¢"Žãâãã[¯vÕUU’À"ÓIQT]]íÉ“' œN§(Šc•RéÐ7¥_B·,ÓŽÈdˆ"™¼‚rmÁ#—±$F$qç}ØZßÀx¸]>C„KåJ”‹oBýrQ)-·²{.–è¬É2‘Q?nÁÿ2åAN»°¹&ƒÛR°lÍ&E±©“æš-«XNCž+E¹Nåá ÆX®ÉÈ^ÈøÄý™²w€Z,'Ož<{öŒÃaç8c¬T(tz}rr¯>}STJ¥¤oa™\…^Ê»xâÄñÚÚZ§Ó @*Uª¨¨è·Ü*bQÊUnv'1Y;Y…e"Ú½è»×IL:w¹\ÙÙY¹¹96›Õåb †Ñêt=“úôî£T©€(ŠMê‹û^ç¡Ë鬫«CÉ߀À@Š¢ „6›mæÌ™555Û¶mS*•ÍŒ~««ªä?EU”—íÙ³›çž}úvéÒÅÏßßf³UTTde®¨,ï—ÒÀ-¥•@²=Æ4E©Ôjžç].Ñ\ £P(Ap:M ž|†Ú2Ç›T#&™I- ˜Ö6Lª—ç Í0J¥Òf³µ0%E¾] Ehmã]¸K½s2®ƒÒˆµ©˜5×»ð:ii“4g]2ÎV«uçÎí•••I‰={$ö D±¦¦êìÙsç/œë7jÔ¥J)b eú¢¨_Nž8rôH``Pß¾)aa:ƒWCC}qQÑ/¿ýŠE~Ô¨1QÑÑnBo!l=â¢Åz›Ò5„*xŽÝ¿_aaa‰Ý{ô ÖÕÖ^¼x!÷LnDxøð鵊èPÒê#Š¢Ÿ¿?µháB‡ÃáQdÜêµ—·79>zôèˆ# ÓÒÒT*wnc»Íe7²·ç§ÝZ­îöÛ'ÆuéÂ0 Çó4Eùúúv‹W©Ô쎎öòö"\ÛD^ºtéÿx¶²²rÀ€¢(*•ªŸ~Ú½äí·Ïž=7bÄžç‰"ÙëУP®C„deŠMæéÈ”«¦•øÊ† EQûöï{áùç'Mºƒ"¶Ìdj“ë Ì–hÁ*ÒDB( *(HÓ¦‘û ÐtÿOÎSF²“MLj¦ƒC(HA@#@SˆF€¢û'EA ! „ ùQB€@Ct $Rœ@,ž…òáò&ö¨^ÇgO¼}RïÞ½ÕjµˆE€Noˆ >rø°ÁK‚E· ¤iº¢¢|ëÖïû÷0zô˜À€DQc†a‚CCã»ÆM¦‹.ÄuéÂÐ4ðŒ[ÿl¾ô´\ÛZ¤ ŒB‘››“““3aÂÄÄĤ€€@Žã0Æ~~~QQÑ'OœP©”!!¡XĹQ­Öhhày¼¤@+ŠC‡ýüóÏ“&M***ºxñ¢Ùl.--½téáóçÏÇÄĨTªØØXàá?Ц‹ó/™Læ»ï¹W¥V;Nì;§'õìYVVzâäIÿ€†QÈ¡„P}Cý®]»222&OžÀºœ«Þ}÷ܹs)))4Í`ì`hšf¡Àóǹ ‘¢”J%@E–ã2 CÓ4„Ežã0Ƶš˜ŒBµZEÑáp¨ÔjŠ¢ˆ•ït:QT(4Mc çXÖ-ñ „U”Wü¸}‡B¡P*•/0 Æa·CŒi†¡iÚétOÏ„†X– ³‚aˆ6Ëò¼ÀóÒÔ:yœ]ä8|Ézê²ÍÅcA A1… EABŠ B„MΓË @Ò"(Ý i hа  ¹ h()hH®äJ†¢ y4ÄBä5(p?!ì~=ˆ›™(UWW›“sË-©AÁÁN–m’O‚! ˆ0pàÉ'##£|}|A CÄqܱc™AƒæyÞér1 ÅÙÜÜîII.—‹a˜þýoÙ±ãÇüüüäžÉm 0CÛ¶±Lƒ¢hÚbi}ƒ‚† ´ð•Wî¸ãNáúõë׬Y}0ãÐ-©©¿ýúkTtŒŸ¯/Áˆ¶E$„›_Éo‰½½½“““yžï½÷N:E¬„Ð… ²²²ÆïããS_W'™ÅBåQQQj•Jàù¦µÙ#ÊAHš¶ù?9–S*”¢›E²GFF½ñÆâ?^·ió&ò>°ÿë­·¾ýö[^àGŒ±xñF©PlÙ²åå—ç*•ÊÐÐÐ×__Ü7%Åf³½ýö¿¶ÿ¸¦éáÆ?ùÔS}ûöÕjÔ ÝýõW¡N«‰ÿítÖðai'Ž×jµ€-[¾KLL|yîÜÝ»w#ïœ,,ìµE ?^»öR~Am]m÷î=ô:­··7¢¨—^zé‘ÿ{ T]]=ïå—Ož8Á(˜GgÌxæ™gÆ¢ @„T4ÜE?¬»7Ôµ°M”É­&h³éDsFtk/ põ`¹îEìDŒd£‰nÓKh˜ l%O¤iº¾®žu¹âãžÿíô餤$†a 6›½¨¨())é–·œ¼õûï{ìñ9sf…bõšÕï¯~oëÖzöL4(õµ×^]µê=žçýüü²²³Ÿxü±gžyæèÑ£ÅEEï¿¿æý÷ß›ñèŒÜÜœªª*€V«Õé´„n´Z­Z£¨ÔjµF³aÃÆq·Ý˜9ó‰·m;x0"Ô¯oN·pá"»Í0îÚµë{ï½?ýÑG«ªk†9yâD—¸Ø½õæÊwWíß»ï¾û xüñ'–.]º|ùò7/îׯŸ>}çÌy®¢¼"'77'7'}Ô¨àààûï€eYBÅ‚ÀQp«~XægŠ•Y©2Ž€1&ƒJåVÆØäÃîÿÚp¤xpV·ñ!q Ýb¢°â® „f³ÉËË‹Q06»ý¥—^2tè¼yó_zñ%…‚ùàÃ,êôëD‘@2‡Ó¡P(ô=/ ‡cÙÒ¥Ù9Ù3Ÿ|rå;ïP5tèP‹ ¥‚åXžç D-<-ý{-@m‚IȈ›BÈl6 ^J¥Âj³N¼ývšBó^~!´òÝw‡ fwØ•J¥No`9Nô, òGÐ-ÍbHÆð<úôé   ÌÌÌeË–ÝvÛm,ËŽ5*..N¥R¹ÈbÜË„@¡Pˆ ¼€=ëŽF¥Q‚fE,* š¦Ý³!jnžöêÝ{̘1Ï>ûL@@@zzºôVªTêåË—Ó4]__¿yóæµk?2¥¥¥_~ù…Åj-/++(ÈÇøúúöLì±fÍê·m6løÃÓ¦¹+_¦1À½õV‹Ù¬÷òÚµs'„pΜÙE;œÎï¶lùç?_%V… Š6› `2™Ô*U¯Þ½‡ ²}ûöaÆŸ;nÞüy4E‘.‡¦ u8·ÿâK/UWWÑÚ»gohhè”)S‚v‡3ã`ÆCM%”Éñ8¿Ö•]æ8Wåäx¢Þ»RPR ÷IHÔ0¢J!BòÓ­GAè¾Ü‚€"– ”w…i„ À”çzr%QØ(ÀЭѤÎ1€¢‚XævÁ`…Bâ8ަè>úxÁ‚óæ¾\|¹822ê•Wñ0 î5ÉPÐÅ0 ÏñãÏ>ý4ïâÅwW­ŠŒŒòöòZ´pá×ß|@̄薊˜Þc!‹2+E$œ2>ñ ÞX¡PPâ8^D,b«Å†‚Z,,bQ^P0 ÃÐmÆWÐ2aMü­"MQ"Æ!!!aaa999ýû÷Ÿ>}úÒ¥K¿øâ Œ1˲»ví6l˜——W}]-„€ØÈŸ†úŽç/ ‚0pPª(6Aã.—‹¡µÚÿ6Ù…ä‡Ý>oþ‚^ÉÉwÝuWPP½¼¼!„k×~$B¦«ÍöÕW_½òÊ+kÖ¬1bäûï¿—“  Ù»oÿ¹óç32þûßÿR©T³çÌÁÙl6ƒ¶´€/Bð“O>e9Ž¢(…Ba±X Ñ:Ù&‡Wðë5¿@ݾo™·È=t°I›ÝLMàSÒOðRÖår8¡ ààW_{íÙgžîÚ5þÕ×^ešãY^à±½ ^PBÿÖêt4M[­½ÁpçäÉS¦LÑéõN—ó¶ñã“{õ2ô,çâ\œ^g hF`]ÐããÝ Œ[±”[¼À#%§~À‚ ;Þá°«4š ¾|çw–-[fµÙ,Xàr9'ŒŸàb]¢€½ Þ"âÅã4@Ä"BnvE€*,,ôòòb& `ÿþýEeffÒ4}ìØ±úúú'NhµÚî ¢("DŒy^ˆ,))±Ûm*¥ªõD"„.ÅÄFS4C4e‚´`0Étb,†ÛvâFc‹âã=–“µjÕ»SžšŸ—¿aã†o¾ù–è*4MŸ9“»gÏ2±—/_þú믦L™Ò§w„R¥''÷ª¬¬8”‘±gÏO<ÏîÅX$ €E»Ýöâ‹/.\¸`óæÍééé9ÙÙ‡2>øðC«ÕEQ«Õ*ÌÉÇ»%t >bDbRÒ/§NuïÞ=<"\Ò?ÿüó‰IË—-¸%«@YäyE¥RIh‚H1v.EQÍ9%úÇ …‚Q(qsϲ.Üœ2äCš$hÒ´¢(‚%'ZÇ0´‘ v¥óM”1 #ÛÔ£ü<ö<]ðâÁºe$Õò)c±)8Ü# =Ô 0h®Wà«%µ¹i(»šÌwöÞ*v«‰Ü¡{ñioßòq‹¬Žç[çc5g9†¢i†&º./ˆÇʵô¦å¸¹dpëÒ›ã8ŽãZ¬)­eÏ'y´¬¡Ð-âÁ0€È6&bLÓ´J©$ï)qÊòh°< ‰° -ýEBàt:±ÌÍc³Y 8ç†<±[1£`ˆIpŸn7/ÑÈåÂR–”J…,:Á“Óãt•éÃ$XŽh¤’7Åec@‘§bùú…eRºUмj®eø¸V^Iódù¿@fd¶±X_-G³Í˚śÃVñº¸UFßµC`›üНŒÍAû¿ÙÜÞ™ åG¨P0ËAOè^³:w(_³ø@è Z§hʺ–åÞB·&Ëfr dòž¢èöa`Ï3š¤ÝËDDÖJ ›J¥xa@»3± D!„ÔjMK5Æ£#6‰ÙTKB­eª`ëðÛæaŽÁ×-™möJ×ËD‘üSqë¤Å¶R¬®H×Ùþ¸ìeÐVô@³4Æ–‘]€Ä)z¢ä®N7,&Ïël²Ï¤Þš{ô›¬;„ô8­¥ã´yF~ÒrÈO~,A RÍézÉäR*•ÿüç?sÏœAžTDÐ<«VŽO™ªÅ™?}èu:]bR’ŸŸÀîpdge™L&û\}´[K‹?‘Ï´Z­çΞ5šLòÏ—f¤õ(µ˜5áá#GV¾û®”"."”å6yÉZuøßÅ,"˜Z¸p‘Ýf…µ×Â’’’¼¼¼_ýíø‰ã.—S£Õîß·ïØ±c,Ç…†„A?|øðþºtéB&æØ±ã8wþ¼¯¯¯^¯ÇìܹóÌÙ³/¯ÿÌÌL½^¯R©(Š:qâ„N§cæÇ¬«­Ûµ{wÿ~ýH@ÍáÇNglLŒàƒ555_nØ`6›/]ºŸ••DæìôéÓJ¥rÛ¶mã;w6âbãÈâ]\\¼s×®ÜÜ\//¯ë)·÷‡6•Jµþ‹/N:%ˆ¢——W@@ÀÆûõëwàÀŽãöìÙ›•uZ§×;Ž]»v>}Z¯7xyyAívûž½{ffr<%Hxº\®ýö>|¤¦¶&$8X«Õ~ñå—}ûô¡(*;;{÷îÝ•••……d¸vìÜQ[S{àÀªêê˜èhBßû÷ïÿùçŸ ###)ŠZ»vmIIIYYY¿~ýªªªŠ‹‹ƒƒƒÕÕÕäšM›6~øá‡¨¨(½^43sß¾}µµµqqqúwl#ÎC­N‡Zc«œ;wîõů ‚ähô IDAT°iãæW^y…çùÀÀÀo¾ù6;;[¡Pü¸}ûŽ;¢££wÿôÓ–-[´Zí† Î;ÆsܧŸ}j±XX–}ûí%^^^~¾¾_nøR«Ñnݺµ¶®@ÓôÛ¶ÕÔÔ‚°`áÂü‚ü¸ØXQ7mÞœ““õÕW_íÛ¿_¡PHDæíåÃqÜ·[¶TWWŒFãÛ~€¾¾xñÖ­[££"·mûqëÖ”JeQqñªU«4 Í0Ÿ|úi]}ýŸ>‹‚ ÄDGCã»vÕjµ üõ¯y ß|óÍÊwWúøø Šzûí·W®\éííZ½fÍfã8î‹/¿,,(ˆˆˆØ¸qã‘£G†!*Š/¾øòÂù‹‘Q‘åååçΟS©To¼ñ†N§ËÊÎþpíÚÀÀ£±aáÂ…F£‘㸅 DFFfdÚ´i“··÷«¯¾ÚÐ`ŒŠŠº\R²î“O(Š õññéÒ¥  °°ðàÁƒ„£ŠŠŠö8 Õj_}íµÝ?ý£ÓévíÞýí·ßFGGÌÈøê믕Jå%¸F_ )À ¢8qâ¤Io‡9ŽÚºº‰'BY–½xñâ!CÖ­[·iãF__ßÁƒÝqçS§N2e Im§(jþ‚f³Ùßß¿¶®66..)1qäÈ‘v‡¤È»8š&DZ±±S§NEñ<äÈ‘µ~¨Ñh’’’æ/Xpë¸qÄÅéííÙ·oßÄÄDŠ¢z&%íÛ·oÚ´iYÙÙþ~þ111J¥òégžöóõKîÕûá©S~xêÆŒsÛm·Þyç²ÒR_Ô2Èài¢,ÚBʦp7tèPŠ¢ÆŽKòg”J%€„üãÝâãiš>”‘ñÈ#$$$Ð4}ôèQEzáÂ…Ë—«Tª¸ØØÕkÖ KKã=™ú5µ5)))é£Fq'Š" ³Ø¾}ûC>8pà@žçýü3Qâãã§M›†1NNN~þùçgΜ¹`Á¥RIÓôøÛn»uüøççÌéÛ·/Í0ééé‚ „(š–”7š¦1Æ*•ê©Y³ÔjµV«]½zõ†/¿ H:ôÖÛn›þÈ#,©Lðwnbó`àñ«¸)‡eÙƒö{yys÷ÐÃÓAðöò"u4T*•—Á@Q™UV\T4qÒ$"pBÅŗ׬Y}îüyŽãªªªyä¥R9ïåyË–.­­«Ÿ1cúƒ<Ø&š­R* ƒÅbËÌ;n!¯ýûËyXr¿‹¢8~üø'gͺýö‰?üðÜٳÉea¡a6›-<<¼¶¶!$ðü믿þö’%d95jTdTôÆ/×K’êj6›m̸[±(’W(»wíÔjµ<Ï1Rª±ÖÌ'ŠR$r@@É—ì„}{÷Ž;– ËèÑ£¥Y—köìÙk?\;mÚ´ÐÐЗ_žÛ=¡;1“ÑÐh4z½A’BÆjµjµZ–ãhš>}:kíÚKËÊDQ,++»BDL¬Šòò;'O&òòòR©T•••¹9Ùr{õïÕìvûÈQ£) ‚àæÜJªÄÅu5z ˲…ù”§ŠL›(™ S=?gö!C,Vë±ÌLŽãÖ±~èСŸ~òI}Cã3fZQ*•?þøcVVöä»&Ïxt†N«½páB=ªªª òó›êx ØŒ3vþüyIIIõõõ¹gÎJjÒ q§Óé¬VkXXؘôôÙsf÷îÝ;!!å¾}ûÆŒýÓO{’’zò<çïïÿøO<ñøã:½>7'G«ÓÞwÿƒ"ÿHq ÏŸ;+ð‚Ã@FnÊýº\®†ú:)BR¢šámUæ¥(jü„ óçÍ‹¯®©¹té˲îÇ!t¹øòSOÍZ¼øõÅ‹ß8z$3±G"á½Ø¸¸ƒ͘QUU•ïꀊF­~õµWßX¼xôèÑn¿]š_µZm±X†©­©EQ„#GjµZy'‚ ôëßÿé§ž1b„Ýá8räHCCCppp×øn^¶û&i[æå]QÍÖÓ–¬"bl46˜ŒFš¦Y–e].©Æ—47,ǹXÖårÍ{yîêÕk^_¼X£V§ –ššzÛ­·~úÙçßnù6,4¬¬¬ŒdwíþiײåËhŠzæé§­Vë]wM^¶|ÅÆÃ#"êëë ‰1EDüÃO}óÍ·êêë|¼½'L˜Ü³'¹FÅý,[¶|éÒ¥[·nu:ƒ‡ ù|ýúuëÖ9½^8tèÐû«W+ŠW-²ZmcǎݰaãÔ‡v8±11O?ý´^§+++ý£Ý]&“ÉÇǯµf[VZB²‘opKÚ°a æÏ1bDcc#‚Ðf³‰žPT›Í&ÁMv›MÄX£ÑÜ1iÒ¢E¯Ô7Ôûûûß5yrwÏê@ A¼ðâ‹õuu¡¡¡ãÆÅ›Íf^î›2åßo¿}Ͻ÷¹œ.^) 59fYvú#¼³òÝå+VôèÑ£¶¶úñÇëF޵cûö¸¸8 À”)S¼}| z}xDBÈl6COö΢… ß{ïý¿ý¶J©C’FŒ:–e ÇqÒ;·y|=Ã"}¸Ëå"æ5ƘX/¯¿¾øé§Ÿ áyžH3Œ1Çó †‘n§(JE¥B!=‹àÅÒ ’‡Ò4-ïŸd_‘ È ÿÝÍøÒÒ’°°pšaDA i†¤¥Ð׀ɮzÜ”r(ãH…‚iÑOëkZ(D¾ú’YI®t¹\?íÙsþÂ…¹sçJF$Ïó4M·@`þš“'òEòOnóøz†EjdT*Õ’¥KÓG:áE#ƒÁ ïB¨`˜·Ó­žÕz–¥þ%iÙú‚ÿ¾ÖÆçaËËçý5[uuõχÍ{ùe)üÓét>ôàƒ,ú½H Te©C|”!•Z…=uþÄÆqÜØ1c¾ûî{F=ó‰™ÄÍõ_ï_ogDBH­V·'º5Äáíã£V«ÿâÃ>xÈPžçD¡©äáª÷Þs¹Xø;ÅfµZ,DÃÑjµ^Þ>ítîÖÕÕ¿ñÆ›}ü1ç±îþ¬Æó|÷îÝ_y%‰ÿõWÀá“ààêÆE6›_™5ëã?š³\ë1„Põ—gêÒÒÛuLîr5!lŒBa26´(Dð»EQ6|Y\|ù¯•’¬ô6k%vlÃ-êµßô&óQ©ÕÅE…76þE}õŸÍ……EQ×d•ÿõ†›c©70g¢ ‚ÿ±¤„Pþ¥K™Ç2]2d¿EÓ<Ç_©bZTTä¨ôÑb‘ºÈ`Û¶ –*¾u¶kŽ#©“ÄÉÊÚv6Ò´:í’%ËnŸ8±Ãi !´qã¦Ù³g;[ñ!BèÀ+W®¤·5#¢(Ò4-a¶<Ï“ ~?6;OQW˜S7wÐtfe]¯‚Á0Liiéž½{G§§‡‡‡¯QgZ›\Z¾li‡# CïÙ³wù²¥&“©µ¾ôö’¥.—«ÍH%A¢£cfdÄÇwU©T§;6,íâÅ<–uõîÝççC‡º%$0 “=lذ'ŽGGE]å5:°ß¡ˆgff¾öÚëgÏÛ¸qã²¥K“{õ‚íÓÖþË€•ï¯Òq–º(Š&“‰°Š<+¦i§Ãq¥ñW(Ûwì;vì¹sçœNç¨ôô½{÷&&&*•Ê={ö¤§§Ÿ={–eÙ‘#GîÝ»wäˆåW¼Qç_ÓX„ÖÖÖ-_±âþ<{î /ïÒ¤Iw,[º¬Þª|ô"*µ”„sÓ2¨næ³@›‚wPaµZªª*¯¥à8.==ýرc>>>QQQ©©©õõõ………ƒ ÊÌÌôó󋈈8tèÐàÁƒùõ—«[;$t¦»µžiB[4M>|xöœÙ«V½'ÈJZaÞ_½úÉYOed"Ž×Cyyy›6m’®T*•Ÿ¯_%ÇbÇ6¥R¹aãÆ›æ%à{mm­Ýnë(© ²X‹‹ŠjkjLFã5ÍE„PQQQXX˜Óé4›ÍQQQÅÅÅ¿ýöÛ±cǶnÝj6›GcccTTTiiiHHH›3(Õkî”*WÖMiº¡¡aáÂ…Ïþã¹#G޶yÍÉ“'ÿñÜsÿüç«uuu …âšÜ’››ûégŸíÝ·\¬V«W®\©P(†‘JbKǃA©T RpQ:–öâT(z½^¯×ÓFÕëõ†d°Ñ4­×ë ƒF£Áûúú®Y³ÆÏÏü$O7 Z­–5MÓF«Õ’¼|µZ}Ãx7QJêí6›Åbé0c…B™ÒÀÐaÃã»%øøú^}ÀÉŽZ¾¾¾ÇÙíö€€€+V\ºt©Gz½žeÙM›69N??¿††o/ïkôÖÉWåK—.½øÒÜ;wQåïïïïïïç燩¬¬$+ áW_½å»ïHÎí7ß~ûÍ·ßêtº„îÝW®\™˜”4rÔÈœÜÜeK—&&%J]RZJ8çÓÏ>ë›’2xÈÌcÇ „V«uØðáO=õtXx¸R©IIð÷÷÷ööž>}:˲d7”[n¹%+;ëêKC§YES2..îË/ÖËÞX–MLL2šL½’“·mûAv%ó¼:·]ZW¾³â¥—^úèãšW»n¹AËå ËÍÉÙ±cçC=ôúk¯åæälß¾ý…žÿi÷O_nØpö̙Ç——•-]¶¬k|<ÙÒìáiS×®ý ººfßþ}Û¶móò2¬ZµjéÒå|ðÁž½{s²³ív» K–.eгgr¿þú›ÿûßï¾»P|¹xÝÇÅÄÄÆ€€€ÎêVUU†„†ãŽ›³Ùd±4¶FÀœNÇ•¡3fÿþý,))©«« úè£Ö­[ýüóÏO:µ  Àd2¥¥¥=z4%%ÅØÐp•éë”*W#k§Óió4«ÕjõÄÆ“-ïäÍét^çêÉ BTTô½S¦|øá‡ÍªV·:Ðh4SšjµZÇßv«R©|衇¬Vë„ ŠŠŠ Å©“'•*Õªwßýþûï³³³À¸[·núhl´¨Õê'gÎüâ‹õoýë_y—ò\.Ƹ±±Ñn·3 ³oß¾—çÎu8œwÝu×ù çIܸ±cƒ‚‚9Ž›ýÜs1ÑÑ76tK#Í0$:yŠ—·s.‡Ãálý?ÇñW*b+ŠbTTTee¥J¥R©TÇŽKNN6›ÍF£ñ­·Þ Ÿ5kVPPPiiixxxuUõÕeT§T¹âºøÝEÕQ#Gæ]¼xêÔ©V»pÁ¢ c,Ê*—’8.rr`¿~¡¡¡¢(¦ àp8g+§Ó¹ø7&Þ~{O§Ó™•Ý´é;ÆdÅeY–aâ}#'Ý›Õ4/¬sƒ`³ÙÌF£ÍbEÌóœÁË›Ôÿ½áÆ0LllœÉÔrBЦ|ý|±ˆ¯Ä*AAA999aaaƒ¡¡¡!%%¥±±Ñjµ&&&³Ðår™L¦¤¤¤¼¼¼ÐàN[å/LJ ÃLœ8qûŽ6»àï43³±±±¨¨hýúõŒ¤ù4'YéX„qcÆîÚ½;<<<1))##ÃbµYi\QkkkSRRbcc·|÷I;1 ÅÅÅ$iïŽ;&-\´ˆç¹Ï>ÿ¬oß¾¸y`¥Rùò¼y/^¼1 ß-!6®KXx˜¯o;ù„½Ýn·Ûm‡½Ùÿv;ÇrWbj†a222ú÷ïo2™JKK—.]º~ýúÐÐÐðððŸþ¹W¯^'Nœ¨¨¨4hЉ'úôé-´U´_.U:qâ›×¼½½I$<Ƹ[·n]»víÚµ« ƒº”Ÿ?uêÃáá·ß~»N§E1>>^ð¤’ËÈq|×®.—kTú(^žá›Í6ùÎ;uZ-˲‘‘‘BU«Õ=øàc?®V«§M›vüøq›Í6÷¥¹³fÍꑘ¸|Ù²'g>¹âwÜ19¡{·E  ‚ Õjýüü$‡OPPÐ ×^‘•w£ºÃ p„PMuuuuÆ8 ,<âê×s7jÔ¨ãÇGFFªTªS§N-^¼ø«¯¾R*•)))›7o MJJ:|øð Aƒ~ýõ·ð°Ð«}”Ói¯®ªF ‚À²lQQᘱ·þO‘¯Ùl264­ÃÛÇÇår9š6ÇlÖXŽÐ€ÉlîÝ»÷×_ý§M«!ôå_üçë¯÷íÛçò$ÏHYe¥%R‰u²x+•ÊÆÆF¡R©d†x¦yžç8N¯×¤cÜú˜ g@ã8Žl¨Ñhl6›´ƒš”GÓ´Íf#Án·v¢iZE‡ÃAb¥(Šr¹\ä)jµšeÙë uƒVV”3îÌ™\9>áÞ2»}Áÿ4M÷îÓ÷RÞE“É„ª¯«¡WŸ¾f³Éa·¿ûîª#GöLJt›‘‚'E;œN„ÜÁ]E•——ŸéOŒ›gÍÎ&_ò-V«(Џ£k¬ñ<˜1ãÑ‚Ú&yhBB·.]â®p#ß3)©²¢ÜÇÛ€WiÉå„nñ<Çñ—Ø£{Ey™¯¯ ´¤¤{B·ÊŠŠN©Òaa˜mÛ¶ñ<§Õjÿë ”üÞf48ñG ª+V¼#|›vuú象’ËÅ-fJRÏ$ô…x$~hqžü¤( _‘Upgdñõ6abbÎqhÝDQLèÞcüG—#¼&Š@¶ÿ¸í†£rèæ±-w´wiük&6Ýð[Ñme-»ýÆ' !š¦ÿלU-6sÿ›O×®]ÛGÓ»Wrk”œnÿ×zv¾oO?$g”'x¼Óé”àËë_ÞÂÂÂÂÂÂnDh ´ÿÀþ÷ß¿=¬BlPA`' ÿg4“Étâø±v’baaÓédšì…;???77·¬b492räHF³~ýúššžçxุ¸«‡´f•ÔÔÔcŒqhHÈS³fµ·.„v«U^3©³Ý<%¡ö—Kv8¾¾mÖcŒÓÓÓÓÓÓÛÙÏ¥K—.\¸0}úôÀÀÀO?ý´²²0nܸqãÆÝL,00000°ýv¹¸XñÿZÊýŸUº²Å\·ó5®D9R îØ~ox”;¤jg]ˆ?…O B7»<4MSYYYqqqÒN”J¥Þ¸oó‚PPP)!ÿÒž´ÕÙÚÕDQ ¶Ù¬7Už(üÿ=2}4 yÐ0“ÉxcË%‚èȑà .úõ—_Ø&7~•ÎÖqT Ɔ†›¬zÕÖÔð<'g ŒqC}ý bÍÉÎ2èõ×.ï}Ó¬‚?ZèÔÁþ”o¿ö+ßCﺘÁÖ`£T@™P‚|ñ«œ—¶5ÇW°UÚËÖÕÕÕ¦k¸f+..¶X,………&“IЇ-///,,$›ƒ^ÿ@“dû·MTT”2´CVLFSWW§Õé(„Lf³¿ŸŸÕj³Z-ÁÁ!õ õz"Ôh6ûùù D…»¢QÔþÊÍÍm?X\[[[YY¹ÿ~N'}§N"5~—ÆœššÚÉ*ß&ˆÂ¸Û&X[Uœ¸!ÃV×ÔªÕj»Ý1V«5uõ …¢ °h0lvÆX¥ÖÔÖÕëtškàí¡aÆ 2¤¬réÒ¥¼¼¼iÓ¦ùûûòÉ'UUU€ñãÇ?¾uÜÕ’Îè,ùhH9a£×æÏŒ_•ëĸ¸¸“'OFGG+ŠóçÏ÷ëׯ¤¤¤¬¬läÈ‘ÙÙÙ1114M_¼x±_¿~¹¹¹áa,«oíìD¡PmÖ”J¥4¯ à „n8mõ¯I»’>I¶Vlg͇«7//¯”””£G²×·)Ù¥¾Ã_F2 nòh“Â4¤f±Ãá>|øž={âââ"""vîÜyÇw\¸peÙ´´´ëªYLöäî —¼9mË–-ÃGŒ¸ÿ™>ýÅ—^úî»-N§Sâ²èHÅ#I}W†a†²Ú°ä2É •.#¦JǓɔ““Cr€IQYr1•Ç–.V©Tó,(..–ê\"„Ú|)Iú¼ŠÌSJ())9“›£VknÀcÛjàúüŒÇ –öË/¿xyyEFFfffêõú5kÖlÞ¼Y¯×ÏŸ?¿®®.<<üرc ÈÊÎn³ölªBãN¯ÊMUÄÅ×_{mÒ¤IN‡£¬¼lõšœN×´iÓùÛ¶ms9ãn½µO¯^¡eË—õKé—qèP€ÀÃ?¤R©•JeFFÆ¡Ÿööò¾ûî»HA£Ï?ÿÜÇ×÷ì™3‘Q‘·O¸=##ãÌÙ³ÑÑ1÷Ý7E«Ñ¼ùæ›O=õT^^Þ¥K—***ªª«Sú¦Œ“!r8›6mª¨¨ˆŽŽž:õ¡¼¼¼œœœ5|àãí½øõ×QÌÌÌÜà€N«›<ùÎÐÐPAÞ_½:,4ôø‰o¾ñFIIÉåË—ÓÒÒ®”OhÚXßj³Zƒ‚¤ –¯SÄFç@+g¼———Z­¹¶­‚P]]½··7Ñákkk¿ÿþû˜˜˜>}ú@+++·lÙâãããëëk4IõÚ6EáÔÉ$7áÀétZ­VŽçCCÃ^xþùo¾ý–a˜’ÒÒÕ«W÷LN6|ø†/åç3 ³víGgΜ¹û®»¬6ë›o¾e09òùúõ·Þ:ÎÛÇ{ÍØív–eW½·ŠcÙÉ“'?1s&˲wMž\\TôùçŸëõú›6Ñ4]V^þîªU±±±·ÝzëþûÍÔjµ3Ÿ|2!!aÊ”)åååk>ø0&&¦k×®ãÆ»çž{xA8õË/Ÿ|úé˜Ñéááa«×¬1›Ì¢(®^½Ún·?ôàƒã²²²£G^Ý}Áq˺Bàâò»ˆ !¤T(ŒFc}]ômMF£‰ŠŽ½žzê¡ÂÂÂððp§Ói2™êëë÷íÛ—šš½dɃÁPZZJÊ{—””„††\¥CØ!¶Š íߊlêÉó¼&Ø÷;ë©§z'''%&½4w®ÕjU*•II=ï»ï>žçgÍzò¹Ù³ï¿ÿ~žçŸ|ræ‹/¾(mD.ðü¤I“FŒ1®««ËÏÏOKKûò‹/X–ÅÌ›7oä¨Q¯,ZäííØ¿ÿÔ©SûôéÛ«Wשּׁ¬Úúº(mdLLÌ}÷ÝGö`JMM4hÇqW2B0ÆfÿÀ@ŽãÁï×\ „zƒW°(TVTH%—‚CBz&÷®©®æyþ:7سgO=T*ÕèÑ£Ÿ~úéââb‡Ã±nݺ'žxâå—_NJJ:tèÐèÑ£9Ò%.öšf}»6¸ûä“OöîÝÛÎh\«Õš››ûôÓO+•ÊÒRwzÐ’%K6lØð»øçù)S¦Ü{ï½}V¡iº´¤$88˜_¬_¿cÇ€1Dè…çŸ'ÅòÔËdR«Õ¼ @­K€Ÿ©<„=û¡*F¡PpGÊ#IÇ|s]­VKïEŒ ÅgŸ}¾ÿ>‹ÕJQ”T x '›ÍæëãP(•¤L+±U4 Aó ,qõÙ1Ö×ûøúUU–Àï±ìIÅ _Q««ªDQ î›Ò¿¾®Îfµ ëX †9|øpJJJUUUeeåŒ36mÚ´jÕ*AJJJ¶nÝš——WTT”ššzòäÉ^ÉÉKc[‹,î˜ÀŒñã?þøã·³Ÿ²²²¹sç®Y³ÆËË+99977ðÚk¯ >üÆÞê¯ bàÞªÁápä¯|wÕ÷ßϲ¬¿¿ÿ¸q·Î™3;y'® IDAT(8ø·ß~CJÑ£RÖ”(ŠÝ{ôØòýw/Ì™SPPÈrIôÞˤHS7NІ}Ú¤N(•Êå+–oÿñÇ=zü´gÏSO=Ent¹\ƒÁn·wíÚeÇ®II‰• F£V«ma„”””6ì*ÜâP©ÔB»Ý¦×¬ÖëE®%,ÁÏÏ`,ˆbÏäÞ õõft}Zƒ(о¾¾f³™¢(???†a‚‚‚Bááá555yyyQQQF£ÑÛÛ»ÑbAW}±ö7ê(Š´Ûí<Ï“¥¡¿áRTY7MÓÏ¿ðÂ-Þzë­o/Y6:=}„ <ϧ¤¤tëÖíᇧõë×ïý÷Þ-j`±XxŽ{xêTcCÃÈQéÏÍ~îÎ;ï –¨ÝnPÈ.KJ³Ùí!«Õ àx^‹yžw±¬Ëåzö™g¦?:#55õÔ©S‹EÅ#F,˜?hZšV«½kò]<Ç7OŒ5’l· ¯¿QVV–yìØU´ ¡¯¯ŸR©T©Ô‚ DDFÙí¶ß;„ÿ}|ý¢cb-×ÏiÀ³AII‰Z­ÖjµÉÉÉiiiûöí+++ëÚµëÏ?ÿ !Œ‰‰)**ŠŠŠ*//¿zÏÐa·WUU€òO¬.™——·hÑ¢•+WôîÝûìÙ³€]»vÝX¾ÊïjRuÉìórqqtL,„ EuÉâ¢BÉEjuK¢€l®"í4OÀbb HÇŠ¢Èd‘Ëb+)î­É¤gbûIÇ’Q'Š")¨'½Ã5ŸE dÒyœ(QQe¥¥­G’ùа°²Ò’«GéCóò.öìÙ«ÅVͶ hÖ?¬««™0aâÁƒÔj5h^]’¢¨ÓYÙ£G>þ¼Óé0`ÀþóŸ³gÏ ‚PVVöðÃk4†aúõë'÷«´¨.If$88¤Ó±}S.Ú”cy„P"zù±è1Q¤å9Õ­%Ê–G JÑÒËHöÉ;\óY-ú¼!_VR‚nn¹±…Œã¸!C†üöÛoÁÁÁþþþ™™™cÇŽíÝ»÷Î;ÿñ‡††"„Ž?Þ¿ÿœœœ  Àkšõ­³ýá ÝtX!d2™ôz=Ïó‚ x{{766R`µZ ©‚ëååÕØØ¨Óé®ÎùíµU:*G”TÖ"ÿJ(©â[u¶?C;¨èB¨   ""Âáp˜L¦èèè’’¥RQTTa·ÛÍfsTTôåË—CÃB¯N6„ÿæ›o~÷Ýwí‹NgyyyZZMÓ—.]"'{ì1ooïßE÷Ç=ùä“O<ñD'ÍýMÔ[nIõöñ¹\\Ô!\ßµ‹ÉØàíeÔ×ÕÆÆD‰"î !46Ôûx{êkãbc®i¯vX¼`Á‚ ´³ŸÊÊÊ_|ñÃ?Ôét½zõÊÉÉ|òÉ'C‡½±·êLíúíwþ66šM&ãuö#…„µ–'ÒÚÝ¢+éW«óTë“,U:d- Çq‹E¥RIÖí —îä“?A `L3LÉåË73  ÍÐ-VÉâ¢Bú†¢Ý„:®ÍðáN³¾³uLóööNKzòÄÉ›ü\ˆ|ÏZ__ߨ¨¨ªªÊ.Y(ˆb|×.­[€1ÅιîlíÕ þ³yóŸ%Ï%«Ùl>~,³ŠRqq‘Íng{*zc)L ¤ø³¬¢YJÙNíÔ£:m•›ßä÷ý¹¯qylWi<ÏCwo„ššbÀp{Jæ‘­ÐÛIš555V«µ¦¦F‡Ãí©­¯¯ohhø½ Ã:N§ÓuÒngë¤Âs@{¬£'ôüñðáÃí‹I¦Þûï¿OQTLLLHHˆ(Š»ví:zôèï‹yžŸ8qâ„ :'¹³up:,²øÁ|ðÁÿZKA§ÖÙ:ºýU"‹;\aý_×0&ñ‚r™Lêùv†2ÜXë‹›S˜(Ší¦$Š¢´Z-¸-¼«Õ꫸Á›ÍæöîZ„ðìÙ³f³955Uâ •JõÏW_]üúë’5xM~óòò"»Å·ŸuÿŽe–:YåÊÓi0øøúµ§€  ªªê™gŸý~ëVV¶=ijµfÑ+¯ìÞ½ë /¢"#øá‡öï(++«¬¬4hÄ* Ã|ûí·oÿûßWa‚‹T½^ß7%å·_~il÷û@'L˜°}ûv’?ÓÉ*ûFÑtMMu{ví¢(jýçŸ5åß¶¢˜üüüóç/^©ægHH0j^©º…>Ù¦ÖæIy) ©+©²Q›}1UVZj2™,˱ÌLsc#ü‰¾ ­=O¾ûî;)Ó¸“Uþ+ æv·S¯ ©8Î+±Jëç2 sùòå¼¼<šaz÷ê¥×ë9ŽËÊÊR«Õ•UU~~~½{õ" X§OgÕ××iuº~)} %„°Ñb9rô¨ÓáèÞ=!44L"[š¦ËÊÊ.\¼H!”œœìíí-=+##C©TnÛ¶-2*ªk—.{÷îMOO?{îœJ©,.¾Ìrl|×®z½þìÙ³N—+>>><,ŒdÅäääÔ×ׇ‡‡'%% ‚àt:³²³¬kHHH·nÝhš>räHjj*„ðܹs—KJBBBÍfræ¬ÿŸRÏ …B£Ñ¨Tª›$å(ª  `ùòå—KJN:µþ‹/\.—Íf›ùä“G33«««¿üòË;w †eË—geeÕÖÖþ´{÷ÆM›H¼Ý»wŸ;{6?ÿÒ»«Þ«ªª"D‰(êrIÉŠ+ŠŠ‹³²³?ûüs)Í!T__¨®©q8扙3½½¼¾þê«7ßz³¨¨(//oÙòåË—//,,Ì»xqÍš5õõõã¶mÛ¶m[mmí~xüøq½^ÿþûï=šYS[»k÷®ššÀ¼ùó ï¿þºâwª«*8ðèŒâß'N¤Sªüqár¹¶ïØyüøñ¨¨Èÿ›6­ýåg¯Ù†Ù´yó<0|Äžãž{î9‹ÅÂ0L·nÝ>]¡P tèHKËÖ­[ív{6Õ–õòM&óºï¬[·nÝáC‡¶mÛær¹è¸<ÐØ˜ÉdÁÍÍM¯—>`LˆÓåºÿþûÿ…/lyýõ¶ÖÖ=»w¯ß°!•NG#ÑM›Ú¹cG2‘lkkË^Nyyù¶mÛ Fckkk49÷½î,5Øìú´ÝÉù`ò'¡?EY³fÍcm~ùoÓ4Íétþû­·Œ³6BH2™Tåš«¯þå/Ÿ|ú7¿ñù|Áþ~¡†ñÑ£G7Þµ1•Jù}ù‹-¢“6š¦}yÅŠÇŸxbË–-š¦9ìö[n¹%Ù«ª²há¢U«V]·råË—SÕ¬t:­a|Ì"¥ÓxhAQ&¦Â«V®ºûž{4MŒÆ9sæL¯ªÚ·oï“O=)e2&“Éçóâñ¸$Ik×®ý¯þðÅ—^r:œéTúÜèä˜>€©Tª¯·Âc’6ÿ,q£"²âF„‡Ó)IRzŒêOÀÒ‹——”TTTÜöï·Žºb!ô›§Ÿ~îùç_ýu)“&nèë]½zõó¿ÿƒkd_tùc±ìsB¥R©D"16›Íf³™Žx—ËEe‡è¶,ËÑh”FéL&Ïë•$)“É(Š‚1¶Z­T]2 Ò›N§©m4™L‹%÷zSÉT,³Z­‹% úýþh4*˜LËÒo4©ÍÉncŒc±˜$I,ËÚl6ª¨DiIÏB888èñx!™LFEžç×Þò­§ÿç×ç jnWWgaaËqšªR«’Ÿ_ ‡õ™Læâ‹/ÞúÆ.—KÓ´S|ÆŠ¢8*M&$W­”X„\E¡Óé̪‡ÑmŽã¼^/ÝÁjµ ðÖ4„¼¼<úE£Ñ8VÏd6™Ì¦ìþc›Í–ý+=ø°m„PÖ.eÃz§¹ÝnBˆÑhüÑÜtã/ýõ¯UUÈ—Ñ©òqÂzžï½÷\.—Ýf;µ°^Ó´ /¼ðk_½™Œaë/¾xé¹°ê㓃ªª‹-Ú¸ñ.¾íÚ[ÎNvD§Ê?ã~±,>:1I’n¾é¦¯-ñLcI7*Šrá’%ŸÿÜç!’$M d’N•—›9sæ›Û¶%N#vÂ5z“;¿B§ö?V×èsú¼Ê8yáÏX„W^yÅçó¹ÝîQ›ê ÷ÉìPè·`¬—_,“$¹µ­uÚÔiáð $Éy¾¼†††ŽÎN1{çwªªªdE)((èîꪫ«›-tèT9ól9ÐxàÝwßûáÿ«¬¬ÌjµîÚµkúôé,Ç566Úíö?øÐÔ©SBápø†Vëwl²MS!„º6¦fµZ/^|ݵ_^ºtiooï›o¾y饗¾þú뻽¶¶öñÇ_¼xqss³Õjݰ~ý…K–L dŽŽ“ÆøàÁÃñx\·*ãÅÖ BeeekÖÜ€EqÓ¦MßøÆ7¶oß~ðàÁÛn»íWO=õàƒÖÔÔ¸Ý.½Üa²!TUUi±X§Óròcl„[nYÛÐ0ãþûî{å•W¬VëìÙ³·oßþòË/Ï›w×ëújþIí_D"EQŽÕ€AB€þ°ÇfK&¾dé%­­Góòò^yõ•ÊŠÊëW_ϱ,B(·ûÏ'ý̆5IMÿtÖÎäÓÆ-—$`=m<.[h÷¿)SŠóó æÍ»€eYš,>¿ ÂñU×m 5ª'ÐÕÙéÍË£ÝRsÁ0LsÓáiågŠ“ô$ Á§É=ZÃF&t=.„v‡“å8=VqgF󦲟dI2ìó“w|;ÚÛÇïZ[7C;¾vŠ¢”–MíîêžB€þ©õè‘‘ kUUG¿@bhÇVY’ÜÏiÎA>‡Ã9¬mb…õÍ-Ín[§Êq0ð†h$žú: ‘ÑhGó\5½šmì2íß·wØ[ :#„ äøæŒCC|bÓw9Çqö/X¸HEújϦÈ}Ù§’IÚËWQd‹Åâ(šÇ1ÖrE*†ät8É=Zî'~¾Ûíå~NÝÚ agB5ÕÕV«mÄûô…ø"@€a˜gûì~ô#U9­² EQìvÛXM àñÍM÷½È¨*F#a£ ¨ªJªªê@¨?“‘l6»ÛãÎ>5ºÂq` ¤išËé²;í¡¦Ã‡‚ÑápB¡þDž7 „JJË$Ijokuº\]6»=dÆ—ŸŸN¦"‘0òþü!Úì{ppàõæ ‚@I¥’ƒ„×k6["‘H2™k¸¿?(É’ÛíN&’þüü‰ÖSr8U ‚1QÅè§*ņê.\°ð¹çž;Íw„0Ð×7¬ô)*‹E"áºõ²,ïÙõ!êÚκúÒæ¦ÃÉd2[$/Ër0X\Râr{Zš›¤t:¿ 0‹Í7Ð×ÛÓ××§iÚìóævuvÄDÑîpdßî¯×d2—M†:°o¯Õf3Œ±˜h³Ûêf‰bôHK³Ã鬯oˆŠb0˜RR£¡þþÊéUÞØÑÞf0 „Á@ º¦Öj³·4ÎóYz{zJJJE1Úß´Úl S§5د(²Ûã…&H3ºf1ÄÚr)Ù‹£ œ5–˜(ž‘œ"„0TUM7 ‰x\L4î×4ÍŸŸ õ ‚Ç|>?Ý?“IÛì6‡ÃÙ߀@„xž‡jªÚÑÑÎó|$<Ø0kv"7 m½=¥S§Òñ !dÃq\0Ð'Ë2b„@!œQ?3Ô¤ígÏ9 ÔÏ0L$ž5ç¼®Žöü“` „Ò™t¡eJ*™dX.“‘’‰Ç˲,„:²"—–MD#n»»«{ÂMë±Ê¹MÃv‡3  ¤Óéö¶6„Ðï/ÈÚcb¬µõ„BäñxSé )èxUµ»«‹¦. ã0×;·‹âÐ hT&†Zàì6DZ„€Èà`2‘€™“ÃáH%“…1QTœ ²¯!!X–$01kD>)ªBýØiÃl6··µÚl©T2NÓ8Únwäçç“$e’‰Dr(¥Æ±œÍf+,*b9.‘HÄb"åõ²!v»ÃívÛìUUÃ9ŸÆ˜úåcYÝÜ4!Àh4ò<ïÏ/€‰bt``ˆÇóó Em<°¯®¾¡³³#t „B Ãúz ‚“‡*ã;`'Ì”#„z»»\.·á“T—£!×DÉ¥œÚº=žðà`gW§`0B!t‘p[k«(F FCiÙ4ºº`–e6H&“«¥²ªZU»Ý±õõ¿çù|n·Û—ï…lD Ê/(S:¦wÏ`0vwvÆñÚº€B<~YÆf½tŒ6»]’¤½{ve¤ŒÃá˜^]'K’¦¨ûöî!”””q Kð±d…ÇëíììH%S¯‚ÉBÄ0ûöì9Õ•µÈùùÎ1„>J©jIiYooÆødòú+ÅD}†al¬›Ñ ËÒÇb‹¦i4; ²w'ÿù1©n§º¦Ö(‰D1 €å¸iåN—‹eÙT2‡këf¨ªà †º v‡B‰Ñt:¿ `F}ƒÉlîîîøüþšºƒA–¤¬U¡iåªêÇ ìhoózób±M'Ð;6£¾ah[Qìž ‚0{ÎùV›BÅŠòüþé5µf³Y’¥`0PX4….âçy~úôjož/‰477‚'U!ÇͨoPsçÂ}Æ$[Ê÷QÂB#)† †ötwU×Ö¥’É!):]}LtZ|ˆrÆÈÓû Çqöï[´äÂh$¢iZíŒz«Í:8ðÑÒÓ¬ ‘ýÖH˜H$4MëéîZ°p1õRÎf2% Z†L/TR}ôh •J&“‰ì‡vvtÐ?Åb¢¡IBH0 ˜êòôõöä~1ûCétª£³¶Ÿ8–ž ôõÒ³Õ4­/w»·!Ò|1må©iZ0÷ø½=]"UUÛÛZ;::ñXye•"+Ž*dœWoVñ‰‚#Šžã ÁpÄ3VU­?Èd2‚IðûóÉã"¦­õ¨¦i‡6ú|~Ú“>ÔL§36›Íãõz{º-ëàà€ÓéJ¥RV›up`èóûéo"j;œ·ÛÓÕÙÉ0Ì¡ÆFÞÀ{½ym­GÝn,I§“>žH$ÂqœÙlÅDQL>¿±ív»Õf ôõºÜîh4rÖ–dB|>¿,Kcí0¥¸xÔ©ú‘Ô©Až½ !<þŠàñ*0c›5È@fØ/æv±=~›õÜFŸ2Ša§Ûm6YAà <Gž ~0Ç*¿† ÂÆyÀÂd2FXŽI.ˆPgG›??þ‚….—[ŒFécÃM)6›-‹—\T5½cÜß´XmsçÍG “ˆÇ†I$’ªªÖÖÕ×Ïœ%Ë’"ËÕ5µ•UÓ#á0ÏóéT*U×Ô^0o>U%-(,Ì[°pöœóyƒ!‹•––a¬AéºíT29¥¸$ K’<çü¹—+&йý«èƒL&’à¬/ñ¥JEv»c¬,ëd]u !ä9^U•D"> aM›ñÊ;N¶£ÚµB)“ÅXaa1Ã0#Ÿ$Ö´òŠJ·ÛÓÝÝEm·ÓåÊ6ô@ ЉbëÑ#Y–óó úûƒ‚ ˆñ˜Él¦Ž/b˜ÎŽöt:]?kÃrŠ,Åbb^ž7ªªªeE¡…Ojj0ÖŽi–% Bh03 1ˆ ɲÙlô÷—MšL$„Á€Ëí>á¹;¤&+UèË UN¬böc•ÅpŒk‹ÅbŠ,Y¬¶x,f³YÑ9>„P /ÐÝÕe2™èšfૃ¢^,!DÎdºº:i^¿° c9òb4̲€A„i´ÍrœªªM‡q<ÇøL:#˜Ì𘹇¹‚ÕjF#.—;(ŠÅ¥¥ét kZ°¯zE…EF£ kDè8 ÿkˆ*c)¸™L¦ @˲^“oœF8&tŒi N†*Ǽ4Žs:]…Å£Ù—Ë]V6ÍfwhšÇÒéTqI)ðÂÒ²©^¯—7ÚÛZY–-›:ÍE'R©px°º¦VUZo[]S«ªÇm3 3eJñÌYs C:€DÂaŸß_S[g¶Xz{ºi‚Ÿb±Xç^0Ïj±}Ô'ôx½UÓkŒ‚Q‘åÜiiBˆËí®QŸ]DèëÍd2ºaÑq‚XeTJUÕP6O”N¥LÇ7‘¡Ë²ùu!!ÔÝÕÉ0Œ¢È==ÝÙ t:ÕÝ/§CÇ ‚¬U9Q ˜Ÿbžœ\ ˜:ôXE‡ŽI=“¥CÇIQByz¯ŽIÒÓŠ•ѧ !„’$]žOX–å B¨³£½ °ˆÖŒœÁùÊìºYz@I’N_WŸNÕqBŒA„š›{<ÞQµ2’ä°;\n÷ éXX4¥·§›ªž1;ˆÐàÀÁ€„¦×ÔŠÑÈÉK°B2ét2™$€˜Íæaõl:t| ªPбÖy‹¢¨*ÊÈ·rÖ€dké1ÖBÉd²têÔH8LÍB@H0¦»Ñ¥¼ÇËP ª8q\¥ãÐW8ŽëëëÑ0³»«“R\R*KB5É‘¡@A@>:ÝAQ”h4êÏ÷ &Swg Àd6ë†EÇ)Qeˆ£†£JªI’ÔÛÝΤ“©¤¤„aXƒ˜ÆûBo½ùFEåtƒÁ@Ë„Sé´Ãî((,D577¹œ®þ`ÀçχÃn·+  ‹, !$‡úû5¬¹Üîü‚‚¦¦Ã¡¿¿ú7¯7ÏŸŸ`ÿ¾’’Òx<–çóÓá L&“Ùbéí錊¢I0—”äGr7­¼‚a˜D2aµZeE6 ™LF :NÖŸ> „Á@_umí¿´´¤¤l04Àó< @ÃZmÝ §ËuéåWTTVaŒCýÁâ’Ò/|ñb›Ý.ŠQ–e Æ‚ ,\|áÌÙs Æy Î9on41™L™Lš2oÁÂÏ}þ‹&Á”L$§O¯,½ôò9çÏå8ŽR^YÉ0 ­"VkÚÔòŠþþ  ˜?÷ù/—” Ð=³g›L&b1kZ,&Zmv¨Wë8;T!O).M$»>ü`p ‰FÇ–‚AêÂE£‘¶Ö£€T*•ɤ÷îÞ•HÄãñ¸ÉlÖ4­ªº&™Jv´·e2™é5µét:™L¤RIÇËóÇÛÞÞ¶ëÃĘHE-XÓŽi¡rd bEÒé´ÍáPd9³sø`ãÀ@(¸Ü¤‡toVIDATuÕÉúZÁ`1¬ÛåVŽ—5Ó¡c,ìt [ Dm.·lêTŽãßÙ¹ã¸Ü4‚ˆ†ƒÑï/ŒF#íd!L&Ç É%¨ bI’}}……E…EE4FBtBLÖ@`³Û‚Á@IqIOwwåôªt&M,((¤±~UU5˲¹Vc­»«Ûî°WTNF#ªªêCAÇXv€þ‡=–«:½€–vÀñû|™L¦õhë°U„EUènFƒ1Ð×k²X2™L\ó Æ?²¦©&“ÉbµD#‘ÎööâÒRº¾2NÁd%€ÉdŒ'’<Ϧh$ìñx:;:œn·ªªÁ¾À”â)ÙpEÓ´žîn×[Y5=薢СcT¶œ)aŒqaQÑÁÆ_žO’Ò–ãÐPãŽ=»v•WTB&wMSÃö•¡¯çB£@<æ8Šb”~%•L¦’ÉìišFµÙ³?”Ývª@_Ô©ãÔ¨B;|Üpe¬‡ýéDšpü¯ç~oüsgôëÄÐqÆ0}0éÐq\ÜAÆbÕ¡CG–ú,µ'gUô[ C‡N:tªèÐñO Š.n¤Cǘq=€¢[:NÌ–q0v\ k:ÜÔ”»|ŠvÆvLŒq[{ûøô„QŒîÛ·oäZ+a H§Ó„ÖÖÖ“—²§ý*te §ƒÑ§ 9Ž{øg?K¥R£ÏÁpÙe—MŸ>=;øL&Ó•W^Ù×ÛF³LûË‹/.˜?ßétf¿(Ëò­·ÞºåïO$“cÆøÿýß±XìöïÜn4‡±÷±Í›¯ºòʺºº¯ÿÛ¿½³sgüøâ”±!|lóæµßüfnAg€*<Ï?ùä“o¿½=‹v[·nýàƒª««sKY­Öa­êjkjAöu³ÉDNdþñey¤0 T)Æl6,+±`Á}QŠŽ3O€Ñ(TWWÄÔÈôôô<Ø8þq1Æ¥¥¥` Ý afÿ—Ž~EQ8Ž; 0Îqr!µ55ªªžðL€.t¤c œ”»OG°ªª7nܽ{ËŽB0EQî¾çî«®¾úŠ+¯Ú¾ým«Õzë­·¶µµ¶oß~íu×]³bÅÏñ £ @“Éäú ®¼êª•«V}ðá‡Ù¡i±X–-_ÞÙÙ9oÞ¼®®®®®®›o¾yùW|ík_ïëëœ „âñøºu뮸òÊÕ7Üðá‡BW®Z%Š¢Á`xä‘GŒF£(ÆV¯^ !\¼dIQQÑåË–=¶ù±ëV®¼ìòeO?ý4Æcüç?ÿyÅŠ+W®\¿aýÆ»î:}U1Ÿ^ªÐEŽ>úHeee}}½¦©£îsÑEŸyíÕW|ðÇwß} ‚ÉDKèŸyöÙÿúáþõÅÆX„zhîùçïØ¾ý¿ñ‹G}4«¾—H$¶nÙRZZzðàÁêêê»ï¹çúÕ«·nÙrõÕWÝu÷=ÃÜ9£ÑøÐ¦M³çÌùûk¯ÞñýïoÞü8!ä —4555·´<þÄ===-ÍM‹/X­VŒ±ÙlÎËóýé|î¹ß¾ð—¿`Œû;w>þøæßÿþy«Õ¦óDÇ ¨2–×ߨx@EÀŸþô'A®¿þz†aGX–½pÉ’D"1³¡!ýh•¦iñx¼¦¦6É\wÝu²,3 s`ÿþÍ?>÷‚ þõÆ·lÙšÛÐ4cMEB¸ÿþË.½4_qå•{÷ì¦gÉ0ÌÞ½{¯ýò—“ÉÔyç õf¶µ·?ó¿ÿûÝÛoÿõÿüº£³«®nFöø²,/_¶L–e¿ÏG?L%“6«5/ϧªÚ²eËt= Ã]ª\ªŒ¿ñÆõõ36lXÿÞ{ï.]ºô~ Bh0bñB¨·¯ï˜…Ñø›§ŸþëK/½ðÿ×ÞÖªŒ¶ºât:ƒýA†a}}§sXOwè ô!„¢Ñ¨Q~Ÿ¯³³³«»{ÕªU--Gzzºý>ßx±ËbŒib: è*G:ÆbË FÆÚµ·ttt†ÃaŒqQÑ”±h!Ìît[Ó4B˲µ5µO=ùÔ»ï¾ó“Ÿü„eYI’Ö~síÆ»îÚ¾cÇŽ;×oØ0Ì\(ªJ5ø¾ò•5÷Ý{ßûï¿w÷=wßtã’$ÑcTE‘eyÍ «ï»ïþwß}ç‘GY°`Àív9Ò2sæLBÈœ9söïßïõzi !ÌM‚Qõ Ç üãŸþ´cçÎ'ùÔ°ô´y1wÞy']ÎÎ0 Æ8bM{lóæuëÖÑtÐ¥—^ZQQér¹ÂLJB¡†††Üd1b˜Y³fÑ¡Ì0̬™31!S§N5™Luuµ­­­­­­+¾¼Âïó————••ù|¾÷?ø ?¼ì²Ë<O.ëxž¯®®–e¹¡¡!IïÞ³wîܹW]u•¢(ˆaJŠ‹Íf3ÇóUUUååV«åý÷?ðûý+W®ä8Žã8›Õ¶`Á|›ÍVPPà÷û«ªª „,ÇÕÕÖbBjjjhr 1LMM 5ÕÕúúæÍ»`pppñ¢EYM×S†:œNeDbŽ=2köœH$¬7?÷‹‰6› 1 Á˜i»Ý“Édg{Bˆ7Eioo?î\E–gÏ™ÓÕÕ=ê^{íµ÷ß{wÍš5Ù!Eá8NQ: é6å%UÄg_í ÃÐA£iý<7¡ûd¿HÉ’0«tœ{ºC63Fu“©†2=–eUUeY–îF?Ñ4 B¸{÷î‚ÂÂ|¿ÿöïÞ¾xñâåË–Ÿþ LG{{iÙT=[–å^{õoÿzÓW[¿ƒ€Žs]]……E,Çiª*KƸ¸¤tÌy•H$âv»Fý“$Iÿyÿýðì¬Ev›Ž’¬"DîÎ<$ï F,N¦#8»ûÅìW²ûä‡"û»YÍe*Cÿ=TvÛjµ~û[ßîêê¼våÊe—/Óg*uŒÖŽúi"‘èîêk:B˜J¥dYžSu㊊ŠÿòU²¤ñ½>©ãd©!¤9âñS[“àúÉ2 Õ¤é$Ñq²Taâ9žJë8eú H¨‰æ8Në'Äã#ãSpô葎Žvý~&TE)-›Šq6Ð"<ÏÿêÉ'ô;31ŸªNN¡Ü BÈfwŒZ·¢ãã½™T5µ·§cÀX+)-ÓíÉD!Àápôõöhš6z,“Éüãž9s–¦ øž „¨#Æ0LwW—~C& 0ƆªéÃäK£ ÏsóçÏ·ÚìúR{Ÿr$â±ÿyd¬Ï$½+¢#}ýèÐq2`®Y|vÜ_M›7Ùl2ÉŠ’[!1Y"[bµÚ¨ÈÉqŸýÃk©'Ÿl˜¨±,;ÑßI ËnܸqÑ•••ÙxJq1BÌDB Ë®Y³æ;ën³ÛíÇ3ˆœÉw:Nð¾"€ç m­G'z¾8‘Hüíå—/˜{~Î¥–åÚZ 4±Ë@ÃáÁmo¾yÛ¿ß:ž¦ãìB8Ñ gƾ„ i¢ñ¯@ëuè8é°^Çô胑gr_„ŠŠ%E;7ßî„ȲŒ UÅC³ÃĨtªè8£BË =­¡ÿnWRR &UÃ_˜SòÝ/ÏÎÈÚ¹x΋o½utÝwl‹NûѲª(B£‘1Î}ÂèT™Hsûíµóæõßso¦»ûlÄî½÷þû§`¾tªL{2 ¦òÇÝ}§euð5L41A2¡°ÌÙ™L&‹Å"Bví4z¦Sl&“‰ã¸³Ð€‚%©ì®û^xò<@ÍÂ…¿úµø3ÏÖ|ö³$·ûýIRs6£Ñh±XÌfó™]:!l:|¸££ãTh¦Äsœ$ô÷…S÷ýv×Eóê­f£¤h’¢i„H ‘œÈ¨R:^Wâ"˜dß|øáe—_^WWwíu×njbÆn·Ïš=Û`0 „"ÑèÒK.yæ™g΂š&„KRþš5áD8¬F£Å ÂÎÎüü|3„@ÓGŽ$«ª,u3²'nùÖ-³fÏž7þ£=6ª€ÎH’gßã|N#e¯Ç*çº1Á˜ì<Ø÷Ü[—,žYVèYQpË£;#÷üë{Œ<ëq·^wÓzLÁŒeÙ={÷Ü{ï½?{øáêêš÷ßï{ßûÞ¦MÍž5›®ÁlmkÛ´iÓÚo~óâ‹/Îd2g!’¦a}Þm·µýîwÕsæh­­ŸûÆ7´¾>08665Õ=ùKÈ ‚1B¨?ºãÎ;ÿå+_ùÙÃ?“$éé§Ÿ¦Ã}`` ¥¥EQ”¢¢Šòr„ÐÛÛ·—–”´´´pÜÙÙyÍÕWëT™„ÈÈêCØëÊ˯«öõÅT# ˆõGÒøÐœ9³Gm¡ñI1Äó]÷Ü;­¾ÇI8ŒûúðŒ^{mêc ò)OèÎáÁÁú††l ¦,˧Ãñío}Ëï÷#„Þ{ï½—_~ùÂ%KŒFãM7ÞäõzEY¼xñÝwß½cÇŽòiå«V­‚¦ÓiŽã|ðÁM=T]]‰D–_qŪ•+uªLB`b)ÙDZŠFÒ²JË2Ádz™xháÆ DøÎ`´¼Ð©a q8¡þ~¯×KµB!»ÃA‘¤Ìm·­{ð¡ÿô'?u»Ýgaƒþ2Z×op3L¡×«=Jx@Èñ<Éd ¦«³L¦d"1ìÜ4MûíoŸ{þ÷Ï‹¢¨iÚÊ•+„„’’’X,æt:%Y†F¢Ñ¢¢l³*aoOÏåË–ç žröL‘ç,Ìvã çÅBÝ]C"£¥$l3Ü6“Ë"8,‚Íl´ŒI*­þú¯»®^\.+š,Ë+®¹æç¿øy&“áy>ÿòÉ_.]ºTUUEQ¯¾úªk¯½öž{ïmoogYö“΀AÃt?ñÛØ8cÑ"õȵªªcvÉÜÖÖ°|yó­ÿÊŽ`ŒñìY³Þ|ë­`0H[޶´´`Œ{zzÞÿàýW_yåÐÁƒþøÇ‰D"—Š`H!1ÏëmijRUUÓ´`0H0žV^þûçŸokmmnjúË /¤R)ݪLJ«B,FîÛWÎüËÎÖ-;÷,œSS9Åûæ»û¢)‚! pÈÈÁKçÏšæ•UMÃÒµ×^ûðÏ~¶~Ãz„ŒqyyùÅ_ú’ªªñx\UÕe—/3™L÷ÜsÏÍ7ß¼dÉ’OVM¡èŽ`ës.»,óÖ[pÖ¬/½u:ˆ$—ÚlŽË³Û»7o.¾å-™¤Ã½¡¡¡­½ý‘G‘e!dµZ¾{ûwív»Ãnÿï}çyUUyžGÅb±,ODQ$„,^¼øÀwÜy'ÏóŸýÌg¦L™²aýúÇÛ ÑãB·ÇsÇ÷¿/Ëò¨tªLì°^ÄaÐ §ÕGyyÛrþ?><òø­ÉÊGSò ‚&g8YÕhXÏqÜ÷þã?EáyÞív³ “N§_zñEêúö3Ÿ­­­3 ÂYPE<D€ÍÆ^pÁ¡mÛø×Ô._ÞtÙåË—ÃÝ»g,[öç~›^v¹!ÏA™Íæ•×]wñ—¾”N§!„6›Íb±@ׯ_dž±X,š¦…B¡¼ñ5/¢(Òm«ÕºvíÚH$!t»Ý²,—••ÝqÇ÷ãñ8„Ðápd2™k®¹æÔd£uªœÓÉâlÓóªbÇw¯©{ô¥iÉcå22‚™!ï…îl0~ðƒüéÏ62™ÌÆü`ÅŠÙ9 _^ÞÙ¸M³Ï›'ÿ¿ÛúЦòÚÚ‚)—\’!Äúõ¯µ½õvee%Ñ4·Ç“l9bðçMkii¹ô²Ël6[îATUminFå.ºÂЛCÉn ‚ÛÝb³Ùrh±XtlZ*é¯(Š,ËVV»ñ3Er&ÝÛP4Œb†eY–e9ŽãyžeÙL&sß}÷=ðÀ#–N§%I:›õˆ„LH&¾ô%!Ío¼á\³&‹MÃÓ§§þú²±¿¿û`#®¨,9ÿ|MQ„¾¾‘T4§Ü? :UÎu¨ªª(Š¢(²¢ð ¾ùsűDŠÂ †e™cÅ)Ræ „Òét:3È>Ëá–¦aŒeQæÍcæÎ•“I%&C“ ¬¾¾õÐ!ÛŠklõõXQBBÚáç\8s*<Ïsg45MSTÕbQi€Á²,µ* Ë2Ñf2çZ;=IƒÁ@m£ÆóªªÒò^&?Ÿ[²„ž7uÏñ%+:U&€†Bqg×Û9×F[îÉSΕãÏBŸW™l9ƒ»é'¯[• Žã&ºV˲#Eã „½ÆX"tªœmPcûÛoMôÆ5 à kÂL¿íomã?ùzþO6&ä8žãuªü“áñx\.W*žÒ„’$mذ!û¿n—‹ažçɤ¸´ql£N•³p8ÜzôȤi (Šbv*3†&MXFÇâ¼N•³„Ð {kNÜKu&d^©>ŽuèЩ¢C‡N:ÎZ 3,VQO©ˆ_‡ŽIεcM#† "ôV©:tŒä ÆøðáÃ.—åxCöSýÖèÐA‘-KC•WT¸ÝnÔdYfTq1:>Í<¡sG±XLS•®À zy߀‘!A„Î:rý.Œ1BgÈ–!Æ0ëò œH%b§¼–R‡ŽÉÇÁdŠŠÑ”Šv‡Œ]½ÁÿBó`‘ÇKJ)IEND®B`‚nted-1.10.18/doc/docimages/repeat_dialog.png0000664001041000007640000007414611520267216015557 00000000000000‰PNG  IHDRÚØ ;sRGB®Îé pHYs&&¢ï%ütIMEÙ  'œ_òtEXtCommentCreated with GIMPW IDATxÚì]w|ÅöŸ™Ý½ýÞôR!B 5M| ÈODÅú Ò|*ê{ÒD;Jy‘&5´ÐTR¨é¤÷{onß6¿?æÞͦP$±½—ÑŸ½›ÝÙÝ™sæœó=eàÀUésúu¹»¨—FÁó<Æx_û€4ì9 ¡tŒüg»[³¾ ÄÃõ/½Æzn¼^ÿôÂò®È`Škµ–Ï’Od‡t}í¿‚æCo¢?!õŠ;z,ä³)½lþ¸ë·‡^ MÓ&«kϹòK¹…ðƒÃŒ4›,v»|ƒÔ)ùøÖmÎ}‹“dìäï ’ˆ¾©¡çcB’¿1„ä©MOc,]"·»‡!ò÷;CØŒÓÈOiž l“—ZpN•_ =E~ lÁÝÍÆMúÙb0åg¤ ZPX‹ó­/kAÛîc9õxˆ»íŸ­î—s‚4nMÝJÄ!Eù°cQ$“â¾]É艞)hú 4 ŒE2 ò§K/# ¹XgÄ€|6¯ÍéØC!->GI·ÀB¨Ñh¼¼õ›Ó aC£ .‡Ý.M°›Ê¥·š?9=5=äù‰‚‡RÁÐ4à ‚»+QlÖ•§;é'™T(£Bé‘MïáaŒ±œUDŒ¡‡!›da-Ï’cà¹W>¢ÒÏ6˜¡-æq?Ú3V-/æ¼B¢g›9iÀ¯¿JJ`Œe‹Ÿ{ÌEËù³ßÁ•Æ¿5c´þXéì!Dé'yŠè!59SABB—Ë… P(”"ÆÏã6‹œù¢EÑétªT*ˆQpZÈÂ]Òg„$î•Vy‰0€Œ½›ÆÇó!BˆeY°B¡ÂXA"Ħµc€F£ ‚PS]-ßB2©ra"’%ÁCp’Äh»äÆE±¬ëêÕ«F“ÑÒhQ«Uƒ!44ÜÏÏ„ôÁ-$û$„PFnV‘ –±J“d ?%’•ñFÓ[¶z¨[ y¨Y®ÝÉ©É7"$Q9ĘüÒúçaËÖ‚ÅÍžy&ã å"N&Ìås!ÿ.ì¡ „YÝmÎÍ^ÀÃ'M,'ŠØó,÷O2wmñU3¶!Ëœ§Ÿ&bò܈ÂX,,,¬­«m47RÒëõAA!aáá-䄈"éSĘ¢(cCCiY©Ùdt8œz½ÎÛÛ'22J£Ñ¸É×#š€ŒÁä’ Ë•ˆ2D’f2ÒW”—×Õ×5šÍ@½^çç†{4ù\Ñ‚ ´PsA ¦(Šü,**â8...®õjW]U% ,2EÕÕÕž9s¦°°ÀétŠ¢ˆ1V)•þý’ûÇwÇ2íˆL†!’É+(×¢(úùûSK—,q8EÆ­^{y{“ã'N¤¦¦¦¤¤¨Tî.Ü Æv› Ênd9nß{µZÝwLŽíÚ•aŽçiŠòõõí§R©:ååíE¸¶‰ ÌËËûÇ?ž®¬¬8p (ŠJ¥êÇ÷.óÍ .¦¦¦ò;eʱ…d&S›\e¶D V‘&@QPAAš†4ÜÿS€¦ ûrž‚4’l:F4r@A šB4…Ü?!@ ( RQ É¿ˆB‚€ {T ‘âbñ|(”—‡4±Gõ:u*£¸¸xòSúôé£V«E,tzCLLLPPðñcÇ ^ú,º5(!MÓåÛ·7 ÿÀ1cÆ ŠÂ3 ×-Îh2]¹|9¶kW†¦‡`Üúgó¥§å ØÖ"`ŠœœììììI“&'$$r‡1öóó ŒŒŒ:sú´J¥ Å"ÈjµFCÏã%Z¡P9räèÑ£S¦L)**ºråŠÙl.--ÍËË#réÒ¥èèh•J<üGÑtq~žÉd¾ûoW©ÕN§{àÂ鉽z•••ž>sÆ? €ar¨!TßP¿gÏžôôô©S§°.çÚ·ß¾xñbrr2M3;š¦B(ð<ÇqnB¤(¥R E‘å8B† ÃÐ4 !äE‘ç8Œ±F­&&#†P­VcQt8*µš¢(bå;NA MÓAà9–uK<!Bå?ìÜ¥P(”J¥À Œ‚qØícšahšv:ÀÓ3¡!–eA ì`¢Í²¾‚ !â8îäÉŒ€À !C‡ò<ït¹…âBNNÄD—ËÅ0Ì€·íÚõC~~~R¯¤6@˜!‡m[€‡X¦AQ4m±4ž=s¦Oß~AAÆYòÒKwÞy„pãÆëׯ;œ~ä¶ÁƒùùçȨh?__‚+m‹H7¿’ß;666z{{'%%ñ<ÿÎ;ïœ={–X¡Ë—/gffNœ8ÑÇǧ¾®N2‹)„*Ê+"##Õ*•ÀóMk³G” ‚2.Nàù_ÎKLLdB`³Ù‹ŠŠoxÛ™Ó'-?b©C]NgQaáßþ6u¹Èó<÷Ü®=»ß\¾|lÚ^µMtTt}}BH"Nì±²Z B‹\v™4cš¦MFSCCCR¯$•R¹`Ñ¢%‹Se³X_ýµU«VŒ“zõ>™q¼Ñl ð÷2ô…ôI·©I#„êêêÎ;·råÊ!C†”””¸\.A†Ù³gÍf;þ|```€¿à¡ÓåðñöÁ‹¢ (jç®ãÇ“Ì\`µFëb]Z¬máàxá…^˜7ï™cÇŽmÿ~dþüyF¡X·~Ý»ëÞÙ¾ýû^½’† üÊ+/¯]ûÏó~~~™YY>òðSO=uâĉ⢢wß]ÿî»ïÌyhNNNvUU@«ÕêtZB7Z­V­ÑTjµZ£Ù´ióøÛoÌûè;v>œê߯¯N§[²d©ÝfwëÖíwÞýÐCUÕ5 Ü9}ºklÌ¿Þx}ÍÛkî?pϽ÷Ñ <òÈ£+V¬XµjÕkË–õï? oß~óç?SQ^‘“““6ztppð½÷ÞDz,¡bAà(¸U?,ó3ÅʬTGHÀ˜“A¥r«c lòÀa÷m8R<8«Ûø8n1QXq WB³ÙäååÅ(›ÝþÂ Ï >|áÂE/<ÿ‚BÁ¼÷þûuzƒ‹u ¢H €ÃéP(zƒž‡Ã±rÅŠ¬ì¬¹=¶æ­·(Š>|¸ˆE…RÁr,Ïs¢–þ½ 6Á$dÄM!d6› /¥RaµY'ßqM¡…/¾ˆZóöÛ#FŒ°;ìJ¥R§7°'zù#è–f1$ãxž?wî\PPPFFÆÊ•+o¿ýö.]º°,;zôèØØX•Jå"‹p/W…B!b,ðö¬;•ZD š±¨T(hšvÏ„¨¹yÚ»OŸ±cÇ>ýôSiiiÒ[¥>¬R©W­ZEÓt}}ýÖ­[7løÀh4–––~ñÅ竵¼¬¬  àëëÛ+¡çúõë~رcĈ‘Ìšä®|™Æc}† ¶sçÎ#F^¼tqᢅ4E‘.‡§ w8·Oœøü /TWWÑÚ¿ohhèôéÓ‚v‡3ýpúŒ3 er<ίue•9.V99ž¨7Ä®€‚È}5Œ¨RB„…‚ütëQºo'· € ˆeå]a!0幞\I6 0tkt©s  (€ –¹]0X¡P „8Ž£)úƒ>\¼xñÂ/_-Žˆˆ|饥<Ç ˆ{M2T4E1 Ãs<ÆøÓO>ɽråíµk#""½½¼–.YòÕ×ßs!$º¥¢¦÷XÈ¢ÌÁŠEI§ŒO<¨7V(…8Ž‹Øj±!„ €‹‹X Ã0t›ñ´LX«HS”ˆqHHHXXXvvö€fÏž½bÅŠÏ?ÿc̲ìž={FŒáååU_W ! 62ÀÇǧ¡¾ã9‹‚ 2X› q—ËÅÐ Zí›ìBr‹Ãn_¸hq襤iÓ¦IЋÁËB¸a iš±Úl_~ùåK/½´~ýºÔÔQï¾ûNVv 8$dÿƒ/]JO?üïÿK¥RÍ›?cLTd³Ù ÚÒf>>¾Á?þ„å8Š¢ …ÅbDëð ‘ÏÅY³þoïÞ½‹/êÖ­[LL¬„Û¬V€±Õj¥dFÄØËË{àÀ+W­á#ŠR*•v›Ð CÁ!šî¡:Y£0À­q,÷É6940¸†_¯ùèö}˼½@MÚðèf2h·Ð¸ˆ˜’Öx‚—².—ÃဿüÊ+O?õd·nq/¿ò2ÃÐÏòEèeð‚ú°V§£iÚjµè †»¦N>}ºN¯wºœ·Oœ˜Ô»·Á g9çâô:E3ë‚·èeÜŠ¥Üâq(9…<ð‘Øñ‡]¥ÑlÚôÅ[o½µråJ«Í¶xñb—Ë9iâ$ëìeð†/†ï¤!")ˆr³«(„Paa¡——Ã0¤(*##ƒ¦é“'OÖ×ן>}Z«ÕöˆE! bÌóB—ðˆ’’»Ý¦RªZO$BèjqQtLE3DS&H Fc‘L'ÆbHp°Ýa'nTA0±(>òðÃÙY™k×¾=ó™ù¹ù›6oúúëoˆ®BÓôùó9ûöí#{õêÕ¯¾úrúôé}ûôE)UJpRRïÊÊŠ#ééûöýÈó<á^ŒEâ X´ÛmÏ?ÿü’%‹·nÝš–––••~$ý½÷ß·ZmAQµZ­RÁœ9}ª{|÷  ‘©© ‰‰?=Û£Gð.á’nüÙgŸõLH\µråСCc¢cxŽ{î¹g7lØpìè‘ø=Ž;ÞØØ8oþ|I C R¸mW}ëX»6ýúr$’S 0u?@±ˆ!ðø³!ÀXIÕ#³A“3 “‹nØ @À¢›—ÜÜĺX?ÿ€€²²Ò°°pŒqXhègŸmÔ¨ÕãBWK‹#£"tz½Û(F¡ˆïyþBΠÛ{{yßù°ÐP,Š'Ër®®!]yžoR8&Ö±(gq#G"YU0%ìÓ³Ð@–e½½½»DD†‡†ôÑGo¼þúàÁƒ!D˾ÿÞû£G¥UWW†…‡¼ ,ËE0ô¨%K–ØívÉù@ª¯¯Ç5Šã8ƒÁpèС3fôïßßÏϯ¦¦¦¬¬läÈ‘ÑÑÑ¢ HÞ(QýüëjkËÊJƒ„ €ˆ²²Òꪚá)# „äFÏB „,ËšM¦qãÆiµ:–ey‡•—–õíÛ·_¿~ÑÑÑý ¸xéÒ?îs8?ö¸F£érøpzfæ¹ÈÈÈ„„„ñãÇk5Z‡Ã±eëÖK—.Í™3ç®;ïäxaĈ‹Åšž~Øn·÷îݧOŸ>#SSËËËÃÃÂÆŽÇó‚À ½ûôîѳçÉS§>Ä(<ò¨J©”ŒÃ   ?¿CeegOš8‘ãØÐ/¿üòî»ï•:J³¹qÝúõ=zôøù§Ÿç?û\÷îq<Ç÷ï? 4,ôÀþÇ ™~Ï= †ÁŒk…+ÕÎsåÎKÕ®¼Z6·šÍ«eókÙü:¶°Ž+¬c‹Ø¢öjWÜÀ–4°¥F®ÔÈ•›ørWaâ*Ì\…™«2óUBu#_ÝÈ×Xø_gáëlBƒM¨· F›`rˆF»`rˆF‡Ðèä-.Ñâl.lu 6V´sØÆ‰;yìⰋÜ8°¢È‹˜¡{=Árî•tj,ˆ¢F£Q«ÕçÎeúûû3 ClZ 8h0óó †OÑjµÏCÓ"qöÌQ¼}|EQÄÁ`,Šb~A¾Þà×=žçy( ÒÀ´ ‹X†ÌCL!ùȪH‡*•Êßßÿì™3þ³x 2*Êát²,7uÚ4«Õ’››wÛ ÁZVÂÜ*&Æ:ÎÚš„(¹~¦ÖhŒF#˲2dÈo¼±iÓ&£ÑH£¡¡Á`0Ð4-zâH¿ à „ŽŸ8VŸß·_²ŸŸa»Ý~ùÊ%•J=è¶Á:½Îåt¹½„æ!BH­R¹üžÕjµ(d ¦iša¢’òrwK~"ˆ¡GDÀ¦0 =ÁIÀÝ~ 1Ð} ¤)F¢†ÉÎÎ:{æT||Ïð°0Š¢„.ÖUZRZW_7hÐà°Ð0–àÈd̯٘±¡áàÁýãÄÄ$VC&“ј““Õ-®{ŸÞ}!„Y[F—7Ç…[xKÝ"6S8u:Ý•Ü+'ŽÅÄt ïÒ…¦iÇqUÕUe¥¥oÔ%¼ q3ÊûE! 0:κÚZÉIx:(8˜¦éóçÏ?ýôÓ«W¯Þ²eËòåË[øs!„U••-Bž …J­.++=xð`]mN¯w::­nàmãã{` œ’Ⲥˆ‘ÇmßlP$§a O“œŸŸË0 ² Å÷ˆ4h°Z¥¶Z­YÊ#büܬ"gYQEQµsçÎcÇŽýû_ÿ›˜µ)h¢¶¦¦»cŒi†ÑëõBÏY,6­FÍ(Xív»‹e‘Ì).YÃÈ,….H&6'Y(ãÐVœ¶Ü Z‡À¸ VˆÛJƒ‘û¡a Fj̯Öh(Šr8R<…N§³Ùl‚ 4c Y¤#’ÇhËÂCdjuÙ/r:h ùLä1—ò¸Òæa…òX}(c›fáýÍPi š³M3 J沜èj†¢(ˆ«•¡i•ZMb8X§³Y=BXfi¨ •F t8N§S§ÓQ%‚Ýfkn9ºÕôu)ÍØ°u4¾<ŠY§Ó) ±ÍnƒªÕ€Ëå²Ûl׈òÁ-YÊ"ÿÈ+*•JBDŠ‘°s‰°(ŠjÈ)Ñ?V(ŒBAˆ›ãx–uáæ”!zÔü#Aóx¦@y,9Ñ:†¡l°ko¢<ˆÙ¦åç±çéò€Ö-#©–O‹MÁáIè¡f€As½_/©ÍmLC9ØÕd¾{°÷V±[MäÝ‹O³xû–ˆ[du´8ß:«9Ë1M34ÑuyAä8V®¥7-ÇÍ%ƒ[—Fˆ(ØÇq×bMi½({>É£eµ…n†Dî°1cš¦UJ%yOAˆÛP–GƒåQH„Uhé·(ЧӉen›ÍJÀ97¼à°ˆÝØŠˆCL€ûj7…"СÅ=:Û-è*ƒA”e ý9ûìÔ'Q›èØŸöInæÁÐ6@£V÷îÓÇÛÛ»û×ét=|nµO¢“džN>‘Å Œ±ØêP6bîCÓZ:nqA›g$á'Ý(‡üäÇ´ Õ|‘®—L.¥RùÏþ3çüyäIEͳjåøù§ZœùÇ^§Ó%$&úùùìGVf¦Éd"°ÏõG»õ°´øùL«Õzñ£É$ÿ|iFZR‹Yƒ;~|ÍÛoK)âò'BY.`“—¬U‡ÿ]Ì"€©%K–ÚmVˆP y !,))ÉÍÍýùç_N>år95ZíÁNž<Ér\hHôcÇŽ>>^^^7Snï7m*•jã矟={VE//¯€€€Í›7÷ïßÿСCÇíÛ·?3óœN¯w:{öì9wîœ^oðòò‚Úíö}û÷ŸÈÈàx>*2Rð t¹\22R¯×ŸÈÈ8pà@mmmllì>ÂÛˆóP«Ó¡ÖØÄ*/^|uÙ«‚ lÙG:v IDAT¼õ¥—^ây>00ð믿ÉÊÊR(?ìܹk×®¨¨¨½?þ¸mÛ6­V»iÓ¦‹/………ñ÷ɧŸX,–eß|s¹———Ÿ¯ï›¾Ðj´Û·o¯­«Ð4ýýŽ555‚ ,^²$¿ ?6&FÅ-[·fggGFF~ùå—T(‘y{y……†FGGs÷ͶmÕÕÕ£ÑøýŽï!„¯.[¶}ûö¨Èˆ;~ؾý{¥RYT\¼víZFC3ÌÇŸ|RW_ÿ‡Ï¢ ÑQQ¸nÝ´Z-Ã0oüë_^Ã×_½æí5>>>ˆ¢Þ|óÍ5kÖx{{#„Ö­_o³Ù8Žûü‹/ ºté²yóæã'N0 C:T(ŸþÅåKW""#ÊËË/^º¨R©^{í5N—™•õþ† FcÃ’%KŒF#ÇqK–,-((ˆˆˆHO?²eËooï—_~¹¡Áyµ¤ä£?¦(*,4ÔÇǧk×®€ÂÂÂÇŽ***:xèV«}ù•WöþøcLL´N§Û³wï7ß|u8=ý˯¾R*•ÿ•à}-¤c,ˆâäÉS¦L¾"äp8jëê&Ož !dYöÊ•+Æ û裶lÞìëë;tÈ;ïºkæÌ™Ó§O'©íE-Z¼Øl6ûûû×ÖÕÆÄÆ&&$Œ5Êî°“y7GÓä8&&fæÌ™!žç?¾áý÷5Mbbâ¢Å‹'ŒO\œÞÞÞýúõKHH (ªWbâfÍš•™•åïç­T*Ÿ|êI?_¿¤Þ}˜9óf:thìØ±·ß~;à­·Þ*+-õõñA-ƒ ~“&Ê¢-¤l Çqǧ(jܸq$F©TbxAøÇ?þÑ=.ަé#éé>ø`||aâÄgçÏïׯÍ0iii‚ „(š–”7š¦1Æ*•ê‰ÇW«ÕZ­vݺu›¾ø" eøð ·ß>ûÁYR™à¯ÜÄæÁ2ÀãWqS˲‡ôòòæ8nƳAðöò"u4T*•—Á@Q™UV\T4yÊ"pBÅÅWׯ_wñÒ%Žãªªª|ðA¥R¹ðÅ…+W¬¨­«Ÿ3göý÷Ýß&š­R* ƒÅbœÌÈ7~w.sÆ÷KËÊDQ,++»BDL¬Šòò»¦N%òòòR©T•••9ÙYr{õ¯Õìvû¨Ñc( ‚àæÜJªÄÆv=f,˲…ù”§ŠL›(™ ƒyvþ¼aÆY¬Ö“Çmü|ãðáÃ?ùøãú††‡æÌ!´¢T*øá‡Ì̬©Ó¦ÎyhŽN«½|ùrÏž=«ªª òó›êx ØŒ;nÑ¢…‰‰‰õõõ9çÏ“JjÒ q§Óé¬VkXXØØ´´yóçõéÓ'>>žåÆŽóãû{ñ<çïïÿÈ£>úÈ#:½>';[«ÓÞsïý"Kq /]¼ ð‚Ã@Fnú½÷»\®†ú:)BR¢šámUæ¥(jâ¤I‹.Œ‹‹«®©ÉËËcYÖý8„®_}â‰Ç—-{uÙ²×NÏHè™@x/&6öpzúÃsæTUUå{†º ¢Q«_~åå×–-3fLAAÁ¤;îæW­V[,†ajkjDQáø‰Z­VÞ‰ ý xò‰'RSSíÇñãÇ‚ƒƒ»Åuïð²Ý¿“¶`nîAàÕl=mÉ*"ÆFcƒÉh¤išeYÖå’j|IsÃrœ‹e].׬[·þÕeË4juʈƒ¾}„O>ýì›mß„…†•••‘쮽?îY¹j%MQO=ù¤Õj6mêÊU«7oÞÞ¥K}}=!q"¦ˆˆà™¯¿þF]}·÷¤I“’zõ"׈¢8pÀÀ•+W­X±bûöíN§sè°aŸmÜøÑG9½^8räÈ»ëÖ)Š—–.µZmãÆÛ´ióÌp81ÑÑO>ù¤^§+++ý­Ý]&“ÉÇǯµf[VZB²‘ox[ʈ‹-JMMmllDÚl6ÑŠj³Ù$¸Én³‰k4š;§LYºô¥ú†zÿiS§öð¬¤ÄsÏ?__W:~ü8Œ±ÙlæážéÓÿýæ›ûû߃‚‚\N ¯”†š³,;ûÁßZóöªÕ«{öìY[[  ýðÃF½kçÎØØX ÀôéÓ½}| z}x—.!³Ù =Ù;K—,yçwÿýæ›*¥rèС °Z­DAø‹z+MF£´"4w:5ÕÕ!žçX–-..0p Éh$ † Íc’³N š¦ ÔËq<Æ"©kÆÐ4¹¾Å5<Ï‹ž¢ÄUÂqœ¤IH·È5H’è£T*Õjõ²eËâããïºë.Že ^^Ýââ.]¼h4‰J-¥ø“b³Eýnn™«ÅÅQÑ1¤V€¦™}?îy𡇠òÉ’ì4bÔ±,«P(8Ž“Þ¹Íã›éÃ].1¯1ÆÄzyõÕeO>ùDHHÏóDšaŒ9žW0Œt;EQ‚(* éY/–f<”¦iyÿ$ûŠ\@ù¯nÆ—––„……Ó # M3$-…¾LvÝ㦔CG*L‹~Z_ÓBñ ôõ/ÌJr¥Ëåúqß¾K—//X°@2"yž§iºóçœ<ù˜/’r›Ç73,R#ƒ R©–¯X‘6zô¥Ë—) y'Bô¸nõ¬Ö³,õ/IËÖü÷µ6>‹X^>ïÏÙª««9²ðÅ¥ðO§Ó9ãþû Xôk‘@©ÊR‡ø(B*µ {ê8üã¸qcÇ~ûíwzî£s‰›ë¿Þ¿ÞΈ„Z­n=NtkˆÃÛÇG­Vÿɇ#4,|è°á<ωBSÉõï¼ãr±ðW2ŠÍjµX‰†£Õj½¼}ÚéÜ­««íµ×?øðCÎcÝýQçù=z¼ôR"9þó¯€Â'ÁÁ!Ô­‹8l67¾ôøã~ø¡ÐœåZ÷ˆ!„ª?=«xT—–Þ®[`r—« ac “±¡E!‚_Õ(ŠÚ´é‹â⫨”d¥·Y+±cnQ¯ýwoò0•Z]\TxkãOQÔ—ÿÙZXX„uCVù_o¸9–z s& "øKJ@åçåeœÌpÉýlMó­Ši‘‘£ÓÆtˆEêN ƒmÛ*XªøÖÙn8ޤN'+kÛÙHÓê´Ë—¯¼còä§%„ÐæÍ[æÍ›çlŇ¡C‡­Y³†fÜÖŒˆ¢HÓ´„Ùòœž×M¥Rûå\ʈ”+WrYÖÕ§OߣGŽtg&++kĈ§OŸŠŠŒ¼Îkt*`¿BÏÈÈxå•W/\¼¸yóæ•+V$õî Û§­ý—5+ß_¥ã,uQM&ayVMÓN‡ãZã¯P(vîÚ5nܸ‹/:ÎÑiiû÷ïOHHP*•ûöíKKK»pá˲£FÚ¿ÿ¨ÔÔŠŠòë@Þ¨s‚oh,BkkëV­^}ï}÷_¸x››7eÊ+W¬¬÷„*ß$} „ˆJ-%áünT¿ç³@›‚wPaµZªª*o¥à8.--íäÉ“>>>‘‘‘éé郮¯¯/,,2dHFF†ŸŸ_—.]Ž92tèП~þéúÖÉÅén­gšÐMÓÇŽ›7ÞڵﲒV€w×­{ìñ'ÒÓÇ›!ˆÜÜÜ-[¶HW*•ÊÏ6n¼–c±c›R©Ü´yóïæ%à{mm­Ýnë(© ²X‹‹ŠjkjLFã ÍE„PQQQXX˜Óé4›Í‘‘‘ÅÅÅ¿üòËÉ“'·oßn6›GcccdddiiiHHH›3(Õkî”*×ÖMiº¡¡aÉ’%Oÿã™ãÇO´yÍ™3gþñÌ3ÿüçËuuu …â†Ü’““óɧŸî?p€\¬V«×¬Y£P(†‘JbKǃA©T RpQ:–öâT(z½^¯×ÓFÕëõ†d°Ñ4­×ë ƒF£Áûúú®_¿ÞÏÏü$O7 Z­–5MÓF«Õ’¼|µZ}Ëx7QJêí6›Åbé0c…B™<`àð#ãºÇûøú^ÀÉŽZ¾¾¾ÇÙíö€€€Õ«WçååõìÙS¯×³,»e˧Óéçç×ÐÐàíå}ƒÞ:YâZ£œ——÷ü víÞCQ”¿¿¿¿¿¿ŸŸòÄqøùù‘“ Ã|¿cÇó/,¸|åÊ ×lžçŸyæ™?þ¸²²’\¬P( „_~õÕ¶o¿%9·_óÍ×ß|£Óéâ{ôX³fMBbâ¨Ñ£²srV®X‘˜8:mLIi)áœO>ý´_ròÐaÃ2Nž„Z­Ö#G>ñÄ“aááJ¥òðáô#R»ÇÇ?ùÔS óÌ3ÏX,–.³gÏÖét4M/X° ¾G»ïþ[uu I~ä‘Gï¼ó®„ÄÄ   …‹]Éͽe‘Âqœ±¡>((¨S´IìŸËé4µµ5f“éúLÈq\JJÊÙ³g Cllì¢E‹HJ‚¿¿¿··÷ìÙ³Y–%»¡ÜvÛm™Y™×_:Íúkš’±±±_|¾QðƲlBB¢Ñdê”´cÇ÷ò°+©˜çõ¹…ìÒºæ­Õ/¼ðÂ~мÚuË ê\.WXxXNvö®]»g̘ñê+¯ädgïܹó¹çžýqï_lÚtáüùcÇŽ•—•­X¹²[\ÙÒìY37lx¯ººæÀÁ;vìðò2¬]»vÅŠUï½÷Þ¾ýû³³²ìv» ËW¬`Š çs¾úêëÿûßo¿½P|µø£?ˆŽŽ1·œÕ!¬ªª Ç7f³Ébil€9ŽkCgÌÁƒ TRRRWWôÁ|ôÑGQQQÏ>ûìÌ™3 L&SJJʉ'’““ ×™¾N©r=²v:6O³Z­VOl<ÙòNÞœNçM®ž¼ DFFý}úô÷ß¿YÕêVf挙V«uâí”JåŒ3¬Vë¤I“ŠŠŠ ÅÙ3g”*ÕÚ·ßþî»ï²²²œÀ¸{÷î ll´¨ÕêÇæÎýüóoüë_¹y¹.— cÜØØh·Û†9pàÀ‹ 8ÎiÓ¦]º|‰¤Á7.((¸±±‘ã¸yÏ<ukCg±4Ò C¢3‘§xy;çÂáp8ÎÖÿs­"¶¢(FFFVVVªT*•Juòäɤ¤$³Ùl4ßxãðððÇ<((¨´´4<<¼ºªúú2ªSª\s]üî"ˆêèQ£r¯\9{öl«]¸` Ñ„1e•KI99¨ÿÐÐPQSFŒp8ȳ‡Óé\öÚk“︣—¿¿ÓéÌÌÊjÚôc²â²,Ë0 ñ¾‘“îÍjšÖ¹…A°Ùlf£Ñf±ˆ"æyÎàåMêÿÞrc&&&Ödj¹?!ES¾~¾XÄ×b•   ììì°°0ƒÁÐÐМœÜØØhµZˆYèr¹L&SbbbnnnhHp§­ò§ãC†a&Ož¼s×.›Ýð÷?‘‘ÑØØXTT´qãFFÒ|š“¬t,Âø±ãöìÝž˜˜žžn±Z¬4®(еµµÉÉÉ111Û¾ý–¤ †ââb’´wçS–,]ÊóܧŸ}Ú¯_?ܼF°R©|qáÂ+W®Üš ŠëÛ5,<ÌÇ×·|BˆÞn·Ûí6‡ÃÞì»c¹k15Ã0ééé 0™L¥¥¥+V¬Ø¸qchhhxxøÑ£G{÷î}úô銊Š!C†œ>}ºoß>B[EûåR¥'þýš··7‰„ÇwïÞ½[·nݺuaèÐ!yùù3g>Þ%üŽ;îÐét¢(ÆÅÅ žôOr9ŽëÖÍårNÍ Â³Ï=g³Ù¦Þu—N«eY6""‚@¨jµzÆý÷?üÈ#jµzÖ¬Y§N²Ùl ^Xðøã÷LHXµråcs[ýÖê;ïœߣûÒ%KAÐjµ~~~’Ã'((è–k¯ÈÊ»Q ÝaP8B¨¦ºººº cÞåú×s7zôèS§NEDD¨Tª³gÏ.[¶ìË/¿T*•ÉÉÉ[·n MLLù¤²²0~üøñãÇÿž X``````û'ìjq±(âÿµ”û?ªte‹¹nçk\‹r¤0ܱýÞò(wH)ÔκŸ( „~ïòÐ4MeffÆÆÆJ;Q*•Jxë¾uÌ BAAA—.Òò/íùÑI[­]MÅÀ `›Íú»Êÿ¿gïß÷£F£!¯f2om¹D?~lñ’¥?ÿôÛäÆÁ Ó¯ÒÙ:ŽjÀØÐð;«^µ55<ÏÉcÜP_Ë…X³³2 zýË{ÿnVÁo­ tê`ÈÀ·_û•ï¡wSÌ‚`k°Q* L(A¾øuÎKÛšãkØ*íeëêêjÓ ܰ[,–ÂÂB“É$ÅÖ——’ÍAo~ IˆN²ýKŠ& **ʇÞ!+¦F£©««ÓêtB&³ÙßÏÏjµY­–ààú†z½Nj4›ýüüÆ¢Â]Ó(jÿ åää´,®­­­¬¬ûì3_ß çÏGDFÜ1éŽôôôó.DEEßsÏt­Fóúë¯?ñĹ¹¹yyyUÕÕÉý’ÇŽMƒ9Ž-[¶TTTDEEÍœ9#777;;{ý{ïùx{/{õUA322:¤Óê¦N½+44T„w×­ =uúô믽VRRrõêÕ”””kiÅdšŒõ aa¡6«%0(HÚ`ù&EœÑhx´rÆ{yy©ÕšÛ*ÕÕÕ{{{“D—ÚÚÚï¾û.::ºoß¾ÂÊÊÊmÛ¶ùøøøúúFR½¶MÒ"<‚þüD‡1ž2eÊ¢E‹zôèñWG!N§Ójµr<öܳÏ~ýÍ7 Ô”–®[·®WRÒˆ‘#7mÞœ—ŸÏ0̆ œ?þîiÓ¬6ë믿a0Ž?þÙÆ&Œ÷öñ^ÿÞ{v»eÙµï¬åXvêÔ©E…ÅÎ˲촩S‹‹Š>ûì3½^¿yËš¦ËÊËß^»6&&æö :xâD†V«ûØcñññÓ§O///_ÿÞûÑÑÑݺu?~üßþö7^ÎþôÓÇŸ|2vLZxxغõëÍ&³(ŠëÖ­³Ûí3î¿c\VVvâĉë»/8ŽcYWhX8A\~ÕÌ!„” …Ñh¬¯«“þ¯­©Ñh4‘Q17SO!TXXît:M&S}}ýµ|ùrƒÁPZZJÊ{—””„††\§CØ!¶Š íߊlêÉó¼&’¿ ,²þìFBBBêêêBÙYY½zõ:x0„°  àòåˉ‰‰ƒá©'Ÿäx>!!aРA*•jçÎ?ñDŸ¤¤Ä„Ä,°Z­J¥21±×=÷ÜÃóüã?ö̼y÷Þ{/Ïó=6÷ù矗6"x~Ê”)©©©㺺ºüüü”””/>ÿœeY ÀÂ… GýÒÒ¥ÞÞÞQ‘‘±±±€ƒΜ9³oß~½{÷ÉÌ̬­¯‹ÔFDGGßsÏ=d¦Áƒ2„ã¸k-^ãÆF³` Çñà×k.B½Á+X*+*¤’KÁ!!½’úÔTWó<“›FìÛ·¯gÏž*•j̘1O>ùdqq±Ãáøè£}ôÑ_|111ñÈ‘#cÆŒ9~üxר˜šõíÚàîã?Þ¿;£q­VkNNΓO>©T*KKÝéAË—/ß´i“(ŠE!„xž¿áBÂóüôéÓÿþ÷¿ÿùY…¦éÒ’’àà`b|¾qã®]»Æ¡çž}–ËSk4.“I­Vó‚!´Z,~~¤òö쇪`…BÁq)$óÍ#²ÕjµTñ^ÄX¡P|úég°X­EI%‘€Çp²Ùl¾>>…RIÊ´[E£Ñ4ŸÀ×_%õõ>¾~U•åÄæ¿F# '|||EQ¬®ªE1(8¸_ò€úº:›Õ‚nb5dæØ±cÉÉÉUUU•••sæÌÙ²eËÚµkA())Ù¾}{nnnQQÑàÁƒÏœ9Ó;)Ébilk‘ÅØ‚1~ä‘Gyä éŒ\ IDAT‘vöSVV¶`Á‚õë×{yy%%%åää^yå•‘#G*++/_¾œššúkFùϨ§aàÞªÁápä¯y{í}÷Þ˲¬¿¿ÿøñæÏŸüË/¿ ¥èQ)kJÅ={nûîÛçæÏ/((d9Ž$úaÏeR¤©'hÃ>mR'”JåªÕ«vþðCÏž=Ü·ï‰'ž 7º\.ƒÁ`·Û»uëºkÏîÄĄʊŠ£Q«Õ¶0BJJJŠ‹‹GŒqnñ €¨Tj¡ÝnÓë VëÍ"×–àçç0D±WRŸ†úúÆF3º9­AE___³ÙLQ”ŸŸÃ0AAA¡ðððšššÜÜÜÈÈH£ÑèííÝh± ë¾X{‹uEÚívžçÉ¿ÒГRT555“'O¾óÎ;zè¡ßù­~ IòìsÏÝ6hЄ Þ\¾rLZÚ¤I“xžONNîÞ½ûÌêß¿ÿ»ï¼ZÔþÀb±ð÷À̙Ɔ†Q£Óž™÷Ì]wÝI,Q»Ý< ]–”f³ÛBV«Àñ¼„ó<ïbY—ËõôSOÍ~hÎàÁƒÏž=k±XDQLMM]¼hÑð”­V;mê4žãÇÿèÜGGE¶[×ß(++Ë8yò:Ú„Ð××O©TªTjAºDDÚí¶_K]„ÿ}|ý¢¢c,7ÏiÀ³AII‰Z­ÖjµIII)))(++ëÖ­ÛÑ£G!„ÑÑÑEEE‘‘‘ååå×ï:ìöªªJPþÕ%sss—.]ºfÍš€€€>}ú\¸p°gÏžñãÇçå奥¥•””Œ1"==½Ã-U—ìÀ>¯GEÇ@ZT—,.*”|P¤V·$ Èæ*ÒNó,&–€t º(¹—Tm$ä’÷o}Ln$=ÛO:–Œ:QIA=énø,%“~ÈãDAèYVZÚz$‰ ++-¹~”>„07÷J¯^½[lÑlË€fýúºšI“&>|H­VƒæÕ%)Š:—™5f̘K—.9Îþç?ÿ¹pá‚ eee<ð€F£a¦ÿþr¿J‹ê’dF‚ƒCþŽínݺ½þúëG?þ_,&ÐE›2c,Ï÷„JD/?=&Št£<§ºõ±DÙòHA):Pz©À>y‡>«EŸ7#äËJJЭÂ-·6ãÇ 6ì—_~ ö÷÷ÏÈÈ7n\Ÿ>}vïÞýü£¸¸844!têÔ©dggÞЬÿ³ƒÅ3f̘1cè þ+7ô»Ã’$ÔC¯×óÞ^€†úÚØ˜èÚ«/^¼xñâÅíì§²²òùçŸÿý÷u:]ïÞ½³³³üñðáÃoí­:õ´?BWíwþ66šM&ãMö#…„µ–'ÒÚÝ¢+éW«óTë“,U:d- Çq‹E¥RIÖí-—îä“?@ `L3LÉÕ«¿g@!@š¡[¬’ÅE…ô-E»#u:]›áé­cš··wJÊð3§ÏüÎÏ…É÷¬õõõŒŒ¬ªª¼å’…‚(ÆuëÚz±¥1QìœëÎÖ^½à?[·þQò\r°šÍæS'3Ú©(Ùìv†a°§¢7–bÀ¤@Š?Ê* š¥”íÔN=ªÓVùý›|ã¾?ö5n2í:çyèîPSS nOÉ<²z;I³¦¦ÆjµÖÔÔ‚àp¸=µõõõ ¿j0Æ:N§ÓuÒngë¤Âs@{¬£['ô~øáرcí‹I¦Þ»ï¾KQTtttHHˆ(Š{öì9qâį‹yžŸ‰‰ˆŒ,+-5™L‹ådF†¹±þÊD_ÐÖž'ß~û­”iÜÉ*ÿ„$Í#??¿Ñb8`ÀÑ£GcbbôzýÙ³gSRR l6[ÿþý9ÒµkWFóó/¿ŒHIÉËËs8ýúõ£(_Rq:×b•ÖdÄ0ÌÕ«Wsssi†éÓ»·^¯ç8.33S­VWVUùùùõéÝ›$`;—Y__§Õéú'÷S(”ÂF‹åø‰N‡£GøÐÐ0‰liš.++»|å …PRR’···ô¬ôôt¥R¹cÇŽˆÈÈn]»îß¿?--íÂÅ‹*¥²¸ø*˱qݺéõú .8]®¸¸¸ð°02\ÙÙÙõõõáá቉‰‚ 8Î̬L«ÅÒ½{wš¦?>xð`áÅ‹¯–”„„„4šÍäÌÿ„Yÿß)[(ê… DŒI‘¾ú†‡ÃÁq\]]V«E‘7êœN'Çquµµ¢(666þÚâ27ó&«V­ºZRröìÙŸîr¹l6ÛÜÇ;‘‘Q]]ýÅ_ìÞ½Û`0¬\µ*33³¶¶öǽ{7oÙB äíÝ»÷â… ùùyo¯}§ªªÊ-÷(êjIÉêÕ«‹Š‹3³²>ýì3)Í!T__¨®©q8æÑ¹s½½¼¾úòË×ßx½¨¨(77wåªU«V­*,,̽reýúõõõõãïwìØ±cGmmí{ï¿êÔ)½^ÿî»ïž8‘QS[»gïžššÀÂE‹ ÃÏ?ÿ¼ú­·ª«*:ôМ9â_'N¤Sª´ÑDQ|õ•W¼¼¼0ÆÓ¦N%*ÊôéÓšó°ÙlîÑ#~à€wO›F”ûï¿_Å´´´Yÿ÷½{÷îÀ7afËÖ­÷ÝwßÈÔTžãžyæ‹ÅÂ0L÷îÝš=[¡P :tùòåÿûßš=;((H¥R‰¢8nüø¹ÎåaРA³fÍBmÙºõäÉ“]»vÐõÝ·ßN™2eÜøñ¢ ,\´¨¾¾žH9—Ëu÷Ýw/\´è‘‡6þ{ß'Gqç[U¦{rÚÙ,iW«Ý•V Øà ~€1œÍ;Ád˜àw6AØgàÛg?Û€ïÎ p8¢„ÁÏØ œVÚ&Ïô¤ÎUïÚF$„¬]úûÙ?zgzjº{êW¿Xß_6‹1–$ B¸è‹N?ýt†an»í¶ÓN;íŒ3Î@}ó›ßL¥R@à÷¿ÿý#ßÿ~0üèG?zÛúõçœsÎÖmÛ>õ©Oþù€*¢(ò<ÿÄO\ýÕ¯.]ºTÎËÏ=÷¬m€Íò° Ë~úâ‹_Û´‰ÚÖ*Ó²þüÆr>¯”•êF|t*”J¥‡zè°Û¥Ïd)åòW¾òˆ@UÕ›o¾™àt:=nw©\š®³,322zíµ×îïíµ,K–eÍk¨¯çyc‰DÆFG'Š5 ªª×]=sÓMtÌÏþ󕯣÷B7÷W¯TË9ކ†ú”èà€M7®]·ŽŽ°|Ù2¥\~àî¿ïþï}ï{k×®½ù¦›Ün7ÕZ£ccííí–eÕ„kDÉ9‹fÅxû¼£ÒqÎÀ²¬»ïº«<]KîñåÓ‘r ‚ðàƒR–™£¨ßB¡Ð½÷Þ»{×®}==/½ô’×ë­„Ú*V¾$9o¼éÆo¼q÷®]7n t^nß±CUUBðÞ½{Bá0ý1!þ@à[ßúÖ®;÷ïÛ÷ê+¯Djk§ºæ“"Úï¸þU_]™1ùèG_|á…¾ÞÞÍo¿½þöÛËŠ’Ëæ6lxà×_/K}}}•Ûimmݸq£àpôööæ²Ùã?(Z ¶ò‚¶«Æ{ ûŒ‡YÝî£û øì²Ë}ô±ç÷;˲ü~ÿõ×]G0®DØ!¥RÉ0Œ /¸à‰'žüñO~R[[O$ „Æû÷ï¿ã›w”ËåHmô”uëhÒÆ²¬O_tÑ¿?þø‹/¾hY–Ïë½æšk*ž½iëÖ®»ôÒK?sÉ%çŸweÍRÅÂx\#) žØP¤* %¦¸ô’Kï¼ë.˲D‡cåÊ•‹ÚÛ·nÝòäžÔTU’¤ÚÚZ@¡PÐ4íꫯþö¿üËoŸ}Öïó+eåøŸ dœÀr¹<6: á8¥Íß‹Üèï)äF„Ÿß¯išiçœ{î‹/¼0)¿¡ÆêU«s²¼lÙ²gž~jª­U.—NçÿýÉOžzæ™^xASÕIäF±±ÑÏ~ö³Ïüâ?Sû¢¨«‹îܾ]Îç+¿B¨\.‹EŒ±Óét:tÆJ;Du]ÏårÔ»PTµ&Ö4F0Æn·›²KÆãq:qE¡Ü_’$¹\®j /—ÊùBÞív»\®x<‰Dr¹œ(IËÒïp8¨Î©Ó¨†¦i,Ëz<ʨDÅ’^3„0N‡B!Bˆªª²,ó<õ5_ûñüè8dͬ¯o`9Î2MªU¢Ñ:ÛW™¦i>óôÓï5(IÒ•W]õ݇>¤ÿ!Ëò´ÊG’$8vƒÒ®RFŽÊ‹~¿¿ÂF9Ž ‡Ãôê‚ ¤²¦¦†~Ðáp8ŽéoÄ)IN©r>ÆØãñTÞ¥ƒO:FUôR% 1©wZ0$„8ŽïÜ{ï—_þìsϵ··Í"[Æ•éC´wÞyç† Þe…¦i×\}õLó¯âvÚi_¸êJ2ƒ®?óÌ³Ž‡]ïë2´nݺ;îøf$¹úêk޼dÆ•¿³y*JÒa|°zçêLâtåW|qfŠgê{Ìa¿Ñ0ŒÓN=õ#gœAÑ4m“lQ™>îtÃõ׿'•àyþ‡?úQww÷ÁO;ä½¹_¡©ý£ž«=°³õÓ­,{ѧ?]m”ƒ)<:S'´¢(?ôtXêȆ­Uf%,˺}ýúd2¹·§Ç4*ÄÁÀ0LJ¼T.•6oÞ̲@€1æ9®³³ó‘Gùò—¿l?@[T>@ ¾õîÝ»7lø×b±Èq€R,•û{{¿ðÅ/ º®ƒÁ/ùK]]vð9i1Z– !´ °iÀ0Ì}÷݇/¼à‚þàÙl6›Éd³Ùñ®¹–•Íf³ÙL6›íêêzôÑG.ºè"¡+®¸bR|ÖÆp\wîÜ](lQ™¦i>óÌ3tË^ggÇðƒ/}ñ‹Õ¹ ¯ÇsÅå—?öè# B’$}íÚk§-‡±1{jo_èr¹GÒrÎ>oûÛ4½1v»]ë×ßöoÿö½åË–V¼ùN8aÆ wÞùÍ`0&ZÃ}ñ _°µÊ!$›Í†1^ v Ø ¦*-³ýÐi§-lk{êé§õ«_}öÙ—}îsÑh”vr=6á]BÃ0Ónð oU÷!²qŸ;Ý@ލR±yX'™§·Ür‹iš!ª[8ŽcY¶¶¶öÆnxþ¹çn¸þú––Œ1Çq4=ïp8$IzâÉ'µ)ûé§Ê„hæ?8SV!4488mZ†a˜½{vE™¤WzäùÁê­È³w±ôúü,Çپʔ'˲Ÿ¹ä’Ÿ?õÔ¶mÛNXµ*NûÛßþüå—cŒÏ:ûì?þñÛ·o_µzu6›½ûž{®ºê*˲Î8㌟?õÔeŸûœëÀlÌÔé>Ðß¿kçö™ÿv$ŒfF˼ùÓ(é[Ö ¸+®×»\ 0ïnW,3éÔQ!މů(âì]7÷öì- vpó¼ËfsÙìýâ𦙖õêË/ …¯~å+ ÃÈrîWÿýߪ¦b ¿òÒKùBáºk¿†“Ïçóë_«ªJɤR‡pÎLpû¢f:y`Ú¶uËÔžNY„„€ØœLl,›4AÁÄ^ ŽãvlßvòÚu²,Ó5¾š˜¢Úz,—J´—¯aè.—Ë×ÐX(0¶&i†êÁAUf¶z´êW"‘h0J¥’Õ¯S³vVÈB¨³£ÃíöLùÁ>x.>‚ dæg?ÿÙw¾óÓ8¢² Ã0¼^ÏLM àÍMxö˜LûSår¹\6ãEÓ4騦i¦’ UÕ<o0¬üjt‡c*•´,+àxýþÁ~„Оݻ¢Ãçó’ÉD±P$gMÕŽ.BH,6ÆóB*•ln™§iZ_¯?ôx½ÙLša˜ÚhT)•³Ù ò‘hƒmöN§áp(Š„r¹”N¥!¡pØéte³ÙR©$Š"¶p"×t- –Š¥H4:[ÜzÊò1YT ‚yY–åÜ*Ä&ê®=yíSO=u„k„0666©ôaUÈç³ÙÌâ%ݺ®o~ëoÔ…H&â^ŸqwËÞ=»K¥R%­ëz"ojnC={÷hŠ­«Ïçó«×œ³,kÅ «‡ò²ìõù*«{(–$ç¼ù BÛ·nq{<‚àÈçe×Ó½t¹,çöõìõùýÝÝKs²Å››ór.™H,\Ô.ðŽþ>A „ñX¬£³ËíñöìÝ]Sëinn‘å\"w{*1Ea.—mo_$B±PE‰2`Z–‰F“É„(Š…B¾¶6BÏWUÅãõø|þD"!€ñ<!´Ls` Ÿçùl&½tùŠb¡ BßèHËüùt¾BÄp麎!@—t/K&â´±ýŠ•«RÉÃ0Ùlfùʆú£õu’èL¦’ŠªÔ»Ë¥Ãrªª•Š#¡P˜eY5 uCo™7?›ËCÁá¡áY—þ¶}•ã–…½><w (ŠÒß×!€F"uÕ‘€¼œïíÝGãi¡P¸¬”©KAç«i˜ÃCCa]]½CpL2½«»(N\€Eib¨®sKȦӥbB$‰’Ïç+—JuõuyY6 u•eADÖ5 ÌΑ÷KT!ˆaˆÝ ìˆát:û{÷»=žr¹¤( õ£½^_4uˆ’¦©¥b±TošÉ±œÇã©oh`9®X,æó2•/jeB¼^_0ôx}¦ifÒ©t:UÕø `Œ©]>“Ö­Ïó‘hDH–s©T P,¢Ñ:Ã0wlߺ¸{éàà@ÅéJ%“ ÃÆÆF¦åñ˜­¢rpŒй!4:<‡ãý»zêrÍ–XÊáÝ`0ʤӃCƒ¢à€Bè&á¾Þ^YÎ ¡eÞº»àE–ewîØ^*•\n×ÂöÓ0¼^ßK/üOMmm0¬FRÉä®;ƒ¢uõ¢()ŠBŸž 8† ÅB×â%€B<0‚1†+c€ÇëÕ4mËæ·TMõù|‹:ëšfæÖ-› ÍÍó8†%xº%·†aP€a˜];w,^²T×ß[äÞ²,êq‡Õ‡öh¹FS^Ÿ.ä@0êèìrˆb±XD `9nAk›?`Y¶\*f2™®ÅKLÓð‚°xÉR¯Ï!,ä圢Dëê–t/•œÎáá!@m$Ò¹x‰ º¦U´ +·wt†B!á@_8\“Ïçi8>±%ÝK'ŽÍ%ÝãÏ\Å+W¹=B%+ª‰Duv9NM×âñX}C#ÍÒò<¿hQG¸¦6—ÍîÝ»‡<DÂqÜ’î¥æ”” —ËMÊ¿°‡TsÉ !êèZ\.•&¤h“°qÒAªñ!BdÂH˜!N?þŽã¶oÛºîÔÓrÙ¬eY]KºÝw:õÎÖÓŠ QùÔTX,-Ë:yí)ÔJ9–Á”l63mvojª¾ra±Ø½ZÃ(—K¥R±òä!„ƒô­|^–sY2‘ô „Äã1ª)/ÏØèHõ+_¤(åÁ~Ú~>•OÅÆFéÕZ–5V}<:‚ÈdÒ4^L[yZ–•Hīǂ™¦Ùß×;00P,ä[¶º1ëD…déÅÓe«ñ;¿¨iZ‰xLUUQ#‘è-<Ó׻߲¬];wÔÖFhOúd"®(ªÇã …Ã€Ñ‘a—ËN§üþ@¹\v{ÜéT X‰ÐÒÃb¡I§-Œ}~_0df׎¼À‡Ã5}½ûƒÁ®i>¿Ÿþ<Ùl–ã8§Ó™J%ó²,ŠRm$2I°½^¯Û㉂Á\.{Ìøu!µµ]Ÿ±ø¥±©iÚŒûTÑš´+L°Ü¿uàMÚ¿9³Zƒ d&}cuÛ™i¯mêøT¢†ñƒNÉ%Š"/ð”y–ØÁŒož(;|‹¡Á¾H4zÒÉk œËÑŸ cÜÐØätºN9õCí‹:0ƉDÜåö¬^sb˜b¡À0L±X2M³kqw÷²åº®ºÞÑÙµ°}Q6“áy^)—ó…|Gg׉kN¢¬¤uõõ€5'¯]±r/…|¾¥eÆã öåR©±©9“Íhš¾rÕj_ —åêþUô‡,Kà˜×&Q¦"¯×7ÓŸËåž«4ŸBžãMÓ( ©d[ÖìðWªË%زZÛƒ¡áá!ª»ý@¥¡bP^–{÷ïèºÖ%qQåB^r:©á‹fp _Q”îå+–3t-Ÿ—kjjyAhoïÐ cxh!D ªckÿ¾½º¦A‡CU5Ä €¦ëN§ B˜J$æÍŸ_*„bñX œ<áñ;¥æª¨ÐÅOUήbv–ª—#¼d„Pl,6<4$IbÓ²þ€:(jÅBtU¤qýúºzŽå Ëʹ ËrBa.›¡Þ6Ëq¦iîÙµ‹ã9^àUE%'W÷°ÚBp»Ý¹\6Æe¹©¥EQÊØ²âccÔh¨op8D›”ÙÆØ_¢BŽxÁÈdR«VŸÈ0l2™€“°«Êì<_8%§¦iÅ|¾X,T2ÄêšÆ;ø¶…íº¦ ô÷Wº†clUÒ½„§Ë5<4èó0Æ.§K–s¯ÏãõúüÓ2ÓÉ$Í7W‡˜Y†©–a{§‡™ä„,ö^ 0Œk#‘Ío¿¥FM¸c<±ÛPÓÆWÛÚÚxA„‚ƒ¹\–ø–yóy^˜¹Ÿt,8¥réϯÿ "äq{˜`0ôâÿü1 F£umî¶oÛºxI·a¦iF¢Q9—ëÙ»@­«—œ®JB˜J&iLé÷Ï?ë"‘¨='l̨ [TàtÞj œ7oÇë³,³PÈ+J¹©¹…aXa˼ùáp˜„þ¾^–eçÍ_  r9“Iwtv™†Aëm;:»Ló€c†a›–-_)‚¢(l&S‰tv-vº\£#Ã4ÀOq¹Ü«O\ãv¹c±1j†ÂáöEÑaèzuZš»–tW6÷ÆÆFUUµ‹Cø*ÓZT¦i¦’I<]žH)—¥›ÈÐí•ø:‚€dÆ0ô‘‘áJB@QÊÃÃ¥ƒ•@g%9P9Öu}tdxÒ^ˆD"Nâ1jSUüyY–³Yˆ=Ç4ÍXltR¡2³âkÙrbãpD…`ÜÜÒBaÀ4 ÎëEiª»r@ð0éŸÊË8SB`Úãió8}>á 0]¦Â†÷.*„¸ÝžC¸;¶+lツÃ_Ym9±a‹Š 6ªÕ;/gÃÆ!œŠV9â06殜Õ06l_ņ ¢bG²lØxW¢‚ߢ<»Œ×ÆœqéiÅÊô)HÚaæò|²ÜÁw"„úëêhÍÈQÌWVöÍÒ5M;ò> v:ÕÆ!1ƒ¨ ´wÏîP(<-W€ªi>¯/ RëGG†)‹áQÓƒ¥S)J‚!L§’‹:»ä\öÝS°BTE)•J§Ó9©žÍ†÷ *”†b¦}Þ²,›†1uU®(J-=ÆB¨T*µÌŸŸÍd¨šB Æô4º•÷@ D'¨tœøÇqcc£K–.$„45·èš†Ð;Gªh(Dw†¢'†‘Ëå"ш(IÃC€É鴋Õ ˜Ö嘖RMÓ´ÑáaEUDIjnnfÀ fÇöm¡M¯¾Ü¶p‘ ´L¸¬(>¯¯®¾!´w?ˆÇj#ÑL& âñ8 ®¾ÁårB²™L2‘°°£uu{öìFöÇ3¯IDATýÏ~×D¢ÑíÛ¶67· ùšÚîñXL’$§Ë5:2˜“eI”šš›«‹#9Ž[ÐÚÆ0L±Tt»Ýº¡ ‚ ªª=l­?r@ã±±Ž®®}ü¬ææyédŠçy@€…­®ÅKüÀ'Î=¿ma;Æ8™ˆ75·|ôcgz¼^Yα,K0Eqí)§-[±’a 8Öœ¼vå «sÙ¬$IªªBÖœ¼öŒ|L¥R±´hQ'à¬Oœ»rÕjŽã!­ 2 C«ˆ ÃÀ–5¿µ-‘ˆ‹¢óŒ|¬©¹9NÑ3+W[*óy[V>/»=^hWÛ86¢Bnlj)‹oýí¯éT2›Ëúü”†R.—Ëöõî”ËeUU¶¼ýV±X( ’ÓiYV{Gg©\èïSUuQg—¢(¥R±\.…BažB¡pß[û«œ—)©[Öþ}=”ŽŒAŒa˜B€¢(ŸÏÐõ\&ÃrÌî;R©d, CQ©ØZñx1l04¦k…eÃÆTìˆÉ è „ÂóæÏç8þÏoü‰ã¸ê4‚ˆº‚àˆDê‡ÃA;™@KÅ"Çq´CEJCFÓ´ØØX}}C}Cõ‘Ýà…SQx¼žx<ÖÜÔ<2<¼pQ»¢*Àººzêë··w°,[­U0¶†‡†½>oÛÂE¹\ö]öµ²ñAÄø´¡ýUŽ˜²…vÀ‰ÔÖªªÚ»¿wÒŽ*Bˆaô4‡àˆJ.—ªªYŽÖÕ|dË2%Ir¹]¹lv°¿¿©¥…î¯T”2|‡VH’”N¥ ÅÏó‡”ËfB¡ÐàÀ€?4M3>klj¬¸+–e ‡Âá…í‹b±±I! 6¦•–£FCQßаsÇv@mM­¦)–ãÐDãŽÍo½ÕÚÖF Õ„3™t"wˆŽ†Æf‡à¨fFžz,Š¢¬ÉÛ·mey>³,G0®­üùõ×kjký~??N FBáð`o÷²ešªX– ‡ ùü@_/Ã0‘º:¯ÏŸž`5MÓ0ôd"‹Aþ€/˜–GÓ†w›¶!hN‰‰¹\îšÚˆ$J¶¡P.›­««WTB­¯o_ÔÁ°L2‘ m=\.7b¦ªÅbqAk›,ç „–eÍ_Ð:é!¦6im[Ȳ¬nè„R±èšš[‡I§ÛÚʹª®%Ý,Ëɹ,½*¯Ï×ÐÔÄq¼iy9WQu‚ t/[d\Ÿ’l&c‹ŠÃ¡®ë{vïšÖ…1M#\S3é|Œq±P( Õ/没i™LLlœÔ4­ºc5„0›§»¦¡áIÇÆÄÇ«!Ë9 ޲œ£)—JåR©òE–eQnöÊUŽ']*°7uÚ8ŸÛã™ú,—Ê“>²¬Ë}@#i^›š&ÍfAp8Žƒ_“eš‹-Òé¶[A@-x^pLéñrŸÏo+‡ [BN§³Ú ªl4 Ã:Ô^(Ú =‹Mc÷‘iN®tj@aB”ryšj1P€ §š‰Â0l.—:àTö ›ÂÆ{•igO<>æñø¦Hãž½»ñ8€0 {¼Þ¾¾ÞÆÆ&@±PH¥R Ë<`lÅb1Ã0bÂá°(Šô+†Ù³{—eYoýõÍyóhš66:dŠÖ׳줫…–eŽR^˜p¸Fp8úúö·´ÌG%b±H]¦iCƒý Û;vlß¶tÙòm[·øýþb±Hðx¼@ÍddYf9!Ä ¦®¾Þ4M[Zl¼+lÒ¢MkìÓé45Ÿf²bBáš•«VÏŸ¿ »Ýn@H´®cœÍf;ºº–/_É B‚ˆnv?éäum f3I7¥,ËZؾÈãõžöá3‚¡ÐèÈHccÓêׄjk’‰¸Ã!V5B0ó'®9¹©e^6›EÑãñ"„4]O¦’‚ ¨Šâñúƒ¡/^ŸP‰._yBgçâ¼,{<^]×UYºlyw÷2žã<^¯ 8ìiacFQ™vòCTUµ°!,È2‚ÐçóÏ´Ü"„‚ÁP&èºær¹ !êÆH’”N§Ü B¨–Ë#ÃC¯m|uÛ–ÍñؘÏ Ü|T&…|>J©ªRߨ”L%EQÊår>ÿΰ\*µ¶-LgÒ€b±è9Ž×4MÎfš›[b±1@(. P>0\Wß çrªª†îõz-Ót»=„L&ít» Áví¨i fÞZOI€’}  €- ‡>(ÆØ²,–eiÇÒw¤ˆAªªB ]€ëÖ*Lø÷ÓðA`Ö0tË41Æ Ãr,[= Ú¦AÇ"ŽeY–UUEÕ´¥ËVüå/v»Ý¯'/Ë êzt]§4!Ú[UÕTꃱ kOÓJËÁf&$ ƒ¡‘áaˆ Ïóã™´Jõd'Hýo!D s›J&‘‰D¶l~[r:-Œó²Ü2o^5¥]%  wíÜîr¹“‰D]}¦ëdâÊ)_(Ú¾u‹×ï“s9Ào˜&Çq‰D<¦És\±Pßö<%µB9ŽÍf²ca:‘ŒÖ×Û3ÃÆ{vë!ÆÂú†MÓi%„ÔÔÔ¾s\[Kðx½ÇCƒ¡¢(<Ï·/êPcìr»A0LÓ!:"‘ˆèÓéTEƒ¡ €Ë儨eÞüP¸&“I{<žè9c¯×G¹ù"‘h(\“ͤY– ‚ ZÛä|Îç÷‹¢„- …“@0X‰‰Ñc1`P×už›› Ó°Í/3‹Ê 5`”M˜J4‘7¤ÜÄæÓ+ ÅccÔÙ…±±Q¿ßŸˆÇ¨ãñx–¥ŒÃyY&„pWwBdYF‰iâ‰lÄ$2*[TlÕ !€eÐæÞä}O¿UÒL‚ Ä´ðGW6ýÓ+TÝ:¯cyÓ¦ý7ÞäY·vÁw¾'|6S–¡ÃÁÂñ/0¶¨Ì&9A&fdúåkûoúì)"ÏéqKâMþó¶KNPÁñ%*BäpôÜx»eËG¾úÕÍ?ûYö¥—‚gŸ 0Žýô§é6póæÕÿËÿq.XÉ3¤Eß–õžÕ¯í«Ì9a¤hæ#ÏncDàÄ1ÌÆ­C¯nüý›ƒEEç¦+?.¤…ãâO?}â•Wò„,ÿìgî¾kZzãFí׿ùðÍ7w­Y“¸ënuxøXøîýåÍ7wìØqêË•Y£OR²ò¯ÿõösîcD |  @L„L2#C«ÎG’$¹\.QévnB%D§)6I’8Ž;D„¬ió¾yÇÖ_ÿò<@çÚµ;¯úBá§?ë<ýtR(x#AÓŒtºÚ`s8.—ËétÝ­SÂ=»w Ž˜Ùñ8úeÊ÷üü­­év;šai†e¢D3pQ55¥°¸9@0©¬ýÛßÎ9÷ÜÅ‹_ü™ÏìÞ³‡a¯×»|Å ABÙ\ÏþéOJÛ ¼ßÖ´èe—eR©b&cærMk×ÂÁÁh4ê„XVlß¾R{»kñ’ÊÅÇb±k¾vÍò+ÖœtÒ#>Z]0éÉLzer¢}‚¹ÃÙÛ¾Êñ®L0&oì{jÓàÙ§,›W^ÖVwÍ#¯#\î™6;x6ä¯û̉~÷8ÿ ˲›·l¾ûî»~衎ŽÎ7ßüË-·Ü²aÃ+–¯ {0{ûú6lØpõW¿zæ™gªªz ô!ÚµêÊ+¯Ôu=™J=öØcõuu¦iþöÙg?ÿÿ¸nݺ«®ºê²Ë>×ìÞ½çO¯½vë­·ŽŒŒ|÷{ß­©©e&›Ížþù¯¿ñÆøÃË—ïÚ½{ppð .°EeBÕÍþsK &º¸£v,o:X@”È*ï÷û5]‡fs¹ú†v:ÂÑ‘‘s?ùÉLÁÃŽžÙ3ò¸…S`ïøÜ ùäðÀàPO(ªVYçôH—ès‰§Ã% “²bþè¹·.8¥U7,]×/ºðÂï~ﻪªò<_(žxò‰³Î:Ë4MÃ0/¸à]|ñÅwÝ}w?˲ïw BføñÇÙ;–¬[gîÛg¶·`Ìžz*îë[zÞy{¯» T™ÁãË—¿ºiS<gYBØÓÓƒ1yó¯oþá÷¿ßµsçý÷ÝW,«EL6Ö„Ã={ö˜¦iYV<'/hmýÅ3Ïôõöîݳç7¿þu¹\¶µÊœÔ*Äåà®ýԲ߼Ñûâ›×®ì\Ø~õÿmMåÊ !B@䃃ŸXÝ´|AX7- k_|ñC?¼þöõ1ãÖÖÖ3?þqÓ4 …‚išŸ<÷“’$Ýu×]W^yå©§žjšï'ëB¹×_/½¼òœsÔM›àòåÛŸ}6ç÷Moñx|Wãõ?öXÓ5×X¥îK—.íëïÿþ#ß×u!äv»¾~ó×½^¯Ïëý§[náyÞ4MžçBù|¾"'²,BN9å”íÛ·ßzÛm<ÏŸþá766Þ¾~ý£>Ñ¿#ƒ¡Ð­ÿüϺ®WÈGmQ™;n½… àó×.èlÊ}ÿùÍAתWþ¶ï߯ûn¼“’g”Î)rºiQ·žã¸[þéŸÒé´a<σA–aEyö·¿¥¦ÿé>½«k±$Šï¯œPaáùB6 <öÄwmÜÈ_ta×yçí9çܺó΃o¿½ä“Ÿ|婟+Ÿ!Çño‹Êß¡P(”ePjšvûí·Wþ  ÃðˆN+ÓîþiD"&åü$W‘ñÚ\Øš ˜²Œ'×D dÇâñãdž8ŸÏr¹¼»Ðéô°°°ªªªŒŒŒ¬¬¬˜˜˜"Ël‘vWª*#àô[C¦{Š!]¥Ö Ú566´‚ÿuuuÝm„L&ûûûñ "œDÌ/mÙ²%##cøðáÏç¬O»³µJ¹økOºÑXJj‹ØyÓ)6Û*•J /ûyðàíxxxñ ‚gÇÑÑùï½E;\+Ë—k`å®çó1Å=ýÁþ\›1u8Ž—––/û)))Á0ÌYÖÜܵbÅ ‚g®®®ˆX}G;­ªB‡ã`ÿD³Meˆ{ÔFÛ±u$i̘1Ý]:F§Ó9ޱü2dˆ³³s||üÚµkŸúv:mç+svç‰È­q6uñ¹¹¹¦eÙˆ# qB–Q©ÔvúѨ?iG"éPÌhòS W_©Ù~ÿK¾6uñµµµír¼½½ –ŒËår8Ä›¦…îM$4F“Ö'^O|¬Ö€×ĶæÃ²Ùl …²råJÏ\\\'úBátµ®!;;;!!¡¥¥E­VGEE™ÙÜ;wÀ7bôPÔ•ü1ñ•/7j¨¹±%%%2™Ìü«ë\Ñjµùùùžžž>>>Ý­ûèÑ£êêj.—kÁê£üü|6›`¯¨¨àp8öööÝ­Ëçóétzpp°™å›››Õju'>ÞŒWâfÕF€”‡M8Ž+ª/hõ-†ÇÁm‰‰‰l6»‡H¥Rؼy³u7oÞ <° .›ÍNNN¶ â¡C‡€ÇãYP×××766Öüò{÷îMLLì˜o噪ç˜4¨Vë´ª‹ÇÌ/Sb@µóM=³Üâ6sÓ>y1z”bÏr;cÁ‘‹4H tX™vSí B¦ø8qâùJýbžäoÒ'²,\ãYtâõ Ë$úß…òú‘ÄÛégßš¶ä«{èÎ!ÚY»@üõ©;¯>"ræ:ñj Å ®}÷ Ö"Ú¾ó¬•>fÁ¿ˆÌ³V ;‡hׯ™^P~Ÿøè4|Þ_©«zÒàíf5ˆ³‰¢ŸbÒÈ ÐC´k+”Õ›aø¦å|çIëÑ!N®ÎvbÏ\wÔ²<=›ýÐ|ŠÛµ¢Ermö‚ ÃÇõ?f&xö4Ö:çß¿Kÿ­O‹³ö™ÂüøÜtç?íÊÊÊžZF§•¾3í%b1ŒLú|M(fNE³l—ÿ{£¢<õóó>£·~úE‚£´¬LÚóf …N§ëáIo§J¥R Ú!‚/,AÐét2™Ì‚ƒKê+++-XƒaXKK‹ù­¯¯W(Ëw.ÎÊÊš4i‘NJJzê*s/ß,o›“ š57’iµ9 IÉýµ¦º¸¨ÞøÁ,šäAVV–D"™;wnOÑh4çÎ ±àý?>Ÿ/ -˜‚;w—׸qãº[±´´4//oæÌ™l6ÛtI\§®«©‘6ÉÔN³³wvóÈÉúÃÁÁaêÔ©fK(J$’ØØØM[#\,¾µ«ÝBÅ)i%VîJþÞH4nç^«DáâÞ kÕâÃ[–sho8h fô„‰6.Öª.Œßk°š¾¡l¨8]aC‡cÚVs켎H¨¤y¯&E ©— ¨º<ê­½'+í_ Ñ´È ªl“=ýÆ´?Zˆ´[Ô{™G§@Ý«=o9cÏk®ö ÓsÕÁ< ØµMzÖÞÝ…øÑÐÈîNŸ}¥¼ËíTÔ²‡ýïÉJîî}-µ”HSèî§Òw»iÏü¬ŸÐÂÇ=œùŸ¿3­^£Ûðò—k‚®í•o2…‰(b–ç¡©¿yõÚÝÂâ…–åæ=zâ Óå¿{ååìV#Ò9cìGö3íprMânÃð:i÷¥® \7IY&SUþÞÐ2k£'íǰèê”À•jù߆¯ÜÇíD”zájŽîظû³Ôvc¥GÈDUÖ¦Wšn6þàÏý<È–¥.>ûXÿºž½[â…w£€DvLjß‹š{xr_žÙʦ’ÙóþÌþò¿ÞLä3†<ŸúS2"–eúL,¼Ñu¬IerÛE ~ZÔŸ´Ãuòåo_2|\šö%“¢wfÿ' ‚Ÿz*¼¦mñ[1^µ ’ä7aÃ_ÜW×ï¹Sž5ÙÅqËb}ÖåØÇõŸéÞ]ÞŽØU9×RhÖxµÒ¬A6==½cfí=™z±å04~>~/=]¿0¤v´3dVÝ;¸"6¡ÁÁÉy¨ glL̈¡LZg-}gÖÒ'²ªn_¯²Æí‘H$†uzuæƒx=[$YбOEVV–{`V]]ÝéA/mI6­Ï ;;[,wÌùÇ^§¥¤]ÎSéÚºTG¯ø…ËW/šZ”y­¨;'YRR"‘H:ž¤å´»ñÕMC:hæÈ«†28V#•4ÿFvk‰Ë¾9HòÜô“=,”š&QayKTdØ íT*UÏiÇb±L—$éZ|E|$ öÞbϬæßípâ³;µ¦[ó{aQQQQiii§ßzF¼¸.xìÇUR™Èt–ËÐá>î4’6ój·/°+ÚY.VËò©­ña{·¹>_!ÎJífÚ:ðg•eY­Z<ÇÓ‘D¢=[«‹Õb|ËR܆ÿQé›,îX\£,&›ÜcÀcµ®Öo[9\,ÉÛ…µ:°/|¶Jh©¿>9xúÙ»m»h9óóñp~bhP–¾3ƒû Á‚ƒž]5åBµ@û É´ª«< öž„žA ¦Þò‡°õY?¸¥_êëÓ\޾âO¤wOŸŸ+UÀó/¿7„Ñ{®TV7ÈÅEßîY=„ª?–VS·nòÂz¬{;ÕWý±eÑ·BÀqݳÂ9Ù]Ÿ ]{ìºÂNóßþ5ïÃ3(OÜ\:{ÄêݧJ3ŽøÚõÿ‹Tʬû·ô&ÍsÂgÃèPˆœ/!‘(ﺻo÷Òôß.ÿQ)ú®–:¸.ÛrxÖ”“ßShu ¬»²àxqúJs_@ÒÈy‰ó²§–(±Ë¢îFná•—Á¤g eFuzÿÈ4÷¾¾üþþׯç”UÕá4¦_ wòIJÍlðc™¶Ûî«—ÀËnU9EÇ'€ÿÜTâ£àÐ`z­2®umCDÛøë¹Âl… Û;Í'ñÀßóÝLŸ³Íj»®fÖ]ü£ºÔvj1N!µÓsíÿŽÝÇmVÖv„?A"‘¶G舚ë5°ì_³ôVpµ©r#?p—÷Éx[ùq\ÛœyáÇ_¯ÞnP·—2-ÞiùÔ{OY|ñú‡]m¼‚Sœò–®ÏOªó*±¤r ØÉÜ}òÁÁÖŸ®.Ö©&±í ît©!ïû…#Ù>^œâΟ×ãïK´I³Ò˜ Z6–žtfEä7« 9ýëRÈ¥Ïèr¯tGŸ©6¹ .è‡vŽ€ëkÞ1<èÉßç,÷»f(â?oÈÅÇŒëeœÐ¿ÍáõBŠi¹vkÕ6¹¶aánH+.·ŽV!!!ÏOÿÒ¦$šâñ͹PÖÇušº©Î x~ÃEC&¦,7<¾u‚7ˆê™*}L ù³5†yXÔÔÝGÇ¹Õ î{k÷MÜpÓÝHsí*tÒUäV¡Å=º²v–ÏÊ“¨.i¿ýŸw̶Ûûf/vÿ=uã  0ü)m‘¹$€cp¼²9–ã gÞ^Dü"ßì¯Vûõõ{t;ZÛVñé‹Ç¬Û 4r;°¬Ë›&eÆ.ù°L¦igÝhxnw¾²æïKÇëéè5M ×XðèXlíºŠÖ:ºù2YO·vH¢YÝÚõø…Eæà›1ú±ƒ¸~ïñòÆ6'`µ쇎#øÜ—ß4©»u겪CÁ0f𹿙vH†9|þ¢ ‰ö C ë[Úá8Žãy?)ÌȘé¯,\4ï¥øQF[¶{EÏþêRa_¶º9oüSÞç ™i/Ÿe‰fuÚ™µ+Àûï¿oÎp]÷¨¬¨¸´²ªºNÚ¨Pª4X[pkøì%ÉaÞ}/!xgÿVÞdŠtdƦëÍlM«jê°øLàîÝ»ÕÕÕ³fÍêäYï´‚T*ÍÍÍ}øðammmtt´eG­l[¸>ÆìKÝéÖײ“ÎI\`¼8»#Æoøö£¸aˆ¶âRXÒÒwˆ£<÷q~ß[xä Ø,z÷W6iÌÑD¢özM?Ì7£h­­¢—iç¨ß{¿¹¼´_.Ïö×Ù>›èRÛ™‰†ÂKÿü⇿Ëë\ý#—¬Û4“3äÉ!\àکt¸“Ïÿ6U~Ö_©nDÑÚAD;Åã3~~ÉÞc%SÙ»Ó…›§x— t •(1¦÷ÚæGPw#XaåïùÐÀ9Ða;_š¯0òq¬¡¬E tf4êkëЮ¹´ýŠ UÓ_G·ýˆ¹²þâ§>‚|Q_#X‡vžÓ=;f*¬]=/M_r†'êkëÐ. ye»;Ö¸µÞm;Ïý¹K¿¥ÿ‚yÈÚ!X‰vŽ^on is]½#â¿Ï¾ÄnÝ÷IÕpmÍM1¸„mxo˜êk£GÏÐTv’E%€käÚ ^…Ñ|Ñ\ Ð½.VËQ\Á¬¥æ£øôÆÈäý„¤c ?šÃ¦Èo]¹Z!×H´Mç‹Sæø¡ÇÁV <º~,yù»×ËžXëAµ÷Û~â×IÔ˽B;2ëç´ó¿g܉ɎC#c¦-]ñêH u1BoÒ¡o Á)ù/Õt©T 4½¾¾hºV«õÔtƒÁf³Y,VtttFFFVVVçÎ7mÚ‹Sò ŠBÅ.'eY0gJî;!ÚuÕ"¿AO 1õõõ 555 î!T*•wD‘Á`„……ÑéôW_}5%%%!!!>>>66–@ €Êúõë) .jÿ¦×ÖÖ644ðx<@ÐÜÜŒÉt‹J£Ñ^}õÕäääÄÄÄÄÄĨ¨("‘AV«]³f ‹ÿW@¯×ƒxWmmmSSSSSŸÏ×h4ÞLg2™¡¡¡l6{Ê”))))ññññññ111@Ó ÅŽ;ð¬Û_XÁ ð™f㼕oÇ1É)t‚HÔ˜; ‡ì>êêꀯÊçóN' Ã.—Ë-j %22²S§Nqqq‰‰‰=zôÈÌÌLLL<}úôéÓ§W®\I P5™LõõõR©´¥¥¥¢¢B¡PàröOƒÝnomm•J¥‰¤±±±²²²ªªJ,Ûíövñ. …—œœœ™™™“““˜˜XPPpüøñ¥K—2 ‚t:]CCƒT*‰D---8‘ÿL—Édr¹\*•M¯®®nnnÆÔô¨¨( éÝ»wÏÍÍš~êÔ©«W¯®X±hºÁ`¨««“Ëåb±¸¨¨H,ãD~t;•j'2*5 ü«¬àCBdþEo‹ ˆÕj«`±X\QQQSSÓØØ¨P(@¼Ëáp¸C`Ìf³;wšZXX8oÞ¼§Ÿ~:"",Y r:‹Åb±hµÚ“'O–——×ÔÔˆÅb•J¥V«õz=‚ qqq¸œýw™xd6››ššjkk+++¼™Êb±:w™ùçŸN›6mذaááážL7›Í€éÇçñx•••"‘H£Ñ¸™Ž“ýŸ£éB¡°²²Ò­é Èéf:‘H¤ÓéAAA€éYYY—/_~÷ÝwÚŽéjµúرc•••µµµ"‘H‘Á`@ýµb… ˆD @„8ÕûOÖ“(!/MHû‡¿!Š¢J¥²¡¡„>ššš…B¡Á`ðnL§ÓsssÓÒÒ222’’’8 ÃãÆëÑ£GNNŽÓélnn666677WWWËåòóçÏ·ëH$ÆÇǃ1à¢öÿÏtPäS__ÏçóAÓh4z7¦Ñh={öLOOONNNJJJLLŒ s¹\S¦LÉÍÍÍÎÎL644ðù|.—+•JÏ;×^£È丸8­V‹sáÿŸé …9Ç …˜Lg2™999éééééé ‰‰‰Ý»w&ÇLw8ÍÍÍ CP"X[[+“ÉNœ8á­éݺu#‘H8ü±X|ûöm*•Êb±0œ— ‚ ?oßÖjÔUWÿ¸XÎé1®åö5É?é}`v:.—Ëd2‚TN§,„=«>( …B¡Ñh)))YYY§NZ¸pahh(™L&Z­öÖ­[.—Ëf³I$’uëÖ}úé§555f³tèé«’H$*•J&“CCC³²²²²²ÒÒÒØlöêÕ«ïÞ½‹iÏþwàp8Èd2HQ<&¦³¾¾¾ªªª®®N&“¹\. ž™L¦R© #111''‡F£Ý¸qcéÒ¥ 0]­V+ ‡Ãa³ÙD"ц V¯^ÝØØh4Ao0 {šÐaXXXzzzvvvFF‘H\¾|ùõë×ÃÂÂþ—§{‡ÃA¥RAŠâñ1hzuuuee¥J¥?¶c:Ðt:žššš‘‘|íÚµwÞy‡ÃḙÞÚÚ F"‘|ùå— üe±X¼5L&ƒCCCÇ322PÝ´iÓ­[·Z[[ñP¤ÅbIIIÉÍÍmc` 'OžãÆófzuuõ7\.—H$ªªªª­­mÇôššO¦‡‡‡Mw¹\f³yéÒ¥Þš®ÑhpM8yòä_|±xñâo¿ý#DÕ§OLNç°¨&ñçï~³8o½3ïÕä¼9÷öÂï6Íþø ÌnÖm‘H$î:°‰D6›Í{Ñ›œœœ‘‘‘œœœœœ¿bÅŠäääéÓ§ƒff³¬|*++Áû￯V«1ÃèIII™™™III ÃØØX‰tðàÁãÇ2SÍ‚‚‚233{÷îí}U¯×+•Ê'OÂ"""ÚéFEEeff>Úf †E"(õq‡>D"‘Ýno×’@ €„YJJJjjj÷îÝAôcÉ’%yyyo¾ù¦›é zv÷î]>Ÿ?oÞ¼ÖÖVïH&@HHHèÑ£GJJ  %$$ÄÅÅ‘H¤ãÇ:thðàÁÞ…CZ­–ÉdæååÅÄ`”ÀhµZµZýÄ3Ýf³…„„äçç?Z¹6ðó@L²±±õa2D"ÅÆÆ¦¦¦¦¥¥%''wïÞ=))©sçÎK—.íÛ·ï믿š™L&D¨¨¨ˆËå¾÷Þ{J¥“é š#==½{÷‰)))ÑÑÑ$éÀ.\ÀÔt…B’í}$~ž<¦GFFr8œv?VUUa‡ÈüƒAùÝØß-[¬iûŒž³ü©XÄiX±äýâ&Ù,ôá2Ÿ(Šêt:Pê#‰êêêÊË˹\®N§ó^s8œ˜˜˜¨¨¨nݺEFF9räêÕ«aaa ,S r:J¥R­V›Íæ 6ÔÔÔTTT477[­VÏU°Éd"‘H111111ÑÑÑIIIYYY©©©kÖ¬ùðà D¥Rÿ®PÏÞ½{1‹ÿv¬ZµêwÞy4wU«ÕÊåòÖÖVܪ­­­©©ÑëõN§Óáp¸ÃS!888666&&¦sçÎݺu;sæÌ¦M›²³³©T*ðXÓAGii©^¯¹Y>Ÿo³Ù<™®×ëÉdrxxxllllllBB}|ùå—sçÎ6l…Bù»˜þË/¿|þùçOXZŽ@ ¬Y³fÞ¼yp/‚ :N.—Ëd2‘HTSSSYY ‚í˜APHHHtttLLŒ[ÓÏž=ëÉt‡Ãv,«Tªêêꊊ ¡Ph³Ù‡{aj0H$RTTè0%%ì]ûä“O–/_>pàÀ¿‘é[·nýòË/ŸíÑñáZ(켸÷7»'‚þùPãnnn~ÿý÷% 8áÇh4º’L&3™L‰D£Ñ–  ê£©©éÒ¥K111 z&‹«««Añ±B¡hjj2™LžóF¡‡c4çÌ™“››ÒQ.—‹N§3 PRòwA"‘X, ¾œwAül£A†a_ @€3¢I˜FQÔétúºÑét‰D?ùL—ËÕÜÜüÔàr¹Ÿ}öYSS“J¥R©TƒÁ³l”N§‰D‹Õ·oßœœœ¬¬¬.]ºDEEEDDp8•Juûöíððp†Õj5rVUU566Êår@`2™Ü«RO¦3™L›Íöî»ï¦§§GGGGFFFFF‚Êc—ËÅb± Æß»¹Ál6›ÍæÇÄtÿ¼>™¦ûÚ»ÓÍfó#P£®®nåÊ•"‘H©T*•JOM§P( 0½ÿþ™™™YYYݺu ŒŒ ‰D0 k4šææf=«««šn6›Ûi:‹Åb2™l6ÛápÌœ93777666<<<""‚ɼw¬"FûÛ™ÞÔÔô5Ý»Ýî+ÝõX™.‰ü¿8s¬X«9äîÙ]?Ó‚#ß[ûeb(%Ÿ¨îf~>¯ë¥½Åb |‘h2™Ž9âþ—B¡€‚t°1%%¥°°Ðét®^½º]Ä©¬¬¬¤¤D¡PL›6 ~`ÖóuíÚÕBIIIILL4‹-š2eŠ{Qo·ÛÁ’dÿŒF#æ+˜Íf‡Ãy xLƒó*‰D2dÈ‹/¾è‹………b±xÒ¤I¾TWW¿úê«Þ’çp8Ö¯_?sæÌððpï¯^½j2™Få}I§ÓíÙ³ç•W^ õ¾zðàÁøøx?ÑÎ3gÎP©Ôvïk³Ù|ÁS OŸ>í®ù¡P(`iÒ½{w©¸~ý:™LþôÓOÛÊÊÊ*++ù|þûï¿ßÚÚÊçóu:&Óü€’!Káóù_ýµ;zAÕjµZ­€é‡ÃÓM&“ÃáÐjµÞú©Óé\.—N§ÃT]»Ýþì³Ï¾ð ~˜.‘H&L˜àË}®¬¬¬¨¨p»@ ? @š‘D"y·!‘HÁWÿî}]òu£ŸKÀ'"|>¿5¸\îùóçkkký0](Òéô#Fp8‡L£Ñ@¹‰DÒh4‰D"‘,^¼¸µµp\§Ó:Àt¡PèÉt5 -//OLLìÛ·/à8`zsssss³@ Ë嘼ƒa¸¥¥åêÕ«r¹Üû*ˆºû¬÷ÕãÇÆÙ³gc&ùwîÜ9uêTLR¥RýùçŸ2½] [€¼L÷Å p «Óéôžæü0Üå‡é M;¦Ûl¶;wî̘1Ã’¿®®îÖ­[?ýôSLLŒ›é@ÓAåq}}½J¥jjjÒjµ¾4ì HMMjA"‘.\è™äo·¨©©™1c†w‚pvܸqýû÷Çtê!”…BqùòåI“&a&ùÁ9ëžiã‡Õtÿ ü+¬¯)ÄÉMÓAƒAƒySƒJ¥îÞ½û!r0§ýjÏ™B%dÃOk¿^µYU)‚’³;¼+”­Q7=Ú ª{KJJûô— è`²×n·ß¸qC¯××××óx<>ŸÏãñ0«Å"##ÓÓÓ“’’’’’RSSÉdò²eË®_¿þÏO‘i4š‹/^¼xѳ?ÿì ƒÖˆ˜Xµj•Ÿ |]Z¹r¥Ÿå¼[€01lذG#ˆÓé¼|ù²»Dìc«v®Slll÷îÝSSSAqWXXتU«~ýõׄ„„8Ó³â½-·nܸῧŸè0ñs£÷æP7–,Yâ‡é¿ÿþ»ÿzøðá@ E­Vë74 Ø Æ05=&&&555)))999%%…F£}øá‡gÏžõÞ·÷O;LA¡Pœ={öìÙ³‘é·oß~4¦ûyô²eËüÌ<»víòÓ­Ÿè} ÆÚZ»dÅf£‹üÒâÏ&Ž·aíRU)ud`„‘ ¹§ƒ 28@ë ~}}ý›o¾ VÁîßÁ™µ111ƒ!44ôwÞ¹YVÖ`x,î¿ …îçPwNg³Ù0awPX¯×ÇÅÅyû¤(Š677wîÜ31¨Ñh`ŽŒŒÄœ¥Rill,æàc'˜®À#^«Õêêêê1cÆØíövLéwN3wîÜìììÈÈHO¦+ŠË>jIù™n4F#æD€w@#0)Œ ˆ/¦·´´tíÚ3ñ#—Ë™L¦ŸjµúÑ6Tr¹ÜòòòiÓ¦yj:@ õ]Z­6..nΜ9QQQt:ÝÙ …iëîß–V¾hµZ»Ýî‡é àë4@ЩS'L¦«T*‚0 NäëÔ©¦ît¨él)%c®›ÜÅæ(âÜñÆF­5&)wÁô ’Ìþƒß2C¥"’H4LòÇ`Ö;²ûÚµ»—.]ŽˆíýüÐÔ@øht:=<<<%%%33377·[·n ƺgωD2zôhÏùœ/äp8ÀÈ×JÓåra^u8‚¸ûíÔ¬O1oWýôép80¯†‡‡7nÑ¢E¾èpèСººº+VøjpåÊ•3gά^½Ú;7kµZ_{íµ 6téÒÅûÆ]»viµÚ… b ÖòåËW­Z…)Í«W¯ÎÍÍõU˜€¢è?þèMa°ÖöÅ÷½$ ì…‡‡§¦¦‚ZapPqTTÔÎ;µZí˜1c0™î‡Îþ™îKZ™év»ÝÏ`Âĉ,ðù¥¾Ã‡×××/Y²Ä—ŸV½˜e¯*•ê£>úðÓ’’¼¯nÛ¶Íáp¼ýöÛÞÆ@¡P,X°à—_~ñþôªËåZ»vmÏž=ý&lܸ±…ýÁ 0MŒŒLNNÎÊÊÊÉÉšý믿šÍæQ£F¹ÇÜNÓÁ!˜a=_Lå龯æ‡éàÆGÐôèèè—_~yîܹ¾Ìðx<ÞÇìg RXXØ®¬ÉqãÆ­[·“é[¶lAQ³‚¼¾¾~ݺuß|ó fsÕªUyyyžsl;¬Y³“ž‘@ nhhعs'øÛ¢•mûuA‰i=k¯Ÿ®½Žìº;?~“·ï'&;$!9µoß>q‘!~]ö3Ï<3 _>B µ¶ÜÞ¹óv Æf³q8œ‘#G&&&ÆÆÆºH$¸’’µZíg;ApÌžkjjT*¦o®T*årùþýû½Ó’‚´´´œ={¶±±3B%0Ÿèr¹Z[[OŸ>íÞÜîFNwóæM?+9¹\î§A]]R©¼uëf™ÙlÞ7655FÌžµZ­N§+**Â<éD&“1 ?C%§í¨QSSsêÔ©òòr?L …l6{Ô¨Q:uŠŽŽv3](‚W(--5›Í˜t)Ö#GŽ`zjuuuf³së‰@ J¥˜}Â0, 0OÉ-//»wïöžÝ,‹N§;xð ¦Ë_^^ît:ý3]&“úrÏA. ³ƒÁ ÕjKKK1 „B¡Ëåºyó¦÷4§ÓéL&ÓíÛ·1«Èd2Y}}½gV,·S:§Ó)öíÛ‡™H÷§gžy¤ÍÜ®´›éeee6›mçÎÞcŸiÙ³gwµŠ¢\.ìvÂQ±X¼wï^̱I¥Ò³gÏÖ××{_*..nllô%‰ääÉ“˜ñêššAüĺù|¾L&ó#àË4¾˜Íæ²²2L¦‹D"E1oliiÑétwîÜÁ<L&“±X,?C’ÉdwîÜñ˜ÂÂB¦{÷î“'Oß*ø¡^j K¸~Íò”Xòºe O— œ6§±9%’nõõk.^½î7FÓˆ>­ŒAΛ>é•ñ³¹»íF£ñ×_]¹rett´¯eKK f‡ÍÍÍ{÷îõõ¬ªªª¤¤$Ì«àüùóãÆÃLòŸ8qbèСO=õæúW£Ñ`öi·Û÷íÛ÷ÜsÏåççcNR©ÔYl6FóÓ€Ãá´¶¶¾ôÒKÞl¶X,Û¶m5j8pÓ›€*• ³g‰DRPP0zôhÌ¥OQQQïÞ½} EQ@ÀápÚ5¨ªª>|xNNަWWW_ºtiýúõ~Ù¾è¬T*O:5zôènݺy_---ÍÉÉÁ¼ñîÝ»EEE˜—\.WAAÁ!CŒá7±Ù*•꥗^ÂLòoß¾}̘1˜Ò+‘Hl6›žÚívƒñòË/ûZÁ°Ùl­V‹ÙCkkëÙ³gGŒ‘žžŽùh»Ý>yòdïÉZ&“8p`üøñÞFÑår•””ôë×ÏO-Ç ó’Íf»víÚøñãý˜%0o^¹reåÊ•¾År¹Üh4Nš4ÉÛÜŠD¢Ý»wOœ8Ó#,))éÕ«&•***JJJ&L˜€é8p`èС}ûöõ¾D¥R1%ðìÙ³Ï?ÿ|ff&æ, ȤI“|­`Ìf3“Éô#T*ÕØlܸqĈiii¾y#82gܸq˜®ä;wúõëç'ËRZZš’’âݳÃáp§ëȘo⦻úúŸ=ÿüó9é]¯ïX·q÷ù¤ô|IMñŒŸ÷§éyÛ¶n¹UÁß¼ö‹>=ò^|:{ÆAœ;ùæfMã$ å¡Né!‘H~Ns¡XÌ«l6›D"ùº‘F£Ñéô6WQÔf·Á0B¥ÑÉdrpp0¦Ž‘Éd‹…Ù-ƒÁ øx;»ÝN"‘|PD§Ói4š²0 _¯ w}8 IDATÀd2)JPP·/F"‘ˆDâ#<ÚÿQZ`û›¯!¡(ŠAa…^þÀ?ãü3Ýf³‘Éd_/ ÎŽó¼„ °ÝfGPˆJ£ûz(`º¯Ü <¨¥ö^úø‘^†¢h ¯éËÀø‘7°›ÏÓ!g{»t€˜ÂïMÀÕ dJ:<Ífû?·N§;Žàà`o茙ä÷3ìrÚíˆH¤3˜~Æöhšî_ét: Ø”PÓý7 ‘H¾ÆL£ÑÁ¼Äb±ü¿C¦S©ToMCõ·‚ñDe­"ž{cÙÚòûñßGÎúrýÌ3_Bs¦M›;füègäõ«–s—oÚ÷âÓŸc‡¤®þù¶ÓêD èŸx6†Q+=¾ßé‹×Õ+•â@P?Zÿ *áWíÚ¹ûNYµÉÒÙ¡»'Ê“ÎsWéÍ‹û«ä Hô ¨N žÇÏàx|èÀÀ D¦už”aVeïnŸ¤ ÏŠVUœE¡ÔàÎ9o¿;máò­Ü3»\èçÞG“)šÊö_—N8ø½ë‡ÿ//®¿õöŒ¹îÖØœ÷²RLNµÚñ?|Êú?ÑÜ>¿ï­Ùïs[”0‚B»&á„y’yŽØ~úâƒ/6î’ªôÀy$ÈÏ }§ÌÇÀ´´´\¸páÞê˜l'Y7.^´«…Zj*ºá¢:4öpnuÁñ³él2‘èâЈj[ËÉóçƒÚV”!.ÇÅSG8é›Ë!ª­­uwÛ!,‹Ñh¼v횯/jÔ××+ Ìe2™Ñh|p Ev«²UÚ"UA•Õu.—ëÂ… ìüå‹%g «a‹Ý¢¿y㪨9DQ¬fC³ É`q°C"ä­­EEEÞ{2 ª¬¬”Ë嘃q:Z­öÎ;˜çXp¹\•Jå‡,µµµb±ØOƒòòr¹\~éÒ%ï@ ذvóæM>ŸI@N‡Ù38ôƘañ–––êêj_C9‹Õ®AssóíÛ·AŤ/_Chhh0 ˜ t:F£¹yó&ǃ E›Å$ Õz›ÑÈãS©Ô .èeM_}öiHá9b›Íâ)-v›¥U&‘¶ªÈtv“PTRR‚Y(ñâEï 3(#ö%½<ÏápøgºH$ºxñ¢¯Â늊 ™L†Ùøªfaa¡T*õ¾ÚØØí¨‡¿]¾|Ù;ÜðX,®ªªò3f@ÐN’‡\.¿råŠwYš'À—@¯]»†y.³Ùl¾pá‚wˆ¬µµÕd2]¾|ù^E»J!Kä™^][Ïd±.\(h©¸ñÑš­:Ûƒu* »tÓÕ«WAòE›ÕØÜÔ¤3Ú‚B#[Š¢¢"Ì£Õ*++%‰/ T©T………˜™v‡ &åêêêükzUU•¯G‘»uë&Óù|>x4&×4ÍÕ«W1ã`þ5º_>àÝÀóÀ쌻j-wü‹äKŸKˆÌÌÄôAO?}«XŸ3º{ÿ¨.ë#$„Ñ%:˜A%Qˆ];‡…µ!ŠÞøãwfâSÃûen©‡ ˆÉd~p78("88Ø×-à4:Ì«f³™D"K(ŠÖÞ=÷ý¦_ªEÀˆ¤® É!!!6‹âÈŸ5ˆçÔA ™8#)5I%Âý¾íÛö/PêÍ÷œ*}ÖL6æY,…BÁ¼j(ÙlìÁé™~Èâç5Û=ÚÛÀX­V?4d0à@u_cöu#øB†¯!¡( Nm×|•Ö¿‘ÉdÿÔ°Ûí˜ qqY.ÛóÓoÝ+‰ÊèÝ+?$$¤ºBV"h£ÿ$zÈäyß“ÄUqóôw?üZ/”Á QhC‡õÏtoØðE@pj§Ÿ×d2™4 | Ë?Ó½/C0}‘œâ=Í9N‰Äáp¼í à …ægÌÞL·Ûí œþâ‡éZ­Ö°A÷³!!!ÞH8‡ÃA^ÅÕ·UóÜ.c×îYNÐÎ’*OëA•ÓuÎ’UqqÁ!NÓ‰=¿þ¶ÿ„\sï<2•Áôñ²,Ëszl' =ã‹é‚`R>@Mg2™¾ ÝÏXû´/'3=¬¦CNŒõnàYsý=÷¹&é]ÃOÿ¾çÏ+ “?šõÍæ+çêz÷îÍž¶êØÁ”nÝzdu;SyÍ`…{Ny½OŸÞm'¤dçÖ+ÿÔ)18œ§¢¢bÀà×Üc0ü|Qº_ ‡yþJxx8“É—äu×ßøü»…Î탢̦Óz÷î ;m3Ÿïµãb©Ý CDg…ôþå›Ww e¡üóª·wøCÿ@.QØaMOOÇ|bSSSUUæ%ÿ߃¹sç™Lösœ\yy¹N§óÓ@.—ççç{'ùÍf3ƒÁÈÉÉILLÄ$ ƒÁÀì¹¥¥…ÃáäæævíÚS<ü‡¢èéÓ§CBBÚ5ˆ‰‰éð{04ÍfûyÙk×®ù³B¡ÎÉÉIHH8óëšÍ[wË Öš°ÃšÐ»wïzvïî‹e<àlp"â¦/Zþé¢79 *A·O~ýÕ|¥ÞíuÀ.'‹FÁ|¢D")//ïÕ«×Ã~æÂ… 6›Í?Ó CïÞ½}pV4fr¹<888;;³–éâÅ‹àÑÞÓœD"a±Xùùù˜I~ÿL‡ èäÉ“áááž l6[xxxÏž=ý{ +ž——ç«^ôÊ•+€ÞF(2Œüü|‹¥m.ž»æ»²f™§Ëˆ:l}úô›ÿÒèë—®¶(õ(¤.)9˾øæ1CÀ×ß|÷áö‡U渶´ÔTÌ—G™ù’@‡“••…yTÌùóçaƤ<@II‰ÉdòCa?szVV&ÓÏ;‡ æ j //ó<ܙݭ[7ï•••æ`ØÑñ,[<|æg=óß;pä¤H‚b¥:-¼:½"ݺo÷vWH·Sǵ»‘@ ÎÙü ø{Ë–-gÏž3fL€Öå»J™¨´¤\k©ì{E ®­?þZßÚ&6E¤Ð;å„ ˆD¡¯ùíÐsçJªê!Zp¯¾ýŸùÏ€ ‚ »M·fýoú¶^ODb'âÁ|á´[ÅMõe•uNˆ&lQü+>ïá°[Åny%×I¤ ¥*å_[G³A]^R"”ªˆtŽÃé÷¯¾Ýîi]  ŽIˆê–AP—¬^[÷9…M×®ž/.. »{÷nfîsýzuýûçMsëÚ?Üüëa¥ÑA‘D¡3À ¥µ}?•5fƲ÷¦ÝÛ›ÝmÒÔÙ“°¦.jÛŠVT÷ŸÛ›•v/,”~±|ÅÏûÏØ‚ "™òìsÏÿÃeNÂ+úü“¿:o¿ŸÜ~}ÆüïDƒ¸¬ŽîüpÙª* è|D\‚\c‰ï†PÉm\]jPôêo¶|fç„´¼¹i )jÏt=øµùŸÍ;‚ …+nžzÿ½¯×¹P‚ ZPÄ„ÑÃþÉ$BWù“‹t£¬ÔF’éì>\ü/¶.vÍw«>ÙðÓn gA¡QÀÄPɈ@€îûyD2íÙÉ‹>™5‚ ˆ@î;xDßÁ#0iDk+-4N܆wäe&ƒ5RîÚŸüøûq‹O:rÂ?œJª–šµ+–oÙuÂêºw ÛËÓþƒ øÚ¹ç/O¿òÞ2Jøö½;^<}0¡{÷P‚ ¢Ý¿èrúnúé‹Þ™ñM|ž/‘`²£_{íµ×^{ ‚ 2ÁЮg_0›Ív»|¬ÎX,V‚JerNÇãñ`‡ñç¯W~¿ë”ó¾÷‚ÀN—Ã4|Òë…uEµMNBg…Žš4í­WÇ:Š~²êãu?ì©õ—9wÁ‚ô8ŸÇƒ Èn”~8÷íówkÜ͈˩U+Û¾j³Z' ,«X,ÆÌa‚CüÐ|ŒÀOPÑ jPÄb±8]Œ ‡C("b7HÏšs©´þA6Š ¸5Þc¶;œjÖl±…Bp ‡wô²µµÕ×À')].W»ƒ¡¥¥Å8^,Ûl6ïž]N‡ÕjC Dy«Âd¼'BEö¾¿ì+©Þân¦–K*KîFrh –¼oþfO¬D!'²Ë¬‹ŸíÕ•€àŸ:£JÐRV/rÁ(#(ìå©s^›ð 9ïîô©óxŠÑ3»Qe2™ù|¾;ƒ¢ˆÕlv"¨Õæ°ÛíÍÍÍí¤÷Þ8Õj‡ÃᇧJ¥R¯×óù|_I~°÷°]»Õfshtz³Ù"‰h4Z ·pæô…ž?—ͤÑhy<žÇ±+°Õlq"¨Ng°Ûí3£×ëý0‚ Fƒ¢¨g»Ýn±Xšššü3]$Y­Vp®Ô&¸e³ÙD2U©TY,f>ŸÂö}?|ñÕÖCVì–6£VÍçóY,怑ã^º]r­”ëpÂ4&ç™Q“æÏœÒ"jîéK>ýè« Û„r5D EÄuŸ½à>)¡@ZœfåêºxÇ…<ÐQ#·ÖØm6»Ý¡3Mf³H$Â<œ‡YnãÉt?nmm5ÚÍŸ¨Õlv¸ •f·ÛÅb1Fs˜+¿{ìj±Ëc5W]rËóFØå´Z­JŠÄ€ø˜Íêéà‹ïÞ  ¶ÉÌÌüàƒ †÷iq™O}´¢‡J¥2[¬N§KZ~±Ööúœét—®ª¢<@kæù`ÿ°Z­‹¥²²ÒÀE¸¹¾ìĉ³"¹Ê £N—+»gï’’’æÆê-{þp¶Y:÷ê~…Wf½;Ölvº:“I£RøÜš@@LYúÉJ“ÅB ’Y,‰è(»×!z½àä…¢Ïí2)$¥Ï½'¢¨Å¤>uè`Yßls)4»Ã^USëëÈ Fãç,d¡P¨T*ý4àñx¦´´”J¥¢(¢há:~²NÐâp!Ã`4TUU)­Wλ\VßnÌÁIyî1› ÊS‡•Õ ,vD!S(E¥åb¤˜Lljjò5$E¥R)“Él× 77W«Õúyð²&“ɳËa©¸sýó×4J 9]pß~}KJJPľâó<­ AÁ±ñJ³³¤¤"…-xÿc“ÙŒBD&‹I!‘ªÊ˼©óO4™]Ê`²hrCmˆµn߸¾QÑ6zÆäÄfö«¬¬$(ŠÈš¹'OüÑ(”:\•ÎÔjµ˜é©Têp8ü3]¡P”””ø20|>_­Vßïµ[ N»UVc0ÛD’Ãé,*¯2è5[ÖÛ.âGc‡û•––s(iª=uüt£Xæt!d*Ý»ÊÊÊ0?†¤T*ý08:íx‡¢è!CÀü-¬%ƒÁàA+ÔnÕŸ;väN×h±‘)4„@îß'¯¤¤D%~»í Û+RÜ)÷éÊêj*™AИ×ç Ÿ`±9]t“N£67Ô6ÂrvçÅK—›Íf”@f±˜dTQZz//Rxéè¥;®¶q·ˆô¾(oÑŸ9z¨¨ªÞh±Hd— .©¨Æô*¤R)‚ ÅÅžr0j:¨Ó»¯°ˆºUôDZãUB»ÓE¥1-VKUuµ^¯¿{½àĵ6Ö…@ …¥äƒa—½¾âΑçÕz#Œl‚+**0+ý:dºB¡ “ÉÞ h4Ú‚ > µ 3ƒ“sÎ4Ñǽ^ß³gO™Lvïyˆãò‘#mÌ!+< EѪ»cYmÂÊ =ž½S#BCÛ¾bQˆž2÷Ô‹sdê{¤ò‹G÷ksJDß{à8f_›6mZºt©Ÿ‡mÛ¶mîܹ~œàÙ107:” ’N›>ZzæN]ÛăÂj›‚³ªTj» 5[ì–Ý6uj­žLc:î‡ ìfÃGsÔ´¨Û¸AaD2‚c_›)l‘=Sg¶±9ƒ†[¶xVD Œùû%œ/ns´™F'3XžÉ4­Zm0[éÌ`ÄG9ƒÍbT©µD²9\õ6N»U¥R;`ÔÐ6×úçá=ë·2;Û|؃AÈÜðÓæ/¾ú®²ACä˜.IóÞýàÅgûË ÔW}aH…e 6Ñéµ™ó_Ÿø,}<‚`µJí€!Ó±Aö~µzoA‘ç^."‰LesDÚ²Ï×ÚI´[ vÙéÙï¼:þ90fB²ìí÷šÕ¦v E ’ÚY¥ÖÂ(ÑŽ9f1èµ:½‘Bg;]ùýV+•&«]­5<(ٵ泗J<× D2•I ⺥oß¾ñË¿ÉÕz…–™ÿô¢E úæt|ùƒÁ#&|¹ªiÇ¡³Z£…Îâôzz䊥 »D‡‚¡þ¶úÓCWËÐ6C¥PXžgP!zFg0ÑA.y$áD-&ƒZ­#Rh ØîÓ9oßmx¶£0ƒITACGOZû©p×ÑÑÂd‡ôþÏ +–-ìÁ ¨ââéµßlÓÛÛaÀ‹mS¬ˆ"z­Fg¼7fÌ1Ù­&•Z £„Cú I~È¡¯e«µ"Ulbζ}{sbØD 3S{µÓð÷±¢­bî¶~(¸Qd°8˜Áavu/ôÄ*YIK›(!•9É‚È4Ö˜©ï>;öõVµžBgwŠ‹z܈ G¾÷Ùú·ªTzSpHDd8‡ð€;æÓUB¸M¸ŽØoØäƒžr‡¼ëK¯oÜ´µ¬¶Ñâ@-VÛPßG û˜Ž GÿyïÑ3B©‚ÊfGtŠ`Bdµi.ÔÉ<ç~"™>eØX‚èÁQ~ñý¬ÅJµÞÌ ˆk7fQ»1÷ñJß§z‚ë&½|û†õ§/ßRéŒLN¸VgÐöc°ÓZxáÄ[wòÅ2˜@ÑëÓg½ ?QWríû?Up6Ê ×êMn-ºÙÀW[Û$ØÑ³îŸrŸÙoø®OKdr¢DÇD3i·8**>kóoä2™ÅDDGsXâì³êjc+Ú¶–äÍw> ½O˵3G¶ü²G –C$šÁd7~ìÃU4 Κ»—7|¿µº±Ù`”š‘AŠØNW \m÷r%æ=;füóÅtÏݲó€L&·:‘Ȩ˜`ÖƒãPuFÕužmãRÍXü;ˆ}ß2_ùãжßöó[d‰¦T*û´ý–«Ã¦Û½eã‘3W$ 5b²ØgL ªkÂí7œ¹zGk´) …d‡‚PÄzº²©Ýë¤ö5ùµ7‰Böòì#^nUjI4f\l4™Hx¬L§²Bg°zÊ[ï(µFVphTdñèZÏT5Ám‡šùÔ¨çG½—C²êÛôíñ‚ë2¥–fµ»Æzîr˜ÎÙóÛž#‚–V•I¢³3“»B„Àú?ª[Ú ‰¤ßXœ”’ ¢ ó–®yuöb¥ÖÈæ„EE„ºÇ\.ljÛìe†'¾ûÑç÷“d¨Ãªûyú“ÿ”«´Œ 0V?hР¶•5öò? ¾ÙðS£HêDˆj­6>%­Ã‰½p·<øÞÙ«óVZaE‘ï¾ËŒÍ8rGùw­FknŸÊOŒnëø‡TVsïEÌd·ÇÿÇ-N‘S×n=dGôŸ‡ë–D‡ÜóýÉTöØ7ßoVêÝ‘–‚ýÛúÂbs‘ÙÌ­³Ç¢´Õ+"sÚ­«Þz‘už ï4û£o-p@$Ú³vqçÞ˜)ô ñ3>k àRKã‘}Ú—{†È—é«÷§²Û²FŒy½ã¸l;µóëpz›{dT´»°èRÿ¬xÂ="§æýçÔÍJøŸÇq»IÿÉÔ‘tʽ ‰êöîªÝ”G\ÆUó'µ ô›øzà!2¶úiUh[B%¤ôW¯ïÙØ5ŠãŽ“ ?£\ ípÌVƒfÙëÏÓÈ÷ú Nxí6«Ç˜—ÏÏl[^5å…"ØJþëÃz·CÂW_­ „\üÊËÿÉjsâ5‰våz¸ziÇ·#ƒÝ§a/Ï®ÊÑ$Îÿüe§ˆ`·37bò¼Z±Â=›òL^»lËC…È`—þ½W‡ÓÛ–5N›6 \]¿p2‡y¯¨‡õê‚Ï NW‡–ÕÜÕ? p@ uNÎÛwþŽóþˆ”-Õ/Îm`ÿé§í kÙ¶æÝv¶¾O÷ÿPB‡8$¾ë<ì^iãÈ ÷mÝL„ÞÖu¿,òص§Âé©î†÷ï߯TÈÛøuu³idˆY¼pnï¼ìqãÆAjÔ©+ËŠë:'²wïüøN1ò?ñ †N‡UÈãÞ-©°£ÔԌ̬ôÔ`].—8p@Ó*Þ¹}»PÕ&–Ú%óÓ÷föèÑ£®®În·CªSɹܵ΀H*µ†A§MžôrFFFssÓ3Gö/pzæê‰¤!#Çzæ©dg¤rkÊ«jù“׳GR|WF`~½ÓniæÕ•TÚ!zZVVVZr“^[[{áÂù»¶_/­óôÔÈŒ ©ÓÞÌNMìÛ·ï;wÕE;v4´Ý3ÔsÐÈé“FŽ1s§Ãá8|øp]EÑŽŸiÑÛ˜øŒß?fÌBäâæÊŠòf™¶S|RNvfç˜ôO„Ũ­­*«©o"2B{æ÷ìÞ­3J‰D§Nâ–Üܱ簩mˆ©ïѯ–™™Éår!-ž@(ÖÍdC«ÕÓ(ðYøââbIwç/¿Ium|ÏN)=?˜÷Æ€òòrÄ‚†â’rIJËÈÎHç°*Ô4jk+KkšÉÌÐü^ù‰];Ñ(dðÅ„†²Â{XÚ@ú?7þõñÏ¥¦¦ÖÔT]=uèÄ…?]rH¤Ð&L~c@~æøñã1¿ò`µZOœ8ÑÚ*Û·õû"®Ð3FeGÌ›;ëÙÿôþùç! êï—íPRzFNFzh0óÉsvÚE‚ú»Åå&'!9=3'#-$ˆ)‹?vñØÞ3Wïx.ÅHTƸ—_Ø+h øÑ¨UÔÕÕ«µzJPªÔAlÖK'äææòù¼¢+gvì?ao¤üÂKcŸ0hРŒ´d·ª¬Š‹ÙÙ¹¹©I ,:5µ£JÞRUQÆ)";ÅçæfÇwŠ&@PeeåÕ+— Žî9w£ØSÓI4æ”×ÞìÛ#­gÏžEEE-U;vîQ™ÚıS{žûÆØ &tîÜùW0.›4+”A„àèÄÃW*5)+b¨ä!/hƒÿ†5„ÙlV+xí¼r‘zhÏħ{vN{ªˆ'ùÛªt`xÍì±AŒ{F˜óÆ»_˜a}² máÏ=à>“‘]Ò¾þù¨g OQ÷g^×ößKòÌ0wƒÒ“;âcBïEHÔþÏO.¬m~¬cÞõÅ;‘¦;z6öÍÄš6¥ƒÂ¢K²ܬ¤Üǯ—Â:µ;õù¾njDwËØ°ëfØó¯ éö¹^i]ÜôIï5äÂ*Ï@ßÝc?rÈíó†ž!2%¿jòÐû…UbLBÖ–ƒ“Nü?O÷HŠ»ÿ@JfßçÎÞ®ñ|àåë=Y´¡ãߪh’Øù榆²ï…=èì°—ç|¢¶ØŸ0¦ŸÝ¶&.<Èè>i®;z ” Élÿe¼œÜ~î W¥vt³ oШ‹%õu̧6äŽø|eWÒ¦ºLZ}{D¿ [ÏÛ£‡È ‚í– ‡Yûýö&¹ŽD¦p"â×nÞú\~÷¿1Éf5ë¹ÕåÕ (-8·G€}ÿ. z¢¢´¨^ e†D÷Ð%ŽòàjtÛ†Ïç¿÷©çž"•ýѦݫgqgÅ…¼º’Ò ¥ÁÞ=-3'+=Ê#]ÿ8à°™ µE¥•vˆ–ž™•‘æ™+™?™HPQ^Þ,ÓÄuKÊÍÉîØPJ^QZ\ß, ‹íÕ«gB—X2‰øÄ1‘4ó*ÊËE­ºÎ )9ÙY]b#<*,ìoL³ûøyÏ‚cºÿzàèøAÙ÷÷L …´¢¬¤A(‰ìÔ³g^b—XÒãÍo#-Mååå- }—Ä´œìÌÎ1ážÏƒ]v!{·¸Ì`C“Ò3s³2Â9V“Ú­ÆÆºª’òZ˜ÌÌÌÉÍHI bÒž0–»œ6!{§¨Ìì$&¥göÈÊhè;¼kóko.°Ãž1FæìÕ[~\ò†›">·¬¬B¦6Å'§çdeÄF…û˜ënß-³À¤äôÌY™!AívŒ" ©¸²¼”'VFÆÅ÷è‘“Ø%¦ã!¾ÌÐ*%7®^¾z£PªÒ£8Ãv‹3¿}âqT‰L3{¥ÆhÅIóäòܹjæDϳ|Ó§ÌëÇvD³8ÐD"é¹Wß—ªOÞ›´‚Áñÿ´ÀA'vÿ|èÔ™ÊÝe訉³^E"à„y’a5©~Þ¸þba™ÉŽtê–}ð Ù¿ :îæÍ›¸´?,’’’òòòNŠ¥AQ›Õ©ïÄŠ¢!’”ÊŒrcÚøÿC‹ÅsçÎmiiÁ¹õP˜2eÊÞ½{q:ü» æÌ™#‘HpR<fÏž½yóf‰„“âß¹‚ˆ ‚(²ãè^©#xÙˆþÿCÔjµ.—+""‚H ( ‡¢¨Á``±XdrÇog³ÙœNgPPP Ýêõú   @„Ød2‘H$ƒÑaK† CHHH ΗÁ``0 ¥Ã–v»]*•âòý¯ƒÁ`°X,QQQ{~¨N§ D,­V+ Ãl6;±4'±4 …N§wØÒétZ,–ààà»êÆf³ÔbFƒ n`þ¹ÆétÖÖÖªTªØØXLŽë°‹ ­®©QV_Ú²ã\LB^çXNmmm JÿÞ«Õꘘ˜iÓ¦………ÒÞf³mÙ²eìØ± 6¾yó&—Ë}ë­·±?þøão¼Ó¡n¸•””ØøäÉ“»Ã¶ìß? |pkkëܹs.®L&sݺuÏ>ûl‡-®"ƒmåJ…Ó‡Ç%ýôë QÌ@î*»|Ê×ë/¾ F ÉÏÏpãt:KKKSSS\Á¨Õê¼¼¼[Úíö’’’œœœ@Bdµµµ,+ð±Ñh¬¨¨èÓ§O‡®" Ã¥¥¥ñññ®`$¯Ùlæñxx‘Þ_‡ÉdúëP©T‡3tèÐÀW0·oßÎËË dÓÜÜl6›322:ÌÁÆÊÊÊ^½zu˜, ¨¬¬,<<<À ÇëÙ³g‡©{§ÓYTT”‘‘à &@r©ÕêÚÚZ‘ßÀ÷—@¡PôàÉÎMåW½³b'A£gÛ)(ùK+­Ùu¡næÜ@\ÙGv8±±±Ë—/÷Q}€¡çï½÷Þüùó³³³;l|ôèÑ¢¢¢µk×vü:Zí¢E‹–.]Úaà AuëÖuíÚuÊ”)v+>úè£ÿkï¹¢<–ÿ®WŽ^DT°¡`ÇŽ±`/ˆ…`4ÖØ‰&D_b¢&F}‰Æg,OL,1"¢€ ˆ€‚•ÞËÝwÇõþ•ß÷D8®,&¾Ÿ/¹ùK¹Ùýfgggvgfg¿ýö[« I«Õ~öÙgË–-;v¬ÕnSRRrrr@xÞÖÖÆb±Ö¯_ž¹¤Ñh~ÿý÷eË–ÑétÀ&</;;{Ù²e ÈÑÑÑãÆ1Ï………MMM3gÎ´Š©V«¯\¹n5™‚ ŒŒ &“9zôhp)MHHhkk3b¸H$’ÉdÝ’|µZíîî~äÈ@|™L¶nݺ/¾ø¢OŸ>V‘¯\¹Âår?ûì3«±ŠÚÚÚ={öìÛ·ÏÉÉÉj·»ví 1EQQQ´*9r¹|ëÖ­;vìqèÅÄÄTWW755Yu‘I${{ûíÛ·ƒ$/´7ILL Œ577gffFDDXå3‚ ׯ_?~|=¬vûìÙ3¡P8cÆ ¢¢¢–.] bžSRRzôè¢-Û!..N¡P˜ì––†Û·ËÄ®»ï´´4c•-j8sâd£LMÀãÄâúŒô;'mzR²ïè)y9YI¥Ò®ÝBKK‹X,ÎÍÍe³Ù€êO$=þ\,[E®¨¨àóùÙÙÙ vK,çççs¹\«'§ÕjAºåóù2™ìñãÇV ÃB¡°¨¨$^RVVÖÔÔÂsFƒ H=@D¼Ý«F¡P|||ÀW)Š¢4 D BD£Ñ<<<@ù|¾B¡ÁT*•šY,–Uäüü|@j À`0 éøÇ’’‡Ó-Éçr¹2™ DrÚ ’L&ËÏÏ9ƒVUU ‚œœ«'>Ÿ/•JŸ§bŒ±#ü‚hQ×k缩¬¬ÌÌÌ\ºt) ”Éd)))óæÍ9r$ˆ(`ÖeȦå,999,,¬_¿~V•iyy¹¯¯/H··oß^¶l™Õ$lF“žž>cÆŒ)S¦XíÖÎÎN¥RÐÖÖvöìY<žâ‰Çã ÉKÝmˆÞ9‡ìÖ€C »íÖè M¦M›f”0fòƒÌB;¼|ùòÎ;àM$ÉåË—ÃÂÂú÷ïâ ¨­­]µj•UÅWQQqçΈˆìƒ&L˜°råJ«˜?.))Y¾|¹ÕÓ€!5þ|†_¾|¹råJ«SV^^~íÚµÿŽ´ƒ4Á0¬[ÒÞ-2À¥|m¶»È¦Nº`Á‚®?ÕÕÕEEEYr‘q 8ã¡ßRñ §ý?þ€«:—“ŽA‹¬^¾òšòAܘEx<AíÛ·;99-^0²Á»F ìß¿¼Ì†az½~çÎàMPEdýúõ Èz½¾¢¢$åA Ã>¾°°pïÞ½V1¥RéªU«~ùå¨õ¡C‡ÜÜܺåÚúä“Ol²ôƒƒŸŸßwß}çææØ„ËåFFF?~Ä[h€âââ~øáܹs ×}6mÚ´yófDÖË—/×ÔÔ|ýõ× 4Ìž=;** $¬ðÍ7ß 6,44œ[·n}CƒaX»À0Ý¥c'Ô(6(`pãËGç ï=¼ßÈ­?òéO¥2<}üæ†ÎïëíF0o¨Y,†è*-(Ô/FÀç󛚚bccÕ™Z­ær¹ÉÉÉÅÅÅV‘>|XUUB˜!k">>¤TLqqqkk+Ȧ€Ïç·¶¶FGGƒÜ䯯¯OKKI²ÌÏϯ®®—Z­‰Dàw”J¥B¡Œ ººZ"‘äää€ ‹ÅâÂÂB†­bVVV677ƒtÛN3HŸÇã) @j 222„B¡‘¢áp8Ý{.—ÛÚÚ ÞD¥Rµ¶¶&$$€”Šyôè‘@ ¸pá‚ÕÍxss3ŸÏ‰‰™âªª*C,Ó*fMM ‡Ã¹|ù²Õ¥¡R©š››“’’ AÆÅår/^¼hu\B¡P <}ú0cÈ0³†|ð¼€úúz±Xœ““b`ÚÚÚ^¼xr®®®”vóòòêêê¬b655ÑéôîJ{ff¦É,*@ —ËÛ·q&‚ü!!!ÿY“KE8qóÞsühçŽî‹I¹¯Ó£t6› ÛÄ%Ï7óÅG¢N‡ ëkš{q¿dg+ ÇKNN±Çàp8qqq“&MÏã/,,ÌÌÌœ6mÈuŸ˜˜˜   #¬?}ÒÜÜL$eãðáÃ&Lðöö¶Š™••5xðànIillìСCM6ár¹§N²ä"óòò2ü£â©F#PØûÍÚ4}XÉ“¸3¿Æ…¼͸\8nEÞ‘ïߊ޶cwi}ùOGÎL¿}É“fš•ŠÆ—‡¦û¶wÛ]0$˜º»»ö “ɨTª‹‹ >›Í6¤ ZŤP( ÅÍÍÍ*2Š¢L&ÓÁÁ¤[…BA&“=<<@²Èh4š““H·ŽŽŽ€ã’Édd2ÙÕÕ|‚èt:‰Dòððw444P(ÀOP(gggÀéc0 ˜4L&»»»ƒøF˜L¦½½}·$–F£9::5qvvf±XÝêG(’Édð& |úÚÚÚ¼¼¼¬*b…BA¡P§˜N§³Ùl8•JõððÉ"£P(àãb0žžž ¥b¨T*¸2 H«Õôà×` ÒnÕÀèt:*• (íL&r‰8Lƒ8}–¥½}DGmiü-JX©‡­ž‰ƒ Ú{טÖœø.2•‘{ãb!ágÚä+ÏÈš'®ÚSþìavfÙûsLl4Ô²ÖãgŠøê žôTÐX/3ãÙË2-D**.ëÙ»düÖ©Šž=ÉÈÌæ¶Š]¼|ùBOl`, O%Ûóò… HQ' ;‰N&8¢üþg)‚Ùˆc#6ܲ¿LÑ$h*€ .C§Æ» ŸAûþòÖ¥èaRdä7w¯<Ñn=oµÉ— þr Q´œ:´ïÈ¿/7‹dY'’éKÃlœ±uƒaX{YI™°O‡Š óRS±Z >· 055µºŠŽƒ%?ÆÜïD…0l€'½¬JVXô<5ÕØó åW^»SôÁ2o÷»Õ*Û¡±±Q$Ý»wÄ{½ {>~üØ(âjŠŠŠx<ž%Ú0T.—©TirrrºVÊS‰¾þâ«’ÆÎÞÜ Ýb("•ˆµzD$–ŠÅ⌌ «ÑTNÇçóóòò@jÁ¾xñ¢±±„ç*•J,?x𼌦B¡Éd™™™àw› O Ê€P(ÌË˹YRTTÄáp@º•ËåR©4++ $T[WW'“ɺ%±ÍÍÍF.‘gÏžÕÖÖv«ŸÚÚZ±X ÞÄP`"''$œ[RRÂçóSSS͹È`F*•Á(N&W´µµ™œâ¬¸¨ãçnhP¬C+uqq‰yš1­Z%•)pbssskkëÝ»w­¦€+•J‘HôèÑ#ÜC2EZZšU×_KK‹P(¼wïxøÏç·µµeeeçLVUU‰D¢´´4 ¿!é@&“L—Ë” ÃKóåååV19ƒÁè–”¶´´˜ÌÔàóù*•Êl©‚Ú½®.Î3GûßL/¯Y1küìõùG’]\\H ïÁöd^Ìe™7„aZ B¤»öòkä«…5¢ØKy®úȃMƒ ˆH$‚ûë@­V“ÉdGGGÀ 16› ‚oggG£ÑLc¢puIîñŸNVsõŠÃáé,ˆÄ肌Ŧß(kêd]Ö”å[Lv‹!šéIçÎGW7 P ƒpxO;{¶‹Ûª1Ôý‹Å2¢@ØE"‘ÀÙ AáÒŒ““x*›Í&“É€Ÿ “ɀô4}B¡hQ†gHº%± ÅÞÞÞ¨‰!6Э~$ ‰Dobxápú˜L¦]]±F!¸qåÒï×nIT ƒH‹Åì:Å¢<—ÑѺ@Ôoìœ 3æ»°MÔ¢5U]>.ñî#µ†p8 Ãað_ggg«…k 1³î®b«ÆP&ËÉÉ œÃ:ŽD"999np¡W4ó6¤Ý r¥‚F£±X¬?.íÐëõGm"‹¬c>Ãg;·Ì[ùm þ»™3†ùxõê0TíM÷hO…yÃF|¨¾xÒ¬ê8bÉŠÐ~ެYÍÕÕuŠ–MÊÝŠ¯¾XuììììììÁKÅØÛÛ0$1ð÷1‰Y‘ŸzôûC¹U¯ ºiõ•L킌‰+rÏ3©¹Æð…¶a×7›ÂÔ®'—ôØÇ~:Õ ’·ÿ­‰ÛÔ§wŸ~}­Äl4 ›ÍîÛ·/ȸêêêÊÊÊ@0e2“Éô÷÷¯v'‹étú!CÀ…R«Õ²X,z Öp˜ÅÅų­­Á`‚ùÝÜÜ<==©5€£££¯¯¯Q‘H¤P(ºÕ‘Hd2™àM$ “É4hÈ5¦üü|AFŒa¤ˆôè—'O‹QéÑöù²·£ub ÕNðu»Y GQ ‚ žàè=èØÑÎ3°ëM½²yõîÍ×2ótÈ ’V÷c:t(HßÎÎnàÀ ¥b $Éðáí*ôúúz‹Óf³ÙýäÇ0ÌÎΤh´N§³··ïß¿?ÈŒçææ*•J@Ù Ñh c]\\zõêÕ-)uppè*íí ¡ãÉÆÊøG„,ݵæÎGáóŽü|jñô1QØ.ÌÞýóÕe5¥çv픑Øÿøü€‘u È7|kvøV‚9pà€——×›Y—·åGVI«+«åZ´E$5##úï?ÿ²£u ˆÂrf¸t­IŽ›±î‘—”ÎHÝ{N™µpÕÒ™&o jTÒÈm»DêNÔÓH3¿Þ0DÀçÕÖ7B$ºZ C6€0©ˆ_]Ó€¨R…ÆÆkÜBø¼†zŸnï¢Öšö:ægÜ9zêR»uùbíØÕ‚ÃSNÇÝyö—§/ÊJisìù3GN^l•(P BPtƼÿ±d F¥êl'‰Ì}ÇÎMÍLMJJÞöÑJAD­-j™bØÒÝ‘­ ðó„` 6v–I…MMM†2j¼Æ–A½ß€DFƒ¢¨Z­6&ÌäÑÃT*‚ Z­¶+>†j®ùçÇÿøA®{½œžd?2Õ3.rÛ:Îîu|1AdšÃÚO¿ŠÜºkU°%ÿ†ÀjóÎnßgë¾úé7‰RA8'ϾÛ"¿\»x¢^«îº·TË8k—,I{Vùz•âðOóΚl™Ы"]Ö9AjµEQF‚ܱ ÐŒ ÇìpIDATtp‘!bÃ0à ÎÜô¡zñîMëÎßÌÒ"¯Õ– ¥Åj·©T*pšaÖétà£34éJ3ø,I;H“Žã29}mÍ¥«¿ŸUXÓáѬׯJk1‡ ³ráÔ_â3aÃá ¾~|ðk&ÙÄÂÄôiWNnødŸP©kw/¸aí£Óé |¶ê"S«Õ‚tKÚ Àº%íí“há¬f ^Ãf¥–ÿøåŽÎĪà×ʪ¬¨`Az«ÒnŽfÃØ;ÖtÀµÿG&“;vŒÇã <Øòd5_ÿœüÑÇ‹ûþl`kkëõë×#"",„”1Tÿüѽ¹/¥ „'¨Tª5ë7ôíeìÎâÕUœ<ñïŽA{àäÝkCÍt +”* ÃÑèt‘ðgÖëTj5O¤Ói3@ Cc~Ï|RÐiUI ×î ö÷09/^Õí”»M‚6ÅP òéÓgõò@CTTÔâÅ‹===éW©T'OžÜ¸q#x©˜ºººÔÔTsõeõZEæí¤ÂÊVG$SÕͲˆðƒ †=ÎL½ž”Št¾R51lÝâI¦£G2Qã”´jN³AIdªV§ÛñÉÇ,šoÞ¼Éb±&Ož >§/^9r¤ÑëXZ­V¯×ƒ?TAPccãµk×,W6“¸wRîÔðøz%Sèr¹bû¶MF÷Ì1 ¾rîìÓÂNIDD*séš­AýÜ»aÄ0L¯Õ¨µ:"‰B§Qÿ¬Ê´†jÔj¦Pi2Ù\·m‚¦#‡PùèúŽŒ\·”N¥˜t0äܹõ¬¨J¡ÖH<™æçãf5È/‰bcc#""ºõLttôÊ•+Ás&9Nrrò† L< ÕÝKIz^Z­Tkñ$ŠN§]¾bEß>ÆÏæ?¼tùš®³ƒ1`ê’uóMW¸PËEwSn—Öpµz„L¡êaýÆ\’åbcc{÷î=jÔ(ðiýõ×_ƒ‚‚LFmu:]]]‡‡Ç–-[Øl¶aÓÿ@ݰ âÚ(‚¼ ÿW ¬¬,$$¤¾¾Þ‚N+;öÕzO'ûvéÅáð_øwW̧9·XäNSîÜ3àÊgð;zÕ¶U‹:[òèÙë„J“¤}‘?ÜÏ‹Dx½À¼ýF|G,?þœ4¡P8|øðææfð&999!!!¦{k,ß1‹I{­GDJü¤®óüóÁ]Dük…ÃáûŽšWʘd_}Iά1ƒ©ä—Š)L‡ BíÎ;üñÇnMWxxxbbâŸö‚‚‚qãÆY‹Ú¢ûÓF ’ˆØ@(--íÂ-Åò|¿xuƲÏÄ*Ý;(ìÕe¹ìÎÚY®}ÎÄeëM!ËÅû¶F°íè¸×Ç)ÒæÍ› çEËPSS3}út‡N[UUÕĉy<x“§OŸN:U£ÑtýI&â~³9ÜIk'ž@¢Ÿ9wµ+fì…Q‰ìeÏÁ“³_ÖšübSͳf§S^?»Na8åæ¿¡vãÆ/^ìÖ|-\¸0>>Þ¬BÖé / `Öé‡Çã»l0yKíå«7ÉνçÎåÊ¢BDs € HZ,ëÖ5o/A`5x,=žSxãÒ—Ï*;ìl1 SJÅ]ñŒÜøþ¡_âõ áð½üGïÿþ@Ø´á„wñ%Ú§[6ææV7!D$3æ/Û°ÿëNtEìEuåÿض£ ºÓE•\jy‚ ìE­±×„{l‚a(‚<|f5Š>´çÌÕÔŽ;5Eq¯žë{iDVzFêã"Á$ê¨Éó90ÀÛ¹ëìiÒï·oM{ZÜqÿ‡"ˆå÷šPAP‡ÃCÀ/;xˆÃã¡î¿ÚdÌ(yÅ'³ýh¤Âï¶mÉÌ/ï°ÕÇ ÎÄ\‘Û7•VT–Öµ`D¤Ø½ÿѧ{¾Øì@#½ƒ²îݳÿÞköžˆViaÂyù Ýõ;U 'M-ÌŒsÿ:t*FÝI``"‰lA Øûö^C¸£´wm’vöÈáÇvÌóFÖiºbNŸ6{åÂäß“sô†'’ ïø‰£ãzãMðû9òã«©à¾)½N‹a¨%iGA!Î@.˜´#(À±”¦l|Þs·®ý-½Âáƒæn|’xAx’#Axâ[ÔÊ¢¹s#öÖ¬n DbÅR££b‡ó¦öDâ=eg¿ ÝÙwáÞšƒë—ÿº´i÷÷Õ ÍT–³ÿ_â;üHMï‘Ó=/­®¬ɵ½üú¹w8¢ÁËêòÔÂúNsL¶‹ø|¿YAÑ+Ón\»•–Uß$`8º ÅûÓkù`-œŠØ˜«r_È´…a¯Ñ™Ma°ìXâc£É œ8΄{ʹOàõ;y µ¼V‰»wo/Ws±´é׌޽âð¤9ë÷Ø;›©Wˆé¦''ÞJ+©â0Øn\wñ+C½F–vózrZ&—/vôð©¬á¼1£šëKc¢¯>}V¨ÐA®^ •ÙÔ¸Qã…ûÅI8yÁæo{ø˜Èq˜–W8«¼¼\®ÁzûõueÛ½³¢N¦³>>µòÓoªjyD:Û ™`ÆuŒ¨~NÌQw˜þÁ+¶eFß¡5%Ñ—¯ä½(QÁø}JdÊ·1„6~Ýëײrž¶)õDšƒ0Ä+'>0ºEä8iâ¼…];´÷ò;“²¯±¾¶QèäæåÛ»‡9 €Â⟒r–ðÄÅ}ú4#qð‹ÇYñ7’_”T‘˜ìÊŠŠQc­ÔÏÅPmúÍk·ïdU54Ù»zWÕÔ£À['K «.œÛ›õêJ+Rê0 Wü APÄ±ÛØÛ™¨aÏÆ¥öŒ×§H ÃùZâ=3èhêÙCŽ,Ú+ÁgàÈ3q™(ö7niþ´¡}ÚÙÅtp]óùaLmYÒZóùêPƒÚŽO¦9ܼ•þ¹¶¶¶áÇ·¶¶šÅ@á—9 £ú÷ìà²Ãyöìgó›UóTÒ+çuhðüÇ¥õ!J‰ bâàö¯S!K7q„r“ÈZUÛ‘]ëÜY¯]¬xâþo¿·ÄæŠ?˜Í¢S;(zbRRR· Eõ¹w¯ŒèçÝž‹…Ãá½{ö4»4„MKÇjG¦1Ù³?ØÎÉÿF²Ž"¿|½ÕžAiŸ©#§$Ün޽9Éç‡ùõ ¼ÚöãðDŸ^½y<økjj‚ƒƒ›šš,TW|。};ø-!;§>¶+æéÝëYô×ÄûMK~Xø‡y¢ß8sTû×ITæ¨iá•MmfˆÕD}ÿi/wÇŽ'¡íŸï·Ð½BÌÛ·5¢“[Hùåüï ¤á,¿â —s×~0çRRAT;Ÿ:a­;—þÃg3¾8~*óáÆ÷‚þÄ-€F£‰¯«««|žs5áŽí”à¸hÑ’°…ó.\Ø5ÇEµY·odåä¶HT¾C¦Ï>¨ÏßìùL´®ìÅÍĤòº&Û=xJHHðh:…Ô™Kh|||EEEinf\r–{ß?bzÈ”ððp£+ÖQQQ†Zè†ê´Z¥R¡‡1ƒ⯯\¹ÒßßùòåFaí³gÏ š9‰W£_ÔtrÙ1YŽ»"w 2Äèáz¹˜Ÿ~;9ûI¢:bîœÙ>îì?̬…[•t3ñyi5ê0fâ{3¦;±ŒKÄ—””$''󪞟»«êxÆá¦N›1urðÒ¥K}};e²ä oeƒˆúÙܲV5fƒ?½Ò~¾½Œ})S?¨j,´B´Òó?íñóx}÷͵‡/¯±Ù~Ú­#O1ÂúäxÂ;¹!V…Î éâ‹™ËU˜ß/Jzx_-1g]}›¶»_¿qýœ‘r!PíwŸM± ꟗ/þlÄ^"Íñ»Ë÷,·BôŠ›¿ÜÁhyõT\Qk¿øeŽ‘´ã‰Ôˆ/£`äs£ ¨vˆý“,ïŒ*‰y!=ÒøòŸï¨9Å|È­D¯8°m©—G¡AV|¸bÌ/ŸéEä­©Àn]Ƥ‘Û]çƒÆÌ¸“[f[-{÷­ mwIቔ€ñs² k, ¬ýå»­lêäú§ÕÖ™udÕ>yop¯W‹ÇtpYùƒ9—Ýÿ7 ч#Û‹úàðD߀q¿ß~„ZäᮈéíD‰:dâüÜrÎ|»úÙýñ½ÛeÇvÛ´ç¸H¡±ÉéŸeÒFõõ|Í^G÷ODI”Vöñ§¿v·ït(Ä9sÍá yÕ ‚úã_¥`ÓìC×D6¶)ÞÍõŸqñ'çW£Ãá^~Ç.§ ¨%i?¶c•Ýk…Lô ¹ý¨ð{8‡NõJIZÒµèØ„ ްÿб«×o z‹wò•2ÁÝÛI9¹”4`ðС úx9ÿÍ\^oäb~ú­¤¬Gù:ˆâ?dÄüùózy8Z`¯¬­iXïÞµ²N7ê<†ÍÈ¿ëéÌ2¬.yvãfRE}3ÓÑ}ÒÔé3ÞK#ßM†èµŠŒ[72ržŠ•°ßÀÀÙsæôó¶,oRQcZrbÎÓzmð°QóçÍîéöFn= )™›”|»¢žoïâ5iJÈŒ÷ÆPH›”þYÉBÅÏÞºVÉiqr÷™8yÚÌ÷F“x‹ÑlõpoÏM’Žtê?înrüP?sUì°ÆÚ’¸¸„’*‰áüFqeufæ™PD@VV™²Ý(ÐJ)mº§M³Þç4Ý’æ›6MÎûõÊë•~ÓœïýÞ{rν÷Üs/1Æ@A¸TAä‚ rA„«# * Â]X²d ªªª””„ääd <‰‰‰ …nY< á.DFF¢¬¬ÌâšP(DBBlt R©qqqàñxä‚ z: ³úÿ}}}!‘Hœœ ‰D©T ©TŠððprA=‰ü&L°[NHH’““‘””d| <þþþä‚ œ…BoooŒ7C† AVV233Q^^Ήü¾}û‚T*ERR!‰ÈAt»Áãñ––†-[¶¯•——#++ËøÊÌÌDvv6êëëí¾Ÿ@ ÀÀ-œ‚!¾àáÑý‹0ÉœsìØ1lݺÕ%ŸmݺuHLL¤Fv!ÐŒ1Y8†¬¬,äææB¥RÙ]H$’#†ÈÈÈ.­._ªiÈÃæw!ö 1;%ž4ÒÉÏÏÇž={\òÙV¬XA ì&Ž"..qqq˜1c†ñºZ­ÆÆ±fÍÌŸ?J¥YYY(,,„N§³Z~CC.]º„K—.Y\¶:D@@@ÏwÕÙ»1iì\®lÖ­ÅðyoáðŽÿF¸òÑ\‰7n¸ì³#%%…ÙM …ˆ‰‰<÷Üs˜6mšÑ çää ##ÙÙÙÈÌÌDVVV‹%§QYY‰S§NáÔ©S×cccËS Ag‰D±XÜ3€üî~Œñ+4iŒ×®îù’‹«pûÂføóy¤].BEE…Ë>[mm-50ÑŒ9#GŽlaÐÍ‚!¾PWWgsÇ£¸¸‡6oñññJ¥>|8^ýuçtL[%=kaü ”§oÁ«fàú¦)¤EÝŒ¡Ó¿uZ΀«W¯F||ç§ù6oÞŒ{÷îaýúõ–¡P(°råJŒ;©©©–“žžŽmÛ¶{ÎDNN …Ëë'ŸÏÇСC{T™ƒƒƒ1~üxŒ?ÞâzQQ–.]Š‹/bΜ9ÈÎÎFNNŽMñFƒÜÜ\ãËiÀ-3±¯DnüÛCà¾¶êæøsæ–gp|]5~(áxÔj5nݺe±â!33Ó8¹gÏÌ;·Óò ¬§Ÿ~ڮ钠¶¶/¾ø¢]=ö•+WB"‘Ø%Ç××Û¶m³Ë1:Š… "33Óåõ6 555.ñ,}ûöETTÄb1¶oßn4è†ßeVV²³³‘‘‘‚‚‚ã ~~~*‡ã€® ËÞº`2O®Â™ï?@`áNÄ=ò_ku`ZV˜‰kï ëÌåÈ«y%Cvv¶ÑØ[³’áÂ… v9¢kQ*•nñœZ­Ö¥ŸO @"‘@"‘`þüùÆëÈÉÉ1þ~ ¯ÒÒR‹Ñ»S:€ê[ÄOuzõ›ôã!FĆtè6lØ@•ÚC¸sçŽ[ EôÄb1x<$ §½ík×®!44}úôé´œªª*"!!¾¾¾–“——ç¶ -‚‚‚0vìXˆD"ôêÕË9ÀÑ£÷ôF%|1>m¹‰’ÿ €ãz…SÞ§5C­V#77×8h˜,,,¹{†ýLlLDéÝ»7z÷îÉ“'Sô úòå˜ɬ­­E`` æÎÛaÒT{ìܹ‹/ÆÖ­[íŠMŸ>çÎ£Ææ‡;€}2ýê„Ç7þwËÓgx¦ /_é– ÀCaa¡E06;;¹¹¹P«ÕvË7ìh(•JëˆÛÚÑ–89¶Ù z#öåì¾->WÕäß{ÍtùÊ~ðàÑÀgee!##999ËåvËæñx‹Å˜9s¦ÛíiN„:M“)8çÉoñyÉþãû˜i®³ê¤¾¾Þ"Ð`ìe2'†Þ|×Aƒ±OKKC]]víÚEZM„3ŒÚ_²ë¦ÀÌ×$=®òT*rss-–Xfee¡¨¨ˆùaaaûH¥RH$’V×üR/Ÿ §r<Ó¿†3%/ù|xGŸ-òŽw⺢ÊÊÊpñâE‹%–·nÝâdž’““ñè£Zem9½ˆ ©_d 쪃ÀÐKe*¬žüŠñ³A/±“w`wïÞ•+WÚ%C$!11ÑxÌ\RR®_¿Žµk×bûöíJ¥¤‘Atmžpùòe,X°555hhh@RRR§npåÊÀáG e·{¯¾yêB€AC“áåáÜ ¶¶yyyVÿ¿X,†——<==áíí OOOxzz¶˜ª©¨¨À;w ‘HàååÕéòݼyZ­Ö®µà†µßˆŽŽî´Ã3q±ö[¡PØåa=»L&ƒ¯¯/<==¢›999àòyr¹Üî½€®\¹ÂÙ3ÅÇÇÛµMsaa!jkkí~¦k×®! qqq6}¯¡¡`mpöìYÀøê,½ »­P3Æ+OßÀ<=xF¹#ߺÀAMî÷ì‹¿þ‹3y§OŸ¶¨Ã+<<œMœ8‘­ZµŠmݺ•¥§§3¹\nµÜ-[¶0,##îò¥¤¤0©Tj_ÕÔ0ìõ×_·KŽá™Îž=k—œiÓ¦±>}úpòLiiivÉÙ±cG§ŸI*•²;v0G!•Jín{g¬·‡u! Àîçâò™hÊóáý“;"àþ0˜¿,š€s5Màñ¸—ššŠ´´4Ò‚ z<?ŠkT´~_™ Æ`o±iY踷O`E2÷[ë}³/í/0¦£&‚è.1V¿”1ã‚i³²¨qoãØÚ'8¿—²æ¦.ϤV%‚pà7Ð2iÉ+dNÿð–EN7hñΤ٘ù¯½ÔªAÝíî}_¾tÑt3A¾úiâ=¹=\ÿóLìî³V%‚°‡µª,±ù Ó9ÀS7žÆ³ñœß«áÞ7˜üÇ2œ)}ŽZ” ÂJÚL;wîžxÂ4OÿÈ#Ø$XV…âjˣꆇ/Ÿë¹в2 ˆŒ?!SòYgÊÝ …999èÓ§BCC9+=%‚µ«$‚åää ""Âaç S"˜õØœÆ4××£Q¡„VÇÀˆ ÑjqÿÞÝŸVVVæ˜D°’ã«ZMšz5¿†ó$˜ÿa4ë7ïo-’=`gÛÃddd0lË–-œ–ŸÁ(ŒÁœ/L«zÀ¾xã9ã-lÕ–`[ö~×ãÁ8h¹˜ùÌç×’"½éçÊ9½WÍ/1c3püŸ4õC74–žÄ”„x¤­ÿ'JÛÞìño}×㟕sð×ù“q¥^eü;væ|½Z¿Pñ×…œÞëüsï@ÉJñË¡ƒ‘˜˜h|™“˜˜ˆ‘¾"­&¢CÔòŸ1!i:ŽÖwܽ½»Ç?/§AàûgÖृ¦C`D¾Cqìë_#¤ð €tTe|`g÷›v© ÊV®›o¸–››KZí tê*ütò~ξêF-üC¢0ìñ_8•œCFSC‘nZ­Sÿ;w&.V7Yu±ÿè.Õo§vLSƒçgo²¸¶xû~ ô@µÀ64VìD“îÏðô íÙ?®rüåíÕx÷³¯["‡'>ΉŸ>ð÷²_T©)+œt³}]ЩËñò‰«ï5ñ“-v•Å?":æ" ç‹gp¼Êä9{%®ÂÖ™±zO8Ñb>î)«ðm¥‹B½HS{(¥'1+ev»Cä¹ç9‘Ó »ƒ&q Ýràûï3¨ñH7ÛÕ¶J+û ác^Ã7KÚU–º²<ðøžÝZgœôÅušJ,zãœÅµw¼m&Ü‹BõàÝyµyú’Œ1€„„ã‹bÜaËü(Wr´Ê:Nä(*®R’n¶« Ïx|:!ªÃïG¦üé§Þ‡gY˜VÙ3Fm~v÷Ð2d6˜†8!ÃÞÄt~% *פýý’zœyq!&†ñ å‰ƒACG`¤§ÐÛ_hç£ÌÃáÃó:U~k()Ñ e2™Ý²Ì1_RRŸNËijj‚J¥²«lõõz…­©©iUΞ¥Ó¬ž€ÒÒR»åð<Äm>“-rø¢»ê¦¼¼¼Ýgj•J…òòrNõæaù\èxkºPWW×mõfÑ£nl„N§s¸.Lýü[¬Zû*¾Üw ­åp@è×ó^|X>š{ÅhëilÒoßîvÓétËå6Ë©ªª²>lÞ¼¶ëÕƒßZdüûå,Äû˜ :Ó5áÆ¹È~ h£„ˆì?Ã’›ïœ'ƒÕÖÖâØ±c>|8ú÷ïÏ™Üüü|\½z“&M²+©äÔ©SP«Õ˜4ɺ ;Ó©PY^Žš:9T¡Ø ~A8ûãQ$&&¶H¾b:%¾ýæ´VÎY ‰'%Ñ …vÉ N|OIû´R~Ûä„JŸÀ¸ÄˆNÕK`H8µøÏþƒñãÇÛ|ıcǘ˜hWBUGòXÝöVõ¨Õjìß¿ýû÷ÇðáÃ;-çÎ;6Õ[[õ3ó d2fÍšÕ%º S7¢¢¢ MJ€'€·_BƒÑ‘y²]¿Gá)i¬]mµÿ~DFFâÑGm;[%77×þD°¦êcÿ$ù£Åçuù‡ØÄ8¿6“)Ì_>‘)ì`aSžæì‰`§¤°$+’¬IpYöêï[|O­¸ÍìrÇGÁ•°&©D][Ž Uë= .\\j4ÕêÅš¶WÊ«PX(vʲµ;±µþ#gõuËøHGu¬Ó¨pòÇÎmycw ©y¹§8p‚Å1š}@òù(S°×¿¿~™š¢ò;È4–-ï×û%L6e«ä×PaCú¾«žfSÒT“¬u'ÝÃS]6ÿéäõbKÛkåN[6®êß—ïûléaK++³8qâDëÞ'ÑÈ«†FyÇâîÆèSœ¿üþ&Š›ç°ô©0Ü{Ï„Xn 1:Ú+M¹GŸ@„¨cÕ$;‡çÞ¼… »¢[”³­rÛJa¡~'ÓÜÜ\ÎdäÀÅ‹ñàÁƒŸy#Õ†¤)¯6Ë–øê§x^ø>v½ åC|"1eÁR,_8·ÎžÂ-7êauE½ÈårdeeÙ¬7¶µ½'§zÙÐÐ@Ÿ Øš\[Ê—/_FSS“]õïáë‹}§O#Jë‹;l©ca/›Û?//Ï~  pªºŸpøø ˆš{IÍ@ÙØþ÷ïÀ¤¦“¢Ä|”*µ8¼÷øÇû[ȺÇcf -F晑ÕaCÃù§/CîÙSȵ²Ü¶RQQa4Ø9¹‹éšp¯¨å²j4iD^¾é YIžÑäçç?ôF|v¥Âê{„ÿò¹vŸ7"y"~—0 wï–¢F®8ñ»«åŸ}1µ7 ‘nµ¸öa¿@€õ›{ª…¬ƒc£÷ó‹Yí'‚uÀ O|¼Í °-I%^Ã_d§êêá|t&Ü EÖ$.Xö§I¼úSi)Û[Uå:ÓuÌI"€¼’ ØžúÌû8¿ÞÓ},w†5B¿´SöŸc-dmÎ4í$YÕñ)_Î~"˜5 .ííœiËéÜݯÃÇÃM&ï)>aw|ÂÚ¤ÀÖvÎì®ØI¤PˆRµšÚŸË:¶wÀce {ÄOİٛ¯Xz2ùm‹¿óvŽe_ÉÔf^«&ï#ã½øÂP–!WuèÁŽg"ÿ>,!!Áâe^î„„6â©/»| ª¿ÊF÷ò´z‰[[Ë@µªlÝ “˜7ߣÅwDýØòww²F-cϲŒÆFên»ÈÀ–¶·[t“ç!îÒ²µÇ¡šöÖ½{nµüÓ‘uÌÉ2Pà‹¢ñݾ•ˆ™ô!ö¯ƒ×Òññ¯†4râ-þ7xÔp§¡UÝÇÕM˜ä 0%þ4Ç´¥Ä¨7¿‡Ô§ãÝAu"Xk a½m’aSâ•÷ „††¶ܱ.©D˘EF5ÑóqTB‘-º)òÙ¥ek7ÆåF#€.«c.Fö.¢ï5ðxlÚ+[X¹ª¥{RÖž3Í/^~ÀªrO²'į…ŽLcr­}“†X3'ºöÓÍN“`dΜü|V¬TRwÛ…F=9ùÍ”ªTlÚíÛ¤PÁI Àœ9Ÿÿ„c ‡6¼„¾±£°öó}xÐdZ¶%òƒH‘~ŒcK§ R29Y ÉiŸàÆ…ÍÝ2—míœèg›~ìxÑ FM::ò€Sê&W„ (ï`ÃCÂÆQ·Ò¼°zûU\ØñÆô @ãý+øÓËs†GÇOÁ‚E‹0kÚd(š×ûVgþ ¥Ž!iÒR|{ùŽlyÁ‚ÎÉžÁlI¸¨/úÁy8fhƒŸOM8nrVvjƨ9Äêa¾úÊÆc™÷n_ÇÕëYÈ+(ÆYä ¨ÊžöÊ»x:!¤[+áü¦×ñÏìj+@±øü³7;~|m=ïøŽütª‡\¼BðØäY˜?e$g?°ðr^¼´ZÒj'cݺu˜2e FååéjÝä’÷ Â7n€¢]ösäÈ‘¶@YY8€¼¼<Ü¿ßÂØKñ7ÿïÕ±8çýM˜ÔKÜ­?†ß½¼ju=‹äç×á·…[-_£¨ÄíÛEÕ4€ñŋƀøhˆ8Ø~”€U·nA@=$ÂÉt“K>0/ÁÏ‚ÁÝ2p$ù_C|êi½¸Z޽ÃB»ïGД±÷@謨†ð1¯áîùœ²g44'×$ÒhÂ¥YZT„UááHîD6>Ñÿ ÓÖ¥»7­ÛU6Jó % „&âõþ{¶÷28^u©ªÛ+¡'àÓþ%ÜH7Ëpx˜KaÕÙGðáç;p½°!ý†áù¿Ç„„€–FÕw¨ñ}Ýͺî÷‚NtšPgQÒÜ?áD¸£RQE8›h¼ÿ/ – ™Ú° åìüëWøäü ü¿‘–sü|Ï~¦?tÎc¸D±˜8#¶G6¤·‡i3áò„ …Hol¤ŠàªóË• Ì÷Ö™=Zu%Þ˜ºš‡l¼Z~Õø>ph/j.0%‚n@”Pˆû4ä| >¿õ$*Eåaì•),®5”5¾z$ˆZFavN1!¢ÍÏšæ)Ú™c|ßotµ(h@¸|>ªh;çsq©ËZ½î4‹C½-®mÛ¡?^‘çá…ß÷  Và-%ÜÚõÖ €O䯱:Ñr>?zè4ìNßO³»Tߨ€¯îËõ½ÿyÿƒ$oµ‚4êt4D¸ "6?t6kÿæÍÜB†þ_oÿ O÷7û«(¿ˆ…ã×Äþ£qøï³©8@ÍíB¸ vRà÷,.o_Od×þŒ'“bЫo¦Îš‡¹OODlL Ž=h„‡0Ÿ;„^ÔûçÊøÓN „›.âÅ8s <`ÁǸ‘ˆEK_Á¹ÂzÔgãHq¶ñsq¯$løö(~#¥Õ?\AK@ w"‚FÎë fì2œÉKÅ™owâÀñ3¸uGF<1Kþk.¢½¨·Ê5> Ü„H¡eäœ×ÏÃcç,ÃØ9˨–L­VK«€·!\ ÀUÊæê6º"r„hC8rD3 :¼h ˆp"„B:˜#hŽ  aŒ<9á|(•€aªF­äúühµ@Ù.ÀÕfDZÖÖ†E õõ€ÁÐ74Í»€†+•(}ì1 ªcr„Š„wáÆUé 7†õÍ{nétzci ¦0l ^W§7²€Þè¦KõFšš…¢}ã̘^nG÷03ÎP(ô²ˆ€vûvÒ rîM]]d2 ÕjÔh4(P*ªs8ì}Z8ón{ÆÙš{´eœ»@$Ò¿÷ò<=õïÅbÀ»y[—à`À×WÿžÏÌu®—ÙŽ€azÒÏÚ¿‡H¤ÿ Ðÿ¯ŸŸþ½‡‡^–\TWƒùùúÏBB,ïOpvìØ­[·ÂkòdÔ††"}ûv,[¶ iiiÜ߬§õ>Íswàí­7˜€Þ¸ΰ57p½zµ4pC`ßß_od½Ñ Û¿‡Pغqæñôr;º‡3óÅÀÖ­zóMT8€à¬,`Ù2À:ïtË¡ðW¿…/ô¬ ìzØVï³-goïÓü­õ>m¹á8àÙ)SðFd$$ÿ»þ:9NˆÁXzx}ûš®÷ík2œ11&ƒnê!ÛêîášgÂ¥kΖPUpg¡”˱sÿ~èþýox‰Å˜óôÓ¦©{柹 @ÊåÀ•+¦ï˜¿ï ºz`ÍP{÷0Ÿž!VzDk4(«©Ñë®·7Õ 9÷#&&›6mŽ1^[±bðØcÎ]p.cæN¦­€µ÷(/ï8Ütu Àií4÷JlÚ„UG‚gЇ+ÈtŠ„-tõ* .GaÝ׫€ÌÌš5¤ä‚°vê¤ÛVbÙ»·5ÈtÑAVâíÝsçË»8ÙŒFA„KCkä‚ ÈAä‚ rA„kò½o›(‹å–øIEND®B`‚nted-1.10.18/doc/docimages/double_bar.png0000664001041000007640000003542311520267216015051 00000000000000‰PNG  IHDR8«kæ2sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ +pPªÙtEXtCommentCreated with GIMPW IDATxÚí{XTåöǿà à Q‘•T;^ðš—ÒŽÇ̵:f¥’ž²2¥:™‡_e¤ÕñFæ±S š™yȼ& ‚"Ɔ;3ÌÌþý30ÃÌìÙ¬ÏóðèÌìý^ÖZïÚkï÷Ýëå1 À ‚ ¢aC" ‚ ‚‚ ‚  p‚ ‚ zh€ÓTs;ßÚ†èó¤‚ ‚ Ì‚g ‹Œ+R#1{ÆsH®”F?¾'¿BzÀDAD pjó`”oòZß÷ûˆlÙ–ÁcÚJ0EùȱPÇËn 9GŽIC£‚cJKK±gϼóÎ;€£GÂÎÎ ,à¤üúúzͫެtoJC*•².CýŠyaa! …EÕ™3g°qãF‹èhÎE# YËP.—³–ŸúõðŠŠ ³ËÈË˃H$Òù=>>X±b ,, Ë—/‡—— R–ìÙ³&L@@@ ƒ%­í0)) ¿ÿþ;‚ƒƒ9)› ¿$—ËaccÃz\knbØ–a( ÇÆ ¿ÎΘH\\sï Ãât ³\D 朴‘i(;ÇŒt°Õ”)î3—)•+K¡hÈd]ìÏ–!LGm»wïnó÷ÔÔT-ÛX±bÌYý ,`œYŸ/•JLHHë2¶oßÎ`RSS-"ãÈÈHÆËËËbe`âââX—Èøùù±>???ŸÀlß¾u!!! F*•êÕÑ‚ 4ŸÍêóýàÔ®»~~~zÇ=Ñb+V¬Ðû{k;ܽ{·YãÈ~ÉÏÏ ´ØõÁ\Ô¾#??ßà±¶Â%йùÎ1³ºOOXˆëuÍyqx6¶Ø~: }m-×´}Ëf#^* ¤Û ‚ ‚è†tZ€óÐ@xÐ$ÄäÕh¾Ÿ¾õ4^ÓÛbõæYƒõÇóï=½R‘A8Üá>Ý þ[©æ»þ3¶â—­Ó,V§LG‚ÓIëAAŽepæ¨õYÜg.œ|ž¥jTâ9‹ñDLtWzhh(m4ILbb"Ö®]‹¬¬,†•…µk×’ (ÀaO]áq<úbBK#NØwé(†Š-·÷gÊg =xÞŸÖ¿Ç+=&&Ç'ë'ˆN$++ ””ÍŠˆGDD ¢›Ðỉ+eX°9 -¯°=úñ¯xÚÇr»—ÖÆ`Þ¶ üVüiœ ‚ (À1LXX˜IÇ_þ: ±wêµ¾ë÷ÂÂb-ÒAF%GôÎ÷0ré&Ä|ºÓìöwÊÊÊPSSúïyyyš“IUWWëü®¾#U—Ÿžž‘HÄ™¬³³³!“ÉX—§Îƒ£Þ·… .\8pîîîí«RÔ"/3Å¥wÑ WAäàA>2ÀUï9)))¨®®¶ˆ}¦¤¤"##qñâEVe¢±±‘uûÔ9l.\¸ݼtBBóSàððð6óà\¸pyyyš6Êd2³úÜÉÉɬeÀ…:Ãwè÷ÝäädN® ééézËhm‡ (++ãlœ›â—:ëú`®oTûŽ={öÀÅÅŲÎàÁƒ>öîÕÿàûë•:ßßr€¹ý,b°×¢ÞDш5yxŒÙí·êêêP[[‹Þ½{C `§>¡P‘Hĺïr¹ЧOŸ6ËP·Ký›D"½½=g²¶··‡ ëòÔ™Œ]\\X—‘šÚœ”ÒÓÓSoâ8FQ‰ØCÿÅÑØT5é¦$è÷àtl Y‡Ab¾ÎoÅÅűOu".Öå‹D"¨T*Öç«3»ºº².Cíܼ½½ÛÌdœššŠÒÒRMù666fõ¹-œœœX—Ç…*++¡R©Ð»wïñ?B¡Pï¸ïlšššPQQ'''ˆÅbÖúä⺠‘Hô–ÑÚ³²²  9“§1~©³¯æúFµïðòòBŸ>} <áè DMõ7˜ñŽB­sGõ·g0“÷Þ°HB »iŸ3޽™¼F…N"&˜™¨°³è ‰œ(ÑÃÔÄ23J´l­­?· P¢¿šèÏôÐýq‘`.88Øìë(Ñ_»z0×7Ze¢¿ˆ'çá¹æó ¿íÆ¡×G ¾ÍµH¿® …LU€ycFÂ××Wó×___ÌúÁòšß1Ëïo8w«Öð“Œä÷I`Ao´€oìEÆ·ÏoÆúŸ ZIüqêÐ è“û€DH3~ð(çõ.ºZ Yß·žóïj%ÖÏ/ÆïU2ã¦zz=J#‚|£|£ÅFQ‰g®õÝS‘Ç0L,€Ìc9€/Q_v ª=ÛðÈ«BÙXЏ_Î"%= •õJ8õñÀØÉ³õ¯’— øL‘ÑåÏü ÔjÚn©2‚è9þÑÖÞE¯o|±ƒ}£Åœë»ãte£æ³ëƒ¯aÿÂA;—™`ÇG‘¬ GÊð”›}·6†ºº:,Z´AAAxî¹çhtX1*ùmìzë5¼÷ïhÜiÔÝ•×õqmŸ§¬†‚aŒª£ßÄ×pôÙaÞv7ß©f—!rvÃ@O72”.Nnn.Ö¬Yƒçž{AAAÚ–5kÖÀÁÁŸ|ò )¦‹ûG(lTêøÆ¦ö]ƒ£j*GÐ[Ú¯?†þø6x­ª_Þ·9¨‰É²ìk‡5…aš58Ç×üuä…BÓ§OSæR+§öÖϘí3 /í<¤wðVä^iûŽA< ƒïm$Ûý'¿€Ëçà äu|ÛK3âÌ.£±ª¹9åd,]ÝÖkkqúôiÍ«½IBB’’’H)ÝÀ?À矞ÑñrìPßhÑ'8¹ÑOkv ÷ÉáX?D;¡ß\?Wì,¬ÁÅ—Vca”<;ôóðÆ˜¿LÁ_ýƒ{ 9i‹£çddl!ë$ÚE½ÎØyâ¶ðåºôtTWסA©}Ç"tòƳ›ßÃÇo,‡=ÇS²\´Ý”2¥d0AþQO ¤›Û.`Ù*œùðsˆø<4v€o4;Àioߎ¸o´#¸¡ÞWµŽgT HNk¾ ,ÿãø±õÁû>Á+Ï áõàXL™8~×_Ÿ£Î‹ŠŠ Ve¨“ƒ…††ÂÕÕ•UEEE(++c½çŠ:‘_TT”¦=ZO7îõM]~bb"„B!g{¼¤¥¥¡¡¡Á¨òenãned B‘œ{»éÕCÆO‘F<;¼ÿþûšÜj²² ÐÄbåÓ qûv)ªëœ]Ñ¿_o0ðJð…vËÎÊÊBEE…I23µíáááøúë¯Í(Þµœšçé¿ÿþ{äæ²{‹211°qãF…Â6ÇJII‰¦ رc‡NŸÍáÂ… ¬íZý$ל6eeeA.—³nƒÚþÕCQQ‘Þqo.–öKÆoðºf¬mê+£µ¦§§£¨¨ˆ3ßhÊõ¡­qÙÇ}@»z0Å?ØœuÊP٥˞ÀÝ»RV¾±¶¶ù ¬7Þx‰Ä²Κ5kÚ¾˜Wÿ†ˆˆ–§7Î>/â“WWk>×݊æõo!©¸^¿Trä_¿ŒÒ;2l?ð=¸[£S›‡“IõXúļ pjkkqðàAøûûë•›!<ˆÄÄD,Y²>>>¬Ê8{ö,$ ë6¤¤¤àøñã Ä’%KÚtº111šò ̪ï~ÒÓÓQQQÑnyª¦rDïþ_~{re›Çx­U†ªé.÷at;¦üó6-ôjÓ¹ÕÖÖb݆WY÷166éééFËŒMÛ߸¯í&—ñÖ±f¡—Y:ì€5kV³¾aHIIÁªU«ÚttDJJŠF†QQQX¸p!üýý9±ÃˆˆŒ1‚µ]ÇÆÆâìÙ³fµImklÛ «=ôV­Ze”ïÐ7îÍÅÒ~ÉØ€Ï”q§Ï.|||ô–ÑÚcbbPRR™o4æú`h\ÚŠ1Øs N›Lõ“Böèøõ˜]½fƒÁऽ@6** +V¬0˜­Ùìgüøñm~Ÿ{t³Öç¢ÿ…ñþÍY늎cìÔÍÈlhÒ:¦ßà!°­-Gai•vÄ[ž‚Í+_ÆÙ‚K˜âbg¶(³0cv.V©öþ›àTU5÷ËÝÝ]¯Ü ñË/¿FŒ???VeˆÅbH$Ömhhhh¼¼Ú,C}7­þÍÕÕÎÎάë»gggðù|½åÕÞú §,1˜káôÙüðMKІ?ÑdÜ8ô›øÎl{¼Íyb‰D¥RiVoÞ¼ ¡Pht\´«þ›¢ƒ'sph;9©›¿¿?œÛ+¹¹¹òù| >œ3;€¾}û².ïæÍ›`V›Ìµ5õX0`€QeˆÅb½ãÞ\,í—ŒÕg{×5cquuÕ[Fk;LLL„X,æLž†®ƌ˦†ääTé´‰ ÿ`hÌCAAsÊ???ƒÙš-¶È8so¦æÿvÎS°}LKJå-3þŽÌ†&ðx6˜üÄ:LrjZþöS"nÝ‘¢ª ŸoY a«y8yM2Ÿµ“¶í[6ñR%ˆî…)‰¤î\ÒŽöÅÃðñ ƒçYj°9pÑv®úoŠêŠÏ‘Ñ„•ùƦº[ó‰ÅœÄÌ–·¢|žÞÁ½ÎÖ}Š]YRðx|„Ä\ÇŘ=Øàݼ†!ùÇæwäúaÃßâjÔz­2Ë’?@ÈUóÞÜÈ=²ëçFEVßÍ0%‘”@¤»OÊK?'aÛê9·±æKèäµïF"+nÙñ­®ï\´‹2LÒx8-AX™o´ô²˜èÐ?KœÓêõ±µ!-Ênÿà½( ï/nÞ6aØ#ýÔ2䛼Þr¬ï²ÏñŸ°æç–hò¿~ÁqËYµI&Ç#Áédé]6IöþqÖøDRSÞÖM`cëŽw¾<…7>Êǯq‰È)¾ ÆV‚ACGaê”1p°âd”\´ÝÜ2LÕÁÔ­áœÛAo4o\NÙg1Ó-Á½í¢AöhYLTWøûG-‹{üÕ ø05y‘–i•³òà{XÓÿÍç»É`à(ñΜÅx"æ*¶O÷ bÅJ"eïê ›6æ‚UÊjÈL˜#þy˽¿ ]aö_uIùqÑv¶e˜ªƒÿ½>“µ¸ ô£ÁBolE{ HM—gþµØâ>¦Cnú,U°Ÿ½-ÀÎe¶fz uÍJYÕ*èqÜì4VœD±\{ÚÈÞýi¬tsÐ|–×¥¢¤Éô©¥”Ï"zð¼?­?+Ƙ$Rõ…¨«Ó}ÔÚ•×Ðt¸Ò1v ½•F'È7¶¢½¤=Ñ7Z,Àÿp¿{¡£ö…È}nó*ê„ê–Åíû<†Qâ«;u:e=ûP_mE+M pê c0o[N}õ+Æ”EpŒ²í¹ä®¼†¦»`®L±‚ ߨ1ã²+Âc#7‡¸G||<¦NmÙËföì¶çýšjoâBÂ-ðx¶˜1k:Ô2UÉïàì¯iè5r2Æ÷oÉk“tþ,¤ zž‚ñnb­²ª3˜ß¬XO€YÏ€Ñ&£Äõßâ 1 Cz5¿­uúôiƒí· …çÏŸ‡··7ë6yyyÈÊÊÂĉYçHHH€@ @@@€añ©äÞ­DM]=*|[;Øð¸™ž___xzzêÞiÔÖ"!!A#Ûk×®A À××·ÝºŠ®ÄáF…±IæÄxxÖ½¿«VV¡AÞðøÙKàâ숎È™””…B‰'².£¤¤YYY ì²Î…­L³fLŸ>ŸßæX‘J¥š3çÏŸ‡¿¿?\\\LêG[cÀÑÙW/ÂÓÓÓ ]·§ãk×®! Àä6qekê±êããooo£|‡§§g›ãÞ\LñKm!•J‘””¤×/CFF º.´gîîî5jT›çµ¶ÃÂÂBÔŸ©cbÊäˆD"«óYYYÈËËÃŒ3 °[!ÓØØˆøøxêí#g޾Œ¼Œ²S EF}ÖžÏÄöѽ5¿íÒa·C¿RóÝžqà­¼* œ÷=®š®UÖ…þx<¶ùÝwIÿ`\Ïèöþ:¯®ÁK5ßµÎðÈ6£0ª««áíí7bëÖ­¬ÊGhh(âãã1bÄVeÂÉÉ 'OžÔq’ßÁþwÿ‰¾øe²¶‡¾ú^þü‚Î÷ééé ÔÈvÍš5prrÂÎ;Û©¯<„Leœ9Îýüw^9Ä*/ìóçÏGuuµ&+*bbbŠÔÔÔu§Ê¥„‡‡#!!‡x{{ãðáÃFÆŒEO¯ÂO?f­ã5kÖàäÉ“¬smM=V·nÝŠ7å;V¯^Õ«Ws®{cü’¡iþüùعs'ëömÚ´ h÷º`Œ]ÌY´ßØßæo­íðÀ8pà@»úëN¾144áááÈËËÓÉo,………=z4RSS ²f/2îÕ«—¾_ðõ«£1áÝ?ýâØs=LóÔåÕ“ HŸþzõÚÐbÜ“ûyU^»€^½i•ôÝ•–WÃ|y];ujSqíßxú+{¤Ý~½ôÀjç‰ø|¾Y¶åàà›µOk€K;‹Å°µµÕÈÇãÁÑÑÑ(™;~þ9ƒµŽš×Û&KØšz¬ŠÅb£Êàóù°···ˆ]òK†ptlÞÈÑœöÙÙÙµ{]0Ö.âârô–ÑÚííí ê¯;ùFõÖ‰þjjj4'|5¤g‹î&>öí0N"DEú‡Xº÷j‹! =ñÅé7´Žõ|¼9«/ýZK™µ…8TÚ¼ƒ­+ö­Ðø§7+C!S`Þ˜‘šÄïœÜ‘»‰wL™ëmk35ÖA-&¬ÄLåWHiäuU\'ßhX4Àá à‡£Í=¬ÿ B_kQšƒö”Þã(›îâØÝæ”Û`šðá’·5ÇLØü#ÆJl®ÑÕRȤùÈÈÈÐúkMFF’ξL–pS’AÙÚä´nZ LXƒ˜2øv^¤0òm\û<ºÕ˜è²7L–®ÀsNbÖÅbÉÞT|¸b nü± ûß_ƒ¾¶Ú±•}ß%>Ϊ¼ÊËxóÏa÷åR@Ÿq/à—M"™€¥“AÍü ‚Ûh» 'Ù#º‡˜>¾á|ÝÁ7"ߨX¼+TMBÈ¡«8¾3Þ‘ûñê[o`Ãs‹ÐOÔqÚJ0H$@~£瞟÷)hT1àñø˜½æD~þ*ù¤DãœtûÉ „½0r´î/S“AqœEÚß•“ì]ÛL'þñÖãÐÍw*)ÙÊ|£“ÇpnìâåIÝfLt雥ލ„g#Æ–¨Ä}õ˜à%Aýí?ðî†%àÜgÍÇŠ§žÂ“›š{ùm¤×“Ѩb0rÎßqô÷BœÚ»I物Ô†iÖà >\ó×ÝÖà“ J^W‰kiºw#4×Kôø;¾LTXšG·2ßX]|Ó¢vAtÃ'8jŸù'ŸÞŒ+gÀ±c—„?¯]• Uhºï¸·Ïf#tæ`ÎêvôÜ‚ŒŒ-ÝZ™êEpÆÌ·µ[,Ð<×[µî„}u Jm¼ñìæ÷ðñËaOD‰nйcÀ”qHXŸo´”]ÙypÆÏIC†A}Ñ dÜi^`<ÀÏîÂîµ`J©T"%%îîî0`@ûòP)P[S†*€/°…½ÄuÕ•(**ˆ#4¯Œ«)ÏLC~« Ñí*ÞÆãÆê#QÊQS[¹\†Ç‡H‰ÄÞ¨G~ HOOרFnn.ø|>¼¼zƂ̛7oB©T²ÎS4çg***‚Ÿí·Ä–’’ÔÖÖj’j¦¤¤ÀÇÇÇè™lÇ€iãP„Q#‡B(²òÅ·ò̲5õX0`ÜÝÝ ŸžžŽ¾}û¢oß¾œë+==|>ÇÞa¾-yðlø¸•Ÿ///ö™ª“qcGZÄ7Þo‡eee(++3ËWt%ŠŠŠPRRÿ6“s¬ÊåHKKƒŸŸŸÁqÆDâââš?.É:4]SîãIw˜î†T*e0!!!zQÊŠ™Ï6-gú‰ZrVÿ¹>0ŽÀ¤¦¦ÞwÞmFdÃkóœ¶þ|yÓbýLMMÕ²+V0ÁÁÁLO!00ñóó3«ŒÈÈHÆËË‹!س}ûvfÁ‚šÏÎÎÎL\\œEëäzò"g7fèÈQfÕíÛ·u¼ŸŸ³{÷n‹ÈÎÏÏ 4K˜7?þÜj}ãýv¸{÷n³}EW"$$„ÀH¥RÖeäçç3˜üü|ƒÇ ¬)ºsÑGóÿâ‹eÀx·uÇiL)}›©™ºîè³ÃèŸ 8†ËqhŒ?h¬*E®Ü¦GÈÖØ${Ÿzï½²|#«v.þšÿß½|·G)ÂÜÍÔhAt>\CSü¢±”ü£V K¾‘hÖ}GTR‘vìŠÂµü ¸ù`ÕÆM˜1D÷5e[IËkÇÕU]Z°måY6Zÿ+¥¦$‘âñ„mÎ_Ò"8‚è|¸‡¦ø+kŸäâ6Ð*|£¡¼@&% uM¾‘蘧®( >ãžF¥Buï›ÿá›}{žŽ ãúÜi·Þ LÕ%j(Ï”ÊU÷cZ©ùûÓ0b„îcTJE¹ãÐTðèÞ‹fû¤Û2e§ûF½ù¹L”Çœð¯É7à\Ýö­‚›{|S6Ï{/–ý 5GÖT›¬ù¯Ñ}ºœ0#>|(_~ÔjsI<Üb}1m=Q/‹Éƒè|¦OŸŽ-[¶ÀÎήcn,]Ïêg€wt_m¹>Œ}íµ¾ûú?Ùž¯u±jEÕÖÖbƌ͘&$_)4ú\;gK–,AHHÍw#Ö­[GB Ì»ódáJJJðØc±óINuŸ´jÕ*lذÁ¬ö!++ËävˆzÙkÚáããƒÃ‡³–a}<òÈ#xä‘G:¬>‹8Ï—±~ð;Ø•ÓòV”ûèG°çÈ·µz~T•µá…ÍÓYƒÛñ[«V”D"ARR@Ñð'„¾€I¡ûM| ¿íÔû•æˆ ‚`ãÜÝÝ-â“Ø L¸nùG¤…ލä½ÿ}{~sU}^Æ÷ßÄ"Ÿ–ÕòwÿÀŠi›› X2Ç£‚º”iŽ˜ òIä‰à8[ƒÄýë`kÃCYÒ§˜äë7Ÿ±øë’åZü0'o×ÁFà„ç~†Ÿƒm—$ÍA>°7CÒbIDAT‰|#aE~GU4rÕ.Üô Õ[XT‡²ìœÈNie辋9…—útIAÒ1Aä“È7=0À€æ®GBþÓ8‰OÇ!³ ¶Îý0>ð<ûü2x9º¼@iŽ˜ òIä‰àï„9AÁ˜LÒ'‚ Â"Ø‚ ‚ ‡ ‚ ‚‚ ‚  p‚ ‚ (À!‚ ‚ ‡ ‚  p‚ ‚ (À!‚ ‚ ‡ ‚ ‚‚ ‚  p‚ ‚ ‡ ‚ ‚‚ ‚  p‚ ‚ (À!‚ ‚ ‡ ‚  p‚ ‚ (À!‚ ‚ ‡ ‚ ‚‚ ‚  p‚ ‚ (À!‚ ‚‚ ‚  p‚ ‚ (À!‚ ‚ ‡ ‚ ‚‚ ‚ (À!‚ ‚ ‡ ‚ ‚¢‹QRR‚ˆˆ¤§§÷X¤¤¤ ""=²ÿÇGLLLˆ'‡@èØÅÙ³géú`× p“ÉÊÊÂÚµkqáÂ…+ƒØØX¬]»EEE=²ÿ;vì@hhhk×®ETT9BÇ.¾üòKº>XÁõ‚ ‚ ºàAAAA8„†êêj¸ººvúÚ…ÀÀ@ÌŸ?ŸBHLL \]]‘ÐimHOO‡««+ÂÃÃ;]Öà—6mÚWWW2În‚€DÐq0 ƒÊÊJ444tz ÅãñH!щÈårTVVB¡PtZ”J%*++ÑØØh7€í—êëëQYYIÆÙM '8AAP€CAAÁ)çÏŸGHHJJJHA÷ÈËËCHHH§®i"(À!Ì !!aaa(++#aAÜ£°°aaaHNN&aàAÑ=1û-ªˆˆVç5ÕÜAÚõ›(¼]†™vŽèïé ßQÃálÛ=ã.õÛSê}ŒØ˜˜ ùÓK—.±*£¢¢ ¬Û••ˆŸÏ×ù]½}ºü¬¬,ˆÅbÖõY#\èÁPùµµµV+³’’³l¨£tTPP i£\.ÇñãÇ9Ý#'==Ýì±Ìu›LA=VêGEE…Þqo.–öKÆêÓœëZë¶è+£µÆÇÇ£¢¢¢[ùF.ô`ÈN **Êà+ýf8¦¾R§¨+Ä/?žÄÅ«9P0ÏF>O …’ØðíáûÐTÌ›; ýÄ|‹)¡±ì’³å˜4qL‡)^ý*fcc#ëWÕARuu5ìííY•¡T*¡P(X·¡¦¦€þW*srr´l#33B¡°[½~É… 9Z©Tjµ2S(šWŒ­•ëׯ£¸¸XÓÆ††dff¢wïÞœÕ!“ÉXË ®®N3ž:KŽÕÕÕÙÓ†;wîàúõë=z4çm±´_2VŸl®km1úÊhm‡×¯_Ç;wº•oäBíqëÖ-Í¿Ó 0&ÇÐü™Âí¸3Cìm_Ìüm}(s.9›‘+†Q51ÙWN1›ž¯)W(ñe>ŽÍc,¢!“ t±cx<[¦#‘J¥ &$$„uÛ·og0©©©¬ËðóócYŸ¯¶Ý»w·ùû‘#G´lÃÛÛ›9r$ÓàBí±~ýzF Xmÿ???«ÖѼyó777ÍgÇìÚµ‹³ò0ÁÁÁ¬ÏŒŒd0qqq&£ÔÔT³}ûv£Ž‰DLPPEÚbi¿d ÁÁÁ ‹Ë¢Ž]¬X±Bïï­í0((ˆ‰DÝÊ7r¡‡ö¸t逹té’Ác;l.¨êÏÿb䬗Ph; Q‰8öï·1Ã0lmðDÅr¼>ÜŨvȤñx$8´ÞƒP6–"î—³HIÏBe½N}<0vòlÌÿ ‡t@4.»ñ¸ìç£Íq°sš„¨•C:ÞÁcV»oÀ’æEx å'°hW:μ4Jùä46O-1Œ‡¢rñú¿Æ£N¼3g1žˆ¹ŠíÓ=Ⱥ»9*ùmìzë5¼÷ïhÜiÔÝëgð´¿ãè‰/0ÆÑ–„E:è²lݺõõõعs' ƒ qyŸ¢RÔ§#âv9ˆÿ²&ÃSC«xj}þmÛ«P°uðÃþ•£|a?¬}f°QíHùl!¢ïÀûÓú“…wsjoýŒÙ>ÃðÒÎCm`Èùõ+Ì}øcé KsîÜ9œ:uŠAи쌧¾ô¨Jù¤'_Äžmká;~Êí9ƒ–ÒúÜXy áEµÍÁÏ×W‘™œˆÌ’¬âl° u…1˜·­§¾zŠ,¼›#¯ù³üþ†s·j [žü> Œt@4.»é¸4{Š*$$¤}¡Vÿ¦ó]EÚ×X$FШ^zÏ“IuߟáU”nØçˆÁö1Œ?íÛ…! ^ÀÛÞ2¹ý\¢Î± ÞOŠ ê}VÂÃÃÑ·o_Ve””” ²²’u ÇŽC~~¾Îïþù§–l+++Q[[kr}Œ¢·òòQZ^‰F¡X‚~¼1È]P›ðÍ¿ñ{•̨òù¢6ý¸téT*•Yöɦ^cÉË˃L&ÓiÃ0¸¹‹S°íÇŸþ©ew Ãà‡~@AAgc:!!µŽÔIåöîÝ‹'NpªcQoù ©Tjðx…B«W¯ZÄoZÚ/™2®Íí_JJŠÞ2ZÛáÕ«W¡P(:Ä7&FíêßhŠØô£¸¸°{÷n;v̲ÎìÙ³ t`¾üâ"ªï{b׌ÁìÙÃôž×p·áû~×úNÕà‹Ù³MK0•òå?P9þU„?û°æ»°°0£ÛÏ%uuu‡··7ëzËËËqáÂLœ8<Àn1Øwß}Öm¸ví"##áëëÛf"‘ßÿ½æ·ƒB,]£¨Àö"ê‡_Q)×}•¿¿ß\l{÷ ¶èœVgt?ÆoÆìÙžÓÛ~À7põêUV:2§^cùé§ŸPWW§Ó¾ÚªB|ø!7:0·gΜAee¥¦~ø!†ÎÙ˜ ƒ§§'ëòlllðã?" £FâTÆ’››‹ÀÇÇǨ2>ù主»[ÄoZÚ/t&''›Õ¿°°°veÔÚ‘Ý!¾ñðÚñÆèÁ\ßøõ×_c„ xðÁ =á°|¢¿ó[&j#tôcNßmh÷œº;_i€é?ñ$Ã0 Svå(³å¥—˜O£SÚ-ãnÚçŒc¯@&¯Q¡“ˆ ,R¢?Ë'ú«)ˆef”èèþþ?· èœÛTÓàyê¿~_cd*Ë%ú3§æ$ú3·^sý•ßNâD\ô£'$ú37á"%úë:‰þºŠo4¤sǶ)‰þ:ä-ªéÛãÝ÷M|}öú˜Šõo¼Œ1®ví^*ÝGiv}젒߆ÿ¤'Q$SŸ}†Ê«åxgtÛ©×] ™JŒycFê­Ç××`$}™&i;õ±1Q›çˆ·h?Ž3ªžþ“_À¥³aò¬³]­^mø˜­kèAt7ß8ØYˆœ*yòà€'À’×>Ē׌?EѨ›ÁØÅß*E%Jä-Ó]ßÊÓà,ºZжĨzÿŠŒŒ =VÂ/6zŽXÔëQ½¿MðõĵÌ"4ÜÛßLÐÉÏn~¿±ö6<«ïGW©·-G{ãëù¬t`Mý ˆîâ=FùãîÕTÈd=Æ7 ¬U¡µ¹):ß|b ö}¹f"‚ö]‚@<ÿx~(Y¿i+”ÀÞ…ózTò¼x¦Èèãg~ª÷·€™Eü¥-ø5.9ÅwÁØJ0hè(L2&^}ɰÚëGð™BNúaªüÖŸ-â¼^Sû¯ pæáÌ…u&ë€K;°ä0FDÏó–° •¼ë¹´YpËöþ†›2ô³ÐH³†’A@a#w{y©”Õhb£Ží7ñ5}¶ýé(¡Ë Ìþë ‹õßõqzû¡0®FõÃ4ùqW¯¡þ‹œÝ0ÐÓspm–w›h»òºTrh*e5šÀÝØ6×7²½>tÆØ¶±V#:ö“v¤ç4hÆ8´dVìçãkRpSS___øúúbøðáš?___Ìú”Fm+ŒIŸz†³:âa˜2ÀÁàqý'¿€Ëç-7Gllÿ+r¯èíÇ`ga‡÷C †çý\9©×˜þ7V•"7§œsÙ ÄÃðØ`§N·cÇÀǯ’à ߨù³œŽ‰§téô1aîõA †‡9vh?¬2ÀQ4dàÓ¢­ïæ|¾Î¬2=· ##£Í?Z`Ü‚)É joÅrZ·ßcKb¾®e ¼±öÝHdÅíà ;¾Uô_£üѯ—¤Ãû±04¼¹öõšÒEc©Et0yõ€MçØ)2h,¿BNƒ|£²ŠëœÖ=/äÝN\]–­ˆ:È7òî½Öf4ñññ˜:uªæó“O>ɹë ãpòRIK&pÅÂEÖ×u£”¡üN)¤Õµ+ØÚ‰ qî‹çOÁ××~~~¬ÊÍÈÈ@ZZæÎ ggg“ÛàÒ»R~¿[[[Ìœ9SçœÜ_O éNƒqѱm<±H·Œ¢¢"üöÛoÛ8yò$ø|>æÍ›×nyW®\Avv6žX´ee¨k”<ìѧ· Fè?::C† Á¸qãXÉ×”þólDxô‘YppÐ~òtîÜ9455aöÌ@ÖýHNNFvv6–,YbtÛoß¾øøxL™8|¾€U½&õŸ/Á’ÅÚ ›ššpìØ1Nl|ö¬©Ë¬úqqq¨¬¬ÄÂ… 5¶1nÜ8 2„3Ø\ðÄãsXÃÆš»¸|ù2fΜ‰>}ú°’•ÚÖæÎËÊ'ÙÚÙ#)!~~~ðõõ5XÆÑ£Gááá‰'rê ù%c(//ǹsçŒÒ±¾6æÞDvvv›×5ÓìÂO<>W¯R·1!!ÅÅÅX¼xq»åàòå˘>uX‰sçΡ¾¾ ,`­;s¯iiiÈÈÈÀÂs!•Ö°êÇÝ»wqöìYÌš5 ½{÷¶l€“ÍypðÆ$?|WZßòô棳ػh§uÔäœÅ±„:<½â¯œ–«j*Å7;ßÇ®¯O¢\Öö•'Ÿ[ƒÞd÷úÛÞ½{±cÇœ[·nEdd¤Y65dȬ\¹¡¡¡,tÇMÿ—-[†ššœ‹ëׯ#11àããƒmÛ¶á©§ž²¸ 3{™€»Ù¿ãÛo¿E@@«>ckÆø¤¿¿ü¶¾ô¢ÁúFŒ9sæàÓO?åÜ7êóKÆ’””„eË–!44+W®dÕ‰Û`Ô–æèø .í¢µ¾üòËøå—_4Y­õqüøq¼òÊ+fÛJqq1âââX^ÛÌ—ÁŽ;°wï^¤¤¤ÀÑÑ‘U;’““±dÉÄÄÄ`ìØö7Ú6{…îàÁƒÁ%eWÞÔ nœ}žÇ¯Ì„‡Oo”Y˜1~.V©ðÎ?¹›žª½õ3ÎXbðñÝO'ÿÄwûÙÉÍÕµy…§§g›²7¦ M UÈ̼«s¾¢A¹ Uc7?Üæ_«Œ>}ú´[&W6`Ì8¼›Ýœ©ÝÃÃu? Ùš±>éÈ‘ë8n¸ <‰Ääöšã—ŒEÂ_ŸŽiCmiN›>ˆ+»¸ß%‰QãÜÍÍ[¬ÏçB..Ík‰¼½½ Î@裴´yj|À€ûb]kpBïjõˆËç>á4¸€}Ëf#^*ÀÝ[@¦ÌM6ܹdñ™Ò†¦º[ºÑ®x>žáaðÜŽZÌÖÑPÿ{vÿ¹’ë¸:ÚÔŸ³Šv´å—:º 46º ¬*À¹±ò«5ŸŸÙK=%œÖ‘{d Öo~a¸{•Ï”FÑ`‹ÈÏ”6ØÚÞèô¥Ÿ“°mõœN]èÛ™Pÿ{vÿ¹)ãÐ’˜ä“Äí¢úüRG¶ÆF÷‘Õ$‘©+:†Y/µÌ#n:Šÿ<ãËi2i< Nç¼í*y þaB’µi¡û Ã&ÁœImØöMÛÆÖï|y o|”ÏY2¨®õ¿g÷ß\˜:·…¿¿§û¤éÿ·Ç"²äÊ/ãÛK0gªNhltÿ`Ž¢!K'<…Ò{»ŠNxa/.ìxœãZ”xgÎb<sÛ§{p;ˆ•Õ™07yòÕ©í8ö æLiÃÏo´ÿFÉ º2ÔÿžÝ¶20užÙö¸Eå›ÚŽŸ6N¶L€Ã±_b›`ÎTÐØèþ¡Ó§¨”²[X7yNÞ®<º9 k9oXÊg =xÞŸÖŸû(‘£¹IsÌõô9b‚èô;F+‡Ý±æ$˜#ߨ3éÔG&MÁSüñeÊ]ðí<ðÖ7Wp2l9çª+ŒÁ¼m8õÕS당s“\,L¤9b‚è|¬ev§v˜›`Ž|cÏÄì<8ãÇgÜÔ”#'»õJvN}ð€÷@8ØZ ÞbTÈ»ž [ï‘ iÞêá?þ0»ýz«SÊQS[¹\†Ç‡H‰ÄÞ`ÐVž™†üj¹qJ³±ƒß¨á°µµå´ \!•J‘­‘mZZø|>FŒÑîy(++3K'üñúöí //¯NT7oÞ„R©4Ø_C²(//7)aaUU²²²àããÃúLsQ*•HII»»; ÀªŒ’’aĈ‹Å¬Û’™™‰úúzŒ3Fc^^^èÛ·o‡È¢#Æ¡1¶Æe;’““áââ‚x Cåa’ä;bœÿ0«ô÷Ûann.¤R©Á|.ÈÍÍÅðáÃ!‘HXÛŠ\.g€“ ŠŠŠPRRðùì‚ɺº:dddÀ××W'ɪ®ÂM$..Ž ù3•Ú[¿3o==áñxŒ»ÿ|f÷ñ+Œ%9ò3dÅ×Zß™Ó~K ”ÝfD6<­vµ÷·àË›Œ5säÈ-Ùz{{3#GŽ4x^pp°Ù:Àwjÿ???³ÊX¿~=#L:çĉ æÄ‰Öw©TÊ`BBBX—±}ûv“ššjV[æÍ›Ç¸¹¹i>óx¢Ž™çüue(d*1æ©÷___H<‚;uÃMõ"¸Wεÿ*cÿÉ/àÒYZGDºH‘$¬5Ày`ÒcxsÒcÒ¹EWKÑVj'¯edddX…"^ú9 UëžAØW§Ñ Ô¾]:yãÙÍïáã7–ÃÞ†F/Aô4LÍ‹ÕÝ ÿHXe€C%‘"â~ å}9»a §ùGò8Ö%‘"¸·9ä”ö7‡l¬*E®Ü¦ÇÈ„ü#ANÔ†aÂìÿ†oÙwÅÖàA´F÷Řý“¥$0‚èÉŽ£çddl!aõ˜´A%ß‘Fm`r¢¿¤¤$,[¶ R©uuu5jI‘Т±±·nÝÂСCÅÅ۱±»»{»çQ¢¿ªªªPQQaRB5Jô§Myy9áéé ÈÎΆ»»»áä` Ó„ä+©Py¸¸·Fx÷ï¦åååÁÉÉ ®®®äèXÒÚ+**P]] ooïvÏ¡D-ÈåräççcРA …ÆAX ”èÏ<(Ñ_÷ ©þ&Ãã—Ø®ßÄ×™Š|Gw‡ý±Ã†âi‚ ë6‡$n ‡ ÂÊ Í! ‚ƒ›Ñ0qIÁ1ÎÎΤ.î<)ï Á1qqqàAÖå}!3nHAAP€CAaåð·mÛ¶Ä@X¶¶¶5j»t?ììì0aÂŒ;¶c3ŸL›6­Kç):t(¦Njý9k¢ƒÆ¶——¦M›''§.íã}}}Àò+dLNôGAaíÐAAàAAP€CAAAA8AAàAAAA8AAàAAP€CAAAAàAAP€CAa5ü?ñ>ÿ܉÷qIEND®B`‚nted-1.10.18/doc/docimages/after_connection.png0000664001041000007640000001033111520267216016262 00000000000000‰PNG  IHDR¼OÞ-8K pHYs ‰ ‰7ÉË­tIMEØ 60Š„º/xIDATxÚí]y\çÖ>Ù‚ ›A0Šaq©;´(¨ÅíºK­ÅÖûso¹VÛ϶ßý®Z…Þê½×ÛV´VëÒVÔþ¬[½ ¸¢¼‚H@!A BXÃ’m’ùþ˜âB!‘€óü53™÷Ì;3Ïœóœ3ï¼! ( 8ptDüàÀIƒ' œ48pÒàÀIƒN}’4z¤ñhòö#îéñ‹Ý_@°kq¯­êÚ¢èù—J›ÀwR⹋F¹Pñ‹Ž“¦S¨ew¢§ÞkR·0½b³K~eRð뎇§—ÕüeòSÆ€¢úJÜŒ¿ãÝ®Ðh4ùùù*•ªïyqÚ‚¡ËÎŽA¤1 Z¹Î j¾(¨ßÁsÇï®m$£^/‹ „B!ŸÏ%%%‚deeMž<ÙnÁ.@f¹30ûüfß)om“ÞáµG%΄c(kñôéÓŒŒŒ¯¿þ:11q̘1NNN/½­)))öëƒ]„÷¸™LÆçó1–òù|™LÖ]#$)000,,,88˜Çãñx<.—k×ÐÓ;¤Ñ©+ô( ŒgŒ·ˆ/Ü)wKÿó3J¥²°°P `, …‰Ä ;>>>,«¨¨hÇŽ3gÎ f0Žv²¶'^×òÒí÷vÞÇÂ?›Þ×)‚ Hii©1©)((‹ÅVÈ,Ê„………„„ðxÇ’ÊÊJcF# ÕjuwÐét£Á"ÎàÁƒûâ3c{Ò¨ÞØ‚Ö¤tô½øj¼&}ãøyScc#Æ#Kš››­#\.Ëh0p¹\©?Dæ.Š{ùùù«V­’J¥2™läÈ‘ÍÍÍ¿°È"hš%üÒì'?^Ä@ÇKinnV¶C«ÕZa„J¥2 :.—Ë•Jexx8‘hM ³®®®¢¢Âj5ƒ©+‡ÓôEÜÜÜ,ê³ù‚qVV–…{šÂB€”ÊEÛ¤íŠxðôýŽY›ÏÉÉéî½qss‹ŠŠZ»vmjjjVV–L&3ZKHH`³ÙVwfß¾}PPP`]ó‚‚HNNîV«¦¦&(//·dg»$o£)—e:©F¯S—/³@¬D€Ló;qj¥uˮ޺ë`qmK•H„zpg,\¹}ÇGN6ë|HH`Îé2 ,é õöö~mË’v!Í[.´Ë2U…¼íËøIç$rlc¡ÌI,kF`=ù-iÄÒŸSï§ñÜeŇãG¥þcóÙSÙÅ¿‡ØH1™LSÆÉdLŽYÐ?äˆjqvO—ãgZ±mÀ‚}V»ëntpöMÀVeÿj°9ÿWF(>~üx^^žJ¥ê‰©~žìò²Ù+Î ¤™°ÕƒçÿqbµÕÖþhÑ@[M:¶Ê²Þ_úضݎˆˆX¾|ydd$Fý‰Ø…4¬‘¬WO÷K»wœC±þ@?4Ít™™tÜ ¥gM-~ÿú‰¦QÕ_Ÿµø¦qõ£_³Þæ8õÄà¬Ý—šv›¤”õ¿„'¿ýÁÓ葆ıóø CcÄû'wÇÛ¸þ[ôÝláƒ#Ÿã÷Ï‹{·oßž2eŠ!‘=ºKs²r¡¸¾cHó Ð_š-“T¯>,TëQ‡;̇mC˹¹¹nnn=7UVVÖÜÜa]ó^)îétºüü|G¥ZáÚ0{ªÉÙF LG§•Ú¶ ·oÞ¼âë ›×÷ !!Á&¦ðìÉbªª+—ÌH6ú-¿‘l¨8YaCg 8¸lã%uÊÅ⣛ãÕdggã‘¢okš“ïÇÜ“GĦ¬ï£ !÷ª­ìË„£6ÝÿánÁ'o•ìrÔ´Uøýë䩼ü„[&Q=ÉÜé1|!´ÕÕÙ¾VÁ_0ûèá¼ÜÄQ†ÀŸÿ#Ý%¿}5åFõÊuñ;iÊÎôXw:ªŸïLJ”«%—eª™®ôž¥dª­1Ó®—Õ^þŒò4ú ~ÿúª§ŸXvºZ-3<â/ü%Dæ¢ øéIkíŸßàð•i;þî70›ÆpcI°3d'ÇøÄtÌU¹ÀÃÉA„pgJ–Åá:³:ÂZe ‘@0¯H4zô£[B¸§Ã=ùÿŒ†ûìVÄp¢zmCÒ›1Æ{ÇÅ)È´Õ·<ƒò›yÆ|šEÇ\Xaù­G#âiflÀ€NßÎèfÚþ{šER®B^ý×쯔4zmÃ[.t»ùbÇ,ÂÊ2ã³ÒPø>Ö<«YmÈœ[sIžú¤¥‹5§ ¦0™ÀØ6((hLÌþ^!¦5o|ƒ„æ]ÔöâœHÏd!Tvàš¿´ézg „W:ì–öŸ¿zOüü¿»g-ó¼|bK,èCH•˜E‡àˆ¤ur°;œZ¿›½ÜÖÁ5þÌÛ½R¡yv‹+Å`»¸¸ø—Ô,¯­‘†™KY)žÿûCƧ{Êoݺ'®j@)ÎþÃxQ“œˆöÌy¤¸gDÆ'°}Þxw»X®}ÎyPH0zg¾²öáÿ­o “WL¡BkÅ3áÒ^ã±î‘2ó’/~ñ2 -ؼ¶Öëx¥áÉÈŒoÿ<ÑàfYÃ>J>RÖÜ¡BÖx9cà8v'Á›»©°EcÝéõ„4æ…Ý#Ò#Ž©dû iPEѼ_÷DªvD’søÄ© —,?g×dšO¯Q³¦ ­Qµ/ètKÓt)Dª…¦PɾJÒtcÖ, wR?ï¡ T\^S×ЪPjñÃV~úñøÀÞŠÛwþý?Ç„2³RÃ=õÛ]Åt]륟§ß-Ò˜ÖÖ§Ï[þêÃá.½#Ýt­7lÑêÍlØ{Û×Od¹MDÙPRò¤¾I’hîž>ø>TBä‹Í…°m\Ÿ( ;Öè/ó{ËýöK!Ò[xÿ CqŽÄênõÚŒ2½þ’¯?ᕆi˜?¡µLÔ‹§ºþR^g%5ÑÍý~4|J=‹‹s¨-þ$L&Lÿûw??,kpþîÆOâ‚]Ÿ Z:™¦Ö£|>l‘ìíÝÖ4÷Ù’ZÒ4Šª“Æ ÉìäÕÏíƒeÝÎÞpA€kþ®íõÚŽÑwz¤ùos´™ä)("«t`ï«8ú¦i=?MÝòÇþö¯»@Ùø;ög>†ûáW' gêK¾©VšxšÆÃ_Zrð¯¯qÒ`Hx~r!k܆öaÂpc[¶°x>îip!ÜŽ-#:Ò%ï°§ ;þ]BÕxm‰n!›q Ù?`Ò´ˆ±ÈDpßp³ Âäáã÷yn@¢z]”*ðËÝ?`³?s/9¹%ŸvîòÍGOjˆÌácV|ðÎP8ñ×8ð”œ48pÒàÀIƒ£ãÿµdÆ¿óû½IEND®B`‚nted-1.10.18/doc/docimages/toolbox_accidentals.png0000664001041000007640000007314711520267216017000 00000000000000‰PNG  IHDR;-ø1PsRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ "BÜàtEXtCommentCreated with GIMPW IDATxÚì}w|\Źö;gÏ6­z[õ.K²¬bKr—\0Æ6%`SB àæ’r/)„äÞ|!7@î %@€B½0`lŒ›lÜ›lÉV±$«·ÕJZië™ùþ8»Gg{;+ùÌŸYm™çÌûœyçwæÌƒ! ±ˆe†J4XÄ"öX±ˆE,b‹XÄ+š@,b™A…öðYÂ=O‰ ñ2ð·ÿàW"³3—Yä2WÌ2:¸ðÑpüR𩲆sG÷V. ¾SBû:þð~õ[‘Ù™Î,í’Ô¡ŠM€‹È%¿èaS05 Æ$H%5,S ÷<åK§™ÌÒΤjæß„°Ùe–‡2ùj4†aÜÆÜiŸe¼Jsp”˜©Ä Íü›¼vZ‘ÙÙÁ,íêg>9à‰‰‰õë× †½{÷ªT*7W0«|¹0K°”RI`†™ÌÒnX;o=Â>‘±wïÞ{î¹§¾¾¾±±±¼¼!äâ ðôñjþq!ܲµëæ1þka=1cÀ_‰³aµóÖ{fg.³SDåÌe–vþ šÍchkk[¹rå®]»L¦Éð%˜Mh¹¬Íô³w•Ëž® Öö˜™å¿È3f<±ËJ²#i ‚– › Dé ¡¶Q‹+OlzŠ˜ýõRõ¯—&žê7T½ÑKSÃvßš ßûôâÇ#°ecÖU9/žú÷ÝÐ:5cìLa–öËw~ñŵµµ×_= =ÿüó„žžžîîI&Ž;–‘‘Ëœ+yþØûâáŠø²e´EkÊs#Âp•ð_ S3Ú‰º¬$7Jz}–81»;õ`Uº²$^&Aè£fs«=µ.=±wè)cvßÅXšX’ ˆ–’#S“ªd߯IUn97$AhYjì»8êûeK)dÆÄ%­SRf³´_óƒÁ V««ªª`ppð½÷Þ«­­ ç¾088øÂ /<ôÐC•••€¾9æ\É϶·ñ{ì?O÷tnlîç–⸇«ÔÅ Jpv@ÿÜ‘¾wÎq¿õü) ÌpM(ˆ–íÝœ_ž¤:Õ;~ÏÖÖ&Ás%×ļ³1O£·,xõÌÀ¸å›Û ¥†?s¸÷ѯŒ¼:W2a$FÑ4l*•aFŠÌ¡‡ ù12ÑÌX,ÁÏc§ŽÙ#£&†È$hyŠò‹fmušjÌÄ ë™åi*ÄXÊ“TQr Ô¶°×pïü„+Õy1 ‰ÙÖ2ò__Ò[Àð‹*xòÛž+s£ŠÂÂþçŸVбüåʬ»Ë‡ W¾}¾kÌÄ~Ÿ_°þÄ3Ħ›?:7¼±0æ­ yÖ_ÍfÇXO×jmmݳgÙl~衇®¼òÊcÇ&™£(êõ×_ݹsçøø8 ,÷ÞVÂp wÏWÿ媆†æÆ½~mŽŠ&¯èóú©sm?[’ô~ý`¬R²05ü½r+_>‰‰§J>ièéhø•I/]™y¤[·(5üX·î×;[‘ÍÙ£ y¥³ËJ.jÍÇz$削F¾4NM}^´ìp·®kDï¢ìT þy¢{dÂÀ¿&+æï Í ¾éíÓgzF¬µyƒ`o IËÌfýËBòòò Ö®];44ôýïÿ¸êª«{ì1vµ!ô³ŸýìÖ[o]°` =;}Ɉp µúœØ°’Då;ŒÊÔaÐ1¢g¿àùSçÚæÄ*cÎ`ÿì™@ŒÙs%1Jéï/σ߹ å_Ç;uhùÆ™¢Ø ¬Í)MŸŸ§$„œ/IP0Œjç-qU‰°¹â ™=Ô6hÁ„¦Ðƒ‹ÒÆM̉“ÎÃó“£4Ô¶ °Ð9bÈŠQÞûaÝÛ'­9­ŒhåE­žQM&“ó¥¾y¢ë–²”g®.0~x¦—}³$)âý[K¤tû»§j[¸<@˜"• pc.ŽWð3´3…Yÿ¢bÖ755iµÚ””رcGtttmmm\\444èõú“'Oêt:ðqãÉ8vß…?_7ïG˲2£pݼ$xfo ûÏŸ:×ö£e™Éá²åÙ±Ð8 ;qQƒñ\ÉËËÓ¢¯é8|qø…J_¿¹tɳûF fÅâDÕâôH‰ý¢¥“ƒ£õã_–¸É(ć•%*Î èæÄ…íÔ"€òäˆÆÝuØ…A]³FïP‰àQqÌNè-Ç»F¦GÇ(¥ß42f3¨mº¥<Z5ÝÃ:Ö@/ìo}òš¹Ï^;wm^ܘÑR¬ŽX˜ù«/\2È•m }»š^½©üµ›J-˧g{`Ërºeh|YF;’ÿçÖzϧ{F*Ò¢²<«(!ì‹2yQñŒaÖ¿Ìë‰×­[×ÓÓÃ0LNNÎÛo¿½|ùòo¼‘ýB?›u\µj íŸø°cá@ÿömó„ÑøÃe¹W%"@§»G^ØßòöñäçεýiwÓºBuFŒòXÇð}ï'Œ y¬äáå¹Wª[‡ÆþÙ©q“eíœøëKR^Ü8oó›‡9jèŠÌH Ææ¿©’I–¦‡×õhœ³ËJ‹)ˆSêÞÙ¢aã¨ÊÔH„qú¾l 2OÁ3»ÿÂÀÂôh¨½0ÀbÕ¶ô³=ö@ë ‡þbm£ÁdºoIÎõó’0!-ƒãÏík¶O2Yœ/Ë{Ç»cÔÓ×–þã–ù›Þ<¼­¡7)B¹qª—f³_{ôÓSž!~²åäË7WäÄ©–gż¸¿åg«æØ2O3†Y»gwîyÊ›íáÛ»nÉ>zôhaa¡D"iii9}út]]Ýã?ή¼³!ÍÎ;óóósssB×|Ö³¨“‹$Ão–&G,ËŒ¡);OlfHmûð™^ÇìBxËþ‘Êï9WB!”Æ`Ò¢™° z§€æ¡q‡Ç«Â[öRK/O®iõ°çIdvv0ëߊ ÌŸ?!ô¯ý«½½ý‰'ž¸ë®»–.]ÊÿÎêÕ«'kûä½ÙÄ+0fpz8ñt÷èéîQ_g;Øì²LHã€Î~Ѓ&ûwø•¾ƒBdv¦0ë÷.Ev«Z]]Ý¡C‡n¸áëW[O}©mfĘ‚:z’ J¸J„Ì<‰ÌÎfýc¹òØcýáxýõ×üq>©Ù…ÙÓù$À´xb yX,¢©Dð1Vdv¦0ë_®8îáWyeÀß~þާ ˜U¬bÌ‚¦D˜J΋ÌÎfýË_êÅÕDÅOl œ+™)Ì:öXÊ4.Ò箄w²,¤’h™Ì:íRD8÷Äm"‹3¨þòMà¶¶»ñß"³³Yñ¼b±ˆe&•iê±gΜ‰W«- ÷B4ý,+ÓϬKÄú††Œìl†a.雑Íþ—–™¯VsŠ·éL//¼øâòšîÏß?ñD¼ZÝÔÔÄþYWW¯V Ì Í-*ºØÚ*‘HBÄ­|7=öbk+ûß¶Ï?çÿ)Þñ3½ÔTWŸ;~ppýs_mmÁœ9ûjk¹?‹ =œÊ1hšQñàààwÝ•—7§°ðç¿ü¥Éöd »÷ùå½÷ߟ_Q‘™“ó£GáÎþrùÃîîî9……ŸmÝ „[6o~àÁEÚ„*ÅÅÅq±±lÕétçΟÿ·‡æzìÞÚÚêêjäÇ?žSX˜“Ÿÿð~¤×ë¹ñê½÷߯Z¼¸°¸˜_íñ'JÊËß{ÿ}X}ùå\P–˜œüäSOy®ëüìŸìëÞÞÞo¾9=+kéò导ú*÷¾3"¿’ÿú×’òò´ÌÌyee/¼ø¢ÉdZwõÕ“ŸŸ‘ýÁ‡º»’ÙÙcxðA‰DR_W·ß¾C‡ÿñÉ'=¿Ï/»vï>P[{ìðá³õõøã=ü0%%åùçžûñOz±£ãÅ—^jmmýÓS¢fŒ`!´lÙ2¶‹Þ²ÅáSD¶tuwÿúñÇÿú ííßÖÖ®X±B&“±Aâ…¦¦‹­­7ÞpCW2S{ìF³{ÏžÇ~ùK¥R™ð“Gyÿƒ<¼ïP~ñè£J¥2>>þ'<òáGyþáÚË/ßtË-·Üzë“O?ýÚ+¯¸;óZ,ÆlÝ[[»|ùòÄÄÄØ¸¸úúú“§Néõú¥K–ŒŒŒlùôÓÿúÍo"""T*ÕC>¸å“ÉGí~ñóŸ«T*…Âútøß_ýÑŸÿüýwÞYÁ›@ssó=÷ÞûÂóÏ{®ÐÅÍ64´wß¾_þâJ¥2..îá‡âêQ.“Ñ4ÝÔÜ<66Q8ÒRitll\|<òó‡Ì^~ùå?ûÏÿÚàÀŸžzJ¡T®X±âÛC‡ôzýüòòDµº¡¡rÙÚµlìðËQ™ÍÅþùÏ Œ‡Scf ³[¶lyô¿8ßÐpi2+î+ž Y¨YßÄóçÏ744@GgçŸzêºk¯½d™¥Å^,¡_´##÷ÜsO¿L._Í5¿ùÍo.YSˆ=V,3 ,Z¸ðL]h/=6üžFÑ@!^jäW"³3—Yq+±Ì¤"öX±ˆEì±b‹XÄ+±ˆEì±b‹ØcÅ"±ˆ=V,bK ;(>Ú¬#˜P”BE!^¡( ! Œ(D!Šû”]b71#B0Æ4M¯xnB„BØ"š=ô™ ¤ÇŽŽY,–ØØÂ–€{ø! ) ¢Å^=… @Öë%@Àd2q'<‰C[D³‡>³ôX‹Å‚1–J¥ìå‚0 Š ! XÇ"‘P! Q€…(©DJ!`•&af||@â ç·(ÖeQEI&!ì<¡Õ76ž%#¶bDQ„(„drùÂ…ËärE.[111~öÌÉ…‹–ûÛ a‹Èlè3оb„Àl»‚õ:!„‚1¦(Š ‚ Û¯÷¯Ÿ„ƒÀ˜‰ŽŽ¡(Š«ŠÿåÀ .\h|îÙ'Ø“ø¾†›B¡üÛkÆÅÉ‘p­à 5>®;vì`eÕRŠ¢ük…°Ed6ä™ üI—h„Vh!k´@Ä^¿õ¹ËõzÅÎët£m%% tº±·þõÊC?겞€!0f-ª.+«”H$ˆiB1ËÎ_`Œy÷Pà­pi(çÚ|‡¶ˆÌ†2³ôXBˆëë%ö0&„‚0&ˆ»\Œ1ÆØ_ˆ±±±Ó§ŽÍ›7Ÿ=DËì\€¹y…+V®•Hh[xC!„Ìfs]Ýq‚ !8xgCqcâW+î«"³!Ïl =^H@ëlÚ:óæ.‘¢Ø CÈ) „x w†àL1i°‡@ˆ u‚À‡°µ‚¥“¤Ά²5SøÕ ƒb‘Ùg6˜çc‰t24GÜ$§¿¯W*•ůű'b‚1ˆ—UÃcL|„`'Äva«%X4dƒ œ±‡ë„mkhŒÙË&œS ¶UͰmV‚Ù¹8„æ{bB<æâœ Bºñ±ÎÎv™Lž‘‘}Ùš«/¶_ø÷G£(Ša—ž8»‚m“+˜"€0ÆÜÀå„ÐÝUd6Ô™¥öÜŸd}ó©e“åì…B(DY÷f9å}`+IˆWWV.ÍÈȾùæï#Šzû­W ‚³H0Žv'\®bÊ lkí¶Œ"åÄŒ°"³¡ÌlÏî Çå`n N¸ÿÂÅñüÙ6÷¾_s Šïà§á‘á‘ 7èûûzlÕ Á_Úæ7c !œ€|‘Gd6T™ 4ó„ˆc?éfÀºÈ5é&y±MÌ/¶*ÌàÞÞ®¯¾ú¤vßΆúSÏ>÷O™L€!8g‰1ž'ž . Á™Ëo»«ÈlH3h%“/£ˆìWñl[Ù-ôwº`!ØÖŽŽj[ZÎoÛ¶åë[ûz» !‘‘Q¶Ý$n’y~BØ·‚ØÞ†è d?0™Œîù›öÀXd6„™ 4Wì cF76öùÖŠæ–Œ†°ðpvIÙÚ0{^½çâœ><}úØSO>ζS.Wdfælظ™¢$Äùž ‚Ÿ˜¼A áZ!Äñã‡.^¼pÓMwFGÇ67ŸÛòñ[ëÖ]OÜl Ÿî\±Èlh3äž'Îç"|ø`íß_}~xxè ÅGB?ùßL:jvÇ›ß!qš'ôô¬ŒŒœ‹/\h\¶l5¸"ìomm4èõÉ)éF“‘Ø!–-[Ýß×óÞ»¯WV-ýâó—W_–¨Nvçq§ÿI‘ÙPf6ØlDA!töì™—þòôØØLŒë ¥R®B@‚ 8zbvRäõjùP\\þo?ú•f¨ÿ¦›¿¯Óµ^hƒñgA´¶6½úÊŸ››ÏY,æèèØ„„¤+× *Uø† ›ÞxãÅþòÇ 7WW¯ÑéÆÂÃ#q|„|˜™ Yf)Aœ1C˜aíN7Æ]MEå’¼‚"LW‹à„xxöÁ DGÇÏ-D9T%„Åb®Ý·³¾þ”Ñh`F£ljjJe“ó6!ZÁþ¶£³m` //¯¨½­ell422úškn bJ†Y‘ÙPc– Ú[\VVY]³!J© +)«ØxÓm€·ÏÙ¿‚÷6¾— !*6.A*•qïgeåÎ[Æeñ…jEssÃûïý£ºfÍýü4::ö½÷þ166*‘ÐAB=Ҋ̆"³GÅÜS€€`¢ »çþ/)[YQ¹„;ƒŠ;Ç!vòÅÁØAL>4åèá8‚¢¨ššËGF4{öl×éòó‹6lØ”’’Î3o°,agΜX±rí²e«%úºëoýê«O††ú#""†x}Gd6„™ ¤ÇR€![$ÈÃåk×\k½6àµø'k w…GkÉÉi7ÝtDDFÞ{ß#N(HˆÈÈÈÍ›ïÛ¼ù>÷­@A·mÜx÷§*<|ãÆÍC[DfCŸÙ€öc21¡Á@&QÙý™ˆ²-)sŽÙO¸­~Ùh0"÷ââ"„G¢ÙCžÙ@z¬\.ïëïgÁ1ð±{ `»Ã(Šbƒ‚ &¶½ã¶KÎÌÈ!‚„¶ˆf}fé±·}¦P pƒœ!‚…¶ˆf}fE±ˆe&±ÇŠE,b‹XÄ"öX±ˆE,b‹XÄ+±ˆEì±b‹XDÅgQñY4»¨ø,ŠöN„°E4û%¡øÁuÙcJE{Cb &±"³¡Ìl¹bd§ÆÇþ[P0!411.“É(JÂå/ÎWE]'ç_‰S°È#2¢Ì ¦øÌ¿bM¡ IDATb“¡ætÝ-4 áÕL—„ÀÝUd6¤™@ñ™¯¨k2™tc£F“a6iæ þåpÁ@LŠöÚÍã/aáSO"³¡Ë¬`ŠÏ„ÁÁ¾>üWsó9D¡´ÔLkÊࢽ¶ek›ëº´!_Ú™ efR|èîîxñ…'ëëO1 ƒŠ‹Kà?7hHਨËYÁ]¤q©BLAJd6$™Fñ™ÒÜÜPWwœ Tá‹Õ€CkøS€@u¶z!þÃK—0„àìÈlÈ2K팭ËMq± ±±ñ:Ýh|BÒÕWݰxÉ þuò×£lïû®¨‹\ަ¸ä!fEfC‘Y:hlõ%ùsŠýøÓ½>2*Z­N¦i©5†wåeüUÔuÓ`pD¼Ä!„iEfC‘YŸ ‘J¥YÙyµ1TÔe_ˆS]DfC™YAŸ¹¸ÀþOáuEˆ©-¢ÙCŸYQñYT|Í>“˜ŸEÅgÑì¢â³EÔBØ"š=ô™U<Ä"–™TÄ+±ˆ=V,b‹ØcÅ"±ˆ=V,b{¬XÄ"±ÇŠE,bñ´ûÉízLšÛ*‰<Š‚ „$¬üEY38ïí@¶ƒ‚$‰F3 Æ‘X™¹Ìz걃A7>¦REIi)w*wº9ÿ{qÖýX1@(ˆP“Û;xWÇÊÝ"Œ±Éd’Ëå"PÀ@Š€ü´hð™Ë¬§k4GGÇÂUQRéäÅqÄ×±e_SÅ*Ç#öOûÖp×g{Î1 ÃÊT‹@)dôXÑà3—YÏ» !˜Ee_؇”í2¬ºÔükæ_çM8jþ1sc( ÀŠhð™Ê¬§ËˆÁ>²ët$œõÙ?î\L¾³ÀQÔäø :Ÿ°, ` >c™õ<Æ:>(äÙiÛ.Ânœç\ÿ‘Aþù·¶Ó"ƒÂëtcmm͉$/·H6E@A¶hddøàÁ½¹¹™™9 …R ÀŠÈìLe6ØScÀõy­®îÄ÷%À³cfhhðĉÃßìü²´tAzz¶2L9@Á·H¯×>\{îÜ™åËV•DEEK$ô4˜Nd–«pttdbb\¥ £Ñ022¦â¸qfiÏÁw¬…Ë3ãø=Ú[œ‹ï„H~Ø@ṓ €ÌfSOOç¾½_ïÞ³½»«#;;aŒ‰à@‚´ˆ¬<{æDOwÇÊ•W,\¸\”lO­Ÿ@†Å— ³„àöö Ÿ~ú^ooWbBÒUWo,(˜W»ï›;>KKϼñÆ;ÒÒ2lê̡ˬçy¬Ã_ÈÁ.ý¢³Â—­aüSÒ ?j ˆÍª555ìüúó#Gö÷õõ „0fÁ„`„m!x|\רX?¦ÕŽ ¯^}ebb²B¡ (Ð{)2;2¢=~ì`vv^dDÔîÝÛº»;¾×CááññjÌ0§OMHH”Ë•!Î,íy®ÃóÈŽ ØKSÛ}Áù»"íîBH@‹exxèìÙ“;w~QWw\76F¦i)áÜ,°-â^†‹í>ù ££í²Ë®š;·,22Š[¨ó(àYì%ȬÁ Ç—–VPˆJKÏÜòñÛ¯ýí¹ 7Ýùýöôtvu]Ęõ!Í,í#µÎó à6åð.Fç>q¥x˪ŽL øDaKggûý»ØÝÚÚl6›&!`<)Ë Ðµhrucfèð¡}ÃÃC+VôUV.IR§He2‚ì´—³r¹Â`ÐÿãõB6nºýŽÞüç__}噪ª¥R™¼bÁ"N³/”™¥ý¢8§ŽÒ#vâ] ™ Ö,cÇ«óhbB×ÞÞ²oï×ûöí²XÌöí³ÏÅ4-r²&&ÆÏž9©Z¾|uffŽ\®(èøxÖ3UYµl` „«"ŠŠJeRÙ™³'ŒFCVf^ñ¼r¶Ç†8³>ôXBìÏÉïBü«´›ðØ–‰‘ƒrÿƆ՞:ulê´Z½ã·N Ø4•-çQËb1·µ5Œ  öWW¯),šEI$~𠾤˜•H¨üü¢´û~ €ÂÃÃ%É‚ŠÅ%¥ @*•J¥2‚1„8³´ŸóSlP>ém0Šr÷;Ç?<§ÄœL&cWWûÑ#öíûº££Íd2ºŒÙ¬íÅ8` )o‘«†صk[ggûÊU몪–ª“i©4 !rf-³!•*œ]S%„PÅ0L]Ýqµ:%33‡¦éÐg–ö#h"àÙ³9 d3 ` ¹Öqµ8æ2ç„1£×O´¶6ïÝ»ãØ±oûz{<ÌË1Ƙ`‡M^>MK‹<°zýD}ýifP;<´xÉŠŒŒln-Þáð%Ììà`ß3þýªÕë6oþJúÌÒ^íˆ+âŽçÅabíò eÛÏñä"— †a†‡‡Îœ9±ÿ7§O˜ww»Xwir˜íø4=-p{OrqTggû¶m[zz:kV¬;·4""!ÊP0˱"³„Ãà‰ ÑÀ*Y“Ðg–ö“»øÞ!\Å$Ž“lÇÍ\k€,KooWí¾¯û¶­½Åh0xðî6ÿGÖ|š¶š¢¡þþÞv ô®\»xqMllš .×uBYÚ÷­1¾Â~¹ 8÷aÛ¥EœCvûµh; ‰D¢V§•ÆÁÁ>‹ÅâiÑ:û'ìtÇ/ ik‘ï]H&“§¤¦Ì‹ŠŠ&¹mQгØKœYëï­î‡>³>Œ±È»!ìgˆ'hë)QaójÄEQii™W¬»>>^}ðàÞ‹/˜LF¯c;ð hÚZD|ëc …rNAñòå«++—%$¨%ÊK‹ÙEq‰2k·púÌÒ>9dví?UÈ7„ûvZ™s°ÁÓÏ$€¤RiffnddT|Bbí¾§Oã¨uíØì–ìüš¶¹C¸W^¾pùòË ‹J"#£(Šâo]p FöîeÖl6³»©(ŠÂ˜±à®ç±!Ǭ«;¼ëtPŒ·ßæüHb×ÇíÏM³¹O=Q—°hau|\bbbòñãz†qŸŸCø4m-ryå!™L®NJYºdå’¥+ÓÒ2Ù—“+>Pàqñ%Æ,!Äb1 œ;wæôéc˜a”Jåü‹ù?}fý~>Ö%µüÌ„õ©_4©[í.Qáy7–½!P˜*¼ °$2*&66þàÁ=mF£«#qL!ø4Õ-òà‰ÃÂÂóç-Y¼bAå’„x5MÓîs§ ÌÅKŒYýÄøá#û¿Þ±µ££U« R©´»»“a,à*óšÌz_Ýq®ÂÁ¶+㞯GlTïvÍÎþq{ߤRiZZfxxD|Bâþý»Î5Ô"ä3¦´Evã!ì)@‘‘Ñåå W­^—“SÀ>êá.*rB²—³ã³õ§>üàÎÎvŒ­óa³Ù|úô1; BŽY:`ÌgÍ™i«3&ž ÁžQ_Uµ<>^wâøÁ!Í f®ÂÉ•²à€¦®Ev»’HèÔÔôÅKVVU-ËÊÊ“J¥ˆ€`@"³ì†ii9ßÝÝÁºÙ§…hš&×UBŠYÚg"]?màrÛš3ömRî;„…©òó‹TªubrmíÎÎÎv³Ù4¹_ܾÍMi‹Ø_(•a99ùÕÕkÊÊ«âãÕR©4 @»è%Á,B(11922Z£th”L&OHPÓ´Ìsp"ÌÒ~9_ç]nXóͬÖgw]Vé!$—+22²££c’“Ó¾Ùõ幆ºññ1Á¦®EEEGÇ–•U._¾¦°¨$,,ŒÝ°PàÃê¬gV"‘”•Uö¯»~ïžíÃÃCì¶ Š¢ÂÂT U/Y²’¦i K¡Â¬ß{ž\âyÞhêÞ`€$IttlEåUxDB‚úø±ƒZ­Æùñ‡àlûE¹\¡V§TU-«®¹<))E&“ $H0<+™ŽŽ½úêçÌ)nn>××× „(ÊÜÜ‚âyó=žŸBÌÒ±ëí:ób›/{Î:z’ÉEE%ÑÑ11ÑqGŽì—ÉäS$T‹ EnnÁ’¥«æÏ_¨V§H$’© >]<û˜eµ+/¯š7¯Ü`0‰„V(”V­Â,-¬K¶[í#Þ'è‚I¥²ÔԌ՗]'¥¥ÎR@ à[$•J æÍ+YE¹xêT0Ӊ̺¢iix¸Ô‡1/™õr2÷q³@`M~sA€$:..qÍšk¦(ÈÅÅ%n¾í¾`e€+"³3—Y/=–B@q]È¥!m¼ç»pˆ¸­Õüµ¸d¤0PÀ=V4ø eÖ˳;cÌX0cavuqˆ÷¯×ñ>¾#‚Œ1C!$ ' >S™õÔc)Š2ô}ý½r™ÜîA#[ØÏêxØž2„É'#(î„Vûç Á*wKÆ„±X¢¢¢E €ë°¢Ág.³žz¬B!W*ÃFGGø¾¸†U“"€­'ÀYÛ£5`°船n…ljÔ‘($X™¹Ìzê±R…,+7gz”êgPgOÑÜ2N ØÄOwÔîMÛû`ÿ©Ý¿f 6[,¬”0è/ÐcEfg.³žzììSªŸ6 ˜˜—J¥r¹’—´[sCˆ?íûÅ:§›9Δ J¥’ hŒ™¹Ìzê±³O©~Ú€`` wxXSPP¬RE¸Éã;fù»Ü=w9‹Å¬×O Ò€z¬ÈìÌe–ö¶84Ë”ê§ 0ÆZ­¦±±¾¼¼Š¥ð=¸›ÀÝ‹ÉYV:;;ا:ƒXö™‘Ìz>¯x¶)ÕOW¬‡’ØÙ–Ý\Ì|¸ÙŽÃ´‡'ì"³3•YÚ‡½1¾:mÁ•ê¿[ Œñè¨Öl2©“Ø=¢~ÿÆ;þùº¶žû©Q0›kü°Ã0Í RÙÔÔ––É®=bpBpgg{è„uÔ@\ €(*,L•••;·Ð¡CµÛ¿úô¿|B.WÌfiº¸;®Îå Û/ùïˆa,µûvv÷tÞ}÷Ã.5‚â þ"—´ÙÌ?»p2Ï15Ï´;ÚÁh4|½ckrJÚ¢EÕŸ|òîÆ›"#£„²ƒÁ`xåå?·´œ›ü²Ó [\\þÄž£(ÉÝBÎ5„2³^ö^í`‚áᡨ¨›sòU@Þ3ðNsuÖÕ: î¤gîq ß|r1Û ²øepö8ì³gO.Y²Â¡õAœy7ÌN;vŠn!ÄÌ`Ö·Ì“¥z°Ã˜4wJ²ßòn€lèpVýñ¦MA´È…»÷…`¾ëµsÆ®¦[AMh}1xdd´B¡ILHB±gç hpÛÍê‚Y®¯¸R»àbiÑwĬ=ÖR=7¦Z¿…¸ cÌE5~È»²¶ì€xÖš2 NhÕÿ—)~^£&ž3g}¶ sÁ>\&“«ÕÉ9¹sÂTá¬)„38DÇÄJ­šå.˜•Êdqqñ¬:³ð·±’Kž)Ì®FÉåÙ¸Ú1¶›¸ `üUª·*jÛ©ýa .åh2 éâ÷~¹šðx&ÕA]d'¼¹´ð 9î €ÕÉ¥% d2¹} ƒ5¸\®¸úê›bcc̶ٰ·_ˆˆˆŒ‹K€ä¤´n¼!àGÅBÝBlŠÙ¾–Pg–ò#hrHÒÚÏC&ÛÅé‚]âôEÏ@lå½»vm›˜ߺõ}½~c¢×ë?ùäÝñqÝž=;º»;…²k‘U19 fà(2Ì[EpóÂî_ûBAÃa¯v $11¹xÞ|¹\ζW(fBIIÉr¹‚7_%;¿þüüù³3„©L–œœ& ³f³¹»ûâÑ£ª=îŒÉdœYÌÒ^íÜ)Õ³»‚4šAÖ‡EEÅH¥2Â`¬Ñ ²1:š}ÓµÿóªTÏwDáá:ÝØ/~ñàÄÄxMÍåJ¥Òd2~ùÅG;¶Z]syEÅbw"‚þqËø¼±N¡»Cù@öynŠ‚Ü{\O>˜sÀ¶±‚G> ¬»úg„ ))…b2™.^lÍÌÌ•H$¾Ø! Ðë'L&—mh||¬¶ö›¯wl „˜Í¦¬ì<¿€¾sf½ëî¸Uªh¨?ý÷מÕÒ4}Ë­w–LêÏžúÇëÑh)J²ù¶”»LÐyUªç·Œa˜ÞÆóg##£[[›JK+Z[›FF†úòó‹†q%%CTÄÿ=ÿ<o@ÈM"Ñí´Ç3©.g;$˜ý>Û}-‘Ð08ÐÿõŽÏo»íÊ0•ovðÈêPÁS”ï÷d±XÜ÷úßÿ2::BV’al"Ë3ƒYÊßÙÎdØñG½91¡[}ÙUQÑ1/½øôSO>~òÔÑ>xcxX“—_¤Õj^øË“xâç'O&.Bf/““ zZBoذ‰¦éÞÃl¶|øÁ?ÍfóÆn ˆ×9Ô0Þ4û>뢸"®ƒP‡ðÍÜeÈÄýkG2O¾ÛÁÖL3&³ûl‡À€x³K!FGµGղݕÍl)•*€™Ä,íûÖçY‘Q?|ð?/®iii|úéßtv¶uv¶Ýzë=åóªÕ)¯ýí¹ÚÚ¯»»;Ž9PZV€R=ß5ÅÄÄm¾í>Bð’¥+ÛÚZžxâÑ oظyÞ¼r„${‡mëbà@vc„8¯WqÚ ž€xizû´¾s~r]Ž¿˜îÎó8fëÕüEo6üäš)¬Á'lR±¶¸I Œ±Åbá%InnÁ5ëo’H$~}×Ìú+v£nD!tÛm÷WU-@9áªöý9sæÎ›7nºùŽ––sílòÆ¥A½(Õ;QKÄÆÆô÷öõv…)ÃââØ 5Wš @ÎKüÎÛß¼‹7—Ûæ¼’j{ „ð÷ÐÛo}³ð·ãZ-ØÍ^Ñ  ÎŒ·sP( °0ÕÊ•WŒŽjµZT*ËÈ̹âŠëæÎ-@¶ÕÀ,í“Cv¥T±±ñìÙçgGF†'çG„Àî]Ûº»;¸U/WëÚÞ•ê9ŒŽŽœkkk>uê¨Édêêî8qâ^?qþü™¾¾n³Ù4³˜õûùXþ® Œ™s uÏ?ÿ?­ii™üø±ºÓÇ1Æ Ï<óÿ†²²ò~øàÌ[ær!Ë«R=ßM†«"æ—:u„–J+*#„æ/X+‘ÐEE%áá+Õóe¼-³Åb¡(J&•ñ7š²¹;äE+Ɉ¸ßžæ°§Ô³¶Û`ÿd‰[) ÎßCo»~ë*ŠgUb™uÛÌÔOƒ»Òj5»÷l/**ˆˆ4[ÌùùEƒCýߨ›[ ÖìÛ÷uddôÒe«23rXa«ÐgÖûꎥúææóû÷3®+)©Ø|Ûrs OŸ>ÞÜ|îÐÁ—ÇFGî¹çß.ª‰ŠŠr¿Æå]©ž£³ Ï ×ÿñÉ—¿üâ#Š’°ë UUK¯¼ê†ãÇöõ÷¦¦¤ „1ž˜onnh½Ðtñbk˜J•Ÿ_”™™Ç0»@ Üà„ìLÏ›í¸˜yœá·RÇ=¨ä¢<Èz68oñ™»49¹Y}€Y.G€1áu[šËGƒ»"„twwh‡‡Æu£Û[zz:SRÒ¿Ú¶E£4™Œs‹Ë²³ó¶ïøì×_¸áÆÛ‹æ–Ñ®:m¨1¸¶ÆøÓOÞY¹jݼyó—-[mµ5![>~kÅŠµ¥¥•ËkÖPN!û`ÂûÖ/î¾IJJ¹úš¢n¿ã~VBW.WÜ~ÇIÖ^qåþH _€ÆÇǶly{çןŒ ³_”J鬬¼È¨˜„øDö$®ÑÑÑØ¸¸pU„Áhèë댉‰e¯Ä o:z_~ÆÇæŒÁ–ဩc:ê䟃Þl6©ÂÂ1ÆVÏåÞ þ2k0蛛ϵµ6ë  êüü¹ f¸‡ÌQP@dD;ÜØXo6›V®º²¾þTSSòå—aÌŒŽ>\»léªÊÊ¥»¾ùòŸo¼tÿý?ÍÎÉw¯‘*ÌÒ>é8)—J¥×_ëÆncÏÈaÑ$4}ý†M6lR*à !øè‘_ïØ:22ÌÕc2™ššhš^}ÙÕ}}=[?{¯ýâ…ªÊekÖ\]»ÿ›}{w$$&ß~ûýII©.FÛeƒ¤²Þ×%©Ï[ ÑE݆†ö×?m2““Órræ`Œ=Ÿkâ³F£á«m[vîü¼§§Ëb1‡‡Gfgç†yóæ;f,ýBˆ*žW¾nÝõ‰êä’’ù#ZÍ—Û>¾ë®‡32r>ÿüCÝØhKKc_÷Š•W´´œßùÍç·¥Üïæx b–öËùò/}ݺë¥R9»5œ{õê«hšV(”ü|½»ê|Wªw·C08¥z+Ƹ¾á´N7æ\›DBÇÄĵµ69²xx3x^Éü=»¿jjjho¿°bÅÚÄÄdN)Ô-rÈ+zX›¼œ§:\à‡P’Ïn n0è?û콯wlÕéF€¦i•*¢¤dX̶^húü‹ûûzضŒŽjëꎇ©Âm½•y EEÅ\uõ EI$tFfN^na\\¢Á o½ÐXQ¹47wΑ#û7lܤT(®5ô.{lH1ë÷³;œ#"¢œßp·õÄ•ß">Æf^ߥ¦fÈd2†±Ø?íEeeå-^Tc¶˜’“ÓB¬˜ovΜ¾ÄĤؘ8°{üÚ38¥%\Ìßeê4Õ±zt·+ªÃlaOåe»+X,n,""’¦i¡˜ÕŽ ë'Æù¿%„$Ä'ªÕÉžH}’Éä ô¶6ÿâÃU«®ÌË+ôô3K è’Wû‚Ÿ6 µ:ù–[ïNJJ9}úXgg»J¥ÊË/Z¾|MYY%MK 7wäÎa¿·hQµïa¹ý³ümß.¨å>åÞpXAÖc}1xXX8R9R;11‘›W°víµ¹¹ùž£q¿˜¿å–»ccãO?4>®KMÍX^}Yuõ™Læõé30ƽ~áÂê²²ÊääTf0/¯hnqyooWUÕ²ªÊeõ §dRyNîœS§Ž²[÷|ú˜õr2Ûw«T?m@QÉÉi·nº÷ÖÍ÷ Äß ÊÛLãbG­}6ÂmÑ>v vŒõÝàii™÷þà‘{ðÈ1 eeçÝÿO§îB-\TÍRš••—••¥¥¥¥V?·> IDAT”¾HNN }f½ôØY¦T?m@SÓvËîöÙOi W±ÜcEfg(³^žÝ™mJõÓĽ¹ð‰ ùò‚¿¶ÎÝ.üDbà¹b‘Ùˬ§;û”ê§ ÈÞO“çò)gžž|áj €[ó|)"³3—YO=V¡Ï2¥úi21.îø±ÿ¹ Ä£l,ò_sÛÅf÷[‘ٙˬ§+UȦG©^£˜e@mÝnæ9“BWiCŒ°Sp ªˆÌÎ\f=õØiSªŸ}@Χ¥Ú¨wwp Ùõ$‡8ÙŸC`ß™¹Ìzê±Ó¦T?û€<,ß¹SrxÍ1í*p v™¹ÌÒÞ–»¦G©~ö9n¼áîhsrÃ.g8Ä^^Q"³3’YÏçO“RýìrÓKøJ‡\¯£'<ó$2;s™¥}Øã«Óæ+8œÐãY©~69Ð9)ãà’˜vf—÷}OÌcØcÜÒÒH)**™ ƒvww„‡GdfæL³„ ã$Ê0•„b z#CHXX»¸:#˜¥ °\Ëé:nã;-ðK©~VŽ >œ‹u¢“Ÿ–@®ªš‚]Åí`±XNœ8l6™ ç nprüøÁ?xóÆoÏÈÈž"f͆‘ý»¾Áa Ö¤¨ÈÑÃû:´–—]•…ÉdÒÐgÖËž§”êmǽڭ/ƒg¥úÙäf#_mÍÞÅ:ÇKÈ^éÓÅl'˜=OØ0ƒ-Ög6¸ÅÂ46ÖŒ†„D5[?!„¢@@ ÌXZëîýæó ó°ÎŸ Û³ýã¦!>ž•_]}™”–R !‚ÞB©¢â#(„"€ŒfftT«T*UòøÁlàj”l[’“ÓŠæ–œ©;ñÎ[¯µ¶41ŒÅh4lÿêÓþþ ØYÙÜÚn Ÿûd§ ÉþÔh4lÛ¶¥·¯ÇN@0d€øûcœSŒÇ>™AÖèœÿ›Š…¯v ¼‰¬€Gˆ’Hèèè8¹\‘’œž  S¥¥eJ$4L.„N ³„¾††º¡¡[m¡Î,åGÐä$$‚$%§lºýÞE‹«ÏŸ;óúk9×pvÞ¼ùàË­ë'ô¾+Õ{â‰MÞ0%%ó ­[ߟÐOП¨7LøŽ3ÎGÝz`×ÁwQ?íÀ0Øbaˆí°bÁ ^S½æÞüû•Wm¼|íµ>øì’ìTq-˜`ŒFÃØ¨Ö`0Ìfi¯‹vÞ”ê‘:)õ¦ï݉1>vôÛÁþš•kÖ_{óÑ#ûÏŸ?[Zº€P”ðäjšw à­ÉÊÊ++«Ú¿×¹sgJK*¸sƒÊÌÊ-Ÿ¿°»»£«ëbv–Ûcãù@ž3 ü©-…H( 9Pëá¤ðr.¿O˱¾Ø&&Ƈ†ú5š!³ÙÔÓÓ—À2¾ØÁw ¤äÔDu²D"Aét£‡×VW¯a"ˆÇ¬mÔVûr }çÌz×Ýñ¬TÏ6>5=óŽ»~H9rxÿÉGJË+-©i½Ð”›S.õA©Þ' ¾Å€\¡(˜3ÔÜr.7§@¥Š˜" Z"5™L•KÚZ[b¢ã£¢b|r•NtÇ.? í!aȻτd½ÙÒßßûùÖ÷;822ÌÅpÍú›ìõ¯38EQìë¾Þîs uK—®d»à@Ž‹Ì¶Úœ3O!Èl0óX»#>!ñ{›î^¼tEsÓ¹÷ÞyÝ ×Sˆš˜Ðù¢Tï;Ðd=ÖŒ=JNM›j “Ù¸óë/&&ÆO<ÒÝÝK¯ìo°4E“Xwvúä“w¶oÿ´½½E«ÕhµÃƒÞI±QhƒcÂ`Ì`;Õ(8'Šî¨:ÂÌÒ¾oq^æâÆXöuZzÆ5×Þx±­åÔ‰££ZmqÉ|î /Jõ¾ÙÉZthp ¯¯›MLÛ|õå'Œ…A|ò/_ëâAAö6Ã,Ƹ±±~Ïî¯tº1î;2™,*:Æ6‘©08+¦ÇŽ–S d]_%@¬õÌf}c‘wïÅ­‰………¯X}EiYÅÅ‹­gNïïïeÏÚ±u]×Å b€Æzƒža˜±±ÑÑ-÷éT‚¯¹æFÌàôÌì”ät_€ˆË¼j®º_íjhœõbb6›†á¾§P( æ••Uñ.¸Ámi$[ˆ3Õ@„`‚ ø ô3Kûä])Õ£É#n¬)o“Ɉ1Ž‹O¼eóÝŸ}òþáƒûÞ{çõÍ›îËŸSÄŸÓ»Tª÷ ÄÓefŒ&£õìWB,X\VVIÓ2W“A€0…¨¬Ì\‚ISKƒ±O@yÝçÍ.îOä$Bµ˜TXX²~ýM'Nš˜˜P*•Åóæ¯X±655}RKUPƒóv%0¦N!m[°18ï\âÐe–ö=Ù+Õ;2¢njl¨?{2::6<<"))í¦›ï ˜;úí›oþõÎ;˜k¯eÂù;®%¾B†µCMçëÏœ=—  c?¢i™;Z€â”Ê0B !1©µ­É`Ї‡Gøä[`Š<ÇTîòÂÄÅÞì¿aãæÅKVè'Æ¥2yZZfX˜ ì"Ìàü„™ì°S “;¹;E˜PcÖïçcÔµ‘nT»åã·îߣÕj”ʰ+¯ÚHQTrjÆ-›î"@ÎÖ¨;s"'·ÀM´@|BŒj?úðÍoì¶]}«˜¼h% Ô××ÓÙÙÎNž}r#—è+»žÉ6 åò§‰Ží×4ï9оlíú”X¬R…K% ¬Á¹N$á´YH L0cš˜7šÍÚÑQ‹5=Aüú®˜õ¾ºãêZívW^¸Ð´ï7Í !D© KNM“J¥urêæÛpüÈÁ¼ÜB7k\¼y7 BÈ…–óµûvr@)ÉiR©Ô³––€@³ ‰| $4I¦@™%„ „[~¶eïɘÄè ºÐv­fœ¾öÖ ÔáÂÜF ý·ˆeÛà€€XF4ý]/\ho×i†išf7:¢™Àl°ÚvpLl|ZzÖØØHXXxåÂ¥s‹Ë(ëH˜rÍ57²ÇúªÁ»øý1..!=#›Z¸hyIIMÓìÃÕÈ}EB•–V––UP®Úâ(P©-?‰Â/õðí€ÍíØ…LÚ1626 ÑZÃiÒàÀ0ÌððPGG+c±´´œ7[Ìl"WXf !Ú¾ö{¿Ü½ooGß ƒ !¸°°ÔÌ0à#ÐwÍ,í3‘®Ô©ié7ßrçÙ3§âã‹KÊccã‘-}À^ŸKS¸Þv „JK˼ù–;ŸXZRÏËS¸Oˆ äò4_€|Ë:øåž‰ ]Ôµ(Šô·ÖÕ9Á¨bûvOd-HRjîý:9þ{i1  Î0ÌñãwlÿôâÅV†a,siY¥m’Y‹Q¿×—_lÿ¼[3Æ®5S˜¥ýr¾Î—N BTQAY~î\‰D"‘ÐüË@žæßÄÍLÀ5;g.œS’—S(‘HXYW_ä[CÈËÍ4ý©/vÀh¹"2"Ò¤ŠœP©¤Œ*<&Bi J•”¦Ü‰q`p†aΜ9ñ¯7ÿÊvW„EI0Ãp¨€Ìê†ûšÛ/öNvW)#bÔÙqê€Zô0KûÍ­“ D!™LîMOÝÙo¿€€¢¨ œWžúY­ ; ˜´¢ÊâÜOvÏ«Z˜2l² ôŒE^·~uB8- Áõú‰cǾmk»`;g$*::–¢àÌF¨) ±ñ±Ñ:½‘HåªÜ¹UËV\™ëñ¾b–Œ]o·2òzÝgÆÎ6 Ÿâ –]Áw,:ØQ’¨ø´¼Â =Þ6R^1ÏÄ(#• ÏŠØþ\"‘D„GÊd2³Ù2™lþ‚Å+W]‰Ä/ã³UÂeWÞ˜”™×ÒÚn"Ҕ̼ââù©êD)MÍfiá\²ãpïù~B¾5höyå& Ñ” ¶„P©s—]“[9Ò}N;XR±0:L© SxNöøkp¹\±jõ:š¦Ï7ž€‚9Å‹רÕ)žW\d–’D«³ª¢“Ê«,„-“Éår E 4=Ìz9™ÍR=—N÷¯xš”êgW0fÀi›¸m}ÏÅ̇›í8L{øw!ÁmQ™¹ÌR>ìñcwÛZ‹ÅÒq±•}"œ'ûÀ=pLœŽÉr D€XˆÙLLì&b4bƒ‰M„ý×h"#6˜°ÑŒflb0‡aŒO:úÚßže¬bÇÞ[Düï6™LR© Xf9 ®®Ž-¿ÝÛÛEyùåÿcǺ¾¾î>xóÛƒ{”аû·ŸGEÇ $‹\8/·î_o½û©týU×”f$°'ˆ#Àºž³;¶~üåžÚ®¡aL’Ê*þ{_Çq¥ù2«ú@¸o€H’ (J$EJ¤‹ÒÌx$Ã[wçðÌÄþóü܈݈ý±³±Þ˜ð:B–4²g,Zëæ!™$LÊ6µ]v-°P¯3¿Ê—ïÊ÷õ>®kF“oȦ8 Àhd½>¦›«¾l‚¶ˆ¤S}JA@ QBA!ðDŒÊó)­Ý1š± îˆÔ^µLã¯#²\,È`C{]õÎ8À:¡™y±öç!äp8Óá$DNöϲ±˜táü™Ph¡µuÕÈÈÕÛ·oz<žŠŠª@`fdäJ 0ów÷c×—`¬ÍH‰ç&ï¾øAqeu[íöb—Ÿ•æoÜ÷毛œÅ'–b!.‡]þ +Ú„ÖèàIë#–ºˆËÞ¦zkAŠ%Œ‘8 ™’„’än®F„hªÀÓÍœ’T†vG”ŽŸÃ±š´æÇÛɶ„ÕÞ<  M_=yé⹓§ŽÕÖ6‚ÀŽ>d@PGgwËcíÑHøg?û§›7¯76¶<ûì7]»vy×3/lظE£EjW=¸yò½_ÿzðö\ú­ë;<8L© 66|ö‹?œI.WÀNÀNY¦:†Ø¼BVL׊Ò1Õ³7±¦P DO4¦]ÕI¦z AjÁ§€ BXÉžB(E”(, .•t¥(ŒTÙ}ÓÏb°0«z5ʘç@fåÐZÏB¸§gÓÄøèÉ“Ç\.÷sϽ"¢Ò>?KdÃÍÍmŠÃüêkß»2tÁát®íZßѹöâ…¯¶mßíñx$ ö…æ?ùüôUâmÞûÂK½mí;(¥¾"o±Ï' s!Èí-)]ÑSZQ¥8×y‹¬k‡©@ñÎñôø0U*wk¦z;‚Ê`(yv™%qž#B)Æ8Á~”© ãˆt ˆS]&cúA‰¨!Å NØí! A#R˜Î ¡fmŽˆçtiZ°æSJP«)aPå$¿“ö<BdI’¤XÊ÷7› GÅb‘Ï}ÒØØ\[×¥ À•¥XxâöÐÑñèºV¦@¢‚S€òŠÊ¿o!œ.D¥8§åüAVL™´ËŒ©Ô…dr8eª·”ô™E›DJÁki 2‘R®igDÚ8ˆê¢ sS€ª(àĦDÙìWÆéØô‘GìÏCÆ‚$)¦>g+H^¼{îÀ/>8p7(tïÞ»}c—GŒ Å@ähpòöÅ_¿rg,, ’àò:E¢¥VÊ7dSóîØaª—¤Øýûós³„’²²J—ËÅnÚbª7”ØcQ\ '÷«’õb¤Y±i ÒˆR:;˜ššçƒÁ¹ß|îp:Ó2 $šº=Ö r½šM=…½y åÃ9Çë©Í„ëÅû>d-HŠÏœ½zoÆUÛ·gÛ––2•%D ¢s×Oýö_µïܱPL¦”",ölxœ2cÍd³ñcãƒÁ¹£‡ŽÞ‘$¹µµ½«»o1´&V»¢ìù±É¥«ø±ãcÇÞ²e%”åRfÍ@:"Y–/]:÷ÅçŸ\ºtn||”R"Ëäé§÷PÛ#¢|GÐ× gãjbÖÛÉ)õsj¢z6éÍŸÍl&Ü(HµÓ²D•m›Ÿ{bìþåÑÉsçÎVûQsU Å¥”’ñß{ïý? Ý–ÔG¨@dD‰bæ'²¢ýÒîŒK’tö쉷ßþi 0£Ü03sÿÂ…³uõ6lQ§=S=µ- XXþòÝ7¯ ]¼våòÀ‘ƒ.wQUM Qê&€ª¶¢Ù"„ܸqí­·þùÊÐY–« )Ù[#¶ºƒëäAEl2ÝL'“ù9òbm®¥xN’g¹ ‡È)÷e/Ht8W®Ùè ß ¼ó‹ßíy_ß½ÙO)ÐXxvtr& 'úK¾ Á]šàÈ#ù‰¬=YÍx8¼xeèÂìl€ý×PhQ–eŸÏoVo ©gT'Û„‰Ký ßþùO??øq4€kW/ÀŽ]{XMKA bF:~üðÕ+—ÔåJ)u:•UÕ$Û´7"à$ܸ‘)A×Õe‹õ²]·È†–ÔÚ«j¤OSIšÝ„ó ãxp>[A@e)8>4tán`Q(óúKk1öRJ)rT¬X¹qýš¹ÓCs‹Q$º*W¯h_ç§%ÆLùƒ¬hK!›3Õ‹¢£²ªÆétF£uNN׿þ§::º”DYj¦zKAê‡3§Žøì·ÊBR.¯×¿ªc-Rê' ~lz‚”ϡŅÑ{·%)¦ž¥Ä·¶®zòÉ]Ê6ksDÚÜ2÷y4v‘µá¤Ë{gm[̓Î1a#Oª†ÌY AºÓ2 ¢ÑCG÷ýjÿñ€P÷ÂËßÝÕ×Q$(мUí/¾þ£Õ›¯O͉¾ªú¦ÖÐÜÔW'k«óYÙK¦z§ÓµiãÖ»wn?~x~~<ïÆ[Ÿyö ö™êS ™0¹r„PUUõÓ»ž“)A£$µ7ÍFÃé*/¯‚¡½}õŸ¾úÝ––•jÆ?õˆß«2(ãÔa &–‰_‡ì÷X;ΞdR#O‰õKd‚Ô¿²D ‰ÈBœÎ’æµ-5ÅvW|•-ë*šÖÈc ×®Îh³îùˆlÚçc3^]S÷úŸýŶm»ïÞ½IihlZ±¢µ¬¼"…XWjêÙµôöõoz÷À‘C’+*ò”—W~ç¿NM¹/èM—ty½Þgw¿]òû‹×võö®ï¯«oB§9"j^žÆ T¤ ýƒÎvÊ5‘,g-€$ÉÑhX¡u GÂÔÔDÍpÂÙãjv'ÙU8;Aà,ëÜöê/ Ïûä·ïá—¾¹®µAÄ‚â-"‡ço\¿zóÖH]}s$‘äxN6o‘MÝIÉT?==ycäZeUíã[vyœNRR£\Oí8­ÂL>Àï/yãû#bqlìî¦þ­Ûwî)..AË ™Ãí b¾)jhhúÖ·~‰„gg¸Ýžšš:€\ZzAH3õŒ·Ãñ‚,=P3u‰—im¶Ì7Ù”ÈÀüüìÕ+Ož:67 ”ÞŸ_³¦''Èê!„ÂáÅ™™)Y–c±hpa^ͤe#à-.ë]Y{úËÐů¾,mîmoiðcJ(È”Ç.Ÿ=~ðØÙË—Gnˆ']M­1­›oÈæ€Û.žž˜«¯_±vmOGgWqq)B¥¹î¢•>¬LTZ\ñ·?ú±â[&Ê7)@ÉFïÆ=Ö® HvÜÁ.—Nœ(+«¨®~1ÖÈbD© Ôk_¶¬ÀÌvZjn»ÙÙï¿ÿîáß}Ì(BAèìì¦d!ÉmCGïÝ>räÀé3_Æ¢QBI$^¹²3‚Hlöö©÷6|?TÛ³sCw³GŠQX;sè_ÿíÓ£cóõöÚ–V"ˆœ#omiÊT_W×øêkß»uóúÅKçúøÈу==×­Û4*žIDATÛPQQ%¢9Ѳ)ÅŠ ‡Cïýê-§ÓõÊ}ËétÆ«½‰mʳŠí Òéþh4rùÒ`Ëcí’$‰¢¨<ÛâíЖxs)È&´ª±ÄUw°;K”?02rmàèÁ¦§C*–È &|bbì¿|óä‰p8¤<ÛëõAªóm¶E§. |zôÜuT×ÿÒ+¯ö·zÜ8¥nLc[ç⫉ùˆª;¾ÊÚ•›<žbؼBVLKùr™êÀï/éêî[Ù¾zzúþÉ“¿?tè£?Ú×ßÿäžç^)/¯4{œ S½^Le¥·Óâbð·zðàGãpxñÕ×Þp»‹’}sóɦ î…ïÞ½åõúB‹ >±…/(ÙñFW´ÈÎ%ߣ«£¾Æ)éU³D6Þº9œh¯¿ÁçõÕÖÖ[sí¦;á±XtpðÔ‰? ‡CÉÝcåXl–‚ÃßÔÙÓqæêýÚÕm UFjgQ,‡ˆâk;~O–‰Ã!vvvóO¿ÛÞ¾:'‚°«ä±{¿Ywñü±ùp“Ç«†‘+ºv|{Õæ—gƒ!±È_ìó9þÊÌ+d³ÖúÑR&UU8šUè ¢Ð¸KC C¡­ª^”°’pf¬ÚM*²Ì·TcÉܹ¡Û­êØp`3¨a®‡Cµ<Ž9¨”( ûˆ"+f ÛrW]ÃW½Üj/ÕöHù=urM"Pu'kÉhžh¦oÿOÂ8yû±-2-Ìr7Z¨^½&Îy䩀죋¬hý=R}EІ¹Á„Q3u[*‡CwïÞlllñx./î`J0ÂÓÓ÷¿8ðiwOŸÚüM´‰Sß#d†+K‚ÆSÉ\{‰5ùÞNNÎÇ.²lõ¡ Ë–öž?öãöJÿè•?ë\Ýuôè¡Ã‡÷‡º»7ì}ùÕªªƒçœ_È⌕1/ ûÀoŸoù'«Â9ʘÕO<LµÌš6–†îÍúW€ÃÝ”%6S44ÃMI’¼/‰R[Çë:€0ä”×–VÓ·š¹j b`)Ç.²L‹ÿ‡‰l 0sö쉒’²ŠŠ*øø£_ÿß7rr|}o?ÂèÂù³Ñh,Ï‘sªŒ5EÜ`ƒ… Ä‚jgKé›ñ-: ì^@ùqŠ(P@ˆ ©ýo™É³YSŠ)ð¬FJ-:jU2«€Ù;5aW_®ãFK¬¡[ÊC@Vy¯‚%Å¥;w>ÇýîÃß««k|íõï544ß›šš¤¨( F{;3Š%²Œ½:W›c8ñzC¯c•F1›œHâj j ­Eî-U,aˆPµ=%É^½Š]Lˆ¦Ü<ÁJ¨îñgLk5éM)#À)£D¹Ž/ ²©š-9²j&©¸¸4ýûo~ùàÁôÅ‹_u®îþÞwÿzlüÞOþ×a×3/ ‚¨Káä²"äøÒ×Rš(`£’vÓÊ„ï¬ß6à:<†kª·èÔÊR @„°’¦$Vh/ú”hµ© i(U©F"nWc@×ìçz€yëm‰Ò39FÖb¹.²ê¡9ðx|OlÝyôèA„ÐÞ½¯=ùÔÎÆÆ–Ù¹€ ˆ+WvtwoHð6AÞ"›nŸ'Ž áÖvè)éë¾.×v2˳óÚÛ†z‚‹¤† A E*' ä!i ”(ÆpœøcÊ·29B°ùn+t9Ú7çÍ—ÙT§eBV¹¥®®á•W¾E©,Š—Ë…êêêmk[år¹].w‚› òYѾ~MË‚2žc°>¤ªh0KÖÙ6$¨YB¬l'ÅN„3Œ“¿Jo ¢„D вÑDÖ¸2Or¦Ö¾”.ùιôÈš57Z&dµ§ÛÒ7W9{°°<þLMM}ss+¨wòYlGû¦å;é’uÜßÕÞCÙd”6œ¨KÖÅÿµFÍsXéZ8ŒyÆ$|‚f>q2+Á:O!ñ'þK )ªåYÒYûü$žå tI÷Õ²SSÿóŸþË„B‹Äpå!²™õR´² xnÿ$¾,ÇææfeY*))K”Y'§ÅX„™~ŠB›Ç§R9ʘjÒóª9ÄxJ¡¬p”è)¹”‡ëŠ6COF5®H1F:h-:•Ð\åc—Y³® åµKЬ‘ðREV–Éâb0³‡iyÉdÓè0n&JypAw? ŸÖ¹=UUUÍŠ _&„(GVlÛö¬Ïçc)é /-SXÀõs8u.1J~ƒoÿü§Ÿü8Àµ«—`Ç®=¬¦%„ Þ+’x̾$²^B<ÑóCNö¤2•ùkÕpre™Õ«c7‹Ôø0µ¨ÇȦ»b¹G®2¶¥¥ýÛßþá_|zïÞmJIuuÝÎϯ]»^× ‡g5Ñ´,(–Æ;yR)À‘ÎÆ¢”ž9uüÀg¿•åd.¯×¿ªc-Rê' ~,›TLf”êëepº;ÒÃAÖìt¨ {x©Õµ9ŒÅb±X0Æ„ÈÊMø~lÞ!+f­uÏ-D"‹çÏŸ­®®ýáÿÓôô$!²bcŒ a§Ìâº)`ÞmøË.’8—×ÇUUÕOïzN¦!ŒÕç†wˆòÞ!kxÒslrÕ™méåmª)ìáeC–R*I±ééûCCOY.**êUÈÖ £¼EÖÖŠµ®×þ«K0Í $Ü¿?>8xêOþäÏ[ZV!òààÉsçN=ûìÞúú!m4²’75ˆRÓùÐó…#èíëßþôî#‡$)VTä)/¯üÎ%:œšDŸIÚͽ°œ=š–?“nuù‘å­a0?w¶¬È†NœüýÁÞ¹s#x@Çèè]Y–€yÊOdÅœ(cKh9:ØétöôlºtiðÒ¥³?¾caffúý÷1<åC@6Ëí¶Œ(àK¢<ßîÝ{ßzëŸOݾ}cãÆ­›7oG£ÞiÚ#Ô µåIpaþ֭뺻««kÀ¬G`2–g˜ÛáävÑf…,wÝç ÷2! ‚ ôôlœ|î•#‡÷?x0‹Å”X±ÇãíßüÔ–-;DQ|$Íþ|lÐÕmmmãÆ[ß}÷g~ñîÝßðz½õ‰$®oÞß É;H¨ "rôõm^»v½N¹Š¢(""SL÷Xjÿ롇î´.%²9Ü]³GV¹JKË_|ñ›«V­š˜JÝ¶Žµ]½UUÕÓy…¬˜µ2¶-Trüç‡ã‰'vÌÍgGG35¹:kÆdMSèdE*A=Q¿%@”UmñŠÄÿ¶MÉݦyrŽ¬Éº}È&)Fòz}ë×oêêZ‡¨ ˆnwQœÔ#•'œ'Ȧ^±(#ÉF‚îРß_òüóŒ1v»=<€sà¯Û©/S‚S$å'¤9°Bd"3gºÓðcÓÂ&#(“k©‘5.·…¬Á\rø|Î’ÌõD-²¹Z±åcfDU²Ïç3?œöÛÉ›©D?ÑSq*Ĉêg^ˆ‹Ûx9²Þ;²B:ç+6+du ò¡ I kBÞnÓ3ÎdÅŒ¥šÏ;2¹ÙÔ.2¨^”+“/ÞS+q `Xå6ãv*•†ûF¡Äc!Q²“ÌmXž{LïkC²'§p?A-“ãøSÙüGV4{0%DyôÔÔd$r*pí¿'‚ Ú«rδ²]‰_I¡JJÊâI# „"KD–dJø[)óæ!-_wª/D‰L‘1ã8E"á±±»JR†\÷º+ôM&CÆŠ«±€1DÂ8ÝW¦€ì#,Å:œÎÙ@c¼°¼sç†R- ÜcÄö,Š´êEÒ²@¸ ¯ÙËï/éêê­¨¨Œq8š˜w9]”=£•ø~ ‚d¥3£Úæ·,F€(%„Ê’TRRªÜ‹Å™ññ{9·fkkZ[Wa„ÜEE1 C©€ì£Ž,ìòÊÊ‘«W± >±u§ ªN)ªÚ‚0¥Ä5ÉÊ­¡ŸEDfq ú¶£ÔÌUPž)¢Çã˜r»]EEž¹¹Yv l»8!PDÐD‡'•$8aÒBÔ^‰_J!ø}þªªêHŒ”–V„Ãa¢;‚Í ²ÌվʡMî 3~‰¯¸¸Èã±ÿN}Ô‘å¯ØÒ²²h4Ú$ÌÇ¢2%f6ƒ}{ ¥Yܵ‘–…Ý}UP[Ñ Ët¹ZZ—èÑc—Ûíñù<>Ÿ#•Y@ö넬h6¯ÕÕÕáâbI– !ùŸìÿÿðrˆ¢Ëív9’$¥µb È>ÒÈòWlç?¾S˜¸¯åU@öQ¿pa Wáz„.ÃKå¤|=¯²_‹ QJ ³P¸ WÁ*.\…«pVlá*\…[¸ WázT®ÿaü@DŒsÎIEND®B`‚nted-1.10.18/doc/docimages/toolbox_tie.png0000664001041000007640000004736411520267216015311 00000000000000‰PNG  IHDR–$ÍtÈ(sRGB®Îé pHYs&&¢ï%ütIMEÚ šâ´tEXtCommentCreated with GIMPW IDATxÚí½w|\Õ6þœ;]ݪ–\Ul¹â&÷^ƒÓÁâv³ì&»y_›7ïoßeßÔM!@ ’¦$€ÁÆ`„+îMnÈÝ–-[’Ug¤©÷üþ¸en¹wæŽ,'s>}$ÍÜ9÷™s¿ç[Ïy¡”BÙj×­S¿˜né¦Óæß|3Q¾F¤‚%ÔÀ!CÒ£ÕK-#3þžËûõy½((*JYßžŒ ñÿ†sçT& VíºutÀàÁé'ÝËÍ“‘q] VFf¦êõ‹çÏ‹ÂE(¥¨]·Ž–·Ãê1cT¯µ¶¶"‰ ¨¨(îç¿:|8-IJ•*ÁòùPPX˜²¾¥KÚ]TDì Z¾V¼ÖÝÝeË–Áï÷cóæÍÈÔbiKäë¥l Æ…òý¦ªïxÏÒ^»n-)-eYÓ7ؼy3}ôQ=zõõõ?~<!ú€¸G*Û¨ñã9áìYt¶·«þïFY6%ã"ô›Ê¾µZIi)®46R»0kŒ¶P(–ïôìÙ³˜7ojkkQTT„`0( x!¤;Ö}ÆL˜÷Þ‡÷ïï­‘ª™®yo–ÇÓr§o‡Ã‚â¹ÙþYÇÒ†15–MòñÇcëÖ­¸ãŽ;W¯^ÅsÏ=J)qéÒ%Ùõ{÷îEQQóAA†Ý®ÛwKS“øwaq1 «£@ õRyßÊÿS©± ˜•D'K¬¾N'2³³Aü~ôø|b”êt»Ax;;5…‹50>v3¾ßïGII &OžÌ CK Ö¬Yƒ­[·"++K.(--xþùçñä“O¢¦¦†Ó8ûöéö}éüy•`µ¶´ £­Mv]^~> KJàöx@ø{zÐ|å Ú[[ºNëá:].TVWÓ™‰žîn\8s¿ßpß¹ýúaHe%"á0êA8Feu52²²Ð|å /\H½ÆâûÕë;‰€eY„‚A8NQPN'‚~?N§x¦)4¢±Œ~1BΜ9ƒM›6! áÉ'ŸÄÍ7ߌ½{÷Ê®c«W¯Fgg'6nÜ?úÅqîõÔ¹Ð ŠŠ0¨¼”Rñ!æåçcpE!¸ÚÜlê:½û÷ï¶ÖVØìvddfbHe%Ž×Õî»íêUdfe¡°¤† A·Ï‡Œ¬,tû|¸tþ¼ì¡¤Ìⵊ^ß¡@þîn¸<8].@0€Ãé„¿»[e"õÆ+iE)EEEæÌ™ƒþð‡Xµjººº0cÆ Øf®¦¦Ï<ó &L˜€9sæíÙ“”™(.-4_¾Œ‹¼†0x0ŠKKQ\Z*šS£×éݧéòe464À“‘cÇÂíñÀ“™‰n¯×pß çÏ#3;9yyÈÉËC$Á™'TäZF…^¯,·Û-ºN§=ÝÝèæ•AÂQ¡ß…‚“'ObýúõxóÍ7ñä“Oâ—¿ü%Ö­[‡™3gbùòå²ë—-[†P(„ÚÚZ@~KŠM˜UÝ>Ÿøº0N—K|Íèuz÷ñwwƒ²,zº»£e·ƒ²¬á¾)ËâòÅ‹(6 ÐÖÒ‚€FNéšG…‚YpS×Ç4Ò¯©¨RŠªª*TWWcÉ’%¸zõ*¾þõ¯ãñÇÇÒ¥KñÌ3ψ‰RB¾ûÝïâÀĉvíJhÖ -ÀåvÃíñˆ¯ ‰º` ¾fô:½û8Ýn°”Âà ‘ôsFû¶Ûí*,Ë¢ ¸-MMðvuõJTȈ 3³³át»ðûÅ #üͲ,|^o¹·„4Ö‰'ÐÞÞŽ²²2À§Ÿ~м¼€¸=¸=ƒA%Q¹ÞxY¦±nºé&466"‰ ¢¢o¼ñfÍš…»ï¾;ê§45‰Qäüùó»¶nMJc]nlD8Aÿ—ŸÏ•¼^\¾xQæ7½Nï>—.\@^~>\n7¼]]8]_/¾o¤oá=¿ßs§O#‰ ·_?äbhUN;fHcy23J‰DTï1 ·Ç#3×f¢B–eAù(°Ûçƒ×¤”eáÎȲl\™!Ÿü1Õ«û¨rYYسgFŒ›Í†S§NáСC¨««Ã~ðˆ`0ˆ7bذa¨¬¬!ÎtIGÕÜn·n=ÏíñpÅ^­j¥ðù|š~äæåŬJ#A#¯Kûv¹Ýºýötw›‹ 'Nœˆ &€‚?ýéO8wîž}öY¬\¹3fÌP]¿`ÁÙÿ;7oNK’ ¥»»Ý:ÉŠ¨Ð¯cFõ^7šq{_WW‡;wâ®»î3ë±ê„fïó÷ÒR²)¬ 8Li,i{æ™gð_ÿõ_X½z5~ðƒ¨„Š¢ê7½º!±‡”°ÆJaßÔˆeQÃK·Ô6W +™ ‘“››²¾]’TŒ²…Ãa˜^Ýn׉Ɗ&Ý·!K#œM·^ô±Rµ/…}Ç“™ ¼aÒ¤ô“N·„Û!Éb&=é–ŠvÍëðáÃ(,)A8–ýn-n88¸¼\æhúý~dH2õçÏœIbº™,©à>|ó.L Sº¥Ö¶´´à‘•+Q^U…á#Fà<ý4‚’5ÒñÞW¶5o¿ “&aHE¾ýÔS²Í±úºté†×®£–ûW¬ÀãO<‘~Â×£`=þİÙl8ZW‡m[¶`ç®]øÑlø}e«ýâ lߺ{wí‘£Gñ_?ú‘¡¾ÊÊÊðܯùÎwpþ¼ðâ‹8sæ ~ö“Ÿ¤Ÿðõ&XW[[ñŦMxæé§áñxPTT„}ê)¼ýÎ;†Þ×jÿó{߃ÇãAaa!þõ©§ðî{ïîkÉâÅxðþûqÿàÇ?ý)^yùå¸hÓ­·|,BÐíóáÊÅ‹ƒ¥(è߃ ]NáöxÐÑѨ¬ªÓû•UUhjj2ô¾´/§ä}áÚòŠ Ã} ížx/¾ô–-[†IüÎ 8°{wúI[ÝÝá@^~> Ab VÀïÇ¥sçЯ¸ €‹hZ«‹ù-Z ¨¬¬äþ¾p%%%†Þ×j²kÄ>Œô‰D°ê±Çp÷]waçŸbý'Ÿà¦oL=;-7ʲhmmŹ“'Añ«h5«±¡…ýûcpy9Âá°î²W(,,Äüùóñþã?ðâ /Àçõâ'?ý)î»÷^Cïkµÿ|öY<÷Üsèöùð³Ÿý ÷Þsá¾þóÙgáïéÁ‹/¼€uëÖá±ÇÇ—Û¶¡¬¬,æ÷H·Ä[VVʇ ù3g­ØW*ó±ü~?JËÊ… Õ÷ÒK¨¨¬ÄÄšÔLžŒï?ý´á÷•mþüù¨©©Áè±c1bÄ<óýïêë‹/¾À‹¿ý-^[½N§·ß~;î¾ë.¬|ôQÍe½éf]óðûCŠä6ùüãÅ*¥ÓåÂÔÙ³Ó3<ÝLµ»w£tð`œ;qštCº¥›Ô™·,•néfy+ÝÒÍxKðö­OLºn[Ok¬tK›ÂtK Vº¥[Z°Ò--Xé–¬tK·´`¥[Ê[B{ëß[áe)Æ€ãi`„Ù÷–² CÙu €P¬$<߀ÝnÇÜ_w§1\',¬®Î.„ÃaäçñPä R‚B;cã¿ ÿþËð߆‚û U¤1ôm – V8˲ÜÉü—(a€¡`Ü—`ØlÜì`ð¿6ñô ®ïH$ÂÓwÛLcÎL†¿/÷c“cPÍhXŽ¡½½ õõG@YNCÂðZ‚ðߟÀéraÊ”™p¹Ü)Ákº»}8rø¦L•ô8X&X œ ¢€(‰ãf)u†%„,K%ýPÙïä0P– ««yyý8 RžuÅg­Âpút=~ý«gÅM¸Ü{òn·¿å]¸R‚A9Ògáóy±wïÔLžÁIã`™` %Ö{”ŠY„DU4¥¼0 ä«P3_HïJ¯·.œÅرáõváÏzOþã÷böo%–`êÔÙ7®6› „ðf‡×‘p7~̤ÉÝÚqˆõ,ôî“(†¤‹þ˜ßFÊÚ+Ȳ ÿOX°Tq“Aêxºººpèà^Œ3”R„Ãa ИÕÖa¨¬¹ó–Àf³KÌg†C¡êêö²”²)à÷,¤?,K“Ë‹  õKyó&|AéÉ_x†,ËG *—Ò8£ƒ î•} ¦W†Ѥw «0œ9s¿{ù8yò8ÂáòòòQTÔsç-é5 ™™…åËÄþðžÿͰüΘ={¼Þ.ÞHãÆÕ`öœE „Ç“±ã&áÎ{´ž©õ“É›ÄPPÍÀTa „A~AùáêC‡VbÔ¨q²Ü@ªÇáäÉcx{Ík˜=g{ü;ÈËËÇš5¯¡««6›=%’6…ÒÅ÷ e)Üxô±ÆØq‘•ƒI5Óù(…*M¢i ÍÎIZoFK1 †Áœ9‹ÑÑÑŠM›6Àçõbذ‘X¾üA”• ‚¸"$…!9|x?æÎ[‚™3Àf³ãö;À'Ÿ¼«W›Íçø¬Â´`qËwlüîœÍÆÍPW– KÝ&OÜQy&uxK¥Ã½_ié@ÜsÏ×Ù99øæª§t0”`ÈÉÉÁŠ«°bÅ*ã@R4wÞùìµÌ¬,Üyç K1X&X”¥èîö¢³«RW\øÅm'b¤ù:É, Žb4Ñðâž-ÆÐ·0X&X.— Wš¹üÙHD4CÂò[P BùÓ8y!¨]nѤ(-Ñ|CMc¸Ž0hšf-r[ÇŠCH·t3Ú¶>ÞÒ!Cp®¾ÞÚ¨0ÝÒ-%é†tK·´`¥[Z°Ò--Xé–niÁJ·´`¥ÛuÚÒÄki iâµ4†¾‰Á2Áêë¤gi ½‹Á2ÁJ”ì«·HÏÒzƒÕÎ{<²/ü8p`—øšÑ+1HéxÒR‡!iÁ2Cö qàÀn„Ãaôôt#J8šô™N¬Ä E4–Æ`ËL¡²/A[]¼xuüv¬žžn<ðÀ70jô¸”’žÅ"ë-⵿' ÖùX2¬&û¢8uò(Þ~û¨¯?‚––&°,‹¢¢n ”¸6ÚÏ׃RŠîn/t,(KÀ‹°Ä¸&‰ ¥¥µµëÑÐpóæß„É“g ¤¸vþ\ždÆÅnÌRI6V‰E½²èO¢›3@¯ ô9ÚP߯¢Œ •X(<ž ¬øÚ*4œ?‹ Ÿ|€üüBŽS²Üêj#ôôtãèÑChmmA{ÛUL›>ƒ—Ãíö˜ƒéªkh‡÷Z”9DÃÏÐãÐî›ÎŠë‹:Xb¡Ø¿o'l6ùÆ!8°oW4ñ¨±­=,1U–†ilh8‡õëÿŠÆÆÌ™»£FÝ€ììÂÄÅbÎòßOPyJ{ïê› mÇP/|½a‘j,M,¼ã»g÷vBðÐ#¡½íjT(+Q,0ɃEASÓelßþš››Ð2o ¦M›ƒüüBU”xæÝ°_£ÏeŸ†P#¢RD×+eX®¼vÒäé¨?~;wl˲èòvr\U ÁJK"¼ >ŸÇ×0ýû@vv§i,v#)†D¨:'ÍäF+íÚ7‹RÒë Ñ.ŸÏ‹‡y W®4âÿ¾…œœ~\AZvŽ`rXmN§ e¡ºz rsó@©öÒÓ‹˜{ jŸ‚(*éÆœgyôú¢.åÈóX_; cÃ7{ ”RìܾYr2«»fÁ–´•ÛíÁðêј5kjjf¢¨¨6£›pN\°D2ZyÄ¡÷@ã?$H2ä±’Z‡ð]?Xôü9AÓ°,‹#‡â÷/ÿ _ÿÆ“h¼ØÃÇJ‹®¾Ð¸¦_¿Œ?³f-Ĉ‘c‘““«y «6b2Ý øZ”ƒZü–Ú”ˆ L}Æe@¾æçúÅM,œ&±Ù¸3–ڇ߿ü+„‚haW3*LK,SIÓéBIÿ2̘>ÓgÌÃÀCÄTƒ^IG KRÎ{¼ªt”Åi  †ù²¿M,=ò8Š‹úãõ×^ÄéS_!+3;fº!,F4VFF† ‰éÓæbbÍt–Àn·Çý¼,1Ó zÖ#K•ò‰Kÿ}MBb®¿Tžhq=bFÖüÊå‹ðz»P^1 0`À L˜4#GÅzû÷î0$´¦±(„Iè‡aäääaüø)˜¿à&TTT‹+(À¸ä5V¬$£>;/¯)h|—R¹özÄ"˜Âö¶VlÝü¶oû—.`é-wáäÉã0`ƆܼLš<gÏœT%>­À¢ÔPÜ>@; „iÓçaòä™:´ ‡ƒ«Àºq±¬ØÕîøTÏ4^„Ó±¼±tuv`õ+¿Á—Ûj‰pK‚ßzóUB°äÆÛD•3qÒTlªý$®`%ƒE˜PO**†aöìE7~2 Kàp8,+vÄ«DS\{ÆÇ¨¾…«õ1øóë/ãËm_ˆB%´ìì\x23D,ím­ÈÎÎÍnKÙ¸0 ƒ¼¼|ŒWƒY³aÄȱÈÈÈË:E%q IDAT5ÖK™÷X76Zƒ‹?èu‹…‚"B#hk»ŠH$¬êoμŨ1F|mÃú0kÎ"deåÐXfw—Ë’’2Lž<³ç,Fÿþep:])—ÄX“ã„´±ÈêŒÑÈ­oa8fÏYÄ­5ïìµFYÙ L™:‹?»‘ûL„HÌ‘µXÜn7*+«1}Æ|L˜0%%ebª#Õãb©ó##f¸&šýsßÃB1uÆ\CA¼üâÏÁ²|ã Œ9C‡Vɰ,\´99yâ¹6‰úXÊæp8P]=cÆNDyy²³sy¦äÞÝÍÒÛû} «š´Tp½a! °ìv`ÑÂ[±xᲘý,š,ÅXñЪ˜e«ÆÅ”`1`x¢!D× $Š_EOM•+-ú*—±D'Mc¹°7…|=‹„ÁFˆP6h¢J’)g)5N(Ø –p–ÆÒ÷±,†aà÷÷àJÓe¸œ.õZEIáip¸•m¢µ–ץǑæ\_‹'ûâîIJ‘p¹¹yi,×Âåv»àñd ³³C%ÉÉq‚¤3 ·É’P€å—~PPP“‰Ù¶(në++·0 §Î…IvV6ŠŠŠaã{i,}‹aÁr¸ZY¾B‰˜Æ¢ÆÒÐØ„‘£Æ‰›tå„kÑׂ7Ký^ô}h\§þ ³…Ã"yzά4%bßÇp›O\.ª¼£Ì7­cæT¹+¡&Ú>[£+M‰Ø÷±@sóe´µµ¢ºz423³ãÖµ¢8yîÊx;¡§§„ã Ò4%âõ@ÏȲ,ÚÛ[Q_ãÇO} ¨òÓ7Æÿ–ÿ„½¡á‚ªdW°Ò”ˆ}‹´ „jZX¢9'}ŸKêciù[J—c3UÒIŽžQÉe _p'0ò!_DfUäß*–dŽWï‡4R'¤þ™þ‡’¦ŠÜ¿zî…_¦ŠìXôü+½%б®i±{o!£'œJB­£”ŧ>D'_Á×DèËR~w +c/‰G‰¨÷ð¢Ÿceë víÜŠS§¾º&XR6.±*¦Ô¸3®}­žÀhÆØÇ©îà™›¬8pÑÿYÍkbS"ÆÆ²sÇlßþ…ØÏÉS_áòåK½Š¥½½U–¨´z\Œh-Á‰%tZÚ*êã©ïk]«²Ħ!T^cL­SAã3Á2í`ŽQAuy»ÐÙÙ.ïK²W*ÕX(eñúë¿ÅÕ«Í)Дiÿ­ äý&´æÝ=#•9˜±ü‹Þ¤ŠIªi¨dñê±Pø{ºEAIÕ¸wÒµøDµÞSÂþK¢écÅjÉSE*nôÀíöh°÷U¤(òJnPaG ±¨B i+e¦‹èîîŽ/dQfD5£$BFc˜O#Q¡ÌÑTÛvé uuuàØ±Cøå/ÿ^o—L•G šÚލp\í³r2 CX¨ìG¼–R\¼xgΜàýžÞÀM,– EÌ ºž™3cåæ/¶¿e^cÅQùáP[·Öârc6lø¹¹ýGLD.zο9,RªHJ¹ ÿîÝÛÐÙÑŽúú£Ø¶­Ÿ}º¿øåk"Çyª°ˆ[©Ú¥7h+õsOJþö¨VÒú[þ›3ÛTAÙ€)4JÏøñòK?— ^4¹T‘áp‘pŸ}ú!.]j@GG›ØO00 J‹:Ái=m¥¾/¦4mjshF¨5“ úX¦(ù°Óår#++›ßUKU³¯7¨"{º»ñ³ŸÿçΞ¥Kd✜\ôëWÀ/RcSŠ%*tT“#ÕŠqQ‡Rÿ‡ãB%h©¨UPD†ÄŒ)4HÏhcl=z<&Nœ†ÅK–áù笮±õUd„ ãô©¯påJ#!p89j®¶4ᡇVaÊÔÙ°óË]R|>öïÛÉ-°AvN.†eѸCå+„*ÊÌCTKJ’>àöxðè7¿’’RD"Ømv‰)4Sr°†*R(œNœ8 cÆLÀm·ß‡µkßÛ“ŒŒLCL*VPECA¼÷Þ±uËF°,çs–• Æ“O~ãÆ×$=.4¦O¥•*Ð$¹ÀÄÒXJ‹ÆtÞƒ¹µ˜µ/né5Šƒ|”Ye©&Œ”×RSXÜî |ûÛOãö;ÀÌY pï}_Sèe,Á@›¾øãÇOÆ÷þÇ¢¼|ÎáW¿úO:´W¶„±(¢PJµ#Du$'Ot*“Ÿz¿ÕµËJ:1³¤Jg“ÿÓëíÂùsgðûuëwêŒ2k  k Ã0¸a\ *ʇ‰‚$Œ^Só\ºtAçY…ã'LÁcS§ÎÁOþ;233ÑØØ€ß<÷ÿpåÊå䯅ÆÓpÔ2¡’Ö3¡É8hÚƧD ‡Cؾ½—/_ÄgŸ®åQu(nz‹*Rh~vïÞ†'cÇ—›°aH~òÓ—átºRNéÉÈÀ}÷­Dqq@~~¿µž¢µµ¡PPÅŠg‹:ŸD øZjÓfÔ fSþlM汌R"~¼òû_‰ÿK“yJõ×T‘‘H6‚Í›?Ãñ¯ã‹ÚOćäKÏÝIžÆš" á³O×ÂïïÃ0˜?ÿfäääI|°X™wµ¯%ÿmÌa—Gƒô‰d5VlGU*¯Bº;‡E:{{ž±§§¿øïÿgÏžBccƒ"݇~y|)9õX„‘ üX³f5Ö~ø6Š›—Þ‰} ™™ÙBÊ2 ,Ô@Y&–#o&ÅD7e$¡±ŒÒ3Úl6T ‰ñã§àÆoÇË/ý·,Ó›T‘‘H§NÕ£©©Q|?++™™ÙX±â[˜T3N~DoÐVöôtcó¦ øàý·À²,Zt+~è1~ãC’ãBÔW^ÏÓKE*iœ@ºËG}¢šEKúΞµãÆOFVV6Âá컆3Û;T‘‚v"„`„©(¯†²²AèèhCfV6²³sE3’jªÈP(„÷Þû#¶mýcÇNĨQã°ì¶{áv{R:.Æ…G[CIÝ#¦0©Z¡^òŽ‚™³JfiD’]Ý»·càÀrÜÿ×áñd˜*s¥©"¯S,Áˆ~.ëèÑظñcD"aLŸ>÷Üó5 Z»Ý¡ª' Îét¢´´ EEË0rä xóÍW°cÇlܸÕÕ£1mÚÞg`dÓjš*Ò–––””@¿P@,×±”ëro³,Ç)AY˜#­!ÑõPv#‰ÔÔ¾Ugg;jk?Agg;¦L™…‡~¥¥y…be‡4OÅ ˜ÍfÇС•xä‘€ÃáÄÖ­ñÙgk1bÄD"a'¾™"MϨ…e#8þ,ŽÞoW'/´±—SÈw÷‹ûŒ–rÄu_±¡ ¨Ó¦ÎAVn±¦?^‡ºº½>|4Ù ”eÕâ´c cÃØT…æþýâ¾ûV¢µµÇŽÕáðá}` Š×XizFm,–…Ãa!@WWBÁ ¸£?ž`E…$êÔ†ÄMGˆUX6‚`8JXt÷t#+W}­Ï×…C‡ö" aÙ²{1`ÀP•SOwÝñã‡qñây”• Ĉc£zD°´tn¿ýüú×ÏâÀ=(/¯Š{"EœišžQ ÓáFEåTU„Ñh~™d…ó®—?`¯¯ GŽBOO7Vó™555áðáý˜4i:F ›Í¦–P(Œ >ÀÛo¿ŸÏ‡ŒŒLÜvÛ}¸ûî‡ÅjAtÕ(ƒêê1˜1c>êêöaÁ‚› W!ÒT‘&°þþ9Ùy(*.AvvvÜš™^Ö‰ÄÿXT°ÚÛ¯¢áâyüݺÂxáÂø|]˜8q²²²5V

ضmµèèè@ùÿ?ÇâÅËPXX,BÈÊÊĤIÓ±sç46^Ĉ7$n P"rçò…Åì2Cy‡˜åÍô5þuÎôpÃFl`ˆM!‰Ñ3öaS!«ZLX ¯àb!ËìÛˆ D±ÇEÜö%ÞDÛy?zôŠ‹ËøÆˆ0‘äÛæ ™-U™ a0hÐP”–Ä‘#1þM’÷‰YS˜\aZ½+XË¥â*Hí]!ÉÑ3¦‹ôA wZ<åÖÜÜ„‡ °°H- R™••ƒ©Sç ¹ù2:;;ƒéÓçJ|,ªØ„K——ÁƒËÑØØ Ú d:ó®¤DTj_akµìtQͪNàñlU`Y5ǰô5=ã5â`­: ho‰š¼-^¼ ùùp»=²•Ò:¢ÝnÇÒ¥ËQV6 ())Ãøñ“%ÔDµBÔétbÁ‚›y"9—Ï+†o9†äAèjõMY1ÙÇ0Tá„RÅF×¾†¥O5ªÞþ5eÊ,M-%0B·ÛÃ'<‰®fS~®²r*+GZ‹³­¬Òk™©éÐ27r" I¥Œ² ”‘õ­ƒôŒ½‰¥ÏIV,U@µŠÖDµ B–QZ{BM`0èc¡D¤B:> Ëû™ ŒD…òå ýʼYzÆxXtéMbé‹b¥¯Í!K£h™G=!S^k5Ebλ%"ˆ^ÇRºD ±¥,øª ‹Å?.ÍèÇ,=£,BÝãñÈy¤Å’D üp:’U 8ò$§(bX¼÷µ…ÌŒ¶,¡ŠÔ£gäŽXX½vT‘”RtûºñÛßü ~¿?y,I¶7ÿü š¯\Nª©a,ò-ê€èʽ댻ISEjñ†³,†FSÊ‚²,Q›ªdèõ°0 wÞL{{›(0Vb1kú:;a#Iw¥výıöÖ±x*™ï0U¤2|)%"+.‘>01QIõÌ=£,Ñò¼o³Xú\pHi¡Ñ6ñ¯5’93]Ò1A©Xƒ¤¤DŒ:¿Šå¶šª:9zÆØX¨HÑ­¤Š4ŠåzjñŒK³M®+#K cñûÇ6…q(¥ZBëJ¯e%Kx)åÖS•}OœžÑÁB³XHß%M £'`„Äc·Ñ ´|µ”øXò°\ Ž!МíT¡%¬¢gŒ…E/ái–ë_ƒ3{fÆÁn2ï¥~ „h>Pévl¹¦¡`©°F;Êüšx«áÌa‰n\ò£šÃ’È>ÃëCÀôºÅ>V¼~µË'ŠÜ¯™å¾‘E4$†À¨tX¤&•òë»ÂÒ‡‹Æ}•Ö>ú_KOØ’&‰O‰¨ÖSŽbºA‘½Öök¤ ÍÄèõ°Èp)R‰aé³’•B!3|c锈PÀE$´ŠT"XrzFª“ÀK†ž1&IT¨¤Š4ƒå:5€–øQ„÷µ’§Š”þOöö6D"!@NN<®Œèž:ªNih}±Déõ°x22£GÍ¥K¼çÚÙÙÂ0ÈÎÊI‰ßdü\çÄ}'J bÂT‘P„üím¸ÐpkÞXK—8þÏ»ï}K߻Ӱ$ôŒñ°L™2“§Íâ¶™ f0Q,&[gG.\8‹·ß| N§ wÜõ ¼]}ÈŽ¦ÆoL’*’›&ím­xýµñå¶ZÌœ¹ëGƒ‚âÓõ"ØÀ²å÷±1ŠÁzZ"qzF=,„¯¾ükØlv(ˆý,ÇÂùm6°4‚¶¶Vüñ¿Å¶-ŤlÝ¡½â®bcnpo;k$ÉÏ›¬˜”ˆþþðêóØñå&,Yr;îàÈÊÎ¥ÀÅóçP[»·ÞvÀ9‹õÍORôŒ1°T‹?z6ظ¦`‰L‡ƒa¼¾úlßV+;øœeYØ؈_Û΂Z¤7Ì9áÉh³^ Š …ƒ8v¬ãÆOƽ®DFV&|=>47_?Ѓ‚ÂBDh e 3'J ˶íŸÃérË-㱋v‹Ð‚áŽ;,*¡Ý÷ÀJËV­Z%\F& …¡§u™wåL¶Ùí>|:;ÛQwp/àüù3XûÁ ¯…o®z v‡C¶qµ½®°hšC› êG¢µµY.BJK¢¼blv›ùžÉµÐ`½ècIf—Ë•ßü'|¹ý |øÁœ¨?†áîûÁ”©³P\Rfjö$BÏØW°H›ËåÆÊGÿ .§ ›7}†ÌÌLܲìnŒ=•Õ © .±kuÆÝ:ók¹óž›×7-]ŽÆMB[ëUdfes{Ûˆ2A‰”ø5׋¶>—›×>¼ sæ/ÃáDeÕØl6Ùu‚ð2z[Ô$0º“ÈzA°Æ'‹#XF( ìÄ!Ž+Á•2°Ò‚/oŽž±·°ˆ¿‰–àñÞŒ°0—Eù%(Ê/1fÞtÂ$|n„¦0QkµÀ¥©"M`¡ÜÉ7 DØ‹˜¨i"&B~nÙå9RYWž­¿<†J84̘Â4=£6 cƒÝîaøãú=ñïŸB€€„‘›“ ¿¿[¦E!ühllÐçùÒ%‰¾&¦ÄÆÁˆ GÄÀfw¬4=£6B22²„»! "þž>,5q”al<¸™™Yü!O|Š%B{{+._¾˜–úÉ<¯ùú¿ý¯'bN–þý ¢b¸Š5¦`¥©"u°ØlÈÎÎQmȰÖב®¦ ÍÀãÊ@AA!ÜYð#ÈË+€ßïçÈß”}(J]ŸO|ã_L ܯ^ú±î5íí­ÈÎÎ5.XiªH},ÜV@ç5ÇÒÐØ„~ÙýPRRÕ²"–¨æ%bŸ“FO6-èß^õï8v戤O f ‡£ð=ç Vš*²ïc€în\.f„'ÍÃM7-a-:²|4öÞ¥òÍ" ðx<ˆÕXiªÈ¾š›/£­­ÕÕ£e~—²%#TB«3;îÿ‡Cèéá ‡ñiš*²ïcá4X{{+êëbüøÉ¢o(|vÊ Ó,õÿ¦Ž›†cgŽ€RІ† ˆhÝS°ÒT‘}‹´±ü®jË”¦§,×5²|4 ¡a]ÌdíßU¤"© þÍR –¦4,XJ¢3H”Ç,ñÆeͯÁn³ãö;ï‡ÛíNx\¨®VIPIÛ’97c]íZk‹Ðzaòµ¢Š¤ `iDbV"Ül„÷g¨~Äf#6Ø›%Xâ üaõ‹°Û9á²Ûí–Ë´ñ3Lã;T¿_AŽ©g²F«ý£—yWÒ3êUþe ŠÝ2ëÖþW[®JöBÁìBù}{úì/f°°TXkEÅß”P„#a°4ÝÜ6ú;EXôÆðù¼XýÊóXûþ;‡Ã‰‹¢MŸ0Ó´PüjŸŠHåðÉC†?¿tÁ2³>Vì*¾!zF ìß· e‡ _~>ïX^ªÈÏ6¬E†'3f/à¹6qͰPPôë—¯· ¿ùW‡CXvǽp¹\&i+)Vܵ2a sàø^ .WÎG;rêFWÞÔê&^‰T‹L F렻LJßýö¿ ³’U]+ç£2NiK{[+žûÕ°}k-X6rM±€óæßˆ3磰¨¯þþyœ>uÂ4–[çÞ”°Pí?¶G¡q©êï#§ê’r£õw-S'?ñ“ªXŠK°us­ÊGœ ƒ'S÷¨" cE[ÛUüúÏâ‹Ï7¨`ocùø£÷0xp9¾û½¢²j8>Û°>ŸÏ0–ùÓ%ô°÷Ù}GÕB¥­}hRÂŘÕtÊmXJ8åÌmooŶ-ŸÃï¨Iõ#PcT‘F±¸\ntt´ã¥~ŽÚÏ>A8¹fXÞ}çØ»{V=þ/8súº½¾¸X&ެIX¨¢™sí¢¹²(/Qwº.Nâtj‚•$=#Ã0(-ˆ];·á­?¿ŠžžžkB ,½õNŒŸ86› ¿yîG8}ªþšaéß¿ ápoüé÷ørû&ØìvPÄÆ2aĤ„µÇüšž T'ÊS¥±b¨ü耩£J)Üž <ñíǰê‘xëWqöÌI~pYP•ºg>……X@±aý˜:uþù;Ï /7{w‰@ pM°Lœ4 ‹ß‚ŠÊáxëÕ8wötÌq™4jrBwס/±»n‡I¡¢ª4G¼vÃØ[ –šžQ›˜ ûµÂúìþýËðí§žÆ¸ñ5øð¯kÐÕÙ%¦´µ5@i ¥€×Û…×ÿð.^8'ÿù{عc :;Ú¯ –O7¬…ÝáÀ“ÿôï˜0qrT;é`1ÛvØŽ¿Ô1s愊säã§ ŠrÆÆ¬xôŒZùÍAågliÙ<öÄwÐÜÜ„ææËâR[ýÈ8U¤a,¼]xýµqæT=23³T¥·°„BA|²î}|¾qùÆ“<¤<&sBµÍ ð*3æ°¦æ.¦PAÏhvåÚ‹EqI” „×^yA\ §õ UáµX@ʪjŒ=]]xåwÏáÌ铺Î{ª±ˉßÿË[ødÝû`#úÄ”±Æ É_îßÇOJT¨hoûXòµ?jB^¿ûÞ‡¹šZתÕ:,Àý+Å÷žþ¿¸ç¾¯aÐà¡Ü&RM¡J1J1}Æ<,¾q(¥øèÃwpáü9],FÚo~ÿ3lß·²Ãí¨:} %HF„ŠR îÄA ‹&?ˆEŒ|„Z+)]°y%yBÑ ,ýò °âk«0~Â~ 3ÛûX°`ÑR|ó±§ðýÿý#LžÊ¬¤ƒ%^{öçÿKµ›&Vú@)tF„J@#Â%˜ÃØ‹˜De¶YxCðUÚÚZ——/®%¢:¾–¦‘(ðÒ[ï¡ Ó×»XÜn7&NšŠê£ÅrŽËŒ ³L¼¡©µ’*i·îÄ+L!wk¦¥ý·¢Ë6ã¯ï½‰Û–߯k:£QP ªÈD°(´gNn.Ng «÷°ÜzÛÝ<¤BK¼öÇw^Õãu}-*ÑpÆÌ Úl&!XzôŒñK’Y*ysæ.FNn®Äù¥ G_ÝX¢¤¶ÜÏž]Û1vìDddfêh¦ÞÃBˆ 6›-ÊìÌÿÌš4'‘E:q´–9‡]McÎýàø>k÷xƒ ´·µ¡««C23ù5˜4yœNg S#ÿIaQùQ,ÇŽÕ¡¢jxŸÀ²aýû˜9g²²rH1P~U,GÞ¨PɹòãE‰55wYKyñÂy¼ùæ+p:]¸óîèòvFóY¼oÒT‘påòEx½](¯¦Øà —Âͳê]k,ÍM—Q9llö(YÈœÉóâŠÔ‡µ¸¬Êªs¤½D×#„;’8öoÞ•$ÑCC¥‡ˆ|K©"·nþL¬©:¸OFTýó›‹{ƒ*rëæÏ°}Ûh¼tKo¹ 'OÇ€CÄåÅKnº]m[?WQ":NØ~£)eUG|[MÙÕÙÕ¯ü_JèßzóU ‘8ÞÂÙ8×Ë·‰šfâ¤iÑèY7¯˜+äf‘$$\QŠ-T‰Ÿlú7Î]š¬¥u V¤gÔ¤D|p%ò ¹eÁq6¨üj w,ƒ?¿þ2¾Üö… Kvv.23²@ÀÚj,žÌ Í$n2M½Å÷·´ü/#þ•QIÈüIþgì6 >JE(VZ6åÃù%!Ñ3ÆÏQSX¸1´µ]Uíu#„`μÅ>bXÑ죷±T£ÛÇü©±×[}ðéû†rYf…L +ÿ–3—t´"žqÎÜ%°ÙìÈÉÉÅý+Å?üã¿¡¢r¸aT½¤IIDAT 꾩©hŒ‚Ùs!‡g…8‚)Sgq¬Í`û†±™µ–¤ñפÄÐJ\%ĘPIJzïuµ¦Öyç(¿…¹ó—Àáp rØH‰ëªH€bꌹ†‚xùÅŸƒe)ùÆ1r,Gy`IÂJœkÞOED8éŒFÉB:;Ú±ñÓp÷݃a1Ú‰€¥à(ËÅ-hÑý–Iy’=c\JÄŽY,v;°há­X¼p¬j} ‹R µêƒD¬ô’œ°Âþ@NžüJ¶—Êkôl„ÑpØ¥»¿£7ÞºgfÕÌ5.XiªÈkƒ%VûüËOxcê6i¤ªTCQiD„ÚkRce{œƒp»=:¥Öi FRã郢2õ.›e”ȯ¦ê{QÑ„7‰›ïQÎnél´Ùì£ÃÖ;T‘1Z8©"µM‘¼¬£ÆX6®æîyår#~÷Ò/PÿÕQtuuà왓p8¨ª é ú{¬à‡&'XÖ«\:K5òÑ"*ˆp꫽h:zË—ÝŽ~Y(±I§AáG˜­»i —u‘’*RíÈ…GJ£-_;±iDPõKއ¢éJ#^|þ'8x`¯¸GÑçóJÌ3.„–ÛÇÒÃ’À²jÀùÕ^ÜoÆ4:ÜÙ¨™²Ý—¿ÂÆÍáíîQ™ÁDL¡Üª°i-GÊ4ŽªÇÅ*=þ+£;Ÿ¥û• ,N_ºt^&TBËÊÊÆÒ[î”ÕE£“‰E Ѓp8¨‘m׊þ‘œ`™[;DuÊøB4‚¢Ã1ö†qز~ ¾Ü½ÁP(æ~7í…iÚ>šzá…öž»¨ª²ŠBSŽAN[iìAиþ,¥€ÛíANŽú%—ËêcÔ>Nœ8ާŸ~ï¿¿Fwb1…LbÑ 1­¥ç\ÆÚÆ-{”äºàm½€?½ñ*vù ª¯¥´5’6»žZSi;ñF²d¦)45·™\L(ɦÇ{nÆÂÃ<Ž~ý¸JQQ ¦L§Ó…“õ_ñ›d¹k[Z.cÛ¶øío†ìì\äååÇ¿ø Ç2ž÷XI:uJ€è¤”¯Q\ºx­WÛám:„·×¬FnÎ?bTù`þ e¹Ã._Þ‘è*—c”*’ÃAt%ß»Ô/2êÇJIVôS Ü8Ø;.¼¹Ùy¸r¥ Á¸q“ðÙ§aõêç°oß—âʈK—.ààÁ]¸ó·p÷ÝÃíö@ïÌk#Ñ¿)ÁR:‡Ñ¥_ЍþWG”Ò(º‘c°³'¿ªCgÀâôWq¨îª€Ëa×qØãgüõw¸(óY4–)„I9ê\R³E£Dµò@;G)icâ9üÜ{6bÃÔ©ò]Õ Þ‚@ÀW^ù5(¥(*ê'žø–/••Õp¹<‚ªß ¡ã§Ì4—mȵ”Æþ6Bý±ØuèW³³;Q=f*&އÍ&O•õ+3…R=‹Ÿ£‹—RP :—&¹„´›2¯Ÿ¬•¿h·;pÛm÷ãöÛïY3êWk%Hífv3©µŒÝŸ´*ßxö0ÞûË8רB úW`Ùí÷¢b@ë±Í¥´L¡^”K5ò^Zy*iÉK: X–ûŽò5a lˆ4¨56Õôc_›hÝ5 ˨IÔ÷· i Ea¡a|uxן ›Í‰531fXl 4“yr3b¶eLÀâQEJsVʵYRaÓÊ]MjØÉ#`«5ÑÜ-$¶ñ"ÿ¤òXÔ”ÐiÏzíB¯&µl(Vƒ±cÆÀí°ÃétaÞ´)ÈvÛ4"@Ê]ÅÏg©#KeéEZÝH†BSëÔ Æ(qÁ¢1œ}­@"v/Œ•ITÕiÍìø™íø>Œ`Zª†Áªoþ#æLž·§6WŽ„_@…Æ ‘Õ¥ÿY3\PúÌÉ0HEIMk¢Dž—¶OIÛú“âÇ2ê¼ê —žo¦<¥ªíá‚p• Ç}|ㆠÀžCuðöt´ 4yÕãÿ Fbêd M^¸ÔG¿èR¤)4/zIÐă$[|á¢&Í$÷¥Â¡ ®^m‚/lǸñ7àÄø|ç.ôCªò…¾ 4:€TG“Aæ?Æóiã•r´_gMi¬›ç-Áõ`\(´K4F…ªÒ I:ïÚ©3Î|¼œ¥püÀfüåƒ÷púÂ%0Dðùú÷0tà Œ­ bª o·T¡5Mˆpp%…*ÂSF‰ñ"?mG;Þ¸9/ãÑŒ^•˜+½tCREèDJ>zšJª)šÎÁ»ïü;÷íGwEyÕhÌš}æÌ˜‰œL7H ˜œóM(`À4U$˲‡Ãðz»àõv¢§§[Âuž-{6ÅÝ¥ó—%ðÌÌùQ‰”qLi,3¥uhKtË zÚ Ôý·áØé³ÈÌê‡åw>ŒE — Óíc³‰ëÏ¥YwéÌL”hCß¼ó}ÆéXYf‘þøqéRvîÜŒ` €aÂÄé(,*Ñ6ïþ".«ßm oÁê7_’ ƒqm“èbEãÁD‚µB#&QO¸äfO. =Þœ:qÝÝ•–axÕ(ä‹4%OÓ"jzÝX,î+YºAj…bPE*…‹RŠ@ €––+8th¼]èòŽÁ°á£QXXÄo2"°`¹[‚)5wf’G <(jÊÑ÷ØÒ ;6€2°¶l(—vÄrØÍ¤´RÚ+&€P8’p3! " Áï÷Ãçó" GW)$x~Î×ï_e‘% &‘ 5k^â —žßE)@Ü™(:ž ÚÛqìÄAôBšŒ½Ú>5ùk!›4*¤¦ÆEšQÏÈÈÄ€C0wÎÜxãí˜6m.úååCyz‡ô狟ëïçÿšŒôÌZâ~6c­É0&\j^R¨…c&ÎǔƄ¼ØøÉ;øhÃ:œ8sÝþ€®–‰çxÆwJÉãÐ8Ñn£Ûƒaæ¬X°p)&Ož‰œÜ~q5”QáúÇo~DzDª‘ÔŒ²i¥À*‰ —–€å—ãŽ{VbÑì9È`‚ØZ»µ›6àRS“…šÊ˜ 5òâ™/®.gCNNrròàv»EÂ3e‰)·`Æ¢sUÉ7Ó«ÌEˆfz¹Ó¨tì àtè¬X9—/"Dí(,,F~¿<ÝϧÆÁ¥æ’, ð¢ù!-–›ø‘\페?m¡aáú|ûgåÊ’³d1‹X„ÂH(¬üâ„Ùù¨ÊÎ×éKïQK´­ÜW2·¬ÅØØߨúù—ŸaÁôE i.¥ éÝ/ÑG½xöæ},ó‚EMH¶ó©yÆöùÌ9ïzþ™| ¨Š*2Ž÷jáNòÚúœ–‰4“íµtCü›Ò¸¡í½ŽÊ'æÀËg°òdU%U$Ãó/hþð< øÉÑâzø™ˆô5Ž*21á2"`RjLéÚ1íÍ(¬‰Ì;! ’­×--MöˆoÛlö„U&÷ÙÄ>,pB%“Ì‹öaܤuwû›Û%%¥¢p]kÚÊ¿~òî¸ñî”j/i{ûÃ?Kð2âú~†±aùÍ÷,‡Ó‰Žöv0 ŸÏ‹ ΀e#ºf*ÑåÉ/ýH|Y‡™3޳³s1fÌpTN}…¶òý ïâö%wõJŽþže&ô9™`åât}=›3f. •Ö ´[<5F%‹¸‚%#ãSsg‰«-I<—@k·r¬#ߔάÍfGFF€–>E¡ù×O?Ä‹—¡¯6òùÇ‹£1vÒ$4]¹_WBÁ`TpÒ­Ï6­R_hvåü...†?'áH„[ÑHHúéõáÖÜY'û¿(glßÓXéö·Ñ„“äûŒÆJ·¿¶gÏ»×LÈ„{§ëïHÈR-lÒ{ýÿ“Ù’0ë0ѹIEND®B`‚nted-1.10.18/doc/docimages/zoom_out_button.png0000664001041000007640000000211111520267216016205 00000000000000‰PNG  IHDR'#˜P„t pHYs ‰ ‰7ÉË­tIME× !Q•èIDATXÃí–ËO\uÇÏ9¿; Ã\`˜a†2Ì jK[Ô(™ +›¸Ñ@»òQ{cúèÆmq¡‰ µ&jt©iÜá(‰€-ò`µÈÜáBa`÷÷pqë«#ÌD]pr÷æžä“ß¹ßï÷Ü4Öà_/‚ÿ¢Ž¨GÔú•öOš2¹ìrz5Ÿ7Š»EÐÝz àG¢áîžÃQñïýZ0ÍÉd²T®´ùƒ~ŸÏÓÚ  ¶îMã¶«Ñ9”H´{½õ¤frÙ/¯_Çûã±h¡ˆ%‹„B`¨\å×Uje%³<÷øÙ³=ô¾Ô‚i~öÅç'N?¤{‚æâ½Jy›TqkmþÆÔùá‘x_5M&“‘ÞSº'h–èOHD´ÍéžÎHï©Éd²Îä²¥r¥/3÷‰ýzˆˆæöÅã¥J%“ËÖJ]N¯z¡õ""!â]1bŒˆˆ1b„Äh}¼þÐrzµVçäóFÿ™‡7«Hˆ+kÛS‹y{´÷´ Z*ÿÜìT­ÔânÑçi1 @©ÅüûSþQL¯L|Ý×ÝjnWãáÛʵ¦,d6šu—Å—’!!¡URI¥„RåªXÈšBH·Ö!›t·¾±½ÓìÒvv+Ýþ¦Ǿ²Çûû(PÇ»<ˆàirlmu·^+5ð†lïZ¼]êòëáÎÆl!!*¥”’K)„ìô9×l à¯UÃñH´°~«·³I³%‹È‰!cÄi¶”¡Æ(ÚÑhüœ‹G¢µRÃÝ=.§s)•z0Ö ¶9‰ˆ1bcŒѾÂî¥TÊåt(÷ͦ¡DbyaÖÚ-<m¶u„ À¶/ áéwu'ŸšŸJ$êœþ½'ï?Ñw_Ö¬š;¢,€\ èsS°M[Z\XøqFHyóæ\,yù¥‹u *¥ŒBá›ï¾-Wù±`Ï±ŽŽ¶Öؼ³½žÏ¯ý”ilЃƒã—/œžþ~&—½õúk¯þ5L@UJI»”Êä²éLÖ(Jå=p56µû¼Ý¡PW0òéüÒbi¯táùg®]ýèÒèè!©6R)çœs.¸à‚s)•”Òâ·¸R ‰4iL½ôfÿÉôjføÜ“W>¸úÖøø!©BÎyµZµ8ç–eYÜâ–R Q*—+•²”ŠŽ‡CcÄ&Þy{`àL:yâÃ+×&ÆÆê¹­!"c¤iMÓ4ÍAdÿñð¹§žžžžŽDz~˜½Qÿ ß}%…Rê·˜$¤†dži¾ûÞûÅÝâ Ï^xô‘¡ÃokG[øõOý‹„ö«ŸØº¯IEND®B`‚nted-1.10.18/doc/docimages/changed_alternative.png0000664001041000007640000002037411520267216016741 00000000000000‰PNG  IHDRÎZ'æG pHYs ‰ ‰7ÉË­tIME× 6&L¿²S IDATxÚíy\TåúÀŸY€™asP@A(¹.…ŠK‰å‚¦‘Ke®iÙŵ{-ÊÌn]oÙ‚D*×RÊ%Ã0ÊËÏ¥Œ041!‡Xda†™aÖßi™9gVfx¾þ8çÌyßsÞgyÏÃ{Þó¼4­V ‚ ‚ –Ž"@AC AA0Ô@AÁPAA 5AÁPAAC AAlE€ T©¨¨X´hQ]]ŠÂ UUU(2Lž<977å` …œQÆQXX€¡‚ô#222 Æ·ß~‹¢0ƒÁP«Õ(2899)•J”ƒ¬]»>ÿüs…qðx<‹Ö¡‚—ËŒŒD9 HÀÕÕÐ%û-8WAA 5AÁPAAC AA@¨¡U‰¾ŠÝÿå)±W±GA 5ÌŠ´á‚1A/ü+~kô‚aÎ9U.FM vOˆÐh@£Aµ}ØsQQQZZÚ€úº²¦¦&--­¹¹­Õ ÙÙÙgΜ±ãhgö¿3uô0'ÖˆqsSo´¢NV¨ÑÙziæ¨'N—Šˆ]qeæ³O:YÛÊ@ì›òV–øpìâ~;¶dÉ©T: ŸK–,h­Ù¹sç¦M›ì÷þ[ÿøOÚíA»¾Ëi—‰¾~-è¥é/¡NmˆÕójh¯NŸ+êÔ=¦”–®|äïÂêo\é4T bÇ´œ×ÑÀÁt5bc¼FÆŽíÚž²üù >r °pv¢°¶àË¿~.éf×@îâïÞ•GVR{|eÚ-ÔbßÔœŸe(éWù›·ãŒjh•›^É 6Y^füÑXÓxkÅ0.qä—×w£>û&£ÆOE1 Hÿáê‘×ÉOÈ<ˆ¢(¡†¨|ÇÏ­r 3Ýæ vg¸øÇ"~•Ô'VÈq­Ä®C !,æ[ÿ²ÁÁÁÛ·owx醅…EGG£•õëçúÕ«ÁÁÁ'Ožì7£Õt$nŽ\xçÇ?n®}ȵ3PB’]ß¡ëÿ·8°k0ÃgÂë]f¡Õœ¼+C• vL¦ð¬ÙÊÊÊðUEUU•P(D+ëÏÈåòÊÊJ‰Dbó;Qˆ ¢ûÛ —n]þzZ€+ªÆ¶XuþÚ™ë€Îp=Ñ}ÐÉm<‹N“k´Ð ÀQ Äž¹+ïùù Z̃ VExùÐs¿üy≃{üD£Ñ´è’VǪ£Ç›¤à;õ³É\gÝ{`к><êÂ@• v ×h4)ë CžGy ˆ Y4wcöõŸ–OB»ÇÉ»rË€54 a…LsöDéWwVw¨5@£1žòf£JŒàÔ©Sqqq([ÒÞ Zm×߯ÿAÄÁ ð±kUUURRRYYY}}ýã?NùRÚ®uO¾|÷_ÙL5^Ûwø q0dªßX‹ÅâÄÄÄ)S¦PoAAô R©ìèèZÄŽÉdº¹¹€\.×h4Fu=ùî»ïššš6n$õ¯°°P(šÅbsrrzëθz¨VráÂx÷Ýw]\\,'X‰Dâääd–KÈår@`ЬJJJ ))éôéÓ” &&&úøø,^¼˜R©üü|HHHðññ1x²F£‹Åîîîtz¿H -D"Ui×ÖÖ@jjjaa!¥‚UUUb±˜üåÄb1›Ívrr‘Ht÷î]ذaƒ§§§)­Ž‹‹7nÜœ9sTï×ÙÙ©T*‰g„íCÚÚÚî©òï¿ÿ¾ÛûÉem`ÄŒH/•´"fùnµ€¸8ö……¦¬´Öq;'«XñÔ¼ÇìZ߉‰‰‘‘‘” ^¹r¥¤¤¤G©ÜÜÜÝ»»r½3fÏž=ðå—_666¾õÖ[[ôàüùóííí$%/“Énß¾MUM}=üòóóM¬*... €j%ÕÕÕ999Ó§Owuµ`‚£˜˜˜É“'GEE™^ÕgŸ}ÆãñL‘N?uêTxxø˜1Ô^×:tȈKËd²ŒŒŒ)S¦‘qÿ•+W¦¤¤ <Øî<¢›âââ”””1cÆÌœ9“RÁ3gÎ( ò—[¹råæÍ›'Ož ³gÏ&8pà矶¾+Ù;©©©¹¹¹Ä3Âö¡†.Æiâw—_DrfxÄ,>l¿L UáöùÅC³Œ§ÔòÊé~ó/µ©ví°k}×ÔÔ€¡Æ¡C‡z+¥³óÏås===‰_Ï;G§Óš#‘!!!¡¡¡¤dÊÊÊòòòÌ"Æ'NíPºÑ?ž;w¦OŸîááa9Ázzz†„„˜EVL&ÓÄP£±±ÂÃÃ#""(d±XF\º¬¬ ¦L™2vìX’îÁçóíÎ#tEüoCµ §§§X,&_ŠÅb………õ>ß&®dï\½zµ´´Ô¢­¶êHÝ,O(¬‘|ñÂää»ÄÁž[`Ò¸MòòYÙ"9fEA~‡UC‰#=àÊëQëRJ‰#¾þëìÖI¦ÔYubæô*Ðj5ýG¬ÇŽ[¿~½L†KºX›òòòõë׳A¬ÌÙ³gׯ__WW‡¢°Y¨á?Ïî^»Nì²<§ff¼Ç4aŽF§è·yŠú¡X³³³“““ Z˜• …ÉÉÉÄì?A+SPPœœÜÒÒ‚¢°Y¨á>òÏWÂt¦Çþ˧G»š²Þ›úÝ9O/üö;Ô"‚ ‚`¨²ÆÌ¹Ïfuï.ÞŸ½&Ô¤¯’®ºð8?vçt?Ô"‚ ‚ô[¬´ˆ¼FÙü¤gJ¤Jb7`vüñµ&åí¨;ñÄvá¯õ«Q…ŽŠP(”Ëå( Ažªª*‡ÓO>uî/¡Æ’%K(ûÊÙœêöî]…ìü’%¿×ZÕ•³§='<ñÎ +L¹«®Ê4Š»"±D¡Ò:¹°=yC|(ݾ};Ç£jWF\špä-[¶ùœ˜pÿM›6‘aÏByèá€{÷îMOO§TP Pêšš››wîÜyäÈŸMfq¥ !¯t]ÒÓÓýüüˆL!VF 444Xô¹@#¿¢nvvö´iÓt]ˆ$wóÿ;iñ^Ý#ÁKÓ2>oôMçî^üæ­eç?íÊÜlÄ]€Fu75!vßáSB™J÷øˆ©Ëö'íx€cü2³Û·oOII)((àr¹äKÕ××O›6mÆ o¼ñ¥ËÅÄÄœŒx ˜Å•tIJJŠ'©ôæ=cÆ ›tÎIIIYYYféÐÌ<ª1bÄ’gª;«×LHîÞ6qÐí+w[®5¯¡¢›Ië¿v)¾>¢×Šó”ê”ÖŸ[ñôÏ·Ú{ÿTy)õÅu~Ûb´XÝÝÝ 00R`Ëd2ÀÓÓ“ªpˆ„²=Jݼy³{›Åb¿yrŒ¾5áp8t:ê­Ö××Ç£ZÃá0™L’¥x<^·HM„0Ó«rww§Z ‘¹/+5—ƒ°X,ooo³ÈŠN§s8Sª"F§ýýý©VÂd2¸41v@¦ áþ|>Ÿ| /‹vb”<¢‡<˜jA‹EérL&Ó××·÷ù6q%]¼½½É+½‡y»¹¹Ù¤sööö6W‡Ögë,݆Ô5³~É»º¶‘ks¾Z ÒÆ£+¼´úÝNmý“a£CïÑýShhèÄYÈT¢”äÏóÔ}]” ñʇ€ tÔ‚ØM¨ÑœÿѪÔÊ®+1Ýf%øD@§8÷¦Te\QW„mÕºWέ'SÉÑÅ sZåúBlï¹ÄÄbñ+¯¼²lÙ²ââb3V;{öì½{÷¢ƒÙ)è ¨£~BzzúÓO?7Hlll÷r0ý ~¢ÕÈ6>ùQ÷\ð·~|Ú0nœ›s¾DqHØññ›´¹­¥2ú§ÛúÏ™¹ó½b»wï&b‚ÊÊÊßÿÝ\Õfff>ðÀèüý²åò¹¬üe­Rµ;ÏÜÔÙ}ŸÙèB¾ÉvÇÍ¿™WGýSV"‘héÒ¥ …"===<<œ˜™ôEqqqffæ€ 5*¿Yþ°ksÇ~Ø>…Ø^ãçš_¦ø-K6 5TÊ6ýSa‡<²åÄ‹ëìNiйM7ÈhLþÏþ÷›Ú{_›x†Ýÿ|µØÞ¤¯&ûqgU§¬Õ\:êKV®<¾;ÛÆÍT©Tjµ;(ÀR¡†V#ýûËg»wŸ=òÕ f×ËšIóü¡¬µúX%ü}¤)—h¯›yº'ú†††r‡Æ|‡Âdé›üâ±>'s§m XÀk¯½VYYÙÔÔôÑG¡?8zf¶Tôá !ví zšÜPœåje¸ðÍ¢#=²êh®‘»xÚ¶™</))éðáÃsæÌAwÆP£'õYë.´u-bÎüìáû¾ìAØ{£1wÛü¹{:Tà1È÷oMŒ|ê™™¥t nÀ›Á›Fßá´‡ƒ®WKÕ.Òæì1⥭ìÞ¶œM@ÀãñRSSÑbæ þ7ú}ñP°_yÕ»sSšlw<õèß~É-5ZGe¥îÛ¼ÑÑÑÝí#ö‹‘y5&L˜ ÿä†õò®/ï±AÎÝã­ÂòʺûX°‹›÷0þ0¶1ÑZÞÖ"Ñøð¼H¬Vøúúúûú´K: •–Æpa±ÝÜÌÖ…ÖÔÔ455………1¾kW(EEE¾¾¾C‡R‹ºnݺÕÒÒÒC)mmmåååĶ››1öSWW§P(‚‚‚,mX×®]óññ!ÿÙ^oÊËË%IXX¥R‰¤´´”ÏçûøøP½œL&;v,™“›ššZZZ¨~7¯ÇT :Ô_Ъ$ííRY§Z£e09nÜÒ’¢ûJ»¹¬¨Z¬oØ™Fw {xNï­>ooï@þPÓ¤´´ÔÃÃÃ××—rÉ^Í,/-qss Ñ7èB¦É£G=àââBé^ŠŠŠØl¶þKß×NjjjFÅf³Iºÿرc ž,“ÉJJJø|>ÏÛÃh‘kü¸Ñ”ÔD£3jª*‚‚‚ˆo>)Ù‰B¡ 逄Fø|>ñöµk׺Ss% t\B¡°®®Ž¤Òu)((ððð0¥s¾ïƒ€ä=·µµ™¥CëÛNH£›\Eÿ™ÊŽ"'z×àËs–LÝu\*Ì^®/ë*éþÚá-ET²ŠOæDò|‘HÛ¶mÓZŒ7€H$¢TªººÚ¸[±bEo¥œ>}º[°ÄÁmÛ¶­X±Bky`ãÆ¦ÔåááAµa¥û÷ï7âr|>ŸäÉû÷ïï©YL…äÉjÅÄ·Vpî“ÜsiôúÞ'³ÆÐŸ:XÚ—úÌe'±±±”ŠôÕL:Óù±¹Oê/ht“õÃçó£¢¢¨–Ú¿?’wÿêêj2'gçf”•kŒ;ø•vBÞ œ>}ºÛ\x¢Y¨ãŠ%¯t]<<HÞ³¹:´¾°È ”æÂJM—ú'ïüŒE5›úà“ù:A´ëÐùEueM÷ F%Þ³fûòãù‚Êäå³²Erm ½ö@z^«À©S…=ŽhÔâN¾ ûçìN=ÍÔ¨¹¹·ô”µÓ&Ûe¥ßccÏn]³ …Œüù‚%*½u¸+Cáš´šrÔn{ì9"ÎÿÔKkC<`è¬/Kþ¸ÕÞÑôÓ‘GqïŤê=KÏ“(I^«êĆMéU ÕjPˆ£b0_“¬©ç"#LVH¬>S\ûE¬ÿ=«ßÍî4ØL…¨\Oq{l²­0EVÕÔV™ŽFþbo–¨´2»‰Øà=Êf@{Mü^A+FÛüU^Âóa×?¼þù;×îüz ‚îâ=gõ¿~ òT™L *yÕó[.•$M7x¡NÑoó6 ¸GÌú|}}ýºuë„BáÇ!QË÷ 4-Zû£ÿ:{ôõ¹P~öÓIüÀçߨ•_óçõ3C]àÎå˜á~½|Bçnú­üb„'©õÛk㈹#ïaå¹z^øõ•— —ƒ²‚ðà¿{AÉ#ž@h¨h*ŠÖÓÿ4•_A9[;Ô ?ÿÉœ=ðäø¡jEcÊ'[&zŽ™8oþÂùó"ß«€RZzG¡ö {2ñôõ›?îçíB²jnÀ›‚^Xm®†q©{p™u„ß^õ#JAÇD,¡è˜·Í ’7®Xee%ù“D~š¹­äòÏ¿\¸š_TQ]›{Q —+Õq¨ù¿W#è«5šööv‰D¦\.mM”ÁÔ=UUU\.·ÇÁyûþóïד¾¿$ÓYâȉ;ì¹u¯¿½a¾ª®Ú\" …ÝÛr¹œh¬H$’H$Ö‘³X,6åBR©T£ÑÜ·ƒÂg²Cz4£ä›››»EꨘËNäryKKKÿ—•Õ³/êëë ¦¦F¥R<¹¶¶–°CÇ6B=¨T*¡PØ»ùbº¢Étþµµµ®®®ÔF\4N"‘€QÑ––KwhRxÇÄÄܾ}»©©iüøñf°yÅùì[À ž<9ˆkM=þ|`` Ñù1µZEÖ/¿êOGà xpÒÈa´>>%רä¢Ö6™B 4‹ãæéÁe˜û¦ÎÎN"ƒ8;;{yy¶¨V«­°š@fff@@€î§È†Dªlkim—HU-ÃÉ…ë9¨ºü¦H$š>}ºÂ÷~`üøáÞ–“¼L&“Ëå„H’ÌÌL__ß1cƘ^Ukk«³³3Õn×VXÁ1ûB­V777óx<2ë—J$’œœœÐÐЀ€477s¹\¸sçN÷ñ!C†XTÑ$;ÿ !þúó¶õîñ®_½ÌãñLqºââb¡PIµ`GG‡B¡°l‡fä.Òæ®Ù7ÃfgX󺦧ð²Ó¼LVÎE2…—žœZnî(|{Oá…X»Káå0˜ÞÿôÕãÑ™ÎQK–Û$…— Û0,uvëi¯°³”)øf×\èÏ©ÕÑщÂGÄa:==žF¥8÷‹ÀQåfËPƒá2ÜÛ‰ ñe»¦î1ƒ³«´êN>‚ ŽÑùìñ:ïÞpØÍ¢µ×]J}ß7%·[}‚ǯÞüöÂñ=WïæœÙ*WJoÚ_Œ†©{tãq£òØNšäâÂGÄ1:ÃÙÃ\CÉ߆}e³`¨ÑVöYÈc›åÄü™ì‹é_þö™ÒOüeS‹ @£Û©Íaê=y´Z”ý æÒ™—ø AèüÉåoL3¥×u÷ é·â²`¨‘·u·\gž®F-[¼ð ÑUÝ™¾9âNpæbz5»DZnQÄÓ}ê_µ“&!2€þ+3_ö°¾z]±°¼ß6߂à ’êŽG’¼ÄI÷®Z^^Ô¡gî$4D»ÃÄU‹pv'‚ ‡ž=Ì‚£þOøA~cÏÈNçsdqÍ>bƒ7y4¢½píÚ5bãä?£ ­^6˜8ÙÛÛ;((¨÷ /ÿ'Ú¸jçáL©N.g/mý`÷¶ål: AÇÁ详¦¦©©‰L¯«ÛEO˜0a@„lX ;¯ëašõÏ¡nÝ»ùþ@lÌ|e$Z¡½––ZtwÎýgò§M'N »o¨³;8Ýãååååääéu‡O_Fôºý-Ô -Ô6{&V¶Æö\ÂÑÏçð»B •´(xÐø¹Š;lEsuг.D/‹Åf³ÑúC%/wá<¨éÛx†<²åö¥x|b§ØWŠÏˆZ­‹Å‡H—‰`¯ÛÏ{]ËRÇþ´›Ë Àˆ˜OwùgœQ9»F®¢3½’.$9[W44ÍËË ã SÀ™Ž——Æýƒáåå…qöºöÒëZvTþ8¾uÜÊ]Ä«)¶OPxØ(/'YÞ…‹µJñ”’½Ëñ+»D£lügZ ‚`¯kóP~;úBô+?ßlÕl¬±IDAT=èÄñ¯Céï.‹Öc×(Úp¦‚ öº¶5´ªk?*óâUwh®¼±“_±j1ß•‰Fƒ ‚ ޵B AA$øFAA 5AÁPAAC AA0Ô@AC AA 5AÁPAAGäÿâݪuá§ÀfIEND®B`‚nted-1.10.18/doc/docimages/timesig_change.png0000664001041000007640000001750011520267216015715 00000000000000‰PNG  IHDRÓ_<™ºígAMA± üa2tEXtSoftwareXV version 3.10a-jumboFix+Enh of 20070520í2¤¦IDATxœíy\ÇÀ9 á>DDD±xkÁ›Ö›Íüf~;3ûËîÌo~CÃ0 A!tS+€@ ]dy‚jåE ªA–@ ¨Y^ dy‚jåE ªA–@ ¨Y^ dy‚jåE ªA–@ ¨Y^¡;………çÏŸ/((0µ" ¦IJÅd¼“{vU¸Œ^ùN¸-ƒfYjjj>|˜™™™™™™]__ÑÑÑk×®5µv õQ"E/nÌ?3ñ1l{‡þtù×i¾¶ë€0™™™¹¹¹3gÎd±X¦Ö¡/B¡0''GÕÔVTT´›rúôéüñÅêuh¨¶¼âºÛc{O¼Ë·œaqýþûøþt+*Õ@‰Í›7GFFòx<;;;Së‚ ‡T*}òäIVVV‹©-,,T(Ddœœª««­ag‚ÚÑLò¯àiªf¤¢Ç G-+/:mEGÃE`VXX˜•••••…äææJ$²ùXYY …B'''c(Ù‰¡Ôò>ûiNì£:ü˜F·èa•ÕK áyüÂ_v%ÌëM¥2D—¢²²·°-¦V Í„ÅbõéÓgÀ€ø§··7ƒÁ:t¨1tîÄPhy1éšµIø!ÇáÕs©Ç{4,îãªD×Öíƒy©SèÔ‚G=|ø°å©¶²²R‡|¼¼¼ ÐbjýýýÙl¶Áµ5!˜TAc™ÀÅ‹:ËË{¶ãϺ& 3mO¦] õ²°Ýs2ìÔ¸3ÐP“×ôµ‡A™>‰åË—ß»w/##ÃÔŠ†yóæ ‚ .’AAA .ܱc‡‘3[¤Rinnnvvv‹©-,,Ôa ‡N§7®ÅÔØÚvòÙïæ ˆ¿×XYLµWu–7ç«_ñÿ•¿Ïö²Á» Yp0Lq¶¦1ÂÝš2}:ååå………¦ÖÂ`”••ñù|²R …"??¿kÎóLš4)99™¬”µµu@@ÀÀû÷ï?`À€¨¨¨'Ož\½zÕš-5|^UÉ‹R‰ÂMé“/u–÷üÅR 3¬Žíi9ɲ̡Ӛ¼È)SèLx{{kµ¼,Ëßß¿ÅÔâC´4ÚËiíèèh#«i¾¼þÑ…ìØp*K¤ÎòÆW‰À5øàÕq":ƒFÀÀÝ 5 ºPSSÓê Fk¢ÅM­¿¿?r²VÇ£#oÆFT®ò³§¬DŠ,¯BRž×(€×÷‡©ž—‹‹„rÐhŒpGKj”1[ÒÓÓ“’’.\èááaj] WWW:t(nj¬­ÑØQ0…tÝØE3Kþp¥j¶"Ë+kÊÇ\8ªçE•§ð®Ë"4½vçÎM›6#Ë‹ …——œ:uÊÓÓÓÔºtTD‰c—~|b!5ÅQdà1¹ÒsÐ…õóúôÈ/ø÷‚ÕÔh‚@ íòääÛŸÞ,§¦,ª¦óhʇk;æË19ÿ£9øñÇP¤ @4cß7 ¦*×àí›6»LBhÁ´žPdyîøªçÆÕÍ¯Ýæ‹ÀÎ;b©+—Mâ%4œÏxÿÅ"&®¿=eóM Š%:Î[XXûôéÓ²²²±cÇ’.SÆjø~ûg7-™ÐXyÿÛSñ“¾ÁÒM›6‘ÎÓ\©¯¯‰‰9r$ÙŠJOO€ØØØÄÄDR‚¹¹¹MMMëP¡PÔ××ÛÙÙ©zŠ7nÀöíÛ-,,tΤ°°P,“íb±šÇÊI æääœ;wnöìÙ>>>¤Ï;—““³qãF"‰1 ãóù¶¶¶tºáwîܹ‘‘‘ú,|ÈÍÍåñxºÝ‰Åb±T*5ŸÙ?¼ê6}ºÀmé!Ç¿•=y¡âÞä]­HÝYD-ïóçÏ£¢¢ðãÏ?ÿœ¬Np`ï× Ì+d|¨ƒ…L”ñÖ>9`ã5{÷’úØaÉä,Iø”1zäaH*++cbb¼¼¼BCCI 666&%%áÓÓ¤¯_¿^^^N°¸ÊÊÊ… &$$XY½ŒóýÏ#Çúº3iü²')×®ö™õžŸ%¹9Ø¢¢¢;wîŒ7N5s²œ?^(’­=¡PíááAVN§Ÿ;w.((hĈ¤SSSsrr' gΜçââBª"TWW߸q#$$DŸÌ¯_¿.ÈÖDEE¹ºº4tôÀ#‹·ÿr=Ãöø–Qd³j÷ÎR FŒ””²"­˜`Ï€ ù<…Œ·b rT…ΰ>S"Ð-CYc^ˆ=‡Fc铉a)**€M›6‘yþ¶jMB!`˜Á¦#7oÞ|ð`šF£1Ýýæ¯ÊÌ¿ñºŠUO­=-k*ؼõŒÓbÄ‚¯ð¸µËM­W×…ÎêþcäÈì=QF-…ºÕÃnSzÀåâšûð¯ûà+Iÿaê1¾+æýoʪLÃ(§Â©S§?øàƒçlæÈ©|B4s›/€Š;vÐÊ;iCšI•2GÒÚ¿®&§g?­ÉmÝ¿6f ±õ]zû(à:ÿûqvºOk†:Ëkë÷r{:ÓîÐ_‰ý­ô)]¾ýõ7füœ‘;ÞMÝ€¶¡6?¬÷îñ{#—ŸI³Áµé¹Ê¤J™ iåá²óëÓÏERÕó~¡ïýšpH?3Ò>LK¿ 6_gÕŽ îaðÌq(ºÝ+¯Lžõ2–ÒìC·–úëœâÁ73â=wGŽ3V½tAÎ~·ãÐWûùù =yã¾Óõrª·FíšÌ:x•/à_Þ?*ní:Ãêß¿w'K=•]ìç»z÷‰Vf_9úš±â«M sÏ?[j¤ÌË«V/þfNsÅy¼¶'þ=½V¬ K›´­üÒÉņСdåO%köžÊÈJß0âÅ—ëøŽZÅGÆ—*r~;q`ÏÖ)sÎZ{Ž<˜ô("mk mHŸ8 üϵ»U¦î4RÑ=&÷¨K¯3Ræ ÛhÃܹsI¥/I½t§èeÝI¯Ïû·å*Ád©—í‡LúlÉ}´RGuuuZZš>¹‰D"HHHÈËË#%ˆ§ß¶m›³³3)Á´´4‘HDPg\½wÞyG5f ·_ÿî¼#»6Kl *õ°Ï Â þä¶ÎÌÌl›9Yrss¥R)Ù&J¥””DV°¸¸"##?NJðîÝ»@¸ãáê­Y³†Ëmg¹fõ³Ç•Y¥\!*Ïܵbê~¶dKrss5dN´´4>Ÿ¯[Ï¿uëAÁÜÜÜ/^LüôFbF]“†4†ž7~ZZ´×ˆbþ£ª´ÏçÎ=B<«vï,uÝõýÖ­[£GÆI”šô¯‡Ï> zÆgÞ/I»Ï¡w÷ÍÞX0ÿú7³•¹5¯;"kæÔ1zôh??¿£GêœCYYÙèÑ£W­ZõÉ'ŸŒ‹‹Û¶m[||<ÙýIí„«—‘‘accÓnL.ðí–NÓ²þ&÷6·gÏžØØX ™â݀Ξ=qôèÑñãÇ“Œˆˆ8{ö,Áއ«—’’âæ¦vf‚÷lßIßÛ¶ÿ‘«?‡8rÔ¥lEllìž={4g®•åË—?~üXÕsŸ >>>Ó§O'¸8"666999>>^kJ…¬¦¿…&5!êÊ‘ÙÞDmmÛ¶ÅÅŵmÄš¬÷æ}ïZ4 ç+­w–*º<óöîMt“`¹¸héÃ-_{s*I­©½ÿ‚x­à=Š]ù“EFùºÞmBJêœg+˜L&—ËÕ'7&“ öööd3ÁuÝÜÜÈ r¹\:NP WÏËËËÎNù<[÷0aßéûÃß^7­?>ø®ìëMu’ÕÄÞÞ¾Uæ:ÀápÄb1Ù¢ñ „lmmÉ âë¾\]]É âK` Jáêyzz¶ ä¨atÜÉGá±à[Ôg²:©"õ_5qttT“9 ¸\.“ÉÔ­ç[[[tttäp8DËšR…ÝG­¿ôÉD–~kàñõÖmõ‘ß–öš?”Tm´½³4`ÜqÞ3K'Þä)_ìýÞ»sbˆ*ãtÎðöâíb¬ljPÿfZ~ò÷÷6ñ;=îšÌ3ÿ‹È/fœØ|BÙ—i´®1ÙØÜÝ·Ì•kÁáv[ töËãêŒ.·g+˜ß¯8ªûµGÈÊ¿“#õ4»(8Süñ$#†É6¢WYuú®Eg”ÑéLÛcÉÑÝl×ß}$’õãêRtXj¹øŸgZ‚SàC]ÈJ@.yÅä øÇiºÉtêÌØ|¼B"¨>¾iæ÷ÿ*ìåô=©ûKC§!|û×ßÍ|Û‚N«Œ9°íz¿»á‹}›Þ²4æs㱺ågœˆŽö耱,/¦h\=uWË òÐÍßèÁ4ÈšÞ ù¡\øeoԱ̅}ì¾mV¾14՞ů߬Y°­s»qít¼bÅJ’ÈÀÞo!H…[~ê>ê?&SK#T6:iñ§¿·²´Î/«ÁXÖ½úŽ È¥íYžÇ ?ú¾Q‹0–åÍ?ýÖË…ø±…ݘ ÛFâÇK{X¥?•ü/¹å5>ømçþá‘¶tÀä‚C«¶€Û˜µ>Vëü§Î¹ÝÑ+ÈØÚv&¾?µ¾_ø.v¿y7oŸ¶àç9ŽÃOÿ:ϤªµƒºF¾ÌˆˆL+—а0íé X"+üããaŒL1…hÙû—Z¾Î:~©y+ŠáSÜài]Ñ©|Xæ§O‚çQÃB??e>þþþ6î©WWê“m×Ä!`uv’Õû§G­”a‚¶ûÀMÑ{¶}8ËRÍ“…¨ìêÌ7Úõ²¬-$ä_Àñ˜üyQÆ«ŸG}ûæÀ~ÀR<Ë{ÞÝ;0tú‚-;>îgËÖ.O!®^ëTc}œî=]„Q,oYòŠ|åx,×eÖÓ{µüÔk~_8]ywÓ´Éû…2°srí7pXhø›^q'U„ÇÆÜ\B©DèñêâßR­LÁÛïhô²DÇqÀ”ý'§˜K´Z5hmtqM6•úttñç2dˆæÄ/²3Êš”a}½íZþ½±ºògù¥õmE,¬{zö´#‡ÛdffZZZúúú꜃D"ÉÌÌtuuuw'÷wRUUU\\ìçç§%b?&kDb¹c0Ù\k›òÒↆ†  Boú¸zAAA †.® ÕO3‹ê%ÐèA¯Øy¡Íå”Èåò€€R‚–VÏgwëÖ¬gUmmmAA¯¯/YO¸‚‚‚ÚÚZ­·Ž\.ÏÈÈ d³ ÿ0[^^^ZZJ.óözQccc```Û´Úa58È_CUUù|~Ë«ªfø|þ³gÏthµ´¹êÚªòªª*‚¨rwÁ ¿Ä#£K…™¬æ·TŽýÄÆæàÚ¢ò[ó†j ˜OgÚ~ücA}Táåž‹9ò³‚íâéé¦OÆ‹Œ.—TÄl^ìÁm½BÆÊÙÓÚV¯Èè­PW¥rI…%CËäFø1¢½Õ]Ž¥½kŸþt€yËW,½“GF×R‘Ñ5ô¢=Û‰ŒnØF'ßK‡¦i‹º«¶÷ Þˆš!ÝðϘÕwH›]@FDäЫ®÷š®ò·iåÞד+)Ê/É•¡u²úýK‡0ó¿œFâ™EÞ”>rÎm¾|Õò9»³DÃ@›°º˜Æ0˜Œ†*UÈëÅ#!wµþ·wú)EÃå4òÊ $jouÍŽçÎ=l÷¼9SxùЪϾNN{*º£Û1“?ÜòŃ ¿ihëEMíı2`£› WÍ{žC½>`Œ•?f)³fXÅ.ÆßÙ±Mcæàfwpø»ïùÚ€ûÄïsž„U—ï °Q¾"a˜|ÿܱi ­gN5ÐEö¤Ð:“‹ÕýD UÊäøFOT»>•¸s»ÖË‘5Vê&ØXÕÁ"ÛÖå|þ]ñæ£j¥bAõÕŸ¾ ýujÖp¯­—ž¼,­µ'·3h¨F7Z¯Ú$þ™7ÿV~àüÊK&Š÷È­£ÑhH‹~;èÁÎG>»_qó:@ÝÂñõÅŸþ:toøÓF)Èš ß^;'v‘²Œ±'eò‹<9{†æI-Í0M©µJß¿Æ[½(òÇ+-/+@Þ¹]ëåÐí¯|×*Ȱ0ú¬´a9>Ç…ÔrO|§[¶ýÐI‹þ'´õ^³wÁ²Ïk/·+¢³G­ö^¤æÍÉ n*´^µI0¼å-iöõ Žš†œþ<ÃND¿nS}á³ûÂòc ø o2+·×/›îûÖ¯xúg'×HbrØÚþE´'¨ó‹ìî¬.ýW´<…}Ÿ¥¿bDª”ÎrÙzôòƯŠnÞü[7çv"—3õð]Ý'{ž fÂWOx•׊wMyöÅÚs À1/¹mbu=§›ï0­êEGÒÛ=¯£› "W~ì15ʨbxËËn^λ~¸r ªòz%,ŠVbëž³âeMÉ<1¾-&øÌ=9jeâ_õbŠª½Ó]s¼»Žº'…†!§ŠÜÛíŠP5ÐF¢JÙv½B§õÒš¬]t¾œN0àØ–Z™"2¬ïß‹>ù÷Ö £}í .wX¹-i•RCÏ©z–ªµ ýkOŸF7fÛg ÿžàÛtwT³+¸¼I‹šwTä8†Y3èp¼X¥Ñ-£ÞôjùvEÛÛAÝ“B·!'jÚ(«R/§£8¶K¸#ÃdWOìë×=tÉ–kŸŸ3~7ËÊï`Ò—ªÉô¬ì”µ§³½jÃ[^Ÿù½Ã¤’fGap¾ViLitî4'dýV¢*ØwÍKÿÍFA9;îž:9½!mDz׹Œ´Û®÷ª§ònÄ*G õ€â*ÕùrŒ]Ô³a¥Ò SH®žØ5qDø žÝÏÒ–üsõªA+;_íÁ<¯Úð+)ÒÊô‡%àýÊ G&2^ƃ<Ëýú¹)ê=Èɘ–^¯¼ÜõD..ÉÈRÎh»õ`««EaÖCf¯þ6,¸ÿ>­ˆ£ËJŠºg³,8ùOsÛYIÉÒÓhüOŽC÷>.êüá1¹DÐ ”HdaÁ±´¶Öen£=oãV©:t¾}ëáŸí%“Ë_”–hw×oã„_U^ªÿJ …”ÿ óY«^Áà8ôèýòYŒXÏñïÕƒˆ¿Az‘Θj%Wmâ•&Ÿæd C#´œ:½ØßÆ}mË×´ŽýU±²ÛÊ`Ýò¹X¦.÷ë[Föžs¬å+Ù Ñ ©•\ú—¯ÛÐ*±´ñ)¦éŦû¨õ…¡®C-mý½]¥æƒ†ö:ôß?ÈJÙºú¯¥vWRH÷ƒ-ÙÖƒ»rú­ ¡mø«%™™ôƒ`ª•@j%…1,/öäÇ©À¶Üb@ò†Ï¦•6wŽŠ{s€F£å5¾´°—g)ÿ; Ø£.纜»‘ªR7Ä-¯°ôÊkÞj·ý°rßVä@¨ÚõÄ=BV5©ý¿1 ­úUj&hn/ÿwu"^KíZÞŸ§õ€‹1 Ã0ÅŸ¿zÕS¹pœãªšÒzŽA@–Ç(–W!Îtá@Ÿ‡[NÊ¥Õ r¥é6oK±¥€¯üURÙ×RùL±în…ºœ‡vgÛzú©Ð¢•ŸŸßÐ ±/G-¯D6ÒAÓ²1ÓVJ.©P7ä$’·MnZõ ªÔÐÞ^ +¤ˆÜ8íZÞ>–,PýÛSÈøß¼Óht¶jJsè9Y^£D¨¡Ñ¹Ç®í½4ðý§§VŒïayeïÛ :Óɪ9¥ãtK­QŽÝ¼Q^¶¼cÚ“F)¸ Ûºw¸Úu“ß“ÂxNéLn;DÌÐ/²‹ló¡µ½Ø6#t¢14Æ6ÒF¹DÝT¶¦1lWÅœýðÇ>lë ›aÏAèAsNê™çöN¥óüáýrQ«_çtã€ÇÄ M5Ù;W(wã8 K©k"˜?Y­ZP7xÇâX™óníë;ÕªžóS ßÊkú\²Ù‚žyqŒhy1L~rÝd\„ÁvY¸~oZ¿å·ÓAÝ€ÅõëÞìÃà?yMZ 9³‹éj&4ÞY8ôÓ,Þ¡g<º åÕ­½ ÛÊíZ^~ÞiK–UI3•#lõÅ©ïvµï;«°ã Ý’Y^£ú“ÐßÞ{ñÉ¥ï¦v—K*ãö®âåà5`Ø”i3¦M ýOQ=HE+$r× ©1‰]üv£Á¬Ï£ð½‡[F'‰ï=¬Õ)]Â{¦9³uÏÖ}ªÔÌÑ­½(heÛÞó3 ÿÚ0ËqãÌAÞ¾~}}Nz_1á?2îÕI½k8ºøóæåå‘-¦4ç¯?¯Ý¸—ž™Wô¼ª–×Ô$•+d©><þÇ¿B¨ô(üeiȦ›/4$`°]ž<úKs& YÍ¡­ëb½Ý¨C„eÓsΊu[VMã˜q ‘²²²Ñ£GgddØØhš²ïdèÖ^le@”’’âæÖÁÖ»–ØØØäääøøx"‰“““—/_~ôèÑñãÇ[1ý!ugµ¼YYY%%%UUUƒÖ[I5å]¿U6>#FhôÚ1,&I¾vS³Sº×€a¾®DrSÈšxuüF‰h ×ÚÞÎFÛÀ é‘ËåÕÕÕ...4¯ÒÝÚË ­ŒaXee¥³³³n[t„B¡D"qp ´¿duuuFFFPP³³³±ÓRwQËkpk~ç:¿ =_K*N¢n·pYÓ3 n_…ú«î>j}Éí=n¬è|œ?><<<111ŒÚ½‡)ÀdoÅlk僳 ÒM:å-èX˜Ìò2,z9²è ©×2¢jpÌ3‚è:q¯ßÒÛg>ÿötNI]7ŸÁ‹?Ú2cp·V [³¯Ô5IEŒ§C» §taZŒeyùOúŽù¨ ŸÉº•’ðÓ‘-çï˜ä¡šÆ›Ã ™æ¹»#†yF ºžžž+V¬ðô$±%nGÁX3lÉoôžP z†m=¸šwOuVx 5;S(µr]Úðâ˜1t@ óÄXÏ› EÂVg$ i1/Z¾Ê›že ¥À¶n$Â<1–åu›ÔΦ2ª^´õÅßâÎ#úI0OŒeyû¬ZØêŒ¥ÓÄÝ_vJßy?˜°–Ptzè4ËòÚöúduoå4£ß˜ù i VÍÎ2QæÒŸóÀ¦ç‚CÔÆ„D ˆN‰ý v_Þgà@÷ˆoö}Úl_&Ê}­¸IFg:ÄÞˆe#W.ÑÅ0îêá'ñ-üJ$W€e7ï¡A¬Æ´)Ï…RñA\ηL°Ó=@˜£Çmxñ¿“K–¯ýóQêI·÷§?$lŸhÔ¢Â<¡$b&»ÿç¯ç®¤<)¬ Y9Ž»`ÑlO+#.ŸC sÆd±Ê¢ËbƼ¢“‚,/@P ²¼A5Èò"Õ Ë‹@ Tƒ,/@P ²¼A5Èò"Õ Ë‹@ Tƒ,/@P ²¼A5Èò"Õ Ë‹@ Tƒ,/@PÍÿKåFŸ!ÃâtIME× %ôs‰µIEND®B`‚nted-1.10.18/doc/docimages/mute_panel.png0000664001041000007640000000437011520267216015101 00000000000000‰PNG  IHDRLW®†£ssRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ 8$/,ÖÝtEXtCommentCreated with GIMPWSIDATxÚí{LTWÇ?w‡`†«n ¶îúúCP³ñU)¶¸n³º«&«‚MÖf­îj]mµšÝ ÖMZ“µHµjQê·õZAZ3<|ðÞ Ì sgÿP&CËcÀäq¿ Éåž¹çwïgÎ9÷w~¿;ç ››­2™ 7¹7¹œœ¬,^óMzdµZ1˜Ífº-&‚ÜÝÝQzzâåå…Õjà‹ìl–ÄÇ#ì`AðññÁÇLJ‰¦Xö’!iH’€½0Ë£œìI[Â(9±{÷î¡ u_b/`ÕUUÈd#ßK‹ŠŠðñõ¥»»Û¶/**Šúº:ÜÜÜF'°ÎŽÊ<ÀM& kƒ3uvòÝ·ß2Ùß™ 8Ô.]¾Ì¬9sPk4Ä-X€^¯çò•+Ì™7@†ù±±”””ôÛ‚zö™Íf~½x1ZMPYçÎõ:ÆÞæ/gÍ"P£!6.Žââb[}µµµ$¬\‰Z£áW³gs2#__ç+-.æÖ7ß ðð 44Ôásrr¸ž—GUe%‘‘‘¬JLäüùóä]½Š¡ªŠèèhÒÞygÐz ÿùê+ ÕÕÔ×Õñ›Õ«ûµyãúuª++™1c[ÓÒle6mÂ? €òòr®åæ’ýùç®iaÿkj"<<­N‡ 8>ä¿wà~~~( ’’’¨¨¬äoâç燇‡ëׯ'??ß©'ko39)‰;wîÐÔÔÄÍ›7Ù»g^J%*•Šmv0)yhh(²ÖÇ--ÔTUaîê«•ÆÖVÔjµí3JOÏ>÷™Íf§ž¬}ýÞÞÞ¶úžui­ÖV®ÓélÛ…Cùâ¹»;S þI#pjô¤½ªGðW«Ñjµ(”JîÞ½;ä U(F&Ožüì"{M¿œ²¦¦†ˆˆˆgÝÛ`°•Ïu|:$Š477Sqÿ>¢(¢µ?¨§_]Q*(ˆˆ©S‘Éå˜M&º†Ñj"""ðóó#óÔ), ƒÃï¿o+ ¼¼|XÀT* ,à¯û÷ÓÙÙIss3?n+7›LÿuuuáããCÄôé´µ¶ÒÑÑá80“ÉDpHÝOŸ"¾€éááÁǧNñé™3‡„ð»µkùýºu¶r­V˦‰[¸ŽsÙÙC¶‘yò$MM„…‡³xéRÞX¹ò…|8¥RI—ÙLgggï{¯ À*ssC&“!“Éø¡°Åññ¶¾?76³É4æü¥ .°3=½~Øuæç†F­¶…wÆ—ZRR‚þ9œªêjð+œ—/ÀZ?&%%…††< ^gïÞ½°þ4wÎ~øþ{)&%`0IcX_áûðÐËÒï’>ûÌáϾ±f͸kaÃr+æ/Y2ègnååË.9l?,,,l``ÔññéÓüã£0 Èår-Zı#GP©TÒÖ—´Z-ÿÎΦ¾¶–»´·µ‘ºmÛølaÎÐòeËz…hvîØÁ[«VIÀúӥ˗9zô(¥eeX,DQÄh4JnE_jlldíºu¤nÝʃ²2j r\”¸ÀLf3ÝÝÝLòõE¡P`08xè¬?…êt¼wà6nDÌoß~›·ìžK“ư>”–šJZjj¯})ÉÉÄÄÄð¤­í'ÛcØ­¼<‡ü,Éq§Ó)Z!“€IÀ$`’$`0 ˜Lòô™©««có–-|—ŸOKKË óEgÚNß½›«×®a¨®FáéÉÒ%K8|èS¦Lqþ\ÒYI™LÆŠ+X³f IÏ'Ý#e{Ò¤Iœù䢢¢hmmekZë““¹tñ¢k¢ÎH‚¨Õj’“’(**qÛ»ÓÓmÛþþþlݲ…寽&aŽêÆü"&ÆùcØxÔµ¼<ŽŸ8Á—W®H-l0}qéذ¬³g™ùê«°ô¯³gùãæÍdge76ü0“ÉD×Ó§¶mÓ=€|2#ƒ;wr>'‡yóæ¹Îs¶Tv¿îèÙ‰øýŸ¶oG.—ÿü‰ñÕ×Õn`/+¹1\»c. ò²0c* 20’ã*“€IÀ$`0I0 ˜lLè¥%ADQ$>!ââbŒF#r¹œ™3g²÷Ýw™=k–KmÛËb±°pÑ" imnF.—;.éŒD„ :xiÓ§ã¥Tb2™8zì«©xôÈ¥¶í•‘™‰ÒË˵“oxñD„ ÄØÅÐE«A¤^gØî‘Á` #3“¿Ÿ8Á2 £b KNI!($µFÃíÛ·¹š›;b¶·ïØÁîôt|‡°¨ÑKöÏÓ§©«©ánA---üyÏž±ûen.-­­ý.Œ4êï’S§Nå/ûöñé™3.·ÕÑÙÉ®ôtŽ92¶Ý ‹(ŽÈŠt÷Ëʨ¬¬dùŠülÚ4⟯oñó3¸èªÌ÷‹J¯×c¨©!vþ| ¥¥¥ìÛ·Õ‰‰.·ÙkŽ^O|B·¾þÚ¶ШÖÝÝÍþýû))-Å*ЍT*IßµËõΧ\ŽF£±ý___<{tÁ%~˜3ÍoÞCÁP~i"%A\=5’’ ’œL°Šâ„cE„>Ö´˜»‡Ÿ/9ÑÔa4â©Tâîîî8°@†‡¥¥ÛÛ'LK³Š"ímmT>|ˆ¯ŸÞ?Šd 8èªÕ˜M&*ÊËyÚÕ5!  2žžžL @éíR©D´»nù`!Ý+¯LèW\ˆ?j$Ò+.êžÒ+.$?lÄõÒCçâÉŠšIEND®B`‚nted-1.10.18/doc/docimages/tie_select.png0000664001041000007640000001473411520267216015075 00000000000000‰PNG  IHDR›µÇ¥ pHYs ‰ ‰7ÉË­tIMEØ ú¯SÆ{IDATxÚí]y\SÇö?YI &,AVA6‰(âZ· ¢X\xZ×¶ÖÚö©­­KµÕÚ÷«ú¤ØVûê³ÕjÕjµÔOëV¥ÖÊsa/(DD¶°…- $7÷þþÈMˆ¨ÂM í|?ü1wrïÌ0ß{Μ9÷Ì @ø Žº1Š€E@Œ" F£ˆQÄ(b1Š€EŒ" F£ˆQÄ(b1Š€E°bFq¬þxìŽc2pÔëfaÈË“_ðhkôœ°ü¶¬@0hˆl“ý6Ù7<£¡MŸcçñÇý_†Ú±DY¡Ö%Të'Î1¤ä•IÓ#?C½o•ŒJ–ȯצitƒ¬±2ý£åÔ!¬ŽQÍÚ5—µ©~^³ÓÔV—§ë”íá•—Vf5Jb´µ09¾©µJmfæ'£ÉL®¯Y2Tü2Zøu¼6ºëÜ$'Ž6íûr´6)%Ùr5*kÒºÉ?•“ã“°:HŸi#˜¢OW¨4ˆkbôtü–veTDcë“îlâÀj%4-™r5¼±}Œa>¦øS7¸ FSR+bTÓVŠøp™†ùM’ Ú„À’Pkb×4=5?#æ–6òá D€51J£‘3ð3bÊ‚UIe@£s÷ÌñBX£ ¶»6¡6p5ªR¥· û†£AÔ‚d¤§>77wýúõ=ª©©9r¤‘¶‘Xœ ƒ'Mõ°a@kݽô»¥ÚßD¦zrÑ0Ú{Œ¦§§Oš4I›®¯¯7²tçzµæãÜÒµî¼Öšk¡!‹JZ1ðû"çÌòž·^Qžr*¹qù²¹ˆH92iiiÝ}„ ˆéXWÜ€µ–Ìõä‘“¯ôF ¾jTÒÙ®v4 yþ,çœjo¥-ŠQΕµh3—Oà³)p_¬œr¡J€¼N”Ñ+Ó€ë´@ý³>ó÷Sò&–'o6¡=`ëÖ­sçÎí©Š‹‹›6mšT*µu›îUâBíe¿ó~[ÙóbÕòì¨ùÇüw\ô™™™)))½"T%%%b±¸µµµ¯Ï^€?˜¯O39^ñ'\Y=¯‘Ø3çÿbÇF*Ö¢Œ¶Ö^›µðºþrí™´\m{^láñ—öÈ–œ}{"ï©`š©\«[>&:G÷ùS´"aw”oIÒ´w~K()dÒwÔÍGGÕåý²‡y’ÚöÁeèpO›žûˆGùÙ˜K $Ywend{ºDQQQKKËðáÃ-ÏAUUUyyypp0›MÅ8b[Wzs;ö˜M‰/ê¹÷Gl˜GØ.ýå|¡-…¶nTT”@ è[766>|ØGm]MÛ£E‘±zÑ÷,€Ò„ÒÛ$9[û˹ H¯ZzMX–"#õ­pø†´}EÞ“Î×ÝN˜Ú“bo®Ü*×À¢ÑÁúœr]-"‘¨ŸÇúÿ%¯DtRÏhíÝØ—㊵i»ÿâ¡æ4Ày…ô¸vöd H*U=žãÀ"Ë+((@DšeöBàÊ·¢bôúvRLb„‡+œÇcб¶²+²VÔÝVƨ$nÉéJ¹6ÍF]X?ht»Î\8YÒŒºÛš%pùko'ê/—Åä1Hs÷Èÿé%É+ˆD"‘Häâ(‰Æ„D\R<Ž–‹ßLk$—+õó\±?ÜCÿ“ÿoH«¸whÓ¼,Û6œæÐßsèÈñ3çF‡ ègBEvn« V#æÌîa¨Ìˬh%?l9óâé#Nðºò‚’*å“Uóúðr·eö‰uæÈÃðT-™LK+ŒVãd¾Bš¾`„°3ÁõÛ—Raòlº¥ôÊ7‡N!õ†Ú;Û1¬?¿w·ÖéÚZŸ:90üôÝÚv…ééíáboø ¦,^|$_fB¥¸ºzÉsÿX½ò%¤i©·ŒŠç‘ű½8P›Ž Ÿ«¡ ÆÌ}s†F~’TV%“Kï}÷É*²Õ¨ëÞ™¼¨ëöö (†ÁŒŒÞ$Ñuü^O6Òc;3ki4Æ{qÙg­!€’Å`Û?`ù–^ÿÂV·:XY—´ðØýnÕXquËâï € ÐNf`´D‰iÓ? MßÄ£à=÷äîÅÁàýâåžÕ?âºö—õCõ—üësã«3G bôq‡FöÑ0ÒªN­€å_Ì$e7,5qr¼Ý´ž¸=^ Ó½ éÑ¢V#õ'Ša0?£"˜?ékÅZ0xÕŒè´uY8Öt¦¦}ô¼+ÈQo?‹s¢ê= ‰¤ã¬ÿygÈ®Áq…þ'l”œ‚ø¬‚…B.x YŒZµæøÕ¬Ic]ôŒò€lr ~øàDÙEØJ›,=ìíë_¦ŠKHäâYí1 …ÇqJŠê.´í¥¥¥†õ£›7o~b`£€¦­üŸßwdÒWqiŸ¯|ïNnÁÎuÀQ8VÖ<1È N½½¸Eƒ€÷¬oWywñ†Ú\]#ùÚݼû2…†/t1!Âb=nöª©üõýñÚ{ž{e‡¤EýøX«²0*&SYõñ²q$Ónaùrµ †½n.ÛÝm¶,ó´í¸ÙNèÅã›w}VÕÎþc(G©ŽîÄÕ_½ª½ÍX{ìA£Jÿã*7pÇ uâÑaßtù ªùÎ8NçC‡™è4¢jÊ5å‹wRR’1êüQÞÍ´¹ù÷UJšZÚÔ}]ÁüwÏ´Á^è¸eéž[5ÛIW.÷NÕ?üðCÿþý{Ç2‹ÅFÞÙ`PØÀöýãäåg¾:Y -¥ÉârKÒIàŠ½·;ëSÖ”ÆÿkV ÞÏ/ÎÌ̤Óé}Î2ê Åë´%ŒÚ™iáY¼ZyŸNëL)xŒÛ€LMÍTÔ,žw@ðä ÃléOÈ¡C°~=Ìœ 7¸q¦TS\ û÷àAðÏ‚NåUuŸ’QyE‚~¢ t¦ 6¥²Ã=Ú Ï}M_ßD&/?ž F"þó¢¼Ü¸1SM\¾LÌšE,^LH$½Òp*ýcͯ‹ ?T®Á ÜõZÁqÐQ+ØljŸ&‚‚€2„X³†8|˜HI!Êʈúz¢¾ž¨©!rrˆ‹‰={ˆ¨(‚Ï'fϦFc÷F“f>e]þž²æv!–ž õYbÂZ ÑgÎ vv$µOý<˜øðC¢°°×ÛKeð•k¸+\î¸òWiXTŸMn[ïáj=_§è0>ÌŸJ%¤§Ã½{PTååÀã‹îî #GÂÀ}¥ÁÊhKÅ¡'´îج]래èF î£&Á< r>jçöæ&Q»që>,òä‰Ý µ6Ùµ·nHÀqÈÆ žý¡ïË(AM’ïùL:8…¬¹ž]jા·"Øl·‹Ur$IÖaiq/~#W7Íâ{ž>{þ‚èH/;Ðh¬Η N·2F ‚(»~d²/¿£Žë½íTêqk²uÛ½Þ“W\¿¿$ý|ü¹+× K¤t;çаe¯¿äÇGÛ˜›{z¶…º1Š€E@Œ" F£ˆQÄ(b1Š€EŒ" F£ˆQÄ(b1Š€E°bFq¬þxìŽc2ÐÇFWgö]þáǯÍë=ñµ; *ÔõVÌh›ì·©C^¸TÔ¨½,ûíØä Y¹ºÃf¬QBµ~✌†6âæ=2%ù§R`r|V·ï%g#˜¢OW¨4ÃíúÄò¦uëÖ¥§§[‘‘‘;wî´£§k”à·ä°+Û@ÐÚÏiqg3úH×ݾ}Ûê ´œÖ%4-™r5¼±}Œa>¦ø“|›8ƒíúÊúÃüü|kÔ±YYY–cTÓVŠø<~V“ä‚6!ðßÄè3]#—Ë­‘Ñ'›mF­‹kšžšŸsK›ùpFŸR_r¹üìÙ³=éÜèèèÙ³g¿ûî»Ýz0>>þÈ‘#&ì¯d9Fi4R£b ˆ1eÁª¤2 Ñ¹{æxõFù|>“Éœ6mšÉ%466€§§gw ¹uëLœ8ÑË«{Âd2ííí-§ulr÷SµÁšðã¯FUª4à6aßp;´ˆß ‚DPtŽ÷S¡µ½†pfÑ@ÕX–S$Õþä<Ü™Ýw†Q ÎñÖh4™™™ÎÎÎÝ5“ÏñÎÌÌ>>>[¤æÜ_׉ŀ]š‚PTýê«3‘Ìø†’}AúÔ9Þ °zõêî>hò)[`éÒ¥Ý{U*\ÓöpÉèù%L¯¸S¯Q`y¡s¼Ÿó2:ÕÞJ[;£&œ+kÑf.="žÀ§à0XtŽw/0:*€¿¿7u[2yr„ÏüýÇ_ èyÉèïÞaÔmºT‰ µ—ýÌû=neÏ‹Eçx÷£üÁí{É19^ñ'\Y=¯ãÝKŒ¶Ö^›µðºþrí™´\)8ãÝ…ÛÁLåâXÝò1Ñ9ºÏŸ¢ »£¼¨xK’¦½ó[BI!“†¸³¬‡Aö0ORÛª¿t:ÜÓ¦çþâQ~6æèãÄIÖ]†wËã< &z¤7·Ó?WjJ|QÏ}ü↓‡AÓöhQd¬^ô½  4¡´‡Å¢s¼{mMX–¢;a[8|CÚ¾"ïIçën'LíI±7Wn•k`Ñè`}N¹Á9Þý<Öÿ/y%¢“zFkïÆ¾W¬M3ØýÇ5§Î+¤Ç5°³')µçx£Ù‹qv ®|+*F¯o'Å$F8q¸Ây<k+»"kEÝmeŒJâ–œ®$ƒ$¸Â¨ ë‡n·À™ 'KšQw[£.ííDýå²øƒ<ÝI/ÿ@þO(©H^y@$‰D"¿í!Þ"‘hLøAÄ¥éã¨D"yʤ*m]Z#¹\ÉÎuÁFŸ6ým6.VQx`ÍŒ\N8¹2bJÄôÁnv&µyÆ¥K3Œl•ñP(8Ž÷¤ææfhjjên!õõõPZZŠaX÷Ü88ÞÒÒÒ¡:S< ,xò†üÄsyͤíâ;uö(¡îhyBó0÷jFAÓêA8Àøˆ¡6}"’!==½¶¶6::ÚäÔjõÙ³gýüüFŽÙ­ rrr¢¢¢lm»ç%={ö¬››Ûرc©÷0¨Z2™:—W­Ö•¦¦/!ìLEpýö¥T †>ça¨½³ÓÉúó{wk®­õ©“ÃOß­ÕßfçéíáòXì¦,^|$_fB¥(†ÁŒ–Qñá<²8–ã¡jÓ1áóo5´À˜¹oÎpàÀÈO’ʪdré½ï>YåÀ$«Ö¨ëÞ™¼¨ëö‡kÃ`FCáMR]Çïõd3@!=¶3³–FcløñîîÅÁ‰á—½ZVr¢^ °í°|Ë™SD¾“7(48(ë’»/~#ÐøûB ®®¿‘|ínÞ}™Bú ÷×a´DIiÓ? ]t‰GÀ{îÉÝ‹ƒÀûÅpµL–{ R{ƒKèÚ_Öº;[{ùÇ¿>‡7kƒèbŠ”X/qY}èãM1{ãÊWKÖ«{9J†­«5‹h4ÚGÃH;¨:µ–1“”ݰ`PÔÄÉ Ž ž¸=^ Ó½ éÑ¢V#õg/Ç0(*’#ýWÇ~ÿ$páBö_Q‘€ LŽ¿‡œŠ`-¼êÎÓ^Úº,k:S£llï rÔÛÏbãÜ„½àn¹>tVÒƒgú¿”5w¬OëŠÅâ9²d×àš&ýOe^\Øw>q¦ƒVQ90é2 ?pò‚GˆS{õã…MŽÁwS®Š¹W­j¼½ü­äN~—’,®VkžÕSÌõÚZ ú,*qËÒ?:}óè,awÛSTT¤ww%†aUUUª£†Ñ6;W€"JzâÒ764ê äÆü™5šÔÃ>¦¬EUt⢸ÆCÿ`S]{ï4f¤Š»ð6h’Ž|åöJíÍT1@µ 7™Qo-/yX]+kÅ6—çâ9ÐF \±÷vMç%{M 7™Q>Ÿß­6?•QŠbð¶I˜‘P¬Ï;¹ÈOàóoýåÅ)`ïó©ás9»ŸÓ–ÉâRã–ˆaШ¤¶,ó´í¸ˆÊNèÅãwáaP+ïÓi8¹Œß¨Â Ê= Ïj3ÉŽZ¸Ä\gçüg2pf7cäÿ„«ëÖ=¦¿!wïX`Ù>õU0)Á^3ê¼ÅßÛó‡e6«z¨¼\áóÌCái N—%üwšÇ³w›¸òa+f‚³©sF;o3G8Â\Œâ꺩ö³ñ¢>S>п³uù+´§5¶éŽk¿­ß°ê@ISç ¸2mËn@ ôÏŽëzi”ªùÎ8N§úfŒˆïx}º-ã1‹’-ð]ó£Bc¢û°F»l3Æ6ã9ÞÒŸ0h4XüÙ•'m­'·ªz=¯–TËËÈåÞ³¾5¡#ìu3#ï?2c@çãËn¨‘Eµ5”$?uð›ß9q95S®Á»£öëÒ/ŸÙ·;vÇŽ_î?z=ëQ'ŒvÙf~¨yOfÿõýñÚ{ž{e‡¤EÝAŠ…,ŒŠÉTVg}¼Œô°Ø¹…åËÕæfT£’r]ÄøÎ:ZhÖ3ÓŸ5:ûy*£¦µ™êèN\ýÕ›¡¤.â¬=ö ±}ä[寮óX¡.D(xî†ü&•iÔ-FÍdÔP5„?•QÓÚl–xÝ;göL $]t/$4üÅE‹ç͉4\{ä6rÖ·‰y¦|A«ØøŒGÍaÔ #†ð§k]ÚlÊïƒ !ªŠsîdåIJkêšåJ¦Ñ×ðÚïóµðBBÓ|釣‰7þTx"™\aèŒè…‘cXælÍoÿÝü}^_ ccc{Þfc­ªª:þ|QQQee¥žÚî¢I²oÓ§¹0ä½Oßdß+N2LYwÿ~Imƒœ`Ø8õ÷ð÷`Óhæ~“ÞY³IwÖÏÃ^Ýñv¨ 5m&,ˆ†âuÚJGíÌ$þ6°ðnѳ$X¼ÚDMjõßè4ÇÿËp÷N†ÃŒk»(Ôù–eÔŽ\ùÕü þNxûÒgù%НãEi윱㨑å%~öõY꜆¼òÎûÓƒWñjÓ¦ 'úy¼ÛT¶þfP5>LMÍTÔ,žw@ðä Ãléf©œrU$è'š@g bS*;Ü£ÀðÜ׿•Z7瓵êö8kÜ6g¾ÂÀÆ#0™¤UlÞH@èË1 äèXÜñË~[ÓïßT¶oª¬ÿE»?k¿A^¨ë­€Q×p×'3•2ZŸMn[ïáŠºÞ õYúÆ_Ʈх@Êv2gá<$£æóhPŠM¢vãÖ}Xäé|™Á×´«ýtp²Ù/æÅŒ6I¾ç3éà²æzv©«úÞŠ`G`°Ý.VÉQ¿›ÏGà~¦¥{´Ã'ßsð¸A†üfRr©\M£±Þ?w×lo¤­FëjQvýÈdߎamL®÷¶SyH†¬OFu³QeúùøsW®–HévÎ!¡aË^ɶ17;ÌÆ(Â_`ö‚€E@Œ" F£ˆQÄ(bÁXü?î£xKïúIEND®B`‚nted-1.10.18/doc/docimages/redo_button.png0000664001041000007640000000167511520267216015301 00000000000000‰PNG  IHDR##‘»$ pHYs ‰ ‰7ÉË­tIME× 6·Z¶\IDATHÇíÖÏoEð÷fwgm'Îú±cܨ©•; j‹*‡AÛ •à€ ~Ü'$.œ€ G ½À HøÕTå‡Z«BM›Ô$Nâ_µ½»³3;CÔ® 6MzÊÓœv´óÙÑ<}g±±± ÷¥ܯړö¤{”„Ï}2ùÑÅw•R»+µZ-'‰õèoçß Zò…0,œÍÍ7F/Ÿ¿4öΉs$ʼn#µÑ_.\~@Ìü· ­õâÊ×_,}°,~  "2àFc¨AÓã³×6¾»ð+½4÷¦išÛKØ7÷)?¼øÎ|SÊ=’ï7 @k‰´E¤Bš¤&hq½veÂ;ñâáÿÀúHRÊs?¼$Vй£&cˆ[‰0$ý°åªº§š"ìºh7ÐA£íÎá+gÞëÃð«ò§«üçùÌÓJ €Ò~[®µåZG®wUP"l}„&¤v§#„T"¢f§ñeåÜ\ñp‚4za³.–[Á-WÕC@D†€w†&ð.=y¼ð¡µ¾tó[#îÚ¦ÝUº³.nøªCšdZ!ÙœÅ"È @pY×NœÌ¾š0gÛö ’”òêÆâXÊimú×oU¥ÈïFìêÁ¤_(ó†a_”½áH®OfyátöµC§S©Ôöaþ3i‚Šw5nÀª[ve#+ ž?”L&ÇáÜZ¯®ÿ¡ Ý€Œò©Á˜»ö¤$iÝUuÉJ«NŸy£0s ý@z$³mÛ0 €tÂ+ §2ƒ2}z/ Sÿ÷H?†ÏÏ–f&²YÎ9Þivhz:÷çS§³C0½’eZ“±â ù·ÁðÆŽg3™žsŽØöËêc3oL ÎôJ¶ÍgÆý~9­"œ¢ 'Á9ïyÁqœR©hæÈHlp¦7a-Ëʤ'JêŒðY–ÉXoÛ¶N¥gl(¦WbŒ%ÎSÏŒU5t¥4‰hWî\DŒF£ûöåÏä_߯ÿqís©äNIývs³V«×jze:_Ê%'²]‘¶0×õT¨˜ñؘi˜÷.õ_²¬xÜÃvdCÛݹŒ±»oïÏrOÚ¹úzœ”£C¾¤ÔIEND®B`‚nted-1.10.18/doc/docimages/tempo_dialog.png0000664001041000007640000002736711520267216015426 00000000000000‰PNG  IHDR »r軓sRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÚ 4ï÷ÇÏtEXtCommentCreated with GIMPW IDATxÚíw|Õúÿß³½dÓ{/” HW)"À‹åk×+ŠúÂËUüRÔ{¯¢ß‹½^½*ÒT‚ī҄ÐC ¤w’ì&›-3¿?²Y³$@›’ó~½æ•Í´gæ™3ŸyΙ3Ï‘EáXÖdd4)º £ÆŽ•Ž'mÚ´ÉûOUq±Ÿ”$¼%t@Lf3öÚZ¿ï×fµb4™¼ÿç> @`d¤W4¤n¸€û'NTâÅÕ:0F“©ÍÄÂd67™Ÿwäo~ø¡ )ŠÂšŒ %&>þ¤;ìÙ§O“yååå¸Ýn"""NºýÞ;ÄÕN'²h+±°Ù|"‹Æäæ2jìXIÓ0£¹¶‹“QSSÃøñã±Ûí¬[·s3ÊÔ˜S±!þDVä6¸E9éý©Y“‘¡DÅÄ Èr« ¬[·Ž»ï¾›]»v‘••Eÿþý‘$éøt 6ï=Ô÷щöÚŒ EÓ V-Åét"{všÍÅ_Ìš5kˆˆˆÀápø¬Û  Š%‹È‹Z£!:.K` jµE–q8TVTPRTÔª}õ0€#‡Quôh‹Ö=;þøC\ ŽYȲ÷þk­V ’„ó˜{Q£Õ"yîßãE'»?5­yâ¯\¹’õë×sÍ5×PVVÆüùóQ…‚‚òóó}Öß¼y3$zNM¸Úâ±ár:©(+C &&³ùÔŸŠrÒmK‹‹½¿Ã##¨®¬¤®®ND€gCdq‚ê‚V§Ãl± uv;µ6[ý}g6£3kUU³‚!· ìhZÓ–`·Û‰ŠŠâ¼óΫ/x¥¥,\¸õë×à[(KKyã7˜}: `Ĉ'|ÚuEŽÝÛ9K’$¦M›Æ-·ÜÂÀغaƒP –À@ª«ª¼SIq1Î?¿Þwj5²¢à¨«Co0phß>ŸÐ[§×ãhÔ yì“çTÄ¢ñv­±+Ër}ãX£íÝ …´aÿÍ—Î`@VŒah°Ûø¼ F£w»†C ëˆ6‹æ1[,è êìv¯è6ü–e›ÕzJË)GûöíãèÑ£ÄÆÆðý÷ßÌúõë `÷îÝÔÖÖ²uëV¬ž´xžX‚úÞ°uv;ÖêjÜ.‹·‘ÊZY‰"Ëå瓘šJRZÁÁÈn7F“‰€À@6®_ïÝWÝŽÞ` &>³§¡ùÈÁƒ§Y´Ônãm‹E“òÔÌS-:6­V‹%(¨>Ò¨­ÅZUUßè››KR·nDÇÅy |hx8Pß›°KG'¨.èôúúê‡Gjm6$ F#uuuŒFG³¥¥oCZYŒ3†‚‚Ün7©©©|þùç 6Œë¯¿þÏ:iq±÷íɨQ£ØpLAëÊäåDpHj·ËUÿæàðaž¾ /·ÛMTl,¡áá(Š‚½¶–‚Ü\Ÿk–}àI©©õõ~Ï8ûÀSŽ,Zj·ñ¶ pÃ: óš‹,òsr Eo0`­®æ`V–w‚\n7ÑqqÞ¶›ÕJa^^—n¯8Yd!Ë2ЧYc³a«®öŠ·Ádª¿ÇÙ^ñDˆ' ~\¹R9^Ÿð&õÕ€6mÚDzz:jµš™™ÉöíÛyî¹ç|Âáp°zõjºwïNZZ’$¡²º<Œ @Ö®]>¯Œ-Ã`0œðÛÆo@Z2ßzª~Ç£¶¦¦uoCÈ€$‰O?ý”Ç3wî\&NœÈСC›¬É%—øüÿûºuâj þ¬šˆ‡Gë#‹“´-ØõUiÉü–To|«!­¨6táÞ¾};¿ÿþ;×]w·‡æ‰¾ i­A(ô¢<´^cÛèÛ“5œz«!Ú6<^Ô(R°Z­¼ð 8Nž{î¹&=8%Ij¢T¿üø£¸ÚÁi ×ëÛäu‡ÃqÂjˆÓᨠøfC 8;Äâ$m§%^c‹Ëå¢Õ_ ‚3X}kAuáT«7-êg!»Ýâ*g-ùàë”ö«('ÕŸúGßAƒÄÕ^2}$ªî-Aˆ…@ b!΀XìØ±ƒð¨(o¦¤ÆìÚ½›Ä”ܧØPÚ°o@ÐqñK‹szõâÈ¡C›ˆ,‹SdËpnÿþ,\´È§ŠÒð{eFF|R£/¿œ½YYÞm‹‹‹¹á¦›HLIaè°aüúÛoâJQ,V}û-0ùÿ÷Üè+õX–-_NÆ×_spß>zöèÁcÓ¦y—=ðàƒX,öîÚÅò¥KY¸h‘¸Ag‹?úˆ'ŸzŠE 0Ò“ˆ·9žŸ1ƒàà`t:n¿-žkÊÊËùiíZ¦?ý4F£‘ˆˆ~è!q%‚Nó œ’DÍFQ^u( ž‘®æ½ö3AÆ«hH¬a0½¿½¿CCCq8ŒF*++HëÖÍûáJZ·nÞí·nÜ(®Š@ОH­–àÐPÂÂÑZ#uv;ù‡I\\z£‘mÛ¶ñÍ7\}íµ˜Íf:µÕÇéØ&77—´´´úß99ÞåC†O hGY¦¼¼œÃû÷£ž|§-‹‚Ü\££ILIÁårQg·{Óq¥¥¥ñíªU\y啨ívžþÛßZu`áááŒ5ŠçgÍâ­7ߤÆfcÞ«¯ú•@ h_HéÞÇa ÀÐLn‹fÛ,ìv;1±±¸œÎf¿DKJLäÛU«X¸hÓŸ}¶ÕöÎ[oQQQArr2WŒËM7Ý$®–@p†1zF2s6Óñ<™²þiøêtÏŽ >\<å‚.ÆÖ‰IL$È3¯øêT ŸãäÒb!Z„ @ ÄB ±B, @pÖrJÉoÜn7Ùp0+‹ŠòrBBCIíу”nÝP©ü¯A¦°)lžY›­î”U[Súի©s:éqÎ9ÄÆÇwäY{ö`Ðjy饌F¿¼°)l ›ícsëÆÄ$%d±¾²Z%Š¢ðCF“‰a£F5ßÔjµòËO?áv8qé¥'(¹%›Â¦°Ù~6O$­ŠGr²³q¸\ÍÔŒrù•Wb±XÈ=|Ø/JÙmªt&üø‘“#ròo<øñT:“ð­°yFm¶J,öîÚE·ž=›=o¨"IôèÝ›CøÅ]Ñæ ñúù”T;)©vòúù<±àð­°yFm¶J,ÊKK‰Š‰9éz¡ááTUTøÅ]Ñæ’M¥M–7̾6Ï”MñêT ø_,B#"(*(8éze¥¥…„øå»¢ÍÿÜ4SQÃ<á[aóLÙl•XôìÕ‹ƒYYØl¶®—µs'Éž¼š§KW´ù÷›S˜|i,--“/åï7§ß ›gÔf«Ä"!9FÃú5k°Z­Í®³cËlV+ñ‰‰~q@W´);j˜?!â×/ øõ ˜?! “N%|+lžQ›ê;n»mfÃ?Q±±”Ÿ”„û˜ôZ’$Ïþ={8’M`PF£Y–)*,dÃúõ”sÁˆh´Z¿8@Ø6…Íö³Y˜Ÿ%8ƒ'ó~ãjÍ)¥Õ“e™ìÈ=|ØÛªB|RÉiimÒ…UØ6…Ͷ·é·œ sã·œ ë"ÄB ±B, @ ÄB ±B,@ˆ…@ b!üH‹‡PPp¸­Ú¹N­CâÔ‘ ›ÂæÙh@VäÖ=µ¥Ón·µM A ®®•J…ÖO_`žI› NÙÙî¢ØÖ6E5DÐ!X•ñ-¿üòß.`sÕð­l ±tfÍœÕémNò_,XxVÚb!è0deeµû“·½mZ««™öè´³Ò¦ßÄB«Ò¶{áúcËÞf~~%Å%Þ&@Mm-_|±è¸)á:ƒÍظ8,î¼ã.-\|VÙ<«#‹÷ßû ÓÛܸa#;wíêô6™ò0?®þ‘éO?ÛimºœN˜|?wÜ1wßy{;$˜ò—MQ tFŒÁç >eëÖmlß¾£SÚ,..æŸÿx™«¯¹ŠaDZxÑ—gM!‚ÅЋ†òÄ“ÓX±|²,wJ›V«•;ï¸ ³ÙÜ~í~°)ÄBÐá8ÿüóùõ×ßp8ÎfÿøßYÏSVVÆÜ9/´Ë¹ù˦ A‡#<"œniiÒfRb"“'?@^AÝü4¸P{Ùb!èp¸\.t:’$uN› zøÁösªl ±t8¶mÝFß~}Ñ{ºé¬6{õJowßžŽM!‚GŸsûpÕÕã;½Í%K–žU6OK,^˜û"SžÊ¿?üw»lƒM×1C+vF›¿ýú[»¤ö¶©–Ô¼8÷¥&6õz=Ææñ¨ùä?üí©§x¦W¯Ó²›‘‘ÁC>Byy9wM¼›k®½ ÅïŸÆ·Ææý÷=àõÅ›7Ó½{wÿ‹EAQ!†—þùb½B­ü†¥Ë—3vì˜V'9› .")9©Õßðû˦¢øWœœ²“‚¢BïEnàŠ1Wpþ…çû](΄͆œ ݦ„„Z¥æÿÝ=É{C60nÜXÔ*5.ÙuÖÙlµXŒ¾ô~^w×ýÏ äåæa2™rÁž›1½ÍÂÇŽh³Ï¹}ø}ït¿Ù¼ùæ›X°à Ìf3çœÓ‹™3ŸkÓÐüd6»Êy$%'qÞyƒ‘ˆ=-rÉ.’SRØÕè›”ädÆ_õ¿ Å©Ø0h κú‡»ÞвëÚâQÔMO¶}û¶mÝÆ…^@Z·æ;³ø;%ZW°i·ÛY¼èK""¹bÌÇÝFØìø6>Â-7߯ž={xú™¿qÍ5W·y:]›'E½Åb!:?'‹æ__HJ;}Ä#:Š,#©ŽÿF³Ù%ZŽÊ£G…÷‚.D͆ÁhD«Ñ´\,BÃÃ9˜•…­ºZDAˆ(ª«ª8rð M¦f×kVB‚CBp8ÎÎÆépÁ:1’J…Þ`ÀŒ) ­ZÝloåfÅB"##±âr»ë‚´ã€ }Ñj4è ôZíq?k8n? I’0‹AâDß?‰¯NA‹b!ü+;vì <*ª]?Ó"²U,Æ\y%©Ý»“˜’Ââ/ëǰÙlL™:•éé¤vï΃?L­ç«·†hdeF NBr2—^q{öî%cÕ*†I|R—\vYûöùlóÙçŸ3`Ð ’RSyxÊŸ¬Ë¥¥¥Ü1q")ݺÑ#=§ž~‡Ó)®¦@ÐÄbÕ7ßppß>Ž:Äõ×]À”©S)¯¨`óÆlߺ•¢¢"fÍ™ã³í²åËù櫯8•E¯ôtn½í6–¯XÁWË—spÿ~úôîÍ´'žðÙfÍO?ñßõëÙ¼a;wíâ…—^ò.»ïP«ÕìÚ¾_~þ™ß7lॿÿ]\M £VC*++Y¶bÏϘÅbÁl63ùX¶|¹ÏzÏϘApp0:Ž ·ßΑœf=ÿ|ý<­–ÛÿúW6mÚä³Íßž|£ÑHxx8N™Â—K–PV^ÎOk×2ýé§1DDDðè”),Z¼X\M  i¾Ÿ…$Qc³Q”—GÊB…ç[ƒÑˆÆÓwüPv6Š¢0úò˽›*Š‚ËåÂ`4¢ódJNHLônä×@PP‡Ãg›´nݼ™–SRS)..Æ`4RYYÙdyZ·nÞå[7nWU h ’„F«%84”°ððã~(߬XÔÙíä>LHd$qqqèF233›¬‰$IdnÝJxx¸_?77—4Ï /¹¹¹DFFzm6Yž“CTTC†_ hŠ,S^^ÎáýûQ€ˆãÜËÍŠEAn.áÑÑ$¦¤àr¹¨³Û ðŒ‘˜íÕ(,,ŒñãÇóÌôé¼ôâ‹SXXÈîÝ»5jÔiÀœ¹s™?>56/¿ü27ÞpáááŒ5ŠçgÍâ­7ßÄfµòþ“›n¼Ñ+t uÒ½;‡Â€¡™ìYͶYØívbbcq9ÈžÌÀqqqÜ;i#.¾˜Øøx.ZÀ;o½…Á` ÿÀDÅÄ0fÜ8v6JëuªŒ5ŠÁƒÓûÜsIOOgú3Ïx—½÷Î;8êêHMKcààÁ >ï<žyúiqÅ‚ÓÀh4⨫Ãyœ¾T.SVff&C‡ ãhy¹·C ´[7n$&1‘ ÏØ"'Ï”%º.ÇùÂ\ˆ…@ h.ÎïÛ·/Öª*qe!û1±t6 "‰@ˆ…ëf•díÚEEYY}F°Žr³àlá÷.*•Š‹…Ô´4"<ýP!~Äfµ’¹y3Ýûô!½¤”:ð×µk¹ñ¶ÛZ´®,Ë”±á·ßÐh4„„†Š’-báOvoßNzß¾Ä&$`±X:–X@‹ÇS•$‰Èèh.:”?6oæ¼!CDÉø.ý6¤¼¤ƒÙÜá„¢EQZ5…„…QåùvF ‘…‘eI’:¤PpœÈbÏž=¤§§7aÈbØ‹.È1b‘——ÇØqãX¿nqqqÂG!h,%¥¥\ã,X°€ëo¼‘åË—÷ AÀßœ°Í"33“€ÀÀ.•¤·  €+¯¼’°°°f«'=öééé˜Íf¸ýöÛ)--õ.¯­­eâĉÅÌ™3ýÒf1aÂæÌžÍyƒsÞàÁÌ™=› &4i·ΈXtI‡¨T\}õÕÌŸ?¿Ùå‹…… bµZÙ·ov»[n¹Å»ü©§žâÈ‘#äää°eË>ýôS>üðÃÓ‹O>þ˜‘#Gzÿ9r$Ÿ|ü± ANjї]@\|sæLúöí‹$I„††ò裲nÝ: ¾Áô£>âÙgŸÅb±Ç#<Â|pÚbÒôíG3ó‚3"«¿ÿ€¼Ü\Š ½ fxðAÊËËÙ¹};ûö°3føl»dÉ~øî;rŽáœsÎáún`éÒ¥|·jy99œ{î¹<2uª¯½dÓ¦MìÈÌdÇŽÌn”ø÷î{îA¥Vs`ÿ~6mØÀo¿ÿΜ¹s½ËwîÜIl||˜ªª*úõëç]Þ·o_vìØqªõÖOAG©†TVV²dÉæÌžíMÒûÈ#°déRŸõæÌžMpp0z½ž‰'røÈ^˜;×›¸÷Î;ïdã1ù2Ÿ}æLž$¼?þ¸7ÁNYY?®YÃó3f`2‰ŒŒä‰iÓXðÅÞm{÷îM~n.jµºÝœ·råJ^~ùe^ýu¬V+fOV1¨Ï@T]]}Ú‘EK' ­hõÛüü|Ea؈>…úØFÐÈFß(=)ºŽ×¸šï󻨨Àû·ñò„ÄDïü3ÁÒ¥K¹çž{X¶lƒ}úˆÈBйÅ"ÔóARvv¶w^ã$½G=òfÍšÓ>˜9sçRS[Kiiéq“ôÖÔÖRRRⓤ×ߨívoã©ÝnÇÞ(½à¿þõ/¦L™BFF]t‘¯3U*î¸ãfÏžMuu5ùùù¼öÚkÜu×]¢ÍBйÅâlJÒ»sçN¢¢£ýÒÀi4âùËh4bl”âᇦººšÑ£Gàx饗ˆ‹‹#!!þýûsë­·2qâÄÓŽ,ÊÊÊšDÍÍÚŠ‘°÷L$éµ×Ö²jùr†]~9IIIîÂ,øøcÆïýÿêk¯å±©Sái+Z·n/Ï›Çòc–W~õ—#’ßN‰­7“”D§­qÂ^ÑÝû,áýwßåú›n⟞1]Ÿ{þy7z$´5B,:rQõg-122’Ï?ý”Ñ—^ Àê~ðy»$t ±IzSGTù6)ÅÇdzÂ3ètã×Ȉ,ÚáÉÝ‘ó?¨TMÛŸ× ê»›7·@à—òØ•O>4"‚ªŠŠ-­™*+*ôŒ$%´XHJȸÔëÜsÉÚ¹“üœœaH*U‹&(..fㆠtëÑC”jÁ)¡Èr“ªïI«!ZŽÊ£G1šLÚ9æ€ BææÍ¬ýî»%j½ž%-|Û¡R©°Ò³W/‘Ù[pÊÔØlŒF´Çé¾ÐìÜÐðpfe‘œ–†Él>¡ÚœÝRªÌyC‡Š’"èÒ…Õj%÷Ð!ÃÂꃄf:ø5+Á!!8ggãt8ºD•D èªH*zƒsp0¦€´ju³Ùñš ‰ú÷úöÀ@\nw}xÞA3` ‚ÓG«Ñ 7ÐkµÇM£Ù¬XdnÝ*¼'taúöïß2±hnE@е=x @ ÄB ±B,ÁY‹Ègq”³ß>lV«Hiw H’„Él&1)‰¸øøf/|Þþ>bqšT”—³g÷núôëGBRZ­V8¥•ȲLa~>›~ÿI¥:é¨ðÂçíïs!~ kï^ú Hbr2 Æø8Õ§\L\Ʀß',, ƒgŒáóŽás!~ ºªŠ˜ØX‘~ß„†…a³Z©««;aÁ>oŸ ±ðŠ¢ ÑjÅÖO;OƲ“ ã |Þþ>bá?Å>8K|^öûïä¯\IÙºµݾgM-’JEPz† 'òâQÄ_}µø`RˆEÛEgš/~ÜÁüÅ¿á’ëG$SP<ÏÞËÏïά{.éÒ>wÙll›öù_.&!1œ¤È@ú^9chN[-UÅåTlø]Ë¿$ëå0ä“O1uÀqd„XˆÈâ´p¹e^]ø+³&ÆlÐãV$\2È TÕ¸xრfÝ=ªËú¼dýz~ÿë%†‰eFIDATm„Y4 wZ·Um„ÃÕh &ÂÌ„¦…’Ú¿;Ù[³ønàúÌ}n“&‰ò-ÄÂåö ØÜŸWNjL*•„ì¹q‚ÌÖn=‚C–¨sA[btÿO”Ñ5}^½o¿\s5}û$‘r$ ¥¦4jµ„¤ê*Qj+‘Ý ²ÆHrtÂcÂØ<{&j³™äÛn…¼¢çi†Äí9ý¸å÷¼¸ IjŽ+ ²N.§[ÁéR°;œ¨$©ÝñT'ú\v»ÙpÛ­tK‰$4‚kç&$k*•„J-¡ÒHh´*4Zjgž£y× Nýú%“9u µùùgÿÚÒçB,ü·Ã¤È o/ÛÄü/§¶Îå¯òÜ<².Ü2¸d · G+«ÛõO{ò£Ï³^yŠ ˆM‰Áu`/’,#I ©@¥•ÔéO¡Py" ”܃˜ô$Æ…°qâgÿ<Ó¶mÛ0¸œNÿù\ˆ…Bâ¶žlv'¾þ[”0õ¯£}íJõe¥^ n¨¶ÙQÕôNoöZ»–K.½”ˆ¨(¢bb¸þ†ؽgwù¶ÌL &N—Ë;ïÓÏ>#2:šo22Úì<ýåsW]»fÍ¢g÷XÜù9àt`~åsLï| ¡Ç ù‰þíÕ^úÌ;Ë}(‹¤ XwdR²~}³v¶mßÎ7ßL\B¡ááôHOgÊÔ©””–¶K¹8™ýés!gAd‘W\És—a°pËØóÑk뛘.¼ï=.¼ï=.ºÿ}¦Î[ÁÊuÛX·!““Ì “.!<ØØäøán¼ñFî¿÷^òss9¸?C‡å’Ñ£9tð ïÇóûÕW_eÚã³lÉÆÓá#‹ªíÛ1˜0˜Œ¸K‹½UUx4šþC1ük%rP$n—‚ÛfÞרzF ƒ†ÝÔÔ ÔX 4Q¾aC¿ýú+—_vÉ®;)+)á‡ï¾Ãb±°qãÆŽ¥ùÓç¢Ó?mmÅÆ=ù<÷þO\1|½R£ÙW`¥_r¯?u#hÔ:5èµjôF½–“I‚²ÊÜn•Jò9Æ'ŸzЧŸ~šë®»£ÑÈ”Ga÷îÝÌž3‡÷Þ}×»¾,Ë<õ·¿±øË/ùá»ïèÕ«W‡xU|²c(ß²‹I\Sƒ"ã*º‰à3P§ôDÿÚ7ØŸ€aöǨ’zàÎދ퉿"ËõU>EVPª­XLZÊÖÿŒ2eŠ©=Æã?Î}÷Þë=¦øøxžŸ9Óûÿ{ï½Çëo¼A^^j†KFâµW_%<<œÌÌL.:”/>ÿœçfÌàHNééé¼÷î»ôJOÀf³ñÌôé,[¾›ÍF|\~ðýû÷Çj³ñÄO°â«¯p¹\\5~<¯Î›‡ÉdòúçTÛ%Ddq–5p~öývþ÷ßë¹aÜ0b£ÂÙŸoE–v©don%Y¹•ìË;ÊþüJ²r+ÈÊ)cWv!…eÕ”TXÙ{¸E©ÿ aŸ………ìÚµ‹k¯¹¦‰½k¯¹†Õ?þèSÀþߤId¬ZÅêï¿'==ý¬ià,ÿåL ·µEVeÙ­à.)¤òíE•Üãûk½Ba4wq1²dÙ3Ù¬˜LTlÙâ³ÿââb¶nÝÊõ×]wÂ㈋cñâÅ’¹u+UÕÕ<ôðÃ>çûå’%ü¸z5y±x衇¼Ëï½ï>vïÙÃ/?ÿLqa!‹-"44EQxà(++c׎ìËÊ¢ °çfÌðÙ·hàì<÷ÁZ¾Úp„›Çĉ–ì’ZþÊ$$d¥¾AÓ-+¸d·[A¡¾S–F­¢Îé¨S{÷[VV@DDD›Þå d¬ZÅ•ãÆ‘pVùÏž—‡V­F®sÖßônÏäWQ!UÝŽâ¨CÒéQuTO»Wan—‚Ü0¹Üv•ÇÑJŸý—––×;f ©))„‡‡óäO°úÇ}Ö™3{6ÁÁÁèõzîš8‘Í[¶PQQÁÒe˘÷òËÄÆÆ–šJBB•••|¹d sæÌÁb±`63åá‡ùrÉ’6÷­¨†t°jˆÃåYAœn‡[FãV¡8ÜTÚ\H(hT F­„A+aЪ¼¿YôZ ˪IŽ ñc¨gXÃââbâãã}l—”æóÄY¾l×]=jµš™3fœ5>:ë§û5 ¸•ú· Rý›Ux4–~â I§'àïŸpôÎ1¸‹ŠêEÂ]/ŠVµ²šÀÝ}l6ø±¤¤¤‰óÕ×_3oÞ<²öíÃí{Çf³ùø8""ÂûÛl2QWW‡¢( ( )))MÎ7//EQ6|¸O\.W³‘…¨†tâÎËÅóÅŠŸÐâ"1Ì„µÖMn™J› »CÆå¦Ñ¤àòr·,£Õ¨2ùü»mŒ˜ìÝoTd$½zõbéÒ¥Ml.]º”‹GŽôiôØ¿?ß|ÃGÿþ7O>õÔYóê4dà@¬nP´úúÎVn·KA Ž$äãUhR{â:°—²ë†á:°MjO‚>\…é.Ün´Fª*k¾àBŸýGFDп_?/^|Üc().æö xø¡‡8•EAn.K-úóø›;—Fó¢£¢$ɷѹ‘}I’ÈüãòsrÈÏÉ¡ 7—’ÂÂãï[4pvŒW§mÁWœKøþ÷ãŸ}Ñ@Òã#Øz¨‚Ñý¢Ð¨A£’ÐzþjÔ¨UPcwq¨ ‚ßo'À¨ãÚáé>Ç8{Ö,îœ8‘˜ØX®¾ê*œN'ï¼û._}ý5k׬ñy¥¦½{÷&ã›oøËUWa·Û™÷Ê+­Ê¬t&|4`ÖÊ*ä¸0d4àr¡(ýÆghÓzâÜ¿—’[.G.+¢ø–ˉøü;´i= }k!ã‡{а¹¬$ÒÄæ?þþw®¿ñFLf3·Ü|3äåçóþûï3äüó9§wo\. :½žÜü|æ¾ø¢Ï+Íæ~7ü  áÚk®aÚOðÎÛoÃÁƒÑêt$ÄÇ3þ/á™gŸåÅ^ 88˜ÂÂBvïÙè‹/nvߢÒÉ߆\pNoNô7VSQ™ÌÐþÝxü•ÅÍ®/Ih$.<›FÃð¾ àiÃhà²K/å?Ÿ| /¾ÈäD£Ñpá…òÝ·ß’ššÚlÛ³gOV­\É_ÆÇn·óæothŸbb°¤¥QTPBdxîÂ\\¥¥Ø·l ø®ë‘K‹êÇè,(¤ðúˈxûsÜe¥¸õ ¢RP¶ê*­5„ÙÄæ!Cøæë¯y饗˜=gv»°°0ÆÇ Aƒ cö¬YLº÷^l6=zôàŽ X»nÝq« Çþ}}þ|¦?û,^tµµµ$&&òîÛoÇ[o¾ÉôgŸeÀ AÔÖÖÃÝwÝÅÅŽµ-ª!Ò+Wz÷ØwÐ ¡-äûU«¸òª«ÚÜŽ­ÖÉ3ﯥNQsíèAÌ~{9ë^»½Óùó›+tþùÞ6Óñ¹uß>ÖI¯Øp´µÕ`«ööÒT©$}‰îÊdPkQÅ&°óp=æÌ%áÖ[;mn‰Ï37o‘EG,04¼üÀ%¼µ| ï/Y[ßêp ( ’$y'•JuÂ*BÐ Dc*ËËÏzŸ›»u£û“O’ýÚ«t‹T¸«+‘$UJ?)žOû1˜P‡G’WP†©o?âo¹¥‰½–ø±£ûPTC:²,ãt:q»Ý¸\.n™JlˆŽ×¿ª¦¬QaT©T¨$ µZZ­F£Ñ V«Ñjµ¨TªN_€GÚƒRøí·ìݹ“ä 3†Èä²Òúîß’‚„ä ,P©Q…†!kõÊ/êÖÐgölÜn7jµºK‹¶¦û\.N§óÏÉåÂåtÒ/ÉÂS×õ¦âèQdYF¥R¡ñ„V«E£Õ¢õü–Nפ°wŸ;NŠ‹‹1ÍšEå§Ÿ²û³Ïˆ6‰‰D­QÓâp iµ¨ôz*ª¬d-Çگډɮ¬¤æÐ!bcbe]ˆÅé¡j#±Ð¨ÕÈn7ŠZ"Ëõ“Z ŠB·Ø Ün··ÒQ¨Õj4 â¡V׋†FÓ%}îv»q:8œNœ#FP…õãÉÏÎAÒé0k4ªÕÔ¸k©t:‘NìF#®¸CÿþD+ v»G]µºÍ®³‹®X¨Ú¦›ŠZ¥Â¨ÑxÝdobÕÆ“¢(^‘P©Õ¨Uªúß*•Oõ£+úÜl6“˜ˆV¯G£Õb0)OL$·´Çþý¨ÁXP€-0Úèh\ ˜ÂÉ &$$„ððp’SRˆ‰ŽF§Ó‰‚.ÄÂ±ÔæûïÌ7~[ú\¯×“”˜HRb"‡›Í†Íf£Ön§În§®®I’Ðjµ ôz=˜L&!B,ΞÈBà_Ÿë ô¡aaÂB,ÎÐNQÄ“ß44Ö Ÿw<Ÿ ±ðæ€ÊJK‰ŒŽÎ8M*ÊʰžôÍðyûû\ˆ…HMKcÓ† 2„Ȩ(ñ´;ŧ[qQ[6l 5-í¤Ãè Ÿ·¿Ï…XøÈ¨(ìuulÛ¼™› Y–…SZ‰J¥Âb±˜œŒ%(½^/|ÞÁ|.ÄÂOmIIIDFFâp8Z5f¤àOÔj5:£Ñ(|Þ}.ÄÂÆV;] |~VF%Â@ˆ…@ b!„X!@ˆ…@ èÔø¼:mœoO Dd!„X‚¶áÿùg¿øÀ4ÕIEND®B`‚nted-1.10.18/doc/docimages/hor_shift_example2.png0000664001041000007640000000317011520267216016527 00000000000000‰PNG  IHDR‰@¡¡Ãâ pHYs ‰ ‰7ÉË­tIME× ¹`IDATxÚíœkLSWÀOÛ[KbË0(0ERQTPè¶NeƒÉCÍ&*‚™Ä9™qAØ„iV¦LÐÍ%s/ËÀuf%Q³Ì©3¢®2IY¬VV«W‰%•žÛó¿çü.çKÁq@H Vtn tÝ@ tÝ@ èÝ@ èÝøÆápŒèÔF“)òÜPêëë}¥¹Ýn£ÑÈb±h4i 022"‰bgT­+ ‹w¹\‹…Íf^‰úJÓét6lØ·o—Ë%mQûûûE"‘IÓ«Izæõ¹ñäw#•J[ZZNžI<ÏÃ_ÎZ'ürÙÓ7[ׇu¯ön|­Jm:|(Æ=´Y¬‚n|r÷r+FÒäéó?:Þ÷¯Æ…¯DgƒXq&æŠVLëªÿºñÉú%ïH•š;òÆrÞE“óACäT—-ßúí°5¸ëÏÞ4ô~ wãÐw.ýés~£µ ¹¡(š——WSS³k×®‡SÿðÅw'µ‰«f3·/æ§î2^6%÷‡ë?-û¬V«›ššnß¾½zõêÊÊJ: ¡‹Å†pÍáp8¾ÒL& ..ŽÃáÌ îh<6XܱÆOÜGëðãâQQQ^3¤ªmÓ_M,æøþ•©Hì_yVWWŸ8qÃ0™L–ŸŸÏçóýÿ666ÀápÝ„zîyïzƒÜßü|bhÂ]º|ÿ½ÙÁ=àqëÖ­±5- ÃúúúÂx]àü¶ï'/lžDE\Üc±Á –••5* yyyÌ ¥Ì¥ÛòëðÊß BNî,?øþ#ýdGÿýE ðx¼¡¡¡ââ⤤¤pu£éÚráî—šp:é’Ÿ ú,„J-** FÎ!us¸ö\êª#,Zˆ¶‚26.áLèÜ8MPý§üÀfëu 2@ÚÚÚ|¶×z=ŽãG•J¥?†Öü²ÄäD>ÜШÕjÇår¹Ÿ‚ …BãøÏÜ"ƒÁÏ `4 Ãã»9ß5:5¥Ÿpãyi”Šk7•ú{V»›ÎdMNIMž6`·Û/çÐa6›ƒ!rÎC«%¢e™“¼uÅÑ*õ?{Ò‘q ‹gM²SAÐyÙ‰Á0+ ß½N¸é;RõB­Ðÿ{Þäfgä¹!ûy·]YX)$|_ÐM¨ÑvÕ =ŸS/ÜZÝ„›–`ÅžÆH>(nŒÈù ÙÝL]Þ4Ñ÷ÙL#¹ùœ¬dJôÿÎ ^³Ê`ôß3s"ãá¤ÔE§Ñoç&‚…’––æg9Äb±ÄÄÄP©Ô'|÷X-f›Ýéö` ¡O`FG3ôp¬q·ÛmµZY,ñž4|1ìo Ð tn tn Hù`·Yx58IEND®B`‚nted-1.10.18/doc/docimages/ritardando_handles_select.png0000664001041000007640000000721511520267216020135 00000000000000‰PNG  IHDRÛ—œ.WsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ;-<,-tEXtCommentCreated with GIMPW èIDATxÚí}pTÕÆŸÝÍ&6„c„JiÒQ ã8£|( íˆ‘é0ZG ˆh­IGŒ #ÓdÐJuœv(¶ÒJ 5Å S@&A‰fŒv°-PÉ’˜Íî&ûöËš¯½»÷î½»ÙMžßÌÎ&çÜ}Ϲï=Ï=ïyÏMÖ""BHıÒ„Pl„Pl„Š„Àb±Àb±Ð‰´ÐÅF¢σK]0ø3ˆôùYm62Z§ÖáÌ6ä×M"RhjÂP«ëo›á#g6¢A~±a Áõ/ãLÆ™mØ‡Ž¡Ž1Zlf$œÙ(¾Ùäz3‰\¯QlDCØgvX©–Dñ¿SŒQ¼Þ|êpE¦–43å¯J2´¤ØaI¡Ø¡Ø!!Q…›Ú1J ŒŸn·#GŽŒH»o¼ñêëë±qãF G¨Ö—@åT?[ü(. tù+Z¸\.$%%ÁjÞý½  €b3ƒììì€åõõõزe ^{íµˆ´›’’«ÕªÚ¾ÊÊöÈ6íœûÛÎÏ¿/¬ÏF’üü|lÚ´ ×_ýð]V µÒZ]]… ¢µµ5"ö—/_Žýû÷k²oäÿˆ µÿAb±XPUU…Ù³g3Œ$±½&#ñ$1@}}= Q__OgPl$’œN:…ææf:#F‰Ûld~~~Àòææfttt¨ÖåèÑ£¦Û?wî ¸¸;vì¸\Z¦ùœÀëõ¢¼¼×\s ¦OŸ“׬¨¨éééQk¯¬¬,¦Î?n÷Ùjjj–×ÖÖbýúõ¨¬¬ŒH»6l@uuµ©ö«««±~ýzlݺõ»}¨¼¼Ž;v¬FÕF{{;n»í6,^¼………1w½òòò°}ûvL›6-jmΘ1ƒ3[$ér¹`³Ù"æè´´4Óí755rrr‚Ú Vçt:17ÈüäææÆl߸f#„b#Ã…•+W¢¸¸8®ú\ZZ±5;ÅF"Fyy9ª««ãªÏuuuسgÅFÃHBÅFÈP n÷Ùòòò–···£¡¡!bû9§OŸ†Óé4Õ¾ÓéDCCrrràp855Ç7cFžªîînÔÖÖ"##YYY¦õ­¶¶)))ÈÉÉ1d§¦¦¹¹¹HII‰øØhllDSSbnhË£ªªJGÄì/[¶Ìtû@***¾+Sþ®ï+­­­@V¯^mj߇,X°À°RUU•1PXX(±8´FÂ5!!„b#„b#„b£ ¡ØRpS[ éB{[:\ntû¶„D$§ŒÂ7MÜÔnjƒ›Úýéöœ—ßÿúg’™l^£'äHÊhnjsS[?üȽè8û.~2û§8tºMõ˜KM °ØFÐYD7Ûe¼íŸáöï/Ä‘–ÎÐÑ@·›#[¸üuñ=š„[rØíø¼ñÑ»ïã³/¿BKG7F§OD§y*Šm˜àóþkŸÑ|ü‚?~VÛžý6ÿnÎtxóŸÎn^Œ! o©|Ý—àöi;vüÌ'ñ·•×é^ ÎÏÍÁêßüEUhðô†¿óbPlC|z‘ƒ­·O yܳÁÇïîã áýkÁ`I?­_íæÅ`{´´´,okkƒˆ¨Ö«±lç{8÷ËUغ븺ûNs‰£'aùº§±yý½Ñq -Úíî\¼HóZ0ñ{?ìÕï1šÏ.]ºp»ÝºÏ="¯×kŠÍ¶¶6Sû¦FgggLŽÙ¸ÝÔž3gNà™ÄëEkk+222 )»:ÑÚâ„Ëã,6ŒHNAªcl–pªï¿÷!|=œv]¦g¥>4 þŽ;æ\¶ë…ób ÚÚ;ÐåØìIHNq öØGÈÌÌ4õ«t+++‘ššjxÿüùóHKKƒÝnøØhhhÀ×_ÍMíá„×õ•X-–€›ãý_ãg>)ŸÝÔµá@îÿù#1¹©M¸©=Œ×‚ë7†\ 9z-8?7'äÚïí·?§ã™ žüâO±é¡¹H¶ tu¢#«6—âä@V’-¤--I×7ŸÒéL Ó»™}žÙþ¼ðo|øáÇ8uöÄž‚«¯Š[gýÉV‹¹49¼õZ Íö›f͉i߯]Ÿ¹²ŠM­Ù´¬ýþ鸩^[åÖùwÅ”oBõ9mÒ´˜\³Åm6r¨c 8áŸÇÏ|ÿýçÍû€Z¼€¤17 óâ¿bÂ/Zû|y"aꟘ/6%ÉòЦµ l¶ßšõcM{€‹>ŸgÐ}¢§Ï±(6®Ùâˆd›ý7ÜÙxð©çðÛÂ¥"ÝUWWG;Ghð:!õ»ozu8†ÿTMMMhllÔÝg&Hˆ!Z.œ2”d)--ÅÅ‹!>þ|伿v'Üô#lÛ¶ 0uêT¬]»6jç\[[‹·ÞzKŸ§Ï½h…adü„‘f]©®Î$%_Ÿƒzב"ûÜî³ C"ùà5û|Iâ$õovú|ÓCs%Ùf:Otd˪ͥÒÑ-1—ò·>3õ?ÌÃÈÞxœÑÙlî}æšb#\³B±B(6B(6BÅFÅFÅF¡Ø¡Ø!!!!„b#„b#„Pl„Pl„Pl„ŠŠB±B±B±B(6B(6B†=ü›…ÿ•3!„b#„b#„Pl„Pl„Pl„ŠŠB±B±B±B¢#6‹%ð—«ë¥³((&OìvslšqfœŸY>Š•vâXõË =ˆ\P¼ô’º³>ŒK?0Œ4…²2å½¼ðzcg@‰pp“Ýÿ¼ç~X½íŒ E8nwxþ72nÕÚŽ¸Øî¹G);ztàñgÎ(u×^Y±ùûðøãÆr°óÓkûÀ‘Ñ£•Ÿo¾Y¤©Éœ(¢ýÞ½}Ëëë•ò±c_§Pm¿ùfßò'ÔëŽïb(š›•c'OVoûõ×ùßȸUk;âb7N)³Ù”—Õª¼z‡]v{dÅ–‘¡|&PØaTláÚ¶Ù”÷ûïWîüf…ìýëÛÛû–ww÷„sF¯S¸mëé×áÃÊŒ8a‚HBBßð,)I½íæfcþ72nÕÚ†)ÙH»]Y¤kI«kÉ…“Mò÷ÁãQ~7cìüôÚî½Íqß}ÑÍFšuÂ雞ºÝ»¥Kƒ·©å…ã³ÇmT²‘©©Êû¹sÁ–õ‘M«Ž£¼76ÆŽíuë”÷¥K;?õ ש?›6)m®[?¸\ÊïqÛ¡üu˜ÚøÅÏ>kNˆä%<ýk¶'žˆÜš-ÛkÖô„N¯¾ªÏסü 7ç:…sýôÔÙíÊïýüƒõgŒõúßìq•5›?[g±ˆ<ö˜’ñq»E:;•Eñ¶m"3gjïôUW)u;vhÏöôήY£d =ó³‘zmû|"«Võ¤½_yE»¯CùAï€ç:EZl'*¿‰\¸ d.÷í¹â sÄÌÿfÛ¨ˆMDäÅ•»‡Ö}²`~ôÑðöÙ¶l‰Ü>›Û>Ÿ’Âö—¿ð‚6_‡òC8^ïuŠ´ØŠŠ÷aÉsÄÊÿfŽÛ¨‰MDä“ODx@$+K$1QdäHecpÍšéÕ`v¾ýVI³OžÜfh=Áª*‘{ï?^ ÃÒÓ• ȃ‰Í¨mŸOäÁ{êž{.ô¹„òC¸^ÏuŠ´ØººD6nÉÌTÎ1;[ ÛmžØBù߬qkz6’ÏFB(6B(6B(6BÅFÅF¡Ø¡Ø&ð;µIÜ""8}ú4 ;;;æûË'H‰ÿƬԮòÓ&õIEND®B`‚nted-1.10.18/doc/docimages/slur2.png0000664001041000007640000001733011520267216014017 00000000000000‰PNG  IHDRë_ Q0¶sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ „¶&tEXtCommentCreated with GIMPW3IDATxÚí]yXSWÚÿ!Â*²(‹DÅq¯U«ÖÏm´V:£µ´Õ:c§UkýÆ~uúM«uZk­¸´´ßL§j[kkkµ:îˆ"KÊf ;aKB¶óý¹Ù’°ÞßóÜçÉrï{Î=÷þÎ9ï{Þ÷=V„4hô{XÓM@ƒMV4hÐd¥AcèA7 ½ Fƒ¼¼<…B…BãÎ;4YiÐè+C(ê3;; …¢Ý¹eee1bMV4,‰šš=Bê©Tj°ŒóçÏcÍš54YiÐ0d2D"D"ø|>„B!JKKM–- éi0 ÆB­V#77—šÂfeeÏ磠 Z­Ödù®®®àñx‡T*ÅñãDZlÙ2š¬4ht±XŒ¬¬,Š˜"‘J¥ÒdÙöööàp81#""___êœC‡áøñãptt¤ÉJƒTWWƒÏçëS$¡®®ÎdÙ ÁÁÁàñxàñxàp8ˆˆˆ@PPlllÌRš¬4ššš(}2++‹2öH$³È÷÷÷Gxx8.]º„¨¨($$$€ÃáÀÎήGò õø¥ÉJcÀB¥RáÁƒzÖW@€ÂÂB³è•îîîàr¹àr¹àñxÔg6› pqqA`` Æo°ÌÒÒÒvõåóù4Yi B ‹õ^p¡Pˆœœ³è•”^Ù–˜ÞÞÞ=–YWW×®¾555ô4˜Æà@UUµÒÖÛÐÐ`½ÒÍÍ زe ¦L™.—‹   X[÷ÌóV«Õ"==½1‹‹‹ÍÞ6Vtˆ¾@cc£Þ:¥îE¯¨¨0‹ü€€jÚÊår‡ƒ½{÷bûöí‹Å5j”Áò4 ôêûã?‚sQˆÏçƒÇãÑ#+¾Ó+srr¨uJÁ§°°Ð,/¹‡‡µ¢›Â†‡‡ÃÙÙ¹Ç2KJJÚÕW$A.—›\_;;;p8jÚÍãñžžŽ;vÐÓ`½§Wêyödee!''*•Ê,e >‹-Bxx8õ¢{yyõX^mmm»ú ÔÖÖš\WR‰®¾ÁÁÁ`0ôi'‹i•†eP^^®gÑäóù‰Dhll4Y¶­­-BBBÀår©= ‘‘‘X¾|9¸'KZ-ˆÖ gØh z¬' .Ã…÷j1ÇÅnÈ“R©TB$µ å2Ôìß¼¼¼Àãñ€ÄÄDlܸ~ø!† f’ öíÛ‡ÜÜ\‹‡žq8øùù Úw ïȪU ~ÇMê«÷ô7túC¸C`ô:4j´ 9¶î ムCJ¯ÔyÊ´%f^^ÔjµÉòõÖýt¡\€¢¢"$&&ÂÏÏÏ`¢vz¶sçΞ¿  ‚‚‚ðàÁLœ8o½õ–ÙCÏh²vgTzð?¸Uß p¾)þ?¦ 0n ¾œ¹Ï]*üû[`’Uñ¤§ŒL&3‹^Éápô >:½²§è­Ð³¶õåp8P(pqqAtt4–/_>dgW}FÖìO~¥>¿úó-D}ŒÉ[ÇÉ*¯þ ÀGƒ¢±¯\¹‚“'Oš%ƒR¬­…BÊÊJ|ýõ×”^ù¤§Œ1(//Çwß}×'¡gOÂË14YMÀùóüâðQ¬¾Ë˜ó€ M³dÐ4vjj*z|½···Þ ®›Æ:88 ..gΜÁÊ•+ –×QèYzz:¥gšür1P«Õˆ‹‹CTT”YBÏh²öNVµ8EOùäoí·°j5(ÙØ žkèZ#›ÍîpäqwwïqÙ–=Ó¹¶­ïnjÇ#!!¡Çë¬4ú˜¬DS‡¬¦–EøÃKÛëPJi>õÙÞmñ iì'½]tOzöøûû÷¸ŒŽBÏ„B!ÊËËÍr…žuäÉÓvÍ•Æ%«ZQD}dµ·è•œ* >û-üý ilOOOÀ¦M›°aÆ#0 Å“¡gIIIhhh€³³³Y\‡ †I“&é…r™zFc@ެ]O½¾ýgëȺx gÐ5ú¤I“f°^iÉÐ3GGGŒ;–r¤÷òòB\\vìØ·ß~›fÈP'«•u«Nª&£Íl©±ä_ØSTß2mtŒÂÎ`—!ó0z;ôŒÇã!00PoºZTTD³‚&k+l˜­F#!`è^¢ÄÖyoRÿýÓ!Ø BµG¡PàöíÛ}zFc`ÁèLÉÉɘ6mõ=::ºGß»w0.*šY›Ê çQÃã—Ž±‘°·z‰D‚äädLš4ÉäÅý'qçÎH$,Y²Ä´M&Ù3gÀãñ ö_î iiiÈÏÏÇ’%KL²r«T*œ:u £GFTT”a[«DuE¤õPª líìáâá…j‰ .„ƒƒC×5ã§Æ@Vx†OÅLŽw7º¯ ••5hR4V 88±áéî£wö¦SDÉ…7:\Þœ/µ¸CÂÕ¿Æ’ _éý38wƒ_ý• G5»lÚ)Â0Ïà˜."Tò\bmee³Š×ä-D©%½†^ÓYÕò,^¦Ÿ%ëÝÒ³¥$WX´liöa,:\øú´B6ÈBÏ„cî¯;´Þ@eÞÝ®õB èšæB¯‘õ‹•óp¯¡5¥ÿâƒ8¾• /´hÙ7þ¸ͤ "ÃFm†˜ÙGè7~…ºÃƳix凉p°iO&;ëß?†ük‡1ÊμÙu:yÛC§÷›ÅÀd®–´ ¯ýÚzÅtŒÄŽ¿ Â{RPÃ? `®ÅÊ_x· Í)ìm\ørrrè7¾ #„q±Ý^gŒ‚ÝÈõUj³ŽwÏcÛÇb$%¥  ´ÄÖþcx˜>% .9zô(1zôh@~~>âãã±aÆÞ!+QK±fé~½ßâ¾9…{š}žð%d•Ç Ð~½µÍ&i×P£Òvz­1ó]¤ò$w&ÛO/òïÕvhKÎC‡õî4Xth.Ô´öx®ao qqKع̂¯ ´ªüT-§ßXZ×씨pú4¿c²ZÀ¡¯ T*;ÝâÒ¢dÕª«ñüöd½ßvþòn›B­ñ¼gËt仼º^iŒ†’)544”:hµÿëšòÊ´g2uuuTÂt­V‹ÚÚÚvÉÞMž_¼x±s]õÚšZ{J×±¯‚#¾‹‹m¶gñðqJpuÍbLv´°…«ÇŒãbò”XŒp4÷L=D÷è~LEFF@(š½œ²²2¨Õj“åVT´XæóòòL–URÒ25½zõj§[qœÛ¾Úp[Në¶yÖØîÆ·çÓЬÕ_$e óÆ3Ͻˆõ«fáÁõ+xÐHZ__¤¤$°ÙlŒ1§NÂ… ¨ÿ—.]JݳEÉúŸƒézß'̰×;Ÿhšp³²¥÷¨ËMÁíÜ6'ÿz‡öÚatädÌ™5Îrn®É‡¨X…ñãÂ,þ`òóó)²š#³½%Ȫ³>CV¢UàÑC1*ªj¡P0íáå GV;;»®“áÓ{†gÎ5mv—uñ4þ:ÅÅ¥6Êk&œÝ<1Òw8l­4¸~éb¿!©T*…P(‹ÅBdd$š››ÑÜÜŒ9sô£y[ïÙRNŠÚÿèçÆù½ÿëóϧ Z|æ=•üZXoöEfµ<ŸLua++[Ú)¢NÝ9 ¸øqºtŠèÏ–Â;wH\\yýõ×Iee¥Q×ZÌ,¹ú¡Þ÷þ¹±Õ PöbxKpÿ cÂpÿX7T¢¬Fß±I’Œe3p¹è¦˜qûÇÞ>lF¡î¢R¤%¢.eètÍMu«kÞ¾Ø?uMƒl7Z-NŸ>½{÷ÂËË |ðA·áp½j`zp¸uNËtšˆ& §¾ÿuVîËT°²²Âäåë1Ù¹…€«.¦CR݈ªüT|ô—Űi³ªlHÇÒ§vš­~}|>BÝ¡¯zUUUسgÆŒƒcÇŽáÀøþûï{DT³è¬!õ~«uwtÜÇT¯Ø$9Œ}9µ°²²Á¶ìZ>ÇÆÄ-~%RΕr{P46r sÆÅcÜ‹_Rr*Ówc{æìçnRÝú:ø¼ßôø8 øuŸTÝ[‡±ê«­F£¾q@°$îÞ½‹„„œ8qK–,ÁéÓ§Áá˜!Y½¥tÖ—F £Îù¤¸úýþWS ¸ô;ê·»[#â=ùÇvr>™î­WžÏ´ã¦jªäí˜ádÛ•Ò!ëÈß® €üåoïwz­½•Á™Ÿýê> hhh _|ñ™8q"a2™ä¥—^"999f-Ãbd}ÕÛ‘ ;?¢jcH~1” +¨£~{”´ ž+ÛÉ©/JÐ+éiÒ gì_H—9d£nš]$s 0ì9Z@… ÀÍ›7I||!õõõ-×dõóÏ?ïxA܇ä*™HïœòÇêË{a’SKFt­ZþxÝ­÷&`ößw; ;âŸnt°:!Íøúm÷âN\ý÷W¸jà}˜A‹ž|ùòåï_C4M(ȹ¢Ò È”Z°]0jôXäååA©Tvy7ö¿m”Bg²˜ËÞÀɿ¹[ÙP>é€`ïßÍ[‚•ÏDáÜ¿¾4ú½B¡@FFRRR ­V‹1cÆàå—_FTT¬­­qüøq‹ÖÁb&¯Ya@’*™ -뱡ÀmüX}S€$A-&ý®eÇsk†+‚X (Ôà5¶#«Ãptn'VÖpëAV‰Ü_öáÁ¨•x?l`ntE4 ¸~úœ½tµJM»ÿYΞ Ý\<[jpyá«^éô?+',üã똷¢¹¹Q%m±±ƒûp_Œ ös$$W«ÕÈÊÊBJJ 233¡R©`gg‡iÓ¦aÆŒðõõíå—ÀBÓ`­ZJ‡µ0þœV¡÷ß¡ù#‰/Qï·=A. úý•öÓÇ­Ó.'¿­FOjE‡ˆ;–äËÕ2S„¡z¦•MçSWZ×4 †\¾|™ÄÇÇWWWªM8IHH uuu}V7‹¦u¹ûN4@\Ã6“¶Z¦º¹˜¬}±C]ÖyäövržqkÕ³&},0ž$¼Óy Õ;ÚÞGhh(™ðÔá~GVcôÌÇ)µh]³HMM%o¾ù&ñõmm#{{{G®\¹Ò/êhQ²ª›KH´“ KÜÓïésõ¾ç›A¦·žõXš÷ª,ÂoTšïæÀÈú弑/“tç6©Q–“÷^šKl¬Û]Ëd‘õï#2ÍÐ §Z­&×®]#›7o&£GÖk‹É“'“#GŽ˜œ;ªß˜º‚ Ó?Ÿü üæîÁ©M“±…‚^×¢,Ó÷âpŸà4J ~«U`‘ ÍøûòV·Å‰ÿ}¼ac/˜ŽZk#eT±î½nŒFƒÏÁ455áüùóøùçŸqæÌTW·¦¾5jÖ¬Yƒ^x!!ý4ÞÕ’#«?¬÷¸ç·" ß<ØáÒKs]2%ó¹ÔrR“s‰¼2Û¿5+]ÌÒ¨1¯"e‰‘Õ‡ƒ¿úÚ Y´ži:JKKÉ‘#GÈ‚ ‹¥¯N8::’¸¸8rá¢Ñôÿ)Eï¤"ÕÈÈž¸ñÔ5ÞÑdÇH™žÁGC¼™6-:.o<±{¼W«•• ™·ácR¥2OcÖïn§»êSuVC A.cV,“Ö3ŸÏ'ï¿ÿ>™4i±¶¶nGÐU«V‘“'O™L6 î«Wóß<ú™ÄnÕA™ndâÌydåªUdñ‚§‰ C¿a¹s_$§î• ˆ†4ÊáÀÆÁ¨‘šÖ3»†D"!ß|ó Y»v­žm6£¨m “3ò¿òÊ+Æjs¨‘¡ðaÊ*ªP×йB ÍÁØQÏ®Âç£Ý?{ ×J st°az㥵‹Œk5e#$’ ÔË€µ-Ùnðörï…¼úçúgYYJJJPRRBm‰¡@`k ÁÏÏ cÀß·Ñd•J¥HMMEqq1*++ ÞÎÀ‹ªäXÕfy¦©ô<õÙ-Ú~:ýb±|>|>™™™ÈÌÌD~~~—#¦­­-ÂÃÃ1aÂÄÄÄ &&\.פÐi²Z#f~+êXŸyb]òá±Ö<³A±ôÓée”——#;;999ÈÊÊ‚@ @ff&¤Ò®ƒÖmmmЍ¨(jÔŒŒŒ‹Å¢u é¬M’/àèÓÞˉåö4j+/èmó¸ÞÇ G$°²¶¿¡\ý„Ì ­V‹‡R¤ÌÉÉH$Bvv6jkk»¼ÖÚÚàr¹ÇCxxËÕæ1ëëëQUUÕN·uvvÒÏÎâlæý2¶†mÃ?rZ_ßÈ…8øÃ1=¢ÖfïÅI‹»^ЊÑD5EEE(((@^^uäçç#//ry×Ûkº¹¹!$$¡¡¡ Ñ;zc´ìnSaš¬Ä;g?Å‘µ¨Wkáùgÿf¦ní%å·±jÖ;;çXœý¿¥¯%ëë'Fxx Ôj5$ ŠŠŠP\\Œ’’Sd,,,ìÐO{{{" €:©ßÜÝÝû¼9»ÚT˜&«áø¤~“‰ˆÕ{Q•ñ¦s?ƒ‹8b#Çb˜¶I箢R¥µ­>M>ƒû8ª= $&Gäçññ@Fƒ¶NêOR,C"‘thÜa±Xðôôǃ··7|||àãパ#GbĈ9r$|||úiôS²À˜ç>Bîˆ0<ÿâ›H.l€Tœ…sâ,ê;W.öþt¯ò°¸-9ÛŒ„TVV¢²²UUU(++Óû.‘H¨ß V«áìì WWW°ÙlêˆŽŽÆSO=6› wwwxzzÂÃÃLJ§§ç r½“Éd”-“Éààà@“µ7 󛤼ÕHúé~¹„EU`8Ç„ió±vÝïáko3hV*—C*“¡.3ÕÕÕ°³³‹Å‚££#‚ƒƒ1nÜ80™L899Á`€ÍfÓž:º÷ÄÏû÷ïǹsç¨ß6mÚ4äÛ¥_EÝ h:ÈdÀºu-ß¿ú ppèÑ4˜>Yùpìß´ @4è‘•¡ZI¢Aƒ&+ 4h²Ò A“• 4YiРA“•¡€ÿ¾êHÝQº5[IEND®B`‚nted-1.10.18/doc/docimages/dscale.png0000664001041000007640000000343611520267216014205 00000000000000‰PNG  IHDR<Ôù sRGB®Îé pHYsˆˆÈ¥†tIMEØ&7†ÎE°IDATxÚí¿Nó<ÆÄÀÀ*ªÄ€½®,Œ ‰ÊÈÂM ÄÜÞR{ t­ÄÂÒ©R%CÛX˜ú þ^ËØNð¿†4yž ªÄIìszŽ>qƒù|N òªtÁ¯ ~Að+ÅqÇ1:‚¼ùUÇBßAP’}ØétøHAâ•þÙeƒˆuüê‡?ðÿFQdçð+~¥ö«ù|Þn·BVp'~•èWlZe² âi<|| læW„¦RòC»©´ìº¾¾~||D?˜ùsž(Š\.FÛ©‡ ¯UýC•NÕét4 1 B¼Òõ+œO:†>HS脜ƫ¤He”CòíÀ©2ÓÃÃ:!×ñÊQív[ÆTHý_ÇÔl6»ÝnÊqÝn·V«mmmуÁt:%„ðêœ> !'''³ÙL§òèë닲¾¾îØN¯×«×ë:GN&“×××J¥R©TL¯2www777Ë9XŠ®›ë)Š¢(ŠØ¿¬EÍÓi¼’ÛáÛ§@TF£Ñh¸·spp yd«Õ"„´Z-»»½¿¿/í`É]g“2²çB2è¼KFTnA£ õ~éÉh¾$”ÃÛ5e*·à_jÔVô º0Æœëìì ÅË(jÞAÐ÷ ³ˆWD*Ô Vò-Ò©”àN, ൮Ñh„b¹å’LQktYeµäìÖOq…|£ôëC åÄ©¼dOºœ}6›õû}úw†2(O9‘Òï÷ÎÎH=S†ajÒöÙl6Nõ×Ôd2ÙÞÞvl¤×ë9BçápH9>>v¿MÎþòòòüü|xx¸¿¿oq·ËÙ™9YU’åëÛ¹¢ëôA9vLE$ÎÎ.ú·gg¡9âäÐëwH:Úv‡ÎàìšRÎGO7mDî:­ùOý£jÍ:© ‹×BâK§p(æ('iPdÇšöp{{›4mY,”÷Šqq-VÍdQÖ¤D‘l‹(Y çEIã®ï———)Vº(¿’W«ì^v/`W:{€ËË ‚ °ÀW)vhdlõz¯WÒ5S­ê[3›ØXXð¯7ú+gGD*|G qôQóh4Jú7º½½½»»;¿¶¢ù}Àî•zˆG+§_WvçòëËx÷¤S#}Óx²¯ÌÈ‹Ò8;ûD(Z§¬Ü‘qSP.£v%Ù´¦ü¦êv»§§§Ž”„³óhûûû»Z­ê?²¼Ê¤ßÿ½^oggg<+¼ÎžúóóÓ±Ÿ 8; øªs9bØan¹©”vøÈnúÁÙ=rve¢eôÈ) HÆýÜjµÜûÙ ž].®UîH玄ð×™"r¼\åoÊ v³Ùto¼0‹%¿ø3h¾+e+·p-„øo}ø.i ¯®®\Z¦‘ª0e¶/'}x:5ˆ¤©Y'•´#dy‰'^в ‚éñÀ©x{4¬ê<|Ê Wív›•Aèïyf—!°À”Æ„z eQv6»Xt~±ÇkE߯xÀoÖißy'ÔÁ£ì„ !$ÉEÙµZÍãU”c„]ëd%rvJB)ô¤˜[ í<’¦XpÓíbÃ}豪ýo9»@®×ÖÖôùïBↈ®yX£m’§õŒ¬9;ýâÁ¨À@ÉO2NLÀ•…íÞ·š!ÄÙ•I‘>ÿ]PQvÖ3²æìt¨ø™•iüíï‰P§*Fú‘D®ŸžžqÒ³<ίøR@:‰JJâ1Š.ó¢$¯¸¹¹qaØ5§~%üx\Ê8ÑcJëWy(Êæ£·¯¢lÈZ¿pöù|Nm…½$ÂÃëe~­P.ÊöÒ¬iš®B¯˜k‘äÝ]èÜ ´¤5iíõííMßÒƒ´Œ2Ø7F.?' ®.Ï@üs…aÈ–tä¥(›x"×¸Z­V«ÕE_«œýG×Ùn¶àRo«­Œ eçGïïï™]‹‹³Ë]·jêšÖÕ¹‹Ô Û~I§šÈß|uÝJ9;ÂKé“òm´"eCöÒÏ””küK𦄻L¿3´¤yà‚”– K–…©O©N0¥pXx…Œ9»`²9.) VÞ¶ük ´¿²ûÖ_–ìW¨N€Se©F£áÞÈùùyK–T,e²!T ‹•A`ù‚ŒýŠüƒÑrŽÄöIGBq¨|E¿3AN~ÅdX½6`X¥ ûk_¥Uôµj«¯¶¶¯ u+ŠûÃ¥…ªP}*Š€²o1–mÞÑ"!$q¾ßïþr3÷Þ3÷ÎÌwgÎ93ç2„ “€C‹€‚‚Œ‚‚Œ‚‚‚Œ‚‚Œ‚‚Œ‚‚‚Œ‚â‰#˜Bz›>Z‡2h-PtZ0áh§Dcì¨×qín pÖ*œØ÷O¸óh‡JA Ö.ÔäB€ï\äÉ”:éNßÀÍä]èfÉÐZ¡ 3DU…Ù½Ü[TÛìqÿEG!úv­•Ç•••HII L Ä&Ú: Âå¿i@nWðTÈÔš[`8Vˆ+—`J7>­3Amm-ÒÓÓ‘’’‚´´4ˆD"ˆD"fÌ˜ØØXZPM0¢®Ç$Kå·Ë‘x<]óEŸÀy¸«T–'!5êZ3 …™™™,D"RSS‘““µZýÐëÜÜÜPTTD °£ &þký6lœ§âf~,û,îܹWWWZ M°Cõ€°-ë›x·†«5|ðzÐZiAOÊÈÈ@ZZK¦´´4äääÀ#}'''–@B¡Ý·³³£…oÎ#ª*üU§|;Û«Éq¹ô&»oí8ƒêI„ ''‡ÒÝÿÍÈÈ€B¡h·|>Ÿ¡PˆÀÀ@2¹¸¸PF<ŽSÊîh‡VMŽÏd÷{ŒŸ÷DU@ii)K ‘H„””¤§§£¦¦¦Ý²¹\.úõ뇀€¢²²QQQ8}ú4FŒA[§éÁÔÚÆB<8WãÐÎ,vú*³.°ÄD`Ù²–Ï V¯ÖM«®®Fzz:kµ»O¦ŠŠŠvßÃ0ðòòB@@€ŽžäëëË" &&F3 çÐ)iŠ` £­dφª+ùŸæTx¶°¾_W³.°ª*àêU wo [7Ýc*pýº}úd &F¤C¦ÜÜ\£äïìì ¡Pˆ€€vxçïï.]ºÐÖü¤Ì¢‘á¢X2÷F”øpÂR¨ï)辋¿…õcòrݰˆˆŽ9‚ÔÔT¤¦¦"%E û÷+°ûäwéÒ~~~¸ví„B!"##! áììL[íc„VÍ—/_ÆäÉ“!“É —ËdPFW¯^ a{°ÚÒ,dTßëå,áŽyOö­ª CvöVôîýwtëv "‘ íÞñù|X[[³ŸÏ‡••àúõë°··GïÞ½Û}ïb±999ðññ­­m»åݼyr¹B¡°S“D,ƒÃáÀÁÁÁý¨$$${ªÑãô‡¢—CŒ:!„ò+ÿ"Ö +wК?ˆ)!Ɉ#Û¾‰i·œcljŽÖü Õ)Ÿ‡m Ãooo2cÆ ²fͲoß>"‰ˆ\.o1?{{{a”2ˆŽŽ&HBB‚Qä………‘^½z‘ÎŽˆˆ²xñbƒ®}d~° ç$2ËUð¬MĨ‘+P¯ÒtžÖNãqbݓ孒ecêpüQ¥ÆÒ·æ¹G«j’fmí‚aô~¤ÀÀ@ôïßß(½ÕÁšE˜½†`YÕ…Ø>b:Òj5þ†ÃÅçñ1èÎ5òµó…±H”4€aŒŸ‡‹‹ ²²²°iÓ&xyùcúô@¼òŠvì ‹âìwW­s‡"=W;näÇñxw€£ÉòÍ9ô&–Í»7VMî¾}@J PR² 3 ……oãömÚ (:ˆ`®#‹ÅH¿¨ç6êcü÷cÓ9<$‰˜¸8Ý$²ãâ4 Y IES<2£x—~º~k§1øíÄZ˜.B€ ŸŒ›ç0ªÔñã±X»…‡¿ ;;/´M›hÃzTø|V ¢.–™íý=’¬¶à(&-¹¬eµ¥v^:Œ§¬M—ýõ¯¦ã€÷—¸5 ŸQ.— tmä çñjÁ04ŠG‡©S xl(úeÞÀTÁãO°ÛmT4Tò"¼1|.n×kƒÜŒü(Ã8•¸}»Ò$UWrc?.ÆÁK¡Mî÷¶‘¥šš¨Õj£Ë½µZšš£È¿¿|¥¨¨È(òd2”J¥Éž]Æü›gMÅóÆ#ö÷=èkmaôñweìÿnýßÇwÓ=V£áneµ²Š ‚Cñd û‡Í+4SÕµáý-iì±¢ Ÿcnt&Ìój³Üô`ƒH×ÝÓï埱{oçÓÁÔŠ Ìýè´õqkuüÌë®1tÌ®6éƒI "YÌÇLJݨÖ1p;J·áq9ÜÀ¶^Aÿq‡¥Ã8,ïÕ¶UÙe—¢0øõh4®MœÙ9×lž»Í:X||üC[ÃÎ’€nþKà“ó'âÙ4œzØR\xe†:jpÑÕÉ}|ý1dØP¸ÙK- Á¶m!=G[PRR¥Ri4yB©T¢¤¤Ä(òE"àÊ•+Édíש$Èd2=ïm"¾\’…/¾?r™¢ÍÃa¿NáèÙ˜ä!ÀŸÏLǹ6>ãÕ»P£ÒÀÝsÚd%œG–ë ¤¤R©Ô :0*ÁNo¿¡óÿéV:çU-.–ת²’q¹q);„o¢¬Ð'h(Æ~vFž¤Ø ¾…´¼ô3ªÜlj`ééé,ÁJJJÚ W×!?7ew!Sð¬máâîÕF‚èÒ¯½íÒâ2(+8:wŸSíj0zÚmÄÇç·íúMÈ>Åøý–v4äéxññF¯c+++ÃêÀXŽf™ø¤ÎyŽÂ :Ç«²âȯ.z­þ¸…‘c9ÕFs*ë³H˜ƒa.u4·ÁѬj("_­˜G\ø–ÍÖßÞ™¸zôl×=ž›K.ó ¾^¥¨$‹:„cé@ª•j³ZÑl4¬èü—:ÿ_ýi‘Ö‚Txƒgã\®nLtï>ðp¶ojq*NÄìÀ‘øCÒ`”{»¿àPQeHOÔäŸÆØ¾ýðΦ½(}àc‰÷!«*CyYûâÜ\¿nD°ì†m‰‰˜ân K~oH”êæ:œ ë¶jÔËȪW€a8}î- µÓt™q<ù¥TÝIÁ׫ž¯QÀ¹ôfY×îû2Õ‚ËÎ ¹ôOŒÎÀùüÖ£Jn¸±JY'‡"16¼Þ¯}†¼~ þL†NYù µk×bòäɘ?>†n”0ãœ`ÉYÚ‚î;ÿKvWMá¿°=[†±Àêƒiøãà7ø›—&Öùµ¸B€]O!þ¶ñ܈Yª#³üÚF¬¾ax`NS.¸4g¨de¸·[#7à“OþÍ_ÿç®ê?{æ§Ù³ñg•~£®Á÷™{ø]Xº/Ãø®Víz^qÁ-ü•g‡} ߉Ÿ!lù!ã§Nb÷¯_¿ŽüüüGWÆÒÁ^u°ç|U eÓÓw %HïY¿°i® $ˆsȾ&rvMè©“Ÿ[˜¡‘ ”dÕ îäÃߊž˜É¾­éLξÃ[ÕÁT Å„ÏaôÒ•)»oülïõ²##¿7üziî 25Ƚ +W2ÌÏ /ïNeÏ{óÍ7Ùs<<<ˆB¡xü¢JÝ&jÉ÷ÄâÚèIå 倗7O`Óܧõ¾H47À :r^ÜóÞt[Àþ¯¼¶@Û'ïšjÁ¥9ëLÓ‡…·8¬+ËHhUŽZU=GP.CÞÇáW ÞÉÄ'°¥ WçïQY—ŽqA³p¹‘žN”µ(%žðsT¢È”••aáÂ…°´|d‘2Œ7Qh£ù‘•ÃX0ÊZ‚üJ#Òuñžàdâ(’«Ñƒ§©Ú¸ÎNj΋]¦YC&¯MA‰B ×6L{©-8ˆ ëĸXôÒ¥3é;¬k±AX÷CÔ¨X~¾°ÅóÜBâÒ¹Hð ô¦¤oùNÂH ´åtýïïÌfÉűàí/~Àš%³áÌoºàR à½÷Þëºi3ÁvíÚÕlzA+à ¬éœS,Ðã³mßbP.ëWa„¨°tË6Lêª;ñÓÙ•”ii~·kœõ$Q7`ÏÚ•y}=Îþ´gõ¼C‘ ¹\Þn¹j…Ùe ¿¸ur5ø¶öèéÝr¹ÙÙÙ-ÊOܺºMä:zô(ëkÖs–ašü{œº”ÅsF-ùŽ0s&…àô» }Zl‰Jƒ÷ÃËmóÞ[Úžtø[𳽋؟v›„$ÙÙÙ°¶¶6è^Öƒ¹Žé$”@^'‚LMÀ¿gt yØ{ÒîbÐM\uÆÒÞV¸%S"=§¦ Áø®| E³Ïpøp²Ô¿÷ºy$ ·¼#°á)ûÇ¢÷!Ê*\8r'Î_Eµ¢©•“áX NEZ¸¾û2$ú4¬Gß¾-Œ±°ÃÔË01¼YÙ¹¨Ô‚XXÁѹúöõ€Ó¾Iu¥Ç‘©°Çæ>†}Ø9²êµ.‘îf\ÁF2r¨•â/àäÿ•ëÛ6±'qîÖI‹òÖ(£žSÿÛDVü4/6¿.îËôV(+S¿&]º†‘\™ò±XÑ,½sŠŒîiÛª!ïôPŠº›„aô3J¸ yŸ4¨I‡#÷à?ɪ&.@UO,=sDj…Ù†Î6š™ž±°Çžå€Ÿ_úß¹o¹ˆ©ÝIÀ!C4~2ñµãMdíNÒ†áò}ûUýÇåт˶øšÄi­êL­Á-t!’.®3žÏ}ˆ>ÝçáNÖìß?#“;F!ʆlË#Hø7×uß´5Y:ÿo¥1­ruÞªÒül^n7ò?©¼Ýo sìÁþ=ÖCoS¸¥•gË/ty1Y÷Ú8iÜßxv^dцhR«2ƒ®ËˆHß>QÛN,d[RiçÿøƒÏG/CÏñ_àÐÒÁXípçjÂX úêœëò € P)*[Y笢ÀákÙsž^g°•Éè•ÿ=¤gu*À©:Ö0_^‚·Ïê}~ТÕ-¿Ð¹®ød÷|¸9¿'$ãvQ%מO`ø°˜ù'¡ AÿÅqØx¶?VΆZU‹wÃüðÚ˜9s&&lôÉâfуÝÇÁ·ï}²‡C¦¯ø†”É›Æù‘K“Y™³.Iæy²d‚7›æ¼Ðh7ÛÕƒ5²b!|KÍw‹ØJ½É0»¶õ`£Þd–P7=k糎u†Ã'Ç„“Íûș3 ÁÔª:²qÞö·ò÷mII}cペxÞ+ÿì솱 ã}Ù,)Û‚êüÄÇǧÙ-dôVý„Ü9EHOÛf‰Õx+³à·ùþ¶Œvo•\n¡ ›l(š›}"!™73H‰TaùfG0öÚ?%O÷ÒZÉ,xŽdðèIdÞ‹/’ðéÙòÝßüǽL~½RlµVLˆ½U«ä"Qiâ·¶­Q¸9E_­FæîÅx{¿&Þ÷1Gð½x F)ÆèÉsÁÑsYCÅû?àúDÚ)ÚN0SâÖ¾Qè;ï7À¬+¥8âl¥RŸ |5ÀÖ0ä}àâ&CCúQtrthà8{?í¢Ì¢?ÊͧT¬ûz8oº¸IÉEaž³rb÷+“*Í«dN_^X4Ã;/`C4°°² ­ˆâ¡0ÉÂqê lÜQžÎ}á•e+0ª™‰\[­>WQe^%ÃuvŸ6ç É@Q%Àµž † 8´Û¢è¬¶0=½æãn£à#ÜîØz9 Öý&•²þ&¸6š¹‚ÎÁ±(½:ƒÖ"¶„ë>Õ!¨åX9áu<¸CQsÝïèDkƒ‚¬5H³š÷ÕWm¾®ì¤–`Áô#Ç”`­ÂeÌÃóIX8˜÷K »ïÖÖ%XkèûÚ‚fÓùÝžEÄŽäÿü YöÍpxøà)Z”`­ÁÖã],õÖ]®ï8{“ƒß(·ªìØZ NzNý!æ²,…‚œ Ÿü6Ñݽ‹_÷ïÁ̾Z3½¬ò*"F¬ðlƒq4f.­ ŠN “M•JÛ³_ÿ†JÔ½OùB ¾‹ßNœEIƒK;l¹t ï ¢D J°6#çÌvÌ}m’ k›ãÙù"òà,דÖ%˜¡ ªjĈF\|²îT€kï‚°‰xõÐK`Ik€‚Œ‚‚Â0phPPP‚QPP‚QPPP‚QPP‚QPP‚QPPP‚QPP‚QPtBü î«¶† ´³IEND®B`‚nted-1.10.18/doc/docimages/toolbox1.png0000664001041000007640000004671111520267216014524 00000000000000‰PNG  IHDR–$ÍtÈ(sRGB®Îé pHYs&&¢ï%ütIMEÚ 5 ˜ãî(tEXtCommentCreated with GIMPW IDATxÚí½g˜Õ™6|Ÿêú(V®\‰)S¦p端tÏ}æÔ)•`µ67££­Mv\^~> KJàõù@z{qþÜ9´·¶&uœÖÃu{<¨®­…/3½==¨?~Á@Àô¹s °êjD#Ú»‘HÕµµÈÈÊÂùsçÐX_Ÿ~'*ŒF£`YáPn·[—ÛP —Û-£p˜ÑXfoŒ‚ãÇcÆ ‡ÃX¹r%¾õ­oaÇŽ²ã†ÁªU«ÐÙÙ‰uëÖÁφAqœûxÑGAQ†TV‚R*>ļü| ­ª!-çÏ'tœÞuŠKKÑÖÚ ‡Ó‰ŒÌL «®ÆÝ»MŸ»­¥™YY(,)AŰaèñû‘‘•…¿gN’=” †ƒAzzàñù áöx¡`.·ž•‰Œ&­±(¥¨ªªÂ¼yóðóŸÿwÞy'ººº0kÖ,Ι“´)S¦àÁÄĉ1oÞ<À®/¿LÉL—•‰AÀi^ÃU Šâ²2—•‰æÔìqz×i:{ ðed`Ôøñðú|ðef¢§»Ûô¹NBfv6ròò“—‡h4Šã‡«È…Œ »»»Áðz½¢Ëáv»ÑÛÓƒ^$k¾ò±!8räÖ¬Yƒ—_~+W®ÄÿøG|ðÁ˜={6®ºê*ÙñË—/G8ÆúõëùIh,)6aTõøýâçB¸=ñ3³Çé]'ÐÓʲèíé‰u”Ó Ê²¦ÏMYgOŸF刀¶æf.Òì«<Þ¸çÌš€›îŒ~gæ¼ E…”RÔÔÔ ¶¶Ë–-CKK n¿ývÜ}÷ݸôÒKñàƒЉRB~üã㦛n¤I“;·mKjÔ - ÂãõÂëó‰Ÿ S ¡`PüÌìqz×q{½`)…"éïÌžÛétŠi–eQP\Œæ¦&twuõMæÝDT˜™ ·×‹` á=˲ðww'{KJc>|ííí(//|ôÑGÈËËÃæÍ›QPPØ¿?z{{±sçNtó³Ýî”4ÖÙ† «©AiE…Øù……€Æ†ñX³Çé]§´¼.— Ù¹¹œëíEwggBç^S·ÇƒógÏ¢»« •#F jäHìùúkD#SfÅãõ—‘¡™¤”¢·§GTh™+½s»=Îò‚Ôë÷„Àëó! Âëó! !$‰ÊõúË2uÉ%— ±±ÑhUUUx饗0gÎ\{íµ1?¥©IŒ".\ضysJëlc#"Ñ(J+*—Ÿ€›={ú´Ìo2{œÞuÎÔ×#/?¯Ý]]8vèø½™s ßœ™¹N$*dY”{ü~øyMJYÞŒ Pl”eãÊ ùäý÷©t¦Ú¨¹²²ðå—_bÔ¨Qp88zô(víÚ…Ý»wãg?û™ D(3óÕÕÕ „ÀmO騚×ëÕ­@ðú|ÈÈÌ´f3(…ßï×ôÛ  "7/ϰºA šù\zn׫{ÞÞžžÄ¢ÂI“&aâĉ „àÅ_ÄÉ“'ñÐCáŽ;îÀ¬Y³TÇ/Z´HöÿÖmIJÀ_éééAŽF²"* è˜Q½ÏŽ q{¿{÷nlݺ×\s˜Y7š'Lô:ÿ,-]Q!k6*Lòܖ汤íÁÄ/ùK¬Zµ ?ûÙÏTBEQ×®nHî!%­±ÒxnjÆÇrÌáÙ-½Ícàc¥ÒB¡rrsÓvn$£l‘H W7Øm€h¬4Vš‰ 9ÁÒgíÖ‡>VºŠñÒxîx2#³Mžl?i»%ÝvIŠ»;ì–ŽvÁkÏž=(,)A$‘½·Û?F‹­¬”9š@’Lý©ãÇí^´[â‚%œ={ö`ÁâŶ0Ù-½¦°¹¹·Ýq*kj0rÔ(üç $©‘Ž÷½²­~õULœ<êªðÃ{ï•-Î0:×™3g0rÔ(¼óî»bÔr㊸ûž{ì'<ëî{îÃáÀ¾Ý»±eÓ&lݶ ¿úõ¯M¯lë?ýŸmތ۶aï¾}øå¯~eê\åååxäá‡ño÷݇SõõxìñÇqüøqüî7¿±Ÿð@¬–ÖV|ºa|àø|>áßッ¾öš©ïµÚÿ¾ÿ~ø|>âßッ¿ñ†és-[º7ßx#n¼é&üú·¿Å3O=w­ÝúÊÇ"=~?Î>`(PŠ‚ÒR 2@¬œÂëó¡££P]S#¦÷«kjÐÔÔdê{é¹Ü’ï…c+«ªLŸKhÿëž{ðø“Obùòå˜Ì¯ €Û·ÛOÚêFœ.òòóQPXb$XÁ@gNžÄ âbTTTÀÃ?4­*Åb~‰VCCª««¹÷õõ())1õ½V“ÛÐ žÃ̹¢Ñ(î¼ë.\{Í5XûÑGXóᇸäâ‹ÓçεÁâFY­­­8yä(€"¾ŠVS°PXZŠ¡••ˆD"ºe¯PXXˆ… âÿþ×áñǃ¿»¿ùíoqÃõ×›ú^«ý⡇ðÈ# ÇïÇï~÷;\Ýu¦Ïõ‹‡B ·?ö>øàÜu÷Ýø|Ë”——އݒoYYY¨1'G¶b]©ÌÇ (+/G$65øô“O" ¢ªº“¦LÁ”©SñÓ0ý½²-\¸S¦LÁØñã1jÔ(<øÓŸš:×§Ÿ~ŠÇŸxÏ­Z·Û+¯¼×^s îøÞ÷4Ëzíf]óñëÊä6ùäý÷ÅYJ·ÇƒésçÚ#Ün µÛ·£lèPœ<|ØštƒÝì&uæ-ËcÙÍn–ç±ìf7óy,ÁÛÿÞ!»gìfºm¾ÛÖXv³M¡ÝlÁ²›ÝlÁ²›-Xv³Ënv³ËnioI­­cE7(KÁ0.OÃ0 „Èþ¸Ï°”aÂÈŽ! „ÉJÂó 8NÌ¸ÇÆ0@0X&X]]ˆD"ÈÏ/â¡È @¤!„NÆÁß ƒ 3üÝPp¯¡PHµ¡c°L°"‘X–åv6ào „†r€p7Á0p8¸ÑÁà_]q÷ îÜÑh”§ïv$ŒA:2þºÜŸCŽA5¢a9†öö6:´”å4! ¯%ÿnӦ͆ÇãM £~èéñc6}NÊý`™`p‚$€ˆ¢â¦šÂÿ)u†%„,K%硲×Ô0P–¢««yyƒ8 RžuÅo­ÂpìØ!<ü§‡ÄE¸Üwò ¯×‡¿<ó: }.êê¦Àáp€ÞìðÚ!‰`ݺ÷U{ÿYÝFÏBï:ÉbHY°xá7¼)k¯ ËR0 ÿ=aÁRÅFN&©wâaèêê®ov`ܸ‰ ”"‰h`€Æ¨¶CuÍ(Ì_° ‡SbŽ83‡±{÷W ,¥lÚ0è= éËÒ”úÁ2Á"¨BýRÞ¼ 7(ÝùKÏ0À‚eùDCåR§—â`Ô½òœ‚é•a D4OVcà6U=ܘP³bŸ¥³ôžE¬OX¾O’ïËM¡0T(…ÂW"2¿ªéÜY¸\nä€á` ¢ˆb¸QB“ ø1Üî ;.6:9Ša ÐÚÔ Ü0“õƒðY–ˆMªÒÒŠg!` ”åúˆÿΚ~°"AJÕ*Yn›cŸíÛ» G”ñbêýq#™¦Ž”¥8þ°óëíøÕÿTÜo1݆ ©ÄèÑ`ÄÏB¡ z{{@)Ã0˜¿àbø|éíųF­ëKw*QýªÈÀ€ev¹ØÈ „€P‚(¢\E¢=5 a¤²láp»v}‰÷ßíí­‡ÃzFxgšè:¹V`(..åæX?ìÝû Z[›±hÑ·À0 êê¦p޼d%‘•´žÀòçgUÚ*U –•½ÓÛWš»!ÊRqcF8ËJ‹s¤¹= ;¿Þ†'žøNŸ®ç;ÈÍÍCMÍ(ÃhÇJ Zýàïîæ5ö±éÆÀ²‚ó±Ô‚•8k¢B‰“®Q•º™åù„pÙ^BX•Æ¢Ôd4¤ƒ‚nNÂíö`èÐJ,^rN<†Ýû †A45ÔXV`Ðz°”²¿'x¼Æb5–Y Öi, ™­L!å=G¥p‰»$ð7A)CY,½h.Q ¹‹ K0eÊ, Z‰ë¯¿„aðÒßž–©~©ãž š–Jù „â[Äœú”0Xê¼+ÉÊYpÅýïh,ë«t'Qú}*FÖŽÅ]w߇¬ìdeçz½h:×(¹fz1(“Œ‚ééË~ÐÄ ƒÅ –8ï„jÛuÙhá¾gùð_¦-¦P™ïIƒp 6ÊâìÙÓøð÷°yÓ:ìß÷ þôð p»=†×°ƒTk°\$#ÓX}Aê˜KŸIÊ,,*WÃò¨0–CÔWl„Hæ¤4“o š UNª³³GÄš5oâãuïâÜÙ3 ”"''W’iŽã¹¤ˆAÝT’7í; çÏŸEFF²²răZZÎ# šœ \e£èîêÂ{ニÑc.B @FVŸH9›Z‚•P4¤sØ®];ð›_ÿLìÇ‹aêpÕÕ+À0M‡×j J'X6È(•õC:1|õÕVœ:u ×]wòòòqäȼù÷¿á’K¾- ¹Òy—h-J°ØöÅf<ûô#hkkÁûÞ7À‚ÿÉÿÃk."‰g¨ê—êøC† ÇСU˜4yŽ;„Ù³é„âÖc€ææ&?~Þ^”•A0Œ=Ì>Â0{ö"4kÄêWVaÊÔYxÿ½×1gîb—”ÅÕHÆJ’r‚JgÁÞ½{ðøŸ‹®.Ž…¯Çß ¯×Ÿ' rkk,Á/Kä^”`ìØ ø×þ­-M¸îúÛÑÝÝ…ãÇË~¤w «0?~O?õ9r‘Hyyù(**ÅüËú dff᪫nÆóÏ?†Gÿü+\uõ Ì»ÝÝ]¼yÔhÉ`°.*TŒ”(¢­½ÝÝ]2€“§ÌDMíh°4jœ¤’IOš4ÈËËÇØ1ua4¯‘n ‘H›7­Ã¾}ß  ¢µµ‡ï‡Ëå–GÌiìá|õ 'pþü9ÔÔŒÆÉGÑÕÕ‰œœ<\~ùµiÀ`™`É;©®n æÎ[Bø|_7W_w @¤ó™Z9•¼IüÕLBäÁå’o®>|x5ÆŒ©“åÒÝGŽìÇ««ŸÃÜyKp×Ý÷!//«W?‡®®N8δ`HÙJ‹ïAÊRx32ð½»~„ñu“•ƒÉSfòQ U8šDÓ&:JT$“Ðz#ZŠiÀÀ0 æÍ[ŠŽŽVlذþînŒ1W]u3Êˇ@¬I#AHöìùó,ÃìÙ‹àp8qå·o‡¾…––&dó9>«0¤,X\ùƒ_Ý!€s8¸êÉò`Ù’+ä‰;*Ïä¢Tº9 ±ë•• Æu×}“ƒïßy¯’ 999X±âN¬Xq§‰~ iê‚«¯¾EöYfV®¾z…¥,,ÊRôôt£³«RW\xá–1Ò|d G1–è ‚q÷–¶1ô/ – –ÇãÁ¹¦Fna6ÍP~ D)¿'o"µËUÓ‰•´ˆÆl Öa°Ìš!û´ÕéÓ§°›_ŽÕÛÛƒ›nú.ÆŒ­K+é™áX_¯ý3a°ÎÇ’)`5Ù¥ÀÑ#ûðê«ÏãС½hnn˲(**á–@‰µái"=3 ë3âµJ V–Ù—”b÷žØ½û+ø22PS3 ×^÷£²r„ŒuF=JR#“bR)—º ×¶1X„ÁJ¥OöE0yòtTUŽ@Qq V¯^…ææ&ìøòs\ùmjkÇjú}A8&ý³1X‹ÁÁ¢2¬–v—ËC‡÷áé§ÿ€Ó§OáÓõkàóebéÒË5¾"{.ñÚ?2KKà>Ðb1ü§/>߀×_{ùù…¸øâ+Q3bjFŒÖ¬¾"#ªŒ´!5 Öi¬8d_ÇQõãÿ_ä ÊÇæMëpÕÕ7Ãår‹ü—ŠpLPÿ’ôìƒåQ!Š>Gx­­Bzzüp»ÝË‹$Ôᘣ(l iÀ`‰`™$ûh"•4ñ’yVbH¤³m Ib°4Ý`@8 …ÐÝÕ‰`ˆ#Å"-F•×Ò3•sjc°ƒeQ!Õ—òææsxãõqäȆ`pŰXIЧ¤g±¤¡dtÚ,dž̻À²`i‘}¹\. ¯¬Qñ·÷é™Ô1µ1ô-†”+陜ˆIé[öᘡ/1X&X6á˜!-‚eŽÙâšf›xÍn©6›xÍn}ÖlÁ²›-Xv³Ën¶`ÙÍn¶`ÙÍ,»ý37Íé[·ö‚¥QNÙ<“r=šö×#sëŒUÃðû@sì(z]"©‹w8hm=océçXì0'X@Ýþ.dfæÂåtÉVuHWÎ*ß  ÅÙJCByV—ȧF²/®ˆ? ÁãñØX¯Y ÑÙÙ…¬Ì\¸\rÐRJâ.áî±Q@89ñX´x¬Lƒ Šlr6–þÅë6)X\}4+Þ lqrÉ'`˜èØ0’ÏcÇ*¹¤,rÊ$ÜbIKÿÇbR°(¤RÊI¨öŠŽX]t¹WL8¹w³‰üXeMÞBIKÿÇ’@T¨]Ra¦ÉËZ¥P¾Ï°°rWÒ¥Fr6¹……‚"BÃÓì/Ħ!¼øÒ“ØòÙzPPP°`)÷GÁÿY„¥££ kÖ¼‰C‡ö!èÕི²_Ò˜nП‚0Æé»‰Ôi û3J)¶oÛ‚¶Ž„£aÕ_”Z‚¥··Û¶mÆ{n]ß|‰ÎÎv°l´ÏúÅ©3ìdE©F«?”K‹Ô‹%¥*Y^+ÿ"—“ ôÄ"- Vñ#Pàí·Vƒ¥?¸û^ø|^~|S€2œciÊX(eÑÚÒŒ½{¾Fã™z,Xp1¦M›ƒ’Ò2Ù&ã–ô‹yKë¢ù µWݪG+oɾÕÝŠÝÔQ¨ˆ¶ÐSP„Ã!¼÷Îk¥¸ã+ùM¿¹c†3‘V`¡”…ßßC‡ö¡«»ímX´è[(..ƒ×뵬_L Qø ZÚA.ÑÚ<ñ÷^:ÔË”TBÀßÀ? TVŽ@ccÞ}ç58œ|玻9á¢,(¯µRÅ"} pêä1¼×ñêëO`ñâK1fLrrrüîÉõ‹yS¨ãj/~ôV9ËWäÊ?ê~ñ£M± 4,TÈ"j`¡ 6¼ sç/ƉãGñÖß_Áü…Ë0v\@¹Ä#ˆ5X¤Ÿ±,‹ÖÖlÛº mm-˜?ÿ¦L™‰Ò’r¸Üî”ûÅ´`éÙEéH”Û`I ¬Ég®WŸ/8‡}ŽÆ , ˆ‹eó¦u˜ï¼·Üv'œN'V¿üîûÉÏ‘ÃG‹4e,z»§Ç½{v¢»«mm-˜3g† «‚Ç㵦_L ¥PJ•ÃQ Ê¢ömbI7œ‚(M-V@cïÃ=,”Û¦dÃúµ n¼ù<ó—?#ìEff6ïcQ °èG¨‘H'NAGGZš›0wîŒ=9Ù¹`Žäû%!e ò9éV-VËÆ8.õ3ûÚ7‹6.ù9åX((ÆŽ›€ãÇcý'k@)EOŸ:”%`‰EX މF£hn>õë× ¡á$,¼S§ÎBIqœü¾<©ô‹Óœ¤’l¬2‹ye± žDÕ˜3@¯ ô9ÚPÿÆ¢Œ •X(|¾ ¬øÎh8uk?|ùù…§:e¹êj3ôöö`ß¾]hmmF{[ fÌœ¡C+áõúê“éªkh‡÷Z”9DÃÏÐãÐ>7‹:Xb¡øú«­p8¸í»÷„`çWÛb‰GeíÉ`1TY¦±¡á$Ö¬y ˜7ÆŒ¹ÙÙ9 „‰‹%1SÈߟ ò”ö6ÞÕ7ÚŽ¡^&x a‘j,M,¼ãûåöÏ@Á-·Ý…ö¶–˜PV²X !MMgñÙgŸâüù&4/X†3æ!?¿P%Ÿy7í×èsYƧ!Ôˆ¨‘Ç@Å¢ Ë•ÇNž:‡ìÅÖ/6ƒeYtuwr\U ÁJK2¼ ~7Ø Â”–V ;;.—;a,N3)†d¨:'ËäÆfÚµ/£(¤ Ñ.¿¿·ÜvÎkÄ;o¾‚œœAÜ„´lÁÔ°$ÛÜnÊ+† ¶vrsó@©viŒ K‹$ö@Õ>Q̤›sžå  ‹z*GžÇ¢ 8¸Œß¿ë^PJ±õ³’¹XÝš…„°$¡­¼^FÖŽÅœ9‹0eÊl•Àá`tÎÉ –HF+8ôhü‡I†Ü(Ù©µ ßÀÁ¢çÏ š†eYìÝó þòÔŸpûwW¢ñtƒ•<]}¡qÌ A˜0aæÌYŒQ£Ç#''WsVm,$Átƒâ´(µø-µ(˜úŒË€¼ægàb&N“8ÜË{v}…¿<õ'„CÁØÄ®fT˜<#SIÛíAIi9fÍ\€™³`ðàabªAoJG KJÎ{¼ªt”Å‚4PSм°ìË-·Ýâ¢R¼ðÜã8vô ²2³ Ó É`1£±22²0bähÌœ1“¦ÌDQa œNgÜß›Áb˜nÐû±Yª”O\ú¿èkbX©ÜÑb bFÖüÜÙÓèîîBeÕ@EÅLœ<£ÇŽÇK/>ƒ¯w|aJhÆ¢&á< à ''&LÃÂE— ªªV¬t @ýBR×XFIF}v^^SÐø.¥²v bLa{[+6oüŸmùgêqée×àÈ‘¨¨†q 7¯“§ÎĉãGT‰O+°(5·Ð‰ŠŠ!˜1s¦NáÃkàr¹¸X×/Nse<ÛŸê™Æ‹ ˈ¥«³«žù3>ß²Ñ(WüÊËÏ‚‚e_!ªœI“§cÃúã V*X„åóe ªjæÎ]‚º SQXX—Ëey¿$ ±Œ#£)’xœâÚ#Þ¨£ú7n®Áß^x ŸoùT*¡egç¡'x IDAT—™!biokEvvNGÚú…aäå壮n æÌY‚Q£Ç###Cœ®±¾_’ȼ]Øì\üÑ@, Š(¢­­ÑhDu¾y –¢vÔ8ñ³µkÞÆœyK••cBc%ê¸x<^”””cêÔÙ˜;o)JKËáv{ÒÞ/ɱ&Ç iÈêÍwŒÙÈ­a8æÎ[ÂÕšwvˆZ£¼|¦MŸÃïÝÈý&ÊF%æÈZ,^¯ÕÕµ˜9k!&Nœ†’’r1Õ‘î~±Ôy7Ȉ™žM†þ¹ÿa¡˜>k>Bážzü÷`YŠÛ¾{FáÃkdX/¹99yâ¾6ÉúXÊær¹P[;ãÆOBee ²³sy¦ä¾éÝÅÒ?jì}‰¾…UM:U0а8‰ N'°dñåXºx¹áù— O –‚‚b¬¸åNÃi«ú%!ÁbÀðDBˆ®ÿ@I ¿Šžš*W:é«,c‰ jcXÌ›B~>‹FÀF#ˆRÖ4Q%É”#(!5N(Ø( –rfcéÿXÌ Ã0zq®é,lÙ²ô.þðÇçDŽóta—R)´K_ÐVêçž(”üí1­¤õ^þÊ™mª ìNš¥g xêÉßK:/á\ªÈH$Œh$‚?zgÎ4 ££M€+¿}fÏY„ëo¸]L} ±„‚AløôCL˜0÷ÿç/PY9 'ñ§?ý»ví…-i,Š(”RíQÉÉÊä§Þ«zî2‰)Ã,©ÒÙäßvwwáÔÉãºówêŒ2kbBÖ<†apQÝTUŽI车óçpæL½Î³ ! &Lœ†»îþ1¦OŸ‡{Vþ233ÑØØ€??òß8wîljýBãi8j™PIç3¡É8˜°)ŒO‰‰„ñÙgëqöìi|üÑ»!ªÅM_QE -èÅöí[pøÈ|ñù¬V…ßüö)¸Ýž´SEú22pà w ¸¸Ÿ_Ä/­§hmmF8R±â%ŠEO"&|-µi3k³)¶ æ±ÌR"ƒ<ó—?‰ÿK“yJõ×T‘ÑhQ6Š?ƃ{ðéúŇâ_¥ûî¤ OcM‡ññGï"èÃ0X¸ð[ÈÉÉ“ø„I`!F™wµ¯%5ç°Ë£AHΉT5–±£*•W!ÝÀíÃ"½}GÏØÛÛƒ?üÏÿ‹'Ž¢±±A‘nÈà¼~*9ýX„ž X½zÞ}çUߺôj¬¸åÈÌÌR–)`¡&¦eŒùDR @lQF Ë,=£Ãá@͈ј0a.¾øJ<õäÿÈò7}IFqôè!455Šßgee#33+Vü“§Ì„›_Ñ´•½½=ظa-Þ~ë°lK–\Ž[o¹‹_øb¿õÕÏçé¥"Ì•t‚œ@ºÊG½£šEKúγu¦"++‘HN—SÙíªHA;B0qâtTV@yùtt´!3+ÙÙ¹¢I7Ud8Æoü[6‚ñã'a̘:,¿âzx½¾´ö‹yáÑÖPR·ÅŒ)Li®P/yGÁì9‹%£4*I*ŠÁú€žÑãñàwþ¾úê TUÄÒ¥ÓËßßxQ>ÍÒXB¡ Nž<†{VÞÑ£/Bii¹F¦=y,ú%Ä$)á’š=#¡ÒÚ':eŽžÑÌw養t8œ˜2eº»:ÑXšÔwX*Ãõ7ÜêêZM^*«±ÄÌ—Vth&³.H=ÿJêhmç’tæÝ¨¬ã O*4Q¶?ë°BpÓMß™úú–¶:{ì»h”" !eát:àryÄÅ´Zó‚ÊDr¨$uÁÒ€´ý é…/$U$E,çÔWXÜüÞú“j¿Pƒ)µQ´··ãÀÝ8uê8ZZÎ# Âíö ?¿ÇW£¶v ùŸZ¦Ú9=«w3*üŸ“*òB`Ñš'ä´Žß߉­[7aƵ8qâ(::Ú Å_ºÝnäæÂСUX´è[˜1c^lCUªÉç±’¥gt¹\øÉüRm©RE.Xx‰ì󫮺ù‚aIm¥Þü 4ù °8sæ4Þ~ûelÚô1::Ú¹ÝÅ$¥F\®-ˆ¦¦³8¾ GŽÀ®];pãw ¼|hŒQFf “ÔX6%âÀ¤g”K)ÅéÓõxþùǰ}ûQC 33YY9p:]ˆFÃèêê‚ßß €¢££ ë×€®®N|ç;w£ªjä+ÀÍ­²©"*Ùy™9¤hn>‡W^y_|±Ñh™¨©… ¦bðàaÈÍ͇ËåD$AggêëO`÷î¯pðàøý~lݺƒ;ï¼%%ea×®p1%X6%â@¡g¤š>V(ÂÚµoã‹/6*+kpÙe× ®n* ‹áñxeì1„Á` \‚;·âƒÞıc‡°}ûg<¸7Þx;|¾Œ„¦¹lªÈŠ%ÕÏeíÛ·ëÖ½h4‚™3çãºë¾ƒáÃkàtºT󉂆s»Ý(++GQÑrŒ}^~ù|ñÅ&¬[÷.jkÇbÆŒy¼ÏÀÌ¢U›*2,ÍÍÍ()«À pPœ®c)×å¾fYŽS‚²HŒ´†ÄꡜF©©}«ÎÎv¬_ÿ!:;Û1mÚÜzëÝ(+Ì (•Ò<'`‡ÇWã¶Ûþ\.76o^‡?~£FC4Aaaqò‹)lzFm,,Å©S'°wÏ×èîêä…Ö¸œ’@¾ºG(î3;•#Ö} Ä‚¢B̘>Y¹Åš"|àÀnìÞ½#GŽå#»Á²¬º PœvŒ‚a`‡j¢¹´t0n¸á´¶žÇþý»±gÏW` Š“×X6=£6–(ËÂår€ ««áPH\ÑO°bBsê Câ¦#ÄYX6ŠP$ JXôôö +W}¬ßß…]»v cùòëQQ1\åÔÂwàÀœ>} ååƒ1jÔøØ=bXVV+¯¼ ?üvîü••5qw¤ˆ“ µéµ±¸]^TUBMÍh¸\Éæ—yAV8ïzù†0èöwaïþ]èííÀj>³¦¦&ìÙó5&Ož‰1cÆÃáp¨„%Ž`íÚ·ñê«ÏÁï÷###W\q®½öVq¶ V5Ê ¶vfÍZˆÝ»¿Â¢E—˜ž…°©"ÀBøëçd硨¸ÙÙÙqçÌô²N$þÏb‚Å8ÐÞÞ‚†Ó§ ôè c}ýqøý]˜4i²²²5*8lË–õèèè@ùÿ?ÁÒ¥ËQXX,BÈÊÊÄäÉ3±uë&46žÆ¨Q%o ÍP"rûòEÄì2Cy‡˜åÍô3þsÎôpÃA`ˆC!ÉÑ3öaQ!«ª¦ ,¦+¸XÈ2ûâQ¬q—}‰ÑvÞ÷íÛ‰ââr~‡1FE" $ù²9FBfKU“Ì„02d8ÊÊcïÞo°pá%’ïI¢¦0µ‰iõª`-g”ŠUÚ«BR£gL;éƒ@ß´xÊíüù& < ……EªhQʬ¬LŸ>çÏŸEgg²³s0sæ|‰E‹p òòò1th%T+μ+)•ÚWXZ-Û]Tóªx<[XVÍq ”¾Ñ3^0,*Öš§¡í+Q“·¥K—#?¿^¯OVé Gt:¸ôÒ«P^> ())Ç„ S%ÔDU!êv»±hÑ·x"9—ÏËÀÇŠWŽ!yºšA}QVLö1 U8¡T±Ðµ¿aéWª—M›6GSKIŒÀëõñ O¢«Ù”¿«®…êêQ¦j± '¡•³ôZfFj:´ÌœC2SFYPÊÈέ“ôŒ}‰¥ßI–‘* Z“ÖDU!KŒ(­=¡ `0éc™¡D¤B:> Ëû™ ŒD…òÓ ú3ó‰Ò3ÆÃ¢KϘ –þ(VúÚ²4Š–yÔ2å1FÕÉ9ï:”ˆ z'–Ò%R8ˆ,eÁϪ@°XüãÒŒ~¥g4ƒEÈ û|>9T²XRhÁ`n·[R•„#OŒ8Ea `ñ¾×²D´%` U¤=#ÿpÄ‰Õ GI)E¿Oüùw©cI±½ü·gpþÜÙ”Îá`â—‘ÿkQÄ*ôŽ3ï¤L©Åβ Mm@( ʰDmªR¡gÔÃÂ0Ü~3íím¢ÀX‰%QÖÕÙ(MùTJa×Ok/‹§¡R¹ï¤©"•‘˜àÛH)AX±tDúÀÄD%Õë°ÄèÍ`‰MÉÏ(–~RGh´Í_ücÍdΞÒI€*RQƒ¤¤DŒ9¿Šr[MU=£1*Rt+©"ÍbH-ž€qi¢Éue¦ÚˆßߨÆ¡D”j ­*=–•”ðRÊÕS•}OžžÑ ÁÂD±þ-JšFOÀ‰Çn£0hùjiñ±äa¹C 9Ú©BKXEÏh„E/ái–¯ÁÌ™½DúÁ™`ÞKý@ Ñ| ÒåØrMCÁR¡F;ÊüšxÕp‰a‰-\ñ£&†%™u†CÀôºÅ>V¼ójOŸ(rG¼f–ûJDÑQ=è°HM*åë»’ÂÒ‹Æý”˜Ö>ú·¥'l)“‚ħDTkˆ)G1Ý È^kû5Ò„frôŒzXd¸)„ä°ô[ÉJ£™¾°‰tƒ JD¨và"ZE*,9=#ÕIà¥BÏhˆE*©"Á2@  %~!æ}­Ô©"¥ÿS ½½ Ñh““Ÿ'#¶¦ŽªSZ7–,=£_Ffl«¹4a‰÷\;;Û@ÙY9iñ›Ìï뜼ïD©yALš*Š¿³½ õ '°ú¥U8s†ãÿ¼öú[±lépºKÒAÏË´i³1uÆn™¹`“Å’`ëìhC}ý ¼úòsp»=øö57£»«³ÙÑôø)RErä½­/<÷8>ß²³g/ÆÈÚ±  øhÍ;õ±üªÀ8ÅŠ`=-‘<=£B€gŸz‡ b?˱p~›,¢­­}þ lÙ´NLÊîÞµC\UlÎ îkg¤øûË1ÄóÏ>Š/>߀eË®Ä7}YÙÙ 8}ê$Ö¯_ƒË¯¸„aÀŠœÅúæ'%zF,µ#Çãý÷^ƒn¡©XŒ‚éH(‚V=†Ï¶¬—m|β,œ.ÄÉ×¶³ éÄœðT´YPE†#!ìß¿u¦âú›ï@FV&ü½~œ?`/ ¥Q0”1Íœ,U¤–-Ÿ}·Ç,WÆc í¥Q„"AØ¿G&TB»á¦;PPT,«ZµJ¸Ì @ COë2ïÊ‘ìp:1rätv¶c÷7;§NÇ»o¯ÆÈÚ1øþ÷ÂérÉV#®–  ‹¦9t80¢v4Z[Ï‹ÂEAYÙ`TV€ÃéHüÌäBh°>ô±¤³ÇãÅßÿW|þÙ§xçíÕ8|h?**†àÚnôésP\RžÐèI†ž±¿`‘6Ç‹;¾÷¯ð¸=ظácdffâ²å×bôØ:TU×&¥‚¸Ä®Õwë̯åÎ{nÞ \réU¸¨n2ÚZ[™•Í­m#Ê%Òâ×\8,ÚLø]nÞ Ü|똷p\.7ªkFÁápÈŽ„—Ñ[¢&y€±•DÖ ‚5>YÁ2C‰H@à$.±_ † ®Æ°ÁÕÜ|bôŒ}…E|%Z‚GÄk3Ba.ŠòKP”_bμél„IøÜMc¢Öj³©"ÀB¹o@‰°1YÓDù¹²#Ês8¤s"\¹w´~y •ph$b mzFm,Æ§Ó 6Ê" Äõ{â_/>…! 7'@L‹B ÐØØ Ïó¥K>ûL M1ÆÁˆ GÄÀát™,›žQ !YÂÕ …ML –š8FŒÆ0 Z…ÌÌ,~“'>Å£½½gϞ‚ÒÒ TUTñ¡ –M©ƒÅá@vvŽjA†µ¾Ž´š‚HL4Ÿ'…ðfd!Š"/¯@€#SžC1Õ¥ô ØhÔÄ&ÆÚ¸½½ÙÙ¹æ˦ŠÔÇÂ-t_p, M”=%%%1-+b‰i^"ž“è~ûÇ©_ÃáH$Æß{Êœ`ÙT‘ý ôôøár¹àñø4#AjSEö,œkooÅ¡Cû0aÂTÑ7$Š<›– 4ÿ^þ*{CC=¢[÷ –MÙÿ±H˯ªÖÂËÅéû\RKËßR ¼[BS:‹*R‘Tß³”C„Ò¦‚KIÌa‰QâX€%^¿¬~é98N\yõðz½I÷K*1©zm¦ÙêSb:G÷AIAÁÒ¨(ĬD¸Ù(ïÏPýˆÍAp0K°Äëx~Õãp:9ár:iëµàPĉ“ƒSS#ÉÖè@aô„SIϨ7ó/ãXP¬–ùàÝ¿£¥¹E²¾ fʯÛÓgI K…Z+*¾RB‰FÀÒhlqØØkš°èõ (à÷wcÕ3âÝ·^C$I®_Œ†5ïŒkKu§rÌ6ÆÜÏ©nçéu(e)¾þjêëOH(X±ãbÿ³Š¥ì¬ ªÈİ|¼ö]lúôc„ÃaÕuú Å Aùzñ—§þ„7_‰ŸJ ‹ 5%8FB§Å/&ךòßÕ«1ñ¦H©NçÉU£6×AO¯O?ñ?‡ƒŠQÉªŽ•óQ™§Š4ƒ¥½­üéWølóz°lô‚b,¼³f/DaQ žýË£8vôpÂX’)g12í÷Ð4Éz÷ßBŸžQžò§³ +þXŠ3§°yãz• %8:O¦îMPEšÆж¶<ü‡‡ðé'kU°¯±¼ÿÞ:´?¾ÿ種‰×¾ ¿ßŸ0–äÌœ± ÔÒVꓤ)4|å2,% œRŠÛÛ[±eÓ'‚êNRýI;ÔU¤Y,íxò±ßcýÇ"‰^0,Á`¯¿öWìØþî¼ûßpüØaôtû“Ç×72oµMtùÝsÞ¿J–ž‘a”• ƶ­[ðÊßžEoo.½üjL˜4 ‡~äW8vôÐÃRZZŽH$‚—^ü >ÿlN'(ÄBa˜A×3s‰˜@¹Ö2ö·×X*?ÖaꨆR ¯/÷üð?0¢v4^yéYœ8~„ï\T¥îY…Oa!P¬]ó6¦OŸƒÝ÷ òró±cûçƒˤÉ3°dée¨ª‰W^Z…“'ŽYÖ/újÕ¬PQ4‡¾Ÿ•°)TÓ3RèGîOÇ õÙ¥¥åøá½ n¼óæjtuv‰iíIMPE&†…R »» /<ÿ$NןÂÊÝ­_lBgGûÁòÑÚwát¹°ò_ÿ'Mi§±è™4­ÝíS*5±JÒéczFÍ0Z«Sù[V^»î¹çÏ7áüù³b©­~dž*Ò4Ý]xá¹Çqüè!dff©4J_a ‡Cøðƒ·ðɺpÛwWbè°Ê„±è«jRxÌ •œ¸Î\dÈjQª]5Ó‰ríÅ¢¸¤åCðÜ3‰zZ§ ¯-À T×ÔbÌØ:tuuâ™§ÁñcGt÷tcʉßúû+øðƒ·ÀF£Éa1tÒ­*#+9ç=®/¡Lï+ý ùìüµ×ßÊ-ÔÔ:VÕ©Öa¡n\ñ=ÜÿÀÿ‡ënø† Î-"Õ|iÆB)fÎZ€¥/¥ï½óêOL‹1ñš–/¤-Hf„JÛÇ2Þ,}T‘|ïÊ;D˜ËcAÚgT‘B] ü¬øÎ`YŠ ë×ò‘Û§´• À¢%—b|Ý$Ìš³kÞGL‹ñ¿r•Mì=·“™0_Ƚ—îaûLï•;QZ²y,’ØUf›!.mmÍÈËËk‰¨Ž¯¥©òSÀ…ö¸ôòk0lx•ÂÜô-¯×‹I“§£vÔXx<žÄ±èrUQƒé#gÜèUîg¥žÇ÷©¡š»ii¿WLÀò¿D"xó—qÅU7êšÎØ"ªÈd°ð[µrrsár» üš¾Ãrù×bè°ª¤°å“âÍû™*¨Ì¦z5Qe3)Ó3 •â"óæ/ENn®H2ÛgT‘²M ¾ÜöÆŸ„ŒÌLY´w!°â€Ãáí4f ‹.OÌÌIÿ—¿Âà;ù«œž¤Çyמl•—„´·µ¡««C22ùŠLž:n·ÛÀÔ(Õn XT9œ–ýûw£ªfd¿À²vÍ[˜=o²²r’ÀBMLË9òæS z¦0qâµ$èOןÂË/?·Ûƒ«¯]®îÎX>‹ø¾ Š€sgO£»» •U# \ââ2xyV½ å|ÓYT‡Ó‘¢Ui+½‚?3šŠ¿Lk ¼ÒÄ'&X&F¨’žqóÆÅ9µ]ß| Ÿ/#¦þùÅÅ}A¹yãÇøl˧hŠ-›?QQ"º\n8~¡)eU[|[MÙÕÙUÏüŸKè_yùY ‘8ÞÂÞ8ËÅWˆeÒä±è9,Zιðd’®˜ •z7Ö”|,­ýp(X°"=£&%âÍw ¿°+ 6¹@JÏh ·-ƒ¿½ð>ßò© Kvv.23²@À$´ !]X|™šIÜT°È£·øþV¼¹@=ÿJ¶%IfJÇHÍKþgœŒ9FE(VV>•U#ù’ÈèãçŠhBX¸•1Q´µµ¨ÖºB0oÁRŒ5,jž£¯±Ôާ{ŽÔ±èW!˜wÔÕïåDüd§eT‘n·7|ÄQ"^qÆŒ­CUõÈ„) “¥Š$„`î¼%8thº:;¸QÃ0(/‚iÓçp¬Íý Ã8,轉h¢ëoIͤ°ó¬Ò j¿— PªQaN*G‰øÌ_¸ .— Õ#FK4XßPEÓgÍG(ÂSÿ,KqÛwïÁ¨Ñã9ªÈx,¹+PD…ÎhljgG;Ö}ô®½öV0 ›®!JêAe IDATQ°e¹lŠÈ0~Ë2ªÈ¸”ˆI<œD±8À’Å—céâå°ªõW,J“¤Ü©ž€‚A¸ ìÅ‘#e q ¡`)ÀÒ(„ÑpØ¥«¿“ÔX6UdÿÇb&RU žÔJsÁ\R¨7mo ÉcÙT‘ý‹ì<ŒÌÆ„HØ7(fÖ„Ï¥B"ý\Ø Mš• ³2LhOh›*²ÿcQk.9 ` c;yHL¤"EÓXBB5}+ÍjD4–MÙÿ±„¢z©-SBôX¨9#ÔZKkŽ2åS”CÒ-%ªPEn $ÿBàt0q+>¨Å½Ä3®ÇH­UgH](õQ8mÁðD#ÕB5»G¦UÄ÷¢¢øúÐ)Œ2¨ßÐVž¨?cè[ÉM›Ú¿Ši*ö¡¨‰4"BmMPceûÜ…Bðz}:y­ÝôR}á$š†±Q‹Xb=HäGSõµ(€XÂ›è„æÐ™"‘F‡ÃÉÑ1ºýŠ*ÒxA‘”Ö('¨¡QcE$Kí¼Ëûˆ$¯±"‘0Ø…¡C«Ÿ_˜àƒ‘_ÜœJLK:W‚¼nxxZHô;ªÈx9-ù`! :#h~/uöõÍ` ÛÊ…Ãa45EAA±ŽVÑ ý÷æ_I¿Q^Ó¬@Ç[!ô¢££.—Kòyÿ¡ŠTÏ[Y.Kü= KxªR@Gc©µVJ¦0ÞHNo“V9åj´§*d¦ M¥µ,JúÊM÷OªHý\–$¡ÊrÉO†qèD¡³!‡Æ£Eλ¹y1½%šóVzBaTlFY„qhúsñÊ;ô´–¡˜Þ¢ù&ÝÉnÔM%‚CTB¦ÌnËqiÑVj÷kŒ€6&V]]¨?uûëÓX²ô2 :\Ôz±ë é\FcŸC½jX˨"µ„Em¿êª¥Ç*—&I…5ôãè¡ÝÈ<¥ù¹ÇÇ«‚‰õ€ZÚR[[SšÜ¨¦)45¡ä¨"å;ÕŸ;Ûˆ§Ÿü܇®®œ8~.— 55£!ÝCßa7 ~hj‚eÍ6°ÊQ¥Ç‡É ˆqôà4í;‰«–_‰AY>(‹Øä3ñИ85g õ˜Z´¨‹”T‘jÿC.–%õXF~‰Ñ¬·C‰^Ë›)Ó¡çìA¬Û¸Ý=½üT£MI~¦þ“.¢U°i• Ó–PEêð_%LIµ—I'§Ïœ9%*¡eeeãÒË®–ÍEÆ‹`°‘HH#Ûn®+!ÁJ†>ÇL±™þwEƒGbüEuØ´f5>ß¾¡p8Îz7­Â4íU/êÂ5 í5w1Ue…¦Cr´•ñj¢(¼^rrÔ›(y<^ÔŽ§vð)pøð<ðÀJ¼õÖjÝiÆ2ÉEƒæ´––Ði)Õg„ $׃îÖz¼øÒ³Ø¾÷ ¢T_Kik$mv=µ¦RŸS³.JÇ’¾K¡©¹´+1ÚJjâ¹9·Þv7 âæPŠŠJ0mú¸Ý9t?/wlsóYlÙ²O<ñ;dgç"//ß ÿâ+ËxÞ’tꔀ^•£ò3Š3§O£µ¥ÝM»ðêêUÈÍùŒ©Êï¡,wØåU²ÐZ”i†*’ÃAt%ß»Ô/2òcA—REj-®GpƉŋ/CnvÎkÄà!ÃPW7ôV­z_}õ¹XqæL=¾ùf®¾ú\{í­ðz}º‘½å¤JçPÚJ êµ ë•a¶œlB+r u6âÈÁÝè ±X;ø víÞ‹šÁð¸œ:{üŒ¿þ eÊI‘B˜”ý¡Î)5›tK7­üÔ”ÆnŽRÒÁ8‡ûÎA˜>}žì›Å‹/C0À3Ï< J)ŠŠJqÏ=÷㪫nFuu-<Ÿ† &Öœf5O¼ïô… šeF˽9Ÿ&ŒCûwbÛ®]ÜœÓÚqÓ1©®.‡Cœ<ÕË]™ÍÅÅãk?uÔ§t.!ÊÕ™'‡¡()•”øø¹Eþ¡;]¸âŠqå•7N‰¥²×§3Q‡=‘ÔƒÚ ŸO:+ßxbÞøûK8ÙØB J«°üÊëQUQj¢;±tƒ–)Ô‹r©† h婤S^ÒAÀ²|2RÉõ`¢iQEê-åWo[¢îãc“wMÁÇ2kõý-hšBQXh÷|…=‡Žƒ…Ãá¤)³1nD  4“yòÜU¢CÍœ€Å£Š”欔µYRaÓÊÅÛF—;kzj'ž€q¬ÖDs­¢™h9¿jÒéšÐéM“hM›hRëÀòS0~Ü8x]N¸Ý,˜1 Ù^‡FS¹«øù,ud)×LÖPEê¥R§ŠÔÏjñ¿E‚©¯™6“Ôdf;¾#˜–š‘ãpç÷ÿó¦N„×W‡'GÂ/ Ç€B CduGéÿ íAM Wü R§­4z^Ú>%5­8ÌîJ¡+XfW=á¢Ô¬&£ÉΘp•Ä 7}u#*ðå®Ýèî êhhòªÇÿƒAbêd M]¸Ôy+ùÆr²µÄè¸S½$hrAŠ-¾pÑÍ$wS‘p--MðGœ¨›pï\‡O¶nCo(¬š¾Ð7f;êh2ÈüÇx>m¼©íÏY ÓŸ*’ƽ7sf,£‰gÜ“tÞJaÌ9óñr^”4Äñ÷·ßÀ±ú3`\0ˆâ“5o`øà!_3$¡YøÄ|Hå$´¦ 6®¤PExÊ(1^äg´Ü^+“ðB™¾'bZ9˜Ûi5-Q¡™ò‘Ä…Kšìl:¹¯¿öWlßs™¹E?z,†”•#;¯9™^PÝH0‘* #¥£+ûÆU¤T M P8.¸Ý~y;‘Õ¢OÔÓ$óKÔtúÀèÜ)/¦H&oe´å«ÖtƒžÀðõ7[°ÿØ df ÂUWߊ%‹—!ÓëãpˆõçRA”ŽÌäÜ#bX;4ᙾpƒœ9Ó€­[7" ¢¢b&Nš‰Â¢bÓ„#FL‚‰ìëœ|~ÊØw¶d®ÐŒIÔ.}Môv÷âèáSèé ¢¨¬#kÆ _\ ‰yš¦Ñ„ëÆÌj-Y¡ƒU¤R¸(¥ƒhn>‡]»¾DwW'ººÇaÄȱ(,,â‘ä(4“÷Œ-I‚Zž —ÍMD¸”ÍçÊ2œp9ÊøÀ:²UšÎHˆÌùÅv¥U áH4¡ÔƒTÀ"‘0¡Âá0üþnD£q‰1I¼&˧Y&TwJ'•gZ*Hã WÌ^«?g¼™(>¾ ÚÛ±ÿð7]S¯Û©Z¤1N|D+}ç;^E‚0Éœ‘‘‰ŠÁÃ0Þ2ƒ—bP^>ä e›ž‡ÄœðT´™…Q¡~'&nõü.`á¸I 1mÏ~lؾë>| ÅEcÇcpy9|†o•Š•ì4P,‰ª÷Ðaôz}¨¨"Ýy½>x<^Õ´OŠÍëßEKs#/¾ÕC†X¦©Ì:¦f7i20†q '‡ó…õ„z90}E“¾'’WÊÁ2‰t´ï;1 ʆÊ;*p¦ñ4ÂÔ‰ÂÂbäÊÓý½õM±gŒIÿJ—{A“Y&ªÈ$ƒ«,©¨X„ÂŒZVÞ8!@Fv>j²óuÎE }"«Ô½ÞN\Éj/åuÍ +Ÿ…QŽÊ*si±`ÅÛ!Q —HQj~~‡Kj¾Ÿ*R™  †ó‰ ù…8g*â?Xç·ÚÇÆ[‰«ZÙÄM“$å2*2Õ{–^ÏhÂ:Æ[aF°•,½nnnB0ø¥øµÃáLZ‚¹ß’$o˜ð,Ì$…N#2.z3Ú¡§ÇÜÜA())Ÿg£Š¶nll0íßi f¨Ä¸1ˆ`†Ãéâ™ Ëåv££½ ÃÀïïF}ýq°lTG]&ŸN½ô#y“`´xVÙ²³s1nÜDòߨ"…_…Ãa´··âìÙÓ}ñBPZZªª‘`×çƒËéÔ¬üÂB;tŒÃ‰Y³É„Jk„ Ú q%]A&O°dd|jî,q [ÏeW{BZ×Ö‚"\Ïáp"## @s¿¢Ð †Yäå €ÕÚÒΠ(6[­\A­líí­ÈÎÎEVN|ú‚•7hB¡†:ºEAÙxª:Ùr®äY[’‹üRm~,›T(-†þÓ<¨ª¨º W& ׋Œ¬,ddeÁ¥p3œÊÇU\\Œ@N"Ñ(·¼¨¯3kv0ÍåtÂãõÂãr!‰è Ö®;ìÞ²›%±»Àn¶`ÙmÀ´ÿˆ-Ù¦øIEND®B`‚nted-1.10.18/doc/docimages/delete_rests1.png0000664001041000007640000000301711520267216015510 00000000000000‰PNG  IHDR¸AíÌùA pHYs ‰ ‰7ÉË­tIME× ¨å³®IDATxÚí}LeÇŸ{©åZX-aã­mtS¦cLÀb\%7ÿÐDŒ‹1[bƒ„`1&’ˆFö‡É’5TÃ4nã½ü³ ΰ$xY HiìAºV޵¡\é í¸,£Åúr½Îßç/òÀ}ù…ç“»ßóðÀa<Ï#ˆ?D@D@D@QQQˆ ¿ßÏ0ŒËåŠ'Äëõ2 òlòêÄÚÛÛC†‡\.—H$0‹àr¹úûûwíÚ¥Ñhb±Z­gÏž­­­­¬¬\ïµ,ËAQTä/#ëëëC†t:]uu5†a0‘ÉfnnÎ`0¨T*­VsÈÄÄÄàà Z­Ž!¤½½½´´ôàÁƒ8éñB†‹Ìó|YY™F£Q`ffÃ0•JÏ…¢( ÃÔju ! …¢¨¨H£ÑDzšYD@D@àц¤i:|yl±Xhš†å±Øív„Ã0á±v¦¦¦BV«5†–eív;MÓQöQz{{C†8Ž;wîÜÈȈ"KKKÇÆð‰X;óóóÇ 3 ³ÞkgffX–u»ÝQ¦›ƒ$É‹/rÇÉgzzš ˆ#GŽÄrãÆ ‚ zzzb¸¶®®®££# Fþ2èQRL0Œ?$@3ûˆCD:M’L?Qæ=Yµ­ oËîž wVtmÃ'N Í "¶bÒ›„÷(²ïÿÂ'¿¸|ÿ|³5¤u_™… [1У¬`lÑõXè·»BAïlWcÕ-–ÿâÕ-B†ˆ­Øp[ÁwmÏ>øxý}oÇÛ;òÕßÜü[¹ýãŠL‰!b+DYÁKŸì~qš’†ÖÎ+¦å®ó“ÏP’šÏ^8DlŤ5XEEEÈMÓ%%% …"QnÜ2s{Üúôî2)Ž¥6DlÅ „ü~ÿøøxNNNqqqÌ!,ËšÍæ‚‚‚üüüõ^k6›åryaaaäéÆGÈЦM›´Zm¢D¹ÕRuxâ]óo¦†9nhhÈf³Å¹<¶ýÔ‹ä{2.ŸÖ§:DlÅ<ŒÃáàyÞd2…OÄÚ±X,<ÏÅb³ÙŒF£^¯²¾ÿö…OžPHÃ?µ¹æË“¦÷js… ‰lëÖ­!C 2™Œ$IøÛã„Á—ܬÇë9 ÃIÉc”LFI%) Ãív!•J£…„—OУ ¢ ¢ €(ˆ€(ˆ€(@ÚòY-v.¯„IEND®B`‚nted-1.10.18/doc/docimages/ins_block1.png0000664001041000007640000000563411520267216015000 00000000000000‰PNG  IHDRê5Àžàã pHYs ‰ ‰7ÉË­tIME×  -ü‘Ðl ;IDATxÚíkTGÇgÃæ$\ ÞR”ƒÒŠ—ƒ—¶¨/hQ*zlm©zä=ˆôbª}ml©¥=´µ¢¢r+´*[T•¡¤H¸4€¥Aî„Èu³û~ÀbHB@ˆçwø@fž™}öŸÙgžÙ$A1MHÐ(_Êò…@ùB P¾”/å ò…@&˜|[yw[º C!¦'_VþY÷—ÜgÍtM¼T }:Îár¹IIIP¾´UoØÜ%ÆI˜0ä·«Ú%P"ã™îî (ßGœø!î$^ºõçÅ#JYû…Ä4(‘§‹X,ÎÍÍ…ÁƒAüñsÖòM½·î•¾A$J;¡€ž."‘(!!ÊwhB~•'Úº2‚ªÐØãxMM ôÃèÈ—=à„û‚)á?yJxÌYÝ:v(ŠÐÐPè‡Q Hd€JŽMAiŽ[6y@·BŒ:¤ELLLRRRxx¸®ù—ÀOI‰¢š›GR[¾~knj²žÖÚ[îOžö¼‘OR©T–––.[¶l>>%%ep9Ç‹ŠŠ2ä\–-[¦ß¦µµuíÚµºjY,Öȼl|wEDDôôô誅̃ÇKÖ»ÞÜÐ*µ8îÜdÝë6n éÁ° G»~ýú3²ð7ý¥›BÐ(Ç¢ÞÏO¥¯Z4SeòÁÃŽÞžŸ ‚––¨­qûö“‘‘¡µüJÚ‰ÂÊ.ºó’¹ ±.@OKmÑ=±\ÀÓÓÔ˜®Ö¹\î(öÛÛÛÛÖÖæâ⢵¶¬¬ŒÏçëꮢ¢‚L&ÓétòÎÎN‡3ä  Egg§~3¡PØÒҢˆËåjóþ°G(WÖÖ6dTû¤ÖØØhükW__Ÿ““caañDòõññÑVçNɽAebšVƒ~0ñƒ¯V3¿û,66VWScŠL&+,,Å~ÙlvqqñöíÛµÖJ$EuuÇçó©TêàÚ¦¦&7ä e2“ÉÔoÖÑÑ‘‘‘¡ËÆÎή¡¡A½¶¢(+lǾ;Mšõä³ù¯-r|àÅ‹íJJJ¼½½­¬¬žH¾¶¶¶šÓ@/ï»#‚¦ž?°>”jeca†h=¶ën³Ó¤ôôôþ|û¹Ì¢÷ß4²|©TêàSЕ¦(((ðõõÕcÃ`0ô4hiiinn®«Ö‚F£ ®‰DzŽR?Eõ›Éår2™¬ËFcðØ×Þz烇ÞÿR*l¯+gù¯š?ø@Ã}8ŠÐh4kkë'’ï`~øüÓºv‰_pÔæ5hÁ—ù½oÏ`h»/ôüt¡' ««+//ÏÈÚ.†EGGë—¯ÉAЬ3 r¯v÷)¦:¹2ÈU‰Ù—UÚP¬ž#è¿-öÕœœèø,eÒØpÀÒÓ²cNJW8½8o±Çí ¸Ò?2íìì˜Læ‰Äœq®à ¡ì ô[‘–_®Z°„„„¨jç¹Í%!'ÀÑÕ#õçŸæM3ŸhòÕÈå_:߃á>ë|oeýxªôrR~³T¶7=,­ìÃ>Ùç2•>¸2ª<õÍÞ¯£œWR(†'ê ÙПùg³ÙMMMºj‹‹‹QU(åÝÝÝåååCRÏðš¹Õ©?fôˆ% ê8]eSx9ç€v ÏÂAU[WW·zõê××ø„D£Q¹·‹¸·‹t­¢ŒŸ¬¬¬LMM577×u[ɶEØ:g€˜Ýºß[_œKGI³éNž‡¾‹~ÕÝà4ÅC ÜTò—Á†ôøt·- ÙПùÏÌÌÔ³1FÛ¬ü4[Ú@Ò5Ÿ¢ªJ‹ÛÿØ*<`¯úµ)((ˆˆˆ0Ñm‹÷JÛ<<-w‡±9"áÀfÊ”%1»Ã?ÿøãPŸEn7«nœL-ØóîªÇò5e—æ=A_×òŽ—üÕ©^b¿Ø3ÌoÕ34s«™Ìœ†ƒ‚ÐÚm~O UªJlfº«þß²+RI¡ÿZXBP>ëüßß²1ÎM¯óí¡LBÿO?›cI~ʱ/Ù Ù´r& óÏÆˆ„@+J. üS({ÕÚvÿÎOn~þëß×÷€…)eI—*7¯}%ê¯+Ãí«à·câëÕKÜB÷>SòýëZºïú­*ušQŸ¤_L¡öM¡k‡sgN©^"90tO ÑSÃÄGEEiº…î} òÕz„Ó,9ìÛ ÍV´ä“ ³dG*zlÿ‘š9¶2!À­d«ºzÉnÉêòâüÁM ÉÝfŠƒƒƒz ¥ùî°±/!‘H”8Áb±¨Êpb_"nß.õ™A´øÐ?(ðtz¶D†Ñ,m¶½Ë½]Ƚ]hÈùÖÕÕÔ7öUôq4. $-E8ùŽIì[–yÌÊu…ÇÛjKΜ¹zùö5oŸªÜ*®Ä Þ,B2Ï/)>úÃÉ›:œgÏ ûh‡Û “a6ðɶ-³”ôs¯._éÕÀþ>æ«Å/9{M™{*çƒM¯§Ô¤fe»0ȃó¾555ööö2ïË.úeë¶5-”bùÙÀãÑIÙW4ö6¼·sX;»-Š‹O‚b¹|f‘•SÁßc~¸i'ÉÒ®>m7«,ÑÁŽ>ØÞÍýµÄÄ×t¶6–Èd2™Lf`§2™ Ã0ýÆ"‘H½ÁvÎêó+&—H$Uí†ÿI>•ÂoïLužÃLLzž&¤m …Bõ£Œ†H$’J¥†ôk¸G©TÚÓÓƒã¸öYtÈß¶()))++³··b™)ã¿ö½ïË“ÆßmËåT*ÕÀ¥[llldd¤f.?¦8ýýCIp¬'e8;¼Ô_“õKZÎÅ|õùõPì6–´àxŸ¸ f–ˆŽ¬Žã†éüXÁ˜Ááp8ÎÆ QF3òðúŸß@tym´Bl\)Aðí÷— GûÒ «¨þøjK·ûì›.’YŽ®åõ&t¾†/ÝÆ!#dçÊù¸Ý_Ÿ:{Iò™Ó3ž£"$Ú,s2&½;!÷Àñ8ðø¾«ÝË~ªÿx5ðškëîdú‹³]ÌßK7Ò#¢êî=¬kà~}xþéèp—ðdjñâÄÜÀÿŒSÀ^‹­ë ÂPÚœ¹ó¡žLF¾vKœÁ½j‚•Ù}JÂÑÓݴ着ªªŠýåŽíêûºÕÙ³gW®\9}úôGE»"… K…Öùƒ-ð»,ÆÍ²fdÔÞ¸`†ï·Âº¤މ·­_:×{n‚ñÓXï Œs”J¥\.7ÑÁyÐå䘭;÷#ô)4BBê~µàŠëdsS|ß«/‡û¦ÈÉ ên+¾UJ²´÷öZJ…kˆiÉyŠÀß¶€@ùB P¾”/Êò…@ |!(_ÈÄâÿÝ_UH·ÎX)IEND®B`‚nted-1.10.18/doc/docimages/insert_example.png0000664001041000007640000000403111520267216015761 00000000000000‰PNG  IHDRž5?<Å pHYs ‰ ‰7ÉË­tIME× :?>ÜøIDATxÚí\mPSW~orCŒù€Ä0Šò骴BeX¶ëÒUêR¤t§i­Ã2c:Ñ툋C]Æ-;ìÌÚmwÝÝ©LYGœ©€Îª³ÖZm #â1#Ÿ"±Y"HbBBroîþv)ù“ä¦çù•¹çž÷}îyÎÉyÏ{î¹EQ€Ž`¡&@Ò" i´HZ$-B¸JK„^¯7™LÁ›3éFu:§ÓjÎv»]§ÓY,Ú-ceeeÀb±\.×Ô% s/vF#ŸÏÇq|ªL»gÁþ®©©IHH(,, ÒΕÏ.ôõ8p€Çã…”³V«mllÌÎÎÎÌÌ ÀAB¡ð÷àÛ¶mó%»L&“Ëå999îjŒÀñãÇ—,Y’››¤»ŠÖ¾þAtþ¬U!%ÜÝÝÝÔÔ”””çžžž²²²††‘H4³Œò ‰DR__O’$Åà8ž——¼Ý»ò B9äíãß¼y“ÍfWUUS]¯×{¡0Ê&-Û}ŽÂ¨ðDïǯÕÜ}Œ¤ CP”³|sÊN iÃޱ[[ߪCÒ† 0$øTû<¸(?üÕC$mxHËÅ0¬«÷Fů^t_ùû/ß™t1èp…Bᫌ$IµZ­P(X,ÆôŠ¢ÆÆÆü<Ôa0 Oc/(9‘œrb嫹-gÿé3ÖÓK¸¿¿´Zm`œÝÕ;;;£¢¢föN™Læ«Ú¥K—ÒÓÓW®\É ”Åùóçcbb²³³ƒ´ÓÞÞ®Ñh ¸\.Ø)¯¶v‘wË«¯Dátvt½^ßÒÒ’ššºvíÚ€«ïܹÓÍ¥,fGQQ†aÓS}gÞ€çJn ”Å3AжD!IrÆ•5EuÛײ˜Þ—FÎáF}·“<Øl¶çÅwÎ~Ê'4û¯-LÎÏ@Zý“Y)ÒØ„ôª‹÷§_¹ñú/†Ôu""^ÿêªÖ#ÿB‹Ÿ)oÿÍmÕð£÷*díã“Sÿx“Ú×w–þóá³þ6}¸Ï¨üƒ ´OätcŸŒX€´ÍϺe¡>’%0KZѪÉœñ“Ã$-À§¥/þ¿i׎Ù»nYò™¶GâÕ•Órœw¥‚æ’`ëŸn|q²"gC2ƒ×*¿ÚçG4†ñù|±XL³´”£â·ۮ¼áÇu0àp8Á[Žˆˆ€¨¨(OS,­-aW"]ä…B!ðx¼À º«{åªõ²<î9zoRrõ§1 MŒtÜ1ýv…Q^Ð|¸)ög5K9ŒL„Q¤¥>ê=Föó=j]Îу- ÿó2C‡¬¡÷}Ù©ß1‚ê|áÖƒz<ùXÚ*íèííï¯_ªó=jÏ–|ÿZƒ1TÚµ{s™Bu^¥o?Úkøó•¬Ùé¦ÞÂç-B*­J¥¢(ª££#0Îîê^yâF£Ñg4HQV«Õh4Ò%msëØÊM…~<>Š„U­ìWÝWkGFÍV›Ë_‘œ N§ó)]Pê®î~ÕÃÑÇv‚ÃÆ®ˆ7Zì`2™h=¬çÅÑÒØ°Ùl5Ëøø¸OžL|Ʀ묔FsÙ^ó,[v옻)m[ýŽç—z3ƒÃ÷_  ¾±X<ŒÅ Å 4Ï e$º~Ÿ·§zhÚëü¢å«×§Hu=ß(uv ¨Î9ï·xçåCuåí‹€¯M“2:Âa?Ž\. ØèŸq&mÏ©}/ìý„¤(Ä¥ïzSö‹çWaSF‹Ö —Y=§ÍÔû òì’:ÿŸÍª±È’‚å<Gßmiÿ@¥µ>Û¸¯Ž¤¨ÈÕ¹|XùvþOðik¨1e›ÅE/zõìq©]µeOݬŸC+ˆÏÍÑKk’C9cÎ\ûÍ»©!ÌÐ~ÿÌë£ÞÖªƒ¯‹p–{ŽüË€iVSÿ½öʬ-#I=<çP; “¹ÖpÇi1ڥѸºëöÕË—Î555ßÓ<‰}Ø»?j9˜9«)ÛˆÙÿ lîòS×+‚çš®@çk‘´HZ$-’! üÍT©+aÉôIEND®B`‚nted-1.10.18/doc/docimages/lyrics.png0000664001041000007640000001317211520267216014255 00000000000000‰PNG  IHDRŠ•Éë*½ pHYs ‰ ‰7ÉË­tIME× 754¥*IDATxÚíy@TåúÇŸaX‡5DTPDSÃ%—^×4/®¹k™y½ifý.¥‰·¬néuÉ¥[ФVþJˆRÅk¸]LqQ@’Ep…a‡f;÷q@–9gæÌðýüÙÃð>ç}ŸÃ÷¼ïsžóÃ0üà C€<ä yÈò'€< Oy@žò'ä OÈXŽ<)«2¾üdý‘ø Œ;€GòTrûç¾!Ÿ­{ed¯ÁsÖ=R¨1úpT*=xð`nn.äI/*ïGòjBQæãƒë½S®BaØG,Ï™3'>>òÔ2ŒªbñŸ^˪Qêî,¸62ä$Î$€)åéNØ´Ã’J­=k@³öÊéÒZø`"yR×,ýè’fÓëÏ!éEÒ¼¤ï„VDĨªWoI¦‘§’?>¾\^KD¢NS®þÂßÅÆãù׿í­ùmÖQðhWÄÅÅõìÙ3..Cazyº³ã¸fcÙѽ]m…ší«ûj6ª‹ŽÀ ]!“ɲ²²d2†Âôòtòä"rì¼pëðÎu;]zõÓl¨jóá€iäé°´šˆ^ÜñÏz–všŸB;/ø`ybTe·«D>£»î~yi¦fÃÁ}|øCZZÚæÍ›3331–/OÊmÞj{¡î~It–f£kð,øð‡›7o†††ŠÅb E{˜=U4º?j¿öê4mU?ø`yXicLJÇW*%ÿ¿%·œˆl}êïL OB[mä[Á<Ö'F¾zâ{šÍ¾+wÛ à@ãXëÿÕ{÷î…‡‡ß½{7//oÔ¨Qz.ï4?BCC¬D”wå§ÓЉH  ’ ý>°lbbbÒÒÒÖ¬YÃz˵µµJ¥ÒÑÑ‘Å6ÓÒÒˆhÿþý.\àh@4qwNMH$"ŠŠŠJNN6‹“„a˜²²2++«6Ê“D"Ù¼y³fûóÏ?×ó¯vmý¢RÅ =ÖÛVX–~xÁ–ûšý½çm\0‰µÀSÕý+q©òÉ“þ 9àׯ_OKK?~<ë-GEE¥¦¦®_¿žÍÕ„•ULLL``à°aÃ8ggçC‡qj"555""¢ÿþcÇŽ5‹“¤ªªjúôé:uj¨[z¢+öúÿÕX7{"ºPV[]øß~"ÍŸ;xL,T¨–PVg¹Ù 6 à ,hÕ £?7n f·Íˆˆ":~ü8wrüøq®MhþU#""Ìå$)--%¢œœœû9OË rµ%¢ÌrÉkC¦¥ÉD$°²Ýt6ÒÚ5Ó{æ‹/­!Raª€%Á¹< íâHDÛçŽ8”£M2ýÉ™w¸³Õþ½_—¯ˆ¾GD ƒò›z±sçεk×b䉑 ©ªû8fúL–&kŒòzìq»Átr ¢ƒêT<'..N&“sg">>¾¬¬ŒSº\½z577— ׈Åb©TÄb›¹¹¹W¯^ òòâjVžŸŸÏ© ©T7lØ0¯sŒZ^TPPZ^)W26vn;º:°Õ¸B¡ˆŽŽ‰D,ÈS‹']Üð§EßéîYzîæÚnÎìœñÛg­Éžwîkmµƒž={êyTügîܹyyyÜåÑÒ¥KÓÓÓ95¡KHHȱcǸpMxxxBB¾}ûXlóرc!!!ûöí3f wW ¥K—rj"!!aîܹ;vì˜:uªá­©•EQ_nܵ?æau½—-ù½8/,ü³^"¡á&***/\¸àííÍÂâÎÏϯ™ß*«ÅsÞ>P÷±¿—(5_–ž#òågxOJï„/;`wóáû~öÂV•Y`ooommÍiGD"×&tqrrâÈ5îîî"‘ˆÝ–5YËžžžÜÏ;w¸6‘——§é‹á&dyg§Í8ÝH鑬‹Q‹ßœi•á\VVFD>>> ¦{œ„Æ÷Ι˜X!×lûN ûiu"Êù)›•Æ/.ú´–ÉûKàs}S÷«>}ú¼0î¬Ø`gÍU™4®ÿäFµICÁõ œû¡ñüókV×V¡³u <õÓß<²‰®'ÇM0¼ýàë¼OðøÅyÜU‹‰‰ùꫯöìÙÓ£Gœµ ðã¬iWJjš›ì»¿lNòÄ(K_ŸñUÝÇ…¢{;X×zÏ'úVVY£þÚÞÊ,ý$‘HΜ9SYY‰Sðµ¢øòÙ¸¤ÛwKd*ok eÔ$¹ÉKOÞoþ;c7ýÓœä)m÷+§‹µrûLŸ}Ó|‰ÈÎmL;áƒÚâ#EÕó;:àd€=a*ØóÉê ÿþI"S4Ô—ZƒžB•×–6׬óˆU¿.îÍiïØœÌ¨•Eóׯ×}üôØ'[·šßQDD?g”±h®B²Y{zö1ˆ=v…,ïìËÏú¿µñ‡§µ‰ˆ6nŒ5hæb×½™ßz-»·É†ãr’lΞîýúzJ•v˜:ßön¯'I˜Ü·J*.¾³dª—@%°ëìÝýùaASgLîáfÛfsÎ]׈ÅkpŽ‚ö‰&nÝLl¨,+Úp+#Ÿï‘˜š#S=yÞÞÖÕoÉë·‡Îwà>PÓÆ¼§Áƒ?ý…Ü”›…rí|Ò' °ããw£ÈÏç•ËŸ2.tóðìÖµ³­ßkúæææöë×ÏÁÛÅizzº\.àÎDFFFuu5§&tÉÎÎ...nô„1‡VVVúûû³Øfqqqvv¶¿¿¿«+kO8£¬¬¨UתԌÐÚVMô ÷žá&¤wSržþŸÒ] ]öjûâN.OIIñôôôöìXQY%—+ÐÎÞÁɉ}]R©T7oÞ °µ­?_a«]MÉ©ºßº÷û¸nyæÆ÷h.ÓÑ+èxv¹¡å¬Ä1»÷þÂ]¹¬°°0"JNNæº.WPP§&‚ƒƒ¹6rtTòG»×.êú¸ £.a‡Žزƒ°…‹úäïÒ 1‘““CD¡¡¡–PŽ.ÿÜæºíW÷¿­]?üí…€égtò&:ùv÷t¯Wº*?þ•£.–Ö¶]zk²&Ÿ½âÍ…˜ðs }øÑQƒâ¼ªòÚfë›!nmX“§?Âïj—¦ÎC·Ñ þpÌÂt™B Œ˜¹|„‹Í;“”_T)ÍLØú÷iÂÇùJòФc?m³iTËü 5“ÐXz÷gCÚ·¶÷ÿrœwS¿5NÜÚœä)!]{W®çÂmšq©ÊÿR\"×¼}éÐî•Ý]ˆèZluðüþŽèß-yÜIÚ´öVQì¢Z&hûDQ|1öðÎm›>ÿ|ÿw>YÂVË-&4Ú:Œ{ûÄÏþ:A$¬÷/lëê·|Cdæïá>vB pkwî²j´ ¾ùa fãAluŸ¹qf_"ê=Ñ‹’ s"Ói¥ö-ïÛñý‰óùš?¼szãùy­2Šj™ ­ÂÔxºWÿ1¬4¾òL J÷Òö½†Î,l:­ÛwrͶœóç¯eå16N¾½þüâ‘•å¼<’5y²ˆÈÚ®ëÊ.NÚ Ñ…B"Z¼M›öî=¥}‘\–E4£î¯þzà£m J𴙍Uò¤©–yS<Æÿo@šyÌ5?5Žy2b`ÈÖÕwü_Kõk‹»þŽ6Ddç6®®V¯²JID¯{ká.='QuÑQ©ò‰ëœ»­˜ÜA{«^^y³PÑŠªe‚6ÐbTˆ…Kuû ™“< çID ó$Ãó%O"ºP¦½%çÐa1êÚdº¸¼ÿ“·¶TªôMÂÒTËŒýq\ZE‹Q!Vh!#ÀZZ¦²úþ­´X|^“¡V–&ÝÊtêþܳì5ßß¼Q¥bœýz»>I¾ªÌ¹.­!" Ô¾—šlíû\Wg"JLLlê¨Øi™úR?Qää\øðÒ2eRÒ-u³§¼ý3ý»t´³³ca0Tr®¹£.-³K—.\Ûâ<-S­,}ÎцˆÞ¹QP·s÷¤nûê>nñs#"¿Yqõ^š:JÛy箫õ<’s÷›ý]ÝÇ6ôi™¬7ÛT ¢‹§?ñ&-SQ}×J h>*$WãÕΗ–)ºîoX°¹.€ô·èK“/Ö}gèD$½zJ÷w¦hó ú…èµR+½>e'þË:ÑL bùà þ'¢Bí4öDD?::ØÙ¶D¼mÖ®š=BÛ®{Ïü£î ]§w%¢ªGû•g}‡öf9×N­¬)-)«–+H ´9¹¹: 9ž4UUU) 777H GWÊøøøîÝ»³[´‰“–)((ððð … aL2"GiìÎÔÉÞä?¬§e6•ÄèàæéÕÍ œId³KËl c'Ù»ôÕ>a—wEÚn¯KÍÄ­«K·F0X Æ–'»g´z_/nŸ#n„¸52eÀþKÌKnÇnÙq+»ÈÃoàëï~0îÙz¯£°uÒ«+O/çí pšÊØb£µ}7C¯9È<§F–-ù¿ô¸@ª½C÷[äÞo¶]¼ó/t¬û‚ÐÞï±0<ަR;÷y‘­ö[Lb|9ì+¶y°¸«GÊ¿>“êd¨Ek'-V2ºKíãxnÏðm,š =_dGžÄ€©ä©"³aH¥ºèÄ!iuÝǪ¼“š ÷Áî¼ã<׊¸5&“'ÏqžOï¬ÒYÇÝ‹LÓlø ÷àCÿ ×O˜ÔbÅ´´4Í—+++Ûlqkô½œ³Û\KiÕ5Ý=öîãvÕ}ü6"›ˆVø¹ò¡ÿ™™™ÑÑÑŒZ¶ýÊ£æ¿é;z^BBBRR-_¾¼Íù™ˆ[ '­Èדúº!.Ñlw ;9µ§‹æcÉíîýÞ'¢žsɈšÍŸQPÖd؉z«›ŠÎ#VÝ¿ø–] ý V«ËÊÊìíí¹.`ݬ'z–gýàbmEDïœO•Ôí—=º<¡³ˆˆì\†§Ë|Ë‘ýj|“yx-Ë©Q"#Ãþ쉈îþ¼jÀ‚í5j†ˆÜ|ŸØ×Q]r>ö\¡Beeã–xwY€;ﮊ‚ o½¶iÿ™Îs­¶®~K>X¿=t¾9•°‹»æ‘ü¾oþïÅ׿f÷LÿíGN®Åß·fÊËÀÒ剈µìü‘Èc§Ïÿ‘+µvé4dä¤ÅKfuqÀ)€©å 1ä OÈ@ž'€<ä yÈòd¹K2jÌî˜dèÌå˜95ÄbãÆ3­ay2h2ÌõêÃL»cŽ5 Œ6>&3­a€Å€§´wyj0emfúÊ]±f.S­5jäîpÔ Ëp7wƒÃn/øìD<\oè5Žoô–mƒ_>½×'Ù¤îk­Í-0Bw¸î…Y»ÛƒÃJ/xîDÈ‹;€< Oy´3–ÙøÍ‹ïe°òpFÙ“ ¹¸›SC,6Îg'BžžxH×->ÃÍJµ ŽŒ³;&:sq7§†Xlœ·NÄ⮑KA‹.$6AâΨ1»c’¡3wsjˆÅÆyëDȱ'‹X6¿“ëæÒ2O†Î\Æïæ„<±¿(0ÎÿwíSL2tæ2>F«ŠgF' wæw1!¼è“©ö4™‚<µâÒ¡ç³ÝfaÔ˜Ý1ÉЙË1sjˆÅÆMâD,îÚè!cÎü92jÌî˜E%rS3§†XlÜøNDÅOÁâyÈò'ä Oy@žò€<ä OÈ´žÿx1yˬÿqIEND®B`‚nted-1.10.18/doc/docimages/slur_handles.png0000664001041000007640000002036611520267216015436 00000000000000‰PNG  IHDRès’NøsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ *I«ÛtEXtCommentCreated with GIMPW IDATxÚí}y|SUÚÿ7Mº¥mºÐ…ÒBj)mRJË*0€ ˆ‚ "Ìo@e”â ï  òŠ#ãïuÀ F}]†MQ@AZŲ B¡iÓÒ•t_ÓtKÒlçýã’´¡[ö6á|?Ÿûù$77çž{îùžç<Ïyžç°!.´ (((A)(((A)((A)((ìm ÛC£Ñ °°B¡ÙÙÙÈÎÎFYY~ûí7JP {¢¬¬ ÙÙÙdÌÍÍ…B¡èrmuu5L JAamH$ê©TjtgΜÁŠ+(A)(Ì…L&ƒH$‚P(„H$BVV²³³QYYiqÙÙÙÙtŠKAa Ôj5 ôÓÓœœdee¡¸¸Z­Öâòýýý!©TŠƒbáÂ…” ÷B,#''B¡POF‘H¥RiqÙžžžˆ×“111  Ó_³{÷nø|>þ³¯¯/ÀÏÏQQQ=z´ÑeVVVv©oVV%(…ケXlЩ³³³‘——g=‘ËåêõÄÎd 5»Ì¦¦¦.õ …H$tŠKḨ¯¯×/]t¶ ¶´´XEO @mm-Ö¯_I“&Ïç#::..æyºjµZdffv!cYY™ÕÛ†EãA)ì…ÖÖVƒuD]ç®­­µJù‘‘‘ú))ŸÏGBBâãã±mÛ6lܸb±Æ 3ºŸ¡C‡\·qãÆ.ƒ‰S´1ç0fM]‰ßÀ[o yñ&ü°ÿq¥I¬ ­V«×;OQóóó­¢'úøøè5|>ééé8qâ ô‹û¦B"‘àÊ•+€ŒŒ L™2Åä0®ÞôĘ˜êôDk¹ç9`_‚jXµé’þkèÖ!ãÄ;ð+9€¨”gѪтhäØð®7ÿ9æ¾Òu+ÉXXXµZmqù<Ï`]N(--ž}ûn49û ãÚ¼y³ù’ÃAtt4òóó1nÜ8¼òÊ+Vã¢íÎ0”ÿw\nnpƒçáêÙ÷îÆF­À§Ó6á©ôr@ñW‡'%¨.²á^™Lf=1>>ÞÀh£ÓÍ…½Â¸:×7>> …~~~HIIÁ¢E‹îÛY”] šûáIýç¾û„!ç]LÜ0¸KPy÷ÞwŠþå—_pôèQ«D6èÕDGGC¡P ®®_~ù¥^O¼×cÅÔÔÔàðáÃýÆu/¬±tB j"Μ©x…,Çû ݵxÄ8 дW9MÿþûïØ¹s§Ùÿ 5èÔº)*—ËÅòåËqêÔ),Y²Äèòº ãÊÌÌÔëw(jµË—/Grr²U¸(Aí„£õŒãñ¤ÿÑ5¥=«Ã(Ävwž—iìZ ¯¯o·fРAfßÛÖa\:÷¼Îõýàƒ°gÏìܹÓìuPŠ~ (Ñ4!§YßóDWH)-Òö ˜ï4 |¯×‰.²á^›ˆˆ³ïÑ]Wvv6jjj¬ò =…quçQÓyM”ªV”ê?GytµÄ•/ÖìI§ià   ÀÚµk‘ššÚmdƒ±¸7Œ+##---àñxVqÏóòòÂøñã ¢, ã¢p Úû´êÐçtþúx§kèñãÇ#..Îh=Ñ–a\ÞÞÞ9r¤ÞY=$$Ë—/ǦM›ðÚk¯QVÜe¹tè˜jp:Í„ZË¿À»¥ÍÌ”Ð;›cüî›`ï0.@€¨¨(ƒ©hii)eÂýNP¶[‡áGE8ºB”Ø0û%ýo#ÿ²îN¨Æ( \¹r¥ßø( Få$ºpá¦L™¢ÿž’’bÖÍ®_¿•œ¢— mÕùÈ«h¹ÛÑ8™”Oçahii)êêê¬7¢r8ðôô„§§'ÚÚÚ —Ë‘˜˜h‘‡R©„P(DXXX¯;m™ò¼IIIÕI£ÑàæÍ› 2)Pw¨®®FEEÅÖÍ›7áë단¨(#u;5Z[Z “·C£%`sÜÀõö¼µ ¥¥¥}y#pþüy@˜ Ž @ ä*B!µW·–¾Ü±›.{@šw‚ìþäk»ÜkÍš5mgìáããC&L˜@V­ZE¶oßNÒÒÒHMMAÙË–-#¾¾¾×Q,dË–-—•ššJ©TjÙ;’J ’ššjq¶lÙB±XlqY¾¾¾dÙ²e}^§QÖÝÿD¹®Ý¾ß¸IÉÊÊêµ»®ƒŽövÃÏRª•Z„·þ‚iÓ^…BËpÏÀÙøáÍñ6¯ƒFQŒ¹ãb“«W-¶ùýúr³36Œ‹Âq «LÇ‚ÉOàlIφњ¼‹K€É¾ A‹šËñ¯Éó!’©îܰ5ý9¶ÖÞûô \*ÀbÙ'0\·¾i‹0.ŠUk&fðçâJ£u\íJÐqa^€¸Ûžšˆ,qÇè2íÍ4¬M °ùýï[5ÇïÜÚkíò̺è}ûöáÙgŸ¥=ØA UIp9ýdæ Q¦/pFOz¸Ïÿ}õä|£Éé è3ɘ] :xj0p© Y—:™ö&~zcŠÍïÝ.½„9«…ýöÂ-Pøþ%f-ö¾¹oÿë ÊeªnHå†&5éñ¿I+7ú^˜˜˜CPŸXÄQž3ðë› ÖDm¤ybó¬'0ÿë›È›>„öB ³uG­Z‰ôŸóºÿMÓŒv#'f!×ãØÊؾ¥¬½¾­â]s¥ÓHä‹/EŒ‡íLj[ÿžÃö`ë4QAÑ»îØ9õ³±†îó$qƒ%Ð%é’H$—ÕÜÌx„ݹsÇ¢›ºˆ›ææf‹ë¤‹Á---í1CÅ7ÏD/þÌà¬àpa NžÎ~ù'ª`9¹aç‘1HÝòe·VW¨+¼Ö»žgÝÑZ°)A?Y2×[:Ò-FÌß…ƒøñÁ›>ØÅ?mF;©Ä£I ˆ‹‹Ó‡±3>¦½ü>0ìô…¸·ž›.»+%Ü|£±úí(úu†¹Û7« ÍL¨U¯bÍÉŽ0&7ï$ütðÏ,¹à*$Y'̲ك=v­íÝ)ÝÜçòòòh/èÎ) vÔ„>ÿgŠSÛ}h·ú§^R¹ã}gðêbdd\Eqeˆ«7"à“Áí§›”¨¥XñăsËÿs±ž´yÀ§Õ€BûoxЭXîcböî•¶Çÿšâ0gwš>popóÀÌy¦lBPÑî…8+éÙüãÖaß|æ¡Ýý¦#ÌŠv ¾mãé OÚSïSݱ/§8q"«{‚ÚÀ)` ÂêòK«nÀÓ/œÛüý›nä‚§ƒ˜©ÆáÂ&»}9nËT`±X˜¸h5&ò˜éÏÒ´LT5´¢¾èw¼ÿ·ù`wZ§T¶d≇6[­~ý°-nowŠeo§€¯N½Iþ<¸;iÚ—2’{Y—µHí ¿ßî°Ê_þÞrÖVµÛóÁb±ñê7BlY4FÅå¬:\=] üŃ¢Sðò‡Çñð¨Uõ̧úrê2·bã­õØ2jEu므íÂFÐD÷(ܧWîÈnõÏÃOßNkJKñ”¿¿ÓZ²oÈd˜mLÆ~kê Ï öÒ_óaY‹þüíÏ&$ê‰Ãús×6$$tâ±.å|ø‡Pƒû ™rÐRÍ“¼66˜¼úK¥ÝågöÙ€ÐAûÒ¿ýãíÿëÉf‘pîg·-z.•VKsrˆZë¤ (!dúíÛ¤^¥²¯ªKFÍqÇ_¼;¤àyÆj·òƒGôç†ÌÊXr u)ç¹ÿl2ø^ŸùŽEõêÏ€í;VØúݺ#|úi÷™æìíÞÒ‚?øø¨;ΠQ£Á #öè±*Aù^LüŸ»ß ƒ4&ê6&HvÅco8ã‡+oøõj÷ï3t æêð0R¶ÞDÊ<±­âfÿ½§¿²T‹’húÙHdŠîØZþ³Å†k8’Hð´Oo ÛÛmdm³tн{÷v{¾|ˆP¨d"ƒkjîª#o}´ã}˜ŠiÕÌ^¡DÛŽ·íÄ ?C%r;Ð ×ÿdï^“¼ iÇ—o¼ŠQÏlƹ¯>Ã9#ŸÃZ(årÁ¹»µÃÏ?ÿlö~+DÓ†â¼Û(­¬…L©…‡·† ‰ÂÂB(•Ê^ŸãâŽ×Lr è©,·…ëð¸ü3œ¾œ å½Nžxpö,y$§¿øÔ¢6S»¸ -.~ú ÙNJÐßýý¡ñðÀÞôtû‰B¦ÇUPÉDPh <îFŒ~¬ÿ#C؈ñ2;k»püíÁA±B¬ÒÖ.å{@çþÁrá"ÀŒì ßoGþ°%x;®6c*årÔÞscfˆ¦çOÁé×Шìº,äÁ êu‚hZp0Wjôý–>ßão,¶ûÓaöâÜA½´ „íŽAÁax & nVšŽ y<$45Á™Sv—zy!ö®sˆ]DZµ”$x1Fˆ¿Þ¨5øm÷œ¡$P°ÏàÜ»Ñ~‰~ò—® üSÃ:¶Aß`²Þ(ÚM||'"¹ºß2*¤ŠÅä½#GÌ2µU¤‘‡pê`±=z6¶ àL=aIQÉlk#ÎŒ™ùù¤Æ‘ÕD,¶/>)ðŸeï ³Öøçã—0×ËÐ1n ³tRÿÛO]ÊúHØ‘L,~éúã@ؾ%—#ª—åkèDÓó2Ž£9”·h4(loG’냎Œ:• ÁÆnâlíœDêör’âãF'>ºn8¢·|/<0• l·P¢ê4zK ßÓß‹íD²Z•V½ì%AUZ--™åê÷éì¡F/iô岨QÖ·ž›E¸l—.ÿuó&«ß>@dš!Yö74TV:µô,R(ÈüÂB£¯·z<(Û- ßýÂg½‹ãk'b½ïU¼ÿÇQ̈îe˜E{иd¿B£¬Â Ì ðH;þgQDzʸÿ>—cì]ÒÙ ·I¶›²ýƒM,ô@äÄgßêÃð303t‡ >wjé™)“a´)3[eõ;²zÔÝžE{i©Uv¦Û›.èË|ê÷"ÉK'ÏψèÈÆ66•´j¬«ÙB‚ãðÎg_'yPo´T*217×9ÅfS!EE„‘ÿÎÎ&ßçå1çŒé¯¶"(ÑÈÈ»ËGëÿà M!›>:Bª Œ6êÆ&ˆ¿`4q¿»W(‹Å&³S? õ*ë̽šË¶’#Ft{ŒyhEekÌñ{`™Ñeî˜Ögy¡“_ b…ÚiúðÞº:ònuµst×.B’“ Y¼˜ÌþæR9}:s®_ z—öÿ“LŒöíÐ)Ýȸi³É’¥KÉüGg?Ž¡nÄŸõ 9~Ý1^”²å™àïaœ®Èæš$‘Eo´fܾMJÛÛ— w 9*'Çà{_0+³üóÏ?oªvIU)Jº¶M-­+”ÐÜÀœqû‡øµÜ8ç¶[(ž[9Ï´VS¶¢ªªÍ2àâ oß„† ²ÃfSö…ŒËEúŒ˜wâ„SêSE"p4œNIAúCa˶m€_ãûR0ÊHÄçóqöìY”••¡®®ÎèTüÆ ß xñ0³KEʲeXì IĈZŠyû>1úú±kÿ‰Å³Ûb.¾õðÀ“„àq;lÅao¸55!ª¦//Ï ›Æ&$@ãîŽày}ØFIP[¢èà4Ä,û°èF-ŽŒrˆ†W+ áÎ…Öˆæ ™¸eßsØÄU¶Æ”Û·qtøpã×eeÀwß11€R üûßL¿qqG«Ö®Œ h¿·odÇÎÚ•Wê!¨Î `mZEŸNWÒ¶Rrö€âövx¹¸89…BààA :X½Ð=×ã›E¸~Oíî/Ж\“8Ô»¨Û8¾nlÄÒ€Ç~­8qX¶ øé'`Ó&`ÕªrZ›MqsNãÝûq«¤Ñ£±bí+˜1·ËuІoḑ6þ€Ê‹sîý(›:œ´®ÞxÏÕ Âå ”À@ÅØÜ\œ…Û±æfàÿ—‘˜ /¾ôjÔ왚-ê-«ú±£—¡^¥‹Àø>ù\ÌÅ5œÂ²=¢;DŽ™ ªóvy ~®¬¤ä4"…CÝÜœB!ðñÇÀ¹sÀsÏii€··Mne“)®ðŸou"'ª笄úªZ;2‡û%9~®±É (€ƒ žr”ém[#-'Nž~;ÈÌÖ­³9mFЖ¢î£0ä ?àH½Üð¹+Ïè?¤8AS(AÂɦ&ÌóõØ•ÌÌÖ¬€Ï?^‘ +V®¶÷· AÏÜó@tÏ4öÎŽ<ªÑ‚ T‚ökmmˆ÷ð×enoWY ¼÷˜Lž ¨ÕÌtö×_¹s;æJ²IëD-[Õíy€™XdØy?ÝÏläËrñÄ+ѾÝéLIu¿ãPc#žHÓÛÖVà‹/€‡†öîV®ÊË™ÏIIýR-›Ô+ôÏØg¨O†%=†ÃWìÚ˜» W1®rÑ‹¿ŸëØÛ”dP÷3´Î67c¯ŸÝ:e2àÈ`éR 8˜1øxx'O·o/½ôwò2[ù7Ixwá“þJ2²Ë ~—Õ\&³B¸qçM ·e*‡÷‰>,‘ÿïäÇÖÀ¹æf²êÎþ¹ys3!‡²h!\.!!!Û¶RQ1àÚʦ®~‡×#qÙ6(îê~ ˜4^ÚFdœ>‡:•.®Øu½/ß@ôjE¦y{cޝ/“½`Mi)žô÷ÇC>>ö¹au5pê#Ïœär €q,X¹HIÀz“Qvî2¹‡xIw>Ùy®Âi$ƒ)É îW(µZÂÏÉ!6–Ój ¹vÍ› ;–‹‘”„<þ8!_Mˆ;‹ Ø\é Ÿº …Ëñí|6ù¥õàð‚1fʬ|öI„y:œIÉ îS¤·´`†õÕÕŒÃ@Z#%««™ó\.°hðä“À£ö’ÚVB¿G³8 ŠÛÛñRy9ŽN£¬¸s«ƒ‚0ÑR—¸–fÙCGÊœœŽßx|8Î/Y‚ó»vA½x1RSSiãtƒCx#ôžæÚÛ™éé­[Àõë )oÝbHj Œ±gY³˜còdà>Xs¦µ«V­Bjj*’D"¼à„);¬……êü|$ææÙÙ ³²‡µºëØl`Ô(`Ò$†ŒÓ¦1Î÷(A­€2¥l6Ü p”JF_ ±«Ï怀Z ˆÅÌt´ ÈÏg>ççÃ[,Æ·ÝQ‡à``Ì&JäÁ™¨³¸R‚@Èd2\¬«ÃWWHµZpyv£p˜¦‰,¬@pP`šfðy-I;­Ò¡}ñ¬‚ÿ5=ÃÂ0Í]¼–~I;V¨Ã0$Y–-I’ºëšf¨Î˜wJZšeèz§g‘;¸L}ñÅŒ7޶¶6´@UU#ïENhY˜†±[%D #I²¢´{¦š†YìQm¶]^ÛªÍF^a!ñ‰‰˜¦ÉöÊJ‰OLÄÐuÖ­Z|f~Iÿd{@ð?£l˜fpÛÍ\Ôñ™ÚÙkaEÃ2Íè÷¤”´4+ inËÂ0 ÉÜÍZ7 6”—c‰‰‰lܸ§Ó‰®ëìØ±#rb¯×‹išÄÆÆâ÷ù°S<ôàg<õ-’RSÉÊËC‘eLÃÀ´,vlÛFC}=†®Óãˆ#ðz1‘Æúzëë1:Ò-+ø [=$ :,(…‰~Ï4Œàù!2y…-&º¦Ñãˆ#ðy½”¯]Û®ÿÏÝË4‘dI’"«f²,GÚóû|lX»]Óv¶'‚=L7Áìð35›Í†Íá àó¡i²,cw8P¯ÇÓîùo…žÝFÇv C²P!hRßÝJP@×ù|þ|ïÝ›ììl222X°`>ø .— ˲P…·ß~›’’úõë¦I«a€0Ç Á>cš&y……ü~¶lÚ„®ëØìv MÃÐuŠºt Nv;ÅÅ”¯]‹ªª¤¤§‡$Ëü~êwì  ( Y¹¹ØRÒÒ°;8œN’’“iill' [–…Ýn'9- WL ¦iR[]ÏëŲ,“’HHNN:n7 uuhš†eY”tíŠÏëE ˆÇïõ²£º]×),-LbÅÅ Il\³$ »ÝNJz:N— - nÇü> II¤ed°cûvZ››É-(@±Ù¨®ª"7?UU)(*Š´'’‘Á/S4$IB±ÙP5.O[ªÍÙ|^/F”<ÜŽÕ¡3´ø´WEÃ4MtMcݺu(ŠÂÝwßÍ¥—^JEEº®#I[·neÁ‚yä‘$$$ H1vû.'Áž ˲°;¤eeÑÒØHKS~¿, ]Ó"v]×wf”ebââ0- É4IÉÈ 6.Ž kÖ`˜fdR°Bÿ›÷M3b‘ˆ(%%ÄÆÇÓÚÒ‚ªªØìvÜmm¤ed_\ŒÇíF ÈÊË#.!MååÅ !)‰¶–N'‰II¦É¶-[ví?`˜&‡ƒ‚’N'-ÍÍ‘6Ö®XA[K Y¹¹ääçSïr‘žM]M ^'ÒFÇö„š!û h„æƒè ð{<¨ šœ[Bs†ßã!à÷·?¾CŒF´ÂQ4ÂÚH§1Mœ.ýúõãßÿþ7—_~9±±±ôîÝ›Í@¿~ý0 ƒ„„úôéCc}=›ËËE€¡@ üL6®]Kai)qññ$&%P¹i5Û·³iÃÒ³²ð{½lÙ¸1²Øã÷ù¨­®&19ÅfCóû‰‰‹‚îJ5Û¶Q\VFÝŽÔVW“š‘A\BBp¿¦Y–ÛÍ®ØXbãã©­©aÓ† ÈQnK9ùùø}>*Ö¯ÇãvSTZJzV111‘4‰>¯—Š pÅÆÒ¥[7\11 Il./'#;¿ßÏ–Š tMC’$œ11A¥¦µÓ4ñûýÄ'$OSC[7m¢´[7ò ñy½l©¨@’$6Eµ·µ¢-Ôž)¹`ï‹[Ñ.«Q~?Vk+qññø|>EÁ2MZš›ÃÚE´Æq§mçRÒ‚=ÑY¦‰ðÃ?ðÅ_0|øpÞxã >øà&L˜@zz:²,“––†Ãá`åÊ•˜ºôÏ{@ øY´45±ü›oˆ‰‹#!)‰‚âb’RR¨«©Ùi‰ hý0 I–ILJ¢ìÐCñù|xZ[#+IÍâ>åC«QíŽ Í~Ÿ/¸ReY^QUü~?º¦a…”¢|C×1t3de œ $rÊÐ ˜a'£ÐùäP\†ßçC Ð5 Ó0‚~Š˅ÇíÞ¹5o™Ñí `X–…Õ‰E#Œ¢(ºŒÁ =kEA v±h„Ÿ¿•˜ŠÆž\§B¯†AYY@€±cÇòùçŸÓØØHzz:~¿Ÿo¾ù†ââbÒÓÓ÷h!A瘦IÏ£Ž¢±¾Ÿ×‹¢Öut]á"°KVªˆ»UTÁ?‰`Jt)ê5Ã0‚.Q¡ýŽýV ¢Ïn·c_ÃÇÈQ×¶»ö@°{œN'>¯·SÙ_µÙ„]cEU‘e-ØåxM׃‹c,^'¨h8œÎÝvÂf³qÌñÇðüƒÕ«Wsî¹çâõz8p`§Ÿi¨«cå÷ß‹¾@ @paYN—+˜Ä£³§ÐÂU»ý ±K;F({Gü>ßÎÝ]toÀ€,^¼˜uë×sÚi§íñ~mIs@ @ðÛ(f8½ù¯dw…ÿ ä:¥ªêPm¶ˆfãñxPd‡Ó¹û¸Žv# @ ààS4!ש_#¯[–…a‘’Ñ躴h{ÑfŒh­pv“¨×öpvñM @ ™¢a†Š¶þZEÃ4 ŒÝ„K¨–eaé:±ññØ1ò@ Á›Í†ÓåúÕ혆Ñ.aHÀïÇÝÚ ’„N;˜ž™IrjêA™)Jœv6Uá·vƲÍ0ð4La@ üéðý ‘ØYVëëimiA‘eÔç:x‹ì5ûüÜûÖ'|øŸÕx5ý7Õ26…a‡wåºSû“ë7¡@ à«lüzñ¹ÝÿÑin;7t=Xê ˆ±0—~GLL,/ÝyŠÍþÛžOטÿå·¯C××ÎI’„)«¬¯näºsÏD·Àøá7s ²‰aÇÃó³> ©ÍKfr¼¸K@ ‚_£hȲ̦òrbbbHKOÿý{'I´º½ævv´ßPÉ€°—™Mµa"aZ¦¸C@ ‚_«hH’D]M ]{ô@ÿ­a,ËÄeS%¥ãÊ%KNEBu@@ ‚_¯h†±ß*îEÃ¥Ȩ’„!ËfP$ §"#Ô @ `?)eã Q4LÓÄi“Q$P$ ‡Ó‰,Ëx<îȱ.W ’$áq»qº\ü~$YÂéŠ FÀ[–e¡iZÈbc¡( 6›Ÿ×òÊ’P$p¨2 !@ ìGEÃ4ÍvІ$I8lö`Æ']Óðú|íÒWýVX¦‰S•‘% E M×øûQµu NŸÏKLL,7\=žÖÖ¦¿ð2÷Þv3_>žÆ†î¼e2²¬ Ëù…EœvæŸùÓñÐuukVñÞ¬™Ü|ç}‘jçŠDðœÂ¦!@ üvІÏïçïO>É;³g#Ë2ýúôáÚ«®"%9ù·W4, —*£Ê`J€†eòÃÒÿ°|ÙR6­_KI—2V~ÿ?,[ÊæŠrªÊÒ¯sîùÒÜPÏãæÍ÷>Äãñ°jåOû ¸ïÎ;Ñt»ï¿Ÿ¥Ë–Q\T„,Ë 6Œ+ÇG×u˜6?ÿ<½{ödæ¬Y<ôÈ#¼þÒK´µµ…ºcâ²É(2X!û‹!X8ì*>ûln¿u2]˺’”,®§JÁ¸n5d‘¤àÿjèóѯ)QÇFÞ—C1BÏ@ ö¢at z[@fz:®¾M×Ù¼e Óœ´” ðx½Ù»7· Pd™mUU”•–÷%‰¼œêêê(*(@UUº••áõz©Ù±ƒ†ÆFο䒠a¡ÚÜÁ pB]j0ëT8F#¬è?^x!=íÎ˯½N¬ËQ$‰Píʃ,¢Èl«Ü‚¢(ÄÅÆ ‡”YŽ:V¸N @ ûWÑ€]ƒÁ5MC’$\N'e¥¥Þ³'Õ55qøá(ŠBEEYYYhš†eY$''S¹m[$lCSe]ºDÚ4M]×INL$&&†¹ï¼ƒËåÂ4 šFccc»¾„ÓÛZrP 1¤ ¥CÁ"7+‹eË¿'/7—êšjLÓ kš(’…,×ãf{åV¼^/kÖ¬æñ¿ÿÑgEFZ*ë°°LU [4¬Pz[I¸N @ û[шX4,‹¥Ë–±üÇÉÊÈÀíñPYUňaÃP…‹Î;GŸzŠ£8×Ë þý9úÈ#Yòí·¼:s&º®ÓÖÒB¯=p{<¬{–ÍnçÂsÏåÎûîãÐîÝÑ5¤¤$N>Mӂ祷U$°¤ èo© 'ERB<6Eæ².X@B\œ>–¡sÒ¨Q$ÆÇcegÑ¥´”)“'!K2ùyyÜ}×]ôéÓ]×ÉÎÎâ¤Q£ÀÐQ¥`•ŽHz[¡g@ ¿iáܹ–awéBjz: ?ü´ŒŒvææfÖmØ€ÇëEUŠ‹ŠÈÍɉ(#+V®¤¾¡‡ÃAï^½ˆ‹¥jÛ66”—#Ë2ݺv%3#·ÛÍò~àø¾}Có‚ü´r% Øm6Š‹ŠÈÉÎngý°€~ƒcD}ÆápD”–°B$Ë2N§ǃÓé$ I‡£Ýqº®Ý´¬pÁ>>Ÿ)ä+%+ ß~ù%%eeÄÄÆŠ»D @ Øš¨Ø°EQ:·h¡ ))‰c>z·Çõ<ì°v¯†AvVÙYY‘×t]ÇétÒç¸ãÚ)’$Ñ«ÃçMÓlwþÎ׋nDz,¼^/’$EÞ¿¶»¾›¦‰ßïßëù@ Á¾£þšïN8ïìõè×ö&Ô ¡_ @ øïFC @ „¢!@ z:u Ç; üž}‘eYº˜@ @°;,ËêT^ßEÑhuµµXQç³²³á@*–El\_}þ¹¨¤!@ Ø-?'¶ø`YÈߟ¨6Ù¹¹u邪({P4$ Y–9cìXÀAs¦i¢‡Š Ãà°Ã§×QG‰_àe!+Š°Þ @°ïÚº¦¡kåå¾ë¿E͵eݺµ+!ñG@Ó4Öüô[+*()+Ûƒ¢" DŠÆÏÕ;ÓeY&&.޶––½¶'I†a`ÆLž´PUgLÌ>Ãÿ®Üm!I±ññ¸[[#ûäëµÙí(ªú‡\ià·Kµ@€¶ÖVÖ­^M÷ÃC×uLÓ Ö€3 ŒÐÿ²,ãp8øzñbJºtA¥ÞÛܬ( ®ØXZ››‘$é€Ê"?÷üÝ{öä£Ù³éÒ­ÛÞ΄.»Ý)÷ß&tɲLss3…ÅÅTnÙÒ®ŽÇÿŠ¢ðŸÿü‡ÉS¦°ä«¯p»Ý¿Ha³Ùl‘:%D\–eÚÚÚèÙ»7Ë¿ûUUÿð÷†eY˜0ÅZ ‚ßlÞŒú?>!ü‚@DÙ0BÅ¡MÃ@V\.×Ï’'TUeýúõŒ5Šªª*Ü­­ôúTU¥|ÆNuuõ^ϯÚlAªƒ\¸×+¿;ê˜c˜ýî»äçç5µÐ4ïI!÷«h…$\€/z?,Ðu<.¼}¼eY‘ÏìM° ¯ÈF÷-ü·­­-Ò¿}9_Çk k¥aKGø}Ã0ÚµÛ±í}ã迆a´ë¸?á×:;ÇkîìûPÃ0ðx½ tÿ9c«ª*ß|ó ]r xÚÚ"÷Aø\õ=ú; _Gg}Œ»½Ý?G€·á¾DïG+Ñ÷€ÛíÞåüÝ—{½³{2úõ_rì®Ý½÷j·\ûkå'`³ÙÄì$‚ÿz¢çn«ƒâeEb|÷eVÝìjšfdQx_d§=Éá{’Ã:“%LËúًһȎûrPEEMMM¼ôÒK¤¥§sÚ©§RPPÀâÅ‹ùÏÒ¥ÄÅÆ2jÔ(RSS©ªªbéwß‘Àª•+)**bذa|ñŬY»–¢ÂBN:é$oÌœIß>}øxþ|²³³9õ”S"™žV­^Í_|,Ë 2„.]º íƒ©),WlÚħŸ~ŠÛí¦kYGq²,³eËfÏ™ƒÝnç´SO%%%Y–Y³f ‹>ÿY–šO?ý”?üyó7nº®ÓÚÚʬY³?~<Û·ogÞÇS__Ozz:' Frrò>Ý\+V¬ ©©‰íÕÕ466rݵײfÍ>Y¸@ À€8¼wo~üñG***8õÔSÑ4 ·ÛÍÌ™3¹ì²Ë"ÖŠ¯¿ù§ÓÉÈ‘#ÉÎÊ¢ººšE‹‘‘™É?þHß>}ðûýÌŸ7åË—sÔQG1pà@|>ß^ûj³ÙxkÖ,|>N›ÆQGEQQŸ,\Hvv6Ë–-ãºk¯eÉ’%üðã†Á¡‡ʰ¡Cñz½¼5k `È2'Ÿ|2>[´ˆõë×ãr¹·çp8Xòõ×,]ºË44hŠ¢`š&Ë—-cþüùd¤§sÆg`·Û©ªªbÑ¢EÔ74˜˜ÈÈ#HOOgË–-üôÓOØÖ®]KiI #GŽÄï÷óúo0dÈæÎ‹ËåâŒÓO'!!UQX³n‹-Â2MB÷îÝ÷Ïü¿/¹\.œ999äåæËÜ?ä®»ï&++‹­••ÜÿÀøý~Ö¬YÃÅ—\† È/(à©§Ÿæ¯ãdz¡¼œÂ‚¦?ó ¯½þ:†apÝõ×óÔôéóæ›oòìsÏa³ÙX³f 7ß|3‡€I7ÜÀ¦M›öyåwãÆLœ4 ·ÛM~^nŸßÃá`Ú#PXPÀòåË™]a¼üÊ+Lºá’““iljâÖ[o¥®®I’X±r%ÉIIäæäpÿð‹/"I·ßy'÷Ü{/9ÙÙlÞ¼™&OÞ­2a±Óò[má–ðfý¾ëóŠMlb›ØÄ¶ß·Ý̧¦iR¹mµ Ô75!ïƒ'ŽÃáà½Ù³¹ñ¦›HNJ"55•¦æf,Ë¢µµ•9sæPZRÂ+¯¾Êý<€+6–õ6à(,(ÊÍ·Ü‚ßïgÅŠ\rÙelÙ²…ü¼<þþøã¼5kš¦qÕÕW3}útŠŠŠX²d “§LÁét²zÍn:‡ÃÝnçöÛogó¦MûEÑP÷j’$²³³IMKcذaäææb³ÙxòÉ'¹qʆ B]]cþügZZZe™^={rñEE„×ÇœžÕfI⥗^âÏcÆ Ë2×_{-eeeäåå1öœs˜pýõ|ùå—ôèуsÏ9Ã0Xµj‹¿úŠsÆŽ˜y¢]<:¨|ñÅ1î²Ë"css3~¿Ÿ&M"//^½zqÌqÇ¡( K–,¡¬¬ŒóÏ=Ó4Y²n èßEQ¸úª«HJJbãÆíüë$IŠìWmÛÆa‡ƨOÄáp:ugéØ_Y–A’1b£Ï<EQø¿·ß&;;›¿^~9’$±yófæ/XÀõ&ÐçOâÍ7ßä‹/æñ'Ÿä‘‡ÆÐ4^xñEÆÿõ¯œvÚi477sþ°£¦Y–)++ã’‹/Æétòõ×_“ŸŸÏ%]D||<~¿Ÿ'ž|’á#F ëz»¾FiØ-jà€¼1s&£GÆçõòí·ßRRRÂ¥—\‚Ífò,.¹øbªª’–šÊÝ÷ÞËÙþ3H'L ¤½ì© IDAT¤„£Ž:Š?õí‹$I¸ÝnZZZèß¿?ÙÙÙˆ›Ûu×\CÏž=)++ãì¿ü…É“'Gú^£Ç8ì=Æqqq >œ÷?ø€¡C‡RQQË墴¤„úúz.\È÷Ë—“˜˜ˆ0í‘G˜3{öNEEU#×ÙWÕHû&L %%….]ºÐûðé­®&!1‘Ò.]øSŸ>üãÿ`æÌ™Œ3†óÎ;ÇÃåãÇSQQAZZÚ>Ý#–eqÎØ±œzÊ)´µµñ·«®¢¼¼œ””.¾è"v;ªÝNvv6×\w—^r X×_wÝ»wç¸ãŽcÀ A˜¦¹gÛ¹Ií᡹?0îk¦‰x}>Ž=î8.X@llì϶Ž(ŠÒî7v0ŽcÁÿ&²,S^QARr2éÉɬ۸€´.¹í?öØcÜzóÍ <8è†-ˬ_·ŽØØX®¾ê*âââHKKã/çœÃ>Èñýú1dð`TUeÈ!Œ8ñD|>²,säGpá`·ÛñûýÌ;—SO>UU¹aâD²²³éqè¡}Ì1¼üòËÌŸ?ŸcŽ>š‹/ºÝ0Xµz5ß-[FCm¯ìFQÚ“Ûuçû€¶–¶nÞŒ®ëH²L ü àñx°,‹ /¾EQ$ ¯×‹ÊG||<>Ÿ„øx\.qññx½^âãâð†Üt,Ó¤¤¸]×ÉÍÉaÇŽÔÖÕ‘••ˆ’SRðx<¬Y±M×IÏÌ$-==rÑ~¿ŸÊM›ðx<l(/'//»ÝÞ.–Ä4M Ð4¸¸8ü~?–eQ[[Kff&ªªb©©©´´´DüÜ2²²ð…Úî8¸a™6ûnÝ»ÓçOâûï§­¹9ØßŒ Ò32"BpÀï§róæˆß[KK YØív4M£±±‘Ï?Ïœ÷߸´ÜyÇè~?W]uÓŸy†=z È2'œp­­­èšÆW^Éu& >¿?¨Ø1.IÉÉø¼ÞÈ~JJ ~¿Ÿââbªkjرm7n$)%…ܼ¼vþ{Û++i¨«C–ejkkwÑÎ]N'IÉɸÛÚÐu{î½—Ù³gãõùÐ4¢¢¢Èøbš&111W¸áÇS^QÁÀÁƒIOOçþ{ïåˆ#ŽÀ4 JJJ0tÌŒ Ûß¼ªÊ÷ß}Ìßœ“CbRRäÇëq»©Ü´  €Ín§_¿~<òè£x½^ÞÿàúöíKrRØÒÒÒðù|”vé¶mÛÚ¹÷H}ïQc•“ƒ×í&>..ø@ÉÌŒì{Ccî÷û™¿Ó4¹ïþûyûwðx<èºNRRÒ.ãír¹0tI’ø~éR\11äD„üޱ:Ñ>¢ß‹VîöÕÝJ’$-˜¦‰Óáà‡~ÀŠƒ‰ö'n·3ŸÑ7ß|“·þïÿxïÝwñy]»ucÉ’%¤¥¦îÒnǶ@ðÇB‘eÖ”—㊉¡ /æ† rrØ\U…ÃnÇårµ›[››©Ü¼Ý0PT•µµrÈ!;çУª*É©©ø<’““#²î¢Ï?çá‡fcE•••A¡ˆ'66¿ßOBbbÐ=>4¿æàóù"ò¸eš´¶µñècñü?ÿ €®ëŒ><Òß¶¦&~úþû]]Ÿe™äÔTrrsž¢áóùØ^YIv^阖…ÃéDÓ4bãâ04”ÔT|àÎ;ÿü`'BÖŒÈêhÔªsgŠ #Ôßyï=Æžs_ÍžÍ!‡–EIq1Í›‡ašèºÎª•+9òðÃéuä‘456²uófl6[D°Ü^YIL\eÝ»cw8ØZ]Í«¯½F[[444 i;ƒu£¿ìââbÞ}ï=ôPv€Ÿ~ú‰±cǶÓÒLÓ$55]×Ù\QAaq1óæÏ(W.§“_|€3Ï<“wÞ}—&M¢±±‘­›6a³ÙH i´Û++qÆÄÐåCPm6}õ^¯7"påæærþyç1ã¹çCÓhmmÅç÷3xÐ }ôQ¦ÞvçŸ>š¦ár¹HKOç®;îà¯W\TC®[ÕÛ·Gò7‡©®©aݺutëÞ9ï¿Oï^½ÈÈÍÅÏ–òr¶WU‘jk¶oÇçóÑãðÉ‹G]¾î8êëêØ^U…Ýn'&6-`{e%)™™A…ÕfCQUzõìɳÏ>Ë_~É¿^x€¦QXXˆ®ë¬\µŠ‡Æ»ï¾ËQG•™,%%…-[·bY†aðé§ŸRTT´‹ Ýñ^ÞÏÈÈàÆ)S¸aòäàoÌã!CC}=Û*+#ý×um[·’œ–FvNœœÌ¼yó9r$uuuÔÕÕ‘œœÌŽ;x𡇨۱ƒ”´4žzâ ýûßÛ ·ûtLŸ>ToÛÆ¶­[)*-XýÂý-//gãÆ4ŠŠ ºuíʰaÃ"m¼ýÎ;lÞ¼™®]»2êÄ÷)ÎIJ,ÌPdYFÓ4fΜÉgœAee%ëÖ¯Ç4MÊËËéZVÆ 'œ€ªª¬[¿ž èqè¡ 4ˆ9ï¿Ï–-[xèÁ4h ü´b–e±qãFÎ=š5k×2lèPLÓ¤¢¢‚M›6ѯ_?þù :”?ü—‹³Î:‹mÛ·³`Á\N'£G&>>UUY¹j‹-B’$† JYYuuu¼7{6½{õâËÅ‹ÉHOgô™g²jõjÜ3fÌ %9™3Ï<Ó4™ûá‡477“›“ðaȳ±@ üÁË—I!7ææÐ¨eYäffb…âÃÇz=¶WU‘SXHZZv§“^½zñÚë¯sã”)X–EK(½~g–€ÉS¦pÛÔ©üeìX6nØ@Ÿ~ýv×þCíGÃr^ˆS²²²¸büxž6 ÍïÇï÷SQQ–E\RÇü.×ínkcóÆÔTW“_Xع•§³=n7ñII¤¥§GôQ#GrÁE1òÄY¹z5÷Ýs}ôú÷gÀ€ÜxÓMøB+Ø­­­‘Ðt–ÖÖÈEjšFKè}Y’X¹r% àÁ‡âûî# i ;á1r$§œv%%% <¯×‹Ãé$%5•榦ˆ+FÀï'7?˲ðz< 0€n]»ræèÑô0€»î¾¯Ï‡×çÛ¹:Z…”$‰Áƒ“–šÊˆ‘#9é”SÈ/(à„aÃÐu=’ ײ,’’’˜0aÃGŽdÔÈ‘lß¶-¸âlY<7cýúõãø¾} „¯×‹Ãá -=¦¨þz}>ò °, Ÿ×T"¢ú6 rrrr$'ŸtÊ˃ß7ÐÔÔÔ®oMÍÍX!ëJjzzÄ÷3:#À–.å²Ë/§®®ŽÜœœ +ÙûïÏ]wÝÅk¯½Fii)Ó§OçÅý 5äV¶·-z"pó­·âõzùnÙ2.7ŽššrssyäÑGyoölLËâ¬1c%‰ÂÂBZZ[1M“ŒÌLbcc)*.&>>žeË—sù_ÿJ}}=¹¹¹,ýî;f<ÿ<Š¢`Yß-[Æ?_x¿ßÏ5×^ËsÏ=Gqq1‹—,á²Ë/gÆŒ”””°xÉn ņýðÃÜ:u*qqq(ŠÂmwÜAee%Õ55üíÊ+ùdáBJKKyåÕW¹ïÁIKKÃáp——G^~>Šª2é†ضmÅÅÅAw±Ð÷(6±‰Mlbûãla¡ÝÒRRh‹’Ê…-*C(³ &§¤ššŠ¦ixÝnî»ç–-[Æ€AƒŸÝnÇf³ašf»Ïtl7ì“Ûn,UÅa·GúÒÜÔDMu5¥¡j‰ׯçÐ^½"îháØˆè€l]×#uKÂ…^Â.á÷\.W;7—v}PGðû¿ß¢(hš†Íf‹݇5ÝßOY÷îÄÅÅñÝ×_Ógà@ÿâ .½ì26WTк—üÚ²,³jÅ ºr²,ãõz9®o_–|ù%/XÀÌ™3yí•WPU•½ôß}÷ÏNŸŽ3.Ž7^}•SO9=ÔÇwß{ÙsæðÊK/xwöl^~ùef¾þ:ªªòÞìÙ¼ûÞ{¼úòËÞ›=›9ï¿Ïã=FN~>ååd¤§SQQÁa½{³uÓ&RRRØXQÁÑÇ‹§­;˜˜®¹új4Mcâ¤Iœ4j…… <˜ŠòrâbbøjÉλðB6•—ÓëðÃùhî\RSS‘$‰!ÆqÆé§sÕ•WF~o¢@¦@ ü1°B•¾Ýmmüøý÷ô9þx´@ R°/\GÃ… ¸\.>˜=›±\@ÕÖ­ÄÄÆßÎJ-Ç…e¬h94,—ÆÅŵ“®ÿ.—+"g‡åî°áp8öYF Ë„ÉöK©ikW­¢GïÞÌ}ûm†Ÿr õ;vP±aŠ¢ì>\ŠZ™ + Øíö]²)Š‚+$ˆ…÷•ûªªâózÑ ›ÍÖéØl¶Ÿ—s¿cNú}I’Úíwv>Y–wé[Çvßél,ö­ÛR§×ÙYÿ£ïì3»ý>¢üE!&&&¢ÀuúãÙC_Êf4áöÃï;Žvm‡ûº»ñïx­eÑ0" lÇ~tì{ésøÿ¸}è8&ÑïE¿ÖñšöåžÚ—{l_ïçp`XÇ~vö½‡Ï}lÇëigR }çFhQÁ2M°‡’ÄÅÅᨭ«C×õ`Q"M#??Ÿm!×k†¬„ ‰‰8]®ˆrnYVä}3€n†^ÏÉÉÁëõâ )Ç9¹¹´´¶âr¹ðz½èºN›ÛÍc?ÎSÓ§G¤aw(EQHIIÁív“˜ˆÇã ¶:‡nš¨ŠÂó3fpï}÷ѵ{wÄ·ßNFF†ˆÓ‚?rÔk•[·²nÍü!/‹`Bš’ÒRœQ²X´ -§t&ÇEËa¹4¼0ÛÙ¼ÞQ¦ŠÞÿ%2ʾ&lÙÝÌö»•<¶;Œ»ì²}òïüï­Øl6.ºðB1¡Ë!CÈÛC°Õþóh·¶p@¶R ,Ó$##ƒ´´4>üè#N?ã æÿûßqċܾ´o™&VT v8p-Ú m† 555Q\R§Ÿ~ÊšU«è{üñ\ù·¿aSUü¡tÕ‘,t¡$Ó4IIIaÛöíøý~$Iâã °©êN VÈ2QX #øù¨`ïÌÌLþvÅÜwï½HŠB[K 𦱡¼<¢øEg:Sd9èÆ©iÄÆÄÐÜÜLll,oÌœ‰ßëeĉ'òÕ’%œvê©BÑ‚?’„°ôÛoÑuî‡FAAv‡ƒæ¦&6WT°±¼¼óZp’Ô.†ö¿XpÛí[¿‹¢΂óÔ“OF²ò—A´Pêp8˜öðóàÿòý¡( —\|qÐå ¶_Çœ1&¾@ R=ì¦ÖÖÖ†a_ä˜pjÛØØØþ­’„ÃáÀˆJ&¡†j±ˆ@ øã(N— Ûͼ>`ÄÉ'“œœq 6 #â`·ÛY³z5Ë—.åÜ‹.¢jëVbãâ‚ó“eQ¹y3V¯þÝk1Y–ELBB»Ea³Ù(*.¦°¸C×ÙTQÁ¡½{óáÏ‰Ñø¹kjj¢¹¹9’.6,àÕÕÕÑÊGVffD8¬¯¯§±±‡ÃÑ®nÆPkkkimkÃ4 bccÉÊÊŠ¼×ÐÐ@Cc#ŽP£Ÿ3ò[õ7<žõ·±‘††ì6[¤‚÷Áôƒ”e™;vÐÒÒBLL ™™™»[<ØúÛÖÖÆŽÚZÌP}•ÄÄÄHpµ¢(lݺ€¼¼¼ª”ë†ÁŽš¼^/v‡ƒ¬÷g[[555ïš÷z7ÊN$í´ª¶{0tŒŸÙ×ø˜½ÝËáØž=ù“vz®Nú&…R/w3µ§¸•ŽûÅIu›ŠŠ &Þp1.n‡† ã .ø]û-´«ªÊŠ+˜0iy¹¹ÔÖÕ1ñúëéß¿ÿAùàe™¦¦&n¼é¦`Ã`äÈ‘Œ=:r=555Œ<ñDtÃ`Ë–-¸÷’yia³fÍbþüù¨ªJRRW_}5ùyy‘8…§ž~š{î½—ÚššvÉö$øË¿á½¢( ²$E²„ @ðG@q8èÅa„ä Ä¤¤`’²ÆúÕ«é7t(ééé‡â2D_KØ!â.&I×·/sß{oÅúö›¢!Ë2œ>#†§ÿÀ‘×7N™Bqq1±11¼?w.—ǘ³Ïæñ'žà˜cŽá¶©SùÏÒ¥Üy×]Œ1‚äeÚKü~?“'O¦¸¨ˆ¸¸8>üè#οàþ2v,ÓŸy†Ã{÷æŽÛoçû~à¶Ûog䈿ëà÷û™4q"ÅÅÅÄÅÅññüùœ=v,çœw3žžîݺq÷Ýw³jÕ*nºåN9’ì½hšLIЉá†É“9{Ì®¼újf½ù&O<õ 8èÜó,Ë"66–«¯½–^={2)Td¯%ä›/…æ '2qâDþþøã´o[++™;w.O<þ8¹ùù‘‚ŽáX–Õ«W³iÓ&ÒÒÒöýAù+²¢ã3¢Š @ðÇÑ8ö¾ˆ¶‹¼#Ix=ì»Éú{ËBajkkIHHˆXí-ËÂroÞêþèˆ,ˤ¥¥µ+*ASQqqq$ÃKyy9%ÅŬ\µŠ‹.¼¿ßOQa!­--ÁŠÓÓ4) ÷/T•¸´¤$Ø¿•+¹mêTü~?ùyyx½ÞHÙ÷ß Ã0())‰ôwãÆ”Fçu×^K  ;;C×imk#û øíI´47³rÕ*^}å¼n7Gu&Mê´¢öÁÐ_ÇâE‹èѽ;Y™™degóÂ?ÿIײ2TUå7Þ W¯^yÄíªˆˆ¾•oØ@uM ç>+V®ä¯ãÆqkÈr¨ª*O›Æøñãùü‹/~ž¢ñ*–eÑ£gOaÍ`såA1O†bKdYfÕªU}ì±Ìxî9Î;6XQ½fíZ®½þz6oÞÌÔ©SÉÍËcÐÀÁ´ðûØÖ~ ßÝ몪2çý÷yzútÞž5‹¼Ü\LË">.޵µ”––âõzq8|0ÃJÎܹsyüÉ'™ùÆäçcš&ñññÔÖÖrÈ!‡à÷ù°ÛlóLòC÷õîðû|ø~g‹@ ÿ-X–EbJÊ~owýúõÜpà |ôÑG444ü.²’eš(ªÊ[o½ÅË/½Dvf&=ø =öCÖÏÚG%k¿I·£]õ@5T ëwÞá_/½ÄŒçž£¬kW4ŸÁƒóÔÓO3dèP–-X@Rbâ>WÜ_¨ªÊ{³g3cÆ ž}æºuï@ÀçcÐÀ<ó쳌9’Ï?ÿ§ËEBBÂïzSÛl6Þÿàžž>éO=Å¡‡½^<Ï¿ð§œr _ó H)‰ oY»GŽä¾àÅ_döœ9ôëÛ÷ LŸlYv›SN>™éÏ<ÃM7ß̼yóÈÌÈà°=øÛW`³ÙhiiAQâˆ¹Ó Õthmm¥¶¶–ôôtfÏžÍàÁƒ1tŸ>˜‚ÕïGVR’“÷š}L–eÖ¬]ËâÅ‹…UC ‚}Àï÷sÅWì÷vKKK™1cÇÿ}d ¬áõx˜2y2²,ã ¥u¿å–["qÖr‚`yòsÏ;×ßxš~žî9.7ŽsÎ;Y’8ꨣHJJbËÖ­\ÝuL˜8‘øøxJŠ‹yæ™gˆ? ƒéŒ‰áì¿üI’8æØc#ײ½ºš+¯¼’Í[¶˜HaAÓŸ~𤤤ßU0v¸\œ5f ’$ñ§ÿgïÎ㣪ÎŽÿî½³df²‡! !@°nÆ IDAT¾( È& nXEE´*àöV,Z Õ*îKµ.­ õµöÅÖ)µ‚{µ E‘Mö°oÙ÷Ìvï}ÿHfše!žïç“ÌÌ{Ïl÷œçžsž3|x0ÀËÍËãöÛncÏÞ½DÇÆÒ¥K^™?Ÿ¸¸¸vÓ///ç÷¿ûÓ¦OÇétrÎ9çðfu£¸=ª¨¨à¹ßþ–;ﺋˆˆºtî̯¿@JJ )))hšÆúõëyý73vl›eJIIaÊ”)Œ5Šüü|¦Ý|3·Ýz+ªª2yòdE¡¼¼œGy„É“'ãp8Nؽ«¨*šÕÚªF{œ#„B4…Ú ÃÓMÓÄápwJ§˜Õ‹ìºŽ"°hÓ@£¼¼œ?¿ý6ïüõ¯Áû¼n7e%%! RZ½ÞÆ+/¿Ìÿ¾öTGN­µêqCNT¾—~ÿ{^~å•SV¾“-ïóÏ=W•©”·nSQ¿û.ªÅºNEee»lxÊkš&o¾þ:úÓŸ‚ïiÍ»®ë 8ƒRVR|n[”í²K/eòäÉ (ø½^Ünwð=dÍ:–“CylT½ŠÑ, ?üð½{÷– áB!ÎX†aà÷ùÐTµêÿ^/j#ןjOÁOtÒ4ŒFÍÓh‘@CQ”{E y•7¥¹Ýn¨‘iª­ßàö^¾“-¯Çã©•j¬=5èeiÏÀC•·îw î6†aP^ZÚ¦ïu`%lYYÈÏ:ðÿÀw¥ÑekÅ Ïï÷Ó¿ôv’ @!„h Eùùäç瓚–Fey9û÷ì!£zhþɶAÿ¶u6ªškfo›Æ°ÈWB8©´fÓÉìßç󡪪ÌBÑ.5tÅ?2:š0§EU s:INK;éäaÖ\kCUUFE=ðù|¬^½šíÛ·7yÿ†a0pàÀàz4y$wÞy'EEE¨ªŠÇãaùòådggóé§Ÿ¢ijõךêv%‚¡ºIÍ )T°¢i—]v)))ìÞ½›÷ßÿ”§°BqúÔ›¡äæRPP@rj*奥Ø·î={âlä~»víZoßFõâymùÚTEaÇ®]ÄÇÅOQq1¤_ïÞè5.DJ !„hô‰%ð—™™ITT¯½ö111\xá…=z”¢¢¢fŸ”kÇ4M^|ñE¬V+={ödÒ¤I¼øâ‹¤§§SRRBQQ;w¦sçÎhšF^^»víBÓ42339xð (ŠÂÎ;)©N˜I÷îÝÑ4ýû÷søðá`ÊíšåYµjÛ·o'==½Õ‡Ž !„8ÃuF˜ÓI´i¢PÕ»Û¡C³‡·u»¢(è†AïÌLvìÞMqI †i’Õ«FõE¾ÆŽ6h“’[­Öà_{®È âþN‡/¹EÊÛfe×,–`ÙUUmWßå@¹,-ðS…„„víÚ…ªª”••Q^^Nxxx³N’[·n­5¼f„iš„……áóùÈÊÊ">>Ó4‰‹‹£¤¤„ÜÜ\Î=÷\ˆa 6Œ‘#G’ŸŸÕjeìØ±¨ªŠÝngìØ±(ŠBqq1ãÇ'11±ÞDt]×9räHð˜B!ÄI!¸ÂÉïØEQ°‡…Ñ©sg´Ó¬·\Õ4TME!=- §ÓIJr2«5ø˜ÚÈà©Õ_¹Ïëå³eËÐ4 Ó4¹hÒ$ŒvšyÆbµòÉûï!£Æ'Ìáh·_«ÕÊgK—bš&º®3rÜ8œ§hâPcËû¯eË0 ]×9oÌÂÛxí”æ|7¾]¹’¢ÂBLà ½gOºed´‹`£¬´”o¾ú*8ÔèÂË.Ãï÷Ÿô 3Ð5«( 6›ÊêôáNš¦Õ^u2t]'==½Ö±ßÛxEQ(((àÝwß­ÛZcˆÕ† 0ªSí•——sÙe—±víZV¯^Mnn.‡æÆoªÖê±Z­|ÿý÷øý~"""ÈÊÊâСC!Ëø “è B!F(yyÒ¥kW*ÊË9|àiÝ»Cí3EQ=ß¡MTÏY ô¢¨ªJ×®]C–»1=-mb™@t\ù99íþ‹ã÷û‰Ž‹£¢zýÓ¡¼Q±±T–•µÿòV§eŒ‰¡²¼ü´jÔ)€ßç#ÌéĪiè'Ùoí“¢ªÄtèPõkÊäéê^…À|¯×‹Íf«5.Ôï÷7kxQÍÞ‹šÍ“O>‰ÍfCUU,K°‹9°ÝÈ‘#éÙ³'‹%Ø“xJª×/ ôJæ~¸Ýn<ªªRRRBÇŽƒÁJ¨÷Ϭóú…Bˆãi¨¾Ôeª¢`±Z¼@g;u"?7—èèèvÓÞ±X­'¬órrˆ=a› múrLËi’¦R©þ’¨§QZMEQN«ò§mÚÒÀðºöX®æLd6k4¸ ÃàØ±c¤¦¦²iÓ&ÂÃÃq8”6#øVU•£G_o…p›Í†Íf«×ð7 ƒ°°0FŽÉóÏ?O~~>£FbäÈ‘!ç{n‰Ãá ¼¼œnݺ‘››ò ”Ïç öžx<I§+„¢Ñõn(Q11DEG/N¦¥§× 4ëaišF¬,vmÛFyIÉ)Ï~¨ª*>Ÿ-›6wÝ+Ã0(Èϧ{†QLÒ@£º!sZ}yN·!2䃳þ»ÜÌï@ÍìM[·n¥S§NL›6 Ã0Ø´iMÞw hu¬š)fk‹·ÛÍŽ;¸ñÆ)++ãØ±cØíöàœŽšû Ü.,,dçÎL:Ã0ÈÏÏgݺuõNàn·›Ûo¿¨¨(œN'³gÏfÁ‚'=ìL!„´jÖo5‡B†Qû"–iât¹8|à]SS §WŸ>”•”´‹^õaçWd碪ªª$$$†®ëDEG7x¡N²N !êõ x<>ûì³`ã\×õf¯LQ='pŒòòrž}öÙ`Qà~]×Y¶lY°WcÉ’%Ár†Áþó4McÞ¼yÁ“²Ïç«u{ÕªU¬Y³&øœÀP«º=)þóŸk•QV.BѨz³A+<œèØXöìÞ×í>=ç* aaaDDG‡µQh!Bœ?”àdíš÷5‡ÛíÆn·×J‹§ëzÈý†På<§î•Ÿš·SvEQ$°BÑä†v“ƒÓ¤c§NDDEáöxÐ å4{ù!ÛŽ°0ìv;FÁ’Bˆ`öˆÖZ…[UUòòòHJJjµc!„mEmf]RìhÇÙMpoÈ—Bˆ` ÑšÑRSS%}¬Bˆ3#ÐhF}Yó‚Û™P/ï¢Bˆà‰¢5{¤'C!Ä™hÔJ[NôÌ©´X,Áô離–@CQoNCKÓ47’™™)‡BˆÓ^0C¡¢PQ^ŽÇãip)EQ(-.nÕ ¡º®³{÷nzö쉢(sþ¨Qlß¶ ·Û}ÊÞ' 4„ ƒŽ;2pàÀV:5`À™|-„⌠44MÃïóQ˜—Gqa!q:„ÜVUUöfg‡œðè}p¹\x<ìÕ©Ú=ÕÙ¨ÂÂÂ@QðzýôSž|â |>ß|ó _-_NYYçBVïÞüjÎî¼ë.>ýøc^}õUlv;_|ñ{öîå§×_Ï-·Ü‚¢(äää0kÖ,ò ¸{Ö,þøÖ[|üÉ'”—–J !„hm1vtÑ¢ELž<¹Y+˜ !„í‰ D„‡cµXøìãéÖ½;)))ØívJJJØ·g999¤§§³£¸¸Á:xË–-¼ð ¼óç?óíÚµü|Ö,ÒÓÓùóÛoóíÚµ<ôÈ#|¸lüøãÁlذ¯½Æï_z‰+Vàóù(**â?ÿùªªrààAÞ_º”÷–,Áb±0mÆ zöêÅ…ãÇsÃ7rÙ¥—ò³ÿù®™2…õßߢïÔøBˆÖ?›&S¦L‘7B!ÄYÇEEEáp88|à;·oÇÐu¬6111ôèÑ»Ý^û9†×ëÅ0M<eåå¼½p! 6 Ý0xñ…ªnJEEEÕ¼æyVæ¶ÙlÁáX9‘^‡»fÎ$55¿ßÏÁƒ9zä¹¹¹¬ýö[>ÿì34MãÁ_ÿšË¯¸€ŠŠŠ®í¡( «õ¸%ÐB´ë“·LBq:ÔW‹…„„, šÅL¯(J­!S¦i’{ì¸\.P ]ÇåraT/Þ§VÏÛ0 #¸H­iš(5†_©ªZ5÷±F=jn… 8ªçi¶1ÊÊJTM#,, ¯×‹+<Ýë¥ /ï¸õ¯x¼^ ]§kj*6›M !DÓ÷†a4;gø'Ÿ|Â…^ˆ¦iÇ ü~?Ï=÷çw£G–F!ÄiU‡ê†º\#£fã_ÊJJ().¦{¯^ØívÜ••hË×Ô¨þ·î°fÓ4IîÚ•];wRXXHXXó^~™¤.]p9†Aee%Žðp”‚‚Úõ¸i÷oVï;))‰N:±dÉ&_s óæÍÃjµ¢Ùl¤¤¥ðµúý~rŽ娑#8»w¹*_ !DÝ @×u~õ«_ѱcGúöíÛ"Ù¨.ºè¢à~E!//ððp"""p: 4ˆmÛ¶a±X˜3gçŸ~«¾Æ·ß~›¾}ûât:éÓ§«V­’…B´ºJ·›¸øxlV+ºßßïÇïóÕ ü5²4š¦‰î÷cš&éééLœ8‘®))Œ9’Ë.½”ŠÊJÂ\.îž5‹Øøx.¸àŽ;Ìôè †aøý~þòöÛÜ;{6ñññôª‘Æ(×qþE!&6–ÒÒÒÿ¦û­Cz4„õèºÎĉ?~<·ÜrK‹\ᩬ˜¦Iyyyðä÷§?ý‰‹.ºˆýû÷“““Cxx8‘‘‘äää››‹aDEE‘œœŒadgg“Àª®ò$'Ž¢(”••qàÀt]'11‘¸¸¸z½.—‹¥K—’––ÆÊ•+¹å–[X»vmU7¶BÑZL›Ý ;v¬ Ã0ªnïØQëööêÛ¦iòÂóÏóû—^ÓÄçõrŸÅBiqñï¯îÙ0M“²’~ÿ»ß¡ë:^¯MÓ‚·}>½{÷fß¾}¼õ曤wë4n¿ÀP.Ãïo0©ŒBˆz'›ÍƸqãØºuk‹\åW…M›6Ñ»wï{G222())à¾ûîcÒ¤I\sÍ5,\¸]»v°qãF{ì1ÆŽËøñã¹æškÐuíÛ·“––Æï~÷;¼^/sçÎ娱c„‡‡“““ÃþðºtéRë5^uÕUÁÛYYY¨ªÚ¦+· !„} ì‰nU ðÕX„Ïëõ¢ªj½ûËKKQ%¸`_`_Ûªªòõ×_óɧŸât:ùì_ÿâÉ'žÀÛÈþ‚Áˆ¢Ôš'"†âÄ'Z6ím|||½+$V«•#F ë:‹…… àt:±Z­Üyç8N>ýôSî»ï>¾ÿþ{œN'cÆŒáÒK/åèÑ£Œ=ŸÏÇÎ;Y¿~=}ô.—‹9sæ°`Á{ì±z¯1ÐËñûßÿž /¼°jÑ"!„â,`}úô N6¿öškÈÌÌÄëõ¶Ø„BœUus\\£Fª|´$™ .„yòBΫh EQ(,,lðùÖê<Ü5¯ ¨ªJAA3fÌ`Íš5óþûïS^^rÿò%%%‘““Cee%›7o&99¹Þst]ç¹çžcáÂ…|ôÑGDEEÉ/„â¬ÑP¯EKfe”ËwBˆ'™ ðÍ7ßpèÐ!î¿ÿ~n»í6ÒÓÓ›¼Ï]»v1hРà¢B ¦iRYY‰ÏçÃn·3hÐ žyæغukpliiié3t˜fðvFFÝ»wçÞ{ï%::šõë×ó‡?ü¡ÞqæÎ˳Ï>Ëý÷ßÏ3Ï%$$`š&C† ©u’Ü1ùmê¿ÿþòA !„8¥EaÏ®]|·jUƒ»ü~?#ÆŽ%±FöÄíÓï÷óͪU¨ªÊÞ}û‚«~K !„h'¾“¹¿1û[ºt)—\rI½¹ÇÛgcÊј2ÕÝFVBÑ^øý~zL×ÔÔúõ°o÷nôÄ3 ƒ#GŽT̓:ÄÅ‘””Ônê: 4„­Î4M&Mš$o„B"˜ð{½tŒùxan.F•Âkr»ÝüßÂ…äååá÷ûÙÍ3¿ù )!’ H !„B!ÄYÈ0Œ‹Ú/ãcXX¿š3‡¨˜^™?Ÿ ðÜoÛ.^“¤·B´:EQX´hQ½52„BÑ4D&Ï=ÿ<‰‰‰DFFòË9s‚kSI !„8kN†S¦L‘ñ„Bˆ¢( ›6mâïÿ;[·l¡¤¤„žž²²²vSF©õ…B!„8 EÇÄÃcOîž5 §ÓÙæA†Bˆ63qâDI++„BÔ¡i[¾ý–í7†|Üçó1bìØz÷+Š‚¢(tïÞîÝ»ïOHH`èС†AJJJ00‘•Á…gÓ4¼Rs¢çIp"„âL®»ed‘™ e—Rü'±2xÝ`$ÔÿÛŠLBÔ;é5å±è6lØ€a'Ü®ë,]º”­[·¶ÊIÑ4Í&¿!„¢%)Š‚aø¼^|>_è?¯÷´½ð&†¢ÞIoãÆüô§?eÀ€Œ7Ž/¾ø"øXS%&&Ÿ¯( EEEŒ=šп¦L™BNN𦑙™IÇŽ[íõ)ŠÂ¼yó8ÿüó8p ãÇçßÿþw0B!DóÉÐ)!D=………\wÝuL˜0­[·rÇwСCú÷ïߤý™¦Y/pðù|¬X±Ó41 ƒgŸ}–‰'òý÷ß“‘‘|^K\Á ô`ÔÜׄ ¸ù曉ˆˆ`ݺu\sÍ5lÞ¼™ððpù!„-@z4„õå£Gæ²Ë.Ãjµ’••EFF¹¹¹MÞ§¢(48dIUU®¹æ¶nÝ ÀOúS/^Œ¢(<öØcôíÛ—=z0zôh²³³ñx<$''3þ|Î9ç’““yî¹çÐuŸÏÇK/½DïÞ½ÉÌÌäÎ;ïÄëõƒŒÀЩž={RXXÈ÷ßÏÎ;:t¨¬ó!„BH !„h-5äk׮娱cÁ^†¦Ú³gO½¡Iš¦ñä“OòðÃ3{ölzè!\.V«€éÓ§³iÓ&vìØÁ5×\Ã-·Ü‚Ýn'** ÇÃÚµkY¾|9¯¿þ:‡Ý»wó—¿ü…+V°uëVòóóùÃþPëõ^ã×_ÍŸþô',XÀ˜1c‚ÇB!DóÉå;!D=!K?üð·Ýv¯½öZ0=^S÷7xðàz÷†Á%—\Bee%W_}5YYYøýþZÛìܹ“3fPXXˆÇ㡲²Çí·Þ @§N‚ÛïÚµ‹ÔÔTââ☧ÓɃ>Xo[UU™4i=zô ..Ž… òÁÉã?ΧŸ~ À¬Y³‚'D«ÕʬY³°Ùl„‡‡3oÞ<Þ~ûm¶lÙ‹/¾È°aÃj]Ñq¹\„……ñþûïcÝ»wgîܹØl6ùð…B´ÓÄ2  Gf&Ô Ea÷öí ö(ŠÂ°aÃøËÛo3tøð‹þ™ÕÇ9wôhâ;v¬·/‹ÅŠÏ>k°þNLLdþ¼yôíׂ¦Í˜Áç_|Á•?ù‰Bˆ“ ÆŒØ1cB>ÖRéf].O>ùd½Ô³ªª‡G™¦É¸qã7n\ð¹ À4M~ñ‹_·±Z­ÁÛ<þøãµŽWóÿ6›k¯½–k¯½¶U^ŸBÑX à÷ùY…Ùí˜ ¬ó¤( III8ޤjuñp—+t@`±„RL“Î;PVZЦi¸œNTµqù¤$딢ÞI«)hŸ‹- ο¨¹Ÿºc?s¼ºÏoÌñk.ØÒ¯O!„h®¦Î ¤moæÁ¬ë]Y,½û.‡füøñ2GCÑ~NžS¦L‘7B!„hÍà¤FŠú– ª*†aðò+¯ð—¿ü…O>þ˜p— ]×%ÐB!„âLe±Xp:ÁÛ6› ÇÓ"ûV…òòržáŽ;ÆšÕ«±……ᩬlT !C§„­NQ>üðÃzkd!„¢é4MãÝŋ陙‰a¤¥¥1ûW¿:ñœ“¨¿?þä~ûÜs¬X¾œ!çœCz·n|òÉ'š§!=Bˆ6qÉ%—È› „B„nÑ7éi†apŤI\1iR­ûÝnw‹Ë4M®ºòJ®ºòÊI !„8å$›“BšÃéd×öíüsÏžëÐ!Ç'FQNT ÖuëØ´vmƒÛ4ÔCÑœú[ !D«S…õë×Ó¿ÿF§ÄB!Ît¦iÒ99™ä´´ãnç÷ûC®úÝ~¿Ÿþƒ3ðœsŽ»]Í…p[ŠBˆ6ѵkWéÕB!jPÓ0ð5°NFÝm›z ]×5y[ !ÄiÇ4M:tè o„Bq‘1 BˆzAAS;EQÈËË >¿îJÝujÊqü~?ß}÷]³_ss>r»Ý¬_¿^¾DB!„BˆPAÁÆyì±Ç¸ï¾ûxøá‡Y¹re“dž8p Ø€äå~ôÑGƒ«v+ŠBnn.Ï?ÿ|“ŽSXXÈ9'z¼×\QQÁc=vÜ•ÊOdïÞ½ 2D¾DB!„BˆP¬V+Ç窫®bøðá<öØc¬[·®Éû3M“ÖšhØ×”››Ëo~ó›ãîçxÁ‰Êp¼žEQxôÑG›wBUU"##OªÜB!„B4¡qY«1¢±jØL{){¨Æé‰¯gÊç–™™É…^ȹçžKß¾} kÖ>EiÔ{¥( V«¨Ê~1uêTœN'ƒ bË–-(ŠÂ?þñÆǵ×^‹ÃáàÒK/¥¼¼¼VSZZÊØ±cyóÍ7yüñÇyüñǃ=ûÛ߸馛jõ¤\wÝu8NÆO^^EEEŒ3»ÝÎĉ)))Á6 IDAT÷sï½÷òÐC1hÐ \.¿üå/ë-FxäÈRSSùàƒd¼Bˆã¶7š²mc‡:·D;¥¡‹u'"“ÁE«Q¿ßÏÖ-[ÈÍÉÁ4Mì.n…oW¯ÓÄát’ž‘AÇ„„àóÚCÙ1MvíÜÉ¡Ðu‹¥êçRRVFqi){÷îÅf·Ó¥kWº¥§Ó§{£2Pþ ðꫯ’ŸŸÏÝwßÝì!A~ø!'N ¾cmܸ‘ŠŠ 4Mc÷îÝhšÀ­·ÞJtt4,Y²„{>úEQغu++V¬àÝwßåæ›oæÙgŸåW¿úUp.ÈÌ™3¹ùæ›™6mÛ¶mãî»ï¦´´”ˆˆÞxã ~ùË_Ö+ߢE‹p:TTTï2dW]u_}õ<ð·Ür ‹/FÓ4¾üòK¾ùæ4M㢋.â?ÿùIII˜¦ÉŽ;¸å–[X´hC‡•uD„B4Xçz<ÊJJ¬'LÓ$"* ›ÍVï¹>Ÿ-?þˆ×ë .6–´´´ZßE¡¬´¯ÇzÿU!&.î¸)è- 6lÀét’žž.†8µTUeǶmh ã'NÄn³¡›&¦®c†ibè:ùùdïÞÓå"""¢Ý”={×.JJJ8ìXÂÃÃ1 Ã0ªÊ^ýoEE[·láð¡CtIJ:c“¦irÇwpÇwpøðan¾ùfFŹçžÛäý]vÙe!ßçüãx½^TU%'''ˆ¬ZµŠ•+Wpá…2wîÜ`ñ±cÇ’‘‘À¤I“Xºti°7dêÔ©Lš4‰iӦХK:tèÀ¶mÛˆˆˆ ;;›‹/¾€|·ÛÍÈ‘#¹à‚ j•Íív³nݺàó™3géñx¸óÎ; C×uúõëGaa!IIIsÇwðÌ3ÏH!„âD‘÷ícÏîݸ""êþPŠ èÓ¿?I))õž^^QÁ;ý+av;¦i²wï^.¾øbn¾é¦àºšÅÂk×¢Z­„ªUåð¾}\zÕUØCŒ`0M«ÕÊ?þÈ¥—]Æ!Cøè鬬”@CœÂƺ¦±7;›+®¹…ª¡0zu=h`štèØ‘Ã‡S\TÔ®½ÙÙœÁ8|>_­ #ð‡ÓIZ·nìÉÎ&±sç3f1º@ÃØ4MHLL¤¸¸¸Å£ëz­y;wîdéÒ¥ÁÏ póûýÁžŽšå«y ìïÆodñâÅL›6ˆˆ""":t(k×®eùòåüÏÿüOðyW^y%º®“˜˜XoèSÍ!\V«ǃÝn>(OÝ+:‡ƒ‘#GòÞ{ï1bÄ9!„hXu’ص+®W¿)ŠÂŽl°÷ *2’ß>óLUÌúùÏYûí·Ì˜>½Ö|Š¢Ö£©©©õöe±XøüÃÛ&P…;~ö3}ôQ>úè£FÇ’9¢õ«Õ ?›ÍvÂI¼@¤=]aðë:‡ã8‹è˜¦‰f±àóùΘ¹‡åË—säÈ>ÿüs¶oßNjjj³—E‹ÕkÌ×UóñI“&qÏ=÷ðî»ï’™™lü7éºÎM7ÝĨQ£˜>}z°+yܸq,[¶ŒÅ‹sï½÷Ÿ7dȆJrr2QQQhšFNNN0¸üò˹ûî»xú駹馛ê7u………ñÄO°wï^fÏž-½B!NØ^2 ‹Å‚Õj­õg±Xj]h«×WUV¯^MJrrpøð+¯¼‚Ûí®ßfiàŠ¢ §®²Ûí<ý›ßpóM7‘–šzR ÿI !„¨EÓ4²³³¹âŠ+èׯ¯¾ú*¯½öM¦LÓdÊ”)µægX­ÖzC±ÂÂÂ8p ¿ýíoÉÊÊ¢wïÞ|ñżôÒKX,bbbHOO>'&&&85°¿9sæ‘‘Á3Ï<@Ÿ>}ðx<̘1‹ÅrB¦i¼ú꫌7ŽiÓ¦QPPÀ{g×ë%33»Ý΋/¾ˆ®ë¤¤¤ r’““‰‰‰!,,ŒAƒð÷¿ÿ}ûöñÚk¯É—J!D«0 ƒ#F°oÿ~ óóÉÉÉáÅßý®Þ|ŽæØ´y3»³³™>mZÕp`UE³4nP” BÔ>)X,LŸ>éÓ§×kŒ·Ó4‰ŽŽfÍš5µö›––ÆÇŒa¨ªÊSO=ÅSO=UëyãÆcܸqÁçnÁý)ŠR/M®Çã NÕ5mš&·Þz+·Þzk­ÇÞxãzåì' Ôœ\þùçŸË¿xñâàvÒ³!„¢%ê L“²’\.wÜ~; ß~›9³g·X ³téRöîÝËãO¿×œ^«7Ý4))*"÷رz=ûš¦5*U­®ëLœ8‘+~òÊJKõÚ$ÐmÂérÑ!>‹Í†Q6®ClVk»ÏÖ¤Y,tèØª°šÅB\‡§l8L`¼¿¦i(ªŠÕb©ÊQ}r²Z­`šÿMÃÛæ(ŠÂºuë0`Àq³g!„g›ññ¸+*سkWƒÛÄÄÆ†¬[ý~?þ:þºu¾a¤edPXPÀîíÛC5,ˆOH¨•°¥¡ºÜï÷ã/+kt»B Ñ&, ‘QQè†î÷cÑ4""#«ÖÔhçeW…ðˆt]ÇÐuEÁŽyœ´·­]ŸÏǦ È9z¿ßOEy9{öîÅïóñÁ{ï¡Y,¤vëFjZZ»ySSSϘuF„Bˆ–`š&Q11D‡$ên×Ô ‡†®Ó%9™.ÉÉÇk\œt»&x¡ø8Œ%ÐmÂãv7G#¾ÍÑÐu=¸ZhCÙLÃÀérQQY‰×ëÅ~‚ÕÙÛ‘#Gèp ß7!„¢=ˆŒŠ¢¸°ƒû÷Ÿp^D{AÑ©K¬ ¼ 4DÛ4Ö5ðˆ ÓÄÐu4MÃ~R]u§Š¢(8]®àð$EQp:§´á®(J0ð9¡vð›¦Iÿþýå‡ „â¬fV·‰’RR(..¦²¢ýÍùl.›ÍFb\.—«ÁmZ<Ð8Ù‰*²bîYökÄÄ¡özb¨{û”ö´Á±¯/ðû¬{ûd£šÏ?Þï¾æc'ÚÎ0ŒVÍb%ç'!„­Q·hšV5wñ ˜¿hšfƒ‰}Z<Ð4"ÊËËñ¸Ýø|>üºNee%º®“Ÿ›[5tÆáÀátÊ·M´kJˆ £ý²ÿÛð¯x´dÃXQ¾ûî;âââHkf«?þ˜ &T¥å­ÎœµnÝ:¼^/JõXÏŽ;’™™YëølÞ¼9x;11‘îÝ»S\\ÌØ±cY¿~}ë}þŠByy9Û¶m£¼¼œ#FHz^!„Í®[Ζ×Óâ“ÁMÓ$çØ1~ܼ™£GR\TDÞ½‰íÐô^½8tð ‡dÃúõäçWgnÔ~¾ñÓNÑÛëñPRRœ«áõz)+-=áJùÜEaýúõŒ;–§žzªÙû»ä’Kj5Ò >|8+V¬à³Ï>ã“O>aÆ õžû¯ý‹ë¯¿ž¯¾úŠ>ø€™3gòùçŸÍúõë1èr>Þw¯¡ÇBݟͳÏ>ËèÑ£)++“µBˆSÞ¶RWDD0ím{Õâ=ºßÏ}ûÈêÓ§jq‘ÀÂa¦‰©ë¦ ¦IqQÛ·n%2:ºÁ $âôÿ!8NÊËʰÛí ŽA 4Š­Vk» 2N'Å……DÇÄà÷ùBGêªJeE‡ã”ùyy¸++‰‰%"2’‚ü|Ün7Š¢Õì«Ó§OçÉ'Ÿ ö(´Æ¹sç†<hšÆ¸qãxøá‡xã7X´h#GŽdèСlذ}ûöñÐC±víZÂÃÃyðÁùÉO~ž={¸á†˜>}:Ï=÷™™™üùÏ&""€_ÿú×,Y²„ÌÌL^yå’’’ꕳgÏž¼üòËlܸQ†Q !„8åTU¥¸¸˜Aƒ³eóæàJàí²¬-h>¿¿j%eøoQ½B±Q½@[Bb"ÅÅŸ++¥ò>CéºNfß¾¬øòKÊÊʪ"îêÈ;0ÇÁï÷³kçNÜÏ «9UeÏËÏ–7xå úߣG²íÇINK«Ê#Ý–±ÝnÇf·cš&®ððªÛ6[³çqÌ™3‡Ù³g“””ÔìEQX´h~¿¿Á÷[×uŒêÉö £………,]º”ÌÌL|>7n >~Ï=÷°uëVþïÿþ§Ÿ~š7âñxXµjš¦±cÇ:uêÄM7ÝÀý÷ßÏ?þÈŽ;¸üòËùùÏŽÇã©wl›ÍFDDÄIå:B!U—‡HQ"†aÉúï¿§²²ò¤ê¦“éÑo ­Ò• VçØ=^ÓDQU ÓlvF´_†aÐ¥K|_/_ŽßçeËÁ<*œÐø€eË–0yòdæÍ›W• Øn—¯Bˆ6¡( ìÝ»—^½z¡ª*†a°yófzöì‰Ýn§¤¤„mÛ¶áóûIKM%99·Ûͺuë>|89¹¹ìÞ½ŸÏGBÇŽtëÖ «ÕʶmÛ8–“CtT½ûôA­^ËlÇŽa·ÛÉèу˜èèV 6ZoÌR# +ýg‡´ôtº¦¤à²Y˜ý«7ØÕoÚ¡¬¾ ébQ‹ÅÒîz¶t]§S—.Ä'$à°jL}qåù<×áS/Šß¨Ê˜kÔ–¯AQŸÕ«W× Jj¾º®sýõ×óÇ?þ±Áý¼÷Þ{,Y²„´´4, {÷î­õ>Õ Zs:t]‹¥Á¹ußóPeB!šª²²’é3fð%KHJJbß¾}Ü9s&ïÿóŸ†Á#>Š×ç#6&† 7òò¼yDFFrÁ…bøýìܹ“¹?L||<áá$&&’Ö­K—-ã7ÞàÜsÏeݺu\wÝu\7e |ø!ï.^Lï¬,, ªªrî¹ç¶ÊÅ™!Zµ!ˆŽ5MC³Z±Ûl`³a·Ù°Uÿ5ÔÀ<Õe‡ªUÀUUÅR£ì›5XvE7NYÙ;GCU›5GãÎ;ïdÿþý(Š‚ÕjÅívÓ«W¯&¿FEQXºt)—\rI“'òž`uó•+W’––Æ“O>ÉX°`AȲּZ3bÄyä^ýu¾øâ œ'äp8PUõ”ÌÅBqf ´+‚'''3fÌþú·¿1÷ÁùfÕ*FŒATT;wîdÓæÍ,ýç?‰ŒŒäñ'žàõ7Þàûï^ø[öÁtJHàñÇÃápàv»q9̼ë.V®XA¯¬,6ü𓯾š›oº‰;wîrñÈÃãp:))* ¦Ü=Y†a÷B]«fÃï°|Ë΢`£þ— ù iWˆƒe2MLÌZß]ó—Ý4MÂ#"0 £Ö Ó4›5GCUUzôèA=ÈÍÍ娱c¤¦¦6«¬“&Mª÷Þ:NÂÃÃðûý :”åË—SYYÉСCYµjUðdòV´ÜvÛmL›6ßÿþ÷Œ1‚óÏ?¿V[ó˜Û¯¾ú*Ó¦MÃétÒ³gOÞ~ûmÂÂÂêcß¾}¤¦¦¢i6›äädöíÛ'?n!„Mn[T”—³?;›J·§ËÅ”)S¸nêTæÌžÍ7_ͤ+®Àf³qðàAâbc‰‰‰ÁçõÒ¯_?/^œªûý½{cµZñûýX­Vòrsñx< ;ï¼`}XVV†¢ªLŸ6§ž~šŽ:1tèP^™?Ãç#?7·ÑíÐ,IèÔ©í EU)),¤¨°èØXÂÃÃ)(,¤¸¨ˆØ¸¸ªU¡…Íj¼GDE_×1 ƒˆˆ«3*µÔ1®»î:®»îºf-Øj¿:t ¼¼<äc‡#8Ñ{òäÉLž<¹Þ‚:tÀçóaš&™™™¬Y³&䱎=œdÞ³gÏàm«ÕÊ_þò—W™jJII©7nÕ0ŒB&„â, 2ÇÃÁ½{‰ëÔ‰Î;c±ZQ5ØØX¼þ:¹yyôíÓÃ0HJJ"//üü|bbbX·niiiÁ^Íb!%%…6làÚk¯ÅétRQQAll,‡ƒoW¯&µ[7<”•–Áë ðÆ›orï/~Ásç²dÉŒ“:URRBööí(ª2kc«@Uã§:ÓT‰Þ–ñÍB4÷’H0}t½Fp ý¾j6º›`(ŠÂÚµk4hPpÁ¾Æ³1eiL¹ê  }d!„hªÒâb"££éܹ3>¿?˜ˆäÁ`êõ×sÛm·‘’’‚×ë%55•!C†0óç?'*2’C‡1¿:yI þ¿üòËyôÑGùùÝwãr:éÖ­wÜ~;ÿûê«ÜõóŸ“””„ tïֻ?þ˜Ï¿ø‡ÃÁÁC‡¸êÊ+ñºÝ'¦\—Õb!¥[7öíÝÛ`¯F«¦iVˆ¨Ê0eDGGã Ç¢i’&Rˆ³L÷îÝ¥.„â¬gá‘‘Á^y¥:ÔÄ Xõõ×téÒ%˜ÞápðÐܹ8p¿®Ó©S':vÄçóñíêÕTVV’Ø©Ï>ó ‡B×ubbbPU•‰&••Eaa!šªaŒ;–ž={¢ë:$''ãóùštAQÓ4|5‚ž6 4¨~ã,KÕ:¦Y5©Öb‘lSBœeLÓ$&&FÞ!„‚ÿö ×lÜ[­Vúöí¬7…‡‡“™™Y+PÑ4¬¬¬à…û¨¨(¢ê$1M“®IIt­3¬)6&†Ø–ª“Ùx¸Õ./*ªJIQöí£¼¬,¸Šá¡¨¨¨`Cˆfœœ‚ 燘Ö^Ê|ôèQéÉB!Î"­:ŽA—9B´8{Xn‡cG¢Y,Øl6¬Vk­?L“-7’”œŒÅbi üœœ 4„Bˆ³H«ÎшŽ%¼Îððp4™£!DÓ »ääd¶nÞÌ÷Õ™–­*ŠáG׬”Tz±ÙlÄÄÅ‘œ’‚=DÊÖ¶fš&ýúõ“O!„@£EZÁ95çhhíph!N7ˆŽ‰¡²²’ì#y\²x¥)çÑsË;¬zä§”{|Øl6\.WUPŠsŠ¢SÌÊï_!„¨Ùdn8}|SRËלßÑÐÿÛŠ¤€â4˜£a³ÙˆŽŽ&:6#,\q(v1âˆÅårôÉ©5}úé§Ç]=T!„8ƒŒÀ´‡üÜ\Ž>L^N•••¨Õ)áOf$¢(ø|>¾þæTUeÏÞ½ää䜒ö@ëõh4âÅÈà)!šlNP¦a¢˜&`Tý¨ ³Ý M4M“‹/¾X>8!„¢N}®( ÷ícÇöíX­Vìaax=Ün7©iidôê…aî‘PU•ÒÒR&Lœˆ×ífþüùôë×é7ßÜæmïV 4̪–ʼnZ’yJÑäÀ¥f°U3øB!N'ÇŽaÓÆœ3|8É©IÕÍscGsù櫯PU•ô=ÐX¹Ûáp Zªšô†ßÇãAQ4M ,, «ÕzJ.ð·øÐ)µú…•——7½E……DFFß!DûjÈû|>¼^/^¯¿ß߬^EQX´hQp¢À1û¯yœº è·¢(T-ÚÊó>üÕ«¶¶Äû „BÔ­cöfgÓÈ`:vIæšù;±O_ɸßlAqÆqé•?¡¸ €ò²²u]EE·ÞvÑÑÑDDD0ý–[š¼øÞihX¬VbbcÙ°~=G&7'‡âü\Jòr(.È'/7—#Gްaýz’ÓÒs8¤â¢©¨¨ ==áÇ3|øpî¹çJJJš¸L™2‹å¿¨¹¹¹ØívFÍÈ‘#9÷Üs™;wn½ç.^¼»ÝΨQ£>|8W]uÛ·o'66–ÒÒÒç}ï¼ÒÐc¡î¿é¦›=z4çw—\r 7n”/ˆBˆáõx(--¥{·dnyc'ÿÏ1¼~ƒ/×0å•­ØìaDÆÄP\TºÝm±0sæLŠŠŠ(--¥²¢‚g~û[ì6[»x}->tJQÒºuãÈ¡CÜ¿Ÿ ·‡WWï£"¾1G7ðó úa**]SRèµ:Ç¿ {¢ýü×­[W¯!ÞR¿ÕÀ~V­ZuÜchšÆôéÓùãÿÀ“O>ÉK/½Äüùó¹ï¾ûxþùçÉÍÍåwÞaûöí8N®»î:† BNN/½ôcÆŒaÉ’%¤¦¦rï½÷b«>¿óÎ;¬X±‚””~ö³Ÿ]¯œwß}7C‡`áÂ…L:•üQ¾$B!šÍ0 LÃ-Œÿl/»Z5ÏÙ®²rGÕ>«ÕŠßç«÷\Ó4±Z­äçåq÷¬Yx<ÊÊÊÈÎÎFUÛG¾§/…išhšF—ädú @V¿þü»,’OçðŸB+çœ3„¾ýû“ع3v»]‚ !Ú)«ÕJ¿~ý6l_|ñE­à )AÅûï¿rhÔÉÚ¾};:t ¢¢‚^x€¢¢"RRR¸óÎ;1bsæÌa×®]ðôÓO³eËî½÷^¾ýö[fÏž Àüùóyë­·¸ë®»ðz½üú׿ÆWçDnšf0ÈT‘‘‘òåBÑ"4MCÕ4ðWraŸðUóœ=ã{W]üòú|U‹ñ†¨[·oßÎC<ÂÅ'rÇí·sÁàõxÚÍÂØ-h" U³ÞUUEUTPÔàm­úßæ4\„­{âûì³Ïظq#óæÍã¾ûîcë֭ͺqÅWÔ:`³Ùˆ%&&»ÝÎ /¼Pio½õÑÑÑ$$$ËÃ?Œ×ë n“‘‘Áå—_N=¸è¢‹èÞ½;»víBQbbb¸çž{èÑ£sçÎeÉ’%¼õÖ[¼ð ôéÓ‡Ûo¿5kÖàñxBžÏ6mÚĽ÷ÞË¢E‹ä "„¢EØl6"##Ù¹{ ftçæñ‰vY¸lX<½³îÊJJ ‰Š‰ Ùæ..-ÅëõÒ»wo"##ù¿… ±ÛíÁº÷T³ÈG,„¨ØívÒÓÓãø .¤gÏž!ƒ!!„¢©:tìÈ€ÁƒÙ»{7ÇB¡j©ŸÏGBb"É©©!ë4EQ°Z­<òÐC<öøã`ø|>®½öZ*++ùjùrÊJJ¸kæÌ`Ƕ®»$ÐBÔ³sçNî¾ûnŽ=ŠÃáàŽ;î`РAÍÚgÏž=kMN 4ú322É>4’ IDATÐu¿ßÏ Aƒøç?ÿ‰Ûíæâ‹/æÃ?Äçó…L—]3h¸úê«™5kûÛßèÛ·/aaaø|>t]§¸¸8¸aÁÛ/¿ü2·Þz+©©©ÄÄÄðÜsÏáp8êg„ (ŠÂ¦M›0M“Î;³råJù’!„h¶@]–˜HL\·C×QU›ÝŽ-,ì„‹õUºÝàv×»¿¼´EQ‚ëά•Á…§íIïœsÎá›o¾©wS¯ä›¦Y+£“ištìØ1äøQÓ4 ãË/¿`êÔ©L:µÖÂ|¦i,ÓÈ‘#ùþûïCÛëõŸ›••¼Ý¹sg>ú裃—š¯9T¥GC!DsÕ\|ÖjµÖŸô}š/J«ÊG,„uÒ us²NæOœè„Ù˜ã×ܦ1eª[ö㣱eB!„Bˆv ??_çB!Î"2tJÑêLÓ¤OŸ>òF!„géÑB´:EQÐu]z4„B 4„¢e}þùç!Óó !„g³šÉVTUEÕ4TU &?i‰‹t5çHÖ<-xŒPd蔢MN¢&L7B!„¨S?*Š‚f±P›Ë½{)/+#Ìá )%…„ÄDü~ÿq³Z­Vlaa”•”ÔÛ®æ1Ž:Ä¡ýûñ¸Ý„GDÐ5-˜¸8ôŽaš&‹…0‡ªóW/¶Û˜àDz4„B!„8Y7®[Çò/¿ÄÔ4ºvïŽÍáà›•+ùú«¯jõn„ T>úè#Î9çº&%2ÈP…•ÿþ7kV­ÂA×îÝñ›&_~ñ[~ø¡ÁÌ’Š¢ðãÖ­\qŤ¦¤Ð§OÞyç4MkTFéÑB´É‰tÑ¢ELž<‹EN;B!DÀ¾={8tè—^y%‘‘‘ÁûûÈŸ|– ÈêßB ?6M“ØØXfÿò—\7uj°×¡fý«ª*ß­Yƒ×ïçÊ)S°ÙldôèAVß¾,ÿüsbââHHL Y>ÛÍOo¸¿ýõ¯Å¥­V}žß£­V+¢­âÊ&Š,a‡°…}ý.¿?&sMÈB ACó}¿^yÁL2÷ž9sçÞó½ç|Ï©n¹!¯ª|ç;ßᔓONæ\´ ª²’êêjN=ã \.W“}ddfrÊé§SZ\Œ¡ë-^¿ÇÏùçŸišôéÓ‡‰&P²»ÞŸBˆnð4þK+·õûÎÜ¿B‘ˆÇ‰†ÃôÊÎh²0mjØSŒ êjk[݆®ëè- )•åådƒx<ž&y©Ó33‰D"†Ñ쵩Y#ãñ8.—‹5k×òÕš5wÜq’£!„èÜñá6”Eá7Þ°O„-5è?w¤f§R…÷Þ{›nº©Åñ¨Š¢ðïÿ›[o½µC+¡7f=ôo¿ý¶¬(.„¢ÙuÕ4Mkñš¥( š¦a¶´—®ë8Î&ÁÅû1M«2z½^V}ñ—]~9=ø ùùùíÚ·+ú0_G[cQˆö4Èÿýï3zôhÒÒÒ¸òÊ+©©©9솲eYLŸ>Ý:¥( eeeöI4õ³aÂÁ`«Ý¿í=¦[ë°,‹3Ï<“§žzªÕmÕ××S\\Ü¡ïÓ[VVF}}½XB!šÐ4 Íá  5»~X–…aD£QÜ ³JôÚÔpnü¼Ïï§¾¾Þ¾‰wàk¢Ñ(N— µ•k¼Ãá`ɇrÞ~À›¯¿Î‰'ž˜ LÚq]ìÖ¦SÝGáp˜úº:E!aD"â‰e¥¥¸=Ün7=ÒÓ[mü|Óå„ÃԥʫëÉòÆã”74fÜn7i=z´ ÑË—/ç׿þ5Ÿ|ò ™™™D£ÑoäøWÅNR«¨¨`ýúõ„B!ü~?&L --ÒÒRöìÙƒeYsÒI'±cÇLÓ¤¼¼œáÇ3xð`öïßÏš5kÐu~ýú1fÌJKK)))a̘1¬[·Ž={ö i“'ON~¯ عs'}úôaüøñvõùçŸSZZJNN'NÄ4M¶mÛ†ªª¡ë:§Ÿ~:;vì`óæÍ‰„TB!šq¹Ýdƒìز…q'6i»)ŠBue%õµµ 2¤Õëæ®]»ø`ÉLÓäo¯½F¯^½8þ¸ãì¡PÙ½{³mófvïÚÅà!CšÝ4,Úµ‹ééh-äQ*ŠÂŠ+8÷¼ó¸oî\öìÝË–­[™0a999}ݺGCQBõõ¬Y½šòòrjkj9ný `ȰaD¢Qª**ضe …;vÑMÚ[Þp(ÄW«WS^VÖ¬¼±XŒªŠ ¶oÝJaCÃKz5ÄáX´hS¦Lá‘GaÖ¬YlÙ²¥IÙá»Ë—/oqügciiiö>V­ZÅG}DAAúÓŸ¸ÿþû1 ƒ?ü³Î:‹>ø€uëÖñé§Ÿræ™gòÁ°råJ®¹æ¶oßÀ%—\Â’%K(((`ÅŠ˜¦ÉG}Ä=÷ÜÀ+¯¼Â­·ÞÊÚµkùì³Ïعs'š¦±jÕ*Þ~ûmÖ­[Ç-·ÜÂâÅ‹xúé§™3g6l`Μ9¼öÚk¨ªÊSO=ÅÕW_Í_|ÁæÍ›Ùµk7ß|3Ë—/çã?æwÞ±»­…B»!®ª :”¢Ý»ù|Ù2¢Ñ(Lß²a«W¬`À!­^ƒE¡¦¦†}ûöñ›_ÿš5kÖPRRb–eáöx5v,_._Κ/¿´¯Å‘p˜u_~ÉÞ;éÛ¿‹7-ËÂpß½÷¢( kÖ¬¡  €Ú6rFëÖ=š¦±níZò‡%7/, Ó²0 Ë41- Ë4‰'lZ¿žÚº:ÒM;öm”wíš5 9æòúömZ^ËJ¦I"‘`SÃA‘‘!ßbqHt]§ªªŠÕ«WóÇ?þ‘;vpûí·óì³ÏÚ=‡cäÈ‘ÍNbN§“üü|ûäÇí9À§Nj/ò …8ñÄ™?>š¦1nÜ8n½õVÜn7ÿûßíÇ^¯—|¿üå/<ôÐC|úé§Ì›7ÓO?ý듞ÃÏçàÆodÉ’%Œ?ÞþíÚµ‹cŽ9ÆÞ~ff&¯¾ú*Ó¦McöìÙ|þùç >œI“&qýõ×sñÅ£igœq·ÝvŠ¢ðøã3iÒ$æÍ›G8æ³Ï>;h%„¢{òœtê©nÛÆ’wÞ! áöx蕓ñLJ×çkõFŸišŒ3†qãÆ5 ‰„l˜¦IÏìlN9ýt¶oÙÂ;¯¿N<Å“—ÇØI“ìÑ-#GŒ`ô¨QÍöÛž|Ênh(ŠByYSÏ8=‘øº±~@rj E!ô-ŠªR^ZÚryõ^øTM£¾®N qXwWfÍšÅØ±c6lÿûß),,<ì@ò¬&sƒ§$ ¶mÛf?Þ¶mS¦Là‹/¾`öìÙ`Y555ö1Þ»woÜn·½íœœ¼^/Çç­·Þàý÷ßçî»ïæÒK/åW¿ú7ß|³ýc±µµµŒ?Þ>hš†eYôìÙÓÞ~NNŽ=<13|øpFEaa¡}Â:t¨=;Gqq1&L@QÜn7C† 9b îB!Žn–eár¹>j#FNÎ8•ü…ݾkkA½T.ÇÏ7þײ,|~?c'LEA¡éd,­­<ÞÚöo»Í6…|ºÖAÇž§*²+Ü‘´ÚQÞ¹ƒ*7Ð1b¥¥¥@²‡£®®®Õ»í ꋊŠÚØnœËpå•Wr×]wQUUÅöíÛéÝ»w«Û.,,´“­W¬XÁ†±¬'œpË—/gõêÕÌŸ?ŸH$bn·›Þ½{óþûïÛÛŠÇã-ž8SÌÌL–/_nïgäÈ‘Mþ’=ýû÷gõêÕ@2ÉníÚµ’3%„¢ÕëX〠5BŲ¬dPÐ 36Þ¾ÕБºnuÖ,‹-‘Õ³ÚÓ¸ÿúS’ÊÝÂŒ3˜?>×\s µµµôïßßNž>\555ôi´êhKÝÀ†aPݰ(Ñ…^ÈÓO?Í›o¾IZZ%%%X–E<·gçH ËÊʘ;w.ÅÅÅÔÕÕñç?ÿ™ÊÊJfÏža„B!¦M›†Ëå"ÛAÉ_ÿúW~øa^|ñE Ã`Ö¬YèºÞd†¨xøàƒ#’Ý»woÆŽ+,„¢KSºá|éÑhê h²jb£Ç]M*‰§qy­.\^!߯3Ï<óˆlwÊ”)L™2¥IR›BñµÉ]“Úº%t½Å|߯“‰¤zþS3=¥&öéèµ-U6UÓÐTEQì%:kh´Áç÷“Û¯( ¦iâóûq¹\ö‡Ý%ËÛ·¯]^¯ÏGŸÜÜdy%ØÝDã“¢B!¾ FÓæ®Oº®£·Ð>K½NÓ4öîÞÍÆµk©©®Æ0lÔ(Š¡ë-n?5©Ïï·K׉D£˜¦Ùd¦©T±}óf¶lØ@8"#dä˜1äöïßê> †ii˜†A8nWÝÈ›FAãñã  6z,å¢cÇëÿýßÿ¡ëºT†Bˆÿ¬@C×Û\R@Qj­uàïLÓdéGñùŠ 1‚i_̨ X·~=ÿúç?1 £Åߊ¢PZZJþ1Ç‘‘AFFçMŸÎÎ]»ì)ÕSÁƒ®ë¼ûæ›lÚ´‰±ÇÏ´‹.¢~>Ë–-cågŸa5 LÚ †úöíËùÓ§ãóùdCq´åh„%GCE,ËbÆŒ8Ò‰*„â?‹n„êë[ E!‹QS]Ýb aYÛ·l!®ë\8s&£ÆŒ!+dèðá̸ì2zæäP°fM«½ ™™™|öÉ'TWWS]]ÍÀyàì™S¯ù|Ù2zæäpñÌ™äs YYYŒ=öX.ºôRt]gïîÝ­ŽàQÇÃ/N8EUÛ=ÚGZ¤>ès4ºè,NædHކB!Ä7Üz÷éC #ƒâýû©¯«C±,4MÃ0 ÊJKÙYXÈàüünÇãïÛÇ„ãÇírÙ øT`1ù¤“p8TWUµØt:”””pýu×qá…‹F¹óŽ;ˆÅböß•—–’ÐuŽûÎw¾nã6üëñx˜|ÒIT”—c´0êÀ²,Ü.ÿüç?©©©áÚŸþ”X4Úîú‘@£Ïï'¯_?2ƒA;G£O^]3GÃç#¯o_2³²¾ÎÑÈË##3Sr4D—£( ¯¿þº BñiX¸\.&¢‡d€$ƒ7©HÍáÀh˜ÍI4‡, ëh)¯¦É:¢‹ž‡-.¸à©!„ÿ‘×8MÓèÛ¿?yýûc™&fêÇ0Pfy:X»®=ϸßÔ°¦¾yy 0€;n¿ÿ~áÎ=÷\ûæ^»Ûm£ýøÆ?þÁøc%--h4ŠnÄãñv݈— !D—;a·õ¸#ÛB!ޤÆFj)‚¶8œ.µ55Í®[©)nC¡ÞF É6DêêêˆF£ø|> Ã`ã¦Mdgg7ÙNôtjª«Ñu½Å¤òP}=.§I/HŠahªÊ;ï¼ÃÅ3f0ÿá‡Y¹r%O>ùd»F)H Ñ2“èÎ ýÎh¸+ŠÂÒ¥K›ÍÊÑÚ ñxœ{ï½—H$rÈ“1†Á /¼ÀªU«ùµžà%PBÑÎ N·»ÙuGQœ.W«/s¹ÝôÎÉaÝêÕĉfÓ¶ï),$’‘™ÙâõòË/¿äêŸü„˯¸‚«ò¶nÝÊ­·ÜB<·ÿ®Wv6*°võjûumÛ¸‘̬¬äHžhšÆW\Á¿Þ{wßy‡ysç2vÌfÏžÓé”@ãH7¼„ø ¬…gžy†^½zÑ·o_úõëGNN+V¬èÐ lcÆŒir·$Õ•ûå—_2uêTrss;v,O>ù$‰D‚—_~™D"qÈûQU•sÎ9‡#FÖ{ï½÷øùÏnÏ"„BìÚ¡¨*xâ $|WWWóæ›o¶¹ÆÆ¡CÑãqþýöÛvÏF8bÙG±yýzFŽ‹ÚÂLO–eqüñÇóØ£rÏÝwsÿ¼y<õä“ 0À¾±gYŠª2qòdvoßÎï½G4I–­ªŠß}—ºÚZú Ðæô¶©Þ•SN9…—þúW" Û8˜o.G£ ^¯-Ë"=#ƒò²2ÒÓÓ±>p+ùÉÛãÕ¢‘ªªâj#"ýÆÊ›™IYii2I½µòF£(`OmÖ¿’GóÙ¤+®ÓŽ³ë®»Žë®»€}ûöqùå—Ó³gÏm3--­YñÉ'ŸpñÅóöÛo3iÒ$***xꩧغu«}§Ä²,b±˜t¸\.Ün7º®Çñù|@²»:ã÷û 8û9—ËE,K.lÔhîïX,F<GUU<š¦QQQAqq±}7èÛþÞ !„èÚ7Ý|3¿ûíoQT•h}=wÜy'?þñ[m?X–…Ãá`Êi§±kÇ>ù׿¨«®Æ0è˜c7iV*·…mx½^ú÷ïßl›&•»=Î:ÿ|¶nØÀâ7Þ  Ñ#3“!ÇÓà@{˜×Án°y½^¼^o»oÂñ@ìh=JÅNŒD¼ó™ÐË`#Fæ‹•+œŸCÓ0-+9kSÃÔ¶–iRQY‰Ëí&£aF€o‹©ëŒ;–/V®dH~~²!ÕBy+«ªp8dƒ‡ýE9R CG©Ø áêNI²oW‚S'µá œU»Q#µ˜V§nºƒß1 Â5Éwøs>p%ÑE‹‘——ÇàÁƒ;t·gÏž=äåå5IŠ»ì²ËxõÕW™4i–e‘••Å}÷ÝG,³ïÆÔÕÕqï½÷²nÝ:t]' òôÓOSXXÈôéÓ)))૯¾âÔSO¥¶¶–ë®»ŽsÏ=—Q£F1jÔ(î»ï>>þøcöïßÏO<Á™gžÉîÝ»¹í¶Û¨¬¬$‘Hpã72sæLî¹çêëë9õÔSùÅ/~ÁôéÓå**„¢í6širˬYüá÷¿çÑÇã‚éÓùÍo~ÃgÌàìiÓZ4ºÎ€Aƒ”ŸŸ¼F6ô ˜†aßXîÈ5ز,0M†Žň1c á9Ó0ìëía7n£]qÄ ¯ËÉ“?‰J5{‰6VN<ÄZë”FjÏž=1r$%%%ÄÍ9œ¢ª*ééédçäàj˜ßø?ì–Æ¡ÎAlYdƒŒ=š’ýû›Ì‘lo7UÞÞ½íù˜Û]ÞF½"V£@±³Ä:÷_xº^ƒ1n Ùé.q´¯ì?ùÞDί©Ç²ÜŒèߣ³§>Ì@/;=ÀÂiQ©A›xñ„~ÈŸs[.\ȼyóìÕážìB¡P“ÇõõõìÝ»—“O>¹Ù ®q.‡ÏçcþüùvÈ<Àï~÷;{ì1²³³y÷Ýwùþ÷¿Ï“O>Ƀ>€ßïÇårÙ=—^z)óæÍãå—_æ¶Ûn£  €[n¹…3fpÙe—QRRÂ%—\Â\ÀÂ… yá…xå•W¾Ù`V!ÄQKQâ±?ûÙÏX¸p!·Þz+¿¸ë.NŸ:•úP ÐækSÁJ³)f¥SnÑÛûh^ZúÝaµÁ,«I»¢]†ªª„C!z°hÈáp94.:a”ýX7ÌÃÚVã2è‰.—ËŽøLË"vC(«gO‚YYmÞé=ÔñÚMʫ븭ÐhYñ”7˜•Ef0ØiåµUQG"x¼^{,½Ãá \_Ÿ\’ŽÝ}OèçMÖ$pêh ¨(Šý¥L µQ…D"Ñd1ÃŽ6ºÁ”áýI}Ý“‹#vl»ËoYÖ×Éb å7 £]ÇHš×Ýä;×6ÇY*Š‚®ë8œÎäJÝm¬úÉ'ŸP^^Îyçס“‘eY >¼éM¯×þ~´µb¸išüéOâÙgŸ%  …øáÀÝwßÍÃ?Ìi§ÆÚµkY°`A³Y0€½ï‰'RVV@ii)³gÏfΜ9˜¦ÉÞ½{1 ƒH$Òdd!„hW»»ášñ£«®âœ³Ï&''‡X,Öl¡>UÓˆD"vðq´ÝÐjÜnŒE£¸[™±ªÕ@ß–FÑîÝ8Nz¤§wø®±ÑyïŒÚš*ÊÊÈM%­4äNíÚEvŸ>¨-¬ºØi•z8å­­¥lÿ~r °?×ËÞ;é›ÛuÊkY„"voßNï~ýp9˜¦IïÜ\¶lÜÈÀ!Cp´cvƒéì•Ë-Ó¤²¼œH$Bn¿~¸=¢‘e%%dƒ(jçÌyp$ÖA´L“ªŠ ¡}Êïr¹HÄã”ìÙ³]å?”ëìß·‡ÓI´´6{5xàn¸á†ŸSÁŸÃá°ƒ'MÓ8å”Sxî¹çšì#$¦‚å•+WòÊ+¯°|ùrÒÓÓyþùçY²d €=Ôé÷¿ÿ=Çw\“<ƒ}7t]çÓO?eРAÍn´8û”B!ÚÛžòz½äååµ<½­e‘Ö£…[·âÐ4ÒzôèâùŸ­¿Ïúp˜=;vЧÿfIð-–…ÃéL.:2`û‹‹)Ú»·Ó‡‡)* >¿Ÿ^¹¹øý~»!’›—Ǿ}ûزiS³é3¿õòú|dçåáìÆJŸ¼<ЋШºys—Z)ÙãñÐ37—@Zš¦aš&Ù½{cè:;¶mCO$ºÜâ…ŠªèÙ»7>ŸÏNªÊë×ýÅÅ”–”t©c¢µògåäØIÊ©òïÛGÙÆ^~MÓHKO'3ÄãñØúmÛ¶%K–ðüÃ>ž;â£>bêÔ©hšfoë•W^á’K.!3dÈjkkY½z5?ûÙÏìÅ€<‡E‹¡iÏ=÷C‡µ·;sæLîºë.^}õUœNg2I¼¡GȲ¬&«˜6~OÆ=–½MMUí}È::B!Ú 88ÄÞ£±Ò‡ÓIŸ¼<æç£Õ••v á802ùrÕ*4‡ƒôCœU!„BÑýԇìùòK&LšÔ4iüÀ4M&wœÔ–B!„â˜Wê8Ø!„B!Ä¡R¥ „B!„h!„BˆN!^4¯ÖêDêêÐëÃ!Õ$„Btj»lgIDATÑ=) 3ìÕÖÖDºmcZkX<Ïçóµ8¥yjñÖX4JMMM·M5P×K=Z] \ !„BeYíÝKmm-={õÂáptÉ5³Žpë™h$ÂÚ5k=f @ Ùb¶Š¢ÅX·n½²³ñûýÝ1ÊÀ4MŠöî¥&-þýûÛu#†B!„h"‰P[WDZ'âÚl4þ§\Á¬,6oØÀ±&4«MÓ(X¿žü¡C8x0( J7­§¾ýúñå矅ðmþ½B!„Ý”®ë¸].û.~wÍBP…¼¾}Yþé§$ \.W“ß«ªJEY§yf2£uÕVÐf%[íGe]¥¥¥e‡%ÐB!„­µx“¹(Ê7d85ZÛoèæ·Øð¶, MU1M³ÕrX€ªi$‰ƒnOu:Ñëê¨+ÜIt_‰úà fâíÛ—´ÁƒAU±ZÈéò‡LÃÑŽ²K !„BÑc H6xpC_QÞÿb;o/Ý‚CM6–eÑ;ળÆìáý–c.«=tÐzr¸\”|ú)›,ÀSYŒªÂåÔ0u ÕAÌ—‰sØÆ>ò®ÌLÌX ަ!kí¨ 4„B!Ä× Ç#h(Jjó¿ø1³~x"* LÞ]±…m{Ë9~Dßo·Úq‡Þ:H=Y¦ÉúÇgïÏȱñ÷G@C‹Ô‚Ã…áóbø”nZÆâÑ£˜ôÜŸÈ;ûlôhô¨É9”™É$ÐB!„èî±túÐ%EQ¨Ä©¨ 3°w¦e¡&( «6ï'f(8n2Ó¼è†e÷p|[”Ö“¢ª-ZDÑw3éû' î/D­¯@sihTPjKQ ÈËË'ë„A¬¸þZ´—þ‡^'žˆ©ë]æxH=-}ªeµ{˜,Ø'„BуŒ†Eê:óÇåÐØ]RÍÃý˜—ß]ƒCûºáj˜0À0âºE4G¡!Áº¡aër:q{<¸={ÊÝT…Ëé´÷ãp8p7$nwF¹ZW elö:U%\TĺŸ]èãGbíØûQ1М*—†Ó¥áp*hF c{ZÙ^Æ ëÍÆûæ-/oöEÁírÙõàt:Øçe¿ËÂ0 –|ø!‘HÄ®÷C­' 4„B!„Ýxí,—ƒ}¾ßüÏ2¼^^·ÅáÂíqcN§ TuX$„Ï¥%‡V‘¼“®',|úif̘Á•W\Á{ヒ¢ª(ÀŠ•+YøôÓ84 ×ËâÅ‹¹wî\êëë¿Õ:Ð\.–]v9ƒúõÄU_…Y]‰gæõ¸.½QTTÕB鑉ëç¢<«¢o¢ž@éNŠÞx3µ`CUW_ϼûï碋.bæÌ™<óÌ3èíHDïPñxœ›o¾™ÊÊÊ{.¬Cf'†B!„Dþ±, xå_kxeÉ&¾?e,ã†æñ—·¿ääëŸá»×?CYUˆ¹Ï,æ¬Âa„¸÷ÊïpcZÉdôX4Êœ»ïfíš5Üß}Üxà <¾`¯¿þ:–e±sçN>ùä.ÿýüóÜtÓM\xÁø}¾Nyí FüQÂEEDwl£Wv‰Òý×y—ã¹ó78~tF4†a9p<¹ç•·¡öÊÃRT¬²zøœÔ¬\•H€e¡ª*e¥¥Üq¤§§óØ£2箻ظq#K—-Ãåráñxðx½x¼^œ‡Ýâñzq9öï¾î…q»\M^ƒe¡€ýœÇã±ß“¯áµ‡[O)’£!„BÑ])Š=ÆìÀT«Š¢Ð þç£,^µ—K¾?‰=•& Éà¥ù?©)xÉÞŸK##Í‹ª*•Õ4´à“øÝ»w³fíZ^zñEzö쉦iÜýË_òëÇgÚYgÙwûŸzòIüö·,[º”`0ˆÞ ù íIƶL³Y=©_|AŸ£>„eXX>7ÕלCðõ•¸~þ Ѫ2W܆Ú/Ÿè³_õ –©bê:nÓ þ‹ñ88x<~y÷Ýüøê«¹mÖ,Âá0Š¢ðÛ 0M“ Üyç|¾jN—‹®¿žÙwÞÉæ-[7~<÷Ï›Çïžx‚`0Èß^{Q#G‰D¸ýöÛyíoÃ0 æþêW\{íµì(,ä§?ý)6ndÊI'ñÒ_ÿЦiv¾LKC¥TUmwކB!„Ýܡ޽oLSUö–ÕòÒ¿ (,qÖ)“ØUÁå€õ;«q;œð8Üp©yÙ=Hó¹),ª@S¿Îߨ¶m=³²ÈÎÎF×u,ËbäÈ‘ìÚ½Ã0PU•ÿýÿÕ_}ÅŸŽÏçk׺í­ƒÃª'U¥råJüª‰^W &˜˜¡0Õ—ŸJ§ßÀó«§?ý‘'æb:¼†…©[80 oÝŠ©ëh@(bõêÕüò¿ ÛûŒÅb(ŠBzz:Ï>û,ý¤¦ªŠ‹.¾˜ÉÇOß¾ÉY»ÆGUU>ú(?¾új¾úê+n¾åêëë).*BUUŠŠŠp8\:s&¿~ì1Î9÷\æüò—Üpã¼üÒKÍr3šÕ“ B!„íh=w(?ÁéPyõà ,ݰŸ³N™ÈžŠ0‘„‰aA(nRÑ©‹$¨&Ç ¢ 39â—KCQÀíÔ€äŒNÍzÍ€dZùùùôHKcñ»ïâñù:-¿¤]F+¯s¤g `𠆆ºnaÄ ¬xÜþ[3Fƒž°0†a¡Ç T·çë÷Ø0Ô©¥˲ðûý¼õÏòÃþŸüô§lݾêš,Ë"--ó§O'‰pö´i°lùr~uÏ=$ "‘ÙÙÙìÛ· 6ðâ‹/2cÆ >_µŠÅï¾›VÕð^[ª“C©méÑB!„`ã°×шÆÜxþDœŽ5¼ò9ÿŒï°·<Ä®²šbás)ø] ºKÁ0TL'$t—Sá:ØWZCΔaX¦ÉAƒ(-+£´¤„`0ˆªªlÚ°ÜÜ\TEÁ4M&ŒÏ=wßÍ©§FMu57Üx#õµµ_‡¢!ߢM-,lh%dM>ž¢?(ä¹¼˜ C¼²_þ7Ρ£¨™{3þŸÌÂËýºBíSaZ*†¥‰™øFEÑ4°,ü>ãÆŒá7Þஆ^ —Ë…aüåùç)((àî»îÂëõòàüùv’xªô.Àèv¹¨¬¨`@ÿþÉÀÒ4ñ{½8N<þ8цu<\.UUU­¾Wûùv’ !„Bˆîcðõú‡û£ª 7]0‘«N?†·—¬ 7Ó‰SS9gR.' ËbB~у ë›É ÜLb “•öðä«Ë8õØäöJô,úöëǰaÃxèÑGÙ_RBÁÆ<0>?ºê* ÓÚ†ÁðáÃYúé§Ìøaž^¸EU;T~³kC´XO†Aú¸qԅ¦‚a9HTêô|áMC†Sý›yÔüå¿(>s<úžBzÌš‹cÒwÑ&¦©1T‡Ó²ˆÆbÌŸ?ŸÿZ¸ÿZ¸Êª*öqל9,ùðCbñ8.·›ŒÌLvïÝËÛ‹¡iš]ž&ŸiCPpåWpûw²£°={÷²® €ôÌLÎ;çþòßÿÇ磮¾žÕkÖ 6l«µã"õ|{H†B!D·Ž4š®aq¸â s¿s ~“ÿûx=ÇŽÌžÒZþÏ{Œ’ƒ‘š ðyœô ¦1÷ª) ì“N$–LæÎÌÌäO<ÁŸþügî¸óN¼^/³gÏfÚYgaY}úôa„ Ä¢Qrûôañ¢E<öØc|÷»ß¥¿~Xª†ÃËѰ G À€K/¥ðÅçÄ—Pÿö›„ß—š'Cñ:¡.̾³§Ðã¦ÙÄöaÄ-èÝ“ªº8ƒO=EÓìm4ˆukÖ°`Á~~ÓM¸Ýn¦NÊiS§2bÄ~÷Ä\síµŒ9’_ÝsÙÙÙø}>Î9ûlôxÓ4ñy½œsöÙ˜ºÎ 7Ü€?àŽ;ïà'W_ÍÐü|ž}æzä~ôãÌÌäÊ+¯DUU¦žz*n·;y\´TOíÁ |Ù„B!º‰ÚÚZöíÝ˸ñã;4ëTc.§Æ¦Ý<¿x=å!ƒQ¹>æ\~"qÝ@AAQ 9ÛU\70Íd£ÕápðýiÓ¸\. Ó¶&‰ä®óþ{ï‹ÅˆÅbhš†Ûí&v¸üªªòö[o1å”Sð¸ÝM~çt:YôÖ[üà‚ ZŸáʲXöƒ¾m#0J+Q5P}ޝGd&FÄгWe1 sÚyŒyäPTUåý÷ßç‰?ü¯×‹ËåJÎÕГðûyù¥—H$¨ªŠaÉßé:FCpQ ¡( Š¢4yìr¹ìü‹xâñ8º®ãõz‰F£-_š¦±|éRrrsÉÉÉiöûêÊJ ·mCÓ4éÑB!„_´OQ à6%'ÝÉÏÏÁKl¤ª.Ìž}û‰ë&ªª¢©*MÃát¢iN§3¹PŸ®óÌÂ…¨ªÚjùêêꚺ®wÊÔ¶QOŠ¢0î`ég ýr1ÊJ1£zCþˆ‚…‰ð¡³ØUYO] n»-Ù›a˜¦ÉäÉ“ùãSOµ˜s¢iZ³:h¬>²ËhYV“Ç´Æï%‰4ÛN*/¤£$ÐB!„èÎEíXê®®ëÄb1âñxòŽy<Îôãr©¬‹P´¿EQp:8N\n7.§—Ë…E2ÑYQúöë×v#:\Î6ë¡ÓÚþ‰%ªŠëw¿cÓüùä”–Ð'«ª D£ iàv&ؾ§Œò1cðÝr [öìa¦Ñ³gÏd/„ßÏïÿvê ³êI !„B¡( jC°Ñ©Õ¦í ‡·Ë…ßçA× UÅápؽ.§gê~ûóµ§ ªª&몥DQp9h½z=›­¯¾ÊÖí;P#a‚‘QE§*faú¼ÔœuîÉ“ è:n— ¯Çƒ¦s4©ªÚî¾$ÐB!„èÎÉ;äJ'lÇ­i¸iºªtj]ˆTõÀŸÎZ£Sƒ”EUÕV{<}ûõ#3$È*ǧ²¢‚pq1Fi)nU¥Of&î^½fd•žNzz:=zôHöìt‘z茀L !„Bˆî®aíUÓèÌfî¡-^ÿ¢³ÊÜŽ´ÒF  9¤gdžžNnnn2Øâë¼¥áý¶hu•zhW=I†B!„8H+?Ùø…£fè΋¹LMÓZþÉ;ù–i¶¯ž¥ý‹Õ%Fã Rm8n$ÐB!„-r:ÄâqjjkÉ š»êÝpN$lݼ™Þ}ú´84È2M²srغe Ç Þj@òŒY奥¨š†Ûã‘@C!„B´Ìãñ Y÷ÕWöºÝ.Ðh® Ã`à AöZ†Á°aÃ((( ¼¬¬Kå–|Óueš&™Á @@ !„BÑzñOn.=ÒÓ‰„Ãè†Ñ-ëAÓ4|>~¿ß"÷îX–…Ëífô˜1ÔÕÕÇ»m áv» v`ÚV/˜B!„Ý\ h×êÿt­%f§;N‚Á 0 uu°¡vªT“B!D÷Õó2¤.¾™º’@C!„BÑé$ÐB!„BH !„B!„èúcª¯—ÚB!„B¶P}½¿á€äJ‡e%%”îß/µ#„B!„8,Š¢Ø‹ÚÓÛªªŒ¢B!„BtŽÿe BÐu[IEND®B`‚nted-1.10.18/doc/docimages/registerd_sym.png0000664001041000007640000000125511520267216015627 00000000000000‰PNG  IHDR‰|Í0sRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÙ h3øÊtEXtCommentCreated with GIMPWIDAT8Ëí”O‹±aƯñˆD)Yi”Œf-ã#hFJâÈŠÍ,dEÍ^V‹$e…•,d1»iPÈ¿²™…kVžš<¼¯ÅônÞkwŸsúÝ×}:ç¾"Iü‚dø%ýð`0@$ÅbB¡€Z­ÆÝÝ2™ –Ëåå`’H¥R°Ûí¨ÕjØív˜Íf( Çp:¨×ë§É”P"‘ ×ëåb±à)u»]^__óííM2®T*t8Ün·œN§@™LFA¨ÑhèñxØn·I’½^ƒAÒÀØår±Ñh¤~~~&I.—Kúý~êõz±>‹1Nôøããóù~¿_²m‚ @(•J1 …P­VÏ÷¸ÕjÑçó‰çƒc¹\NA€÷÷÷‡bÍjµ¢V«=ïø”òù<>??ár¹0™L`³Ù.›c«ÕŠÑh$Yh0P,1 ÍfÅøh4’¼èøææ:ÍfS~{{‹h4Ч§'ŒÇc@©TB0üó¿¼¼Ðápp³Ùp½^óáá­VKÌÏçs>>>²\._6n$ÇéñxÎ.H§Ó¡Édâëëëß-Iî÷{&“IFær9¾¿¿óë닻ݎÝn—ñxœF£ñäÖÔï÷‡i6›)—Ë©R©èv»™N§Ï¾†$¯þô}Ãè˜XÚî8IEND®B`‚nted-1.10.18/doc/docimages/midi_record_button.png0000664001041000007640000000160511520267216016621 00000000000000‰PNG  IHDR€×Á‘sRGB®Îé pHYs&&¢ï%ütIMEÙ :§o¢tEXtCommentCreated with GIMPWòIDAT8Ëå”ÍOÓpÇŸ­-/Û`„lÝ:oIéHH:┄i¢éaJô.(Š/'9‘ÈÈ.`0ê¿Á%zØ™dx©¤’€d¡+ °–(ݺDlõÐ9!ÆßÓ§ß߯ßüžçùµ:!ÊC}Y]ËòqÇétšÍæ|ûÑ| ìÐÐPT £ãvuUõüÂÂÓ'ÛÛÛÏ•¿Tãõu-„¨'ÄX ÎT6K’¤gýý©TÊçóuuv@0©( ønù\4ý>ÌmEéx Ž[m6[6kròÅby51a˜ætww Q’J2žÁ­xUuµ$Iƒá™¸ÔÒâñx¤] ·âƒƒ¨Öã©©©ÑQÿ×­­\Õ祥dRaÙOÙîJšƒ[ñlqYf¦­­Í{ízoï}­Æ|âyþÁþX,îfwWWçÏïlïüî†a‚TVVÞëé9»Áoß¼‡g´G <è„(_pç®,ïÕÔÔrGÓ4ü«ô@p\ÃúFñô´»¼vì"""ð믿"77&L€ ½e:XQW5Ý­ÂØ1c:µìØ1cðëoY0·f°õ0tIÏÌm{Yvcc#är9àÚµk˜6m¾ÿþ{ˆD"Ô×׫…®òÿÊï^5­È°'­I×Î3åò†ZC—ºÒÒýæ›opâÄ <ýôÓ€ŠŠ $%%A¡P ¤¤ÅÅÅjóŸ={vvvpsscK—zè”t錿÷nœ‡Õÿ†­g’¿»†‹›ûšãÞÿ7¦ƒ`)tÒØj–ÕÝ…™Õ¾À¨¥Û¦%ªíñvZº°;§MkyáŽ\-ûÁ–.é}›hléæå塪ª ÎÎÎP(8tèlmmqüøq >••…ÚÚZ\¸pwîÜù}vÞ¬âŒs±Aü¿¾Äçÿ™¬ù²5Sy=V>3%•5Ëš°&,/¤œ‡ÜÔMrÌL±‚€™®¤þ×ÒÕåqµ/ÑZÍ¿{Ñ(µ®²{bw„û~0tIû ,hÓÒõööÆÌ™3QRR™LOOOH$L:³gÏVÍ{óæMÔÖÖÂÁÁÓ¦Mƒ@ À†Ÿ/uz?6|Q€¨Iæx3ò1 µ±TM{híq,{£¬±é+(dعò¼üg7¼¼Ÿž.Ç_' Ém‹AïþÂÖÈ šZ˜Ê€ìðÀä÷/}µ_} ìRßõ?|ô|ów×Ï| ÷IOµ]C—ºÒÒuwwGyy9Ž;ooo\¹rß|ó òóóñÜsÏáøñãªyíììàììŒŠŠ ?~ü÷y¸N› Úø+Ê3ÿ«¶ewdXóÿ® áÖ14ÕÞBÞ¤š¼éÐ}X·ûê*‹aãèƒÉ+¾Á’ *‡Ç,ðîî¯!»{ …¬yßþÌ×Ö˜ ­Â.ü£«¸vú‹v»$Ô—7ép=îþ_ÛukXC—ºÔÒ}àðÀ@ à“O>A~~>Þ~ûm„‡‡#00°Í²Ó§OWû]p*Kçm[;xÂÜæ>µý°>¦–hî'0‡Í7Þ©„ÅP{˜óA01³„0³Y}-lì=!kª‡©Ù ‚æù‡ ç <€Zº|Zåz­GãºÙÒ%C´t[žD¿üò NŸ>Y³fÁÕÕUcH·9éôøËoãäÛvwL-0Èv„n'jË/Êø¥Ù@j)tíªe ÕPëaèRWZº-­Y³ HMMÅÚµk5nëñî¼ ˜ºÙ ¡"üš•û;1:إ߲0h¨À`ëaèR—ZºÓßWÿ†vá€ÿßèÔúˆ Mù çÒoYz/k1ÄNµ¼¡ÖÃÐ%=[º IêÌ­‡dXEC­‡¡Kzk¨.çA ê$‹!v]Zž¡;÷«}y ˆ:éÉrº¼ü¼IDÔƒºDD ]""†.‘΄B!C—ˆˆ¡KDÄÐ¥M(B(b̘1ÈÈÈP=¶iÓ&¸¹¹ÁËË ûöídff"((vvvjÝ šæ½pá¦N ‘H„©S§"33Sµî•+WÂÞÞžŸº4ðH¥RTTT@,cÕªUªÇmmm‘““ƒ””¼þú뀘˜„††¢¨¨R©´Ýyccc†ëׯ#,, 111ªùxà”””ðà“Q(ZbBFÇcf<‚,GÞ͵›#”-X¥TUUaûöíHJJBII är9*++! QQQUëT*•B$!??VVVj-emóÀÒÒ555pssCYY„B!ÊÊÊ`ff[[[U˘¨/P¾7€{7GT^Bù¯ßãjF¢^ëâi<™TÿWžTëׯ‡D"Á”)SpäÈ„††ÞûhdÒöÑŸŸRSSŽAƒµ;¯··7$ BBB––_ß{wÇ)+WUU©íQo2t€¡Kª°UŠÇÂ… U]IJJBll,^}õU( µ.†Ö¶lÙ‚¸¸8¬X±>>>HNNÖiŸˆŒC—ÚX½z5V¯^­ú}åÊ•Ð&L•¿?'NœÐ8­õïþþþøñÇÛl³½ &2&ü"ˆˆ¡KDÄÐ%""†.C—ˆˆºDD ]êƒ~üñGDFFbìØ±pppÀرc…Ÿ~ú‰ûhäûJ}æææâᇆ ~øaäææ|ûÓñ$¶tÕTW+ðì³xä‘FìÞ-GNŽÕÕ@}=PPìÛ'Çô鈈hDc£¢ÅÉk7·{ëyá…FÔÔÜ›^S£ÀâŪßÝÝ›—!ý=z3fÌÐiÞG}GŽÑiÞÜÜ\ÃÞÞ“&M©S§ÔZ\ÊÓ[ÿ_—}ŒˆˆÀñãÇQSSƒãÇ#""B¯} …xï½÷àîî8p ððð€§§'>ýôSµ}=sæ àììŒ 6ôèñl=лrŸ~þùgøûû«ö©½äu=Îd¡+—+0kV#w8ïÎrÄÇ7©~6L€´4s˜š6ÿ~õ*°nݽ/Ö®•áêÕæÿ›šŸ|bŽ¡C|uõT^^‘H¤Ó¼ööö(++ÓiÞèèh„‡‡£   ˆ‹‹Sûx,•J5þ_—}<þ¼Úô–¿ëºÃ† Cvv6¶mۆŋcøðáÈÊÊ‚X,Æš5kÔæGtt4®\¹''§?žšzÇ’%Kpåʸ¸¸¨Mk=¼®Ç™ú`è*ƒ P Òúxë鉇)Z|¼6l0Ũ­µÀÁƒf>üÞz¶m“ãçŸïôÔ©&X½ÚTõûûïËpîœçÎÉñ¯Ý à5kLñÐC&ÞÏÌÎÎNç ½yó¦Î’™™‰˜˜8::bΜ9¸|ù²ÁöqâĉjÓ[þ®ë>.Z´–––˜1c¡ú½õñÈÍÍżyó`ee… ôøñœ={6LMMÛìShh(¬¬¬ð÷¿ÿ]ës+//çI>Zº{ö¨_³t©)Ö®5ƒƒƒ––üõ¯¦HNVïؾ]}™uëLñÇ?6·`e2 "¢ MP^móÐC¼þº)_ÕN ÂáÇuš÷СC˜6mšNóŽ7[·nEqq1¤R)*++5ÎgnnŽÒÒR½öqÇŽ ÂàÁƒ„;vè½­[×4øº’$ êêê°wïÞ?žÊÞuÝ'MÏE—ãLFºçΩWŠˆh»é'žPìÄ E«N€O>1Ç!Ê’ œ?ß<ÏСø½ ‚Ý ‹÷Þ{555íÎWSSƒþóŸˆÕi½b±éééðððh·/qáÂ…˜0aB»}­÷ÑÛÛGŽAuu5Ž9ooïNí£®‘œœ OOOöÊñÔ´OIIIðôôD^^,,,Ú_—ãLFº­ ŒÝØæ ‚¡CÔæ)*j[¾ÍËK€àà¶»ýØc&ðð`àvÅØ±c1mÚ4Ìš5 wîÜÑ8Ouu5fÍš…3f`ôèÑí®OÙgèåå…ƒâÆmú[þãÆ())i·¯±»ö±£ß•ÿàÌ™3(..ƺuëúľNš4 gϞŵk×àââ‚qãÆµ;¿.Ç™Œ tmmõ_æîݶ}÷Ÿ}Öö˸Ï>“ãÛoå|E»hݺupuuŘ1c’’‚‚‚444   )));v,\]]UÕ}¹}c_…B!‘ššŠwÞy‡'rÖåjÀ&&õh¹¹Ü@CK´Aí‹´K—Ì1v¬~™ë–÷ßß姺¹s›—ÿôÓæ°uq.]²À°a‚Nï§1j¯pË*§-ýôÓOؽ{7Nž<‰²²2ˆD""<<“'OîÏK(´êÒòRimík8ž¤Yë÷I¯W:¸uëÞïÈñ׿šÀÌL=ÐæÍ3Å¡C÷.{úéFlÜh†  ØÚµµÍÝ ¿þªÀ‰ |ýµÙÙê}SññMªÀ:ø×¿šwÿÛopëPX¼øbRSÍ;½ŸÔlÊ”)˜2eJŸÛ¯®-'õûî… ÔCköì&˜›7´¹ÓkÁÞ›÷òe`Ö¬& ÞSÓ Ü_ßFÌšÕ„Í›eÈÉQo€ù¥ ©©÷ºÞ|ÓNN89 ðöÛ÷þvìÙ#Ç_È:½ŸÔ7 …Vý6p‰ ÚÒ]²ÄG6u8Ÿ©©_|aŽyó‘‘¡_FE…‘‘÷¶1q¢±±÷. [¼Ø©©œ>ݼި¨&š`øpÞûI§%ªï¾ödw±¥«ÕìÙ¦HO7C` @u)—6÷Ý'À7ߘ##Ãóç›`Ô(ÀƦù.²¡C1c˜=Û›7›";û^ALL”—š˜Û·›©]fb"À‡šAy ciió2ÝOj¿µÙÞÏ@}þD=ÖÒ€¹sM1w®n7%<þ¸?®{Þ§§›#=½£n462Ø~ûöíkwzhè310Œºd$ õ¥ßü=¾í…qow•ôõOý Sv"Èúb}5Ãî—¥êG*­ÕZngéÒ¥8xð àóÏ?ÇÒ¥Kl9˜î]®‘6öëˆåù°¥kÀeO^&dè°oB¡ú°€ÑÑшˆˆÀ¬Y³püøqÄÅÅáôéÓx÷Ýwñ·¿ý åååøæ›ožžŽÍ›7ˆî]‚—7Mto÷×Öp—GãGvuݼ† ÛÖò+GRjš"‘MMM-öA ªþpôèQ<ýôÓøöÛoñàƒªZ¹Êåmmm;¼c á '=Ã7ªô©Qƨm(:x»«U›‘¡~ƒ„ò¤R–sqppÐ\n'22O?ý4¬¬îµ0jjj€ýû÷ãÍ7ßÄþýû1hÐ µå«ªª4Þ„1i;x©wÿ¸i{ߺÑÀÐíãÝ †|#>²¹ Õå|Õo=ž®²œK]]¤R)Äb1–-[†—_~õõõ¿·+W®ÄÊ•+ñÈ#@.—cÅŠHLLl³¼¦ñzIÓÞëšèÃ{º{¦õ{­»Ž»º9»¼] \å¶;3ˆ9Ñ@àöþX±{¡(ÃL—Pì©/Ùx¯?÷§€Ú>ÆÍÛ›€G6vO÷û˜ Û:Ö'{ª5Md,aÜ“¬¼»˜iØÐ¥Þ èž ÚŒŒ tê÷$ýæ7ÔU$ú6¨ºýPw´lCCCy`i€«ë‘àeè2p[¬›ß©)5_³®{—…®ßßð6à~ص@D=×ÈÑ÷&‹ŽÞÃf½Õªh!iˆcÉ׃¨÷Â×Pƒþ³¥Û…°eà‘¾1†n7w0,õ=¶‚~¹n87\èÒuº Ýnü8ÒŸW @ ÀÒÒ£GÆÛo¿ ™L¦qÞŒŒ üစ…|}}±wï^Káãã Œ5 »wïæIF½*`iç.µdèvSàöfëÚaW]]´´4|ùå—X·NsŸùóçcùòå¸}û6¾þúk|ýõ×ÝÍ›7ãã?ƾ}ûp÷î]|ûí·8zô(O4êuî¯`ècàö&sssøûûc×®]HMMÕ8ÏðáÃqãÆ œ;wŽŽŽøä“OôjM»¸¸àË/¿Ô:_RR>úè#Lœ8æææðòòÂG}¤š~öìYŒ?æææ?~<Ο?8uê|||`ccƒU«VujÛD†~Ï3tûXwB{ëèÍËÉF…7nhœöå—_âêÕ«x饗àââ‚={öèÜ’–Édøä“O¯u¾ÂÂBŒ=ZëôððpDDD ªª X¸p! 22/½ôÊÊÊ0bĈNm›Èк]Ø–?=¥·‚÷Ê•+prrÒ8ÍÇÇÛ¶mÃéÓ§qâÄ ,[¶¬Ãõ%&&ÂÕÕæææ˜6m®]»¦u^dggkž••…ˆˆØØØàùçŸÇo¿ý¦z<<<ÖÖÖX´hQ§¶MÄÐåÇ• ÞÆÆFœ? Ó8Ïüùó‘——‡úúz\ºtIën-­Zµ ;wîÄ;wðÅ_´{7Ü’%KŽóçÏ£©© W®\ÁóÏ?¯šîçç‡ÔÔTÔÔÔ`×®]3f `ôèÑHMMEmm­Úoúl›ˆ¡K=¼ƒÆßÿþw<ñÄX¿~½Ú4¥¿üå/xòÉ'1xð`¬[·b±Xã|-­X±sæÌ““Î;×î~,]ºóæÍÃܹsamm™3g"((H5}çÎHNNưaà ‹±k×.€X,ÆæÍ›agg‡üüüNm›Èàï+bÞÿƒµ£–qGƒ˜ïÛ·¡¡¡lñµPUU¥ªñ×Q4MïUmïK¶tûq7±{z!x9HC—z!xõ‚ˆºÔÅàeË—¨ïã æý,xu ÔÎÄdU`"ý\ûv£Þ†®ï½ðÝ,¸ÙÁzyå[ºdà€”ùö€À åm¦Íœ9“­\"=Ù<³S˱O·ognA>¹n„B«-WMdLN®›ð{ öÎáÍF¢«_žñš`"Mï+$ BBBô~i{O1t¾*Ri- Ñï222úŒÁ0 ]†/˜¨•®t¿1t¾_'™² \†î¡ðFy˜®†¥Ïw"¼dlyds¡j”1C|­×æÑ\ ræÌ™=¬š¸?¾W3õZ†¡;@I¥µÝrröçKÑø£ïëÌ[†>GÔ‡vÔ ÝL"ù!!!8^CWZíB¡R©ÔÛ7ÌzúGý¾þG™¡KžPõF ÝŸw„BClÑPë!C5JBCCU×éVU1t©™w²Ñ@ipüÞ}lp ]êÒ Ê¦þvÞà/ù 233{e_ºÔ-­ãê> þvjë¿yó&ÂÂÂðî»ïöÚþ2t‰oV†p¿ù#®,¦Ú™QñΞ=‹çŸ¯½öþüç?3t‰zŸe›ÖQËÓôéÓ‰§Ÿ~VVVçyüñÇaii‰úúzÕ5¥Ú–³··Ç/¿üµõüéO¼yóŽAƒš/ºwtt„D"Á”)SpäÈ„††¨+º*55ÿøÇ?°}ûvLŸ>½W÷…C;éH,#== …j¸Ô >>ÇŽC|||‡Ë-\¸&Lh³ž¤¤$¤¥¥ÁÉÉI5->> .„¯¯/.^¼ÈC‹–Ç·åÿ_zé%”••áÙgŸÕúÚ±¥KÔãm¥í>æåå…ƒ¶;ÏO<Ñf=Ú–Û¸q#6nÜØf=ãÇlj'Ôæ]½z5V¯^­ú}åÊ•|Át| Û{œ-]""#ÇÐ%¢~CyeÆî"ê7Œ¡–[ºDD ]""ãÄîpoœR"bèR7<D ]ê ûöíƒD"á bèRw3†ËoˆºÔoÃå7Dý ¯^ "bèR"d"†.C—ˆˆ¡KtO^^üüüP_ß\’½®®~~~ÈËËÃ… 0uêTˆD"L:µM©ÖÝ -Ç5}ï½÷àîî8p ððð€§§'>ýôS@nn.‚ƒƒaooI“&áÔ©S|Aˆ¡KÆÍÛÛþþþسg`Ïž=€··7bcc†ëׯ#,, 111:¯wذaÈÎÎÆ¶mÛ°xñb >YYY‹ÅX³f ::ááá(((@BBâââø‚Ñ( ƒqó˜àË‘w³ ÕåøêE_moýUÖž:}ú4-Z„S§NáÁÄG}„I“&A$¡  –––¨©©››ÊÊÊTefZ–­‘Ëå>|¸êñŠŠ ˜˜˜¨Z¾­—J¥‰Dhjjºwr Ë娷o_DêU-ë²=ùA,†Ø¡ºðÊýW3õZ¯Óåɤú¿ò¤zðÁáììŒÐÐP¸¸¸`Ò¤IªV°D"AHHÒÒÒàëë«¶®áÇãðáà ÄǬþ‘ÊĤÝß`ܸqmj‰UUUñ&êU†þ£ÏÐ%7IÄÇÇcÞ¼yØ»w¯ê±-[¶ ..+V¬€’““Õ–yóÍ7…¦¦&¼øâ‹zï‡X,ƲeËðòË/«ú”¥R)oâ £ÂÐ%4Õúò÷÷Ç?þØf^å|¡¡¡ U=¾lÙ2µé­çoý»¶ZbDÆ„_¤1t‰ˆŒ»ˆH#cØ~æÌ™ ]"êÛZöÑ÷g …¢Ï|!ËÐ%¢vµþâ³·ØÚÚh¾~[ŸÛ úZe†.õ;ýù2B†.©tfˆÆ¾Ò ¢M.—£¨¨#FŒÐxãM_«HB¡Ðù‡¨¯œ³………¸{÷.JJJúüþ2t©ß¶À»sðôÞ˜Ãë®´´555€êêjTTT°{ˆŒGyy9ªªªTƒùùù©M+//W{¬»9::ÂÃà R=V__ÚÚZ†.õo¸}û6FŽ©r@óØË½ÕÇ_[[ÛgC–Ý Ôc´ J. ±iÓ&¸¹¹ÁËËKm'¡P¡Pˆ1cƨ]œ¿aÃ8;;# gΜÑi;J}}`öÌÌLÁÎÎNm{ú#mÇô矆¿¿?œ±aÃÕú;;`|UUÚ®B¡@II FŒÑ#çVFF†Î?léÒ€ˆˆÌš5 ÇG\\NŸ>  ùšËœœœ>ÇŽC||¼ê±-[¶@,ÃÕÕ©©©HJJR[F90»¯¯/nß¾Ý-Ç )) iiiprrêÒ1Ò$11IIIðôôD^^,,,:õÚ(ÙÛÛ£¢¢¹¹¹(--…““S¯Ÿg7nÜ@vv¶êçÆ}ú}Áîv/t[÷õ HIIÁÁƒqèÐ!?V·î^èMÚº ŠŠŠpçÎ :£GFCCƒêj†¾Ö½À/ÒˆŒœP(„@ €——¶mÛftÏO ÀÙÙ¥¥¥ðññL&ëÓ—1t©Í LÆe |111³³3är¹êî4†.ñÍIÔ îÞ½Ûç÷“¡KDýN®jÁÐ%¢~AùE–¾ŸÈúÚ'8†.µû‘ºd@-ïé'âùÁÐ¥n¤ÏýëDÄÐ¥.êÏu¦ˆú+ÞLDÄÐ%"bèÒÁú\D ]""†.o+·åpí•ÝÑ¥dP(ÔXn§£R9D ]2zÊ»w¤R©êÿÑÑÑGAA§š_Y²fÛ¶mX¼x1†ެ¬,ˆÅb¬Y³F5Ÿ²ÜNTT”j<ÛØØX„……áúõë CLL _2zOwho<Ý–”c†¶,QèWvGSÉmåv4•ÊilläùÔçp<]2èɤ¤<©ÌÍÍQZZ Í¥]"##ñôÓO«Õñt+Y4—Û U+·£,•¢*•SUUÅ›6¨O1t#€¡Kmn’X¸p!&L˜€ºº:H¥RˆÅb,[¶ /¿ü²ªŽ—¾ƒˆ(Ëí8;;cûöíšKåÄÅÅaÅŠðññArr²Æý!2& ]jcãÆØ¸q£êw///Ϙ.#dè’JgFã—dÔär9ŠŠŠ0bÄ­7äôU¼zÔ( ˆzë-,,ÄÝ»wQRRÒïöŸ¡Ký¶nLãþr cÝ•––¢¦¦P]]ŠŠ v/õÅPcWˆþ²³³Uÿ÷óóSýÿöíÛ(//Gcc#,,,`oo455¡¨¨uuu°´´Äˆ#`ffؘqtt„‡‡ ¤z¬¾¾µµµ ]"êß”AÛ2|àÎ;1b,,,pëÖ-ÃÛÛ¥¥¥°²²R$wóæM8;;|¿jkkûMȲ{zL{ƒŸoÚ´ nnnðòòRÅI9xú˜1cÔ.Ö×4zGÛiýѽ¯ Ìž™™‰   ØÙÙ©u+èsL´ßþþþþpvvƆ :|¾åììŒAƒA ÀÆÆFõeVMM î»ï>Üwß}¸{÷®AÎ¥ŒŒ ØÒ¥+::˜5kŽ?ޏ¸8œ>}@ó5˜9998yò$/^¬ÎQ*•B.—ã§Ÿ~Bll¬ê®"å èü1âããqòäI¶£\gëî…ö–QÌ~òäI„††â­·ÞBVVNž<‰èèhÌ;Wë>ÅÆÆâ¹çžÃüùó‘––†˜˜œ8qBí¸ÄÄÄ`þüùWûˆ¬ï1Ñ4||<–,Y‚ìÝ»WçcÔY2™ EEEªa@e2™ª;ÁÔÔr¹Ü ç’>Ã}öõ<8ˆùÐÞ æ-g …z_„Þ^?©>ƒŸK¥Rlß¾III())\.W›_Ó èÊå´m§uk··f/++ks\òóóÕÆ&îÌ1Ñ4¿ Uûåìì¬ó1ÊÈÈ@hh¨Æ×4;;[­OWù¿¸¸"‘C‡äååÁÃÃfffhjjÂÕ«WáííÝ©ó¶åÍúôÇ+ÏcC]ÛÛú}ÒÕAÌÙ½@Ýfܸqغu+Š‹‹!•JÕÞäš®­\¿~=¶lÙ‚¢¢"H$µ?‰uuujƒ ë²%åÀìÙ·öfo½OÊÙkkkU³kê'MMMUMÜÙc¢i~µýÒç飪ª EEEpttT.ØØØ ²² …•••°±±á¡K=E,#==jý©ÚÄÇÇcáÂ…ðõõÅŋզ)Aß¶mõÞŽr`vå4}÷MMû´eˈÅb¸ºº"55IIIm–KJJBZZœœœºtL4ILLDRR<==‘—— ‹.=ßììlÕ—h-ÿãÆ 455¡  @õ¸\.‡½½=jkk‘››‹ÚÚZØÛÛü¼ºqã†j›ÙÙÙ¸qãF¿z_°{Ý ÝÖ½`Ìúú%h HIIÁÁƒqèÐ!?Fkë^è Úº ŠŠŠpçÎ :£GFCCƒêj†¾Þ½À/ÒˆŒð‚@ €——¶mÛftÏO ÀÙÙ¥¥¥ðññL&ëW—1t©Í MëË­ÜðéÃÄÄÎÎÎË媻 !êF …Â`×3t‰ˆZ0¦ª ]"ê“”_\éû ¬¯bcè‘ÚGvbèR7jy?φ.u#}îg'"†.u‘1Õ"ê/x0C—ˆˆ¡K„r@GGG<øàƒØ¼y3d2™Æy>ŒÀÀ@ÕàØû÷ïç$bè’¾¤R) ’’‚ÿüç?HHHÐ8_TTâââPPP€ôôt|ûí·û,ž}öY4"ñ‹4""†.C—ˆˆºDD ]""bè1t©úñlj±cÇÂÁÁcÇŽETT~úé'"†.ŠL&ÃòåË‹àà`œ:u ÕÕÕ8uê{ì1DGGcÅŠZ‡z$"†.éaýúõ(,,Ä/¿ü‚ÈÈH¸¸¸ÀÂÂ...ˆŒŒÄ¥K—ŸŸ7Þxƒ«…B†. —.]ÂÑ£GqàÀ u´Ïí=Gê …BÁÃ`Ü#Ft¸ÎÂÂBLž<—.]Ò:rH…B9sæà­·Þ”)STá)‰PPPKKKÔÔÔÀÍÍ­Mïß¿~ø!rssñ /àÕW_…H$BSSÓ½“X @ee%ìììPXXKKKÔÖÖÂÙÙR©B¡011QÛ/]¶¯iYmëÒ´OÛ·oGRRJJJ —ËUk[OË5M×ö©û´~Ÿ<ùA,†Ø¡ºðÊýW3ÙҥΠÂáÇuš÷СC˜6mšnÙ¼ÿþûX¶l™ÚãÞÞÞH$¨­­EZZ|}}Û,;{öl|÷Ýwøê«¯ðÁƇ­[·¢¸¸R©•••H$ÔÕÕµùO^ún_Ó²šÖ¥mŸÖ¯_-[¶ ¨¨‰-Û8šÖÓÑvÚ{ŽÄîêgbccñÞ{¦¦ÝùjjjðÏþ±±±:¯{äÈ‘˜7ožÚc[¶lX,†««+RSS‘””¤±µ, ñÌ3ϨB[,#==j}½‰‰‰HJJ‚§§'òòò`aaÑî>é²}]iÛ§øøx,\¸¾¾¾¸xñb—_#}Ÿ#±{úp÷¬]»¹¹¹Ø¿¿ÆËƪ««1gÎøùùaýúõ}òù644 %%Ä¡C‡Œò5Ï‘Ý 4 ¬[·®®®3f RRRPPP€†† %%cÇŽ…«««Æ/~ú¡PGGG¤¦¦âwÞ1Ê×h Ý š¦=÷\#Ö<WžW_Ñ%Ø¥R©j,Þÿüç?HHHÐ8_TTâââPPP€ôôt|ûí·~R©TõCÔ¯B÷êUD¢z¼öš ×®€²þDc#›«ÀâÅMm–ËË“C$jÀ[oÉPP´¨ã‡¦& °HHA$RMm‚ƒÝ„ÂB@Yứ ÈÌTàþûQRb¸7®{öÈq÷.ºýyõ–î(Áæææ˜0a’““!‘H4Îsß}÷¡´´/^„ƒƒÄb±^-Ø–åÍ;Ó¡­äy{¥Õ‰z$t˜0¡ååú/çï߈ßëõµ«²hDCCû¡ùÝwŠv¶„†6𣷢ǞWoéŽì-yxxàæÍ›§I$\¿~«W¯Æ˜1cT¡§KëUSyóŽº4ÑTò¼½ÒêD=º11M¸}[ý±É“8rÄwïZ +˯¼bŠûîSŸ':º ÕÕ-?¾/¼`‚ÂB ܸaèh÷¦ß¾Ý¼­Ž,X`‚âb \¼hggõi§O7‡›B1 Å 6Ë*×6]Ó¶òó-Ôæï®çÕìììtÒ›7oêÐJ×®]ƒƒƒƒÆi£FÂæÍ›qøðaddd`Íš5®oûöí¸ÿþû!‰ðä“O"??¿KÝ ‹-‚¥¥%f̘òß[™™™ˆ‰‰££#æÌ™ƒË—/35¨gC÷óÏÕ??ô?ýd  X[ àçg‚ÍPQ¡bª/÷·¿™`ûvsŒ!€ƒƒ[·šcî\“v—iûW€={Ìáä$Àþ`‚={ÌÕ¦×Öî@ýå/Íë9RÐíÏ«·tW öÆÆFdff"..!!!牊ŠÂ•+WP__¬¬,.Ik¯¼y§Þ z”V'ê±ÐmQ8ðÏšuj¹Õ«MÛÌóꫦ­Z&í¯óõ×Õ·=i’ ÛÔš5¦=ö¼zKw”` …pqqADD‚ƒƒÕºZ~ÌüñÇ$$$ 11Qã|-º¼¹&ÚJ«u–Þ5Òä­i&:µœŸ_Ûå||í.ÓÚäÉêók¹ÊÉ &NôØóê-cÇŽÅ´iÓ0kÖ¬K°Ï˜1£Gîðã¼®ÓŸ}öY<ûì³z­gõêÕX½zµê÷•+Wj_Û:”·ž®üÝËË dRPïµt[»pAÑ©årsÛ.×ú1“öÎÂBÐjþîké¶ÞVw>¯ÞÔßK°]èÚÚªÿ¾lYS§–{ûí¶}v ²VM»÷ÉâºÙ¾ø¼ºBY‚ýÃ?ÄáÇ1eÊ 2S¦LÁáÇ‘’’‚7ÂÔԔÝgžQ_äǘ2¥ÇŽÉQW§@^žëÖ5A$R¿yà¯U_nß>9bbQZª@i©qqHO—·»LW Z5VW®”¡®®kÁÛžWw˜2e >üðC\ºt ¥¥¥¸té>üðCLž<™ï¢®äBϯ|‰Ú\6¦IË˰êêš—»sG·í ”—[¨}¬o}˜¦Ë¼Ú›G(¬oóÅ—¶yuÙVO>¯®ð˜àË‘w³ ÕåøêE_@FFBBBPÕÞA!àZ¿Ožü CìP]x å¿~«‰ÝÛÒµ°àÜ9 ØÙé·œ¥¥gÏšëôÑÚÖ8sÆ\k?jg-ZdøÄ}áy‘w/€——¥¥xóMS¸»æ-.57¼½ض­í…>>&¸yÓ«V™ÂÅ0k1‹©)0b°r¥)ÊÊ,àãcøàï½g†—^2ÅСm»º¢·Ÿõf]ÐÄD€5k̰f~«03 !Á úoZ—ÝÍóþûfxÿ}3ƒl«'Ÿ à–.1t‰ˆºDDtAÿ¦ipvö±¥K=Ä,¼IÄÐ¥~¾,ÁNÄÐ¥NºöíFçe v"†.@Ê|{ü°Ô¥ÃùZ ö¾´nbèR? ï—f'×M€Ph¥qš1—`W(ؾ};`oo‰'bïÞ½<ˆ¡K ^}ÃW(´Bhè3jµ.Áž››‹‡~666xøá‡‘››  –`ONNFzz:vî܉¢¢"|öÙg8yò$OêÛ¡«üb†?}ó§3Z.׺{DDŽ?Žšš?~ªiý­»X,Frr2Æsssxxx 99Y5ýÂ… ˜:u*D"¦NŠÌÌLÀ™3gggglذ¡SÛ&bK—4j]‚ýüùójÓ[þÞßJ°ÃÇÇGëôØØX„……áúõë CLL €æ:lÑÑѸrå œœœ:µm"†.iÔºûĉÕ¦·ü½¿•`wvvF^^žÖé¹¹¹ ƒµµ5æÏŸœœÕãóæÍƒ••,XЩm1tI£Ö%ØwìØ   <AAAرc‡jZ+Á‰ØØXdff¢©© W¯^Å’%KTÓ½½½!‘HP[[‹´´4øú6ôîãã‰D‚ºº:µ/Þ ]þÞLj±£££1{ölX[[ÃÛÛ[c¿­²{JJJ‡ë …°°°€››BBBðâ‹/ªMSVÝU–`¿víÜÝÝÛ”`×TÍWY‚€ª; ½çfjjŠððp`äÈ‘X¾|¹jú–-[‡+VÀÇÇGÕß›˜˜ˆÅ‹ãµ×^à /¼Ð©mµ¤w¹êã/¨ž_¨)ƒÔÊõ¬]»¹¹¹–`÷óóÃúõëyÀÉèõz¹2žÀ•H>oóK°u/†®‘„­>+•ÖB*­Õ8%؉ºûtXë6pþÎ7eÊL™2…˜ˆ¡K•vó÷ì<Dì^ n£P ‚ûã+x ˆºÔKD} »¶DÄÐ%,‘qb÷C—ˆˆ¡KDD ]""†.õs,ÁNÄÐ¥ÀìD ]êAÆP‚Ýô)¹ÎòìÄÐ%½ôf ö–úz¹tåóRþ(ihˆ¡KZµ.Á®Mw”`o©?”K—J¥ª"†.uJëìí1t ö–:*—Þ²µÙ²ü¹P(Ć àì쌀€œ9s€öòêÚZ°-©®lõ …BlÚ´ nnnðòòRU6ÎÍÍEpp0ìíí1iÒ$œ:uŠ'C—²Ö%ØÛcèì-uT.]ÙÒÔTþÜÅÅW®\ATTâããh/¯®ë:;êbÐÄÖÖ999HIIQUÙˆŽŽVÕhKHH@\\O:†. d­K°·ÇÐ%Ø[ê¨\z{åÏ[–KÏÍÍUµ05•W×ué^X´h,--1cÆ ”——233GGGÌ™3—/_æIÇÐ¥¬u ööº{K•Ko¯üyËréÊÖ²¶òê-º¤º‰IÛ·Ö¸qã°uëVC*•¢²²’'C—²ØØX¼÷Þ{¨©©iw>e öØØØ×) áâ₈ˆ«}l×öÑ<66sæÌAxx8œ1{ölª¦+ËŸûúúââÅ‹jËæççÃÓÓÛ¶mS•qß²e Äb1\]]‘ššŠ¤¤¤6Ûlo†"‹‘žžv»&ȸ±ûà13Á –ÿ^®§_½ØÜÒk]Zèß%Ø…B!¯& ƒc vêV,ÁNÔ½8ˆ9©Q–`æ™g°{÷n¼ñÆ(++ƒH$B`` RRR0yòä>¹ïlåC—ú-–`'êì^ "bè1t‰ˆˆ¡KDÄÐ%""†.C—ˆˆ¡KDD ]""†.–`'bèR` v"†.õ –`W×cÞr<]†. p,Á®›¾¾ÄÐ¥~‚%ØuÓJÄC—ú–`×­{Gû§m{gΜA@@œ±aÆNm›ºdDX‚]·ìퟶíÅÇÇ#::W®\““S§¶M ]2",Á®[ öŽöOÛörssÕö¯3Û&†.–`×­{Gû§m{>>>jû×™mC—ŒK°ëV‚½£ýÓ¶½ÄÄD$''ÃÓÓ………Ú6õ,Á>°;Qç±;u+–`'ê^¬LjX‚ˆ¡K½€%؉º»ˆˆºDD ]""bè1t‰ˆˆ¡KDÄÐ%"bèC—ˆˆ¡KƇ%؉ºÔX‚ˆ¡K=¨'J°³ô81t‰Ð}%Ø•?J ŒºDè¾ìÊ"bèR ÝU‚][÷‚P(ĦM›àææ///ìÛ·@sÇàà`ØÛÛcÒ¤I8uê_bè’ñéŽ욺Z²µµENNRRRTÕ(¢££Ž‚‚$$$ ..Ž/ bN*Êì#FŒèp^]K°wÔ­°hÑ"˜˜˜`ÆŒ(//dff"&&111@À‡ØÒ%ãÓ]%ØÛ=MÚž‚ãÆÃÖ­[Q\\ ©TŠÊÊJ¾8ÄÐ%ãÓ%Ø;C,#==ívM1t©_;v,¦M›†Y³fáÎ;ç©®®Æ¬Y³0cÆ Œ=ºS] ÊÇ[OWþîåå…ƒâÆ¼òºdÜX‚¨{ñ‹4RÓŸK°1t©ßb v"v/1t‰ˆˆ¡KDÄÐ%"bèC—ˆˆ¡KDD ]""†.1tI7,ÁNÄÐ¥ÀìD ]êAý½;ÇÞ%†.õ†.Á®…BíÛ·# ööö˜8q"öîÝË…ºd¼º£»®’““‘žžŽ;w¢¨¨Ÿ}öNž<É…ºd¼º£»²ÜΘ1c‘‘¡u>±XŒäädŒ?æææððð@rr²jú… 0uêTˆD"L:™™™€3gÎ ÎÎÎØ°aC§¶MÄÐ¥^Ñ%Ø¥R)*** ‹±jÕ*­óÃÇÇGëôØØX„……áúõë SU ŽGtt4®\¹''§Nm›ˆ¡K½BY‚]º”`ß¾};î¿ÿ~ˆD"<ùä“ÈÏÏ×:¯³³3òòò´NÏÍÍEXX¬­­1þ|ää䨟7o¬¬¬°`Á‚Nm›ˆ¡K½ÂÐ%Ø×¯_-[¶ ¨¨‰ …B뼑‘‘ˆEff&šššpõêU,Y²D5ÝÛÛ‰µµµHKKƒ¯¯/ÀÇljuuuj_¼é³m"†.õ C—`ÇÂ… áëë‹‹/v¸í9sæ <<ÎÎΘ={6UÓ·lÙ±X WWW¤¦¦")) ˜˜ˆäädxzz¢°°°SÛ&êI›FÏcf<‚,GÞÍ4T—ã«›[‰ AUU•*;£… IDATjÞµk×"77û÷ï×xÙXuu5æÌ™???¬_¿ž—Œ^ë÷É“äÀbˆª /¡ü×ïq5#‘-]ê<–`'ê^¬LjX‚ˆ¡K½€%؉º»ˆˆºDD ]""ê"öépûöíãA bèRO áA bè[¹DÆÛ@aèòdâA bK—zÂÌ™3Õn&¢îÇ«ˆˆºDD ]""bèõü"ÔØÚÚò ô0@©TÊ×£¼ ]ê¼¢¡çèR¥˜¯Gßz=ºŠÝ DD=ˆ¡KDÄÐ%"bèQñ‹4êWËFÊçÑ$—  @æ‚Ö3ü=ñÚ‚@¤j ‘µr%*ŽǨW^G\\›yäuu˜›C`jÊÆÐ%º§I&ÇÖƒgñfÔ ØX‚L!@“+€Û5MHØõ†n ù»v!÷­·pÿÌ™˜¸t)¿ÿ>ìŸx6^^ªyJ>ÿ™‹ÃÚÍ “þýoX:9ñÀ±{²ÿ•TA.onÉ*Íÿ³±ÄÉ_ p,³?\(ÀÏÂÆÒ¿O&òÆFüºr%{å¸Kü!8Ù«W«æ¹“›‹¬W^AðÊ•=y2~š>wÿ÷?<†. TÇ.æ#vó701h¾h ä  Q44)Ð(S ±Iº†F˜ŠŸÄbŒŒŠ‚hút­ë‹Åxê©§°cÇÌœ9“',[ºÔŸ¥ÿÞNû sŸ˜ g;\.¾¹\ßòo!§ðr o!¯¨ —‹o!·PŠÜ‚ üvínTT£Lz9×K¡PüþE[Ëõ¦§#!!"‘öööxçwžž®6D"ÁºuëðùçŸ]à€ìî]ܽ~fƒ7_×ÜÐyI dÙÙ0ä\úâ ˜º»Ãëå—µ®ãúõë(,,Ä®]»P\\Œk×®©Mß°aœ€3gδû¸P(ÄÊ•+aooÈÍÍEpp0ìíí1iÒ$œ:u ™™‰   ØÙÙ©}"Ù´iÜÜÜàåå¥*¬ªmB¡Pãü ]ÐÞH=o~.@èÿMC#Ìq­¬ LL €rEóg2¹Mrd2h¾9ÂÌÔõM°²P¿¸¿´´îîîªßÝÝÝqóæMµyV¬X¸¸8¸ººßÁU(pá¹çà:v,DîîBQUùõë0±³Ã­ÊJæäàbq»«Ùµk^y嘙™aÅŠmº`\\\påÊDEE!>>¾ÃÇxà”””¢££Ž‚‚$$$ î÷›7bbbŠ¢¢"µammm‘““ƒ””¼þúëí®CÛü ]Кd€h”)Ð “£A¦@mƒ 7oÕ¡XZ‹bi ÊnÕ¡¢ºUwP]Ûˆ»õMPü~ý®å sܨ¨†›£úسööö¸~ýºê÷k×®©ZXJÿþ÷¿±zõj|öÙgFwlsÞxf·nÁwútÈ33ÚZÀÜ01¢© ÖÆAvç++µ®£¾¾iii‡P(Dxx8ÒÒÒP__¯šgÞ¼y°²²Â‚ ››Ûáã³gφéïw¿eff"&&ŽŽŽ˜3g._¾Ü¼ï99xî¹ç0¨ÕÕ‹-‚¥¥%f̘òòòvסm~†. ho- £G`ßG`Ž&¸·ÆZ +êpënêäh’¡ÅM²æ–®L.‡¹™ †ÙXaï/⑉îjëž;w.V¯^²²2”••aÕªUøÛßþ¦6Ïĉñïÿk×®ÅG}d4ǵäÀ”þ9þþwÈÏž…B&ƒéäÉhôõ…ùãCQY S©c‚ƒ‘½fÖõ|öÙg˜8q"¤R©êÇßß_í”D"A]]öîÝ Ÿ73»÷UÒ¸qã°uëVC*•¢ò÷?~~~HMMU w01iYÚÖ¡m~†. x ‚ïÇŠÐ?â@ÆqÜ(«€ŸË˜š0c¼#‚Æ9 pŒþègo{Œ÷²ÇwF´CM]2¯ÜÀ;iÇ0ØÊOOõU[ïêÕ«1bÄøûûÃßßnnnXµjU›íûùùá믿Æ|€ýë_ýþxÞ¾t Y+W"0"øåÈJJ`öÀÈ;t߬]‹êêj˜ŽÙÙ³p „ôÇQuþ¼ÆuíØ±QQQjEEEaçΪßóóóáéé‰mÛ¶!11±ÃÇ[‹ÅHOO‡‡‡„B¡ªÿ6)) iiiprrêðR1mëè« ož4v3ã¼`9òn6 ¡º_½è«u^[[Û^«TPpó6^Ùz¾ÞîxhÂ( ±4Ãkì×|â €û†Za„ÝPÌ™6Sÿ0²_¾6 m·\¾¯Ç¹¸ÛÛÃÉÍ GŽÀ|Æ Ü¸v —Nœ€[\JSRð§ÈH4|þ9Ì&L@é;ȾpSð^xòƒX ±Cuá%”ÿú=®f$êµ ^2F}ÆHû¡Ø¹êI¼¾ã(¾ü¾ ÏÌðü¸@ïuuÔÚùÿíÝÏKaÇñÏî̬F)!þ`AJ7±Ãfyí ìÐAð’OÂb þzêÔÁHÁ«DzPˆö™e]Ú£t±ˆU÷ô<3ÛAgZ[ŠÂ\Å}¿àAOßÑ÷ÎÎ<Ëå3°Ž[s¿ò33jíí•70 âÖ–Öt}eEgÚÛµ13£/ù¼šÒiÙõu%•ÏåôyqQ­¿lûÓOó Ñʼnr¶ÞÓƒ»7õøÙ=yúB’dŒQ©TR,‹V<¯Ø"Fö\•ÙÞÖËéi]íëÓ«…¥ggkiÑ·Ý]]šœÔÛlVýãã*‹’ï«-•Rauµ"º„•èâ” ‚@Æù¾/k­îÜH)yÞÓ£çÅ7FÂà:Ž#Çq亮Ç‘çy'ò¦IµYke­U[&£ïŽ£×ssJNL¨ÔÕõsŽÝÝr::´‘Ë©­§Gkóóúº¹©Þ©)YkÜèÑÅ) …1&ZáÏ×.6èþPZ…BAAD±u]WžçÉó¼èû ”H$¢­Hµ¨|vÆ5 ëÜÐŒ1ÚÙÙ‘µ6šcãØ˜Þg2z·´¤d6«+##Š××˳ÂKtqzÅãñ«ül¶3Ù(ß÷£Ë ánùùÖ2Çq¢¨†+Œg8£hŽ©”.//ËÝáröß1¸®Kp‰.j!ºuuuJ$ ‚ ZÖZù¾E7 kÝð+—*çX*•äû¾‚ ˆfø»9–/]Ôò3YIŸFÂßÏ1|€øâÈ€èÑ×tQ§p<@tQ%1ž¨ËñÑEõð±OŽŽ×t€èÑ] º¢ Ç‹-c5&ÑЬÛ?2àÿCDUý£@tñŠŸ>0à˜ñöÑyëCþ³}ü:Ñ€*c÷] º¢ D@t€è@ÍøÚˆ°yØ0‰IEND®B`‚nted-1.10.18/doc/docimages/ritardando_handles.png0000664001041000007640000000725211520267216016577 00000000000000‰PNG  IHDRÓovõ×sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ2¦GC#tEXtCommentCreated with GIMPWIDATxÚí}PçÇ¿{ï·"*CŒ\M°¼$Ø`gHŒ:5Lé¨tªÓN_l“iª&±MêÄ@ÆÄÑvª©mS§“Öic£tÔ¼˜„3-/_Îȉ(àÇáÝqÇÝö…‚¼íÞî½îï3à »wû{vŸÝï>Ïï÷{žçŽã8!UA˜‚ÄD$&‚ HLAb"A˜‚ 1‰‰ HLA˜‚ÄD$&"â0 †a¨"HL„X!$&BhêZhQQD¾¥à8nÄÿãµ&b?¯ "†Äär¹píÚµû’’’šš*{Mô3 3BhCôö‚1ÁY­`²³‡ö!)iLÛƒvâ¶¶¶Û™™™á»¯á˜¶^SSƒŠŠ äå庻»‘››‹]»v‘˜ÆÓD`\a!0($«X³X·nÔq÷ã½eJNNÆâÅ‹‡¶­V+êëë㯛WVV†ÊÊJ ²_Ÿ9ËgŸÏ<ߪIKž{nB!  }v[<€Ý»Çz{†„"V4„lÆæùieœ@½ÿC£Æ Qܧӡ™Z¦ˆb2›Íhjj’õÔ)à8^jùILbX½z56oÞ,û›™§×ã,µNò-ùä74rÓ|¦ÐRHbèå§Äbh[¦3ÔÍø"à;†]LQê ?ýôÓÈ\n8F1(ð”~àŠÀK›Bã·éììµð{,2G§ƒ…ÆéÉ£›G„Z‚ÄDHD +’‡˜ã<4ÞÚÚŠ={öŒú-ª°Š‰fÝÊ#šïÍà©S§°víZ´¶¶FìRT*Ø ç„F.S0\9&­mýý²®ƒ~9„Æ}¶ ‹ß$÷ „‡Bã‰)vQ½úê«#›Çþ~¨T*(C,èzðAÜY¦Xz{{aµZEÙ=þ<ˆ²18r½ºº'Nœà}\ @?ôz½$õáÔjñÏyó¼oàwÞÅbÁK/½$‹‡ÚšŸÝ55H™os»ÝÐjµPð h¨fÏž=bGEEÊÊÊP\\çP£ÁeŠ~#¨T`YV”]ƒÁ¢l\½zÀ­ÝbÇb±`Û¶mØ»w¯du²Ï`:ƒÁ…B!y½G+,Ë"++ ©¢ì”——cË–-ü˜»ƒ¼¼<®ººš  .\ÜfVV·lÙ2Q6V­ZÅQ‚¨®®æpµµµ‚Ž«­­åŒF£¤uò–îJÿеIm?š)·Z¹Ë·¯] BïeØ}&%CcÇÃA!Ë¢^¦~“lV'rShV«5*¯ß+‡<fi4²OÜ’˜ɘ¦R¡KdD‹ 1·ý¦hôÐÖÖ†îîofåÊ•#:—ÇŽCnn.²²²Dæ^ÜèìDOo¼ÔZ=’SÓѼþxø­·$½ˆššFQ¹±ºº:´··cåÊ•AÛhooG]]JJJššÊû¸îîn˜Íf”••IZ/ísçÂe4±s':::$µßÑѳٌââbLŸ>=(>ŸDvv6 %;·†%KÝÐcW—(;t/U7n±£±±¥¥¥Xºtipo›ÞýãNüåí£èôŒîbh{ÔXùú&ÌÖK7¢¶¶ÙÙÙ¸óZ„°yóf´··‹²qäÈÔÕÕaõêÕÈÏÏç}\SSNŸ>-ªì±øÀf¾ÿ>l6›¤öÍf3Ìf3V¬XôK¬¯¯DAA¤çV`E~>L"í8p@нTØ¡×ëq÷ÝwãÎý|p]ýeÅËñþ%ç¸ßé?õ.žÚð-t|V!Yåi4Æ Îy””eãâÅ‹€œœAvÜn7”J¥¨²ÇìæxùÂÌKI‘Üþàœ-“É´]‡ÃHKK“ôÜÒÚÛ‘5u*ŠDÛr/%ó™|}xä¾Ç&Ò §·’C&‡Ø PÈr¤¾?–Cão­ø.NÚù ,Ô¥,¥'=ŒA›Ì"z=û,ömßörUR¹zå,~~ì ïï?\õÛàü1Ÿ ŸxçZ`wù‘”:=JŠ™DL'döKì—ŽEŠÓ›bòxlðlUUù?Á¿~x½^477cæÌ™HOK³ï&¼ÞpŒZƒ~Hµ–çŸGî+¯ð²ÛÝҌ˽^~¢dQ˜?wò/rès:ár÷Ãà TiÀÑuíkØl6Q!Z›Í†K—.!''gh²!úúúÐÚÚ*(7%„³_s3 æÏ—̦Ãá@kk+L&ŒFcP6ü~?ššš––&zÀpΛšŠÜôtQvêëë…ÝK)&^¾|™ÀUVVNúݼsçxÙô{¯sz%ÃÝ~©Nú÷Ø›'µ·û¹q™¬zÌã“2Lq59p8ß\¾œÓ'%IjóðáÃîðáÃAÛèééápëÖ­“ôÜ´‰‰ÜK–„}r *ÜMák™™ü‚þ^ô󜒒¾ b ¿«÷Züvg¨Õ¸ £I™j†1 ž†} ëâ¤$~}} ;™Á+¨qêxÕ¸A !~W¼Â*²Ѭdh#ðòPEs¥<ñŸô¬û!ªö~—?0*¨ñÓ /cû¦@?Á“"$™ÌÊw1'&…z~ýç£Øøúe|úé)´]½NmÀ]÷äáÛÍ«`&yè;±þƒ¯x—·ä÷§'µ7Q¾kú}%ôD‘˜¢ñ.,*½Kx "Ðï:ôÄý¢ü®Ž³Ç鉒1qÝ•&¿‹ 1IìwmùÙâI“ÉYZeXý."þå¤N™s? ³’yØõÁa³ÃÙçÂ@€ƒR­k0¢é¿Ÿ#33“ÿO]òàã?Frr²è$õõëב’’µZÍ[Å¢‰ç¤­Ü:I=YB÷ý5k£2i+ò™ˆùb|ƒ‡}A">‘"I-$ˆáîjˆ‹z£<1ú +A’ZHBYÅç/EÛŒg1~¤.ØI™Bg8ÿî‚íO”LV¨4pF`…_!9¡L(ó™ñðFd…_ò™ˆ¨bë‡Eb…_j™ˆ1Ä®,ÍÍÍðzo­êûÞ“ËøìU%£¾¾`4EO$11Ä€ýû÷Ãf³ ¸ñד×y—ŸQðöìÙÈËËÃúõëC~ÍÌí…âúÈôz½ ‘Á—O+´ìx<®é *påͰOÔ”ÄgR(˜2e ‰ˆ9?Œ„lý°hœñ,i7 ‰×]3žILAÝ<‚ 1‰‰ A˜"Öø´(%Ü‹˜šàIEND®B`‚nted-1.10.18/doc/docimages/ritardando1.png0000664001041000007640000000562111520267216015160 00000000000000‰PNG  IHDRÖcçäþèsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ4#\¡åtEXtCommentCreated with GIMPW ìIDATxÚí}PTׯŸý`a× üPÙÉ„V…v’†tFcZ3~”LĦ8é0­ãÄf’)vb§©©ƒ'¤™±-ýrÚ ¶™iP±I4Æ$¬š•¶Á:XI Jpaae—ý:ýƒj“(»÷îÞ Ëòüf˜a¹ç¾gÏ9÷¹ç¼ï{ÏE'„ „¨Šž]@…E…E…E¡°ˆºèt:èt:v…EÔ¡°ˆÊ0ã¢>FvAòÎ BˆÏý>Þ,“è±ñê œ±RÊÏBÄÕx"ïØms ¨ñXNÆ“GŽÁÆ1wî\€×ëÅòå˱gÏÎT1f’˜¢*)L¦±?¸\ÀGùù7œ÷ÙÏ©:cY,Üyç×?‡Ãa´¶¶¦öR°ººµµµÀáÃøws3N:¼òÊôPÐw¥¥QE¥4ÈpýXc#Ÿ?öûêÕ7=/š8eáõ IßÍk³³qàÉ'²2 ¸÷Ýwß4ò±Ö¯Ç"¿‹àøñé!¬»ïNŸV4{i1#Æ]ÏÙ³À£&}7ƾç#û÷O³à…Ë…NÂÁƒñÜsÏMaIÒ¤T+wI“²2 ³3黹üÁaýuàÖ['¼îI–ÅbÁ¡C‡pìØ1@(ÂÚµk èõ*XºÝôï€^]K DQ`4* pD šüÿª1N‰±ê‹DPVYyýsnnnj/HlAw«fW4!!“óX„PX„PX„PX„ ‹ ‹ ‹BaBaBaB(,B(,B(,B…Øív8NŽ.™4RrÛHAAJJJÐØØÈ&œ±¡°!!VðÔSO¡°°A(,5éëëCçxÅ¡°¡°!VRâr¹PWW‡K—.±3(,¢gΜÁ¦M›àr¹Ø!„Â"„Â"dz`|þù磅Ñh„Á`˜2BGGbµ-ç΀„l\{¾¾¾'Ož”}^$Áèè(Ìf³&ýsàÀ´··ãÙgŸ¥àóùžž½>ö|d\¸paÔ555¨¨¨@yyùÔ¹[°X,ˆÕ¶hX­VHÈFOO`Μ9Šì´··c÷îÝØ»w¯&ýcµZ¡×ëjÛtdýúõرcŠ‹‹c1())õõõb*‘ŸŸ/V­Z•ªª*!£{¢R__/ˆ¦¦&Eç555 I’4럪ª*Mí§*JÆ’>! ^d¥½½Û¶mC{{;;ƒÂ"jq-XÔÑÑÁΠ°¡°¡°QJ$Agg'úûû§|[t•••QßÒtôèQ#???¡ŠD$€+}}ò"HK7#3;9’úIÐ#GŽ@’¤„ro‡ÝÝݨ¬¬ŒÛFww7–-[†ììlÙçõ÷÷Ãn·£¢¢B“Aw8èííUÕ~oo/ìv;ÊËË1{öì¸lƒA444 °°K—.M:±¼úꫲÇÒ¸uëÖ¨Z[[±fͬ\¹2¾»PÈ×~ûþ°ÿMôùC7/øêCØýÂ6,4«÷dGSS «mÑØ¾};º»»²ñÆoÀáp`Æ X¼x±ìóœN'š››ª;VÛÜn·ªöív;ìv;Ö­[÷ Íëõ¢¡¡K–,Ñ¬í‰ KîXKKK£0›ÍX°`b•»#=ÇQQþ0Žu [æâ™×ðÄÓ_Cï©Õ:Àd2A’¤¸¾ó5²²² !çÏŸ)²ãóù`0ª;VÛÔ¶mÏ™Íf‹Û®ÇãääähÖöD‘;–šùXAo+î¿kuTQ]£¯y' Âà…þ²î[xÀ/«lFÖJŽÑŒêêjìÚµkBë4ja´çã³øÁÑe—_¾ëçñùoA7N?Ö]ÀÀH3³ç`ɽðJ"Ÿ£¡¡aÂ"×DX~¿™o„Ͻ§¯^¤PP}¨ûÙ±ó¥ýød$xÃñ´ +懯(2ih",cú|Yåf—oÂûoíBšNi@䡨¾[Ðï…ÃÑÅÑ%©çcÀe·Ãb¸± “´í܇Žwƒütùav%‘À _àB&]iiiÔ5Ó¹sç——w=ü,‡@ €¶¶6Ì;¹9Yö^E ‚Оa†ÕjŽKÑýÚpq( ¯a –.¾#vA‚wx#¾Q„#£ ë-øôÒàv» ûºÝntuu¡¨¨èúÆI9x½^¸\.E¹/%tuuÁãñ¨jßãñÀårÁf³A’¤¸l„Ãa8Näää$ü@Âgq:°Z­°Ùl Ùiii‘?–Zlt¼xñ¢ jkkUÛd\fƒNõ³úçcÚûõO¾+æYÒnzþÌ<7:* ±±QqÛÄæÍ›Uýn’$%¼ñUéFGãT™Z#á!ŒFÔ ˆÈñÓ†.q)I’ÔÇR5 ’aË÷Ï‘9sbü€ˆ?¤Š jÅãÿøƒ›Å®½oa$¹! ò½§_nûÌQnJײgSæÓÈT–>í6üô÷obë ñÞ{gÐÙs"ÍŠ‚ÛKðõ{¿‹^C}ØòÖ'²ëûæËÍ1íE˧;k¯0 kê`’ °bMæ~ÚáÇËòÓzÏžàFkÜEè§ K;?mÇ÷¿‘PâZ ?¤š'ˆóòò’²á"ˆ/q-Bhmý§ìg!3fåâöy·Ád2Éþnª%ˆ£$¿™ VNJ&ˆ“… ï‚Ðëä%ªs煮ò:MËI~[g2AÌ7ᦠŸ¦#=DZ²È†Íµ¾i¤K~_½:ÊÁ¤•z~š( ªˆ0…¥é ˜]ÇÝ(Á|šV( ªè –¸ë¹YBÜá=šÂR‰xóiZ 4ù½êwÆUG´„8tûü0¸LÔ|H9^ß žÙ~ƒAa¥ÐÒCàŠßmðÂ_9ŒQ „Ãa\½z±Ê}–kï‡óù|ŠÎ#c C¡¸ïªêßFïËûß…ï‹)Ïœ O<ƒO>ŒŒ‘! ŒÈ·[¿nlßÍ4ãËqùÐЀ±Ï«æu#„@0TÅæðð°,;º+VDMu^¹r3fÌ@FF†ìÊý~?ìv;l6æÏŸO¥($ bpp999ñ- C~ xà +2¥[`ÐÅsQpâí÷d'ij•ai~¦ »AxÜöŽ 0¤¥Ãb•àüà4æÍ›'ïß‘ÊäwÞAfff ñË—/#++ iii²Ô¬:©œ žn¨•¼ ¾½qSR&ˆ•@‹L˜ï&7røðG ^ÔG„¸’ˆïÓ§|Ÿ1Ebß}UHˆ+I^-ñùWÉ´“›Â"²‰{ƒ©ÒÛ¿ú›bûÑ×z£ Ãüfd ‹hŽ–Ék9;¹#¡À„¿™>™Rxý¶‰~32g,2aDß°mmmÆÞ†|臫ä?tlÌDKK @’¤„7=RX$e °oß>¸Ýnˆˆzÿ²ìúó–|uuu€’’lÙ²EÓöêþ·3RÝ5u$Ç³Ù¬è‰ Bäò»nY„ˆŒË7÷ž||r÷„n:ÕÄÇÒëõ˜5kEE¦œßÆà¡ß–¤;¹5[ 2‘<ɵ“›Â"„KAB(,B(,B…EHÒó_"ï':ßô7IEND®B`‚nted-1.10.18/doc/docimages/volume_dialog.png0000664001041000007640000001506611520267216015602 00000000000000‰PNG  IHDRÆ`FÞ ®sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ lû]AtEXtCommentCreated with GIMPW‘IDATxÚíyxUºÿ?U½wÖ†¤³’„ Â’€¨€ˆ0Àuõˆ†TPdÔä2£ósåwÕ/ãÀ€ˆ £‚ 8èˆ:Evˆ,IØ“@²wöûGH›&é@®€œÏóœ'ÝUç¼éóÖùÖ9oª:’¦i 3©áƒ@ÐÙõù»€¾QwMyDxEÐá4f’¶ëów%iàè4í®)PXâ^txΜ>FΡ =@}]­ðŠ@pŸÂÈËø7Q AAA¸Ýnrjü‰ëÓª±ª’|Œ¥É«P‰8FxWà“ÊŠRê«Û>J1ùÔé²Ûñ) g}׎N]ûS[°—©wÞ‰N§cã'›8^˜‹58´EC®úZ¢ ¥œqk„ÄhfO øñ$\C}µƒ¤Þ½Û\öÐáà Ûl½lvZBö|’$¯¤7™qõ`Í»ïsìØ1zõL@.9‚ÛUß,/’„T’…⬣ʃÙ?¨Å<"‰„$Q_SIRRÒÿ©lRRõ5•—ÕŽWº°Ç$¹™jülaœ9]Ìλ ¡G\{³v`ïs+ð£GN½#Ùq´„¨Þ}Å)QÐ*’$·ØÞÚZþrÙiu(%5QKSBãúpô‡op8Ž#Ë2AúzŠOì'´[Jï(‡øNße'&uŒO;rkjÿ9¢?¶?*kê8u¶„WÞþâ¢åÆß6€â²*Ò÷m¶ïÿ=<Žø¨På}Ê*kÚ¿;L¸…õ_ï磯öú´Ä?>í8ªO·‹Ö{E…!]r;i­üå²Óº0dßÊ‹è3ŒÜ1S€ªVPn Âj #Øy†Ã¹EDõ¬Ó_Ò µùóàCÈ/.ç[°˜Œ LN¤´0—α­ cÄËåóm»±ؼöí8tŠnÑ¡$„™ù¾¢ Y¯gpŸ®|úù—TV«v²û<{Ô8Jq”!Zð•ì1.ho/ͼÃgþÿZº±Åò­ÙiZ¦¥m¾~Ç%÷:½‘°ä‘íÛ„A²,Qr|r¨—R‹5vF‹ß%;Æn D’$ví?Ì;¿Æd `õ§ß¢ºœhšÆˆ‰Ü1¬/­ä—8xgóNÈçÏ¿›@R÷.|ôç'øì»C¼ÿÅn݇O“6z·ÜÌW{?&4<‚än‘ääq*¯€¨nŒ˜ÀÃúb °RXZÉÚ/÷°/+×k|™É«s¦ò鶃üãË=üjh2G¥ðÿWAEU-/ͼ“½™¹t ²Þ)lÙK°¿…±7õælq¯½³…ŠªZ†§ôh±^²Ü¦3}öþí$¸¹YùÖì¼4óüõ^œ1î¢vZ ¾/·]˜¬ñ‹„¦iT׹ѱÊN†p‚Ãb.Z¾i:]PFeuwþbë–>Ãs¿›Ì-7¦CBlÞq3GŽçñÌÿ¬¦ÒQÁã÷ÜŠ…5ÿÜ@ÎÙB^X²† ›>§¢¤Àc·ÌQËÑœ’»b–Ý HˆF¯×ñõö}è F’by`ÜÍTTÕ°xÍFô²Æ¬»‡h”ZkV•á(-ô8¯øìI\篶%Ň³ugµõõLùèacëž#ÄEtfP÷Î$D‡ø¬G[|u}&©Å8á×Ío–ZnŸ’O;xs“§LSQ4Úº”ßqÉ=F#jM)ªõšøPŒF#…6ójë],øëÇ éNÿ¤nôíM¿Ñ<»t=©=†RCSš’xþÇC'³›=™§(«¨"}÷‚C1YPUNÀ®#9$ĆsCrwöŠà›ï`ñ ¢_BV}ð;~8Jp°©w'În¡ ÊÙrU…ÆûÉTEà»=‡Xõá?éÉÍýYôÖ?PÑ1òÆd:ùãççç³µ2ºKv^§]È-·™ž‡µ\¦iþóÚ—?,ûŒº½™(šÙ–äŸcTœ=†»ôn‹@c N§“úúzpSUM@h—Kö‹Ñ §º^áƒ-ûxçŸÛ¹cx Ó&ŽÁ áv54Ð7VÌ™'=—’ ‹J0Û"š ïôXü‘ä†F&wÐî¬3L£ñ‹¡©$tæôÙsäœ-$4º›'@€ÍŽÑs [£¾¶Ú³¯Qòùü~S³:8ªª1ùù#ë ”WTÛãü1”ÐT¥Õzø·2¹Ô1‚o¹ÕX¯µíM‡Q-å~úX¯ï.{™?.ßÜòïðÑîe/ûHuUTÿžEOlêh:õ†£ª–êêjÜ.'e™é «MS—0¯Ìº“G&ÝÎ}ãG3vø ç‡HçØ‘‘ÀØ[Ñ5>ž)˜óÈ$‚ÂbЛÌÔ9ÝD…‡0bp_Â:¡7š‘t:íòªz²NÐ'!£AÏ×Û÷¡7ÑLŒ¾±7nEaß¡c^N))¯ %©Côdh¿ø–'ëþoãwÝŸw<Öj=TKö×õ–~lÔͯ,]ÒvÙ·¦¢h:{~úØfyíx¥æ1†ÔbÒ7Õ'¾I"²ÿ & ¡Ñ% C¯7àçç‡-ÀBÕñí€æÓNÓTê¨åxÞ9R£?"«‘5¾b÷Ùdçñ×|E€Ÿ•ùÓîdÊ/o¢´¼’²¢Œ& ÿÚ™E€Ÿ•¹Ó&Ð=2ÅålfWæO¿ù~?fÿ $Y&;·„¿}°… ?¦OAm]=Ï/~‡‚â2 F³—0>ÙšALT“nJæÉ³­œý|̬ËiµºjÇIçu“ÔxfnÚ¯ä(ËM®Fµb§©(ž]ù/϶Ã;¿ña§!6Þ]{"·°Å\ur~Jç¤HºyOÞem'6À…Á`@Ó4r«MuM½ÄÛª)={—³UQeK ›½^OÙ¹³ÔÕ8P\.t:z“…Î1ÍþžÊ¤®¦MS±…u!°sx³.µ(ï8ÕÅ„DwÇl @o0âvÕSZ˜K}µEq¡Ó èdÇìhœ<‚5°6{4%gOQ_[‰NoDÖëqÖVÓ)<ƒÉJáéóùºP|æõ5•ØcÐ ä?„% ›=šŠâŸõè¨8J HJêÕlûÁí[|–ésÓÈO:‡ŽØ9ü¢vš–ii[£¦”ñ¾»Vj!ˆ©)8F|gr,D&÷mvz M¼GîNR{Ä ( AYŧñ³Ç]<Î0[ ²Gæ}ÙMo4a0šÀY„¬7x½$ë‘$‰à°(\N'zƒP5ýù໑Àp,þèÏ÷zƒI–0˜Ì‡Fâ ´¡ÓlÛ¢¼ÄëSØöhŸùlMö5ÖEpÁøó'ÌXÓt_.;m™à«.Ê%«¶KÌ ô“OÛf¿@•V“÷ýAêêêp¹\8\5Ø{  @Ð"Ö€`Îlqt1:‚5 I’.›6õ!Ý/½a[;Eá"  ÌâØ ZÁtþ.‰C‡Ž´¹¬Å?ÈSþrÙùIóÁåÄì€Ù/ ÝØñ) OÀí(GMÐñ†w6ߨq”±èww/ :¿¾ÑKbü$\ÊPêz`óæÍ×U}ÆŽ+ZªÆå!--íº¨‡¦i”——‹–*„qyU{B’¤6ý¦Ÿòئ@ãšBœý…0Ú üù“6åóÉqWí·9xàV®\I`` h‘íqUêgDQ¦L™Â–-[˜2e Êù§×™0l6›ðh˜;w.éé餧§3wî\á1”ºº45Z èÁøa½èd¥ÔQËG釯Úozíµ×xíµ×D+Âøù㌠ã‡ûF÷cÅg{ÉÌ)¦Wl(÷ÿÇÑ*¾…qôèQÆÇ0™LÔÕÕÑ¿>ù䪫«yì±ÇÈÊÊ"11‘¥K—Ò·o_¯!UYYY³ï6› °xñbŒF# .$++‹eË–!I .dâĉdggóØc±ÿ~bccY¼x1ƒnf÷rPêð~Ë{‰£k¨áŠ9üz›|ìpÂèÑ£©©©¬^½šéÓ§³zõjH=2dS§NeòäɬY³†™3g²mÛ¶Kú‡AAAdffòí·ß’––Æ /¼À‘#GøöÛo™1c'NdÆŒL›6ñãdzuëVfÍšÅÎ;/»(Ö|™Áããc1¨­w±hÝæ¥ ½b¿÷Þ{/9ïõ2IyÝ ¥fϞ̓>Èo~ó-ZÄ[o½@vv6÷Ýwf³™É“'³`ÁŸ6TUõúþàƒ"Ë2#GŽÄår1mÚ4Ï÷¢¢"222˜9s&3gήìD×ýcx ¥~;öÊ¥Ä<ƵA«W¥n¸á"##IKK#::šAƒyz“÷Þ{ÚÚZÖ¬YCbb¢W¹Î;³eËêêêX±b…÷?¼à¹¹…ç@’““Yºt)gÏž¥¬¬ŒÒÒÒ+拱Õï! Ÿ½Fzz:³gÏöl{ã7X¾|9111¬ZµŠÅ‹{•yþùçy衇HLLÄáhûj7Ë—/gíÚµtíÚ›Íæ¹ üS.¿ùä8OàÝôó;_f62™EßÎ=#ú°æ_®šóŸzê)Oýl6O=õ”h‘íÏësrÏU\7ÏclÞ¼™´´4Ï}Iíeæ[’$¯8IQÆOzz:·Ür ëÖ­ó¼j´ñD n"¼:4>Q”wœœC;ÅÌ÷ωN§ãí·ßfäÈ‘¼ýöÛ^¢´ãà[på äÃ?ޏú\Í›B‚ÿcü#ÂøYioAk['(¯Ä„¦ ƒ £½=½'¸N„q­wùï¿ÿ¾8º‚V¹÷Þ{}Ž*ô+(ˆ£ cÇŽK‚‹˜à„0! @C ¸*ÁwK ]F.¼ÛVøúçñõOˆ'Ð.—2O$|}õ|-†R†@ „!aW’kúîÚué™,Û¸·ª‚¦¡i ÑpWíÈÔxL"Žpjóò82o%[·Ò}κΚÕ,ZW‡d0 uðÇl¯Ya¸•¥ïáù‡Fâg6¡hnT 5n^^ùO!Œ&ä¬\Iö /ÐgìXRž|’-ù öÛoǯ[7OžüõëÉx䬱± Ú°sD„J] œÈ/GUz„Æç-‚üÌ|ûC.é¹|½?—/öæág6 ÇhÒ ¸\š7_Ì™Cl¿~˜ýüè;z4™óç{òTegsdÎFÏ›G¯odûm·Q}â„F{'ý@þù3d¹á­„’$¦¡jàRÁéÖp).·FÓ…,–éúñ  X£¢¨++ƒÊJ4‡ƒè!C¨>tˆòÝ»Qª«Ù3q"7¤¥aöó#:%…þ£F±oòd!ŒöЦÁŠO÷ó·{©sþ¸°Š|~=;U· Š nUBQ¡¼¢R¨á_|‘Ÿ~ aahN'REýÇãÈܹdLŸN×þý ‰G«¬D«¯“ É$„Ñ.ƒÅz7ó—}ͧJyrÊ(ïh€ª5ˆÁ©@euš³’¤¸¡„ ÿå/qëõ9‚d± :Ø““‘ëë¡°·Ý†ZPšFMU{?þ˜~+W¶«:\Í…‰Ú­0ÎW2ý•M‘vû`L††ë#f¿ÍˆÙo3òwkÐ4xâ/ù,ýé;3µª¼üÐm„[šÙs:üþ÷¿'66–ØØXžzê)œNg‹NÏÌÌ$55••í¬aüTz½ò û7n„ÎAQPóòöÀ ¾ï>´ãÇÑÎC±ÙØú÷¿ÓwÙ2¬]»¶Ðƒk¼ùæ› 8»ÝNJJ ï¾û®¸*u5Ø“•Ïs«¶1vØzŇs4¿Š~qA,yz"zô: £L&½ŒÅdÀßjB’ ¤¢EQ=±H# .$''‡Ý»w£i3gÎdáÂ…<óÌ3Þ±Lz:O<ñ‹-bÈë몖mð`¬ äïÞMxL ”—ƒË…æp æç£5ŠíË—Ó塇½í¶m,Y²„>úˆ+VлwoòòòxõÕW™4i’J]IÖ~u˜—ÖlgâíC‰ áØÙ*TUãpNYydçUpôL9ÇÎVWFvn ‡OPPRIQYY§ Ñ´æK¬]»–—_~™ÐÐPìv; .díÚµ^yÞ{ï=ž}öYÖ¯_݉@©®¦úôiôþþ ó>N'j~>Jf&†#8¸q#º¸8º=ñ„OË—/gÉ’%ôë׃Á@×®]Y²dI³!Íf£wïÞžøl6¯¼ò ±±±tëÖÍ󲊌Œ †NHHˆ§×ÎÎÎfôèÑØív ÄŽ;:¶0ž[µÏvå’vÇ­¸0pª¨ dI– Uk¶Uíj(ІFß^'Sïrc1zOPçùǹsç¼òÌ;—Y³fsýšÆþ©S‰IJ"4.5/­¼õôiä*JKÉËÊ¢ïòå­qÏž%!!¡Õø€’ÂBú¿ôn·½¾c.¡¢oÓåryRã÷~±Ì›DYYªªz¡×ë1  ÏgUU1zM»¦¾s¹\tJKÃÂ\.‡·ÛíñcàOðÃÃsàóω˜5‹>÷݇l6ãr¹IG»«±,Ë^©i¯Ð5"EQòø1>žÄ-[П?¹èÎ÷¼z½^ôíI&“ £Ñˆªªžäv»QÅ#ŒÆÆß(ŒÆ¿bÕÜš¦¡( ªªz|èËMSG¦Ýžšö€×̨ m~lìMm8±B†@pÕb ±NõÕCøú†$Þ¼qUƒfÁ5" ± ûÕCøZĆ@ „!aB†@ÐÑðº\k ´ñøë…Wk Í·0ZÊ tè£(ï¸ð†@pIÓ4™$Öγëów¥ÿžÈ»­c~;IEND®B`‚nted-1.10.18/doc/docimages/multi_stave_ritardando.png0000664001041000007640000002336411520267216017517 00000000000000‰PNG  IHDRT-D)ÃsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ8 iStEXtCommentCreated with GIMPW IDATxÚíTTç¹ï¿Ã 0 ƒ BD%ˆJÕrCBÔV]N[“kƒ]µ÷ªÇš¶Ëk]’¬,sj¼µ6u5WÓ˜Ò“£Ö“›ˆ=Úè©6—F1¢HÕr Œ€e2 ã8ÃÌìûÄ0?öžÙ3Ìïg­YÊìÙÏ~÷ó¾ïw¿ï³Ÿýn… !äSâèBEBQ „P!BEBQ „P!BEBQ „P!aŒ*X†»»»ÑÞÞ~×w999ÈÌÌ¤× ‰EQ8tè*++‘ŸŸhhhÀš5kPRRB¯Æ(‚õèôž={`H~ðüãÿÌœ9“^'$G wñ‡? Ïåúÿ¥Kô:!±* ===hiiQQQŒŒ N‰UQ˜1cN:…ÒÒÒ‘ïÖ¯_O«1BHdÂ<BEBQ „P!BE"/!ÉhT(FÇ¡„p¤àS(!1>} 0c¢PSSã³ãS>£³³Dgg'A¢S,˜Ïƒêêê°jÕ*ÔÕÕÑ$úDAjG§0Å¢ào§0…¢hǦ0¦¢pÿý÷cõêÕcÒ¡) þc6›‘žžŽÍ›7ÓD^QèëëƒÅb³ŽLaðAÐÛÛ «ÕJg±›>øÓÅd4R‰‚˜…ßVAaˆ@***P^^NGPä„5kçˆ!BÙ»w/ÊÊÊ节|‚ õ)H !, ÁêœB"PÄtÊ@ÖJà: ÄsÛºÝj³ÙèŒ ¢Ø°aƒÛnXYY‰ôôt,]ºtä»}û~ëÓà† GþÿþûïC¯×¼þÎÞŽåk_p:°Z­HII‰˜ÊhooGUU–.]Šœœ¿lØívìß¿ùùùÐét~—åOúìv;V¬X!i?«Õ ¥R‰ÄÄDÙý3|n………øêW¿ÊÞ+ÁoƒƒƒHNNõ{ÕÊ•+Ýn8rä&Mš„áí>ZäÓØñã'|fO¯×* £ñtÜ϶ŸðxL_ûÀÕ«W±uëV9r$b*¯¦¦UUUÐét˜?¾_6îܹƒýû÷cÆŒ¢üä‰?üwîÜ‘lcëÖ­˜6m¾ÿýïËîŸás›={v@çk=zGž}ûĉBQ‘ûާV«‘‘‘¢¢" S†»m½ùæ›ïé¸_´éîØböU«ÕP©T¢~. ý.w__ ;;; sOKKƒB¡l£¬¬ ¹¹¹Añûð¹Ë~´ÒÜÜŒS§N‰ö™Ï5ƒC`Œð"Ž–Ä:¯½ö¶lÙBGÈ!  TUU¡²²’ŽT(„P(„P†à‹BÈÝ \¼x1*«EEEn»yuu5´Z- ý6~õêU ¸K^**zô â3ˆ>c/n[¬p¸(ã‘’6ãµþ%Á˜L&Ô××cñâÅ9Hîry£§§õõõ(,,DFF†_6NŸ>ììlÌž=Ûï²\¸p‡ ,´_}}=´Z-òòòd÷Ïð¹åææÊj¿¾¾‹% d¯¶¶6èõz,X°Z­6¬:yGG:::D×¥Âh4º…ûï¿ùùù8pà€ß…Ù°a:äVŒÆ^€k°¿Ûùs¼²÷¸iõ»¼oüoUìÂl´7Ü?«W¯F[[›_eV¹¼ñÞ{ïaõêÕ8pà–,Yâ— ³ÙŒÜÜ\¬[·»víò»,=öÌf3ª««%í·zõjäççcÛ¶m²7îásÛ´i“¬öW¯^††\¾|Ùoeeeؾ};ª««‘ŸŸV¢P^^ŽòòrÑu©?~¼ûyE\âããái»ëwű' Nœ8M›6EŽ(¸»°ïç?Á‹¯¾ëè`ܸ,Ïb»È[›nÆ;kg†Fœf8ƒ\._>€ö~'{‰¼éƒõæI,•‡’oylÜfƒÞãþH÷yŒIº¨=µñ!ZmI¥Îâìä •KŒÏà§[ÿ‹-“D–(H ÆybÙ ¯âF÷¬„ÔéxâÅJ\;³9‰Ê:ä¾â¡çô“”q²–KŠÏLÍ`Ë$c†bîœËíÛ°Úàt Pª Ñ¦ Uß„¤¤$·I"=ÍWpÝlw€85×è,¯¼¼/A¯×#w꽈‡ÝP"Q­6)à¨Åb^¯—œ|ÕÞÞŽîîn "9Gpà‹u—˜” }Óß‘™™é÷êMÐÔÔ§Ó)ùž»^¯GRR¦L™"{cu:¨¯¯GVV–¬öõz=l6 šÿ߸qùùù#·'Åh4¢µµyyyHMMõÛNww7º»»Å×e¶&^ÀPvÑ]ŸxµVøúÒÇ„/â´ß’” ·û¸û,+oÜ%K;vL TTTÁàìÙ³BjjªäýJJJ‚Éd’­,þøÌ—½=[~(xª;Â?­ßP™u:PPP y¿ââb¡´´4(uj2™²Û/..rrr²±cÇ€pùòeÙÊUQQ!Ž;Ý»wKªK•§¹í`¿55­nƒq.iÁ¸„u±=óÇgÞ⾫àèÑË Dö˜‚ݤwŒ+{drØ Ã¹|&%.a뮣ã‰íÕ«bÄgºýþ©wë`*ùvî?«Ó5*·î¹_â×¥ßCo»Ëê3)‰UÊÄ{ÅbüÈ1!1, ßÚ{ʃX܃Ÿ½þ<ÿÊu|ðA-Zn~!^‹©_*À×ÝM‡rûÌ5Ø…§OˆOøZúoöiÏ[¾DRZ²§d°â( âç¶CW¸©(úöTzQþú,Ôq ›É€V;Å1Æ—ø[ë¢0–ICD\\bû–@@b•”¸Dœ2…NASsr9“†Üqñâ…Qß '/M›6 ééé²3Ðä¥ÂÂB(•á)Œ‚ÓŽÛ–;Ò«.]ú\"ŸïÐdÞ‹/çÜ#©l²%/yIÌbò’4$'/ ! Ö“—Â…A[³§—D5qáfÁîBž¼$&1kýŸcòR“—xÓq‰°‰)‰}`ìí±2Ch$ŒK„:¦$%jíü++2˜º Æ®ašc"%ªÒø·J5µÂ\–-+¦÷ÇpÊ1‘š˜õÍßüA²}o‰ZÉ9—Ä6Á‘ äLÌr§ð•¨u§§ý‰i¬ÆHØ\™‚•§p˜YÃõÑÒÒ‚ÃL÷¸¥«« Á(ÃÍ›7ár¹$Û6›‡G[[RR˜¼#«Õ “É$Ùïßú·Ãxög?ÆÞ?žƒí ŒÅ§Ü‹•~ŒŸ>ñm8n\‡XËÿw±è8…".1 vh4 ½)99Y_vu e” †€ÊÖÓÓ»Ý.Ú†båÊ•!y;äÁƒÿéîð˜?~@+y¼J Âd2!33SÒ~uuu¸ví–/_Žøøxör‰˜L&¨T*¿_æ´¢»Ûˆ;ý€BMJ*2'¤A)1þ)¸pø?‰^ˆwÂìùx¸ G„];>éê‚ÉlÝ! >1 iñIçu\¹rK–, (Ñèó´··£¦¦:“&MòÛŽÍfƒÕjÅ„ D:/DxxUmÐ’—ü%š“—b ¹µ|%Ueæ}%l“—¤Â˜aœÂGœBLRU·>zª( $j‘#QKŽ•Ë#NPÙtH´"G¢–ÔÕ®ü'¸K¬ú¤ïE`à÷Â6“ª¾µç„ä y8¾1ŒÓBUÎo ãô/ȵryOOêëëGþ®Ú²Fü`IÓqâÄ @aa!222( „Œr=UÚÓÓ3Ò±—¯^ì]†{ÍÙ7;;;袠J, > 7¾ Í‘ /ýz$jfÂ%¢L\¸Ÿ{9¤ Þ0¦@HÅ*( „Dp¬"WÀâô1ÆÞ~oY£(B8} „P!BEBQ „P!BEBQ „P!BEBQ „P!BEBQ „P!B¡(B( „Š!„¢@¡(B( „Š!„¢@¡(`£P¸Á'¡(Ð1*„PÈ|Ý7ñ‚Š.£+· ÜýOW÷@·y:!)„ɼ^| ‚›l6›…-×®Ýý;Ûœ6±ÍRBs¹p×cþBõEp' axÛÜ9s0cÆ Àµk×°~ýz”””ŒÞïós¤@¼NþùŸCt¨_þ*dÇCþå_†þ}öÙÑ~þ{ø7îüôé¶òñãñ@v6àoF#ðÇ?O>9ÚŽ·ãr×HA¡ÍHAp)(bxöâéªí-àmoC0±6 åôø9uð4ÌÿtÛ+»vaݺuC£†òrh4” ÜM8u >` 1œÂÓß^¾¯ªªÂªU«0>=UUUÈþt*1j?/ÂÂD¦Àªî‹Žˆ;²~ !„¢€®®.´´´ÐË„P!BE!èõzìÛ·ƒµEE¨­­ÅÆ¡×ëY[„P!BE>¨^zé%·Ìf3®]»OÛÅÐÐÐÙ~R³¢¢çνŸËåÂÀÀ’’’‚⸠±±/¼ð[‘l6-×£çG}H{—ÂÎ;‘––†'žxBÒ~P*•P©TîEaúôéî7¨TÐh4ð´] Z­²qóæMÀäÉ“%ÙillÄË/¿Œýû÷¥B´Z-âââ:·XdÕªUؾ};fÏžµçª6¡R© V«%oÛ¶m˜3g–/_îþ‚rrr„ââb!Ö¬Y#x9„(***ÂÙ³g%íwöìY!55UkÖ¬ ªýhÅŸº ïóý 999‚N§“¼ŸN§vìØáq;c „Ã•ÆÆF”––¢±±‘ΈbL&JKKqúôiŠñÎp`÷ÚµktFc6›ñÒK/áüùóB§„ŠK\.ZZZÐÓÓCgièßÒÒ‚þþþ¨=GÕªU«ÜnèééA]]=‡ÿõ_mÂjµ*++QWWçwYümãèëëóxlÕóÏ?ïvÃÙ³g1cÆ xÚ.†­[·¢½½= UUU¨©©Áã?ŽÂÂBÑûÕ××ã£> èØ¾ÎÍh4Êj¿ººÕÕÕX±bt:_6, Ž9‚|0hç”\—áÄ¡C‡PWW7rŽþ/¿ üùÏÆ7¾ñ ¬]»Öﲜ={YYY’ë¹¹¹:Îã±UsçÎu»!!!©©©ð´] éé馦&À¬Y³$Ù±ÙlP*•Û×¹Émx͈¼¼<¿íöõõ233ƒvî"µ.ÉÚÚZŸçàë܆G¿S¦L È Ðjµ’mhµZ¯ÇfLBQ ÒY»v-vîÜQe®¬¬ÄªU«t•ˆÊ5hÄ_OžÂ¥¿7£×êĸŒÉxpÑ£ô ¹‹#GŽøç+®\¹‚ƒb×®]¬@)¢05- ÖÁQâÕZä:zˆX›>¸ì· ¦¦•"„1…ϰ›¸X*!±†€Ç9‚B©ÁœÂ/û¶"8`¹}VÛœ.JU4ÚtnÀh4tÛÅh4¢µµ³fÍY´E ‹z½>h÷Ã[[[Ñ××'«ý¾¾>èõzäåå!55Õ/N§õõõÈÌÌDNNŽle«¯¯‡V«E^^^@v.^¼(¹.ýåÆ0 (((@BB‚,6»»»ÑÞÞ>r/^õ›¹sçyµa·ÛqåÊL™2YYY~—åÊ•+HHHÀ¬Y³$í×ÔÔ„ÔÔT¯Ç<}–•7y]¬Ái¿%ìÙòC![ïvÿqYy\dEÇŽÇŽóÛ†Éd%%%²–-555àEwB½ÈJii©@¸~ýºl6wïÞ}×9ø³ÈÊõë×^:ËEVTž”bâÂÍxgíLJb½yËußÅñÖÛc6púAH¤áV&é6âü‰ˆW¸ßiÐr Ü· ç{ûéAB¢YR§cÝs¿Ä¯K¿‡$/!È߯øŽì‚À| BÂD~»w„x-¦~©__t?4q · OŸè}€oþëG>ííûùOðâ«o»Í—˜tßC¬%BB) 6J[3Þå4cÀ%î·nÆÑ§æ—è¼zеDH‘üìƒJ‡²G&ûüÝ$ÝFÔžò—ð&„xêÝ:lÿÑh”£wOHŽ'^¬Äµ3{‘“¨ i\‚8йsçúý€ƒà´ã¶åìv…‰ê$hµI¾•FpàÒ¥¿Á%òÈêññ¥ì{$% È–¼ä%1‹ÉKÒaò’ÉKÚ`«¾)8ÉKcñVA[³§PxLšúügâÂÍ‚Ý%ý&/‰IÌÒŽcò“—‚—¼ä« Æ«µÂœ…‹B—¼Ôèæ§q‰gNÜð—ð–/,Ä&f)”jŽ5ɘµÁÁ~ ®^½19#. ¤@ç[/Ó6h·|,ÿE{Ì"œñ÷àg¯ÿÏ¿r|P‹–›ŸHÊ—R  ¥Æïã¸KÖêwq!¬hÃ]=Ožž/[TÆgF(|6*˜Š¢oO “ ”–˜Uüïu~Ã[²´÷;Ù›"^ |×ó-»+à6ø­½§£gú–)11ËÛcžæ‰Kgå¡dÇ[ ütë±2"< ¦žßxã\ÈÛ EAê°I¦Ä¬@牦æ?°2"±õléx?¤mPt?èííÊŠ¹}û6A€Ôó[Sñ>:üÊÞ>›ónÉN—‹ÇŸù)^Üô¿ ¶šÑko·bÅ·EÏ’€¿õb6›³nAÀàà ,6oß¾P´»áW»õõõÉv¼á·;}vãGýFl=«’f¸-W°Úà0‡6›Í£OEEEQ¹:ëàà L&23ý ĸý0õöÁfJ¨5Z¤¥¦@©ð§CÙqêýD'k¥Ïœ‡99i"ì¢ÏØ‹Û+.ÊøDh´©¨¿ðWdggcöìÙ²ùóôéÓHKK 8YëÖ­[HOOG|||ÐÛ€^¯G[[t:ÔjµÄ:íÛ”´ ¸cêFcc#æÍ›‡´´4œ8qÜ]·uŒñ3ÄÜiBÒ?Ooo/œœìñ @",YËWR áŸÖo Ëä¥PâOò’/ßNœ½Ègò‚˜” T !‹UÈ‘¬%&©Ž½LÇû ôåÛ[ç>ÎX%å1ÐfÈ‘¬%%Xi뮣ӥL7e|j7“ò$]ÄØB¤¾2$kIIjQiü‹'Dâ Xr”YŠoãTé^è Ǥ<©Qe8í·„$¥¸¸D¬Ä-u.§J¾¾ô±°ó‰·2§çŠŠ)â[ˆ w( 1¬üöáÇÑÚÚ*MV®\9b ³³ÃûƒÙlF}}=–/_Žäää°êTÇÇüùóñðÃG¤(tvv¢¡¡! úq:¨­­Eqq1î¹ç¿l=zÕÕÕX²d ¦M›&éØ …" ò{âÎ;Ø¿?f̘!«ý#GŽ ### ›~ø!îܹãÕ†à0áÏoíCå;§Ð=àµýÞ9aÛ/žA®Z)ùØ’˯***¼ùæ›P©TþÛNž< X¼x1RSSêSiµZÜwß}ßXòÎ;ï@@å¿pá@§Ó!''Ç/ÍÍÍ€    @Ò± CPü?¼dZvv¶¬öÕj5ÒÒÒ²™––…BáцõæI,×­ÃñÖÛm|\÷.~öB燛%;//Orùh$dŒ´\Â#÷-ó*Ãt}ôbÈÊö¢PYY”yh09|ø06nÜ8ò !îøýŠïà|o¿¸QKúÒ•+ìWs®®®Æ¾}ûðÛßþ6b*»¶¶ûöíï~õ+$%%±õÇ®A#þzò.ý½½V'ÆeLƃ‹õòû.7/U£áqAB…2<´Ðc>¼XSolöA@¡„Z£EZj ”Ž.\¸€ŒŒ äææŠÞÇd2Aa4±‰êCIDATذaÞ{ï=´µµù]ˆíÛ·£¬¬ mmm7nœ,¾yóf”——Ãh4dG§ÓaÓ¦MX±bEÐE!\ýPVV†íÛ·ãòåËÈÎÎöËFyy96oÞŒêêjäççK:öùóçqàÀÙým6›‘››‹uëÖa×®]âÝøÝΟ㕽ÄMÛèx€*1ÿãûpªêÿÚ/{òlô;Åžù¯áíÇg­m{â±ÇÃ’%K°iÓ&IOÕøñ㇆+ P(þÛ†¯>iii²%/%&&@@å¥R‰äää€íD²†ï„¤¦¦úmG£ÑÆ'ÉFRRâããƒâÿ¸¸¸‰µ/&ฃÿþï®Q6ýŸÀ.r5º‰ 7ãèSóÜÆäjÛžP©THJJ’d?%%…1Âx€7ì–Gw6uÊ™ìsßIº¨=º ¡l"Ë&Bb )ICq*÷WÙ§Þ­Ãö- » ¡,# 6I¸KšùÀ ûwáé’†^zǽXÄ߃Ÿ½þ<ÿÊu|ðA-Zn~!^‹©_*À×ÝMœ"b}LQ "Þ“„À8è{¢ïrš1 !ðî&×ß$¤NEÑ·§F•¯9} aõæI,•‡’oy8zô²ï«`”Ç( $ê‘´u‹{}4Çä@1wî\Z[[Ñ××PrÉ7`0PXX¥R‡¶··£»»sçÎ ÈNCC²²²$­m~0 ¸qã |¯Œ%8`¹}VÛœ.JU4ÚØ,}hooG~~¾¤‡½ , òòò$•¹§ù ®›íâ³R‹9…³DÛœvܶÜÝP"Q­6)dWJ¹Ú¶'ššššš*)aÏb±|ö†¨5kÖ©©©½‘¦´´T ˜L&ÙÞrSRR"@†Y…ò Qáê‡;v„ëׯ{üÓ~Kسå‡B¶&^0ê3qö¢½!Êi¿%$)nËá¼)¢Þ¶%WÛ–ó QgÏžh$wÍÝ}%ôÜj<ºà¢Ä `¨ž$dLpî>F0(8F~uÏ›^ƒ ‘‡Ô?i =¡ä©wë`*ùvî?«Ó5*(¸î¹_â×¥ßC/oò‰Â¦'ׯeåÁÅ×5D¸x¿—Ÿ™÷ûIIèYVÞ„‚‚Ð Õ£9I(lEaø?fƒ ¥š‰âx@·þ£ˆ»Gc’PDÄç=ƒñÎ݉GQP(x3"‘#À„2¢ºÇ ÐdLÁ—§ŠHtðØÒgìÛä¥ÞÞ^h4š‘g؃I@ÉK|kì6¸÷ƒàÀ¥KJš0³s&ެA0êðAJè±Z­p8²-: ;yÉd2!!!ad 1X,–¡v@˜¸p³`wùN&ñ–Ø’ž[¶ÉK¡ÄŸä%_¾MËÎwë‡A[³§—à#¦ŽIô$/ùÃHò’˜cŲŒmõ”ÿ  M ^ãÏœ¸á3ÊUIÇÄÌÃ1±…ABÆHpPíù?ß“5¥Pj=ÎW½áOÂÍX#G™¥úÖ­²ó^>‘S|7|i‰-Åÿ~))):–÷„›´ìü0ïeNÏ-mGªo½Á{ù$4¢ÄÄ–@æÒá<ÿ[á?$,c >U#H‰-‘§»ÌL") €|¬žž´´´ ¥¥¿..–”p3¼_KK \.WÈd4ý.s[[ÛȾ‡#¨¾%D.‚ ˆ~ ÊÞX ëõ×_Ç{ï½Á5€Ãïü "_°ƒ ³¾‚‡ïÏù{ÿþý’2¡²²GŽñ«ÌL…B1ä›Ý»w####h¾%‘Ç“O>‰={ö@B :ÕÕÕÒDA.ýz$jfÂ%âÐnÆÇç^ó¡s$–™„7===0›Í˜>}zØ”©¿¿lY‰Ä¹4çÿDn222ÂJ€¡WŽÙÒ‘8—æüŸ0¦"q.Íù?¡(Bb®lG¡(B( „Š!„¢@¡(B( „Š!„¢@¡(B( „Š!„¢@¡(B( „Š!„¢@¡(B( „Š!„P!Bˆ7þ?˜Ùf[{uTIEND®B`‚nted-1.10.18/doc/docimages/isolate_button.png0000664001041000007640000000170011520267216015775 00000000000000‰PNG  IHDR!!WäÂosRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ/5€s§štEXtCommentCreated with GIMPWIDATXÃí—OHYÇ?of’™Ø:%„FBCE½èÂÞb5ä’si.¥'¶xè^„ƒƒM²Y‹bQclLrû¶Ä¶ëëëÌÏϳ¼¼Œëº†AWWRʶA×bqq‘™™¤”Ÿ¯¥ŒŒŒÐÙÙ €i*âqE`߇á°ú;—––Èår_éÇ!‘H‹ÅþD:&“ÉP(ð}Ó4fjj Û¶¿Ÿ!BL&I¥R¬®®"¥D×u¢Ñ(£££tww®ývv4 Ç¡V«‡‰D"èº~@8>ÞÁû÷ »_í—ËeVVV(—ËX–ÅÀÀ}}}hßïâ¨ÏÀçÏììnÞôŽÿWvþ=‡ø!þ!¾>pÜ’¹IEND®B`‚nted-1.10.18/doc/docimages/drumsystem.png0000664001041000007640000005003411520267216015162 00000000000000‰PNG  IHDR€œ.ÈÅ*sRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÙ öYtEXtCommentCreated with GIMPW IDATxÚíy\TÕûÇ?Ã" ‚‚(¸[*n¸´hé× £¯©¥–šZb¦f¦eÚbö­Ì%[\ÂÝôg™•â†-æB©å‹àš¸€ È&ûÏïÓÄ 3ÀaîÌ<ï×ë¾Î=÷ÞsŸçÜsžç¬ ""0 Ã0 Ã0 Ã0f‹€a†a†a†@†a†a†a†@†a†a†a†@†a†a†a†@†a†a†a†@†a†a†a†@†a†a†a†@†©…B¿xR¯c9î~»w^^✩ȟóÃ0 Ã0욉j5ÃùÓ”X° ˆÄÁpþb†Ëc¥ÕËÍú~gm »\_É,O™¶É¥P˜–ÑhèôšÚûË]άŸú—‡•P^nzÆç/Ë-ãuM—Ó {òI«j\Kù6ëû=[µ¾ûxäyä'.ƒ5á! ŒÙRV¼÷àãØÙ;ëÖi ú\÷î³fNN@óæÀìÙ@A潕-`¦Úúe(yÔT([YiÊçÐ!ࡇ€FÄñÐCÀáÚ×çæ/¾¸ºŠx#F—.i>ë·ß€¾} uk`ëVíé‘ú¾œ¿Æ0†™1âÖgº"}Œ:lÜË‹¤$àá‡YfëÆÇS¦ÞÞ€½=н»ðøU ü<àå—¦M5 G)ãýûÀ+¯~~€­­0ò†ÂÂt7¨jJ¯6ãRÉ… @Ë–â9JƒsútÀÝ]¤gÞïùç‰vï&ÊÏ'JH züq¢?éW†ß¹#—-S¿@4nÑæÍDÙÙâØ´‰ÈË‹èÆ Ý壿Í@SöDDGõèQ½ü¤^§œ"ooóÒO}ÈC[؈DÛ¶i†oÞL¤~íªUšñ>ùD|§JÆŽ%Z»V=ÎO?i~óºäÎ_õ—KK‰/&jÑ‚ÈÖ–¨CM}¥¤ÍœIäèHÔ¬ѬY¢<Ö÷~±±DDNND®®¢.ÈÍÕ”ûíÛD“'‹rÜÎŽ¨[7QÔ¤'©iÍÉ!zá"‘ŽÀ@¢‹-·\—ó=Íí{¬ú>ÇŽyz ›./O¡¡",<\Ä ¨ü­dÍ"gg¢½{ÕÃOœ zøaÃÙVªÄʼnïQÕÖÚ°AØ_ªq«Ó™”w5DºÍQ—Rëz©2ÖEÕù–¢gò„¾N*œ®Ú2܆ Òï©ÍÀ±µP] ÔÚÒ[R"®ªkz:‘››p•ÏSu,‰ˆÎŸsÕðs爺tÑL¯ƒ• ÀºvÉÉšáùùD5èR®+( Z°€¨uk"›Ê>++ós-maîî•ß\U£¹iSõk“’4ã%&ª+Í› #]•¼<ñmë›o8Õ_”ÒȧK£™”ûI5 ¥6†êÓªKƒ¡\ÉÌ$š=›È×WäeÑðrèPõ²‘êx‡‡õéCdoOäçG´e‹nÏWï?¯Ý1ÐÇÑ?}Z”?ë×›¾(¥a.$„hâDõó½zíØ!®We¢¯¾2œm¥Ê¤IÚm­+¤9€º4BÖ%Ýæ¨K©u½T뢋ê|KÑs½8€ÞÞÂÓ­-Ãi3Ît1pzô š1CTu1P¥¤wéR¢à`õ°åËÕ3€(-M=NaaõáööÒdRÕ`eÐx-±5þR¯ &9’(2R8D¢WA—û™“ë"maÖ֢ǿ*¥¥âœêµÕų±©ü_õR= ÃäÎ_ÆÍƒ†î5•r?©¤ÔÆP}@ëÒ`(¤ŒâQEªã%ZéCC…Ó}á‚èÉ=|¸nϯNgú8ú‡ Çó·ßÌ£ü—Ò0wÿ>Q“&BÎDD11ÂQVÚs âwF†pŒ g[©Ò¼yõ¶–”²\—FȺ¤Ûu)µ®—*ãº6[’žëÅ´±Im®¼\û9©Îß /ÜÞžèD¥·gOå}¥TRÒ›–&2ƒR™ee¢ð>{¶öL$5\ªÁÊ ¼@77¢ÔTõó7nX®Xy£0)Iݘöð=ÆÊ7œ¿Œ› Ýk*å~R H©¡ú4€Jm0”3RFñ¨"Õñ–:¬[×çW®«£¿}»BWuä)—ÿRæ&N$úâ ñ{þ|Ñ`AD´r%Ñûï‹ß_|AôÊ+†µ­¤¦UJY®K#d]ÒmŽº”Z×KMƒ.º¨Îç°=׋èåU}¯œH5p”EGmÜHÔ¯Ÿ¨$t1¨¤¤Wéx}ô‘ø½w/Qß¾uS¶¶BJŠÁÊ ¼@GG¢¬,õóï½'½€379J•G]çnÝJôÄê×~ö™f¼O?Õœ¨:¾rÕΗ^Žöì1NzçÎÖ¯+­]+Vó14ª+¥*Ù½[¬\¨¯|˜ú%0˜?_¬ˆ•›+òLl¬f¼¶m_~1ÿ¥ÊC*óç‹U?+eæç‹ß‹o¼¡÷ìY`Û6ñÜÜ\ñû“OÄÊÀJ–,Þ}W|{Êû;qþ2öì¶lzö+¹@B‚þ÷óð+1k[YJñ]ÉèÑb"~zº˜û"ª^3`Ñ΢孬L Ï\²¤rªT_Jz• LôÖ[¢©¸Øð=€ãÇ‹žŒœqlÝ*z(¯_×]>ÜØ0=€iiDcƈ ÀnnbxPV–æõ¡¡b±Bašº2´<¤öíÛ'xptGŸ>Dh^›-¾•&MÄó‡×l$s†FŒ jÜXÜoà@¢°0yöZJþ’K/´¶s“&iï]þäÍ9€¬Û;è’V)=ܦ€ÔQ¡º¤UJƒ¡©‘]9ßRÛ@)Ž·Ôaݵ=¿º¡¾Úæêâè:DÔ²%ÑÉ“æõíIi˜#ö‹Õ[UÉÍC µmybHH, 4l˜°£ÜÝÅÐëœõ¸55¢Im„4EИº”êê’†ºèÂ’ô\o ¹R\,*)s†aixÐfUÏI1 ‰to Õ%­R{¸åŠ®£x¤:Þ/ Ç{÷îÊ–û£GÕçKy~u=5­*ÕÑ?}Zì5ùÃü3 #/¢Ðb”de!!@|<°q#˃aäŒBÁóßÎßr&<X·NüÍÊs‡F>øpuÕþŽ11À‚À©S€ƒ0f ðÙg€‹‹zÜèhàí·E¼²21gç7ÔçöÖöü}û€×^îÜ©Ü ¦:Ùß¾-æ9"îÕ¥ ðÖ[À¸qÕ_sù20b0ožxÃ0Œ,êvÕ+[''`øp`ûvQÙúþ•s/YÞ c e³ ;€ Ã0Œ9aÃ"`a†a†aÌnÀea¸aÆäàò†Ë|†õÅ0ì2 Ã0 “ Ã0 £7V,†a†a†av†a†a†av†a†a†av†a†a†av†a†a†av†a†a†av†a†a†av†1(eWñtÀxÜ..ga0 Ã0 ðÈ0Œ¹Pœ‰7&?nvÆÐqspún ^{ì1„F~Ea –®¢ôs˜7aºtzCÇÍÁŸ©…¬,†a†av†Ñ—òâxü·Ûx´~vþŒ‰ÄçÓ»¢¿7¾ŒHƒÿ‹[±ûé6 “®¢[ê1 ¦®Dä¥h|þ’?¦ö ­"î‘d†a†aa½ˆYö4òßÅ+OtG#[$ýþ ±Ï«8·ùÅKWôGO£xá>¼<Ìö6öè:ä%ì{»O|•Æ0 Ã0 cDD,†©á#QTþ6—¯eª—3Æ\NÇHw\ýz&|~š¹ÂZ1 y)Û,]›7„+rwø7¬(ó <:‡6HºÌQ÷ ëœá<Àúb8_°Èba +DšØZ#©¸ yçנݣóQîþ8þ¸¾­Q^šÝ`éjlcÔ’r8ªŒM Š|ØØ·htqÂß;Ãy€a}1œ/Ì ÃXåä&FÿAo Ø¾öGB÷Æ _J*èŸ_àÒ›a†aÆÀð@†±@žpw€O‡Q¸Yæ‚5§Nã ŸF(Î> ‡¦O6xºÎ䔨…É!] Ã0 Ã0ì2 c’PÙ}Ø*¨(µÂ‚þÂË=›¯B»Is4msƶÆ¿§¨…É!] Ã0 Ã0ì2fMY~ Aé0Qåaüߤ¾ø:5¶N"¨§' ;îL|ã>¾ù Wƒ¦­Ï²mˆ{ùEü‘”/«t1Fø®Ês‘YÌ‚`†aÌš´s_£Df6$Ϭ'RbÃñCØQÄ\K@ìáÛ©†>9ý½d—ÖS_½‰óboBz7¶e噃žý}z#ô¹|<÷dw\ÏWÀ¹y7,ýý8ü5¬¾í\úá·ƒSðÜÝq+ph&t1†¥¼(#:õ‰4O|…gÚ¹°P†aó£¢ÁA3€å}p`Z'Ù$‹W52e…7ðöóÏᓽ絞ïõÔkعs%:ËÀÑ*Í»ŽÅSžÆŠÐX€×£Ktêýzë&N‹Ø‚asÎãà‰´²·FyñÌ4}ÖAp€'g&¦þ H^EÌ(ä%}ŽÆ-çì]{ãÇk¿ã?ÍYç ç†õ%‘Ë—/£¼¼þþþœ dœ/n~ÿ Úß ÇöˆJ¿‚®Nòè{cЈ”ÇclçnØw3ÇMÇëãÆcpß.h„|\:a?®Å[cà숈ë‡Ðѱá2ÅÍ_Cðô³¯#:³H-|ôÆ‹}©‹ñ¿ó›ÐsÀ,$—ã×4œ?ñ>ÔÛ"ÓamQx©; æÂ·Ó:c¶+÷~Ø}úg<õ€ëœá<À°¾$Э[7dgg#>>ž3Ló•gãñ¦Íq2[Lwh÷ÜnÄí/ ùð@#rpÚì»™ÿ7W#}ÿNü•l‡v­¼àÕª*nþ†u;nbÕŠÞÈKú¿o˜ÌY–‰usƒÐaø+Î|e¥=!ó– ©¸¹m\Ûb[dú?Žt–Ì á Å0fÄø ¿c„‡èõ+Ê<‹1þmñâ{ëu#娢éwãy]Hb1 Ã0&ÅÕÍÏüëüÀÍÝr=[iã@#Q^’÷F¾(°n‰k©áø4èQ„œJư7vbBùW˜úùq4öçWãùöq§Ôçå ƒu½¥1óâLzf*~º–¥=s(òò§Øµz.ÃþÆ#éçèÜo*bR/ࣄXÙ4ÁÔæŒš¦ë¿} 8}ý¾ÖóÖvͱ`ãq\:ð)¬‡¡Vjiûó¶Ggh=—½}~È™ŠaÌ~M5Âû ÂWG¯àNä¯Xµxž|¬#“ŒÅqnÃ,´yxE¥T§¢ì>ÖL{'sJX`LƒsäȬX±999-‡{.Äí"íûiÛ:uÆ¡í£Ø4WVN¢p.ÍÀÄÏcðÇÍ _ø-"¶ÏÃSïìFäÎ7Q~ý ..€{%åè8õk´0â0ÇÂôxsÕ®jÏ{ŒÃ‘kqXùÒ 4İä6þ¢µƒXÕ½ÛdÄe'aö#Í6m±rÓ«œ©Æ ©(V‰Ð´û4Ä^ýS?ÀÂa,–Û{_Åó6Hú\Qž‡Éy,4†‘ -ÛŠÇ]µZy~çat–ÁVz¥ ::¹¹¹ˆG³fÍдiSÖvRRD‹]ÿ–Î8µ2>ƒŸC7ç{øaߨ•àúµBti›‰k2áÒvV{"""ˆ)j‰Cü°î×ÛUU; }á,™ñì3®!"£aäU@±í«Å˜õá_X¹ád]OÆ”Ïvâþ« ðà럣Ké-DDÜâŒÅÔ+q8zò,®Ç§ vðòë€~†  =—yúHHH@DDÎÿšüï9[§NX·n:Ò/E#EÅX(%Éxzbˆú<ØZèžtyöÖ€ëï ·/áÀlY¥ÍâëÛ¨Õ#±â|*¨¢ØbÞ¹q+ž¿$•ÅÇ#ñr¿fZÏyLÇ_Çóû˜QšÊK’0õ»›°±÷Åþwþ‹gû6Áæ9aø‚¯±cþ` [ð5} ïÄ]ðs°AüÁé¸Á[”èCÓQHŽ¿€ã¿Çâã>ž,†`ã ¤ýW¿wûSpäÚEÌìÇß ÃÈ™{¿Ä—Ç>…B^é²±d¥ä%îÁü b#Ž©$%%hÛ¶-V9ˆ-nkìQhJÔß¾}vvvhÑ¢…lÞ'55yyyhݺµlÒ”~ë+ä”UÀÍo>Úº´Áºð+h>®þ÷éd!‚G¯)8ur :9ÙàíV1ãú}ìLÍÇû¾.üÑè‰S‹®Ô‚åÀ0UY·ó+ØåâÄ™h$¤Üì]àס+ŽÄà€Ö, †1…:®ÙhLaº,Ö¤ò<Ìz,Yeœ; ‚ƒƒqøða”Þ®qƒúÈ?·À×AþCi{ôè„ÿúµlÞgÞ¼yصk2Rbñz <Òtø×¿¥yQÄb0é™yÿ®ÆçÔÜîÿ,üRòOrí þ`†18 W ?ÃÆËÒŠÂ¥ðýØ÷Ó1D_ŽCf^ ¹{£kïþ7e z¶pb2² ;;qqqðõõ…§'÷˜+±Ø! á‹ãÏG7p`jäƒ}Íjƒz9¾ÏÊ'ÿ#›4Ù»ŠU² 3ö#6å<žíÙkÓÐsÊgØÿÑx$ý¼ûMELê|”+›&˜Ú¼( ÃX ÷ÎíÆÈ^-ÐuÐ,^ù%ö†ý‚á'º Ëßž…Þ~-1oÇE# N:…Þ½{cÏž=,Œ†t3#`Ïž=jÇŸ¹š“Ö îþ®ïÄÍ\ƒ¤áþåõxj½ ŽnË9€©‘¹WšÕõr|Ÿ—¿ø@6iRX‹¡œeÙ˜øy þ¸™ƒá ¿EÄöyxê݈Üù&ʯŸÁÅ¥p¯¤§~v¼t‰¹@å¹HÈ,fA0L5œÛ0 mž€CQ)ÕÆ©(»5ÓÆÉ^ˆaäJ½½¶ù5ŒÝpE-lô¥t„vV_˜$õüÿ0vìqµ°G6\ÁéÔéù¥©˜4è ¼zèüxL¦Ü»OAÄY†N;='· ƒ5Ö„ÇÀî‰1øü&vmÂïSGšt}gd•¦G[:ãôÊ`´}f.‚üãÒß7àPž‹¸"w<⟉kRáÞe"N„òGb&”ÅaD§^8‘æ‰oc£ðL;ž×É0ªÜÞû*žµAÒõåyؘœ‡.î,8†‘!uÞÞÝÝnnn’¯-J¿ƒ»9¥jaZú¡¹º3V–ŸŒ„{…ja­ÐÂŶN/œŸžˆÌ W´jÖ€ØÌXIÛ¶m &ØÌÌLdee¡eË–°³³“…² ’’¸¸ÈǸ¹yó&œœœàåå%›4©.#***pûöm´hѺmŽ®ºŒ\P]ÆÊJ½hyyyHMME3O”åã~n¡¶bŽÝàéÑ6<ý/''999hÙ²¥Y”CeÙ¸ †"+¬ìáÕª­MGÁ Yç”æ#¿°%%¥¨ @ae ;{4jÜöõ$ÃÄÄD8;;ëdh4ç"9£^ÞâÛ¦2¤'§À¾©7×cƒqNNÒÓÓáååeÔÄuú>ÊKˆ ,Ææ~mÐÈÚò É’’$&&Â××666FÍóðõõ•Í»§§§#''Çèï.Ç:§¨¨wïÞÕÙ/ª”••iÚØõ½ü/?¨±‘é£ùý3 IDATèKéñníÿF¼G6\©Ófˆ÷þø€\¦[* «ÞߘÁËÕ ˜åd¸|PPÁóDCnïêêJýû÷—ÕûL˜0PVV–lÒôÍ7ßúæ›oˆˆ(ûÖ_´mõÇ4Î,š5g>-[³þº•-ëÍh—-[FŸþ¹Il/7v½XY?9¸÷£ýWî›Ì&Ä Q礜ý–þÛÓ«ÚMÊ­lšÐkÛcMb#øÔsÉÇÞšG¯it+û&½ØËƒµ½m<—Zor !&›üuî»á’7§@=–ðFð¼¼EÙ¾Ú6‚—‹N´Ùس hyÑMŒ \Š…?Å£5ýdF.­ð«&•æõë×ÃÕÕ¯½ö+PGÆoø;úâ§ôBežÅÿ¶˜òÖRÌ™2ÝÚyÁª¢)ɸ›’ŠëèÝÝÇbeunÃ, œ½…5t )ç‚.v²~ŸyKT,¶ƒJÜŠ6®[Uz“°d^^:µÄbõ]œ‘-9®ƒvYÈ ÃÈ‹Y½à«IC1j;Þÿgq †a†Q«m=°íÀËjÌWÎB¯öÞ°µ¶<}Z£{@_ôíÕ§,t‘ å\°Â ésÁäÎâã‘x¹_3­ç<¦ã¯ã‹-úÛð~üuÉÎßšðóôtä…aØlx>±FùéwѾ}{µC•öíÛ£kï`Î Ã0Š×#«ä®i¼RE¹úâT.É27Ê‹ã1ôùõ’Q2ÆCþ΀•7V9-ûzî;¾>¾Ú¯­s_€{ {²¶8G®]ÄÌ~¼×ÃÈ‹zéïëZÃ*…}\\ç†a ¤wïÞ ÄG}„×yãðÞ›Zãµì9ãG?a¨›½ÅÉiíûcWX&9¾G%ÓT¾àk¯½†S§Ná쩽˜ñxÊ´8¶O=>‘n¯O7åyŒôNœ‰FBÊ}ÀÞ~ºbpàH h-ƒòõ à Ã0 ÃH "":uNK¿¦@°±ß ¬Ù‚©ƒ°h9ÝMÈ’n`˜À\°¸¸8DDDàƒ}±=:CkœŒèíè;Ð)gÞ·øïDaåˆaãg`Øxù¥í޹ݘþò<­{†…îÂÊ÷ÞÁ«[~ÇçSºrÇX<¼ƒ1Ã0 èPQ\¡öÓîÓ{õW‹wþÀµãPÉΟ)Í›»q%Z;ˆ6q÷n“—„Ùÿ¬`ãÐ+7½Ê†Œá ê†ÀZIþ}Ê¿sÛµk÷ïÁs†a˜Œó•=AvÎ=qüôzøñð?€µ}k@[×êWõ4Ź`îݧ âìVôê=݆v.-°&<ó†<ŠíçÿÂän¼¡¹\1ÇE‰ÆØÔyèÏ?ÿŒ¬,éCB’Τj„]úì,ª2I<ûú xñû>Å¢[M ðÚÞxæ™gª=»hÑ¢:?á·ß~|ñÅðô”G%xã†éþýû/«ŒxõêUƒÈÝé1T^0ÅÅÅ€ 6 ,,L§k‹ŠŠpûömY½Ott4àý÷߇½½<æR]¾|°{÷nÄÄĘd¡ž••…ÂÂB£ë:** ))):?GÎåPtt4-Z„ßÂïþö@àCØõábì’¹Þë«Î9sæ à¡'þ‹ÞùyH¸{9ùÅ€µ\Ü=ѺM{øy¹â—ðK=¾JJŠÎöˆ¶²~èàæØøþ;• ýûõ ÔgÉؾ};Nž<)‹ü•““ó¯þåTdßO·Ûvé´(QAÈÇXäh¼Piii€åË—uãñ””ËJÊòÁØï.Ç:'11Q/¿¨>t’““£‘Oêüøøø @ú>Y#¿ÖsëÒ-«@‡5â9ûvA@€á÷]¢²$§•£…wƒÝóÚµk€Î;Ã××W™@¹à¯¯¯N:«\]]e•¦_ýd•¦‚‚@§NðÀº E³¶¶†³³³¬ÞçôéÓ€=zÀÉIó mÚ´‘Ý7";;;8::=ý¸zõªÎÏ‘s9äîîŽ^ÝÛbu^)ÀÑsÞ7 Ð{}Õ9wîÜŽñƒÝu.‡ŒÉ·ß~«³="ײ>#Cô@·oß½zõ’EšÒÓÓžžž²’ÕËÓ?GvY…t´õX<׿ŸQÓ”ð÷÷‡‡‡G]¬Sܹtç¢cq;1yEeppn‚VmÀÇ££#ˆHVúP6^ÔýÝMÏömÔ¨‘^~Q}èD¡Ph¦IŸ]å]]] €^;Þÿñòƒÿ^«¾²~±âld9(•Ã0¦Åâã‘x¹_3­ç<¦ã¯ã‹YH Ã0l·™}zÄYµ»0¼@;€ Ã0¦]XÛycõ‘ƒ°ÑRóî;¾>v\œ3l2ÆÁÃÃßÿ=‚ƒƒYLƒ£\ «kS‡jã´8G®]ÄÌ~ž,0mÎ1‹€aFþ”ÅcÆãA(Ó2®ä©Çg òÏ-ðu°Æ7ß|à ˜¹£¥DîCŒóѳ““ÆŽËy’‘ ¾Ã^Ç…äÉ8Šg¢‘r°w_‡®8ƒZ³ØdFŽ•4Òù``_lÎÐz.#z;úôCÊ™÷MnaÎ Ã0Œ>XÙzbØø6že¡³ìXŒ\Œ@>Ä0Õ3wãJ´vmvîÝ&#.; ³i°qh‹•›^e!1 Ã0 S+ÜÈ0 c¸wŸ‚ˆ³ v{NnAk¬ Ýcðù!LìÚ„…Ä0 ÃÔ 7¶3zmϘþ/7­ó00Ë”1ëá<`òb=Z®<2­Ê}cbb8Ô³Èß¹i·<”a†a†aÆBà!  Ã0&÷´0 ÃXõQÆs= Ã0 Ã0L2¼ŒN†aØaga†a†a$''§:ÝC¡à cÊåÛ°ù±ºûñ"0–©”ð"0¬Në‘߇åeŒtIum>ß…©Ãõé ÈÅ2„ÎØ4m{-þ†a˜†ª_xéy†á²‘¼ (Ã0 Ã0 ÃüáCÀC‰ã¡‡€Ã‡Å¹ €N4¯ÉÈ|}ÒRÍs:U6€(•‡Ôg*Q(€Ü\`útÀÝpuæÍÊÊ€¼< 8X„¹¹sæˆp}‰¦L¼½{{ {wà»ïÔ㔕ï½øøvv@ÇŽÀºuši®ú¿”ëà·ß€¾} uk`ëVÍ8÷ﯼøù¶¶âý‡ÂÂt»Omï¬MJ.\Z¶ïeåæ/¾(â5jŒ\º¤ïÞ=`Ö,ÀÉ hÞ˜=((`aˆ*†a†a49~˜6 xë- 5U /¼ ‰îÝÆÅoUvíÎÈ¡Cêááá@Ó¦•u¯¶º¸¶gª2{60d˜\¼DEŸ|Ìœ)Ÿäd ¬Z¥Ÿ €GºuÎMN°a°{·z¼3„Suþ<ŸìÜ ¬] lÞ\óý¥\ Œ+d’ <¬Xüø£ú½ž}pvþø(*nÝæÎ÷Óå>µ½óܹÀ_hŸµk—_ll ££à`à‘G€;wDÜ1cÄýnÞTôëdf‘‘"Í‹I6 ¦áQ-Ö;c92ã<`9òb]sž”kúU1‚hÛ6Íx›7‰ß!!D'ªŸïÕ‹hÇq½*&}õ•ögéòLåõ›6©Ç9žÈÉI3üÜ9¢.]ôÓÙÔ©DK—Ö.·eË4Ã%êÑ£zùJ½nìX¢µkÕãüôÑ!êa¶¶D……Õ§Sê}j{ç’"¢‹ÕÃÓÓ‰Ü܈îÝ3ŒŽ¢U«4ŸÿÉ'DÏ?_³Nrrˆ¼½kÎßJÌzcM<5µ ­õ5¡´®÷Tí©b,Ö;ËŒó€åÈ‹uÍyÒl¤¦M+W€fÍÔãÝ»t餧YY@Û¶@\œæ Lš$zŽzö½L­Z‰ž™ÎE¯”£cõö“”g*Óš–xxTÆ)*÷Öîæ&þꪳ-€sçİƚ䖜 xy©‡ˆ÷),Ô._©×yygÏŠ¡JòóEšî߯ ëÙSô‚-^,†”VEê}¤¼óÇ ]ªöT®X!†gþßÿFG ”$Ò£JRЧp÷®ø¿°X²øáÑÓ¨Jje”—×n³³È ;€  ç†umà:PߺÒm srml€âbÀÚZ=^Y™¶¨4´'MùܹÀ믋yco¼!†úã|õjá$*‡#V»"£ÄgVkÌë^“Îlm…ƒac£_>U=§Í”r­­öùq PQQùÿõëbŽÝÑ£@›6B'O=Œ-œ!©÷‘òÎééb>çµk‘+/ ?ü æBGÊ9’Úò‚£cåÓéÓÅPá÷ßs(5qlm¥É›ç2Œ•œœÓ&5Ú&f3¦›×ôÕ'ç†á:‰©ÄÕU,èR•Œ Ñ[£dÚ4ÑTV|û-0a‚Ÿ0ؾ]8[¶/½d¸gÖ¢÷±!qs=¨êVÕ6èÐA,ø’-æëõï/œð)St»”wöðóñ6nÿ8 z•Ο¡Ð–ŽÔTÀÓ³òÿ={DþêÙS8€˜Ç(Y:€µ­è£\aGÊ 9Ú„ZÛŠ9RV’º‚‘%­(Ä0lœ0æžLé}ølX¸GÛ4é×O»mvø°8§dà@Ñc´x±¦©²çã´k'zfœÿÊk¬­Õ‡çéúÌú"0°rHcC1hp°¤¢´±_z 8rD8HºÜGê;Ï ¬_/zâÖ®v·¡©ºÚ* œÛ!C*ÿ/.þ‡*;vèT@ÉaÈ.$JL$*+#ÊÈ :tH„+'4Ž'&Çfg‹cÓ&"//¢7jžøèãC´}»˜0š˜H4iÑœ9º?ÿÅÅdѤ$11ôÌ¢ŽÕ'xÆÇ‹ç­Z%&‡ýñѨQâü®]š“P•L›FôᇕÏ{þy¢Ý»‰ò󉈜èãEú•áwîˆðª“k¥ÊKª|Œ‘kLa¹©¤Mßtúý¤Ü…0œ.´M´7…|`jyÀ”òªÜÒj.ß;@TZJ´x1Q‹bŠ4šÐöžÑÑDC‡Š!\\„-‘“£Y†×vÍþ õçsrÄo//¢ë×+ã-Êôt'$D„I•·,?×ÚVô‘ºBŽ”ÂHÛŠ9Rž/e#K[QÈÔ ƒÛ·‰&O™Q·n¢À¨é½¥T²™™D³gùúÙØˆ uÈѨ $<œ¨O"{{"??¢-[´§16–(0P<ËÕUTй¹ºÕ:R®#"JI!š9“ÈÑ‘¨Y3¢Y³D#„TãÄ ¥±ô B‡NNBU¿_CëSмë¢Ï†Îì²hŠƒ”Fàªïyíš0·m«lŒÝºU{UËp}î¯äØ1Mg"4T„…‡«__—Æesu‰ˆöíe¸££8úô!:p@3Þ;D‹r[•Ü\a;U-§CC…- Ph>WÊ3ëË$"ºuK¬têé)ê=ˆ¾û®þ@"¢¨(áÈ5n,d2p ¦uâÑÓO5mJdm-äûê«DYYºÝGÊ;«Ú~Ñ»ïFUÿÏÎe@“&Â>>œ(&F=^Zј1â¼››ð9²²LÜìуhÆ ÑU°’’4ÃÕ•ª/]P@´`QëÖÂWf~++ÝŸŸœ¬žŸOäàPù¿··(jbéRÑú¦Êò嚎lZšzœÂÂêÃííõ“—Tù˜£X[o­¶÷–ZÉÖÖ£%® Ͻp¡²•P•¸8ᜪöänØ zw aõ•·©äSt¥6HqÜkk ’Ò€$µa(7WÔmîîÒG TW—#srõYþ~¢ի5¯ûì3M9ës%rÛR€‘gféOq±°÷«óL"È1Qÿ- ){{¢ÎО=Dåå•·¬LóºÒRQAVW8I)Œuå5UãIy¾”ÊÒÆ¦ú!ª¼»{¥#WV&*ú³g Ûš E^RåcŽ Ô=oô©d µGͤIÚ{rW¬0Œñ õ:mèÛSlj ”žtCëS_y›J>0EÐCêkk ªí¼. CS¦ˆ«¢"é:ªzºNG0PJ#pÕ÷lÞœèî]Íë’’4å¬Ïý•¸»WŽ ªÚ Ñ´©á—Ù™`й_Ø‹/½dây@Ή+*ãå7nCë&MªÌ¸Úz´’’jîtsãzU¹q£ú ¦çK©,½¼¤µ}ô‘ø½w/Qß¾ú9z5tRä%U>æèJé­­š6©•lm=ÊÍ›‹á§ªäå }TW]O®!Œ©×²§ØÔ@)=é†Ö§¾ò6•|`Š !‡Ô×Ö@TÛy]†6lЭ.ÑæÖu:‚¹8€R奊µuõ±úöÈj£¦çX[ζ`g‚@K”›““˜k—Í`½]i|bÈDU>ý´æ9€ŽŽêc‚‰ˆÞ{OÚPõùR ç©SEËhmÄÆŠ–â’1.yçNÃ;€Rä%U>æèJé­Õ¥2W­dkëQV5žU…¢~©×²§ØÔ@)=é†Ö§¾ò6•|`Š !‡Ô×Ö@$¥Ijöxºæ•ºNG°dP—Àº8€ºô²È c™ÈrˆÇ¾þZìl_^.6^üì3±”«’³gmÛÄö¹¹â÷'Ÿˆ­jZâuþ|±¯Jn®XÆ56V¿çKáÿ¾üøôS - ()Μ›SªÒµ+ðÀbÓÐ+W€qã /S)ò’*sDŸ=o¤îÛcì=jê{¯žºî=cÊHÙ›ÇÐú”«¼-94o®=,-­òÿW_›‡†YY"”–jæƒï¿uM»vÀƒ“'{÷VÆ«í|zzõ驊—WÝ·1ððPÿßÁ¡úðâbÞR@•Áƒ…îªòÃúÝÏT¶`F~ÈÒüà`ÿ~ G±¯G@€Ø›ïÛo+ãlÚœ>-öêóò•ä‘#@ûöÕßwÓ&QûúŠãÜ9૯ô{¾|}S§€¨(±GŒ³30s&ðÜsÚ÷Y¶LìõWu_C E^RåcŽè³ç®•l]÷¨:TûÞ0ºæËº"uï™êŒSFÊÞ<†Ög÷úá|Ð RäÚˆj;¯KÃU55¾½½ØÏ¬*))l$’%K€¥KÅw¢lŒÝ¾]4 ëCÛ¶À/¿h:êóç Šr(?_‹o¼Áz`¦ÙùkŽºOj—_IDAT]Öæ°¢)GÐgÏ©ûöjšë׿RÕ½a6o־؃1‡þIÝ{¦ºýŽLy¨”½y ­O}÷ú1•|`ŠC@ 9¤^ªSj;?i’öô|ò‰ôr¡{wÍý͈ÄBRî¡ËtKJ$V 2D䱚lF†úpY©÷7¥-¶¹™åvsYQÈÔ #}ö¼‘RÉrš ÄêNNbžGp°öM„iøKÝ{¦&ãÄT@){óZŸúîõc*ùÀ@CnÒ[[Qmç Ñ0´q#уŠ…[JJÄœ´?égÐøœ<)œp®¿ÖS_(DF0- ísL…pr†CA\\,³'Z¡Pí•æžyÖ;—;œä›Þìl`Þ<`ß>1vÀ1,Óß¿2^z:0cðóÏb¨ì¨QÀ_ˆ9¢ªï¬['þfe>>"îˆyƵ€˜`Á1åÀÁ3FÌ[wq©|VmùwÝ:`Íàöm1Mà…€Å‹[ÛÚï!5œËy¡»7ßSKJK“'Ù³ÅðPå°^þ††1úwkŠ ÃF Ãzgóú65öîV¬N»µµXnÎ`Ò$Ö+Ã0ì2l0¬wv90¬k†õÊ0Œ±b0 ÃÔ6 Ã0 ðÈ0 Ã0 Ã0ŒÁPíU5D¼º\·{·˜¬PT^§ïså1ÊÈ­°ãÉzg†¿w†õjÉ2•"K}§&èr]«VbÏÚG©ûsëS6 ;€ W ëaþÞÙA¨Gã› uù:9ºÜßÊ (/Wÿ~Ù4}x(# Tw¥aXï ?Ƽ_âï1íoÚ(+Þ{Olýbgtì(¶k©M®.Ɖ­b¦Mrs5ãJ½?‘pkÓá¡CÀC‰ç6j$~>¬_<…ÈË^~hÚTsè©r8jÕ4I½wn.0}:àî.d4ožG^,ÂÜÜÄ ½eeì2 Ã0 Ã0&ätËù~Lõ̘!öõ<ÈÏvîÖ®6o®þš¿ÿûJ?÷œ ܹ<ú¨pvô¹¿Rßµ5Ü?.Í·ÞRSűp¡ØOô·ßt¯¼Œܽ«žÕô¨¦I—{Ïž $&/QQb/×™3¡C…ì.^bcU«Ì¶p`†aù`èš©êý¸æcÌá)-%Z¼˜¨E "[[¢ˆÖ®­=ïçä5iBäâBôÚkâ^¹¹DÓ¦‰0WW¢W^áµ};±±DDNNâºiÓĽ”qÕÍuÍ{ûL=®ÔûW§óªa#FmÛ¦oóf¢  ÝãD6èV?èrïM›Ôãœ?/ò^Õðs爺t1Ï2„{†1ú®dÆÃ…žøx`ÊÀÛ°·ºw ¨RÓp› €N4øú¥¥šç:u­®€¢óâ‹b(N£F¢%øÒ%Ík~û èÛW´d·n lÝʺ“Êýû¢•Ýϰµ²: «ü¥ €{÷€Y³'' ysÑÂ^P ù]kÖź¬¿"C÷~ܸ!®yúiq]BЧ艩®‰{m¤1uªfØÃW¯VͱcÀرšáãÇæþÕqö,¤þßÿgÎèOfŒ4ÀèÑêÿwí*Ê«ªáþþ@\÷2&Ø:nÊ6v/#»‡†u¯ññD>>D«VÝ»GTTDôÇD£FUÆ9vŒÈÓ“hÿ~¢¼eŠÈ3EEêç¤ê’©[Q]{?ªÞoÒ$QNTeÅ Í'îµ1LU“\­­Å·\•ÒRiúZ^êò\kkÝãDååºÉF—{ër_s­/¸d@Fv:dÝ7,S§ £¿&¤n!!D'ªŸïÕ‹hÇq½*&}õU¥¾´•Ÿ|Bôüó•ÿ«9äí§Ÿˆ† aP ¶¶Âa««“¡œ"ooÍûU7¬Kª.™JY&'k†çç98Ôœ÷ÓÒÔà «··¯ùÛiÞ\4T%1QšÃáî.™ª’’BÔ´©áÒm)`óæDwïj^“”d\PªuÑ·®²©ë½-Íä! &ÙkË2`¤ ÃSzeÈ!uº Ów%3C =«mÕ0F“_~&O®ûp›çž~üÈÌÿÇÆ ½Nž\¹@ Î;¦>Lé¹ç4ïýÜsÀÑ£•ÿÿþ»æ0¡€¿þbJ¡Kàµ×€¤¤º C+,Þ|hÓF %U(ñmjËÚ`]ꎗ—f˜“PTTóuêÿ;8T^\\ó½ÒÓE¹[maÚÈÎëҴ)•e¼t›+ƒ{÷j†ÿðƒqŸÛ¯Ÿö?çtWÖÖb[ }ÓÀðPÙ·þäæ͘!Z5jk¹©m¶’ðp¢>}D똟Ñ–-ÚŸû6ÑäÉbÈ•Q·nD»w‹sÚ&h+‰ŽC”à ê:Ù<'‡è…D<''ñŽ/joá™9“ÈÑ‘¨Y3¢Y³DK¨¹·âH†§|wC©“24L—xúÜŸHúÐ3F:66µ/¢ u¸ÍĉD_|!~ÏŸ/zñˆˆV®$zÿ}ñû‹/D ª¯êîmc£žNm L(Ü(…¿ÿ½µööD< zW÷ì©z%µ>8˜häH¢ÈHQ)u¥MîÕ ë’ªK¦n=DuíýhÈ@KêµÑW¿×®‰z}ûva?å䈑Ï>kÜÀ_Õ´EöïaÇ믦ô)m’Š ýÒÀ=€ÿ¼£òýø«›+Q53ÆÅ‰^ո߰Aüªq¥÷µÍÿÙµ«úa9Ó¦}øae:Ÿ^8ŽùùD D?NôñÇÂHW†ß¹#«5’ê´X² Ëü C©“:ÿDßy*†zÆHÇËK|G5!Õp;~\ÌÇ)-zQ‹‰‰D­[ ‡ kW¢˜u}i3*“’ÔuëáA”™©»1ÅùA¢"Ñx·q£hà›4I7#ÑÍ(5UýüºÉ]ª.y9€“&‰&µÕ-ªq«k0ª®Ûº•è‰'ØÔU¿J[oÈÑ îâ"Ñ32Ô‡ÅÚ$"Ú·Ot08:Š£O¢ô‹WSúBC‰|}EãPÕxu¹7;€Œl>~©KàJ„-Õ¸¯mþOI‰p¸ªöÄ¥§ C@ib²¹§Å’]ZO«k¥U•Sóæ¢÷W•¼<¡×ª²”:ÿDßy*R®+( Z°@8ª=VVlð×…©SEC>U ·Š ¢¶m‰-Ò,kËØ?ô¦¾´•Ÿ~ªÙ`¡œ7È aÈήüƤ‰ŽŽDYYêçß{O7¹KÕ%#/ðúuÑ`´ukeÓæÍš ÐÜkÓ°œ°p¡Ðk~¾8-ÞxC=îÙ³Â1ÌÍǶmÀ'Ÿˆ­T§wßrWÞïØ1íËýËÀ@!ƒŒ ñNë׋­ªÒ¶­ØÚ€›»†a†a1y–,V®T7î·lΟ׌'Ÿÿßÿ€/¿>ýHKJJľ^£G«ÇëÚxàqß+WDï‘¡‘â´HuÌ‘!C€M›€¥KE¨§§ø½e‹pøUÙ´ 8}ðó½Æß9´o_§K ,L8ÐÞÞâ~}$öÙ“#›6‰½¢|}ÅqîðÕWšñV¬fÎ=€¼ Ã0 Ã0– •«bt 11À‚À©SbÔ1cÄð>õ¸ÑÑÀÛo‹xeebsÌ7ÞÐtoßÎâ‘#ÂÀîÒxë-M'ïÐ!`äH÷Ã¥½ƒ.C@³³Å°Å}ûDO߀Âô÷¯Œ—ž̘üü³è 5 øâ ÀÍÍü‡€"?1 Ã0 Ã0ì2Œ$JJÄü«¸¸Úç 2ì2 Ã0 Ã0 ‹ ‹€Ñ—¬, $˜<™?†a†a†a1[ ±ãðáÀöí,¹Ã½ Ã0 Ã0 ;€ ; Ã0 Ã0 cAð*  Ã0 Ã0 Ã0ì2 Ã0 Ã0 Ã0ì2 Ã0 Ã0 Ã0ì2 Ã0 Ã0 Ã0ì2 Ã0 Ã0 Ã0 Èÿ¬˜)&™[IEND®B`‚nted-1.10.18/doc/docimages/chorddialog.png0000664001041000007640000007623611520267216015241 00000000000000‰PNG  IHDR¦IÐc‰TsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ  cd3tEXtCommentCreated with GIMPW IDATxÚìwxUÛ‡ïí»é ôÞ‹Ô€Ez—¢ø JSÛ+úZ)RD¥‰¼ˆH‡Ð‹H‡Ð é½gë÷ǰC6»HÒ’s_W®ìœgÎìÌÙ3ó›ÓžGQá™1nî^~ïª4šwà!a1™>ÍJOþDíîå÷n¹ÚÍÞñ+WS”Š@ ×Î~'÷üaÔ*æß2ÕIHË¥"‚‡†Í€B©zG `±˜0ædP>@Ï;ÏW¼Õ´²XÈÌÈÀ`0 Õé\lÇ™Vì‹¥*ŀ܌D,yY…ÚW©sÃà(0åecÊJÆfµÜ1ŸB¥AçéJ­Ë§7fÔV‹c^6*›’j¥ôòŽä?ÿù/¾ø"=zô@­V;}ÁÉk 9¿@ _Ì9TfÊU._¨ýoDÇ™‡J£Ç–—NhH)ô·iÄä'=#ƒØÄxTJ’å&I¾”Ò?…›Í&ÿ]¿~矕JE^^ …âV–›ûZm69¿@ _,ÆÊV©( µ™2œ¼ˆM©ÆßǽÎP¨|^žÞdef“e³¢Phlê› ƒB) KNn{÷îE«Õâëë˵k×HMMÅÛÛ›èèh”7÷KNNÆjµ@rRŽœ¿04ªàE»Úþ,ÞEb¦©È¨Q)x½c_Jcû™dQ£àQ(”(òiBá2)A©”òÞM>¥…-_ž› 5€Š›-ž<£‘‹/R«V-‚ƒƒÑjµ˜L&ÂÃÃñôôÀh4²uëVÊ”)CíÚµñŠMA¡Èqù½žzëÒ¼Š7•‚}ÒÈ3YéÖ¸?üB]î„II·Æ¥HOŠgsvw_Q«à^PÞ€aO•!Ô_ï°K\Z_o‰* f·þ¤ˆ']±`[7Ròœ¶ æ³k‘C‹É®T(dggsùòebccYµj={ö$::Z>‰«W¯räÈ’““)Uªqñùò;\Ÿ‚WŸ¥V°†/ÚÇ™«ñ„Õ¯ˆ—A”§B€/–‹’„ 6”öÑ¢S+1Z¬Ä§K­©r~R¥ÍãsðuWãë®Á •.Æf1bP˜( G§‘ú*cÒŒdä˜E%‚»n1©ägzˆ¯Kn&6lò>z%É×ÏàZûVËçf«éÖ°’O-Ÿö­Ê7Ûn0¢mâS2ˆ=‚ÝÜG(ôç–0Ý<ˆý¿F£ÁÏÏM›6ѦM¢¢¢HNN¦råÊhµZQ(¨T*‚ƒƒñJËA¡Èpº@•RÁS5|Ùrð,]L@áÂÖ &z6ö`H§†ää™àËÿ] ”¯;ýš—˜B€'ÛÏ¥s6&›¹Cjr!*‰cbù>!“ÑíëQÊÍBfÖ­VZÇA j_•£g¯‘—gbý±T2lîò š@  +LÊ|ó Œš¶g€¼Ï´ÿk- åÓ ´~Ž^ÍB·/Ž-J1¢m®Ç¥0mù6â²U*€Ô Qp+§1&»bedd‘‘F£!''‡•+WÒ§OjÔ¨R©D©Tb0°ÙlRÌE¿¢B¡…Pmðƒ'J• ›7óÖ@eðböÈrø+RéZ?«1‡/~ÚÇ„~­èÝ$€÷–j²v×)~Ùs•:ÕBiUÕ‡Y+#8t)UuBðqÓà®Sq->ØÔº•‚iP%“+™šUõA¡’¾+69“ Š¡( ¬Æ2²óp÷ÖèëÁ` #+cz"IiÙ(<Q{’g¶â¡×P*(Hþ®5c8v9‰65éÓ¶.Ÿ®:É¡h›|]@ (Œ.Ý ¹£¸%XŽ-[i %(TrË  a¨;[áePñÙ’?™4´oöz‚é›bˆN5æ;¦ò–þc²7Û”JÞÞÞT¯^INNÆÏÏ'Ÿ|’ÀÀ@®]»†ÅbA§ÓQ½zu.š3QœOrº@ðõ–ët¨¬`p›P´{Ï&“ÍÙënä™ÌäYœ‹N'-+—iÿ»Àÿ…—ã ‰KËäËeûÑè=8•JZV.J¥;×Òl|»ý:íêU$\£äÌ•xâ’3éÝ<„VµË`4›Y³ýŸ8Õ«*^Ô4@ ¸‹“B¡’5!6ÝÄŒQv‰ŽO•dÄÞ•—oFž=M©T’˜šÉÓþG\®Ž9Ûâè\SOÌé](Ê´¼)=*ÇnÛÿõ|b«ñd?bS¥ñšŠ~*Æ53a±XHJJ"22’„„*T¨@³fͤ–ÕÊ7P©T”.]šWl,ÿû6+}mVLY)ä¥Åc5å€B…ÖÃK^–¼lÜ‚«`ÉË&79 ½_9lV3ÆÌD°ZQªµè|JcÉÍ$/=ƒ(Zï ,yYä$^ÃjÌ–Õ\ëˆ1={¿¥Úà‰Ö+PêBA¡ÈK£F•ŠkV“®Gê»…ÎÃi(åläETzOü=4øùÞš•EnF"þê §í˜˜²Ð£Tk0¦'xj‹½Åt«¯P§ÓQ§Nu¾ÿþ{®\¹BË–-ñ÷÷§J•*òÉV¯^]þòÓÙ)(”q·¹L%Tz°IãN(Ø,&PªP(U¨´nhÜ}$õT©ÐzúKª (”*Id¼ƒ$»R‰Zï[©Ê`³9žÆÃ¥J#7?*õÝÍ©ÑbrZÇP©Áó T8­cò Å#0ô¶ÛÎ똤Në˜òÏŽxê©§8yò$¹¹¹Ô®]ÛAÎ)_~—v•¥ªàÔíWÛÕóöµÎÍ)YŒ& Á½¡qóäFL,åÊ–)Ôþ7¢£Q±Õ @ÜÍ5C p ›Í*í®¸½{ Üœ'‚ÇsN–ÜŒBí«Ò{ÈC&V³SV Ɖ«Z‹ÆÍE¾FK^j 'þ´¯c’Z‡¢J•*4iÒ„Í›7³~ýz, #GŽÄßߟ™3grýúuš6mÊ«¯¾Ê Aƒhܸ1*T U«VL›6¼L¥J•˜0a'Nœ`Á‚X,ºuëF‡èׯµk×fĈ\¿~… R¾|y.]ºDjj*'N$22…BÁÏ?ÿ̆ øõ×_±ÙlüßÿýŸCËiÆŒÄÅÅѪU+†Ξ={X´h‘Üò:þ<ááá >œ~ýú a*˜`4‰¤…¶*T`ÿþý¸»»³råJ|||øî»ï eܸqlß¾­[·¢P(h×®;v”t›ÍÆÐ¡C©]»6ï¿ÿ>Ï=÷íÛ·ç³Ï>C­VÑhwŽ HT¨P³ÙLjjª|ƒ{zzâççGTTO?ý4 6¤Y³fŒ?ž²eËÒ¢E 6mÚDçÎ8xð ÇŽ£K—.œ9s†5kÖ ×ëiÚ´)sæÌA­V3nÜ8H£Føá‡°Z­Ì™3‡wß}—Ò¥KóÉ'ŸpãÆ t:/¿ü2žžž <›ÍÆ7Äõ Åjµ’žžNzz:nnn²dÉú÷ïO§NP©TlÚ´‰–-[2~üx¦L™Â¥K—X´hÿýïqwwç½÷ޓݰ}ôÑG”)S†O?ý”)S¦`0>|8f³³ÙLÏž=iܸ1F£‘+VЮ];, óæÍãÕW_¤®C___š4i–-[h×®‹/æ“O>¡N:(•JÂÃÃÙ¾};*•Šøøø{{œÀ`0ÜY˜rrrˆ‹‹#44Töö`»é“.¿÷‡jÕªáããC¹r娻w/:µZí°ŸB¡]Ùl6T*Éc­ò¦_$­Vû%‚ÛqîÜ9ªU«†Ùl&&&ƒÁ€»»;ä+qäÈ‘ìÛ·?ÿü³ÙŒÕjÅd2¡ÓéèÑ£¥K—–ë¶Åb!77—† R­Z5vîÜ)×Q{=ÎÎÎvø~«ÕŠF£q¸G<==ån>«ÕŠR©D§Ó‰ë>sñâE*V¬ˆÕj%!!›Í†···\l6›Ãï ШQ#|||ðööÆl6c³ÙÐh4ò~6› ___Ê”)ãðü²?Ã|||;v,GŽaöìÙ|øá‡X,òòò aèСuÅh4¢Õjyþùç)_¾<€Ó9åääàéé‰V«Åj-þŽÑëõ¸»»®+ÏÛÛ›råÊa2™0™L4kÖŒ#GŽÐ»woªU«FÆ ¥{÷îÌ™3‡Å‹Ó A5j$ßÔvûÌ™3Y½z5‹…† âïï/î*A‘¸|ù²ÃvÙ²eÑëõX­V, _|ñgΜÁßßFÍܹsY³f V«•–-%·ûM›6åìÙ³ìܹ“œœ:vìÈóÏ?ÏìÙ³Y¶l;w¦^½z|þùç”+WŽ-Z0bÄ>üðCÌf3O>ù$eʸö+,~¬ûLTT”ÃvéÒ¥ñññ‘'ª 4ˆ™3g2}útìò/¼ð'NÄjµÒ©S'<<<ž_ à­·Þ"44”ÔÔT’““yë­·P*•T¨P€€ Äï¿ÿΞ={ ¢OŸ>¼òÊ+ÌŸ?_®{ 6dàÀLœ8‘ÜÜ\¾øâ ªW¯N×®]6l (¿›Édº­í¦¯¼D'¤2£g)ty$$$P«V-‡n6«ÕŠÕjuh)•Jl6›Ü¢²Z­òÛ‰R©Äb± ºÐf³Évû1”Âó· ˆ8p€ððp²³³9sæ U«VE­¾õže±X亦TJÞ’íi*• «Õ*ÿ·¿¡æ¯»öºlÏ[°7àŸê{þÏ‚ûËÑ£GiÖ¬&“‰‹/Œ§§§ü›æöØŸYö߯þL³ÿfö:`ÿ}ó?¿ìuÀž?ÿþöãÚ¿Ç^ÇìßY°îåÿ>û~öVvIy.FEE¡×ë)Uªçc²xcuæœtNl*Üä‡ü…ï¤lùnÖ‚7bþm…B!nTÁÃU]»]ýtU· î›_ôît¼Û}¿àáðOÏžü¿{Á߸à󫠽ණï¹Ý³±`~ñ¢^ˆ®<ÆÄÍ%xTqu»¹¹=¶^î¿øâ FMllì]->/W®*TÀb±¸D~\˜2e cÆŒ!**Šk×®:_ÅŠ]>§ôz½ˆxp¹ß“3n+LjµÚå[¢@𨠓Z­vš¤ð8pñâE–-[ÆèÑ£INNÆËˋʕ+ß1ßñãÇY½z5o½õ‹µZýXÎæ:þ>>hµZž~úi~ûí7"##iܸ1íÛ·'++‹¥K—’™™ÉSO=Å‘#GˆŠŠâ­·Þ¢{÷îrëþa¢R©p#»ïµbæÌ™„††rüøqš4i‚^¯'""‚J•*ñÜsÏ‘““ÃòåËÉÍÍ¥}ûö4iÒ„¿ÿþ›?þøƒÐÐP2228|ø°\>yyy¬Y³†þýû?¸‡“Z}Ûë·G)a*±±±Ì™3GÞÎÿ9""‚3f°råJÆ'ǼY½z5îîî´iÓFöðl¦èèhæÌ™CóæÍiÒ¤ ýõÆ ãÊ•+xyy¡P(=z´øuK0ëÖ­cÀ€4oÞœß~ûóçÏÓªU+¶oߎ‡‡øøøP»vmV¯^Mûöíñõõ¥wïÞ²“ÍG¥ÕäJ„îÔµzõj^yåš4iÂO?ýD:uhݺ57n$$$„-[¶P¶lYBCCY¾|9ÁÁÁ,X°€°°0ÔjµÜbÚ»w/µjÕ"..ŽS§N=2×/(Þü+mâo¾ùNçð÷Ã?мysòòò4hGŽaÇŽ¼öÚkäåå‘––ƾ}û0`Ÿþ9yyy8p€€€€Bu%deeѬY3ºvíJ^^)))”/_^¼M èÕ«•*U"22’Ö­[Ó¶m[*UªDTTG¥oß¾tìØ¥RIÙ²eqww§qãÆ=ôsÏÎÎ&##ã¶wŠ ªV«0`Ï>û,îîî<ÿüóòõ'''ó÷ßÓ¯_?:wîLnn.ÄÆÆÒµkW:v숧§'uêÔ¡T©Rüõ×_üöÛo¼ð ìú³²²îéú‹Jzzº<Ž—MbbâC‹XœÿûM&qqqÿèøT´˜ PµjUš7oîV©R%@òewo¤ÕjÑh4ògû‘ÙlfÿþýrßñÂ… iÚ´é§Úl6L&gÏžåÇ$×.;vOe¼ø²aÆlÛ¶«W¯rñâEºuëFÛ¶mùæ›oðóóC£Ñàïï——ßÿ=aaaT­Zõ¡÷ž={8þüë\\eË–½­ÝîªÇîÃ-¿_Ë'Ÿ|’yóæááᯯ/~~~T­Z• àååEFFz½žæÍ›³~ýz233XäÞíÛ·súôé;¾`^»vÆÿ«ß}îÜ9víÚEçÎù믿°ÙltëÖÍeh†ûMLL ëׯ',,Œøøx.\¸À AƒJÄÌÄE˜Ú¶mëròƒÅbá7Þ$oП}öF£‘óçÏ3fÌ&MšD¥J•˜5kË–-ãÛo¿ ~ýú|ûí·Ô®]û¿W§Ó1kÖ,¶oß΋/¾@™2e˜3gݺuOæÌk¯½&?˜Û·o‡‡7nÜ k×®4jÔˆZµj±yófrssyòÉ' áõ×_çâÅ‹ý­477— *Üq?ƒÁpÛž…üã¬}ûö•[aaaèõzÂÃÃÙºu+&“‰:ÌðáÃ9xð AAA¼õÖ[„„„péÒ¥Š!''ç¡-3iÔ¨©©©|ðÁ”/_žqãÆ=QÉ`‹-˜7o&“‰É“'—˜éò÷uŒÉb±0{ölyûÌ™3òçãÇ3|øpj×®ÍèÑ£éØ±# ?~œW_}•³gÏÞQ˜4 £G¦gÏžŒ?žœœž~úi"""„0•pºví*öôô¤C‡Nu{¼;ááᄇ‡?ôso×®•*UúÇ™«V«•Å‹sñâE—öîÝ»;\—ºuëÊŸ †ð®V­ÕªUs¸GÇÇOûŒ¿ÿþ[ž‰hhÿn¥RéT&v_…®lÿ”Ïn+ZãÌ™3œ8q‚ &`4Y¹r%¯¼ò ôéÓG~ŽŽ5Н¾ú 77·‡ZgM&Óm»_ïvšÿ}Ÿ•g¹®V«ÑjµNᦨ_¿>'Ndâĉ1kÖ,ºté‚Ñh¤cÇŽ,]º”¥K—¢V«yúé§ùã?¤“W« gÑ¢E,Z´FÃG}ÄøñãÅ“M øZ%ÍKw³fÍhÙ²%ï¼ó6› NÇܹså±9«ÕJrr2ƒÁ©‹Ïb±––†^¯w «ÕJJJ :ÎAäì$&&¢Õjñòò’Óì!ßüñGZµjŸqãäqS“ÉDtt4»víâã?~è¢Ò˜gLLŒÃ5Øqss»«.Qõ½VÜY³f9t¸¢M›6h4Ôjµ<ædÇ>àºk×.@ ‹Ü«W/¹EõÝwß±zõjYˆºvíÊêÕ«iÒ¤ :Ž… ²fÍ@êÚ1b„x¢‚"¿HüðÃ…öëö ˜4i’CoQBB .$88˜3fðÑG9¼ð? |||œz»òsõêÕ'L…Y/T¯^=ù³]tòS¿~}êׯï2oHHˆÓwäß.S¦ŒX³$¤Aóýû÷?vçýoÅÊÈÈàÀÝõgee=’5xð`ž|òI‡ôôôt¾þúkš5kæ4™À²eËhÔ¨­[·vèºÊÌÌdÁ‚Ô¨QƒÎ;;}ßgŸ}FåÊ•Æ=¾üòK§4OOO† BµjÕÇh4>ta²·o×w7ÞD„wqA±¡C‡e ¼ü7uQ1têÔé±uõðHF£¡E‹òl_;±±±¬ZµÊ¥íÒ¥Klß¾-Z0dÈy¼Èf³±cDz²²Ðh4´mÛ–ÐÐPoß}÷uêÔq:&Hΰ ¢×ë&ª7„0 Š {÷î}¬Ï?55µÈyµZ-GŽyl¯Ýî°öQ"ÿº/;J¥RN/hËŸnßÏÞ’;v,W®\áêÕ«T­Z•÷Þ{ÏaüîvÇ´Û Ò¦MÙ‰Aýúõ‹]ÀDá Q î#¹¹¹DGGË|íÚµ{ž†þÁššJjj*&L@¯×‹“+>ûì36lØàöý÷ß;,”fÌ–-[F`` ,L&“‰Y³f¡V«éÖ­ÙÙÙôèу'NÈM蜜fÍš%~éÈòåË9qâ:uÂf³±iÓ¦#Lf³™3fÂСCÉÍÍeÊ”)„……¹&»p n•ßßÿÍo¿ýæžššJRRÇw²ÅÆÆ/çËïz(==„„Μ9ã” 99™ .¸´%&& aº[<==<''' €ŸŸŸƒ» ³ÙÌСC?~ yx^¶laaa´oßžÞ½{“——Ç… XµjÓ§O/ô%//øøx9ï!Cœ<( J999øøøÈë@ò;È, ”.]þüóO"""8p ›7oàÆ¼ýöÛDGGóóÏ?Ó«W/ŒF#[·n%00õë׳|ùrÖ¬Y#/Þu啠ؾ±«Õ4nܘ޽{;¤ÇÅÅñÃ?ШQ#'Û¥K—ذa7¦W¯^-¦¤¤$~þùgêÖ­ë”/''‡Ï?ÿœÐÐPºuëæ´&iþüù|y}üñÇwŒª ÒlBooïû/LW¯^eÕªU®†Â˜9s&‹…qãÆúX†™3g²sçN H.‡fÏží²û¡ ï¼ó‡’ójµZ’’’9r¤xJ—@j׮͚5kèÞ½;‹…ýû÷—¨ ’† ðñÇÓ´iS‡Y³Ÿþ9ÁÁÁØl6äu56›Mæ©V«å·õ ¸\è)¸7ŒF#ß~û-—.]Âh4²eË:tèðÀ½¹ß+ï½÷^¡ëGHHÈÝÝÓô… ËöíÛÒë×¯ÏØ±cZM…}K;v,sæÌa÷îÝlÞ¼™7nÈ^ïÄàÁƒùïÿËîݻٽ{7¥J•’'YJ#GŽdß¾}ôìÙ“Aƒ•ȾúZµj1yòd^zé%‡ô   vìØABB‚ÃŽÖ­[sõêUºwïÎèÒ¥ €¥ûÄÕ«WY¶l©©©œ>}šuëÖ=r0J‹õ^27lØŠ+²`ÁÊ•+ÇóÏ?ï`wÕ¶ÿ~^zé%yŒÉÞ¿=pà@rssñóó£ÿþŒ7ŽÜÜ\ÜÜÜ(Uª”œ?;;›Ó§OÎa4h€§§'ß|óüÆX¾|yQûK(uëÖ嫯¾Âb± P(ŠÛ–Â`0°eË´Z-uêÔÀßߟæÍ›ðÑGÉñl6{öì¡T©RÔ¨QƒY³fa±XP©Th4–,YR¢ÊîA¢ÓépwwG¡P R©ððð(q]Îÿz‹I¥R±yófúõëÇÂ… ©]»¶Ã_¹råœòøûûsòäIj×®MÆ ñòò¢E‹¨T*”J%mÚ´aÑ¢EÔ®]›fÍš1iÒ$&Nœ@§N8|ø°|üŠ+:»mÛ¶DDDÈö'žx‚Å‹‹Ú_BQ(hµZ z½þ±ëù7z7»R) ŒZ­Æ`0 ÓéÐëõìÚµ‹‘#G:”™V«•·E‹éþʸqã ¢yóæ 4H8!à_cª\¹2K—.eóæÍœ:uÊÁ6`À~üñG9,óÛo¿V«¥ZµjrôÅyPU«Õ²hÑ"~ùå¹Å“|èóÏ?w;ûñ5jÀ”)S •íC‡5_ (“'O…ðxî¹ç¨X±"O<ñÄmÃÿa*"íÛ·§}ûöN鯿þºüù…^?ÛŪ !!!yò£Ñhœlù·]ÙàQÇÞc$ø—…I Š 6›ììl§P$iii˜Íf—¶ôôtL&ÙÙÙ¤¤¤8ŒÙóåææº oòO6“É$„I J:f³™#GŽàîîî$>‰‰‰=zÔÉiubb"±±±9rƒÁàÁ666–ãÇËCóž;wÎ¥->>^“@ ”tT*•*U¢E‹éIIIüøãT¬XÑÉÅï¿ÿN¥J•hÞ¼¹Ãd›ÔÔTV¯^Mhh¨S><è„„„¸´fAª&@ (æ(•JÊ”)CݺuÒãââpwwwiswwÇÓÓS¶ôüàááApp°S>{ÞÀÀ@—6’Wþ¢ @“@ B˜éÓ§‹Ba4iiiLŸ>.]ºÐ«W/'Ÿ‹ß~û-qqq¬X±‚Ë—/«kÏËËcРADFFR´é™3g2gΞzê)QA,bòƒ Ø2uêTÔj5sçÎÅb±°qãFÚ´iCvv6111:tHv‘D… Šë«Õʆ hÚ´)*T %%…ï¿ÿ^$???²³³IHH¤µ2¥K—F§Ó‘˜˜Hzz:ÉÓ•-‹K7c& ìÙ³‡U«VáïïÀk¯½À•+W˜;w.;vìàÂ… F._¾Lxxx±ò ççç‡ÙlæìÙ³lݺ•N:ÉA7{õêÅôéÓy÷Ýwiܸ1ׯ_'<<œ°°0,X@JJ nnn 6Œ9sæàççG™2e˜4i’¨X!LÁ½´\9n={ö,J¥ƒÁ€¯¯/¹¹¹ôíÛ·Ø9* ¤T©RüïÿãôéÓ 4ˆ7:ìS¾|yÞ{ï=RRR5jjµšŠ+òÙgŸ±jÕ*þüóOž}öÙËÊb±péÒ%§¨¬ÉÉɤ§§sùòe'[tt4©©©\ºt‰ýû÷;,°MKK#--k×®¹Œôš‘‘Att´K[I ƒ!„IPliܸ1 .dذa˜Íf6lØÀСC©W¯;vìàå—_&!!êÖ­[ì„É…õ§Ÿ~¢cÇŽ §}‚‚‚@¯×“——‡F£!##ƒ¼¼<Ñëõ€ä¬¹$y·Z­Ü¸qƒ'N8¤§§§“íÒ–˜˜HFF†l+èù!##ƒØØX§|YYY$$$¸´eff aŠ 'Nä믿¦G ÆŽ @•*UðññaÀ€DDDJ¥J•ŠÕµ+•JBCC©V­?ÿü3†cÇŽ$·”ÜÜÜäm¥RI¹råxöÙg™;w.=zô iÓ¦¼ùæ›Ì˜1­V[¢êŽF£¡eË–¼øâ‹éQQQ¬^½šF9Ù.\¸ÀÖ­[iܸ1C† qð•—””ÄüA“&Mœò,Y²„ºu뺴­X±B“@P\ âÃ?tiûè£èÚµk±¼vNÇòåËä–R“&MhÒ¤ €ÙÙ¾íææÆÒ¥KøøãŽ5mÚ´Yìó·j¶nÝÊõë×ùóÏ?éÒ¥ ÕªU¤Y»víâܹs¨T*:vìHÍš5„N¡P8ÄÄ*ø"ñO¶’†˜..…àÂ… ÌŸ?Ÿ7n°sçN-Z$ÛRRR˜6m7nÜ`óæÍ"@©&@ ¸ÿäåå‘••H“#ò‡¨(¸””$ ìASvv6ß~û-çÎÃjµ:Ù­V+§OŸæ»ï¾“§¤ Aq¡fÍš 0oooj֬Ɉ#d›ŸŸo¼ñžžžT­Z•Ñ£G‹{ÂÉœ9sxñÅ9tè‹ÅámáÀ :”yóæqáÂQ² XáééÉË/¿L:uxå•W¢p úôéCóæÍyã7¨S§Ž(°!L5kÖäí·ßæÒ¥KLš4‰C‡aµZ±Z­ìß¿Ÿ·ß~›¨¨(Þzë-jÔ¨!JV ¿¦R‰B¡p¹>ΞnßGPt =+O«ÕÒ»wo233ùàƒ˜0aóçÏÇd21aÂ._¾ÌgŸ}F=¦I @p_„ ¤)C† Á`0ðÞ{ïѾ}{l6z½ž3fQzÈÌÌ$::ZÞöðð $$DŒ@p˜L&öîÝë´~+==¸¸8öíÛ'/>¶“@TT{÷îE­V;-°ŽŽæÈ‘#.gìÅÅÅqòäI—¶˜˜!LwB§ÓÑ«W/öîÝËÂ… Q(¼úê«tëÖ­Ä-Â{ÔX»v-{öìqXwÒ¤IÞ|óMžzê)J—.- I (J¥???BCCÒSRRÐét.mƒÁ Ûò Szz:z½§|ö窗——K[AÂä«ÕÊÑ£G9vì˜\`Gåï¿ÿæ‰'ž(‘‹Á¾ûî;ÆŒCvv¶CúáÇ0`={ödÉ’%%2L³@p·¨T*jÔ¨A»víœZ6>>>T¯^ÝÉvéÒ%–/_N5hÛ¶­ShõùóçS¹re§|€,X®l¾¾¾%ïÅàn3œ8q‚·Þz‹+W®0mÚ4>ÿüs"##™0agÏž5ú!°xñbÞ~ûm²³³iÕªÛ¶mcÛ¶müüóÏò>«W¯fÈ!¢°€Y³fqúôéuÍ#FŒàĉÌ;WTAñi1Y­VÎ;Gß¾}1LŸ>ž={b³Ùðôôä?ÿù}úôaÍš5T©RE´œYYY9r„¤¤$Ê”)ÃæÍ›e4V«•uëÖñâ‹/’œœÌáÇKTÙ”-[–¼¼¼hذ!o¿ý6œ?ž¦M›–¨²8|ø0µjÕ¢jժ⦟Óõë×>|8f³™?þ˜^½z¡ÕjÑétôë×?ü¬¬,^{í5¢¢¢DÉ> ¶nÝ*¿?óÌ3¤•J%Ï?ÿ¼‡(;;›ˆˆˆS6ÁÁÁ8p€+Vàïïï0öÉš5k8xð ¹¹¹ÅîÚm6W®\aݺuìÞ½›¼¼<’““9sæ û÷ïçðáìY³†½{÷rîÜ9þ÷¿ÿñ矒œœ,n*ÁãÓbR(Ô­[—‘#GÒ½{wgƒZ­–þýû£V«9pà€h-=$>ýôS—éÏ<ó +W®äܹsLŸ>°°°S& …‚ÀÀ@†N÷îÝåôýû÷ÌæÍ›4h-[¶,V×m6›™9s&jµš€€2228{ö,kÖ¬!11‘|||X¿~=I\\ƒ 7“àñ¦ÐÐPþóŸÿàçççrJ¸V«¥OŸ>tèÐÀÀ@Q²aaaT¬X‘sçΕØ2ÈËËs˜5Ú®];:uêļyó8}út±&‹Å±cÇXµj‹…üÑÁÞ©S'Z¶lÉÔ©Sñòòâ•W^aË–-ìܹSÜ0‚ÇG˜9v À¨Q£d7ù‚ûˤI“˜8qb‘ó'%%9ÍÖ+ FΟ?ORRK–,¡oß¾²íÀ”.]š«W¯Ò¶mÛbwíJ¥’€€vî܉B¡Ú)UªZ­777üüüÐétxxx8¸+ÉhµZ—Þ@š~;Ï·³Ùy»užæm·;¦¦äææ’žž.jðzÛ¿fΜɮ]»J\¹Õ¯_Ÿ?üoooZµjÅ€)²mvv6ß}÷M›6å©§ž*v×®Ñh;v,?þø#UªT¡S§NÒ°aC222ðòò zõêòç   ÿo%™—^z‰zõê9¥»»»Ó·o_êׯïdóöö¦GÔªUËÉ%‘Á` G· HÙ¯_?—k˜z÷îMÙ²e…0 jÕªÅÓO?Í–-[øê«¯œÆ™N:ÅÖ­[KdÙÜ®Eï*JhqC¡PкukZ·ní^ÐeçÎåÏ5kÖtnW’?~¼Ët†îÒæççÇСC]ÚÜÜÜþ±ÞÝî˜Ã† +qå/„é1Àf³ÝÖV¥JZ¶lÉ–-[˜>}:p°'$$pâÄ Qˆ d “··w‘&<Øl6.^¼(o‡††É­Qjj*‰‰‰r“¹L™2EºŽ«W¯b2™iªqQ¼$dgg˾êT*+V,Ò¹ÄÄÄÈãwòTËÑ£GåôÕ«WóôÓOáT.999üõ×_lÛ¶fÍš9šÙlfáÂ…|ùå—%nÊ©@p·„„ÀСðO=bˆ9“ .^”þrrŠßïðÀ‹<--3f°nÝ:¬Vk–‚sM˜0^x¡ÐA;&Žç—_~)Ò¹effÊŸ÷íÛW$qÌ.yyywu.)))¼ÿþû$$$8¤›ÍfΞ=˨Q£X¿~=åÊ•“míÚµcþüù¼þúëDFFÒ¥K&L˜H kícNmÚ´)ô˜•@PR‰Ž†•+aÔ(©oß> {ôZM+VÀ† ܼ·aøðGS@aº|ù2«V­r%;6›7²qãÆ"ÿôéÓ+ü‹ÊŒ3îùéééÿʹ؉ŒŒdíÚµŒ3Æ!½OŸ>|ÿý÷ÄÄÄpøða§ï|æ™g˜7ož¼R Üîž…V­ÀÃÊ”ØX¸v ì±ú¬VHKÜÜóZ,‘!ÙôzÈ?™Öj•Ž­Ñ€»»ó÷&'K6OO×çåé ùoßY³À, <¾}^!L… ''‡¸¸8qÜÜ\Ž9âÒöé§Ÿ2hÐ ú÷ï/§²bÅ *W®L… D w Z5¨^Ú¶•H­–Æ.26äæJé[QV+ RÝÊwë…òò$›«ÖWNŽd»Ýj™!C À„ÛbÍ&›ÍV"Çþ-Ìf³ËôúõëS·n]yª:HþÒJr+éÒ¥K€´žÌÃÃ??¿;® ”lì.éΓ„¤`ëÆb‘Z7ƒÔªr¼7!5U²¹¹9·˜’“¥Ö”«–M|¼dóöv¶%$@ÁHBßMšHŸÏŸÂtÏèõzœÆQwF§Óý£/3¥R‰(¨›´hÑ‚ððp4 Œ;ÖÉ%@à ƒFŽ„›îe΃qãàÉ'¥ÿù#ü\¿|:@Ÿ>·D %Þxš7‡#œ¿¯OiŠzù`dgË/JÝ€fó­q¤Úµ»ò„0Ý#¡¡¡téÒ…%K–¸gR(´lÙ’gŸ}¶ÐqvïÞ͆›#•*Uâ•W^)Ò¹M:•¤¤$@Z4\·nÝ»>ÆùóçY´h y]xÿý÷ 7##ƒ¯¿þú¶Ó¾+T¨ ¦{ßåÊ•cÅŠ¤§§³nÝ:fÏž]¢B‹_¹r…ùóçc0èܹ3œWoÜ€õë¥ÖËæÍP¿¾$&v’“¥®¼Œ HLt­´4É–•%µ€ b2IÝyùm&DDHß—•üÏ='Ùfφѣ‹où?paò÷÷gìØ±DFFºœþ\£F ¦L™BË–- Ýí¢Ñhda åí·ß.Ò¹}ûí·²0uíڵȞìÂäæævWç’““ƒ——S¦LqŠ$Zºti>ùäªT©"ç.P(x{{Ó³gO,XP¢®ÝÇLJ§Ÿ~š˜˜¾úê+†ζmÛèÒ¥ &“‰ü‘²e˲{÷nž|òI¶oߎ^¯ÂtΜŸ–„'3Þy‚ƒoÙFi²Ä•+ÒZ¨ü/‹E¶Ë—Á•cš+W$Ê·J‹ââ$Q‹‡”ZGîîÒÄŒöí¥ý ržˆ!„©Šºuë²nÝ:¦L™Â”)Sd[ÿþýùꫯð÷÷/‘cƒ±cÇÒ¢E FÅñãÇxî¹çøì³Ï¨Y³¦#)f³™ .PªT©uÍŸ~ú){÷î%%%…ØØXFŒÅbÁl6“‘‘H³dkÕªE—.]°Ùlìß¿_T˜Ûr‚B!}ÎïÀl–&9˜Í’HåÇj•þÌfÇ|8—/_&;;›þýû;ÌX,îh4ÆÅbÁÃÃ7ß|“J•*ѯ_?²³³©W¯Ç§U«VtîÜYî:“gn4m»zuè×ÏQ”îW ­Kiœ+<\òÙWRN\Å–Û{+ (•J:vìè$Æ:u¢S§Ni'Nœ`Ë–-•(ñ.Z¹JÝjÊ„} U ‹¬.„I (éŒ=šáÇ£Ñhp+n£èEľöæPœLf¦ÔÅæÊ–•%!åæJÓ»ó»Êȸ5†T0Ü—º­¤!„I (ḻ»ãîÊON Æl†C‡œÃ]¤§KSºv^|›˜(…Ê8tH Ê?]<3S²ýý·äç® ‰‰Ò¬?W¶’è(G“@ @¥‚  iSÇô¤$Éãƒ+ÛÒd… à‰'»ßRSaÕ*(WÎ9H3ëJ—vm+‰Î[„0 A”JID :Z‰‹“„©lYg›——ôgÏWpVž]|\9oqw—fÞ¹²'ç¬B˜‚„ÙbeÜ×<¶çoÐiß³±ø!ÿž0]¼x‘U«VÝu>“Éä°½yófΜ9s×DZ¯÷HHH(Ò¹€c<¦ýû÷i1kÁxLE=—˜˜Q;wEV®é±=wá×Yð¯ Ó¦M›Ø´iÓ=ç7Þ¸çcœ:uªH®„ 2}úô{>Fzzú¿r.@ „é.éÒ¥ £‹àQÐh4òœÝ+!’¯ºòåËßõqV¯^Í7ß|@½zõäPâwË!Cä–Ê{ï½G›6mîú‡æwÞÀÛÛ›•+Wé\>øàáF a**åÊ•£½Ý£à]››ë°Ý¢E j×®}×Ç9qâ„üÙÏϯHç8¬á¨W¯^‘Ž“ßcºV«-ò¹Ìž=[ÔN@ „I (N¬]»›Í†N§£lÙ²Ô­[×!”ÊÉ“'©T©ׯ_§téÒ"ô¼@ „I ¸¿¼þúëŒ1³Ù̯¿þÊ!C “íË—/gРAüñÇtéÒE“@Æb‘BQ<蘞œ,ygpe‹Ž–BT\¹"-²-)=] mQ0HÇŒ‰qm»éoW“@P dâĉ俿Á‚  ãï¿ÿfÚ´iDDD°cÇRSSY·nÛ¶mCULœ’) žjXêåШUü´ímêU`ÕÎSôk[— ûÏódýò”/åƒÕfcÞºC¢ÒÜÄj•"Òæ›d+‹DV–$0m‰‰’Ýž¯ ç‡ôtI¼ æé˜ññ®m®Ü ac ƒ°°0>üðC‚ƒƒ>|8999<ù䓤§§Ó£Gb#JJ¥‚FUCˆ8q•«qidd©|Ësx¥Ò¾øy(äÍž“׈NÊ•%ÿƒQ-…A<Ø1=>Ö®…fÍœm/ÂÖ­’ð^pô•— E¿­WO² νd‰.½à1Áµ›"!LÁcŒÍf#''‡;vP½zuÖ¯_Ïœ9sðööféÒ¥èõzÊ”)CõêÕ‹M F‹ÕÆæÃ©[1ˆz•‚ù5BZhЪÑhÔ¨T âS2ù+2††UJÓ Ji–üñ—¨0ò äA\¯wL·ûÀ+h3aÿ~ˆŒ„?ÿ„gŸ…jÕnÙ#"àüy)ÏÅ‹P§Žc„[¥R²‚ßg· aŠ qqq¼÷Þ{Øl6’““yå•Wxùå—¹téƒæðáÔ/_žÖ­[«kW* birŒf z 6 1-›ç[Õ -+F›NK°Ÿ9F|=ô¢ÂÜÉÉR¿ë×¥¿E‹àóÏ%[Füç?R7^LŒ$Jÿýï­ !L‚Ä¢E‹°ÙlhµZ‚ƒƒ©–ïvàÀTªT //¯bêÁjƒóQIØlž•GJFöŸÇÏË@f¶‘‹ÑÉäMœJÂjµ‘’‘#*̽´P-’8ÙIHpm³Ù$¿yÂÓ…&A åŸÖÙ×Ë…„„Ëk·Ùlœ¾’à–šEBj–CZÁ}EÃÏO «>uªäŒõÕWoÙ¼½áÍ7¥VRùò0t¨h- a‚ûŒÁ Mjسºwwô®PÀ+¯À¶mðôÓP‡2%¥(@ ¸wì!Ðíá×]ÙB˜@ð"ºò‚b‚Ÿ—á±=wƒöÑz™LÒôoW¡ÕããáÀçÐê RÛýû]‡Vކ£Gᇜ¿/>Nrm‹Â$ÇY¥äÓ—Ÿ~lÏßf³‘––öÈœR)E£-]Ú1]¯—Ö0¹²$HÞÞìØu—–&ÙìQl ¢ÕJBw;›&@ (á¨TP«œØ¾¾P³¦³íÒ%ÉKƒÝV0´ú·ßBÕªÎù23„ Œ IDAT¥}ýý¥‰gìùù•¼òcL@ðÈÍ…O?•¼Aüñ¬Yf³(!L@ð¸|Y¤¬,¸v 6o†ÔTQ.B˜%Š«W¯réÒ%Q‚G__([VÓ2 4Ôµ¿¼’†c[>üðCÌùúE&OžÌ¶mÛÈÎÎfäÈ‘ÅþúSSSÙ¸q#‘‘‘|ðÁ¢RFZZÚ¿r.‚¢ÊÚµkÒÝÜÜÐjµxyy9ŒA' õë×祗^Âd21räH!LwŧOKAÿò“ž.Íš;sÆÙ–˜(ý>-Í®+èù!1ñV Á‚¤¦J¢äÊ–?œ†¦»à¹çžãµ×^»ë|F£‘nݺÉÛóæÍ£|ùòw}œµk×òí·ßP·n]¦L™R¤ë6l111Lš4©HÁãŽ9Âûï¿€··7+ŠyòäÉ8p@ùä²²²ÊApgT*i2B§NŽé ðË/®m×®IÂR»6tìèÜbZ·ªWwÎÒâÛŠ]Û¾ÿ^S‘ßL;¹*Ñ;››ë°Ýºuk9NÎÝpæÌù³¿¿‘ÎÅþ&m§aÆE:Ž2ßk’V«-ò¹Ì›7O<î‘S§Nxبèß¿?Ý»wÇb± T*ñòò*–×®T*éÑ£íÛ·Çf³‰Éw]~’Ç…råÓµZÉ3ƒ¯¯³Íd’¦|Ûóå&77i¸··s>ŽéååÚV§‹É‚bKPP‹›\¾„ÜéZ­Qß‹(@ aú‰wè²ILLäĉØl¶BÃjµrèÐ!‡Yy‡&==]Ô@ ÂTxNœ8Á3Ï<ÃòåËå´3gÎн{w–,YB^^Þ‘™™ÉÌ™3éÙ³'ñññrúìÙ³éÖ­—/_µD „0Ý™˜˜FŒÁ±cÇÈb±pñâEÞ~ûmöíÛwÇ–Ò† øïÿËõë×±Z­²-''‡;w2~üxEM!Lÿ̆ œf]å'!!Å‹ÿã1òòòøþûïIII¹­p8p€]»v‰š"” ‚‚¤™tNL%8G¯P«¥y·Ëçï{?xÒ¬“B!$0ÝL …‚aƱeËæÍ›Ç† œëƒ>`À€uƾ»”àà`Þ|óMî¼óN¦OŸNqq1'Nä•W^!""Â¥&˜kNÎ;ÇÖ­[ë\ˆ¸ FÃ'Ÿ|\èÛ·wï^)¢ÉhÒlU*]ºtaÀ€Îu­Zµbذa JµÎËˋѣGãëëë\?bÄ¢¢¢ê Ê*š£ÑÈÞ½{ÿ®f4¦N¡P‚¯¯/ûöíãþûï—!¤Æ$Äí˜.ž¸ñÞ{ïu¹<8zô(Z­––-[J˜„øµóꫯºìùWWW³wï^"##ñ¹T!$0 që”——“à\þùçŸÑh4.sþÙÙÙ”””ðÀÈ-é«´zõjÜÜÜêµØµÙlàééY/ÍjµRTT„‡‡G½4»ÝNAAnnn ^$äææ¢Óéð÷÷oðýDDD¸T· L¢Ù:{ö¬KŸLL óæÍ“‚p fÍšE~~þmó~^zé%,X I!\•F£¡ÿþtìØ±Îz£ÑÈwß}Gtt4:uª“VYYÉ®]»ˆˆˆ C‡uZóšL&¶oßNhh(ݺu«÷÷6lØ@‹-èÓ§O½´M›6¹\þK`Bˆÿ¡Õj5j“&Mª³¾  €³gÏ2räH¦L™R'-==‚‚î»ï>&L˜P§{BII ™™™ôïߟY³fÕû{GŽ¡W¯^¼ñÆõÒ\q¬N LBñ? EƒÏƒjjjP«Õ ¦yyy¡Ñhœi&«ÕŠZ­F¯×7øŒI­V£Óé.™&餧§_SuóPݹsç5MÌ—œœì|]\\|ÍUß‹G~8pànnnW}ŒƒÖ9¿k}/·Óým!„hrióæÍlÞ¼ùºóÌ3Ï\÷1Ž;vC:þéOâOúÓu£¼¼\:6 !į˜FŒÁ“O>yÕûY,Fí\þðÃiݺõUgýúõ,_¾€¸¸8Þ|óÍk:iÓ¦‘——À /¼@¿~ý®©ÆôÚk¯àããêU«®é½ÌŸ?_†‘BH`ºV×T3¨©©©³— LEEETTT8ÚÅßùªªª+¦¼¼¼Ó***$0‰k“••Å3Ï<ÃöíÛë¨1cÆð»ßýާžzê’3力£]»vx{{°|ùrºté"™r111„‡‡ó‡?ü­[·âp8p8,Z´ˆ»ï¾ÛeòÁd2¡R©èÖ­‰‰‰uFp(((àÿø½zõbܸquöKOO'))‰Þ½{“˜˜X¯ƒíæÍ›éÞ½{½ýþþ÷¿Ó©S§zi6›/¾ø«ÕŠÃáp™¹á$0Ý%%%¼ôÒKlÞ¼«Õê\ïp8ÈÌÌdáÂ…´hÑ‚qãÆ¹dg¹_‹··7û÷ïwÉs·ÙlìܹJJJˆŽŽ¦²²’¼¼gÙ={ö,>ø`À¶}ûvÆŒãRµüââbç0‡ƒ“'OròäÉï’;vì’DGm0­°°°ÁãÕ355µÁ4«ÕJII v»]jL¢q, 6›íŠW°®4µ÷íÀËË‹xÀeÏ_¯×€J¥",,ì—^­Æd2±bÅ f̘ÍfcîܹõîX,–kêWØ” >œM›6±nÝ:Zµjżyóê<_+,,dÚ´iŒ9’ &ÔÙ7##ƒ¹sç2lØ0ÆŽ[ïÓ³Ï>Kß¾}áæ¡‡">>žW^y¥N0Z½z5‹/ÆÃà &\Ó0i˜\TDDAAAäää\r›¸¸8t:dÖ-tÇw¸ì¹«T*~ó›ß4˜]»vÅÏÏQ£F±f͸ãŽ;0™LΖd‡æ‰'ž¨óãê ‚‚‚X³f ÑÑÑüþ÷¿¯7ºxí`«¾¾¾Î@_Ëd2¡×ëiç^¯G§Óáíí]o?N‡——W½´^xmÛ¶‘P§F+I\QïÞ½IHHàŸÿügƒ5'ÆŒ#­òn±wß}×eÏ]«Õ²xñâóâ¹çž`ÆŒ̘1ÃY£Ÿ9s¦óÖçÌ™3]6ï”J%J¥ò¶¸T(( —k4%é ãÅ_äüùó9r¤Nš»»;‰‰‰<òÈ#Rc·u ëá‡&..N2CH`j ½{÷fýúõ¼ùæ›|òÉ'xzzò׿þ•#F48ÏŠ·S`2dˆdÄX­VöîÝ‹§§gõååå°wï^g¹Zäää°wï^ÜÝÝëu°ÍÍÍåðáÃ|ñÅõþ^m£ˆ†Ò®Ô°J“¸lõ?""‚‡~ؘÜÜÜHLL”Ì¢ òðð  Þ÷\£Ñ4˜f6›iþþþuž1i44 îîîõöœ“6”¦Ñh$0 !„«S«ÕÄÆÆ2lذ:ëóóóùè£LKKK㫯¾r¦]˜Š‹‹ùôÓOi×®]½ýàÂ47‘‘‘ ¦½õÖ[˜„hª–m:€µ‰öóP¢àÑÑò! !I4'GSó°Øšh`RH`â¿jB!„&!„B“Bˆ&@ž1‰fËËM ÿṺƌÍ~a¬BJ‰°;¨UJÌ[³<£ÑˆÁ`@©Tâíí-S®× LlÙ²åª÷³X,u–wíÚEFFÆUçÔ©SÎ×%%%×ô^à°õµ>\¯s]c\<¥Ùl¾æ÷RPP ¥ó:½:qçóËø:éy%Uôh×’J£ƒÑBL+¾?ÖìÎÝjµ2þ|Ž=Š——‰‰‰Üwß}R(Én·SRRBfffõ………˜L&JKKë¥åææb4iÿ;SMM åååõöƒ ãìUVV6˜VSS#éZlÚ´‰M›6]÷qž|òÉë>ÆÑ£G1bÄugÁ‚×}Œòòòò^ĵ)®0òÁ?þ;gŽV­¢SD]Û¶Äd±¢T*P«”´iáë `Í)0%%%±téR, ‹-jRéüùó˜ÍæK¦_i4ÿëe³Ù8qâD½ ËŠŠ JKKL+**¢¨¨ˆãdzuëÖz#?qúôé/VKKKIKKk0­¡‰%05ÂðáÃùío{M5¦G}Ô¹üÞ{ï~ÕÇÙ¸q#+V¬ sçÎÎÉá®ÖÓO?íþã¹çž£oß¾W}ŒC‡ñÆoàããÃßÿþ÷kz/ .dß¾}]®C€·O>Ѐuÿ>IqE5Õ&LV+åt‰jÁîã™jÌÍï‹­VÓ§O^}õU¢¢¢.9?ÐíèOú'Nœ¸bð)//¯óûq#©T*:vìXoJùÂÂBÖ®]Û`ZFFÛ¶m£S§N :´^iýúõÄÄÄ48Mýßþö7"""L«ým“Àt•"##9räUï÷¿UÔ!C†\Óü/çÎs¾ ¼¦÷0gÎçë^½z]ÓqÜÝÝÿ{…®Õ^ó{¹Ö€&.ú᪪ᫎ_¸Ò­6áï寏»ºà®ÓÑÂ7-±‘Á¤7³ÚRm`zõÕW)//'99™C‡5™÷>hÐ î¿ÿþFmÛ®];ŠŠŠnø{P*•Ö™VÝf³qþüyªªª8þ¼N U­Vóú믓ššÊÀyøá‡]nÊú«%#?!Dc~,•J|}}Ñëõøûûשõ( ¼¼¼œs1ýoÈÛÛOOO¼¼¼Ðëõ’™˜„B4%r+O!þ‡Íf#99™ï¾û®ÎúÒÒRJKK9yòd½´ÜÜ\ŠŠŠœiß®«¨¨ ¸¸˜”””zûÁ…†ééé ¦•””H`¢©z}ò`p4á°›äC¼]> »ŠŠ g+¼ZåååX,–Ój‡+*//'//¯ÞÈ&“©ÁýàB«>ƒÁÐ`šÉäzåB“h6ü½švGIJ2 L· FCŸ>}˜0aBõùùù|õÕWôîÝ»^ZZZßÿ=}úôaüøñõ¦Vß°a=zô¨·\ù!66¶Á´•+Wº\þË3&!„˜„B LBü‡Á`Àjµºt8ÊËË묳X, ) B“7‹ÙlæøñãìØ±ƒÿûßÎ9®^xáöïßïÒyS]]ÍÈŸÿügΞ=Ë–-[?~¼sŽŸmÛ¶‘––ÆSO=Euu5‰‰‰¬_¿žÉ“'säÈ*++]®ìÄÇÇRo½F£!..®Á4½^O§NLS«ÕÄÆÆÒªU«ÿ^\\\ƒs1Á…ÉO]íÂ@jL¢ÙjÙ²%GŽaÖ¬Y̘1ƒ;î¸Ã™Ö³gOâââhÓ¦M³œºÚb±ðüóÏ“™™IEEgΜÁ`0 ×ëIHH 44”Ï?ÿœ¢¢"¢¢¢ˆ‹‹#%%…0`Àú÷ïOJJ ï¾û.þþþ.WvÖ®]Ûàz>úè£ÓBCCyçwLóññáÏþó%ÿÞÇ|É´÷Þ{Ïåò_“h¶Y¹r%Û¶mC¥RÕ L;vìàøñãäçç3~üøfwîv»œœºwïNxx8K–,!$$µZÍ¢E‹œ‰ÆÅűzõjÞzë-²³³ñôôdãÆœ8q‚¢¢"Z¶lI—.]¤0 LBÜ÷Þ{/­Zµ"//­VËO<À”)S°Z­äææFlll³;w­VËo¼AVV!!!¼ÿþû„‡‡óä“O’ššJË–-¹óÎ;éÙ³'z½ž¼¼<† †^¯§¦¦‹ÅB¯^½èܹ3ÁÁÁR˜DÓL‹-âå—_. é~-t:]Y/uÿõJ¦L™ÂÈ‘#®kHù¤¤$, À5 à<§ë™seÙ²eÎ{þ~~~RR¯^¯§wïÞõÖ×>øoÎ ñññÄÇÇ×Yß©S':uêTg]Ïž=ëíß«W/)@¢é¦ÀÀ@¯ûËyÝ'áããsCZU]k`¼˜››Û 9§-ZHéB¸$i•'„B“B!I!„&!„B“B LB!„&!„˜„Bˆ›M†$Í–Á``çΜ={NÇ!Cˆ‰‰‘Œùòòr~øáÒÒÒP(Ìš5K2EHIˆ›é›o¾aëÖ­øùùáææÆ¦M›$SþÃf³ñù石mÛ6‚‚‚d¾%!5&!n…¯¿þšwÞy‡°°0jjj0 .sî555ÜsÏ=ôèуÇó裒››ËÎ;üðCÌ_|ÁÑ£GÉÍÍ%--µk×2vìX/^,FH`âf‹ŠŠbÇŽL:•uëÖ¡V»Ö ‚€€ºvíJtt4z½ž†››‡ƒ.]ºðôÓOóæ›o²yóf)0â¶!·òD³õÛßþ–U«V±jÕ*ÜÝÝyä‘G\. Eƒ¯5sÊuƒÁÀСC¥À LBÜlýúõ£}ûöTWW£T*¯{š–¦D¯×³fÍçòúõë¯ß~ûmüüühÛ¶-wÞy'v»€€)0B“7›J¥rÙy­ aaaÎå‹ç»8OZ·n-EÜvä“B LB!„&!„˜„Bˆ«%„¸ eggc4/™îp8$“„&!Ä­±téRŽ?ŽÙl¾ìv••• 4H2LH`BÜ\ñññÜyçÚVFK˜„7¿¿£û_ùúúJ† × LV«›Í&9$nKv»]2AW Lf³ùŠ÷¸…¸Syy9«W¯fÿþý¸»»3aœék֬ᮻîâ矦{÷îuFGhîL&'N¬SKûË_þ"KÜÞIˆ¦néÒ¥”––òä“Ob±Xعs' Øl6ŒF#ûöí#<<œääd"""š]`ªªªB¥RaµZÑétØív, ­VËÿøGRRRØ»w¯áZ©ªªŠ””ªªªðòò¢k×®’óâ¦û׿þÅ×_MII YYY 0€cÇŽ±`Á~úé'¾ÿþ{¬V+[¶laûöí¨TªfqîF£‘¸¸8î¿ÿ~’““éÑ£ …‚ƒÒ¶m[æÏŸOLL &“‰uëÖ¹äÈëÂÅÓÏ?ÿ̆ ðõõ¥M›6˜Ä-a±XÐëõœ8q‚]»v±}ûv:Dqq1]»v%++‹ØØXŒF#S¦LA©l^ýͽ½½™1cnnn >œU«V1gΞ~úiŠ‹‹ 䨱ch4Z¶l)F¸V`ÊÈÈ wïÞŒ7®Ù}ùÅí«S§N|ûí·Œ=šþýû“””\hÉvæÌ†JII !!!Ͳu›··7ÑÑÑhµZºté‚B¡pÞÖ«®®fÏž=DEEáíí-F4ÍÀtúôi^ýuòòòxî¹çˆŒŒäõ×_§ººšG}”|G}”nݺqäÈFM¯^½X²d *•Š^½z±xñb.\ÈÒ¥KÙ»w/ñññxyyñÜsÏɧ!n¨Y³f±dÉþö·¿áííͬY³€ ý„™>}:?þø#‘‘‘tïÞ½Y»B¡ÀÝÝݹìáááœ(P¯×£R©ÈÌÌ$//#F4›[˜¢™&ƒÁ@ee%nnnxxxðÇ?þ‘iӦѿT*‰‰‰<õÔS„††²hÑ"ºwïNAAcÆŒaêÔ©üö·¿eÒ¤IÌœ9"##ÉÊÊbûöí(•JV¬XÁgŸ}FQQÕÕÕÔÔÔÈ'"®ÈÓÓ³Îl¬—Ò¡Cþú׿6˜öÎ;ïðØc5Ë<Òëõüë_ÿr.ïܹÓùzÙ²eÎ×o¼ñ†(ÑtSzz:6› ½^R©ÄÓÓ£ÑH‹-œ? F£‘¼¼¼P©TØív|}}· .ÕÊb±àåå…N§#((ˆ’’L&ò‰ˆË*//§eË–r…/„+&€öíÛ£¦ˆÃÕIDATÓé°ÙlØl6ÆÏÂ… ÑjµLœ8‘qãÆ±`Á”J%mÛ¶%((…BqÅ«Ù=zðÉ'Ÿ0{öl4 >>>¹ìl£¢ñ233%„påÀÔéd{ï½÷Ò£G, ÁÁÁôìÙ“ž={b·ÛñóóÃÛÛ›åË—;·ÿì³Ï3f …FçŸ~JË–-ù¿ÿû? X·n¡¡¡X­Vù4ÄÙl6Ôjé~'„K¦‹iµZÚ´iSgÝÿ._ÜI1<<Ÿzéß~û-?üð Ò‡B!ĵ¦iÖ¬YÎVRB!D-éT$„B“Bq)º•———Gjjê·S(ôíÛWrU!ÄÍ L›7ofëÖ­ÄÅÅ]v»Õ«W“œœ,¹*„âæ&€G}”)S¦\v›‹{—_Jjj*ûöíÃh4rÏ=÷*Ÿ‚¸e~üñGL&C‡•̸JÉÉÉ>|˜ÄÄDÉ qS]÷3¦ììl¾þúkŠŠŠµ}qq1‡bĈÊ' nšªª*.\ȼyó(++s^9sF2çDDDp×]w1wî\ˆ§wïÞìØ±C2Gü:5¦†äççóé§ŸÒ¥K—ËŽNl±X8þ<%%%äååPQQ——&“‰cÇŽ¡V«iÓ¦ äää››‹¿¿?555øûûSVV†Ñh$>>žœœÒÓÓÑét´k׎ÊÊJ*++1 h4‚‚‚(((Àl6Ý,GŽ»h:zô(J¥’sçÎ9j-..fïÞ½èõzÚµk‡^¯ovçn·ÛÙ·o^^^”——Óºuk EEE´hÑ‚ððp>Œ‡‡õÒ#""¨¬¬äèÑ£¨ÕjÚ¶m‹N§£ªªŠ °`Á ؼy3­[·–Â&~ÝÀ”ššJXX&“‰¥K—Ò¯_?îºë®ËîsüøqV­Z…V«¥¦¦NÇ’%KxöÙgqwwgÓ¦M˜L&<<<˜6m}ôf³™€€víÚÅý÷ßÏž={ˆŽŽ&>>žsçÎñÏþ£ÑHll,&“‰Ã‡ÓªU+òòòð÷÷ÇÃÃììl:vìÈï~÷;ù¤]иûî»Ñét>|Ø9Øþýû1 äååñÈ#pß}÷5»s7™L<öØcLš4‰œœÌf3QQQäååQ]]ÍË/¿Ìc=ÆÄ‰ÉÎÎÆb±Enn.F£‘… RYYÉúõë1øøøpÏ=÷°yófÞzë-ÉÉÉX­Özì…¸¥Én·³`Á‚ƒƒ Àjµ2xðà+îwìØ1¢¢¢˜4i›6mâàÁƒÎãíß¿£ÑH^^Çç ¦¦†yóæ‘››Ë®]»HHH`Ú´i”••qúôi*++ÉÎÎ&++‹ÒµkW¦L™Â÷ß϶mÛxþùç)--eöìÙ˜\Õjåã?ÆÓÓ¥RIqq±s$ñ¸¸8^zé%¶oßζmÛše``Ú´ièt: Ä«¯¾Š¿¿?Ó¦M£¼¼ü’éS§N¥¤¤„C‡a0ÈÍÍeÛ¶mÜsÏ=u_RR=ôF œ¸¡®ê“R©äÅ_¤U«V¬Y³†áÇ7jâ?wwwŠŠŠ(..&--­ÎÇòåËȽ÷Þ‹Ñh $$777üüüðõõÅÇLJ€€,‹|Ê.hçÎÄÄİdÉÞyçºtéâœ(0;;›ÂÂBRRRšõm^777BBBðóósÞ*÷òòB­Vãp8pww¿dzMM Ë–-cذa<öØcõf>tè•••tîÜY ›øukL111Î[jíÛ·oÔ>C† !++‹9sæÐ³gO"##©®®ÆËË‹{Ï>ûŒøøxºuëF»ví¸ãŽ;xýõ× ÇËË‹–-[:ÇÛkÕª­[·æ¯ý+$66–ÐÐPüüü€ ãòÕÞZP©TÄÆÆÊ§ì‚öïßϳÏ>K‡˜1cëׯ'>>ž€€^zé%Z¶lÉœ9sšç§Ré¼u Ô™±}ûöxzzÒ¥K—Ó;tè€Æ cÙ²eôéÓ‡øøx,‹óBôÇdâĉ2 ®¸)]ßtt4ŽœÂ2–ŒnA ÎDaa!‡ƒèèh Ë—/ÇÇÇçŠÍÅøþûï¯ûM=z”ÿûߤ¦¦Ò¹sg&Ož,Ÿ” ''µZMff&ýû÷§ººš“'OÓä[y–••‘œœLaaa£§€ !88³Ù|Sk&“‰çŸž:ðÔSOÝðã;ÊËË9|ø0ƒ€€€FíFzzºsÖƒÔÔTBBB “/ËM.«µ6nÜHLLL£&ïèܹ3V«•¬¬,ôz=-Z´àL®Yßæc5VPxì_¯1}òÉ'Î[!—’‘‘qÃnAE¿~ý¤qÔÀ† BÏž=%3ÄMרÀ4jÔ(î¸ãŽ+n÷ì³ÏÞ7CLLŒ|:BÜ&4 <ð€d„¸}“¯¯¯ôBqkjè’B!$0 !„˜„BH`B!®ÒMíg·ÛÙ°a111h4Ž?N¿~ýHIIÁb±Ð¹sg~úé'ç‘ÇŽ£_¿~¤¦¦b2™ˆ‹‹c÷îÝDFFâææ&-õ„BjL×gáÂ…xyy¡ÓéÐjµÎáNÜÝÝqwwG¥R5*]¯×£ÕjåÓB©1]ðüƒwß}•JuÙíl6?þø£sù‘G¡]»vÎåÈÈH€:=ô‡ â|Q/}ðàÁ|óÍ7u†¢±jÇJT«Õî™î*¬V+V«…BF£iÔ¸—BÜ6©¬¬Œ™3g6jH¢‹}øá‡¼ÿþû×ý&ûõë'#‹«VZZÊË/¿ŒÑhdÑ¢EæÇUöüùóÙµk>>><ùä“Ü}÷Ý’1¢é¦Ë©ªªâüùóÎÚÎÅî¼óNàÂ|L¦Ñƒ¾ìرƒîÝ»ãççGjj*2ã­¸*YYYÔÔÔ V«IOOw©ÀdµZYµjÁÁÁdggÓ³gOJJJHII¡cÇŽtéÒ…;v8ç>{çw$0‰æ˜6l ²²’ðððzé^^^üüóÏxxx\U`úꫯ ÃÏϳÙ,ϘÄUûù矹ï¾ûÐjµìß¿Ÿž={6‰ÛUÁÁÁ´mÛöŠÛ¥¤¤°uëV&L˜Ð`è7Þ`Μ9TUUñꫯ2dÈ Ë–-ãµ×^£{÷î,Z´ˆˆˆ>|ÛœHHH£fÅ=zô(III ^  Lv»Ýy¯þŸÿü'¹¹¹Lž<Ù„.öí·ßÆ{gJ¥bÅŠlܸ‘7²fÍÜÜܘ7oÕÕÕœ={–¡C‡’””äœÀíÈ‘#ôìÙ“W^yE†×WÅd2ñþûïãp8P(˜L&&L˜Ð`9½ÝxyyáîîŽÝn¿ì÷p÷îÝœ?þ²nüøñ¨ÕjV¯^ÍO<»»;{öìÁl63oÞ<ŠŠŠ8wîœsBÎÛ··7nnn8ŽKnc6›ùé§Ÿ°Z­˜\=09>þøcºuë†Õjå믿æÓO?½dÐxöÙg‰eæÌ™xxx˜˜È±cÇX·n‰‰‰óæ›o²bÅ Ž=ÊâÅ‹ æý÷ßÇjµ2kÖ,Ú·oϺuëðññiÔl¹BÔÖ¸GÍ믿À‚ X»v-S§Nmïßn·c³Ù.›n0.{ Fƒ§§'patðÚñ.•J%v»Ó§OSUUÅ?þñÆŽ{Ûÿå³Íf£ººZî¤H`º ººš+VžžÎSO=uÙšÌ?ü@çÎQ(X,ìv;V«•óçÏóÝwßáëëKß¾} b×®]εW¹ÑÑÑèõzù´Dã ¶ZÍã?î\;vìmU+¸çÿðÃ;—k§•¸ûî»ñööæoûZ­–0räH)4¢i&…BÁìÙ³IKKã‹/¾ G—ݾöŠ.44”µkײÿ~æÍ›ÇÃ?̹s稬¬¤ªªŠS§N‘‘‘Á¬Y³HJJâÀtìØ‘÷Þ{N:qß}÷I«,_¾œœœ|}}ùýïï2­ ýýý fùòåÈœ9s¤u®¦ÿJIIa÷îݪ!Õúàƒøàƒpww¯sµz¹ù|||ê½ÖétÒøA¸­VË#<‚ÉdâÏþ3?þ8Ï<ó jµú²Ï_š NÇ„ 0™L|üñÇL:•É“'£V«1›ÍR@\=0uêÔ‰uëÖ±råÊËn7hРË._«””éÇ$\’J¥rÞM6l˜Ë] ©T*&NœH‹->|¸\ J`ú¯>}úЧOŸkºâyûí·IHH@¯×“””Ę1cØ¿?555 8¯¿þš=zàîîÎ?üÀ#<ÂÁƒ©®®fРA|óÍ7tëÖMZß—¥Óé\ºq‚^¯—Ƙnœ#F‹··7*•Š-Z€°Ûíøûû3zôhgzpp0-Z´`À€Øl6gº——×Çé¢9¹Rséæ~+ÏÕÏ¿)Q*•(ŠFEÙ˜í.˜ÊÊÊ®{àËÚgI‡???L&“³éwMMM½t³ÙŒN§s¦×>gr8”••I)pqƒ¡ÎsÈæ(%%…ï¾ûŽÊÊÊËn—™™yÅHMÑéÓ§Y·n555—Ý.;;»Éµ´lŽÆŒsÕ#ªÔ®|Õ)88˜¢¢"ÉuqÛ]ùúú’™™Ù,Ï/((ˆÝ»w“‘‘qÅmÝÜÜ0`@³:ÿÖ­[Gnnî·õóó£wïÞò¥ø•UWWßðc6˜òóó/Ûë\ˆ_Sm¸‹8q¢ÉwÂ6›Í(•Jú÷ïUû:t»ÝÞäŸÃšÍfT*ÕUð’ŸŸ_gùÌ™3deeÉå&V×Ë`0ݸÀäããÃo~óÉyq[‹‰‰A¡P`·Û¯jp`Ñ<Ë‚V«Åd2É­½&ÆÃãÁ W/0•——sèÐ!ç[B!ÄÍСC‡Ÿ× L:ŽØØØF ;/„B\Ú1Q/˜ôz=z½£Ñ(9&„â–SJ!„À$„B\‚ <%„@«Õ^wgzWðË/¿Hxx¸äß5HJJ"::š   ©1 !.O§Óáp8äßeþ•——³jÕ*NŸ>]/ÿôz½äÑþ•””ðÉ'Ÿ4ªs¼Ô˜„2•Ä”——_rX4‡Ã!ùw¥¥¥TTT4j[©1 !„¸­H`Bq[‘[yBˆ_Ý¡³yüpð*ŒèˆPŒV5ûNå4ËsÎ^³†s¯½†_Q…+WbHKs¦•8À¾‘#I}ûm¬ƒ&!„¸Ê«L:›‡Ãq¡á@¥ÑŒ¿·;©9åœÎ.çtŽwL–æ7ËÃf#óÃé>x0a11´KH ýí·±ÕÔPyò$o½E÷~ýÐ:Źŋ1—”H`Bˆ›)«°’5;N°vG2 Åf4u8°9Àl³ÕÙjÇXc¦9ÞÈR¨TøöéCiF˜Lø††¢­ª"çË/É[¹’Ö‘‘xxz‹íÄ Œé阄â¦Ô’Ó‹ø:é6…Û¦G¿—Øì`±CÙ†ÝjÆS¯j¶y:~ݰ‡½GR0UWðø„xÔ jgÏžeÆŒÜwß},Y²Ä9=÷ܹs),,Ä`0ðé§ŸòñÇ_qZö_›g»vhâã)ÈÎÆápà¥ÕÒmÄZ…‡£,*¢Új%+?Ÿ?Ž.8¸Î¾ÉÉÉŒ;¶NGß-[¶ÔÙ¦¢¢‚Ÿ~úéºÞcZZZƒ‰oi•'„¸©ªŒfvÎàûùü¦[ (Õ TñǧïG£­J›V‰›V…·»7½†¢2é98‡ù1 üå/aРA¼þúë¼ûî»,_¾œéÓ§sþüy233ùñÇQ«ÕL˜0á¶ŸÍXåáïo~CÙò嘃ƒÑ¸[­8*+1‡…qêÀÂfÎÄ»K—:ûY­V¾üòKÂÃÃÙ°a³gÏF¥RaµZIMMÅ`0†Ãá ººšÓ§Oc6›‰ŠŠÂd2QXXˆÙl¦S§N”––’““ƒB¡ ** NG^^EEEÎÙËËË9qâ …‚Ö­[£ÓéÈÊÊ¢¬¬ BCCIMMÅÝÝ’’üüü C­¾¾Ð"IqÓä•T±uo:©ùFzĵ§Ú`#«ØˆN ZèÔ tjz5ø{ë ðñ ·¨»”Ê ©öGõî»ïÆÃÃqãÆ±hÑ"¦OŸÀG}D·nݘ2e nnn·}¾Ø *öïGïæ†ÒjÅ^Q£¸Gx8iGâÿàƒø÷ëWo¿ÔÔTT*O?ý4_~ù%DFFRQQÁêÕ«ÉÎÎ&,,ŒQ£FqþüyV¯^MVVwÜqîîî|óÍ7ÄÄÄ0sæLV®\INN6›nݺѷo_V®\Iuu5ááá„……qøða*++ÉËËcРA´iÓ†7b±XÐjµŒ3†^x¡C‡’ÕjeΜ9´iÓF“âö”’]ÊžSyôîKµLnZ¶F…­Ü4 Ü4 ìZ^6;8¨Õ*Ì ^îZç±µœH^^¥¥¥M"0åoÚ„íÈZ¶m‹²¤ŒFF#•Šòü|B ¨·Ãá ))‰ƒ’——GVVÑÑÑDDDàááÁO/½ô‰‰‰Üu×]×”›7S±v-ícc¡°£‘"Ÿ;ï¤rÍÚµiƒª¢‚R??²­V¢ÿðÔÞÞÀ…VrIIIõŽ9|øpZ¶lyÛ—±¬¬,fÍšÅK/½Tï3K-¨aÖ·ùXû—Ô˜„7ŸB¡ }kƺiø×¾sì9šBë><;*Á™^û¯!FSo½RÙ´z¼øöìIå±cœ;}/ww ìvB¦LALÙîÝ”šÍjµx“›œŒáÜ9|ºvužksȃÆÀ$„¸éìv;V«•O5ÃÂØ~àÁIEND®B`‚nted-1.10.18/doc/docimages/beam_position1.png0000664001041000007640000001342511520267216015662 00000000000000‰PNG  IHDRÞ{¶>êsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ 2ÁTätEXtCommentCreated with GIMPWpIDATxÚíwXTÇÆß]XºAŠˆ Aš±Fc-š(^5Mšbšš¢1Æ$¯å&£ Fs­±Ç j0Q\•²Az“ÎJgÙ6÷Õ³¬Y–]¥|¿ç9§Ì~gÎÌy™ù¦cŒ ˆG Ÿ’€ HxAÂ#‚„G$<‚ HxAÂ#‚„G$<¢ó¡P((À’€Ð‰ÉÉÉHJJBBB‘˜˜ˆQ£FaÏž=”@$<¢50Æ™™‰„„$%%!>>‰‰‰HIIT*m¾k×®”hÀ£±šÄÃ(**BBB‚šÈ„B!jjj4÷gø|H¥RðùäÙP‰G¨QYYÉU  ÒÒRøx999pss£„¦¯óúaB¡B¡PÍËÊÊÒ‰}{{{øúúÂÇÇ>>> …H$BNN%>•x…BÁùa‰‰‰Üß””Èd²VÛïÒ¥ ¼½½ÕDæçç;;;µpûöíÃÝ»w)CHx‚‚5qݯ*ÖÖÖ¶Ú¶‘‘<==áãã___x{{ÃÇÇnnnàñx”ø$¼ŽOEEW5l臕••µÚ6ŸÏG¯^½`ccƒØØX¬[·³fÍBß¾}!(ñIxmŸœàüù‡‡ñò‚ƒ›¾V__¡Pˆ¤¤$NdIIIÈÎÎÖIüàëëË•`~~~ðòò‚¹¹9<ˆyóæá©§ž‚··7e& ¯ý,Yòð0K—AA ddd >>^­E1--M'~˜¥¥%ç‡5™­­-e ¯ã²a0a‚r¿¤$éé‰HJŠÇÎIOÀÞ½BÔÕÕéä^666˜4iרáííMÍ÷$¼ÎI¯^@` àîîŽÌÌLµk%%Úùaîîî\éu_dAAA˜8q"öïßO‰NÂ#îãììÜHxÍáääĵ$Þÿëåå333JP¡ EEEÿxÍÊÊŠëk(2ßHÂ#Z‰µµ5`À€ðððÁáÃ>˜<Ù;vxÃÕÕ•ˆ„Gè’ÌL .°± S|÷ÝTW‡={¤9¡>úH¹Rš$<½áë ìÚ¥: CBB¶oßÎóò¢t"á:¥gO`ñbÕñ•+‘¸}û /ÞN‰C 5W‚„G$<‚ HxAÂ#‚„G$<‚ HxAÂ#‚„G$<‚ áAÂ#A$<‚ áAÂ#A$<‚ á ˆÎ,7φ¥7¡óÅ ?lmðÏœ„×€š¼“˜¸ìº*b†–Øuí8ž05ÔÛ=o~5GÝ7ãóNôvv`¦LîUcƒp:¯¦ÍÄI/ouFFFËÊI>^>uªuVF~xÃøeÈÈ(Ó˃מÃص¿Ô(¾-sTWWC¡PèÜî} ª««ub¿¸XY2äççëÄžX,†L&ÓÛ³k‚ù˜O°eÆ<×ÿiœø}/ú˜èüÕÕÕàñx?§N:Я^½ŠáÇsdzgÏnÑïÓÿ<‹ÿÝQÿo4bú³pÐW+&“!æÜi˜ šŸn&€£Gjÿ戎ŽFAA¦OŸ®—Ç9q✜œ0xðàVÛÊÉÉAtt4F ;;»VÛ»téjkk1yòäÇ[Ä09nEžA¶¢&Ž €@ÇîKtt44ŒÏcî@Ïýõ µßÞß–¥ˆôÖÙyqõ“¬wÈÕÎA¨½mw G¯ðaXŸç¾bòÎÜ.«KÆôYߪóq2Sú_‘Ez¹§(1ÓwáâšZÔÙ8ÿs. í§70ní…ÎÛ¸²{öxÄÝ[Ü\§}ƒCïù(«£°`Á\º ò®ú¿Ècó=ñô¦­lµðP£s vÿúXD÷Ø„—´c&"îªVƒîÚï|?Õ`l=ÎÆPÈ*¸ÅˆÎAÚ[ ’*‡ìIkþÆ;Û’¸kù—¿Àœ©?×­Åv…û`C¢z·Tß…û¶À³óøx i)æ|ø‡Ú¹õ§Ö4¨@ð1·›²%<­R¯q©ÊÛÄùxÜF>ÞãÁiì(õ—SÀGUÞ-„~øúû†ÖãðVÏ.-²Y|m+¿|@íœÀ¬.ìšóXŸU/>^DDÄ?^Ëü€›u]½—Á#ó/D4hK±ënäUáò Ó0ÔP@;GôöôÆaCád¡«h"44P«çh ………Éd:³÷ 2™ ………:±Ÿ˜˜ˆ…XÜúoT”——C,k· ؼ,_î9‹± ‰[†Ãj¾£gbbsüõäTD¶ðã¾Ùj¹úÀw—g–!5êRu˜………¨ªªÒ8¹ð~ÝqKíxÐcµðL^ƒ?Kj©1¸Þ0uNÃέÆèí?ãF? K⬥#)»¼tj·= O(rÂ+,,lß^‹Ü¬l—Þ…XÆ`djg· @—~xéuwCÊ3†­}7˜ðë°ãr5F?“ˆˆÜ–=Pßg0¢w~OWÕž\m3‘§ó<666Öü9eºXtN-œ­ïµë©§Ø·.Mv¨?¸™;³Ó™•:ë•Õ¥²`kcÆã ¨½èòú|öÕ»s™ƒ‰a“ùdbeÏ{¸´*Nw"ç0s‡ùZÿ^.-cKØ1ŒohÍ*eŠÎ5=ÿÒfµã\¢jѺsýf"²Á<<ppïöV[À ®b¦ßHüQ^¯“¸ÑDØ–Sû+Æöé‹7þ}EM|ÏÄÅ()®jÕ}Âߊ€×»ïißaØ¡W¯b²³ Mz¡\¦hªÂ¹sç°ÿ~TWWw¬Æ•ÔoUõFc«aø¢¿j,àªQ ‘Z'ÇGг¯b¨¥1`ڙ䕣"'_¯zF :’TÝÀŒ1ëZ/šÛr$UaŒï4\Êmþ%•K´o$“Õ&âýD6¼Ü·uf¿yÞ¼$ ¼’zªÖ¬YƒI“&aþüù>|8t0„¹í/&U•}æoææÙUßùv¤•ƒÇ3Àêð$ü¾¯¹Ynœº°tñÅkàÖÁåj6KnlÄê[¥Úûut"¬\\ŒË§cû¦ øøãO°åëï§ùh¡gÎÄ_šÕ6fZÇ3ëø›0t^§mŒ[õ¼¢¼tüm‰ÃQßW?Cð[ÇÔ®Ÿ?žÛ¿yó&rssõ›ÒÇ{ÑÑœ óU^w^øÍP€õšq„;÷×J?€Ùndg÷xµû9k»2˜Œ­ؽ%¿Ó ’nÎ'³÷Þ¬'¯/`&|žF¾869ì¶ÖÏövOK6rö¿¯Ê:˦ø;qq10vdü¬¶0, ·xñb.L=˜T*Õ«÷H‡ŒÞ–eh⊥ÝUk6–D•nÏs~¦'ðe<ª²x^Íμ½Ÿa±Óî¸ìÆF-ô|"lú'|ÑI|²©Ãf=´zXœÕ¬…¼õÖüƒã/jWM‹Îb[^=âfk·^¨¬Vˆqþ3p½A;“Õ ˆ¹ÂÇËUåª[·n…‡‡Š‹‹±hÑ"êWTx¾fÊOm[U[ÎAV£tÌ_h Æ.î㜆Xtùº©jÅfŽó1Ï~)+çðIjâQ(UÀ±ÃjòÂ1~æÿ«SùdšVúÒ˜öÅÖQÝñÖ¥; ç´×"7ÁHË^á¶aç» ,Zýþ÷7fr¢ã˜ãõ/ÀËfÂÞ¤ñDXsss¼ýöÛ®Ò‡ÑÝ»w7y>¯»1ÈjÕ˜+óYè·ØEÀõ ñx<0&Çòm¡˜h£>`ÖÞÑ(VMžý~÷nØk(<¦¨ÇÞ5+øòz\ü1 5Œ¿¶¤¥¥A"‘´Ú®BZ…´¿“‘[P‚Z‰&Vpqï‰D‚´´´‡Ú¿º}u‹DwòäI®O¯)Lg¯À3’=8-ÒÆÔšØ"hütÌžˆ_÷…iû´Ø¶5 îË´O·-‡ÒU%ïðWáeq'~ Ó‹ÒÒÒ`jjªq\i‰ç8¦UIm"Ä “{-”vO‡2p9é.Q®4Æ3´†»±ÒÅ23« ÏÄшWîóø&°3Ô¼´»ýËV¤»‡`ÃVí¢´b² \þå(Î^ŠC¥´q«+o€Z9{Èï+q8¹\óšÉ‚õèÓÇá¡ax–˜²`&Ì*CjZJËkÀ Œakß}úô€1¯uƒj‹Î Ej…-½-µl» µNÕ5Ôc¤sËÔGظ¢•3osÀÞø_‰ÚµÐ .ÌÎ7LíÜVw¥ì:å·F¶"žqãî×Åy…Æq-Køšu± fYbY»˜^•sžv±h¶ÃÄÖÿmHko3O³Æ‡!ï°z{ìd…ÎV}£½y3hðÌ! ¥w wžö¾åØÿ¯ÍjßÁ{õ—?1Å\}ðtàe?ŸèÆ™F¶Â¢U˵y¾þ¢æõþv4¶%}eõ¢¤f}²æp Z„èËÚûdºÄõÙ÷±ñýAÚà›`–)wø×¦˜Î[â1Ƙ¬>X1lÖΛêÿ™«SÕŽÓŽR6 lÕþ WåîâîÅteÿ«’´úÚb‰÷ÝØ7Ù»>¼°u/SûÌýÍÈÒ-Ùp€ÕÈÛ@Q§C„;&¨Þs]ÔfJ¼G>ÝÀÈ¿_—§¿Ä±åƒ±Ú:ç(—{04ï£Ö6ðI—!—–áDYž³3˜_ÎZÃ…´ò”Ö­^:G\ ü Ó€Z9`׫]Ó‚¤¯GÞÑ8¼ÿ’Õ/Žø8ìÞߒߣb‘_&°€ë>>¬?ÌÛÙ§Ï4¡ßÒSØx±VOƒB^ƒ7ƒ½õÒ+˜>}:&¬óAömºÄ»Oø«ÊrϦ¾»“K¯û$©ŠálθVÀÊS.±eãݹsv‹t6àµU%^}>cïÎeÌÄ1 ÑVdïΆY¶¬Äk~Y›DQÏö®™Ï àñMØ€1³Ø–Ÿ2k‰÷Ø„§×²sûs¿1s d…†³Âº† æz/Á¬½p£%x<6nÉæ&ÅÚ*s72&·ÀÑÛ53’sž1‹&×p+60iqü¶vnVtNA‹5M¶)g)·“Ya•T/öÛð¸ßîû” ê©jµ30²eƒGOdsçÍc³¦Nà>Vyó·ý[Ð6r³2†1+ãfEÇ&W®ܲ—¥úeí•– O/+I¯Zµª…ä(ÊNEJZ&òò *¯Dm]=\ë(hî ïiÝf|ˆAG¾Á³YšMy©ã›à“÷ÞÔê>òúJäææ£¼ºàÁ²k7¸8Ûë|5dB{.^¼###5<´…_Â+//Gll,rssQRR¢ù2ÖÍ50(H [Š×R®GÿÊÁ_ðü½õX7<™£'Í_Ãä+}çܜЃÞPBwÂÓ'é‡G¡ÏÜ+€±E8hß6"V—˜{*+’Í1äàÏk»$$Ñá·õZy©&ËæÿQÒv"fÚРSA‹€Ë›HtDûž±µ?·_]Ö¶"÷k,ðÒ8À  UYºQ»czÓ5Û³Ø¸ã ³E°ï3/¬x£š+°Pù‹•Ém+õŽ@Ø`K6ä— à `X€OÅц|¼š;áâ6w,:c è†í×…x-@ý›l²ºÛ˜)ÇRÚœ@QÜ4Ê5‚ªšÚpkݧj¢¹´+Ç¿Œ'½H«opû6~v”c O[ªR›îûª+=Ùè{ µÅçT °¡#HxÚâ0æŸ'YV=0¡3ûH<·ïÜrŒ áiKŸ—4yÞ¤ëSy ƒü¿?(§ïóøFxï kÊ1‚„§-=ÞÄrwõeý&àPôq˜4ˆQEÚ7Øž§¬–ºNùmeúA´GáÀg羄™òöݾ‰ŸÚ‹é}TÝ â²8„ŒX 0²ÀɃs(·ˆÃc2–´w9¼¼“[¥ª[o ö÷„¹â.®œ½ˆÂzø†–Øv-o ¤M‚„§32/ìÀœ—V!æNM£kF–žØ~+ƹPN$<]Ã䕈8z§"¢šS •ƒ'àÅWžGOsCÊ%‚„GDëáS HxAð‚„G ÚÿÝ‹¶£º‘FIEND®B`‚nted-1.10.18/doc/docimages/zoom_in_button.png0000664001041000007640000000217011520267216016011 00000000000000‰PNG  IHDR(#i[ßù pHYs ‰ ‰7ÉË­tIME× +8oSIDATXÃí–ÏO\UÇÏ9÷ 0ð†Þ”a¦`‹-&ZBZ7ÒĘj ®üQ{#&ö?Ð+ØâBk‰&jì¢ µv¥VA¡¶´€Àü ü˜÷xü˜_÷‡‹!,tÑ)>ÓÄprsssïM>9'ç|ÏÁ5s †<$;ÿÿÁZñ_c‰ølt>™4SÛ)Ð+ô@Àˆ„Zš›íŒÅ”“eÛ?ݸ‘Îd« á÷{«*ÔúFÊ\]]3Ýe¥'»ºj|>‡Á±DüÛkך#í‘p‹•Âtž„B`¨Ü.eèêϹ¹ØìäÓ§O?ë÷[¶ýõ•oŽ{B÷íÄ¿ÿPÊW®RëKwo>ßÓ[¼ß÷_¹zÕí©©© ÛéÝ4œ]Ü›1àDk ô.}ni-Ï¥7­ž3gÈêX"žÎd[Ãa{ ñ·k¨¯{¨¯{lÆ$BBDD{[#‘t6KÄÏFç}†•"!"!"ÂÞbDĈ£•-ð ³ÑyÊ)™4ÛŸXË!!Î-mŽN'±pùa:Ûj# ž,‡@À˜¼9ê8µò{=¶ H8:êë€ÂC}O€8?|½µ©ÊÞÌEš=…w@@`*¶Z©»ó\q)ÈJ*©”P*“Sq[ ÍUÎ(—^¡¯nnUºµ­íl“QþúÀw… ½Ù 燯ƒª­Ñ‹Þr×úfJ¯Ð†išÁšÆéÅt£¡7×{cß%ñ™®f)$—RYï/]1ã€á@VGB-ÖÊÂáúr"£ÝÜBBdŒˆjŒZjËÌåD$Ô☀èÕµÞ@h"¶íbŒitÏÚ¹[E€c£ÉÐ…\ˆGÝöòü–½\¼€%™Ÿ*© L.¤‰¡Æˆ1¦1¦@q.•”mõ¥Ùåñ±”̽&qøècGZ‰Û9{Kd’»ý¬Öf¦§¦îL)oßž ·„Þz£Ï°RÊ´¬Ÿý%“ãuÁCuµµÕUXÛØ\I&—îÅÊJ´®ÎÎÁ‹{ÏöŒÿ>‘ˆ/¼ûÎÛøÏvò@`¥”,˜R±D<‹›–•Î쀻¬¼Æïkjhh 6À_~uwf:½“>÷êK#—?¿Ðß¿p*„‚sÎ9\pÁ¹”JJ™çyžçJ)$Ò4¦1­ÿÂ{ííG£ó±ž³Ï]úôòûƒƒû !8ç¹\.Ï9Ïçóyžçy!¤"Éd³)º\%.—ƈ øAGÇñh4ÞÓûìg—F†ö‘1Ò4—¦išæ"Ú-ðW^xq||<:ôÇÍ[ÿI¨wŸ¤PJí5+B*)q­ÚöG’ÚN½öò¹'OüWÃÞÁ@>cÙ.M°·Ã~IEND®B`‚nted-1.10.18/doc/docimages/empty_demo.png0000664001041000007640000002050311520267216015106 00000000000000‰PNG  IHDRß‘ÌÉúg pHYs ‰ ‰7ÉË­tIME× 4-ò» IDATxÚí]w@W[¯w8ªŠˆ‚»bÃÞbo‰1±¦™`”1&&&Q“¨Ÿšhl1vl±aAƒ ¢ (J;@8Špp”ëu¿?)ÇaA„Sßﯽ·eÞÎûݼ™y³»EQÂ.B@@vB@@vB@vB@@vB@vB@@vB@@vB@vB@@vB@vB@@vB@@vB¼À_÷¸þ'(Ëñ¦ ŒÙ<ÈÎך2HÖ›60×·£ÚÎ×P`ø›60ô¹ ß Ù Ù Ù Ù Ùùê@™îÝ×›ÌPËöÅNʨ zoL^=ûš•¯|mw[?NQ›DtƽÒÐU9F½ ’ò•³óï5K·º`6c.\²Ñh~=žšO¹‚tH“ˆ.-ÐçÆ2L&øzWÌN“Vºjý~O¿A²¤“úyœÚù{™Jk'7œ“¬J¼ªxíÆ)22²¨¨²³v>_¡ýqóv/7—î#§ÔÒÛ ÜpÚmõcú×nœöïߟ ÙÙˆÈ,rè6~d×c€8šH¸þØ «Ã£ ×nœžòB!µZ™™ùF¾q蕦\“ëãëF Dr‘íàÃnÔ2¿?VjÊÞ–dYZZÚO?ýd6›!;Ÿ ‚sq \zohì;SGÑé/]âö"¦ÁlDÀ[³Ùl4ßÈ[«OmOQQÑôéÓÝÝÝûöíkó€» 9rÅ®ìþß/¹Zš§mÏî]u*× *S‚gT2>HˆIÍ*?v¬UûãÛ²ö&¡¤¡zcY™ßÁƒ ŽP,'ЧÊpÙµ+Ù¦”²²Î‡¦ñ_ †ËÎÎÆqÜÕÕõ%G¢à!Q˜Ýñï¿ã,µª…·Ú¦èᜠ=%%åÔ©SwïÞ­}¢T*MKKû믿¤Æ²°°P­V{xx4&Ÿ’’’ÜÜܸ\.AAH’äp8NNNÎÎÎ"‘ˆÁ` (jÕÕ†d§V«½víZPPÐûï¿oó±ºlel†üá­Ø¤¬?í ùbZwgÖ}>³”Ùâ‹/=]hØ1ãß§_»u¼·˜[½ýr0³ ɬaZï¯Ëš:e GlCê5¬(‹Äg½ßæ”û¿fNž4YàöSʉ' ƈ#^r\ïþ+»žJ¼ûn[’Ž®kÐ.{°+î+&&fôèÑ~~~µOŒôèѬY³Pµ ósss§NÚ˜ì\¿~ý!C|||ªM¤H%SŸ“”/ÅÎ ŸEqÜöé~mx?ZYRÖiÀÌ5‹Þ#‰:¥Ä^>òóî“ó>ú¤®KUÃ0e%kNïù™NbÕº0 XŸ Çq±Õm EЧˆÃp DZÒ†aÏìÿ3¡‚ †[.eu_‚Ô%Ã,'b†Yµ?eŒ^•§Ø@Úx…~g¾©L[RÊqo¿ÿf£NSS(¹”¨2ã´çê(Éæ³iG7l;~&¬ßÔŸãéééaaaµÛuÊ¢¯>[¥7š‡š{3£N[N9v¨Ûw€Ù”™™ióRÕw/­ïÀ¡¤¡duÈ2G"„Ï -í’$OÍ…,œ^#¤R6»téo°á&¥Y¢°°(›R”J×/ÿËt0<¿âââh4Z] ³–f” ¡&DeO/wϾk.(huþÂ-‚D™‰-ä¼|__éÝFFFæççÛˆœœœsçÎYÍ쉉‰ÅÅŰ1ýN6›‘‘Qiòqg±X@$q¹\’$­lü+a§X,öõõ­E9ýGÓFJdå$wwõóóëT×é×Nìè;á£]ZbæèèhãRÖñJYQQQpð– {ÖDÆf.ÿtªe(ÔÑìÎxDM¿ó<]Ù±C–ƒ Æè$*¼˜îëëdSÊyzyûíyÎ/ ‡ÜÜ\ƒQ»ÿf­öôj}ü!W` @1:¦t€ÍåשpBQVÂãuîÔ™¤cc«mGKT‘'‰DmÚ´éØ±£ âæÍ›¾¾¾VìÔét癊mXDGGûøø´nݺ’‚’$I£Ñ‚°êä«b'‡Ãqss³j<³cåÅèÇöÆt%ñ®n#ê2 +;óî?YñƒA"‘dçzuZt)‰8Ž››ûÁënÍý‚Ãsà³i¸¸òh5Ó©8žîìâµ ²rææ&´­\íìì,t«øs›TºŒG϶|¬n• …B&“Y[ÇÉïí æŠ>hï5Ñèb·:ýœA§c®®<¤ñ‹3Ÿ#®ØËb±Äbqm)–ØœÉdºººZÙ$GGGNgó”WçääÔPBÒeÖ§~¹|£°×oÙbŠ>¾òVºÞDÑ0ÛüÿÅRËFHHˆ¯¯ïÓ©YÃ%˜#º{Ý.(Âvmn¦•]ßeL¸ª 90T2¢zbõâ7%gÿäÚ¯ @·|©ž³YÈç<׬d6jî†q¹êÞûhbf­ãL·—EÔ<Î5Ò„(cC_óU±sÏ¿¥+FÌê×¼8g¯9qòØq¡ØÉß¿›€C¯}¼IŸ»ó¯ÓÁÁÁ$IFý÷èù Ú¿‡ÇÁXùV ÀÎÌ›E›'°U…\Dj‘¢ …‘Òw6–G}¯ð`ó8Ïë0¡8”P@ˆ€Á¡WÑ‚ýB·Æé”QàEän>e´rªõ-ddð3>>~ûöíUº6kVüº ÜÞÂ[7ؽµ$7ãÝwcP c0Ù»œñN V+í‰ ˜\šš[¢ãñx÷ãŸ&îÁƒ‰Ä"Q_~ïfr"£ô  ¦sýJ«±XRVê¿oï>‚«}Ò7cL¨V#ii&“Ú½wûö‡–ö;«¦ …UÿJ =päÉ®(H5fŸUl`¹—hJvÇvͨˆ$Éœœk“¬içþA¹Ð™0Ó ¾âÂEkçàqœKö®‘˜©’²H!–¼gïmKNPÙîVöõ3—ç•!®TëïܹS»R©455uÇŽV.]ZZZii©BѨYÑÑÑ*•ÊÅÅ¥2ÁD—ËuvvvuuµxAÏêÅ!•J ‚X¶lYõFùý£të3å#½Ñ¼|öh®ÐщA ›²h8$Ž´‡/™k]JW’ݯ­kPÐâg ½páBHHˆe»0úЙRËöÅu”Vi}ðçÞ’²‚ ifƒvÇŒ¢˜q> æj>0¯ØeÔ†4Ó>i§æ¡ªÓÛd¦Z½4uk§—”mvìèÑ£aaaµÛš™xµü)wt{¿b!bª”þe»¼|©®rïÉUÒ.ÍÚ£OþÏ‚ÆÆÆÚ¼N\\ÜìÙ³Fëî]¿~ýàÁƒTãâ—_~yøðaC]­Áföì˜<“Ñ<~ò\]ο^H »òß©5£HŸn?„L?xÍ;ó¾ýîëUsưŸd‚,»E§ËýÁ‹e0“õÍú{8ZG©e7vï]SÐÅ MQUðqg¿1ö°€2WÚ„ F›}°ôÒÿ”™uâ6ŒžP½F‹j/ke\Ö»xkx\aÚ¿Iô1Ù%wNÔzÄ{6r±ÐÉõ‰r(SĹsIR™ù‰f˜âf ž¨šæL1W/9q&§°”Îu0è /ß³¡ðpè YqºŒ›ÔÏÃíõ›Ù­çh€NÒ¦øÒþ~ãGôìØâVûÀË9±&tæˆ÷–öÿqÓeÉÍH¹b¸[•ŠoÝãÖm$ƒþã‹ÊêÑÍ— ×Èá§ß(Ú2‘­–ñ,î#¦Ê29ÆLU+™ãûæú\\ùÓ«/¿eO³AgÆI¯£ÌïÁÙBÿOܼ®£á#— ƒLf !é5¼ Õºª"TœÁ[¹z£·g‹'ŽŠnãÊ ï6ì.Wë,vuì˜1/ߣ.û—5_Ç?(­Þ¸ØË÷µdgRRÒáÇ+* % ÂOž ò’2%’ÐáÅ%w":pˆÄQ^+ÈNŸ8^êX‘6ÔGÿ Ÿ0‘f0RRRª_ÊÊõÐét&“99%U’–Zû°ìÙ±ŒÄåƒÕ²*÷Ñ„ÈOž¼JòL#Ý h«×>òB€Éä’Üi'üò‹L™¹ÿÆŠzFE'ÄÛænLL F+//·v+{DD$ÜϯgÙµKs—ŸŸ——W[cOÁ˜ñ ^ÒÚI$’€€ooïj/R¹øŽ¢h#eãi4šÕ*ÙÊÕ?Ž]ôÝÄ!aK~ù%™€ˆUL92‚Ê>‘3fΊfÎbüÉöíöý–ÿþ×_ݶmÛþ­­j@‹ÓnÏœöAJ¾¼Â„éÔŠÕ^—£ÓW@ÿðpÉ¿›T™É:'oFÏ9T¯‘b¬*¸\®SÛ§À`0˜LfíŽá¸œÅbq¹œúÉ¥Ó‡CçØª+:~ÆŽ?GÏ\Ré‘.½}ºðC7G~íÃX,ƒÁhä•L:Îf³JhCæ;»|7$òʈ!+¿_=kòý'yxÕ† ޏøØ°ê3¼šoÅäñ̆‚#Çÿe³ÙùùùI©…~jø7GÎ…§>¡&g:ÿ³ºD{xõ1éõN¢ñ†WÅccúÜÏ'½ÿ±™$A¼hYÚ[‘ïÔétµ­™K~qi}ð¯ý[vm\Íf1“J•ªˆ#ËCV~0e$3YOQDŸÞ}£££4:ÝjoïμÜÒr‹Bç–+×®ïé)¬-Q«%åúʇˆ  iÜì4  vÇŒF£J¥*/¯gA•VK*ŠþŒÓuÚ:ø*•J£ÑÔîØ+…V«U*•VB-Õ}õ˜Ù‘z<-¥P(¶mÛFQ”X,¶ýôZ­Îd2]º¸ÿJ¶aÕ²>öŒR)ÊKËÊ)åpù\6Ó¦‘È;ßÁiP2Fk²G4 ‚ tºõbØ¿µn5:Oä­ªßeGøˆüU.(ÔÏ|˜L&&“Ù˜ÚP(t: ˆêÙx‡#‹…B!ƒÁxµÙøçÇok¿£q»+UºW'Âf6ÞðÌlüÓqåwª¼€zËÑ.šI'ûbδ^}úÿny÷GK&Òf ¾}¢©£¢œ°“Ûþ>¢3QqwËlÃgêTÍ T4D=ж“ÛÚÁP€Ñ Ó˜(À£ûgžmQ‡Š†hbvò;Œß»=Ávúu×BvöÃë{þI þä}:ñ6¾%ôã=.­{0!Ãì…‚oÞ³/°³ËO_}Ô»w¯žÇ|¶zîÄÈ[©Y¡ Íò „]øQ‹N'.^‹¹y-93¿]—žÝ}ÛÓpøzeû`'€Îâö:¦?T-„²³‘¡Wƒœ@2Þ´QÊ 9ëµVdWȈå…àÍ[jÆi M@Ð!;! Þø˜ú¯IIàÚµŠm0`T d§}`ñb°k¨¬ûðCÈNÈNû@—.àÞ=`‚e+ö6›oÜXEMп? ÎÎP70foj,\þü³Ê×\¾¼÷Ô d§ýMè‚¶m¡Vš0£ÀâÅ5&ôädЦ Ô ô;í€M›ª¨¹|9¨ö,6dg“âÆ*j†‡ƒfÍ ' ßi7psyy1{µï˜@@¿³©Ñµ+((¨Øæp  ;í WLë3fÀ¼&d§]ÂÇ 0ø”d§ý 9¨ÕЯ˜5 R²Óžpý:(-… €ì´otéuÙi¯¨õUmÈN»Á‚ 2ª²Ó.qö, µC¼ÅkEJ%ðòªÊƳX@"YOh;íl6ˆNO>6¬R®]Áùóö77 Ö¬©ø™—Ö¬*¤œÙíiŠ_±ìØQ‘œws·oƒ'_z„€ì´¸»ƒÜÜŠm©¸»C•À™ÝnðÇ OŸŠí»w¡> ;í cǂٳ+¶O‚ú€ì´3´i,ßO _}õÙiOBaEœT\ õÙig˜<¹Ê|æçC}À˜ÝÎЬÈɩ؈‰©%h;í Ÿ^±!•£ê²Ó <=§'hÖ ôî]Ñø¿ÿAÅ4!à[¾ž 2df@Ÿ>@©·n@I T ´v€þ©ØH@TÔd§]âÚ5°kTd§Ý`ùòŠBÏ.]À_Ùˆ š0£¨YR‰7@Ïž‡®9´ö/¯ŠT¼e»];HMÈΦ†DRQÙ9`xøH$@"7o¹|ù%ðò^^oƒh\@ÛÀ•+U™£-*ø®];wV´Ã´ü›ÆNÊ$IK÷ðj£¯ÉwW¯@y9(,„äxcgvʤþyÉÜ~ýúMš³¤H­=”Q^^1­[QóÚ5àê ¹òæÄìÇ7‡¼´Æ€ÉŒÌ]±y명˜Ý~iõÊ•:œAA€Ë-[ÂðèÍa§I_й¥‚ç}pï?.w%ƒ•'°èPÝ6ñßÿ¡(êïïUÑ3{æås’Bå··÷öï2àÉÚ’”¸r5Ôu]ˆ‹‹KHH€zh$v^I.àw6¹;œæÂÂ`ꪞ(((HJJ‚ìl0«óÚöô¢“ ,û*Ó©[{6ò¬~ˆ=pàdgC‚£(@T’#G¢†OÍ /Íü¼mɯ߯ü¢®„¼AQðÎà_}úŽ©ëR5ÜÙã¿éØîsæÍÇš:7¥R©²³³çÍ›‡¢ 0ù˜Íf‚ æÌ™csïÙ³gÙl¶Mý¤§§Ï˜1ÃÑѱ‘o_"‘̘1ÃÁÁᵜÙý<Ø’ð¿É£ëè_¿Zø”µ¢{^JȦÀófµvüº&*1:£Ðï¬?Ê:Õã<„ïñ×Þ?œøuÎ;ñGè­úÐé´çµóL“"ûÓ àÒ—[|’Æ_;|1Ò+ßH¿³Ò¼‡……Ù˜¬Õ¥ß¯ÖÌ#GM–¥Þ K‹·yºQ«8|üÂÄ)LFcFF†ÍKYA¦aO›0&,<<ø‡Mcû´­·ËgÒ«OîÚ]5­•›Cý®¡ÕjÓÓÓÃÂÂdfOLLÄ0¬. ܾ}Û"ËæÌ~éÒ%×Ȥ±Èår¹Apg±X@$q¹\Ö jy)v:99ùúúZ·R†%s&$<* ˜wÛþ]üÚ×uú¦àO:ú*‘P¥R©lWo/ñÓ%ŠDã§M ^òùœÏ~XøÞ8'^ý³TšÂ©!k·ìÞëߦ>««Õꈈ??¿‰Šq·¡LÅÅÅr¹Üæ^''§Ž; -ï/iDXä  ;-%I’F£4Ü’uýÙÉápÜÜܬ—Ðõ§#îµè4`d/ÂPüÀÕmh]= Z½^E Ú7oîÛÉ[(xÛX,–£££OמßÌûïÖƒ¢O'÷ªwç#ä²ü¬¤ßýxåÌn ¹fƒ®¨\å >¥²J¥R±ÙlWW×1< ˆÚÊ´@(²Ùl›{Ùl¶³³sãGE¹¯YT¤/Ëþò«Ÿ5fÚO7j7äfNºÁ\§sçÜÒ³es¾D’Êb±Ôjµ¬Xùü‚§}˜Ig®§çhPÈB÷ì3Q@ v' ëÿgè¶=»÷ ‹Ë4jJ×oÜX¦}Ks¯·ß©R© *? àäŽ_²‹»Œx¿Ÿ·H^N—lxxéB8‡ËiÖ¼9“f#O™5\.ïĉ³Ñújµ¡Ñhär¹å0–N‘••ÇcÖ§ÿÖ/½ÿˆä6[±x®¦¼DS^3¤S•?–¦îÞñw„>YÁ÷S—i3»åöÄv* ÇëºýÒÒRµZms¯Z­–Édf³¹ñj2™¬2A‹¢(†aA$‰ã8Š¢ 5¹×ŸyyyÑÑÑÕ¨¦ûuó aLÑ÷NÔµ3GN–JoLš…¤ÐÁyШ cõ@mM–YI±9ź>}{?Sbaaabb¢Á`ÈÔ…·££Ù5Ù™|?â^RQõA‹–»ûã5•Esðtá1Eí}Êò3£ YIqô¼fmJ¹«õîâð_L´Í¨(///&&¦ö0˜t…çÃo¨55,®à0OaÍØ…2ÝŽ¾“ Ôè‹ä%ýúVWfu¤¤¤äææÚÜ›——wçÎÆŠòóóïܹSÁb±„B¡ƒƒCeTÔ0¥^R©” ˆeË–Uo,M9C'1¿Q³uÓoK?…BÞ{èô±Ã2 ŒÁì9e®u)½âñèîm-~¹óæÍ‹ŠŠ²lØÿ›Bg²:`í×Öï2sŽÂX[¬ùòÑmSg|¬Òêë’e6ë¾^òU‘Rgs¯R© 6™Lµw©eÿ¶p³v ÿ¼huñë–¹ˆx•8êêÉ™3g¬T]‰àààÂÂBªÑ±téR™LÖ‚¬¨VõÈl4Ožò¡Qµnï•G.\Ýò.¯û„•A#nY9wÙ†åÁßMx†UsÁýà¾Cã³Z÷y1Òl,z³HëYÕ»ã É“kDž=üñZÿá¼Ì‡Ò3ª–¬ú=tõç3 [KOù W˜-º Yä‹ê£‰Gž “ëjtCÀ­þóÞµð6(´Uî?[leYã¢Î_¸œ++/UéÄ"Nƒ SfLôËtG§ýú±1{¬ o0v f £|‹®ô9zÌ@ÿ´›næF#´Iï~¶rûæ=·\¾]¢à"¨<%áê1Ò£×ógã«ÒˆmuŽ›þøéÏ8WS6}ܸûÕÇÇ*ÑLØZ>)rè; ë1b$§ÃïÛö=Ã)*’•©«èëé7xÑdzªÍfú=¾_ñó–ü¢2 ™³æ4Ô0ÝŒØ4}îÁáé€a‘çϲ1übgrròÑ£G«\ûâ, E®‡Â 2ò³2Ž;Z&Õݼžz8”ÄQ—6|-ÿçŸ2Ç +¢WŸ¹3jô0“јššZýRV†2;=õARŠBm¸Ÿ˜Ø¬E ©Tú27õ #ðýÅc†uÃQôüé¶Ø¯>y#w½‘o»šA§Ó¥¤¤;v¬~Þ•Ni;jÈ݇ƒqkÑzÔèQ‰1WÄTìÍM»¿ú§ßŠU•–•Ê+’ÛÔOJJÊéÓ§-þßs"õÖµk×y:'âŸãqø „w¹Çá8Îf³ù|>FkÊ* <<<«ýãöí9gtølÎ’¤äoú÷ëï/.Ût8¼w¿~|ãæQFsZ8j˜3—U‘_ú‘ïÁø¿·¹Gç6^޵‚zÝÆooÜ}B¡©°4¥*¢ºÐz 4_j¦¨cÆЮNöÈ¥Nü|=Ÿ´Þ¾}{ðàÁõŽÙG›¨ÓiÍB£ÓК¿¢-R骖j[v¸nݺV®6Rî‘‘‘/”w ülñË’æÆ"‘ÈòA G ‚À0Ì.²ñt:ݲZP‰+¿ž÷óÏÓ†ÿvý4ŽÈ‘?¡ÝÓChò°é é‹¼ÜÝ*¼ùË~PR€a˜“““W+7€e%"êô¾;*tUÏ’Óy"+¡/Šñ#úþï7áé-G´Zí×¾5a³h_ pnõÔé›$-·ßPKv5ˆ;~ÚO™N†ßК]û.ZÔ®•RÇðùü—THý†¾qä6¤rMYð^/Áè±ãÃ"è fœÑÊ—Ã8¾aïô)Sˆ–=ÖT=þpñjݪ¥CvÖ#&“©Õjå%6<Ê̬6T¥fÚö³àÃÉ/ÙI‡ÖÝ:ÔÎÚ»÷@š´Ô-[ôÍÏaç/\¼paû¦5íë &ÌÆ? 2™,11ѪqÌK5à÷o‚lprvsrx¤Tÿ÷×ÃÇOÛ0g:UšŸXöØÊ½S(•[·n俤ë4Ö çÖí»¾3, :!Õ 0¯=–~ùiÙã¬Ä‚—,”ëºäëÅÌʼÄÄú¼‚F­VËåòÄÄÄWa;Ÿr¹<99ù™«¯H.ŸÏ¯HS`I’L&“ÅbYJJ-õybX£Ñœ;wAç:¾mÐëÔÑh:r`íé8æÉ+iD½»Kéõz $IÚ• Ñh4_”^»t:iôTʵˆÆqœN§s8.—Ëb±‚hJv>?~[ûÍŠ5WŠr#XL@@4¡ßiÖ—® ùbƒ/%%ÖIDATÂäi¡á1– æL¡Y-,¤€h\¿³6ò.ŸZµn³Öh¾Ý#ó¡—YnÔ!¤ @àÃìMm;éŽL€ U™L¦72“Ã…íÚ£ð%DMÎNQ—Q¾­p¦pÙÚ-~BvAfܡ㱟̛lyíDGEÙ‰×gÎþ¬ÔD¶iÕ"íÞ]ŸÁ3vmü–Cƒ¶Â>bvyôrøÅ”GÛúõ:(€ £uûa'„=ú¶ð‰B©ßEäIEND®B`‚nted-1.10.18/doc/docimages/keysig_dialog.png0000664001041000007640000003023611520267216015562 00000000000000‰PNG  IHDRByun¾sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ *wïÙtEXtCommentCreated with GIMPW IDATxÚíwxTÕ¾þßi©” ©„˜F z”"zå^ð¨  @bä¨4 ˆXðˆ Å¢8Ĩ xQùi0†’F„TH›²„2ÉÌ$“ÌdÚûyžy’Ù³öZ{}ךw¯µ÷žõŠÔj5 üÑ „'âÏýëD Õˆàø‹BˆS6a‘ðçþu"Qè#Ï ãg,FN‰‚Q!„8EWÏ¢èü¡º!(jªBˆSbP¿<¨Qâ’’¨T*øúú6™ñè·O1º„@åÍPÞ.5] <åðèègö| amµñŠTVbâĉ¨®®ÆÑ£Gáééi4}SùBœEU9”·KÙë^“÷=!•dîÌ–Q!„Hd4££Gbîܹ8þ<233Ñ¿ˆŒíÓD~„ç@y» ‘½zµhßÈ^½pþB:dÍ–Q!‰Ä•\¡€æñš«W¯bôèÑ8tè|}}QSS£#„šÿA0˜!Ä ‰[§šýÍ•)#Âï¾ûÇǤI“ÅÅň‡ (((Àµk×tÒŸ:u >>> ±¹áO+ï _ý«C•Eˆ]è HÔ*=Ðìo®|LVWW# C† áóÏ?DZcÇо}{´EEEØ´ibcc1xðàºüþ“jô Ž¯¸°'õ:>ø>[gÛˆ7NZ¤AÊ2?Lêïö.߉íÈ·NáØ+ƒ Á+¡g—vXu/‚½uÅðnº»TT«°õH>ö¤ê|¦P ȺQ… ?äbãÌíöó;Ÿo”×È·êYªÿ¾a9#ß:ÿ.ëLˆ”PïÕ‡®k´íÇÍ‹îNcuöëÍ癄tl®»‹\_5yëÍÇÔáåË—±ÿ~¤¤¤ &&ëׯÇþýûñÀ`òäÉ:é'NœˆÚÚZ>|øNš£}?§ãïÿ3 ò™:ÛߘÚ½ïé€ùë~@YI1R^Ÿ†WõGìÎËøéÒMLê†HÏbxyô€ V¡OÇrÀ_ÎãfV*:vÒ¨¬¨Ñ½ñÚÔ{qäüuüã½Ï!rïˆõ¯<ÞAíô–óÙ‰ëxó‰pôvÿ ýëDhsÊA”gaþ²ÙP©<ºtò Šh~ª]'<7¯¤âåg ØÛ 1~µ²[–ÔŬ$ý¨6Ý ¾EfN!ö­…èQHþ! #ßþ%Ž@"¡gˆ>ãI,´3†½ú#~yó!@äÓÖ«Ù ¨ÔJÒ¢S¯QÚ­ ËùÏÉL°ùŸÑèÝÅSoÅ27~qI›ƒN08nîˆð™Ä lŸÑHæÝâa·nÝqãÆ¡¸¸Ï<ó ,X€Ç{ +V¬Ðy°zñâŘ>}:‘H„Õ¿mVTj;~*Àœq:Û{Ö]‡üxÑÝ¡mŸ0_TäîÅO—|1m¨?¦<Ôçþ,‚RQ¨ëÎ ?þž©G{¨kª qÓž¯š3¹E·°hm D2Oxø† g §ÁrŽ»¸#¯èFö ¤bd”ãè™+ððï†Cç‹1¾¯þ9,‰~½\†ÇòtÊ ó©•Ÿÿ¸ Oÿp½õ?ðÛ%¸ú„<Ý\Pyý ¦íƒ©ó£ ÷€äÎp3ȧnå_ðvߎáƒu€P[i°wßpÈÚuBσuö ÌGŸH›ŒØ m72"€Oçöh4ªœµ5ÓÀq49"ë^ºt eee „ 8p༼¼pìØ1x{{ÒÓÓQUU…3gÎàÖ­[w2ðivœž½§¢ûèl»_¾Á°è£ÿç¯@¥Rk¿ìg®¡¼2A~±÷ç ¨Õ" [Õ8séÜ" ’ÈÕií®£XúÔƒX=wÞ;PAì‚ôk•èä©·EM>ÿ­s Aé­$|÷DRWH=¼ðÖ¾\¬Ýñîëæ5 A¸Ÿ’öë^œýóF%ºxbHÏ tèbðD m×©Þ H…˜1÷ÀU&FÔk_ÀE¬Æ®×þ‘P+ª¡T JD·w‡€Ô£#ªjÕpwã/ êåm´‰‹Ò ×YU[‰[;~yIÛ\#lÆv% Ò:§›ÎHP3µþtnÌÚv¹ÙÇ!5¤Ì‚  {÷î˜0a  R©ŽäädŒ1QQQÚ´7nÜ@UUüýý1zôhˆD"¼þÛ¹fJ-;~¾Ž7¦xi·­üü"bFyãyãÐÁóîtí•Ç R)ñKV9éãSrw9àè™?¡†·vKeê´ýûShçÕ 1ÿÕÚ·Ã[?ÜÄëßä"zˆLo9‚ Â—*ñ£®¸UU‹o_€kGˆD{e €P ò‹oãÃä#¨*ºªSÞš½—°òB‘¸ü ã¥áuÓÃ9xrX¾|}J£´Ÿý’Ƀýp|óÀ¨žÅæÃ˜5¬¾v“別.MÖYÄ!1«ê¿[«-ƒâ©³¿Èè]_ÍtxvÒ|ò÷ºÙWvê·2±q>úÊÓ¬>s1¿\çƒÆT#55={ö„X,FVVΞ=‹³gÏbÅŠÚ§ ¶¶D÷îÝѵkWˆD"¬øÕ»Éø¥ýG;Å“µ“£"/5%yÚmÊêrÔÞ¼eÕ-j¥v?Ÿ¾ã(»ü+”Uå𠌀H$Æ­üt¸´÷†‡_WH=¼t¦~YUÅÙ¨½Y—vÞh2Õ¥9zËñë7“t¢±ñæöCHù1îé ‰{;ˆ¤.Ú<DR)Ü;ÝY{oÜÌúM[VmE1eÐÍŸ¾2…e·1úÙt Œ›WRëÕ¿“î1þ EåM*¥NÌ:†ÆíYPÝ.‡ ¨´ñ(¿zÊÛ¥PëIß°¨*ºj8¶„˜‘ªÂl½?‹»zòƒû„Þ÷ßÚÿÏ_H‡»oH“ùÔßGß6M>õ©¼~Ywõ™†J9`À 0"‘ÿþ÷¿‘““ƒ·ß~³gÏÆðáÃM£~øa÷¢éMÈÃ?2ÏNÚ3€‡odîí q­›š¹{߉‹êæ€2ˆî(›âVIàù‡CP« –ºB,sƒg`HÝ:@$‘A$,ËÃ'.íý qq‡Zqî‚ô–àZEc;ãç‹…øòÇspõ $bˆe®ò¬»Y"†ÔÍSg{ê‡u¤×(Ô8—S†µÿúÄ™žú‹tÞ»ûw…kM%ÄR—FÃyO¿p¨”5H]ˆ ¸Uÿ®PVß‚XêÒè¬Ù°œæÄ–KÆN2a‘IùèÍÛȈÐè5B gÏžÅÉ“'ñÄO 88X¯p6* Ï yvÖ½A"uïiƒE»zu1¸¿«Wçû·ovY²öh²œ‚Z`䛿¡äâqHÜ<áÒÞmÝ橯¬Ñï]Dá™ïï„D ±Äîþ]±¸Ñþòkgš É<åz·»th¼ZHâb4¶„˜ñ"aënÀÝA³åcÊ5Âú¼úê«X³f ¶oߎ•+WêÁúSå¦ò³'Ä27xvî©»ÄRˆ]=`jÍÅÈÜ;ðZq \;øâ|úEônÁª1ç.¤Ãµƒ/D"‘Ùò1z0ó:—Í"„XeUj+ŠLÞÏ¥½ÎLÏ\ùh¸•¡á5B®C± 2Ž—À²F>§ÆZ¢¶„bO¸´÷1,„µEØ÷\£Dqh_Ÿ¡#†œBœ !!„BÈB(„&"—Ë5BG„„B!$„ !pøðaDDD`ÇŽÈÌÌÄøñãáçç‡!C†àĉ8yò$†ªµdÄ !6‡´%;¥¤¤àý÷ßÇ_|¾}ûb̘1˜;w.žxâ ;v qqq8yò$zôèo¾ù“&M¯¿þŠîÝ»3â„ûÂýû÷뼟6mÊÊÊqqqø÷¿ÿ¾}ûÒÒÒƒ˜˜w\xíµ×I“&!%%Ï>û,¼¼¼ðÙgŸ1ò„6¥¾†™4"œ6mšöÿú$''cáÂ…xÿý÷1qâDôéÓóæÍäI“àîî®M×­[7 0_ý5®\¹‚‘#G¢¬¬L'_B±4M ¾šœëSÐ1cÆ`÷îݘ6mòó󑘘ˆ_|Ï?ÿ;;...xâ‰'mBˆc¡)Èår¸»»#)) 2™ŒÑ&„8ŸjF„bËðjB…! „P ±#4‹~ð¯yþ !±CÔ\wæßÖÿ¥¶RþùgÌ›7‘‘‘ð÷÷Gdd$¢££ñË/¿0¢Äbý‡7ßÌ ãÙB!T©TX¼x1bcc1~üxœ8q8qâÆ‡… béÒ¥P©TŒ,1{ÿáÆ2—ˆ‰B¸jÕ*äååáìÙ³˜7o‚‚‚àââ‚   Ì›7çÎCNNV¯^möýàƒàçç¹\nµlërۺΖ.£µýÇ#[ sG„-ÂsçÎáÈ‘#سgÚµk§7M»ví°gÏüøã¸pá‚ÑüÔj5>üðCôë×~~~¸ï¾ûŒþpÓ¦M8}út³ÏXG‘Ëåøê«¯t¶ÅÇÇ7«sµuÇ1Wmá‹aŽþS¿Ž‚ `Ë–-ÂþýûñÙgŸ!??»ví‘#G ¦/..F—.]ÌRé?þ‚  RRRl²qÌYgkÓ°ÿdffâÁ„§§'|ðAdff6Ùê ÀÆ‘’’‚mÛ¶!??»wïÆO?ýd÷mn‚êTBxäÈŒ3¦YiÇŽ‹Ã‡MóÉ'Ÿ >>÷Þ{/d2ºuë†Í›7=sé;ƒi¦½zõÂþýûuÒ:ãõë×ßÿ=à‹/¾À¸qãšÌ·~ùgΜÁˆ#àëë‹#F --Mûù²eËàççgôŒ«o![KÖY.—ã½÷ÞChh(zôè={ö`Íš5 Cxx8>ÿüóFe®]»!!!èÚµ«v¤ÞÜz7§ÿÌ;ÇŽCee%Ž;†¹sç6Ùê×-117nD¿~ý “Ɇ7,ßÚmn(k¶G„-¢¢"øúú6+­ŸŸ ¦ù믿®ÓA 5LÃ[ÿ ?+..Fbb"–/_®“ÖÐoÁ‚øàƒ 6oÞ¬ó%4”o}bcc1sæLdggcæÌ™Úu`À€(((0zÆ]¸p!fÏžÜÜ\¬Y³qqq¯sÇŽqñâElÞ¼ ,€··7ÒÓÓ‘˜˜ˆW_}µQz///ddd !!+V¬0©ÞÍé?§OŸÖù¼þ{Cý§~Ý®]»†=z4»£[»Í›ÊßíÄa „ÐÇǧIqÓpãÆ&EÓßßW¯^mò lŒ-[¶ wïÞðõõÅã?Žœœœf톀€,Y²Ý»wG`` IùfffbæÌ™ðððÀÓO?ŒŒ ígQQQH$FË×,d€)S¦àòå˯óœ9sàææ†1cÆ@¡P`îܹÚ÷úÚµ~ú¢¢¢V×»aÿihÛPÿ½¡þSÿDˆK—.5;nÖnóæ¶[[¶G„-ÂQ£FáàÁƒÍJ{àÀŒ=Úhš3fà…^@VVT*®\¹bòÁ¯Zµ 6l@~~>’““µ×€d2®_¿ntߨØXlÛ¶ óçÏov¾ºwïŽäädTUUaçΈˆˆÐ~&•6½ŽEŸ>}°iÓ&\»v ¥¥¥())±xÅb±Ñ÷M¥om½öŸ­[·bÔ¨Qh×®F…­[·6ÙêŸ,çÍ›‡ØØX¤¥¥A©TâÏ?ÿijÏ>k³mÞTþÖh'Ž[ „±±±xï½÷PYYi4]ee%Þÿ}ÄÆÆM·xñbÜÿý˜8q"ðä“Oê|šÃ¢E‹0kÖ,DDDà?þÐnŸ5kú÷ïoôŒ7lØ0”––bèСÍÎWÆ ˜˜ˆàà`lß¾ñññF¯m6$11))) 3ùјÖÔ¹µ4·ÞÍé?Ý»wÇáÇQQQÇkýlŒõŸúu‹Å”)S0{öl"** Ç7z Öló¦ò·F;qDxQè#Ï ãg,Æ¥µ¨­(¾çêÎû÷ïo´ÆÿÊ•+‘™™‰/¿üRï#˜2e zöì‰U«V9T ®\¹‚Q£F!77·ÙûÔÿI±¿þÃ6wêÙãë3àÒÞyçPtþiT¿öÚkF¯^½€ÜÜ\ÔÖÖ"77 ˆŒŒDpp°ö¢­#1|øð&G¹Æ¦r¤õý§­G0ŽÞæÞŤ…Y% Þ}÷]Lž<Ÿ~ú)V¯^ÂÂBøúúbøðáHHHÀý÷ßï2vG”´Mÿik‘qô6牺…BXÿZ˰aÃ=‚¶ì?œvšDÈxÖÁe¸ˆ]`¸Ž ùþR)„ÄΧsükž¿„BH!BB¡B…B(„„B!$„ !!„BØ’hçIZû±k!¤'i ì?Ä!„vžò6͇vžÖÇ‘í|ðÁFG´ó´ü—ÃÖí<ëcŠ,í<‰Ù„ÐÜvžšÕ¬E÷ý÷ßcÍš5ÓÒÎÓ¾±¶,í<‰Y„ÐÜvžd2ú÷ï7"99ÙèhÇQì<àõ×_G`` ŒÔÔT‹ÖÙí<[ÛL±ƒµ…6o®…«µÛ‰BØæ¶ólHXXnܸat*à(vž„¬¬,DGGcÑ¢E¯³­Ùy¶¶ÿ˜bk mÞ W[h'g¥Ùž%‘‘‘8yòd³¦jyyy¸ÿþûqîÜ9£×´êwšK—.aòäÉ÷©Ÿ^óÿ–-[‚‚¨ÕjˆD"”””]kMóÙÓO?€€””” ))IgŸ¦òõõõEnn.ÜÜÜPYY‰B.—£°°°IW3¹\Ž‚‚¸¹¹¡ªª ÁÁÁz¿øæ¬sqq±ÖñLß{ÍZš¿ú>oM½ÍÝz÷î½{÷¢k×®û”-µ¹¯¯/”JåÝ/Þüm­³y–˜ÛÎSƒB¡@ZZâââ0mÚ4“*g¯vžœœŒêêjìÚµË$£rG±ólmÿi‰¬=X¸Z»85nF'2§§æ „¹sçbüøñ¦#Ma¯vž““ƒððplÞ¼ëÖ­k“:·sÚy¶¶ÿ´ÄÖ^-\Û²85¦§QhíØzhçIì~j ÐΓvž­ÃÞúÛÜy g3á¶Öcoý‡mN!lòZ íüÏþݺukÔgõµ©±ãlx´µZÂŽ±9ScG³óŒ‰‰ÁôéÓ‘ŸŸïT–žÖ²ƒµ…67և׭[‡•+W¢  @çs}mjì8¶)­CMÃ*vžlîõG²óôõõENNÜÝÝ £#Z:ZËÖÖ-\¿üòK|üñÇÈÌÌÄüùóñòË/lScÇYÿ8hÚ›´ó4öjçÙ³gOlß¾555†‡éhéhm;X[µpŠŠÂ?ü€}ûöaýúõFÛÔØq6<Z‡Zhjl);ÆæÜ5Ö‡½ÚyÆÇÇcçÎèܹ³EM°5KGkÛÁÚª…«¦ïOž</¾øb‹ú¼>hj¡©1@;OÚ:¶{ê?öÜæì{œ´ó4vDûî?lsç‚vžÍ€¶ŽæÁžú=·9ÙÂBXÿz íIKaÿ!¶—á"„PB…B(„„B!$„ !!„P !„BH!BB¡šíIk`ÿ!v-„´c$­ý‡8„ÒÎÓ¶°7«Eg¶ó´ç¶uKO«ÛyvêÔ ½{÷ÖšÅèƒvžösLmÝšZØ×ÑÚœýÌÊBh);Ï¢¢"ÄÇÇcñâÅÓÑÎÓþ±¦,Ûœ˜M-mçiÈöÏÑì<ûí7 4xýõׯÒÓZv°¶ÐæMY¸ÒÒÓŽ„ÐRvžÞÞÞ˜:u*Þ|óM£ÃrG±ó\´hž}öYdee!((È`lÍjÑZv°¶ÐæMY¸ÒÒÓúXÝÎSüüóψ‹‹Ãï¿ÿn4mýÿíÕÎÓÇÇyyyZ«ÅÀÀÀFÇëˆV‹Ö²ƒµ WZzZ»±ó,**2)½½ÚyöèÑCÇjÑàPÝÁ¬­mkË®´ô´£©±¥ì<;uê„9sæàÝwß5éÀíÕÎsݺuˆGxx8.]º‹5®-Y-ZÛÖ–-\iéiGSc€vžæ´v¬­­EBB¾þúk8pÎí<ÛZzZhj ÐÎÓŒuB¹\Ž€€lß¾ï¼óŽÓtFÚy[…vžÍÀÜw½œõ C;϶ƒ¢lA!¬½…vŒ¤¥°ÿ[ƒËpB(„ !„BH!BB¡B…B(„„B!$„ !!„PMvŒ¤5°ÿ»BÚ1’ÖÀþCBíÉŽÑR„­É×l¥ÿØB{ÑÒÓ…ÐÒvŒ†ÒÐ~Ó1°–,í<ÙwÍ*„–¶c4­kÚÁ²³ ¡µì­mŘššŠÁƒkí7 :h‹hÝþc,6ö`áJKO;BKÛ1Âì7.\ˆ¬¬,tîÜÙàqÒÑ:ý§);X[éCMY¸ÒÒÓºXÝγ©Žn VŒšýÉ~ÓÜXËÖ^,\iéiYìÆÎÓ´ß„]‹`[ôŸ¦ì`m½ÑÒÓN¦Æ–°cl.Ö¶ßܸq#ÂÃÑ——gÑÆp[Ķì?¦ØÁÚº…+-=ídj Ø£½[1:*ÎnçÙÖ®ìÓ˜öcÇH+FÛÄ™í<ÕÂÕ^pH;O{·btTœÙÎÓ'ZžÜ-$„õ¯·ÐŽ‘´öbkp.B…! „P !„BH!BB¡B…B(„„B!$„ !!mí< …8-´ó$BâôØ‚§­ÛRZÛ†ÖY-D)„¤M°†¬5¿À´m=m !i¬ek-h!Ê©1!°†¬µ,2û°¡¥…(…´1Ö°ƒµ¦E¦=ØÐÒBô.&y–ÒR¬akM‹L{°¡u& Q³z–ÒR¬akM‹L͈…¢öa!*åW”´±±±X¸p!¢¢¢ŒÞ0ÑØy&$$´ºLÍ”ÙÛÛ»Ù™t¦XúÐXdbË–-Ói,D[RÞ† ‡¥K—¢Gظq£I#ãuëÖaÁ‚xå•Wô ±-ħµ47Fœ›Âžì<[3%o)Ž`Ck«¢œ›Ážì<­mh­§Æ¤Í°';Ok#ØÐÚ«0SI›C;ObkpjL¬ßžÓíIDAT¡2„ !!„89F¯Öÿ!!„8N›6Ñ!„8·òAjBˆ³Àk„„ ¡¥2®¿–!„8õˆ°%OšS< !œBˆ­ ¡¾%» - nhЬyßp¹ðúé92$„جê[²»9Kƒë£áráš©´­šòBƒÏhFz4kyé[²233ñÔSOÁÍÍ 3fÌÀ²eË ªV«µÿ¯_¿ü1V¬X¡].¼>^^^|°›ÒjŒ­¯*mjG š V­Z…ääd 6 ‡ÆôéÓÜ]|úôéz—÷ööÆÁƒ1|øpìØ±C»=** QQQ8{ö,Ƈ—_~2™ ׯ_‡¿¿?ÊÊÊøp7!¤U45˜jr®† jhÉã7 ¥R‰çž{N»]ßrá³fÍBÿþýQ]]ÒÒR>ÜM±(]ª¿%KBˆ¹±êRý-YzœBÚ‹®PíKB>PM¡2„ !!„P !ĹiöÍ’–üî—?‘#„8”€ ÍN«ùé!„pjÜJ¸À+!Ä®„põêÕ8|ø°EÔÚ ¼Rˆ ¡6ɻヒ‹/"22’Q%„8ŸnÚ´ þù'víÚ___“FYÖZàU.—cíÚµ A×®]µ«Sœ9s#FŒ€¯¯/FŒ´´4½yeffbüøñðóóÃ!CpâÄ ½ÇAqP!ܹs§v!…“'ObË–-X·n]‹¦»Ö\àÕËË HHHÀŠ+±±±˜9s&²³³1sæLÄÄÄèÍkáÂ…˜={6rss±fÍÄÅÅé=Bˆƒ aRRz÷î^xkÖ¬Á²eËàââbR[¶lAïÞ½áëë‹Ç999Ú‘ÖSO=www̘1Ãh xݱc"""ðöÛo7ëæÌ™777Œ3EEEÚògΜ <ýôÓÈÈÈлoZZbbb€)S¦àòåË->Bˆ á¡C‡––†óçÏãСCˆŠŠ29U«VaÆ ÈÏÏGrr²öÑͯÕÕÕFx­®®Æ¶mÛ´Û£¢¢ðÃ?`ß¾}X¿~=hx5XyqãêwïÞÉÉɨªªÂÎ;¡7¯>}ú`Ó¦M¸víJKKQRRbð8!(„‚ï¾û¯¼ò \]]MÞ_³ÀkDDþøã)îÆ޼¼¼Fûixˆˆ@yy¹v»æšÜäÉ“-ðjʵº 6 11ÁÁÁؾ};âããõ敘˜ˆ””„……é½&Yÿ8!¶M³f•Ëå&?Pm®kd\à•Ò¬º0«¹à¯„KbÒOì¬õ³9.ðJ± !ä£ „G…ËpB(„ !„BH!NŽÑk„M¹ÃBˆC á´iÓBˆs !Gƒ„GÂØàNÚÒ !ÄáG„&LÐþ…BÞ5&„PB…B(„„âÜHÇÃËË‹AhcŒ­¿Éö°­ö :¼ãßvhÙöÓœB…B(„„B!$„úðf isö½ˆ„oNC©V‚AÔ9$ŽŽWf gêQ•—‡ôeËP|ìº-Y‚°¸¸FiÔÕÕÉdI$ …Ø:J•›¾>…7¢ÇÀÓÍ*A¥P @y¥k’¾§Ö#') ™o¾‰Þ&`à /àà‡Âï±ÇàÙµ«6MÁW_!mÁx„„`ÈÞ½pëÜ™ãÔ˜ØW Ê V×ø4ÞØ=ÝðÓÙ\MËÅgrñŸßóàé&ƒ ÖÙZ¡ÀùeË0nÉ„ôë7OOô?_zI›æVf&Ò—,ÁøeËpïý÷ã—‡Æí+W< !±%Žþ‘ƒØ¾ƒX\g+‰A€Zj V)@¡ P ¨®U@l%ËX›ürÊdðèÒÕ¥¥@E„òr ŽÛçÏ£,5ªÛ·qjêTÜ7}:Ü<=4p ú‹ÓO?ÍàQ‰- À¶}gðñ7¿£ºVu·Ã‰Dî¡R ¨Ô€R-‚J ”ݬ`àñÖ[øcß>ÀßBm-D7o¢ÿĉH_ºióæ!¬ø„‡C¨¨€PS¸ºBâêÊÀQ‰µ©ªQ⥄qöj ^˜1V÷C P uâW«*nWC¨­@d¨ƒ×€€ÿú/(¥R¥§Cäîuy9üúô¸¦¸~Ý~ê¿þ•·ná÷¯¿F¿¤$“ÊËå&mo –È“BHlŽkE˜·ö[´ïØÓ WYÝý¸‡íÀC‹v`Ì?vB€ç?üßýGO¦Á×C5ÑÃÇ˽Q~µµµX¼x1BBB‚_|µµµz¿X/^Ä Aƒd¢Ø:÷®]‹3ß|x{*Ôyyù÷¿cèÌ™²² ܸ•\Žc[·¢oB<ÂÂôæsàÀÈåòýÍÑá]cb6Ne`õöã˜0rî À¥‚[èÚ—O…T H%"¸HW™®R1Ü]ehçá ‘(¾Y •J­½–¨áwÞANNRSS!bbbðÎ;ï`åÊ•:éŽ=ŠçŸëׯÇðáŽu×Y>t(6þ>¸|íÔjrn"#ï&2ónâR~._»‰Ì¼RdæãÂÕ¿ðWq Ko!#û:áÎÍ”úù¦¤`Íš5ðõõ…ŸŸÞy礤¤è¤INNÆk¯½†¯¾úÊáDT·oãvv6¤íÚÕ=wY[ uAT/BöÐC8÷Í7„†¢ëóÏÌ#;;yyyHJJµk×põêUÏ_ýubðàÁHMM5º].—cÙ²eðóódffbüøñðóóÃ!CpâÄ @ZZF‘ûÚµk‚®]»jMâ å!—Ëõ¦§›cõöãøî·\LÿïÑP@†«…UˆÄbˆÄb"A-ÔÝQ©(ÕT*ꨖJĨQ(áî¢û@ðõëת}Š7nè¤Yºt)âââìxÁœyæGFÂ74ê¼<eePggCìホ%%ÈËÈ@ßÄD£Ù$%%aÉ’%J¥Xºti£ËAAAÈÊÊBtt4-ZÔäö   °páBÌž=¹¹¹X³f âî<ðƒéÓ§#??_gI,///ddd !!+V¬0š‡¡ôBbsÔ*U€¨(TjUjÔªTÕªpãf5®•VáZi% oV£¸¢e·kQQ¥Àí%„;Ϻ¹ÊðWqBt×îóóóCvv¶öýÕ«Wµ# {÷îÅK/½„Ý»w;\l3V¯†ôæMD<ü0Ôii@U “b1¥;Buë%%󨩩ÁÎ;1{ölÈårÌž=;wîDMM6ÍSO=www̘1™™™MnŠŠ‚äίXÒÒÒƒ€€L™2—/_®;öŒ <óÌ3pmp{Μ9pssØ1cPTTd4Cé)„ÄæxsÎ(ŒØŸ}s2(ìí[U*äWãæm%ªkÕPªPï%@©ªªÔjȤbtôtÇ®ÿü‡†êä=uêT¼ôÒK(,,Daa!–/_Ž¿ýío:iˆ½{÷båÊ•øä“O&®{ö è«¯0øÉ'¡>u ‚JÉý÷CÙ#@()¤´½ÆÇÅW_5˜ÏîÝ»1pà@”––j_ƒ Ò9q$''£ºº»víB=šÜ.•Þ½½Ð§OlÚ´ ×®]Cii)JîˆrÏž=±}ûvÁ±¸±ìÊÃPz !±IfŒï¥Ó‡bÏþcø«°=ƒÚC"aL¿Œêãá½ü1´§u÷C¿®~èê‹n÷ø ²Z‰´¬¿ðÎΣhçî‚I#"tò}饗ХK 4ƒ BHH–/_Þ¨üž={âÛo¿ÅúõëñÑGÙ}<ËÏCú²e>w.pö,T€K໕+QQQI·nP:…ÐáÃQúóÏ(;}Zo^[·nEtt´Î¶èèhlÛ¶Mû>''áááØ¼y3Ö­[×äöú$&&"%%aaaËåÚëñññعs':wîÜäc3†òh+D¡<'ŒŸ±—nÔ¢¶¢ûž‹à·ÚÎñòò²ÚŠÈ¹7ʱdÓADtÅý»¡½›¯¬ÿRç:¸£‹OL}/Fô½Ç.ã½ÿ~LŸ>ÝèRý¦¶ÇïÓ¦!ÔÏCB 8|²1cð×Õ«8wü8Bââp=!#çÍCíW_AÚ¿?®ßº…‹gÎ`ØÁƒNßÿ›jx|}\Úû "ïŠÎâã3ļÜã×Û–?Ž[àÿ•aò˜A€×Í09¯¦F¦xRØ>cÇ"3!~ýûCöÈ#¨(+Ãéo¿Å°C‡à„œ„ff¢Sd$”iièãÒÞ¯Ï`T!K{ÃB¨/!„8͈°"ï£AqJDjµáþC`(!ÎÈ•ï?ýg°ÞÌ;äÏcIEND®B`‚nted-1.10.18/doc/docimages/upbeat2_after.png0000664001041000007640000001260211520267216015470 00000000000000‰PNG  IHDRi^iº*sRGB®Îé pHYsÄÄ•+tIMEØßâ‘tEXtCommentCreated with GIMPWïIDATxÚí]w\SWûn$„%ˆLÁÈ^¬Ü.œuÑŠ¾­£UÔ–._µVëjë+üê¦(uu‹(Êj- "{@Bƽ¿?†(’I8ßporϽùžó=çyÎóœs1‚ apƒ„(@@@2@@@2@@@2PT¤¦¦^¾|ñ "0ä"+$üýý/\¸Àårh4¼ÀqœÏç#  7ÐP€d€d2‘€d€€€d€€€d€€€d€ sˆŽŽÞ¿?‡ÃA2@¼ˆŠŠÚ±c‰DB2@¼ñp^?É€hzuõÐG¯¿¬GÓÙƒR+û÷•vÖ ¿Ú¹yƒÑ„ÀÅ#‘Çãñx<Ô˜ºŒ‡óú\œ¼ß—NXs¡@xÈzzdþ„µ–)T£Y²d‰¥¥%jëÝ@ÆÃy},Ö‹ƒ~·êß>Y¾bÅ™|Ê}äóùh4@FQ—ÆB~Øú]éïù %þ›ïcëP†÷ 5B“ šŸÿooа6LW‡g56eŸœ¥.8®»òsL5®8¾2B ÞæÓçK€âòàäJ+uÚ˜Õ·˜ }†¿®¼hR•””PKB2x¿[ðêê½°ÝñÛZ Š@£gzè >o|YƒìiÅ–¿úIb)Íw÷:+Jëi}K½V›©ž…£ @Ph°  [¶}†^û]0’Rëmˆ*Ša#(´ VY^-è-pÓèèM2Êÿ©›[ E&5‚BËo¢3Ô‡itœ² sž ÜfÌaŽ:⿯€6‘ pYÂøXÇê O"Ÿ ¦P–}¨‡l"Å–F"“¼ƒ ø¥×ßb€kÀd  Òœ"’ª¶*ÎkÓ¿üZ``€2cëBS¤‚Aç‰Ôkjjž?^PPPSSãèèH¥Rù|¾ÀúTRRzÿÿìóurÌÃZŸÏ©‰Ý³îŠ »HwÖlÕô˜{]]+Ùÿm1]Á"Áy2™Ü÷ü_UUÅf³ïß¿ßw¿¥·(//€{÷îÉH;+**€û÷ï˦D’ÁëׯçÌ™Ããñ‚øòË/EZCÔ’×Là³ þNxP¦Ì£?¹šÚ Êfî&ã+¥ó¸µ9%*æv#ÔÎÓ Óél6;..NŒk###$OPå³è¥…ÅeUµl>YmhEyAñññ2ÒÎJKK ‚HHHèÿh‘‘‘VVVööö=L)ôˆäää6·´´ðE3u£¨/Šap+ï~:¢õ~*“C^³ùR·æÁg&¤)×kùSSSñ®uvv>wîœÔ½ˆÜ½|¼á;K0¬™/+ذa†a¢6©ÂÙÙ9$$¤ûïôÚ@'‘H" šjd«PÖL§¿:¹|á‰BáY¯#¿¯³ H§CÀ«£¶.?^ €@Èe®‚>B¼' Ã0ñ®åßúnéŠÃ©ëGMC¹©±€\«‚å21‡aX/T!°0»¿¯HÏ$Ž…JÖ6¥€?þÚ{ãC5C„†¯3S‘ÒÜCÅÕ«ÏU ~è t:9ùaËÆÎmՀᄾ9~'­œÅc64•^š+èÞ®¼liùbePRŒŒàjNs]xbÔçWÏ,5–Òü¯øâ§›¢ §^Ì™DnNÈÒ€k5ÿŸ~¿nºy›oDpt€¢I••Ð̆óDa¸ïh"1Öj?Ržpðæ/m)ÝŽ[¶6¨býÿ­6¤3‰ì—'Ž<ÁF%§†ÎjgæÆžÜîcc»åFoÚ0V É@†ûjò¾åõÉO¶jÙpiÝ©%+ØÿG^PâÖÔŒA[mjN«fk]Ž`Ô^]ëzõîÏbá¾!^ʨ}÷• Μ9ÓÃ(C0_†í<ú¦í˜jª›=ô´”̡Ҩ¿ÔN ¢&ž;Í-z)ÈÌ€ò˜s§«UŒÄ‚‚&“yú´8¿‘N§ÇÇdzÙì^^‡_=åÑo±¥í^5c{·‰“=';ÓroŸÍØñŠYž—“W\Q×ÄWÒ4,//©ñôètzJJ …B‘¦ pL~u-‚K¡) íØŠ²Fž¥Š4ÜNQÔé‡jó¾þ@—„ã8ÞfoŽã½†Gì' BŒkÕí–~Øóͫ܊ž’ºŽÉHS=u%L²G‘‚%À.ûçaôý„¿óD§–†Ç)Ý5ž>ôLz Dºá3nÅ­UÃÚ WÕÐZö!…0‘ò•ÏÙ‚ÖhzºMè"{\Ð𙯯¯Øá3'''‰Âg²VÁm5:ÍÁ¨i´wÃg‹XýÿTNNNÁÁÁý>ëoú‡W·~ÓmÔú;SÖ$12Ò«ñ)š’: ɬPrõMkÇSU.ø/Á߯DoÂÁø++Œ.cEìÀØá3™'?lù¸O® –Ÿƒá„>þxåÒyS ¨xÙe¿‘Ënr®e°V›PûÿÙzdXŠ.2^óÕº‹µm"8pnËÝ’Šrß4šiJX¾ÆŒkMo³ w}†yGqÀóÜ«¸yZÈÓ8ôǸ0²Çè34=Ù·>¬ªõÈvçéMVJí„1JPÔœù¸„3ÓFEAª¼¹ââàE4è†gRHƒ}QÇ8Æ~WZkÇÈÌ¿pìðO¿Ü- @gòz Å–7/l˯ù­GÆÚS@mÌÄð 7ÿQ6ltä¾¶3`w üo{a:fUµ DŠc$^¯!«ý…(.rBBB›‹ÌårßýΈ h÷ŒiÞËxÂOênûP`Ä—ÏY„ÔÐüô›ñ¦F`>ÿÑgÀ‰¬Ó„ ðþ?U‡àŠS®““Sxx8!çÀé·—ti”’-ˆ-ç Ô³999…„„tÿ‘Fƒžæzùå7öœkõŒa̶Ÿæ¶^ f>iÜyUxú?sž«sq-ƒQ¶n³çÏ™4Jüª.ûþ*Üׯ½Eñ˜´j»ü\¹…ͽ÷c³QLgÖÑ󛲄¼ì¸C³Ž½÷ÒÕë6¬c7d×ÚˆÂ0&J²Ç£G<<<Åuvºñú§gÅTÛƒù‚õ‹¬Ô„“Ãü†œ˜ð+ÿ4¼{ß!“¦OŸh®%K1‰&û+Ç>zÓíÜJÁ›Ê{ÿkBCCÇggg§bÀÙô’‚RzŸLÓªod £* +ÍBCC]\\¤éxzzvø•7"+Z†ÍÙ¼Æ×’À)‹ûm籨Â÷†-ˆúœäÈür¿Ý{×¹éH@ÑR’ú0ƒ6aš“NŸQŽÕźè~z¬am°õt#«Þaccãåå…f›úcÆŒéáÞ†Ï8þø|Ø6:¸Í|Ìz}§“±¨:Dó=ñlëí‰u|\LðèÖ›¦^¯Ãû…Ç»r „î‡ðf1Ë„Ïp„>ƒ |ÖýwzmŸcÁʉÍvøJ^›TÆ0Œ—wrÕú; ƒN`¿ïÍo.ýûâw³ ÛËË:¼ô«xƻŊ¢ænàòcÅ.Öõ"ÃØfѺddü÷pk+¦*fÙï£Aš…a‰'°fA–0rH™¶A°])ûå±ÃqMïßþ}“xö»YÚ›Ó $U#·e?ÞN»Ó¾8ÊOm=ó¦÷ï¾éÇÕgäáp9 V¾c¾«˜Ã®Û°tÐÆcò ‘|ƒîÜh~S0Í“âµÎS—¼Òø{Å Â~ÿÔV ã7Âëš3Úbhd½Ù‡.|5éh±àÊôãç_oÚeKéÍDu?¯>Ó á/áH$>’zPÑ+W˜h ²Ä›‹ŸÅÅýõ"¯² ÔôF;}8sŠ£>CÍ»ßdIH·½ß8m €S‘U  ³à‹éz$PÒµµÖ‚4F~r6“°ÑÁ0ñÛÿë².E`N½¹ó¨z‡íp‘ܶÕg¡«CŠú‘­¡Ö°ÀZêq‰Иqiwà׿Ä¿]Œöä  ?Î2@{¢‰Ä°Ä£9YÓH`hš™ g‡ ^ `ôd ¡=M9~ð²´´_gìó©{ÛÝË2ÊEK¬põYØf[êਤ®.m~uæ#[»?wÖÔ%˜÷ÑÙ"ô•~’¦f>ހ߶M£Š±ƒ@Ef…°e+éÚYi@QjF}ûì)i¨Ë4³6‡Íµ5WŸ…}aMÔ£>¯øÂªIk#Š»î-R®f4#ˆÖŠEÑJRR’——— |¶dÉ’Ná3^Õã[±ù-0ÄÙw¦¥:xCftÔ ÂÞ{¶­& pfö½Ûÿ0€j6mŽ›.¹­3˹ùD˜Õpðžm£)‚&ùõ™ã+FMó´P'ñëÒîÜ{Õ z“N1–Ï%‡ÑÑÑVVV#GŽìeÇÎŽ»õOU·Î‘šõ,oÇÞÆo ~s]eUM=“Í%ªºö0}mª\ÏDGG›™™YXXHêtl÷»wïî¼_KÓÒÔåôzžëú]‚„œî‰ÍÜ”çºa×*c24=b<üø‹M¼i×r£Ö줜àÇB¨OÞ¶w¯{ϯ;`eüoÉZ›WN-1VhÉ<ðH ƒQË¿Û3MC.+)--mÑ¢EóæÍëKPsË+âz÷œÃ–à_?!ºs€7åÜ Þ{(ôQùÛ£–ë~9ºõÃaòújÍ´´4__ß•+Wö`9õˆ¤¤¤®Ãg8޳ÿýÁÀxS"C ã3ï]¼%±QpÔ’½ß@sÙƒ†¶ÐWIè$¡U£¾àfMÏ!4~CjïÙÂÖh~¶]¸úÌóZwÄŸq v[÷*î‡þíEDÏÌ<µÄ¤ëÒkÊ:Ý­yº+—2 xÅþ¶*Òp3$§¨OHݘ—¾ÿ‹eSÇšékt¶»¦5ð ùBß9‘b/”š â·_¿Á0 JæfHNQ‘,Ê"Ì^¯>sssÃÄÚxŒGÏ|žËõÑÎ6ºòëâ–d¦—1»ÝöŒbhgoBë}œ©´´TKKK]½×ïˆ....//wvvVV–”ÌÊÊÊÂÂBK‹Ñ$‡O`dU5 uU¥^Ô3·,+½¤QŠ$/¡K†544455%õ ¤‚Æ‹U=úÛt¶\ üŠóú=4Ìíל~^s.ÅÑàØ±c$)>>^ŠL%£Hò$Aÿ…É•´GF¼ÊW•¹ ³ûŒ'÷CaŸ™æý£ “+E’— ÑDgÿÉ@ÇT[{QZÊÄ婎ÉFÞ–FJÝ8‘÷oÚPa0ƒläíÚm8¯GŠ$/AFd€×ÿs~gÀ¼©Sç캘Vß)íKIËd¨ànŒ2†|%“‡›ºOSU!ÓÞçDf'ìñ@«ÏÈíæ.ï*œ'E’— I-­‚Xé{<Æîz!8HŒ½öðÆãsõÛ#cÊšÃÔåò}JT] M£ª,%%ñ‰$±*† œ—öônya…xI+ 8€2`½8uâÅ[g Ï|³"7Ô«ÕA'š+JomÔ©#Ÿv´òPkÖ¨ÉwÓž†˜{Œ! EÊ:c<Lìg’¥5Ðð+;Ÿ«‰Šè°î£¥4­4L hh™¬ÄPŒíîdÒ’ÅÐîÝÌ_^ ¿ÍþÁë^$ Þndo„L )Xãd2"AÖd 2ÚÇgx§sC½—ÙµíñMO¾øô½¦Ž@2@PH€ªã†-Îd1fѯwƒ§ Z?œœ°}÷Zsپ҆xGPL€²ù§Ç¿¶ê¸íKÁŸ¹j JçUÆ|·8( Èn?…m²Dc‚¬yöÒ+ S·ëNèë‰k®V§ÿ¼dìÏ 9Úe¬¥>©2-þyCžýs«‘޼mÅ (fŸ\J¿¿{–4ä=‹¿û¼  [}ž¾Ü½±yÛŠ=m#Ãéÿ½›ÿÙ³›ç/G%¥çÓyjÃí&Ï]µÆÏu’€4AÈarðÈ@à ë¹, tYˆøE2„F²žErI2’²že…¢$ÉÉ@~kNzï$Gn’r‘   ä¸ëuss  P( CÑ’ŒÞ%¯ðóóóóó“JQâm<¥H2@£r3   úÕz–YøûûWTT¸»»KÔ’$çI1 ˆ\dd=÷4F£ 8EÈEF@=’€E"añâÅ...ˆ‡n0cÆ --- KÜ<Ç÷CsÆÈ(B@@2@@@2@@@2@@øß–X8äö—ÉIEND®B`‚nted-1.10.18/doc/docimages/kmid_karaoke.png0000664001041000007640000010372611520267216015376 00000000000000‰PNG  IHDR)$óÝsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ ÞÊ€vtEXtCommentCreated with GIMPW IDATxÚìÝwxTUþÇñ÷´ôJo¡HhÁФ# R–êʪ ë¢¨XeuW\»«+º*¬¢ÀŠˆ Å^i¢€HQ@j(¡¤—Ifîýý2&$“L’I?¯ç™g’™{î=ç;÷ιß9·X’’’4~ЉˆˆˆˆˆH5ùøå§-öüeôÄÛ©6£nþ‹¹ôÕYK×Á×™£'ÞÎÉ3©ŠŠˆˆˆˆˆT›„Cû8¼ssÞH €3;KQ‘jç5I9yè'íúG`0V› ·ËExt]Zu鯨‰ˆˆˆˆTƒ´”³83Ê~T`hᑵjì|¼&)9ÎìBoùi+i » ÄjµÒ¾}{¶ÿ°†fí{hí©bÎìLœ©´‹+sÙ»vå%A!5n>%&)X,…Þ«U÷ÙÔ­[‡ÃA||<{~9Rd:©‚$%3öíÛ—«lûöíÙ¹kÁ¡5n>%&)‹µÐÁaX­Vìv;†aàrE¦‘Êg±X+´/ž_¾¦Í§”$¥ðI@`0V«›Í†ÝnÇjµ’“ë.2Ý¡]ßâÌLÃj³c±Xp»r±ZmÄ–pîJxHó¼žÇNóð¼%D†óÉ#ˆá?¯~NBb2ó¼€¿ÚÆû«¾àÆá=Ü3o8馼BýÚá_½‰ˆ: ‹ðìØ:–HrZ&C.¿ŒèèZlûé0«éÙiÎçÎÍ¡mLFõïÈ„D–}¹‰£·LK©Ç̵iZI#{³fË>_³‘ #¯äžñWp×ã‹øjË^º´nÌï¯êDÛ¦u äÁ'_¤Iü6ĵl§/ÍÀ0áÓõ;xgÅf¬ç-3ÿïö—4àÏÖ1âÊnL¼º;?î;ÊÚïv3 g<Ýbk³óp²_ÛUSã-""""eH2*¸•_ÞÛ|®™ü`‘×Þ›ÿx‘\¡¤ùüýŸðïÛ‡JPòç]Ü|JIR g1Á¡L:•Ûn»6mÚЦM† @LL ;vdîܹ´nÝšnݺñì33YúÝ Ÿy¿¸[,ztjÍgëÀ…Íf/”è¬X¿•;oŽÍjcÆÿÞfô ^ÅÎ3¾u3^{o9¶í¡q£†ŒØ£àB±X,´Š©K‡ØÆ8~†ï÷ñLÒ±u.ïҚ˻´98¨äâD–•—>^Çãw£g‡X/[ÃOÓ®m»¼xðÏÙ‹7´£¯èÄ·?ì&!Ù]l»7|·“WßûŒ–ÍÑ»Sf¿ü6ôŒ§vdéiýڮꌷˆˆˆˆø+K±‚ÕR¡ò‹¥Äù´íÚ·ø²§/e>Ÿÿ)ÿž<¬H‚RdÞkÙÏI±X­ÄÄÄðÓO?ñðÃcš&aayWü:}ú47Þx#&LàøñãôîÒžW>ZCfmKйeí=˜ÀÞƒ ¿²LÉsïoÀbµ{ÞX³ùGn5ÎlÖlÜʸ¡}KœuŽËEX­z` (š9Z­ÄÆÔãw}/`åÆlø~'ÁaQžk€ç^ûˆ{x^;yê AÑ ‰h\Ÿ{^È"B ‰¨ÍÙŒ~ü雨MóæMéKT•ý™É„GæB¸ÜFÞ ¤¦g†Õæ 9%FÍZûü-®ÿ¶«ã-""""~ÊQü1’bµ–8_^/m>Þ:´ÐÿïÍœ‡_\îµ>%&)³€%K>ä†nàôéÓìß¿Ÿ€€¼Ѭ¬,BBBˆ‰‰áÀ|úé§,zw)µÚ;Ÿb³ÀsžcÑQ‘ôîÜ–›3³yåó ½ŸåÌaþ‡k9}â0x=œlÇÞÃü=¨ŸnØIŸŽ±E—i±²|ÓO¼½t)gò’«àˆ(C#±Zmü°ï8Ã{Ç1´_7Òs,DEE2°GÎÿìnÕ“´ÌlÖnÚÎïöbÓŽý8žÄɳ©thw ý{]FßËâ0M“Ýû““cã…¿ÝÎcgù÷Ë+ ÝcÆjµj§ÕöëߦŸÛUñ?%)ÅœÃñÈ-C¼Nÿ >/RÏI﯉Li¯—4Ÿ‚õ¹fòƒžÃŽu¨×ú”˜¤W¡ýû÷³jÕ*2339vì}ô‘‘‘œ>}š>úˆröìYþ=ãq:º‡ˆð(Ÿ³8Ϲi2ÿãM„…Ò¿Û¥¤gfóù÷G Mÿíž#¤œ>NDí†@ñûᧃ|øÕw ëÓ& ërøøiê× ÿu™–#({@P^ 7›½GO3ï/Õ¿Þ2Šô,';÷%éÔ &OKÓúÑ<:g1¿ÿ‘Ë:´áî†qÿì÷™ýö×L܉¿Þ2–³)<ýÒJ8I&yWÇÊÉÎàäÁ=4©ßë¼8”+´«ºã-""""~HRÊxu¯]›WÓ¾çU…ËçŸORÌ|ò o ’¯óÉOPþ±ð þõ§A%Ö§Øåu|9zâíüräd‘7?šuµ£# ¡víÚüýï§U«V|ðÁ8î¸ãfÍšÅý÷ßOl—+¸|ìí>-77‡„Ÿ·â ¢n“V¸œY$>Fnv&a‘µ‰¬ß”„Ÿ·FÆ—äí`cb·pü—ÉÍqÒ yXLNØMHD-"ë6"ùä²3R±ÚØìvr²2‰®CXt=l6{©õrç:9{ò(Ù™©¸ssóîLí†MÉLI&ùt‘uÁé£û0FÍÛ“–’HfÊY\9N¬v;¡‘µ ‰¨E`P(‡vo9×ÎX Ã͉»‰¨EtýN'ü‚33zM[cs88¾'ÁáQ„G×#ñðÏ~kWM·ˆˆˆˆø&õÌ Ú·oWäõ¿ùÒk™K{ ðü½sçn"j7¨²ù,SÜkùó)(ùT‡wn.xNJÑ,&8,‚Æãv»±Z­DGGÓ¤IêÕ«Ç÷ßÏܹsÙ¸q#“'OfÙ²eü²}-;÷õ)Èv‡ƒèú1†äýúU;ïð"««Í¦ñëû ñ”¬Û$o 8‚ƒ‰®ßŒÀPl6;‘u]«=‹iâ6\ØlòÎí)ý—}{`Qu’“‰Õîðgg±Ú ŽˆÄ„= €  "ë5Æ„ÛÈ%¢v!Øl6,VÀŒÕn#ª~c‚BòîL­M Ãb±Y»fXmvAD7hJ`pV»Í¿íª¡ñßx»C{|ïA¾—·Zªe>Ž–?Ÿb÷] Nt>—ËÅ©S§°Z­ddd0òšëhßc™„ÖiÊìÙÓèÒ¥3éééÄÄİæÝ牬ۈº1­JmœÍf%º~L¡×"jÕ+ô`ph±e#j×/ôtýÆž¿ î\—W`H¸gg¾hâöëßQuzÏQ+¨Ø2µê7-ôT½&^ë]འàp¿µ«&Ç[DDDD|Ê|;_ „ò‹µæÍ§ä$¥èº ½‘Ó ¿à"8×IÃKÚS¯ikÏûcï{–ýÛבlw`Ö®O|¿d¤œ)4ˆˆˆˆˆT\Hx»ví)ö«Òìܹ›ð(,K›O)IJÑ,&¦MbÚtñ:óðZõétå8­1"""""•,ÿ¨—;w—¹lpX¤§|M›OÉIŠîi!""""R£…†~ÑÍÇk’’/35IŸ¾ˆˆˆˆˆT™ˆhïIJfj³§ŽT”DDDDD¤ÊÜóÌ’B‰ŠŽñ‘EIŠˆˆˆˆˆ(IQ’""""""JRDDDDDD”¤ˆˆˆˆˆÈo'Iq¹\DGGÓ¡C:uêDŸ>}˜7o†a”X.++‹—^z©Ôù§¤¤Ð½{w¿5î©§ž">>žÎ;Ó»wo6oÞ\l]Þyç&OžÌsÏ=ÇÃ?ìu~‰‰‰ôíÛ·R>ˆâêZUü÷ê¿nÆÅÅy=öX¹ÛVžuöb‰cƒ ½öÜsÏñ¯ý«ÔöΜ9“ž={2}út}³ŠˆˆH…ØËZ 00~ø€cÇŽ1iÒ$233™6mš×2™™™,X°€I“&•8ï°°0.\è—†mÙ²…wß}— 6Nbb"999ÅÖeìØ±Œ5 «ÕŠišUþ!x««”}ÝܵkW¡×Ünw¹Ö)_×Ùßš’¶Ñ×_o¿ý‡Ã¡@‰ˆˆH…Tèp¯Fñßÿþ—ùóç{^=z4ýû÷§k×®¼üòË<ùä“:tˆ#Fðøãy£}úô¡gÏžLš4 §ÓIzz:úÓŸüÒ°¤¤$êÕ«Gxx8õêÕ£I“&Eê²wï^FM`` ‡ƒ¹sçòâ‹/ðÖ[oÑ£GúöíËĉ Íÿ—_~¡ÿþìØ±£Òêê-ž‰‰‰ôîÝ›;N:1iÒ$Ö¯_ÏÀ‰‹‹cõêÕeš® ½{÷2bÄÏÿÏ<ó /¾ø"‰‰‰tïÞ{ï½—qãÆ1jÔ(²²²€¼_Ð;wî̈#¸ýöÛ™7ož×ϸ¤ùT†‚ë”·e'%%1fÌ.¿ürzõêÅÒ¥K}^g½¹ØâX\< zà8~ü8cÆŒá½÷Þ+s¼DDDDü–¤´mÛ–””RSSxõÕWùúë¯Y·nóçÏ'99™x€fÍš±lÙ2|ðAöïßÏË/¿ÌªU«Ø¸q#Í›7÷ì€ûKß¾}IOO§wïÞÜÿý¬Y³Æ³3U°.%íd>öØc|ú駬]»–çŸÞóÞÏ?ÿÌÍ7ßÌ /¼@|||¥ÕÕ[<óëpçw²uëVX¸p!+V¬à¥—^â©§ž*TW_¦óÅ¡C‡˜6mï¿ÿ>±±±,Y²„;vðî»ï²qãFÞÿ}¶mÛPâg\Ü|üÁétÒ¡CÏcÑ¢E>µá“O>!>>žuëÖñÍ7ßpå•WVê:{¡ÅqÖ¬Y¥–yòÉ'©]»6Ë–-ãšk®©’m\DDD.^vÎÌ0 žþyV¯^M@@‰‰‰8p€¦M›šnÍš5$$$0nÜ8²³³éׯŸ_ĪU«Ø²e ëÖ­còäÉ<ðÀŒ5ʧòk×®eøðáÔ®]€ÈÈHILLd„ ¼ñÆ´jÕªRëúÇ?þ±Øx6nܘK.¹„K/½€:йsg¬V+;v$!!Á3o_§óE‹-<#<­[·&!!ôôt†J`` Æ +õ3.n>þPðPÄ|)))¥¶aèС̚5‹€€ D=ŠüêïÏuöB‹ãsÏ=ÇÙ³gË4ªØÆEDDDIŠW{öì!**Šˆˆ–/_ÎöíÛùì³Ï°ÛíŒ5 ·Û]¤Œiš 2¤È/ùçïPV”Õj¥{÷îtïÞØØXæÏŸ_$I±X,…ÎCÉÍÍ-qž‘‘‘4lØM›6ù-IñV×FygþÎ,€Ífóüo³Ù ]ÈÀ×é|‰GÁs ¬Vk‰Lðö'&&–i>þVܲãââøâ‹/X¹r%>ú(,rx_Y×Ù‹=Ž¥ñVoŸö+RøØ±cÜ{ï½ÜvÛm¤¥¥ƒÝn'11‘-[¶\èxù~ýú±téRŽ= äç~èÐ!¿6lïÞ½ìܹӳôuëV5jT¤.õë×çÈ‘#žÿuëÖy‡`}òÉ'œ>}ÀóKr`` o¾ù&¯½ö~øa¥ÖÕ[<+“·xxÓ½{w>ÿüsœN'N§“åË—WÙgì/'Nœ ""‚ñãÇs÷Ýw³uëÖ ¯³¿Å8t¡Ö[DDDj†2¤ä¯nµZ eâĉž$eذa¼ñÆLœ8‘   ÏaF!!!ôèуîÝ»3tèPyäf̘Áرc±Z­Øl6žxâ ¢¢¢üÖ0—ËÅ´iÓ8qâ¹¹¹´k׎ٳg[—o¼‘¡C‡ã©C«V­˜>}:W_}5v»ØØXfΜ @hh(o¿ý6cÆŒ!44”ÁƒWJ]###‹ge /6ÞÄÇÇ3fÌzöìIÆ iÓ¦ AAAÄÆÆû·iÓ¦Òêît:‰‹‹óü?dÈþùÏ–ZnË–-<öØc8yê©§*¼Î^ÈqôoõnÖ¬™¾uEDD¤T–®ƒ¯3GO¼#‰)d¦&1{êHEEÊ$;;›   œN'#GŽdÆŒ\vÙe Œâ("""â“{žYBHD4§ŽîçðÎÍeI‰ŽŽ.ñý¤¤¤€óÛPêì-®B<î»ï>vïÞMjj*ãÆ«–ë =†5=ŽbÉß_ùÓm0ªoÏ4/ø‘½¶tš2Ž„Cgxé£IIÎâÉé½.ªõ¹:„‡‡³víZÏÿ}ûöàøwÞy§××ò_÷VvÞ¼yê DDD.Ä$ÅŸ‡~mÙ–Ä»3:ð+ï/ÛË ×4­´FžLvñÜÒ$6  Ó%Q ëN|ŒI½(6k4&”æâ—õøìûlÖîHbæ‡g¸ýjÝÚDTxÇnÚ¿ÖòÞ— ´˜p N®Md <˦¥Ë=Ó|´:‡î#§Û¼wS$ñõ`¤q '¿ØA´÷·°ÜÔôÚõ¼„ÇÁŽÄú\ójoZð5¦a0º#6m?Eìïºðá8HÉ®ÍÇHÞ^ô>F®›§ÿqùE±>W§Ë/Ï‹áºuëèÔ©o½õ‹/.ö5_Ê*I¹€’”óñªèÊ©ÓN>]y’øvõ™|S 22\8Vl¶`~ÜÊ¥í"üÞÀcgòvèöœ àš¾‘Œè@­p+‹…L§ynw.Ãn¥M“@šÔ±Ó>ÆÊÛ_ŸeÞg)„Ûˆk†Åb)WîûûjÞùâÍþø^šX—g2!ÄnbºÝ|øå¦Ïÿ‰œÞY8>’FayÓä`¸Ü5¾½5q¹ó>Mâ¦Q~]®é2È=÷ù5 ƒã#ù“Ñç­Ät»sU †ÛMˆÝäLf^™—&ÔáF×XÞ~õ- —‹Y^qA¯Ï""""Õš¤ä'(¾âÕ龌¾¢†9nÈuä¸`Å×Çùi~ ·œåÄIƒkFµ#2ÜANNÞÎTV–›ñ£[òïY[hÙ<”à`ÿöõκT6´3¦w$Ã;;pØ-¤eÅì}žÛ¹³X“n­‚ÉuÕâÕ•K7¥Û0€€€€2ïØMýÛJÞÞB“)“™õ»@œn8unç5×mbº f¼°W–'Ûïjþ;&Šº!§Á“ÈÔäöÖÄå>xm='‘1½Âý¶\Ãí&·ÀgX7fމâ^c}~9»÷&aºÜä¸LÏ4³Æ×å®É,^¸ãÁ/yæñäúìOäÅ`ëÖ­œ={V߯"""â[’R–C¼šÖ dâ5µÈqA¶r\àÌ…Þñ¡<ñÂÏŒÃà«j‘› 99…Ëfe¹="–ç_?Äø‘iÚ À/ÛuØÉêsèØ"Šž­,dådç~k†¼]¸_õhΦ=i´mâ g\›vŸæû}™tkc+ÓÕ…î™¶œ·Ö'Óø¶?òdåBVî¯ïç¸òvz_úø ®¿ã≠„Äù`®‘÷ë}yÛûñ&ßF¿w.w{½ÅyÓžtÏ4}Ú‡“ë6Ù\àµ^qa¸ ü¾Ü‚Ÿçƒ×Öãºçr˜:ÈYäó.ÏrM—›\£ðg‹æ_Æ.Ynƒwáiþ1 ‡X<ÿUÌ¿|γOñÛúÜ£m8ßíMÇí6=í³ ¦ 9.³Â볿““ òÎã±Ùlú&ß“ðýê^¦iúß•Ç6'îÊæÿîéHH0x0 “K[G±zíQNœÌòK’âr›¬þ! «=€.-p)yu|YÞ!@ë~L%Ó™—ج0 sÞë)yu&mºÙñ‹ƒµ;3‰kHd¸o;uwýùÞZ›DÃ)·pOï 2r ã¼ä,;(wP(QÆñçAµqÀÉóvlsÜy‰LEÚûðuõJ,ûèâD2y;¼emoI˽{tCÏt+¾KöúZyâ\ÒrÏ·øî®{nîYèõò,×<—€œÿ9…:àŸ#jñlàp’?ù”ìÀð"ÓÜÓ;ˆYî›xcÞŒ?Âsϯðúœ¯u“`~ø%ƒŒì¼u:<ØF§–ažXWd}ögrrë­·ШQ#vìØÁŠ+ôM,"""eKR *éÐ/·ñëSòá,¾;ȈÍiÞ´äÂ%¥»xö£“`šäæ†òɋǸ¢kvÞá*¦ÉßþÔ°\ KÉ4Øw<‡°ðúD¹HÍ(z¢p–ÓMJ†«Æõ­ãyýlj.GϺÙq"ŠÔ¬RÍ0œ<È©ä"ÃCJ^nJ6¿ûÝëüxÖN½{î`ÂeA¤å@ZNÑiûÇ…³{ÊDz7Áë49>îåK{Kòʺ@€²·· ËMÉ(|/Šf”/Îelo~¢2¶c*n·YîÏ×p»‹MRò]×§6šM¤]ïÓL¸,ˆ—o»…7žûÛû¿ÈÒ%‰Œ ªp{ÃmÄ·aõöœ¹&–cJ?Ì.W{ý™œÜ|óÍŒ?€ùóç“’’Rä¿]Ý«à~tê‰TzwkXj‚’œa0üáŸxy#.‰ Ã0 y›8nl˜ýÌÖr')gR]$¦Ô«ŸwXLÖ¹Ãb Ÿ–é&5ÓŤ¡ •=pÊd{B(GSÏí8ÚíœI38•ì$6¦äåÞyçvœ¶Â­·Ó´n)ÙâeZ+о%N“㫇{ykoÞRJg1rØw6¢Ìíõ%Î;f\¸.[ç­Oå‰sIË-nù¿&*t¨Ÿ\îÏ×t夜H÷>MûsùnIÓ4­ÄÉ?ÝÆŽçrçKX´èÚ µ7_Dˆ~ñ‘¬ø>‰ÔLw¡X—§½þHN¦L™À¤I“X²d wÅ´´´ îÕ¶m[¶mÛVêk¾–‘ž¤”åê^îûÑÖÆõ˜¾ðGzt30Ýà6ܸ݆ËÄp›¸ÎýýÉÆ³\su3êFñõ!0  ‚í[S°ÿtˆË;‡—»aÎ\“l—ƒG.ÉV Ø ïº&E€µ¢pº~Ýq²X,äd;KÑøä“Ÿàþ‡ (˜]g ~(8*pµ×7ø0’âK{½Ùºð¯øeioY–›zÞ Þ iáØÜ•¾Ü¢‰J§2Ëažûk IDAT÷ùšçFRNTàBw¹ì:Ä›ùä©ÇüÚÞ¨0;WvŒâÃo~­ä©Ìrµ×ŸÉÉš5kòêrêTáu<'§ÂIŠ/¯ùZVDDDjx’’Ÿ øru¯‚‡{}¸òÍ[Õ¥Cc;ÑuBÈ4L²rL²r 3Û$3× ;nkݧÃÎæ_ò‹ÎÊâ̦C83’ùËW¸©ÙN¦˜Ø¬lÁ,ðû5ýê[&Ípng.ÏôÜ“i”iÙ¹°ü´†°ržf“ã‡Ë(w{}µïlD…Ú[Rœ>ÚÙˆZÁYL+Ò>›ß—›æ´s"Õ^b¢Ò÷‘ò}¾†+/I9ž^¾Ï3=ö$Ëðßúœæ,ÚÖº‘&ò[œË’œLž<¹ØääàÁƒdeeùey 6díÚµôíÛ×sÈXq¯ùR699Y½ˆˆÈ…’¤”åê^“”•kùyÑ¥œIÌ%²¶# N¥Áé48tÒ“à´N'ÂÙd7§O9É<“Îñ‰˜iY4`_†Áå]ÂÊݰ;Ùr8™L†;è׳;ÏyÓäéëKÞ‘ÏÛ±3qXœ8ì¥gÇ·á“E/ä)ŒË€OAˆ"!Àöë¡Hæ¹$$×€üµmdû¹Ñ—„ø0’âK{}QÖö–e¹g³‚«d¹i9”tšÃàÇË¿\Ówiíãy€Ãeä]Í®àçç°ÿ9§:!³ài9ÙY°èe†oSáögÊË0÷æŠÅ¹,ÉÉ´iy)èõ×__(99zô(IIIdffúe¹-[¶¤eË–¥¾ækY¹@’ðýê^®s;__m΢o|ÁAà¨ç`ëÏ©ÔmÁÏGaß!8qÊÅ©ÓnNžvqê´‹Ìä,²’3H>–„™c[ÇŽËpѦ…ƒ¦ ËݰZávêFZÙbà¶¿sœœaaâ\x}Š—àØòÎèHÏrÒ0ÔBTXé§ðÌ™3’” ï°nÁ\¸9/QÈtC¦³ôzçÿ@o·‚͹.ß®îåK{K]ÊÑÞš¸\+Þr³«Ë»÷Ly—kºÝääÀ #ï<¬óGD|`É΂—çry¬ƒ9sFV¼½Å´³YŠÇÙ—%Ääꫯ.”œäœäR¤§§ëWDDDü“¤TÒ¡_ƹŸ®¿Þt–±}j‘aÀI'$Z#سÍaÚÈÌ6ÉÉìgŽI¶Óàô©Lr3s!4ÜNÀ$%#›?ŽŒ¬PâB­´lÀO§ÎâˆhTì>«iÂÁÓ0r&,)pRˆ#o/ÖznßÏ–{†f-Ô‰(=\‘‘A,]z#wÞ¹„7_ž‹õ¦_•"R“q|ü®«ÇcÖ©_8žçv¦}¹OŠ/í-MÝ]æöVt¹!w¹â\òrÝ8]VÎÏT®z À Äa–ûó5\n0 70‹^–Àræ$öÏÞ!wÔDòš ¯Îåú«êú” øÒ^°›ˆU4Î¥ùé§Ÿøê«¯Ø±c‡¾QEDD¤j“”Òý2Ü©°cW2oOo̶Óy‡ÄdgÓ ,XpæBvŽIN.$§ärâD&¦=k#;û×}÷¬†÷¯U¡†9ìVú]ʪÉ8ÜID‡xvìN¥†Q7ÂJð r£ò€¿-²òÄ„¼ö5 ËKÂL )-‡‘L·–6ÂC}Ù™3g$ܹ„·^›KÄ­S°MT܉É8“Îâøø5#Özõ‹—/— .©½|®ôú¶©“ŠË({{KZ.Dxþjuîø( _ ¡aXF¹â\òró.ŠPpù·ÎK£I8X,f¡Ã°Êº\Ómée2#ñ$Î_ÇÌÈ ,+[Ý¢IŠ™•EêkeKP|io~[óÛ P7Ø„U(Î¥ÉÈÈ`åÊ•:¯CDDDª&I)ëÕ½V~“F¿‘œH‡0;4 ‚07D4´“r6—ÝB-ÃEDn6áõsheÃp:12¸œ¹deºÈÍ5¨kƒø6¿å͂èÛÎΚݧh^;š@»,ðÂ'N¬VpåÔËÛ[u;áŸodðÏêQ74 LpºL''ѱ©AÇA”íþüDåÝsit×lç%*Ù“,·Á·Æ3kÁkÔ¾áFêMT’]î µ·Ð-È¡Àù …O/o{½-÷þ—²<ËÍóý/ez–Û³Iå,÷×kòæí¸ßÿÒI¢À ¨x{M—›èbni’sò$gßi·ÄóÔ¬õ„9L‚ΛΕűsùÕeKP|ko÷/mó,†Ü\ÈÎ6É͵âtºp:ÝääXÉɱ“í"7×Nvv099rr‚ø`m 9Ùá~iœÕje\ŸHŽ9ÍáãIÄ·#ÀaÇ4 Ün  ÈNü£‹9¹.öI§qdÃ:[ Ãáp”¹ù‰ÊÛ>F«{§ÓÈó^ºÃ$Ñåæ/÷ô$¦I$Óþõ:ÍnžHPƒÂ‰J’Û¨P{ ñ’´T¤½5y¹.>ND°ÿ–kºÝD—|dŸ8ÉÉů3ë}?¶ÿyr-áZ`ºÌ#ÇØûß¹ŒÓº\ Jií}ôͼõ¶2â,"""RÕ¬¾$(¾ÈÈtqðP£zŸ·cv»›Í‚Õj=÷·Õó·Õš÷^þßëvf1ìŠZ~k`LÝîþ]-ꄺùþçdRÒs ´dÍ{Z ý`!%=—ïN&Ìáä¦~VÚ6 '88‹ÅR®:Ì™3’ñcZ³ï™¹ØO#:¢ƒ!<à×C¹ÆmÇÌôáð+¯ãH:é™&:طýª»½5q¹³>8é÷å.£ÐgãH:ÉáW1óÿò”üD&Ìaz¦±Ÿ:ƾg*– Ô¤õ¹ºíß¿¿Ò_‘êå·«{9–Á”ë›yÝfË{˜˜† gN.YÙN²²rÉÌÌ!Ûé$;+—Ü\g®‹}{3~•ÿ’‹ÅB“ºLÍ»kSÙúK2 §¸¤¾:Ñ!جy'» 7§“2ù夋³)NÚ4‚am´Š ',, «ÕZ¡zäíœ.áÝ'æÒïÿ¦ݼ{7l¦w_où¿“{ÿ£¯Óᆑ4ŒoÍÞ/¿!<ØVãÛû[Ynxˆ3ë¿!v@/Nìø™]o,åéÿëíùìz÷hÂá ›iÑñ’cës¹vtÅ”š´>W§uëÖ±nÝ:¿¾6jÔ(õ"""5ˆ¥ëàëÌÑoçHb ™©IÌžZüŽÔ®]»J<ô+zÄO´iFT¨ Ó01 À01 ·ÛÀkàr¹p» Ü..—W®Ãeä=n22MÆG³èÙÒï½uëVz÷îíóáLÓ$''‡ï÷e²vg&NºIJwpî†$N—Ad°•fu-tki£c aaaûu‡núôÌ›· €¦M£X´è÷ÄǾëýÛìæO¬'-ÓETt0 žL¯Ë–i9ÕÕÞ‹}¹¿;Τ{¿ %)‹°`;ÿú[á`ÇŽ“L˜ð‡çH~Ç=˜1c°_7ÜÊnoY·¯ªM§N ½¶mÛ¶ ¿–…2©÷<³„ˆhNÝÏá›}ORÏ¡_¥ŸRʳeš&n·›Œ¬N%çp*ÙI¶Ói8ìy÷¨a'<4€€Ç{HLu¶÷·¶Ü‹ñó­©IŠÝn¯”ùº\.õ"""5(IñÛÕ½.‹»ÝNd¸Èðbc.Úû[[®Ö窣dBDDä·¡Ôã>Êrò|Uêܹsû•Wäb¡íKDDDjl’RS¹xù|u/‘ª`UDDDDD¤F')-Z´Ð³žõ¬g=ëYÏzÖ³žõ¬ç*}.¨È%ˆ—>ûg8 ôMDDDDDªÄù— .2’¢EDDDDDªJq#)V_&© Å ’h$EDDDDDªMqƒ$öâ&R¢"5Ùæo·°cÇN¯ïÇÇ·§{·® ”ˆˆˆÈàÀÜóÌ’’“%(r!$(·ß6Ùë4ÿ{a>€‘ @‹-øÝŸŸ-ôšÎI‘ ÊŽ;¹õÖ[HÏpz}Œ5¦Ä‘©9tNŠ\ Ã`ë¶ïغí; Ãð< ¾&""""]ÝK.’$Å _ß>¸ÝnÏ£àk""""ra(n¤È9)_|ñ«V­R´¤')qí.åôé”B¯ç¿–?’¢õXDDD¤æ{üñÇi7üî’“”Çœ—^zIÑ’饅¯bF‰£%ƹ÷®ºê*LDDDäðÑé…þ/r¸× 7Ü (Iff¡sQθuNŠˆˆˆÈã7Þ(òZ±#)"5;I1J<9>$E‡{‰ˆˆˆÔ|>ø ³—í*9Iùâ‹/)©±|:Üë\£Ã½DDDDj>Ý'E.x:uàí·ß*ñp¯5kVÓ©SKDDDä û¤Èï².éÔ©Ÿ}¶¬Ðå‡óŸ}¶ŒN:pY—Î –ˆˆˆÈ@÷I‘‹*QY±â³B#(+V|¦EDDD䣑¹è••+?Ç0 V®ü\ ŠˆˆˆÈH#)rÑ%*\É–-8àJ%("""" ¤ÈE§Y³¦üþš±4kÖTÁ¹i$EDDDDDj¤ˆˆˆˆˆHR¦‘=ëYÏzÖ³žõ¬g=ëYÏz®ìçâI,]_gŽžx;GSÈLMböÔ‘JçDDDDD¤ÊÜóÌB"¢9ut?‡wn.:’""""""R”¤ˆˆˆˆˆˆ’%)"""""rá&)k×®¥GtîÜ™3fP–i|)닊Ô!66–¸¸8âââèÙ³§_æK½&OžLll,½zõ*sÙê¨WeÆË—º%$$0jÔ(ÚµkG\\sçέ1+©^չކÁW\A\\mÚ´á¾ûîÃívWz¼*Z·êÞ.óë7hÐ FŒQc¶Koõªîí²¤:Tw̼ի2cæíû³*ûE׫²×1_êVýeEêUëXuõ•­[uƬºúËŠÔ«²·ËÊÜnŠëÏJjk™“—ËÅ”)SX´h›7ofÕªU¬[·Î§i|)닊ÔÀf³±k×.víÚÅÆýöùÚ¾›nº‰Å‹—«lU׫2ãU–º=ôÐCìÞ½›Õ«Wóüóϳ{÷î³âêUÝë˜Õjåí·ßf×®]üðÃüøã¬X±¢RãUѺՄíà•W^¡iÓ¦5j»,®^5e»,®5!fÞbS™1óöýYUý¢¿ëUÙñò¥nÕÑ_V¤^Õ½ŽUG_YѺUw̪«¿,o½ªb»¬Ìu ¸þ¬¤¶–9IÙ¾};7¦U«V8~ÿûßóù矞žŽÛíö:MIeË¢"u¨L¾Ô  OŸ>DEEù\¶:ëUÙ|©[ãÆéÞ½;õêÕ#..ŽãÇW{̼ի&¬cõë×Àívcš&õêÕ«ôm¢"u« 1;uêü1“&MªQÛeqõª ÛeyÊVg½*›·ïϪêý]¯š³êè/+R¯êŽWuô•­[MXǪ£¿,o½j2_Úä­?+o[‹$)ÇŽ£qãÆžÿ7nLBBƒ â‡~ð:MIeË¢"uÈB×®]¹ì²Ëøßÿþç·È—z•§luÖ«2ãUžºíÛ·={öУG³‚õª)ëXçÎiÖ¬;vä²Ë.«ÔxU´n5!f?ü0?ü0V«µFm—ÅÕ«¦l—ÅÕ¡&ÄÌ[l*3fÞTU¿èïzUW¼ª»¿¬H½ª{«Ž¾²¢u«)1«êþ²¼õªÎíÒmòÖŸykkiìe©Èœ9shÕªG­¶`øR‡Õ«WÓ¤IŽ9Â5×\C»víèß¿•Ô«¦ñ¥^Õ¯âê–’’ÂÍ7ßÌìÙ³ ­11+®^5aÛºu+gÏžeüøñUöËhyë6dÈjÙÚµkq8tíÚµF ŸûR¯š°]W‡š°Žy‹Mu®cÕÙ/^H}¥úË‹§¯Tyñô•UÑÏ×ÖÒIu5jT(›LHHðd›]ºt!,,Ìë4%•-‹ŠÔ I“&ÄÄÄ0lØ0¶mÛæ——z•§luÖ«2ãU–º9N®¿þzî¸ã®ºêª³âêU“Ö±Zµj1|øp6oÞ\©ñªhݪ;f›7oæË/¿¤C‡ÜtÓMlÙ²…ë®»®Ú×1oõª)Ûequ¨ Û¥·ØTf̼©ª~Ñßõª®xUwY‘zU÷:V}eEëVbVýeyëUÛeEÛTRæ­­eNR:vìÈÑ£GÙ»w/¹¹¹¼÷Þ{ <€¯¾úŠääd¯Ó”T¶,*R‡ääd’’’€¼cãV¬XA\\œ_>_êUž²ÕY¯ÊŒ—¯us»ÝüñdРA\ýõ5&fÞêUÝëØ©S§8qâ©©©,_¾œ¸¸¸JWEëVÝ1›6mšç¤½W_}•®]»²xñâj_Ǽի&l—ÞêPÝ1óV¯ÊŽ™7UÕ/ú»^Õ¯êî/+R¯ê^Ǫ£¯¬hݪ;fÕÕ_–·^Õ¹]V´MÞú3om-W’b·Û™3g7Üpݺu£ÿþôíÛ€éÓ§sàÀ¯Ó”T¶,*R‡“'O2xð`ÏðبQ£4h_>_ê0qâDFŒÁ¾}ûˆ‹‹ãõ×_÷[lü]¯ÊŒ—¯u[¿~=Ë—/gþüùžËî-[¶¬Úcæ­^սޥ¤¤0vìXÚµkG=èÕ«cÇŽ­ÔxU´n5a»,kÙê¬WMØ.½Õ¡ºcæ­^•³â¾?«²_ôw½*;^¾Ô­:úËŠÔ«º×±êè++Z·êŽYuõ—å­WUl—•¹ÝÇ[[}aé:ø:sôÄÛ9’˜Bfj³§ŽDDDDDD¤ªÜóÌB"¢9ut?‡wnÖçEDDDD¤fQ’""""""JRDDDDDD”¤ˆˆˆˆˆˆ’%)"""""rA³+5Gttôo>ù71‘ß.¤ˆˆˆˆˆH¢‘”ß[Ì[Ê]veA•ÍSDDDD~Û4’òJFÊ›,°,(vž·˜·ø}ž"""""I©¢££ýv.Fi;þeMJ›>?Qñç<}‰Éæo·°cÇN­<""â7ññíéÞ­«ú‘jÚ\¤|MÊ2úáË<Ë:¢RÑ”üŽãöÛ&ëC‘Bþ÷Âür÷ÿ{a¾çoõ3"U¿Ý)I©AtE¯’cSÜhÊŽ;™|ë-ddæ(H""â‘’š€Ûmít•¹ü¨Ñcùø£ÔψTùv­$E.|¦ib†!""ùýByûˆ‚eÔψTýv§$¥†Ð(Šo1*n4ÅPç!""ç1M³B}„Y Œú‘ªßî|JRΞ=ËC=Äš5k°Z­Ô®]›©S§2zôè 7&11‘qãÆ±víÚ2•KIIaРAlÞ¼Ùç2Ï<ó \ýõ¥–-k½ Ö'++‹7ß|“I“&im­Š Â(º!Üs÷¾þzuêÔåËUk+½gΜáþ¿Leûöm8Xøò"Úµ‹+ó|RSSù»«Yýõ†"ïÍ™3›ÀÀ@n¹å6}è""¥¨ð/ºçv¶¼õ3Ï>3“Å‹ßÀf³Ìÿ™Iûö—òî;oqãM7û¥ ýÞW¿!òvWj’bš&ãÇgÈ!Ìž=‡ÃÁþýûYºtiµ!,,Œ… VyY_æ™™™É‚ |NR4Šâ»âFSŠËÖÿpÝ Üxãùë_§Uɯ_Sÿ|'½{_΂—^%== —Ë]®å‡0gÎ Å–5MS‡ˆˆø(ÿ]vr~?³õûïøðÃ÷YñÅW„……súô)rœ9dddðê« ™0ñ&¿µÁ×ú†ÅbÁb±¨ß‹b»+¨Øû¤|ûí·dddð—¿ü‡Ã@Ë–-™:uªgšwÞy‡>}úгgO&Mš„Óé$))‰1cÆpùå—Ó«W/ORóÖ[oÑ£GúöíËĉp»ÝL:•.]º0räH²²²xöÙgyá…øë_ÿÊØ±cXµjwÜqéééüéOòF=ºwïν÷Þ˸qã5jYYY@ÞèIçÎ>|8{öì(T`æÌ™tîÜ™#Fpûí·3oÞ¼B1øå—_èß¿?;vìðÚÞ‚ó|òÉ'9tè#FŒàñÇ÷,Óívkí­¤ âüG=‰ˆŒôú~i>x!ƒ¯dà€~Üu×í8N¶mÛÊ!Wy>ï«®¼œ={vsìØ1vîü‘[n½ Ó4 #22²ÐüO2xÐÜwïÝ\Þ§;wÞy¿ÙÀÈ‘WÓ£{'Ö®ýÓ4IOOgʔɞrsç̦ïå=øýïG³÷çŸÀ,_{ôÐC=~kÏ/ºF9çqÞ9)IÉIÔ©[—ÐÐ0LÓ¤ví:4lÔˆgŸ™É‘#‡¹öÚ1Ìšù$¦irýu¿gØÕ¹¢o½þª§O¸òŠ><ø·¿0aÂx®ûÃ5dff–ø½ïm>W\Ñ›iÓþÌÄ àÌ™Óê7ô¸h¶»RGRvîÜI§N¼î îß¿Ÿ—_~™U«VÈ£>ÊË/¿LXXñññ<òÈ#žô½{÷òØc±zõjj×®MJJ N§“Ÿþ™^xgžy†[n¹…%K–лwoæÌ™Ãm·ÝÆöíÛÉÍÍÅívóÍ7ßлwï"õ8tè|ðMš4aÚ´i,Y²„øøx-ZĆ °X,ôë׎;*·cÇÞ}÷]6nÜ@ÿþý MóóÏ?së­·ò /жm[¯í½îºëüèyúéÿðúë¯póÍ·0`À@f>ýRSSw͵´jÕšõë×Ò¸qcî¸ãVöïÛK‡yäÑÇ )T—}ûö2ë¿ÏñäSÿåÚkǰhÑ«¼ÿþ¾ûî[f>ý$½{_î©«aüôÓÞ~{1Ÿ-ÿ‹Åˆ჉k©~)Ã/ºç‚\Ò¢±×2¿H(4zâ­ŸéÑ£3Ÿþƒ]Iž=:d½z÷áî{¦²~Ã:/~Ïó]>gî|"""ÈÎÎfÔ¨a þ; Ãàȑüöúb5jÌÃ?ȧŸ.%.îR¯ßûÞæsøÐ!.|fÍš«ß‹j»+5I9ß´iÓX±bv»­[·²fÍ7nÙÙÙôë×~ýú1kÖ,4h=zô`íÚµ >œÚµkIbb"—\r ñññtíÚ•„„ÆŒÃÖ­[IMM%44”-Z°}ûv¾ùæÆ_¤^-Z´ I“&´nÝš„„222¸úê« `ذaEÊmÞ¼™¡C‡XdšÄÄD&L˜Ào¼A«V­¼¶·4sæÌñÌ£ªøróEγºî8ïmHÑ0 (Çpãºuk8~ü7Ýt=ÎìlzK îºk*cF'88„þë߆Û忇¶óîÿ=B‡™>ýæÎÍ}÷=P¨ƒkÞ¼mÚ´Å4MââÚ߀¸ví9v<Ã0 %)›7obÀÀAžusàÀÁ¶ñµoðrlü¾ýGˆmSdú}û¾¢W W÷ àƒ—±mÛ÷lÚø ÷Þ{wÞ5•aÆêw ÃàÅùóX¿a‡ƒS‰‰uëÖ-”Ü\qåUüãIzΞ=CFF†aàt: ¢~ƒÔ­[øø˜¦É€ƒxçíÅ…g6 ‡ç5«ÅŠÃ~î‹ó\‚b†gÃ6M»Íî)c³ÛÕÙˆˆøÈ(áØøŸ÷¢u«f…þ?šÂ— .¾ŸéÔ© :u¡y‹KxýµW:ôêBeW­ZÉ;w°xñ»Ølvn¼ñ:rss1 »ý×ïw Ü%|ï—4Ÿ   '+«ß‹g»+¨ØsRºwïNHHO?ý4.WÞMYÒÒÒ<ï÷ë×¥K—rôèQ ï°®C‡qâÄ """?~}È»jXIzõêÅsÏ=G¯^½èÓ§ ,(r¸TIzöìÉÚµk=ǹ}ýõ×ŶïóÏ?Çétât:Y¾|y¡äéÍ7ßäµ×^ãÃ?,±½{ΉÉ÷ÕW_‘œœ\èµâ.§ëoÅ%#e½+|e&=å-_Üá^Å=ò÷:ÿqÓMbÅ«YñEÞ¡‡ßëÙ³7+>_NÂÑ£†AZZ‡çmHMÿ+þó} 6‚§ŸzÃ0hÞ¼ÁÁÁìÝû3†a°aý:.¹¤%†a°rå ²³³1Í_Uó$"¦YàŠŒ¤téÒ•o¾YÛíÆív³aÃ:ÏF¯‡zè¡GÉü_d /ß›{~:ÀžŸ?b÷Êì߿ݻw妻Ýü°}õë7 €¬¬Âî › IDAT,Ïtii©4jØ‹ÅÊ©ÄD¶oÛ†y.9¿O0 Óë÷¾¯óQ¿¡ÇÅ´Ý•:’b±Xxë­·xè¡‡èØ±#ÔªUËsBxll,3fÌ`ìØ±X­Vl6O<ñ)))<öØc8yê©§hÕªÓ§OçꫯÆn·ËÌ™3KLRžyæºuëFpp0ôêÕËçÙ¸¸8†ÎèÑ£©S§N¡_ËóÅÇÇ3fÌzöìIÆ iÓ¦ AAAž÷CCCyûí·3f ¡¡¡ <¸ØöFEEyÊ„„„УGºwïÎСCyä‘G˜>}z±ç¤Tu‚âDÅßó¬h‚“Ÿ„t÷Ýw°õûïHNN¢¿^Ü}÷TÆ]s­OókÖ¬9ûÛCLšt#«›ÕÊô‡þM›6âp8>b$n·›ë¯ÿ=›7o¤[·<ñŸ§¹wê]dddкuþóä,LÓä¯ÜǧŸ­,2ºsîŸBu7M üݪUk ÌͼèZµ©]«¶§Œˆˆøþ‹®·ïÍÝ{~ñú^q'ÎçËÍÍå_ÿü;‰‰‰¸\¹ÄƶæÑ?APP0]º\–w‚ûWqç]æý÷ßå®»n'(0¶mÛbrÞ÷>但÷ïý«®äÓ|ÔoÈÅ´ÝÊGº¾Î=ñvŽ$¦™šÄì©#ÍÎÎ&((§ÓÉÈ‘#™1c—]vY•-ÿüþ’’’*|(XÁÿó‡’Þ«Œå•·\þhIqñÉ÷ÒÂW¹vüHKM×7ƒˆˆxdd¤³fÍjÆ¿ŽÔÔ´2—OOOcíÚ¼#0ÔψTív·=5šˆhNÝÏá›»wœ¿ï¾ûؽ{wޛƫÒE*Î4t¼­ˆˆfTô~ ¥ÜÌQD*w»+è7›¤Ì;·Z—ߊâÎã1tR ˆˆœçücãË[^ýŒHõlwJRäÂß ÔyˆˆÈy ?ÞùZýŒHÕowJRj¦ø#oIŠN ‘B}Cû5”§(XFýŒHÕowJRä‚ßž?x=z)""RD¹[”Õ¦Mßß@ýŒHowÛ×S’R“h4¥äا{·®ž•ZDD¤¸žòˆoïécÔψTív·hý%)«–¥ÞÄ—iΟÞË­ÈôÞ•‚‰ˆˆˆ?©Ÿ©^V… úùó.ô%%åIüôäϳ´äÇŸ1%)RÍŠK*2zá­\Eç鯛JŠˆˆˆÈÅE‡{ýÆ“—š8OQ’"5„qÑá^"""""¢$EDDDDDDIŠˆˆˆˆˆ(IQ’""""""JRDDDDDD”¤ˆˆˆˆˆˆ’%)"""""òãõŽóÑÑÑŠŽÈ9IIIÚ>D´}ˆhû©Äíç$À4MEOHNNÖö!¢íCDÛ‡H%o>%)y,Š üfY,%w&×^«íC~»Þ}WÛ‡ü{çÓc×q%ö¢@@c.Aœ™á˜Œ9öd8  ­¦ É@2a¶Ü2!ÀH HxœOà/Ð{•da@›Ìb6ÙåÐMO Yœ­‘©Ìt“#ƒ4†"Í&LÝÌBxÌãõ½uëÏ9U§îýýA`¿÷ªN:uªNýÚ€|ûpŽ3)` ‚0Åèv¯#¬F òW…h´€âA ‡»h´Ú€‰ åÁƒÞ÷s†ö@û }èÁ™0EïJÊõë×ÝÇŒv@7ÞxÃ]¸paB¾S7!媃\ÆÒ =ãú½n»ékG)¶`Iÿ!e›|ôñM[AŠ|©ƒý鄤1ô»˜oN0–š—†seM­­ºÍ¥›~hS¯µõSF°Á¹s¯»ííëÉ¿dâ›Ù]~:€JK2ÐÁ}lþ}Fí¼|:­‹ØU™PYSë ´nÇä]aÔl!¶Ðšþ`>dŸIéÛ^2p•¤/íÔü¤fsSÓ‘þoP˜SV­ïJʪ13›fv‘b ­èlqóæŽ{ç&ýwóæŽ^b™Ð›¼Æo’é¤ XÇ™)[ÑRóû­ä@4EÖÔ:¶RΕا¢°É×~ï¨;88pÏž=s¿ýíoÝ“'OÜo~ó÷ðáC÷àÁ÷ë_ÿÚÝ»wÏ}ñÅîîÝ»nooÏýâ·¼i‚b¤‡R¨)ÄZy¼³dŒòîn‰šÃ–'‚ÈA$HÚƒ¯½ÕËwËQ‹¥’ƒW­¼4ÒmuP?¼´bŸœ#€&ƒ”ÚÁ¡ÁTƒËsÆwå,]˜M26(n)P)½EI+@‘N»å@³»ÊXâ"‰–íÀ9ÁƒóÝC´%c¾+M%`”°Ï +Ú)lkt&‚”–xÝmll¸[OOºcÇO¸ûwn»Ýmœoi ÊV€<R”‚ßß™MŸ§=PïaEr„2‚U H)¨ P™IÇ.€ …A)`Á™ H H€&¨z&%õjÖÕCé¥÷ýs,Xµ¥Øô¦–?ذÑÐßøüøPØŒm¿Dý€$"+)yZn `‡¤•”«W/ý×B“òYKeÑ(Gl^’z.YÎëFÊþc;¶‚ëR'Z±‘2ÆÖ™/P¬ X¨£˜•ýšuKß%Û`AŠ4![¾†fMÆ~Ûí û‚+-§å“mõo!³ÉÝ¿i—#6/I=—(gËuSj€ØW&+²Ù›¥Á\ cëÌ'£„|-(1å¯ÑÞûtÙÊ2-´ H©ým*e«•—¦ž[¬¯š2K c'JëpH>Ë6 -cJiÈØÒŒµTùKØ_ÌÖ³¡I‰Éœ”´[h @bªsjeð[RVé¼bÒkqÖ˚̊• /vE®¶þKʘòèb©ú·60Ì)­öÞâd[ mlÒÄÁù±Ùš~µ¶ødšÕIy±ÙbG#}ȺqÕêÀJ€òyìþehAFÉ´—e ½Ò¶µò—¨ËÐ ¬m{l©-AJÑŽ ÏÖÄ s¾>÷¦­Ü›š$ÎC”(gº)Q«ƒÂ)øt7(]õÒ6Y«Žjù¨”~N>C“9¥o`£¤L¾³ìH·âˆ|ׄJÏD¥ä%¥ç’ål±nBíÝòì5Ì3h™ÊŒy‹> € E©3Éõu&Úƒ¸Ðûæ}åMY•È™}ÏM#UÏ%ËY³n4Ê2åA¡… õë­^¨QÚG¥ú²)­tÐÎæÉäÎûîE¯é˜º[!,:ÓØC¸’z¦nôVSjÛÖËÚ²ŒÚmËŠRå˜ÓÀ¶ou6¥˜‹o‚”I ¬rœµÅô-æÝzÝ´2(,|òõ•wlö®û›”Tß~ÿ±Ãå¡ùÄÈe©sl4¶®sllêíl¬ )z.Q?9ùI”-&Xµ_©z̵+ ™jùrkí-4ø+›æù²¹sêlQôLJ®cèþ~h›EÉ2ô1åMùMËX¨C µ\o–ÚÙrÐ2ôŸ–žK×Oé¶/Ç|ž“¯„]IÊdÅ——ö‰)ùÅ–m,€H©³X¹çÖ·¤D8i‡0%3樭 ܧX‡96jåZÝ©´³ØU¼ØÁ‰výÄä'ÑöSV $ë5%½Ab Û µ%+ÎJ>ªYòüZîªáÔûV€©Rä bBÝÁøÐüÞã+¿6ºÔuËe˜z`ZzÕµt@¤5°¶RVBûÅsíÿ|Ûª)8$»:::·åðúמAÓ% -Ö•z‹ÝR54qQ+8°(“•ö`ÍVdzuÅø€ %ØA0›Ö;üm”vZv2vÍxímVd€†‚î%Oëtµó ½u¥…­^1’±[aJ¨¦ÙjµtW*_ ;±xCÒomjÉV»}Né~…±À4P»Ý 'ÑN‡×J]Y?$^cõ‚vf·~,­fضrÐÛ²L!uÍŠ&€Á ‡=>`ˆ}@K»ZªŸÒÞÅ|ÇÒ ísl¥ë'&¿šm\/økq2!×Vk>`¡}€á ÅwÈüzÑÐUé7J †:›îßC_œÏyýÚÊ%Skg©í£´^Rò+Õö[Ïš¿¤-Êë½t¿bÙV Œ£RŽ ûêlŸCè~6ç­*>=…8uÉG±ºòHÚƒ¶îÆ:ž±²¦Øèê~ëRñÜÚYNû(]?±ùå¶})=ÙIIùJùËš²µÜÏåê½ÆÌ–mâx%ÇÄ q¿«“!]=Fe±,tóyŽJ¿ÆM;“i¥ë'5¿œ²IÊ–âg,à®mï­ùëRí™ ‡#ç/^~~éʺۻ÷Ð=yôÀ}õ®[[[s[[[h`…9>rIý`´ðqêô·þÞ»îñþSwxxè^úÿÐßö÷»ííëîƒ÷×ÝÆÆ†»õô¤;vü„»ç¶ÛݹQöà<À) «(ËQT’Á @.¬¤€8¬¢@¬¤ÐáR?ØíLÁJ ¤¤A Lƒk×6«ßØbA†ÚlnnºÍÍÍÉå…¾)“•²j臶@Íë‹ `)` ® †Q¸RæÈbÝÔ‚•0EÔJÊrþÐÌzêç}{û}³÷CgRfü%òÖÒÇòï«yJ¯jtËÓ'“9sÊÖ•¯O¶Ðz ÑW ÝsËÇÎæ¯¦òÛn¾©«]y‡äË/´Ü1úñÉæK×ÇÐ9©Õ—{è“%EÉ2ÅÈj;Ú6,]g±6Ë=¤=$‡V~ƒç” R>+UžÚeʑɂ ×°«±2Æê¥¤Ð"j%åêÕÅ‹Á§o5Ä÷yÌ }7ßLýÐoB¦}y„æ›oÊÀzH BV,È) „Ø¥¯^%ôÕGèlêØ§oÕbssspÅ¢ï7¹’!Bä[,/dže •!E×)iåÚCJ½k—iHÞt|õk÷%Õ¹r„è?·Ž¥ýˆ¯®¦ãûœUÃä™”±_ß穃ÅîïbóÖÞÖ4”ŸµYþ䌩«/ èvú!ƒ€”ߤ¦›×ØŒ|ЬRåíû]­AW e Mg¨,¾Á¾´ תß÷K–ÑŠ>ª)W¯.Dƒ¡é œ»é„´µV9¬Ó‚œC2JÛ`iÆì}ƒ¼±ÙÝÚƒ­üSƒ¢Ø4t3&_Š ­Êžšž„_˜5ýck}?L‹£Z ûêœÔÐV¬œAzР=ø”Î_Êf†ê%dKIL™¤l`.äÔKí¶Pâ„VdgZÇX™ š{߆‚ÐqÐ}é„,±ƒèˆ¥ÁzwvrìMI¨U?­ÔKKvÖr±XæRm#'ŸT?Àd¤@3µ¾Ž+d0Í,~~`Nmý¡ƒË–ê ›‚PX- ‰ÃÒc7¨¤Þ|U;øje°˜rX?רQ¾Þ½®ß´Ö6$ÎMÆúÚ=Ì “豈_¯)[ ¬tpVê_â¦( 6ëÅR½Y=UCv|ÿü&¨0¤XŸ­¯¥ij<˜×Wÿ!:©õx[lž!ߟ˭Ds@K^´Ðºì©éYö Öú z ïóAНóaP&ç°S^s/])yJ¿r’_ÈÌߨÃe9rŽ=Lj¹ÝhÉ—S/Öü’d~-Ëž“^i¿P#ø±ei=h¶_ú~ÈEåLÊЫѹó>§×â¬LÎ5¼cºíêÄ÷ýîg’º\ÝsRÿ±å’®ƒØíruªqóT‚öÔzó¥ÛBh~’iY”='½Ò~¡…vaY%ú~˜j+)¡/æJ¥;·\Ìg¾¿iê3T–Õφ~£!çXº¾Ïkét.öZ/9íCËÆ¤|X˲ç¤WÚ/´Ö.¬éA«ï€ùqäüÅËÏ/]Yw{÷º'¸³¯Þukkknkk í(Ñò*`0-_„€N>ãÖß{×=ÞêÝÁÁÁKÿúÛþþc·½}Ý}ðþºÛØØp·žžtÇŽŸp÷ïÜv»;7tϤÄBRfÐ+¾?Vá1ÇÂSÀ,@€–a%…ްS°’ °S°’))0í esssV·Õ.oÉüSó’–q.66÷¶Sþ]µªçäž› £§öt’~êw¬Ö+ö³ Rp’P³­j~RR¬°X,¸ž8˜-b€ „ú |A @‘@:7Yþ–€  UsìsC¾ëV»ú›nš1N¤r"Kò IDATïÜXCrH}?Væ±4ct.·fzÒz•Ô_¨l’_Œí޵¹ØtB˱X,~'ØÃò7›››Á2åªIû’EÚ—H´ûzޱ©›É­«ýˆ„–²AÉ:“ö«©:–ìÃBô5æ[j¶Qv `‘â+)cß‰¾ßjß2&ۘܳ9¡åMÕ¹DÞZ镼a%V-Ýþ"%wJ¡1Øh”¶šê{¤Ú½%Ÿ¡aã’rZ*oí¼%ý½õ²•j£º`;´ÂÑwh–klæ¢oÈ7C:3«çË/t6%V¾ÐüûÒ“”Á—Vng“ž†^¥ò*)›VÇ+w©Õ¬©(±~0Å÷¤úZ©z–öhõ#Ëk©mæú{I[.9Æ‘l£ý þZÂÄ™”˜@¢ïߥge‡ò Ý‘+_Jz’2X(OézÍ«ÖJÁ˜-Žâ9r—îðrËjÍçå´ãа„.RÒ°²rVª±¶Rh© HéÆê»DMÕ! ¤Œ4¬Ö†ÔÞéÔC|1³$’·}'gV6&=-½¦Ê³Ç[R6I$ä¦ÃÓ÷‘±£Fäœõ›ºÍX-¯=çèFÒ–s|pȤ‡fíP` ­™9û"e;¢ØÃ¸©–§ÖNAÆ¡ö²í`®ú±âûJèO¢î§6ã=aM÷—ÆH¥×]UË=<¯U®yP€ …À„òÕkÎMJµê¿'5€À×ÂTòS±å’åêns#P‚OƒœSãÀÔ×k­Ý5Óè®0Hï§ÆþâéH ØÚSéÏ4l9e+—ôÊl­6š²Å &Åo÷¢ÓÔw桟I½ %w º;'ßu²–l©Ô–kײâ‹!U7S7äž/ÁN §.2pа¤êÊw¥fŽ£LyW#=-½¦ÊØ7#VB¶l•ç¼Ë#í3¬×•Vyk¿¯bU7’gÿ|W‚—Öê$F¨fë'¤D4À94íWÚS®.¿Fz%_vŽ•Ñ«Ó1”jÚªõ6>4Ñ”»„}XòµR²Ô¨«å­Q®Zº¬Ý…úB‰ß”êûjßÒ  E±3)«{!ûŒY:Ð%µ]ÄWæTg±ºŸ6$­1bÏv„Ô¡vzzM­Ã¾GµJÉVª}¶Ð±uÛEª¬v][Ï–|­´Ï(YWµÊ[£\%òLÑM [;§§¡ûÔrIöç«uOÐV)þ˜ãÐß,4­ÇφÊ-éTSDKÍ&I¾Ìšž†^¥ôWR6ë¶Ú }eÔ*s‰Ë ,ùZ ŸaíEw-ŸV"ˆ,™gŠn¬J·Q©þœÀZàÈù‹—Ÿ_º²îöî=tO=pg_½ëÖÖÖÜÖÖÚ5,_raœ:}Æ­¿÷®{¼ÿÔºƒƒƒ—þ?ô·ýýÇn{ûºûàýu·±±án==éŽ?áîß¹ívwnØ88Ó @8˜ ©¤€j°âû;«(ÐÇQTÒ„\@Å•¡ … H€êÁ @(œI‚‚h‚¬3)«‡!s÷K_GiýzË’ò•Ö…v~!éK}§ýÐi‡-ê~ȆcX-[ëW·"Šœ\7 )$¯¤X¸R’ÇÂ`îÐ`ŠdßîÅÌ@}h‡0Eûe`¾p&&Çê¬>3üõƒPM HYtx¹3´v‰ÞîÕú{Z¯ ÇÈÐ÷›¤#we M+Ew©yi—-4 ºi,ÏKĦ)¡ÿ”²ÄêŠvH;´Ð-¾(¯ek}>&Dïcé.‹Á‰—¡¿Ç”+Õ.$ÊëŸ,ØÔGm%%ÖÙ–ìÄ}}û>K=Ü÷›tRt—š—dýNek•”þcu¢¡?Ú!íÐb{™Š­ÙBlº1ƒx >7·Z.Ô'z%%döhhfeù÷”™íXºyöÉ¡)·/­ÇÜÍÇ'Cj^SH~ËÂÜz/ÙéJé?Ônbg}i‡´C íPÛÆ¤Ú°†­ùÚ¬”^BòKËWïÝó{CŸûüKˆžµÊÓFõLJ×¹Ôr6Cr„.3K ärÓŠ¸–ÒwJ~cƒ«’¦þ%ß9¡Òk´C+6VÃÖÆ-»³à+cõÜRÙ`‚AJ¨s*µ”;Pú~ŒóûÎX§–»\ÓÙ§æ'-GÎáy_]kè_òŒívh¥Z³±¶ºÂ å»rí´†ž[,L4H)=XµŒÔáäí"¥õ*yˆYjÓ78Èhê_{…vH;,Ñçjc%Ëjc²mL ¶¬” ¦ËQTàTÌÖe¨q£ŠïöKƒšZ‡Ê™5¤Ò§SÏR+%¾`R2H-í‡bËÆ-`)`¬ÃL=”öõßÝ$P¡øá}ƒú–}Æ”Ë)ªN³æÀ¨ôaÛ’ú]½i&gKAÊmE)·a•Ò Ð[l‡ØZ¹tsn ‹ñ—5ìa¬l,ócï¤XìhwnVÞF˜ë Eú\ ívØJ;ÄÆtu«¹Í©ïüÞTÊ)ÉÎÅš 9`z¸/åeòÔ€F^Úe“¼Ý¦›¯ï:Ëœürôk3R{Ùi‡´CÍvتiØZ‰tK·—0Ù ÅçìZq~’¯8§è Uo¥õ­};Öocx¥ô¯5˜£Òµí¯UÓ°5t¥Ò‘zÿ¥Ý@û¨œIYÝã(Ú!€VR  ÌÞІ`%ÐLÁJ ¤¤@$IiíêJ+òÖ–£Å+GWo"*-7W´‚U[ŠMojùƒ  ýÏ¥Í+) Žž+>êN4A €jç¶ìØþP`Ìâ bœ#z íØ P°M‚•0ÝÁ-;0:2€i(>ÄWRÆ»9¯Øƒx!0ô`^ŽcínE ‘/6¿\ÇS7cù éN»CÚÜÜŒ:¤R–’vûyLH,Bò’Ô³f9§P7¹å•ö‹Å"jûåÐ÷cüHŽÊé?´ì8×îRû­®Œš:ÈéŸDWR|VßrK‡ÌKË“_ ÝùòΩ÷ÚõhUNí:ÑÎKRÏ%ËÙbÝHÙ¿´ŒT¦N.´b#5dŒ­3_ X#@ð!¶’rÅ`÷³åßWgÇ—3n!3æÒ²÷ÉÛǬ „ä£;Éò‡æ¡Ñ) É3f!6¨eW>ÙVåò}3ó-YŽØ¼$õ\¢œ-×M©¢„´ÐXPJÉ[g>%ꚤYII= —:³¦±<<$›VG›_¬î4d”ún ¹§Òi–,ÇX^šzn±¾jÊ,1@,ícuXÃJé°t~1+`2ró"˜ RrϘHœimp!õšÔ b±Xdé •en9§*«t^1éµT'VeÖP¬y¡¾­æ ¹–Œ).–ª‚ k»W‰À·Õêvºš›/0ÛX+àõÉ6P¦¼ØlqÐ%½õŒº±ãƒk(!ŸÇà¯Q†d”LÛÒ6<˜qâ &r;ò1Ç>'çW¢ƒ³ü¥ÈÓg3µqCUSnáIùnìª] =—,gº)Q…Î\}̉U­úi›¤ŽR¢3'Óêœ[^¹òÉÞ’}–¬“”¼¤ôÜ¢íY’ Vý0» jãR:Îî¹Þ§^â} z}ûfl@Vã& ˜ÛéBÞ߈9ÛQ«þSõ\²œ5ë¦D»fPhÛÏÎIŸKØå£oЧ)þâ<%tÍÎÐâv€îV‹u{WRÏÔ >8µLs'Ųmp–`>œ;÷ºÛÞ¾žôß¹s¯ë)cï(Ä>ôóû©©ºc°cw@ª[‹è[Ì»õº™Ë Pc…­Ö-[–e,uÕ>L“‹ÿñÏÝ_üð÷_~t5úÿþþ½~’êSMdÀëT_œ—:{STl‡ª+o=Ä|W£N$ó’ÒsÉr¶X7øÇxÝØ†Œåm—I/€é²»»ë^{í5÷å—_Fÿÿ•W^)¤ 9¤¾×m»ؘG¼ZéP%œr®îRÓïûÌ:Úº’4Æ\·ª]')yIé¹¶íY¯…ã:©3_=!£þ9O¶}LŸS§N%(¯½öš;<<,¤øîŠLiöO«sÑÔo°ÖâC{SvKÖIJ^RznÑö¬Ë<ÅÕ”T;,ù|«2–°¶}L­•”#ç/^~~éʺۻ÷Ð=yôÀ}õ®[[[s[[[f ?×[½Ð#XæÚµkY+)Ïž=sîÖÓ“îØñîþÛnwç†Þv/˜6ÍI‘‚Ù›hI9jµÀ°C—`›ÝÝݬ@eˆ&¶{±Š‚.À³[Ia0.À6³^I{4óN ̃ÙÞî6™Ý™”Öȹ*™k–Ñ÷Tä.!cêmu«2͵͵Rî9k—­5›²"/ý@ûp&¥±A€ö€ Ð7@+~ß 0]XIpÃ3®ÌÈ”Gk%… EÍÍÍ 3Kè{.¶‡¾`šp»˜Bëv¯¬•”îÌôrfflÛEߌ¶ô¬NW†Õ‡n IÙ>²Llv¿OžP=‡è6öó!}iÔ$’úNÕÝPië.¦Ž$Úœ¯MÅê0Öghkï¡ßÑYIùCì?ÅNrÚN¬Ý´Ò>%˧Ñg•è ºz‘O«-€æVRúœ~ÈvšØRºo úâÐcº}ié-¦Ž4l(å·©>£týé2µ}h”5Ež˜A¼…:ÊõGµË6–¿e[Z¶Rmd1µ’24s1æ ÆfnBÏäÊ:ûn©ƒè›­ÖÔW_~^GšõSGm.eæ2Õg”ª¿]¦´GÙ^)ÿ aÃ>Ÿºš¾ïóЄԥd¿“HýÕè³$ú‚˜ÄRmä1y&¥ëRB g³õ,Ô©†:æÜ´¥ôœ[¯Vƒi}KÙWÉübëHB¶œ¶Q²íKë2§ åÕôÃ-Ö•²ÅlÁ‹‘«¤Ÿ+Ý”l‹ ‡™çǜӘ3®áD¬v¾9zŽýž¥€qNhØ|ì ¸ÄÀXËgÔš¼ˆ† Þ´WÓ´“µüv© o;ÐŽ¹…ª†¯-Ù>C¶äJl«›kŸ…O°Cï¤àXú˺ÚÆê Æ;)sÖwJ;¨ýP\+m›µ‰¶ ¯¦QÚ­´Ol¦Œ™Û½R¯G´ìÀ-Þ¢±ÚDGÉ £Fy4|†EQòÍkòÄÖë\|ÑÐV³Üú›ó V-Ø>ÀÜ0ùNŠï@¢äo¬µ:ûƒ“¥ô<ÔHýÝBç—úš¸åW£‘Evðm-š,JI§ö»1Öê,%HO}4qnXö»sÂÔ‹ó«û`ûæö9‰ÐßÔ:d¨u¥ïêþá”|Hg)ß®-ÎÑwŠîÆê¨æÂR›KñVmËJ]KÉ£Y®¡7ªJ–ê¬ïùTÙZôçR[p-û]€9bn%%åDßop(á: é¼x‰7]ß±º‹yMÚ‚ýÔjs->ªb¾¿·"eÖò¡%Ëæóã–ì©FL¥-Ì­•”#ç/^~~éʺۻ÷Ð=yôÀ}õ®[[[s[[[ÕgKJ­^´?Ú @×®]ËZIyöì™ÛØØp·žžtÇŽŸp÷ïÜv»;7âWR8ø pÎÐí^«ßßYE€©ú ú,€¯0óâ|ȵÖM Ç”|}À˘zqÞwOy«3;ÌHè·¯)ù ú,C+)Sr’8yÚí ­•”WP-¤`òÅy˜/æn÷€ycj%ej樂NJ¤å°\·¥e›ûû©å/e“¥äkÕ¦`¿še˜“ïÄÎ@VR䘂3)` ­•”¬wRæŒP0WÛÂöû¨+)` S+)Ëý³C3Q1¯JwÓK;VÆP9†~*w.CzËcHŽÔô‹Eòaä>=KÚŠC²Çþ6¦žB—bç!r¤´MI½I¤WZ>©:°W¬ÿJñ§z ­Ó~%Õ~Bu7ÖÆ»é§ô)}mJ¿XÃO€]šYIêÌB¾R‡}éŒåÑ×q”>Ô(-Clz±ÏÐÍKš¶¢i¯¡²§Ö“TýÆêORß©zk5= 6,•—ä÷KØš–ŸÑ´Ÿýˆd_;&_©ömbj%eÌ‘ ÍêonnÍZIÍ,ÇÊá›m+=h–’A»LCúŽéôúdóÙJ˲KÕG¬ ’úNÕ[«éY°a©¼rfÏCý©†^|íFº_ɵŸÐ6ž³{@¢¯ õA¥Ú´KÓgRbœ¯T§Þ—NHÚÝïô-—ÖW® %Ê4”‡ÖïJè»ôïRê#VI}K×õô,ØpN^9A)þÔR}¦ä-™_©~DÓYðÕ`“&ÞIY,¢ƒ-'>”§+-ƒf™Æ:ܘs(9ß«!û˜ 圉’=e¥FbëŒÄVAKéåÚ¦„ Kä%µR]ÒÖbêMjûª„ýÔîÇ$å+Õž mš\IY.‡tHÒÎ.&o¨Y[îd%fÃSu`=˜.U¯%m85/‰%ÖŸ–ÒKìjÎTý‚vG0>š8“Òík ܆nMÑv¶š³ç`Kç¿Ð¢ˆ=RÓŸ>Ú@k%Eåà|_VëLG_KÇ s¡»1%PÁŸÚPj^ö°»»›¨¨)Vg×JÞEg]·~ç/`«9ùç`kÝÄöûZ˜/ÍœI©í4}ûrqèú¦Äïj¿“2U½k¿“b©JÕk‹ï¤Äü&ÕŸ–Ò‹V=·àJo¢‰Û½ppó"õÆÔk2-É>v“’¦Í‡Èž2Û*qsQÉ[›J¤—k›6¬U6ª¥—R·L•²ŸVúÚÖõehöÅy©+8%fq¨å:ÇÔ«HkÔ‘”ì5ä•]RßÒug== 6,‘WÊ€>ÅÖ[­OK¾ }@ ˜¿Ýku¿sß¡¾Rû—}rätÒWï±õTê­ ÙKÈ«?I}§ê­Õô¤êÀb^cþ8ÅÖ5d]¦YÂW”²Ÿ¡ äZå’}m-}@;4±’â{•ØÊÛ(eô³u¨¶­„Ê>ô[«oth¿“"ý«¥ô,Øp­wnRü©†^JÕ©…¼¬õµ%õí¡µ’räüÅËÏ/]Yw{÷º'¸³¯ÞukkknkkkðG¡3>Ø àӦ˵kײVRž={æ666Ü­§'ݱã'Üý;·ÝîÎ2çaº5Ký€O˜/MßîÓïØ}gÆðiÓÄÄ‹óÌ0Á*!‡jðiÓÅÜ‹óÌ$ÁªÔº¡ ŸP+)8hÀ6ŸK´VR8“I4óâ<Ìn÷S˜ZI‘¼K^ú^úR÷Ü·|Ÿ¾”ìs~S µìsÑïM´_Ô!ú•:6 ŽðO` Τ€)´VR’ÞIájF˜;´VRÀ¦VR–ûY‡f“-½Ô;&kì÷råÉ/ER:ÑÃb±ÝÛ¼ú¹/Ín¾C¿ëæZÆP› ý¼ïû1u«ŸÒ:Ë‘+7½[nAå Í«¶ßíÊ!ÕwÄ´­¼RôÔ’ÿ+Ñi•©dne¼Ðͬ¤ 9mêééOJç)uäôuŠ!úPgÚ÷Û–í*E?Ú:K­7©r¦Ú²Uä´ÍX¬´T9Jõ’õ;Eÿ']sòésÅÔJJì¬ÑªC*=ó°œíª‘w_g:{ª?)KΜçÊ4ô›œ2úì`U^ßç!y„~?d%&u°”ª3öSN v#©ƒ!;I+Ö>|r—ô¥Ê‘£+k}”Eÿ§Ùiû§’}¸•ñ@k4u&¥Û¸­4ö±Á‘9Sô—£sé­=Zå°jWÒú‰TJëLZϱå´`7š¶šVŠ}Xi#Rr ýnLc>½„žZö’yI–©dÞÊxÀæßI XÕXÊmÁ™¤èOBçZgRsÁšMjÕ[ìªCMÿ!­ƒÅb!>8OÑI)[Ë‘#GW–|SËþ>¼ñ€5šYI ¹²âˆ­u)úKÕ¹Ö ŠõÀ`èPhê]˜ÿÈõ=šÛ¯¬®këʺO§ ¶Û‡c[a4q&EË1H8ɱ›Xæ>•ÞƒÛŠ3:¸9W{ –ÕúÔÓUªO/Q'Ô»NðSß9ãÆ qh­¤Eµóvú«ÎœÃ‚zU©KÐXbww7+Pi*HÑ(woî`+ÏËzi¡¥m dà4'û H-ÿ. Jº®R|z‰ú ÎËøo_}K\øÁx ÞI™a‡ª?Iϱž|·Í€}û'è³¥£T9h{´Ahó·{¥^«YkÐÐÊy‰uìÕ—ïuÄ>–gm05·¹v½Yð¥tPzÕ²”-kÈ!){‰úmÉÿч·;^°FS老t#†ÅÙ»ýIè\ZV_Ž)çgwk×›ÿ!¥ƒÒe±â{Kú°˜GTKÚx˯©Ó‡ÓÄÐÄí^«û6‡®yµâÔj;ݾ5EZ:Ï9D?&“5[вÖö0×®7 þCJ¾tºŸI”+4¿šú’£¤®JØx+þOªšzna¼`ÞI™cz(ùNŠf= ½;RâÑ6ëul]öšõfÁHéÀw˜·Ä çµl1EŽ’º*aã–ýŸFóFk%åÈù‹—Ÿ_º²îöî=tO=pg_½ëÖÖÖÜÖÖVÔ LKpK¾°#l Ÿk×®e­¤<{öÌmll¸[OOºcÇO¸ûwn»Ý:gR`~G¶ÅÌó·{µÔ‘:Ǭ€¦Å÷Bë}86 †‰ç[ž%c†@ã-ôáØ/@æ^œoýp0èøVË7CÁtìŒñ€ L¬¤˜þL`‰ÖJ ç ‰¦^œ€éÃí^` gR–ä\Ë'y¥Ÿôõ€5®Œ=`Ê•ˆ6±\/-ÛŒ¶ì´§éÕñÔêë˜<“{M×ú½¬ ß{è ÞÎQ€š˜ZIüŽÍ¹á™1:=h³·{…¨x‡(«Ÿ¡³vX,lÇ€ÙÁí^` ­Û½²¶{-‹{rC{­Xz©8ôÀ¢ÆÁÆÐ´Võò›Øï•µ[_c[غ¿ëû~ ð•c5¯Ôò•'Æ®RêVBg1õªÏ²§ê»t{ ñ¹í$tki®]—ªãn1:Œms¾ß¤ÈÑ¢J´m 4ÛQŒ|1ýÀœ˜ÅJŠï ùÔ(S_Gs?÷ÐgßoCÒó}§´ é%§|e­+ Y¥ê¡¦ì)ú¶ÒžZñ•ìSËG–ÐiË6šRï5Û‰†-Oy\ŠÉ•-ÇÝ7“=¶Z£AèJQJš¹³K}38!¬”n}ùûÒó•¹– å•+GHY»i¥èÀ÷›”Žthv0¦~CìRZö}[iOZ¾ÒçÃVÓñ}nÉ>cf°Sê4ÔnRgÒ[¶Qɶ]«O—’Ose EÌ®¤ŒòŽuâÝïYqRåúî²ÃŽé´‡tº• W·9é…\PÂ|yIÉÑ÷»±´RòÖÖ[nöÙ¶¤ì)ú®Ñžr}gM_iÑ>¥l±„Œ­Ø¨µ¶m­ |Ť_œ·|C˜f'5t#TH°;s7æ Sg4Sê*æÜ†д­¾¼˜º’²Ÿ\ZíECöÔrÕnO-øJ+ö©a‹Vnç³l£)m»V;)! Àÿgï¤ø†•‡»B—ºSË=¶£…wŽc·n¹Ë’3³¥ÆVdoq+F¬o‰i'¾-_Cƒ1éÁ­ù1m›g»P[}4 €Ÿ/¿üÒÝøÙ߸›7w¢~wîÜëî»ß9ï¾öµ¯é)C`›/rnMÑx§8?é}»sº|ÀJÒg7!ƒ+yk¤ê»¦~Jú–1ùSÎZWÊÜIDATÍÁŸÌÝFKÉãÏSÛ‡ßdX(ï¼óèß}øáOœsÎýàí·ô‚(Ó™A›õ8Ô!Z])ó]kÝ&[Ô7ÌËæ±Q˜7oî¸õ÷Þu÷ŸºÃÃCwppðÒÿ‡þöæ›Üööõù)šÛiVW‹Z»}Š_‹[ẃߜڃµÖmFóF!éÕSmßsSaìAã)(5nlÁFKÈ q¨?¶ØFìà|ß6¥X'0‡wR,ݯÝáKþ¾EùêZóFk ”ì%õmµ¥Þ¨­ŸÚo ™“˜ RJtµxÉI¤åÇ>¸•+_êu¬Öm ¶}uë*ç–5ëÅ­V{*ÙNR´nŸs ®¬Ù¨Z– )¾NÁ²“È0‡¾|¬}Rúõá¹Ù€–Þ%~c±nkÈ®%¿d>)ÆêLrëMmûl½ïiÑF[A¢M¡Ï°Ä·þøÉ¿=*í Vß±bßKìƒu‰2Jý¾ÄÍ>cºMÉ«[×r·bšz—þM¬½†¦%¹o¾„ì’6T*Ív2ô˜`H SÓ>‡“R·7¦Ú|¨s±Q+2´,À8óÍ“Î9çþäÛ§Ý­_|ý{S+)s9¨9öp˜ÆÃbCiJ?Ü'ý¢që6rh3¥®$ë—–F=hË®aCí©•vRÛ>5Ê™jó©¥ÎÁF­Èв|-súÔï¿ôï³z&:#ç/^~~éʺۻ÷Ð=yôÀ}õ®[[[s[[[h¸‡Önõ¢ü Å©Óg^º‚øÿàŸ ~÷“›Ÿ¾¸‚xÿ±ÛÞ¾î>xÝmll¸[OOºcÇO¸ûwn»Ý¼“2ìݹç}'%”WPe8¬"èÃJJDpú°’ «(º°’B`‚. ™>¾I68wîu·½}=ù·C°Ý LÁJ $qóæŽ{ç&ýöÃâ~ðö[óRR¯–¾vx.×s]sºÎÆhI§Öí U;’;öï´wl@‚¯ýÞÑ9®¾‰Ò÷NÊêcŽ>ØîÐ`'ªq-vjºZòÀ|a»€1|3x@ 0І|½.W/Ð3í y€ `€oüÑ×?ûäæ§:AÊØ²ÔÏû¶°HçZ¶±üK¤·ú[ÍʽÇÊÖW!uZ¿©ºé¦?”^Jý•ª7é6Ú-khJù]¬Ž¤tjµ=¦¶‰X?·X,· ý=EGcöSui±ï‘ô­ù0©zÍé“reЮ'€9³wç^o ²ó~é‚Ó©~p>¶ã,%CNþ©éõ@Ö<$û÷R²•È(½”ú«­›VˆÑ‘¤N[h%è„Ùu­ú·Ü÷Hú ŸXÚ‡i¶Ó˜¶#CÉz˜+ÿ°û«—þ}ëŸG§µ’²œëÛ ¿ÚÀ}ŸÍôôý½Äž{Ÿ ¹Ž6&½’ºˆÍ«v=iå?”VL>5t#}Efw&2fv>ôw!+8:m¡=Z¤ÙµT9cê¿…¾GÂwHž5|Xn½Žù4 ¤û|æóÿ{×ùæI÷wŸýCÔ ÊWwOÎ_Z†ÔôJê"6¯\Ùú–åcß’ºñ¥•’¤lËÎrè¿ZmDËÞB·iÕwÍö˜Û&4êE+¿Øú·ê÷¥}Gë>L³^5e°0¼½—üÛjAJ¨ÓìÀÆÒÎ=ך^èà\B!2Æì}×hÔÎߪl­ÍøÅ®|Hè´…öh½Î¤Wë,`¡ï±¦‹T[—´Ô´RÏ—Y·SH¸ÝË·ì>äÐ|ŽÐçKuZ³£S4jv޹[¦<8 ÑWO§=Öl.|˜kßuDü&ÀDƒ”P‡ÂJ×1kÏliuc€[½æÖ¡ÆØ¤´ÕSÛ„F[l%`i½ï)í¿§ÖÞ€ &ÌØUÔL4A…Uv€¶8wîu÷ßþûÿpo¾y!êwÛÛ×ݹs¯Ë)1³¸-ô­9`üniÙbí'ÄF¬oCéé´d{Li%kÊTúk2Õ”§µÕ;ø]¾ûó/‚ŽØàfùÛ>Žœ¿xùù¥+ënïÞC÷äÑwùÍî>þøc÷£ý­€î7Þp¹}ß;~ÂÝ¿sÛíîÜøÝ•” .¼ø€o¼ñ†»pá‚ûËí¿~éï½Û½.\¸ð"X(ÉKAʱã'Üâ¿þ5Z€b;~b8Héû@I^)÷ïÜFP#ÏŸ?wßùOÿù9ª€ÚüìýÏ#ÿ9T§5‚qIEND®B`‚nted-1.10.18/doc/docimages/as_example.png0000664001041000007640000000125611520267216015066 00000000000000‰PNG  IHDR/Þ>`sRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEØ ¤çTÔtEXtCommentCreated with GIMPW IDATHÇí–OˆRQÆ¿70ᢠA:=miˆ´ló P¢EKq#LºhQ .ìÏ: ÚÐf©¡«7‘a<Š(ݨ5¦Þ¯MZ3ótêÐb¸¾{ÜïrW"IC¬á˜ât8øŸ‹¯ðip”nÑèíÐ{ÖËÞ|ÙÌÅãqH’“É„ñx¼:뉠Ýn£\.¯Ôh4P­V©Tj5 d2 …Bp»ÝÈd2 Û7$Ë2EA§ÓA©TZ.HÓ4Ôj5øý~H’EQétz¹ ‰m>Ÿ`³Ù`±XæÛÇ=|->FÄçÁÅ ›py®ãÎóè‹}$„ Õj¥,ËBLë‘H„X(ôûh ÜðÜâÓ×*w‹Û¼ë=MÜÜzËîŸcö*• ÌÌ`08³a_tÿ–~¼Ûâ9€8u•/û: ;±-—Ë¡^¯ïK»ÝŽl6‹Ñh¤ëž$MV#tÞ«h€ùÎX'„ Ùl¦ÓéÔ!Ñh”˜ÏççŒ ÁïÕ‡ô@HNÞ.w9y€)HUU`,Óiš¦oß4fo÷>¯œ×m7ùäCŸãdSP8&6›M]‚²,Óh4r8]æ£g!º6,¼v/ÏÖ¯Ãû—3½× tÝxÀ7ßöfÊ ¾°¤¶88B&|Nþ{ÐoÇü'ÓoéëÇIEND®B`‚nted-1.10.18/doc/docimages/delete_rests2.png0000664001041000007640000000163011520267216015510 00000000000000‰PNG  IHDRZ8}”ïSsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ  y|1tEXtCommentCreated with GIMPWóIDATxÚí›ïKqÇßçÎk³Ë«ùÀ8XõhŒiabO ¤£Üƒ¤ èIŠü¤ˆõ ? R=\¢e†"#eÎÜNâ¸é‰ÞéöíY1ïŽssºÏ îÙgï»{ñ½ï>¸ãc DÉ©!$šD$šD“h¢,p]]]¦í,Ëðûýày¾ê…mmmÁ0 455Ù­(Š©hŸÏ‡™™D"‘мù‘‘„B!tvv:Ê™žž†$Ièïï/Z3<<ŒD"±±1{áÌØââ"«TA`ñxÜqN<gfJYGG‡ílÚ£éÏD$šD“hRP¦%šöÑóóóˆD"p»Ýy ­­­Žr$I‚¢(ˆF£Ek²Ù,r¹Âá0õÑÔGÓMhMhM¢ Xh`¡…Ú£I4q„DÇBà8ÎÖA¢ }áS©”¥ÂÕÕUx<ž}k2Û{¶/Àêù÷£P(@Ó4ÇYš¦™^“¢(ØÙÙ±}.NEÓettÝÝÝáPWËëø-¯CÝÐ`äjëpÊÀ—O ÑÞÞî(Gúù+++E±èo“É$2™ b±ØñXòú{õ´xà¿£†¯c7Ä»Žs¼ÍçJ6°Tü[‹Zz7¯ÜÆTZ+¾u옚L:ÎÑÖS¥Û£+Y²±9‡koa.§›ÖêÊɩʮãMo¯e9µž ’ãªo©.Ñ#‹Ç“¿,×_ùö@rz^OT™èüt‹_@.=Áûûm%Í9¶¢yw†®ž1­ ^~ˆ¯Ÿ£Ž+mŽãû™˜°ö¨ÌÎÎB–å²Ê>ÿl÷ê_à]âô¿˒?@ÏxÔÃÒç),•!–——¡ª*¬zû;° ˜>Xªª¢±±.—ëPVw^ß@:½UÛjêpÒw-g›QË•?G×uìîîÂëõÚMß‚S{G¢ M¢I4A¢I4A¢I4‰&Hô1âV²aáéÔIEND®B`‚nted-1.10.18/doc/docimages/midiimport_dialog.png0000664001041000007640000014525111520267216016450 00000000000000‰PNG  IHDRüâ‚ìé¯sRGB®Îé pHYs&&¢ï%ütIMEÙ  2Ú¯®ÚtEXtCommentCreated with GIMPW IDATxÚìw@ÇÇg÷àŽ£sTA¬1‰š—hDEAÑ(X–¨¨Dì1*±»bL0MÄÄ‚ˆ{‹‰5‰K4&Qјhbïˆô£(Üw;ï½Û›ÛÝ;Å(ðûÄÇÛ›™ýÎÌoÊRŽß*Q㶯¸¾ÝЦiNÇ0 z*(„°ù¿®…»„¢ÌxÁ™;õ"I EaŒMÒÿ¦™ËvÊ631Æ‘—%÷„)yÉžoåK<û^–äÞ2Š(\-¿³Ï5¯ô¯Œ ¯ðKÿ|yO¹Be«* µ MÓ‰„ÑéÎÝÊ?þwfq^¦Í“rjTHÛ¢¢"Fƒ†2H••Ù›§8A1”!dêBº“ŠCYÎ8Š2§úƨá#2\JM—~‘—“ð`N®,xÀD°”˜;›3¯Ä›¾‡¤&š\H#„(š6¯  y¡0ø rË@6"áóЇ/PpŠ(ë&u™r.ÿiŠÂD•À»Š8Ë{¬”à¾D½‘þE½™õÆ‹%Œ=ËBÓ'‰‘w¿”˜"p ›Qö…—Ãsf,OôI©%ß2å˜aÈÁ+‡&ÙÅ«Eˆv¯žÀbu-©›"¹Gä!¿Žá‰ù òÍS(}yTÀ¦j‰yí02@їΠXSÀÜ RÙf>¶¨\š-w¶xï‹Éå¼'"vJŽ?ÄÐ!­¬2«TªrÆÝýӛ¾”N«-...++c W’ž®±o9CÙ›///òä±½½½T*Vz"o¦ ‘n’‰b­† =ðÚ΢¥°BV5ö›iS¦=R)±òÍjHõ·ÐØç7™9¶è‰î¶`Åê>! ú¼ö/{@ šíüÎQ¯úNvÔD´O´k±±/z eÚTO Qµˆ„fhþ‹ž2Û–·¨øæôŽ4º…Ï‚×Z7¹J¬™Ïk2óON“»3mæ‹ö`DŠ™ÛŽåf¾i¥E¶â9Ù‘Ie!¾›gƒ5ÕY®Hë‘Ë¥R×\0¹AŒ-U<Ü[#(ÀÈÊZ cš¦1Æ4M«5š²Ò'vvvvvr†a(ŠbÄì4dŒr¹ÜÉÙÙ†–HÔjµ¨%š»cËËBo—Í82 Ï4Mk4ꌌ e¡òqIIY™J.·³··wuuó«ëooo Ï€2Ór·Ð„4פZr(aãÎôy“%FÔÃÓux-b¡ÊsÍ.Î6ÍIž›öšEe‹TvÒjĵʑi-4ª’/$¯½ÏëáÃ!Æ x7ν¢ò**ˆdÅÏÝ´¼Ø¨Þ[dú›)™¢&NâÉä‘í!“Ç‹1C¼Õ¢}R(ÉSƺČ NÿÒš¦_TñMÚø•T|Ò°C&[h‹3é& šù\{Åx ¦Í|£¤Þ8ÊLãìYì 4M«Õªû÷ï( HÙqsSÔ­ëïàà`ìPš·íÐ4­Ö¨ïß»ÇÓ.77…Ÿ_]¶þÀ¦]%sÆR[,(>¯U¡—V„(š./×d>äÏ‚‚Nçééi.¡ÙÙÙÂŒ¢(‰D’—Ÿ÷ï?ÿܸq½¸¸èÉ“R6eör¹“³sãÆ¯4mÖÌ××O§Õ ûS\õh©0cœ!%òl¦¢æõLÍp,z Hˆ`ìÁœa„TÃÆ’a¸=¦±­M*ù’›CøÊ+V×òäC¨û¼”X ÚX6× ä¿ \3ÍÌpÙF1 ºÒ<Ýçj ÑjC¯Ô ƒÉüÖD#Ýœ´å^XLGw(^/G`Ç7&ÀñV'×i°¬ø‚Z„×$'Sb»™,ÒS17¾õŒÖ|"Fš¦sór/_ºdNvš5o^ׯ®V«Å¼þ(9HQyùyÿ\¾lY»Nhm¶l©¶<ÞÉ3ʱ~$4_oYHëøÔÑétjDNG•k4¹¹¹Æ¸‰¦)ú¥¥¥¡¡¡*•êäÉ“fEŸgRÀØÖÖöÞ½».¤_½zÍËÓ«EË–~u|îîEEE²ýsùò­;·_}µÉ[o¶hÒäUщC\ó¡RùÂÁXÒƒH'€ ^¬`™ ®>#oDWhBá7“iš¬ ͽE¼†!™¤ùH¦p$Y8jJ ÌJ|7?ºKæ4ºM:š„QH´d"îx- –ˆ÷™«%è‹›æÅnWŠÚÍ„c¶"õ¥y¹§ÄÆQEíø|ã•iÙ0±êˆµŠ„I(¾èÜQůZÃoÚÆÖöÎí[çÏŸce§åÛoûr²ó(óßþ¹yû+;¯¾ö:+;”àÚØØÜ»w— ¤EË–~¾~\ &ÚõêkŒy©µ<„[¡½‘}(¶66÷ïß#…Ô·Ž¯»»{aQQ–©6~¥ fL‰éáéiƒÄæZM'Ož5jÔ¿ÿþ{ýúõ-Zˆ×]¦ãKc[Ûââ¢sçÎ\¿~³k×ÐVœg…‡‡Âãùÿ»uóæ¾ý{t匫›ÂËÓSXM ;G"ÃD‚>;ÿ*ÓÎ_ˆM_ !tõê5sºð4í}Þ¤4Ó¹+&Mo²•'x!ÉÒ ŸgeðÌfzárÐg(@ˆáZ— #: jî ùÍsCG„"†dM:X„ÙG´‚${!l»†“T²Ë‚Æp,š³lÐg9Ôij´ä«?/"ÑIB[1Ûz3¦QDžð"¢ r/·àuH«±Ãg(* ¯“Ç«´x9o°Zæ ã…äà­èý².ÚÆ¯JS¾Á´ÂK$’ÂBåÙ³\¿~344Œ”ww7þ÷æ­›7÷îÛÍÊŽ··7'ÙÜ=J$’¢â"c ­Zq1*ÜÝÝÝÝßxã·nÝâaµ‹'P"ì“ZóyŠ_\R,*¤ì™©«›§§§V§ãÌ¡¼âMcAו¤¼¼\­V«Õê»wï¶oß>;;ÛÓÓS£Ñ¨ h4î'o€‚¦iÌ0×®_»zõZŸ>}Z¶lÉèt 6Œ<äÎ[·n^WkÔ¦#X&ºÜ¬YÓæÍ›Í™;‡<;{ÎìfÍš6oÖ”½ŸfÍš6kÖ”=Û´éëM›¾Þ¼y³€€V½#Â'$aõìYd~e¦([šK`~l7:„yC£7y¥ñ«M^1y{‰Œàn™¿|4 pCñ‚¹ž¤i˜|¥É$1‚÷™¯ïœ¦˜–fLJñî™Ì´á Ü?Þ«k0;`†¡¸¿b=_†Ì ŒõUC˜¤ ‡2í§“s*Hxćv >†!/dÄŒEœ Èhâª7^‘0ü3f‘о̽ü—0s3£†"2 ™)XÐÆ'Ë&ºÂ¢sˆÉ¡ “§Ï0?GóŸgˆg0¾zõJŲÍÊŽF£ie#tíÚU} -Z°Wét:F§Ã\ p¨5jÑA^Àþ­ð/Ƙ¦(ãë„Þ¿{—w;÷ïÞ5 é­ä ß#J´LQãŸ~úé×_íÓ§B(??ùòåãGeffr!ž?ÞÓÓ³^½z¡õë“Ð4]XTxñÏ?_iòj£Æ¯è̯ùR¸»· lwùò?õê70Èx öï7Þ¯n]„Ѓû÷ìßãŠ$ÿüóoqqqÚ‘#ñ ã9¼mûv77%ìCš¢W®^3Ûœ'æ<]{Ÿl[1ÓfšÞ¼v½J‹‹ËtÅj¦XÅ”j˜bS¬bJÔ쮸Œ)-gŠË•–³o详¸yúi„Bˆ¦Xã£ÞB#Š3eâ§(} ìDDŠõKú7x0 ‡2\Ë…C™†Éúažz«M¼ ŠFa„)„h ! Ñl2ˆ´6“Ô²Ív"µ†é|\8úi^ðrɑ޳7ƒh"cá6ܬ>vÊ$aÂX´Ñg„¢ ÏQȸRÁ$µìí`Œ 7Åf™Z„õéÔÇ€ÙÀÙ;@{;×sB}—zŽ˜¢h6lòıI,Èø,´¡ÑlLl{×x§üÒˆ¸Òˆ°!Ù˜+ˆ¸›¶!hšÎ/Ège§ñ+M,ÈŽ»»{ÛvíYÙ©ëW—´-Ó4­,Tê!´ #”~ölë6mŒ­~…¨]u|ÁìUs†ሮøôH„hš.*.â„ôþýû={ö˜8iÒ¨Q£Ù ’W®LN^y$í¨§§'—Ÿ: Ñó •Ù›Ö-¤•Jåííݺuk„P^^ÞÎ;ýõWGGG.ÝyyyIII111¡œìln-Ƙ–HЋг²²BC»UhðjÐúò¥¿JŠ‹éºþ:ŽôaÉG•¼*ù³ÏâB«V§¸»»ggg Úd®;;;¿×¯_©Jµ0þ³¥ß.ÿÉ'šêlóÿêµë¡×_;ckkÛ¨Q£¢¢¢ÜÜ\ww÷¸ùŸtíÚ•Bèµ×^åüØÙÙEôê7/N*“!„t ³zõêÛ·egg{yy 4x̘14M#„^mòŠhüM^iŒºqó–±»±Ü–¶—J|¢%®MJÓ4;šOTl¿xªùÈ #ɳBÖ£-æx®T)g¿&ì!§“˜%b!^Êb?’ë)ò-oúšÜ£K.6íÀ‰Øsx#‚±ks"½:+øú³†1 ,Þ 0±`P-‘”—dee……ugeçaFÛFäà\Z´¾ô÷ÅÇÅÅ´?m}"žv-úúë-Û¶Ž5jâG¸HÛ´nÃi—ø¨¤Õ¦|þŠÂ #±±!…´N:&N\úí·ã‘#F®JNN^•;Í]¡`tºÖ!­ëWW­Õòæ_±m(ÑΩáï;w~ùå—òòò˜˜˜=zœ?ž¬ ׯ__\\|ôèÑ'Ož „š5mÊ« JJŠe2™««‹Ž1ýÒÒ2{{¹I–ÐR™]¹VËf16ÔE¯aC‡-ùfÉØ±ãÆûöîýxêÇ_}ý•5úÝÂÂÆvüø±ùŸ|">`bæÍŸ;wÞ›o¾9àÚµksçÎkÑ¢EÿþýÆÖµkWÎÓˆ#§L™²dÉ’ÔÔu“'MF­NIIL\|ñÑ„ #FŒ`/JYµ*%%åçƒ===i -•Ùi´Zž9^"‘°Ú•²*e˶­Á‚×­]ko/>\ ESœv Gt*5x+ªþ4Eé…ÔÅ™M̰aÃ0f–-]zæ?Ξ=ûñÇ<ˆ=E„T§Ó‰N=@Ñ–g5jÔ¨cÇŽ§N3fŒ««kûöí;^¾|yƒ Z¶lɺðF·ÆšòrGG'Ц‚'Ož 6´¬¬Œ1ÅÕÅ…at:F‡,ÎÕ8ÐÞÞ~ÕªU«RV98:ˆŒ´2]]]BJ¥’ ›™µM>¤>}û6oÞœ=îÝ»7{üèÑ#2‘£F’Éd#GŽDíÙ½›uܾ}BhÄÈ‘R™lä¨Q¡Û·‘Iš2y2«ø"->Þ8$ñÎpöbþìxrúi“gÍ禑!`ŒñÖaVd”7ñcðFFdœ:™§ Ã\Œ¼Žç“!¦Ì#ƒý%ìðµéà!âñé$ÿñ¼‰,‘q‘i ,ã g &s·É[¬‰Å–éqwÇÏXë†8óº>F²œð&˜ZöÍ™à…%W±he ˜Kž-?V*>%0•­¦ ÃÊ-‘0 ãS§NÌG-_¶lݺu ìJN^µjÕ”ÉSØv1£Óe‡˜ž„¹@hZÇ0:†Y•¼jUʪ©S¦&&.‰ù(fù²å©©ë„ÚU%ŠO΀`3P/¤ ãСÃÚ´isöìÙàààƒ‰ ©¨â#„lD§ÊpoÞ¼yðàÁíÛ·ÇÄÄ|ûí·?ÿüsPPPß¾}9ÿåååÇG½Ñ¼9oÍÙÉ©¼\£V©mmm¹KdRYjêz[Çðíílm¥åèìiö§\.òþ”Õ)¡Ç|hoo/ZQ —É)•J„B¡$2•ÓpLNQurr]ã£pwǹ»»#„rssYÇœœ„ÂÍ N-Q!„Ü ^@|C?Æ!µ—éŠÊ´5è‰ZW¢ÆÅ*¦D¥+V1Åj¦B›>gl}›>Âa^}&›>Æm°õbLS46±›˜ãiD!2@˜˳é³wGëCÖË;mj:çÛâ‘Þ~Ͷ×(br¯Á¾­±é#ŒhŠÈÃ,,^qÕMñó!l.d0jSˆ‘#ÜóÕÐ…‰‡NÑ"Œé¬rS†-5™EÆûåô–€êçMÑÄÇÆ y£ú<¡(Ä该b(¢T`.didG#¥™< L”.Êd&ÆšÖËN™ÊV*E ŠfÅòågÏœ9wîÜ”ÉSÄ0zã';Z­–â6D1¢R©¥¶¶™™™)«S&Ož9p £c¢‡ eœ´"©G÷žœvIm¥åå嘷’+°,¬¡5RÃ!„Ö¬YsöìÙ  à_ý555uØÐaåååÚÆÉщ25)ŠϾº>!5d뤋È:BGFuêÔÙ¤ioèË3‚*µ;P~~¾§§g~ABˆ[¿æáá‘••UPPàááQŸòööÆf̵¢ËXØSrÊÞÙ¦Ž«” išÒ¥Q´6ýg²Œ[aŒ®T•2µ)?åöæ§xVÕØƒ•fzD˜­q…®Í¤ß𥔨^lüü4U ¾¸ÛûˆH†UxÛ:òÌD¢Sì…ú 9X¼E™Ÿ”©ÿŸpn© Ãèe§ô‰“„½vHttQQá–-[G=``¤N§å˱‘{Ìi—ÄÙÙÛÇ{ï¾}œj 2¤{÷în 7£3BÓ˜ØÔ–276[Ñ–6X0ãƒwGëÖ®]»ví¤I“"Ü´iãʤ$Œ™èè¡lÆ&FÔ´hVôÉE›7oÞ¼qãFaa¡¯¯/BèÈ‘#®®®¿þú+Ûn½råJYYÙÅ‹?~ÌÚôÉò­Ój]œ]üýëݾsëo¼iù ÊÊ|èSÇÛÉÙI«ÕòÖ 7Wpqv>w.]tR°¨ž–<~œväÈâÄÅõêÕ›8q"-÷ˆ­¦³ 1¤ŸukÖLž2eÝÚµ¡^½{³Ï¾wŸ>«’“S×­›4y2{*r€Yc”““SIIɃ{÷üë×''}ÓÅNL¤F'\K)Ü^ÔÔ(/œ³E."ÝÀSôLj8a5³°×ŽŠl:(ÖµFЫv;fk*Ñ´QbC–3´Î Ç ×Å‚ŸÁ´q,¶ÎÀ$ óZOfˆ9»?2¬àMŸÇV̶¬pF¦H>£#ì Nçêìâï_ïÖí›oþï-nøzܸñ]ºt}µIF«å.|ô(S/;ååä¦Úòržv)ÜÜx³Q8—,C åååÂøDgé˜ûËYPÉkyBú(3síÚµ'Lèß¿?£Ó½õ>fðªäUÝBÃ<<=w$6À "úÂU㯼òJ÷îÝ=z¤Óé5j´mÛ¶àààþýûsæ v†OçÎBÙYYdhZ­ÖÑѱ}PÐÎÛýü꺸¸š{gÔjõß—.wïÞÃÙÉ™í’ðJ!£`Qi63ؼy3;;»:uê õÁ˜1...”XkÝÔÌßk·Â`êúÔÔõ©2™¬_¿~11±Eö£&`³wßÞÔõ©^^^“&NCŒâ"r¿{„>ŠùhEÒŠ.]» „®_¿ap㎠^†PŠ˜,yóè…¯QÛ‰Þ;Y#K ):ìÂÓ?°ÀËyŽ%"±M•ysÆ‘ØÐ ®H¦©Šv`µ0Æ[aí"¾!ØÂp«¨Ä3 ݯnšÕÜ£çoÁ¸y[òrm|a03$@v…±°iÅ[ nººâÝä-îh+:_4Ÿ‘é–V§sprbe§®_]W7îhܸ±Ža¸zB¥Rýý÷¥îÝ{8;»”k4ˆX&©Óé T¬]l NÎÆMÌ*Õ´ ðÎò„ÔËÇg×÷ß{xxpIGE…†…¹¹»—–•]ºt¹{÷NNÎj•J¸n\Ÿsüm (Œq棬ôôô×_]"‘ܺuëï¿ÿ¾téR\\7-I£Ñ=z´I“&7¦(êµW›B×/”J¥2™ìܹséçÎ9:$*UYúùô·ÞjÙ´iSV«3LÒç½4H°Å%¶t“·7=¿Qoºƒ¨ô[ðÃÛ‚uáVðŠ4ܬi{šßo™óPVΔ¨p±JW¬bÊÊq‰ŠÑ[óõ–}ügÙ'§êWMßÂVÄ9[óÓú‡X©€­1”W˜ž§ÍsøˆÌª$­üÖíA~à ›ßäÎD#ˆœ!„#Xt3WAGJ8sTd[:žUGô¬ 7,›q°èpˆØöÈØ°¶ ¶ÙAbÞÉåvZ£—foøû×5È¥V—åäeÇÖÖFE4Š¢Ì Œ(Š’Ëå:†¤n]™LÆæšJ ]vKèWÊ‚oNôyBúzÓæþþþ2©”¡V«M#¡Uæ…ÔÝÃý\ÁL0LQ”O:¬ËÌ™3Ïœ9³bÅŠM›6}þùçæÞ¼Ã~CŸtGGG[©4//÷Ô©SwïÞftŒƒ£cYY™ÔVÚ°QömÝÜÜÊ˵e¥¥< ä‚ñ,~-”ؼô<é't™4•¹O‹‹—¾V`p]¹zÕL ALZGØŒ¬›ýeÍ l˜ðCºb$²)™s 2,^Lųäò‡Ù‰rlîjüUB3FföCÇfìæ‚<¯Âá\ñÐÌ'ƒûzаâg—¯òŠ7ó‘5•x$²w›áÓ‰ÿÈŒ²Üo&ÆbÍ#Š¿Ÿ‰½^(ê9[òFfgl³äeFøÉcþÛ;8ØØØX–m¹–ý”—šB 6–({[[[k´Ëä‹o´U« ±ØÿñŸ>ñìíí¥2™åĨÕUYù¸yjíîáIi4š¼¼\J¬>æDÿñãÇ_|ñEyyy\\ÙÍáÝUÖ£G”±øšŒ7J¥RGG†Ñé´º2UYY™ÊÞ^.“ÙI$„PYi);~k*æªJk¥Ÿ ª"ôU"~ó´L(ë”ÈøÐsRÑorqùo¡0ñ#Pva`ÒB¤ø»žñªÁYK•¶Ý.|¾w&¶•¦5*omŸ˜Tc&…Âĵޒ¸›É:¾ÄsO‡¿)¦˜Ê“õñ¸‘e¡7Æ(Ò‡{.Z/Ìl7“.—ÉS“Édr¹\'&;E•••iËËM†¯1¦h 3&™Lfïà ª]B¥µËBQ#ª^K“|°i#ŒM ÆŒ¨–>yR^^n¡Tc„æßðâm;c"Çæ¿Çvø1Y9Ì.gU«ySYL†^„c¦±ï²Z­65”›mXø<7KŠ"f,Öˆ·®!Œ±Z¥RV)kF³LvÙ4ÎÃc6=*U;âO!ŠA\ws65¬O6C! c±“5(„Œ(„Ffg§V©) 1¬ Å ¦˜õÀnúÄNPc ÝLnŽª~Q¶‘J#›$D~0›]t(øj3ùKïäǤ¹Ãà¨#¿škÚÁ¤Æ >\%œ CÌs ÈcsÖó/4qý`Ù|6óÑ(dæ#jV:Vª U‹xSÃLD´[†­ó&6&€ÍÙšŒ_p#§ »†Ä¼2^8:޵?‹ìWjêB™~“¦*±)1R‹³³ˆŽÅÛÎÔ ãL¹=#±-ÂÈͧH£œN«ÕŒ:”6d>”—kBÂO Õ[[)×ñ !;j"{ïlX¿ò¨… >2¨¢š¿ ²¨Uäåå>.)©^inp>=žP¢úùÇý;P{€*¤–6}¨X kÃmrŠ_KîDÑhæ#Ô* €kÿêtºeË—wéÚµ}PЬٳK ¶ صkWD¯ÞíÚEŒüóâÅýû÷÷íÛ·m`àà¨÷oܼÉyÛ°qC×ÐРààŸ.àVÏk4šøøøŽ!!CBâ㊮ª×h4Ÿ,X¶qÓFÎÝB’¾ÿ~WxD›†ëׯ±î§OŸŽÙ600<"b÷ž=¼;%ïwôè>ÄE”••Õ­{w( úµ‚!ÄW(Úkô8ŸžÎY?Ö¥¦^½reëÖ­iGŽÈd²o—.å<Ÿ9{fÍê”ÇwïÖcâĉ§OŸNNNþåĉЮ].\Èy»páÏïvî8°_~~Arò*ÖqERRNnîÞ=»÷ìÞ••”´R˜˜•+“•JåýûvlßnüxœÅ$¥Ÿ¿°níÚÇwîÜ)>^Ÿ†¸¸ùŽ{êäÉ5«W_¾|ÉÂýŽ52eõî«×¬ÝÛËËÞÞ~â„ ÇŽãNÍ™=ÇÛÛÛÎÎ.*jpiiéÌ™3¹ŸWþý—óû±››ÂÍM{ðàϬã¡C‡bccÝÜ …bú´i‡ˆö5ÇÁCÙk Å´ØXk’4sÆ ///¹\>4:úÚ5}K_f'ËËÏSúøøÌ›;ÏÂͶk×Î^.?|ø0Bèþƒ¿ÿöû  úÕ›Z%ë›7n0wÖ©* ÿ…Ã¥—Η9Í/„cGÓ¸ã£>¸w÷ÏCnNÎ{ýúq?ÉÍ0\]õßÕ³³³ãýÔ_Xõ­ã«?ðõÍÏÏg ü| î~~w’üü|ãµ~~Ö$ÉÅÅE˜†E‹­Y½&%%ÅÁÁ16vjÇ-dȨQ£¾]º444499yè°avvvõ4L]»ŠÊËh¶|á«Â_„»‡ÇúÔT//¯§?óQ¦]„УG™ wwÖQ¡Pp)"Q»»ýdf>u’š7k¶dI"Æøôéß>ýìÓÇ,‰~ÇŽW®\¹|ùŠK—.-øä6[¸,^ZÌU̵EôY#û—mÛ:ìý¨¨ŸT*•›6¬çÚ¿C†40ò§ŸV©ÔíÛ6ÌÖÖ– Ša˜ïv}â—_T*U«Vo9ÒÎÎN>/v2.ÑBZ­vÇΧ~ýat}z÷êÙ£B¨¼¼|ã¦Mœ9‹jÛ¶í°è!lzÊËËצ¦ž={Nng×£G÷í;vré1|Øþ?úúú3ª^½ú\_4Øs™ °fCʽ““Ó½{÷ê××ßuÿ~ýã.œ>mšO:wîÜY·nÝŸ^©À/™?BhqBb÷núqѰ°Ð„„ÅŸÌC-JH ^Ø-¬{-Æ8!!s¯l’fÍžóÁèQþþþaVÇ;Ë»_Š¢FŽ9köìysçqï‚huT X›>6ü«±°º¶yãR‘oݾµð³›6¬çy¾zõú—ŸþMââ¢âïØÍ;»wßþ»wï,üìÓ•+–Kmm·íØi.|2.ÑB»÷ìÉxøðóøO¿I\\P d¿Ûõ}²pñ¢¯}]ŸÿÝ®ï9÷²ÒÒo—,þò‹…×®ß ãºrõêüysW­LjÐjÍºÔ óÁrD–¬ D‰2d7{gøða-[´;n\PPÐÜ9s:wêTÙ[´|«ÿ€ÈwÃ#\\]ÆË:ÆŒqwWôêݧWï>žž1ãÇ /?~œ³³SÏwÃD hŹW6I;uŒ6-88xé²¥ññŸY¾_„-‘Ôó÷Ŭ¶p"kõ@îûQQNNÎb/y”³³³³³sô÷ûýwÞÙ_Nž=T¡PØÙÙ 80ýÜ¹ÊÆe.„S¿ž­P(ìí퇼Å:þþûïÑCÞwvvvqv=ä÷?þлÿñ¦““ó¨Ád\Çuss“ÉdïöìqïÞ}+sÃ\DO`aÔ¨‘§NâfïÐ4=bÄðû÷Ÿùã;vpMrÞrV ?‡ –väÈé_]ðÉ'R©”u”ÉdqóâN>½{õªløæBèÛ§Ïö;fχ1îÓ»7ë9`Àú§ÆNCµmÛ&r@Ö}@ÿ~k×¥Nœ]€(`Þ€jÊ+‚‚‚ìår77ÅäI“/^ü‹ußàǘñ1žžžžžž1ãc€o úP³8sæÌ›o¾Éߺu«Y³¦ìqÓ¦¯ßºuò0˜w úqýúµ„ʼn+–/c–••ÉåröØÞÞžûr@Kª=çϧO™úñ—_|^¯^=ÖE.——••±Ç¥¥¥öööKˆ>Ô>Œþ¼•ýéÿ¥ª* ÞÒ¦MÛÿ>Òî=ßSÈEÕÚÏ_×f8‘ÇÐÒ€—“ç±V–#¨vÚôOŸ>90²m``xDÄî={XGFß1$¤cHH|üBFÃ5~·lÙÚ³gÏ€Ö­[°.ì°™Ì|ÿý®ðˆˆ¶ƒ£Þ¿~ýš¹x…’Ñ‘a £ØµkWD¯ÞíÚEŒüóâÅýû÷÷íÛ—ñÆÍ›¬7N·lùò.]»¶ š5{6·Íºh …‰Í(àeãØÑ4PsDßqqó?3öÔÉ“kV¯¾|ùë¸"))'7wïžÝ{vïÎÊÎJJZÉù¿üÏå­[·¤Ÿ;Çš>Χ§WhI?aÝÚµ'ŽïܹS|üBsñŠÈEg9Š3gϬYrâøñîÝzLœ8ñôéÓÉÉÉ¿œ8ÚµëÂ…ú×¥¦^½reëÖ­iGŽÈd²o—.µBabD3 x 1êÈDß,2;Y^~ž²°ÐÇÇgÞÜy¬ã¡C‡bccÝÜ …bú´i‡âüO2ÅÕÕ­RQÌœ1ÃËËK.—޾víš…x…XÝœÙs¼½½íì좢—––Μ9“ûyåßY?{÷î>}º·——½½ýÄ Ž;f9…Öd úÕŒE‹ýñûQQQ½z÷9yê$ëXPPàçëËûúùäçsþ===+…‹‹ {`gg§Õé,Ä+ÄÊè\]]¹(x?¹ssrÞë׵؄†…)•JË)´&£¨ÖÔÆÜæÍš-Y’ˆ1>}ú·O?ûôð¡Ž!…B‘ù(Ó¿®?B(óáC7…⿉·‚Ç#‘¨T*VÖ +£»‡ÇúÔT//¯ÿ,Á@Kÿ¥cÖì9·oßÖjµaVßÈ MHX¬T(•‹ÂÂÂD¯urrºwï^Æk9À&¯6Ù¸i“J¥ÊÉÉùâ‹/*cÿ~ýã.ÌÈÈÐêt7nÞœ5{¶eÿ¼Äˆ&héW3:wê;mÚÃŒŒú êÇÇÆ:ÆŒùêë¯zõîƒ í3~¼èµÑC¢‡ RZVöóÙEãµ༹s|¿vÍO/¯áÆ¥=Z©‡¶a5vܸÜÜÜõë5ʲ^bD @µ†Òh4ÙYYìN‹ªß !ì§Ô*ŽM9z û•cGÓFŒú€}6¬_÷¢gYÿ’ ¶æ6aqVͦuÛ@vE.Y0$}ûÞËÛöÞ¨EØ „…_Πº“ô+À¤èðÒ‹lç×Òàå‚¢(ÈDþkb&Lz!ñæååBæ úð_cy_r¨ŽÀì€ZßÒ‡A$ 6“ºv5dP‹D‘€Ú Ì€j6”F£&VäÂþ*5 ‰DÂxyû€M !bÞ©ß !ä Pëú¼Åî½5]ô±ñCé°áP«¨Â™ ­žbÖê5ð’CŠ<˜w¯B j$ úˆÀu@ýAô}¨‰téÒµ¸¸˜ûYTTÔ54´¸¸X£ÑÄÇÇw é¿P£Ñð.ä5¹Ÿ­víÚÑ«w`»v‘#ÿ¼xqÿþý}ûöm88êý7o²Þt:ݲåË»tíÚ>(hÖìÙ¥¥¥Â´i4šO,  Û¸i#çnîÚVß¿+<"‚ëúõk¬ûéÓ§#F¶ ˆØ½g™`î/{0zô‡â"ÊÊÊêÖ½;ýÈ… ç{¾û.ôsk£èwíúÃ»wïîÑ£‡³³óФ¤œÜܽ{vïÙ½;+;+)i¥õaž9{fÍê”ÇwïÖcâĉ§OŸNNNþåĉЮ].\ÈúY—šzõÊ•­[·¦9"“ɾ]ºTÎÊ•ÉJ¥òÀþ};¶o?wÎ8„káÚôóÖ­]{âøñÎ;ÅÇë㊋›ÿᘱ§Nž\³zõåË—È(X#Ïùôtö`Ô¨‘)«×0 Þ]½fõàÁƒ €è×@¾ùæÛ3¦¿Ø©På¼¢úî»]Z!¤Õé¾ÿá‡÷£¢B‡ŠusS(ŠéÓ¦"Ú¿2göooo;;»¨¨Á¥¥¥3gÎä~^ù÷_ÖÏÞ½{§OŸîíåeoo?q„cÇŽ Ã9xè`lìÇl¦ÅÆrî®9c†———\.}íš¾¥/³“ååç) }||æÍg!åíÚµ³—Ë>ŒºÿàÁï¿ý>h ˆ~5vÙ´Š7oµz±i€Ùxÿ äôMvK†Æ;z4,,ìØÑ´7ß|ÓÇÇ!TPPàçëËzóõó+ÈÏ·> WWWöÀÎÎŽ÷SkXŸ›“ó^¿~Ü%¢›£äççûÖ1¦s·p­‹‹‹0®E‹­Y½&%%ÅÁÁ16vjÇ-$~Ô¨Qß.]šœœ—XÆÆ*ÈZôª°ì 5x𪔔°°°­Û¶Ïš9ƒ=¥P(2eú×õGe>|è¦Pð_-‰D¥R±²^XXXÙ4¸{x¬OMõòò²äÇÝݘ†ÌÌJ]KÒ¼Y³%K1ƧOÿöégŸ>dIô;vì¸råÊåËW\ºtiÁ'Ÿ°¹½„˜ÖÄð¹ÄÊÛUØ¿çÓÓ5Í×_}øÈ„PXhØôéÓ¤R)ëaꔩ[¶lÎÉÍM?wN«Õ.]¶ôÇ?éÝèQ£† ‚ÒétI+WîÙ³§¬¬,$$dÞܹöööÂè&Nœ°iÓæ²²²°°ÐY3gqá³ýŒŒŒÅ‹ÓÓÏ•kµ­[·þtÁ'nn ÖÃìY3S×oÈÍÍmÔ¨ñ‚Oâ^}õ5¶ÆM0`²}˜¸$qÇÎörùk¯½Î:†……&$,þd~BhQBBXX/„&¯6Ù¸iÓÐèèâââÅ‹W6ýûõ_¸pú´i>uêܹsgݺu_|þ9ÏO·°n‰‹—ÌŸ?cœP©kIfÍžóÁèQþþþa–¿—““Ó½{÷êׯÏõFŽ9köìysçÙÚÚ ³ xÉ›¾µvn,ËÂÞå.oݺ%ýÜ9„Ъ”U·nÝÞºmëþ}û²srXÖŒÎ!„.\øó»;ìß—Ÿ_œ¼ŠwvÊÔ©QQQiiiiGŽ4¨_qâî”è0ݳ 9,ƒG%$$ :”s‰ãî®èÕ»O¯Þ}<==bÆç]2oîÜ'~ 9jTëÖ­+ãðáÃZ¶h9vܸ   ¹sætîÔIègüøqÎÎN=ß 90  U¥®%éÜ©cì´iÁÁÁK—-ÿŒw6zHô!CÈ!%Z"©çï£:BiÔꬬGìvP¾~ƒ†Po [ßœI½{)))õüýB÷ïßÿpìØŸú‰õsðçŸ===Yo={öLNN®W¯NxDÄŠåËÙFSAAÁÀAƒŽ>,ŒkÏžÝlŸýþƒc?üð'CøB³¾J¥z7<ühZëáØÑ£¬ÑV¥R…„„œ9sÆB‚ŽcGÓFŽÃî½sìhš¨%à˜:uj·nݺuëYñ’—j®$Ó´¾}ïíSÌ;•ÆÂ§ø¡¼ü|rlÅšÑ9„qtÎ×7_0Bø×_/[¶ôêµkeeeÈŠaºgr†aöìÝû ##44r£š¢_i*ÁcñpwÏ|ø×Ò·r„ ÿÑ£L…»;ïìÌY3§LžÜ¾}{‡ÒÒÒŽ!!U’`¨ÖmÚøúú~ùÅ\˨vÀ“«4ìžRY TˆŽà±„G„õõ×Ù99%%%‹YGv„-##C«ÓݸysÖìÙ¢×&.^RX¨,,T.NHìÞ¿âQ­VËd2©TúðáÃxÃZžgO0TÈùôôýûö5oÞ²D¿Qá˘Æ4jØpðàÁ½z÷öñöa­akÑò­þ"ß pqu7n,ïlܼy‹—wèðáØ±o½õVU%€Ú ä¾tÀ®èÿ=0 ÔÈR-: -}€Zˆ>T~ûí·±ãÆ¶kßþ.]æÎ›§T°îã¥K—uêܹó;ï,[¾cXc€èWÀ¶˜cË–-ÑC¢=úý®ï¸‰»wÿpáÏ ßíܹsÇŽóçÏïÙ»ò Ñ€jÏŠ+‚‚‚ìår77ÅäI“/^ü‹ußàǘñ1žžžžžž1ãcØy˜Ã#}A¨vœ9sæÍ7ßdoݺլYSö¸iÓ×oݺ ù"‹³ úqýúµ„ʼn+–/c–••ÉåröØÞÞ^ô3[Àæ¨fœ?Ÿ>eêÇ_~ñ9·Þ[.—³{r „JKK…[·@-}ò;¼<>|8qÉ’ÄÄÄfM›rŽ7þ÷ß+­[ „®\¹Ú¸q#È( ¢on0^,›7oÙ¶}Ûʤ¤† ’îáïöLZ™ôuƒ¯BI+“zõêyTBôÙu‰¼l,ùf B¨ÿ€œË©S§ìåò÷Þë—‘‘9 2!Ôï½~}z÷†¼,‹>L߀j€¹5EMš4qÒ¤‰E€,~.±~ƒ†C@mƒ¢(èãµ§¥Ïv›j0s¨=À”M}DÑ@ô« ­jyJ^žày®½¤õìªÿ2°aý:È z3aÒã’ýç+ÍU®Ñ\hB†Šá¿¡M›¶ÿ}¤Ý{†?§)ŠúùGØmZú¼d<µ2°@µÓ¦¯Ñh>Y° (884,l㦤{|||ÇŽ!!ññ 5 צþþû]ámG½ýú5^‹›ý+j?}útäÀȶá»÷ìá.Ù°qC×ÐРààŸ.à"†i.dá©V[¶líÙ³g@ëÖ¡ŒŒŒ)S¦vèÐ!°]» 'rSÕjµ‰K»téÚ©sçÍ›7ó‚½råjž=·nÛf.åÀKȱ£i æˆ¾%V®LV*•öïÛ±}û¹sF ÉŠ¤¤œÜܽ{vïÙ½;+;+)i%w*ýü…ukמ8~¼sçNññ ÉÐXËùôtQcK\ÜüÇŒ=uòäšÕ«/_¾Ä¹_¸ðçw;wØ¿/?¿ 9y•h:-„,zêò?—·nÝ’~îBhÊÔ©QQQiiiiGŽ4¨_qâÖϪ”U·nÝÞºmëþ}û²srÈ0Oýzê£ Íœ1#jð` )^BFŒú2Ñ7ËÁCcc?vsS(Ši±±œû¡C‡bccY÷éÓ¦:|ˆ;5sÆ ///¹\>4:úÚµk¤òZFf'ËËÏSúøøÌ›;sgàæ¦ˆ=xðç*¹¯©S¦¸ºº±ÇßíÜÙºu€L&sttŒ‰‰ùý÷ßY÷ü8cúto//''§§Nå®Ý¹ó»… ?_ºtiHHˆå”¢_ÍÈÏÏ÷­ãËûúùqî~¾F÷‚ü|‹ {`gg§Õé¬kÑ¢EüþGTTT¯Þ}Nž:ɹàë›ODô,xzzrÇýõ÷èÑ£ƒ;th\TTĺçå瓷̱yË–ððw›7kVaÊѯf¸»»g>Êd3339w…BatøÐM¡xö¸š7k¶dIbÚ‘#Ó§M#íB\De*ÜÝ«ügΚyðçŸÓÏ;ùË/Øð]dw÷̇…þW¯NI;’FŽp˜K9Õ^ô1Öÿ«%t ë–¸xIa¡R©,HHHàÜÃÂB+•JeÁ¢„„°°0+trrºwïžè©Y³çܾ}[«Õ"„uZcQV°‚ IDATM@a¡rqBb÷nÝŸ"d §BjµZ&“I¥Ò‡Æ/4JvxDøW_“SRR²81‘s÷öòZ½zõž={SS×[N9ÕRäkcKüøqÎÎN=ß 90  ç3>ÆÝ]Ñ«wŸ^½ûxzzÄŒoe€ÑC¢‡ ":{§s§Ž±Ó¦/]¶4>þ3νEË·úˆ|7<ÂÅÕeܸ±O²…S¡¸yó'. îÐáñcßzë-Î}Ìc5l8xðà^½{ûxû—xzz®NIùñ§W¯Yc!åTk(µZýÈhâÀ¡ú Â~úÏXWõ²qìhÚÈÑcب;š6bÔì+°aýºµ8ËúwL°5· ‹³j6­Û²+rM †þËçu|}ás‰5Nä1l¸Õ˜¤T ؆á¶ B`‘-¢µŠ¢ }ø¯‰™0é…Ä›—— ™€èÀå}É :¹µ¾¥ƒH@m&uíjÈ ‰> "µ˜ Ôlع!#j$*¢gx¢<Œsıճwh}}@Ñ4Í`a„(!Œ(Œ0£ÑhœœÔõ¹½ò;o¥MÝ×ß¼Ÿ~î᪥¯.ZöìÉÝñý#¿  % Fc#„1ƒb0ƒ±Þimw|¹Ûzч¯ÔP{[úVB!ЦéK_Ò1:ÄYvBi4êz~^¬mñÎølNñí|›'e…'ŽWIKKKJýÓ_ë…$6” %CEQ´'Òõ•ªlþIkïç߯¬´´º? ¨Šx™DŸ¦hL5£káAHoÛa|ÿÖå‹?~õF#ŸFŽåEZü×™¿ 4*¿™3ª*•Z¦\&•Ëlìë•vÕå9©‹±ÔFÞl×kÍš—_êžçï ¶ͪîã¹*þ¡ÃB666K'¸¹¹±ŽSc§iµZ„Ðæ8oä1EQ666NNNþuë¶k×.¨};Î Hz Æ‰>EQ]TTŒ9³>F3êâÌ'7ú_}—úò,TšW‚ [¹*†Eùtë_U©d0ÓÞmxñ¿Î6ìÖ¯»Ljûàl?yÌ\Í˦¥¹ ¶ƒgi%~ü1zÈÃñOúß´a½V«ÍÊÊ>~âøª””Ó§:eŠ­­-ä$TG*1OŸBMÑ¥OJŸþ•>)-ȾýÔwIa=ÇIyAfná-¥´üí~6o¶“ÈäU•Ê`aEÿ8uyç^á½e2YÎÕOÕÅ>.Ì̸ãXê0åÈ?]u SÙÍl¾ÿ~WxDDÛÀÀÁQï_¿~uÔh4ñññCB:†„ÄÇ/Ôh4œáe×®]½z¶k90òÏ‹÷ïßß·o_öò7o²Þt:ݲåË»tíÚ>(hÖìÙ¥•´8µ `222¦L™Ú¡C‡Àví&Lœ¨TpD“m=AAí?Q\\Œ**.>~âDHÇŽ7 llêÖõ‹2$üÝw/]þgÏÞ½ðæ@-}Š¢(ªAà 5lبaà êúz<¾±¯‰·MCWMy^fvþåeõ;\÷®ˆ®Ê Šs5žî-Þz[¥*+ÎÜ›wc¹N‹%îã½ÛþÚªÓlO/¯¬ÌÌʆ™~þºµkO?Þ¹s§øø…¬ãФ¤œÜܽ{vïÙ½;+;+)i%çÿÌÙ3kV§œ8~¼{·'N<}útrrò/'N„víºp¡þòu©©W¯\ÙºukÚ‘#2™ìÛ¥KŸî~§L•–––väHƒúõ'.±œlëé®Óé~úù Bè§Ÿ~Æ÷îaýå]ÞéŒúí÷ßáÍ€Z!ú4M_üóâ…óþ¼ðçùsü²y¶»®¡ÓMîƒÌÜ?o+›„Ç×y½-‘Vm*³²³B»„(ór•9%¹'}šNú_ø-‡z£‹ž<)Pæ…v ËÎÍ©l˜3gÌðòò’ËåC££¯]Ó7™:ëæ¦P(Ó§M;tøçÎì9ÞÞÞvvvQQƒKKKgΜÉý¼ò↓Ÿ½{÷NŸ>ÝÛËËÞÞ~â„ ÇŽ{ºûýnçÎÖ­d2™££cLLÌï„ÈŠ&Ûz¼½½ÓŽÍÎÎ>zìè;;+ ë/wuuE)•…ðæ@5¥ríqŠ¢Z´h1Öé´öYßÛ¾‰s*˹÷(ÿZý¿Ë=µ–Hª~·¢ÂBO¯;nj4ê–mVœK?{ïÂåÀ6™Yjºa½WŠ ‹*¦‹‹ {`gg§ÕéØã‚‚?__öØ×ϯ ?Ÿ§w¬ÞOîòÜœœ÷úõ#³ëéî÷¯¿þ^¶léÕk×ÊÊÊxáˆ&»Rôéñûï¿þå—:Ó+"¼Rײrïææ oÔ|Ñg¥G©T2 ó8÷&.Ëñ÷Ò ²œ›r¯+ýƒ?ro@KlžÇ6 ZÃ`æñ“bµZ¥ctÊ[[©ŽÑ•<.’Éì†agî?; …"óQ¦]„PæÃ‡n•i#„Ü=<Ö§¦zyy=c2fΚ9eòäöíÛ;88”––v ©ÂÌôõõmÓºõ™³g{tïÎU]VrôØ1„PûvíàÍ€šoÞa))))..ºxþ7UÁ½’‚‡—nf>,÷k2ÉÁç „iš¢)ºêEßÁÁ>;;Kj+{\úø¯Îwy§ë;ß¹—qûqéc©­,;'K.—W‰î‡……&$,V* ”Ê‚E aaa•º¼¿þñ fddhuº7oΚ=ûé’¡V«e2™T*}øðaüÂ…UžŸ>ŠÙ¼qÃûQƒ­­tµÚ‡37mÞüãO?ýïæ}z÷†7j…y!Ô¸qãܬŒn>RÞÎU·Pø6~³YEÝ7Bì¶ Uõ;wz¸»;vtà A¹ÙY¹™ª?˼=êøxÖQ©Êüýlß±]áî^%Ÿ¢ŠóÕ×_õêÝ!Ú5füøJ]>|ø° ¨±ãÆåææ6¨_Ô¨QO—Œ¸yó'.ÉÊšîéé}øðáXD¢‡ ·±±qtt¬ëç;æƒÑÁAA°§Ô"ÑOOO¿ûŠ2÷A½7»¡W^-¤—½»J‹F#†BU¯^^žÿºxþüùÀVî?¸#µ•º¹(lll×õÂÅ ¹¹9¯½þZ¥ä-ƒâ~Êd²¸yqqóâ¬ôÏûIÓôˆÃGŒþ÷È0 MëëËN:uêÔ‰;5hà@k’a K¨ÈSæŽ+&ÕXôÂrÒ¢E‹·Þ|³g¯~Ú†¢i‰D‚¢(„1Â1˜fEŸa˜*L¥–aZK?wíÆõaÝ==”v¨HY„vvtòðòlÛcœ—Ÿ/—Ë«õ“1rÄÄ  Dðâ[ú‰¤¬¬´¬¬L.—SÅ©9{ÀþÕë;…Teª²²2[IU‰~d¿÷¾øò› ¶V¶±yÐÀjý$þ€O¼$¢ïääT\T”vô0gt¶Ã0 íá[·ª†ûÞëñ^ïxTÿ…èSåhïPÏ¿^YY©Ža0²d:§%¡i¹\.—ÛÀjÙÒgwÖurr‚ü¨þ¢ÏÍ{¶9@̓˜ÜHCnÔ²–¾€cGÓ^`šª6ö{/Õ1aÔpÑçÚýúoŸ¿P#OÕÆþÒ&ÿ ËËË…ò )ò!J­V?ÌxÀþ¶fF&P½à¶Hðõ« *P‹ÑÑ@ô}DÑ@ô}DÑ,!²Ë&ìþXÃx§KWö`ÃúuÖ_3aÒã’(P“Þbdnkå‘£Ç@.× 0Æ÷îÞá~Æ}ò™5WQ3a ¨yo±…h ¯«5Eݽs[èN–Q,·è¡`/¶Tתø<Þb„02“‰† ¼´dê>=!ôÍ7ßΘ1=¤céXÝßb+³€=pttl8sæ WW7(Õ‚üü*‘øVíÚµ[¶t)iR| ß kt£FvîØÁ•@Œñ€ÈÈ;wî<]!䮺qófPû žcu‹iësá|zúžÝ?ØÚÚÆ/üÊ@âìì¼ó»ï €…Lvê×SÜÏ_~ùEng÷ìÁj4›šf©Ü@®››"66ö?þà¹gddL™2µC‡íÚM˜8Q©,`ݵZmâ’Ä.]ºvêÜyóæÍ¬£N§[¶|y—®]ÛÍš=»´´”u?}útäÀȶá»÷ìr\˜5sæŽ;îÞ½+½¨°ðι³+’’rrs÷îÙ½g÷î¬ì¬¤¤•¬ûÊ•ÉJ¥òÀþ};¶o?w.]ÔÈÃ9HwseÒrh/Ï[\¹žKa¡rÉ7ß¶iÓ†çþÝÎìL&‹‰‰y7<œýùã“““½½¼BOÊ:îÝ»wÅòå¬ãÄ 4kæL„ÌN–—Ÿ§,,ôññ™7w¼σç7¿U«€€€ÖÉ«’?ŠùÈš²š3{Ž««+B(*jðФ3gÎä~®Z•l¹´5£4΋ËËËå$²uë€ùqqOQJišŽ½aÃúÄÄÄÔõ¢‡¥ic‹öСC)))nn „ÐôiÓ>;vòäI¡ƒ‡¦¤¬bÝ§ÅÆö}ï=kâ2W&Ÿ.´ÿþ-¶VôÙ®ƒƒC``Û¹sæðÎþõ×ßË–-½zíZYY™¦¼ü|_??žçÜœœ÷úõÞÀ¢E‹Ö¬^“’’âàà;µc‡ŽðVT9VnVõt¥jüøq#FŽ nÙ¢E…e!ÄJ¢ÿ\xÆ]6-¿ÀŸ.øtúŒ 몹²a%æJ Pcpttüö›%óâæöéGGǧG*•4(..nÜøqR©”<¥P(2eú×õGe>|è¦PèK—»»Ñ=3óËäÓ…öß¿ÅU³"W­VËd2©TúðáÃxƒ5!þÕ×_gçä”””,NLdû÷ë¿paFF†V§»qóæ¬Ù³Y÷Y³çܾ}[«Õ"„uZØ ¦ZÒ¨Q£~ýú}õõ×– +1WZ€š„««Û²¥KŸ}"øðáÃÏœ93|Øpž{XXhBÂb¥²@©,X”ƺw ë–¸xIa¡R©,HHHxÆ2ùt¡ý÷TèÇÍ›·8qIp‡ŽûÖ[oqîc>Ó¨aÃÁƒ÷êÝÛÇÛÇð`†µlÑrì¸qAAAsçÌéÜ©ëÞ¹SÇØiÓ‚ƒƒ—.[ÿ¼ Õ”Aæ‡Í• «_cñÒÖ3>ÆÝ]Ñ«wŸ^½ûxzzÄŒϺ?ÎÙÙ©ç»á"´zÆ2ùt¡ý÷Pjµ*ãÁö‡D"aû#Gá}«¨^°ñîÛõ4äžã†õëâ>ùÌšŽáÈÑcòòr…ŸK„‚¼ðR]{J`¾ÅÜœ~uý+¶é›ÛAÖ[T;*}w€$ú!øê)@ >—P;ÑÑj"–rŸze&P³‚@ ¬¢›œP0(5³æ TžG‰é¼è2ÆþÂ_øûßü­úZS­R=xp_ßì·±AIJ7¨«;÷îÞy+rßIøòþRûÛ?û[Ì}袮ÿÿÙ;ï¸&’/€O6”zš Òl4D¬¨ˆŠp*ú;ËÙPD¥ ÊÒÿ’/dRú£ÖÔXÞ¶·›l¦³A:‘pã¹y¿Y¯­ªª’—W`0bTº·±¹…‹o0™Lkkë Ý»wï°fu‹$#ýkª?Q5“¡ôöÝ#1ZÐÑìI—§šùOR " [e) m·†0jêÐüÒºäìÊÓ)‚ÒjÑWÑæPãwXl ”&÷e›ê2„"4ñMåö[’']•NÝ5ÓHSY¾Å3HÀcˆ–‹¥:†‹O>ì½[ˆÏYÔSWð¡c¦Ë¤çWGľÏûP'c½de’É•iT®£®¡R­;ÿ¨äн¢V-ý6Œž’šò^ý¶Ë€i*L¡œ½¿3ím¨nsååÔTŒ º={ùo·=îÄÝMNIîkÓ·Iv\c–——ïÙ³ÇÓÓ3..^¦?€¥@1TŒÖ£¨PZönʤé†b†a(0 ÃPÛ¾cËù(E¾=ÛF“GôÕF™©í™i´èÄ낲zxÖ~`~µaJæ§åU+Ê#³pV»èùþ•Mu¨yáqÉÜÁZ-æu±T·ÐgÎ>ð 8®ósõKik~ÑOxUx!0©/kõ/úž‡³d¬—¬L2ù’:µ"tÒ®—¯áÚ£ÍÔ®¦—J·ô¯\Šù’k}öÎÅKk•ÞkÚ¼ª¹] Ÿ¿{°obîd‹µTªKƒsñ‚вº¥¹…ŠŠÒß1È QQQñòòzù2ß‹ÅAAAÝ»wÓÓëäá1·²²—××ׯ^Э[7##ÃíÛ·IOÌf³<`eÕ[GG{èСééiÄ»›Í"^2ή‹Ë¹sg‰Ý¼¼ÌØànÒQUví|É»ç5Ÿ^&vQcÈ¿åæRSâG!ŠÇ`­³ º_YÒsµ‹Ciò«¥$øÅRãļn×¹½vÏ42Ö¤AuÜ>,;“ô¦²¦-­í¼]hÖé£]Ü…¥Ø·«Ò™TÒ7õQ¦jûî *E‚JѾ»…£ÌÔpyg Åã‰Å•Bq¥P|ôAqg Ùë%+“Lng¤¼ýVAE­¸¢Vu³ÀÉ\½­_1[Qúãö(>Ò ¡É1(&"  ˆÄ"·¿tfÒQSU¿|å’½½=ƒFWVQVVVNKK'+§¼¼|ëÖ­ffføîæÍ›Ÿ.—†¢(¾æéé©¢¢"{O-X°`ÅŠ•ÙÙ911SSS¤·-$$„ÏD,ãÑá ï ‚4œƒƒ…‡‡‡†nTVVáñ‚G-¥mEEE;7üæ¿è‡±ôkj…òòŠÕ5|Eq“…B¡PPÀ@òòŠÕÕu(µ…9gï]íïËê5˜ ×áÚ¿ßÎìÏq YU'ŽºYp?«BJbâñCvch(É•Õ4ă6Õe̳×2ѤÑä™íÇV’;4ǘØÅ>%AEmC]Âz”ŠÀ/WÚ•ÞúÌ•NÖż%F\¦qã½ôÅdjêQº0¯4ãÔíÈÿéo˜äî1ºÿ$EEš°Nˆ¢ÔŠŠ’¢"~’™9 ¥kWƒ;wŽá`oo¯¤¤¤¥¥uõê5&)µ´´rrrŒŒŒš[Lü©Œ=:$„”’’Õ>ܨ¨­\®¯‚B #3nnnÞÞ‹SRR„B¡P(LNN^¼Ø{Μ9øQŒŒŒúúz0‘H,½m&L X-ðùüb??¿ÒÒÇPtà ~(ZWW_YW_U/ªª««ÖUÖÕU UT”Õ´¤ô ÓVcÈ©1ä Óþ§ñ<ÀE¯ K‘J¥PEÒXn11©OR1Ѥ-®=Æ\ý@BQ££©¡u"T[UAÒá^)ëk||CyüÁw¤®®š¡²i«]ôšÞjH;ó« ËsˆÖÒÓÙ’š4Õ6’ŸxG¼ö´Ì}&KIŽ¥$ç>HóZã´™lð·~%Eª’"uZ?Î~mó¼dõ’•I&_:J—£,¯(‡ 2VžÕŸsø~q[ûô[Ÿ²9xÐÀÝû å3”O×l q¹e̶Á§ã¡ÊPû¡€ Ï?HNUUVm„ &LüIXZyXX:À¶ôÏ¿/ª©-S§—–ç“¥®Úé~Rê… •B…Þ_þ˜@~6pŸ~“»ØÖ¶ŸŒÙûö³kXZ¹¾Á!©×¹³L_äjijÞ¿×›»ô|̵¤äT559*"¬«/))-,þ ª¬räÀ¾®ñQ=zôè›7oÆw…WÒ—[ú‘£h¨08mV')®Äššz!Eöò|³µwtuÿ:~ôÚØ /=|ò¬²¢JI‰iÚ³×ôßfŽrALqé°hjr:wî¼wホßÔŽŠéÖ‘;‚€¡­Û©WÐ,§ÛÃ~ƒ@>ÛÒÿ6J€ ˆÓ¨‘N£F~}×Ïùº–þkù!¯U‡´çc–þW𽍂!Žkc}õ2¡Ò‡|û«´›•>ZúÈÏdécˆŒW!üþ ÿm‡¿–%©ä)µóôåIæéC¾SÚbž~II ìX¤Ý(/+ýòyúõõõ€šššnÝ»C÷üøÔÔÔ}*{^‚ºººÃ‡Ïž=»yÞƒÙÛÛ3 ‹½råªÔÔTée’Éoݺåç篦¦¦¦¦æï€”m3½O­®½sízô¼¹Þ«VðV, Z±4p©ÏÚ’…ï ÞÊX›Í‚jñ·ô¤ÁÒÇm} ‚P( &SKS‹Ãáhiiµ˜ËÓsž››[RRòƒ‰†††<^q())ùÒ¥KqqqÅÅüˆˆér)åH²eË $..îÒ¥Ë÷ïß—¥‰‰‰§Ný•šúÐÑÑÑß¿!\óÖ­‘™™™.\¸u+®   yE-æÚ´iSEEÅíÛ·/_¾œ’’*½?ÉšJÆŽ;ÒÓÓþþûBbbF •.'kdîÝ»wüøñÔÔ‡¿ü2vî\÷Û·ã>òðá#'''"xõg·ùk{™2ÍÍÍñm33³ÌÌÌ& jjj<0`ÀÀÏÈ{þüy;»~d—1A||¼•••ô2ÉäMlè—/_¶uµ2[YUÁd(½}÷HŒÖt4{"$rÛ:É4T*u€Ýpg§©Í³ÃUìKŸ‚APE0CQ€E*FÁH–tºr¥Á磨¨èë»ÔÞþãÒüþ,0cÆôåË—K‘K)G’˜˜ ÇŽó¯^½ÆÑqD«ÍX·.PMM àáá±}û6\xîܹ#GŽjkküüZP—-æºtéâñã'44X?¿U7oþ#¥?ÉšJÆ™3§8ˆ7iÙ²åÎÎc¥ÈÉÙ„  õêêê€Ù³goÚôg`àÄnddĶùëR]]Í`4¬8Ïd2‰wÉ׋uêÔ©OÍ‹¢èž=»wîÜ%½ÏŸ? >pà€ô2Éäööö6„¬\¹ °qã†êêêo¬ô(†ŠÑzJËÞMúu†¡†aŠ|º¶cçG‡ ŠP þŒ–>ŠâzC ‚àzÍær6òðáð°Ð§OŸâÓü%'}êéé7nèñù|ér²rÏ>ØÈçó%³ËÒ \-h4šHÔ]½¸¸X2{sZÌÅçó;ujˆ(Ù©“žôþ$k*………#G:~<?LNÖÈ&à*OÓd·y–Omó×…Á`TWW+))ªªª˜LæmùW•••\¹rÕ‰'>)ï•+W ŒŒŒ¤Ôž˜ø`ùòå[·FuíÚUz™dòÀÀ?V¯8p€’’Ò´iÓ‰³ó-•>†‰‹Šøñw…uõR’­[¿pðÀ‘N£&5qïàÆ~vv¶¿¿|üÝúúúÁƒoÛ¶Íæà ÂÃÃ#"" ºwïµÕÌÌjÒï˧"A1 ABïc €–ÕþâÅ‹V­ò2dˆ’’RUU•ä숼¼·]ºt¼{—Çb±¤ËÉÊi2±„ÍfÙóòòdiF‹p8œ¼¼<âö–‹õîÝ»Î;ãoÍ#ÚrSåääjkkqüáÃÉ&>}¦¹ÿLÞµ¹}011IKKëß¿? ==ÝĤé§!JJJ;vlÿÔ¼»víZ»v­”ª/]ºÄãïܹ‹ðÛH)“L®¡¡±mÛöÆ÷¶3ýûhó{¶uKg¾|3cúï«Vð¤ü-óýã~â-²B¦Mûmþüù/_¼È066XMJHH¸|ùJVÖkgggbòÝXú”ÆY;B ä6ê’æ …ŠŠŠ oß¾mâ#æñBJJ%%‚à`Þ/¿Œ•.—RŽ$..¿àÙþúõëeiF‹L˜0!0p]AAAyy9,c9;»lØRRRRRRB6êÐjS{ôè±gÏžÚÚÚÂÂÂ5k>Þ>S§þæï›#‰222–,ñ–.—ª=?ï ksûàêêºy󦢢¢¢¢¢Í›7M˜0—/[¶4++K$ñùü?ÿü“ð¹KþR²¼€¸¸8:fmmMÖKû÷ï ÝxøðI/¥L2¹Ÿßª‚‚¡PxãÆ­[#-Zôí•>†¡555 ò‚ÒÒ¢ÒÒ¢²²â²2~i© ¼\PQ^R^^RYY&Õ+(’ºwî <˜F£©¨¨¬¾uë&q(44LGG‡Á`xyy¥¥¥A5úý)ý†)›ÿ™ªOâ$ËÅã…ðx|˜ŽŽ®Œ]Äår Æ!ƒÇŒqêÝ»7¾€ù§6588866Öʪ÷äÉ“pkÇÓÓÓÆÆfæÌ™æ\®£ãHéò¶€¬ÍíÔ)S­­mœœF;9îÛ×ö×_ÅåÇ;,Yâmnnæââ\VV*9) Õ¼€]»vzxÌ“RoH/??ôèQÄt~ÜOV&™¼Oë‰'ØØX;vtÇŽm~ÏÖÖÖ¾ÍÉÆwäÀ×Ó_0gÉâå{lswó®®á£(Š¿°S(   (@^^C)ç/üå½0¨E÷NRRÒþûï¿x¿P(”âb¾d‚&é!_…6]O÷Þ+–ùI¼¢†¡J|š‹¡ƒÁÜÆ›7÷wx.p^¿~íîî~ëÖ-™}ð«×Ÿ¯³ž~].ÑïÜE÷&®ÖS©H­°¢®¾ª®¾²^TU/ªªU ëªêE•uõU(ZWYY¦¢¤JVˆ»ûw÷¹ééO‹‹ùoÞdÙþ?ÿ™ªO¡ „*G…'ºñ•"¸¬¬ŒÏçóx¼vžÜ4A†\8¨ŠÖÕÕW6ÌÀp+Ÿ‚€P@¡Ð0ZEE™’2é¸3>¥¨¨˜““¼öûF/++SUU•Ôû* 6\9&(á+*Òa_éêvrtt kF,YâHèШ‡t¥bb}}ýzQmã À@ãl1&Æ¥•ejª¤KéFDDäå½ÕÑÑY¸Ðëܹs°ë¿wìúõ?td‹K+Ðéôþvýa_¹¹¹¹¹¹}†~‡H›(}éoà†Q9‘H(õÕžZ^Q®«­ýŸ§Šâ¦`̘1cÆŒ!yx4„giâÁ‡ýïˆn&Ýø4!LvK¡"r  Íê$¥La­Hõ¿–~ZZš¦¦&ìnéX–¾µs=ÀP´µ9]}£^’'§ÑkÖ¬…] @ ßÒw5©ÉG¶²“Ÿÿö/|OJi± iÊËJ¿n0ˆ ül–>ü‚@~`$”<´ô!äg³ô!O'-ý߸Û7[Œù ¡®á:~"¾z6Jò#póÖ?¿MÆfq(Íb¥Ü¸qãüßç Ы§é'•ÙñW܃kB Ò‡ü¤ÔÖÖ°Yœêš*±X„b±¸&Š¢ ÝÆºoFÆ EÍL¿Ë¨8P¹C~T Oòùà6~óÅôK>”XXXt5J}˜RXTØÎÊÿûÂr Æÿ^øçŸ\]Çwê¤kbb<þ|>¿Xò¨@ °´´ »0 422466 ’\6==ý×_ÿ×¹³¾™™é±cÇd¯—¬L2yii©»û}}½nݺ…†n„Jòè}"d ¡÷ó߿۾3ên|܇¢ÏžnÏöðù¨¯*vìØ¾p¡×Ë—™÷ïßWQQ&ÖõÂÙ¸qÃìÙsÈò>|èþý{ ÷âãâ=ŠË³²²¦OŸ6k–[FÆË«W¯%&>½^²2ÉäË–-¥Óéÿþ›–˜˜˜}üøño¬ô“Sï¬ Z°2`þç¿Öãè‰mßd‘ô/·Ý mrQ>ZùD¸Dg‡ŽŽS'O«¨(ož+;;{Ú´i]ºtÖÕÕ™ºº:ƒ |ðàÁ‰'lmûêèh:ôÙ³gM®7¡P¸h‘—¾¾^Ïž=¢¢¶Â3ÞÑ8s&zĈL&“Íæþ‘˜˜HzùòåÍ›·~ÿ4†ÏÉ“'ýý´µµµµµýýNž<Ñø¨Ø¸lÙr:®§§¹UözÉÊ$“_¿~}ýú`uuuuuõà`ÞñãǾ±Ò¿v=zÞ\ïU+x+–­X¸ÔgmɇÂ÷oá¥i°ô‘Æàˆ¸­OA …Ádjijq8²ÀÜRb&ß»w?>>þÑ£GEEÅ6lÀ…›7o~òäñ­[q/^dÐh´ÀÀ@"ýÇ©·nݱÉÈíÛ·cbb²²^Oœø¿)S&ÇÆÞ8wîüë×oÆÇå6ÒÂç =ztçÎÝ»wïÂ3Þ‘‰‹‹ëÛ·/±»fÍšU«V*’‡q}ñâEïÞ½ñmKKË/^àÛwïÞ)**25í¥¯¯çî>§´´TözÉÊ$“7±¡Ÿ?ÞÖ½ÔÊ@neU“¡ôöÝ#1ZÐÑì‰PÈmë$ÓP©Ôvæ’™ç EII©K—®Ã‡_¸p‹ÅþZ­‡£mÀÒ§ AE ÁP E„ŠQ0’u»îá4- `uïÞ–Ä!/ŸëÉãñÆ·víZÀ±cGOŸ>£«« X³fí!ƒÃÂÂðôAAë?õŠÚ´i³††`þüùÁÁëÉÝ74I}æÂ… M é×ÏžôŽIzzš¿¿ÿéÓ§ E\R"ŒuÞœªª*&“‰o+))o%%%99Ùññ €Õ«–-[ºgÏ^ë%+“L>bĈµk×þX»vMUUÕ7VúCÅh=ŠŠ¥eï&ý: ÃP ‚ ðéØŽ[&((´ðDÅ•ruuuVÖ«'NØÛÛ_¾|¥sçÎðýq,}Åõ>†"(@Áõ>šÍål¤yÌdâPçÎ]7:áÛïß¿—Œ¸-™^û¿QdWñ:ÞdW$5I\TTD4©K—.ðŒwLâ.\¸ÿ##£F3uhh…ô&“YUU¥¬¬ ¨¬¬TRRÂå cݺ@555ܪ4JZ­—¬L2yXX8—ëcffª¬¬}zH’9jccc ¨££meÕûÈ‘#MŠzò䉹¹Ù®]»ð×É©B¡ÐÇg‰AWƒ®>>>„G˜Ífµè)†| K¿mtî.~¡PZ¾å¤ÄLÎÍÍÁ7Þ¾Íåp>ïÒÒÒJKKÇiù|Á'9s¾MMM¢I¹¹¹ðŒw@Î;çééyðà¡>}úÂgÏž¹¸8ú¡ÅAÁ=z<~ü˜P,=zôÀ·MMÿó} Ù“£ÅzÉÊ$“³X¬C‡çå½{þü…®®îàÁC¾½ÒGQqæË73¦ÿ¾jOÊß2ß?î'Þjµ´éÓgܾ}ß&sÔ.X°`ÅŠ•ÙÙ911SSS$³_¿~mÒ¤_CCÃ<==ñwÉÙÁÁÁïß$'''%%¿{—ÇãñˆŒ-zŠ!_ÁÒ§¡Ðb ·qP—4—dÌä&nô€€Õ_ àûûLœø?\èæ6ÛÇÇ';ûH$zö왇ÇÜÏð~Þœ0a"Þ$>¿ØÏÏžñŽÆöíÛ×={Žð˜>âüw.q1Lž<™Ç .(((((àñ‚§LiðQOúÛÚµkJKKKKKW¯9rTó¼dõ’•I&_²Ä;??¿¶¶öòåËaa¡Ë–-ë–>ZSS£  _Q!(--*--*++.+ã—– ÊËå%åå%••e"Q½ù€ ––Ö‡ðícÇŽnذQWWWIIiÍšµ/Æ4¾eÓ žžÞ–-DÞ}ûöq¹Ü“'O999µXøÙ³Ñ<Íæp8œ gÏF‡pO1›ÍáñxÑÑgà­ò5•~ÔÍÿLÕÇ'q’åÂc&wî¬?~ü8[Û~’‡ììú 8°wïÞê«V­Â…ÞÞÞvvv®®®úúzžžóÆŒq–¢Ü›¿~ ~~~jjª–––ƒ 4h <ã5kVçåå ПøDCv·ø¬YnýúÙ 8`àÀýû˜>}:.Ÿ6mš®®®­­­¹¹Yuuuhh¨ìõ’•I&ïÛ×väHGãýû÷9rÄØØ¸­{LŸ>*®©ÊË+V×ðQÅ_Ø) P  /¯X]]§¬¤Üji………„ÓŠÌQ{ðà¡ðððÐÐÊÊ*<^ð¨Q£‰Gë”)S¬¬¬È /..&¼®]ºt).þ8°EO1ä«Ù ~| E€¤‹Ÿ,½ô˜É‹-n^þ’%K–,YÒDÞ|Ÿl`ŸKËÜ<™¢¢â¶mÛ·mÛŽïzy-‚§»C!ËT²³L¡PÖ­[·nݺæYV¬X¹bÅJÙ/$I=Öb™dòiÓ¦M›6­={L–\q°žJEj…Dë)  …‚ •J©ª¬UQRmµ´£GØÛÛVÿÕ«×ttt𤱲²:vì†a±±±ÞÞ‹Ÿ=kPú111ãÆUSS#»ñ8NnnŽ! ''‡Íþ8©ƒKzŠ!_[ï£@p½È ®Ú t´[€5þµìÞAуú¡h]]}e]}U½¨ª®®JXWYWWIH0LTQQ¦¤¬FVMMMMZÚ¿þþ~G]¹²áÌQëáá‘‘‘Q__&‰‰Btuucb.=ztË–-¸DUUõÕ«WDWWW??>¿˜Ï/öó[åê:8Ô¢§ò%Ð録²²&zŸJ¥ÊËÉ+((**Òä%|û ù¶`2Yúúúúõ¢Z<..ŽXq×ÛÛ;22ÒÕÕµ  ÀØØ˜Ëõm|÷wš5kfvv¶±±ñÎ;%KÓÖÖ¾p!füøq"‘héÒ¥ z98 ¯ªªÂ_µüýV¬Xncc7nœ¿¿?‘÷WUU7ŽðC¾„aC‡>z Å¥•  ÆðaÃa_A ‡Ö•>†aTDN$J}µ§–W”ë6›1-ÝÝFæ¨uu i¤7)JSSóÞ½ûø6—Ëår¹DÙ¼®E‹7÷C¾s3 s3 ØÈw§ô1)á*"GÑPapÚ¬NR ÂZ‘ªªìPépH(ùV,ýÁFFí\0mmDNWGßĨì[éà–¾4œFMr5é{ÿ‘p}‘IéC M ¾­ƒ@ ß#0ˆ @¥@ ¨ô!ò]}úÏäefFbÒýšššæ‡ÔTÕGŒRW‡Sx!¨ô!? ÷Ü›öÛt6‹Ó|µñ7nܼuÓÒÒÒØÈä“Ê411ÎÌ|õµZ(ci_·ÒoU•>¤m kÙ,NuM•X,B1 CQ¤†¢ ÝÆºïë7¯PífÒý›7µÝt.TîŽôéC¤Ñ¥«A—®dGq¿ùbú%J,,, ŒŸ¿xÆð¿ù¯h7E 5~ûƒaXhh¨µuëððpbaWcÉ?+«Þ²çÅ)))2d°‰IË Üß¹sgæÌ¦¦½úöµñõõ4^çde’ɳ³³ÝÜf™››™››¹¹ÍÊÎÎþöJÿà‘£6Yöí'å¯ïÀÁÇNž‚×ßINö›®†Rô>2…Ðûùïßmßu7>®´´ôú«°!mÇ©S'“““®\¹zùò•ÄÄD€òÌÌWÄŸŸŸÿäÉSdÏ‹ñÛo¤+Ýïß¿ÏÝ}nrrÊÕ«W•••|||¤—I&_¼x±µµuB½„„{½{÷öööþöJ÷¾ýsB¬ßl;s_ÏMÖó6Y{üiåñ§•{¸åœ0óÙafn¡½~[×s÷¾ýŸZ÷W lù†à1r­|"\¢‹³‹ƒƒÃGÇ©“§UVV4Ï•››ëééiiiajÚËÝ}Ž@âm`ÏžÝvvýÌÍÍV­ZID3‹ÅáááýúÙš™™.YâM„F211>pàÀàÁogÅw IDATƒºu3…•+W˜››ÙÙõÛ»w¤×ߨ¯¯çñ‚mmm­­ûìß¿HpâÄñ¡Cí{õê9vìØçÏŸµè·9~üذaÃLM{ã”’’íè8Ï’‘‘Ѥ"²–@¾:gÏžår}555555¹\_Éxy8uuu‡ž={ö'åÍÊʺ{7~Μ9¤ÖðÁCööö ƒÅb¯\¹*55Uz™dò¬¬Wóæyª¨¨¨¨¨,X°0+«Í_[WúUUU(ExñÉ®Kÿî¾ö|ßÍGo½<—yêù«“=ß¶x{ø]öY@É¢ êúï‹ì7¯³ß¼&µô‘Æàˆ¡Ñ …Ádjijq8--­syzÎsssKJJ~ð ÑÐÐÇ !%%%_ºt)..®¸˜Ñ,sÇŽééiÿ}!11‰F£I†¯{òäñßÿýòe&`Ë–-AI\\Ü¥K—ï߿߼ޭ[#333/\¸pëV\AA!OLLüå—±sçºß¾wøð‘‡9994ÍÒjK _Ï¥–innŽo›™™eff6Ipþüy;»~-^ŠRò†„„,Yâ­   Kâã㉈~de’ɇ¾{÷Šòòò]»v6ìÛ+}€­WT «ÐY=ë'æOïôü·®/'L–£˜÷2í¢‡VÒ·Ó˜…ah‹ú]ò~ÞJ8åååþþ~}úXikk͘1ýÎ;ðÝâ›ÓèǧàÉx¹T„БĿ¹råjÿþý•••}}—ÆÇß%ø³Xl‹sž9szíÚuÚÚÚL&sÙ²å×®}tùùùkh4œÖ˜˜ ÙY«W¯i^ï¹sçðrTTTüü>jêuëµ´´ètº‡‡ÇóçÏ[lsPÐz6{ö쪪ªÀÀ?ˆÝôôô&‰[m äkQ]]Í`4êa2™M¬OE÷ìÙ=w®Ç'åMHHøð¡ÄÅåYðüù³àààõ냥—I&X}¦O+kë>ÑÑÑípµÈ4{ÅÐênåÏT FM­¨ ÿ6i"“®ƒ¡/ø…ˆ•.‡ÑÈò~­ÅÎæÎuïÚµë¹sçõôôJK?ܽ>dÈxÑ·)ø(nNöi–¾DP\ ñrQ 4›ËÙÈÇÃÂBŸ>}ŠOó—œô©§§ß¸¡Çç7¸} GŽtüX©DzMMM‰‹/™½y½ÅÅÅ-ÊÕÔ‚¾Ñh4‘HÔb›ÕÕÕ‰4Mv›giµ%¯ƒÁ¨®®VRRÂÝL&ó¿æÅCC###£OÊÂ[·.Bzý‰wÄË—/ߺ5ªk×®ÒË$“/_¾ÌÕÕuöì9€ýû÷-[¶ôСÃßÞÒÄžUöTÙaøð±.ã‹^ü!,TYšŸ÷F©šésãéqëK/K3·ÅbqPPP÷îÝôô:yxÌ­¬¬lñjíÚu]ºt¡R©,{üøñ.\¸¸¸œ;w–H–——gjÚ«¼¼<66vР::ÚVV½9BÔ+ùÎAV/›Í:p`Ÿ>}tuu øàÁƒ'NØÚöÕÑÑ:tè³gÏ~ª›Jº[¿qü¶Ñ¹C¸ø„BAhù¶Y¼xÑôé3î½|™ùèÑcÉYyyoñwïòX¬†3Åápâãˆq9Ü™ÓÒ¥Å&²çåå5OÀápZ”uZm äkabb’––†o§§§›˜üçÓ]»vÍ›7ïSófddL:Ÿö$†jšpéÒ%.—µÍ¢Õ2Éä)))óçÿNøôSRR:„{§¼¸ŽÍaõ¶ìS[[Sžÿ7?3J,¨¬Zýâ­‡úq45 ò󿤛7o~òäñ­[q/^dÐh´ÀÀÀæilmm}||’““kkk%å\.7,, EœKááažžž*** ,X±bevvNLÌÅÔÔâƒÏ/Rê½}ûvLLLVÖë‰ÿ7eÊ䨨çÎýú͸qã¸\¨ñ%n¤qþ1Û8¨KšK(****((¼}û¶‰CœÇ ))””‚ƒy¿ü2Nú›¿¿nnŽH$ÊÈÈX²¤å..¿àÙþúõë›'˜0aB`ຂ‚‚òòr/X…büyýÖjK _ WW×Í›7mÞ¼i„‰Ä¡¸¸8:fmmMvZÉòJÎüÿ‰KäÝ¿hèÆÃ‡žzée’ÉMvïÞU^^^^^¾cÇönݺu¥_PXàè0²ä¿øCQEñížÞæ.YÌÎs˪ªJ>ðGŒ,,.’b×7ñé7çØ±£6lÔÕÕURRZ³fíÅ‹1ÍÓ:tX__ßÇg‰‘‘aïÞ–þþ~¥¥¥€áÇ3™LÜØýúõÍ›7=<æètZaa¡@ ÐÓÓÛ²%âSëÝ´is§Nètúüùó+++ÉÝÇÿT7U+¹§lþgª>îâ'ËÅã…ðxŽŽ#[,–Ë媪ª 2ÄÙÙÙή_ó^^‹ŒùÅeøða::ºm×i­¶òµ˜2eªµµ“Óh'§Ñ}ûÚþúë¯fþN\|FÞV áåçç=ŠøMV&™|Ó¦MIIIô0 jjê¦M›ÛºÇ(µµ59o<¶Š4àæ?±sæÎ#Þ¸-ûö›7gÚäISß¼}UW'´2뛜’$FQ;[»GéÉ Š÷ïßwòÌ…‡î5×øÍ}ú„ØÐÖÖ’ôŠR(”âbÒ/z0 {õêÕöíÛrss££Ïân»ÀÀu ÷~ÿý÷¾}ûzxx=zžœœ¤¬¬Âã5ºy{Èêm’Lún·Ó»t5 <ò‡î_³.HŠƒ¿øüâÊŠŠæò’’|w÷Þ+–ùGñrQ %>ÍÅPŒÁ`n ãÍ›û;ÔMÈçQ^VÚä.¶µ•ÕŒèÛÏ¿‹…’Î] dȉQC+«Ê…ÂZ1*.ùP"/¯ FÅ•eŠŠ4E[œº#;ZZZW¯^ÓÑÑ‘é1E¡˜˜˜ðx!FF n‡Ñ£G‡„ð‚‚‚RR’£¢¢p¡••Õ±cÇ0 ‹õö^üìÙè/¬÷ç¤ÕÜ¢(Šbr“}¨´ 2¹w˜LFaa‚¼beuå“§©ÃG 6<'ïueu¥‚¼baQNÿ½ïæ6ÛÇÇ';ûH$zö왇ÇÜæiÆŽ{þüùââb±XüîÝ»?þ´¶¶!>>ܨ¨­\®/1¯ÖÃÃ###£¾¾L$ãBUUÕW¯^}R½2·>F/++k¢÷©Tª¼œ¼‚‚¢¢"MA^QPÂWT¤Ã>„@:2YúlëæÍ&O™R\RXPœ_û¨F‹­£ÍÑ©­­ÑïÔõä©“,Ö—˜tÞÞÞ‘‘‘®®®ÆÆÆ\®oó4Ë–-Û»wÏÒ¥¾ZZZÆ Û¿ÿã7ÀT*ÕÐÐpÊ”_Zã4kÖÌììlccã;wâÂ… ½†WUUáþYê…Ÿl ×®_ÿCGö·¸´2Nïo×v#ò)}MMÎã'SSSí¬ç¾}£ ¯ ®ª!''oÔ¥ÛÃÇ‹‹‹º÷hy%Å}ß„Ø@dÉ’%K–,‘Ò†Áƒ<˜ìè_Z¹r¥œÜÇŸãê:ÁÕuB“d\.—ËåJZ¦-ÖÛ¤ÙÒwxÈFq»™tï+hB ¯¯ôE(jccœ’œ‘ùÒiäh›ƒPêêêëÿ\ËÎɱ²ê¡âoå½EQôèÑ£oÞ¼?ÞžNùR¥Ïd0Š‹‹YêC.,*¼{­ìC0%e¶&Û®Ÿ-†a|€øÂ¸ÑÔätîÜyïÞ}—‰þúÈ> @~¥ïá>'dcD}}½”4òòò ç{~“ð³9[ÚÜ­/eª>ù¡”þì™3fÏœ{êgÖø’bÍÒ”—•¶·Ò‡üä@ù‘€~pJ´#|w@÷¤ÈrÓÒÿ»}_dª ê®ã'²ÙØ{TúïOã·xèæ­~›:Íâ45qãÆóŸ0`@¯ž¦_¥ßÑ"w?Xã!PéC~:ÈrkkkØ,NuM•X,B1ŒX\EQƒncÝ7#㊢f¦æí ;‚b…Êò]}úÏ·ñ›/¦_ò¡Ä «QêÔ¢BÙ ül¥Ù´-Ôøß„þùÇÕu|§Nº&&ÆóçÏçó‹q9†aFF†ÆÆFAAAdKEûh5 ȧÖK&ÏÊÊúßÿ&êëëéëëýï³²² Ò‡|KZÈ•¢‚z?ÿý»í;£îÆÇ}øð!úìiضcÇŽí z½|™yÿþ}e<œàðáC÷ïßKH¸ŸôèQ²G5ÙaÒŸâŸZ/™ÜÝÝÝÖÖ6=ýizúSkkë¹sÛ|­ß¤ô¥}FWW°fÍÚ!C‡……ÉXrhh¾†„——ן†ã³g£/\ˆÁ+ Ù0~ü¸æÀ¦M›544óçÏ^NìnܸAÆÆCÚ”ôô4ÿÓ§܉UUUL&ßVRR"^ ¿U½dòà`Þ˜1NøU¤¯¯åÊUhéC:4ã· WOƒB’+))ÉÅŹsg}6›¥¯¯GÄÝ%(**êܹ ¾Ý¥KBþþý{;»~ø[Ïž=ø|¾ì%«Ñét"6rqq1Q~—.]Š‹‹[l0®âñ¼Mv%Ã,Ko<¤íHHˆŸ>}úÞ½{ŒŒp “ɬªªÂ·+++•””¾m½dr/¯…“'OÎÊz•õzÒ¤I .ø¾•~¯ ±;hÐ@m+«ÞGŽ!lÝÙ£Gw}}½Å‹ÞÕæ‰ñr$ÇÖ‰úúúÕ«ºuëfdd¸}û¶&íyò䉹¹Ù®]»àM"#­ä6Žß6:w½  @ËjßÝ}Ž»ûÜôô§ÅÅü7o²›Ï¬ÐÔÔÌÍÍÁ·sss ¹––VZZ:>ÈÆç ð@öŸTr8QQNN›ÍþòN#k<¤8w§çÁƒ‡úôéC{ôèñøñcâÆïѣǷ­—L~ÿþ}.áÓ¿ÿþié/X°`ÅŠ•ÙÙ911SSSù½{÷ããã=zTTT¼aòĸ3§ÅáõÐÐ/^¼ˆ‹‹{øðQ~~¾ä¡ëׯMšôkhh˜§§'¼OdGº[¿mðê7ä6ê’–Y[[K£ÑsrršûÄ&L X-ðùüb???BÞjXãVKn‚«««ŸŸ?Ÿ_Ìçûù­’Œ¶öÙEd‡´Û·o \wöì9ÂcŽ3yòd/¸     €Ç ž2eê—ŸYɼŸZ/™¼{÷[ÊÊÊÊÊÊ6oÞÔ³gÏSéÓé´ÂÂB@ §§·eK!çñ‚Ùl›ÍáñxÑÑg¤'n‘S§NmذQWWWUUuýú`B¾oß>.—{òä)'''xŸ|-þ3eó?SõñIœd¹""":wÖ?~œ­m¿æ üüüÔÔT--- 4hÐ@Bîíímggçêꪯ¯çé9oÌçO-¹ þþššmmmÿ/ï4²ÆCÚ‚5kVçåå П˜Y{QfÍrë×ÏnàÀèßÀôéÓÉ”xsÏùg×K&ßµk×½{÷LM{™šöJLLܵkw[÷¥¶¶&çMC\$E póŸØ9sç}•ð‡M†[‰ÝG…‡‡''')+«ðxÁ£FÆQ©T€H$ÒÓëTPP(%q‹%kii¾{—/,?Ú¥KWW×ñÍg‰üð*»KW"îÕ¡ƒû׬ :°oO«çÌÇçWVTH ›\Ãx+–}4cñrQ %>ÍÅPŒÁ`6IÖ (ª­­UTT 5 äg¸‹e±fpúö³Ãïbam-.éÜÕ mgïÈÉÉÕÔÔàc_’CjVVVÇŽÃ0,66ÖÛ{ñ³g£qynnŽ!àíÛ\‡#=q‹hiiåääƒ*111ãÆUSSóòZô3_@Í×ÉùjïŒø € @Pí99--MSSjD&µÜ¦¥›ššFEEyyy•––úû4÷<<<–.]j``&‰ y@ÀêÈÈü¥{âÄÿII¬ªªúêÕ+ccã&5N™2eåÊ‘L&3,,”ððèêêÆÄ\?~œH$^²dÉO{¾¯\ŠùZEÑ録²2UUUI½ *¾‹a˜ „O£µyðd'§ÑkÖ¬…73òí•þ–-[/öþóÏpÅ‹_¸p—ã4kÖÌììlccã;wéíìú 8°ªªjܸq«V­’’xáB/‡áUUUMÆr—-[¾nÝZ{û!†ùú.•<¤­­}áBÌøñãD"ÑÒ¥Ká¹ÿB† ~øè—V&`0Ç oë–ä翇§‘õu¿M}úoËWñÀ ùNïbIŸ>ü8 @~" Ò‡@ ¨ô!ò##gA>>ÀN€@ ¥@ ¨ô!•>@¾ ЧùL^ff$&ݯ©©i~HMUÍqÄ(uu ØKTú„ûîMûm:›Åi¾žÏ7nÞºiiiildòIeš˜gf¾’ÜhÚ¹:ØrTúï¡°–ÍâT×T‰Å"ÈÅ5Qe0è6Ö}_¿y…¢h7“î?j´§Â…Êòµ€>}ÈçƒÛøÍÓ/ùPbaaah`üüÅ3¾€ÿ£þüöÔÂPã“qçΙ3g˜šöêÛׯ××W q½™˜ãdy1 µ¶îcccN,1’íæ6ËÜÜÌÜÜÌÍmVvv¶ìõ’•I&/++[¼x‘¹¹™­­íÖ­‘PéC¾½O„L!ô~þûwÛwFÝ+--½~ã*ì%HÛ±ÿ>w÷¹ÉÉ)W¯^UVVòññ‘|RJXž:u299éÊ•«—/_IL|@7_¼x±µµuB½„„{½{÷ööö–½^²2Éäk×®¡ÓéwïÆ_¿~=77÷Ì™3?¾Òÿ’Ðeoÿªø1:…—èâìâàà0ÂÑqêäi••ÍsåææzzzZZZ˜šörwŸ#øÄ·ããÇ 6ÌԴט1N)))ÑÑÑŽŽ#zõê9vìØŒŒ ÀÔ©S/]ºHdÉÏÏ0 EE…ô’ëêêüýý¬¬z[Yõö÷÷¯««+--µµµ-++#Ò”––ÚÙõ+++#LHã'Žj7àùóg¸\(._¾ÌÜÜÌήߞ=»[49eù-x2¢Ì•+WàeîÝ»^²··g0,{åÊU©©©²ç={ö,—ë«©©©©©Éåúž=˳²^͛穢¢¢¢¢²`Á¬¬W²×KV&™üÖ­[~~þjjjjjjþþDÄ@héC:ª¥4Gl ŽP( &SKS‹Ãáhiiµ˜ËÓsž››[RRòƒ‰†††<^ȧÖ{ïÞ½ãǧ¦>üå—±sçºß¾wøð‘‡999ø,X°uëVEñôQQ[ÝÜÜ”••¥ûçŸÅÆÆÆÆþóþ}þ¦M›ÔÔÔF}êÔIIópìØ±’‰‰‰§Ný•šúÐÑÑ‘ˆ¹¸iÓ¦ŠŠŠÛ·o_¾|9%%õ³‹$[¶lJâââ.]ºÜA´¿/âãã­¬¬>Åi–innŽo›™™effâÛÇß½{wEEEyyù®];‡ &{½de’É›,[ûòåK¨ô!ÜÒÿhè#£ãR(BE¨hyæ+W®öïß_QQQYYÙ×wi|üÝO­7(h½ŽŽF›={vUUU`àÄnzz:`ðàÁ 7ö³³³ïÞ½;sæ¬V‹½x1& €Åb³X¬5kÖ^¼pss;vì˜H$ˆD¢“'Oº¹Ín’qݺ@---:îááñüùs\xéÒÅU«ü44X,?¿UŸý[$‰‰¹à·põê5ð $xþüYpp°ddìV©®®f0‚ü0™L<È- `utô™>}¬¬­ûDGGKïç&õ’•I&···ß°!Œ¾qãé* Ò‡t K¿QïK¸z„d±>|8uê scss³ÏXÏG]]ß ÑhMvqí X°`áÖ­[ÅbqDD„‡Ç<<¥t¾¾>¾­§§'†††&&&×®]\»vÕʪ®®n“ŒjjjÍÀçó;uê„owê¤÷%¿…€Ïçëé}l!¼ß´ÌŸ??""¢k×®²çb0„’­ªªb2™øöòåË\]]SS¦¦>?~ü²eKe¯—¬L2y`àååå5j¤®n'âBú^•~}}ýêÕݺu322ܾ}. …‹yéëëõìÙ#*j+‘˜ÍfíØ±ÃœÃaãÉ||–t50èêãã# ‰dìïÓ§®®Î A+III™?ÿw§Ÿ’’"{½de’É544¶mÛžžþôÁƒDþý|ßJ?4tã‹/âââ>|”ŸŸ CBBø|Á£Gîܹ{÷îÝÿ€©·nÝ*.悃ƒß¿/HNNNJJ~÷.ÇãÉnß¾“•õzâÄÿM™296öƹsç_¿~3nÜ8.×ÞíjéSgí 1Û8¨KšK(****((¼}û¶¹Ûú+¶í÷ßìÝ»gÁ‚… ²dqvv^¿>X à ü  ?œ]pù Aƒ*++9Â`0zõ2•±ÎÎ.6„””””””4·2P:..¿ðx!%%€¿~ýzxîß¿?4tãáÃG¹ º¾¡ó]]]7oÞTTTTTT´yó¦ &ârcc“Ý»w•—————ïØ±½[·nÍó’ÕKV&™ÜÏoUAAP(¼qãÆÖ­‘‹-ú¾•þ©S§6lب«««ªªJø¼¢£ÏðxÁl6‡Ãá4¹‚‚Ö³Xl|ûìÙh‡' Ù@ v6mÚÜ©S':>þüÊÊʰ°pb÷ñãÇð6ho¥/áÇ'¦êã.~²\<^dz´´˜1czŸ>Öm×<*•ÚµkWWWWÓûú.e³Yššš¾¾¾Ä!7·Ùë×yxÌ“½v.—Ë`0† ‰ò²Òï)F®––VNNN¡¦¦fnnƒ077—,/‡Ã!’åää°Ùlxú;2ÿ™ªO¡ „*Gý†QÔQ=uêTNNΘ1Îß°[x¼à²²2>ŸÏãñGÀëòÍiÛµw¦L™²r劈ˆH&“Š{x&L˜°:22Ã0???²¼®®®~~þøwÉ~~«\]'À³Õ¡ Ñèeee’ÓÕPßÅ0LPÂWT¤v-¾’˸ A÷îÝôôô"""ñV}yŸ‡®n'GGG¡°ÖÁaÄ’%pÀ ò£+ýeË–¯[·ÖÞ~†a¾¾ Óžüüü¸\KKK%%%//¯ØØ-æõ÷X±b¹ `ܸqÄ/‚]¿þ‡Žìoqie:Þß®ÿÎ8î IDATgWñ%ê¸Å¼í¿‚›››››¼Z ?‹Ò———æó$…ŠŠŠÛ¶mß¶m;¾ëåÕ0ZÝÄO£Ñ"""#"š®@Ô$™ô]HÛÑͤû¼‚&ò£?΂@ ¨ô!•>@¾k`ä,ȧA¬ @Úò²RhéC *}@¥@ èÓ‡|&iéÿÆÝ¾ÙbÌ u ×ñÙlì%*}ÈÂÍ[ÿü6u›Å¡Pš.šãÆóŸ0`@¯ž¦°£Z® éˆJÿÀ>vù;f¶»G›–_[[ÃfqªkªÄbŠaÄâš(Š2të¾/P535ÿæ]ñ 5,TîïIé·µÖ€|ïà6>…‚ EAQ J>”à€R¦p8šZšZß¶ßPíBßÖüóÏ?QQ[“’’ †ƒÃˆõëƒp¿"›Í’L¦¬¬üæMv“¼†ýñLJ¢P(³f¹à—´,yÉê%+“L^ZZêë˽~ý:Θ;×}ùòmÝcp ò¥zŸ™BQÉÿnûΨ»ñq>|ˆ>{ö¤íرcûÂ…^/_fÞ¿_EEÙÃÃxÜAAëgΜÕ<ïáÇîß¿—p/>>!!!þèÑ£²ç%«—¬L2ù²eKétú¿ÿ¦%&&fgg?~*}H‡F":…—èâìòÿöÎ;,Šã}à³»Ç5ŽÞ”¦ (`oÑ ±¡&šhâW%Á(ÆŽ EQP0QAQƒ{‰‰½‚½%¶_ìXPAPzÇw»3¿?ODŽb RÞÏÃóûîÌ;;s;ïξ;;oÏž={õîýõÐoTªœws%$$|óÍ7ŽŽvv¶C‡ÉÈHçå%â'ë\%F^º]}zJÄ[.WÏ{^®`]úBCÿ’?þø³W¯^†††–!!¡W®\)‘@«Õ®_¿Þßßÿݼ»wï škccccc4w÷î_+žW_¹útê“ÇÄÄ,Zfjjjjj¾k×N0ú@ÍéÓ¯ƒ#¾NS”ÔÐÐÚÊÚÒÒÒÚºtÇÎ7ß ÷÷÷øðу]\\æÎÇËˈŸ\)=èíxËá=/W*Ke«¼gÏžmß¾} áo¿ýöñÇ]lmmßMÿàÁƒV­ZñÛ-[¶|ðàAÅóê+WŸN}ò†âââÀè5|¤ÿf O¿‰ŽKQ4ÍÐ A¥Gκté²———X,666ž;wÞ™3§yyñ“+¥½o¹"¼GàåJe©lÕ€Êr÷î   ñl1Æ«W¯Ò­ß^‚¼¼=!›JUÄÌÌŒßH$%vY–ý÷Y*[5 R\ºtqĈ6lhܸqqù\\\›4iRj.CCC‘ÍÍÍ•ÉdÏ«¯\}:õÉ—.]¦P(<<Ü?ú¨“½½ƒî*ª>Ê™§íÆùÃGwÕe¦™[«o†ýðîÔì*f¹Õª‘>iDcBÂ4¦1¦i„0B¨ôëÄÏï»ÐÐ…={ö422ÊÍÍuvvâå|üdgçFèíøÉ@­V󶵸e×§Gïå®GÏ€¾ªÿž}ûöÍ›7wÇŽ:ÿ‰Ž¨¨¨Ÿ~úI_F77·›7ozyy!„nÝºåææVñ¼úÊÕ§SŸÜÜÜ|ëÖmüöÎ;½¼º~à‘þ‰˜?ÇŒž<{Vø¬ gM™>u~Vö«”Ô$¸Î€¢‘>¥ …Në^ä¾~©«7—F£‹Å"‘(11±¸û›Ÿœ™™‘‘‘^<~²»»ûêÕ«ÕjuJJÊôéÓÊÕ£}z*5"y¿†ÒW5à_²`ïÞ}ïZüØØX©TÒ±cG}?âСCÃÃÃRSSSSSÃÃÆ ûºâyõ•«O§>ù”)“_¾|©ÑhŽ=ºté’3f|à‘~nžÊP*Kzñ‡ B¶VÍhŠ^ùó‚âi†éÜ©Çgý¾Ö×C(Š’ÉdŽŽN=zô?þ‡JyZ?ð´Qq£OQƨÄT}ŒIЍ¨•sçÎMNN²µµ?~¾}ûx¹¾øÉ+V¬˜4irDÄ2[[ÛI“&CJ=*•J==[xz¶066^¼8|Íšµ¡‚‚‚ÀÀYû÷ïG 8èlj޺mܺukĈo&L˜8vìØý_·kaa¾téÒU«V§¦¦4jÔhÙ²ˆgÏž-_™””Ô´©[tttóæÍBÇ…‡‡ïر=//¯_¿~Ë—¯à_¤XX˜/[¶,***55µiS·Õ«Wyxxò(ü¾}Ù7ŽBšÆÓˆwñc‚h$(9 €NùFcîñ£g>#ÆYZÚ”™ /Z¨Ïèë1ÂÇÛ»7¿–’’zíÚ5BÐøñ?„‡‡‡„„èRÆÄœ˜8qâŠQýúõ+['?]ÚÌÌlíڵÆ íÙ³ç¾}ûùÝ€€©ÇŸ@-_¾üÖ­›gΜ566ž=;0$$déÒ¥|öK—.=zL.—ÿüóÏS§N=™‘‘YâSFöz‹D"U*•r¹¼¸ÝG1ˆy=\ ™Yb±ºÔ&£OV«ÕB¡J•Éq*Zq…"„¢iD!Š DÓŒP(ŠDåj³¶¶ÎÎÎæ·÷îýóàÁCü‚‹ÿ8pà:£¿qãÆåË#wïþ­uëÖåꌌ\ÎÏsò÷÷ [´té2ÝîO?ýȧٹsÇž=ØÙÙ!„‚ƒçwíꥳÚK–,åCN˜0!"bY©E”‘½ÞÒý“Ûvl.uiåâOx=º÷xï"À·f¤¯ÖˆòÕc~EQ¢…¡… DùùZ#™Q¹Ú^½z¥›ˆšžž®›°ìè蘞ž®K=lذŠX|T±éÒ))):½q„Ÿrª úZÆŒì2²×[<=Zxz´€v€:gô §-(dZS Ò™¼×ƒ}DSAÃPy¹c™¼\m;vlïÖ­¿mii©›¹œ˜˜hañfVÏ¡C‡¾øâsÝçpÿr†µµµõñã'Êýœºš²×ú~Ú¿"É(ŠÒ­c@]êÅpï`ÜåãŽkµ…¹Ec\Âò)‚Mш¢ÄD¬R)eF&ú”¨ÕêøøÇ»wï>pàÀÑ£Çxá AƒæÌ Zµj%BhΜك}©KoggwèÐá¿`YnÊ”)èõ ë &(Š  JÏñõývêÔ©?þ¸¸aCûG-_¹~ý†2ÒËåòøøxÝô©Êf¯Éè¦èãô©“Я ®öâò—aÀ„³··/dù?„B&cÂÂq¸ã´„U®ÒD^ÊÄæ––nnM'L˜(ŠÎž=«›¯4×Êʲ]»víÚµ³±± *žÑÆÆæàÁC¿ÿþÛ²eËB+V¬8zô¨³³Ó§Ÿöã¿j«“'OîÔ©Ó AƒìíŽ;æÓO?+;ýøñzöì¡û£²Ùj«{‡ÂЖ-(# M39ª»wV;)ûEœX,ŽŠZµR_.++«Ë—ÿâ·==[œ9sF—æÛo¿+µ}»4MO™2…h¨Hú€€€€€€b,={=D÷€:hôi†PfÆRK„yƒ2n V.7ƒ¨ÅFß«³÷굋Á¸¼¯lìlí]7‡­-,þñÇ?þø£¸dðàÁ³¡e n÷ârŒ~¿>CÊýÞ ¨Ìœ1#=-íÜùóün·®]gVÿJO|ð^,€†«Ÿ0 >ÖßÿîÝ»ááá ÃTJãǯ\ýK­V¿{ÈDnÒ»WSSp÷@ëÅ`ôë/b±8jÅòyÁ󆆈ÅâÊfÿëïËß aanùî§j±±±§ÏœnÙ²¥Kcת:[WW—ÇãËëKP¨ÉçÔ·^ F¿^cbbºjåÊ÷Ë[P ±0·ÌWçq‹ Ñ-®‰1–J%íÚ¶ú,cÜĵiýiO0î@ÍïÅ.xø1¾.(î븉tVvV‹-9»Ä=¸Ÿ‘©74ù† ëÝÜšnذ¾Î4XüÿBÈ’%KÚ¶mÓ®]ÛeË–évuuu)þ׺u«ŠçåÉÊÊêÚÕËÕµôîÏŸ??r¤»{óöíÛM›6-óõu®O§>yBB‚¯ï(OOOO_ßQ ÕÝb`ôk÷_Å¥uvÿeʋ赫/\<«P(bb—šc¼sç®9s‚víúc - ¼¿ý¶ûÚµ«ÇŽ?zôØ•+ïÙ³GwÖýÍ™4tè°ŠçåY¹2jøðoô•»iÓF?¿Ñ×®]?~ü¸‘‘lêÔ©eëÔ'Ÿ4iRÛ¶m/]º|éÒåV­ZMž<¹º[ Ü;õŽª]e¦^ÅÕ-¦OHÿÏúç¨rBf&[¶mÔ3P:'—9rÿþ}çÏŸÿä“OJõ¼ë0)((˜??øÈ‘#†††£G~WóóçÏÃÂÂþþû/–e;uê´dÉ>X›««KhhèºuëÒÒÒ\\\úéÇfÍšó çÍ›{ìØ1CCC??¿%K–¼;`wuu Y¿~CZÚ+GGÇÐÐ…‰‰‰k×®yñâ…‹‹ëÒ¥K›6mZülË=I ªØ»wo@À4+++„P@À´¨¨C†¼5áP«ÕnÛ¶m÷îÝ•ÊûäÉ“ .;vLßÊ»[¶lå7¤Ri`àì¶mÛ”­SŸüÉ“ø={öð¡D~øaü† ª»뜕ðì)\Ou€1wæ‡,ª`ÆŒŒôR#gÁ…µ®—9 ÕIÆOœ<~â¿zx„ j{/.e¤Ô%ŠôáE.@=Œ>}Œ>F¨”2eÓÑɹ~¶EQïNB‡Öj/õöêÊèÅ¥ÏÓ/7ênÝ£Œ/Ü 5€ÚK=¼z²{1¸wê`ôÀèšÓ§NV¹¯µzWÙTäi9oÂé™ÈÄ&F"ø!*È·~ßWí‹™ê5ú‡/<9z-Yn$%åæ©»º[þÜ“¦)ø!>Õ¾ž~Ç6®öv,&¯RÒ(m6´8À¤Ú}ú„ Œœ‚t…ãª\•·m»v•’PåTww+Wÿ¦M›¦M«½M°eË–ºgô ƄŸj>õǸ—š@­VïܵsêÔ)µ·e¦L™²}ÇŽ‚‚‚ÿòœ«Ý½ÃaÂaŒYŒ9Œ*æÌß¶}ÛêÕ?O˜0~¤ÏÈ:Ù…âîß+ºåR´D*±¶±‰ ’Ps¹qýú‡Õ_j‚ÓgδiÓÚ¾¡½Îþ6jÔè÷ß~£(J7âüß!Ïž=ã³·m×N·¢(J*•6hаóGùø|cbbªÓSjq%ì;Ÿæ_¶ŒƒƒCË-Î;ëíݧ}sæ0æ0&Lùé1Æ{öü°kׯ#¾AÓusRißOû#„X–Mxö45åe£Æ.………`\ â\8¾{÷îÅ%b‘èÂÅ ]½ºò»çΓè ÅkµZýüyâ¡C‡‡}=|ÓÆvvvÿýÍÏÛÛûì¹óµÒè+ò´‡/<)!¼ŸfncÇÛ}ŒÉýÄÌ'ât÷až~9™Ë%ºÝË—/ :ôè‘#—/ÿõñÇ]x¹V« _¼866V*•úøŒÐ¥×'¯>´ZmìÅÛž.Ög¯ÅÒÞ¥ÜÿÞ]š3B±¥™¼„~–P(ÌÏÏ·°´Jyù‚’žž¦ÈÎÆ„ÉŒlíìø{^Üý{6¶v™™la¡P(´±³+,(ÈÈÈÐjµb±Ø¶AC±HÄkRSRrr”!¹±ÜÚÖcü4þq#W†a^߃¹'ññ]\hš.µ, ¾ùmfnݶ===ÍÁÁ~öì9ÉII›6mz™’Ò¨QãÐÐW—âƒßÊv·ªÒ_êèûÞý¸ &—Œ5jëÖ­:£¿eëÖQ¾¾³fÍÒwz‰¤iS·¦MÝd2Ùš5k.\ø XâÄ8Ž‹^³fÿþýjµº[·nóæÎ•J¥¡K—.E­ŒJL|niiéçç7hà@>½‡‡Çšµk+RÖªÕ«Ëxàëë;ñíÖÐG•õsEŽúèµäLV’^(N-½T “ó Ìl쬭L1‡9Œår™‘¹Õ½4|;…½ùB{#©àZ¢æÏ‹ÏÒêâz~ß³gè¡¡ÿýï¿ïù]'_³fmvvöáCÛ½ûÚµëåÊ«›÷70^¾ãdNM#¶Å|ÒÁuÉæ]Û5ßxìã6Î ×éÜÊqÁšCZØÏ]½¿½»ÝÔÅ;iÂê{¬IOO‰D¡ÌÌ ZÓªMÛOº÷426ÎQ*u†˜ìîîñI^ŽN/’’òÕêfÍ›wïÑËÞÁ1+#Ã@(D¥¥½bY¶}‡Ž^ݺÓ&W¥Fr9ÁX§G‘mb"wtrÎÊÊÔWP¯¸rõʆõ¿œ=s¦oŸ~“&MºtéÒÚµkÏ=Û»W¯°°°‰ß£»UŸþÌÌ ‹â’ž=zdefݺu!tãÆu¥BÑãíG} 8ðÊÕ«UÒž›6o~·k×®“±±"‘(jåJ^<ìÿ çÏoX¿þîÝ;ºô666éééÑ}š©©™™™ÙŒéÓuYôÉ«F Í—m‰]0aðªß/ý"ê·‹Ac¬Ø}qÞØË½ÍËEbQFfF¶Bacc3oî¼÷ø¥(Š ž7¯[×®%äݺv ž7¯„å¿pï „AÚB¬ÑrcŒ ƄØ`RäÓç&s„#scB ã·4üñÇŸ …â£Î‹K&Ož„ÊÌÌ´³-ò¸Ù5hPìn_º¼ú¸Ÿ2˯ï²m1S‡¾9fƈîá›cgì¶1vÖ¨î 7ÆÌÕ#tCÌß¡ëcæî=cÙkŒ*¡„÷éçççß½} s$#= !ÄÞúçÿŠ'“J ³23BBajj ƘÿiEbqÒóD~—" BÇš™[¼z•Êq#hµZC™L(‰…¢üü|DQ*…B"•š[X¼JM)£, ^abbRä‹Kì²÷ÎàºÒÝ­úô[XX¾zõªÁÛÉúÖݺ_Nœ8ñøñãȈˆ 6BFF†îÄŠ›ø®üŠøôÓÓÒ¾üê«â–šßXºté†õ~ùåCCÙôé:Tjjª……eÏ“a˜ðððI“'߸q£è$Û¶ ×ùoÿk£Ÿ›§N•Ž0!L0&¹‰,;q1–Й™J–Ã&&c G4š‚â¾òC‡:xP÷:åÅ‹#G7Î_(š››¿LyÉ¿©ùò¥.—>yõáÙÄnúO;N¼xý‘é¾Þ‹7™>Ê{Ñ/‡gúz/\w$ð;ïÐu‡¿õ^°æÈ¿ÞA«Îý¾÷ÃgiÖVV¥úô­¬mâîßmîîÁ²,#0øØ««X"Ñç Ò»KQ!†hµla!B¨P«eCÓ!3Óç‰ Mš4MxúÔ¹‘sA¦Ü² Tª»»UJ¿{ófwïÞ-aô…BáׯûaœP(¬`¹û÷ïïØ¡C áû½¶5·°Ø²y³Õ;ýݽyóåË# !—.]]s¢Èèß½{×ÝݽâúÅbqdDÄèÑ£ÇÇ»º¸DFDˆÅ•›ûWe›‡µ”SÊHŽ1•kÂä™ä§¿HNIÉâ§îdd*U™¯š˜wkº…-ÓªAáçÙ›Ë‹ÎøÄ‰žžÅ_ 7hÐÀÝÝ=&&!ÔÇ»OdÄr…";;;kÙ²eº4úäÕF‚E“9w{ʈîÇ.Ü6²WÌå¸YßzŸüûaÐ÷}O_}<ö³s7ž†Žïោœ¿x–ªîØÊUÿ#’H$4M›™™Ý½sû铸„„g>¸|ñB¥ÖÜ0–ß¿wQˆãØÔÔSc„¡¡L[ UæäÐ4emc—£T"„þeY@­æ½g——ÑÝŠë¬ýïâÕµkLlì»r__ß+W®øŽò-·8Fóð჈ˆˆýøûûWIÛþj𢰰ääd–ãÇÇÏž3‡—ÏžôôéS–e"ûæ'öäÉn]½*U„L&‹ŽŽîܹstt´L&«ìVÙHßÄH4úsÏÂ'â4?{‡Ã-\,ýúë]{ç÷ß·ÝþjÃú ýû÷ÿá‡qaaaŸ~Ö_*•ŽéséÒ%>>yõaafŒñ˜¯mBcœœÊýïìäT¶B¹‰IÒóçÍÝÝ9sóü¼¼ç‰ F$YÛØZXZñžŸŠ`ii¥ÈÎzüð!ÄØXîÖÌ=//—?djfÿèa77‚1ÿþÀìß•ÔOôu·›7oµjÕ²úô—JÏ="##“’“tSõ+uÛ£(J"7hhßù£~ݵÓÔÔ¬JšÈ×wÔÖ­”ÿ¸qéééNŽŽ~~~¼¼û']§Ï˜ñ"9ÙÑÉqÑ¢¢iBÏ“’nݺþÎ ír133[õúqe¡4uâ³¢!žH,F9:9WÕ oÇñ¸’µB™Q!‹±:×͚ݿEÍ\píô©“ßSj¸Äê—P+‘HLLÍR^¾@Éå&2##†aØÂB¥R‘——÷nz}»E™™›K¥†¡üü¼¬ÌLBŠ>„–™›[¤½JU«ßL—*µ¬2Z¨]TÓÕû.cýý¿=ºÝ¾ÊæÍ[îܽSqß}M#`Ú´žž¾¾¾eØ¥÷^e³x/.Ðhx¡ƒ“sµœ…1æ8ÌqÇTæ'¹e<V÷ÿ%ü縺ru4k^ä×S*J¥¢ÄÑ¿º¾]BHfFF&Êx·Ü\•*W¥*!,µ,¨,ë*6Ó¼Êùö[ßZÝnävUíFŸÅ„wïpWö+„ºdÙË Ysw}áªÁ«@­7ú˜Ã …] ®q Îý/_ 3“­ÙÛC‹ÔY£ßï#§vͬu»fr „ͨ³Fß\.)¾˜Pq¾õû¾–}ཀྵŽ÷°°"@=¢ô‘þéS'¡i 5¸zzaô+¾Dg}Z€«¨SWÅ»Ë0ÀР [¡üeªã•1PGú@]¢øHfïÔ#Àè€ÑÀèµX†j7úÂ3Ô(Š*5Ú4}¨ËÔÏ e|Q RàÞ¨G€Ñ£€Ñj5ð"€ò9|åÙ¶˜8Ž D!ˆ ‚òòlðU«Ú^µ‚—/„(ÿú«á¤‰vß¿µìÖh(ŠaÀèPà0Ù|"nᘞ†bG(#LPN>»xÓ±ÚnôSwìLŠŒôèÛ×fÚ´S+Wšöî-qrâe9òxj€ÄÞ¾ÙÎ"›:ók‚{€ÒIHSaLB„„ÜP|éNÒùÛIgn&Åü_²¡Ø€Ú]A²OCBzÏ˜áØ²¥ØÐ°…·wbèBþP~||bðü>î]ºÜùb :1Œ>u™¿î§®¿HÓ⃱‚ *ÄHË’B޲D£-¤kyJ ÛÚj²³‘JErrvéRðð¡êŸ¸üüßùu>\lhذM›6ÞÞÆŒ­ 'ܶ];0úTõø— §n?õP£åŠŒ#B„L‹‡‹)#…RU*ë87èÖáÃÈÚšhµ”RÙjÀ€„!O&OiÔºµE£FD¥"H$¢E"éPQk¹E;¯=LÉðéUlHŒB˜PFZ©ò4D«rw²(‘7þÉ“I“'{yyyyyMš<ùq||©CÔÇññ}úöݱcGM¨¯¹·wEeÄÅQ Îɱòô4`YAVV“ž=qj*"$?7÷ƾ}.«V•Ș0cæŒ={vúè#Ÿ“§NÕ–ŸzÙYí ÎIDAT^äPDjV~ÈŽ«Í]zwr0¡óëŽN]~!Ä0Tïö®>=2”¹Åó&%'ùûûÿ0Îqx8BèĉããÆÛ¼y“}CûâÉnß¾=múôi}ûö­!µv ¹9eJ¯Y³J…““½¾û äÉ’“ƒÝÝ/DD¸®X.qt(žåyRÒ˜±cÇ|ÿ}М ©TúèÑ£mÛ·õêÙŒ>µ†[O3–íù§_×6ÍÙL|E*þ÷Ê•+ýúö+®³_ß~W®^Õíž:u:44teÔŠeñB\~¾:)Y “!BˆV‹SR¸ ºw¿{ð iРáãÞÍrõêUooïRµM >|øÉ“'OÆÆ:9:FD.׺~ãÿ6mÜxöÌ™îÝ?Y´(¬èþñ˺'Ožîúuסƒ_¥¥ñÂM›7?ˆ‹Ûµk×ÉØX‘HµreÖŒ>Ôw–íùçôŒ¯?ÿ¤$¤« BMS4E… â0â0a1á8B! º  ß|µ¤T*ÍÌÍ‹«537W*ºÝ9sfOŸ6ÝÍ­Yͪ$+‹ÉÎnÖ»wBXX©;tè{²ôÅëg2äø±cׯ];î)ï6 só—/^”š[X;zôÆõëüßõk×ÀèP• éê2~€ûŸÇΧ¤gº54bhªgK›nžÖ]š[wt³jëjÕ²±Us'K{‹| {ûIêÛϋԧítÆŽ³mÛö½{ÿÌËËËËËÛ»oï¶mÛǼ½”M·®Ý"##BC:tèƒW9/..1ta—Ñ£Ñ;\JŠ uëG±±GƒƒU*ãâÂݸáüñǹW¯©îÜy7ïØ±c·lÙ²wß^¥R©ÕjïÝ»7sÖLþPAAH$ …/^¼X¤çžQœþúÿ´dÉ«´4•JÉ 5xQXXrr2ËqããgϙvM¬~Ý9dÛÕ¬&Î]Z»b‚fDþQ" E!S#±­™áçœ;6{k9GGǵkÖ¬\µ*rù „P«V­ÖDG;88”ÐкUëµkÖLœ4)[‘=Ògä¬orDd«~ýD…ôì™rï^ƒ.‹Ãomßáõý÷ܳgèéÓVÜ›7Ïsÿþyìí×®YóstôÊ•«4MWב£Fñ‡‚çÍ‹ˆ\žš:ÓÒÒÒÇÇ'&&¦ìÓóý˜¨¨¨¯¿þš2Úo4/ôõµu+å?n\zzº“££ŸŸ_VœÒhԉϊB‹‰Äb¸ô váèä\…Ñó5ìâÝ70#Ô³í¢uö‡ô¯±?}êäw£Ç”#·" ’º}{ööûû3ùù*…â–-žö‹ììnõû´ufqqqÂÏEG[Μa^æàëk„PFSt»rr†‘>oŠ!£:l‰Û¸÷BˆeYBEQüËDš¦K}©Xöš07®_¯5µññasr.DG·ðòºzø°óêUÄÜ\­ÑØÍ›{3pv¯3ˆJ…8κQ£œ›7‹ý2*[3kZ0ú „ƘeY–e9ŽÔÑÎÆ˜Ù›“••Å¥_Ã0 Ã0@ Ð4]‹Œ]qXŽc M}}µ sõ×Ý&S&³ÎÎÙüÓÆIÆÏ/^´öôügÏžô”×À@–ã¯WÕ¯u•£@)F°P«eY¶eÙÂB–e›ÛI&õsR(”˜`š¢†a@ 000à8Žã„B!S Œ°,[XXÈWVöå—¢ YV¥R±G0¦hZüøÛSðñãfc¾w6Œ‰ µZ$ êD40ú š¢ŠFòEÓ4EÓ C;XÉ0æx÷M3 CSÅÒ¦vAÝS MQ Ã`Œù`0F„ Šbeû÷1Í04ÃêJü,0ú š¦ù‰†cBÇq,ÇaŽã8Ž»txßÍ0¼Ñ¯•%„`Ì×’ã7øÊÒ ÃÐ4Ã0Ôë;\]ú­ÁèPEQüà] ˆêAe©×,õë:}Œ>P›Ÿ>ÔzNŸ: FêU»î.4}j4¥®µ è|ú`ô0ú}Œ>FøP¼5eSR ¨c¨ÕjéÔ‹ûömµZM …"h€ºD"iѲ¥‰‰ —«‚æ¨ó#}‰Xœ›«¢/>HŠ`°P7m=zíÛÁ„œ¿—J'(™¼Ü\sÐ:uÌâß¾}[£ÑH$O–cï$åQûÿ/#%#ÇŒÎn Êå8lcm -PGì¾F£T*†NR&(èœÌ”ÿcÎ_,欭IEND®B`‚nted-1.10.18/doc/docimages/new_window1.png0000664001041000007640000007066211520267216015220 00000000000000‰PNG  IHDR—E¯ò7~sRGB®Îé pHYs ‰ ‰7ÉË­tIMEØ ¶ðS·tEXtCommentCreated with GIMPW IDATxÚìw`EßÇggw¯·$—K/’@!”ÐBGQ± xT”Çúú`y(* Ò¤HU•j( ½¤Þ{r¹ÞÛî’K€:Ÿ¿’Û²3³ßýÍoöÓîC@ Z™·¨_ïX@c£¼±QƒaXÓå”Ôsj­è Ãè´Z 0.. ‰iš6ô˜«°ÄB¡ÍjµXÌ.o HÏ8„Ro1àT걫W¯öŽï!‰šî£(Êb±¢Ê@ Àd4øxK‹K&“¼Q‰aÀOæËápî¼A¥Rë´Zšrqç µµuƒ HÂh2eggûøø¨Õj>Ÿ¯V« ƒÃá0™L"‘ÈAÑ„Ƚ¯—ˆf¥ÙqÄ?Ø@ bÐ…-Å@£BœËã¹ ËŒf+‹Å"Y,—7ðø|‹ÕŽAH(•J½¢j̘1¹¹¹£Gf³Ù€‚‚‚ÒÒÒI“&áâ¿aàa ¹ªºÆÒʆazæ–Çv =~6“$]¤ì§R)å ‹ÅFu‰@ü3B‡æú*ŽCü†Ât óãqohEYeÞdÇ!Äq@|theÂd±uï˜STAÑ~#vœÀ0@Sôµk× ƒŸŸEQNcÏ`0P…aÄáMüDüªêy‰øaÞ^bAnA5 ½Ï•y‹´zS\-•ü¤o‰@.o iº)8øç©!„núsð†Fᚢ.]¾ øF£‰-ô½¡asÞ`±Ù£ÂìJ£Q—vŒ…8qâÀ0h4O:E’äš5k8pàÀ   Çu:¼e‹a€òÊ™Ì[PàwøDZHpÐð~ÉY¹…‘]Ãôz]bˆ”i=c#»@üÓÀqˆã8æÆÃqâ¸Sã¬V«ÁBûq9,£±Ç›$î†Ö5jE|.ÃJÍÎ ï†NCˆ„Âàà`£Ñè´Â „%%%õõõݺݸµ©G 0™­@Ñ´ƒ¢ÃÃB|¤þf«Íl±œ½xU®Ôôîåí%ðJ¥R1âŸm‹áÄü}„Þ¢þ/…Z_¯Ôß4µ ÓÔ"B, ø‹`‡N!»yCt¸ƒ\n4YÆŽ’UPIcM7à—ÃÉd~~~¹¹¹¹¹¹O?ý4Žã$Ib†;¥²Y—ðbF¾VohPéOž½\× L»˜Åçµu5V‹£m„8N\Ê*b–«™Y 5É“à¨G‰@ücU ÇB³ÕqéÊ5†ajÖÛ/D$’À›Ž-€Þl§m&yM9 ¦®!F‚ß ì¼¡¨¼úÊÕkQ±TiUA~n÷½qˆCHã8ÄNžÏÚ¯gjjjyy9†a/¾ø¢3y†a0 Û›’®TëšòdµZ(Šb³Ù6›0@Œ¡h B‚$lV„Žã»Ý9²‰ã8òî#ÿX zmXX¨»eYy×W­V«¼QAà0 Àå Ælµ“IØí”Zk ;“~~̘1*­¡y‚4Ã4wÏ7‰Þ9öÉf7›ñÁå¢úC \_©T6Ÿ‚Ú„^¯çry4Mk4ZÏ…b¨56‡k³ZŒF#I’.$Ò`äðøBlý®Ã¨¬Ä}Âf³RÇ¿ã8Áb³ÃX­Vš¦î¼$YI2 mµXœ]Ñ––‡ãt»¡þ^¨ ÄÈB©Ì/,Åt:* ñ0²wïÞÇÒ ç4Wxè0 4 @<Ü´¦b*•J­V«ÕêöFZ[[{O2g4ÕjuCCÃ?¡&T*UnnnUUÕýKâ^Õ ñ@«Ã0ï½÷Þ{ï½wñâņ††Ë—/ïß¿¿ÍXŽ;æüÃf³íÛ·¯°°°YYºt©3鯯Fç/×®];|øpyyùž={Z h6›<èa*­Gøâ‹/œÙÐjµM?êõú£Gv¸”¯^½úÙgŸmذ¡yœ-X»vmjjjÇŠ®9§OŸÈåò3gδ(aÔâ?\ìÚc³Ù–.]ŠãxII‰sSQQQvvv÷îÝccc]Æb³ÙRRRyä‘={öH¥Rg4?.’’’òóó…B¡Ñhd³ÙÁÁÁB¡Ðe$ÕÕÕË–-¡ÑhRSSE"QIIÉŽ;hšž:uª»Ô/^¼Ø§OŸÂÂB¹\Þ¯_?š¦/]º$•Jûö훚š*‘HΞ=k06oÞlµZ'MšÄçó]Æ&—Ë›²QRR"•J•JezzzJJ ‹Å"Âh4:ôâÅ‹r¹|èСƒáÊ•+ÉÉÉ.#ÌÊÊ:xðà믿^WWg4Y,Vjj*ŽãÆ KKK³Ûí‰$ ==ýÿûŸÑh”Ëåiii^^^!!!6›-66öâÅ‹$IªÕꘘ…BQXX˜˜˜î29F“œœ¬Õj³³³“’’.\¸ —ËG¸råŠ^¯·ÙlC‡å¢i}ˆ¿«Š?~Á‚Ï>ûlnn.„ð¯¿þº{÷î‡Z·nËX†¾xñ∈ˆìììÿû¿ÿ{ÿý÷cbbT*•N§s8.\°Z­f³9((hêÔ©îT¬´´tÁ‚€>ø`÷îÝþþþ,+==]$EDD´þ$ùùù)))#FŒøé§Ÿø|>MÓ!!![¶l1J¥Ò`0lß¾ýõ×_‰D‘‘‘.'Ñ5ÅãÌÆgŸ}!üñǽ½½»víêííøõ×_O™2…¦i«ÕZ[[»qãF§ÞuéÒÅ]„uuu R©T*•vìØaµZívû¡C‡¶mÛ6gΜ]»výûßÿ‰DÞÞÞëׯ ŒŒŒLII‰‰‰Ñjµ±±±;vì‰DñññƒaÍš5QQQ.\X²d‰»ÿý÷¢¢"N×·oßK—.ýùçŸ2™lóæÍNS411±¾¾ÞápŒ?½ˆ¿§_lРAË—/OJJj®/4M0À],\.7,,lýúõ={öd±XNÃJ¯×‡‡‡‡††F×£GÜÜ\ž›Ñݺu[¾|ùòåËe2YCCCBBB`` Àßß_*•ÆÅŵù0III<òˆV«}î¹ç¤Ré‘#Gªªª C·nÝüýý£££ $“ÉâããYnö]ÄÆÆ:³!‹½¼¼T*—Ë•Édݺuãr¹£GÎÉÉ9räˆ^¯/))™6mš——WSŸúNüüü233u:]AAA}}½\.íÖ­›B¡=z´···H$’ÉdΕJ¥²OŸ>R©B¨Õjëêê4 À¹û[ee%Žã‰‰‰­”äI“–/_þŸÿü V«år9ŸÏo*ÀÈÈÈ®]»*•JÔúð… ¶øI­V;[¼Á`ðñññññ6lXFFFCCÃ#<â2 ƒƒ+++'OžÌãñT*ÕóÏ?Ÿ••UQQíëë;|øðÄÄDƒÁЯ_?w½ËÅ¥K—~ûí·”””>}ú$$$lذÃáÄÄĈD¢€€€]»v9ûDwBÓ´Ñh çñx*•ª¨¨(//oìØ±=öXvvveeett´H$ŠŽŽæp8«W¯îß¿¿»þTzzúü‘’’2pàÀ¼¼¼ñãÇã8NDiiinnnxxx||<ŽãEEEN­¨¨¨¨¨hܸqî–ƒùùù±X¬7ªTªÞ½{ÇÅÅýúë¯ Ó§O7™Lqqq&22R¯×ÇÅÅ©TªñãÇoذ¡²²rÈ!‡ãÊ•+ÁÁÁQQQÑÑщD&“]½zÕd2¹ëÀ:š¦»víêp8†INN6›Í999 88X.—k4šúúúgŸ}Öå6ÁÄCDvvvEuÖbr×®]çÎ@¿ùæãÚ±cÇ… œ'''?ùä“íÍÍÉ“'÷íÛ×d”½ñÆž‡Ý¼yóµk×>þøcŸ{X@¹¹¹k×®uþ=sæÌž={v,ž>úÈ9«àííýÉ'Ÿ´~¿R©\´h‘L&›5k–³Ú.¾ÿþûââ⦗,YÒÜð\±bÅœ9sœ;ú";Û¶m;u>ëÀD xpT ÍzE 7D›ó§âÁ¤¬¬ @87ªF ˆ‡çþ‹XEE…\.ïpݺuCE‰@<ÔÔÔ˜L¦Ž…î¶T}Ù¾}{êÙkDmmí‚ Z™Ú ¯¾új›“QDçžž¾fͱXܰ6lp¹áMÓÀ9wŸÃá,Z´¨QtíÚ5⢨~ýú5Ñ.üýý­VëCúàª{Ä‹¼¡á·›«/°µ¢Ø¾ãŸ;n¼»£(šÞäßü¾öÔÚ¼Æ<¾Ïô„éÓ§L—úHQaþA*†x@±Ù¬¾þ¿áxæ+ƒX\Ò«^WµgßÿRIbĨ±MBV__¯ÓéÂÃÃ3{išÞwhß‚‹ 4Ã4Œ„ÑYtKò–”¬.Y¾p9AM2×ÐÐ`6›ýýýÝí€x¸@óÅ(égN÷²^Î>SbXr¢¢™×úÿøI­V5Ý“››»hÑ¢ÒÒÒ¢ÖP¿úÌjõX5ãÍXúX~Ã~;ñ|Sêêê;vìÞ½ÛÝÖ ¦¦¦i;)Ä_i‹F»ÝŽã8¿ Àâp¿lÛd2ùùù¹»Z[[Ë0L@@@fffCCÃàÁƒsrrŽ;öÌ3ÏDFFºî8ðxφ¸G€›©!EÕÕÕW×Ö8”¯TÚµKx»†,4MEU•F£‘ˆ%¡!!^^’¿k•›Íæû·`ƒ$I__ßæ¿à8.Z à@ CÓê'Žý¿(~Ü2kw…ÒäÈk°ly>\j(P(ÞÞ7–š9²¨¨¨¹šdñ²nû4cÀÜËœz2uÈ !ÎBBBæÍ›————ššÚZ¦F­RŠÄ^ÑöáöZ­6!!Á_ÉNÛi†¾ów `$Nb µ2ÍÐvÚîòq#Z-W†b(0.“Æ1¼õ¤´ƒb\ogOBb°õ¤]>²3éÖÃÞ•ŠA<‰ãa§O7<ù¤Y&Ð £ÓéX,—ËmÝa0L&ÇÛºu«Édzþùç8Àãñ†¹~ýºX,¾~ýº;c`0̨R×eçá `†d³v†a C34Í0€òBûöfÜäÁh4KMÕjua¡A‡Å¥E.]|dÌ?™¬Í" i:+ûú…Ë—ÂBB„B¾B%¿|õJß>‰={ĺ[¸î6*Êdl<%Æ Ù±úPëZ½2, ªõÒ¾%I3IMÝ%’P«.\Ø® wR__ïçç×"“æ¿ÿýo 7'õ¸]ØÀ8nèg±HÅ8&äàZ %áâà­¼BœÁíÀÞ"þæß3š¦333>üÒK/µöÒô¥³§…þ]ô‰÷ä|{ë«Å«î<»ºõ{„/ŸÃáȸšÑ+¡—‡–Ã0ÚѼɉÅbçf…ƒ÷QÅ0›M”“ÃÓëy%%^ii¼ÂBs×® 2Ù·ß~‹ãø /¼àn[>gËØ´iSYYÙĉqÞ]#:2-á«Ï¿zò©'“’’v_²›M„ „Î?„NyR(§NÚ°aƒ^¯oEÅêëë'Nœ˜––æÜžÐd2Õ××ûúúæææúûû;§u´ŽUg  b‡8Øù+åé—*)87Æ¡-VÊæÚ´.,*Æq8()‰$ÉŒŒŒ ù¢°ÐØØ¨ôsçÚè èt'Ožþܳb‘‡8I|®ÀÛK:nìÈ /j4ZO«Ù¡S•® ­14¤Xt×Ӿåì[y]¡B%g £¸êzVñOæï`WZ^œ•ÑɇòY­V«ÕªÓé*++Íf³Õju¸:<õ#˜ÍÅß?iP…ÿؽ9æhûù>Þ*3õÅ9ú‘çß7ÓëÇ|çÎË–-sî%å'ó[ðØ¿=~X h U0ÓkfbÂ­íØºwïž––¶dÉ’iÓ¦µžž@XS˜±ðƒÊkä÷°Ü°»x•iš¶Ûíë°;:œ´\._ûãÚŽ¥^YY9wÎÜ+W®x¢w¥b Iê•£F™ºvU¤=ÚÔ­À0áO<‘ŸŸŸ““ÓŠ%/d2—Ë-//7=zôpú\m6[`` R©‹Å¥¥¥P©T®û¤J›!„jt‡Ã\U§T¨ÌBǹ,Ž^ázc¿ë¹9úõ¡J¡P”——ÉåÃÃBBÚ\–PßÐèÏãr4ZMÃML&“€/ ¨«¯ó°#©)_Íeåò…&¿P)Iýj•/Så°zzîIy}ÁùÌÔŒâôš /‘TÀUge—\l[È0@3T×®]d2YQqAiY‰Åbö0QçÆwã#£(J­V;7òõ°Kµ?¨¬ô(rÇ_yë}{Òë_¼›ÆúÃ>pôëKûõo~›Íæóù|>¿É6xØúgÖO)˜»#6ùdòÒø¥ï¼òNó¼á8î Òæöj•EÙ™ye9™™× è{7#b°ÝÏ&§óåK—;V«Õfeeu8ÛAÁA9Ù9Gtäô ©¯tøðá+¾]QSSs½ûNÓ@ØðĶÛ÷ÉÉÉ%%%Í7€maDGGçååM˜0áÍ7ß¼|ùrRR’N§s.Òäp8eeeÝ»wß´i“Éd ðööváÛR(½IBVR®Œ÷ÓèjròBÄ `¸lŽ®^àbT¡AÞèå%i”7®þqµs¨èó/>qÆ‹Ý"»©5šÖŸßh0r9š¦ýõ×ËW.;ý ½^|q„Ps_°Ö{’êòM–±B­¼˜$ ‹dqÄ6›Y[ñOÔçmF 7i K¯S˜ÍtV‡…²Ð>üüòL>WÛ†”дÅfaqX±=bÊœÜë¾¾²Ð°6Ó­®®Þ´iSppð[o½Õ±Öƒãx`` ÓWâáWÚhžÎÅbñ”MŸò¯éíЇ ÒäËï0f£þ‡U«êš¡c'ŽÒb÷§/Ô~û·Ã·Ãáh¥;Õ&ƒ‡ >tàÐà!ƒ¥^í›×(o´Z­Ž4?/?,4Ìó€yyyÛ·ooú–''';¶ »Qwl!/zôèÑÊÔ^ ƾeˇ3~üøƒ>ܹ+†av»ÝyÖÆŒ3öíÛçr|“r8¬K,Ã0Ìlvä×8fš±ž¿Z9&9Ç1.›cT©«ObpP`£RòÉGŸ=v´°¨p8Ž+Õ*‰¸ o‘H$¬­¯¶Ú­/Laú´éMo‹ÙìÁb ýÇ©Š/Û¹¾»B!`LV-–Ø0Êa7×’ÜÀ6Ô¤¾\oS*‡á‘b†QŒÃl6±Y¬0ÿÈ6»'8Žã °ÛmR©O@€mmÝÙói½{õáqy­„1cÆñãÇ;Ö¬‹ŠŠœþÚ[Ÿ“¿Ñ™{v»]¡Ö{{{Ïœñ/³’hµÚ³ég'>6±]E"Qnnî†õ~°°]###ÕjõîÝ»ívûˆ#æÎÛ–_¬Uç‹··wL«®n‰DòÌ3ÏdeeÅÆÆ’$)—ËGíëëûÊ+¯Øl¶W_}U­VûøøÜ9†0i´A`Ö 0È|/LM~á©A8N–©,Ûa2Ó®N2ïÙóÒåk“ƒXhhhÏ=Y,„0?¿(°­®þ~þ r¥J­¢h‹Åb³Ùl6‹ p­VWW/ ôh},‹ßUö–Ãâ+ÇÛ |Ú޳zÙíœpPö¶ûkV›@ cË‹Äx€Áùl1I’£ú=Iàdëõ p‚ Ç!„8„»Ãf³rØâ÷µMÇÄÄÄÞNû–3ð¨xàÞX¡Øë¿Ÿ>jx2†³$`7Û[¯^½Ìfs{GNã{ÅoùyËÐä¡VKû9ñé§ŸN˜0!66vÙ²e΃8:¨b‡#""¢•ÓCœOèïïÿ裾ð R©tá…ݺu7n\||üœ9s‚ƒƒ;Ö¿—'w˜tz↙L¶Ô³9f‹…M²Ø,‚$m‡Ofê  ‹FG¹ò‡……q9¼k™ºkD—ää¡v‡=;'7ýܹÄ> ­?š@À>tèÁ”£ •BoÔZ¬f›Ý®Rk6nÞÚ+>NØúD§fp$½½ÂßÓ)Œ8;Zö±ÍȰØR›ÅN°ýÚ®*w8l|ŽX* é×3BÜd5Œôœ€+ò aÇI‚$I—ë©­ÍÍËD}ú¶¹-õ•+W–-[¶oß¾;wv¬‡b³Ùärymm­F£qî÷ߎððó8ùÀ½±4MÉ加 ÿ;·5(µHšœk~2¿öP$Ñ-bÊSS|¤íÞSÞ××wéÒ¥›6mjeÕvË¥^¯OMMÍÍÍU(l6Û××W¡P×¢ûà’èèèÇ÷êÕ+,,¬É…xøðáÝ»w'$$¸3è J%'1€ñx¬çŸH‚î%ÿûÕq Ãp8,À0ÐASvLjC8é±ÇN§¥=vJ$24m0€ ññóß}÷©'ž|lÂxÒý €®]º<:fÜñ㧤Ro»ÍÞØ¨|tìØUkÖ:|øÍ¹s}\yñî„-ŠõŠøRS½‡äA £\ŒŒ&Øm{"‚c +²HÚ³'áñxcúMg‘n‘ ¬±±±ºº:00¸W|‚‡ÓÜâããW®\éldtTCÈb±,‹——EµoLðx4à¦y×ÕÕg_Ï1™ŒÁAÁqq=<91Àl6ggfÔÕ7ü¸^½]ÚþmŠé'Î}kAÞýbccÔj¿I˜³©ôˆëÑÁÖ‚C?¿l:ÑS+((X½zµ^¯wzÔ‚‹Åä §»o2›íïï_SSÓ|rÙõë×+++Ÿzê©°°0×/ÃèåJŒV›Ã0‡Ð›Ã0Çhš±Ù­ Í8,&›Ñ<—–çðä¡*µZ¡TÒ-‰üüüêêë¤ÇŽýþÇ>œÀ;ÖÝ»ŠaXxXØÔ)S F£€Ï÷•JAlLì•+—Ö¬]7gÖ«ž Fò£Åa³ŒÊóˬW“¿)mNkpX<‰¬^]eš¦Gö™Là¤' ÃÆÂ¢Bß³G|»Ê%I²ÃúÕÜg*†iÝ£( Õ› X,Mýpf0 1® ON_¾þH™¡»EXúà¨#Ÿ~øFë²Z¥úvчxÞq‡Ò¹‡üû>ýúûý lŸSÌf=tðÉúé§Ýº†Ý})1 £T(=æœSÙ^!0™Ly9yû÷ï8h`{ç:04S[[›ž–ÊÐíîkµÚS©§(š2 €î1Ý=KQ”Z¥&IÒÙ6lV[—ð.÷C[[ªX\\ÜÛo¿]PPàœ²пwÝQ—ŠQQQ1xðà¦ú»~ýúÀ[1†1«5õµUµvc»1­˜³Î0 ÆaÙLf—*æ´ ¤>>ÒfÇ …Ï=ûÛ•+öîÝCÓôäÇoímäó·¯ ~yÆ 4C_ºxa݆³_éÕÖ´RŠ¢l6›ÙLéª¶Šø:ó¼˜c³ÙX,V+zäœÓÛ'rØÉ«¨ôõ™…磇b’$é‰I…PXTØ-"J(vòþP-rX__ïîæÔT°bP«ÍnÈÀýÚ •JõáÒ?²9¸Ÿ€ 9Zz%pý–·Þ˜Õ4¯¢²²rçΓ'O …6›mÃ+"ò‰RÕÚÓ[¿TtÿùPó³œ)ŠúùçŸ'L˜àî cŸ€4äòøÂVŽ.õœ’â’>ø¨_ß~a¡a«¾[õù—Ÿ{K½=–Tû×K¿.+){|âãÎ] mz)ÚjÆ`×®]ûêó¯är9„ð½…ïµË ÖØÐøþ‚÷>Â0ÌÐä¡/¼ðB»¿ìþeÝšu‰$¼K8`hòPìþ õwS£G9r¤ÓÀ0Œe4zÿù'¼9@ɤ=2¸?ÖÌËË+33³ù/‹¥ÍÍ„Þ^¶.¡ÎGÄq‚ah B†aMcgµA âí[»õö¼ù߯^}üDjë*v'"‘höÌ™8Ä/]¹TUUݦ)fpð IDATŠÑ4m·[Í»5¬ÁÉ’Ž·˜­$Éa²õÊ£iš¢¨^]‡œÏ= ébµXj†icbÃ0ƒ uVS»$,11±Ã›‚:Y´hŽã-²Éãñ,·Ì­[”—ƒìl`0€þý‡§ÓmÛñ«Vø‹åÕôZ^}öœºüÔ“u¡¡7Žþ¬®®ž>}úüqúôé &”–kÒv ÞêÛz±˜CÁ¾=¿Lñå¦B;yòä† ìNÅ É~ì©gRÎ\üvåw3¦=—{—¯ß•KWBBC^šùRƵ ˆCŠnGï[£Õdef}ôñG|>¿²²²•%Ì-›`ì”ýTê)¹\Î0ŒOB[nâ;Å÷è‘£‡ƒÍf{tœç 30 K?þéGŸ:ç…ÄÅÇáN ܈毄óujʇóG;„†à`xÓ­Îà¸Ç#[í§4w^8Üu7ÓõÆ=v•LÜô/ÃÐ`€a†Á ÄnÔ B<žÕé$*2rÁÛïÐtGJÏã½üâŒqcdž…†´y3Žãl‡ù$MÛ’ÏfsH’lóÀqœÃaC(ÕwŽãN,„¸'oއ=ýæøøøÌ;÷.gQ»´PX,–»þοþâãV ºwZöee¥¤`r‹†¢0°›ëoÿþýßyç»Ý$šH=t´îBf³Ù-’mÍWàÙí<ðw Ãês_e믅a˜Žm…<í¹§÷¤þ`cÏÂHçWqèó'b5›Ä!\´hQHHÈ!CÝ"yž¬ÎØ̽¡†zvëúñÔ§›‚½ùæ›QQQ½zõºWÏ(‰\ö£›ä€xxhx»Àp øÉ:2ºøJ};ƒ±P,Š;m’ “““6òýíõŠx@ñ÷÷[ðÊ€ï^¯"3„iÎéå[4gæüæßÚØØØ¯¾úªé_‡óœyË>( l¸‚µ4™Ï‰œðÆ||ZÎãxäÖýQjT_!HÅ®a;å‰ ‰ =ÒÒÏët%‘‘QƒMåñÚ°Úƒ‚ƒý°%ý̩Ҳr/‰äÝa‚‚Qa"C þ2ÂÃÃ[ÙØÎ%à‘G' ¢û©˜Ãá˜?~ëîI· â.ìĽB*•Μ9³c‡ãZ,³ÙüÐ=²s8›8q"ª~ñ0¢ÑhüB£‰‡÷(Mñ‡Ë冄„w¿F @ þ*`f~#ă%d¨ÄCÍm3-$ ê`"ˆ‡‡s›Š-X° {÷î¨\ÄÃÂÉs·©A÷d7%èw@<üB†Š@ C ¤bT @ C ¤bT @ Š!¤bT @ Š!R1T @ Š!R1@*†@ Š!R1@*†@ Š!R1@*†@ HÅR1@*†@ HÅ©@*†@ HÅ©@ C HÅ©@ C ¤b©@ C ¤b©@ C ¤bT @ C ¤bT @ Š!¤bT @ Š!R1T @ Š!ÄßVÅh‡¥¶¶¢hT1âáS1›Q±~ÉG“&=±dÝn£Íê@xñ d„¡Ö|þþ‚%?ÙhæZvNµÒ±êÃi¨z<¤¡¡ËåŠD¢NNW.—³Ùl±XŒªl1Prî÷wc|éСCxкeù‡kM¨z<ä›o¾9vìXç§ûý÷ß À¹€a êq¢V«?ÿüs«Õúpe»¶¶vÕªU‰‘ˆ@*Ö鶘]Yo£žît£TPq–¸Û¨N5PEQ”û7ãp8†y¸Ê™íVnp84fÕ þ*FS‰aÚ®Þùk‡ï5qjÏN58p`ûöíÿ´Æ÷ùçŸgdd —q—tÒL ‹Å¢R©(Šâp8w^5è@ƒJ)•7œÚµædAEô˜×eM£åŸR ÙÙÙJ¥rܸq.¯*•J‡Ã¡P(,‹»âÕëõœm³ÙÜJºjµÚf³) w®±´´´ØØØô"îF[:IÅRSS?ùä“ÈÈÈ#FÜyÕjµ’vðÈÑË'~_±ü;3.î)ü}ß>Oú,ŠÚr’ï#‘ˆþòÒdÆjµA7JõÒ¥KÝ»w …ž¨˜^¯ßçæ‘U*•N§Û¿¿Ëo ¬¬Œ Ç=Ég]]^¯ŠŠºûG.))±X,|>ßåÕššš†††ýû÷óx<—7444œ={V«Õ:KïòåË={öär¹m¦kµZ!„$IvZåj4šŠŠŠ^½zuNrv»=###>>žÍfwNŠ×¯_—Éd2™¬s’“Ëår¹¼G†ÝeTVÀ5#''‡¹?üôÓO€yóæ¹¼j1…¬ïöízl@ ج°ÓE[Ÿ¾wˆl÷î_˜›Í6{öì]»v5ý2{ö좢"OÂ._¾üÃ?twµ²²2..N§Ó¹»aöìÙ?ÿü³‡ùLIIY¹rå=yäyóæ­_¿ÞÝÕ¬¬¬qãÆi4w7<ú裇vþMQÔ¬Y³jkk=IwîܹkÖ¬éÌÊÍÎÎ~ÿý÷;-9½^ÿÚk¯©TªNKñ³Ï>;yòd§%wòäÉÿþ÷¿4Mß}TGO_z æîëÀûæÃw«ójz?òâûoL#<h›YýÅÇ ³kyˆˆ.ÆÜ}Ȉ£…e9U<Ÿ¨Uß.ê*k» Æ0ô™ß¶ÓQtçÜ©Tª}ûöµ2˜ˆx¨¯¯OIIA£ŸHÅ:ÓŸD¥ý¹éǃÕIÀ¢uëÅy¨øêÑ´:þÔñ™ÓšššÅ‹·>{ñ—SRRòÃ? Í?‡NíQæççÿüóÏ-~l¬Ì]óý#Åȼæ†âŸ.oÛ÷iÒ9z:nððk—¯Μ9s¯&ˆ;;êîÜäUUU …bûöí.ýÊE‘$Ù”™¢¢¢ßÿÝÏϯÍt/_¾¬×ëï,'J¥R£ÑìÚµËw¿¨¨BØ|B™Íb¨(+-+¯2Y>~1±1R±Ày);;»®®Î]Z”ÃZ[YQT\¢3YbŸ={úùzA÷j4Ýy «ªªjkkwíÚåλ_[[{üøq¹\`¦¸¸xÏž=IÛ³ Íf³»Q…ÂÂÂêêêíÛ·»«G‡Ããx»üÊÕÕÕ999î ížc±X wïÞíîï9™™™6›­ªªªÓ¤ ??Û¶mw•ÞNtªŠ :ô¶wÆ®[¸ñëÂ:µ„ϦY‚ОýµUm´c÷ºeÉO¼021R]SˆèÖmàÀÁqìÊ?þøÃf³=õÔS.¯üòË/C† a±X.ߣGÆÄÄ4=ã¡C‡úöíÞ¶iY\¬T*[Nuuu|>РAîÚtJJJtttSp‹¶òƒùï9—i°Ø$¢<ýç–E,wêŸÏw™–ݤøaÉç›÷Qéo¬Ž é1zÓš%!Þ.ÓMMMŠŠr—í‚‚‚Ç4ÈÝ(íÆãââœÁišNII0`€'ÃdGމŒŒt—.—Ë={öì!CWÍÛjµ®\¹òÑGíÙ³ +++Ý¥xÏ1™L§N8p`§írõêÕøøøtNr,Ël6ß“ò¼–[Ö©*& Úõ%é½ß½Ÿr6›Íó]ñï¾ØJj‰°Aa­GBY-Á\YIYÖÞŠìëׯ.^¼’ØâÐa÷äh±XnËd3t:›Í ui}Øív@ •J›‚ …   w±5ÇËËËáp¸»Ó9« $$Ä4OתS,˜·ð·ÔKÌ­bv_9Èãq2™L£Ñ¸Lkù¼wØò»µ™«±¦à Ÿ…»Ë˜P(ôöön¥¸¸\nHHˆ»W‘ÃáÈd2gpš¦Appp@@€' ©•t«««y<^hh¨K“Ùh4ÖÔÔp¹\OêåÖ_¯‰Dí r7 ¡PâååÕ9)J$??¿N{Àòòr‰Dz÷3-Š*ÿÊ1J]]Þ§_þh°SÞüÏ3OOYòåj¹2€6æ1álο>þìÆß8ž’’2yÒcCvñ$E‡ÃQUUØiÓp 'ãÔÉ3ÕropD}£úV?®¦ü§ƒç›y`ôì«„+ûñvÿ¤þ›Xo-‰þ¸¬KDó›Šr®={¾ ¬ZâVVU÷7s²hµZƒÁÈ/ÖÆ;Ã8v¬Yq½AÝgÁœilŽoo÷`µü› Ã0' ÄZíV*wïÜváÂ…ðððƒKúŒÚ­ÍD•JåÂ… ¿üòˈˆˆ‡·ÎìfåÚe‹·¹ªQs£9‚©ON¼!p€4:èf†Gõä»O_cµÙãÆH­ÆpʆAQ`Ìòÿ}ÜÅ—³ûo:°mÕ»/-©itjÁâŽdôßì•8qâÄÙ³g—.]ŠÔ©˜ ªªªNœ¸±ßŽA^²nûn@Ï>c ÙÇËi1‡Ú»ì‹>?ÿàåÐwàýzûˆø­œ²Àž¯¿~Óµa¯£Çí¢5Zˆ„F¿øòK˜öVÁæžÛÿŸÿ[ah&‘›%/7¯ET Cé4Z«ÝQ×ШT*O:%ÜUGFF†Ó{EÓtmmmZZšO›ÅU]]Íb±ÜUÓõë× EjjªK¿˜ÙlV(×®]sù•+W𠳉²²²ŠŠ w)ÞsÌfsMMÍéÓ§=YøqO(-- …6°›™™YZZzâĉ»ïQÖ6:UÅH’l®Ê)¿z­T+ ëûʳ#Y¸}ówKw]*4[E†F{nNÚ©cë%¯Î_ðĘd+ÏÉ8ÎÚçÙ'2²«'0™LB‡ãnÔŒ$I†aÜ]år¹BçNÅ‚`³ÙMÁ ‚àr¹îbkáìl^8´Ã|*eßÖí{+T4Ã@œÀY.—ÇãñʸvgŠåö~_·ö<ÒœÃáH|ü¾_³B0H’$v‡7ŠÅb¹Ì_$ùø³Ïýü€IÀf%ÏЖM»SšKÀ·K|\ò¸¦¨Êzí|êO¶æUÖÓ40, ,ŠÁYîJÇñ¦â¢iÚóâ"I²y9ßénÃqœÇã¹T1 Ú§ë².‚hq•Ëå6¯ 6úû–òÏ?ÿ¿‹Wå-~ÿä²×^á Cy^4¥ß¸æ?{”¶øÝ'aÀgØ•Cxøn¶ò^´ å·V®»ÚòíðzoŪB–'1p8gyz¢b´½qÅ7=UÝâw¿!£¾|w>AX:UÅüýý“’’œçoùð±'žx|¨Ó—lÿãt`—¢ºø••ëës֮ߘ_^»ý§m“Ÿœ”îörþÀúµ>ÿn@S´­SWW'‹{÷îíò†3gÎX,w±ñù|¡P8`ÀwÞ}??¿ÈÈȦà~~~½{÷îÖ­í®î… x<ž3 CÛm[±|år½µYÇÐÚ·o¢X,fhK߯Ã:£s^†aBÿèåß.?0ÖÙ¼¼¼ø|~RÒ@wÓ2´Z-„Ðå3r¹Ü„>}"##]yìC£¯eçÓ7æs`|Ÿ-~ùɱMÍð\Êæ•_¯,¨»å¤«(© íÓ;ÖeN$ILLŒ3'4MËd²ÄÄDO¼û~~~]ºtqWMEyyy 0ÀwßËË+66Ö]ð²²²šššWAVV–‡ÍÌnТV«[ö„’ÄþI>dÛ*f0~ýõ×~ýúyâݧª½Ûw&Çʼnؾz ×~gŠb/¾ÿ€²K™_,#SM°Øcž{7”®Û³eâëËOëûÒS“¤¢¤¿òüsOŽ2xlqùå~Ø}zÝ{®­n}íüwþSØ yè6ÞºeêU¥¥PëníûÜX]öÞü›K@…á$ƒœX³êÇKÙ…dwë7ûµÙ±á~÷;«F~öã¦ÐøïŸ»f¥ðà.ѳßxk@Ï.Ø-cÍöÎ+oÔš‡âÉÂX|q hmeymƒJà%³;þžÓë!éóøä—ºÆ¨ZªØà!ˆÝ‡ªá ñœÖò%îáKÞ—ií=&½õVK;€íãÛ…ƒß—¶‡ G?2]èÛÐâwïÞýÄ8¡wßÁ.7ðÉ>RKI¹µFýÚúý5ân"eöIfj„,zà«3Ÿü`ÙŽœýÛ)æ=»Sž{7n¦¢F‚³ÙcC·•¿oßøõ÷›ªU ì걩ÏßPg›±ÆxÛæÔiØ—‹— ø76{ûô«oõ#ƒáŸÀ;i†È;xþ‡_¼¢×S ÆXÄmM–¡M¥ÚÛæãÑÛ ?‰ìÐä/«)Éü¤^ÌÖ›,›k±ÚLÇ#ûpVÀ¬¹ŸvZrΛ<õ½ÉS;ïmàðNü*^ÏÍøà¹î{ßY»4M7mÂ#ʼشÀÑ8‘€%cI"rå™j‹UˆÃQqƒ}Ø¿˜Œ¥J‹ÕëŽñµ¬s+ñÐ!Qà Ey¸'½Ýnwn@êî~çž«î®:÷&µÙlÂÝ-»ÝNÓtóàοŒkþ÷ч‹×í·Œ‘³'ÓwJ}Ã>|ã¹O¿ßi¶9þ]â~úÙKO¥Žæ®WŸ`hÊNS-2É0ŒÝnoe溻gtl½0¹<¾S´ìö–ÿË…³.ۨЙbßð9ï~ðîÌ ¡ìv PUxþåg¦ŸÊ©hfDòz¹39š¦Í£µÔoZÝ-ÊÙe5¹»ÚfpY>­ÚýÀÙ–Ú¬‹{Hë-ÿÞ17Ëóî½û4MwªŠedd|÷Ýwο˽¬ê½ÿþê›.|Œ-}ûÕOÆ €uÚÔô´o–{ IMîÃ0˜ßÖÕ«Z<¨¾®ðd¶rìÈgÏž:t¨®®Î“ ètºªªª­[·º› žžžn·Û›2y§[­¡¡á‡~hr¸0 U|ýʉÓç5z#ƒáf³Yg27e&''gëÖ­MC–M^¿ºiËv+u[GóòkJöþäÿº›ÌVˆ|>Ï¡(Yóý÷²sç¦æ™lA~~¾B¡p¹XZ¥RmݺÕ××·ƒÌ _ðÁGF“`8Ç#pÝÚUß7u$úáûœÒ۸ɅëE†ï¾s¶ÅëׯoܸÑ婚 cϼvîR–Ö`‚i6›G5ºÝ3²¬¬¬¬¬lÕªU.uÜjµ–””üöÛoÎ)ÓwrõêÕ’’’m ®®îêÕ«îƽ7Õ­Öìììµk×zèn¿{.\¸ P(:mëÝ’’g!ß½ŠŽW§ªXBB¼yóœkªrK¯\Àɰ¹oL™1uâÙ´ª ÏŒ¼Ê®ÚóŸÓž›ÙUöçêÿQ›÷$>õÊü›Anú2­+¾þÔsψ ««®ÄÆö|úÙ—üÚ“®««KKK›1c†»=ív»Åb™w{Š·œš×¯Ÿ9sæÍ7ßtz÷ƶgÝÒµÇR‹käMc†ahSðüüü3fÜéÝOÙ·yËÖ7'f@@ä€_/Ûÿì\XPPpäÈ‘¦Lºôã¾ñÆw^Z·nÝŒ3\z÷ï†2Ù»³¹ŠA’;iÚ¼¯¿z_È‚N+,,œ9sæÞ}š2¯ûß“§Ò«åꦹl‘qîªéìÙ³åååo¾ù¦;ïþÅ‹§L™ârÃNÀÎ;Ož<Ù"òœœ¡»ï9ƒ¡²²rΜ96w_§Ó 6,99¹s’;}úôéÓ§çÍ›w÷*v"ýj§ª˜sÛù·OXÏõ©÷?IêóÌȸǟ Ç <<Ênø®Ì¤ébåÿº÷gÊ+ìõkñEÅhrààGë!VUUåÜ&T©Tê ¶àÀ¶=‹Î¨ „îz[BW†¦i Ü༡ôô¡÷>X\©¹í@FƒJÑÜÕi <òÕ§Ç®ýõ¸ƒf0ˆGÄùfÅ7c“bð{áùu®sn÷36« ÷Œmg¶D½=§²úãâZ€`‹^ù÷Ǿ3SÂ%›’v—zÎþmïýwµ‘¢oëùÚ¬-îdÆi`blåA:Ö „Í[ï}÷¬áø}¬‹v¶ŠûšÜÝ«†aÝ $ Žxæí/^|ëùGÏÎ~wþ¬ºrAãYØë_ÿ´uSîÑCÙ†­˜’ÜrÉ.$ÉÁO=íü»¨¨Я_bLÔ}Úi—i¨,øe×îs—2õVF" 6˜ÌMÖÅÖ£gZH)˜:oA›‘ŠüÃWü|àÃÅåÅU i`t·0{†N™•óøóÙ×sÍÑ-*J*öh·†¶®øíDs ð¤]Ÿ˜óvó›* 2vîÜ}%+ßXß@«ÕÿþÊu” _û|½oĪõ;vþëðÞ°ð0.ACÎnúqðè‰ûlœíîõv®@*++›”LS”Åb2›­š9|8eÈàÁ]»ºþ„dee•••Mš4©ùJ¥2//oÈ!Sv»ýÌ™3ƒî´m Ο?Òikàkjjª««ïÉF@,¡¬“NñÚaúxV´W\Ò‰jÃýˆ¿¶¶vÔ¨QùùùM¿Ô_~ý¹ ì›s1 ÎzsóÒþ}[[ÌïÀÙ¢«÷36ùùù}úô1›ÍSXXÈ\üˆMw4{æ‰ç³«n#SGINO6Èj6ª5ZàÚ‘ùÅ<ƨʛ6õ圊Æ.=“Vÿ´!ʇƒœàER¦J»öžygi‡ißÏëwì=T^#gpvCCÝÍ%ÍÌo;v½|KœoEð [Ütí•´~û®ßÿØ_P^'’ 5v܈$I Fó@‘0ö‰-ÛD)GO”T+üC» 9flrß[F4ãøqÅšÌÊÛfã,N`ß1Íz¬¶«§äjjë IDATSVü°±¨¼†‚$Y±Ý#PÁ"óˆÂÍëöŸ¼(+/_ú¿^«–, å0“6ן{O’°êÿýÂÓ~O³ß”* ’ûÿHKìC3ŽÛÉDÒã³¾˜;åæÿxt¯¤÷z!?ñn}‡>Òwè#®pÀP€º]Âx¿¸ð­§’nJ˜é»OÿýÑ’õzÛ­aP±›­„HÅZ"÷irí*,J pÊQu6C" ÷ ½«)ËN˜Z­>»}å†}iöæËŦ¡¾º¸¸8,,쩳ŠJ+þ8qÁ`¶ñDÞÃÆMùÏ»¯y‰¸uúøø¼úê«D‡NT˜;w®··÷ßJâ0rÞÂj”Ú³…;%òò›2}Öœ—¦B,Kyyyñ™‹Wnm.a“ɘ““#“É:¾ŒñQ±ÀÏF êm žšÆÇ1MCîoiõ½Ÿy9NrWC3 ÃÈåòÊŠ¢-'¯ØoßñBÑ/yhïêêê   ¾wТæ7Ö+4Fo©Ÿ¯øo0mK*•Ι3§ca]NèØñ‰Y·í·ºÚZ½Ù. ”yÎZ¶Z­åe¥{ÓÎÕêÌÍïçxuúÜ´’’‹…Tì¡o¾g̘1Ym,¶¤K8r&oĸ)1¡’²¼«Ÿ½ý~/bÓOßJîʵaX@@@÷î=zˆÁáSgtF+ÃYƒ™úÓæÇ%'…‡‡;—§`ä DR©ŸÇÁPsø»v:!.K¤>Þ\ö­=#9N·ÈÈ„PßËçÎTÉÕ Ã»ôè¿zÓæ§Nˆéý—Ì8A´—ÒÊZâ¯m\ãžy{­•µä‡-ï¤î!pBâñã¦Õ±ÁÒ{•B¿'^>Óïâ• •ÁÝ#¡W¼ŸTŒ*ÑDhâ°¼zõZY20,¢wï^¡è{ö}¥:gÖkëý?e}õõÜšàuïà-Dµ‚@ <䨙˼ÌÇ?d˜ªÑ *T @ Š!R1T @ Š!R1@*†@ Š!R1@*†@ HÅR1@*†@ ÷t¢O§b4[÷ŸºŠÊ¸WäU ë<ôFóÒgrtTĽ£+R±ÎãlFQ¦‚mf£-³Ô£|haÚlЖþ+º_WM3§Nòññ‰‹‹Ãnnö^«¶>÷C*+©Ø E9òe0TJEIqQMuUϱÇ7`€¹y@*öàAPR\Â4Úív»Á`€VTT`¦Ñhp7žóžðæØ°ß.7T«,¨œHÅ÷KÄ0 ªkª½6Ç+,,üàƒ‚°Ùl))) ð ŽrÞãdD¬÷û¿ü-Ÿ`q^ê2§ÞOÂýï¾2H°îŒ}bÙ‘3W0à 0 !åÏ«ÓXÃÅñ>©—À xNVqÙd¹ÂÂÜ~Þ0T Ñ[ Œ¦é'N…B•J%•J!„ Ã0 Ó܃´Ûì~¤Ñ€á>BVR„˜Ça½2Xz Ç8mh0 ¹õöó%Úiƒü…$Å& `>‡"èƧl¦m'«Róècú†ÉIá/—þlU<Þ/ÚF‰/”›sk6Ò2R1DûTì†e0är9MÓëׯŸ9s¦¿¿¿H$¢iºé€Ð`¶–4FööQéLéÙ>Âï¿2û±>ƒ#„Å5Ê×GµŠÄÎë+}Ò™F|˜hþè€M‡³÷+‡\K&‹›6PúÃog ë«<Ñ×ï£Ç"ßÙ|µ’æ£JA C´£? ~óO,((H(X,•JuáÂ…„„ï`ÀðfA àl¡ê¹1½ -1Z<~p\©žSÙ IÏ,;z¡ J L6êÙQ½Hç†]*3Í[w~Lœï_¸ù¼*>ÜçíG‚Ӳʜ“ØÓor‚´¨¢núâý*3äʺ`8‰ªT Ѿe@``€ÀL’deeeXX˜——Ã0‘‘‘‡°yòj¥© /@bé¡ B_%7¬*Ýj©¶‰+*0e4UªÅ?û%eS¹_Ú`€²@ƒrÊkË”£Tit4d¿´øg„uãòŠ*•ÑApý¸B$XC ÑHÅíìQvïÞ½_8ÿ‹/¾èÑ£Ç‹ŽŽvþ¨ÓÚ1XÒt¿Îʨ)_®/TXY4 „°ÂÎ@.VOã4%„bPgÇŠ „~â$!9ähh ˆD Š¢1HXŠËea8 0T!¤bˆvw*qÀ•J³ÊDy÷zìD^ÞØ±É‡suà†¢0…a·Í´ 8BçðŽ®$8·þ!9.’Ãqˆ³ËB…@*†¸"q†v쾬ÀxŸëǨ\¤b ´Ã6s„C"WTìá„¡ãzJÆŠŠ¸' ‹@ C ¤bˆ&.]º”™™i³ÙÚJ¯×Ü“ \½zµ¤¤D¡øû9Ð4}úôé;wVVVÞ§$¬Vkvv6jÕHÅþþ¤¥¥Íš5kþüù&“I*•îÛ·Ïd2µjÛ¶m‡pìØ±ŒŒ ‘HÔÞt+**f̘1þüÅ‹7ý¸k×.‡SWW÷矶öðáÞëæÊ•+[¹ZPPðÒK/ÍŸ?ÿÛo¿mþûŸþYVöÿíw|ÕúÿÏ´íɦl6½÷’$ˆÒ,H ¯¨×«ß+*÷‡èÅ{QŠŠ¢WÄ+ HÓH„Ð „ …„Ò{Ov7ÛwÊïõÆÉf²yÞ/þÈsÎ3óÌ™Ï<ç™sÎTÝžK•JåÆ_ýõo¾ù¦¿}ôzý?þèãã#ßé4¬;w¶´´ „vìØÑÚÚÚûéòÓO?A ¿«@vÿž ³³óñÇ?~\TTd¶uäÈ‘¤¤$±X\XXXYYyòäIÇÓÓÓû¬J­V§¦¦ÎŸ?!ÄqÜñãÇGŒqùòå-[¶¸»»/Y²äìÙ³NNNO<ñÄÊ•+}||æÍ›wàÀ’’’Ç{läÈ‘}Ö¹cÇŽðððçž{®¼¼!T\\¼oß¾Q£F;w®ªªjÚ´iEEE—.]š;wn]]ÝåË—‹ŠŠø|~TTTdd¤X,>~üx}}=MÓ ,ؾ}»J¥Z¼x±££cŸæ B¨±±Ñ`0´µµmݺÕÝÝ}ܸq¡-[¶ètºÉ“' b±?'Ÿ}ö™9;uê”9:;räI’üqEÆ—••uèС¨¨(¡PXXXøÞ{ïñx¼M›6utt:t¨¼¼üã?.))±`wïÞ½=±ØŽ;fΜ‰aصk×âââzè¡3fX>ììì쨨¨ààବ¬£G†„„¬Y³†Ïç¯[·îêÕ«R©ô­·Þ5jÔ³Ï>k¡ž;v˜c1 Ãø|þ{ï½'•J§Nú / 6ìâŋӦMkmmŽŽ¾~ýú‘#GNœ8îããÓ_…ÕÕÕIII ** !ôÕW_Í;7''çÂ… 555‹-Ú¾}{ZZZbb¢^¯/,,]PP T* ùsçrrrf̘±gÏž’’’îîîmÛ¶Y8…Õ«W¯X±âÀ¡ 6Æ3gΜ={Ö|5ÓÒÒNœ8q?ôÓAÅî_^xá…õë׋D"óO¡P(‘Härùƒ>Ø_‘ˆˆˆŽŽŽ;wöìãää$}ôQ??¿üüü©S§ ¡PhÁîØ±c—.]:wî\„EQMMM&“É| …¢££cÀ#ŠŠòòòÒëõóæÍ«¯¯?þ¼“““P(œ={6B(88X(ÆÆÆF •Œ?~éÒ¥>ú¨¹3èåå¥R©ìììêêêÔjµ»»»ƒƒÃŽ;š››BF£qîܹyyyýU˜œœ¼mÛ¶‚‚‚}ûö™O§±±‘a’$ü½½†¡(Š$I Ã0 ÃqÜ|î—.]ÊÎÎFI¥R‰D" }}}“““-œÂ[o½µ~ýú‡~!äàà@’dBBBpp0Bˆ¦ió‘C v7 BBBz~Lš4ÉÅÅœr—¨¨kÉ­Õë‘pnœŽ˜ÞÿEQ”\.7'¶„Bahhh\\œ½½}kk«½½}```ß ¼½½ýüü‚J¥ãÇoiiÑétcÇŽ•Éd þþþ!!!2™¬ï‡ŽWUUUUUuvvFEE¹»»———>|ĈþþþF£Q£Ñøûû÷Y–Çã¹¹¹Éd2???’$òóóÝÝÝSRRFe>Œ1cƸ¹¹‰ÅbŽãêëë#""úÎkdyyyUU•J¥ Óh4“&MÒjµÃ† +..vppðñññññquumjjЉ‰ ËËËóöö3fLîßD`` F£)))ñ÷÷÷òòòõõ-((HJJŠŒŒ”ÉdÎÎÎB¡Ðßß_,ûùùÉåò   ¼¼¼†††+V”••ÙÙÙ™cL??¿€€“ÉÔÙÙ)—˽¼¼ú4Ççó===ù|¾ù‘#G¶µµi4šÀÀ@ooï¼¼úhJJŠõe_yåww÷×^{í÷õÒŽ;Î;gÖèuëÖÝ^%•••½ß'<ðÀ<òˆå"ÇÏÌÌ|衇RSSkN£Ñ¼ùæ›=?ÃÃÃ{Rf¾ýöÛ§žz nP±?³Šy1îS`¤ÅÀ×_]WY ~P±¡Jddä¨aaàªÄÅÅ•—(•ÊÛ+îìì|‰|~Oòòò>ùä“€€€Û(»uëVp €ŠýÁp—œœ¼`Á‚Û(+‰Ì“]à.5N…¢K¡P`æèà(up°¦”N§kko3™L"±ÈÅÙ…$m§- bÜ aÇŽÎÞó…«®œEx‹8$mÁKñ£,—ª­«ýð?f¨2T˜Êó{2èÉôçÒm&d büFNöɲ=ï¿=ŒQŽBZcÓG_¬þ5lxLÏ>û÷ï …=óÞt:ݲ–‹?Çx0CåLùûùïc[±ôÅé=3® ÅÙ³gE"Q\\\Ó-n/öØ¡iÆdb,b^„g@hšf!¤ÕjU*ÇqýíiÂq+ÿ±|ñmˆažj%½ ž?°ý± Z¡cžÛUûêõ#;;@—“¹«÷>®®®;wîìù™u4+×7—ñbކ‰Œ£ŒßW}_[ÿÛªm—/_Æ0,??ÿèÑ£¿×9æåå™ç®@,ö£R©ø|>¥R‰®]SÅÆrýë…^¯wrrêó¿ Cqq±yÞò?þèàà0qâÄÏ?ÿ\­V¿üòˉ¤ÏRuvvœuò$Óé¤ýdât:Ý…‹—êêëù|~tTdp` õž†)+¯¸R\l0¼½¼âcc…BÁŸõB744¨Õê»T¹yfhï-|>_ °èLB]¹"–cU*UÏæÖò|@ÉG'[·_ê pl˜»ð©X§êÓ—zMLLܵkWo…2ÆÝ¸¨'†Êùåm­mþ¾¿NÂMMM¥iº©©é¦ã¼ù ´šv…ÊÃÃÝšv)‘HÄb1Ã0 b0Ž‹ù|¡Zívölub"GŽëôúššOOO;;»Þ÷ü­*pýúu‚ T*Õþýûy<Þøñã›››p7 b±¸£££?Cq,[[PÔ}½š Ä!ž@ ×ÃDzÍÐN‘ÁžQáý> N>;*yl‚Éd¼Rtõr^þä ©ýM>ïM[{{æÁƒ"‘(fx4Å#[Z[¿úfÛØÄ¤áâëÃÖÆ«8)”Éýoû*”Õ^Áq"Ð˪éw,˶µµÊd.ƒZ ¢¼¼üÝwßŽŽ¾“Ö’››wÓÆŠŠŠÌÌLóJ$ƒñB{Z†Ð'ÁÛëML„«ÀIDŠxx€Œ¯6²b;K ~©£ïÆY;¶÷F1#æ ø=?;::¾øâ‹#F$$$Xô-},+3bdÒÈèpë; b0¼ÎNù‘#üæfQE…ëîÝ,Ÿ¯3¦\­^¹reLLÌ’%K\]]û+[SSóý÷ß †ÔÔÔ°°0dz²²† FÄO?ý4mÚ´úúz–e-5†i..¶ky<>†cRgŸ®áæ"q⌆–Ò2~T¬ªºæâ¥ËOÌíäè¨Ö¨ ‚pvv¼v½ìÐÑ£ófͲ|‡3 óÓ̘áÑÑ‘‘Ž8Žsvv’ÉœrÎæJ¥ö~¾¾Vûkk*­¯-r–y߉ŠŒ†Ü«'‚ðspg“Ét)/×UîæçëïèèdåÇM™2eõêÕwÒZžyæ™ 6˜k3wB+V¬ bÐ*Æ"Ô×¢èÁcg\®Ý9)Ôþ§%…ÉË #Ro˜Kÿú믗••­X±âƒ>àñxi¥}öågm²6ô¿7cÝØ84ÎÏǯ§HFFƉ'Äb±…Ž„iBÂèuë7¼±r•Ÿ—äņH^L(Ô†„èüýMÚÐPmp0#3 £ÑhNž<™™™ykÖCgg§——WBBBAAB¡HJJÊÏÏW«ÕÞÞÞEEEnnnZ­Öò=ÆÐŒQ­¥HÇq':úܼВòv#çñxÆn K÷}§srÆ%‘9;ã8þÃ?”––ÚK‚ƒƒÄ"þõòrËg}­¬ÌN,I’$AŠ…¹L>bxTîÅ‹Ö{¯½åzsS%Åõ:}åµ*eó ÝÏ©5Ý狎UÖ—ÊÜsKNV4\µ®çPßXWP˜§ÓimÖZ8Ž£iÚ¼ZYkk«ùo ©O3F#*.Fg¿ñàÌy‡ôQû¯¨‚]øžRjG¾ò’0)eâÔÞû¬]»öçŸ^¿~=ÇC……¼þ²C†jAȈ°RÌoßks_“J¥=E.\xðàÁM›6Y^£ !D`Ü™£×|ða»B±ØQ1‘¨;:Úäà ¨«SÅÄpÿÿŒŒŒéÓ§÷—JËå …bÖ¬YǧizÖ¬YÞÞÞ555£F …AèõzÇ÷îÝ«T*Ÿ~úé[ã#Ú``5zRì`Îò^½Þìt!¯6%ÁŸ$p ÃAoÒéÕG;Qª”®®.ííÕÕÕUÕU<ÏçûúúÄÄ ?s&7<ÔRP“_P8&)Þh2V”VèuzsXáããã*—gŸ>gm—¨©¤µ¹Ç»1 g™½Ž©ºÞŒ#;³¢7¢3h.^=Õ©l£OŒs,‚ Wa ð ·TCÇѬÉ×ׇa¸â«Evvö¾>~ä¡zÔÿô醆†iÓ¦Ýö«ºžÑ‚ÇYs¦j5Úµ ­\‰¬‰]\ä/¯ZwòØáœ>AdÒŒÔã'ðùœÚsO=—“°'sO{{{DXÄìÕ³ÝÝÝoçv Çf4uvWWVvwëdö bCƒ›[ó¬Y\¯VF’ä¸qã²³³›››-¨˜££cQQÑäÉ“7lØPRRb^>eY@ÐÙÙɲì¡C‡´ZmSS˲}¨˜ÑÈhu¸Ä Çq“‰­mèòt³;ÓÒØÜ¢öñ”rˆCz£Q§C”]Ox“DZºººŒŒŒ®®®‚‚®®®'žxBÀtwÆîîV‹„ZsôØÑ¶¶6„3™ Óé­ñ˜É¨íèhf9ƒ^]Ë!ŽÄ1’’””e‰ÊÒ#áàö®o©îRµÑ¤F«30,m2qŒpyæ]Ëquò í ‹Œ&âGD„+•ªâ«WÜÝ<\ärФ,”J¥ÿùÏ,¬ïh¹'nþ¬Œ½½=†aF£ÑüþÚŠ‚ƒ°"–H¦NŸ9uúÌA¤w "fXL̰˜;¼Šòr·}¿—/²[¶|¹‡µ+¶‚ŠÝpeºEª\\\¼¼¼,ôÁäÉ“·nÝ:eÊ”   _~ùż¿¹•WVVž={váÂ…ÑÑÑ/^ì³kiPk0†ÅqCXK»º[­T¨79ïì¥:/{Ã3jõȾsrpèVwGGGÇŒˆùçÿLJLJIN¡ºøj‰Ÿ¯åóõõõnji xéÅ—zéÛÞÙ)µîKNO$—{×Õt#Ü!Ä ‚6hpc›Pìb4Ñ,ÃàÄmûjõE®V«U.䓉pŒPk•1aIJ†a$ArË!Ža''GWW·²²ë5u5I c,wñ¢££ooæBˆ¦é[§ßZ9gH@ ÄRi„½lbr}æ\§¢C§×rÇ!Žã8ŽC—ó }}¬Mí;¹zûFðø2)\9Ç ;†Ö!„vàT7… ÄðÄÜž6rN±,;"41Ìw€€C†0’¤H’"q’$)'šššºÕj?_ÿ³Tw‚@ ð¸>Ÿ?ˆ*4mCè„Ö ÔqÏ5øð¨á­ÿ(2,¢­«Ûz?‚ŠÝ±ÇF•J¥P(º»»Íï›0 ›8q¢åO%b&“ÉBCCq_±b…§§çüùóÅbqHHÈœ9sâãã¯\¹¢Õj###û,®íRð(†°úÆŽŠšÞdÎóxÚü¢J–åp„´]Š>Ë&%$´´¶_)ºÚÞÕêààÐÔܼwÿOB!ß`4XîæHíí£"£rÎ]ljiRv+4ZR¥räÈÌÌÌ©S§šßýú€Âñ­[·1{öì>S0Ç©ÛÚø„!?o—WžŸJà8Žã~Þ«^ñBÂ1ŒGR&µ†ëëý–P(œõÈÌÙÙÇŽŸîîîÆqœ$¨‘11ÇŽÿë¯/^°h\òX Çœ2fLÑÕ«çÏçiuZ“ÉÄçñÝÝÜHI^¹êI&-œÿ”ui#Lîα,O 54$%4è .®b øñìãØRZ‹a8Íx÷­¹%³æÌ‹ŠŠ°~¾¨Ø=Á… Nœ8¡ÕjY–Åq\,Oš4‰¢(+‹{xx0 ÓÞÞÞó…Žã233ãââzK[oŒZ¦KÁ3âFÚˆc¸ùm†aC‡±‹0d2™LÓÏX$@ðàĉF£‘¦ CÅ3G(ÅW‹¿ùö½Aÿàĉ;*""48Ød2q"I‚Çã)Uª¸Ø¸3g²&ãâ ì­¸8Ž“¹†šhcEÉa’bÅR?÷Hk^ÞyÊý Ë…F[ÛT™4l’PÀ²¬ù«nÕé´eeejµ:$8L,c6Ÿ¡åääD’ä€A«R‰jkQw7úM뤽ˆÐR„p„H„°›U¬K¡Xó¯/² $¸sÇÑÿ=vlvò…é‹$K}‚}»¾?ñŸ÷c‰Æa[u’zý»-¯­Ûâ8¨“R+:È÷М×ÿú2E‘Ö{Tìž`Þ¼y111µµµƒA$ùúú†IõÌûÁ0ÔßA$Éd²ÆÆÆÓétííí#FŒèOÂBFŽÖèj[;ÌöÛ ln<2§«ìIOÆdBýHªù#¸½33‘á Ÿ^°ýûïvìø^æäŸG–n–e9–KŒ˜räâžM}UÃ5_·`@@Q¼o‚À9ÙÛI‚5|Ÿã8ÖÊQ[ýÀãñŠ‹‹oÝØwº@‹Þ{íÛgΟ¢ßN‹¸y¼~oög>v=€òžðk;=½ïÂþa's¦?<©gŸ]»vååå………=õÔSA464œþêŸi¢zÉ!„yF/}þöͽ¼jmï|HIIÉÎ;W­ZÕŸi¡Pà*shíTjõF)²Þ- b÷R©4>>>>>¾g‹]a¡ã™3Øÿ^?Ñê P?ïï0 ³³³ë=Ί\ûIDATœ@±Ü y<Ïèc·Ú¹ÅÒ †cˆå8ŽÃpa!Œ'aƒü„bò˜1$I}þåUÕÕ–UìVœœ^JOÿxóæ’ÒkÖIKÓ Âùbû±N †±"YÄ1 KàdB胥õ—E®4M³,kMš‰ Ȕ䛒H$&Lôû1Ü¿‰ØØØ>Æ!“ ñùhÊd¥Þ~»?s\†õŒSÁpÆáí{¿é­b¡¡¡©©©o½õÖœ9s„BáOû÷Æ¿J˜¹€½œ—Y]ù|äÿf\±,ûÃ?Zr¬Àî…eË7mÙ¶fí¿ž_²8Ðß0 Óç’‡´ª÷Üo‚0R”Èb£÷7ÀE"Q@@€J¥²ðap¡½]ÔÓzn Ã8ŽëÝÇøµ)cˆ§×#£qPç•7<:ÊB$h™ìïû›5a †aA …Š¢„!IæŸEa9¤Â0œÇ£pçñxÎÎâ8FQAÖO'ìIÅÄÄXÓü Ñ?þÒÓI"ggdeÿ¬½SC¸ÜÐÐpÊ®­EySâìwÞ‘J¥æÄZÚÚý¨›/ePi{åì¾ÿþ{†aX–­¬¬´0Ðä‘ÇŒJ§ÔèÝÝä2ô—UáÄbúÆ·“B‹wõèÑ£{߆͚5Ëò;xwÆÊƒ¤ßÂ0ìN–‘²~ôŽãF‘$Õ{èü€½B³Þá8Ñ[gïjz‹ ˆ»:ãætÑhGf^¨Õ`@V.â/+3t‚ßFœ2ºæÐ@Þûttt<÷Üs[¶l¡i𢍰àºsTõ[˜É!d°÷ptümy||¼§§gii©åIRþÁVžcpp0¨Ø=ÁíE+·rëôËC4BÂ?ËhÉÛVìÏ»n˲·—ƒ[<7ñí͇X·ÇF „8Ž*,X>á¦Æ–““3þ|s«K›1ó¾t5:ó8³„•¨ù„¹¾~þ½'88˜¦éžÔíïÕ•à&Mx@¡Pmݳ¾A„#ÖKT–þÂq±7$7SRRRRRz?/—®Þ´mãZQE6ŸÖ¨Dn’ÑÓW,_qëKö‰ßYß6 bôîÓ‘sg?’”[[[‡ã¸ï$/OƒÖˆ¨èÿû`SyY™V«“Éœƒ‚7£T €ßÇ}}}|š {ޱqñŒòÂ5³=z½ÞÝÝ=55õöžW---ð%7û#yfÉ3ªö&ð€Š U(’²fez¬êƒ ¸- /öÃãñ¢££q'*64‘J¥o¼ñ†õK‰*vÏAÄ –© 7БT T T P1P1P1P1@Å@Å@Å@ÅT T T P1P1P1P1@Å@Å@Å@ÅT T T T P1P1P1@Å@Å@Å@ÅT ø³ÃqLiÁ¹Óç¯i¼€ŠCMÂXãñ=Ÿ&'¦Œ ñéWÖêi|€ŠC‰ŠKÇ–-_Ù®gƒö‡Í«×|uˆæÀ+¨0dú’¦­›6\kSO~üÅÕ_Îã ß}½¥²U ž†$¸à¾E]uæÐù\¿„™»¾ú7OUSxtמK:kª‘k8€X \+lno'^Z¾ÜžOò¤ÇoÖÔÊ1ÝàT ”©Ô˜Ì9-m †âŽ1|OŒtÏ bÀÐ@ohSx”‡Ò´iê/Ö»Žˆ‘zû€gP1`h€a‡ylÅ¥ —)'$ ” À3ÀвûZL&SFFÆÉ“'år¹H$ºu‡‹¹—Û;:Ö}ø!£éÚóÍVÆ3UŸlXoEÝÃ0aëÆÃqœJ¥²³³ÃqÛ=}õz=ÇqB¡Ð–§©T*lÚµ7 ÃôÙNî*•J,*ô MÓ;wîܵkWVVÖØ±coÝágGi~AñìsÞyúÑË•­?»úó¾HâØ€5w4^_ûî¿ßß´ùÎÛß`uù/ùËš5kœœœlftß¾}jµzþüù6³ØÝÝžž¾mÛ6[ú633³±±qÉ’%¶4úꫯ¦§§ûûûƒŠÀçóû %B¥"«_·æ‡.ù|`õÊgíÄ?нjÛï|¶-cý—_ÛXÅH’$B(Ú22âóùF£Ñ–M&I’¶´h>MŠ¢llÔ|šwnòb÷/nnBº»uËgÛp©ïÊUk‡{Yàœ>¼ÓîS4s•€{P±û—fm«ÂĘôØ›ÿÚøäÔQÖQ×d]V8x‚÷€{èQþù)//·³³»¹chP¼´ô5­zŸÄÉ‘nEùùÖÚ4ÿýb˘ÙÏþ´û „P~~¾-³ì!š¦;;;¯\¹booo3£UUU&//Ïf5MWW—--"„*++[[[ml´­­­¸¸X¡P€ŠÐÞÞÞÔÔtƒèº>_ÿÿrÊ0 Ùû:*Û[Õæô9î\æw¤ÏX1Ým2™BMMM6V1†a´Zmss³F£±™Ñ®®.Nw“ï*Z­ÖÆBJ¥ÒÆF5Mkkë·"P±?? )))½·Ûþᩳe”ÛÄpaA‹ÓƒNá‘´¤®¢SŸ—u?'joo§i!Ô©`žšêìd»wó&“iÿþý“&M²å;JN×ÝÝ=uêT›YT©T{÷îµ¥E„˲õõõ66zðàÁñãÇÃ;J`дV\Xµvƒšáæ-ziqj÷´G†A©˜ÄwøG¯cq !$‘HB £‡KÄ<ð'ð‡*vß±÷‹uç‹ê„NQ+ßXŽ·_ÁÕ”i Ãø”åR”4ÀNŠ8Ö`4ñù| ü<]y<ü üáÀ;Êû ]Ë¥UŸüDÂ¥oÿ=ÜÍÎUäïHmøvÿÏ2Ï^,ÐX´šÖ—}øáºéÓ§¯^½zã'ß5·ªÁ¥ÄbÀ]ç¿ÿýovv6B!¶ ç`›FoïL×_}oõ;¥ùŠ5¦so,ýÄB±ÜÕÍ/0täˆH>a1ÛÏ1J…Bꈾúr£õ‡¡êª**é#y—àJYõ4eY¶  àÃ?´rœ$Ç(ò ®éõ7K³½_`”‡«•‡]\\l0¬Û­­¾RßxóËÊ^!!0kª0 ÅÅÅkÖ¬±Ö³]]UÔØ|óò–<©cxx˜·Êèµk×T*UGG‡•65ªÚ‚¢ú[·ûŒ÷X«*¹¹¹Ÿ|ò‰£££uWSUx¥T£¥oÚ.ööCi½(..总ÆÁÓÓß?™ò~áÃÌéñù¢E‹ŒFãÝ0§ÕjçÌ™ƒ:yò¤y‹IÓôììáaóWoã8îôÏ_„{Ép ã‰D2™#"BR—€ÏöŸ`-Ö\ýâ¬ÉhšÔñœüùÅ[›&†ãŸ5ª­¬Áh4.^¼¸££ÃÊýõY!}ÌFLþ÷ë{÷îÝ[·nµrg–î^ùr#ï\“'œS¬¬D©T>þøãÖ!cêxuéð[zLJËë¶¶ieddlÞ¼Ùz£—Nþ_ŸZ³®¼ÕúJ^|ñÅÊÊJk¯¦âdL´ìV‹1«ÖAò>BÓ¢ª=U&E,›––.zÅ>rüßá™4õTI]áÙCãbü•m•/-|¾´³ßu«Mª¦Õ+žßu ü @°5ZškT›FLáìÕž»¥]6|Ç¿>ò«ýnó³?ª›Ôq£R?^ûž¯l½öõÖ3k_Ôg%ûwïÚ}¾¡AedTÊÿ]¹òÜ-Áæár·æîñìÎÌ1Ü’ì»yÞ%‹.JÿÛι‹u7ßfb‰¯˜ºKFqBúו».ÓßÜ•ØùŠîÖ >ê¥+Wž¸u»›·ãݺš’Q?ìÍÖéoîQ ån b÷Ç!„HÄI<Ì-ÚUH”—uŒŒñ‹sãËÃÊ5 e-ÇÉ#Ƨ%EFT¶^h(ÞG³oMã´_=ZØáäîëÓÑÑbŽó­?‘Ä-2ÒÍÂáYyƒ°‹‹ƒ‚ÃîÄb9«÷Çä®rWô»µ^Ç\Ý]ÝÑïâ[+M DòÈH¹M}‹‹C!»O9|øpmm-BÈÔ݆¹*Êò·oß®n¨-¯¨ÜþívÒ„1Ú~ØÓR} !äDÑ¡ò²âo·o'oT1“^ùÃ?O|žNÙ‰úî»ïl?v¿¢¢b÷îÝb±ØfFsssu:EQ6³¨×ëkjj¶oßnKßæååuuu™GÚŒk×®ýøã...У`øðáñññ!Ä1í•Å›³k¼£bý“Çþ¿ˆ¨pyš»]u…(åÕ„PSÆV„PxÜ“©ãnîÏѺ=ÿùxβ7Sc|>ß°!”œœlã•yhšþå—_m¹‚ F£Q«Õ7M~¸«¨Õꌌ [ZD™L¦ææf=zôh||¼··7¨0r¹ÜÇç×Õô—¾øÂ§_ÏÈΫMY8ùͽ)”8JG$»^»šëåó6«o:U߆ÂÇ—Îòñ¹a–OÛ…ÃGN]ŽgU^Bmmm¡¯¿Í|þÙùnö¶¼ÓÄb±———-g Éd2>Ÿßã@`^Õ–B...ƒÁÆFíìì<<<îÜ(¨Øý…Ä'vÓ{ —½µ3m|õ™GŽ’Åi>æBsëåOßÍ)¨˜‘þÏ 7çh]â'efÿšïÏÊÊjhhxûï/Ø8P1!„&?ùÚku]½·"çèÁg?æç¡Óù¨w.˜úIÕ=kù[«ÞXLô3T’¥•WŠ«iš ……W®‡†‰„¸î8ŽcV]]íììÜ{{ÊÌg$r¿Œ_²^_¾„Ãqµ¢Ó é6"þ_ß|=1&¼³±¦³±ï CCFæùéÓ§OŸ>ý@æaFãè`»5ŽišV*•¥¥¥R©ÔfFëêê4Mqq±Í,j4•JeK‹¡ÚÚÚ––íìì¼~ýºV«½Ãz°´´´žk×®ˆ€¯Ûß-)ü4[¡@ŽvçßÅhmO>âóÏ?¿¯À†ÉËËËÍÍutt´4Ea6ke½Ò¦Í฀%pOcÒt>øKu'=í±ÙÞN"„)öÄyŠ+ ÄrT r™pÁýÆ–wM›ýÔòç>0q浺v„NH0\€A[@Å€!Aóù|–C¡ªüã'KKBE9­mqæˆáˆ bÀ=ë¸è_¯=)væ B5y µÊÄá2T î}¦Îx9ÜÑ’x¬Þ¼uJâH–VöÍ'J»Ð%iCN Š@vÿ¾Ã䨮zåÅUŸíؼ¶ðø>m[Íù¼ŠW?øtì07p±0À~ÚÂ×ö~·9.Ľìj¡šp^÷Õw/=1•„@ €X 2Ï.Š?jÜ´/ÇMW‹€Š€Š**`sþ?WCLªh ßIEND®B`‚nted-1.10.18/doc/docimages/text_dialog.png0000664001041000007640000017164711520267216015267 00000000000000‰PNG  IHDR é[¢sRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÙ  a™wtEXtCommentCreated with GIMPW IDATxÚìwœ]eÿß§Ü~ïô–©)“^H%UA 꺮]QÄò£Èêº ¬uÁÝõGYQĶý‰¢@DZH›I&™L¹ÓçÎíå´ß÷œ“{§‘„$&™óy½îkæ¶çœûœç|Ÿoý|…Ç|óßò¶<ðÀRÇó A¯Æ ºa Áw ÃAÀÐõÿ›Ífïºè²ËvüùÌ÷§ßþöã³þGv»q»Ý<ަiö@‚Ù0ŒI$I’s¥88áóûÉ¤Ó ¾Ò5 MÓeÙÈår‚šËÑ×ÛûÏ¿ãßyॕ55Û½>ß„/z<æ.\h?ïëëC–eª««'=Ðö—_v„§ ü–:躎¦ëE²!“N328¸Lvy%ɲ¡ëú„b-Ä\.ÇöíÛ¹îºëøÉO~‚ªª¶i&Iºybº®#L²xœ,ëÌ ¡¹™²ŠŠ ‹KUv½öÚ!k¸º®3§µ¯ßOÇîݨªêLðI¼.tMC×´"dn·EQìç²Ë…¡ëè®]×'ÈI– >%›;•0™‹ÅøêW¿Ê?þã?’N§ùú׿Î?ýÓ?ÑÝÝ®ëȲ̽÷ÞË%—\BEE‚¹ë98y1:4D"#XZJEe%ý½½d³Y ]Gü’$¡är$ \.Á’RÉ$¹L†’òrTU%“Nãr»‘$‰PI 𦙏ƒ:8i4c½@2 ·ÇC BQU’±>¿—ǃ¦($âñ‰ß-ö' ²a©H“™`æGFFxâ‰'ðz½´¶¶244„(Šlݺ•íÛ·³råJ à ËS:¨œHÄã±¢$QQYI4!•L"Š"³[[ñ¤S)¡ƒá0ýá0-ÕÕTÕÖ2<8Hóœ9´ïØ$Џ\.A TZŠa  ¶çàÄÕ€²é4Ã0–” ©*†®“I¥&j@†Qô]A0ØRºNii)K–,á׿þ5eeeÔÕÕ …E‘uëÖ166ÆòåËijjbûK/9NèShÑY Ã@”$JËˉÇb¨Š‚(Š”WU1Ð×ÇÞ¶6–®\Ióœ9 „Ã$âqt]'™LèÜ»%—CEtÇD?y5 Ã8è㱬¤h”Òòr2™ n·›T2I*.6Õ¦@2Ói@†n´··366Æèè(wß}7ëׯgÕªUhšF(Bâñxþ@ŽŠ}J Ý´ç-Á‘ŒÇ‰E£ "ˆ"š¦!,LÃÚÐt|ˆ®ëhš†ž8ÉÐx÷ŠaàóûQr9\.ªªâv¹ÈBQúŽaÊ‘ È6Á4mJ h,ahhÇÃòåËI¥RìÝ»¯×Koo/ííí¼öÚk”••r»Щ"€Lc™áJ.G<¥fÖ,d— ǃ  ÷÷³bíZ2é4Ì[´ˆáÁA’ñ8™tš`I ³[[Qr9:ÚÚ(éIí*„ÛãÁívƒ J$ðø|(ªŠ/ NТ ¿]d‚iS¨ÅÐØØÈ’%KˆÇ㌌Œ°uëV>øÁp»ÝüùϦººš––z::ÿA<£·«‹l6k/¾¶;¨¨ªÂãõ’ˆÅˆŽá‹D$•H É2`X4JgG©dÙåÊ(tÝ ÇŸœê0š™LXxõ”\Ž\.G&•"“NÛ¾A%›Ík@…Zq^êi›`ÆÈçóqå•W¢i\uÕU„Ãa-Z„¦iÔ×׳jÕ*$IB’$´µ9QŽSEE£ÄÆÆŠ®§’ËÑßÛ;A>ÐÑaÿîî¶ßS…Þ®®â]Ïñ”æøø(€®(DFF®EalttRí À˜D6ÈÅåã,Ë2¢(²oÿ~zè!Î=÷\DQ´Ui—Ëe^Ó4GÅvààÔ3Á&‰‚Ž9oLaa þã Y–'ý¢ Šøü~0 R©ccc466NÉ’ñ¸£9ppªi@ä˲2ã¢[‡£A†1!B®ªjÞÓ¦ˆ‚¡i(Ѩý4 266æ\f,Бšp– o¾Ë†a ) sçÏw’8p0)$IÊ  #±pÆÉAØ·g¢(" ‚€a”UT8ÈÁ‰¥úËqpb_«CÑDQÄ*~ùXž,˸\.ÒGh;:pà›„&ÆÁ A “N3‰°{çNJJKíDT+{ÚÐõƒA+·›e+VØ_?fH–e^zé%~~ß}|óë_w.”ƒ#ö=8¹C'¸öcþ;>õõõ6[†¦ª¨ªŠ®iHf kGG±œx½ÁÝn7¢(b¹\Ã0ðz½(Š‚ÛåB7Œ|µ´a Š"33ÒÊÈårx½^ Oë¡™¡<·Y)­ª*¹\Aðy½v(?“É8Z“ƒIëÞð¦ $ Á 3ÁGÇܱÿºqìÊùiÌéi“vÉ$Ÿøä'Y±j—^~9ÑhEQxó%—ðèc±låJ>ðᣚB¥«»›7½å-œ¶j?úñåW\ÁêuëøÛóÏ#Š".Yæó×^Ëâ¥K¹é–[†BŒŽŽ²ñì³¹ñK_bÝgPRRâ\Xù’£ý0 z{zò7̱†=¦òõ´íÝûº~!q¼ß¦èMAàsŸù {ÛÚ¸ò£å]ïyÁ@€ÎÎN^~ùeöutP^ZÊwÞ‰ËåâýøßüÚרþꫜþù¼ð |ï®»øå}÷ñ©«¯& òå¯|Ã08ÐÙÉöíÛ¹õ¶Û€W¶mão;{öYâ|"f®ZoeàÍGQ¡­®“J§hŒcqn'Û9L–h»ÚÚ•”Ð74”/LžÂš‘‹ýIªª2£( åÕÕ<ùôÓüë¿ýš¦ñâK/á Hg2|õ+_!•Hð¾÷½û~ùKúp¹\¬Z½šœ¢ÐÒÜL_]t••‚A≲ËÅsÏ?Ïï÷;R©7ÝtŸùìgùÀ?ý¥¥¥lÚ´‰t:;={jÏGum-¢ Ø,›Gßb0:IuT*EUu5ÑHäÌ~MU9ÐÝͼ9sø{ÅE!Ü×GKsó fìéè`nk+^Ib4!<4D}m-®Ižåñ¿Î={hœ3‡Yõõ<þÄl{å~ûë_3ÒÐÔd ÙåBÕ4DQDjjjÈd³d³Y»BV”$»lC2½à¢,SRRBww7Ë—/§§»›ÚšQ̇ådI’X}ÆGÝöwpâûz{z÷öÒÔÔdk)ã5tÃÔ΋Šéc8"ŠbžjÆÔ"BÁ c££öVûARŠ˜ÇEÓˆ%¸½^Ò©ÔÁï™ÑžBÇx߇õ¬ô«MQUÁñ ǰ^EEUIe2H²Œ’ËÑ<-Ø æ457ãErÙ,^‡ºª*Ü^/†IÝ:¥¦yÞ<*««I§Ózûúø·¯~EQò“'Äb1;2¡i©T ¿ßÏ;ßñ>û¹ÏQUUÅéë×SSUe‡à °Íªë¯½–k>ûYÖŸ~:O?ó wÜ~;Š¢‹ÅòÜ0H'“Î 9QYUEdd„t:Ïç³y…²¹¯lßNsC¢ÛM*‘`NSÙ\ŽýPQYI<§¾®ŸÇ3­f¢ø~t]çÕ;Øp晼²m~ŸÙå"žHPYVFeE»ÚÚ(++ÃíñP 1<2‚¢(ô„ÃTVT°ß>\²ŒìrQ[[ËK¯¼Â†ÓO'›Í²wß>–.]ÊþýûÉš™œ¢à’$tÃÀëóF™Ý؈ èîÆ * %¡¡@€W¶ogVm-’,£qÖ,FFGI§Óô RSYIo8L6—# áv»)/)±Óq@ö"Ë2~Ó’²…Œ$ªNÍœ UTV’ËfXºd ?ÿéOÑ4 ·ÛÍ ×_O2‘ ûÀ’‰ëÖ­cåÊ•(ŠÂõ×]GÚ´§=’$qÇí·ÛäÕû÷í#sÆgð¿¿ù ªªrã¾€×ëE×uÂ==$S)'ú5ƒaUÌ[ ½€—(°héR"CC´Œ*/§gçNfÏKUEáp˜ŽÎNV¯XAzš2–ö¡™¢$Ù ‰©TÊ.ß%‰Ù³gSSSsȃÉ-dR9èfBâøH–Ïçcïž=4ÔÔäM¢ÊÊ<ÃçtÎë'´Q0–³(hÕÌ]k©¯gpx˜x2IYYÙÁs0ÇÐUÙÌmK§R¨ªJ4Í»ÌÏh¡k}\(Ûãr ™ÓÔ„a$S)†úûóšCÕ-‚€(6‘ ¡ëd2j++)/)áµ;Y¾bƒáðqÑ€¬ £¿·—po/gžuVQî_*™¤m×.²™ÌºG98¡a“Y·ÛŽ`¹dA( ‰&¼º{7%+O;áÁÁi£g¶ØBn·Aì1-‘×ô%õ Ðãv»Y¶t)Ùd’²Pˆç_z‰Æúzûû–¶ÖÒÐÀ޶6|^/ÕUUù¦Ž¢ˆ(I¶Àóz½vÝzO–$J‚A^Ûµ ¨¬¨ ¶º:Ôá w»ËåBE<²ÌKÛ¶ÑÜÐ@2™¤»¿QX±|y>yšð÷QWXÉg9¿íŠ+Ð #o*J>ÁØçcý† üùÑG™=gŽ#€œDÅ%#Š´44N&ó‘–úz†À0(…¨Ÿ5 Q°Íš©}¦b‘&5¯¥…¡¾>šêë3«Nc#éTйÍÍøü~A HÍd˜U]Í\óf ú|D†‡m?jÀçcÙ¢Ev„jthˆªÊJ2‰„­1,nmelt]ש,+Ë¿x].–,X€ËåB×u2é4 æÎe°¿ß¯—l&CC]þ@Ý0ðy<466"™†ÍÏ—só8-sæ JÚ¸h—Ez¸`Ñ¢ íåé.¼PPRa=Ípùd©Õ†Y–a©_S©k¹\]×ñz½ÓŽ5áø¦ýþF‰ÍUUE„¢<#Ã0Èd2Ó?&^²B¾^Õö¡ÌËøcOÊQ® 3Íún–¯ J!šдéð-|: HE{lòNkAÈi~_-Èâ-ô)‰’„¤ ^+ü@&“9x@³%Q&¶?cµ:¶ž¾—5ÓY Qø~ÎÏw^…sP8oÇÜ3×fݬYSjžº®S[[Kç¾}‡&€A —ÍòÒóÏ“Ífq¹\(¹n¯—Õk×â1UÈÂ#—ËÑÐØH&žÔ (]]]\}Í5,[º”5kÖð¦‹.šà|.ÌeØöÒKDFGq»ÝyµÎ0X¶|9U55Gtc ‚À‹/¾HII ‹/.Z0ÕµµyÛ» Ûªqëìè`_G‡Ýl/›ÍÒØÔÄ¢¥K§U÷-z×ÿüŸÿÜç&ýl$¡yöì¢c‹¢ÈÎ;Q…ÕÃ3 Ò1 øµÖŒ$IN®Ù@Å{Hó~HH–eþÃX¶jóæÏχÕt}ûöñÔãsÑ¥—¢N’XTRZjÿïr¹lOxÎìÔÞÞÎ[ßò>}õÕ|ìãçÜÍ›ñx<$¾$I<ñè£øC!.¹üRQ¶oÖ¿<ü0›/¸—iÞì.—˦±„¢•ܨª*Š¢°aÃ[0H’„ËåBÓ4üSh?}½½´·µqÑ[ßšÏM1 EáÏ?Œ®ë,Z¶¬h![BËírÙêç ×_oØZó¢(Š-Ð,mÌkäêºNûž=$“IN7sJާM¢@4wú£y­­ù¹tR>Þ°ïçÌ <ÕEoÛ¹“ÒÊJ,ZtPÓEZçÏGËdhÛ±ƒùæ{“¡7æšk®!›Ë¡k÷ÜsJ.Çu7Ü€a<þøã<ÿ ìÙ³‡¹sçòío}ËÖ„A`h`€Œ¢pî9çò±îᆩ¯öò‡ÿ³Œó/º€];v±bÍš¢>d‚ pÕ'?IEE»vïfÿ¾}\sÍ5¼úê«ìع“êª*îþÞ÷¸ãÎ;©¯¯çÒ·¾•Ï}þó´µµ1{ÎR“䎂À¾½{9÷MoÂï÷Ûsáñx¸ø²ËØúÄä2ÜfŠ‚%¼_}õUÞtñÅ\üæ7#IÏ<û,;·ogÿþý|ä£Åï÷³páBî»ÿ~ö¶·£i×^{-/<ÿ<@€Ÿýô§|ñ‹_Äëõò«_ýŠï~÷»464Ì4RAÓ'ªŽ®D‘ÝÛ·³ùâ‹‹T'ëï‚¥KùÝý÷³pÉ’É«]믿ž[n¾™µ§ŸÎ|/|á Üß}üû-·ÐÓÓÃUŸøŸ¸ê*¾òoÿƬY³Š2'ûûY´t)¯Hòƒ'úAdxÏÿÝEû·×ÒÛÕŪuë&4Bôz½¬^½šo|ýë¼²mçlÞÌþŽJKJøØ'>Áðð0ÛMWWÉd’?ýéOìëèà'?ùɤ(™H 'õË”›‰›…È"ànnnæÎ;î@EÎØ° ƒÿþîw¹áúë¹ì²ËøÕ¯̓ü£=Öç?ûYªªªøìç>ÇÞ½{¹ùæ›I&“|èƒDUÕç %‰Îöv‡©óDÞ#t–yóŽ®z]Éö:7¦ª¤R)Þû¾÷ÙfÎ9眓Ï>534­0¡jþ?•z7ŽMÖN›òØšÆÊÓN#—ËÙ!Кº:’ñ8Á@ È‰‡ijjÂ0dS9‰Õžꪪ|7Ó!©¬^½šL&Ê+l.Š"õ¤ *ÊËmB'½`~fšù¥ë:³Ì„ºcáÜvz”LÕUç6™©¤ÚÂ¥KÙ±m›½£¢mÇæÌŸ?¥0d™ÖÖV>û™ÏÐÑÑAÛ®]ÜpÝu(ã|F²,“I§ ˜ýå‹nÞº:ÚvîdEK€nªÕ ®ÂÍÏ?¹ˆèè0 ÍÍS:eÁjºNëüùl}î9¼^/Û¶m›4}ß0 Á`>;ÕŒÊ#2:Š«@û™ÒAg ™eË–qÇwà ¸÷Þ{ón“|Ï0 |>)³Û¤Uä8Ó`E@æCþö·¿Ù×ÑyùC×õ7äȧºè‹–.elhˆ½ííE7c4¡sï^.Y2aÈ—kºÎwn»W^y…`0ÈÜÖV¶oßnRË’„ ¼ÿýïç‚‹.bíš5DƵû©©­Å-˼ðäÜ{e+Æ/Ρï»g°¦ÅÏËÏ¿ÈüÅ‹'5ÿ,§n¡IfMl&šÉf•~mM —]z)eååÜóÃNY 2wÞ<ß²Åv"[¦Ðk/¾ˆ$Iv‰Êx É] \,Asíÿù?ìØµ‹’P(OºfV\?O8ãŒ3¸çÞ{©®®¦}ϧFî(AÓuÖ­]{L¨>¦&úç?þÑPU•5gœA_o/­‹¡˜©¹l–W^|‘`0ˆ,˨ªJ&“a銓†á¡‰X È×ÕXyÙtÚŽúˆ¢H6›E–e¼fãC«¸µÐ¿"Û^|1¯ x½è†A"§eî\;d>žêÀï÷“5{S‹¢ˆ?´ÏÇçóÙ)º®£ª*n·—ǃ¡i’D<-Ê3²"Zû÷¯òòr€¼f°hÙ² Ùòù|>‰‚ IÄã¤Óiü~?Pˆ¿å^}õU~þ³Ÿ!¹\öyz½^TEA7 ü¦PL'“Ç¥¸ðïïÏhß¹“²êjJ‚Aâ}鎞o;-UÌLÝé>7MßÃË@0H,#—Ë1«¾Þî!¦)J¾0VÓL¥cGKW¬àÅ­[‘eyúDD·Çú3ΰÚ)åã8O QØu¼I#”é ‚€¦iE97…Ÿ³.þòU«V-›ŽIK@Œ?¾ ö1­1 ÏÇòÅä h r¹\ÑóñIŽÖ8³çÍ£iöì"’$IEIš…ßÑu¤i¶$MA”N§9ûœsèîîfݺuüö·¿ÍŸWvaJBáü87B1ç͑Ή$Iü顇¸è ‹Ì‰ñóìÍ ÄÑþ ã7Úë?z='« ŠÈ“$ƒëI+\`oÄÉu4QXù$saUUUìÚ½ÛzD<îô¿:ÿ™…Šêj;ÿkdpõu´˜IM0Mã’‹/¶7I’hš;7ÏAenŒ£ƒƒ¶ð/Œ|]o3 ¸ðu»ÎlÜkEÚ½(Rm–Qtïß?!’;c$I$‰ƒæ•su¡:>ÓÚ<Åf·¡ëH²<é¦g žÞ^|~?•ÕÕô÷öq¿òñÏûzzE‘òª*d— Ï—×Z“IÊ++ñùýhºÎÈÀªªRY[K"£¢¦UQê볓`«êê‘áa²ãûâ#èUU3þº  ÒŠ öìÜIËܹ²Œ88RˆH$‚(I¢ ‡a¸Ünr–Íâ1³ÒD“}ä±Ç8oóæ"ÿÛãA”$Üq“XÌ¢HÄã âóû©ª«£¯« Ùå ҳo•55TÖÔ0Ø×Gm}=C¨ŠBM}=ƒáðíÉq€O"€Ü.³g3‰äË,œÝÙÁq†Ï狀®nÊЮqÜš¦qÁyçMÈ?ó˜y`£CC¨ªŠ§Pø¹\”VTä#½^ožLF”$ñ8•55H²Œ(Ë6÷e":É”‡ €,ž’ÃIÈsààX˜cãoXAP @’|S„l&sDnAÈårvr ‰X,Ov?Î\r¹\„JK0 ¾§aL°8¬§ ”Lg~ž²®‡iÞ9 ;ŠGuÁN±•\É墼ªŠÒŠ "ÃÃöuü¶‚ü6ë5c’ÏYee”VTØ´ã#¦VÁvllŒÊšÊ++íÂâBèºNyU^Ÿ²Š B¥¥§”†¤ë:“ëHÓ4â±Ø”¿Ï!$spR-쑼Ð1³pdÓÔu%‹5(ìêè(jõÅ)ƒáp^32 ¢££‚@_w·ý¾ª(y.iQ,ê/6>mÀlc££ŒŽÚZÖ)u4‘áa|>šª266F¨€%cJ h<úúúèéé9¢ üìÖ­׊ƒc¢“ä^î8ýýýE!r{¼)ò‹, ×BbLÑ¿k¼9Y¾ÚøVѧ’õ!»\,\²—Ë…Çëeöœ9S6R‰¢È«¯¾ÊÖ瞣´´ÔV7ƒ¥¥¥6§ma' ÉŒ^|å«_¥´¬lB— NLÇ|éàASUìÛ‡ªªä²Y½½SFý¦@Á`}ô£ÜøÅ/²`ñb:;; ‡ÃœsÞyÌž7O}úÓ†Agg'çž>™L†‡y„·_q¼øÒKÌmmåŸ>ð E¨ü=aeeeNdêÏñdÿOë*,·H§ÓÜóýïÇùà>ÀÂÅ‹ùÃpÚêÕü˾ÀÃ[¶pñ›ßÌï|'_úò—éèèàžïŸ’’Ö­]Ë_þüç<õÆ ÎôtpØ+7_ÞÇ,VEžñEÖ®Yã¡c1¿²ÌœyóòQJA ¡±qÊ”ž"$ˆ"©d’ÞÐu¡áἩE¾Žj4áÜ .°½ÛwÞq^Ÿ^y%Í--\ýõ465‘Ífó”ä³Ww¾ð”œ?8Gp{½445MJSrÔL]gíš53’âöx@UöutÐÐØˆ’ËÑÓØÒ2©¨H¥“I†úûY¼b¡’z‡†èíé! á÷û©««ãwÿû¿,[±Ýôn‹¢È7ÞÈ~ç;Üwß}¼í²ËhiiÁ0 TU%°æŒ3œ¤F‡¤ýDFGéí顾¡á˜ÖZ…ÄŽ>DQ¤¼¢Â.Ø•–N)è‹®p,eÞ‚¸ÜnÒ©«W­âÆù¾ñ­oñÈ–-<ùļ÷ÿ‘W¶mcÁ‚üøÞ{ikkcdd„w]q‹-âCùÏ?÷ûèGi™3‡³Ï>›ýð‡¸n_‡ †A&›%xŒÐøjxGYI••hŠ‚!Ë”N#€¦å¡ˆF×u¡P‘Æ$In·›d2‰(Šø±'Ï8Žëǃé­0“¨ªŠ’Pè˜ñ¹Ýî|-G3ÃsyLø€¬ÁÇóõŒ®ëºåÒuÝæßϳãÀÁáúƒŽõózï[ù›,í IDATeޝèØaRdè:Æ 'Jrð÷ÛQ§{O+ØQ­]õHL°G}”óÎ=×NÌ)Š}lY–‘%‰h"‘Ïs;Ê9CšÉÆiµœ¶zÙÍÄûmRdQšîÙ¹sÒ§m¸\.Z-"XR2-A×X<Ž!ø¼Þ#öišÆçŸo·èÖuݬ[»UQèêªŠÒP @"G´ÈÆ ˆÓÐu»yâøæÖf®.ÑX ·×Kiy9=ÝÝ|>Jfh®<ÕzáÙg™¿l>¿ß¹;sd³Yþöì³lܼyZ󫦲U×Q-3íœÈ…Õðö I„†p‰"•55tvt026FyI z{I˜~Îæúz¼^/íûöQ]QAïÀ²$1§¹—,“N§9ƒa0«¶–ÒP¨¨|£¼´”²Š âÑ(%% E"TUT×xÆ  ‘ÁAšæÍcnk+ò5mÌž=›-<@}c㔂C×uRÉ$ž7 1XÕðK/¶_Óuý$âqTMÃgvÁ­kl$ÓÜÔDuu5ñxœ»v±|É’|FuUóZ[éêîf4¥±®Ž6S›í;vPe6¯´Ž AEzúú˜={öŒuwL*€TMÓvàà¸-F³OÜ¡7‚ÂjøBîñeË—£¨*†®36•LBA#IËáÝßÓƒ(d2º÷ï·ß3FFžÎN[¸Ø ‡æÿ‘‘ûóã)îß³gÂosL°).º(Š\wÝuH’DWWöû’$qõÕW£ª*©TŠ+VpÛm·ñþ÷¿Ÿ›nº‰ï|ç;|ùË_fÇŽEã666²dÉþáþúúzÎ;ï<$IbΜ9üìg?cݺuôõõ±yófæÎ‹,Ë\~ùå´··så•W:wä …x<Ð…Ð'©†Ÿìæ/ã>3Ù÷&c>ûl^{í5GrpذzÃ;ÐÑ5‹»ºº¦¼%IâÀþý¸ÇÍMJÇѶcÈ2+N;H$Buuu‘Ùõz98Öû>ø [¶lá¿þ뿦=ù7’ÓãäZøíÏ~ÆÜùó)«®¦$^×r|5¼ƒ£sýæÍŸOdt”gŸzŠ––\n7Ùl–ÑÑQ4UeæM´ïÜYô=yš(--¥­­mÊGSÌüÇ8ZŠƒÖ+¬†wp”æUU™=w.Éd’D"‘Hàr¹hhl¤²ªjR^øIÏçcØÌa8Mãp‘XkddhˆªÚÚêp?’ÍÍrˆŠ¢8í÷gÓ}£ç{ªlÒ†aàóùƒÈ²œçm’åÃkÍ\^YÉàà />û,²Ãåìà8@×u¢‘+Ö¬¡sïÞÉwX]'’U\²Leyù »]»w³lÉ›ñpxt4_Ó%”ƒ|>2Ù,Pí(R· ‚@2•"aR»Ýn*ÊÊfìu—§’b /¶YÛ88æÐØÜŒ¡ëSj@š¦áY<{6}ýý„ûúhª«CӴú®³tÉ›(Ì0 GF¸ä’KÈf2¼øòËx½Þ|½˜YïU8~¡f4Y;æñ-ŸÇk7¢(²pÉü~?ôô÷ÓÒÐ0#£r“ ¿ÓNÙÁßѧ`Ep»\øü~†Âa´\ŽH$ª+èë;ìc ØùlÖkéd’pAשª«co[n¯— ×Kx`M×) ( iß·ÊòrRÙlž½¦¿×KdlŒ±xǃ[–‹4Ã0ðy½ ôö’L&Éd³Ô××ç¶™Œ#€¬I²ŠMÿƒãMÓ^WãN™õZ}ƒƒ´Î›‡v„Zƒg\5¼¦i<ûÜshf1´•ŸVQUE.™¤©¡ŸÏG:fW{{¾÷ݾ}ÌimM£¿¯±xœ’Pˆþáa6žy&±±1ö8@c(D*C(¨´hlia·à™‰lˆS èíéa÷Îù\ çÞppŒ!Š"uõõ,[±âõÔ‡‡ñûýÌkm¥÷ÀÃ>–a”•–™F’$qþùç£kªª2Ü×gS~†AgW³Z=‘L,-E×uÊÊÊèܳ© Ú]”$TU%—Í¢keåå$¢Q¤qÚ\rlŒºª*úúû™×Ü<#»ÈL*€Æ¢Q†¹àÍov8¡èºÎî;عc®)J$t]§·¿ŸŠŠ Z[[ìíÍ3¦–>Y5<`’YŸ±Ëåd™3V®$òâË/OðñX£¸\.à a¶¯R5­h,«‡ÅG$ NivÎH”ˆÅ˜ÓÚŠËí¶{~9p0Þr4‚ °xÙ2øõ¯‹x£ ‘Íå‹Åˆ'“t8€œ¶dÉaçóLW ?Cp»Ý¨ªÊ_ŸzŠ’`ÐÖŒŠ*á æ¤¥¡¶½{Q…E Øf£…H4JÇ`TTT°tñâÃöcÚ> ò] §VÆÁ¢?fV}ýQ‹Ü† Ihfk›ÉàózÙ´aCž¡Ð¼éS©‰Xì°gUÃ[þÎUË–‘*èàku¯ð¹\ä¹ÍÍ”˜ÎäL:ÍØè(‹çÏ'66f ©¹ÍÍd³YÜn7+–,Á ¢ärDL~iKP5ÔÕ±dñbDIB×4†PghYÈ”> Kµtà`2ÔÓÝͬ††£ºF…Z52.A¶P{9á3¾7|ÆŒ@'$‹F"¦6<88ñ|†‡óT¡¨y2‘(znŸ£  ª*#CCoè7œÒÈÚfB^‚ ¤Óiž|ê)2™ 5ÕÕ¬^½—“€9íœaù¦{æl&Ã3Ï>K2™äío{9EAÓ4žþy††‡ ƒœuÖYHÚí5gv xÝc¿AXÕð…½á§"$+Ü”9JçæD–bJ:;!ìx¼^.ºè"öíÝˬÚZ:öî%‚aàõùì‡dÞt^Ÿ—,Û¯ æ\y½ÞƒŸ5}§êÃ0McÜ룣£<ùä“\ñ®w!t‡øë_ÿJmu5Û¶mããÿ8^Ÿoòq£Æíh÷'º2UâSùa‘ÑQžá>øá³jõj>ðÁRYYI&“áÞýnš››™?>?ñª¦1gÎîþþ÷iiiaÁ‚ì?p—ÛÍ{ßû^êëëY¾|9/¾ôÒ)=F¡–l>4]§nÖ,¾ð…/àñxl“* ñ/ÿò/¬[·Ž|ä#üáÁí÷&Œ{œ„‚U ï’À&˜½3Â0 ƒP0Èm·ÝÆå—]†¦ë¼÷þèCȲÌ]wÝEYE}½½l8ë,öwt¨Ÿ5‹ðÃ{îáæ›nâÎÛoçþ_þ’ØØÁ’ÆFGOmþxíÇòáhZqgós9Ó1ûƒü€O_}5š¢L¾¶ŽÓzsªáO¤ÏP&“áãW^É'?ñ ‰—½ím,X°€µkÖpý 7ð›ßþUU‰Çã`ö¿øâ‹É¤R,_¶Œû￟@0Èÿ×1gÞ</^̽÷Ücs`Ÿª> ËG8~>·þw¹\üâ¾ûxüñǹÿ¾ûHOÑýT×õiûÂÍó·ªáœ &vþ©úÀ0Èår¼ôòˈ¢Hee%ëÖ¬!J±sçNÂ}}ŒŽŽòÂßþ–ß)ÍJ×uÛ‚ 0::Ê»®¸‚¡¡!6Ÿsß»ûî"?É©:w“½î÷ù..QDSUþãÖ[yì±Çxø¡‡(«¨˜vnŽ—Ýµ{·£ýœÈ1L0@En½õVžzê)4]çŠw¾“ gž‰ªiD£QÊËËyË%—Ø7H&¶o>MÓÈe³$ .xÓ›èïïgñ¢EüèÞ{Oi'§-@&©\””Ø7ùƒ¿ÿ= ,àKÿú¯„B!~÷ÀÄãñ¼F966yàã8À®†Ÿ¡íO4Sè~ó«_!™aw%›%Nãþúøãˆ²ŒšËñÓŸýŒ±‘º:;‰š<ÅË–.åÑ-[H&“ìmoQÄPU‰Ä)=wE­‹ÇýÎBÁ›ŠÇ˜Z¯ cfS¿I7½iÖãø,åɨ.õü­jøÂq-ÐÊj>\•ËåEqÊ4ƒé~—µ!Î/1 ƒd:MÀç;i©<ÝEš)»C2™œôõDA"©¢(‹ÅìyÑuÝþLlyú©©œëS Q’ä`Z!t´×‡$ISú-m+ÜÛ˶mÛÀ0X8>P¨¨äáP Š"/¾ôkV¯.2û$IB–¤ƒ%!†A<‘`$aμyt8@C]†a°»£ƒæÆFJÊÊèëë£Áä²%‰d:Íh$ÂÒeËhoo§¥¹™\:M4'–L²°µ•TÐÌ) £##”••áu»éèè@jëêèí®ŽD*Åðè(ÕUUˆ²L4¡®ºÚ6k†‡ùóçOê_;©Ûãa,¡²ªÊÉupÜ0:2ByEÅ´šKÀçcîúõt÷öæM—#09t]gÍêÕE>MÓøó_þ’׊L¡00<̺µkÑ…ÊòrFÆÆ¨­ªÂëõ²xÉúº»QMíi`pÞžúÙ¸a±H„ ÏÇH$Bei)ûö±zÕ*T3WÊÒÀü>³êë‰ ¢¤ÓôsÁ¹ç228ˆÛíÆíóA"AcS³jkìëcÿð0Ë–-ChkcïÞ½È.«V¯&ÜÕuRÜËãÍ®\6KUu5/½ðÉd·YyìÀÁ1Õ¨tááa–._Î`_ß„¨ÐY<ãz{{Y4>ƒ&‡Ïai[¦ùT¨ý\|ñÅ$ãqt]çégžÉg³ë:%eetutäKlI’E‘d6F&& ²{ï^ª*+óôUUôìßOx`€ÒòrêkkÊ;¾9}6L¡ˆala424d;ÈÝ‚ J¥(//'|àÀaócŸP¨¤´”ݯ½Æ‚%KX·~=Ñh”L&ãhAŽ9DQ¤¾¡l&ƒ(Š¢u'éL·Ë…,Ëô Q^VvDf $IüiË.ºà‚ „dÃvŠ…”ƒ¼öÚkT•”°¿»›ÆÆF›€Ì˜D³Z<>=]]tvwSWU… TUT°s×.ÎŸÏØÈº®ÓPW‡(Š$b1$Y&kFÐDQ$à÷ÓÓÓƒG‰%EQµñ÷¢¦i,_¾œgŸy†P(Di pR¥ ¿ßOem-{ÚÚPÅI:pp\ ø*ª«‘E1¯ŒÓ‚FGm³å´•+‰ öa4Mã’7¿ù`5¼ P Ù$AƒÌª©a,‘à@_µµµ475îé¡Ä|òúZÐîÆ"³ž»\.[ëQåˆê¹ {ÃjE‚(æ7^S#“].rÙ,¢(âr»ó%¹š¦ÙÑ0Ý4y\]ó–Íf·Çƒ®iÄâq¢É$‹.$b:‹ÇÿnÉÔì4MCU”¼CÜå*"¬w¹ÝyÞhÃÈ7ü3¹§ ÏSv¹ŠëñŽù%Ë÷†O&“ŒŒP^Yiób6&”eØ×ÞΜÖÖÉ{Ã[ãÔÈ8øû+C“w×U Ç‘˜’$±åÑG9¿ 7¼®ëP`º†bjHã»V‚pP; °ß/äÊe³ŒD"ŒÅb¬<í4’9dã5?MUÑ Zkš6ATr¹¼öd* –«ð<•“ŒØ^ûY¢Ñ(wÞu÷üð‡,Y¶Œ…K–p «‹¯ÞtÕ³fñ™Ï}ÎÎ_øÍÿþ/³çÎeý† Œ9‹ÄÁQ‡®ë,[ºtFöb?¡¥m‚€¢ª\öÖ·òØc!=ôW¼óx½^ÞóÞ÷rÁùçãå—_æg?ÿùÁ‹kŒE£vRU*™D×ur¹<ú(;·oç?o½• 7²aÃ"## Œ°}ûvÂá0÷Ýw]ÜúíoóÑ}Œ`0h' 9™ñŽiò«  :›Û €‰™Ð¹á®.”\ŽÒ²2^~åÁ ÿå/Ü|ÓM$ ¶½ú*ýéO¤Ói®»î:~÷»ß±nݺ¢p¥ÇëEÕu$YÆíñ`WêS¨šÆºÓO'Éðöw¾“d<Îék×¢é:°õ¹çXµv-š¦±Û$jß¹ÓY,3Ã6Âë÷SW_og+¸Í¢O'R…[[©®©AEfÏžÍý÷ߢ(TUUáõù(--e÷îÝ,]º”;vP[[k ˆ`0ˆª(ds9 ௿Q‹|D…ÂD,Xh555|úÓŸæ–ÿ÷üùd³äT•ÓÏ:˹R3†A¸·—¾Þ^šš›áa Ê «ápŒÂ½¥Y9xhtd„ÙóçSZ^NÚä¿ùÌ5×°nýz¾ü¯ÿjïwÝy'ÿ禦¦†T:Í~øCˆF£TÕÔðÖK/å’·¼…ÖÖV:;;óL‚™ ª™ç0Þ±œÉdÈ) , Nóö·½ AX½z5_¸áRSðõ88õP^QÁÈЩtšÀ$ü8Ö/‰b¾‹*v¶~a5¼•|+öo‡ þ!Aì„Öûº®ÓÓÒÐpÔµµÂúd«ï:¬ßY˜ Ý×ÛKë¢EE‰M‚Y|§kBgi5†®£™Q4Óç­š–Â$/k¼Â1-d}ÖÊ'²!­c:;ËL²Âò&wYU%¡ñ¢7kí¨ªÊŽöv–/^|Љy˜|@¢YŒj%nokC63¬eYfnKKOx`€1ó\<- ¸d·×K dt\†óTÚÕd¯×  Ã`,£o`ÇCëìÙ'l4ø¨fBO¶, <^Å,Ü! ­ 6YÏø1'SaÇ×>3×4•VÐÓßÏëe¶I&I6ô¸jxY–¹ä’KHÅãd³Y¢LŽŠ¢pñ[ÞB*£¿¿Ÿ®p˜…sçÒSUQA6—#fVÒ‚ªª’L§QUUU)/+Ãe–FãqÒ¦–W NhK X±|9]]xý~Ò§¨àÔ\88©00f5üø’£t2Éðà ÃÄ"‘I5•¡F#²ËE*™´©m y¦òŠîGÍ@Œ™üòÉvy,—µªªè†ak8“! ¢¨*ʸ›~ÜHii)óæÏG”e¶mÛÆš5kP²YFK““$‰-<Âùçw0PbÄc±|×SPXÂÚ¦ÞÐuÒétÞçTè¿4ÉæKËÊ ‡éìîfÙòåù÷ L(K£©(+cÛ¶m”‡B„ûû™7oÞŸª¦id³Y4U%•NŸ²¾PGÍ@hšv\„-;ÌN²…Ç·¢¨ÖMZ5t “odp ƒ¿·ÛMÏþýEcêï¿ð‚ ŠZ Ínj"“Ëá …òõŒ~?‘áaÒÙ,sI¦RùBë³Hæ´´`­sæH$”–rZE`t,F¨¼œ¬ÙŠº©¡€Š²2UEözY±b>¯—Ñ¡¡¢sÌær„**(«®FÓ4ªÊËìë;å¨rä׳ݧñ˜ + 6¾¹›u.Gó˜Ö®v¸ øhùEþ޽ׄiæ¥0 £p÷>’³5 ~¯ªª<ÿÒK,\°€ 3°P“8¤s~?{öØípŽÄ µÖ’(Š}>Ô‚žõcétžb&`¨¿Ÿ` 0áx¢(ðzêëËs§J*…¤ãqdY&eª ‚@I0Hçž=ˆ¢˜ïg¦($£Q’Ñè„uà÷ù0²Y,pÈLè1Ëíæ§ßûsæLD¢(26<ÌeïyO‰ÒÑ@,¥¡¹9ßõÑ ‰J’Äïÿ{vîÚÅ ×_T…À›.¾˜?<ð€]P{¼ü0ÿúå/óŽ·¿5kÖü]€%¢±9EÁçó*0—TUe4¥fΡh@º®“ÎdâìM›Ø¿?š¦QY^~°Íóaã7"¸­jøåË–½nóøèÔÑz_8Ħ…§:äéln0ÈYçŸ×¤Ü(@¿úÑ&ìX…V¢aÖ¤Šôz½èºŽ$Iy¾\sòxâÞí†9žÛåbÞܹ¤“Éüx¦6c¼N”ìXhŸV5¼“gö÷Åëêt¢¹è ¶sm“ìÀ\ô¦7qæÆ\vùå$“IÚÛÛ •–ò¡|„5ëÖqý 7 Š";vîä²·½37näôõëyíµ×ìhÀ§?ýiÖ­_ϧ¯¹f“ÜwÝÅÙ›7³á¬³øÝ©Å457ðx<|ïî»ùæ·¾…(Š|ûÛßæÌÙ¸iøÃìß"Ÿ¸ê*víÚ…(Š  !šYœ¢,óï_ûÏ:‹‹Þô&~xï½¼õ²ËX´x1¿üå/ñù|ìíèà‚ /äÌyÇW(h:g9Eá†odã¦Mœ±a[Ÿ{¯×Ë/õ+.¸è".ZÄþð‚Á ßÿÁ8{ófÎ8óLÞõîw“L¥xê©§X½f ï¸â VœvßùÎwðx‡ärñÎw¾“|ÿûlݺ•Ë.½”ÿä'E‹}Û+¯ är<öÈ#<þØc¬<í4EaÞܹ<ü§?qß/~Á'¯¾D‘w¿ë]<ùÔS<÷·¿±é¬³xì±Çd™ÆÆF~úãóðCñÝÛoÇåñpã7òo|ƒ¿þõ¯,]º4V—$®úÔ§xdËž}öYÚÛÛ‰›¦ìdÈ™¹5qo¿Ý/½o`€†ÿÏÞ{ÇÉU×ûÿÏS¦—í5›dÓ—”MB*Ò.)Jó*J‘&RD½€€ âEºôŠ‚‚¢7ˆ"ŠÈïø¢"R%!eS¶ïÎNï3gÎùý1çf7»›lLBʼyìì”s>sÎçóþ¼ëëUW÷o©z¬m¬‡¶Ÿ±yJÈAz¼’L¥H¥Rœ|ê©…@²$qùå—P^^ŽÛí.¤1eزe ×ßp[ÚÛwòŧL™B*•¢¥¥…¸^*Š"<ÿüó4ëÝÒ†+eH.—ã[ßú7Ýtn—‹úº:fÌšÅê·Þ¢²ª Y–ñù|D"‘QƒzÃwã–©SI%ÔÕÖR^^N>ŸÇçóFAÓH¥Óœpâ‰äuþð¯~å+C¬ÂŽÎNæÍkZ"†;·`Á2™ uuu„u:Ýß?õ>ø ±xœX,Æx4ææfÓµÊf2 iô °tÉÒ©‹/æW?N_o/}}}ÌlmEUU³¯o¬D‚ÍjÅ«ãyôöƒ`(DMU¹\ÎäB—ö0Xoûw'µ¿â^åzì©dBÓédòäÉÜï½tvv²eóf.ºðB“é±x’iÀO~˜/^q]]]ÜróÍCŠ¿^úë_q8¼ôÒKTUU™¾{KK Çw[6m¢££ƒ·ÞxÃŒ÷AÓ£–/Çb±ð¥«¯æž{î!LÒ2e ä…®®.êjkÍž3MÓ¨©©á¯ûN·›ß?õÔNY¸QŠ 0yòd|à:;;Ù¼q#çœ}öxCë¬Y<ý§?!뱜P8\ ž)ê3—®ºŠ_xÎÎNþãøã‡ÄdŠÏ‰ ÐÚÚÊC=„Ýéä‘GÁfµR×ÐÀŒ3xùo£³³“uk×⣺Ø"ËX,³ZÙ8Ãá “Í‰ÅP5Íü;nwG»‘Šõ±(мóî»%ö—ƒAd>&¹\Ž?þáüïÊ•8NŽ˜3‡-íí&­!’^BÅå—sÓÍ7SQQ1$n"IÏ<ó —‹'œÀ­­fÊÚjµrýý-S§âõz¹ûž{†( #8|öYg‘ËåøØQG¡( ‹…›n¼‘–)S8óSŸâþt:mŽë .àW®ÄWVf*c,ÅÇ.Þ1÷þï¹çxøá‡q:´-XÀŽŽŽ!×åˆÖVN?í4ê©©«cÓ¦Mf¡Ûðcýð?`êôéL›6¹sçšç-^,ÆgøÁøó_þBYY“ôŽé\&ßž~šÓÎ8·ÛÍ%—]6&ƒ¦iÔUW³yÛ6>ho§®ººœw:©®¨ ª¢I’ ÷tÁês(ŸÏèré±1Ã:ÚßAèùmm%HÖ@F…ãe™½þúˆ š¦á-+cÆìÙC|wc'w9 /’t2‰¦i8œNâ±Xá}·›x,†$I8ô,”’Í"[­$b1\j.‡h± d³¤Ói, ’$‘Éd Ù,½ü^U’ÉäNP6› ‹ÍF\çbÒ4 «ÕŠU¥t¨X—ËE"‘(d¾\®BöIK<ÅíõÓ«c šÑCäÒá" *aôšN&‡džŠÇc¼oã)Š‚(Š8Ýnb‘H!;¦.ŸÍ’׬Õj5§Ëã!’L&)++ÃæppóM7‰FùÞ}÷¡æó8 «GUIuRkšÆö-[ðx½CîY1Êp×Ä€YÙ“: ¼¢‹Å(óùHg2ÄS)j*+éÀëóá²ÙP…X4JeM ¾òòGu5^ýšì L–å="5>×Å"×ÃÑÛgpŠ¢0Ñ¢±w’a@IÆóÄ$‰" Çx®ªªYë˜ékó5=¾c°.š¢((E߉Ä.›Íi64ŠÏ†[ÆâÔ4D<>d,‚ ˆÅL *£YÐü±˜¹pÃà†_c<æÂ,š´FÍ“‘NÏŽ@.—**ÇOèŠ<²xÉB¡Ë—/gåÊ•æ5JŒxiœ#Á«[ ÿVÝ("ˆ"N‡›ÍÆ{7ÒÚÚŠ¬ßKað«æýÔ­ó=‰ãH’ĪçŸçÄ+Ìß&ꃣ¹Ú##ŸÏóþ¦M1}ú^ǰ¾¡v½`¥B©çilh`ûަ¥ÇÇ5Q÷W+†Xä‚‹’DÛœ9…z0½ÆÉ°²vç7oloÇãõ¢©*µÕÕXu:ãñ¶bœRÔ ŸÏçygÃêjkÑtÚã†ÚZ;LÓ4:º» M£¢H6—£º¼—ÓÉÂyó­VbEÕÌÅ Ã`2íõâ¸[ñ÷;º»õÖ·Ó‰ÏãÒrÈ+ ’à¾s‘å4Þ A”$òŠ‚¤›ÅûrJk#İ4UEÑ[`Ìqï¦âTU•eË–1ÐÓS`[)êHo\ªX¬V+ æÏ' ±P‹•ßRý¼ÉTŠ]]´Î˜Áº ˜:i±xœ~¿Ÿ¼ªRéóQ]YI:“!“Ñ¡Oëêpꡃž"Ñ(å>uÕÕ;Å£Z&MÂápL&yÓ&¦´´0ØßÈmúâðI­¸Í¥5~ÈŠ¯¢‚`0HVï¶VöáÃ<uFÃj>O<C)êÿk‘9þö·¿±nÃâ±ØaæH’Ī^ª5h4J$!’Õ]ðáîz4¥o`ŸÏ‡$I¤3jêëAX¸p!+V¬ “Ï“ÉåP5d&ÃÌéÓY´hþP§ËEŸ^¹bÅ TM#ªã¯¯Ã\6K4!‘H`‘eœÏ!¹&‡X@N·›öM›˜4eʨiè’ü®›Ãé¤yòdÒÉä¥ÖǵØõäHq-Óú°Ù¨¬®FEbÑ(¢$Šñ3iÂ*ªªèïgGWs[[‰ÇbãRBûáë’Îf±{²,ŠDðy<®‡ae#Vät: G£ô¼ñ±D‚™³fWÑ&n|¶¶ªŠõëÖ!é™ÌymmäŠ*ú5McÓÖ­TWUŠF ùýÔÕÖ’÷[ÉD·”ܯ’|„2ZVK’$š'LÀW](du4ÄñŠªªÌ™=ûü(²pî\Ꚛ̺7MUééìÄWVFóäɨìÜ?&Š" ô›IMMøªª èŽÙ,«•l"Aem-‘`€9­­hªZ`Âðz©ª¯Ç"Ë…š®aŠtÑÂ…TTU¡©*“'MBºvì8´ÉJiõ’®ØÐ!éTŠžíÛÍÿ÷LNü~jôªoAPr9:ÚÛ?ü …l¡¦iìhoG–$¶nܸSe¼’Ë™`aáÁAB~¿™Õ%‰€ž¹2²–ÛtP3UUéïì, A ÂN.X*£S3+Ï!o[BVç=3BF $%ù¨”“´âð$ËhÇ-~}´÷‹ÕÃexvËD\„1~‡ ŠH‡ÁýÇòÅW>ñ?òÈNZßdE-* *Æ þ¿q#Ä¢zá߆e•¤$ûJ4M£Bï†/Éj9üѰÚl¼öúë|ë¶Ûhnnæî{îaý{ïqîÙgsæ™g²iÓ&^|é%º:;éëïçë7Ü@ÿÀ?òÓ¦MãÆë¯Ç?0ÀO~ö3,²LwO_¿ñFêë‘e™Çýk^xñE–-]ʵ×\Cr„6Ž’”d¯îº¢ÈêwÞaÁüù%%t ) â2þT*ÅW¯»ŽD2ÉçÎ?›ÍÆ.¹„É“'ó«Gå”ÓN£iÂ2é4wÝ}7¯üýïÎ9ïñ‰O ‡Y¶lYö³â"]ÔXüÞæÍ›yò÷¿'Ó:s&š¦ñÉO~’›¿ñ ¾rÝu<ðÀü÷í·“I§÷:ÕOI©­¯§}Ó&’©”Ù¸¹·ex7|I¤( 5õõ¤uˆÓ `Õ­“l6ËW¿òÖ¿÷áPˆšêjªªª(++ãúë¯/˜Ï yöYÒÉ$ù|žY³fqã 7 ( ³fÎdÎìÙD£QÎÿìg ]ÍK—òàHoo/÷Ý{/³fͱ¶$‡‚€šÏï{÷h?[>Ã̆ãý‚€$Š(ã„ÑÂÛKÇÙï ȘÆ_Y–ikkbÑ´ê%æ†Øl6sXEÌŸo–œ»Ýn¼^/›7oFEæÎ™3„ÿ[Ó4ZZZhii1w¦’ò) cÄ4‡M+¸ý{P,Iÿ÷ ¬Ð¹ácZõJgMÓ 0¾²DI¢µµ«ÅÂÆM›p—•qìÌ™´··3 ÑPUEO?Ç{l2;™$‰`Ñ­œ×ßxƒ™3gR]]M:™$¡Ã{4540µ¥…µëÖáôxèïëC’$N\±‚m[·ÒÐÜКFㄠ̘1ƒL6Kº«‹N8þ¾>1€’*ÉGîc ý==¸\.,:7ý¾”H8Lcsó˜çR…έ[q³ÜBÓ4jjk©(+c ¯-Û¶±dÑ"ÂÁดÐðnxC)͘5 EQPU•àßÿnœ”µëÖ™¤UÕÕÈ ‹‹$ ™H0wÞ<ú»»qX­ø¦NšÄ¤¦&Þ~çÔ|žIMMæñr:mmM }ÝÝ…k’Ï#[,ØívhªJYy9Û·mcÊôé ôö" Á`9­­¨šFmM ]Û·Åhhj"00€’ÉTó%tX@™tšŠŠ òûÉ,Wu¨ÕbÅ1ÄÝÑÝÇ+v«MU ¢( àp: ëpã±€ü~?Õº‹c¼–ŒÇñ÷õ™Ah€ŽînfΘACSýttvš×ЈiŠ‚Ààà ¨*©t»Ýn†ZZZèèííeBCCaÑI’$ …Lv#+W\‚"V‹…p$‚Õ@l´Û͸Á©fµZ Э.9E9¨BcvÃÛl¶Qqh5MÛ%íïžÄ‹Š9²Ša ¬V+¢(’Ö«³61¸¼Œ‰µ¿E„ýĪPÜTœÍfYûÞ{,œ?ˆòï"Ñ4 »ÝN8" ( móæ™%#ã•áí?›h6\°ÊŠ ¶ut°qófÜ.šn]äóù ‹Åèêè@UU–.[F,f{g'›ÚÛ€ÖÖVб±5`ò„ lio'™Lât8¨¯­’ý2än—‹àà ápMÓX´h‰DbHBÇj±‰ÇÙØ×‡Íb9¨*¼GU@V›_>ô.=¨5|±X,œvÎ9{µhPÂá°yNƒñA–ež~úiÞß°ôš£±&jOOMP —Ë1iÒ$6nØðÑN]™«ªJ^U ™}!æUU_¢("ë¯[»oKÒ‹P·lÛÆâE‹X»n3¦M33Fã­Ã16¢r·›iS§ât¹ˆÇb\æq*UMÓ¨¨¨0ç‡(Š,=òH3X/€™Æ./+cJK ÞòrrÙ,™L†X$ÂÂyóÌ뢪*S¦L¡®º¯ÏG($“N3kÚ4ªëë%‰x4JÐïçȶ6”\‡ÝÎô)S¨¬©A ï) 0¹¹ÙÌrÕVV2gÎl6‘p˜x4ÊÒ… ‡ôLÖVV2göl¬6ÑPˆL:}PPøÈcÜ%O"‘øUß ¶ÓbfT€d1 a5(Ù,Š¢ Ë2V=®PÌŒZÌBj,®³fžë¬©Å¬¤I;ËåñM§‡0¥cɦÓär9\.¹\®ð]M3”ÅãÎe2Cê-Œkàt:õ ‡q9X,sÜI=èèp8ôúãX‡£ÀÞ©ÿÞT"A^omqê5Wù\®@K“Íb±X†üŽ]ÕS…£Q:CS}=ÁPÈäÄŠÆbTWVâv¹ð…ÝXOóVWVîÖWU•x"Áœ#Ž —É0mÊÒ™ NÝ=Ñöpƒð÷öšßß“x‡Á ?¿­Í¼_ÉD‚dTÖÁàA w5‘,²ŒÓáò%iÄ d\ÄÓN?›ÍÆ…]„ÍfcóæÍL™2…Ÿ|2.—‹ýèG‚À† ˜7o‡ƒ%K–ÇMÒk¯¹»ÝÎ=÷Þ»}ʪU«¨¯¯§©©‰w׬H|ì±Ç ñ›ÿºþz, ?þ8•••L›:•ή.r¹Ó§MãÉßý¯×˼¹sÙ°aûØÇp¹\üæ7¿AÓ4N?ã ~öðø\.N>ùddYFEÚÛÛiiiÁW^Îc¿ü¥9fc ’$qõµ×âv»©««cGGv»'~û[¼^/­³f ±ÛíÜrë­ø|>***øÅ£"ßúö·ùáƒR__OmM 7nÄb±à÷û™:e |ãÖ[ùùÏަiüé™g¨­­eâĉløàƒ1• T–—Q$š¦Q]YIMU•ååÔTUÖ)­CÑ(5UUÔTV’ØMwGÓ­)ËU¨ŠWMÃ&Ëä¥@çýoX§‚î*íéSU•¶yóvbƒŽJ8¾• ×Ù‘µLœˆ,Ë&Ãjñ|‹ÆZü=ã1Ò{»:ÿð÷wṵ́÷Z4^±X,œuÎ9œÿÙÏ’Éd¨¯¯çÇ?þqF8æç?L_O?ôQDQ¤ººšW^~™T*ÅU_úgsŽIÇröÙg“N&yùå—yï½÷Ì‹œËå¸ïþûéêèàí·Þâkÿõ_æw4M㢋.Ân·“Îd¸ïÞ{éìêâOþ3@€?>ý4]|1·Y–‰E£D£Q>ÿùÏó¹Ïž?þálߺ•;ï¾Û ö øý$ æÌ™Ãµ_þ2N·›?þq~÷ä“ ôô°råJº{z†\‡»ï¹«ÅB<gㆠø|¾‚™í÷F¹ô’K¸áÆÑ4ÏŸ>áp˜ÀÀ+W®$•J!Š"lØ@oo/¿|ì1ÎüÔ§°9 <ðÀôôôð¯·ßF’$’É$ýô§ô÷õñÊË/sõ5×xê÷À²0,ß>¿Ÿ2‡l.gºf°t7¸顪êGÎq%í%xSãºlÛ´©P•]ªäÿè²`Éd’íÛ·ó•¯}¯|íkd2.¼àA`ÒäÉ…š‡t§^»‘WU>{þù¼ñæ›… £Ífjîc=–T2ɱÇË nþÖÇ?^y…=Æã÷ûÍšƒƒ½8ºeËžÑ-ãó’ÅB:“áÒK/%LrÌÑGóòË/ãr¹Èd2fz6“ÉpåWJ$¸è 9ûÜs ƒAÌŸO*•b^[ñ"×QUUÞ]³†?ø ‰X Y–ñ¸Ý¤Òé’@2ÉqÇdzù ’$ñÖ¿þÅégžI<Çï÷£ª*Š¢ð¹Ï}Žd<ÎìÙ³éîî&ŸÍ²}ûvN=õTÒɤ©ä·lÙÂK/½Dm]ùû؃ÝϸfÛ;;©ª¨Àãv2ME–ÊîÏUUSYíI ho+Ÿ½Ù ¿·`bGÙ«ÃáÀn·óÆk¯Ñ××G(âÎï~wÄɨiwÝugŸuüñ UDM²Iw;6mÚ„G{¨ªJcc#§}âô÷÷300@&•âWK¢hžOE¸úª«Ìϧ BzÚvÈ‚aqɲÌßÿþw.ÿ|õUfΘAye%6›:CAwg'öâ ZQdâĉ¬Zµ »Ý^ˆÓär#øù‰D‚K.¹„µï¾Ë@_G}ôN‹Ýø+Y­ø|>Ö¯[‡Ífã7ß ©©‰óÎ;Ïü}édÒ̶¦h†›úÆëÝýý”y½”—•™-z›éÓ¦ñ½ïŸ––êêêX¸p!óçÏçöï|»ÝN$’‚Çãf ;¢—H²Ì{ï¿O[[¿øÅ/–Ð,¿ IDATxðȦÓüê—¿äŒO~’%K—2cæL‡\‡¯¿ž¿<÷móçsü 'ÐÛÛK¬HIæóy¢±N§“SO=•ÅK—rÚé§ÓÛÛ[`èL¥Ì좦§nžúÝï8ç¼óøØÑGÊ€ŠŠ –-]Ê¢#dþüùÜ|Ë-ØF»gú=ííïg[g'¡H„÷7oF–$¶wu„BlloÇ iuUUlíè`kg'•>ßnÇ€Œ8ñMòÿGž¡,µ"¼ôÜsš¢(,\º”Þîn¦Îœiò=½r¥Ùm;üæù**8†tõ»«Ãá(¸EšF*•*Ð;$ AÀét~˜s8@Èe2Xl6ñ¸™ý’­V33d‘eDI"›Í"IRÁêÐ{ŠkƒŒú%‹ÍffÛ, 6ÝJ1R©n·Ût$IÂf³‘L&—ËE4åÜOšß®\‰¯¢Ą̂VŽÓé4‹üŠ!DŒ…e·Û‘õìV2‘ÀétŽx>»ÝŽlµ¢åó i$S)¬:+¨‘Í2jˆTUÅãñ H·}ãÌœ5‹3Ï8£p=ô8Øð롪*Ö®¥®¡ÁŒÁ §²12lÃ!"LÞ,ãX»±h#‘.— Y–éóû)÷ù°[,„"I§—Xôtu1SOW›Þ_u5^½l¯ïº¢È ÿïÿ™Ýð%ùwô¸†Ëí&‘H(¯¬,Ì1I*J’IÏ­[7mbòÔ©¼ýúëȲ2#‰0Å3IJjk „Ãôôõ1aÂTDðUT ‘HdŸOlMÓèÖ[F·×KM]]ÁµÑ;» Éè-:¶àÏŽ®.æèXæÝ}}ÔÔÔ2ª’„Eéîë3›ºÝUds9ºººe™¼ªÒÜÐ@o?¹\޵ï½G]MM¡jü0€(¢€|>Ý]]„B¡»\¾$Ž©éV…°ŸÞ®Ú’±Û¢Ñ?[k‘d§ÇƒÓá±ÑYЭ#ÉbÁívÓé÷ïÑ"-c.Ÿ'ŸÏc·ZéD‘¼ª ‡M+Éfµ2kÆ DA  ÑÕÛKëôéô  êJ,ËQ×ÐÀ–©¬ª" Qæó1kÆ ÂÁ ïoÜÈŒ™3ù׿þÅŒéÓñ••±}ûvüÁ I¤Ó,hk#‰šI7 Hš&L •NÒë%+¨$ûYYZ-œÊì(F A  ¡¡P 0¤¨r<ç©Ô»á ,eAÆ„zÉf³¬[¿EWH’$![­ÔTTŠFQs9|eedô즱u;N"¡9½©Úév£ª*ïmØ€ªiˆ‚@UU•œÏf³¤“Ɇq¬¿¡Ä„ºrUö–¤$û[FËP™ÝðÁ -S§ ÷Ȫ+î†WUµÐ—XQÁöŽ*ËÊh,6¤½b `ÚôéT”—ÓÕÝM§îfº].‚A‚Á .$¥+á1§âÊs‹,3mÊ|n7J>_(²M$ÐôÏ ‚€z˜dÃä‘nðX;ÇþLÎéÉÃ;l5”H$‚Óáø0F´s¢¸ÞÈ@ÕTU‘H§ù`˽“¿µµ•î¾>jªªø`ãFr¹µÕÕCΫär8œN|>=c´Áè™Æº:úûY»v-’$ÑÜØˆ×íÆåtòþ“ ”{½‡…’Ç;1Þy÷]¨©©Ù/qýúõ”——ïÔîP’ÃÓE+ózijj"¢ãíé-æ†72Y§“ÅG‰ÍfCÕñŸfL™B,Án³1ïˆ#p{<«%&­»[¨¬©1ä>¯·ÝNÞnÇSVfö*Î;â": kuy9Ó¦LA–e2Ù,ÑPˆIMMøæÍ+(Ú@õ0`·z饗8æ˜cö‹E‘¼ò ³fÍ*) ’˜Ê&ª·gü;ÊgÕ /pâ ' ©©Êçó#âKý~DQ$©8/þÞ@o¯ù¿ªª | `tÆë¹\®·ÒÙQ~ÿN–Ù`ÿn{$‡…dƒ0›ßÖ†(ФR)^ùç?E‹aµZéëëcÓæÍ(ŠÂ¤‰™2e ‘H„®®.â‰Éd’¶yóðz½¬_¿ž¦¦&Ö¬]‹ËåâÈ… ÍùöêÕ¤R)fqÕÕÕ%·«$ãrÑvGòù<§|üã;qÃï긣½?üõ!ÇíõÒ¼.c™»¡p˜+®¼’XúhN;í44UE’$ž}öY®»öZŽ9úhfÍœIëœ9üüá‡9ýôÓôûÑ€sÏ:‹wÖ¬aÆôéœp œüñ“N§¹ç¾ûÌNï;¾óÊËË)//çšk¯å+_þ2üâ¬~ë-³›6¡Cd‚@®€»$‡°uSÔG¶¯¬I’ø¿çŸgE‘ V’Dõtv"Ê2åååä…2¯×ä92Zë+**°Úl¸Ünòù<’ÕÊE_øsçÌ¡¶¶–uï½ÇQË—cµZq:س¢Ôîp˜o’$áv» ÐØ#þþòˤ3Ž;æ˜ œ,c³ÙÈéJ±$‡¶D"d«•ꪪ}¦òù<'xb©þ@S@¡@‡ËÅä©SɤÓÌokãî{ïåì³ÏÆj±Õ],µß׸/¾ø"w~÷»ÔÕÖò³‡6ÑýÌJ\c2é5UEÓ•’¦3pœxâ‰Ô××sâ‰'²víZ“£IÕ4*tœ‘’ÚRV^ζ-[Hëû*†TR> Êd2´L›F&FÓ4ùá÷¾Çwî¸MUùÊu×±`þ|jõ ˜Ífã²Ë.àÿ½ø"÷Ý?¾²2î¿ï>ì6ÕÕÕsÌ1…`“$ñùÏ}Žœ¢pæ™gšU^¯—O}êS¤“I~»r%wßsOÿéOÌ™=›Ù³g3gÎêëêö©I^’GDQDÍçÉ* ûªVÖ®[Ǽ¹sK›ÚGír†ˆhÔF—º߬â÷Ô¢ ÎáŸþ¾QyZlAtŒÑÎW’C|BîDDc.•æÔÞ¹–ÿ"â.1¡‡¸Q£¼7ÖçFªfŽg3Ò1F;_IöΤ9Ø•ÔH›Ýx¾?¨ŽuìÑŽ¯i žw¼×»doá‚•äð±22™ŒÉ²¹Ï›Ž‹ºñÇZ€šÎ6‹ úÀBá0V‹… {l6|C36Àh<΀ߪix\.ꪫ‡¢äótõõ±`Þ<zWÿ®ÎŽF±È2.§³4K ¨$j>O:•b ¯oŸ—8æâÜY’$QQUEuM͈5:‚ K$PòyŽ?þøBìÐ:mÚ˜]ì£Y$•EI AˆD£Db1–,Y‚Óåbë¶mÈ ª¢S3t KRAqK¢ÎœWT#K¬‡òù¼Ùí.Ë2©tš†iÓùýX-ó3C!lK ¨$‡ñù|&{ǾQiß¼™#—-ãÝêéíî&000º2Ñ4ªkj …È+ åUU&'úxÆóîš5´Í›gZ?]}}|쨣ˆE"øûú°J²$ŠÅèëï§yâDzûú¨­ª2㢠‡Q…êÚZúûú¨«ª"›Í2 ÑØÔ‚€Ãj%•NÓ¯ó®9l6:;;q¸\Øìvº»ºh¨©Ù‰™¤¤€JrhÇ‚TI–÷ J"€¢câŒf%ÕÖ×óÁ{ïaA!jš†Ûå¢w`€‚A$Qdù²eCH)wÛúSUæÍk&>EAdI"›É˜I’L:MO_mmmšF&•"‰P[UeÖ¤õö÷süqÇòû‘D‡ÛMÒïÇáraE”\޼(âv:ijj"40@<“¡ÂçÃæpI¥pØl¸¼^’±XIßpË;£#‚Fý»U\n·9±Œ µ,ˈ¢¸SÿΞs_.¶Ý9Ÿ®eð…O-Ê|öõ÷£( ššL.yI’ Hœ£(¨X"ÓáàÈOÄ?0ÀÛï¼ÃÓ§ïÑXŠ»áeYF’ÅTKEñªîž4ÝâihlDÓ¿—×ǽuÛ¶B‘­ËEyU©X QQèɤR4èe+Ř@]==ÈV+—‹d&ƒÍá ¹+(ÃIY¬Vþð›ßŒ ¯éõù8þãBL¸7b±XŒ)Ó¦Ñ×ÛkvË²Ì /¾H{{;—]zé¸Ç™2u*}ýý{„!<Þó%‰Âoèëõ|¢(Ò×ÛËYçœÃ¿Þzk'n°ýj ¤S²¾·ÓÔªNñÇ‘­Vl6½ýýTWVoìk[Ðô÷ö ‡Ée³ø*+IÓ+î†WUh¨­eS{; ÕÕˆ¢È`(„ÝfÃãrâS9E!H˜ÊI–$Ü..‡»ÅB:›¥¯³“\>ÍbÁãt²)¢¦±‘ÁA²Ùl!n¤ªÂaŽ;æ¢á0}½½‡m–Wëf‹’ÄŠ3ÎØ)(([­¼ðôÓ£šÚV‹Q’Èçóär9DQÄ¢Þ “×`ã4vUÓÈårhªJ?6›ÍÜ¥²™ŒI(‚iår¹!ˆsÆ9,Ká5}!õ …âÉ|>?t÷Ó•l.—+À‚êýj²îžätÂD«Õj#ó:ްaI: ‹qŒþ"X…Ç¥ï þÁÁ3ª”4ºÅbr]Œ±+Š‚,IC^7®£¦ª¢h*3‹Å‚TtF³ÆAÀÇÑTY–i¬«ÓÞ#¤[7Áp˜É“&‘ËfIê$–»âž×4 —ÓI(e{WV‹…¥K–ìц2¼^Õ1|=h‚€Û餡±‘x$B(¥½£Y–©«©UÅír‘WUZš›…Èf³ØívšêëI%“ôƒ¢HcC‚~ü|€l±ÐX[KËĉ¬Y·›ÍFC}ý‡|i‡™ˆ»Ú].•••CeϨl™.§“›n¹… rßý÷ãr»éêêâ‚ /äš/™¥Ë—³jÕ*A`ÇŽ|泟eáâÅ|ñÊ+ )U}~ÿ{ßãÈÅ‹ùãŸþ„<ìæ¼÷þû¬8é$NùÄ'èÑqXŠÅn·sãM7±xÉ>ÑE&Sëc>Ê‘‹óßÿýßhªJ6›åë7ÝÄ’eË8óSŸÂ?8ˆ¢(\pÑE¼úÚk,Y¶Œ‹.¾UUñûýœuöÙÜ|Ë-,Y¶Œß?õTÚjåW¿ú‹—.å‹W^9„§~§‰¯ª\rÙe,Y²„[¿ùME!›ÍróM7±déRžxâ 4MÃï÷sñ%—pä’%æùÓé4ÿq <ýÇ?rä’%ÜtÓM¦ëòâ‹/²lùr¾výõ|â´Óp»Ý8Nîºûny$·}ó›8]®1'‚¯¬Œ–æf¦µ´Pîó1쓘S^Qhjh ›N£©*5••…ß¡ª¦52še)•>Ó&OfÒ„ $c±=/TÖf±0¹¹™i“&QW]M<EQÊÜn¦NšDKs36‹¥€^Wg*¿úª*¦NšDS]]Ñá(\ËI“ðy< ôöbÑÝÒÜŒ$Šx\.¦NšÄ¤¦&*}>â¡Ðˆ)ÿÃZ ¿Q»«ÕÊe_ü"š¦±vÝ:^{í5~óë_“ÉdøÃÓOsõ—¾ÄsÏ>Ë­·Ýfúî¾ë.Ö¬YCEEŸ¿ðBº¶¶–×_}•{ï½—Í›7ÙE¯ýò—yâÿ—{ï¾›«®¾z†µÃáàÓŸù yEáwßåŽï|ÇÜyÕ|žwß}—½ý6o¼õŸþô§Y½z5W^qçžw.—‹÷ߟ?þñ¬^½_Yß¾ývr¹yî9Î;÷\þöÒKÜÿ½ï‘ËåXõ <óç?óÎ;ï0iâD¾ø¥/áÔyÚ‹ÅívsÊ©§ò±åËYýÎ;\zÉ%@oéÔSNá/¿Ì~ücR©š¦qËÍ7óî»ï2gölÎ>÷\o¾õ¼ûî»lݶUÏ?O&“á›·ßÎ /¼ÀgœÁ /¾¢Èw­[·²víZººº¸ë®»vRäC\nY6-Æx29"-ÎÞ°€T] ™ÏóyóÿÑâ?EšMÓH§R¤’É…õ€·ÝðÅáãÙL†T2I:•"¯÷‹éT2IV·.óŠ‚ZDžN¥H§R(º¥™ËfÍ㘖.G*™4­Qã\ÙL†Ì8K 4Éd2¼øâ‹øý~.¼àÒ™ ¯¾ö‚ 0gölf̘ÃáÀår²µµ<ù»ßñ¹óϧ££ƒ¾úªYñ—þ¬³Ï¦»§Çœ8Û·ogÓÆÜpãÜsß}<ÿüóHE®B"‘à™gžáûßû‰XŒ††\úîÿ…K/%LrÊÉ'‡±X,´··sÁ°ò‰'xë­·-‰÷Ý{/™TŠ‹/¾˜›6!“&Nd¡žÖP_¬~ûm²Ù,|þó¬Y»–ÇË‹7ðꫯrÙe—‘ˆÇijlD–eêëY¶lªª2qâDòù<ååå¬ZµŠÏ>kÖ®åå—_F–er¹_¾î:ÒÉ$gŸuƒƒƒ´··3»µ«Å‚ùó©Ôã)/ÿýïd2.¸à‘Ïþå/cÖšîsïÀPUQ±×'[^W:£=ö‹Ñ ¯îJá•䣋íÑÁdUUùуš1Q LqpSŸðwÞu››yøg?£½½c?Þøàžxâ {ôQr¹OŵŒ8Ïð¸øh«•®¿žåË—›‹82‚[àq»‘$‰P(„Ýnÿp\# é=þøã„Ãa~úÐCôöôðû§ž¢$Œ,¤¦iø|>≪ª’J§ÍÝUî¿ï>ÊËËÍïe2™QwYQéDÕ4jk÷ -µáfÀßRê†?H ã*Rûﻋ.¾˜%K– ( ÿqüñ¸\.’ɤyÓzMÓ„ ¼½z5™ÿù6mÞ<$ô½ïI’X¿nÿõÕ¯ÒÛÛK:¦ººš‰'rçwâr»±È2×\sÍ€ñŸüÏÿpñ%—ðǪªœ{Î9CÆ™ËåP»ÝN2•âáG!‰8½u+J(r ·(Q”¦5^;óÌ3¹õÖ[yó­·PU•†úz>ùÉOî¤ôDIâÞ{îáKW]Åü¶6|åå|쨣  kÃŽY]SÃ+¯¾Êÿüä'ttt˜Š°X)¹ÙL†úúz$Qäî{îA ª§ro¾é&®üÒ—X¾|9¹\޶yóX±bň @ºûúƒÔ×ÖâpØí¸w7çª/´ZŒ¡€ö—="kÖ®5 KòÑɨÝðV›_=ôn¯wgÌ[=CvÚ9ç ©l5,ž`0HZ§Ø-///”ºG"fù{0¤²²EQƒäU¯ÇC"‘ ººšþþ~œN'‰DoY.§“t&C^Qp¹\d³YB¡ªªât:)++Û)Û …ȤÓX,ÊËËñûýÔ××£iÉdI’°Z­„B!2™ §“t*E}}=TWW›Ê*ãõz ƒTë<áápŸÏg¦ùcºæÕ³)ýýýæùŠ•G  §*=@€šš4M#‰àõzÍk¤( ‡xßsQõL ÃíÆår™•Ɔ$’I,V+'®XAWW‘XŒJŸoܨ †Â3J7DQ¤ßïG¶ZùØòåH’D,%žH`-R„‚ ŠDÈårxÜn³_Q"±X!®åvù¼Ýêr:I¥ÓÄ dY¦ÜëEB‘N»h<^h~u» MÙñ8©tY’(ózÉë­Cél(×ïY0BÉf‘-bñ8ÉT »ÍFÙAbD µ€$‰æÉ“‰Çãd÷b—{IDç»°[æ +ò€–E’ð¸Ý;)òhhj¢¯§5—£§·—–I“vâXß•H’Äó/¼`jš†?äØcŽ!ä÷›M½VI21¢(ÒÝÛ‹Íá`ÖìÙ¼ý¯Ѥ×`íèêbê´iTVU¡ärtut ˆ"±D‚@0ÈâÅ‹éïí-` ÍŸOÿÀ‘d¯ÓIO?ÍMM̘5‹6nĪ»ÄÁH„ `o2º:;ñ‡B̘:•T6K8§Ü墷¿Ÿ9'ĺ5kG",<òH6l܈œNcÛÇ@s{]˜,eeef_PIJ²?ÅÀ„nÑhš†ÛédÇöíx\.â‰ù|ëp‡åóyN.ê†ÏëÅ‘‚~îÁPˆx*E:™¤UÇ2^ÿø¢Eø{{)óx­V²©¾òr*++èî6Þ:vì ™L²léRÂÁ Á@€Úúz‰™D‚îŽZ¼UU™=w.=;v`—elN'ùtÙb¡sÇMÃívƒ ÐÜÜŒÛë%ÕÛKoo/S—/GÛ´ Q’…ÃLniÁ?0€ †B´47\ hWl%)É~qG ±Z,ÔTTà*+£\UÉd³»n`ÝM«K–ebzw{uEµ²ÌÆ-[p «7±œ5 »ÍF.•B¶Z ùý…âF½ÝÄív“N§ øý¨Š‚&8.ZZ˜8eJ!®iä…\.‡ Šˆ’„ Ë4ÔÔ`s:éêî6{ Q$ ˆ"ªªb/jzVõzA)«¨Àfµ …|C|¬7S©”Ù61žÉ3­ÎþžÀõJ²÷EÕ4rŠB$`ó0uÊ”!(†ãqÁþ¿U«Ì ­ªi474°¹½t&C6—cppp’(ŠT–—³qãF²¹Áp‡ÃE–‰„äÒi²Ù¬ÙNT^^Τ ØÞÙ‰’Ïãv:$Ôß¿§‡ŽmÛúýCã¬FÏ^6K"‘ “N¥¨ª«CSU:;;QT•P8L]mí‡O@…ÏGGGáþ~º»ÙÞÞN*™<à×€8Ö"îîîfÇŽ»}0EQøÖí·c³ÙF´¦öÇÅÈår|ýæ›qØí¥BÉCPòš†ÕåbÖGàq»‰†Ã{ä‚}¼¨^Ó4œMuuH ²ÝNUm-óæÌ!›ÉÐ¬ÃÆ6ÖÕa·Z‘ìöB™ÞÐÚX[‹*ŠX].ªjkñ¸Ýx= ¶²WY>Ÿ ¯M–qx<Ô56b³Ûinj2Çe·Û)óz‘% Q–±8L›>I_ r£ IDATõõd²Yj8böl4Ö׃ P^V†Çé«WYµõõX,–!Ç? ­ÝâVŒñ0‘Žô~6›eîüùtlÛ¶“å”ÏçMÔÀÑÌìñœk´ñ¥Ói¦LŸN,"‹•ú}r‰á$gìÎ|‰4sOæáhóy§BÄ1Rò»K4ÇS^¹œ™ÚÏø÷UQä>kÅe™ÿ]¹’t:ÍŒéÓùòW¿Ê±ÇÃöíÛikkã[·ÝÆÝ÷ÞË;#ÓédñâÅ,Y¼˜p8Ì.½”eK—2cút.½â N:ñDjkjxàÁñ÷÷“ÉdxóÍ7ùÙ#ðõn`ÙÇ>Æå—]FGGÔÕÕÑÓÓûkÖð­Ûnãä“NbåOð‡§ŸÆérQ[[Ë7o»Ÿýô§¼½z5^¯—÷7là¼sÏeú´i|ž‹/æ¸cå¼sÏ-á¾ⱡq›ýÃhyv÷8ã=¿°ó‡wëØ#Ój±àr:IõÆíê;cŽåy$-,è• 6Y’efqwÝqñd’eË—sçwð׿þ•/\tŸ;ÿ|bñ8¹\ŸÏÇc¿øétš7ß|³ð½ï~EQøù£š±I’p:ˆ¢È¤I“¸õ–[8íŒ3¸êÊ+™5k¯¿ñ·}ó›œvê©\ãlݲ§ÓÉå_ü"¡`‹,sÔòå\ò…/ÐÑÙɲ£Ž*p:Y­<þË_š¸<¢X*ø>X¤3j_-šá´<Ã5±Ûl¤÷1¡ÂG®€Q$Äbµ’Êd°ÙíØl6êêêpy<È:`»Õáà7¿þ5ß¾ýv~ðàƒ|æÓŸæºë®ClGTÞn§®¾—ÛmR;].$YÆbµ"Ë26»ÇCeU©T «ÍÆÜ¶64M£¡¡t&C"™$‰pêé§`#4 ׋d±0}Ú´ÂyjkI¥R8tê[ÙfÃåvóÞš5%t0)  ²¦fïb`m=ò`±üLÌìC(¤0DÅ"ÒÉ$³,@–eÖmØ@2•2Ñ÷ÌÌ’ž> …B<úØclxÿ}æµµqó7¾A>Ÿ'“Ncs8 ßÓÓ¯—¿<÷Ÿ8í4î¹ï>&L˜`úÆæ±5 5Ÿ’ɪ¨®föìÙüäÇ?¦mÁ:¶oÇ£Wz\SH¾¨C—jù<6›#æÍ+­êƒHR©Û·c³ZÇøßŠ®$½ 1 ‰“§NEÍçQr9¬V+‡«Åb.xA `]šÆÊ'ž ººšSN9…¿üùÏäs9¾{ÇÔ76rÍÕWc³Zñz½¦ùûßýŽë®»ŽÓ¦ñ™ÿüOv{s©¨3¹¢ŸF’$*+*Èe2üßsÏqÕÕWSSSÃW¿ö5r¹N‡ÃOE‘Zîž»îÂWQÁÍ·ÜR(4ÓénJÿa³ZÑôŸ}éÒTq×ä#´îÆ$3ê TUÅb±˜M‹.—‹x<ŽÝn/@¶ê}Š¢`µZ±Úl(¹¹\Îüž¡PzñT&“AÒKÝGU/Ö22h¢(šïÏQDUR:Ú¡ªª&¾¯Ëí&b·Û±X­äôºŒRìà 4ozÿ}|UUx=ž}Hf@²oH-Éž)ó}HVÌã]¼ e‘Éd†à8 ‚@NW<#}OUÕ!¸ÊÆñ‹ñ¢S©ÔÔ¢ñžñ¼X†“í%âq“¾Ùèá))ŸƒVíÓE3göì’ò9Ð\°’”äpÙµ ÖÛ½yL¡èyIJ ¨$‡¨‹f€…·Û˜¯ï†0ºá rLÃÝ7”‡õsìî¸üÁ qÝ;Øß`üŽÃYiP¬Æ·Z­¦kgL4I’v›Ïiø÷µÝ»øN.¦Á¢‹Ç©(/§RÇÄÉårtôôPE‘½wj´k“Ïç9ù¤“Èê8Bù|žÕë×3iÂ*ÊÊÐ4¶lAfÏœi2·Ž4Ÿ„"%USUEu]½]];)—âêë-Û·›íJ9E¡®ªÊÄ2ÒìÅß)¾ïß²¦iX­V,£=tâÁ½½»% NX±ÂdO5v¬×_ß>ùä./|&“á¸ãŽÃ­;íΤ–$ —Ûý‘íB†Kàt:w9ƒöèìsÎB³s¸HMUS§LÁëó™´Ì;º»™ÒÒ¼#Ž@”$²»C:8ì}‹,ãÐkÔRé4¾²2¬V+v‡ƒö;LxÙP$B*•BÕ4ºûúØØÞNWOªª ‡Ùºe ¢(’H&Ù²m›ÚÛ͘©y¿U•}4S[Zh¬­%‰`Õëë¶vv²yëV’z,4–HŠDhŸ® ‹ÅöôÐíñPTR‚Áh¤©¥…±ãÆQRZʇ|€ÍfÃn³±¯¹™ÂÂBº=æÎK¤·7G øèÌ©*N—‹ÓÏ=—¯œ~ÎÏ9—\’æaéçÛl6žzúi.»ürþø§?aÓhîºûn|è!®úö·ùðî®.þû'?áò+®àþÀEùÇçžãŠeËX½zõAyÍÍÍÜpãÜ|Ë-øûpž$“I®¾újL&?¿óN¶nÛÆ²«®âž{îAUUŒF#ùe®¸òJn¹õVÜn7?¿óNvìÜÉ%—\ÂöíÛ¹÷¿`ý† |ó²Ëhmmå—O=¥K5ßy×]Fžùկرc×|ç;üèŽ;ˆÅb<¹|9Ë®¼’·ß~[÷ ßX¹’eW^É}÷߯‡M7Þto¿óW,[Æ3Ï<ƒÉhäî{îaÕªU|ë²ËhjjÊ1‚(ò‹ûîcÙ²e,ê)R©©TЧž~šeW^ÉÊ7ßÔ… ï¾ç®X¶ŒŸßu¨*‰D‚ïÝ|3«W¯æŠeËX¾|¹^ø¹iÓ&¾ýíoóÈ£rÛˆÅbÁjµòÜóÏsÙå—óÌ3Ïè•åC-Ôßgº•¤AÛ8úvÃgö/,( £«‹D*•CÅÑ×h«Š’®WRUÞ[µŠ=;vÐ h“R,§nôh”TŠÖ¦&|ÝÝ9 ¢(ÒÖÖ†ÁjE4°Y­DÂaRŠBqQ]-- ࢪŒ¨©a뎌3†D,Fo0xô‡`zf4b³Ùr~Œ’Ôo%©Édâ–[oeÆ <ûë_óì³Ïò׿ý`0ÈwÞÉÂ… ¹í¿þ‹ë¾û]DQ$ qÞ9çðËåËijjâêk®ÑI–z‚AîûÅ/øÞÍ7çP‚¨ªÊ²«®âúë®ã«_ý*×^w–,V¼T*ÅÓO?A’xñ¯å©§žâ™§žb×îÝÜÿÀôôôpÝõ×óÀ}÷qó÷¾‡ªªüàûßgêÔ©<ýôÓŒ=š¿¼ø"¿ûÝïxjùr‚Á ¯þãúþüÿˆ$I¼õÖ[üä§?å±G`Î1Ç0iâDî¾ë.þû'?!‘H°jÕ*|ðAžxì1zzz¸åÖ[1 <ýÌ3lÞ´‰_._Îß_~™7V®äÖ[naÑ¢E,òIFŒ¡{k‡ƒó¾ö5$IâñÇgá‚iwß磺ªŠ_Ü{/?ýÙχÃÄb1N^º”'ŸxE–¹èÒK1›ÍüúÙgYýþû<ýÔS¼öúë¼úÚk(ŠÂµ×_Ïí?úÆçÿù &=ñýë_yö׿æ•+yøá‡s&†Ï;Ô_Hj”$‚šÇÅ0©Üå«Óá ¥¹WQ‰X,­æ‘UB’½ŸÑh¤º¢‚ÆiÓi †™ YÒ&«^-tÊŽYNË(%»\´µ·cÖÂéH8¬ç€2Ïu·ÇCÓ‰Ïï§Çç;ªB°Ot,™HðÜóÏ3qâD}ì1ÆÏÊ•+)S§2cÚ4***0›L‚Àˆ#Ø»w/?ñÃkkù¿W^Á y;ß¼ôR 9묳t$Š"­­­´µµñÊ+¯°fÍ^Y±b@ýúp8¬‡4×]{-}ô‡ƒ††îàÖ®[Gii©îÚgBH8Ìý÷ݧ繲owæ÷H$¢Ÿ+®¸‚D"Á 'œ€ÓéÔ¥–W¿ÿ>cÇŽeùSOa·ÛyìñÇ1›Í$“In¾åAàkçG{G‡þPe‡[Ië—_~™[n¾Y!4™L”••qòÉ'c·Û]WG2™¤¬¬ ·ÇÃO>‰Ýnçïÿ;F£‘x<Îo» €‹.ºˆÖÖVššš9b•ååÌ;—òòrPU^þûß™=k>ö üáÿ÷“hþ$<ŸžÞ^¼~?n·›®înjª«Ù¾};n¯—Þp˜¢ÂÂAsi™nøl/3ÃrX?j”.­(Jš£Úngç®]¸½^‚¡ÑXŒ–¶6¶lÚD"§¢¦æßL‰ ^¯ßO—ÇC4ÍYqCØ¿?n¯—¶Ž*+*%‰b—‹ýÐåvc2›‘eY§”9öØc‰E"„޲…‡Otj4ËÖ™g’’eN?í4 ioo×uœ2Ϊªrÿ`µXøêÙgÓÙÑÁƒ?¬+‹a0ˆÇãˆY/€ÑhdÔ¨Q|éŒ3P…sÎ>{PVæp»ÝŽÕl¦¢ª ‡Ó‰(Šø=*ÊÊp:øŠÒR ŠŠÒ4©€»£C÷¢FIuM ÕUU¢H"ÇïvSVR‚Õá  ¨AUñvuQàt2nâD:ÛÚ(+.¦°´…` pT¢OÔI’Ä÷¿ÿ}nûá¹øâ‹é 9r$‹…D2©¿t™ fQ E"hjâÏ=—s¬‡y„±cÆðöÛoså²e¬v»I&“TUUQVVÆû«WSRRBGg'^pÁAUÛô‘–Vµ&׿–þïå—™¤UÂZ,ª««éîêbå›o2yÒ$ýüEaìØ±t»Ýüýå—ñû|ìß¿?ç2ÇNf•éØ_rÒIü÷ŒÝn'™H‰D8åä“s_YF‘ejjjØ»w/o½ý6Ó§MÃét¢j†â{7ÝÄM7ßÌ—Ï8ƒ¨ÆÏ”}m™sQh'åõù(ÑúA@N¥ðtué^‘ Ä£QâÑ(Á¬ðÇçv# ô:ïr¦®çÀž=ºÇôùÒÎ}ÏIUikjÊM®g:z{ ƒ9û´8€ ŠH’”s¼£ÒÅ\p‡¢(TF¨·—âÒR½pÇÖ­L™1£ß›¹uãFÆNœ˜ãêʲÌì™3UWGO €³ €1 ¸\.æÌžMEE‚ 0] ŦOŸŽÙd"žHðå3Î`ÉI'Q[[˼ãgúôéƒA¾õ­oQYYIQQcÆŽ¥  €E Ò ‘’eÆŽ“ÓÀ*Š" ,`ذaÌ™=›ªª*EÁn·ÓØØÈ°š’©”®X°pÁ‚ôwS§ …¨®®fá‚TVVêÇ\|≃AF×ÕqáPYYɤI“¨¬¬LÓ˜Íwì±TUU¡ª*“&M¢¢¢‚ÊÊJfÏš…×ëÅh00iòd ].æÍ›G­æ²WTT0jÔ(ªªª¨oh ‰P]]ýï:‘d’… RRRB8¡ºªŠÚÚZæÏ›Guu5ªª2~üx***7nÅEED¢QŸx"_:ýtýï9L¯´´”†úz 8iñbü~?ÕUU¼ýöÛ\ÝuÔŤI“ðùýX­V&Lœ¨÷ï}Va–×íÆb·c6™Hdµúdßã¾…|™U¬CŸ "á°îåõ5}?ËüdÆË6RÙç‘ý]ö÷}Ï){?±EÚì}„,ÕÚÎs(L Éd’XŽu}™¿×KQqñ¿k¥jF5šLüå÷¿Ïqó³QXTÄ¢“Oî7™—ÇЇªª¬Y³†#Fð×_gõ{ïñ«gžùÜÃ-½µ¬Œ‡ãSiFí’5ÿüoù©4£& κà‚k)TøØŠ”y -ÈÚªž« €ûï»ï SYцÏwõ¦k”™‰RYyŽf«<ŽL‚ÀqÇËqÇ›3› …õÓfüËwÃQdµZiij¢zذƒ¨‡ÊZ!e†1 óyJ–Ij ‡‚­xõU=Ï)+ÊAå$’ü=MMˆ’Äþ––t—}¦š<û¼úü{8׉Å8ÐÞž¾Ö/p8(Ñh¤°°—ËEAA^ÖŸ„³Ýn×·Ë–`Î#O¾@oOONO”¢(t{½ìس‡ÒòòCVm˲ÌÒ%KôízC!ö·´`±Xô&à{÷bµÛ™0f ‡UQ9z´^(¨f5žŠYlŒ} ï2Ûd2¢yQE%%M&½{_§³}ŸlŠ›¾ÇÐ=©¬ñŽ´÷Nl–øË‹/b0›),)aø¨QÜpÓMÅæ‚ à÷û9å´Ó°:Œnhàwß2Ôy]¨()¡¼¤$ÍšáHEj««±˜Í8\®Ãò(²=žâ´¥…CÑX «ÕJyU›·o§§§Q’hiiaóŽì=p >É2·m£½³“MÛ·£¨*»÷ïgóöíìÜ»Y–Q…¶o§ËãaÓöítdŠEÂavîÝËæ;hü>ªª²¯¥…¶m£¹­ QIÉ2›¶o§µ£ƒMÛ·ÓÞÕ¥Ÿn‡Í;v°sïÞ#Féõ° ¤ ùä“ôx½ìغ•™3fð•³Î"¤ug,îwßÍe—]F2™ä·ÞbXMM^=O%4ST•H8œËP µ¬îÊmv7|¦1º¼¤¿VuÝ ÑÐЀßëE–eFÖ×ëª,',X@QQÝ€>ÉÖÕ׳`Þ<œ.ãÇŽeñ '0º®Ž–Ž,V+ªªR3l çÏGVUšñ‹F£L<™9³fáñù(p¹hï줤¸˜%K–`±Zñi4#‚ PßÐÀÂyóU«ÝN(F–,^LýèÑtx<˜4ž¢£Â¡Q¤zzH¥RœsöÙLkl¤¹¥%g³’âbþøüó¬^µŠÒÒRFŒ‘7@y|¦9¢#YœÓ ¯ Â‚Âá0F“‰P$BqqqšdLóJE¡®®¯ÇƒÍl¦§§«Í† 8x»» úýìkjbå¿þÅŽ; …Ã8 P…ŠŠ ¼ÝÝØ­VLÚ"OQq1‰xœ ßO,Ã¥õûŸ8‘ÎÖVœ6áH“&cn³Zqwu,ã*)!‹áñzyãÍ7Ù¶};WV_ä‘C7'¦]ÌTJoŒËx;®ÂÂô*E¦!¸õ–[øåSOqýw¿KWW>ò³fÌÐ óÈãp!Iæ A{ƒ’M§›ápR²èH²'ÎÁú¼2¿ÙMÌ‚ ŒÇ E£Øív½ ¾ï>ªFk±Xôw Îzzp0gΑï¼óŽî½´®ùX,†ÉlNw¼kž›JÆô8ªJ$3Žö}v]”(H’ÄäÉ“Ó$üÚy„2t/GªjmjÂætR^QÙjEÖ(!AÀæp°}ÇÎÿú×s–êF#7Üp7Þx#«ßŸ .¼=;wþ›û&<·›ž`ÊÊʃB AhëèÀ¯ådUeü˜1‚ÀÖ]»ˆF£¼õÖ[Ø-Êá È}Ó§N%™H`2™^UEùÌ™H¢ˆÏãA‘efM›¦¡QǧeªD‘¢‚ÆŒƒÕf#™Jáíê:²Âé¾t£ÇŒAÖB¬={÷ò·¿þ5mLÌf&OžÌ ‹‘L&Q…çž{ŽóÏ?ŸÝ»wóæ?ÿI(bøðáœsöÙù7)ÿ8¿s(mxEcoÌN*g˜)3jƒñ ‚À¦Í›™2yòA^–ª(ébÃ,ÆÉLè—YeÊÐô Y,“BaÃÌ8Š¢ðѶm|éôÓiÞ·ï •”þÆé{Œ¾Ì—m›½ýg…OœŽCȬ ( £ëê¸á†r¾ÏÐxŠ¢Èù矪ª444ÐÐÐpЉå óøÿ°D~%öÃQ-ÂarW«ªÊ¤>dzÙÏß¶ìMß|“ 9çÚ׈¢ÈìiÓe9§†§¿ã F:öq¶=’ 6ÎwƒÍ2yä1ñihÃö®$“É4­jþ8|”GG+$Iâµ7ÞøÌ(gAè×kË#o€òøB–eNî#L˜Ç4@™<ŽÑhÄd6c4äˆÎãÐG»¦t‘ÿû äá!á^œæ¦&¶nÜH°§gA6|x¿¤Þ™¥yƒÁ@AAªª …°Ûí_h†EAÔMgg'á¬V–<>ŸlÅ«¯rÒâÅùÉ`¨ ƒÁÀûヒœzÆ©X Šˆý¬Y·wW³;î ÎèD"ÁìcŽÁårñÞ»ïb2™¸úšk¸ÿ¾û(--Åj± j¶áPè : «ÕФ©œÆ"R©ƒ‹&õFõÊQ›Í† Iȉ’ÉD¸·»ÓI*‘À`2¡Ê2‘HHˆ3Ò·¡Pîrªæ™dïÇõ1£á0²,ëÿˆ"Š&ë`³Ùµž x4J*•Ân·“H$0iu,‘PˆÂÂB:»ºƒ8 ôñPš°¢~žŠ¢HoOOž÷S Á–.Y’§dª!˜ ´·¶Ò ²è¤“øîŸ}8/ïüÉËÂOÄfµÒÞÜÜïËa$.<ÿ|þô z)¹ªª|ïæ›±Úl,X¸0çægÿë¶Û°ÙlÔÔÔ°ê½÷E‘M›61jÔ(ÊËÊXùæ›zmÅy_ûv›Ÿüüç”hµ’$ñó;ïÄjµrþè%?þ8L™2·Û³„ÙÛÛ‹A’¸çÞ{±Ûl|ýüóY»n£G¦¤¤„-[¶èM‡'Ÿr f³™«¯¹£Ñˆ$I\yÕUP]]Í?ÿùOEáìsÎá…?ÿ™ââbêF¢»»¿ßÅbAEL&ÿóàƒØl6¾üå/ÇQU•'Ÿ|‡ÝÎWÎ<§Ó‰ÓåÊ?¡Ÿ¢ú¤ÂëìßÛ£ÒÈÍò¨¿E‘>ü™sfsÏÿµñä?Z Ådž~­ÿ~±™i³g²}Ë–~ P,ç;ßù¿þõ¯sèÞX¹×K4áœ³Ïæ‚ /L{Y†àî{îÁÝÕE[[ÆÇ`0pù²e|°v-­--üâ¿à™_ýŠaµµ„#]gÒ}lÇsŒ®Å½nÝ::::øÛK/á÷ù¸çø’K°;9笨*Ó§MKÏlæá‡f÷μô·¿qæW¿ŠÅfã”ÓNãÒK.IKE‹"¿ÿýïQU•¾û]‚Á ׯç–[oÕÛV¶nÙ‚Ïçã?ø^tf³9]@§=¨c4ÂòŠ ÞX¹’žžþ÷ùçñz½ÜzË-9ŒyüûD£xý~"Ѩþ²Çâñ´^¼×KXóL?Ž6¼¢ªøbñ¸^=ÝÓÛK <$µGfBlíèÀát¿ýK IDATÖ5ìÚ·{†6ä Š%è¢á0Î'{º£`ÓI;“Èž®(’ÑL¬O³^ö q²hÑ"¾ÿƒèùŸÛ·sÞyç …øògðÚë¯C–³Ûíü÷w0aÒ$N;í48À¦M›hœ>ºúzþù¯°mÛ6¾yÉ%DÃaÎ=÷ÜYä%K— ‡™9c±xœÝ»w3wî\bÑ(Ó§OçÃõëJ@ªªÊɧžJ4fÖ¬YœýÕ¯F©=š¶¶6PUvïÞÍM7ßLmm-ÿûÜshnFV¼ú*£ëê˜6c›6oFEbñ8×\s Ñp˜ùóæÑÒÒ’ãê§R)ÎøÊWˆE"Ì;—H8ÌÞ½{™¿?·bYk0[­„£Q*+*Pµ„µÛçc_K Mmm´k½V`¦ÖVöµ´Ð ñá¦MF6ïØ/`_K » 'ä@k+{››ñõôè5A»wïf_K ûš›uƒÕåñ°_§ËãùB¬˜z!¦ÍœÉŠ¿ý“NÁ?žA‹7ʰb e^}韻pa¿u~và¯/¾È¼ùóQU•Å‹síõ×s̱Çb0øÍ³ÏÕ^2Aèééá]D<G2øéŒ$IÜxãÌ[°€d2ÉÔ)S¸ÿ¾û¸è¢‹¸ô›ßä‰'ž`öœ99™Ù¡`"‘`Ĉ”””0áBAàáÔÇíÏUÇã$´äzö7/þå/\øoÐÓÓCqI ·ÿð‡Œ7ŽÚÚZæ{, ´··êíÕ«( @€d?„Y‰x<ý•—SWWǼùó7~|~ufp'bÎ ßzƒAE¡­£ƒÙ³gÓ›õö›ês/DAÀl2!D"êèèêBQUŠ =z4r*ž¦&Ì6ƒ”–•1|Ø0zƒA47SR^À¨úzH¥hko'‰ÐØØH0`ÛÎÔ×׳{ÿ~\.¥¥455á¨*+£¬¸˜ÂâbRÉ$»÷îÅáréœDGí=H^zÞ{ûmæw%eex=6}ðÓfÍÂUTÔo¿—ÍfÓgoAÒjZ>Ãd2a4‘e™X,vF·ÕjÕ›þb±Š¢è"uj„Ì~f³“ů½ÆM7ßÌÆõëÓ/¿6–ÑhL“˜Ë2ƒAgŠË7gÌn?h¿L’<ó XÌf$ƒEQÒÒE²ŒÅbÁ`0è½>áp‹Å¢'–EQÄj±ÑxfB¡‡#gs¿Â‘&› £¦ä+haÓ¾æfÆ‹«°ŸÛ=h&ûþ˲̎½{™;gÛwîDFÅæ­[™>u*û÷ïÇë÷£’–,Ÿ¿`{wª %'•J±eçN–.YÂ믿Îi§FÓž=ÄâqQÄe³‘H$ؾ{7§œz*¯¿ö‹O:‰–}ûˆÅbxƒAêGŒ ¹µŸv½ñXŒ%K—ÒÖÔ„4„«¨?5mxUU),*â„¥KélkÃÝÑÅfã˜yó°ÚlòÏF"‘œÏ³k^‰‰¬|Möj¤)*û›ñ²? ÀwÜA*•bûöí<ôàƒÄb1}¹<“gÉιdÿ¿ï¸ápø ýúû.C<žsœxZ¿ÛÍ¤ÆÆ´|OÖ‹ÇÝРs­M&JKJø¯ügV§p†zcÆ 8NÊÊÊøám·õÛ€™Y2ÍTC§R)fCÖ¤u3çûÁ°xɾtÚi$“I®¿þzºº»Ó<Gš£Çd"•Jé+™*iH¯„|Þ5Ny|³®(²~æO›–÷Œ‡¢$žînZZ[Yzúé «­Åb63løpN9ã ’ñ8îÎÎ~=£ÁÀsÏ?Ïï~û[žxì1&LœÈ÷ÿë¿°i_¿Ÿ{î½—¼ú*øýï¹óç?§  `@oçŸÿúS©¨ªâÛW_=`‘–$Iœ~Úiüîw¿ã¹çž£¾¾žqãÆ¡ª*ÃGŽäÑǧ²ºšk¯½VŸ_}õUê˜sÌ15(æqtBQ¦56æC°¡j€DQdúuL›9SïUÊþ®qöl¶nÚÔˆ% (zÖ駞ʋ/¾˜£ÙTRZÊñÇÏ…ßøÏ?ÿ<]]]ƒ†kEEE¬zûmºººH$Üsï½nßÕÝÍ{ï½Çšµkéíí¥µµ€––ª++éì줣³“5kÖàóùøŸ‡b×ÎÜÿý\zé¥:GQCBÖ³¡Scd}ž’4ÁúµÉ¦o~ð ‚±žÉh,ö±Î9³OÞã:ŒLzƒAŠÐ×¶ÙíD>F“dß›‰Dxù¥—Ø´i{öîåâK/åé_þ’Q£Fõ»ii)Ë®ºŠæ–¢‘ˆ2õ‡D"AO0ˆ$I”–”ä|wÞ׿N4fÑÂ…„ÃavïÞͦ>bÁ¢EÈ©ï¯Y“ÃQ”ÇЂªªø{zðRèr!]½¡ª¢àp8¨(-=¤'›ÌêùmmT””`6™H¦Rtvw3¬ªª_^ž”,ÓÜÞδ)SÒïÁazÍ{›š8á„èlkÓ¹‚òh€]Q]MKs3………5öyº»))/ïßš«*h75•JñÆÊ•œ~Úi¨ZÈ#j}[Éd’éÓ§3kÖ,šššèììdÔ¨Q9³RfÌ¥'ŸÌò'žàÄ“NbÅÿý¿ÿü a55,9é$ÜtD«¤Ëú‹‹‹¹è¢‹¸ÿ¾ût¹P0˜Æ0LF##GBÉx<ªŠËé¤qÚ4Lf3[·n¥'¢h€>ó|——•å<¿å%%B!*JKqwuQ[[KYy9--iví¹T´¼c†?HEKhk+³¢(¢hÏoF*ZÊRT5™Í¤R)¤>g™”@¦ÅHÑ䟕¬cdŸƒš5ÞQg€dYfú¬Y¼±bµÃ‡ç$‡EaÚ5̘;·ß:™Jqå•W’J¥ÒÛÀ=÷ÜC4¥··—Ÿßy'wþìg|û꫱ÙlºrÆ7/½EQxøá‡¹öÚksŒÀI‹óð#ðâ_ÿJo(¤kÓ÷ƒ¹É²LXëÆÏܨþˆ½WÐÈ‘#QU•K¿õ-DQdt]·Ü|sNw{C ÑD"-n Ýg«ÅÂæ>" a4™8y2=^ï +µ›·laò¤Iúdg1›ééí¥ÛëQ¤¢¢‚ŽÖVö573uòd¢á0þ@€”ªR®yÖ¢ àõùH( %¥¥tuwS]^No(„7 ¤¨ˆD*…ÍbÁf6#I;wîL{mn7%……Ø­VÚ;;±ØíX,¢==»\ttua0±ÙlD¢Q,F#Å……xü~b±¥ååt¹ÝT––êîˆ §ãòtw³võjæ/^Lyy9n·›uï¾Ë¤ÆFJ5ò¥¾3KÆ:g»·+ÍÏ#ËrÎÒy6¯sߥyEQtc—!Ëðe7¥fÆÏ|–O’$}\²fQëøÏ>v¾8ís~ áÊ ›(ÃZ)I%¬ûà*ËË1¢›\QՃ p$ÂÞ¦&Ž?þx"½½¤’IÜ^/ö‚\6·neîœ9ôìmjbzc#«V¯æ„… ñ¹Ý´uv2|øpº»º°9TUVÒ©±&Ξ>÷֬ᤓNÂïñàñxH.»ýÍÍÌ™=›Î¶6´µÑ8u*›7ofJc#j*…»»›¦ÖVf66²jÍ-\H×K[g'ÕÕÕ$£Q„Ïé¹ýÿå´¨¬¢‚…‹s`÷nþ¹bûwíbÖ±ÇRVQÑïì’éR7hJ’”Ë…+ºÈÞ.cp2û÷ 2u=™m3ÛôíˆïûYf¼ìquC£Ñ÷Øy íÐ@H¥Rtµ¶RZT„¬¥;Ž1K>ãu{<466²e˽S¾¤¨ˆeì6§YcÌÔ9¥³B(»Ã‘&̳Xðuw#Š"‰DB/ˆ5DÂáô3(I(Š‚Ñd¢W ýS©®ÂBTEÁjµâ÷zÿÍø©ý»{Ϻ|> f3ÅeeG´º†8ØL¤( 6»‰ÌY°€IØ5ò¤|ž$ÏËCÊp@‰Zy$MOJ¢HGWN§sPR÷L7|æÅ–$‰N·›ŠÊJ ].,&q­ÖL’$ صg'L GcFTIKPY-:;;…Ãé h>pI’èÕ4átcÕON+™H‹ÅH&“H’”cõ¼ª6žÃf£À餪´”"§·Æ#~T倲ovNr¹¿ÏóÈã34>-mmÈ‚~?Šª2¶®·Ï‡ÛïGEj‡ £¤¨H§»(ǹ䤓t‘ËX,F<‘`ÔÈ‘t¶µQZ\Lkg'Æ£·§‡²âb±…ÅÅ´ìÛ—nñ±Z‘…ºáÃéôxH¥RÔM*‘A ¤¤„}ÍÍFfΘßëÕkáTÍó6k4Á5••4·¶"ˆ"S¦LÁïõb¶XÒR»n›ÆBZ7bÝ^/m±f‹…Úšš#š93OǑǂ «®ÎÑuK&TWT`Ö0EÁÝÙ9(%kö$ªª*&£‘ú‘#ñºÝé\`Tm-ÉDƒ$ŠD¨¬¨ è÷#Qdxu5‘Þ^DQdxU&³9-@àó!N§“› “É„Ïí&S?r$]íí€ÙdÂd6“ˆÇ1Œ9ƒÁ@2%‹QU^žáQù=@UY&‹4—ø‘Œ¼Êãˆò€ —g<ƒh/`0ã#I¯¼ú*K²´áu.ðôÎȲŒ,Ë´vtO$˜9c¯WOöŠs\E’±˜îeŒc ŒŽØ'y.v»=ß«óExèE‘ 7vÙ…¾òv˜ÆDß6o|þs”)öóû|¬|åþø›ßðÆ+¯àË®Kèï%v8°;黽ßÎõÌòff[«&ur¸$‰–––žrJ¿}a‹E?³Ù¬9âñ8ãÆÇ1H GòÝðG€%‰ý{öðÞ;ï0fÊμðBÆNžÌêwßeßîÝý¡x™Ûo»m@í–[oåg?ý)ÓIÉ2;wîÔcþ+–-ã@s37~÷»œzꩤR)V¬XÁý<Àü ô¼À†¹ëî»qww³xñbnÿáøåÎüàzøáƒâwQéììDEÆO<‘@–eêëë)-+cÉÒ¥,X°€×^}•ÿþÉOرc~¿Ÿ»î¾›+V0yÒ$]6ZN¥xì‘GxͶlÙÂ݃ðåqäAUUÊbsdŸþ~?œmÕÏàzôß”]+¯¬ìw'§ËEo Àá8°ºšdÖ+‰ðÁڵ̞=›^x¯œuT®ªªÊرcY¾|9Ë–-Ãjµ²uëÖ~Ï9‰`Ôˆó³ðùX³v-—_v’$qáp ¹™]»v±`ÁDAàÄNÀb±¤=½1cxæ™gXvŘÍf>ú裼»>„§l‹¾¡z&¼ìEE‘-[·êÛföEQ§Éú¤A %Ëx|¾Ã:GEQèèî>ˆ(íp ‰”Å©~¨2nUUñȲŒp4 UU))/§syÛ€ßOaqñaYÛ5Z÷.}~f³™sÎ>›Ÿÿìgœ´x1M xŒ“O9…3fðÀý÷ó­o~ó œR&±8jÔ(‚==D²ŠÒDmµ  GË3ƒAŒF#ƒAÝ(fB°¯œy&“'OæþûîãòË.ëw¼<>Ï¥£»›ÍÛ·Óåñ$ ØÞÕÅæ;%iÐQUU&Œ¯ŸæÖV6mÛÆ¦íÛÙ¸m›¶mcýæÍyå²,“TÕtTp^Ç磬ªjPIÍúWdEÑÏaóöí´vt  ²¿Ççcd}=^Ÿ‘ ÈŠrÈsò9 EQ˜>{6o½ù&µÃ‡çÒ”ª*Ö¬aÒôé9ZܤR)–/_N"™Äï÷³vÝ:|ðA"‘Ñh”¿¼ø"çžsß½ñF&Oœˆ ¬]»–¯ík(ŠÂŠ+8õÔSsJåG××óîªU´··óêk¯éËåÑH䠥΋/¾˜›o¹%J¥Ø¹k?þñ¹ãG?⪫¯fæôé¬Y³†Ë/» ›ÍF[{;=þ8@@Ï ÔÕÕñÞêÕtwwóúÊ•ùôB‘ËEEeeúEÓžG€xVÅqIYîÎν‡LWz¦º¸¶¦†Y55È©+ÿõ/NÿÒ—èêìÄb6ã÷xe™D"d0 È2`h8LAA’(¦ùz4¾EQ†B8³Þ™D2I8FQUlV+6«•”,FÓ ‚€+K´à´ÓO'‰°yËD£5™$™J …D—Óùïë˺NUQ„äd‹É„ÝnÒÞû€Œˆv‡ƒ)ü㥗X´d E%%ø}>Ö­ZŨѣq:uÅ›L&Þï==—b4™¸êÊ+õz“ÉÄñLJÉdâöÛn#‰€ªòµóÎÓ™§OŸ~ÐùüòÉ'éêêBÎ<óLb±………¼ºb…>Væ¼Ï;÷\Ÿx"½½½‚À¹ç‡ÃnçÆn ­­d2É\ «t<µ|9»ÃÁ…\@4摇Jç“´ñ²½£<>_˜M&"¡F«U'$“$‰n‡ú†|6ry]’$^_¹’-Ò'—ŽÖVÝÓHÄã¬[·Ž¥K—â÷xH$“¨]K0¤ª¼Wq1-ÍÍTáñù˜5g--(ŠB·×Kuuµî™Ec1*ªªp²~Ã*5>¬·›úº:*ªªèñzjÍèîè ‰PX\Œ»­Ööv&L˜@$£' («'.Û#²;4ŒM4EM¥†4Ë瀕Њ¢0løpœl\»– ß³¨ˆIõKÉ!555ƒÞø#FèIÀþb窪ªƒ>·Z­Œ9Rÿ¿CûÃgnrNœ4‡tiiéAß 6ìà|–Ó™#¤( ‹¥ßñòøüó?}“®‚ àõûq8µéP ²,³dñb½>s¡§Û—C  À墢ªŠÎ–BÁ ǧ©µ5gÛ¾$|±h4Ýo6c´XÃaÊËË)++£³¥%'ߣª*kÖ®Õ¹‚DE!‘Lât¹PT•^¿ŸÖövêçÍCݵ+÷E$ƒæ}û0jrVG\–H+p¹8fþü´›§1æù€òø¼r@}Ÿ;UUéèìÄYPÀæ-[P…»vQ”¢ b̯ï¸Ú¿A¿A‘E' ;ˆÃ'kœýÍÍTTTPV]ÏëE2uÏ-àód0AàØ¹sñ¹Ý4·¶ÒÓÛ›ÖÇ3 *kk©ª­Å¨-šd£¸¨Ñ`I¢¹¹™ú#޼$tß›¤( Š,ë®mÞøäñyy@²,§Å)S)RÉ$ÆgΜ9LŸ9A˜>cŽ‚‚sw™nøþ<%UU‘D«ÕÊÞ={e™N·[æ{‘‘h›ÍF*•Âfµ²{ÏTU=(9®ª*±xœòŠ z}>Zš›s¨`3¼é}ß©p(DO @°·—— ³ÉD,¡×ë%àvÓÑÚJGsó¿½&m¿H,F2'ÖÛK,¥²¶vHç0óͨyQè q•–¢* *àr¹èñûi?pEU©­©¡7$¬å ÁNY²„dŸnxA¨­®FQUFF,‘H3‚N˜€ IDzz¨¯«C¬N'#FÆÓÙIYI ‘xÕl¦¾¡@ ¤“Ûõ£Fáöx°Z­Lœ8‡ÓI´·—‚‚4]G¶‘†UWãñùL&ÆO˜Š‚Á` ¬¸˜„¢`²X(-,Ä T–—#e%%:Õ°"Š˜,fΜyØå2y”G‡‚"d-µ—=³Œír8ðuwòXrŸDuÆK(.,¤½¹I’p ËÄ4îAÒDøé°og§–9´¥ùX(„Å`  RètâîèÀd4be’Ñ(þhƒ$‘èÃa” õŠ ô²•x(D\ã?2HIE!‰ÔÎ÷Àž=¹\س›Õª÷úýËzd†`yä1ÔB°þ¼šþºÕKˆ¢È‡ë×$˜p¸û÷ü°(:ý,;>À±>N'þºoÞå‘ÇgEQ˜>mZ¾~¨ l}¯¾Ë„G Õížir=Ú®û‹îIübÊP6@™/ÔÛËÚwßå/½ÄšwÞ!¤qÈ”áÒ~ŒYM¨ƒÁf³éûèêŸò ¯( ·ß~; Mˆ±¿kp°|ùrš³Vò8òï“üÍcˆ AéhkãW_¥¤ºš'ŸLiu5¯¿ú*í­­ý2#Æãq† FIq1EEELŸ>gó›Bíþ¸bÙ2ÊJK)/+ã[—_®…츸oÚ@Ÿg>믃¹ï~ëûTÎ& &MœHIq1ÅEE8\uÕU9…‰wì<†TU¥âcvÃçñ)E ¹¨1­cýŒsÎÑ+…‹ŠŠÝÐÀ»+Wâ*,Ä–Ý#–e„¼ZÇpg{;?ºã<߻馃4×UUÅb±pýw¿Ë™_ù ËŸ|EQxóÍ7‰D"lÛ¶?þéOD"N<ñDÎ:óL8À++Vàîî&‹qÓ7âÔ<­_?û,kÖ¬aþ¼y|ãßÈiJ?þéO¼¿f »«¿ý탪¥3ÛEc1ý^øÓŸ˜5s&š› ‡B¼±r%²,só÷¾‡ËåÂb±ðøO°aÖ.Y™gž™×—ʳ®Ö ?iâļŠHEÖ¯YÃäéÓqj’²Çf³1ëØcY¿v-ò°÷ IDATÇΟP"/³‡q:ÜtÓMÌ_°€ïÿཔ¢(ؼe Ï<ý´n0Ž=öX k֮嚫¯¦¨¨ˆ/}ù˸\.\Üvûí|°v-[·nåºë¯çÿðzè!þùÖ[üá÷¿ç”SO%sÑEåôpóóŸþ”uëÖqñ¥—²òµ×̨Z¢ªª¼ûÎ;ÔÍŽ;xðÁyãõ×yeÅ Î>÷\Þ{ï=®»î:bÑ(?ô'Ÿr §“óç矮!ì7.o|†j&î®.ªµÞ©ì~€¢’}*>‚Ãn×i0ú§§§G§?Í~@dYæ¸ãŽãý÷ßç…?ÿ™i:»áâO¤vØ0ÌŸÏú D‘WV¬à‰ÇÃd4rß½÷ò˧ŸÎI0 ‚ÀðÚZ^xáöìÙÖ͛‘ ý—A9Î9ï<Î=ï<î¾ç”M–e¾§y=§Ÿv«W¯à·¿ý-S§ò»ßýŽÉ“'óÎ;ï䟬!n€ŒZ;ĺ¿þû`ßå Üæ©ªŠ«¸Ow7….×A߇z{Ó¥î‡áênÚ¼™9sæôËQ¢( #FŒ@Ðò@™PÏb± ( ÇÏ›ÇÏ~òfΚE<#¥y3)M·[–åô •Æ÷œá~ŽÅbºìmæ<|>W~ûÛüÏý÷c±Zbz̹¾Pˆ?>÷œî}ÿûßÏüa0diwg_lj'žH<‘à¸ã§¤¸8ÿd}JÈäßT­/1óYvM¢(ƒ*£fwÃgúsÚ2TEËã TWÓ ‘L¥(v¹r ý2ß%’IJŠŠò7ì?ñ€EaÚ¬Yl^¿¾ßÕ‚k×2i€: EQX³f ~ø!zá~üãóè# ‡I&“lذ!çf' n¸án¾ùfV¿ÿ>«V­âšï|‡]»w£ª*‰d’Žöv~÷‡?èû­zï=þù¯ñ›ßþ–¥K–L&9ÿüóYvÕU¼¿f ·Üz+7ÞxcNø•ÐŒV$åƒuëtºþäÉdRWÆTY{ 3¸}që-·ðó;ïÄïó±k×.ÚÚÚòOÖ§ä¹ttw³}ÏÜš² $“IÖoÞÌþÖVšZ[õªèé†ÏY–ùpÓ&šZ[ÙßÚJsGÁ¬VƒdE¡¢¦µŸq œNÆi„gÇ›ú"Bºø‚ îP…êaÃõöR\ZŠ,ËØìvTYfãPUSƒÙl¦··—µï¼CQq15µµuÅ‹¢Èœ9sèêì$ QTTÄUW]Euu5ªª’J¥Ø¶}; 9ÝÓ&M¢¾¾žööv‰'žx"cÇŒá̯|…îîndEáòË.c̘1D#ZZZ˜5k….]t“&NdÜØ±´¶¶òµóÎcþ¼yºò¥ªª8N¦O›FGG#FŽäÜsΡ¶¶–1cÇRS]­7AhllÌ¡î>|8555ÔÔÔ0bäH¢(2{Ö,êFbî1ÇPQ^NGg'V‹…1cÆ y„¡ìáxÝn,v;f“)‡#ÀnµRZZŠÉbAÊ4K«*IYæ˜Ù³)t:uiåA]“'ó|øƒAÌŸÓfÃépàöù  ’DSk+E.Wº~HcÐTd«ÝŽ’JO$hioÇëóéÇu»Ýˆ¢ˆ×çÃßÓƒÇëÅf±‹Çino'âÔh^R©­ííxlV+’$á HiÒÐf³Óa–³|0™L$“IbÑ(V­„FÈ¢•Íüø½^ŠŠ‹éhmM×¾ùÊ+j*•bÆ1ÇÐÑÖFý¸q$5¯GE|n7[6n¤ÇçÃU\Ì„©S)+/ÿ\(9$Ibýúõ<ðàƒ<û«_åcì£Ôíڶ²2 zûɆÂaÌv{º/KUI¦RìÔøoìV+Ã*+íE‘¼þº® /Ë2;öîeþ¼yx4Ï8‹Ñåñ0¶¾ž?úˆE àîì¤Ëíf”)ìÞ¾òª*‘{›š˜:u*EÅÅÄ¢Qš÷ïÇURBÐï§½«‹ cÇbs8øpýz\N''Ndçî݈@¡ÃÁî¦&&N˜€ÓédÓæÍÔTTÐÒÞŽÅfcôÈ‘ѤIa E¯Ôîp‡ x½•”¤k³ÄL%ƒƒÁ€ ìÛµ‹Qõõ|¨‰Q ʤ* %ee,:ùäÇÝZXòyå)ŠBUUçsNÞø|ÁT߉iú”)ØvíÚE8‘À>ˆ:P7|_#¥¨ª¾Pq~úDˆ'”•—c4hÙ·I’Ò!»¶mEEf‹oWÑh”-¢õÀÌ’DRUI) ñD‚ŽÎNvíÚ…?`Ú´iìonfüøñôx½ø<ž£V•Åp¨­ª*rŸ<ÉçU¬( åååœrÊ)ƒ&ó8zs@ý’‰‚@"#‹a61šÍ‡”—é_ ³“Éýå„vwªªiÚ m̾ũa­{ sæ QÓ]÷“§LÑ–$Š u"D"‘þ /”Ê3_Þø|1=Ÿ`(D°·C4Š”—–Ij‹ ÁPˆÆáÃéÕh:òn>\¿žÓ§ëÆ"•JÑÑÞN°§‡d2‰Œ?ž€ÛÃfKŽÉ2ÁP4#“YÎxR©tîÔjÕ“Ö™üTŽË"S%M~f2±ñÃQEU©(+Ë}Öâ{šçÊ㈂ÙhdƬYºö—’L’L&qÕÔ`s8ÒG08¨4Mv7|f ~ê¤ITTW§•^%™ÄßÝM"‘`ø°a8\.N'±H»ÝNÓIiI mmT”–ê}ƒ’(ÒÝÑAiI ©h”â²2‚/Ïø1côó¶˜Í—– (-.Æb·ãt¹E‘h8Lu*õ…XÈÈ <Ž,d6Óž¥!'h5`½@š«™ôâÉ`^r¦¾P“ÏT¾gŽ›Éïè=ªJ( WÓ“÷{< :š›u–ˆp0H¨§G¿³¥QðuwëÇ‘D‘¦]»µZ2_†êUˆ…BDz{uzVI’Ø·sç ŠÁy”GŸú{)?n’¶o[Pæ¥È`õg̲¥Éû#–rò7‚ hûtLQD:Œë<ÚpX|@‡ûù‘ŒOâšòeøGν®¨¨Èߣ¡l€2|@±h”›7³î½÷ؾy3ÑHäðù€ŽÃæ²X,ú~)åÏ‚èÙßü&G*3®$I9×1Ø5gÏ‚MMM¼öúëù$ùP~èE‘­Û¶Õ«KG¼ÊT¤®xé%07u*‚ÁÀŠ—_ƣŵýñMœ8§ÃÃá`úŒ¼ôÒK‡ô¦‰7Üx#………ñë®Ó«T?í™ðÅ_ÌYZUUƒÁÀÚµk™0~Oeu5[·l¡Ûí¦¾¾žíï¿Ï;ï¼Cii)«Î;EQ$‰µk×qeJöAàí·ßæƒÝ»±˜ÍœuÖYúy4pì PVÞðT'¡$Jï¾ó³)((Ô·åt:Y²|9[‡¨ èž“(¦ù€‚A ùÉÝws×~„yGA‡Ã¼ùÖ[\{Í5„C!¢Ñ(—|æ3TWV²ýý÷™Q[˲¥K¹õÖ[Ù°aû÷ïçÊ«®¢²ªŠX,Æwo¿«ÕÊšÇãÿÝ{/§¯\ÉíwÜÁŸŸ|r\.@Ww7K—.E®»þú§95MãÇ?þ1|â ŠŠŠ̘1ƒ/_Nkk+7ßr §.]ÊK/½ÄÏï½—\‡ƒ½ãž^»–%K–pç]waµZöŽ–žz*V›ë®¿~Øþ86$‰×­;a«‹{$]ííTO›¦¿øZ\V¦÷ÌŒ‡üü|zFÑiE‘ÞÞ^,Ë c ª*ÉTŠsÏ9»ÝN,ãâ‹/fË{ï!gœ~:§,ZÄ¥—\Â+¯¾Š,Ë<ñÇ?òð¯M]]?»çîûÅ/†Ο¶báPˆšš¶lÙ2¢AH&“jª«‡…ïmÝÊå—]Æìúz¾qË-üûÏ~À#<ÂC>ÈìY³øöm·‹ÅÐT•3N?p$BEy9œSªÇ Eá¬L7¼É˜Ò4róòðRMFG¤céIÓÒÒ¼yóFü<Ë”J& eÂ6HÔ›Íf.¼è"^{í5ºº»ñz<‡ø_Ôy¨ªªkÖg¸,Ë邲5 rõ¾Àž½{q»ÝD‡ˆÂeaµX¨­­åï/¼€ÕjM»ë²ŒÅlFI¥ô©WQõÜQ6iýmAˆD£\~Å´´´Ðív‰D wÁ¸“Ø©ªÊ‚SNaÛ¦M#ÒlÛ¸‘Ùóçúñz½ø^ã n¼é&~õË_ …PUu;¢š¡Ú¸õ¶Ûèíí¥««‹[¾ñ Þß±ƒÍÍœºt)M ðìßÿ®{,/¿ü2-{öð /°ôÔSI) ]x!_½á¼>ßüÖ·¸þúëu®Ÿ,IT(æô•+1›Íx(jz:ª*>ð_¹î:Ö­[‡ßïçÿþô'þçw¿ã”Å‹YóØcôöõñ«à_n¸€+®¼’Õ7ßLo_?øá±Z­„Âa|~?§¯\InNn·Û¸Û>‚ܪª:OÓÀ¾«ìrEQÒËÆ˜±Ìæù†Ê- ÛÆ€ûcèëGyLŠ¢¤ÉöN²€Qù€ò‚~?{v怜¢“ÉD4eû»ï"Óëꆅ(‚ ŸŸÏsÏ=Ç;7‡¹íÖ[™YW‡ªiD"yôQV à’VU•Å‹cµZùËÚµlÛ¶â,]²„U«V±víZvïÞÍ¿|íkTL™Àþýû€Þ¾>¾}Ûmˆ¢ÈâÅ‹‘e™§žzŠK.¹„ºì2]YCÓ4\%%%¬}æyyœvÚi,Z¸“,3{öìA7£ÃáàóW]źuëxmýzd“‰ ?õ)JJJ˜9s&O<ñS§NeõM7ÅXuÞyttt°~ýzn¹åÊJK™3gUUUüeíZ¬ g}ò“,X°À¨=™€g2P¿ÏG QÄj6§ É2|:› $ ›Í6Èé[__¯ß¿‚ H$èèîÆl·£=½½83É¢$!d¼^MUñÛˆ¢ˆªªˆ#hç ‚€(™åÚ,‹Š¢àîïgÿÁƒÌ™3‡H8|ÜygG„({Âzº»Ù¹};¯‡ËŬÆFJËËõÏ'z²®;‘ï´N–è¾ûïç¿ÿó?%ÇGê’èj¶ÎHŸ¶ãmãp×50ØÆ”­MS€”¦a`Ok+3gÎ$Çn'è÷#JÒ0‡¡×!k8²÷Õ{÷ÒÐØˆ)£…×ïõb2›É³ÛÙñÁº\ôû|Ì›=›öÎN<~?Eôy<ÌŸ3‡~¯—.·EU)t¹(/-Õ9…RÉ$ñd’ªòrÚáûb2™Ø¾kçž{.­»wWÉñ#Æ”EYESª«Qs äâ=œ˜{"ßmP»\.–zê¸ë]6Þ:Ù¿£»}¼it/ÆIÓ4"B²¬7K$„BtvuŨ(-E–¤QIÉDQdÓæÍœ²h‘ÎÔO$pæåáîìDrl6:{z()*BÓ4¦ÕÖÒ˜“C¿Çƒh2qÎÙg³oï^ú<ŠJK …Ã|léR¬6[·n%©(ijXI¢©¡MÓØº};S¦L!à÷šØI$czl'2&Ä”R¿s¬’¢(ÔÔÔpýõוBEÇGYSUj§O'ñBâŠ2fɃªªœ²p¡Þ ŸÝÞ :µ Ï” ŸœîÎNܽ½Ìœ=wg§Þ»¥e&B6½ûnºÇLÓ(¯¬$éñPPP@2'‹FÉ/*Â?Dúd¾K> cÅÈhàØ»ûzûD&üD‹ÅB"‘ ‰ ¤Rä8c¨Ó ‚€×ïÇåtj»±ÛéííEÎl¿×㡸¸X'.S2Ùd" ¢%“º`ƒìnmeéâÅ•”ÐÚÖvè·`ô·0$¼:Ùs‚FeœãêÔévãõûeAÓ˜5c5••ìhn& "É2uõõô3ë‹Å Sµ®ª*Uååx}>šªRPP@]]èrPdÄ ÚÛÛ‰†ÃX­Vݰ{ï^v47#É2ÓkkIiph;CÂÁ]{öÇY¿~=y6ùšÃ00É< ²âb–._®/ ô¹ÝT•—Sºp!‚$k|4M£,Ó ŸõL$I¢¬¸˜Æ†,V+±XŒ®övÐ4–.Z¤—tH¢È”’Ê«« …BlÞ¼UÓ¨(-¥¸¬ŒœÜ\bÑ(¢$‘ŠF)*-ÅÛß,š7oX;’ªª,˜7’òr}Y[KËIãáÈÀñ‚ ­…Ül(&Š"ÉD‚ƒ™ÐghåþH^ÇŽæfæÎž­×õ‚@*™¤óàÁt=ÎB²h$B$NÏÀ©*Ýn7ûÛÛ‰F£Ìmh ‹ÐÓÕ¥7û;½™Ž¬~Y{kë Y.Aˆ„BƒŽI<‰*æ dà¸ÃHt4Ò°Ñ< YõõÊ GÛÆÀå¢ PYQAÙ”)ˆ’D8¤¿·W78#» mÿ$mӑǺHÙ)ÂÞînb±V«•â²2,˨‰`›Í6¨žfݺu455é? L†Pîp»á³žÒ}ûô÷Yyp‡ñ0ëDý~žæú<ì}ýý<÷Ì3ø2ܸC3ø‰D‚³Ï=—š©S©™:•uuÔÖÖN˜”Ì€£´>Kß*I’ÑQ$= WÖ­ãôsΡ´¬ €uuÔÍžÍ[/¿Ìéçœ3ìäkšÆÖ÷Þ£·¯O_¶³¹@—ªíèèA`άYÈ&¢(²»¥¿ßOEEååF»‚#Šl7üP&L“ÄE‘­›7S[_OiYÙ –‡ââb-]Êö-[Ƶþš¢ð½ï}×Ëš5køÂ5×°ÿÀ~øa¾sûíääåñÈ£òãÿ˜ÎÎN¾üå/³/ãÚ0p$ažIì ¢ÈÖVÎùô§]¬ìë”êj6¼öÂ’%þëÊϧ¨¨ˆD"Á\@~~¾.¬vÃW¿ÊùçŸÏ²¥K©«¯çä[·ÞJË®]Øìvúûûyõµ×˜–á!2`àH…`{öYÎ>ë,ÃÛž”!˜¦aµÙˆ„Ãäçû8‘HŒÈpàóùèË„`J2ÉÕ_øBz“€ÃéDUUÌ&Ó zˆÿùÝïˆD"˜L&.8ÿ|ãª8â!Øyçžk„`“Õ©ªÊ¼… Ùºi•••ú¸·oÞ̬††ù€AHS²†Ãþ7”cà /D~øƒкoŸAnà¨!ÇâÈFeu5v«•·_]÷V‰-ÍÍD#ªjj† Q¹ðSŸÒ«F/^ŒÅb¡¾¾žâ¢"L&—}ö³hŠÂï׬!sÑÅóóûî3f Œ MÓˆÆbx}>¢±˜þ@óô{<ô{N§S÷ˆtvrê’%$c1"ápšlÌç£Ðédóöí”—”‰Å˜Y[ËÞ}ûP4›®žNmj¢ËíÆ J’ PY^N$¥ÓíF–eU%ßá 0?_7NªªRVR‚Õd¢¿« »Å‚Õn‡1ÈÔNŠlà…Ê6%“IR©”Áêgà˜zGªªDzJ’DŸÇCå”)c²!f10ÜI¦R(Š‚ÕlÖ)Qm >Ÿ›ÝŽ,IÌ™;—Æ9s†B±léR\N'²$á,(À‘›KÓüùÌŸ;—ÜÜ\²¦\‡ƒ…MMÌš1ƒ>‡‚¢"Ý3ËŽ£` î1ëí%ÿ$ÓŽ3.Ž«ÐPÏ;Ö+ŠB(bÎܹ1s@š¦Q6 ¾MÊ„Nñx\7lJ*…)£p"²( øýTVUÑÓÙ‰”ÝM#‰°qófÞÞ´‰®în¬ÆÆÜœ>ñXŒd2IŽÃq(Ÿ”ùý”¢°§µ•Æ9sà$KŽÈÀñuÃf ‚(Šºáx"A~Aj*Eb€!q¢Hóκ‡/ N'ÛÛ% UUép»©®ªÒ½)5cè¬ ]]]H’D(æi@ë,^´ˆË—SV^>(ÿ40×4” 1žHÐév³hÑ"œN'>礊0ŒnxÇ•ñÙwàŒ†œ¦i,llDUU<^/õsæÐ×Ó£ÓvŒåÕÏœy(¬Ó4ÊKKñ…B¼ÿÁ‚@íÔ©L©¬ä@kë oÊ‘—GÇþ={(,(Ð=¤ªÊJÞÞ¸1­ 3€PLÁƒh÷¶µ¡¨*6nDSU*ÊÊ(0É ˜|P5©UUTTWëƒ9 â÷z™Z]Y’Æbã·if³yX7|‘ËÅŒÚZÌ&±xœŽýûÅ  ²,-,d^c#ýýýDâqTE¡Ðå¢vút¬6[ZJHHE£8].MýþCaž¢0·¾žŠª*Ô å+@W{»AHfÀÀdCvPvìß?ly2™ÄÓ×7¡:2I’xñ¥—8cåÊAy¥T*Eß6EAÒ ëh4=宪lo§y÷n$Qdé²eD#4MÃÛß?ì»>¯Wÿ?‘HÐßÓ3HÙWÓ4ÚG8žãcåÞ„c€ô‡TŠp(D*•B–errs‘dùC͆Åãq<ÈŒ3†m_’¤AÓñ™’WU•ææfæÏŸoT´žÄ†èp­¢(œuæ™ÃZ1&"±$ 3kk))/GEü^/Á`0LýÒO'ŠÁ8&“r4#”J¥ˆ š”Ǻȑp˜7^{ ‡Ë…ÓåÂïõâ÷ùX¾b9¹¹2B¢(rðàA®ºúj6oܨWUg¿wï½÷ò‹/b±Xøìe—ñOŸýìø-céÇ>†¦i„ƒAcDøHŒØD¿Ç9ÐÚª¿²4Àãñ bÏêuîiižËp¼ü ,:õTÎ8ûl-YÂçœÃ’åËyóÕWu¹Ù¡H&“ƒA€^k!‹e­‡¦i|í†PçŸ{Ž5kÖ°oϺººÐ4P(D  ‘‘>t+H  ë$g©TJÿ½ÈIXÊnàÃc¨6üᡬܰQw(¼rwu¥K†ž“LˆÜ²k×°s.f|Þï=*jj¨ª©Ñ=MÓ˜RYIrÑ"vlÝJÃüùƒB&I’xæ¯åíL™õëo¼Áý÷Ý—–/rƒÁ ]]<øÀ$ ,f3ßÿþ÷E‘_Ü?/¿ò µÓ§sààAøå/‘$‰ëþùŸ©©©AQÝ“Z÷ÒK¬_¿Y–Yÿúëüìž{hjj2îc†`F7üGŸû™3oïoÛFQq1Sªª°Y­¤…®ýûiÝ·y àÍäÄÆ4@‚(²o÷n>yá…ƒÜÕìëÔº:¶¼ó  »°ç¯ZÅÅ]„ÙlæÙgŸå׬áº/}i˜kkk£¸¸xKÇ1É2ßøæ7ééî&//ïÞ~;»víÂb±0eÊîºóN:::øÕpöYgqþªU˜M&Ö½ô<ú(¿~ðA£½ÃÀ¸FÈÀG‹œÜ\N;óLvîØÁ›ëקϱ PZZÊü¦&Ìf3ž!‰úQù€$“iPø3èâ¥RH#Hߊ¢È½÷ÝÇ›o¾™NÐùýÌŸ7oXrNUU*++ñdŠ®²FÈd2 …Ð4¢¢"b±………$’IB¡………8].¤L#â¯zˆW^yA TWWw‚±C0QäM›X|Ê)!ÙGë!Š"s™ÓЀ’Jém\£J$´PÕ4æÏgÛ»ïêîÕ@ìØº•º9s†yŠ¢ðó{ïåÇ?úk×®%//oTwÍårát8øÍo~CN^‚ pï}÷‘J¥hhhà‰?þQyê©§(+-¥~Ö,^xñEÌf3¯¼ü²‚ýâþûùÁ÷¿ÏÚµkqåç7”ñ½Ueñ)§^òô.“É$ÉD‚d2™–µe\ŽÌ¤ªL««CI$ضe jÆ]UR):¤·»›é3f û´8ä®IDAT»€²,óûÇãŠÏ}Ž%‹óù«®¢¨¨³ÙLmmí  <òðÃì?p€™3g²ìcÃjµ’››ËK/¾È#<¼ùó¹ù曩««£¼¬Œk¾øEæ64°aãFæÍ›Àÿüö·|ñÚk9eÑ"®¸üòA=>Nü¼ƒ6åÆhŸß?nþçHÞGcíû Þjê(Ç:&P*•¢eçN‚Á J"d2áp¹˜1s&²É4"ã¡,Ëú U2™DER©f³™X,6H3LL&“N t×,‹^`–­X•e“,“RdY&‰ If³Yÿ=I‰gößÀñ‡ñø€¼~¿Ÿ|§§Ã¡ß§]==Äâqœyy”["ÒÕÝMyFí%»®? ÏëEEÊKK±˜Íh¤gx†¾~$Ç tõö‰DP5 Gn.Å……ÇÕ½›åÊÎX—–•Ѳw/ÓkjH%“hšFëTWW#¨*­ûö1wÞ¼‰ñI’ÄìÆÆCÂk¢¥‘º’³ïEd³ÿžËþŸL&ñCg—Ç,e—¥21eö{Yz†XF7û{†ñ9qa’eªkjP³†@ÓhikcÆôéÔÖÕ±eËüá0ÎL7úhƒ¦|€§, ^¿Ÿ`8ÌÇ–-#¥(¼õöÛÌœ>AUQ2Í¤Š¦!gšUÎ K²MÓÒ-™üˆ^A'8s94-\ˆÙlfÛöí„£Qrˆ{oE‘Ò’>Ø»—ÚšöµµQT\ŒÅlN·¨L$:ðUUE‡ˆÌ€ôÉ:Êrg^©DbP·¹””•ÑÑÖ†–J‘—ñŒÆ$;wí:$•,t¸ÝÌ›?O_}ÝÝ”—”ÐÝׇd2±}×.|Á qEÁš“CëÁƒÄR)½y5ÏáÀŒFI íÝݤ…h,Æž¶6|¡xœ^GgWÌ/›ÕÊömÛxíÕW TŸŠ0μ<ÊJJx×.Ê**(p¹ˆR£7ÈÉ&Ÿ/}rŒ1`à(»òYV’eL£è¿«ª:Èc¨›6 ï¼Ã»¢¼´t\> ™uuúûT*…È’¤§,&áp³Å‚,ËÌmhÀa·ÓÙÙÉôéÓ©ªª"ÇjE’$¬v;.‡ƒòÒRì&.‡1“†(*)aÖ¬Y8l6ú=JofPYq1‹/&©ª¸;;ûk©j޼<æÍ‹Ýl& ÊN0(såçÓ¶w/Å¥¥z^Æ€£‰p8Œl2‘““£O~ 4‚ ËÁ´´µÑ8g%¥¥4ïÜIKK ŽqB0³ÉD*®Ë²ŒzÇ»@š,ÞšÉC¤’Éô´r2I~Aýn÷!>"ÀÝÛK²»«ÝN,¡ ¸˜X8œ®}éëCËD–LQîÀU2™¤·£ƒ|‡A–á8Ëò@ëé̃"+c=’c3È™L&¦Í˜A0L7¡–£Œœ¼¼tù†¦!ÉòÈíx‘tÑ,š’DwG¡`)ÕÕHcMýŠ"/½ü2§gºáA ¢´”}û÷SZXH"‘ ÃífÉâÅ$2ùE1£Ÿ›“þ}û(É¡ìëéïgÅ'>A,ზ}ߵ̾J¢˜|Ú8E!‹‘““ƒ¢(ôö÷3¿ºš°×{\‘Òg Ì[o¼Á¶Lâž¹¯‰ûÊ!uzƒfÁzÜnúz{ÓØ ŽÑ =h¦i´óì Nº°PUU´ŒqQ3¸cÁ$Ë$pGg=+=1-Ši‰CJ/B&‰œ%1˲3¦R)d“IŸ­•2ÆEŸñÍ(Šé™ZI:tŒYuÌçÊö}^4Ý“……< V\RBIi©1 0pDs}#†`#­`À€G,odœ +”¬Žªû­×ÞœÇ:R5¶q dàAöíÝ‹Ïç›PÂò¸¡`—Ë5êþÈÀѽ1³…ƒu¾%A^ÁŸL$niM&÷1ßÐD¼?Ñd"ÚíæàSOÑ»~=1¯kA>%+O£ê¢‹°¡¦R“»^oŒs` Çæžœ ôÒ‡É7¤ ^ÙÒÊ7ÿãÙL$…ù3Êùß»”DˆÇùóŸþ„$I˜d™-[¶ÐÜÜœïgÇxÚHç@Óˆ¹Ýô?þ;ªª I¶íEžÛ„\߀(¨È&‰¦SNC¬š†¶¿…²’\vÞøÏ(Ѩ¾MtçþßÿþwÖ¬YÃ_ž~·ÛýŸó‘þV¯^Í{ï½7â1a “Ñý#^…$‰t÷¹õ¡—YØ0ƒ3Ïäê»þÌÙ«ÿ›·›;øæýå™W·ŠøÚ…ó°˜d ݱ½~ýz¾óío3«¾“ÉÄŠ•+I$„Ãa®¼ê*d“‰?þßÿqãM7át:Gå1žÐ1~ÈLE|[·â$A|÷NH*Ø¿~ö‡þŽ6cJ" ŸþæûžÆtúEh¢„ØÓË,ÐþÔSi ò‰+Ø×ÚJSSSš§ýñÇÑ4 «Í†ÕnÇj·ët;V»“ɤ/ÏRf‚ /³Úlzn+»L–eÐ4ì6[z[#y@Ff`²AÀÌȨ!œ ðƶýüèwosÍgVÐ峤a*§-œÅ$`7‹ä˜%ò6dYä Û(  j˜,®úüçY÷â‹L›:•%K–°oï^nZ½š¿ç$Iâ¿ÿ=wÿô§¼ùúëéŽ÷Ã,—ì†Él¦wÝ‹X%5©€Å‚÷‹çRð—MX³žØ×aûú¿“Xÿ7"üM3£Dã8 èxòÏÔ\}5j<Îc¿ÿ=—^z)«W¯& 1göl.’eâ‰×]w.auûw¿Ë¥—\ÂÊ•+ùÌÅóë‡"òÄþÀ¦&6nÜÈM_ÿ:^¯—³?ùIî¹ç^[¿žï|÷»D£Q¾¾z5×|ñ‹ép2ãÁ õü&‚ÈÀqá™d‘ûþø•‹Ïý8íýq¬f]í,XL`‘l²F±ËF‘3—OYJƒ^·›žžæÌžM$!sÁùçóàCé4?ºûnÞ~óÍ žñ¬åÉ2ý/½DM*‰ªh()AßçÏĵælßÿ ±§~Kø{×£bFIj(©ö;žMïêµBÍÍÍ|éÚkÓ,„0ˆ£ý'wßMAQá`¥Ë–ñ¹+¯Än³QZVFóÎ<ýôÓÜtÓM¼½a^|1/­[GÃܹø|>Ìf3«W¯fû¶mXív>uÁ|îÊ+uú”×Á L>û“ö€>ìŸì:ÐO¾ÓA(®N(Dâ ]Þ(ížn_O0Ž?’$‘L{IE¥¦Ì…–RÈÉÉAE€>Xº{z(**BUUDQä¼óÎã_n¼Y–{?Õ æ€†~GI&qžº”xBEIi()TRE:å ¤©u¨–UW •N%SH¥4M è â˜]ª(hªŠ#/žž¾VP“ôÃ;襤¤„ʪ*Þß±#}Ž’IÎúä'‰†ÃÔ×Õáñzñöõ i˜;—p8ŒÅb¡ýàAöìÝË”ª* xîùçÓ^\–x„cšˆ 7 £n€±x’ûo< ‡dÇÎJ6ôE©,ÊeFE>ÓËó©)sQYâ‘c%‹³öõ¸tÅ,bñ$6›«¯¾šŸß{/v›h4Êm·ÝÆwn»--%üô§?Åétrée—¥ôaîë˜ß%1·˜¾>?zøiîøÕÓ|óÞ'¹áž?óå»ÿÌ]ÿõ —|¢ž5T’RUB¡÷üä'x<\……Ìojâ›ßúçœs‰D‚”¢€ªòÃü€/_ÎÅŸù 6›íðöuœRƒ‘ÖUS)œóçÇŠ+H†Á¼t%Á'§ïÖˆ÷ûèúô$›·!Ö6Š+(Vîn•Ÿ½%‘@æÍŸÏý÷ßÏç>ÿyrssY¶|9ýeeeLŸ>ÜÜ\®ûêWÓº~@"™Lçå2L<‘ •HðüsÏqÃ7’——Ç·¿ó¢±¿yôQN]¶ §ÓÉ—¾òRŠB*™äiMôèöx %«AFfàHb[S¦LÁf·ÿCÛ‘$‘-»»ùÍsï#˜¬|ïò&jÊœ:Å)¤‹£ñ$ŠšÖãzõÕW9ØÞŽÝn×û³Âá0ñxœ•§ÆœÆFü.Ši6› ‡E›!›Þy‡ªš «H$‚Ïã¡f$ùA`Çw¡=þ¿I”n/¢ R®¬;NJ …&ƒ”ïÂ#ÛɽùVj®½-C/ûß¿ý-6›œœ½FÇçóqåW——‡h2¡&“ˆ²LÀë%Ïá  ¡etËróòðû|H’Dnn.HJf¦P’$rrsAQ“IB¡v›x"1\ è8xx2Iuuõ s ÂÄ„ 8RÐá +cƘ9%o}¦‘{žØÌÁ®”D8Mö>@AW6™t!ÁšŒ1ÉÉs8ð{<úûX,¦‹]jG¨om¤í @ÿ}WþöWR=]”T—£ô¸Q£)ADC³ˆ\RFW0F°¸„ÚK/EK¥tÊ‹…MMÃm”ÊJ‚Áà°ß ‡ÖSü>ß¡ÿ¨ÒBºÃ=ûyጒÈhÇ9 dàè"£q¸¹•x"A<'£)qnXUG2ÅÝÆ”‘·X­XÌf, 6› 9£¦zôQ8¬s i}n79?ÌÞ;ïÄ¿aù¥ˆˆÉšÅ‚ªÂ=Úq®^ÍŽÝ»™U_=ãUΛ?R]kØD‘¤9\X­ÖtáœÕJ2™$/7-í­j&YF2™tC$Ëò1Ñ·ñPÌHóŒ„<‡ƒ\˵×Ò:{6ï·ìAlkÅÑÓCnÑ)˜¦M#¯±‡ÉDEy9v»}Rò+‰†20ù á,¢("Ë2‹eRã¨OÿL¨4Ú9ÈÉÉ¡±¡†¹s žv@€p4J$Ã$ŠØívrsrp¹\X,–”Yà¨{‚†2pÔŸŠ’¤ëkÈFv¬Á'LÀ §Ë…+?ÿfYÆ€éÕÇ0©™%… p?ÈÀQƒÉlÆçõ’çtžÐŒˆYµÐ‘Œƒ(ŠÄ¢QDIšp‚[ Â8ppOf#.Š"‰x|\ÚYÃ8j()-eËæÍD¢Ql™Ç^SFß~¨‘1[,„B!šwìÀápœ¥/‚  éïí¥~öì1Ñ0@ŽdY¦iÑ"¼Á!S¼'Œ÷äØí¸òóõ–Žá˜(ŠÌž3¯×KÐï?! ˜M&êêë1gj® U “’$Q\RrBëb -ºÉC(,,D(*:¡¯µ¡ f`RºçC©qNüc F/˜Ž dÀ€c=D&qQ“N°l@y‚ éÙ‰M&8 8âžO†ÃZºÀ€Žþ?_‡I‡A/,™IEND®B`‚nted-1.10.18/doc/docimages/crescendo2.png0000664001041000007640000001627411520267216015005 00000000000000‰PNG  IHDR‹jM}sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ% ñÈ;ÂtEXtCommentCreated with GIMPWIDATxÚíy|“UÖÇi¶î)Ý7h •†´)‹¬Z… ²(k™QG}AepCÞQpu°.¾³Â ‚l²Ê°#›Ð-e)miÓ6i“fÏóþš4tKš'mšžïç“Ï'y’œ{Ÿ{ÏsϽ÷Üs/‡aAÑ >TA ‚ ‚ŒAAÆ‚ ‚ cAA± ‚ ÈXAÝAÝyóæ¡ººiiiHOOGjj*Äb1ø|>N p(( ˆîFLL ÊËËí®ñù|¤¤¤ 55Õj@¤R)’’’ÀápÈX± ¢;QYY‰ÈÈH‡‰D‚ôôtH$H¥RH¥RDEE‘± ‚ðV~þùgŒ=Úe9áááHOOGZZšõ•ššŠàà`2A]FŒ5 ýû÷G^^rssQQQÁŠüÄÄD«ñJ¥HKKƒX,†@ cAÑ¥> .Dvv¶õZEEòòò¬¯ÜÜ\äç磮®Îåôx<úöíkg@ü!>>]cQ* ÂmìÛ·k×®õÊ{[¾|9Äb1U²‹æ`×®]³3"yyyÉdÐëõ.ç# ‰¤ÉH$&&ÆãʬӖÎÕ…XóÁ&$<<Ó2’I{½¢¢"lÙ²Å+ïíÅ_¤ î&F%)) III˜Åz—.]òÚ{»~ý:222¨’»)|>ñññ€'žx'N´6þÈÉÉA~~>rss‘——×d™n[TUUáСC8tèÝõ„„ë’Þ‡ºD"P(ô>c¡º¹ ƒÿWµFëµó[þŠôëÕ¸rb ‚¹´žÙ[¨¬¬ôÚ{S*•TÁD0dÈ 2¤Iãߨ€4øCjkkî¤\¿~»wï¶5â<’““!•J1hÐ ¼úê«]ßX0¦:Ì»ï÷v†¢ŠÓÙx`ñd\ülN:…Çùùù(((pÊb4!“ɬ/¯0—²§àû•õ³/\S w|ì¹Ùaÿò<"á~ ._¾l·ò#77×:ïºeËLŸ>½Ýòœt>ú¨KS6Û·o‡R©Ä3Ï<ãÒH`Ñ¢EH$.É Äºuë\2¢îböìÙÈÍÍõz½‰DP(^q/‰‰‰ˆ…P(Äúõë­Ãs™——‡üü|äääàêÕ«múC‚‚‚ܖ׎3f-ž~ó„­!yp1Žìx!Å‘tï 2™Á˜4XòA..¼7˜Zr6GtwVtäçç[ ƒ#+:Nœ8á’± :N×-îÓd2yõýñx|Ø®<^QQQ̘1c˜Å‹3k×®eNŸ>ͨT*‡åfgg3˜œœ—ò—‘‘ÁH¥R×ÊL¡`0¯¾úªKrîéèÑ£.É™8q"Ó«W/VîiáÂ….ÉÙ°aC»ïI*•26l`Ü…T*u¹î=±ÜîÖ‘Häò}±yO;wîtINVV+÷$‰˜¬¬,§ÿ·bÅ &##£ÍßuXœÅÀ@~VhQ®7#^u£F-…ÖlÔø…Ãî·‡±ž¦I{“†ÏÀq¥ žžÁŠÌ†ÉŒŒ Ìš5˺45<<œÆ©Ax-f,2DcQT[‚O3¦  Þâæø°òàF„óØ?øèë9£qL¡‡Ã¾ì¬¬,,\¸4ˆ ˆnA‡M74βÏЪY#ðÝuÛRÚQoÀ‹éìo÷|í‡xnÛµ;Smfªi‚ ˆ®`,¢GZ–朰mt;êmì[öëié'0aA.Õ.ADW3A}íÈüÂGãðOoÚÅ\°ƒ )ÿùŽj— ¢+ õ­xä¹S¶Dy"|uò{$û²ï2¹ø·)ØÜkVŽŠ¡Ú%‚` ·;¸MúÌ<EÛ¹ÛVÆï“E¬§¥¾õƽUŽ#¥OPÍA°H›AyÇŽÃØü ÷Þ{¯S ȯæázýq)!Ëöü“×òrÀKHE|€-°=ùn Fƒ‚‚ôêÕ ¬åž‚òZÆ[‚ò í¶ó»)(ÏqœÊcŒPÕÕ¡^£ƒÉÌ€ËÀh2¡ìÖÍ.”W^^¥R‰”””6ÊÀAy%û7Àör‘‚õ€¤ÿ¾1œé=ã›&7p1˜ðnrrrLvv6«ù§ < Ê£ <Ï Ê3éo3_¼öïÏo¶-Àd÷c·Ês›Ï¨‘aÊcŸÛ]K‹ñœ>VÁjZŠK_bò`ÿ¿hú‰ v¨/=ˆñ)ÉX¸â_(©oy£Ð7Þü±[”‡ÛŒÅßgŽÃ¹:½õs”l|»Ä²¯Ôõo‹YMëøï@ǔ⑩‹ÅÖWcÄb1†ŒþŠž‚ ÚÄ ú£Ó&aq]ÛÕ+›»E™¸ÅÁ]vd)žÛi;ðH8û¾ý#‹Ï8êœƲ–ÞÄ3åÐ5s½ñf}2™Œž7a6TãäÁCø5ÿ jêMÅÀûö(9}û§Š"ÝtX§þ=} NÕhJC<¼CõÛkŒcTàÉiŸÙ]›»~úúñ ‹`ê+7Bkþ|}H™»öƒX¯ß^‚w?ý¶Ùaz”ø~Vä„÷B°Ÿër Ú@Ñü¤›­ë‚ÙPç”8œÖ˜³]ÊKpt2ÌL74_<†ýÕ6‹ÜC¼k§$X,pH&â„\ÜÒUck•s"üH«»(õ¥15cZ«ÃôÛ²ã¬ÈQËo@+ qYìØ‘C•GºÙª.˜MµÐ9اˆñ ~˜××¥¼Ô–‚Ãõõøreµoo6VaÎkÇ쮽³ýíF‰ø`N„Åɽ¹Pé–ª+yßê³HII±¾ÈgÁÎÌç²%Ǥ«eEަò}ú°&·¨¨çÏŸÇØ±c] ð9tè ÆŽulcÖ£ª¢ŠZôF|¡‚BBqô罋ÅMá³[Ø“ƒs¬¡}‡àAIø|¾KrÂÄÃð´W3ùwNN„ôŒG·«\B£ QVâ—_~Aff¦Óg˜ìÛ·b±Ø¥à¶¶äp¸îê© ضmúôéƒAƒµ[Î7œ*·–Êÿ·ÜsËå˜:uj‡è‚ÙPÊÊj¨µ:€Ãƒa!h«yr^¿‡â!i‚KuµmÛ6ÄÄÄ`Ø0çÎ’Éd(++Cfff7ÅRPž¶fŸÝïB%oÙ}_[´‹“Ôb`KãW@L³³¸Ö#OÊó– ð+ʪTÅG‹¦€Û(.B_÷+¦=ôŽKyj8)0Ñ“Ø0­à„Ó­¾ìd³×ÿ´û<–?5þܦê#õÆ‚w7¢èð—è%ä¶*ß“ä°å´'ܯ—­9ƒÙÒ)6𤼰bÙtö7Ûê¦>s?¶ZJuÙ—øDV‡‹¥[r±âñ~ØØÿ{œÌ©Äé=¥Àó!ë}/^^½ ÷ý篳ʩüu%^»ø Vôs:?Þ~R^Gñ6ßÃàGbÙÚ½Xúñu9rWK«Àð‘pÞŸǺIž$Ç™rá {vê™ëžÜÕzÉóMt»N±ÒwS^:­þÙòY<`ýÍê›uÖë¿}“Á`’¦m¶^;³$Ý2ÿ;â‡&rV?c—^ìß:=§­9Έ#îóÊÛšÓõ ‰fîIMkñ¿~\ÇæQ0“¾ùétT¹¸ê³h«î…¡-Ö½»}®øzH/Ù©ž€™8sŽÛ|¬,xw¦xÂx<gÛ‚¸òh%`ÞÇã­×b'÷>̲p€ivržZÿ&÷²ù;俾`¶3žŠ;'å]€,3Þ„#>E9ŠõÍ÷XØ 6òªQZ(Gê^§ªFq±Ð#óÖš¯‡ô’26õ8ø³û¶5bÍg‘vg‰¬0d´ÝQ©Fµe)퓱6GvpËÒ>MÕíµ$¨çs˜f‹ìÖ«. Ò‰-¼õ¤‹4oÕÄA@a Œºv¿¹o cÿrnjޙs³Ęuxë»]x,Ü~ÛáqØYe‹ÅØ»ÿ¢mÛ5­üžxý2VmŠk’Ï–òí,ÅÅ–se2k2äÀ©S§pûöí&ßïy-ˉ6ßó&~ù<É_‰M{ÏCw׆4¼€ŒŸ5 fgâòÑC¸ÜÈŽ(•J…¼¼<§õ†­ºojµ€%X´9¹Îä Ξ= ­VKzé¦ú÷á÷pºþ ¡P(ÚükÆBàôµ'±{ÿîX£±/€|¬ÿ¿ÁHm'„Å ¹(Õ™°û»Ÿœl'ë‡i¤üBäùymeŒ1`÷ן£ï¤§!;z2óí,•••ÖÆ½='Ú1f-n]»Ž y ´F¿@DÅ'B^Rh5EEEwý§Ÿž«t8„‘SZ½ßèô1x!e(nÞ,…B¥|@ϸHð9&=xÝw—Kƒ±0›ÍNè »uï¬n†Fƶh,œÎÛ¨Ù())Ayy9饛ê¿çƒcÝf,Xsp› &5Àâxyá|…Ýw_LèÉ„K×Ú]û w€é=ýPY;GÆYÓ Š_â'åµåœŠßߢƒÛ“‚ׂæœupwDÝ; 9ëégI/;Ž(ãÊãpEøÇKé€õYï£qßéÛN`R€ý¤C[–ÃÊÙ×DÖš\Û^R’ÅmŸ~çé'å9lÔÚ­4§Û}qwÝ; ÙÜ­¤—]¿þæ°4²`†1êJ˜{ƒ fÚšsöRuÅîsáÆ‘ †+ˆa ¬¡¢ðCkZ\~“£Ò·iñvŽbÁ½˜””»Wã|§¤¤0ƒú²ÃGúºóÌð¾/ lié¬I›YþÔXÆŸëÓä?QofÁ»™zõļmdáκwF79>BÒËN\2ëÎ2îð¥³ÀÄáÇï!~ìØöâ¼":~×ÿŽ“*Ùî·aC8 “¾ ?Õh19Ô`tøëã¶mC†¾¾Ò€¶w¡u×IyÍ¿ˆ"{:%é 8ÿ~ˆˆˆhÁqå9ÁFDÇ⮺wF7ACH/½¬þ;udÑÀw ú[z#3ñ¥l¦BßÔìé”Çló¡go3Õ²ƒÌ3£¬×"†,dT&×&9Ûë³pdwÙ'k<&Ø‹ðî‘EWD$<Ÿ÷Y4æñÏO⃹Á0 v­z‰ C±ìóïq[kÛ£I<1Ëž(ûæGŒd ¾>xã~ŒK'Ö  z%ŽÎá~úÙÏmL(؈ðPH7 §G8î‘ê‡%ëÏãĆ÷0¢·õeçð×ç§#N‰a™ã1kÎL8š;ë©kr…ÎÌ mì|l={ {²_B¯}Ys夠MSµßÉ5v×Ô¥{­ïCï ¥Ú ‚è.Æ"ztt‹ß©ïŠa¸¶±Àú¾÷ðpª ‚ ˆîb,’²žnöºoèÌð·»¶nƒåˆRŽþÜ[DµAÑ]ŒE@̱Dlïˆ0›OßF©Õ\Z…¯ÊT–QÅŒ"ÍŸGµAᡸeél]ñ¿ßwjf„x?¬_ŠRã¬ßk*Najúhì»]aðpä”E_?2AÝÊXÀ•ͯ =k´wü! ©> Ì58²ç¿¨4˜àÃEö¹+xVJÎm‚ ˆni, äðZÌ™ÿŽ5³å·°GVmÝ‹çFÆR-AtgcŒ¹G¶nÄöýGpù†¼àH ~`æýa:âühÛ ‚ 2A„WàCE@A± ‚ \†Ö«áVt:êëëƒ*•%¾Êd2¡¶¶Öú»šÛ‘ÆJ¥f³åè庺:F€Z­†^¯h4hµZ¬\¹’ ¹ ŸAtôz=Ôj5Àh4¢®Î²ÂÐl6C©TZ§P(ÐðH×ÖÖÂd²lê©R©`0õõõÐét­V FÓjCÎ0  E›i4×wÔ„ÑÈ‚ XŽڻ{έ5䎤ÑRCÞ@ üüüàëë  …ð÷·l݆ÀÀ@—ËEpp°õÿ=zØvr‰Dðñ±ÌzÇ㵚†@ @@@€¥‘âñðññH$j6 ‚F„ÑÕzµòÎÀßßB¡àëë ???§Ãp8–C·‚ƒƒÁåZ–›‚Ïç·šŸÏo¶!çp8 i3 ‚ cáÍÊñ¾ÓüZêÕ¶ÔºÚ«mœ†£½Ú–Ò š†"'hhX}||˜˜h½ž˜˜hmdããã­wdd¤Õ8k,îî97nÈ ‚ ‘à—_~ǃÙl†Á`°NO¸2_î.çjgÐÑ# 6§¡‚ŒÑ-aÓgÑØ µä³p4 GÜAGû,1¦ŽNd,¢[ÒÑ«¡ØÝuî\ µtéRRH2A°Mg®HsuùrsPÖ1ƒ› ºþþþÖi¤®Fgþ4² ‚ €ÖAd,‚ 2A ‚ ‚ŒAAÆ‚ ‚ cAA± ‚ 2A ‚ ‚-þìî½ÕfIEND®B`‚nted-1.10.18/doc/docimages/after_isolation.png0000664001041000007640000001222511520267216016130 00000000000000‰PNG  IHDRÕ_ð j pHYs ‰ ‰7ÉË­tIMEØ 4%Õo|h¬­Çz …±rù&dŽ@^™÷¾¢’â!Åô 3⇑QFÚøžÒÏI”Fn¿0º?Y^öøxš¼ fñÄHuéK…<º™Z.2Êè–Iɽõ{ ˜ÝOÿÃWYiJV–+DÒ€¾íWUUeggçääääädee€ÖÓ¨TXþWr‹DüSàlµ<ç´#µQ±¸ÖÈŸ‰Ð§ØÖÔÔ”››«$\vvvuuõwÂÄD(šššj'ÿÙé¿}^µ‚a‰ø˜”›ÉÀÒ­ÃÚÖKøÏZŒB7æ;­üD"Q^^žœg¹¹¹999ÅÅŇZ%IJJJXX˜–}.ÿðüi¥ìˆø¾Î?©°D†aàNyC~ca’¼@¸þ]Ò~2™¬¨¨(;;›Åbeeeåäääçç‹Å¸,Kkþ¿òRð’„çÇæõuþɤ*ë3bÿ’ü77j±Ùl¥nËÊÊb±X<OS!D"ÑÛÛ{ðàÁ~~~Ož<9wîÜ´iÓtlXþñ7/ ‰c×§ù‡Ã)æVI› G"È[q³ pxÊÎ).FÄ¶ÆÆF¹é¦$\MMæ}‚swwg2™r <˜Á`‰ŠŽŠ‰‰‘£Eóð$³Ð÷¤úÂ+Ù5ðÏÉQ«ªSHø¾Ë?ÉA^·±xŽ~ñZ$ûQ» Ùó‰D,KI8‹U\\¬…[[[&“Éd2}}}ýüü|}}©TjÏ4gã<èäÝ”3ñÿûñ×'„÷'Ƥü½ó#£à_×ùééé“&Mjnn‰DÝ”ûøñcpñ:€ˆQCYvA¥ü+fÀs~ëëë- …Zäd2™Ìãñh4š…B11Ñ`l———³Ùl&“I"iœ”™™I§ÓÝÝÝ@ØðúÙË )¼üý-8Ãéᦦ&‘HÔ¿ÿ~SWHMMíþÁJô'`{i#†a|öuGÄyüo…·³ÓÌ`"‘HþþþÑÑÑñññIIIEEE†Õ××À¦M›´hÀ¦M›àÕ«WZœK§Ó£££• ϯÇãpž³/TÇÇÇGDDt¬ï©øß{Tâ:)[$“ _Í}F¡@&¦. gi-ó¯Äï7ýpàÏœ"ŒÜŸ9ü£Åk¶¬ˆôÕKkíììØl¶Z —›nC† ‘ÿ÷òòÒH½õ&ܧþpqÕõ){ç?åq†|«§:q¬¥éºæ.ÿ»ˆQʸòÊèCÉ£hZ&ŸæýdÄŠ”}—.^fdYþÁ¼#’ÏÞßÏ:¾ÌG÷Ö644´ýhoo¯¤“Éôññ1777"‡iâÎïqY±7ïá:¦¡·µ‡æßáÎ`Êh—3~ÕE‡õ#€}ÐW†ÉÄŠ´.SÚ½ÌÆ #‘H{öì¹}û6‡ÃÑNˆÌ¿räþ2ÆÜfžáÏ¿=å¥Û‡Û;ù¹ü£…óô?–ë"ðQ“*ÓwŽ ÐFb^Ž^ZkccC¡PV®\9vìX6²ÂkÑ~¬&ánƒÐÀÛÙSü£ùÐZçx²KbÆqŸ [B· ‡¯>"î­]W‚J»ŠÂØàd±+§¶/ÚÍœ;‘³î)?®9—:ÉÎLG™“ÿu£þ_ŠreÚÀ¨ß_‡¨¦ã#¿X£ìßþvyŒLZÿÙ¸)Ù-é}ž3þÔGÒ»ƒ‚ëÜ/)Jøù‚™ãÐÍ?þ2ɼ¾°°^w±|>_&“éØÈ¦¦&y(Q 9rÛ±¤¤D"‘hz®L&ãr¹/*°¬>Æ*,´2žÕÖÖòùüŽì:þœ––6zôhyyæÌ™]^©ì¯ëŠZŸÿzMœæOÕ[€Sð¼J$f¿È¯²ƒ³û`&ƒ¦t´´4‡£ããW±X|þüyooo&Sc¯3;;;///""ÂÌLã‰âüùóöööÇoW/l¸ã±çäqzxŒÉD5UUõ\‘#šR,­mÐ)IÈËËãp8AAA=ëÿV>ÜÚî!fpbÞ)Îßëþ¯e`rµ@wt:]G!åÿbVùWäÀ¹÷tüQRQåÞ˜Nfí5#tYWlXþ¯TX:{B¼R¡ºøÐ ät‰žEi‹¦¶d¬V ñú'ó"ö#SOuP“Õàé “YRqkcà?â•ñÛç’=O>ö“aù¿§»[×,/[¬MÝ 5oé.ù^ÜÇý)d2Õnùž'@0uT~Uýt+¢šJ%–¬綠9Á}2$òfQ“ºªÅÿËyÿqÂKy™@²9•k-= p‘_yT ßé˜n0cKb­X PyxÝÔ}«JAÖÖ¨ˆj*q¸nibËÊ/‰kܺó4÷E_J³v:*lŒ_gìü6|bz‹6Q ²ÕCá&|«œyGÇ^ ëOÆdÓ©„…\aÙºæ‰ýȺÈI#%Õ€6p&ˆx+¿²¾Q­#¸e{?8¸²…yUû¿Y»+¡Ý4Ê]öŸó¿6WÁ™¸*6½²óKŒÛ®‡™G?óoaÂܳ¯ À눤χ7Ÿ9€'Š›t”¿ïÌfº ž>húÝôï óà&Åì7,á÷hÄ6z…¹Ö·ŸÖ6œLÚ(ë4.b;bÝï ½ ‚˜Œ·hå5åljû¨-™gÿ3ˆ¬ßKu¼„ý¸/‹³¯.ùP8Ëß—áå:bÝŸ¶îÌyk⥱2ElS19Ú:ëbÙz¨ß¦Ì>hyÆíD}¤j6ÿ&''w¬¬~—ÚòœÑlÀ„سädÅ:·ê¡–ZñlÏ’ d² Ënƒ|?9Òc€Cð|6qÁUR*ôb¼r8‰Då¯ë>äK@Š‹‹µ#O±NKK³±±Ñô\‰DÂf³U^ôZLtç6‘:T]kÍ=úI_ñyÍÂ6šÐÄÜ~ÂìE+æŒÍO½“¯I# 8NÇké÷³Ÿ4÷) ‰õn½&We}ø†80Å¿Á2ÝcEì©—÷~s1}û«Àtÿ=¨Prv#v9‘À¯<ò]&‡#¬=õtÇ浫×o— ó™Ù Z³wb°·Ç˜µ|© 57gy‘¼”Ñ]³—1ãÈ@ŠI@b¼tê îℨ©Ð©!¥¨¼‘8 N'2§P +j0"ÕusÌ(?3¼¡,Ó•Å-<ÿQщå×€ëÔ;æ0À5Ên—ÕåœP„ËmG®¹üùá±;²äÓ¿ú–ìf¨gç”IŽß^'oa¤üS ¶rS¿°U\Ée]ÜÅ]Ç;ûÖÜ&4"Â0;D×ùWî|àp¸/ýÞFUJ,üçD…^Ç~u¯´5‘Þ2 ó+4wË’{~tÞκ¹çWú©Úë$\[œ©^¹5Bç†Æˆu P°QòÏ›N’›ºžd…1!áJàÅcY3ÛY “4ž«´²ÖÌg»¯•Ò§Nîtr‘£™s3tõýÓÉßšàŒ²£» «%„õi,AËáÎvÀ)ý4œ÷ïoŸìTêB†,Jj•_URpðÍî½-K-e4|£D¶óÇ=B¯VwŒíE…,…í˜|ì0¾_§10Iâ¶ Q Î+(j–¨kv())‰DšJä¼Â¼ç%U|‘ŒLµ´ur€ÌÌL•rîÿ¼)½«avêÔ)++éʸéŸxð̤Í"£X矖>!Prô:píÚµòòrMû„Íf }õpFFFIIIGiºÚÖ#àR©L\SÜ,u# À$ü±Ý©8££ÿ•x§^Xý°Úðlך@ëÜ•#Vt}÷SÚøï?´5Q‹I›R“Î]¹õ¨NÔÞràJ1•Ç'<ëb€ß'ÛT’0‚Å“k2gÖØ¿(¦Õó€`ʵq|=ÐQ‚3Z½×úÛtÌ– GÓM`üé—ʺ³=éîß*?^ vK÷ïÛž—½ã¹L"ÅK,ët+ó—Ç,i~™M"eÍ k³n6¾'âϼòä0w uýiî8Ve(¯C(Xkœz~ÍG“,Þë½rûÏÖsƒÁ`0Ù„yœ¯ë­Rg¸úOŽ'çv3A<ê?2$jöœéS& l³¾}`äk¹½¬ DMO>ìb ®›´÷͸wXÿi¶ÿÁÆ»CéšòÂü/Ë*Ø5õ |P,i ’9GÎìÐûÃ,ëÌÞ«E±OÞ°~M7¥I…²2 Q¹°X¬¤¤¤¨¨(OOOMÏ=yò¤P(\¼x±^ZòôéS6›=qâDãÏC† ¹yófiiiuuu`` v—¯e}1{MØ~4)Ôߺ·u¼¤þ§»xð5|íÞÐP§wlrÃãñIIIwçè—/_æñx¡¡¡zi‰:9]óÏÒÒR÷F4x\†5€5û„†ú÷òm4ˆ»ZÍ•òÃÂwÏt«ªª€€€-î ¥¥%‡ÓÿÔŽÞé"u¨¼PRÕû·ù †«¡{‰æŠü¶¦¢—oåw®¼òDß` ™À}zÛ£.÷Ú¿œü»¨¦¿›ÿüÕÂ}û½Á?3SÆmè…M„ z2PÜC„‚,p²<˜],Ó.{¢Â}ÚgüùÓÊ`›÷(/{̦a#!ˆ> b­—Ö8N½­Æ¶CÒò¢ظìAÀã„›µó:Óòàô¹ØÀë#C»Ì¾Aî°-«|¥£96‚èü={}~C+øÜã~|ŒAƒB&<—ž'­p™°VºÃåÇEØJ¢Cá{ÿ2Á2í²ÿÂÃôGzš±È-Ov|)À%‚‚ûaÉÀ`µ=Ô_ºÑÈzˆSÒ+–>/ÅVj„‡‡ïÞ½ÛAO†NÒ™–ûþýwO/—ÇŸDþ*¨ˆß“S×1¼ÜØ­–¹•à2þˆ‡ S¶Kt`3$)m­ATWWÑhr\”ËîÑ¡¡ +îÑkëƒâž†hQÜC–ÁîÝ»KKKÀÕÕµW/e#9Y3é%B±Û:1J“.캙Fn7w»jüÇÚ ò@ËòÞˆ:´o6c¬•••vvvL¦Êo‡W¯^@×®]U5×Âãñ mÛ¶r/h@@€¯¯ï AƒtÔýõ—ËUþ^Ò²uÐV} öïßߦMŒ !®‘øH(Š¥›– ©™…ã\QÒ¨LHHм¨’’X°`A«mLÞÿˆÞ°²’„—ûñÇ•Ï5ÊÖ¢‹ù¼‚«¦w±t¦eTv…;ÁU}ìé ÓVÒÃè­wrvv×]# 4ÈÊÊŠRìß´èãÁ𛑑ÊgQÖfDqމŽnB¹â^+ŸÂM5X²/r«’˲öžø’WCnþãµÉÍ´uˆÇ{Æm}À¡ÑØÚˆšˆùq—£Žû 6„Z:¯3H-”5PÜCq¯ER{îD)·P fÚØÙ0åß—DÖ³qñ‰éÙù|¡±¹“«Gï;ÛiMÜCôKÏŽf^ºgÚ€™åä–ö­ÿgEo­=æÙ§†®¼ !ÂÖFT¥¦<Þkoû’cøf•_Tݺu›2eŠ’;™ï‘[Õ}Ì„‚Û=g)5³zuÜþ¨B$¬l.wÀêÕ«ƒƒƒºuë¦jÞGÀ§Ÿ~ªFÞz–Ÿ›››Ü ºbÅ ///å¯u3eØû¶Û~ÚqúRf©Ø–NŸùü°å›wÍYÒ} â"çÎ_vîq¾lÆÿîßù;êô’_níò÷lX,¹¬kôèÑšÛsÍ…zó¢ÊÇ{³Ôîæ¾¸÷†üרîã¿ÓÖ·?!ªøèË¡_xˆÜäÙͳ^¼ÿ<™[!0³mïÙ{Ðçþþv0%þ}áø¥?ŸY+δ8ò5J3€¡ (î!§}÷Ñ>ë¶ý:³,+aÿÆ­ñ¥YQ!«ÏÿólâíM î`€÷ƒUb9ï=±°xïœþ' ¶dcK6´(n+Ø|X§AÒY¶a÷þêbªµþðæwÃî <iÓñN@ê!÷Ããü™ãÛÖ¯•~xÄœ‰–z–¹SMEÖ+Îw¶¥iŽn×'öìh{¦ 8ƒâ^‹£e„^R&—’\^;âiŸ <Ù2µX¾®!×%fgg›™™é3o=ÊËË ¬¬LnÓ …B‡£|«þöGÄL?Þ|>_,k÷ª‰9ŸøíWøá1°2?5µdÙ¹3t€ˆÐÝE*•Vocnn.dff …†Y\]]õj(èAÜKÌŸÒéà —.] öññiµ†eQ{VAØÌÍÒ´oØZᯗXÙÆ.¿_Y…&‚ä3hªVäOº6.]º”žž®àPôüÜõ$Ù-ûÖ¯µÐÎ,“ê¢çnx_v{3Z ž˜˜»wï–z§ÐOÞzÔÔÔ@ã‹·KJJ"##ÿý÷_%K‹ŠŠzþô‰ ŸþÊyf,{“““Ç))«Å ¶±•m'—NÖ&ò•¤ª7ÿfð ‘Yw½¼ñF#wN`` @€× WÕ(„\ïlj*g¶ãÉ“'å>Þ:qi"®áÎxÇZz”Nã÷kÑ …HPàcoºöv!Óñ´·$²y+s®Ð¥ PÒ[QÚ©ÅtEoÑ/^5<…{;'Hw¶"Š ˆ•˾hÚJØËÑ¢K¥}°(þ3¨‹ÔMùÞIÈÏüÈÚ¸Næ¤Ó ÿçZ©†°*¥¿¥Ñ†»ù²ÏˆAz§^½z%%%µf‡KíÚµS»³Rèp)ÿ~ÄØå„v¤3m–M”›%夷‹^—¶,óëáDþ;¼³ª¥éÃáŠ{èdóútñOÂKŠ{TTÕãÈSHþû{Ÿo΃e?'(tÕç=SSSË«,ÀÅ’Ñ`B‹×Ä-;6õk[žšZ.÷rÅ=¹šžÖ…ÃN Þ´´`ÀŸ=ôV ŸL›´>)câ¡—Y'Ó`þ{š~ÄoxÑø£´3øƒ€ŽÞA—¡ÕÓ,G|ÔÄ{}ïÍ#DI K®Ÿ ?zô(¬Ùõ‡Ôá’EçÁ᪖¦6* (îV “Íûª²F“³Ö\ÜÓC›ëZÜ ,Ë|r5 ÷¾}º?Š |%mêw½¸”—sŠJx|0X¦æ–í:ØÛ0Îî :ÛøQäŠ{ò5½–b"¨4 aªrb7Î<ž\[Ö¶›^…~pèeÉË¿|4/WC$^çî.Çwž»»»±µ÷Ó‡¿ÒÌQ{ !Ûr0X°éå‚ú3ŸÜ½ýÃŽ…q6«.Ï€N6öY5 Â0rwk£ä’jeJÓü‘Fq¯¹=hxÖzЃ¸/"–³è4cÛn›ßÓâeÒîÐŇ > ¡Lï$–Œ™vÚuÞ9‚ *rC€Î´¬‰uä«¿ÕöNõGCöÔóÐC=Ý^+CB~º«±â¯ëÓ…¼ÆªäãóÉåȃKçûN›êë?wõ{¢¦5Üó—Ù#­™õÐ&ÃfEÈ6uü£eJ3ÀЊ{ˆЛ¸×sÆŸE?…/q2¡âb¶æ%$Py"~ǘËE)žmþáÅ=£À¤Ím±HXvª°j¦½)>wºcñÂù‹æ5ûáŒØ¥©|aÓû4½ŠFc:uÞ§SèÞ?·eWþ›¶÷äå=}žWäñv÷EgÚ(SšæhÙá’qoº+”¼üK+åïJ`ˆî®s—AVÜóìý%>-FÜSÃÍ‘TÜ“£ýzû_yõt×[KTøF=Î>»g­e¼D3ð”Üt õ³|CÄOž´±nÖ˜C'@gÙ·6€¨—%øÜiêTæ@ÐbïA[5,„Ï)Q¨Yjw%Ôð© ÿ¸ø 8'<Úl%¶6BT:sÌ6é¿ï}ufÑû6•y>ÿðÞDòÄMéšö Ï^'5èh$e&''ã“ÙUg ó; ‰›£ÁÇ}=sÒØøÌüb0²tyÇsØÈqÃzuj¸gÆÝp:%¡Y r«jØ•“ ;¿H«ý4m;áøôºŒÏÌ.óS"2ˆm«E4c¶ºÄ¼[þƒgß777égL+œ£ »é„Ê¢íЋêMHT¶e§iS> Ùp52” —R›†Š{­1''‹'bwpjÏ–ó>P-`‰ÞÄ=еsÝØÍËDPÒV]C⪹ÁñÒ§ü¾×H¦&ž#ÚË¢—aC™‡ªÅÁ¶°óðì=|ôøY_úwk§fßþ£cøÙbXtzQÕ ‰j³÷åS& "C6P¤=µf(4-î].æG½,AC¡…Á}~­éЋjxHÔ¿¸×ìh.Õ;/MÌ…ÐÐÐS§NÕÛ(äe>©õ"JgZ'®ß{mm¯U]–‘’„˜OVP^”pïr½Ë;¿[dëàèÒ¡ ½¶dNNL›6ÍÄÄİy{÷®‹ì#›VüB‰àÔ©Sqqq ÍÏÏ_·nÝÎ;åæ-ÊLÉ.,·C/AãïÝûb½«ÊKJÊʪªª…b‚Î`™˜™ÛØÙe¥&UUU5Vaº‰ù;ŽÖåU¡h ¶‘‰¥•µEùÓ•½ž×;wTj‡ÆP“Ë$`̘1l¶œ¥ˆ>Ô¡¡€â^+¤éЋú\mŒ 0gΜ¥K—ÖÛxéóî¾/$éO]?>¡™N¿ôÓ¨YÁÅ‚FÖÓ"n^ÃÉûú_;:jµA,(L͹»éuþuPPÐîݻúvíjÀ¼¶¶¶W¯^%’M+CYYY§NÆŽ»cÇŽ†¿vïÞ}õêÕ“'O–›w‰‡ã2½ˬcMeÎÔWë·z›7Î|½|Í¥×Ù¥%\NAY;Wú›t¹¶µµõòê©Æu±µµõòòR>o ¨ÉeÊÎÎîÞ½{xx¸£££^÷Z'‡n¥ÕUšôùè¶Öï.†ÚЋ·õ³ÚA¤˜˜˜ØØØÔ¿KJ‚Ò±Lß ŸÙÆI€7q? šñ#OTwÙõèÁªJõ,§¸naú›¸cŸLn—q{+[=‡zylT!V곌ÀÒÒ²akè9¯l!‘!ëO\q¼yG)9N§€‘‘‘ÜjÐét33³ÆjhT;ÎËgÆL߉ClXŒ^ß²ÕšüŒ)ÉK-7³0o¬|‹¥F㨗WvgÙ´&—‰tµgee¥|^• ÷(%îIÅ(a@LÐXlVcZC…ÍÊÚZmqOr3,+3Ó¦®Ï-IÚóαX‘†;uxo&Ýàâž..“\qO®¦‡è!/1¦Ö#MçÉûl™4q•ߨu<‘˜Fc ±Ì-ú`XnEçIûï¬î„ðÑåßVÎûúz¦dYMþÝmcöú]ùº›G¼gÜÖ­‡‘ÔötBePzQ¡Ó$ D‚æ8Hg¨l( ¸GqÏÖÖöd躽¡a§Ï]Ë.Û¢ã¨ésÖ}·ÐÍŒ¥XaË/õĽ†RXeÞa§÷“iSkG^qfÓ'b×íÛ7èô$îéè2©!î!º€Ï½,Mü 1‹ž¯ºÂåÓhô'Ÿm›Üåîœsa‡_eF=ƒÕÝÆì9röåǹö¼XÀ#÷¿¹z'à¥=Kµ/šŠìSCW^‚µÂ–×ÑtBeyO†^”û«¨:㓊×U±(6())©9 (îQJÜ{oÐ4Ÿ€u;Ï©%óWXÐåÓ—ÈY 6Q)piL5Ľ†Rؑɻ¤éq_uˆÜÚ”¡À4vùãÚFm tÚÊ«­Ë¤†¸2óøšž®Ø?u µ CÈO“\MëaKœ,Ètê‘›à8âð¶É] ãgáð«òŒpI(Z¦i—ðëßÛ¾ÿäW•´ønþ ï*\JQEÀG_ÊúÌiqÈYÍTPëlø÷…ã—þ|ÞžNHgZù’EùL˜ vÍè_ 1 b—&W)XWeýîÜ?ù¼‰ýýý¥iY§AÍÀPó(6Oq—{̫̾þ°61K øÕNÅ À3žPójÄîšøÍõ2=lEÔ±5í"·â„D ú` „lnî&B½Ã·°RZÎ-LÛ3N¢B}Ðà:¿øRŽ@Ô‘-éIlº.ßä±yÃK®äßšª 7¿voàAH›Þ"ïÏÆV3Ñèçý1g¢¹5uFËÜ©¦"ëç» [É¢¶­_£Ý:ÿ¸|ÆÉ«ï>NüN™uUwöxS ƒ"cAQ-LP(îEÛ>sdGÈŒzµâÞÃQíêVKÞ\=‰S£²õ­‰¸×Ïcd xbk­K·9ÒtYJ˜’ ›«±¦¨Ï/D†^d·ÿö—;ÑÛ'«ê!QãÅIýE’Ê8—û—d™J<Ç·÷qªûH¨ÀWΖä¿&vÉ>ähíXƒäáÚ9@š.}q_ùƒ??ðÙfô/SZäw0 sßz¯vÉ¥óà‘L#/ŸûNDsŠÓ ¡•ÐDQba ä 4µ K¢#÷ùìkvý‘Z&ÇA¶"ágŒÎ…æ)î%– ¨ÿ²hBÜkHe^ùijÿ…2 ›•ÛŒÝß.×ÈJˆXÑsÆ^AxŒZøÛáí}ê0å=$"MØ ” ÙL]A»ILÚb!AÐeÞ í>´E|¡»1Xæ=;3ÓùÂè{oÖÖö`Юß"€ódZTóFÙ—S ÇoÈŠ%çR\ŒZàFeDʨBž‹¢é„J¥¶ÞÙDèE¶åàÇç·ö]÷´ˆßð3×UéÊP@qO(÷6s³4í¶–ÏñWpí]"ïÒÄøËÈozøíbX{n [3½_ƒû‚­Ÿ€%-Þ\hFÆ5bbbh jÐÇ‚u¯Lðjß®­Å®ä– [[XòmÐL7‰¨àhÄHç ã7ü¸5Í]¦’uߢêô­[•ŠðôÌÎûc>º{lëݺJæmŒïÝÐßKùýcccàðáÃjD[h"¯XXüÓ¦} EJúÅ(§™Ó"Þ>qÙ´’E1Ó^Émº²²²sçÎeeeÉÍõàÔá%À[Veß6EZÚËW&?{š’™[R^Lck»vî]ººw´‰‹Ø§¨‰RRRÔ¾ šäÕÖ%&#s8pÀÚںᯫV­Ò‰¡ ´¸·™÷dmöY;lð‘Øì¥/îŒPò ¤¸—˜?¥Ó-ÐPhb¢TÜ«7¡£Þ,CcœeA¶,on#:ZQØ(z±•Ø ‘” Ñ]UåNµ>¼Ã½3ée©llz‘[¬­ýº˜>λSjÓÛ…ÜÒÃÞäNi5??ÍÆ¦ÌˬHš¶ìòž2óRËS/œH0ßôÓ›·×ýj8»öï¿þí£ÂP©Òóp‰Ü×ññO_f彩ä ̬:¸¸ h¬Æò–¼Ž,R4@lî4fL÷垸 b Ñ•/jéÿÆÊ·Ešœjÿ:C¶ód[u”ænÚ¶ËÁ‚%{Mú~ìØW½W^3ŸjM¼VmªµæßEÕyL z!ÝãëÑÅ|é–NÆLð>‘"›—ϽTw[tX¤deD‚{Óµ·ó4‰øš‰×]Ä÷´S‹éŠ:ÝÑß–=…gá_3h4¨%PwüòO;9 „»·ÿõŒò¦+©0â»ãßó‰EM4ïèÑ£Õk[CåÕâ%V#â»rg×èŸai¢bz¨d½A‚ŠÇ–L:lxR(ÝøæaH§º'a{ ³lù⺌%©ë¥Ì¢'oVCX•ÒßÒhÃÝ|Ù»Q½Þ‰ ˆvíÚ©ÝY)sëæßû¡œQR³”›7夷B‘ò"‡'·Ú°e™_Ï õŠR©wšã`&±§.üãâƒj±¦½=öN*+ -IÜÓD2¸¸·õù]ò8O.ì¼-" m—þS'ûØÞÙºõŽtOµ¶¦Å=X8®ûÓ ??½@9޲âž\MO»Ò•ECÁ2ëqjžÇ§ûžÿ4zá²ô+ ÚôZt'ô t‡O܈k¸g «¦ÖÊl7Ÿ F–ý·yÚ)<пáEãn ‡.: ½¨†f ’i€ª‰”baÉõSáäìý5»þ:\R£(å¡ZèÅ€vü(4SqO ˆ"â^urôžÈ;tÓŽã§ûêã*÷,ÕSØ”ñ£@M®¹Š{-ÔV Âü‰¡;Î÷ýÍ#.ûDŸ/ú=‹XJúÒé¿ÌiÝÀ;;a2lV„ªE©Ý;iÒ€Ø;i:ôÐ’Ä=¢qÏq€ïÁC!£=mÑÞm•&>ÖMÚö]ýýïuç_ŸÝìÑùÚ–}!‹'ô¦Õ½Ã¬†Y_äVåüsó‚ç…5ë¶'òÀ¶Û¤+·w³[P\oeVM·é±á«ÞmTkdµU¸šéÞ?·e®›¶÷äå=}žWTo•2E!T@kñ˜†î8ßׂ]‘}¢Ï{jj»‰ââ™PSÜ»»Î]Yqϳ÷—iVRÜ«+÷Sä›XÏUQÆÝp´ŠX²Ôäãµçn„.¶c1*ób¿žØ§}‘[LLÉ­*K ½,ØP’8fþ÷ …|ËÎýá´ÇQ½¬ØT¨ü ÅÞƒ´0óF¿„¿_Y¥­j“Ó ‹sÀ½5[˜Ú*ˆaÜù|tP‡~«“N,ó¬.¼¹Éñm#&¶£Ùtš@L$EdÀQuκqCÓùBRÜ;5ë]eŽòìuýÀÒ™•Éê‡sr²x"v§ö|:¨æøHI—ˆãœíånwþô›'y3£ÏœQ誈Ž÷/‚¨‚÷½™ãývlÞþkøß™O.¯ymîŒe÷Ù¼åë¿[þ½±zGÉ»å?xö]pss“~ƨ3GA¡u:‹P惧¢¡ÐÍNÜã>¿¶í§½§/e– €méô™À[¾y×¼n¹­Žô#î!Rÿ‰ærSSSíÕÆoÅÖ/–mxzÿîƒÇ‰©Y¹Üâ2¾ †_öô~<Þù߯ۗuƒŠÜÔ µßÆ®\‘³Y‰ºIVf€»½MŠÌ\?±°XÉÈE7ÙÙÙfff ~ìø×Ï«æ,Ýùº¤ºÞ.^·ìØÔ¯myjj¹†bÙ?3h²A¶ÂÊŸ¾âö 9ŽÂ¥;\¿~]‹Gçñxj—¦I^¥/±rss 33S(”óžruuÕ­¡¤¸g½dò²ýEy±_Oì³åƒKÌ;|»SqU™—û"·ª$5pÌ|‰åî·zûÞõ³,†lß}´OÀºm¿Î¬ ½˜²úÜñ?• ½ØÄ<=‹{ÒÚuoï‚‚‚ׯ__ºtéñãǪ@c±Ù`bDþ“ñgмTCŽèå½|ò:ç ÈZ @cÑnÏ›÷ªáþ•ÅNaqy%¯F$f°ŒÌ-­ÕUdn.í€S//3ΛâÒr~u ЙƦæ¶vml-ÊŽlZvD«ç2oÞ<¹i ±··?}úô… šêÞÛ·×âeILLT»dMòÊB*èM\â&‰Dݺu[¿~=ƒ!ÇQÞÕ«WÂpÙIDATåäÑâ¼b)•Ù÷7-˜ìlÙèØƒe7qÑæø‚*µç|æÆÌtkÀû½æ¨4õÈÝܺõ¯C¤Õ³~w™JŽêQ]z«é #ûc9åÁU_õ€h—òlIœt÷}†­‰Ô_ ËÜ ’¸ÕZYW¥ßµ0:Yw`ð“j¨¬(´q>r¨’îOІJ·—¥Jz9á¿ý çôàÉ;¢>Ä=]£¤¸GAN[â^ß¾}7oÞ\SS£FirÅ=¹šBXæ=ÈDui @ªäå3c¦¿¿ïÄ!6,†ÜЋjè¢Ê -LÜk(…‰ª³eD>›9~“2ø "œ2ŒíïÜ}ÿ¦aÅ=¡Œ¸GMN[âÉ7ÔÈ%WÜ“¯é!Ô€mþ!™”Ƕ&FZ ½(×i‚¨Cë÷Ja? í(m“¯ÎehèŠiCH #.jÏŒñ#üxêÜUדËîàj,1ú«D†¬§H‘n¯¤Ó¤·P§MJJžËå–——k¥<Ëå …Býœ5SŸF Å=ƒ„^DDo¼84¹ïüÓ’îÆœ:vl߃g󺿥kº™0SùB.À`^–ßDˆ€Æ¥×U-ÜÛ°mîï_§hÈú¼iµhÑ¡»‰‰‰‰‰‰áïÉ–-îÉòüøÒAßœ…ÚЋÑÛ'ƒŠŽ¡8ë¿»(û¯H¿ü“/ë}$VÖÓ¤‹r¾\>ãÃî[ÈtsYWEÆ‚BZZVœÚþOê¾c×~óV­âf!û+aåjÌLå …üt¾Œ)à0èyÄŠž3öŠÂcÔÂßoïãPg£)ïø¡\.—Åba; õxT.¨·…Çù3œÃ›aoJþ[SŸ/Û¼EêlЋ¢[C¡‰{$/#¿éá·‹aí¹94lÍô~ w@ÇGÍ­GkDZ}-Ù©üúr½ì–Ê<ÉÌA#[oƒ×Ö€¡‘¦>|x=ÐPP¹âÞÜ‚3²Â¥Ä½ž3ø,ú)$x‰“ iÁ|õI‡Èð·¼¼3Øö³ÚÕy,x}0šLtžaà¡ý_çŒZñÛµh “>Cß—þ‹z§¡hk—´i(4/qC/"H+R¶­¦ÿ’¨]OHg˜/8tÓ¥6 !æ}ûëkrû¶ÃVC/"TC›ÓúÊsÅHYqC/R–Ö)î!:ŬÃì°1Î’Ïñq›b“sCf½'ý5f‹OLI5ô üg¨µU ½ˆ´Ø½Ë² * ï‡E¬–Q b’¶i&“ÖD%Ætl´jÒ©¤ã´M'«ijf’qÒ¤IF£ÖE@ñø%ûÇìFÀ…åÞ½¯þ"——Ìä›óǽw¿ýÎùï;¿ï;çÀnÌ„PEÓô4Ç0ŒÇã=x3$mVóÅóÕn·“¡™)4‹b¨V«ËÍ[Ÿ4à ;ÚÛÊŽ—,\œ»,%‚¢Sh™e·ËYv¼D EÇÌšIg*Oþ$?×é§ÃxÌì9B‘ðLåÉuÅ›f¤Ëi7ž™ZƒÁX^Z2ÃáÊÐ ÇŸ>û(‚_êAAšLf©T:ø }>@’@­æÆÙ™ÇëMMIžÈÒbYAŸi†éì´Ñ4m4Àéªêóç/®*X±`~6B8¦ÓáÀqü‹5hKËÀ›Ãx9á8n?µµµŸ®ª–ɤkŠ ÃD¢kך>Þÿ)EQE…«žZ³º¯¯oï?öÍžsèÈјhã½AŽ)H(#EÚÚÐËW!Ë>†H&¢¬âT}Cã¡#ß”;¨«¯×áÚgþLiY…Ýî¸XS§T*^ÞðR¿ßßåñ„b38HŽ…ý~è÷Š‚,úýƒ¯ Çjjë^X»îï{?p:]cx&XCÍáp¼µë/k×o¼X[º{z~º|éÎßo?xèð›7Ýî®ø¸Øì¬t‰DÜÔÜ|ºòÌŠüå¸V#Q5ÜÎÃ-„pE\.Á_!wîŽC›š‘ÛNÑŸÿ PÀâ8¹i#'‘Øí޲òŠòŠ“u—vlÛ:?'Br$?x>ZRêt¹3ÓÓ>Ü÷ñîwÞæóø$Ief¤'%&9ZB’•J%KŒQQ W,Ö[¯m~•å8ŽÒÜõ$‡bœBÁ*•¬RʼnD㔃¯JN.ÃÀpW}öÜþO?óx½óä›­Ù™éë^ü„ðzS³\.õz½¹fõªæ–ïlv;„@  úú†Ë‚ฆ ‚ „“ò$ÐhÈŃL'ܽcbÛVN(¼OÒ÷8 A”äy­­ßŸŸ¯pÕÊ‚¸rõš¿ßßÝÝ#‘ˆÓR“ûûû=/Ër(Š"¢ÔA=‡I¥Rš¦›š[þý妿–á6ÇÉ®2™TQ!$#‰D¢W^.–Éd5µ—L&ó5+3Ý××g2[ÄbñóÏý¢©ù[ÇmgG§ Ã°ØØ9R©¤ÓfgYæ~wÂEY¬·Ô*•"\^U}îÝÝ+-?xè?“H!RË—‘‹4¶ÓÒRò–,&I2DN$ž¡f4“Ê*N÷öúr/JKM±ÙìÇOTP­V©q­ö{“™¦Y†fX†Q«Ôw{}M-ß%%&\¨©ûdÿgk_x¾`E>Š¢ÃmŽ$AÀ˜……L*‹ªQÆK<2™¤¨°Àá¸ýÕÁ¯yŸ!Ôj5Ãu¶l~U,´pàðQ&"## ÏÏÉ0ŒÛÝÕi³]½vÝf³û|¾0q˜>22an¼ÓåÔ‘Ëe9ÙYã"ž`#ÒD¨Sæ%Ö7\ÎÊH×$©G/áVk[SKËÍV³Óåzkçë2‰d"[­!9{îü»ïïijn&Iòÿ¢+<\>Œ€‘ñF稟…BazZê×G¾éòzc¢£ê´wtîùð#&"R‡oX÷kN7Áýäƒó˜ê³ £’Mww:Q:£ö‹ŠÔ1 ÝÕå™ä±Òr&bÇÖÍR‰$”*òÑ _ÙXÜßß_ßx¹§§7 †AQÃx±8-5eÃú—BgÔP< Ðâ8Žãë­ììLtD€Ð4}¡¦vçÛe2Y¨Ç°Ô0 »ß{Çår[¬Öîžžà øR©Ô ×Ïž= æþ”H àk56»ƒcY0¤ËÝÅ0l|\ì8ΚC:BQ½>R¯Å½wQ“ <œ—îųBÁ‰ÃÆHcô¨R*;:mÇT€ EÂз;“õb³ þ¹±;FþDçd#Ïý2(È1‰ŠÇç€ÈH5FÃÎãýÁhˆzL ™¹ñþ=»ÃŒ:RÎç :;cúA Š „#ÕTJ…R¡0›-1FÃdAöõõ¹ÝîIMItݹl¾Ç™•‘mäñy£ªmÙ¼I«Ñ€É‡kBÂÜÉSˆV«À‘$`ˆFUäóÐÎfæÅP–¦§ïš€eCg$®‹r¹œºHý4Ùw¹œ¸.jŠw!ã•åù+««*m MsS* MÛ:;ª«*—ç¯|°ügê¦ÙÔzã±]ÂÎHŒÇǦíb‹¦4xhMZn\?jÁ»ÞÛ7T¾1÷ÓúéùÕÔŽ`NIEND®B`‚nted-1.10.18/doc/docimages/midi_read_button.png0000664001041000007640000000044211520267216016254 00000000000000‰PNG  IHDR Ùs²sRGB®ÎébKGDÿ‡Ì¿ pHYs  ÒÝ~ütIMEÙ  þÙh ¦IDATHÇíTA€ ÄÆãÏ·ƒ„”8šzèNAâ,ëJ€–,úÓA<‹Om8F:²1ÚëªÖR¶æ4ƒ@DVK(›ÔW&W1ŸW,¸aøèÒ]RüIeç¹]eâ›®ƒÛr‹­|X|–çÁ|³‘ý•íŒg+±¾ ƒy9(–“Ù©Á4”Ä3jgJ´ƒÁðèÏŠê~¬3vÍ/â€åûàsTqZƒD¨¬IEND®B`‚nted-1.10.18/doc/docimages/tempo_assignment.png0000664001041000007640000000400011520267216016312 00000000000000‰PNG  IHDRieN@ÍAsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ7 “IUtEXtCommentCreated with GIMPW[IDATxÚíoleÇ¿]»n+cl p0Aþ4D:'™" Î •¨ø‚bŒ`0ð 1`bü#†hÐ 8_¨™FûF_@H\²h: ´ “2Ú²5cÔ±?¥×w?_£ƒulmïÆÓå÷M.»õéó½çžÏîî÷{,¡•Ç]ÀX ‰!±‹!1$Cb1$†¥¥À¡CÜ»|$1$Cb1$†ÄbH,Ñ!Ð×|û1`€é i¾(›lÜ œùëæ2ßQ`¥ 0æÖJ`ëû@\I–˃À«O–| ¨ ØüP¦%ÒCV+ÑÁƒV–‰u©»Š‰6}N"Úû¤Zþô—ÉòwëÔÏŽ_":þº¾ýš ’’R‰¨ðnu=vE-7•&Ë+,êg )u}ÆS’I¼cÛúã¿°L]zÕŸ%&˯FFT7«ë¿L‰³6.ý|ñ pÆWqyôwöìúúR×߸X½úöÛX¶2¹þþVÀ<8úeò³­D q°ýàè‹ôW€m#~·ÛP(µÇ¬YßÞ±w€ï+€Ó-ÀâÍ7F€ºÞ“•!áÏwmŸ©W[å½vóïv;‹e©ý°¿8s(4Õ;ÛÔ²…À•0 €ëÛ.}”£;ZuWò"?r1ýî¾ù» Dµµ©‡ã–p&EàðïwD…&¢%6"ÛõÅlL–¿¹B­Óz‰èÄ{êúmÝQӦр̳‰~ìLÛ*®(D/.í·ö'õ ÅæÔÃJ ½´–Èb"²Ì"Ú²—(¡L H†¬§7üØôÇ¥÷/oæ¥móv €ÚiÓð”uj\G4wE™ þì… Ø7o0Q‡….Æb¸‡‰ iH–1-/o¬4–!‰Ð—$¡º¨ˆiˆ éCÊ H÷Y,LCdHnIÂòÂB¦!*$@XQ0Ýhd¢BêŒF±Àlf"C:-I¨áë‘ØN…ðsd'6$—$¡†!‰ éB4Š<$.¤!Y†Õhäá ‘!’$,çSØ8²Ë…#‰#;ñ!‰Dx`UdH €ÐõûH,A!uF£X̃ªbC:ó©NtH.IÂ} IlH|76 ùb1Ò€,c:ÏÏÊH'ÃaTópXZ[[qäÈÍ#;—ˇÃp8œ•ßï‡Ãá@0ÌÊ' ÂápÀï÷kÚ†êêj@yy¹n<$I‚Ýnœ{ýu,ýääE³{¯»»===°Ûí0g1O¢¯¯/^„ÍfCqqqÆ>¡PX¸p!fΜ™VÝx<ŽÁÁA”••.t:BO>šÔ@UUUÃÏ–SÍÙ³šøîÞ½›ÏçËî ž¦&@N§3+Ÿá¾ljjʨ®ÕjMY6é×$O$‚Åz‹8œæÈ.7 ñpàNI‡ß¢CòñŒU±! È2JxÎ·Øø— “Y›ÍF¨­­Õ=™½còdåN§&¾S)™ …Bðx<¨©©¹³É쯗ÚB!Í|9™ÕA.I½~‹}MŠñì ‘!ʼnøÿ4ä$~ÄEpH1"žRœGçHɺm$#¡(HtuAË­ô÷÷Pï¬&‰Œ}z{{@ «~îËÞÞÞ´}EIYÏP__O---ذaƒnœ'N 7Ãs<¢mHïráܹshhh€%‹£Ôï÷£­­ õõõYÝ¡ƒhiiA]]ªªªÒ®ÛÚÚŠõë×ß™dvåš54½²Rs_Nf5Ô “ 3x`57’YCbH,†ÄbH9žÌ¶··š››uÛH0D$Ñ|^¯€:¹¢¢"c·Û hooG$ÉÚÇív§½¯n·‰D"e=M!‘A·×‡ÞàUDsQ1fÏ[5¤±|GB*))ÉØgèÊ¥zzz2nS^~ÁW”ô^°ÕÕÕ5&$M’Y9v™íÙLó,ù`Ô2­¼ŠæÎ¯ÒÜw悚 %³ãùÌ]^?ádv½öuR‡O¯·ÑsW½B¾HâŽøjÙ>½öu" »ví¢}ûö¡±±1ýüEÂѦÃ8öë?ˆ)tË9¾+×¬Ç kW ßpg|µlŸ^û:,ǃ`ÿþý£Ê Y¿?)!ý‡óç½ö_ PVQ‰%‹+a6„ðÕ²}zíëí$ÌK®X<ÀÊX ‰!q0$CbH,Aô?&®ŸÅèIEND®B`‚nted-1.10.18/doc/docimages/coda_sym.png0000664001041000007640000000115111520267216014540 00000000000000‰PNG  IHDR”XŽsRGB®Îé pHYs ‰ ‰7ÉË­tIMEØ z°¸atEXtCommentCreated with GIMPWÖIDAT8Ëcüÿÿ?)€ «èÛ ýË_'AÃç‡[Ž|üI‚|à?*øöüHE‚·7+¿šQbùä—¿þ¢)@ÑðíÕ.^¶ˆ©î®wJ¿r½ÕO^Ä(õß85Ôé‰p‰†ýûÿÿþ§¬Ûï~:ÁÂÈhÞp»†¯/000(ïûÓðÿÿÿ .V.­¯– <}ÅtQ[1dÚð±ýþv­çñg,¡tå#NINd "¬L {¼‚‹°üùvmÏ¡G ›|f``xsjÿ¾[O¼:ÿr׎;|—¾þf``¸9iÍa{7wFVvFfNNNNNvff....6&FfN.nnnFF„§w¹Ë100د¸ƒìéùêB vKncñ´Jª*÷‡ßýðìç_w[q,ž–qïàdf|¾ë²†²ñšËòbOÕÙx?üùqÒ÷·[ܧ\ÅÓ½H1ÓŒnÝ<ÙØ VSCLj ¼©Ú•½»In’|( J“Ñh6™"##ÊËË¡N§3™L&“I0–®CPm“sÙ1i1›õzZ­Vª<ð^%=¼¬Ú!¥Þ«X+Qø‰x87á’š£KQÞ³o­ ê½îɪìåä<{ I W‡Çç ¼/¹Ð¿yœ%NíŒ,~([}FJ|¶Q0¿ nɧb}ùVˆ¨ŽžÃ0ŽÁ™ ç2çƒw ˆOÚ“š-®U­V«”*‰Éɉ†Žëv‹ÙܪkÕ¨ÕJ6Ѭë¬W8“R¹Fp4¯“dBÁB‹Ù¬ÓëØÂ°ç†‘Q9>T©T …"„.^¼(ÿ®˜”;iWäÅŸ‘Éd&“ñÂ… W®^imi1Œjµ‡F£éîÓ=84ÌS£qpM[n›7“p;\÷·‰.U„Q[G±ª€  ³é³ Hß´*à2[×Í»BÅ_$Ö‰'W qÞ^wiÅŸëý˜Ì.YBäDÁ‚R̈w6$ÖN:šO¡]—ÂETÀ¹xio Ö½ Š¢L&cUUUã•FÞ îî®ÕjÙA-ÐDÙBŠ2™Œçÿþ[œIhh˜ÆÓÓÆ Îe5ä¦!Õ µÛMùøt U«Õ.X•mê   9MÓÎŒô=‚‚ðç566Ò4à¬è—/] ÕB™\^__WXPPVVÚÜܤÓéÙ’iÔj¯nÝbbbûôíB[­®uy×Z3GI’Z$p¶>v½WqEü¡Ë)ÈpCÂA»˜ú ±.ŽøÊ)¤(Çpr2K#þñ‘gâ—Äö\†áÄdñ”.° ˆË€+ÃWQyÃ’…}là, °ˆ_·¤ÂÅ+V0ÄWz ];FvNw*ħ-\1t!„Šç0Gvԉ;×§ì,|нPE]®»œŸ—çlP÷í×/4$”¦i%oŠ¢êêë òóÛ`š×kRI_ʰƒ¢(Š¢¨ú†z×4Õ3¨'MÓÀ‰T¢išÍæ†úz„ ;öÔ8¥êõúñãÇÆcÇŽyzz:£Tñ$ —Ëÿþ»êÌ™Œââ’À€À„ÄÄàžÁ~þþMW¯Ö^¬-Èϯ8[7h`B\\¼mFº^Aµ=W²ÕÿŽ”U1õ­MY•7åˆôÖ6ÅU±t)=£8Ñfpÿèú?F ’ëùUÀYÈÉ2O²°g!]rnQAʦ&)íºN—$O7ô} µ|Ú~•_&—Ÿ­¬ÈÌLguâàÁÁ=ƒýüü®65ÕÖÖ”WVÄÇÇ% LˆïÝ3ñ÷+—ËÏ;Ëe’˜âëç×ÄÏdÐÀ„øø^ÎÜÜQ]ký\aÎÿ]•ɧ)¶0kk 8šŠ‰C #ì9öÆôó÷—KÙ×BŒ +;vlöìÙ………¥¥¥ NHñG1#—Ë[ZšÓÓO—––7~HR—Ô×ßß×ß¿_ÿ•åå{~ÚM[ŸîÝhšaKt_Pݱã+À¬ÇïXKööíÛO<ù”k§VF£œ¬ð \¿YÕ…8$ >ïØV~ø#ЧÀb—⪭$Åc1¶$\¶üiƒ» ¤HЦŒ3 k„¢¤Ô%ü)œÀèÚŠ*^£cì¦C„5Ž„ Æ^î¼91JħÀވ߶¸d*Ã._ÆÇ…SœËð[öSÖö›À§Èd²«W¯¤¥ýUZZ>~ü|Pûùûûùû÷0°¢¼|ÏÞi ããë؃±Kvì‚"„P&“55_åg‚ì™øùùûõ0 ¢¼Â–Iwßœxèb-YhSÂ¥ciVE,Ÿ¶´4§ i ýüýüüýû PQ^±—¥)Ÿîþþ~ Ñ$È1׸܆A@v9Ñb±°‹WçÎ9rä¥K—Ìf³É³ÙÌýd_.[f[&””–—L»ÿþÄÄD†¦Å‘QQ3yôìÙŠŠò2“ÙŒl˸Ú=@¯×Ÿ:õç?|¿sçŽï¾û÷ƒ€k Å ¢=W±WÈàƒ™¿²)˜j$½ŸÁ“9×®ŸÚé¿E¨ Û/ñtLîF„ÃÖ ö°ò‘ˆ@–:1Eˆ\G¸ÆAvp’ ä/âã~s0ÀÁ]d6©0 ÃÝÂQ†p=!Ä0›$Aϳ§a[€á¯V;š o^ŒË8ŽF‚:®Å’&. ´ì錔H뎾ϛ!ÜãSÄ? ¦¸¸¨¸¸dÚ´iÎuTTÔÌ™³Îž­(/+5›Mˆ÷tÈÒKqq±#«•±Ò‚¿¨ÈH6“ŠòR–^½O,¢ ú†€}‘„Ï€ÂiÊSë¹wÏlÆJ3V+m¥³³Îìݳ‡¦­°4UQf±Xp’ärØüåÈ6”Á**„ð×_=qâÄ´iÓ ~ø!B¨¶¶¶¦¦†+efff@@@xx8 2"‚“smQÓÕ쬬ظøèØ8Úù_?¿a#îÊÏ/ˆ îLÓ4€þ¶:~ß¾_†5zT@@ÖÖæ¼Ü\žÉkB¾Q•s‰R†Q×Wà*ÿ=±ÆSNºä4PΛÄÖ¼v7Ü?ŸÇ#<ÛpŒ7Èó?wp1ƒÉ,ˆa䌀ØHc%8 "dåÏà(3„ ðmêÄ…kÌÔÌàvRVdÅ7Ä<ùÞW"ÙÁV«ÝÑNÄKRŒÀÙÖÑ·@vó1ë±dl±[í% Ì‹âSw& Ž!â«ùvÒCBÄ ÞU»Ô†BŒCVeG%¦Ž@ž¤ íZ໩AŒFnxÁí§¶NÄçµ_x*ÿQ2Ycc;¨c]j??¿áwduHH¨]PEŠ¢®\½ÂfÇŠŸ¡ãÇÕ×צ¤¤²ôõõå˜!„5ªr\ꤘ‚™€]¸@QÕÔÜÄÑÔ¯¿üœ:jtvÖ™Œ3™ ƒÎd1É#“OýuêÞ{'r…éÔÓjµBíCÛ1"ä¬Dil|ÕÌh4²»ªõõõß}÷݉'´Z-W²úúú-[¶Ì;7)) _žbÿËd²ææ–‹/Ž/ãÚ¥14ih~^NKs3ÆZ£‘ˆÙrsr Ã]#Gõè ðîæ“’2 o«¯¾ú’íaÞÞÞÆ  2 SŸWZVj0ÔM|\\ÿþØA¦çðØãO †ùë¯S••giÚ*x7_nÛ†O†ÞÞÞ#FÜ ¦¥†zxx„…‡:L¡T¶}þ9®1y{{›L&½^¯V«GÜ522"‚fùyEEE­­­jµºOŸ¾”Q@6.¢•qnX2§°ïQ`R  ì³HLXø¹Ã„ì ljÅS‘mpòT`E‚›ÃBÀò»`=Gš=º¹Ø!áš¶HeïŠöàuǽ£°[F‘R9 ñíÓHhI@B!‘“‘!„@öÅh“‚Ê뛊»sA!€ vÞá[ +Ãâçm@Ä–ÚxV~ÎÀìBí£ìƒz„‰4M———•••EFDôéÛͧ °àüßÇ÷ê3lè°¼ÜìÖ–E16Þ´ „;3°‹Ò¡¬ì,HQ÷M½ïÏ?Ož9“9hPûÄaC‡ñ˜kÏ6mö7èʱT&—775s4‘}&sèÐaééiü®ñôLJüWzZDX8Ã0MÙVÞìÓ$Ûö¬Ð*—ôòãÔ«³gÏþñÇ‹eîܹ“&MÊÌÌÄ](¶oßÞÜÜ|èÐ!NèÓ»·€þ[ZšU*•·w7šqPjeeEEyELlLtt öª(¥ÊÃbµ:Ì."i±º¦êÌ3?66nè°a555=rêÔŸÓ¦Määgggõí×/!!1;++++ 8`Àî®øø^III …@˜•]VVÖ¿ÿ„„Ĭ3g ߌ?|øðêêê#GÿyòÄÎ`¯Œ†ûî»ßÇǧ²²âĉ ͤ¦¦r1⮀À€Ÿöîmll1bD``àÞ½{Oÿu*22Ÿ——–ž7}ú¹¹¹é2™¬_ÿþ6—O2(&Vþ"2®J.û@¾%Xá­$ˆÇæ¬Æ-O úFC8 pü(ìß|a÷nx€ð¬fRÛºdij`n<‡*Ì—C®Š3)îx+šŸ$­«[bÂfDÜðŠ75à/Íã&&Ü3òmÜ3¼òýR$^Ÿ Ý\ò)Û!›››¸A]ZZšœ’’›““•}fÀ€ÙÙÙ&“qĈ»ÒÒNGFFB *Uf‹…axJ0EQl&>>Þ4C#„rrrŒFãàÄÁ¹ù¹ƒ‡$effdeg 8Õ±Xf í.YPħһB\.L9h Bœ¦âããsóòÒÒO2´²¢<&&æ¯ôÓÞÞ>1ñq4måhŠfÜØ‚›æ)ñ|’ŽŽ5jÔñãÇçÌ™ããã3räÈQv¤¤¤|øá‡‘‘‘‰‰‰ìqVf‹E«õ¢d2CyYyBbbyY9Ç·7ÃÐbñƒÉd¨”Jg²þÀehiiaO–•–úöé+£¨>}ûÊÊJqñ'qð`¹\ÎZø*++}úö“Éd}ûõ‹E ‰‰2¹<4, Ðl@hÈà!¾~~”L¸pá<þ¦cãâ|}ý8Þgu:› °¨˜(—Ëû÷ï(,,àÃ~Ç0‚½À¾ùöVµqŠ»+á,g ™Vn‹ì§³<Ú†=nXØ7í…aß2 œ¥’³Òb¦R—û“±4Rùà}Øö\±á’#P¶aí70R¶QASpöe‰«˜ýá´no(„›¼ù—‹lü«Ü*?#’@¡à¥p&T±Ÿ2à&`Ä—©(CB€êðððÜœì!C†´¶´>|Øh4&&$æäæ„……3 ÃÐ4;¨­V >ý#Ž( 1LqQ‘Ñhœ–žV__Ÿ‘‘>xðàÖ––ââb3 àJ>uŸOކŽÑ4ƒP¿¾} FSEEY|||Ii‰ÅbéÛ·/{‰«mµøÔáÉ ¹€#Ýòòòýû÷ûí·sçÎݸqã¾}û’““§OŸÎ•lêÔ©‹åÈ‘#€~ýú ü“»yyY,f“ÁÈjÁ,b¢c²³²b¢cš§Z,ÆS¡TYÌfǬӨT*ƒÁ`2™<<<8c"Fãììõ2 µZͺ˜±aøêŒ +›^¯xxx ÔøMØa÷ådqéÒ¥3™™W- {Æh4âR€B.ç‰B¡à¹Ç#¤×ëßÿ—akk+Äœ@Ì] ˆ¶ Æì¥ádX©1#ö@|¿QÉ7(Ø%ò?eéò%> )¾9BjwëÝS’¾nbÒ;`r­äð“Êò÷õ‰K1—&àÌŒO²@¼„…Í=Âx˜<+p&xæñ\0¡‰·-0;pÄíz[=yR”mPM …"..>¿ ?##cpâàŠ³•1QÑiééÞÞÞ1ÑÑŒ•²ƒZ©TY­Vn¡’c£Ñ¤P(Ο??lè°´Œ ïnÝúôé[PŸ™™Ù«Wשּׁ3±1±fP(Íf3»÷¸ô´sÇqʱ÷Ï^#£Á¨T*Cçä«Õê¨ðÈ‚‚‚¸˜Ø–æ–¼ÜÜ~ýúÄp5R(”&“IÒí_.íqb×)bcc{õê5a„†††'žxâ¹çž›4N§3 j†MìÌÁ·N=zÄ`0Œ7.$8!Äzt ªxìqÃÀÓÓ³¥¥å‘™ÿÇŒçdÎwžGbÍÝÅà•ÁÖÄ€ë迱ó£pQH*¥$Ïl£$t²Ý[ø] ª’Ì+Œç€Àím°§Ã‚)åÚÁ7I#©ÄÃm0b-3*ó2±°Øb+ÞO%Xd*2ãææk%S\d¶ êÖ/oo@Ÿ>} 2Ïd2$=#ÃÛ»[¯^½Ø¡mæ5¶ÈÒ–‰®µ[·nQÑÑg2C‚C¢c¢i†îݧOEEyVvVdT4ÍÐ83@‘Ÿœdùn$’ú>7 †a £×µÊäÞe¥¥£q`ÿþYg¬VKKKË srsKËJb¢c¸ÂÉm¬œ•˜¹9ݪ¼¼¼¬¬ìêÕ«J¥òÀ>>>'Nœ8vìØ±cÇ>ùäƒÁÍþÄtB´ÕêÝÍ;,,¼òl…¤§þw±¦:¨g¯n^Vþ*Ö«–Uäáá‘u&óÒ¥K¡–¦¦“'Oþ®ÜÇÞ(**d¦°¨«9 æ (,*dhº  ¿Mß)\¸P*”4MgžÉ”ó’N*ìèÛ·/ ==Íl2YÌæêêêß~ÿ aœÂI|b©lH,RÙðÌv¿(ÈýÇ ¬ö4 ®Ïr:>D[?=§Ë#Ñà¯hq>7®Ðæíß Ô¡’Îv0¬é„vgìO)¹ÆD|íâN¸ù[`¥Åš ñÅ^€éø±³{@þĆn^¸2^!1­ó£Õ>¨+°AÝ»WoŠ¢:¤”+âcã«Õ6¨kk‚zöèæÝÍJÓlK²Äj±pÌ@ÓthHHòÈ‘‘‘¬È¨ä‘#C‚{24]네7ì¼zEs§Ð‰…+̹JÆj­®®Ž‹‰ÍÊÎöòÒŽ>B£ÑäääÄÆÆÕTW3 S[[ÆÆqâ¸ÉdR(Ý»û vg  J@œ­¬,,,ԨՃؕÉí7 ‰‰“±¸¨¨ ?_r¦‘ôö5jôéÓ§÷íûÕ)󊦵õí×_&“}óÍ.Š¢zôèÑ¿_„mªÁcFá^÷HäÏ(îa‚]Cœd$ö…ø&ÁvRÁÒ¥(®”2SŠ%…6ƒI˜Ãœ¥t{àGlz³òÅOÁ¢<#’nxËäˆçÓÄÁ†¸µ>û»fÄ[cù2©`ö…|½!á¿PüÄm¬|×ë“L ¬V«Öˋԡ¡aÜ f—’X¯U¶.&“)77Ôf“ g|<“6™!//âÄIݼº™ì™¸ÚF%Ší î„‚mÇ4¿0‘‘Ù¹9Á={FDDÐ wöܹܼÜððH½^ÏF«õ2ñ-{¼ÍTf³™SØžkjj/fddôîÝ[&“UTTäæææåå-[¶ŒÛf6›:!Œ‹±›i(Ö«Q¡P¨=<ÒÓÓ3ÒÓ“SR´ZOq˜W£Ñ˜‘™1hPbŸ>}¬+MÓ¬‹%@"Ã'²91¥IîM,k:  ø=U2;›VÝI Þ p×}g—ø™‹ôQ„»°0Þ¨#ȉš"Þ, œ„øŽN—V]hdžl#„•se°ÍÚñNJEƒä§„¢MP¼…xÁ˜‡VmyrƤ’—ÜáJ× ìk$ »×H¡T¦§¥e¤§§¤¤h½¼„7B`4Ó3ÒÙAÍÐ ·æ !Åf)“+T*[&É))¸k&£Ñ€1ƒ…¦i.f†äÀo3ˆÐ° @ „P.W¨ÕvšJNÖziþFv®2š4e1›ñ­\x¶þ6Jå7¬mÇ^Ïà6Ý×_]YYùꫯ>ùä“;wîtVèKkñ†cÝÚÕ B(77û£Gúôé¦R)Ù¦1™LuuuEE…£F‰‰•É(£Ñ$½gQÄMЙ ÎYð>uJ&pÁ›â>Ú6oº1@ ¯»dÁB„ ­DÆ1½JÄ“20IÓŠ:†"~ó¼vu&ãš2Aü€’ŽƒŽÂ;¡EIÂ…"É9[ïuN£‚È{ÂË|µF‚Iù;›… ÚdRÐvàg{Î6LµZmµÒ¶AÝ·XX¨J¥b÷›L¦Ë—/sƒZ.—›LF¬éTå¡V3 ãÈ$4T¥R3yÌ —qÑñ…fg'6_wˆ¹H{zj†ÉÍËáÑ”­Fƺºz®0‚œˆŠ‚g;µQjÝåKü˜i¶ãžÁÁìÁâÅ‹OŸ>ýÑGíØ±cÍš5ÎúúÅÚZ»õÀfSe_­V«U*•õõuÇ?w®’¡O­Ö`0(ʨè¨áÃGtïÞÝl2s«ävÇ ©ØBÜÚt¦ý±~ÐBŽ·Á KÀozÎØ'ô‹äü”ÉBgl Û:˽lÔ!þb‹`MS°CL¯Â¡NAŠÏ›Î‹åM<±hÂç5‚ø.I…N>Ði•/¹ñ\ %fò÷;I±­ð â'æs¨`K®(.:ô(H¡3æã®bLÊð™TJ3v)£Jy(þ*—c ‚F­–+®µÅb5Ú×x¹½v rØL<µZE›™˜-‚…bŠÂæ9çqYÅÍAŽ!ƒÑBZ­V©R¹.ŒÉd6èõ‚FÄÉ3 °+¥^–|o¥¶¶¶¾ýöÛ‹eÙ²e¸ˆ.˜ 8JeÅe¼&J•J«Õ2 M[iƒÑ`05µJå!“ÉzÎb±;”6½Ùçoibå%À®JR'w HR'FyüšbQ“rE–îŠf·Š®B÷éÕ5{ ˆØM’囘±AΗ70?˜¶ùµÍÀ:¼g 㨊„>Þê9”Žøç’@äèϺE£Bý]PrF|U¡¨M&åù®âmå˜Bh†PB©Tj4ZjP³Î‹V‹E ÐP0 Ï`­T*5žžÎ˜Á ×sމ\!YJÅ[²ÍEñŒ0À¾I‰hJ©Ôjµ b$ ƒN§3›Í"oÀ—RY)õ²ä§/$?´Â3Òµ· ÿOQ*•J¥RÉe2öv‹ÅÂ\‘¾ÅåÇKðO€@'Z!÷ ñã…wá3ÝJFœ|6Jr?¥+ €;†Á·+D¾ÊÂW*l\ÚNâ…Ú?µEƧßzpm|tI£‘¤%] Ý^¡ÒA1{ôêÔxê¬ú@a®)]X€dâG ur†ÿe¡Ï¹hÕK2D˜3k \ÚâÖŽ¥WñÒ¼ØaK’aņ⯠QŒK‡ˆ„MPÒ†³ˆˆUrT”þ ±©[¸8¡`Ë–àx aèl!˜Ï¿Î<®€è¹wÇaaìàØQE±K^{€ŸÌá­%ÏgIÜ‹¿ÍQz.tùò}‡Ý8å¢ûI;`aqš)Å"3tÄRWáuÑ ÅJ‹¿eøÄ€Æ«ýèØÜn"J‘Æ ¸Ãѵgµ»Aµ&”J@p§#3#ãN¨€CoP­ ¥t(¥J}^ˆ«Õºáý cÇŽs÷Ýx$ªÿüç‡)S§1â‘™ÿWZZž4›Í«V­5zô¨Ñ£W­ZÍí*’”ôõ×»&Ožœ4t(›lÅÊ•É))ã'LøŠ ƒoO&™í… ^~y~jjꈻîzqÞ¼+W¹ô?üðÃÔûîq×]=üPVvöO?ý4}útöö²òr6MÓ›?üpì¸q#““—¼öš^û€€àŽÀÉ“'zø¡á#FL™:õÇÝ»âÛ¤$üï–!II_~õå¸ñã“SRV¾¹’#g$ã¢vܼ²mR–$‰áˆQúégŸVTTîúf×O{÷^Âv¯fdžùâóÏ9r÷ÝcV­ZÍžühË–Ëuu{vÿ¸ûÇ/^º¸eËÇ\úü‚ü]»¾ÎHO|üñ'W®\ùù§½ÿþöÛôtž.™íËóçÏœ9óàÁƒˆŒˆX¿á}.ýé´ÓÿÚúÙÑ#G&Þ;iÞ¼y'Ožüä“Oþ8ztü¸q«WÛnÿb۶⢢]»vw~ñ«¯ªÕêÇfÍ*)±Qøo¿ý¶`Á‚îÝ}}}}-\øÛï¿qéç¿ü²Owöxÿoû,x…M¶pÁüq’Ù~ÿÝwC‡&©T*­V;wîÜS§Nqé—¾¶´G3g>¢×ë/^Ìý,*,dÓìÙ³gÑ¢E=5ͼ_<|ø0]w Tªú†ú+W¯½ñú’iN§¥ýðÃÖ¬YÝÆËÝ»û.X°`ÿþ}®IÆÚ‰á‚²$¹È5äâS‡䎟œýLÕ¹³õ Á!!â”ÞÞÞ쇇‡Õ溱±1Ä08$¤±¡KÏ~ECCCpOG²6³ÍÉÉݼySqI <÷¥õññáÒ ~r·×]¾üÀƒr·°·GDFmû|+f] ì°•Ëk×®ý×Ö}öÙgžžÚ æJ%¸·²²ò·ßÞ²e‹Æþ…à=v\”à`‰àà;™8#™6k' ”%æ"¼â\!Û T6){ÀÞàïçWS]îNù|}}kjkÂBÃ5ÕÕÝ}}%“ùùù9’ÕÔ´™íâ%‹_þç?GŽééé©×ëG}M¯ÍÏßû¶møÉªsg¹št ˜N0–ûõíûþûB'Oþùæ[oþþt®\i\°páòå+zöìysÆŽëÒ8–¨­­ñõósM2®k×NÊTÜÙŒ"wæä³ï”©SÞ}ï½eË–iÔê϶nÅu1&L¿nÝúË—Ö®[7aÂÉd÷N¸wÃú÷—/!´nݺ6«m2™T*•R©¬®®þhË–k}s3œ±jõêE õìyöìÙ/¾øâí5kÕ$ è’À;ù’×–>óôì°°0m¥)_žÿÊSO>™0èŽA¶,KÖ¯Û0ñÞ‰®IÆuí¼¼¼ªªª"""®²œ•€S¨[¶Ô9ÏÌ‰ŽŠzä‘Gî»ÿþ A®Ï}a®ŸŸï}÷O»ïþiþs_xA2Ù /<ß­›×äLùŸ‡NJÒf–½ñÆú 理¦>ûÜsƒ ºÖ÷ôÄ'&$>÷üóÉÉɯ/]z÷˜1d¤ܸ{̨ ¦¤¤lÚ¼iÕª·Wóòò–¯X!Xñ¿µc'!qÐŒÿyèS¦zûx?ÿüs®IÆuíf=:ëÑG{ø»IYnšÍ¦K/²?ØÏþ>tPÒF@@@ÐùßÎ?–]—vHRR§Ý†€—–û@` âêO@@@Ða ”J@@@ÐaÔ®ýÜ Ü.Áp •“×vg÷$ è8)•àNÅSOÏ!ÐÅ€"»W¥ÜÊH¡Ë€xétJ%㊀€€àú…øt¥J% è| ËSàïï‡ÿôòò:{öiB©׃úzGŒÈ?þø¢=ì¡T‚ë‡ÙlÞºuë/¿üBš‚€àz(²!•Àÿûß))Éxb× R ¤Á0̇nÞ±c'i ‚ëYñ'p`Ïž=±±qñññ¤)®SñgåVñV£«âž±ãœ]Ú¸qã»ï¾Kš¨‹áöË·'ó ·V£ë!äl'ø4õðáÃI+u=tαì,ÈKçgáiämÞIºc—ë°7~ðâ‹óH+uáÙô¦= BØæãðïÆwæiÉÉò ?ÿL§nÒüÝ…KN–§: O©‚­w8Z[[_œ7¯µµõN(9‘R n hš^°pÁŸþ¹`áö³ö]»ä!ÛŸk\¾|yÑ¢…ƒ'öìóðÃ8p0dÈ’’Òun „V®\óÖ[o¹Xihh4h`;õÎ÷Ö®MOϤ§g¼·víÍ,­û÷¶³ä8…º+¥ÖÖÖNœx¯¿ÀîÝ{þþû|ZZúìÙ³·ný 0f̘£G’žJ@p[૯¾úH§ÓMŸ>}íÚu*•ŠôãÎ òµ¢;ß~ûíÒ¥¯–.}ýwÞž5k–8YiiéáÃGNž<¹jÕ[·iiݼ·CDîÀ]'ªƒzôhccÃ}š»š”4´´´´©©ÉÛÛðúëolÚ´°téë>8ƒtâÎ §ëÁE8?üðš5«·mÛX³fõÌ™ÿ'&#œ@¯ƒO;í)­‹{oôzý5PjXXØþý¿­]ûÞ?þ1¹¾¾¾[·nIICøá?ìU¥R9|øˆãÇO™20bÄðäädNwÿý÷/Y²„tôÎ<I#t¸)^=þøçÎU%'d}ôÑZª·ßyç‡~`g̘q­~Tí)m;kzM%×ëõ999Á!!×6%44tãÆMή²æÔ)S¦°S‰iD@Ð9!\±bÅŠ+Ä—$¥ÑvЍ‹.¬ª:—žž1thÒ¢… ofi]ÜÛá%×h4 jµºÃ6¤Ž3æÈ‘#¤¿àÉdëÖ®9r亵ëd2Y.9«óÉqí¯= |½{÷ÎÌÌ$ˆ€€@­V»yÓ¦.\r„^¯ÏÉÉ !aSÚ F“0¨#ÐA6nG8‚ŽºâÖî 'è ¸}Ÿ¯¯ä¬âÚ¥’=‹w<¸bÅòŠŠŠ   ùó_a£K¹Ÿ’‰A§ ´ApËÇò¹³•íLs«˜çºKÎ)þò6åX‚;/¼ðÂúõë'L˜PWW·nÝZ×{œ%î$6n÷±|›2Z­v¥ø“°wÔjK—.544„††~ðÁÆëHÜþ@7·×X¾Ý™‡,OÀöí_9rd̘ÑC† ùí·ýבxÙ²7Þ|ó­öøátå)HLLüúë¯B|é¥y……r¹Ü`0°êLcc£ëÄí´A@Ð@±¦ ·>>EÐuñÌ3Ï”””X,ÕjûrY¿~ý>üðCƒÁP[[»`Á+®××7p Ý» n'`J˜ù„=ùÁüúë¯QQ‘“'Ob#¤¹HL@@`Sü9锘ÁîXLŸþÀôéN0ÛÀ}+M21"¢ÜYB*v@¤T‚¡TB©„R ¥´ âêGƒì9& ”JÐ1 aqn¥Jì›jó»µ]ä-“·LJÛQâ wM&cõùóìJ&DDF‘ŽH@p[ƒ5éÜ.cùö*­¸ä mÛ–ÆÛ=E„7ñäìglB*_ñw•”€€€€À}@“ÉxÁ®øß^_Ù& è  íŠHhñK% è0J% ”J@@@@(•€€€  C ŸH! p†;ÙMB(þf=i‰ …’ ©màÎŒ„pøÐAÒ n6Qü n¥t$6¤¸D¤T‚%¥ÜZü|úìW¿Ñ„ @ê€Ðù&ÜîU3ÕÔœ[±²éÔ©Ðy/?à ÂP¡€]k<¡T‚[ šAÛ~+zkÎXO • ÍzëÛ_ì»Ý)õâίÏoØÐâÄ W^9´iS÷ñãÕ‘‘ì¥ú_~){y¾:,¬Ï×;UAA]æmÅŸ€àÖàÜå†AÀþyoO“yçåž?’}þ÷3<=·»¿8²Z+W®¿paÄ Ažž'L¨zó-ö’¾¼¼jÙò{/î—œœwÿ4CUU×¢T„l7§ /.Þz‚¢ Bb°0ÀlEY¬Èh¶PÞÖu„r¹GÏžÆ+W@K jnMN6•”´deÑz}ñS³‡Íœéáé:xðà Jç<Û <$)ézgŽB‘R n®ì†ÀׇJv*1šmá !+hXH3àjSK¨lÄëKs~þôèÌfØÔ”0uê¹++^úgtb¢t4jiA&P©(•Š(þ× ƒ™^õuzI­~þ¬q˜8 ‚4Ì4hÑ‘¹¥_¤¿àÞòŠŠy/½”ššššš:綾ÊÊË%Å«²òò{'Nܹsgg¨¯ß„ &닊 ZÍ47 °ZåñcÇ2/„ô­­™?þ»y³Ð*rîÜÂE ï;vÄ]wÍš5ëà¡C·Ë+&ËS7 õ+w¦õ ?¢·J!L[þ3wõå÷÷d28~hÜâY÷Ô7µâ÷ž¿pþ¹çž{áùçÞ^³ðÛoûŸþùmÛ¾ Ã“åææ¾²`Á+óçOœ8±“Ô:råÊìþsÜ«¯‚–æÂ…Ô§žr9ª¨@ÍÍL¿~Çׯûà}uD8~ËßçÏÏyöÙ9Ï<³ôµ¥¦´´ô«_;–P* 9•õë¾Ïš4jpŸè ²ÚÖA‘Þ-~HN¹ *e@¥©ä”Z¥ÐjT‚†&=M3¬¥•ŧŸ~6kÖ£<ð ûólimýìÓÏÞzë-.Í_§O/[¶lÕªUÇ ë<ï–4DU›‘®^ jnfjkåãÆÚº5`Ö,ŸÔTÁ-Ÿ~úé?>cÆ ögÿþýß{÷=öøÂ… ë×oÈÈH·X­C‡}såŠîÝ}Y9ýµ%‹·mÿ²®®.::fåŠeññ½V«uÓæM¿üü+ÍÐOÏžýè£hšÞòñÇ»wï6 £G~ãõ×5M‡)þàF`÷Ÿ•Ì{ø©Á=üËkZþÝTr¡©ôBSYõÕòš¦Ò WJÏ7ž»x±¡¥îJkIÕ%„¾8uúôéI'áyNš8étZ÷óСÃo¾ùæ¦t*>Ðz½áü¹V Bf3S[K+î¾;ï^úÂóâ[ÒÒÒ&L˜ ™ÛËóçÏœ9óàÁƒˆŒˆX¿á}îRFæ™/>ÿüè‘#wß=fÕªÕ6vþìÓŠŠÊ]ßìúiïÞK—/³'¿Ø¶­¸¨h×®]P©T7mjgq %¶T‚‹ußgΫä¾1 8Wg@@Š‚D2Ð  deM#B@.£L«‡ÒáßÔÔäëç‡gëëç×tõ*÷óµ×–,xeAïÞ}:Wå*{þ…ˆþý"#™ ÐÕ«LUåïßÔØx¾¸8æƒ÷%ojnjòéÞ]òÒ÷ß}7th’J¥ÒjµsçÎ=uêwiñ«¯ªÕêÇfÍ*))aOþòó/¯.ZÔ#0ÐËËë•ùóÙ“{öìY´hQÀ@F3ïÅ>L‚Ûš0Xhd¦9M!3ݤ³B€äR+ ‡z((ö1PÀC¥¸ØÐØÍ¡>wëÖØÐÈilhðöñÁ(uéªÕ«ºw÷NLÜyê^õÞZ½¾÷ôéLf&0›B( Y­ooF§£¯^•©Õ¶oï«W®øûûKØOrr7oÞT\Rb0ëf‡··7{àááaµ_¯¾¡!8$DIÝåË<ø ÷v¨³‘R n,–ü¾ßî=ªÖp?M«¾Ð`lÒYfÆJû²Òˆ¦Í0 9åí©Þõ{Nrÿž\&Æ Û·ží¾ýû†a:þý÷ß·|ù²ù¯,øãؤâõ?ýÔ²o_ÒÌ™Lf&¢iÙˆ–^½÷Þ‹eW®ô?þÜêÕ’76ìÀAéऋ—,~衇öïÛ—‘ž~ì?P[Þôþ~~5ÕÕ‚“~þþû~ý53#ƒýËHOïhJ%®þ7Š;µßö«­kèê%£àØAA£ôHîÛcxïÀ!qƒbûFĆùëÖÜŠ‹ïì8¦’ÃÉC#¹ž3端vü÷¿ÿÑét:î¿?þ÷«¯vÌáo™=jô† ëß|ó­Ÿ~úé–WYWTTõæ[ÉO? òòèÚZybbé¿.[ÖÒÒ"‹¥33£RRZÓÒ[òòÄ÷>ûì³Û·oÿïÿmjj2›Í‹^]Ä^2™L*•J©TVWW¯rÂÈ8¦Lòî{ï]º|¹¥¥eý† ìÉÎXµzõ… ¬4]V^¾äµ×Úoß°ÿÅŸ€à¦ )>ð§G®ü*­1>*91ŽA`á†i ݽþxÓæÍÞÿðñ–-ááá‚?ùøãçÍ»rõÊc³»…õ½°~C¤I*“ÉRV¦;¶¶ à\qqìÛkrvìL}æúìYPY™0ujÁo ؽ[poxXØ'üÑ–-›6m6ñqq=þ8{iÙo¬ßðþÅ‹‹fÍšõûï¿».Æœgælܸñ‘GA==ûiöäO<þå—ð¹çŸ¯««‹Œˆ˜={vVÆóUçØ ¥’t}—EFuàwAôFëÛßf22Õô±CV}ºg÷Ê)¶â‡|êé9’ßžr§A.îØqeÇΔ瞓éõ-W¯ß¾}ÀžÝªààœI“ï¹Çº¨H9mÚ[¶,Zèw;øœ:k€ÅlfÂÂ#ˆ”J@pó ñ¯||Ø—¿}þß?V«!!d—H(Š’\*q½÷<3#£Ö4hÖ,ksóñ-[¦¦¦ýüsÔ‡›‘ŸŸÁh ~ãõìÅKÆ-\ˆZZM÷ˆŽnÎÎÆ)ÕEe;gM ”J@p3À0ŒÕjµZ­4MOÔMöÅæÆÆFö*e‡L&“Édr¹\.—SuQ +M[-–îO«õS2K©] ²!†akI³le)™LFQ2™ ÚçÛýý""¥Ü|@YÁS.—«î€ÊB»¸}gMŸ¤£t¤âOöM´CóGDJ% ¸AR*s>t4iB©x›¦”4¡T‚NÉ=ݤAœØR ¥J% è R Ú„È ŸH! h§W‚¤øs0¤E®ìw°‰”J@@@Ð|š››k0(¥REšƒ€€€ =P«Õ òññUUçŒz=i‚öH©jµº¹µ•:pà REU‚ëaRNëgZ½z5USS“™™iehÒ:×ħ¹¹¹F£Q­V÷ï? /?Ïž½2N§ò𨭭ÕéZ!¤´Z-i)‚6¡P(üüý›ššÊÊËróó««kŽ=úÿ¡Å«®òÇIEND®B`‚nted-1.10.18/doc/docimages/next_panel_button.png0000664001041000007640000000305211520267216016474 00000000000000‰PNG  IHDR$%*\K=sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEÙ 6(:"Û“tEXtCommentCreated with GIMPW…IDATXÃ͘ïOGÇ?3·{w w‡ ‚?ñB± Âé!ˆÖÚ¾lÒĤ¾î¿Ö7mêÞÙ¤II[«ÄЦÑBª"r‚à•鋽¹ÝÛ;ζ/œdo÷vgžùÎó|Ÿ3‚ÏïkÞƒöÕg¿qãÆ $ïYs¾½¹8Dí¥¢…K¢µFiBÒ/%¿—ׄÖh­BH$XZ¬*•JìÙ“ÃuÜZsÙàêJ„ )@hƒ°— ºú#¥•J…T*h¨\~ÍÞ=9\7 È ¥ 1ÿý;f„@Ú «€lPZÊ <Ï£R©P©T@Z«špó "F)@Hi½úÚ‹2¸|@ÔnîJ©P€ÜG­u08¢èê7_P°RyTJ e¸¯=6¸ëˆŒ I ¿¾¾ÆÜÜ-æÙÞÞ °ÙÀƒ‰´õ?ÐŒygdD5uû­­-îÝûÛ·¿áÁ/÷)—_¡”WÊwà°êX@޶Ö5—ÖŠÒê þij¿™™ù˜‰‰"ùžƒ$N ŒoFÛ¼"¤¹ð7FĪçŠi@kÅææ ó¼Þ(ój}ÙÙOèî>H:Ž˜Ï4ácø»mºèXDz~Ì àùíÛmþ|ú·×¿fqñ W®|ÊÐÐÙl®êU¦¯­ðãä¢u°Gic†è;¥¥Ò*÷~üžµµU¦§_06V 'ß‹›LÖÜÛ^tœ'Íi­Ñ–—†M¦ëE…ù@áÍ›M=ü™×eÖÖV)g9z´ŸT*mM>l*ø‘::c³ÎÄ;~Ä ØÙù›'O~g}}Õ•e¦¦®rfp˜l&‡L$ª'ÑGð9ªTCR×›¬Qm¢µÆó¢§§—d2ÕtÒÖœB說z¡étš'(\¸Ì¹säó½$‰Xà6h‰CÖ¾N´Èu]†>{žãÇO’Éø®Q\—|ÜCæ¼ NtóÅÍ/i–^þK‹¦ G ÕCÿü¤‰c–(@]ïá‚_‡´bˆ(ÉJJ)”·ƒòvð´jHUUT«B¼ƒ…Fy ¥¼ª2ª€¶··x±üœT2e6¼¡ÀdþÉê‘ +ÖX½­£˜hβådù3)¥ñvvÈå:@mmí”Ëëu«óIEND®B`‚nted-1.10.18/doc/docimages/splitted.png0000664001041000007640000005626411520267216014611 00000000000000‰PNG  IHDRT„ÏÛÓ.sRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEÙ9+Y›‰tEXtCommentCreated with GIMPW IDATxÚìwx”Uú÷?ÓK’Iï…’ TEPP\V캮ººº¢¬uWѵÿìŠm]±¯+ TD@)RBKH!½—™LÉô™óþ3€&”I@_}¾×• ®ä™óœ¹Ï}¾çnç™B A‚  ¹$ $HU‚ $B• A‚‰P%H A‚D¨$Hp¸¡¹€Ú—$u $H„zp®¾‡ÆoÿË£®ÆŒ½!‘¤hr—‰ ïý—·×VKR— A‚D¨ŸµŠÿ½¹„&“ÄQgòÜçkؼæMf$*ñÙ+yã½u8$·_‚ ¡Ð<Å\]ÆÆªjDX<³®¿ ŽÉ&6ãÎøS2ÝKéôJ‚— A‚D¨t÷[jêhm6uWž;ž%È•ZrÒQÂÖ…Í' ^‚ ¿? mÙ”ßES{íf%“îû;ãb{¸Vø€"*ƒòÈ~IŸÏGee%jµšÈÈH¢¢¢P©TÒèK8hFZ[[1 DGG†\.•qK8¬„êÁÖ׋ÃŘQ èÔïuÑUׂHš0Žø#L¨v»Ë/¿­VKZZ™™™¤¥¥‘ššüLLŒ4A$ ˆ¯¾úŠÇ{lIKK###ƒŒŒ RRRÐëõ’ $BB_øñz]ø‘!—ï©àwÙY·ª ˆåÄ?@s„¿dKK ¥¥¥øý~d2z½ƒÁ@TT‘‘‘$''SXXHQQ#FŒ ??N'iˆ–,Y¶mÛØ¶mÛ®‰£Tôx¢¢¢ÈÎÎfÔ¨Q0bÄ222ɤ,¡î‡ÃÕjÅív£Õj÷kÅ O/v—|ô™MaàwPòΣ|\çE=|:§äÆ`2è—ܼy32™ ƒÁ€ßïÇápÐ××G__mmmÁç-Z„L&C&“¡ÑhÈÍÍeäÈ‘2fÌ’’’Ðétèt:´Z-jµZš0TTT ÓéÐh48N\.&“ “É|fåÊ•Èd2är92™ŒØØX ),,¤¸¸˜ÜÜ\"##ƒú£ÕjQ*•’pÿH„ºdÉ>úè#<S§N%<<|?.¿ÒªN|8Ù¾b Û£0ׯ㗿©cäp ¥ËY¸ýȺÖ=== N8áôz=íííôööbµZƒÿ:Ž  àõz)++£¬¬l«6..ޤ¤$ââ∉‰!::šˆˆ RlöwЏ¸8òòò˜8q"F£‘îîn, f³‹Å4:„A=joo§½½ï¿ÿ>hÕFEE‘@||<ñññDGGÔ¡°°0i‘þ£¡¡°°0âââP7oÞ̧Ÿ~ÊÈ‘#¹þúëIKKÛ¡ö!oÞÈgŠMÄL`lz#Oþï;*â fpí ³9)/òˆŸÈÒÞÞŽÁ``Ö¬YLœ8!'h©:L&•••TTTPUUEuu5}}}{…3DЪmhh@.—£ÓéÐëõèt:ÂÃÃ6lyyyPPP@BB …BÒÂÿϱaÃbccùÇ?þV«Åï÷ãt:±ÛíÁŸ––¶oßNuu5•••466þb‘îî»;ø;µZ½ÅÅÅ‘““C^^EEEäääì߈‘pÄñÄOPPPÀ´iÓPÐétdff’••5ðCÂ…yø0âônÞ>¾>_¬o} ³æ<Ì•§Œ'üW8E¯×ãõzq:( ‚®{À¢Bàõzñx¼^oPŒF#;vì ¼¼œÒÒRJJJhhh 22§Ó‰ÃáÀívãv»1›ÍÔÕÕ±iÓ&”J%*• ­VKFFcÇŽ †† Ôá@?$«öÈ!22’ÄÄDrssC'Ôƒ‚LI|\ÑÁOo<ÀÊ %ØDGsw]>áW!Ó€eÐÒÒµ×^KRRùùùdee‘••Eff&‰‰‰ÄÇÇ“œœLLLL0[ÏäÉ“¨©©áꫯæ´ÓNcذaÔÕÕÑÐÐ@KK tuuÑÞÞŽÃáÀçóárí:³Àd2QSSÃçŸtû SVV¹¹¹¤¥¥‘@RRIIIDFFJVío ---|úé§,]º”ììlrrrÈÊÊ"''‡””HLL$)) ½^L& &ªN;í4Þ|óMž}öYî»ï>:;;ƒ:ÔÞÞNgg'ôôôàñx‚”Åb¡³³“7î3¡÷~vv6III$&&’œœL||<:N"Ùßb õÐ '2)–ˆ8=­ëK9©S.àÞ;/#]ûë nkkkX›››innþ- ‰‹‹ *d€èÄLV >œY³f-’€ ×ÝÝMGGõõõÔÖÖÝ¾ŽŽ¼^ï>ä^SSCMMÍ®5H&#<<œØØØ ±'%%1|øpòóóƒ&,,LÒÖ_íííØl6¶lÙ–-[P(DGGG||<‰‰‰¤¥¥‘““È#>|8©©©¨T*d2jµšiÓ¦ @__]]]twwÓÕÕEkk+uuuÔÔÔ°cÇêêê°Z­ì}—¦Ùl¦´´”ÒÒÒà"|\\éééÁ÷çää––&•þÿF¨Âç ±®–ÎÈäDæÍàö{îà„¼˜_õKÜ´¸¸¸ ëpµú‹‹ªÕj4MÐ¥6liii466R]]Mkk+jµµZL2¬ǃËåÂårát:éééaÇŽ”••Q^^Nee%F£›Í†ÓéD&“aµZ±Z­Ô××ûx ƶwÅAqq1)))hµZ4 :nH,Z‡Ã±ùÿÿ™L6d™tƒÁ@LL áááØíö þ¸Ýîà‚ºcÇŽ ÁÆO£Ñ`0(**¢¯¯£ÑHuu5éééA ÔFøý~ÜnwPMMM”••±}ûvÊËË©««Ãn·c±X‚ {WW]]]”——ûx¿F£!..Ž‚‚‚`Åʈ#ˆŠŠÚ§Ÿ¡Z´§Óù»"ƲÎèé{ï½—Ç{ŒÜÜ\î¼óN’’’|ÖÖº™W¿ŸÏ·ô"S˜zÑ¿¸å/Çù+{¯ÝÝÝÜ|óÍÜrË-$$$PQQAuu5;w¹·Ût³<ºYÛ`0WþÂÂB233 G­Vc§œßï§®®Ž… ²qãFâââèéé NÎ@ w}ØÛ=z4'žx"ÉÉɃ–Ó7ß|CccãïfR„……qì±Ç’žž>è¶^yål6W\qMMMTWWSSSCuu5f³9¨;n·Ÿoÿ{« ÉÉÉA/(//¤¤$´ZmPm°Z­”””ðÖ[o¡V«q¹\Øl¶àû=Ïû R©HII!//£>š©S§†\¡R]]ÍŠ+~W„:fÌ&NœØïÌŸ?ŸÜÜ\f̘º…êñxèîîp…³žWî{” »‚ë*½–´©8»;øµ×.£ÑˆÏçÃl6“’’¨Q£5jTpußÛÚ°Ùl´µµQWWG}}=MMMX,–}Îb±ìãrÉd2T*UpUS«ÕÄÅÅ‘••ÜI“ššt¹ÂÃÃåW·Ýv …"h•¬æ¦¦&êêêhll¤±±›Í¶GÖB`2™())¡®®Ž¬¬¬!qç/^LEEÅïfRDFFºÁ¢¯¯»ÝŽÍf#11‘ÄÄD¦Nœñ Ô§655QSSCSSmmm¸Ýî`[>Ÿ/zZ¾|ydkÀ+ èNFFYYY †` „‡‡3mÚ4¦L™L¤tÈh4²sçNijj¢¥¥e’õx<444ÐØØˆÝn§   $ UÁ¦M›X°`ÁïŠP»»»IKKë×0²Ûí˜Íf:::B'ÔØØXN;í´ k²¯«oeãË·°­ÃŠ@ŽJ%CÈU$ ŸÎ¬sÓùµÓ+---<ýôÓLŸ>ãŽ;n¿Ïúý~\.W°¦¯¯ææfV®\ÉÛo¿\.Çb±­¯×»)ˆ¯»»›ÆÆÆ`&666–üü| 7nÉÉÉ455qÚi§†R© ’b $'PÒe·Ûƒåå唕•ÑÔÔ„Ëå"<<œ™3g2f̘AËé‘GA©TÊEX×J¥2d2 ×P\®ŸOöÂÂBÎ?ÿüAËfÓ¦Môöö2kÖ¬î óz½û”äY,¶oßÎgŸ}Æ÷ßOxx8f³9¨;‡#¸Hwww7DDD––FAAcÆŒ!--ÈÈHŠ‹‹9묳P((Š}BOv»=¨?F£1¨?[¶l¡¢¢£ÑˆËåbذa\pÁ!ÉÅï÷c±XËåûµª¦Ç3èÍ2n·;(‹PuÆëõùçžÛ¯Õ¾qãFŠ‹‹ûÕ«ƒž9 ¿è¨pÓ°ê}æ>¿ˆn§@Ÿ<žÙ§óÖ;ëhÞ^‹ûüLÂådc Ï#h…BJ¥Ú§öoäÈ‘ >œµk×2gÎN:é¤`ÒiëÖ­ÔÔÔÐÞÞŽÑhÄd2ÑÛÛ\Åå0µµµlذaŸwéõz.»ì²`9UVV±±±DFFC|||°¿#GŽä¬³Î ºÅbá‹/¾à‘G²ª€¤¤$ 8ï¼óB&Â/¾ø‚ºº:®ºê*"""BjgÍš5¼û𠃚XwÞy'111C"›@Rò`uH£ÑüݸqãBÐÒÒÂ’%Kp8TVVR^^ÎöíÛihh §§‡žžz{{1›ÍÁE=€ŠŠ –.]ºÏ»ÚÛÛY±byyyäçç“’’Ü Kttt Ž:ê¨}H¿­­›nº ½^²Œ» GŽÉ 7Ü@LLhù’mÛ¶1þ|zè¡`Â.R¾óÎ;™9s&Ç{lHmØívÞzë-ÒÒÒP*•ýÊe@.d’RÎî>xõU6ÖAÍÔ ÿÎß®6°jÁO˜¶atŸ@¸†ßÂÃÃ;v,cǎ墋.Âçóa4ƒn\[[ÁA ¼êç »ÝÎ×_Í×_Œù¥¦¦’œœLjj*¤§§]¾´´4 2™ŒÈÈHòóó‡4sk0(,, ™Pn¤ÇãáÌ3Ï$666ä‰ñé§Ÿ†Ü€l|ðÁßä%r¹œ””RRR8þøã] ÁŽŽimm fû›ššhjj¢¶¶³Ùü‹ØúÎ;Ù¹sg°Ý@ù_JJ ¤¥¥‘žžNvv6ééé$''£V«Q*•¤§§“’’rÀxëU©T’ÀÌ™3IMM ©˜˜ÞyçÎ8ã BöŽž|òI&Mš²î˜ÍfV­ZEdddH–ò  µzí{üoQ6?ħMæêkÎcxf+£¢«º«i±xɈÿ}®+ŠàV±cÇ-¤@öÞjµÒÕÕ܉UZZt¹ƒ؉UUUEUUUp‚„……·% ÒÒÒ‚EÞJ^…âî~BýüÏÛL;ƒùnC)—#ÀÆ™@H- V«›ÍFoo/---”——³yóf6oÞLmmmp‘lyíèè ££#¸eZ­VÜÞMAAAð›Í6èC€ö¯ÁŒùPèßPµ*šé±Å½Ë#„«‘×î›G…Õò0fÜ|§dip‹xŽ.ÐðAu%ë×m!&/.C¤ZÁ‘Ž8N„¿èÿ¡ÀårKZ¶°°0ÂÂÂHJJ"77—cŽ9&ø·çž{ŽÏ>ûŒ9sæã£ÕÕÕX,–àD ükµZƒµ´ëׯgáÂ…Áv²²²õ½öFEE_|ñO=õÔ \mŸÏÇ—_~r,,` Õõ LŒ˜˜˜C¯õÉçóKÝBµà…8΃ŠêK£££IOOgÔ¨QœrÊ)455qíµ×2eÊ222(//§¢¢‚ÖÖVl6}}}X,\.F£ã^­\¹rkù²Ë. YF>Ÿ«ÕÊŠ+1bDÈS@¶Ã‡T Õn·ó·¿ýÙ³g‡¬7.—‹¹sçwVö§ •Š4¡vuu±hÑ¢½8›–óvÙ®F•‘ÃIsnäÃw·€ð²Í!ÃZµžy·^É›á ñ)dfe“™‘NJ¼#¹iÊd2aµZùî»ïB. ìdùá‡öÙj*JKK1›ÍôööÝ¿)S¦ÐÖÖF[[[Ðí ÜH0x<ž}Ú±Ùl,Z´(d7éçr dŠ‹½«B…ÕjÔç5 Ë—/ßgï|¨(//Çn·óþûï‡\5°fͺ»»ùè£mÆàá+™™™1räHŒFcP‡šššèéé ÆbN§sŸó„ÔÕÕñî»ï†žùé§Ÿðù|C2/†Boä<lÞ¼™÷Þ{¯ß¢¢¢‚¾¾¾~k¶šPÃÃÃ)**Ú#ñùüÓç0 òκþÎ?~<*O«Þž×¶"\n«¶ °•2Úð(¦\<—ýõ4G†U;;;Ñh4äåå1~üøÚhjj"""‚œœœÛøù Ô××3nܸ­•½ÏØ»ˆ|ëÖ­ìØ±ƒ-[¶àñx(**’ZËßÛù¯jµšÜÜÜ!¯U«VaµZ;v,Z­6¤6Z[[ £¸¸xО´··AVVÖ~¿_ {¨Ou8ìܹ“òòrvìØAEE‰‰‰!ËÈï÷ÿ®j—HIIaܸqýZ¨?üðÀr?hB £°°0x8Š·ã{žè´ =þ®¼hc3Ý,zê1æ½ö]^5¹bÒÉIŽÆkí¢µ½›µ‡¼@ræpž¸ñt’ô‡¿¨ª¥¥%x¾iqqqHmDDDNVVVÈmìåË—ÁèÑ£‰È„\pÁø|>6lØÀìÙ³),,$''gÐ}*..æâ‹/æŽ;îÙ-þÏþCYYóæÍ 9ã»páBî¹çžàaΡÀáppÜqÇ‘=$㕘˜ˆF£a̘1!/<[¶lA¯×3jÔ¨A…3ö^à‡ vÈßÏï÷ãóùðù|Ü|óÍÈd²e$„`ûöíLŸ>—^z‰”””ÚY¹r%sæÌaÙ²eÄÇLJl™žp ̞=› /¼0¤6, wÝuÉÉÉ÷K¨ Ê=Äl‘ÀÞ\E½ÙŠHŽš2•QÙÑ´oyçþû)}éÇð·3&Sõö“T{Ÿ=êæÕ¼ûÒÓ<ýîrºÍu|üÒ8vêhþvlÒ@V5°µp(Øvªõ¨#T*•„………ÜNàô¤ÁXqÒ¾õýË&P7ªT*•åèdà·PÇ,pj×`Úðz½( ´ZmÈmø|¾Ai¢Ö úºÍ¸nT1ÉŒ;úX’´P¿îJe£øÛÜÇù¿›ÿÊÔQ‘´ooÄä€acOææû⺩8VóúW›ðø…¤á$Hø},Vƒû¸ :qc'f¡–yhßVOƤã8ãOc‰Œˆ$ud&¢~3;MV@†.i³ï¸”89€ƒ_¬£Ç+ª ~8h—ßf³±mÛ¶Ýå[—¯\‰Â ¦º-”˜|ÔõøÐx´Vo¡TÕ‡ÙÞ¶‘oü‰<ï°]f9y`E/øZËXµ¡„líP»gÓÝéFÈXûúp¹\TVV†| ^ss3V«•;wRRR2è677c±XØ´iSÈ[,+**p8lÛ¶ÞÞÞA÷Éd2ÑÚÚò÷ œ;k2™Ø¼ysÈqÂÚÚZÜn÷ äìt:q:ÔÔÔ„ÐŽÀëvb·;ñË”hv_›cµZ5^õõõôõõQVV6è¤TGGV«•ºººAÉ©³³¿ßr*«ÕÊ–-[‚Ç*ªªªp¹\lÞ¼9äØ{ Ò`02±Ùltuu¡P(())é7†ÚÑÑ1à;šPív;UUUÁKÉüv5qšê¬Í”•nA“¨Ä“šMÏ7[X½ºk’«K‡AcdõŠ L3Ø~¯•è(9ôúAæ¦qÇvª!"T᧯§õ+¿§¤ª‹Ý…)QªÃpºÜÔÔÕ…<:;;ƒ‡–lß¾}Ð]mkk£¯¯òòòËpêêêp¹\TUU·¸ÃŒCý~>ŸŽŽÌf3;vì™4šššp»Ýƒ’sà°’À ùK¤S %?,cÃŽ&L¶]„ªÕGâ•kÈLÐj¼š››q8TTT zWOO6›æææAÉÉh4â÷ûCnCAss36›ªª*ºººB^lÜn7•••ûs¨úçp8%»ÝŽÉdB.—S^^Þo,¾»»›°°°~ßqЄÇ©§žºçp¿ÔæŸ8s~=êèÑœ>k$ÞÉ9˜{^ ½àhΙ‘M[œ?ÿœr{*§ž{2ðÚëùé!? #î˜3øóç1E©ÂGãÆø÷ó/óÍöNúœ^ödh¢S‰>‘sÎ;9¤ÃZjkkY¼x1“'Oî©,¡¶··sÎ9焜5.))áã?æÔSO%;;{Ð} Ü6˜­§­­­ø|>Î<óÌ- ™LÆ—_~9è­§O<ñS§N夓N:(ýé®ZÊ]×ý—E[:±9=ìÙ0#C¡ÒpìÑ—ræ9çâx¹\.ÊÊÊ8ûì³C&½ÉyñâŃÚf °víZ¼^oÈmJûª««™9sfÈYþ+Vðá‡rÆg„œå÷z½¼ð ƒ’‰Åbaýúõ¤¥¥qî¹çök¡–––R\\Üï;šP÷¾nôýMóú|óÉ;œ5㦠ŸÌ­w‡Ó!B¯'%+øôHœUé–ß@¢N`©]ò@›ÁùL!>< ù ùTзs wýýFî°õûw—Ý‰ÑæA¥ÓÊåCœ5ÍìW«Õ(Šàål¡ pÍžã2ˆøÏî{ŒBmËãñÏ‚LŸ‡ö;ê>p;{Ãrþoöõ¼³®½ß¿û¿q åÝ^ü}|öâ[ìô©Èœr&M1d ø-¬yëU¾Ý9ÐN †ä,r F –j´$üBú(ùä]>ß:°»ª‹FþÄéèUÒ…Šö³ˆÒÎbêes¹vf&eï=ÌeWÜÉW[Úqz}ø("’HNAæmäÛ/ñ7\ÿßÞHlîdþqËl&f†hB8¨o0áõõ_1 ÐF0㊻9sj!Ru¢„_šYNš›¸\ý×cÊäJ޾âQþzÑÙhQ£(á÷A/·ú¤1Ü:ïe¢â…ßä‚i wòù\zæt²¢=ôÚœøí=¼zý%D%gRtê <øð=—>t䦌çŒËÏæÍ UlÜÑŠk÷Ve™BCLj6'^qÿ½ë b$ãBB¿+n 'ž:ǬÞ̲u8[Ýå*¢’³˜|þmüï‘ IÜ CE¨|òÉ'Œu#Žfú1½ü¸±œšåïrÇ×oàõùð{Ü8ü  aÄÄéœ~\. «>áíUCmeè8ö¨qXÝ*zìnüBŽ:"†ÜqÓ9:ÙÊçï¾yˆíùq»œ¸=>P¨°X-´··³|ùòAÚ°aÃÚÚÚxçw:kì÷íºÐë¥FKks&“‰… Éá(õõõø|>Þ|ó`e%ðº]¸Ü„LB¥ Þ=ÿþûå_¿~=6›íú±«/> §kW_É1›Í|÷ÝwtvvÔxOœ8V“Ÿ®>>ª°(²ÇÇôá°dÁ[‡®’~ß.òúQ¨4lܸîîn,X0$‡£´µµñã?ÂÅŠ¿×ƒÓåÆ'd¨4Z**v „ÿe½W‹B°víZÚÚÚøè£ˆŽŽ>HÙxq»\¸½…ZMmM V«•>ø ä„ßï§»»ûeâq:py| W"TUUÑÝÝÍ[o½Õo–¿®®.x6BÈ„ØË¿¿,^ñÄé\-üx=<>~¿sÉë\sß{ø³Æò—ë®arÂáÛ»?¦xÎñãóùÈ+‡£nZ7}ËóÏÎgm¯_€L62ÏKffæ\7²mÛ6jkk=zôK¹„§—¥¯?Îë‹ÖÐjÝN‘+tÄåOA®TSPP@ZZÚ ûERRÒA|?Æšu¼õâ |QÚ„ËãGÈähÂ’ˆÈÁˆ˜(ŠŠŠB®Cíèè@­V¤œýô6”²`þøl]v·!“¡PÐ…«HÏÊ>èñS<‘³®ø|> W(C‹ñ ';W~Ä#O¿NµÉ‹Ï/ÉÕÈ”aÄÅGPTT4$u¨dddÔ÷sšêXüÊÓ¼·l3=vBÈ+ÃÑDÅ3mÒˆu:p ADD………^ØývJ½Â³¯J½Ù·K6 -á Ãés FŽ9¨:T½^p2Ú·.ãÅçæ³²Úˆ×ç-*¡ë IDAT™œ°ØáȴΙ̘1cú%Ô‘#G·ïö'ýâž{îFL™2EÔÖÖŠCE_Ù3¢0-LD=U¼½Å*üâ· ·­U|öø•bDœZÈdØûG&@&Þüø“!y×¼yóĉ'ž(ìvûÀù=¢§f¹¸óÌB!— ?ë“L.2³³Å¶êš!éÓyç'î¿ÿþý?䳋µ î“ÓµB.“ýLF™L.f]x¡èìî¹|ðÈÌÌ<ðƒ>‡ØòÅ“bz¦®ß¾(ÂÄý/~ ITQx]˜Ídº( zÕ>‡(#‰Vª©µ80wÛ„ÿFCñ³ãËg˜ûðìèíß5@¡Å)-)ásÛéno¥ÇêB•ˆã ¶ÜººvðÆCsùÏ’øüý»©BO®8b2êÝü!·ÝòkÛúw©„Lšl„\àuÚèloÇÔç%<&—OT_ÌÛqÇ-÷³¢ÞÑ¿Ì=>¬/^Ê# t~O+߸ŸçIûÇzz=2lþÚö:éio¥Ëì@‡ï ¶l úÖðØm·òñý›!¸„—€Ãyš¦×ÖÁç/ÜÍ£ïüˆÅIÿQ…ã”ÉIíÆš;Œxz¢ãê3uËþËí÷½Ä6Óó\®Å«ÖʦøAª­m oÌ{œÏKZPD¥sÆU·qÙÉ£‰ØÝ²2"‘h…݃Ýêâ7»sßÛÎgóߥ¢w`Qåœx)cÆL<Ä™à¤æÇOxúÅ·ÙÞdÂêð¢‹Æd2Ÿ°—XøhÜò#‹¿.Áâè!=S¯{€ìäÄ###Ÿ‰eo¼ÍºŽâS2‹Žçô˯'2â \Z¿ÒÏ_gþ;‹ÙÑÒ‹ÍåG‹P°;óYXõþû¬ª· Ø—˜Ì"Š&O=b¥rnËN>~} ž‘¬¦hÖU$…Âögá¢iÞyþUJ뺱Ø=(ubÓ‹¨ié= îmû~ _­«c 5JžÌ„ó®"ì0—¿ô¶lfáËhw ô„–qWÞͰ¨Èƒ"EKóVþïe>ýamF+>™†ˆèº-Nö»Öx;ùü¥w S™ÇÇŒSÏA‰eƒ$TÁúïàßÏ|ƒÅ»+±jkòùÿåêrvY~~ NõÛ=ªÏïÂd`ËdÄ<‘›n½ƒ±™I-§q'Ÿ—Ýú(L+F­Øÿ„èëØÎ;ÿ“»ÿ·£Õ¹ldraazìô²ûb±ºñ`í©£R¹àæÇ™51ýˆ•Êù}NÌ}”^)Ô¤N¾„ûoºš­ê º‘/_¼—»žý˜ê^ÿÞ2ZµKÇÄþcÝv» ·g€rB]4Sþö87Î{دz÷zœØ\¥#ó„kyô¦ËÑ«UÌqì\ý·\÷/¾­ìÅåñí³#R©‹dg—ï@ä&\ôl¡3â8n¸õß7*‡Pnb$¡úé©«ÙE¦»]P[Í:¾-ÙÊ%ÇecPÉpvÔÐêv ‹ÖöÛ%Tu:—Ýrkî{ƒ²{J¯´QL<žîz„Ëg G-߀Þjµb±X^;«ß¾‡?ýýQ»ÉDec ²XÑÑÑûfûeJ²ÇÀ%>‰Ž7¿§Ñ¼çZ’ðäN8÷JæÞz5™õ“]]]¸Ýî_ºÚÆ^ ”„GFÓg·c±XhnnF£Ñü²¢CÏ×\Î[Yµ¹ûîù!S…‘^8‘Kn¸—¹—Ž%l€Ùi³Ù0›Íøì]|=ÿ.î{åºýE2v%4+›šIPȈÿe%„2–“þr §”ídÉšJsU¦Ô‘’?ž³¯º‡®žD„âÈ©6ª€¿Þt1UÏ.¦¢¹7h)Éõñsڅ̹õ6N+NÚo¢Ëãñ`2™p»lúèîxøTYú“Ѯſ¥g×m»‹÷¹IÆø“Ïà‚ŸJxéã5˜J-W;l4']<›n;‡Uÿ²X,X,–þâØÌ&,v72•޶®\.mmm( bbb~1^±øËßgQ?ÿ+ª;mÁðƒ*2ig]ÆÍ·ÎaJvô€É¦ŽŽü~?ŽÆ•Üñ÷[Y¼½·ÿð‘ÛMs[õMÍÄE„ïs•÷®¦qñMWð]Ç‹lªî–ÈÉ4‘ />†î~’«NÍ'ÔóšI¨rb³s £š¾½~§”Ëw§‡ÖÍ;0Ù\DeÆ“œ û &­dô¹symرl(+§¦© ¿6†Œœ|Š'NfB~Òãp~¿ŸÊÊJÊÊÊðX›øàåOÐ#EA|N6›V,£;1žiÓ¦íu_×.è’GqõÜg}ü:J·í ËâC—ʨâ L˜0†´˜ËÓï÷³zõê}îUò:{©Ù¼­ÕtmxQ¢ˆ¡¥¥…RÉ’%KHNNæôÓOÿeŸ¾Œ—^ÉbÍÆ-T7´ã@OJv>£ÆNà¨QYì†Ö¯_Oos Þ[º÷OILþ~úf …‚™3g’˜˜øKÝÏüwçþTJuC+6Ÿ†ä¬gÒè Š#«Aru3®yŒ7ŠÏ¦dKµmfT†2‡`ò±Ç’Ÿj8 %hµZYµjÝ5|òì»ý’i`,¢sаvu³dÉFÅ„ P*•ûxA†áÓ¸ýáÿrô)k¨¨iÀè›–ÃÈ1ã™4¶€øˆäêêjJKK÷±xmíulØPB]kV§¹J‡Óé<|¿|9™Ã†1mÚ´_Œ—ÊÊ9ÿx’¬£Ï£dK9MÝ´ÑI QÄäc&“6 'áp8Xºt)n—…ʯßᛪÒDDãpØøþë%Œ**bòäÉ¿[þé·òZÒ$ÖoÚNMS>ui9ùŒG¦.Þ>Ø,ãOoŠ“ÓÔBB¡…'^-mî>¿s¥xê/ÓD„Æ fÞú‘èp‹ÿà>¯[8vápº…×whéO‡Ã!Ìf³h®øJœš øEV2¹R$NºX¼ûc¥0õö «Õz€Œ¢_¸]a·;„Ó}è™G«Õ*Ìf³èííÍÛ¾™”$têŸg¡eB®Ôˆ ¯¹Et÷š…ÍfÛ¿”|átØ…Ýឃ”‘Ëåf³YT¬|];€l”j‘6íïbIY½è5›…Ùl>`¶Õïó —ñ«/^ÿoB‡¼—pØíÂér‹CQ!¯×+¬V«0µ­³’•èBÄ>C¼øõVÑmêf³Y8á÷û÷“÷ ·s—¹=¾ƒê‹ÓéæÝcÐÓ¾S,zúïbLZ„Pþ¢Z@&ÂÒÇŠo×o9(]ö¸Ân· §Ë#ü!ŸÏ·«=;Å«×""”²~å¢ÔG‹‹ýF4õ˜‚2Ùo»^·p:ìÂátò<ƒ&T¯­E,xà<‘®q£Ïó|+J¶í•Û7Š]#ŠÕ"uÒebY‹Kü‘àuôˆ8Oä%EÅ^¥r]¬8êÌkÄ»«êB.U u’Û›V‹¹3ó„\F¿ ‰L)κâ&aöÞž¸ŒµâÕ.²bõûº:2EwÑ­bñ¦áñ‹?6ü.ñÍ“—Š‘©QB¹×xÉ´ÑbÌŒ‹Ä+ßU ‡ïHuÆ'¶||—3€Þ€ "O,.©<ìýèZ÷¦8gJ®Ð+ö^„µ"1w¼¸ì„ÑûëÛ ³üа$N¿r.=Fÿþï"î½qÙ™©DÈû¨­(Ç•6ûº›i)jþHPh£™9g‰cV°ns VT†x2r 8þ¤“™nàˆz¤ÂÉö¥‹X¸¦–nQé¢È*ž€þ0gqÔÑøè¶gÈšôë6WÐfr¢‰Ldxa1ÓŽŸF^r¸tæ‚LÍôkžäµÂ™ü´©œÚ¶^a±¤çŒ`ÊôŒDJÁ™ñO_x•-ÆCÉ#G“u¸ƒ*ÄM¼ˆgÿ“ÆÒ•ë¨nlÇæU‘˜™Ç¨ñ“9nbÑŠ_y܆¦°ß'½m⇞Wœv´ÈJމÃFŠY×?,¾*©vïljË.¬«°Ù]Âçÿ•L/ŸY|õØ5"]+ÀÕÖˆqW‡ jôz*…Ĥ¡þÑyU®B‰^…„C ?(5:"5:Iú$H A"T $HU‚ $B• A‚ ¡J A‚D¨$H ª $H„*A‚ $B• A‚‰P%H A"T $H ª $H„*A‚ ¡J A‚D¨$H A"T $HU‚ $B• A‚‰P%H A‚D¨$H ª„ÿ‡ŠÕŸñéÒRì~I$H„*áÐ <Ô”,ç«UÛ°û¼´T®cÝæ¸…$ $B•pÈ„Z·ùG–®-Çé„@ħ$H„*A‚ ¡JøÍ˜¬xÝNúúÜ’•*A‚D¨B¢Q¯ƒöú”WTðÝ›röõïãÄ"AÂa‡RÁï~cGë?_NÕÒ>J7–Òaõ‘n‘„#AÂo‰Pkjj˜;w.ááá[F~.»So/¶>>¿@¡ÖEL”µRŽL’ùasïÍ”n« ¡­2d2PjÂïXÄ W—íãŽøý^¼.v§ ?rÔZ­¥\! ûS3?>Ÿ§ÃËãE¦P£×ëQ)üQTÇl6£V«ÑétýÈç¸çž{„F£S¦Lµµµ<åöŽrñüMgˆÜŒ\1åôKÅ÷?"¼sŽ8û„b§×Ф¢ÓÅÿ$ºû+eŸ=ǵ7>ȆV×Ï>ïdÓç/òŸI§1ÿ–£ÑÿîÆC`ÝYÂjK3Æ G%e ¶ö-¼xçæ}¸–Î}vЬ­›xñÙ78õ¸ÑÌÈ‹‘\þÁîú(ýâ]þ³°—[^{ŽkŽÏETVº„‘\öÏûؾ~ ϯ.ãÕûo¦°x)› –íª~ø˜; ÓÀ3»íP*¼tÕVPQßOMnÑHÒ¢´¿Òˆy16V³½¦*’ì‘dÆê÷‘_ÏÖµ|ÛÃq£rPÿÔë襾j 6“²)ÈÏÄ X‡úZVðò‚v.¾ñ"’T‡£G>úºšØ¾£‹OGZî†'G£<Àâb±ùè©ÛybÁjzúWœv^ßÁjŽÀmë¡¶²’f“‹è´\òsÒWùÙ/ü.Z*·RÓÚ úxŠŠG§Äj;X—ßÑZ*æž•+&ÍyI´ZÜDâ‡×n™J2¹(øÓmb]‡K¿¿M„)åB&O7ýïáòýÚnOغkÅ·¯Þ#ŽÏZ¨Õj¡VkD\æQbîÿ~=޽:éÜ)^yò5Qió oÇ—â¼ã¯¥ö!î“Ï)Ú+W‹¯·06–‰Wæ^"òâöè²Z.†M:_¼öcí 7ù…ÝX/–ýïAqrQ¢Ðî5ÏcÒlj[_^&:íÞ\þAjó†÷Å©I:‘;éOâ¦^?îè¿ÔWŸhþñ-13S%¡J%î~«°µ-Wž8IŒ›r¡xmE•ðüÊá-{W¹x~ö‰"%Bѯâè‹._mïÞóÛqÑ´KÅŠnß.B>Ä„êsˆÚß—MNP™ºþ3aöí!Ôo^¾]œ9ë2qûÍ“rc…DÄ Ï‹»IÜ4çŠÛÑ¥Œ·¾ñ“ph Ñ]½RÜ{Ñ©‘õÛ§ˆÉÿÕ½®à':w|$þ|þ¿Äf³O˜*^çŸ3wh ÕkÛ¾˜'¦eéû'Cm”¸ä‰µ¢o?"ùrñ{B«íŸPe µuö?Å7åÝÂw€…¦uËâ–™…B«ì_6ñ'=.ŒGÀ¨röî/ÝtªH7ô?Ïu#Η´HîCCíííeÕªUÔÔÔìóûæÍ?°£ÇA]ûRž/[ËÊ’í\÷ç™dFîë³Ø›špë5€Ow+½CQÄtN<ï"Š<¢¬;Yþ]ý¯éäSýí <ôÆw´P´éè¨ç§•ËP¶Dïös*h7µ³qÅw8ý›è4µ°nÙRº5CÓ#wO5¿<Ö· øLÛ¶Õ|·TO„ÜGˆ¯yçãÏùikŸûBìŠêDøXùýj[z–` ×dÁì „^UÄeæ„ÓÎfb¬‘¿[º_YÊ¿àŽ§Þ§¦×ןÍ]l^³œ¥ÊÚÃ\“'°V}ÿζ.oÿ.·ÍÄöŸ–ó]d*™Ÿ¶ÍU4Zl,ûNƒV1ôî¥ðÚY»àžÿt#æ\c[S9+–-¥.bW\¨·y mõü´ü;vvo§£³…ÕË–R§9š7òʳÏñc½}€Ð–›Ú’•|·ÔŠn‘lÚ²½ZIn¼žÊîÝ!T¹6š‘GŸÀù‹·©”eÍû 6Ø»øî­ÇyõÛrœÞ²çµe|·t)QòÃ;Ïxû_^B«}€ðEw~\FDO|¿!Ȇ†T*K—. =†êõzƒå{ÃåUePBŸÛƶuëÙ:~ y‘ûtÆçñ"×kø­Ô4ÕÐÐ6†´ð8â…OŸc߯ȧ¾Næ½µb@2•)Ã(œX@œÎ‹Ñ¸;Óã²àö¸±ô1ù­8fvVV¢Š!\§ôÀoß°–OWÕîÚ—ßúd¦LÏÆÝkĈ‹’ÏÞåûMÝ(u’RbQË!uô .:«˜>“ §ÓMváX.:ÿzº{°¹Á›D|LZ ìŒöýu©—wÞû–)r%éù#ÈNÕb1ëpõt5ñÊK‹ØÒá`Àd$åä‘—ŽÕdü˜m}8û¬˜L&4»'­ßçC¦P Iì¾~çY°ׄ!×D1qz!*§£g×-f.·³ÉˆÊ܇ÝÚMÕŽHˆB;ØÌ™pòå·?°dk'þ›úØLÆOLÂa2¸ùÃjµÃÕ7ÿ…ðÑÑcø¸X z´*ùnŒö†^ûb Ï²ÑÆ1åÄ|½F«æøºyñíï$S™RGþØ$F€iv:Øl¶=<0”1T—±FÌ¿ùO"!L%Ô†TqÊœy¢¬ÍñKï¬}­¸iVŽï6«ÓfýSüTµ]¼õäƒâá>åmÖ_·\ÇÓ"ÆdÆ÷ïÖÈ"ï¤ëÄg›:Ä>‘ÛqѱŠEÛ*ŪÓÄè“þ*ÞYÙ"í¹ø½bÙg/ˆ}ÿn‰:*]œvû»{•ªØÅÂk¦‰ÜÜ<1õÒ¹bEE£øæÕÛÅ¿ßU6åp8ÄM7Ý$®¾újáõ†XÞâíÿºhº‡+:IüwYƒp¬Û¹M;e€!Œˆ¬£Å“Kvîv÷.ÿSbö ‹…Íã>g¯¨ÞðxwÁ a"7sýÚÅöG¡‰.¾O¬©íÝGÏ;w|$.u£ø~Û6ñÅK³ENl²(:}®XUÕ;¡B»xèþ›ì“&!_\óü a?Àx}ùå—b̘1¢¥¥%ä®ì(ûJÄéäýöC'޽æi±½£ïÌó6q愬d"ÙÇ_%>ØÐ¶ßðãa-›RGeráÍóH›¼³"žqGO&7IÛO6͇×ëÙA–¡V+q–¿ËÍw<‚I›‡9vœ? õ¯U΢L"!ci½VŒV'öÝF˜<<™ãξœ¹ÿúÓ‹Ú‡¹¥‰úÚ <6çjŒÕ[©nïU36Ï윗)‹AlR²–V:\{ڌ͟Æ_®›Ãu—œJŒ6Ð#5ÇÌy„[2?¡\Y̨Ì8JW±ŒÑdŽŸŠæ“P ?æÝ–˜Lͨ鳸ùÖ›¹pzG$Y+׃\ËŸŠ3(ÙÞˆq·å#Ó(˜r×Ýx#W”Zös'رf ß|…_~OKÔ•{Þ´¡q3 $DéI WQÞjºÆŠÈL.øû­Ì¹úb&fîå¹ /=Mulß°„{fÿDKÅVêzì(k;qù†B‡´ Œ¡ #S§‰vçîÙ§P“6ödþ:{×]pÌ€®þN¯°L’ÒRжuÐÖç!ðõ´‰#ùóõ·1ûò³É׎$>z<úMuÈ[`ž‡%rÔ©s÷]ÿä„1I(C”‰r(&~Tz3Ó‹öû˜Ëf£ÏÔ·›PõdÆ'‘œŸÊÈÄX¶ù D¨UCR‹ê÷º°™4Vmcku3u ¹£FS˜•J„^½ŸÃ äh ‰\þ÷é\pÖ©TÕ·ã×Å“=<‡Œ´dâ#u{¹…>š¾™Ïõwü%­xZêQ©(õqœpΙLÌÚëYÇa£«½‘ªòrê;ûˆLÉ£¨hépëäêp4q¼ñáÓhrÚÌ^"3)‘EB\,zÍÞ®ª‚ÄÂ1ä¬_JeÏac1ÔÑÃÈ/ÉóŸ¡©¥á žOfz2 Ñá,Áù9½¹úÌtµ6°£|M&7qùŒ,Ì#-Þ€Z±¿Æd€ŒËoü7ÏQ³³³WKFnYéI$Ä~Yk*ÜÔ~ò z´…æÎ.ú\~ÒŽ¿ˆ)öYŒ´Öî`SE.E$Y…£5<ƒÈpÍ¿“˜šÉSO=B¤NMU“Mt Çg‘‘šBd˜j¯ñòPùæ]\|ÿklm2âk–£R) OÈæô þDv¢>(#¯ÓNOg3ÕÛ·QÛnEŸÉ¨âQ KˆB§V@Fr ÇOå¡û¾N›Œ„Ì|ò³ÓˆBw„ rer ‘ñéÜuÏ} KN ¾Ý†..üÜ,R“‰Ð))ìâ÷º°YŒ´ÔT°yGnUÙ#GS”“Ž!lÿó\™Æ‰§žÊÿÝýOªëÚðhbÉ>œŒÔ$¢Ãþ9B{ùý˜ÚÛio0ïnX"…ÃG“’7…«ri°ÈÏ6hËÆÙ[ϲ^å¿/¾ÎÒ­mxÁsU'Ï~ˆGîø+£“´ L&“Çè£O`ôÑû'{w;ÍMíÈtqL˜z"ÇŽÖòÓJ?=r=c;Òü.Ú*×òÁ+ÿaÞ+ŸÐdÛC~ÑÙGs݃ó¸û‰ûIÈ@ #—ââb~¡Òh1öŠ'¢æÔç ië¼ò̼úÑ2Úì{T2¾àxþõäsÜrÚˆžÞ£3Ä’_<™üâÉ“ À´­”ÊNa1i594{2ˆ^{;Ë?|•_|•%% {Å®µL»ê¿ï&¦éö;ád %1‰3þ@IµÖFZÛMhc3(ž<£ó}l«ÎàÁ;.$Sø=tîÜÀ¢·^âñÿ¼CM¯?H †´b®ºç)îùËqDiö/%…JKÖˆ±ä>ê×Õ¹‚¸¤aLžq"“ÑŽÛÚÂ÷»Ç雲f\¾Àü cÆßâÑ_ø”ý“ }x$£&ϨICmr>õÐÔ°ªö]>bTz6c'F/‡ØÌÑŒ+Ì$l°lêéâ“Çná†Ûå«Í{³Â4™÷IDATÈt×ë{YºàUý°R‰ÈšÀ%³¯d\þdþýâËZ·~ÃÃ7]Ë]ÿY¸™î²pMµ«yfÞ‡´:¼‡K{‰KÁˆìdT¿µ]OÂMÝÚ¹û†kxôí½ÉtéuU,剧a<,W·è(>å |æ%Þ|õ^Æ%†íÖŸ¾}á.®¿å>>]ßð³D “UŸ¼Ì‚%¸ÄÐM½˜‘'pù5sÔ¤™<úò|î¼j†½ Îîšxê¶¿óÏ'ÞÞ‹Lw(–æRæ?¿€ên;(xºùâ™qÃ?dqÉ2Ý•êcÅ/óÑwU¿Ú-2!Ä~_}ï½÷òØcË)§œ‚Á`8ôùãsR¾jË7µá•ÉIÌ;†“gŒ'F=43ÝívÑ^·•5?®¥ÝÖZ®K`Òñ'3)/vÀUdñ⍤¤0a„Xÿ¯½3o»¼òýG–lɱeÉòny‹¯‰í,R”딡jº°.—í¹0LC¦P˜)<”¥½÷„ii{B„f–”гMÇvìXÞc[–¬ÕÖfËZ,ýîT¿°“ 9`}ŸÇäq|ôê=ç=ïyÏù¾ç ø¬|ô'uß¾­0È®½,ýûo’“$ÅïóÐvpÇ»†ñÎà3eYK¹­a%ªŽ]‹…?ÿùÏ\}õÕdeeM؇©¿£_E]Uø'„e¤¤(‡Bìß¿Ÿ`0ÈUW]…$ÊüJGGmmm444 •FÇdð{ûø}ÚúÌ30$$\Êí7_Lò 2Ün7»wïfÉ’%,X°à¬Ò ®Þcì?顪n1…9é$…Ì|ô‘™‹¿UϨ£ñÃFôŽéùN¹šú•×syí§òèÓèkÏž=\sÍ5g¥¯©I/nž#Gí\ôw+QŽwðçýc\rÍ¥htwòßÇŸ¡2.ͨå»ßYEnêÌ«#GŽ`·Û¹öÚkIHˆ.~äÀÜtÓM¤¤¤D%Ãår±{÷nV¬XAQQQtqY8„i ƒÀ8]@¢È`ÙªkùFMÖŒzjlldbb‚ë®».ªqìÛ·ììl*++§1³YiŽrzŒunV¥ÿµ:}‘°±kv¯µ67 õµå3V3I µßY'2ûO+çÛßþ¶ðüóÏŸýÿ•Ø¿wÄ%šþŸpyå2ák_Þ?fÞïw3©²XøÑo?:åÖÌçªÆGŽ‹/ZZZbž£Y©ò ‚ðꫯ _|±099µŒ–ƒ›yÂÌs#S— kßn;-ëc``@¸üòË…íÛ·Ÿ-EAèÛú¢ððoßû„ØžëcBÌ]ûøÕÏìŽ~DsÏ ­ïÕñ£^JšJ¾ÏGÌ r%+þ‰n¸òŒùÓóËpä ™y «*¯âÑÇ×ñܤ¯lˆçØ¡†mÚÂ/·%HU×ÝÎ÷ü)³½R$ $ñ£oÕ°£Q‡=9æg°ìú;yüѸ~yþ,æÃŒµ}Àÿ~îYlÇóJ¡ðI^L¥B£’#ÓPš§¦H)ãPŸ„B“QÅO>σ߻Š9)dØy>…ùÙHÆ]ôŽùD–Z¼‚ÿõÓŸqÏšË)RËÏÁ'‡kïx†¿4u¢·ºÈ¾d$¤š]F^¦ ŸÓ‰ÅY¿iÔ~ë6Ö­}\U<˹èæ}ÿźŸý’Cí|Øq˜pXdäf©Q* (¬¿cã!ƃa&ÿš‘¦/àÖz’GÿÇMTå¥]Xö“0$ÉüýòùiÀˆ,5‹¯¾ƒyô¾s™ö+­œ;‡*„qôÈ¿>þ"MúIª®¹›ÿóÂOYQ¤<[÷=óŸüGU ƒ'õ¸CÉ••“«–“0ë½ÃØÚòþûpKä—RR8Qk1¯}¼™ËÒ¥|ð„ü²E¼¶á?IKè38k´,(É#E.» mK$2ÒóæóÒ‹¿ (KÞê%9«ˆŠâlä‰Òs77Â$Ý[~Çk™" mYÊd !!1…ùÕõüéÝ­ dÌ'£`AZâØÏ'Õ¸o'»¶ãOR¢-šOA^‚b¿Ûú ¦@bjÿôI¼ëVzõ6¤iy”Í×’¦H¼@Û]~ò¥ÿážÇØÒp#ƒ'‡på”UŸ~®ô4Gª×®ãÕgŸbËþ~Š.ÿ>Ï>÷WפŸ[Z$yª\j–äžsÅ&¦å°èËïIâ¡ß¾Êʺ¹÷Žw™§~fHId–QHŸS—œ¼²ZòʾÌOÈ©YÅM7—†ëµlùý)zU(³¨¬ÏúRF’¤)¦~ÅEXóY÷Ò/Y­ØËÃÿÖGrRÓYêü\œ¿ n0↜@rZÕ‹sæÜØÎÚ¡l6Ûômÿ?»÷zN²áçñïÛÛÈ[}ë~|/ËóÂØÍæsò%ìv;SSSŒŽŽbŽá3|>ç,d$”­äþ˱ÿäOhs•øÜ|/£3f8qÎŠèøš£££ƒAìv{Lß Àï÷311×ëÅb±D]ñu»ÝƒAÌfsÔßËn· cÒ—Íf#àp8ÎRFwB&«nýóz–-,E:N àÁf6ãñx1Íóèèè°Cy—ü#edðêzòÒ“ð˜<ø|Ø,fæÉÂøý~ÆÇÇc“ÇãÁçóa±XHLŒ®ãŠÃá  bµZ£¶›ˆ¾ÆÆÆ¢þ>N§¿ßËåŠiN¼^/>Ÿ/j3Žá¬ªÕjåí·ß&==}æEë±3Ô×AËñÆ%J.¾ñûÔ•`hþ€MÍçnW0™LŒ±k×.ÚÚÚ¢–c0Édlذáìþ ¨gÄ>Àî·Þ [èaÈÒÇŽM8–½½½X­V¶oß~Ú9;Óx;vìàØ±c1ÍÑÔÔøý~Þxã¨iSMMMØívÞ|óMd²è8‹›ÍÆÎ;£Ö—ÃáÀb±ð—¿ü»Ý~v±i(„Z£Äpâ †!0LwŸžmi=v ³Ù|öº?ƒ¾šššÎnqÚÛÑë ¼û_P¹›ÔÛygÓ4 CCCLMMÅ4¦––L&7nŒšæÖÝÝÃá`ëÖ­QÑ&ÆÆÆ°Z­ìÙ³‡¨dLNNb08xð Á`0ê9Ñét¸Ýî¨çµ££‡ÃÛ=Íã—±Ò¦B¯`Ô ;ß~ñÄCÂnù®ðÀ¿½,èýÒš´¶¶ õõõÂáÇc’-mjº~¨»wïV®\) Dßlã<¥Mµ·· +V¬ˆI__œ65 <ÿ-VS˜}Ê ¼_6Ô…WðÓŸ]q¯Dj¾sÈŸb2™ƒLNN266†Á``ÿþý ªÒÒ(--eÁ‚TWWSRRBnn.999dee‘‘‘w¨qœg¾C"!!!üü| F£¿ÿo·pAÀd2a2™øøã?Ù/ ²²²ÈÉÉ!//ÜÜ\Ìf3n·›ææf*++Ñh4Q¸¾ú ±”Þ]€&þ¤ôi¡T*™7oFÜn7Ÿnâv»imm¥µµõ§"“‘žžN^^ÙÙÙdgg£T*±X,œ8q‚ŠŠ ´ZmÔE²¯µC•Ë夦¦âp8ظq㜌RŒF#v»-[¶pøðá¨å ‘Hxùå—cSWW###lذ&º·Êõz=6›Í›7³oß¾˜Æ 1 dgg³zõj¼^/‡«ÕŠÍfctt”‰‰ ¦¦¦…B„B!|>ÃÃà ‹NY*•"‘Hhhh 99µZ-F!YYY¤§§“””„T*>ëpM&f³9&}122®]»01ëëÀƘt¯×ëå­·ÞŠY_‚ ÐßßO ˆiL‡Âh4òë_ÿ:jÖÙÙIrr2W\qR©§Ó)ÚŒÍfÃápœb7¡P›Í†Ífû›£‘Égžy†õë×£T*E›‰ØB¡@&“‰vóÙ´×ëepp½{÷âõFße«µµ—Ëõ¼öõõ1>>Îèèèw¨wÝu«W¯Æét’5Uæ\¢§§‡wÞy‡%K–°hÑ¢¨ålß¾ùóç³jÕªØsc‰‰:tˆåË—“ŸŸ•ŒŽŽvìØÁ²e˦ïlóhnnfrr’Ûn»mÚ—Ãá`xxƒÁ :R‡ÃÁØØv»—ËE 7±™6༼< )..F«ÕŠiFCzz:ùùùìܹ3&}ŒŒðÇ?þ‘šššYÑ×É“'1™L1ÉêèèàÝwßeéÒ¥1ëKÞ}÷]JJJbSOO@€•+WFÍC•H$466²fÍši»hMNN222‚Á````€‘‘ìv»èlŸ<7:::­#JHH 33“ââb Ðjµˆ6IìÚµ‹ŠŠŠ˜æäÈ‘#Èåò¨eœîïÎèsssÉÍÍe.Ãçó!•J±Z­ †¨åLNNâr¹b’ÝnÇï÷c2™‡£ËˆY­VB¡åååÔ××ÇíP'''q»Ý1Éív£V«©««‹ºÈØÓÓƒ×ëåСC,\¸ÒÒRŠ‹‹Q«ÕÓ¦{B¡‡½^/žFÚÛÛÙ¼y3™™™Œ‹yÙÂá°˜Û?zô()))äåå‘——':W³ÙŒËåB*•RXXHZZÚN9eee1555+vs^æP#;à³Ï>õ.‘ÓÕÕÅîÝ»cSä–Ëc=õQ+R˜ „Ãa‚Á ­­­¬[·ŽÔÔTRRRP«ÕTTTP]]M]]‹-"77©TŠL&£°°¢¢"V¬X ÈårŒF#›6m" b4éèè@§ÓÑÖÖFoo/>Ÿp8Œ ‚ F)$ ðÔSO±~ýz4 eeeÔÖÖRWWGMM YYYâ±O"‘œó<­Ãá §§‡{î¹'¦´ŠËåâé§Ÿž•“œÃá ½½}ÚçŠÏãããQ÷ýütp`³ÙxþùçQ*•(•JÒÒÒÐjµÔÔÔ°xñbª««Y°`r¹‰D‚F£!33ó§|øða|ðA–,YÂèè(===œ8q‚ÖÖVº»»#‹¶311A__Ÿøt}äTõú믳sçN”J%EEEÔ××SSSÃÂ… )++C&“‰6óe³ Î ‡ …‡Ãg}cæL‘Ü´7 bˆZb\>;]—ü~?>ß'O.;NœN§ø»Oç1% TUUQ__OUUååådee¡R©ðz½$%%QZZŠB¡ ¾¾žë¯¿þ”ù;yò$:ŽãÇÓÝÝÍÈÈccc¸ÝnÜn7ããã‚€Ùl¯ï8pà”1dggSWWGUUUUUTWW£V«IKK#==`0Èz£a ˜L¦˜e}:w8öèñx¾Òõ•’’‚T*ÅëõŠW—š››Ù±c‡øÿ ÕÕÕTWWSUUE]]999¨T*œN' äææ²páÂÏÃá0&“‰¶¶6:;;éì줷·§Ó‰ÛíÆétâñx˜šš:Å~›››ùÃþ ÊQ*•TVVŠö[YYIvv6jµ•J…J¥Š;Ô3A¡P˜˜ÈÊ•+Q«ÕQË9zô¨-ÍÆ¢êííeñâÅÌ›ÝkŽN§“ÎÎÎY™#¹\ÎM7ÝD~~>ƒƒƒ ŒF#ÃÃçDÁ‚ `·ÛÙ¿¿H‘ÉdPPPÀää$‹…ßüæ7S\\Laa!©TŠB¡ ¦¦†ššn¾ùfAÀét244„Á`À`0ÐÒÒÂöíÛ),,Äív322":ûÈ"Ýï#Ñ™B¡ ??­VKII )))³’š‰ 99™ŒŒ .¹$úw—œN'mmm,^¼8fò» 477“––FyyyÔr"Ñ],¨««ã‰'ž@¯×Ÿ’_w:§¤³|>---´´´ˆeFF†x\dûöíØl6ŠŠŠÐjµäçç“””DBBZ­­V+FÔ^¯£ÑˆÁ``hhˆÞÞ^~ÿûß‹Q°ÑhÄår²±z<šššhjjbÓ¦MH¥R233)**¢°°‚‚Ž;Faá¹éVtÆ'P¾hnnæÎ;ïä¹çž‹é1»;3åË—óÀÄ<¦ÆÆF^|ñEÖ¯_µòZ[[ùÉO~ÂÆg푾P(„ËåÂåráv»e``€ÎÎNNœ8Á‰'0›Í„B¡™F"!99•J…Z­F­V“››KUUµµµTUUQYY9ãFrüøqî¾ûnüqJJJÄ1tttÐÞÞNWW‹å´¹çH `Û¶m¬Y³&æyyî¹çxï½÷زeKÔ2Ž?ÎÚµky饗Ä(,–Í}÷ÝÇ¢E‹x衇¢–óòË/300ÀÆcº¨9‚»\.1B4™Lèt:Qg}}}§lŒÓ!))‰´´41bÔh4§œBêêêf¤âÙívî¸ã®¸â ®»î:Ün7z½ž'NÐÕÕEWWÝÝݧµÝˆ£ohh`óæÍñu:Drm†œœè[z) RSSc’A„>áqFƒŒŒŒYçêI¥R4Í)T.AÄÜU8ÆápÐÙÙÉñãÇéèè »»»ÝÎÄÄãã㌋ǿÈùÓ9+‰DBRRåååÔÔÔP]]ÍÒ¥KÉÏÏ)xR©­VËÒ¥K?7A°Ùl´µµ¡ÓéÐéttttàr¹˜˜˜Àãñ011SƒŒéæ%111&Ýgdd˜˜HfffÌ6‡EÊb,²RSSg'ò’HHMM%55­V+êlÍš5¢Þ:ŽÎÎNñí1“ÉÄøø8‡ññq|>v»ý”ôÜÞ½{EÛ‘Éddgg‹6SSSCYY™˜æ ƒ¤§§S[[ À¥—^*ÚL8f||œžžt:­­­tvvbµZÅTÓÄÄÄþïP=“““¼ñÆ|øá‡1@ÔUùÏÊ2 ¼òÊ+1u›²Z­³2ž3-–÷þÆìX½zµÕêõz†‡‡¢¿¿ƒÁ€ÉdÂh4Š9ÒH. `²·D"A¥RQTTDzz:ƒ­[·¢×ëÉÏÏ«¹‘öŸ=þ z½žþþ~ÚÚÚØ¶mÛ¬ÚÐðð0/¼ðBÔ2ŒF#V«•×^{¼¼¼˜ü===ŒÇTXillœõ|ó§íæÓ…Ÿ¤¤$–/_ÎòåËÅMallLÔY$Õd0‘ &¡Pˆ`0ÈÐÐCCCâ->¹\Nqq1yyyôôô R©P(äææŠi •J…L&C£Ñ°bÅ V¬X!ŽattTü|½^ÏÖ­[ÏÝZ:Žü»víâÞ{ïÕœÚ\D"áèÑ£,[¶lÎŒIñb@„Wh±Xèéé‹ ½½½g,¦Èd2Ôj5h4222(--¥¢¢‚ÊÊJjjjÈÉÉ™6JàöÛoç‘G™•#ÿÃ?̯~õ«3¿ŽX¸p!G=«^ÆçÁ`P´›¿¹¯¯ÞÞ^º»»ÑétØl¶Ón‰D,NFØùùù”——³hÑ"ÊËË™?þŒtÀGy³Ù?òÏ„üü|²³³Åêãù…B1ç®èI$RRRHII¡  @t²SSSâ±,Ð××'ÿZ[[1 bª`rr¿ßÿ¹ã_äèùÉÈÈ ²²’¥K—R]]-^w4sž­è]«Õ’’’2k4µ¹æPçŠ %&&Š×Q#˜ššm'`µZéì줵µN'Vû'''ñù|"_Üår188(æEe2™h7ÉÉÉTWW‹tªÚÚZòòòP(bD,¬Óñ΋Õd2±mÛ¶Y¡¼Ì5Èd2î¿ÿþ˜s!ªu»Ý ÑÝÝM?CCCŒŒŒ`6›±ÙlX,–3^)”J¥“““Coo/ëÖ­ãÑGy|ìÝ»wVó²sµµµ444|mïΆ††èëëc``@L§E.˜L&Ün÷i7×ã`þüù8ª««yóÍ7g-Ç|^9Ô8¾ž…Bb'w»ÝŽÅbapp“'OÒ××Gww7f³™©©©e<ùä“<ýôÓñɼ€ Gìá3ŸÝæ|ã7ž‡ï6ÇW©T*6Lj  Š—|>Ÿx£¦¥¥NGWW‡¿ßO0äꫯŽOä†H5--MäŒG.fDRI^¯—îîîSnñŒŒ…B”••Å|=8¡ÆñµG8IÞýýýÜzë­(•ÊøÄÄqƨ6Ríïïï§´´TdÄjqÄÇD¼µnqÄGÜ¡ÆGqÄjqÄGÜ¡ÆGqÄ13þ?étbsÃkéIEND®B`‚nted-1.10.18/doc/docimages/end_bar_following.png0000664001041000007640000006727211520267216016434 00000000000000‰PNG  IHDRÓ¸¸º€sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ 7ÑÿˆÛtEXtCommentCreated with GIMPW IDATxÚìwxTÅ×Ç¿Û7[ÒI-4é5 ](UDEAPÅöÚP@T"ˆR ¡ Ò«ôN$!¤÷²Ùlï»óþX²ÉîÝM²! Ìçyx²sî̹gÎs§^!„€B¡P(J…aSP( …Bƒ)…B¡P(4˜R( …Bƒi)r3’Q¤6PëR( …ÓŠpõx$zt톈ÏâÂíTja …B¡Ð`Zôy±xíÕ©H+P =ö F½ú”µ²(((Àúõë«,ÿÝ»w#!!Áezrr2vìØA+‚B¡Pª:˜®_½©*Öï9_?¹q§ùO,µ²P(ø÷ß«,ÿÿþû.Ó³³³qòäIZ …RÕÁô¿í;1bÊG˜8üYŒ{÷…âUìajeˆ‹‹CZZZ­¾‡C‡ÑФP(4˜V bÅÑ„"ÌœýXxIq?jeØ·oΟ?_«ïáóÏ?§I¡Ph0­ 6‹ Eú6¤_H4zæEje÷îÝÓaS6› µý0*«Õʘž™™ ­VKB¡Ð`ê.«âx@°týVˆëuÁèžaÔʦL™“ÉôDÛ`É’%ˆ‰‰¡Î@¡P;¸ž nÛ¶ ûöíÃСC Ø,`cd$2oÅú=çÐï•)Øû÷6•Q+åúÖ Ã)•JØl6x$ŸžžŽíÛ·ƒÇã9MŽŽFff&X,–ÓôœœdffbëÖ­÷srrРAäïÞ½ ‘H„üü|—é÷îÝc,_¡P0¦ßºu ¾¾¾HMM¤¥¥!<<¼Æ×uzz:5jT#u³ÙlÈÎÎFhh(nݺ…zõêaöìÙ´e£Pjj0=zô("##ñûï¿»”iåÃ4˜‡å«¶ ¬]?l\õ#Ä<Ï:¿‰Wðlÿ©ˆËȪ‘†R«Õ˜0avíÚ8|ø0ŒF£ë—‹R,^¼/¾ø"Óô„„4lØÐe~III8}ú´Çå©T*,\¸ï¾û®GòçÎC=Я_?§éAAAÈÊÊb,Á‚Œé'Nœ@¯^½Ð³gOÀ{g÷Þ{Ï#ý<ˆ¸¸8|øá‡¼î?üðCLŸ>½Æøb||<Ö­[‡Å‹Ãh4bîܹxùå—1qâDtëÖS ¥&ÓH¥R—iĘùö»Psƒ±}㟨èÙâ#bÕ`òGŸ"K©fÌ¿º{ƒÁ®ŸX,–Çú²ÙlH¥R—ÁT @(ºÌO,ƒËåz\žÍfÇóXžÇãA$¹”‰Dnó{pž–Qý8Ž[ÿ«*Ê£ç£@(Âb±@*•‚ÏçƒÇãA,ƒú( ¥zðÞ$³2!yYJ,\µ:y>,ö÷êßamÚ»Z qüøqüóÏ?Ô#j1|ðÁcqÛ¶mÃÕ«Wi…R(sÏÔÕ’«àÈM9Z<3ýÚ…y¼ÐD–v—rYáó¯jÎ;FƒÆ;MW«ÕÐjµvýRRR`2™<ÖW¯×#&&ÆeÏ4''‡ñþÓÒÒ T*ˤõÈ‹TàûHàë ¯L&ó¼d2$%%¡N:NÓ“’’PXXȘŸÁ``L/,,DRR|}‹õ”Ëåë—––†ÜÜ\FùƒbòäÉ^÷ w÷ímNŸ> ™L>Ÿï4ýÞ½{vÛFÈd2ÄÆŽB{¦J- ¦:®Ìo·ÎîÁkw@ÀcÃ*ÁlÐÃìA^VC6w¦¼‰â]æï þùçôïßßåpÉd‚ÉdrY¾Á`€Íf³§»“/Ós·Ù ×ë]n1›ÍnË·Z­öt›Y…ÕË~ƾc 7™ÁfsñÜ,úâm»¼ÅbñX?‹Åâ¶|wù•´«2 ƒ]¦<ú™L¦J—ÿï¿ÿ¢wïÞð÷÷/—ï”GOOؾ};^{í5¯ÔÅ» L)”ÚL{ôèá4Yø`ì°Bˆ?¿OÇ•‘qEÁ¥“hظ!n^¿Š¬¬â…G7b²1mÊ(¯ßèüùóñî»ïº\•…BáRw¥R ©TjO/,,„Á`ðø^Åb1ºwïî²gzêÔ)4jÔÈe~AAA ´§?íeDî9 ‹íaãyñØaôطήïþýû=ÖoûöíhݺµKy‹Å‚èèhÆüD"czhh(Ú¶mk— ñX¿¬¬,ÆJ•¿hÑ"¼ùæ›xê©§Êå;¡¡¡ëé 3gÎÄÒ¥K]¦>|-[¶tY¦X,Ɖ'УGFìÞ½Šç­)J-¦¥Y»à \N‘aØ”ï0yÊd|ðáS™mö`oîý1¿{{p:xð`…©ÍfÃ¥K—ì«D 2ï!2rnÞI„•#„ù~Ü$V5¬ÛãH`ÀS=Ïœ˜q|ÿnì?|E: âîÞà‡¸L—ø‡<öCvv6 š6mZá<´Z-ѱcGÚºP(4˜z†±0ß­ˆOÜ?ÍŸ ž@‚>+vü‹~õüñT›vhâ~æ…3Qàr¹øä“OðÛš]å¨f³ü1Ξ=ûØTÌ‹ûñò+“Y€!SØÀb‹Ñ¨~Òsa#‹ÃÇàW߯Æ%yG­:|2ùu¬Úv:ãÃùè[Iüü§é,6ïNòX? gΜAFFæÌ™SáþݹÝAߨØX§÷sãìQüºéXKM¯ÝJLÆŸþé4ج¹ùå§ãä©s(+Á÷‘ 7/Ÿ±âããqàÀ$&5yïÞ=ëúêÕ«ÈÌÌd”/**bLOKKÃÎ;Q·n]§é/^Daaa™<âãã=Ö377wïÞe”wV†Cýܸ…B‚‚—¾üÀvf³±±±Ø¾½¸îÝéH¡Pªâ!“&M"ˆÑh´ÿ›: œ°8br%CN."u}Å$$¨ ‹èF¦LO†‹C†LøÌá:gÿ2ïœ#M깕söO¥R‘.]º0ʼð $11Ñeúš5kÈ¢E‹\¦ççç“Þ½{ÛÿÞ³gÙ¶m›Ç:véÒ…¨T*b4‰A_D>ûò¹€ýß·óÝO—“RžCOD6ÿ{Ñž_ïÞ½íù¹Ò÷ý÷ßwšöÛÂOò@º½0‘iô¥Frýô.Ò¬n a•áð|m0uêTrâÄ ûß&LðØ~Û¶m#_}õ£L»víÓ_zé%rûöm—é7n$óçÏwª·§zÞ¾}›Œ3Æ­/0¥õÕWdÏž=.Ó¯]»f·J¥"ï¿ÿ>ÉÈÈ(®§nÝ…Byô”»gZr¹~ܵ<´x~º6À—óâÙ7¿ÂìvVŒÜ˜Œß×®Fúsx¦Ïó8ð×Rú`6†wq1ì¨Å‡ïÏBJA¡Ëín^Àb±¯e³Ùàñx.e¸\.8ŽËt>ŸïP—Ë—Ëe,S­(@JZÄþ!ökù|>nø+·,Ó3×ix??>vîÞŽŸ]Ì|Â5ÇÔ³ð¿^íƒKæçJ_6›í4ý­C¦ÔáÄ…› \zÿo(>œ9þb¡Gé f̘ð’råùú×/S±Y’tj½“Õ¡˜ì]Þú)iwéåõWv,¯Ý=Õ“Ãá0údzëI±û6…B©Eü%±Z F÷éȾp Ÿ?ˆ–†£(œµáíŸÅ{&Ï~ÞŒkw`xgçGÇíXó;Ìá=\y,Œj3©°üûoð˺íPhtàðÐrŸ)“• ¤Ožˆ)o>œ+îö¿—°åÙa0š!ú€ÇåxM?$_~¿ êô›!XåH'6Ò UŽ ¼8¿­ÛìðÛÝë'0kÖ§¸› ‹•Àh2aàÐQô©£P(4˜>üðcßâº"d¦¤áðáà ø¸òß M Æ ¬Üµm$<qD€[w.âðáæeòÓ&ãß›¹›äeò÷“É•JÅxmAANŸ>ç½ãÛ·oC«Õ–ÉÃb6Á`0Â`2£¨¨Èž~ýúu˜L&Hî·ÕÁFÛ~ÇŠM{K­¶eãèÑ£àñxmÒ}"ÚàNJ6Àâ y»˜=y8Ο>áñ=áÈ‘#.{/Z­iii²§'LywVmÜ ƒÉÈãÞžŽ ¶Ò^žQƒÞ}©…ŽsʇþÙ qqÿ:33“Y?B ×ë`±\¿~éÌ÷£V«ÓóòòpæÌ$'';M‰‰A~~~™<222<¶cVVrrråÝùjbb"Øl6¸\®S[äååÛmg2™––†S§N¿ÈÙl´U£PjC0mÕª•ýÿc'¿o÷ÅãÛVSðñ?à|¼­Ç<uE(Lf£Õ«­`¸Y¼à§]·W®«A†ŸöÁÜÏßÇ/Ë—•ÉßSŒF#„B!㵉͛7G½zõ\6¤jµÚž‡Í¬ÆÊ¾ÃšÈ`0[Áb±Ò ¹==;;&“©L™ÄªÆÐ2x~â§hß¾½ýï¿v(^,ÂbS½"‘-[¶t¹oU­V#00°BöôÌ>ÇøéŸÂf+f,ýµ›K£ÊR®8£§|€Võ‹_@üýý]êw÷úI|òé7ˆMÍ!‡/Ä´)“ïÇH¥R4mÚMš4q^æÝ»N}IÏ2½~¾¾¾•Ò388 4°Ë”¶…@ì‡!ƒžC«V­`4ˆæÍ‹_T]}uˆB¡Ô`úàd•’ŸÌ7óS¬þ³ þ>›ˆÇGD¿"ˆý‚к#h4·þ~¼z â°6˜þÎ ¨+r,®àR2‚B‚ðïþ}ö†ìÀákåÞc0Àçó?çåããƒúõë»<´!88\.מÇb_6ìtŠ9öô †²eÞÙ«vŸ²o[4z26.ÿ !¾>^«8@€FA(:MpÈDu}âlâÈ¡Øú×vdߨu<…W®Åð^mŽlˆÅNõ“ݽˆ©ï|€ÔCÉ‹þþþŒ÷ÃãñÓE"êׯïR&88:®Lzyìh2™\Þ×Üùª¿¿?BBBîÜJ™½Œ_xð©=L)”L=¤\Ÿ ü¹î ~u²î}Ц¿1€ ¦ý±áò%§½Ž¨3éXµv{™@ Ú°À ‡6T¨!fœ<°ÿ9‰"­J­½ºu²÷.¬ÝU¦wù¿7Þ÷@6mþ“nG#%K†FÍZ¢M‹f ù^¯¼šÜp¶ë7×nÜÀõè; < :uêˆz¡Aé¿aûN‡àñ WÛ÷¥ Ž/cY‰Ø¶u;nÆ&Â/¤a™yèZC)_LJMC§.]m1æ½Ïhð¤Pjc0uE‹^Ãph_-ùcFFÁ/0é ±HINCâ¤÷qô¿óèТ!cÎDÃá`Μ9:´¡Üm—M‡ÏÞ‡•‘ {°0ˆÅBǶ­îÇC1&{«vŸ.Ñ»œ„Ë¿ð(¡HŠÎÝú óíZ,ÔmØ /6lVî+_x¦7–­~Ø«­ÿ~üu úuhl—‰½t£_„øô<û¡Q`­³’S_0ø…á1Ôµ-viA[/ ¥6Ó5kÖ8ý=¢ç³hÒª:½-Cl¸s/¡O5Á¥Sqé”û|CBBî/’¹,Ãf³×d%âÀ¡“PëàpyÈÊÉCdd$qõÜq¬ß¼Ç±'Cîæ¨ìy<õÌ0Ìiö4Œ&3BÂêÕÞmW«Þºu f³………ÕRq¹¹¹X·nË-z½·nÝ*·-%ñññ.ô³aꌠPj@XløÁ”—€5kì=¹y_~L™ã¡‚àzŽù3N:€¸”LXm@Ff6m݆†uCêsùòeÈåò2:ÅÆÆzlǼ¼<$&&2úbjz†=Ý©/¸’y_†Ùf³·nÝÂæÍžIm Pªë͸œ‡6x‚6w/@VŸÎy$›e éÚµ«ýï;ÿ%­…ëá,6—¤¥¥BYóãÿ•9” ë  De´z\æþýûITTTµmîÓ§1 .Ó ™5kVÞäN,˜2vâÒeòÒ-ìÛXÆO›l™'/E\ôì?s>xR>ýâF­@戵s+ÿºYJÔmØ SgÌÂó}¬Þ´‹7ì.ÓãcKƒ{®ÿ±ÏUêLV´oݬR¾he az0×îÂ%õÑR_¤PžÐaÞÒü>ç}칚 ì?„ ú1öØLҨ¾¨J”޽|¯¼2 qyxðùF¡¤xÿ(±‘ZêL[ž8+Û€ÀÀâ95¡4ßüø æèt‹‘ÈtGí¢ûó/#²ïPŒf}Êj‘‘_P&vô&&yþ¾Ÿèðù”7°rË¿ÐÞŸ«d±Øh5÷ÛJû¢o§ÜøâzûßÔ)L>õüd È)Ì$Ÿ¾€…6]ƒ¼ªlBBîâ‡÷'!¶ÔÛ¾ÙlÂþýûÑ¥KDíŠÄâ•ë‘] D݆Í1eæ, ìSj9‹ ±XRk+î“O>qÜÔÿÂã Àã;ßg;~Ú,dË8y1„ëƒ^Ï Áœ÷‹{|ÿý÷nŽÂâõŽ=WBl¸—”„ýû÷cèСŒe߸qYY™N}Q§QaÿþýèÛ·ïá‹ Å Áôõ‰à×}ï¢}ŸQø|Æ‹?­Û‚Nÿ›€g‚}¼ªlXXÄ>l¤”}Ûÿ}ã߈ˆh„=?[ûƒÁh‚ÐGäÕ£øj Æ £ÞË€PZßü¸s´:€íØãkÕª®e9í¹ÎŸ?<Žû!ÖÆ#$XêÔWoŠDDD+…Bôx|‘B¡x!˜ö1?~ ?®Û‡7ÇŒG/G–Š‹Ý‡ƒãåñ*©T ©TЍ‘¥æËfcà3Áö°×ByB`±!vrÜcHHÞûøK¨ œº r®ò㦠È׳©‰€€P_¤P(Þ ¦,¶ïÏ]þ#ÆáèÉsàû…aÄK#PeJ÷8[û=˜/£oû” ô\}ë`îO+ uÒs¥¾H¡Py06O€ŽÝú¢c·¾Lq__Hkâõž+õE …Rî8HM@¡P( ¦ …B¡Ð`J¡P( ¦ …B¡Ð`J¡P( …S …B¡Ph0¥P( …S …B¡Ph0¥P( …Bƒ)…B¡P(4˜R( …Bƒ)…B¡P(4˜R( …B¡Á´ °ÙlÈÌ̬¶òÍf3rss«­|ƒÁ€‚‚‚j+_£Ñ@.—SG`2™ŸŸ „PƒP(4˜Ö4 ¦OŸ^mågddà‹/¾¨¶ò£££±xñâj+ÿôéÓX¿~=uDIIIøþûï,‹„B¡Á´ö@AQQQµ•oµZ¡P(ªµg¬V««µg¬Õj©#°X,ÕZ å1 ¦&“ ãÆ«T{öìÁ_ýE=¢3zôèJ]àÀJ÷~ÓÒÒðùçŸW*ßÿgΜ¡J¡Ð`úè{ •Ê£¨¨¨Zç)•§²> P(ìs‘•y±KOO¯TyyyP©T´B)LkË—/§ X(5‚yóæQ#P(Üò^””ä2M§Q¢P®O(B:Aà<¢ÅF£F£‘Q·½{÷"""õêÕsšžŸŸµZí2µZ ƒÁ`OÏÉÉÉdb,Ó›¤¥¥A«Õz\žZ­†R©ôš~YYY^ÍT*•ÇùåååA.—3ÊW¶>òòòPXXX&òÜwZZ4 £üŽ;0vìX—ér¹999.óÈÈȰÛÎh4B©T"55]ÝK¡Ôš`_æ7‹¶Ö­ƒ†€Æõê 3é²5þÊx¾g;ò%66¯^ƒ7§Í(÷M˜L& §º=àAçjø,''Z­ÖeZ­:Ξ ‹Å‚ðððGRQYYYP«ÕŒ÷X’ÂÂBdgg{,ïIP(^Ë®^½êq~YYYÉdŒòF£±Rúegg£   LñññåÒS©T2Ê»óU™L†ÌÌL—2©©©ö2t:²³³m(J5@_´žÈjB!*y>™õÚsDâJ6¾B!ÄbP“»÷Ò\æ¿ï÷¯ Í"Á`0®]»2Ê 2„¤¥¹.ýúõdÉ’%.Ó éÓ§ýï_ý•,[¶Œ<*ȨQ£<–ÏÈÈ o¿ý¶×Ê?sæ ™6mšWï©E‹ËFEE‘¹sç2Ê´oß¾RúlÙ²…,\¸°ÌïÏ=÷\¹êiìØ±Œ2î|uîܹdÿþý.ÓcbbȤI“ì~ùöÛo“ØØX€tèÐP(”G·²Á8éÌ߈15ƾ'‚Ï.Ö•ÔÁ¼_V`cýöxüèuç&NnYН~X­âÑ¿±Ä±Wx÷"¾Zw fÛ4DE,8wü =…"]zöÇØ1# dמ}ƒ…9)ؽsnÆ&Á/¤!^?š5¨±úÆÇÇ#<<>>>ô-šB¡Tï0oi¶>„»—¯cáò ørÖ$pîÇIHŒè^ž»‹ß6lÇÄîñt·•:i3«ðÇÖx~P?ܼúß“GmzÌ9 KÿÜ µÎà¬^ £y/¦MT+îáîµ£3fb’2ñàhÃÖÃȾ{ªÆê¼`Á|óÍ7hÞ¼9}ò)JõÓ-[¶8ü}5&iI·ðí'Ó¡2ZÑPlO“‰|äá¯-[QoF½47íÄ×_ßÞÀ;F* >|{â37ÿ›ÁµË†ÖkŠg{> aƒp…èÞ÷|öÑt„HËèõ |¹Ró°|ʉDàñxNï÷è_°lã>‡€n³˜Àù:ÈbAFj*´F+¬„ .÷Aþb4oÑMÂ!W¦BHý&˜2óC {®;tllúÃmîê¬dùÂvZ?%©*(Yïî‰D%ìT1=ù|>„B¡Ëº°c¯[‹ÅGç)”ÚLQ§n˜ÓßÓÏÜ éÞ cßö}F¢]+ÿ‡F@ž Âݸ Ðh4J¥¸w/M׫vÃØÌ¬]ú–¯D¡RO±ˆÛëˆÍˆë©ezm‹—þð°1åp1aòŒ~å€Å…T*ËMù`sQ¿Y;{WSòË`â\BšÓžñÄ×úÛÿNºuŸ~ü¸““•@䈟ïgO÷ûaçž}ÐéðK à9ºÒ‰;InË`¢tù\S'¿ùD>¤¥m! E¿^]iëE¡Ôæ`záÂ䬯ìi_ë™ IDAT»S°8hÔ¤ ®ßŠܸ|±Œl¡,ýû÷Gÿþý!+ÈÀ… 6ʰ˜MÐé °‘â} LºáÚµkÈÊÊ*ñ¶oƒ^«ƒÅF7½ÎžÇÁ-+ðÃoÛV³òäöôäädX,§e6yª9òerLV%þÿÎ ´ a9\ËçóqçN¬K}•/+ÔØóhÔ´  5ô&‹Ó2òóó‘——çT¿Ìì"4kT ­`qм}O|úÑDÄݸ 0ª²0uâT$ä–81*?yÚØóÓjµ¸vý¦Ký³sŠÐ¢IªtN˽^ïT?§åÈÈÈ,#ÿÀ8<>t:£Èårܸq2™Ì©ÄÅßE¡¬ LJ¥Ò­ß?Ð#'72™ŒQÞ™¯–Ô#%5 b±NmQŸ‡¶O5Æ… Å/¡yyy¸yó&mÍ(”ÚL%‰Gr»·,‡ÖJðìèéî&ÏV'&¬YºS>üÔ£^ã†_—bÓŽƒÐ™Ì`³9ð cÔËåB"‘Øe’oŸÇ¼y?"6%6RÜ[œ:u*$ ˆM‹ßVf«Î3£ß±_/ a6›–é# ÀŽß×ÁG$‡Ë»ÔIPB¡|>ߥ¾®Êïóò$û5‘/ölއÃuZ†V«ÇsZŸÏÇìOþ½zöX,p¹Žn°móþ2Œë„—&ϲçÇf³íÍçó1çó¯ÑµK§e0åáªü~/O´Ë—ñbß`·> ‰\ûÉoM,“‡Ãq™oi=Àb¡q«.Œz”¾ïÒz؈ _|ó=$‰K[¼òîÇö<\ çS(”GH¥mpvˆBa*i&% Z“;ÙE]³õ7Ú°ä£ñ„Çföl®ÄãC ¯’a× sçλ……¼=¤'a³Šg±y¤ÿˆ‰$³PíÑ¡  …Â¥.«V­"ëׯw­¬å÷éÓ‡ † ÚàîP€ë‡ÿ&¡»]Ú•‘ËuðÀgŸ}FŽ;V¡C<)ß©pDŒå5Š$$$¸ñoËuhƒ3=8ü:ÚàJoç-öÈôÐ å19´¡l¯Ê„¯>šŽ$ƒ›wmG›0·×ä$\—kOzth±jðíŠH'½¶w‡ŽsS±w÷ÜŒM„_HCä>ÜfðçÖ¿‘Söm¿ç‹¯ÜÏå`ÙÖ1áêe¤dÉÞ¬%:wl©HðhÞpª¹üÎ_ÆÅ‹­qåÆ-ž]» Y£G7í®|—>0zŠÇe¸öW=÷uz<3ú-F_TkõîõòR¨ …REü̋¿|3‘'“±éïðr¿ö Ùª°>ò8 ìëÑ¡ ,¶Fè† /ÀF›‡¾ÃÆâ¯UßÙenØ1“}/Ã~ ›ópËN¿n] A^‘X· ¾[² Ÿni—KЧÿ ô©¦Š©ÞòÙhÜ¢·hWMwÏ\¾kðük,®} •çï<®ôXñ³/rùnõx¾sÓR ¥J‚éš5kœþž›‡£g®À?¨.ƽñ:äÉ×±fÍu·ù]8u ZE >æcþ%iÛ8¦5î£É›4Å¿Q‘÷#º?~û5’s×m‚½{÷B ĆÉïL…¬H°Ø¨S\uºGe?àìÙ³°Z­N·$dffâÏ?ÿt¹]áìÙ³àr¹0›Í®¸ÜÜ\¬[·<ÏizQQâããÞÓÕ«W!“Éc•—‚‚F{ݼyÓá+;ÎP(å²¹Ç>à‚””lÛ¶ ¡¡¡åò¬¬,—zVÈC?̯’¾¨×ë¿ÿþ›¶fJuRÙ9Ó¬äx²}ó:2ÁäÔ…Dg4{<Æ\}œ¼:~9xð yã7røØ¥J[Û,j&æ9Ì?qEdÍ®3^¯Ò9S¨Ê9SO¨Ê9Óª¢äœiy(ÏA÷Úéœ)…ò˜Ì™Jêàù¡¯`´Ÿ/Ê{F»¸A|÷ECp8,š5©Ü|‹#ÁÖÈ?ðÓ¯[¨FH½Æ˜2óC Г¾9=qoŠ\8y‡ŸF‘Ö‚„¤T˜áǨ/R(t˜×ó`êXákÁhŒ„øKÐjµJ¥HNÉF³¦•ûòHßáãÑsàËÐêI¤e <qԦǼYïàçõ;¡Òì¿;um[¶xdzP_¤Ph0u€ÏçƒËåâøñã^WBV§Ÿ~O?ý4’“âpêo¸ÄÄDX,§öËå8}ú´Ë½wïÞÇ«”- Nœ8>Ÿïܦ2rss–‘œœ ¡PXáòÕj5£þ©©©¸~yÎÜ•ý¼AòÅØ¿2æR§0Å\¿Šãǃ½z¯Õ‰N§Cnn..]ºçt?/…B©AÁtîܹ˜9sfñ/Ó¸qãZg¸iÓ¦(Þ€_¡PˆFA*•:½600 R÷- î²>ÂÃÃÑ©S'§«¿¿?BBB*U>ŸÏg¼ÞÏÏuëÖe”9pà@•5þ—ŽjÊÒŽý^ÃÇs¦‚WÎùˆÍ›7×è µxñbp8DGGWÉóI¡P¼LCCC‹WARÜ"‰Ð¤Iøùù9MïÞ½;x<š5kV©`Ú¬Y³ 5ž «Tù/¾ø"ãõ¨W¯^¥Ê¨ ³>ù µg®ÞáÑíÙÁøü“™ ô¥J¡Pª/˜R¼Ç Aƒjý=üðÃ5Z?Q`=ü¸rTJ5ÀæÂ×Wu= …Bƒií¡qãÆàp8UZFÓ¦MÁbU,<„„„¸‚ö¡¡¡Õ~^,‹ÅŸ¿?uH …Rõí !„P3x¥R __ß ;OP(ðóó«P:\.×åâ%oðà ýª,ƒB¡Ph0¥P( å1íLŒ«WCÓ¤ 4!!Є†BÛ¶- sæÀrîˆFC­L¡P(Ú3u‡¦ys@¥ržÈá€VÆà<ý48ƒƒÓ±#X~•B¡P(”'#˜†„”£/ÌüýÁnܘW …B¡Ð`êQÏÔ¸\°ÂÂÀéßÜ—^¢Á•B¡P(O^05®^ ó÷ßz½w´âpÀ »yspwèP°5¢µE¡P(! ¬çÏò?l©©`…„€3dxÏ=–‹Cuª5˜Ú•ŽŽ†e×.XOÉÉ,ïhÉfƒDç]) …â[z:,û÷Ãzäl‰‰ ……€ÕZ"â±ÀjÖ ‚E‹ÀíÝ»fSWÁÕzð ¬W®À––(€Íæ•àJç]) å ïuFGÃzè¬W®€ddOw1†ÅÞ<ð§L©ÁÔ]p% …÷z¯tÞ•B¡PžœÀ)—;ö:=Žzµ<˜2Ȳ{7¬'Ozwh˜Î»R(Jíž.À–”hµÞ zÍ›×®aÞJ÷^/^ôªé¼+…B¡<æ½N†ÎüýÁéØœ×^«Ù ª<¸z{ÞÄb°›5§gO\) å¶ëU2"YºmïÑœ^x$m{­:›—λR( íu–i·ýýŽ:>¢àY«ƒé#Ë¡ó® …Rs'‡V@@µÎÇ2˜2ö^é¼+…B¡T}ðôò"!‡^g``q‡æùçÁ6¬ÆvhûO°9.*òÞÛw¥P(´×éÀY†ki0-¶ôtXöíƒõèÑâS2är:ïJ¡P(¥‚g•.zÐVöëî¨Qµ¾­ôz0µUXÿÛoð ïŒ1#‚˪EŽSG!ÒOÐQ(Úë¬Õ½Îj¦6|7c,æÿö7_Œç¯Æ­½ÎUE󮞅¨Óé  Áf³«ì>5 $ Îl6›aµZ! i‹CqŠÁ`—Ë—Ë­6?µZ­0‰D´BjBଋ„L&€Ïç׎`{r+º OéÞ«WB´ZA @ `»~æµkkÌ'袣£Ñ¿yCär9nݺõXÜKbb"X,V­ÕŸö:™G&.]ºTízx-˜Ú,JX&.Îòô?Ñ`±è3²7ž$ŒF#¢¢¢0nÜ8—Á5ÿÐ!e2ø{l6@.‡M./®÷‡†kê–œõë×cÒ¤I4:Õ06mÚ„7ß|“¢†ÙãI?I¨4[¶lÁ˜1cÀápj´ÿxLõz= …ËsÄZ¼ŽI¦Pê||»| š÷‰6b3”Jåó@ªT*¬\¹C‡-›Ø®Ю7nŒ‚‚L>¬C‡À:yHN °*14L22`Ù´ –M›@8 hÚä¹ç@ 4(Õáµ2ÖN§ƒÁ``”1™LP«ÕŒ2?ÿü3^~ùeÚZ×0–-[†#F¸L×h40™LŒuk4¡Ñhªôwç§jµf3s;c0 ÓéeÜÙ£ÊÐjÛ·Á:~¬ë×ôt@©Ë[ô@¸\Àß¿¸=èßdð`{{`~hh ¶Õ+W®ÄóÏ?@Páú×ét0òSN©Tʸ¢¼\ÁtÁ‚ضm,XàRFÂaa×?»õëϸ–ªÁ§“zàð¡Cµª±Ùl¸zõ*ºuëfÿíØ±c0`€Ç†W(8Äpß111P*•8Ô´i±C_ü²h0À/#õ¯^ÿòe„Øl`WðbY­€LÈd`]¾ òã0I$Т¨iSäµo³RɨçÍ›7‘žžÎ(“™™‰sçÎ!##ƒ±Q.™Gyì /^D=ªÍ'Ê«ï£âüùós€åÕS¥R1ÖíÝ»wÝÖrr2Äbq¹w:tƒöšžéééÈÎÎf”IHH€Z­fÜQºœòê鉟rŒFø¥§#ôÖ-$'C$—ƒ§ÕVø9wÚ†±Ù0‹DС¨Iävèeư–Üâvûvñ¿GÀå˗ѵkWû6¿òÚU¡PàÈ‘#àñxNÓ•J% ëÿöíÛ0›ÍŒ2®X¾|94h€¿ÿþÛÍ‹‡Lš4‰¸ï($ï>pY,2úƒï‰ÕFjƒôíÛ×á·iÓ¦y|½B¡ }úôa”Ù²e Y²d £Ì¨Q£HZl,1Ÿ=K _|A´uË–DJÔuêTþ_h(É %ÚAƒˆáË/‰ùìYbS«tˆŠŠ"sçÎuë111Œ2íÛ·¯°= !¤{÷îÕêåÕ÷QÑ©S§JéÙµkWÆô3gθÍó³Ï>#ÇŽ+W¹“&Mòªž111dìØ±Œ2 .$QQQå*§¼z:óS›ZMÌgÏýGMDQ‡…yçù-ù/,Œh""ÈÑnÝœ>ÇÕMß¾}‰Á`¨°]ûôéãp}irssÉ€óX¿~=YµjU…ôoß¾½[$„¯®æmÞÆ«~þÍ» êy]çû³³³Ê8þnõæÜDe‹ÁmÝÚ墦J}‚ÎfƒÛõë®ç]«x)yy†ùÜMAhµZ?6C°ðõõu9´U£ü”à™Í°œ;Wm‹„vMŸŽ½í¥R ‡ãöP'¯Óôس8§€Ð¿16G®F)¿FÞðG}„+VÔʆ×Ù~×’Ëãó£¢h2UjKNÉy×çØlô ¡¿q£F‚îÚµk8~ü8¾ùæ›ÇæÁ\ºt)^{í5tìØ‘F©ˆ³EBû `xé%ïòà´´ðð»HhÇŽÆÈ‘#ŸxŸ(w0Ý·o_Ù7“‹¿ú i…FtÜ9w®`ßjpðû‡91-‹‹ÃÁƒáïïï4Ýd2A.—;ÜgjjªÓûv†V«-s}i®_¿…BÁ(“““ƒcÇŽ¡N:{`%âbï -3"¿ DDD N€´8±o_ü‹'Bš–†à7àï|rsÁ5+ö,Ûlët°ž?ëùó0~û-ÌR)ôAAP5oY§NÈOIÁ©S§7Ö«Tª ÛóÁÛ/“|tt4®_¿Î(c³ÙÀb±*´=¢¼úzâ§„Æ£"oÞ¼‰àà`¤§§W›]cccÝæ™˜˜±Xìpp£Ÿ¢xŽÓ›z¦¦¦"++‹Q&..J¥’qδt9%õä ¦¦"øæMø&&§ <­¬ÈUv­©ÃE$‚!8ÊfÍ ëÜêðpX}|ŠäràäÉå§/^„¿¿?ãHŸ\.Çþýûí¶/oý—¾¾4 …ŒyÞ¼y&“ÉAÆŸ–|ÎJ¶Ã^ ¦]»–Ý7ºêëé8—Ž-#_#u*ó(ˆŠŠŸÏÇðáÃ]Êøúú¢S§N.{¦&“ ‰ÄáBBB<¾'µZ]æúÒddd@&“1Ê¢C‡¨_¿> åö¼5íCÜË*ÀƒÇ7(¼;n]Øí gçgžžyxãb‡ÑjÁ‰÷äIp¢£ÁÊÌK¥ªÐJA!à«Tà«TðKIAãG±ÃU«¯woXúõƒµm[ ÔŠo‘HTa{:»¾4z½Œ2K–,ÁsÏ=‡N:•û¾Ë«¯;._¾ŒË—/cÆŒŒe¶iÓ†±gZÕvµÙlˆ‹‹c”9räZ´ha—ñÄOƒƒƒ½ª§D"ÁÉ“'e.^¼ˆ¦M›2ÊØËÑéÀ¹sÓår<»lXYY`)•Å‹ú¼¨¸\__zõ`íØ–þýamÓ‘{÷B"‘`øðáð¯f?MOOÇÊ•+ñÓO?¹”¹qã†Ûú|Ð>†å­ÿÒ×—F&“Á××—1ÏÄÄDÆrùiI¿¨’žié³b“¯ÄÊ¿öÁ¿a{Dˆ>ß¡nXªcº”Ëå‚Ïç3žg+‚ÐÐP§éF£±L"‘Èã3rE"‘[üýýa4ËÈè4 ääÀGh×3,, V¼5p² äÍ6x¦góæÀý mn& ÿ;ñÅ+Hþ{ÚøúV|Þ€ÐjRR€”ðÿúËé~W.—[a{Çc” r›§ÅbT*­ÐYÇåÕדÆÁf³1æ)‰Ä(Smv%VdgfBo²Ã<Ô³²~êâYp¥ç+aÃÇLJ1O©T §2†l?Q©à;t¨ý$¡ç‹ß|½Õ8ÁZ§þ#/üö›ËáZ6›í¶ýxT~ªÑh Óé*l×ðù|Ô­[×>ÿ_^=K_ïÌf€ÑOùB1„Ba¹ü´äsV%Á´´²s?ù ƒ?Î_Š6m{#ÐðnªLèìëÝ9ÓÂÂBlÞ¼³fÍzìÆÚm"×ü‚åkþB®L¾H­ÎôÐÌ6=ŽÝÉt¬8¡æýô}¥Ê€$I±1öÆDñçh‡¯Ñ^Eo¦Ô¼+8ì#ú‘#íó®5•ï¾û_ýu¥óùꫯ0oÞ<<ޤ'\Å×_|ƒ³×îÀh!Ðë èÞ»ŸÝOÿ‹ÏòºŸªTZFÂæ"¼EÏš,††ßO÷Fàt¶H(C.ÇŸ³gcX% -Z´3f̀σáßjö÷Úà§`óðáìYv?½p/»R~ê•`šœœlÿAÜql;‹ÀÆÝ1¸G8’S2ѾŽ3ßœ€§‚}ѹ[/ôéÑþ’Ê5&;;ÿüóã®L&ŸÏwбÌÛ¬N‡´´4h]|9Áh4Â`08ä¡R©ó,=Ì[úz ĵJ ³… +;JE‘]f÷ÚðÅ¢u0ZI™aËýcÝ øˆÄÐèùa»³0øépõtV‹+²Ëë&Œ;z1™ù°XèÄåb(Ÿ‘õ Ì [¯¯XÅY­λ~÷¾ärQsûö0>ó ,­[ƒ0 ¥FFûgggC©T2Ê(•Jdgg3ÊDEEáûÃã%)OýÅ‹2Þzë-F} cž*• YYY r)c2™*ì§®ìZÒOÓÒ3òÔÉÓ0nôĤå;[Ÿ¿€îÛ›„Ãb±yÕOÁâ8È;“ÉÍS—ÍS«ùÚ5Ï_Àˆ3glÐC3c†w‡kÙl©Öúõ±+5-‚¥U+±ØQ0?ÙÙÙÐjµŒuTXXX¦^K³gÏ 8R©´R~êÊßK¶?žèËb±e´‡z–åÕ³ôõvÿ7ê¡Öh¡Òè ÓéÜúiZjª]&¢Kg$§eÃdµ¹ôÓ’ÏÓªz¯ÓMü3!ûÖ›ÈK¾ƒµËã¿<=,vâ’ÍŠ?ÿX‹ ºáøàóÿCÏ6M*å´ùùù«h05 HOO‡J¥ršn6›+LµZm™ë3îÝÀÚµ‘– ‹•€ÍåáåQ£œœ bÓãëÅ” ¤]upd‰–-]£É P.‡ƒô”&Wetùß(»|Ô–µvçÓ‚³f3.p$à:ëˆ!IIAÀÕ«ܺ VN¤V¸XÌòÙàk2wî€wçDÛ¶Á*@_¯Ô­Z¡¨Khš6…­ÄswKnn®Û:R©Tnƒ©«rÊûð{¢¯'Á4;;›qËAeƒiéëKû)_$E®œúÈ8Â4jÛÑ.CØ|¬ø•ÙO5M¹ü´ëÀ׿ïB¦ósC Ir2®]?æ&¸9¹²ÚÀa±ä­Q$V±Æ:u ~ê)uí M“&°ùø`ÑŒòò*܆Éår·/ƒ©©©— ØÞöÓ¬¬,ôµÙléûàÐWõïéõÄ¢Ãî­›±ÿè¨t°9\ˆýê¸õÓðöOÛe¬|=w.‚넸ôÓ’vòìͪ‡6¼ÞÊŸƒÚ’"“•üóÇ÷$¤^còúÿþGšO.ž=I¦{‘ õ[>K –JmüMKK#C† a”YµjY¿~=£Ì€Hnn.ã¡ ¥]¨Ì¡ EiѤCx(àðoîÜy÷wu›É¸ç"ëþï,6ôø IÎ-*ׯuF==(ã¾Í$ØWd×Ï¿NòÃÚ]¤ä¹%拏MÞ÷ñ!üüHnxcïnF¿¿ ]ÿÑGÄ|ö,éÁxßÇŽ#³fÍb”™5k9sæL…(ïa¥©p¦ïgŸ}æ¶./_¾\¥‡a”¼_W~Z2OO|Ä?u¹iß“gᾌ }x<²P"%—Ûe«VD]·®WCP„„MëÖD;p 1|ñ…ÛÜÝ{ZZ5j£Ì’%Kþ˜2v\›‡ôø#¿`šrç ÆŒ ·îÁv¿~¥A6èÖ¡‚}E©ŠŸvÿ: ðÙ÷Ë1¼ïÃeܾ!<¬j‚w[‹ƒÖº£u§î.E\Ýˋݟ ·wodøÛ0þè?¸Uœây×Þtò•è]8ã'è¤!!à›Í´*§Ÿ Dnëöµú–ËG¼á§ƒúz¸Hèç…Ж:Iˆuÿ_¥æ:9(‰ ‰F.™ÍØo2!ÆF Ì8>¾Ü6.¯]år9£|\\œÛ<ãââ°wï^DGG;õSžÀyù•òS¶¸ZüôîÝ»v®ÑXìqqNKƒX¡_§²Ã IDATóîÁï,Ì>>ÐBÖ¨²Ú´ÂÂmq1Åq^Í'°¾ƒî%õtFéúHÏÈd”—ËåHMMe”¹té|||ܶa›6m*³š·¼~ê®®òóó=Ò××××áÐŽÒvIJNņ ì[L\ÛÕ¹Ÿ üB°qãFûá]¿ ^ýÖÐèKýÑ®}ßU.ŸHMMÅŽ;âÑóìÉVžrÓ×_ÝþÿžMÅèÿÖÏè¿fF ~×®dã™Oãôoÿ‡úâ0¼þúìȉXŒ=#ºT|TFFNž<éP~çÖh  e"##1räH»SïœÅ„7çãFBšýMHì_ß!K—.9Í“X5ø¿Þs4¨Ð –®Æë£ž)a´q•n~ûí7ÆûbÒÓ«0Ü‹k{¬Å+%ì1kÖ,,[¶ $38p8qHJ*þxz÷»úØlðÉÎF`v6Zž;p¹@h(з/0lâš6Å€гgÏrÛ¸¼v]¶l£üÉ“'Áb±e.]º„Aƒ!""Â¥ŸòâJúéÚGî§D«EÎîÝ“˜\¿¤¥öË‹Á\.àçWüE¦ˆ°„ ];%hiÕàíå?—µÇ²uöøï¿ÿ\Þ‹³ú`±9Œ÷ž‘‘óçÏ3ÊÂÏÏÏm6zôhøúúVÊOÝÕUbb"._¾ìVß¼úê« váâÕW_µ¯ˆueW—~ºlÆ•ôS/°ÿ~ 2Í›7÷èy®’žiÉdmû¿ŠwlÆÔ¿ÄŸ+bðȦ‹‹ú½: ºà4²öXû×tya^y¦x•øÒ½H$‡Ã)³‚Íá F €@ (#£×(‘“'ƒPR|ì•H$*–!V|üö\»[êÈ6¾Ø!ç¢\16­û?®Ú„…A! ñöÌ0vÄÿÀñò=›Íf¼wf=žÙîgË–ÅÿfÏ.~˜ÔJ|ܵ-e+ñ?>õØìŠûŒÅde‘‘@d$¾f±`;~¬fÍ\λº²qyíê®®|||œçI¬ÈÉÊ‚Þdƒ•°  ý”+ ¬Ñ~êlO'är̶Z+W¼8]üî5?-Ûê;­ˆSùíZkpÛ†ñù|§mXIÚ°*ôS—m®ƒŸ²êëÒ.u ‘Hì'Õ?ueCWvª’`ꋃ/ÿ÷&¿ Á;Ó¦£wDk˜,qìß¿1ðàßhÜu–ÿü}¥i…‡w,:l[·ËWÿ…œÂ"|¤(R>ÜClz\MÊ.ó&4É Ëüú4ôñT¤~þððð$S){ˆ8Ø”™‡]qïTÂb¡‹È CGu>liiÅ½× ôb8„€£T>üJN©yWÎàÁz³wTÞ‘—{×1÷˹8sõ6 4-F¼2ŽÑO,][£ü”h4èh0À0g¬'OÚOò*NNتÈB´ÊØÃU}|¿l=cûÃæ Ú°y­~¾Kû©ÅJðÍ·ß¹µ Ó™ÈK{Zî`záÂ…2¿½ùÞ'hqövþ±¿þ¤„J^u¡ýç/Åð>]‘“œ”Ê)š——‡¢¢"'å˜MfØ””@`—9½wæ..½ò‹…k×®!  xñÅ»“Æ`ùÆÝ0[là $ûÎLtm"u('//Ïé}?J´Z­[j‚žžÖ¥+=KÖ[ AëwfÂ:r¢Y[§?î:®¿Íôf„s8`±*´ßµô¼«yõjì o×êΡ|æè›7‡ÍǧÜvÕétŒ~zûödeeÙe,fNzÑ©Ž«iÿݽ!÷Osæ§O7õ­6?eëõðIL„ïåËÅǃ——®Ze6[ñÉWÞά L!!еjU÷îÐ7k[É>nݪ²{ÌÏÏ÷ÈOíõÑÌÏAÞYû“‘YÀè))©J%Œõ¨P(pùòå2{Ë[ÿ®Ú›Í ³Ù‚¬ìlÈår·~zõÒethÓÂc»0ÙõQ!—ËqãÆ Èd2žç*9´ÁÙ&r‰D‚!£ÆbȨ±uê>ôþÂ:wG@ïl_P«Õàr¹ågܻ޹_}‡˜¤,BÀbs1ëÃ9H$ V-¾Y´&›ãêž/OGƒ ì_yeÊ'xùí`µp¸°4̥˭Øl¶[j‚žžu.\ëÉX ÖFÝÁŠœ‡gj6b³1Jì™; 0?•ªÂ'Üp‹Ÿt>Œ Ã‡A8X‚ƒñ‡ƒàÄD[¶ñà·ÒuUÚOyB)Ƽ2Ò.³vÓê2 Gè^ÃFÛeªÓOYz=wïBtþ<w—¶RY¡%¸ œl6l ,õêÁж-t½zÁØ¢…ÃÉX,¢Úà§€Ëö§ûðñŒ¾³?ú„±èUZ¦¼õ_ÚOm¶ýñ+~ûs'ôf š´éìÖO{[#ü´¼u+‰<ңʆyÛ·oïøcÒ!6.Ò+þ‹±‘²xÔÎPíÛ‡Wê¦õ%róe …T*µ—¯Ì¸…ñ}ZªrMðúË ^îÛ ÛNÞ¸¿„š‹nÏÀ_+ç£iÝò}!((¨Ì}?j|||þ¿½+‹²Zÿßwvf`F†ÅÄÝpASr+5ozË{½mfšËý•]íf‹™K¥•¥VZÝ›é½Ö5M¥¼7×Ü0TPDv˜}{°̼³½‚ï÷óñó‘™óžóœó|çyÞsžsžãP†{ANoçŸyÿú×PÝx„£VŠ w¶¡ïâ¹ —ëŽDÊò•ª7{w%ÌfpïÞÅDX¹`³AH¥6Ï»6ñTà+@  ä©ÁP ™LÖ\¦mŸü{áÕw¶á™ã\:B—þÛÆ:-EEn/¯S.׺ëìXH¥R÷ÇÓ ûcÛ†¡Å†Ù°ƒ_ |}} —õߺž¶6%ùíeøø‹=V3鼬<ÚyêѸÒ±XŒ ÿþË Zec£Õ™¶ÅŽ Ë±þóÃðíÑßìOÁøø>àÎYë n×k1iðÝWŸ5ĪjÀâòܧùûÝßþËæ[ÒÈ©s-!_ì?Š'ÏüŠ‚²*„G ĸ1£! Á ëbÌÌùøõT.^¾ ׌ƒÁ1ýšÌ„¯/vßÌ‹³×¦<ó„~xrP<ÄUî;³ÙÆyWÔ8¡¬CŠÞ€\_(ôF‡<ûè“N÷É› Jüî-ÇùQf&VïÝÛ½“n8aÚ0v/ôC²Îc{Êú¡ZQc5“~có®vɘ5ÿžàiW€ÇÎ4ýÐaTV+PY­À—û¾Åøø×¡©¸àv½_¾³ /nø¢M¼AÑüÿ‘ƒbÑC,ló–´$D·¼}HƒñÈžèвweÜ}‚¸ác7Üþ—ÖÜP‘$2ýƒðÈ;[ºø@£ó¸ºöhÒo¢‹ A¸7{µXE ÀÑðϨ¨Ä ݪUà<öˆêg“§3ÇĹÔ'º§éàÁNÛ$”·pá}‘½Ê‘ýqƆٲƒtÙS eù’`ñ1eô |wújóLzTÒlìùt]§ðÔÛ tújµs¦ý“Æ™‡Àæ 1¤ƒ8õã%pE!˜'q¹¾sçÎáÆõ+x}ÓÎvŠ4;wîÄ£>Š1³Þ’R/_ÉõèÑc0¤¿%%''3ŽÔÙÙ+7ò**p"3¯Ÿ¿…Îl5{]Ô3SyDõõnÇ]¹p6Ñœ 1ŽÍF~H/T ”àNl<žZ€¸¤Än;ë¬5 Á=Ĥzô§8ôãlÚÁCÆ`ïÞ½4Ì^£¢¢Õo©¿Ô† bÜž] h™½8óéÓ0•–‚Mº930›Á®Q"¸F‰àÂ"àèOÐôèá•<Ãj5 ;vÀüË/°ä嬮¦×q²X ljÂÃíÆ9CöÑÂÓ¼ðÂR§ì œ®Ç_‚Ýd%¯3Vú{ÿ}«Tˆ´žw¥¸‚ŽÆ™2`p?;ÎNX®õ&¼zÞÕæt°""çÊ€q¦Ì0¸/œgjªw'ÜãK¡”Ε†¸+ XŠ–¸+³4Ì€q¦ 0³Î{yÖé ç XÇ]-yy ãF×Ò° çÊ€ãL0¸GÐv“í×Í›„~Õh0僺í,«uܵõ‹‰·â®Ølh¦Og–†0ΔƒNŸuÒIˆbÖydÙ2<Üj&×ÝáhiØ£+èÌfˆÍfXÒÓ™¸+Æ™vg˜Íf=z3gÎìT9Nœ8„„øv¢Q)**‚B¡ÀðáÃ;Õqš««Á¢Óq²Ù ɺxâ÷`Μ9ê\ëNŸ¿²¬úz÷f¯4Ä] 2220qâÄNÕÇ¡C‡0{ölƈ¶AJJ ~øa°ÙìN“!''f³111Œ3í(˜L&lÞ¼¹ÓéŽ;пÿNu¦iii¸~ýºW©3›„X³œB*mH¥7e 8³fu‹Tzo¿ýv‡8S*çúÑk¯aòäÉHJHðÞtR!–••a×®]îL7nÜÈ8Sؼy3¦L™Ò©ÎôüùóÐétŒ3½^ÂÂB 8УznÞ¼‰¨¨(p¹\†åŒ&Ç9óÚ5h¦O¿ç6 eff">>Þc2220xð`ê(,,„L&ëÔ—):f¯´Ä]¤BDGƒOw*G/Ù°ââbDGG{l⣣=vNtð½¼¼\.÷½}cuAår9^ýuëYµjjjjÏÖAÎÓtþ/OîÞÝmvy¦§§ãÂ… X¹rå}Ë![ç]i½‰‡¹‚Îc”––bË–-øä“O˜Áð†3=~ü¸Íϵê:äÞÊBAq9|ü$ˆ‰‹C¯ ° ú–Hªªªì¶/^—Ë…¿¿¿Ý2ÕÕÕ8sæŒÝ·-ƒÁ¥RiÕNaa!e»ÞZ:wî‚‚‚œ~¦  €V9322PXXˆ“))ð-(@@Zü²³ásçØ4Íâš`a³aòõ…¶gO(‡ ƒ"!z™ ðÞòåè­Õ/ÚuN%%%÷½®®Îf®Ž«J¥¢,ŸžžŽ+W®P–)--Å¥K—P[[ët;tëß!--Í¥Õž¢¢"j9§O¦OK«…oa!._†ß­[žñ®MÜU¿nŒ~~ÐËdPEG£fĨ"#aš)..vi<íñ§õoZ.—{¬£êêjœ>}"‘ÈêsWí”#yKKKqõêUÊ2999¨¬¬¤,£T*qâÄ ðx< å·ê*nܸ£ÑèV»*• |>Ÿ~gÙî³Ü´_°~Ó?0ûɘûx"²~;Ž·^ù?ôO˜ßY¡ç`@¡Ph³ý&‚ÇãQ–ñññAxx¸Ý€¹^¯‡@ °ªC.—SÖé ˆD"„……¡gÏžN?SRRⱜ„FÎÍ›àŸ=‹~gϧº¢cÇ@Ð8ë4`À c|<ô&À4p ÈFãà W«ò|>Ÿ²_åååð÷÷÷¸ïöÚ)**r©nG,//Gaa!e±XŒ^½zQ–iÛŽ«rÒ‰D‚ÐÐP—Ú---u¾|\0s&4´j58ÙÙàŸ9nf&Øee êëA¸±N$xuuàÕÕÁ/?¡GÂâãsx8ŒC‡B?~<´UU.õËOD"‘Ç:òññADDüüüÚ9k:å%¡¼=zô@`` Ã~÷íÛ·Ù!©Tªç©L&ƒÁ`p«Ý¦—¯;S£êlù[¾ù…&MœˆÈ|<²h-¶DöÇž_CÉÍ4|÷óoXòâøs]ßxÀápœr¦ma[…B„‡‡#88Øigê¨N§@š!¿{:ƒA!!ð8N9Ó0–¢¸\®ËrR-­ i[ÿhŒ_MœΜ9HZ´—²²hûÑzÕ™º:®Žœiaa!$ íÎÔý{ÊS‰D‚ž={ºÔ.‡Ãq_ÎøxàñÇ­¸{wÏ(ŽC$çvÜXZ-XÙÙàfgC¸o~À}üq§ã®ŽxÊáphq¦B¡íVà\µSŽä5›ÍN9Ó   ‡Î422²Ù™ÒbOèÔuWÕ@ #(0€²lPPt:ݽåLÛâØ¿w#`ÀXÄô–Z¯Ô,xÃ^}û>Ùˆ'ž˜‡ò³û±zõøð|ÌŽ•à~Bya&6¾½§/]ƒÎ`Aø€¡ølç.ÄôîØq¸Wò×jX¿‰üèÑ£ˆExx8ÜÛ6WRŠ‘üM2¶-{ŸúõEŒ¯ååZ—•ËåÐëõíÚoÚÚZèt:Ê2z½r¹ÜîNI½^ƒÁ`UGÛ¿m.]t¨W©Ááù@ìÛ2§ÓÖ”`Þ칸œWÖüYAA¾I‹—–ÙW¾N§ƒ\.owÖ^;@Ãκf95°oÜçôi°¯]QV¢¶–ÖåZI¢†$aîÙÔ$˜&M‚96‰¬å¬¯êëmËéŒF#eùêêj¨ÕjÊ2„Á` |˴׎«ò:*_]] •JEYF£Ñ ººš²LÛvœ‘“nžªT*›r:ÍSå´…ÊÊJhµÚæ:µÌ;ù .—”Á— 0”ÃÁLsÂ"¢®¡ÕºGø¶q×õëAJ$ {õ‚yÈ R©PžŸØ9M —ËÚ§cÇŽA,#44”Ò†UTT@£ÑX}îŒråw匼uuuàóù”ešäjš™zbOàÇ/7áoë?…ÎÔbÃ7þ}Ï}Ðn}J¥Ò¦ÿp†g&“É;1ÓË—/[W`–À × #õ¾ûù,k™Ôqz(Æùÿ¥ãæ”áܺ–î+++¡T*Ûµß%%%àr¹”eêêêpõêUH$»S©TVu´ý»í[Ò/Gâ—_S¡¬SƒÃ÷Á¨‰âùyÓG¾ÿÆÊ@›/†Ÿ,€RN¥R‰ŒŒŒfå;j‡­Ó!®¾ÊU« ÉÉOE84o2ªÍfä˜Lø¯Á€õz”q}±î­—1¸o93Ó)å­VKÙw[Ž…ª|NNär9e¹\Žììl°(fÅöÚñ†¼åÍÊÊ‚Ñhtº*9½ÅÓŠŠ äääÀÇÇÇ©vš^ݕӊ‹‹¡P(šë<ܪ/*’Ä9£©,˜–ü ÃB„ð+.F`úe - ¢Ú:ˆ-$8„ë;% ‹„B(`gf⦉¡ 2:UC‡¢>"æÆMMÎØ°Û·oC$9eÃÚ¤²SîðôÎ;NÉ[__OYF¥R!==½yb@UÞ‘þþ¾ÁÚ‘@Ìc)e(**‚Ñhl.ã Ï4M»Í^¶…wÏ=÷i«¸¶ºŒ\³ê%òÃ/ö³Åê»×W>B bž%÷$@FFÅn«HwP\\LΘ1ƒ²ÌŽ;ȯ¿þš²ÌäÉ“ÉŠŠ »ßët:211Ñê³±cÇÚ-ÿõ»+H‡Ehþdž·Èôñ{$‹ š¿ó“†omßKZôwΜ9dqq±ÍvD™Èå’›%¡¤zÚ4RKÖ‡„õ2}ÿBCɪÈH2'.ŽÔ½ñiúÈ)¦T*Û}Ne§Üù]åääsæÌq(ïÞ½{)Ë$&&’:®ùï‰'º­­¦žäó8Í\%XrØ„™ä­Ò*J¾þúkrÇŽnñ,>>ÞáX‘$Iz3H{bý[m¿ùÜÉôˆ¨°>Eà^C½â.~=}Yy„Àìä.Ҭƫ6Þ’†NmÉÏÔ' <‰ÁC†äú!al"F ‚Bÿ >¨©mÉpb©“ãÀ»_`“@ˆÉ<z²Xà,ééô ‡"4õñq8/•"_ˆJ½ ¾VsÖý޽غe3 fØì‹3ãáª>üƒúÀdî>É èâ©PœÜhãŒ^ŽzÓ¦>„3fPò¤YWÇé3çQ£6!óf.&=ô-úwåùÖcQ§³ÀÔê7ËúãµWW"0(Ä)ž–X,Ø®Õ"uÚ"\:¸­9îúÃ3Ï`¦¿?mç]Å»wãs길–=Ý𖜶<­WkiÓ?Áâ">>«W­@Ai"úÄÄ'@&ñ¥äii¹ñ±Q´Ú)—yqñømÀœqS0}*N'=æôΨŽBiÎ%,xj!Ný~æÆ³rþ²çfñPk"A4¾Ú,†Œ›Ž=Ÿ¾Õz1‘ýcñ×_vJIb—‹™!ÄÏ> õÝ»  üÛǶ>I*¢1öÃ/¶mÀº¾„\ÙàÈYlÞZó¦Õ³±CF!11ÑîxX8\0QŒ‡ëúŠe÷½#µ5.|±Ó<5³é……ž½Ã)yJZ øüW­8“§ÎÂÔÉ íð„BÚ:÷ôÏâŀЪ(Ÿ·5ÁC­ÊDÇÁüùóí¶#ôó¡UÚl§icÓV™ óRS­¯ »xÑæe ΂ €¬¬lI‡Øæ ºÐúz—Ì» OYžÓúKĨÒ*(õ/ðav‰§‹ïljn'H&EU‰Üm;E‹3Ý¿¿S媋®â·J-’žqN?g5³­¯Áͬ›¸[Uƒ(»SNYOÓº|ëóW­ëà‹Ä(,*Á‘#G ‘H@’fl]ûw\¸Ybà7¬Ú©ªª²ÛnPP¦<”e½þRHŒÔSÈhüþâÅ‹(/·-7[§ƒ¸¸eÉŸáõz’¥RH ¢%~sý:##ÙÙÙ”}ºœ–†Þaa(..¶;.à ¬ê ’S( Àì9sìꥸ¸………”rç_»ÐŽ#~õ öïoˆ) $xvÆ,·ô|qž}t¶ÝçíE­²Ew×®]ƒ¿¿?å‹»4ó“¦@£7Û•³ººÚZΡC¡q‚YK ñIDATCÁÒªql݈¨P"ËE8›€Ö¿[—~ ÖWÐÍ g³Qöå—¨‰Š‚|ð`”KŸž_`eÃ:Ô.fJe§lñ´â®œ²ü;wPVVFÉÓ‚Â" Ždz«®PŒƒ‚Ãá4ÇŽíò40ó'Ao"mêÅh4:ì§-ž’3næ7?çŽÇ†%€dqíê¿õïÊ™ä9.;Ó¤¤$§Ê½±è# «ÖoÅüY¹þ†“{ ‹žû;.ß,DÓ˜øËúQ¶_\\ >Ÿß\ÆV,6ãLJL&iQcÉÓwÚlºðÅš÷?ERRËÎ0»íÊ‚BðáÇÛ)ƒü"‘¨áyµÄõë`< âÊ%%@]]ásšn±!9@" ˃Â2mˆÞ½±xüxœýï/g—€gÛɨÓ°vÝÛú4ìÐ>zô(Fމ„„»íH{PŽ€–ñh÷Fi[o½¿£E¤Ÿ¿û>Üù”*mó ú…Å‹(¹qòäI+Ùmqƒ+ðµY‡¯¯¯ÝºmÕ#I)eáp8¨¯¯o)c£Oðç§–!))‰b\¾°â)•œb±„R/YYY¸rå ¥Üö8òÖÚ7š9"û;Ô?•œ¾¾~”ÏÛýÍnÞÞ<999Éd”}Ù²%ß{Ÿ2?²½ß=iQcÑâ»PèZ–~û ü°ãÁØšÛ ¥„›KÃ|³ü’ø—” âäI˜ 5›qÜ`À~½r 0a„v²SÙ)[Û„÷v| E¡xðüŸg‚Óê%“ËåÚí7›Í¶ù]ÓÒÐðŸÆØ¬,ð÷ï÷ú™ÎöïÇ?._¶±'g–,ý?ÜÌÎÇ¥Ì\l†$$aã†7Õ«…Ô|>~~~”õ8j‡ºŒc}\<ôlØúM»t@HÊv­d·Ã ¶À×fvåµSxBJžry>Íelõ©Á ]â)ÕØ;Ò‹¿¿?ø|¾ÇqFÿ,Ëm9 Ÿ;@ñB@™z”Ãá¸ÄÓÉ­d ëkñú˜Á-Và!«}î-†³ÙXèヅ>>0‘$8<VX˜UÜÕ®²ÃSŽPl³¼NSʪ˜,„U6yJ’Š]³§öǵÁÖJ$»ßëõzÊçå©£vÚrÒ+ÎÔªJoâé+0 é üû‹Í®;R¤Eƒ³7JڽἹi‹ÕgåE×ñÞú8uñ*´F Ì$ «V­¤¬cÍû»¬òòþṕ˜úÄó¨©SC" „Hà^L×^&¡¦è+I—ól•I¨íÆ…+Gޏ½‘Á¿gþñݨ”W‚dó$“¢3¶Š9ÒÇ¥ÙíœN¿áÓ°dÙrùµæýÏiáéšÍŸRòÔGÜ3§Ntا'ŸšK;O=AWáÈ=!ƒ…ùwšg¯¾>~Ø8u&†kª`).”ʆe^WÍAUU°TUYÅ]·©ÕЯYÓnS“]ž~ÜÆçêðãÞ¯°=ùÜ®¨ÁáCÖ+Â1OŸþ3ÃSwœéõë×í/iÖÝÅ›/ýzÙPlyã%(îBqÇ=ÁV,ù >úú &3¸?üeñKxøˆæöšJ,yò)\ʵ>—u#«¹Œ­:fŒB–Tv5 …ÍÏÕjµU¿ ­ü[·àsá>)+Cí€`ÕÖº•#Ô®¡f³añóƒ)$º¸8¼vâ^ݳdë8IQ‘õ¥NgW?TßÙBåÝöŠS((((°{Fh8ë訽^ï”,¶ô1|Ä é‹[Åw‚…ˆØQذþUÔV” Ö~(ÕÕÕV²ÛâÆ#£ûÙ”‹jìl×逧¹H6¨¹Œ½>)nçAqÛyžz¢ÿÜÜ\ÔÔÔxÌOõï*OmEEE µ­Òh••Õ.¿mÛ2îò´-7Ø?Ä-~ ¾óg¢€ @h4àçäÀçüynܧ¢¬¦«hŒ»`LN†19$› S` t£FA”„WÎÃæo[ÛÂ1QVý;uðK¼ºþh[ír-(*wÈÓš²Ô”¹oO[C¥R!;;•••v¹ã¬^¨xZWW‡œœ§®]ÔétÞIÚ —Ë­>iFEi1RÏœÂÒz<¾äMDG„€eÒ@.׸íLÆÍz£ž“Ù ‡ 6›E«Þ·;¹#eóň1¾YFGu8–N‡Á ~ßœð++Ái•\Û<¼lœ$˜|}¡ j¸ÁbäH¨##aiµ«ïÒ©S¸«R—›Íævúi‚Éd²û³Ðjµ¨©©¡¬Ç™v<’…+ÆûŸì‚Ñ`¸<.ëÓh4V²»Â ªqu—§1㦷ÔéfŸèÔ¿B¡€V«õ˜#ÎèÖÛ<­¯¯‡Ã¡¬Ç`0 ªª ZŠlHF£Ñ#Yr¬gφ<ù†yr9Jwí ÊJôÔjÁQ©Àr3,D˜ÍàÞ½ nJ üRR°œÅÂâ `hBC¡>Ê!}­d!ͼ²n;ômΙ4‹vž »Ï4éÅÞ©ƒòyg¡×ëQ]]Ýœlħ½23mø½uõ7¨Txâù—1|è`øútÌ´žSS„ÿüpJ•àŒ—Ö~ˆ¿=;Ç£)}Ûüµ–¢" S*Áþùg…wœ¿¶-üüünþ²·± Þôá,öïß#FØ?CƒœÞ‘#GÊî yíòtÁ\Ú—ž<Ñ¿L&CjjªÇzqFÿB¡Ð«<½v킃ƒ)ë‘H$˜0aeÌ”jC·ðqy9´ ,XÐ::pæÓ§=:ïJX,àÕÖ‚W[ Iv6°ïß zôh±AÓ&㱑ñÝo7›‹ ; ÿþòc è݃Ö>ØW©TŠÄÄDÊ‹H$‰Çzùì³Ï0fÌôïßßaY¯m@j‹C0`h‡/‹cœgp<4ç» Ï£ÇŽG°X— ”³‰ßÙÈia± ãóá;p ÓŽ“ëäfÜÌHïgΣFcBvn¡ÓÉ8î5ž2¸xzóVLlØqÞöu«ó®¿ÿîQÜK»ó®;Åb|0b8ŠdAÐNxCžz A4;Òî N—•œ`cÄØ$Œëü Õuc´Î:[mJ)*BöíÛX½z5Ã¶Ž²O’7½†·?܉»5-ËâÏzŽO¼çyÊàþå)Aˆ‰µM%ÎU‘‘ A¸gÓ,J%$J%†–ÜÒÒ€O>‚:4Ôé+ègê$bbb0aÂìܹ³ktL¯‡´¬ ½³³XRQM øZ-X4n²°X¨±X@öê…ª°0”ÆÄ@Ñ«LMÁê7žž¹\îñ¸UVV:¬#::Ún…Bá± YYY8|ø°Ý \ÎÊ9pà@¯ò(ÿf¶mßÕnçáù‹ \Ï\3`À€.Á{*9鿬¬ ÙÙÙÂS*ýÓÁÓÔÔTˆÅb¨(öTTTàŸÿü'eÌ,,,¬ÃyJ’$ÒoÜr­Ý°0 , '0uÜ8HËÊž™‰ÐÜ\ëêÜ·y­R!švł^(DL†²p;.ꀗ« ±Û¿ÒÒR|ûí·vÏÿFTTTx¬—ÂÂBìÛ·ÏîrrkDDD OŸ>Žß›I’$ÑÅÑ!÷t²X i¿Âí–k˜4 ¿ÿþ»ÝÇ~øáäææz<35je;Ž0xð`dddx$òeË0þ|ʸ£§rÒm*o¾oõY¿aSqæ×ôôãâ~„#ýgffbëÖ­øê«¯º»…35~þ¹gŽ”&Çi ½{÷î6wøðá]BNI¯þØýŸÃËå Y|õ`6ü8€¿¿?FÕ-úÍðÔMçJÞ¾ R©t/‰Z KF, ΕÃîܹàÌ›–‡/ãl6»ÃwXßWÎÔ’—çºó¤È$ä ž~úé飧í,X° KÈI›Ñ`qÒ“ñ’]Lÿ%çüùó:ˆßÝyÚÖ¹¶v°´lÔ4™@ÀðÙgÞ+¯Pâ‰'œ»ˆÛCüá°Ê„GËXv‡˜©î…`úé'À`èÐY' twÐw%úô(-­ÛŽS·˜™r—-Hæ‹6DPã80`ÀÀ ³W›KÃ55ônøìŠãÔf¦ 0`À ó`))éȘƒ%/¯á4Eë¥á=À{î9‡Ë¼Œ3eÀ€ Ñ4{µ¤¦‚T(À0ìI“<Þ€Ä8S 0`À ƒÅ  0`À8S 0`À€q¦ 0`À€AWÆÿÑ*‘-µžàIEND®B`‚nted-1.10.18/doc/docimages/virt_dest_rectangle.png0000664001041000007640000005523611520267216017006 00000000000000‰PNG  IHDR†¡Ã^ßbKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIME× ) éÍ IDATxÚìgxTUúÀwzÉLzB ½WéEQW,«®],k]ë*v°»º–µ®‹Dù‹¢¨(¨ HZ„ô6I&™ÉôrÏÿC0I&m€¨÷÷<ó!7ç¼÷œ÷œû¾§I!PPPPPP8‚JQ‚‚‚‚‚âÇ      8Å1((((((ŽAAAAAAq ŠcPPPPPPƒ‚‚‚‚‚âÇ      8…6ŒFQAÓÈß¡ ¢‡ãVíúF§èBAAq m˜‚]°e1ô9]ÑÅñ&kœv#ÄwRt¡  8†6Œ¡çx8]ÑÅñÆQ(Á7¯~ Aii) èt'¯«UZZJll,ƒá„ÄS8~(s ¿s‚Á <òyyy'- ²,3oÞ<öîÝÛìxO>ù$û÷ïW òæä`5Ï=t;w<ø åne ^AáD8ÙwnƒAdYnQ<å¾°¶E†’÷Ͼˆø a!ñó®,~Xö_t¥3¢ ÐûöícáÂ…<óÌ3Š2þx=†+ðÒâoé=tœ>šŸ¾~—·¿JW4« ÐH ¿¢¢BQ„ÂÓ1,þàuÔIýøbå2Þûà9´X¿v ²¢[…?ï½÷»wïVq²‘¤æÿÒÒ`ÆŒš_ZZËdüÑ~hõPÒªû¸ö/Ó#ÙŠÄX´j >?²•¤Ôa…?»ví¢sçΊ"~äç×üŽAÙÙS`êÕç#a_!Yæ”øŽ¨§ p’p:|ûí·„ÃaED®½:u!”_K~? *Õñs "ä@ è«`ÇŠ¯‡BŒžyŠ_P8YØív.\H(R”¡ ÐêJòz½8ŒF#R„±(9T=èªÆî/áÞGŸ!±ïd&÷2ãt:ÿ0Jr¹Ux<*œNÅÐ4‡›ªéÜ߈ÉÚôK¯WKµ+„ÚÙòå‹ÕÕÕƒAœN'z½>jùñûýx<ž¨Ôm—ËU›ÆÖƒTWWŸ´ïN–e.—«Yie™`0جx†@¸þ@6æD¢÷ûÑéY7Ë1Ì™3‡ ðÆoDt •Äò¯—³é¿Ï±fO1ÿ˜{;?|÷Mº~Þ~å5®¼é6´Zm›QÚ–-[èС:=“Á•¯ÜD®T¨Ôªf°v^/†\]@lo“ãïîN¡T‚>ÑSÛHY½z53gÎl²Œ²²2ŠŠŠX¹reTëVNN›7oÆívGEV~~>_ýu«e…B! X»v-™™™­rVëÖ­cúôæoñBPPPÀÆ)--mV¼ÜÜ\6lØ@QQQİ+V¬àÔSOeJAí|¾¨è.Z¬Y³†Áƒ“Ðæ¾Ã7’––VkÓ:Dˆ¬?Q×^{­D81«sœ˜qíUB§V‰3¯zHøBÇBˆÏ^½_èÕ*áv»E[bþüùbëÖ­užåmbç2ñ‡% §Ý+d9ºr“+²wøšgý|!ìyGÿ¶Ûíâ®»îj–ŒììlqÙe— ŸÏÕüÜqÇbÕªUQ‘µcÇqÝu×EE–ßïW]u•ÈÌÌl•œ’’1gΜÅ ‡Ãâºë®[¶liv¼o¼QlÛ¶­Ñ°sæÌ%%%B\{­:µ©oèÙgŸ‡n“ß÷«¯¾Zצ=ü°*UÄ8­^®Úmd"+Þ}ŸNOãÝ—ïG¯n\dá¾ <ùáüaeQk[àÐÎJÞ¹Á‰×P”¡  ÐºÉçCÛV±xUš˜ö¼óÁ"ÚÇšS VñîÇk™1ý4Eûm„pHÆç(§(((@#û/^Üàƒtó¼)qú‰Ø“¼?òá®Æ_øó÷+ˆé3š¬X²dÉI=ò·lÞ¼™’’8ptì57¹™½î‚“–®²]ñTæKôžiºlÛ!Aqñ>ùxZcôÖ“•—÷cåŠíX÷yš§ds2½Åèjâ¸Ýn222øðÛñÞrrrrøè£Ðh¢w€pFF&“©Ycè ‘››KVVV³òuÌ7QUUE0,8t(‹/¿ü’víÚµXžÓédß¾}ÍJ“Ri¯$(KÈ<Ä7ß|ÃÁƒ›/ Cƃ¬\¹’ŒŒŒˆqöíÛǧŸ~Ê´¬,Ú{<,k…î¢ÍÎ;Ñëõ$''·9#¿uëVªªªjmÚà={ ‹#è/âW3sæLT ¬w}þŽËÙ™]ÆèÓ“žîâìé3ÐjÕhßµŠí*Î3°?P3lá ˜˜5ë,ÔmdãCee%ƒfèСµÏŠÒÕTæK 8û”“–®-Þ û+*9眔¨Ë>ð³Ïz-gMOÃd‰Þdíž—Ê9mb:jºÌ-•ZúLHlÇšaƪª*vïÞÍ9çœÓdyyylܸ‘³Ï>;ªŽ 60vìX&NœØjYééé8p Yùú!Yµì}šû/—#0šc™7b£NÐòÆGYlRšÜŽRÞ|ñ9æ/ZŠ½Ú‹J%¡Ó˜7o.#†k0ž§ÚÆ_|žÿ½ÿ1Î_â™;ïQ†ýꛫmÛ¶1mÚ4Ò6mBÓÄtž(>Ì”)SèÒ¥K›s %%%Œ9²Ö¦éÓÓ‘$)¢þ":‹ÅR¯cÈüésþýÁטÚ÷cÁâÏÓ£Ej-‘‡’LÃÏä7OE’   Ÿ¥K—2cúbc­íÐn5k×®Å`00jÔ¨ˆá &“ ‹År4Ý&ðáWêåó—òéZ ½†ÅG=ýFƒ­ÖU']ÑÂdò¡VËÄÄÄ`¶DϪՕ˜Lf,–¦/5Àl>ªëP(„V«mV¾Íf3†˜˜˜¨.WÕétÆV”Œ­¸b›§;Ðì|ýºOþË ·ÜG…Û_û,tàv¶®~x<t:]£2¼Î ¸q6?ËÜ<çIÎ9ÜMïqáí¯¶Æ5ßW]ÉC7]ËÆ¼7Þû8çÎ<“¢m2ëæXâ}¯N§#&&¦f¥™$—o¡5uÃl6·©4ý‚^¯¯kÓŽ4–"¥UÓ’Ê=wν¸ý!æÎû½;tåŒÎf~Ü\ÆÀi‘½¥Úh"Åhbßî5Çú»¸øÂTÔêã{kzz:V«µQÇЮ…ä.z SÆ(~Ó[.>ȼîgÉWkðøƒH* §M>£ù½äµ–Õq iÇÒä˜Ó:>¸’»óYúíX\Å|½ø¿¼óÞ"&Ï¸Š ƒ6<|–ý_lÍbéêuÄyJøfÉ|Þ~w!§M»œÓöW*I"¢cÈÈÈ8¦ÇP¶oK7ÂÒa0ÓGvåÀþýúÄóÂ-çóq§xúÎÙ3¦Ó3­]ƒ½¯_Ï•W^É•W^‰¤Ò‘™y ÑýÑèN¹\®FÇ1‹‹‹‰Ål6×>³åè©.Ò¢ÏpEŒ[]-SXè%#£2êé/*ÒRUé"#ÃuÙ¹¹.Üî23Ë0ÆDoLÞë•ÈÎÎÆ×Œ‹¹Š‹cÑe¹±¸k6:ìv{£åök q:8p ÕCI¡ Ÿò²r„Z‡­¬œ¼¼¼f¥ à¶3÷îÛø|ívä_MðçÎj¶,„`xÏ4–´¸}ATtèÖŸûî½`e­©zTTT4š¦òJ3F_™0šß‹ÎÇäpë߯ ûPÃó åFbÂ.fv$ž)–IgÍâ¶›¯Žï×é;xð úª*Ì¡YÍÕÝq¤¬¬Œ¬¬,ü~›3ò¥¥¥äääÔÚ´¤òr’ŽØ÷9›ÍvŒcXøÉGÂ2W^3=—§ž˜ÇŠõÙ„ÐPR?®YÍ{ÿ{ ¯¿‹ëΟá ½ ó_~™«o¹ƒ²²†/÷ùè»øðó¬cž÷ž:ƒ§n½mŠËåBÍfkĸWSYYY'\¥=·CÍù˜d¿ß‚ÃáÀfsG½pN ^_›ÍuÙ••~ÊËËÐ{ÔQ“ &RYéDmkúåMÕÕ**Ê+ñªüµåáõz-·ßŸÏGYYY‹7¸ 9ÀwŸÿ‹–|IYe5H*d$F Ö¬´ìß³•/×í¨ãTZãf\ÔlY#Ͼ„Ec¦PTR†Þl¥Cûv˜zÊZ «n=¨Äãñ4š&IÏÞšOAa)&kÉI‰˜ŒFdo56ou„!+ÿyk>ù¥-q¤$×Ä^6¯«IC]¿”­Q–[¤»ã…Ë墢¢¢M-¤ùµM³Ûíµú2¹Ýˆ#ö=B¤yÜfŸ’*´¦.¢¨Ú'>zíAѾk_ñÈßÿ&b»L¹9Ùâí?$LµÐ›ÅÚŒ²7P|ùæ# Q7ºÁmÞÃ5·×ùš}³ð†›¾#ë•W^ ,8®Üž;/Olø´ä¸lRÙ°È#Þ¼1÷¸ÈÞû“MÙ5™*{ ùõ¤-Ùá8ᩉè.\x̃¯s>_³™~ B<÷ð¿™2"®ñ:>}æ9Bg $àHG ¡ÉÎäƒ÷߯³½zó÷+Iì;’ƒ;7ðÁDuIaClÙ²ƒ¡ñYП~ú‰ÂÂBöîÝ[ûÌ›€¿ÂÌ.Gä‹>òòzXSÀ¡êèO@ol‡-SÅÂ…k¢.», ŠŠ±xñJt­Øàæ©)ØÐWv"’.@Õx–/_Ž5½és.¥{²¯º¨Î·_îG®W/9™<÷¯SáöýÊYÈxUf/^Üà>œF—ñ]¹õÖY±âJí.Ô¡j>\0ŸƒCúÿaïq:ìÙ³§A]ŸlöìÙÃ’%K˜~ð í=–67B†Ñ7À zNIŽÕC+ò½}ûvÔju+6¸ z šÍã›6%¶Ue²eË***jmÚÐôt ÁûdFt ]tÑ1Ö#:3tüeôö&œ;ƒ½Û·3dÜiìßò?kà¿^ÄæJA\~õý\rþˆÚ¸•»à³åFÆ¥¥r(½F®ÞØŽóÏ›‚æ8/W­¨¨Àb±pÑEE6nƒfذ£kN vITæI :'òÙNÅKK3>щþîÇM²Ÿ}²‹.:5ê²3¶T°b“ŠóÎëÙڲɳÒ}U¼q‰žÊC±pä.-ΜڅÎC›^¶›Íâe+),)#®}/æ=ù$#úwmÅeQ2o>ý$+6¦×YI$T*ôfëq)ß– xÉÍÎ!¤ÒÓ­kôÚÖÍYèõz4M›É_}ß—Á`@}䘓¶”NFsŒÝh+cÓš ¿4Ó%®¹çyfOìÊE3&s˽sùrÅ7H¶Rl›¾`â”™Ä ˜ÉKߪ¯ëw41:uê„Ë‘ƒÍfÃjµ²s×AdY9½íDR²ÏÉógTòÂ$ ÿûK,K¯#äjù2;!‡¨¶×5JBågÜN:ô;¾wmhôfÎúË9tJ0R˜_@úÏk¸úo0ÿ“[ž&=¿ì7ËK\sË= tò[„Bò׋˜2~4cÇOàÔqc˜vÞ•d+×(D黊ôϵk×68F;îì¿Ñ¾÷PV¯^Í“~Mµ³Œ` ŒqÝËg £(sE Üât”1qâD&NœHÀ_ɺuëPçF‡Âd2±víڈᲲ²BÔ¹ŒÅ~ÐŒ»Ô€#>ò>†òr ûöUJ< ì°"ü:²v†).r³vmN«d†œ&VÝÝŠLëÑö±Ç€£*— v`0·lƒ[òy2ÊâÛ“ É i7IËO?5O‡2ÛጭĜ}tCiiiƒåô:ø÷¼‡ùfÓ®ZC^UYÉüž¢OJËë”Ñš@JR2‰IÓÏçœ ýؼa]+ÊSðûðùè F z]‹ddíÞÈ>A©óèfÇu+–ò G1~lËÏ󪬬¤¸¸¸ÑoädQ\\̦M›]\L¼ßÏæ6”Îüü|~þùçz'O6ÙÙÙ †Z›Ö%7—4`]ýE´)))'ïÚwì̸IÓŠ9eÄ4’ ÝIëyåFJJÊ WŽÅb!&&¦Ñw_vÙeH’T'ßR…­_KJŠº‘®¸Lll))¦Ö{ªYö  WN{«‘$AŸsKh­êömRSžiª3Ì"T>_%HëÖ¡År“fÅ, °õDqþÊ—¥‡¹â5=q‰Mï5جV’’ÔXR‚µueΜ9 ž’úÓú]uœ€JgfêEW´ªžYãyüɧ7n<’J…ZÕº9°ÊÒüøì³¬øñg¡0:£…ÙwÌã¦K¦4KN8`î’/ê8€Ž}†1râ$RâZ¾#99™{î¹'ª'ÒF“{î¹µZÑhD­VŸ;ÒÿûßQ«ÕÇ}H¼%\sÍ5ulZŒÙŒÔˆŽXúöí[¯czlÚ²Øö=Ô§Ë#Ó›‹ÆIß¾}ÛœrRSS±Z­-J›Ù v4ÕbɧcÇDúöMm9äæý9¾,SJ4èÛ·uc˜&‡—©.ªK et1áÞ–†Aßrã·úY;éócÑŽ8O‚éz:˜4¤õmº±ªh={@|ç&JOÉql•5KUÍq)ÜxÏ£réE PÁÖ5kè;÷–f:†–Ø Z ¾`$}†Žçå×^cê˜AŽqޏ8ÐhÚ¤ù]”Tkß[äâù{®à©…«Ñ™âøï⯸pÊP@E²Vm㬟«Š¿ÿŽ×m¤ØîÂf¯æâófDõö<[–H_ãDŸd¤"':r÷ÿ((ϪÛë*í¦ø€Ö9†´ÑîßèañCì_k@m!IqT»å;ö³iq r nÊ:Ї±£õ¸–³5¹#c&Läš«® ¤2ÒoÀ@zvKC׆6íÙ¿‡¾;êT#/ü[ ¤IįųøÃÈ’s|*C‡ "5QÙì£=Zä²ÖmÂåö€ÛÃ;_~Äù“‡"û³Éò0$=ùcjû6ð÷ënfW¶!ÃGÐÞbÕW+8뜳¢öŽ‚ív^¿XOEV<ˆš À…*Z-»}5æD7#­új&Îñ2åÒÖ/ƒáëÞö±ÿóî„<:BÀºÇÃÊ*™ýzR‹dJ*­  cí_ÁUï˜INÑ÷ò6Íœ>õ,¬Vk›üÈTÚt:¯-‰\}ë}̹vfËä©Ôtï=Áƒ+L¡í8†3Ï@Úó!:s,ÓGN@’`ÛòÏ cfÂÌ“·ÆÛn·óé' xî©Ñsô®™Ô„X3?¯ûTfò²sX½z5“'OnñX`E±‡õï;YÿZμߴÞ-2™ë$|.MD«k~«õ›7ËpWúd÷—NÜ¥± ²ýÃW)ÉIpÆß“0Ç6¿è6YFúgÛ?H@üªw ÔdïQñé“e Ÿe Ë€fž)/IȆ2þöºŸ*·‡¤žŒ'!Y«|a€Fgdê´iÜzóTTèÓ}zvC¯Õ(ÊQøã8†Ùÿxˆ÷–|¾Çé´·ªøvù'<ôÀs\=çIƧŞ´Ì$$$põ3xäþGèÑo:o)ø 9%î|üß·#;Ÿt²{}tΫ‘T±ÉFR ŠSPPPPÃï½U¯<…·¯ØëS¢   8†?;%;TÙÕøsbYÿ‘YQ‰‚‚‚âþ¼„ª}, Œ×©!¦·³®3)ŠýÓ³gOE(ü)Q&Ÿ£@UV€Œ-5—Ô ¾UE‡4¢”ß9×\sM‹¯UPPz $ µò×—ý¨.FOA™*>-†äää¨q­V‹Z­n›õ-) Ni|((=†6ψ¿)É*⇗´tÿw{tzÅçžRRR˜;w.&“éO‘_µZ̓>ˆÅbQ _Aq m™âô*Þ»Q‹³$R[€v£«8ïŠE1'ÈPþÙæ”º¥ 8†6ÏÒ›ÕdoU3õ)?£¦Z±tøó &Í~5•”j¥2ÔCÏž=yôÑGE((ŽáOƒ“—mFŒôsÆM±Ä›ÿœÆ±Û¥.4€Éd¢W¯^Š"~7(á­ERaµz!3DEQ¨Í'7©£‰ £7*mÅ1/ÏÀ¹OÈX„Ä›çU³ä"‚AÑfS›jbÚìNè ʰ‚‚Bý(ÍÆ(0è ÿìç¥0ÇHR×Z»r2¡“š.C~ÿËüä&m€£UqB¿¥ººš¼¼<  (CAé1üQißßȈfºöoý¡wý'š9ëæ”ß½NÝ]Néá R9ê!++‹W^yEQ„‚âN&•••8ŽãúŽ¢¬jÜŽÀïN7>Oˆ‚Ìjd9ÊC`Be»_ƒ„Ãá?T~JJJðùš€diii‹â)(Ž¡Õ|öÙg|ûí·ÇõÏ­`ï†Êßnòö;Xò€Ÿ[iÝ+´ Y–yþùçÉÈÈhv¼_|‘ƒ*JlCüiæ<ÍñÍnЭ&ä?N^X „@­‰¾/e‚n-B(„BËq8ƒÁOAé1üéIÿÆÏ²•*ŠPPPPƒÂ‘O¥ <_iU)(("Ž­¬^½Iªò0ô“›u=IzúõH®Ñi›¾41à÷¡ÓNHF8€ÉdbÕªUÃù|>4Ma§ª, žRe沈qm¶xÒÓíx,ÑŸp=¼'–‚ «VeF]vQFŠŠ.¬Y³ ½)zm‡#•Í›s8TÞô ùìý±›*0&×LF !p»ÝÄÄü±vVgeeQTTÔh}<‘!ðx<˜ÍæÅ-**bË–-ÍZä!„ °°-[¶`·Û#†u»ÝF’à÷³¾ éÎãñ`0ÚäQí^¯­V[kÓzdgÓXAC×®]ëÍhUñaî~ø†Nù+\r9Õ¥Ù<=wùA ÿyõeuëÐhb%‡¸ôêëùä›U Çß9$&&C·nÝ"†[ºt)}ûö­s„ͫlj†nÝ"'³9HjjãáZBu²‡ÕE·n©Ñ7Žj²ŒFºté‚1&zó0z½LÇŽiß­ùL²Ò9Í„¥]Í.r§ÓÉÇÌ}÷Ý÷‡r >Ÿ‹ÅÒh}<‘TTT°lÙ2îºë®fÇ•e™˜˜:tèЬ< !°X,MŠ÷ /pÕUWa±XÐh4mJwo¿ý6guÐ8u  IDAT;vlsuíÃ?dÈ!µ6-.. "ê/¢èÑ£G=ŽAæŽnä¯w=ÏMžŽJϰAÝ9|2÷Üÿk¾ûŒd¹Œç_y›s¯¼…Ý’ëVÙϽÝÁ¢RºuëvBŽLNJJÂjµÒ£GFHÇŽë„Ó9Á.C#Q1›óIM§GèïÒT/6«Š=Ò¢.Û_V†É$Ó­[GÌÖèm¬3òèÔ)•®=ôMŽS’ ]Ò ¾sÍß•••X,–FËíx ú(-µ!TzÚ¥&£QG§EX]]}RóU111MúFr V«•N:5+~sâY­Vºté‚ÅjµºMé...ŽÎ;·)gõ umZ||­}oˆf×rç¡Õ|ž­bâ)½Ž8…:ôÇ¥Ž&këJž~cöÝyêÉ'øté×ÇÈXóé‡ì t@(Ë`Ú(B±ù‡/¸øÜ³™4étNŸ4‘Ù·?ŒÍáU”£ð‡'bÁf³Ócؾì' v|Ï´©“yù0qH—Úÿuî2‰µ|ðև̹ìÌçú‡Íf;: U’Áê Ãz¦²âÈ;ND¡ººº6OŸÓ‰Ýn¯În×PåPc³E^‹ê÷ûq8¼ØlÑŸcp8d¼^o£éo ••UFÊÊÊpû´Q“ ±Ûí˜lMŸwr: ”WêåšúRU…Çã9.ùŽDúº/¸öÆ»É+wÖ>;œó çM;ñc·Z¾ÝnÇçóð|E¢¼¼·ÛÝ¢4ÉrMýüí·Íx‡òòr¬^/zY¦¼ éÎårQQQÑ¢ù™aû~­_³Û¹[Ñ1lܸñÇPI)Î=ÈÿZ÷„£† ¤•ŽÜµ¬Ú¸‡­ÕtrÕȃÕ|¶ô¦ž{.߯ÜÀæÍ›ÑëõÇ]9ÙÙÙF6nÜ1\VV²,ãv»«ìX¼e&*­ÅãVTtàÀüqrÔÓŸw0‘Ò™÷G]vIf˜ªÊÞlÞ|0ª“ÏÕÕ]Ùµë yΦïj-Èê‚ÃbÃä­ýàŠŠŠ)7™¼¬lß‘Neµ‡ÄÔNŒŸ0žDK "Ä¿ž|©ŽSHéÜ[…­Ñ:ÔÔúXZZÚbY¿›?o!óp²¤¡÷À¡Œ:M+Ú$UUU¶(M²,c³ÙHOOÇëmz¯JAii)»víÂårE [XXÈÏ?ÿLŒÍFJ •rˆ¹¹¹lß¾‚‚‚6ç²³³Ñjµµ6­_A½Ø÷9†Y³fㄘÆËÁJ-7ÝxíŽ~|ÛJ²k@‚áI>ðîš÷&7^qVáÜú=?¤vÂYQZ»r¡¤LpËA£9¾³ùX­VfÍšÕˆq¯`èС >¼öYþ°çÁs#¿ãÐÂ|Fê¸YÑŸcØèö²ÛWƬY£.{ߦ2?ÈÌœÙ'ªs ÛžÍãôÓûÑuhÓÿ† è?­îÃŽ;.7æ›çóß×^%#§Y€Z£GÛƒÿ>wW S.óéâ÷Ù´c/@Rѵï0žÿÏk\0uTTt³sçNöíÛ×h}¬·uZU̼þƒÿ}¸‡§ÆéÆÿ”ÎÌ/–sꈖßûPZZÊZ”&Y–Y±b“&Mbäȑ͊÷í·ßrúé§3lذˆa7oÞÌôéÓI]¿22Z”ÎãEff&gœqF›œc(,,d̘156MøôÓZûÞ"ÇP’¤ãŠ›þYïÿöº<„‡Ñ¹GúôèN|ÜÑ:‰#&óʈÉx=>ÿüs®Ÿ}ü‚‰ÁSégÿ÷^v¬v ²èpœ€ž~Öî­ÜzÛ}²]"ù[9D£¢]×ÞÌ}xqIíˆMêÀøñ§Ò£KûVÈåäÇ5k9\PŠ7¤"Ü‚96Y–yñ‰y¼ôöRB¿ŠïrTàr{”J¨ÐX‚÷ßot%MTψØà;pê¹Ó°vÊg+¾­÷ŠŸZFyy9\pï,øŠ¯¿@q¿sªòªyûZ™Ì,Ž«1…’•8¾Gnç•“û›!Ÿä®ƒ¸õ×µR²Äȱ§1}úôÖ'R„YûÕ‡Ü~÷C¤Ì£æ¬B‰ISg4_”d㞃uœ‚¤Ö2í‚«;z RšÆUWµÜ1,[¶¬Á nÇ8¢ “%ŸlARéÒ%•/–-‹~ìØ± 2£I×_~Þ`¸òÒlÊìÇŽQââéÚ¾]ƒgw†ƒ~òssÈÉÍ£Ú § Aýzc±X"¦kÇŽTVV’——Wû¬:;o™‘ÃrÝ9†@µ„}_"U‡cP™ì7 ÞœK)Ñ?53kÅÙ2Ÿ}¶-*ò¹ì{ñ94ø%ÕÅÉ,_¾±ezÏ+#)ø¡Óoj—Ì÷?®&6§é-Ù‚]É¥kÆ©Ýn7‡â³Ï>«7|Ia>íRSÔBB"©]'Κy.޼Ý|–·»Åú9xð ƒ!*§~:Ê yjî£,¶×éA”W:ÌW¤CU•›^=ºâñÐèô8ŒsNÂ÷+¾h]:233›œ&Ÿ»šÜœlò „Ulß±‹5kÖ4:Îîó‰—_ˆ?,±kW:={þ@nnn£Ã5+V¬àôœR¼^V6SwÇ“½{÷KJJÛ;.×®]ø|>òòòd™YÀþýûɈ ¿ˆŽaܸqMÞÉ·ògÈqø˜|ÙíÜ}ÃŨU‘Š«,›Ë.º’V|qƒÛ¿Ë¿ÞL?æù°K¯aÙ Ï ¯ç5¥y{™sÏ?Ù¼'ŸÎ]»“#³nÃ6Î<{ãǘ®ÜÜ\ À!CjŸÇjp¨é;¾ûQ‡uÐÁ{š¨Êh‡t¤U,$?ýú6>.ê…»½D WV1~|¿Vv%ìyÝɦÛ#\Ö#&*Dû‘ÆŒ‰ÇÓüUI"$ý‘ºyRA—UqÆ_OAÛ ‘Ûrô‘†µC¸ÖXmܸ±Ár+**bø¨ïyì±yèf,–ÔQØ}ºzõjú÷ïßh}i’Óܾޢòª:Ïâ;ôæá'žeü°žÍv K–,áÉ'§sç.¨uzbLƨԱòòrvìØÑ„<ËìÚø O=óy^º÷è ÞR2ÑgÐ`Æ ;¥Áx»7¯â™gŸ Çæ¦[Ïž¨üed(¤÷ ÁŒ:$â[׬YÃÈ‘#Iýî;tz}TÊ&Zìܹ“áÇ“––F[#33“!C†0xð`$¹faLZZ‰ôÑ1¤¤¤4É1TÛóâ› èÐk,o<;—öíbéxéþ§Ù²ÿ III—«ö0’ Ž•×oð RS’Ñý¦G#d·þõN¤ŽcXòä îÛƒÌMK8kë^bÛµoÔ£[,ê„óÇÕPûHÈ|xÇ~KÝ‹Z"©]<))ÉÑ)Q!(ËsávÉYÂhô·ºErx‡õ/$!ÜÚ_ šh0X%RRRZäf>XÅŠWS^ 0Æ«èsއóL%¶™··Y-˜ñG²©Õj1 æÛï÷£7èÒµV«5j“ÉdŠZ ðÔ Syìþ°hÙ*Üþ0i=pç½s8kÂpTÍ\E‡1 $%§Ò«wï¨!&“©Ñ<—åïçÑcÄ9×ðÆeеC"Ë<ÁíÏ|BB„o¬¢(“Gæ<ÊWñêåÒ­c2+?xŠ›ÿ?âRÿ6M&IIIŒFP©š_6"Dæ”–Û ŒíÒÁiZ¬;³ÙLbbb+ê‹LVævŠJ]ÑÓ)SºuiqÚbbbˆ¯IÛ‘;@Ìf3æimõCÀ]Éœ›¯Æ¦éÊ⥋èÕ!¶Ñ8ë¾ø?¶U'!7aòíê[çsõ­MOOÈ—Í»që¥w’µc-ÿyü^¶ìÊà¼ëîåogOÊ$‡”d~ÓB0êf;NMŠÊ;*óÜ|ö¨Ìµ¸ª–þ3Z?%d/ ðÔmaêRíÌxXÁÜrùÃ/‰£ÿ e…>L‰:SR”+z~ѯ9–»æþ›kï¨Ä㓘€^ûû=ñÞfÛI¦ÝÇÕ§ôå‡/>àë¯W’Y`çÞyÏ3z@¿=’]d”¹¹rXÖ._Ì}_¯$#¯œ{ýcô=îé–ÃÕ<ýèż·$û˜ÿ6ïy~|äS!xé™KyõÝcï¥vÏ£l{nî MOÄÚyèСˆ=†€ÏÍ[ÿzˆå{ݼðÊót0„9tèPÄz«òølc6ƒº$ð-5ûŒFc³¤å¢³&ðÒœ;*5]zâΟä¬)ã)+)¦¬ÑJo#??ŸØØ£Ζ¯ÇY¬Á|èèÞ†>—ØÙ¸ ‘[Êà&íì F^—Da±«Õ9»4||}"ù[kŸoyu£úm´À»‰á¡l :կćÔ;ZÈÊ*‹†ú 8¡ÊÙR£cÅ”ë¡Âô¬¤ªªªó]RR‚ËåâðáÃQ=h¯ªªŠâââVë»>Ü.gË›,ãt:ÉÏÏúÆÐŠŠ *++Ís˜®Œé•Ì}7^‡FodЈñ<ñ‡;|`Äy‚@8Sûv`ÎMסÑ0|?ûãG"7'§Ie’ÑéÄ ‘Ó̲a’&ŽvíÚÛñ{[UÖäææ¶üV>@–bëM[L8Ъ´•••ÕÚ4I–éAÍK{™C^^^½“Ï•å%ìÚþ3?ïØÏˆ‰ÓxãÒAèµr£“G"äfÑÂ¥œÙe|õùRòóó£¾ÁmÖµwsÖ¥>$µ½®f]¾­¨ É\RRRg’ºªØ‚§Ì€6÷¨áL›&{ yt¨L~4ú0å¶|Ê£þC+cÉÛÚ¥N‹[HAÔ½ŠÉÍ­hµüiOI]>„ Z‹I%Èϵ·‰ÖhEE´vŒþšî¾ËåÂét6X·ÊÊÊp»ÝQ7”N§›ÍÖh>Ñü²ù²¸¸8ê‡OVUUEÔõ¯¹ãÑq£ÏF£C{¤÷S˜×x¼Ûy–ë}>Ôºfăšù¦‚‚Ò\.ôáp‹Êæ²ÙÏqÙìúÿך²þes`k®k=ÿÒg8ÿÒè§­²²²Ö¦ý⪪ª"ÊŒè&Ož|LÁVÅVŸ—ÓÎ<ŸÛæœBJ¼¥éýÖÕ,O!÷p&¥¥5—Î<ìä–/j3ËUsrrŽÝà–pdƒÛ”“†Ž{ÿëÇ_}äÃ×ùre×Ì„ɤæÌ†è?¾î·µk×2eJýÊÏÏÏgÙ²eLœ81ªs ß|ó C† ið½'‹p8Ì¢E‹5jƒŽªìÒÒR¶nÝÚæòü «V­b„ ¤®\ z}›Jç¶mÛ7n\›Üà–‘‘ÁÈ‘#klÚÇÕ½{wºGÐ_³:S:õ`F§–j˜8b oŒ¨IŒ²Á­aúžeදÜlûºOPÅ 3, š”‚A¯èIAAáøsRfÀ~þi¥¥¥Ìœ9SÙàV’Š^,ôš`Qt¡  Ð¶ûï¾{Ün$8p \¼ÿþ‚6£¬¬,ìv;ééG÷N¸sðÛcØnÏSjÌqƶ¾»« Ñ'ÔlŠóûýø|>Þ}÷ÝzÃÛív²³³Y´hQT1ìÙ³‡P(DIII›Ò,Ë:tˆeË–±mÛ¶¨Êöz½¸\®u}²q¹\,]º”©™™tôxXÒ†ÒYZZÊòåËÛäMƒyyyx½^ÒÓÓ‘d™«íÛ·³+‚þ":†Ë/¿¼M^Uw¢)Ø)aÏ—|ŽŒÂñå§ Š~gâ:5í¡‚‚¶lÙÂ%—\Òè®öæ°wï^&MšÄ™gžÙ¦ô‡Y³f 3gÎdРAªºqùå— Þº);»öo…fU ¸î:† ú‹è´Z­â4jÐjÕJÅ:ΨÕ5únêniFƒ$Ih4´ÚèÝ%¡R©P«ÕQ•­t©Tª¨ç÷wÅ›ô§Ít§R«QEПFÑ”‚±̞=›ÄÄDE ÎÆ°¢…céÛ·¯¢…?oÇBQÂï™ØØXþú׿ž[ÛÆH€ŠóÎ;ÔÔT¥ð”ƒ‚B}X­V.¸à‚?M~%IjS7—)(=Å1((((((ŽAAAAAAq ŠcPPPPPPƒ‚‚‚‚‚âÇ     pÒƒƒløîs–¯Ú€/¤œ@ª   ð§w Kßz†³ÿr!çÎ8“Ÿ‡°,Í*(((üYCéþ¹åž'ÌÉtK‰á¥GîæÛô"E³ VÇðîüW°Ë1¼÷ù·|ûé˨…‹åK>@é3((((ü>iõ!z?.]ÍôËnãœqD4j »¥„h$EÁ ªƒ=¬+qsá 7 ’$„ìGÝM1¨§ ÐpÍÁe÷QVàÁí )êPPø#õ䀀,èÝ#€¢+ ‡C 5KY«P/ÞJ?ß¾TÍŽ/TØm!’{k8û)ÃÆÆ(ÊQPø=8†âââˆw>‡ƒŽš½¼”"¯Žgž~•1Ó†ÅS\\ü»Tˆ,ËH’„$íò”•kpØÕûÿHvä€d5h¨4ÑYf,Â*D@RIäWjDöÃg·Hÿ"‰šÁª¹´¯€ª*#¥6?¾#éB „hów ! †’„öÈ=Ô¿»*ÑÆuýË·çñ —elmÈÆÔg7ÚdÚÂaÚÕÕÕ¸"è/¢cضm[#è$‰­Û¶òÉò…¼¹l—Þü0ùûv“ßxrÙüãjFœ:µZÝf”¸~ýz:wîL—.]jŸ9Çâ-3âÚZò‡ð žÊëßRSµ§" ‡Ø"†ÞZAŸÁ†–Y&k£ÿמpy ¨ý˜‡dÊMZŒÆCS°)–]_œŠŠ_Õ))L µ„­[k*i~nžô2 EÞš´z<,_¾œ‹.º¨ZS™ì;yábÙ@RÓwØ©Ü|ÝX¿¯ËêN'ß}÷]›½øèÓO?eêÔ©L(/'9`ëÖ­m&m+W®dĈ$%%µ9½ýðÃtïÞ.]º É23¢¢"2#è/¢c˜9sf£­‡‘±ìž*>ùü;º<›Ÿ{ˆ¤&|{Ö|ÌÕ¯ý—üÇžÁd2µ%Úl6†ÊðáÃkŸåï{ 9ç÷ïüo^ìÿ!Ó/ÚÛ—˜Ýœó`b‹åîþ¼‚Uÿµ`pèŽÚÌ{0ú-]N©¹v3]íf—FF„ŽÔ)u´©ÜôÂ’F°Áý§B|çš •••lÙ²…sÎi›Êß¿ùî¿í5öæ•Õ>Ûôã{ð!¦Lþ»ª¥¥¥ìÙ³§ÍêzãÆL:•Ô~€ýûÛT:÷ïßϤI“èÖ­[›Ó[^^cÆŒ©±iá0}úô¡OýµzUÒÀÁq:žÁc0TGÍA¾~,ÿ¯œ€¶CMÜÑúÓÙOÒ7íz ¢aÀÔFŸŸ„ÕÚÚj(¨*/eçömäWе÷@F„Iߺ{(è'çPÛwîFh-Œ=š®ÛÕΟ^žxìé:N ¾CW:vn ݪ«*Hß±¬¼b:tíÃèQ§`1ê•F!"­ú"«Ë³µÐI<þÖÆLkBÏ;ÈÂÿ½OßÓÎdõÆŸ”ˆîR n °ë +„ãøþÅRY—@bûºÆQÖ€P SÛjï:½œY·'78T²ãÓ*>ø‡gQ$à•Ÿ‰—sÙÜ”_< ^!ê$m|5³ž“éÐíWFH’0$†¹ôÅâ“Qʽ̶5_pû÷ñSz&²ÞÄ¿Ês^Ób©>W9/<þ /¼±ˆŠjúŽeå—Ÿ2 g;‚Á9•^Ô*aY$ÚuaÞ“OsJÏ”“î2¶ÿÀ?n½“ï7í&,*ŽËo}‚/þSùhZîÞzë­‡’ä—Ï?\Èæ ;¦ŽCÑÙöó¿·4ú‚¬ÝäU©©.¯™…xûí·Ñë£ß‚ ””Såp ÉÄ%µ#­c ªF&‡Ö¯_ÏáÇٶmÛÑN~"Š6—æÖ–q©.ŒGSÝ ¡©BêP@l²†¨Ì? AU‘Œ\ÞUÐD(æ0–î~ô:Õ1á >šAÉëô¼yZ½½cНNp{.øÆ!¥ä£Q… ¥BºŽ–Ô_|íÉüÏ™G{’¬gçÊC¸;,« WèLh@%ZIƒl(Å4´”,§…Ão•UUEEÃxá,õ+©|}v” ‹w×8=·›ôôtÞzë­zÃ;«l¼ñÒK.®8ÚÒ÷{øîó¼•lÐh:ìå””–á†ÐÍtNëŒI¯«ýÿOßÅ/'ø«ã]Šïâ½ù¯Ñ«{MoÀï÷ãñx7znÖÀ ácÑTç5˜Þ¨ÕïP€â¢BªÕIE|b Ú¥Ô.÷¸«˜ÿÊËìÍ.úÕ7`݊żÕ/¶~]:ìܹ󸧽¥ìܹ“÷ߟ™tv»ù  ¥sóæÍ„B¡69ǰaÃŠŠŠjæŒe™ë­[·²=’þD=\{íµápX4Ä×ï>%T*I¤tN–NÓE ÐpØ_ð–·Ü6GdçäŠx@"ó`ŽeYDgE¾˜só¢cj²èЩ‹èÛ»›HêÜ_d•;;þ|±uëÖ:Ïò¶ ±sYÝpÕENñÒŒ qƒ*$n@ˆ⎾EÂYl}ä°Øòa…¸3ÕY+ûz•W|òœíØ A¯x G°6Ü qƒÏ]bnϱer`[™xrj‘pÚ}MJÊWÏÙêÊFˆ›,±ñÛê:á:õÈ݈(+k·]<>¹HØmžìŸ/„=ïèßv»]Üu×] †_µr©PK’j–¤.âã5é ċ뾧 ë+ÔRMxÎ(î|ìGu*ûŧ¯#SR©Åä¿Þ"*+>Ü&õöꫯµi¡ ÄcEŒÓ¢¡$GÑnnûç¨ôVÞþà}.žö7ʃAÚk#·üƒÕ2“&ŒdçŽíÔ´v¤{·Î¨ÕÑYæ%D{®º„-åFž}ý=&OCuÖwŒšv-»nº'Z£Òš_t̾¯êéd™ù"ÌxjævýX….ÑÀ˜sHjì<@îFïÿÝ‚¿úè0$¨Êp#SÒâÊ0'Åá÷‡Ñ™]§WqŋɘŒ­_v¨ÒÐÄ;Ñ 'sG73ž”5ÕÚ&ZC]»ô¦[ZG\^?a!Ñ®K_œ÷ç6¨Þð¶Ãû¸þªëÙzøè ³PÀËþí[뎌xéèÛ»é{2…„Fofò9—ðôã÷“`Ô×ü„Còs±cG:!µ‰á#GÕ™×Á§o<Ç}ÿ‡À¯z3eùY”BÿNX­íèÒ©=þÀ “Ô¾w>0—Ù³N=>WB°dÉÆŽKZZZ³â}òÉ'Œ;–N:)c8¿ß9Á ßÇár—Üùofœ:ƒQqðí*®:%5bLK¾\Ø£/ÕÎr¶oߎV«eØÐÞ¨¢¸M:äÙÇÒõ;¸ê–»IPUóø}·òÕ7«=c6SÛG§›'‡|dí0ÿÆB‡éw©S’µÁy€wo°û«£ó«_(fÞúdb“êCÁ~ê8µÕÁ«ë—W<Üü™Ÿä!>-†ÛÍÕÔ#g—1éÊXÜ~è>(£¡í,/Ö™c>z,?6•ÎLÇŽ1è®Ö»³²ê8€˜ÄÎ\uëuž¬‰¼ùæë < sl©É ïê~O¯ÿëQžyémlŽšF@‡^#XþÅ2NéÛñˆãð³àÛMuœ‚$©9å\FŽ;º J­Õ1tähþûú«T¹´ïسAwüf4„`ÕªUtïÞ½ÙŽáûï¿§GŠcø½8†ú6¸ù*öðò¢ïPéS¹iö,JKŠé32‰ÅsŸ `L'úÁ¨!}ÐDØ›±w=íÚµã…^à»Õ?1S¯‰Z™2j /?ý$ÿQ«éЭWÜúWþmÎÊrœõ†ÊËËëlÐ+/×â¨TS\|´;`ê¤ÜfE¡vÓašé¦`¯¨o¯ƒÄç×ëØýÕoz™в‹ñëC¥|j?*$$r\)ç<+Ѿ{ÅÅŽc{">•Än2त¸á\–—;ðû”––àò5n(œNÏ‹>Ù„¨ª´QU_o(¤¬¬m„=GåeÕ:l¥¥øBõ÷.«&l6?>M¸¶<Ünwƒ&m6>TZL•e‘óS&ÁjÆå A\JWî{ô1NíŸZçn·/„ÉlF„ü”Ôó~¯×‹×ëÅf³Ee/ÎÊwžgÎã¯Ô1ú%‡÷³oÇvÚÅÖ|‡²,ƒPcÄí "©4Œœtÿzò^ÂÎ2~)z›Í†ß$(«0› 8++­ûååå¸\®mN•eÇsÌ·Íxn·›ÒÒR,mpƒ[uu5eee †6gäNg­~%Y¦­Üà¶uëÖc6¸}ºøu\u•Y»xê¹wYðM.þÐë¬ZaYÆ`Žå–ûã´!]¬'%ÞÀýwÍáéW^gûö†7Z|ñÑ<–}“{Ìóî&3çÆê¯€IDATêËë=¨/±Çp®ï>Œ©gœVS“ÅŒôMRbNN’$á÷ÝåìÌŽÅk3âL8jô}Úv º%‹¾£-ÈúJd­Ìý !Ù»ñ¬cz½Îµq¨(Q\w×qNv,§è7$!#íIf[jr¹:³;=s¹«ÑüÙ²B8½Ø¾# ƒ¹ñ¡¦¼¼dv7?ÿ|8b8—«=ûöPèñ4lxrÃ8=Ù±3 “µþwççtÁoÃPè­c ~þùç™Ýngûöí¯tÊ8p€ §OåÊ+® ,:­I‚í¿‘_RRBff&11 Õá÷û©¨¨`×®]µC£­èëò¿ÏWÓvÚY¢6ÿ²,㆘÷ÄStèЕZƒV£¦"?‹Šü¬£CKeeØíöõÖP£¨¸¸¸Yq~Ýò///gß¾}ƒÁfÅ+++cïÞ½ø|>k¨îܹ“¸#ÜZ’ÎãEAAééé””´½M°¹¹¹ ü~?’,sPXXHf$ý5wòù–i]…Jc[ bëÊE"Ñj‡ Ö´ âý=Q¨%I¤t?EäØ˜d”CâÅ^!T’$ÜnwÄIyw«3öËoÔì›…7\ÿ¤õo¼!æÏŸß¢‰š¦N>¿ü·ñýM’éqÄÝinqG’OÜlö‰Û“=âå«‹„ݪ7üºEñæ MŸÐ|x|Ž(ÍlZØæN>¯xÉ)Þ»7»Ñp'kò9//O\|ñÅÂáp4)??þøcDy¿ðÏþS|ýõ×ôdòÙïó ‡Ã)|þcuõìÜ9"!.V$&&ˆ”vÅWýC.®¨& ‰+¯üÿöÎ<<Êê\à¿IfI!ì²HYH! PT(T@¡Y¤µ¸¢ôŠ­—*jµÔª´½ÕV+¢W+d1JØ®EA ( &d!™$d$$™LÂ$™ÌúûÇ!$“!€ý~Ï“f¾³¼çý¾9ï9ïûsŠÔÔTõйsç^Ò³9Ág·Û-zè!qäÈ‘KηxñbqìØ15ø|-Ÿ‹RL„LœÇÈ~]yjé߸ûÙwxaŽ–þñ˘3ÿnîZ0÷m?aËßò¯÷¶ñÒÒ_^TFêvðá 9•o™ó—30ÆtÑ÷}"†¡»†ö£Ñõ¬fÉ6–…Þ!ô¿Âq•ÎÓ^Ë'odíqºÌLÿ(–>ó?hŠuô fÅŠ™<õvºö ÿu½ÕgäJÆA+ïý뽸?‰H˜Ç²„Û¾?Ù„“kþÈç_•_tmÐm ,Ÿ—Ðyb ŠrñÆj]ºh™yÃõhT¥•ðØ›?' « ­ë ûËk™:0ˆß=²˜÷ý–ÏŒ_³Üý‹îkU!Û1ý§#9¸{3Š¢´ZOq7Î$îÆ6ï4­"Ú°˜§r=Mm/”IJ³Ê¤Ùõ®é†Àëº2h„á¼èJ›‡ åÒä‚ó2{ãÓÍÒ+^éÃûvzN'uK]‹Æ¶(Šâ±~q~pá­Œ—ÒžöÒ5/ËS:·ÓÊߟû zm 6×ù»~ô(f³›}Ÿ¾ß¢<½C†„µùŒ4è£=ÙÚÓÛåêÆS}—’¿!­·ùêÑ´Ñ?yÌë²±ÿó-¬Ý’ѵ ÁQ<1cÊetì×¼×NîObõšœ‹®ÅwÈssg\ÙŸ†ï<ÈêÑ0$&&^|®Л#G±zõjªúôæí¾Åèàwñeõ‹¯rfÌ ìç²ÁLY¼—¸ßó#{¡8øê³= 3‰_K‡ùÚµk¯ø·ƒvx‡È/¿ü’‚‚RSS›ŒYQ/ìæ®35Å:NŠÀüŸÓœª¯÷b´(¨4ÿ„|‚_Pû³¤ÒÃ}1çt!1q·W2—— )ékü®³´›¶²JJF²~ýN íGODí9‰‰{=¦+;Mrò7t=VÓfšªb()‰gûðoc[ÅHÒÌgÐ÷lZà–žžNbbb«éÍf3§Nbݺu^ÅŒF£Çò8q⇃’’1†¼¼<6mÚDÏž=Û¾?E¹¼¼r]“Q4_®úr:tN×n‡Ÿ››ËÖ­[=úØ+++)((h·)Oœ8qIyšËe4Ù¾};iii—”ïäÉ“lÛ¶””iSSSÙ¸q#?7¹¾®Ž—(§Pìh QŒñÛO}MÅjwGEÑánB¸±k"?¾ßE×zÖ™/K¶C‡QVVFJJ EáAàøñã|ë©ÌK1¤ö¾è2F”³ sAºHzÿ#!„ËKžY!!Dþï ¯F,eS‹¼‡ÿOÌ¿ûñúÊ•âŽ;î€xmåFátº¯¨O­3ÆžY,Ìg½óë«1†VŒáÈ¡}B¯õmŒùjubÌ”_ˆüÒªéV­Z%=–¥ÆÔC§Œ1ÄL¾‹_Ŀͽ¿ùßø#³îŽ ×ÐÉl;QŒÕZËkïl¢Kß>ÐÒ/Ö{ì46@½ÕʶmÛXô@Z­z¬ÊC— n¾é'Üró8L#nǼ9 ôêÖEUŽJ§¤ Ü|xåÍDf%ÜÁ”üþÙ§?*Šá=9½g3 çþœoò-¬Ý¼Ž!=ZŸÚ=”ŒÑh$66–w×ì࿞§‡Š¢`³ÙßóÏÈÈà›}¹(–Yô#Ó††Á!¼ðç—ÕCåÚ5 z½NGVVV›¾úWÞx‡7oäåß/á67‹‰úêR,=—°vù}ôëáOvVV«y{DñÄQŸssW´Qeeeøúú’ÕFýž¨¨¨ °°€€¦•Í~XJ´²j›ùc¡´¤–¬¬švË´×»±ÛüÉÍÍ!°ª}[\R¢¡ºÚIVV­W2××éS§0»Û߯¼¨ –ººîää˜èÒ­ým©Ë˵˜Í²²Ú~ÇÜívcµ*¤¤¤ðUf.yyyäæ6ý[^^Ž¢(héÂO†ÉÊy„žæÖCéÙîèóê¬s6ú½kjjÚ¼—gÏž¥¦¦†œœœ÷¬Íöa6›Û}6Ìf3gΜñ˜®¾¾‹ÅBnn.µµmß«üü|,K»u–••a0<¦S…sçΑŸŸ^ßöÅÒÒRzk«ÍçÎëÐïFQª««)(( 00°CùÚ;—¥A×~ÕÕ¸\äv@Ϋ…Ùl&??¿Åú§Î‚Éd¢¨¨ˆ€€4ŠBäùïLô×j/õøã3yòd***<žà6õŽùL½c>.[!·ÿü~Â߈³ŽòòºïM‹­VKyyù%ç3f >>>-òšÍXÏùQ^Þ´ƒ§ÍÖs–s”—[½2 .×@**LÔ»}¼ßúz ååõ^ÉìpôÀdªÁá_ïÅlÃá ¢¢[ûFª¦¦ÛùEf58Nl6µµµäææ’žžNVV&“‰ðò?’xß?¨F>lƒÁ€ŸŸÁÁÁDEE1|øp¢¢¢°Ùë(/··ÑvL¦*ê}äu!óçÏoó^šL&l6ååå^†ªª*¬Vk»Ï†Õj¥ºººE:!„\en³QSSCff&………”••y|ÙÁl67ÊèY×5ØívéÜn76› ³Ùì1]s½x‹‚¹sçvèwÓ0ClO®ÖòÕ××{•oΜ9¸\.êëëñS”Éyµ˜:uêEýFgaüøñM²¹ÝDµµµemµgˆˆˆ ""¢íHqa±Ô¢5øpþÐ!økѯk&Lø^‘™™‰N§»brœ<‚[³âRúÕ‡ ¶?¢¯sòy× ÆGëÚËç´w¹… ¼Û;fOP!cÆ §oxûi]Mœêá䦛†Ø£uY\.6› ›ÍF~×jr²òÙµëÙÙÙää䟟ßb•ª^¯Çî·‚.½b‡ÞBll,±±±DDD0tèP‚ƒƒÑj½óZúæ@ôئÜÚ½7§O“””ÄÍ7ßL·nÞmìWPPÐî³±cÇÂÂÂˆŠŠ¢  €ôôtÒÓÓ1äääPXXˆÝn§ÿþÄÅÅÕfYÝ»wgïÞ½íÖ™žžŽ¿¿¿Çtn·›5kÖ0zôhFŒáqf´iÓ¦«þ[Š›ÍŽKQè{]?FÅ7ÞèE>iH\Š _¿þŒ5ŠQ£FyWéûïƒ^ÿ½÷3×$çOp !ăþ:´UäÖÄ?³lÅjzŠæ_k×Ò FÏ?-nG±ªüïì»±Ûí¸\îåoåÙíöÆcf999äååtî&4è)ülZ­ƒÁ@@@Æ k4‘‘‘„‡‡êÕ+£Q‡6›ÒÒÒF|òÉ'lÞ¼™êêjjjšÜ…Z­???ºuëÆàÁƒ3f AA'fâr¹0›ÍìÞ½³Ù|ÕêQÜN2bÝú ù6 ›¢£¦¦–Gi?ßÉo³ný9~‚z—/µV+‹^¤þ ;2 ;_~¼‚Jò ŠøëªUlxy9·…› ]×hU«WzT&v»»ÝNUU'Ož$--“'OÊý|RーºN§ “ÉÄ?ÿù>y…'ÉÉÉ!''‡ŠŠŠÆÅb>>>  þ‘§ˆ‰‰áÞØå 6Œððp†Ú©:Co Ãá ®®ŽÊÊJvîÜIzz:™™™äää››Keee£|}}uMLLL£+,<<œ°°°Kò¥_mãV]]Íøè£øôÓO)//gذaÔÖÖzÜï©#u9ìV6¼¹‚gþüÃãI˜yöÒ£¬\Ÿ‚¹ÞŽÛí¾hSA·ÛÓneÓÛÿòWÒèHf&àª8Î?×þ› «­Õ|*×aès¿ÂÇÇ—=ÐÅG·SçR›ó½7ªk×®^».:›p:Øív,–öïß‘ £¸¸÷ùé F£A¯×`x’üŠ¡ô×n6g ÇòvñÕŸžGÑ8Ðëõ ‚ƒƒg111„‡‡Nß¾}=Æ™:³kjj0¤¥¥‘‘‘Ñh$;;›’’Ö®]Û¨Ã0xð`¢££>|8Æ kt…õîÝ»Óé@Qªªª8|ø0IIIìÞ½›ââb4 Œ;– 4º+Eaa!;?N䥿¼Ã]ÿõ$qa0•ñÕ·Ùtï1€œÌ B¯ëCddäE.¿][ßãùVñË_?Á¨ð˜JOóéñ,ºõ''=Þ==ºäT:¹axpñ³¬Ú<›á·.䉇pÎ|–g^XÅèÛîᣯûÞuÏ=÷tzÅ»\®FFsvvv6æÔÔ±lÓßÓët: ½{÷&""¢±oˆy»—}Tü®Ÿ™Æ¢n÷Óè ¾&Gk ³©o¾ù†‚‚222ÈÎÎÆh4RXXˆÃáh4:½^Oÿþý[è°A èÔ:P‹Å‚ÙlæùçŸ'%%…ÂÂB4 þþþÄÇÇ3wî\fΜIlll‡Wÿ{bÈ!L»ýþü×·(ÌÍäÛÏ>"%3‡ð‘ãùp×›ÜÚj¾¦O›À‹/½Î鼓œøb+ߦ q[v½Å„áajo|­†!c¦‘¼ö5ý÷rÆþ7þ=‡ÜÀ‡®Dç«®G¸p m³Õ£¸Ýdggqæ@ééén  _uÔjµøëñïÙ•Q!£Zøñ#"" ½¬-DذaÃF¿•••ìÛ·äää:Ôëõz‘CBB<¾êÙÙŒA]]©©©$%%±k×.òòäöÚ~~~ÄÆÆ2{ölˆÿN [XÔDWý•m{¾fØm³yú/“™tËXüõžëz kÿ÷¶~zˆ¨Éw°ìÅ[™4a]ô¾Q \ÅÊeÓ¥ t³®ªa˜xçbR¦ÌãØñoÁ¯;cÆŒÂïGl^et8˜Íf233}ØÆ¬<‚²~Çk?½ò ôz=z½žÈÈÈÆÎ«¹ £³ø°;3ƒ """‹År‘î¨ý»|–¬V+$%%±sçN²²²B`0gÖ¬YÌš5‹n¸N÷Êç£õcúüELŸicÖÀmóä¶y^¾%%ЫW罉ãÇC||gi\]ÃÔ‹ “&ÿ(;$EªªªÙ¿?´´4233]ÅÅÅ¡i4ô:=†%ôë×è˜qÄÆÆMDD‘‘‘ôêÕëšòãw&zöìÉÞ½{½ZÃÐÙÛí&;;›åË—³}ûvÒÓÓQ½^OHH Ìž=›qãÆ]33ž«Â/ ^ÕýÞù÷¿áðaHOïœòõèÑîlF«v-ãlù^~ì)JÄþÆït::®10|øðFvCàjø}Ì4[¯Uc`·Û9uêü1ëׯ';;»ñY8p 3fÌ`öìÙÜrË-×Ü«ÀWÉ“å_gå7¿¹æU¬†ŽŽT'Å~<›øÐøFEdd$¡¡¡?îŠGìv;EEE$''“œœÌÑ£Gq:èt:úõëÇôéÓ™3g'N¼ægB*ªaøQñëÇïãÑ¥¨?\¯p»Ý°}ûv¶nÝÊÁƒq8hµZzôèÁ”)S¸óÎ;¹õÖ[½^Á­¢¢†N†Vñ–³gϲ{÷n’““±ÙløúúĤI“¸óÎ;™:uªÇƒ~TTTà¢ò£oß¾oMž<™yóæ1mÚ4úôé£*GE5 **?F"##ùàƒˆ‹‹cÀ€?ü 6 p5^¶°Xà/€xî9õkÎÞ½ðÉ'0mÜzk‡‹Q_‘QQ¹Êøûû3mÚ´‡Q¹Æ`ÄøüsÏé6m’ü¥Ò­TTÀÛowL¾šxòI8tè»ÕËŽWßÿ;|ýõe£•KGQÀj•.—œ%Ô×Ë¿€øýï!úü†šv»LçtÊ™DC¾;àwšÊh—K–o³ÉúšãvËk–Õü{‡CÊm2Á+¯À‘#òZ{³Ÿæíl(«A ŸÎ–ùù}}½ÌçpÀgŸÁ믷Lït6•ß¼ŒæßY­R‡­µ·¾¾¥~ÛºWmÉÙª+IEEåÒ©ª‚©SáÔ)ص ââà©§äjäÐPxàX¿î¾6o†{ï• Ón¸öïÈÍ•n¡7Þ€éÓ!6¶íúÌfxì1Ðjaذ–£ýÚZxöYÙñõéyyrÔÜ»7<ý4œ<)×=”–ÂÏ~& À¾}²¼Gm»^› ¦LÔTøÃd'»a=*묮†!#^}†ƒeÚ±cÁ×òóáÁ!%Eˆ7Þ€I“`øp¸ï>©»Œ (*‚5k 8XêãàAX±B¶gÿ~ؾ†•2=ú¨l÷èÑR¿©©ðå—pá™.—œ¥””@X˜”ûõ×aÈö ¢J{"%YÕÃwÁ—ï a.RõpM°q£~~BlÛ&„Ý.ÄK/ aµ a4 B¬_/ÓåæÊÏO>)?—— ‘ž.ÄÂ…B„†zW×+¯ѯŸ••B8BÌ™#Äõ×Ëk+W Ñ·¯gÏ a±Èk÷Ü#Di©z½3f±g”ëØ1ù=ñÖ[ÞÕ½d‰]» ‘•%„¢ñÅB¬^-DP,«¶Vˆ»î’õÖÕ -Äã˼N§‹Ëÿ/]*D``S¹V«ÔÉ /ÈAˆW_•מ|R!ª«e›š_[·N¶«¬LÊóÐCò³ò>€+VÈÏ[¶áë+Dq±¬oÑ"!¦Li·ÉêŒAEE¥cüìg0h¬] ‘‘ЯŸœ ´EÃŒ Où×N'h4r$ߣt:èÞ]´»woº–™)GÑï½'óŽ#¯ÉYÊæÍ2 k0À²e´zš¢ÈºõzYÆ… !¯Mœ(Ý`‡ák42¦ Ë0åŒ d;Þz«õ¶~ü±½ïÙ#GÂË/·tõh4² î®w’Ñ(¯õîÝôo[dfJwغu2mXx±µ¹cPQQé}úÀìÙÒÍñæ›ÒPxâÂW«•–Ë%ߦ1™d¹`ÁÅycbd§i2ɹ²éüuââäÞ?< ÝY H¼Ó ÷Ü#]1IIÒ ÓÐAúúÊ4UUðÍ7°z5 _|áüqq҈ܿ¬sáBYžN'e=sF¶Íd‚ü£©½ ñ={ +K~7z´t yKÌù3oJK¥A++k;m\œ4¤ J9-ò*ž£Î¼Ag³ÁŸªŠ«ù´Ô·Êµð»ÐÈÂÛoË7}BC›|÷z½4wß ÿùü|àüêWMùgÌiŸxBÎ8FŽ”|kÛÊ߿ܔ•#ÞÂB9K8~\–™Ÿ/Ë}àw¿ƒÀ@iжlÓ§¥Ÿ_§“õ^8S±ZáØ1Ù™9"g#óçË‘ûÒ¥ržŸ/ÛÚ¥ ¼û.,_Ï<# ÄÌ™2Ïí·Ë:—.…믗³™>‚%K¤Ï¿AG?.ß*Òh૯d¦áÚSOÁܹ2ÆòØcr×ôô&£Õ ûäç„ïXºTÎxòóeþön­¸ÒG<ý±×BÑqPܪ.®6:Zƒª •Vq¹àÓOåZ!àá‡e :3óŠU¡Î¼ÀÐÂ'¨zPQQé!]cGŽÈ™ÚéÓÒEv%'ƒêŒAEEEE¥9jðYEEEEE5 *****ªaPQQQQQ ƒŠŠŠŠŠjTTTTT.›ÿŸèæxSŒIEND®B`‚nted-1.10.18/doc/docimages/segno_principle.png0000664001041000007640000005562311520267216016137 00000000000000‰PNG  IHDRI§œ³®îsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ 8#zß)tEXtCommentCreated with GIMPW IDATxÚìwxTÅÀw[z#ô^¥÷.BoÒE+ ˆ]Až]|A@°<•"H‘N ÔÐIïôM¶ï÷ÇB ’J$pß—²;™;wfî¹çœ9sFB D¥t‚‚‚‚"$!©    IEH*((((BRAAAA’ ŠTPPPP„¤‚‚‚‚"$!©    IEH*((((BRAAAA’ ÒÙbàÒÅ $¥é©V»­›7B­ºö <ĹT-CûtC«–”SPP4É{H@Z¬úþS¦¼<“¿þÞÊ{3^aÉúد¤D6¦…óþ[ÓÙ{<I‘ Š¼×ˆ Ùëo}É+óbÞìϘС¿=cbØøã7œË­É[¯G£R¤äÍ’ÀüùóÙ·o_¹ÕùóÏ?óí·ß)[ÁÁÁÌŸ?Ÿ“'O–{Ý{÷îeþüù$$$(æöÝNܾ-¤[빓“–ÆòßÖ“§çpØZx$óå/;xõË©ëª YYðpUó϶õDEEÑ»wï|ße%F²ü×_K#;;“ȸH~Zú7.Ú È‰àÝ÷ñÒK/Vª¾˜3ûc~Z¾Šž={¢Q«ñªÙ”)/L澺¾ùÊY²Søná|.Æ¥#Û,Ä'Eñþ»ŸÒ«W¯]§ª—–¿.Án·Ó¹sç˘s2Ù¾q%N‡’•‘ÁåŒ$FœÀÓO?]dÝj¨ôŸ™tïÞÚµk+šä݌Äl8‹—Æ ¢~“Ö4¬âÉÒ_P«ÝPF÷í®tTY…¤w ªÖnzÃçvs: fÏ$TjËgsæ1çÓ¨ëdÄf³[gã6~@å;*êѱ£ föìÙÌý1U2Îðæ‡Ÿ“”kÍWnÇêåüqà ï}>—¹³?¦… ³Ù\âëøÖlŒ§O­"Ëü³qßldÆ{Ÿ°àë9 êP‡œœœbënØê!$•ú–ö“¢–T˜@]÷ŸXòþKôh²’éóW1}>„ZÇk+ΰêÈ÷TuÓ*U „,spËzÎÇ$!9{1dôxø:ìî8¦uÿð{ø*Ü]4¸×kÎïÛNÆ–¿ÿ!Ë mº<ˆ_÷ÖØÍ¹;¸›ã"‰KNÏ«'7=•ÿl'$!•ªõ[0x`?ª¸UÌÇLëâãДT*¼ªÕäÍÿ¾Æ¢“9âYj>Ü&¯\jZ.Q1±ìØsˆ÷wfÞoÿ *Ä1n18ø÷Ÿ\ŒMÆÍ·ƒN-/]±mùñ“¹`µª¸îLûh¦ì4öíÞIPt Zt¤ÿÃ=qwÑx½gÀÉY–óêñÿkg£µn 5žÆÕ]Mòn¡fƒî|öÑëdFœâ™1cX¶nIñ‘|þåb¿<ŽÕˆŒˆÄ¦œmYbdY&"&‹nZ±á÷ïXúí’BË&›lDåXiâœ_+ÉŒ á¥çžà²[#º¶ªÅœ÷žgõ¾PÖ,ú€™ßl ÛC~Ôr½¦ñ$&¥!é|èмï¿õ:‡öª4ýåäÓÙšŽÝ”œ_ãœ4¿–µøþówÔ÷AÆN~‡ØÔÜëÐë dä@ç¶ ùvÞ§l\ûG‰®b¤™Ë/“ùÿy–•Ñôí×›}«>á­y«‰ ØÌ„—>Ä¥N+Ú6pʧŇ„§Ò½K[¶­ÿ‰oæ~£h’wj­3O¼ö6IŬ9?ðâ³èÔºY‚õ?<Áùþ¼={! þØLwE£, f}"Y¹qü¹+‘,ƒLvjh¡e«9k¨ï¦å|¶….ÞmÓl2‘Äž#ùßÖ¸K|–,çÔöõÛº‘3Þ£GÇv3‡ÁW?^y Ò <íUç>+SNJ¥é/KvZ—h]óûö4^ YüÛ:’â¸tbO¼ô!GQÏïF÷lN&*ú<ç£]ÈÎÉ%73¶D×îZÕ…3Y&]uXÍØÑð¿UûøvÓ Ú¶iO§Þ0oá2Vgu¢n£ºŒꇫZB¥zòŠÖ™ˆÁ’ÂÆ¿É2BvjH¹ô‹¢IV £ãhß{vlal¦œ8qœ˜ø(–,ý™­Ûóí×óh¯È³àƒOø30–ç'O¢–'&Y`µYmF²L6,ökHÃ6÷1n|_}ñ ézÑ—Žñúô™H×òâàÅ82“#ÈJ‰¦n»‡y¸}ކ’c²’“ž€2Ív^œø . ˜2~.NZr*°êo7g•žKnV K?_Àƒ#FѾÛ}„e×~Çjô'Ÿ|«_.ÇÙ·.]ºvÅ«f}\|ªr*€œÊWç‡¯Ì ¦>3wWrí»Íˆ-¤¬È…tÇ‹½À–¥ë KÌ =)ŠùÿÁöc‘ôéP—çc0[LÄœÛGýNýy Mm¢ã/‘Fnz" H7Ùùß칬>pžIS§R·ª&»À&ÊÞÿêY³fÍR§ à?VÖ­úž¿ýÏ3òѱÄöçhº _O;{¶lâLdƒF£º§«ÒY%¤†—šSÇŽž¨§{óǦR§vMöîÝ‹Á`Àïá‡ðôðph :w÷#;â kÖm$08‘ ϽL—-èѱ%~ÿ•]ûOÐuÀDžŸ0€Nݺ‘pþ(·íÁ¤òÂfÌÂÃÝûÛ5â䉓¤˜ÝéTË•Ðä\† ð«ýóó/˱ÙeΟ9ƒÿ‘TiÕ›Óž¦š»—Žâl”ž]ZMJbwìàÀÑ L}ýmüz´"øØAÎÅæÒ½s˼:}]d'6 º4¨Ê¥Ø4ªUñáØñd¤¥1rø#hµ7° šw£‘G.«V­dïáÓ´é=†¡µçþîçRÀ>Öý±×Ú]˜ùÆó´ëÖçœx6mÞJl–„57CnOŽÈ™S' ŽN¥{‹&D$¤Ò­[7¼==ÊÔO’BñrUr3Óȱi1_>Å€O0ä—¿¸ß'‡}_þ—e›Ðkøó¬ýmUœ/ÉíÄ$Ë8«£«<¸ªÙi*ÑŽeä+nÞ¾Tu·°à£Oi;z:~íëãV§5‹Vnbæ³Ãðßò ³—nÄ®¼Ön+ SR”N('öèõœ2*U›!YÁ8¸yÿ„y{ÆSüý¿OxéµéìÎåõwÿCÇû|øí§¿È5X•ŽºXc«Ü° Qhø"$ŠÅjH櫯¿cð¤WéT[ËÆ#AÄ„Gr> ŸzéÚ¨5™Q‘È%pVP¨¨/§J&$çVAÈÖ÷iž]˜6q’Ú™mk°«jCF>Ú wµD‹;£uÖ)v»ÆÐ)EÊ ƒ,ãZÉü»Š¬ $‡ŸaîwñÆò­4ðuà‘ÞæôÇsùþ›oðiœµ»1￯ãê¤V:ì6! ]é†rÃ(.ŠT¸\<<™õí¯ ìqWõ'ŸÚ¼÷θDDcʼnQϾI“:U•κ͚¤¢G–£T4I…›Å«fsÜü†Ï«ÖnHÏf­•RÌí»‚ÜJ($•……¢Ìm+² åƒE–+ÝKG’µ$¡x+Æ8(”›•²/!© P”&YIìŠHºÝޝ¦òyø!Y±++«Š¹}qÙf£Ú=/$…LfJëÖþIâåL”©¥p7 U4Ér!Õf£ê½.$c.dLÿþŒ{lýF=Éñ Xef(Tzs[‘å¤IZ­÷¶&iÉŠcæ´×Ù{6IRséð6žœú.z%ÃM£)ç…›~úé§Ûr;1›Í,Y²„èèè inËÊTT4Éò`ÿ¶ì<~‘Ú­æ·ß—Ò¶a ¯cíxev”ò|ÅÄÅűcÇìöŠåé´Z­lݺ•äää 9Jœdù`”åJ·Û¦Ü„¤mܺ»w]-û–·ŸìŒÝfåâŽMÊì(‹–U‚EY–±X,÷DX,–|?ÝjìBTjßznv*§Žáà¡#$^κ£ye]%.—vËvÁ¾¿CéÙÿi†v»€ê[2vs4 ·–ýû÷ó /Üõ‚RÁSO=ÅáÇ•A/“>…¥_½GçöéÓC‡ ¢K·îÌþiÛ±®„RUƸßr’vÙȱL3OO‚Nå0Mì¦lÔè<Û)3ö&)©‘g±XÈÌ̼'ú$33ó¶¾ •ouÛlHgþG3yýÝ/ŽŠ#+;½>›„¨`–~õewi1›ÐëõäŒÈrùëÎYF-I•.—$”ÓÞm»%³,hSåÚ™ÆAÛBPiÔ4™Oß|Å+ÿFo0çù^wîÜ‹“//=S~ Žåй}×i’ááálÞ¼!7.\㱚€ÿì&"ø›^HX\:½Æ´cÇŸ¥_¸±Û¬ ©Q«ËöÞ±Ûí¨T*¤bæV—³Ùl <==KÕþ€ãljŒŠbãÆE– $!!Í›7£)"ÄâܹsÄÇdzyóf´ÚÒM›••…‡‡ª[°:i2™HJJbß¾}ÄÇ !„ 99™C‡‘•Uô"Dxx8þþþX­Ž£.dYF¯×ãååU:ó^¥âŒNÇF“©Â<´‹«ÕŠ››[ÁóátÕªxa`±ÚQ©5Ô¨Û„Qc“q†‘gÁ©]˜÷ÓfÌÿ2¯­¦Žûïd£—!ŸIn6HNŠ'!é2’Ú™:õêS«FUÔªâ_šFÃY''6çæ"„ ++ //¯bŸ¥ÛÙ§‹ww÷Ò ÉcÇŽ1}útÆÏ!CŠ’VªëÔxÔ®AÄÉ]¬Ø@ÃÖ}xû•ç¨ëã\:lâ³?¡­ß#ôº¿G™n|Ñ¢E<òÈ#4lذpÿÙÌòåË0`@‘å, K–,aذaE–øßÿþGïÞ½iÞÜ‘ú,::šmÛ¶1cÆŒR ™Ø„<ÜÝiÑ¢E‘åRSSñðð yóæE ¿«‚®yóæèt%Ïnn³Ùøè£xíµ×¨^½z¹OPƒÁ€»»; 4(ò^…¸¹¹Q¯^½bûÄËË‹:uêä•»|ù2k×®åÃ?,Õœ "dçN^ž2¥ÂÉ£GréÒ%žy晿¦ßÀÁ¼ñêK¤fèqvó¤zµ*ùL]!Y0?ì P³YW&LzŠúÞ׿HØé½ÌŸû ‡O‡ä¹tnÞ¼ñþbžÑ©Ø6' AšÝN †ÜÜ\>þøcfÍš…«kÅ8"ùĉœ9s†çž{îæÌmZ¶lY¸ædµÒÓÛ ÿc{9ôÓ*œ|ê2뛹ô»¿cév+™?ÎÊM[Y8dl‘×, !!!T©R¥Èzôz=‘‘‘Å–ËÍÍ%44__ßbÛ…§§g^9Fƒ¯¯/-Z´@­.ùúÞ¥<®«§0bbbððð E‹E ¿ÄÄD<==iÑ¢NNN%÷'Y­x{{Ó¬Y3j×®]î4''www5jTä½ !ò„iq}âééI½zõòÊy{{ãããSê1ˆ‰‰!ýâÅ2ÏÅò$))‰´´´BÛtüøqbccéÚã¢6tëÌÁƒÇòÌlI¥¥Ãƒ˜3oýº\{ ¥…ã‰wÿK`t2×»g-¹™D_–£gN*Oæ5õIéƒJÀ™3gøþûïùæ›o*ŒvT¼œTS¯AÞœùN‘nš\›@þ× ƒÙŠZ£ã¾ŽðâÔ§©îá\æ1B”x L&S¾9”žžž7K5™™Øm¶b¯—‘‘ÙlæòåËE>øéééDFFÒ±cÇ›ŽÈÈÈ ''§Ð6eggçÍ·¢ÈÊÊÊ›E I}®‘v:òÆë¯cµÙÑêœÐj5²31dÿ˪4çpüà.V­ÛJZv²ðð­E×_§E놤È2ƒ“ÉÄåË—qvv®B²È>E°råJˆiÓ¦ø}âÑ©a ¤}|@4jÞIl<’,JƒÝb3‡õ¯ýç}1wî\1|øpˆ‰ŸDŠ²Ð·o_Pd™ììl1bĈbËåääˆþýû‹£G{Ý#FˆÝ»wçý"¦OŸ.l6[©Ú¿aÓ&1|üøbËmß¾]Œ5J˜Íæ"ËíÞ½[Œ7N˜L&!„²=W|ÿÉ«ÂS§86—äýt¼ÿѼ¿³X,âÙgŸñññ…ÖsF ïÑRHÿªG¥õK–o)²]z½^ >¼Ø¾•eY 80_߯ĉŦM›ò~OHHS§N-õlß¾]ô8°Ør‡C‡ÙÙÙE–Û·oŸ9r¤°X,7=¯÷ìÙ#æÎ[è÷Ë—//¾øb±õüþûïâùçŸ/¶-kÖ¬?þx±õÉvƒøñ‹éÂS§¾a>Ý×i°¯{æ&Nœ(rrrDEaÿþýâË/¿,ð»›öIÊv Ÿ}ð:§£“©Ý¦/¿¬žÅ“ÉŽ:=ú”Ü)®Ññáï±]Yæ1›ÍüùçŸôîý0]:Ö½§ý\ewÿ r²ÒIHLAÒº`0Yó}{r×V>Ÿ»„lËÇn5–â2v¾yçmþ ¸tC2“+ÎÞÕ ôµê³ÒHHLÁdsÄóUT”s†JÆé½;øä‹oɶÜ8–êªu*m^NÍÍ>|aVðÓæhݪóŸw? nÍ.TÕi9•ÁSô)…$póòa#5í2V«­V‹ÙlÂl¶á줜z{3²Søã÷ŸX¶ââSÒ‘4N¸zU£Qßk~˜ädâ³o ’®R¯o¾ùLÉgƒlbOXò y%µ–^ƒcPßüqt9™‰¬ùy ¿­ûËÑ6µŽ”Ë)$g›*d_Þ‰Õê°°0Ö¬YÃ{ï½Wiæ\hJ21™7Ž¡gV´2¡Ò>K7%l¹)Ì[ô#» k¯Lý’JÍà:ž|¿}?Ü5xùÖ¤C—®4ªå[ÂÍÈÙ@êÔ©Ãwß}’ŠÐˆTºt¸·µÉ›I &Û²x{òD–nØé_IŒ‘÷ÿZ5›àëåAZ–Y€$©iЪó¿]Ì#½Z•\ˆ¨ÝpuõÄÍIK®ÙzÅBpeÜä7ù|Ötª¹i®k[¯=1†ß·`ùWÛ¶oÝÇ#ýRÞpWüØ{÷î­TBÒŵU¼ÜÈÈÎE€¤¢AËnÌœ7uçû*¯E'Dá1&«V­âñǧgÏžŒ92ï󤘋,Yò&É›'Ÿ{–– «zš¿6o%*-Z…¤RáääB†÷ÑðêVñ(q£r³.#4n¸»•m•péÒ¥ 4ˆzõêZÆb±°zõjüüüŠ-÷믿2pàÀ"Ë,_¾œx€&MšŽ•Õ£G2dÈRi%.]âø… <3vì¿4±Ž#61«]ÆbµãìêÂSOLD£Vqâà?lܶ[»)|d"C{µE’$¢££Ù±c;#G Çh² Õ9ãé鉻[þ…Y–Ù°a,tkåòåËiÓº%5jÔÄ.$\ÝÜñòôD§Uç³@öüÍæû)(ÑÌ€qSéÛùÚöW³!‹„Ç$`±ÙÑ:¹’œœÌ˜QÃóú¶0V¯^M»víhÕÊ!ìõz=»víbÔ¨Q¥ƒö0õ©§Š,ž}û˜0aB‘ú:tˆ'žx¢È…›ØØX¶oßÎäÉ“oø.<<œ„„|ðÁÿöÔ©SÄÄÄä{f "00ˆˆFŽYd€ýÙ³g¹pá&­ qüØQ €ÁdA«sÂÃÓ cÕ*$yyÑîJd„ÙlfãÆŒ=ºT;¿®Z-gý‰ŒÉ.ð{×ÚuéÕ¥K©“sDFFÃÃ?|s 7S§NV«5ïgóâç Ú~BD§êEBÈaѵY]áêâ*4*•hÞ¹³hÒ°žpvÒ I­{YD§fç«£°}Z¬˜<²¿Ø¸qs‰ÊõÓ§Oáïï_d™ôôt1|øðbËeffо}û[ÎjµŠGyDìØ±#ï÷‹/Š7ÞxC˜L¦Rµý† bôøñ×>³XDbÄ)1®áá¬Ëç¯Z¯­HÏÈ‹Q|øÖ B’ò;Î%I%ê´ê-ÎǦçÕ·ÿ~1`À€bÛa0ÄÓO?-¢££ -3|øp±iÓ¦"뱘sÅôŸºÁ©/©Ô¢^Ûþ""57¯ljü%ñÊÄaÂÇÝ%ÿBF—¯o ûyüñÇņ ò~‰‰“'O.õlݺUô<¸ØrûöíC† éééE–Û½{·1b„0 E–ó÷÷}úô)ð»]»v‰9sæú·?ýô“˜6mZ±m^¾|¹˜4i’ÈÍÍ-²ÜÊ•+Åøëça!?›7oãÆ»áóD£Q\ºîéééb„ "##£ÔÏ´)'ZL~²Õ sèêOý‰óY†R×»gÏ1{öì¿+‘¹­R©ò…„nIÅÐAOR×[ðá;_¨®ÁGï¼Ìï_ÂKËv0¾V.¿÷/¼„],çû¾}™=yd1o ¿ÿ/+·í¦÷£ÏX_’Z­.²FSârWû¡¸vý»Üõ[š-qZ—ëÚeÊNã¿/Maý®7˜áé‰q¨$ ­Ö™ÉgÇÖ¿9v1HjÝûŽä믿 U]Ÿ<ºZ­F’¤bïGQì½—¤AÃ+Ï<Á®í;9‘t¥mN<4ä1¾šû)|¯Y‹g¾È+÷aý—¡#Û,%ƒ·çfÇ@­Vãô¯ù_Ô<*®m×÷yIËôªˆ6•t\¯Ö£Õj‹m‹ª}PX¹š 5 x–Š»nã*k(rŸŠ¤Bsõu7%…"³-h´.Œ¦7¦¤.œ>Λsv3¥³Ã- jÛi¼ÞéËÔwæsæÈ!–î¼ÈOóV+$CŽÿÍ—"ȵ܋G/ R"ùû¯¿8q† ˜eÂ~­/“£Y¶ãd $:MùÎWvzÔíð{ ºDüålê7iN“upuÖÝñ»lе‡ÏtéIi94º¯%êÕÆÅI›ÏoùÅê$@ϱ¯Ò¢c½\-Ý·“]{öˆO͆DÄÄ+Gß…¨uµXðÃ1æ,*8B¥Õâê\¾‹½7U[-W :×V´ñÔ¡O±!ë- ë× gÕeÜë×')aÑ“ #Æ<Íš=ï ÝI®,p+ä5‰ÕÛ.2rì@.î¾Çä£KÇwòêËoqàÔ%,× Æö]zçýß˽ µªËž qyÛÄtÎntëÿ( ߟ‚“æªKÂÕÇ]ï§CÅsƒãæéKçî¡ ¸1¤cc¶Fb½Ò­3M:<Ì_½GmŸk§QŸÂsÿËç‹%9]Ÿ'5:rrÍ÷¤ Ñétf'Ë­˜?Î.n8߯Û+‘<{ö,óçÏ¿fn[³±™³˜?>öÜËÄÈ çͧ‰›Šˆ+q‘øbÞ|<ÔY—N£ÑH¬FΟK!Bòbà! NuȽÀßÿ}§ç Ì&#«µFGtL «W¯.ðL«ÅŒÉlÁj³V`9!dLF#6»Œ@Ett4«V­Âßßÿ†ëšŒF¬6;j­Ž°°pÖ¯_Ï™3gònNž<ÉÂ… \4°™²Xýó2N…ÆÝð]\ä¥ëú^ÐæÞ„eþC¶Á„$i¨Õ°ujÊ–Õ¿”z𣢢ˆŽŽ3¯2è IDATÎ7¶!Ë2.\`éÒ¥….Ü\Í=Z.³Ùƒ}i’±ƒ” Ç1 ¾50¤owvo\Áõ¯ÐÈóþü¸üŒÿZ)·YLlûëO.';òSfggsöìÙBÇ ÿýÚ1ØeˆŠŠ&22²Ø>ŠŒŒ$22’o¿ý¶È…›ððpÂÃÃùæ›oŠ\¸‰‰‰!&&¦À놅…Wèß'&&¢×ë‹móÉ“' gáÂ…Eº NŸ>MPPP±õ]¼x‘àààbË™Íf‚‚‚X¼xq©nnDGG¸c­DB²U«VL:õÚÃõ@G†=‚¶u?^x  ·jÄÎKµ˜:µ­Ò#ýcÇL྆^\ÜèÌ’ß×QµÕc¼>í…Ûá?`ï=‰Çû±hÑ"6oÞLß¾}7n\ W¼,œ<°ÿ¼õ'‚b° $I¸{ùÒoàPüº?ïZçñÁ;°íÀ)¬WNÝÓ9¹ÐþþŒÖ犹—ÃúŸ¿göW‹ KHC*•µ³£F¢K—.W@3»7óÎÛq*Ô¡ÝI’„“›7³‡ ¥o¿¼#''‡)S¦8±·lü•Óaq˜<5ë¦NïóÏæ•ÏÄàâÅ‹ùƶ l6gÏžåÉ'Ÿ,ô8„={ö0xð` Tn÷ÃO‹÷\ìµô Фë`Þül!­j8Tޤ¤$bcc «1¥_μï~#9+7ïó6(¶Ž9BXX“&M*0qëU:DLL “'O.ÒovâÄ NŸ>]àu8Pèw¥aÍš5hµZ&Ož\ävÖ 6`2™Š½ÞöíÛÉÌÌ,¶\NNgΜaÒ¤I&ˆ¿¿?ÇŽ+°í%’&ߦýæm;ñÄØ!ü2oZ/ ëÈg¨ß)WWWZõ­‡é‹•Xìz\œ«³ï¼?iv¯OZàÆÙjæø¶Ã$ÖHæË/à[¶R¯Q/ú>ܬØöÛ¾ž©“ß (!ý:-P ÏÊÄd0ä]7)ì(Ï?ùÇÃâó… ˜Íf".ã:n²Ýš%óyëƒù¤æ\3×ìv+öÜLœóê;´ùw¦M{›Ð¤Œ|×5æd¢’TyåœÑjµ¸¸¸øÆnÛ¨1íêWãLôå+梄‹»cžŸÉ;O¸e œœœP«ÕÅÖoµZQ«Õùî½ Ç·N§»½IT…Žá›ŠÑb»bªkhв+_Íù”Î|ó©\\\Ðh4…ŽÕ˜És>äï—cü×Ù0ÑaáÞ—vôÙz¬6;vÙ±`çââRd\ís—"SQcãää„V«-s_ûúúR§NÜÜÜŠØNNN7È€²”³Ûíy÷VQ’îÕ§7å“T;{òæG³µgO^|]Ë‚¹ŸÒ¶¡#nͧíȶwø;.kôa·ŽûzŒbÊ£âhuâò~Ÿ?>;wîd̘Q%B¶ðùG_æWq«ÞºÍ¯´ñÜù ½ñxÎ…j­Úfvz ³>Î/ ¯R­õƒT­UïÊuÍ|òÁùäUz÷ Ww-FØ8y"€ÐÐP<==9wî<—BRhy_1Ç+9ìûÕ¸úðÚÛŸÒ§kó<ÿ¢Þj-À¤ueèS3˜:ºÇ”™ÜÏšMY4!êÕ*òºZ·*üçƒ9<СY)v5í{ö£m÷>ȲŒ$©Ê|¾Ï½‚‡wM&N~ñ“ì!¡V«nj¡Õn.ð(ƒz­dÉWäs…îâéÇŸçXHöëþFçQ—´´l¼<<*Eß©ÕêR…C)B²J¯×q£è]Ÿ÷>™CÀáü¹eÛV-Åh2awÿùø ÷ì†L""Š9ZXÈÌÊÅÏÏ???$ÒRˆÐä{S¦>KÌg_”@ÂÅ£*“^}‹qÚy­Ý£Çþ€œHBÎOLáÕ)£ˆ‹Š¼â´ñæ«“˜ýí ² f$I¢zýV¼:}šxy]?¼øÒs$}±ˆ¸”,nÞ5xþÕ·Ñ»Ñ×]7...[qÖÍ’€Ñh,plÿí“4ÄÄÄ`*ä@,ƒÁ@rrr±uÝ)._¾Lnnn¡càâQ©OfÁòÍXíŽUÃV=x÷½™Ôñ’òîËn1ñÑ´—8{î!»ÙHLtÈæ™åY¶ñ  "##‹ÔàŠ›¤¤$233o[_;;;Ó®]»b¯—””DNNN±årss1DEEU˜Uø¤¤$²²² l{‘Û£££Ù·o6›­ÄV!ÛX÷ý þ‰uç÷?¤¥ûíY½²ŒÙbF ¡ÓéP"Œ„±X,È2huZGàmåd» ‹Å *:®ÐıB¶c¶X¨Ðé´^W–eìv{^ÀqE!88˜?þøƒwÞy§è¾"/ñHaíŸ7o~~~têÔ©B É’ÜB`·Û°Xm¨TjtNºæ†!'™ç'¿~C ¦¤Ò0xÜ4¤gÞéBØ8wd7ËWoAo¼27]=©S³*3ßšQ¤,*Á…ÝnGQáÌäS§NqèÐ!^}õÕ²ÅmÆn·#ËrÁ~ârOÌ&[ÅïõnõÚ‹?Ó„BÅåСCb` r%–„#Fˆ-[¶Üõ}f5ÅÛãû &o+œ›w 1á¥D–Ù–/·â÷Ÿ¼"|ÝœþµuN~~~Åæp }ûö­T}ó×_‰ñ%ÈZÙ¸ù|’¶\6þö#NGÒºg&ŽŒ›V’ ­{¬™‡0%©€ÑÌ 7ïŸÒ9óîw+ðôaÎ\gO:uéJǶ­ðÐ]óïÙþŸÍ]FÚ íßz7hPÆœL.?͉“gÈ2 lh±Ùe¥Ã+óÂMâÁŒîulTß.Á,oã•Ç{_1=œ4*TN·Çÿ&Ëš*ˆŠ¤§ƒNõêIÔ­+q×ng={ZDnîÝ9F7­Iè‚xýåY³ÍŸª šá­µ‘ÀóÍç“7žÎçÈ.o²²ï¿ogñââªYSbÊ (ª¤BES8­øïøƒ_7ìÄžwäAw^™:÷ŠçP·ÙàÍ7mäæÞøF~¨áƒî®õ2 I€ìÔxöïÞÉÖ]°k=yhÀPF ꃧ˭ኋLœhåÀÅ稠PQhÒD",ìîr¹”YHÞ)"#Ç[9^’ мuTÚíÎÎP»6œ?_|YxðAõë+æ¶‚ÂÍ¢× Ö¬)™´´òuq\}Éuëæ¸Ž$ÁÐ¡Ê ­¢uã¸wê$±y³–mÛd<< ¢É*•Ö' Ž6»wË|ð“'¶½èªW‡§ŸVóî»j¼½ËGHž;'8xP&"Bpÿý:]Ñõž<)“›ëÖwŠK—#Gªpw/¾ŒFÁ¨QêÛªÕ éé‚#GDÞï{÷ÊT­ ;«¨Zµ€‰+A§NŠ ½\'9dˆŠ—_V3hŠ£Ge–.µ³x±ö®ÜáV©…$8BdV®´sü¸ 1ÑáƒlÑÂaŒ­¢zõ›99A,°XàòeAõꎺëÕ“(.ŸÉw¶‹µZ¨Zµrùc G_Ÿ<)HM-¸ÿbcõêIù¬†=T\Ÿ\ÚÕUÂË«|Úd±pÓZtX˜àÒ¥²Ïƒ¦M%š6•Ðj¡zõâç_y[OÙÙŽÿ7k&áé ü!³w¯ÌÈ‘*üüT¨îÂ÷V¥’W5ÊìlAJ ää´Zðõ•¨ZU¢,@Ž—9}Úá“;VENŽÃ9}ß}ÊPEàòeAL̵雛 GÊyþÔ«Ÿuè áéYö1ó÷—qv¾y¡?n\Ù%HX˜ <\`µ:4îë]9NNЯŸê¶í,Û¸QfíZ;Ÿ}¦¡qã»÷™¸+„ä­`ëV™æÍ%{L}Ó‡ÂçÀ9O* ¾¾Ð³gÅQ•RRÇŽ]{|ÍfA@€ÀÍ ú÷WѨ‘DíÚå+¼âãñ2MšH<ýôÝŸÙ\’ ×ÃìÙ6ÆŽU)~¯»!Àju,étp7œd“gÏ:3““U«:Lóò²ØÒÓnn½zI´h¡ânÛ¦­ÉRh±±‚ÇW+I1îb²³?þhçÄ Á#¨9R}×-<œ;'°ZËç·Û>öž=U÷T¸–"$ ,LpæŒLB¼òŠú¦'Tr²Àdâ®ö×TfNžøùYÐëA¥‚Ž%Þ|SÍàÁ*||”1Sp Ø’д©D‡*t:ÇñÌÌÒ¿GdBB7Ú‰ŒèõJ¿V4¼¼ÈKz"Ë¡9uªI“l:$ßR¦po¢ž5kÖ,¥n¤J‰Ö­U|û­Ì¹s2K¸¹•<'¥ZíXm¬VMbÓ&ÇŠ¤Ýuê(JEÁÃÃNsñ¢ 5Õ!(-ìÚ%ÈÉ4m*áá¡ä"½—QÌí˜Þ!!‚¤$“<ú¨ºÔaE'NÈ <=á±Ç 6ß…p„´;&“‘á–VÌÛƒÉäˆfصëÆ]I5jÀĉjžyFE«V*”cª!©PëÖÙ¹xѱZèê걨U«è`ÞìlGð±Õ µkKlÜh'4T0c†æ†í[&Ìšeã‡ìŠ€¼Øíhb«Tж­Ä¶mÚr©Q¨ø()JȨQjš5“IIqìƒþå;cǪñöv˜Ô×#˰y³C  -ñã5\¸ 8^æìY™Èï¶Záôi™¬,¥¯+² gÏ^ó+§§;‹uüÞ»·#F’¸+wœ(BR¡d¥OÀ€Ž-²ãââ°½žÈHÁ¨xôQ5¾¾Ž0Œ™3mètðóÏÚ„*8R¿¡&$ÄFzº¢IÞ l6Çι€l` ^Û/I ÑHètŽq_¼Ø¡~v릢Y3‰† •ÁSÌí[Lb¢(óÊ¢‡‡„·÷­ok\œ(ÐGéííØyäˆÌöí2½{«èØQ*2цÑèØEqõ:EPÞ;:Ú…°v­Lf&ù2Jùø@çΎîúöU˜íØ»k—ŒÙ S¦(ŽKE“,'Æn‡À@™„„k³2"Âä[Ö]ÙÙо½Ãظ±ŠV­þÃò©¦iÓâ/ìâ‚rÏmÄd‚5kì|ýµÃß|ý‹ÙÉ üüT¼ð‚Š>}Txx>.žžàé)Ѭ™DX˜ââW4ÉrëÖÙ9rDP»6´k—ß‘óàƒªrI-và€#ÙAD„àòeAƒ-[JxyI÷ÌÁêw £ÑHff&5kÖDª *ñÙ³‚þý-¤¤\ûÌÍ T1eŠš¾}K·³dÇ™øxÁ¤IŠ&©h’edËGv×^SS«–tË’G<ôÐ5á›’âÈæsñ¢ +K°y³ {w;«ððP&BysîÜ9–-[Æ‚ p© {ýÔj®Ä¾ ||Ûí^{MM·nެA¥‘퉉‚­[í<ü°²r£É2rñ¢`ï^™™3Õ·5œ¢zu‰êÕ%zôpü)8zTæË/m´h!ѯŸ#爐:Y>˜ÍfÒÒÒ¨ÈfK,X &8XкµÄƒmV„Õ ë×ÛÙ¹S¦W/Æ)Z¤"$Ë@h¨`Å ; ÜùEõF$5Rc29òF.]jÇÝÝaúשãð/)Ãw7..0|øÍrP#AF0{¶†š5Ž"$Ë@r²`ñb÷ß_6U-;æéUšÒн|ò?9;;| ={ªˆˆp$¶8{V°v­ Z5‡ï²K—»ß$·Ù. «õš†tò¤LjjÁåï»O¢qãÂïJJÒa0T%6VÂÙ¹ôÚdE]ÀJMud¿ßºÕNl,Œ£¢S'©ÜŽQ¨xÜ–…›ÔTÁ¼yv7–xê)5NN7_×ù_?äH÷7™ÜüÖÆ÷$% ’“!(HæÜ9A³f¡Ð±£*/äG«­a:˵ÿ˲#äåÂ…üÁ€þþ//ò¢ L&‡ êÚµà—ZHˆãœŸÂBµ¢¢¢8|ø0>ú(ÚR†*$' š7WQ£†#gèP5j5å–±´æôÕ'dï^™K—dbb‡£µo¯º-af ÷€Ü¾]&&F”9~ÌlÌaû—3¸øàk¼Õ»õí‘P&“#T)"B$ò´§ºu%ZµªØR2:Ú±÷üê('% jÖ”nȰíãC¡ñf8xð .ä×_ÅõúCgJÈÕ§RR25kJ´m«¢zu‡KäV¬f0À¥KrÞ‹Åßßq›^ïõiß^uWž-­p‡Íí dúõ+ƒ€2ÁǶóù‚È a„Ÿþ/[›óîÛ¯Ó¨ú­•;;;V>{öt›*ÆL,’L†>ƒ“¢Œ¢‚‚½§I^O»ÑÓ·lËvd„VÁÎÞ•kðÌ»ôm|o…ÿX­V"##iذ!ºb"ÂF#±±±4kÖì–çtLOŽãüÙÓ}šÔè3¼ñú‡HUjѳïp†BmO™…s>àl\›vîbÐý=¨Q£†ò´)(šäí–®n˜e°”%Bý6ϯ¿þzWL–øøxV¬XÝnÇÉɉj¾Îü¹m-Õ;ÝÏË–òâS£ÈйÈ7_ÍåЩ$šyºÑ¼vMœÊ’öIAá®’B&+5Š ¶’œ–Å­°´êõ~œûIKvÈ/Ë Mƒj„^Ë…ý-i´¬ŒÝÅjµ’™™IFFÙú\, ÆÜÒÒÒHMM%+;«ÕJVVÖ«gB((Ü«š¤møk VϺ,]¶„Ñ=[  ÝÌãŸì %,èY¾&·ZM¶]Ihq'‰g÷îÝy06ä ;vï'.ñ2f« T֯˦M›4h5R:MáÞÕ$e»`ÿß¡ôìÿú7 z—–€@¶e•{£}5Ò ;\Eá¶Ð Až}öY&?÷¤±rÍ"³hÒªúûᩳà^§>c&>IÆ •S¸·5I»läh¦™Ÿ& A§rxëí&= ¡vª^Vj6+£w‘$ Iì[ý~½Š!OæÉÇFСMKäìh¦>}–`›ŒQpËwû((TxMÒnIÁ, Úú:ç}´-I¥Â·iÓò’ ©Š&yÇ‘­i¬Þµ†Æ÷?Äûï¾JU‰¥ó?aÄðÑl>˜À}®Zªi•C³MIrTc»²à|9ò8K\½vWjê\)ï…è* ŠOòοa5>ôjïÇÊ÷æÓ³}[l’ζ»3cì4ÂOû+¤pw É€€-Z„»»; 4(\“´™‘€%K—R§š7þ;·—NÍ6÷qúÄ^¾ýöÎÎeÔVmV23ÒÉÖë1Í\ô­A‚“3Õ|nL“f5›ÈÈH'[ŸƒÙbE«s¡fºxº^K!„ 99™ªU«¢Ñܺݙ±±±ÄÅÅñùçŸçû<))‰*Uª›¤âßèõz¢££Y´h^^^E–MJJ"**Š/¿ü2ï…$&&R£F Ô¥<-66–èèh¾üò˼¿µåèЮ5)iéès48¹{£S ÎÞMlL_}õUçn§¦¦âââ‚Û­:ö&ÉÌÌD¥RáéY±§˜L&ôz=ÕªU«Pí²X,dddTÈm§ñññÔ¨Q£ìÏ·(‚•+W @L›6­¨bÂb±ˆš:µø3àˆØüã,¡–M;Ÿ—%þþÛ.ÊŠ9'YÌ}ÿѼAM!I’pvqjµF´ëý˜0Úå|e“"ψ·§=!jø¸ IR 77w¡’TâÙ™ó„庢f³Y¼üòË"..NÜJD¯^½nø|Ú´i"88¸Ôõ%&&ŠÞ½{‹ØØØbËž9sFôéÓG˜L¦|cõÄOˆË—/ßÔ½øùù ³ÙœïóÈó‡Ä´‰#DW!Ijáææ&T’$†)ô¹¹ÖõÙgŸ‰þùGT4~üñG±bÅŠ ×®S§N‰÷߿µëÒ¥Kbúôé¢"2a‘””TæzÊÅa¤º{;±zí/¼2c:ï:¼ÿÕ§´¨Uv-!'-ž7ŸžÀÜŸÿ¢íƒ#øíí„GF0zæ‚OngÖµœ”ð“Lù(«ÿ9Í#O¼Ìö„ŸgÚ¸öì?²£µ,or2S ºDPH8Ëí3÷…ÝBBl/^$.9½H÷…Õl &2Œ /‘’‘sëßÖö3lÐXöžM`ü”B6.[•ˆVÅ'‰JM[x²ø‡eXÍj¦}ô>ØÛÊ^÷é›Y±ýŸ,[σÀbÐã¿c-g·œ zíött¿b® +ëÖþ@P†•o–þÈ û;ž϶5?±í`$­üúPßIs3ŠØð Ö®XÎ_ÿ$)%Y¥åþaϰð¿¯á颽u¦Œ)‡ãûwðÓò•œ¾ŠÞ`Bëâ…«Ó¿ßmƒ>“¿×ÿÆêÁbGëìIͪ·Îlv=?ü°U£¶üøÃ´®W•ËñQ¬ýe‡hu ¢ÚËÖIDAT¼5Ê‚"$±“8ŸeÁlé5rsÞ} Wµ”]Û²Úm-Vvl\ÉÑ?–pøaqiÔé9€ÙóçRýÊê©ÌVú¬LÖÿ¶”Uß$rÈÿ0i96úŽy޹sßÇ£´É'…ã»×ðÜó¯”l¡—_?ÆEnÜaæÎ{áÏ?ʨæ nÉÀÈÖL>yýyþº×j2t0-Vå•ß“d®F¶ýš:™‘ÌëÏ>ÃÊ]4nÕ‘ƒGQ×ÓÌ÷ßÿH²Wä[¶ƒS`±ÙI‰bé7sH fÿAŒÂ™v=úà©Qã¤Dÿ(Ü B2>>ž}ûöü0ÛÌl\º]gÒñ¨ÑG†õçØÁýœ?ïƒV+pv¾ùœ†)Ô«åËî?ÿ@¥Rãî[‹ç^Ú~=É´fæk—OÕè¤õü¹a=jµ†šÚðäèGñëÑ–Ä Ó$]'|­Vâãã9|øp¡ÎpCv:ï¿ð"ƪmù|æ3´hXZâBîYvŽ>ŒObdA~^ì6V›àಲ²nè¿øøxŽ=JBBB¦ýñ­køfÅnúŒyž #ûãíáŠ%'w­DNZG&%²BȬ[ð)ëEñâfñP×6x¸:“{233Ø`?ÎWˆl6IIIøûû»ðsí^¬Xmv‚CBÉÈÌdÿþýWcݺ<Àªõ‡XýÛo¨T*j7ëÌÈÑcñÔÚÙ¹}+À¹€U»ÈÈHœK½xt« F§Ó:ßï¡¡¡DGGW¸vÅÄÄ[áÚŽœ§þþþT©RåÖ IµZ]È*¬ÌžÍßòýúí ÎÓ…*u«¡»’ä@£Ñ¢ÕÊ¥^Á½wïêxW¯Ç§_N§VíÚ¨5$à’J…Щ®™sUê´ i³–LŸ1ƒšµj¡)âT©Ty÷UXû2 §9˜Å“÷FNfáŠÅ;ŒUrbì”·Ò´>ºë´SÙn!8ð(?þô3çÃb±ËYTñ­ŠF§Ë”ZÔµ…œËÙèxÔ©K—M9úÏ&¶lý›¸”,\¼ëP£ŠŽª®Îètÿoï¼Ãª<Ò6þ{OåÐ)Š ÅŠ¢ˆ`o¬Æ]kÖ²f×’¸éeuÓt÷[ãšq“5U£F½+(¶hÄØbÅ‚¢iÒÎSæûcI5¢¾÷uñÇáÌ5ó̼ïÜg湟™Gƒµ4™cÉ—iJ€›šm«²so4y…&ëúâ¯U£Ójo(ÌwÓo«ÙÄ…“‡ùfÁ".§daå}ñjà…Z£As½>¯ÝønÅ÷ìÚÂòu[I»ÃçÅ`СC4Zm…í(•JT*Õ=½dÕ R¡V«k]jµºŠy(ÛUÙ¿Ó{~w¦{P·3b‰PÿzI!zvë*š‡ŠM‡³o|¿i“åžÕí¬¬,Ñ»wo‘˜˜xÛÿ‹íÃmÿKMM}ûöÉÉÉwVÌïBÝÎÉNutâún^¨ìE·¾CÅWË7‹bËíªºÍR,Ö|5]ÔsÖ g7o1dôxñ¿OçˆQÛŠº^Þâ̵²j¨Û6q`ÓBáѶGæbÜ+}GDø­ê¶Í"æÿçua§ $…Rø6ïΘ#6îÜW#uÛf¹&ÎzK¸;i„«§ŸøÓ_ÿ&>ž=G î(4 g 7kkYžøû³ý„ƒV#¼ZŠÞ|G|<ë?"¬e}6`°H/¸&«Û²ºýH«Û5öIÚ¬e|øïIœN΢AP/–¬zŸý_ ðÊYèÔëÿJè Œ•ÜN^{•]1?sèð’3ððbÂß^¤µ¿[µÚPªt4ð `î¤×IMÏ@_` ==ƒ#{wâîéÍÐ^a¨¯¯$OüÁÔéó9ù&¿0 OGrÒâI:²$©šw+Jt4–ŸO„—Šs=oZ6k„“£ú¼n«JRòÜ;3é2p4‰iz¼ý›ÐØßGGbÏŸ­Ñ؈XÉç,gÜ”yLš8WG;²’/³{’d»Ñ¾f–ΚκC)ÌZ´ž‘ÃqPK\8¾—-+$Lå]‘!ãIn‰V²xÓϨì=y{ÊÿѰA{Ü4jNå&2–O’ö %¿Ž…6²3Ryí¥¿qîrj#Gn"áj.+~Šcµ3‡ öD®gÿ±sŒV<<<±™òÙ²ýšÿ‰`ïrfJÆarÌЩ{(çíbvÔv~üé‰W ðòªG}õTpI©& yÍCîüµ´ íB«Ðû3¶ñi¹¦ÔÒ±s0Ç÷F°cû6>Ê•¬bü|hbw=0ÝRÀñ¤SÔõõ¥™Ÿ{6-gãÆœ8}Ž<£š^•¸(e–”ñdii)z½þÆg‹1—ÿΞO±UÒ¾7{‘o(!ÜCDz¨½é$œê¸“šÞ_¯:èõ5W¹óóóoÜKx« eV+9%%èouºŸˆ&%%¯&m˜ô¯—éÛ»'þõ˜ñæ`¶\<ÎéŒZÚ«n7¥¥¥ t:]ÅmëóÈNO%R_ÆgÆ1èèж% Ñ_ÑcÄûlOLÁGWî÷ôõ탿ÓJž}ªkùJ×ÙÎÝ{ÑwTÑ;6’¯×ßV·ÉdÂ`0ÜÖ§»Á`¸‘àËÞ޾ʲ¿Üå¨×ëoä™ù¥ßùùù(‡ç4o:€ºÖ­ŒìÙ×ztéÞ“¡:òãö äçë¯ûy$žêø4˾ÿ?úvß €‡Oz÷Mp›–ÚI~~>&“é7mFŠŠŠªÝÿââb¬Vk­³«°°£ÑXëì*((Àd2Õ:» ü4Á`¨ðÄ×}'ÉøøxÖ®]{ãszÒ6ì<†RS—NaMøaózRãN±þÌ%’³OðÊîõH % ÅPøqúR]|k¯WTTDVVëW/'%)‘ø+© ‹@ç„zÐHt^N×·~vE~‹Y©!¼GGŒÙñÌœº™Ëññ$¤dÓ{øb"6rîúÂÆb±pùòe"""*ÍÁ’ŸuœÃ5žùvlùþK>úg IøuF:~µç]o߯_^~“Ü\’Zƒ³³3öö\MOCŸ—wÛø$$$uÇã\yÉ;q’ÔôLJŒ¥(µ”å««ëm+ÞäKç8}6–Œ¬Lf+ •›¹„ 6Ü8šeµZINNfË–-8::V¼v¶Y™ðúdòô(5Zœ±··çjZ*¹99¬_¿þæ1G›ïüs*…׌hììq©ãŒÉW.‘––Ɔ *tœŸ={–¢¢"233«¿±sì礤W,ïÐПðva×ÃЪ‡cÇŽ¡Ñh°Õ0Ñ\Fê1M®XHP© ë??»êoàRSS‰ýÍ{twºCçNG—Pq”‰g}ºvé‚k bZ333‰‹‹«‘]†Üsìùñb¥ß÷D3Çš%’KIIaË–-5:bj3ç°wßa …e5n¶ÍA"¸ÿ_EšÁ(r¯]Zø N'T …h"ü}½…V3\HÊAbà_&‰Œcœ¦™™¢G÷®bPÏÂËÃM¸{ÖA­ÛŸú®Â­y‘]f½!`,˜ýŽptp!aa¢uËfÂµŽ³ðj &ÿ÷K‘QPRmá&#õ¸Ðª”¢Yp¨èØ.TxyÖ®n¢×¿ŠÃ’ůNDÞßc‰6³8¹DôéÒV¸º¸ˆ>~"8¸µpq²A!mEBJÊM1ÆT Ö-øP´ l$\\\EC¿&"¸Us¡ÓªE§ðžÂø€%V„èèhñÌ3ψâp,ÑlLùS³¢Ö¯ÿy^\1YŠp±r\¥v©]IJ¬âß]¸±šóÅ;¯µ­Ô.¯§ˆEeE¸9=µR»ñi|ÖCnL†ý"¤•{¹`[†¾ ’‚ýŸÅËÑÌ´·g"Üø÷»/²rÎyuÉF×/fÚÔ}Ì]¼’¨5 ™Þƒ'­v[×ò²ÈNI E×WÞû€þ}{Ó6¨ ë>Ïø÷7ñsQëÚ¤¤ÏÀ1øÎ߈O½zÔkØ™—Úw⽞¢e@ýýiíðóó!¸‘*û:ô>†ðž½éÚ FYÅJ§Œ”ÄËÄÅ's)9k ¢¹/DGðìØIø„õä£ySé×§'^N6^Û›È$E·l¢}Æóÿ˜M¿?cÊÐAô ï‚]ÑyúJžF‡íÔ›¥”¤Ë‰OJ#1=·Ê¾ØÊŠ9CFn©Y&ß· „p“TX†J­cÔøž˜2/q.ægþ>k7/†Ù8²mW¢b¨ó^/z<=Š?îædb‹?]U#’LŒßBRVK£6Ó£I=._8Ï{_ü›¥ë¢hÛu$}\o*«ìÝðö à³¹sñó@­ºÇ@eIBkï̧s?§~}/TjŠ*dêÒâ<6¯\ʼ¯r.>$%fsžõ` ¾K®Ö"–mZ€kp,þ G“ž“û¶²aõ26ìJdòŒ¯ ò.'~‹)Ï׬&ü¹ù|ú;äg¤°sí".øš >ÿ` :mõãÄJ ²Ø´b Ÿ}ù-—R²P(U”––Шf!¸µÆìÔ‹,™ÿ5‹Wl -Ç€J¥¢¬ÌBï~}H."•ÖùKŽñù·×®PkpÔ>œ õ~Ï|E~þœÊ^(ìëè~w›ª:¼?k?SfT¬ H*Žê‡2^ÁÿE~þÛ•~¯s®óPìÒ:w!ú`¿–¼8y<áBøaí‡,ŽºÌÁœ:8ªoS“ÉTqÛ†»³ÉgÖ3þOC1rHMÏDWÇ“—þ9“WžD™ÉH ¬:¼êx²}Ój†žÜOnæU2sòñô dÚ§2°g[Œ·´q7ý.+ÎæÃw'±xÓx5æ)¯Ò%,ˆ-‹¦²ùd§òŠu)Ÿp%úD&ŒÍ‘ølš¶jÏËSFÒ¸ž†93§’X\ÊÕÂb|*ÿÒÒÒJm¸ó˜Šªb„M5¬·¬¬ ¥RYs» Êàe‹ÑHM®‹.--Ål6߃]J4Uì~J5«×d2ý†îçxYMFjZ³Õj­ò=¿ãˆ©Ô(ïv%ÇÒ¥Ko®-˜MWùnéR„1l­_³ˆÖ®jr²U\L=ÄW‹¾ãJlÆâ´j¥fË—-A[Í«ü yxÖóÀr­³ƒ#­Úu%8$Œ&¾õ9öÃ6ŽÝê6HOOgýúõw<ŠdµZ¹xñ"ëÖ­«T¸)))!??Ÿµk×Þñ_¹C,Zº‰nƒÇЫs´J‰cÑ»øéèelf‰ý«—sá–[ºãââØ´ižž§·Ð87 C«f¤fç£qp%¼_{‚ƒÛàí¦dëš•·•mÒŽÄÌkäŠp©çKH—Þ„…†`WœÉšåË~ÓïÄÄDV¯^]©p{üVlØKø?Ó³c0JlÙ·ƒ#'“±šê°oÝ*ÎjT ,ìÛ²Š#É… v!Íý±õü°ã4—“rQy¦±yõJœ*XÉžCœ— ¦~8n-FðÒsÏUÛÀììlvíÞËç_|¿¿¥a+P~zïÞ½Œ9’† VY¯Ùl&66–Q£FÑ AƒŠ•7ƒ%K–0zôhêׯگ¹ö ó—©hÒ¼1W/Ÿa÷ŽÄ&eàߪ3ß®Í.­n+êÔ)†NÓ¦M+­sâ«o#„Iªr›ðæâzî©Ê~:tˆ1cÆàæVqpýJK Ë·hiÒ4€¤óÇØµc'—RshÚ“ïæÎ¦OH“ëþJNlÆ!Í ïz.œ=º­‘QèKl4lBP#þ6nl…!V999´oßžž={Öª‰%I:ŽQ£FÕ*»bbbBÜ6k.]º„Á`¨uvìß¿ŸÑ£GWº¹¯$©T*o»¤ YëPþ2üiü }Z̦ðñø&§`ggGË^ 1~´ŠRs!j•;?%%’gÑðÆÄ^tp'ØÙÙ¡P*ÑétwŒ Ôjµ( ´ZíÛúå sUeµZ-’$ÝU}áácÚãk¾™ƒ¤Tãá݈wŸ?Ló~¢R©îªÞû ¥RyÇ~?Ý"Û6Ÿbù—Ÿ¡PkðòkÉ?_ɳ#‡ÐاŠ}©Ç+Ï¿ÁŸ&3Þ\”j5 Zvâåa#ññreÛ†Õ•¶ó˹íß»ÿw‚Z­F­V×:»4 *•J¶«:¾Ø»ä‚ûB’¿™hvu˜<}:Û:wáå¿«™óñ Z”¯.\ƒ»b³ä•–‰Ë=ž£iÇ?òâÈÁ<Îðð bñÆ(® ²¯CCïhÔÊG²/^MÛ±2rI‰©hœ\iØ ~%"˜D`—!ì?Ü‘wl#jßARS’‰\½¡v a}WdÈxÔQã³Ûž-X¶f=o½õ.½:wbì ¯ðT×PtJ+Î*?7©¤ÝcîœÞ4©gÿئZëHó–­‹¾huu º‹«Ô¬×XøÉ¿øß7k±h\k׎à`öíŠ@íÚkV½<Ïd<®$igg‡»»;ééé¬Y³¦Â2ý†ŒÀóôin[ÅîMß#¬„RsA»èïÁ‰{8QC ÈÊÊ"22ò޾½^Off&¸»»WYÖjµ’››Ë¶mÛ*eŠ‹‹)((`ëÖ­•Š;5E^^»víâÔ©S¿ë·Z­±uëÖû„ËÆ…£?ðù¢ ´ìNÇvmiÚØ[I6§í$%-uë×ãnÿÛíNrr2BrsskÕ„ˆ½qýWmÂÕ«W«œ‡ ÙÙÙdeeÕ:»~™¿÷,ÜHBTž1Å`0GYYÙ]“„ÍjæË÷³1Ù•AcÖÓÁ]E·n%÷D&S¦LaÚ´ix{{WY6++‹iÓ¦1mÚ4¼¼¼îy ™0aß|óM­ËRW`3ëùà?¯s!Ï“þõú„sDFFrâôYÒrJøCÎÌüh&ºZ诒!㾬$]\\èØ±cõj‡ùbŠ-Ai«K@€­[×<ÏIvv6ŽŽŽ4oÞœ€€€*˺ººâèèH`` ¾¾¾÷<8ùùùØÙÙÑ¢E‹ûBº„•‘ýF2aÒ Æ ;„ÍjÅÁµº>ÍóݺræànZÝQp“!ã‘%É*W–¶®XLôé$Zvî͘aý°W+@R v Â\pc†QáÇ’’áã_ñ^GOž£¤ÌJ©±µ½+Ey9y„d<É$™ñÓ FLx‹(¾øÓ²(^ûsxùÜQØ!)(4r¦¼ÇJ My±fÅ2¶ì:@Aqö”_ãéÁC°ÊC$ãGY¬àb–ëîL›ÅHäÞµXl›¢¤hì<´88É#ü˜¢  €Ó§O³7r½{ #êpú ç»ÕY³b hß—3YV¢OžÁ`/»ñ®$½û‡c¯ü%VR££u@ì• ,¦öoMÀ¯ÉhÕàî|QÙÙ‚¸8AR’`øp%•œ–“ñ!””€Í&(-µPTÉüo¿À®Ik¦¿ý\T6ΟÍá£åž$$Í¥q`–|‹E<OI:ûöåùÁøzû†Ž›Ä»“žG%J‰Z5—}Yÿ›õh\¹"¸v*‰ÏÞ^B§+'É+¬„„Htì(oÕk3gZÈΆáÃ]5¢+ÞÞì=CÔ– èÓ8rÔƒ"ÓÀ }¶?Mipw—S8ÈxIRR(ù`ÞbŠl¯²þûYtŒÞ„‹ÆÂ¥Ëé¼6c6/ŽèÁ¥s116.]²Z9é9:BX˜!àôiÁÎ6$ZµªÞäòðð`æÌ™÷|Vó¦]Ž,X°àžóö>.8rÄÆwßÙ°Ù`ûvß~«eòÄ÷ÉÌžF•dêxÒµïhöD9`1ƒÑf³@Î&ã‰$IgŸ–Ìùö{†ìÞÁöÝÑX4μñï Ð'­’Ø¿ßÆ±c§gå“E’ }{°y³•ÜÜêO.­VKhhè}µZM§Nä·ä—çí,ao×®Õ ‡ ^¾H¿>K˜6­”°ŽìÝ£ãÇ]f,æòg*I2AÊx´Qe0ùýÀÑ£6vì°¡P@»v ºwWÜ•ÏqÇF#¸ºæ±`Á›Ìš5ëŽ7ûÈx°(,„O>±0w®•ÂÂÛ¿kÞ\bâD/½dÁd‚:u`ÿ~ mÚÈD)C&ÉJ!äå ~úÉFLŒ@¡àŽ9¨ËÊ 8X"&Fpú´3$22Ì™c%>ÌfùÁ=,&“@¯‡_çÊ’$ÐéÀd*ÿN&I2IVsr¥§WÞT^X,‚’سÇvc[7l˜‚Ƽñ†™+lXåÀ»G2IÊx ú½’$ðñ©x²$% vì°b2Af¦ <\AŸ> ÜÜÊË[,àê*¡R!“¤ 2O’¬ z½ Cááå ø¯/W*á­·”´m+‘”$Ãî.^,w›ääüv«íå%Ñ¥‹DQìÝk“Ÿ‘ ™$ï'ÂÂwµ 7N)?±‡ˆÌäåÝ$H…<=%† “;VI›6 ¶o·-“¤ ™$e<8þæ*ÞÉ FŒP0q¢’öí¨ä7I†L’2žt|ô‘’ÈHžž¯¼¢¤qcé7®­–„©Ñ “§ ™$e<91BÉСJT*PW’Ë> @¢E‹òð­ŽT’Q†ŒG¿[Œ'f3œ=kãâEAûö 5’PÊ®d0þîð”Úa¤IEND®B`‚nted-1.10.18/doc/docimages/chordnameexample.png0000664001041000007640000001110211520267216016253 00000000000000‰PNG  IHDR©jHËæbsRGB®Îé pHYs&&¢ï%ütIMEÙ  )ç…tEXtCommentCreated with GIMPW¯IDATxÚí]y\GösÃ0ÜŠñ„Ï"xaPP#(E“(*ù¹Qƒ‹FóÓD×hŒqÁ#7¨Ä(›x ¨¸ŠAE@Eˆ¢ (· \×ÜGÏþÑÃÌÈ13àÃXß¿ª«»º«ëÛUïÕ«W¯ r¹ÞJQ î÷ˆ{Ä=âq€¸G@Ü#¼ BØØØfUɈ-ý¢tùòånnnˆû·%%%IIIEEEhÌë°eË–uëÖ1 Ä}ÿ†a‡ž4i’……•Juppøøã¯_¿®KÙÂÂÂôôô+V´|Bè‰$((höìÙ­­­b±¸¼¼üرc~~~r¹¼"ó¬æâ!!!ÑÑцü‚´†ÛöîÝ›‘‘qöìÙ®ôy MwïÞ½¢¢"*•Šú}ÿƒ§§gvvvWg57]``àáÇ üQ¿ï ƒÃáÐéôîöûÛ·o‡……=zôˆL6èišãiÛñÝé$¾6mÚ´yóf'éùš0tèÐüü|Í_C§¸~ýúâÅ‹õX“'OžŒ5Jùå!îß8BCCwìØ¡yh¨,¸{##«^${sÕ‰D‹-:|ø0Òõz"‘Èßß?00055µ¹¹Y&“544\¸pA9æÏ ^õåÚÇ ¤0Ø›ãŸâ¥ X,•JõòòŠ‹‹ëJ7TætUGDDDdd¤Ví²@Ük‚X,Þ³g··7ƒÁ P(l6{Á‚ééé8ub™\.—Šž™æ€>|øþýû›››E"QVVÖܹsµrßU¹\ž€aâÞ€ d‚S¸ ,Þù?¤ÓéUUUºÌ •9]©¬¬ôð𨯯×eV‰¸ïmîõ·&YÓ-FÌJ«ããùk×®0`@xxxllì³gÏtᾫ"~~~iii:Z÷½Ê}Kiâ$·DŵH1õS999QQQ}ô‘••ÕŽ;:eÃ0õœ®Š¼Qý qßS£Ñä«/£ 8B ×”––2 <[Š”§ :%R½H·,‰=šãõ׿صûë‘–´vùW¯^åñx\.7%%ÅÅÅÏŸ>}úºuë$ÉíÛ·.\¨µ²ç÷3\ºtÉÏÏF£±X¬™3gáùµµµ!!!fffT*ÕÓÓóøñãÊÆïªÈ›î÷Èžÿöùˆ{Ä=â^o‰ªújåÎq$jnƒÂ›ÕõøÏ¯}8!8嘎“Ž&]˜7Ê5ºñs/nÍ™âä{»Q¨Ì!ÓØÿy¿ðsÔîÆÍ½|ãx»³ëÚåÒ­¦”½H±£"=ÃxåýóëŸw$„œÔÙ;rQ»3÷ÛÂNâ cXô¥»å÷ÜM)xÎý]Ÿ‰‘=Éð&ìš¼ÚcŠ/‹ÌŠÉ{‰g™¢|hÔ³Vdýís¼‘~_·O¸¯I\ö7+<í4g£ò‚+¹/Q¯3Î1?+¦HÛSßû(3iSÌÉŠÇ56£¦7NîO=ç€SðÑá&ê>êD;*I‘Bz¾qr/—ÞlÀÚ=~íÎÔK¾Ì6^V¨é{©¨œ/à ©ž/áå)ͺKFZ¢¦7Bî1qm§ùÍÅÑx‚j6n¾­ jz£”÷ŠÉ{»¥›´o¯à Ç€mHÚ'÷’b¨—©p„œ”¥ÉUxzÅ¿& v7NîÉ4¶‚oL®Ôþ6N]Ð"ÅÀÌaÙ×.,Ôî†-û„¹\®¥¥¥¹y÷Öß<Þq#DM5Õ¾bTÀ’]]]Q»÷Z[[©T*FëB8k„’oå†]€Ïã x¹\^{g Q±yØjÔW˜þL’2QÝã'Ï‘iöäÉ“ëׯOyxxh îh]£™Tx!– êRü¦®`r ’Y‡®lÕÛr¹ô[_÷‘#ÜPç¾xñbdd¤H$2=&²¨PÜòlÑØ¹ù<ó½×æÙ›êë¹ûfGþU'ÇDˆ{ƒšã—½)ìûdâ¹ÊVðn‹BsŽþ=l¸¾nŽIêMY·úb‰½Æ}BBBYY™ÖËJÓãSž6)]Ìîê1˜pYF|–Ù8‡?¾[ñ‡*Ó ƒëŒÊÊJ8qâD^^^wËfggÀš5k:Æo­®®Ö@œ®Ü{xxÌŸ?_Û€üÇÇ¿6©ç0¦Íu%·Çh*<zlÐog¾±£ &&Ï×Z«ÞDII •JuttìnÁ¬¬¬Ë—/{yyu·lqqqqqqpp°©iû)ôÕ«W5§/»žTX9ÙB~”H$€ÏB½˜®¤‚í»[5ê›Ñu©/ÃÜÜÜ××· gq·ñ0MMM}f×;±tjz“b މÍg– €g§Ëôró£‹Þ{»eâ@$¤ Nϯ»³eɉbIvk“›”§ÜÜÜÜÇ|†ˆì=_.k^2+Jy8bù¹ˆQ–¼òëãøØAñu­øOž¶ËQ—-..F,öY¿ÏÛ5ëÊKž¦2G'í ›ù$“¶œiô¯9þü† ššš÷Z ‡lQYrf:ͦ‘€Hðž â÷³FLNNŽŒŒìe3K¿ä>Oh™Pª˜ÑÙÎ9±@%‰?²3€’“r™D(–ꥺ/ÒÃpyïÚ$ï߸¼¯®®ÎÉÉi/é1Ñ’íªMµS7/{xOu y´Aq%Êü’ ? ¢j1¹œ¸¼R(5@Ÿ­ððp¨¨¨@¶Mة؆AaŒˆ QD­ÏÞí1gó ±Ê«ÂÚûÝw'xÙ¿~´öv̸ißö|#>òÙêC]OÊÖ¤X¯s™÷‹>‚c‚E›ø2Œ@ M[²nù`&¸„DßÌÌ©zÉÍIúm*[5ÖÜŠšõóƒž=ùlõ%÷BÎezå ¬—…ë“9B¸îtAÊv.™a•ñ²×Œ¥WÝ ¨ú?ìoBêº{ ùlõu¿*lõt‹i«ÍðtéÑàðÁ‘¨yÃÀþC{h­P¹£ÃŽ_ߦ<”ž®ºUÓM3"òÙêóù}›Uuàį• {]z|²o6~hõ76^®Vÿ–#¿Ü:\µûNd÷†}£ôÙêgÜS#ðÄ @Õr5Ÿ'€ålÅ®+ë¹øÈ[ËW/û鞉Êtó£,Ýj¬>[ýŒ{ë2DŠê&G[@E›¥Âôr¦“ %ó;ÉÀ *{ˆDWJ›ÏÖYä³¥h‰­haaÑÜÜ VVVíá6T”·È0 sãÅ~z™¨¾¢ºÕt{`[´•—•åÍRŒÌĶSßs•––+¾>е³£NΜ¼†*fî8À JKKñÌ!C†è·EZZZØlv~jZ^^N¥RÜÝ‚|>¿¦¦ÆÆÆ†ÅÒ²QU,àñ±X‚É@$Qit±HÈçq‰Äö=¹ªªŠÉdv$N¶ûÿ &6sT¿’q§XÐß»¨²ZL¶3û/^uò)WV`觺X0joOgù”µ™ƒt¬¿1Ùvj²N¶ëLï¢ömgDD ‹L4$lÉWÄL#MO§ì”©¦ì ÁÀ«ûC¤6¾pŸQ¦§¯ÕîÈ+–ÏØ¾>)Áùmí³®tñYx1·¦³Þ+€ÌVq/êùSÏ3+†Àî™ÿhn µ`ãqóߣ”ר½ï ˜„s^m!?wû)ZÃëUî`ê®ÄqfTnÕ©±¡û$mus™ý¹òÓÁ ÇÓ¸§Š˜zRÁ“ÿ;^¢èô{cMtðêy›}¶d¢Š÷À´…¼²¦w÷ίë³E¢»$¦|?xÂ7OO­u5\‹Ûêðê°lb5“J$ˆ1ùÓ“0ÑN&ªÞ4{j¹P –#ÂÏ|:T—§—Ï–¼àÆù„¤ky…Å®ØÔjûßA]iµwÖ ´x?X ]¾€mÛÛÜ€í¸õ)ÛnúoJ|r~ûp—k?þ²Õœ1ʾL ™O³ 'qÕÞ¸ä~éÛM;ó„`å’œ±—J€· µÙqË>_ÛNl'ž;¡ RÔÂ:-ŽOdºÓÉ›{I¤nkBúñÓõÛx1õß«¬)$Þ‹;_Ì;ÈsƇN?(y.‹yÍ ãͨÐTºaÖçÛò„$ŠuØæ#e¹ñÞæT¤¯)†Š…ôo‡¾·¢5ÿó¿fô,fc®ðª²¶†Ïc³ºd”D±ž±=¯VÐã Øó´%®0Êûï†?Ç+;³ŠHÐ2Êýng§e+®ìrïLœ»ù‡]¯Ð‘\óOWÛŽŸŸß„ tû˜Äµ•Ïž¿à4µð"© “ k*ŸóÀv|ØR;ïÉÉɹ¹¹áááZÍ,±wï^[[ÛÐÐÐݺå×½‡µ­?ù pš§Gç­ŠñË‹žT>¯mቀDeYÙ:»¸9Ùi±‰ÅÇÇ»¹¹=º'ò>66–Ãá<|øÍfÛÛÛëÚc|Ô¸Õ¿,]› sòöv7pîsssÀÃÃÃÆÆFÃþ¬à¯ì¼åU5\¡”δt2ÜÇßD"1™LooïvW7îÔJ¼™óüÿÿ»¦uŠ1c'u÷]:Ö¤c¾^ÐZõþ,K·_ ?l•Ö1¿+û‘lI3av:æ—œöת¯%Õñáß íM@LOèŒOl÷¥¼—Ëå¿9)zÆì­Ùe-ê§R·)þ”6acº!¼°ñ‰í>æ^*(°g@ùî¬ ?î?ùZjò…­+¦ãC‚µG8Ï`fw=^32hYÇÓ⦜°i3âî5t<Å2ëæýsLŠáH:LRoQÌCtEXtCommentCreated with GIMPW IDATxÚí{\UUÞÿßçÆU#7Eñ†þjRMjæt{š'ljJÒ±È,cA~¦æØ¨i=“Zâ@Ú¯É$›IË1›´q¬±ÉK*©IÊEPÜ/粟?ã9r‚¢rù¾_¯ýâìuÖ^û°Öúìïw­½öw«EA¥R1bB¬‚ mÂ/6©´#&Ä*M™!µ"mÄÈžT|±I¥j×ùÒr©Ah#Îæž"ïøþ PW[#µ"mŒSdü“ÞÝÍx{{c2™È«öÄ/tP³…U–árñeÂF< µ+Üt*Ê.RWÕzïËÕÓ‹îÞ=Ú¼§«¯«µû¢GߡԜûžgþã?Ðh4lûÛçäœÏÇÃÇßaAƺzë.rÖ¤à6¬Iy‚ÐÖÔÕVSWUNÔÀ­>öø‰ qóh³r¡¶~R©ì6­«õÞýÙ¸é#N:Å"P—fb2Ö5É‹J…ª4 s}-•î}pëæí0l²µåVW]ATTÔuE]uE›–c·]mÁT*uõyê9›[Âþýð÷÷£ho¾ÏúŽ€A?®Rž—ÁÀ^^|÷c)½–K«pKP©Ôûmko«ršuU6ª³Å?t?þ°‡òòÔj5ÞÚ:J~:‚øðßµ8°*öeäÐ'æ§åØÒÝÔä'Øú#|òÕ÷Ä=t7în0ÓÏ,úÿ˜-–fËùϱÃ(1T²÷ðù{³âåÇùò»LÞßþ­ôÀN/0U‹úÛµŽo«rš˜Ú¹‚{ Cþþm¸Q€ÅRÆ%o<ôøÔŸåD~1½O@­Ñ¶ìÙœkÔàPÞßú%zÿžÜ3$Üš^tæ!m eSÝ7Œã§òù⛃xt×SYkdÛ?pàÐaÊ/žÇÛ¯—ôÂÎnÁ®ê·Kg>ê4ÿÿ[»ÍáñÍ•c{Œ£4g¿£Å @£u!0zŇ?G§µZEiÎ!ÔþÍ5x„ŒÄÅݳsYDJéàËÀ_z‡Ü§› çJ ôôÓÖÛÅÏ?ÌöoŽññ®C<<:šÉã‡óúŸÿÎôGï ªß|òß³Ù±ï8ÿüþG½w(jÅH™QÃê¤8~8Uˆ‡› !½zðí?‘ö鿘4vÜ=’K•üTX˜¡ýXõÑ?8t2OznG˜ZÝ*Ë“}ä["‡ÝÓäøæÊY:óQæ§ü?¼ðÈ5˹†Àš÷A=¼|ñ I]Þ~ªëÌ(7<Ôõ«{اÕW€Ü \ª¨æÑ1èõ=8’•‡N­XÖH¥¡˜ò‹çQ©Æw%…§yïS3s§þ‚¼Âóüyë—ä^@ëî€ÙX±®á¶C¿`_ÞÙ´ƒûýØúÅ×ö æÑÿ;˜œüólßý/âþs¥E¹ÔUWâæé-½·Ã¸ˆMûí¤øä&iM]Ö¤Ÿ7靖WÖ}Îk3°Wcَʹn Öˆ¥ú"êaþÝpqqAg¦Õþ«mþ¿ÿë0/>õµ†¥ë6óØý?s|n‹E¹²\rÿ±SÊ*Ù{0“î>þôÑ7µ¢û¾?ÁÎ=ߢ×{3d@^njúõnðŸ?ùþ}4›ÞAALšpwƒ8ÍfÔ70èn™ µã¾7`ÄÇÇØæ¿,.gå¼’ºƒ×âl"®&e«Ô76(+<…éâO˜Üðr©¦¾¾žºº:¨/¡²4˜îþw´¼blεwÿ1žÿõ/¨ª«eï¿óøÄ+?¾QPêËÿ¼§»«V‹{7/\\Ýš|WYU›G7´:«¸-fóåò¡[@\ÜÜ›^Õ"°ŽjÁšóÈšXµÚi9Kž›ØÄ .HÛéøw8é/j»«“­¶²ŒŠœSmÖ3ÆP^YCUU&c=†“{©«©j¶Œ&ÛejêêIÝú5onø @­ÑX¿»X^Àð¨þŒ6€ÑCÂì~|m½‰Þ=ý¸ï®Áúz£Ñ¹:¹Ðií*àØ©ž~l<¿5„ŸÇD6½2ÊÖî·+âh:Ø¢tµórlÅeër.ynb“¼å8êß×t-&#U?핊 ¡йº£óÆ1†šŸþ…«« :ŽÊœoq¾¿E÷®>דù”•áåÛ ÛiCCy5Û¿ù wÝɓ޿äéB2Óø÷ïNòÀ]‘$>û8)ïæÌ…ÊkN¬4,Ÿ-»ðИ¡Lpså‡ó54‚z£±!/Üд­pûfmÇ[ךÁ¶9³@âZ´áKÿæ~NìßCÔÝc›”ãð|«éÊ?ï0Cåéïð4¸  "0Üþ&rqÖ·„t7¢ÓéP…ü*W¼ûÆ´¨rŒÆzÎfÆÕ½~½,“‚‚VëBÑOÇ0Ö×Ñ3t .îî\Èý‘ºš 4ZÔZ-õ5UôèB7Šó¤¶ºE± ¼Wnœ;‰‡Wºùøq!/¯èï ÂPLyI!>Á0WOÔZ­õ³J¥¢›·/:WWt.î îÌ㇃JÅ™³Å¬Hû+•Õuøûy R«Ö‡Ð-˜)úžû[aU­*ÇQZc9­š¦¯«(!Ä£Šó/Ò3ê>TjMÓ‚5j”€hªë è×—ŠŠ ”Óyœ®*ǵ›O³ÿœF£FèxbÄË7ÐnßÓËùje÷n.¸_•æxE¬nîÝì¾sóìÀÛ[þMᩨ«©hµ®ø£ÖhÐh´7´tF¸e krÑoíñ*•ºíÊiÍ4}Uq>Y5qï3­“Ƀ†ëÅñ‹UüûµµµFÊÕôÑîÛÇ˯' ²®@Q«Ô¸¸{¢vp1ÚÝ}8qâ¤C÷îZ?ž‰GwT*U›•Ó* æ×¯åñèÑ#½ÑÀ­ƒ4WžÒK;0®—W?žÙêcÝ»y[o«rš˜Ü÷: nžÝ­n{(Ç©À¬åi5A¸^·ÕKï\`ÕåVÿöQ©%A¸N^~k›ÈÄ/„›ˆLD`‚ ».ôz½´‚ »Y‚2dÖR ‚p+¦×ëyã7 %""‚-[¶°lÙ2úöíKXXü±CK¥×ë­iWnü»råJBBBç£>àÀÄÄÄÄâŋť:¿óööæäÉ“¤¤¤0cÆ |}}ÉÌÌ$--W^yÅéqî Á`pèúøø••Ejj* , !!—^z‰œœ‚ƒƒ¥Å„…õy°ü ev7šwî´4ú‰'žàÒ¥KèõzJKKQ_^Zåhß`0XÿX,|}}›¤_ßQ9~~~àææFMM AAA(Šbµp‚p»iÔ\¹Ñ\\cÿ<˜³i,°ŠÀÙ>€¯¯/»wïfÔ¨Q|ðÁÖtNÇùóç ljN”Azz:±±±lÚ´Éú[l› Ü.®u¡¿æc»¶Âj K–,!>>“ÉÄË/¿lMŸ:u*C‡¥¶¶¶E3ˆ«V­bƌ̟?Ÿ¸¸8\\\nèw B»ƒ]- gû±±±ää䛛˜9s¬é+V¬ ¨¨Èn<Ö\9#GŽäСCœ9s†àà`¢££¥Õ„C‡<¡×ëQ©T„‡‡“’’"­&ˆÀÚ¹-tQ˜ ˆÀA&ÂuÓâIŽëY(“‚¬ؾ>èZHlwA¸.¢¬ŠD`‚ ˆÀAæ€Å‹Ĉ#8xð ÕuLJJ" ÀÎÔëõ 8ÐúÍ믿N¿~ýìÞt”&]V`ÁÁÁäääOBB‚5}ذaY÷ ¥¥¥¤¥¥1oÞ< a•ýÂ… í;J„.+°§žz www¦L™Bvv¶5}Ò¤Ih.¿Jvݺu 4~øaòòòX½z5|ð‘‘‘,]ºÔiš tY¥§§S[[˦M›ˆˆˆ°¦kµWî¼úꫬY³†³gÏ’žžn½U0iÒ$¾üòK¶oßÎêÕ«¦ Âíä¶®¦ÏËË#,,Œ   Ö­[ç0OBBS§N`æÌ™vã2hxrzΜ9NÓ¡K ¬qŒ´hÑ"‡é$''“œ|å-ïIIIó9K„.ë" ‚X0dù“ Ü$‰û%â" ‚LD`‚ ˆÀA&"0AD`‚Р7‚ÐôF:¼‹(O" "0',Y²„={öÜPâV "0¬X±‚ÌÌL¢¢¢¤V¡-–’’ÂéÓ§Ù´iþþþ-v½±Ísu°½^ÏÊ•+ !<<Üú Ï#GŽ0zôhüýý=z4ÒºBÇ؇~H~~>`íÚµ¬ZµªÕå8 zcë.^ìÀÇLJ¬¬,RSSY°`/¾ø"qqqäææg÷ô³ t(­_¿žèèhfÏžÍòåËILL´¾;¹58 z΃ÝLŸ>777ÆGII ÙÙÙÄÅÅáááÁÓO?MVV–´®Ð1öÕW_qôèQNœ8Á®]»˜~Ñ¢ENƒÞ´4ØMã~LL ûöí“:¾‹(ÂM°`m¹üIn( "0„ ˆ‹("0A ‚ ˜ "0A BÇD‚ÞB{ÀóonkqÞ?ÍyTjW±#ýX ˆ#ˆÀn¢€ÄåD`‚ Ü~½þúëôë×ÏئÑz]ý9))‰€€; ç,ð͈‰‰!((ˆÅ‹[ó_}.Aèô[µj .¤¨¨ƒÁ`uÿl? 6Œ¢¢¢&Ç; |“ÀK/½DNNÁÁÁNÏ%^`«W¯æƒ> 22’¥K—:Í7iÒ$4M“tgobccqwwçÉ'Ÿlõ¹¡ÓlÒ¤I|ùå—lß¾Õ«W Óé8þ¼]>­ÖñGo"""ìé4w.A¸ho׉ÇB¾¾¾Ì™3€©S§2tèPjkk¯Ë•[µj3fÌ`þüùÄÅÅYCÉ9:— tj9Њ+X±b…Ó<¶ã4Gé#GŽäСCÔ×דššJtt´Ós B§ØÍ´Œ*•ŠððpRRR¤……Ž#°Ž°üI¬•Ð!&WZ¬ä˜ ˆÀA ‚LD`×ƒíŠø›ùWºœÀôz}“Õ7ë¯ ´niЛ[ÑùmE,Ê‚)ŠÒâ­­Dz£¢„.ã"Úvþ›%6ƒ V`K–,aÏž=·µó‹:¥ÀV¬XAff&QQQ·µó‹:ÀRRR8}ú4›6mÂßß¿ÅñâÅ1bÄžß÷í©§žÂÝÝ)S¦ Àºuë4hþþþ<üðÃäååŽ×8J &tx}õÕW=z”'N°k×.&Ož|]¶j"""xõÕWY³f gÏž%==Ý:åï(p£4±`B{âºC„„„°cÇÞ|óM\]][<a+²¼¼< bݺu@CléS§0sæÌ&ÖÏ6p£4±`B§€F£!11±Åùm;ãçE‹ÙåINN&99ÙºŸ””äT8ŽÒd%‡Ðá]ÄëEîƒ "°fP©T-ÞnWç—1˜Ð!]ĶÇ­pßÄ‚ ]ÖE4 ò<˜ »FžD`‚ ˆÀA&"0AD`‚ÐA¸¥AoAÖ Î‚Ù8ÂÙjAñ6 7ˆ˜ "0Aèò;xð #FŒ ((ˆÅ‹Û¹ŠIII8tm×¾ñÆ„††Á–-[X¶l}ûö%,,Œ?þpG:½Àxá…ÈÉÉ¡W¯^vß 6Œ¢¢¢k–áííÍÉ“'IIIaÆŒøúú’™™IZZ¯¼ò à80Ž tzeggÛ½±eÒ¤Ih4š&ÇX,»ýéÓ§ãææÆ¸qã0<ûì³ÖýââbÀq`Aèô‹ˆˆ° zc‹V{å/»w禮¶–õë×ÛÿxµºÙýF±^G:½ÀV­ZÅ;ï¼CXXNó-Y²„øøx"##)//oõyÇ^¿üå/­qáV¡½]'¾:šocð›«ÇI±±±ÄÆÆZ÷Er¶/ã.¡KZ0A v²üIn’ÀÄÕqA&"0AD`‚ ˜ "0A ‚×¹ÑÇÇGjî&£R©Z|s_Ú£}µÇ àÒ¥KRë7‰;wJ{tðöQd &"0AD`‚ XGFÞå,ˆÀA&B—XcȶÞÐÍB¡åõ½råJBBBç£>àÈ‘#Œ=FMFFF³ù³³³™0aŒ9’ï¾ûNÖ1 ”––’––ƼyóD·²²²HMMeÁ‚¼øâ‹ÄÅÅ‘››K\\3gÎl6ÿ /¼À´iÓÈÏÏgÙ²eÌš5«ÃÖ‡¶³6ôºuëxûí·)**Âb±HD¬[ÄôéÓQ«ÕŒ7Ž’’«EŠ‹‹ÃÍͧŸ~šùóç7›?##ƒ™3gZ…ؑۮÓZ°W_}•5kÖpöìYÒÓÓ[õvNá:”ƒðåýû÷'==šš6nÜHddd³ù£££Y»v-……… .^¼(ko$$$0uêT"##9zô¨ôüÛÈš5kHKK£OŸ>¼ÿþû¼ýöÛÍæOKKcóæÍôí۷ÿvªÓºˆÉÉÉ$''[÷“’’¬ã2Û¿BÛŽyíÇÄİoß¾ççÓO?í]º… ˆÀA&‚LD`‚иîYDYzÔ¾öèD“Uí iN&0¹‡Ô¾ö1˜ ˆÀA ‚L„kLr4>a*B ì‰'žÚ„›%0±^‚Ð2š3FÚë=P„°`'N”Wâ "³ˆ‚ ˜ "0A¸u´j5½¼lûÖÓÜË·¥=ÚW{ܰÀ@^¶}+iÉC”Òí«=ÄEƒ ‚L˜ Ü>:Ulú-{O’ºí0&‹E…†·ªŒ‹ cþ”QÒâ6Ô™”Dé×_Óoî\ú:x—¥¶•N‡J£‘ ëÊ3™-¬ýôKâÇáéæŠYQa²€EòjË6ü̆¼ È~í5MœÈðßýŽÝü#>ˆgx¸5OÑÖ­d̘GH#?û ·^½¤âº’‹øSÑ%,– Õøþ/oO7þõC>{3òùÇ‘|þþ}žn:äõ`6VÉhäxR÷ÏKÈ!¸yz2xÂNÚ¼¦2;›Ì¹s™”ÄwßÍ·cÇRõÓORy]E`{æñâï@­nˆ ¨R©@Q°(`´@½IÁhV0šjë¨%và•F×éðèÝ›Zƒ**PÊË 5Šªãǹtð æª*MžÌÿ‰ÅÍÓ“àáÃ:~<‡Ÿ~Z*¯³ LQ`ýö#üiÛ÷ÔÖ›¯ü#*Êe™,`¶€É¢ÂlKeÒÒWù‡?ptûv D©¯GUVÆÐG!31‘Œçž£ïСø……¡TT ÔÕ«+WW©¸Î,°š:É©ÿà‡3ùÝ”ñö_ª@,Jƒ¨êÍPQU‹R_AT¨Ÿ´ôUô|è!LZ-%™™¨Üݱ”—º®Ο§ÿرXÎE¡º²’ï?ý”!6´êÎÞLy3ÞXÙ^ß‚ÙaVXRÁs+?§»·7±Þ…«®a~澄¸/áÆýv#гÿ¸{²wþ–ÅÅÏǽIyõõõü×ý!!!„„„0gÎêëë6ØÉ“'‰‰‰aC+;X{çΕ+9²møú‚ÙŒ¥ €1¿ù wÅÅ¡ää \¸€Y¯çëwßepj*}û:,g×®]èõz‰ï€1‹x(«ˆß¿ÿ Ç ãΰžüXTÉPoÞ™7­´.pÕipÕªqwÕÑÍÕ J˪1›-Ö±Z#Ë—/'//ƒ¢( 3gÎdùòå,\¸Ð~¬·w/³gÏfõêՌչf!õwÝ…GDEÒ³O¸t ŒF”òr,EEhÇçÛ´4îˆÇìX§å¤¥¥ñÈ#ðî»ï2qâDQUG²`›¿:ÁÒß2ùÁÑúqª°‹EáD^Yed”ñãÙKœ*,#»À@v~)'Μã\iņJ²rÏ£(M_°yóf–-[†¿¿?,_¾œÍ›7ÛåIOOgÑ¢ElݺµÓ‰ À\UEUn.ÚnÝîÖ×c)*Â|ò$ºûîãØ¶mhBC Ÿ=Ûi¹¹¹°aà 9sæŒÝ÷‹/&((ˆ#FpðàÁfÓõz=IIIÍ„ `äÈ‘|÷Ýwdddpï½÷âççgçi¬\¹’ÂÃíA›œ•¡×ëæïRûýûß°ã@>±þ#:Î× *µ•Z ¨PPaQ&5Ì“EÁlVPh¸Ñ¬Õ¨©3špw±¿QzþüyBCC­û¡¡¡\¸pÁ.Obb"³fÍ¢OŸ>ïÒª(yæúDEእ åÒ%,¹¹¨ýü(»x‘‚¬,§¥5[̆ ˜;w.Z­–ÄÄÄ&ntpp0999ÄÇÇ“pÍôaÆQTTÀ /¼À´iÓÈÏÏgÙ²e̺|#|æÌ™ÄÆÆröìY»GG|||ÈÊÊ"55• 4[†³ü]J`õ&3(`Œf…z³…z³BM½™ eµj(4TS\VKiE-—ªê©¨1RUgB¹|ÌÍUÇ¹Ò BzÚ?;@nn®uÿÌ™3Ö+g#Ÿ}öÉÉÉ|òÉ'N_Y¿ÿ=Ú²2"ÇŽÅ’‘55 ÓZb2ááí¹²ãÅ‹N˨««cãÆL›6 ½^Ï´iÓØ¸q#uuuÖ}:nnnŒ7Ž’’’fËp–¿K ìµé÷2~xo>Ú¶&úøzPYc¦ ´–²*µõLfl6“¹Á‚™-tZ5ÞžîlúûQîjWöäÉ“INN¦¸¸˜ââbæÍ›Ç¯ýk»<Çç³Ï>cáÂ…¼÷Þ{F\E[¶P²u+#ž|Ë¡C(f3š»ïƉîP.^Dc00pÂN¾òŠÓr>ù䆎Á`°n111v¤ôôtjkkÙ´i×L×j¯L DGG³víZ 1 \¼,öðþûïÛ @­nÚ•á,—ƒM™0ˆÄػزókΗ2 ¸;µŠqCzrot £r×€bú0$<€¡þô»ÃêZ9çX¾q/ÝÜ]xlt¤]¹ÉÉÉôîÝ›˜˜bbb aÞ¼yMÎ?`À>ÿüsV¯^Í[o½ÕáÅU~ì™IIŒzöYøáÌEEh‡ ãÇ]»Ø±p!húõÃ|è¡£FaØ·K‡;,ëÝwß%>>Þ.->>žõë×[÷óòò #%%…U«V]3ýêɓ͛7Ó·o_ôz½u¼õöÛo³qãFzõêuÍéygeÜ*T#&Ä*M™Aþ…2ªË ¬þí£N3ûøøÜ¶'hó/”3wín"û‡rÏÐ~twÓ2õ_ÿS*èáåNo?/~õó;=øŽ)†;wÛlÈ€Ö¶Ç÷Oûžõ[þ €ÑhDQT*•uS«Õ;·¸+7~ŸgŸÅXVÆ×k×2xÌöþ9QgÊߟšÚZÂÿðŽÌšÅø¹sQ**Àl&0, áCM&"ê$³X,FÌf3&“‰'î £—Ž”¿UØ ZÅ¥ÑhÐh4hµZ4 :î– hÛ;&“ “ÉDàóÏS¯ÑpðϦWr2J¿~Wê1"Mh(yß|C`t4‡ÿòJÏŸgèÒ¥˜L&»I¡Ìd2a4­[ãþî$=…Á`Àb±X…¥ÕjÑétèt:ëg‹Å‚‹‹‹uú·+b[wF£‘±±t{üqŒF#ååå˜L&k=zÍžÍÏ?ÏÑ/¾ ×_Xq§ IDAT¬Y Š‹Cíæ†Ñhl2Ó'tp©Õj»ÍÖJõíå…Ùl¶ºˆ–Ë6Ÿ­EëÊh4«€·F¡4Ö‘µÈܽíå‹”æ²' ÕjE\Q`®®®¸¸¸`±X¬›ÉdÂl6[Ö(¢F5þ×°i=*Š‚ÙlÆb±XëÐY=ÚnB'žä°µP@“»øBËë±Ñº ·àÂ&U "0A ‚pƒc0yjµ}!íщ¦’ÈLí iN&0YÓ¾ö1˜ ˆÀA ‚L˜ ˆÀ¡£c7Mïá¥çå·¶I­Âuâá¥w.0GAh V\#µ!mŒJQF>ð¤¼ÿQÚ˜_lRý/y™£5®9IEND®B`‚nted-1.10.18/doc/docimages/stem_length1.png0000664001041000007640000000776511520267216015355 00000000000000‰PNG  IHDR³bvâysRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ #+Ï´štEXtCommentCreated with GIMPWPIDATxÚí{X”վǿ/ÃŒ\F.Š BŠŠ"˜¤x=âý’Û¼äÖ,³Â]ºÓ`ŸÒ<ÙIÊ}ÊÒJ«}¶ÕÁË‘Ò5sr[àdƒ†"(rî00—µÿ}‡W@f†Ø¿ÏóÌó¼ïš—µ~³~_ÖüÖu8ÆAôì¨ 3A˜ ‚ÄLÅžªàß›ÔT #ãáÏDG’˜ çÈ >þáÏ$%‘˜‰nĹs€T*LKIÖ¯§0ƒèf„†®®Â´’ꉙøýqssÃìÙ³IÌA13ñ»“‘¡ïjµ¡¨®DZ—Gb&º!“'ß¿:‡” "‚Zf¢›±`ðÈ#†ûõë×#00ëÖ­ãÓ‚ƒ»Çgáh (ñ`0** IIIÔ$3A˜ ‚ÄL˜ ‚ÄL$f‚ 1$f‚ 1‰™ zˆ˜Õµ9øëk[qø\6y„è¾bV^KÀXÿlzû¿°xÊp„,ŒCQ³Žë³?à„RE"l[ÌL׈g¶\äï½'n@®ò.™ánowï™&ĽuâUƳƊ£ä!¶ÅüÝ÷ €³×2¼7®¿à=g¿Ñüµ®¹˜÷*bNäK¤¡øþÀxä§HEUö·fX¼ÜùWKÑÔV'3ÄçÙÙt¶µÌÆö¿4•øãÂ]‚´§Žb¨£=œè¿þÊ¢QGGq6.æë-„¼Ò0ëÓgø+ø|®? —ÛøôA§©æ7¸„MŠY§.Ç’×Î ÒÞ<¾\‹¢—öÓwój¬ú!kï¼ÃÇÌÆ ã_3SÌlù‡Wð«á ÿ¸ˆ,ܽS‹ó/­Æ\oZ®¼ dìxÌ™?ƒÜ%±¥·o,²³cÉÛ=«Mš^KG™Ú°2Í?8-N.S£8/Ššæv,ÁÍ£?ü|½ ±ë^;NhÒDH·ž4Q)O žëü–àýêÜãlj@ï6'Q|9{G±¤ü‹âWeg»?ÙO“&4iÒ1ŠìÜ?ýåZþº¾è"F-ÄÙë˜ÀkÐ`øz¶naê‹S°pÔ$œ¯j²ˆmZUfG.Ÿ^\IßËÔì˜Ü=†³/z¹ŽÇöþ>vòJä6ªÁqv÷ÄóxÌ¥`Þ‰Tܾ[…êÂkØ»XZ4צcÁÔ­±vš˜M"5×0:¸b¿N¹®è|”WŽ!.ñ:Î'~‚u.€ôãE¿`¬‹?„«ûcy–¥Ç#îjç¢wÕN¢‰ùf‹ŸvXg8¢öö±C€€ùûñöBýÔòÐhýã‚CÂ] AOî§Óýi_®;c¶M]¹Ó„èAb¶¿7elïàH ­kr`åÿLçÓ|æ ÔÞJh•Ïò}ÿ-¸¯H77R¦&$fóvÒ¯îåö¸`+”¦^ßb¯j!ðÞƒôÂV)OBñÀO¦9õ_åžÎ†Ø¹þJÔ¦‡´Óä߃NMšÜ¼y³Ítï1}€•`ê Á3š0wàØ-û%³ú8têppÆ´xÿçëxÁÛYWôHw$œ5üϯy7ÐÐÆé¡íÑPr o)FâÅq­ìmÏþÎÒÜÜ •Jeµüð;KJJ,ZŽN§CCCƒEó¼hKaa!4Ùù(Їú­SbŽ‹‹kÛ™Õú渱ò$6ÆŠùÖYÛ¤¹Ø³Éþ†Ö¹¯=‡r5ÛâPà+³²È0„Çqb|üÆk0z …iz* žc¢ññ¯mg)))AEE…Õò¿/ Ø·oNŸ>m±|U*²³³-jûýÕ‰ñññprr2;Ÿû;Ñ۵͓&:Má,fØKÿ,¼·;ÚyÿMöÞ 7€ùÏ>Ó*/ùœ¾¼Þ>ëi§ Mští¤ 'rž £ÿ÷ÔÁ9ÌÏ{³… Â#õãÐÊô­òúÛeÃÙAzÚø¯6ÚiB@K1zó·“J Ìz‹÷\åÓE_|&ÿ‹àYß¾úø¶ô+4·P~ÝOq ´Ao¨¸öÆ 7º|ÚiB@‹!’øàÛoÖÃoÚ»ø:f,âÜ® ~‰~«”½³pKßðGœƒV]£Xìá05Þ]´™fÌ«Ç1Z*6ºü®Øi¢U•"ùÌYdd塲A =îq‹×e[å(k:—gÎYy@ƒðtÒö®ªöûHVÞøü(€qœ›»ñVÚ¬mõLsm*Ÿç‚‹Å¬ê·°§âÓ<ÂÖ°Î"ñ›%bfm“‚}¸q)ór°osq”ÄÙ~l|§mí¨l×ᣦeÚ¤`lãRÆìZ½òí%lÝô™µ³Ï#a]3[]Ì:m‹_Âÿ“w8{}w"+iÔ´|Šùß«·£™ƒwï@Ädkw´ùð{‰¹¶ð;6ÅOÚáj?±4 Sv[ŽÛUÆgZøc~Ò6EÜòUédq;{„˜ù¿ýb3Ðð¡E’¾lì”léòålÑÜhÖGl'È{„l%;r¥Ø"®¹φ Öæ+|ÊN㵚T6Ƶ—QŽ'2Û^SÊáDNFVB*c®½:2˜Ž³·|}t˜;3Ëår㉷??ŒÜŒ ¸pñgüòëoÈûg2ÒÎÕCóÀþ€§v|‰•¡Þ@e&äòL SáØ½;¼ÓŸãTì2ü\mÜRT;‘Ô´ú1³{‡ÁF•ã» Ã̳ÉÞ)FäiŠ€~s‡§§§Ù^ÌÌÌ|¨¿L³¯¯/bcc‘›› …Ba¶³|††ÀghH˸Å?þ_]֯ݸŸyùu›ê)3m=>L/3úy¿‰³Íª“ËÑa9œ¶ÛLÈ󯄿iª'-AFFììÌ@Óh4X»vmû¶1!ïÀ$C'ðÊ]fk¨rÇqF}zE¾Âšt6TNCcgTˆÁ"_aLg;õaRÈVÄRvõ þÃý “Ù"ïOñéÐqÞãÖ°[*í•3ŧc![Ø yvU}t;1×lã+ pÙ6)fms1ÛºZÆE­[$‰K[ûV«×êl³œæbÆV˵ÑB»0öVc&æÙUõa,&íÎ6kÅÔ/'ÿÑ~d(áUë7bò`—ÖcøÊ“pì; àv wÓæØìLSsU~JNÅME˜X ÿ!#1a|œ-¼‹Ü*åTÉ©€¢K!#ñ!@'òìªúèp…5Å\_´~+P©1¬A‰ûaç¥,¬ ó÷9;ÝóQÜM›Gó³„m¬Í€«[· „ Zu^þ \b¯®Kç¯ÝGygÛsmnm›éåÇZ/×PzÊ æ0úxÂÆÄì5Õ«}¡k…ÑMÁ¡küµT?ò a[b\ýÇ6Óúü–õî8øêï7ôA¼›†¸‘gÛ³Ô÷eÄ žRÔT4\þ-J®Îû;ïèCÿÙŸ#Ü„¥žÁcí±¿ªœ½ÌI¤_DÔ/âev1»Dð~cù6ÓÛY?6) c×êšAØä83\߃ÑÏ|õ½òû ÅØÐ 8ë*ñãÉPÒ¤½ Þ¿x/EÐHa]"fÈÿþ#,Y‹Ô¢úVïI\‚ðNâ÷X/ó#¶/f`ÚÈ'à¸<¹…å»z!<*O?û$:Û“7ˆî#f‚è¶£Ab&3Ab&ˆÀ¿÷-žÝÅYöÃIEND®B`‚nted-1.10.18/doc/docimages/text_alignment.png0000664001041000007640000002574411520267216016002 00000000000000‰PNG  IHDR¾³7ê¦CsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ 0*ËÚ¨tEXtCommentCreated with GIMPW IDATxÚíy\ÔÕþÿ_³À û°¢d ‰p5PSS#—û«JjnTn¹¤’fÞë7íJf®åFjjFš.¹…[ÞLMQaX$Ù„agVfæýûƒøèÄ ‹ #œçãÁÃ:Ÿ³¼?çóšó9ç|ÎyŒVŸUƒ ŸÁ`Âg0˜ð[¹¹¹HII1Óét¸qãÔj5ÒÓÓ‘••õÜÜJ¥Â7 ×ëMʮ۷o£¸¸¸ÖxÍYß­Jø;vìÀŒ3 ÂÊÊÊгgO|8ÂÃáÑh¸|¼¼¼0jÔ(Àøñãáêꊵk×B©T",, ‰K—.5z¯óçÏGß¾}†¨¨(\¾|™ @XXöîÝ‹ß~û póæM,Y²aaaèÝ»7ÂÃÃæ»jÕ*„……¡OŸ>˜?> ´´¿ýöÒÒÒ0lØ0¤¦¦"33°téRH$„……A©TbíÚµM+ jœ:uЬ­­iÛ¶m´mÛ6êÙ³'-\¸ˆˆŠŠŠI¥R;v,…‡‡Ó¹sçH,sñhîܹtñâE²²²"½^ODDJ¥’PBBMœ8‘>üðC""Òh4Äãñ(..Žˆˆôz=uïÞ¶mÛf`Wdd$õèу˯wïÞ´qãF""ºyó& FCýúõ£õë×séfÍšE'N¤ÄÄD@r¹œîÞ½K¨¼¼œ’’’ˆÇãQII W¾={Ö üE‹Qpp0W¾N§#½^Oÿþ÷¿)((ˆ ?tèyxx‘««+=z”ˆˆŽ;F®®®ÕêÛÃÃ<È•=jÔ(úôÓOé—_~!.ß1cÆÐ‚ èìÙ³dggÇ…—””Ç£¤¤¤&Ó„°5´ø_|ñœœœ¸×ªN§Ã÷ßY³fÁÊÊÊø«Ï‡ŸŸà믿†««+222@DàñxFÓ<þx¼ªkúHþx:cyëõzðù|ƒ8OúàNDFË7–/Çã®W•Q•öñðÇ»V5åg잌Ý{mõWuM¹¨ Utuî߿իW#..qqq¸párrrž8RQQÌÌLøûû#11×®]ƒ——ºwïÎu{~üñG£iÆŽË]¿xñ"^yå•Ùÿî»ïbß¾}ÐjµÈÎÎÆùóç1nܸ㻸¸àµ×^ãÊ?tè|||йsgƒxAAAHJJâúÿ ,À;wðæ›o"55‰‰‰Ü}>©ÈÍÍE—.]`kk‹ØØXèt:@¯^½ ªÕOaa!¤R)× x{{ŠŠŠœœ °··G§N7nÜ@ÇŽ!‘HP\\Œ´´4ôèÑà ϸ¸8¸»»#==àíí ””” %%={ö¤¤¤@$ÁÃÃà¾zõêÕ¤ºhѯ ¹þVVÕ¡_ZÆøøxôïßgϞŰað~ýz0ž/Z´ð•z=v ÔÁ6FZ»† ÓépæÌìÛ·“&MÂ+¯¼b0ðd0á·Há3Z¬©b0á·DD<øÔ¿g´jü€UXdeÜÜGGCᤦþš¬àHrr2™á5ssÀÖÕ«ðñáõDÏ”š>énß®%@E6h«]ë×OC€Êà/4´‚ˆˆæÎ­¨vÍÛ[MááÕëþ šæ³´B§£íùùT®ÓƒÑhKJJD‹ÿê3ý­ÓtæŒ ¨ äñ*¯/_.Dj*ÁÇGƒ·ßæ#*ÊŒ{#4¬mcÔ§«S¤R‚Hô¨»ò8’“‰v§N•Ý3³G?”¦<s"Áhlá÷êõhi¬\.Âã&'O~´!ÂÛ›‡ädsVÛŒ–!üââG]ª–¿Š˜îƒÑb„/U|ff5_c0L^øè¹¾:¬^ý(ÉüùZ…UÝÆgs’Œç\ø^^¼¼x(/V5¯ß«&..Æû7¶¶À„ øû³þ£ù0™µ:>„J¥âvÞ4ÆÂ/%¢U*Œ‹aÑ¿ïX2ˆz½Þè²cS°­±žçß±±±ƒƒÃ³ïã7&‰‰‰ÈÉÉÁÝ»w!“É0`À€§ÎSÃç#ÝÖWJKaÖN—NŸ>.]º }ûö&%®’’œ:u cÇŽ59áß»wyyy8p`£çݹsçç_øC† áÔ©SHMM­÷V7£-¾^}QÆ884J‹Ÿ’’‚!C†Àßßߤĕ••…›7o6J56¿üò ’’’šÄ¶§yóšÔfóÚ6]7 C^#åWÕÍ1µ®Ž©ÚõwûL‰½:“hØ—[Fk>ƒaò]={ö -- R©())yê<+„BÜpsC~V„mº~.^¼ˆœœÄÄĘÔC,--E\\–/_nrKIIL&ã\6&½{÷ÆÐ¡CŸoᇄ„¨ô™ššŠ™3g>užr½» 0ÙÑ0¦Óé0|øp“ÜcñâÅ&'üÓ§O#99³fÍb]ƒ ŸÁ`Âg0ZÙàöÚµkÉdˆENNNžì;«¶/ÂN¨Á¥_Ï .ñOxö„áÂÙÙ± ÆÚÚ rfªÓäàˈ8}þO£×] ÅšO?»¨þëmx<,,,ìdõþ˜8}G×'o߃I^n Ê["‘ ¤¤¤Á¶gÆ[!Æ}åOŸ>+W®|¾…ïååœÈ¿ûc¬‰¢÷°úãeHyñuœþ|$æ|(Šr±h6Vm‹†VkÚ'‰ÕSÛØ¶m[tîܹζ=ŽV•K±å/i}üºØ ]º¿ /‹ú?’¬¬,8995È.W«Ñ.pìäƒÝ;6(ïüü|èõúÛ–'¹R£mOsÞ×sïÿJ\,ö]H€¤¨JË•8XÁÒ¾-þ½â+$JSqøün$<\‚Á’ŽÍj'_`¾ýß„Î,Çèu'ÿ¾°4Ïg}[G¿'®¥ñ³·n¶z[wªÑ¶*ç³­Rø~^ÞØ­#~½uëv`ù‚÷áh-†È¶<Ûx¢íKöxAbßü³fm0}ö*L7Á:lç5 QQ£LòùÚ:"**°ånKKKQQQ²²2Èåò: -\¼°úëØ¸q#ŽmÀŸÉñ zTž‹<‘=¾ùúcX õ2 U(())1¹ÁmQQT*•ÉÙUõ\ëó<ëõ6‹k<ѦÖq‘©lDùù矑™™‰ÄÄDäççcРAõœÑÑB¥RA.—CO|ˆÁƒ7þÛÞϯÁ§Ì˜L‹ÿÆox´daÚ´i&÷óòòLvÉBzzºIÖYÕ’S³}Àb´J˜ð­“éê¨Õjèt:¨ÕjTTTpgG™P©T&g›R©„V«5É:S«ÕÐh4Mb›P(„yýPšÔàöÁƒÈÊÊBYYYµÃÚLøøx¸¹¹ÁÉÉɤìR(¸uëúöíkruVÓá{5¸íß¿ÿó-|Fcpˆ0ƒQ—_(>ßÂg0Øà–Á`Âg0˜ð &|ƒ ŸÁ`Âg0˜ð &|ƒ ŸÁ„ßÒQ(X´hŠŠŠ ÂüñGnÀÒ¥KŸ«{Ú²e .]ºdR6;w;vì¨5^JJJ³Öw«þo¿ý†+VàܹsáGŽÁ… ‘‘µk×>W÷…ØØX•y6oÞÜì6ýþûïØ¿­ñ”J%ÒÓÓ›ÍNak½R©Äúõëñ /`ãÆ>|x­{5óóóQ^^ ¸ººV ‹Å …àóù°¶¶FNN —ËѶm[”––rûLmmmáèèX­Œôôt899A&“ÜÜÜP^^ŽÒÒR˜››ÃÝÝ@徬¬,0¯"##ùùùÈÎÎF~~>Ú´iƒÂÂBÎã´ƒƒìììŒÞçŸþ Ý_ž¤;tèÀUõxxûöí!P\\̹ôP(°´´¬Ñ_N^^är¹AœÌÌLØÙÙA&“ÁÓÓË–-«V¯àììÜུu†Z§N"GGG""òôô¤ýû÷sׯŒC , ³gÏ’¥¦¦’ öíÛS\\¥§§“¯¯/ víÚ‘¯¯/Íž=›.]ºDæææôÍ7ßPŸ>}H«ÕÒСC •gSP=(++«š]hĈ\¼‰'R=9;;ÓåË—‰ˆhéÒ¥\œ6mÚÐ¥K—ˆˆ¨ÿþ´nÝ:²´´ä®7ŽòóóÉßߟ 2d)•J£õ"‹¹x[·n%"¢Ó§Oä¹eË""Z²d y{{“—— ///ºsçŽAžŸþ9uìØ‘:uêD¨cÇŽtûöm®î### EFF’D"!"¢””êÒ¥ WÞèÑ£›\­¢«3oÞ<¬Y³°fÍÌ›7ï‰ñƒƒƒñÑGA&“aÆ >|8×-ªj±nÞ¼‰®]»rit:¬­­qêÔ)ÄÆÆ"557oÞD^^w¶—1\\\ “ɰvíZ9r‹/†L&ƒ‡‡®_¿Žû÷ïãçŸÆþýû!“ÉŒíÛ·s­1ýôSƒk±±±ËåFÓõèÑsæÌH$Brr26oÞŒŒŒ ¬Y³¡¡¡°´´DJJ ~úé'L:µZúÕ«WÃÍÍ :u‚››,XÐ`oÁãÆÃ·ß~‹Y³faðàÁˆˆˆ@DDD"Qµ¸ñññ¸víV¯^W_}•doܸ±Z—¤C‡˜={6ÞyçL›6 ÑÑÑ …ؾ};æÎ‹̘1GŽA¯^½ˆ«W¯ÖÉæ³gÏâ?ÿù^~ùe„‡‡sÝÌšX½z5>øà˜™™!)) ¿üò 222˜ðŠ\.Ç¥K—ªyÔ1cºw‚899A"‘@,ÃÃðiÓ&L:óæÍC§N°}ûv@Ÿ>}ˆyóæÁËË‹;„Z$ú,‘HðÑGq|Ô¨QèÖ­[5û:tèÀ ØÚÚm۶容ººÂÆÆ"‘ü1æÍ›‡cÇŽÁÍÍ ãÆǃ‹‹ lllááá˜={6lmmîÇ>}út8;;”-ðá‡"((ˆóüðÃàóù˜>}:FŽÉ…ïÚµ æææ°³³3ȧ]»v°°°0È×ÎÎHHHÀîÝ»áããƒaÆÜÝÝaii õÝ¿ 0€+oþüùM>«Ã¶Öƒû÷ïcçÎøì³Ï‘‘‘#GbÅŠ >€ŒÁº:Ï …7oÞ„³³3lmmÑ«W/“}šZ›J%FI$챿ñÐétˆ‰‰½½=LÎ>©ZX¹!ìa±¿ñܼ>ãù…­Îl‰?NU~ëÜ Ÿ ŸÁhpÿèQ=x< GÜݵ&¹¹„ØX‚V ¼ù& pö¬<ôìYïçŸõÐj>‹gg sg>þ6ýËh$ˆl¶¢nU+ff*âóU4~étÂÿïÿ*H P "¹œèî]=*7NÃű±Q‘P¨"5yzªÉËKM¡¡ÊÎÖ£ñIT*éÀ_ë´:s÷nòò*Û“ÂBÂŽº:¥{á22Ìqù²¦NåãÀ=Âõ(+cmkñM¼ß¶-¾¾|lÙ¢ƒFlß®ƒ§';Öm Åã®®  j‘—„† Pß™3ÈÏ'X[Wþ “>ØÚò0y²7nÞ{[ÛúVRB8vL‡'ôè×_dóÍŒæ¡ÞKfÎàÕWùðóã_ÇŸMv6á7* —))„^àá¿ÿÀɉ ¿)`µÚHÂ_²DˆªcŸÚ¶å¡mÛGUÆG` ff€“ðÙgBøù=ºþé§B¨Õ•óø¶¶@ÇŽ< ÈG ›þ„R©¬Õ¥…^¯‡V«mðaaM‰F£á<6<-Y"òÌÌ ÿËcÁÓ@DÐh4077Ïľóx<Œ?¾áé[ÂêLN‡œœœ'ƹ{÷.~þùg|üñÇ&gÿW_}…7Þx]ºtyê¼’µZ<Ðéðš‘Zõ¥¤¤«V­ÂÂ… ammmRu–””„×^{íÙuuL@€víÚ=1Naa!¬¬¬j×XYYÁÙÙ¹Ql+Q*¡ÔhЮ^©VVV°°°€»»;·ÓËTø»G¼&Ü2Lý_ &üV…ŽloQ+éêèõzÖújT*•œ»>SB©T¢¸¸¸Ql+ÖhPªÓA¦Õ>}^ÅÅP©T(((à\š ÅÅÅLø*• |òlGVîÝ»Wk¼æàÞ½{8{ö,îÝ»÷ÔyeZZ¢ÀÜò§P¹Ç8-- GŽX,6©:{øð!çå¢Õ ßÒÒÒ¨›Ç‰‡V«­5^s‘‘àà`£.HêËM…j4øW#l6/**‚T*EXX˜É nXŸÁ`Âg0˜ð['l³yí´ˆ/·åååX¿~ýãäææ"!!¯¿þzà ! J ÕŸ%7³±…ƒeÃöSÆÄÄÀÏÏÏàŠÚÐëu—•A«ÓA©TB­©€¹Øªö@v6ðj„"•J…˜˜ 6¬aK=HYA1t:ã3·±ƒ½eÃ͵úä|²m­„[·nÑ¢E‹œ^Yxš:u”p‡üý/à‹ Î{Ñ¢EtóæÍ:Ç×ëÕ´uå" [¸ŒbÎ_¤“GöÑ´qo…¹uk"í¹Ú(uVXXHÓ§O§ÒÒÒ†ÕYÁ1òp³®±Î¯û®Á¶ÅÇÇ37á­ =Ž»ýç+Œ<‚ÀA•Szƒ†ß‹ 1ç‹ï±¶xë—°à³.OM0á×sëîØ¸å”Ë+Œ^wðéöl !=þfA¡ÖâJÔŒ„£¥9Ä6Nø`Á2D¬ÿ yY7Pª£f¾™u/lýn”JãÓÚøõ`Â7ùY3g¾þÿL`T&ÄÜ©“qéü9üïןðþ\l[÷o8Z˜'ÀÊÚÿoò§p1kþy ¹+† {ƒµøM…Z­ÆÅ‹Ÿ'-- éé鈉‰19ûÓÓÓqåÊäååÕ9Í´ùŸà¥˜“ˆ9ûþ5â*ºùz£¼0ÿœ<¯vµm”û,//Gff&Î;Çùµ7222àçç׺…Ïçók<β ˆÅâZã5b±666õ²ÍÎνºbÂ4=4j ˆÇƒ¹¹Ù»áóùܦ&ü§ÝÐ"„offÿZÅuûöíZã5‡F×®]eÉBcRTTgggôìÙÓä–,X<¥+>ö‹Ñ:Çl¬ ­‘ÑÕÑétøóÏ?Ÿ'++ %%%HOO79ûKJJ Ûúúkyv•••!##£Éc«/ÙÙÙO5¸mK”J%¢££ŸG£Ñ@.—ÃÞÞÞäì/**‚•••Éy€Ðëõ(**‚½½}£x€hìÆ®Õ{Y`0XŸÁ`Âg0˜ð &|>ƒÁ„Ï`0á3Lø >ƒÁ„Ï`0á3Lø ~³pùòåjçc©T*¬\¹ÅÅÅ8zô(.\¸ðÜÜL&ÃÊ•+¡m7àÉæÍ›!•JkwäÈüúë¯LøMIEE¶mÛ†•+WläV(X¸p! …“'O>7÷”››‹… B«Õ"%%^^^P©TÍn×òåËqçÎZãݺu«N?¦¦E»ÉÉÉATT„B!~ù儆†>1>¡ô¯ãÖ---affV-ÜÂÂJ¥ÖÖÖP«ÕàñxÐjµ‰D077GYYôúJ7ƒÖÖÖeh4h4î_kkk”””pùW­ËW*•Ðh4*÷ ‹;ÐM£Ñ   ©©©(**B›6m  ¹|ÀÖÖÖèi…P(*÷+Wm$<\(r›OJKK!‹¡T*«ÕÍß믪üª8Z­ …"‘Z­áááÜÚþÇëÀ³uÐ’ÝŽ9’/^L§N"GGG.¼  €Pjj*3†,X@DDûöíãÜÛMš4‰‹ðàA.<88˜Pbb"M˜0fÏžM¾¾¾´sçNº~ý:¹ººrqW®\Yͦ-[¶P»ví( €»»;­\¹’x< ‘#G’^¯§‡R¿~ý¸¼Þzë-Òjµ”@(22ÒÀßÅ‹éܹsdnnÎ…8pÀh½¼÷Þ{\???JOO'"¢)S¦pá¾¾¾”––FDD...Ü} Y³fUËÓÝÝÝ Î´iÓˆˆ¸ºˆˆ ×_Þ~ûmZ¸p!íÝ»—‹/‹éüùóÏL-¶«sñâEÄÆÆbîܹ0`üýý±zõê'ŽæÌ™©T ©TŠÂÂB|ñÅ(..Fdd$""" •JñÙgŸ¤;wî¶nÝŠ   ìܹƒ ‚T*ÅÖ­[±ÿ~£Ç–””`êÔ©J¥°··ÇöíÛ‘””„#GŽ ::z½.\€L&ý{÷páÂ\¿~‰‰‰\#GŽäºh ðññÁ¦M›¸{øâ‹/YítÀÔÔTœ?G…T*…§§'÷æ8wî> ©T [[[9rÄ`l!•JYã©2¹¹¹J¥ˆŽŽÆ™3g––ËåpqqÁÎ;¹¸………!¼ 3IDATضm¾üòKH¥R̘1›7oæÞ8¬Åo ‡"‘HDcÇŽ¥±cÇR»víhÞ¼y¤Ó錶øgÏž%sssš2e M™2…üüühñâÅtá²²²âò•ËåÕZ|""µZM œ™vëÖ¶oß^­ÅïÕ«÷ÿ½zõ¢-[¶Q\\ ­VK´aÃ#G´3gΤ‰'r-¾R©¤ÄÄD@r¹œîÞ½K¨¼¼œKcccCçÎ3(Á‚4fÌ£ŽkGeP\‹üøq"":zô(¹¹¹mñ>\ëÛ¶ªÅ‰‰!‰DÂ…JNN~&úh±}ü9sæ`ĈðððaÍš5˜5kV›º-,,if 3 6¸­÷ï߇••æÏŸþýûs´'N )) ½{÷®–ÆÞÞ˜9s&‚ƒƒ±mÛ6øùùaΜ9 ÄŒ30zôhlß¾Ýh™fffX²d fÏž%K–àÂ… ‰Dxûí·tŸþ9Þ}÷]tîܹ¹¹øá‡o0x}¼[׳gOLž<|ð>øà8pƒFŸ>} â~üñÇèÖ­6mÚ„.]º`îܹظq#æÏŸîÝ»cÆ èÚµ+>ùä|þùçõ²yáÂ…°µµÅíÛ·qýúulݺ±±±Fãöë×ýû÷ǬY³0jÔ(DFFâ½÷Þƒ§§'~CÙ·o|||8ÑWÍpTõ#ýýýakk >Ÿ ˆD"¼üòËøá‡0jÔ(ìÞ½ï¿ÿ>†  |ôÑGxë­·…wß}—ËS,s§òx<„††bÿþý ¬[·®ÚÛÅÌÌÌÀU‡••7CÂçó¹ø½{÷Fß¾} xçwàîîŽòòr.Ž»»;Fމ±cÇâäÉ“˜5k†ŠãǨôÐöwcNNN˜8q"-ZèÑ£^|ñE8::bÒ¤IX¼x1 {÷î:t(7;% ¹Ùcîûlll0dÈîÞ?úè#8::B(xa³°°€X,†¥¥%æÌ™ƒàà`|ÿý÷‹Å8}ú´ÑÙ¢¦€yY¨Ç‡•• „#GŽ`Ù²e8qâ\\\Xå°®NËåæÍ›8|ø0JKKaoo°°0&úçÖâב¤¤$ܸq}ûö}fýP>£S®×#]­†ßSz@®lu&£Ù)Ñéð‡\þLËdÂg´J˜ð&è;¥eÂg´Ê¸ÎÓ™J% ìPo>‰*ÿ­P«ssàñoZ-PQQ™–Ç‚Êë|>@(€PX™W* Ó––•yêtFFå¼Êë F“þІ ©€µµÖÖjH$jtî¬ÁÚµZT-¦Û»Wkk56l¨T)pû6!,¬:i ‘¨áêªF¿~œ8Qù JO'X[«jxvlPPeY2aÔ¨Gå>þçí­aO¯… #‚öO.Öû së–9bbÌàâDDèœlÜà¤$=Þy§¿ÿNøäbcÍpê”&NÔ«¼ÈH!îÞ5dž •/§Y³¸{׿þjÆÓB¨Z”o’]*^z‰>Ÿ‡—_æ#!A‡ÊÕ¸Õwùüø£‰‰„ï¿"4T€ª@ýúùÅë€Ç—a?ÞµñðàýõCªü×ɉ‡—^bGÕ3ž±ð¿þZ‡¢"Âñã:ññâ‹ÆEøÇ•¿ááÃùœè7mÒá¯t˜>ýQË­‡••š= †é ?:Z™Œ›[ÙúÛØ~ÕÀ³¤hÓ¦ò¿ÓãÊ=Š‹I“ èP>Ö­{dÊ”)Züö›ž=†éÿìY3$'ë¢ÅæÍ:ŒÁG@ßÈ`˜Ã‡õøþ{-B,Nœ0C``Î3µ­-ХˣP}Ø#"nS6ãùCSQ­V µºqÞú€[FÝhÂçó??>-`Ò$-–/×aß¾ê àêU=V®Ôá?V ;5µñ‡1 …ß~ûmÃft:\¸p}úô1¹#-ËËËñûï¿sëâM‰ëׯÃÉÉ :tx꼊Äb¤ÛÙ¡ôáç(A,cÆŒ#ünÝx +ûë<0z´'NTv[ ÎÎ<ôïχ»{¥À%`Ã!† Óãôi=bbb1ðÏò1`ÖÖ•ÚþýùÕ«]»ò —óafö(ÜÁ¡2nûöÕm³²²ÂìÙ³TQjµééé˜4iÚ¶mkRâÊÎÎÆŸþÙà{kJÖ¯____¼öÚkOW†Fƒ? Œ–Hž:/N‡C‡5^WgËè"ðãO)ò0t¨aËogÇCh¨¡¡Æ§0ÝÜxøßÿªOK®^]ݬøøßÿøO|½5>Ÿ@Ðà<š @ÀÙfjðx<ðùüF±M 4Z^U¶ÕúÜY“ÑÜÐ_]”g >£ÙÑáY{m[ËË˱~ýú÷ ¯_¿Žõë×lŠ6ÊÊʇåË—›\ÿþûïHHHÀÕ«WŸ:¯BKKµ]z½ò:l\oÂ/Õh±ï¶6æõN[QQ²²2dff֩ªýèwðË6!û¡ñ´/ŒzKÞ lØlGa!ÊËË‘‘‘Ѱ+UV~õ ’ÓŠ^wö/ügìHˆ°Ê»¨¨yyyõ²­¬0ÇßÁ º’\¾z ¥*ºC¯ @dThEøu:!¦%ÌÌVèhOž¼YfuTE1ÔÅÛÞà†Çÿz}¾¾ÙfuÔ¥W¨@Ûmë:÷?T¦Õ?“Y|i, þG{zkÅ#·é9É×hD€ …ôö¬•ÏtV§E´øBŽÂæù¬ÏØ¡[÷Þ°s,5z½K;×f«žÀ]}{BË“½ÞÑÓ‚g²§GŸ¢ã· û h òWïžØöÝZ¼øNG­CæWóÐNôlžc‹¾€‡×íEÍR¶¹MoìÙwÚ$ëÅ̲+¶l;f–ðÐíÅv°³2ÇíC‘ø)ô_x'°<ܺÂÛÑ]{8˜=»¹–!|"BYYYƒÒªÕjh4”••™Ü²ä²²2h4ƒÒLµZ …BQgÛþ‚5X¿e'f†#qÞÇâßò¼dXø`뜹Ж—áiïT§ÓÕé(Ôá;S¡Pà»ï¾kPÚŠŠ >|C‡}¶§îÕ’’œ8q!!!&WççÏŸ‡››:wî\Jò’"äæ>D™B +kˆEæ°•8@bgÆèuéõzèt:Ì;·å·ø–––˜9sfƒÒªT*¤¦¦",,Ì$×ãgdd4øÞš’ŠŠ øùù!00ФìÒét8pà@­ñØ,F«„ ŸÑ*i1'¢<íP…ˆ`jÃ*›LufÊuÖ*„¯T*ñÓO?5(­V«EII ¢££Mr³¹\.Ç®]»L®ÎÓÒÒPZZЬ¬,“~]¶¶ˆY½^ÜÜÜ&¯,S~Ì®GXZZBRËÆuvƒ n &|ƒ ŸÁ`Âg0˜ð &|ƒ ŸÁ`Âg0˜ðŒææÿm<œÚ‘,ÖIEND®B`‚nted-1.10.18/doc/docimages/timesig_change_dialog.png0000664001041000007640000005160111520267216017234 00000000000000‰PNG  IHDRQMLysRGB®Îé pHYs&&¢ï%ütIMEÙ  +9\ÕtEXtCommentCreated with GIMPW IDATxÚì]w@ÇþŸÝ½ãîèM:b7EhìhT,ÑD£±£"v#Æ4Š1Á˜X5€½Eß{IÞ³å—K4FcT0vEQAépt®îîüþ˜»eoïOŠÂ1ŸG|»s³3³³ßï|Ë”/±4áÿœ=|ßiçÚÌ$I†aX–<À*¯ ^fh¸…ÁE]BØ‚€Q‹µó;Á¨Ò:{;ÂP8z!àº÷Õk†¾‡¹¤:«˜ëyX‹åÞB( ¤—Л6áÚM¨Ú®ä@’$EQ,Ã\}¤8{3«´ KäìáûñV"‘¸´´T£Vsß«‰#2óׯ¤Çœä‘)0þ¯!äòë 7Ô„DÞ¶˜n(ä¾%F ãl\« „Iê›Á½)ÇŽ÷¸ÒLx5›ŸÇìÐ`~°à O|Ž09a<¨ñ³™ ü[cšþ$`f.‘0f hnà?b~ 7e]^Jeá4ÍÆÏÃÑ Ç$PPËr„Ê/å1z ‚`yã—çM4óé¼ÏÍÿ¬Aö@ñ Ø›Ï/,Çó<ÒWjÜÉf¯+¥/„AH¤ÒÐy»§o~†Äåyo5u+,,„,Ëo¢Yž7'ƒ„â†ßD˜íl\Im$)ølO ˆòyžŸ(ü‡ u“Q€Ï„¦V~ø*ùYOX$iÄ¥¼¡¡Š€0IÑeIkYôñK¨…yÌ Ÿ§Ôð9„5&Dó%³·€™+GÄ–VŒ üà33ÿ-ªàp³ ¤:ÔhÏóÇMÖÃW²7Ëñ”±<€Æ,`ÊðÏWÁަ<ÒI’”»Ë¯¦*†¦KËÊ„´ÆŒŒµ‚í-‰z®£iš®¨(·—É$iåxfèz£A ±‡@™Sã-ʶ¤ñ3ŸL²q¼ZÙ'&^?[õÖˬùÀÓJŒYî šˆhK„Â; „ˆX$ˆXÔl3àsUqsÊyÕBž?.˜8Ê1Œ¬‰èFjµZDuR© Q¥AA@ó|V§ÓUT”Ëd2‰D ½d†á 6êptma€0ÕˆOo2µ ‚ÐjµJe…¾1<_—@“H¥NNN"’¢´©¾Ç‘ŽPöšÓ(OiÂ0Æh4êgÏž•—•©Tj™Ljooïæ&÷÷ppp`XÖ´"h¬¡”ª-g¡ñ#ÐHùdmh›©Zn–Iøº«YQO bà@³:ª¾yÏs.²Uª&¬üº&Ò€€E½j"4LÇ=­CMtfS ÞT‡ô­yö~ž‰Î'\#KÁ –…<äiþ!ª{ò䉢PÁ§:¹Ü= 0ÈÑÑ‘eY´ñÆÝˆ IOK+,*n@@ ƒƒkhŒ€J‚ÊL¢ÉaÊä˜$­F‘‘!à#WW7??Ô}KxJ×½Z†ru1 # ®5ÞMšðß¿°°a///K_0?/O@Xh I²  ÿÎ;>(--©¨P¢n²—Éœœ›5kÞ¦m[?†e…RÝÐS¤esÔ¬,¿<å™ÏQsŽÓVŒ†žê¾4ËᦉzIbl¯¢a˜JfÛ\©ï×e–--HeŸ ‹a 0ã"åBð;„§µò5çç+æ9 oÆ»Æwspíçù®rssnÞ¼i‰ê^{ýõ€€@–aŒ´c¢(*//÷ö­[– iûÚkþ~þŒ¡À{Y#ée° Ƽ© @x&"‚¤(ÅóøÈ×Ç—fÀwž†aDÐøgÿsP*•C‡U«ÕçÏŸwpp¨Â—kä=‚‰ž¦=I¾–tÿ~Š—§WXX?_?¹»{IIIvvÖÝ;wþ¾üwa‘¢Ý›í[¶j ìúÅthD}jÖª·nVàK›7:ð% 'ÆÍꕚ¿1?[b{Ai¨V‚ßùÓÎÄ'ø.c‚ –eIcç÷“¥áƒ0h ¬Éw4ÒÂŒ)µ’FyŠ€ ¡à˜ÚðUšñ¦Î6#ýß $rOQ•šú0)é ¢ºÞ½ßñóõsww/.)ÉÎκsû6¢ºöí:´iÓ–óMȆ¤¨'%'_­,ÄÇWîáQ\\Ì'Ýöo¶oÕº k¬òuUŽ·Vj¥bÏù•]iü£(*==í|}|ÑåädsoÔîÍöÍš·àæ ø_ݲ,+æä§©’sþüù¨¨¨»wï>xð }ûö–&ŠfJ$*--¹rõòƒ©ýúõ åÈWîîîîáñúëo‘"iø•$z–" @Š$PNÒ$ ˆ$I( Ф‚$ ’Að~$@E((R$I¨=I@ VŠ"I’(ifÍ A’ùyˆêš5oÁ°¬%W"GuAÁM9Q HR¡(àÂÕ’|åJÇιaH.—óIW°ž­Ò8å{yL´Q‚§ ±ÆªŸ)=}útðàAÑóæEEMEN>ãééÙ¹KWÔ__ÎU'ä"ÓYqîZ­V{{{wêÔ PPPðÃ?\¸pÁÑÑ‘kkAAA||üœ9s擟—y: E’¥%¥999ýû`†/ Yž™‡*íÚéÖÍë奥T Ų,¸¬x]æî˜·˜àîîž››Ëïå½{ö:t(;'ÛÃÃcüøñÓ¦MçØoïÞ½_~¹š$I¹\Þ÷¾1K—::9._¹¼níÚû÷ïC;wî»’ ˆHÕ±~íÚïŒŠŠš;7š=€ )/+£(Š3£*-8 J%„tÎ[ñÅuiÌG>>>s££7û-„pJä”m‰‰‰Û-Zì.—³ Ó)´Óí[7ÊJKI?š¦MY[¯Û›5êž}zΜ9Ý»wONNþÀ?ÿüó“O>)--=sæ J,á )ª¬¬T"‘¸ºº0ƺHYy9º@ú=ÍÐEÚI¤Zš¦iÚ¬wK™<9òèÑ£™™G™9…Ÿm×î]_}ýUÇÐŽIIÉ#FŽ\¿~ýž=»ùƒÔá#GnÞº½pá¢ÿüðŸ/¾ø‘Ôü?¾~ýú¦o¾MN¾6{öì}ûö™ö”@ÍF—ãÆŽ»uûΣÇO Û¶o[½:®S§Ð7n~8jÔÚ¯¿Þµkg¥3BaZúSt÷$-ýIZz³wú¼SVVö¯C‡ÇŽ 0òTÍiÓ¦ßOy0aBÄ¿ÿõ¯o7‹XbÛ¶Ä/¾ø¼s§ÐÛ·ïŒ3æ«5kvìØ ö4pMÓZ­V­V«T*•R‰þ4j5ÿO­R¡?9¨9ûM«E—:t¥Vëøé:N§Ójµèÿô:ަu:Ã04‚N‡þt4MÓ4æšf†f–eõË¢D–e–e!Ôûz8{„ 8sð†‰ÒÒ‰DâêâL³ÌÓgOß}wðÎ];8Ú‹2äݜ܆eHDu:Ícl!I’úB\]–¡Y†…lBBü÷‡öèÙs×®];wí¤ $ AÞ{Ó;ÐÜ„?°n± €âøÈÅÕ8iÒ¤æ~´eóæ3¦'nK\¸pᘱcÐOèt4-˜AäË$0ñ"ðM¾^½zýùçŸÓ§OwuuíÖ­[/zôè±uëÖààà: Ó)}­NçèèD$úè{VTTDNš¨T©ô_ýÄ0®..,Ë0 ­·KM<Ãèbô˜1Û·mKttr5z4¿+:˜={¶T*4qàûïr=¸hÑ¢×Ú¾&‹‡ 8{öjpEE…H$"P PtêÔyçÎoŽ˜øW¸Æ,\¸ÐÁÞ½ò÷ߘóÑGR©4rr$`ÿ¾ý•Ë< «£ý´Ó»wï¢uºãÇú‡‡ó]Ó§O—I¥S§Nü÷§ŸPâþýûEGKe²)S¢ûöîƒ, þs3Ò×À$Fã/ݬI¯ÿ, xŽ ÖxbL/‘íÆ9óÃ¥a:€ïدt ð½†I hlü¼y ÎþGC7]®õTGQ,Ë6ññùhîG[6oÙ½{˲‰ ‰Û¶%.X°ÀÝÝ‘¢:šÖA¾×“Gºˆh¶mÛ¶pÁ‚M›6Íù裭[¶ìÞ½›5€Oº¬Á¸œÁÀÂzS†×{þŒßaâÄI;w¾råJ=FÃò #†6Ë×0IE€RRSSOœ8ñïÿ{Μ9ß~ûí¯¿þÚ½{÷áÇsÍ:t¨N§;{ö,à×_3Xµ$ g''N«QkÄb1÷ˆdÏž½v"1˰<Ûèt:{{;; MëZ„<íKX&“M˜±m["`ÖÌY2™Œ¯7ææäú÷ïÏåÏÊÊDµ$%]ݸqÓ½{w•J%*°¸¸Ñßüç¯[¿n挀ÀÀ ObbÂû÷73f›ÌQ»¸¹qº4ªú>}øU›NÝ ¬ô·ßîòæ›oÞ¼ysݺu<ðòòêо=ß–ñðôD¾b@^^z0';Ö«W^ffà¯ý ³Xw+S}홊oÏp†ºÞž€¤Š„Áçìy‚œµoðC@ìy‚$(å4Taȃ2†_‘a/¢H²¨L‚gÞ“$  (’" ¡¯—äÛó(z Tà9> ‚ )Ò@uj±Ø01bdáÖ-[¯ü}åÊÕ+óç/=z ˰èkpTÇÐ4çO¡ŒI7;+kûöíó?ž?jô–a'FL„,ÿÝwƒ öôðà ‹íh†&Œ^°äXp3™]º®_a]ÙývîÜyåÊ•îÝ{\¸paÏž=H¼¡>п‘X¬Óéxëx><ÈwGé/*— 6oÞ¼U«Vááá …bòäÉ3gÎp`B|<„lDD„N§5ð‘aŸXå· ‹5ˆw- cY½œøðaqq±T*µ³³;uꔫ«ë… Ο?þüùÄÄD•Juýúut[©©ÀBHÓŒ‹³K@@àã'S ,c–ar²³šøx;9;Ñ4ƒ`°Ü ô-äúÂÙÉ)ùÚµäk×\\]øDH0qâDÀºukKKK**ÊÏÿñGTÔÔ,†aNNNZ­fÆõ\ǘ3gVʃ”6­[uy» @,#Z œ={V­RmþöÃb!€|­5/22ðõ×_•–”T”—ÿqö줉ü‰8¤|:99ž=M¢IÿƒûœLáááü ;ÀöíÛ•*ÕŽíÛÇGúö”)‘€¯Ö|YZZR¡¬8{ölDÄNÎs“v´N§ÕhTJ¥²¢ýqV½à³êÑ‚šƒFƒþÕh‘¯ÿC¶½þMÙl|­V£ÓiiZoÞÓ:=hš¦š¦u4­c8 Ÿ¦–¥†fh†¡Y–G*• ò ÒÞ9gõ„aX­£]]\=NåÓÛ¬Y³÷ìÙ3yÒ$–¦YšAÙY™M|¼]œi†•ÎB@ÓŒ 777Ƙ€ånnÈ%•ÕÄÇÛÙÙ‰¦i=S&9žbéI†E?!«É°¢òÓÙ@t:Ÿ2Ÿ=ÛµkWôܹ#GŽdfü¸ñ3fÌØ–¸-/7e˜ì,=ét:Dv|ÖFL$2] ¤WÎ!Dr~àÀÙÙ٠Ä„„üë_ÿêÑ£ÇÈ‘#Q§çåå!ß~Ÿ>}H¹å¶:ÎÉÉ©[÷î?üçß~~þ..®–ôFsóæ­9;»hµZÃÊ Bß?„p²A!€Æ“ÏB8qâD©TrðÐÁnÝ»KììÞêøbEÀ† ãâ¾?~¼±Ã>üpÔºµ_ÿóÏu‚ :¼õVÌ’OÀ5_}¹2våìÙ³s0&þEB89r²T&Ù¿ÿ@ç·;Kìì:††FEM…,š®ÓADGÏÛ²e3r<~üP$¢¦DF~ñÅŽŽŽ]ºv…P_ A‹Û±sç©Túá¨QÑóæ!®ž9E"•îß¿¿cÇŽ;»ÐN¦NF¹ý!Fº"°°#±*ϵ‡· ù¥97…ñŽÈY[V®9ƒz-ËÍMBƒ@V°«²Ð°Â`3Ák"ÝÕàÆ Æ‘£:ÿWW7îÅš5kÆð¾£šGu´NÇï3š¦Q!þþfH×Эâd ]dƒ#ç}åv5ô”@\T• ¾ž%išæó‘W“&?ý÷¿Ü»Œ;¶x¸›\®T*oݺ=pà 'G'µZÍ_  \ ´Zm~^ßÖçªÏÌÊJJJjݺ5EQ=ºyóæ­[·bcc9ÐjµgΜiÑ¢E³fÍ‚hÙ¢… gÄb±T&½zåJÒÕ«Ý{ôàÏóUv½Z•”œÔ®]‡6mÚ° ‹<¨üö€·ž01Œ ÓEøœ~knã½µûp¹u#¦Ãx#=¿‘Ü’AAf¾¦ Lœ”4jÔ‡C† Ù²e+·.¤i0òð J0]4 ÍMe•Ð73Tמ©ne©«°çIÅNò'ÕŸ7?oÈLP´hÏ2†yxŠ7?OÍ´S$\ E$Y9ŸO@ŠDÖ5 H’$ ¾%†µ„Éæs¡H,Qä•+W’®^íѳ§“ ÕAÔjÕÕ¤«íÚuhÛ¶-„MÈñIK,‰Ä"Dº=zô@sºKG­Qs…° ‹¦œL³BÁzã]LÂ…Ã&ãžÃG†a…ÏG:­Ž5, ãó5„ÐÓËKÏóü‰{®ÅÞMš Ü|üøñ'Ÿ|‰¼Óf‘Ç›'ç ‘Éd,„7o^ÿãÜÙ6m_÷÷÷—H$è%5u~~þ½{w{õêݼYsJ$Ò' XãMF¼Ä³ý̲wåÒNËBíÅ8ßtãÉÖCÁžP 85Äìîwùùù“'O~ð åÀ÷»víʽ`³¦ÜÌ¿é¾!盌/è€J$ªÚž¦g– à-¼5÷;_¼C`n‡‰pÿ¼É–/þ‚<¾õkºÂßÈýdìý†¼Õ¾‰D§ÓqT€¨ Ñ¨óòò8ª³³³Ójµü=³\©”¦i®C!À¤±X¬ÑhÌn?åK, oɼ7»]ßÞÞ¾’Ú¼æ£×54|>"I’ߣ•ÿèy¾ ?_°^‡ãyýúÖ˜˜Ë—/÷ÝwøòË/--¶ÏËÍ5{‹ƒƒƒØÎ®  ÿÏ?ÿLK{Ì2¬ƒ££J¥²Û5 iúöÛ]ÜÜÜt:Z­R™ÝEXykÌÞïô¯ò×cÖó…kAìCS_£`k$//›N§kݪ¥«›[Ì'1£FâŸÀƒäü£ÇOL·»ð`ÓušÐÂ4§50ÝcJ=„€¸Í FfVÈ›·5 à hö¤ãÍü„ÉZ7`âá“J¥$Eñ©ÎÑÉI©TrT'wscV£Ñ–"xï+•ÉD"Q…¸¹¹Ñ4£Q«M;ͬ£¾r3¸ñJxÁÚ[³XÃGZVeà#Á¢tíáé©çyáH!AM||Ðmyyùš5kt:]ll,_¯ˆŽçMwÂÙI$,Ë04£R«T*µ½½L"‘RE R©´:!<üÉh¡…ÙcLç„éñ<ö®ú'áÚ «™ßô/ÓmjÂMcU[`Ò«BV7Ç¢–z X^òdöqSálz—`,0èü­‡ü ¼¦›&Mw¡VÉêæ×# ‹%R)ò ¨ C½6Îß_l2=a'Ëd2Æ,é„J¥bx*=+8|Ñ„±­ÑçÍï±TJ¥V«­ì|ŽFS¿FªþvfåÊ•Ý{ôè¾oÿ>~þûߟ† Šj|ð ¥ ©âEjHˆÓ­•ó—¯\Þ¹cû¹³g}ñâÅÄÄÄ?Îë߯ßêÕ«QžÝ{öÜ¿wïСC§O’H$ßnÞŒÒç/X0nܸӧOŸ>u*8(hÃÆM(=6våŒé3ÿ<~玷oßznnß¹}èÐÁ¤«W«¨K g&'%¡‹¨¨)ÛwìävþïØ¹cìØ1h¿ÐµkÿüøÃ~>~L¡(LLÜVõ»Ô^¼¿#U»ø„„²òòÿûùø?üçú?7ø?%%_Û½k×¹³gûôé,·D!U¿HMhËy«ðé²O½½½¥Ré¸qc•JeLL w{ïî]”çèÑ£K–,ñöò²··ž;÷÷ßGé?þðC§N¡‰ÄÑÑqΜ9—.]B驤@QPT\ܤI“ËW<· æÏçŽ=±T—%tíÚÕ^&;yò$àé³g—þº4fôôÓ¢E ÝÜännòE‹8ñkõÊo(¨Éwä£êowòäIô±\]Ý,œÏÿ)æ“O¼¼¼d2ÙĈˆ”””ª)ÄzÔ„6Ð\QÒïgNsבQÓÒÓž\]õÇI¥RÁ-mXi˜Ÿ—÷ÁˆEpãÆÍ-[6ßOIQ©TüôuëÖíܱsûö펋-èÕ³WÕmEoV]WˆŠŠúvóæþýû'&&Nœ4 ½À×ÇWá닎š´T~PpÓ=»v¼ÚÆ}‘ª¿—%Ôä;òQõ·S(>†Ø>†îEp1œKɯÑ…XçÒF}øv¯Zxgž‘¥¬è¢jÀÝÃcïž=¦Áªc–ÆÌÿøãnݺ988(•Ê^aa(ýµ¶m7mÚ!¼xñ¯Ï¿øüäo½"ŠR«Õˆ"‹‹‹_´®*ЫW¯„„„­[¿»uëÖªÏ>ãÒ³²³üÙÙYrÃi¹fËOO{ÂõÌ+%ª­Þ÷ªIßšýväryvv6Š“õÜ-QˆP@Õ€6^ù·«?Ô"²ô@5¨g䈑q«W/Y¼¸‰Ï“'OvïÞ½æË/‘GG"‘ØÙÙeff~Ïå_ºìÓiS£€ ­ò[´l±ÿÀ‰¥¥¥6lxѺøprrJOO âÆû)S¦,]¶lÅòüóö7nØ´rå À†õXuùµÂTu~Ã/^[ß‘³ßŽCxxø¦o¾Y¾|9êÞçÖh‰B/RCÚ¨·ßîèöµ…É“'íÛGÌœ5+???8((**JïïY±bÃÆM99K<==#""Q èӻעŋ332‚‚ƒââ¾@‰+–/_õyÜ®;=½¼&OštúÌ™ª‹ˆ &LPªTœˆ¤¨À€€!C‡ð³µïÐn䇣T*U¿~ýfÍši}ùõ¦/^+ß‘³ßŽÃìY³V¯^ýî»ïÚÛÛ;î¯KU]£% ¼H-ÒFc¡Õj¹³+iZ‡ìÃçš…  ,0`À€¸”Ž¡¡/mÉJÍaöÓÔóï•––67zÞñcG1³½Bj‰ôŠ­——WcY“òìÿ~–‘Ák…Qwذqcii©B¡Ø¸iSŸ>a¸ClS·¯ÏèÔ¹³¯¯ïWkÖ 0ê>>>Ç Õjz……Íœ9 wæù— K |RìÆ;nìXÜ ‰çƒ‚›âÞ±[ºŽºŽ ˆÝ;·ãÞ¶IÔ:ÍTA-"ÜÝ/a¨9ø o00ÍÔ„Z0ÏcØ,êó@ùNß~¯V·Ç§e`Ø&¦L^[!|és«ËyŒÆ‚—sâáà¦!Ï­î•B‡yþ•¡¬¬líºu#FŒðõñy¡6o–WÏ¥geÕx²ú@«ÕfffFEMmÖ¬ù¨Q£ÿ¹~ýÎ;,>ã¥óüËFnnîÍ[·ûléÒ¥3f̼yóVB|‚–rÃP^^>7:º¼¼¼Ö”š,˜ç_†¹téÒµ®7~Á‚«V­Z¹r%úwé²eNÎΑS¦( nW9FCÿÜ‹/ú믿-^ÄÔ웢À‰æÞ½{—.]ºuëVEE4 :ãcccûõë?ô½÷Sî§TD:††~4w®€êÉѱõç[…BѮݛîu]ÑÚuë®^M\½š´vݺ–VXX¸téÒ#Fìܹó§Ÿ~úꫯnܸa=Ãs<±œ  &'7wüø ŽNN111±±±¦ Ïý;mÚ´aÇŸ;÷Ç7ªQ—³³ó?þˆû¼ |ýõW‘‘S^BEKcbÐa~ÉIIKcbjRTQQÑìÙ³<¸fÍš„„„>úÈËËkâĉiiiX·¯xüøñÌ™³F~øaBBÂ×_˜˜øõ×_'$$¬úì3Äêk×®åÒãââ>]¾<3+ûÔéÓÕ ³ÿüç?fI¡ŠCckr®àÌY+O°Õjµqqq½ÂÂz……ÅÅ­æ‚Òj]AxðàÁ￟5«ÁìùAÚûÞ½{;Ö¶mÛ±jÕªe˖ݽ{÷—_~©¦nQ§hÞ¬Ùáÿý÷Ñ#þ¾ô÷ïÅ îÙ³Éöm‰‰‚_/ýuqà€ð~}û¾h]NNNŸ.[ºbÅ š¦­ª†‡áòÏœµòÛïâãóòó9|äðáœÜœøø³¥Õ:bcc—.‘H$ …x‚P©T;wîT«Õ­Zµ’H$J¥òï¿ÿ®¨¨ I’Ü“õÀóóu´{­ÄàþU©ÕsçÎ]¸hÑÊ•+9Ò«WOÓ<Õ´œ;†††vJÜ–øÑœ¬|äÓeŸ¢Ã0Çû]üw111Üí¶m‰(ÏÑ£G¿ÛºÕÛË =wîè1c8}•æì?ü€.$Éœ9sÞ2Äl¿ýöÛöíÛÝÜä€%‹Ϙ9óãç™–juãã¹sç |0¢N?w­/øÍÍÍÍÌÌD†„ÐÑÑqüøñJ¥²Y³f¬ÆÞpÌó¯vvv[¶lArþÀþýµ[øìÙ³"§DvïÞ£CûöÖä¯áa¸ü3g­<Á¶°°ÐÏ×pܰŸ_¡á¸aAiµ-äW¬]»®®—Á=÷¤Í]L’$'6¢££gÏžM’¤H$‚¾èaž5Ðjµœœ?|øpÏž=j±p±XüùªÏ—|òÉþ}û*¿´u‡ÆZ‚• [y‚­\.çŽÎÊÌt“Ë_BŸß½{wÈw¹[÷‚E­×Rë é›4iP\\Ìy=H’´³³+**:}úôÈ‘#_”ç±=ÿêåüðáÃk½ü#F|½v-—‚U«ÕyyykÖ¬yÑÑa²4Ã`Ôkž¯E™ÉÇõë×ë®p ŒF¼£1Êy´;Ã0[¶níÛ¯_·îÝ—.[¦T*9¹úßÿþ4dèз»t;nüƒ)(]«ÕÆÅÅõ ë·š Ø14ô§Ÿ~úÞû]ºv5zÔ?ׯ?~|øðáèñ‡©©ÝÞRùóç/èÙ³g—®]çFGrO¡xOÏmÆÁƒ‡jˆÃõBÖÄ“'O.]ú{üøZØ£¹eëV.F•éß–­[k®Õ8pà§Ÿ~êØ±ãðáÃY–]ºtijjê‰'ª¡Ûcž·e 6ìò•+èz÷ž=÷ïÝ;tèÐéS§$É·¼X IÉ×vïÚuîìÙ>}zÇÅéK~Ÿ—ŸôÈá#‡çäæÄÇ'pù/_¹¼sÇösgÏ0(::úâÅ‹‰‰‰œ;׿_¿Õ¼¸”U—?Á‚qãÆ>}úô©SÁAA6nâ,‚ä¤$Nß®¢·ïÜ>tè`ÒÕ«Õè™Mß|3kæL;;»šwòGsæ 2ÄìOC† ùhΜšN„F£Ù±c‡J¥jÓ¦X,¦iúáÇjµZ,sQÃ1ÏcèáááQRR‚®=ºdÉo//{{ûè¹sÿýw.[Ì'ŸxyyÉd²‰))z9üÛo¿-Z´ÈÍM.—Ë—,^üÛÉ߸üŸ.ûÔÛÛ[*•Ž7V©TÆÄÄp·÷îÞ5m†Ùòüá‡NB%‰££ãœ9s.]ºdöªhÆ‚ùóùÞ ëÍò¿/_...0`@­t2A±+V„õê%HëÕ+vÅŠš»Ùóòòž={‰D,ËŠÅâ… 6lÚ´icÇŽ­/±«BëÆgûôéSÀƒàª]$5G΋¢  €ùyy"ã)t!•Ji†A×………~¾¾èÚ×ϯâ–+E³çßróa¶ü7nnÙ²ù~JŠJ¥–§ ªhš»­¾Ù´é“˜˜Z<Έ¢¨/¿ü2zÞ¼ääd½¡Ñ±ã—_~Yó0uüÅyï{÷î&‘Hs½m%ÏÃÁ?³gÏÄÇÇcn%Ž9òvçÎèÚÝÃcïž=^^^V>+—˳²³üY™™nryí¶-fiÌü?îÖ­›ƒƒƒR©ìöÒšñ05uêÔ©Üm­ÌH¥Ò6L:õajj‹æÍ7n؀ĚÃËËËÏϯ¸¸˜eY’$íìì …â×_?~¼uƒŽKkÓP«Õ))÷7lØpäèÑ™3g¢Ä‘#FÆ­^‘‘A3ÌÃÔԥ˖U]Hxxÿõë7®[¿><<¼v©Ñh$‰]fffÏ àä䔞ž^fXïÃCþÎkP[suŽŽŽñññݺu‹wtt¬•2!„‰dôèÑb±øñãÇ,Ë¢t–eO:åàà€ãÒ6vt %B&•úùtëÚõ_‡º¹éãäÉ“öí#fΚ•ŸŸUuQsfÏùzí×ï½? п¿9³g×nScW¬Ø°qSNÎOOψˆˆ“'O¢ôˆ &LPªTˆëºµ ¹\^+hZýŒ3’’’þú믳gϲ,Ë0ÌíÛ·O:µ¹Zuaž·T-¯H’ŒŒœ9¹ê§¸[‰D»"6vE¬•ù·¦‚ÛÞ½{÷îÝ›K3z4ºˆŠš5…K·²Õ× bAާ§çŽ;6lذdÉ’ÀÀÀ’’’âââåË—#%ó<† ÂÓÓ3...22rÏž=sæÌ±··—Éd ZËï1Ïc`Ôw Æ‹Å~~~îîî5™tÀ>< Œ†„šGÝÄ<Ñ`@’¤¿¿ Ákrô°É59u„ȨiuZ~'Þ„v|ëizZ½ãy¼&öрB\cÝ£±ûí1l å€Ú—ÖNÌ󶌆üe¶S>!ÃfQwqÁë;ùŠŸÇ±=Ñíy,è10lÃ:±ç¹“jùùùuW8>6£QÉùZÆöíÛë¢XtzYŽcWa`žÇüƒaƒÀ>< Ìó˜ç10¬„¥sép;[¶ç9,¯!‚ؽs{õøM€ä†¶‰°NƒØ½´y˜çmµ¾ïÊúÅØŠª3xx¸78&¯SžLndÛ¨±níy [ĺuë.^¼PE† bi6È$¾ýûúõïß½GUŸ¯â¢J>·"…ÂTÉ¿°&B¦¥*.^¼8jô¨·»t2tèá#G…k4š•+WvïÑ£xø¾ýûlÕy¾Q`Ë–Í>lݺuy^4ˆ¥Ù “×®ýóãÿùùø1…¢01q›õñ•m~¤J>¬‰i©ŠØØ•3¦Ïüóüù;vܾ}KPr|BBYyùÿý|üÇþsýŸXÎcÔ&T*դɑýÃôðõÚµuZ×îÝ»ÒÓŸnß¾ÝÝÝ£Šl/IJР“‹-ts“»¹É-ZtâįÖWd ¬‰i© ‰TR ((*.nҤɊå+%Ÿò¢A,«2éëcˆ*éë«P(¬¯ÈX!ÓRëÖ­Û¹cçöíÛ-ZЫ§Q0Y…Báãヮ} ¯€y£aààÁƒK–,™0aBzzztt´5Ö_4ˆeA&¹¨’ÙÙYrw÷VT Xªâµ¶m7mÚ!¼xñ¯Ï¿øüäoF}üø1MÓ@†rßôÍ7EÅÅEÅÅ7l²%z¨äqˆå¼í" àßÿþO|üw‰Äšü/ÄÒRI@ûíF~8J¥Rõë×oÖ¬™Õ¨H©òEa©Š>½{-Z¼83##(8(.î ÁS³gÍZ½zõ»ï¾koo?n츿.ýe“„Ah4š¬Ì ¾Ùóû™Óu}|·A°'(¸és×äT(•ï~Ùó ¾qㆪóÿ~æô”©ÓwïÜ5MP8ú^(±ch¨5kr’ñaþÏCZZÚÜèyÇm¸¯À' N‹÷õõÃ~{ ŒJlظ±´´T¡PlÜ´©OŸ0›|G¬ÛÛÄÒÚz ŸáÃ?Ðj5½ÂÂfΜ…y£¾+í5ĸ±cÇkÛïˆu{ ŒÆÌó˜ç1000Ïc``ذ¯Îqüøñsœ/++ã'24Žë\úûïé3„ WännŒø s§N¸10Ï70ôëפ¨¸¸Õ999f8ggggggs·A´mÛvÔ¨ßêÐ÷F-#€uû:‡L&{wðàŸ~üaäÈööUo#sss‹ŒŒÜ·wO¿¾}E"<"cÔ&Ã߸qS¥RaªzIðóóûì³Ïºwë¾vݺÜÜ\†nðQTóæÍçÍ›ÖËÞÞ÷FíÂÞÞ¾}ûv2™ Ëù—{ûaÃÞ?tèàÈ‘#DÅÿÉÑÑq„ »wï4h fxŒ:2-Eè’3%q¿Ô5‚ƒ‚bW¬h÷æ›;wí~òä E’Í[´ˆŽž怹£ÎØ]©TݸyÃÏÏëö¯Bà;8Œ7®C‡Û¶o‹Å³fÎ ÁÝ‚QǺ½¬}»v2™Lx‘©±”™hÓ¦Í7›êïÁ ÏôÐØBA4l1€…â¹:ƒÅ±ÁákjzÝÞëö6‡úǦL…Ã×¼$Ý£Öa}¨) Œ—™L°n_ æô‡V«ýrÍšS§NÙÛÛGDLàÒ†‰OH8räˆJ¥ [±|¹`6Ñl. 'QŸ[Žé#œØïº4&fßþùùyK—.Ëxöl÷îÝYÙÙ!!Í>ÿ|U‹æÍ«¨ââÅ‹ßnþ6=ý©§§gTTÔðaÃø…k4š/¿üòô™3ööö&Œß¼y‹m«y¾Ö£,6¤=yÜÕ‡„„Ä¢¢¢Ÿƒ¬üì3.‹ ãäè¸vݺo7o^ÃÐl†ä¤$¢þÜrLá…¯qqq9tè_ÑÑÑÝ»uKLLD·«W¯Þ»gOUÄÆ®\¶lYÏž= wìÜxž¾°jÕ6OŸxM†'~;âÏÈåòÅ‹qéÏ ;ce\¾¦¾ËyŒÆ…BQÆÏKnØ+ãÒàð5˜ç1êÜÝݹø3YY•Q\žvÆÊ¸48| Öí1ê„@ñgŠŠ ׯ_Ï¥?7쌥 ‚X48|Mã•ó÷îÞiÓö5Ìcõ ³gÏZ½zõàw‡ØÛÛOœqñâE”þܰ3–2bÑàð5õ„F£ÉÌx¦ú$ ŒÃ_Ü»{ÇšR^ˆ‡ïݽ3pðW5/РGþ§1›ˆãØÔ6¾Æ,a°,kðÔX±ï¹bå¸ðªØOPK›¶¯Y[ÊÊWÆ ‹m`ÃÆÓ¦NÕét6¾æUêö|ÔœýªQKÍkDlj_~~9í!à86Õ@c_Ãçyª…:??ÏÁÞÁÞÁÁR­V›—“SQQ´wpðóó£(‘@TžøågNZBóó󊋊X||}‘­qïîoï&…ŠM·iûÚ½»w||| t:T*õñõC“7f«3­åÞÝ;-[µ~œú0¤y ÊppÃ0RS›5oN’¤Ù6˜¢~®YÂJ{õ`ûákx<^M9¯Phµ¹¼*‘’ñ쩯Ÿ;?‰D’šú°¤¸ÄÓË‹; qïÀÁC8R( Ô*uû·::;»àI€fÍCš5¯¨¨ÈÎβ··/,T¸Éåf&bÅ⢢æ-[:9:åçç9::( \ÝÜPžÖmÚ:8:fgg¡œm_ÃÉÙ%?/W,—••º»{<·:®¹›<ýiºƒ£#PTTÔ´¢¢¢¨°ÐR00—=_RRâà`/‰Õ*UqQapH³ç>¢Rª.]øS­QsrR*•U‘ŸÖénüsŸboïP¨P$Riþ³§œŽ ‹s²³X–%Bhgg÷¢ÕÙI$R;‰R©QV\,³·w÷ðÈÍÉ®¢ ¶ÃóÖXóÅÅE9ÙY®nn:­NîáiÍÂÉÌÌg¾þö Ü>y¢j½€‰{ôì%•™gTÁA±Fú6AT£:W¹ÛÓô´–-[¥=~Ü4¤©F£¦iºê6``4Ts¾r>((X§Óege©TJ?kaYÖÍÕU©¬ÈÉÉÎÍÉ1ÃäUQQ^©oËå·oÝ”»»“¥ÑhùùVVTuu‚Z8888æåæ•”–’$áÝÄ·PQPó6``ØŽn4ê€ÀÀÂB…•»#||}¤ÜW©T”HäåéUZZ"È —»ÿuáÃÐÈ£.wwWVTÜän©RZ¶n YV«ÕZßn~ž?#€ak< 9̬““³·w7¹»H$¢iÚ?0¥sâáéÙ¬y ‚$ÓÓžáàèØÞÏßÑɉ¢(Z§+))6å(K·–ªÔÂÜÕÕÍ? ÐÝÝ#/7‡{A³mÍÏóSðq¶Éó/ ¥R‰j“~4ÖIDATBd!”•– 8¤¤¤XÀT¦)¦eéÖRu‚2ù——••G´Ô†ª›„a;<_í¥µ ç±¥ŠacÀûç100Ïc```žÇÀÀÀ<Ñð To/-FƒDZœÇÀÀº=æy Ìó˜ç100ê7¬=3£á¾Z97í``¼b9_sþ|Ñ­8¯ðXx9 ó|Mù¹±Å±©(/S(J¥’$IGGGï&Møçöc`Ôs¼bžà´™—SK U …¢°‰¯ož½zõîãìâš—›Wõa› LÎW¶Ç&0(ÈÛ»Iii‰Z£qrrÊÌxæáù–ÙC>10ÏÛp›\Ãùyåe¥R™L"‘bJÂÀº½íDZQ«Õ9¹¹M›†h4LIXÎÛxeEEfVfÓ¦!>¾~ܱ¹ „çëf/­ DZ)--ÉÍÉmÖ¼Y@`pA~žN§Ã”„Q¯QÉã°弭Ʊ)T(…ŠV­Ûøúùåååj±bu{[cƒxwnß¼sû&JiÕº¥0õˆçm5Ži€C\``žG°Õ86˜Ã1l™çñ– ŒFÄóx; †{ž00™œ‡øÌ [Ç+>3ëö˜ç1000Ïc```žÇÀÀÀ˜ Õ£Õj‹Š ­Ìéàà››#‘JËJJš5o‘‘ñ¬e«ÖJ•ÒËÓKÀóf_‡¦i¹Ü=7'›a¥Æ¨—€/ÍžæÎTÖ-iµZ§è´Z.ÝÊ`2•ù)£r(JDY8mÞlN’$ÅbqqQ! Iÿ€gÏžªUJ;;;™½½éÀaú:%Òjµ4Mt:-&/Œ ç_œ]îݹãáåÅкܜl.ýEÚ8»8ß½sÛÓË‹¡éœœlW7WÆ$’lÕ9¤Ü÷ònÂBèääô %ÅÓÓ‹¦ihÅNgçûwï¸{xÐ “—×a`ž· O//EAAÊý{$ <<=ËËõ¦^4 §§WqQáÔûBgg—Öm^3¬ªŠœŽŽNùù!ÍšWT”»¸¸äåæªTVÍü{zz*RRî€ððô(·P5†íó¼¥€3ÜAž^^­Û´µwp`Y6¨iS.Ýš`2Ü5I’îž-Zµ¶·w(•ÅEEfk´”S*•¾Ù®½L*UäS”èµ×ßpquÍÎÎ2[ˆi™žž^­[·µwp(+--..†xŸ"F}çù:£QKg¸ aAA>(ÈG·¥%•1í^(˜ „PQP –òðk4›S«Õ¦§§¡k†a¸k³…ns²³‘!•éää,¡‹ñêÁãqǦ ¶?yüˆaX'g§Ö­[+•¸O0ªn—”Y¹Ü=(¸©«‹+AJ•²Øò´"†-Ûó e¥¥\HL Œú |fæy ŒÆ¦ÛïÙµwMþ^5âùȨi¸_ð÷¨)Ïc¡aÃò@„EF£¡V«ŸÖ“ÙI$¸G00lZ]c¿=Fãæy ŒÆ…º='£>ò.°œÇÀhtr⸴ ù˜]‚ Òž<ÆRu‡ð‚{i1ê?gÔßÏœÆbe‡ðu{ ŒÆÌó˜ç1000Ïc``ذÃ*ü|ùÉþ“÷„  çþ F´o详ÉÊJûlUÉ¥KþÑs}§í4aÕjB,&( ó|¸ù–-BÃ'-mñ’ÅïôíÛ¥k׈ˆˆÓgÎ4”OŒ}x•È)T®úþJÛæý»´–ˆ)À°•?s¿Îßt @QDÿN-b"Þ)(1ŠÆù,ãÙÌ™3gÏš¹æË/¿ývbÖ¬Y{öìðàg»yóæÂE‹.X0pàÀzòÖÁ«V]ÿøã~Ÿ|ÊÊØŒŒžS¦‘>zKKÙ×^ûsÆßl’òyúìÙô3¦O›öé²Oíííø`ºýàƒeååÛ·mÿâ‹/¸<_¾÷vçÎõçÅC;Ú…4ÍNJjŠ‹NKKÙìlQ¿~—vìðŒˆpíÙSðȶmÛ&Oš4räHtûú믯ýz-ºÎÈÈØ°acRÒUMwêÔéóUŸ¹¹É‘¦³liÌž½ûòóóCBš­ú,¶eËVš¦7oÙü?ÿ°ÌÔ¨¨ &†‰OH8räˆJ¥ [±|¹½½=Öí1jGþzüíá[£ßíéë푚UβðîÓ’”Œ’%3‹S³Jd=x¦¸›–“£(Ë/*OIÏ…ð=x—/_4p¿ÌA]¾r…»=sæ÷Ï?ÿ|ó·ßÔ+†0J¥êY†ÈÑ@µZ6;›¹_ܧÏícÇ ŸŸÿìY¦\¹r%<<Ülió,7nÜéÓ§OŸ:´aã&äk»wí:wölŸ>½ãâVë‡íÛ=z|è_‡Ž;–›§¸¾{Ïžû÷î:tèô©S‰äÛÍ›±=Q›Xÿã?¿ß*û^o§å« I$ ÁBÀ°€a!ÍB†@ˆ"5:ZjW¹X¥¤¤DîîÎ/Vîî^R\YxÙ²¥‹.jݺMýzyΚôúëžÁÁlF,.fÓÓI’ÂÂg÷ï7ûf“Ù‡JKJ\ÝÜÌþôã?tê*‘HçÌ™séÒ%O>ñòò’Éd#"RRRPâÿýüŸ,Yâíååää´pÁ”xôèÑ%K–x{yÙÛÛGÏûûï¿cÝ£6¡cX €ŽZ†1$Ô2%4 ˆ„21!R1‰.  ¤qŽ¢,À˹RCvv.T(¼¼¼¸”B…ÂÅÕ•ÇóŸÆ­ŽssséÐá­úóîék×I•ÊÖdzÉÉ@«b1 IHÓö..lES\LÉdfÌ—â¢"3&Ò›[¶l¾Ÿ’¢R©šæ4ÀÅÅ]H¥RÚ°¼@¡ðõó’Ÿ—÷ÁˆÜ-Q«s¢XÎc€¥c:öh+ÿ÷±sb@ºÛ—«˜ …º¤‚VkYš†?H3a òbéâ ;tòF÷×}¸B:wîüë‰_ùÅþzâ×Î<5þý÷ß[¹2vÁÂEœÿ£ž¼xÁñãe¿þ:n›œ †êÒEת•xÀXXHµéß?mõj³vîÜùÔió›Õc–ÆŒ5êį¿&]½zþ?àóÖ-y¸»gef Ý=<~ýå—ä¤$ô—tõ*æyŒZƨ^Íç }í¿¿žÏÎW´öw¢H¢o»&aoxwoëývk¯Ž-¼Ú5ójìÙ<ÀC©¦o>ÊùêÀy‰ˆÜ)˜+aÆôéû÷øßÿþ[QQQQQñ¿ÃÿÛ¿ÿÀtãåëa½Â6nÜðùç_?~ü•¿rŽ{éŸÑ}êTpë“-êÐáÁ©S¿ÄÆ–••QÍ›3ÉÉM{ô(¿rµìÖ-Ógg̘±wïÞÿþ_II‰V«½sçÎ’O– Ÿ4D"±³³ËÌÌŒ³0dð1dè¯×®ÍÍË+++Û°q#J9bdÜêÕ4Ãmú·ß~;vìXáÔ¨©(qòäIûö3gÍÊÏÏ ŠŠŠªÅ'ÔjUúýAB©“~ƒCPpÓZ< J©¦×ü;™¥$ÃûvŒÛvôȪ!õöÅ?szÊÔéfÏó¦Cr(:ð}™3)¥²¬¸øÏ½{ß8zDâë{cÐàï¼#€¹wÏnذ?âã=—,vosï–: Q«õ£UpS,ç1Œ`/­šÔyßÉ{»þ÷€¦i!AÈD’¤YRÕëÀ““’êá›6‰ˆ KKÿŒ³gÏ+?ÿÜtëèî®R«}W,¿³´ßâ۬ 0ŒwHHéõë|ž¯âeëç›bÝíé˜1„D¢ÓjÈ&ÏÀ<$Aèå8A$I$E‘^Ž,Ë Ýž$)Š" ^‘HD5Làt’ (ŠbYõŲB@TPã‘ÔH$‹IŠ")J,‹lå´Ìóz6@3L,ËB†¡†e†a „HŸGŠ=IQˆçmàe!„,‹Þ’AèeIŠ¢H’¢(Â0ÀÙҷƽ}/EÈA<`ÝIEND®B`‚nted-1.10.18/doc/docimages/toolbox_graces.png0000664001041000007640000004721511520267216015767 00000000000000‰PNG  IHDR–$ÍtÈ(sRGB®Îé pHYs&&¢ï%ütIMEÚ 9x?±ztEXtCommentCreated with GIMPW IDATxÚí½gxÇ™.úVOFΑI$˜ÀæLQ”dI¶²mËÚ•ekƒ7øzmëúìž½«]§½Ç¶l9­W–mY+Y²lK$%1)æ‚™ ˆ “ºëü˜éžÎÓ=Ó€Ò>˜ÐÓýö×_}©ªÞ"”RÈÛŽÍ›•¦[ºi´uwÜA䟱bñ 5aÒ¤´´F©edfÂ?2bùy‡½^§ìÜžŒ á}Û•+ kÇæÍ´²ª*ý¤G¹y22nJÅÊÈÌT|~íêUA¹¥;6o¦å&Ä=aÝìÙŠÏz{{Á²,Š‹‹ãþþlSSZ“ä+UŠ5<ŒÂ¢¢”[l±Ä­½­ ÙÅÅÄΠkÅk>Ÿwß}7ü~?vïÞL-·D®ñQo¥àR =oªÎïYÚwlÞLKËËA9ÎôvïÞ§žz ÍÍÍ8wîæÍ›Bˆ6 ®‘Ê6sÞ¼HŒpù2ûûïG£QŽK‰\øó¦òÜj­´¼ííÔÎ÷£- ‹žôòåËX»v-vìØââbƒAifU2^»õ®3{þü¸×n:ztT¬Fªzºêµ9N§å+ι@B²çfw8@¢ÏZÏêZ,3–dÓ¦MhllÄ=÷ÜèééÁ /¼J)ÚÛÛqýúuÉñ‡Fqq1ª¢IA†Ý®yîî7„×E%%€¡Ô[‹;–Ç0 ^zé% bÛ¶mŽö†ü8Á½–9ç[aq1&N™J©ðó PU] BzººL§u’²2ôõöÂf·##3“jjpæäIÃçîëéAfVŠJKQ9i|ÃÃÈÈÊ‚oxׯ^•<””ÅAQ«¢uîP ¿Ï—ǃ` §Ëp8ðû| ©%¯¤-¥ÕÕÕX½z5þùŸÿO?ý4†††°|ùrØen®¡¡Ï=÷æÏŸÕ«WN:””›()/tutàZÔÂUVU¡¤¼%åå‚;5zœÖuntt ½­ žŒ L¯¯‡Ûã'3>¯×ð¹Û®^Efv6ròò“—–eÑrþ¼âŒeVèõzÁp»ÝBÈát:1âóÁ5 g…fbB.\¸€-[¶àÕW_ųÏ>‹ïÿûؼy3V¬X{ï½WrüÝwßP(„;v °Xbl|¯ò  Ÿópº\ÂgFÓºŽßçå8Œø|1AÙí gøÜ”ãÐqí¦L èëîF@¥¦4æY!ïÖxÜ”Æ1œ×TVH)Emm-êêê°qãFôôôàsŸûžyæ|âŸÀsÏ='J !øÇüG<òÈ#X°`àØ õ:¾¸Ün¸=ás¾P „ÏŒ§u§Û ŽRx¢J$þÑsÛívð#Ç¡°¤Ý7nÀ;44*Y!g +ÌÌΆÓíFÀï: ÿšã8 {½ ×Þ²XçÏŸG?***ï¿ÿ>òòòÐØØˆÂÂBÀéÓ§122‚cÇŽÁ˜ít&e±:ÚÚ0©¶e••‚ ŠŠ„Š/¬Ñã´®SVQ‡ÃìÜ܈wpÐÔ¹'×ÖÂér¡«£Þ¡!L™:ÕÓ¦¡éèQ°á°!·âr»áÉÈP­ RJ1âóI’ 5w¥un§ËqQEÛãA €ÛãA0DP”•kÉË2‹uûí·£½½,Ë¢ºº¿ûÝï°råJ<ðÀ±8åÆ !‹\·nà@ccR«£½a–EYe%ò "à ^/:®]“ÄMFÓºÎõÖVäÀåvÃ;4„KçÎ ß97ÿßïÇ•K—À²,róóQPT„ɵµ8ú´!‹åÉÌ(˲Šï†Û㑸k3Y!Çq Ñ,Ð7<Œá¨%¥wF¨6Êqqu†lß´‰jû(jYY8tè¦OŸ›Í†‹/âĉ8yò$¾ùÍoJ@ƒAlÛ¶ S§NEMM !p¦‡tÍívkŽç¹=žÈ`¯Úh¥VÛ  7/Ow¬Pœ ù\|n—Û­yÞŸÏ\V¸`ÁÌŸ?„üö·¿Å•+WðüóÏãÉ'ŸÄòåËǯ_¿^òþÃݻӚd"^ñù|ðiX$+²B¿†ÕúÜtVh&xäýýÉ“'ñá‡âþûï*ëzã„f¯óqi©Ê ¹ŽI8LY,q{î¹çðïÿþïx饗ðÍo~S¡T„ÅyÓ³{H [¬ž›‰±ì:cxé–ÚæÒ‰±’iÁ`9¹¹);·KTŠ‘·p8 Ó³Òí&±Xq²Â¤Ïm(ÆRIgÓmc¬TMÆKá¹ãéŒÄÎY¸0ý¤Ó-ávB4I‹#ÝRÑÆL±šššPTZŠp8,yn7¬š2Ehúý~dˆ*õW[ZÒRL7óŠ%Vœ¦¦&¬½å–´2¥[j]aww7>û䓘R[‹iӧ㟾þuEs¤ã}/o¯½þ:æ/\ˆIÕÕø›/Y²8Cï\ׯ_Ç´éÓñç·ß²–‡{ Ï|éKé'|3*Ö3_úl6šOžÄÞ={ðáøÖ·¿mø{yÛ±s'>hlÄápª¹ÿþ­o:WEE^øáñwÿð¸ÚÚŠò´´´à{ßùNú ßlŠÕÓÛ‹»vṯÅÅÅøû/¯ÿþ÷†¾Wk_ûêWáñxPTT„¿ÿò—ñÆ›o>ׯ[oÅ£?Œ‡yßþîwñËŸÿ<îÚt­‹ø†‡ÑyíÁ @) ËÊ0qâD±én€šÚZ¡¼_S[‹7nú^|.§è{þØ)ÕÕ†ÏÅ·/~éKøÉÏ~†»ï¾ £+ƒàØÁƒé'mu#v‡y(,*ÑS¬€ßëW® ¿¤•••pEšÚ,Å’è­¶¶6ÔÔÔD^·¶¢´´ÔÐ÷jMrl[›p#çbYOá xàþûñÞûïcË»ïâöÛn,Yµ*­7ÊqèííÅ• @GgѪ*V{[ŠÊÊP5e Âá°æ´W(**ºuëð/ÿú¯øÉ‹/bØëÅw¾û]|ú¡‡ }¯Öþíùçñ /À7<Œï}ï{xèÁ Ÿëßžþ‘üäűyóf|á™g°oï^TTTèÞGº%Þ²²²0eêT\iiA¶l]©$Æòûý(¯¨@824~ø‹Ÿý Á@Õ55XÐЀ†E‹ð¯Ýð÷ò¶nÝ:444`V}=¦OŸŽç¾ñ CçÚ¹s'~òÓŸâW/½§Ó‰O}êSxàþûñäSO©NëM7ëš'º.1$+n“í›6 £”N— KV­J÷ðt3ÕŽ<ˆòª*\9ÞšrCº¥›8˜·¬Ž•néfy+ÝÒÍx‹öŸ:—–LºnϤ-Vº¥]aº¥+ÝÒ-­Xé–V¬tK+Vº¥[Z±Ò-å-¡µõo>æå(Æ ÂÓÀ0 !’ÿ‘Ïp”aÂHŽ! øÁJå°ÛíXóC_ÃM‚Á2ÅB8FAAqŠ”DLB`glÑ›‰Þ C@½™èÝPDþƒAÅFi ãƒeЇÁq\dgƒèÍ€”pÀÐ`‘›`Øl‘ÞÁˆþuØ`„Ý+"çfY6Jßm3AÜ3™èu#ÿmR Š Ë1ô÷÷áܹS \ÄBÂD­‰Þ?ÓåÂâÅ+àr¹S‚AO>ß0N5Ãâ%+“–ƒeŠQ$D !1`‘žCJ†a@ ¡ÇQÑy¨äor¨DZ@^^~ƒ˜g]ö[«0\ºt?üÁóÂ"ÜÈwÒn·ÿõË7PXèJ ¹ÄÏbx؋Ç÷£aÑò¨L’ƒeŠÅ?½ï(8²‰™hJ£ÊÄ“¯By3fnHëH¯w­­—Q_¿^ï^ùíÏñì_}U÷üVbà8K–¬Âܹ °Ùl $êv¢Ö ‡±mÛ¦AšDÑ­•ƒÞ³ÐºN¢’V¬¨òëÞ˜µW ã(&ú=áÀQÙFN©wâa‰ã‡1{ö|PJ‡U0@¥W[‡¡¦v:֬ݛÍ.rG7 …pòäPŽ‚R.e´ž…ø?ÇѤä`™bTf~iÔ½ñ7(Þù‹Ï0À㢈ŠÉ¥4Ž”â`àͽüœ¼ë•` DpOVcˆPJÁ0 Ö¬½ OFjå {ÒϨur°4x§"Ó¯È 9 8Žg—‹õ B%`ÁFj("ëÁ›éD0ð=•ãX„BAœ8q›6½þþ^„B!øý#`Ùp4˜&šA®JJÊ¢sL§NGoo7Ö¯¿ Ã`î܆H /ZId%µgpÑós k•,K‹J^ô4rC”£ÂÆŒpŽ)V$6s3ZŽ=€Ÿþô{¸v­5*T 77µµÓu³+1¨ÉÁï÷cØëZõcSãø8,c)Ë<k²BQ®LQå¶™‹‹%‰T{ á‹RƒÙB¼ÃChk»§Ó…ªª)¸eøzåþöËÏa°,«k±¬À ö`)åDqÆCDñ¢‹Ó·XF1Xg±($¾šw…49Ê•KØ%!z”R0„_ÅÒÊæÌbàÏ]\TІ†å¨ªš‚‡úÃàw¯üBbúÅ{*0¨>X*æÇDÄ·ˆõIa°4x—’å)3 ûßÑXÕW4òA¢øûd0L«›…/<óÈÊÎAVv`Ä?‚í¢k¦ƒ¼ÈÈ»žÑ”ƒ* ,–`°$x'TݯKzKä{.šþK¬…ÌÊë=É`à¯Á±::®áÝwÿˆÆ=Ûpºù8~ðÃ_Ãété^ÃJ b«ÁE2‰Åm âÀ\üL’Æ`™bQ©–f…± o¾b=D4&¥Z|3é(5©ÁÁ~\¼x[¶¼…­ÛÞFgÇuPJ‘““+ª4lj\’Ä ”ÕMGCWW22²••#ÔÓÓ…`0`@qÆ"+Ô¹DZð á·3çÀð##++ZH›jŠe*Ò8ìÄ‰ÃøÎ·¿)ÆårcÒ¤jÜ{ßc`›jÀk5y,éd”JäJ GŽ|ˆ«W/áÁ?‹¼¼\¸poýáÜ~û=‚’[!•w‘Õ¢‡ûñß¿x}}=Øä~ !øû¯ü¯¨å"¢|†Z`~©FlA1qâdTUUcÁÂ¥¸téV¬X¯‘Š[º»o ¥åü##(¯˜ˆ@0{˜£„aÅŠõ¸ÑÙŽ×þç%4,ZŽM5«nAIiy\‹46®PT”ãM:CNjÂO~ô] EXø|Ã^¸Ýx\™ `¢)·ºÅâã23÷"dzfÍÃ_ÿÍ7ÐÛs>ô9x½Ch¹t^ò#­KX…¡¥å<~ñóÿƒ Î !/¯ÅÅeX³vã¨a€ÌÌ,Ü{ï£xùåñã} ÷Þ÷V­Ú¯w(êÕ;Z"¬Ë e=…¥,úú{àõI.lX†Úºà(«Sœ¤¢AOš0ÈË+À¬™s¨^#ÕÂá÷lCsóq~°,‹ÞÞnœ?‡Sš1§PüùZÛ.£««µµ3påòE "''wÝõ@ 0X¦XR!ÍÛ€U«7€Oêç.Ä}>ñx¦ÚCN¦nÿAAÑS……Åp8¤›«Ož\ƒ™3çJj©–Ã… §ñúk¿ÂªÕð…gþyyxíµ_ahh6›=%’v…âÉ÷ å(Üxê ‹ú¹ •ƒ… Ë¢Y •šDÕší% ¢Ah­-Æ€``«Wߊ^ìÚõ†½^L:÷Þû(**&B˜’B ¼’45Åšµ±bÅzØlv|êžGðî»DOÏ dGk|VaHZ±"ÓwlÑÕ<8›-ÒC]Y.lÜðIiáŽJ+y„(Óc=“n CìzååðàƒŸdçäà/žþ²’ 999xì±§ñØcOI‘î»ïqÉg™YY¸ï¾Ç,Å`™bQŽÂçóbphâPœÿYNĈëu¢^@TÅX¡/àÄÝ[:a|a°L±\.:o´GVpD/̱¬à†øé· K£»qF]ov#3DƒÒ"Ë7©jrÃM„AÕ5«‘Û:;tK7£­ñ™”Oš„+çÎY›¦[º¥¤Üné–V¬tK+Vº¥+ÝÒ-­Xé–V¬t»I[šx-!M¼–Æ0>1X¦Xãô,at1X¦X‰’}éYÃ(c°:xGö€ÇŽ>3úßJ b:ž4†ÔaHZ±Ì}ƒA;váp##>AG“6Ó‰•ÔˆÆÒ¬Ã`™+4BöÅ[«k×®âdt9ÖȈ<òyÌœ57¥¤gz„c£E¼öqÂ`]Œ%1ÀJ²/J‹šñúë/ãܹSèãP\\Y%Ì Oé™áب¯},1X¡X*d_bBŠ“MÇpòäx22P[;<ø•`Ê”©Öe/IŽpLŒAL$_êÎ_;Á" VZ,m²/‚… — zÊT—”âµ×^Bw÷ >´ŸºÇƒººYªqÀhމÿ§1X‹ÁÅ¢¬Ôv‡Ã‰sç›ñ‹_ü\»v;wlÇ“‰[o½K5 -Â1ž±g,ˆ×>Ê,Q,žû@Å„ŸöïÛ…7~ÿk¸\.á¶Û>…Ú©ÓQ;u††báQT¤Ó’Ã`ÅŠCöD8ªþñÿyùhܳ ÷Þ÷(§À9V„c¼ùKÒ³˳B}ÿ·®n6!ðù†át:#,/¢lP tB„côv HcHKË ÙO)§iŒW̳ƒa§1$ˆÁÒrƒáX0„wh`„ƒÏLÔQQC*HÏÁiƒ¥,Ë ©¶–wwwâÍ7~‹ ΀0*'Å2H‚Q%=‹ E½3Ár )¨¼KÓÖë×[ñâ¿ææãíuaa1äó„¬3¿ê„cbÆ3ùi ãÉBIöE)Å… §qòäÁgfecé’Õ’á˜Ú0!$!…,´XÒ€‘‚‚bÁëDQqîüÄýXºlBóÕHëC´„ªV LcHËKÚ¦N›…ÿ÷›ß…d9¹y(--‡Ýî4_>™Lý†’à}N’Æ0 ’V,5²/‡ÃÉSjüí£Ez&LÓFCÒŠôLJÄ$-Gƒp,a41X¦Xi±4†”(Všp,!®kN¯¥[²-M¼–n£ÖÒŠ•niÅJ·´b¥[Z±Ò-ÝÒŠ•niÅJ·sS-þñ‰p”`—Œ3É×£©ÿg¢Ó‘#ëŒl+ç ³ÈÉWDK¦±Œ,‹B¬¥ U_Ñ›×#^îSÎÈ«³‰ôXùœ ­…’i,ã‹aÅâ—a'ÒÄ«BÄ€”3Hù!ùzÄØ²%ë±p¯w—/_€ÍfCmÍ x22ÆK*ä20Їýûw£¦¦“&UÃíö¤‹aÅJFp0´RyTÑ# DZèééÆÑ£°}ÛfÌ™³'N'Ã3êXR%—‘‘8Ј3gš°rÅ:LŸQÜÜ<É>ЩÄb×±$“RõVÈ—)…(6ÉÒ)°Òï p9I@[Œ% ¢½½ {voÅÎ]ïáúµVL™R –e£$c£‡%•r¡”CoO7N5EûõV¬]{/^‰Ò²råJ‹ñKí¢*<½Þ¨ÅvU<¹· ŸÅœ?Û¶¾ƒƒ÷¢³³=€²Q’1nT°Œ–\(å0<ìŹsÍò¢ ë×ß’’r¸Ýn˰V,ií‚jšv±‰T3«<ñW䵸'(—))½+°„ÃaôõõàÔ©cضmNž<ïÐ(å"+ˆ ]œ™J,£%ñë@À«W.áߣµõ2n¹å˜9s.rrreüî‰a1cñBÌ“¸Kˆb¤«Z½VLÎJAÅÁd‚X(¥`Ù0ÚÚ®àƒ½;ðÁ;ÑÒr¡PPŠBÁl5–±‹ø3ŽãÐÛÛƒîA__Ö¬éDCÃ2”•VÀát&Å|ð®Ão)õÁ¢DX•Ï2\k~>Ïñ¡ÏQ¹1“X|>/®\¹ˆ=»·bÏžmèëëA8R˜J:o1–Ñ–‹–•ôù†qªé¼CƒèëëÁÊ•ë1iR5\.·5X )¥*BSåD(¥?QƱ¢ONAd¦Z*+cì5…eY öãøñÃØ½ë]œ>}ýý½*Ö‚Ï…’ÕXÆN.д”áp—/_ÀÀ@zºo`Õª ˜>c6r²sÁØl‰cI´Ü  J!0òŠo†ãb—Ú•}õ›Že‰a ¸ví ü{ölEkëe£àZ‚¦”‚Š\¡UXÆ\.:ǰ,‹îî.ìØ±mmW°vÝíX´h9JKÊaîË“ »1HEÕXyö‹ÊbBE”DUŸ3@«ñô9ê:Žc12âCKËìÞý>އΎvYpÉq8 ¾ÍD°Œ¹Q@`dćææèííF_–.[ƒªª)’‚ª,Ë T%×PO©Õ(sä»HIƒZ··ñüâ|€ ˲èëëASÓQìÝ»'Ž‚Ï7÷¡ ca ª1V"XÆ‹\tM–Šklk»‚-[ÞB{{V¯Ùˆ™3ç ;;„0q±˜s…ÑL’7yrOˆÚ®B=0TšY*–p8ŒŽŽkhܳ‡ïÃå+ðû Y‚Xϧªå³XÆ“\`’‹‚7:ðÁ;ÑÕuÝk7béÒÕ(((R$F6qJ2ÆÒ沌OC¨Ì¨ä™‡,,ËâêÕìÝ»ׯ·" %0î"Ã2žäbÈd©´áa/Μ9 ”•U";;‡Ó4»‘C"BTÖDb•ÜØH»úÅb…4.›Í†ÒÒ Ì˜1@Ý݇Æ„ r#dùz1–,ãI.‰6§Ó…ŠÊ‰¨«›ÜÜ»¾{€î^,êµñLD"š4j뉇£xÈ&±8L˜0 YYÙ(*.ÁÞ½;pæôI ¨F%Y,c)¹2ñça99y˜7o1Ö­¿ÕÕuÂL $€…$o±ô {Úì¼ÑÞI㇔âù>É`aEX´h%ŠŠJ‘Ÿ_ˆ£Gö£§·\Ô5Rñ†ÊªË,c%E!˜ØlvTVNÄÒek±hÑ Lž\ ‡Ã!€uXìÆ„¥?ÚŸê™ÆËuËD±DÌ}&¦NÌÌl”–”£±qÚÚ®  J¡Ue%–±” ¯ÄOª«§bÕª ˜;oŠŠJáp8,ÇbÂbégzÃæÕ$ÃO !.—UUS——òò ؾc3Μ>‰áá¡QÅ2Vrayy˜;·+WnÂL Ž IDATÀôõÈÈȆk¬Ç’@å]ïÂFǽâ÷j9›Í†¼¼,lX†Ì¬l—âÈáý‘é4éÂ2rá­”ËåFii-ZU«oEYYœNWʱ$Æš'¥Õ#«7.£Ù’9,N§3fÔ#//ùy…8xp/œNט`Iµ\Ün7jjê°lù:ÌŸ¿¥¥®…QÀbið®S3<&šý³Y,‡••UXËÈ/(„ÃîP­3–TÉÅáp ®n6f×/À”)µÈÎÎ2%ÍÅâÿT?úâË|°ª‰‡ R…Åf³£°°6Ü5æXR!—ÂÂ<öøÓZÕK±˜R,†L”(‚O‹µ…Hbøô$P5¹âVùÔ‘X‡ i,7ã®_µÂ†Á±a°”ÓME2y2eÆ Çrà86"°4–ñŨb1 ¿7:àrº”sEE4&JƒÙHðÖ¢íZbô8⚋춢d_‘+q#77/å&ÀbX±Ün<ž (4™m§Ák:Ã0   à¢kØ(((ÏÉDbf:¶tˆ“ q0LÄœó5’ì¬l—À-쥱Œ_,†ËávbrM5Æ %b‹K[û ̘9WX+%\‹}Fd¼YÊïbßCå8åßP˜C(ÈÛ0rÕ˜b¥)Ç? ²øÔápÀåò(†wäõ&¢¶Íœ¢v¥¡ÔD=fcAáñxÀµXiJÄñºº:Ð×׋ººYÈÌÌŽ;–¨–ÅIkWƸÃáFF| p/¦)ozFŽãÐßß‹sçš1oÞ"!Š?m÷hüµô/¯ìmm­`Ù°¹:Všqüc7Žc5g8ÄjNÚ1—8ÆR‹·ä /ÅfjHç£O9ÚX8ŽÃà`?BÁ JËø1»Ä±$³¸r=¤‘qBªŸiÿȲ)ÔˆÅä • © ÜØT kèÇ– £qÏ6üá­ß \£…E+¾R¥o£Ð=F Å‚þÚ¤¨"ùeã cS0Ù±l cÃØd?¶T‘c……R Àßð°äáXIϳÈDÄÆgt‚ Üª oÌb3ÚcÝzZy¿iÓ›hj:¦jÞ{÷Ï8qâ°¬§qQ0ñ{Nõ}JD¨Z$sVjô±@F³˜ #ÖG]IÍY+)©­ô·zó²’¢ŠìëëAQQ©êâ̾¾äææ‹nhì¨"cÇb̰ðq•Í °’ž1žu‘['é*l¢òZü;þs=.Õ¸Á»AJD*e–ß–xùXPEj= ±¢­¤±uS–ÈÅx_É”Ê(V$¢c鵤©"A•E6±Å G›*r<ÑVJËËE5¾JDÉäÖIiµ´ãA3ŠQd›b?!’žÉqܨSE*°È,ËØ`%EVÈ…ê•´\›9(µZ^©Ö'Ec$¨•lŠÇAOh…Ð ¸Ía´•ÊÌŽj®º¶ ‹vœeT©¨Hb#n›ÊbB“Y¡J¾£N€/ËPääò”“f6<åµÚéqñ(5².Ptuu`ÇŽ-ðù†ñöÛ¯cdÄŽ£Áÿø?öb×®÷qýz[ʱ(äž2ɹheu”ªgzâŒPÿµò¯t ÁË(%"_Qîíízjnn>' 6ú?¶•—ǧßó“¡gÌÊʆ×;„¯}íKðù†±zõ­ðx<ؼéM¼ÿÞŸ°jõ­X¸pi\Ê «©"Ö ‰SE*ÓqüC X$c–Jl¥b–XÖ™ˆWh„Àéæøï_¾€ÁÁ~Øív<üÈç1}z=(GÑ|ê8~õÒÐÛÛ †±á±Çÿuuõ˜>}–fÖ–,=#˲èêêÀ¹³§““‡––ó˜3g!ZZÎc` ]]˜:u†°wŽ•ôŒñØüÄ!ͯÒVÑÆB ×X¡Tz1–ÆlŒ%ÉT8o¾ùø|^¬¿åÈÍËÇO^ü.¾óíoâØñCøýï_F__/j§Î@/~ü£oãߟÿ';z@ÓÄ›‰kÔ„ï÷Àn³ãÞ{…ÝnÇï_¡Poüþ×…B¸ïþÇ‘•ƒáa¯jáÔJ, …T‡g´þëa¡º U™Z¬îòôÜŸø¯Ò5Ò‚w£”ˆ²srñÅ/}K—®ÆÅ‹çðÝïþ/´µ]F[Ûe<òÈS˜](ùËÿú!·âúõV<øæÌm°„Q>l“Ÿ_ˆÇ”rX¶|-._¾ˆçŸÿ*,XŠ{ï{ ³gÏ!¶¨Yç,¥gÔ£Š¤¢ZÆ4U¤,åW– ´ÊÒú”¼øÏbI-à]³(ê !xüñ/`Ñ¢•ªªª‘•™-|?mÚLÌž=ÅÅ¥xð¡Ï ¼|‚ÃÅæTÇ6†Ei%€‚‚"dfd¢³ã2<(,,Ž E<§‹r(Fm¨Æª¼Sá½`\ﯘ˜ŽZPÇŠC‰D¿ÂöܹS蓆iÑãvîØ‚ë×[EEUªS`LœžqppÇŽ~ˆ`(ˆ·þð;”––ãÛßù9þó?ÿ¯¼ò <øàgáp:±pá2äääYNϨM)-Á(ÙÍSE*ëIÄ@¬¥,ÄûË«VÔ2ãúåB-yöL^üñ·ÑÑq UUÕhX´Bà™3M8zô (¥¨¬¬BâåªSE¨*¨A,B–ÊâÈ‘ñƒïÿº»o`Õê[ár¹±zÕø|^üàÿ†}ìŒÎ~Ôž¶bÕ P5f¢ aÑ®ƒÑ8嘈­¨Âji•3.ª ¶r‹3§Oâ…þ­­-˜0a¾üwÏáä‰#à8çÎÆ÷¿ÿÿ¡§» “'×â‹_ú fΜ«[‹I†ž1+33gÍÅñãaw8°páRB0ÁäæÀf³cÆŒzdee[B‰¨†…ã8„Ã!„£+YœOºlSÒT‘ÔÀ°ŒÚ˜ŸQK¥,ö*7ÇL`g #”ˆ.œÅÞ½Û1ìB}ýB<öø_¢¦f:Nœ8‚ ÎàÃý?ÃÐàžz꯱xÉjäææ¨×$NÏx£«þ‘|ëÛ?ÃæMo‚alQ>x;-ZŽ;>q?ŽÙΨ¬˜h)Žãàó ãÂ…Óh¹tW¯¶ #3Bü6iR-X6,V…ä¨"‰òáJÇó´JF”JA臓'×"'7ÅE%Â"ˆÁÁA"+3þ€ב••ƒüüÕ=lŒ`1®<êŠÏN”V ¢Â«Ec…ZÅ;‡Ã{îy÷Ýÿ8\.éÃ6»÷Üû(î½÷Qx<qJ\¥N‹t™$­€3¼*«±PÊáÐÁ°õý·£J;?¿µÝnÇú[îDgg;Þþók¸rõ5¬À† w¢qïvìÙý>ŠKÊñÄ_@YY¥.í)Ä$!å»==¥RÛ': ‹¥NCxûí÷ÀápÁét)\ÒúõŸ€Ýn‡ÛíQÝ|RÏJÜŒôŒÇ¡ùô x½Cš×±ÙìÈÏ/Äå–ó8xp/úúzÀ±f×ÏÇ®ïâüùÓ¸råÖ¬Ùˆ’’r ŸU<,1÷¥–©SIR+¾‡z ÔIQEfgçj~Ÿ••·Ö£m%nFzF‚ÊÊ*8ÎH,¥˜®Ã`òäZ,]²¡påå@HѦTOCWW'JJÊP_¨Àg 4v}%“ªÇW1‹¯¨÷±£ŠL†a°xñJ\¼pûöí@8ÌB<7ãÑ3ªJ¡¨qIƒtc»¶+4“¤!ܰâv¤[êÚÚ%ëu¿ÿõë¿•QbîPîÊ̾–DÅÊ,ÏMe…Z4„?ðùôÓGí‰#ÏãGÿõŸ¯¨Ö›Ð'µRÒ×ÚÃ8zCKKNù7_øÒOq·gŸú{ì>°C•`DM¡¤VˆfP@å½XÉ”®Ø”Åâ©"oYvGú©Ý$mõâuØ}`§,ž‚ŽBÉÝžžBQ…ÂÆkªÓfü~Z©nJåZ -ŽùTdå{ªø^:±O>Í'‹uÇÚO&}“GNLб¿¿„tww¢§·åàñd˜¦g\4{ÉÇÎrÀî;u¹´ÞǬ›žL +éÏMR¡‰èÇžžñè™Ã˜?}¡éû8s¥Ó'ÍTýnË®wpûš;U¿Û{d*–†Y‹ã^€æ5±^¼r‰•EmF¨²*¥?QR5ÁœbÍ©¿+©›9Øô¡@}8žèž9"+BÉ8¨¦dFË Zǘæy—@rE{û5¼·åO¸r¹,¡,À®ï G¼™W'º "¶:Î=£|)’ôä»~ìØ¾ýý},f&!ª»:­ïÕÝ¡öÍÓÄkç‡;dB“ûl×®]Áÿ¼òßøï_ügšO‚e#t†§NGsÓñÈ4]!FàBT'ã^-q×ÐÇ"‚ˆ-Sk:u ÇŠÎG¿ù±ØbÒ&KQ•ÿ ŽŠÛÚ%ë´ý}tÔ¼¼|f̬GÓÉ£xõ•_¢åây°l€ï½û'ܸÑœjä…&ÿkž:H:Æ%§ üزå-tt¶kZƒ› ‹DÙMÄAF-”ÒêgM6è µ) ÊÊ+ðè%KWáì™&¼ôËáÌéS˜={>(€Íoÿ#¾‘Q¡ŠÔ¢­¬¯Ÿ Š·ß~¾‘áqeÓ;o`Äﳌ*R_¹Œ(L[¦$K;¥æ+Ò¥e•xðÓŸÅ‚…KqæôI¼ùúoàt:q÷'‚×;ˆ³gOãØ8Dcœ’Ú'=£VJ/À“'×âžÀÐРΜi¶· ,“&×àÁ‡>ƒÂâb\»vU¡@F°$Ö¨¬š¯œ@ãüSÇ2ù« ‘¨œ8 Ÿyò‹X°p):;¯ãØÑƒÈÌÊÂ’e«Ñré<†½ÃšAªÒäkÓ3š~ p¹Ý¨›6+—¯Ç…‹g0<ì3,v›Á` –¡½ãúûûÃb:®’=µNÏý%O¼7–Pšÿ¢â|úÑÏcéò5¸pþ ^{õ%øGFÀ>ßÐ3R NX‰BP^9a̱ClÛº >ß0Ž;ˆë×[-ÃbVÁ̸=£ñ•¡:ÖŽýÛ£Ùꔈ±÷&Vá®O>€«—/âøÑCìïǬúù’ÑGƒžQ E{|Ow:;¯G¯16XøúÖ»›ÿ6Ì&F[ às?‚‰Ç#õË$51Ö¦o›ê¡âô;## kÖ߆9sâêÕ48‚7:„Øf4é9ŽÃˆ,Ëbhhƒý’ãF ¥îºëp,‡‰“¦ ¢|¢i,F ÇŽ}ÛâZ} ¤Uj É)–@‰¨BŸC5–Ãr%íçPXT‚‡û</]…ÖÖËxíÕ—pîl³jàÌq±8B—ž1iñ–…odXˆ)¥X°`)ž}öŸŸ_¤פ †0˜<©+V¬G0Ëqæ±rIÆÜœ™2‚Q·i7ƒKAO`±£ý}8î4šOC^^²²²QV6>ôPŽâð¡}øÍo~ŠÏ~ö‹¨©®a¦Ó3êqöõ÷àüÙf4:Š‚Âbx2bÓšív§„©XÛe¤KQqtŠ5P\R†–Ëçá÷Dcùä-w&4V˜èr:O’1–^,!.7xûñÖ^Áþ½»Ðßß 'w|â>0 ƒòÊ*<üè“  8uò(N6EuM]œÞ“U$!ƒýxóß`ß;cXî¼?Û YzFë°tv¶£­íŠÿÅrçú» ¸Á­I)˜Q¥KˆÑÏ(=#\ºt{woÆ=ž ”WN€ÃáC€ÒòJ<öÄ_âÈÁý¨­™®ûp’¡Š¤”âÒųhܳM‚¥¢<‚||’=£ÅX¡PÄ«ò,ˆ°Q*sîŒ MW±î\7¶k€’‰là_P„ 'chhYhX¼3gÍc³ ÙNiIîºëÂèÛ&G ……ŘX5EÀ²xÉJÔ×/„Ýn‘Ê€SeΜÌ™»ŒŽ<äX¬o4ÉL0T‘  rÂD<ôðgqªé8ŠŠJ0«~ Šb;ŠæIë Ñ ªÈ &ᡇ?‡¦“GQTT‚9õ (((™c(ÕXôv„Uòné-†õö¶‚TZ3 ¨"×/‹ÝŒ Cm „ÁŒº¹˜Z36› 6›]‹ ­ Š$˜>­µÕÓa³ÙNªTREŽ£JO铵F†êX‡½aøàõË6hÞ Ad¥ŽÓé‚Ýîˆ.L•þS«D«×ЍAÔ>NŒ%Þ9n,Æ”*±2Â(ÆXjí–å·Æµ`GªÈTc‰Gi”xÅ–œ7iÅ’[0IÑIqSEϨ0Ç3í7#¤mrkeV¬‰Éd•w3î0Y8± âÿú·HA-ΜÆËh±&:¡/®+=ÞöÁû&c9pyxi+¥é1‘|BuocŒEÏêµïýèßPVÖ¦y>1‹VÍ*Æ!¡§xŒ@À060 ›FB¢ˆ±XM"ÚiÞf³¡··K‹¸ØG|,‹f-2-£’’R”––Ƭ¬€%fy‰pDó»Ø÷P9Nù7æŠîÅH€‘«ÆËï÷Ã;<„ÌÌ\8ìA¸[÷¾'¹±äMÇoj 126>¸!`AÁÈ–þC1 Í{G‚ˆE ƒp¹\šrQ»¾,+æ­LøþßÙõ.\¶a8¸\Õ’‚¸ë;D§Ì@ –""° ðx<`Z¬@ €ÁÁ!deæÂáphÒ3î=²+¬ÂX6>~‹0é)©"ù^• me0D04,9måÒ¹Ë-½çÆÃ»Œ ««}}½¨«›…ÌÌlƒõ+ªS×2^_‡CñÀa¼@jœžqß±„ŒbqýÒ1S0-?zæ0a0¯n~Üsœk= ˜6qÆkk<¼[X¨Êo¨yî\3æÍ[$Ć1C¬í¿–þå;^[[kt_m•÷Dé#T‘ Î\4n„þÑñ¬P@„*2²7´q+©?ÉÝX¼˜Kc©Å[R%•Ó{šP¬d)Å·s§ÍGº%ÞN_>%¡Š4³˜BÏ-Êw›ˆ_Þ£*ñ™…T‘z ¥¶üi÷ÁøŸWÿõõó±rÕ- „`Vu}Zc ´æ–S°‚¶RNl«§,J%Sî(NÌ B[J‰HÁr,XŽtêÒIY[*eŽø£ÛN]jÀ‰ 1¨XÒ½sâyu¥ŸCßj™Œ±ôO(_©¦h1ðZÊÜÔØ{cÇŸ¼p\ ÀެpéCoo*+«áÉÄšÅk?’ŠtòÂqIàÍ+U,K7OLý¡ÇÛ4 žµ’n¤)Õ½í„5÷+ZÓåÅ8mJDˆ>¤BIŒž1B[ *Ͱ§vèÔ‡øðÃF46nÃW¾ò¿a³Ù¢´Œf¨"ÍÇDzJ¦¾[˜øwÒYåØ ÇXÉR"Š-–0NgŸ;³ôŒg ‘!Š5 ãOˆÛÛ¼ÆÅÓ—Å=öÈéCX0£Aõ»n7=ï`Ó‡±çN““Kⱕ¶ TºCíË´+Ôó‹b ¥žrJ•O ±æbÁžÞ„Øø1zÆØªäÈûÆ#»A°ˆp"ˆ‹•­W.á­?¼ŠgÿނЧ÷ƒ€ÀFl`£j)8ŽÅö}[A)Åààz{»PQY;±I« ‘Hw¬o²Àw7Ž£Âº ËE5¾JDÉäÖIiµ´©ÃÍ(¥*Ê$%HUÛCÎQ$'a”o> ÓxêD³X¿¿1ÿ°EÅJÊQ¶à@)†‰=h+±hÉ…ÒII,n2)ªWB šašqÚ—ǯÖ'Åš,߉3¦LÈz¨‚¯S[Ê(uÔ-ó™QÐX¬&¸rÊr±K<¹ðáy²rÑŽ³Œ*•<`Wß;:aW¨¤D„&}ï bB1„ DeÆ83a€žQŠDÌPGeX„…ÿÅ"YCD­ÁbD.<› D 3‰ÈE;ÓÛpܼR)7)O¸Ü O‰¨Åý$ªx3EáaÆ™9‡qzF1±[+— < ŽpB\EU‰]ÇO.üÀ¶X©ÌÊE™Òˆãb@yŒ+•r‡{Y²A̸B%¢Ú†Lr!†Ã!tuubhpåŸ_—Ë¥`¤S.ÕðŒ`‘+YD ´êj¼+âhd UÐR'ŽEM.”R ô£»»^ï¼ÞAìm܇ә„\ˆ¡á+”J/ÆÒ‚’dŒ¢×;ˆÆ=ÛÐØ¸ ׯ·"fQ]=³ëÀ7â̾vŽ@Y¹Kªd¼]éìhǾvaÙ²Õ‘ÀÒï©ÌbYE,–eÑÜ|;¶oFsóqtt\¥X–úu·ÅumZX¨nL¥V*PW$©ÂèY,yŒEÞMR"†Ãa=z¿þõOÑßß+ÛÛÛ…¦¦£(¯˜€… —I8ÐSIÏ {ñê+¿ÄÙ3§pþìi4îÞ —ÛƒâÒÒÈù™èœvÊO ¢–cá8--çñòË/âl”©YêöˆPn0-âí¸JK©ˆ¢øÏbI÷”N´ŽEŒ Ñï÷áì™& ô+ŽñeÙ(±˜±ª­’ÅâpºPPP›Í͈Øl6L:>ôYLž\+)¦š’ Ñ«¼kY-s»4„èœHÖbé›{ñû’Òr<üÈSX½z#ÚÚ.ƒã8TN¨ÂĉÕÈ/(F‰ž˜¿`1Ö¬ÛˆÆÝÛ‡àñd   O<ùEØNåø\œ-AÅ’™™‰[7Þ ‚‹Î ;;³fÏÇüy‹Q^Q]w˜Œ\¨a½@ÞL‰ª®Ð|åÝ$%bOÏ ´\:¢â2,]¶OœN_+ŠÞy*è!Kù³³sñä矅±£½½ ‹¯Àšõ·!''„0`Ž;³È ªH€ ²² >úüèƒÛÒÒrA¦­$ʇ+±´c0c1$u+ñÆòíó,±Xò¸†d0ĉ‡ÑÙÙŽŠŠ‰˜5k.ê¦ÏFNN^D¹RLÏHÀÂ& ÈË)Ä_ýõׄ˜Fª£ö‰HV'kY¬ä©" aàGQ' âIDATr¹4"?¿%%wƲ‹åb\yÔ-Tl@ݘ+L)U$!‘­åúôçpåòEœj>ŽmÛ6a÷ž­˜;·sæ,Daa1l6»~€Äè#š:«ß?‚ß¿þ2œNî¹÷Q8N!æ$Q©cYEÍzƒœn>ÉS¦"Ãn·#ÚJõíK`2ÛSw{zJ¥6A3 ‹e„ÈÎÎÅìú¨:==]8xp/¶m{›Þy‹¯Äm·ß#âÕŸ"b–ž‘¥ltjŸÏ‹ßüú§Øºõ(ß‚}úI¸Ýa¬Ð¨ Jž*2òýȈmmW™™…ß0²²sL*±>éŽôÄ´“+¤V|%ø)@jÍô&Mz¦8¡»»—.ÙÓ'ÑÙyn—ÙÙ¹ðü…‚)¥gäß>¼ï½÷gƒ~üùϯ¡¹ù¸æ9RMÉqº»o`hhÝ=]ð¥‹x–ÕýNüWº§òulj´±ìŠ±Ô‚÷Ö«-ؽç}tv\˲ÈÏ/@UU5V¬¸‘ŸŸ/òFb3ôŒò{›2¥S§ÎÀ™3M€™3碢¢ÊÔ&݉bQ·<‘­ã|Ã^ŒŒøLS7*±Ð8ÓdÔ¦«»Iù³ò5dÓo’É M©„„Â!¸]¬^³¥¥–' ê*u zƒa”O˜€¿xæËøÿ¿ó¿áö¸ñù§ÿE¥Å`&c Þù^]Q>õõóQRZüüBXO[©6Nˆ¸.O~œøûØ0d™a‚u,9%bœÅF€šš:Ôhlc’ØÃ¡†±؉CèT5“ëðÂ~kj¨Ê ,r¹ð¬6U“ªñµ¯ÿ‡erQÛœ2fµ ¡Ê =~(U¨$*ïizÆñÅH¦ªV4UéÆvmWh&+üÓ3Þ4X$ça$îPîÊ̾–DÅÊ,ϵÂUÅú¸Ñ3ÞŒX”–Kº‚FoBŸÔJI_kã˜æÒ¥Šü8Ð3Þ¬X‚¬^-Kî 峈Â5ÆHþ’i=Ê1Jk8DQX6 …ò™(R©'½'„Ànc áV"|0 (¸—¢[¤ðLj­>W—ºP¾ËC˜èQ Ö©ªx$VEx-Zl{ôÜUÌœ˜Ÿ2ªH³´•—[¯Ç‰­¤YvÆgD¡¨Baб²=NƒA¸Ý: QI‡µRmå$ª†±5yTÈXb$Ò£©òZ@l*ÑHÍ¡1D"í6›=BÇè°YN™ m¥º¥ëhÇ]b9ëÅUr7¨\°jÂb…Ã!œ9sUUÕC0zFzqcñ©‘}eˆ©s™Lä5Ó{¿ß¥…DÂT‘© ­4RÓŠG¢ö^Ú±µÜ`c…¡P7nt °°Dê¨)…ökã‰éßȯiT¡åVJüžÒÈ@öÀÀ@dgVáscš||ÄS6FôyìX5æ¼X°,] ¡¾QGi+‹ºµÒ‹©¨ …W,£cSÖ7mþ#CbW`ÆRÉ•Jüÿp¥ÐÔZíÌq #=V®ärÒ5c…T9M”ë¤n±, ÞÎhÔ'æÒãk27ˆX¶¶Ë˜0a2222âNïвZZ{è+UÄ.q‰Ì@ÁÒ°Pugh¤ÆD¸¨+Œ~&¬ÀæÂðL” Ä&Ã%è§ÍH#åP³^j §¥`Òß«ÉP[ŒYkbü¡¨¤«÷F­‡;~` ï½÷6úúº5FåµFã©‚|Cù½Ü2¨ 31ëÍrÂ\a.Œþöö÷àð‘ý±!p”‹Mç‘à‡ä¾Œ2úiYbñÒ-*›¼/­OQÕ㥿Ó÷hŒQÓjÍ (G)8Ž.’P›Þ]ah ˆÊ7äJ*…(§ÐÔ„–ò=ÐX‘3ªD==]Øñþ–È{™âp®!ä$ 3ñKkf§t\Qm¼‘j(™RÑ”‹),›Ý §ëQ3µÚãTɹƘ©¥ÊF\¡ÖÐäc+yŒPhò+±åkù¿„Ê”.ª8Ltu„òImðY¾Ô_mù—ÒBåy)Ÿ£ºÛ#q ‹¬Éæ6¯VVwõo#J&¶NÊJrüé‰(˜DÙ¨9 MPµT‘5Œ`Äë¥Ö$ª¶4Â×E5‚c)U$[þQZ]%’Ë‹jà9›R,j‰ÕÒ .µ—'Ag’¿ÒEêOïÐëQÔ”õŠ×Gå+ i ‰îÌEáõV×DÌŠ,¨0È ¢®$®±8ÏEmˆGÍJ%f©â‡I–ñ¼±Zñ-˜–Uƒ¢‡«)•tz‡Ñ¢®` W˜m¥Ø@°Ñ2Ã׬@`#P*QBÁQÊOÓSµ†rªHµÅjîOÛÕÅS@£#–0úik|Êg-âT˜Ø¯¼=W¯@ª½ÂEî ©ž)m¥‰?ÕИ‚i[(£+rT,Ç¥˜ äÕx¤Š¦6ËQj5´]¡ÙR½ò†™ð`¬h+åøøµEsÊ’ÍÆúO3A¼Ò êŸOo–£•vÀn4Ë0kAƒ—jli+ÕÒ}õETÕ­é›è¸k1–Q—¨oéÏ`dÙ|¾a €eÃÈÍÍ ¼J³5­ñ­D ¿z 6žh+Zc-‹”6ˆ*ו‘)йëËø*fFÔÕf0†B~<ø¶ly —.˲¨¬¬Âܹ £Iò‡d<¶J,Ö’Å[㉶ÒÀ3ÒR0ñöpF3=iÇHÅÒ³ZÚ™a¼’Dä»K—.à7¿ù®\¹$xpp--çQ_¿@TzК3D²Tñ2C}YŒÚÊÄ,˜1·gæÚ&¡ãmêC5*¼z–L9•£·· 7n´ SRxë‡QTT‚¬¬Ü8Sg8µÇ×$ã9•+å´•°RÁ´ä–xŒÅ ɦ7>ï3µ÷ÅÅ¥˜8q l6[T‘¹J••±zõ­ÈÊÊŠ;pª?MýX­ÁYÕT\¶RöÚëõâ×/ýïnú#Î9J9œ?wM'Ž€FHßeㄜ”\ëÜ{‹ÿÜâ»4-™ZF ß æãÅ`“'OÅã?;¶àÚµ« ”CII9Ö¯¿³f̓ÚÜlmHM[+I°N©v,6Ö´•”˜¸'bØ8Ûi5%Y¡‘@Þ¼r@ àÃÉ“GQRR†§Ÿþ{ôôÜDZ‚ Œd1ú.0¹à]½²,Q``ÜÐVšwóÉÅQfj„L2J¤š­7Gˆ ]]غõm°,‹É“kQ]]‡¬¬œ8q¿úÕqíÚÕh¬U3mtʌ҅+Ýb,5/-æž¶ÒnLoöx2PQ1QA[©Ï4£3•Ç`–¦Œ {(5¦ f…F\¢^@¯>=ÖétbîÜEhn>ææ£Xºt ƆÞÞüá¿Ã… gP^>ee°Ùì[Ú%#j[-ÉD‡ñB[™¸ŠX §¤Ü WÍ5£\r×X^^‰Å‹Wb÷îm˜e¥’¹ <kfaV¨G—hÖ-*xiZŸ‘‘…?‰—_~'NÂÕ«-hhX%KÖD{»zÍ%9/AúU¤ (”Â;<„+W.ªþº¤¤Ð$kSZ,}ÚÊäŒu2IÚZ£\JKù¾¬lVà•W~ŽììlÜx233-µTñ¬–ö"õÀWŽFܦ8°`Á’h™D©€v»vâˆìhý¾Å¢ ßIM(ebé÷3ÊhoÏùÞáp`ùòµì‡ÃáD]Ýl™p­™Þa4ƒ2´o¼(x'Ñ„Ûf³##înaAÁÑXÖIuv¦H¤âË;d\Å"¡0b–ÕæegçâŽ;îÃ0p»3t&ªY|ʃfã÷%ï`(X„Eu”¬ XŽ•O„U´•fÁš˜,eŠenƒF#UüÈ1Ñû¨Å vÃm¥è½vZÀÀNSJ›ªÕéV+œ=ñ,‰óÛø3Õ­“ñÉþ‰6añ‚hºÌÍ@™ì=‹¯§]x¥"Þ #ŠEHd`4zòîî _Gv–H ´‘])ô,gdPš$!4" lµ>ß0rsóE{ߌ?ªHB?ÚÛÛ´¹µdÌj™'*Ñ—!#Ĺ cÃ0°ÙQæBÅr8èïÃ0ö¢µµÇj˜ËÄ«ÀÉV“q ÚéÊ–‹Ù³ç£°°(*üñCÉÿ* ¡¿¿×F-ã#„ ¬¬ÕÕÓÀ·Ç‡Ý®­XEE¸tî›ËW¬—(•Zã­ ìCÌ("F_B˜—Dâ…ìÊHH}G m·Éê²t+ Í@ˆC^^!ü~tí¢¬ãéȇàXV×Bñ+‚ôZ/²³s‘•“OF†¶bååGæ–WÙ† ² \âé®>Ä5ç§Mÿ+Aémn¯ì袽BÍè’îÀbh„Öd­ÿ(¯ëAéMnO¹ê?ˆ£>œ™Yå uU™ÜιÍý+Î` ‚ ”añµ½ÖòÏØƒ×Óqð…Ê[“<àfÂØ^¦ÓàŽöRŒ¢@AzÉh¯èëdâ`Âæ“„Ï€ÁÏÆ IY®XŽÕ€ ‚ô·—ö+˜ŽG_ Õžt`OÑWË”X ‚ H/q{Çê%¸h¿¯}Y´»{ýìX ‚ Hop{j¥(G,€—6Œíz^Ñþ?â€é8ˆ‹¡{‚ Hïp{ʾJ­€'f×ó­e)Ä{Èë!‚ ½Äí©”­÷=eÓUâ ìÃ'°A^âöh4ͦ¢K”„BR¸ò|%ÐèNÛžæ` ‚ ½Äí1ìûò.чŸ­‘)ÀoâW#paA¡áêùùùñññwîÜ©¯¯5j”a‰Ô<^ éïÀiã?Y7øÄ!#û;áÒb:::ÚÚÚ¼¼¼Ð9jµº®®ÎÓÓ“Éd¢5ršššœœŒt{YYY“&M"Ž…B¡©†øx åÊóù«ú±¤õéÂTHàõeÞñe¦kÕ^uñç´–eKga?䤦¦¾û¹¹hЇœÖÖÖAƒeee…††¢5ržz꩹sç¾ð ]Où4äîînà•cXv©MÊ'WWçæåÑÏ>éÀ9úÛë’×=óÜ©ZYüªeXÁ9,‹N§Þ2‘Þ NWWWl “ÉtvvîÖ,®éæ|QûÆØ‰'+EÄÉÅx]ͰÇì±SRbüÎ ‚ b؃‘¥Œr€KïD~’VEœ ˜³çð’ Ós®¾°vá÷… V«ÌRÔõë×ÇÅÅõH5$''ÇÄÄÔÕÕQ#îÂ… 111ùùùÔˆËÎÎŽ‰‰¹pá‚­ôŠ”””˜˜˜òòrêEçççÇÄĤ¤¤P#®®®.&&æÀ”)“`+-°OrrrH‹‹£ÒV¯¼òJ||ÁžŽPvóF“Be`yôRRR"‰FŒA}5‚ªª*.—koOÅ´­P(,//f±Xˆkii))) ððð°¨>ŸÏårMϪ¾¾žÏ燆†v‹r¥‘HTTTÄáp¼½½)'“Éòòò|}}ýýý©QðÚµk–¡T*srrÌR}„}üýý}}}©¿-äää°Ùl‹Úª+ #88˜q%%%‰Ä,VEEEÝ{“Ú`233 OU›½Fû×plJr‰Úd.'DùGmÖþœãåLV ÄÆÆ²ÙluO@¼¯uûömjÄ%%%@ff&5âN:III––ÂápÌ’Õž={ 77—ú–@ô²={öP#îöíÛðÁP¦ ,^¼Ø¢"ˆwµÌR}„}zä¶Àf³-m«®p¹ÜˆˆÊÄÅÆÆš«Ãê ""âÞÞd‘µ=eÇÓ´ãHÎP6ðòM̶µìÇé §O¾ƒtAÄ8,²¶wô…¨‹MšéM¯og~U2pÒï×Ò"MÉ6{Å:±Œ¹;(®ê”ÒÇ?þ¿i+°FAJÝ^Äg”Ç û¾?ñ6y)üÞ^{X MYÜ‹9Ï—ýûŒ»&¿ÂÂB¬KAD/fžäT«$¯ÅnÒNoNÚt6ÆÓÑÉk6‹AWtT¦6IÑâ‚ Hïq{eG«ÇN^±)ñ#€Fw™çí‰mhqA¤—¸=µJ¼üõ³ÚŸK“¿e14/s>Ä€‚_ï˜E¸foHHHHHˆO`PppppppHHÈØèo±:Aݘsm¯Š÷rfKqܧÿ {¢ïF Y42«ÿÙ·föMçͽoÿa£Æ?9+.l@#¹ø½ZXø*V‚ Bs†«×ÜÊ©–jöòÎaÙuþ£j¬*¬Hî•Îrï;€ÓÏ™I·[`¸º…ÀpuÃÁpuÓÁpuãÀpuÒáê2Q³3>ÝÉ+N®Òœo¯Íš7ÒK×xÓ)ð«‹ÕFG#Šø©ßìûÃÕ1\ÃÕ1\ÃÕ1\Òpõ†ëÇÇwn%>˜)fLŽ>v£áîüdÿþ>n]*$¥«c¸ šŒª’×-zì™WWô̦M‚ ˆÍa6·Wºÿ–&G;}sÇ›¢ç\m³^~ÂÝF}v¾RÐ$®ýçûÏVºwÎm*åoN^ TÞ-wWGAzÆíek†t¾ãwö·g@{í¡9 4ã#¹WNì[=Ò *~,ç¾AËÖîýߟ_:344žŸ¨˜”D³ï®Ž ‚ôzÌö&g…DALÛCT=g%n]È€sÀ…ʦüÓ‰ |&¬:0rk.ñóòG[à¥ýŠÓî®^Ò)A¤§(--åñx×®]#Vûöí3hР^££B¡ÈÈÈ8{ö,ŸÏW©T>>>ááá±±±îîî©Û#Þg¡Ñhë‡k^`©Ë¨€e_>©Fqþn¯?"Víu¡k^~‰ØÌÞ1¬E¡€öÚƒ%Òo‡8òý2ÍîêŽÆ£ÛC¤§èèè8tèÐöíÛ‹ŠŠîý—F£=þøãï½÷ÞôéÓmZM±X¼cÇŽmÛ¶55ýë%ŒÝ»w;;;¿üòËü± 9?³Mr†°í€é8$°Óo)D x¾ŸæygŸù R´¯¿ÉÀtº9TóR»Z­æöõ2Ü]A¨¡µµõèÑ£+V¬xì±ÇBBB'Ož¼fÍš¬¬,4Α#G‚ƒƒÏœ9³jÕªk×®ÕÕÕ …ÂÚÚÚÂÂÂÄÄÄ×^{Ãᤧ§?ùä“O=õŸÏ·Q5OŸ>Íår ÷îÝ[RR" ‹ŠŠ’’’^xá;;»;w:ôܹs½|´WVVÖíŒËãÞ[¯RµkÿRŒv‡Ÿ!ùfá|/"z†ãeÇh+_¸9)ÜG›pP¬?äjÖo———Iœõ<^5eE½þçŽ ¿¼L¬T?¨>>>##ã‡~øã?¸\î–-[¦Nj¸t•Jei[uE&“I¥Ò®âT*Õ×_- þùgmÐ-1àc2™ãÆ7nܪU«’’’öíÛ»nݺçŸÞðû­¹:¬¤Ré½½ÉÈpõyóæuûW..8qæD?3ǃI•LðëÉL÷OD¹×Ü8õ[‰DÑ' júÏ»Ê×dœÎª%Ž'ÇÍñ±Ó=UÝ8—" ‰ Øþþý×Êå}ËcYYY qqqÔ»½Â¼¼¼ØØXggg ÄñùüìììÈÈH/// ÄÕÔÔdee…‡‡s8‹J¹~ýzll¬éY•––^¿~}Ú´il6›â–ÐÐОž>jÔ¨ÀÀ@ ĵ··Ÿ>}:$$¤[Ô0ŸÏ¿uë–ŸŸ_¿~ýÜÜܺ~E¡­­­¡¡áÎ;uuujµzРA#GŽd2 }€>vì‡Ã ·œRr¹üĉf©>Â>\.7$$D{²¥¥¥¬¬,$$ÄðpøÚÚÚœœœ¶¶¶°°°   S8qÂÏÏÏ¢¶êJjjª]dd¤vú­  À××Wë×u{—7nTVV†……=òÈ#Þo[ZZÌÒaužžÎápº÷&³í®®ê˜Äv€'Ž–jÏ%.düßÝ€â)þàðy×ty[Ó<"9=¢ rÇÝÕ1\ÃÕ{$\]"‘¼ôÒK7nlmmÕ¶¸¸xéÒ¥t:ËåÞtÁÆÃÕÿüóÏC‡‘•\._»v-Nß¾}»õ‡«+ŠmÛ¶ÕÖÖ’ÊaïÞ½ööö‰‰‰Íîê4û=Ÿ„@Æk«Es‹¯,˜~w>sv×ìšîÏÚá§ßã›™4Ë ¸»:‚X’úúúµk×~øá‡ëÖ­ëÓGÏ÷r‡ røðá«W¯ÒéôˆˆˆŠŠŠ^oŸ+W®ØÛÛ>÷¯õ$&ó³Ï>;wîÜÆ>låš=ztåÊ•}ûö%•jåÊ•gΜyçw®]»fÍÚ™óc˜¾ñ[¤›£¤1%êƒ3WÈôØúÇyç4ª_Ì£ o/ÊjÕì+]ÿ @H¯Ý«gÖ;{Å:±²iÁnH'çºì®Ž;0 ˆ)ÔÕÕ%''oÙ²…ÔG GŽ™=þüèèèúúú^lŸ‚‚77·qãÆ™’ÉÔ©S/]º´yóæK—.Y­¦™™™F/¸DGGÿòË/+W®‹ÅV« 9w` 1=’ÿøO¿ ëþ»uÆ¢¾©GÖÄÃq6"ÁÅwÀA8TÙê ?¿¾P¤TÀÀß­¨çéÒ¼»««ä¿ÓÒoÜ*njWºzõ91†2£S,šzM»I”ªèÖ|;ëÁ–p¯t¦³•âú %η´´ddd¼ùæ›Fäéàà°uëÖ°°°y󿥦¦v]ìYÛšÑ>555ŽŽŽƒ6]Ä#<’žž¾hÑ¢äädk»-ðùü   S–E'Nœøù矯]»v×®]VÚ̶¶×ɹ÷Æ×<öܧe"ù¿×ÿä^v ½)GRwó㥚ç&¿¨±Üˆy[·ÎÏ›‘J¥”Õî]»´¿³]7S¸xqX®–]Û{hï!cÁk{ç7,,³¶÷ ‰ðùÁ¬mmïA¥õ ™^<ï›o¾ùðÃ_|ñÅY³fMídÖ¬YË–-{ûí·÷ìÙÃãñªªªŒ³ÕG;vSY5/Ä¿ËãñL‘ššúî»ïê;‘®íé(ðm(..6o!kjjV¯^­R©tˆ¦3í-a«‰s`yŒ _QQa)‰‰‰ýõ—îû­ß€žYÛ3¿ÛS«ä»_ž@\fï´*áPy‹LûçJ?8y‡{uÔ¸³Þ.h•§’nO\Å‹ xà°’Æp´\èmv·§WœÙÝžn‰nA–]œ'ëöôÚ§ë}377÷믿~öÙgÉ>ï,]ºôûï¿oll4\ºëàÙTV“÷hâþk:.\øã?t‹sôimnOwYþQ–(gqqñ/¿üB±­t‹³c™ÓíÝ»·•ŸªCÃÁ­·¸=µZ­V_?¾mJ°&΃Î`…Mˆž»`áì§§qº;­ê7jÆwgo¡‰¨zOð=Œ‰úFoBYÛõqgj-d}D›Óí"μnO¯DÃÙzÜž!öÉÍͽråÊûï¿?nܸ©S§®\¹rË–-ÇÏÊÊ*,,lhh …]³mii¹}ûvnnnFFÆo¿ýöå—_¾õÖ[3gÎ6l˜³³óŒ3’’’:::ôÛŠîDiÕÐÍù´÷Çï{Ǹ9èG³·*·G±}º’ù•¶ÒßìiL3Škk¸ÌuÕ½(½GÜž‘k{<OÏìáëw'?+;óï+ùÿÜùçZÑUQ‡\©î 便kÛÔ¡4¨æñªÉËÚ½{·¥:»vñeÝ‚¡1ô«fúEdee‘}uÊqW¯^•J¥”)Ètd!ÛäääH¥REbŸmÛ¶ ý±ïÊÅÙ¹[´%/S\¾|¹¶¶Ö,öa8ô³Øma•¶Òß.æ—×*ÓùþoµV@Ör;#ãJYu£ÚŽ50ˆ;yâpgúÝÁxbb"F[²d‰%Ÿ²Õ-šbM‰z\»víáÇ׭[÷Ê+¯t 4ÖKeeåŽ;fÍš¥mÔ+hiûô&é½[œM[Õ˜w´'®>ª È:“p±¦Û5D «ßjkeîܹf™ý#ÈÏÏoooW[1û÷ïwvvîׯß'Ÿ|rçν×aÚ”};AÄJG{Ùo·ûV×3®„MYZ÷®V41í=UjµÇ#‹–[çs_SSÓøñã¿øâ‹§Ÿ~ÚĬnÞ¼éåååïïÖ ŸÏÿõ×_i4Úˆ#¦OŸ>räÈ¡C‡%W*•UUUååå—.]:}ú´R©Ü°a AÄÖ`š7»¶Ò¶ng:Z/}S#~Û_³ÇºDxZ¥V@ŸG8Vkww÷ü1&&fûöíË—^½Êf³­ßç‡Ãùå—_ÒÒÒ<øÛo¿Ý¸qãÞk ÆÔ©S?úè£yóæ1 ì<‚ Ûßh_øƒßí¤Duwh(ÌMÖ\ãkÍv;vì?ü0{öì7nlÛ¶ÍÎÎŽl§NêÛ·¯á[JZÑÑÑÑÑÑ---éééÿûßÿ •J¥‹‹‹¯¯ï˜1cÂÃÃÍM ÒS˜y’S\ó«ß+]Ï8¸†× ÿf34“œ‰“ú=—UÛݿ•['))éùçŸ ûî»ïFe`*©Tºk×®˜˜˜‘#Gb C±*̼#Œ‹ßËkBÙoøôÄËgµ>¯£)ýµ¿kÀãÑw­ßçÀ’%KŽ?^TT¾jÕ*½ß£€Ó§O¿üòËsæÌAŸ‡ ÒûÝ|tf§+“žaoIÜ7w¨fÿ0¹¨øµ)sÛ”*†½ßilÅ@qqq—/_ ÚµkW``àâÅ‹Ožú(¶*A‡Ëí@UÆÁÅËã3ÊZ»žd: \øÌÇóBmÔXmmmGŽIII¹zõ*ñg‹5|øðÈÈÈÅ‹‡††b{ByHÝ€J’õ{òÉÔ?‹*jé.Þa¢–¾¸$ÐծרN$±X,lC‚ èöAÄ¡£ At{‚ ‚nAAÐí!‚ º=AA·‡ ‚ èöAÝ‚ ‚ ÛCAt{‚ ‚nAAÐí!‚ èöAÝ‚ ‚ ÛCAt{‚ ‚nAAÐí!‚ º=A±a·§R'|z(åŠ ‚ôn·×^}aæÐÁË>üxùÓá#–_o–¡õAÞéö:šþŠ|ô©3%-ÄÏÊ¿M‘/–c ‚ ½Îí©eñO_iîèzN\s~Úô/°AÞæöÊŽ.Ú[ $ŽitC#´&kýGyX‚ Hor{ÊUoüAõáÌÌ*o¨«ÊäºØgö¯8ƒu€ ‚ô·×Zþù©F 0Ÿ¾þóËÉgÂëˆr>Á·:AÞãöоN&&l>9ÉÓ‘8ülq ”åâ‹-‚ U0-- íW>0޾ª=éÀž¢=®–)GtÎyö,«W¯ÎÊʲ¹*œ>}úÆI%9{öìúõëmB;__ßS§NQ,ôøñã›7o¶¹–Àb±.^¼H*‰@ ˜1c†­(˜œœ>þ­·Þš9s&©„ ÙÙÙd ééé .|ñÅI%¶F¦¿‰_°š…=Aäa€¦îât“••5iÒ$âxôèѦ"Ö9ÃGzÛÑ@ÖR™WRKüÅáŽð¶·ž¥=())‰DdßúíŠR©ÌÉÉñöö&ûX'ªªª¸\®½½=©„999l6›ì\œP(,//&ûHXPPÀ`0Ⱦ;ÚÒÒRRRàááA¶F$‰C®ŽŽŽÖÖVoooÓ[B}}=ŸÏ urr2:“¢¢"¥RIv Z$q8²Š”——·´´m½2™,//Ï××—ìüaUU•@ 1bƒA® _»vÍÃÃl‹%U#jµº¶¶ÖËËˈáï}íãïïïëëkt&÷nÂV½¬wk‘H$†×ˆP(tttì>O 6˜ÌÌL#RyÚ1`óVµZÝ.87¸óÝ–O|£6"~ê7û~6KV±±±l6Û”š››àÕW_%›0!!nß¾M6!›Í^¼x1ÙTÄ|zff&Ù„\.7""‚l*"ð.))Ɉáp8†K1übÝìÙ³rssMÉ$""‚Ëå’MEô²={ö“¸[ÆeIDATM¸xñb#ZïíÛ·àƒ> ›ðƒ>€ææf² ÀˆKªFˆnhbõuµOBB‚)™PÜ» [õ²Þ­%77—TDDDÜÛ›,þ•–Ñ,;ÈTÊŽÛ‹ÆÌ)“(€éÀ9òórÓ3WÉë=öÌ«+–à°A1‹»½H7à‹Ú7ÆNcþŸÚŸ«Žg>åk†€Ó¢ÃK¶5-:ñúp¬?A„œ$T)—ËëÜN/ä…£[cÍðMiÃù©oþu´¢ˆIÃêCAÈaÁpõ¦Û·Ê¤ÚŸ>ÃFôw0=8]}§ Wáàée7o4)T@&|^®®khmiiáóù¦|NL †«ëÅšÃÕ‰nhbõuµ†«÷xïÖB6\½¨¨ÈÃã{o²P¸zmöí_ñ)É%¦G^NˆòÚ¬ý9ÇË™¬®ŽáꮎáꮎáêfFÙqgÁôí8’3” ü£¦næÔZöãô„†Ó'߯A:‚ bYÛ;úBÔÅ&Íô¦×ˆ·3¿*8é÷Æki‘¦d›½bX ÆÜWuJ éãÿß´X£‚ ¥n¯áF³GJ‰c†}ߟx›¼”Ç~o¯=¬„¦,îÅœçËþ}ÆÝN“_aa!Ö%‚ ¢3OrªU’×b7i§7'm:ãéèä5›Å +:*S›¤hqA¤÷¸½²#‹ŽÕˆ‰c'¯Ø”ø@£»Ìóv€ÄŠ6´8‚ ÒKÜžZ%^þúYíÏ¥Éß²š—9Ÿ b@Á¯wÌ"H\³7$$$$$Ä'0(888888$$dlô·X‚ ˆnŒ\Û+++»÷¤ sufKqìâ;ïÝ€íe1>Y]´÷'þv’©hlOßG9%fÚP?£ä?qæÌ–ÊpÚÛÛU*•)™´µµ@kk+ÙL„B!ðù|…BA*¡J¥‰DdÅÕÕÕ@uu5Ù„2™L*•’M%¡d¶··+ S Ã/ÖMCCTVVº¸¸‰T*•ÉddËS]]M€lB‘HdDë%Ä577“MH TTTôéÓ‡¬eŒh±¤j„è†&V_Wû…BSÚŽ›°U/ëÝZ*++IÕˆT*½·7®>oÞ¼{/(8{òV›æ¥“Á‘3G{9v•·ó/\)l¾w¬é5`Ȉ‘Ãܬbõ¬¬¬†††¸¸8£sËå'Nœ 5j©„………yyy±±±ÝwÖlj'üüüÂÃÃI¥âóùÙÙÙ‘‘‘^^^¤¦¦¦ÚÙÙEF’{#·¦¦&+++<<œlVVVKKKll¬R®_¿nàź)--½~ýú´iÓØl¶Ñ™¤§§ËåòiÓ¦‘½g¥§§5*00TÂìììšš²­·½½ýôéÓ!!!d£†óòò ãââìììH%^³iç‘Êvy·¿„r•í·ìûkçÀòx”늷6ClåäæÛßß«·jç1hV½¶ò2¶w+•¶4åf6·G¼ÏB£ÑÖ×tõºŒ:Xö哚Q`àïöú#bÕ^ºæå—ˆ ÉìÃZ*h¯=X"ývˆ£!oujvWwÜ0¾GÜ^{uZ\Ä3çËï}Ÿ’’kÓ[‡v"a~~5Þà ±•¤YP.£õVí„9XûÚª¾ä¿½[AHH8ûÞòçlE³OCØöÀtØé·"<ßO³ç“³Ï|P)Z×Kî:Kç¡›C5»4©Õjža_/ëÙÝÕå¢ÑÃf<¨ú@RÝv·^íd¢;€f+…¤®k‡<<¶Ò«`KÙ‰Þ?ÚãñxÝÎ4…±!·^¥lÕþUÉq€¯~?û¤»1DvgÒ›ª½‰)þažwK0Þ r5ë‚7.^àyëÙRÖrmÙkiï'~1W'W>¨\½zU*•’ÖŽáBV\NN!”l††©Tj`ªœœÃ/Ö ñeóË—/×ÖÖšÒhtG㪦°°lB"ZŸl*âÃ÷&Ô«\¼xшp#Z¬5B ‹ ¿Øû”””è.°!¶¢¬w¶ºoïÖH$R«Õ÷§WA¦Ã ‹ön-ååå†Ôˆ–æææ{{“ÙÜ^‡‹/@‰RVûã™T?{:(å¡4ÈOþö7»1šiÏGf“HVòã)^ýÝ­œ[ïZ³åJOOèºòüÝÞQÏ5dgðêd*£ÝžZ%­ª¸]×Ð$U¨íX>ýâöÔªö×êuçÌ™m´Ûsuu%UfC:ƽ©ÚêïƒøÂ9í&Ï «]ii)qCW©TdkÄðŽQZZjœÛ»ÜÊâ¾I”Üè–0pÊ,²å!>BQXX¨{gð{Ël Ûë–åæy_·gv/¼téR·Ý¤ÍâöŒ«‘»÷¢ŽÃ/6Ä>ºo²Ú*''‡N'7»f\ï&luoïÖ›P$Éåò{Å¢à€ˆÇ,äöº•ÓÁ¹n¯{o2ÛîꪎIlxâh©ö\â‚@vÀÿÝ lœânŸwM—·õ1"O;§G´AîÝ]])«Ý»viçî_—pñâ°\õüÊ%ÅtýÜgü»2•ùZTf:Ó>vþ"²©ü†EÂýZ-¤Þ€V5â7À‚áê’ë2ôÅ;[ÈVzÃÕTfWß!º[ïƒÀKï¼GvzÃÕM©ÃÕuØgõ†MÔ·½áêºm¥#\ýA X£ÆO¤LA½áêF׈Þpuó¹=µ:oûdpòœÙ¦ÐØ@%o\ýx”ö‚üá`çÜ5Õn®f,ÈyòWÝh)ýÁÍuxN›Ì·'®âÅ<ð+‚4†£ÞvMõPr¿ˆ·¥ ³ÇAw™½F‘êAÃÚév{ºËÉpp³ÛÓk½÷MKØJ·Û3ºõêNèâIvºÝžé5b´ÛÓ-ºç)ê[‚n·g\ï֛оOe êv{&ÖunO%oŒts€±ïžÒžTHʵ/hª¤¥CóI³¶k,†fà¿·¢UwR§°sÜmÚààà1QßèUAÖv}œ»£Î11ͧÂO_œæÌø×|…={ðÊM?µ+Íÿù"½e¦ÑìÒôþÃÚép{”“n ·gˆ}ôÞ7-a+nÏèÖ«¿ Ñ©ÑN‡Û3KçöŒ³¶zÛ3ºwëOHcR¦ ·gzèv{æÜ]ÆôHþã?ý&¬ûïÖ‹ú¦Y ÇAÚÅ:ßyàPe[D¨'üüúB‘Rg|·r žO¹›¾»úsgé^˜µsyTo&t»¾í?÷þ¶ÛWʪÕv¬AÜɇ;Ó ]ä Ъ·Ìö}Æ£©óÐþýû[B; Ъ¿œ,.XCìãíímé–p¯­˜Înfo½ú›k85Úéhêf© 5{× Ô·mußÞ­_SÖÛ¸éé«}K¸æíœ{oÁǼe¦LS¤¾FzPnOÙŠem´%Øâm¡w·Ë–SM-Í¥« ¹£7樬a1 D[¡vh+ÔNmÆÝÕ ÄŽ5’8¨Ï°á¯ô’…é8dGt?³ÕWÒ7ÛÑPAl 6o+l h+ÐŽb7+Ý$äºí}¨žì,Њ ¢­P;´jG k{Òtëì_'Ý,oôöÜ›ïM uÿ·›•;2:Tê>þoµVî|Øžïd-&´¢‚h+Ô[jg"fv{í5?¸¸¡s? :“½‰WøÁß®×9Û•H¬~o´U}…-A¡3¯íå}ö©Öç€JÑòÉÓsÚ»¼Ì£V4•I•`Ï…ÖGAlÛíµ•vß~·£õÒ75bíO‰ð´J­€>pÐú‚ ˆm»=ßhß{OJºŒö„¹Éš+c|Ñú‚ ˆm»½€Å/u;ãàþF?–öçŠ׉ƒù³q´‡ ‚ظÛsñ{yMÈÝW7û Ÿžxù,»ósÚMé¯ý] ¾ûvÿ>h}AĶÝ|tf§+“žaoIÜ7w¨æ drQñkSæ¶)U {¿Ò6 éAê1Ü]¶x±¤çÚ踑¡l†8û|_,§ÑìÞ;Y¼yæ@4=‚ ÒKÜTe\¼<>£¬µëI¦ÓÀõ‡Ï|·ø¦y“'SLæ$ñ¡Ýn‡ŸŸ¤R©O /]¯WÜï÷oüך¦ýa1’Ð4 ï{:ð™æÍA’J)ú¾Ï~¿ÏL&C˲hÛ6»Ý.o·•R„RŠA0›Í2‘HÐqzžG’œÍfL§Ó|<IZ–E t]—‡Ã•J…€Ãáb:b¹\ŠÅ"¤”ð<£Ñ(ʆ!Äd2‰€ax>ŸÈårhµZ0 ¥R µZ " ÃȨ”‚”·Û Ífçóãññx1Ó4#£®ëÐu±X ¦iB)¥æó9D¹\ŽŒÇãñŸÂ…p—ËåÕc§Ó!6 n·Û¨ß÷™L&Á«G)%Ûí6°^¯s½^sµZѶmn6’¤Æ— i‹z½„( ¨V«ÈçóÑ/ù~#Iº®Ëý~Ïo‰ïÅH)!¥üÿÌHâkË€_ æ&çܳ…IEND®B`‚nted-1.10.18/doc/docimages/recording_sym.png0000664001041000007640000000131411520267216015607 00000000000000‰PNG  IHDR‰ sRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÙ  3G»<`tEXtCommentCreated with GIMPW'IDAT8ËÍ”;h*Q†g5 "B!¬b£àÑB°R ¤°² ÁÆ2Uj¬l;+I-6k#؉v¢*‹(ˆÈ‚âëOu½^\ ‹ûwÙù8sæŸÃ]P2º°®~KX­V4™LH©T˲Ä0ÌÏ8¡r¹Œ‡‡h4˜L& ÜÞÞ"¢Óéœ*ÃpµZ!‹Ááp X,b¹\îÏ>??ÁqX–E6›=‰Dðôô„ÅbQÑëõÐëõ0 0›Í‚ Àjµ"—Ëý üøø€×ëÝߊã8Èår¸Ýn¸\.h4ÜßߣÙl¢ßïãîîÃáð4Ðáp V«ícŽã Õj÷ñ|>G0„Ýn¼½½áõõõàÞ6£ÑˆDQ$¿ßr€jµš©ßïÑóó3ñŠ¢HN§“†¡ëëk …B”L&‰ˆh»Ý’L&“Úl6êv»´Ùlèêê¯ßonnh<K>A»Ý>êJvXèr¹¨T*½f…BÂáðéM©V«0™Løúú’œò¡êõ:t:Ý>÷¤±‰|>¦Ó)2™Œ$Ì`0€çùß7R©X–E:Æ`0Àv»År¹D£ÑÀËË ôz=*•Êy«÷G­V ñxF£J¥*• ïïïGmŠùï?Ø‹¿AÝŸ'æÝtIEND®B`‚nted-1.10.18/doc/docimages/dynamic_assignment.png0000664001041000007640000000416311520267216016624 00000000000000‰PNG  IHDRslYèsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ  ãÆO‹tEXtCommentCreated with GIMPWÎIDATxÚíklSeÇÿ§·ue¥u°Me”Mtó®Á-F´ê‡iœÊ„&3.Þ•Ç£bð’…d~0bñL&!D4ÛDc (‹‚ÆvlÖÝ•u[7ºÞ{^?t¤le¥egãœöù%Ëvòtïûœ÷wÞ¾—îœqŒ1"%QL‚d$“ ™$“ ™É$H&A2I&A2 ’IL‚d&Gcc#êëëE›GŸg&ÎÊ•+ÑÜÜ —ËE=“ ™DºËt»Ý}žƒƒƒ$3Ë—/Gii©è󬩩Avv6É$H&É$ÄÂf³M{¥uuuÐëõ¨®®žÒ‰E(‚ççv»Áó¼ e€ erUUUl``(++›™ÍÍÍÐh4X²dÉ”ÕÑÒÒ‚¡¡!TTTVæÁƒqæÌTVV Vfkk+¬V+ªªª&UN[[ÀcMMML§Ó±éÂ`0°òòò)­£¢¢‚ AË\±b…àí´nÝ:†ˆ†IŸ/™4"H&A2 ’I2 o˜Íf>|¡Pf³yZ*õù|p¹\SZŸÓé„Ïç´‡Ã!x;õôôÀ¤Ët:™V«•d¦€LÚ4 M‚&@É$H&É$H&!†M“ɋł@ “É4-•ºÝn8Ž)­Ïn·Ãív_V,<[çQØOŸ…'ÀC¥‡¡h!ºººo§ööv˜t™v» ºž/”xûwâÇ=a0މ«gæ@Ô÷rЦA„‘^3{°PËÄýâäjÑnPÏtÂ7=‚ƒ¾z¯Ÿ&@b曥%$À‰÷ú—|ÏäƒøcÏ^:rƒž0fξ·–=˜ÄïŸÅ‹æž„__òÌ»W$Ï”–ÉÏÂôöØôñ·èñcâ3f033rÂÃðó 6Ö-Ïâï/6š§>QzËôœÞƒÊòÇñˉs¾fÄi‡/CéP£þkñ²¹7îër˪qóÖ(9aótõ´§ï˜y~²¯Îö'Tæ ?¶bãsA#m•n>ÖnjÀ–Æ:ܥ˚’<뙵µµ°Z­ðù|¨­­vÙÃûÐ{òÎ:á 1¨2³—_—Ëžç/«¾w|šðd…“©¯cö­xþ¥"twŸ†Ëíd*ÌÌÎÁÜ9¹PÿƒðC72‚ÚînáóäT“nûÎÎN(ŒF#´Z-vïÞ £Ñ(ŒÄ ÍÛLhøn/úü¡˜¸\•‰¼|]Òõ± õu‰_éw¿þ ŒÆ|AÎé¯3ð¨×‹‚ „Ïsýg“Îsß¾}Âo$ºøVi “.;è=Îdwɲ°¼Å5,À ·¸¿­½x^´y þ—ÉŒwwòcÂèdåR\S¾îý0©ÉJÜó} ‹’ãD§ =ó‹‡ç&t5`2eÎeÕüÇ6>÷ÓÈe±½]7Ÿ­ÝÔÀ?À) Ñê3K9ÉR©°éR,ihužmmmà¬V+=1‡Âaìòû±Q£Ϥ§ZÆÇät"ÌÖåä¤×˜™ŠHeòC2Ifz1C'—“L©Ó bŽR)™|Iæ%Þb©Õ$“ÆK’I2IæÔÐáõb!É”>!ÆÁq$Sêóûq}F†¤r&™Ð&±ñ’dÆáɤ™,É!'И)}Fx™ Rû,=Íe2à”8v³1ãåjõ„q’)6v|è‚b`Á| »Øf‰Ž—û'Œ‹÷ÚLG>ªb ˆ~i#ßejÆú½ì•][ØÞÛoŸ0.VÒ¯g¶¾ÔîŒ¿Ú ŒÞËû€¯ÖÃâ`¸ñü?ÿ§Ÿz¦h˜«ö8ýýŒ†SÉ#ÇŠ«Ó(YÉöíÇâí™éõ´ûf û‚›š–½(µ@Ó'@ó à^À±ús\ÝßñøªõÀ,ñ~¾™2+ï:€ñwž5= Ü Žþ,ÈvvÃR\‚’®®±ñwõkDšé!óûß#Ë í¸^ÕÙ d)£Ë­–ûŠ£2ÇÄi)úwî@ôxöcEÆ-Å£2ÇÇI¦ˆhw áâ5wb‘Í'™"bó‘±ÇJcâ¼L† BL¿?6N2E´mwØ=ÌÈîÈ‰ÛæÌÁüÞÞ‹ÄI¦xèÛœ»`¼\þ% ”ÅÄ; #ãåø¸DH‡¶–«½|3€>­¾h<¤Ô@áè§žy¥ÞQƒÀ“wŠL êÈ#!ê:¢ñ§¾ªË'Œ+–n“¤Èȹ§Ö×¢ÛuœŒ±3-ŒÉe‘cÍBÆ,/Å%{ê©×3åºèÏEË€UOáÑ'gìø ÐΊ×Hx%åz&dìΜ±qŒ½°=±¸„IÍ P°ø`#ðÓ@™ ¬z ¨6&—(t| AÐE2 ’IL‚d’L‚d$“ ™ÉLuþÞ,¼À{uÈ,IEND®B`‚nted-1.10.18/doc/docimages/stem_length0.png0000664001041000007640000000757211520267216015350 00000000000000‰PNG  IHDRµH°_´nsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ "1+{|¡tEXtCommentCreated with GIMPWÕIDATxÚí]{XTÕÿæÁkäå"\E¡OMSÔôŠøÖÌÊGfif…•ÞLè¦æ§]¥ì¦¥–fݬ.ŠW*ò™:™…ù 4D”‡2Œ<†÷0Ìkß?Ïpef˜Ú¿ï;ßwÎ>gÖZ³×oö¬½÷Úû0„ Š.Z”Ô”ÔQR«ërñÁÛk±ÿTõ E‡ÀØCGQ~9 ã[„Œª&ÀÀÇãq$yü„ô„¢’º¾è[ "¥†S.Žx¹éŸÁ‹ÏP/Qtžðƒhk0ø‚V„€ŠŒÏ1jé!ê!ŠÎEê+[§#UÚ`0Fà 'CËœ½ëI–+©—(:©‰®‹Öœe¯}G-Gžü6¤YÉðä;4?Ó„„w/S/QtRWå®Fz àâ=é'6¡·HχŸÂWØç ÷}E½DÑ9H}õÃÃìùâïwÁ_Èc¯¯ cÏ+S©—(:©<.¸úÌŇÃ{rî¹D°ç:U)õEç õ·€èÍëZÁ0ƒÂ^ÔKöOj¢­ÁU…°cfP«ûªº\öܹûtê% û'µFYÌž9òZÝ—¾Æž÷?‡z‰¢´ÔºzÃy[¡ÉÎ<ö|Z|ê% û'5ÃÙsí]¬VÈöa}A @( Ǻ~žÔK&ÿ ”òZtþšŸižE$¼]s:JèË;àLsš¬Ž’@&»ÿ3ÁÁ€»{%uVV–/_Ž›7o¢¼¼‘‘‘æ ìÙ¤ñ16“º¶(éy•lkî|abbhB“µ‘Ÿ¿……³ïûÌ A« ŸඪÕjÈårøøøÜ;05KïôéÓ9r${-—ËÍ2®UjÒ¥evâ£2s'Âbþ es<ññÓªG¬V9µùÇð¿´z¼ðüyR¯[çŒ-[œ°aƒÎÎÜ{ÙÙ<ìÚåˆääzŒ¯~à¶ž;w“&Mº?HKK#ÍM-1ãã,Æz8äçj%i,ÿ™ôw°2ÅãI™JK¬Mc‰öp$ # „$$R]ÝúÞ¡Cú{‡Ù‡­wøw?<°ˆ5Ú]ßYÌ«-Áü!Óp¥Aß 0l”ìAõLÛùô8œ®n ¥±ý°ñsl™ý(R ëØòÑk$x=¼»Õô|û"â5ÿK鬦çÅ_ÄòåË­Z‡'OžDLL Ο·l¬;cÆ ¬ZµÊ¢2“““ƒ²²²®Kꞣ½õ1Û×ô}l N¬e5MÕ§1áål›Å~.\°ª™L‰D‚ŠŠ ‹Ê=uê233-*³°°‰J¥²ë’º[¿nœkgñXürd5¬·zK‹wbf≔ýôÿ¹‹ãŒS7Ü:€‰¯œ3ü²ønØyö;ôu¶ž9™OÃþÞ›p}”/6R¿·‰  €a€ÚÚB?·— VSR·ß^6cÖà9¸ÑhX—8ñÃ_1?ØÝŠ?¢Ä®•ãŒôÊÜ6<ù¤á:5õÄb1¢££ ¡¡oçù>§ŽŠŠ2Iaùõ?Q\­â”õ 7ž•â¢Cá•Ëõ‡ŸHŸÒzñâE³í7ÙÙÙàñx ±šóär9  w N÷effB$!88Ø¢ñII   Í–S__ÜÜÜûûÍ–ãÔ7½Æùìã•kr«kþ”ðé3÷N,0ÎÞÂÂÂHtt´UÇl“’’rȃÈîîîdòäÉ•¹qãF€uqjMcfÌÚÁ)àë¢oNÞ¶NK–µ 3v ñÓhúê_ 6#õgOÆâb!ìœþ ö¾9P¼¯À*:·MºbĆ÷Ghh({´Dhh(ýˆ2Ž~˜†ÒS+wذ0@(„ã{C\p@:ªs~0Ñâzg\*CS[ Æ¿çäнûhKmj?MS…ggnå”=“”Š~Î|¸öÒ‡Šòd4êèÞï„ÔW¶Ï„¤Ê0‹äõðø|Z ÀÑc üyÐijØ…¸vMjº³ßþS¶îàj0-ÔÏé¡ï,¦ä×Zõ‹ÖÝz©CBB؃ÆÔ4¦6 ûç³ÙwÐsøÄõᎧŽó·êðÛk 1Í—–q„O¯ „©3¦¢·§Ð"¶tóGNN<õø_V|)¾œrµ!.0lÄ-vbQ£4?ÒZÕ=¬ãÁCÜþ>:t®0tò…‹.1ù¢”å<×=ì]Îýš¼ƒdlP·6'cî>\}£É¡‚Z‹NTç$Û>ÝC'_èä‹ñþ¼‰sýü×KØó†’v­El£+_(©ÍBzža4#xþ&6Oº¾ä#lϯÃðr¿¥|Š¥An€Œƒ%·€0,M܇K{â82Ë3‘p©c ñ¶ZùBÑI}£Å+/–$¶æ½y` hÆl˜©Ÿ²î7AŸ×X´»*%ôé­ø,6€SöõÒfÛdË•/]Ôw6¨á;âå^"Ck›VXðïX¶ÌoêC€ºÂ¤Vræíþçº2#ÑÜHš®|¡¤îÂ\ô¹ËŽã8K´4 úü¹DïÖ[Op¥ü¤*nHàÒs>æy»bë†Ë©Mî¬|Ù0Ê—z½‹£Ã“/7nÜh³Üwˆp½ D]ÉyFé (Ä?s1ÙË  SGa¢Åæß¯àe_Wެ <‘tÒð£«ùסhc·Ô{A!;ŠqkJ‘rvx+{ïeG¡R© T*­&»2[&“YTN§ƒB¡°¨Ì;›ÏC£Ñ˜-G*•¶ë·“:!!¡m§Öè›çƪ#X/`[km“~¤c}Ü ¤Zëî|j‚¯ÞL@‘?—ÔòÃÐÃðÉ;oÃè©¢AúÑCð2Ÿ¼ó¶Ñöw2™ •••V“‡ °{÷n;vÌbr•J%rrr,jûlÈÄÄD¸¸¸˜-çÎÊùûÚf­É¦šÝuéµ?Ê9÷¶M â°/8eöö Hà”­dI¦±úºù-£+_èä˃™|axîØ½| à¿ÏlâìCýÒg0Å•›è5L?Ž-Ï8ÜJÖç {ƒ„¾ú¼ñytå í(Z«@¤HyöûxjÇ%¶œ'ôÇ.É[œgý÷×Ç¿eß@ÕâPë3ì-SèxagÜÃFë§+_hGÑâà ýðÃwË0þ}|7 8[¿„‹ïÊM–éõ€SЪ+‘ZÙˆ§ÄÎQãýY«Ùg†¬<ˆ‘Àhý¶Xù¢U–!íÄIdfç£J¡…›¸"†³x]¶¥G^«è`ð\œ8 dç - îtÐv[ÕÇýûQ6XMžòÒ@€0Œ™¶âÓ6w4UÕ¥³2?[Jª¯ýL^‰íÍ–‰#“ZÎ"ñ%bjm“”|¼bñqâ·™„%tõ$Žè°­íé@¶îO5Mh“”sqâë·4½ë(à ÉÒØIµÓëo‘6‹©mBjVA焳Ÿqñ"«¶¥Y£¦åS$°¹B<úG'¦ù‡À#1K6Ytkߎ’º®øG2&@Ônv¡@Ô!;ÕãÑ÷9ã…ÿHH€¨M2·<ªLÉ«ÉÍÊÐúó·ïAV‘ÞÁƒñܲx¬[ë¹ù8wŸ ðŽ<€Û§Úí¬•ªº¿¦¥ã†´D B`ß9"®^õn=ÕE@Z: ­" ï`D8Й¶ª£R4¬Mꆒ=š*!š'è-ç²±4RÌí4æBàÚLêTܾ8ÎùRØWî\Z»žChЪ˱2vîNõW×g°çžÅÔ;öI꺼º6Ë+´Ú?OQvÔ@êHOê û$µÏØ{¿CºNË|Šö]fÏ£{PïPØ'©ƒ>Ûf¹“×ß1·wÄ7_^×úB¼Ù׃z‡Â>I-òq½¹».õ8{ϧÚkò?Á–[úP%pÊçˆ2!Å”‚‚[ŒVçî$.<}²RÁ¯“³92ÎýÆŠ d’¯«~lSI.׫…]SÀ•ÝqˆXô)ÔÍo èÑg† …«® ¿ù ²& ønØ|ö:^LG>(̇ÍH Ç·cöÂx¤—4´º't Å{)DZ,&€z…¢óˆ¶’ýI8(IC^qî>ˆŠž€ç_x¹ò©G(:©)(:ýè…­ñÅÕ|ç]Ï.tIEND®B`‚nted-1.10.18/doc/docimages/toolbox_length.png0000664001041000007640000005120311520267216015774 00000000000000‰PNG  IHDR–$ÍtÈ(sRGB®Îé pHYs&&¢ï%ütIMEÚ 9:É4X^tEXtCommentCreated with GIMPW IDATxÚí}w|Ç•æW=™ 0!`˜sT¤r¦d™–LÉâ®­µ}«;YçóÝžµç¸¶²)ÉÊY¢HŠ `ŽbÎ$H9Nìº?º{¦óôÌô @i~ó›ÁtO÷×U¯Þ{õªê+B)…\*—/W~™”¤hÈÌë¯'òïˆX±…êݯ_²´$)©©pwvš~Ýö¶6ôÌÍÛµ]))Áÿ«ÏžU(XP±*—/§E}û&k:ÁâJI¹*+%5Uñý…sç‚ÊE(¥¨\¾œôîö‚åÆ)¾khh@ @nnnØß=p ©Ir‹/ÅjoGÏœœ¸][l±ÄRS]ôÜ\b¾P‹µÂIGGæÏŸ·Û 6 UE‹ÅÍ=¾ïÂR 6åBùëÆëÚáêÒZ¹|9Í/(eÙˆo°aÃ<üðÃ8tèŽ;†‘#G‚¢ (Š{ÄS†ŒÉÅgΠ¥©Iñ"„²l\ÊE¸n<¯­&ù¸\SC­B«1*>Ÿ,Ñ3gÎ`ÆŒ¨¬¬Dnn.¼^¯´gÀ+™ Ýz÷6jTØ{س'!V#^-]õÞ,,OÓ-V˜kÛl6€ødõfµÙ@øºÖ³†º+K²lÙ2TUUáÖ[oÔ××ãù知555¸xñ¢äü]»v!77}ùNAŠÕªyíºÚÚà眼<@ks3<Oü-¥ÒkËÿ§Å2àV¢m,z×¶ÙíHMOàq»ÑÙÞì¥ÚNm--ªÊÅ(k$±ÛíF~~>ÆŽË)C]>úè#TUU!--Mª(uuxñűxñbTTTpg÷nÍk_/^Œë¯¿»ví’œÇ0 –,Y‚––¬Y³í|kè&¸×2ç‚ôÌÍEŸâbPJƒ•˜•¾%% „ þÊ•ˆÎÓºO^¯^hlh€ÅjEJj*ú•–âÈþý†¯ÝX_Ô´4ää磨_?t´·#%- íí¸xRâñVEëÚ>îŽ8\.x=Ø€×ãÍn‡»£Cá"µÊ+f‹E)EII ¦M›†ßýîwX´hZ[[1iÒ$Xen®¢¢O?ý4F…iÓ¦öíÜ“›È+(\¹t x WÔ·/ò WPt§FÏÓºOí¥K¨©®†+%ƒ†‡Óå‚+5mm†¯]}îRÓÓ‘‘•…Œ¬,œ>~\Q!]Ù+lkk ÀétC»ÝŽÎŽtðÆ ê^a$± !'NœÀŠ+ðÁ`ñâÅøûßÿŽåË—còäɸí¶Û$çÏŸ?>Ÿ•••€ì(,–›Ðª:ÚÛƒß `w8‚ß=Oë>îŽP–EgGG¨ ¬VP–5|mʲ¸tአ4ÖÕÁ£’Sêò^¡àÖÜ”†1\7¢^!¥eee(//ǼyóP__ÿøÇxì±Çpà 7àé§Ÿ&J !øõ¯ûGìݾ=ªV'ˆ×ãÃé„Óå ~/$ê¼Oð;£çiÝÇît‚¥.^‰Ä¿3zm«Õ a$ƒeYôÌËC]m-ÚZ[Ò+d ô SÓÓaw:áq»ƒ FøÌ²,ÚÛڢνEe±Ž?ަ¦&V­Z…¬¬,TUU¡gÏž€Ã‡£³³{÷îE0ÝnÉb]ª®F¿²2ô** DvNN0ã+œkô<­ûô*,„ÍfCzf&gÁ:;ÑÖÒѵû—•ÁîpàÊ¥KhkmEñ€(8öìAÀï7äVN'\))ª¹AJ):;:$ 5w¥um»ÃÁ¹@^‘:ÛÛBàt¹àñxàt¹àõzáõʵÊË4‹uÝuס¦¦@%%%xÿý÷1eÊÜyç¡8¥¶6Ø‹œ9s&`{UULëRM üz!+;›^hkÃ¥ $q“Ñó´îsñüydegÃát¢­µ§Ž 7rmá˜ÛíÆÙS§Ù£²srп¬ Ç6d±\©©¥Šc ÃÀérIÜu$½B–eAù^`G{;ÚyKJYΔPl”eÃê Y»lÕ÷Qä>ÒÒ°sçN 4‹'OžÄ¾}û°ÿ~üö·¿•€ðz½X³f  €ÒÒRB`Oé(ÄétjŽç9].n°Wm4ƒR´··«Æmàñx™•¥;V(î ù^|m‡Ó©yÝÎŽŽÈz…£GƨQ£@Á»ï¾‹³gÏâ™gžÁÂ… 1iÒ$Åù³fÍ’ü¿mƤ&E¯ttt CÃ"™Ñ+tk¸Q­ï#îF< þ~ÿþýضmî¸ãŽ`f]oœ0ÒûüP$^½B6Žc…F:Y,±<ýôÓøÏÿüO,Y²¿ýíoJEQ\79»!ºJŠÚbÅñÚÔHŒeÕÃKJ|Å¡cÅ"^¯™™q»¶C”Š‘‹ßïGij’r•X¬0½Â˜¯m(ÆRéÎ&%1V¼&ãÅñÚátFâ¯3&YÓI‰Zö‰�ÉâHJ<¤ËëÀÈÉχßï—|NÊ÷CÂvûKM·ÛQ¦þÜéÓÉRLJäŠ%Vœ`ÆìÙIeJJ|]a]]Z¸Åee8hþûSOÁ+š#î¸\>úøcŒ3ýJJðó'ž,ÎлÖÅ‹1pÐ |½ti°×rï‚xìñÇ“5|5*Öc?‹Å‚Cû÷cÓÆØ¶};þðÇ?>.—Êuë°¹ª »¶oÇÁC‡ðŸøƒ¡kâùçžÃ¿ýêW8wþ<^zùeœ>}ùÓŸ’5|µ)V}CÖ­_§Ÿz .— ¹¹¹øåOàãO>1t\MþÇ“OÂår!''¿|â |úÙg†¯5oî\Üク÷¾ûðÇ?ÿo¼újØ´IITŒE:ÚÛqùÂx¼^€RôìÕ }úôšNát¹ÐÜÜ (-+ ¦÷KËÊP[[kè¸øZvÑqáÜâ’Ã×äg?Ž—_yóçÏÇ~eìݱ#YÓf !°ÚlÈÊÎFÏœ=Åò¸Ý¸xö,zä塨¨¾ÒÔf)æñK´ª««QZZÊ}>ùùù†Ž«‰äÜêêà5Œ\+`Ñ£âÎ;îÀÊU«°âÛoqݵׯOšT“…²,pöÄ P¹ü,ZUŪ©®FN¯^è[\ ¿ß¯9írrr0sæLüïÿø¼üÒKhokßþügÜs÷Ý†Ž«ÉïŸyÏ?ÿ<:ÚÛñ—¿üwßu—ákýþ™gàîìÄË/½„åË—ãÑÇÖM›PXX¨ûI‰^ÒÒÒP<`Ξ>tÙºRIŒåv»QPX¿ÏghüðµW^×ãAIi)FWT bìXüæ©§ —ËÌ™3QQQ¡Ã‡cРAxú7¿1t­uëÖáåüo-Y»ÝŽ[n¹wÞq>ü°ê´Þ¤˜'.~]¢O–Ü&k—- ŽRÚŒŸ:5Ù“‘ìݱ}ûâìñãæ¤’’q0oZ+)I1=•”¤Ïc ÑþÃÇ’%“ÃRõXÒb%%é “’T¬¤$%©XII*VR’Š•”¤$+)q—¨ÖÖ¶  ”¥`ާaB$/î;,eA†0’ó@a°’ð|V«ÓŸëHb¸J0˜¦X­-­ðûýÈÎÎå¡H @Ä!„VÆÂ? ÿ€ ÿ0üÓPpï^¯W±AC÷Æ`šbùý~°,ËílÀ? @  å3à‚a`±p­ƒ! À¿Û,60ÁÝ+¸kž¾Û1qËdøûr/‹ƒ¢EÃt MM8vì (ËYBÞJþù ìÆ› ‡Ã zåÐÑÑŽƒöbÜø)1—ƒiŠÂ)’"ˆ‚0®åÐ ¥Ã0 „‚P€‚‚e©è:Tò*ÁÀ²´¶6#+«‡A̳.û­YN:†çž}&¸—;&àtºðúŸ¢gOG\0ÈËA\íímصk+*ÆNâË$†r0M±„JÑ;Fi#‹‰¦”W&|ʇ‰ä´ÎlkkÁùóg0|øh´µµâ½w_ÅâyR÷úfb`ÙÆŸŠ#*`±X@ïvxëðû±fÍ2Ž M¢èæ–ƒ^]hÝ'Z 1+¯üºO#fídY †á,•mädz'†ÖÖVìûn† J)ü~¿ ¨´jó0”– Âôó`±XEîˆsÃ>Ÿû÷ïe)(eã†A«.Ä/–¥1•ƒiŠEP™ù¥¼{P¼ó—ža€Ëò=“Ki˜R ƒA0÷òk ®W‚ {2WÙTQ¹!¥fƒeÏrЪ‹P™°|™D_¦»B¡©P Y¬D$qUíåK°ÙìÈîÙ ÷ ”KXY/†k%4* BÃí®€`Á…Z'§P! T±õi¸f&)¡Y–+MlâR²º0PÊreÄ3§ÌHR¥I–úæÐw‡îÃÉ“G%¼˜Z/®%ÓØ1€‚²W®\FMM5öîÙ?ü¿ß÷[Œ7†>}Š1xð5˜àw^¯ ”‚aLŸq-\®”ø–ƒ¬.¤ßQóÊÁÔàŠL¿¢gÈ`À²»\¨eB@(A.‡"²‚™ŽƒÐRY6ŸÏ‹}ûvbÙ²OÑÔÔŸÏ·»€Ÿ¦‰fk†¼¼^|À*‡ƒ¿CCCfͺ Ã`Ĉ .­$2ƒZ],}Va­bÅ`ŠbQÉ'¢Ñ=刲4¸1c8ËŠ‹ ¤#y- {÷lÇ?þñ\¸pž/T 33 eeƒt{;fbP+·Ûö¶6Þ¨Ÿo ,+Äa¡K©X‘c0§W( Ò•]T¹mfùóC±!\¶—Va±(5ØÒÀ@A[{+ª«ÏÂnw oßbÌžs#Î=…_<ñ4†A еXf`P«XJYQ܇.ÁÀ)o±X}‹eƒy‹Bâ«WHùÈQ®\Á]ø‡ ”‚! „,–Vo.R µssòQQ1 }ûãî» Â0xÿ½×$¦_¸ÇƒjÅRq0ßE "¾E(¨ ƒ©Á»,‘,ï2 Áapÿ;ÊúʃF!HÃÀò¡xô±_!-=ié€Nw'j/׈î_ ò$£àzYª4°˜‚Á”àPu¿.i-Üq–ïþK¬…ÌÊó=±`îÁX\ºtß~û%ª6®ÁáCßáÙçÞÝî퇙ÄVƒåz2‹•h âÀ\\'1c0M±¨Ô K{…¡Š`¾B-D4&¥š|‹Ð P(rR--M8yò(V¬ø«×,ÅåKA)EFF¦(Ó&r‰ƒ²¨(oš8 W®\BJJÒÒ2‚'Õ×_×ë1 8]Ñ+Ô¹ËÐÖÚŠo–~‚ÁC®ÛãFJZŸH ›jŠQoHã´}ûváOüm°`'úõ+Ám·/ÃXT^³1ȃ`I#£TRñİ{÷6œ;w wÝõ²²²qâÄ|ñù{¸îº[ƒJn†8dÞEV‹,¶o­Â›¯=ÆÆz,s~†üò¿ý/ÞrQ†š`~©FlAѧOôí[‚Ñc&àÔ©c˜ðx=¡ÊL†É“g¡ör >úp *ÆN²o>Å”©³‘—_Ö"u+%å“΂ƒàåþŒÖVŽ…¯£½ N§ .G*¾Ë­n±„¸,’g‘c€¡CGâ_þ4Ô×â®»Œ¶¶Vœ>u\ò#­[˜…áôéãxíÕ¿áĉ#ðû}ÈÊÊFnn/LŸ1/a 55 ·Ýv?Þ~û%¼øÂpÛí 0uê´µµòîQ½¡EƒÁ¼^¡¬¥hMõhkk•S1eåƒÁÒ€Nr’Š=iÔ ++C‡Œ£zxcðû}¨Ú¸‡}Ç@ €††:?~6›]ÚcŽc9×;_}W®\FYÙ`œ=s­­-ÈÈÈÂM7Ý ¦)–´FŒ¨ÀÔis@—+ÃGŒÁíw=ñx¦Z%Ç’7 _QP´Àxa „AvÏ\ØlÒÍÕû÷/Å!#$¹x—ɇññGoaê´9xô±_!++}ôZ[[`±Xã‚!fW(ž|P–™’‚‡ý†´ô Œ©˜È÷R¨,Ð$ª®0ÒV¢À „ÖjÑb ˆ†a0mÚ\477`ýú•hokÀƒqÛm÷£°°‚3BâˆAP’ö`úŒy˜|ûí—¨¯¯E:Ÿã3 CÌŠÅMß!°ð«;p ×BiÌ›s³4qG¥™>úh êêj±kçÜr« ååCUã€Dމ_I æb0E±¨Ä+µÝf³ãØñCxíµ¿áÂ…sXW¹.W*æÎ½I5 Lá˜ÀØÓÄkßg ¦(–À} Æb"ÄO[·¬Ç§Ÿ¼‡Ãìì\{í-(0ek(V¢Lj"#Äó,V²/€ã¨úõ¯ÿ7²zd£jãÜvûý°ÙìAþË®"ÌW’ž}ï0˜Þ+$PÐçïååÃ@AGG;ìv;Çò"ê jŽŠpLƒÞI qÀ`Šb$ûh"å4á’yfbˆ¤°“¢Ä`jºA‡pÌëõ¢­µ/GŠ!ôLÔQQC}'Nazõ õ JzJŠZgƒéây—v[/^<—^ü#ú.H{ݳg.äó„Ì3¿ê„câ gò“º“+„’ì‹RŠ'cÿþÝAsœš–Ž ã§I~”Â1µa BHC1˜h±¤#!=³s‘ƒ¶¶ääöÂ7Ü §+4_´^0DA«PÕ’]…aæ„ÙªWX·mí÷ LS,iK0p(þçoÿ wg'22³Ÿ_«ÕÔ|ùd2õŠ ƒö5IÂ1Ìš8ÇðïgŒŸ¥ø®e.±xãUU1+–Ù—ÍfCÿâ2{¢HÏÄiWaˆD™ŒHË Sè+Xw(‡˜+é™”ˆI[&‚p,±fNœDHË SÊÕÊÁ4Åú¡Ž ¤+D®\IâµïáXW*”–r%‰×®ré.J%–H‚úxJ’xí{¤TÝ—i醤R™ka"¹§Z@ŸT¬ˆ…Š´â…ó»³EJ*V(•Y$cñFCxº£ÕJ*V7¢*Ww“dðƒµÊX¼1!–¢;ÆPIÅŠ£R%{ˆºÂ/ìK¬’q&ùz4õÃOGæÖYª†á÷æØQ´2ºD4/Þb± ¡áJܱT ®ˆ¨ÐÖlY…/ð$´\vÞ‰Ñap¶¼0•[×$¼Žài6¦Xn·mí­HMÍ„Íj“¬ê¯œ•@G (A e¤Y]"Ⱦ¸Iü^¯‡#îXÆ ›‘R}üÍ»HMõtI¹are"ëÈiÔby<´´´"-56›´Å åÄ]ÂÿÜ;B­€p rÁsyÐbà¡i@ È&O,ÃJGV¨ª]PWw--õ]V.ûO|‡áeú˜9¶ÄÖ‘Ón¸WÈÑÚ„Ï[œTó &:ô Œèûйr®1‹œ| ·X2~X"Qªxc1Z.áDÍíÅ¿Ž *…XK9 U_Ñš×#^îRNîÇl"=W>'Hk¡d<±‘'÷hêvåb\º‹F¯P}J…¡Ç ²©ƒ¡¢ÿC­@¼ÔHÊ&O,Æ®  ?õÁG½’——õÀG½x÷ýW°is%(((X°”{Qð¯0åbTš›±bÅ8vìÜîNÞ+3ë(Žé5àá)CœN¡‡ˆ¦Ð(–È+v,”RìØ¾ Íõð|ŠW€ è–‹QéììÄöíUøæ›O±ï»hiiËVGV-ë)ž”ª·úC¾´H¹XRl’¥S`¥Çär’€Ž+–Ë ñÔ`?¾úò#°”â§=—ËÉ·o P†³c,Õ,ã Í¢¡¾ìAÍÅó˜1ãZŒ7ù½ $›Œ›RGÆc,µoˆjEª¯º…†éfeq UiݲÝÔãŠÅ¸bÅT*¢®ô>Ÿß|ý @)þt1¿é7wÃp.R«\"±””²hooñc‡ÐÚÖ‚¦æFÌšu=òò àt:M«#îÈb-Ó.î)h»¹)¥A¦8)Ñ*+³”—ã‡eßñ½Æ\™‰X@ââ`K¿þo¿ù2Z[[Œ—Kî×ãqãÜÙSøfé'xë­—°{÷V455òԱבqW¨á(Ô?Z«œ¥+r¥‹µ ¿ø‡õXâ‰å»c{0bà(ý–!Ìh*±PPôë_‚©ÓgãÌ铸òó1}æ< 6 \âD»\Œ(•ÚÒ/–eÑÐPíÛ6¢±±Ó§_FEÅDôÊ/„Ín¹Ž"ÞUø-åÄóÒUO¤ÔÏZ¯´üZñÄ¢'£W˜Ž¥jã\¸p<´S§ÍÆG¼…–æCåbÌb©YPκtt´ãà½øfé'Xµj)NŸ9Çm^…³XâÈMLè%¥Êá(¥?QÆ6¡¤›@NA$A¯:+ Œ±7ŽXŒ‘bÊmS²¾r%€{ï_ˆ7^O'RSÓù‹j–K$¹+-«í÷ûpæÌ 477¢¾®S§ÎÁ ÁÑž Æb‰¾Ž +V“Ï™DÅb5°lˆãR;³¯þС–‘8,F,@$X¤Ï'ÅBA1tØHœ>u•kW€RΊpJÇ‚²,Ñ.—ˆêHçœ@ €ºº+¨¬\ê곘1ó:Œ; ùy°òûòÄRGVcÅMEÙXyO,•…*<‰ª>g€–ˆMqWcÑï*±È{…r,”.W ühªÏÁÊo¿Bvvç^(ËÍ. Úåb³:;;pèÐ>44Ô¡©±&NGß¾Åp:]Õ‘ÁtUé÷¨wïÕ(sä»HIl¶µIz$]„E5—e‹²³ ÆB±g÷6X,<ô“ÇB°w÷öPLeY»¸\"êRcçùý>TWŸÅŠ_ ¦¦Ó¦ÏÃ!× ==„0aë(2WÈ?Ÿ`òäþ6\…j» u9­4AW`ѳXá°ˆ-–*¾ç·sÇfBðÀC¢©±>ddŠ©+4l²Tʤ¶ö6o^‡+WjQ7c&L˜†ììEï;úÌ»á¸F›ËÒh¥‰ƒ`iEv sb,í¥cÆNı#±mkX–Ek[ ÇU%S,µr‰,Ýù0T{{ŽÙÂôêU„ôô ØlöˆëÈi/^}ù¯`YЇ~ò8 ŽþýË$XfϹYÁ}mô,V$Øl6”—ðá£Q\\†ôôLž)91udÕÉ¿¨¡br˧ ÇbD¹Âa! °¬V`Îì›0wö|Ýëõ.èëÙ³g<°H+`jE¤X ž(Bè¢kW( á'£ ¢' K- †M8–pÒUå2s¬ðØÒ%udÜòãYlÀ6àG€²:HI2ykŽÈ½ 6À‚e\åu%ùɂDZlõ Å2{Òܰ笮Z×Ô‘QÅbnw'.×^‚ÃîPΛ%Ñž‡›ÙôÖ¢íZBô8âüì±x²/îN,Kðû‘™™•p,ï}þî¿íAÝrMx¹Ë—jº¬Ž +–Óé€Ë•‚––fŃDÛišÎ0ÜÒpBVXØ *p2"šN"ìŽÎJ†[83N‚½”ô´täææÁÂ'ö‰%œ,¼ÿ1<û?&°\ÂK}ý•.«#U£¦¶åɲÛ~PT‘jXÆ c(Ø7#8¶ìÙ$# YB ãðR ‡ÊyÊwŸŸ…Ïï’·¡óœbË“–m[7bóæuÁëœ8y—.]ŒËg+>éR¥Ú{t·ã±v¥+9D#³V¡ØWy/½yY1SEŠÏé.T‘­m­hii’^K´n+,¯½÷–¯ÿ&áJµïøÞ°ôŒÆÝœRÉÔ?Ë;VÒëF5çÝ=#•»z±N"©"E[=*š”f–uÛ+J1cü¬Xª= „†¥gÔÒ•·ú1y'GXITc,=±FªøR;¾ÒD7óx:átºTX‹Cª·"4NeŒžQ‚EJ£äUvÄŽeýöJÑ mÈ=L­˜aŠëã°°úX$®‹h°ùQ²3¢’Ñ"%£:îÓˆb¡D䨵µ.œÃÒ¥cñâ'yŠé®¢Š”ºû{ìÛ·+¨lQcÕÌ-)?«%@©jòSë]9ŽÅŽn–TlòÛÚZqîìixÜnÍñ;ev›508l Ã0¸fDJŠI(½Ú+—qñây 3 ! FއGû5ÆŸ†Çÿ;RSSQSSžÿ¸|ùRlåBÃY8jšR‰ÇVjBK˜+L•äbŽðÍ›+qéÒ¬^µ”#DÕXz-Ÿ®¢ìÔ¡ŠÔÀ"wEàvwbÇŽM8~â¶nY•ýJð§?¿ »ÝW,àJIÁ=÷,D^^/@vv.¿´ž¢¡¡>ŸWÁŠ)e>‰ˆµ”®Í¨ܦ´nãDéñ¸ñÆëÏÿ³ÉÍ_"¨"l6¬Æ‘£°®òÛ`%zùwq25nX@xk ŸÏ‡Õ«–ÂíîÃ0˜9ózddd‰bÂ(°½Ì»2Ö’¾ Ø¥½Aˆ®‰X-–~ *ÖW!ÝÀíÃ"n½‰£ŠìììÀßþëÿàÌ™“¨©©–¥²Ð#«'?”,BÉxsÂlÍßUn]£9#ó›µ_cÖDõßÊ Óf§<ý k·¬Æ³|Có~á0ÀW«¾Àü9·†-—5›WËÅÎoà­­~ùËßbÊ”YÖ¬YŠ={vˆæˆIã*-SU,›ÓŽþ¥%q/˜]GvuË ‡ë³â³v ¬Oýò?$Á{KK*+¿EKKÆ›‚ýèg())‡Õj•)”|ŽwÌb±¢ÿR<ôÐÏ0uêl´¶¶`õê¥hjjàyNcXLáv»qýŒ›ãVÛlå^ýØqp[¨o¡BY__kU$C8zFŽ*Òí¶)°477áøñ#8x`ÚZ[ðŧ·‚åÍÄ?_ÿJݪ<Ì +½óú×q+ÏÅÿë·U 8rd?öïß…‡ò=»ÞgÕ9"¼õ €a,` äͽzõÆ=÷,DCÃ>¼ìÃXгgž!‹¥ªX±*Õ®C;t)ÓRp•PEJ±X6›„­­Íðy½Áý7Ý1E=ÿ„Àü;&ùG¿þ´*. ÖÞÞŠ}ûvÁçóaþü»QTÔ_ÔÂwäÈ\¸p……½1hÐðÐ=B XPP„[n¹Ï=÷ öî݉ââ2Ã{S+«³)3âa ”ˆâÕL©Ž…Àns¢¤tÊÊÃf‹nrÈ ¯ßÆ)21ÀãN)~¶ðߌäæQ[[‹ö`̘‰2d8,‹BY|>?V®ü üÚÛÛ‘’’Š›o¾wÞù`p´ 4k”Ayù0Lš4û÷ïÆ¬Y×Åæ ǵ)ý^REʱþþéYÈÍËGzzº,û§Uåê¹Â0? ‚Y·mmXò‘éãgaãÆß ½½£GO@ZZ:”3¸lÓ¦J477 üÿk1wî|äääI”ÒÒR1fÌDlÛ¶550hÐ5Ñïá¤j×PPø©>ꕼ¼¬‡ÿì}ï—å^>ÖëE€ Ⱥ®Tu ªÈÄa²¢ùÁ<©>”…úà½|*¯àñ€Þ€Þ€¾€—[½ÃÒЋÇôùŠÃÖËÓ¿þ=òò ùÆUÚ"±•/—O‡ •gµúôé‚‚Þ8xð;™Å2‘*rãÎõ Ë ºUd,XÄÑz´W@NN®b¨Gx¾´´ Œ? ¹¹yp:]ÈÉÉÅĉӃ1–t%WYYÙèÛ·uu—+ ¹Âk†ß¤ zÃŽu¢8„ò«hwQÕE¤ÊÏV%bpW> K)wƒ âP`µmâ¼Û¦q:]Pc"°Z­¸á†ÛPXØ55ÕÈÏ/ÄÈ‘cEÔD1CÔn·cÖ¬ëUÓ ¦n„)©H‘¢)9±ä7e! b2 «bi¨ªHÒ%XºZ~ù?á¯ÿùJØó¦Ÿ…õÛÖJb,q£t:]˜0aÔ—‹)§öP ”–Bié Cs±¢r…ZôŒZî¦+¨"ã…¥;È‚Gn2tÞtI°¯5+‚ª Cu^ú®‰V©äK½U+’åã\VÚË*Oü’/!7B ¹‚E‹¥;È«ÿ|Þ`}ioi"U @ma®\Ñ”¿1°J§¢â]%"§È¡>©?D#Ia!°”¿éÅW—BY¢¡Š4‚EÈ »\.)T´XbÇ »Ý.š•_‘ÏÕ’7WåJlÆÝ…ŸÅDn­¨²b¡t3ÁÕ:A.m.w¹µ“dÈŸ^ZÉÆ°PJÑÑÞ¼ð¸ÝîØ±Ä(¼÷®\¾Ó5¾^k„¹™êX°ðJyžñ &Wª<2~b PTázXY|cî=€¦¦F•ø)v,‘™ µ¥6ó¥–| ÈϘ0Z´ÜJI5QÏÆœyWo9›QP"‚°Á=ÅÊ@„? €‘Ò3Á’^;R,W§PU·¦NFÎ CŠ%ÞîCA)[…,§D'"ÅãrTµ…ÄFϨ…)ºåT‘F±\ýB% aˆª ·C½<ß§©Xáw5JD±•P«Pñ¹¬h·wJ¹ùôTáߣ§g4‚Eˆû÷ r5ª’†U’o¢ öÅø&Ñr¥¦ÇXò ÔÙç½ÔÏ5‹Üš…¥+å÷yZ÷øL~-¦º2DÓb¢1X[Ä+CÄÚ- ¤CÝ]– S`ÔJ¬áècáÝ©„52,„\6ˈÓr{qޱ´†t¤±ˆ,wļHc%"ª0V¶Ϧ.=c,b—Jùù]QaéFŠEMR0u% §lq$Ñ£ÛRŽ ˜Ð QöZ=®'4££gÔÂ"Á%soÑaùhVÄJÙ£¦ã»I*Ad1„Œ¶à†Ä”ˆT#o =£.Q¯PN –ïSº!’À]¼Ç5ÆRüO¦¦F>@FF\Ž”à¬%)1ÕMÞECϨ…Å•’Új.NXÂÕkKK#à =-ãªP0£Jg*£Ÿ|› J)Zšq¾ú >z .^äø?ï¼ûAÌ›{3¬v+Â’xÐ3†Ã2nÜdŒ0…[f.¸Áh±D(-Í8þ >þà-ØíÜzÇýhkmI˜*Uª’˜“5=x—µ„ ©±ï¼õ2¶lªÄäɳ1°|(((V­øÞNæßv #µšV"zzF-,„o¾ú,+dÄ~¦cáâ6 X@ccþùö?°iãš`Rvÿ¾]ÁUÅÆÂàØdæÄ9Ê¥3‘(­`Š¥K‰èöàí7_ÄÖ-ë1oÞ-¸÷¾Ÿ -=”ÎEeå Ütó] 6ÈY¬í~b¢gÔÁR>p8–}ó ,°€P˜‚E3à÷úñÎ’—°yS¥dãs–eaµÙ`!V0àݳ¿I¢àc¦Šôù½8|x?FŒ‹»ï_ˆ”´T´w¶ãÊ•Ëp{:Ñ3'Cà ÁÑREêaÙ´y-ìX°Ü¹)XÔ%@ðú=8rø€D©¹ç¾…è™›'™µÚ½”+ö®gÌT‘«AKKöÇ-M?wî4–~õ–Á#‹ž€ÕfÍY§ºs,T‘]…EÕZ,P> W‚ÊEAAAo— €Åj‰üÊQjí‚\ÌÁ»ÃáÄÂGþ[6¯Ã×_}„ãÇ£¨¨î¼ç!Œ?yù…=˜ÚZÀ«‹X'>ü¯pØذ~5RSSqãü;1xè””–G¥zÌŠF{tf+XœxÞ¹ZÊÌêën¸ ׌ƒÆ†z¤¦¥skÛˆr³ó¹70 Ÿ¡Q$j×n^Ý% gH±¢Ÿô¡ÁB•U/ÅД Ù-äç\Y¶2‘X(·ó (Ö"²Q7Kã]þÐl\†çœËo~õMskò½£µg3P‡F Šøu*“( CnY"ro„‚ °`Ù§H2ÚÊ€hnW±` ¬V;Ø Ç6î ¿ð„lÀÌŒL¸ÝAøñ½‹Â>Â¥KtÈGBß ¤)ú8˜`‡†£?b`±Ú¢W¬Ë—j¤s8E{¿0<=`«Åý,¡TÙƒ)yÊùã„s;,Kðû‘™™%¡­tØÊù¤ ÄBAJJšp7x½^h ×ßb)ÙˆC\ë cAß¾%HMMã7y2&{öl3½ÇGA¯^E()lpQ)·´Z°^Å,Ma^;¡+,B¸ªD®4´¤ŠõT8z!aÊ,¥@zZ:rsó`Ë•‚––fE‹J8‹éé’Y¨¦gŽ$Ü D䢸)èÙ3Δ4¸½ác¼ðÆ¡±šsØ@ÀÀ&úÖ¸©©ééê´WÖpÓ’`Ø5£ƒ…þň¦#XŽ*†á-ð«õPD´%ÅbACÞ¶Ò "!³ï,ÜR@{—c©®© [oãÆN ’ÎIYeBŸCnRyLú]èÝçgáóûCð碳X~¿?:zFJåèi8zF¨REºÝns¨"¿gXŒˆ˜è„hrIõ˜ìòûC‚Âår!­+6ê zÆîDÙ°DŸ¿¢:iãîÝï÷¡³“ëHØ¢Q¬ ;Öaº’ž±;QEv',ÒDŒXá¡éõ?Kße¯®>Ïe ¢M7t5=cw¢ŠìNX"ÉM©ÅUêÿC5Þ’+¼›ÙC: P(ÛLù ”åM¾ø;þ{ÎÜs­ÔB,`ˆEVÒÉuF©"eI…àg–²`ˆ05EX鯂¥$0ƒT¾WLôX•ËGï¿«ÅŠ[n¿N§3êr‰¥Oª\›it®;1œ£³Â$QgУêiaÕ‘/t¶N£-”‚‚¥ ³"åf|¨§šC9F…‰ –"‰ ”²{voÇùógD¬-rR3V…Q5@–Õ+—bãºÕðù|Šû$ EÙp»;ñú«Ïâ‹Oß燆"ÃÉêeyܧõ{µ•ÒR«)ý­Þ|5ƈ›Q+<©iTç:èèlÇkÿø/ø|ž.¥ŠljlÀóÏþ›«*9ºë.Ä ̘y-&Mž‰œÜ|¼ùú‹8uòxBh+õ”Lý3T]²Ö3Ga± ÚÃÒ3²/T£jC%º”*õxîoÏ`ÝÚ•Š L4–eß|†¾}‹ñë'‡Ò²X½r)ÚÛÛM§­4f´ØùÔ÷ž6Êß «XË×£JÏ(-Hù‹*Æ“6m\ ·Ûc€,D\ Æ¨"bq8œhnnÂ+/ý•«¿…ßè2,Ÿ~òOìÚ±‹û7œ>umía¹iúu¦$Hå.PÝõA“ß=ºà=FzF†aPPÐÛ·m‡iÎÎÎ.¡Šn¸évŒ=‹/<ÿœ:y¬Ë°ôêU¿ß÷ß}[6¯‡ÅjE¼h+iÔ.Pjµôã-S]a8zF§+ÿüß1 |0>|ÿMœ9}¢k¨"A±rÅW?~ ~ñ«§‘•™];¶Àãñt –Ñc&`ÎÜQR:¾¿gÏœ2¶rÛw[TÝ\x¥¢*ií8+æ^¡VOGÊZà) €öêUˆŸ?ñFŒ¬À×_|„Ö–Ö`Z@½ERT‘‘a¡hkkÅ;o¿‚ çÏañ/žÄ¶­ÑÒÜÔ%XV­\ «Í†Åÿúï5zlÈ:Eˆ%ÒTQ´J¥$V‰!Æzí½5éU»Ñj…Ê·Ø‚Â"<úø¯påJ-®\¹¤I|+OK¡Š4Œ@[k Þyëeœ>y ©©iªûå$‹ÏçÅ·Ë¿ÄÚ5ËñÐO£o¿âˆ±DêcQ*éæUÆz†ŒnꊪgW¢Ôz±ÈËï…¢>xë—‚ôÔ Oѽ6 (PZVŽ!CG µµo¼ö}ûs‹H»€¶’RЉ“f`¯tØIDATîµóA)Å7_‚óçΚ†E½§­HF”J=ÆÒOÔÆ*’:icy,(CF)ÌKè‘Ý ~´,K±¾r%ßcJ[ Ìšs†ISfbŲ/pòøÑȱD4NÈíd&ŒrŸÅÛù†¾Ózç®EdŠEŒõÈ‚ÇõéUZ¨<Û ‰r±hl¬CVV6_H¬j¦YsÀ°@f=n¸éôë_"s7‰Åât:1zÌx” ‡Ã–ëgܨ[©[ölÒp]zÁ¸Þ;UÙË0&WHƒ+ˆ•CTã³l–ÿ­ßïÇŸ}€›o»WÓu†)èPEFƒ…'Øî•‘™ ›Ý®×$ËM7߉¾ýJ c¹aæ÷Õâ(ãJ…ÛT®&ŠÔÆBÏ(Ì.`0mú\ddfIfFI!ÙÄ`çöÍ>|4RRS%½½®ÀBˆ‹EÄ싱IDâö¤ïÐ9&}—r“øïꃭÒ)!MhmmµLþ1 0fìØívÛ½§Š 7,Ãã°>¼%e»–•+¾Ääi³––aK8Ù¼»J7e´(O1h¹Â¨,V¤ôŒΟü»ÝÛï\€Ö¶–P>‹WøDPEÀåKÐÖÖŠâ’²®@^^œ<«^Wc¹R{ ¥ÁbµÂbÜZ… äõÞùP’@bµ„^îâ#V¬gÍÇÚ-k4VNÏXµaupkßw;ár¥„Ì?¿¸8T‘UVcó¦u¨¹x7ÜxNœ8‚¢¢~ÁéÅó®»%¸LWc:|²{ô4Œ%²^`dïbò[£®ÐtªHnJ¯ÛíÆÛo¾ˆMUk”ˆ6›V†_hJYÅßfSE¶¶4cÉ/`‹ˆžñÃÞ!œ2Qà-ìÓ%X®½9X)£ÇLõža½S4ÊR }¥RîmâX¡Ð¶X°AzFUJÄû";'‡›lp€˜žÑ(n[8ï½ó*¶lZ§À’žž‰Ô”40-HˆWjŠj7–™ft…ZÓ`ŒjÅW’-ùH4C:zf^ô?cµ`àÀ! B±‚Â>(.ÈO „ž1|®ˆF„…[@cc½b­!ÓfÌÅÀACÀÒ€ê5¥|Ð0Ík„Í¡̸kMÒ3¨+?K;3Ò¦¤ªX;w~ª tÖÄÙº= žqÚôy°X¬ÈÈÈĽ ÆÏþå¿¡¤t`D;FI¯M#êB0uÚdð¬0ÇAïÞý0nü޵™l7ÀÂ0–ÊE[ªv®«dÂgnö‰1¥+”2Ö‹!Æš=i.Öl^¥¤r”ˆ?Åô™ó`³ÙP:`°È‚%†* ?i:¼>/^}ù¯`YЇ~ò8 ÎQE^åXfMœÁ 3'" ìtFC‹P[š›°fÕ7¸óÎÁ0Lh¸†ÀRp”å’aÈz†áóX†Ç åÊ%§g K‰Eån”*ÒjæÌ¾ sgχY’h,ÆH*¶¯­zæƒoPpÊ"(¸=8qâ¨d!.!”·èX£°‹W›d±‚~“ÑÈü@¨"ã‰eæ„Y&5hZñÀ³80zT2Û*½B•aèX¬;?…ž¬™¤­iõ¦øAQEšŒeÎäy¦(Ó ¯ÿLJ’£!%ö ¹5á{±’ˆ¿vC'DÅ­AÞÔÝ:傤`®Ã»Ÿ¼ñƒ¡Š4Ëwü抔Pp…¡fE±€x5®ú1‚ÜÞ1üš˜<ë$nºãL›8v›M5)*ü?fèØn­P;nçÓÒÕÅòF«f¤T‘4l^Îét!##ÍÍ’c‡僆ɔ˜«¯ãÇàÿø3&Mš…;îX` ž#R,jŠÕÒ .µæd -V®üLÚÎãÝ÷ß„+#F …Úó±wܮۢ­x[ön’%J©lè'¼k/Õ§¢lº^½À€CðàCáÝw^Acc=rsóQ\2ÕçÏâı£=z|ÐjÖÕ]ÂÑ£ñùçï#==YYÙ÷ä6%xÜeª)”¶•’GqñÂ4Ô7¡­v>þh 23þCŠûò{(K•J:½C½ì<°]q¼bØxSŸ¼j×H·b¢b…BÊEt–î‡Æ5• d• œ+ cÅìÙ7"3= —/× wŸ~1b V¯úK–<Ý»·€pÛ™áâÅóøî»í¸ýöpçÂétA{)™Éó±äÁax«%ï:I2OÝJ…®ám©Á‰£ûÑâe°8uô;ìÛe½‹à°YƒÝdiï…Ê\døV¶cÿVÕÀÙãñ ½½‡GªëÐ+ÝŠ††+(,ìƒë5F&6òÓƒ¥±Úz<*ÙÒ-T&Jë%M7p”’†„ñ,Ü1 ±`üxiÒvöìáñ¸ñÆÏRŠÜÜ^xüñ'qÛm÷£´´‡K3Þ3*V£–Çœ@^:Ê®µÜ›‹L}8vx/¶ïÛÇÙYí(6£GŒ€Íb žÊǯ"(Uã7Ðþ­ôËuÛ*E¸â1B*Zè)ýË £_Özœ[òÕÐr.Rí}}¤_Z­6Ü|ó½¸å–{uòXöú´Fê?# â•nPÿzâQùš3ðÙçïãlM#!èÙ«óo¹%E½ ÌÇ&¸kµg¥*Ýj5õ¢¢Í•ä»t‰»ï¡FÀ²|2RÎõ`@Ô¨"µ–ò+·-Ô¶7Ñ>7’r4)Æ2êµã-¨ºÂ ²P?ŽØÇNƒ…ÅbÃèŠÉ6  ªÉlœ6+ìvfL‡t§Ee­›œ:ÉøKì^ÔÖÐI-“9T‘Z»NÄN©4UsùòÞ¨Úoä/ýkF¥XáÜ$ £ÕÆcÁµ” †Eü ¦§+G†(ç£Å€B5 E½ ´‹ˆv€ †”+ü æQEU0£Ó`Œ*”®bÝùIK¹´b3¥rQ(ɽBÊ•[8÷Ü÷F (ÂÎ}ûÑÖéѰ.PåUÿ‚¦µRåÚ¤±+—rëéÆR²µØé¸+‡šU^Ä(á•‹Fè&¹‡òû¼¨¯¯E»ßŠ#¯Áñ½k°vÛvtz}N­…Ž 4Z€TÃ’A?†‹iuwýÒT6VÅõ…§­¤aŸÍ˜‚éë¨V™Æ0Ñ/’ÔC$Á|¸œ¥ xpdï|þÕg8uþ"› X»â3ôïÝÃËúƒD4 Y )f<ÖLKWR(zxò^b¸žŸz  Ic má&â…2üLİq0¶Ój\z…Ô@74rå'kÏħŸü;Ejf.†Š>…HÏꉌT'¨fO0’0z,2ò@WrÄU¤X¡Käñ¸PX­6Øí~y;‘ÌEׯIuݨ2Ê$ÆÅÑæ­ô¶|UnÐR8P7ö|· ‡OAjZÜvûƒ˜3{RN0Kpþ¹Zv[9å1Y,É5Ã\XO¹<7.^¬Æ¶màõxPTÔ£FODNnˆÁNÕeŒd_çèóSú±³)c…F\¢–ri[*€ ³­'ŸCG‡¹…X6Ù™Y2£N5”ˆ"Ò%{F­–8Ô£Š”+¥ÜÐP]ÝeìÛ·m­-hm†‡"''—§Ð$ÑQhF›’5=A.›‰rÉ-šË ¤Xa³”qµ¤+,žQJb²VÊ‹ûÇçD”z+˜ßïƒÏë…ÏçƒÛíF{{p‰1H¼&ɧ™¦TsH'–gÔT‘±¸Å¿V~Ï8S‘Ó¿?\).45Õàðñï0¸¬N»U1÷J=cy‹Ö7ÚÁw¸ ÂøaJJ*Šz÷Ãôióàñ¸‘›× =²²!](«/F8'" Âc±f&ö µ 1r·¨w †ž‰qcýŽ]Xóí'pX(®:½ ár8Tb«Xâ«h‡BIT­J”Ñét¡¨¨222ƒÿ;NŰO8‹e<–ŠÜ˜W&1»Bs”Kii2óŠqë] as¦bÿñ“¨ª\ŠúºÌž}Jûô1ÍR LnÒ¤§` cAF+2 ΃RËi[,õ3ʼn.ÂÅÒo‘(4¬;1 úÂ…E¸Xs>jENN²{diþÞ|‘íc0¾ÒR.¢ÊrÉL*±’ˆ²“b¶‚EÕ+$&¡0b–åN’ž²ôlkQݘÈ,sùn[Ô`ÙE–“2³.ôrTf¹K“+Ü®‘Z¸HæÅh¸hÎÂSEÊÄÄî|¤JÞ• g@øŠ%a~«~n¸•¸Z½B3%¸xA4]¦;ÑVÆë™Å÷Ó°ñVQ,B@EK¯ëêjáñì ¶X¬Qk0÷[åž…™ÄPhDÂEoÄ:tt´#3³òó ‚õÙmh+E×ðxܨ©©6ß©5f®CA”!ìD0Œ ÃÀbµñÌ…:Še³ÛÑÜÔ†aÐÞÞ†óçOƒeæ2ú,pìS?¢w jÄúZ’žž‰aÃF¡gϾð»m¥ð+ŸÏ‡¦¦\ºt!a=>Bzõ*BIÉ@0„ÀérÁfµj+VvNN;ÆbŤɳ$J¥ÖÂ놰š.4Â*–„Œ(nÜ–„ Ù•‘Ú½Õ ÷³X¬HIIP§ÓÑmh+=>YY=áv»Áªmi§S>„-_A-—¦¦¤§g"-#®”mÅÊêÑ^¯}-­ðy l8Sít.‚ØÆ$œ”A;æÎôêÙÝG()*é’;†ÃéDJZRÒÒ`“…VyuåååÁ‘ À-/Jtf-)WجV8œN8l6øý~mÅÚ·kW²´’bŠ0É"HJR±’rÕÈÿ!aƒîúC(IEND®B`‚nted-1.10.18/doc/docimages/toolbox_button.png0000664001041000007640000000266511520267216016036 00000000000000‰PNG  IHDR"%'B;zsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEÙ 3*©[NútEXtCommentCreated with GIMPWIDATXÃí˜MLTWÇo3ÏñƒáKÇʇˆY‰&6.´˜šZC7aAb ,L ,¬.´&m\¨MÔ.›&&µ14VÓäCeĨ 8|‰3ƆæÍ»¯ +ÆZZ¨ÔØ„“¼ÍÍ=ÉïžwÏùÿs¥§OŸê¼aà‰ÿ HÌT¼^/çÎÃår188H0¤¼¼œM›6½=®®.Ž=ÊéÓ§‰D"8RRR^ÛÖÂH’„bP¦¤³³“šš®]»†ªªãëöùv¬ ­4yšxðì½Á^Ü#nj€]ËvQ”\4= ‘H„¶¶6*++éîîFñ29&†‚uÔÞ¬¥a ¡ ¡ 2ã2I2'qÿÙ}š=Í”.)EBúw ¡Pˆ³gÏräÈÜn7ºþR , ›7o¦|G9'ûOr±ï"Î8'Ù¶læ™ç±ŠA!knÖ¤ &l_EQضmÛx§t<í ú·jZ†ZX›Î>ÓǬ -ÀŒÙkB<Ž0œf'#.—Ï…@  í͵æÀCÿCj›kij&Ç–ÃþU_R,;‘[[‘ˆF‘ïÞ%Þl"uv*É€*TžEžMŸ  rðæA®\%Ï–ÇþÕûù ¹‘”„–•òJUQîv’2c6˜§W}ûƒýÔ4×p¡çùIù.†ª¤òžuéô€8¬*³+'ª¡[,h«Wã yhzü(Ž¥“Ñ;Š˜­‚Ñøæ—õŸ ÆafÍ¢Ç9ŸV݉>ã}ä®. }}oß<7ޏðé#¬‘ÒYÂ<°X 6ö¿1Ïú]PßSI6ñùâO0É©DWä¡ÇŽ]GG´{ÛÉ›ËÊ•!,©“ºÓâ {pÎq²~ÁzÏNÙ8¥|iæYbddŠñ;`Õ–/ aIEND®B`‚nted-1.10.18/doc/docimages/keysig_change.png0000664001041000007640000001632311520267216015551 00000000000000‰PNG  IHDR![*SÂ^ pHYs ‰ ‰7ÉË­tIME× .Ÿ3rIDATxÚíy@GÀ_’®ˆÜ *¢x¡xÔ+|žÔz´Öj=j>‹­=lµÅV­_/ïãk«¥µµ¢¢µâQk«(µ ŠPÃ)„áÎE®ýþبl’ „ð~èî2;3;3/ogÞ¾y ‚ AA¬›AAƒ ‚ ŽAAÔ1‚ êAu ‚ ‚ ŽAAPÇ ‚ ¨c±1Fz ž^†í€ ŽA„*oïX¾|eéF¥”×ë°YÔ1‚Ð@UÖþuë7b; NÇhd­Ÿ~q4EˆÍ ‚:†Öw«» û†.ùlå‹‘=‡ÌXYªÆÉ;b£¤¦¦>|ÛAÚŽ‘>H:ô•J½ þb@ÄÛµZÜé±EvíÚ5cÆ [®!šñÔ1Úº¹O¿š«Ô4½Xv}{ä’?°Ý„ šñërϯY=ûóÛØ’ˆê˜{Û§)’ê‹a»:0äqÆöÏV×cÓ#ˆQÌ1ãêô G?Y4+]¦Î=´ìã»o‹äØ’ˆÝé2zÅòÐ÷ßK²+$¢´=Î,&ZŲõØôB+Ú‚\)ª¾~nG¿øU\‚T‹¶OÄ~uLÕ?«®ÖÖßë¹ëg7»:x |}÷(?ò¯¹?ĦGšeÕªU=zô¨««Ã¦ Nùõ/Â;ýø&Aèî‰MÿäúïÙÏøc!ö¦cîm9I¼qlg‡E_Ö‡¶~ÄÛ±ïÒ)nyyy .LLL¤Ø;Ѝ¨¨-[¶ôïßßFêóÛo¿Éd23Æóž={ÅËÊÊæÌ™chHƸtéõÄ ŒðàRM½¢üϾ|ýôßc|¹ZKXÆkÇ„ñ˜Ž®^âfîø=›@bÒ¤I±±±´dµ}ûvHOO·$“5kÖ˜—É¢E‹È7)ŠéCCCãããiyp²h›êVáÁ‘ &<®-¼=Ô…ÃóèÊe2zD j¸NÄ`G&0ø¡ý &§L©!/>íÊís…Þú¤§§›Ô; ¸té’íÔ'"""44ÔŒ#""(&.((0<$¬åçáÆ€œÚ¢W‡NÉ”«€Áä¬=·ßƒmQ‰÷÷ÍŸ÷ýk[NTÊå~3þúÙ„7&ö^ðÓ}|‡Bìãf|›ÝwÉŸGW`zrYØdˆí`-3Ìß 6ÏþKþûËQŸ&½3ÀÝÂlßy÷€F™·|åA.›û¯—ÿG¾uÆ¿m“œœüÆoã혨¥ùG÷lùøz3þ©«Ù:¢Å/Ę †‡f7lذaùòå¨c á3Ò Ò¯”‘§~£>=³2Òòl/ר ôÚ×À`9=”ÆTûd™™™;v쨬¬Dyë˜þ6÷ÅùïºZöØu·žÏoùñøOs\°‰ì˜ãÇïß¿uŒ!\z5Ê€£ÇØäßW°éøeOÌ(Wg×q‹÷€ê¡jq郃±cX¨1»ŽœìÌñûÞëÏùð§ºÜóqû² ½aÛÂ*ókYñ‰‰o^Ó+1¶Û÷Wóè)hÚ·ç¦}«?.MÙL–Ó§Gc±#ûƒÉré×›uçž¼¤VLZY~˜ÇxdW™G÷ÊÜ ¶bç:F«*š9tvŽBCžNØ’üj°½Edþº7)çþŽÿw _¿çТ°Î6Û¾r¹\,ûøøðù|mu|#7T ¨?Õó忞0ãSÚ+3!í®Î£“™X,V©T}§uÌŒ3Œ¦É»zê†XÖø#{îói^‘“³ËTš2­N.ÎøjáÄc¡!®LÛlß’’’”””ˆˆ__ÓÂäääÀÒ¥KÝÜ(ièÔÔÔœœò. 1µèfÉÊÊ2/“ÔÔT˜;w®ƒƒ•ô………_ýubb¢åNMe7N$tªŠ²²êZ©JC8pÞžnŽ4ŽéƒL‚P7T)[¡V|¥ÓÞÂj¹S0>~ÕªU§N ¡’>:::$$dÙ²e–×ÙÔ¢›%..nÆ fd²jÕªøøø[·n¹¸P6'NŒ‰‰yþùç-p²hŠzZ§©8¸uͶOˆNÙI‚FÌÚ÷YO>=þöò˜÷n ïg’§/ ìS10¸àrfÓ4‚®8¢»üÉ{Îmaíñœ=qâDê½Ó®‰ŽŽÎÎÎnê h˜=z$$$ :Ôò¢gΜ)‰¨ÝR&uuu§N2õÆÈÈH??¿„„*‰E"Qdd¤!aÚ<&((ÈÀ_5Ьoík8íïË¿S"Ï.à ¢¯ßu‚I~>  X° Tµw—-:Sú÷{68LïÝ»>>>†›îIÈ·¡€€Š7òù|@`j)´Ý,îîîæeâêê ݺu£8âp8^^^´<8Y4•¬ä¢s/DL=›×Ìþâ¹—Î]8¤äÊRZÆáÅ`4T‰Çd°ùú-v æ>\3cÆŒ±ƒ»MîÌÏõ¦¥ #“ÉLêv ŸÏg³Ù&µªŸŸ-½ÀãñL-ºÙLêëëÍÈ„Ífóx<Š7’{çt.1íœ1þfŠ<î:eûeý à@]ùÿµyŸËã{.Øú709«O’[¸ ÒJ¨¥icûOnVÁ”ýý¥õJgòú,^±i÷ê0`p¾_ûáØÁݰG[†6Srñ£7OêC“qœÃÎøßøP¨L?AWS–ÿTªÐh•’Ÿb_ ÔÁ¦ÿ­J&“EEEíÞ½G Ò”Ÿ§O¹V¥4ôþèþ¬•ŠNH»›´k÷7Ÿ¿?²·v„<UVV†MÑæÐó]¡©~}ê× §sö%örd×ûÍØ-/߯Ô}ãC— tr8£Ò€ d¨eé òþ_Ú›F£Ñ$%%ѲºŠØ :uåÕsçÓîÞ¯’k]=üˆ¢vWYÌÙ"ÃiƬ¥m4 Bf~ðþð†Ó€ ++„W„‚1Ž ???))I©TbS؉ŽÉüîų•úîìÔ{É®)]€+íÏe×W­PÌö¤ác›Ýû—ö™ü§ÏÌ‹—¿€Ì}Ÿ<|mvàÈLìK„²v)Ûñé²/ÿw H®~ä=ÀøÅ:m­Æ`Ô/ïáKÛ‹®ªv[´!ÌH y‰Ø24Ì/tšŠÙËSNWÿôa¦ÌÙž|HÖÐR×€g?/¸uòµ°Úôé4dñïî¡sÞ]“šw)²û¡‚\tîÙàEkö>¦` º(ÓøK/x\·?©òxãúùµ­ZC^"c“ÿëë2½¸z‡oz§gãJñ3¡î‹ê.¿=ÿy_†–Áõöë6ð_ÏOÜ]`¦7²{ÿ [~ž°û 1 Ò\oØšb”Á3æ]ÿµ#‹©Ð6†ã¸Íÿð‹Í±³™Ö~; y©V«{÷ÔÎ0Í?fÈ!O&(̸U®Ò’Ç¡ažœ‡ž„ºD˜%ªU=Q&KàáÓ%À›Ã´éPzZ­öÖ­[>>>þþæ;K×ÔÔ…Âàà`S¿õ,///,,ìÛ·¯£#¥eF¡PèèèhIUÍ.ºYÄbqqq±ñL´®N®¨×ê›Ãwv©,———‡……±X”\L233}||ÈO¥"¹ŸQðä€l:6™ÜÁƒŒÄ˜*..‹ÅCûÊJ•JC0X\ž£³³cë¸×Wýs'·™OÚX\Ÿ¯‡ “«UÅJ¡PdffRïÖ”µ'‡_hh¨%R…B¡B¡ ®önÞ¼âììlyý³³³U*•…7;;[«ÕöíkrºŒŒ ‡CѳM¥ReddÆ(SViœdô]Õp½6ç·qÝ yi9ùFœÌ«µ0OuÖ‰ïv²R„Ÿêêj°0ð×É“'àäÉ“ÖÖîb”iU¥ß--€ÿ¸o0i±FŒ2­ªÔ‘eä÷wòÆCÞ‘1hÛ*N—ð`c¼ó¦{eÒެ5c”Ñ"kO¿‚‚ ãþ¶IŒ²ˆˆ“жåe–®••\X×püÊo闼ſ?úBv“õn¯®Ý˜uåâÊÆ=fd%)/ùgáÕ3M)Zeîäð—.×hc¢_ iû€#£ˆyè´µõ:C è5×[ã{e"ˆí W ïÿ'Nƒ’ã2lãP/òø“Ñs²åjƒ1|ZÌpW.ÌJJ+©Jrnl|o ‹¡—TÕ¥M³Úì¢wÌ›R­Ðb/¶³Åwc>ŒV‚Í Þ:Ö¯¥¿¶®¹Þ||#7TU`ÈK¤½`é<æF¶þ›±s6‘ò)+‰ÛšUÅ`°>:œ±fZŸý\M/¿~Z‹ƒ†|°%1j`ôÀyzÇÆò´µËo/]3Ðä“óy31B‡½Øæ˜äkbÔ‡Ñz¼u*µzÑ«kL’·…¹žø~Cøn}jöNVHÞ6Ð1¹Jý†€ ?ÑÆ_|:º½°Í´>Ðk¼/¤—ìφÅzÓÓ€¹»¶ì9µäb yº÷í³k.Î2©Ðúê+b2ppØÆmÞ×Ä3ø©–Ò/N2âÃ8ù‡l+m‡ÅtðZ¹ë6\¼x=WTA88wíúïøLF‡ê5‘HDî Œ ð>)¼á©Ö/šÐ¤¥Ý6¼w ¯“wH ^¢™ ´ª:©ÌrF“|0iôÁ¤ÝÑ$4òrq¥* ÀÌ‘i¶wú` }0Ÿäâ¼æ{™‚ðò=útõ¦R¬Õ}0ušê~NðvjYÃÅï&tñÝÕpº>HAÓÏ?âœ8R?˜\–Qtö¹ðIxÐK?4õx¢øèƒi’¤wïF‹V+î3†^ ¼‡/UéZÃ'‘º&]´­&].~æy硦 ú`¶$ÈŽŸžýú[[xú`ZºVÆ`¹ýøþØ÷òº£Ê¯LvºÜfØÐÎ ùëLӿͨ ú.¡´ðU}/î¹oáì^\%£[C–f]6z;šUÄÆYQ-ÎË«hsá¥Á#`ЊcC\8UY›¦oK%¯°8;“>nHðBÈJÔ<œ{Ôäl<]©–ƒçÎ7(íŠsùµÕõ„hbX¿ÞiøSïÞ½Ÿû=Ž6êÐâ‰f±qAÖ(ÊÚ\xiØw™Åñ?vä½€gÖ'¾3|©Ûõ¯ ¶SpC‚ÎÃ$kU%¿W)ŸsçQÿÅ4ý4Ã>>êä@¥”I‹ë›B=œîeeeµ÷±bm7¨Ç0jñc°œ.d£¯ ‚´­ød–ƒW› /=1Êü£ÖýóÇô¸Û›_”•¶mÏÚ7<5$ßsÀˆÏ«(¿ûÖü·%àùÔ¢³«†uøáÕ¼i±R‰F½ 'í¼BÉI}M„vñwø\8– ò„¸ m.¼´íž1mÛÕõsñÛæ7»u¶rÛ‘R¥~'1Žëp_ ÎÌ{Ö·ï¸ç  ÖøE›î]ùÖ©c¿óZh1sXÛËÖb¯â¯¨—•ÕÚ‡ Ó·CÓqÙ¾Ô+ñ_ r“—Üübñt7¯~væìÙ/L¯ÐP•‘V¯#ú?3ïèâÓÛßïÌ6§ôº¢u¤=&ä!íÔƒ[C"H‡Å¨økëkíCM[+ËÍÍ5œÀ;|æ¾3Ó³¯Ÿ;táFZFÞÝ¿n_®«W7n¼8þÂ’ð.2£YµÌK§N½dFÝLVfuuP]]mIÎb±˜ü÷ÉLÏ›dÔ‡±¨¨ÈÉɉÒ;‘\N½ª¶]²òƒ¸#—›FrtpéòÒÂ>‰yNS\Û~dU¥R•••ÑÞû ?´ÍÏÏwqqi§?pJ¥R¥R™ÑhEEEÖxvZd­)•••PXX¨ÑhÌŸgÈåƤ*‰D"ŠéŠ?ƒÉ5š•-²H$2<$Œû`Þ¹sgÉ’%<(//‚Ymv­Í¶ÅcžP½R]­6ê Åu}ºõŽ>Œbɥч‘Íëb¥:wñ§GÇÈKõô²DÿýØïûw~¿éò½wŸòlHÀâ=„MŽÑæ=¡@b,¶ O¨q›¾méOèÈ ´KnKaXM•Üg·Ÿ±jý;‚øÓ³V–ñÕg’&(kÕË'ÌÕMç¤ú­Ìal­ ›RüÛÈHE—F±1Ém) +Jn{Õ1u9/h**Ný"Q4œÊDîCÜmêù.ÈÊK®™ ¢õAlOr‚’Û:гVæ3Ö~/|좬ɲXþþLò (ܣ͟™ ˆDÛˆ'‹ãKCóôô l6Í[§R«½ºöÇ$yO(Ž[Ðü¿Ø;Û‘‰Ã i%„BaMMÑdR©T¡P›ÃᘠË\Y3\‹ÅFeŒÝGEr ##£¼¼Z ¸‡’ÛntL÷—£aéõ¦WxîãæxòNwÇçƒéøa[›?³Z­>|ø0:ùæk¥†w‰Œ$‡‡‡·4îÑzØ)))T¶!—H$õõõäÀÖÓ1 ²ö„NYœ_P&©RjŽ£³»—dee•µœœœÄÄD*’ÛuÔ¬ääd&“ ï½÷^³:%·5 ËÑfYïFC‹ؤcš†?Ufn"¯÷˜yȦœƒÐ1¹\^YY©Óµã‘ц>˜\•£?ø%×þ MÇÔæîue3À#ìí‹wвôê3Þ|ຆgËÕ¶öü_ó7° [ ÔàAì¶Ò1²â¤¨î-ntæä?%uŒ!þ9øïáSе߳S¦O{n¬§ ˜îqé6øüZUiKžPr-u m¨êRÃ;Ú=ŒÁä¡äÚÆ÷Ä4‰¢ä]³ç½ŸòèÇÜNý7ýãÍ‘~6»`¨ªÁYÄnyÒEñ“·f×ÔÔ¤§§·f5~x6pÁ $àºE(«/¡äÚ4ëÒ~ñèþãg/þS(a»z œ0wþtGÜAZ_»´f1ÀßãŸ;­YgG…ÖЯÍä²OÌCÔ1‚´ä¢s/DLmɃ„Í÷UËD­VRÈå÷Òµükã=|éƒËÐÅþÀ/ÀÄ1ꢨQ”µf}Ðá±ÃÂÆ&@»!%%¥¤¤Î¹ÈX˜EéŒÂçó'MšÔ uC‡GÔ1‚´o¤RiUU¡­Û•a$ˆFè+UUU€Z­nº¡ÃcÇí1bo ñ±p‚Š ö?Ô1‚XŒ²ŠØ¸V† v º("¨cA»×ÊAÔ1‚ êAAƒ ‚X—ÿr’§_DÙIEND®B`‚nted-1.10.18/doc/docimages/score_info_dialog.png0000664001041000007640000002034711520267216016417 00000000000000‰PNG  IHDR4ÃzÝ pHYs ‰ ‰7ÉË­tIME× ,!¾Ä… IDATxÚíyXGúÇ«g¦çâ˜Aå#"³C¼}²«1ñDŰ q]£È&ÊšK£y²ñ@ü1J7DB¢QIÌšDܬñˆGD¹f8æêîß­í83 š¨¾Ÿgþè~»ªzºº¿ýVUw½!„BQSâ¶AÉ!£Ì™ Þ€›Ò'Qfs«ªl„a!Oßòœ!¶jl +â¬WüÏÓ”H$F£±¶ÛÎÕg¤Õœ­Mü¶‹õ”_ÔT¨G`£éhÓuõ«i)°st8ÿž\VÄ©×iY“³oxÏõ³ _|‘Ëå}{°ª¹Nì$5ËfÐõxâm FÚÕo´i^dè´Ýº.uȈýI\véBH ?X.ëâDvÇ$vKówý§±O ºöÓÏF;G_hš k­ ðNÑ0g{ œ?`0‹³[ÒÏÄ!!!e—. Dv–˺81Œcjµ#Üjnž>ý›Têèãy¶â”läóݰºV1ÂÝñTe«çˆQpò€Á †qÌÔÑŸô–«7qbf¤>#+/ü¬VWq8 Owój©Ô?!¤i©õsÆN(ª†ENµÌeÊó‘A/'ì4ÝÚêÆÖŸÿø0êÎC*Ùðæ¬ŸN•ïúî¤Õ/Dœù|8Îã~ñŸÓ‡O—ÃÕܧ8±¾¯s«é,W/âäXQ¹ûÈqu§‹„H‡¢¨Žv±DL¸9é.ÕµxŽšÂáòúØ™«“ý¢£›n¶QT,ð£BƒÛšë\ܽï·j8Œ¢è>´ª{Þ“[YQ¦î¡%®î– þÚÖ¡I\¹¦(GWw;Gg¸à€ûói&êø0u†ešl+2Ko5›ÌlÕr/÷ðœ!.ï:±åÜAœ‹8¬µê G*3=bï1|‹ö±nÎŽ†ýVzé‹¢ÿ Dÿþî8eÐÓ4036LJ8´kº?Ù]\׬Š|ñ¹Q„ƒøz›ºð§3¥ÊzwWÉGKfž«¨“Ø‹$ö¢eÿú:6"hƸQÎŽâ¦Võ‡N—]m2½ ¬NšþýQ¯Ã¿U|²<î•F±ïíî|òÂUùþãï¿1)ä§]}œÿ£Ä^<óùpg“}ÁÅÜCœÎ=} ²ôdðègMÓ[Íõaꌷs¾ý ezo¹Ì=“eCÙô'vt±óCÓt—ÖH#Ž˜£WãCœÜ†õ–žýÕ\Wiº´/NŽþfÛšwÿ6ÿ¹g"œ† *{ýåq\ e^´ÿÇ_Úšªý=ˆE3žUwvoÍ/âsPúÜX{>Æ4¾Ã=S”|{Ä•¯[4ãÙcgËç.ý ézó›¯<#Ò¬eoÐuk»:B^.û~ü¥¬²f\x€«ˆúêð9ÞÐt£õýìüUsÒÌžà¿>˜ÙÅ6;9Óôg¡ Ì2×;Û2ÉXe2ûØË=<'ÕÝFÑHGã~R{>Ÿ“¨?éáíœýÑÇ„‡ø ð ôÊÚ¶oÌ ¡í»‹~))³“8Ó4=uÂP„Ю=ßÿz^éD8/œñœŸLÔÜe@ýZZžûE‘ÄyáÌ ¡ÇG¾8>Ši™; ×{8\.Ït˜™iûž8{éÐÏ' B6Ü×QÈ)¹¨$gÅhºzŽ–\J™ÿ’å¾ÎU«q¾üЇëDó ~xÔ8‹ƦÇ0Ì2×;¹ß¿Ÿü‚©2ï*ãÜ_Ÿ!ÔÑxÅØvÕ(’9ò»õz½N§Cú›­^Ò¡}çuéȯ‹Ï}ñŸ“3b#Ï*sÀŒ=³ÕÁY&´“Ð4ÅŒ¦‘½³_ bT¦ëÖ „ZZÛ…b{g7\ Dmù÷þ —¯17’æ–V!án/q¶gîìêŠíy¸˜¹ãôz„aC‡‹ ,÷¥íì໺±Ñ`m¨†cÙíͶiÍÒ¼—4]Þ“»nµüù^zës"kþZJSõk7Éó‹œÒ£nm»ð#‘!Õå£|û™±C‡4ÔH}9úlEª£ó™‘¾¡ÚÆu­Ý3bG'½òŸÏ9»¸\¼Ú|ñÚéãÐü™“Ž”TLyf„ÁHž¹ tâuëfÄÃ1·¬úæŒçдçÆtê1''ɤ±#ÞË=@b\ŠFÇòŸcžÉqÒì é|eÃŒçF™í‹ÆÄEs¸\¸ þ÷9û°`º5&t'Í»‹§²>sOî:F«kvü`ºÔÿG)”ÑÐuõÂ0ð)¸@„K½È q=W |Ç;«N B'÷ñ$§MÝSU#2ØSbo§îêÎ?p¤ä‚’â½õËŸ^ž4k¼JÓ}òÌÅ*!çëâ—ž4k|SKû§y_ßhëp÷2­­¬¿™óUñ‹±á™‹_ììÑ•]©Wµ\wÀåpP/ÖVÛݵ7,÷%õ’1·-¸ þŒÖ2~Ϫ†M:Ÿ˜ÕÑW¦5›•÷ÓÚ¿NF]:ýsÈ3Ls™—ÉÌJ¹Z×l¶¡óÚ);Ruópó¿ó¦AKÅIoŽã4M×u $¾‘}•NÛÕÖxÍ ×Q$ÉápDŽ„!ãñpUK½¶SC \×ÕÈT7´ÝjÒ¨çòø„›ÈÞÑTÓµr±£3á6ç Iƒ®­¹^Û­& .—ˈ\܇ñ…ö·vÔ­iºvIìèlïäz£VÉäÒ¨ZÔ7d^ŽÎnuÊs<œ/õ är¹·Ê1Ù_(¾¯çÅÀ…ºõzHÈS¦–‹'‹-“üÓDf¡¬¬ÜÑeHo¹Ødf«L.6q{KCmÙi¶Ïy—j»¯_ñsÁÏ׊½v;…b‰ÌÑw†•y|Î8I=uöÝ\Ã8Âx|“ÔC§•p¹8Æá Ã"„Ñ„›·@lÇ܃x¡“Ô]¯•px8#$ŒÃÃ0Œé*â"“˜Ãã±¹ì%.¸@€óEܤ^±=Bˆ'Zî Ú´À=<çÝ÷îÐg'ßËÓb÷Ìe¶Êäê­Y{§ 榷¸«²®mHÈxŒs×…‹q9´,´[¯à«Ñhèkµ×ºÔ{'«ÿ’ËåØK\-푽@d—ElψÇÂÍóî4½õry<›XhR²ÐÎávQ^}ï úPº¯^3ô`¹îÙçìj©«èi Ãí €ÁÍ­ùœu7:Ø—º@!..®½½]-//Ÿ>}ú•+WBR©´¶¶V$bâ} ©TZWW' »»»½½½[ZZ‚hiiáñxÌV£Ñxk—ÖÖÖfê9U*A­­­‡µ˜.˜n0Ø{ X¡1/!´ÔWÝ™Ïi™”Y`2$''gddxyy•——“$Él>|ø®]»B(00°   ...???88˜IÃ(!š””4sæLVÌVœxïï÷šÞÞÞÎþCèôæiz mê0§NW]]íãã³iÓ&ƸuëÖ´´´üã4M«Tª-[¶¤§§¯\¹2(((;;Û¬4¹\¾|ùòeË–ét:Ôç­U, 7ý{0(áõ'ѬY³fÍšef ;vì»yâÄ Ó¦ ô÷÷ß¿¿ÕÂMû–fÙË„qp¿ÍZÛÄtT@œ¶E||<œB`@CÓô}Ö cƒ Pú~è}N°Q‰8á{ ˆ€/NËIÒ0múï!IQ¥R™½¼Àã'HR³–0mêW-'^Cs©8‘ÉKí¦îÔrâ58[xˆÍÚþ£P(RSS™€ðçDá8ÞÜ|×g³CCC·mÛÖØØ¨R©LC"ðHÅùÚk¯…‡‡›ö*åryaa¡¯¯¯i§Î<\qZΙްaCSS“éŒjfâõõë×Ù¾(ô9à1xN@œâ´=`ââà1à'[CŒLÄ ­Yqöø(â´Q À0Ð_`‹@€/€8Ä €-ˆ¢{À£gqqqtt4ddÏž=ýÏØÏ©' ax@q&''§§§×ÕÕþðÃPƒ`+âtvvnnn>þ¼›››\.·twìòÚµk=<<¢¢¢JJJX»et/…Bëêêj ¼(â¼ jjj233GŒÑ÷ :^^^UUUÉÉÉK—.e–ѽRSSãããLç^Ã$l¸ï—>ùä„PyyùôéÓãââL·RÅ.Ï›7O(.X°àí·ßf–ѽ***.\(àdÀïísVUUétºòòr’$£‹‹Kqq±V«Ý¹s§©Õjµ»wï b–ѽ†¾k×.NÇ$°  Î~1uêÔ¸¸8//¯uëÖmÚ´‰1¾÷Þ{ÉÉÉÁÁÁjµšMY[[ëçç—““Ã&CÖ¢{mݺ5??ßÝÝY5 }Nšµ÷Á¬Y³fÍšefŒgßA_¾|9Û]ÌÊÊbŒW¯^µ··G·£{™æ ;v컺aÆ 60ËÐçÀs>t¢££ÓÒÒ ºà!zΣ©© êlÑsâhÖÚà qÚ"qÚ(à qÚ(à è@€/°E À H@œâÄ ƒ\œ4Moß¾=**J&“EDDìÞ½ê lBœÙÙÙ………;wîlhhØ»wïñãÇ¡¾À&Ä)—˳³³ÃÂÂp÷õõÍÎÎf쥥¥111R©4&&F¡P „‚øøã}||‚‚‚¾ùæ›uëÖùúúúùù}õÕWÌV³`_–%|ôÑGì lË8`AdddÈd2“°gcc£i„–´´´„„„ššš„„&BH"‘\¾|9''ç7Þpqq)//—Ëåï¼ó³Õ,Ø—e ›6mZ³fMSS3ÁÚ2BhôèÑÌÔ3˜„ <éâôð𨬬´´+•Ê„„±X<þüŠŠ ƸhÑ"¡P8qâDƒÁ°xñbf¹¥¥…Ù:oÞ<‘H´`Á¥Riµ„Í›7þùçÁÁÁ~ø!ºlÈ!sæÌ¹rå SÈìÙ³¹\.œ3ĉ’’’ÒÒÒ …Ñh¼víÚ’%K{```AAAOOO~~~ppð­‚8wŠ2]f0 öeYÂìÙ³úé§ï¾ûnóæÍÈZ0„ǃ<9ôu¹§¥¥q¹\¦y9tèзÞz‹±oÙ²%==}åÊ•AAAlG´o˜`_Û·o·ZÓtqqaBÉåòåË—/[¶Œ‰ÊgÖŽ%Z¶À-N ÃRRRRRRÌì‘‘‘'Nœ0µ˜JÅêrVVìëž% kqÀzÛ<‰ÍZ¹8ÁÑxNqð_â|@Äi£@€/Äi£@€/` ¾À_0 qˆ'}úŽ; ÖÀ†ÄYSSS__Ÿ——רØX]]ÍÍ‚n±ËÌ*A#FŒ`<-A7nôööö÷÷gžêüöÛo‘‘‘k×®… ^ðàâÌËË[±bÇ[¹re^^kgƒn™-«TªÖÖV¹\¾jÕ*ÆâääTQQ‘››»zõj„ÐÒ¥K—,YRUUåååÅ$€ ^pßâÔétùùù‰‰‰A$&&æçç3ÑCÐÝA·ØåíÛ·9R*•þå/©­­e¶²ÀnÞ¼ÉøÉøøx‘Hôꫯ2 ¨Ü·8÷îÝ¡ºMddäÞ½{™M¦A·ØåþóŸ[¶lihh(((`ßà1‹úÄFýb,Ô î[œ;vìHNNfW“““wîÜÙGú¥K—¾öÚkÁÁÁçÏŸï-ͦM›¶nÝêççWYYÉçóBr¹¼°°Ð××— -m ô9'~ù¥#GŽ˜®Nž€~‰“¦éíÛ·GEEÉd²ˆˆvîåï§ÿ/Ö‚\§²³³ wîÜÙÐаwïÞãÇC•€MˆS.—ggg‡……á8îëë›ÍØKKKcbb¤RiLLŒB¡`üÛÚµk=<<¢¢¢JJJNŸ>=vìXŠ¢÷QYYi°Ë2ÌBÈ4cd§_ƒ@œ·hll ²´§¥¥%$$ÔÔÔ$$$¤¦¦2F//¯ªªªäää¥K—>ýôÓAAAEEE¡_ý500000Ý Y ó…îÆ´~™ð(f™ NÊÊJK»R©LHH‹Åóçϯ¨¨`ŒóæÍ‰D ,P*•¡¬¬¬Í›7#„ —,Y¤1 Øeæ Y„§’’’ÒÒÒ …Ñh¼ví«±ÀÀÀ‚‚‚žžžüüüàà`ÆÈìbœm@@ÀèÑ£÷ïßõêÕqãÆ1iÌvY†ùB¡Àponn†S€8Í›¯sæÌILLôðð˜={vtt4cß²e‹\.6lØ®]»¶nÝÊkkkýüürrr6mÚÄXV­ZµbÅŠyóæõV¾e˜/K^{íµððpèsO÷x·ð”””””3{ddä‰'ÌŒYYYYYY¦–šš>ŸÿòË/3«ý óe™fÆ 6l°,žhqþ‚‰Dyyy8Ž÷ Â|ÀC§¥Oë§—gÒçÄ À£ês> Àâ´E ðĉs ΂_À“%θ¸8¨°Eq‚;€GŒUÈëR³çœ6m Àcžsˆ'€8xXð  '''¨K0 ³œcuÕÿºqþ1À€¶‡‚ºúýuÍZ€>' Nqð(€¡Ä7G/ç3R¢išF4¢B#ýÞ^=hޱ§¾¾<#£õ—_V¬ðMO7ÝDiµŽc&AÉAœ€M`$©mûϼ—<ÑN( iÌH!ŠFên㺼ÿ qÖæå)ßä´iÿ{ñ¿þ%{á;fSÓ¾}Š7Þ{{9p@èîÍZàñsµ©¢ht;ìƒÄNxüBÝQEÝKë~<[o'ÄM4Ê`(ËȘ¼b…wX˜ÐÎnÔ”)—33™MJeùŠS22žz晓&t]½ â3GÏצ}ò=‡ƒ!„0 C4MÑÈ@!½‘6´ÁHkõ† ’kÇÅžžZ• i4´ZíÝUVÖ^RBvu™;÷éøx¡WDDø¤IçæÏq šF;¿+ý¿¢³Z=yëTaMÓŒ")d¤0’BíšÁtÔÁ|pþ»ï›­×cáÓ§—¯\©HJò wõó£5Z§CW qiPDgÌÌýï…ê¶¿/˜tÇŠ!!ŠÆH éI¤éÒÒzMˆë`:ð!þ³‘Ç»Y^މD”Z- åèt¨¹9pÂêúuDÓÝg÷ïËË»gQ–ŸÕùÚyôßéqÚ75I:H$ñ/Œà<„Ðø¥Ÿ_úùÄ¿åÓ4Zö¯¢ïž?zZ!Së’'¸:‰Lóêõú·ÞzËÛÛÛÛÛ{ùòåz½Þìº|ùrddd^?.îÇÅS7–!D’T}ý¸¿þulB]UE߸AÄ/;vŒÊÍûúšå:|ø0Aý|-n £µ¶Å™Š¦ww›6nôS~C*›:Ã|$Ù«æò8ˆÇÅø\$À¹G$ÀíÅ C­Ý$I1=R†õë××ÖÖ–””Ð4ššº~ýú5kÖÜéÁ=ºlٲ͛7³_‹³Aˆ±cÅAAM%%C† CííÈ` Õjª©‰7iÒI¹|hr²tÂË\r¹|úôé;vì˜6m4k?žÂ#—>Ì?9÷…7×+E_ªí¨¨ïPÖwT6´_iìPÖ«”u­—ª¯_oÕ´¨:+jšia&B………ëÖ­“J¥2™lýúõ………즂‚‚¬¬¬}ûöÙ²2BdWWWM ÏÞÑ4­×SMMäåËøøñ‹Š¸>>þË–Yf©©©©¯¯ÏËËkll¬®®fík×®õððˆŠŠ*))±j!"##C&“!„”Jå”)Sd2Ù˜1cN:…R(±±±®®®l»cãÆÞÞÞþþþL<Ë,A˜¥qÞÝuìûßêâg>T}=ÝÞNÕÔp\];ÚÚê+*FÉåV3ååå­X±‚Çã­\¹Ò´ÅîååUUU•œœ¼téÒÞ,£GnjjB¥¤¤$&&ÖÕÕ­[·.==!”ššßÐÐÀÎírrrª¨¨ÈÍÍ]½zµÕ,–i@œƒ½‘D4¢2´ž¤ô$Ý£'othU=ªî–m«FÛÞ¥×ôºtFš¢BB~½Uã=ä΄I™LVSSÃ,WWW3>áÀ™™™{÷îµåJ¨x÷]^GGð„ ”BzzŽ#‡6Å ÙÙihk³Ì¢Óéòóó ‚HLLÌÏÏ×éțyóæ‰D¢ (•ÊÞ,³gÏær¹ŒŸLMM2dÈœ9s®\¹‚ª¨¨X¸p¡ÀddxÑ¢EB¡pâĉ7oÞ´šÅ2 ˆs0ðþ¢ØIž_ýŒ#ã0qgYߪíè2jõ”‘D·´‘¤I’&) çq$v¢Ý?žáÃ2wîÜÌÌÌ––––––U«V½òÊ+즈ˆˆ¬Y³æ³Ï>³Íhúæ››ûöE½ú*uæ M’Ügž1ãS§Òmm\•jÄ”)—ßyÇ2×Þ½{#""T·‰ŒŒdo@Z­v÷îÝAAA½Yx¼[Ã.¡¡¡Û¶mkllT©Tmmm¡áÇïÚµ‹•:BˆÃ¹K/–Y,Ó€8 ¦Œ\?ö›C¿\oiîåÀå`ÆĆºEp;\( ó—ð‘ uíÖU××çµñgƳ%dffzzzFFFFFFz{{¯ZµÊ´üáÇs¦òر‡ÉLž—X=êÁñ¹t§-b'Ä?N›øÎîüæ!ƒÁ@Ó4v‡ƒY{Ÿv@_‘Ã/6ttü²mÛ¨qãN<òÙg˜TÚ£ÕúðAizú¤+h‘¤›ŸŸêÌSq‚8E ’$Fc\¬Ÿ»žó­†l`”Éår¹\.Çãr¹8Žÿ# £Ñh4Ý^]Ïå–üûßî™™t@À­£ âúøÔ;æzîë¯[››Ã?üÐh4²9ƒ§m]£†Û0ËaÞ³BT*EQŒ,y<Žã8Ž3 Eñù|î@žÌ¬Á`pŽ·Ÿ5Ë`0¨Õj£Ñȵã²e^ýü?¸§§LHà…ƒ™ ´‚8‡ÇÖIúº;’$É4kŸÉne½è€>j.—ˈ‘sh·ŽÚÏ/¸¸˜‡ã<Ëã1w(ðœÀ£§@ àóùÔmŒF#I’Œ8¹·a.\æRLGMÓ4I’E‘·1;j–'äzqÚ¬‡D žŒ‰‹ÌQ3͸îܶ/âX-zIDAT  Ä ˆ ÏùÄ2È&ÝC]8 Ø` xuâl âWÆ ® Ï ˆ@œ€8Ä ˆSîZQU•êé nÎôô/¥b¥gdHÞïlk㔋PJqpß>ZVY©yÃú9s$ï " ¡¨¨Hóÿ/75¥4Il±’¥X. “vo¾Åâ·®Ždkô ¹XK«¹ÝnÜsÏ=ðz½8|ø02d´˜ßâyÆzc)›¹ÐÈ}“uo­¾´Ü·–”•²¬á>|=ö.\¸€ææfÌŸ?„e@q<#™mÖüùááÆ ŒKþžˆFY6)r‰Þ7™÷–k%eeèéê¢Öè¨ÑÛØÈMoܸuëÖáàÁƒ(**‚ßïf%‹j·Úsæ,X ùì¦Ó§'Äj$k¤Ë>›e9yšn±4îm³ÙBõ›Õf‰ôµš5TµXF,ÉÞ½{qôèQlß¾000€gžy”RtuuáæÍ›‚ëOž<‰¢¢"TE’‚t«UñÞý½½ÜëÂâbÀØÈ|>_ò-¥Â{‹ÿN¦ÅÒáVâ,j÷¶ÙíÈÈÊàózáq¹¸,Õž–`|tTV¹Xò±‰}¼^/JJJ°dÉ’°2ô÷ã•W^ÁÑ£G‘™™)T”þ~üüç?Ç“O>‰Å‹‡-ΩSŠ÷¾ÙÖ&Q¬Áþ~Œ ®ËÍÏGaI ÒœN^}==Œë:¹Îµ;¨­¯‡3#·í--ðy½ºï“—‡©µµƒh>Á`µõõHÏÌD_OºÚÛ“o±"÷Uºw(˲øý°Û휢Øìvø½^ØìvîYW¨Çbéýb„´´´àã?F À“O>‰­[·âäÉ“‚ë†ÁsÏ=‡ÑÑQ8p®ÈhÈÓî•Ìy´aJu5(¥\'ææç£ª¦„ ôõºNé9Å¥¥„ÅjEzF¦ÖÖâRc£î{ #3…%%¨˜:n— é™™p»\¸ÙÖ&蔤ÅA«¢tï€Ï¯Û ‡Ó ¿Ï»Ãðû|°ÙíðºÝ©$¯„-¥555X³f þîïþ?þ8ÆÆÆpûí·Ã*rs‹/ÆÓO? `Íš5€s_|‘›(.+ôuw£3bá*ªªP\V†â²2Îê½Né9½ÝÝèêè€3= sç"Íé„3#îñqÝ÷îhkCFV²ss‘›‹P(„–+W$r+³Âññq°ÒÒÒ¸Ãn·ÃãvÃ1qg…FbB®^½Šýû÷ãå—_Æ“O>‰ù—Á¾}û°råJÜÿý‚ëï¹ç÷žÞ딞cOKK)œ%âÿŸÞ{[­VDg2X–EAq1ú{{1>66!Y!«#+ÌÈÊ‚=- >¯—0Ñ×,ËÂ5>wí-.‹uåÊ £¼¼ðÁ 77GEAAàâÅ‹ðx<8sæ Æ#³ìö„,VwG¦ÖÕ¡´¢‚D~a!Wñ^«÷:¥ç”–—Ãf³!+''lÁ<ŒŽº÷´º:Øôuwc|l ÕÓ§£fÆ 4>P0¨Ë­8ÒÒàLO—­ RJáq»I…œ»Rº·Ýá»Àˆ"y\.€¤9ðù|Hs:á÷ûáçeåJò2ÍbmÙ²]]]…B¨©©ÁK/½„U«Va×®]±8¥·—Ë"ׯ_8~ôhB«»« ÁP¥ÈÍÏO/Œ£»³S7é½Né97ÛÛ‘›ŸGZÆÇÆp½¹™û\Ͻ£Ÿy½^´^¿ŽP(„œ¼<äbZ]®\¼¨Ëb932J …$Ÿ1 ƒ4§Sà®d…,Ë‚F²@·ËWÄ’R–EZz:¨ 6ʲš:C>Ú»—*ÍûHj™™øâ‹/ÐÐЋłk×®áܹshllÄ~ð¿ß`úô騭­!öÔ”Ž¤¥¥¥)Îç¥9áÉ^¹Ù Jár¹dã6ðù|ÈÉÍU+äg‚zÞçßÛ‘–¦x_Ûm,+\¸p!,XB^|ñE´¶¶â‡?ü!¾õ­oáöÛo—\¿aÃÁߟ>œÒ$ñŠÛí†[Á"™‘zܨÒû†³B#ÁcÔß766âóÏ?ÇÎ;¹ÊºÚ<¡ÑçüwiÉÊ Ù$ÎêI8 Y,~{úé§ñ£ýÏ=÷~ðƒH”Š"¹ojuC|·ÅJ⽩ž˪2‡—jÉm•+‘æ÷û‘““´{;x¥q ƒ0¼º!Õ¾$K#+LøÞºb,™t6Õ&0ÆJÖb¼$Þ[Kg>ð¶E‹R=jq·s¼ÅLJ©–ŒvË«©© …%%ƒ‚שö‡Ñ4ÓÁªêjA éõz‘ΫԷµ´¤¤˜jÆ‹¯8MMMX·qcJ™R-¹®°¿¿ßüÖ·P]W‡ ø_ßÿ>ü¼5ÒZŸ‹Û+¯¾Š‹ajM ¾ûÔS‚Íj÷ºyó&f44àíwÞá²–¯>òžøÎwR=üeT¬'¾óX,\hlÄ'GŽàóãÇñãŸüD÷çâvðÐ!;z'Çù ð£ÿX×½ÊËËñÌÏ~†ÿù—‰¶öv<û‹_ ¥¥ÿôÿ˜êá/›b âÐÇãéïN§EEEø‹§žÂ«¯½¦ës¹ö¿ÿæoàt:QXXˆ¿xê)ìyýuÝ÷ºóŽ;ððW¿Š¯>ô~òÓŸâ?õ+Í ´©6Q1!p»\èéì„Ïï(EAi)¦L™ ¶œ"ÍéÄÈÈ ¶®Ž+ï×ÖÕ¡··W×çü{ÙyŸG¯­®©Ñ}¯hû“ï|¿ø÷Ç=÷܃E‘ApæÄ‰TO›ÝÕfCn~> AÔËçõâfk+òŠ‹QQQG¤ÓäV)G¶hutt ¶¶6üº½%%%º>—k‚k;:¸{è¹W(Âãßþ6ví܉÷?øûß{[6o,[½:¥&7ʲDëÕ« Š"«he««£…¥¥¨ª®F0T\ö ………X¿~=þþþ¿xöY¸ÆÇñ?ý)üÊWt}.×þψgžyn— ÿôOÿ„¯<ð€î{ýŸþ^¿xöYìÛ·ß~â |úÉ'(//Wý©ËÌÌDõôéhmiA–h_© Æòz½(+/G0Ð5øëÿwø}>ÔÔÖbáâÅX¼d þöûß×ý¹¸­_¿‹/Æì¹sÑÐЀ§ÿöouÝëСCøÅ/‰çŸ{v»÷Ýwví܉o=ö˜ì²ÞT3¯9#û¢â6ùhï^n–Òîp`ÙêÕ©žj†Ú™'PVU…Ö+WÌ)7¤ZªñƒyÓêX©–j¦×±R-Õô×±¢ÑþcÍ)ɤšîvô‰”ÅJµ”+Lµ”b¥Zª¥+ÕRŠ•j)ÅJµTK)Vª%½Åµ·þõGÆAY †±ó40 Bˆà'ü–² CÁu @t²’Dø¬V+ÖþÌÂð%Á`šbŽ! "?¿(EHÂ'!°2–È—‰|A†€ òe"߆"üÛï÷K"Ha˜ÜLS¬`0–eÃ'D¾ @  fþ ‹%<:‘ß6‹ wzEøÞ¡P(Bßm1Œ?2™ÈsÃ?!Ɉ†é†‡‡ÐÜ|” [B˜ˆ• ‘ïO`w8°téJ8iIÁ &·Û…óMg°tÙª„å`šb„) "ˆ‚°ðÈ¡¥Ã0 „‚P€‚‚e)ï>Tð;1 T€eCAnn^Ÿg]ô¿fa¸~½?û×r›pß W¤¥9ñÿ¹ޤ`Ëß.×8Nžü ‹—Ü‘Ir0M±¢¢ö¥G!1MiD™¢ä«~#_HéÊññQ´·ßÀܹ 1>>†ß¾ø+<ù§£z31°lË–­Æ¼y‹a±X@HÄíD¬C(Ä{ÃiE7Wj}¡ôœx1$¬XåWý6|Ö^>@–¥`˜Èç„KE9é¤ÞÑÂ066†sgObΜ ”" Ê`€Ì¨6Cm]Ö®»‹•çŽÂn8 ±ñ(KA)›4 J}ÁÿaYšLS,€ŠÌ/¸·èäŸüÏ0À‚e#ˆŒÉ¥TCJ¢æ^|Ϩë` „sOfcw6•tnL©YNfÉ”ƒR_ÄdÂFd¿Lw…Ñ¡B)D±ÄU½=ݰÙìÈ/(þ ”KXQ%4. Ñ8&|º8ÁÅFgX¡b¨äè;Ó0„‡™@ÑNdYÂuß*$E¢¾ˆb ” Ë(ò™9r0£@J¥&Yè›cï]8×®]ðb*ý„G2M((KÑ×׃®®œ9}?þ¿Ë·˜l S¦TcæÌÛ0Ü{~¿”R0 ƒµë6ÃéLO®D}!|š'SƒwÊ3ý’ÌÀ€e£ìr±‘A¡!„Â5žõˆšéx0DG*ˆøqîÜØ»w†‡àõz #Á4Q rÍÀP\\ ˜cr8þ,û±aÃV0 ƒyó‡yÞN"31ÈõÀFîÏJ¬U¢LQ,*xEÒÓð¢,åf䀃€°,O±Â´‘/£„áÌéãøå/ÿ í¡99¹¨«kPÍvÌÄ '¯× ×øxÄÈ_›l ,Ãb1–T±Œc0'+äéÒUl›ÙÈõ±X‚pµ—Vb±(Õ™ )` „`Ü5†ŽŽVØíTUUc㦻ÐÖzþÔÓ`¡PHÕb™A®c)eyqn †°âE,«n±ôb0ÏbQ|uÔÒHä(V.ȗ ”‚! ¢U,¥lÎ(†è½‹ K°xñí¨ªªÆW¾ò(Ãà¥ßþZ`úù{20Èv,åó·xÄ·ˆõ a05x’Å)s48äο£±ª¯8hŒ‰üÏÁ0£~6¾ýÄ_"3+™YÙ׃ޞ.Þ3“‹A\dŒºž‰”ƒ,,¦`0%x'TÞ¯ FKøs6’þ ¬…ÈŠë=‰`ˆ>ƒ ±èîîÄ{i£Gàâ…³ø×Ÿí†ÝîP}†™øVƒ g2‹5Ñø9¿OÆ`šbQ¡f…±JÔ|ÅFoNJ¶øfÐ PHjR££Ã¸ví2öïÿ=><ðzºo‚RŠìì^¥Y#rIƒT”W78 }}ÝHOÏDff6wÑÀ@ü~ŸŹY¡ÊóX6„ñ±1¼ûÎk˜9ë6x}^¤gfF ©±`SN± eC —;wÿø“p‚q8Ò0uj îßñÆ"ðšA ¥9$éSŸ£­í:xà›ÈÍÍÇÕ«—ðû7~‹-[¶sJn†$TÞyV‹,Žvÿõëg044€½i¯ƒ!ñWÿoÄr^>CM0¿T!¶ ˜2eªªj°pÑr\¿ÞŒ•+7(¤âæc€þþ^´´4Ãëñ ¬| |~_¬3'ÃÊ•ÐÛÓ…W~÷/¹{ß݃U«7¢¸¤LÓ"ÝWÈ+ÊEM:CΟoÂ/þí§ ³ð¹]ãHKsÂéÈI¹å-V4.3ò]Ä`öìùø³ïþ-zñÀWÅøøZ®_ü“Ò#ÌÂÐÒr¿þÕ?ãêÕKÈÍÍGQQ)Ö®»sÂ0@FF&î¿ÿa¼ð³øù¿ý÷ïx«WoÂøøXÄ=Ê´x0˜—ŠFJˆ†04<€ññ1ÀE‹W ®~&XR)NRÞ¤'äææcö¬yadŸ‘l Á`GÀ… gáóy …08Ø+W.Âf³ 3æ$Ê!z¿öŽèëëA]ÝL´Þ¸†±±Qdgçâî»w%ƒiŠ%Ò¼y‹±zÍ&ÂÀéLÇÜy‹°ã¯„€?Ÿ)×ɉÔM´; ’˜, „0È/(‚Í&<\}Ú´ZÌš5OPH¶®^½ˆW_y«×l·ŸøKäææã•WžÇØØ(,kR0$ì ù‹ïAÊR¤¥§ã±oÿ9æÎ[ˆÌ¬l,Z¼"’¥PQ Id]¡ÑQ"ÁÀ›„VÑ| H†a°fÍÄÇ¿×ø8¦OŸ‰ûïååSÀ­I"†¨’45ÆÚuwbåÊ °X¬¸oûCxï½710Ћ¬HÏ, +Vxù%²»# Îb PG¦wnºWX¸£ÂJ!ÒôXͤëÃ{^YY%xà€¬ìlüÑãO)` IÁGy<ò¸9$É`ÇŽ¯ ÞËÈÌÄŽ˜ŠÁ4Å¢,…Û=ŽÑ±ðCñè¯ðv"†_¯ã"(Æ }>¯Oólé†É…Á4År8èéí ïàˆ<˜ …87]~ „hä4Έ‹ˆšÝðŠÞ¤4ÏòM­š–Âð% ëšåÈmmœCª¥šÞvô‰”MŠÖæfs³ÂTKµ¤”R-ÕRŠ•j)ÅJµ”b¥Zª¥+ÕRŠ•j_Ò–"^KaH¯¥0LN ¦)Öd'=Ka˜X ¦)V¼d_Ez–Â0ÁÌ޵ȾÀçóâÌ™ãÜ{zÌÄÀ§ãIaH†„ËÙ—ßïÇ™3' áñ¸áóùyMÊL'fb#Ka0ƒi®PÙWÔZuv¶¡1²Ëãq㡇þfÍž—TÒ35±‰"^ûï„Á¼K`€¥d_”×®^À«¯¾€ææóèïï˲(** oâÖ†'‰ôL…plˆ×þ[b0C±dȾø„MgÐØx ÎôtÔÕ5`×ß@Qa1ª«§ Xg¤£$1Â1>>Ux«{ôÙ) &a0Ób)“},Z´ 5ÕÓQT\‚W^yýý½8ùŧ¸o»õõ³e〉 ãÿ¤0˜‹ÁÅ¢,Õv›ÍŽæ+ðë_ÿ3:;Ûpèà~8¸ãŽ»e‰"‹2öÜ âµ?d ¦(V”û@ŽÅ$?}öéÇØóÚn8äçbóæûP7½uÓg*(ÖDŽIE:…!1 æY, ²/ ÌQõ½ïý=róòqôÈÜ¿ãaØlvŽÿòVŽEÍÿ­$=ûƒÃ`zVH ¡Ï‰þ®¯ŸBÜnìv{˜å…— *Ž‹pLƒÚ ) IÀ`Šbé$ûŠÒDŠiµŠyfb0"ì†81˜ZnP!óûý…Ï&ňf&rŒ(’¨!¤g’à4…ÁT ¦e…TYËûû{ðúžqõê%† ²bj,ƒ$˜PÒ³XÑ7:SLDŽʻ0m½y³Ïþü'¸pá,G{]PPñ:!ó̯<á_€Z&?…a2¹BHɾ(¥¸zõ"Oqæ8#3 Ë—­üÓDŽÉMSBR’ˆÁD‹%  !(È/B~~!ÆÇGQXTŠ»¶íÄòk%š/GZ/ âÀ $T¹b` C20˜¦X‘0}Ælü??ø)¼²srQRR«ÕÆi¾x1™üJ ƒò=I Ã`HX±äȾl6¦U×IøÛ'ŠôŒ˜¦0L,†„K‹ôLHÄ$Ž-'‚p,…a"1˜¦X)±†¤(VŠp,…AÓ5§ˆ×R-Ñ–"^Kµ k)ÅJµ”b¥ZJ±R-¥X©–j)ÅJµ”b¥Úç&[ }óë°4À*˜gïG“ÿa"Ë‘ÃûŒ,Qª†‰œfGQªèÞºx‹Å‚þþ~x<.ø¾Èçß[c¦!ú1˲ᬼCNuµS ¥V ƒìì|8öI#—ÁÁ¾Iƒ¾}Šåõz1îCFFlV›`Wç¬øu47[@ B `@(#¬êáÔh”ì‹D”Áï÷Ãáp€eChk»óM§1>6Ê­¡W[(D¢“¬Ñ{Ó0é…Æ‰½üpk•±  ¨Ë—­AAAᤑËdê£4½Ëçóatt ™9°Ù„ ù ÅÄ]ѿÿ$Ì Ç]Í[¦A …86¹ËÂf³€`ll¿?2{MÅŠ)IlŠ‚c°ÓÐ+±!øƒPÂÂíq#sÉe2õQš]§b…×G³€èë([œPó &:öEÞû±kÅ\|9ñ’ðfI»- 5µ ¨«› ›-Þ•>Q:D¢=±J)Â`Ü5†óÏÁãq#¼Ùs2Ée2aÑ©X|-ØÙ±u=üí^1åŒÆ9 #¼V¼&Hi£$‰ç˜øGIÙüš/_ÀØè(Kå(og1÷uˆirio¿ŸÏ‹@À‡óçÏbdd1"Ê­5W—‹:–‘‘!ìßÿ{47_€×ë‘á½’ï#¾ÌõcIb¹A8ÿá¡P}}=8vì~³ûW8}ê8|~/7jb_B…¦ðF`œ8ý~¾8q ƒƒýz¨©r¹rå"~ôÃïãí·^…Ë5ŽOŽ~„¾¾ÙÁ¤[.2Íãñàøñ£x÷Ý=8wö ŒŽƒeCª}$O«ÒÐ V•Ýâ­EÒÍ’@ àGWWŽþ‡>~7;ÛQ]]‡P(!öâI¢qÒ<ÑpxͲ`ãå}JP.”eñÙg‡qåÊlºãnP#7Í Ý˜Œ\4°PÊbp ç›N£ëf;Ö­ÛŒ¥KW¡¤´LpÈx´bÏ.SÖ…EŒ%÷‘žü®ÛHVÉ®\¹ˆ¾‹'>AOOW$è Eˆ½XÑ(ŠŸ‚Rýý}ÜÈd……Å ÄÃlD.E__K4X¾ví2ÞüýË(..òe«Ãõ$ðGT9¨ŒÕ2¯ ¥,\®q47_ÀØø(†G†°aÃV—!--MbQ#Ñ–(^ÓÆ¢[±„6ÊŽH¡FK•* bhhçÏŸÁ{ÑØx ãcc ” ïÚpC¤Ä•ä¿ìêê@këu¼¾ç7()-twwbÇŽG0mjÊÊ+V,½r¹y³7n\Ã+¿û/”•W‚€àòåóBNN.žzêi”””ÁívE‰Æ$\cŠ!Fä:-,ü×>Ÿm­×ñîÈkho¿·aÖ¬yÈÎÎñ»ó­•~,ú]¡Bl!¿ù1š‘Ä$ ¢££Ç>9ˆcÇ¡¥å*¿çX’’ÈÊËXô(Õ³?ÿ ‹qçæ{±nÝfBpèÐ{8ùŧx÷×ð'ßùkTTT™ª\rréìlÃÏ~ö#•`Û¶Ø!šûë¿ú6ºº:PS3…E%B¢PUnu%¹haá¿Ç²,püó#ÀÚµ=X¼xJKÊa³Û¹¾ä?ÞÝŠ¥dÿùJèƒÃÍíGkë59ü!Ž9€¡¡ƒ2)tÄ„és sK>‹ÖÖë(,,Æ7}99yÜg7Þ…%KVâ…žÅWQn‚ÕR“ ¥!´Þ¸†¢Â<öØŸ#/¯¡Po¾ù;tv¶bΜ(+¯ÄÕ«—PYQ%¡ÆV*¯iÊE‹œEÜnÎ7ÁøØ(††°jÕLZ‡#MÀº7]ŠE©Œ2ñ©r”‚ÑxjttgÏžÄáßÃÅ‹”h>§<ȳêcìíïïÃë{~ƒ;7ß+PªhËÎÎÅìÙ ðû7~‹ººddd™‘ËÊ¥¿¿¯¼ú<¶n¹¹¹y(Ž~¿}ñW¨®žŽïýÕßãÂù³øÝËÿ…3f!++‡c± ”ˆprQì#å 5 àÆ«Â@/V¯Þ„†™s•Æb‰ ú8°²X*®0¬Ý~¿­øâÄ19ò!ÚÛoÀ¡ÝVúr”Òp†q…ÒôW&– ¡¤´ëÖmV¼fÍšM8sús„B¡¤ÌäGå …PZRŽ ·‚R`ll§OGmm=þì»ßGii%Š‹Ëpâ‹cƒ±ìNP'R‘—¹úHåšP(„þþ><¸­X·~ –,¹%Åe°FÎåI‹UŸ¥§¼j,ŸU7Ç––«8|øœ<ù)zº»tÝl$í—›ˆ¦ßF2Cõi¢E§”Ê%j=ÜîqüǯÿîÇŸ}÷£ªªZÐ\ç@8ÀÔe¦–бèQ@ÀãqãÂ…sìÇðЖ¯X‹ªªj¤¥9 aÑYn 2¹†tt  ©é4>ùä#œ;ûE8ËzlÄÍ?ÈÆXQRU½ŠÅ0 º»;qèÐ{ظñ.ÙkŽý­á% )•º\Æ‚®®N|ôÑ^´Þ¸†#G>ÄÊU°té*®#Úö¶–ð¾>ŽñÕdÖËE ‹ž2ß5vt´bÿþߣ««kÖÞ‰Y³nCVV¶¤T£·¬ªC“Wmåø`0ˆîîN=ò!Nžü7iØ» IDATZ¯Áçõj*•`T‹ë2 •`-;SXXŒ;ÁÉ/>Å’%+‘+ø|llçÏŸÅöí¡¸¸4rLZ‚&KA.……Eصëë8~ü(:;[QVV‰ÇÿŸ¦‘‘a4ž;‰]»¾Ž’’2¸\ãܽ”‚w%¹haA,Bz{»qìØ!ôõõ¢ÝX¾| òó e,25wJ'z“P(„¶¶|òÉG¸~½™S*ÃUlÑaA½.Á´©uèîîÄ /<‹ƒ÷# " áãßÃîÝ¿DGû TWO7­Pª$BTM­AWW._¾‹Å‡# Á`ìÅýçÏÐÖÖ‚êš\‰†B~š$^¹;Úx‘ÙåÇ¥K8|øܸq €?.,VÝKxÀ- JJÊ1sæmðù|èïïA04 Q„ÁªÅXü²†Z++¯ÄŸ|ç¯qãÆUüþßâÌéÏBÐÙÑŠíÛÂ}÷>ˆŠÊ©É(½K*Ò##Cðz=عëk8{æ~ö¯?AGû ìÜù5Ü¿ãTVNv—‚7ÅBUå¢%¾f·;P^1õõs““ J‰fÏ ‰r\SY9›·lGaa >ûì0ÚÚ®Ãï÷åJgµ&@uÝU(/¯D]]—ýY,—šo© õööàÙgÿóæ-Æ®]ßÀæÍ÷qX¬V+JKË9,±9?ªY ••‹‡µJKsbFýl¬Zµ‹¯DQQ ,F»Œ—hl™.f^6› S§Ö";;…EÅ8zäÎ;)P.Õ‘#©a‰ë0ƹ™aPRRŽä7y¹Œ”bîÜ…HOÏ@zz†ÈâÉdsÌr+ÅXZrQî##t^^æÏ_ŠU«6¢aæ\dgçÈžÂ*…,7ˆ¾ƒxº€aaÙÒÕ(,(FqqNú }}ÝŠ5#aðYàBe3ï„'~-2S,â_p£.—@ €Ó§>ÇW¿ú–.]«ƒ`,™NŠ”x7Tf¢–—‹ž>R ìvJJËqûŠuXqû:TVNåJ JS:zúÈOljGazF&êæ";'ùù…øì³¹ÅlŠ–‹Ê³ò –oƒƒ}xÿý·1þÔ×ÏáÎäèÅ‘#0kÖ¼¤Ø0«Õ‚+Ö¢¤´‚ûÎ}xÿ½71ÁR44Ü‹%Œ¥¯¯GˆYsæ+NÁÈu¨þi.ªËb¥§gbúŒ™X±|-.^¢ÂX­VS°0ê®J?e”"²²r*6l܆»ïy·Í[Œ¬¬D×`É®9Øáp‚!o½ù2š/ŸL¾öcÏk»qñâ9„BÁ„½ œ\aPV>EP+s8Ò@Á›¿ —/7" a` ¯¾ú<Î_8ƒP0ª#R”‹>â¯cg¹¹ùXºtvìx+WmDIq,KüXµXræ”ïóó ±dÉ*– /¯§O}†Á~°×(\nLe•4‘23³°uÛ¼ýÖ+xýõß`ÍÚ;ÑÔtCCرã”—OÁ©SŸ'/úâÉ%Œe'Þ~ëwØóÚn¬]·M§088€»¾ŽŠŠ*œ<ù©¬”²ÎxäÂW*‹ÅŠŠŠ)X¾b–,Y‰iÓê`³Ù]êM¨^E§qZ,µ6¹›§§g`úô™Øºu¶l¹S«j`³ÙE刹ф™z£-;;ÛîÚ‰²²JüöÅ_áfg¶ouu3Á0جVS2E=rÉÉÉÅ]wïBiY%~³û—èèhÅöûÂôé3Á0 ¬V[lJ'Ék_Bàtf ¡a¶mÛ‰õë·pJÅã&žjoÕkÿÕ2±õ"„ÀáHCUU5rsóPVV‰îÃ¥‹p¹Æt”!ôœó¢Þ‚Á ÆÆFÀ²¡Èh6¢ô騼e;ÒÓ3MÉõÈ%†…Eˆ q§j9NlщE[.ÊX¢®oÞ¼ÅXµjfÎEzzº ô¡•5í#k¼f^Ï狹¹ùX´x22³PTT‚S'? /§QjË>ô¶>¼ñúo0:6ŠÇþè)\¾Ü„wÞ~Æ‚ú†Ù²ËkŒÖ¬ôÊe` {öìÆØèþøŸÂ¥KMxûíW`±XÐÐ0‡Ã¢/à6¸‡xII9–,Y‰Õkî@ii9ìv‡ªò˜…‰ÏPÛ¦d·§aæÌ¹Ø²e;6n¼ UU5°Û÷ŽÏ5öcÏžÝìÇ|‹¯À½÷>ˆÊÊixãqíêeC¾Ž¿&ߨ\¢IÃà@xà›XÄa™Š×÷¼ˆ+W.Çqoª;3LKKCmm=î¸ó^¬ß°UœÜÅS3ÆŽWÑÆbjð®6b³ÙQQQ… ·"/¿6«MöÐ }÷#Šj €Ã‘ÆÅT„0\ÌõÉÑ" Ùbÿ£^醮ņJr °;ؾýaÔM`ÉÉÅ]wíÂÑ£À0úM2J‹m³ÙP_?sæ.Duu²²r¸Ò‹RéŸŸÕÆ¢¸™‚ÿCÕ£ŒÈÿh?Ìb±¢  ›6Ý­+ëài¹/%}fii9}ôIÉûùù…¸çÞ¯èRxUE˜q…ònT.Å%¥²Xòò pÏ=_‰s0S]X ŠñÈ××íÎÁbH±0¢ˆÈ¹*B$1üªÛþb\ü‰Vþâ4á $œ=™þ`ã…Ö‰ BàÑ5RL„Ï`²Ée2aÑï £;hBA°¡ B”UM$#A†Ì8¡`ClxZ&ò cÕjbáóy5ãíçio•'`CAädçÀëu#¯N¹L²>Ò¥X ÃÀëõ §·»CºV‘WDc"48Q¿A2ÜCŒˆáEº,$Jö~ˆçØrrrAá¥ã ü~¿ì(1Vžˆ)–týRXä„„ºªª™ÈÈÈšTr™LXt+VZšNg:FGG$šâ§ÁŸ"  ¶½°» »/Âñ.ðb–[»G„è#’¥def¡¨¨‹YYÙ ¨®?^n1'„Ó‘Ž‚‚B¤¥g‚¡ìä‘ È¤Á¢[±livL«­Ád¡D ×ñì“Ëd‘KGW/fΚÇm®ÅÞ#"Þ,ég±Ï!sôw È" rämð´éS¬ÉDC˜Â"o>µÙlp8œ²Ó;üzQ ê1QŒ7åb¶³!½Ë—¢DœôX ¯¯CCƒ¨¯Ÿ­¹WÌ#?Ǩ?ÔðxÂIM4E‰øe gdYÃÃhn¾€ùó—p1!ÒU ònNÏká免wt´«.AšôT‘),òXø-JÛ$‡%VsR޹ø1–\¼%Vx!6Cs…É¡Šlo¿ë×›a&%bùq‹ÖDE µcbùÇÃŲ,ÚÛZ00ЇµkïDqqŒè–aTUÕàö•à÷yávkY›–@ €K—±jõFÌŸ·ï¼ó*Μ9ööxåwÏÁjµaÛÝ»–æœÝh U; \ÇH^jÿæm)…l|g¼ò®AC(7B£æ:bÜ5ǃ`À‹ÕŠ´4§æ!I© jK0Äõë͘2eÀíƒ×ëA0„Çí†Û=ެÌlÔÖÖæÀvc–èØ·ß¾3fÌìyí¤¥9‘››;¿†‚‚"\ºpVƒž ‘v®0ÆRŽÁÄ–illmm×0{öA9_·â–)¿v,rƒÜå+X àGËõ+hl<…––+èëëÛã‚Ãî@QqlV+jjë5P㔈±3‚¸v½/žÃÉ“ŸèGgg;Þ|óedfeúz»±pÑ ]{¼X¢Ä"‹V«ó,ÅÇ¿ŽŽV|óÑ'QTT«ÕŽôŒÌH¸fU¤þ€<ö{` |ð.fÍšÏe'z]aBs…Z#BàõzpàÀ»8p`/ÚÛ®#~yåÊE¤§g jjb:-VT£X€0 ~fF&§D,ËÂîp ¿ y¹ùÜHOÏP\Öb–0™I0@Þ}wª¦Ö`Ñâøä“——3fGx)lº™Ž•-åM!U.ñ&Úñ•ÜBÄ,–:%"˲8wî$^{õ *’v8œ›RO©ã£D´Z­˜1c¬V.\B.\8ƒžî›X·n3¦L©F(ÄGö¢²r*¬VK±XPVZcŸÄ… gA?üGÈÊÊÁ{i·ÞúæÎY›Ý®È`KÌ}Ée‡ÚYŸøZáJÆ_sfÚ!Mr7ŠîoåöÚ ÷´1(((ÆwÜÙ³ÈNQ¨/»Õ‡Åb±¢ºz:º»:0>> «Õ «ÕÆ‘ÈZ­ácß(( ‹$®ña±Zm˜>cNŸþc㣸÷ÞQTT §3›6Ý)•ÓpâÄ'˜:µ™™Ù: eõ’ÜRY¯ °Ëír;ˆ´ŠzqÅXâàÝb±`îÜ…¸ãŽ{pæÌ ôõõ€F4JJÊ1cÆl,X°so[¤yÀ¢Üþ;#XŠ‹KQW×€cŸDÃ̹ÜéU^¯MMgÐrý æÌ]€Üˆ[L.–2ìÜùu46žDcãItuu€!}}=ÈÉÍÇ<ŠY³nÓE!$ÅB5–ÉÈ-)–w“Òcg à aBVh0x/-­Àƒ_} 7Ý ÛqMYÈËËGFF–&5£ž¸F ‹ÕjÃŒú9Hs¦£ùòy47_ÀÀ@/>üà]LŸ1‹¯@)ïôˆdbaS§Õ";'}½Ý@e1¥ªE…%(*.•…?¹yBh,!¢M-ÂÏcÓ8e†Úu,S©"³³sƒD›JD9,6› µµõ¨­­ÇÖm;n)Bòó ûÍÀ"vIüÚʾEŠ–Ä»®åvþîï8-VŠñËIÏ(?-G邨RÀ®ì d…)JÄÉEpFÕ•i½æ+Œ\A”¯ÌâLÐwŠñËBÏ(OsSy·ž¥ð!FêyJÁ»0¶â»`­¸pòSEN"JÄÉ„ÅR«e‰]¡x•Áùóçpñâ9<ôÐc¼8+fñä­–Ü¥‹5Ù¨"SX¤Xn´ßÔˆ­„Y?¾òz]8vì#´¶¶`íÚ;e-–’TË5+EÏ8ù±È[ ñ´Ž|Ü50Ѓ÷c|| W®\DUU5„뼔ݠtê‹•¢gürPEjÕ´ä”+ à¹çþ .×8àÅÿ=ö]™i!57÷\aŠžñË@)í3"¨eÅ⥘²\ºt--W¸{ôövãÔ©Ï ±2KjµôºBF©þ"G‰(?2¨â¥/£€OÈ=Á=ºLX¼Ç.……êÚ{(ßñâ‚*Ň¾®®žwòâ­·^ˆDA<ÍBô¹º+L*Udooºº:D-Q"šMÏèõºqõê%ŒÞr,BÎ+£Xä'ŸÅeþ3›šÎàìÙ“’:TIIvìxDRÕ—*¨˜€³X‰ .öº£½7n\‹Œù%·BJ!˜r”¯–èýºº:ñÌÏ~Œ«W.Ýr,jK‘ãÇ"·g3üþŒ3#ký…Íáp ´´Bfù±ÔZ Øè™Ð2”ˆJSÚºݒΧÞ (fêY“Š=c·gäÙÉ¥ŠDxŤø0$C”ˆ&ÓVRç§azFås…qÊf*˜R§›ciÝW/U¤Ð„³Ÿ”¥ÖI‰REJã›ØºqaV8ñX¢=œˆ\¨f}‰è¶>Êá’²%L ’U$Ä#Te´˜KÉý‰xí–".zÆx°\¾Ô„>,]¶ 6›]tdœr¡zvF›©dzz¹Bîße(•æÇijù7o¶ãäÉO1:6ÙÁ@ßHYë {8e"Xz{ºpâÄ'ðxÜ2ÉÇrõê%<óÌÿÅ?ÿó?àÝw^C à/#ÄLña1àu+„Ü2¥]צïâ)ÿ7à÷{qäð‡xoÿïQV6ùù…˜?‰î¹'#ôŒjXÜn7xŸ~ééÓžÀÙ,,ù¹y˜3½½]mxùåÿħŸÆmó!à÷ch¨y°Ú ÉEjI»že4>ÓÐ3jÔ(å}¸øwýZ3ù.×8\®1nãJDÙÂaX(eqùr#Î;‰Ì¬lûä#Œ óN!›,9y…¸ïž˜Z^ ׋¾>?~/žÅÿ¿o£éÌ{ñc‰?„7dÅâiq¯ •?ÕÂãváÀG{ÑÞ֛͆åË× ®n–à”+5(ùcjcé÷ö¿‰¥KWáßøtv¶áܹ“‘M‡…‚üŠÌm˜!ŒŽŽ¡«» UÅùù9°eLKãJFãüÿ8]¡ªÈ¨µ:á,Ž~”RTUÕ`Ýú-°Ù¬‚í窉hôŒQ,>Ÿî‡ÕfêU‘›—¹·-ÂÑ#°eëý‚"g²±ÃääÛ‘‘‡•ëv`Þ¬:dú‘—W†ÂòÙ&Ñ Â ú'ˆ*2*˜¡¡AìÝ»##CHKsbóæí(/¯’Œ`í=#ÞêÞØx —/7a×ί#¿ „0X½ú\¹rG|ˆ`(ª›©/~,Ñï=0Ð M}˜>g9¶ß·ÅyÙ’k—‹~¥OÔ™î µÌð¹³_àúµfÀìÙó1ÁîÌi d>=#ôöváÀ‡ï¢jJ5²sò00Їþþ„B!ÌœyΜ9žž® Ámo¼ñ[4ÝèÄšÕ›P”›¥zD±(exÝL¡ŠŒ¶)UÕXµz.]<‡õë·¢°°DµF£6Êã¡g 8qü(nܸ ¯Ïƒ={v ®õy½áTŸeyk¼“ƒ…ß–.[iÕÓ±lþ|Þ}Ibr!0¬d‰¹HcÓ<¦ò¼×ÔÌ@qq)úûzQ\RÆ+êé5‰Ð3Z,,Z|;GدòL™2-éT‘Ñ6oÞE7“L¹Qsb2 ÅŠ—*/ ËÌÌNðËÇGÏBPV^‰òò)&ŽÈ©"A’‚Åìf¶Â¥¨"ÿÀ¨"ib^-åøŒòx+Œ¸Â=ãäÇ»‡ÏçEWW‡2·–ˆ9P®œ%*QW<† o&|Š™ÅjÓ¯X)zÆÉ%ú_@ÃÃèîŒ‚ÒÒ ÔÔÌð¡ª*VŠ*ròcñXäæÀëõ‚•›./öÄläaõŠúž€ááAdeåèW¬UääÇÒÑÕ‹¼¬<”””Ä,‡%fíwO¢øYìsÈ\'ý²ƒ‘_Ò°(ÅWÚ¼Zò1™p3ˆÁÊ»˜QJÉ,ÜÞÄ„Ÿ‡ù ¢¬3ò' óN4éÁD¶×‹9n–²ŃEm–’wvŽž:Òk¥Ì71<ú,¶UŸÑzQ)ŒP)$å(rä–ßšœ=n¤½%X(¨q,òÖ‡h*޼") ñÒB áÇ„º'¡Å³ôbቧ!ä·“ó%¢’~)*­ë g4ŽEL,ËÞR,à„Á¢/&"º•Lþ´0þÿQÉQtj–3©T‘RzFzË襩T‘B !®Í(»ÍdRErÁ»€ûÖbG™8å8K¯R‰vá!šÑ£}ãv…æÒ3Fbƒ ›VK&U$¿“Xx& 5ŽE9S;pܸRI)»Ü`.=#x»•ôŒ‚˜…e5:i‚°°TpüŠ^,Ò4‚ÿÊ£_©ø‹-­ûÒv…&Ò3²”åîu«èÅ;…rð>‘X(Ô e,D#ÔŽ·ô*•ZŒ¥%©T‘±Ê;QáÑ3 PLï'‹€aP?õ“)äJòŠ$T5‹%ޱhÁ{2è¹){K©"£î'–a±· O.†°È¢¤W))‘?µ,ÿ¨¹øëX¦Ñ3ÆÜÏDÓ3"RV`‹ P “ºÉ¤­Œb£@üX \k’NÇħTüCÆÅSNqî„NŒ*R0¢;‡o¢¨"YɈ¾w‰IDAT–Eggz1wîBX£[•hŒ*RÍ5›M[©¨,, ‹´žDtÏûñ]›^7(WSRrS¨")¥\º,¬´‡ÂïߪH–eqùR|^¯G´–iâi+eŸe*U$•œ€[(QýPé3áoá¸4æ4»AŽq` ï¿÷&æ/XІ†Û`±„õµ¯¯GˆYsæóbäÓ3Ê}iN DXÑâYOK(„Ëåâ&—%àr Î$4†…ꘖQ ä” ë WÞ5(ùBt8Ò@Á›¿ ä~‚úú9Ä«¯>>Ô7Ìæ¸ÍõtŽDȰI9ÄOå•d,”RtÝìÀk{vãfg»G­ÕjƒÍfÃÂE+Œc!ÒÎÆXÊ1˜š2õõu!ð£¢bª nSZ¢°¦.A‹%×™™Yغm'Þ~ëwØóÚn¬]·M§088€»¾ŽŠŠ*œ<ù©€[]ý¾ÆVIò×(Ýh¹†›]í\'47_@OÏM;viiNW¯^ÂÂ…ËuËñb!„ ¸¤ ,CSã)ô÷÷ ó"€3g̓3Íiý¹ô7¥,.]jÄÈÈH„X…ðx"3—dªÈœœ\Üu÷.¼þú‹øÍî_¢°°?òǘ>}&¼^¬V·ôC5M€ž1 ¡½½gΜÇv”¢§û&†‡qêÔç°E‚÷@ÀÌŒLÙ Ò,,”RØív,]¶}}=xóÍ—1::cSÎ/Â}Û¿Šòò)ðz<‘]?ú±(/!&q)·ü‘åÏYJ•JREƒAŒ€eY„"A;¥áM[¶lGzz¦®/=£ÅbÅâ%+1gîÂð6©PÇ>=„K—šððÄôô îÚŒŒ¬ÈÉíÉÁý‡# ›·l‡Ë5†}ûÞ€ÇãFFfîº{'.\ÉTi,cKl[¾\v¨§NE»oä&Óc 4”W“3iuƒÒHèÞ=»16:‚?þã§péRÞ~ûX,44ÌANNžfýŠÅ‹ÅéL‡Ó™ÎY°ôô 8äææsl+esfc‰)q&îºû öã³ÏcÅŠuX¿~+Ž´$`BÀ®®dü ±×âø T+ê™B98Ø=¯íÆà@xà›˜Q? 3fÌÆ[oÿ¯ïy|åQ̘1Óp¼”=£Òœgt¤% ˲hi¹Â¹?P ¦¶ƒý¨š2-ÌÕÙ ]S[œœ\ƒX´–“S29åº<ñZ3¾+„|M/YÁ{ €ÝáÀöí£núL ;'wݵ Gˆ¸¨/6‹žQ¥:7!´•€ûö½ŽóMg“ðe èêêàܰ…±àO¾óט3g>aÀ"7Oå/Òéñ¥´Ô€øëXF)‹KJñè£OJ>ËË+À=÷|%ÎÎIœžÑb±`ÃÆmذq@ƱØ<ù§ÿ+iT‘JçÛh­\àצøÓ5Ñ×ÂìSÉÆi±RôŒ_^ªH­Éh±ÅâOíð+ûú]¡‘¬0EÏ8ù±îÃÜ!ͽœ[T~- ÞÅ®P.4”¦è'?©åî Q[ÐÇ·RB‹%‡RÉn=Ó\)ªÈ/)H­–%v…âU DâÅ«&„K©‰B1Ö År( J§¢@dÚ%–[Ä>Çÿ›«…€[‰ B‹H¸— º‘kø×Ö5ÌS¥.ŸòÀD8¨dK-TV<«Â½æ­„8Ý܆YSò& Uäö›±•ЕI㫘%‹m®…ˆ”DêõfղЕå´Ãï÷#-Í©Pó!2é°r@ª¬œD–Â0¶'rKL‚Dx5•>‹…Ô xj,+ÂÑh±XÃtŒ6ˤ¢Š”·âiù¸+ Ï ^ºÔˆuë6£°°r«RåÜ tê‹ péÒ9TUÕ ?¿Ð`Ç®/>Õs® 1t/ƒ‰¼bzïõz#´˜tT‘Z5-9墔ÅÕ«ðüó?Gkë5 bûö‡¸s¤L7D¾âï\a @oo7 Š¬ŠœR(¿Öÿ›þñ3õ*´TˆÂ9@¯×ƒ‘‘Þ f“‹*R:oIµ,þô !áïÂ…sxé¥ÿ€ÍfG~~öî}>Ÿ>ø-Bº¦ÊP5!~ÅÒª—$¯)ó虪à»#–Jº²’IÙÉJ©\Ëâ[;W®œÇK/ýÅÅe¸ÿþGÐÙÙ†çŸÿ7|ôÑ^Øl6lßþ°Âf “‚w½‡‚«s©ñ5[Àͺ:;[át¦£¤¤Le®KÝ + #¯\T»$B)æxà+™¸º-Ä%\è§ÌH#äˆÞ7 âÒ¥&üö·¿BYY%vîü:ÊÊ*P^^ B€Ý»‰÷ß ~¿••Ó8×/´~r24*’èaÉÕHÄë°•ÖQ øý>;vçÏŸÑ\“­µ†\ú¹Ø2È 39T‘j㣊”á7ð Ϣ¯¯K–¬Bqq«ÕŠ… —ãßxùù…øè£}8xp?|>¯ƒøPMíƒ9½¦Õœ¹.5PTCYוŒ—{@ל‚I•TQL©¤HÒƒÂÅŸCQqX–¿à.Æ0C©6wƒœ…ÇãFooöí{--Í\½Ìf³ã¶ÛcåÊ ‘¬Ó'SHÄç õÍ¢«1Ä)ÏS%âù"ž•×ë •:@9m_KUd$Ú’É⤓Ïâ­þrÛ¿ä\XCÃ\<øàÿÀK/ý gÏž@ñè£ObêÔZ„BáÒÙ3DZté*¬_¿……Å2ec¸ÕˆµÑ?µ%­îªÞz”ŒŠ8©äö»©-ïˆGÁÊF‘$ÚJ"²âz©"©fù'ú «Õ‚¥Ko‡ÍfÅ /üçÎÂsÏýzè022„W_}eeSðàƒßBYY%·[Ìñe$¹³Æ— ê³ZJÁ¥òö$¨®n»JùõØz‚KjÈziÑD¨"¥[îõQER~ðV« ,ƒßïÇË/ÿ'Î;‰±±Qøý~TVVá«_ýÊ˧på#IœI®0~«¥mÁ”¬$»œR 3*½D^Á$®0i´•RN+9ESEÊm®—ÄßÍjµbùò5°Ùlؽû¸~½«Vmƒ>в²)¼{R­¡¤)cƒkÞÅk‚´¬–âTíUŽÒ€º+Ô*ª‘ä ]!UÓ"S¨"c‚¢Ð´0ÚËåŒa,X¸p?ššNcÛ¶œ¥ËE8‹j¸#¼o€PÑäV9*e—j{|fœjÖº Ã¡Š”‡Õ³Lþçâ ¼vm1Ü,n¿}V®Ü ©ˆñ6«Qÿi$ˆ—ºAõû©­r4¶[o–¡7Ö‚/UâT‘FjdrT‘òœZRB9·¦~m¼ó® ÄXz]¢r¼ete£1®Òš!£CMŸ‚%‹¶’?GÕ{³º§v´ŒRÙä¨%GjFKÿ*Zñ–š[T{-¤¥ ed5…‘XKo%Hérƒa¤§gˆ\(ŒShêè#%g£z2=ñɦ[,5«¥œj•$Ô²H bSrnP~ÂTF-3Ô7¨®\>|CCذq*+§ªîÆŽ‡¶2> ¦Ïíy6£ÿZk°¨fl&+QÉ”ø3ŸÏƒ÷áôéÏ#qdæÔ ;§¦þ#?u!œ/¤Âùƒs‚Ñß,ËâêÕKxë­ßáÝw÷àúµË¢©–£$Oé°BÆf.M ªV¶6Tæ'þ–ðy…ÚÊE5”K[ÙZ[¯âw^Õ+—àñ¸@iHs>KY0ò×ÊÍ!òG2Õ1¸Õ&œÇÆFqàÀ»èîîDm]=¦Ï˜±Êbå‘*”ìæwÓ§`ê:ª$SÓHA´ý¸Þ`ÞH ¸ÝnìÛ÷ºº:P]=3fÌÀˆ2/%Hr‰Ê zƨ")eqöì |zìã0åÓÖû#+6©Š›‚B­,ä߉è6Ú1ª>™&4 Ï”’rÉ;Y46žÂ_| «Õ†Õ«7aÚ´:È/›5#x—¯,‹©¼å¨"Õ”«¯¯¼ÿ|>V¯¾sæ,àщg”•K›*R±4ž8*áÍñÔ­äÈTå ŠÕyñ{½½ÝøðÃw044€yóaíÚ;`±X$ŠÈ™ñ…jA<á(³õðü¿CÁ >þø=\¾|¥¥•ذq²²r8ÚJ¢›pª<ùúúI¿‚©kš˜êq‰JJ£l©øï…Bœ9s§OGvv¶nÝÜÜ|‰rŠqåñÐkµ  ÐV¶¶^ǧÇ! bÅŠµhh˜+HhÄJ›hànv4)åµj®åR²hÝÝ7±wïðzÝØ´iæÎ]Ù›§®DÆÊ êÙ.Ÿ„# é.=DëV.×8Žù--WQ[[ïâv÷p²#‘=ƒºîËç 5K¤V?QùéV,ck±´•+æ¯åßü8th?Z[¯¡²rÖ¬Ù!MSÉÔÿ¤©ºPç¯W’ ˆpõêE9r‡wn¾…EÅò]*† Àjä{’LkfbV¨F—hÔ-*Y©èûçÏŸÁ‘#Âf³aÍš;PS3]Áuš_Í ¥ET¹Nf³ƒƒýX½z#,X‹Å*[šÐ£8Ú´•‰ód’°+4G¹Ä–fll îGoonÃêÕ#ûú¨é–Jo`ªç&±r¸Ý.P–¢rÊT¬]»yyºî¡n±hÜ߉$'”2G±ÔG唎çhiiFSÓi¤¥¥cóæ{QZZ©°ÜœåÚÅAýc—¼ã±Ç¾‹¾þÔÔÔË,Q&†:\²/1Î$Ål‹++$&¡Ðc–£§L™†;î¸ÃÃX°`™ìŠLu eNð)šõטõ**.EQq©ês“I[iD̉ɒ¦XÆh”»67·>ø-ÕëÔG5Yà¼ÉnÄO[iŽR$>‡7Q gM€vÇÿÕvmòÖ‰íñ4nóo¹Ì—*2ÑïÌžÚ„uŒ·BbÊàô÷÷Âçû‚ûØb±Æ­Ááÿ%q~á0'T"Å›Ø=ô[·Û…œœ<”””qý9Ù¨" !ðù¼èêêPæÖ1Ê æ(Q‰º .‰` †Åj‹0ª(–ÍnÇÈð0†Ë5Žöö°lHÁ\Ò„¶'¶ô#~— Ì‘.mYY9˜3gA„…erQhFÿ+`xxÝÝ–ñBPZZšš`AšÓ ›Õª¬Xù……¸ÞÜ ÆbÅí+7”Jn„E­45]D&¦¥X2>iöÄI´Bvi$¤|ö²¼[°X¬‘£Zú'…¦/À"7·^¯¬ÂêP!5dC!ÍåД²ªý:<<ˆ¬¬dfgÙž®¬X¹yyðûý¨²Œ!à²Z¦:Þå\ñ³¶Ä—ù%Ú\¸sa ´`*&Os ¦¢æ–<™0 iiHÏÌDzf&l¢0Ã*î®ââbx³³ ENFèÊZª}išÍj…#- › Á`PY±Î<™’Vª™Ò˜”R-¥X©ö¥iÿ?jmìÁ-IEND®B`‚nted-1.10.18/doc/docimages/stafflayout.png0000664001041000007640000006276711520267216015327 00000000000000‰PNG  IHDRÞ7J9hsRGB®Îé pHYsÄÄ•+tIMEØ3yûtEXtCommentCreated with GIMPW IDATxÚì]w`EŸÝ½Þr¹ôž½7)"EEzQ¥Šˆ¢ XA@ib£XÀ†TéÕ!Jé½ç.å’ë½lûþ8 ©—»„òíï¯+ogß¼ùíÌ{ofg ’$ `Ê(jR @Q“EM (jR ¨ÙqÀԉע3Åj‚2<…LJšÊâ¸fŽ5qb¿~CV~wQƒRI«' ûöí{ꨉ)|öîÞ éfœÄù?m\»ÿr•"ç…¼¼¼#GŽ<]Ô$Ñâs;6ŸJ×nPxd— ®Êûé‡oîWš¨ö~²Ð™4AMBWüÛWt(«Çø%Ç®ÄþbŸ.MJHÌ,£úÍG E¯^½š’’òÿék’ªÂÔø¼b^pßw>|@°w¿±Ïtñq!5yÕÔ,飅Õj=qâÄ­[·þ/©IââÂâÊJ}ßgM€@€!òqgq‰ê­VІ„C)’$Ÿ²¯UÔ(œQ/¿èÁ€$j¶8@¸¾.|QÜhç:111//ï)¨KÇS“ ¥™à‡ ` 5ešÙ;¬ •ño_˜L¦½{÷ž?ž¢¦cã“ÛP€’o߯®±„FvïæN‘©#‚hhgAuÞ0G{¨¡Ç ƒZ­FQ”Íf·ÐkZtf˜¢¦ªŠËR—ÜÞ÷ë1Á9p,ß"«ªú?vÕjµ««+Fky°!Ú@½^o4u:]•c–5ƒA£Ñ8"¯R©¬VkU;µA0 w5QU*•ׯ_ß¹s'F[´h‘í‘… Èæ,ÿûÄr j Ștõ×UuöàOW³4œÀaÂÊk¤ $›|°5L]™„Y%UÞnt¨IÇË´/i_ Íw///ÿõ×_׬YÃápš•Äq<==] „††:uw“É$‘Hp?wîœ#z¢(j“?þ|«5JNNV(ŽH¶ª§F£IKK8p ­GkV’ÖæQC"‘0™ÌªªªÔÔÔž={Î;·Q4*?wênØÐ‘œØ-É5+páº/ÞŸÙq¦GÀÍòKß­;z—ÿͱ¡Ì'»×LKKûûï¿§OŸîêêÚRÔ,‘HÂÂÂfΜéTÉ:.!!¡[·n/¿ü²#òƒ!!!!22²Åæ«&“™••åˆd«())ÉÊÊš4i’O;÷šr¹\"‘Œ1ÂöA—–zî.þî<ë¿vÿ}ñŒ’äŒ^òáêÙ#EºSÏBæÍ½»=©pÁ¸¸°Óa:??ßÇÇÇÍÍ;$ǃaØÅÅ¥%£aÆb±ØlvËVmѤÓé,ËÁ i4ƒÁpðF‡F£9«R³àóù ƒÏçÛ)­aPlll=qÄ\.nã‡< Y­V…BÑù]ÑÓý¦«#KNûš•••îî R’555›7onF«&-ö⥻f°™ˆ*?v÷Wwº±¶ðNJeØ€A‡eK-À$Ëþñ«Í´Î3¢X,¾wïÞÌ™3[õ^ŒFcqqññãÇ322ìKVUU)•Ê;w¶”q#âÖ­[999%%%Nik±X222¤R)Š¢úÇéééÕÕÕŽtöYYYb±¸Ù†ÆÌÚšªªÊêµÞ ÑÙn^¾AÁn\FKE)Š´´´ï¾ûŽÏç?5ë{@ff&I’B¡°¾€»»û[o½Õ4£™siÏ¡½ef t@²Ü†Nœ÷Ê 7Çãr\Wòëöü?ØùÚˆqܯ7þ>§u³ô­ˆNŒÐ¯]»v÷îÝE‹µ˜¸­gîøøøI“&Mœ8ѾdzzúÕ«W.\ØÈŒõà ½^6cÆ gý݈ˆˆfš£…Ç©°°022Òù3gΔ••5•Ä4Eû·nºvþV±\oë ®çˆyëÿ\=—µ¡Ëd²×^{ía#ôúc÷Ý»wèôq ‚ M]OMÙÝ¿~ù­Di¢{ô^>Ûgßa‰VkŠÜhŽr“¨ÎL‹MÊgkvgêªÜrÀ¤I;¿úmý‹û¶%N$IÒd2!Âd:Ên>Ÿo«]«ÔÄqœN§óùüV½pAD"‘ä—ËåñxŽ:ôÿN§3™L‡ãà…,‹Åb9(Ïçóétz#ILSôãŽÏwý~E‡Õ3…¡ööñ³ÚoÞh!—¢R©X,–«««ûÒœmÚû÷ï÷íÛב úâÞ ¿Ý®Âiœ)‹>\³”uáç¥EåE¢'ÍQŸö½ärÒÛ—”s_θ‘Dú ß¼}u÷¶&L&ÓÖ­[CCC,XÐîýkgNâužæ„¥F"®Qê!–@e@›„¸ÖØ“¿ìø+º>/ÿåqx”'ý¡´rŽšjµZ©T¶Ú@j³Ï}s$ÞÏ÷™·ßšêë%‰rÑgWTšQ‚‹<²’ ©T*‰…z6i©åEw|÷Óå¤l¹Æ1x8DƒáÂ8fIÈ/ë— #–¼3×éDjVTTX­ÖVÂXñû÷²ªô€î>gݧcÙÚ›¹å^ò»ñ¾BßÕÃßχËpˆ£„®ø÷}ûc³¤Ãç¼ xçÇ»Þ]µ¤O€ s"_§)>‰góÉ&ÜýË˯®ÎRãõkOãùV Àÿ¿î‚™?‚ϦéMØ¿ô„è^]û-ýìëÕ³>¤-œ£¦R©´X,&SãwzjkkwìØñ NTŸŒN4€.t'r¯îÚq,A é2N-›wÆd»ûöèäëéÂa8ÖæžQ=ë²NÄÕ£?^mk&(33³¶¶Çq/ÉËË“Ëå»wïnä^7…Á`(--=}út~~~«O¸R©üþûïíDèwîÜÉÏϯ¬¬t6BÏÊÊ’Ëåv³›$fµ˜LÀA233e2Y#ƒ Zñ¥ÃG3U­D˜u_ïØáC gÜTW¾HÄ4˜Q‚laD(FÕŸ¾¹cGO¹\ž‘‘±ÿ~@ÐnºÙlÖëõ~wuu}õÕWë¾Þþóý2±f{¾úþæO_l©¼ÿËæÏΧiAVK  $eE©ñ7†ßûß\2¾;îÀFbòü;WRÑfsmëHa0²²²ÂÃÃëkk111ñññsçÎe±X­Fè±±±£F?~¼}ÉŒŒŒ‹/Μ9ÓN„^[[Û¥K—iÓ¦9¡§¥¥EDD4[A7W$îÞ¸á||©‰ HÁtÌõœ0éùò¸ñÒþO³KåMÈÂôæ¶÷ߘ‚Ô‹üT*ƒÁØ»wI$€`Ø¡ÕR¥¥¥‰dÚ´iÞÞÞíCM³Ùl6›U*UÓÀÐ××÷AЖ—¨&»_Ôô—Ÿ)w¸éçËY|\Qá=~ñ¬(V^Ò 72-–Š[·FtýåQ¡­†íFiú¾¾:^5ùíù¾m ƒôz=‡Ãqqq©§m+‰D4ÍÇǧUÛ6y-‰Z-¼ººÚV¦] ¸ºº:®§ Z­–Ëå ‚f.$¬ù7ÿÜôÞ'ç³jëeôÀ¬7rÊæ° >Rëå³û„·¶¯šàëZ?)!Øl¶ŸŸ¿séj£‘ÃáxyyÙ© s Žã‹¥ººð–»7CizÀÈÜáÁleî™ýgsÃfzlïº!LQØ‹ŸmÝñ㯇>›?”‡@*ñÝoü]«ÇZó7­×ßúÓ•, N½èÖ¤QP³JZ}ò=ß}÷ç‰KUrm³qQQ¸wú+Ùµ@g1˜ Ÿu˜9xÚ›Ÿ½=ÝËUÈçñx|Ð=xòÒMîýdhˆk›ñŽõ5mI¾ŠŠ ½^ßÒ³J‹ ˜ðê‚'ݾªî:ñ»ÏV?㚬‹Û­´{2br@PÏw?Y—žµðïiöÙ³)ëùò[^ñN¢•wÿöD1‰=ìâíN~ñêaÔpPOCMö¡ï·}óãé<ù/‹ã×ÍJFÃH-I8»ºñž)³÷ÌæÏ[Üȵg{D.Ýþ÷œUEy…ÌïÞÍßCíù9bçzM@Ãp+‹`&Ÿ FàÀ`}­14¬[x ]àæãîg®Í(Qã@‚ÐA3‡ô€!t…Rƒ½ddeÊ÷¿§M]2Ëï¡×Âuò+­i,ÝÿÉʶÿYŸ—€äÛMæ)ÙÂÀ¿Æ=‘{Ï)?~+ܽù ï°Á#ÇŒ> Уy^v(œ›¨´½3 ‘Ht:]#×!>>¾ÎS¾"o)ÉL‰W󫬬)N¼¯äèÁÖ©s.]ºÉŒà@°|] ¤)/-9žQÝü­qÓÍãû«½žéc›p`1)2㵌6ÖÖd2Éd²òòòzÚ¶‚üü|£Ñh[lÕjŒ¨V«óóó[(œÄ1 à AÅÅ%&“)99¹¥dÇ+++a¶«'Zpaߎ£7ÔMXˆ–œ¤øÚFÁ"É|õ½·¥?)¬Õ$€iìàþ/¬~o¾»¡$9¡¤mö$B"‘ØfhÍBÊd²ÔÔT‰DòPÔ¬{Ä‚ 555ƒ¡QR¦¼¼¼î«[Ô(ï'ÏÝH Lty6è¡;·SèÝE.&aÐeÝNìÅ ¡R©Ð@º›;¦,/oÖÝÄÅq‡¯Êz¼2ÈMš—f%f5T‰Ë¡¶N3ØÒ *•ª¾¶öQ[[kµZÅb1ƒÁh516ê7œ«³Ï>žX(5¡€„É7t‰„Ëå¶DMµZÍb±ìé‰in$媌MÒÝ®ÝçÌŸf¨(o:Ñý‡~ôå ‹ÅJ¡3è42+Ä劇I׫T*ƒÁà¸=mJ¥z½¾¢¢¢‘Úîkººº"b0***ú÷ï_÷»P(œ3g΃Fà•›p'¾@µù½î.d¤OÒ³ïsBenÅßœNsñyaÆlH{9å@B¾/.~m^wvsãÕõ•±ç¾;g¨»ÜšËB€…åÑwبP«-«ôzý­[·zôèQ_ÛVÝëK—.͘1ƒÃáØ—”Édÿý÷ˆ#^zé¥u ¬ÒÌKË¿ú56Gj´bäz <5Ò£ùy)E ÂÃÃíéI˜Ã᪔ìâÌJÝ¿ÅB4÷.}|øÕÇóG¹2;c !†a¥¥¥ÇíiCaaaffæäÉ“ýüüÚ- b0$IÖ½^ÔŒK2hùâWc>üóóݽ¾Y3»ÿ¤é( ††»Ñ°ÂÊ"µ™€ªãÿ¼žIr|fÌ{)ȵy/Òb@¢÷”'GŸK•¹ ÕFt’˜k÷"<^cuâÂ8»Î>fR—ÕhÌÀ4Yõa¤¶ôîÆwÞ?—^AÔwúI@t%=”3 ³úÌZõ#Û÷È…[¥Urœ!ð Š|aîk‡1áGo–‡¿Ð¹†aØ–¾/,,´+Çé?ûÝ÷oÆnØ»f‰²æëuKº¸ótˆ.Úíâ’ì„èèï?¾”+ï3þƒå³žá4ŸÕ„\£Æ¬Œcû’r޼ð×?¤{Ô¢7g‡uâ»AvbI̤L»~|çî?ÒÅRƒƒél¹¬¦\‹’à¿MIH<óÎåˉåD£ Z—Éïuuá=,3h‚!S–ô?W«3’“/°d½õc<xxxrssíôš„ãÿæößIÁG{lxæòÉY¯Í70’OÓ0è¸üÎáñƒ{>¿|û—ë—ó[±&iQÜOˆ½—‡³8À*½v9N8f ¯ÕiC³Õ$-5¿®{sýž³RsƒßJšûò ¤îa†¯8€`ÿÁ/ïÜðž‡Þ.ú19Ž½Æ¿>ãζÃwL8iˆŸò麕ý}i²–u°-%ÖjµŽëùH€ã¸^¯7›ÍÎê©P(L&“B¡°³2ÁijÚ^½Ðëõb±8,,Ìö£\.ÿá‡Zyþ=žó$HP™~úð•«NŸpµ0±m‹4J‹sÛfJ‹Å’][[kg6Ë¢«ÍÏÊ.©¬Õ-¡Öª•û÷ï¯oDUÝ:{ºÊØxõÄñ bß÷Ã~–$‰€‘Ëßé«Ó1s¸.‡Yw¶èv+Mž˜˜XTTTõxooBD|||MMMK­ß”JeNNÎÁƒí,ïø×—rk×®… H ÄÄÄ$i[pÔ§O/O9º”@è+-ä#€N§[¸pá®]»Z@Õù;–O ÷ä?$`„ãê+ÕÈYkÿ|w"½a´s}^X}PfÆ^OE7lØð×_‘7Pݼyóœ9sœ½°  `áÂ…vdœî5m©8 äR©ý¹&«A%Sh „åæéÁù¯Y¢ >q•‘ŒN[RLâ­ÖhAÃ[ÔÙªÈýþƒåŸºiÀêɸQ«/³¯úA Ý}ƧۋµÄѸÉ †À­Ëü5Ÿ¿ñÒ`wæÓˆ´Ùï¼½þkk¶ôŽãr¹Ü^W¯+Ú¿þó?®&Y8S®z{Þ`ñ½4 Ó+Mv5IuEVôùKWo'Šk5€),-+ìÖ£YúfÅüýË©[ xis¯{÷mœ«‚Øž=×ÿráíê²²JÄq é,âÒÛ·ÕŸzZ·5ë—bë5 ‚Ðh4v˜Ywäë_—kP ‹Ë4îAÁ+'u‡ÀQ£•WÄî„Î…Äk³/¿÷æª+©e*Óƒé¼cW¬Z \áÆÂ2Y¥Bßxr…éÕ{Åšµ>Í-y†º»Wwÿ®€BÀ鎋ËåÚ˜j÷5 Ò¢R›0[”@šdY—Òómƒ¿ªì~ \»øq:¬S B«ÕÊå²ÒäÓ+^]zäna}^ª²3r«åDÃô¾#_š>6‚^÷B ŸÈë¿ýiͬ4j÷äÇ?ydgKÈúíìÙ«»ˆÍª5€. ÷r¤)ÿÖ}#`öèHï°*Y,–¸¸¸Ò’üü›g¢s¥MØ^Â;'¢½{Ž9²Þ‹ gq÷~õzjv‰žätéÞwðÐáÃû…2(^>Ô4›Íà¿É츼îÓ–ÿaõá4 ~eõÖµ3†ÂZzìÛsbQÏ©Ë'ôê¸æf³Ù'N$Сg4©GÎÝnÔ5ú zå矿|®› Ã_ ^]Ì ë÷ A †!Š•ö€ ÈÊ•+í­+ïLjÚÞ EÄÓÓîîEˆhæÚÏ®g­ˆ–rMå ¿ý(sÁknž>Z@¸¿½öýaanm2Ž™1ÿ•„Œ}2þµÌøâ럮[ólwlDZ†„bs›Ç‚š¶hN§ûû·ò:ˆwÏÉ{ÿàìØ¸ùï ‡¯£ŒÐX¼€wvìZ3k ¯3|7Ø½ÛØ­¿]y=ë~Fn¹™îÕ«{xˆ§+—:Ûà©ÐI’d±Xݺu³ÿC0÷÷¤]GG,L¼QT‰³½{ Ü3Øé´ABxn>ýG½ØÕÐÿÔ¬©©DDDxyy9Ôw1ø=GLê9‚2u[§§ŽÓáôà–••˜>}úS³Åè㉧ۼµZAçêo0rrr¼¼¼FŽ QÑ+…}8ì~mÑOll¬\.?~|hh(e; Þ×´uf³ùŸþaxüøñír  í3 gffþóÏ?ݺu›0a5šSxŒ¨yâÄ‰ŠŠŠwÞyÇÙ­r)Pè@jÊd²¿þúkÖ¬Y'N¤ºL 51 ûá‡zôè±nÝ:Êˤð…Ab±8&&櫯¾êÒ¥ e2 Q¯éçç7bĈääd‹ÅB™¬s@Í9DM&“¹jÕª˜˜˜«W¯>Ý&{Œú j6ÈÁ²<<<–-[¶gÏgÏÿ¢@¡tÛlШQ£¢¢¢öìÙÓAKG)Ppšš¶w:9ÎÂ… “““333)ÃQx,¨Y‡îÝ»GEE:uÊjµR¶£ðQ0aÂ„ØØX©TJÙŽÂãEÍÈÈȪªª””Êv/jòx¾Ô„a˜N§£(Z^^NémCYYÙ'Ÿ|bïì¥ÇIII[·n}|©iK¿cæì¡³ꀢhmmí÷`Ûö~|©I„Åb!¢Ñ©VO‚¨©©izük»Ã°ªªª¦ÇSè@jÖ?Ã0ÛHô$ŽæF£qÓ¦M‡êˆÂÕjõòåËoݺE±ª]àôþš(Šêt:G5=ž0›Í(ŠvDÉ$IšÍfjÁ#ЭV«R©lm§¸§f³¹¦¦† øžjZ,µZ ÈÿÉËk ‹/n÷5ÔO"×;ùÈî¶ôš6jÚζzêa0Äbq»7 õê_ûSS£ÑFÖê&†ž²nµO“w¤vz§8Û!K4-00°NÑêêêuëÖÙn AP݉ÿ~¤Åd4˜,$3˜l‡…@-H6ü`+¿%-Ëýû÷Åb±Í]¶#I Ã$II¥ÒÏ?ÿœF£Á0L„­…ê°½K`0 :”˜˜h_Ϫª*¹\¾eˋլ$Žã·nÝJMMÍÉÉé|+µ$™]VV¶nݺ‡/S¡P$$$ìØ±ƒÇãµ$é45m“@>>>®®®u?zyy­]»¶©0nV§]?¶yÛþr«ÀÇOXtââb‹k¯%ï¯^0u”'Ï™»“hUZôÙDlö¢)nm=ÕW¯×K¥ÒÈÈÈ+V8xItttvvöêÕ«ØäryFFÆŒ3žþyû’iiiqqq+W® …-Å^jµ:((hùòåO¯yêÔ)©TÚlC;‹ÌÌÌëׯϟ?¿k×®íÖkÚ&ÂÂÂê÷í0 óùü&\ÒÞ:¹oÍ,údÓÔñ"|p]u쩟7lþzÛ+$²mß,t4Ì×WÞ?¸ã‹Óe}&¯˜Çgµ}H¢ÓéL&³©¶-ÍfÛj×*5Íf3Fc³Ù­Îáp`æñx-IÒétgõì°ÙlAÚE%‡A—˵SšÓÔ”H$€ˆˆˆVÝŽŠÔó›¿:7òÃo7¾1†o;YMè?áµx¸öõµ{Žlû£s~Y;• Y2®ŒÎ'&ΜåÓ‰…¸ñÂþ ¿DçòÃzSYœ‡ròTQU–Ÿ•ššoÜ®}†ŒÜËÛ•‡<~Q™Ó§­ÙÎŒˆˆhíÃõƒ{tƒç½3ç~½ÿ`:ج×'ü~nÿ’Ã[>›øü˜W‚ò?ysåÅ2ý5½Ç¥'ÂÍ åå±\S1À£¡åS“Ô$ÌŠ{çß°qW\v•mÕDcõ¾ö§]ô÷ç?nÚ:¡c&“É ±ßkº¼³×ʤ©×~üíl¥­ß¶ˆKÄä!`Èùý§‹*ºßà¾>l¶«—Û\‰¤®ôÞwG‹æ,æÃ|46z:=$f¼st׊w×_ÿ—3§ž?q+³ü1Tع‰J¥Ri±X<==E"Q}­V{ñâÅ$®¾q_¡’_ß¶*îjì;«^-¤?hàªÿÎÅJ¿¾ïçSüÞ¯­ûa²Y䦹԰[$uçìïÁ°ðª2-Lºª[W.–¶uÊl6WTT@t±éZ@rr²V«½råJÝáï-A«ÕÊd²ääd¤µÃ]ŠŠŠôz}tt´->m EËÊÊL&“Ãz’8†á Á0‚Ðàæ%³²hÏúiÒ&ó¨^š‘h)))J¥ÒŽJ8†á ˜Fk^‡:”––êõú›7oµ¯©P(0 óõõmtZŒíüá¿p¼<ét 0š“—3ºïÀ n½ŽÓ“€µ\V^¦èÖÓUäʆ6ž–ÇK®H²Z0"B]N@{ˆ)pE ‚ÀqÜñ2lsâ(жÚwÚ Ç°ÖDQÔf±–$­V+ŽãéIbÕ9·~;p"³ZM€ŽwÔ╡7ŽýU5y)’&¼¤s‡O™=8Ü݃`Ö´¡ÿ%FiÂ_¿ü•T*C @0Ë=læâe/öök³$?Dll¬««ë‹/¾h›V¶w:aº°un°»§_×yŸþ&Ö78%¼úÞW¶^ö°û\Vô-o½¿)&¯¶Qº¼ó/?7eï…[÷âã}¿&œ¼Cž;Ÿ«4X;è<ô¦¸xñb¯^½ŒFc«’µµµ&L8{öl«’ÉÉÉJ¥²%“Éôî»ïîÞ½Û~9ª»ó׆ޞìú}Ó"^ØRƒ6VVeLŒòª÷xÁW¿çÞüºHc%3űcÇFŒÑXÌPóÓ _©çB¿ç² ´Å¢RSS#""òòòÚí°"I¬äö‘µ}^kjƒcZI¹žÃc¹t 6i¼G¡¯·Ê <Âû {vêó#¼ùt»jËòrʪU0Ç­FciðW¦]ùè½u‰UÆF—$eZøÑÚ^Aç.µ½ªæçç×j’Àày?¥Ùúê«Êm nn®‘gLî_pI68Ò·aP¹„]>ô_GçœúèÏçHQÄìW^fµ¹9;pBK…“˜)÷îÙïwVª3[H˜Îàº*drœ|¨Ø 5)~>v&¡²É‚nwÐì©þMùÁaýÜ{ï­DqÀ`qØl†(˜D é7Ž}÷õϱÙåz ! ¦ \ÝpÎ¥éä…3³k𸝬Þs¦‡0:> ª“Éäp8^^^´’¦ü{Ŷv ä÷ü7çænE¹<^³…’æÚÛ17®Ç¤ã.°Tœ9~…÷â¨@» wnÇY` '1mò©ï¼µ1[Yß©ª”£Àý¡žXk…±†Þ9Äà÷~éý/?ÓâiÄ0Â[/UÅÚñÆ;_–:¬j‹Ø ê8GH"¼/áÏ.ݵz: êDjr¹\ƒÑ4®DQT,;ÌÌâ³÷lïÁá#µ’ jµ²…þA‡FÄà)ÛO@  ª­zºÓ}ƒÑ`0¨T*ǵ•Éd(ŠJ$‹e?ñ©T*M&“\.¯_¸"çŸÏ7|£D›¹²¢ÂÃÒüK,‹E§Ó©Õj;zZ­*óâIäF›!.c_YñÎâ|‹B,V4ñôz½F£q îdÍýÓë¿ØÓˆ—6oA"#ÿÙÇqÕ5È#UYP[òáõøêÚ÷_bÄbCK7J¥†UWWÛ~£¦››‹ÅjêhªÕêS§N9èsI3®Ëøa£ºéçNe8œ1VKU¸‡·›T’ç8#õŠòÔÄ”üò*ɦV«‘ëMnj @NNŽZ­>{öl3K§ILUYŸ*–Ê  ¦³å²ß;Z­¶®²ywOÝÌS6º!¦°ÿ¸—òc¯– pKlQQ‘R©´cU ÊKÊCû [zmÑ· …Ié(ɲ—,Ô©U‰¤1V¢9?’Ðäž]0kY\¥ŽhXxNJ®‡èÿ¶gÏIËö}O~¾çt•R‹‘Oè7dÊ‚õ+çxóè1ªÖ©ä 9`vTa š³z?JÛôãE™Ö€Ct¾«ÿ³//ÿ`ñ žÜjר6Þþ…ÎÍÑéôFÓ6Ç×ü´ýëDî;ì• Ÿ. sxÙi,Ù»uçb½ww‡ãkÂtïÌÑ3 …MaÏÁã|ZuÒœ Gÿs÷~YµŠd Kgn’ëAg÷þx·ª1/CƉú­ì6rÞg&/.KÍ$Ó+ ÐKÈ…Û)ë¸lÂö|nÉ–a3–‹+dV˜ííèáÂnªv‡f<œÎ; <Ø–owöA±jÅ'¾úìÀRÿ¡sv³yD×Áë ‹âÚ¾oÅ~£C¸&ÇïG r¥Òhmh8qéúìgk^s›Kåy×ÞY°ârºD[GG¢±ÝjP2„]¿W5HdºÆ¯”" ÷Þ³?}k·Iálïn=½Ú9õŠü"E~*ãá45‡ väȃÁP¥-†µgh«êüþÏ·í¿ì>à¥5¯íïUÚ•¯6•Þ=v ÇeÎ(ÜãCÒ ß¡ux—ÞC†õºy%­Šø/úì5bÑ{ ÷§U4swÒPyû«'”RÛfCFY͵>7ñáãFFÄeæVéÈ9ÏíþÌÔ·W½í)$’‡ÝâÂb±èõzµZmǪV«U¯×3™L‰c–¬‹Ð”wÈÄ8n{!ÇÙ2kjjl:‡Ãi7j»»»«ÕêúÔT«Õ'OžlžZnÒÖdÜ»{¿Ø³Ï¸±#zkroq4Â&Q}íèÛîýÆÜOHWcÀ¨•DŸ>™á˜#@hÿqÓ¸A%µ ³D>!¡aUö¥3ÙÍ>e÷¯œK,#šdª]‚»g\9_Ê@îúüÔ™å•2µbð<¼|ûš ãOµC“£(ZXX¨T*[²ªM¦¸¸¸¦¦ÆŽL#*—””Èårå™"++«ªªÊÙ2‰Ð¦¦‡‡Gxx¸X,¨ÿãÊ•+g7Ìڊ⼤;×O\¿oò}8îÂÈwš3Ý?aª>¾mý°wö0£{yÌþ+‡þ†EᯭXÙÚ÷Gõé“×h^úœûížmÓúùÁ¸2ζB*88¸©Uë÷¬eeeÍZ¾YÆÒÒR___å†a&“)##ÃÙ2ÓÒÒΟ??þ|; ¦&AcÆŒ9{öì°aÃêû }Ò(+¹{»Dª8A+¾Ø×;²‹íì½yò…O$ùÔüøámH)Λµ&yû–×.µ‡o{/}Eè}Ÿ{åíWïoøõ¦ÙÝÀœcçlùrÄ~þHçâÕCûFèíë¶¹LG.lËô»»»û€ÒÓÓ{÷îÝ’ÝØnAc'ûŽht: ic‡{ ™îîl‚ Ò/}}ó\,Ç£÷Û+_ q:‚|ÿ¾ïÿpaîêìô¬bÉ ëÑ+<ØÇ…ˤÞ$hãÊÈÈÈ”””ÓMÛ¦1Y´‡}(,ãßÁ›Çe! Ï¥#Õ[ÑYÜÀÈA‘ƒž¾–îä½75 F×®]뜺§!¡+þ}ßþâsxaá)þøíÏ?X½¸OÀÓ|À°Ùl¶Z­¶™t;¾¦ÕjµZ­ZÞd2¡(j¿Ì6Dè‹Å¶C›SÚf× ƒ ~m­nnn ö_œJ¥:zôhÇ5;°ÿÔÀþu_óî\~º7ëÆqœ ˆÚÚZ;VÅ0¬°°P*•:hùº9ôvl)‚ 222*++-S¥RuëÖíÆ÷ïß(j¶ä«òù|Û_`Ò¤I”{ÔŽxñÅ[¥Z||¼»»»ƒ–7›Í‰‰‰^^^íØR8Ž—””à8Þ†2_~ùeûÁÓúƒ¶Òét:µR'Ãb±ðù|>Ÿï åM&—ËíØR8Ž»¸¸p8œŽh}˜jc OUDቃÁxóÍ7í,ˆ¦¨IáÑA–óÐ#¨ý †m×®GÜ·Ñh¤Õk>±®6uêTG^míÀŽ †ÇŽÛA1EÍ'x€5jÔ£Õ‚ P:…ÿ/PÔ¤@Q“Šš(jR @Q“EM (jR @Q“EM (jR ¨IEM (jR ¨IEM 5)P ¨I¢& 5)P ¨I¢fë ,Rq¹\g!)ÃSx$Ô´Z­&“© -Uq‡·/y}ÞÂ÷¾¸žWK™žBgSÇñÂÂÂÆà’–èý.|{óÅØÛçÛ>oÖ[ÿiˆ'Á@qqq³fͲ¶MáɦfZZ‹Åjx iÈ?÷銴V@ 5¹·ìøC¬ÇiµÚüüü'k«iŠšA’dNNNMMMHHHƒ?Pù™½Ò”€í;tûŸ§¶¿9Q[“¢ÏÝͪ¡€BgP³¤¤äÆ}úôáÅÊ’þ¾“Џ„¬Øºë—§.}sN¸?Ï,ÉM-,!¨ ÐÑÔÌËËÛ¹sçðáÃ}||Å?Ò¢ ‰<¤÷Ä9Ï÷g!Ï¿‹_p}µF¨q’B‡R³°°ð­·Þš>}zŸ>}oÐMbååÕ*dô¢•½=#ˆ)d3© ÐÚ¾SI’Z­¶¤¤ÀãñV®\ÙüÆe$¡Ó)˜KÿAþ¶›¡j©Üb‚ ®¾>u\T烰Ê$E9%&ÀŽìÝ=Ø~Ò©¹zõê¼¼<ƒA§Ó¥R©L&Óh4¶£ƒ¼½½'OžŒ H³ÔDQ:i-LH­’j}¢º÷Ž ¤˜Ù™ qSEΟ­;s·@c±fr]Ç.Ú¸ýƒ—ƒ…Œ'˜š÷îÝ‹çr¹"‘H"‘ APó¼¡1`@ 0+KNœ<'ÑÓÇ šÔÃMÑ¥3;Ëü~°ò³‹9²ºßô:íß?|3zÌåÏF<Ù:I’uéÒeܸq&LèÛ·ï©S§bbbÌfsNNNÝÉW >Ö €µ¼ '¥§ŸþêÇËÙ$; ßàÚÂÜÚf/ùïCK¿w¦¤X,¶X,999,«3ïŽã8A¶cF(“À1@F`†›Jš”Eß}²îŸ\YãFÅÌÕ¥…99øC×à†$ # ÙŽGm©L‚ p§Ñþ¥_³’Nûš"‘è믿® wl¥Á`¸sçN tÆJ*Õ͘uï†ùxôÁã1 +gðÌ©>šì»wœŽ”2Ì'À‹Ñ‰~@NNŽÁ`ˆg0:oÈÃqüúõëîîîýúõk­³À5Uùq±wóÄR£ƒ7ÿˆçž×ÕÛHRYw&©kô+ÂŒ2ˆoª¼s§ú!R//¹{;»´Rk´B4¦«oØÈqãúº¶t…\.‰‰™0a‚‹‹‹½ŽÐA :”––V÷ãŽ;}úô!Zš~|k>²ø§ÃóùÐ ÈsÀì+¹2ÂY šûÖΘýi±™èL\¸p¡gÏž¶3; V«õóÏ?ÿ믿Z•¬É¾°àÙ(7öƒþ¶ÛÄUG´XÉÂk<;]ýæ^̪Eñ‡ÒÖ$M\1©¯7ŸU×cÀLAÔì]*¬ÅK -ZTQQa§ØvÛ˽åCÝOo/‘+òûÚE¨ÚĶá«mÏF¸;›“ù×~´å[©`†™„:?®o‡cÄ T-¯•«õ$íéí#àÐ!Œiç¦$IÔd_2sñ…yƒפH¿|Eºun׆©9¾ïàSçoÜå &p]}zš±zå«]ÝØöÕVÖJ•Z#ÄàzxyóÙ´F©AyÑ­OÞXøó’Y´9—ÎKÐUBVÛ+Ø Ç @\‘ [ÈFÅ»ÏYµþµQÁ4'[™Ðþðå÷©ŸîOdŽ^[•qâàï—ï¦Ij5$ƒÜsØ+K—½Ô/~¶cÕo¿ºV¢hú—ßÈÑ>ôfÂQˆ&˜ûê˯Ï{MgB_/wý†P–%ûõÐ?ñéU =Ì„ôùúòe{<˜RÁ1óÙÓG%•6½ÖkÄèÀ‡ó€:œš¸Yqîðá´|Dç\¼nñ|'¤ç¾ùF5¹ëýoõO^\l©L=÷æëïÆÈLè¿ËY’îF'Èoí ´½õpÌ*VhÍXÃgaxõµùýx-ä*!;0¬›j›Kï_0e‚XgÆþU;1þöµdmæÝÞ´ºÄ ^­TÙíÔDÝ'mýt¾ ÜYÔ´/Ý,¬Vkiiió1PìÁ ßžªµ^H䔉Ã-²ŠR¹39ß>z´ÜcæP$å7€Yõe¥9‹$•JmµkË =$©¯HÞñášËÙR¢a¥4…iÅt·æ< ÃT*•L&kÞª,£zð õßÂ!v·¡Ï/}gQ0]WZÚø)6™LZ­–ÍfÛ)³N?MIܦÕß,Q7ŒCQU^rFQ©‰Y§'ª¶º‹¸ µ¡Nf`Ïá‹V.èMÚ¹‘D"Ñétb±Øjµ¶5í¸Z­öâÅ‹Mkh¨É9~èX±@ÀLêÌø ±Sg$’feÙµ˜ôà¡c3R3´0é«n]¾XàÌé^˜Õ¨UÊ%’ ¥Ö³ø>þ~>î\†£ÏÎÎÖétW®\i&B'IÔbPÔJ++«ÕF+“çæëïïïíÆ@ : $?›,iüLÃtŸH¿¢¸«R:ÜR„^PP V«[Î ÃÊÅÕ‘=û†‡…Ô*µãæá€Ôd_½œÝl÷Q^^®V«›i©ÆõBÓn¾’-mü;Ìðíá—uõbô ·Ê/(÷ ™5¸BƒBL‘»—Ÿ¿¿‹¡øÆ•b;wÉd‰$&&æÑDèfUÉ®7†óXC†t¡yôÝy¶u&ôÃtå¿~¼hÛ™<3Nä]ÝÛ—#çf(Á(/øé³×{z êž*ºkÈ;.ŽIÏŸ?ßR„^[pkÛŠ)~Ü”ez÷Úq>×\W8n½pðCa£€‚‡¿q&¥²åø•°X,ëׯ?t轸ØdZ¾|ù† ¬ˆ^¯óÍ77mÚä€Ý ¿ì\ÎlôÔ ŒÐg—_Í­m”IزeËìÙ³ êóóó,X ‘HìÈ´Ûô)Ô èÖo{OÅëq$|èÌÍ–ºèUU¼©`‹ k/üròÎíã[ß\¸àÃí¿—š€¢êîºv§W蹘%lú`íöß3k´uÞª*=µç7 ê¸PsµƒH}îæå˾ضÒð`H²H3ŽütJŽÿ'Ó½#Æzùy?è¢anÏ KÙ·ebo_¤å;Â0lK¶·M·‡,BØB¿"WþƒÁ æñÞ/?¬îѨLÇpV™Ž ƒ¬5÷6~ôC±g¹E¾·eÓ˜ÞQ´/RK‹èh¦£sØgìòÛyoÙX•zþ«é1 ¤ßðÍÛVuwÀ)°Zô¶ñéOçÕMœn@˜°ÅqXt5Ù÷nÞŒK/¬"9î€Î²`Wãõ5_­|ooLÖÄý…rë=ïtž7ç–qÿ¨BiБÜÐø ií”üê°µ÷Ìм³ÓNdæ–aA×=ƒ½Ôi t\„NèïýýZ©¤ûÔ/r‡!h@0v´¨Ò`Á]4çzãºÀ93£¤Xenl;XñÆÛ3Ìf³Ùl6ŽÈët: ÃZ•´éi±XÔ¡*•Êl6Û7KûPS­VŸ>}ºîkEú¥k •Ì ï¢+Œ?Ul.ÏŠ?u[Ah-7®—À™cûv»tí5|Úôçƒ][Ïí¹t:³ëP¢•ip7×Òäë¥É­ èVki¹¼W÷¡ÐU¦Òá0SèîÙg@//ý­Ëçš}ÄÉ—~9Ý—8~]3¢/H˜le4kjµ#‡ôâÐãîåßgð`¢üâÙòú×VTThµÚK—.¹ºº:EÍÜÜ\¥RÙèU–FzII‰L&«oyû)))Q*•ŽÈ§¦¦jµÚV% ‚ÈÎή¬¬tP‡:ÔÖÖ–••]¾|Y(v,5]\\¦L™R§ð™Ì=2+àx‡¼ñþ'¯öãÄÜpô¯Ób#‰@€!òsg :½N£Óä&D–÷¶¯?äÏmu°ÆÍò‹ß®¿ÀÿæÈ¶.t@&“)99YЫׇkW[Ì(!L“NC –gäbU÷°FÙc±|û­Þ²ëµñÝz¹3FsáÂ…™3g¾ðüD‹0ÅbÒ¸ÙÜÓ±cÇ&L˜Ðä½»Þ†‡††Ö³jÓ¼¦%))ÉÍÍÍŽLSƒxyy9"O£ÑbbbZ•Äq\,“$é u(--ÍÉÉ?~¼³´5i4š§§çß µiÅ8þݧÏ~®;·òÒþïk}†¼=¡÷­Ã?ŠVº¸¶OV̱O?Üx=«:÷ÎéŸO>;rý\!Ó~®€Ì<÷ËÞÃç•¢OO £ÑÈáp¸\®¯_ ƒAŘ^ž“østjóî!†_÷¡ï~¾ó­©Í`1 &“)pqñ j5cO§ÓÝÝÝëÙÇ!jòx<@`ç*‹Åb« ƒ%›L&6›Íãñ‘ …t:½UIǹ\.‹Årªv¶D8›Í¶o–ƒcÔÒsÚä(J:“ ÷ühãw+û©ßºw8#-ÇÈÝoâÂí&Ùü_¤KUWO^,~û¥þ¾<{Ej³¿Ù²?[jõu ßï9fÃÞÃ#¯Ç¤déInhþƒ† Ü+˜A­ÅÌà ;•S0pÈ”Q!4€I³Ê» =í¹Þ<(Ï/Àÿ^þ­ý²þzÏæ¿vâRæ±{æüØÛ•jbºòC›w3ÆÍÌÝ¢vê!œ|—fxvé3·KŸ9ÿ-kµ?OÑ¡ ótoÊàˆH¹ÛqÉÊqýƒ€.peÓ€ØB“ÎdÐ „ãèæg2çW[Ëgâ3¡0 ÐKµhËüBÓ¢'°G,éëìô€£ ·0}ð0O(žÔ^Óärùž={êŒPÊög¡Eöì-ieUzô·ÛÝzxÑŠªUyÙ_»v(z»Á€ÔeU\øÏá=Ͱ¤±¶ úfAä3c/\J‘[AYxdÿoæÐ­Vkff&‹Åª§X»Ád2•••EGG+ û’•••J¥ò·ß~³Š6ëÃ%%%•••©T*;þhFFŸÏw°‚(ŠfggWTT8"Ÿžž®P(Z•$">>¾²²ÒY#Ëd²ÜÜ\ûfij ‚ &Ô}íë‹§§|\.e ^6A€aá¿BÝzOÜ Ê?WÊuñ=þ6„æT]Hñ8gê‹}½›Ð }éï»oYöٌޒ»æSÎó>~B˜KÉÌfóýû÷y<^}ÅÚ :îâÅ‹½{÷nµðüüü“'OŽ=ÚËËË)jÛ)ßjµ&%%‰D"+h6›“’’¼¼¼‘‡aøæÍ›­Jâ8^VVF„³F.//ÏÉÉ3fL‡‡A #,,¬îkˆÏÌ7^º²þüßq¥ÓÞz®ïÒý´Ç[Ä÷1öÐO¨Í÷€PKþŸ™U$Ä2mÊè~==8M§‰êØØÔÜrþsþe ®Ê•˜.KÿiÿÙõ,îèÒj„îââ"ê+Ö^P«Õ\.×ËË«ÕÂF#ƒÁöósb6Ã0‘Hd¿|‹Åâââ"‰¬ Í Êgff6jÓ–ôtssãñxm0²@  ²c–™¨D¸~¯}ôIlâ+_¬\„~ñÕ²iÃ|è€Ì„òÊJª+Ënÿ½ëÐL·¨Éï/œéÆivJö½øRâbÛ—”s_fÜH"ý†oÞ¾º»Ã ë §z§jצèPóvÔò–ß°u›?*_öÑï-θ·dÙò׆wõ€yÝ=è·¯¬YœŸ™¨vúÍ®-“z{Q»vwètú´iÓø|þÿWÔl×ÙmÜ[® üåÛ]ßøyîá/™îþ"6Qž£@-Òû‚ó?ùcå‚É]Ü9­>w„®ø÷}ûof׌xyÐÎw½»jI«sèT\ܸ¥i´çž{î R»}¨©T*<Øì_®=F¿ÀôÈ)(‘HåŒy±ebTÔm`”ÈpóÜÑ›ÞÀ=ò™Q–À¤\ý;Å=77—Íf·¤ØÃÀh4J$’ØØX£Ñh_R"‘¨Õê£G:;‡ž’’RYYig7dEsrrø|~GT0%%E­V·Z2A÷ïß—H$ÎêP[[[PP`ß,íCM‡3hРÿ:rÚ³/|òúÇç!Và Áƒ:ô•9³ÙËçóí)öú‰'BCC[-\(r8œ>}ú8¡c–––h§|ÇI’d±X èˆ ²ÙìVkG’$“ÉT(ÎY,'%%õíÛ·}"t;“+,+**Ê¡RÊ¢øà¼AÃëÅëÈÅh4ŠD"¡Pè¨bNFè</  Õ ‚`2™Ýºus6B÷ððhµüÞ½{wõ lÓž={¶¡|&“) #""Ú'Bw.#,¹·N:sËÄ›9ÿõ¡": XB>4J©<ä1 `«ÂŸz8b½¢&©N;4wæ» #ðá³·÷ÿ¹wjooBc2`òÿÑ®®®S§NmxèÂ@ý   ©S§>Zvv¿GÈ22¤&› OÔdß<—þR/oFE‰,Oîÿ76mÚôÄu±ýúõëÛ·ï£Õ¡ƒRаk6³nª·â6?+M¸%H—~A ðÿ‚ØçS IDAT'tèäjw5!QŸçFð¦u1ó±}aÚÜ3ç rê3áÝi"Ò³gÏÈÈyëŠN§<ةȆ‚³è¨,è¹òÓ¥÷–~]í1êý/ÐõE9‰×Ù|¶{qÉ»s†„vtÅ Æo¼ÑA>‡ÃY½z5N§ôäQ¤÷ä÷¿Ùj^÷åÏï¼ü‚ÈÓ›ôÕRóyl\óš¯Ã·ƒ ˆÅbu\ámˆl(<&ÔÛ}¢ ]?îäß·ÓŠ0^Ð[^š9ylO•w¡ð(© @˜‚®ýŸ]ÝÿÙÕ”¥)<a…‡ÅSÿnP«on9AM§ß£ðpîìÓ]»VßÜê€×Ö(P t 5)P ¨IEM 5)P ¨I¢& 5ÿñtOpP³AOrŸñTOp´ólõ¢…Çt@§¨Iò5)P ¨I¢& Nö× ³èeÒšŠòÂü‚âJ™–ãÙ¥ÿ>]»ºñÙðÓà6“˜Y_S]]Q^˜_PR¥0ð½Ãìä/â? ¯¸<µ½¦IQøçöÕïnù¹X{û°Ì凶¾3nĘyï~y#¿ö)¨ ®:ëÀ–•«w.×Ó}üiÚü–Ž1nþªñeê§ ‚íÓkÑx;?Â,..Ó¡ˆOP n­¬” ü‚]0I’Ž¡V J" :N£Áу†³ÛV®þáÆà'&?;`ð!£G-_òYô¡år8úðwDþwKý¶D„íC³m¸¤¾€#’(ŠZ­V‹Åb0š—$ô‡?_öá)“¾‹~al€Áƒ‡ŽµàÏ.ýú¥ÌÄ=µïMÑc¼?ŠÉdBQÔd2ÙÙ²ÝNÀØ»wo ¢Õ·ÿ”§aLysÑ`¡ü÷C{Ï{ Tšzãj\º£qÀh&}â î+„hHªSh W7ÔZ“[*~;§2™ïîß¹Ï"ÿ ?0ëkÅ×ö}º ïéùïþ¼MÛ¾Q™0 Û¦}htwIìÝQ½}ûvnn®L&k^@_üãŸÉ³õú7[¾R<ëBû·ðQ”¿}aÏ–0´ röÁhÃóÙ6I©TwðàAÛþšÍJ¶5ÝÜÜ.\Øð¹ÈºúÃyÎàI3^ó-º~ùÎÈYó§1ó¦*8 ×oY4Ò¿*íÂkŒÁÝ&ý°yL—VÎ.!qÝÝ?vý”DÛ´U«»Ò˜䯭=œj¨.Pr£–ÎȧAi¶{ì‰kÅ¡“&>;Ê )áp8ýúõóòòzÜR¶f³Y,.^¼¸÷Œa•••(ŠòØCµIW·].ÑVÝÖ¾9µ7¥‘ôØs·µ}¦._¶Èï1>%.++ëܹsS¦LéÚµk;ôšv&*‰žÑgÒa˜+p¹ðé4„'`埈Î(‘+têÀ±×œš1l8$Ëzcó±V»?öõof˶$‹bŽîøá1gS(µ¾õhÅw'þ~>}ë¯/VhkÖ¾?{¤€ç¦§rG,:øåÆ)½|pü™ÒÒÒk×® …BOOÏÐÐPwwwwwwWWW.—ûùj6›Y,“ÉÄ0Ì`0à8®V«5 ‹Å ‰D0 }và¬Ï¶ÍÏßúiÝÛ:ÙÇoMÄEÐìÌ,×1Ëwíú0ÊÛíqŽ„\\\ …iÓ6j>ì¬.‰©´f ºê»W’å#^ð0îå¾û¯Ý½úÏSsz,{†·ä:ïÙº;±ÌäÝÝÑW`Ùn¡K7ïvvü©cGboÿµ©8!2¢k×ðq?ÿ:ª«·†‚0"""ÂÃà C~~~NNÎ?ÿü#—Ë5@ ð÷÷  ñññqqqé„#¢¶¶¶²²²¸¸8;;[­V§¤¤ØÎ'õõõíÛ·/‚<ðy>Qïnÿù¹Ù·ÎœäB²KÈÀ½Cî^¿pê·kˆ0Lb¤-š9&PȪóy<^ÿþýûõë7cÆ ƒÁ R©rssïß¿]]]¢(A¶Ãkýýý===}||D"ŸÏ§Óé‚ Ã0Fƒa†áúÝ­Í+Åqœ¨E1 3 …B¥Rét:…B!‹Õju@@@xxxpppPPPHHȨQ£˜Lf³jRfÝ<{øJ–Gè½C⮞?÷Û+ê#¼pÚ3Þ|EMÇøŽ~óäÉyÕhP^¡ž,ƒËå¹r! TµfŒl¶¯Í‰9vFÙmÅThÅà(5IkÒ‘Í ÖüàÿÁÉèw'A,^²àÊm|þó¦·_OÎß}lÛ«žÛ6FÇÃÃ#<<ü¥—^"IR£ÑI$’²²²êêj…B§V«år¹Z­¶Z­,‹Ëår¹\&“ÉårÙl6“ɬïçÐét«Õj2™0 ³—ÍfÓh4‚h4š«««¯¯o@@ÀÀgÍšåééI§Ó!²X,'Ož´ØRoþüѲ‡ú}y}ûÒ¡K¿~îÇ/Wm<øéÒ”lÉO?}<™ SÔ@*•®_¿¾a¾»¦@k½ôë÷Õ|Ea•ìÔ7›J„„ÁL²ÙLøÆ•ÿFꪤ<5 C^ž¯>wmâ¹£YrB'´ÿ¡Ã¥Õ`ªÍü~ÓzÖ´&1Õµ¿åÉ-ús¿|ª¿Gƒ€°A!ž%iâ«?o|—Èôe;WwæââB§Ó]\\<<<Ìf³ÑhÄ0 ÇqÇQU(õÝqÛº/m Óé Ã0ƒÁb±8“ÉÔh4&++«A—ã÷îÝËÍÍ•ËåÍWU^üíP±ÒûþSÉå+h¦…„¸WçJÏ~ÿ_—èù‡A5552™ì»ï¾sssëXjzzz®Y³¦¡'Ÿ•ðûÉ"÷Ù9 _÷-º'mÒ’•kÿ\°-cõÿÝfM_›sü>M8úÅeð¿a*Ž0Uß¹•½bÏÛÏwßßôò @& Õ/õŸ=nA‘Kð3žïÂy{{{zz>n‹#-‹F£ Z¾|yýß­V«Z­F„0——EŸJ¯­©Í‡¬[?£Ÿ€™cº¾2í}µw¯…ï­‰ä>¾ÔÌÌ̼qãÆ¢E‹Ú'B·!5>ƋƥA“ÃåqÙ³èæ›—bS’/]}ì»ÏÚ†™º¦Rbàxt6~´·ß „ôþ?Ïß÷”ÿôi,PUdKÌÀZ“¼ëí]y@gÚ'÷$$Ürˆ"¢K Þ®Zëծų¥íZuýÜÖ£¶Õ–®ÖÖ³¶UwëÕnUŠ]/Z‘Š¢¢ADn¹Â rLÎI&óý‘®«(1@P¤óóŸIÞ¼Ï3¿yÞçxgž/?Yýæo»-­ØÃÖlÝÜøÞÇi…÷v%|ÎújÛ[ãƒêÚ4œ¡oüÉܘ(YKsGGGff¦X,öðð>|xdd$ŸÏ‰$›}¥R©6­Â0\YY©ÓéX,–‡‡“ÉdŠ¢?ýò3ÕûŸ_©¸³ýÓœ=[þÉ`[u.áK7¬åÁ!àPˆÉd‰D&“i§ûÛÓó5ÛJ~Ë<ÖÏýüÓâ¹c& ábˆ25iÿ]}Ò{^>b¸ãß¹\ð–Í-JÛs1óøÓG +†±ŸøÎUB@Ìâ“×&eŸ?¹ÿûã;ßy5%fâ0obåHϘáC#B¼°°ÐÐÐ_|Q¯×effîÝ»—@ ØbóÐÐP‘HÄf³¹\.‹Åb2™OáE¯‚h4†•J¥\.7›Í'OžD„ÇãEEE¹»»Ûâ-ÛÍ:uÅ/Y33Î$~—ôóæ×g7)DH3G¯\îIð!úß7öÔ¨iÍKÿñvžÌá¥iöïÜÕ6sŒünÚW'ëÂgýßö_å=n"‘L£ÿN*…L€F R©¢#Ë/=¬6Ñ'ÇýudSåÍ›·¯6‰Fÿio( …B™8qâ„ `®¯¯///‹Å§NjmmÕét...nnn|>_ …BWWW777[N®Û0åI0›ÍJ¥²³³Ó¤···777›Íf.—ËårétºZ­öôôœ1c‡Ã èQ[AÀ¤UkoÚü·#ë˳og]kð~1Ö“@€žw^>Mj*ÒO×­ ôÅ¥ß~¿¬àè—ûvî2 ô×w{gá´ >Ë©áÚă‡.ß©ö{q, (wlüzýú'ö¨´6åù`ÍÇÊÉ[’ÞŸE…¬o4ý°cË¡o¿8}æÜß·ïÛ´øôPxA—ËŒŒ9r¤-Ñ­×ë5MuuµX,.++»qã†Z­¶eî?uE¥Rm6•Á`p8ƒÑ%WO$­V«­dl+‹£( ðÁ`°Ùl__ßÀÀ@Ÿ¨¨(.—kË@tçÎOOÏî;Ù[«¯ùð£m„×ö\6ž¡oÔåÚúÅ¿¿JøéÄÏö\;k8é9Ïm:§¤R©Ž?þðâÔ$Ñ›w®¤2ymR¥Ñh°@°‹n䇌_¾âŒH&uy—Sòžè{yŽœõÊÿ:‹•e¦–=!« _:°õL^û¨¡åé¿3eè¸Éa¹÷n5æîÞ°ÑÅ´”ï°è|>òäɆ™L&¹\.—Ëe2™B¡Ëå:N.—F_ïƒí@`þl6›Çãùúúº¹¹  jµº¤¤äA›ZYY©P(’’’º»_ÏîNH½§;ºøJ: 6bÊ”ÀÜ{EuÙÛ×o$˺ `n666j4šÔÔT‘HÔ¿V“F£uí5a"±ÈDÈB¿ÀP™E#‘H‹…µÔ€L--Ì/10½G â0¨D‡tˆd•9•¦è ‘O= â¤KÕålsüÜž-ö —°zÙ–Us‹\âÃãñˆD¢-UÞ÷ª 5åhœN777¡P8lذ.ÖÁ–Àïl»ÛØŠ`®Ì¸ÍŸ>ÌÅæö KØ„¬_óF«âø……q.5‰D"…B ôóós5í\?:>zôè‡ÉAæ’IP|‚ÃGy‘9 ™‹#2Žg5f§Ïäç&~ßl¥i›ÊösÇmØ”ð×#¤'è¨ÜûÍ·ÇJƒf­z'ìÉ5ô‘_l)”~ü]EkÞþ_Ú»íÝqAî ¦»L¶û„7?Û°òÕŠ»ùÕÕÕ¶8‡Ã^^^nnn¡¯…ÑhÞÞÞ6­ªT*…BaK*¡(ÊårGŽ ~Qþîÿ7eNúmÏ–•Ñ~.ªì*ã½bÃÂIcxA'‰4-<<<$$ä™ûš„ÈI •Wnß”æoýœ¾êãÍ;_ŽÐÖg¯YüƧïJÈ?^>ÖÇ®&±;g÷:Ÿ¼‡8VD'^$ùÓ‰Ii{W4,^4ÇŸ”Þ-|iã?—½5׃ÍLœ8nܸÖÖÖªªªººº«W¯ÖÖÖ²X¬ˆˆˆ°°°ÐÐP___ 噕û¬Vk]]݉' âóùB¡N§{zzr¹\›˜øö¶¤€˜c?üp:u÷òúüE fzÑ´wªçmÚ¿üÍéŒç¿ˆþô’G>‘¦M•wªtÈøioΛâÉ&Á¼„ÍË-ÿvÛûŸEþz(ZйB%?oûW¦Z‡:¾É‚HåDN[<|RÜ&XÙT[#éDx^CæÎÿ+‹I' ÛRK"‘||||||lum†ËË˳²²¥R©Á``³Ù>>>¾¾¾ÞÞÞ¶I´@¥Rm¥Å©Âb±˜L&ãa0 Cgg§R©ìèèP©Tz½>???66vÖ¬YT*ÕV¦ïò+$oÌŒøÈ© ·k 55m°ÕÝ;pÞ’¿Ñ©â x¾äéQ“Äñ}uÚØï²Õ3fÎñü½©/4tø¤ïÃWª2R2ª"liÍ(+=tèú„¿¾.Ûô©ªg¿ ‘È6OΆ?ÉW¡R©T*u„ ãÇ7›ÍR©´¡¡¡¹¹¹®®®¥¥%''§­­Í`0H$ΰ…çt:F£±X,*•z?²yÐ 5 ‚؈ˆ ˆZ­†aØb±P©T‡ãââb ’All¬ƒÁÐétÞÞÞŽÝD‘ÈTŽ›g„›glp5ill|˜PRjÀ¢”I› vƒÉ,—¶1GŒ[¼$`jEÚôûÉFÄÊð`Yäw®¥Ý‹fñÉc¨1ëä÷õcâÜÚþc³NÚÔȤö»^ ò÷÷÷÷÷µ•ËM&“ÉdÒh4R©´¹¹¹µµU*•jµZ­V«ÓéL&“Á`€ ȶoí>;m‡Ãf³m |>ŸhÛ»d+¦Û`s Òëõ*•J«ÕªTª®Z,°mé’H$vÚŽ9‡šjµ:%%åᜲTf0J³¯2]ÚÛÕÚÂ+çÉî$o!È»”ú?J×"ÓBf(.ÌHN¦è]‚!k[á…L™ï¬?ÃÙ9Åj ÐÃ-×~M¹÷¬Ÿ‰D"‘(**ê±A:ô_Ø¿6­­­vòµµµ]µ:X ‘H`¾zõjiiiÿR“Ïç¯^½úá½äòÞ#åjæÄyo¼ã]}íÂÍ©o­zÓ³ó—ï¾M/ë Ÿ²`ùüñ,diϯ¼yêf™’;ttüßÞ qyh"»³ùnѪ-›g‡ºÖg‚ó?ž¸Cæ½½<Ò…68Ü);zsss@@@W­§¦¦ÆÇÇ?½«‘¸ÿ‚ `ûg®8µóï ßvè­äSÉ:AiÂT^¥TJU>ÄÃÏ…ÞÅÓÇÔMRŒA¹ýã—9tÔß­ÕÐ^°÷«cßîÅÄÔ|0-:¸Å´#àS\1s[³Âl¶D ‘‰’º²ªÅÅ/vâd·®A‚èWwE¿jûPº#ïR&zá“Í«†ÑŽATAPíÛ=B ê 2'jÞÆe1.ºöŠö~Sfd_œ°rvHw›e03\[^PZ-±’©VKgIa…JgƯܠ‡sªA(Š*•ʇÝ%µÙŠ`ÕkÔJl¶ Zµš1cþø3{2Ú9ñ·_|ÒTtýD–~Ô¬ «^"kUÊn·d¥ù·¥f¯•›6óï6¸s07ú ¾*¶4“^¯ïªÕÁFc{LÔŽ€= ¦·@.—s挫«kwg:‡š côèÑKD^ñýîC*4c¦½úÖËE]êñ#/§1iý¦¢}˜Ž›O Õæž:ðs.iÃî÷½)½1/_¾ìíí=f̘l5M&Sff¦»»{Oç©ÕjÓÓÓ½¼¼úC@¹\ž››û¸ ÝcTUU)•Ê¡C‡úûû;ÁjÚé¶F£ÑFŒÑåK£R¼÷«Ã9êàC¿îž4ÔN!aVË’¯ìX»tÿÅ´]Û™_ïß=g¤À¤U(tÀÍÍ•JêÎ÷Å곎œúù\#yŽ_øˆ^7Ôjµ<ÏÓÓóÑÙ:e‘‚a˜F£Q©}mŠm4ÝÜÜD"QOç©Ñh\]]…BaXQQÁd222Š¢ %88ØNûÔþ«aß%?øfûÌáB• AHv ³î£5BjÍÍä ÚŒV ‘ݼîÍ·ß=žSßíXúúÛ¾ÌøïOÓjµûöí+..îßлœÚ£§U,í©?¤{ÇÌãÇA¢ÑsÌÌ×Fù`¬¼´÷›_kͺ¦´Ôô«é?»XöX³lE”‡ÿÙ šàÏЪ4™L·nÝzšIiœš½¥£ ½¤%ó§m‹Þøû‰bã&¢Š¦LøÒ±£uÄë7®Œ_±röHâc ¦¥êú©S’!kçbà™.\CCƒÅbé2[§@£ÑÈd²[·n!ÒÇ¡©©©a¸§ó4 (Šö‡€999r¹Ü)#744À0|éÒ¥ÒÒÒþ¥&™L‰D}å6nì3' ¥Ã,fŒå* ÿ¼PüýÀèa“epiFØ@º{0)FÌ(»˜šî2qéüXïÖ» dH4¾P$êm„n0 ‡Ãé:[g€N§S(WW×¾Ž “ÉìÅ<õz=Nï']]])ŠSFÖét$‰ÏçÛÍ9Ôd2™cÇŽí’ìáíhGv•’—¾¿qÑÔ‘ìú·²~7|d¦Ÿ¿ûŸwüR‰,ܲï£Éá„ZVÙz·Ù‹u;E )›Š•f`Ò4d\¿÷ÁÊÅážì^̆a@àïïßu¶Î@GG‡‹‹KXXXß7 gÏž èéPF øùùõ‡€‰„Ãá8ed&“I§Ó£¢¢ìDèýÖ>"†N[‘46$“N|8¸7Ãr½-ëĦqÙ†ì‚ÂÂ{JF¦xýËáLˆàþÂgo¼†A äâžë)×iüˆ_ìÞˀȖdøOñ]Û _;ûBƒõXÛ†*ÄõFîîÞAÃÇnÜö ÜÎñ‹¢»Ì†He¸R¶c›A„F¤r¹l2±÷³ܯïïWm%ÐÁ@Ínvæßl°ŒšæÎäÍ]9r–•H|üd¬pmâÁCé9÷£µmÛÆ¯?\¿<Ò§—M«ûÕ úÞOSÀPÓNX«Õfff:šWR•ü”Û ÖÐaÌÒ›™OwÈ ³W½0ûþGu]af]Onw«Y«Ñè ˆÑ‚5KZi4šã³íQšB©T–••q¹Ü¾‡A‰Ã0牡¬Ñèf $­m É¢ˆ†µF͹“ßÙ©vÊÈ555z½>//ÏN˜ä“€¢¨J¥rŒ&fñÕkå­r áØ×&‰¬þ!MKy#<|Íá[5ÁWIË,”Ê5&³#ÍfT$ªþÑ… ‹E§Óõ}p³ÙŒ ˆ^¯âPf½2?ãlZV±L #f)b‰DÎÓ+š²/»x»Öé‹Õb–k‡JÕ÷¥†a«ÕªÑhìÍs111??¿¢¢¢û_îÞ½iu ºÖâ5/ùÄ zéøí&«Ã0(ªvÇdžŽxýžÞ±?@MMwS–O‘åæ=aÚ¼ùq£|¼öñ.k? ½½}úôéçÎëûPz½~Íš5{öì±w’ÅPwûÔ¢hOˆ_̤—^[;Ü`ÑÆm}¢)Nû6Ú‹ÙÃØø©3ãâæ„ûq$Ö/-æ¾ XXXRQQaç§ùšŽy!Ö²Ë?$g6šËÂ5ÍŒòvØwÁîžû×ÁÔ<ÔË8æðhÛÊ¿ùpÝò…«?Ÿ3566:ʇϸ±oþô‚f™í'ŸÉY€wÙuwŽªñÎÎ>H«¦¿±~Ûì)cc£#=y´sŸM[P&Sè­}›Ú”wvãºMµ¤¨U›–Ì™>!rx0 Üù·?o9]ß ²@^$g©ËÎ<Ÿb„YdEÉý#©À›¾ê›+&¹RTÚYq~Ǿ+ ­ÅÅá_kÌÿ)é7ù¬]I–M´èT å×Oþrlÿ‰ –߸·ç¾4‚’Ê›‰§o«NÙ‰ÀÊúÂô£ÉGÿu28eiÜÜ>](¾š–”UOÞúÛé·†1aykUæ©ÓG&^jò77út|zÔ”WÿöŇ›ï( 3ÿoÛ7ð(ŽVÄMíå‡÷_ã_3@IDATŒŽC²åŽ;P$*‹F0Ü=wäSñÙæêÒ[9…J#ð={ë¦Í &Ž9 2…E#²OLÈ£5TßÎ+Q#PÐØþ#ᕘá}LûÑ( "¦þeßåL¸,?§¸¢ÁÑ£^^þɦéÐóDM‹ÅÒÑÑa'B6)Ë7-{'¹À8gÝ®—¾Ä±j;:´ŽÅžÆ'ŽÖ cùÈ’1€ZL*yG‡÷-Ãwúë3S]ºøï\Aß–-Z¼hö”?±SnìU* AÔjµ=U8x7šLF£Q§ÓÙÊ=lNÜ”Œc¿¥üp@¢[àø%‹/ž=iˆ—›V%×öé¶°FNŠ›|¶àÂÙc· éÞ‘3—¼ÿÊähOwZߥ¨T*E•J¥Ñœö†mÇÿc´¬‘fg¤ç×Àa/N\ö~°«ºrö¤ã «ö²k7ZxÓ¦/^ÍUš^]Ÿr<ÑñYóÇ-ú Jg4cd*I§@)ÌJ/Ì꯻\«ÕJ$’k×®Éd²¾ßêåååmmmöw%ûMÿ0Fg²`A£@@—{--×Iâľ¾*Ö¡€@£3¨dh¹~¡ÅYº’J¥jµ:%%…Ïç÷/5ù|þêÕ«»|iP5e_L>‘UÉ Ÿµ}ýËÓǺÐz´XE[?®xoçÖWÂyu×i—ÿó‹Âuè’•ïc`j[.—ߺukΜ9³gÏî»Õ”J¥~~~ï½÷Œ())IKK‹î_jBD¡PJ‰ÉÄÙY…VŸI;×z»ôî «ª¡QgE®Üt yS±X@[îö-‡>}éÈÞVƒúd2™@ H¤‡UÑ+É­V@$û>ÔÀ‰D‚ ˆL&Û°ŸÂ ˆá<+.¸oƒ tEXtCommentCreated with GIMPW IDATxÚí]w|ÅöŸÙÝ[Óo )¤¥‡@JH)‚‚" ‚?"(E”*žDÑ€OzM("Hñ)@QA "! ôÐ ¤ßô›Üº»óûcr7{Kb€˜ï'Ø»wvî”ïœsæÌ™Y87í{OMÀQ1jŠ¢xŽãx€A¡&#Bðns†„À=— 6\Õ\áBÞÃóB[ÝujÚ têFSEÓ<ǸVüë™ÜŠ¢\ÆSðÖàÇF¢¯¨0[,¸Â#B¡éþ(ê(!Ç.ªã#„! ß°e‚‚…ó‚Š ‰h)ª¦¥ð³¢ëêž°•Šè …|DÅÁÅ@"¦ ùÿ#éÅÉÏ }àmÏ ÍˆÂ „vs*|õ—¶ëêü…ºØÚ¤:OÛãˆç¡­.¸­xgJ‰Øéòcu±Åœý–P1=ð2©4&\ä±rbžˆ dIII .“C‹Û1R4b\ß©ÇrvHÔ”}ÎHèf Ó…¢Vv,‰SÎ5tÝÇí^“3Ï»d• Šˆú[è„/Jc—˜ç퇠ý@C®˜ê|GÈÇ~xB»*8·Þ=Hìj¸ê5»'2™L‹E¥Võî9–­ÐëÍ&“ËÌ‘Xa¹¢%®?„P”Ù+;¦‹Åj­ªªT(r™\X΂ `±á EDéqß Ò¨¦·ØiãºÀ¶ê¯D%§(JÌ3‡êÖ=ð‹Å¢×W(•J…B lÄŠ„œè"–7BíÌKe¥ÞÍÍM&•!±xC‹ØjQä$™„ÜÄ’ÉQºØ žšd¶ MÁ#²Z­U†*¥B!‘Êĺˑ¢FÉå EÓ³¹6A‰”]µÜrb† 7)ÍsÖÍ›%¥%•z½ÑhR(äJ¥R¥R‡¸¹¹Õt€ÀHQ`öP¶Ö¬Ö<ÒªÄ&iªÉ'dh/œPD Áî@1ÄöÀh4\½r¥¸¤X_Q+åææ¦R©ÃÂ#<==B8;à¤;„(Š2 ׯ^-*)·ŒZ­  õpw€ÕÔ…m€‰ÙéB Š$#œ† MÓ&³éö­[Ýä㣠léææÆó¼ÃSâ³™ööf8Ž«Mj}}ÅKJJ8ŽÓjµµ¥/..F6Ö0Bš¢ u…çΞ½rårEEyU•çy¡R¡ððôŒˆˆl×¾}PP0ÂÅä‡ÍTrÔ "ê×h'û JPâ‚,ÄO@‰ZÙK#qßֲɞç)ŠÊÍÉþû¯¿\W*+«CÇŽaaáâÁ‰yìÀ§¼¼ÜÓÿ][Ë´ïÐ!$$pœðÓȾ„ÕâYl´ˆ¤Zvˆ`h Æ¢(]‘îü¹sµ¦MÛ¶ËÖ¡B9Žc„ö²ã“´7 C† 1™LGŽÁBÅõ$E¬Ò4}ãúµ“'Odf^òÕúöîýD`@ J­.//ÏËË=îÜŸÇÿ,)-îݶm»šŒ j±„·YT5tÀÎ@ÚWdx92ÉÉ&µ“…"iD‰ ,‘„6¢_ʼ˜žþgf楾-žx¢ŸP©ÜÜœsgÏâJU”—wŒê$–ÕJÀƧ+—/8q·LŸ>}ÕMYYY^^®I§¨èví;àÆäEÔµ½(LYœ )é"þˆÍ07oÞº©W¯>ânº`릨Ž"#[ñ<ï’ß!žç‡ßK{q Ž92nܸ .\¾|¹S§NŭĪ“¦é²²Òôô?/_¾Ú¿ÿ€˜ØX!™Z£Qk4í;t¼våÊžowsVÞG¥ö÷óÔ¶Ø4®‘¢ˆõ©xú!VÐÖú¡!Á€[·n‹•µÝ„Qäã«ÃũЋ‹Žûýòå«O>906.Nh:F£Öh:tŒºzåÊî=_ãJ!‡¹4MéþüóË—¯ð$nÜøBË\½reÏÞop&¼0PE³ì𹡠ž…ª¹ÒM޳[aÊËË„nêc×Mjuûö®]»¶÷ÛÝœ•÷öQùjµ‚rƒNžr`µ­V«Ùl6›Í7oÞìÑ£GAAV«µX,f,‹ðÑa(`‘™y13óÒsC‡vŽŽæY–ç8‡¿°ððÿû¿—oܸvår¦Él¬N‡É0 °°pÒk;thÝ)jðÓOóö¶pš3;§övâydƒpår2$L¸°l?wîlfæ¥aÆuéÜ™³U _‡‡‡'sãÆµË—.àðë°Vëùóçp&;wæ9‰2=z n£ÉXÃx‘[Îy¢àzJQûG<>3/eff^:thttô­›7kŠÁ²<Çݺy3,4ô¥—’nܸvíêe‹Å ìǶø§±‰Pc1@øá‡~ûí·¡C‡b;iíÚµ¡¼¼¼ÜÜ\!—“'OjµÚàà`@Dx¸¸ØE•”ÿý×_‘­‹ˆl%xP]”jµºk÷çÎ 6£ÊκDhöìYGÞ¸iSBÏ„+W¯®[»O¡ßRuEDÐÅèÄ|µ÷Љ• Ø{â0¥ÇbM§+Ä•Šlõ+TÊ j¦[øsç·††EDDò¶_ÇÓäü" 'Ê$#==&.ÎeË„……c;F¬æóà.DTM7•–ÝtëÖ­Aƒ¾ùÖ[ãÆÇmš––¶~}ÚÁƒ‡4Zm\·îçÎ d9ˆx, HÊ¥rÅ2™L-Z´ˆŽŽ>zôhZZZLLL¬ aaaÇ ÁFEÓúüüüîݺsNÂÉá¯klœÁP©¯¨àvÂ?´oßA&—·o×nýú ø[<éýxÓ¦^‰‰µŠìÑ£{ZZ*rèlK6mÚ”Ö­k\jê:Ü ø·¾øüó' ˆ‹‹ùlçÎà –‚iRíø€¢¨²Ò²üüüøñ¸ävcÚþN׸®CeEEEµsĦ„åeåùùùñÝ{ˆ%÷-ûÊØ•+–ÛµL\WÜ2vòU4Û¯® ’:$B4MëmÝij¬¿ŸßÔ©SW­\¹iÓFžeS×­KKK1}†J¥â9.ÎÖMEAW–ÄR Ø›@Dü7n>|ØjµNžüƒ…‹Ö¯Oûè?ÿafÂø @ì$Chã†õ‹-1bDÊÂë×§ýçÚž8ñ5áÖ-[’“ç÷íÛoÇÎ4E­X¹âÖíld³C­$€¦«+åíÅñ\NvÎÓO?5õÍ©¯¾:§YŸ¶~Æõ~þY«ÕR¶JY­VJ$¡Ð2>Þ,_m”lX¿~ÇÎ ü±B©|õÕWm#³¦e€½wŠÄ3téévv‘;X½R… ãååÉñ`̘1<â׬^}üÏ?ÓÓÓ§OŸ>rÔHü¤ T&·²,ÇóÎdœ§K)…@XІ‡‡'&&=ztâĉÞÞÞ=zôH´¡gÏžk×® ŽŽÆwPuøêöGÈbµº»{P4xžã«QYU5æå$£ÑÀóœè6ïíåÅóËZ!ñvÏR.Ôh4e¥¥_ýõ¼ysvíÚ…m‹mÛ¶&O™¢Ë_}åUÀ¶O·97è¶íÛS¦NU(X°úé6lEmÚ´ ðÞ{ïjÔj•jÁ‚÷«û~l!žçl•¢xž÷ðŸ2uÊêU«7oþ˜çù´Ô´õëÓ¦OŸ®V«qí|¼½yž³Z-TW !ñ<ÎR®ûú´´õë×OŸ>cåªUÿš2eÍêÕ›7o®nŽóñò™€ª%“È™)h^t] £éÌ#Q7ñˆÇcÆŒ‰‹‹KOOïÙ³ç‹#GÖt’­›8Ö*´J­RJÄ5ìð«W¯þøãŸþùäÉ“W­Zµÿþøøøçž{NxdÈ!V«õ×_Duì(”›G€¢(O«Õb2š$R©ðˆL*Û²åS†–ð¬ueµZ•J7©DÊñ¼àÉ‚Cçûõí×ë÷ÞÿýWúñô¯¾úêÖ­¬Å‹?ñüó€‚ü|@ŸÞ½…_ÉÉɶ³Ûæçåz%&Š“áZçåå[!‘–„K+Pc«”Y*•Ƽ<ñhÍê5Çÿ<žžž>ýíi#GŽâXNðª+•n2© ÀWO†!EÓBËH¥ÒÜœœ 6L{{ÚÈ‘#yŽóò„кµkŸôöZ¬Vœ ‡½»bç¸í#ïr‘ØÁšÕ „°¦›$L‹Mœžžßó·ß~Û²e˘—LjglJ¥›D*³˜ÍÐÙwˆ)%̾í\ó!„"##üñ;vÒ¤IO=õÔ;#« !œ1cƨQ£:wî (--¢IBÈG¥‚VUUz0^âº1¦Z ŽW«•¦wŠ¢°„GAÏC Ûà€¡il· ><>¾Gee%.¯ŸŸvöíôôZ_­°vŒ=Äbàïç;ûvÆÉ“Bh›•#€¿ÀíÛ·²³o‡„„ÔÐH¼¤ck•Z !¬ªÔÓ^Õ•Jzùå²²²;vL˜0ñ…Q#YŽZ¿ºR4ÍV{±â…–¡¯þ~û¾ÿ^£Ñp6%˜””4pà@•ZÅñœÅbÁ™@ŠBWí¢ÈžO¼ˆOŽ´²kÞš¾}^ÔMžžž€Í›7oÞ¼ùÍ7ß|áÅ·oß––šŠŸ”ô²¸F"—˜ãd“Nž?¿ªÊàrÎ’}êÔ)µZžžîïï***ÊÌÌ ÔétYYY?þøcNN„P¯×geeµðõ¢p¯JI~~¾ÁXå«õEµ×1''›¦©ÈV­$ŒÄ&BÅ“25j”B¡ðQ©$ sìØ±~ø¾wï>ƒ‡ P>r¸¤¤$®k7«•=öÇï&ÏnØpક+o¿õ66>>\RRÒµ[w«•ýã÷ß““ç?÷Üsؤøßÿ~½uëvøx‹Å²tÉÒÄ^½\.£R•jÑÂ;÷ÏÇÆÆ&&$ôí×Wì˜ÈɾMÑTd«V2™\¼È )º:ß!…B!nžç àyÄó99ÙÕ™H¥vkÆXË ÓRà’NvKþb'‰°ü î&­Ö77'gÞ¼yS§LyþùçB;t”J¥7l}út……¤BÈZ­î=âãw}ñyË–A^^޵ͷÍfó™3gäåéÅrtZÃ=áææ¶xÉâ"Îjµúøø 6lîÜy¸uƼòŠL!ß¾m[\\¬L*íóêø b9í œlÛ¶m11]dRiLlìø ±yy̹\¾uëÖîÝ»©Uª·ÞzÛÙ(Áú×ÓË W*¨e—·àî Œ»ÌfóéÓgäãíà ‘'!„8–õôôZÆÛÛÇ%w!&[&^^Þ<ÇÙ­m?ÿÈ'û=qI„V«ÕÝݽº0-}ýü¾úúkF#ÔeÔK/õ0ÀG¥2¸›<=¡ Õj5´Z,EEE.ýÅ-üüpwîܹóúõë³gÏ~å•WvìØQë²qQQµj (a0) –ãΜùûðÿ~mÓ¶}PPL&Ã?a6› /^¼˜Ø;2"R*“Y-»’ˆc]D1tvþ=‘#MÅ¡ö4*fËx,O0¥’H$F“ Wªm»ÁÁÁâJ\¸p>1±w«ÈVr…û'y¿BR©Ôd6 -,—ÉpÇà–Á™DFDÊär«Õ*è8 Z'ví&pqÉ'1ŸÂjc7µl)ÕH§Ó ÝDÓ4Q.ÇžZ£‹¥H§·œÐ²-üüð9sæ?~|ݺuÛ·o_´hQm |E:‹D£G©TÒ ST¤;zôèÍ›×yŽw÷ð0 R‰4,<¬k×n*ŽãÍ6>9G¨‰£I‰D”x¥Bl9:,‹Ã¼ìWŽë“J%‘H „:]a­•R©6«Ün¶/0L.—ÿc&<,f³]XŽÃŸƒËÀ>(ÊÎå+ŠŠÖ1£P($‰¸›ÜÜÝF£P«Åj4]û2i´Z¥ìè(UYYùá‡Z­Öääd±TtÖ:N,`qµ)[( Žç8–3šŒF£I©TÈdrš¦!„V‹Åjµ:†d‰cˆmDÇ@§•h¯=3(Q©œ©Sâç°XæÊ_=oe‰TÊq,keÅ•bBÈqæt˜?ÚÓ‹a©LƲVç–¡(Êb±°V«]Ħ™jUv¢XS‡;sJ˜ó#$“ÉJ%瀞Fƒ¡¦›@m¿nO) EA'YêR ˆ×I ýGàk!²"%‰T&Ã!”„,ËZ,–e‘“Øp`¨“XBt´ t6¼„¥ì©ƒ\8ç@ݲJHÉ0 –X!ìaYÖ5a'"]ƒDJ%†a(ÀCQÇáaæ2¸Ü¤`Ï'èá-0¢Nñ5.•L*•Êd4¶^ dYÖl2Yìm1ÈãeG)1'î(NÙnë(ÚK Ö,Bð“¨SBÆ ½°âxp‡àR‘p˜¦‰mqG:”Ö®ò\ÚRµîkpø(LZECŽ·³@›ê!~`-ߊM%—9Ԙ筂tŠUGÿ¸Ÿ@ÌN4Z-#Œì…”••a¡¨ÄKó¢Iiõš+¾Æk0"Ä»¹¹WVV0"Jàòû#@Õ!Û¶ He2d›Vð¨z!â^w2=ÊdXCHáEˆÇe»€R°zòW•( ;!žôàDUU•6ªSP¼'J´ËHˆˆtº€B//¯ê± >@È0Œ@aapHG:«!WÁkâù˲ծ}û&N›¯êº)¸*\&{”!žÀ;^ˆÇ¼½ñg(gsJá®f…ÈiãW-?Sóžý‰‡:D2Èl6 †*Òmw™LnÕI@Ѐ`pÐÑ)÷† K +Ò eùŠƒá BÕ¬I#ÊÞúj* ¼l†¬ªvqPösµ¦Â¡“¤“šl†ê2¤Aî]DÝÉŒï÷ßáźvë6xÈÝ{öà›Ç­Y»¶o¿~=âãçΛg08ÆñÕ–€eÙå+–÷íÛ¯wŸ>8®‹¨.11‚¬.,KJJJb¯^‰½z¥¤,–ºÄÄ|ýõWƒ‡ éÚ­Û¨—þïòåK¤_›\oºr@rò»¯MœtôÈ‘7m:wî,¾ùÉ–-™/~öÙgþY&“­Z½Úá©ÚlظáÚµëŸý÷³ï¾ý¶ °PPs'32œõݺÔÔBnïžÝ{vïÎ/ÈOMM¾Ê8yê“Í›ÿ÷ë¯}úôNIYHúòÁšç.(U‡=%“ËŠŠ‹JËÊüüüæ¿3ßÜ»wï¬Y³Zøú*•Ê©S¦üòË/OÕ–àû}ßÏž5«…¯¯‡‡ÇôiÓê.ëO?ý4cÆ •J¥š5sæO~¾š3{¶¯¯¯B¡x9)éÒ%"¥¬!UCÆùë_®_7!ëæ%K–|¼éã7º¹¹Ï˜1-1! +,6|xŒ¬-AQqq@``=ËZRR€¯KŠ‹…¯¼l» är9Ëq€Ð°-›7‘n4`z8È«ê%B¼2n¾À´kÛvÅŠå¡ßÿãýÞ?ðS"@­ÑlݲÅ×þÀ 1jK Q«ssrðž÷„J¥ÊÍË jÈÍÉñQ©êHœuó†Pr‚û çÑ‹ÕS›!%fßÜyÿž0~\PPHØ¡6bøˆ”… gÍœéçïãÆO>ùäÃE‹Ä9Ô–`ðÁ-^œœœ¬T(6nÚ„uŸ‡‡GVVÞð$Æ€ý—.]ö޻ɀ%K—0 îz:‚F·¥˜ú<Чw⌙3s²³CBCRR>À7ÇŽóé§pÒë¯ëtºÐqãÆ9VVê Ìf³D"Ñhµø;„NWXVZÊ#äáîá@QŽãùî¬=*((¨(+C¨5ZµZÅí?ìd³Pf„P~^^EE9ÀËÓ«…¿?N¹xἿ¿QQ‘Õj•Ëåþr¹œPªñ¬ü1/''8$4$,Œãø«W.¹{xTêõÅÅE&£©Sç.žž^—/eV”—«ÔjÞþ¼ÿ»{°¶………“¹S—wë×®zzzµiÛîâ…óŸ,–O¸Ì……,ËÆÆu•+”çΞ®Ôë=½¼„×`µkßÁG¥¾•uSWXîú¢øî# %•ÉŠtEEºBµZ#“Ée¥¥‘=æáî¡Óº»»yûø4ȃµ%¨(+‹|üq77w]‘ÎÝÃf±²sÐwå=þ¸\¡(.Ò©Tj®P8A´mûž^ºÂ‰D¢×W¨Õ"¥-ƒƒŠ‹ŠJKK) úúùáƒËX«õô_§ÄÉ”J7qê]?X[–ã4jMaa>Ù±´¤¸Ž2s«Rk ò9Ž£Æb±¸¹»—––$I~^.o{ï—Tt„}m”B$á.…Â;ÄÄ/>TÈ^^ÞmÛµ×ëõçÏñõma4hFÒ3!Q®PÔ‘áÝ=X[†¦Í‹µÎ72ÖdB3‹™µZV‹…¦Zd±ñö§3ºôL)Õ)ä7®]e$–e óó…û99ÙÆl2UUVq§Vk² ·T*Õ¹³gTj5EÓf³¹X§ lÙÒ!û{°¶^>>ÎõmÑ‚ã¸"“IÓtUU¥s]<½·ÒÍݽS`Kwš¦Y«µ¼¼ÌITÜÁƒ'jϪTªˆˆH7ww@yY@£ÕFD¶òòò‚•uó† EQj¶Õã­•J7€ÁPUVZ œüÀõqµJÝ,K^nŽðQoTUUUø…r(//sf’wô xÖæ2B¨¤¤¸ÄÞ0wH)d‚*.**EuüJ}\£„RÕzKSÀ£N©¦¹ÜÌ)EÂZîw|r AýA(EÐ(¶9¬‚ !)ENª h`J‘­ë÷nK¡\<&‡?šs>BMÔ<'¼$3¾æ9¤šPŠ€àN(E©&h`J‘Cª ˜Räj‚úƒRMp÷py'S[R|A©&¨ µ^üŠG×Ý#\“Cª ꆘBäj‚4›Íùyy6®ñ€RMP?ˆyaõ<ÏÏߟ¸: îËŒD Ü«5%\)EÐÀ¸/”Xø¿Ê<ϵ™çèÞÍó.11$ŽàÑ3Ï¡Í<hx)ÕDøD¤Ôãø°/O:ùÔÓOã Å×͈ÙìŒï^ù!î¿ìË•+WÍž=«Wb/‡k¢›1¥EEÅu'ÐhÔ.û²²²rÆ ÿ;|¸° @éæ=òÅ‘qq±õïï+W¯Æ÷ˆw¾¶›¼"´fÍÚov!6lØ¿&OÆzðéáQ|B_Ι;×ÊZ×§¥ýñÇ»¿ùzàÀ›>þøŽ²²X,Œí„Iñµ»wsê¯S_îÚµë‹/Nž<¹gï^bK5WJ-Y²ä÷ß«CWfddLúf`` MÓÞÞ>ú÷ß´qpÙýöÛÓºuï>eêT|D¤8™ó#¾Û÷ýä7&kµZ­V;ùÉûö}Gl©fI©5kV_¹r¥uëÖuH©¨¨¨”””3gΘÍfçâη§M{饗U*•B„;‘R’RõyÓÕ—_îÊÉÉœ:ujëÖ­‹ìC£\J))ÿú×®/výñûïëÖ®5sæÌqùÈéÓgÆß3!¡KLL|Ïžåååõ¯€B¡0øÚ`0(•J"¥b ÕWJíܹ³gÏøùóßY¹rÅÔ©Së8üÚ¹/!„¡¡¡3fÌ8õ×_.™3wÎ /¼ðãþý'N9|ÝÉW.\Ä×/fFD„)Õß?o`ß³gï‘#G333=:dÈ3õ™ñM˜øÚŸ.))á8®  `Íš5íÛwXVV–ðˆÙl–ÉdR©4'''eáíuüôS©i©:N§Ó¥¦¥<„H©"§„¿;8X1((èóÏ¿HM]‡_DQ‡”¬š8a»¾øð몪4ju·îÝôœÆ!†3yþüeËWäçÏÒjµIII¨©† žûü /†>ôÙg‰”z°€f³Y|&.°_ìSWgì?â=¿ßp^àÐ¤×øî„O ÿ¬øÖ[šK_)ÕD)u½ÒDú’ðéÁÎø¾$3¾‡‡RM$J˜H©&:ã# xð3>¢ø¥¥î÷²àA¶í{ÀÕ±cw±¡q/Û5Á#è>lgÐ8Ûļ'Žƒ¦"¥îæÌÛ²eàú´4???½¾"ýDƦ?Æ”ª'ê³A`щ͞RK–,éÑ£{||ÏÚddd,^¼X©Pðv†ýû{Ÿ$fCvvö²eË32NXY666öýïùø¨œ6?Bð°™çulgÐ8Û)%lg¨;ÙÒ%K¶~úiÊ”۷³U*Õ}úL˜0ÁÓÓÓ9å—»vá ™L6yòä§&óðSêË/wõ舷3>}Æh46üv³A<+$SÂ¥RÙ©S”B¡€f³97'[ÐPàaÙÎ@p¿!æ öž †ÈÈVdÙ˜ Ñßng xÄ_Ãog xdÕ…/ÿùœ ‚:Ùd¨2œ>}ºZñ T"F‚»d ¥"**J®Póœ Á€ú"”"h`JJJÝ5Èv†æˆ†;C‚lgx)šüv†?þøcÛöm§OŸQ(=zô˜>íméׇSñ5ÎÛvîÜ™4:éСC_õ¥»»ÛÜyóH§6u)UšÈv†uëÖá ¥BñÖ›oÕåGÐÔ¥TÓÜÎpüøñŽ;’Nm~Rªing¸|ùÒÒeË×­]C:õSª^ ÆM|;ÃÉ“Éï¾·ø£‚ƒƒI§>ˆ(ô0lg8pàÀò+–/_Þ¶MÒ¹ÍÆ–j²ÛvìØ¹jõê´ÔT§ægK5Íí +V®ŒxþyáÎÑ£G•¶w_4> Ùlʾ} ií õƒ˜'Çá›-ƒÈ²1A£+>² !)E4ÁýšñJJJJ4ÂŒ²Ï˜à^!¢‘RDñ4uÅW?„„†=Rí!¼yã:iú7ÈS ðè¼ôñ—CIƒÜEƒÅGpß™ïÜë„H)2ã# ”jP8œlN@(E@(E@@(E@(åÙÙÙo¿=-!!¡[÷îS¦N---yú KLÌ×_5xȮݺzéÿ._¾„ï[,–”””Ä^½{õJIYh±XêNÏqÜšµkûöë×#>~î¼yø½SˆRMæÜs—çm< È8yê“Í›ÿ÷ë¯}úôNI©Þ».5µP§Û»g÷žÝ»ó òSSÓêNÿÉ–-™/~öÙgþY&“­Z½ºñ*PC!Ô´¤Ô—»vÅÆÆÈd2ww÷É“';vì¡ÔœÙ³}}} ÅËII—.UKŸ~úiÆŒ>>*•J5kæÌŸüTwú½{÷Κ5«…¯¯R©œ:eÊ/¿üò@êÂ4©–}d_êåå…/är9kÛfYRR€¯KŠ‹ëN¯+,6|¸æAµ^Ó¢y}¨*•*7/7¨e 7'ÇGõFª5š­[¶øúúó¼äõ¡b ÐéÒe¥¥%¥¥%K–.0`@ÝéG ‘²pavv6ËqW®^}PgL6-Jáó6z&$¼6iRTTÔ#N©ÉoLV«UÏ<;ô™g‡jµšÉo¼Qwú±cÇDwŠžôúëñññïüûß}z÷&ŠôîÝ»·¨!F¾ø"¾6=?”»Ÿ*%|”ÉdÉó““ç'×3=EQ¯¼2ö•WÆ>Øê0ˆ·Ü»¡É*>‚‡„R„R„R„R÷èD¨ß‚ñí¼y@D4åCÂܯ¾~©Gg¹4HCH©z ž;M!¶¡¡¡Ac™ç[6o"MCÐ`”zeÜÒ.÷D)DDÁ]A>èTw h2™neÝÄîè] „m«ÁÁ!dÆG@œÍ`ÆGŽÒ'¸G£ô î³”ªÚßv“W‡}“¹WJGé€o1ꈰ# BÌs2ã# ”" ”"x@3¾ÆÁ¾ã7¶¸È!B € ZNÞ©¹7±97÷æ{ Êk9uJÀ»ÅSÞd‚ ¤iB©Ç£-?]ü`b_7¹ŒCå@…ýð“ýÍRù;vÞ^¾¼ýÀ~Ó§Z½Ú§Eh(þªèûﯼ=MÔf癟Q| €›…zžG„ÀËMþûÙÛGÎÜþõïÛNe»É%ÍÝ«Xöú‚ýgÎ ‰Š’»¹u0 ëýðW†«W³’ß}rΜvññgŸjÌÊz¨(…l‰còçlú¢ À{ââ°òÀÂ"+‡¬,2Y¬T3ß+Fîïo*-z=ª¨ho¾tIÿ×_œÁù길—^’»¹µìܹó€—'¾Ö |×ïSA¢¿ ¥;]Ú~è’ÉR}n)!Ä#Àò€ãËCŽeåú‡`Ȇ¼óïÓûö-ÅËË; ró½×Þ|+<:ZŽôzd6™Œ’É&)…óÜs£…KÙyâRžaZR?ÑpAŽè«LÈ¢oªqxöêµkSß|3!!!!!aê›o^¹zÕåðºrõê“îØ±£)´¯zÀ3„E/B…‚¯¨ðíÐA²LIÉc}ûòùù!CeåÉÝ»#׬q´ nÞœ9kæ}ûvëÞ=))éà¡CM[Ç×P¨QÍóüÂém#ƒûwk-“Ѐ¡ïî¾}{Å·š†ýc[ÍIz¢¨¼RüìíìÛ“&MzãõI.Zøé§_ýõ-[>Áî 8sæÌô3¦O›6pàÀ&ÒÚ¡ üýÖ[ýfÏz=Ÿðê«€aеk¨¢‚o×îè²e­V®P„‹¹uûöÄ×^›8a¿çý[©T^¾|yÛömýúö%3>;œ¾^´ôË¿%vnîw%¯2*ÔkÝœ 04”Ò@&¡e ¥IÜ•2Aq¹ãxlialذ1)iô°aÕçz6\_Y¹qÃÆ>ø@HóçñãÉÉÉ)))]ãâšN{Æt‘†‡åedøƒ²2`µ¢Š >/é×ïØ¦MÚ¤$G6lØ0v̘#FàíÛ·_üÑb|½lÙòŒŒV–}Á{>>*,§çͳeë§:.<ÐBs5·’çÑ…[å—²Ë/g—_É)»š[~9»ôòíâ 7óó‹õºÒÊKY±q~üøñA‰ó4pÐñôtáã¡C¿¼ÿþû«W­lR|pƒñv6ãîB Ÿ—ÇefJúô9÷í·(0°å¯;?’žž^Û‘Ôu¼Åå[@6lÜpíÚõÏþûÙwß~[PXˆoÞ×Wƒ4¥–~ù×/g‹F=ÓÛ $7uF¤(HQ@ ÇŽG,8!€ M™­¬\Zã,//W©ÕâlUjuyY™ðqÞ¼¹3¦ÏhݺMS32®¼þFHûöÚÐP>;••ñYY”FS^Rr;33b¥ë—äT”—{ûø¸üªŽw¢¸| È÷û¾Ÿ=kV __éÓ¦á›÷õÕ ¡ø¬à°rÈÂñ G! W^ÅB€ )$P.r …/ä2I~±>È׳F}xz–‹_=PR\ìåí-¢Ô¿S¦øøxEGwn:ŒÊZ¼Dn0´~î9þäI`±‰PbY¥—_UÅ••Ñ … ]éåUVZªÑh\ص¿Åå[@ŠŠ‹2¹¯¯i )5wd—žmUŸû? `ƒÕÊJ#—]l*¯bMžå€í±â8Äñ¼„¡¼ÜŸ8ßÞ_È$..nÿûÅÙîÿqœHÇ=ûì3ï¾›}÷~ÿþ˜—^âOžDGwëf}üqÉ“O¢’º´´Mÿþ7kyE\\ÜÏ]'Í™;ç…^øqÿþŒ'Ž>Œþiž®Q«ssrç¡Íþ~8™‘ÿ2Nœhf”¼9yH»¯÷ÉÓ·néAS°o”_¯-âÛ¶èÚÚ·K+ߨß¶¡ÚÈ ÁÄž¹–ÿŸíGd |*6TÈᵉ·mÛþÍ7_WUUUUU}³û›mÛ¶O´_2ë•Økùòeï¿ÿÁwß}÷ÀùTuñbÖûÄΞåòò˜èèË?ÿüCr²^¯§##¹“'Ãzö¬L?¡?{ÖùÙ×^{mëÖ­ßìþ¦¼¼Üb±œ?~ÖìYø«;}'Êà!ƒ?Z¼¸ °P¯×/[¾ß¼¯¯i¼_Ìc¾ÿßcÁ¶ô’ÇÂâ£[ñÌ\þ•£»¹¿Êí™na]ÛØ-{…„„¬OK[½fÍò+:uJKM vÈ!ºSôú´´)S§––•¾œôò¤Tö²å ’™ÍÖ+W$}ûæ?333òÃE§·ïH˜0»q\¿ÞiÈóóçwسÇáÙà  õiiëRSW¯^c2™kÕêå1cðWø(ùù³´ZmRRÒê.ÆÄ W­Z5jÔ(„ÐøqãñͱcÇ|ú)œôúë:.4$dܸq Xqh2³nT‡½ÊärþßаŒ‹5˜Ø??ÉÓ²çúvIÙ°wÏ‚ÁMÖ¿òË¡ƒ¯ŽŸè2ö¼> ’¿}{éö='M¢ }YÙÑ­[;ìÝ# 8=è©è'žPÀ]¼(:ôpjªvÖLusð9ÕÖ ³ÉT=BÃ;A)gŒ‰ûôÀÅÍ߯^„„›ˆE¹4ë^{jš/–ñKJb+*ަ¦vLHHß·/lí¤VM¦€ùïü=gn¿™3‘^8®ExxÅß‹)UGe›Å+tR<ϳ,˲,ÇqÏu ðó¤?ù¹¢¤¤úíÅ” 4MÓ4Í0 Ã0E5£¦ƒå8Öjõ;ÖBÓéÿýÜû­7Ù°°Rìòˆˆ@-[Þúí·:üõå—º¼¼Vsæ°ÇØ¢¦šû«—˜Fkb«Å²¬•eY«•eÙ¶Š©ƒBËÊÊyÄSb𦉄a†‘H$ÇqœT*¥›ax˲V«WÖ}Ø0Ù!V–Õëõ,Ç!ž‡%ãõ3oOãüQ5qBØÈ‘P&³Z,@*eŠX¼F¢aµ‚¢(HQ4Mûºó<‡EÑ4MAQ†aèæÙĂĥ ¤išçyÜ4Ï„„tHˆûžÝ4ÃH$Ц)š–H$ÌÃÛÉ4Z+ã©/Ïó!ŽãXŽã9Žã8„VvXëQ4)Õ|ÛT¨,Bˆçq-9|+KÑ4MQ4MCÛøÕ<‡bÁÃ0Œ <ä€B›¸ÈB)B)‚G õRóä•N¤A’Rä•N¤A˜Rä•N¤Aˆ-E@(E@(E@@(E@(E@(E@œB¸'Á]ï#RŠ ÁøtæÌ£ÑHI¥2Ò÷…BÑ1*ÊÛÛ›ªªÔ“æ h)¥Ë++õÔ‘ RT÷d?a­Ç#tä|>uævUUe%Ës¤uîÎ~2™L …¢}û,Çž½]EÇ=ñL–ÁÍlµ2Ör½¾ÒÝÝ´A=!‘HÔMyy¹Ñd¼®—¦gƒŠâ¼ÿu$èÖ°–˜‰IEND®B`‚nted-1.10.18/doc/docimages/copy_selective.png0000664001041000007640000004766311520267216016001 00000000000000‰PNG  IHDR…¹HŽ´} pHYs ‰ ‰7ÉË­tIME× 6á¤Ü IDATxÚì]w\S×?Ù ör C@P·8PîQÅÕºGµVm«ÖÖÙúsÖÖ¶ÚÖb]hµ.Ä[QÄÁVö†$@ d½ó~!`IÀÉû~üø!ïÝ{î½çÞ÷}çžwî½A (Þ`Q @å#(P @ù (¡@ÊG(P @ù (P>BÊG(P @ò (P>B ”P @ò (P |„ ”P @å#(P |„ (¡@¢ªÅû…š¸{rsA£i}á 8;ÃèÑàå…jå#(šÑÑpõ*}`øpptDiå£ÖãphÐs2ÚÑP]EO!è³·[ªB99/BNŽ9¼ƒÁÔÒD_èþoÌÅzv6½t|}aüx˜4 z÷ Hè| Å{Œœ8|?ÔêZ À`j½?b1& ;¤I0oôêÕú3©òrˆŒ„Ë—áÅ P*2ë²² + ~ú ìì`Ò$˜;‚ƒDB{µPû¨õì#±€FµºÞvÀbky¤¦΃´4@ýH çY ¸¹Á„ àì\ÑÊ †}#4Ôx‹@y9<{¦Çk.ógœ 2™QS< † É“aÜ8ðð@‡j¡0*deÁñãðßPUeÂÜèSA&ÃÈ‘0|8ØÚnnЧØÚ¾£·0:v„3šL ‘@RHÕq8pó&ܼ wî›ml. ¥–y,,`ð`ض 5 P>j«|¤RAJ ?·nAYYí¤ÌTtì³gƒ¥e3É`„üaCàr!.23ëÙ\(„[· 'ÇX~×ÎR§MƒáÃaÐ prj>‹D99@"A—.@  |„òч†¢"8z΃’Cs+KK˜<2¹~ö¡õi4 S¦€§'úÒ6¥òòàʸx22Là}kkøôSèÞfÏ›&…ïÚ?ÿ °?|ú)ÊG(}s1xô"" 9„BàrA¥j21Âܹ0z4têXtÁPk÷ERœ9—  ¨ÕP]m¨G<<`ãFX´HùÃãAPäç„…ÁÍ›(¡|ôÏÈ23!:¢¢ +«É)ƒ Œ ]ºˆ%d¶ÈÙýûÑàáÑàŠ7¼<ˆŠ¹23áæM=Þq,¦L]» K—×9 „òrxþü£÷@¡|ô¢²΃£G Ñ…ÁÁ°hŒ«ýÐónâ!QèB£ÒRHJ‚›7áìYP(ܵ°€;àë¯ë¯ˆÅ0f Pwæ{™ ¢¢`Ý:3Ϋ7òñx†#G  î݃¥KÁÎÕÖ†Žáðaˆ‰qãj¯(•ðÃ0t(z¯!‘ sç6èe++dçND,®MðàAƒ‰ùéÓ¨}„âmDqqðÓO0e ܽ 55 ˆìì`ï^ˆŽ†þý‡kãªúã?JJJÞð[·n=ª3Rš—ËݵkWK £Pàȯ¿"ÁæÍ0|8”–ôî ݺÕû¹×­ƒ7Öðwˆó¢JILRj”FZ ?ÿ aa°a”•5üŠnÝàÊX¿¬¬P=@RRÇ{C Kµ\`‰äñãÇ­P…'Ož=àêZ7y¤$7JKÁÆNŸ†Žko±ÙpíÊG ?_ªK'‡ô êß7dS¬@ÖÁÕ« •6¸ÿü2dfBpðÇ×b©TzóæMi£V·AÉðí·pëÔ_ÌÉ©¥¤ž=aÖ¬Ú‹*ìßÅÅ(Õãï-_½OÀáÒã.­Ø°_ VRk`Ò¤ú}¿||àðaHL„Å‹HüX[,‹Oœ8!ªÛ.²#0RRàÂ…zv%͘..µËËáúõ7²Ëø‡ÈG*ié¿_è:pƒÃ›9ÌãúÑ?RÔDj |ó ܼ 'NÀµkðô),_þmK(‘H Ð>4j5Œò@Îåë™jߟÿ8[S{ž£–W$ eè j£}Ø0˜?&Løà6o...nçnÛD|‚{t®kðœQ.€Á0í‰8tP¡@a&ªªjVQ«áòeðò‚Í›ÁÕµ%UUÁwßAhhýVvL&|ù¥¡õºm„ÄÒò®=œ±X,pób¨£|-ÑÝÎ?\¼xqß¾}¨Þ6 €Îëòù°s' /˜1`aQ{]*…ÇÁ×·vo›7!!¡­ó` Tƒš’”cç_Μ3ž€ÚG(P˜NàäI2¤Á&0üþ;œ9Óà“«L0sfíO‰²³?4¹6ÇÛºu«­­­›››Þ©/è¥ByÄßž9r€­ÀÙY#ÿ4ÆŽ¨2…†B!¿…&ñx<­á&a8(8ÔĪÒróò­YÖ]>)3&±¼ÚZTäò¸2ÙÒÒopÃü””6›aÖ¢„òòòüü|SóŠD¢¢¢¢ÈÈH*•jRÆüüü¨¨¨ääd#Ó+•J‰DbÓÔþg ñäÉ2™,—Ë›o £©&óùüf® ÌìÙ–..Ýã㪪l ÓðãµL*Íj׮ϫ[5þyU©”½Óƒ-…BáÇ'Nœh|–šš++«Êir¥ŽÅb7oÞÜT‚˜ß~ê¹xÍ˦b0°þÐyÁ0ð- 'lX¿á턜¯]»¶¦¦æ£]߯ƒ”k¢_fÒLZ/²k×.:n8å… öîÝk^•222,X`j®êêêððp‹ejÆùó秤¤Ÿ>??÷îÝF&>xðà‰'ŒXË kêîŽ;ŠÍX‘/#ׯ#C† X¬þ½ýÃ㑳gßíh¤ÑhãÆ3)˶mÛh4Zë¬ ô³É¿xtÛ‘èã–ïüü|=½¹÷Ô- ¢¯!÷±4þBª `aãÇÃãÇ RAI ¬_}ú @Óhô‚b"JJJ¢¢¢>HÿQ‰˜#мûžý÷W®I9bfö£",–ˆžŸ§UyØügRT(š˜¿aÀÃöíƒäd((€Ÿ~‚Y³ôœOgeýúµ¼´ŠŠŠ¸¸¸÷ÑT7Á+Ö“^ÃÈž9o›Zƒ,ß°MÅ©(æ4ÉÛ‡š»bõÿ¾GšÕêàóù¥¥¥ZODUQPI(.¿16 ¨Úu1ÞÎfù|¾yš©¬DD"¹‘yk„j‰ËåÒét¥Á£Y«ªª8ŽyU*++‰D¦æåñx"‘ˆF£ …BS}ååå¶FŸãÆ`0¸\®‘Õc³Ù2™¬ÙÄ•••R©´©dZ…#­µtaÚ4˜:–,Áܽër挃j ¥ráB9…ÂNLäóùu?Ò™ÎGfÆŠŠ zhªßétºJ'Xßl†× @4òõËUˆ$*¡<½´Ø£IÛçAô)¯¾ãyeÆìvšÇG–––PSF•°È¸âê7TVÆ%‰’7à3ó§¢ÕÕ|¾°Ø¬VVRÄbbqq…Q>c&…Sm«}< ¯«ªª2þ¡}„B¡©yù|¾X,¦Ñh555Í&óYgNœHË)Ò`ð©tÄÈ‘£ã×ËËË 7M¥Þ¿u/>‘S#”)Ô æÍm*1³8çìù‹ù%t©\eiEm*™ö‘Ss6·I9²häÈWJKsrræÏŸÿNøˆÅbI$3øH¦sp3|äéé9²Q³ÎX›A«î>¡ŸZŠç‡ŽÙ”óH–Ÿ]"dåæ²4 —˵²õ êëÞò¾Ëå§]»v}ûÒÇÄÄ >\û …áôÙÄè,â“-ñ®–f×D’$+8#Gz˜-P*'"Ló$¤ÊÄüLÎÈ‘FêÕEPÀ*ó2dHSßLëŒb++«×ûÝdff>yòÄÔ¼l6ûüùóC‡ujîH²*zfø„¥q¥µ³,ÁÝÝÛøâ ˜LfSé¹Ì¼áÓ秊…ŽðIÏÓÇþÄxvy=1‚¨.ÿyí7Ûm:úOúd®†“q>6Ë{HˆYO¼Ëóçχ âiĦ×|>_¥R9Ô…>š…B!—ËÍë8-(JII‰yètú¿ÿþkRÞøøø!C†tÒ9(Ôdÿ‘”•ùõ–¿gsèÏ?ux·”©jz³‘ +WùåªU«V„^½zµ iGÕ¶mÛÔæq¨ƒØ?Uñÿ±Å;¢N~tcÅ¢OG½zý6O`DÍþÍ›ëÈH6Ζ.­³¿=¢‘ýïÛ¯ÕžC i´+gþ ðÔh°vT=ëuhyÏ×mùõÀwò³S7­YHÁ‘äDnñÎ=7oÞþúeS¬˜¶ê‡Á]y2Wúÿ.þyÊÞ¹Ýà!ÁÖz‹Ԋò#Ç®ìÙ³ž'ÓZ‹’P|Ø\„("voüjûoR¥vª{×ÏÏψ|•Îrv,ÑbÕ·;†÷ñn¥:)9b“]°ý›îÝap¤ ÖlY5SO4\Á«Ëî]={vÿ†‡O’\}zÿs:Ò n 4yÞƒÁððð ›`؈²š¬œ¢»÷îáªe©· îܹKÀaœz8@!ûéÃX¢SݪHäläñ±áŸ‚FM£ÑtEµ%%%ååå÷ïßÇé;`ƒN§?|ø°6þ¨*a‘Ù–ú£{èt¼”}ïžùû9H”¼{÷ Í–P˜ãPIš&Q¹…\@¬¦©ªªp÷îå“IĤp²l « ããã}V— ª·nX—ZTÇôâyœ±… +W.½zû¯F`íìùå J²SKÞ×Õæååå………­5ôÈÄÇÇ5›2##ƒÃá´¤n/^¼(..n‰„¬¬,:nª™DÈáò…¹©õ/..Žwvv6–ììì¼¼¼ê{yêÿ¢bÍì9³R+<:ur™ÔuKÄW·Ž6dž+%Xx…ú[‘k½’wþûk䬕½ýÚc±X›¢Z•Jemmíå套lll<<ÿâjOÌgEùûöÃg*eÜô¹‹çN%a1è 2¶¡”\8uã¾@Ž8uðt´26J&åþyý™ŽOûɛެÿH/n9Ü}PôÁˆAÿ‡Ãái<±&=.⯨Yã†`_‹>Bã!“‘J~l(á_ `@  ö76¯{O¢ƒSlˆe͸Ÿ”£:µB•4ò[WoÚwD¦BàQì}:ƒýÂA£Þÿvíí­­¸`íè¶uﯟOòæ´WEÏ Ÿ0±.DûÖ­ûží:ŽÙ¥ó ³>7êb\zÝ•5kŒµmɇM‹&ýïØU 8¢å‚5[þسº…õ11Rb®¹—Šýië"<î-½¦ ÇC¾¾?¤ÁxHfçPÓÖ”#ˆúÅELÍË.ˆŒD+Ç¡þ“Lˆ‡¬LjO?:§³ó”uØcŸ©9Æ–®†Ô6ü _ÀÊÁ¹Ô·«Q/m<$Þ_Ïþ9©‡þŒÐ]÷3xâ‚yiá_¿vmîÜÙ bee…Ç¿nB“‘øøöƒ'‰Œjç2mÖ¬ÎíšµÈ4Çÿ‘–Y÷›dí¼ú› Þ®ÆzßLÚ²U`üþæÅCª☨‹éy%* †deÐÅË”xHävôù¨›êýkx¼Uúw4¾%ÙI§Ï]‘ª Kë1Sgöó7ÁwÑšûCÖaß®íDj_™LùÖbÌ ÇC6hEkÇCj”²Ã3ØKA³ í¿>«1IBêYáçu]öõ=ÊÙU £K—ŸXT­[úÁiÕ&ÅCêEôåÿtG‰_ЄR&ÏH±YYYááá¦ö F#?¼ó+ A'Š2l¾1íŸ8~týÃC´X·ç˜æcÙíÓŒxHQMùäÁº}gb<¤æÐ¶5:ó-ÜÔå?˜¢OMÜÕ£¶:«ˆ©Î=Z¨“çk*iżðO“ XK6ìZ¿p>–Vˆ¼AÔæÍþLBMuyzV^Yµ°%ûÉ uf,“U¥fW©n¦åM9«~qÑN;Õª•ædÚV=Ã)³ø¼§ÿÉÊ TXÞœcÎ#óf]W'œ°oXººåZÅ`)SǶµwàIÔý‡._ü©ƒµÅíǼÔÄ­;¾Z¼`ÓÉ׈Šâíì—ΛÅȨí>™=obhЇî:R)¥Ù™R5NdòqªÈ±}»¯<©·qD²‹o/“z~ù÷;Ivη>+¯ä·gûãõ)äsÏ_Y#Sët¢ÏÛöÑ£.]ˆy¨Bï–Í2ÕÅšB—±d_ æÍ®',ʈ߰nãµûϰ’R!Ÿ:#Ü}“³‰?νææ>вÜSîþÇÉØßXÓ¾0Jˆ\*M½‹Îºsæ6‡VQoï àÍ›7¿=·…J)S×w W¯ÐŸ6/3j¼ˆK?_ݯ5öB|÷žDênÔÑ/Öl*¬àBÝó¿í& Pjêw2Ãàð3>ß¶bîÓžÅÏÇíçŸËe°ž?vîß“Wo> ì`L^‘XTÀ«?ìÀÂÁýtľ·ÍGö}Ü18 ¨ ¶6/-5ªý€ü›â£óçÏW•åíþq¯Œ`3aæÂÁ}ïGŠÏ)8ùï¿ófÏ&wª½X¨ˆ="ó‘Ø_씢úV—ܵ½éV9b‰ÒLýåRÕƒ#|©@Itc ˱7¿ˆdeïíÕÉ䱈¨_¾-ÒÙYÁ¡SÀˆ©¦­Ôqð X²xá—_®ÁQlºøx`ßµNÌþ"†éÖ{`·Þo¯¢¶ŽímÛ·\–H íØ‚ì–j¬§!BåN=¤ ëh²!`XôDA S»÷èi¶…5¼_ÿ¿#Nk0˜.½†<îëh²uƒ#z¾' Á·Ù¡ý( ¬s ˜Æ9h£ïŠD‰é1ÔÅ‚ŒZ7(Zñÿ*sšbÒ×z°w÷ûú«/çÏ_ˆ·°óõvÇ~øzÀ¶Ùà;ÁѺTq÷_¶©qX¡GH‡ ÑíQ2BÑZ0þ³œ‹>Ϧ›šO´èÑÓï£ £6ÍGÐ}¨íõωÏnÔ ÏŠwÂ.332âçê‚j¤mŶËG…¸O" X1ö—…\©TÓ–««ë‡òÚÚÚ~dúG4ª¸[n'ä%_Úq½M›Ûm³ÙÜtá¡ÉTF:p‰•µ› >·’³±×xÊG 2™õöpúPªmiiÙêfu壌Š”ú[4Ù‡äûpëJqëú1ð…B™3gÊDZóèØÅG*ç}g®Ž÷ýF#•J]¼x1:_k­f#€¼»g%¶uCÃPÔCÂbA0šw0­­­ýüüÞ³³í¡×H¹};IÊ.òµcbé[õg÷o9s“'ú¢¨Ãò¥Óþ޵Ÿ?KËQ¿]RêÒ¥ËêÕ«ßU´Q>²ò´\ûP3dºJXhAË“›`[cÔ‚>B(Zî½Ç>|螘Ìá›°‹6‡3æä’m7ôÆÅ—:ëg“sZeàñž4áÑ£GwîÜÙ¹sç‡ÞgÍš5¿þú«££cÛÞA»ƒLÍò1éKþ€¡Ñh”JåGÐA´§W¡}ÚÆñAòQqqñÞ½{Õê–ú}"##ãââÞm[nß¾}ñâEt ¾‡¸téÒÍ›7›MV]]½nÝ:T]mw¾&‘H [þ:-++³¶¶~·ma±X<ˆï!˜Lf³gl€\.ÏÊÊBÕ…Î×Þ=ž={–’’‚ê ”Þ=RRR233Q= @ñ6æk"‘ˆÉdê¹hJ rË«yŽ®|¼:bßî¢äêêj‰DÂd2›ýØY]çsqL¦þ/ú€Ëåêo qjµÚ< ‚`0˜šš@Àd2µ?M’Àápšì ×ÀeájjˆL¦´QAf”Û*Ð-—ÃáH¥Òªª*•Jõ6Ë5 >ŸoLç²X,¹\Þl²÷AÏï¹øf§ÐÉÉÉ.–f=ÿùðÙaa:»ÚÜýߦÌrá’Õß íièüõôøÛ¥ŤÉ[¥©4Íf§¦¦b±zì»ÈÈÈ3fP(”ØHYQr¥^98îõ:N¡PZ"¡´´T$™'!??¿ªªÊȼ’JK^‰Ý…͇‚ƒƒš9eƒÁèºçý4)¯1·Ç{ùò¥Þr©€1åVVV&$$Lž<Ù˜ö2 c:—Ãá½É0Ì¥K—† âììü6¹À¤þj•ŒÚ¼Z2>ËÅ‹CBBêÊm†|||&Nl@"Òªìàm?^¸ý¸_—°yó†ð1C~Û÷Ó¨Ø'£ûvf•WIq>îºÄ(çmýbÞÈ™K‰2™™™/_¾?~¼^ûèÁƒcÆŒ±±±Æ àРgÅfddtíÚµ%µ¢ÑhT*µ%jjjx<žy¬¬¬jjjŒÌ[]Edà•y‡††º¹¹½WV:›Í¾zõêèÑ£œÞìjÒ‚‚‡c¤ÆŒìܲ²²sçÎ5•ìÅ‹#FŒðôD#òõ»;FŒÑ©S'óýG‡~Û5÷ûßµdX<õ—×cdÕŸ-X"R¨~˜>¬oßP™Lw~„<|6£R‚jÿ£¢Nˆ½öù¹£Gù|í÷uÇ¥¢@ÑÊóµ×‘ðߨãq‚ê_¶|>]{Ò®ÛÀ鶤e¬¬‡Çn|¶s¿sš˜@ Ô¥¿þî£çwïAuýqr‘FñÇŽo6üïO©ö Ô»wŠKØw®D šAÑú|”ššÑ`lÑ¥Jn%ã‡UóñÕtÉ,€k‡7’§Žog ÇŽþ£½.«©¸“P2a4Q¥R¥§§7e6ÊËËsssÿùç½þ£ŒŒŒ'NhýG†ƒ‚CM¬*Õ+'))©¬¬ŒÅb™]“'OžÉd¹\n¶„çÏŸK$2ÙœCÓóòò233Ôª¼ÚZTä’ÈKÄb±Mì0‹ÔpÙ|¡ÄÖÞɆjad˜%y?ÿòŠŒ´“¯¶©-‰ŠŠŠ"##‰÷µR^UÅÒ`..μ 6>‹Åz}H·°sy<ƒÁhJfRR‹m³ë`š¯‘Éd{{{cù¨wïÞË–-Ó½èi½êÛ}!3׬ü|[ë&zðãÆL´c×.XfÚ-ºÝÙ¿ÿ§%§4h”J©@D­V÷è=&¨¯{«ø***–,Y¢×”““³`Á‚þ£ÉMº-ºví:eʳk¢P(¨TêüùóÍ–@¡Px<^#%‰ØØXgdÞê"(z Pö|Μ9¯ûùI«–­Œ‰KQ#b½íÀéMËr²²srëÙ»W7?®HÕ{àðÏ—Ìs²µ4~²WN+*-¯&S%”³‡÷/^³EöjWŽÒÌÄâœ,`tP´Qÿ‘ž×ˆ0#C,€®ã'Íݶd£Ȥz±jEù‘cW¬­­óòòž'ÓPJj!J³Ÿ®Xºòî³—j0Xܧó—´\fâ‹Ô:2Ùvêç+ŒÎq÷ô>zò_S ­,}¹zùÊËwŸ©G ùùwmž¾Å™˜X™ÎA>}G€ŽŠ¶ÂG ãÉ“'†Ódݾ R¨¨í{¶>yZòz‚îÝ/\¸jyÙ“'e-©®Tį¬ª®¨æUVV=}ú‡Ãé5Ÿ?®Ý›™›o)ª"‰¹ ‡µ†S]%’(rò 0LK¾1[XX4«"}–†Ç®ˆe©/2µÂH Rnù׫¾Ì ³^™êÒÂ<#ó Ëɬ|j)«4))‰NopN|n~…DÉ•ÙÊ.|áÊ.¶Ê:±†ÛJKKÙl¶© Ù[¿Yû$»´Î$âómmm '+ð8¬J­ ¶“Oà7_. e&ÑŒ.—Á`”––®-‚h<›ËO}‘ÑÞÕÉ@b•BVYYÉdq¹<^SÉh4ZrrrEEÊ5¯ƒN§'''3 cùˆL&7{œÃÅèójÙ¸}³³S“Qv/ã®çWÊg„Ò躌}ØØ¯íÐøëG#Û7Uœùd×îIyx"Y©=ÆÆÖ¯´uÖò‘Òšb‚­m½·5/åþæm{rK™Ú—ìßloÉy¦J(ΌߺuWz]»C霅_ØÙÙH–šô(“^ï}ÇSì§-ùJ·tC1"¢ØÒ‚B¡ØØØ4ª°••Õâ%K?™6E¢@\Û¹’ð8ãã⬭­‰D¢©H+ÊxúŠŒG¤Îÿz‡‡‡G³íŽ=âàäJ²´qv´55þ—ÏçS(”&k‹¨Ý8ÿëŸÇ é•$2Y.•mùßÿô&òÊìÞóà™L‰àpàÚ¡“¥-£ß?øºÂ›45[Žø!ÊÑ£¤ Ðét,»yófÄ ž]ýÃŒž»I©Ö4•FÆ.ìéf»nݺ×o‰˜QTËÆœx©¤²Q²Ò´‡nöÓ>[qóa‚L©þá‹‘~?Èz‹[»vmMMMm+Ò´èú[Õ¹Ï;;6Xпtù7H pðàÁ'N˜”…Sü¢‡[‹l欅FæåÒrÇ èªöö®^‡ÏÝRiŒ-—Uˆ<‹DvíÚE§ÓݺråÊŽ;ÌÓ@VVVxx¸©¹UôY#ûiBuè°çïsJã²hÑ¢ÄÄD³û+??÷îÝMݽql¿“CûUßþ˜”‘/åWŒì9ÿ·¿õ ZnÕ” n½9z6š-?¿ºßÖÝ+E¨4îØ±£¸¸A¡Û¶m£ÑhºWZä?”e-^¾¡ÛàégÿÙ†Ç6õ®ª‡©ïž¥ëT¨ùÅ.Äüå:áà¾M)q÷LÛu7å·cg­&Wþrìãb¶ Þ¾°t™¼p©éîdÕ½+çNŸ®` yBɲe‹LÊ}÷Yb£>boá0iÑJ#óÚuêróé‹’¢"¡|};Sˆ„ÔP§:»¹ýt­„#Txûx[QHï¼J%ûHTäœï6¯û$ôî«ëOžxIÇÇ Ó³ûbIQÌ“rÉ­Çǥ黿]ùßåQÓ¿èeef_ä¥î÷ë³¾ÕàÒîJNÉ(;´=˜ÏG¼²¼ ãÆ·:ÿ¿ãìÉMvF«ÄC†ÍؽkN‡ 'q$‹a#'\Ú¿»‹'q´«{b6 pîäÿ[Äѱº˜ÆEé¦åŸî?vYùê4ˆ€€¾Kš aäÀA!}ºÄ¦ä!í½÷<Ÿ¯F°66Ö8¬É£(3ùÉᣧ”:GÓŒ™õù´^&ZX€¯Ò`ll¬qØ·´åË«xÈ߃‚‚ÅC¾|ù²¬¬lüøñfˆe2™×¯__ºtéÛiEddäСCñ4é…62,,¬©Ž‹„ bmM5Ü/jµ’_# YXZRš d‰‰0`©×®]}úûk¬èÛ?púôéu?ËÓ±<:&`‚ºQú¦ä¼«ú¿pJ°%ϱ+g÷~ý…BÉÈȘ1cF³{}Åœœœäää3f³ŸdËÛ{ÿþýÐÐÐ>}ú¼.ÐÔBÍØÏÐ ~|šª¿ñúûãÙŒ:7¥ç×•Ó áñx­¡ñ‚D>ä´ª*@¡è‰Ì ‰Á¼Ž&‘H8μýṘ#‘H´G?R ç‹ hœœœt +(P>Bñ.ùè}žÑ£@ùÅŸ¢ª-YÿŒâ=UŠ ðaì"´zõj´¿Pû (P>BÊG(P @ò (P>B ”P @å#(P |„ ­ÏGˆ*%1IwÿV(P x|¤Q –NéÔ¿oÈ ¦Xj ïŒþÞòÅÑëñ.=îÒŠ ûÕj%¡@â]ð‘JZúãïºÇàðfó¸~ô5‘P @ñ.ø(çòuŽLµïÏœ­©½FÏQË+…2T¡(P x|tÎu ž3*À0"¦=‡* fÃüýFÄÒò®=œ±X,pób¨£|-Ñ]Dß)4êçÿñŸPT”*ÝXLÙiíщ„jÅ»£àÅ¡C¥eÙ¹¸¯\÷í°ž¾oK â° Ô”¤;ÿræW?PûèÝQ+N.xü0SX!{u4ÊG(ÞÍx|zãä„O–ðdµGi\¿• fg¶”RSS#""ôÞzñ²¼€/‰øë×_vüÈ;ogÜ?M¤µŒÏæ+]\ÞÆ©/÷îÝ &‘Hðê¼ìĪÒ÷«¯Múe„›Ö‘R0N%þ ù®ÎFS9¢I¿ŠpR|±8ÑüpÛ¹â ú…kÉ?pPRM”‘_÷S{^öáû'¬­­ßšÍ–žw;ö‰P"§Ú»|2k¶—«ý;Ô<—ËÍËË8pà[+ñÉ“'ݺu{Ÿ÷´T«¤7£.¤å+5Ðѻۼ¹Óɦœ#_Q’u!ê:‡/"’­ÆLÙÏßT*Ùº5_IUšºdÖ¯3ÉãÇŒF¤ Ðét,»yóæ¦ÄüöSÏÅk~X6ƒõ‡ÎkCزp†õ·‚µk×ÖÔÔÔ¶" I‹FÞ+h”²æ²—‚f Úͪ6:¯üÄ¢jݼ§ÕæM’è^ÿÆ¿¢²L¦›—Uˆ<‹DvíÚE§ÓßRK5ò?~\CÁ×û(GŒ_ôn•ŸŸŸ¿{÷î·YâŽ;Š‹‹‘÷RQÕô¡=ê:ƒÅÂá©í=õ FENF:_†t´¶¬• äsÏ_Y#«½6|^ñÅ»³gØÈ’ Žg—À•«VuéäôfýÙ%bŽ\(vòî{öß_ ¸&¿Ó‰™ÙаXbrd”<åþx%0œxüÕS–×w†\‰QkêÕeÓ£"|S㮢%ðŠp Ûc48ɘ_XÓW;€\*Mýá­Öݘ3·9¼JH»üçÚ›ézÌOZµleL\ŠAëmNoZ>ÑX‹½(uÕò•×$ª„@¶únßɾœb¥B¬CFûŒÚ·é ž3ލQ'ÿzãNzu xtzýJT7O‡6îVŒ»~jÙÊ yeÕ`ß¡ËÕ›w¯$5r…Žq„›¼è»yãz4zÓ<»svñ²orèU`íâyõVܰž@$ðä:32÷Óûê~ZYÛýö×QSëk¦ÿH)åïÜ´M­A† ¹u.Ò€„;×£Œ¨UéééM;˜Œfz¥T*Ã≔& .##ãĉÚ#›ðaqB7¬’¬²¢!Dób¦°XaGœ’¢¶¤kHÒ7„í_î­àµ¬U[>;šÆÂ\®KÀKî̱ (q5XFÕ.·ó\Ê¥èg4bE®é{ÆÈ«I¯$X$žxÉ%G@uºm ÅKޝÂj@å’ë9—}­öeÅÎ#qŠzEDðKf)óUç ÎÜî„a¾>ºr¹B©"’ÈDBíÈQÉEG~?ð¢°ì•(ÑüÐÄ—cçäL‘ÉÕpêÐyÞŒ°7.=h%óS*“`É2ö?—ä$ývð¨T]»H 4óÉŸû 즛‘Åbp‰¾ $%%a±Xçe#ˆF&•j …BÁbÍ9x½N™BÁ5”À«,úߎý¢Wonyþ¡Ýße \ÏG²•…@$ßµÏÐѽ]4TŽCûaëá+ ‚ªÒƒ;¿Í5 ³ƒ K*TTû9 å%ÝËKP«Õl6»Y=§¤¤ÉdÝó²ÍñiÔ²)Cº‰JØ‘j`~s|ßí¤bA,--×­[×’‰naúãi£pX™‚Åâ¶úOc–ÿ(?–ýM®Öɲ/¼YmjMŠsÖ»s–j%àDWްtï>=&¨sâ,d)VtÿŠ@7AÒÈáå†<8Iÿ6’ ¾}ž¯½•|­æÀÌ2½¹^Ʋ… ˆ5à?º|©Áyö8²íßמ7JSV<%¤ƒ…ú×µ×Ü‹n—d}ðÒãº!4cÆ ¡PØš>)•ìü‘½nŽ6Úâ<‡g—p´¾ªIFéÖÄ»ßXzü}öiÔÊÛ{·¯µà\¼³+MUǃ裾jík7ÿ§:·Õ_®\ «»ŽÝsXR]‰‰‰+V¬0PÀº¯–ëJ°röͪ”hï1™ÌQ£FéÍ&—Ë{÷îÝlõ_÷™yþ·o¯>ÉëþÍŠI¬Ò›­i$¤¼g1‡R*•iiiÏ“iæ½dh/… Ÿ.=®ÞÆж­¹’p_¢6y¹3Exp’µ°¼Ö:Àª¬XqX½¯ßÌØòûgh š¤Ñ­ª¢ß'YñiöuæOu\ƒOc8"U­5b+Þä¤Ã&RMª$†d©Â¼’`É›ð§xÄô7û9 ‹·¶³¢h[dëìþKÄÉÅã$¨(œ3iZtl’v‰¢R*||í¢ö–½]{k+m^kG·½ÿ|êV©•\*LKNHNËÊUuo?0ïó 6ÿ•”Xœ“ ±s;­ßƒÁõ ™u ±%xùòeNNN³ÉD"Ñ•+WÌŸr=rÚ¬•…œZÛ­$'3Iy«VJ3Ò’ž'¦Š^[•~ç¿IÓ—æ—WkrÊ ^>‹×íØáýû×LŒO`ðµ›Ñ~N&lŽ=xÐ+“ ãÙm`̘®.o0ÌÐdÿ‘”•ùõ–¿gsèÏ?wOn|^ªÒ „&ìÌ +kOËÚ¸qc¯^½‚úº›WË 1Ù÷ìÿÛ®iO.˜¶1ênʧ7YâL6nã/IåÂzv@p"ïYç}…qÜ¿?£hp¢)ÿT_Pïßyù@!åYÕKÀŠ;Ïj<èƒV0L§ˆ˜Á.–“c²P÷šÇYDH1݇8[Y¾ §ìWë×6w_ªñöélIjÜ¢„Ìô¸ºŽd3mùÚ¿ dËÐÑ£÷íÝÍ«¼}¼­ÈÄ–WQËÏ=°~Ó-ïtî5âzôE¿Nv¢8uO¦óòé;"pP-uZÚ:^ºøŸ»§¥­³§{û–ïìõøñc*•êïïo8YMMÍáÇ'Ožlj#ÿº|G¬®÷¯¹x÷ Öp"¦~pùØŠÕß”³ÀÉ#àZÌÝ]]ë$¾|[¤ã¡sè0bj¯Ÿ½»ÿòeKV®üoaëëía†N½ºÏ™=sãÆï0$k?_Ï7½_šÉòÿúeS¬˜úùÆÁ]ƒ‚]é÷’ÿg‚^Ÿ\úÓ{å5ʱãÆ6ö‹‹r÷ÿ~A¡Ôè^ _ó¿mƒ‡¼ªª*æúõð™³(¶µœ?~âĉºþlÛžµþlÚÕ.r Ï8 •šZM£¼å·½*£Fê˜?¢Þ[b°íùõ3¾Xo>[Þ5 °ˆZE­|]7Ñ»ªTâ^ÑTõxÉ™¹ê®Ÿ–6•€›êV‘‰ ˜§‡»«Óm«\–æ¾~‹Gâ<êÕeY³þì߃‚‚ù³_¾|YVV6~üø&¿–”ÄÇ?ž®Ö‰LÂÖâ&“yýúõ¥K—êi)wáÂ…ùóçkcS„J%ûí·ßòó‹ë®x ùjå§D"##‡ ÜεO |¸páB·nݺvíj@¸ÖŸfLMbccÉdr³Á“<ïÔ©SMœ3`À½þì´´´J&sxÈp OÖóМŠ<ÿ$©ÞüéØmëw«È:ñ\99999ÙcÇŽmBäç秦¦Îš5«©Ê—––>}útΜ9M% Óé÷ïß_¸páë·Á±cÇÖ®]«Ç Q«÷ìÙ³iÓ&ê»víÚàÁƒÍ÷g³SNáq˜Ð_«4š/& ¶²wioA˜¶xë×+æS‰xÌÞS7^w3ËØ…=Ýlõú³EÌ(êk&À¥’Æ^½ÜÜÜùóç+•ÊÆC^Ü*8ûC‰¼·Èc¥µŽd*çÖi¶ªa{îþ.;þM© §‘£k %hÞŸ}QñÇbýÞ?ûÊ•+;vì0÷ùóçK–,Ñ{++++<<¼©!d†?[&“jI"‹0rz­~<,Z´(11QoƯ¿þúÎ;­yðàÁ'N4›ŒÁ`„……™áϾté’áÊœ8ôSå×wÄ³ìÆ£âîÝ»7n4 !66öË/¿4 96’šš:oÞ<½·Þ„?Û´é@i" Ñ ˜¥:IDATSg,ÇD&p^äžü~ѽóŽ-?L ½áÇo·¯š1Ò‚¤ûâB>›Q)©O ÑÊÿ»ï·jí#A0 øÛZ¾C;zøF÷Q© Ûc˜‹ ]‘÷Æ€¨“ãn=y¦¨Œåá×ë«õßø»9×ú,œ\ž<}ŒÁ‘¬ì\<;µÃ´U ÙvôY¿ní§ŸÎ#XÚûtîÔöº78 ƒ›âÁ‰¾;vö¿Ž¶v¾£ïV¾T#0tÆ×¡ßï½]˜ø+×®~µÎýót=‡¼{~V~ß}¿åýš× #:¢tñf¹QDìÞøÕöߤکúÝ»ùUož¨K@±²óõõEE YôèÙvÚkZ<¤¤<äÔ±£˜êÌ)E•9åÉOËþøÃàÝ-¡y¼Ì®ÖÀQIWï&LžHP©ZYUU•ŸŸäÈ®yƒÅ@<$-¥‹ÇDÜi*/ó™¯@ÂHðÔ›ÏGDÜnÒû“è]U*1@ë?Šˆ¸iÈ”‹Õ+¡:ݶ²È5""F¿ÿÈÜxH­ÿÈ@ï”””äææêMÀd2‹‹‹õÞâñxÅÅÅÇÝÄ-+ùyÿA©ŽßŪРQ©T………çÎsqqy]f^^ÞåË—ÓÒÒôø(ÓÓÕjuIII³þ##Çá“'OÈd²\.oÖÄ`0š’i 2--­ªªÊ@e^¾|YZZj ANNNSýRç?ÊÌÌ4 ´´4;;Û@:žŸŸ¯7@ hjؼ½xÈɽÛÿxô‚ ¿®_'—+¹YgÈ{žD† ÈÚIÞK¯qý2Îo?»sÿ/$‰¡¡¡Ï’JÍ *{›þ£Ó[ %@ýG­â?J{þÀZg.ìÕ+4^]ç?š3gN^^ž^™mÊm`A;ê?øqßàϾ3èþê½»4€·öÁ ¢›táXRÆÉ;ô™k~¢ê¬äØsñ†öÆ¡øÈàîÓ£ÿà!vvr„ÐsÀ°Ï—Îw±³BÕ‚Âd>êþëŠ!ƒlÙ±{åÂYÖ×`[JäºmÛ^žï6jîí+}îW+Ê»bmm——÷<™†RÒ›€@ (,(Ô¨?œ0X{G—¿þÚ®];´û>2H¥ÒŒŒ ™Ìœ•¡Íð‘H$b2¯« [²í¬gà‘È£G~ÞF!“é<‘*ùöŽÌ;DÉc¿¶ ;yòÔÉ“§Ö¹̨euuµT*e2™x|ó*‹+++% TWãù\“Yë Nh >^$4”€/À‰Äb x5±á<²D,a2™ußë&ÎÚŸ<N"Ñ/Ë•K¥*F£ÑŠŠŠ 233333ét:EÝaaè/ååAØ&⳸,\M Q °X,]5"Âår…[Íf³%‰ÞÕÕÕ2™Lï-‹%“É*++--0­©©‘ÉdUUU¯çR(R©”ÅbQ©zÖÙH$6›­·8±XÌáp 0‹%Œ„|>_­V7›˜ÅbÉåò¦’ …ªª*2™Ü¨»€Ëå® Ç3Ü/\.WïZ‡cx4èÙF^S g0eee………………ÚÑXTT¤V«]\\šUP(d±X¡y>rttüï¿ÿäryrr²ž×›MÇe_~£ýûÜ¿?]y‚õr$§¦¦¼!Æ­¨¨àp8)))Æø³ÃÂÂòók÷E”ØHYQre­f{Žœ\ÚT^FY¾È`z{N5?9¹¨©å%«ªj $¨(éPÍ–$'ç7™ È‰ÍVÖIP«Õ¥¥¥YYYÙÙÙrZ'JÕÀ-1_«Õ ¶L"‘HþÖ ï»‰‰Ø¦([RiÉ+±ëÜ¿¼¼¼¢¢A¸fQQQyy¹nGc0 eóóóÙl¶Þ‘À`0¸\®Þ¼,‹Íf§¥¥‘ÉäF·D"ÇKOOoäYÇ`0J¥’Ëåfeeñx¼ºôup8œœœ•J¥÷£GAAÁëܧ›A~ýú½ÞFíÕþd0 Eo«=ó@ÿc‚Á±X¬êêê×ï7R{#2™L òóó+++ 4'??ŸÅbPPPP]]]— ‘´•äp8º FfffVVVYYN÷ôôl4q8\—.]›UÝàÁƒ+**˜Lf]¹Mò…B™1c†1d‘›™záÆõqcÇ‘ÞØöWyyyÏž=›0a‚1öQƒ§åphÐóÕšE²P‰s˜8Ñ£©ôwŠäÕ<¦÷Jåe´Ê‰›œu& €¨¦H,à3&NÔ¿èA8ž 0)­îm“-‰´w‰I‚À——W÷îÝ»uëÖ½{÷€€Ÿfc «‹ ˆ AS{é-”D"MœØä†G ¹¹¹zdgg?zôhâĉ¦¼¼<ó222òòò|}}Gmccóú›?::zÔ¨Q¯Ï×ärùÅ‹CBBô~îׯßë·>|4jÔ¨Öu4J¥P‹eeeçÎk6ÙëP*•ÖÖÖ2j4 c …B‹ÅP©T&“i ARRRaa¡qqqW¯^¥ÓéÚžåóù¸ÏÍÍ-àºwïîçç§ýºý6üG*iżðO“ XK6ìZ¿p>–Vˆ¼AÔ-: ­¢¦¦&+++++«®¿IœÖˆoÎýÃuýíêêZ×Ùþþþzç2o'+++666111888;;›Ëå6˜¨c± ŇtJ¨J!½wýRÔÕyÅe\¡|ÝÚ•M¥dçœþ÷tÜÓÄj¾à#9™Y,ggg×½Q²²²´¦ôƒõûVÙÛÛkÇaZqwp“„uéBÌC‚|·lî”é¬.ÖºDˆ%ûb0m7”Y£ÑhØÌÌÌ¢ÛŽ½ü‚ $–ÉdYYYß~{H›¾¬¬L£i°ÎÆ&Ž›lYÀ²ºþvttläzxûÉdÉÉÉu#533SëÓÞ---‡nݺÕQg×®]„–¼h¿â_¸páòåË¡¡¡-Åeæ-Ÿ~7­,tì„Q£†Ÿ>ög¶D¥¯DÕåã?/]³Ý¦£ÿ¤‰ã<9çc³Jejò{ñ RYY©í¦ØØØŽ;vçæænÙ²EÛ³ÅÅÅF£¥¥¥¿¿¿.µoßþÍUÞd>²ïãŽÁa@…`°µyi©Qí Ààß`g`±X"‘øþPuuu¦²²²êŒXKèо×wMÆ Tå7ãOÆÿ«ýI&“ýüüêf^nnnXì;^ P(ê&ŒÚÀ¼Ó§O7©~~~uV›v¤¾MÞ,..¾xñâùóçÓÒÒ´O‘–ÍŸÏ¿võò™¿+Ó8íÞ·ÊÖ‚ÿ2/R§½Œ ©{ñÄÆÆ¦'?ܳçà´%_ îå'©aßJ)WÊÛQfŽ {'çˆhMl]£†Íf×Ý5°VVëÕþ$Ú>­ëVOOOcœ¶ïŒlý&Íx6¡úŸ3ç|­)É7Ž\-øóò1"î DŸ·¹Çh#…Â:#¶â~çüÜâE¿üÚÈíçääTg :Ô€4ç@^¿Ùš9>[µ‰½½½u¿/¼+°X¬ëׯ×1l^^^£ïµÁÛÛ»ÑH5Õ×*`0OŸ>=wî\bb¢Ö“jkk;a„ððð‘#Gš'ÓÆÆfîœOîF­dã³ãÜ»ÃàH¬ÙòËŽõV¬î{144´£“dÇnŒ\Rsîø_Ÿ$¹úô>{-ftŸ·l!•JsssµÝŸ––¶wïÞF£ÑÆÆ¦î d@ÚСC'L˜Pgûøùù™´ûç#øëô%áÌON ÝÞ©“ÁürÏÑ9a}>šÉ—B®Ð•dffÒh´º/dpÄÖÒʲk×®ºShWWW#Mƒ¾}ûž9sæ½jrYYÙÁƒ<¨û๻»ë6°K—.f;)[•••—/_Ž=~ü¸öñ£R©aaa3gÎ ÓûYÍ$`pÔ={ìÜû;K¤Z¸fëÔO¦wóÒåã?2âçÍçbž¸upâ«'ŒaùÆÖ]«Tªüüüº¡˜™™YXXØèó¢ÖÄÖý¾áææfähtrrºvíÚû3Íá#Š“ç¥)Y©ÏóJ«ºõÐÅýiÓh4¥¥¥u]ó4°„žŸ»÷˜n"‘Øhbâááñ6Ø7nݺuèÐÁ××·Ž}ºvíúžaÈf³¯\¹rîÜÿÛ»×4Â8Žã¿ÚN‚%C*bà4Š` „„B4^ ÒæOÈ?§dh·Ò¡S¤Cµ$ qÌ¡›YZ¨ž‚ÅRh‡ƒô´C[ZsW}¿ÁEï¹ÇÏ=Ï÷yîTÏÏÏõÒ¸ÇãY[[Sessóç•»¿q/ôàÙ‹W¿®¸ÜÙýƒìþÁ8J?ú¥@õz½ÙlÝ‹ît:oΔÞ!ƒÁ †Ø¦å‘~9‰,Ç#Ëÿßj·ÏÎ~TFF¯×34ǻݸ0žïùùys±ã–L&[­–¥¾’þ3UU«Õª>sœ™™ÙØØØÝÝM§Ó·P&¿µÒO­V» }×ÕÐÏÌf›5–“eYöx<“Ú§k…þºuýüåqóxè(I’q÷D8¶Âjútêõz¥Réââ¢P(è£!—Ë•J¥EÙÚÚòûý“t°WWWù|>ŸÏßôz½ 73¯H$21áKºû°þñõÛ¸7VF|>Ÿé«éS®ßïW*UUËår·ÛÕg%+++Š¢loouÙD‰DbdRŸ8Osoœ®<Ú{üèÉÓ=ÒÇ"ƒÁéééÉÉI±XÔç)‡#‹år¹l6;77á·^¯®®jš6I…HòèÖÉrKÐ4íòò2v:!„Ýn_ZZR%“É„B¡)iÓw™‘G€B¸Ýn‡Ã¡iZ8Îår;;;²,3nyH’ttt$IÒââ"ÃG0Ùúú:€Ñ9,M€<òyäòÈ#äGÈ#ø'&ÿ~‘MñþÝ8?à›6ã«Eµ¯Å×ä‘y|AÑo‹/Ÿ9ÑâŽWb4,môïºÀ,ÔG@ €<@Àïûk ß}’WÃ_IEND®B`‚nted-1.10.18/doc/docimages/circle_sym.png0000664001041000007640000000072511520267216015101 00000000000000‰PNG  IHDR ´©GžsRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEØ  0¬³-tEXtCommentCreated with GIMPW0IDAT(Ï•‘O(ƒÆßo’?­lEš‰#5â‚vââ²rX­”››rµ]\„(ÅÅ8‘•ËN–Y K+KeÚjƾ5öý6¶ižÛSOÏû¾¿W?JWj´L\¢wyJ~HÅ€\ò’Íé> "ˆ" æÑ9Âi4ŠÒA–›°8–9¹~æ=«òrëe}ÆŠÞ8Îv$[ ?lÙèpzˆå(—–âÂe¥Õî!^¨—[?®« •¤Å˜ìtršÊ{]8a”.SMÅ땺i¯NÈ[®@Ã\û(¾{µbø3æ—€XÄüÝÙÂ4²J(ýk‡l”ý©6º‚d~h¨!Vƨïq°¸ëå<àçìpÙáFôn|¯Z :@S#»íô6Wå9,LÌïq“Òʆ)ÿy÷Ø€ ÁÊž§ÒIEND®B`‚nted-1.10.18/doc/docimages/scale_score.png0000664001041000007640000052245011520267216015236 00000000000000‰PNG  IHDRvJ¡ì/sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ 3¢»ÛtEXtCommentCreated with GIMPW IDATxÚì½yp\×}ïù9wë½4û¾Wpß$Q¤m¶$K²v;Žd^/É›ÔÌ”_ª2IM½T^’©Š_’—y²'‰Ç¶b-¶eÉŠl-”DQ Eâ n A bk Ñ{ßeþh Iˆ$ˆM¶EŸ„" \œ¾÷Ü{Îýžßïw~?H$‰D"‘Ü€E÷ýï!„htÙ%‰D"‘H$ŸJ’bù#YSX^ûgž`ñ—„P¼²O$‰D"‘H>}Xf6¢nï6_¨ê‹F¨Îk#(ôj¨ŠÀq„€ Ã^ž¬eKYØŽìD‰D"‘H$DZÁ±áZÚH€*c[àL#¢„@(J®]ÛžÁ±jd‘†>Çqü‰DÓ²ù½›ê¨ ¹±m‡}ûöR^^NmmÝ„ÀËq¬'Î÷õK˜òNJ$‰D"ùuN&‰.,E\õÓv°„ŽÐ ìT ·®\³½¬í`).a¥0TqÍcSY Å@(*¶e¢Mžif0M›–27-•>Ù;x—/IkÕ"týRø]&“E8&f63ÿÞ9{ ×V¹Ÿ B|BŸ=y]Òª)‘H$É-ì¬ >%KQaE¹º`3M“ÁÑq’É8%n>ß5ÛK§3 ŽÅ±l›p¯Ç}ma—NÓ;A÷qì a—S! ‡žžô¤ÊÅ‹q¹\8ŽC$AQ†‡‡ñz½DÇÇár3ž×¥â5T¢IU¸4‡œ;7š¼¶eÏïÖX]àLŒ¾±ì/YÔ 67Os¢/‘¿!A–WÓÓ&š4±®â{V•ܱ‰ŒE:kç¿¿¢&€GìíEE>õ‰D"‘Ü EÅ0.×µ˜¦éèZ’D*‰ÏëC× <†ŠÇPòoiÓ!‘¶@(h±¦ãàq{0 ¯‘ÓUɌϥâ8ñ´…¦é0Íi¡L;!BA(pâÄ …˲8qâk×®e||œx<ÎÎ;Y½z5q­>]€u …ÜÚRÄ {{x],­pcZé¬Í³ö#4ãªZäwñȆRžÙ5JoĺæqŸŠ<°®Œ£ý´wGP]9õ¬©‚æR¥®,Ua?Gå¥Í(|<ްȯóÐúÞ?>ÀѾ L(õ[—SldØs¢Õ”O½D"‘H$7ª°ÃÊÅÄ]¦‹®ÀqBE(jÎࣨ¬ª ²¹¹}ÂÕz¼+›ÇGɘê„.SAQ0tM‹ (öë¼wjŒK‹èggûB3òŸ-û’ÅN(*‡x<Áàà .— —Ë…aضÇãAUUtÝ@(i.·6V†<,+w³Ï›¡¤$ÀmK‹p‡Œisqdœ¾„Êšº\ªÍé¡,ç‡Rlo)¢<¨ò©ØÙ48 ~N±O'’0‰¥L<ºÊ¦Æµ!¤)xçä(->ܺB¡WãØ…Q ¼u!]Ó8q1[WXSë#–Ìàq»ˆ&Ò8(¼wjŒÏ® cfMY‡÷OGÍɲ¶ÆËÊÆRLöŸÑѧÛб±9DÇ…!±(Â(¢¢ÈÍ£KH§3U#‘¶¹}Y1¥n¦0`E•—UÕ^zûãØf](׃‰D"‘Hn!œkºal„¢ä›¢(û 9A4iôºpi, ¡¸óºLÁxÊá––Íå>4+É»û:±L/ºá†‰ölGÍ ;!˜pÅæbÂe``€—_~™[o½•²²2ª««ñz½Œd¬ “Ÿ:E¯ŽÅ’ŒFc¬]TÆPdœŒi‘L[ì9ÜÁ£·µ²cy]ý#´T9ݯ²¾ÁÃÞngqÉ2 çÚ- 謫€ý§Çˆ9^J Ý<¾¹Œ¡áU%A‡Çˆ%S<¼¾Š±hœ—ß>CS}5ŽG¡¥±„Öš'/ŒÒ’ì¼ÀÝ¿–ï½v–›WÖ1:œeS_ìí º´ˆÍnìl†pÀà¡ ¸ ¡àÕLžÞces-AŸ‹wõ“Å‹¦©½:­U.ž«ƒ{6-¦g8Å`$JÛ‰n::‡ø«ß½™öÓ=ô˜—âë„2Åm-‘H$‰äÆA(Bq@¨A>»HNôå6Nä®ä¾*¶m§‡‰¹*  š‚)„ãätƒ¢€í ËQèÉ03Y]ëc÷¡~z†·DN,æ>{ŠÅN™P†M× ,^¼˜X,F,C×uNœ8ËåÂ4|ŠóRÌ™i b©,|Öãf,%ÏRàsST\JJx‹³ïØyúFℊB,¯ôâ÷yÉZ¦e#„¹á,§»Gql Íã`9‚áhŠó}CìÜw’“½që‰ÅS8¶E(bsK!#Íxc@·ÛM ¸’ñ4ºŽ¢¨Ä“©‰.…D"‘H$7®ÅNÅF(*uÅ.]WäâîÓY›o½Ö…Ð<—DÝÄŸ¶#(Èz½šÁEQQ EÉÅï¹ MMAŠÝY¾ûÊ~î½¥•;Rn~Þ>–oS( Žóñ;!(/¯ Ì]ÄÈȃƒƒx½^-Z„mÛTUU …°DE!Ä¥Íí}Iú/\d8)øÑÞ‹¸2à ÄVÔPS¤óÖ‘>ºú4JÜ>|AƒÃ-{û»~¶ç4çÅ‹¢ê’|»Q“ÛÝKCÀÂã/À_`Mš<õÊB…(ŽÉÎ#i !,v»H$‰"l†nžy¿›ÞÑ,¯äbO”/ ÏPxÿh7û;Y¾Hehhˆ¨e°¢Ú/Ä›q˸xÿX»ÚzP}eœ‹˜8çÎÑ?¦òâ¾4G3¼z$Â@O/ºÇO]±‹-ÅÞí¡%dÑ7çÂ`¡hùe¤°“H$‰äÆ´ØÙ!B%–†='û±2‰œáË´HŒEð‡ë' =J.ÖN¨t›”—#ì 莒±} ©V»Üq6*ýqö:ÏùQÕ‰]ÀLë¾ ·­PÂB¬ùÒßý§pãê§ì@5¦eó÷Ÿ/'èDøùÏN8¦¨¨ˆ­[·J¥Ð4ƒ½&ÿôÎÃ1kÊ…eb#(š¢é˜©8BÑ&’ðY(º!VfŠ5ìg§“ùD|ªÛ¢^YÕ̶²X©x®-¡ hŽe"TÛL¡ênl3“KâGÎí86ŠáÇÆ±,ÝÀɤxdc ïµã|‹æ¢h:V&‰bxp¬ Že ªáÁ¶³`Û¨n?BQÈÆ"(ºppÌ,ªË‡™Ch.; ¨./v6c›€@1—´.I$‰D"‘|rxfqìõùƣã¼ðãî*ò¶¿—ÃãC”ú¥°“H$‰D"ù´pìX?ï¿ü>fÕ]—„äjÆZ¦,n*‘H$‰Dòi!™HNç\»²ˆ©D"‘H$É Â¬…]*•âüùó´··Ççõáãããtvv~bç8çÏŸçäÉ“ È»=˾;vì/¿ü2Çÿ•œƒeY´··Ë›!‘H$É ÑfrО={xýõ×ñz½|ík_C×uÞyç|>>ŸoF466ÆáÇó9ñÞ{ï=ŠŠŠ(šÈù2Ž;Æk¯½†iš”——óè£bŽãðá‡RVVÆÈÈ]]]¬_¿þºíL}}=###¼õÖ[hšÆÉ“'1 UUÙºu+ÅÅÅ466âr¹®ÛþG}D__Üwß}D"^~ùe(++£¼¼]×Ù¹s'·Ýv‰D‚l6Ë¡C‡ˆÇãÍ™3g¸õÖ[Ù»w/Ë—/§¨¨ˆt:Í믿Naa!ÕÕÕìÚµ‹±±1î½÷^ yöÙgimm¥  €sçÎñÓŸþ”ÒÒR†††xüñÇñû¯üÙ²,^|ñENž<É™3gxòÉ'Ù·oï¼ó.—‹ááa’É$|ð^¯—îînEáöÛo—#W"‘H$’¹ ;¿ßϾðîºë.óß7M“sçÎ1::JCCôî2!kÖ¬açÎô÷÷s÷ÝwçÝ¥ÃÃÃD"\.~¿ŸX,ÆM7Ýć~HMMÍ´VŸIV®\ÉêÕ« ¨ªŠËåÂåráõzQU•ªª*<OÞú5„ìØ±ƒööv"‘K–,¡­­t:M$¡¯¯êêjK—.eíÚµbšæŒÚoiiaÇŽü~?º®£ª*EEEd³¹R$¶mSYYÉòåËÙ½{7¯¿þ:‘H„ŠŠ –.]J[[%%%¬\¹rÚÏZ²d  #„È ¼‚‚†‡‡hnnfãÆŒŽŽRXXH(¢¨¨ÇqÐ4 ]×ñz½X–ŹsçBH$(**¢µµ•l6Kww7Ñh” 6\×}ªª*=ôO<ñ?ûÙÏðz½¤R)Μ9ƒßï§®®.÷j.— Û¶±,™D["‘H$’k¾[+Zï\ç UÞç¹u±ï•¥Zq‡ââbÂápþE[RRºu먫«£¶¶–Å‹SVV6­3 ÇC0¤µµÃ0¬[·ŽŠŠ šššò–¢•+WRZZJ]]UUUÓŠÇq#‹aY‹-BÁØØeee,Z´ˆ¦¦& Ã@Qªªª¦íÛ¶ …BÐÐЀ¦iøý~lÛ¦ººšU«V±|ùr***hhh ¾¾žêêjB¡™LÇq(--66Íq"‘‰D®HpII ñxœ•+Wâv» ‡Ã$ ¼^/ÕÕÕTVVPPP@kk+---!¨®®¦¥¥…ÒÒÒi¯)‹ÅÆ0 ***¨¬¬¤»»›òòr–-[F8¦²²UU)--ÅívÓÔÔD  ¦¦†‹/rîÜ9Ö­[G0IJ,ª««Y¾|9eee”””P^^Nmm-ÍÍÍTUU¡ªê´}¨¨¨ÀqÂá0õõõTTTP[[Ë¢E‹((( N“N§)//gÆ 3Žë”H$‰ä7þþ~ví?N¶hÉdI±uO•WVñçŸ-#왚Çnpp§žzŠTUeãÆ<òÈ#ض¦i˜¦‰išy‹ÎµØÈÈO=õ½½½Ø¶®ë|ãßÈ[e²Ù,Žãàv»±mUUóÖ™é\ããã<ÿüóìÝ»7ï¾½÷Þ{¹í¶Û0MEQ&jáŠ|{Ó¹I‡††ø·û7 ÃàÉ'Ÿ$cÛ6ŽãÍfB ë9õ›ÉdB ª*Š¢ ªj^؆1­µm›t:WzDUU^}õUÞ|óͼÀyì±Ç¨­­EQ”|Û¶mç-yš¦M9ŸéÔ™3gxî¹çèééÁ4MTUeóæÍ<øàƒ¨ªšÿš<—IWíä}µm›ðì³Ï²lÙ2xà)âjòú…d³ÙüïO׎ãðWõW\¼xMÓ°, —ËÅßþíß’ÍfóŸÇikk£¦¦†úúúëö«D"‘H$¿inºù&c'‘H$¢npp³gÏÎ8…Ñt(ŠByy95553Ê=)‘H$3åСC8of˜ÇN"‘H~Ó°m›'NðÌ3Ïàóùò»áçŠaÜu×]ùL‰D² ÑI¤°“H~HÄãŒDFÈf³ø|>B¡âY[w²f–H$B<GÓ5BE!¼^¯tÿÍL&“/í7]‰À™ i---ùB‰DòI …Dòk²ÚºÐ}ž/=KªóCD:UÔnù7ݺƒ`°`FíDÇ£¼¾ûuž?ô<ñ ´¶WnçñÛ§¹¡yFU\$Sq¹\ù„åóa²"ŽD"‘Ha'‘Üà  òóÿï¿ÓšÚËŠZMÄ2§ys×?ó^:ÊŽÏ>‚û²:Ì=== QWWGaa!³.½ðÖ üýñ¿§kiN‘8~æ8g^8ÃûÒ£¢´"߆ištww“L& …B”––~¢Âo2Ñ÷tÉ´%‰D2?¦Å3™ Ùl–l:M6•";ùïi¾&g¶ÖŠL&ƒišØ¶ÍØØ‘HdFª’Ò´YYÒr!™'B4M›õ—ªªW¸EÛ>x‡ÆÄAZË4~q"Ê·v p~$ÍU)ÆÛwÒ×;5 Ñùóçyúé§9tèÐ%q8:Ì¿·ÿ;]-]8aTÀ©å)ÞÒßâ­ßšÒF<g÷îÝìܹ“^x!_Þî¯ÃÃD£ÑëÏ3üoVsÌ ÐÞlÛ\h>~.Y3KÿÅ~,ÛšÓ9~¼=˶‹Ž‘NË\ªÉ|˜Öb‹Åðx<(CCˆìÆF·{Ú-ËÊ— ›ŽÉbïeee¨ªÊž={ðz½¬ZµŠ7ÞxƒD"Á½÷ÞKqqñ´í y<Øsˆ*L§ d2×=Ç£ííôö_D×uëëhjlœóŽ6Û¶9ßÕÅ™ÎNâ‰%áV._F OâuˆD"ŒŽŽ.hꉙâóù(.¾2ÖMQ<—YÑ®óƒa ŽîJ¥¦ì´ì8v„‹lºF3üý®Î ¥8;’æÿ}¬½çCihZ”?~ëÖ­ Néh,Ê‘Ñ#8ë#ñê8µÄ“÷=9åºî½÷^N:űcÇfƒg™&cccx¼><÷¬úq||œŠŠŠëÇÆvìkŠ@êŒcmÇÆr¬iE‡"41óqmcOû, ŠPÌìǹî9ª¨¨ÊÌ­–c]÷U̼½É~ÌÉÑßýîwyèᇨ««Ë•>œÅ}0m3Íétš¶¶6ÊËËY¼dq®äD?J~¹d2b±¡PHvÆ&ì„ãàV´žÔ}ûÈVT`û| ªÄ )))Áçóå³iš×\q™¦I?Š¢ÐÝÝÍÎ;)))¡¾¾ž3g΋ÅÈf³ ’L&¸®°Ë¨*¦ãpñäiÆÏ_@AÀ„%%΢ª L䢲m›‚¦ZÊ–4c “{ç]Uœž=wž÷÷졲²œ¦†Z,ÛâdÇINœ:ÅÖÍ› ‡ÃÌFNF£QöìÝËàÐ0-‹›©¬,ctlŒ~öë×®£¹±Ã0浞Î$ºHGá/»!ÆËîàpqø©t‚ê²F4uv;mÛ"™L¢iú¼ê¼ŽŽŽòÍo~“’’’¦i222‚×ëRÿör«Üc=Æ-·ÜrõãLÝŠà?€;À©¾òå­:Ù4ª À£àÒŠ<*–5÷ì¼'¿,ËÊ×ëÕ¤¼ò:LqÅó5YøÔ©SÜ~ûí3©Žmqúd;£I‡­›7à÷ygeát_gaè01V{Úcfû²wœé­I3йÿn‘ápå5wœì@Q›BàgÖí]ÞæhdEUò›@”|çÙôã$étš—^|‰ÞÞ^þèkDCcŠªÌúº'Û4M“={öpñâE¾ö¯Q[W‹ª¨yw£ÑßßOYY¤²²’²²²9·•N§´Žöðð0‡âî»ï–*éFvÊÀ®·ßF9yµ£ávcWVb®YCÛ©SüÝßý[·nåË_þ2•••¹8̓ÕÕÕÅ~ð ƒ477cYï¿ÿ>Ë–-£°°·Þz‹ÖÖÖ+,Ó®L3.¶ŸÄîÀïò"AÖìiëfIS˜pÈ‹ÌLšÞØ8e‹›¦¸º/\`ÿG±qýZšˆ'â ¦¦ŠöãÇùpß^¶nÞB¨¨hFç‹ÅØýÞû¸\:?x?ª¦b[6Y3C8âèÑ(B°xÑ¢9Å89ŽE&v’è…Åv|øKï`¡æA$S ößÅh|˜Öæ-³š<‰$'NÃ0 JJJ ‡ÑõÙ XÛ¶ ‡Ãüà?XÐ0>>Î /¼ÀâÅ‹YµjU>!­¢(X–Å›o¾I6›EQ”ùídt€1àôÚ-·²÷Çïrüß÷WÓɰ±ÖÇÙˆE¦t5•5SSd|ðÁ57áóy8ßÕ5#áé8=½½€ÃÚ5k0 UQÑu·ÛCEY9uuUt]è&9‡ä8™ñv’C?&Ìb§Ïx‘ÔØ~¬ìè„¢˜=3ÍX,BG×Qú†ºÑ4³½'9Ùuˆ¬™™Õ ßãñPXXH4:ʹóç™uæ'‰mÛd³YÒé4###\¼x‘x<žûœy;ÐÛ Ãó?‡¥+×@Ë=¼vÁƒÛe°¶ÚÇ…¸Âîxu?C8\:åø––¾üå/óÄOP[[ @A €'×?ɦÞMø;ü( z·Nõáj/{œõË×Oi# ñÍo~“/}éK¬_¿~ÆyÚ4]¥¯»“ï|çÛ´jÇþ%¸ÇÚjcYããã –vĶmb±Ø‚^s,cç;éìì\óŒÇã¼ò¯ðÜ3Ï1000+£ãÇ)--elllAÚBÐÜÜL:æÈá#X–õ+r.r˱H¥Sœ={–d2yÉÚ8qaiq8×=LYØÍñŽV¶”STèAË$5Ÿçš“_"‘`4éš< IDATéÒÅDÇ£tttpèð!JJJÐ5ÊêJB¡"F#Q²Ùìuãí,Û&2:JQQ!.—ÎÉS'I%S88!())¡¦ºš³g»I¥Rø¼ÞYM;™ØI’C?Âã:†ÇëÐNúi²É2Ò£Kð—ÕžÕC‘Ê$9ß×ÁÅ¡"É~\º‡cçÚ°l‹Å5+ѵ™­UUÅíqá øHÄ  0¢¬´œ@`ö¹ÁNŸ>M{{;k×®¥¦¦fAÞåBn¶n Û†¶6()Pfóë~¿Ÿ;úmö½WÍû§Ú0“ãxJªX±ñ·Xº|ÚÇDWIIÉniUU¹yÝÍÝA^;üç; º‚lY²…í¶ðOå4 ƒ¦¦¦ÙMö¶MWç)Ž´Ÿàtgg»Ù´vŠúɺÊ®ÈÒããã´··³ní:ܳŒ¼ê˜I¥8Ö~Œ 7,˜;Ìð£( o¾ù&Õ5ÕÏ«=ÝЩ¬¬äÌé3ìù`ŸùÌgÐ]s·¶ ‘sï_¸pÇC<Ÿ÷5g³YNœ8Akk+}}}X¦¿Bƒ°ã8ùÍ!ñTœöcíøý~<¶c#s¾ß¦iröìYŽ;F{{;¥¥¥× =úe.v;::¤°°{î¹GÆ‚ß(Â.gÓS°›špJJp r¢n‚`0ÈwÞÉw¿û]zzzX¼xñ´M•——c‰D‚††öíÛG__•••ô÷÷çã¢Ñ(¦iÒÖÖÆðð0†a°téÒk »L<'ìT5c‹§&©,q¶»‹ÞþqŠ ½¹à^’Ñè5…™51-]×éîîæ•Ÿ¿B$¡§7—^âÑÇEUURéÔÌVX;~ —F6›å7Þ ·¯7ÿ"¾mÇÖ­_Or®çüà³’Äú‚®žÄÌžb<2‚®+¨ª†!ŠÉd‡ïwQX÷‡ÌÔ7kÛ‘±Aºú;ÈX âfÛ¶Ð,ƒÁh7UÁ%œîn§È_LeIý¬,$~¿` @*™æì¹³„ŠB”•—£k3Ÿ½UUåÈ‘#†±`Ânò^ƒÁ|ÜÑä.í™ÆÑ9$0×M}E¡;ä­w`Y†¡ãñxgåžw»Ü¬_½žåK–“ÉdPTÛƒ®ë "8"#9+ý™óX·åVnÙ²þŠø¿OfÖd42Še/Œ%²,¢cÑ=ÇP(Ä£=Ê… 8~ì8[·l½žeZÒ©4]Ý]457FÉd2x]Þ9·7¶Ð²´…Þž^{þªÛëõ²víZúzûúµ{nlgꦙ¹XìÇadd„S§NñÊ+¯pîÜ9JKKyøá‡ç%ì&ãȯ5SýÜsÏ‘ÍfyðÁ¹óÎ;¥Zº¡„ä\°WUBihh˜±UbÛ¶mìÞ½›††JJJصkK–,áüùóضMaa!===tvv²qãF6lØÀÙ³g¯¹Zp‡Ôx aZ¨Fî<8c`(‚ªÚhªEû©5–àr)hB!=Ã)/½ú‹ÑíÂãñŽÑÒÒŸþç?å§/ý”êêj¶Ý¼ ‡aLSõ2B¥³YÚ£jj^ (ŠBAaâp˜ÓgN3pô0-K–âõÌì%ÓÐÐÀŠ+l¤Óiz{{ñûýW¼¬‡‡‡)--{ãÒ\3¾nŠUE×ç]ºJQ|>ßU7ƒÌ[ÀØB5(+-çáÏÝKMU²žÅ'ƒ¢(4-j¢yQ3GaíÚµÚÜc¨¼^/áp˜ww¿›ÛXñÀ<Ý»Œ °çý=´,mYü„ѱ(‡fûö프KnÈûšÉdøáÈ‹/¾H]] <ñÄóÚ¤Že‘‰'P'vxe³6‘Ñ$+ZjXÒTÊñŽ~öºHßà8õՅ誊™Lc[WŸÔ¼>Áºº/,à6<,_¶œÂ‚BEa<£¿ÿ"õuuh3°2)ŠBq(Do_/Ña\†¡»ŠÌl6÷Y ÷l]BOá+Nr8Ë'žvP [œÁ²³(ЉmÍÎ}ú'ŒâââIllG`šª!ÓQ|Rtœê˜·E,\æü NŸ9ÍÐàм7OèºÎm·ßFAao¿õö¬=W»VÀOeE%íGÛ)-+½!頻ª,[¶ŒÍ›7ó'ò'œ={–Í›7ÏKˆŽŽò½ï}ÇÃÈÈ?þ8Ÿýìgç\éD×uxà¶mÛFGG‡ˆ7¢°› îL&“X–…®ëù .—‹›o¾™ººº™'ݪçÎÃëõòàƒ²råJÜn7‡òòršššp»Ýôôô0>>βeË®i³-‹l"‰2ë00åü…~Zš+ð¸Ýø}IΞ梨ÔP²ñ¶uõIÈÐu57³gï^Ú`ñ¢&P•A>Ü·ŸÑ±1/Z„m[×uC !(/+£¯¿Ÿ£GO€ãPTÂÐ ²¦É‰§8|ä(K[ZÈd²×Ý•xEûŠ'´9ç‚îÿŠQ‡+¸’ÿŽª$°² škææ}MÑñºüx²Vššp3^ŸöÎýT•4°²i#—oÖ¶¦êhZNÐ¥Sizz{Q’p)>ŸVVª={öðÊ+¯ iBˆyoÉw'Ÿ¦gttÓ4 ¸\.,Ëš»[#|øé„È[̼\i¿$âãœîè :>ÎÛoïdéŠå¬Y¾XΤŸ ñxœPqhÎù3/Ô7Ösèà¡yWQT…–¥-Üó™{Ðu}ÞççÛŒ1gÍš5x½Þò~ªªÊÖ­[9tèÍÍÍ=z”_|‘/ùËsÎgO>ù$@€¿þë¿æé§ŸfÓ¦Mó²¶E"^}õU„¬Y³FÄIØe³YÚÚÚxýõ×9wî±XŒÂ‰Üd………TWWÏjPûý~/^L[[O<ñÄ”å“ñï¾û.±XŒíÛ·Oû°›Y“l<:á*/-àžÛZq»ut]cQCUå%hšŠÛÐHY6v&ƒ•5A¿ú9‡BlÙ¸‘‡±ÿ¡ +¤C6k.322Â??õ÷}ö^¶o»åº¤ËåbÍêÕœ:ÕÁÁƒíhšŠ5a1Têª*^~åŽ?Σ?<ã4*—&X/žâ[T¼E/†´N:© ùZQ´À,&P°„îA¶c!x h®YFKÝêY‹ºÉ{:ãÕßßO*•"T" ÏÉí¸bÅ þâ/þ`AÝŠ¢äÏÇï÷Ï'˜¸yBàeÀ4Û4MΞëâà¡v¢ã1ª«*Ù´¡•‚‚‚‹KÇqˆD"=ØÆ…®.üþËVµR[ß0ïT–e²÷ƒwøÖÿ'ŠÊjhmmE|ÂÕ,ËÂ4M ÃXrgŽ«˜°P»a'Ïq!Û³m{J{¯‡ÅKÏÛE?)ž‚ÒÒÒYŵ^{a),^²xAÆ¢ÇíallŒ÷|HMíÜãgÇ!‹qñâEü~?%%%sv[–EOoÉDrÊœ0W/ÃdŒ]gg'ögƾ}û(((à˜³°óûýlذ÷ߟd2É¢E‹fž<ý*d2¾ýíocYŸÿüç¥RºÑ„]2™ä­·ÞâÙgŸÍ§PU•`0ÈÝwß=§•š¢(444°k×.¢Ñè” !‘HpðàAŠ‹‹¹ë®»(..¾æKͲ©ÉÑ(J*…bO¼œ5eeˆÇ³ @×Áq²Ä“Y2VÆ]˜éô5…‚ââbvÜz+CÃÃ$ E% ðûñy=;~Œçü#tMcýºµ×D.Ã`ÅòeÔÕÖ0’5MÌÓO?ÍêÕ«yì±Çf+ÎÁa||œŸÿâçüûÓÿN&“a횵ܼõ扙mî»a_}õU^}õU ÃÀçóñÅ/~q^É×Çá½÷Þãûßÿ>«W¯æë_ÿz> Åœ„¦ÑØØÈêÕ«Y´h‘TJ7š°óûý<öØcÔÕÕÑÛÛK:ÆëõÒÜÔĆիñYâ²ú3}ÔƒÁ ôõõM)3‹ÅÈd2,Y²„pøúi:Ìt†Xd”hoªPò¿«‰g¢ÖD‘!°2×Ï£¦ª*eW™¬Z[[Ig³¼ô³—xþ'?ÂvlnÚ²åº/F!Á`ðŠÝ½åee<ø¹Ïaš&ûÛö¡ª*ŸðAŠg¸zs˲H§ÓÄ¢ÃdF  cûïÃe¢˜Ù ‹™2ƒ¶l4Å µq+ïy•‘z.žÃkøa¸ò×2Ó BA2‘ ®¾¿o~‚l¾qwdd„7Þxƒ5kÖ\wW»ª(ü(ŠF<•(÷ôÉlèêêâŸÿ韩(¯`É’%¼ú‹W©¯«géò¥sŠ Ëd2¼ð“8ðÑ\9¶Abã±9¿œ…œî8Í?þÃ?rêä)úüCs·|!ˆŽEyêÿyЧð4ñXœ•«V²eó–y Ï_üü<óÃg¸8@ss3ú¿ý)õõõsжmsòÄIž{ö9v¾¾“ªª*¶ß¾—ËŲåËp¹gÏ‹òÒ‹/ñü³Ï“H$ظy#¿ûû¿KUuU¾_çŠË墤¤„@ 0'k¯mÙ´íoãüãÿàØ±chºÆÊ+óá2¶m‰D0 cV©@E¡¦¦†•+Wò{¿÷{ôôô°cÇŽy¥‰ÅbìÝ»—ûî»Ûo¿ŠŠŠyíŒ-))á[ßú†apâÄ ©”n4a7i]«©©!Nç-nMÃhoGûéO—çþª¨ µe Ó&òR¿ßEQðIÄL­€ºÛEisPaÎ"ªªæ·¤O å’«×.B›‡[Êír±iýzp~øìst_¸0oWLuU=ð©TŠîî Äb± »É~3³Y2–›´²†¾Š¬ibØ6Ž3³¼jŽ“Ky¢(*KkÖs¶ï8ßËÙ§j8úì,v.—‹Æ†\}]U_ Î=÷ܳàµb Ãছn妒Ǽ*‹ŠŠ®€œH@OONØ-YsÉÀ²ë½6ú²ËP¥—‰ ËÓ¾“=tu÷NvBjjj8pàG¥±±‘±‘a.|ø ¶è 4qi¡UlØTÅ;Ù³ëÍ)ÂÎ4MŽ=Êk¯½FYYÙõ…®³fóVÞÿè?{é'èš`Ƕ­¸(ÛýåbûB÷Òé4·î¸•¡¡!4MC7ô9ü§ÓiÚö·±ý¶í464òÞ{ïQßX>ǪÝ]Ýtœê “ÉPPPÀÒeKçõ2ŽEÙ»g/ѱ(Žã°hÑ"*ªæ^y!6ã©~ŠÃ‡cYåe儊Bs>Çl&ËÎ7vòçÈØØƒƒƒ|å÷¿‚®çòãÍ…³gù×ùWN?¦i¬^»š`0H6“¥ªºjÎîSEQhii!ã÷ûç¯çv»ñz½hšF¸8LCcCÞ;sâÄ vîÜɦM›Ø¸qãŒÛœŒ±;räwÜqo¼ñƼà ֯_OYYÙŒªÇÌÇC]]Ý‚$–üš »ÉŒü—¿¤ó?sÒÕÕdo¿=§&¿aäêÉÎ`ò(,,¼â!ôù|Ψ2üE…,ý­mSvŒ ¦Ïc*¯måÌ-óX nÙ´‰%‹ãq»çí’BP[[ËWÿðÉf³ÎÂm ˜LìQ…é{¦yp¹ÜhÚÌs˜ !PU ÇKi¸‚PQM͹étݘuŽ$!.×ü'šÚÚZjjjòYß’ébƒ\.W>?ÔÕ-’ðÙÏš59WY ×KEu5qz¡§[o½Â~¤h^FF¢Ññ)߇Ã|ÿûßg||œ'žxȹÝC½x*®l¿XÍp¸»ë kÝîÝ»ó ÂMÓœvA¥(*+×làÏÿ¢œîž>*ªjg†1ÓgGÁŠU+‰Œðôž&\æÑÇ¥¶¾öR;³´´ù|>¾ø¥/òæÎ7yÿÝ÷Ù¼e3wÜyÇÜÇ­«Ö¬âžÏÜÃÀÀ7ßr37mœó3èàPZ^Ê—¾ü%|~üÁýÁ¼BTM¥®®Ž3gÎPQQÁ#?B¸4<ÅJ8«9jÂ…[*Â0 îºû.6mÞ4çö —„¹¢¢‚îîn–-[ÆýŸ»Ÿ¢¢"(--³°›L359¶ç"fUUeݺuüÅ_þ§:¨­«åƒ>àoþæo(**¢³³“»ï¾›¥K—Îúܼ^/~¿!Ĭëõ^-[¶ ªê‚%Ǿü\"¶Uòk$ìÜn÷ô®¯@ ÷õ±—ÖL‡âÖ­[¯xh‚Á Û·oŸq wx2ìlžgÇÆeÛóο¥ëúU]µsEbV‚î²Ñw©¼nà8Á ]-æ$ÄT5—šÄ0ô¼f¿|s˯‚ÉðB©/„e)™L ªS­t™T\ûøuÔ×V¡žîÅvWO=ÎŒ.°¯x.úûû¹ï¾û8|ø0ýýýùU¶¯´†„ÙI@Ÿ*î,µ WˆÖÉUùàààŒâ uÃE}c3õͳ²24M›vNTE¥¤¸„xíÛ¶ç¬&>ï”go¶Ï´®élÙ¼…Ö•­d2‚Á ª¦ÎI”ä\Ð •å•|õ«_Ų-|>ª¢N]mÍfì£àóøxøá‡¹ë®»ðy}¹E¯˜zÌl(,(äÏÿÏ?ç ©¹‰æææ)&bVçé2\ÜßýÔTÕ`;6kÖ¬ÉÅ­]~޳tï675ó—ù—tœê`õšÕTWW£¨ Ë–,ËÏEó)%7ßùÊår±uËV¶nÙŠmÛÔÖÔ²ÿ~ÊÊÊxøá‡ …æ¾[ùæ›oFQ”|ôy½È5í™ã&7:Þ¨;”#…Ý'‘àôzíOºhgJ “‘wq–‘™O†!³ÏN+Î2 ôüíØ¶‘·öÿ‚“‰R„»!4++u„[6ù¨««¼Bèž={–p8̺uër/òâ0Ûäì›ÿJ“Á£8X f5†Â+xxÇSÚ(((à·û·YµjsÎy5S¼^¹@ ŠÜ⢴dþ §ÉöœC »éÚüx™¶ùŒ9˃ÇåYóÓƆF?&èç¾ðT(,(dÇŽ Ö‡†f°bù V,Ÿšp\u©¿vã]Qšššf]†ïZLZú²,âBãñxæµ»Vòk(ì$É/‡Æ†Z~ÿÑV¾û“w9Þ[@ÊÔ)öƹ}ÂC÷l£àcn-ZDSSÓ1ïñx¹ù¾Çx#™â£½/£ô`^¨[˦¿B]ÃÕ_H«V­ú¥\ãd *‰D"‘Ha'‘ÜØQÓ¸õæ4ÔUsæl‰dŠpñ"–-©§°°ðª–؇1!¨«oä¡ÿåO8¿ý†‡úq»½T74QY]‹~ð!Ͳ‰D"…D"YXt]§©±Ž¦Æº9·¡( ÅÅaŠ‹Ã²CHpàñxæíªžŒƒ•H$’_š°K$’ôÊ^‘H$¿ñضÇãaÍš5øýþy¨ !•.i‰D²à\ž:.?S]¼x‘ÿú_ÿÔp—ì!‰D"|­à¹¦Ý¸RÔI$’ë¡ë:………3NÉ”L&1Mªª]vYÓddd%•’=*‘H$‰Dò+" ñ;¿ó;47Ï<µÔ¾óI¾óAì’°B`ªí’=*‘H$‰Dò+ÂëõRZZ:«ª.ÅãT%Œä•H$‰D"¹AÂN"‘H$‰D ;‰D"‘H$‰v‰D"‘H$’gF‰™Âá0K–,Á¸Fæz‰D"‘H$ÉÌI§Óœ9s†Mƒ4#aWWWǾð äH$‰D"™'£££üð‡?dxxÓ4¹ÂNÓ4ü~?ÁË ‘Û¶Ìžþ›ŠE‘õE%‰D"™+¦iÎ8ñ‚ »“JgÙ¢›žÁ¨¼3¿”úXßRMÐï‘!‘H$ɯ³véL–wuòÌž‹ôK‹Ýo">e‡Çyhû <.w)‘H$ɧVØ'R|p¼ÁlÇëA×¥Appp,¡*¦ºê" “xÊ”=þKÂË„éÜåB ¨Z®(¹m]ûXEÉÕËŠòÊžSüÖú&)ì$‰D"ù4 ;ÛvȘ6™L†¤™¥±ÌË_?؈¢Ùýînnݶââ0—k»o¿ÙÍ«‡#2.ï—$êìlÍNáÒ¯Ñ&‘6Á`[\"‹®^ýXÛqH™€îCQTÌLš„•Á¶å½”H$‰äS-ì.½ì-LK€cá×mTEÐÞÝÁpO'éèR‚•ÅBÐFQ4aaY&óÑCÁ²2¦דvŠ•¤¤¸·Ë}Í£R©çûñyÜ”†Š®Äé86‘Ñ1FSilÍ…m[9õ(‘H$‰äÆv  A*™æÈ‘#„‹CôôôàõzÁ²,Μ9C]]éL„2ÅAës«T¹Qˆ&MúÇ2˜ÖµÃçÖ—sºgŒýçc¡Ê»7°ST4MGSUŠ:A6ù#"‰,ÃãY ÃTMCÕ4E¡ªÈE4e1ž4©)v‰gOZhÚÿÏÞ{ÇÉU÷ÿï{§—ÙÞWÚ]I«’ÉBôb@`L³)ClŒ±;Øñ×á›ÄŽãóKb;NcŒQEQTQתK+i{Ÿ™^oûý±ÚABI€´Ú=ï×K/IsÏܹç¹çÞû¹ÏyÎóXdmèJ2ˆE±@ Œa'I’$“Îfhnî SSÍ®]»¨ªªB’$B¡ííílذOúÓd2$Y>ÊÓ3oz eN–n?šËL(¦¢'^ú{å¤ÔXMjÙægÎ`² »ÍÌ\2~(U®,ßÑÍÛ»H²I’‘$’$c6›¸sv]ƒºC®™ìcÁ{‡Ø“I–‘$d$Q°D ‚Q&솄ƒ,ÉX¬VZZZ0™LX­VÌf3^¯›ÍF{{;>Ÿ{Ÿ„$ëG »úR6-JS:1мfJ6Å{"L©Î§È †ÉÊŠ}QÌ& «¬sÓÌm,Åd2ñçõìïK$\Hï+;Ik&“‰@ˆ_omb ’¡²ØCEAº’Åì°#™LC¢M6¡#³î`Œûæ”à°Ê¼·ãÛöÂV\?´?MHÂÖ@ Œ.a‡$lÂdR©d³Y¶mÛ†ßïç–[nÀápJ¥Èf-H’ ãMðV“Ÿ‰ž47_TILCÓ \rš'_ÙLV²ã´@Ò–fÖä*f”˜ ŸËÊE É()ԬƅÅ*{Ú“˜yBÜ ŸÃš.•M ™È(âä“ñxPÝv 9:d+É4ä­“M¹¶H‰”‚Ýd"žÖñUN ƒ RYÃí„ÇN ‚Q%ì$IF–‡þØm6jjjˆD"$ Ün7v»þþ~zzz˜6m&³I6ŽðØÕ•8QSY")üÁÝ ßÔ®»¸Ž¶ˆ‰é ¥XÕš¦“ˆG ÅòDSÄ”0^ ½0í½ }hªP~å”Ý7õ°s9Ì'“4lä;ÌDCÚ‚N>ìÝ3a6›˜5ÎÅÎæVúâpõôqìêkáPD?¼?0†cì„­@ =ÂnÈ;fÂápÒÐÐ@:•¤µµ•l6Ë”)Sp82iÒ$\.&“|ØCô¾²ÛÞÇžò³»U£/œ&mòÐêÆj¤éküiU q$tB ÖµfðûÑm^Êò$L†B$©!™\‡ú…ØrS±H&2šÄ¾«g¹Tl IDATC×éãYLÖ‚ÃqsCí$YF7L,lòÓÛ=@ÖZHw¢öî¸*ïï°€v`´ »!ÏÃå`òÔ‰ìÞµ“¶öN¦N›JÄI—”P\RJMíxL&޶’I=*Æ®'¦£e¼CBÁ%!ÉÚÓ:†æY"’’éÕÌCÎ!kƒ ì6$“•CI 1;ÍH²Y8‘ŽvÃÓªš!áO™ÑõrÆwHXdªªl†$cHÝq F^-f“‰ŽžZdÙ„‘ʾc'‹©X@ F•°“$ Ñ4,Ú“D3Æ1è¹€ƒJ9ú€9<ª}ûáé¿£wbÂì8Î*X‹81 4Ù†?Ãé°°Y$žÄšW@JÍ ǰYoxM׈§T0Ùs+h@ Œ"a‡$ýá4ÿ±¬÷ð‡ 4µm}²çZÛÉ2)M"Iž¸É‚l€$›‰gb©ä ÏõP[c¨rˆ˜ö`” ;Cgj ÜØ˜/¬8FÐ ƒ-–ïÑ„1@ UÂ(qI\>A$ 3ÂN7&4 ]Æ`´ ; é˜õ ªª’Éd°Ûí˜L'.ýµÿ~&Mš$ÎÂy‚HL,ÁÈæc‚ß³go¾ù&K—.¥§§ç¤mÿë¿þKœ@ ‚ óǹ3Ã0ؼy3‰D‚éÓ§#Ë2‘H„U«Vá÷û¹ýöÛY²d étš+¯¼UUñûý¬X±Y–¹æšk(,,gE à\;MÓˆÅbH’D^^sçÎåÝwßeéÒ¥8N2™ ½½½Üpà ȲLII ;wîdݺu$“I–,YBGG†aŸŸÏìÙ³ÅYa†ÕjÅîpc@0š…]*•¢§§‡’’$IBÓ4¦NЦiƒAÜn7ªª‰D8xð /½ôétš©S§¢ë:Ùl–ƒâóùp»Ý(Š2”RC0bÈf³Äb1Ê+*…1@ ÍÂN–e¼^/ååå(Š‚ÍfÃï÷SVVÆäÉ“±ÛíƒAZZZhhhàÊ+¯Äb±PYYÉøñã™={6EEED£Q|>_N FÉd’p8, !ÁhvÃè‡S`Ô××SWW ­¢”$‰Ï|æ3¹ÿO:5÷oÃ0$‰ªª* Ã@–åÜ~#]×…U ‚±$ì†sG"Q[ôÈmÃÿ:@ ‚Ž(ú9ÊÑu`0HGGŠ¢µÍ0 ‚Á étšl6Koo/Á`Pxç@ ÂN0Q…ƒò‡?ü`0xÔ¶@ Àoû[8ÀŽ;X´h‹-¢¯OÔú@;ÁˆÃb±0eÊ$I"›Íæ>O§Ó,^¼˜d2I0¤©©‰ÆÆF¼^/[·n†à<Ä,L0Ê•»,“——‡Ëå:*–±©©‰-[¶ iÍÍÍÄb1ÊÊÊ$‰ööva8@ „°Œ4TU¥»»›@ Àž={0™L˜Íf&MšÄC=ÄêÕ«)++Ãëõ²qãF’É$^x¡0œ@ BØ Fš¦ÑÛÛKcc#@¿ßÝngÒ¤Ix½^<‡³ÙÌÆ©©©aúôéÂp@ a'iØl6æÌ™Ãœ9sŽÙ&IãÇÏýÿæ›o@»¡)?]×Ñ4-—ËNÓ4Ìf3š¦!Ë2†a•ˆØd2ÕþÈÏÎVûaóÁö0”䣴×uýCu$µ?QßE‰£@ +Â.™L²~ýzŠŠŠƒ˜ÍfœN'½½½444ÐÙÙ‰ÏçCQâñ8¥¥¥ôôôP]]MÿPy»êêêèèè °°t:M*•¢¸¸˜ÞÞ^jjjèííÅáp`±XŒ7ŽÎÎNŠŠŠH&“d³Y èë룦¦†žž\.&“‰ÁÁAjkkéì줸¸˜X,†¦iø|>úûû©®®¦»»›¼¼<"‘ÕÕÕtuuQRRB$Àãñ000@MM x½^t]'‹QUUEWW¥¥¥ b6›q¹\øýþ\{ŸÏ‡ªª$“IÊËËéêꢼ¼œ@ €ÕjÅáp ©®®¦½½ÂÂB2™ ™L†²²²\û6›P(DUUmmm”””L&Q…’’º»»©¨¨ ¯¯·ÛÙl&S]]MKK eeeÄãq4M£¨¨ˆžž*++éîîÆëõ’N§±X,””–‰+F ‚Ñ.ìb±f³™P(„¢(hš†ªªÈ²Œßïω]×ÑuP(@0ÌyƒEA’$ü~?†aFÑ4 MӇÆA È ¢áj@ ×~Øk8\×4 iÉd2çU èºN$AQ ÃÈí? ¢ë:‰D"çn‡s ~#‘Hn›a$ Ã@×õ\ûa[¨ªŠªªGµÇㆦi¹„ÀÃí‡m1¼/ 'º>Ø^Ó4R©Ùlö˜ö0´"6‹a±XˆÇã˜L&TUÍyR#‘V«•T*•+ïDZX,Äb1 ÃÀårå @ ÂN–e Ø·oÅÅŹÏ].º®c·ÛsíÌæ¡Ÿt8†‘Ûàt:io±XrÛ>¬ýpÛíßáp ë:‡«Õz̶#Û›Íf Ã8iûámÇko³ÙN«ýÉŽuØ'jo·ÛÑu§ÓI~~>%%%©T›a¬]»–ŽŽòòòŽ©Z!`” »T*•ó~y<aÕsLaa!………'-  …ƒ444w»®ë PRRBMM ÉdRV ‚± ì<>Ÿ/7(œLØ Ç÷¨ÍðT±aôôô iš0¨@ cAØÅb12™ŒxøŸg Ç)~eee¤R)a0@ Fú³ýãØ‰Ë墰°ð”…‚àü" F…!@ á|,»l6›[*}8N±*V ‚±"ì4MË-žœ{†ããN65n6›‘$ UU»]×õÜù´X,bš] ‚±"ì‡îînaÑ€ßïgûöíÄb±¶‘$ ³Ù|Â4&†aÐÚÚJyy9‘Hä„P Á(vñxœt:Í„ (+Õ Î5¹4'ãæW/¸à¦M›†®ëbñ„@ cEØåå呟ŸO<Ï•éR…¼¼<‚Á ^¯—d2‰ÙlÆjµ‹ÅÈÏÏ'ãv»s•*Ün÷Qí- f³™D"Çã!“———«æàr¹…BäçççÚ›L&’É$yyy„Ãaòóós•Gî³D"ÍfC’$Òé4n·;·-“ÉCIl?œøÈö^¯—T*…$IØl6¢Ñ(ùùùÄb±\ål6‹Óé$‰äÚ˲ŒÕj=¦ý°í†Ûû|>‰f³³Ùœ³],Ãårå*}8Ž\{Ã0˜6m²,ÇÉÏÏ'’——G&“É%bŽD"DZZ­H’D2™ÄãñFñx<(ŠÂ¶mÛŽJ<-`” ;I’H$D£Ñ\ VUUI¥R”––ÒÒÒBee%áp«ÕŠËåb`` W#µ¤¤„l6K&“¡¸¸˜¶¶6*++Än·c·Û ƒ”––ÒÕÕEYYétEQ((( ££#×Þétb±X̵///'‘H ë:^¯—®®.*++ ¸ÝndY&‰P\\œ«©:\òkxz¹²²¿ßŸK¾‹Å(**Êm‹F£H’„Ûí¦··—ŠŠ Žª [XXHWWÕÕÕ„B¡\=ݾ¾>***èïï§°°l6K:ÆçóÑÝÝMMM Á`›Í†ÕjÅï÷S^^N?EEE9Ïœ×ë͵8Ìf3@€òòrúúú(--%£ª*ùùùôôôP[[ËÀÀ.— Y–¤¼¼œžžÊËˉF£ø|>‘?B% @ ç°“e™ââbÌf3UUUÇl¯¨¨8æ³qãÆP]]}̶ÊÊÊ£ÚÔÕÕPSSsLûá}Ù¾¾¾þ„í‡?«­­=fÛÉ>;ÕöÃÇq²öG×øñã?t_GÚi¸o§Ú~¸²ÄñÚÿöñÎÛmçp8D:@ F·°3 ›Í†ÏçÖÅ O[ @ ÅÂÎf³Q^^.’4]F`4 »a/ŽÈa'@pž »Š<³ÙœäX `L »DZaùÖ6T 4Ý ªÈÅÜiU#ö˜uE!±o‰mÛÀf£ô®»L&²éž\“&abO ÁÇÀˆÏQbYUCÕtB±4{;‰¥5ú¢ IÍĦ}½#úø3½½„^|WK êš5ÄvíBM$¾ù&á?ý‰×_Gÿš­@ ç½°ÓtƒCÝ!^\±—¶¾0ºn I2Š.IéH’ UÕF¶…5 9&Ïf£¢¦†À‚ô?ÿ<¶ƒ©­¬„Í› oØp|Qkd}Š¢œötpVˆF@ „°;×d²Û °|[ÝÁ$̓´ô†Œ¥èŒ£**^§ çÑSU•¶¶6vïÞM8 ½½Ã0ƒ  Ÿƒ»Ö²2¬3g‰Ç±y‘lÝJÛ£æåá8bÕi8¦«« UU‰Åb¼óÎ;¹m+V¬`ppð”[UU,X F¹@ c„cgKfØr Ÿ½ |……øzC ,…úŠÜN•ÅjKói횊ݳg6lÀb±°ÿ~®½öZžyæî»ï>¶oßN}}=g½B†ÉnÇ1u*‰ýûQ3J}>ôL-‘ ?›Åsï½Ø×eÕ4¥K—ÒÕÕÅç>÷9, 7näSŸúN§“]»vQ^^Ž$I¸Ýnâñ8²,ãt:I$hš†×ëEQb±&“‰õë×síµ×b6›sßQ·ÛM:Æ0 ÃÀãñŒêœ|@ awŒ¥Xµ£›î°†ËíE1Lä;mx=nì —U¢ φËa%™Îæ„Ú–-[˜:u*õõõ¼ýöÛtuuqðàAÞzë-æÌ™Cccã¹.†¡i誊¡iÈ¡†,0™°^s ž /D:܇p8Ìàà %%%tttP[[Kss3óçϧ²²’D"ÁÒ¥K±Z­\|ñÅ,\¸™3gR]]ͶmÛÈf³Ìœ9“P(Dkk+Ó§Og``€W_}•L&Ãu×]ÇÚµkÉd2L:•5kÖPUUE4åÆodâĉâŠ@»Þ`‚}]Qò ŠIª ©¬‚Ý .«DÆ.c5KØ,&BÑ…04íh·Û1›Í˜Íft]G–e2™ ©Têœõ'Ó×Glùr¼Ù,fMCO&Ñ2f3'"›†a°k×.Þ}÷]œN'“'O¦¨¨ˆòòr.¿ürV¬XA,ãÒK/%‹ÑÞÞN(âòË/ç­·Þâ7ÞÀétÒ××Guu5×^{-póÍ7óÇ?þ‘íÛ·3þ|òóó ‡Ã8p€/}éK¬\¹’ÞÞ^!ì@ Âîãeb•ë2 […Pe'IÕŒÛ é´‚¬ËȆDP6Èdö¶ù™3µ€K.¹„õë׳ÿ~$I¢¦¦†ºº:î¹ç–/_ŽËåbÆŒgÕk§Æb^ywG›¨ÙŒêõâÕuòU•èÚµ¸êë‘,E¡««‹ø‡   €•+WFQ…íÛ·SPP€¦ió )++£££ƒ¦¦& ಲ’ŠŠ JJJ¨ªªâ¶Ûn£¸¸˜qãÆ‘Éd¨¬¬¤¤¤›Í&®@ „°ûx±ZL\4¡—ÝÂú}~RºI´ 6›]hL!›11u|!ã˼ôõõÑÞÞŽßïçСCÔ××sèÐ!n¿ývª««™7oÙléðB‹³E¦¯uï^ò ‰G"]. «k8LžÉDtûvR]]8ÇGÓ4¢Ñ([·nÅd2ÑßßÏ”)Søâ¿ˆ,ËTTTN§‰Åb†Amm-ãÇG–e.¸àÜn7Á`²²2êëëiiiÁáppÇwpÝu×QTTDqq1}}}¸\.î¾ûn¦OŸ.âë@ Âî:(“̤êò]V–o뤭/Ìu3ª˜PåC’$dYÆj1ã°Ye »ÝNMM %%%¹}ø|>jjj$é˜2`gM¤–”`š6®¦&4¯çm·¡E"„—,¡ÌfÃonÆ9~<‹…9sæä¦kjj¨¬¬Äçópÿ^¯§ÓÉÔ©SÚ6\Ïv˜ÚÚZ&NœxÌ”kqq±¸@ Âî“A×uT%KžæNÌÇkU°K2‰&“ «ÕŠ!YÑL`’­x½^fΜyÌ~ζ‡îH Ã@·ÛqÞ|3ƒ……àó‘(*B³ÛÉ””hkC//§tÒ$4MÃl63cÆŒsü@ „°ûX‘$ÈwÛ¹¨¡MÓ0 I’rFº’$ KA¾ë®CQEAöz±Þz+r"£¢{QQîØ…@0ê„,ËØl6¬V+.Ãȉ:“É”›ŽÉBH’$¬V+‹]ׇwåD ûH$…G*º¡“Íf1[l˜åwêT’,\÷©‹)ôå C Î:†aä*¸ˆ¾ „½NòÐõã–àaw²$1©¶ŒIµeÂz#óVF&cÇæ÷X¾zµ|Š+æÌ¢¬È‹é žªª†Ùl7ˆã<8Òé4ñxǃÍfSýÏf³Äb1N§ó¬Ø{ÇŽ$ fÍš…ÅbSéææf‚Á _|1v»]\€Boo/»wïfÖ¬Yx½Þ1Õ÷h4ÊêÕ«™5k–H[5Ư}£Œt"ÌÒןã;‹ï?ùCþêѯòÏ¿ø ûZ{ÐÏ`ÚÜ0 ¶oßÁòåËÉd2ÂÀ¼ÍÍÍ<óÌ3<ùä“ìØ±cL‰Œžž^yå~ðƒ°lÙ2E9+¿ûꫯòo¿ýÑäØªŒ¢io¿ý6¿úÏßàEÄx ìÞ½›?õSöµv0Ö‚†úúúxâþ‘íûšÑEÄÔ˜Â,L0z0 ï­ä_þ+Ö75“Õt2}í<ûûÿ@·{ù—ïMMM„Ãa3gÎÄlÝ—U*•bÅŠÌŸ?Ÿ•+WÒ××Ggg'W\qÅYñŠèºÎ–ݽtôE)Ì÷Œ9q·uo/m=ªÊJô1툲iW/—\8mLÅ÷½i_?sg«¸ìâq?V»QD2ÜË¿ÿä V65£If ‹Kð¸ìÄ‚=<÷?bцݧ¼¯^xŸþô§¹y,C×õ1mßl6Kkk+ÿýßÿÍí·ßÎ7¿ùM–,YBOOÉd’ùóçÓ××7*û®ª*ýýý¼üòËÜÿý|éK_âÏþ3mmm¤ÓiV­ZÅ–-[ÎÚñ´í\Éÿ,XLV{®ˆŽ]kùÓ[‹‰¦Dª©Sz èä¹—þDkÿØËà tñòë/ÑÜÕ‡pÚ a'8Ù»ê5^\±+_q3ÿò‹_ñ7܇Ï* õñÜ3/“—y Lc—”UðØW¤iûz–¬nä²ÙS)q»Ä åÝ(!Þ¾“¦ýÍØ\^>}ëç¹îÒ‹°[Ìä—×S9i&ˆÓßuf9j”L’CûwÓ™RG¿HÖuºººxþùçùú׿ÎO<Á[o½E?º®ãp8¸è¢‹øÞ÷¾Ç¯ýk¾þõ¯S^^>*R*†A0dÑ¢E|ûÛßæñÇçù矧µµUU1›Í466òØcñë_ÿš¿ýÛ¿¥±±ñ¬ÇÚ.f]yjï{üÛï_¤7”3׺ÝéâSW]ÚÊÏþýtGÄ¢¦“z/,V.œËÜ)6žzê—lÜß…6FDÌ)„ý„Ø·›/Þ{'k¶ì&™ÎÎè£2¦gØC·dÉžyæ¶lÙB*•Ê%6-((`Ú´iÜrË-Ü{ï½TVVb2ž²jÃS®óçÏgáÂ…$ Ã@’$<'Näꫯæ`Ú´iç´ï†¦¢eÓlÙ´‰²ñÓøÎ¿K_Ç ’1ú=Ɇ®£f’lÛº²ñÓùöÿ/«ßÝ™±½¨éÄ/k:j6E_o/¯,ÝÂ_ýáÖMÈJ ‰ÑŸ‡UÍ$èïíã­•ÛùÊ_“úÍ«0© 10„°œ7|…„&««L(´S‘gÍmSÒáƒè†DmI%JN_uóÜÿüŒ·ß^ÂÁÖNöj ¿ ˆK¯¹ÉîÑ—VUUÞ~ûmž|òIºººrŸ[,.»ì2nºé&®»î:.¸à‚Q—€Ø0 ¶nÝÊøCvîÜ™‹”e™©S§rë­·rã72cÆ òòòÎi‚j]SÙ×´Ž]Û62nÊ ûÆWÑaü½{`Ô‹ƒÎýÛØ°z9µ“.à+_ù * ¬]Óbrí¸{ÚX¿b6§‹þò/¹zöLú0ÆÀK@,ØÃÛ¯=Ož¯»xë/»”Ž}m0ú.Ân´H - È’tDP°A°£‹C[ö!›­L™û ­'÷¶$cý¬_óZ:0™-Ô44b±˜_UÊþñ ¦å[G¤~õ«_‘Ífùú׿ŽËuzÁÁf³™ªª*4mhÕ˜Ó餱±‘{[n¹…šš\.׈Œ¡SU•Å‹³iÓ&}ôQÊËËOëû’$Q[[‹ÝnG×u¬V+ãÆã¶ÛnãÎ;ïdÒ¤Ix<žsî¡ÔÕ Þ}‹ù¯¯$ :i(óRîuÓ›“µ Ó轺³Iv¬_ÁÓϽIÌZF™Ê|nd³“­$*}ô‹®Fç~~óï¿ew¯ŠÓ•G]y!³ “­ ÉäÕ}ïnÝͳOÿ‰3n§ÚRv«“½Ivˆ"„àü@F’†ÈK±g_ó(麢(H’ô‘VY+ñ“.™CEu›6¬'™LpðàATbZ†n¿#1:}j2ĸi3È/©Æß×E:¦¥¥…üü|2–]ý!”èè컦i„B!¬V+åååŒ?~ÌÖ6Ân„Ç ‡Ã´··óï|‡ÎÎN.¿ür®»îºSú~g[†ªÑÖÕÅšuëðÜÉ«¯. ¹'BQes«9°g-§èqS3)Âá6l ££ƒž®^|áYŠ&M§Ìf:ÎE¥¢*f‹Ó9(ÛÈf³lÚ´ ‡ãô§B¡©T ¿ßÏÖ­[OûÜE"z{{Ù°aÃQS¶º®³ÿ~˜={öÛIÏ“ªÒÖÖF4¥©©‰îîî3z¡…B˜L&¶oß~Z4™LÒÓÓÃàà ›6mÂétµ½··—={ö0cÆŒ”ãÏÐUBƒ{ØŽ‰öŽN"á7nÄj·£°MbÔ®öÓ5…h$B2kÐÚÖF `Ë–-äyöÆÙl–p8LOO7ÜpuuugôR±`Ájjj¸ýöÛO«p8æàÁƒtvvrë­·U+Ö0 6oÞL[[W^y%göÀO„X±hK7m@³NKÔÖÔpÛm·‘wö¼òÀ¤¢¬Zò:+7o$¢˜ÉJª««¹å–[())U}M$tttPPPÀí·ß~Faºšaß–5¼ðÊZZûãHÎBÜ/×_=S§NÕcE×m_ÏsóßcW€¢ºäåy¸êª«˜3gΨŽ8p€Ÿýìg„B!zzzÆ´¦Âî\߸U•ýû÷£ë:Gms8Ç|v"¦WPšg¥7<Àÿþé¿yaájŠÁÅ—ßÀcõ×Lm(C>Ug:éd ®¶ƒ|ë‘Yö^¡h‚Á´‚Å㥠`hº-èä?ù¿l ØxìkR,xꟾÏüçþÌ%×ÝÆþáÿ0«ñìT#°Ùlhš†Ïç;£BôÉd³ÙŒËå:e›£i‹%w¾>(ì\.v»¯×{Úû>açt:±X,g¼«ÕŠÅbÁn·SPPpZÂN’$V«ŸÏ‡Ïç;JØy<l6ùùùgtlJ&Á¢… ùñÏþ•}m} ›0€‰÷ÞƒÏç;fê÷£]ÓÑ I–1g ¤55Ãò/ó£§~ÁîÖ CB2Yøü]·ãóù>Ôž†a k ›L§týŸK¬V+‡#w ž®°3 æíkùåÏŸbñÚ(šd2Ó8±á”ÆŸ¡ëhºŽ$IȲ‰óm¯}ÿf~ñ³á­•ÛÈj:²e%êjñx<§pí½­È²|^&[÷z½£"I¼v£€ººº¸øâ‹?R\‰¯!g±u+–³-“%ŠS\3™o=þæN.?eÏY"ÜÃËÏþ†w/bOó!vî=€ÓǤ)Ó©q¼ŒëßYÈïž]€¥¨¯ŸOßùi¾üÐN6|ûÇ,záXÜU¼öÛ'ÄIœ1‘P‹¿Éþ–nÝT@F’mœxòÕ  Ñrð ]=ÄÓY\y^jÆgbC=vËùqóOÅ,|ë5öì<Üw@Ó@²r²‰g]Sð÷÷ÒÖÚJwïª!QXRFÄIT–Ú伺–aˆ·Y¶j)õpúU,'Y`bM'ééêäPK+Áp‹ÍIiy“'Qèqž7ýß¶iKVl"9œ„^M I$É|RA iom¥£«›x2‹Ëã¥v| õãqXÄÂ!ì§w#ÒuvìØÓéüÈSt¶ÂrÌî|â݇ Oq ~ýqn½ö¢ÓšM„{XºèYvìnG6™©©kD6IT–—ðýþˆ9¾÷½9‘˜‚¡C( Ðï$Ê/ÁæÊÇt³nÑ|@;Á™b (!B‰²úû¹Úìž"J']‚é8+a3©»6¯å7Þàíkèé¢hf«šºFîøQîºõzŠ=#?탪FÆ»Þu€=¯âúXîãx¬ ¢ƒ}¬ZºˆW_“ÍM{Eâè€Ó•ÏŒ9Wòð#_ãú9Ó°˜FŸgÃÐ3Dâ-ÄÔ÷sÊ& Å/Æá-9ÎýW£óàÞZð o/_É®ý­¤3Y$“oQ×Þt;ßøÆ×h¨8?ª5D£{ˆQYH6[(7 wIõqÛ]+kxåÕWY¹v]}~õýk徇å ·ß€×%*›a'8eØ´i=öf³ã ëšBëþ6Ñ¡“jusÓ]ÁcÞ…Ç~z+1 CÇd¶asæQ3nOýòßX½| ]m­\4u"®#V^yõüÍ7¿AXöqͧ¯Âbµ0”,õp?tqC|$Î2êk.$ÏÑL,•E2Y¹pÖ•Ü2ïZ춣Ƕ¦fY½ð~üÔ/Ù´ë ‰t†#/©®ŽvÑ8%µ•Ü:w&–î¹²Ù‹™8n&yŽ}DSYd“™)3.eÞ¼ëñ¸¦±Á~þðo?á·Ï¼ÄÁŽ~”Ãy‡è¦­µ…¸§þœzïè+/›TUΦ²ð º‚1dŠ«&rç]wPY~ì‹sûîMüäGÿÄ+‹×Š%ÐŽÐ]]t´wà­®áñ¯ÜG¾yä áªê«¨.ZHG`è9_XÅŸ»‡úÚòã¾4½ûÚÓüË/ÿƒÍ»’Ì(G=:ÛÛè R=¹[.š,ŠÊ a'8t]gÑ¢ETTTœ0þAQ’Éä‡1ƒžÖüô§ÿ]ûÚ‘$S?u%_yèó”x¬úýc„³”‡þêG¤\¯ ¹zÎLvn\M»¦’J¥ŽÚŸ³¸†¯}û{HX,R‰[ß% !™,̾ýŽÓþý3÷n¨hšF*•:£ ëT*…®ëd³ÙÓ>æáïŸ¯ÆØe³YE9Æ~Ùl–l6›ëû™ì?™L¢iªª’L&sÕ'NµïŠ¢ä~ÿÈʆaN§QU•t:}FÇf¶æó…¾‚®;ØÜÜMÝäÜq×]\0¾ŒôQ©] mZÌ~ð$ïíé@×ãzhzüÝììîæŠøD\#üam`çî/|…¬jcî6*ê&sÏýpÉä²éÙ¼½ùû§øñÿûþhŠã½#ªJšØçSny¢vx, _ƒªzšU ƒ‹çÜÄß7À[ïnÂQXÉ ·ÜÆ×ÌÆÈ¦Ia°D _þó<óÚjRYõ¸ûJ&£4ÚOw8ŽÅ9ò•ÓfÞÀ÷ŸàõeëÁáã†ÏÜÁí·\ެ¦IªG÷­wçR¾û÷O²«uý8ƒÅ0túú;ØÒÕËU“j0Ÿ‡Ãe BØ3zzzX¶l÷wwÂ\;{öìáÅ_<ùC9>Èò·Þdɲ•$³²5¯§„Û6Ò½wëA&£¿¿W^~™;wÒÙÙÉ‚ Nº 1:ØË³x•hÆÌ¤é³˜YfþÐãÿ¸èèè “ÉðÚk¯“rãTÊÕ·uëÖÓ>æX,F__&“‰—^zé¨%öš¦±qãFÚÛÛyýõ×?$ØÿÌmSS,^¼øŒVJ¦ÓiúúúPU•W^yå´Ò$ öïßO àµ×^;*ï¢a:tˆC‡±dÉvíÚu†ÃÑ aÆ¥Œ¿PG–Mô¶ìæõ–ÝG‹¶l‚×_|†÷v·£ŸàÞ.Iù3ñ½M¼™äø;ƒT2N00H2•Zx!ɸ<^JŠ ±šÏvÌ‘Á¸i³©ž| ²l¢¿e7o~ ï‘@'?ÿň¤NâѲP Ãå Øÿò£k*±h„P(L:« =$,Vò}…z=ÈŸ —3“ɰgÏÜn7çŒcŽ­Åãùì5 ˘҃,[üæLª³ÛJž~}íñEÝa,f3ΈŸ5o¼Â&ùÄñœÉxŒààÐx1 dîÃãålOyKùU|æö; ³ç·û2˜ŠðÚüçØÝv|Q7L¾ÓIf×&^ u*Ú8|­ƒ$S™Ã /L¸<ù`³œ]yÑÛÛK6›âB»sô&~ø788Hqqñ Û0a„ïGWYþê*–­^G,;4íb¨ I¥nü8òÜgGTPPÀàà &L`óæÍ R__Çã9Á!ÅŸý™Ýmý\ûýÿеb2[©7‘ywÝÇ]ŸžsV…­Íf«b…°;w¨ªÊöíÛq:'-*_]]ÍܹsOø¦Øw`3?߸X2 ’™‰³n&»s1¸d&ÎœÉøâ3O­±xñb‚Á sçÎeݺu 2kÖ¬ã.òв)V-x–íÍ~¾ø'xô¡{¨Ê·ÓÕÙÍÍ8+6-..&™L2{öì3O]]]¸\.êêêNbó‹B¯×KEE—^zé1S±íííÄãqfÍšuR!&d³YšššØ¹s']t §½x<Ž×륬¬Œ9sæœVº“P(IJeËP…Ù³g“îD–e¶mÛÆŒ3>Ñó 7ýÅ7ùÆ—ï¥Àabékóùç_-eåªßÊs¨kª¦!Iò˜‹ëî;’ÄHé¹É–«p>¯‡Š’"‚á8YUÃæp3aê >{×½Ü{ç-Tæ÷%iààþö¯¿ÁÛ[ iú1Û³™š›XÖÙÏe“ǸU’&{!ž¼|ëj †£BQ dò K™9û2îÿ‹‡¹ñŠ‹pX½å«™$Ë_úÿçïÿ™ý]ÁcƳ¡ë¤65­cG4ËÕ…öó{K& j.¦¸¤„¢BEÕI¤³˜ÌVÊ«ë¸ö¦Ïrÿý÷2}bõqE®ëtï^ÃãýW¬ÛÓuÔ¢‹ÜxI'Ù³w+«z#NØ™¬y˜ìÔ×VãÍwÓÙëGQul7^Âgî¼›{n»‘ò¢üãŒsƒ–¦Uüýw¿Ãë«·£|ðZ1†úÞºwKzÂgUØ F±°3 ƒL&C:Æív¤ÜpgB2™üЯh4Joo/uuugt|†–e˲—ùã‹o£hù%µÜ÷¥/sÙ§¦±in#¡×{ ·ûaò™ßP±ÙlH’ÄUW]•ó¾mkƒ»6ð«ÿü/b–rjŠl¬YºM‰³ò—‰_2ÊJ(ØÏÁæfZZÛèóbuäáÎ÷2ŽŒê…¡kDBöïÛKkk}ƒÈV¾âzúýœ{m+!É&&L˜ÄøOXm6b)…|_!••”—•`;A|œ– òìÿ›•;Z#êÞÇã)aæqv#×Ë7¾õm¦L™Ì€?ˆ†™’²r*++(ðzN˜ ¹£e;ÿö_ ù8¢îHûV”Žc‚{txD$Ù‚Óíá¾{>ǵ×\C(ÇæÌ£´¼œªŠ ò\'¯Áþv~ñ«_ñÞÞî㈺÷ñy˸° ov~h_vÅU<ñ½ïÒ×?@"­_PHee5¥%…'ŒS’æ¿ø,KÖï:VÔÃSÉì"!ì>4McÓ¦M¼ôÒK|ík_;ã2FgBkk++V¬àá‡>i»@ Ààà gP¤ØÀßÙÌÿþé%Úýad“•‹æ^Ç=·Ý@A¾—’ʹHÑß3nG5fœqqðÏþó¹›¼$IÇ=Î`÷!þýç?å•·V "³âÍùH’4”ñ^W¹ùŸæžq¥dرq%Ïüñ–,_E[÷Š¢‚$ãp{ɦ“̽l.£Ñw§fÓìß±‘?ÿé,|‡¶î~²ÊP¢`‡;³ÅÂÜ9³FıÚìÆOhdܸq¹±ûa¤;9´o'ÊIVaZl.®»í~æÔ¹bE’ñ–pÁŒKŽºv?ŒC;imk?iÌU^Q÷}ñ*l£'a­,Ë—V0ûÒˆ^L$é”D{ »í;÷榪‡Õ‘Ǽ»¾ÈEÕ•#¶ÿv§‹ “§ÑÐxêc%좽y×IØ\ùÌ»ïË\TR€@»“É„ÙlfÕªUÜqÇgEØ ¯Æ|þùç±X,*ìâñ8‰Dâ´ÒJäF6ÅŽ÷–³~SYE#¯´’ywÝEcm)&IgBA EÖ Mþ0qUÇ{†ñ0§«°|Ù þ¼`Ut´£o›\^7jÆÕŽÕ ùÇ'ÌòõÛIf”£ßbCJ(h†ÁhŠò0t]ë—óÔOþ……+7Mf>Ðw?½É êRµ§óÂdqâô•#I2 ϽÃìëï䯾z?EùŽóâ¼Vÿ=¥˜ìn tÜín_÷<ü >wÃ%ŒÎšÒi•“íîÃö’à8¯r’l抛ï㱇?‡×m]cÅåÃ’_vØëwlßÍV;—^;ßüêp9D¼›vã ÍËËËŃ¥Ói²Ù,‡ã(±bFN\Ùl¶Ü"†#Ûkš†¦iH’„¦i¸\®\®‡Ã‘[ýhµZ¹ñÆyï½÷èììüÐcŒF£Äãqâñ8š¦p:¶§§‡Í›7õY,äç_x“æÎH&êÆÏ¤±ÈÆÎm[ÀÐðg0¹àÙ'¿ÇÂ_ü›ÃÉøúF.»êj.¹°¯Çƒõc*SR;ÿyæ¹x©$ 9þOŠ`0H&“¡©©éŒWÅ&“IÚÛÛ?pÌáÎ]üòÿÊÒõ»O<ý É´÷زeëQS~ªªÒÚÚJ?Û·oÿDVÅvvvFÙµkápø´÷‘L&‰F£ °uëÖ£â>#½ùͯ~‚U;QÔ÷=KÐÔÔ„ÏsôªØ}ûöá÷ûÙ½{7©Tê===Äb1vîÜI0<ùгhæ´)ÍÍÍ$“I8pÚUlõ$ÉbÇép ýÿì½yx•õ™ÿÿzÎ~NNö}ß’„D   u«u¾¶3:mÇŽvÚ™ï´ýþ.»L½¦ûhíb­uT´¨à†Z @ö…$$dßOöäìëóüþ9‚¬ ½¯ë\’xž'Ï}?Ÿåý¹—÷-="r¹}`·Ýy?wܺœžÖSôÎĪ’„ËåÄív#zDÉP((•*ä ±Ùl `µZ©¬¬œÓDøÖÖÖ‹Ì÷ËKoo/—_IáöxΤªÈQëô,*¸¯Ý¿çhUc}W|_Qôàrº¦ìuæ~J¥¥RyMûÖŽ1>>ŽÛíž±î›I— …­VÇ#"éŬÒèX°|=å˨TUVÎl®¸\Sœ˜¢ˆ$MÍ•©9yes¥««kæÜ‡_»ÏžX­V~÷»ßÑÔÔÄ—¾ô%6lØ€J¥bbb‚úúzŠŠŠð÷÷G©T²aÃâââ(++ãwÞaÓ¦M455aµZIJJâøñã<øàƒ¼öÚk˜Ífîºë.òòòP(‚@@@À9^—»ÝŽÃá`tt—ËuÑÊØÞÞ^Ž;vîà=]Ïþ¿áðˆh"ÈÍË¢ýt=íMNÚkywßô¬¸=fLgö –¦FþþÞ4:=™9y¬_»ŠèPÿ9·OO÷u{×ÃÃø\.ÊÊÊfTÕ9-X­VÚÛÛϱ¹è´Pqø}ŽV5]2§Ä/8š¼˜*ËJ?±zhii¡¿¿Ÿ²²²YÎK/´:::0TUUÑÝ=s›;ÆÇÇãÇ{7TItÑPòï—4\ÔÑ=þBêëêÎÛ°;::0 ÔÔÔ`0æt twwc4©¬¬¤³³sF×võÄæÍ› š*¼ÐhÑûø Õh˜0tpÂÐqå›´ÇMOë)Ê**iëêÅjsLQ‡h}HJËbeáJâ¯نÝÒÒ‚Åb¡±±qÆ‘€,+_úÒV楧cµÙ‘¡Óûà£õA£VÒÚXCëL6uÕ•TÕÖaÇér#Èdø†’½8¼ÅÙèϧN§“îîn|||8~üøœæGOél¡µµõ¼5ör222Â䤑+ ((ÈÇj±âôˆh´:ô>>h4j†zZêi¹òõg¨—òò2›[›0#Š"r¥š°¨8–¯\EvzJùµ,&“‰‘‘,ËŒuE‘þAØqLj’ˆÓ%¢Öž™+Z c}-”ö]¹î—“¾®VŽ?AGwV»‘)z¢ÔŒ¬X‘Glx—£PúØ}€]QQ±±±X,žzê)4 é™y;v˜Ý¯¾È-·ÜÂâÅ‹ùãÿHww7ßùÎwðññáðáÃX­V&&&Ðjµ$%%ñþûïˆ^¯§¾¾ž'Ÿ|’_ÿú×dddÌø¹¦;\ŽP1''眰®$zxw×OxÚáAFVîjâÛDéj`ÿ›¯Ò?4ŽGä üüƒÐ($,3V›»ÕLGkÆÕø‡mw¬¿¦¡I’èm¯çHI5ù«×’sÝÞõ±cǰÙlÜÿýøûÏ´öõõñ·¿ýüüüslî2 µ´±ÿp¦‹8œt~Al¹÷!žxübCüÎó¨éõzjkk¹ï¾û ¹¦zO¥ÑÑQvîÜIRRÒŒïa6›9pàñññ|õ«_õcÑeã}w o|p‹ã"ºûqÛŽ{yü_%%*ä "Ieee˜L&î¸ãŽYÍ•™‚ûÉÉIî¾ûnâããgtío¼A]]÷Þw?999gøÈäÈf¼Ü+%ûßâÃ=544Æh¶z“ì³·(cQá:î¸÷~‚t×&TW\\Ì‘#Gظq#ëÖ­›ÑµìÛ·õ·nàî»ïF=^0‹5`ÌÐÍ»¯¿LuUm=ØÏjWe±Ø«ý¹óþرnг :, ãããóÐCÍÝ ÐÐÐÀ{ï½GAA>øàŒ®mooçĉ,ËËãÛß~Q§‰Óu&©E˜Z·#“2øú7eAbÔ5Y¯©®®& à²iCç{ §" …‚zôŸñ÷ó›µîv‹‘’oS´¯–†æVL«·kŒÙlA1¹ IDATN‘»jÛv~™PŸËnž}öY,˧‚7$QÂÎéøÊ#ÿ—-ùT—eï›oQyª‰á>ÞzíE²²²xø® ¤?˜­8L#¼ý×ß³û£jÒ2ç3?ëú®(•J\.>>>³òŠùøø “ÉP«Õç\/i•䬼•Ô7‹9Ùö‰s}`[îú*ßùæ?’yžÇÊår¡ÑhP©T³~¶Ë;µZ\.G§ÓÍúþS!B%z½þc§¤%kåfæ§QR{Ï'bîjŸ@n¿ë!žø—o0?%ö<‚$Ièt:”JåU=Û•ŠJ¥šµ4 r¹­V‡Ÿßì½Ù¢ËFù‘üâ¿âHu3îOxy%ÑÃøp+KyXü:q×È&Z­™L†F£™±î:Î{íÕvF±M ñáî¿ðËg^ s`켂 ·ËAWs5ï·vrï–õè>‘¢R©¼sp.N§C.—Ÿ7߯t­˜ê¯Â^’$ÒÓTÉŸŸù%/íýˆI³ý“_Àa3SSSJåðyóÓf] w¶X,–3!qåŒuw»Ý(•J ÅT‡ÿ«˜+n'‹òË_ü’'Û?æÂ;k®ŒvóQ] _ñ<@âežU§ÓÍ¢ñÚ‰ €J§âF›Ø%$$ P( 9ãÅ‘XºPîgz´¬V+‹…är9ááá^²×®®. 111(•JBCCñññ™5™F£A­V3<<Ìðð0‘‘‘Wè—8Y;•¬îšÅε9 z¨=ZBQq) K·ðüÿü'E/ñý½B€NÎúM[Y³vÖæóÈ£ÿJÅ©. ͼü·Ý¬)Ìe~\Ø5±µäqsäï¯ñô‹o ׇ Š×Þ%.I.§Óä$Cƒú  ÔƒÅfŸ“ÄnA®fIÁf~ñkùË_)>^ÙîD&W‘’µˆ{îÿ ×8«ë ”Çårbœgxh¾”„EFb4[æ†KO“¾x-?ÿõ/yùåW8p¤œI³ ™BEBZ6wî¼›;¾t;1aþs«ûgF$ú»›ùýsæxíéó@ÝÇ€@°Nƒ¿òæZ~EÑMéñüö¹—è½(Ž W§× ÿœ‡ÍÌÛo¾ÌËo`Ò|ñ¾V¥&B§äfë©0Ø{šß>ó,ÇëÚ.šæ"rBuôÊÏ@5¶  ÖÎÌïñx®°“ð ÷&Å›ìnz £LZ]7ž1ÝÎýýýˆ¢Èàà FœN'F£™LB&S€ðé-ªz½N‡Ç㡹¹™ \éÞNŸÝ ,ܰž¸ˆ<5]í )cùþÃÒ j\€^ø '[±xÀO«gQÁf~ðíj|쿘°»¨:t„S mרI¢›®Æãüê7»éµ¯™«Iº[øàÝ=¼þæ[œ¨¬Çbw‚ à†ÝfaýÚUs3I4zòÖlañÊ X-f&MÔ:üôzÔjÕœƒIîïäÐ÷yñ_¢´º“Õè|ƒðñó'&øùú¢Q)¿háó‰y0ÔVMSc5v×ÅìÀÈD¶n¸›Xß›‹çËn1ñÑ{oÒÖ7rQP'“+I_r+[/»î}To4qšÇh8¶—Q“ã’óoåÚ¬HJAv“áÓÕ‡©¨©½DAš@Ht*›Wo&6Àÿ¦'ʪ3:±¹<2A@8ó¢mnèž@ã;tå`y؈Ó:q>°“p)ý‘‘©¦ˆv;œ~¼°¿Ñ[1v£ˆy°ǨÑrêÜߟ¡Ùµk|ð7ŸÍn·óÈ#’œ@Wg+&“ ???:;; œq5ÙlE«Õ¢Ñh¼=c¯üDþ ‚LM^r8~Z¢g‡£¤…™ÌKMd$úã«âä©1Œ&~Aj¹ŠÜ[¶’þŽÔöâ4uR7ÚÇ]×pvóêî}„-Y GŠçÄf#]Müæg?毻ßehÌxNOP‡aª``Ä)b%æâ¥J¿JàõeSìjæOÏü’¿¼²‡ÎÑsœÃÑÏøH?ý"\âÜð‚0UÉ鄯ÿÜT ­? •/£Ñù³yçýìÜVˆZ%¿¹Ôdªi #ÑI<üÈÿ!'+ñsïåäJTúº.x(“+Õ,*ØÈÃÿ°“ÈPß›N¹ÚA¡.œ§õ `ë—`ûæBtZÕM9*kš¨nì¦Ç¢FPj ò†ÇÇ5Þ,íEwrüŠï7iu!™ìç;Q¦Æ¾]ì$Ù³-ÖÏ(# -[*¦6hnn>çg›ÍÆ[o½ÅêÕ«ùÍo~Ã/~ñ Ö­[Ç3ÏgùÏP 9NÌfó5µë…Äápàv»1™fn«ÕŠÛí¾êq+écЇ'¢V àv{¼$¶2¹‚À°h¶Ýó0_ðn‚5rŒ×ЋÇã]»ft@>C»tµcßn·O*ÕTÇ»Ó}&E`êP<Ÿo>þ]¶¯]ŽÌã`rÒqž‡Ãûs™cw5:›L&Ün7v»ýªìåpËÏ\…Ÿþ$›Ýºd2Ô-ËÖÝÉ·¿õ(9IQXŒ×n¬F\.N§sÆÏïñxp:§(l¦"`³÷ºº5áÈ´A¨”FDQôê/—+ц±ó«òèCwì£ÄtÏi6›gÅ ûiʺÕK)/=„{lA¡Æ¡öCµ•_…‚.7`œÙ=•þÅJ‚Ií%N‡›œx?CµH˜LF$IÂÏÏï 2auSÓedÜr}Cµn·ÉcB¡ÃcŸDr;.»Ñœ:uŠ|ììl^ýu*++ùö·¿ÍªU«P©T˜L&6lØ€R©Äf³!—Ë‘ËålÛ¶¡¡!DQÄn·³uëVï¤èîîæÀDEEÁÞ½{Y³f ‹/örÝsj×éÐétH’D__F£ñ‚•œåååüîw¿;ëùE:”:ä’…‹ö!‰“¨ä2:ZÇè¬káÙßþŽä¨`\ö1ŒÖ‘Z~õÇgHœ J¢‡ÁÞÁ©“²CGò;ëðÕìÜ õ¶Q×ÜAbF†ÞÓÞ…ï­·Þ¢¾¾þ =­õ¼³ïCF.êä z§ƒ½/ÿí,6„ÉÉIFGG9|ø0v»ýšQÇC]]<ÿüóWL‰3m_C÷)Þzk†Ñ‹ƒ:…RM°ZÅ;o¼Î¿™ŸìÝÝݘL&þð‡?\3š I’èéé¡¡¡]»v>§ëAYYýýý¼ôÒKÎèÚºº:†‡‡Ù½{7ÇŸõ3LLLÐ;0BB|,ÁAÁÞtÞŸÔ´ bü%î{“¢kì¬joogdd„wÞy‡¦¦¦™y„aÿþýÞÃêl×ã²òƒIKNdÒdÅît!W( dÞ¼t¬†Óüíå §8NÊÊÊðññÁn·_pí¼V2­sQQ&“iF׎ÑÝÝ ç¬Ï³Yªj[ÐúèIKOÃí™âOTit„GÅ1?+Æò"š*]sPÛÚÚŠV«ñó‹¢HMM CCCüùϾ`ÿð+•¾¾>Ì ³³ÐêtLš, ÈÐû’˜œJ´¯‡¿¿½ûÊ=##×ìPz½ÄÏW‡R&"sL€,maë?‰6:EP, }(rÕ¿$‚Aã‡L¦Àã²#HÏc¿pŽ$âv9p9]dG…pëü@ìv;ÅÅeX,¶äo9ç4Õ9l¥µœ!§ýºEô¸‘$¢Ó âå“%I¢¹¹™ššV®\É7¾ñó¾³fÍÖ¬YsÎï¶mÛÆ¶mÛ¼?RXXèý9++‹¬¬¬+~î³=v † »ŒŒ vìØqîžOËÉÓô™,[u+)QŒ¬\Œì·O“:?“;n)Àít0ÒØLKK/®°EìØ±ljáuÙé(; U ô‰àÞ[ذj¶ý\%ŒÃ=¼ðû*6ßûOl,È¡¢ôyþyt:«V­bùòåWÿŽVJÞâ}ÑqQ`#—+Y¸òV~ðÿþƒÌèÐYýƒÁÀž={X´hÑy6¿Ðâæv»Q(—=±Nó666²eË‚‚®<”)y\T¾?Î{¢ýâº+T,X±–ÇŸø6KÒãgÞ²X,ÃöíÛ/Ê«8=‡Ün72™ì²¯$IÔÔÔ099Ɇ ¼ÅHs¹YsÛm·33ª­VKCCk×®%;;{ÖÏÐßßOmm-ÑÑÑ<öØcÞur®sOœ8Á±cÇ(((   `F×¶´´ð÷¿ÿeË–±uëÖ«ò˜Nç3ÿÛüqqqˆg¢W2.­V+£££²}ûö9õØ577óᇲdÉ’ËÎ÷OJww7¥¥¥dffÎøÚO® ’$ÑÙÙÅ÷øÿ‘žž†$]¼…ãµ’‘‘jjjðóó›ñó{<ÚÛÛ‘ÉdlݺuVÔRÓR__OII wÝsÛ¶mC=Lõ|–ͪ®££ƒçŸ«õ /^b œ]@!‰n<–~̧û”Z”~q$-Ç',¹FǤm§$C«_ÝÌ€ÝÙ9V‹…áá©ð£$I^–zµZ=Å-ŠX¬â5ªîËÂýÕX&®¤XCô :Í3òÌ´µµ‘››{É l.E«Õ¢ÕjÉÉI éééç}/88˜´´´s~¨aãæuüáµc4v²~U)‰ èÔ1¤¥¥!ºÌâÕd8;G½÷0 ¶0l2à’Rä±tE!ii±³6{¾qËØ±ý6BuJ:Û¦Nâ …‚ÐÐPâ’P_%Š$ºpN®cÞ{EôŽ5žWi¨ÒêÉ^ºŠïüû²© õ,[¨ét:Ôj5aaaçÙü“›WMM ÍÍÍÌ›7ÜÜÜKnÚ.—‹ªª*HNN&44t&Ê#ØÖ“ùÖºGëÎK2–+5,X¶šÇžøÛ6®D¯ž­Íf3>>>ššzQ‚çébŸÚÚZ"""ÈËË»¤R’$ÆÆÆð÷÷'>>þ’v½2#«ÑhˆŸÑü®®®F£ÑwUÏ9M7HjjêUy4f"½½½Â÷\TTÔŒh,¦)s"""®Jw»ÝNpp0>>>$&&ÎÈ›Íf‚ƒƒ !--mNÃáðz¦ÃÃÃÏ‹B]r’Ëññññ>çlÅétV«%>>žôôëCåïﯯ/’$áïïïe‚¸R¯l`` >>>¤¤¤ÌØ3~¶F4ÍU»³×›¹ôòÎ…Ô××34táâÉeÃ9Ö˜e [p,QËîD«Ra´Xñ B£VÍØé'Èèíë§ÁÁÁ´´´——‡L&ÃårÑÖÖ†$Ih‚㑘úþ´Dø«XšèÏÉ^—ļ(FLN"üÕ|Ô8vцÓ:µ‚ Ù¡œîâx‡„$»ø‹´SSg´xTUU±aÃ""">•—9Í$“É0™L ^1]…o`·ß¾¢ârþò»ß²tá< $3?o=‘g¸Ž¹Œ°ì(”:c†ãL¸¿E€šN–R]ÓŒJÈšõkHŠ}õê`ÿ/¾ô6Îà~õãÿàm§6>>ΟÿügŒ:¾óåÕWe+A¦$ua!ßùÞ÷P?ý,V`²9AÇ_~€»vÞÉŠÅY³u3=­?ùä“TWW³hÑ"~ÿûß;7L?o9ßþο¡ó{ŽýÅ¥Œ™¬Sº‡Ç²aËv|ð+äfÏÔÍt!þÕ¯~Å|@LL ÿýßÿ=cïÐ\ŠÇ㡵µ•ÿøÇ¬X±‚Í›7“=§­©n±ÛíŒñì³ÏÒÐÐÀš5k(((ÀÏÏ/äÂÅh4²k×. ùùùlܸñª€ÊgEDQDENœ8Áw¿û]òóóY·nIII_T¹_g™ny©Ã½Û>Œ©oëød!ú©"%AŽ È‰ R¤WrªßB¸Ÿš`_%}æ‹;ajSAa·Ù˜¤«« ƒÁ€F£add§ÓI]]¾¾¾„Ëý§<)g»p-„€ÓĸCÁšt?zÇHñçt—1·–`_j¹€Ù)2fqªWî§$.XCW—ÉãB¦P¡QÊp‹.·ˆ ù(òQ RÙöë•'€z<ŠŠŠˆŠŠâk_ûÚŒBc×Jd2( ¬V+½½½8Ž+ò0ÈSÕ­ßz¤“ïýè×üóÃÿÄ÷~ðlZµ” ý< À/j9Zµ/Ý#CŸê!j¼žþÇO1Øääßú%¾vÏûÎÞ›—Ès¯ïEâã&Ò‡æÍ7ßÄßߟ{ï½—5·.½6N}·l¾‡ÜU·316ÆØø2µ–àà`ЪÕÈ®Àt;:ƒÁ@ss3ƒƒƒsìµÎŸÕ·ßMîªM'ÆE®ÒD`€?:­öºén·Û9yò$}}}X­Ö+ê‹|½dº-ÚÄÄ~ø!äþçÈÌÌdË–-äçç“@PP*•ê¦ÚÀ¦Ây˜L&ÊËË©®®æü#111lݺ•5kÖššJxx¸—ˆùó.S…c===477ó /ÅÚµkÙ¸q#DDD Óéæ´µÙ§!### Ð××ÇË/¿Ìë¯¿Ž¿¿?Ë—/çŽ;î ;;›ØØX|}}Ïô©ý‚£r®dïÞ·®|ž‹2áÌG6õñóQ±!;˜è -Ù1:Ê:qÙ,ÅN],™€(Š˜ÍSáÎŽŽgÁ‚Sn| +‚Ìs–³A†\&ÐÑ3Dμ4 ½FZ)à¯tê¯ãöÜplV+¢LIiÛ$k2CiíêG¯§Ý†èµJE«è1Ó9 >%[…©—ЪäM«(9üÎŒŒét:yå•Wxä‘G®û©V&“áçç‡\.÷R±X­Ö+)Ôz¾ôÀCôôõòë?îâ?ÿJ¶ï`ÛíÈ™??=z¹ :5e­m<ý½g¸í8]#6ÞqßüÖ7ÈɈ½*^$…RIø§èñà<ÓõaZ?N‡æÚ…RdrþAøÿ)NÄØØXî½÷^Ž;F~~>©©©sþ7år~þøùŸô©éîïïÏ=÷܃N§#99™%K–Ü0 ¤ÉdòMQq8 S\\LII QQQäææ²zõj,X@zz:aaa7Èq:ŒáñxE§Óé­xllläOú .dåÊ•,[¶ŒÌÌL¢¢¢fÕSùfñXõööNßI®3Íç›››innæ•W^!++‹üü|òóó™7oñññètº›â099Éää$’$!Š"V««ÕÊž={xÿý÷INN&//‚‚.\Hbb"þþþ_xóæ@¬Ö+o&Èäg9’ §cÄIÓ€•itŒRzz—èÜ 0ín‰Æž ÌF…/*¥–@‹eœ¶Ž1Ô~þ ÈAšYŽŸÃá`÷îݨT*zè!®ÛËÁ ììv»ØÍ$  ÑGðð·¾KhT»÷¼Ã½/sâÐßÉÌÌ ,$çø½c˜ÇÌœ(9HÆ‚¾ûÏw±}ëm$ÇG¡¼V‡0ÉC_oû¡º¦¨¨(t:ï¿ÿ>Cò0¾ºaÉM5ÃÂÂxâ‰'x衇Îêhòù­VËC=Äí·ßŽ^¯Ÿó*×™ˆŸŸ‰‰‰DFF2þ|:;;½óÊívÓÝÝMoo/‡"**Šììl–-[ÆŠ+HIIÁétÎM÷Žë …‚ôôtBBBHNNfbb‚®®.ŒF#‡ÑÑQŠŠŠ(++#<<œŒŒ rrr(,,dþüùØíöϬî³] #""ÇCGGããã¸Ýn&''9vìÕÕÕ¼þúëÞCL~~>999X­ÖÏ­ÆÙºGFF‹Ûí&::šS§N1::ŠÃáÀn·ÓÐÐÀéÓ§Ù·o äää°dÉ Ÿ³n _ÈÅEžŒOˆ™g¼u2™ŒÈ@ 1AJ*Ou‘΢ÌdÊ»—ñØ!¡V©ð ð&L Ž ˜Íf´Z-þ²3îÁ³î0i—¨lfÜꢮ׊Ùl¦©ÏˆŸÿ8 âéµStÒ€ÒãÂfwÑ3îæ`ýña~ô ŽÑ?b|ðˆ2FÝZP«&;5Ž£šÀe³à”*$ÇØŒe6›Ùµk2™Œ|ðº;AðõõE¡Pàv»1 ^èÙrêÔ)ÞxãK¿PúG°zíz‚Cj¨¬ªaïß*qiê)Š" B"’((($&Ô‡†ª4V_;׺$‰˜Mãôö  ×ëyà¼^»îúRÞ0u~&&Îèè(“““TWW_Úæg|¯$Dáv»)//§££ƒwß}÷†Ìy²Ùl DQdÏž=—MZ¿RݧyÛÛÛÙ¿ÿŒi8f*ýýýèõz–/_Îüùó)..¦¾¾§ÓécccŒsêÔ)Þ{ï=âââÈÉÉñþ¿¢¢"º»»gý ÃÃÃôõõát:Ù³gÏu+Ðjhh@&“‘••E@@œ8qÂKÉ4Í¿i6›éèèàÀ¼òÊ+dffËØØeeeWåÅs:Ô××300À|pÅ­§Ån·ÓØØˆŸŸo¾ùæœæFvuu!IÉÉɤ¤¤PWWÇ¡C‡;g^tvvÒÕÕÅÑ£GÙµkéé餤¤ÐÛÛKCCí—ËEee%£££8p€ÖÖÖë2V¦ÃС¡¡Üzë­DGGSRRB{{»à»\. ƒƒƒTTT°{÷nRSSÉÍÍ¥¾¾£ÑÈÛo¿}UýŸÛÚÚ£¼¼üšxC§çÝÍ(>á‰øëqš,Èά¿rA¢±µ‡’úr鑬“¸íÎ ;AàL(V">!ù‘S4!aaax<ÒÒÒÂÂB$IbÜ¥F¡4#È>æUéwñÂa¢&˜ªn•-&<¢œÖトn'(4ôM¨íf$$DAAÅ„h7!IŽL£ôÆ’½¥'ûÔZ,Hn'Wê˜Å8zÊ‘œF˜ac%£ÑÈK/½„Ûíæá‡¾.A¼}j?é?[¦É /)2Ñ ©DÆ%±ö¶mxDqê>’‡wßÙÃÞ·à£Õ‚B˜š°×ZÔ_RSç]t±¿¡@ŒÅHWë)>úè#êš:ÎTÙÊðñÆjÅ}%6Ÿx<oˆlšôÓ‡ÍBWÛ)8@]S;×½€(VË$!!!×t|LS£\/Ý=2™ ÒÓÓÉÉÉÁãñàv»éèè ¸¸˜––/®Ñh¤¾¾žS§N!S)'¿üå/Y±b‹/öö„–ËåWœgär¹¼Éé.—ëºå'¹Ýn¯WuÞ¼y¤§§sÏ=÷àñxöz &&&°Ûí8ÚÛÛéììD&“áñxøóŸÿÌÉ“'ÉËË#**Ê›cu¥!¸iê†é÷>Ó÷=m;·Ûí¥™K{I’„J¥"99™ääd¶nÝŠ(ŠŒSVVFyy9£££Øl6œN'===^¯¯(ŠtttÐÖÖFAAñññøùùÍ(Óív_•½®PŠ¢ˆJ¥"22’¨¨(n¹å/asCCG¥¯¯‹Å‚Ëåbtt”±±1***¼ïåG?ú·Ür iii¢ÑhÉd3š+’$]Ù>7ƒwz³‰Ò'}ÄR¹üL$Uæýoûˆ‹Ó |¨è¶á¶ ŸKÐÈd¸åZÜ*%#V‰‰‰IRR`—IÒ÷ñAìNDÁÂÇFÁ'Õ´P¥ó61>+`‹L=åÁŸùY®ñ;ë; 92ÿïuÁ)˜}c°6½‹h™±áL&Ï?ÿ<©)©lýÒÖ9Q‚ x'Á´çÐh4ž7(³²²¸çž{f»­bä½wþN` šuב‘Âç9 vr¸žýoî~ÓÝœnÏYÞ+J•ŠÔ…‹¸óî/£ºF N§Ó»ˆnß¾}ft'×PŒ#ý¼ñÒs¼ñêk4up£{ ž˜Ì;wâs(:DQ¤´´”þþ~6±Ái IDATmÚ4#®ÇÙHss3•••H’Dbb"III¡P(E›ÍFii)G¥¢¢‚ææf ‹Å;÷†††Ø·oµµµ¬^½šµk×’’’B\\AAA—õ"uuuqèÐ!¸ë®»®ÝÉþýûÙµk——B#99™°°0/_¦Ó餵µ•PZZJss3ÝÝÝLLLxA¡ÅbáÈ‘#444°lÙ2Ö¯_ÏÂ… IJJ"$$FsÉMÛf³ÑßßÙlfóæÍ³¢;éêê"88˜»îºkN½µµµ<÷Üs^Š–äädoÉ4HèêêâÀ”••Q__OWW—7\;­oUU­­­,Z´ˆõëד››Kbb¢·ðâRöšî²ÑØØÈÆY¸páu+Ñ×ׇZ­fÞ¼yDGG{óè<ãããsäÈjkkéììdppðàŽŽ iiiÜrË-¬\¹’ôôtï¡àrù«¼ûî»,_¾ü*ö¹sçÿO~ò“›kÓdhCÓцGãtyp‹ Sj°9\ÛW>µÆ8Ý"(¦þ}IºA&ãD‡æA'6W2cŽ1†ÇB)=~nØÓî–µHŸZr¥L-GŸ¼sÜ—O´Z­×^V«ÕËxÞ;˜õ‰_ E«ÄG&1î43êvNìÏ)²s™†ÙûâÓ<õ›ßc·^лä‘$N™ÝL¸%ÂÕ×f,OŸ`Ïþ\ÝGx÷•?òÓŸ?M[ÿØtŸÊj·ºqH ¿FÏx=uŸöztuuñ³ŸýŒÄÄD–.]ÊÒ¥KÉÍÍ%-- ___Ö¯_Oaa¡·#Fyy9eeeÔÔÔ022âAtvv²oß>’““ÉÉÉ!//eË–‘’’rQ€÷i½o£ÑÈøø8Ï?ÿ<$++‹¥K—’ŸŸOff&~~~dgg“‘‘ÁÝwßMkk+eee”••QYYIww·×»944Ä»ï¾Kqq1IIIdgg³hÑ"òóó™?þEÃo²OäXÏT÷éï ‚0#ÏÏl½V“““ìÙ³‡ŠŠ æÍ›G~~>¹¹¹,\¸àà`RSSIJJbçδ´´PYYéµYGG‡×C9>>ÎÁƒ9vìÉÉÉ^~ËåË—³pá‹æNŸ­ãõ+N§›ÍFyy9O<ñóæÍ#''‡åË—³lÙ2¢¢¢ cçÎlܸ‘öövN:å=566zÛwY,ª««©««ã7Þ`Þ¼y,^¼˜Å‹“ŸŸOddäEõ:û÷×B÷Ok}kñÈõLÚ<n”(4 ÌNÏÅB\²ŽÛ_åÁíp3|¤«tþŒN^˜ÕY/Ÿú|j¢VâY¸ŒI¹‘‘ÓÅX­3ï­WUWÍÛûÞaǽ;ç”ó“;‡ÃÕjYb|¨‡÷Þz‹êÆ¢’2ظi#é‰1(ÏꓬA£’1îtxðœã-ýüˆ$º¨(=ÈoŸ{å‚ îã…VI˜Î\¸©t¯®8Ìïÿú*†ñK •ć R|6«D'''ioo÷ ŒÑÐÐÀž={ˆ‰‰!;;›7RXXH`` ÉÉÉ$$$°zõj†‡‡yå•Wxúé§ñõõõæ ‰¢ÈÐÐÃÃÃÔÔÔ°gÏV®\É“O>Iffæ £»Ûí¦½½Ý»ŽÔ××ÓÜÜÌßÿþw¢££IMMeíÚµ¬_¿žèèh¢¢¢ˆŒŒ$77—{’’¾ÿýïãr¹°ÛíLLLàt:1™LÔÕÕqêÔ)öíÛGjj*ßÿþ÷¹ýöÛ?Ó’¢(ÒÝÝÅbÁf³yó@>LXX©©©°iÓ&¼¤É999ìØ±ƒòòr~üãc0$‰ÑÑQìvû9…}ô±±±|ë[ßâë_ÿú ¥ÿðð0¸\.z{{éïïçøñãüío#))‰%K–°iÓ&,X@@@ .$33“[o½•ÞÞ^žzê)öï߯¯/ÃÃÃX­V<]]]ôööRRRB`` ;wîäG?úÑÌÚ(~ŽdóæÍWàž܃¿Z@®9“"ˆ )¼ò;ÑåäÑDû¶zû–>:ÎÞ½/3::0£˜»ÝaçwÏ=‹[æaÇŽsVÞþI`çv»½îý+ëp7Ï<ùùÕ‹{1ڜȕ^ys¿þÕÏ(Ìù˜~C¨D®”]” úó"»‰–Òèì3\ò{qi‹ùÒ-›ðSÜ<ð×c3ÒZ}ˆŽînDQºÈx”Ÿ™ÇWw>€þSêÆr-dñâÅ^^2£ÑˆÍfÃf³188Huu5¯½ö)))PXXHnn®7l™žžN||ù$¢(räÈŽ;æõNØl6onÚL‹æü{<¤§§³~ýzª««½yaãããŒÓØØÈ¾}ûgåÊ•¬ZµŠ¥K—’””Ddd$YYYøúúòÈ#••åÕ½ººš±±1/ùñØØ7íEPP[¶l¡¼¼œÁÁAl6LLLÐÒÒÂþýûùÍo~ã¥<ÉÏÏ'--ÐÐP²²² aÆ ìØ±ƒÃ‡sìØ1***ô‚cµZMttôuГ$|}}Y»v-‡ƒžžÌf3‹‹ÅBOOGåOú‹-bÕªU¬\¹’ŒŒ ÂÂÂÈÊÊ"::šÜÜ\~ò“ŸPWWÇñãÇ)--¥³³‹Åâ-Ò º)(b>M‘ÉÖæ¤²c[2êÔ5).åRÊ@]Ÿ)Ch52V¯^ŠÅâàí·ÿ‹e|F׌ŒðÜsÏa±X¼‰¡sáÞ=;![v¦tùJ¥¯£‡ã'N2i¶â‘Àí6S}dOïÞr°ê·ápxWʉPËù¼Ò’ 2ú ptj5ãæódz\¡$,&™oüÛ¿“7?ê¦ÊCä |üCÐi´œßsV&W•Æ?~ë[¬\’ú™Õ= €o~ó›lß¾ºº:Ž=Jii)LLLx½YuuuÔ××ó·¿ýääd )((ðVI{óËz{{©¨¨ ¤¤„ªª*úûûY½zõu¥FºQ«ÕlÙ²…ÜÜ\ššš())áĉ^íi@ÚÝÝMOOï½÷QQQäçç³fÍär9‡­VKAAyyy ÓÐÐ@qq1eeeÞ<²¹Î“¼>›¥ŒÕ«W3þ|NŸ>MII ¥¥¥œ ::š%K–°fͱX,¨Õj-ZÄ‚ ¸ï¾û8}ú4EEETTTpêÔ)oû†Zôôt~ðƒpï½÷RYYÉ‘#G8yò$˜Íf\.F£‘ââbŽ?Nxx8©©©lܸ‘E‹1<<쥌Y´hwÞy'ÝÝÝ=z”£GR__Ïèè(›7oþ‚Üøª¸’¢ a ;Š›Ñ¾¾*֬ɧºº’¦¦’_?44Ä3Ï<áC‡øá8'a—³y”JåÌB¿"S/ûìà±Ss°å¬á zh£S`ž:€P•ÙçtŽÉÕz–Ýz÷Twñê[ûŸê»*ÈcÁ’|î~à!ؾöšMÜ8ºû’»æƒW÷|@÷ÀЙJ`ßÀ`,ÉçË÷?Ä=Û7â¯U}¦uÕh4¤¤¤””Ä–-[hkk£ººš²²2ªªªhiiappQatt”ªª*^|ñEôz=N§“'N@\\ÉÉÉ$%%±mÛ6:;;illdÑ¢E7äf%—˽aÖÂÂB†‡‡©««ãرcTUUÑÔÔDOOwÓ6´´´ðú믆Á` ªªŠ… ODD‘‘‘¬^½ƒÁ@}}=þþþ×­äz€»ÐÐPBBBÈËËcbb‚ªª**++)//§±±‘®®.ìv;V«•––ÚÚÚxçw crr’ÈÈHÊÊÊHNN&$$„ÐÐPòòò¥¾¾™LFXXØwØôz=999dggs×]wys.;FCCmmmLNNžS \RRBDD‡ƒ°°0JJJX¼x1ááádgg“™™É½÷ÞKss3Ì›7/äÓÅͪXX˜†µk×Í ØÁTx´®®ŽŸýìgÜyçÜrË-׌ e:Ñ{:L¬Ñh.[Au¶„Gù›ˆ¼N†Çý1@Œ[ø1a¬kr®Ž\r5úÈ 4>AŸßQ.ȈNšÏ¿ýðG,+¼•æÖvF'L¨}üHJGîÒ¥¤''àó6Ó=*1ƒùÞXZ°–úÆÓŒŒQjõ$$¥·|é)‰èuê›Fe™L†J¥"##ƒ´´46nÜH__uuuQ\\Lgg'—ËÅÐÐCCC( ~þóŸ³oß>–,Yºuë(((@«Õ’‘‘Azzú ï•Jåy+W®dpp¦¦&Ž;Æþýû9yò$N§Çãy/¿ü2,\¸ÂÂBÖ¯_OHHqqqÄÆÆ~fIy/g/…BAHH·Þz+ ÒÒÒBii)~ø!µµµç tttðá‡ÒÖÖæíê±qãF¢££‰ˆˆ <<I’nø°µ\.ÇÏÏÅ‹3þ|¶nÝJww7ÕÕÕìß¿Ÿ£Gz‹Š]]]ÀT?ðï~÷»,\¸¥K—²~ýzoN^^^¹¹¹_´®»Œ¬[·ŽöööØÑÛÛ‹$IÄÇÇÓßßOqq1›7o&..îŠïÓÓÓCtt42™ŒññqœN'UUUlڴ骔²Z­tvv(²lÙ2ª«kp¹fΓ#IÔ××ó‹_üâ’5..Ž;wOffæei$Iò»€€‚ƒƒ¯xðÉdýºM¼}°† 3A¡,]³•'¿9EÕ"z\T—•óáÁZB"¢Ø´eQ‘þŸëI$È„Ǥ°ã¾D<7‡(¢ÓéP*7uÈ@)NâK;âÙ|‡‡Ã…ÛãF«Ñ R©njÝår9ÁÁÁ‘••ÅwÞÉää$'Nœà­·Þ¢ººš¾¾>Ìf3‡Ã›L~èÐ!ž}öYRRR¸í¶ÛX½z5iiiŸSÑ~£ƒ???üüüHNNfÆ <þøãœ:uŠ÷ߟÇŸªžöb–––òâ‹/ÁÚµk¹í¶ÛÈÈÈðÒÜl½S϶—N§#11‘øøxÖ¬YÃ7¾ñ :::xï½÷8xð íííÞ. “““TUUQ[[Ë«¯¾Jpp0kÖ¬aÆ ,\¸ØØX|||æ”hùZÊÙ‚¥K—ò•¯|…<Ȩ­­ehh«ÕŠÃá ¹¹™ÖÖVÞ~ûmžzê)-ZÄÖ­[ÉËË#66–ÀÀ@ÔjõáØ‹HAAúÓŸn`רØH]]ñññÄÆÆ‰J¥ÂårÑßßÏää$\ò¥?~œåË—NEE>>>deea4@£ÑŠÉdÂãñ ÑhE½^I†ôŠ‹‹ #'gÑѱ?^Ëàà’d™‘®’$y“°/%ƒƒƒ”——“ÀOÓ½ÉdâàÁƒtuuQPPÀ’%K>‹L.ÇátRZz‚šš²²²X¿~ýM»QrÓ–Ëåèt:t:wÜq·ß~;ÍÍÍ”––z©,:::¼!(§ÓIEE•••<÷Üs,Y²ÄK ‘ššJllìgÆv2™ µZMhh(¡¡¡ÒÙÙIyy9ååå^^¿ÁÁAÜn7f³™ÖÖVÚÚÚxíµ×˜7o,_¾œÌÌLâããoêjÇi¯oPPAAA,^¼˜¯ýëTTTPZZJUU•7'Ïåráv»±Z­üïÿþ/¯¿þ:,_¾ÜKyÿ™i?8íÅôõõÅ××—´´4xà***¼ã¥¾¾žÎÎNl6»ÝÎþýû½Ž999¬Y³†E‹yCÕ_ôš=Wôz=aaa ÝÀ¦x€¦+ÅÚÚÚèëëcbb‚ƒ"ÜrË-—œüYYYTWW{Á\FF»wï&;;›®®.Ün7Ë–-£©©É $''‡¨¨¨K>ŸÛíÆn·£×ë),,ÀåÒRSSC__ܲS÷ôôðìoÿˆÌ©¦pý ”*ÅAÅbÁãñ V«ILLœQŸX}X*ÿò½ÿ˸ÅÁ‘êf~ùÓòjt A~ZûºhëbÑ-Ûxü_þ±Áš/fÑE‘'NðÓŸþ”ŽŽ6lØÀÓO?MppðçBÿ®®.þë¿þ‹ªª*ÒÓÓINN&55õs9Ôj5 , ##ƒíÛ·{sòJKK©¨¨ ··“É„(Š öíÛÇ‘#GˆŒŒ$--+V°bÅ ÒÓÓ ºnį́;˜˜H\\·Þz+ýýýÞ ÇòòrÚÛÛ÷ò½•––RWWÇîÝ»IIIañâŬX±‚%K–rÓäÞ]Ê^‘‘‘lÞ¼™Õ«W344Duu5•••”––ÒÔÔÄØØ˜—#®ªªŠúúzöîÝë-¢X³f 999DFF~æ@±^¯gõêÕÞš³sòêë뽞<—ËåÍG,**"66–ììl/§bbb¢·æç]"""X¾|9o¿ýöeœKרEEE1þ|4·ŠÈh4RSSCjjê5JNLL¤ººšÃ‡GHHƒ¥R‰ÑhD£Ñàñx0 DDDxK³—.]zÙç "33“€€|}}Ñé\lÙ²‰W^12>Þ\îž“—åñxhj9ÅŸþçy2¤~Ap122‚Ëåò¶šéiNdÌ[²šŸüü×¼¾ëÞÿ¨˜ö¶SœvK„†ÇpçƒÿÄ?üÃWYœËŽðómßßßÏØØ˜7Aúó"Óìþãããôôôx{‰~žE©Tzé—,YÂÎ;éêꢴ´Ô›“v¡ÂƒƒEVV«V­bÅŠ7d/àK‰\.'00€€æÍ›Çí·ßN?µµµìß¿ŸŠŠ ZZZ¼Q‹éÊÚ’’víÚå%ö]±bYYY7eK§Ozò¦ÃÛ‰‰‰lÚ´‰ùè£())¡µµ“É„Ó餿¿ŸNœ8ÁÞ½{ILLdÅŠ0þüÏ”½¦‰õ§s.W®\É}÷ÝG[[G¥¨¨ˆ†††‡‡Ï)Pª««ãí·ß&..Ž¥K—RPP@nn·ü¬­;—ëµ+I"CC8öõqž1°“$ …BATT‰‰‰8N´Z-AAADDD——ÇÀÀ€w \N±˜˜ªªªX½z5 …Â[V^VV†Ýn÷æ<ÄÄÄœœLCCÃeO;2™Œþþ~::: aÓ¦MDGGQ]]IVÖ<ŒÆ8¬ÖAl6Ó%Q²ÙlÅn·!ŠžK’žpÓÐ[Í®W_ç±Ç=Ï=Ý»ÒápÏÒ¥KgÕ|[&Sœ¹„ýÏ îx€~à 7†„Ÿö‹ü†Ox…‚ÂÂB¾üå/SSSÃ>xCV®Í•$%%ñµ¯}÷Þ{µk×ÞPD»7ÂÆ5 òBCCÉÉÉáÞ{參«‹ãÇóî»ïròäIÆÇǽô)ÓÞ‰>ø€ˆˆèêê"44tFÜ”7‚îr¹o¯Ý­[·ÒÓÓCuu5}ô‡bddÄÛ;µ¯¯þþ~>L`` iii8Nôzý9­§nV‘ËåèõzRSSINNfãÆôööÒØØÈþýûù裼-ëÜn7 ÊËËùË_þBrr²75ä³f/AP«Õ^WPPÀ×¾ö5ššš8|ø0û÷ïçôéÓ˜ÍfœN§—#°¡¡×^{¸¸8¢¢¢0 Øív<Ïç®ØB«Õ’——Gqq1}}}v]]Õ˜Lëñ÷¿rþÌ»i/ÓÈÈÇŽÃ×××{b“Ë夦¦âñx¼‹ä¥ääÉ“x<oèU­Vóè£"—ËY¼x±·IóÙÕh‹/¾¤wº÷‚ EA°X,äçç³|ùrd2ÙצtÉÓ’Ó eeuÔÖ6ÒÞÞI__#’tå“ÏåvpèÈ~vܽõ¼‚“ÉDcc#‡ƒ%K–x)fszµÖ‡ØÄbSøB./qqq<õÔSˆ¢ˆR©ü\-(AAA<ñÄ<öØc(Š/B"—9LçX-\¸¯~õ«466rðàAªªª¨««c``“É„Ýn§³³“ÎÎNàÿgïÍìªÎ¼í{Ÿyªyž'ŠbdTÀ$qˆ¦‰š3~~I_ø~Iw'~ÓIúít'éöKbŒm Æ™A"ƒ€È EÔ<œª3ÏÃ>{ï÷¨#%PTaQž½¸¯³ÏÙkíµ×ú­g=|øá‡ø|>RRR®Ê¶k4¬V+S¦L¡¦¦&iÅܶmÛ Ú©.—kPdñÀoKK S¦L¹fÞ-F“L·SUUŲe˰Ûíìܹ3™Û­¹¹9y\;ðy`lnnfÞ¼yW¥Ú@ (((àæ›oæ©§žb÷îÝìܹ“#GŽÐÔÔ„ÝnO–ÏaúK§Ó‘ššÊ²eËX²d œ\ކ†¢¢¢Q)å¢ÓAF††[o†Ý>ŸmÛ¶?mŠ,˼ùæ›ðÀFùðÃioogæÌ™,^¼X¹**W.$ÜtÓM8N:::Ø»w/kÖ¬¡³³“Ï|æ3r±:;±ï¬Y³xàèîîæèÑ£¬Y³†ÚÚZn¼ñFJKKU73"/==믿ž)S¦pÿý÷ÓÓÓ“,ó¶{÷nnºé&ÊÊÊ&dÛ- S¦LaÒ¤IÜvÛmôõõ%+6mÚDzz:sçνªÆšD"J¿‹D†k›RØõ÷;èö¨= Ìœ9“––êëO"Œ ¶G?[·neæÌ™”——ÓÖÖÆÆQ…+V\Sþ]**‰+›ÍFYY‹-âë_ÿ:”””LècÈGz³ÙLAA³gÏæ _ømmm˜L¦Gù_ ˜L&L&¹¹¹Ìœ9“|ÎÎN€ ¿èt:222ÈÈÈ ¦¦&™S±¿¿ŸêêjupNžldÿþ¤¦ÏHa·ûƒÝÁ^µW9L‘›[E__¯·ž?œ$IìÞ½›ÂÂBž|òI¶mÛÆáǹþúë¹ë®»ÔìÜ**Dèèt:²²²®™Ô9Ÿ¹yHU.ŽF£Ál63yòäkò]Ñëõ^4m™Êiúûøë_w=<·­!…Ý}÷ÝGaŠÚ©‹4xë­í¼ýöóˆâðSdÄb1vìØAii)¯½ö:ŽG}ôšÍ¦¢¢¢¢¢¢2|–.ýn¸¡äÓ ;V;¢cljŽN7Ýt=µµÓ9~üàˆ®íèèà™gž¡¡¡+V°|ùòKJq¢¢¢¢¢¢¢rm!ŠÂ°¬Õ#¤  “ûîû"ÅÅSGìàñx¸óÎ;ùþ÷¿¯š UTTTTTTFUØ­V`êÔt{÷’X²95I’ðûýX,–AY¤eY¾`µEQƒH’D,cïÞ½èt:ªªª8tè‘H„¹sçÒÐÐ@gg'™™™vq­–¨VKÄ âòp¦0,6YîGP@9óÎb&%?FƒrFþ@0H[[}ý"ÑŠ"c6™±Ú4‚E^ôp,cýúõó¥/} ³Ù¬Žl•kŦ½)jå÷/°D]m-šîntuu™‰œ—‡\XˆKQxãÍ7)))aÑ¢EÉ$‚ $ÿœOäìÚµ‹h4JNN¡Pˆ””öîÝKjj*™™™9r½^OEEE²>íp¨³­} &­Ðj´ØÌF=©)FP²DÂj zéͧÏW/@4ãĉZ ‘)5Õ¤¥¥"àõyéësa$Rú IDATR_w¿ß3ì~ŒF£lܸ‘Y³fqà 7¨#[EEEEEåZvÃ,vP[»—å˧ë³#ó±K$д´ ikCp»Ñ´¶¢mnFðz ƒìÞ½›—^z‰íÛ·' BE0¤··Y–immE–eªªªèëë#‹QPP@SSƒ›Í6ìÛ”e™¨ÏQ­(£e¤pŒG»8ÕÐ&.¡“ô …¨Ç‡”†ü®¶¶vbbœ™×M'?/‡Ã‘´ Λ;‹ü‚ü‘+ŠBss3ÛÞÛ†Õ‘­¢¢¢¢¢r ¢ÑhHMM½èç\®f‰a~çˆîÀlF\¾ñfÌ@¼çâŸý,re%Š `³Ù(((`çδ··_4@@«Õb2™¨¬¬$‹ÑÖÖ†Ñh$%%‡ÃÁ`  b³ÙE½^Ooo/MMMD"‘ ~¯“GÑi´h ‚FƒÃ"Qª0Ž Ñ ÕiÑ* \ØÄ‹Åñú¼æc2› ƒ456R{ò$Á@ˆ‚‚B,¸£É:¢®”$‰×ßzwV¿£Žl•kƒÁpÑÏD" úú†g‘°Sôz”¬,óç£dfžžÐœþ‹ÅÂÝwß´HI’4ä÷Y,l6±XŒââbúúúèíí¥¨¨ˆ@ @<G§ÓX1|>[·neûöíôõõ]ð{q)G+h4’$ãpÉÍJEE:º} €FР´Düþ!X⌨Ôáõxزe 'ëNÒÚÒ»kÛí¤¦¦†‚ü .ì¡w~âñ8kÖ¬¡»»[Ù*******çÅëuÓÔt|ô…]R०"Íš…bl¥òòrÊÊʇÃÉ`…¡Tê¤I“èíí%--‚‚öìÙCZZáp˜h4ŠF£!ÓÙÙIcc#ddd "7‹#GãhÎøöE¢ ú~¼¾‚ ÑÑí!Mœ.Ü­Ñ „.xÊ­ÑhÐét$¤F“‘©S¦Ÿ—OVVÓ¦N#=-Ì,#•UØlÙ#î˶¶6<¨ŽZ•ó"Ša|¾^äaÄi^Z;A8m¥;_™Ñh$//¬¬¬‹&ÝÊÊJJKKéííeÚ´itww£( ÙÙÙØl6æÎ‹$IH’Äõ×_OFFV«•ôôôó‹NEAŒFA’Ðh4‚€?%Åf`FM³¯+&‰âñFÐkõH±8ʬ‹z½£ÑˆÏçG£˜2¥†IÕÕTVV2}Ú4l))¸\.&×Læºëf¸+Ãá0µµµx<žQÑ —£‡Ðï«o„ŠŠŠŠŠÊUŒ,ƒÏÑèÅ?«»”PY–‘$ Y–D"¢((ŠÂu×]GEEZ­ö¢V;³ÙÌŒ3ðù|ȲÌ7ÞHAAsæÌÁjµRUUEkk+3fÌ 77—÷ߟiÓ¦]0Mˆ¢(ÄÃQYA£× Åhíp‘šb¦¸0«ÍBS‹‡†;¹Ù4:x8B"­æ¼Â®¢¼œÃGÒÞÕAA~!S¦Ô h4H²D{K--m̼n³g]‡ÝÞGkëÑá °h”ºº:\.×Åêˆ~"NKÝþëçÿ‡U[ö‘Wq÷ýðàÝ7‘‘jåRÒ ö÷÷G())õ Ù*******CÇhl<ŠÓ9—ÒÒüÑv²,ãv»ill¤««‹P(„ÉdB’$"‘‹…’’L&Ó°¿Óh4RVVƸçž{HIIIµ*ŠBQQ---8p€ŒŒ ÊËËÑh4R$¢QIAÐ @až‹Åˆ ³QÇìëòOU@%¢Zãy¿2#=)“'Ó|êÁÀ)ŒñxLJ$‰ìÙ»—éÓgp⦅ãÏnÇï÷»ý­­­444P^^þéž¼¢ÐÖp˜ÿøÉ¿ðÚú÷ ÆDúÝ»ù—þ'üáá›+îÆjÒë«<¢(’Íú ¨¯¯çŸ~øÃ‹æTQQQQQQ]E"ñ‹EP”!3´\؉¢ÈG}Ä믿NOO¢(¢Óé0dggc0FœtWrss“•233 ɶ¶6ÚÛÛ)))aòäÉX,– ~—”ˆ‚ÈgŽoM•e¹§Ó‘( ³‘êòüd2ℜ@ŽC"ã…#S òó±Z­ô;AdY&-5ÉUÕtvw³ný:ºº»X0!55Ó9xp², «ýN§“µk×~êœvb4È[ÿóV¿»‹`N´Z­deeÑÝÝMaaá !ét:),,dæÌ™CMȉ!¯¯ËI@ë2A²‚‚¢€!31C!eHñ™–šJjJJ2ËÀ÷šÍf.\ÈÎ;ÙÿÑ~,Öt¬Öá[í<ÈÁƒ‡ö|!ú[÷óÜË«qcdä•s×]Kp¶fûGh9º›WÞØÎÂ?1¬ãØÆÆFŽ;¦¾I*hÇ«F1¶øOà¶Çb1t:]2Ó€ÊÐÄb1AøTsòÕŠ$IÄãqµ2Ò†,3¬\v#~õZ-Ó¦M£ªªŠP(”´ØY,̱ºúúA¿, “ÙÙýÞœœìvû ÿŸH$ˆÇ㤤¤ sBRÐjµF€@r’’æ´½.™ñY£9Ýc“Ág‰¹³1›Í,^¸ƒÞÀ–­[pGÝg>3¸>íP„B!žþ?ÏðÙÏ|ö¢ùÿÎÛjYdÝ‹/ÑæŠ’]Êwÿé§|ëËÐñÑfžüÚ×ù¨Ýϻޡ5ô•Ö‹ÇøQª¨L¼^/ßýîwE‘)S¦0uêTª««ÉÌÌÄd2a6›1 hµZ4Í„±XŒßüæ7ìÛ·êêj&OžÌôéÓÉÏÏO¶Ýh4jûh&¿Úxå•WX³f åååL:•iÓ¦QXXˆÕjÅd2a2™Ðét²¿Ž?Î~ô# ™2e “'O¦ºº«ÕŠÙlÆd2¡×ë“m¿Ö6JW:#v¹éôzý¹Ö9— ¥¡á¬Ò_ŠÍ†b6£œ)16‹åœ—C¯×c³Ù’Á{yôf3“nº‘Ä‚9É:±‚F󱘓•Óÿ= Ð ©Â%ªLF#‹n¼‹ÅB<®aßž½ìÞ½Iþñe§«•­{6«jÇ'‰:ëXð8Z£…Ûøû›ÏjC™6“i gs ý}º{Ü´t„¨œ:r«ª$‰x\ôi¤êÔ—XåêÃívóöÛo‡ÑjµÉéEEE”——SSSCii)ùùùäåå‘››KZZ‹«Õ:¨öÕF(bÓ¦MìØ±FƒV«Å`0““CEEUUUTTTPTTDnn.¹¹¹dffb³Ù’m¿–oEQxï½÷X»vmr¬èt:233©¬¬¤¼¼œÉ“'SPP+YYYÉþ2›ÍWuíÙ³‡÷Þ{I’’íOII¡¬¬ŒÊÊÊd6‹üü|rssÉÎÎ&55«ÕŠÅbQ­ÂW“°ÓjµCûYåäÀ½÷žó‚(Iq54ùùùçøÏéõzª««O[ᆱ#²È2z‹ ,¦u„Q’‰¤¼´Z-sgŸNyâqyøè£‡þ^–%ŽŸ8vI–²¾“§pw÷“™SƲ;ï¢8ët‰!›­­ Ä}#+a&'âˆ‘Í õüú7Oó™ÿý4wçZÔ7G媣¥¥…P(œ> H$ÉÄç'OždãÆ˜Íf222ÈÌÌ$++‹ââb (**¢¤¤„ââbJJJ’þÄW áp˜––EI¦ŠÇãƒAZ[[Ù¾};z½žŒŒŒdû ),,¤¨¨ˆÂÂBJKK)))!//ï¼›ð‰D$¡­­-iÌè¯p8LWW;wîD§Ó%kšgff’ŸŸ?h¼”––R\\Laa!6›íªê¯£G&³^ȲŒ(ŠD£Q@8Si*++‹ŒŒ rrr’m/åå呞ž®fS¸’…Ùlñà8VÎî%==ýœ¨KFCnnîýä>‰U¼´Ú«|*‹Ý'™={›7ÒÑÑ0²¢Ó‘••uѪŸ¤±/Œ=`Ò7pÃs0$­já´ÅRgÕaHFT¬"ƒ"ãuöòÛŸÿ3¯¾úM-í´õ9™ý÷¿Rßšó,^¯—ŒŒŒEƒODQÄív'«È\É‹—Á`HZèE!‡‰D"ÉÍT$!‰ÐÓÓƒ èõzôz=ƒ‹ÅBzz:ééédee%çjjjÈ?\e³Ù0 Wœµf`!.))Ál6…B„Ãáäf]EúûûéïïOÎEm7™LɶgffR^^δiÓ˜1cÅÅŤ¤¤$-UeðOOOOöW$!'7n··ÛÜØ †dîÓ´´´d1kÖ,¦L™ByyyÒ|¥Z·RSSIKK#??Ÿ`0H8& ‹Å’iÍ@€¶¶64Mò]1IŸùÂ555̘1ƒÉ“'“™™™´‚_‹þ‹Wœ°»”Éj$ý…ÄÛH~W3ŠâìÓ““Á]w=ÌK/ýQŒ¨L&6›møíVDú">‚‰ §0­8#éM˜}BÝ$(.L§²Ô6äWEƒ.vn]Ã;¶³ï£#ìÙI’Ðé XS²È2¨;¯|>‡fõêÕìß¿Ÿþð‡,_¾üšðMŠD"455ñöÛo³eË}ôQ¾ño\ÑÇ•äääðÓŸþ”[o½•îînN:Ekk+]]]´µµÑÙÙ‰Ûí&‰F‰F£ÄãqB¡'YþO6lجL“••EEEÕÕÕ”––&ÿ%¿ÙlF¯×Ëø0™L2þ|¾óïàr¹hjj¢¥¥…ŽŽ:;;éèèÀn·'«þD£Ñ¤Ðõù|É2Žóô@ÛSRR())¡ººšŠŠŠ¤¥ª´´”œœœ¤OÖÕtœk±XÈÈÈ`ùòåüÓ?ý¢(rêÔ)ZZZhoo§««‹ÖÖVúúúƒçô€Ãá8§¿4 6›ââbªªª¨ªª¢¤¤„’’ÊÊÊÈÍÍÅb±`4Çõ8·´´”ššž{î9ÒÓÓéèè ¡¡ööv:;;éêꢳ³¯×›l{,#‹ q¹\ttt$ÇúÀñÿ€XxWÊÊÊ(--MZ„m6[r¬\,PRe”„ÊH,opÓMS©­½ýû·!I÷$jµZ233‡ýR+Šˆ$ùQ1j šƒDŽ.ú!htÔÔÜB™eèGîwµòêÁŽ=M(Š@JzZ­†²²2¾ÿÃÿÍ’,Ó5ý\%IÂëõÒÐÐÀêÕ«Y³f íí툢ÈÊ•+¹í¶Û°~¢ÔÞDa`—~êÔ)Þ}÷]V¯^ÍñãÇ ‡Ã(ŠÂg?ûYÊÊÊ®ØûX`õz=yyy±`Á$I"ãõzñù|ØívÚÚÚhii¡¥¥§Ó™ü ‰ÇãÉ£\I’E‘®®.ºººØµkWR줥¥‘‘‘Aaa!eeeLš4))vrss)++Ó¨CAÐétddd——Ç´iÓP…H$‚ßïÇçóÑßßOGGmmmœ:uŠÞÞ^œN'.— ¯×K,K¶}àÏÀÝ¡C‡Ðh4X­VRSSIOO'//òòò¤_Z~þérŒeee¤§§_Ñ› 1f³ÙÈÍÍ¥¦¦&]ðx<¸Ýn:::hmm¥¥¥…®®.Ün7N§·Ûì/Q“–Ñ+ß±cÇÐh4˜L¦¤u/'''Y–³ºº:é¿VRRBNNΘõ×@Û- eee”••qóÍ7#Š"Á`ŸÏ‡Ç㡳³“öövZZZhkkÃår%Û‡EQgš››Ùºu+ƒÔÔTRRRÈÉÉ¡¤¤„ŠŠ ***(..&''‡ÂÂB T¡§ »+ƒ´4÷ܳœŽŽzº»ÛFt­V«åرcôôô JÿrñÅ—dŽ>E–9¾Ž÷c0gqÇ}w ½È¼ K"¢G£3’—ŸÏ·¾û4ž}ÜÅËÀ‘`~~>“'ON¶=‘Hàõz±Ûíô÷÷ÓÙÙ™´ÖtuuÑßßËåÂãñ$kƒË²œ<¢ëîîæäÉ“IK•^¯'''‡‚‚~ô£±lÙ²«Îº=p¢b2™ÈÉÉ`Á‚Éþòûýô÷÷ÓÛÛKOOO²ÏzzzèééÁívãñxÉþ ‡Ã„Ãaz{{©¯¯çƒ>HöWzz:ÅÅÅ<ñÄ|ãß÷cÛ³ý0ËËË™5kÖ vô÷÷c·Ûéë룭­-9V6n·¿ß(ŠI‘ìp8p8´´´ðÑG%­{)))äççsï½÷òÔSO‘ŸŸ¯Š UØ] “LžœÇ’%÷±zõk„Bý#º¾¡¡­[·òøã_ä‡ô ABAV@+@Ð~’—^~GL¢jÁ­Ü:£ä¢¿iI-àÁǾƒCÙ†’ˆóío|‰ß?ãåÈ7×jöEQ8~ü8¯¼ò ›6mâÔ©SD"‘¤¨1Ȳ̼yó%מ(mokkcÕªU¬^½šcÇŽ’m×ét &OžLeeåyo…d$ ^¯OFÄãñsŽ'ñ¶¶6jkkiii¡»»;é‹5à¿7`±ðù|h4šKŠ~ë¶›Íf ’‚u í¡P‡ÃAww7v»ÎÎNêêêhjj¢­­-¤rv°†(Š´··ÓßßßïŸ0ïÈ€pÕét˜L¦¤p—e™H$’ôã=„††êêêhooÇï÷'}×Îî¯Kr__ß%¥Á«¶ÃiÖôôt&OžœÌ9Ð~¯×Koo/ÝÝÝôööÒÒÒÂÉ“'innÆét&ß‘³7±X —ËÅÌ™3U11šÂnß¾ñvT{éS-ŒàõÐé’v´a_+Š"¿ýíoÙ´iÅÅÅCÍÖ¬%޲mûvþþþ˜ÏÉ÷pèD#æ”LJl þðÿÿöb7I– xœ8þõ'?fÿþýØí½üã?ü=ÖŒ,Œá¼ •AÐL(Ë2Á`pÐŽÛçó%Sôz}òH);;›Ã‡ÓÜÜÌÏ~ö³AÏI’$Ž?NOOñxüª°æ)ŠB8´ëöx<ÄãqEA¯×“––FQQEEEtttàr¹øõ¯}NðHgg'GŽ!‰——7®íòz½x½^^yåöïß?*þK‹­¢(h4jjj¨¨¨ ‹ …ƒIçóû|>¼^/Ï>û,YÃH5 øDLŒV€Ã€‘e9™*eÞ¼yD"Á`0ù›¡P¿ßO<ç7ÞàðáÃ,v¢(²oß>ŒF#­­­ã„qòäIÌf3?ûÙφ¬vt©ý5NgîܹÉñqv ü=‰ð׿þ•P(4f>w‡¦½½_þò—dddŒjÛEÁjµ2sæL¦L™B4% %TÎn¿ÏçãĉüÛ¿ýÛEÝŽ'2~¿Ÿ;wÑÜ|F¹4a÷Î;«|]ª:ûôûÅ„VkD’¢#º2 &ý—vÎçc÷†uýp3fñÐç`ë+ÿMkk;ŠÖÈ Kîå{O}‹êâl†«¹¢‘(õõõ<ñå/ qöõ ùXðõïò³KÄcôt´ÐÖÙ?ÅlK¥¸¤Œ²’"L†«Ó ìõz9|ø0ï½÷û÷ïÇét²P•––²xñb–-[ÆŒ3‡Ã|ï{ߣººš¯}íkƒ¤X,ÆÊ•+‘e™+V\ñÇ áp˜ÚÚZ¶oßÎÁƒéèèHFh ‚@AA7Üp÷ÜssæÌAž{î9zzzxüñÇIMM$Ž÷ìÙCww7÷Þ{/³Ï¤/ÚÛÛY·n·ß~;wÞyç˜k ø± ϾñÆ444°bÅŠO_z˜x<:ĬY³øêW¿:¦þJ)e<{öìaÕªUÜ}÷ÝÜ~û탄]8&`2™xâ‰'Æ=çðáÃdddðØc™° Ün7Gå/ù ·Ür =öؘ‰Ý•+Wât:ùüç??fct`# ñz½tuuñâ‹/RTTÄ—¾ô¥‹Vµjmmå­·ÞJ¯LD´ÚÓ)v²³Ó„Kv™™YhÍj}Ðѱ x½:\.;0²T&¾ßüæ7II9Ù3±ª˜<³Ñ ¥±é¶îÀŒR0éz¾øµorÛâùX†+´…ÌŒtÄhˆ=Û6pð£}œjm§Ïàöÿ(§ºôô=$b!6­ZÉû‡š)«¬F“²öÕUȶ|îyàa¾ðà½äg¤\U»¡C‡±nÝ:¶oßž´p ºüü|î¼óNî»ï>æÌ™Caa!:‡Ã‘Œ¢›4iÒ ÁFÉÎÎÆf³%‚¯D ]4¥©©‰wÞy‡-[¶P__ÇãAQNWrIKKcñâŬX±‚ PZZŠÑhÄãñ™™‰ßï§²²rÐî^–eÚÛÛ±Z­S]]=îmÕëõP]]=nþJtuuQ^^>f}ât:±X,dee1iÒ¤qI3!Ë2ƒ]»vQRR¤I“Y ‚Á ˜ÍfªªªÆ½œÕ@Hee%¹¹¹ãryyylÙ²…üüüd>×±` šy,Çèù,p;wîÄd2QUUuQ7Y–'|¾¼”‹-dÞ¼I e¼U}ìÆÊf§QHMµ¤»Ftm `ëÖ­,Y²„¹sçž÷3¹ÅR2õ>°—¦ý;ijèDÐÚxè‹Oòð7[Ô‰Ñ µGöRwüGàäÉZ<¾’,#D˜ÎоhÞ¿ŸþìçˆSùñ]sëõeàiåg¿{”­üè럹âŸM"‘ ¾¾ž—^z‰µk×ÒÙÙI4MV:ÉÉÉá¶Ûnã‘GaáÂ…deeM˜ dÀ‡îÍ7ßdÕªUÔÖÖ ŠHMMeñâÅ<ôÐCÜqÇ«YåU.™k½L™ÚgjÛÇu†ËÎÖ)dg§âtF‰ÇC#º¶½½Ÿüä'<ÿüóçõU²•çaÊJ¥ó¯GÐêÍ,ýü|ïÛ’fþ±‹§¯g~ñ]Ölh !)˜ÌVŒf+Åe|ë©ï±4ûã]ôÞÃÍœlîFÔú¨;ô÷Ü4“EË—c[¹‘öÎ&žû¯ß^ÂN–e¶mÛÆ /¼€×ëM¦ÄÈÌÌä®»îâ‘GaÁ‚¤§§OȲJ'Nœà¹çž£­­ EQ’õçÏŸÏW¾òn¹årssÕìñ****QØe.‰ˆ, Ølétv6‰ _Ü)ŠBKK ›7oæsŸûÜà#YEÂïƒHT‹"+h´Fæ.¹Ÿ|ÿQœiÙýIq¢±0ŠFGnN}í[ôt´ G<úÀ½ä?^ÜÌžÎ=·ßŒW“Í”ëf£ÓëÑ™r´§y¢®¶«â™ n¼ñFRSS‰D"”••±páB|ðAî¼óÎKª¸r5íˆgÏžMii)ííí”””0oÞ<–/_Î}÷Ý7¢|Š*****W¡°{øá‡Õ2 Ÿ’P(κu;Ø·ï]‰áSH’Ä‹/¾ˆV«åþûïOŠ;¿»—×Wþ…ú†6@ ¨jO>ùMn˜Z2â{3Y³¸mÙ#´öa2èøÑ߇?üþŽ>Ì'ƒa§.¼…Ÿ?]H#¥eeè4¡žHÑÓõqËçßyÕ<“‚‚, K—.å+_ù .$??ÿš5éééX,¦M›ÆSO=Å’%K())Q‚ª¨¨¨Lta'555×\=ÌÑF–EGKË!zz:Gt­Ãáàù矧³³“iÓ¦! sbÿ.þôÒ+ô¹ühôJ*¦"ì¼·yãÈï-Çœ1™Ü¬zz{ºÙõ×­Ô×ÕÑÝÝÍ»ï¾{ÁàÖæ¤DŒõ¯¬Æå`Ê(dÖ”\Ö­[wU<—ËE$I:I§NbýúõƒŽ,ãñ8'OžÄn·³e˲³³¯¸¶äØÊÍÍÅl6S[[Kmmí°® ƒ477ãp8x÷Ýw¥sQ…#GŽÐßßÏ|€Ëå×vöôô‰D8xð z½~ÜŽ–ëêêp»Ýlß¾úúú1ùM¿ßÃá ±±‘ 6Œ‹Ÿ¤¢(=z·ÛÍþýû‘$i%<rêÔ)ŒF#7nwÂ@yµ÷Þ{ïœæcÅ@ž·ãdz~ýú1Ûhž8qbÌÇèùæ–ŽŽ ï¾û.6ÛЧOgçŽT…ݹP=W•á£Õ Ì™3Gù[žyæ§Äb#;’íïïgåÊ•”••1¥,ƒ×Þ\Ýå?]qB–ÑÄbDƒ~\#L­2èwäÓ 2N'¡Pˆx<ŽÛí¾à‹£Èv­ãM»)¶€ûïÿ,“JóÆl1ÿè£$‰¹sç^’¥Éãñ$ƒ]E‘h4ŠËå$’ŒÆãñ¤ÿÞènädé§9sæ\tò;ÑhQ““éHçFÅb¸Ýîdõ…±:ÅÿÂõ IDAT·Ìçó»°óz½ÉçûÉç4– ”Zòx߈ïÙårÇ …BØíös‚'±X ‡Ã1êûñx<yêp8.)*v ú,c·ÛG<áóùƒÉ¾?;ríìh6·Û=fcálÎŽ’s8H’„×ë=ç9%@ ù¼.”>h´Û>ð‚Á v»}Ü‚'"ë=v»}PðD(" !I}}}cžVëìþh4šL4^¾».—‹X,†ßïÇn·_Öà‰³Ûöœr9ÇèPx½^"‘²,ÓßßÑT&N§óªó±–$ ¿ß?ê>vª°»BÈʲððÃËE…_#™ånÓ¦Ílß"Ñæ Ù¾‘ú÷7¡Ñh1[¬¤gf‘•‘AEõTªÊ Ñi>}Ú Y–Ñ\()Á®m[ؽ}ë˜ô_CC¢(òüóÏ_Rx~ Àív³cÇŽ§; ‡Ãttt‰DxöÙg-V‰D‚ÐÕÕÅŸþô§QŸ$%IâСCtuu±råÊAQ©#‡íííø|>þû¿ÿ{D‹G4åðáÃø|>žþùA‹±¢(´¶¶ÒÞÞÎ[o½Å¾}ûÆj‰&àqÒÐØ„×:HР5˜ lÞ¼™ÖÖÖqK>½wï^z{{Y¹råE#ý.é½”DìÝ´´u‰Ž¶—ö¶6dYæ÷¿ÿý¸¤z¨KÜÛÛËúõëÏÉ&Š"‡F§ÓñÜsÏ™ðŽ…ƒt´·ÐÑã8# ̶TšëÉÍÎâÅ_Äb±ŒËX±Ûítuu±cÇ‚ÁàeH5¦àuõÑrª·ÿLhAƒÇë#ô_¶1:ܹ¥®®­VË /¼pQ¡ïr¹.iS?ž8ZZZ†%ìt:……ydfÚ¸Ø0P…ÝFV–•åËo¡½ýGîQ¤£˜HFQ#Š ú½ø<.Ú-î°ÌÍ÷<ÈÃw/ÄlÝǯȵþÊ›ïlã¡G¿ÌÌ릌Y¿555‰Døö·¿}IÉD{zzزeK²òÄHp:9r„©S§òÔSOc±{á…øðÃùæ7¿Iaaá¨[ì^|ñE"‘_ýêW©¬¬ñwƒA>LYY÷w7"K‰×ë%ÓÙÙÉ·¿ýmÒÓÓ ÿ÷߇Ѭ·{™•¯“÷7½ÃŸÿº‰ÔG“;'“%…¬ôTîýÌgøìg>ƒ~œ,v¿þõ¯ ‡Ã|õ«_¥ªªj„½£‰·^ùû>ØMK§˜xzÁ4Z F#e5×ñí¿ûVÓØç&“e™;vÐÒÒƒ>ÈÒ¥KϱØE"Ìf3ßùÎw.»ÅNŒG©=°›?¾ð<ì9HÃsÆj%`0Y0èuÜvÛþŸ'Ÿ$7'g\ÆÊ‘#GhlläŽ;îà+_ùʨ ò€ÇÁûWñÇ-ë9TÛD A9=XÐë TLšÄ¾ôe®›2y\Ú>`Õ5|ë[ߺ覵¹¹™×_H$rÕ¬÷ùO‡“Ï`00oÞ ªªòTaw5ZîÊÊòyøáGéíí¡··uD×›L&rrrðe,¾ƒëÊ­œj¬ãðá£t÷»i«?Äž{–²²Rî½i&zíèY-\Ý üù÷ϲ«¶“þfÅ%Y.ƒÁ@"‘ ==}¸.¡PN‡Åbñ}' ôz=&“‰ŒŒŒs„ÙlF¯×“––6ê}DZX,Ÿêûõz=z½£ÑHFFƈT“É„^¯'==ýœä³'KE!òIKŧ3aKKÇbŸ¸f³N7ê㡳î¿ýÅOx}Ã|Á(Ê'6]±H„úŽN\: Å©cÞîñ Óé°Ùlddd vïÉd"==ý²æ±“1ö¼»‘Ÿþø§ì>ÒLB’Y±âѲl (èѧ¤é\v6©©©èõúä¼4ZÂ.öòç?ÿާÿ2ýŸ|WdÄx§×G‹¨á¦ô 4ãP“@QŒF#F£ñœ¹åB}5‘K@‡ŽÕVMwr¢Õ Ìš5…%Kî¸ä…#;;—e÷ÜÏ¿ýüçüçþ'ÿøÝ¯“—‘‚"K4ÙËko¿ƒÝ½—PYÿ—ÿaÕö=DÄ LØç£(2á€î®Nú.â‰k(œ"úèéꢷÏA\ºB|Z‰}]ϯŸ}V»wðBuö‚¦@DR&ÜèTä(/?÷4¯®Ù†÷¢îlÁMÄ I×^®ÇOöƒ½£ž§õ+viú„¨´ .+$” 6Z”n_ÃÓ¿ÿm}C¼+²Œ?‘˜À3ùÄEµØ]¡˜ÍŸýì½9ÒF]ÝÈýÔ B„mëÿÈZĤ©3ÉËÏÅÕ^ËOþ{ñH€mß§ñ‘G(YøéKE¢áƒµüqõA\8¶Ì‰ùLñ'ñÖ›oðá¡Z<0Z‘Œœ"ê[˜1cÆ„’£­é¯®ü3ªÅí!hõdå•àt9ÈÏJ×û‹zÙ²ñ»ÝC~.E'PfÖ¡Ÿ`e­;x}Ã6üÑ ûêÙ…ÔØ \Ë(r‚Ú^ç¯êHH–-ZrZR´Ëþó´°nÍkt9‡®Ðf±17ÆV­ zYˆD"ìÛ·®®.UØ]Kä奱bÅí<÷\v{#³‚Étt´°iÓ&üqR2 ùÂ×¾ËÛvr´Ó³u':¸ã"ÂNŠK]!äÄÇ¿m°è±d˜4§sÖuÖâùU{XôÐرgû„|Þþ.^}ñwü×o_ ÕîFV”¤_„ (€?!_p÷{õ®‚ žþnÖ¾þG~ùôï©ëèCùDÛAàö{î×½‹txå ß…Éš†V0j„q9Zº¬‹µÛM8táj3‚ Ád61uR6Ã5>íË ¡~qñÂ"Ø`²b2[Ð L8a“G¸}Cúué &r2SɶQ¹§'ÈZo„@8‚Åô½¢(~ª{Šx<þ©¿` $ "‘È  ?póöŸžá?~ó§zÝç,§ÿ®ÐŽG0ŸåŸ'Ë2±X I’.ûxMé̾õ wŸÂî "•ö@«Ó“STÉ­w?ÀžM!‰DÆ.݉¢$¿ ˆ¢ˆ,Ë£:LóY<½ïí!O Þ:ƒ…ŠšëHDýh‰h$‚<†åç6²¬$‹º<ƒ³}¢¢Ñ(‰D"9/ß É”-¸‡UÛ8ÔØAB’Ö[F.·.{˜Î†Ã—í½úöä3‘ÜÑ3ïÏ@Š]J> n¾ƒ·¶ÇŸ•"D@«Ó“W\EAI Ú˜—øÏãg¿+‘HdDóúpƒ®º»ºØ¹sç°??cÆfÌÞ ›*ì®pRS ,^<ƒwÐÞ~bÄ×7jæÿøÇd™2™³h6ج 4ïÙÉÿÈB¡.—‹¾†~úêû’ÂÎit’@D?žø4k¦që’[1kbì;ÚÈõ7Z8t 8ˆ°sçNœNç˜õSGG±XŒµk×^’ÓµÇãÁçóqèÐ!Þzë­³&‰®¦#¼¼òuº]C—H tœbÍ;«ÐŸ5ùŠ¢È±cÇèééaãÆ£î„H$8zô(‡ƒÍ›7“——wI¢Ön·ŸÞ¼óÎY5úÚjyùO/sª×ÅPsfØÙdžukI9«ìœ¢(œ8q»ÝÎûï¿YŽ pm‹ÝÈñúf\n7^_Ikj:å•“È0I„ÃaöíÛ‡(Š—?å‡"ñù|„ÂQdÌ6îÿ§ÓÉæÍ›ÉÏϵŸ›2k. œaÚ»{q¹=ô:=Ù¹”WVrªöuuu¬ZµjLD­,%ðû¼A"Ñ8‚VKOOýýý|ðÁAŽà±XŒ†† «W¯>omêQÛŠnX´QgÁÞ××ç'1˜¬•R”“Jë± ­­­¬[·nX Û?õ&-Iæ…Œ‹F“·ÇƒÝÞÇ‘#Gxûí·G-8@4f°pá|Nµãtºð‚H2¤¤ePV5 “F¢³×3êctˆ—…PÀßïO¾+ê±Y-¬]»ö¼%-ÏÆn·_4×Ý•Dí±ZÜn÷°??oÞ] ÷•P…Ýoµƒ)SЏçž%¬\Ù:l³í «I:<ú¬;B"‘@ÅÓ»³ç ñì9û;Áåv±nÝZròò¹ýÁ/2»2ãGž¶hµddd››;fýd2™œœœKÊ9¥ÕjÑét¤¤¤ ºïDØËáÖìýC €êÌTòóòО5ùÆãqRRR0dee‘=êÂÎf³a0ÈÎξ¤>D" , 999ÉäµJ"NÓû'hëq^¤íòmòrr%HV…ôôôd´íe¹¹<^QÍñwðæÛkð‚$$‰pÀÇñvÒxü#tZ-iiiäææ^Va—ˆ…ùëú7Ù°}/ýn/qQDQ@o0‘H$(** ++kTû$7÷NjfÌf˺·Y÷ÞB‘‰„ˆÏÙËžm$‰©×Í&''½þòNýG'¯¼òN6†IHÒi'hÐè XRRÉÍÍ$ì¢Ñ(V«£Ñ8h^.òzŒYsæòö«+Ùs¤žH,N<¡£¹–7ºÛÅÅ…äää\R ¥mÀídåë«iëé#‰!+ ­Þˆ€œœ—F-ê37—o|«’£ûÞç7W …IH B~Ç>Ü@N^>é™Y—ý½‡|ìÚ²ž5ïíÀéñŸØÐhõH’Ä­Kn%;;û¢9@ãñøU»fýÚ}~$ï¬*ì®ÌfŸûÜ}¤¤˜yþùçñù¼—¶K=sü¢ý ‘pB¼ô]Ÿ˜Àçõ"¹»(\4 ŸÇsfê)--eæ¼…ägŽMÖò•+W …X²dÉ%¥;éêêÂf³1uêTîºë®û,ê%ê8Áêíûð…½çø‘iu²òŠ }”—•qçÒ¥ç¤;©¯¯ÇáppË-·P\\<º“bÖ¼úây¯?ûï—zo»ïóýÖHxnŸ¼Ag些ÿ†ÇW´ðæº-´vÙ‰'$ACJzÓfÍçþÏæñ;{.ØöOó\F°RsâÃ÷ø÷Ÿÿ‚c-.]•ÁW¹<÷ò:yóO¿ãù¿¬Å¸°O/!’µ{P‘Uú5¿{ñ5œAñBÂ`IÔ\–g¡`o¯çwOÿ’ïDT”/(ªš‚1ä!Æïå/ž¾Vžþù¿°nÇ!≠§;ñK2Q…Ër/RBäÀŽ üòég.(êŠB ¡Àhõ‰"QÿÑV~ò¯ÿÎ‰Ž ¯#‘„H{8~æwGÿDƒ^V½ü{^Xùý¾ÈÇTo4O’/Úvá*‰tãôµö¨ø€Å’C~þð7:ª°»ŠÐj5,[v¢¨°jÕÛx<Ž+æÞÚÛÛ‰Çã˜L&Ìf3‹-bɬª Ðë +¦ñÝü3‹ï¸‡º†fÜþ³•ÒŠIÌ›7Ÿô3ï¯]9Gœ@nQû÷?bñË©­oÄáöa0Û(.«àúÙs(ÌËæ7mÇñ;Ç÷Na'׬äP³}ˆ‰_C~N ו–bÔþ‘¢Ht·fÝæMôy†tÊ1hÉ4ŒÞ=„{ðâk«/,êÎHuÉTªS.OE9娾õlÞ}ˆˆxá\yZ½‰…9©èÇ)4Y‘œØ»šuï¼ ¨0™S¸~ê\rS¬—å>¢!Û6ý…à u@¶Q;jÂE tóö›¦¡g蓟¼ÜJææå\¶r{ËG¬Z·~d(µÆäùƉ#Uìv;öQ ÇôésÈ;*ì®2RRRX²ä^NžìbÿþÍHR⊹7½^Ífû¸ AŠyBô¹ Ñ‘_RÅò îNˆˆ V‡^¯C«Ñât:&ìx4:òŠ+¹«°‚;–‰ÄÅ­½^V£Áëõ^÷)½ô47"‘|×h¶qÿc_åæs¸Œž²‘ öuá´÷¹P ‚‹VƒiWÌP{=}ΡkKVNç±Ç%×z™„ÇÕR‡?4tôbjZ*“2SÑŽ—…E–p6ÃŽ¹©™uó2¾ú•GÉH±]žÍH$„½±ö‚–ÍÓbÜ€QoÄ¢­ÞŠyúénm25ÑœÊC•ٓʸ\O)ÐÝB_ÿþ»Z­Ž<›«NËD!’ãŒôûóƒ•)Sª±XT» Ma¡'žø<Kuu› ƒžsv‚pz¶ZS1?Y ”•UsÛm7‘–f>Ëâ½½a6oÞA[Û^b±ØÈD€ ‘‘A<ç¹çžã°ÇľxǘõË@Z…K y?ûÚ ]/h4è Fôƒ|º?þüù®?ûï—zo»ïóýÖÈôˆ|ÑþÞÀÿeï½Ã«º®¼ÿÏ9·éu jô^Dolƒ± qMœdâÌ$“ß›L&ž™äñïÍL’‰Ó&“dìx&mlj[bcc0¦! TQAI¨·««Ûï=ç¼È(Æ „„¾ßçñãÇò=eï³÷Úß½öZߥ¾²ñ#¶ïÃ}:‘RZk,3—®Ç~ü"÷‹–€J­Æl‰âþ'þO}áSDGh'æ]{êlÒ²æQÖœ‡7¼BvD£Õ3mæB F3*\ãÚ'–™«˜5c:m½eBÒž+¢ÖhILÍäëÿþCv¬Y„J`BÚ/jô$/\OJüQj.uü@EQT¡3š‰‰OÁ Ш„[>W†ž#ªHYº•©qïQÛÚ$ICq¢¨Bo43oå¾ÿ̷Ɉ·]5ÏÆm#l²¹b+Ñç^¥Ïåý€D€¨RŸÂÜ%kèjª×9¤ÊìE+‰8\Óë»j®DX¢Øõ¹¯òó0ƒf¾CTúb23gQÛQ„?ºjÌÆ&MÇù¾ŽàõÛ~;H„B!Ž9BGgÇ _›À’%KG± »ÛÑ‹"@ZZ2O=µ›ÎÎíœ;WÈáïãv_¹c7™¦0~³gÏ'>þ¯ÅáÕj°ÛÕ˜Lš«Üû²¬°pa¯½fâðáC£&w*•Šèèh²³³Y5UOAAÁ-铞ž|>ÅÅÅ×Ížº:;;ñz½455úûúúp:tttPPPpE€³ßï§¥¥‡ÃAii)ãÚî@ @SS”••Ñßß?zoÛM?]]]¢E”îåv÷õõQ\\|…,„,ËÔÔÔàt:©ªªÕ}ǰ\“µh Û6Tqøô9ºN$Y$5)3X·u»·­¤¹ú<ÍøR ĆÍ[¸ÔÑOAYn¯ŸÁ¢òff-XÊ®‡£¾üùg(++ÃétŽÛ³zt7}?å5 ¸}(L‘LϚ˃?Μ$•ç‹'ôˆæ)Ü¿c+o¼ýuMm%ATa‰ŠcQö:ffepòÝ·¨­­¥  àŠ,FÇCGGz½ž¢¢¢ /AmŸØu¯¾ù./u ÆŽ¾ÿžKV®ç¡‡v£õuQPÐ3q½%K¤Ï[ͶMÍ:‘OGÏ`‚’Z£#61™»'sZ"ü]9ÍÍÍŒS&·ÂüåkÙ°ªˆÓçJéq É *µ†ä陬۲û7.åRm9-èU•B!¶Þs/m½.J/Ôãòøàý1;#k.÷Ü¿›Òœ÷èêꢸ¸øº™É„B“çëšÞº/õÕõ7¬ ("))$$Œ.+;Lìncr§Ó©HN6a·/cöì$|¾+ãz †¦NG«½ñÉ)Š))I<öØ£x½^Ž}% ·ÛÍÞ½{ÉÍÍeÇŽãÚn¿×IyIÕ ø¡AC`¶R[SE\ŒÒÒÒ1eÓ9|>ÍÍÍß6g…góihL$@Ðè#¨khÂl6S\\|Åb%Ë2v»¥K—ÒÐÐ@KKËMB¥çò¨¨iÀël»FoÂãóáq:©¨¨ «kôÇÂ~¿§Ó‰V«¥¸¸xØÌ2¿×ÉÙ3§©oúkÛµúzûú0hJKK¯’šñz½dggãp8Fì×ñÂòÛHJŸCÿ€Y\¬ìÑq$&ÄÒz±šÖ‹·`r¢¹{çƒÌ^ØHIá9JʪÊ}]­¼óÆKôöôô¹¨¨¨W­GEmgç'ai[_ÐŒÄ'$e†Š²Ò[b›’2òðcqÔ××’›“Cck7¡ Ÿ¶ú Úë+éë릮®ƒÁpÅÆR–e¦NŠJ¥âüùó.]‘¾G¥³»$#"æHII È®.JŠoEˆ…Â’5wŸšÅ…ŠRΞ+¢§ß‡ßç¡ðÔ»œ?k¢³³›ææfŠŠŠÆµOÖm»³ãtyÞ—WÑO|l4­5´6Þ‚ÖbØñàC,nm!?çç/Ô!I!œ}zëeºº»™>u ¥¥¥×Õ±óù|<ú裄B!V®\9)“)ª¨«¨Åz,2gÎ,,–Ñé(†‰Ý“IGFÆôñ5z ‰<ùäç$™‚‚BÜîÑyúûû?~øá‡‡$4nÆ^ª-ã~úì?šKkWïûÅ»¸]ì © IDATEbÁü9Üwß}cÒœjmmå…^`áÂ…ìÞ½ûªÿ/K!jJÎð³ÿü#GóЇv¹  ÑéQd‰éé<øàƒã.þªÈ2íU¼ð‹Ÿ³oÿ{´wõÅ’©4:´:™3غu+Ó§~¸\.þò—¿’’ÂÍ[GÏá^™"/ýxƒ~zºHËUï~#Ðjµh4ôz=v»ý b'|œ9ø:ÿúíçdáÕÉ Á€—`ÀK·VÛ˜úþÎZ¨$š/òÃo~÷žÀÿ!7)äG Ao$c䘾×dFÐïæøÞ7ø·ÿ>¹çë¯J"‘¥ ξò^·ÚЫUãÁ¢Ðßu‰=ÿû¾û_¿¥­ûJ­HE–ðyœˆ·FÕfC£VßQs¥¾,þÛÓ¼và4n_ð*Ûð…¨uðéÍ·ý\ñ ø¸PP‡Ïw£k¨@jj ©©£·©abÆuv>*²³ç V ´·7Ð:Jÿ¼Óé䥗^B§ÓñÈ#ŒÁ›¦ÐÑXÁó?û1GÏ^ø©»ePói|­DCY.?ý¯g)¸Ð<|b… BÒ`\sÈzZëøí/Ÿå…W‘º+TäqVh©/åùçþ‹SE#dœ *ÔÆ„½÷E¡¿«™ý{Þ˹ŠÔ}Ð`£ÑÃæ}A‘i¬<ÇsÏ>K~Yý°™Á¡‰¯·BA/'ü‰ÿþß?ÒÞsµø_§—•ÞtÛè´Ý(\}müñ×ÏñÆÁœ«HÝ= >Y$xŒ—g€’ÊB|>ï -Z­„„ièõ£5 ûÁøþ aþü™c®ÐßßÏï~÷;þð‡?àñxFu­òs¡øGÏœ{?¦nx$ëUXÇYŸLò pöôAòÏW’†5½Xâ¦ñàš W(éÇŽ¶¡ì‡NžÞð½ÿüˆaœ§”P€ÊüýÍ/QïË7]Ûvb6>ÖóD‘e.ÕqèØqz†—ÒÐ"Y·j+iñqwTûå —Ò3û8YTMp„¹bKÌ`[F::ÕÇ{ùñºú8zà5*»G ¹YóV³iÅÊ+JÞ h«Écß¡c8=Ã×w՛쬜5Ÿ)¤%x+ÑÛÛK¯«E¸1–ªÓéILŒB£ýš&vaÜôz‘]»v²té²1]ïp8xñÅyå•WF·XJ!|ý]ø½nFPt¢ð~jü8.V!?GÁÀðîsÞÈæûfÛúlÄñÜU+2¾þN|žáÛ.":cz­~Ü…DEÂÓÓ‚?¤˜Y÷}l¿g3º ®íy0;ü®¼.#™îÌE«xüñ‡°Gšï¬æK!Ü=-F(S¨3E²åþݬZîãE­¡ßå§²ì.¯o(!IEtz™óWðÔÿý³{+Í×~µÉÊÅš:ê[„BCa6*•³ÅÆÊM;øî÷ȆEé·ý\q:üùõ?QV~ãõa­V K–Ì#5uꨓf -ŒQ!..–ÇœPHâèÑ#ƒÁQ]?00À‹/¾Hnn.ÙÙÙlß¾ôôô«ž,ËTUUQZZŠò1wábú|ÐÞÙIWgýn•kT,1VõÚÚ¼óÎ;DEE±páB, ¯½ömmmWÜ[ q»\x¼>dEDü9r„þþ~âããyàHHH`አüÛ·^ß³—’ŠjÜ>ÔZ=ÉÓ3Ø´u;[7¯#)Æ2®Ñu—õôü^3ç/¢Ç#ÓÖÙM[[Î7ˆ*"­Ñ$ÄEáëk¥«»›Ã‡SYYÉÌ™3IOOgÿþýœ?¥!‘¥.×^¯I–ššZÏ>û,v»{ï½—ÌÌLÒç¬àÛÏ|‡7ßÚGÁù ô9ÝhtS¦³zÝ&¸ÿ>¦D›Ãã}—4ƒ¯<õu¦LËàÄ™stö8P5¶è8V¬ÙÀ};w2kzÒGꛯbÎâu|÷{ßáÍ·Pt¾ §Û‹VodJjë7mã¾íÛˆ·ÃCÐéLì|ø³˜-±ì;x”ºÆ!“ÅÆôôYì~ä1V-‡I{g&˜Øã¦ñµo<ÍÔô™äž+¡µ³D5Ñq‰,\¶’]»?Áœ‰wĆñÍ7ßäÍ7ßÍ6 ­6[pa˜Ø…1jÄÇ'ðøã£(2GŽU1ã˨©©¡©©‰sçαråJ6oÞLVVÖ(© ØívÒÒÒÈȚ͂EKøÓϱ¾^@’Bt·5rà­Wñù¼¬X¶”iÓ§e·‰N§###ƒ˜˜E¦¾¢ˆýöq¾zPÄup—( Rk@‘HLJbÞ¼yX­Ö!=\^í`–ZtT:íøO£ˆˆ¦M›†$I¤¥g²pÑRþòç—Ù×Õ‰H’„³§CoÿQ¥")!Ž©S§’’’BTTjµš”””!Ï¥¢È´Ö_àÍ7Þ¢¤ª×ª3¨ÔZ$)HfV&sçÎ%22‹Å‚ ˆZ#‹VÝEÚœ¥ôöôât{ÑhõX¬V¢¢ìtÝñ«¢(x<Ün7½½½¼÷Þ{# j‹¢ÈüùóY»ví°Z}7Ïm4¤d.àóÿß4|´ç€ ETc6GC„ÉÀì¨ÒèÍ,[/Y WÒÓÓƒËãG£3`µZ'l®Ü¾DXÀ›Ìއ>ͪÍÛéísÉMX­6¢£¬ãÚ1Ùš/ª™šµˆ/|%‡{{éëw‚JMD„…¨¨("ÌÆÛ~®H’DYY{÷îUe A`T%ÄÂÄ.Œñ°GL™’Ä“O~ŸÏÏÉ“'Æt¿ßOee%uuu¼ûî»ìܹ“M›6‘••… $%%‘˜˜@oK ¯þÏ›¼{"Ÿþ÷5~ÿ` ºd²0sÁ"íVA@6lØ04¡š*òyé¿Hay .¯ÿЉ&I!4ZöÌ9ÜußýD¨Å+tD•{tV{ ííí´´´mŸ°…*&&†èèÁ¢ÏUì{é¿Ùô4]½Î¿¶=à'ð#1S¦0sîÑH|bòÇ®¿E¡çÊ”;°í===üáàÂ… £ºN#ÑhabÆ­ž11Ñüýßÿ=Z­ŽS§NŒºüØe¯‹ßï§¹¹™çŸž={ö°mÛ6î¾ûnÒÒÒÐé´8Úêøùþ•ß¼¶Ÿo`XÙðÊ\IÈDPèª/æßŸ~Š¿+6MF¡É'ãQ,Ãd 555ñõ¯Ó§O³bÅ žþù!àx÷¯ ¸º›øÝsßãùþLŸË?L€,D¼fÛ»JùÑ¿ÿ_^}çĈ’)­>‰°ž|÷»ßåõ×_gúôéüèG?bñâÅ:ÎdY& Ò××Goo/ûöí£¤¤„šš\®Ñ×[­­­å{ßûŠ¢°aôœðñq'5aRî¯kÛý~?äÔ©S£ŽGˆˆ¾©g‡‰]7…ØØ>ó™O£×ë8tè½1‘».â---¼ð ¼óÎ;|á _`劥\<’7Äå~£5D°fÁ2âÌWKnȧŽîåÓ¥#jg©ù-Qšá“Å;;;9uê---œ;wަ¦¦ !v0(wRS–ÃëŽâp ߯:“•5KWkµ\£ínΜ:È»§ŠF$uY #HP¸ÝnNžû¹ÏuͶ;Û/âõº®Ór…•8¢\ŒÉdbíÚµtuu‘––FFFƸ5õâÅ‹ …hll¤¼¼œ`0ˆÃá ®®nÜ»¶­­çž{•JŶmÛÂ9Œ0Â7tvvòûßÿžÞÞÞQ_«Ñ˜Ðht7õü0± c\Ïç>÷9gÎäÜ´W ££ƒÃǺ9gñ(&DÑwU •Z£'sѾñ/ÿIJY)×¼Jo"yö*bmp¸¯.ì­Ñ›È\¸š¶ºëIŸ2e Ï<ó ÄÅÅ;q¤YT3c1)ɩԶU\!wr™ÔeÌ_É?þÓ×Y·8 õ5¼m*½™¤Ì%ÄE¿M[_>µÔhÌ\²ŽîÖ†ë¾Ùlæk_û?ü0‘‘‘¤¦¦ŽºM²,Ó×ׇÇãÁëò°gÏjêkéë늑 ø|¾Q±ŽüèG?âܹs<þøã¤¦¦†Ã#Œ›Bww7ßÿþ÷9rdôª‚  × ÜløoXÇ.ŒqCD„™yóæ£ÓYp»ý¸\N$)tS÷”d_F«7¢R©†{“9‚ÌÙ ùä“_âÿúë¬_6݇ªNª««¹Øx •ÎH¤^¤µ­¯Ïÿ~¹#H[4Ë×má¾íwSQ”ORR‹…þþ~ÌfóUö¢(b³Ù˜2e V«ub‰€ `Ibvæt‚øƒZ­‹ÕNjúLîä3|ë;ßfëʹè>¤N.Ë2 ÔÕ_DÔè‰Ð‰twu3àö"É2 f‹%k6óÐC»¸T[†Z­"%%‡Ã^¯¿J‚F"""HJJ"::úºv »»›¾¾>û÷ïçàÁƒ;vŒŸÿüç<ûì³¼úÚ«—–ÐÔÔDWW>Ÿ¿ß?êx”›ÁÀÀeeeÔÔÔàõz‰G¯×‡‹Ó‡F£²#ÝÝÝ444ð“ŸüdL¤@«ÀnA§Ñh4dddššÖ± ã£ET”GÙEvöjNœ8L^Þ9ZZêü7í±Z­˜L&$I"9%… ›¶0wn:Q¯{ï‡~ïr¹8{ö,íí탃ݚÄúõkÉ9C}s>ˆPÀGuI.ÍÕ%twwQSSÃÑ£G‰Åd2a³Q{A0 7´A5z®ÙÆw²ÒÚÒJgQ£#*:†ä”äa«ȲLcc#ÕÕÕD&Î`ãÆõHߣ¶©_ HÀ祦4ÿ©/§£½½^Gqq1QQQØl6"##GE\/ËÔÖÖÒÔÔÄÁƒikkCQš››÷~ÔjM¨Õ\Wì6 ½ÿ©\ó½óó󩬬äÔ©SÜu×]¬\¹’ØØØ°/Œ0¸®~0η««‹êêjŠ‹‹),,ÄãñÐÚÚ:¦Í©(ªˆˆ0£×««~]˜Ø…1aÐë5ddLaÚ´ÇÈÎ^KnîiΞ=KCÃB¡àMÝ[£Ñ ÑhèéîæÍ×_ãÝwö’™™ITTÔ5ìP(tÅñ­ÛD£ÕaµE fTÈ!¼V«ŸÏGcc#ÍÍÍ”””LÈ®ÓéØºu+«W¯¾1r'ª‰ŽK":.iˆ_ï½Ôj5kÖ¬ªïÛÙxçΟ¡»Ç?@Q à÷ÒÑÖBÇû×ÄÌÈàÑO~Šã éMÛ›ššhmmåÔ©SC Á`pDù‘1Ò9L¦Xâââ°ZÌœ¹‘¤$:ÝHƪª.qðà[8½#îº?NAA÷Þ{/_üâ',1&Œ0¸½ ( ¼þúëC΂®®.*++Çå¤!22’ÈH3¢xó!(abÆ„@@«Õ0{ö4¦OO`åÊUääœeïÞ×è½éû_ŽÅ äççúzsDÄ5ÿ^__O}}ý„ö(ŠTVV’››‹V«eÆŒlܸ‘ˆaÞéÊ~½q²¥V«Q«Õøz›yí·Ïñ¿/¿Ew¿gØß_ôÉ(jͨ²DÝn7ÇŽã7ÞàâÅ‹ôööâóù&`<©˜={sçZHLLeÚ´iØíj"#£ÐëF:9UX¼Ø‡Fcæå—Ÿ½î¸r:¼ùæ›(ŠÂ7¿ùͰ×.Œ0>ÆüéO¢½½ºº:rrrnJýáZˆM`Ù²åÔ×Wé7Lì¸åÏhÔ3kÖ4²²R¹çžM8pœœœ÷hjj  |ìúär¹´ËǤjµšgžyAHMMåÉ'Ÿ$++ “É„J¥ú÷˜žòrìð^~ùò^zF uj‘%ÉI5Ã?g```ÈZ[[Ë«¯¾ÊéÓ§ñù|ã÷U*-ƒ›-ÔÔT.\Dze³°ÛMhµâ¨‹Ç X­z|;*•š·ßþýýÝ#†x½^^ýu$IâÉÏ}ž„„4᪠a„ñ±$v{öì¡¢¢bBºŒÆ>ùɯ£RµÐÐP3.÷ [ª0nDQ 11Š'žxìì¼òÊ王ïvÄe# ‡vi%%%<ýôÓÌŸ?‹ÅBdd$ÙÙÙ,Y²«Õ:zbçwÓs±×r1¢¨fΊM<üàn ðÖ9;ÔÔÖw§'Nœ »»I’((( ³³sdžž¸¸iDGˆŠšÂÌ™Y¤§g‘™™ŠÁ0^TÃΛE™·Þú#ýýÝ#þ> òÎ;ïÐÖÔÅ'ÞÅÆ»Ö‡ÇÂãcЉ uz½‰U«6ÌÙ³-ãvß°• ã–C­†¬¬éüÝß}–“'³Ø·o/íío:þîNÓéääÉ“À`Lá‰'¸{ÛÝìÞµ‹))É£ÊØµ¢“3±Yl´õµ_%w¢ÖèȘ—ÍgÿæsLKŒ"//oèÙ}-}œ?_†_5x´ÚÙÙyÓG‚ F¯7¡Ó©Ñë#IO_Fjª³ÙÈ”)Y$$˜0™ŒX,‘hµãŸ™j·Ù±ã.DQâí·ÿLoo²<¼4Ûíætî .µ7RPx޹S±ìî˜L&ŒFcø˜6Œ0îpx=>B!iÜï«ÓÈÎÞÂîÝ»±Ù,ã»Æ†?[£Ø¹s ™™™ìÙ³‡¼¼ãÞpç|Á`K—.ñÒKääÉ“|áo¿Äâ…‹ˆN°ß±ÓÉÞt?_úÛvþçw/s¡¾™@PBDâ´qh“£Y±"›‚#osèÏ¿ÁårÑÕ5¨õ§È ’|óM­6“””A||V«ŒŒ̘Md¤†ÈÈ(L&íû™­£?f˸‹Š2²k×=Ì™3‡?ýéäåy§.È46]䥗›‰Ôï#êuË—/gÉ’%Ì;w¨žqa„qçáÈÁã´µ´û}—-Û̧?ý)’’,ãn÷ÂÄ.Œz½–ùóÓ™:õ‹nã½÷òhoÏÃå âvûIRE‘?Öýäöx¸Pu¯ã_˜>m:>°“ÅË—˜˜HddäHTsÔ>ó寳xíVΜÉåÐÑ”œ/'Jcǧö’søMn.½^@¥R¡Ñè0›íôz lfæÌ("#ÄÅM%*ʈV;9jBšLz-Ê %嫼ýöbNœ8Nkë‚ÁÀ5Çš¢(„¤½înzkº©©©á•W^aÚ´iÜÿýÜu×]ÄÄÄ\¥ýFaܾPd…®¾6üÁ›w8h4ZôzV«¬¬|îsOkœ÷»0>rØllØ0U«fâr=Nuµƒšš“tt pñb=mÜBÝÚq,+8ƒã—%ê x¨¨*£ö?«1 ìÞ½›íÛ·ûÕÝÝMEEçÏŸçĉãALF¾!忱“:ÎDLÌfÌHcÆŒidff3mš£QD«Õ¢R‰LæÓÊèh?¾ƒåË7søð ÎÒÒRyCÒ¡Pˆšš~úÓŸ²ÿ~6mÚĶmÛˆ‹‹Ã0^a„ÆGd¿ej©­h@åQ¬V«ÇjC@%À/Î&%%™%K–`³™Ðj5öîabƤÁå  ×kˆŽ6²bÅÃ8!:::èëëÅçS˜à*SãŠ`PâøñCäç—kÄe©—W_}•sçÎHìúûûijj×ÌUQÔ‘ž>Å‹ç1oÞbRS‰‰‰¸-cÎ4‘™3M$'?Ê’%óxå•ÿ¥´´tß9HYYUUU²`ÁvîÜ9±u„Ã#Œ Ekk+?þ9N9Ehö[¥R±iÓ–,Ùø¾ì—@D„šôô,ôú[cÃÄ.ŒIMô¬V5Vk²œ„|›Æ*ŠÂœ9)ìÚµ™PHæÈ‘ŠŠ^E’‰™ÛÝwÓGÌ.—‹’’’[ÒA1›­de-a󿤧§cÁ`0p'Tà2›U,]:£ñsüò—¿ ²²rT™pÁ`Ó§OSXXÈÑ£GÙ¾};÷Þ{/ÑÑÑáÉF·Üý^~ð­Ÿq"ÿÐ oˆ§L™Á§?ýwØí*¦NM%2Ò6´ŽÝjû&vaÜ6$ïö#ƒò.‰‰ƒU1–.]ŒÓ¹— ÚÛÛ9|ø(çÏD’‚xû,‰‰‰L›6Í›73uêTRSS1™La]¼0˜dhnnæØ¹Ñ‘ºËvcŒ:òabFw y°ÙÔØli¤§+¬\™E^^ï½w”ÊÊãøý+ýb±L'!!³ÙÊŒóII±i"vz½ˆJ¥F>ŽrmiiÓùÇügÏÖpæÌ!ª«Kéí½ìÇã¡¶¶–úúzNœ8Ajj*©©©¬]»–´´4RSS¯“ÙFaÜ È²ÌÅ‹‡jÁމ‰ÉDDLC&va„1  R Øí6o^Bjj/¿,“›{tÜE›Æ8æÍÛLZš‘©S0}º“IƒÉ‰^¯ž4;ÎÉA¾âã-lݺ˜eËÒ¨¬¬âÂ…Jrrò¸t©jL‹†ß離ªŠªª*òó󉊊bîܹ¤¥¥ñØc…åRÂã#D àÌ™3ôôôŒúÚmÛ¶1Š2ÛabFh43g&òôÓÿHiéC¼ýö‹´·wÓÒÒ„×ëºá`~QTc0˜°Xì$%¥–¶ŽÕ«”4¨¥¤Ñ|<½pcV+g%.n9k×.ã‰'¡«+À+¯ü†††VÚÚq»£>ªíë룯¯ÚÚZDQä¿øÅYÅÿðÿ€Õj%11‘¤¤$T*‹%\í"Œ0&]]]444ÜÜч‘0y¼îab7P G¯)£^î0n:–¥K§³hÑ¿R]}‰¼¼\Þ{ï-ÚÚF®'¨Vë‰O%99™9s––Bfæ,""ÂDn< ŠF£ž©Sõ<õÔW¹x±ÂÂBrrÎpáB~ÿ˜î+Ë2N§óŠ¿}ë[ß --ŒŒáÆ>_ IDAT ŒF#[¶lA­V“‘‘ATTÔ¤ï/—ËE]]gØß˜L&ÒÒÒ0áÆGŠÊÊJΟ??êëâââÐétabw§Cù(Í;Æk{“6—í÷ncÆ”XÄë¬®Š¢àõzQ©T“j Œe¡ ¯¯äädT“üŒ/ ÒÝÝJ¥"&&榽"ÍÍÍÄÅÅ¡½Iß¼J™™SHIÙAzz"--—Fü½Fc"99¤¤(l6zýõ“$I¢­­¸¸84Í1ÿšššHHH˜Ðö¨T0c†¤¤õ,X0ÂÂ"Ì¡µµ@À=nEÃkkk©­­E¥RqæÌDQdîÜ¹ÄÆÆ’œœÌ† P©TDEE}äóLQ\.^¯—·Þz‹ÆÆF***p¹\Ã^c6›™3g?þ8)))aqç0>ôtõ’&Tõ°A ))‰Ç{›Í&vw6jKÎðÿñ3Š.\DkΡ©c€§þþ ’b"‡]\;::ˆåܹsØl6æÎ{[¶¾¿¿ŸÂÂBöíÛ‡,Ë|å+_aêÔ©“–€¶¶¶rúôiöíÛGvv6O<ñ&“é¦î{àà{l¸{;i‰±ãà%“IGvöŠ" ¢(ŽŠ˜úý~>ÊÝ÷n')ÚvGÌÀï¾Ë¦ûv1#Î>áÏÒëU¤¥Å0uê&-ZBnnÇŽ§±1L™´#ð––AmKK ¢(b0x饗O~ò“X,–´ßƒÁ 999”••ÑÒÒB @–åÇ­ TWWSXXÈš5kعs'ééé“~3Æ…œwóxgÏ»£rã‰'>ÍÚµk&U†{˜ØMœmµ¼üû(«o'>yÞÛó"³Íçó;Ö\ó¯×Ëž={øÛ¿ý[\.×mµkUI’èëëãìÙ³üå/¡  €bcc)))!11qÒxƒEÁï÷ÓÑÑÁáÇٻw/uuuƒA¼^/7n$33ó¦žqéR/ÿé _ùü'ˆ4ŽçUœ !?EQ(-­$¤‰âÓ»·`ÐÞþf¡¿¿Ÿß¼ð&O}ñQlfÄC*Ì«HO·“–v6¬âäÉbŽ{“öö:¼^7’7/ž,ËC^ñþíßþíöÜ¿o?êêꨫ«ãàÁƒ¬ZµŠG}”iÓ¦…J&pS Q$OŸ‡ 7ˆOöQ•_ƒ%!’is§ËéÅd‡$IÔÖÖòß/=KŸ¿û†¯›2%…'Ÿü+WfO:Ù¢0±o#%¨,/¡ ò"éK6ñõ¯}žº“{øÙ/^dß[§‡%vŠ¢Œ‡2Y …hkk£¬¬ŒpúôiÜn÷ÐñŠ¢(DGGOšÝ·Ç㡱±‘¼¼<Þ}÷]ÊËË‘$ ›ÍF||<ÑÑÑ7í­Јí5ì;”Ľ›WaÔ2™Í£Q¤,ïǧ$°.{zŠÛÙœ €·­Œ·ögÇÖµDYŒ·¬=‚S¦ùÄ'²Ù¸qgÏQ]Ý@ee½½ýô÷w«'ïNCkk+o¼ñÇçK_úwß}7áŽ'ÓÝÝÍÀÀíííò‡h)l¢¯ÅAG “KîQdõšU|ö3Ÿ%1&‰èø(Tš;σ )))áÇ?þ1/^¼qâ¤ÖñÐC˪UË'¥g9LìÆ{ ø¼\ªº€/¨ã‰ÇaaÖ ôéÄǛ齘wc÷ø¹PÑÄŒ³±Û'o@±Óéäøñã>|˜’’ÚÚÚP©TÌ›772oÞ<~ûÛß1aÞ¦ÑxZZZØ·o¹¹¹”——ÓßßODDÙÙÙ¬]»µZM^^Þ¸xK#""¸kÝ ‹óùó~'›Ö¯&Ù…8IÙÒ”ä),ž“Nnþ;ôyzظj±æÛ–܉¢È§¹Ÿs…ìÙç`ÃæML‰¹¥ý¯V ÄÅErï½ëX·n-/fsñbUUeTW×Q__&x#®®.~õ«_pû¸wûvl1öpÇŒýýý:t¯×Kii)---8êë뇽æøñã´4·–˜É£Ÿ}˜ù‹çÝQÞ;Y–)++ãÙgŸ¥¬¬lTÞtNËŠË&m¸@˜Ø3|‰šÖbæ­dùü DA@c2¢6è 0üÀ‘¥n—ƒãï¾ÉÛ{öP×f!sÎ2–M2bw98úܹs¼ñÆÑ××ÀôéÓÙ½{7«W¯&)) EQ>rC I9r„wÞy‡ªª*Ün7z½žåË—óè£2þ|¢¢¢(--%//o\ž+ªÔÄO™Š½æ<ÇΔ³|áJ„IœÄ¨ÑèHL™†öì ò«YµhÂmî$‰KJ&º¦”ùU,Y²!ö£yA€ˆ9s2ÉÌLcíÚ…ôö:¹x±…C‡ ¨©9AÁ /l@¯±ûů‰J«áÁÝ¢Ñh>òMâíÔî~}½=üâ7¿àð‘#H’„Ïç#¼¾>f  âB55µT4žçÇÿùc’’’ÆåDc2 ººšüà”——ZÞdá°Ù&¯3LìÆAÉO·×Ū9éÄZ (Š‚¯·ŸÀ€[Ú®k^ãélãà¯rà¼úêëhôFÒçlÅh¾5Y±—…Su:Ýu¦Ãáà—¿ü%¯¾ú*.—‹ÈÈH.\ÈúõëÙ±cqqqC¿u»ÝÓÇÁ ’$¡ÓéF$ŽŠ¢P__Ï3Ï›îî>tºº: p»=¸\.-9éîíáû?ü>5u5¬[·ŽÙ³gc³ÙÂÉ×°ãýýýx½^dYæð¡#œÞšü¢³øUc¯b”ÔÖÕòÐC±råJxàfÍšuÕZ¡Óé°X,“þ»È²Lii)O?ýôˆËaI“ÚÀÚµéˆâäõ^†‰Ý¸" E  @B?Õ•MtvÃOιæ5®Ž6òOœBTëÙ°uz–6’–zkŽº»»ÉÍÍeùòåW³kA¥R!Š":Žôôt6oÞÌúõëINN¾eAÎ555´´´°fÍšŸ)*•ŠP(„ÍfcÞ¼yìØ±ƒ… 7HÁãrPU^F[{Ë×mcáÜ,N.A™Œƒ§£“¢‚z6ß·™©Iqäç—ß¶óÏçqR]YFcc‹Wžå‹çpøPþd5¸=\j(C’]<ù÷_dZr29gÊIO›Ù´…ŽŽ.TÑÖvÖV/mm%ƒ€ï¶:ƽ\x¤9'Ë~¿gXïÑk¯½FNNÙÙÙÌš5 »ÝÎÒ¥KÑjµ×ÝäÝ p»ÝH’ŠpM{âr¹x饗())Áï÷S__?¸¹'3ç÷û9zô(•••L™2…`0x…§kþüù<ñÄC²“î›H’Dqq1?ùÉOhhhÓ=RSg“œœ:©uAÃÄîw’$át:ñù|hµÚa=[ýý.‚A—ÇCOo/=ÍU¼{ôrÔt$Ùéíí½Úc§¨˜³b– þþ‹Çù¢Œ:Û‰Ç=ñíklläøñãÄÇÇ_7sÕï÷c2™X¶l>ø hµZ<ÏUɇ`0ˆÓé¼f»ÇŠÊÊJÊÊÊÈÈȸnPu0$66–Ù³gsï½÷J¥¢¿ÿj!Y§Ó‰ßïÇápŒÉ )²DMe.õND­‘ĘH¼/A•—O×>Ï–â‚S\lócаc5àñ¨-8Ý> “ì}odSÕTWLAY!AOJ¼¿ÇCPmÁP&_ÿK.œ?C]‹µÞHr|$“µ.@t´»ÒÓ£ðû—ÑÖæ£¹¹”öö.œ£··ÞÞ‚Aÿ¤ý&‚ F«5"Š*V¬ØBll̰¿íïwpîÜaŽB×ðK’Dcc#---¨T*"""X¼x1YYY,œ»˜ôØã-ÜiðûýÔÔÔ°wï^:::@ÖAºŠüž?ž®®® %Tííítttàóù® vÍÍÍ\ºti(FùÁĬ‹ 9)…è$ûGNòB¡………<÷Üs)C]­Ö’™™J\Üä®í&v78±ºººøío‹Ãá`éҥꤻ\.º{ú‘ê8vä ùÇPPÕÊŒ…«hm¬ÆÝÝtõN5B°D …T•—R]}‹õéíq Ñª®=aÜŽ–ÚÚÚhmm¥  €¶¶¶ë¥††A ³³‡Ã1b¿õôôPTTDw÷`¹Ï磧§‡¨¨¨1{øÊËËinn&''çºjõN§“¾¾>bbb¨««Ñõ^__OGG¹¹¹˜ÍfEÁápà÷û‰‰‰¹®‡OQd\®>DQßëâl~>Fs® .‡ŠÖ‹“ëˆB–Cô;]‚šþ¾nòrsQë t¹C»0j>ú„¯×‹Ãá **꺂݊"ãq;Uj”Ÿ³ùyF:‚¸úEº.M.s§ÈN—A0àu;ÉÍ=ƒFg Ë$èRÑP£ºÆÂ¢«Âhœ‰Ë5¶¶FœN7mmm8Ý€2ß1y' ii³Q…¦¦:¢¢TØl鈈HDqå´·7 ÁaèP(„ßïçÝwßåÔ©SXM{X0w!ógÎeú$Ί»#bñ‡2„5Öñ}2 ™nÉÜÔétWÌI§Óɉ'†þ»¨¨=²2g±ážuìØ±}ԛ㉆†~ò“ŸPVV6èù¬V+óçÏÅlžÜq†abw¸\.z{{ñù|œ8qNÇ—¿üe®ý{Gå%8,:+8šSJæÒMüÓS_aöôÄkHE‘éíé¡¢ü/Š"kgÜn7-‡›8päm~ö›ŸbŠ0òÕ¯~ƒÁÀ”¤)Ä'Ä…f˜L¦I§;ö×Í–ŒÇã¡¥²…½ÇöòÊ«¯ ÅÌýÕÊÉ»i4ŒF^¯@àú‰>4u6r4÷ßûÞ3DGG³cÇ233™;w.*• £Ñ8¡U–B¡ÕÕÕ|å+_áÒ¥Kc¾ÅÍöí¼¯[7¹7 abw…¥©© ›Í64±DQŠé¸&é0êI¶êÈ/8CsC+ƸéÜÿðÃÌÎLE¯º¶QôötRtügó9~ä¾ S3·`³™ñ{Üì}kN]"ßøê—yûÿÉ/þ÷w$ÄÆ³có Ôê›÷iµZT*æ†&Øe£8R?\žPî¯ËϺ޵×307zNwEÛFZ˜>|_Y–Q«Õ¨Õêë?K‘)‘©ÉIÃŽ1Y1ÐßËíEo4c±D¢V‰ÃxÆ÷5™ ü¤¥i˜;7rLÞ–Ë¡+72_EQD­1µ<úè¬Y³šÓ§OPTTJEÅ9dydO‹¤H¸½.Ü^ßøÆ7E‘Ìô ¦MŸŽ X,-ZtUù'EÑ ë!¼>Ó¢(êm>eDqôYÎ~¿Ÿââbr÷åQÖzYùhH€É”@lljõà7Ÿ1#ŽyóQXxžÓ§áõÞxœP0 ËùÙÏ~†Ñhdݺuèt:æÏŸOJJ 6›™3gŽk$I¢°°ŸýìgCU[Æ£1’íÛaÇŽ»1'?m »ÐÑÑAoo/ééé´¶¶Þ˜7I:«š¶ÆF‚F>õÐãlY¹pXRàjkåÔþýô x™9?›H³‘5kÖ3cZ!O‘ø=¢ZOʬ%ôýâÝ-‘åeŒ[dl7·Ó–ú9zæm}.äPð*¿KÐï¦$?‡c's¸x©"’š1›m÷ÜËœ´Ôª[çW’ƒ]ì?~ ‡'PB¡«Þ×ëê#ÿôqNžÎ§µ«T:2ç-æž»·ÞPÝã[Ûÿò s¨méF–d®>ªR…þžVòN$'¿ˆŽZcsgs÷–$ÅØnY@´ê㽓'éê÷ ²$]ÕÿŠ,ÑÝÞĉ£G8W\FŸÓƒÑÅâìulÛ´†¨Hã=§DQ ==‰¤¤X¹r-¿ÿý9{ö0¡Ð0Y–©¬º@eÕ…¡ÂáǯŠ%VíûÄnôGÙ²¬CQ4× vÞQßO–eÇ-«E-F£“)’©S‘™GBB É\îªØXv»Y³æ¡ÕÈÍ=ÄÀ€‡`pôïêñxØ¿?¢(râÄ ŒF#ÑÑÑ,X°ƒÁÀ–-[ˆŠŠÂh4ŽY¹ÀãñPRRÂóÏ?Oii阫¾˜L‘ÜsÏ£Üÿ6¬ÖÛ£~{˜Ø°ÃÈÉÉaÅŠ×L(n´·6r$·”>·Ââ­;xì÷`3ëFTjƒ™¬Å+qÛxêŸÿ…‚³ù$%Æa2hPtQüÍ—¾B ³og&k æ¨$A—E¼ÇÞïòïnæ÷ãýî×{î¡Aσ6÷ÎI_ú Ñö[''ˆzb¬ƒæj­‰ÄKPkþ:Nƒ~'¯¿ðßüî•¿ÐÞã$$Ë€À™¼Bäš¿ûì. ·ÐÓx½ï'j,‘ƒž7)É™+QkôW\ãèäÿë?øË¡Ót9\H²Œ ää•`2Dð‰û6Ž‹üÆ>€Žh›A@М™J£½â};[ªùùÌ¡ÓE8\dEAEròʙǚìù~Ä|¹ßG;ßÇ:¯~Ž‚Ñ¨#==‘Ï|æ3€B~þ$)8f»ÞÑÑ1ôÃ-¹-Ö9“ÉJZZ&II™,Z´šÔT‘‘VÌfÍ`<Ü•›…)S¢xòÉÇØ¾}3û÷çsüøk8Ž1z;ez{{éíí¥¥¥…²²2DQäí·ßF¯×³`Á²³³?LCQ5µŽ™YéLI¹Rb«¼¼œžž 8|ø0]]]cŽ©3-lÝú»wo'*êöÙH…‰Ý0hjj¢··÷*—½Ëå"''窿¼xý%Ÿ)äÔ$.æqáz†OV°OŸŽ\SÃ…òóÔTWÑÙÑÎÀ€óƒw'o¾u†¹ æ ‡?ql\ {KK ­­­äçç_×]}9^A’$Ž;†V;üâî÷ûéîîæìÙ³CñÝÝÝÔÖÖÝ>69—²²2𛛇vz#ÁétÒÜÜLii)¡PhÄ£¤ÚÚZÚÛÛ9yò$(ŠÂ… èîîæøñã×=FŠKÊdçö{‘D=³çPPJ…¶ºr~û»?ÒÜ}¥ øÜ4ÖUròÄ1,‘Ý™JR§£ŽövúúÔ:bbãIJŒG?NG¡óeãW[Ñ­ÌœD^nÎûF\¡ºà/¼ü½î+“|žj.”rì˜V3dìCÁ}½=tvtÐ?àA­3Ÿ@B|,ÕØãQÚÛÛ©©©Ál6c½Î9£Ù’ÌÎû¶ã©˜–9‹sçòQ iM)ÛÇïÿôY¹Ê3Y^Z@t„€êýw•¥Nííôö9QD51qñ$$Äc'B;-}>÷mWÆÄ̹YäÉZD%)Ä»¯ýŽý' } É2®þN ÿ{ï\÷yÞ{~Nïè½÷BT¢$H‹DI¤hQ–%ÛrQìä:±½»Iîݛٹ3›››IÙìî'qìXv\$[²ÄH”d‘bï$Hô^ˆvP€Ó{ùí Ž–@å|g8CrÎï÷{Ëó>ï÷}ާܼ†×1÷Éï}^LÆ…ñ7ZlHdJâãILŒG±ŽRPv»àÚ}ŒŒŒ055ÅÕ«W\ö·‹5c¥R)gÏž]°$››Å䤞‰‰<žÍ üx9Xð3TÈ•ˆ€¨ˆhdR1ß £ú븽qÈ×à?–“£Ãf« »»‡¹¹Y|¾G¯‡,B0Êvll Xðÿ~ë­·îëƒ H‘JdìܹW¾ö2QQ '^{íµ`U¡õbÁ§îež{î)¢£ŸÚí!b·Œréëë{ _L ‘¸¸¥iì}nWNžçü­.*52¥A½¢³ðÝ 4,<ŒÔÔTôz=‘‘‘w=+`7NÓq½›‚]‡©(-@§V¾!‘_@­VKBBŠíõx’$‰HÌȧþ©ƒääßQ¨n§•ö›Wù÷÷> k`Ÿ?"ÚðX^þúw8´·rCä<--òí»ïk¯ x9õ‘«{©UD,‘’U´•' ++åipXç¹~ñ,b‘‰|…Š#Q ™üÑw¾Gmyƺ¬±“““$%%³òø—V"ÜéhÉáÉÃO'î#uR¹Š¢ªì¨¯'=%±H„×ã »ù:ï¾÷>-]ƒøüD¨Ã£9|ôk¼ü\ý†Dö¥¥¥Q\Uw¿¼&ã4×»‡—’:@®£fÏ*jjHŒÖ!BÀe·Ð|ý"Çþý}F§¬«"1ɼò곿®ø‘Ûh±Xˆˆˆ >>žÔÔÔGê·ÛíF­V“””´bÀ”×ë%<<™LFjjê}Aiiiäææqñâ9:;›˜˜˜B¼¡MkH¤ÄÅ%‘‘š„×õ:·†ðß {ŽIÌäÕoý1;«òÖôÞ¼¼,—.5rëÖ5&'‡6ä6f9-yñ¼\º|ŽWnJ\.׆|[£ çС—9zôááMz¬ZÜØØHuuõ†¼«»»›ÔÔÔ¯×ËÈÈñññÌ®™™¹DA ‚Ÿ‘Ϋ\»ÞD@¬b÷îmØ“f1¹¹¹«jÕj%22’¼¼<|>:ŽŒŒ… ÑïuÒ¨"~K-{v×19ЊÃ+"++™lýS(aaaw”fîŠJ:66ŸÏGvvö²dÇn·£Ñh–¼W©T200@FFÉÉÉÔÞEËZVVááËç­2 DDDœœLnnÉd",,Œ¬¬,¢££  ÙÙÙë¨R!0S^Îoß>ŽÃéZ8Û‹$$fäóµW¿ÅsOí&J§ºÃ}t7žãÜÇ'éèÂëÿÄyÚfše~Ú¼j™ztP˜—ÇG'Îâóù¢4Å2rŠ+ùÖþ!{ë*Ñ©¬V~“§[8sò£“îRªæÙ)œ6ߺÚ+‹Ñëõdee­»|Ÿüh´:Ô N·ÊTl­ÝÍ7_ýuUŨîXB‡Z¯páä š:úðøîã<3³+ÊÑF`n6¥R‰F)ÃáZh¯\¥£þÀa^ùêKTnÉA&ðyi»t‚3'NÒ3¤ÇqµÌ°ÎÛ×5þ&“‰ÖÖÖà~TbFFFééé+»˜˜är9999tƒÉÍ…ÜÜTZZJxíµ_””ÄíÛýwÒ½„ð ¨T:víÚGMe9Ι>~ñúŒNÏ.!AæÙiV÷#ËK^ÞŠ‹ 9yòMM6½ÑF§Ó¹¡ïÔh"8pày¾ð…§KR÷X»ëׯóË_þ’ªªª µãnbrï¿ïþÍÝÿöûýtttðË_þ’ï}ï{$v‡™™™U§ãpY¼ÿÎ{4u‘V¸/þÁqþŸ35y ¯ð ²U(C¹\NMÍBQáüüü ¡>ºn\ä_ÿåÇ<">|ç ì5/|éUªØ\!×>‹‰±aº»{0˜ìh£âñ›T¢Ü.cÃtuõbqú°8<¿§ ñiÙddeòÍW¿†Ë+""&‚ÂBò²3P«wÉž‹ó×¹ÖÞ¿„ÔÈT:²6è`³|sÅÄ$¦Q³­ŠÝO<Éî!61…Â-…dg¤¢¼ë0a2›ùèÜ:†Æ—:Ux iee›cºET* ßþÖ«DFEavøHÉÈfKa©IñŸDÅ >.޸Ҧî%¤@®Ñ‘YYŧ’Ï‹/yl%kb·mÛ6Ž;ÆÅ‹¥¨¨ˆ’’ÚÛÛéëë#''‡’’FFFèîîÆårQ]]Íðð0>Ÿééi’’’ضm*•Š„„„e­gF£qU§S!ࣳñ=SPpô«ß¦®¸„ɳ 4ôÑ:6E¦FR­F¥T<4’P¡PP__$yÁS”qžSgÏ3i¶áõpÚ@“œOXJbÉf‰J0ÆøõÏÊëo½ÇÔ¼õA‘“_ˆË³ÉJ Ƈ:yýg?åí÷O1osÝ!þbjw5àpy‰ÞàOŠ%2ÔÚ0ž9|tÙ+è`÷øñú…»x–„°èžzþk¼´·äSâARâ’ùâË_]6ç—×ïÇèp/!b‰”¨ø4^~õ»o‹%R"ãRøò|—ƒU™ëjŸ\.%11–ÄÄØú¡çüyÛ·×06¦§»»•ùy+V«¿ßù™Œ­ß/&,,ŽmÛŠˆ×>ÖròXÙN'>ŸµZÍÙ³g1›ÍØívŠŠŠ˜˜˜ ¹¹™Û·oÓÔÔDii)‡ƒãÇSTTDZZï½÷555+–¢r8X­VÜîûs].}}}Æ ‹Ãĉ“3f°•\Jj´ˆ¶ÖæY }üÏÿñWÄê´$¦¤‘““EjR ™lÕ›ƒÇã!·|;ÉyeÁãŽH¡$ =Ý]b;Áh4288¸bô×ëejj ŸÏGww7 …ÓÂ¥?àõßgÎê\Bøl+Á\m‹åhúúú–­Z±ôz=sssôôô¬ècg4™››cdd„ÎÎND".Û<ï½ù:Ç?¾€Íå]²INONÑÕÕ‰Å4G :~www¯ìc·B›­V+½½½ †eæÛÍî!91‘D†/  T‡Q¼µ†úê|nô=tÎ…Àµ„ÓéÄëõ#•ËÑjµ(ò5ËÉØØF£‘®®®e+nÌÍÍáóÈHMÁ'€_¡‹ˆfkM[óãéê|xÝـ߇ÓéÀápáó+”ètZd2i°½cccLMMÑÛÛûÈÎûÁC’ÙÌèè(Ë×ÂuzÄÆÅ"‘Èð “«(,«fÏöb¦Æ†˜^&Ç©ßçÅépàpº PªÐj5H¥’5ÍÉdÂjµÒßß¿ìU“ËåÂí ”˜b ~ÔÚJ+·S[šNoÏC¿øq98œN|þ2™­N‹\. >cµZ™ššâöíÛ\5`pp³ÙL?6›mÙß.Â¥R)]]]H¥R\¶y~÷ΛüöÃÓ8ܾ%ëÕa·1xû6€AF&óPPKnn[¶ä24dfpð&‡ ‡Ã‰ÏgGÀë àó¹yÄbéå ÊËK(//C© Ð××,$¶Ùlô÷÷cµZú»ÝŽÏ/"%9‘€HL@mXå5uT$ÐÛÓ½òzuÞµ^µK×ëj1>®Gldf&‘ššDnn·o[éééÀdÇá0ã÷{ñzýwÊËý~çH*Ub· xt˜œÜ\‰‘Ë(r¤‚ÿ¡sì÷8¸yõ"—¯62=oÆç T먬ÛÇÞ]Õ„kKäÅf³-½x½Þà¡mÙßù ‹9xð)$RRÙBb]™LŠÍöðgÝ—ΞæVK'³& þè"cØ^€]Õ%¨•²5ËËJëÄív@ÌÎ'ê©®©A$’ “ËäE,,#/.Z¯qáâU& óxýäJ ¥5»8°gÑaÊàüÞ½^…Ø-ÖŒ¶Ùl+Žýb©0¿Av¤1­Í||éæR •+IÌ)C¢PcµZ!(/‡ððpÒÓIMM ®. ŸOt§j‚·[„^oer²·ÛƒÛ-¯ Æy|>11±+ö×ëõ277‡N§»ãƒ»P“Ø`˜]Z-Éä$$%¢½É/Âv C$?剉I…R)B,ö/‘ÅEý´’¼8‘„†}û)+/_²^%ßCŸü.®_<ÇÕë·˜š3-¬WMµ»ÙûD-ZÅšõËžcC©TCtt4©x<‡—ËKÿ8MMQ(t˜Í6œÎOU£ÑDRUµ‡‹OØy|"œ?'Än±$ŒX,F,ã÷ûƒ›ÎbTŒT*E,#“É‚ÿ¾û™ÕÀçóát:™ŸŸ',yN¥RQRR²PRLh3tã·ÛHÍ(ç ‡ŸBçšæWW®0ç¡T‘±ï Û’£h¼|–®nݸAyåvž(_s‚€ßÇ;?üžži<óééi2®aaa466²eËòóóW´ âõz©¨¨@©T©q2\ÃH¼‰D„'äðGòv”d!½“vB¯×333CIIÉ#—›ÅjµR^^¾bI±Åt+999TVV"Äeâ¸ZÉŒH´Äÿ2£¨–?úö7)ÍNB,Z ñ^¯•JÅÖ­[WL­²¢¢¢8qâeeeÄÆÆ.»Q÷öö"‘H¨¯ß½ªê‚à£ëæyΞ:EkÏP0G"EG¦²²|Íc<==Meeå²Änzzš¶¶6¶³sçÎU­1!àæÊÉw9õñiÇg¢~‘hž°¨.¾|ô0E WB˜ÍfJKKתxff»Ýή'êW=ç‚ßÅû¿~“§Î2c²á¿Ó§9£‰¤”^ùâaR“WßþùùyÂÃÃ)..&33sÙCNgg':ŽÝ»÷,{høD^¼´^>Åé“Ó=<÷޼ˆDs(µ]¼øÜa*+·-‡CCCRRòhnJ¥’ÆÆFJJJVUR¬££™LFee%R©™ÇÂS³K×kza5ßþö«”ç¥"-%­V‹Ë墬¬Œèè‡;T"Ünn÷A\.?N' kþãO2;;Ç—¾ô"Réòãi08vìÕÕÕ”——#AëÅ“üð§¿bÊh»ë+¢jwßþÚóƇ÷™ÆÆx<¶oߎ\®xˆ5 ""„…©zÓ3>>”—ÔÔÔebÍÍͤ§§Óаw•ëÕÃÍsðñÉS OÎ}Esóè"zxéùÔå¬Ñb7ŽÍf[V¯  cµNP[»©TÉÄÄ0“ô÷_Àã±Â:üóDh4áìßÿž|r7--§q:?Ö ±›žžÆív399‰Ûífff†¯~õ«¼óÎ;2::Ê‘#G‚æ~›Í†D"arr’ÄÄDL&N§“‘‘D"6›‰‰‰*¹\ŽL&chh¯×»ds‰DH¥Rd2B À̤‡SLmÝ~2“ã¹øö™Ugñ—ý :~ù·´j ùú·_äë/âïþûÿÅ[§nòï§²¦œŠì„Õ“:Ÿ›î[§ù§_@Fî$ñª”ø– ^“qžùyÞ søý`¿–mÇ¢+‘Hîü^Nnqþ_þŒ_½yŒ±É9Ä2é9%¼ðÅ/P’—¾Ä2¹H¼Wó­ÅS­ÇåÄdœcÎhFI™7Y–ÌÃò&ö¥ß‰DTìlà¿üg7Ç>ø˜éy 2¥†œ¢J^yùyRb‚í H$’»ú*{ô…&•®ªÍ‹‡•Å2h«ùæôÈ0o¼ö šºñÞ›ÎC¡C©\sÛC‹%ÕVßÅö®¼QÜnmâç?{þ±é¥"ru$ µ.ØÞŃÙjÇbùë¬OÚ¹Ú¾¯NF´]¹ÌO^{É9Ë=‡Q JM4r¥fMí_í:ñz½Kúµò7Æû{ùÅOþÎAý}¾„reJmDð=‹%Ýå`5»@ÀÓnefÆ€ÍábL?ÏçG²Êñ\ª_d”ïØÍý¯^ÞxûfÍ6¤ 59[*yå+GI»k½ ‚”—ÕÌB!Eä¸æçæ˜7Y@"C®t)—»¢•8,ÌGx¸ŸädqˆD"r2¿€.ÒÏ_Âlw¡P‡±¥¢ŽW¿ú"´ê`{½^/ãã*Ün1yy±ËÖÝÞ(ý²8>kY¯#­¼öãc`|æž`rU8 uغôËrÏj4 ”J”••#µx<~œÎoÓÓcçúõ  Ýx<Ÿ´wfzš¡¡a¼>/r¹Ÿ»Ï¥R©”ääL¢£Ñ風·ïEªªbðx\¿÷H÷±{ÈÉtß¾}8Nd2………DDDpàÀš››©®®&11‘±±1JKKñz½ˆD"rss‰ˆˆÀãñ°cÇü~?‡­[·>tÑ*•J ããã÷»û6 L®¡¢ ­R‚cPOUÝÊJs™+OäÂ¥üÞç‰NÊçË/=χgo2ÕßÇÌðBvÂê®c…S#ý4 ÚpÖwe·ÌrùìÎ^¸Äà°w@„B©E"ztó³X*§¨z7ÿ­¸Š¹9b¹’ÈÈëNÅ"`žçô‰ßqåú-†Æ&Ä2|(ÞRðÈo•È”ìºÆ§Ð›ïñ…‰IÌÈgß3û‰Ž ß4í5;èÍöûÆ_GÃ3Ï“²Ž±ps»§•SŸæFSsf;¾ˆ$rLV÷#¯×m ‡(©~£ÙŠL©!2rýëULë8}â$×n636i@,SâöøØQûèÑçR…–§~]ûc¶:Qi´D„ëˆÅ<Ž˜³;™°8ï‹p Mfß3O“–žð©´C$Zø£TJP*µlß®¥¶ö‹8Üu•àô‰øÿç?1o´ VP©ˆcTBÛªJyrß!²²¶ RIP«Þéýœ¥B|lˆ]FFF0¯°ÄÜ|÷•^mmí’çžyæ™àß÷îÝüûž={ú-•J…R©dxxï=3î÷û±X,¨Õj!€\@­Ò!ó‚ÍlÆ'µ2€ÛëAž…É|ž¾™i ‰",±€‚]ŽYfzŒ¦üU%,q;Œ\¾v‹¸”<Ô*9>Ÿ‹Å²æà¿×ɉc¯ó«7ßexÂp׌˜ŒŒ ¬VëŠïôx<Á ³Ù|_€‰úN0ƒÓnãA.ß‹§ÓL¼ìµŒËÌ›?ûo½÷13FË]Wvb’â0™L+šá- »ÝŽÉdºïT¦¹Ó^û|Ký)f³ù>YX ,KpÞVªÖát:‘H$˜ÍæUù•ù¢ß…üÎ5‰md{æÐÞmˆ=6Lžµµ×ápàñx0›ÍË^ÅZ,Ünwp|Wuµƒ­FƒR.»“ÌXLd\*‡Ž¾ÈžêüN ¦;ÂcµZq:˜ÍæU]K/+OwüHW’q‡ÃÛí^õœû|>N/‘a>?~a¡OI™…|ñå—©*HÅm³à^£¼,M_®½N§—Ë…L&Ãl6/k] %©‚øøx†Æ"aQ‰<òOîÜ .+¦;¹´ÍfsÐ?õAëçÞèh+?ù—s¥©‹ÝôV’+Ãèïë##%nÅ9r¹\øýþög¹õºè³¶(/+…Õ8ÁÏÿåŸùðìæÍ¶`d·H$¦´¨³Ù¼¢%ê^ù_:>b´Ú¿;«ÅòÀ¾Þ-k.—kCôËrò²è3ép8V½^å 5q±±ŒOá_HjIDl2G¾ø2 ÛŠ8­Áõºý²š5¶8¾+íMŸtC 6VF˜ÎƒÅjÃã@NlrÏ¿ø2;«Š‰ŠG*µâõÂbŠEŸÖ±ûC©T¢T*1›ÍÌÍÍ-)fµZ¹xñb°¼‘ÁlÃ+qsæêyÎiÆ…8®6ñ!b,£F\³³ûíGèscñÚ­øÅ"ÈèëìG.V´Øù½.†pŠÔdúŸ].æçç¹rå }}}kê×”þ6¿yã7̶%§/ichië`xxxÅM¬··¿ßÏ™3gÖl‚ŸŸŸ§¯¯¹\¾B‰(¾ŽÞ}÷}LŽ{*6HeX½".\¼ŒR±ü÷­V+###ÈårìvûOôF”J府÷ 333œ?~Y¿@¯×K__b±˜Ó§O¯j£¶Ûm˜l.êwï&2* D4±q1tµ4Òýííèè@¯×sêÔ©e•¿Ùlfxx‘H„Ýn_ÕuÆÔÔÞÇÉ3±»–žz$ ³?§ÏœYÑÊf2™Ðëõ477¯9¸Äï÷ÓÓÓƒÏç#¬ËÕ`~~žÙÙY._¾¼l©F—ËÅÐЋ%èš²²,Z±¹}ì?°.‘XŠFF|¸ŒæW©½ŒqæÌ™elsssŒqãÆ ¦¦¦VõqDR9/¼ð<‚ B,•¡ ‹@)8imnzè¸X,–u]‡‡ˆÝ&‡L& Z“ÉÉùÄ14<<œ§žzj!xp˜¦Án¤Ý"§zûìÚEo{?¹e%ø'“¹uù2iqYùÂ>æõüúÿ ¹[9øüW¨.L\Ѷ1Ö} Ó¼…'¶Õ¦â'?–£Óé()­¤ª²l EË®_>ÉO_ûùR'‘ʈK+ä¿ó}>±™X´¢ÅÎívãõz9|øð’… F£«ÕJtt4æ>Å166†D"áÀËO>~ë˜Çå½7rUNnÉv¾ýï³£4›•Ê &&&ؾ};»víZÒ¿ßÏôô4‚ sŸ‚ \»v±±1:´®à‰Å4<»ví –JzR]<ýK¥R>¼*+Õüü<ƒ8p€;vlØáÆáp°ÿ~ÔjõC æôô4³³³ÔÔÔ¬:x¢¯¯îînþä»ß[±LØàà jµš¬;xâòåË”””°ÿþeý‹ J¥’gŸ}vUÕF|>ß(ÊþìÏþlC|uæææ¸páÛ·o§  à¡ò²hýÖét<÷Üs«"&“‰þþöïßO]]ÝŠ¿õxŸoÕ ëãFÀétÒÕÕÅk¯½FII YYY$$$Ü—ÿñîˆóŹ]R_tô^©½k‹‡ÚgîÔ‘|ï½÷0™LlÙ²…´´4¢¢¢î³Ê­õ›‚ ,ƒ v@€ééi^ýujkkÉËË#))é>yY˵´wñ™ÕÈËÝÎö+õ-<,Š£÷ã°;šÅ/ˆŠ£b{=_ýò $DjWÌß¹8–Ò/6›û·ãæÍ›|ãßàÉ'Ÿ\BAXÃÜIyzÏnF††é¾=ŽÛëG­ § ´š/½ü%ÊrS‚‘ü«‘Ïͽ^¯ç¯ÿú¯‘H$|ÿûß'??ÿ¾ Iw?»^ý¢×ëyã7¨©©!77—¤¤$Âï©'¾¸F׺^7Br%¸¹¹™_þò—”——“‘‘Abb"jµzÉÝD´Úo¯E¿Ü«C?/»@$¡Õj‹ÅŒŽŽÞ—héo%äUpx_7?}ë·ü³Ó³O?Iq^&2m u-müø_m4>ÍŽý‡8|pajùjBbQ)Ï•­eÿüÏÿLLL õ;KÑjÖæs™˜Æ«ßÿsvõ2k´ WiÉÎÍ#-9¥\¶îqóûý ÆÇÇ1ËŽÛjœ_Ê÷þì§p“͉6,ŠìÜ\Rb‘IÖïˆìv»™˜˜Àï÷?0gáFb||œ™™úúú8wîiiiPUUEII ÉÉɦ4× A˜˜˜`tt”Ÿþô§ÄÇÇ“žžNqq1UUUlÙ²…èèèU§Ú ˜››Ãh4ÒÒÒBkk+ÉÉÉäççSVVÆÖ­[ÉÊÊZWêÆÈÈsss¼ÿþû\ºt‰´´4 ©¨¨ ´´”äääuG oøf¢P±óéçIÊ-ft|_L\R2ÙY™ÄDèÖ]±Ãï÷333Ãøø8f³yÝe¨òkvñ§1‰ÜÃêtOVvIqQHÄëßä].Èd²ß»~fvv–cÇŽqþüyÒÒÒ(..fëÖ­ÁÔR’M6<<ÌÐÐ?ûÙÏ‚ú¥¢¢‚²²2¶lÙBTTÔçŠh…ˆÝ&±Ø-;ƒÁ°$i£ Á?‹)uÔ?óa‘qüìõßò÷Í×HJI!.*Œ¡ÁqÆæL¸MVžzáÛ<ÿt ±Qˆ`ÕŠIüLŒ¶ðá‰k¤¦¦¢P(x÷ýk|ý•8"Â×r=("6!…èØ$ü"‘8x•»ú¶…BÁ·¾õ-ž{î9ÒÒÒRÂÜóÞ{Ÿ_a&HJË&>%ƒ@@@$#•¬¯½w#11‘¿üË¿Äçó‘}ß{ïîãêÚûp„‡‡£ÓéP©TFZ[[éììäã?&...xE˜™™La±Úo.èõ¶ñî~GEEX,fvv–ÉÉIš››9~ü8ÉÉÉÔÔÔ°{÷n”Je°ZI X]¾UŽéÝ¿ ëê›B¡@¥R‘˜˜ˆÃá```€ÁÁAΟ?OLL ™™™<õÔSlݺ—˵¦9¿·Ax#""Ðjµ¨T*, mmmtuuqòäÉ ¼8p€´´4¼^ïšÛ»ZyY«ü+TZ JÊÉÝR‚ ,æ­zÍÞ+Ëw?£ÑhøÎw¾ÃK/½Dzzzp<êzKä¤ç’š™G@K$AŸºµè—‡Í}zz:õW, w÷{ï–éõ®ÝÈÈH´Z-r¹‹ÅBKK üîw¿#66–ŠŠŠ ;ƒÏç{dùÞ¨š®111DEE!‹™™™ VŽŠˆˆ %%…mÛ¶ÑÐÐ@ Àï÷Çwµúe­cº^ý"v ±[tD6›Í †àéØf³qéÒ¥'¿”…óÜÑ/Ò×ÓÉàðmú!'r¥’òíÛÉM‰¤·³•ÞGlWVvYÙŸ¤ù¸uóê§b½q9mÌÍÎápºðúütvuÆÙ³çP(lylooàÿ úûûÑh4Ë&}ÄÖâõ¸™›5`µ;ðû\n==½h4š` œáAåª"|Ÿd IDAT===ÌÎζ.˜©©)t:O=õ###ôõõ#½úúúèììä·¿ý-Èd2âââðù|ÄÆÆ¢R©–% V«•ññqš››×Yw7&''ÉÎÎf×®]´µµ166¬¡ÜÔÔDcc#?ùÉOÈÉÉÁçóa2™ ^m.§€ÇÇÇ1 \¼xqÙ€A˜šš¢¯¯F³$ˆéQàñx‚¾LmmmÌÏÏc±XÐëõ rêÔ) G¡PðóŸÿœøøø .xXŸŠfgg9}úô†;«ÕJXX AK¯Ùl–æêêêâí·ß&==©TJRR.—‹˜˜˜åÅf³þT6ñÞßö÷÷˜™™Ùp+Š pX-ÌÍqºÝøýZÚÚˆ‰‰áÌ™3µb?(BR„à\j4šuÛ<èý—ƒ¹ÙYìNþ€€Ãé¦`ÈÈH<ÏCÇgffærÓÞÞŽ×ëE*•®+8kvv–¸¸8öïßÏøø8÷é—_ÿú×ÁÌÃÃÃX,–;•,”ËÊ‹ÅbajjŠÆÆÆu—õ»Û‚¾hîîîf||<ØÞ›7orýúu~ò“Ÿ••…ÓéD,ÓÝÝMxxøŠúellŒÙÙYÎ;·j½ù½YnMBÄî÷…BX,Æáp`±X‚$D¡Pžž¾l!÷¢Ò­A¥Õvñ_ùû_6"L =3 •ôñ¹¾„³“Ã\=}–Óç¯1g±XàOl¯?@rJ*a:ÍšÞ©R©'--mÝÎð÷’:§ÍÈù“püÃSŒÏñÄR)‘<óÌÓdee­ic ˜ÍfD"™™™ëºª[ôáP©T9rµZM ```€¶¶6º»»btt4ÛÝÝÍÖ­[)..&77÷¡$Ïd2¡ÓéHLL\¶`üZ022‚Ïç#11‘ÊÊJ .—‹ŽŽÚÛÛéééabb‚žžü~?ƒƒƒ´¶¶Û›™™IDD …â¾1‰Dh4ÒÓÓ—%k‚ “É‚ÎÞ+Z¬Fö¶oßÎSO=…X,fzzšææfzzzèééannŽÉÉID"ƒƒƒÁr„………$''£V«ï#y>Ÿ¾¾>¼^/YYYBìŒF#‚  R©8|ø0†@ Ààà`Ðz744ÄØØ^¯—:;;)//§¸¸˜¼¼¼‡Ê‹Åb!,,lUòb±Xèëë#%%eÍëgåõåcb¸—ÏüŽK7Z°Ø] éQDbž|–ôŒLkpY´¸˜Íæeë”!æ¹ N^:ɉÓ1˜¬øHåDGÇ@ffæšæÞëõ233ƒÇã!33s]é|T*~¿NÇ /¼€J¥ÂçóÑßßO{{;]]] Sx ÑÑÑAYY%%%äææÈîíƒÑhD«Õ’œœ¼aúeppÞÞ^ÒÓÓÙ¹sg0kAgg'mmmôöö211AWW@€ÑÑQ222(//§¨¨ˆŒŒ """HòjµšŒŒŒU¼Ùív ÅŠµÒCÄî1†H$ nH‹u*‰\.'--miD§ à´[˜ž™E¦#.6™D°ÌäA E ‚ôÔL´ªÇ' ®Ólà£7Npòô% û]¦jÆ9‰ ‰Äǯm³•Édôöö’––Frrò†µÕçqpúS{÷CÆ &‹Éz}^~- D즦¦ðù|ddd¬:Âêa‹Å›o¾<©nÙ²…={ö°oß>&&&èîîææÍ›\½z•‰‰ fgg9{ö,­­­deeQRRÂÞ½{)--]¢|çççW½Q¯W¯^ehhˆ_üâ±uëV xþùçyöÙg¡««‹«W¯róæMŒF#ÃÃÃLNNrëÖ­` ·ýû÷ßWÝÅëõ‰ÝJdMFFFHOO_×AÀs'5ýéÓ§™˜˜ ¼¼<¸IlÛ¶ £ÑHOO---\¾|™¾¾>ìv;7nÜ ««‹ôôtŠŠŠ¨««£®®nɆáõz‰‰‰Áår‘½!ägdd³Ù̱cÇèëë æúúzöîÝËää$]]]ܺu‹+W®099‰Á`àܹsAy)--¥¡¡’’’%–£Ñ¸jy1™LÄÄÄ7õ$vóã¼yòCÎ]nÄìp¢_Dbìééé¨U«·’ ‚€ÇãazzzCKdÖaæò¯óÁ‰3ÌmÁäÎ>¯$%%­yî½^/ÃÃøÝn233×u#àñx˜™™áí·ß¦··7(/û÷ïçÀŒÓÙÙÔ/333LMM177”—­[·ÒÐÐ@AAÁ¼ÙÙYt:݆;¹\Noo/¯¿þ:¥¥¥Aߺ^x!¨_ÚÛÛ¹zõ*---˜ÍfÐëõܼy“ììlvìØA}}=ÉÉÉKÆÝår¡V«ÉÌÌ\ST¬B¡ø½ûB†ˆÝ& v‹õh=žå³»ºì³ûõ/ùèì 4±i<ÿÒWØUUŒR*B¢HEðJðY¼Çé_`h —·ßûƒÙ±¤,²H,",5‰bó8›Ï¦øõ›ï2:m¼¯„sXRº¸´ÏÔwnn.XÒnpp³gÏ’˜˜Hyy9555TWWsðàAjkk gxx™LÆõë׃9ðÚÚÚJ¥\³s-„v~~>XW²££ƒßýîwddd°uëVjkk)++£  €ŠŠ ^{íµàÐÒÒÂèè(ccc´··“––¶b}ÐOƒ›ÍÆää$SSS\»vØØX ©ªª ¦ÃÙ¶m œ>}šôôt®\¹ÂøøxЪ:55EeeåºR߬AçûááaÎ;GRR¥¥¥TUUQ[[ËÁƒÙ¶m&he\¼.3 ttt ‹)**Ú”ú¥ùÖ->8u “}éu°X*#"c âMäì¯âÍw>dzÞºTŠÄÄd—•øÙÊøÄćÞÞ^9}ú4)))”••å%++‹šš E0ñzss3ÓÓÓLMMÑÙÙ‰R©\±^øF`ff«ÕJSS?~œÜÜ\JKKÙ±c%%%RVVÆk¯½Fxx8CCCtvv2<<Ô£ÉÉÉj ø¼ DìBì¯[VãP9×ÝÊÇoÿ–kƒDâ6ìéIÿ™ÜÔ8|®iÄ y´‘äñŠòñø=x¹SÇåÎ8È•²‹·ñí¯%*\³iÚêó{qDbQ@‹¥2’2 yå•W)ÍÏøLÛ·sçNþñÿ‘'NÐÑÑÁèè(£££ôööòöÛoÉŽ;¨­­ÅétRZZÊ¿øE\.7oÞäâÅ‹ŒQ[[û{n‹Å|ó›ß¤¸¸˜3gÎÐÓÓÃää$íííܺu‹_üâ$''óÄO——‡X,f÷îÝÔÕÕ133ÃÅ‹¹qãn·›­[·n ùHHHàïÿþï9yò$MMMܾ}ƒÁÀÉ“'9yò$J¥’êêjvïÞÁ` 55•?þã?æ{ßû½½½œ>}šÞÞ^***6öŠï!¨ªªâ‡?ü!§OŸ¦µµ•ÑÑQFFFèééáwÞ!""‚ºº:ª««q8”””ð /àt:ƒò2>>NUUÕº|·~¼NÀí÷àGü‰z‰Pªu”Ôìå^>´¦kØOC¿xÑ’=A*W’‘_Á·¾ñM ²Óù,ƒ8wîÜÉ~ô#Î;G{{;cccÁëù·Þz‹¨¨(êëë)--ÅívSQQÁ¡C‡0›Í\¿~Ë—/377GEEŧâgöï|‡òòr.\¸@OOSSSAߺŸÿüç$''³oß¾ 5îé§Ÿ¦¤¤„‰‰ Ο?OSS …‚‚‚‚PôlˆØ=Ú&·ÒF*QÊß ">¬N3vïÂÕ‚¡§™L 6ITö8Õ ‘›[Ì·^ùg®µ0g¶!S¨È/®äà³ÏPYœ…x­§Ø¸þàk/£{ÿ“†y±Œä´lž<ô ;«7$=Êz —Ë)--¥¨¨ˆÉÉÉ;I4Ûiiiahh(˜ªàĉ¨Õjòó󉥸¸˜½{÷ÒÐÐÀØØØ’²z¿OhµZöìÙÃŽ;¦»»›ÖÖVÚÛÛeppÁÁAt:Ýòz þpyyy¼üòË>|˜™™™ ½[$ ©©©|ó›ßäù矧··—¶¶6Z[[éëëcjjгgÏrùòe4 |ðÁTTT-““““¨TªOe#‘Éd”••Q\\ÌÔÔÝÝÝÁöÞ+/J¥2˜‚fñz¿¡¡½^¿|ðÏT½ˆ©©ÚÎ×^ú—oub¶9Qé"ØR^ͳ‡ž!/}•u´?%¤¥åðí¯½Ä‡ç¯a˜· –*È.(æÉg³«¦ˆÏúÌ.—Ë©©©¡¢¢"èÖÑÒÒB[[ÃÃÃLOOó›ßü†ãÇ£P(0„‡‡“ŸŸÏÁƒyòÉ'ÑëõŸšu=,,Œ'Ÿ|’úúz†††‚n(===ŒŽŽ£Öu:r¹œÈÈH¼^/ÙÙÙ|ýë_çèÑ£Á€‘BÄnÍP*•+”¦]J69¹yÜè›D‘Díöz’££pÙf¸Øx›ˆÈ4¶¤&!?^' Md,G¿ö‡ì80żɊ\©!9%™Èð0dÒÍå+(SjØyð(9åÛ1Ì›—˜@B\, Ùæs‰DBJJ IIIlÛ¶©©© #óµk×Âd2ÑØØÈÀÀäååQUUÌú.§vJU(äçç#dÇÇǤ©©‰[·n}»Nœ8Á­[·ÈÊÊ¢¨¨ˆªª*òóóñz½›*ßšX,&22’mÛ¶QZZÊÁƒ¡··—Ë—/ÓÓÓƒÅb¡¿¿Ÿþð‡$''“ÍÖ­[©®®F«ÕnXJ“ÕÊKrr2‰‰‰ÔÔÔ0==Íðð0mmm\»v-ÝxãÆ HMM%??ŸÊÊJÊËË‘J¥Ÿª¼¬ÑÉ™|å[BóS˜­TÚp’’‰ Ó!‘l®C°BÁÓ_ú:O`Þd‰œ¤”db¢"‘o"](•JIKK#%%…ÚÚÚ ~immåêÕ«èõzÌfsPÖïΧ¹è»ûiÊ‹R©¤°°ÜÜ\víÚÅÄÄýýý477ÓØØ¼²}÷Ýw¹zõ*™™™SYYIAAA0a~!b·*,æSÒétËÖÞP‡Çóô‘C4÷ÜÆ¡Î&96œ®6zo] ±†Ãßø%Ù©ˆ;‹±mx1ããˆm6ÊJ¶lÚ…¤PiHÍÈ" ¥­­ V"9qS¶U,†N§ ’¦_|‘ŽŽ®^½J{{;·oßææÍ›477óÁœœÌÎ;ƒ•+bbb‚¥y> #::š¨¨(¶lÙÂÞ½{™™™¡±±‘ëׯÓÝÝ^¯g||œk×®ñÖ[o‘››ËO y©««ãÅ_¤««‹+W®ÐÑÑÁÀÀƒÖÖV>üðCRRRرc³©Ö®H,!<*Ÿ fhäa>‘¹›ŽÔ-êBµ6œô,-¡!ÚÛÛ‰ŠÐ!‹Ù´ú%<<œ°°0rrrصk_úÒ—‚ú¥³³“¦§§ijjâøñ㤥¥±sçNÊËË),, æ™û´ill,111±ÿ~&''ill¤±±‘®®® ûÊÕ«WùÍo~CQQ;vì ´´”ììì`µ¨BÄÎf³á÷ûƒÎ™ÓÓÓË(()%5ûøoÿ‡œÿïÿ•ŸÿøH¤RÄb%¿òŸxéÈ~´ŠÇs¨A ­­¿ýÛ¿ÅãñPVV¶i®×·ÛÉ'øÑ~D}}=ÿðÿ°©}0ý9IFjj*{÷îÅ`0ÐÝÝô™™žž¦··—®®.´Z-iiiÔÔÔ°k×.ÂÂÂðx<Ÿ Á[,ÕFXXÙÙÙ9r„‰‰ ššš¸xñ"½½½ÌÍÍqýúu®]»FTT¹¹¹lß¾ÚÚZìv{0IêfÙ ñññÄÇÇ£d¹páÍÍÍŒŽŽ¢×ëâøñã$$$PYYÉ®]»ÈÎÎÆn·“œþ>åM$-!¥©©©4440;;KGG/^¤­­©©)zzzèèè@«Õ’žžNMM uuuÁœkë­ ³ðûܼy“¿û»¿#22’üàÁ:Ü›‡ƒ÷Þ{_ýêW<÷ÜsüÅ_üŦ«ò ý¢ÑhÐh4dddpàÀfffhiiáÊ•+AýÒÑѱp ÖéÈÈÈúüjµÚO]¿„‡‡¯Š=Š^¯§±±‘«W¯Ò×׬¥|ᢣ£ƒ¿êêjL&S0©qˆØ…p—²Y(ïóùضmÛªÂÐÅ2%[jöò?2·ÐÛÓ‹Éî!1-‹‚¼lÔòÇ{˜ãâ⨮®æÚÌH$dffR[[KyyùcéX+—ËINN&))‰ºº:&''ƒ¥°:;;ƒùãzzz8vì˜L&jjj>“C¥R‘MFFäöíÛAÿžîînfff¸~ý:7oÞä7Þ %%ƒÁ€Éd"66vSZ;¢££‰ŽŽ¦¼¼£ÑHGG·nÝ æ›œœäرc|ôÑG¤¥¥!•JINNþL6™LFbb"ñññìÚµ+(/‹Õ&''ééé¡»»;(/F£‘ÊÊÊMA<©ªª"""b])…>­±ÎÉÉaÛ¶mmª2]kÑ/‹î {÷îE¯×ÓÒÒÌç899IGG¼ùæ›dff2==½¬qã÷)jµš¼¼<²³³9tèPP¿455100ÀÌÌ W®\¡±±‘¸¸8’’’‚úe%7ª±û§ÓÉðð0Z­–íÛ·¯^ÅbâSˆ‰OùÜŒ…H$"''‡ï~÷»ˆÅâMOìär9;w `Å+ôÇaìU*YYYdddÐÐÐÀðð0}}}ÁÕááaššš€…d²Ÿ5©ÖjµÁ ‘'Ÿ|’ÁÁAzzzhmm¥¹¹™ÉÉI&&&P«Õ+V=Ø,ò´hÉ«­­e||œþþ~º»»ill¤§§‡®®.€Ïœ”ˆÅb”J%™™™ddd°gφ‡‡ƒIjoÞ¼¹D^æçç7‰.((àûßÿ> …bëEl4  ”––÷X_ý‰ÅbT*¹¹¹äääÐÐЬŠÓÚÚÊÍ›7ÑëõÁj›A¿„……Q^^,Áxw`×­[·ÐëõŒñ¹ÉI"v„±±1©««ÛÔןæ)uÓF×=‹×Ÿ'ˆÅb"""‚‰<÷ïßÏÌÌ íííœ9s½^¿iR‹,*áøøø`ÊgŸ}–©©)®_¿,õ“ðXÍF£!77—¬¬,êëë9zôh𺶱±‘}ûöm*Â{åezzšÎÎNΜ9ÃÀÀ;vìØT¤Çå°¥Õj?w– ‘Hô¡-..æÀAËÝéÓ§ýLn–Ó/‹AE‹©[ý{/^¼ˆV«}ld*Dì>8N.]º„ÇãáàÁƒ›3Tÿa!‰ËåÁùùù9r“É´)­‹V$¥RI\\¥¥¥¼òÊ+8"""Ëñ—J¥ÁÍ=33“½{÷b2™X>m3ÉKDDùùù>|£ÑøXŽŸŽ¼DEEEQQGe~~~SúV/ZU*ñññTTTðꫯb³ÙÖU2Dì>g¦±±1IB›~K¥›: å^,½ÏÓføi$-ÞHyÙŒ¾!l^yyœòÅ}ÞôË#ÞØ~¯×ËÅ‹‹Å>|ø±÷Ñ !„B!„BÄî?,ŒF#MMM<û쳇râ„B!„B!b÷¸bxx˜””êêêP(¡ !„B!„BÄîqEAAÑÑÑ455=©B!„B!„BÄî!ÐétìÚµ‹®®.:::6EföB!„B!„±{ˆD"òóóÉÏÏçìÙ³ÁÄŒ!„B!„B!b÷B&“Q]]Ï磹¹ù?t½¹B!„B!Dì{,&~½qã'4 !„B!„BˆØ=®J¥dgg388ÈÄÄDh@B!„B!„±{œƒB¡àܹsöAÀ:?ÉÉ>àV{N·wÕÐp!„B!„"vµZMXX7nÜÀf³­ùyƒ¾—ÿû/ÿOþôÏÿŒïÿ/ÿ+¯½õf»k(`³Ùðûýtw÷0::š„B!„B!Dì6‰©TÊìì,SSSkzÖc›ã£wÞäwço!Uj°Íêùõ/~ñÿ³÷fÑqGžç/÷Ld&KfbßW‚ )‰©Å¢HJ¤DQ²ävU—ÝU.—ËËÔrNOwŸ™9S}μμ̴Owµ«Ëå­º\–lY’)Y;E™â. $vbOä¾ïËÍ{çÈk€¤bEʈ‰$pï÷ň/¾ˆøGpaxêS'NóñÇ#Š"33Óx½žÍð@’$‘Ïçï›Ö:¢(’Ïç¿På|>O>Ÿß”—MúBÚAî+û"ÂfÆj¤ÞdÁ§x¼J%*•ŠxæççÉf³ˆ¢ˆZ­F£Ñ ×멬¬¤µµ•öövjkk)--¥´´‹Å‚Á`@«Õ¢ÕjQ«?;•EÇC$A¡Pàp8˜œœ$—[i44 F£‘ššÚÚÚhoo§¢¢‚²²2ùö­ÓéÐh4hµÚÏ=Ê‹Åp¹\ˆ¢H$Áï÷300€ ¨T*yOååå´´´È‡ayy9eeer´¬ÀFó™ÉzAF|>ߊòRQQ!ËKMM]½›òòYS:&ŸÏSTTt_Ø—D"F£¹ksÈ ú …Èçó¸Ýnææædy)ȶ^¯§ªªŠ¶¶6ÚÚÚ¨®®¦¬¬Œ²²2Š‹‹1 òº?K}ùùy‰„½»~ýúMöÅd2QSSÖ-[hnn¦²²R¶‡f³N'Ë÷½•Ütìî§$™L.»Ü eóóé4ÛölÅVfFB"ŸN#ærhK·ÞÚ‰LÄ»|‘þ~F¯]alb¥y'A¸/y'‡ƒ‹/Çy饗())¹g×›L&¹~ý:===´´´°oß¾»’†S(˜L&¶oßζmÛP©T¸\.<~¿Ÿ`0ˆßï' B¡P Óé(++[Ý«¨¨ ²²’ŠŠ JKKe§c#÷¡P((..æñÇg÷îÝD"y½…µ†B!|>‡¾¾> F£qY$¬å«®®ÆjµRVVFii©eº›¤Ó騪ªbË–-TUUáõzñxúFCqq1•••Ë"f•••TUUÉü/--E¯×o(ÿF#²¼x<Y^ 2S—ááa Z­vYtu)ÿív»|(–””Ü“éç[]º===(•J>|OÛ—D"Áøø8gΜ¡»»›Ç{ì®Ù—ââb¶mÛÆ<€ ¸Ýn<@ŸÏG("¸víšl_ÊËËeù®¨¨Àf³QSSƒÍf[f_6òb R©())aß¾}ìØ±C¾ôz½^@€P(„ÇãÁívséÒ%Ù†Z­VY® 2^]]-_À —Ê?”¨Þ¦cw›Û`<G­V£Õjïü–$eÉ IšLtjR^Ä; ìI²åßí¹åïD3¼ý‹Ÿs}b Cq)õ­<óÌ~ZšÊï+žn…'Ožäã?fdd‹ÅBkk+>úè=W”Éd˜˜˜àý÷ßçܹsLMM±k×.¶lÙBmmí]YƒF£Án·³wï^êêêH§Ó¤Óib±Á`ŸÏ‡ßïg~~ž¹¹9¦§§ ‡ÃD£Q|>òmÚ`0`6›)--¥¼¼«ÕJss3<òMMM‚B±” IDATFC}}=‡F£ÑJ¥H¥RD£QÙ¹ðz½ÌÏÏ333ÃÜ܉D¯×‹Ãá@Et:¼^‹Å"Gìv;<öØcØl¶»b„U*f³™;v°wï^r¹étšD"!ó? ât:™evvŸÏG:æúõë £R©ÐétèõzL&%%%”••aµZ©­­å¡‡bûöíëvò NZyy9O<ñ ²¼Äãqü~¿|`Ö;33C8&‹n’“É$Ë‹Íf£©©‰={öÐÒÒrÏék.—ÃårqâÄ >ù䆇‡©ªª¢µµ•;wÞs‡v*•bllŒ?üóçÏ333ÃÞ½{éìì¼óšíuÊKÁ¾ìß¿›ÍF:&•JÇeÙ¾Q_#‘áp¯×K>Ÿ—奨¨“ÉDYY™,/­­­ìÙ³‡†††u_Ê òÝÔÔÄsÏ=‡R©$•J‘N§‰D"òzÝn7N§“ÉÉIœN'‰DÇÃÜÜ’$¡ÕjÑëõ Š‹‹e箪ªŠÎÎNyäÊËË¿ÐNÞ¦c·‚cW0~KCêù|áS¢i‚ "I ¹F/ósêÂ|’ÿðPó-/—Ëc0•Ó±u;ó¿þGæ&Æhjj Ø¬ýÔ÷ÜK$IÁ`Ó§Oó›ßü†ÑÑQ¹EŒN§#“Ëå–!´nÇûá€NOOóÑGñÎ;ïàp8Èf³¨Õj"‘±XlÙ: ßr£×»”¢(¢R©0™L˜L&ÊËËill”ÿ-›Í’N§I&“øý~æææ˜ššbff¯×»Ì©*D™  jkk×4+ð¢Ðg±)..Æn·ÓÒÒ"ï©°ÞX,†ÇãaffF>8 ÎjáF^X«J¥¢££ƒºº:ÊÊÊ–½ó³à!º\Ø“B¡À`0`0(--¥¦¦I’EQvøR©áp§ÓÉÄÄ333x<yOçoiD6 ÒÔÔ´îèÆú£V«—ÉK}}½¼Þ¥ò˜err’¹¹9Y^|>ß-åE«ÕRSSƒN§C5,ÂçrJ’„ßïçøñã¼ûÇQ(X,"‘¹\¥R¹l­Ÿ§}™˜˜à½÷ÞãØ±c8N2™ †p8L<§¼¼\æíg%ßKíW!U_«ÕJCCƒ,/™Lf™}™™™arr‡Ã!GÌ ÑìÉÉI¹Ö´PŸWYY¹î(äR],8hZ­‹Å‚Ýn§µµu™})8¨n·›™™¦¦¦p8²-ôù|¸\®eöeÇŽ466Þ½û¢!q7»Û„Ïc±˜œª(P8æ·¿ýí§†þñ8‡xö2¥Äð•‹œ9ÛGeÓv&ûxunäfN§ÑÕÔ£õ˜»ÆÐàÃÌ^G£U!I"yA /J P V« G?gg.—ËÉ·=§ÓÉØØÙl‹ÅBgg'¥¥¥8N†‡‡‰F£ø|>®\¹B:–ï»A¢(’N§™››Ããñ055ÅÜÜJ¥«ÕJee%jµšL&éS§d¤êØØ>ŸL&³¡iµccc¼÷Þ{«ŽRUVVbµZ‰F£„ÃaB¡ñxœl6K&“!•J éíí%•J­ûF-Š"W®\! ñÆo¬ªVH©TÒØØHUUáp˜H$B("•Jɵ˜úñãÇE’$Ün7###¤R©Ï$ÝF%•Já÷ûWÅ£Bú¸©©IÞO$!›ÍÊŽU0dtt”·Þzkݵ›yçƒ> ¿¿UòRUU…Íf#‰Dƒ$ Y^’É$áp˜K—.‘ÍfQ©T$ úúúr)Àݲ/™LǃËå’÷Ïç±X,tuua2™…B àõzeþLMM‘N§1›ÍwÕ¾$ æççeçÇáp V«eûRØÓ‰'0 ‚ÀÕ«WÉår„ÃáUe†îtMÓÓÓŒóöÛo/;Çî„jkk©¨¨ ‰Èò’L&eùŽÇãÄb1Î;G8^·}¾¾>r¹œìÔ­&òÞÒÒBuu5ÑhTN1§ÓiÙ¾„B!}ôW®\Y&Ë]½[õÕ›ŽÝç@¢(‡Éd2r(7 `±Xxæ™g¨ªº5¨!ãº>ŠªºŽ›W¯^ÃPÑÂw¾ûW|´êÖ†1Ž…xpÛVÓ“LÍÁýÛ'io-Åïšåú´cáà ÅihÛJWG3EÚϧ&›Í277ÇÅ‹¹té×®]C¬V+Û·ogß¾}<öØcèõzþîïþŽýû÷ÓÕÕÀÈÈsss8p€ÆÆÆ»²ÞX,Æøø8gÏžåäÉ“¸\.T*µµµìÞ½›§Ÿ~šîînFFF8zô(Ï=÷eeeˆ¢È|Ààà ‡Æb±løáuõêUÒé4O?ý4ÍÍÍö\I’ˆD"|ÿûßg×®]>|x݇r!Jäp8xá…(**ÚÐõÎÌÌð_þËáÀ²¼ô÷÷ …8xð 555.0ƒ>Ⱦ}û6¬ÆO’$Òé4G% òå/£Ñ¸îg H$xê©§hmmÝPþ‡B!~üã³}ûv:„J¥Âï÷‰Dؽ{÷]Kwf2fgg9{ö,/^dddA¨¨¨`ûöí8p€={ö‰DøÇüG8@{{;’$qáÂAà™gžÁn·ßû‰D¸~ýºœ"öx<¨ÕjÙ³gO?ý4]]]ôôôpñâEŽ9Bqqñ²(ÙóÏ?¿aú´ôëííà™gž¡ººzCåÅårñãÿ˜Ç{Œ½{÷®[w²Ù,ù|žt:Í—¿üå »HÖÛ××Ç믿ÎÁƒijjº)óÖ[o‘N§7»/²c …›Í†Ñh”»jòÓ”P‘ËPoÒÑ;5Èð'ž˜È‹_yž}lÃb¾õïä³ifæ§¹>:Ìßÿ×I†FÇ gZøó”B–ï½ÃdTÃ3ûæÚù÷8vöû×Åžͨ”w7nÇ9yò$ï¼óƒAŠŠŠØµkÏ>û,>ú(555h4‰„\Tà—^¯G¥R¡×ë7ÜÝJ¡].Gåw¿ûããã¤R)¬V+O<ñO=õ<ðV«U.V«Õò÷- ÇÔjõg²^I’Ðëõ22Í`0lèÁYHíê©6âF]@~ÞNÖJV«½^/óºÀŸÏŠÿ€ŒøÓjµ † ­++€\ %ë]ÿÝàGqq±Ì‹Â{ òy7Ч‘H„ãÇóþûï300@$¡¨¨ˆGy„#Gްk×.ª««Q«ÕrùÄRy)èðݲ/‡ƒ×_Ó§O3::J6›Ån·óä“OòôÓO³mÛ6ÊÊÊni_ ¨ë¥·ÑçØgɲ²2¾ºSàG>Ÿ—K"6’ÊËË—Ù—yõEBÐn:vŸ™ƒ‚@ccãª>¸F£¤Ü®gìØ%œ¡»ü1þGG(7ºR…§®óëþ#ƒC£h FŒf öµƒ´·Ûˆ'ÂôŽ“Ì4·~ƒÈcOò¯ÿù¿2òøÃìê®G¥¼»Q»\.ÇÀÀçÏŸG¡P°sçNþøÿ˜;wRQQq× üwB …‚D"ÁÉ“'Âl6sèÐ!^xá¶lÙBIIÉ}Ýîa“6é‹F¹\ŽË—/sáÂ4 >ú(_ùÊWعs'v»}ÃÓ•ëµ/áp˜“'O222"ƒZŽ9–-[°X,›M£7iÓ±»—;ŸÏ‡ ´µµ­êwc±×].Bñ,[åûߥ¹¦ü¶õpR^Bg(¦­³‹ïþíÀçvÐÖT½ÌˆQð—ßú&E Å 1ƒR¥E¥Ö¡øªì UUUl۶矞ÇS\\|Ï~K³ÙLuu5|õ«_åñÇß4¶›´I÷(ÚÈtwwóµ¯}ýû÷ßÕZ¹ÕRII ÕÕÕÔÕÕñ§ú§ìÚµë¶wÚ&m:v÷4š•J’D}}ý²K$\ºt‰™™™›/Ÿc ÷$o¾ždNAã–.BÎ)ι§oû¾lŸþþ~<žµÍÃ- §î¤l¡€¶££¥RÉ… >õgGGGñz½\¼x‘ââbDQäúõë¸\.z{{7ü€‘$‰‰‰ \.—/_–ŠE™L·Û-×®÷ÀÉçó\¿~ŸÏÇùóç7³»¥ïÜHëT*åú±˜ ™Ïçå©EEEîØ¥Óéeò²´ñ³¨A*¼S­V£Óé0jØóùü†Ö$ÞªÆn£kÞ ¼(8¹…6…¿[ËûÜn7½½½|éK_Z™Y¨ã,ôL»]©D¡®«ÀÛBÝzø]¨D"‘;Šî'“I¹%‡Ñh\Ѿ,][¡GêgUS&Šâ2ýY/xçVgÁRyY¯î,ík06ÜÑ]©>u³Æîs |>Ï|ÀsÏ=·nã855ÅÇŒÝnçù矿éƒ&“I’É$ÕÕÕ7Õt ºººnBE½³|øòU"‰<--­¨Ðä+رcÇ­+‹qæÌ¶oߎßïÇjµÊ¿+Iy¦‡/’ÔYùîß~½EÌ«èìÜ‚Z½þÃøø8'Nœ ¾¾žŽŽŽ¥¡¡!A`Û¶m·5F‰D‚ââbÚÚÚØ¶m°ÐàöìÙ³tvv®êñx˜eË–-+¦}>gΜ¡¹¹™;vÜÖðf³Y®\¹ÂÖ­[)//GEæææˆF£lݺuÕíîD üïèè ¥¥eÃ#0ååå444°cÇŽ OLO/DŸ·mÛ¶á…ÇãÁb±ÐÞÞNww·Ü3rxx˜-[¶PWW·ávÅëõrþüyÙ¾}û†FìA#ûÛ¶m[Ös­ò"I###tttÐÞÞ¾¡¼ˆÇãôôôP__ÏöíÛQ«Õx½^®\¹BkkëŠús»ûĉ477ß”¹•³péÒ%´Z-Û·o¿mo´ÂÅ»½½ÎÎNy, Ó餫«‹ÊÊÊ59Cׯ_'‰ÐÝݽbMŸÓéäôéÓ455­ÈŸB¸îîn, ™L†k×®‘H$>}E‘T*…ÃáøLš®Nœ8±aº“Éd%N³}ûö wtÕj5çΣ³³“–––›d¿¨¨ˆd2ù…pì¿Ÿ£GÇ d2Y|>©TJvc±˜ÜwiWöd2)§¦ˆb³Hw“6i“6i“6i“îGÇ®@uuuÓßßO  ¹¹™ŽŽ'OžD’$<{÷îÅd2133ömÛØµk¿øÅ/xñÅåÂøÁÁA:::nÊåjžÊÊÊnJ_ ‚@ ¾|6ΙOÞçÚ¤¥}>@.¡B£À3;ÃÏ~úÏÔ•S]×@c]5½ö¶XÖ›Š:qÊêÚùÚ7¾…¸xãÕZ¬4Téø½(7 uä)7¾ÿFÊf³òÈ-ŸÏwÛ:ˆd2I&“YöÜ@ @:&¬95FI&“òDˆ;Ù[aöáíR%¡Pˆt:ßï—GÞå÷ûÉår¿Xã³ðßÀb7÷`0ˆÙlÞðTl*•"‰àõz×–Š]Lÿ‰‹iÑH$*Ï~ÝèÔ‘ßï_&/…¦¹…±XWLý{þûý‰¤Ì£NÅF£ üòù|kNóR°¢(â÷d~x<ž •—D"A2™$âõzQ«Õøý~yn®ÇãY“ ƒAYçWJ¯år9‰™L¯×{ÛŒIÁ–ä¥ÐX¾ ¯kYk!ãSñ•R±~¿_¶/+ñ'‰J¥d»U¨å.ü]"‘Øé–¤…iEyQžîl¶ÚïºÔ¾¬Ew ²-IÙlŽh4J6›Åëõnx*véÙs#.‘Hl}ßtìVMƒ­[·‡™œœäÒ¥Kro•JÅ¥K—8xð n·›'žxI’hkk£µµ•îîn¹nJE®]»†Ãáàé§Ÿ¾Éxèt:Ìfó- ,‰½½½‹ã$Â'o¿s‚hFÅ®‡·šáhßqzNžf~rš—ÿñ¿£V©Ðêô””ÛØ¹çq¶¶7¢S+ï\ð•ªkúrÙ‰X”Ù¡+x&6¦§“ÛíÆëõÒßßÛí^ñ°šššBzzznkø ‡ô•+WÌÏÏãõz¹téssskZïðð0óóów„ÌŒÅb8N¹.ðv†mjj ÇÃùóç1™LòH1§ÓÉùóç×]ü. 93×%‰#¡@è4júúú˜››ÛPÛÍfq¹\rƒâÕ>[È¥™axô:Ñd P’H¥©­©âܹsŽZ‹F£._¾Œßï—§Q¸Ýn.^¼¸þt’D:gbt˜±‰â©4ù¼H2F¹ˆ€ÜhðÄØØÁ`³gÏ®º\’$’ñ#×®19ë$Í‘ÎdQ¨TÔÔÕát:7T^ #÷²Ù¬ ŠF£ÌÎÎÊ Ç×ò>‡ÃÏçãâÅ‹ræJöE­VÓÓÓs[g¡05¤`· ¨a‡ÃAooïš&ÅjìB¡===+fl sƒÉår·åO¡zîÜ9ŠŠŠÈår2 ôìÙ³ëÖ'IIDƒ ^½ÊŒÃM&'J¥Ñ©­«ÇZ¾±#ãñ¸l[%IZµîdÓqƇ˜!™Ê€RE<‘¢µ¥‘³gÏnxÏB‡ÃÇã¹%¾P²u/õaýƒpì–3. 7¶Ùlò­*SRR"ÿÜRE]z+H$òüÏG}”h4ŠN§[&”&“ ‹ÅrËl±XxöÙgÀ’ÄPÏë}5­±¿ø«ÿ…mv?ùï'™ò„QŵuT4x\Nf&FQéËxòégØ÷ðV4ªÕ)‚˜è9ö§ÇÇyî…—¨­Ý˜KcccÌÎÎòÔSOÑÙÙyÛŸ-ŒÁ_|ñfÇj1² J©Tš'N°ÿ~¹fphh‡ÃÁ¡C‡Ö ž0 èt:žþù·ÏçÃápÈcon4¼…Hˆ$I\êëÃçóqäÈù ÕjÑëõ9rd]à QÈpá“wyý'¼>G:·PãPªyä‘…±CŸxbdd„;wräÈ‘UÞ\:Ʊ7_áì铌ϺÉåÅÅõªxd÷Ã2"ëFòx<ôööràÀ<Ñ××G4å™gžY7x"óóê?ÿ³§O3íò#,Ú ÁBKk/¾ôš lX]h!4;;Ë—¿üåUG¨®I~ñ“ÒÓӃ˖kjÍeµlÛñ0O>þð†ÊK<ÇårÑÞÞÎáÇeðD$áÑGåá‡×ö¾k×®1;;Ë3ϼfðD>ŸÇétòÒK/ÝxbnnŽÇœ'žxâ6ö•ÿ /Èà‰d2I"‘Ø}rÏ ñóŸü˜³=gñ„¢JK+ZصûqÚ±eÃ#`ÓÓÓ<úè£ìß¿U»t<ȯÿå‡ô,êbaºR©âÐÓn}¶¬“™ŸŸçàÁƒ·O¼öÚk_ðÄ}ãØ¢333äóy¼^/O=õW¯^edd€ƒrñâE9<¬Ñhp:TTTÈ©´ßýîwx½^ìv;===ètº›fDFJJJ–9ˆŸv£ö]÷‘ eè|êaº*:óKzœzñkxϼƒ°÷küü×ûOñÃþ˜Á‹¼úÚÛ´57Ðh_Ec_IÄ=3ÌÏ~ø#r¦Jr¹ì=÷r™ŽÙiæNâ©,*­!Ÿ¿G%J"Œ3;=…cÞE:'âòú7 rã»æFúøoßÿúÆf–}V1/Üs¼<÷1ÿƒŸ1éܰÞ<’$Þ‡¦Nâ±7ù‡¿B8•]¶§\.C&“†{©¸_yçåŸñ?õ6ñLnÙzSÉ8ÙJ¾ˆ”ND™›Á1ï"•Í“ÌäÈݳ ‰x4Äìô4ó./9QÁäôÌg'b’Èë?ýG^yã#âÙå<‰Ç"ä²™{J¶Ï}ðþÇ_!Oÿ^¶% 1/ܧöeÓ±[™L&¾þõ¯c6›Q©Tò¬µµ•™™jjj(//§½½ææft:*•ŠC‡QVV†^¯ç+_ùʲ<ºB¡¸%òU£Ñ`³ÙîI ˆ ->´…b£÷p{öóõ¯}•žLï»()±±ïÙ—H§ùOÿ÷?3؉é©ùU9v‰°Ÿžó—éŸ ³uKå=÷}òÙ(ÇÞ|£ïcfÞC:+ Ña2›É ÷žs—»yû×x÷ØIæ=~ry …JM[G7™Ü¯WÊsñòUÆœ>n´ë •¥ZOñF’rœ<ׇ#¹Åzµ(”÷_ûKIÌðÞÇg ¥n¾Íf,¥ å=´Þ¿=~–Xææº{U%%¥%PU&áç_ü+Ç>éÁáö“DÔZ=vîE°mØ3ͯ^~™Oz.âö‡È‹ *5;wíFÈKŸ¼$yó£s79u5 õ˜×–þììK–÷?9O ‘Yn_J”*Ý}i_6»5’ÕjÅjµÊ^Zo³Pï¶@7†X—ö‘ëê꺣wiµZZZZp:äóùe!fQåt¤$Šh)Ò—S]\‚”Ë &èì¶Sb1PÔÔDäÒE|‘0:k Û;BSÑ¿â NãsO’L5Þø!ŸKÓþ4BQ5ÆÅƹ…5lˆÑÌd᎞™ÉddÔp:F¡P dâûÍ+üà'/3ï ‘_鬭k ÊÏM§ÓäóyÒéôš×ŸËåÈçów´ÞÂû²Ù¬¼Þ\*Ä/þéø××ßʼnˠP`±” …(+)&ŸÏ¯ê]ŸnÈDªK-X‹Ä)Ù˜éZ·?BE¥Y~þF¤Ö m%R©Ô²½ßi*V’Dšìeõø# ™7¦R5Mè z¹™ðÆziÙ·’õK’V%›·GžÎz­†Ìb… s© {eµ‚L& lÄž$$i!›Ífe]YÍ\bI’è®·32ã”/F ¥záTÙÑ©¥ ——B‰E¡M”Z­^ÆÿT*µ¦ÄL&sÇ:_°- …B–‡\*Ä«?û?yå(ÁXqIXÝd4ÈÏEQæ÷Z奠ó…o¶RÖ¦°·\.'ó'uóÿßÿËÑc§ˆ%3¿·/  $â1ŒEú›lézôI’$¶5Øq†ãäåE©Ò`,±ÑPmG«7켸Q^ öåN×/Iy:«­é4$å‹‹‚òê&*kêÑé´&Û]¼•}YJ©TjÅo½éØÝç¤T*éììdzzšL&³¬h>‘HpþüùÇR’pebHzþ‹h1Üúb¦†8a)ÆáÒò»yõ½ÙÕ`%`/Öâ ‹ŒŽŒPlЬ8íUÊ ¸ç§˜tFéìê@Èe ‡Ãôöö2;;»!ûŸŸ—‹JWó•Ë嘘˜ ŸÏsæÌ´Z îÙ ^õ ÞÀM©Ì\N`ppˆlfA‘æææðx<\ºtiÍ#¢†‡‡q8ôôô¬hˆD"8®]»†(Š(05t…Wßüo8¶<¥€œ Ðwù2ss3ˆ¢Èèè(óóóœ={v]50’ÚÌsGs®÷sóÒ9‘ªú6š*Íø^¯_qêÆM†¡²‰ç|¾õØØsssœ?~Ù…ÿNIEÆÇÇ ƒœ>}zEg< ât:¹zõê¢C*1xþ4¿ýè ‘Dúû¢$žHr¡·—b³‰\.Çää$étzCôi÷ó_E*;ËðØuáZƒ…êú²éØ‚þ”—¯__=nÂá(Ù¼H^„‰É)Š‹‹Q*•«Òk×.^8œäêà(. ¨ò)f¦§Ï–õ€'$R‰·‡H,N^”ˆÆÌÏ;¹xñâ§‚'Ôê/†K´éØ} UTTPYY‰Ïç[Vð«×ëéèè ¢¢€ºÊRFG¯Lå©kî Âbârÿ$­m4j2œxç8º¼…îînyAÂdkfëŽGÙÖݸâ:B®I&Fsìy|/õ•%òH”ººÚÚ6¦ØÞh4ÒßßOkkëMÏ[9vSSSär9¶nÝŠN§Å¤³yÑqX¼)UjÌåÕTTÙØ²¥ƒÎʼn:Ž+W®ÐÖÖ¶búO£@ @,£««kÅ‚ô`0H? ‹ RaŠŠ (ùö©Rk0•VÐÔXËÛ·QZºPcéõzI$w4åb%Cc+Ö1?3É쬃L*ÃÌøUÓctum¡­­mÅÂòÛÝT„S½ÇÑ£ïâðÈåE”*5–’2ž;\Gww÷ªdE’ò˜4"óÓSÌÌÍ“ÎåèE¡TqèàÓtuu­ %œŒzy÷è¼ìÜÁyQB©RSS[GSS3[¶üÄ399IGGUUUës|…,¤#¸ææ3d„×/ 5˜8ðÔ!¶nݺ®¨IÈ;Ã민ÃéóýøÂ1DiAÛûMÍmXË,«ü¦1„ÄB–3“&ŸN3|%@‰­†Šª:º»×^ ŸI†8ööQÞ~ï8ó¾B^D¥ÖPfµs`ÿ“tww£R©ŒŽŽÒÔÔ´jZšéïï§££ƒššš»ááa4 [·nE­V¡ÈD1  XPß‚¾ZluTTVÒÖÖFKKËbËŒ…VË2<«qìfggQ«ÕlݺuÅõ^¯—¾¾>ù#qO£ÓkQÄ“²#ªÖh±Xkhjªc[÷VÌf3Ùl–ññqR©[·n]7X ¯! 135…+!ö ù°Õ4SSÛH[ËÚíK:ä·¿þ%þî4nA\›½’††º»»W娉ù,Ê\Çì ³óYrù4—Ï}J5_yñºººÖáèJD|^{å]Nž½$ge”* ííí´··ßtö$“I æåɦc÷)¤Ñhxä‘G\v h4***ä‘bÖR=ý$?{ó,cŽ Ï=¶“ÆæVL–RÒ%J­ ~lUU„fzÃŽÇä¡ÝTÛŠW:]É8§PIñÏ3tÊ}ž¦gƒìzx7&ãúë³ ãTl6ÛM£Òn•z(..F*++úý™‹øæŸý †7ßÃé ¢Pë©ihåñ'÷súãجVù¹ápƒÁ€Ýn_ñ]ŸF%%%F***VDÅj4ŒF#åååTUU¡P(°ìÝGÈïåã§ð…bhõFê[¶ÐÜÒ„gfŒÊÊ »ô]ëAÅ&ü3üôõ×8vò<‰Ì’©©*…r™L­–„tœOÞý_½ú×ç}ËRUE=¥¥¥TUU­Êðú&xíå—9Õ{tVø}¤D¡D¯7PUUµæf&àÌÛÇyýè»xB±%©pÈ 9JËʨ®®F’$\.F£q]òR ™Süâç/38é “ËË{Êd%¨¨¬¬¼£I3·<øÂ޾s”ß~ð;b©¬¼'…BE4Ål2¯zýÞ…W^~q‡—Ü’ÏãC­ÒÈò¼êH]2ÂGŸ¼Å«¯½…Ã^ÂÿÆ¢"Y^Ôj5jµ³ÙŒuQ‡×ò¾`0xÇ:ŸËå0›ÍhµZªªªÐh4X O ùùÍ»ŒÄQ늨oéä¡]»8R¶[…ö8&“ »Ý¾fT¬Åb!‘HPUUuGQ#£ÑHÙ¢Ì* >s˜P0Èǧ/M¦ÑÌ4wn§¦ÚN2䡲²RFÅZ,Ôj5•••ëFÅþîµwøå¯Þ`Êå—Qì.‡N¿fýÉÆƒ¼ûÁq^;ú.¾Hb™¼”–XdyYÍ¥hfà/ÿü®ŒÏ.«iV(T&ªªªÖìè¦B.ÞzïMÞzÿc¢©ì’‰')” é–ç\<G£Ñl:vT^^Nee%çSÇᨴv=ñW.óòþEºÿÈ“»ºPkÔhË*P[J™ð;8×{š·~ú2¦ÚŽ<û UewÐú@¡ vëCüIó$d2Y~ðƒPZZʃ;Z1èµ÷ŸôæRö=÷GlÛý•FÕ¶PÏtæØ›÷Üw5–Úyñëßâñ§ŸÃŠ¡3˜°Ú¬LŒrtflã_(‰œ?}†NõO/7š"3íb´¬=MâqÍóæo?`ò§nQˆÖ°Þ<ÇÞÿS—†HÝPŒ­/.§´a+JõZeObr|Œ£ï¿É©[hw þL@ ’$ðƯCÿØÌ å ŠÊ+1WÖ£PªÖ¼§Á«W8úÞ "ÉåèC…J…¾¸õ*ûcIb–Ÿÿ˯™q!Þ`Š«1”ØÖ¼Öù¹Þx냜º^ldû”ÓWÏÿÛ?g÷ÞCÃ14#6›H(ÀµÞS÷ÜzK*êù³ïü-_ð¥ÐÍXmV.]8Ç… žÏä’˜ágÿü2ãïMéjKm3:séšåefr‚×ßúo$~PE±&û"I9ÞøõQúF¦n°WEÖlÍݨ5kµ/"W/÷óÛOݤ‹k²…›ŽÝ  âñ¸|£+Hk²òGßø.¹ùÿÿü_{àQžxä!ÊÌÒqWÞ}‹ÁÓŸP[×ÄÿùŸÿŠGv´“ÏfHÝá:t=‰¸™éyù6;ïôÓИ@§]Û'”$‰¼°‰I&SË ¤o{{[,N.X/%K™K™ AXè%˜Îü¾XµðÜ¥…Ô+½kùzE„Å¢àôbAw:^ñF½<‘J¥~p)T”Û«)³-ðA” ›É.[›(ŠËÀ«YïòÅ „ Ä0¦­žïå+GžÅ\¤]óóãÉÉœ€´$W¥P(1X¬”VÔ-ŽÜÙzs„“)¤e?¯@WdâñýG8´÷R©µ´šˆ%dòË •J%Æ’ ÌÅòùÜ2y)|ë5ó¤ ¡äBq»XèɧP`,±ñ̑ٽ£“\6ÃÚîë"ÑDœì ‡”R¥Æl)¥¹¶Z±:ySD29JOT¡PRVQÏ¿ùê¿¡­¡rÅð üOå„lSY%öÚVY·U*•\ _ÿÕ8~ù¼€˜I$’w¨C7‚'~ß™@‰µ¢šr»´ð\ ÒéÌ2Ý,¤bïÔ–-Ôå{ Bf à%¿B»¦‚|Þh_*-•ÕuT,±[™%öE«ÕÞžXW}§˜$’P(HyQª°V7óµ?ù*µ¥kÔ‰h2Aê†Î …sy5eõkge§Ò #1żl_L%6=÷¾ôð„\!·&FI$ÈÝ ‹ ¥ sy z£å–²± žø#NGYY™L†êêj‰·.lÛõ8IÃôÜ¿~eµZ…Û5‡$ä¨miçàþèóQ.÷]\½r…çeÏž=\½6ˆR)`ÐkVý¬T"¾Xd&—WÊdpÌ;¹víápø¶¿-333‚ÀÅ‹—9VB.ÇåÄç‘ÎæPªµ‚Aåq9…ñ###ø|¾;r豇`0‚¤Tá˜w’M§èëë»#ð„Ûífllì&'0›Nàr:ñÃä‘P8Šw±“½ÙlF’$Ün7™L†Ë—/¯«F£Ö³ck#“ ©µV‡½ª–G÷‹?%'JŠÌ´tvÓÝVÃìÄ0skßé”ÀÎÝä #y Î@‘Ù‚Ç夯ïÒªÁ?¸ƒhF$‰#J`,.aë»hª*fdh`Íñ‡L"J÷–N‘sNÙ\•ZC¹½ ƒ&&&èííE©TÇI$LMM‘ÏçïH†òBŽpÐËå&žÊ GpÌÏsùÊ\.× Î`ž¹¹9Ôj5½½½ËÒ{™T·ÛE "+ˆ¤sw™Ýšžž&NsõêÕ›ÆFÝÚÈ‹„p{<„Â1Pj˜žžB£VÑÛÛ{Gà ¯×Ëèè(êÅé%²³àr¹„"ä%nT2&Û-A‡Ãd³YúúúÖ=iáK<ŒÔ?D(º0ÕÆl)gÛC»©)70tõòÚe;fÇÖ-„ã ÜžYAD¥Öb­¬F£Ê3>>ŽÁ`X•cÚÚÔÈÖŽV<0‚(¡×iëÚζŽõëb.›çî-¤sþ`!/¡Öè°UT‘I/œß7ž=™LFCiié†7FÞtìîѨ^¯§²²’ÿïÿ=±X «Õzk…·Û©oé ›ÍËæÈç®úÿ|l„ÎGçîNôªµ™c»½‚Öö‡Ö®—DæÆ¯ðÆk¿aðú,ÉTQR T©°Y­”••a·ÛW¼Q›L&AÀf³-N爇œ¼úËW8?0J,™B%”Jeå6ŠŒfù¹eee477˨»Û¯W`ôÊY~õ«£Ì¸|¤ÒÙÅ(’‚;wQ^^¾¢ñÖh4a±X°Ùl2ÀÃ53Ìo~õk®ŒN‘HeRí %Í­]‹±ÛR]%%%2Jp=7j»ÝÆw[·EÉdó¨µZL&3¦"ëÏ~Ù°˜µÌÍL2=»àüˆyÿüur ÅÅû°Ûí«sìlVšº"KòhuzLf3FÌܱY)*Rr}l§Û·xaÈâ™AYYEq±e™¼tvv¢×ë×Ý^Ŷï0;#žH!ˆ"z}f³ ½nJìV)ÒŒX¼@å2)‚žyµõ fì¶Õ¥Ãö¿ô5>p„D2…(ÁhÄl2¡Õ¨7@^4L\enÞ³èPåpÏŒ–ñ¥GÆf³¡R©°Z­ríáÊõ‡©Xß½ÿ.¼€7FÈ/L]Pëͤ²Êí‹ ˜L&T*6›mÁÎJׯýëÿdp±h·$Jµµu”””ÊÏ---eÛ¶mèõúõ5ŸKÓwö8Gßúyot6 ’öïÃf³­¸g…BÁ` ¤¤DÖ1IÊ33r‰—_~ë³.R™Å†Ø ;؉¥¤”Ò ’$qðàA$IB¯×¯; ~øO¾É—ÇH¦Rˆ((2š0›LhÔªuËv±YÍÈð nÏÂwÎçs¸&ÉY­X,û±Ûí«² ºø%âÉBt:=Å–bôZ͆صj„ã_”Ë|.ƒsò†–æ[žs¢(ò7ó7˜ÍæuØ6»û̹+**⡇º­Ó”Ï‹(JTò¨0uöÊ&Ñ«­´¶´cÔ}~MP£¾9þõ¿¾ÍùþÁ›j§*ì6éXD¯~jt(›åòåËär9ÚÛÛÑëõ¤"^~ùö/9y¾ŸP|yˆ»´|¡èz¥çÞŠ|“¼ûÆ› ŒLÜP‹±àl·¶¶®ØÒÀçóQZZJmm-( â¾Þøé1z.]]ÒGiá¹b>O}}ÍM÷rgã!Þ<ñ[.]“{´I’H:•Äl2QµÈÿ{¥~*tòѯÏ04á 'ˆrä$L T*¨««_“¼|žóNóò‡Ç™tS½b^ ›‘ººZj¦£~~ýÞ«\™–{äI¢H:™ _l–õuµŽt>—áÄ›gxÿƒß1ç,«ßSæ Ød\ñ»ær9¬V+Z­–ŽŽÔj5qß,oýËûœ¿|sͧF­¢±±aMò2~ñ8o}‡á)çÂH«%T\\L{{ûŠQ´ââbJJJ–Ù—àì0?úí»ôŽ‘]Zr P¢R©hnjÆn·Þ7² ¹ùäŸ38é\"/yRÉHåòÞ7rÎòºÎ9÷$¿<þ1S.ÿïuqq½:­Žæææ[޳ܲee~¯ìcÓ±»Kôi\È&èíᓳ—0ڛؿ?M56ÔJ:s#ùŒ’´/ âç)4×ÇG9v¦ŸTvy½„R­E©ÒÜÑt¹†D¡Xüy³33|tæ‘Är§N©ÒPÓ¶ƒòªÚÕï[9{®—óƒ×orê”j Z¥Jµâs ÿ^Ø›‰ÁkCœ¼xí§4:MÛÆTR~)·„ÛíâƒOÎã&nà¿šÊÆNªZö~O8v ƒÚ?>×O<½| „J£§¶}%¶Êû˸J"×®^ãw½W—¡tF [wb*)»Gö$ápÌñþÉ 7õYS©µÔ´l£º¡ÕèÖOÆxçÃO˜[2×vQù(¶Ú)»;PÓßÛæÄ…«7;uz#µí;0—ÙÖ`_Ž?ÅÐNÝ"€G©TÝQo¶åkU¢@äü…‹\¼¾Ü© ¦»w¢7šî+û255ҧ{IÝ`/ÕZ=uíÛ©¨m@¥RÝöE¹ry€S}Ãd…t±¨˜Úöí-¥_çí¶z´é®­ŸBÓCüóÿø{~ò³Ÿó?þÛ÷ùé¿üo(º¨ *Jòså&ì¶RTJ…ì$™,V:wì¡ÌV±æç ì¶RÔò _VWDÛ¶‡ùÞw¿G[ÃÛš”•Pn1ÿžm %kíÝ›ÖÆN˜ŠÍØÊ,Ëø /2³ë‰CüÅŸ} {™ù>’>:½ž [Ù²Z«§¹k'ßúîßðàÖÎ{ íXd4b·–.‰l+ÐLl{ø ¾óíïÐX[yßÙ“ÙŒ½¼d‰L*(*.ã±ý‡ùÚWŸÇZbºgÖª7è©´—¡Q+—\jŠè|àQ¾ó½¿fÇÖµE_T*v+EKÐújŽR[ õUVêlkãÉdÂ^^²L_u3»?È_üÅ·¨©°­Iol¶2,æ¢%N¥ŠòÊzš;w [GUII e%f”Š%²`.áÀsÄ׿ú"SÑ}%Ûc¶¥½‘m»ŸäÛßý+¶lP?Õ"³eÁ¾+–8ëzc1?ý<þoPa-ûÂû$›»  l8DÔï'›Ë‘Í…¹‚+¦²ÌLÊ=ŽR+RTU„RóùøÑ‚ àv»I ØGQß5á(Ù\žš¦-tuoevühµZôz½\„\ 1¿€4Ë䆆GP qòäIººº¨©oá›ßü&¶ªZ&fݨuF[;xbß>{°Õ–&“IœN'sûŸü—®'Èå¡¥ëÊK-$ã1FGG©®®&“Éàp8d›$Š uŽBžd*ÍÜÜW®\`Ïž=´oÙη¿ý—4ž<ƒÃDo´ÐÒÑÅ3Ï¢»µf‰A¾?ÈVQß~ã”Ø«œC¡ÖSßÜÎOîãñÝ;P«î¥û›‚Æ–N¾õ­oQQ÷;æœ>4Ím[8ðÔÓììnFu¿u%P(éì~€¿þëïòá‰|¡z“…®mñôÓèh®¾‡dJAuMßü‹oQVYËÔœ¥¶ˆÆ–ö=õ»èZµ¼‚€Óé$ Óµ}x‚LÍ»ˆ'ÒèŠ,T×7“K†˜œ¸ŽJ¹Ùš™™!›ý}Ä6ŸÏ‘Igò"£ccèt:N:EGGí[¶óïü%5Ç?Áå ¡5ÓÒ¾uA_;ëYmY<ÇårQY×Ì—ÛÃÐõi¢ñ$’BCçŽ]é”Ä¢FFF°Z­Äb1\.—ŒšÅ<ÙLA”ˆÇ8®\¹‚Z­æÁäÁÝñ½ï„9ÙÓ‹/ÇX\NûÖí|ùùçh¨±ÝgM7Ô7¶ñío[õ1æÜÔz#Mm[8xènmC}/L…’­Ûwò½ïþ%||o(ŠÁTBKg7Ï9L{SÍD4kÓ±ÛˆHX} %uÕ(§(5*¬Õ”ê ˆ¹ —ÏLbÒêÙRmA§þ| Ð¢%¯PóÀžÇÈd³ÿ¤‡x,ÁÄÈœs‹ Ëf9úý~‰éd”‘k\¹:L$‘D%²¹]ÛéôxhjjBc0²ã‘}´nÛE,žD¡T-ÚÖtHZ(u&v?þ%’ÿ?{ï×uçy~^ªªW¨BN H‚ bÎT–,ËrËrhÛí±»íÝéYŸé>ÞÙ{Îl÷™Þ™Þéãé9íé–[nOÛ–ld˲©DŠEŠ9ˆ™H"§B •ë¥ý£@ D ‹¤ßG‡ëñÖ}éÞïýÝ_ȤÙ{à‰d–ÓÇö#Ë 4“J¥Éår$ Éf’\n;Ë¡CGŠŽ¢&‚(#É2 æË¹¼lxàS,[»™d2¨8ðy}¸Ý®;NÔÈN•­ë¨¿„x"¢„ÛãÅãVo3Q—Çáö±bãý4/_M2•A’ÜU½#¯?€Ó[Èæ‡?KëúûÉdsÈŠ׃êrN©ôoõyq¹iYµ‰ú…ËI$Ó’œ¿þné,u¦™¯CšÎd)®®gݺÉío080D<‘d$:„Ç S“Í* ‘ɤIŒF8uü'Ï\ ‘Î`Yš®³hñ2‡†¨­­Åá©dÍÖGhY¹d*ƒ()ø|^Ünõ–&iÓ4I§Ó¸ ŠY³~=™tŠƒÇÎÊrüÀQæžåKI§óãK<gpptj” gNrôèI¢ñ$†i!È2ЬPSSC8Æ4M<E<øøçYwï#¤Ó9d‡¯Ï‹[uÝ‘™ÔÕ˲u÷Ò°d©TA’ñx½ù÷õ6|a¾ ›zœåk·ÎjÈŠÇsÇ^[Ø}R¦ßÐ<Ùú'Ït¡”-âÁ‡D¶rzç5^;~ž¥ëŸdYSò'4À;êëëɦB<ÿƒ×xíõ ÄRùÓiFcQêëëY¸p!óççK9ÕÕÕ‘MÅxá‡ÿÀûï½GÿHjÂ*.›•xðÁG)+Í'Ö•d¯/@Ww/,\¸¯ûÖœÅ}>_¾[´—g^ùÛߨCRó—H§—s)K—.žX´p>vþŠŸý`7ú¢Ú+**bãÆlÚ´i|Ë@Vœ¨n8qò4º®³lÙ2DáÎ s%¯¿¯¿àŽè¯$+ ‚ îžq@q8 †œwÆõ˱ç ÎÊøÒØØˆeêœ=´‡yý5~pa‚ol"¡ãrhll ©©‰Ñp7?zú¿³wï>FR¹ VIòðéO?Ž[u½¯¼¾]=ôööÒÒÒ‚Ç}kï«ßïgñâÅ„»Îòòs»ØýÎ~2F¾¯©T~œ  Y¶l‡ƒÚÚZ–¶4óêó?dïž·éŽ$&´WQQÁ¦M›Ø°aÃøøâpºp&'NžF–.]Š ºîØg;ÿ¾†î˜÷UVœ†Š)äwÛÇn6zÅÁêûæ«_|g.ÂK?ûŸü׿ý/üý?>KyÃ*žzòJ ?yÑÐyá,?~ƒ±Ô„¿D‰@i .÷Ä’6]íçøùÿú #GÕçE¼Î”Édxá…øîw¿ËîÝ»'lµL‹ãû÷òËWv_uW®·Ã…7T†(]]—ÄÂüìÙçi¿NÔÀò‰ôööòOÿôO<ýôÓœ9sæ¦ÉHmllnL:çå—~áSíª(àòP'”ÿ³8yø /½¼‹Xjâ8!N¯çC~[‰D‚Ÿýìg|÷»ßåÝwßÙûj™¼ýÆv¶ï98.ꮵPyCe*  t_æ§?ý%=׉ºÉª/tttð½ï}§Ÿ~šöööV/²±™uak_‚Ù@Àªâs_ù#jæ-àØ‰ÓŒ$5ZZ×±ióê«Kom12:BÿHbBýA”(«]Èg?ÿû”•–N8>Ñ_W¢FDRœ45ÎÁ}]N3I’(--¥ªªŠPhf‘¥–eÒþPäž ÊÌ[´‚ylBrâT&Iç`„ëêàôâ |´sµªªTTT`>Ÿï¶,§dcs§ é9ºÂd¯«RàpØüà§Y¼¨éÚá…¡h„áxêºñHÆáT©¯­¸&¸fl²«©ZUUE0œÑûjaÒÕ?DòºHOQq²dÕV¶ÜûÒxþ7‹Ñä(½á؇ÆBOA Þ”ws»ÝTVV"ËòŒëÀÚØLËØT¾äVO°â1 ið˜:Fá<$w!ÂÀˆzrÂJꡇºi6îßMm' 8ÝÔÌ­gÉòVV¯^Íò¥-”]}ùÉŠO·S!Úw‰îa,‡“Æ–Õ|ã›ÄC›W'Ÿ5Í|‡$éi§³wÝ´‘ªy‹©kh ¹®ŠÅ-‹Pe|€•$‰††Ö®]Ë‚ f”tSD.™ÞŽ6ú†bˆ’„Sõ°dÕ¾õ­?dý=‹pŒ ¼†a fbˆÓç/’ÓòòEU<òÄçxçÕQUU5!í‡ÛífÉ’%¬Y³†ššû¹ë[~ IDAT¶±™‰•@’QÌ/^"™Ñd™‚¢ ~ü)þèkŸgNi!‚ äÇÃÀ!šôw¶Ó3Á´,$ÙAãâUÔÔÌ¡±®’–E‹&¤ÑP…ÆÆFÖ®]KssóŒ*5‚€OŽ‹Ž%% ··€5›æ[ßüËÌC[˜†‰"Š$†:i»Üƒf˜‚@ym3>þYTÙ¤a^ý‡ÆŸÏDzeËX»v-•••3N°mswÓÖÖÆ… Æ-ÑWž÷ÚÚÚi?;öL6ˈ’ŒÛ}{^Ö²þìoþ_éê¤g`—·¦Æz¼n׸Óô•2Z'Nœ ™L2ÅzL—/<‘HCn”þÎG"E¡×Yµj%µµµãƒeAAÁM“O•ÊÆ%üÍß?MWÇe#q ‹Ë™[[…Gu;¤k𯅠hooÇSÑÀã=Ì¡ÃÇŒŒ"9Nz—l:Å¢B’É$<ð®±ÒN¢(RVVf?´66³!ì.îýÌ—Y¶þ~::ºHëÕsj)+ W°,‹îînNž¾ƒA‚ÁÙHW!°`Õþþé:;:MQV5‡êŠ2Ü.Ǹ8Ó4³gÏrñâEªÜã–ƒ£ÇO‰¥ÍGß‹L*Á⚦±qãÆñ’T’$Q^^n?6¿ýwѾ¿KäóµÕ7-¤¾éÆ+ÙÒÒR 1G÷îâÝ]ýôöõ“Ìä€!jæ6³výÊo)‡ÔÔûëõÒÜRHó`Y¦¡¡ÚÚzÚOqìýÝôôôÛâéë馨¸„åË—³aƱh666’¬P\VEqYÕ Ç—ŠŠ Š‹‹Ée¼¿ëUÞì亮¿ŸLNghpA”X°ø6mÚŒÏ÷ñåÿ‘@°„–à˜ɲLSSõõµœ9º—}oí ··Ÿx*ƒôtuQ^QNkk+ëÖ­_4ÚØ|¢&ûØ|hp–$TU%à…ýˆ÷ucXHfq(ŽO|ûR„|=G-Ãö~Êëo¾Oä¿Ë2DÕíAUUÛÎÆæ“¶&È2ªª¾xŽçŸý)GNµ‘¹¦ª„eYdÒ:N—ë¶_z|„—~òcö¼”Ñ1Q`™:âXz!{|±¹mÞ1ûØ|4í—yëØ9²×•fqx hÝr?¿ÿ¶éípdW÷'q3´¤¨4¯¸—êyÍö kcsÛ /&ÇΞå๎ëʰ x ËXqïC(3ð¡›mºúºØyè4imb`ˆâòÓºå1æ6Úã‹-ìln{JCE´ÔWq²cM7ò[¡26>ô8_~|+^—rÛôÖçñÓÚTËÀptlõŸßv^¶î>¾õ¯P[´o©Ím3¼ÔVTÐX]Æ…¾a ÃD”d‚%U<üÙ/ð¹W£ÜFɵCA–4Ô°ÿô%rº‚€7bÍÖOñ‡_yŠŠ¢ûžÚØÂÎæö§ºa!ßùËÿ›½ûÓ?ÃáòÒ²|%«W,£8è¿­ú(*ç›òê¿EGïH sêç³eó&ªË‹ìÕ´Ím¶plYµÿóÏEö:Îp,‰· Ä’å+YÙº˜Bÿ핤´fÿþÿúsö¼û>½ƒQ$‡ÊüEËX·våŶ¨³±…Í‚$;YºrÍKV’Jg‘>¯ç¶,Ë"ˆÕóñ•9 $“i,QÂëõŒ§,°±±¹½p¨>Vmz€%+7Éæp8UÜn×m:¾ÈÌ_ºŠºæ%¤RYÁçõÜvåâllÀž°¹éˆ&00æûßÿ>ÿüô?aèúmÞ_‰ÓgÎðŸÿæ?ñÆöíöý³±¹½_XzûúùÞ÷¾ÇO~ü¯ä²ÙÛº¯‚(süƒøOýW¼½g]MÂÆv6w–eÑÖÖÆo¼ÁK/½D4½­û›Ëå8rä;vìà•W^±^›ÛÓ49wî;wîäõ×_ghhè¶îo:fÿþýìܹ“]»v¡ßî ]›ßIì­X›Éר‚@cc#_üâÇßÎ8Ö¬YC6›ÍÞ¶·Jlln_Ë‚(²páB¾ð…/PPP@QQÑmÝ_UUÙ´i’$±víZ»Z-ìlîL*++ùêW¿ äËœÜÖ´,³dÉ.\hº66wÀ±¦¦†o|ãWsRÞÆ(ŠÂ=÷ÜÃÒ¥K‘eÙ^8ÚܦÂβ0M˰1˲0M“«5Ê •Õ0íÜßYôkßÞS†fÀuy§lllnW,4Ã_l~7Éé&Ò¸æ2‘È驌†bXS~.YDXøÔ_ýw èoe§Š g Kt ˆ°&&§õx¼Ø‹›Yv9 -—ëk"Å‘·bOQs ‚ÀÆ¥ÈÞ`Ùç˛ׂ¢ÚWÖÆÆÆÆÆÆÆæ·Œ{6±,v·Ea¹n‰$bqW{¹oQ€D"A*•¢¤dbädÖ`ç©í)ûNØØØØØØØüÎc:F6˜7Ä™LÒ¾“66666666Ù8E.õ£mo¦a‰ÅIÆSÈ–AYQI–n -z£¤, ·b*ð!I}l6›#FwúǾG‹ŠD4-Ç@š¦!`áV]$⣘†Ž¦ihšFÆr`:W(IÀ´À0-dIÀ²@ «OîôWQèD '’Áú-ç/pËû´$1­«ß-‰ ×)´Ð ã"\–@»Æ¹Ñë’( 8éN‘µÓÙØØØØØÜÕˆ‚…ß?I©M¼ºA*Çív¢ª*‚ ‹ÂxÜ‚†…ißëf(Çë÷£ºÜÈ¢€nZãÚC7,Š“ÑÑÙk‚d‘Á¡!ví:Dss3G¥ººšT*E"‘ ­­ááaš—®"§MvE>›š ‰Ä³íeãüÑx†ÚR/ϾÝ):>ò<o-C±²üÃŽ»~~Kk ø½Ö ßùñq²âÕÚ„eNšJd¼¼w~˜KÃ×{0 ´Î àqÀ;ç¢hfþš4”ùøÚú2þó/Óoؾ‹666666w3WtÔM¥±c%B>÷Ôù(pçÓü$3Ú¢ Ä QʱŠ"E>+çù9ÞÇ㔨/q±ûT˜´.æ¤qa2f±EôÐ4h4J,ãþûïÇív£ë:™L†X,†ËåB–³ˆâUSTÐçä¡ÅÅœ¿ÜG,!óÈ’"´l†yD¢1N €Û)1¯ÔÍàhŽ“Ý * ,¨ð°°ÊÇ¥ÎQL-ƒèøpÒBÂò9>dIàHGC¢Øï ‘Ñ)ð(ôF³´Öú0-‹®H–Îá kæEôÈj&’$p¡?Û)RW¬b˜çúR¸ªdá!òy•ûœìNKå¸Ü;Ì‚r7kç±÷xËP‘NÖÎ Pp`ZÐÍð…Ue¸e 8Ö“aÙ?‹ª¼ùŒÔ(‚ä¶sÙØØØØØÜÍÂN”Eé¦Ç‚8.Ú ½JUÔè0¦iRèvQ eè·d¸æ8Q”P™{æPWâ!äUèèì&BôU Œi8ëZawUE ŒŒŒ‹Åèîîæç?ÿ9ëׯ§¾¾žÂÂBDQ$‰ÓÌ¼Š¼Ú[ŽïbQE‚‘c`x„šb/‡Ÿ¦0TÌ6, ³wˆuKЍ,¬.àl[éÄÕ$²¢(òí{+èeçÙ Màs«J)Su²¹ EüêÈ0[šŠ¨(tòëwNÖè’¢TøDþÍÚf¶îã±–¯î;Ïý­u´÷Ž0’̲hi!ºaRY sôB?Ÿk-ål_YXßTÈŠ…~:ú†h][Ê÷ßì"fzYØPÁ»'»¹8@ ø%‰ZBdF#Dâ6¬(£g BËâĩӴίåÞù*g.õbTά¼Yï&7ÛÆÆÆÆÆÆæNvâø\/‰Â#•iå·WáŠMäx[gM],(70 PÆD8®Ï")ƒ·ÏÇxdq-›â—ïœÃp”"_±ê‰ c 2¯Ýn7ªªÒÔÔDaa!áp˜ÖÖVzzzˆD"Ô/X†Ó™BsNH:”W:ðª áXŠTVÇáöã UPèuá¬ðÓ30„OâÜd²9t!¿M›¿ ß}¥\lÅW„Ã[H@U¨ Ê´÷$‰E¢dâ14½KK“ÓLê*‹ùê¦ ô\†ú2/ª>B6äƒÎQ6,…Žþ£šLC¹N<™AÄOÎqI&F" q)•…N´´‹ŽÎnHGY×2J¿ÌÿØw‘ÊòÖ.,ç­ÓIàüPœpÂ`e³È¾¾|sKqJð!a‘ÒÀKâ<~mmllllllîNa7&ÚdîmPè¹:ï¿{fˆî¸×JcV8A ¯ê¤¬XEU^‹x<~Í1Òøï!¯Âúy>Ú;º©()âK®çÙ÷úI›W½bh˳˜wN§‹Bw!är9ÚÛÛ¹ï¾ûÈd2d2t]'›ÍbšV^EŽ1š±ØõA#^N çÒœ¹&œ©+õr92Âó{sÄ$ÉTšž˜A87H™ÛÁ…Ë}´õD0DÙ@V}c¿9¦Ñ—$“J0šÊáq¹8y±Ÿƒ™ ‚$Ž%yûôF*Æ™ËCœëŽ :T†9Þ»ãlWÃQÈ»§h(÷àqÉèZ†ß¼{–‘œˆ|¨ƒ÷ÎEÕ/C.Éh2C΀t&Ë/ÞºLÌP)R½ˆZ’ÌHïŸ÷ÑÕ!#zØq¤“#G@V)óÂÁ¶0’æD0uÞ:ÚN<­Cœp­lllllllî6‹4¶%* ¢£†Ç?K v"¸çû×]l£Y“"¯‹rW ‹4é˜F8–Fýy¡&ŠãV;Â#çzxçøE*j¡. “BðUŽ Æ1…‰°úÆ 5o$‘ѹ¾›¯.•8wƒôôôðõ¯QÉd2yQçðñô»1t\Í«" @.F6•Dñ"èiô\QQ@Ïb ’Ã… §°  Éá= –‰a‚¥¸‘Uÿ‡üÑË„l SË`Y`IN ,KËÀ’È"XZÈGŒH’„nX¨Þ™Ñ0’@Ð3<º¼£üäíµÉé-…Œ¬È eòåÔDŠÃI.5Šàô¢¨>¬ô¹\—ÇO6EVX¹8y…n:–äÊGçRXè–ˆâ !H¶ÅÎÆÆÆÆÆænEÌĨ­.ÏÿnéèéÑñÏ4ÃÂé 1šH0Màw;( ô4F. Xy#*HNÑÑC#qJ ý|€•K¡›&ò˜vÑ EõÒÓÛOVÉGä¦/å£b¯8éI²_0„Ã3@ÿð-[ÃS€Oõã¢)QN#ˆÚ„“²œ8œ,‡Ù}5ýÇØ¦$àG€+@®ùÿ2@ !¨“'CÆ‚O ˜(…Õ‚€…ŸÝ—-Rýýà)Fö†E K މSkì;Ä|(N_^´ ¸ƒ8Ü`! ä",§QïåU™«"Ž+¢×ž°±±±±±¹k±$…d:ƒêR1Q@ ¦ºiÎ것tÎD7 $II…±\ÁÂØi™$Ò9DÅE:§ãÕÇŽU<ˆŒ¥@V¼HJ~wQcÌwϲ@aõ¿ýU´` ‰ŒŽCP¦i’Ífq8HâÄmD HçÌ yÛošyS¥-¶lllllllfE[˜Ù$XÆ Žd'‚âÃÀÌ%ÆÕ Ž«&ajY,-}ãcÑáF @r }ÌXfYÌ J”ú®ÞtØwÊÆÆÆÆÆÆÆfJL§â«gŠÇ9ÿMêìîãòˆ‰`í‚Z¦Î–F?æ¹±L˾766666666w–eòÿü+Nõp”2îÕïsJÝ"¦aØWÉÆÆÆÆÆÆÆæÀ4!3Ò¡9+q WeŸ}…llllllllî ®•oÓN°–H$èíí%ϸ#½½½ë‰ær9z{{‰D"X¶hÉd’sçÎÑÞÞŽ¦iŸH"‘™Lƾ666666SDªZñéÿÇ]TÃòj•¹!ùC(‹ñ›ßü†÷Þ{UU½{÷’Éd¨ªªšrtéùóçq:8"‘tww3gΜ@:fÏž=ìܹ“#GŽP^^ŽÏç ¿¿Ÿ×^{@ @?>Ÿ‡cò X,F{{;Á`Qœžî=|ø0(Š2éqš¦±{÷nvîÜÉ©S§PU•P(4¡ø|>dyvràõõõ±cÇΞ=K ¿F7bÏž=œ:uŠ\.GuuõMÏéVxçw˜3gÉd’¶¶¶ïo¼Ãá˜pmlllllll®bY»ö¼GW¶ÅSÀMUÃðð0/^äÁ¤¤¤Y–1 ƒ‘‘¢Ñ(±X ŸÏGaa!’t㚨ííí °zõjNžÍÁƒÙ´iUUU$ ŠŠŠÈf³D£Q $‰H$‚,ËTTTL*{{{Ù¶muuu¸Ýnúûû)..fhhˆ\.G0$™L¢i‚ àóùØ¿?7ndîܹhšFWWW>wŸeáõzñûýŒŒŒŒ×¾"¾"‘‡P(4iŸ,ËbÛ¶m¬\¹’¡¡!8@YY‰D‚ÑÑQCCC””” Iù:Æ¡P¿ßo¿Å6666667à¦ÂÎ4M8uꇎŽÞÿ}V®\ÉÓO?Mgg'555|ùË_¦¦¦æ†í,X°€—_~™ŠŠ .^¼Hkk+ßÿþ÷¹ï¾ûxíµ×°,‹§žzŠ;vPZZÊÈÈ~¿Ÿûî»Å‹O*FFFÈd2„ÃaB¡§OŸæÐ¡Cˆ¢H??øÁˆD",[¶lRagš&š¦qìØ1Þ|óMŠ‹‹q:†Á|À‚ ¨¯¯gÇŽhšÆòå˹|ù2œ9s†ââbü~?MMM“ö9‹qîÜ9b±n·]×Ù·o‚ 022ÂñãÇ‘$ UUéèèàK_úgÏžåõ×_§¾¾ÇÑ#Ghiiáë_ÿ:^¯÷†ß×ÝÝM(bݺu¸Ýùpì£G²cǪªª8vìåååär9jjjèêꢭ­£G …¸|ù2:tˆ­[·òè£ò /àv»yçwøæ7¿ÉÎ;¹téÅÅÅ|ík_£¡¡aÒg«»»›_ü⌌Œ‹ÅÈf³üÝßýñxœêêj<gΜá?øÁ¸XþÖ·¾e¿µ6666667`J{Á`––– [bétš®®.ªªª7m£¬¬Œ`0ȶmÛ0M“¹sç"ÝÝÝȲLyy9’$áóùÆ­dSjÛårQQQAMM Š¢L&Y¸p!ÔÕÕ±zõj>ýéOãt:§|qùüç?Ï磼¼œeË–!Š"‚@MM –e1gξüå/³fÍ|ðAêêênÚ¶Ó餢¢‚ÊÊJ¼^/eeeD"‰k×®eýúõ<òÈ#¸Ýn¶lÙ‚ÛíæòåË”••188HQQË–-CQ”›úú|>FGGéî»›žž(//gÍš5$ TUå±ÇcóæÍ˜¦Icc#›7oƲòE‰Y´h¢(’Ëåèïï'£( ÷ÜsK–,áâÅ‹”—— …¦äÓèõziii¡©© ¯×‹iš\¾|™ÊÊJ<ž|ŽQ©©©aóæÍtwwÛo¬ÍL,vn·›Å‹³xñbA  ÒÐÐÀ¼yó())áܹsx<ž›ú®9NV­ZÅóÏ?Ͻ÷Þ‹Ç㡱±‘uëÖaš&Éd·ÛMkk+¦iRYYÉÛo¿M0œ´]‡ÃÇ㡽½¾¾>ª««™;w.ï¿ÿ>’$ÑØØHiiéøvìܹsq¹\7lOUU***ƒ(Š‚Çã¡¢¢‚p8L&“! ²xñb à ‘HPRR‚ªª¨ªÊ²eËØ³góçÏ¿áwH’Daa!mmm„Ãa E‘+V º®ãp8xã7hjjß—$ ¿ßÏœ9s0M“L&CQQÑM}çÎK8æ­·ÞB–eV­ZÅ¢E‹Ø±c|ð‹-"PXXˆ ÄãqœN'ªªRSS3n½",C¡ï¾û.’$ vEQxòÉ'9yò$n·{JzÙ²e,^¼˜p8Œ¦i¸Ýnž|òIzzzðûýA ··—}ûö±yófûµ±±±±±™aõ¿ýjZÏ®-dk£ Ó4'ðòË/³oß>\.‚ ðï|]×Ç-E©T Qñx<“úT½þúëIkkëx߯œç•óO&“x<žI.Þyçñàˆ+ÛßO=õ ¤ÓiDQDQÚÚÚ8xð O>ù$n·ûc â°±±±±±¹S1M“¿ø«¿å½Ñ9¨Åsn.ì’É$ét:¯Ç,v·Rg5™L’ÉdÆ·èTU½©h› ÙlvBêY–Ç-=·B2™$›Íâõzoj…œ-4M#‘H`‚ Œ_›Ùºá©TjBÚI’ðz½SIW¬“¦i¦-üQ¤R)Òéô„-[ŸÏ÷!A¬ë:º®Ojeµ±±±±±±…]^ØÝt+ÖãñŒû;Í„ÙjçzœNç´üæ>©~N†¢(~,m‹¢ˆ×ë4¸âfH’4%_Çéàv»§$^eYžµ”/666666w;ã3fxx˜ƒ{Éf³öU±±±±±±±±¹°,‹t:õaa÷þû{9Ÿ:gWh°±±±±±±±¹ƒ€`óDa÷Øcñ@ó?äcgcccó»ˆišôõõÍÚ˜(I¡PhV]Gllll,Ëâ¯ÿ¿ÿNÏXF°«ÎKVÞQÝv6666ù@ªgžy†áááI«ßL•+ù.'Kncccs+‹Ðøh^'ìlllll& –‘H„ÒÒÒIóRN•ŠŠ ÇS3ÙØØØ|ØÂÎÆæ6@Ó4.œ=Í;¯¿HgÛ<^?+·~ŠU¶àõù§”¾Ç´LúúØþÞvvÜA*bý’õ|fÓg˜[3×Îx 8jjjfEØÍvd¹-ìllnCLÓäàÞ·9þËÿÆæà0ó—8Íö±sû¶u¶ñàç¾F¨¨hüøx¡zˤïw6ƒaZã%§J&“!—ËÝ´j‰‰™_rãÅ¡(ˆHÂÔ ËÀ´nü® Œ•djU,,L&_ÀŠÂôÚ3LcÒsD aÊmÞl-´ÚÓM}ÂßýzÛ¯ill¤yAsþúÍð¾  rþìyÖoX?þ¬‹‚h€Ÿñx¯×kÏMw›°3M§Ã£ìÝ‹±hFq1B~žÊf‡Ã1áæ[–uÇAÓ´ñz¢»ví¢»»›G}”C‡ÑÛÛËèè(===œ>}š‚‚jjj&-ë•“$R’L&‘`¤»3“Ã"_­À2M,,Ó+òæY% IDAT?0I.'%õ I˜ù9ï†ìäéÓ´µµãõº%q¬´•Éúµk) …¦õÀ›¦ÉÀà {÷íC’ıs²8rì ›0¿©qÆÛ`–¥“9ŽX„ Î^:…L.E,!è/A‘§/¢MÓÄ´Ìü¤4ƒ2oÏ?ÿ<'Ožœõ<‹×ÖÜý¨‰oÑ¢E|ýë_ÿè—G–§&ìLàôØ×ʇj.—CÁ,±´,BN7‘е܄ó¾RG÷Š¥ûŠXJeREݵâNË|èÚù|>vìØAaa!555SxÆ,úzhïè¦eñR‚¦zK-˯{<©•Ç⦢éÊ„?QrEàÜTØY"Lõ\ÆÚœLˆMöÙTÎ9•JÑ×ÛG]}ݸ•Wbš¢élY¹\§Ã9~ž²(O]ˆY|èîß¿ŸW_y•oÿûo3¿y>ЬLù¾\éÓµm…‡xî§ÏQ*`þüùH’„,Êw¥¸Ó4 QI&“ŒŽŽRZZzË>°Wž›Ùao½õ?ü°ížq· ;A×Q.]ÂÑׇrâF.‡¡i˜•• ©*ßæ²Ù,_þò—©¯¯Ÿ\nôpe2¶oßÎÙ³gill$›Í2oÞ<^|ñEü~?óçÏçäÉ“D"V®\9a{vò‡Údør'}ïÂmJH’„ ˆ %Ðu‹ªr?`¡‘ô(…Õ•àrNjU;pèááa6¬_‹ßç!§k˜¦AgW7»ÞÚ͆µë¨(/ŸšC»ir¹£ƒ² ¹™†ysAÐô#±‡#žeùÒe·œßÊÔ¤†÷¹ôªVü”Ù\c™†ÉɶC¸UK×¢:=Ópºº:ˆŒD¨¬¨"ààtºniàºpáßþö·§$@¦Ã‰'8xð _ùÊWÆÝ ®L¤Éd’üÇDUÕ™mYÀÀß¶ÚÚZöï-'¡ÅùãõÅT(4;)8Ø;ä¦tÎü l$áƒ> rüøqZZZe™-÷la_Û>²ÍÙ««”>…µµkq»&–pûÅ/~ÁÉ“'¹÷Þ{§d â’2Ž=Ê+¯¾Ê£?L(X`¢‰x‚ñ"ø­?œv¹Áq1w¸ …ùá¿ü§>ÿµskgE(ŠBgg'?úŸ?â¾õG466Ψ=]×Ù÷þ>LËäßýÿŽ ܵ÷÷Àár¹¸|ù2Á`ð–…Ýàà š¦QYY9k⮯¯Ï.Vp#NbÊ@èéA¼t !ÎÿÞÖ†“Ëf9uê?ùÉOø—ùFGGoúE©TŠË—/ÓÐÐÀéÓ§‰ÅbÔÕÕ‘Édèïï§´´”K—.!ISŸ,LÓ$›Hbe5dD$LÍäÔé^ö©›È‚ˆ"ˆÉ úMJ¦õôõ‰DX»z%e¥%ŒŒÄ8uⲤP_7—¹µÕœ=wŽt&35‹W&CûÅKÔ××Ñ<¿§Ó…ÓáÄãöR*¢eQ3#±oéE24©ÈÛ˜©·­aRáwÈŒžÄ4R3³d™ÑÑ0]í$Ò£ôwqìÂÞi÷Q× A`d$JGçe†‡Ã·ì— )))™ÕŸ‚‚œN'·Ûiš(ŠrK5ƒ³Y‡aº·±fN-Á%°£Ç…ß%ñg÷–ñps€Ã}ý…­4.]5Á2¨ë:’$±yófÒéôø=ùôÆO³&²çY'$È2 :ð¹ÖÏáqO<Ÿ¦¦&¶lÙ‚(ŠSÞæv©nTEäÅçΫoì&›ÓïÈo¶sv†1«íYXìÙ³‡Ã‡c3oWÓ4^}ùUžùçgèì윕IÛ4MJJKp8\l¿8ãó%‘ʪ¼8Ù³g©dêN®XMËd82ÁP!^¯‡ðð/¶‘L&ni Òup8ÌÈÈȬ'ÓN$Äb1‰Ä-µÝß»vÁtÿ©,ˬÙt?Å[¾ÉË£üÝ!xæœþ¹Ÿaýg¾FiÙDëpii)÷Þ{/=ök×®_éW•Wñçþ9À仉šWkx|øqþbÃ_°ªeÕ‡¶×­[Çc=ÆÃ?LIIÉ”úšNÅ9þ'Oœ`Ç»M$?öAJ@˜õí¸Ó§N3484k¢®££ƒh4:«}TU•í¯oç⥋0Ã9[JJKèàµW^#‹Í|òDúzúh»ÐÆPxhÆï£aôt÷`&©djJƒÃ2ÐMÝÔ9áüx‘……aÍLðhšÆÈȧN¢»»û¶²éºÎéÓ§yùå—éííµ•ÒÆ ·b-A¯SUÑ|³¨ëŠ%Mp¹\lܸ‘mÛ¶±oß>V¯^Ûí¾á¹Ýnª««éêꢹ¹™½{÷rôèQšššØ·oßøD­ª*###(ŠÂ¶mÛèììäÁdãÆ-ìtƒ\"‰4æm™Ž$ñy\x=2ÇNöQ^âC’Ü.7±Þ~¨½ñv^<'*d$6Âk¯½ÆÙsgI¥Rüëþ•-[¶ÐÒ²Ó´H$§6¡e²y§q¯Ç;}ûxkÏ[X¦TVVòÔçžB%’©Ô4_l‹Lì8™ðÏñú‡È&Î `à”Jš^A²¯yΟ!*SÏŸ•ɦ¹Ôs޾p'š$£%1 QEcØäÌå£,˜ÛŠ,MÅÿBÀ2 LL.'e^/ñÑ8—;.Q( ¨¨äC~š“‡ùáH&“áOþäO¦½Mu#˃®ë¨ªŠÏçË?Gc«ÕéNC_ß­õÁ°ñǸgýV´± ÕíÁ9 EV¸§å6,$•NaZ&ªSÅãöÌJµÓÐùàè!v¼± Eõ²qã>Ï9ð àñx(¥tV,#ÑŠB³×ÇG}„t*ͱ#Ǩ®ªFñÜzBË´…©[K:¦»«›Paˆ™øm¢@Cc™Lf,ëýÌPd…ªê*¢‘('Oœ$§}²‰œ­kþƒüî‹Ëáºö€[º~¹\Žh4ÊöíÛ9xð ýýýƒAn›`…'NðÜsÏQ\\L]]ÕÕÕ¶Zº„Ý8N'ÆÂ…\ï%-EEE´¶¶Ço: *ŠÂòåËÙ¶mn·› ðÖ[o±téRœN'ÑhI’E‘3gΠ( +V¬À0ŒI'oC×Ð’)c«ú´¦ÓÕa`(‚(ê\¸<ĪX %E\.©áh> bªé9TÕÅÖ­[)**âÔ©Slݺ•º¹u˜fÞkªÑ±Š¢àp(¤2),h¦¬´lü3—êÊ;ÁôÄÍÁ$Ê~,!H29€azÉ Kݸ= $3C.yWÁ=Sn5•ŽÓ?ÜIB“ÍeÀóâLIAp»¦-%€0fI͇ÝX„BA ƒ„ÃCœ;†ÊÊjBÁ©ÍˆeeeüÁü/½ôÒ¬Xì,Ë"‹ÑÓÓóB-} ©{®@}ìÏ›¼m²¢àÌÌgMEß+cØ©S§p:”——ãóùfö®ÕÕÕ455Ù‘±w¥°³ÐÝh©¨¨À0ŒI£W¯PZZʦM›xÿý÷©®®æØ±c ³téRJKK¹ï¾ûp:är9¶lÙB  ££cÒÕ‚–Îb¤³H’Œ Œ&²ˆ¢À–µóDm;ÎÒÞ¡(èÆápÏæÐ³¹~ÅÅÅ\¼ÔN2•¤¬¬]_€(Š456áóù8sö†i §té¼^/ªê¦«»‡†úzŠBÅã&–eft4AyiùMSA\Ã;_ùWH <‹ÃáEËh˜’ÃêAׇåz¶Zmf´4#©0²"""ãw“3²€$É4ÌYÄÜŠùHâÔ,@ ŠÒ¸uOÅü$# ¨.•‘XŒ\.û‰½¢( ™;wîGN\3ÔF€#À pXq‡²ÂúM[è`8®¡({ýòŠrŠKŠI¥S“f¸’,ñøSPXÀýÈffþΕ••±yËfNž<ÉðððŒÛ»â®s±ý"¥e¥wí}Å|f„/}éK,_¾EQhnn¾å{›Ëåxùå—1M“D"ÁÖ­[yâ‰'¦å«~=ÍÍÍ|êSŸ¢¯¯oÚó’Í"ìn¢êçÌ™3¥ˆNQ©««c``€îînî¿ÿ~B¡+V¬Àåráp8èíí¥¸¸˜¦¦&^}õU&]}èÙ,fNC’dsÇO]&‘ÌP\”OÅ Ë:ÇO_¦¾&@i±3“%›Nß02¶²¢‚®®.Μ;Ç¢… …X½jN—“îž^ÞÛ·ŸU+Vàõz§tܪJUE%gÎÁëóP^R†¢(ˆ¢„–ÓØð¹œFIqñ´_lAqú[°¬§H >G6~Ž@í7ÐG_B’4rE™ÞJZ–œ²ŠN†Bw9Õ%óè¸@"=Jcíb«O³Œû8‚€,É$“I"ÃÃ(Šƒ9ÕsðùüSn/óâ‹/òöÛooÇÎdà¹6±v*•"›Í"Ëòx Å­¿ÀàÿvÐxçŠâ º¦†öw÷sàÈq}` ²dü†n ª*ªªÎX$VTTpÿƒ÷ãñxPÝêŒûVZVÊç>ÿ9vïÚ$Ï|«ß²,$I¢±±‘L6s×FeÖÖÖò™Ï|†ùóçãóùxóÍ7ÀçóÝ’¸3M·ÛÍ#<¯ýkž}öÙü½¾ÿþ[=¦iÒÑÑA(²_Ä»MØÅb1Nœ8Á‰'èëëÃívãóùD’$–/_ŽË5õ²,3wî\.^¼Èš5k¨¯¯Ÿ° YZZJ8æå—_FZ[['õÊ¥Ò˜Ù’[E$–µÔ nÕ…€Å·bš7²% ¥37v·›­­:r„½{2gN5’(2<¥«»—âPˆõ+ºººÙ¼qÃMMÞ’$1¯¾Q”8°ÿ0õõµ¨ªJ&¡­ýªªÒÙÙÉô#~ï‰'¨šfȺ *¸­‚ƒLò\¥¤’{°P1¬nµvZ„WõS('‘’LŨ,™C<¥¶¢ùµKoeJA’$Ŧéôöö‘I§)+¯ÀïóO;O’×ë塇bãÆ·°}}ó…G*•¢°°§ÓI6;C«†p P ÔM>©¥3††"$SidI¢(T@AA`Zƒ³¦iÄ¢QbѦià P*š•k•ˆð?þþïxïàqJÊ*èêì"›ÓUçÇ28Y–…®ëˆ¢8EΩ-Fo–ƒnº}œÕhØñŠ?ùþe³YŠŠŠ(¾……߯ߒ’þÀŒÛ´ÞÓJ8žq{¦e280È¡ƒ‡X²tÉŒf®X¯,ËÂãñÜr>6˲H§Ó¤Si4]›ðÜÜêùŠ¢ˆÓédÏž=JÀ_@휹·¼’t¹\444|,/ƒË墬¬ §Ó9å¦ ‰$“^ãc'›€& N¾Ä×$§ƒCaþ׋oòò;ýt ™¨Nõ-*_ý½Õ,Y¼`J9®r¹{w¿ÁÁmÏ=ý>f.ƒ¿~) ú"x”`¨hF×g »“W^ÝÎæ‡>ÃÿñÿFIqÑÇãcgA&¡½½œ   €+Wä-·¨,Ë¢¯·ãǃƒÔÕÕͨ›©dŠ ç/‰FȤ3SŽ,¾º®Óq¹ƒóçÏcùòZþ€Ÿ–Å-·,"R©±‘©±à¬+AB¡i&Y¿VG",3ß–aär9JËJ§ìžqý}I&“ÄFbˆ¢Èÿ‹ˆ‚È|pËi6,Ëbtt”gŸ}–ÑÑQžzê)æÍ›7ývL‹ŽË¼òÊ+?~œ¢¢">ûÄgÇEítªl\Ë»ýû÷ãr¹hnn¦ººzFÂ8—Ëñãÿ˜Ã‡óµ¯}­[·Îx'£¤¤„ùóçÛ>vw£°›7o_øÂ8}ú4ñxEQ())aÅŠÌŸ7®_Laõêt:)))ùPµeY R^^ÎÊ•+§´½›Ž2#ˆÂx™œëF+_~ÁíDK¦ó3ð$¬$ITUURUU9áïU—‹O?ú)~óÊ6v¿µ¯ÇÃæ§$p}^/«V®¸îrY¬[»–‘XŒðâK/ñ{O<Áœi$âÍGujh¿ÄÿÏÞ{ÆÉyTyÛWç8Ó==Ó“sÐäQ°$K²å,#ɲ rÀŒí5x1˜´»ìCÚ]–ÇìÂ.ØÀC2 9ÈrPp–e+K#MÎ9wÎá~?Œº­ž¨0ÒÞº~?}ÑtwÝw…Sÿ:çT•Ü×ID±­y ¡p•,zÖƒ\!W’k-Áæ§g¤™¾áNÒ’3&oGP©Îyå+C†Ãá@£Ö’—W€Ñ`àB¶â-txF&“á÷ûú¢L&‹ Òù¼Ñƒƒðç?éS“çØ%ÌJ wþgðûý<·óM¶½%Ç£Ù„®ÈŒ$…x»»ÈÓ‡x$9‰²Ò¢xŸv»ÝÔ××322BEEeeeÈår:ÛZØ·õ?)vžbyJ… Æl‡hÝ>ŠÑ`àê · oOU8fç ;yù¥—q»ÜPYYy¾®/ˆÂñcÇyüÇsòäIT*Ÿyè3ȳwñ´dllŒ§Ÿzš£GŽ’œœLmm-ƒòòr´ºs?(<°ÿýì|a'~¿VÇæo&==ƒÁ€L.;çvéììdÇs;8qü¹¹¹,[¾Œ•+WòôSO#¿€(bbb»Ýžp}ß¹àr¹øÝÖß±íOÛ°Ùl”–•rÇmw$ˆÜH$‚Jun=d²Én»í6òóóÉÎΦººú¼T(bß¾}x½^þþïÿž«¯¾ú‚C÷wÞy' ‰»¿Ea—ŸŸÏ½÷Þ‹ÛíŽßõ¨Óé0ƒhOžDvæyH*ò’˜g%,—ËIMM¥¹¹yƦÁ`8ëS¸ÕZ5z«eR´ÉNŸw%Kôê)à”: 2¹|Ò³rãH¥R±tÉb”*%Ù¾·ßy‡Úêšsö\¾_2²23¹å曉F#:|„†ÆÆsv¡PŸ×‡7˜DÔ¿yòMÈ"Ô¡ài16ÿàŒñ¡”«)ʬž\åG%üþ*…¹\~úfÙY°ŒÌLRSSÑéôtäFAAr¹üÂãSÈÍÍeÆ 3z† ûØÇær32{öÀÁƒœ ×^ çjŸÛÚ:xõˆŸîZ§¦‘¡D2Vr¬ÏÁ;›)*Ì‹ ‡ÃA(B’$^~ùerss1 ¼ºãiòlõä"ñ®®‰ ù»8úòŸY~Õõ˜Ì) ×¶mÛÐjµTTTÌ;æ,™9¬\±”Çñæ¾*Ö®¹³)yÁ’Ûåæ­7ßbñ’ŬZµŠ]»v1>1~Þ!ÏH8ÂÁñz½ÜsÏ=Œ348„F{þ!dÇà ;^ «³ …BAeU%ÉP‘p„7^{ƒ½{öHMM¥¼¼üü,Èxvû³üè¿„Ãá ɘĚÕkP*”“Œçóƒô÷öóßùš'£7ë7¬G­VcÊ9¿°®ßçç¿ÿOþîIœN'¹¹¹Üpã “aÉÒtÚó'±¨ËwÜA8>ï£:‚¡ }}}Øívär9ùùùdegÅcÄn·sýõן“ý/,,dË–-”••a2™èíí½ «»’’’X¼x1+W®$;;{AŽ6Z»v-‘HdAÎ;|À„],±\£ÑLóžÉm6¤H$ñèH„èYzTf»›Ól6311A8ž§­LFÑåËÉ­«IBÆäÑ“ºÓ3ïia7<2f9Ò¹_“j5Kêê08RS-Ô2™Œt«•Û¶ÜJMu Eç(OÀ¬ÕM»–HÊå(Tf4Ês<6 v©)ÉÄ’ò5 Ih5:”*õy ­F çqØ™èõzî¾ûn,Ë‚Ÿ‚n0æ í¦¥¥ÍZ¦L‹ÁW¿ mm`±ÀÚµp® ÜÁ¡AF=&P%Q"“+pERèîïˆ{`2õðáïàâœ3¦ÓëXµzÍÍÍÔŸ¨'77—«®¾*ndç¸"“+äTTV`³ÛøùÏŽJ¥bÝëÈÉÉ9?¯1Z–å+–ãõx),.dÃM0™Mœç"“˨[\Gyy9ÁP›n¾‰ªêªóΔðz½ø}~”J%µuµ\±öŠóÏ-” ár¹ˆF£¤YÓøðG>ŒN§;oN4ÅãñP«Õ¬X¹‚å+–ãr¹Ðétç_Ÿ§mtl\Ÿïó¥˜Sxàï -u2Ç1 ²wÏ^222âì_wÝuç,Êt:éééhµÚsööÍDYYYª_ÆÊ+¯&5ÍÏ?=•JuÖ•@ „@ 8 r9ùy9|ê·]@L6™X{Ý:Ö^·NTêB´‹BR©\#DŠƒ@ ¸¤Â.¶CI„K`2—±ººšòòò ¾T&½£N§“È  Èä¦Biº°Û»wûÆŽž÷^qs~ IDATaŽ@ð·„$IZZZÔÿ­Þ*þ÷hhê„ÜÂDa×ÔÜŒ¼ÿ„0:@ ‘òòr>ó™Ï,ØïMxÂË` ‡Ã—Ü]€³Ìs)#‰ —Ë/êóÄV“—r ÅÂ' …⢮`e2Ù_‘$é¢÷õ³-ãR´OlŒ_êIèb©KUwsçsñżJcœÄB¤g+lbÏq¶m«ë‚‚-Z4ç÷¢Ñhü]/&Á`¿ßÁ`¸¤}```€úúzêêêP©Tg5Ö£Ñèÿš}ÂîoPØýN8€Ü”ËÒšE¨òÃët:9qâ—_~9Z­ö’<“Ï磣£NGQQÑE16›ÞÞ^233±Z­ó¢#GRV^9ÉxÑÞ»­½•VKa^—JB;Z::X¾lÙEÛÔÒÒ‚.ÙDaNöz,D"†††¤®®µZ}Q&›ÞÞ^¼^/ÕÕÕóÕááa†ÆÇ©«®¾híã÷û9tä«V¯Ay -M--$›Íäfe]”þîõzihn¦¦¦ÝEhËù„òÉ“'éìì<ëï( ***(--]ÐÉ6 qâĉs “* jjj(..>'aªP("F0¥YÑ m+IÇÇëõ’ššJrr2&“iAÖ¡PˆžžÞxã Nž<ÉÃ?|Nï±BI.—£PÈq9LL8HMKÇd2ÌøùññqÐëõ˜ÍfÌf3III¨T*‘û&„Ýy­i9µo7ÿþï? d.ãëßük—Å¢×ëåõ×_çÕW_£®®î¢ ;I’´··óâ‹/²wï^Ö®]˾ð •áõz9zô(Ï<ó ÜsÏ=Üzë­sNâ‘H„ç^ÚÃê –kj.Ê$$Iï:†=¢æþ;²Ñ«/Í s||œ_oÛInq%ÙfÝE)ãБ£Œ„“øÜÝ™ ‡’ åwÞá…^ ··—_üâ.èäÚ××Çž={x饗HKKã;ßùV«uÎïõ÷÷ó»oóÍÂ2,†‹#N|>¿êyRò«¨Ê5_²EÅÛû 3øÔ– 4Ê…ïn·›?<ó ÷š³X\œuiÌÁ Ï<ó Û·oŸ&ÒjµzÚ¤-—˹ÿþû)**ZPaçõzÙºu+¯¿þú4› g|…BÁ¿øÅóDŸŸûQ¶l1ÅåÆicí¿þë¿hii!55«ÕJNNyyydgg“——GNNIII(•JT*ÕY{ÛÂá0ccc<ÿüóìÚµ‹–– wÝu×%vgT0N·‡¶S ØSm,»bÙŒ;zô(ßýîw …BX,rrrÈÎÎ&''‡ÜÜ\òóóIOOG­V£R©„àÂnžàâå×Þ¢hùµ ~“çv½HmÍC¤¨äñÒÕÑÆð@ ¬Y³æ¢ýH$Bcc#/¾ø";wîdllŒÂÂB‚Áà‚¹Ð½^/ÇŽã¹çžc×®]Èd2 Ï:üäî¢åÝ—XR^@NjÒEi€c”ÆÇé_»‚²‚KãÝŠF£8›ßæÝkùðº«g Ç_Ð{yÝôÝMã•ËX\’óÁYÖHv»}ûöñûßÿžúúz¬V+J¥rÁú$Iôõõñâ‹/òüóÏÓÙÙI~~>¡Pè¬Ê‡ÃØêwqàØ•¬¿â²‹TQÆ»NÑtðUrS6b2\Ï|À1JÇñƒô_±Œâœô‹Ò·½ÝÇØ÷æ«TÜ…ò.*¢Ñ(f³™‡~˜‚‚‚Á÷ì³Ï²qãFŒFcÂç0 ž&I™™™|ùË_&=ýýzöûýìØ±ƒ7N[<744œ·¸”«„S3ñ+L3Îééé”––âv»éîîfß¾}ØívZ­–””òòò())¡¨¨ˆÒÒRÊÊʰZ­3>S4epp½{÷òÜsÏqòäIÊËËy衇p8 õ|¶ó‘Çã!99ù‚ë^# ŠF0åäÎ.&”J/^ŒÅb¡¯¯¶¶6:„Ëå"’””Dzz:ñº(,,¤´´½^/Ô˜v‰L´¶£6óù~”Cuñôè£þ0)*5 ÑÓÙ«»^âÄ©&ž}q«/@ØÍ–g0<<̶mÛøÓŸþÄèè(kÖ¬á«_ý*f³™C‡SÞÏle´µµñØcñÚk¯‡Ù´i[¶lahhƒÁ0¯‹F#(!zZëélé"guíE™\Š0=­õtµ´_"a'„Ñjü¼¶ã6_·¹R±àï…ÆïîçÐ[‡.¹°›-2 òÖ[o±uëVöïßOVV>ø ëÖ­cûöíçäž­ ‡ÃÁÎ;yòÉ'ijj¢¦¦†¯ýë\vÙe<ùä“ó—!ID£a´j{wì¾hÂ.‰ ¹i­?Ê’%«0e_‚v‰¢‡éi=AgsÇEv †¯¿ð÷~ô6”:Í%í{&“‰•+WR]]à}óÍ7©¯¯OhÿØ`!ÄÄTd2ééé\}õÕäçç',vwíÚE}}=MbÝôõõ‘ššz^å4 yèZS½¥œ‹5! ¸¸˜õëד››K(b||œcÇŽñꫯb±X¡££ƒ£GâõzIJJâ+_ù wÞyç´ÈŠÏçcûöílÛ¶†† ø·û7®¸â ’’’xöÙgÏY NLL°gÏîºë® ª÷±þnžyöYŒ…Õø#cŒ¹µ¤“§Í¡ƒ•+W²yófd2‡‘‘^~ùe:;;1›ÍtttP__Ïž={…B,^¼˜ï~÷» }ëÌ:±Ûí³.b!ß…²¥BØ}Àè÷QS^HžÕÈkÞ(YÖdÌE|ÒïÅ%éHÍ+å³÷‰óÎñ‘$‰ööv¬V+&“)áÿ;::xúé§©©©áöÛogÅŠ˜L&šššÎ©ùý~†‡‡±Z­ÓV1o¿ý6o¿ý67Ýt[¶l¡ººµZÍ«¯¾zVÐ`wAtd—¯ábì©’$‰ñ¡>ìN/éekQh —¤ýý7=-˜ V¢Ôp1ܱ¶‘AF†‡É[²”ªK¿x™˜Àãñ———Пü~?{÷£ƒ‡zˆÛo¿ŒŒ d2*Õ¹=goo/†ŒŒŒi‹–íÛ·£V«yôÑGY»v-iii¸Ýl¼.½md”_GXžvQê'ôÓÝÞ„*)›Ôâ•—FlG£Œ õápùɬ¸¹záW(à§¿» uJ Éj3ð¿sÇÔM2™ ·ÛÍ;3ౕ$ ¿ßOiiéE}Ž©Ï211Á±cǦyý~?‹/>¯²²«/çòå¨UJ*õ´y#6Æt::Žääd$I¢¾¾žœœœ¸(S*•LLL°ÿþY7ïõ÷÷óøãcµZùÖ·¾Åõ×_Off&r¹¯×{~žä@€þþþ ®ssFwß÷iäJ%*•…R5«‰•Ëåh4”J%z½«ÕJww7,_¾œn¸ƒÁ@(¢¥¥…†††YçÇ矞oûÛ3nÜ‘$‰uëÖñ£ýèÜ…êØ^¯—üüü¿Yq÷W#ì"‘v»Ã‡“•••°2;ÙÕK àøÁ7yñT?‹7^ÏDg;vÙ¤°Óé“YRUF[KG¼C <¯¹?²}ûv–,Y2ÍpŒŒ°dÉî¼óNÒÒÒadd„®®.FFFhmm% Ñhæ ]sàÀ–-[6m‚õx<Üpà Ü~ûí z{{‰D"ôõõ!“Éhnn&‰Ì˜ÏF8~¬—'ŒÚ`ÆîõÒÒÒ²Àž…(] Žx0¦XqB V†ßïG©TÎèù£©c„ ?LjYm­mÈå 9`%:Úº󒛬!ªÑ/Ø{E£Q‚Áà¼98§Nbppë®».ALùý~t:wÜq×^{-^¯—ÎÎN"‘ccc´··3<< 0oNËîÝ»1›Í¬X±bÚ¤SPPÀÕW_MEEv»»ÝŽÛíf||œÖÖÖx¢õLbrdh˜Öîq‚Á(¦Âœïw·›ã½„£rTúdFFˆ„Üü»áp˜p8ŒZ­ž&b#‘]]½ y0Xòqú‚ þnn—‹ú¦^ܮ֢R:::Q«Æ{·¹<®^¯—ááaºººÚ6 T*¹ï¾û Ñh”¶¶6"‘­­­g½¸ðù|¨Õê9Ç€ËåbhhˆŽŽü~ÂwÍf37ÜpôÅpKK n·û¬Û%ÒßßO0œÓ«‰D¡³³3þY€žžÞ{ï=1X­V233ÉÊÊ"ÆÇËT;688HUU›6m¢¢¢·ÛM[[[üý†††âãz¶þ8•¡¡!FGGϹOJ’„Ïçcdd„¾¾>šš[Î*?¼§§‡ÁÁAZZZÞ¯½½íÛ·óÔSO‘’’‚Õj%++‹´´´¸øœÉ®÷ôôŸŸONÎôèH(bxx8þn‘H„P(„F£™W¬=z”‘‘Ö­[7gŽF ‡ÃdddP^^þW#ÿ*„],‡¨££ƒïÿû|ík_KH—)ŒÚÇùã/_ÄeªàC×^ŽV£Ž}™€kœã‡ß£¡¹¼âJª«+ym׋¼}à$Y‹–rû–›±&ÏŸp‰DâGLu¥k4 IOOO褱 [­VsðàAêêêæt+•J$IŠgª«»¸¸8áÆH$‚R©ŒO¬§N¢´´‹Å’ LF;yåÅ N8ùDEÙYVÔ œèí± òÖ®ç8Ñ>Æí·ÝBEÑ•qâÄ ²³³ÉÎN ¯…Úë÷ó꫇ÉÊJãæµ‹Ðh,äøóNô³ÿõ—9z¢™5W¬¤nq>jõ¼—Ó餽½âââ/ðLžŠh4:Í G£Q’““ÉÏÏOØ‘‰Dâ}hxx˜P(DYYÙœg,`¦¾K€>óo*•*>Z[[1™L yXAŸ“Æ#oòÖ[GX¹¢ŽW.B­^ø0yÓ^zi’bemj… åˆ{‡ÃAww7•••Óc´7w=GCS?ŸúÔå Úߢ‘mÇxu÷ë Tò±«Ë1èµ 6¹Œ100ÀòåËg÷žÎ¡T©T mF1¬\¹2!ìë£ãããñ$ù³áСC,Z´ˆ´´Ù=º*•*¾áÌg‰D"˜ÍæiÏûÎØØØYï ÙÓX²9ŽÎšéYÔj5K—.å–[n‰GrÚÛÛyóÍ7ñûýÜÿýñg¢Õjã¹xSûYì™Ôj5‡ƒªªªæ}§3çžsÁçóqäÈÆÇÇ9|ø0×\s 555ó~/Ö>jµ:aLJJbË–-TTT0<Ó3fffrÓM7qÍ5×Ì(òŸ|òÉø÷†‡‡éëëcñâÅó¦=ÍfK§òÄOàõzQ©TTWWÏ{üvç(ê&&&p»ÝñÕj}‘$¬ÖTþðäOthøþc²jYùûÉóR”ãõÇ *’È*\Ä?üã—p÷uq¼ÉÁ÷ÝÅ|ÿÇdçVðÈý7ŸÕ ·X,dggO›ÀÃÃÃäçç' Z¯×‹Åb!???îm<3ñw*†´´4rssÉËËKø›Õj% &”‡iooG&“‘››K{{{|…ø~È(Àóø%Ï=ÿ ¥UK(+. +#‰á>ŽÕ7U¨®©%Ëj¾€Mû;ŽñË_mÅœ]HqÁç(Êͤ­©ž®þ1Ìé¹ÔVW`ÔßŽÈÆÆÆÄv?]æ@O+¯ìÚÃ+/¾ÉßîóÔ,*"äóÐÝÕF[׿ô\ª+ËI6hγÿ…yõä{üeû3 Øä}‹Ê’|<ŽqNžj`¢hQ9¥…¹¨Î#©}llŒááa²²²æÜY:44„ßï§   Áù|>ÒÒÒÈÌ̤   nxÂá0f³™ÜÜÉdç`0H~~þœFÏjµ’––6­oËd2RSSÉÍÍMxF‡ÃÙl&//ÁÁARSS§µO{ó1žßñ"o¼sœu뮡vQ¯“ζV:ûG°fQUQŠA{þáípÐÉìx‰;v³é–[©(ÎÇeáø‰S¸ƒ2Ê*«)ÊÍ@qBO.—3::JNNÎ4áýzã{üòW¿Á”Y@qAeEØFhiiÅæ SZYKñy– àqMðÓ7Þà¹çþÂÆÍ[¨YT„V¥` ·“Öön uuµX’ôçµ …B8Žiíà1t»IMMfób^²¼¼¼„…j$¡··¹\N~~þ´ ;ô3ØÛIK{72­™ÚºÒLFŽ;Fzzú4›7ÕÆ¦¦¦’“““ð,^¯—””òóó§µQoo/2™lÆw”¤(ΉQZš›±{)®¨¥8/‡îîîøûÎ%ìRRR¦=K4¥¤¤„o¼‘ŒŒŒ¸')óÚk¯ÅÏÈ›*ìT*©©©äååM»=ÁãñššJVVjµ§Óßq; …‚”””9Ûw¶6‰3¯×;ã‚m&FFFâ!Î3ß/;;›¤¤$6oÞ¯»P(ÄÐÐ{öì!77wÆßommÅl6SUU5c_˜ún6›¼¼¼y…lOO¡Phš-ŠÍfÃívc4q8ü5qÑ…]CCÃŒ 3ƒƒƒÈåòx2Ç7(•ʸ 66€^'MG÷ÑÔæàæ{?G±ÕÀàÀÀ™£—ôŒ,®\µœŽöV<;’FÚ5Ë0“Ë8ÇúÎ*!™öù‘‘l6ýýý zxx»ÝN?  …f-ctt”‰‰ †††¦uºññqB¡PBÙ±›L&c``€±±1ò$)ŒÅ’BeU5µ«¯ÇnwÐÛxˆ_þâ—ì~û0’ÚÈGþî+K,ô:UTÚl¶iÏèr¹p¹\ñ~'IR¢7Z’p»¼²<šŒ5§˜¶æS¼þâ_xòÏÏÒÒ3BnÕJ¾øÿÌUÕ9„CA¶ <¾}‹ù¬Är$ì#??—Úº¥T]v%Çß{ƒm¿ÿ-yé ¬FA¿‰ ¡$›Í$'æ]Dýn222Xºl‹W348HÓ¡×ùíoÏÁSm¨MÜû¥åî–"—Eq;í8œnä*-K ZµzNÁ7<<ÌØØØœ¶Ïãñ`³ÙNh[¿ß÷y<žiö(VggÚÂh$Dã¡7ùÕ¯žà½­(“Ò¹ûóÿ‡{Ö_ÎøøøŒ6oªw;ö,göcŸÏ–©m4::ÊøøøŒï86Ô˳OþЧv¾Ê„ËÏeënç¾øYÆÆÆP(sžI‡q8 Íh‡gLúÍS…Ý™cljN×ë¿·Z­ŽÛ §Ó9o(ÖápœsžÇãabb»ÝN0dttô¬~#6w $´ÏØØ‡„ˆA(ŠÏç‰výýùÎï÷ÏX¶ÓéÄårÅÿ644÷@Ïç%žÍ–Îä¹ôûý“gþ•Ý|Q…$I<úè£|ãß ??—ËÅèè(yyyJ¥›ÍF~~>ÉÉÉüú׿¦¶¶6®î½^/½½½ÔÔÔ “ɈD"¸ÝîÓ Zâȫϱuëï©K¸~Y‹ÀÔU7`J6RYYI @§ÕS±(‡÷ö½Éò+®eÍeÅg¥È£Ñ(~¿ÿŒòW9>Ÿ§Ó™Ð©Ýn7~¿§Ó‰×ëÅårÍÙñ\.>Ÿ—Ë5­ ¯×_eŸùL^¯™L†Ë劗1Õ_»êz¾_·•F‡×6¶ßüš§vìÂå b4§#EüxÜz{N²õ‰­iì Œšë?úi>¹ùj’´ó‡ÏR2Šùö£?@¦Tìoäñÿ”Cõ­ “£K÷ ùä½×_âég_¢³sÎ">ñàç¸~éÜ+B¯×;c½K -·Þó 7ßA«×Ótò?üÁ9Ñ9Œ$ÉЧ{ˆ„¼8l£{{?{bÃN’Ò øäÃÿȺ%yó¾—5oÿô¹µBâµçŸã׿ý#=c.”=á Ÿ€ÏÍèàOþâgìÝ·?DÙÊùÒg Û¬ž³½cm6—èòx<O‚¡D"øý~\.‡`0ˆÓéœ3ëõzÑh4³öí©ÏëÛ±2fú®RgâŸ~„»":Žãßã±=ΩÞq$™œÔB/‘ûøo½ü ¿ùÓÆ,ù•|úó_fÕ¢³ÛeºñŽ{¹î–0 ¢ì~f+¿ûÓvl4ºdÂ!?~¯›‰A~ý“Ÿ²ÿXÞÄâënã ÷ßÅ œ³}<.—kšqOÏ]Ä·ýr¥NÅoüS~úä³øƒa”j=ÑHŸÇAW/Ï=ý¯¼y_Hbɵá3Ÿ¼ƒ,óü^äë7}”+nÜ‚Z«cbt˜Ÿüàûì=ÖA8"‘†"~œö1ºNàg¿ú­Ýƒh’­Üòɇ¹ýÚ%¨²yûÞ\¶ÏëõÎhó@—Ë5ÍFz<žm¡Ïi㩟?Æ3{ŽDIÍÖBÄÛõ¾mœëYÎì‡g~Îï÷ÇûáÔ6Š=ËL¿»uëV~ù«ßãòË•„BA‚>w¼½çN±{T§>Ë™ö{êÝØžZ/±ïÅæ‰©øý~|>n·•Jëápxξãr¹âóìÙ†¡e2Y¼<¿ß?2ål~ãÌ9ðL;ãõzãï}¦ír:ñ÷šé÷=ϬÏïv»þëË3Õíl¶ÔétÎé°ˆyZç«çÿ_ »¾¾>öîÝKUUÝÝÝ„Ãaº»»q¹\ìÞ½›eË–a·Û©¬¬äšk®!''gšW```€•+WÆsJKK©ªª"ç‡_Û<5E™VòÊ ¨./™¾ò III!))iÒñ±wÇŽ4õR^V„>l£ºzýYuü¬¬,JJJ¦mÏŽD"¸\.ªªªP©T<6N;AÿÀ) UUU455Q^^>g(vxx˜žž-Z4-,ÑÝÝM0œ,[’ìàб&œn/U•TVV244DyyyB(vÚ€·‘WRFeyµ™Õ×oä3wßFyž•_?ýc^Øý:O¹JÃU -å•U¤èÏ­«8³“1¥g±¤N‡)£€Û﹟[?´–À@+ï½üo½{‚@(‚U2`ÊÌ™q»ûÔJiié¼»í4²Ù¹ùHºT’3 ¹ó“rûÆë5óÊÎx÷ðq¢’„É ¦Ì|ª««Îé½BÁ½M•””•‘œ¥jùUÜ÷Àý\µ²†úŸà/;^¦gØŽ„ S¹‡¢òJJÓ´sz"}>sæ¹Ýnd2Ù´[ü~?MMMQUU‰×1NéÆ=QdJ-ååå ‚Á UUUs½“'ObµZ§µErr2ýýý”——cµZ û]4:Eoo?:ýä‚Éét’žž>g;J’DØc'¯°’2È(ªäcŸú4·\޶¼°cÕ#n¹ k~1ÕÕçF ú=ô4¦´´”´’%k®çÁ?ŪºEìûÝKlß¹›q§I&§àŠ0¥Ud%ϾÐJNN& RQQ1g$€ÁœÆŠ¥u¸‚2*/[Ëg~ee™<ÿû½¼ðÒ+´ôŽ"I2Š×„­¬ IDAT)ZTA‰õÜÎî²OŒ“‘[H•O‰ÖœÉ†[ïæS·m@ïaÛ{ycß¼z³ur*•UUs˜K4Ÿ©Í¤h„þÎ&ÚZz …"”––N;î$==ŠŠ Ìf3R4Â@g'›{qz‚¤gdÅma|‚wÙɯ¨¦¨}“5‡õ[>Î}ÝL¾ÕDwgûŒ6 òÓÑÚHCOÈU”••M Åfdd$´QÐ=ÎÁCG%;+sÆwÔ’X¹l1cîùåKøÂ—áŠ%e¼p=cNUÀ뤵ñ=ƒ64ú$-Z”ï­×ë`Ñ¢EÓl°ÝnÇh4N«€””Z[[©¨¨ˆ‡bƒ~7- õôõ‘©)--‡+++ç=×Îd2qäÈ‘ymkll>óÌ3ddd°xñbš››Q«Õñ[“fû )f¤¿›“mØÝÒ32§Ù™˜'uªí²Ùl´µµQVVFIIÉŒÑ;¿ß?cÙ‡#ÁVF¢Ñ(•••ó†b'&&P*•TUUÍé±KNNF.—c4ÿêvÏ^TaËm°Z­>|ÇÃ7ÞÈ»ï¾K(býúõôôôPUUEWW6›-~ŒB,‘Ûëõ2::±ëÁlã£ìêgì=ÞÇ}_ú*޾vÕ7aVÉÑëõhÔ‰;ÓÒÒÉd8ÚêùÝž§¾½‡SõGѨ>Jå*ÛYyìb«1›Í6ãÊÞn›À6ÐÆÏ~ü#žÝ½§?ÌÊÝÆu]#“·ÛçôØÙíöø*zêÀy^&Ɔ9¹ïeþå{ÿCCG? ½™O~öË,ª¨Œ¯®æÚéæóHÎ)ã«__Eñ¢JLf3I-¶‰ Ntô¡ÔèI7˜)©]î$pa ¼o"‘0’ …rÖݧ!• Sv1¿ùÞ#¨´zRRÌð2j³1îõcHJ&ÍÂÍw~‚•%iSêS:½Q%ŠB¡D¡ãv»ã¡˜¹ð‡%®úÐ-¬^s©é™X,a? ­Ý´ L––†Bm`ðºÔœð{R4J8™¥B9c+‰ 4gp×½R·dk:¦$#§ƒ­Ýø£rÒ¬é¤drÿ=Ã$óa³ùÎø~˜hTB.W PÈq8¸Ýnìvû¼;ca±©ÂÎãñàv»i?yÿû¯ß`×»' D Ù’Á§¼/¾r·ÙlózµZí´:v8ñ~å³ òä/ÂÖí/3îô‘_½œw›ñ¸Ý3~wZK®âú›ogùŠ•X3s°XÌDüNµvÓ7î&ÍjE£7qÛ'î§&S;¥}"„#d2Åéc#fjŸ0Ê”>ùé‡Y¼d)©V’“ 8í6š{ˆÈ•¤¥§“YPͧnߌ*ìæý"$"áQIB®P '¶Ï|÷¥jMé|ó_¿ƒ53£ÉŒ)ÉÈèÈ(ïhÔH³¦“]\ËG7¯'IîÇT§ËD'7M)f ?»=^*/¿–Ûﯡ ¸”K*:Y˜®¾AšºGH6™IVhYµn Z^†ÇåÀ{FJA8d(” ä2N§·Û=­Í¢áïìü#ÿòŸ?£wĆÎZHfí•ddfÅóc^2»ÝN4ägÿKÛøæ£?¥Ôj=<øi&l6ÔSvÒæÔ^ÁWëÖ²|å*,iiè•Qì§s™fß>Ç(Ïÿé ~ñûíô O`)¨¤|å5 ›$|>_ü̳h$ÌP{=?úáÙùÆA<Á7Üõ—­!#iʆ‘oüÛw0[¬èŒÉXÌ&Ü{Ü g³ÙæÏÄ ¿yü?yâ/»qù‚d—Õ±úš¿ÃáˆÛï©6ØårÅûÒÔqèp8<‹‘€‹ÇÿýŸùÝ oâòѤd²æŠ5¤&ëã¿1[JO49ÇçóÍ;&ÏtÄrÏb^¶˜Ãb¦ßˆ„‚zmÿóØÏ8ÞÚKT©çÖ»ïåC6TªDÏ~¬Ÿi»bu5›]Efú[Ì3û›ÃáÀårÍ;¿ÎeKgòØÅþ‰PìÔU‘N7©©©466R^^ΡC‡˜˜˜@¯×311O¦¬¯¯'%%¯×‹Á`Àçó1>>w‡úý~:;;q ¶óã­&sÑJJ²ÒxíÕí<óÌ ¼žFIÕRÖ]-%y3 …š¿ÿÊW ùœ´¶´³¨º–æææ³vÃÃÃtvvNë]]] ÑXŒ}/ü‘?üeÃZ½ ­JÅ@W;´··Çs™f[M ÒÑÑ1-_¤¯¯oò¾Ä}{xì~ÄÛŽBfar)BgGýýý ìvûìâÇïghxÞ€ÏãÂçq1tZ´$å/æ‘Ï­ ·°”œüŒ­Íޏðél:Ʊú&¾¥µ—qù’JÔ3„{Âá0.—ŸßÏïÇiŸ8-\ÝT]±‰5›RÈ+.'7' Çp/ŽáÓP$ÌØ`‡¥ÔAvQW¬¹œ¾¾¾¸÷u.úûûqº=øü~\.ÇäÀïã†õ›(.]„.ÉBvV:öÁ샧±×ɉ£‡9ÙÒ‰Úhá²Uk(ÉMgê«E"úúðx¼~Ɔ;ýìvY ÷Ü}•5‹±dd“nI¢½õý~eìæÝšp‘ž_ÆêËW ˆøéííE«Õ2666§Ñ¤¹¹yZ(vpp…BAý³/ðË¿ìžôÆè’Y~Ý2úè;íéÕëõsŠÇ¼^ï´±0<<ÌÐÐm-Íô{ƒ_mýíÃ.J5cƒ½ŒõöƽŠsÑÕÕÓíÁà°á°M¾sß„uë7QU³ƒ9¬ +#½ŒÄÞÓmãð÷héÀ`ÉdŪUägXÏÐ>ýƒ§ÏSó12ÔÏÈÐi\Ì=wßÍâe+IÏÎ!5YA[Ëûï:ÜÕÌ#ÇsøÈ)©bõÊ¥xôõõa±Xæ=òatl ‡ÛƒÑçÅçó2:499M¾ôÅ/bNË"=;‹ÉHGkËé¼³0cÝ>rŒ1'¹¥U¬¾ü2’µÊâv‡Ÿ?€ÇåÄãržn·Ê¯àÆ[î@oJ%;; ŽÝéA£3âóù˜&Ò××CžÙŸ[^û3ýúO ;|ÈäJªV¥ãtLÐÜLCCCC´··O³Á===ØíöøaS=÷CCC´¶¶’””ÄØ¡çù¿¿| _ „R¥eqõå8].cCôõõ‘’’2íhIŠâæäÉ“ô ŒàôÑiUg5·¬^½˜Ü´088ˆÍfÃï÷ÓÓÓ3mC€×6Ì?~”—÷µ22òËHI±ÐÖ–xÜToo/>Ÿošír¹\ñ¹.Ì¥ ƒ3>¿Çãa||<þ·¡¡!úûû§µ2[ôgxxxÚóÌ–ªshaw†Çý,F£‘@ €Á`Àív“““Caaaüš‘`0ˆ$IF6mÚ„ÑhŒ«î˜*U°^¯§¼|‰aFÆ<Üöð§ÈKq!%iÈÌJãò¥Uì{ë T©9\¹ö 2̆Y\È!¾º×÷¾Â¦Ü:§[;èuÒÖÒDKg?Dqiuµ‰Û¿ >Ÿº%KQl4÷Ó2`§zÅU|â“÷°´<ûP7UUUÓw?JQœÃ?~‚îþq4údÊ+*ÈËÍæš…B,]¹‚M›ZqDõDµfnØt+w|d#½ ‡mœªª*233çðØùèé顼¼<Á͉D8uê•••\vÙôÛ†;òÝ­¿áà©v|¡(u6-·n¹•L“jFa—ššJ]]Ý46<<Š+f¸ÃT¢£ùxñ^Øý6ã/Å‹¯dÕ†»(*£¤¤dÞ»“’’¡ºº:áÈ—ØYq·Þzë á{Ÿÿ#¿ùíoiíDkÊ@W°œ 7Ô`ÐL?»,–ÏS[[›àöínå‡&Á‰nþó·ÏóûgvãòȬº’•×m¦.OO8¦ººzÚ ù’e|¨—S Mô aIK§¶®.a²Œ-tŠ‹‹1¤oææ;>‰êåkùÔ§î¡¶$ZM  ®®nÚ„øèéh¡±­»ÓKmÝ’imÖ××Çèè(UÕÕä›UÜÔÚÅ¡–rJjøä²ö² Þ‘û±Z­TVVÎ*×hðx*++úµÓ餧§‡ÚÚÚi!%I’èn=Ο^z–çw½Å„ÓGÙŠXuã­Ô•[fô`œ:uŠŠŠŠ„ЕÉdbllŒ[n¹eÚNÉpÈÇÁ×_`ÛŸäÀ‰Ð$á7²îÆõXL“‡çNmo–‰Í77"`HÍeÓ­wrËúkHÑ«ìáTc36o…ZOMM ÚP.ÞÜDÔð.zK›n½“o¸‹1Ñc;³l&»ÐÓÓCeeå”3Ë$2Œ nÚxýÑ6Òò˹ícŸàCW-G¯Rð8ij8Aw× ’LAyef½Š°}¶a'=ã~¯º–OÜó1ªK²§0üÆoPYYß9[¼;N²²²(++Kø|ªdçæúNNu’UTÉg~„UµÅ(d>ç'ާ§§™RCyE%ÙY™DÃA†úº8ÕÔÂȘ¼¼\jjjQ©”HR”‰á>šèéÁœBuu5f³—!È­7 }ÐFAÅRî¼ç\»¢š¾žnT*µµµÓÎÑ^žzíÚû=dfeзw/Eë><­®gãí·ß&%%…šš:;;ã/—””Ìø·õ›>̘b?Qu¶|Œ~dÖdR$LwÛ)N5w3ápSŸK]]r™ ¿ÛNÃÉzººúˆÊU”-*§´dÒ®}n:ZiíÀíPT/; Ð×ÕJCs'>I)Åÿ[JJ r¹œÚÚÚ=vR4ÌÈ` Í b²X'Ÿgag2™P(ƽóøoÂc7›¡Ÿ:hbL=*•Љ‰‰øJN&“¡Õh°Iaœòn[[ާÿ7ßõ1|¯àž/Bb´·ƒÝû»hêìC«ÕÎzW×9ÊKù ÿï‰mtô¡JNgù aõ”Ïk4Ôj5†ä–_·™üšËqzƒ¤Z3±¤$£”Ëâ9 eIúÛOðøÿüϾò_˜êåW±áæO{¦XNŒ)³€Ûøÿ"õmÂQŒE”g’œl@3Åe‡Ñh4ƒAt:]B‚´F£!ÎøŒ½ïԳ㥽ô¢PjÈÈH§ Û‚V;ù½™Úl¨ó(ßýú7xí`v——Ën~€OÞ«A¯{ßpÅΑÓh4Ô­»ƒÇª¯Ä”H±¦“jNF!—ÅûN§K:á}/þ…>þ ý£ ÌÅK¸e–6Óé d¯¸šÿSX‰ÍéÁhN%ÚŠJ1yÚü|í#IR¼æjŸ©Œwžbçó/ÒÜÙC$ éÅI”¥“dÔO;«.Ö>’4¹YãL#¯Ñh¦õù¸ÇèÕ÷ع{ƒNT=¹9de˜PùgoŸ©¨Tªiu …âý]§Ó%ô½p8DÉ“<»ãúÆ\È•ZÒ33)ÊM™±¬ØáãSËÐjµ³Ž{çˆ}{öòî¡ãؽAR2Ìe“f12êÑÎXúürþî‹_cÓÇÇQéŒdd¤£×ªém|—oëßxóH#þ°Œôì4Z-)™åÜ÷È?³á®qT:éèµÓwäÆÎT›©ÌÙúOAå2ùÆ÷ø¸Í‰.)…ôô4´*‘ ƒm[ãGO<Í˜ÝÆZÌãQ®ÉNe͆Û)Yvž`„TkSÒŒGÎÌT—‘H$þ,SÛ«xÅu|ûûUØ]>Œf ™ÖT” 9¶¡6žxüGl}úeFínÒ+.gËG§USÿÞ|ï?þ‹õmø%[îÿ›jôz-#=õ|ï›_gï{'qù‚T^¾ŽOÜ;9tÕkxô¿Ãîö“lIÚjA­”ÏÙÖ½½ý4î¡ðòËðÚz‘§d²zݦ³º‡U’$š››ÉÏÏç©ÅΩœm\ëtZnûÌ?±vË’BCVv6­¢~޼þ ÿøÍGiï&$Ws×ýŸã­÷xøåOøíŸw20æ ½¸š«nÜL^ß3Ážg·ò“_þ‘ö¾”†þÒ?¡×ë‘¢aö½¾Gð3ê[{Ö¬½6þ\Z­6>N§æØEÃ~ê÷¿ÎÏ~û,h ôvv’]² N?kÚC¬¿Æþýµñ?ÇN­VO† ìvÔj5‡#GtN Whi8r„·`4™Pk/öCgV#y{9¸ÿ-‚®¾©=ŸÇFkk'v¯ ‡Óž}ûf>H’j?ÁÏÿ o7ô#!#Gg¡¯»·ßNÌ·ioo§µµ•}ûö¡T*ã'„ŽÄCSSZ­6Á“ xy÷•§yrÛ3ô»Q©u‚~NâKÜæ}êÔ)Âáp<É>#Iƒý“g5ƒA>3[(¶±±1ž ræ¡¶---„B¡]ãí E……¤¦g’[RÍUuÅœ8¸Æ\§p8ÌÀÀo¼ñr¹<^†Íf£©© …BÁÀ™ÇÒœ.¿µ½‹òòrä*IiÙÿ{oguä{{“zS«[jí›%[²,[ûbÉ6Æ  6„5L I€Ì™¼³eÞÉ}sóÞ™ÌM&L& I&! $lH0Œ-¼[‹åM²ö]-uKêÖÚÝR/êåþaú‰%µ¥–± ̨>øÐzžç,U§ÎïTÕ©bçÎm 5×ÑÔÔÄÄÄCCC‹ºbÛÛÛ©ªªB«Õ í677c2™8sæÌ¼Ó—eȈ[¦¢¨¸‰BCAÙfb$NÎWŸ›W¡ÄëõÒØØ(äzºØ555ár¹‚æ£3ÇQGÅRžŽ6&™mwmf¤§™þ)8Îy‰«ë^ÿ>¿|ý=f¼>¤2NÛ85ÕU(®Kðër¹hkkÃn· nêka L-ÐÑÑÛí®î ‡– 3?~á_9v¾Ÿ"¢âæìÙ³ó\±íííDEE¡Õj…lìR³™ÞÎks¡X(žÇï÷ÓÛÛKkk+:ŽÈÈH? †ymXLÜnZZZÐjµó6Ëææf¼^/}}}Aûâv»‘J‡1ô\{ÏÖUÇ¿~ÿ%Zû-ˆDb’u)´4\D:Ù3›¯æáò«»»›ºº: Ã<ù1™L˜Íæy‡@a^†‡èí”à÷ûh=ûÿñó_Ó=4‰D†~ÆÅÕ«õŒš9ô‹xýÝ“x|~T‘1LŒ S[SZ.ãÊ¡ÿàçÞÁíñ!‘†“åáòåKº”³Ú¢çƒ™ÉdróÍ[ãF#Èœ>õ>] ewî@:mäìÙÁöÚÌÌL¤R)ÕÕÕ´µµ11q-Þ°¡¡aá¸YŸÏÇéZ¿œ#~ñãïqæüe¼>ÐDÇ3eŸäìÙ3t_<ÅK?{™«}#ˆ%R´I.:;Z‘{&ékáÇßÿ>§ðûEÄ&Ë™´ŽsöìY<ÓV~úíÿûgZðù!\B!¬å¡¡!úúú„rf³Ö€¥Ÿ_¿ôdɤê#ìñát98wî좕'¦§§q¹\‹Æ×.»¥vð&™ÍfP(¬Y“ÊXÝõçö©¨Ø¸ÉŒã¹£DG¨ðGE±"·ˆâŠä®š]–ËïuqéÂ9|R‘ÿZæ~­öšY6sc#hÙ±¿®Ed~öyîÛVDøœügaaa¸Ýn ‘J¥455QWWǾ}û„àÚžžòòòfmü> ™{”–¾!º­då•óÙgž!Uü¼MËb±mø|>NŸ>ÍØØ{öìA.— ò¹¹¹ ºbív;—/_fhhˆììlÐjµˆÅbáænaaá¼÷Ôj5_ð*ùìg?‹D&CºÀ¢¸ÞÉÈÈ !!ÈÈHÆÇÇaíÚµó\±Xëׯgã¦Íˆ%RdÌóØèhH®X¹\αcǘ˜˜ ==ØØX”J¥p/**𧬇†²ŒñÿmßNLL,R™ô†9Æ<‹…¾¾>!a°V«bäGй‹g{[ý×X"E*• ú@y܆sÁxøäN¶7`wCvñf¾ðÌÓd§èçtƒÁ@FF†pÃüرc¤§§ ®W‰D‚Ë墠 `–ÒsÙǹsçN&ï"–Gr×Oðô§v£ —ÎsÅŽ }àøñãlÙ²Eà¡Íf[ÔˆS©®®frr’ŒŒ ôz=J¥·ÛH$ :wɉ´u÷ñ裩Õ^«´²ihhÀív“œœŒN§C.—311ÁøøxÐ6&32Øu¡•ÿù?ÿ'’ø8(ˆÅbòóóuÅ:t“É$”AÒjµ8ŒF#kÖ¬!''g°óâp8I_µš;îØŠR©Ú F“““¼ù曌ŒŒ7ß5¨ƒõqjj óÈ(úód¯ÉA&X¯´ÚHäryÐùp:¼ñÆdff’ŸŸX,Æ7´ƒíÝv¦fD¬-½ƒ/}áiV&èBÖå.—‹¡¡!¢££çµi4Y·n]ÐòQããã¼õÖ[’››{-œ$AÎŽˆj5 ‹Kãѧ¿ÄžÍ §w æz\·nÝ,W¬×ëezzšøøx233ç銑‘*++Y»víµ\@”ØÆ]-=4öZH[]ÈãOþ 2{LößE“Ù‹Ã+fó®yêɇIÔ]ËÙ¦šº‹íõƒX^Vå•óå/?OV²NÐûSSS9r„øøxŠ‹‹‹Åèt:ÂÃÃÉÏÏŸÈ Ù²û>|^?©tAkÔB455…Á``dd•JEVVVP ¸®/_¾Lss3>ú(áááÌX1t·0ä CÉ{áÉïF§–«ôÑØÖ†¦ÅH|úê¶•f#‹˜LÐrçÎx#;SGóÐSÏñàŽ2Âe|î):wíd˜hüaj6ìÜÏóŸÙGÄ ï 2™Œ‚‚‚y®Xçh,W.p²©—¶i;w<ð$ûïÙŽ^»p̬ö]£R©–]±·šæ`³ÙLLL b±…BAtr6O|ö³|û'¿G4µ“Í¥™È“¥;ó.Š)'wíÞEöªDT*ù_{™«2éåÈÛ×,/½ýFÊÊ+Ñ ÊÌ<þü«ÿ̃ÃäšhR“⃖* ˜‚•J%2™ §Ó)$[ÄBþ>;6BÅú»ö“–³ž1›ƒøä4ô‘ê V°€KM¥R 2GFFËåBçàmÌw“NLLpðàAŽ9Bnn.¥¥¥äææ .»`ïÌÿ³Ë•§@¾Áo|ã$%%QTTDII )))H¥Ò mx½^Á2·Àï¡Ô,¬®®¦ªªŠ5kÖ°~ýzŠŠŠ„Ò0Á’Ž*•JÂÃÃÑjµ×nï.@n·›ééiÞ{ï=*++ÉÏϧ¨¨ˆ¢¢"\.—À‹`s>o\‡Cxgî{E»žäGÙ›°¹üÄ'¥¥Quo]ïÆ²ÛíX,ÐJ¥Rär¹ ‡×;•RÉÓõ v<2ˆ8<‚ääDaóUB`~råõzÂãñ}…?~ÿµƒÔ¹sç8uê999”––R\\ŒÍf»Êä}¥RIXX¸`å[ <¸\.ÞyçŽ=Jnn.%%%233sCþêLÎåB¡æv±±óÆoðæ›oRPP@YY+W®ÜÂse/P§U©T às!r8455qôèQÞyçJKK)--Ò2“!¿ß\®@IT”nVû±—ßïgppÄÄDÁ…¿aï3ü¨`öHHNA¡\RÍí€~ ÖæBòcµZ…ª¿«V–ðõú6ýãh¢âHŒ×/¹òKÀ¥y}›à÷\]H¤¼jÕ*”J%b±˜5廸_+r³¢O"6ZûxŽ`÷c_&wóýL{Ĥ¯\9ëД·ýq~”YÁ¤ÃCBJÚµõ=G&Íf3*•JàÁõ< EÞ ]2pÅÞ¨­6tÙª2xâ‹CÅ®GÈ#HJJ¸æ¢²‹ïàRV342..‘x½N8h(3rx¡œáÆ IDATþïþ™}CÂÔZR“ÿÔU*žxþkl¹ß„?LIRR"jyØ,h~)ÎL>ý?þŽ;-èô±Ä~>²Å‹]ÆXvØ ³zõjìv;çÏŸ¿–ÙÛãguJ$u§ß¥ñ zÚ ´ö÷òÀý»Hˆ”s©¶ú†™×Ãä‘äç’”¼ûä§Ož`QV›-ôu¶ÎrÕŽÐÕÝKGïY8 ‰H¥×.RäææÒØØHKK‹ànÉd ÖŠ±˜g[ \Œý=ôéèé'cåkŠªT*RSS©­­E$133ÃÕ«W…È mv»ââbÆÆÆ8}ú4ï¿ÿ>ÑÑÑH$ÚÛÛéîîF«ÕÎZ$ýýý´··sâĉEù@6l §§‡C‡qèÐ!ÁBÓÛÛ˺u눈ˆÜ2>Ÿ††† …œ¥¿¿ÁvûúúHOOG©Tb0x饗®Å¬(ÄÆÆâv»Ñëõ( á666&¸âM@‘™L&²³³q»Ý\¹r…ªª*4 aaa¬\¹’©©)¢¢¢ËÿX×stt”ÞÞÞysgµZéèèÀn·/ZÌÃóäÂÐÓIgï=ý&**605=Ïë%==ŸÏÇ™3gáÌÌ 6›mx3}]³-»ãÚ;:èíÆæp¢RG¥Ó ¹…ÞW®\A«Õb6›œ¿ŽŽÒÓÓ‘Éd êëëyõÕW‘ËåDGG åË›f€?œ9sfÑÍ,PÒjÍš58ÎYüQ(¬X±—Ë5?v»ƒÁ0?–\±^¯wѶ].¥¥¥LLLpüøqŽ=JTT2™ŒÎÎNJJJÐh4‚E! ïp¿Xš†©©)ôz=z½žÑÑQ<Èþð"##…K)ÙlF‡CpAϽum2™0óé6÷5kÖÌ’£YÒ2dZ².Ÿ™™¡©© F3ϵuõêU\.—Pø~.Oü ¦{FFFèn_úÞÒÙÙIuu5]]]³ÆÝÓÓƒÅb™*ã«W¯fjjŠS§Né‹…Ö´g¾ñœY‚¸Œ}>+V¬@&“ <d``¯×´Zí @¨NÀ{ùòå«%y<òóó©©© r+Þ‚ÑÐ|Ì#nÈ6³ÃL5f»Ü'&&°X,ACmf¯g3í-¡ÍƒÅb5/»boƒ+6`± (ׂ‚ÁåS¶¾§ûZPqÝá?ðï?;ÎßþÕŸ¡^LèýlÛñ)àÚ…Œ›I@8Ør–¯åœoíÇãõ³êÎ'øzQQêàå)--]°&è,…6ãâõŸþ3ÿû;?§ß2")Oõ_Ù°aà 7–ééi uÅÖ××ãv»yðÁIJJ¢¿¿Ÿªª*Þyç^yåÞ}÷]¶nÝÊO¹\>¯ »ÝΪU«uÅj4Þzë- øÒ—¾„T*åüùó¼ÿþû\¸p+W®““Þ={xä‘GˆŒŒÊF…ÂÇÃÄÄ­­­lß¾uëÖaµZ©©©áرc¼û;wŽââb>õ©O±k×.ÂÃÃ1™L444ÌW Xz^^Þ‚q‘³ú0=Æoòo|íÛ?eÄ:…*.ƒ¼Q\ZŽ\6_©©T*\.EEE!Ÿ>'ü?ÿú5^ÿŸØu[yö/ó(ÈJ¾á¦³hùÀ°°0Nœ8A^^Ï?ÿ<"‘ˆÚÚZŽ?ÎÅ‹¹zõ*k×®å¾ûîãÁ$22R(^VV¶¨ÅÎãñ0::JOO;vì ;;›ÉÉI?o¿ý6UUU”––òÐC±cÇ¡bÆ©S§æñg`àÚåªõë×/êŠ=|ø0.—‹ýû÷“––FWW§NâäÉ“üìg?ãÈ‘#lÛ¶‡~X§ðù|Øl6ÊË˃¬¹›×Áƒ‰‰‰á©§ž"&&†úúzŽ?Nmm-ßþö·IOOgÇŽ<úè£B>²‰‰ áüõz®»»FÒz¾È9ϵ7::JQQQPWìí¢¾¾>***„ò• ÌÇG‘”vhhˆúúzŠ‹‹CZÿ===DFF²~ýúEc>o–¦¦¦Æb± V«Y·nÝG&#>Ÿ+W®`·ÛÙ¸q㼃¨Éd¢©©‰‚‚‚yºÚçóÝR—itt´P+vÙ{‹I"‘ “ɰÙlÌÌÌ ‰„ u¿ßÏÑß¾DÓˆˆ½ÜOªF‰Ö?€<\¶¨’¼4pö5Í|~Pi¢Ù\^Hd„Šð0É AêÜ€ûÁ‘ÓÎùwa0âRVq疲ߥ ÇCll,ï¼ógÏž%))‰²²26mÚ„Htí¥Íf£±±‘®®.JKK‘ÉdÈd2ÁŠ_µjäõ×_'##ƒŠŠ î¹çâããQ©TtvvRSSÃÆÉËË»–üW*E&›Ï¿@û‹µpK½ú꫼ùæ›äææR^^ÎîÝ»ÉÍÍE©TréÒ%ª««y衇—C¨¼‘H$DFF266Æ¿ÿû¿£×ë)((`ýúõÈd2JJJP(\ºt‰ .pï½÷ mܦsN`\!ËE_?§OœaÌ6…H,eEzë²RP)åAÃd2™à^ ØÕWsº®‰¯¹*’²ÒBã¢oØG™L¶èü6u¿ßÏþçÎâÏ®]»ÈÊÊ"**JàϾ}ûfñ'”9 Ä!Y,¾óï ×ë)**¢¬¬ …BA?Èß½{wHü E6RRRøÕ¯~Å©S§HII¡¢¢‚­[¯%ÓU*• ÐÐÐ@YYëׯÇçó k*”ï+ 4 ÇŽ£²²’ÌÌL6lØÀÎ;IJJB¯×S__O]]0ŸgVÿ¯+¡®©[EaaaTTTçº/÷Þ{/‘‘‘‹ZJo'ˆ1›Í9r„•+W†j—²> —J¥ÂÅ£’/333Ô××c2™Ø¼yó¼vÍf3ÇŽ#%%…¤¤¤Û ¾Åb±ðï“F{`'‹‘Édø|¾yIý>¿øÖ·©‚h}<ê\Ò}4ŒÈ¸ã>žýÜ£S² +xèÁfÝXüÐÌQ¨Øýg_Ä™|¸–M;îåž ùú»J¥’Gy„ÒÒRªªª¸té'NœàÍ7ßD,SQQÁwÜÁ=÷ÜÃÚµko*Æ@¥Rñ•¯|…mÛ¶qåÊ.\¸Àp:DDDpÇwððãV«Cγ ¥§§óï|‡ææfjjj¨««ã‡?ü!N§“ÄÄD>õ©Oñ…/|èèèbƒçÍ›7“‘‘ÁÅ‹©®®¦©©‰S§NáõzÉÎÎæÞ{ïeË–-$%%-7u3¤ˆ_Á>$v%²È8vÞ»­EÙAAÝÍR\áf>ÿ¹§hëaEv!ìßGBtä‡ú¦H$bõêÕ|ë[ߢ©©‰êêj.^¼È‹/¾ˆÓé$>>žÇ{ŒÒÒR¢¢¢nŠ?2™Œ-[¶°råJΟ?Ïùóç¹zõ*'NœÀï÷“••EYY[¶l!55õ–º³>÷¹ÏQQQÁ•+W¨««ãÝwßåµ×^C&“±qãFî¾ûn´ZmÐRU¡PDDÿøÿHkk+.\ ¶¶–ßüæ78”J%ûöíãñÇG£Ñ°zõê]$‘H´¨Õó£¤P-ä·soËÉÉáoÿöoçY ÿ»’T*eÿþý¸Ýî `rݺu|å+_!66öWækØQ@ÎÙ¿CNÁJ.^°£Óªiª`#éGsKX»‰ÿñ•8º Fróò‰‰æVŠš$LÎ]}žÄµ›°;Ü¢ —Ý’ù ªœœÆÆÆèééáÊ•+œ>}š“'ORYYINN6l`Ó¦Mäçç/¹ÈÈH¶nÝʆ 0›ÍtuuQSSÃÙ³g9pà‡¦  €òòr6oÞ¼hØPCjj*©©©lÞ¼£ÑHss3çÏŸ§ººšo~ó›$$$PTTDOO[¶lYò‰L.— 7twîÜI?W¯^¥¶¶–3gÎðo|ƒ´´4ÊÊÊfÕ9¾U$ÓÄr÷§>CÔŠµhtzÖ®Í!Lzks-iÓòøÒ_ü5—šÈZCZj2·7Êd²Yü ¸Vêêê8{ö,ÿôOÿDbb"EEEôõõ±yóæ%ç‘ ð'==»ï¾ƒÁÀÕ«W©©©ø“žž.¼²²²[²IDDD°~ýzŠ‹‹yàèêêâÂ… TUUQYY)ÔÌ^¿~=[¶l ©†çÜ5Kll,ëׯ硇¢½½ÚÚZjkky饗Ðh4äååQ^^ÎwÜ1ëÆç2}üèv^‚ø$R@Æ—çë¿8°óù|H$âããçÝv‰Å<ù•dô{ÿÁk¯þ±"Š¿ú»ç‘‡K?*)¤«×Ào¼AŒþZ²Ö[>~Ä\¼t™ÖÖVr²³æäŒº5'¤ØØXbbb(**âá‡Æd2QWWÇ›o¾É+¯¼ÂË/¿LRRëÖ­#55U¨ã*………‘œœLbb"ååå|ö³Ÿepp#GŽðÞ{ïñâ‹/òÃþŒŒ V­ZÅÎ;—ÜÆ”@VV+W®d×®]ŒÓÔÔÄ‘#G¨©©áøñã¨Õj233‰ŽŽæî»ï^²ÒjµDFF’““Ãý÷ßÏÐÐ ¼óÎ;;vŒ7ß|½^/¤º¸ãðøEüáÍC¬ZµŠœì,¸ÅÀN$16içÀk¯±ÿ~ÒÓn=@P«ÕvïÞÍØØ¼÷Þ{ÔÔÔðþûïÁêÕ«‘H$x½Þ%[DüY»v-<ðƒƒƒ\½z•ÇsäÈ~ÿûßC~~>n·û–ÄéH¥Rââ∥¤¤„OúÓX,*++y÷Ýwyå•WøÅ/~Arr2YYYTTT,¹dQxx8©©©$''³yófl6===9r„Ó§Oóƒü€ýèG‚l§¦¦.ïvË´LËÀîãA‡ŸÏGNNNÓ¬ˆ¬Â-üó·VÑÑcDŸ”NFÊGgÒ‰D·hPÿÍ’\.g×®]lܸñ¶º1±:îZi›Ç{Œúúzªªª8þŸoÔ-Ó2ý7¢õ=ÞžžÚÛÛÙ·oßrÀäÇAX®«ùúIn#€¸ÝWÚ?Š6þ+¼ÿªüù¯º¦–i™–iØÍ#ÇÃåË—Ù½{7«W¯^æÔ2-Ó2-Ó2-Ó2-Ó'ØÂMØeÖ2-Ó2-Ó2-Ó2-Ó'ØI¥R ¡¹¹y™SË´LË´LË´LË´L‹á§sç"""(//çÌ™3¬X±b™[Ë´LË´LËtÛÈï÷c6›éïï_rÞÄ‚L&ýýý„‡‡ßÒª)דÃá ««‹‰‰ ìv;ÍÍͲ²k¡’H$"33N·,Ä|Ì]±111ˆÅb:;;uÉú|>|ËnÛeZ¦eZ¦eºI`×ÒÒÂàààÇ:è£èÛrÔ'—>öyìär9>Ÿ––V®\yÃçÜN+ÏŸG™BáºLÂ$ó1ëøø8M$ÉòíÄeZ¦eZ¦P6w‡ÃX,¾-uo¦/‰ä¶¥÷ûýøý~V­ZEVVÖ5p#!þ˜Ü*îîîF¡PPTTDDDÄmiÃn·ÓßßÅbA­V“MII133d²0>®¬—o~‚€H$Âåra6›LÔÛzî_ûÿ7ýZþÿú&›óÿø¬Ûí¦§§‡'NðÄOܶ±LË´LËô_‰œN'o¾ù&ƒƒƒ<øàƒ¤¥¥ýÉúâp8xíµ×p8Ü}÷Ý·5ç¥X,Æ95ÅÕÚjÒ×å›ÀÇ6R×H$’Û–ž'ÐF`nÅ"èé馿o除g$./Œe`÷áÉívc6›ƒVž˜™2ñ‡÷ϰæÎ} ÖUòÆÛY—óèd×zzš“'NP]]ÅÞ½{—Ýr¹\ <•JEXXR©©TzKÈôô4===Èd24 J¥™L†T*½mJÊï÷c±X°X,( """P*•H$¡Ý»1x½^L&V«•J…F£A.—Ïjc™n̳ÙÌÈÈÈmçÏää$DDD.ÈöíâÛí¦»»‘H„Z­F¥R.ŒíVÈ»Õj*f¨ÕjÔj52™ ‰DrËÖ”Ífãøñã;vŒ×^{Gy„]»v‘––†R©üPüñûýx½^¤RiÈã}ï½÷¨««ã¿øO<ñ÷Ýwqqqº/333³çL$aÒ*arÌM\Âã…*¡×Ç0ØÑÃxÿÀ2°[v·NI:N|>_пvv¢Nç©'ž¤æ…~;>†Ùéý#°›²ÑÝÑL_W;o½ûÏ|îé,¸ÐçóáóùBV^7»y}¥ÖÛÛËßüÍß`0HLL$55•ÄÄDRRRHNN&&&F(¦®Ñhnj3ljjâ¹çžC,“˜˜HRR©©©¤¤¤€^¯'22N‡R©¼%›’Çãá׿þ5¯¼ò $&&’žžNBBÉÉÉ$$$V«%""…B±äyœ˜˜à»ßý.ÇŽC¯×“––&Ô< ´¡ÓéÐh4h4šÛæBºÑFu;åÎï÷ãñxn:°Úívó«_ýŠ_ÿú×DDDœœÌŠ+HHH ))‰ÄÄD¢££¹“ËåKæÕjå…^à½÷Þ#>>ž+VÌâO||¼ÀŸÈÈÈ[Vw×d2ñ…/|ééiâããIJJ"--M¨àXSZ­•JuS|:wî_ûÚ×J¥ÂØ’““…¹Óëõèt:"""P©T7µ¦”J%yyy¬[·Ž«W¯òÓŸþ”×_{;w’““sÓAüôôô°nݺžW(TTT°eË._¾ÌO~òÞxã î¹çvìØÁš5knÚ]<33ùsçØ¼yó-„Öae"ñas9Q‡ËgYífffn«ål.þSv+ª1ØTáœq#—…Ýë¼^ïÇþ¢Å2°ûÏçcjjjÁ’B¦Q+3V T0>í%!Z‰.,𬟖¦Nž­Å8dF®P}$&uǃÙlæÄ‰$&&²eË–ÛxÛÛÛ¹téEEE Æ . W¬XA^^ccc ÐØØˆÕj,lz½ž¸¸8ÒÒÒð(‰ŠÂñûýäçç“””ÄÀÀ===ÔÕÕáp8 C«Õ#½””RRRX±b±±±7=GááálÙ²¥R‰Ñh¤¶¶«ÕŠÇãA¡PM\\ñññ˜RRRHMME£Ñ, $ü~?z½žÝ»wãóùèííåÌ™3X­Vü~?jµ½^Oll¬f“““…¶nÇ&055ÅåË—immåÑG½-‰‰‰ ªªªp:Üÿý7ý-•JŶmÛg``€šššYü È]@ö¼IMM%""bQþø|>ôz=÷Üs^¯—¾¾>ºººfñ'&&F½äädAö>ŒÛÑï÷“™™Irr2ÃÃà ÒÐÐÀÔÔ”°¦bbbHJJiii¤¥¥ÐóûýËÐÐ---œ;w—ËEXXQQQÄÇÇGbb"+V¬ÖTTTÔ’xTVVƧ>õ)jkk9rä¿ýío©¬¬dÏž=ìÚµ‹U«V-TséÒ%²²²B~G­V³uëVöíÛǹsç8t课ú*Ge÷îÝÜ{ï½ddd “É–t˜™™áÔ©S³€Ï1ElTáN¦Ü.ÔáòYrõÆo055EYY™`Á¼•àËï÷3==MCCÍÍÍÜwß}ÊˉÏFZÆ*d8q{UAÁ`àÈ‘#¤¦¦’ŸŸ^¯',,l9ömØHv»¥R‰T*€žÍfž1Z§p¸ v_áh‡…Eù„¹¦°¹Eà÷LIVNºè!*Šs±Ùl· Üù|>FGG©ªªâw¿ûìÙ³‡ÌÌLv»ýC_S÷x<˜L&Ž9˜œœä‹_ü"Z­Vhãúù å{ìÙ³…BÕjÅjµ266Fww7]]]ôôôpáÂŽ?Ž×ëE,“’’Â÷¾÷=’’’B:qæååñÈ#àp8°ÙlLLL`6›ééé¡««‹¾¾>ÚÚÚp:‚‹¦¼¼œo}ë[LOOÏã{(ãR©TìØ±ƒ’’¦§§Çjµ288HWWtwwséÒ%œN'~¿ŸÈÈHüqžxâ‰E7+‡ÃAll,[·n%--M˜»ÉÉI ƒðý––ª««q»ÝBÚ¿ÿû¿'??Ÿééil6Û‡¶æ¹\.yë­·¨¬¬ÄétRTT„ÓéÄåra³Ù>”Ïï÷cµZ¹té ¶¶–¬¬,rssoŠ?n·FÃŽ;(**Ân·311ÕjÅd2ÑÙÙIWW]]]\¼xq>ýéOóøã/:gN§“ØØX¶mÛÆŠ+˜œœd¯¿¿ŸŽŽŽ üQ«ÕüË¿ü III–b™™žžfÍš5<üðÃB›###¸ìééáìÙ³LOOãñxH$äççóÕ¯~•ôôôEÛ‹Å”––²gÏfff˜˜˜`rr‹Å"¬©®®.šššp8x½^är9;vìà¹çžcjjJÛÈn·ãp8˜žž&55•­[·’››Ë… xá…xñÅyýõ×¹ï¾û¸ï¾ûHJJ YÆl66› «Õ’üØl6N§“˜˜¶mÛFnn.çÏŸçßþíßxñÅ9|ø0{÷îeûöí¬X±"džæÁf³1==Ýn'.#õºÄk1g>°_×7·ÛÍücz{{Ñëõ°cÇrss‰‰‰ùЀÆãñÐÔÔÄáÇ9zô(“““Â!7 ?o×­U»Ý.è ¯×‹8\Eqi©PvÏïö`›™Ï§ªª*^|ñEÜn7‰‰‰ìÚµ‹òòrÒÓÓÑjµŸ¸’Н׋ÇãùÄÝþØ;—Ë…Ãá %%©TŠÃá ­­ —Ë%<ÓÞÕ…qh€#_ÆŒŽä8) ‚ÅÎ69xÆÎØP?þѹÿ~¦¬V¦¦ÈÂhµ‘H?äMYÇÃøø8çÏŸçܹs À¶mÛðûýtvvrùòe”J% 7°áv»éïï§¶¶–ºº:FGGY³f ÙÙÙÌÌÌÐØØÈùóçñûý$&†a2™„T£Ñ¿k4òòòX»v-‡ééi, £££ ÒÔÔDCC###‹¶ÑÕÕ…Éd¢££CøM$Ktt4………‚%hllŒ‘‘†††hoo§¹¹™††aS^ O v»­V+(Ú°°0RRRHLLdÆ ¸\.¬V«×ÑÑAoo/õõõ‹;›ÍÆÀÀr¹|VÞ+¹\Nff&x<\.£££B´´´ ‰hjjÂï÷}ÓºÞÞ^NŸ>ÍÅ‹‘H$099‰ÑhÄh4ât:‹Å7ì¼^/6›¦¦&Þÿ}º»»Ñh4lÞ¼›Í†Á`àÒ¥KDEEÝ0öFV’¾¾>l6Û,¹ #55•¤¤$6mÚ$ðÇl6c±Xhoo§««‹úúúEÝÔÔF£¥R9+”C¡P™™Izz:>Ÿ§ÓÉèè(###˜Íf®\¹BKK ccc´··£T*—›;44ÄÐгú…V«eݺu¡5 ïF£ƒÁ XËCYS###tvv –"‰DB\\z½ž¢¢"fff°Z­‚ìõõõa±X¨¯¯gjjŠžžž-⇃4Í,Þêõz²³³Ñét´··óÒK/qðàAÊËËY¿~=‰‰‰„‡‡/n²ÙØØHss3R©tA]¸­àK€âââX½z5qqq466òƒü€_ýêWlÙ²…ÒÒRZN§³ÙLCCÝÝÛwº IDATÝLNN2==}Ãw<ééé2<<ÌÅ‹©¬¬$**ŠôôtòòòÈÊÊB«Õ¢P(Bª×ëóù˜žž¦¯¯OØGü~?ëÖ­C&“a2™0›Íôöö¢P(­Ÿîr¹^²gÀjµråÊ\.—P @­V‡ô^yy9jµš¶¶6^zé%^zé%Y³fà± Ä‚^AãÃ’Õje||”%£½½ïÿû477“ÍÓO?ÍÎ;1›Íœpàccc<öØcx½^Ž?Ι3g¸téÏ>û,ûöí[0ÞJ§Óa6›)**¢½½5kÖ°jÕª>?99I__yyy³tÎôô4?ùÉOåÉ'ŸÄívsîÜ9*++©««ã/ÿò/Ù³gÏ‚s4==ÍÑ£G)..Æáp@ffæ‚ÀîòåËìÙ³‡ÄÄD¬V+çÏŸç­·Þ¢¶¶–Ë—/EEEååådff’’’BDDDPàár¹¨««ãèÑ£TVV"‘H¸ÿþûÙ¿?)))¼óÎ;äççãóùðx<¹èýòåËìß¿IëÝb±púôiá0”ššÒú Xº÷îÝ‹Ï磯¯'Nðî»ïRYYɉ'X½z5ååå’••ETTÔMÅ6[ommmݲ¿@lüÍÆ§.»E”À¸%.l¸Î©1LÝWéé÷ð¹¿~ž;JÖ¡^/$~TZ=Ù¹EDÇ óø#ûïïE¬LäÏ?ó(ù•¯r¾úw®ÏùPýt8ˆD"þîïþŽ­[·’œœŒT*âÔ7ñÂÂÂn:À×l6³bÅ ž|òIÊËˉ‰‰Áçó 'ã›m#ðÞõóŠ'0®PÞ G&“-©_…%—Ë‘ÉdKW °?ð^¨ÊC.— ï,Ö^ oK™;±XLxx¸ÐÆRߟ;F»ÝΖ-[ ¯P(ðx<OĶnجµŸùÌgxàX¹r%aaaX­ÖYüY*Åbñ¬¾… 쮟»Å€Ûí^òüz<ÂÃÃ…7ßÀš E†®·`†*wËfàùPÝõ²Ê𠬡¹ãÄrrr8pàtuuqåÊ*++‰góæÍìÝ»—üüüy}1›Í|ûÛßftt”Ý»w³}ûv¶lÙ‚B¡`zzZh+ wC‘‘ÀZ_ª^ È®ÏçC$…¼®ÃÂÂÉdBØ”V«%77—´´4®\¹‚Z­æÂ… ›šš0™LÌÌÌ„ ìš›› Ùívšššp¹\˜L¦Ccc#ŒŽŽÒÔÔ„X,F¯×/¸é.Ì.SSSdddàv»©®®ÆÞÕÕÅÙ³géééajj …B±àæHD;,™ÍfÔj5©©©  ²·S§NÑÚÚÊÈÈÈ’wCC:§Ó²Nilldll F³èé|zzš¦¦&fffBæÏ磱±‘‘‘4 ---¨Tª%¹b‡‡‡ikkãÔ©S!o4‡ƒÖÖVT*]]]‹>õêUFFFÝ ÑÔÔ„\.gllŒÎÎÎפÃá ¥¥EÓõrÈ'×ÒÒ"„‡dggÎÄħOŸ^PÞL&­­­œ>}š¶¶6”J%ýýý êÞ––”Jå,ãr¹‹ÅÜsÏ=444pêÔ)Μ9C^^2™Œ¡¡!NŸ>½¨® X˜0 ÆuK{{;UUU‚®èÒÆÆFÔj5ééélß¾£ÑHww7dzzš‘‘‘yrØÏvïÞM~~>b±XXË.—KàÏ磻»•Jµ¨+6à¦_ŠÎ x!z{{ñûý8N®^½’ì·µµ188HTTÔ,ylnnæòåËdggSPP@FF½½½455ÑÓÓƒH$"###¨®¬¬ÄãñmoíÚµìÚµKMƒÁ€H$Zôãv»ñz½‹ZÒqµ» ì®S¿ûÝïHNN¦°°¡¡! ¹¹×.0tww£Óé0ÒÚÚʃ>Èùóç…´N§‰D‚N§Ãn·£V«)**"''礉Ÿ}ó+xõIä­Ñ³®4Ÿ²ìUA$âZ\Í–-[ “b6´qà÷ïðù¿ø[¶äÄ»"7$ ðóŸÿœ 6°víÚYÓjµH$î¼óÎY‹¶¥¥…‰‰ 6nÜÈ©S§(..&;;{Á áäÉ“lܸ‘äääy bff†mÛ¶ÍÚ ¥¨¨ˆË—//ÚÆ\êééÁjµ²~ýúã¼ñ9¥¥¥!ÅphµZ|>߬[g¡¸ß{ï=6mÚD{{;999lذ!ä÷gff!..ŽM›6… ìÂÂÂfãÆ!¹b­V+KrÅŽÅêÕ«q¹\”••-x ¥®®ƒÁÀöíÛg)M‡ÃÅb!##ƒÒœrQWWÇúõëQ«ÕX­V6lذ …ë7Þ ::zúûûq8lÛ¶˜˜áw«ÕJmm-Bªœ¥ð×ívcµZ‰¥¢¢"dÐ%‘HbÆ ‹ò'{SPPòšÜhOKK#::ŸÏ·¤µÐ××Çèè(6lX’+v``€ÒÒÒ\±"‘£ÑȦM›–äŠõz½¬_¿žááaÄbqPžùý~fÜNFÇ®mòÅÅų\±‡ƒ‹/òÌ3Ï”W_}•C‡ÑÝÝÍ¿øE6nܸ ¨ Ô#­¨¨ ¯¯ââb233ƒôŇÛéÄ<2Š¡¿žÎ™žžæòåË<óÌ3¨T*9tè¿ûÝï0 |õ«_]T.§¦¦8uê›6mÂï÷“@VVÖ‚»ææfJKKgÕ1ïììäèÑ£TUUñî»ï²jÕ*¶nÝÊž={˜žžæ{.°3™LLLLðàƒ¢Óéfµ;55Åàà ÅÅÅø|>¨¨¨XÔÈ>ÊšôûýBìžX,¦®®N°Ž¯Y³&¤o( 4 7nœ5¾ááaÞ~ûm8€T*¥¸¸˜Í›7ó™Ï|†ææf6lØ”ï]]]ÌÌÌIä¶ ô«¯¯Oh{±ƒTUUF£‘»îºkAkœZ­F"‘|"/~ÜvWlXXÝÝÝX,ŒF#=zT8…¤¤¤1@÷ß¿pb ij¸Ýn"##‰ˆˆÀn· Ÿ›ªÃ¿ãl—›/ÿ×±÷Ös®­—]$QQ:ÂeRaqR*LÄãæ^ùéðvu+)ñuxîÜÄcŸÏ I‘ú|>ü~ÿ¼ì÷…F `Ï{ÿFßÄøýþòìù—ôÞBã ¶û}~aΖK1wÿ¼þ{Þëq3ÐÕÌѣǸØÔ…Ó'¥bËö rpí§¥¥ñì³Ï²iÓ&<ˆZ­^PNü>þëtn(úæF¼’J¥”””°ÿ~áÖóo¼ÁÁƒ‰ç©§ž úÝ@ÿƒ¹þnÔ—ÅxÊ~s=:tˆÔÔTáp†*_7š·ÈÈHžxâ 9wî/^äûßÿ>*•ŠììlvíÚôûÉÉÉ<õÔSìÞ½;èí‡?üáMí|{Kײ+v΄2¢wtt ‰P*•ŒŽŽb6›Ù¸q£Ü~}:ë‘´R©,.ÀÎÎNlýüô7¯›žK¢VAUG ‡*ÏR—–HzÖZ*Êד–ƒD<Ÿ)#CƒÌÈt¬[•D__?±š¦¦¦¬4s_WWF£Q¸Ýu½ rppææf, ]]] šuGGG ½½}ÞÍ8ƒÁÀÌÌ̬¾z½^z{{‹Å(•JÌf3³nh=qº¦éjk¡¥³—Ñ ;N·›œœµhµ‘!»ioo¿áMÕé 3.^Æ2ncÌ:…J)iž¯w÷ŽŽŽÒÜÜŒÉdB¡P,zJõû}XGÍ´µ¶Ðg²Ðm0R^Q183Ðn0 —Ïãf¨¿—«-m˜ÇlŒ[mȪEçüzKb¿Àß¿'&&nøNww7&“‰æææY² ð?0F¯×Ëðð0­­­ôöö n¬…\—ýýý‚ky®›Èh4ÒÖÖ†ÙlžeA¶X,´¶¶b2™„ òÇçeÜ2HKK+ã‡F(/_?ëVl(–…‘‘ZZZ‚žÎ½3Nz»hlé`Âîd|ÒŠZ2¼^/x½^!¯c[[Û¢²çóz0t4ÑÒÙ‡ix»ÛGAc3ÊÐÜÓÓÓÓ˜L&ÚÛÛ…Cì\P4m§½µ™ÞaúŒÃÄ%$’ÝÜŒ4DW¬Édx¸‰;—gîñAüúçüâõ÷°N;Ð$¬$wc3‘r± O7.[[[ç¹éieš››çÈ›‡m’ŽÖfz†™°3㙡¥¥E¸•?ëVµßÏH¿þÙ9|êÖ)'1ék(»£‰×9KO ÓÒÒ2«/2™ŒÌÌL!Ü!¿û:ijí`tÂN{¯ Wéíí¼#7Ò^¯—ÁÁA:::˜šš~7LLL““ÃÆY»v­p³¿³³3è×®é¹kÁétb4éèèÀï÷300tÞƒy†‡‡CÖ¹ééé( ÚÚÚ°X,׬¶33 †¾ÑÝÝÍÀÀÀ¼ñõ÷÷ãr¹HMM%..Ž7ÒØØH}}=N§“®®® îVƒÁ Tp™Kv»‘‘¡_&“‰¾¾¾ 2ÜjIXÈÈ$`·Û—oÅÎ¥²²2¢¢¢ÈÈÈ@¯×c³Ùزe 555ø|>Ö¬YƒÛí&==ƒÁ (O·Û-Cêt:Áý$“Ɉ‹‹Ã9f¦­kˆ¿þ¿ˆ–3æ™Bî'5NÍ{‰qÊÃ?|ùiâ4óã’’’È+,àÒÉüäå!vîÜÒunŸÏ‡V«%..nžÛlrr’áááyyœ¦¦¦Ðjµ$%%ôݹÎ@bѹÏEGG3333ëw¯×‹^¯*:h4šEÛð{]\<óß}áß©oëŇ˜âÍ»ÐÇÆò&¤ÕjƒöÀë啯ó­_eÊéF$ ã‹_zvÑœwsÁ£Z­&))IH`¼Øû›…£ßàÇ¿üC£V¤1¬,ØLbRRÈ…¼1dIIIóß‹¡­ŽßüâG¼sòÓî’VåòÀþ‡C[ fT«Õ’@TT ÄÇÇßð¡¡!œN'III³”‘ÓéD§Ó3Ëu¸¦Ÿ˜˜Èää$r¹œÄÄÄÝQQQDGGG ×»#iJÑét7|wÖI{¤Ÿ×ß~•_þî#“S(t ¬-ÙòÜùý~ŒF#>ŸOH©18zh¯?ÍÏ~ü=NÖ6âöøXµ¶ˆG{<ä6¼^/QQQÄÆÆ ¡" " ‘¥¯Žï½ð-.4÷âšñ’¹á~¾CR|h ujj Nwã55ãäÈ™ƒüŸû%}Ccø%á<ðäs$$$& M•û|>úûûIHH@"‘`6›çë2k/ õõŒNZñ#&Z£¤0;•””d!ÿ§Óé$22’„„„Y€×çóa4‘J¥$%%ÍÚd½'Çkó­oý„Ó>±”í»÷ŸpM~æé-¿[ÏÚë™°"ËHˆÕ“»:mÖs‡Cõ¹ Èh4"‘H‚ÎçH=/ÿô¼wö ®é%»™’èÐëõÄÇÇÏ …™+#Áxø=!!AH#SXXˆÏçãìÙ³Øíö ¹þáF‰‰‰ó‡Ch+'5ØXç’X,&222d¹èŸññq"""ðûýH$’Ö5\»M;===o|z½¹\NJJ b±˜¬¬,6oÞŒÅbáØ±cB%¢¹#è¼`a Fø›ßïÇf³Í“¹`Ýn÷<]:—åù>ÊjAŸ‹ÝsÏ=7Ë\¸}–‹ÅX²Äb±äT*±±±ÂIN*•¢ÑDà°›q†¥óg[³7ÙxìÙgùÝás<ùWAŠFÉþpëFvZ0eìÇb2ð^µ™¾á1¡dQ(JQ©T¢Ñhæ)ù@UN‹ß㦭á<¿óm:M¬ÊÎA®ŽbÚ Ün7*• ­V;ï9µZÛíF§Ób3sºòmÞ~¿š±i/ìß&RR®ÑA:ÏTÑÙm`ÆãC®Š >6ŠèhÝ¢›W€ÂÃÃQ*•Aû 0^•ªÊ3LÚ§I¤hµ±DFjBþ> ÜüÒétBðúbﻇzi8ú>Fó8ˆ$è##HO!j ;FƒÃá@«Õ΋áò¹Œ65Ñp±»Ã‰4LILL4q±¡ÏÝÌÌŒ0žÈÈHT*•PNm¡>©Õjt:Ý<`§V«¯ÉŸ"Œúꓼsì8C60Œòìa ~¿N· °S«ÕAçØn· 2©Q+èmkàÐ[‡©oëÇ' Cª¸&ûþ-Ëo»DýñS Y‰¥è¢´¤&G‡œ=Ÿš™™9ϰ …B)}j2™@JÐwñ$»wïáòˆ@\Ɔ›PÈHÉã­<ÈÁ`Nw[r/I?øÁR>´ZmêæóMǵ$á¶Y8z`?ûŸÆ–ÑÞ¶ Sæ\yœušÜ¨»d27•÷´´4”Jå‚¿)ŠÔÜ0kèÍê®[vF£qA]ºP …â#g1ùLxìnläë=o·;É––– S†ÏÄÄ$1_,}6Žéi¢¡i2=Z‹‹¡¾qJ+3ÑËìŒ Ÿ%›7¹¼N®t÷‘ž­'™ ú{;·~’É$N§“‰‰‰y†àÄćƒ‘¡AúÏäówœ¼<ˆ$S²ö~§. âñx˜˜˜@¯×ß´ »ÝŽÃáHy%n\Åb1†z.òæÿþ'~øì/°û‚h3rÈ*_FUyém•‘Œ…(\ÕÎÖ«6¬Nò+)ÎËeÂj!ð/>éÅ£x=ܾ ã3[t ¹©cJëv܃CžF\i¤~e2dŒŽŽÞ†[!ÏëÁîòàp8Åáp¤n>-걋'YyßN&´§ñÇUä—”£‰S7¦5¸Âœn/=Wz‰FgnäÎ[­%hJ+ÙtÏÝè:1æUPYYÇa»eÝ$)‰ßëÁã 0<2J4#---µ%v³Û_³;›m¦Œ·bív;ƒÏÐ)¾ýgß§wÌŽ˜óгX˜ššJw]lÜÙív‰Ä¼ïÇn·c¥÷ôûã³÷X'ÑD’šÖ»8|¾‡ÃB¡¸eUZÚïÛ‰7ýQ¥‘²ª:daÿmÉE$èÇåñr¥·H$ÌØØØûO\& ”6¬âžB«RÌ+V«u^°îëÛåFÃnjj*µíïõz Ž÷ðoü;Ž\$ è³ øü®GHשRòxã·ÎÎoá`×ǔ͉Ëåº= ÔÖÖ’‘‘ÕjM¥ÜK$)½3oôòê?ÿW~òϯ0å Ðè@­ã¾«£s<ÈÓÓÓyºk6pöøøø‚—¦§§ ‡Ã –íóùRÙ}f=³ÓÓÓódîf[Ô6›±±±Eç„h4ŠB¡He¼†Ý¢Óé(,,$Ï1tÊ+Êi«‡÷ϱyM-†h˜"£ Ïä(IgsY)ƬŒl†0}—ñþÑnFG­8].Îuv²¡£Åmä½ÕïR<Êøp?“6 ¥­ÞHEž£ò¶„Cºv8úf+IQ¯ƒ+ÝW'’htzòró¨ÈOG©ÝV=åJ-åUõå {Ђe°JF<¹øs±H€=/ý+ﻀ+!!×°mûÝ VZ6+›–±ÿÀ1Ü—ÎÁ|×­o´ÆÂ~Î;ÀïìgtÂAD¦aоmyQëÓ©®]†ùÌ%¦Gí\½:̸+píþÍ .—u€çŸó=ø#[vpWBB3ƒì‚2ªËË8×ÕÇ´uIŠŒl½Åä§óÃ}üò•ÝL9}ã2žþݯ~âñq½¼L÷žçªÍ‡Z£!3¯œü¢ÂÔÖÙb2uÛòLâ°ŽpuÌ r%ž¢ì JÌj†o³¾út35µõœ:ßÍð”Á ›·ý–ñÔÐ%þå/peØB0&cÓÖm© s&k…’‚’*ÊKŠ8yñ‘+$ãAb‰M·ìŸ÷üšW÷Âá ˆ$øÎ·ÿˆÌÐ…õ,¯,ddl—ÍJ¿5_$Ábw£!g?ü€7÷¼Ïè¤eZ+Ú7°ÐΗB©¢¼¶™¢“LØGée´º’¤$¡¸yãáµ[xëµW9|òÞp‚ª†¬[¿á¶õÑB²q³ÿ_Tï(Ô”V¯ 8ç,Öéa†®\@#o$y²y«2¥Û|ÇœþÊ«dYM9—® áqL0¦70áÎyçõ¿k¬þ«ã(ÕjTš4ª*+ÉÒ+çÕãú‹g<øÇz¸|u¥Z.-“²Útjå¢óC"¡÷â)ö8‚ÍÂãòRßxûÑÚÛÛS ¼ÛéÛX(ÀHOžPVO~YE¹Y·®óãÈÐÇÕ]7+÷·5í¿yÃN¡PŸŸÇã!£V«),,¤¾¾ŽoýñÓüÕO^"˨gK{ ¹µéœè>Âáàî³fÕ 2 óÏHe —òÜ¿¾Ê%¥’¼¼ôKþËÿxŽ)§—D²‹kÈ+X¸¬àx7ûò‹>y–DBBoÊá ¿óÌâ¡Q$‰Ásðò/ÿ™=Ç{ˆÄâ”-[ƒ¤ÏÃl6ÏôÓ-B«¸¬ýÚý"{#Ža̯@e*¢´¬ ùMÆpÔ=Îîyç_z‡7ˆRc iÃ=—‘¦»A|¢œí>Êk¯½Ê™K#Ä“ËÓóÉ/«^´n¾Á<÷ÓçØw¼‹„$¡NËBŸ6sþeöìàb™'&''SoÜŠÍÎΦ  €Š¦ïð£´j¦ýI–­ZËù“G)))Áãñ Óé(--]t+6''‡ìììyß!“ÉÈÎΦ¤´ŒÊâ/ð—ÚL.ö[É*®Â2ØÃŠš .ɺ­þï;Ǿ7^äƒÏŽÄ1—Ö“–[¾èsaÛ0¿|óE^|õ üÁJ]:›wP\R‚^wÃVy4Èá“»yõõ7é°’”drË(©ª§´ôæíëîþ€ÿþÿÄ…¾1’’„J—Nff………X,Š‹‹o™y¢wÿÏxîW¯aµ{H&!­¢ s~)¥9†›Y“ôÚÏK¿üïžì!KPZ¿µ1wÁöˆ<¼öì˼¶çÞ`•ÎÈ–Çž¦¤´µrá-¥xÐÍ™=?çÏÿŠ¡q(T˜ «ÈÍ/Ä U3==½hÛ²³³çé”p8ŒÉd¢¤¤dÞVìØØr¹œÒÒÒ9Þ“hÐÃÞçÞà•wÞÇ£Ôh½keå•˜Íæ[ê-Ç“:ïuc¸“ÌÌLJJJæmOÎzezoßá—yþÅ_s¡ÏB")Ñ”S‹&£€¼¼q æ…œÉ|èË|_žÉ¥áIŠkVàœ¥ª¼dλ“É$f³™âââygf-Kª]nôP©T*²²²RíYùûWFíV5àuÙ)/-N±[è[Ç{ÏsôÀ1r+šè(Éâµx£±ý#§›=Î3{Æ.''gÁw$ òxæ?|Ÿ²5'IhMääbP$)+›û}¹¹¹øýþyºËív/ØŸ³  …üÍëõ’‘‘1ç·Ù2nå±%Ï«Ï<'ÁµX²%¸½0ìn“Ù}øÙÉM§Ó‰D†ÂäÕ®ã÷¿èçÀñãüôâQúºÇ¹b±ñÿé[lZÛŠJ–HmáÎ1žôYT”—±mëVÚÚדn4 ‘/²U‰D‰D"øý‚×’bÏ™|®%M…#sJxèsO …éâÌéÓd2ÙLݨS"#‰`³Ùƒ¯ý›³‰ÌdâˆIT®hçéªåÃNž°Û˜› O€\I^Q9ù9&ÂáHs+$B>lÖ *–œ¢Zv}á äe§/Z†kì*6×L”{mš™ÒºåÈdR*zh1?o+{do0ŠZ­Å”SÂçw=@†Ž›>'%ã8§¦pÚì$ •޲ÒBò ?öy±]#–­NOSÇÝÿŒìÄã1"‘(¡p˜P(L(B­V§þ>‰âr{]“çë'و׋mt”h´Z=ËÖlc×®‡áZè–›éÆd2A4ÁátáüFÿÎþ¿×ç'  †®•'‘ˆÇ ‡Ã8Îõ5€Ó2†Ë@¥Ö¦7ñØãRœ!ѧ_?¡+ fî}äól …‰%’¼øâUB×ôt2'‰`³Ù ‚¿)S’ˆ]ÃN§+Õ.³†O<6ÓÓ6ÁÐÌojµØõ[Ca¡0ûÞ}—P(4#ã×äñFÆngbp«/ȉƒ6ä…Ë‘¤·‹h4†„ V‡J¹xL¶ÙÛ ÉdN—Ò QÓÒAIÝJ"±8—»{˜œŸù>…‚h4B$Ãíö¤t·\.'™¸–;ÛéÂ^ë»`j®F£DcqÜn’ôùœÕUÑh Ÿ?@4ú›ù §ôÏ‚†$‹ÇˆF¢8]®uéhµÚTOÛ å§¡’³Æ]ee%Ï<ó .—‹®®®!פӲº¹\A®BŽcâùZ,W±Üâ½eµ³šƒË×Þ·Ðöãås'xïƒÃ [mDe*Ðg¦â]¿º°X,tuvôÚ8rà=Žœ8Í bY+õÍX¾|9n·;U÷Yaõ9'9zà}Žœ<‡Ó!¿´ £)—Ë5§Œ‘‘b±Ïc¸ÌÛ»÷Ð=0JDRq÷·0Œ466ÎiŸ…c j7>ÈŸ-#“Q\ZA¾N¢çZ6‹›N°¹ lZUÏñ®!äJŽ©qº»¯àY LG2¡äÉßÿcÚF¬h™TVVâ¥krlQ=+V·3`?Œ7’Äí pøØÙÔvübß5³ågþ”å÷M ÔeP]SCÈn¥Ëqó¬Éx„ÊæÕ”ëbhÂI2¥¿oˆÎÎKèušyuÔ”®àú—L»üd”PVRÄPo÷¢«º„”Άu«™rEIÀc§`€¼ìÌÔ¹›Í6ç¿kœwÞxƒ³]½L9½Ô®ÚLyEZµrޱ?::J2™$t²÷Í78ÓÙK &KÀšöv”J:Žžžž9Š,™ˆ1Ø}–}û> wxo0ÊO| ³y®gjjjб±1º»»Ñ*“œ:zˆGO0éð¡3åÒrü<¨Tª[öO,¡áóßø3ÖMØÐÍTUWá´ ã¶._/¢±­Â³½L¹ƒÄ"Aé꺄V£žg˜×ñíÿ˜‡Ó!¯¸Œ²"3ýÝ‹‡kˆk ؼ¶™·œ&©”pNÓßßF5sx{dd‹eq’¨ÞÀÿÿ}3î@Œœ¢R*JLô]¾´¸¼+ ¬XÕÆ ýþ(8ìvÎ]¸L<è[p¹î‹ÿŽÜucÄå*ªkPì\êr,ºÅœUÕH]Mþîaò$£W‡éºt™tƒŽìììy}&%¢ôwáÝû›"®2V±Yy÷í·9¹Ÿ` jë;04 tå·÷22n'šT°eËfÊnðžHÉ­þÝr1IEEu-ºˆ—Ë—º(,,Än·ßpŽQ"òÑuúïø‘qJ£Uz.ÍŽ)Î}Ÿ=û3éðS¨X¾šÚ¢L<6+ßßÏÑ“°{¬¼kyE¤ëæîÉÄ Vðÿò¯˜vÈÌ) ¦*Ÿ¡+Ý3FŸÓ9apóáïràÃÓ8¼!´9ä—3eæÔу¼wèv7Ƽ2²r (+Êej´½ïì¡ëÊžp‚u[îKyKýî)ö¾ù:g:¯àô…É/¯£²¦–œÌ ’ñï¿ý‡OœÇá WhIK7QR”Ozz:ƒƒƒó¼~Q…ŽM=€Ý!3'•BίŸÿß›²2í ÆYÞ¾w5"—ß|¼Åãqš››I$ Óé×ÉDŒ‘Þ‹ìÛ÷=ƒ më:¨¬(Ã6Öϯ_yƒÑ Q‰ [wPVVJ4äå܉#|pè–i7úÌ<”ºt?ñhˆž 'Ø÷Þa†­Ó$ZvÜwÅÅÅHR’«½Ø»w=ƒ’ -……©zÍFѸ1Ôì˜íçÀ‘8<ÆÇ')(­¥¾¾Å"†ÝW¾ò•™ã#z=Ÿ*¯òÓRQ™LFNNΜôd’”äçžå’SÁÃ>B½,Ê…ãgY·¶´4Ã’”;Ñ{žÿýßö²÷½S„¢qÌEUä”7ÌË€0{ógͪŽï~ž}»ßá\¿™BEyÛê[ÖP›7ÿðv"äè?gß;»9ÛgA’É1ä•ÑØÜÊÊúй^·›h4ʪÚRŽ¿ö3ÞÞ³w Œ1§„ŒâZÖ®ß@šöö ßûÛbèýç鸊ÛãEÂGvy íë7PV»4,%|}‚I›8JR¡¦°ªuè4K“ÒÙùý#8Ý3²­6fÐÚ¾Ž í­é=[¶ß÷Ä=Aÿ©÷˜Æîò'' º¹Ž••Kò]ñ€[×a,–q|>ÁH]f«×®§4oá> Œuóêÿ:Èž}‰'È®lÆ\¾ Åèn^yý-&>$dÔ,k¡­½m`’×ÿéïì;@$ž@¥MãÑ]Ÿcíºuh>IÞN)ÉÈÅùçö°ïày"±¥+ÖSÚÐJ“ÙÃ}w7û] äÖ®¢¨n%kjÓÙÿÂqö¼½›ËW'‘)T¬¸'—å«ÖPlš_—ÍÛo_ ö|…ww¿Å‡]ÃHÀòõ÷°|õZô–“¼ÿÎ[ÿßxs÷><Á çñ'¿r[™ˆ‚6 ÏíÛÑ\JÃröîA¥1ѱnÝ¢—Ž>J–#aØ-!RR⹟ü=NÅÈÏËe¥1ATaÙÒ¤ÿH$x]6&&Ɖ%$J ……”˜øýþT¤þd29s“)$ðáuÙñ‡Ãh´ZòËyäÁg-|‚: 351†Óë› àœžCuEY,•y6‚¾ßïŸq‹û]LÙ¦‘ä Fk7îàžMkÑ©ïlw†ÝãØ}´Zæ¢jžùÃo‘—m^ºþ"n…J…)#—Š–Ãý®d,Ì”mjfûÖ`då†÷ÄçÉ3ß|¡”{™´ÙQ¨Õ¤Óغý>ÚK¹tr‡/„\®À\\GYUÑH„„kš‘1+ Rë(©Y)#D<ŸÀ°“€HЇËíB®P“•™Íƒì¢©2ßPÃÖ)dr9 ¹šÒœ ÊMrB?Ö1Üþr™•ÚÀ²B&í'oËφÃ@«Ó¡ÑgòÔ×þ€ª‚,.µ0iw‚\ŽZm ¾42I0àcÊ:‚;¹S.›úÂ4Ôò™c%ŽñA¦\Adr9º´l«JPË×.ÈM3å ¢Ñj1å–òÕ¯“ÊÒâEëç÷º¸pt?Ï¿üž0Ž);–Éiº/w2Ü/‘QºŒ‡î_½¨·î#ÉV<ŠË1I4)Co0²~Çã<¼ó^¢!7C#£Ä%+Tä•Sšc$ á°M0e·“”@­5RYVŠÙ '‘Hàó8·M$Q(ÔT4¬"Û¨" °Œ ŒÆQ(TT4Ý…)}&ü×báH’É$~Ç4½˜Téé<çÁéK°­ÍLâZzÂßF>Õ†L&c}{-‡mÈd2Ž÷u’ÞvJÕÒLÈ>Ÿ«/NsÇVº§ÞÁæàõº8uæ"Q¯“ Ë{^}™ ½WñÃäV7SZ^Éö/~ƒ¨XIïÕiÖlÚFCU šÎ5H’„Ý@•[ɪ–&\Ç/‚JÆèÈç/vÑÝu‘žsÇØ÷ÞFÆíDb îº÷aøÎÿ÷·´Þ}‚¤6‹›7R”qÛx?.µ|ƒ½¯7pÕ¢®¹•Æêò9Wý?yÊ©Y{/÷Óºú®’[^O[Ë2Ò´wVLu¹å|ó»?få¶ÏU§Óºj5%yYK²ª%³énþõç¿äôå! *êXÙ¼Œ óM4exx*:ØÚv‚“—GHÈ”tõ pìØq¼.}OòöÞ™x}’&|Ž¿øæ7y½z+ÃÓ>šÛ×ÑTWJ±ð"'3lµÑ°á~ê¯þš«Ó^â‘g/^&ߤgrü*‡ö¾ÅáSxƒaÒrˈËT|íÉ]<ûO•œí¢ne;íÍw|A¡/nä/ô,w=rez.«V¯¢Àœ¾¤òž³f¯¾”Ç¥ÁIÊê–Ó¼¼ƒVugõ—\Iã†üä§Å\º‘Ö Éë~+ÔÆ>÷NùêmØüIšÛÖP]œ‡Rqóů±ªþýÿbÛ¡ãdU³~ýZ¢~º†ÍljíäÌ•QdñÓÖ«\êºDš^ͺ wq¦×‚3#ìµ3Ð׋Õj]0èGÑU«¶ð7ÿó;ÓIi} í«šñ9m EÒ¸wÛFÆïNÈp¸Ü;už†R3饬\шïl’BÅ徆FÆXQWù‰¶Óîþ2?ÿe5箌PÓ´šµ-ا§KX¿n-Óû?$’”c™˜äü…N¼%ù˜×ÓÞx…®¡ d²$»®`±Ž£U)ˆ·±}íŽuJÎàà }ýƒä˜³È[ÿÞüu箌R³¢•öÖ4‹ËÅž—_àÅÞ¦¤¹™†ì'­ã<öäS´-« ®i͵è´j–jÔÌ|ëG?cõÃ' Êôì¸÷Œ9}V®ßDÙ©+LºƒDÃ~º{z¹ÒÛO‘Îê5ŒºˆÂÔä8—{ú¨)+ÆâŽÐ¼~;—&ÞfÊÆg·ÒÛ?Èôô4·‹ú ;YÞïbhÒCØmeÜšÁðð07½ óÅX±¡•SÏ¿NL®&ÑÓÓ‹ÓáX4(¼0ìþ_vr|óOqè_âüéC$e*žþÆÔê¥16L& eùüj¸ë¤p,Ž>«€ÒÆUì¼§K»ÿ‘ÿ|ö"Ž™­¯üUŬݰ }šµÑŒmú"…™z4JÅM Ó‚\3™Ê(ƒCø=^PQèÒiZµ–ú#}ïý‚ÎKWð†"(T «[hnn!‘H :w ›ÍŠÙ ¾ãF€R£§cûÜIµJ«§±u­ëþo ™ùe<ðXÙ,BIMËZjZÖÞòo5 õõõ¸Î¿É…+C¸=~+ˆé Ù°i *Ïß?ð*—¯ôŒÄ0ÕÒ°z¥Õ¤¥grù…p#¯+¿¹±¤×³¼®Š·þñ2ÖIüá(:INnU;vì`ìÔ›ü¿édpø*’L†¶¨‰õ[v 7š0æã8r’l½âŽu³|vI5•Tß¹2JšÖn¡iíÿ]¦ÒX¾ºƒå«;îTãa4ç³õÞ‡>‚¬*È*ªÂîÚKqY‚¬4-Š éA ½#¸=~d¾ •+h[³µßÂË#LL;ˆÄ“H u”•W,ÎÑa.ªÄ±ÿ0õò&ƒ“¡Sl’w÷`sº‘a(ÔPTÛÂêZ#Žî# àõzQ¨µÈŒ…dæ•|â3R*­‚Ê|§.¢IѨ””áèïëÅáò !#ªH£±yËKLô|ž¡1¼¾QTò*É+,!+MƒãÜ›œïÄíñ<€ÜMU]cê\bmËZNtöá·[Ñ*›oY¿5«VrúÈ Ü~$vþî7ùÊ—ž 'Mu‡tš‚Ü’*2óƸrü8ÚûÑétÔ—ä°ß:„eÒF('Ž’œòzZš›èLsu°›ÃE< 1T”T7Î̵兼0Ü“zN©M£¬®‰ÂÂBò2Óxs¬›Ñ |¡(þ@w=A]Ýâ^õ´´4* 9òzˆŽmR_SÂñ÷ßCWPENN.¿­(?ÝÕ—Q³b=ü'%ŒX&1å•R[Y„| KHD"$¢ 223ÉÑgòЇ»Zkf—ŽŽ‘)É0e¢1˜h¯ÏA–ˆšTTì[ºzI¢j•sv.ÅÕËxò©§(+ÌÆïµãœ´¡Òê0L˜r ©Éצ' Âáðom,žÏ:a—µÎHNž‘’š&¾þ…{Ñ(Áe·átxÐë hÊŠó¨ÌV Íl-¤§§£Óén)R‘²º•üÑÿ{Ò z‚Ó!¢‘™YY¨ &¶îÜÅ=÷î@©\š¶B¡ ##cÎÍĘßG{”#G3`q’TéÙ¾q O=ùErrrˆÅb$“ÉOeœÁ­ñL]åÀ¡£¸CÕËZhYVG"äêPW.]äð¡CôYœhôi|áñ‡xôÑGÑét©P·2¼’ñ(}]g8ÛÕ‡\ŸIk[;UE¹8Fº9vä ž<‡;¢ ¸¸¯}åI:::H&“„Ãa´Zíoí•Ï:’$ …P*•©m.‡uÃGŽã‰Ê¨]¾’–eµè5J’±½]ç9uñ :S«ÚÚ(+ÌA¹D§$I´Zmê&h"êç̱¹‹ÝngåÊ•|ï{ß[²wÛ}Q~ôŽ…Cg{>í»;Zo¤eÝ&šÖlD&“¥rÛæçç£Û¹rþ$GNvŒÆq«røóì‚W¨R™º)»¸i-'3¯”í;‹S¹ùf#——••2t&Ä©ãÇè™$)SP»f+f³¹\þ©LN,¸}2òÊxhW1’DJ.ê4ª«*¹zá0atÊ>·œÍ}™R=sç6Wør¥šº–uÔ4­k²-²²²P”óÊÏ.qððQ‚‘8MùS2™,å-üv{ìn”#sQ?Q>Gä*õ+×QÛ¼™L†ìš-e]nÔ¥ uí›îfõ]RJ/Ïü±‚ì¢ î{¸|Ž>]*ärù¼v1dæ±qûN6H2¹ü7Çbd Š*y¼¼ +sÚŘ]̲Ö5:tˆÊBó£îf}ðorŽT«çœq“)5”×·PRÛ4£WdòTÖCF6›ïaí¦ÚŠÙc ˜öÍľ+4§¥ž“ÉT.[MRcâØ±c˜´Üöh¹ZGãêõÔ·v “É«=u©o*ìv‹…B‘R2™ •JÅÈÁøÕÞcØ]n’œòŠJôzíÇV …"¥„d2òD„wžÿGŽwöáñúPêL,ojY0¯žà·t€ÊsäB¡Sµ!‡IDATP°óâ‹/qeh Dš1‹üÜÜå=›5Ô×MÆJ¥û…}üË+ï2íp‰%(.©$3+StˆÇ9òx£ɗبû(zùº_æéÓ;^—kåÍ;ë,“!¿–L^¶€'ÒëõÒÛÛKà9º?…“æoôŠì6Û HJãã㌌ Ï ¦.“Éðz½ ¤rÙ~tYùlìl áW¿†‡ïÛŽÍcYÛ]üÎ×>7oÕõIP¨´´oÙIo8›¤6ƒÍ÷=Æ#Wˆ†ÿŒ£JÏeÓæmXJÔ¦|xüI¶µ×£R,Ò2•.ç¡ûvÐ5CüYý•ÌPIEND®B`‚nted-1.10.18/doc/docimages/previous_panel_button.png0000664001041000007640000000312311520267216017371 00000000000000‰PNG  IHDR$$ᘘsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEÙ 7 ;RLtEXtCommentCreated with GIMPW®IDATXÃ͘ÛoGÆ3^ǹ’‹G”pIµy€‡¶´ªÔ¾´Hm%ú¯¶R‹Ú&\b¢†$…€‚(  !4 Á^{çôaw½³—8†¾t¤õÚÞ™oÎ÷ËŒúéç²ñ…"lJ©6.ˆ`Ä€Rä´öÿ×…ÿÊ+«)D¥¹\ŽW¯^àT«UöÞìÒÓÓOÞÉ7_/\¨F)@¢ð´%:Öe/$øP€1×u) T«UœZ­ÆÎÎ.½=ýäóq@6­u LøÛ¿YF)´ :dƒ‘ÐFxž‡ëº¸®K­VÃAÄ4¿ƒÊ°†BëPR[ÿGïÚ‹ qù€h.<¼cÁlä>j‘¨sÂÐÁ3 h¥BøÕ…Öñwí¾Ñ]c€ p|&³EwX WçO¨bàŒ1ìíí²ºú\.Ç™Ótuw[à$¶0˜Âùo@â‡Í­­—,.þÉ•©Ëœ?ÿ ÇÓÕÝeY'n¥°¿ƒø˜Å¢-IWrR›ûøs¨×]ž=Û <=ɵë¿óôÉ:ããgð<c$f!‘„…!K+*L+«„ÞòàÁ2S“¿07Wáùóg`=D "&6nRG8ñø Rc‹1 ¦Ñh°½½Å½{15õ+KK ìíî"bpœ¼Ï€=±-dßåIãkHµ¡“ÈmUl`Ïk°±±ÆLå*33×XYyH½îÆ'Dî»v\"‚X^êdxv¦El· Ûþþkk(OOR.O±½½E£QY òU‡¨¡p›Ø<3h94ˉÃZ.çP,–¸xñR‹•för èàÀ??iJE©O\‡ý¸½`×çÁDld§¹#ð¯'¦ •ÊÄI«Nkì€ãŒñ|c8ZkªÕ·<ÿ{“BG!]?JôKG.àw–änÎ:ŠIæ,{QþA–?“1‚×hÐß?€Ö§³³@WW7;;ÿ¤Vçy^j¡µF”€‘ ÆAðÜHE”GÛÓô¢ðȆfY }½}ŒŒ”È¡pòœ:ýáÿæHï_œ¢`()ë(þIEND®B`‚nted-1.10.18/doc/docimages/check_alternatives.png0000664001041000007640000007642011520267216016613 00000000000000‰PNG  IHDRÚØ ;sRGB®Îé pHYs&&¢ï%ütIMEÙ  >ßЭtEXtCommentCreated with GIMPW IDATxÚì]w|ÅöŸ™Ý½ýÞôR!B ¡„Š‚¢¨òQË,Hó©¨ïIQP Jy‘&5„¦’B i¤÷{onß6¿?æÞͦJ"ê3£>{7»³»3çÌ9ç{ÊÀËÓgôërOÿP/‚çyŒ1ð4¾òiØsBéùÏv·&}Aˆ1†Wë_z+Œ1ôÜØVÿôÂò®È`Š+µæÏ’Od‡t}å¿‚¦C¯¡?!õŠ;z,ä³)½lú¸6ÈÛC/¦i“ÕµëtÙùÜøÑÁüÇFDšM»ÝN¾Aê”||˃Vç¾ÙI2vò÷IDߨ „Ðó1 !ÉßBòÔÆ§@ˆ1–®‘ÛÝÃy€û!lÂiä§4O¶ÊKÍ8§•¿Ê/ž"¿6ãî&ã&ýl6˜ò3ÒÍ(¬Ùù–—5£m÷±œz<ÄÝúÏ÷Ë9A·Æn%⃈¢|ر(’Iqß.ŠdôDÏ4~„@šÆ"ùÓ¥—‘†ˆ\,ŠÀ3b@>›Wætì¡fŸ#¤[` !Ôh4^Þúé°¾Á—Ãn—&ØMåÒƒ[ÌŸœžŸòüDA„„N‡C©`hšáÁÝ•(6éÊÓô“L*”Q¡ôÈÆ÷ð0ÆXÎ*"ÆÐÃ²Ž°–g É1ðÜ+Qég+ÌÐó¸í«æHóGÞ!Ñ3‹‹œ4àm¯’ÒcÙâçsQÄrþlÁ7dp¥ñoÉ-?Vº{QúIž"zHMÎTB„€Ðår! ¥ˆ±Àó¸UÁ"g~„(„DQt:*• "Dœfr€p—ô™!‰{¥U^" cïÆññüAˆbY¬P¨0A±qíÆ Ñh¤„‚ TWUÉÅ7„Lª\˜ˆdIðœ$1Å.9‡1EQ,ëº|ù²Ñd´4XÔj•Á` ÷óóã!$}p3Éã> !”Q†›Ud„e¬Ò(ÈO‰de¼Ñø–-ê–Bj–kwrêÇ@òIT1&?´þyز¥`qs…gžÉxB¹ˆ“ sù\È¿ {h!Dd÷C›òF“ððI#ˉ"ö<Ëý“Ì]k|Õ„mÈ2çé§‘˜<7"„0 jjkÌ …ôz}PPHXxx3ù!¢Hú1¦(ÊX__RZb6§^¯óöö‰ŒŒÒh4nòõˆ& c0¹dÃr%¢™ ‘¤™ŒtÀåeeµuµ f3P¯×ùù„……!„DAÀMG>AA´ ÍÔ\A‚‚ƒ)Š"? 9Ž‹‹‹k¹ÚUUVJ‹L'EQµµ5'Ož,(Èw:¢(bŒUJ¥@@¿äþñÝã±L;"“!Bˆdò ʵ\Æ’‘ÄgôaK}càávù .•+]P.¾ õËE¥´ÜÊ ì¹X¢³FËDFý¸ÿË”9í¦š nMaÀ²5›üIÅÆNšjb@¶¬b9 y®å:•‡+€Ddc¹&#{U ã÷gÊÞBh±4œ°ÿû­·¾ýö[^àG޹xñF©PlÙ²åå—ç*•ÊÐÐÐ×__Ü/9Ùf³½ýö¿·ÿ¸¦éÃG<ùÔSýúõÓjÔññ=~ýõW¡N«‰‹‹ûítæˆá©'Ž×jµ€-[¾KHHxyîÜÝ»w#ïš,,ìµE ?^»öR^~MmM=õ:­··7¢¨—^zé‘ÿ{ TUU5ïå—Ož8Á(˜GgÌxæ™gÆ¢ @„T4ÒU?¼‡7ÔÕ°fM”É­Fh³ñDSFtk/ p#õ`¹îEìDŒd£‰nÓKh˜ l%O¤iº®¶Žu¹âãâžÿíôéÄÄD†a 6›½°°011ñ–·œ¼õûï{ìñ9sf…bõšÕï¯~oëÖzõJ<8åµ×^]µê=žçýüü2³²Ÿxü±gžyæèÑ£E……ï¿¿æý÷ß›ñ茜œìÊÊJ€V«Õé´„n´Z­Z£¨ÔjµF³aÃÆñ·Ý˜9ó‰·m;x0"Ô¿__N·pá"»Í0îÖ­Û{ï½?ýÑG+«ª†9yâDר˜¿õæÊwWíß»ï¾û xüñ'–.]º|ùò7/îß@ß¾ýæÌy®¼¬<;'';';môèàààûï€eYBÅ‚ÀQp«~XægŠ•Y©2Ž€1&ƒJåVÆØèÃîÿZq¤xpV·ñ!q Ýb¢°âf® „f³ÉËË‹Q06»ý¥—^:lؼyó^zñ%…‚ùàÃ,êôëD‘@2‡Ó¡P(ô=/ ‡cÙÒ¥YÙY3Ÿ|rå;ïP5lØ0‹ ¥‚åXžç DÍ<Íý{Í@m‚IȈ›BÈl6 ^J¥Âj³Þqûí4…æ½ü2Bhå»ï>Üî°+•JÞÀrœèYä ››ÅŒ àyþôéÓAAAË–-»í¶Ûºté²ìèÑ£cccU*•‹,À½\A …ˆ±À سîhTjA%hVÄ¢R¡ iÚ=;¢¦æiï>}ÆŽûì³Ï¤¥¥Io•~ð J¥^¾|9MÓuuu›7o^»ö#£ÑXRRòå—_X¬Ö²ÒÒüü< €¯¯o¯„žkÖ¬þqÛ¶áÃG<|ĹóçæÍŸGSérXê0‡ÓyÛ„ /¾ôRUU%M¡½{ö†††N™2!hw8Ó¦?ôÐTB™ój\Y¥Žs•NŽ'ê ±+ …… rŸ„D #ª‚!@!€ $?Ýz„îÛÉ- (b™@yW˜FLy®'W…B Ý@@ê( ˆen V(!ŽãhŠþè£,X0oîËE—‹"""_yeÏñâ^“ MQ Ãð1þìÓOs/^|wÕªˆˆHo/¯E ~ýÍ·Ä@‰n©èé=²(s°bQD’Á)ãê E!ŽãEAÄ"¶Zl! ÅbÁ"AàÃ0 Ýj|-ÖÄß*Ò%b–=`À€éÓ§/]ºô‹/¾À³,»k×®áÇ{yyÕÕÖ@ˆ ðññ©¯«çxŽð¢ ƒ§ˆb#4îr¹Z¡Q«=ðo£]HnqØíóæ/è”t÷ÝwIЋÁËB¸víG‚ iš±Úl_}õÕ+¯¼²fÍê‘#G½ÿþ{YÙ9€à½ûöŸ;>=ýàþóo•J5{ÎŒ1Q‘Íf3hM›øøø"?ùäS–ã(ŠR(‹­Ã3DnnÑ Ê¸K¹Å <âPr yà,"±ã»J£Ù°áËwÞygÙ²eV›mÁ‚.—s℉.Ö% ØËà !"^ 9ÞICD,R!äfWQ¡‚‚///†aöïßOQTFFMÓÇŽ«««;qâ„V«í/Š"B@Ęç….áÅÅÅv»M¥TµœH„Ðå¢Âè˜(Šfˆ¦LŒÆ"™NŒÅà`»ÃNܨ‚ `,bQ|ü±Ç²³2W­zwêÃSóró6lÜðÍ7ß]…¦é3gröìÙC&öòåË_ýÕ”)Súöé‹Rª”तÞå‡ÒÓ÷ìù‰çy½‹ÄA°h·Û^|ñÅ… lÞ¼9---;++ýPú~hµÚ ‚¢(jµZ¥‚9yâx÷øîAA!#FŽLHLüåÔ©=z„w —tãÏ?ÿ¼gBâòeˆ ÃsÜ /<¿víÚÃ?ŠïÑãÈá# ³çÌ‘2"…[wÕ·ŒµkÕ¯/÷@"i1•S÷S‹?ŒE€!T=2û4:£0Y±è†­D,ºyÉÍM¬‹õ÷ó÷(-- LJ…†~þùzZ 8!t¹¤(2*B§×»}ðˆ"`ŠøøžgÎæ º%ÅÛË‹ø.ȇ„…†bQt8Y–su éÊó|£Â 0±ŽEy<‹9ɪ‚(aŸž…²,ëííÝ%"¢°¨ <4|ݺuo½ùfJJ „ˆcÙ?øpô¨´ªªŠ°ðPƒ—eY¢è¦ €µpáB»Ý.9߈BuuuãQ£Fqg08ðÐCõïßßÏϯººº´´tĈÑÑÑ¢ HÞ(QýükkjJKKƒ„ €ˆÒÒ’ªÊêa©Ã!„äFÏB „,ËšM¦qãÆiµ:–ey‡••”öíÛ·_¿~ÑÑÑý 8wþüO?íq8³žœ¥ÑhºÅÅ…‡<˜ž™y:222!!aüøñZÖáplÚ¼ùüùó3f̸ëÎ;9^><Õb±¦§´Ûí½{÷éӧψ‘#ËÊÊÂÃÂÆŽÇó‚À ½ûôîѳç±ãÇ<À(?þ„J©”ŒÃ   ?¿ûdegOœ0ãØÐ¯¾úêž{î5r” fsÃê5kzôèñë/¿Îyþ…îÝãxŽïß@hXè¾½ûŽ92å¾û ƒ W7«œ§Ëœç«\—jØÜ*öR ›WÃæÕ²µ\A-[XÏÖ³—ë¹¢z¶¸ž-1r%F®ÌÄ—™¸rWnæÊÍ\¥™¯lªøª¾ÚÂWÛøZ _kêmBM0Ú“C4Ú“C4:„'oq‰‡`sa«S°±¢Ã6NtpØÉc‡]æDÀ €E^ļÝë –s¯¤ScA5Z­>}:ÓßߟabÓJÀA½É˜——?lXªV«xzœÆ¡ˆÈˆS'OŠ¢àíã+Š"–cQóòóô¯¸îñ<ÏCYö ]XÄ2dÊ` ÉG@V@:T©Tþþþ§NžôœöðÑQQ§“eÙ¸¸¸ÉwßmµZrs/Ý2(E«ÑJ؃[ÅÄX£ÑB§ÓYS]%×ÏÔÑhdYvß¾}ƒ~ë­·6lØ`4 cÔ×× š¦EOÜé—a„Б£‡óóòúöKöóó#ì`·Û/\<¯R©Ý’¢Óë\N—ÛK(an"„Ô*•ÛÁïéP­V‹‚@Ö`š¦†!*)ÏóD¡b ‚ËÝá Ñ 4MEA À9EQ Ã@OŠ(ŠN—K¥R!„ìv;ò„ÆP4ÍÐ4@EçEOð‰ Ã'ƒÃáÐjµ/¼ð¿ڼmÛöÄ„D^àKKKvíÜ‘–6† ¡<Ï…ñ€Å‚ Àd~õõû÷ïÅ'&&i´²0™ŒÆœœ¬nqÝûôî !ôÈ"Ø<º¼).ÜÌ[ê¡°‰Â©Óé.æ^Ì8z8&¦kx—.4MC8Ž«¬ª,-)xË .á]ˆ›QÞŸ( ÐétÖÖÔH.HÂÓAÁÁ4MŸ9sæÙgŸ]±bŦM›–,YÒÌŸ !¬¬¨hò¤P(TjuiiÉþýûkkªuz½ÓéÔiuoßcàt8—%E@ˆÂXUÝ-õz½Åj9xð`^^.Ã(È*ß#~РµJmµZ%²”GÄø¸YEβ¢("Š¢(jûöí‡þÏ¿ÿ-62kcÐDMuu3vÇÓ £×ë)„8ž³XlZšQ(°(ÚívË"™S\²†‘':X ]&LlJ²PÆ  µ8m¹;´ q¬·–#÷CÃfŒÔ4˜_­ÑPåp8¤x> !Ng³ÙAh²HG$Ñ–…‡ÈÔêV²_ätÐ$@ò™Èc.åq¥Mà å±úPÆ6MÂû› Ò4e›&”Ìe!9ÑÕ E!Q-V+CÓ*µšÄp°Ng“z„°ÌÒP)*èp:N§N§£(J»ÍÖÔ rt«ñëR š°aËh|y³N§S(,b›Ý!T«5—Ëe·Ù®僛³ ”Eþ‘WT*•„&ˆ#açaQÕ4S¢¬P(…‚7Çñ,ëÂM)C>ô¨éG‚¦ñ +:€ò(Xr¢e C+Ù`W:ßHy2²=ÊÏcÏÓå/¬[FRÍŸ1ƒÃ=’ÐC̓¦zn+©ÍmLC9ØÕh¾{°÷±[äÝ‹O“xû戛eu4;ß2«)Ë1M34ÑuyAä8V®¥7.ÇM%ƒ[—Fˆ(ØÇq×lMi¹({>É£e5 …n†Dî°1cš¦UJ%yOAˆÛP–GƒåQH„Uhé·(ЧӉen›ÍJÀ97¼à°ˆÝØŠˆCL€û}¼½½;°N×3!ÁçFû$ 9IæéäYÜÀ‹-¡ e#æ>ô8­¥ãf´zF~ÒrÈO~,A RÍézÉäR*•ÿú׿rΜAžTDÐ4«VŽO™ªÙ™?|èu:]Bb¢ŸŸÀîpdefšL&û´=Ú-‡¥ÙŸÈgZ­ÖsgÏM&ùçK3Òr”šÍ„ðð‘#+ß}WJ—?Êr½d-:üßbL-\¸Èn³B„šÉkaqqqnnþvüÄq—Ë©Ñj÷ïÛwìØ1–ãBCBÈ >|xÿõõõ]»v%sìØñœ;Þ××W¯×cŒóóówîÜyæìYƒ—W€¿FF†^¯W©TE8qB§Ó1 óã?ÖÖÔîÚ½{@ÿþ$ æðáç3&:ZpŒÁêêê/7l0›Í—.]Š‹‹ËÌÌ "svúôi¥R¹mÛ6ŒñŽ;ëõ±1±dñ.**Ú¹kWNNŽ——×µ”Ûû]›J¥ZÿŧNDÑËË+ `ãÆýû÷?pàÇq{öìÍÌ<­ÓëÇ®]»NŸ>­×¼¼¼ „v»}ÏÞ½G328žŠŒ¤<].×þû>R]S¬Õj¿øòË~}ûR•••µ{÷Šü‚2\;v®9pà@eUUtT¡ïýû÷ÿüóÏE­]»¶¸¸¸´´´ÿþ•••EEEÁÁÁ€ªª*rͦM›?üðCdd¤^¯?š‘±oß¾šššØØØ?|„;¶ç¡V§C-±‰UÎ;÷úâ×Adï/p IDAT Ø´qó+¯¼Âó|``à7ß|›••¥P(~ܾ}ÇŽQQQ»úiË–-Z­vÆ çÎ ã9îÓÏ>µX,,˾ýö///?_ß/7|©Õh·nÝZS[  iú‡mÛª««AX°pa^~^lLŒ(Š›6oÎÎÎŽŒŒüꫯöí߯P($"óöò ŽŽæ8îÛ-[ªªªF£ñ‡m?@__¼xëÖ­Q‘Û¶ý¸uëJ¥²°¨hÕªU†f˜O>ý´¶®îŸEA¢£¢ „qݺiµZ†aÞú÷¿½ †o¾ùfå»+}||E½ýöÛ+W®ôööF­^³Æf³q÷Å—_äçwéÒeãÆGŽe†t¨P(¾øâË ç/FDF”••;N¥R½ñÆ:.3+ëõkŒÆú… FŽã.\”ŸŸ‘ž~hÓ¦MÞÞÞ¯¾új}½122òrqñºO>¡(*,4ÔÇǧk×®€‚‚‚ƒŽ*,,Üà€V«}õµ×vÿôSLL´N§Ûµ{÷·ß~u0=ý«¯¿V*•ÿ“à}%¤c,ˆâwLštÇí!‡ÃQS[{Çw@Y–½xñâСC×­[·iãF__ß!ƒßy×]S§N2e Im§(jþ‚f³Ùßß¿¦¶&&661!aÔ¨Qv‡¤È»8š&Ç111S§NEñ<äÈ‘µ~¨Ñhç/XpëøñÄÅéííѯ_¿„„Š¢z%&îÛ·oÚ´i™YYþ~þÑÑÑJ¥òégžöóõKêÝçá©S~xêÆŽ{Ûm·ÞyçÒ’_Ô<Èàwi¢,ÚBʦp7lØ0Š¢ÆGòg”J%€„þóŸÝãâhš>”žþÈ#ÄÇÇÓ4}ôèQEzáÂ…Ë—«TªØ˜˜ÕkÖ OMå=™úÕ5ÕÉÉÉi£Gs'Š" ³Ø¾}ûC>8hÐ žçýü3Qâââ¦M›†1NJJzþùçgΜ¹`Á¥RIÓô„Ûn»u„ççÌéׯÍ0iii‚ „(š–”7š¦1Æ*•ê©Y³ÔjµV«]½zõ†/¿ H6ìÖÛn›þÈ#,©LðWnbÓ`àñ«¸)‡eÙƒö{yys÷ÐÃÓAðöò"u4T*•—Á@Q™UVTXxǤIDà"„ŠŠ.¯Y³úÜùóÇUVV>òÈ#J¥rÞËó–-]ZS[7cÆôx°U4[¥T ‹Å8–‘1nüxB^ ó°ä~Eq„ OΚuûíwüðÃsfÏ&—……†Ùl¶ðððšš„Àó¯¿þúÛK–å|ôèÑ‘Q¿\/Iªß©Ùl¶±ãoÅ¢HF\¡PìÞµS«Õò1“¸¹þçýëíŒèA©Õê–ãD·„8¼}|ÔjõŸ|8BÇ Æóœ(4–<\õÞ{. ¯“QlV«ÅÒ@4­VëåíÓNçnmmÝo¼ùÑÇsëîj<Ï÷èÑã•WÉñŸì> ¡n\Äa³¹á•Y³>þøc¡)˵ìCUzVñ¨.ͽ]7Àä.W#ÂÆ(&c}³B×Õ(ŠÚ°áË¢¢Ë¨”d¥·Z+±cnV¯ý¦7y˜J­.*,¸±ñ§(ê«ÿn.((Dˆº*«üÝnŠ¥ÞÀœ‰‚þfI ¡¼K—2Že¸dÈ~6ЦyŽ¿RÅ´ÈȈÑic:Ä"u'ÁÖm,U|ëlWGR'‰“•µíl¤iuÚ%K–Ý~ÇNK¡7Íž=ÛÙ‚BX¹r%Í0¸µE‘¦i ³åyždðø±ÉyŠºÂœº¹ƒ 3+ëZ †aJJJöìÝ;&--<<œx:ÓÚä:ÐòeK;9`zÏž½Ë—-5™L-õ¥·—,u¹\­F* ‚}0==.®›J¥:ýÛéÔá©/沬«OŸ¾?:Ô=>ža˜¬¬¬áÇŸ8q<*2²×èTÀ®CÏÈÈxíµ×Ïž;·qãÆeK—&õî Û§­ý5+ß_¥ã,uQM&ayVMÓN‡ãJã¯P(¶ïØ1nܸsçÎ9ÎÑii{÷îMHHP*•{öìIKK;{ö,˲£FÚ»w﨑#ËËËÚ€¼Qç_ÕX„ÖÔÔ._±âþ<{î 7÷Ò¤Iw.[º¬Îª|ô"*µ”„sÓ2¨næ³@«‚wPaµZ*++®¥à8.--íØ±c>>>‘‘‘ééé)))uuuƒÎÈÈðóóëҥˡC‡† ò˯¿´mí\ЙîÖr¦ mÑ4}øðáÙsf¯Zõž +i…xõê'g=•ž~ˆ8^ AäæænÚ´IºR©T~¾~ý•‹Û”Jå†oš7–€ï555v»­£¤.DÈbi(*,¬©®6W5B………aaaN§Ól6GFFýöÛoÇŽÛºu«Ùlv8 ‘‘‘%%%!!!­Î T¯¹Sª\Y7¥éúúú… >ûÏçŽ9Úê5'OžüçsÏýë_¯ÖÖÖ*Š«rKNNΧŸ}¶wß>r±Z­^¹r¥B¡`F*‰- ¥Ri0HÁEéXÚ‹S¡Pèõz½^O{U¯×k4’ÁFÓ´^¯3 cìëë»fÍ???ò“<Ý`0hµZBÖ4Mk4­VKòòÕjõ ãÝD)­¯¯³Ûl‹¥ÃTŒ eò€Ã†ˆëïãëÛö€“µ|}}9޳Ûí+V¬¸téRÏž=õz=˲›6mr:~~~õõõÞ^ÞWé­“%®4Ê—.]zñ¥¹;vî¢(ÊßßßßßßÏÏyâ8üüüÈI†a~ضíÅ—æ^¸xñªk6ÏóÏ=÷Ü'Ÿ|RQQA.V(¯¾þzËwß‘œÛo¾ýö›o¿Õétñ=z¬\¹2!1qÔèQÙ99Ë–.MHL6¦¸¤„pΧŸ}Ö/9yÈСÇŽA­Vëð#žzêé°ðp¥Ryð`úðá#»ÇÇ?ýÌ3 óÜsÏY,–.Ó§O×ét4MÏ;7¾G{î¹·ªªš$ ?þøwÞyWBbbPPмùó/ææÞ°Há8ÎX_Ô)Ú$öÏåtšŒÆššj³ÉÔ6r—ššzêÔ)ƒÁ;þ|’’àïïïíí=}út–eÉn(·ÜrKfVfÛKC§YES266öË/ÖËÞX–MHH4šL½“’¶mûAv%ól›[È.­+ßYñÒK/}ôñGM«]7ß Îår……‡ådgïØ±ó¡‡zýµ×r²³·oßþ Ïÿ´û§/7l8{æÌáÇËJK—.[Ö-.Žliöð´©k×~PUU½oÿ¾mÛ¶yyV­Zµtéò>ø`ÏÞ½ÙYYv»]„%K—2 ÅÙ39_ýÍþóŸwß] (º\´î㢣cŒFc@@À gõ@+++BBÃqÇM‡Ùl²XZ"`N§ãÊгÿþAƒ×ÖÖ}ôÑGëÖ­‹ŠŠzþùç§NšŸŸo2™RSS=šœœl¬¯ocú:¥J[dít:mžfµZ­žØx²å¼9Îk\=yAˆŒŒúÇ”)~øa“ªÕ-4ÍÔ‡¦Z­Ö ·ÝªT*zè!«Õ:qâÄÂÂ"…BqêäI¥JµêÝw¿ÿþû¬¬,§Ã0îÞ½ûÀ,jµúÉ™3¿øbý[ÿþwCCCî¥\—Ë…1nhh°Ûí ÃìÛ·ïå¹sçÝwß}þÂy’7~ܸ  à††Žãf?÷\tTÔ ÅÒ@3 ‰ÎDžâåíœ ‡Ãáp8[þÏqü•ŠØŠ¢YQQ¡R©T*Õ±cÇ’’’Ìf³Ñh|ë­·ÂÃÃgÍšTRR^UYÕ¶Œê”*W\§»¢:zԨ܋O:Õb.ØL4aŒEYåRÇENêß?44TÅÔáÃòlÅát:¿ñÆ·ßÞËßßétffe5núŽ1YqY–e†xßÈI÷f5M ëÜÀ Øl6³Ñh³XDóxðà'NôíÛGh­h¿\ªtâÄ7¯y{{“HxŒq÷îÝ»uëÖ­[7A† |)/oêԇû„ß~ûí:NŸ¸8Á“þI.#Çqݺ¹\®Ñi£yAxþ…l6Ûä»îÒiµ,ËFDDU­V?ôàƒ=þ¸Z­ž6mÚñãÇm6ÛÜ—æÎš5«gBÂòeËžœùäŠwVÜyçäøÝ-\$‚V«õóó“>AAA7\{EVÞbèƒÂBÕUUUU• €°ð.m_ÏqÜèÑ£?¡R©N:µxñ⯾úJ©T&''oÞ¼944411ñðáÃþõ×ßÂÃBÛú(§Ó^UY…eÙ‚±ãný[‘¯Ùl2Ö×­ÃÛÇÇår97ÇlÒXŽ8` ÉlîÓ§Ï×_ý·U«!ôå_ü÷ë¯÷íÛçò$ÏHY¥%ÅR‰u²x+•ʆ†¡R©d†x¦yžç8N¯×¤cÜò˜ g@ã8Žl¨Ñhl6›´ƒš”GÓ´Íf#Án·v¢iZE‡ÃAb¥(Šr¹\ä)jµšeÙk uƒV”—;þÌ™9>áÞ2»}Áÿ4M÷éÛïRîE“É„ª«­¡wß~f³Éa·¿û£FõJLp›‘‚+E;œN„ÜÁ]E•••}ºÓ¯ÒÙþòàT -0Š–ªÛ´l …bçΣF¾xñbEEÅøñã<Ø£G¼B¡Ü»wï¨Q£ÎŸ;Çrܸqc8˜š:¬¢¼¼ 1ÕÉ*×'ý‰‘`óì¯ÙÙäK¾ÅjEwt5ž3fQ(ÝìòÐ4MeffÆÆÆJ;Q*•Jxã¾uÌ B~~~—.Òò/íùÑI[­]MÅÀ `›ÍzSå €‚Àÿß#Ó÷îùI£Ñ× 3™Œ7¶\"ˆŽ9¼`á¢_ù…mtã`ÐéWélGµ`¬¯¿ÉªWMu5ÏsrÆÀ××ÕÝp!Öì¬Lƒ^õòÞ7Í*ø½•Nìøök¿ò=ô®‰Yl 6J” %È·oã¼´­9¾‚­Ò^¶®ªª2]­ ÀU[QQ‘Åb)((0™LRtèÐëbR.33S¡PÄÇÇ.]º”››;mÚ4ÿO>ù¤²²0a„ &´ ’k»çÎè,ùhH9a¡×æ¯gÆÛä:166öäÉ“QQQ …âüùóýû÷/...--5jTVVVtt4MÓ/^ìß¿NNN—ð°ß—UH‰·ë½ë—_~8p àÂ… Ý»wW(d›5¥R)Í+Ã0¡N[ýsÒ®¤O’­ÛYó¡íæå啜œ|ôèQöÚ6E"»ÔwøËH&ÁMmR˜†Ô,v8#FŒØ³gOlll—.]vîÜyçw^¸peÙÔÔÔkªYLöä¾ù¾#it«Õ þ6mË–-#F޼ÿ™>ýÅ—^úî»-N§Sâ²èHÅ#I}W†a†²Ú°ä2É •.#¦JǓɔMr€IQYr1•Ç–.V©Tó,(**’ê\"„Z})Iúlà æ)%ŸÉÉV«57à1ƒ­5pm~FŽã†Oýå—_¼¼¼"""222ôzýš5k6oÞ¬×ëçÏŸ_[[~ìØ±ffeµZ {6U¡ñäU¹í¶ÛV­Z¥ÓézöüÅê ¢øúk¯Mš4Éép”–•®^óÓéš6m /?Û¶m.§sü­·öíÝ"´lù²þÉýÓ ðxøá‡T*µR©LOO?ôóÏÞ^Þ÷Üs7)hôùçŸûøúž=s&"2âö‰·§§§Ÿ9{6**ú¾û¦h5š7ß|ó©§žÊÍͽtéRyyyeUUr¿ä±cÓ D‡cÓ¦MåååQQQS§>”›››½æƒ|¼½¿þº ŠûÐiu“'ß*Âû«W‡…†?qâÍ7Þ(..¾|ùrjjê•òï MëêÃÂBmVK`P´Áò5Š8£Ñ(ðháŒ÷òòR«5W·Uª­­óöö&:|MMÍ÷ßÝ·o_aEEÅ–-[||||}}F#©^Ûªè#<‚þ–xvŸyæ™GyDýÙL¯cœN§Õjåx>44ì…çŸÿæÛo†).)Y½zu¯¤¤á#FlظñR^Ã0k×~tæÌ™{î¾Ûj³¾ùæ[ƒáð‘#Ÿ¯_ë­ã½}¼×|ðÝngYvÕ{«8–ˆ1.--=zôhÛî ŽãXÖN—ë"6„R¡0uµµÒÿ5ÕÕ&2*æZê©#„ ÂÃÃN§Édª««Û·o_JJJTTÔ’%K CII )ï]\\ÒF‡°ClAÚ¿…ÙÔ“çy94L°/î:ë©§ú$%%&$¾4w®ÕjU*•‰‰½î»ï>žçgÍzò¹Ù³ï¿ÿ~žçŸ|ræ‹/¾(mD.ðü¤I“Fމ1®­­ÍËËKMMýò‹/X–ÅÌ›7oÔèѯ,Zäíí Ø¿ÿÔ©Sûöí×»wŸÌÌÌšºÚHmDttô}÷ÝGö`JIIûìóýû÷Y¬VŠ¢¤’HÀc8Ùl6_€B©$eZ‰­¢ÑhšO`‰¶gÇXWçãëWYQ¨¯¯× “B|||EQ¬ª¬E1(8¸_ò€ºÚZ›Õ‚®a5dæðáÃÉÉÉ•••3fÌØ´iÓªU«A(..ÞºuknnnaaaJJÊÉ“'{'%Y, ­-²¸cŽ<ó. IDAT[0Æ?þøã?~÷feei4šnݺ+îܹkÖ¬ñòòJJJÊÉɼöÚk#FŒ¸±·ús£¸·jp8ùùy+ß]õÀý÷³,ëïï?~ü­sæÌ þí·ß„Rô¨”5%Šbž=·|ÿÝ sæäç°Gý°ç2)ÒÔ´bŸ6ªJ¥rùŠåÛü±gÏž?íÙóÔSO‘].—Á`°ÛíݺuݱkgbbBEyy½Ñ¨Õj›!ÅÅÅEEEÇoƒ[ü *•Bh·ÛôzƒÕz­Èµ„%øùùŒQì•Ô§¾®®¡ÁŒ®MkEÑ×××l6SåççÇ0LPPPCCB(<<¼ºº:77722Òh4z{{7X,¨Íkoq£¦H;ôïߟTû´Ûí<Ï“¥¡¿áRTZ7MÓÏ¿ðÂ-ƒÝzë­o/Y6&-mâĉ<Ï'''wïÞýᇧõïßÿý÷ÞÍj`±XxŽ{xêTc}ý¨ÑiÏÍ~î®»î$–¨ÝnPÈ.KJ³Ùí!0rgÏžìÚµëÆòU®«IÕ%;°ÏËEEQÑ1‚fÕ%‹ $©Õ-‰²¹Š´Ó<‹‰% (Š"“E.#ˆ­¤¸·<&7’ž‰®+KF(Ф žôW}’I?äq¢ t‰Œ,-)i9’Dȇ†…•–·¥!ÌͽثWïf[A4Ù2 Iÿ°¶¶zâÄ;<@ð!yuIŠ¢Ngf3æüùóN§sàÀÿýïÏž=+BiiéÃ?¬Ñh†éß¿¿Ü¯Ò¬º$™‘àà?Ʊ1¾çž{æÏŸïçç—ð÷AÀtѪ ”Ì6é¤DôòcÑc¢H7Êsª[K”-”¢¥—‘ ì“w¸ê³šõy-B¾´¸Ý(Ürc ÇqC‡ýí·ß‚ƒƒýýý322Æ×§OŸ;wþóŸÿ,** E?~|À€ÙÙÙAAW5ëÿØÂ7ß|t¶¿MC7–D™L&½^Ïó¼ ÞÞÞ EX­VƒÁ@ªàzyy544ètº¶9¿½¶Êe,¶|!RY‹ü+¡7ìrÁÅšþ²M±ƒŠî!„òóó»téâp8L&STTTqq±R©ìÒ¥Kaaa—.]ìv»ÙlŽŒŒº|ùrhXhÛdÓAøo¾ùæwß}×ÎÒ N§³¬¬,55•¦éK—.‘“=ö˜··÷uÑ=ÇqO>ùäO<ÑIsQõ–[R¼}|.v×Åuëj2Ö{{uµ51Ñ‘¢ˆ»ÆÆ@õu>Þ^€úºšØ˜è«Ú«/X°`Á‚íì§¢¢âÅ_üðÃu:]ïÞ½³³³Ÿ|òɰaÃnì­:S»þ´ßùÛÐ`6™Œ×ØÖRžHkw³®¤_-ÎS-Ov°TéA¶X,ÇY,•J%Y·7\¸“Oþ€1Í0Å—/ßÌ€B€ 4C7[%‹ hæF¶@BêtºVÇ;S;:[Ç4ooïÔÔa'Oœ¼ÉÏ…É÷¬õõõŒŒ¬¬¬¸á’…‚(ÆuëÚr±¥1QìœëÎÖ^½à¿›7ÿQò\r°šÍæãÇ2Ú©(Úìv†a°§¢7–bÀ¤@Š?Ê* š¥”íÔN=ªÓV¹ùM¾qßûטÇÖFãyº{#ÔÔ†ÛS2l…ÞNÒ¬®®¶Z­ÕÕÕ‚ 8nOm]]]}}ýõ& ët:N×I»­c Ïí±ŽnœÐüñÇÇ·,&™zï¿ÿ>EQÑÑÑ!!!¢(îÚµëèÑ£×ó<ÇwLœ8±s’;[ Ã"‹|ðÁ|ðϵt*`­£ÛYü{+¬w½c/(—ɤžog(õN°¸)…‰¢ØnJ¢(J«Õb€[Ã+±Z­n£À ÆØl6·w× „gÏž5›Í)))o¨Tª½úêâ×_—¬Á«ò›——Ù-¾ý¬ûW,³ÔÉ*WžNƒÁÇׯ=l0•••Ï<ûì÷[·²²}èIS«5‹^ye÷î]WxñÃ?´‡@iiiEEÅàÁƒ%VaæÛo¿}û?ÿiƒU.BReôz}¿ääß~ù¥¡Ýï!œ8qâöíÛÿºz:Y¥©@ éêêªöìÚEQÔúÏ?kÌ¿mA1yyyçÏ_¼RÍÏ`Ô´Ru3}²U3¬Õ“òR@RWRe£Vû$b$"2²´¤Äd2Y,–c憆뭇ZÛóä»ï¾“2;YåòhJa7p;EѸMHÅét^‰UZ>—a˜Ë—/çææÒ Ó§wo½^Ïq\ff¦Z­®¨¬ôóóëÓ»7IÀ:}:³®®V«ÓõOî§P(!„ Ë‘£GGñ¡¡aÙÒ4]ZZzáâE ¡¤¤$oooéYéééJ¥rÛ¶m‘‘ݺvÝ»woZZÚÙsçTJeQÑe–cãºuÓëõgÏžuº\qqqáaa$+&;;»®®.<<<11Q§Ó™™•iµXCBBºwïNÓô‘#GRRR „çλ\\Ò`6“3 ³þo¥žt:^¯o»tGJ9ŠÊÏÏ_¾|ùåââS§N­ÿâ —Ëe³Ùf>ùäÑŒŒªªª/¿ürç΃aÙòå™™™555?íÞ½qÓ&R o÷îÝçΞÍË»ôîª÷*++ Q"Šº\\¼bŊ¢¢Ì¬¬Ï>ÿ\J3FÕÕÕªª«‡F£ybæLo/¯¯¿úêÍ·Þ,,,ÌÍÍ]¶|ùòåË r/^\³fM]]Æø‡mÛ¶mÛVSSóÁ‡?~\¯×¿ÿþûGfT×ÔìÚ½«ºº0oþ|ƒÁð믿®xçªÊŠ<:c†ø×‰é”*×!.8Ž{ð¡©&“)>¾û ˜ È»®Æ0̦͛xà#Gò÷ÜsÏY,†aºwïþèôé …bè!K–,ùÇ?þñèôéAAA*•JÅqãÇÏ|b&/ƒ š6mBhÓæÍÇŽëÚµ+€¦¨ï¿ûnÒ¤IãÆaÞüùuuu„ù].×=÷Ü3oþüÇ{Ìh4Š¢¨ÑhDŒ1÷Þsï¨Q£(ŠZ°`ÁðáÃGzõÕWkkk}}}wïÞýÁš5~~~cÆŒY°páĉ³srîºë®;ï¼`LøA­V+ŠuëÖ=ýÔS½{÷67˜wìØÞ©€ý Ž;fnhp:œ7r…:ìöY³fA„N§óÅ_ÄhµZƒ^o³Û}}}],KÓTYÙÿ·wÝáU_{f¶Ü½=ÉM@H„„"%Qb鱡bÁòS)"Pš"D{/ Š RDPZ!ôÞn/[çûc`½„€(ÈGp߇‡g3wwîÞÝ93çœ9ç=e=öØ©¼ï¾ûnõëȰ&Éýêm(ŠÒ´iS²ÊqפIMÓ¤sÀ/;wöJO'=¤vêä÷ù-Z´pÁÂeË–õêÕkêSO™Íf²j••—'$$Ȳ©7ÑÛ?]>ï²T`ü¬-x¥H9E Ÿ?~öñã'ss·oßnµZU¹Uµ|ƒÁøäSO>ùä“ÙÇïܹ3,,ŒŒËÌcÇÆJNΉðˆò‚ŒCÃÂ^~ùåãYY§NžÜñóÏÑQQçj›õÖÌ?Mÿ ¯VGÌlûñÇü¼¼CΜ5Ëç÷;ìŽÅ‹íݳÇëñæçç«?'>>~çÎ:ŽËËËsØíW¿Ö­Š­6hÛvW!DQÌÈÈXµjõ–o¿•e944ô‰ÇÇŠ¢zØ0Æ^¯WÅ‘·ßþæ›ë6¾óNTTTeU„PV”S§NÍ~~¶Ï狎ŠéžN6mdY¾cÔ¨5k×nÛ¶M–å«uÊ”)ªe/Ibz¯ôqãÆ;ö–#k–ßï—åôŠä÷+gŠ~?!¦7vÜœ^eYÏq;wn—päÈáuo­ãƒÁp»Ý<Ï?òÈ#¯Ì›·ióæÐP¿Ïõ¿|š@ŸÏW^VáiJ›+Fntõ@%7‡„†ò<ï?Oô§ ŠÝºvs8:uúø£ c]ýe¡w6nüðãüñG>¨GnTQ^6a„?ù4ìܺèbcc²23.—úžB>ŸÏãñ(Šb4F#ñaaa„vˆ ‚àp8ˆuá"#"xž¢(*Šb6› »dee%¸~¿Ÿp “Éü{}^ŸËí2›Í&“©²²2::Úápè †¦Éˆç8ެ9ê±¢(.—‹çyš¦- aT"bIîBX[[Ž1N§“eÙG¦<ºqÃú«5·¸¸(.® Í0²$‘U%&&V³Uþt8§ÓÙ ( p0[)`½^ÌÈ! UÙÃÈ1Ã0äbètºz¥i0Æ‘‘‘äBŽã8Žkð FƒÁhPÏWÅb±¨Ÿ’Îë#„ÔuIuHÔ«f³Ù0Æǽ:þ½÷ܳù›oÚ4"]F•+ Y–ûöí{ÿ}“ðyÖúAƒ_ Yÿ$IJOOŸ=ûùè˜èG™ré!3š¨\›ày~Ò½÷>p~Šgb{\Ãv£(Š}ûô¹ñ†0Æ<Ï7"g’&*W™£wmûWÈÖþߪ}•@Û­¿€ß£þ;†g[s•†kÚªrÞÉÏãñäåçK¢J DQ"ÄK>¯÷СC4ÍŠ¢° Óªukã• xÑ ‰ÊÕµ°dgg/^üšÇãa@0öx½€Syy÷?0Áf³=øàäÖññÚC»&'MY– „š¨œf³yäí·wHîðÜìÙû÷ïþˆTô$Çݺu{þùÙmÛ¶¥/¢:¡†FEQ²²²­ÖPÍVù‹%))ñí·ÞšüÀÁ{ V‹åÞ{îY½jeRb"u†œI{h×B mM&àRê@^û¢¢(ŠÙlš9sÆòåËR;¥¨ÂÐ¥K—ŋϙó¼ÍfÓ„äÚÖÃív»(ЧcÀ Æ@{Ùç—Œq¿¾}Û¶ióáG}ùå—C† ɘ81&&F’¤+>‡1¦(ªÁòQp" —ñ¹5\ hnã J )gõðCÝsÏÝœîtàÓ?/̺†I­5⢢ˆÈÈscÏ(ŠÊ9‘Ý:¾Íå’Ir“+—({$† 7êx\­!¡4Ãhfý9O¦!mJm¡iÚl2ŸÛ~ñŠoaAÁ…«‡¶Oî Ÿ]G[…(Š-Z¶*).ª!ù(ïÔÉs£%I¢é¿~ÑŠ¢€¢ˆ£\ày[xø%:* „å!!¡õ¢Ñ—YŸ“›c ·i¢rt¬Îa·;ÿ<AÄqº p¾(XIh—H54v)„Ž9\oVgB|vqÆ3C¼Á&s9Ã0Ç2öì•ît:ÉÔLL<Ùû¼^RËW“ÉÒ¤©ÛíV9˜¤¢^ç hg6¸·à–èè›-¼¦¦:¸¨µbA%%&šÍ–s^ØÏÄGŒ„E½ÿÁû¯¾úª$^RØ…(ŠV«å|E àÙÅMÏÖ½pƒ¯Êáp8ìuœ^/IéU’¤šêª@€·X¬¶p›úÖH†cMMµ,Ëa¡aÖÐТ„ЉìlNÏ…„„ª««­sךê*Š¢ìöºÔÎ]Š bâb zcuMµ?à35õy½Í¼×SAÓ4˜(‚(´hÙÊî°ÛÂm%Å%62GºÄY^Q1wÞ¼@ 0ï•W >üÚk¯)ŠòÎ;ï|³e‹×ë7o^Iqñïü±dÉŒñú ¶nÝêñxæÎ›WVV¶ÿþ¥K—ÞzûíøÁår½žu Q(&6N¯7øý~2^u:®¤¨Èíq·Oî0ÀÃ³Ó Eª–®(‹ÕÊóüáCø@HHH»ÄdçeQ:røÆ yó– Ecå´³"<"¢¨¨Ðçõ…G„CÐøöX£ÑݪUË÷†ÇŒéÓG­(JŸ>}ðN´zº™ßï'ƒØn·“¼êË´#tšKcl±X:¥¦:xðïòa{½^—ËEQÔé~Ìæ´~ý8peȧÏ7•žÛLš-<<1©=§×{<DQšaZÇ· £iÚçõÔÕÕµOî I"€Õé’;¤XCB „n—Óá÷ÇÄÆvè˜b0KJŠQÑÑIÉt:Àóµµ5ª—a˜„ĤððpaaA~DD¤Ëå"î2Iuè˜ræXêÐ1Ex¡^¯OëÜÕl±`Œ YQdtt»¤öF£‘øÊÊŠ¸&Mɴ˲l»v‰‘Q»='çÆÊµ *€&MâNÊkð£~øþ·}ûÈqvv¶ÓåêžÐéX‘¢(êN<è÷Nš´{×®êêjEQB,Ë"„dY&§éõzI’†aQ”X–ð¼p:ø™¦ ?ˆ$I‚ DEEµŽ÷y½UUUN§37'§¢¢‚\N¾”eYY–EaY–D‚ÄÔ?•f„~Ý·oË7ß|ñå—5ÕÕ.—Ë<3mšº0þÛλ½®ÁœrРPUT”“Ÿ@bX>Ÿ×ëõ¨[%¢ÂBò‘Ëåt:ìøÌ¦Ƹ²²‚ø`/OyYið…êùý¾Â¢R~¾¦æ´{ª¢¼ŒÜ­,ËåÁÇe¥Q€ººZâ/&¥jµZüÅ—_Z­ÖqãÇ~þÙçEA)ŠúüóÏ333†y{ýú '¾òÊ+çÊòÀÞ}÷]•÷cbµ^zŒqTT4Ã0TC@5mÖ¬Á­zRWˆü¯J‘ÚHÔYé Vr¦*õ. –L Q¤Ÿàkƒ¿1è˜ ¾7Òaƒý“Š¢Bm¶¸¸&R;‡……¹=îF#%Xõ€ »À †îÙ³çý÷ߎŽR:uê×·¯N§›tß}#GŽZ¼x1Ë0ó.$d<@`ÑÂ…M›4Ù°~}DD„,Ë+V®Œ?þ‘#G>øà£Ñ¸ÿ·ß¶|»å•W^8pà¯ûö}ùÕ×ÏÍš5lèйsç"„ŽeemÛ¶ýé§Ÿ~nÖ¬}¿ýöíwßÍyþyÀºuë!üùçŸCCCd%¼ÔµµµYYYáááo¯_,3sáÂ…ˆ¢^{íµ`Ó B\œ•ˆôÿûß í&LEVkÈùþ™Læk5éBÈ2¬$‰»¦ºZ‘åÆa¯œ‘Ž¿pÛ O¶¨²³³¿üò˵k×Z­!Á–ÉŽ;?ûì³@ ðùgŸED„{½Þ‰ß~û-Q™H­&DQV«!DJ ôëÛ7Ü™‘ñÍ–-4Mx~ÖÌ™aaa ÃæÌ‰ŒŒ>|xyy9 ¹}ûiÓž!óS¿¾}=J¸§, ñíB›4‰Ó±l^~>  °ã¸Ö­[oذáþûïøýcÇŒùü‹/¤·Sáv»¿ßºõ²ú÷,™k@TÈPÎU6®`öÓ‘Åç»å/¾øâÔ©SƒÞ´iÓ°aÃÎp mÛ6oÖŒa˜Å‹_+**T0fYVõ?ž«Âååå½ñÆ’$Q4=`ÀÄn±XTKƒã8Q!„ø´Ž^±zõ·Ç 0®­­½îºëÔUN}išîÝ»÷ß]·n?üðýM7ÝDQ”Çí^µz5)@>dÈ “kq7ë¹çæ¿úê•1W44.à`Q9ß’ß­Ûu²¬<û쳑‘Q³f=wî $–eÙ 7lÞ´©m›6ï}ðÁöíÛÏú&E!Ú9B¨OŸ>cÇëß¿aaáŽ;HðŠœ«­]RRâr9—,Y³çÌ!EQ‚ ˆ#b{ôìÙó­·ßÚû믕•]:wáy~ÀÀ:t¸ÿ¾ûÜn÷ú ‚WBÂq  !’YÝh‚,4\i9ÁüµÖ²e˱cǾóλƒÝÔàH:xðàO?ý$ÂôgŸ½cô˜Ž:UUUñ<E‘¸ ãâšDEEÒ4ýЃ®^µ:!!áûÂd‡äŒ¹©ºÎà™“6mÚpœ¾K×®#n½Õh4J’Äó|ÆÄŒvíÚ-_¾œ¬`IJ7nüäÉ“'Mš„1öûý3¦OÏÎ>‘Ü¡ÃÀ-æ³ š¦×®]f³ˆ¨¨ùóçK’ôÆ’%Wᾊ†«Bu$ÿû|Þ’âbâ²PwëEAHMK+))mðʯ¾ú*3óhÆÄ‰Š¢‚€1fY–ab<‚À²¬ÛíÖëõäSNÇ0Œ×ë%ÎbN§úp%I2™L„Ocl4Ï=Öét4Mo2²,K6Ýyž7›Íd3„¦iŽãü~¿ºJî c,Y:ÔU…ô@V0²gß­[·}ûö]®}•óíÖ7˜O¢ájCðn½,ËXQb›4=ï¾J]]݆ JB‚ìoݪù#77×årõìÙ3|ÎTˆYIDAT˜2PE„ºD1­îÛ„æ]ub6x¬^®Z‡¢(Û!¤Ò–’HÍ`³XÕªÇv§ö  Ïc=ÆŸSXƒ†³ÌúsV­\)<{N 7 @Ï=:tè@æK¿ßßxË+«P%66¶Õ%Ôpµˆ !lÿ scaZZ€l–“@I’X–% MÓdž„6ªíDÙ»Èvt&”óÂ튢² ¶ ‚@ü ¶‡†„<üÈ#YÇŽ]%þb W!þy84QivìÜùý÷ß2D’¤)>:oÞ<‡ÃѧoßC‡ýõ×C‡ “eyòƒ.\¸°¶¶¶wŸ>™™™Ÿ}þùˆ[nQå¾ûî{ýõ׫««Ó{÷ÎÎÎþèão»ývŒñÝ÷ܳlùòŠŠŠ^éé¹¹¹ï¾ûî¨;îÀgdd¬Z½º´´´Wzz^^ÞúõëÇŒ‹17~üºuë {¥§½ùæ›ã'LÀ3fÆ §òòz¥§—••­\µ*ãÎ;1Æ#Gzïý÷srrz¥§WVV.]¶ì¶‘#<è:SHƒ†|ƒfýEá„ã8·Ûm0ˆ±n6›½^/Bˆ´ 9¨BˆÕé<Ñh$‘`Ä4'e8I; ÷j°]ÓÙí&£Q”$QM&!M¥iÚëõšL&AˆçÀív³,{áöËøX5³þš2ë±×”¾”dzR€Øñµü9™žeY&íÞsÚÒ~ft’vÕ ÿ»íž³ÛU7€jD]d» çYTì¯bÀ4høËÉÅÅ€iРáRÍz þs¢¢E>iÐpQ¢¢ü Dyj²ž ݤ';Ó oA"„òóóå?iê#22Òd2]à 8Ž{衇}ôÑ–-[’$ÒË·‹1¦iš` „Nž<ÿw7Úëч6bòi W ‹ŠA¯ïà O<ñDCù0;ûø ýûO˜0á”ÓëI:×Û¶ ½ùæËUTV§ÓmذáÎ;ï$aŽëׯ_°`Áß –eùøñ㤤¤¤¦¦J’¬  ÿDT0111 .jðÓÍ›7>tð\uË`0PIgÂI»Á`ذaä{ï-++“e™¢(½^O¶;}>ÆØjµò¯Aß¶Êyôœó^#Šb½TO¢°1¢MB£Gû|§£}Ífs»ÄÄœœƒÑXPP!,))3vlbRÒ´gŸ¥iÚjµÞpã7¾“Ô¾ý'Ÿ|2xÈ?þ(­sçÎ]ºîرƒ$Á¿÷ÞûÝ»woŸœüÊ«¯Z­–¾ýúétºÐÐåË—‡‡‡·ŽÏÌÌœ?I*F-X°`×îÝãg¦Mk—˜8nüx•êŠ &&fæÌ™ ¸á†'L˜ðË®] ò§hÐpQ¢òw•¢¹óæ­X±òdnî­·Ü2}ÆLƒ^p»ÝYÇŽµoßÞír5oÞ\’¤7–.½ëÎ;ge…X­K—-ã8N–å’’â#‡Mš4‰çùÜ“§vïÚµvÍêE‹S¤¶®vûöŸöÿö›(ïðáÎ;uµµ=ô‰¥w¹]åå€ŠŠ ¯Ï×!9yþ‚á6Û‰'n2dÖìÙ„C5T}‰¢(¿îý5¥cG-¦XÃ?TÀþ.ÀÒ7–~ýõW„Eû?þ õC „n·[–e—ËE _íß¿¿u«VÇGíÞ½›°ª>õÔS~€¢hžç§=óŒ$Iiii$L¦]»v¡·ß~Ëø|¾²ÒRÒît:UU-2"Âf³?ž}";"<<..nÓ¦M&LX°`MÓß}û-Ã0ª††1¦(Zøå+–C€†®i_.RT.5°…ã¸&OpãÉÉÉF£‘0ƒÕó8‘”]«Õ’šš*Š"EQ#FŒðûýÄ£œhE8)‰Ž—“›»~ýú¾}ûZ,N§s{< ¨ä…Úû7ܰfíÚ›ÜòÍ–)S¦:§¥øø£‚“j(ŠòxÜ3fÌèޣǣFɲ¬yÀ4€¿0Eðå©0LQTvvvZZZ×®]øñÇ`ÕŸ8eÝn7Q{RSÓŠKJzôèºiófÂΩÁÇGÅÞ½{7kÖìÇmÛš&¹Äååå*C¶¢()))¢(¼ÿÁƒ¡M›6@`℉ßmÝÚ¥k×6mÛ¾ûÞ{Á,÷‡ãÙéÓ8vÌš¦ÉÝj%ç5\XZ.­â÷û-X8õégn9²]»v-š7—$)22’a†a®»®{¯^½JKKiš~tÊ£‡¾ùæ›—¾ñÆàAƒxžoÞ¼9>3â›5k¦2v7kÖ Ø®]‹–-GŽ5}úôAƒY¬V¿ß?õ©©Ã† Û¸q#‚°eË–$òÿþûظqãäÉ“I­•‡š{Ûm·=öè£Ã‡ S3‡uuuÇŽ[¾bÅ€¯ïßÙòåMk«Š† ú¼Þâ¢B„Í0gÓPt.))iðš­[¿;°FF†j “ÄŽãëŠN§s:ƒAEQ8Ž#Ä„†‚ã8š¦Eñûý’$Y,²æ~½s9ît9_I’Æž×ét„†"X­VKO*y½^•†B§Ó±,K²ùƒi(B&“I]FA ÛG—QZ´|•Fà|IEiÒ¬YÃf=„ ´´ôúëû5¸oXVVvÿ}÷Õ3E$IRíABêöe PÇ"aúÓ‡ÇãQ©'8%X E©—ð¨-)þ¡ÌãñžÌ͹Àe!ÍÁªA@ôíéhÐðçò€/HĪAÃKĪAƒ ‰Š š¨hР‰Š ÿo¢¢‘iÐp^»€ÖV þZZ.¨€ÑD½²Ñ¡ì'‚£$Ilo½>EÉ/(¸pÆØét9räÜ\eaEE FÎËË»ø|,’¤©Dj¸4¼ÏÈ0Ì’7ÞP+œÔ² :´]»v8¨èö­·ÞZ^Væp8TIûzÓ¦ž=z:r‚ <þøãÛ~øÁs~‚`EQ–-_îr¹¦>55¸,0ésÕêÕ·Ýzkrrò“'ÿºwïE×CW­^ýÈÃk„«.³¨°,»nݺ]»vŸK!ܾ}ûUQ!ÑÁÓ¶¢(í“’‚s Œþ«àر¬Ï>ý”Tüª÷)§Ó‘pC£Ñø·V R,I{ß.³¨8NŸ˜˜ØàG¥¥¥YYÇ.ܯ¢(-Z´ç”AUå!¸Qý“Œ~RåbV€ ôCTDõÏöII„éÂ=œï†5h¸lf½(Šs^˜sÛí·ßrëm»wï2›Í?þx~~>`÷îݣnj9jÔÒeË8½BèõzgΚuëm·7îÀï¿«CÓd2 1¢¨¨¨{÷îÅÅÅÅÅÅ“&MqË-÷ßÿ@yyy=ã„„?ùä“·Üz넉ÿýwáØqãœN§N§[±bÇqN§k„ ÂÞ}ú4iÒdØðá«V¯3vìÐaÃ7nÜH }ñÅ£F;vìÌY3g?ÿ|p˜ —_T „ýú]ÿýÖ­ .˜3ç½^¯7H•¬÷Þÿ•ys¿Ù´)4$DQ½^¿pÑ¢n]»îÙ½{ù²e+W®TS8<ÏömÛZ´h‘•••˜˜8ç…ÆO˜°}Û¶Ûo¿íù9/ÔSç8Ž[´xqZçÎ?|¿uú³Ï®^½cÜ·oŸ'Nääæ®Y»¶´´47çDzït€ÙlVÅh4FFF}þÙg~øÁW_­(JyEÅž½{׬YýÉ'›ÍMN4ü…¨\ºoˆ¦é¾}úx<žN))v‡C](HIRR{ 0fÌRP.óèÑÕkÖt»îº»ï¹gÛ¶íêÉ„¶B‘e§Ó !=uêú ë ‹Š““;R1|¸ ÑQQ¤ÑçõZÌæÈÈ(I’‡.%KjÐ,üËaÅ$Ñåv!„ÊÊË }„ŽãÞÙ¸ñ›Í›¿úòË‚ü¼`Š`›!44´²ª’¢¨ŠòòÐÐzv<9¡¼¢!äp88½UTTT\R2nܸÜÜ“¥¥%ÑQQ–pEQˆcº²²j„`Î#-èrÉCðp'Ç„ …¦éöIíßZ÷Ö¾}¿¾öÚk„Í葇™ýüó»÷ìÙ³wïÌY³ê-¢$‘Äã;ïÌxéÅ—öïÿmÎ sî½çžçIŸIAȘ8ᥗ^Þ·ï×+VôìÙ`³ÙNžÌíÔ©ƸsçÎGˆˆ›>Ø &‰" <<@øÙçŸïÙ»wÝ›oÕsOkÐð§3cÆ §ÓAèTEq8qqqŠ,¯Z½úÉ'Ÿlðšìììêêê”””`g1¢¨ÔÔT2”)ŠJíÔIÁ¸U«Vƒ!9¹}^^^^^Þ¨;FEGEÇÇÇ·lÙ2**jÿU••C‡ –:–eAHIIñüîÖ­Ûm·Ý&Š"¢¨æÍšF†eâãۘͦýûDGG;–°^XÌ–ž={X,–ØØØèèè„„!Í0ÉíÛ+'%%碨¤¤$½^Ÿ”˜x,+«¢¼¼{÷ëjkk{§§_z‚§Óá …ð´O!êÔ©“©iíö:Éòê‡Ëå´X,ˆ¢°¢!mµ†@¯×[Tbuº`Š´Î‹‹¦¡øþûï÷ÿ¶ï\ Bõ Ù#¾W•ÍQÚIil²øö`#„œ£^Hèöˆ’/UÏ!ýTÏƘP^/UÉóiš&§‘ÂÏðàÁظ¸˜èè©OOíÝ»÷ˆá#.}F£¡hÔ¦¡x^Q”fÍ[œw_Ån·Ûla ~ÄóüÜ—_®§€©»ê1%*GDðÉ⨠nQ\a¢Þ…ê%ê9Áý¨ßKªAcr¾Ú[ð±Ùl~ìÑÇŠ‹‹F;|Øpm§RCÃfmƒ­§¤¸ø|ÛáBŸÏ'Â5°U§(J›6m6}ý¢(–4 /*B§Óù—¦ü5ðûÉJ¥Æ¤iB¢ábE…BˆeØÓü¨þ©øk%šaͬo¯_XT §N,,,О×%BÅ-[)Šjha–eß^·V{2ãõIR\\Óú"ìCY¬!²¬Ùµ—<3(ÉRYi‰¢ f¹y‹–ÚzÒX€1 )/+•e¹aX øùç/:uJÕê\ „ˆ"FQTIq±ö@ EÑ%´«W¦þ,QaY¦Gf‹UKµ×ð‡Çí ҟϵU bYß@Ua þó:‚ö4h¸Ð@ã,¾2ê¯,_Ùh0¢!q­X¶Øl¶’“³ZÏü£O‚ÔŒ“×L”c›4¡iº±ÏIMÏž=;½W϶mÛªpÓfÍ¢û¢h:##ã©'ÿgµZÏ– ÓÒ¡U†¸"ó,«ËÏ;ÕØýÅçÛ-[®ëÖ5è§ašfòóN"Ô¸Ã@ëêjwîØñ¿'¿¦áÊBØØgÎÿýOC]øhf½ mÖkh„¦âX*x"%…å«svÇCš¦ôz,Iʙ݈zdTš¨h¸¬BM¡CyÕ >úÃËKXÁ`IVtnþôiA¾ïYQœ¿ürêɧ,é½Z¿úªÊa 9ã(îêMT“œ EI¡¤úbש§&ôÖ³¬ˆ‘ c³AÿÔâOgŒíW—¨@Çå>ù}øð?|èý÷íÛ·Û† ŠRñÞ{µ‹3-[ÆÍ›klÝ^‘gH‚¾ƒÓ/֘ц`c‘šB~^Z¹ù(M! C!†¢v)Þq¸è»ýE¿À4:~UH ÃT~ôÑu“&±§N˜PøâK Ï×îÜÉõõõS§¶ïÞ½ê…%%WÂvGè·ýû;ö–/MTÍzRãô¿öÙÁo~ͧ)D|YÁ2€ FRÕuNˆ`ÐùÈ`0˜L&½^¯æN¢g²Åf0†¹Õ0Æ Ï·|~ö‘¯¾‚,ËÔ«WÖ}÷»ß{?©ìv[££u&#£®¦ÆSW'9Ízõ‚EE111F,Wœ<éMH0%wPo¾¢¢bÊ£SRÓÒº÷è±rÕª tÎru¸@ ¸—½f«\틉¢à½YåþR4¤w§–qÚÄNY¹A`â˜<ıtxˆþñ1×…šO3˜Ñ4}èð¡_|ñ%K“öïÿmÚ´i‹/JKM#9˜yùù‹/~äᇠ®€%MÌúÈÿý/ÿ£;w–óònxè!¹¼ÔÖÖq\Ö‰ÉëÞ„Š‚ªª®ž>cÆ]wÞùÆ’7xžß¸q#î555¹¹¹¢(Æ5iÒ&>!´k÷îÍ›çææ2,Û)¥#ÇéBÕÕÕ999¡¤¤$³ÙLQTnnnII‰ÅjMéØQ3ë¯M@Q~Û‰7Ñ¿« €¬Âº7tÖQ@Ç@ŽAz8:Úf)©røD Óé^}ÉË/½ïñ¸;uêôôÔ©ë×oè~]w„PNNî’%¯7®gÏžWFNT¥JߺU•Ã.@ûý¡CH’œááG¶nMxë-ÊhTDBˆúé§ŸÔ¯_?R aÒ¤I‚ T×Ô¬^½:.6V’¤M›7ß}×]ééé÷Ýw_FÆÄˆˆÈìì»wíš>}ziiéÒeK##£hвÛí·ÜrËž½{ß~ûí´ÔÔãÙÙEEE#o¿]•kAZôéá°È˜äĨr—ÄÑëP•ÝÏ ÀÒ˜¥¡ŽzÒ4åòø-&=K#EQùyyÉ:¡Æó|Rûök×®… †{ï½gáÂE;§5XBãß’Ë¿ðbëŽ)´Ûëê”òr¥C‡Ìï¿oµj•.6†È 9¹®¶¶cJŠ‚) 4$ä±GŽŽFýöÛo[¶léÛ§Çq÷ÞsoDD„(н{÷ž3gΞ={â[Ç7Bè÷û†Y¸páâE‹ívûˆ[n7v¬&*×  \>!Š¡Eûä¬È …:d`¡‰EŠBŒõz¶¨Ò*+bZ]UA¸kª«­!!cžüïO.\´àõ×^·ÙlW`ƒ|ÒéòfβQT\D„xêfY!ò8€²T/ÎRo0x=žz÷&Ëò|øñ';NY–ÇŽ Ä7oÞÜår…††ò‚!´;qMš¨Åª „e¥¥Ã†?KüÇÞ3mD^µ0êèÙ»¸ªK ‹ŠcCtž€ìã‹Qg³ÂLú“ÞbäLz¢`Ÿ_ZÿÍ·÷ŽDY„Q#G.]¶4°,ëv»ß\÷æàÁƒ%IEéöÛo=zô /¾XPP@Óô¿íƒŠ*Y»–>v¬Czºtò¤”Pª(tŸ>J~~ʈ9?RG°¢(i©©;~ù¥²²’”ÍÍÍU¥´´tÿý[¿ûîxVÖ <O°(‚3 ‰‘¹'NH’$Ëree%V”ÖññŸ|üq~^^Ή_õ•ÏçÓV•krUÁ&ŽyìÖN_ïÍÛ¶÷P¯ÎIm›FìØw¤Æá£€ zq ¼¹[³ÔÖ‚$Ë ?zôè%o¼1sÖL„(EQâããÝt“$In·[’¤áÆ †^xaÒ¤I}úôùwÙ4rìÙ¶ÿÔyèÐÀ/¿ÀÔÔÌÍ›¡!˜ZX,! iµ–¬^ÝlÊÙë%Ã=%%%¿ `ÅÊ‚ "„ÌfÓÓSŸ¶Z­!Vë3Ó¦±,+I˲!—˥ʉÓéÄ÷îÝ;33súŒ,Ëö¿þú¦M›Îš9sÕªÕ­AÚÂç?û¬  V^ÐD¥q›õ²‚) ÝÒ«uR3ÇŠ-‡l¦®?ÿ~rÍãýñÏ-y AƒŽ1êA’‰YÏ0Ì´gž©­­E‘eY›ÍFS”ßïß¼iQýû_ß¿}ûdƒ^Xg˺ív`±Ð×]w|çNvÔÈö#Fœ:,vÄxð`‡áÃþðÿðaºÈ(€1BÈh4Ž3fÐM7ùý~¡Åb1™L™3gºÝnŠ¢L&“,ËÕÕÕ?ÿôY^œN'96›Í<òˆÝn‡Úl6AZ¶l9}ú³n·BFŽùÏh£5Q¹ªÅjÑó„f!OL^¹ùwŸ73A„Ôí…œ¬Óéž{î¹Ï¿ø¢Þh³Ÿ{nÔ¨QêETd䕸 ²líÞ]xpòöE‹ãÛ·¯‰‹m:dHcó÷çÿ²«mÛ¶X–mááÞÜ“ºè ˹¹¹7j±X‚;‘$)7'!œt¥(Jll,y8cõX¯×WwÃ[,–àM&“¦€]ƒ« ¡ôEQ3-ßs}!à/+«e!DQMÓ4M3 ò,MÓ@ॗ^š?þ¹½ùý~žç¯d<"ÆXÁ8àpèoºÉ‚qÎO?…fdT»\X–•ví|ßl᪪J²Ž)mÚ6ïÚUEa›6m*ÊËϵ Auàþ¿ ‰ÊÕI’DQEQE–R&ÝÐÌåña€)DÑ4u:8B"9!¿ßï÷ûÏkd_asK–EœN}÷îT·n‚×+úýXQ Á&ŒÏ;~Ü2j¤¥cGEBBRáçj¸sMTX–e†ã8Y–EI2™$b`Ð4MVЦ)„H1™«-ŽÜ¤N§#k£Ì²’$‘ð^*&†éÓ‡Ü7Q¯ò”MT†B1 Ã]PÛ¹ÚF[ðÍ™¿°Uv•¿ m_¥HËe™×DåJ!ô—µ5ïOkp'äü¥Ú8Ö A 4QÑ áŠÙ0õléñkÐpË „òé¢g"´R©4œ+'Š¢dgg‡…GÐ «S[µG£A–†ŠoÓÆf³¡ÒÊZš¦$Ó á¿,'dïÈårÉ’X\Q‹¶©á(ŒDiÒ¢AC°Þ¥( B¥ð¶ÌjJ—:, èõŠÇçqýã\J ®=iÑ §Ã'¡ƒÕ\qYåÿâDD¡,íÚ#IEND®B`‚nted-1.10.18/doc/docimages/spacement_dialog.png0000664001041000007640000001571011520267216016246 00000000000000‰PNG  IHDRØ}Àñ­°sRGB®Îé pHYs ‰ ‰7ÉË­tIMEØ®z‘½tEXtCommentCreated with GIMPW5IDATxÚíyxUÚ·ïê%È ÙØbe‘À€€€¼2: d„¨D„/˲Å ^ï `‚(¾Œ,£20¢ÑdSG ˆa ‹Ù $$éìéôVßnÒI:„€Î}]}U×ésžªzNýê9çTÕiI–eÂ'η|7ÍÏ)k%•U\ãg,^Ú‰ð‰óåŸSÖJRØ„?Èãg,$§Ä ¼"´EY§):{ÐÁ µ5Â+A;ãP`‡^Ü(sII &“ ???§†G¯:!¼+¸åT—b¬Ò¶þÄ÷ðÁ½³»Ûq,0½®ù©®fòäÉèt:Ž9‚‡‡G³ùÙnCM9Æ*-ý¢îkuÙ³çÒ©ÔnÚÍN³C’š5täÈ^xáΞ=Kff& @j®Œ{ÁÍb¬*¥_TT›Êö‹Šâì¹tÔîÛÍN³“$Eã+„Á€Ùl ++‹Ñ£GsðàAüüü¨­­µ˜õ»uØ¿){A»")nî<³–o/;­‰`Ÿþ9ÇŽcÊ”)³~ýzdY&??Ÿ«W¯Úå?qâ¾¾¾„††þ"ì›È~ã?¿hß)ûqOèK’nê<³–o/;­Š`:ŽÀÀ@† @QQ»víâèÑ£xyyÙå-**bÆ Ì›7!C†Xì}•ÚìN[þ+F¼y¼Ù´ÖRšù>}£Û­ÛºO ÷#*È“ÿûhúzà¢RPUkäZ©žØä3îÄozlkäøpÎý³?»éL‹#˜ÕNý2M¥µ9‚I’ÄåË—9|ø0ƒyóæñØcqòäÉFMÃ>ø€òòr8@UUU¢=Zä#mÆ7øDŽpšæŒúíùc˜ µ(\\Ûµ.Û²Oõ÷ãÍßö" ³ Ï­ùœ“ç.Ó'¸ /NyˆòìSt Ø!#L[|ÖºÈaGKÉýé=<Ú ¼Ô¬çÜϳïžããœÚiU“e™ˆˆ~ýë_óúë¯GEEÇG¥RÙå2dË–-càÀŒ9I’¾9ÕòQ¯C©q·K ô€E¿é˃!ž¤åVòÎ9ä—Örôö·F¾u¢.m(ÃWåÛ7F6ú½»·†—'†´È^…ÎÄæÃWX0!äÆhѶ ¶U×O5É\*¬áoÿÎ%-·²é“p×(òV‘Ò‡<“ ¯îÊD¡TslÙP»29Å:Vþóg2¯U7»-?/5x´CÂ;á骴í_@'L aP¨Jü˜]É;_ds­LßèX &™œb\•tõRS^c"éÐþõcQ«ì8óÙ-RX“m¼´¶QÚ×çÛÜ(¯hÒÎ̤t¶ÆYFë‹Ëj»I;­`/^$%%…;w2wî\Ö­[GJJ Çç‰'ž°Ë?yòdôz=‡ª3Ð¥eÜu•ЕOGÒ/Ø‹¹ëþY_ͦ…ÿ‡å“xñÃL[ž—ÿ¶¯ŽgbW±TxÙåTF®òÀ˜ý=ÛVLåjQ%éGx÷ÏqDu÷pj/3ç:Ÿ­™Eܨ@~µð3Ž¿ó¸e´è÷¹!ØU%ç£THD†ú³ëÍß±ô±nL]{ÂáhjâgÙÌåË›³Ç]T惹<¥¶eûó§($‰M‹ž`Ñ£~Än>ÇÈU'nkåÌ¡ôöäí]?°#åôúZ6¾ÇýA¼¸öß”–³såtþøXó¶]´;ÖŒìëì{g=ýÝXôî~Î].`ßÛÏ0oL7>þú ¯ÏÝ";-ñY—¨Q·5‚… šè°YÙÒ639ƒ­³û6WCÛmŽ`½zõ¢oß¾<úè£3sæLæÌ™Ã¤I“X¾|¹Ý ç… àAƒ$‰7~8ݲaÎz•P_l‘Ý-‘æÛ“éxø‡p_HWªrΖ¾Íþ.àæÚÓ^ÌJc [:µÆÅI{P¹w¦o {‹ìi|-¿y¸ºP]pÙÎnçKÿò‰;3íÅ8}ÜQ*,Ž öíDå•óÀ#MF°cÊI9|?††ñòô‘¼úx_ŸÊ±å=~.ÏÀÞô êBÕ•tž›6‰§lë¾î£Ø•ò$Ï:uòGR(‰¬;ÖwçßhÆô÷£"w0¼Ñ±|ùÍ4¾a7ŽýÚ%"»Mj•æ|fÒU¡róº-¬Q„q”ÞLøà…>¢à¬Í™öÃiS4Á.\¸@ii)Ý»wG–eöïß··7G¥k×®¤§§SSSéS§¨¬¬k&I¾-ö“µê“qµ’¨`/†FãÙÍRñéY…k«myLf•g”.î¢_Ÿ žYµ‡ÊÊ<ƒ£Èȯ"*ȳEön\dLM2*¥„—f@åÞ™yÂѨ<õÚ?pQ˜ùèµiH˜ :‡WÌÄ§ÂØvTÅ™K×8[¢ Z§§2ï0 nß‚¸˜WŒ©¶†— B£nz[éW*éßË'Fõ㫟U˜•n(ÔÒó«éìÁü¿þ‹¯¼ŒÉd¹ÕRÿjx¬–õ®vÇ~.¯‚B:µÊŽ#ŸÝö>X Òí8äÿàù^v‘ËÚÄüà…>Ìzïb‹÷CåHñ²,Ó»wo&NœH~~>&“‰ˆˆ¶oßΈ#xê©§ly ©©©! €Ñ£G#I+hÝè˜ÚÃÛnýõ3øïqüíåß IÇ/jY±ñ‹F}5 P¨\ìÒFÝg9Qv¿niÆF¿ö o~–G|´G‹ìÕgÇ·Wxb¨?Ç6αØ~û4[¿)dÚ`o>^ùtˆpµRâÍ'{ÒÅ«&ÒóÊx{ëW ¸Q1ÉKŸ´ôÁŠªYžüJ[çð»aMnkÅ?Ò™7Ê—ùOG³Ì]cÛ¿•{s‰ªæÍÙÒÉãÆ`ÏðG›=Ö†ë+vg­¶Ó”Ïnç}0«ŠÒ®¼Ôì( µY»å2ï?aiÞ§î#lèäÆvšÚžõiúóWÊí~øŸ±:RSS‰ŒŒD¡PpéÒ%NŸ>ÍéÓ§Y¾|¹í†2€^¯çÀôîÝ›ž={"IËÿÓÕ©ŠÒ¾²E0k3¯~š¡º”Ú²̺*@©vÃÍ?¥«'¥þÓlÙ²Ëö· |OuáåÛ«o«ªð¦ªrdÙd³Uþó ÕeÈ&c£hlÝvý}Ð^øY_‹l6X*Eé‚»_(ßÿyR£æ²Bé‚{`/Tn^T\t¸-cuµ…˜j*‘Í7ö¯¦( }Y!ÆšJd³ÑÎ ýÞܺQWÞ&;Mù¬½©¹žÝäãMYÇ÷:,ö«ßÜè’œKÇÍ/Ô©úešJ³Ú©OuÁEû§é*pàÀ 8I’øûßÿNNN«V­"66–èèèFWé1cÆØ­Kß§;u{@j.vÛ¯Ÿææ‚Rã’…B H(”*”®^NËÖÿ`¨,i•½úëþ˜Œµ(U@²Ø 艦¶Ú=\ýšÚ7ß0PªlWL ‡ÍeIR rólv[n¾!(\Ü$’Rycÿºö@é⊥¦Fª‹3†Ê’fµáz[í4å3¯®·%‚…?4¥å¥VÙiÒv3¬Ù>˜•Ó§Osüøqž|òIBBBšd£ ´àþ„G·¾NÓ\}‚ÛTÖ¥SÓOü·Ô^SöáÙô ãhÛš®=šLýÎy®ŸúÂayÏ®·àÚ%¨éíyµhÿœ{[íÜrnò êÄÕnvZӫϲeËHLLdëÖ­¬X±¢IqÕo2:³'hY44¦“gÓÏsž‚?s.M'?$Ij7;ÍöÁ2 Äë%‚»cMúŠ¢V—sñòµ»mÐ^v¬T^9×°&ž~Ü}¨Ý;;|Uä—°ã¸flƒŠÁˆæP`úŠ">ûC_á% <¾.ÃNd¢](ÜB„À!0@L ܬÀ8@tt4þþþ :”?þø®v€8 wŽÀâââˆ'77—;wòå—_ / í%°.]ºPPPÀO?ýD@@ÉÉÉvÑ`åÊ•tïÞ!C†ššj÷›QQQ¤¤¤––ƨQ£ðõõµE’ÌÌLÆo‹ßÿ½­ü;ï¼CXX}úôáÓO?%11‘ððp"""صk—ÓòkÖ¬!44”ž={²cÇÛ6­û&üâÛ¾};ÙÙÙ$$$ÅŽ;ì~æÒ¥KÄÅÅ1þ÷r´Z-ÅÅÅ$''³téRæÎKLL W®\A«µL[üÒK/Knn.‰‰‰ÄÇÇÛltîÜ™óçϳqãFæÌ™C×®]IOO'99™eË–9-ïííMFFIII,_¾Ü¶M­Vkû.´'¶g/êín4[£Œ•éÓ§SZZj—–žžÎäÉ“¹xñ¢-äççãêêJMM !!!\¿~M›6±~ýzòóó1›ÍH’DII ~~~äääàææf³éçç‡Ñxã½#k^Š‹‹QÔ½ÞÑÔºV«mUy­Vk[ZØð‚!8£¾6¬7š+òÎØ?‹è¨ «¸¸8–,YBpp0ééé˜L¦F.&&†>úˆ>},s¼þúëlß¾‡~˜C‡@dd$[·n%66ÆòFnÿþý™={6S¦L±`‡£õÖ–P«Õ@ii©Ý1 ÎpvAV93Ð0jM˜0éÓ§“••EXXk×ÚO‘•““CDDÝ»wgÓ¦MÌŸ?ŸY³fÙš…VÖ¯_ϼyóxõÕW‘e­VKrr2¯¼ò , ¶¶ÖÖ„k)­-?kÖ, €N§C«Õ6:^à–5›j6Gýæ–@p/ÐP' ›ˆâF³@p iW‰è%ÜB !0@L 訄 õ©ÿȘ£>uÃÇÊDß[LÐB¬bqöl¦•h" n!!!!1mÚ4rss…C„Àíårrr8uê‘‘‘<ÿüóÂ)¢‰(hoüüüHHH°M§.´#eee¬_¿žþýû g ZBýÁ ë÷†¯õXÓ5 Æ #))I8NLÐÒþ•³t1‚ØrÄ ‡@ & !0àXýéÍÄR,ÅÒ~ÙN§ $IŒ p6e€Óaz«¸6oÞ,¼) .¤´´¶oßÞl^§«ƒqĈ»w1Æ ûE¶+Iß}÷]‡ó§V«m4h«&š‡‹Û=-³ðn¦%LÑ#AJJJ‡K[#˜3íaDpo f=n}ðL L L LD0@D0@D0@D0ÁÁw6âXÛ‚O«žEÜýˆ§1Ú7‚‰g6$INhçÖnOÓ/\¸Pxô.G–eá„;5‚‰?ZÁZ<Š(–b)–öË–tŸš2@ 8§MSˆaYàæq(°;vï-Œ`mäQL ¸ElâĉbäP ¸IÄ̾˜@ &„À‚ÛG«þáÒÛÛ[xì6Ó܈ú¸³êã¦â™ÄÛIKž¦õqgÕ‡h" ¢& !0à—CÕ‘æÓ#çIÚû#F³dYË[¼cGðÇÑ¢ÆëQ“—Gú’%=J¯E‹o”ǬÓ!©ÕHJ¥pؽ,0£É̆žà͸±x¸j0ÉF3˜e(¯6’¸å !°zälÙBæŸþÄý'2èå—9ð—¿à?i={ÚòäïÞMÚœ9¸‡†2tÏ\»uŽ»—šˆ—óK1›-Ê:ßDgW¾9Ë‘´\¾>•ËW'óðpU#¦£¨• Î.Y£‹úàƒ¸zxðÀøñœOH°å©ÌÌ$}Ñ"Æ/YÂ}Æñݘ1T]¾,œw¯ìÈO9ÌûŸÏQ(,3%I’²ŒYƒôFƒIÆ`”Ñé (ÄŒJ7*]­Æ=(V ÈååGGSuö,¥©©˜ªª81u*¿Š‰ÁÕÃàAƒ0n?þþ÷Ây]`² ï}vŠw÷žD§7Ý8IB®˜Ñ &3Í&3”–Uˆšn@ß·Þâ§Ï>ƒ€d½©¬Œ“'“¾x1i³g>`¾Èȵµ Ñ Ôh„ã:²Àjj$$}Íé¬^ž1ÎþG dÀ,[D¥7AE•Y_A¿0_QÓ ü¯ÿ¨RQ”žŽä憹¼ÿþýQÔÖBA½ÇŒÁ|íÈ2Õ••œüç?ypË–VmÃÑÌ··b:ö;uŠ÷»F`W‹*˜½f^;3é!4jËøÌ#óÿ—Gæÿ/cÿ{² þ²—ÏüÄ‘ãiø¹›IŒƒ¯·[#{z½ž… Jhh(¯¼ò z½¾É ;þ<ƒfK+O°;ûÖ¬áÔ޽е+˜L˜óòùÜs<ôì³È—.!bòñáèæÍ<”„{xx“vöïߘ(© îŠQÄù¼±õG侈@.äWò`XgþßÒ©¨ RJ¸(A£V¢Q)pÓ¨ñt× IP\VÉd¶õÕ¬¬^½šœœRSS‘e™¹sç²zõjV¬Xaß×;r„ °nÝ:¢£;Ö(¤ÏCáÞ§ù©©†„@i) Èåå˜óóQÇwÉÉôˆ‹Ãȯv’““™épúÊxã Teeô3sZÔÔ€Z ²Ñˆ{çΘ*+1””8´Q[[˶mÛˆÅÇÇ‡ØØX¶mÛFmm­-Ï3Ï<ƒ››3fÌ 33ÓiúSO=…²î©‘´´4æÎK`` O?ý4/^´ì{F3gÎDÓ`TóùçŸÇÕÕ•±cÇRTTÔ¬ Gùï)ýéùQŒÄ޽‡Pc$¤«;•5&òŠu”UÑéÍMÔûÈM–f2›Q«töp㣯~â‘Aav¶§NJBBׯ_çúõë,]º”iÓ¦Ùå4h{öìaÅŠ¼ÿþûF\ùŸ~JÑîÝ ùÝï0Ÿ8l2¡6 Cß¾¨'L@.)A©Õ5~<ç—-shç“O>aРAhµZÛgðàÁv¤íÛ·£Óéøè£èÓ§Ót•êÆ°@ÿþýÙ°aW¯^E«ÕRR'öÈÈH¶nÝj'd…¢ñéìȆ£ü÷\lÆøûYóŸ¦åÚõb"ƒ½P*$Æ>ȨþDGðP¤?ƒ{ûó`O¢ÂüèÕ×j‘´K×X½ížn.LÑ×ÎnBBAAA <˜ÁƒÊÒ¥Km?22’}ûö±nÝ:þú׿Þõâ*?s†ô%Kˆ~á8}S~>ª¹°?Ÿ¯XAEEÊ^½08AXt4Úo¿¥ôÇ›´µyófâââìÒâââxï½÷lë999DDD°qãFÖ®]ë4½áàÉÎ; ÇÇÇÇÖßZ¿~=Û¶m£[·nN‡çÙ¸]8œ›¾)¼½½±7hs ËY´á}{‡1|@/¼\UüqÝÇM”]:¹äÛ‰§GßLjzÜ•bHII!&&¦Ù)Z['§O'Ìߟn¡¡B=v,ײ²8sì¡ññ$%1rölô»w£0€‚ÊJΟ:ÅÃÜó#‚ÎêZ17ýFÿN¼·ôq–o>Ì¿–òÄØÁ|½vF뇧\Å:òŸúŽGfRþ ž0ŠÒR~Ü·‡Ä-8˜œ¤$®gfÒ¥_?Œiit›2…ÌcÇ(LIÁ¿Á|s~ÜX×ä½›vÖÃUÍ;óÆòîž“¼÷éa ²,#I’í£P(šý7Ç{¹òC^xCYG7là‘#9¾oýÞÉÏŽžo½Å©øxÆ-Z„\Q&hOœh$0!¢"0³ÙŒÁ`Àd2a4™>*‚nÞj6þ«Â®Ój—R©D©T¢R©P*•¨ÕêÛÒ¡½Ó1F^|½RIê‡Ò-!¹W¯~ìÓeX9ÇŽп??þã0`Õ*ŒF£Ý „ Ìh4b0lëúƒ¡^,ùm?´Z-f³Ù&,•J…Z­F­VÛ¾›Íf\\\lÿ÷"õ}g0èƒço‹Á` ¼¼£Ñhóc§ 8ýâ‹üôå—t‹çþgŸEáêŠÁ`h4Ò'¸Ë¦P(ì>õ£Tx·N˜L&[ѹêç«Ñîe”J¥M@ÖU(VÙüAßPÕ]¤”u-•J%ÄÕ¦ÑhpqqÁl6Û>F£“Éd˜UDVY—¢iØØ²,c2™0›Í6:òcý rÔP@£»ø‚–ûÑÝ·áÂ&\  B`à&û`â­Õ; QH`’˜™éŽBÔG˜x4æÎBÔ‡èƒ B`@L B`˜@p·c7LïâåËãë2„W‚6ââåëX`MeíÁ*òÎoíŒ$Ë2áç‹ÿÚ™ŸSÖJÿõçp‹b9ÓNIEND®B`‚nted-1.10.18/doc/docimages/scale_dialog.png0000664001041000007640000001371611520267216015362 00000000000000‰PNG  IHDRØ}Àñ­°sRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ :ŸâÒ÷tEXtCommentCreated with GIMPW)IDATxÚíyTTWžÇ?¯¥”ÅÄ5ã‚NT´1jdÚ>¦MŒt1t”DƱ£"i5‰v¢}ÒgºuM‹11c1‹ÑŽq¢Q0f’¨Q\P\¦(Å*PË{óRR…(IŸsêTÕ­û~Uïwß·~÷ýî}÷)š¦Ð3r^Í Aîš’W+†ZqEL_ ^„¢gä<í‡äÕŠ4ñß´ˆé È.²ŠW¡…(È€‚‚¶mÛFjj*ÞÞÞNu X·nsçÎeذa5öövù£Bº¶å_ïNßN^¸tTTÛ¸Rl!:áä]9½8ãkLýÂäè{@#Øû/=ÜhõçÞ>yÛ¬ÖNÝm*»ã¦( /^äÀX­VæÎËO<ÁÑ£Gëu ß{ï=JKKÙ»w/7í: ²bJoÚ»ñ»·vsôôEúvëÀ‹“¥4ë킆ܕßUk5:79[}«Çí’s|/Ý?~ËöŠK;ï¿ô0Ïýí4ï¿Ò¤fE0MÓæ¿ø¯½ö111”••1jÔ( ƒSÝaƱdɆ ˜1cPå«c.w¶»€®>rzô%×îÆ+Û2ÐétôÔ˜ÿd†õlG[šzcÞ8BênXíò+ùÏÿÍ!-§ÜÉv@{wüª/C½Ñëàû¬rþü?Y\)±ÈQÙºÖ`¢í±Ù«ë•}¹~žS®àæöºíÌØÎæ˜š¬b]qÕÚnÐNs#ØùóçINN&))‰9sæ°fÍ’““5jO=õ”SýI“&a±XØ¿ÿ \úfågYÌ ÷eŬ² *y{_ûŽYñÌC<ÒÛ?mûŽ­Éßa±T׈ìM…¢ÓÐëúú³mÅoXüDg¦®vs[1µ?woÇ‹«ÿ—â¢B’^ŸÆž`î–óèŒÙ„Öchd£ÝÊÛ`3βyV¿zâºÕöG°Þ½{Ó¯_?üq ™1c/½ôO>ù$K—.up^°`QQQ :EQXþÝ —Î9x®”äßâçfeâð ~?m ¯ü2ˆ/eÒ­-Û’ÿ¥míÚù£èô<5¨=ϾC'SôºšêæÛŽòKg€Ç¶ûw©9GüÛ¼›a|`O?ÊrvàDFF’——‡Ýn'88˜ÄÄDFÍÓO?í¨›ŸŸOee%Œ;EQxý;×Ù@£^aů{ÑÁ{v ÒsKøÓæ= Ó±t[:sÃ;2ï™0–´©_øŸN°ù«|ž õá£×Ÿqi{Ù¶3Ì ïÈŠYÓÎëf—pÔ²T4Íîz€\¸¯³ˆuÏ·¥ÓöŠË,`m·0zÓEÞý]pÍéÌá] ŸTßNs"XPP¤¤¤Ð§O.\¸ÀîÝ»ÉÎÎfÆŒ¤¦¦:êúúúÒ¥K IMM½ñ£;ºôͳ1Ÿ;„f©FS­5?R0ù%^Iœ>úH¼(-%°˜˜bccÉÉÉ!))‰Ï?ÿ\¼(-%°:põêUŽ?N@@ ŽÏÒÒÒÇ××ש h2™0™L„„„œœìd/##ƒˆˆGDüæ›o¤U„W`‰‰‰deeOHH[·nu|6g΢¢¢¸téfóÍeˆÍf3………$$$°xñb'{³gÏ&::šœœV®\Ill¬´ŠÐjpÜ]å\¾Åi ùÖH3mÚ4Š‹‹ÊÒÓÓ™4içÏ×Ì[ôóó#;;OOOG·ß~›µk×’——‡ªª(ŠBQQ&“ ³ÙŒŸŸ6ÛÍëµEAUU'á ½L]mÔ4—åžt¾»JcÖRk &&†¸¸8ºuëFzz:v»ÝQ§ÿþlÞ¼™èèhÜÝk®D~íµ×HLLdäÈ‘ìß¿Ÿ¨¨(§ï8p ³fÍbòäÉa;}· Ü«4 M¸5jMœ8‘iÓ¦‘™™IPP«Wß\"kíÚµÌ;—W^yMÓ0›ÍÌ›7çŸÞÑ…¼•„„^~ùeæÏŸOuuµ£Kyë÷ Âýˆ¡¹L™2…)S¦4øÙ Aƒ8xð SY||<ñññŽ÷qqqôêÕ‹O?ýTZB$‡ "0A ‚L˜ ˆÀ—ÔN'su•A^^‘‘‘8V\vU.ˆÀ„˜Íf§ée ±dÉFŽIvv6#GŽdéÒ¥.Ë…Ÿƒ¸àþáÀ:twwwfϞͨQ£\– Á„fF9_ßšU:vìè˜íÒX¹ š5Ëêâããã²\ Í`ìØ±¬_¿žêêjÖ¯_Oxx¸ËrA&Ü nñÖ×µ,_¾œ¯¾úŠîÝ»sèÐ!V¬Xá²\$‡Pçüª©ò®]»²gÏžzu+$‚ ‚L˜ ˆÀAv ·f´äYžåùöV§v¹ªÔ´iÓP¥É9r‚ð R«“;ZU n¦‰7nÜ(Þ`Á‚c2™HLLtY·IÕ®_0zôhñî]2bĈŸå{Eá믿–hAÌfs½õC›-0é¶÷Ú… hùùØM&R7nä‘ hÓ³gƒv¾øâ L&“,”Ô÷EñÈÙ<–o>Hä˜!<܉syå jÏ-žŠA½‚›ÜzÜ :<Ý´m㎢@aÉuìvÕq®V˪U«ÈÎÎæðáÃhšÆœ9sXµjË–-s>×KIaþüù¬Y³†°°Ö•…4=ú(múö%ïða:õèÅÅ`µ¢•–¢æåa˜0¯èƒß¸qÚIHH`Ò¤Ilܸ‘ÈÈHQÕýÁ’öæÍ-_3õÉÑt ðåüårTUãtv gsKÈÈ-áÜ¥bÎ_.!#×LFN!§3¯p¥°ŒkærÎf]EÓê/Y””ÄÊ•+ñóóÃßߟU«V‘””äT'11‘W_}•íÛ··:qØ+*¨ÈÊÂжm͸¡Å‚š—‡ýÌŒ=ÆÉ;ÑÑkþüFmdee‘››Ë¦M›¸|ù2™™™NŸ¿þúëtéÒ…aÆqøða—å&“‰¸¸8üýýÈÈÈ ""†Î7ß|@ZZáááøúú:õ4Þzë-éÕ«—cѦÆl˜L¦ë?P[¾ù »¿Ë!êWc±b$óZ% èt(:  ¡ j5I »ªaS5ìv šfƒ^GµÕ†§›ó@éÕ«W r¼ "??ߩ΢E‹ˆ¥G­ï¯UÓ86c= À/(57­¸5+ ¯/%EEäž=Ë# .ÍlÚ´‰… b0X´hQ½nt·nݸpá111Ì›7¯Éò!C†——ÀìÙ³‰ŽŽ&''‡•+W{c |Μ9DEEqéÒ%§KG|||8{ö,6l`éÒ¥.m4Vÿ˜Åf TÀj×°ØU,vJ‹ü’*.›+¹l¾Îµ’* ˪(®°PVi¥¢Ú†vc|ÌÃÝÈ•Â2;9_;åïïOVV–ã}ff¦ãŸ³–;vÏÇÜêôuvùr %%ô75- *+ÁhÍf£MûöØË˱5j£ººš-[¶Éd"::š-[¶P]]í¨óÛßþOOO¦OŸNFFF“åO?ý4ú³FÒÒÒ˜3g:uâ™gžáüùó5¿ýìYf̘û-YÍ^xÆOAAKÕ öÇ™0´+[wîLjÛP^i'·°Š’ U›: ›½&‚ÙU£AG{/O>ØsœÇ†9Ùž:u*ñññ\»vk×®±xñbž}öY§:C‡eÇŽ,[¶Œwß}·Õˆ+ï“O(ؾa¿ù ê‘#hv;ú#°öë‡qâD´¢"ôf3!œY²¤Q;ü1C‡Ål6;¡¡¡NH‰‰‰TUUñÁзoß&Ë †›i²nÝ:._¾ŒÙl¦è†Øû÷ïÏæÍ›„  ÓÕ?œ³ÑXýîlzÄÃ,Šz”O’S¹r­þݼÑëÆêDøÀÂBx´¿?¡}üÔËŸ ?zw÷åz•´ WXµ%…¶žnLÝÏÉn||<]»v%44”ÐÐPY¼xq½ïïß¿?»víbÍš5üõ¯½ïÅUzò$éqq„Íœ 'N`ÏËÃ0dç¾ø‚ÝË–QVV†¾woìGކùÐ!Š¿ÿ¾A[7n$&&Æ©,&&†wÞyÇñ>;;›àà`Ö¯_ÏêÕ«›,¿5y’””DÏž=1™LŽó­µkײeË:wîÜdz¾1?®Mß>>>?Û´9ù¥,\·—~}‚5¸7Þþ°æ£†wJí<éêÛŽgÆ>ÄèGºß—bHNN&**Êå’Ím£Ó¦äïOçÀ@¬û÷c?ž+™™œ(ˆìƒ 8ï?ü«Wüæ›Øl6§$„Ð f³Ù°Z­ŽGíûAÞÄM€ÙlFUU‡° F££Ñèx­ª*nnnŽôïƒH]ßY­V:DEÑvʬV+¥¥¥Øl6‡Û͟ω_äøçŸÓ96–‡Ÿ{‡V«µ^¦O¸Ï¦Óéœu£TÏÎí°ÛíŽ.bmäª[¯nD{ÑëõÕ>j…Rë#‡ƒƒé·w/†Rú=ƒÁ âjswwÇÍÍ UU›Í†Ýnw¬VDµ«}–®a}?jš†ÝnGUU‡óc݇Њ“u#Po_¸}?ÖFwá'øc‚LD`‚ Üå9˜\µzo!íÑŠ¦ÈÊL÷Ò­L`25æÞBÚCÎÁA&‚LD`‚ ˆÀA&÷;Niz7o_~¹æ¬xEî7o߯ÖPAZ ‚•åžoB £hšFÏÈyrÿGAha~H^­ü?îEÑÕ*šMJIEND®B`‚nted-1.10.18/doc/docimages/Makefile.in0000664001041000007640000002721411520267353014313 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ ######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/docimages DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_LIBS = @ALSA_LIBS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ IMAGE2HEADER = @IMAGE2HEADER@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PO2XML = @PO2XML@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ X11_CFLAGS = @X11_CFLAGS@ X11_LIBS = @X11_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XML2POT = @XML2POT@ XMLTO = @XMLTO@ YELP = @YELP@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/docimages/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/docimages/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." @MAKE_DOCS_FALSE@uninstall-local: @MAKE_DOCS_FALSE@install-data-local: clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic dist-hook \ distclean distclean-generic distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-data-local install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-local dist-hook:: cp -p $(srcdir)/*.png $(distdir)/ @MAKE_DOCS_TRUE@install-data-local: @MAKE_DOCS_TRUE@ $(INSTALL) -d -m 0755 $(DESTDIR)$(htmldir)/docimages; \ @MAKE_DOCS_TRUE@ $(INSTALL) -m 0644 $(srcdir)/*.png $(DESTDIR)$(htmldir)/docimages/ @MAKE_DOCS_TRUE@uninstall-local: @MAKE_DOCS_TRUE@ rm -f $(DESTDIR)$(htmldir)/docimages/* @MAKE_DOCS_TRUE@ rmdir $(DESTDIR)$(htmldir)/docimages # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/doc/docimages/the_neutral_clefs.png0000664001041000007640000000462211520267216016436 00000000000000‰PNG  IHDRJv!„M0sRGB®Îé pHYs ‰ ‰7ÉË­tIMEÙ " ,b±p $IDATxÚíÝyxõÇñßì‘ì† IÀ„PάP¤†‡†â-J}L‹˜Ä=ìÃ|8,Å„«ÔãÁR b‘ã©…¦¥€•–B–#ÊCHšVɹÙþ12›´&Rvgãýúkf'OvòË÷3¿ßÎþfF’eYáõzþ–ÇçüˆvКD¼³²Ññ@¼oÄÛx8a â €x Þ Îâ oVˆ7N€Þñ6>eDø ÎMK’$ôÞˆ7â €xÄñ@¼oÄñˆ7â À@4ô)33ÓdÑîÝ»‰·ULŸ>Ýï÷+Ë&¸O’¤]»vño5sïmš’U®ñ´Ùl;wîÔè-ª««Mo£÷uÄÛ*%«Æ[»·((( þ mß~ý~¿¦ånD²,f¯E[A(A€x Þt‚/ÆLëüÙ3-þÀ‰•ÿëœ&ð·^9ûqEà0ï¸kÄð$Íd vjMo%«çSkIngYs›ººãFÃÌø(uµöÏÆx6ª«î¸´ÆÊ÷tUšÕÕÕ& [ll,½wWÒFê¢dë/oLNÖuɆ³|ýÛ 55ÕÎuµ®¶¹ãqÊüþ„¶|ãââLïðUì d¿¨#n||¼ßïÛƒæ~ùKs;ßÚ\ý‡ ã$I’:å!$Â0­åæå7×o½¨,»bR—=3NÝ´oýšo¶*Ë_}zYZœ‹Á¹p:á,Y ÛE’$I²Ùl^¯W£ÁùÞ½{5m¥§fN/÷úÔÕù[Þ×#R]m¼±}ÖüÀÐ&"zäŽ_. ò322Œõ_¾~"-ñk”å_¨)ËR7=‘½AY~òbõ«÷ıŒCÜ{+S8ÍQ²Z?{$==]Óß¿ô3D»CÓè)Ó2:|ö>.æ¶Ú# N„;Þ”, |ï oÄñ -&¥B§rrr´~‹úK¥êrKí99vuõlCàîßó6åôtÿvK—.%ÞV±nÝ:Y–µû±¶­Ã$“w_Þx9Ú©®6W¶ßÚÖ\|œB[¾yyyZÿ |-×ÕåÖú¼¼‹êjEc Þ½µí†ÓfÄx‡xZ‹Ö%»ö¹¬ªvUûØs«“;”ìþ•kª«Î¨{W¯˜uçM#I’$-^¼¸‹Ÿ fZ‹Ö³ÖjkªÛOòëÑnWeSM»I~’䌉‰ª’$©²²ÒXGXÓOk q¼MS²ê¬µòòrâ­5£_RB¼u78ï: !/ÙÜ Wº(YWìä*ë•, âÌ9@¼oÄñpG˜Öòxlåx'w<}³µÇ=߯)ÞªŒn·±D'»gñ;¥JŸÛFöî©S¿«®VmP—Ï~Þâã•e!DտȲïÖѰQ?»ÇñÿÙ6•0yÿšÑo?}ðæê¼?™ºÜÛpZy¥ßÜëæï¿5´fp~;*Ïd÷zà'BWlʾŽ|31Šã¢dÏ#ƒ3÷%Ž™}ìHÞÀH;ñ&Þão½–Ö×SPÑÔ½ÿ·¾=6ÞMªùŒ[~ð¸oèŒãGó=Q:3k ·=,Ÿõõ‚ЦØa3 Ï¿76Þ]_önn.Bˆ9¿=z¡èù¸}DÒ7Þ¯lfpNïm0e¿™—ôèk±C§žÚîq;„wßÄ]ýšª~O¼…~ï {Do!Dï1¯^;ö$½7 £©âàø[ãîÿÞßneÛßÖ¼ùíOº%dZ¼eŽm˜;:eÜòçmλ•W*N®¤÷¦÷6 ÙW?{hÿ_]¬ùßMÞ>^ô KŸo½7Œáã¶•ÔJŸeУý,Þ8 N›Â?Þï-W^éÖûqýìžÕã­V*1îLúæsR'¾=¸‡Å'waŠÍ“³{Uåǯ(¯üpËBýìžE§µL< ¨ÁÛ~pÞ§OeáêÕ«Dº=ŸÏG#tf̪÷ízêgÓFüøZ]Ï<‘õJöC}ùìmgÎ|g會P ~ « @EB "!¨HT$ Š„@ "!P‘T$ Š„@ "!P‘T$*²sšDwJË ¸ýÒ÷Фp~ÁùéÏMzaêÔ¥ëw¨M$¬VˆÍ =ª¡¡âöÑÑ9üZÂúäë“›WG1PV.¤OúH*í«søµAc^|gå:žœœ\QÛ kÒ7ŠÔ6Üøá·¶Ûðô¬Œ;?ñR°¢üO~}¬Ù*•ê­·Þª­­íŠÞ¨Ö«¼õîØ§¸vNÞ.^c)Êt3Àvú÷@„P(4 ýB‘·e*³ßkóæ·ŽJ‚€ø³é°@¥R=iwm}#×Î/Ѐk%Y1‹Êõ‚Í9HHH¸}ûö¦HŠ42QdÔ E…òCž7Øo0l΀F£1™LÙi—·WNwíÚ5µZíææf&}eµÆ€i ¯]­A ßµ…'×/ZQx½¶g{H’lm]‹E’$EûfÁ¬¦¦†Íf{xxX´”Ëå%%%L&Ó¼YKK‹R©,((¨¯¯7c†ã8N·]‘b±xþüù~~~{÷î5“Þ‘ÅÑQÔé£Éi¿û…¾ôFt8fa2²QtïF±0êÕ¹ÿEæää$''“$yúôé›7oêõúéÓ§÷IIΟ?ïëëeÑAEi4š…û,жþ4c©R©8°qãFÛI’¤J¥b0S¦L1“žV]qêÂ%…´òdV6ÍÅgëÿ%N{~Œ¥=þAÒ¦ÜãÎÝ»þ=Š …jµš ˆI“&577k4ók=F£‘Á` ˆµK™™™Ã† ³Æ»««kHHˆEK…BÁápÆ7lذ®ld2Yjjª5N{zãêë€6U}ðÖ{rs͆„å3,É‘2]NKÞ}:×DÂÅÆÞ¡çû=U¤ÞÞdDÓÎZ¾nýšy¯SQqþ&(£^äîÝ»:nÀœÝR—F™‰¶HB÷ц¢­ƒ×¸Äø®lºùÐ ×ËNdœ›³rÃÖÿZÈù‰F­V3 ;;»¶ ‚hýÅd2á8NDo~kMZŸI’Vz'IÇq‹–&“ÉbL&ӃخGŠ”Éd]E6®ËÎJ»x­Àtá^ú1å’%g¹¿þì>rrNVšùœŸt233½¼¼Æßö`AAA릖ƒòx<ƒÁÐÒÒÒ+îd2Yzzº5±s+ÅÅÅ Ö,±ˆD¢³gÏ ófZ­¶®®.--ÍÌ´ŒF£ …Ö´¸Eº»»¿ýöÛŸØo_%ˆšÝ3£9Õ ì®Ì äeÿ™8n¤“ppp˜òŸWBCžxЬ¬¬ Y¶lY»I GÇS§NV­ZuñâEF³xñâ^q—ššh¥ýýû÷ãââ,ZþþûïsæÌ™6mšÅÈ&;;;666 ÀüD’E‘XV$‚ NG[ªwïÜQ«ÔŽ~ñµÍk&ļþ™¥sèæF¥ Ôãµ¹Ó›¥âæ¿»ñú†æqcƒžˆ>/<<Ü×××J{F§Ó;ÔÛƒ©8&“I§ÓÛ‚¢¢¢Y³f999ÙP<A †ÅYCóÅëjZÇK&“‰¢¨ù20 E­qjãtÆÞÝç®–¢tçí_î ê†27gÞoY6ÌÙL—ÐgcBŸ}ð'‡Ã‰ž=á‰èóŽ;æììl½"»K||üO?ýtìØ±E‹Á@Í–X×IvíIÑ’èóKÞ‹íîîÊ îtóD^yyEum½ÞH˜I[-ÌŽŸ={v@@Àg_œxœ§j2™0 ë‡m°xñâÕ«Wwwþ+!kËr-ô‘b±8!!¡ãˆð~~±DCc:ºê%_$$à†&‘žÌÙµäì!–“‹û¨°1Cý|ØŒ®òd±Xã#ÆŒ8¬z8óG‡\.—J¥ÁÁÁÝMX^^ž–––——g¥}AAAMMD"i{°¨¨¨5²ILLF£±íš›‡‡Ç‰6^Ÿb±øÀæ{ÛrãÆÊÊJ™LfÑR ¤§§tÚ’¸V«#HФÀýû÷÷íÛçêêÚUV†ñx<óÍM˜tÙ™'Õ€ðððÇ ƒ|Eì €éoÆU^ôë aþ”ÎtpphírÝ}¿9KuÍî÷b&GDP—¬¬¬˜˜FEE]¹rÅzûuëÖ>|¸ÃÁ”””ÖE6­V›‘‘‘’’Ò[ç^VVf½ýûï¿ðàAk,_}õÕK—.=|œ04'}ò?>ÜA Ll¦§¢¢ÂLVR©táÂ…æÝݺqEº×Ö56ÊKî  §Ë¢BýÞ’••ÚAo¼açqü‡‹™'…úVËj¶¼³¢Tªëôʪ¸~æóC§ôaso'‰ôzý€¹W©Tªªª*£ÑØ/JC‘ªæ¦ÆF©²ëbRYõõÇ6oÿ¦NÑòwߦ7bÊž{öv<=Ô¿ÛŠÄTFy æ>zj؈@EÉÉ+õì/¤'íŽÕË«ýŸõúÊãßn÷q³WŠËŽ:óðCeJIuÊŲ&-Þ“¢¯X±¢¬¬lÀ(211qÆŒW¯^íó’´(ê÷ïüdÑ‚ùsçÎ]»¸¬²“ÅÉ*×7Çux»E`ï ³ÝÝÝ{è}ðÐg<ÓmE¢BC‘©£‡ø{:H¯VMxeòÔ)ÁÎ#fcÝU¹0zÚ҅ùü+í£×d¤}yÁÒÃ0¢]lcРA\.—Íf÷m1ªîæÌ~~òÚÍÛ/^ÎÉÏÏûåì~Ia'£=ÒhjÿüªWÐÄã_åììÜó8Û/hŒ…ÈÆ`0…¶Gô* ÛËŽÄ4µU•r;“NÓ"ªrèÈP6-;ûÞl?Àȉnà,(•ü ¡†õÏ¥{^('†üÇNÛiÎÖ£×ëëêêº[b±¸¥¥Å§†544XŸP©TJ¥ÒöR©ô¯†¯ª’H$Z­öAddäĉÝÜÜl«ƒÁPSScqÏI’$I"(ªT*e2Ùþ¶¿½æZiu[±!"‹;ZÒÖÆ-J<”a € ¾#"6nÚàÃæ ¯P(Z—mz:©Õj Û](ExúŽ9»rRNÞ`§0¶0ûʹ+þOqƒ‡;ñ~>Q8ÆP%U¼ušº’ÛÒ¿Ü6ª…ÇNßYüæ«Å……æÜ-‰ðx¼î%…B¡B¡°Á©R© ÃJ{©TÊf³;8‰D­±vQQQee¥^¯ï`ÐØØh[mhµÚ{÷î)Š®G†ú“ßî¿V,ÐM(èì…óætðNê㹂Ïî¿07¥Ñ®±À‰³=;Ãh”Æb1 »m©VÕjµµ•ßÝX›¢(EÙE7;—o~¸LQTù­?¤â:Š¢¾üdz`Xx§H|Û‚©€Ïßl›ªîüÉwÖýï–­[·nÝ 2dȧŸ§Û]FDDܺu ÆÚÖÄÚ Iy\ÔdZÛýêÒY¬M~¼x¦#û¯5»AnQË>PL½UHkbíVlY³q š¹aõô]Û¶xº9GOL£¡Ï—äªÔ;"escNZÞ=ï‘/¯œßn¯¤w䂯#´þ¾mÛ6//¯øÍp‰Â“¡¡¶*÷Úu‰Bãá;77¤¦Òv|úݹëùOïG£³oD6ìI}!özá2ŠéêÌìƒgJms‰¼»i‡°òÍ% ç­Û°iÅ’EC\B9Mòo7m¼{+2öÈ$7v'#›:ÑïߟÌ÷ðð0 »öœÙ°nTX÷–5Œª£IŸïøêp•ä¯Û´#ÇÓ`ê\”ÿó®‰lw3š55²“G9îÏψ~~Ftßž ÝâpX£Ñtò{Ï÷¥MüáHÊ)™Çö8»º›š¥˜ôRþïï­ß÷ú7ÇN:qG/_¼|ùr@hgn±“ N×Ý´z½Çq<â8Þ-w&“É`0t°°û Ã0½^ÿ°•ùìÝ’Ò±6Ô¨šÔJe¹Q«"'W–W(Zt„ÆŒxqî®]ÛÜ&æ±nNÅ0ÌÊÊïòMTb±xéÒ¥A˜ßŒ¤VÈeò f4(ÿ¸šG¹‡o\ù¨_Bµoß¾èèhooïn¥âóù%%% .ì®»ÔÔÔI“&™ÙjEQ¤J!KÕ-Z„ÎàñxÁÏ<ñ츶6õõõ¥¥¥€iÓ¦ÉårÇ»[~E÷$l—¶ŸÍuó¾4æ5.§ó}CF=VÎç5H›H€88rFtã8"ý5aF£±¬¬,44ÔöȦ»ÆÆ±a#ù.{ ëý-²¹{=kÖsc¼AЭۿ|'NX˜G»­él×§Ï]/£6]q½†Ïã©ôTHX8Çž@îîìAw›nñE6É$r…Ên'Ì=¤&ãÿ1;rQRKµé2e õ¢PjŸvîç/“ö— k)+pTÄÚw×F„ HeyæÈ'›v¤·Á´ù+÷$lòt¶ñcÓI\=´¨jªKþ"áâÕ›re ËÁI©Tê»zM+…øöûj¥¶ÝÊÝnTä¨tÁÏNßtR“B hL.×…I§ °ÐÍFEæ&Õ)§öïšózTì”pŠÔ—cz†Ã¨'½FkJV-Šù9ߦgb4Ôw5}píÚÕ!é0wåGkf…=º2Xöƒ‡ØÔÉÉëÊ[·{PI4u7ššk¼&¼Ò‹…ãóù"‘èáãJ¥277·±±qæÌ™¯ža–ŸŸÿ ¶ÅMF ÃH ¹Çã544\¸p! (¨“§)x<Þýû¢SIŸËç·Î+¯ÈÉÉ?~¼½}{) ´•nW©ËywÔZ£ë`ßy‹–-Yð |ÁðãVää¨8׬šMôyqë£Fùë¹± Y¿uJ/ÎÍÍ­Ó—ã°ÙlŸ€€€NÿË`0üýýq74׳³’ö~'Wc@h VðÈà€€.—Û¥;ÄÀ—ªÛÎß!4Æ”ÈÅoÄ.à8°;]Hd:¸nIüf­B錮›£ʱg£&›ÀõòÍqQv®k×xððѽ»?ówaÍŽÛÜdÀûI¬MØ×ñkœ˜ízÐq“-fþˑħÜÿÚÃ2ì®þH$m¦ ý<Ö¦±\·ì<8<(yÚÙ‹™“íøòªínXÍe>’¶A§¾s3ïRvŽX¡ñô Tk´“ܼ¹#)EÝ~;œ³¯åáÝKKþ[øòü›…wt=ð™àaþOÙ±°çêï}䃞¨¡¦òvQQ© ÒHè¢Áškã߉õä8þs=ÐYûÈ£éí¿Áñ™5°¦î$ ?N"‘”––nŒÁ|è[$¥¥¥$Ùåe )»ýÜèÖtBóžðÓÕbœ„->@ïÚ¥RYS]–|ò²±ý^ÿÌÅQfmmmPPPW;U=ƒÆ~÷Ó%ïž°Vêáí2r„§+ÆýŸ^øÂÒ#ž®6Ìé÷[¹´u?J£{„gfý8a„l<¨È¾¡¾ªäèá”Â{BŠa:nò²%±C½\aËAEö%$aÒé B³³cÓà÷í "!Çü¾6*Š„@EB P‘¨H* @EB "!¾§wv£Q„>çü¾Œžó´'üì!Ävza]›" ç¿KZ²vK³5iÎù_NúØÓaÍBlãÿJ ]û*V›»IEND®B`‚nted-1.10.18/doc/docimages/not_splitted.png0000664001041000007640000004410411520267216015457 00000000000000‰PNG  IHDRUVï4sRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEÙ 7¹q¢ötEXtCommentCreated with GIMPW IDATxÚìwxTeöÇ?Ó[&“ÞjhⲂ¨(XÅÅ‚ºèÚŵ®ú³­®½¬½×µ+bÁ†¨‚€(!Þ3)3™L/wæýý3K BÀ²ó}ž<<$÷Þ9sÞóž{ú+B"ˆ`¿øå_U„D°”D°ÿPDXA½@aA›ˆèD°‚ðUþϳAqÿ#ˆ ‚Á„Y‚$åÿîk7¢T#ˆ ‚"îDÁÿ²R ù±š±8ýDÌâ"ˆàŒƒžýùll]¾—ßþ_ÖTæ_x!3Æg ŽØÈDÁ7¦*‚lýô®¹þi65Ø)u¤ÿù\ž{é!þ2.å7ÁÈ"rAüö•ªÀQö9'q?¶($$w;ù_?@¦6¢Î"ˆ ‚?ž.µñÍóÏñc;Èc‡sæ•·qÕYS‰‘ƒeÝë¼ós;¡ÿ#ˆ ‚ˆRÝ7xkäݵÅÈÔIœrñ­<úпøçÍ×2}˜†PÐÂÚ/·á>6²¿ BŽÈÊFA$¥ zÃ&ÊëÛH?l&W^3Ÿ¡1ZsF2|B:2BtTÑ!ŒÏV‰’FA,¥òPQc¦Ã%˜pâ%™¥ëü0• ­Fשöd äC÷©³@þ¯ìÁÈBGA‡§¤*è¡ÉjÃ-Å3㌩Dÿ2#è÷áv; "ǘ= ã!˜Ë!´r¨©©!??Ÿ¡C‡’““ƒV«E¡P —Ë‘ËåÈdë6‚þáp8X»v-F£‘Q£F–#…B‘£ŽR’·×E-±&uØ·5ÖQ³³™ÂÀÔSÃpˆäO-ƒï¾ûŽo¼›Í†^¯gذaŒ?ž#F0jÔ(ÒÒÒˆ‰‰!66–¸¸8´ZmdƒD°ÊË˹ãŽ;(,,D¥R‘‘‘A^^cÆŒaäÈ‘dgg–£¨¨(äòHQvD©žz%\±%$Š7}ÉÆ*/òäÙüå0Ó!|VVVâpt&°Ün7Û·ogûöía ¹œÄÄDRSSIKK#33“ŒŒ rrr6lYYY¤¤¤ PDFÞý¯£ººš††UUUTUUñå—_Mzz:©©©ddd‘‘AVVÆ #''‡ôôtt:]„‘¥ ’$áóùBôoÁù€¹p»Ü¸\–<õȇ4øULšw:Ãä\®Có%»hŽ%%%…ÊÊJ¼^oXá‡B!š››inn¦   ÓºU«1 F  Œ;–1cÆ„-½^L&‹X´ÿcP©T~øáTUUÑÑÑ"üc·Û±Ûí P(ÐëõF¢¢¢0Œ92,KãÆ#111,CYúýcŸ‹ÿ.\Èý÷ßÓédÖ¬Y˜L¦>´˜—’õ«Y“_Ãäó.#/TÅw+×°ËìÆ”3‘“?’Tã¡¿mÛ6Š‹‹9÷ÜsBàóùðx>>ìúÆÈ&ùƒÁl6³bÅ Î<óL @ǃÇãÁçóáp8°Z­´··c±X°Ûí„B¡~•´V« ÿ âââÂa„ØØØˆ—ôÄŠ+˜6mƒa`–jGG äæærÛm·1|øðÞ/Ùùêß×S¸½‘c/¹†ÑkþŧK|(¢Ó™{Íý:::®_0D.—c0HII!+++FHOOG«ÕF¤ñwŒM›6±mÛ6î¹çRSS÷ú»Ë墱±‘¦¦&êëëihh ¶¶–ŠŠ ªªª¨««Ãµ‡‹áð”V«Åçó!“ÉÐh4ÄÇÇ“Mvv6Æ #;;;òÂþ àè£æŽ;î ++k`Juÿì_-é‰1Diܬ|÷²”§`Â_.ç›AœæÐîív;¥¥¥\sÍ5Œ=š¼¼BÈÈÈ`üøñŒ7ŽÑ£G3dÈT*J¥…B©Døq”ª’äœdtQJÖ¿þ '~Ôi<öü­–¤þU¾¨ËåÂf³ñ /„§V«ÉÎÎfÔ¨QŒ;–#FžžNBBBØ…ÏÈÈ --¸¸8,XÀܹs‘$‰ÆÆFJJJ(**¢´´”ÚÚZZ[[Ãa„ŽŽŽpŒ­ ›7oæƒ>o–ÔÔÔpÂØ±cÉÊÊ"!!„„âââ0™L(•‘£Ä~KJÕét²xñb/^ t&:»Öq̘1Œ=š¬¬,’’’Ân|bb"))C„ÒÓÓ9ì°Ãxâ‰'Â^RYY;vì ¤¤„ªª*Ìfs8ÕÞÞŽËåÂårÑÚÚ @aa!_ýu˜®èèhFŒÁÈ‘#ÉËËcøðá$&&†å(666â%ý®•ªâ B1IMÆdþñï{™‘þë(T!~¿¯©ß溺¬Œ²²2–.]ŠL&Ãd2‘žžNJJ ©©©a·+99™@ Ž)•J²²²ÈÊÊâÄOÀétÒØØˆÙl¦©©‰ÚÚZjjj¨ªª¢¼¼œúúzÜnw7ºilldÍš5èt:’““ÉÈÈ %%…´´´pmí!C2dF£1"¹¿|>~¿¿{´+¢¡¡††V¯^^Ç®j’””233ÉÉÉ!;;«ÕJbbbøÅÚõ:ujX.»d¨©©‰††ª««Ãá¨êêjl6[7y¶ÛílÞ¼™Í›7‡ã´ñññáJ„ÔÔÔ°üt…"žÑoA© !ÂnJ¯ñ×ÊxúÅw(kö#Ó§súe7qéÌ‘„$éW¢’œœÌèÑ£¹öÚkÃ.zQQ‡ƒ`0þ±ÙlØl6vìØÑÍ…×étØl6n¿ýv>þøc&Nœ¶Jº\?…BANNC‡ o6ǃËåÂétâp8¨¬¬dÛ¶mìܹ“;vP]]M0D¡P„]Åêêjª««÷rý ÑÑÑdff’——Ç„ 3f ™™™DEE j2Ããñô¹Æ¿t% )))$''óÐCa6›ÃrÔÔÔ–!I’ðxgÿ_xán½õV¸é¦›Â®ÌÞFª‹ïÞ~7–•áLCã²ofJʯ{FüòåËùþûïyðÁÿ“$‰––ª««©¬¬¤¶¶‹ÅÎäz½Þ½¬’½"2IIIá„ÔСCILL Wh4Ôjuñ-I’X´h555Œ5ŠúúzÌf3n·¯×N„õ—=Žç†n`äÈ‘ƒÆ¯ÇœÂÂÂßýæ8âˆ#¸ä’K­6´¼¼œ^x»îº‹ØØØ°Òkoo§®®ŽÊÊJªªªhnnÆår…×p_ÖÑh4†=£¡C‡’––†Á`W¨Õê^_œ;wîä?ÿùGy$íííÔ××ãp8²ìóùú}IªT*Î=÷\N;í´ñfåÊ•¼óÎ;¥úÖ[oõkÅßu×]\wÝu$$$˜¥ªT*1™LÄÇÇ÷ Q}”-}w—w*ÔNwÉO ¤#.Þô«Ž91 a—hO vܸqÝÞ¶.— ·ÛÇãÁjµ†Ý®Õ«W »m!D¸ÆõçŸîfÝvýDGG‡Ý®¡C‡2dÈ ’$Mvv6\pz½>l­º\®p‚£¶¶6¬ø+++õ‘»»¤)))=¯Éa³Ùðx<¿ûÍÑÒÒBtt4ÑÑуò¼ÖÖV ±±±ÝøÀðáÙ1cFØ‚q»Ýa9²ÛíÔÕÕQSSÚ5k°Z­áÚÖÝãµEEE…­Û®«.YÊÈÈ`èСdgg“››K||<2™Œøøxbbb8õÔSÉÌÌ W§tÉrW²µªªŠêêjÊËËiii! v“}…B1`9²Ûí™é2TúSªJ¥’˜˜˜½øµßJ5**Š)S¦ôPR¶ós^ú±WQ#8g–žW‡ˆNÉÑÇæ×´U‹‹‹Ù´iÇwÜ~Ý×¥äZ[[™5k ,`È!P\\LQQÍÍÍH’.‘$©[‚J.—SVVÖMÉv%Èl6&“‰¼¼<âããQ*•á,îž®_W5Bcc#EEElÛ¶üü|Ìf33fÌ`È!ƒÆ¯.WU¯×8öèõz1ŽÛÙl6t:fÀ! FôiÓö²&äål0˜6mZ%U}…ͺÖqÁ‚ þö·¿…]øââb***ðûýaY’$)¼î]¨ªª"??N‡Ñh$%%…Ñ£G‡-ÙÜÜ\òòòÂ2¤R©Â^’ßï?¯+éµk×.¶mÛFAAùùùŒ;v¿÷H–,Y‚Z­pkn0Äáp`4Êr:áuHõƒßïÇétrì±ÇöKƒÉdâÈ#>žÄÄÄn–ј1c8þøãX·nW^yå ‡gee1wî\î¾ûîÝÿá‡ò /°xñb’““ôŒ‰'rÇw0oÞ¼ý¾W’$žzê)6oÞ<àá`B&“¡ÓéÂ/«ÄÄDN8áN8á„n–jii)eeeSVVFKKKX–ÚÛÛà +]()) '9fΜÉðáÃÃ24zôè°Ó%O&“ ™LÆðáÃ9òÈ#hkkãì³Ï'ЂÜÜ\N9å^~ùe’’’öûþ;w2þ|Þ{ï=òòòDÃ5×\_ $–¾lÙ2.¿üòZëARª‚ò ‹y÷‹ ؃2j:—]p:òK¥¶QÕTƒÝ"FÿÇË4v•E¥¦¦rôÑGàõziii¡¡¡ææfšššÂYÛªª****º•Y´··³aÃ6lØVà ¤¦¦’žžNrr2999äææ†c·ƒe}EðÛ€ÑhäðÃçðÿ¬V+ ˜Ífš››©ªª ÇmËËËimmíŽòz½{͵ˆ‹‹ '¾ºfäææ†«JºÊ# ŠRþV>{öY¶µɵ{ù?9y\ÊP#†x¯ªšú¦vâ’µ(”*ÔŠ?pa²V« —[uY³]­Œ‡ÃA}}=………,Z´ˆÊÊJT*~¿?Bár«üüüp[¬Á`[;éééƽô`Àáp°uëVÞxãÝ¿iÓ&Ìf3ï¿ÿþ€ã™V«•Õ«W‡;öוüùçŸ×ðJ¥’¤¤¤nV_— ßwoii¡¤¤„U«VñùçŸc4÷’£¶¶6ÚÚÚÂ-*•*\Ñ¢ÓéHHH ''‡òòò¢·££ƒšš-Z4 5ollÄjµòé§Ÿ²qãÆ‡ùÞ~ûmTªý8nß¾½[¸å(U·Ûî& Ç®*?å¹åÍH€:n2³&ÈØµu3"äEžj¢qݧüß%Û‰‹1‘:d4“&cDv&ƒú%¯jkkq¹\á:¾|oÇCyyù€Ÿ±;bcc™6m;vì ''‡‹/¾˜ºººp¡¼¼§Ó‰×ëí–Áõù|ág”••…ß………´´´ ¿ºhY²dÉ=ç†n8 û_z饺ÿøãgëÖ­{õgÅÅÅx<¶mÛžV5—…bPäH­V3~üxd2EEEüóŸÿD’¤p¡¤¤‹Åžqáõz‘$‰ŽŽŽð®ªª 'Y«ªªLWaa![¶laË–-ôîºë®æËwß}w@÷ççç÷v:=î»ýVª>ŸŠŠŠp@˜“ŸÞú˜fY SO›Ž¬®„ÛV}Î{?u ì~ú¾&üŒ×R†ŽeÆœ3˜1>õ!ˆ t•*u½Éö]%Nõõõ~FOÖ”ÅbÁápÐÔÔDTT'Ndâĉ{%¨Ün7­­­ÔÕÕ…çtmÎ`0Hyy9íííƒÆ¯?J½aWœr°jU«««ÃM#]ÝM±è„ƒ&G]ty<êêêHIIaøðá >œÙ³g‡“†]•ÔÖÖÒÐÐnVé*·jjj0]ƒ)¿6JJJúõrÜnwûn¿•ªÉdbÖ¬Yäææv*ËV¼d'œÂÿ]w32½|ñì¿øâ›isËË@•@¼^ŽÏãÄîô`®ØÆ—_&qÔì'™?-ç [¬V«•]»v (éÑõVzúé§™6msæÌšÅÅÅX­VæÎÛoÁqWqu×&iii᫯¾â½÷Þã”SN!33sÐøõòË/“™™É”)Stii)œzê©® X¸p!GqDßÃ{z I Á–-[HLLÜ'Þî+6oÞ̇~Èœ9sz­ÕîË–-#))iÀ²Ø6nÜÈŠ+˜5kV¿ü ƒÝê°m6[¶lá‘Gaòäɦ««ÅvæÌ™Zs«ÕÊ×_ÍÉ'Ÿ<ಮ®Ž¶cŽ9f@ÉÛêêj¾ýö[Î<óÌ~ïùå—{Üwû­Tår9æ—7¿ÀÑRFy‡&¦Ÿt<‘LýOóì‹‹±§ü™ ÏNþ'ï ]ú2ù÷Gñ÷ŸòÌOðö·%ØK—qçÝ£9éÛǪ;¸jµ«´d ‹$IÈåòAíÐ餢P(ÂÞýÅjwW¹¹¹ƒA–,Y²Ûš ˜4iÒeÿív;÷Þ{ÿß}÷\pÁgÿ“7]òÌ®î»Á\/µZ\.£ì{†C222X¸páÉwjj*ãÆã¾ûîpö¿  €[n¹å€³ÿ<òÈ€³ÿ›6m ·´ïºp·ßØR œ­6|n?ª„,&OžJ¼&DÉúOØ®šÌ ¾Èc7Ǥaj6•ãÓÆ1ñ¤‹yâ©9.¥S‰¶o|—w7ZµöÕ"ˆ ‚ÁÄG3…!HHËa¤TøiÚQCîñ'3wúhŒqñ$ IÆ_¼/€‚ØÑ³¹êŠc1È jgÝW¸Ed1"ˆ ‚ÿy¥*#*9½A‹AO’IÈP¨ô¤ÄÅcÔ*QF%‘<­m+››:›Wer ãžÇøèN¥ìj¬Ä9F:‚"ø`¿cªÍÍͼøâ‹á@rÐ^J»SÐæÎçÕG`•Š›íü„Gh!Qã£p»™`ÈÌ[ÿ¾†ìÎøƒ³¾€ѰcÏ<ÔŒa«D(ˆßï# ¡PjØV°…úúzxà=ÏçóÑÒÒÂâŋýÙŠ`0È?þˆÛíæÑGP;fuu5­­­<ûì³ÄÄÄ ÿº¦ ”_Û·o§¶¶–§žz*Ü‘6Yûä“Oصk×~ß …X¿~= <öØcnu"DÀç# "S¨ikm¡­­§Ÿ~zÀɯíÛ·5`Þö„ºº:êëëy饗Ôâv»©®®æ‹/¾ ¶¶v@4lܸ‘ÊÊJž|òÉ­yKK ÍÍͼòÊ+ŠÉár°‡~x@sˆKKKq8<øàƒý–TÕÕÕõ¸ïöûSccc9ãŒ3þÛg.¼&obÞjѧMå¯sG˜9–¨'?eìQ³9y\"¦ ‹ )'rö…SÐËõóãÇ"“«˜<ÿz®˜?ôÀ;D¯½‰Ÿ–¼ÉϼIU‡ „@†¥.†ôŒ.¼è¢U¸\./^ÌŒ38餓e#, V«•óÎ;o@‚¸qãFÖ­[ǼyóHOO´MºnÝ:ÆŽËE]4 û—.]Juu5çœs΀[ßÿ}Ž=öXN=õÔý¾W’$ü~?*•Šùóç«•ÂU‹y䉗ØRïF %Ú˜L>˜wöÙ¤ 0·uëVâããÌÛžŸŸO~~>§Ÿ~:Æ Ûïû­V+k׮娣Žâ¬³Î0’$qî¹çH±—••±jÕ*æÎˈ#ôù] çŸþ€U«W¯æÛo¿å /ì7QµtéÒ÷Ý~ë1µZMJJJ·Ö¶¤ënâ¨wÎbõ·Ë9oîL:‡»îÊŸCFz<úÉ#1Åhñ6U£I>‹ •DYK!¥í ˆ9Œ æO%'ã@Ç­:êòyÿÉ›ø÷¢õ´{wO}Inš-:¢Ó20 À"v:á)WƒÕÖÂ0]ÝQû‹ªª*T*U¸ýp° Õj‰ŽŽð3ãââÐh4¤¥¥ 8û ü–$ “Éî<ÛŸŸ­’…ÏÞÃ=¯|M½#Ø]ŽZ;. )id¤§è{u®:˜ëUWW‡F£ÙkoîÏzk4šn§]ì/bbbÐét¤¥¥ ÈÒ´Ûí¨Tªðö Ë0ÉÈÈRíšœ‘‘ѯRU«Õ=î»Aq¸Õ©Çró sp®[Èm÷¿A­GAúøÃ•žÈˆJÏ&1Ê€µ¥šŽ ~Ë6¾º„Ö#þv5ǧøü*ôðÝ«ÿâñE?ì¡Pws·¥ HÈ'‚¾ƒ2lÿäaî}ié µ;üFEÐ 'Š)ÓpìEwpݼ<Š?¼ÓçÝÀâwÑÖáB T Ãm¢­uŸ¾ö8çŸ:ŸJåL:óýÇiƒK•\•|ôæJZzk’«0ÅD9="‚>݇>~í+ê\½ˆº\ƒL®&>"Gô‚Aý§MÌ㚇ž%6å)^xÿC.9í&w*§Í˜L¼ºƒ— {ù.ž¹»Œœ¼Ã¹üþ‡¸ò‚SÉ× ÊçËäjŒ&Ô;÷ú›B‡)5—äX‘½Aß‚¤":F×Ë{YGÊØ¸ÍÅ("œŠ`°”ªÛífûöíØl¶ÿž7ë\®ŠÍdÛŽ*ª‹x÷ŵ¸½~<¶6@IÚø£¸àÒ‹8qR¶ÊB6WÎ!?“ϘË&ÇWì¨kGú¥îUiLcú©óÐᡦhCxpÄ><OG-í:ôÑÑá*ûüŒþ¬kI¢©© ›ÍF~~þ> ýú\´µ4csKèc’h¬¯ øhnn4Á°Ùl444ìówÁí-Xì^ºŠv•ãp8((( ..n@4¸Ýn***öÂemÆl±Tè‰ON ÏGزeË~ T 1bÖ¦T,bkE ¾_"Ir]<‡{ “&Žå›:;êëë÷…3øí4šÛð ±I)´µY…Bƒ&GÐ9èÅét²}ûö}šZ’|´·4a±ûPãÑjØíönÃUöµµµ´··³uëÖ}ZóPÀ‹µÅŒÕáC€ÇÕØ4ÐIQ]ÃMº:éú§Áƒ¥ÅŒÕáGkJ ¢l@€Í›7ïÓ@•žöÝ>+ÕcŽ9†û￟úúzìv{ø@³ž•>Š#S‡39à'!Úóßä–—7¡Š6« R_]9èoã蓸îŽ)XZ[hiw¡4Ä’œOlŒ‰ïW¯¤Ôçë“îNåॾ$Ÿµ+W²¹¬ ·/ˆÉQ(õYÚFs¿ÏØWt4èp8¨©©é#°Âmk¢ðÇU,ûn#ÍÎÁ@®Ð IÁgwP[WwÀ#ËöTh6›­Ÿï*ð»,”là›å«)kq!CÈäJBBAL|,•Õ5½¾€ûƒßï§¥¥¥OBµ;fõÊUl­hÅè\/>•1ŽìÕÕÕûwFUòd®¸eÖ¶VZ,vÐD“˜@\¬‰¦ú‚µµµ}+/ ¥z'ëV,ã§5ؽ!dr¤Tsääqƒ&GÐ96ÏëõR__ß툔=×Ëçh¥tË|ùÍjÛ}¿¬—ЍÄìÖ&Žè‡ß}¡­­ ·ÛMmmmk.ð:Z(Í_ÇÒek©ïð!r…­)•«…º}zYõŒ®5©®®îcô_¯½…]›×±dÙZšì~¤P' ­ ‡ÝIeUò~ª\yå•8νù%Ú×Ý,Ô RçÜ$ò½âPã…^S§Níû"É)¶~ö°øsšJ{ýȵ1â—ßA¢Éï÷‹Ûo¿]\qÅÂn·÷rUPX+÷Ïÿ³0ªe=Ò'vT× *¿N;í4qÏ=÷ôyÏ^#Þ¸õ/"Û¤è‘.Uü±¹²~À4L˜0A|ôÑG}¬—]¬}ã11¹çõÄióÎ¶ŽŽAãËÆŘ1cDcccï=¢bíbN^LÏtÉäâ⫯ÞÐà­×úõëÅ‘G)JJJz½ÆÕ²S¼pí‰"%JÞ+¿^~ëíÓðÜsωÓO?]477÷zÓ¼]<{ÕL‘lè† Û‹LÃÕW_-®¾újáñxz½ÆÑX ž\pœHÔ÷NC›_0óψ IDAT ƒb ù]˜ëë°8ìÙuªŠÍÀ8Ì\îßbî4D{áÜs÷ãljì¹F  á—‚ˆCØRòÙùæå;yú“M8ü½pð·ùÙõÅãÜýüj:z¶Œ$ŸD $ÚzY~þ€Ýÿ"Í>®:Ô8+äÉûïgY±­õñzå¿?¾¾³3ÔÇUß½‡‡Þ\E³«w$qpiøñÍ;yäÝÕ´º{§á@ª„í8•ÆmŸsçÿÝÍ7;ZQÇçpÎ qÓücHÐu†ôU1éÄíNÀo°'5ä䧯W°±ÔÒë%ú(=qz”è<ØÚÌTïÚÁ¶]µT±äŒƒ£ŸŒ×¶‹ßý‹¯·¼J4r¹ã¡ÎÀùôµ/{Í’ƒŒÄŒX’uý‹˜°[ÌÔW•Q¸£›¤!sx^¿D¯û+hcõ'_SXß rrU,Z‡ö_ág熵¬ÞXÔËž•+ D«å l0› èscm3SV´âªf‚Úxü"DŸºÈ_ËG¯}C£»w9"$a8˜Ìò×òákË1÷ràªL"°Ouä!ÉG‡ÅL]Å.¶î¨À#7’3jNO€(]%šþ>xmͽѠÐ"BÒUw ŽRA~ZüoÞ]µ½SÛ͚¸Ý¾¾LËÄÙ xâ©Ç™ó§ÔCÏ™Š‘ÓOçÆkÏeˆIµ›¤!gÊÜýÄ‹>*m€–^3ïÝs57Üó,kJZ÷µµí”49zy(S¸à®;9óˆt»­—”ͼëâ‘;¯"7%ê ËL*ßs's'g£•ïNCçÞð0wÞx iqýtAI6Ö½~×ÜtŸmÜ]¡xq4ãÐk¤L™Æe÷ÝÉi‡gv§!fçÝü8W_~&ý}2!!B(B¬}íBæ]¹Ö_”†R?‚ÛÞ_Ìý§‡å7ÏaÖÓ[˜qÝ#¼õàßɤ“U yçwú½®  €ââbþú׿Çe—]FRRv»W^yå—²ßmÇb±áòx„dhõFŒ&­Š>xŸiÓ¦1räHfÏžÍôéÓ{ý¼çŸžoW|ƒ½¹†¢¢Úº¯~7Ë&3;‹±yyäà 7Ü@ZZÕÕÕ,Z´«ÕJHòá°µc³;ñø$ä* †(#±q±X[̬\Ù9©Üh4rå•W†{¿EÐÓ@e £ôcî{¾eªDÙÆ»¹ÞmÍXlNüR!W(inn&%%‰Q#G2zôh~øavíÚÅ«¯¾Úy¯â²Y±Ù¸<>„\Þ…)6–¦º* ¶nå´ÓN#;;›sÎ9‡œœxöÙg)))Æc3S²½ˆ›‡žB¯2¹‚¬áyŒ™ÃÌãŽãúë¯:çtž%ð:mXÛ;p¹½HBŽÖE´)“AKÁÖ-˜ÍfN<ñDFŒÑç›ÍÆsÏ=×í쵞`6›ùæ›o˜7oƒóÎ;Ã; €>úˆŸþ!BH^Vk;—¿j£)†˜è(V­ø½^ÏôéÓÉÍÍåïÿ{¯Ÿ·~ýzž~úi|^7¶úr v”a÷÷WPh6i#rÒ¹âŠ+8æ˜cp:|ôÑGìܹ à´µÿ²^þNÂEll, $¾\º”±cÇ2f̦OŸÎìÙ³Q(,Z´ˆÅ‹‡Om I>lm-Xí®Î2är¿DÐçdüøñdggsÛm·1dÈ, ï¼ó ˆ`g‡›Ý¦Aoˆ"6.Ÿ«ƒ¯¾úŠSN9…øøxÎ<óL¦L™‚L&ã™gžá»ïVáj­cÇŽbÌv_¯û){HycÆ0zÔ(î¿ÿ~t:õõõ¼òÊ+x<DÐÃÖN‡c7¢:ihi¬ãÛ+X°`*•Š 0tèÐýÔ‡ƒ„æÂ/Ĺâ„™ˆ:M,xh¡¨°x…’°}"ÎÈKQSÅ_î¾ømfÿû€ÃácÇŽŸ}öÙ¾ß$YÅÇÿ±ñ½»Åh=½f`uQÑâ±7ÞÐçñ裊³Ï>[têì?8ÿüóÅ7Þ¸Ÿ_È,^»d†ÐÊ{ç×ЉSÄúmÅ¢©µµUwÜqâí·ûÎþ‡ü±êÅS† C7¹Öˆ¸¡sO?]˜ûÈþ÷…;vˆ &ˆ¢¢^²ÿA‡XñäU"KÓ;”¦!ýfÿûÂ×_-ÒÓÓ…$ý²ÿ #¦qùç§&„ èháç×òÕG¯ò¯Ûîce¥…™—ÝÊ9Çå¢þãžN½‡‹ªcØÈL Q=»çI:‡ãO=áàå’ÜÍl)ÆÞS:5è$ÿ“g¸þ·²hM1{ºÞ.µ­NÜ+}.SœžIJJÏqYãðhõÑdFEz—:ÍÐ(ÆŒËèŒù÷€è1³IÒˉÕÄÍ%Ùøñ͸ö¦ûøô§J\îákå&¼}¹ÞƒÇÏ’I\/!SÞ¦{Ô¯¾Tƒ–1’kâ˜~ñý,ÒÇð÷»Þâó—ïeñ WÈQjŒqÙÓ¼tó©¤êÿ‡EeZÆs oHjî}ú#jí>‚BŽÆ”ŸO½˜ë/;ÏÞx«Årˆ ´}Ëã?ˆj{¯n”J¡P¥Ã¾&3œÇ3Ïù¸ï߯_gC Rgdôôs¹þš‹¹áüÙ‘¶âðrøó‚GxÝ«ã©wWÒèôB6.“cÎXÀñ‡¥òÜ¿ï:ˆ‰¦ sSÜâë5E£qðZxejFœ|¯>+矾NE»—@4Æ&œp>7^uï={ßG©vÆtâ9òÂùvÊl–³†mf„1çÏbö1ã‰ÕþïY m"3.}£çßBSCIErF&ñQj¤@€Ï%!ͬù¾¿LNméNv[è­ŒT¥"=Ñ€ö >rU4ãf_Ň'^Ls}V· &9ƒ´x2@)—Án²¤OaÞm/qÚµí454ãAOJz1?mØpÅÇKɶTÔØ{ͬ«óPÃA|ƒ\˟κ…es®¢¹¡›WFBz6I& 2àýßÀ:„Ú&É#â‚‘GEvÁîJJg"+×tÈ?W\TmYÁW‹³aã&òHã°÷n'1-“´ô(ŠÊö.o‰Ê=–X• Ó!ŠÓÈ•:RsF“}Ú_C9#âñÇvºÞñ :ªê==„NáøãG4n?4ŠKEúБ¤ÿWHù{±ööö}êU®­­Åår‘ŸŸF£!77­VK  ¬¬ ÇÓçýn·ÇCEE[¶l!==½ÏáË455õ¢’$Ìf36›‚‚’““2d*• §ÓIuu5>Ÿ¯ÏgìÚµ ÇÃöíÛimmeĈQø¬õlüvk–¿Í—kÞÃçqá)ÐY›Ø¹½á±9\ø÷8_~Ÿ"³ƒPH’)Èœt —^|.Ÿ¿þ8æ¦&òóó‰ g@ív;eeeýò»ªª §ÓIaa!iiidggE  ººzŸ†~x<ªªªÈÏÏ'55•´´ÎR¤––êêêúvVƒAhooó6;;»×ù ~¿Ÿ]»vá÷÷ÝŒQRR‚×륰°ÆÆF† RSSƒÅb¡¿‚«ÕŠ‚üü|ŒFcŸSîN'ååå}ôóÿWœN';vìÀçó‘““Ctt4’$QSÓÿü…®ÕÕÕäç瓜œLzz:2™ŒÖÖVêêêÆMâê+/äÉSc÷ …@¡cØÔ¿pùEgQ½e [l6¶mÛFZZ¹¹¹h4|¿ÌÜèo6EUUçp ;wâõzÉÊÊ WkÔ××ÓÒÒÒ/o[[[ÎÓbcc1br¹·ÛMiii¿|,//'°eË”J%Çßï9~÷JÕétRZZÚïu---x<JKK1 dee¡Õj‘$‰êêê~Ki¼^/>ŸÆÆFÊÊÊÐëõ}*U‹ÅÒ/]’$aµZq8”••á÷ûÉÌÌD¥Ráõz©¬¬ÄårõùŒºº:ü~?•••Øív2220µ”}ð n}…FŸIORJQ 9ë¢ã´ÕPÖ.C–ú'®¼=—-«¾àû­ؼ!Bͼ÷| MM $''QZZJfffX©º\®}âwSSSø%äóùHNN+ÕúúzÌfs¿Ïèâwii)J¥2¬TÛÛÛû¥! ÒÚÚŠÃá ¼¼ŸÏGZZÚ•ªÉQýRK+Iý¾\kkkñù|TTT`µZIHH+U³y߆ít½PJKKIJJêS©z<ÊÊÊ$©_º¼^/ÕÕÕÈd2’’’ÂJµ¡¡††¾› n·³ÙLii)r¹œ´´4d2”•• …Ð 9†ÿ»{›¾ýŠõEµØýoõO¼þD)!uš€“ŠŠ ü~?999h4555´··÷ICCC>Ÿêêj$I"::š„„„°b/--íW©v½<ÊÊÊHIIaøðááýÛ¥0ûB}}=’$…e.==}ÿ9ÿ#øUJªe Ê@Jªübë“—Š ½L$?RÜúÌ{âã·îgýu’*O£øøß—‰IÃ’…V±{iŠB¨´Fqùwé`•T Æ@•—TI¢qõBñîÖæßOIÕ T”’*wxåÿÎã²ã…º[y—Rèã³Ä_N?]4¬’ªA¨r°Kª~÷–êAŒF"ù½¸Ý>B2R(ÔgÈíp"4zôÁF^}øâæ^ÁY‡e >UA ¯ÇO ¡ÔèzéÄR9ëjÞ5‰W_-çÜ Î!­æM>]Ñø_KÎUÏ⇮ãÆg¿ i¯óÁƒüšm\!ˆÞ—¼áó¸ðøƒÈ•êƒ<£çõ x=¸½~„\‰Z­îs½Z¶l pÌT é Ó øq»=‘£Ñéû¼Öçv©1(Ý|ùú 4¤ŸÈ¥§NîÖM7(T…‚øÿ±…Ú mü&ÍúqÑÆþi¨)â›oV°­¸’&«]|¦„4l.ß!Ò¦ÖêB–-[AaIMí Y‚!<~)¢T~[1Oßto.û™ sÇn“†”èchvH{øù©-Ù‰3g& =ëogË’W¸ïÉ×Yýó.ÿ*OuTQ!/»Ö¾ÇüÀÒï·añ„Âë¥6&’<½þ~êëš°X{7òN½Ž‹Îš‰^ÓGédÐCñêwyøÑ—Xºní^¦A¥#$yö&ºÙ±òmþýø+|µ®›ï¿4(5FBA/^oû»Wª^¯·ßxWr ÐÔÔ„B¡ ..¥RI(Âb± I!W¯Ýòwú¢ÿ^¾ˆ„Ûᤤ¦‘Ú&3 ÑÆ>èð¸œýfÿN§3œ ðûýÄÆÆ"—ËñûýØl6‚’—Ë_â¶ÛŸdK³ºÒ~g+e,åæt¿é¬V«ØÛ¨,)%ùKœòýëxì.ܾ í V$¡`Ø„#˜>}5«ÊpúÙJ2Zc"£g\À³OܘeÉ#«ÕÚ™¨\ÅM.`y•‡`hO ­©•íµM˜4JL&jµš`0HGGG¿U ]É#›ÍFSSQQQá#¼].v» £ŒÇ¯¸€×ÕØc½B’·ÅC»ÇGSs3@“É„R©ÜÊn‰-‹ÅÒov¸­­ I’ÂGhtË ÐÑÑyHÈkæ‹ÇoáŽ7¾ëád_‰€»ƒ&›“ÊÆ&b5jâãã{çßÙlFÕ½j±Xðûý´¶¶‹ÉdB£Ñ …èèèÀëõÒ¸õcn¹êÖÖz÷pµ~G3Èd4¶ÛijjÂ`0`4‘uM¿—ë?õH¦üy)æõUx» S I$oÖ•¼ýøå 3*zL¶··w&)~Ÿ[®½ƒuu{Óp[@&£¬¹¤¸¦ðã]û·¿¤-®00›ÍFâââÉdÎ9¡5Þá–ëïáÇzïûI ùì “QTo&CÓ©'ú%ý•jCCË—/ï÷º‚‚, Ÿ}öF£‘SO=•ØØX¼^/+W®¤ÝÚLõKx}ÙŽj't1‰´[ZùzÉçL2…‰'öbxøáã·(ú&™¼¡¦^»‚$Ib×®]¸\.–.]ÊСC9á„0 X­V¾ýö[¬æR>yöI6›ý½.a˜©lûaåZ ùË_HOO¦zé3\xÝc”8ýàô ÐéI:žùŸDZŒ–˜´ã¸ç©ÿ0jÑgü\Z‹Ý+0Ä¥0nê,Î)ƒåË–‘‘‘ÁŒ3ˆ‰‰ o Ý3Én—ƒ/>_‚7 ¯žƒ®r°eË–a2™8á„Âæüü|JJv`.\Í;ï¯îõ¨t•.–€BÏ7ŸFFZsçÎíÕ:,]¿Œ{ ~f∘>-§ªªª°Ì”——3sæL233ñù|lذêŠí,éa¾«éí¸a‰£§à´´ñÙgŸ1a¦Nú_¥ŠœÄI§óÔó±Œ{÷3vÖ6ãôË0%g1ᨓ™wêÑdÆô쥹\.¾ûî;Úš+ù깇XSÛ yGRºùgZJvpÌ1Ç——‡L&£¨¨ˆ‚‚‚~e¦«úbÉ’%¤§§súé§£P(hoogéÒ¥ø=m,yú>ÖÕõNCÒØiüðåçè”JæÌ™®:ùŸQªÌ›7¯ßëºÎ’™7or¹œèèèÎ8VËI'DÐoáËŠuÈz™,,Sj˜vþ]ÜrãÉ$kå=Z©>[ _¾û#Ë×ÏöVÁ1W¼Ë¿æE݇¥ÚµæÎK\\\Øê‰göìÙ8šL|þ`ï.—~ä‰ÜùÐcœ2&1l9ÀÕb¦Ã *e§Ì¿„㲚X¶>†«.9‘Ä_Ú¤GÍ5wOÅÙaÃh &¢ ê>[SRR:ùí¯aÇÏôz:e,—Þ|/—œœ‡A­ [™:ŽcŽ9¦ßÒ€_|‘©S§rÚi§…-€áÇ“š¨âÃ-Ëõ’Xëb8á²û¹÷Šãˆ×ÈQ©Taº[ª_[)ÿç5JUGñ÷ Žìsà÷–-[X²d sæÌ!999,G“'Of\Þp~ò•²Ð×»Å;┹ûÎKÉ6È{8GIr7óýgïðñ—+X·ËÊÐÓ_ážyÇõXÚ¼y3k×®eÖ¬Y¿Ô*w~WFôiÓ˜±þ¹ EzœA(d»MÞRjEÊðÃÅíooí¾ý™q’ß#:Ú­Âbµ —×/Æ÷YRuË‘$TÝÖK%¢“²Ä™w,îÞÊbü¢à±âÂ>ï?~­øóðd¡Õ%ˆ3oùT´ïAr($ £CX-a³»Äú+© ˶%⢙#„^)ïv.•>6EL>÷.Q`vŠP÷5­·œ3UÄhuB§U … ¡ÐÅÌ[¾Þøås;:eÉfkÖýØOI•W|uï‘£ßc½t"kütñàâ|a÷ìñq^ñù¿f‰”w£A/²'Î|ºU8¡ý“Ÿ[جaiïnŸ´%U^ñÑ-3D²iTz1äð“ÄãK¶ gàÀøðÇKT‰-¥›ùòëo)*«¡¹Ã‡11‹ÆÆFüÁ¾’& RºˆW^Jæ­¾¦¼Ñ‚;¨ .m“¦ÏfÞ¬#HÔ÷/ò´òúµãÍü CoŠÇdÐ2cÁ-ücî_\×ÖÀæïW²nÓ6JkZ(£HËIY•ä>j‹ºλçMÆ}ĪŸ‹1Û¼¨ 1dŽšÌYçžÃŸ†Åöà*ÈJ³”dœp o½”Ê¢%«©l²âjâ3r™|ÜÎ>épL}%LððÝ¿/cQ½¥s¸º:¡;‡„„­v+–¯`óö2š¬.Ô¦Ô®¾*;äÄ;™‡Ÿ12vÑçV6âð1)ƒñGÎâÌS§“§ía5¼,ýç<º´³ìM¥#.QOÞÉp×¥wóvB¸Z«Ù¸vßoÜFUS;!u42¥Iôu&—†ãox™·²ñÍúíÔµ:é¢IÎÎã´sÏç¸q©µg¿‹†Y7½Ê›C±|CumNä:É9yœ>ÿo3&yŸið;[(X÷-ë6°³¢ŸLOrÖpJ묌Ȍ듆9ÿ|È÷Y±qumN”:ÉCÆræù2mdÂóáeìbËg‹Ó§Æn³åB®Ô‰”¡y{X޽ذYZDs‹E¸¼}ûõâ¶<èÄ´ ïŸ~ñ¾¸ê¬sÅ«ëËþûnl+\x¬žÝÝJ«…6&U\vÅ¢£ßâÿ ð8ÚEKs³°t¸„ìÿmj­\"Î;óÿĶŽ`óT‰ëÂïqˆ¶–fÑjµ _`ÿ&°†<õbá]ç‰q9 B³g‚Î(n}â­~$¿[´·µˆ–V«pûö¥hÛ/ ›/´2:1tÊYâŽn×ÿëK5è¥kߟt˜HÐï~R¬L(ÔF¡PiEÍ>ÿ‡$¿°[[Ess«°»ý¢ïsŠ—OH y§,oü©¸÷š‹Ä} ×t›?l­X-þyÎ4‘“ 2Y÷âû„ÜI⛟ û]/ŸÛ.Z››E[»Cø¥_a¸± Ÿ»C´ † «J<}ÕÉbtFlw/¥ÐÄ߯¾Z¸ú-þ Ÿ«‹§ðKUHlýì1®¸îaò›{”Ë„Iì6mAHí§VB®ÔbŠÛ·Ò(…&ŽK^ùùëŸc˜w.™®£ôë•¿$§þ¶m㜠•Ž˜xÝ~~º‚Ôq³¸õæqÞI“j¿â?w®YÝÆw¹òoW³ºÎ·Wv8èwÐ"A­2… clÆ}µâî{'§,£>õΜ}KJ×P-ûïgûÌ?qó¹góv~k‡ JXš¬T¶8ö.ÕÚc½Ô:# :㯸Yå¨uÑ$ê¢÷ûÎ@{ /Ýp·½· ¯´w…ŽÏц3>úþhÐG“¨ôo÷»Wªõõõlذ!9øâñgØlô*Lr•‚•Ÿ.&Þ`àè£Þ+q1 ñPêþÿíPT×Ç?ï½}ûö7 (а@ULLpXt(Iü‘t0M$i5ÑZ5±ƒ¦¤‰#i2µ¦Ó’Îtúcš&™6µSS54Ð0dŒ8š&ÆJP Š2ÆhÁ©ì»ËíþH0©º ÈýüýfÞûîùÞ{Ï9ïœ)S³µÿÅfn"DÝûü¥a¾šb^Úõñ×tÖ4sº©‰7KÞ ÉãÁëõöYôãŠåN3cwØ0) ®¤òó;q«/*++in>ɹ†wùÃæ½êÅ /…³ÍGyóõ-Lš8‘´´´îNæ¬_ÇšÜñ!>:TCÉ–vjÿüÇún×a²Øxÿ­2>qGáõzñx<1Åä¬i|cï.šTED˜“õûùëÆ&¢¬‚Ï*^fSõ™>×’¦ >ªÚMg™2%ëkkS 5jkk©¯?Ì©ê2~[¶¿Aýb#;Õx‚²3fôhrrrд]ôC^Tm6III}‡8ÒÐwå#[êlÖ¯+`BR†aôÈWŒØa9ÜICe%U+ÙY²ƒŒ¼§¹Ýï#ÐG*E·rçŠ_²æ»·á2t\.×W#®×€#.‹' SI²)˜µ"©IW‹¦iÄÅÅa˜UÔµqötGŸÏŽû8k~x/±ò\#}ÂÖLæ:ì§a_ a{ ñ¥õ}Wt22)(,drZ2šªôÈJˆä­ëDÝvÿgÅ{‹Ù•ó ¿+ǾÏÎêCQ5Ç(îÏ_Ë}sn!ÊjDlc,¸Ýn< #iü·ß¹¾}Ú“þ9O<âÅmè=ólôÖ|ƒ¶Š«sÄè(K¨žj8Å„éyâoî%Jb8(šï…Lñ±a5ÌBS¡˜£ÄC/쟾󢘛á¹,£@®¸d‘»úeq"Ónñù¡mbUî­Âa¾ŽV‰¢‚o O´Mج†0©ŠMxß&:DP+^¤Ñèhf?V,Ýð/ÑÒq£¯¥°8õÁ?Ä™ã…ES¾dOšpŒHÙË~%>ñ¯û(#ÓMuÐ~æ;ÞØJEegÚÑínRÓÉ[øY½FɯP ™îË`ýö&:(& Uu3ãÁ%<õãµÜ=ÉΧ{ËùÛ–m|Ütšö‰Ø„qdÎüÌÍ"Ö6Œÿ!NÕïaóæRöÕ§µSà‘À$ïîÏÍ!%ÖÚOíA‚Ôý€ï½ö-uhz4yO¾Â+ÏÏÇÞÑ»%›xë½Z޵´‚ábTÊ-Ü“·€Yé‰/nr1áµe·³üÕjUEÕ£˜”“Ë“Ïþ‚Å3=¨¢ƒ·oakù{i:K'FzR™r×<œ}vÓ0h>#‚œ<°‹Wÿ^Êáã-ø»Üñ)¤O¿›ù÷LcŒË¸îC¼¡Dõ<Ýt¶ûñµu¡6œk¿¶å¶5²nj"šÇwxlÑ jK·“õÔVf‘¬ÜêÄïóÑÖ°»\ØÌ²¡Ý%;éÑÖzŽ@,«Nÿ^Ú‚Ô-eöÚMœîPˆ½i& ó2ѵlÖÿt>nÎW½j£Õ@1Yq:í—j¯öm¼87…ü·?'>c6ùËóð×ìÄ2cÏ.¾ã’^ Â]øüm„Ðq8Xôá×É«;ÜE[«Ž°‚Í…Ý<öt“T › Ã6@oÓÌùÑÏ8^²›V>MÁvŠªª0.3@ÕdàŠ6ô²³«&îXøNÍâf\z6KòØ‚Y˜šÊyéõž>׫Íj¸:t2?ÃÊÄjôÉ X½l*¥¿9ÈQÓ… Õ—}Áf+îë°^3ªfÆ‹sŽMV©ºVã4»¸k飪û ~“†ìU7$¾cf=ÊŸæ%“–ƒ 46_ïg&kÑ ÿ»Ý&íB¹FÉPDŠªd8žsˆ™˜AŒœI¿¬.I„ï²&\Ñ1Ø ¹_I®Í4m®h\6é2’'Õa)¤ »nB1Ç‘»t9úèQr^$W¼ŽÌ+6CG19˜6o–‘ðO¾DŠê`C‹&÷‘U„£ãA³’4áf9'’«U+Þ{—p«êÂÐtF%§Ê9ŠŸñÆK©’H®ÿ™z>tÝB'T§‚s¥ºVÔ|ª¨Oðq0R­ÂËÈÑø#b! h;%î Ô !Y­"©®òºL¥fº•GäT€-•ZR›pü¡êÐȃ0 4‘êÊh ‡Fr£ 'ÕAP”È€>¨¦Ê=ÒAé.L="2¸‰z¾AB4ú”bá¡üv?#žÂXÕ›¡/.æ×úܤ?”“Fø´Þ¿¡~6¯ê5aø•šüý!Ô¿(žy¿¿¦¦†Lh …Š<7 €Ñf"Mþ ×Á¡î£zÆÁ+º2ŸŽƒ3–jäDBJ7HÏ ©ª²®°ì ò PYpà-dU1¤uBi]K“I@‰HsºRñ‡³5¡¿ÃP¾R‚2€z;H¤WS—‰PGÊ\—"^Iׄ(-¾é¦€Pš&TÀI5Ó.Rãe¿Ä`\"‚Ýð!§Ò£á0‹EUyõ¿RóB(è;BHøõaWJ…\U AÂ#q¨W .ô‘dàAÔAù±Òícy…ôz¤Çùg°zbé½dÄ#õˆÄÕQ+^ùÛ 5c¤¾ˆYéŸXzbÈÈfR^>ÀBì52#ª*M.XS„/w/ÕõD• „ÉÉÉ,&„V]„“ÙŒ$Ý éyÐ…÷û}>Ÿj5Æ0Èáhp¹œv»Ýd2™Í›Í†RëEMþ«8›0…M¯ei¢ÒIyõ€žSÞ‚#>=|&R+T„äH@”‚‘â(ƒ;„K¢ võ‘ IC"á6Z[@º|‰RQ$ OšÏ¶!ÁGÐ>¥ºR&Ò ´‡#J0œõZ0ð/ÆtÓMé€eu+·jpå-w´Š0£–&ÞÂÛ?_¨sô½ô0PÁÇ@×05‘²ÿª8!éöˆ`Hɨɍ…®˜ÜA„j4—„înjȶÖƒª#§á:8hcX~æQå§£( 5$C"ŒIp‰¬¦E¥®Œ‰-è KPÏá×GÑ D¹´ Ô¬‘E”&M@ ø\N§ÓY__o4-f‹Õ–Q§Ë×{<ž†‡Ýn×ét‹Åjµ± +bñ⻀ª’Ëél°ÛíƒAzDÄ*aŒ1!¬Ú熓ÉÄq ¾¾¾sçÎ6lHJJ¢/q64ø|>zô°,{ôè‘uëÖVT”»Ý†aÊÊÚuèØ‘c¹?¢õ ƒßïo Õ¤I ލTZ ¥%H¥±hÈ„è9…žÑ"ÀÕí4Î?B‚ÖKühÖ=\%Pœ¼€VÍ¿*Óí-r¼PÒ-r;bÊJE(+¤u Åáž‹qh­)¿TP‡Ñe*° E<(€…lÈPò(æ,œ¶©Œªµ2ÆQ$L …c,Zת ªŒS#§o1Ýs*]«bwÔ ¸àÐ §° QY?ƒO­ „`éÊ´B*Ö‡¶*ÒPÝ-ߘ ñ1ò¸ŠHü®¢LÚªEõQÈHîSUs)јbÕd T„Rû Õâ8†:ÈëÄ^GI£:`ŠX¢aSlSf8P yé)—[ÚlK_–eOž<±víoåågNƒ-!¡uë6:uÖëõáÚ„ã¸òò³¿ýöÛéÓ'Ž¡Íf+)iÙ¥K׸¸¸‹ô~‘ªÄqœT¥³gÏ8.„P‚ÍVÚºM§ÎcøPEºÝîºÚZzÅ–ž‘Á0 `îܹUUU=zôèÔ©“l&À»œÎ††ùŽã¶nݲnݺ¢¢âöí;¤§§7449|xÃÆ ‰I‰W ªãt˜(àBèûï¿·Zã/¿¼/!déÒ¥ùEEÅ‹/îÝ»w|||ì·5 ‰‰?,[Ö¶m[ê,&P©V•5ñÔÿÂ=_ì#)CMKÿÔc\l’$xXåV¬jUåb3x=ùdŸ@”=Œú? FC| €‰¥³$ZhC^ «9ªH^8 бÝü¤2TE>tæ¥ÍR¡gÁÐZBDQÈp"J:Áˆ«Ûp_ ¹ƒ$kah0Ð!Q’`%¥1hؘCRåP<òHªÏà ÜIB†é¬¢zLb"v„¨oóÀÆ„ÐåÛĬ€ é' é©«vÙ ø¶€(~tpÅŠŸ232;wéš••å÷ûOœ8¾nýzÉÐ+®²ÙliÉa9nÏî«W¯ÎÏ/èСcff¦Ûí>vìèºõëM&ÕC‡™L&•%*!1Qo „§NŸÞ¸qcß¾}çÏŸâĉñãÇ ÏógÏžÍÍ͵X,ñqqR Ü;WóÑG³¯¿~Ln³f¡e„>Ÿoñw‹óòr;uê"ýnƒ!1)ɨ׭úõ×¶mÚ&''Mž<ùÅ_bXvýºu¥¥¥~2,ËŠ¢èñx$h49Ng2–ýéÇKKK¥jð"á1Eà± ^$>  ˜Ô)ébŸ€ ˜øÀc"ˆ@ÄÄ'^R™" }¥á.'Ê9Ué ¢„JP}# õtè;WÝÅÏFa0¢ÚUþ„œGƒ¥•¤t5¤Þ©‘J ¨ph éÆQøô&KÊWC¬`ÌW€4j *b˜¡Ç‚-ZßË÷&byn†tõCZ6à‚$/I¡üPHRb«nBB ­)ZRI)Z3d!ƒª^ Žåð°h̆¼(c2Ø ’æ¹@ŸÃ0'"¨êVHé$Տд®PU &† ÜJ0BÓ2†$bQDƽ@€à€Ñ*þ frcR¡mr·†Ü þo&AÊ«Wý5"Ìd?þ ÅGªCX'…•€zÔ)l© Ä ˆpp袂 ¹™O‚ èAPé*„„*†$JܨF4F†5\9’úU|ô2‚“Yø² gKõ”*Á| õ EšaäÉ*ÂL Ad/È_„êv¹ÂWÑêAt‹¡‹‡ŠiFü¾ ¯ Œ=ª˜„Ãaÿàƒ÷¯9ª  @æ#„~žÿé§­ññ=zö’tº4Œ}>ß¼7`À ÒV­dl !Ä¢¸~ãG}Ýà+†bññT¥†††>xïškFf¤¥Û}^¯Ä¶BVü¼Âh4ôê}¹HÁ ß°áK÷sçÎétºÒÒÒÕ«WÆöíÛKŒËš5kΞ={ÅWx<¯Ç#³ëÖ­-+k—››ë÷ûE!Ô³W¯o-***±X,ª•‚àòËû>6mÚ’%KY–ïÞ½[‚ÍzË-77k–»`Á‚3gÎ<ðÀ§Nžˆ·Z_xá…-Šü~ÿ-coÙµs§Ç㱘Mtõ,0pHú˜¤„ Ô7Ò[–øB(ý”&ˆ”UXà¿H#ÿ[ü‰…FFjH!†yÝ0œB­þ.p™A¢àµðjÓg1Qâ,JC@¶(RÎÌ!uMTÖ¨ˆkeµ†—+ƒÓ8!Ê)FjaEÈõ­Œ1ááÊj’3¼ÖŠŠY¹ú“hM@T‚"ê*–)4Zœ’¨ãŽâ‰aý±D!„z ÏÈÿ¨ù'êÿ4-"¿!*®¶´˜„Œ‘AâSR#0*àó+]މŒü –i*%½Gñ¦ÑtQÉ'%怨âË"FÌ©ú‘Nµp‘³gc…¦œ½8ß‰Æ iÒçäà"MÁÑùÄ -[¶´jUÚ¼E ¯ÇÃ0,&!ëR×®Ý,œßª´ÔfKH–e·oß–Ó¦MÉ1wÝÚµÅ%%ÉÉÉã²¶e ̯®ªJKKWÑM†a¶ný½¤¤eóæ- èÍÈ‘“ï˜\^^~óM7Íþ裮]»}ýõW­[·IHHTÂØˆÖ A–/_¾~ýú›o¾™çyŸÏDz¬ägär¹A ¯®ªªºþú<·Ô',Ç øàä)SvìØp:]«Wÿj4™¾ûîû–-["„î¹÷žD›më¶íï¼óÎ]wß½æ×5ï½÷Þ†õë7nÜtê䩾ýû©>“à÷±r1Gƒh€Ç@Áð/@i6á#¼€JV®â„#|SŒdÐ!ÑL†¡uxT²†:P^¿)Âô‚þ ì¸lr‚* ˆäù«tì…_Q€†dU¹5„P}<Øb!û¤WèŠ 'hġ¤ÃtˆSˆ˜ Á…7€4‡„Ÿ÷&0ä­XgCJÒ´ ”DKÐ¥Aéá+‘yŠd5‚®# ›TdM5¡b˜Û'Ø´ž£H‘•‚„7­tâ(eÿ ´€¬rë”_”ÒÉIÕbD‰¥hÛSDø®A Qs6ªÛð s²  ²øRÐ6A‹m†‚ÁV$´¥„Å K¢ÀŒJ8@¯P!c ‚å*rF¨„æªGÆGpQA_><ËÆ,‡\Ð4 /Åjöü ð•••W\q…Ëåüç½ÿœ:ujIËÀO<1õΩéǹ\n›-Q6fUVVvìØÑív™L¦… >÷üsÇÍ™3'33SÇqqñq Îôô _Â!†©¬¬0`€Ïë3gν÷Þ[S]½zÕêI“&¦§¥±«×ëœ.Wbb’Úª¡,„Nœ8±|ùòÞ½{ßzë­œ0a‚ßïïÒ¥ËöíÛS’“SSS­‡±Á`dYV=,ËN˜0þ½÷Þ‘y˜”˜ÄóþˆÁ°ìÃ?ôùçŸI$Š×ëø|>¯×kµÚ¶oÛ!ÊÉÉFy<†aOž<Áq\jjªÕfSÎÇ„/c@D‘ðò"D∀Æ&@1`‡â1ññ„'Ò]Ä'^$Á¿ö)^$"De#¡rކ*Ú3²} ªBBäå§c©nŠÎùHÛ¿#ð¢4ã #»(AŠ'Ô[DçuÃŒìS@œ>¥kHT65è±Ü$ûÉ )îšâíƒKPBU'{äÌ=0ÈLI½Œhm,C !(¬‹å !UKèDÖÁ0XS²žÊM´»„Šž‚!~€vØŒÀ¦+L?$)CØNz9l&©Ù6ƒ€Ýê´ÛOïV"Ù§íâÉ>£û pN³n²Û´\m H­¤° @0HÁ.V$a‚€=Nµ¡¤ûe÷®ÐY(»ŽDû@X`!Ú²FI!¸T <åô!u.ý­õ„, ‡-h† °Ê†Ô­Æ9­Ì  =“ë/}R2-…‚ «¡!¤òÉA(äŽ'ƒa½/ÃA€½–q9€ cPx€²b²YM9cÅ™* ëѰjj„±¦#Ý*„•§`£ö)Á>…Ão”ÍòM±O&(Òsb7ÃsaOs:Çq¡ÁCÝ>þöyóæ}ôÑGåååñÖxž÷'&$ð‚ŸS¢×ë &óçÏê©§.\øÛokn¿ýöÏ?ÿÜf³Yãã‘'ãbLËqÇùy\\Ü¿ž~zôõ×÷êÕëºÑ£= !!AxU•"ãBHbbb—.]ìvûÌ™3Ÿxâ‰iÓ¦qwøðá}ûö 6ŒeÚ‰e—Ó¥Óé ¢ ¾óö;^WžUý>>Þj‹Èò ‚ЧÏåü C(B\\Ïû/¿¼¯×ë™7ï+Œñ’%K¼^O‹-|>ß™3g:¤RÞ:êÙÀ„ˆ‚¡µÒoÙ"<%Q@Jæƒö*¬3 Å 4N#Oê\F³‰Àž4åQ#‰#üšã"f02‹LMO2ˆ”þ5oæHù0Hùh(;[HáSïEB–¢0#r q9$2Ý¥à~A÷EÍ"do£ò!*, ¡Û(Ó“ˆé¡qLQ3‘Z?”`9‚5+êh‚—ÌÚJ”ÃD5*™?…u”6ÇD33Qì”Âb%·3&RK†¼nU·)m”–2Ù¸£8H›ªèæŒTYB‘ZÔŒC(G{„A´¥LA}ɺ‘È!åDfq õí„Q„PúòÓ­G”})“+& ³©)âéb̓02BHŒî½ò: ÏB.Ý,|EÔ(¯ÓxiLäOFµO1½ÎétšL¦¡C¯EÎåtšŒ¦3§ÏÌùtNFzÆõ£o`¶®¶...ÎçõÛl ˆaÀ…n€Æhлœ®xküñcÇï¿ÿþ)S¦,[¶ìµ×^›8a" @ª„1¾ ¼¬(Šiii¹¹¹‡®¨¨èÓ§Oqq1`É’%<Ï8g0~ ’Ÿ_pàÐþÖ­ZKoëñ„¬W»=5-Åb6ËÉ#CˆÙl¾òÊ+·ný]Džço3æ¦Çäæå­XñóË/¿üÄÓ‹KŠl¶ 'bŒo»íöí;vôìÙc̲ ÖI§¤‘‰A˜5!’cý…\ó‡šþ«l[*»x$˜1ß#<—PÅœGŠ0šãXy±:Ý­´„T…ŒÊ\: „Q!ºð`¢š1+ĸ)!ˆHéA$%ÂrD ¬hk T4Pˆk!ª´l!§`B$nIFòOªè`, ,Ö2€K>žëYÑ}$ÜŸžD1nÂ%šDÄÇ1Ò__xÄ“*ÃJxŠ ÌÏ Tqìa9|›rVÎî•àA²«¨ìG¡¦ˆâ×…)m–€„¨€,•“MZ@ˆqÀ¸I}¡Á¬ ›å$XXq5FÂjÄ ƒÖ2Ú1/ÄñÐ)Î …YP&B:{Õ 2)Îì%æ•\bûÔùé1"Q yyù‡,kSær:ûõ훕ռys„(.§311!.>^ötñó|³œÜÃG¦¤¤Üxã¡×ë ½â €Ûí6šô ¢(FsrhR•ró9XÖ¦lò”ÉwNž2ôÊ¡W:~„A¦¦¦ÚlÖx«\%ÊùZŽŸ’ò AÜà€ÅbÙ¹sç¶mÛî¾ûn¿ß!äyþÌ™3yyyf³Éb6W•Ð`4Ξ5«S§NIIIò¢€ Þ¹sW·nÝm6«ävD}Ý$11Ñnwˆ¢ ×ëF£Ïçóx<&“I§ÓaŒ‡?%ýôz½’ó²tô܆† QDL 1&>`D D,™œ€H ˆ‰,C‘¿DD ELx ©0K `æFB›…TA¥0‚~Äø)£€*ÂFAÑ݃"¬`T3„áQM?!§D ¬|X%"Û§ˆ’•×sÔü¡’”÷@£ñSJþ›È“.‚ÑÕ_­Ç‘bá tU½ox†’m&áÈFej¢™ä@£^bªäPo²•(¡EÈI\6~Ɇ<2ç)H0ü*ž‚Ý‚¢Äâ)þ&t+*ßQìšÚ¨D"|*$ºÅª(¢PHY€V-J‰¢„26„¢yäVÇ*7lÚBe½Pà¤C $€Îí§lX#Ö†4þ­Qq^PáÓ¯ô€¦cïd"Ef8HÈ ŒÈd P KˆzjR›Ó¤-‰@‘•€¶œB ‘c¥dj(4žaˆ+RúÁBQ‡Pƒ¹ÍöJ•ª‡rÏf! §UÁSc"Ú§HxªÖ/Ñœ hãhd'ôÈñ†0â;*h.¥Å6ƤD±™`2›?þhvÛ¶mSSÓ¤ð%,ŠÒ̱gïž¶mÊRSS}>¯<±[ââæ~ñEn^n³ìf˜àЖ2<|(+3»°°Ðëõpž×J[®’å“g·nÝ:-5ãX¿ß dq÷ž=¥­Zg¤§{}^ùt|ø9™ö&§¦¥s÷Å_|þùçcÇŽ>|¸Ñh¤èN‡£¡Á!èF£Éãñ,^¼(5-½°°PÊV_Wûûï[ú÷”“ãv¹šjë¹U!ÕP½²†áH¸’øËr)i¡H1 !§Äˆ)Ò#p3áÔtªFr§!ˆ@e0V¸ÛFHWÀȵ *.GÂÖ*2ÏRµ•èÙÉ&P'BiBe´²l§"Ôš8ªÃq8*–;,´µL%*ÂF¶CÈyh(#¤ã¤ä8— [—:ü]Eì!RqJd:wŸÂkHEËEØ…±±Å£:T*7ül:¯ÒXQÒEðÒÕXsk¢‰&šhò0ªÕjì IìèpÒ(«s¾EÅ.€Æò *x6~}ƾœDÀŠ×ƒ±+&owC¥Á._¾¼}»vÒál†c\SW« fM4ÑDM4Ñä/'㯽úá¬Ù | „\䟚h¢‰&šh¢‰&ÿ)|ƒ1–A ÒZDM4ÑDM4ù“óÀ7XDBjkkñÅì%,a˜?ÔBxüøq„Tí¿v?!tìØ1„.=u8<Ïk_‚&šh¢‰&|CÑëõV«ÕjµÚl6„Ð+¯¾Êq܇³f¹Ýîó‚2Ò „ œ±Ùl?òˆÉdºÈÀ[)¡·²2›Í#®¹&11qÚcF“ÉÔ”!”R$_0nkʃTÕ¶Z­±!£Åb¹òª«âââίÙ-*h)rÅ/^\QQ¡} šh¢‰&šü]ð „pÆë¯·(*jQT”–žn±X|àA8Ž Ý¡Ñ ð«¯fYVNØàv»'OžüòK/¹Ýîðð`ùÕψ’•]T\Ü¢¨¨YnîÎ]»è»ŒF£ßïþ¹çü~ÿø X–å¨8}úô¬Ù³Ã±‚ꧪÚòO†a¦Üy' ¦Q‰ö›Í&U»YnnQqqVv¶M½)ººY¤,ÒMls ]Þ·¯^¯—+6qâDÿI"õKì÷ÕDM4ÑD“¿–°±O»Ýî­¿ÿn6™„ K–.>l˜¬÷íßÿãòå©©©cÆŒ!Z!‚ Üvë­Ï>ûìôéÓ½^¯Ñh|àÆŽ;ç³Ïn¹ùfÀok×®[·®¤¸øšk®™7oÞ AƒÌfó±cÇòóóކµk2dH4zC1gÏœqØíB—ËE9räÈ’¥KK[µE‘eÙÏ>ÿ|ÄÕW>|ø•W^iß¾}Ÿ>}b¿5ƒ!äûï¿·Ûíõvûˆ«‡ggçx½Þ œ«9ׯ_¿¶mÛr÷óÊ•[6onÛ¶íàÁƒ!}ò‰A¯?uúôÑ£G_}õÕ²²²~ýúE{„Ýn?uò¤ÕjMKO/?{Ön·———õõ×¼ß?räÈäädŽã6nÜøÛÚµ……#G^#g¾²Ûí_ýµßï¿òÊ+óóòpL "ùÓPà÷û¿ž?ß^_?bĈÌÌLéTeeå‘#G¶oßž”œ4æ†1â…nôª‰&šh¢‰&ÿíü$~¿ßç÷ûý~¡ï/–]@Nž<ùÚ«¯Ž¾þz·Ç3cÆ ƒÁ­Q¯¾zø±ãÇËËË!„ôûý}úôùôÓO Ãê_ýø£Æ¿qÓ¦ù TTV¬[·@xÛí·ÆÕ«WUUW5½’„‡Ã1ãõׯyMCCƒÇãaYö‹/¾HNNnÞ¼ùwÜѽ{÷¦´ Æø…_ìØ©Sÿ~ý¦OÂd2͘ñzrRʸqã~³Ðd2-Y²dá‚&NüyåÊúI§×¿òÊ+ùùy“'O.((˜4iR=bsc ‡àp8¼^ï˯¼RTÔ¢WïÞ/¾ø!d×îÝïðÁ­ãÆnß±}Ö¬ÙœN'1a'Njß¾ÃèÑ£¿˜û«„/z!½^¯Óét:^¯'p÷ÆÌ™iiiÆ {cæL5VVU=÷üó×]7Êåt½õÖÛ1zSM4ÑDMþ*ø†DK°c2™&Nœ8vìØ‘×^k2›éä?lUZº}Û¶f99s>û,¶ÏŠ×ë»ý¶ÛÖ­[X¾|ù?ÿùO¯×+©ùï¿ûnÀ€ë×­ëÚµë·ß~;âê?,_¾léÒ¢¢¢µëÖ-YºtРA±}SDQyíµcÇŽ½þ†Ž=j·Û»víš••}Ýu×™Íf™ù`YÖl67Ý·¦ïå——¶jÕ®]»úúz„P~~Þ¾ýûÖ®]wÿý÷ûýþ¹sçöíÛwíÚµ]»tY½z5 yóæÝºu7 ØÍfÙ0Ôá8nÿþý½{õnÕ²%DZ€íÛ¶=üÐà ‰O>ñÄœ9ŸJL Ƹ´uéæÍ›·mßþÐC5ºýÅáÇo3fìØ±cÇŽ½éæ›-f³N§[±b…({öî=sæŒl‡aêw¦¦¦Mžõä“t@– @QQ˜Ž&šh¢‰&šüµPN#ö)Lˆ ¢(Jî5X!„cBHëÒÒU«V¹Ýn·ÇóÖÛoǦ+ „qqqi©©o¾ývQq±ä"Š"!dÌ cÞÿàŒquMÍÂo¾E±C‡ö:Î`0œ>}ºÿ¾±£—%L³oß¾ìÛ·ÏëõÚl¶íÛvlÛ¶õ³9s„’7Izzú/¿üRWW×h«HN-2E!ôÙç_>|˜aA¸ãŽ;ÞÿàÀÙòò+VÀàSiii«V­ª­mR2h©aý~»veß.þö·ßÖH.À:uzõÕ×öíÛûØãMš4‰çyAôzýô'ž¬ªªbYFàùFñ“ R÷I=ˆ1öù|C¯º}ûv€Ð¢o¿%„HaÙ?œ½{Ï®×^{müíã}a;–i¢‰&šh¢É_H˜iÓ¦y­Æ7&“ÉápˆÍ|^/Zt±&šh¢‰&šhò' !xܸ[‰ ß¼ÏK/>ïñ¸/Þ@8õî{øÆ¶ÐDM4ÑDM4¹T"Šbee Ç7½^÷Ü /¯7<2YM4ÑDM4ÑäÏu|xIqÑ“' Á­ÎW0Æq‹pIì\šhòŸB„å8„ DÚãâ|K@q,$Á}N´¬Ðšh¢‰&&¾Á´»ÌŤ™ûCsþj¢ÉŸn!ß-Yºué§µ§²,—Öê²£níÚ¥³ßï§1 ˲‹-â8nÈ!ôà‡ÖÖÖΟ?öÖ*ê+, 7µ3fÔ˜fÙÍD¬ÀI555»wï&„´nÝúÒæ°ÖDM4ù{Ná`€dEÒÖ”šh7F£ñ™¯ëÖ½ñâe¾ù·|~cöÿ5?ºàµ—~ÿj74ŒqAAÁÇ,m+—àt9ïòç2_¨¸£LuwÕ½Ùòí»¿ûä©“4 2ÿú׿t:Ñhxîùç.`óM4ÑDMÂÊøæ’)†&]£¼LZ K+æhH HwÏtIzBˆjºUE2ëüiþÊa˜»v•¯ÿúŽ.‡ŽÖògbŠ…ûì:ëÂÏ>¨­«Wá›6mÚ$$$ÐY–ýqåO¿t]Eò`À0d€mã¶/X²vMs»Ýï¿ÿ~=ºw¿,?¿À¯ôÊ'$ÿ©õ’ôáIc漪~ñ¥z mÐD“¿³DÞŸA„†††aÁPÀ„c› ÕP||\Œ X–eF¢÷v;b³ÙÌóü?þÔ®}»ì¬,Œ#;5CB\ ‰bcuP<"keˆ©•9ŽcY–AHE^.ÀgHÒå:ŽeY¡ мß/\  þû7 ÃÔÛík~]söìÙ”””«¯.é­ØoÇ0Ì®;-óŸ¢Z (Š…Í›_âO‚åÞ˜9sæÀdá“?×¾¿ÙaÖ¡×®Lº®µùŽVžmÛwôéÕ#v Fƒñå/^P}(õ§|¼ãã¢{eWië–e«ª*kjjŒF£ ú§¤¦5ÉÙŸ@€¿ßo¯¯ÿ“¼| ’È`!¬,¯Ü¸qÓˆ«¯Žö9Gœ**+ž7¡ð½êšþ1VVUbû|>†a233µ„ìšh¢á›Hs´Ñh0,'Ž7[úÃî»ïB1Õ?!$|·#Z2 ³~Æ͛7Oœ0¡¾¾þÑiÓ}ôÿNž:õé§Ÿ®Z½ê¹gŸ¥~UA~£QÔë¥å2EÿÀÎB"„pcœ„Çë]ôÝ÷6o9~âDqQQïž=z_Öã¸Fõ·ªœz»}Ñwßÿ¾}ǹÚsmK[4°¬u©êÝÏ{¦Æ@á% Öäz6½>Ò•¡“'O>òè´ßÖ¬Ü{Ï=˜`iî<&ÖÄ@F.œ¾!tî\͕ÆGíÍóQ#•'„?v4Ú«]X/@Ÿ®ÌëÇÎÙÞÀ"àðO‡Ý£Z›³-à”ÓÕ”ª*ªž> jut•¤?~lÊSç}ù¥Êøv˜o\~ V€Û~þ¸@^H€¦4JØ"/âq¨áTÌí×AÜž¾ýË/ç];rd |#½5!„çy–e׬ùmܸq¼ ̘ñšÑhjWÖ6==½éøX*‡a˜¹s¿|ìñÇB·ßvÛ¶íÛ_yù¥¼¼zÿmA,æ&§õìÙ­Sçv³gž“×è$È0̺ ›6nÙüúË/ʆ­Œ´ŒáÆTUW¿ì‡ñãÆž¯¢"„p:óï¿Í¬«9•×¢×%éf·ÏÙ2­û”7û¿=õ'/ßâB„Ђ žzú_uuuÒÁk¯½¶u§Öwü>¹ÌÚ¶kR—^©=g|sWí®ÏzÎá¹§.]vG»Ý^__wâø1š‹X­ÖF—ø,ËnØ´!#=#'«Y‹-šàÍóü}÷Ý7íÞëæß˜qÏeñ;Ç!ŒB¼³ß2ó¾öôÅñññ™YY,˶(*ºíÖ[§L™ðz<ÓÆ=zǞɸ#¡°Nê0‰®†Åb¹aÌ ñññK—-s¹\+W®LKM½ÀuÊ…)n?,·Í˜Qõáû¾A£Ýn}âô¤†±ŽúÔ zÄñ¦ßMº-z`Ʊǹ^¯ÿàƒ‡½bêSX–;ö–7ßz«¾®>99Ùh0Úl¶9ŸÎyæ¹ç²³³ÿõôÓ6­[[,–ðrü~ÿì>~ú©'†>|ØÇÂó<Çr;uNIIyôÑi_ÏŸ_TTtÅÁçÎÕNŸþ¸†o4Ñäo!0ÈßDœõ<õF£ùÌ™ø#Gꊋ‘ ø’“!À¦M›d,œ0þöØkèS§NuèØ¡K§Î?þôSJrryEùm·ÝúàCwëÞ===}Íš5-Z4‡ð~^rbEÅPB~ ˜c‹9Žeöª^»ùØÐþ-,f=Æ $z¼ÏCŽ‹6·~¿ì‡=ñ8Æ!d·Û_|éÅgŸy–ekÄêþýû¬Û°éÊ!ƒ¥p\.×¼ùóßzý5©œ££7² ‹ 6šôÛwíîPÖF›š&‘B°¸Ç‚”쮜!Áïç]öÃFsRœ-Kà½ç‹“X†ãyÿþÓ¿§Ç®?úíý#gÌZþìØþ÷ ˜ÆaHÉZ|>ßçŸñìsÏó¼`2îœ2eÊÔ;+üi†´Q¹£n+¼UÀ®ºÝ;êwn>·¹{r÷u££‹1ØÉØËçõž-?›——ßÄv „F¾~íÚµkׯÉm–Ÿ‘žÑhe0Æ…eWNxfõÜ[Ú²l:A$û«<ÿÞ@&Ny<>N‘ÞÉn·Ÿ=sFz–×ëõz½BA{õèuåô+¿KH+âppt_Ýí꧇ÓO¯¯¯?WS€nØcò7„€³gAF¸´¹3¡(†IxùÕê7gЉ‰°ú†0lâS‰ŽÉõî!n(@ €@L“ë]‚Ó¾¡ÌD±×{öî=sæŒÝî¸õ¶Ûóòò0&½žåØ•+W-^´òç•§¡¡ÁãõDóVfYvÍš5­[µúñ§ŸV®ü%=- B¨Óë!^¯@ð /.X¸P»½¾ºæœËåÔæ|M4ù[IT|SWÚÊc0$îÞºió™¿Â騡ƒÏïÿyåÊkF\s¹™‘‘±æ·µ'N|ëí·322NŸ>}Y÷î:î䉗÷éíp8Z¶lYQYa¶˜M&ãÉ“'=Òã²\tR{úl¼%žaI{}ø—u{t¿souïî¹’Ò‰‹³V;™VTMç!âF£ÑívïÛ¿Ïl6‹¢È |^³œ?­¾úª¡Òå••}z]†€dÐhÕèçýƒö{ïƒ9];uE_5±NoÙ½å3¯¿!¯èrƒNܱùf¹u¦´Uß=ÜçªDÁÛtï“Áòùϯ%s ›ÿºQ^Fqœ1¡¨Y›‡f]÷æÔžÚh衦¦æßÏ<»xñb bæ&&¾pݨžWXÎJ¬‰º„ÕU«oÌ£Cº«s®ž}ä£/ŽÏí–Ü ‚XÊ©S§þöÛšGyd̘/r¤ú|¾£GøýþŠò³é™MCðâh°æ—´,9uòôòŸ–õ¼¬w||¼„Q"¶*„ÐëõÞ2î¶õ%­óΡ½Ûõz}»žƒ¦þkBaAÏóô]¡úúzú^é_ƒÁðÂSÏ÷YÖgæ[ož)?œœýä£Ñ_¶mÛöÉ'ŸZ­Ö´Ô4ŽãTÍ.ÁAŸN×}Рûî¿ÿÇ—‡‚ ì6 ÿ’%K­VkbZZ3‹…X,Àå…£‰&k|!ÙîÔ´ã#®F‘g½^w븱wßsï®]»ƒí(*.®­=wìØ±I'>øÈ#:½þŠ!CJJJvïÙÍ2,!Äoݽ{OIIÉîÝ{ß|ëM—ËÝ¢EQVfdí娪2™ÌƒÐžƒ•…y6“ÑüÉüí—_–‡ ج •‡gDÇ7>Þ>{öìÓÿ~Úét¦¦¦1<==ý™?c±Ä=qœa_;ŽŒŒ Þϯ߲á÷ÞE@@)mY:}útÁÎÝ»š»³uí»I™í3ãÌ›WÝš˜Ú¥]—[N™[Y±¡m×î\Ô¢õÐ&Z» „+·~Ó.·¹kÿ7;^ëUx_ð½±rr—ìÞðÞ _Ý=ùÊ'!‚WÕË–-ûæ›o¤ŸÍrr>¹ý¶2«Í³g×1ýѯìµï«öÖ¼~àÕ›Ž8Z¹x»ß[•BÞzë-Œñ3ÏüûâGªN§ëvY›-b·×á¦pcJ Óãóð‚?¿ ·yóæ?,_š’”RXÐ\§ÓIÕá +q=ºwïwy_–e<ï÷ûýçes4Œ×_7zìÍ· „&>¿çù‹ +s_ìîpc¬ø`Âc„ê&Œ‡n7à _Ĥˆ¡~§þÜ‹5@ ÀGé2)¿3KØF ͽ~ÚcŸ-?ë÷ó·Ÿ ‚Ïçãt:!ÆØív§¦¥ñ~¿Ùlv44|8k–Ûí./¯XþÃRUr Þlù{˜ø¸oÏÕ¦_;Š8Ä`€~?á8è÷Žèõã ¾Ã`$N'¨ª$¯ðÕWåË@NÈÑD“¿9¾âMI>=pDY[DŒss›µ,)q44ÄžîããâFõî;ï>õÔ“Cž={ö}ÿ¼·eIɇ³f!ù|¾¤¤¤Í›7'$$ÌŸÿõ“O<ñÎ;ïèuº(kqP¶Âf‰ƒŽÉš u ª>Wëܵ¯º´8l¶˜ËŠA)èu:ï·ÙlwLº£¾®þƒYÜwï}:½ŽeY?ï³Ym7®ôz}£Žù¢ââ{î¾GRZø¸xA\.wzjÆMÕd¢è·%—8*Ÿ(¢¯ßTuöw§ "RÇ ‘^OÞÐ%ŒqƒË‘–à?ã8 ,åµ'°ˆ“PÏë;]u4Á”"`^‡ô‘ê Þ0fÌ©S§ß{ÿýþýúM{lZqZƑ߾}£áÛy›7û ˜aÊ42ú{_O5¦ÜU|WŸÔÞy–¼ØøF‡ý"-S b8Ž#¸œNgCƒT²ÕÚTgZ„Éøér¹t:ÝUC‡U×Ôì;°¨´´u4þI‚8^¯ç‚« !EÑMA’ÿ¸ó˲+Vüüéœ9’CaáècÇŠŽÇÆŽ3Š"„P_ðÀý÷©‚Õ¥©dˆ`#–>C) Ñ–-[æ~ùå™3gâã­éiiÅzMˆÐñ'jjjôz½Ãáày¾¾¾>..Ža¯×Û¦M›3f8ΜœœÓ§OìÚµëÝwß Ç…1‰ÕÕ ºÚj±ø+ÊÙÊ*œœ„êí8ÎÂT×8ÆOð·*!&³˜š‚ìv>/O¿s—å³Ï€–GM4|#ÏÇ0<¼ŠŽã²³³u:]l¥‹18`@uuõ«¯½6ö–±sçÎýfÑ¢Ö­[×ÖÖ²,—’š²qÓ¦Ô””—^zñø‰ ºÞ1öÔ®¡ IDAT;2‰Ò¬ZWçÕ넱×uÑëXÿœu›wœiY” Œ3Ǭ;Í…`2}^/gáÚ·k_[[Kéܹ3!Døº:{n³œ¦x¡&Øl{÷íE!>ÞÒ©S'ú” ð{÷èÒ¹£Øä„:2¹Í/;¶oÅÉã›»ôz¢¦rÛ¾ KZ_a±Þ|`Ûƒçæ_ÙÄm3œ^;§ÓÏÞðPŸfãzv½j÷×:ÖpcŸ‡÷žØøáO½}Ï Ïkaæÿ¸;/?oø°aq–¸½ ‡§€¡£e${’qH».7¬mØúðÖGš™sG6ifLüIªâðáC?.ÿAuÐd25Ê…HÖaŽá$N‚âñºm6ëAW|¿ô»Í[6wëÒM„¿žÛ©ä¶ŒÀ ¦nª‚:qâ„^¯7n,r»õ»vÏ×ëmµµwM½“õù „uuuO>ùÔÝwMˆo =(äμwï¾ 'ÉÞè€Þ½{7Z ¡ÏçÛ°a&•••cÆŒ©¬¬´X,<Ï'$$TWWŸ:uêÉ'¦‡Ë~Äé„ñ„€úz !¨©Á°ó¿bl èÜ9b2‹E4X»”—-#Ž&šüð þw"ŠbbbB·®]c»ÐJôõ¸±c§M›¶~ýúk¯¹pÁÂ9s>}䑇õzý_|.bQ‹Ï?ÿÃ0_¿üòAƒ%«A„'ò<ðó¬……² ³ïHMÇ6%Í Dã®^|{Û°A%É F$>¯/`KKM_»nã€}\§Él¾ÿ¾û1Æ„àøøø…o¿ßë²î|pIFzú™òÊmÛw–•µÆëu)*‚úaùŠ{ïºÓÏóç±ÐüÙÝô攃{¾!ßµ÷¶’˜Ö’9ÈïŽsS2Z5%Ï›Ž5¸½ ½ ®ÇÀ·zû·í úï>µnÛ‘UgªŽÍ¼k™Ûë ²û¤`Ìfó-7ߌE¼ß¾ü† Æ g 8Ê`§Ÿß]~¶E–žÑû±OÄdÿ<@ЦmÙõcnR Q£ÑtÃ77 <"†aX‰iàXÅl9zìØºuëlñÖ‚‚æÕ=/!¼ À, ÉŠ;;+ë²nÝrºu•Ò‘†;&õêÑz<¡êêêèë & ¨A†HçÄÉ4¸tïÖ5öš'++ëÞ{ï6mÚ¨Q£ÇòåË}ôÑmÛ¶µoßþ™gž)++[µjÕ¦M›ž|òɧžzªG–¸¸ð9Á&Š…EE={öüröì©÷ß?ç³Ï!“&Nܹs'/«–.}è¶Û_1#I§Ú­ÛGï¿ûäÉ+W­úàmÖ×D“ÿq @šÆ}M¤„(Röa†a¤´øç²îÝb¯¡%­)Šâ¤I“~ùå—›n¼ñ¡‡4wLšÄó|zzzZZê£þŸ^¯_»nïç{õî­@Q€ B”ÏýæÇm{¹\§Çµ}ÏŸÿì;Ÿ,‘b[‰Ïïs¹¢ÕçŠAÖmزô‡Ÿ|~¯×ë*iYìü“>ø'N/nQ(­òi¿pÇ]÷6ËΰÆÇŸW–z!Ãê3²[³ÈP[uÒl6µí6õÈž…ÍzëÌÙñ ™MJb €ŽÕWÙO]ÖâêZGMç–}3Ó3Ûf÷ùnÃ'7ü§_ð‚˜&’@g b­¯öÁ­ ¢ø~×w:¶½º¡UODPU‘s¤ÆŠ,<0hjjZ€Á`”²ó]°ë‰ÓÙPUYQUYY]U%ýWYQQW{®)­ Ž^6ÎbåXÝWóç«®nWÖ¾ ¿ü74¸xYÀë¬`ûÏ#>c,âêÜYúé/k[?y²èr‰¢(ÄLä $‚M„9Ëàïxž|e !@Ä8fÄ€[F E"" ÎdñGÙ§PJuúüSO|ñÕü/¿Z”™–†är¹vïÙߣ[7„Èá× »rèão—\Œ–áyþ•gŸyóÝŽ=g1Cëëí[~ß>~ì-+ùeÈð·ß:öšaÃÎË#c±¸Í£%›\[±³]÷NZì¬ç›õC'rKuo1ôûíï¥Y 1â _íûý{~vxêä ›bwV½¿þ¦ßnv ®Ïz~Z_ÌcÞ_Ô:¸ãÇ*êÓÁg<Ð6}úô-[¶ †þôÓO3Rý~߉ãǽ^oFFFfVvÓq ËpSœÛëÙ³g÷Ñ£Gzvïm2åø©Ñò‚ ìß¿¯ö\BLvN^AA¾ (’J—q'¹Ú‚ ûÛB8޳Ûí{÷ïw¸Ÿ/ô^Mëfé ’ZŒPD…Qb'£’oÇËwÉ·Hå ßh¢‰†oTÂ0Ì­ãÆ-^¼¸ººÚç÷³ k4ËÚ¶5êZÄ0R6Ù¦ÌÒê¶eIÉÆ%†F>^UUÕ¼yóæÍ›KÓP´‰!T¶¼¢¢¼¶¶ŒÛ€2i ”èriehv¶‰ˆoµ]¹5>ÞO϶y¹¹n¿ýýgíܱí¹W^½ï®©êN@RbbRb" ‡Xg·/]ºäû%ßC„F_3¢‰l&DEBXŸÏSW¹ç쉯Zw}AÄ0±·‘ @.Bt:Ãôë?ùjýŒòºc‰¶Ç’mÉ"8N';ØÆæ¥ô Ï·ŒIkBôzoÏž[ÞPår>U_Wëò&'À&¼QŒŸç+Ò–ŸÙÙͪ«ªDQl’=†BÈç_|š×,¿}YG¯×#èFk¢Óqï|踗Ë)3(¤÷[°áeîÙ¸ÿ‰Å‘ØÇ¹_~y÷]SËÊÊfÏþhÖ¬Y·Ýv›tª¼¼ü£{*å&’°¿ÚûÊ{Ïçää¶k×NÕ,ÎúpØUÃ:¡˜5 lÜt:°{7Eitè•>¾¤¤$..›››–––››Û£G›Í–žžÞµk×mÛ¶E%%%ÉÉÉ™™™={ö¬¬¬Ôét€âââââ⤤¤’’’V­Zåå奦¦æææjÓ½&šhø&4óvîÔ±Cûv ¼ 0 ‹Å‚ê뙊 j±HD½Þ%)Ÿ<™Íf‡Ý¡B-'OžÊÉÉi|e¡·Þ!z}~^€B!AH$¢ &ÒZ•xëì 3å|Û‚çù>—]f1™ß|ç}{wÍ›¿ð†ëFžïªBèv{F_3 ×Ï_0ÿ‡åË:”µmQXØýMx¿×ëã}N¨³%Ønöº* LÄØk4šš´}^/†¸}ÎÀšº/*jOuf„€Å‚†m´„€ WB »:¹>Ñaé.+ËAJâŸjŒ'ŒEÇq\Ìñ&‰ÏïÐo 5ÞªÓé<w1Ë0 ,ÜQSWÔŽˆ>!ˆSɃ?l|läѣ͚4¥ßïŸö裄N—uààA™jš÷ÑûÃõÇ`_D<ŒM®\öå¬Þ’!>!Äét;zlúôéÏ<ûlÄúìÚ&N ümµ*“7 1ÖÕ×O:u÷î=BŒÅ{î¹c8a¼ÃåD»vé_z¹Úã?òÌ7ß,a˜ÒÒR]”4 µ„@nq0Õ wœKØ•¨k©;ß…¸¸¸~ýú ù¤n7NœøôßžíÚ¥sý®àŒ±p8|ñÐ „°>ž=7=-ípKBhšîñˆ’R‘•Ó;!9+PV.,ËO$gpƸîñæ6k5~àƒåbË '&¦J)yNÄ©¶ô"¤øtß—·æŒc‰].'²Z‡k¨óv˜c¢Õ/¿lýü³OcnŒ‹«}‹rƘišéi骨vøÕ#M×?üÏÌ„v¯‘¨ôt%+Pš8hóæ v¾QôöíÛ‡\pA›6mfÍú8’o|Þ/f½ÿT·H8´ÿMÐiËÂ/œ%LÇóå¼yçœsN-£z{ô I“hþ|Š‹£Ûo'‡sŸïŠ0‘Ðû´Óòó ¤göïýĉj®_déa"ÆØIݺýðâ²²²ää¤[n¾)111¦c¨â™Ãˆ³Ò­üÇ2É6ÌZWº¶´NÛ_±h¥“ˆÔˆf» I L¶,KõvEÛÀjÿ¥²¦eYê8ö(iÓ4ÕsÓ\hüùFJ d Ö{îºsÏù~Ã0~ímq·n]Õo!D«V­6lØð«S£Ä¬Œ¤¬Ší¦ŒINœó°aTÝÕDy=±[sÎwíÞýÁ¬Zµêí·ßÞ·oß?þø¯ýëÇ%K^ýõE‹½õÖ[‹-✯_¿þßÿþ÷?.®:*HÓ´uëÖ}ôÑG[¶l9sæ† V¯^-Z”––¶dÉ’™3g.X° ??ÿ—_~Ù¸qãûï¿¿iÓ& ëß4¬¼¬ìÀœóÌÌÌ<÷·wßûàé§ž°ßQÕ‰Ú³Ç)=«¿©*+1_ª½±š´ÅyÝZ÷¬†¸ÑL-§ýpÆ×þãG2Â×–!B~Íϯ½€`ša¯Ï/ű齒uݧýWy<žÇâãgû›õ#iU”¤¸—v¿ù÷»:õè@£ëúßÿþ÷+¯¼2--íoÿ{óììË.»Œˆâââo¸üâKÍũފó$%…½otùë;Ÿ Ç’%%%D‡Ÿ}î¹É’¿ÃùùÁ`€þ”À± 5Rx½Þèþá’•—•8°? u>±Kô GáÝ/N43–eY–µ~ÝÚ¸8fV³ÈøεóÏ??..'–p8<|øð &ìÞµÓ²LrŒ/–†aÔ¾à=€;óMYY9V"Åú7ÐØ ß@cSc‡–R7«eÝ÷ÏÉÉAÊ·)***((¨åjÌ7:uzä‘G¬c¸Q"Àá˜3gÎk¯½V[¾’„ ªeι¦i¿¾¹7À±US>‘’„ ’Äã€ÆB¥ÌŸ€Æ†;²@CÇì|#ŽÒ¶SÇ‘$„þ)h|oùùùùùooŽ[¾Áö Ð80"".‰¤Äî ÐàII5\}‚€#âÆß@cŠ7êÿxôp qD‰ú 46È7€|€|€|€|€|È7È7È7G'ß0†óc,’o„Rbÿ)hؤ”B’蟀Fùoooooùùùùùo†è~á<ò ö€ÆqP¿€Æ’m¢põ ª7Ð8"ŽDýä@¾@¾@¾@¾@¾ää€ã”o°v14¶|cï¯Ép: ‹nÎfã%•—•Bö§JÃË7RJÆØ¾_ ëßgÀy—¼¿p3c (Ú¥SƒÚ?\… ¯íÙùÜ=DDFŸÑéíM…—wLÆ# ÐÄI"AD ®~Ã#*Ö¹ÏÇ}{B·U…xL ¢áõO-zã½/·•±kÿüÊo=©ízû¹WðX@ƒÌ7RZs–½cH:ýòû_úÓµç¹iÄ9­ˆhÖ–eå&4Ä|cŠ­ï~GD/Ïx‚‘žœÜêL"Ú¹¥,l à@CË7’È’ò¿û©ÃsºÅE¦…gzüDÄ8cX¾ˆHÍŸj(‘Þ_Dô唾kLûB¥DÔ±c‚ǃ½& ¡å"2›ˆ¨ƒÎH’$ɬüÒƒ‹ˆè¼–'Å!Þ5¼ùSL#"‹ˆ˜$b…û·/ú|'1êvéµx, &ßçÑ+‡¹qbFw""_œêžz`ðÀ‚R[]{eO/KPt’j3*q|c,777///##ãŒ3΢úÉPBH"~É%™qÚ¯>=PND‰ú]8lÕe€1cd Æ™‹ÖmfŒÍ›7¯wïÞ)))nØn"|÷ÝwƒvÉÞË–-;á„’’’ÜИC‡­\¹ràÀ¦iÿ×°®ÿðÃÍ›7oÕª•NN(Z¾|yß¾}]ñŽó~ø¡uëÖ-Z´pÉ3yîܹƒÖuWŒ X¿~}fffff¦SVVöõ×_><»á™³~ýzÆØ 'œà†“‡—,YÒ¯_?N¥Ù½{÷òåË“’’/^Ü¥K—ãß èþšökìøŸ2õ‚1bÄK/½TË·ù{è™ó>=åó/ˆ¬óo}`Ö?¬ëï*Ú¹iè…£üü³«ž%Ý»w饗N<ñD74fÿþý§Ÿ~úìÙ³]rr®¹æš|°C‡. [·ÜrËG}ä’“3vìØ‹.ºè²Ë.sCc ¯¼òJ÷yÞÀ‘ïå??-·n™‘ͼÿâÇ>ÙCÐH5˜ùSê!ã”Ò=%PJDôЇ_í׺NÅÆØþÿ|úàexày¾‘Dî©&×Ô‡§j_ÿzÏ3 ¢¾cš<ü ªKMŒ1F$ïŸþÅ’W/wçƒÁóù|.iŒÏçsU½Q×u¿ßù‹Þhšæñx\Ò¿ß望Ã9wÉ`ç)rÏË sjâñx\2 Ü~Y¹ê•esÛëËŽ4®ëŸZ°`Á]wÝUu0c¼|ת×ÿó•ú´yJÑwÜ!êÒÍÏ=q»xoëqïÿ¨n¹÷Þ{C¡P½›_mõˆ1V^^^¿Âyyy“'OÎÊʪG'+缦¿SRÊ`0XפUZZzðàÁ;ï¼³Ñ4­¦g¼¢çœ1¶pá‡~8--­T\\\M‡ ƒõ¸ƒûöíÛºuk½Ÿ?G÷™ãñx–,Y’ŸŸ¿páÂz |ñz½5½©0M³C"ÀªU«n¿ýv7¼¬4Mûù矧NúÙgŸÝ—•º§u}QYYÙm·ÝV¿ §ßï¯)†Q×1XŒ±Å‹/[¶,77·Ïœš^VD …êq¶‹‹‹À}÷ÝW׿W¿Å3G×õE‹1ƶoß~t_V–e†Q׆±nÝ:—¼¬bl۶̓\—oN<ñÄn¸!æá—’ÌàÁ —¿iÿ­í8æº ÙdÉ:¼’·-|ãÆï|ñöCÁ¦<ó ÝtÓM¥¥¥õkgJJJëÖ­kúêªU«êñ—tΜ9#FŒèܹs=ž+Ë–-»êª«jzf¯Y³¦N÷”1¶wïÞÏ?ÿ|âĉõ¸:kÖ¬I“&Uû¥öíÛþùçõÈ[Û·o5jT»víêÚ˜¤¤¤víÚÕôêÃ?¬ÇüÏU«V­[·®~ÏÃ0zõêUÓWwîÜYXXX×ËÌš5kÎ:ë¬aÆÕãYwß}÷Õ4)côèÑ?üp]ÿ¸lذáºë®«ÇË*55µ–Yî+V¬¨ëûW]×W¬X1hРsÏ=·£ŒW­Z5vìØšŠ ëׯ¯ë€1öúë¯?¾–pPË=`À€¼¼¼j¿:eÊ”AƒÕµ1¦iöîÝ»–'d-/«Ž;ÖtJgΜYy»v ù IDATíúàƒn¾ùæâââºþ¬iš={ö<Š/+ŸÏgš¦®ë&L¨ëK€s>iÒ¤šæW>ü±Ç«ëùÒÒÒ+V\{íµõ(qÕþ²Z¾|ù–©¾ûî;wNìr]¾IOOïÔ©SÕÛß¹åÌŸ·äÑ9»,ܸ®ðç”.wÕaµ£hÿý³lúá ç{±¶mÛþF÷⤓Nªß›³N:uíÚµ?[RRRÓ—êqOÓÒÒ|>_ý3XQóÜ´”””Ž;Öã˜iii;w®ö¹q8†šÞ£tîܹ'<Ôשׁ|SËW[¶lÙ²eËzüýjݺuýžuÙÙÙ5}©yóæÝºu«ë<˜œœ\¿ÆÔîä“O®ÇO%''·mÛ¶~Ë.ÔÄãããë÷Ðuý¤“NªG¾Q©¢¦/µoß¾ç<;;»C‡õ{°âââjú³Ó©S§z311‘s^ËûÆZÔþ6¬~/«æÍ›{<žz¼jYegg×ãoNIIIRRR÷îÝú˪{÷îG8µ{×®]îÜàÚuyÕ&傥ώú=ùRZ½úãt_;¸äý:6¿\ìÙ½¬Ï)§œrÊ)§žzªºñÔ^ý>ùôGWÝýzWùjùÁúÍ–RÖ{–ïQoŒjO½ON-¿´~Ç<’“ó[Ì>’öü'Çm¯ŽßâÁ:’ ù¿ÅËü·8æ1nÌ‘D4$=qv~pW@¶÷×ñ/ž”RJæèÂW“Æë×¶›nºÉ='*;;ûúë¯wIc:vìX¿N¨ßÈøñãÝÓMÓn¾ùf÷´gÀ€ pO{n¼ñF÷4&++Ë=/+"5j”{SÓ€¿ã‚sÕgœQÓÛ¼¬Žy¾qMßY(*//·K º/î¥û®—DÜŸòèåƒ:¤Ç'?%ý½¹[g<5%#EOIÏìЩëÉÝ:i"|•DùÙ{~±¸èü#]=aâ¸+®ëÕÓWbMÓ,Ë*)))..>îkÑrÎ‹ŠŠ„%%%nXû•snFIIÉ¡C‡Üð`©ÓbYV=Bu †a”••ºaáࢢ¢p8ì’GÊëõª“SZZzÜ—ÇeŒ1Æ„………õ˜Aó[´'”––ºç™£šá†'ßiºä䨿9……….éRVVæÚ|#íͨÜ`É’%÷ÜsºÀ3¦QhÕÌ DDñzê¾üåû–ÏË.ÝE¡¢''«iÞÌë÷7kuÂEƒX†!ý%Íý~_II çÌïÓ>˜9ãý÷\qß9ç{÷î}öÙg322Ž{w&c¬¬¬¬  àÞ{ïuCß*cléÒ¥S¦LIIIqCcöïß¿cÇŽ;î¸Ã W)dzråÊ¢¢¢eË–¹áq0\·nÝ<à†Æhš¶víÚ7ÞxãÛo¿=îoÔ•©¼¼üá‡vÃÂ*êeµfÍšÙ³g÷‹1V\\ o¿ýöúÍ?Ê—F]_²d‰Z¶Ã Ïäp8¼iÓ¦xÀ…1bçÎ4ÒuýS¿ÿýï§M›f:shµÙæ_Vn»±\=pÀOÛ‹ˆˆûý^a ÓvmZùR0uê¯;¤æˆiã£>>òbWÝ÷… >ùä“.ÙBòСC‹-zñÅ]rr&Nœ8iÒ¤c߯_­U«VÝxãÏ?ÿ¼KNÎW\qÉ%—Œ9Ò%oæÆ7}út—œœ‘#G^ýõçwžKÚóÁ̘1Ã%yê©§XÓH‘clß¾}ÿýïŸ{î9—œœgžyÆãñÔ{É™£Ë4Í /¼°öͧ—ùóçñÅ.l˜ëæOUî ‘w-ÚCD¼ó=7¶#"º¹OÏ×ç¯iwú°Ó85ñøš•Ëç¾7½ƒ‡ˆÈÚùí€óFå•þÊ |õÕÿt饣.qÛ}BùRKGKyy¹«"y8vÏÉ îÙÏR½jŽË¨öšž9®:9–e¹¡Ýó²ªë*…¿é3ÇU;³†á†­ýœqÕ~ŸNn{}¹7ßT#ËKÍ=0õR"¢ý¯OûqÇécîÙúý'—ÿ>nïœÝí;ŸtÁèë7‡vžOD”·äÃï–ýTK÷¤M|hÛ#&Ï%h¤ÜoÌ""‹<Ææž@D;Þ^I\¿eòcD”sq*ReLI¬åSݧzÚn}¾¶…ƒcrϲÁ×ü<òÍqâiN¤Çµk®5K%¢Òý!ÆÙÈN>"Jl9†Èzµ„ÔÔ¯‹Æ‘˜¨Ñ9ók9ž”âá'¦¼õß©xà±Èøb÷L8[»víK/½¤Fáøýz°\È’ýoÿsz³x­xçZiYϼ:#9ܼ~+½øàßDWXHŸ7hȤàO3f¼ V7”{=æž·¿ÜÐòä·Ô 3fÌpOÇ!çœHTð5YA"ºæ¡~q‰éq‰Uî°˜8þåY{VçÄWú]Ç~ï‚Ú¦®§¥¥— ªRëv§§§»ç‰‘–––••冯¤¥¥y<÷<|>_rr²KNŽj«“’’’––æ’öpÎ333ÜИ„„„ÔÔT—ùhQI‰áiÑåÆ^½ªÍÚ{öìÿÏ¢•/^1xРAC† Q7rñ—ó&h\\½ÿcLJ9ôº;½ñþ”kÎÈðvûˆßÇÇ%QnJ\Nù¡Ý»~:Ø<{Ów?h»æêÉ]rªWÔ¢U›‚ü<瑉èÓOgáÐøp—·1Fz³¹<æÌöŽ;ï¬ FM÷¿‡Ê-"úCó$Yžÿèõç·>áôõ²Í”7>™þØHrÓòPp\¸´~ÓǤew{ç›Õã^{ú¦;½qþÇÎP—¯Y1úާ§ÿõÞTMF~¬æˆ#¥õìýŸŸÚ¡]û.Sþ>cøE®[ç`ì6¸al}r\²¼© ONô¹/Ýpr—¼¬ìƸêÁrIc\õLÆËêWOŽ{^Y +).ÎÛ½+lš·ßqg\\œºUÑ«W¯É“'˦Œ7nãÆYYY}ûö­nÎóúüqqú¼Ý ƒ!S”/ç£5žÖç=yó9%eÃ|ÌýñÉ>OE’Ê ÃtÅ#ÁغuëÚ¶mç†|cƦM›ºuëæ’¿5Û·oÏÎÎöù|nx°ÊËËwíÚÕ¥K—L.Ûºu«{†Ðš¦¹cÇŽöíÛ»äeµuëÖŒŒŒ””—<“W®\Ù­[7—ŒÝ»woRR’K;†±~ýúSO=Õ%3ÝöìÙÃkÖ¬™NŽeYÛ¶msÉî„1öìÙóý÷ßwîÜùÙgŸ=–[Κ5ëÕW_µ? ‡ÃC‡½õÖ[·lÚhYV‹¹.ªß¼öÚk¦iJ)5Mûõ·òL÷g¾óÑØðþôÛïºË4Ý8ùþHÞN¡=89õ{¯‰“ƒgN^VÇ’”Ò²,¯×ëñxÜtAuSÿ”šÿVí¹‹é»‰|êý=Qp¡®{5Ü·èºû›È+Þ²äo/¿SªgÝøtˆgш“ã%2h§ âLºif@¾©U`ûOÝzõÝU$ˆhÊO}ŸwðôŠ8'­$2‰¼7ÅÝßÄ¥ëì)²‡×?÷äV¤gT¬$"jíuS) ßüºwîÔ²%˜o¨0S<ˆ(¾?Už\ È7n×µ[ófÍ+¦/Žì3(ŽÍzx.õÐ"T“oÜ\ýК÷xâ’ß‘÷„Aß­Ýsÿ5ÈHÜ0é?ß±¸Ô{Çÿ"8éD$‰Ü¼zŒ”4úÅù_®îòê‚/.:xÔða²ãgΘ²zWÉø‡ÞÞ«EP‘FÚù†Ü>µZJb/ýãÙÓþzçþ·•DDžfÏÍœwÛ¨$%–¾§0þ†©ÁÃZâØÛ&ï ÉÝ[Ö®X»Uûn5P"Ü@zCi¨=CªEû.-ˆÔ”pL›€ò”ÔðÖA¶€ÊT¤‘ ¡  NoùùùùùoooŽB¾‘ŽÍÄ.ýõhl‡G>¨à@#Án ‘Pû‡£ ä@¾@¾@¾@¾@¾äääää@¾@¾@¾@¾@¾äääää@¾@¾@¾@¾@¾äääää@¾@¾@¾@¾@¾@¾äääää@¾@¾@¾@¾@¾äääää@¾@¾@¾@¾@¾äääää@¾@¾@¾@¾@¾@¾äääää@¾@¾@¾@¾@¾äääää@¾@¾@¾@¾@¾äääää@¾@¾@¾@¾@¾@¾äääää@¾@¾@¾@¾@¾äääää@¾@¾@¾@¾@¾äääää@¾@¾@¾@¾@¾@¾ää€#!¥ÄIÀ9¬9¸ÿª,„ÀÙ¨7Ƙ}2cRJuK#†ú ¸4ÓH)Q¹9º§T}¬"Nã¾Ë¨ß€‹.ÃŒ1uõ©Ü 艘šMS¨ß ߀».Ãθó/Ip´ãcÕ‘o~à °fª~€³t„Á1&â0Æ„œ7Α*È7à– °3Ó8»¨ªuàðO,Õ0æFJÉ9·#ßM1CCœAGÕbn‡ºF•cœc›8çÎúMãë¥B¾WDª\¹Q·ˆ(˲„ˆ8õ7š¦1Æt]gιâ„ú ÀQO6vQ!f¨Š5–e™¦iš&–À9’ˆcY–®ëš¦UpƒñÅG?Ü8g€«"úT…›P(¤òa¥¥¥H9uâ÷ûãããu]·,K%HÇnœ£sMÖA¾€ãYZ¨vì°3Ü„Ãá@ PXX¸ÿþîÝ»{<˲ëàDò0¾‡ÜpE—’#ìŽÞ¹åœoÛ¶mË–-;vLLLT§—s®z¬œÓþ‘FóÔB¾7\ßeÌü)˲Âá°išÁ`°¸¸xëÖ­^xa0 ×uIÄÔõ8 "׿Ê×jé¸l³Š˜ºÌWÍ7öÄiç—X•©æ]"7F“Z¥·˜î·ÊËû8ó"r£ýõèGÌù£ö÷‘ª„Ii ÎÏi½zmýå—7¶iÓ&55U +VwßhLŽ­Í3 û3Àq漬:‡«Niié¶mÛúöí ŒPˆ¢É&nAÇ^ºŽEÉãœs"u]w")Õ¥Êê§T€¨\G±Ó ‹Fu#WÅ'G2°”RÓuÎy8lèºîò"w›¢÷"2)ší*ý rGì{Íã\§Bè¦iDçÀŽAlÕ²¥ßï/)) ƒê”J)kêæk4÷Q¿€ãY¶¡è˜›˜=Ô•Ø0Œ@ °sçÎK/½tßÞ½ÆY̨\ÕˆÔc„°ë(,ú=êf—C8í’’8gö5^Jâœìá)Ž%ò¤”B¥™h B0ƤŒóZõÓ’Ê))É99¹:w®Tþ‘RÄtÎ1Ƥ•cŸj¶ÄT~"’Dç@ùÆM òóC¡Prrr‹¹­Zµ–e×´Ôá9cåå嚦@ àóùÔXι³rÓøÖ2F¾€†‰$Qzzº*+„xíµ×ÆŽçüÎ`0X^VV\¢áƒ¤dœ«¬)ÉDû¶HJu‘WËÅH"HózMÈÖcÂΠú’bƲlÛ¶õ³O?+..LHHôz}{òv/]ºô„Î>{`rr²]¢±“sD´Š÷ì~+;óE¿“3¶cÇö¯¾š(/÷ÇÅ{¼ž]»v-[¶¬k·n}ûôõz}¢J?X”| #×T”5¨bÀcìÛo¿]µjÕÏ?ÿܯ_¿ZV:–Rú}>;I¨ c„ê›ÉžAÄõÉØž½{æÎ™sÃ7}¿`ÁæÍ›¯ž0!dª”â¬Ù£söïß÷ï·Þê޽ǨÑc¼¦ëáp¸¤¤äã?œ3{öð#|>©ÂLô÷R´ÿ‹¢U"g<±gÏ«8¥izÞžÝï¾ûÎé§ŸÙûw½U·•VIqÉ»ï½]^Z~ÞàÁßo¼Î9/((Ðu=999>>~ä¨Ñ¦i²ÊÃbcŒs!“Ò4­C‡1ÆÊåEE…jŒêPãÑÎ)UCbŒYB|óÍüO<ñ¼sÏ5-KJi†Ãœ±Ô””ñã'LùëÓëÖ®éqJO;IÆHrÔrTÊaUÆ Û]NBŠï¾ý߀g1Æþ÷õ×½ûô‰óÇ­\¹"??ÿ²ËƽúòôÎ]:·mÓŽ9¢RÓ\ã‹ ¡Tp¤’BŒiš¶ä§Ÿ>þøc¯×ÛºuëÍ›7·lÙ’s®ëúþýûgÍšÕë¨á¡ÐØq?þêäääV­Z]yåU— ¿tá÷ fÏúxÉOKÔwzt}Ó¦MŸÌž5oÞ—ÅÅEö%’RÅ„÷Þ{wö¬Y;wîМC†£¿¤ ?õªÕ}úôÛ¶}û‹«5—÷ìÙóÝwß–•–^>öŠåË—Ùs£d4²8«SÒQª‰ xRrÎ òówíÚÕµÛI%ÅÅíÚµ_ôÃß/ü>+3+!!Á ‡/>bÍš5š®K»Ó-ZdB¾p_¸!²»oH)¥ÆùîÝ»—.]z×]wuíÚuåÊ•?ÿüóºuëüñµk×þüóÏ»wïfÑd zµ„e†MÓN$ß|óõž½{‡»pçŽ ,ðèúÚukç5ïÌþç|òI8–öo'ID½OëݺuëÏ>û¬°¨( íÞ½[X–=ëêС¿ßŸššòã‹Ó3Ò¿_¸ ?ÿà굫۵k·cÇö´´TId„Ñ4##êîØwóÈÑ‘@̾ãŒqÎ ò9g½z÷Þ´eS¯ÓNËmÑbãæMiéññqiéi–%„e9'v¡~àRÌ1ÒVR¦§§Ï;÷î»ïþæ›oŠ‹‹[·nžž~ÿý÷÷ïß?'''99™HÚãZ„sÈ-ç|íš5;tdŒuèÐaõêUgÆ ñ =O=uïÞ½á°S¡iÕºuSN).**+-5 ãÀýjýe¡º™ˆâââB!ãw½·gÏžœìœÕ«×´Îmµ~Æììæ¦e%ÄÇ«9RRJR{^F›§ÍPtùf"ŠŒAŽÎ`·ï¸Ïç·L‹$ùüq‡ t]…‚©É)–e KÄù}Îât‡o\™r"³–"³ÊÓÒÒZ´hqàÀ‘#GNš4©eË–íÚµËÎÎ.--mß¾}FFº XåÕlÔ€¯×k„ÃD6Ã>ŸOy=^)„eš†aèºÆ·¿Q?­¶‰àœs«}d´¶$„hÖ¬™aåå¥I)I-r[ü²í—N;íÞ³û´ÓNcœŸ7Îï“* ©])*O'GÏ”’dd|1#&‰„´²›7…‚¦^½fuvVÖæ-[V­^Õ³Ç)+W®,.) ñ‰ºG')Õ ô&ûTÁøbh ¤$8#)™Ï›——׬Y³ÔÔÔ={öäææ®_¿ÞãñÌš5Ë0ŒuëÖÅÇǧ¤¤0I’DÅb2$#Ûu†Ã}ûö[»v®k[·léfÿP0سgyóæýøãâ½ûötRwÝ£K!Âá°ddZV8þ曯‹‹‹Û´i“œœ¢i<77—¤PKJ™””Ü¥K×­[·¶iÓ6#=£¤yéúõëOêÖ-ëš¶âçå]ºž¨6—`BU,½©3 Y¶GD*:R5[JA‚LA©©i¹-[î?°ÿPAAØ·ÈÉÉÌÌ\½zUjZš26mÜØ½G#dDÇ* )‰XS¬e ß@ƒÈ6ª Ãdtq¾ŒŒŒfÍšõêÕkÆ Ÿ~úé„ ÔvíÛ·_¿~}ii©G×)2yJÕF3ŒðÅ_¢¦mwîܹe«VfØhÓºMBb¢iš™YÙ]<< pB§„ÄDÆxvvöu×M4BFŸ>}{žÒSmhçõz£ääaoÄ qþû³Ïþ`æÌÌ̬¸¸¸99-rr¤”RˆÕëצ¥gœÐ©“=«I’$I‘Ñ6Ñâ #FRMS+«¤/…”²Î:ë÷ýç?ýÎ8]cÜëó !ºté*,kýÆõ-r[ææ¶ ƒÑIôŒšh÷ò 4 BH5qIÊîÝ»÷ìÙS-~så•W0 11‘ˆúô飾7 –Sd#Fªì“”œLÑÕ‡%=ÂFˆ¸¸8µN 5¬ézJjª”2r{t¨2I)DÅ´m¤,ÓLLLvÑE¼?³]‡Ž©))º®‡ÃF~~~BBbŸßõaŒ[–©VÖ‰–eˆ9-TcŠ…$µjrdûµ¢ ”Œ(§¦¦ ½ðÂ?ú°ã ’’’4ÎÃacÿ¹¹­NéÑÓ0BÝRêÇ5 ùÀìm-ɱ™ЩÓÞ½{‹‹‹ý•/ŽDûFÙ»8wxˆÇØv$£ëÓTLDrlé >ÑùS’(l™™Y7ÞtË/¿l-**´,‘’’Ú±c§¬ÌL#¶×ÚaÑàâlgŤqµz²¬Íì{ÁX ¼<+3ë†núeÛ/%ÅÅBʤä”.]»%'§”—— µ¹ºó.7ÉQ8È7ÐØWw{Ë‚üƒU^yî¹ç„eå8 ö.¨‹ÎNФç®UÑMÔ†SöÞ˜Dd© ƽ”°s ‹pîÖTeÅÃ0ˆ¨mÛvjÏK’2d`Ûi†HDh ÁS)J:3µš_dpqd|E›ˆ¨M«Öº×KD–eÊËKKJìý¹Ô† Ìñ‘oÜYÃaU‹:’1Ó0T4qnä伺«ÙIÌ®ùØ»lÚé!º~ƒ‘ IDAT£¸ŒþçVäŽ%p"õÝ%Jm>ùEBØkÕ0ÆB¡œÈ>‚c3K5aŠG‰8ê—Fë7vµJÚ;R9ZRV^.ÊÊXì½eMtÄ ò 4ÀN¥ì¢³?¯Ø››±*ßYÑ­Edo¨ÉìÊ}üÊ[e’c;*ûj“ðÈ÷F <öÑ*vÄŒV€¨òí‘ñ4ÑÃVlM]-VÅ~Ìyd‡,Çò6š£ä¸#ö)‘M5ë ß@Cˆ7Ñ„ ê7 dùòå={öܲeKË–-}>oÌ¡W °ÃSEàªøÊ‘âœ{½>ä·§œHEÊ„„„ŠM +))©ýJÿ¯7ß<í´Ó¾š?äˆ~¿?&HÇ!¸ì7>cÈ7.7ön”D>Ÿoâĉ7mÊËËkÑ¢EyyùìY³ÒÒÒÔn –eEwçD¤–ÔSaˆ3¦¶á”Rš¦IDjbƘÚSÓ4µ=¸úqu¨†{ÒXS_Œý ]§#—êP(4mÚ´o¾þzàÀß|ýõ¢~h–•õì³ÏN¸æšÏ>ûÌëõÑ/¿ürëm·ÝwÿýÅÅÅöq4]_üãâk®¹æ¹<§Ö¹Ñ8òÉ'¯½îº… ÆÇÇ¿öúÅÅÅŒ±ÂÂÂ×^ÃçkØý;jß-ä·^±xÅhY5A) Ë ƒBˆ§ÿúW®i¯¾òò¬Ù³—-[.„øû³Ïþ߃Œ=úñÇŸ°cŠ®ë~øÑŒW_1ŒðsÏý#%%åÑÇoÛ®í Ï?ÿ¯7ßܼyó°¡L}ñEÃ0^˜:uø%‡B¡ ±þ €;ÉhÿÔ†õ뤤´ô´V­Z«Ž'"òx<~øá‹ƒÁ»ïºkéÒ¥]»vIMMmÖ,»E‹ÜÇ{L×#×»P0øÈŸÿl ùÀœ5`ÀÃ?ôÉ'Ÿü¼|y03zô¾}ûN;­W§NsÙe×]{mrr²®{V¬XÎÞNRÓ´>ýN/+-Åú7î%„$’ ‰‰ýN?3 Ø¿O‹î< ¥LJJ*,*ŒóǪþ))¥" y¼^Çb¾¼àPAË–- %&%I)KJK<º§´´4--Í4­¥?ýtýĉK~úiÈ!º®?dhƒ‹š¦½õ¯×““SŠ‹Kšæ&âÈ7а®Üú®;„jìpÈ0ˆÈ0Œ{î¹ûÁ<ãŒ3¾újþC“&qΓ’ß|ëÍâ¢âsÏ=7djYaÎÙÔ©Ó:oþüoî¹ûžâââ;î¸}ò#“O>¹û‹Oþó#_|ñEïÞ½‡ vààÁùóç4hÛ/[àYÒ"Å-¬Ð ðè´p!ÄŸÿô'5aêìߟݹsç@yàœ³ÏIKK“RÞzË­{÷î圷hÑÂ0Œ‡zH1bĈ#Fäçç÷éÓ7''' ½`è)=N …BƒŸŸ””tê©§¦§§›¦yÙ˜1‡R3ªb¾iâOähÀš5kFÑ…zsšç¨Uw’ßïoÛ¶mÌw¦¤¤ØÿÚÎsssíÀ¤¾ˆ<O³fÍúà•&»„1ò 4$’(5ž -–j½ºkŒ³¦}ð$€†‘l¤$¢?˹+¿¬ÄÄ ©É;[PS]ÜùZÊ!òë¬ÌÃp*jÓ4½qÀú~€|p|È&¼_d½ahlšh?Æß@C'Û¥ !™}9Ž=aêçÿIbŒvÉsŒ²¤vé–%ía+¬â±ƒ$":X&KœûS j›!„¤:¤$DK…ÝhÔ:]8‚IåƒTwI Y”Wè8H“‡| ¦QmG gôÂàýÒ“ÂãœsÆ9çœ3MÓˆç\Ó8çœcŒIIŒHšÁkfʵûG1Ù´!ûÃ,QÓ4εȡ8×4Îcœi\S73ÆT;ŒPð™ÿÑì5ŽF…Ù ç0¥Ïãõr¦1Ît]×u¦qÎ8iLçœsnš㑃„‚¡Ùk唯aÅdSÎÍçœûýq‘V0ƹÆ5Æ9gœéšÎ5F’©ƒH"#Z»OÞø®êÈ7ÐÐÔ²äMaI )#“sf 3‹3©"Æ5]׈qÁ¹‡{tMSÓ¥ËC†eY•ún}É)œ{-b×ã\Ó$ç\Óu]‹„&Æ8gRc,2p°ÒHÆ Kž8¿=È–m¿lݲkœ3Mý¸îѾHÓ8IÉ„!¡2bÎå†YQiÐïóÅ{%1bœ¸Æ4NšF\×=Ú¾}yññ é陌1ÆHJ2L* W{M—²‰îЀ| ¶Ãdt9b¥>B0‘–v•j¨2‹)I")ˆqB0&ÌoÖ,gñâïÎ<ól!1ÆíeÔ-UZ‰‘¤ FË–-úiÉÂø¸xÆ™* mÙ¼áì³Ï÷z}ªUÝA$1FLJIêîEîçB¾ÿÞÔ”´ÔÔt5\} ¯‘o ±qÆ•ÈÈ•l“’Y–Ð4.¥Ù¬@X–¬ý Œ…ÃÆ¼/ç\yÕëÖ®0``8l2&¥ÑÌABQ¥6"¥TùDIMM¿óÎIͲ[hœsMóx<Ï=÷x8ÖuÝn¤‚H«¦%1‡%BhšT}RBHƤú’eYÕ‡-䀆Kå‰H ÉUý†È0 ]Ó=^eIÆ9Ñ|#«I¬"I0!TðêèœëB„ˆ$‹ ⑌1!DÕ¾u!$çLU]çŒ1bŒˆ1Æ„%„vüBHªî Œœ…"ÎÕ}’–%„”B!,{o)U­ÂÓÀ óàᓕþ§â cìçeK¶mߢ„åPm4±dO8çee¥;¶o}ýµ8çUbÕ0´EUV¤¢eëv~¼RË4 Ë2OíÕ‡3MóW½Q}UJBJ)d49bY–tÌÚäh, G’=æFJ)„%„ ƒá‰¦Y‘*,QÓA„ˆáСƒK–|ÁÞ_}õßï¾ûŠˆìÃDsEõë JIBDúž:v81>>^J¹cǶÏ>›-%qÆ@Æ"ùÆ4MËÕn%í{DRDK6–éŠRù&ÚSQó>SØ ÀŦ–KµŒœ‘*âœTµCH¹ü«á*D‘^!©UÉ%’ˆ1&‰˜”ò_o¼¸bÅO-[¶ÉnÞâÆÿ …œBõ4Õ**bY&çœ1˲,à !L³ÒΠÕF“ÈŠ„"]T$1F"Z½±¿ß²Dµ=n¿zÞo\~T`ÄTÖ‘T£ºrIɸÚO›³çOQÕˆ#£Ý\:uKJJ¹áÆ{Þ}çŸmÛvP¹$:eIÍlU»ATÑEÆyåÑ3Bž±,Ër¤šž²èú:vKÇ!Ë")"5œJ-©1Ã4Ñ^+ôO@£ÀªV>„ª€cÙVÔÇÂQü¨. H":ldvvN0Ü´yÝ>xSU}œ±ªï’Ĉ9âF¤¿,:n&¶%Õ/޶Áy;‹Ì'U•ªÜË’ã‹+AýI’$‹vè1MJ!I 5PF2{ÁªiÑ»H‡ɽ{wùåœO漿oo^á¡üK†sf)%ÉØyÝί‘¤èL«Š1=*ÏØ³Ç£kÛÔ|Ÿ¤dŒY–URRššÁ:T‡e´ÐdD ß ß@£Ë6dÏbÄBFhñÂo—-[œ””|î ¡BJ’’1iR±ª›?sÃŒÿصk[jjÆI'õ¼íöÿ3ÂÅŒ¿RÖ8§"”••†°°,’¤zÌ*c–%¤dÕ%›ŠˆcYæ¬YïõèqZjjÚìYïõï?P¦¤Ù ÞD‚õoo ñE©ÇHa‰7fLûü³Õí]4†¢=Dª~ë) DÆð”’¾8§yîåc¯õñ»­[·¡˜"j¨™DÒ“Œñ?/ùç?Ÿ/++ÉÉiÙ·ßïIÆF¢è$©šî‘”’tÝ3jÔ•¯¿öÂÁƒûnºùþÂÂ|{劖œP¾‰ñ7Ð òËál¥$IRX„Ø«>?gà–­ÛŠè𔊭j›R$TTêÑã´”Ôô””´È|+{IJó 5F¡rÒœ9ïoÛ¶ùÀ}+W.MLLR‡‘“Ø‘¨9iÉèâ7rïžÝÅÅEÙ{÷îîØ±Kóæ¹‡Ù’úiìP¿€Æ¤$Fº®_sýiï¿Õ¾c§3û,–«Ë?‹Ž¿‰$¡ê0,˜$I–i…B!"iÁʃ]‹‚?gàÐõVžuÖà>}ú›fØyh{dµ-¡hW(ünÁ¼ñWßœ˜ôþo6ož›‘‘U¹%5Ïžjª‹þ!ß@ƒ§iD’3"ò2onv«Ûo›¤S¤Ë)²W%cjv“¬þ Œ8$\Üþ0Ñ0Œñn ‡˜ƒ¨¾°ªá•"ûõпÿ@"&¤e™–jìƒT˜"a¤†"ûýþñão¶,‹M˜p‹ÚöÊÞ&"zŒ¿A¾€ÆÅ#ƒ÷l!Τ‘«>פ‚$cħè&Mœ1bäÓg‰1‰ÓÌý{aºYÁ†Ó8 ²H#nDJÎ1"!=Z»˜ƒ$zäžýÛ=^¯ê"b\ã$H”•Â8cŒLÓòjm*BÊ$/;xpg°,NJ’Ò"IœkDLH!‰8¯r°é×sñ4@¾€†¨†!&’Æ}~bÝ€aÌ•{n49jN‡:„,Yy«GŒú¤uð"bÆÂzäÿÍ•"§nç†ñ†Ôbýb€‰¢ŽÃLd5aÅü(Ī×ÄsVýÊ:µ7†Õ!6z˜?È7È7ÇÆß@ãÓ¥Owl•Pé‹uˆ3QœÕ÷81»;÷&…XÓ]ùùžò0{kTYiY©×ODŒ1ÎÕ*0<ú?Η$ãœ3εÈr5Œ¢KÖ0&…eYº¦ïÛ¿[ÓýãD¤=˜:’¦‚ çœs¦þã\•I’R0Æ‹Š ‚¡À¯6‰×*5‰±H0bLJ˲t]Û·o·¦û4¦I“8×V­iÒù{ËoÆØÁ¢Àþ‡Zæ&‘Z F¨‹½ºüs.9gœsÆ8'Ή1µ` ©ec(²Îqqi‘i–mÏËÏÊjî÷{‰ˆEVËcš¦1=çœ3=Td==µºŸ”’˜eYEEE……å‡ «I¢J“(z¨âÒ"Ó mßS™Ñ,.ÎwDM*,BÝWìÏÐ0²Ž$)8çj»L©–D.üš¦qÎU$°C†ªp¨ïB¨L`YBmº©iš*è£D ?\Ê­¤ØÛƒG£‰$µš_L“8ãÌÑ$ÇG$¢¿"¦I’1✠aÉÊMâœëº.%©o¨Ò$Uß©Ô¤Š³DMvz8Æ@ÃÈX•Ê„´«3j¿)et[LÙB\ÚÞRýK¤ú¬¨ºCÅì…)¥ú¯:Ž´7ËŒlõ]¥I&™¦4L6„AšüxÖ¿wçíRZŠÍn’½y§ºwM2ŒÐ‚óKJŠjh’¬Ú$ûÞ5eÈ7Ðð 85~¥ò>áêÚïŒ*D¿&j\/š5¢?^qhQ§H~ª¶QRJR¿EJ¢ÂÂC_~ùI00,ð Ã4ìC9“äÂáðG½=sæëyy;Ui§¦&Eï¯Ú^BRÓN8È7ÐPBM´BS%LÄÄÇÇvÁÆ.lDŠ%BÕ…#kH6ÎOkÊBXö/’¬Rô²»­ì¯K’¯¼ôìÞÿ·¦k’„RÈJMªøÖÊM:TppÖÇïLŸ>eݺU–eÕ”º¢DŠC•Ï[ràÀâ’bŒ¿€&:WHªÞ%!ç<ҵغØG·øö€;´ÈèÀûÂ/íaÇ‘#úûÈj‹n!ìÃ#ÇQßCR2R“³$w4I ŠT\„$IYYͧO}†HŽóF¤ª-ùLŠÄ${–¸T¿% -^ôm^ÞÎ1cÆŸyæÀ¤¤dMc55I6ÙAÅDD”‘‘‘˜˜„ú 4ÔˆMÌQ$‰T5bJ/¢»Z=ŽŒ)I5æ·ÊHiWJÔ-–ù¨J©©j“„$Ù¦m»{˜üù§³öäí–"2Çn’¤Ø&ÅT’vlßúÊ+Ͼýö«yy;#ã~jjRî*..ÊQ¿€†)Zqì-)¥¤hýBªa1j’‘”,:ÃÈN?BõõP4 ©Ê‡ªß0&‰HbÌ®Éh-‡Qå1õ‹TGŒ4F2uG“HÒOK~ˆOœpí-»vnËÎÎåB«hR¤×,º&NE1Æ¡ðPÁ¬ßÉËÛ9jäU]ºžäñxUÂc¬¢I*.5Ù©S‰‰‰~ò 4äS)0"G¸š‰­ú˜c)_;.¨åaj:”‘µi,Kh—RrÎ#9¦ò¡ª–o¤”œ35ø'ú»"Õ•î'Ÿºfõò]»¶_3ñ6),Á(:[Ê^«FVý1 ƒß};oçŽ_FŽº²ÿs““SìÑ655©I ƒápýSÐà 7•FÌ8J)®ÍÄ ¼uöàˆŠ±¼B:V±qTwdô©“ú)˲bUiîRå&ÉJ“Õ#Ý^öïý¿‡ÿ¹f„BB «J¯™tŒ±COµ…˜íÛ·þsÆóo½ùÒÎ]ÛEôHÎîª&›p4GÓ8ê7ÐŽ´‡WªÊ¨ê…]¶±,+²Š«¦î©r82Nå §ÈÊ6cx«–‚DÅxŸJMŠ´‘*¾‡íÝ›÷÷)^9þǙʓŠddN—t ‡®iîyAÁÁ?~wwÞ®«®º¡}ûNÎ~®¦¼þßçóèÔo pˆT’¨i:·£~#íÙ×Î"‡”ÕO®2Ã\T7[:Š%•œ™n4RH’g˜“ÛrÊ_þ–¨÷\í¡b"WµL3¼ÞûLÓªå8Mê7Ð0±ŠˆCÑ™á1˜˜™áNEŽÊ¥{ª¹ŽãM̪lÉ­ EjæSÌqXÅÀ-ÈÈE ¿üÄs ñ‰Â²¤¢òê‚Õ7©æaº®ŸÜã´‘#¯ìÞýT"©º¤¢3䛸ö È7Ð T·¤KtêsæÇbA»rVöf”‘ïö¢‘¨š¹Kj†ÊŸ:ª@’ˆUj’$õ›¤”¤&›fxòŸî~éXÝãR0böøâJMŠªš¨lÉÉ)=ÿüá¹-[G–á‰6IÊŠÉSR²¦YÊAÿ4œŒS±"_Å 1vqÌB""R}BvVp®n\m޳g*š6ÔíÑeøbSé˜1M²g¬Gƒ#¢‰7Þ™Ñìƒ÷ÿe¡Š®¯Š&9ïZ¥¬æÄkݦýW\?zÌÕ-r[Q¥…›+݉~»h‚K£~ ·œ#9Wõ‰ØÁÅj)`U:[©6©ÑÃvÉÄ^óF-L$ìÅvbTD¥Ø&1Õ7UTT¸ì§E™YÍJKŠ{ÿîÌaŽ|æ/vJv4L¨ñÅ* Ä Vmöz½'têÈQWžxbwÇ+««kÙóÈš2äh°!'’8XL¨ÔéSÝ¥ÞYw±ET±Ä_´«‹åœêË)‘ž¨ªM"I$÷äí~橇víÚ®ë"xÞ0Ó2¹( J)©.ªJíªr¨Š¯%&&xÁàó/ÉÉi©išZöFVfoj¾‰ln×c*/C,k)®TÊÂ9àÆ^Ð.çØù©r¸!!*PœMòêþç¦<º}ûV"²,+»y‹øøx)©¬´$5-£Jý†UY>P-Tù½-[¶¹ðÂÑΤRK“$¦Oaü 4ðˆSkÈ1‹Ê^Ѹ†!ºÕÌw†!g`Š„ª9”¬n;sû§,iæ´hiß~ÙØ ©é™š¦­]³¢En«*;…Û%¨ØCéºç”ž}®¹öŽçóûã¢}[µ4©Ò›&Ôo ‘¤çÔîÊ¡¥Ê›ûèÚ}UÃ*ä#f¯aC$ªýþZæ7I’–i^}Ýmyy; Ý~פ®]{˜á0cìü .ñz¼Ž5rì&USxaŒúõ;kÀYƒ²³[Øwð0š„þ)€…qFšÚÀ2f©˜h6©|‰g•—ɉ~;INĉ1bœ3ÇáI’cµâŠ_S±m¹lÔ¬%Õ$®nŒ~gÞŒ”ÌiÓÞãœCAË2U“Zd·BFšÄ¨ò =’qÆ81⌈âã¯øÃ ¦Ž,oýI¢ o®‰| 6ßH’âÿÛ»óp¹®êÎûkíSu]M–%Ù–eHÆóŒmcbcÒéB: ÒéN äÍû¦ßS’Ð:!d"Mh‚I‡Ü4`FÌ` Ø ¶ñ ɲlÉ–u5Ü©ê¬ÕìsöÙ§êJJ÷ûGÔ-Õ=÷ÜŠòÔïY{í½Ì­4q šç˜XÑÐúã=3²iU׋™UÁ^Š—C)Õãðj{wu\_CêƒøÌJwS1“ÅnéÀ}Ò¾¥8·|ø–Ü˸*&VzvKóó³ßÑ-¹Yš¸I¾`D>º:ݽ{÷Üsϼhµ„º A511©ZrŠ ª1{Tû¨Uƒ†êH›ã7l·û·ÜÛít­šeq¯x(ЏóÚÜ\E5UÑj+–OBPQ7óåS+Ö¬Z½wßô·î¹K÷-¹5íÏ4»%¿Ë}Ýn·&%¢*E(Dâ9ñÒZh¨n)¾FDëE®åS+ ò £ÂÝ'§&NÛ|º—ÕbÖ‚ ±åVK+5„"„Cb±ÃSEÇ<„0111>ÞíõM½^R ­+s3‘"„ªU£ºS(³ûOÛ|º•uçÎwyK:119>>U„êäø3Tƒª¨†Ôû\¯¨5s?ãTÕÜçz““Ëî»û³äFƒªÎÎÍíÛ·oõª£E$„êS?>PÕD4ˆTÅ’»‰³ŽQ‘ÙÙÙ^¯·gzzjjewlL¤ %ùuª(B¡±ˆ£y¯º˜Y¯×›Û»oïQ«×ÜRüóñßR¿ßïõ{tÕª£Ü%w×ú—¼ÛHµ*Hµ§CˆJ˜ï=Dï3ù€Ã£l“5Ñôz ³³³ë×ÕµGª"KQ1OE“QêꆈH<’¸×ëÍÏÏÍÌX¹|õØØð¥4„/¯QÄŒROêN‘~¿¿{÷cñ–ŽYß‘ƒ]G5„B‹›šêKsK ³³3÷Üýõ3Î8gݺcª¢’j¶o]RÍ&;¡§ºN¼âÎw:z{V½}‰¥ò `k8Õ,É´^£õ94Z‡ãîj&E!f‚æó4«“«]RROfÈ®Ý7{jê"IìÔ©ÇmÆ‹‹†ìÄáì–TšÉV.í[òö-žU)ËþÌÌü×ÍJT1?ÅâPÜöÕÔŠb©,Ë¢XêŸïœï½€SŸÜÊ<=öèðù7q³tìÞ•öMw?Øç`>Š<„b`€¥Ô'ûyÕIlõ]ÉÁ…êÈ凸%3‹ýÍ£†ÕÌŽÈÿV;‡|À(¨ÏýÍ?Ë;⺼׬ÌãK<ê׬þª~P–fõ1À>Dê?]DöNïùÚ×n f§"Ô´(~)„Ƌրq©çq.zKñÁP¦IjvÙÖÍf±ÏE„”C¾Œb¼i=læ!”ez\g*‹Ä@cVÖ¡ÄòlãâáÆÝÿ埯›ŸŸÛ·ß=÷ÜסҷÇ)ãÄ8áC·¤ªßøÆí–e™CßR=RÊË*¯Xv2¡d‹hÕ㔣äàe$ò ‡)M]0­’†gó^×B¼)å4êe%Þ§¥……ù˜]Bu8ìBî6tK."EnøÔGbI©~qº%¾ÒAcÖçöiëËê­ÐÖú”ûðºÕE1`TË8.¢êf‚ˆˆ«ºËÜÜ\YöV¬XSE¾½(õòTS‰ñ&MK¨;ˆµ,Ë~¿G; lº®‹F÷¤qT”W½ÃMã³™ÕýǃGDzRûN›-äf!„&?ÅéñÉl9Ý7ÔoG@ÈñêCÝ]f¸é¦OüÿÿéW>{Ó y¡¥])Éûf¬É5õÊN½nåEQìxhû}÷~ëÿËuý×·;åW(˲}Á[J!%Õo²Õ1[”›Ë`ä}6ù—ñe3Ì}Ñ Ôo•ÚMüì·´ZåîwÜqÛ‡>tª>ãGŸkæ±Ür°cîªõ¢&„˜j¨ª"îss3÷Ý{×»ÿûŸïÝ»GDÆÇÇEª¹Q9U­û‚½%KÝ8ªR–VŸA¨ÉjîÙšYÜÞþûxwÍŸfé5Í¡ƒüó ßF1Üø"s%Å;Ýî)§lºðÂKºÝN=IJ¶>•ZŒSÏJúÛN§óêW¿tËý÷ˆÈŠ«žøÄÓ¯ºúy½ÞB½Ú5x‹¨²»J¦TeïÞiï„Κ£×–eyˆ[²j.¦¶Ô& „›ø§ˆTGðT)§UŽ"ßp˜çšÖÆ©úD>W 1 œ}ö/yÉ+Ø÷Ío~ÍÌó(’BCZÚ1ó¡=JUjp÷}ÓÓ«V­¾òÊ{æ½àÎ;¿ö#OV¿ß­9ÚìOýÈé–$¿%èáÿŸßø¥]»^¾|Åo¿æÍçœsA]Zä–| ¸I«Û&TÕ%©—¥ªã³ºÔÓã­Õ²%¹bEÿ `TÊ6ÒÚ]Ñx2»Eg||¢×ë‰W;ÀͪmØeY–eÕ1“mØÎ›]4TS–åþ—¿|Á ^ü²—ÿúää2wë÷zfž¶s—e³¯»,ÍÝÚB•Úï IDATë!;|à‰›Îxó[þzbrÙoÿç_ýÒ?ˆ[2‹Ó<=Å’*ô¸ˆ¸™Ôí5Í6±f —{Uj·M·ÊJäwš¶&U‘gÿ¾éø½ö5¯œŸŸËw‰gÂ=Æ”l«¶ˆV oÜíØc_¶lª×[øú׿ò\ó¶?ycQ³ôíÍ)MK¯Ü’ˆøæÍgþûÿ›§zú…\<;{à#×ÿSY–¿%wiõÇjPýØÛ½ÆžŸò—bûb!péa} 0’µiöÅY òo|õ£ý ª–Y#Ÿ'UÇfËU éÅî®vî|è›wÞqË­7ÝróM"²fÍÚ|jU~©úP¾tÆ_sKf>1±lbbrÛ¶û¿üå›§¦V\yÅ3%;ª§õ-òdÚø]Ýmy«Mz'ò×h³|¶´ù0ÂG벆ˆ„¢Ø|úÙW\qu·ÛMGÇ4q£bÉD²•qB(^÷ÚWnß¾5~ùÔ§>ý™?öü²ììMJßžEó½SE'½ïÞ»çwÃÊòu¯ËYgY¸¥t@Nž’²}æê.uÿMj(–ºÿ¦™ÞÐ>î|ÀÈ%œºÕ7F…~¿ÿÒ_üÕóοh×®]wÝu»ˆT'é…l°A+Q,~TL¹nÝ1O»âê Nèt:çŸQ¿,u(5¨j½KÚëJUeûö­oøß8û¬ ^ø/>õÔͽ^ï·”"—HêböøCDÄ,µ«ˆ«ÆgÒ–®˜{Gü‘o#qò¾™ .¼¤ÍÝôå ¬ÌóÇAžì÷û¿ó»ò™Ï|ü/xñîÝ|å+·¤+æå¢ô}‹ÞRü««_ýº3Ïä.ëÖ­?ÿü§\tÑeëד×rBHßN¾`¤Ôóº%ß3ŸZ³fÍ…^’mž>h.ñE燋ªŠ?íŠgv»cG¯Y{ñ%—›õ’Hªu"=ä-µèAoi J”N ‘[nùÌ»Þõö-[îí÷ûéõ7Þø±O<ùç~î—/»ìéi`g{ù€ÃZ³ô\‚J¡j*í)êªÝîX·;÷W Íf’j3³ÿ±ÅoIã¡5»¥úR67;?99™~Ë8çáßøêÛÞö{ûöí½êªç\qÅ3O:éÔøš……ù­[·|êSºþú¾ímo\½zÍyçý»›I=í“ùSŒN!grrBTؾ5ƒêDÕ AÔ¥437W-Bˆg Ç"BPU3ŸŸØ¼ùô©©©‡~(”“&„E;fJ3×x(NudŸYË*!¨»ºûñ6N®Z-ªÛ¶oñ&ÝRAôÛÞ’ª3›Ø¼ùIó ûSåeffß{ÞóW ó¿þ믹òÊgv:Tü™œœ:÷Ü£Ï>û¼ .xÊÛßþ¦w½ëOßð†?Y¾|yQY…i©þ!ßFﳫÐ'œrêØØ2©s†ª†Dâã \LC(‚j(B—ÒJ·ƒÅ7+{³ssé©Âm·Ý¼u뽯xÅ«äGž'9¤{ŒÓ¦Tõò˯ ¡ó§úû·ÞzÓ‰'ž¼iÓ™üQò `„‚M¬]ÌÌصë‘ã?Qš‰ Õ¾¤wBÐ:B!Ä@_Úì×éé™~¿¿kç®uëŽ-&&óYÞ)ä„ !!H Iéùl胖e9==Ýë÷w?ºóæ/|úÀþýU¢ÉòMõ‘íNŸº5¦_öÇ&'Ž9vãòå«âÓ s7Üpý3žñœË/¿ÚÝâoÙëÍßvÛ-fåK².ž%;§|¹ ãîBÐ*0¤ÊK!EŒ5E(š„Såu5«¦(”einªZ…»U}Æ!Ö|B¡þŸF•’²ñUi,æªUG_uõó—/Ÿò,µ´’™Ô!kð<Zlpëç?£HYotûöxàþ—¼ä!3WuÕpíµ{Í5àE/ù«ëÜ£W\ñÌOúãOx©i‰ùšŒ•ªù·Ù¬Ô÷¾Šf!HÐ *!xUÓ)´—uª@âu»q½Ç¨‰ Vz¿ôPxP …„ !HP×àA%¡qÝ*͉rWqU]µjõÚuǤß&¥-3âÇ¢…±°S„bfv¦A%Ôù¦¸õÖ›N8áäuëŽu·Ø¤\–åw~=¾àÎ;ï(Ë~E¼‰£^{òɧ}á Ÿ9ýôsø÷A¾Œdg±'ÝUÌMEÍ-¸˜‹šKq×S(L\ÓÜw7_dš»¸º¸™K¼ˆ¸¸IêæA]-¶àTçõY5«¼*èÄ‚J|lnÖ>b§)@©Q—P3¨ƒ«êÃ?tî¹OŸ°ªkÇŠ¢¸êªçîØ±ÕÌŸõ¬Ÿ(ŠNY–1–u:ÝóÎ{òí·)u‘o±xãCÙÆµÚ¸Æ5¤üB07S««5^ ýöÅ.%Y1§9wØÍ$1qW«×€ÜÜ=Ÿ•é®î¢âñG-~–ŸÊ¡¤q‘^oáE/zéøøDœV‹Mei—^ú´M›Îp÷µk×§pK/½ò‚ .žŸŸ¯£ù€Ñ¡©"q϶…b0‰ÉÆÌê6 f¦"nõ±0i‚e€MBˆÝÁq¦e¼²»Ç¾äظÔ\Õc¦R53qËÓD«»&û"þpèôÿwåÊÕ"sU}¡,ý裮—Æ4úéccccccÕôÎ%?d“|ÕˆS‡†PuÔˆÄMÔ!N¢Œ‹CÁÜUÅJ)S·ML;î’/æT…sWW ñ:îîn¢EµµÛÍÔÒ7s3{ü#-?~”“$T‰óÃã݉ˆY:ŽÙSýf0ÑjÆù’øÀpœŽíiV“gÅëÕª¸Defæ1„Xýµ•ñëj«Q6ö)›ãפÜÝ­”wüùѤ´xÁx3+ÝÝêåªCß¿ª^ÿ¡8g‘æÖx‡qªRMÕˬ.»|´.áÄÝUñ¯¼p–êHqê7€QŽ=©ÛFb³p\œ "¥%šxîU0«Ð`æ»T궉/S-w>¼#Üç^–Ù,ñÇ[¿Q—ééǾm_ŒçíÊ¢îË6q‹{6+Ýêë¶2Œ*ÿ(È7€QÌ4uÇL“Hªeš˜lbÛo03Ñj·”J(­é/Ž'§U-©›ibåÇ¥Ú¥*U÷°ª™•e©ª¥jÈ6EÅ2Nxœ±â;Lõ=T+S’gèÕ=x:nPšcýN¾Œ”êšz›wŠ<1š¤Îâø@D\]D ­‚‹du‹­¸YÆÉ/Ò$î¸íÛ,V†‚º‰I«~ã߇²IªÙÄòLÕš¬juĉo†æë]ªKv=Š|M¾È£:”Ä#n¤éÞu—ªcüTÝ\4XûÙhÏΩ.˜wäÔ9ƽô<Û{ãÍ÷7ÒÕ)'ÕrbŽ©Oü†ƒó)õ§»»§…§´A©:7O꓊U´l5öZ &Y 0·:ÙÄÆ—jç¹Ô­É*Zzê²X(27ÿÞí×ñÁpRç—jJãþ©ZÇôÔß§l 'ßF[}ú‹VQF«É–±]%žP\÷­XP“,Õ›­êc‡ëo´ê<=Oý¼ñâfq|· õú”Tû•ÜU$ñt ßwQIÑ,¸ÔҘφ²žHjÓù0‚ÉFšáͧµ„#{§÷ˆÈÊ«%ˆÄ òQ q­i±´T=ÐTuæÀŒy¹|Ùr©NGvw1oº‰½Ù£~ÐoifvßԲ忴’]5vÓz&;ùf‘ C ù0’Ç=ž¿§i?”†°å¾o}ò“¾õæÏ•Vþô¿ýù˯¼J‹BÛç·8äÃ5ë­X*eYÞôéôÃÿt`æÀÅ—\>;;#.Õ*”¶2M<âï µ A·n¹÷†O~äÆO}ôêg=ÿÀý"ß]%k¥\´~¬O‘o#rª]EÕè©íÛ¶üÁïý§sÎù¡7þþÛUõµÿù×.¸ð’•«W»ˆ‰©TûÃ%MýnÏñ¸>U„Î{ßóç7ÞðÑßü÷ø'|ãëwÜû­»‚ñ¾‰¨XÈ2Dµ8¶X+4<øào}óë·?°UDÞ÷wó´+¯g ɯšÅ˜árNþ¼2-!œ_ ™83°îRI\?¹cÇ«Võò_yuÑíÜy×ËW® ææ^ ÒôÆÐ•ê½â""êŸùÌ'^øo^rò©§=6ýØÍ·|æ¸ã7–Ö7³ØjãÞš»¹8•ÒË]<´ýmÕ'n(žÿÂŸÑ ßQ §éj…m·»ˆÕÿõVÈrµDP¿Œt扻¥TDNÛô¤ó.¼èÍøÚGÙ¹þ˜c_úòWM-_)õy€ig·N§Å)s{ÙË_õ¹ÏÞð±|pbbòÉ_öœçþT¿,S#sjãõüP½ÅœtòiO½ìŠ›>óÉ'œô´+¯>nà žNâ[dii‘+Õ=ÓÍ—yôÉ7‡/²–*ò `ôSޏ»¯\¹úE?û²­[îÙ´éLsk†…ׯ‰¯g÷-L\ܽ;ÿ‡.~Ò™çl¹ÿÞ£×®[·þX¯û‘ÕëÚM½?\/äueÅUuÅŠ•¯ø•ß¼êÇž¿aà «W¯©¶nÙ"ƒÄ1æ!½v`C}²âzˆ´D¾àðŒ2¢"A¥¨Æ2UÏ19å¤ÍªRZYH‘jñ˜œ8‹*bàA$ˆªh¨ÇZ .ºrjõ¹ç<9ž[\ws¨V½Ê§ZI ší\ÙÞ]è•Z0¬¢TUCÕ%ÍÌÔ‹PhU-É.¥U¿ÎäÄäÜÜL§;åòûÉ/$¢æV=B5ó;ßöí¾ñ„5ÓÓû.½ôòبSm×X—ÑúR¯*Ù3é…æ>¿Ð›˜XvßÝ[…ùSŒÕÙ¹¹ýû÷¯^u´Tk4ÕbMýeüCEµU¢º]¦*«ˆÌÎÎöûýéééeS+Ǻc¹¤Ž&¡JGÍu5-8¹ˆº˜Y¯×›››Ý»ooº¥Xe !”eY«EÕ4¨ì–:_X˜÷"¬\¹ºêÚĩֹ;)ÕUžzrÖxw¬TuI·ào#oDz½…ÙÙÙõëÆD<®A©ÆbMA‹¢¨"E¡!VKBláÕzr“Ç…¤ùù¹3V,_566|) !ÄKUù$„ª:¤õ¬Ké÷û»w?¶°°033³~ݱR5Á´®/5pKu jÝÒÂÂÂììÌwýŒ3Î]·n}½žVÿÈöŸ±#'*^s×®NáÎþ)Fª„£Uw‹JªÁéä=qu)ÄLBhfh¦šª³Eµï ÙµëáVîî^ÑLû’ÜEÅ,M/ ÍyÊù-5'&›•ªÁ%Ä[Ò¡[ŠcAU¥,û33ûEÖ§_Wµ©UÅŪBqšò•ª† eÙo÷&“o"N3c2ê{O\‚‡à!XE0æÖë—ªªÁ‹nèªjl!޹Ä݇·2¹¸‹©Ä>es/ÜÝÌ‚Tk]ÁCÁª)ãÕ”òú®n©/îñ–&º“ï~çŸõz/ûåWì–Ì,><Èo¢š3wªt¥yûqû{›c—\1ó#"oWíBÊ?¾]EóC‰Ýü–ÏßdÖLd0óúK+K³z†øÀ*޹•^–Þ/½_=²ô²oýÒ˾õJ+Íbæ©.bæñ†n);'Ùe¬;þw×ü·kÿþo;ÝnŒÚ· gšÅ³KU’ü(¬ò”¿iKñ ù0j9g°¤á’®•ýò£ùçùù¹ ¬4w3+ëPbílã­¼ÙµóáwüÙ[öïÛ§*V%×I'Æ ÿ6·dî¾qã‰ïøË?~÷;ÿ¢4­[ªÛñÁß²Ê+é„ãt›é¯šc•Ó†ó%Ž|1Õøƒ¼»¥*S¤R¹ûW¿úÅÏöÆN§ˆ…’²N©d2p²Lnš#þ±ýï7¼öÕûöîõ¦jÓº» Ý’Ý’»øê£Ž~ýï½õ“ŸøðÛ¶úÐ-‰/:ŠÜ›ãs²/«·BóˆÖÌ ]âÍÅäÀ—qb ‰ËCõXïæÜ¼~¯÷þ÷½çÀ™2Ök,…“²,Ëzyª 8Í÷ºÄIáf&.kÖ¬½ãöÛþèM¯Ÿ›³vÂ)˲,Ël1(Ý’ ÜR\%ºãöÛnüäGæÅ¿øÀÖûÝeð–ÜÍ]‡’M|l–ŸÅìõÒkêâóOƒ|ñ㢚¥IEÿ¡‹.Ý»oúþðµU»ÍPé¥Zj†€§ÒG|ÆÜ¥´rùò?ûs¯xøáŸùôÇU4$íë Ü’´oÉÝýâ‹ø¶/Ýüο~»É`)¨º+l—É–¢|àËê5±ÆEœÊ ù0ºµ©#ˆ§(Ñ,¹›ùq6þáýÅc=ú­»î4/“ÖâRS±T€Ií2î&®Û¶ÞÿOÿø/}Ù¯~𯟟-½´² 7u_ðð-µ×¹ÌÜåÞû¾õºßù£©©e ó÷T-ˆižlÚQÇÿ̨«WoÈ7€ 7­U"î"feyÔQk^ô’—Ýð©ë5h¶‘ªÕbœzV$U\R§®»»M.[v`ÿ¾¿xû›­,ã0MóªlS–e¼žç{·Z·dÙy<¾óáoyóžõã?9ÖH÷wõ¸[¾O*Ý¡Ôçì Gœf›ºyZbkï«"ßp×lò’©ÏFUë¥&OÄ®˜~¿ÿÄM§ïÙ³[$3ãÙ¾'-ž]¸Zuêõ{Ï{á‹þË[þjåêÕ;w>,"u¸iªTûº¥ª¢_þ”‹/ß¶õþ?{Û›æç›Qu-óàÖî¶©—¢_±ÊãNz«| ÷ão#˜t»€½ª^¨YŒ&Vç é]³²¬;fš T­f—úàc1Ó”<:EqÚ¦Óñ—~mjj¹YßÍ˲Ù×Û‚Û‹I÷dn."¿ð²_}Ç»®=ãÌsKëÇ›É×Ëê—¥`$M5*ö,7 =Ò¬z5!«YãçF“6«0.÷‹çûÆ­I"bæ[·Ü{ö¹öz½Â‹42ž\%­Êª‡:¤Á õÆ$é÷û›O?ó˜ã6ôúe¡–¶€ÇÁ õîÅn)Î_PA¥7?¿aÃÆçÿÄO«ñàcmÝ’»˜´¶K:{Xã ‰úOiÎ2Îgpì «Þ(ò ‡kÑ&ň´úR-ܨˆ¸¹¨´7¹»¯Y³î¨5k­4•J#u>h‚@ "雘#¬>¨ï+·ÝrñÅ—w:…™¥ÀPí!¯/zKMCŒK<†grr¹[if*Á[G ”^Rp©®‚TÓ®Zµ¬ü5Íô†æŒg[ŠõÖ§#R®i§ú ^­6/ÅÏu³í[·¼÷oß±ûÑ]V–î²båÊ•+We;œª,‘οÉÏÄ«¶/Õ)cÏžÝÝn7æŒG}ä¤SN“,ƒ¤u¡,â,rKÝîØìÌ~¿ŠàîN÷K·~OÍo)tœ§¤ü<›­àÙi7Òjªnúm\¨ß0zõ—4¬ÛëcoÞ÷?Þõkß#"×½ÿš«žù\q‰]»AÓi4)QØ¢*n®ª»v>ü÷÷ÎÏöS?zÕs×»ÁÌ.¾äiªRöËB‹Mêé˜>˜(ê[*ËòÆO]Ýû߻Ḡ½… .¼¤ì—gž}^·3–vj5?Ùš[ªË0^]LĪùâ1°¸j|Æòùšî!;ÑxI#ßF8⤾™ ák_ûòuxoúÛSNÙ¤¢qu&.W¥¢‹ÍgŠOªê¶m[Þô¿ýàö­"òÁú‡¿äA´¬ç9x3{a‘òHsK"Eèü¯ëþÇ5ûW"òÀ¶ûE¤Óéôû½sÏ{ršÈ0|Kž¦\-s™ª¦5µ*Üd›Æ%ëѱ%Z®Âú`„NUäP1·îøØøØxü‹uë»èâv­Frl+ÚdÔÚê}ûí·Åp#"+W­~ÊÅ—õËžäã2ϹYì–D4„>ù‘ô?zõsŽ=îxé÷û6ô‹î{ª¼âš”Ö3Aó ÍÁ†é dþYo£Ÿqêܱió™¿òÿ¿SNÝü3?ûKoxã¯Z½Æ¬9§O²éâéû»”_ô”§n:ýL9æØ W]ýÜuÇ[š4#'õ§¡\âR–ýç¿ðENGDÎ<ë¼ËAn)î Ò&'¥aXUŸ»ôË~<†§}œOõ0;Ôg©§Ö§£§ž×&bz!…¸^vÙÓŸrÑwºÝ‚›w´f¢÷ÀG¾K{-'µÑ¬;úØ×¼æÍíxpݺc–¯XYEÓ#wW_VM¿®C·äîêò´+®ÞôÄ3úýò¸ ÇO¸{8ø-e÷U_Æí\®Þ·Rƒ¨†ýû÷ýó¯ý¥—ýZYº¨•^vµ+õ¾xiÏÂ"ß0"‚KP)TM%k¤Qwuщ‰‰x¦Ö}0ùêx:N,ˆªAUƒæagÅòU+ž¸ZÔµºTüAšg£*íx?æ› T½}KÁuã §õÇwK>0uªŠ8&ñ|¿P¸™÷ú é|?sçâˆH`a†|!é¤ÕpàÀþÇ{ÄE]=m誢¡@T‡Z‰cbñ¹Ù¹É‰É~¿¿gÏ£³“¥˜TÇÞˆª¨†:‘T$,Ò’\M/û½ñÎøÌÌþ=ÿú[šœlžLã´^ËÏØIÇ«Ås Sý&M@~ëÈ7ŽÇ]&&ÆEdë¶­1'”euB1*”qÒA…j¿°?oªsMDÄ\Bh"‹™§‘"1⨈‡VšZºó§È7€‘É6± ±`zÒ)O qÕGÒºRZARUQÑ¢Zrª*&**U餪ŘÙÔòÕŸðÄæUÚ\'hȯåÕî®!<¼{ºô¹'œzêØØ2q‰ÑG5†"Õêë`nBTC4ÞLÓL¬âý~©ªÓ{ö6?'?ÜXÝEëSÓÉ„íÞd•EÎôY’ó¨È7€É7õšK·»¾yǦMgEÑ´ÂÄ%UW—ض’•2¤ŽAÙRM9ôLzÙ!“Vv…ÒÊ~¿·0»oßôÆãO’úÐ?)â—A5턎† A‹ªá§Š8)¬ÌÌÌô˲տ£.»—ݽÚ'^8÷ü~bóM{¨øÒ 7äÀHšžÞÓëõºÝnÊ"õá|Y §*ÊÄÇš?!ý™ZkòW.q²…›ƒgz½Þ#ì/âÉ3qõI¤ªß¨†BZEAµ(Šú©ê‡ÅMOjæqQÌÊ.ZLTŠ¢H}9fÕ(‰ú$ÀÁó—ø*ò `Ô*9.ÙP‚f¬vÖ ÜžµÝ oJá@T«ÞîÖd!õ,$ykÚ?¿Y62©2†Ö“Àóú‹§;twsf.b1ûxu±ùа†úúq}ÌDeûöm7Þðѧ?ãYõtWÑ Å6™ƒ|á £ª®bމy&¯Gm‹j¸Ç¸{¨švËù[o¾é´³žºjùDûÈO3†ãBûÀaÉ+%~Л¬ÃÑ&刈ű ’ 0OèË¿7Î[XXXxï{ßñÏ|¯·píûÞý¼çýtSÂÑ»pò.$Ê7œ_ ýœ“ŸLSÇš|E©ªÄdÛ\‹ÎÂÌôõ±hlãIDATŸøP¿4ÉŸÉZXòp“èN²ÃˆÅÛyÈ=îÝôŽ»ºÜÍݬ>¥X<ÿ‰BñåÛnþŸ×ý]¯·SѦMgÔƒ8½(BQtò¥´fmi'ò `të7U_mš7™––â´¦¼„“²Cb`¦ç]|ÕÝ_ùôÇo¼Ñ«ßR§13‘*v´SH¬°X•âU½™vfI6ôÊ=E™8·É‚Mžr¼êÔ­[nò¢ÎМí&ñ„ 2·ûÏÞþû“+V>õ‚ó‚ZÝ@“èb?·ZDjFYùðý„zùJc©&KS?iiœB 1õvïúgÔe¤²ì_pá%¿ð‹ÿñóŸ»áü .zðÁ®}ß»Ï=÷ɽÞÂg?û‰íÛ·=ûÙ?ÙíŽ5s«y‡È7ŒVÇ5Å—ÅŒ¦ §^¨ÒºÏ·ú6U ûÙö­ûØ¿g×ÞÿÞs6o^9µLD²„$C¤ÉiÅIÒÑ8^‰“úšë›©º›U5öÜTÌõKšCúÌÌÊ|ÀBlšªÏ{îOÿø³²ètÜìmo{ã5×üÕÆOøùŸÿ?õS¿°fÍÚöþ)ù0Êá&îŠA!UMâ!¿q‡T³³ªê/Ö¦¬b³ýÈuÛvìŸ\ù£W=ojb¢Þ uÐæbê/^t³’»‡Ðü 73Õ·M%ß’.îæÙ—š~Ón·ë®ô·~ë^÷º·–e9??[–V¯… ô/uäÀKå–8>¡Þ.žd“,ÓF*Q•;¿òék®})rñ¥WÿÈeOM'ÿÆ-â‡ÜeݪI¶º$ÕâT¾e=n’Rwsñ+dÕ&ßÄêNÕ°œÅ©”ÒêßQçæfççç²'­aUõ]-qôFW¾sJÓ‚T\íI;žÒ«q›ÙÑϺèÉO‘Ÿxö³Ç ©;ˆ«mM©]wà¿u°×ÏÄŸ[­Oyv‚M¾ÇªÞ0eq •™ÅºK.ެr÷ü|¾TF2S÷˜º,«ÒÁÍfj&ñ¿2´í‹ú #qâ*U]Ëi*7)ßÔ%I…3]»îØW½êucáM÷?4}öÙZKyl|"ÔËF‰aÑŸ\g’ì§“þD’ªÎ̸õÖÏíxpÛYgwÆYçqG{;ŠÄ#‰û­CI«I9C­6:ôíäF2å¤UªôÑÞ좪 *ùœíðØÎGÙùè1O8wóiOšZ6žòJû€œƒþÄìqû÷$œ¿fÿþý_ùÊÍ_ùò-ݱ±ÓŸtÎàîðæ•æv°Ÿ›Ç8Ï 6Ã'Ò€C¾Œ|¸‘Eœº §©âdͼqËZ³jõê©G§{lÿþåSãi’ÃãK ƒkæ¡§ Y®ª"ÈøøØi§>©Û;~à š:¿ò¢' æ÷6\ÎÉŸ'Üo£ŸoR†HÉ#ë/Žë8ùy6&¢â²|͉Ͼúyïþ‡¿çß¼ý¹Ï~Á§?i¬Ó‰ý¿õ™­ß¨J|¥,vÞŒ»ÕëGš:“W®\}Å•Wõûåää¤4“Ã/Ün©ie¸l\èÀªÜp0"âo£¯]wü€¯§SÅΛª G‹âÏùwÇl|â÷o››‰ƒ-Û{±>¥é•îVícj7 §Ô•×â $? o N-úËæ»ÁÉ4äÀ”lÚëJ›ŒÜLCÐöë5vÉîy]yÞEUPHGçe—:KñEUÌlÑׯÊM<­8O>iÕ€ÂÀúÔp¦iwµ¢6§¦RÖ’î1&ßF1ÙhQ!›EÙ.Šèb¢ý¼|—~W·!!v«•Ãò‹x½NV§ŽzÌB~àb'ú¨jÈ(Ã…Ÿ¡g4Í©XâÿBÈ7€ÑÓëõïºëkEÑ !ä)gXQtôàgúªJQtê×,bnnvrr™Ž¯PqS3]UŸÊ7Ô*”OrªÞSJxöíÛÛéìhWkÂÀe‹Bî\5ÄðÔí.õ!äÀ( A;®‹Ü¿å^‘êt=1_dÕ'}ø›å£ÿ¶Žvð ãù˜…¤ÛížqƹËÇVv»c{÷î½ç¾»UC5‡Ê<Þ­† .õé6BˆÇÌ«~gUUqq7ßpÜñEÑ [¶Þ{ÿ–{DZ½Ëñ®«}a‹üUu£k×®?ãŒó–x ‡|%_¾íËîM§«rì÷öÊ.®2Ðbœzq¦qÙŸÛr`^W®0³½ÍKŠÖ"QQ×u4ö&»Éó öM÷Üüøã¦D¦äàQk‘íSí_dÏî»f–rÀ!ßFFá¥/{ïÃã´oï^ò ‡/¯G|ókw0#û;J„äSccãwïÆwDEŠNÇÊri;þ8¬¤cE¤ßï÷z½ÉÉÉ/|þóÝn×™ù¿“¢úàöíñ”Öv­#ùÍ$ß»OåôØÌDä¸ãŽûøÇ?¾gzº(Šàoc¡Ûé~é¶Û¦§§ãIƒžÆq‰ÈÁR>°>8ÅÞn·«ªNç¤'<áÃ×_¿öè5'l&ñýNrÄ•pÈ7€ð§ïÀ‡ëÀãwX™ú×¼Ã)Ùä±&ï2> cäÀXüdM¿óÏÚ|ÝŠ|ó¯Œ8ù—ËRGÞªùðƒÿôËO©Ï&ÆÔ|“Ji‚oÚw—lD$Ölò#pè¿àûqòÛøœÚnRƒáæ_t†+7GÞÊùpØ}çÍÅ”j¾çáf #Áo2ùpØ}$¡ùæ{q¤}ìÐùû’o‡—¼¹XŽè‘`Ö9âkcäÀa÷é;ðß¿7ùHÅYI€|@¾ ßoÈ7€|@¾ ßoÈ7€|@¾ ßoÈ7€|@¾ ßoÈ7€|@¾ ßoÈ7€|@¾ ßoÈ7€|@¾ ßoÈ7ä@¾ ßoÈ7ä@¾ ßoÈ7ä@¾ ßoÈ7ä@¾ ßoÈ7ä@¾ ßoÈ7ä@¾ ßoÈ7äò ßoÈ7äò ßoÈ7äò ßoÈ7äò ßoÈ7äò ßoÈ7äò ßoÈ7äò ùoÈ7äò ùoÈ7äò ùoÈ7äò ùoÈ7äò ùoÈ7äò ùoÈ7äò ù€|È7äò ù€|È7äò ù€|È7äò ù€|È7äò ù€|È7äò ù€|È7äò ù€|È7äò ù€|@¾äò ù€|@¾äò ù€|@¾äò ù€|@¾äò ù€|@¾äò ù€|@¾äò ù€|@¾ ßò ù€|@¾ ßò ù€|@¾ ßò ù€|@¾ ßò ù€|@¾ ßò ù€|@¾ ßò ù€|@¾ ßoù€|@¾ ßoù€|@¾ ßoù€|@¾ ßoù€|@¾ ßoù€|@¾ ßoù€|@¾ ßoÈ7€|@¾ ßoÈ7àHÕ‰ÿãî0³ôåüü<ï8 •e933ãîñË^¯·ÐëÅÇÿÜ»wzû¶m!„N§“§™õû}ÞAp¸)Š¢(ŠáÜ¢ª½^oã‰'uŠ¢Š5Ãi&V¯ÀaÇÝ–[öïßßëõBo~Ž· ¦¦¦ÆºEøÄ×wuCJC¼/`äôz½={öôz½;¶ÿËWéìÚg7Ï-œ¼lÿØøÄÔ²e¼A`ä„zýþþýû¶'þÍö‰ÿ<^äвIEND®B`‚nted-1.10.18/doc/docimages/grace_notes_types.png0000664001041000007640000000261611520267216016466 00000000000000‰PNG  IHDRu(Ov" pHYs  šœtIME× ÓpÏztEXtCommentCreated with The GIMPïd%nIDAThÞí[}Le®×kùhmùØÎ  Ø*°eq s°eŽ8CܲE‰$Ó"l’¸;Î̇‹¨Ku(’ˆŠQ—)nchøØ` -Q‡CXRèJY)G¯÷úG]€~@{À½féï¯æ>ŸûýÞ÷÷<÷¼W!~,~ üüúùõã®á×l6«Õêžžž»™ß‚‚\›L¦²²²Ž+W°s×ÑÑ¡V«išží Ä œOœ?úûû`õ£ûì3^+*uè=Ë1ÜýáÌÀmŒc§ïÇ2÷„·´<ÿ!°‹ä¿U¼Ó³íýÝ9‡~ÀîÙ>E‹áP~ñ&.p€ ¯âˆÁýÑRG›*¾÷HÔ|øI”mæI,ü®vÄ Í±Ùñò;‹ÌÜý¡«áä:ª'÷‘Ã,ŽYYu¢Z×T[˜A›šòOvã±Yô`_ß¶ÓȰ \?X¿[.&U5:„ì6–×ñ«ÕjB,c*IQPA ƒ´×øý­±¦03z«s!ýÁñãêñIJQ¼=á…vÿü"„Æ ß’D^ý_¸øMÝóžÝ³Ìóåwìï:­y¾ßÊ`á!TÿdŒ<ñM¼ùÍ“Ìóz?ºtz}ÒÓQbR$y`E‰«BÚ¢9fÒWlÕðÏGsÕºt­jUKù— Vÿ^ª.Ï>¸MÓÜ}­Ô|½c¦z\fo¥y¾oèÚäéùmý;jW™¹ð‹X+ä¼Ü¤¹¨Wݼt3Þ‹·Èß½FÖgµñ|Ó{¶@kc£Œ)ü,ÁUfŸùe,ú’ì8¸ðGKQF8PAI@xùL—KH<½À¸ùÚf}IŠârÅ;œeö-¦Q]CÎjå…Èç CpçT`<^~©%”RBáº;A†¼qîc!­?%“8É쿺¯ª’R –Ÿ¹Z{Øi—Hº/¿´A ”ˆ°æ€­ZժÌÞò‹cÖ.MñÙ®³ù®çD>¼/¿}½y"s£g‹æØØÈÐÊNüBy»N_¾#ÁíÞä½±8Ÿ 1¿<õ öFZ`˜*M(¸læšß¢–yìU®“c|0›¥³jOþµ Ä(î•Ï+¿yÂ)Nï£$Ê0!þ…D›¥óż§ü&ôòdSï·¯TjšZ»Ì‚eÞ­Ã2†}_LÈB56¹á×JçúD¡£n·)Hž°Ò•0s}ó“M‡|îŸ ¼½€ KÀÚoÇ:Ï3‚ tã6žéu•y¿¬mï)ÏüÞ8·ÙM-"Ïåí©Æ Ÿ»ïZ™&ø$×­ÌÐzsØqÀäX›Áe¥jnÿÉd®3ŽçÍðHq´ëFiô³Y!b>}wÂØø§•qÝnM•1¦9C߸/x†g/}lh’×õ˜²µŠŒS᧿ų9Ðæf·2ϱáÍ¥ ­Õ‰21qêæ=-ÃVžŸÍjø);þ¿i•ºµ¶}Ë‚1™Ák÷™0Ži†EØÀŽÝ1ŽŽcü ŠƒÌ„Ûï׆!I!D„SÖÆöò9-N‚ \cã-óȰ"R¯ú6þÿøül³Ñ4-„B!EQÓ•v•ÜÏïâÂÿýºŸ_?¿~x¿mAµÏöLIEND®B`‚nted-1.10.18/doc/docimages/triplet_gen2.png0000664001041000007640000001006011520267216015337 00000000000000‰PNG  IHDR¹TQW pHYs ‰ ‰7ÉË­tIME× 0õåľÏIDATxÚí]i@G~=7ÃÀ 7r¼DŒx"@âÆ›•¨IÄcݸséªk]c¢›¬Š¢¨ñH6£# D‚8êˆÊ1€0sÏt÷þ˜žC ŽêûUU=ÓU]ýõ{¯^½~‘$ - MâJ‡ ëÄŽ°a¬Yt.ß%xòÜo/ˆzÑÅ“-†(1ŽÁñN¸|W©Q^;¼0 {3AÔK.CöJË1ÍÁêB­Ò-ôƒòôOH­„Æ´6¬²îJo¸|Ä•VÀ–AoÄ ƒkê€Tc46Ðè<\Ûˆì„gphùx[ží¤wŽ€Zš­k´ñ\ÞK.É•6âÉÏ1^ghtëÏn•¬pè —Ì@w½µž=’úèá7ÿÈó ùסïVô¢ ÔÔTTÖË1GSÓ(þõÌaa½é „æP+Üäà»ØvçDáNVˆ+¦ ´$ê2:ÛC×ê´«òf<ÒAn|±Ä•Ëæp–ì¾ 4–›áÐÓœOB0•ͨTã@g÷Õ*Ë€Ta4µ@༤Q!¹‚@ák¦®`'XY®á˨Ñ:È\Úº#ÛÖïCˆ‡ßžÒ¼ç¯èü‹ôðð˜4iRG÷ÂápD¢žüjY{Û+E>>ƒfB ú÷öuå5ëýâG\ ³Ýu–ɉ/mϬWß{uœ+·“¯Ãá8::6uT,?~ü¸:êx~?èþýû›7o.**‹Å£Fj½Òœ:ýŒž>«/‹꺇çRs`ÐÄ×8uýõõõ‘‘‘Hl@uuµ­­-›ÍnW222ÆŒ£+ߺu« ý9RN¤dL·çh墥ÓçËÔ`Ûá¥ïâÍÙ6”–¤_¼­ŠžÑž–G|||AAArr2" Œ?~Ë–-¡¡¡M‚g‘žžÞÔ¡b¢ÖÖÚº¿uÐ{Wx'ž4šã`Ö*…Úq0ŒÙ¾~ëÈÈH///ä¿×Ïç'''wž?ÌŽ ¹¥ÿýKð7¹5ºÆ [/Íñà™sÚoæ…eÔ)Ï·§¬™`„€Åõ7×F^Èz kq}õÖ4ËŸvvùÛ?Ièžõ”53@ßinP“u‡ZØNMù˜a†¢ªûmÚò¼Uç’ß-¬Qª6ýóYæp¯8?—ÑÏׯ YYYmUó(((P(þþþÝœ0Déý¼ÒÞÏÇ“n†i˜““ãííÍçó;Ö¿RyíÃçÎì³4Óœµ~ÚÆþ³ªfz}z¼åF¼ žÿaáþ\U2{ÚCÕs„T¦eµù„u÷ö¿¶~9‚´OKqñ‡' JZ9åÓ_-Ú^9vµŽÒ>v‚e×ÌyÕ±6Ÿ03ö#Yà룇Q\ùøŒû"Ç3Ê—î-—êÊ©†ÇŸ*è˜nÌÖAÕÙ[1}|$a{¶\¦n¤òî ešö’±–£ƒ];šx"ï©ÒrPuÎ*Ó{Êàô¯ÖৃHB±"⟆{´áç™n\&oØ0 ‰e=ì V|ÄAOç‘Óú@IR¡™ãk,Ý¡³Wzt­½â2>Ìèo``ey_o^â;õ#–}äJó6GÛ†ªë»G.N0T™Öþ¿ì›Ýaf‘öJiêùÎÑj“åZÅo3€e=4jJø„°ðo,Ú°eÏ¥œRK[j¶Á^¹²g¥;—Ç>:ïý¿ûÚl¼Õ%ãOY5Âôn¾²áfÇÅ$˜å‹«¸›S®¤‚ìú{=o¤D\PXÖðâ_Ø<{O/O¾U[vˆpe}­”prìÓõ¾8—Ëä8Э¸V Ͻë94 £K’d‘â‚ü2}ÞTÿVÛ_“è(_œF–ÇÔ¿Jȱ Sèín¹8cNssja»&!§ÇÄ:•ý:×Ú5®…?®¸Ñ’{¶±¨ypMÍ[ÀÆà×k‰Ž“+mžæ~¢!(™¼}/‡ ¨¾4zðÄ“·ª ?³v»Šá¾Z6Ú…¨¯(yXf2ý¿põÓеß[Ü:h›7eÍü剮åÎö 蕨«VeÏÇÛÔƒXp<Ú¸ÀãQý¹zÕ¾?Âùï—Ë-ÇokŠ5^¶ã=èÂu\cñù¨aÔ;Yt¶ë«Cì`ñÁ|˲WXz¿þº‘”%[•V‹v¿¦«ò<£@«,ºl’apÀ‰£l©§P#¿—Tõ':–뤬=¿«Tµ+Æ»ë4à½É3“o—ég²*ðð{Y ­WX–èÄ;JŸWâ°¨/•i’cÉ£Óàðc“ÏvѬvÌzÉPK•(›éÂÂc„»6:ømÆcvÕ2âg]«SÎ[³û´X*y(ÌË»{ÿT|P‡XEÍ“H$ÍuzÝnˆIRSY+ac¶á®VvºH¼Â¢Ë{ö™jŤ»Ï¡F×ç¢A@…ø7ÔI$¬)§ð»câÞ8tÝIÙhʨæGÕZh4‚ ÚtN|õ—÷Æ'Nißñ´ ›¾£5Œ=¶)v È$æR’$)•J›º¢æ|qÍçÀUO.§?ß±ÜXt 4Õ—¯Üáy RUÞ¸š×¨fò|Ç…•ˆV!JˤÌB'x7‘bCòè¦Pî>Ú¿/%RS[2ª?› M}­¤Q*×$ɶ±s()¸'•J›|Ó®9ù_xåzùØ £™X¥`%ñÔKTh³sȸ¡í!ÞÒÒÒüüüš|+Û ?þšƒm¿ch:ëcã¾ÊPÍþppì&šþ­<“2h0šU©êó J„ûlø!L²šiÛâêÊ}b=¸ÏO¨µ£—›g[lÛâ3Û6l»Þ•Û¸Â*k~ÞÓNxïЬý QB°x†[NàÒMAýê¦òÖlÀ0Ìô®_Œî¯;¿ƒßΦΜä²õ˜À0*@4q«¦@V–îmÓÔÃDgÛuӸɹNTÒ‰A ²t®¸l†3ÍÿÆÄåüTŠSd‘éCã Nk\]5XïbY{£²bÔÙ!}šOÎ@ë¦\w‡r÷\«´h®$Y›ÿµ.Áäøµ‰/ªBÛhEÇ`Œþãè©›‚);âƒÎ‰‹;0ųy%Mgõí®Ù„fG4å2¦1íc–þíØO¿Õk å I’™[Ã)k|ê»YbùsGg;qÀ#ì¼²æîÖ¿RÁœ>#Ò%ÊNà ®®´ú³— ¢> »/Ցͱ.†Îþ ‹ùüT±år…$ñĵSõϨó‚uŸe—·I8“+0ì•ûL};»¦¥Dix²]ðZn¯hiÍ®S\F­Sdw®ª=¸/n47º¹¸B’$)ºðŸˆ@ÊÙŒa´~¾AS£^šæÓǸWâ±/ùN'ÏãžIîMÅ-ô­%JøÞÖX§œœœ¥K—ªÕj­V›˜˜ØÚz…èfÚÕk9yÂâ'å5uõJ¥† µj ƒ—}uô­àÎ"´µ·mN8÷»’0îQ3yî¯Ç¾½fñ6úˆŸ šÏëôÇßJJJºråJ»t¯–ÞJHÊÇ èY]ö‰tB-­¨¨j+ÆäñíÝ\è+F/ ¦¦ÆÆÆ†Åbµ‚+íEÍ÷\ÇYàžò8%Ýî‹Á,^ ®Ðø(M7âJ³Þ v?{& Ô ×Ðt÷v®”ežX>úØ1c£Çÿ/û òX ‘ßCÓݽaæ*«Nô%Çä[—4:÷ƒ OžûÍ270­ýТ´[Ã\¹’½þ %a´Ž \¾#fzã³_î¾Þ –Íôdöj$-‘½°HÎÞW!5TqeAžL,›‘hº{5WúNùƒHXA ¿Òƒ}Ñt÷j® Z¾à¹+‡°wÝoßÞz^W˜¸J€¦»WÛ¶$I®èO½üaô!cç^,1æÝ×Èr½8 °ñœ¯"uؽÑ\©{xÀ†N×1ëRoàF¢—ãX9y¼Ü‡©È¾’^*Ó`ýcÂ=ó#Žt…òÌ#áCžÏvÁäöÿðd.z"‘\y‘wÚ¬_ΜKMWbÖŽþÁãæ/Šñ²f ²g Ã÷™Кq¡ üž‹ÑÓa1±IEND®B`‚nted-1.10.18/doc/docimages/ins_block2.png0000664001041000007640000001047411520267216014777 00000000000000‰PNG  IHDR`6v£ÔE pHYs ‰ ‰7ÉË­tIME×  .#ìÒ£gÛIDATxÚíy\TUÇï½sgÙ\° 5ÅT B÷-QßÔÌÔr}Ss)_—>åûН[Y)¶ˆ•¢©â‚€ÈkŠFH²„Ã20ì²ê0Ë}æ®ï(ŒÌ˜ÜDÏ÷ÃÌ9gÎs6~÷<Ï=÷3 €50€@ €@ @ ›QU”ùþÚuW³Åà©/€¦é{÷î¸O}ñSgüö›ÙÓ¦¦dƒõxÆÑh4ëÖ­Ñ óŸ«%wõ³ß˜Ç×ßÛðÑ.A%x–aÃ0 AšÊ´ÓiEomØ~êÔ©eïŒ)ÿ=þŽÎ–àéF¯×oÞ¼Y­V? ýKqó"’ÛkÛ‡«¸hÏþãÚXi$Á<ÝP%‘HH’Ñ·åÒ3föö€ Çï!¨ë0, @÷ÇñØØØ§ÉGø;‚$äÏ{9!0 AtÑÕd¿Q3„Ž`LÝZ ’““µZ-ŠfP;yAˆÅb‚ œœœ¬hRà8¦(.Wg_:óÎÛ×——–ÀOXiš†a†Ÿˆvݽ{×ÓÓ“Ëå>!¤(ŠÃá<#3Ò‘ÎêõzµZ]VVf'Ä Óé4D"quuµÌÕh4:N,w‹¹`†aAE ¤Ré”)SfÍšµxñb«8¤ƒB‡‰snükÃÜû¿üú¤á ¹ÜVmµ%¹ÕM¦ððQ,AJJÊ Aƒúõë÷$ÄÎ;W®\Ù§OŸ6éÉÉÉC† ñóóc³1æüùó¶&·ëHKKóöö2d›FµZíÙ³g—,Yb¿˜Á`Àq\©T¢(jGD‚P*•VÃZ­– ¹í?[ê»bÅ –碪ªJ,GDD<Š@Ð4-—Ë{öìnýË%¹ 'b¾–y±_ÇL›8ÜÖEÔÉöo]ýBØk¶ªê:D"ѰaƒƒÙ1W[[ëííÍçó­æ …ÂKµÊËË6lX`` ›##—˯_¿ÎþŒTVVúùù±lW¡P\½zµ]£Z­V(†††öíÛ׎°zxx„……yxxXæbæææÖÙÞ‘$yîÜ9öçÂÙÙY¥RÙ±û—bÜë¯]LÌ,Y¹ç­ñv¶Œq'O%f•? ¯ØŠŠª©©¾+àéà/CL¸Š‰‘³Þݾy9±©Å7/’ÞA<þSrƒƒ š¦måªÕêgäàYm·DAAÁ±cÇ,ÓËDé¾9E3Œ¯ïó ¿œ´õu\Ót%£`⤱IŠÅb«Uu)YYY …¢  àqU˜žž>`À€Þ½{[Í­®®NHHÈÊʲ•{îÜ9///ËFªT*‘HIJ[^XXÈþŒdddH$’êêj6êtº¢¢¢v;k2™îܹïîîn«ŒÑh¬««;}ú´@ °¡hlllc“5æˆU_à<,0¸·§«¥;_RRÂþ\ÔÔÔH$—GˆÁƒÏŸ?¿íÚ’VNܶYÏ8ÌÑgøüùm}ýЧïOžùú@A\\\Fžúœ›C T*_yå•   ÇUaNNNhhè¨QÖ£­‰‰‰Ó¦Mó÷÷·š›””ñ /´I—Édááá,Ç ***,'—…-˜¯¯/Ëþ¶R©,--m·³:.55uæÌ™>>>vb ³g϶*"†ÅÇÇ·bqö•ÕŸmÏ-®¢†‘Ò:=é°e "''‡ý¹‰DÀŽÝöEQ‡6§˜½{¶ÔÊf­þw¨÷ÝRé<‡[¾Êô7W(釪²¨­‹÷H(Êçó;hôÆ0 3Æ~…<ÏV…ÇŽ9A¬ær¹\;uvÖ&·Ëù[:Ëçó;ÒY’$mÍ‘¹ÀYe½V¥Pªq B¤%K¯’myom¶¸î\Ðò&©eå$Ir8öç‚Ïçs¹\;vÑG¨´&/uÿ‘KïAŸmÛ$O9zäL!I1<ŽõÄÀWJ#*(wttäóùvBO‰¤]ÚúÑÕ™c‡‹ka| c¢RëU7ŠëZEÙÅ{˶­OU B*•æçç›§|¿of"gGÌ1H«(wãÝ›iëß{ÏÝ»÷è1cûöô°T†RgeíØEÓПy·eMîlö°¡¡¡¬¬ÌÎmmsêêêiÓ_Kw ¢¢Â–Û†aXii)AVsU*UII‰åA½æFÚ9¯Ò`ÖÔÔd¿³]Amm-MÓvœü®@­Vw¤³ƒA¥R+ Ë\š¦(Š6ŒjµZ,ß_ •püàÎèXyÿ&Ð˻ņaî®z#NR´£³çŠu›Â¸[6ƒ¢(™LÆþ\”••Õ××Û±ÛþŸ A:®u/d¬;Ÿáà9ð½w^«,ºùч{u*ÅÑãµ$núl720hÜç»· {´¹aÁ6,àÜ÷_4QÎÁÁAæµ±€Éd2 4Šã8 Ãö a§B’$õz}gs;ÕÈÇEó–þ]Õété¬Á`°:G¸AuöÄ'â/’ƒò\ÜÜu:]óÁG™´fÇþX‚~p F†OYØòu½^ß×·_tôŠbPEب×Y]$I²?z½Çq;vÛŸ‘#G¶^ëÒŽ5wÑ’ £ƒfz×ÉoDºøÀØÆ]Qÿ-̽véæ¼¯·­â<|¶Nœq&1uîâUæU±Cnnn@@@JÀ0l¿‘qqqC‡µUF(<Øj®§§gpp°åA©ìì쀀öJ]»vý)--õóócÙ®B¡¸r劣4M*å •Öàæî1bÄóƒRa<ðéúï:k¼¿G0ö8†„„4”RËý^}É÷Fa5A”:ñõßoë×Û½e]]]Go7öqæÌöçÂÑÑQ­VÛ±ÛéDƒchfÆ‚·±üK9ú^Y)ç¿‹œ€£ºËÖ †LXtôÀQ›—z Zä^ùsrN£–‚ Î”Â59KWîÒhÚ®¯úæÇÏ{¿7ãêW{ö_3Oq{iøžÛ}x]xžŸ2Õ~òÉÖ•yâäM‘ï ëZMý´é“8ó§>}·uÐß } µ3tUÉŸ_íûò÷œ# é&…Öd~ŽRz·fwtìu€`˜ôÚÛÎÎÎÍ]<{HL¹|ùJ}“úÅ—†Ož4^è*`a0 ½>ù×óÄþsî_¶€ÕDœy0ŒF ï©J‘™ÚÇCÐÓoâÉ’2‚fü_73hÓÏ·ÊSêç¶ sæ§&¼þǧµEÒÔËÉ 7Oœ²¼“‚ ¨±îvRR’yJOLÿ)ÕµgUJ›™qåF¦Ô<Ñû­.‚@)—´é¬ËÿHú±T~§(sî?æåU6>px¢¼¢ÿþ­—Y¾ã ßÞò’Úæ=BÈ„Y_ïŠ4{âöñó_±ÚŸíÀÐ…¢´¤¤2ó´`ÿ—ÙRæååÅÄÄ´:Š;\óEô!/º¡(ãC‡5”VŠ/þîŠ"j‚àßN“¹Þônmyiz4“@D~~¾yUí_¯ð{¯Žžˆ­ƒºKçbÒ:q¥ÍÈhllÌÎÎîHáôôt†í”lvCP-**²š[QQ׫W¯Ö}QWYQit0‚Šò Nýü³—PhÙȦ¦¦[·nub+Wß:uªy ßÓ+ñè=8½O¤ÕjE"Q§f„¡4}ý¦º˜ZCÅ·cb:ñšÖÌÌL¡PXRRÒ hÒ´é,*p¾ñÓhGúz½ÞFg™Ô3Ç[Ô‚ «H”«W7š—7s¶CŸœ ®ž£ÃÃ~½÷k‡c í2MÓ………š ˆ¡hnÀÔ©¹«nF¬S•ÔÖÖ–——óx<;›ÔÔÔp8œÈÈÈ6é+_ \ûߣ4MÇ{À„ãêÊ ŽŽÎµjÃPËÆú:÷yY­7µÞ·fùž}_FGGóùüñãÇß̪bØåàÁƒ¹¹¹,søðaûe6lØžžn+÷Í7ß‹Å-Õ²š Kç8;ÜŸ¾“«¸Xbù­äåå±<22™lË–- ëÄÆÆ^¿~e£r¹|Ó¦MÖr¨Ã;·8ò𝔰›Wß]1ñôcäqãÆµ[Œ ˆõë׳?yyyÑÑÑv <Š ·u×á³þ8`þÊ5Š>7Æ&R‹å¡Æ[goIWïÚ-ph¤MßüØüKdddPPÐÈ¿§o·u’¢ü¼|1·‡§Ó˜ËïÈMkÙøS €ÿEòd,Ù¸ÍÇ?03·ïâ5~Ò”Q#†À`T9A_à„˜¨ÕkÖ-¾ñú¢ÕËõòpvá·~ÍçJñÜ5G®×æ(…×äBPPR©ÌÌ®~Ê4B«¨Û¶eç5F‚ å™9‰Æ¤? [Ôæpg/ÿ—ï“ñf @ <‡Óç,œ>ŒD'†a>Ÿ/—Ë-ým߈ý;=Î^H\ºà,M3ujÕP±{û®q¡CêÊ$uU…‡ ×ì”ÙòÞ»©TZYYië mû††­¶ahG’¢aD!—WUU=8çÃß»5úDR‹ 0Y^^ÞÅxkÖ¤Š;õj½Aùc_{cÍ¢iÕeŶiù¦©.Ã0¥RÉòt@ÔØØhk»•J…aûÅ0¬ù91ûÅH’T©Tì7¯²²R*•Ú± ÛyGƒÑhLKK#IÒÑÑѾ™“Ç÷Å]1œ9Éã>qûçæÓõ<¤˜œœ ÃðôéÓÛDƒ œtÞ÷ǽå* á\@<#?0t(A mZ¿z•¤ª¾e0cþª5‹g¢œVsEâ&œÃåñ¸èciäc‹‚3 I’,«AEÁ0üŒtV­VGEEíÛ·¯Ý’A°ß<š¦iš¶wÎøÑb:µòÞ=)NPÍ÷ïÝÁè &¦»BëuZ•Jõõ7ßZ R¦œ`<jþ! øîï¿·d&ù¿¿¯§§gï¾~«¶ìlRë “AÊ'–G‰A˜¥sþ±°¨F1÷Ý÷}¼ EàçâÔ=_eÐ*N=|æbªL¥×‰wW­|XA èã¼5ôÈyi”›ß‹-g,Û8áeõwenžÞBWß<ëAʆÔ+×nþIÐLô¿7._ûN€»à޶‰ÓÆ9Ý«óAF冥 ~¼F=8K;OL’äC›.¡„ÀÍ@0 õõ%ßç¡£œNÎî/:»ƒÅA$ ÄC9N \½{ Ñ¥7ú¿:áv3HIIɺ–›Ðª0‚jpòòåË“'O¾ׄ¹Ðñ_ S§ Òè¹þÐó A¾`Ý:‚ nnnݸæ™|0<ßõ¹˜¸Ë ¥òfÊq7g÷³×󻣋õÛÅ‚û78P.êÂ0­x΀ÇÜ¢iÇ»oûáG{Ó´QYÿÁªe¿\É =Õ˜nÃîï>Z1 »¡Î×’Ï]L½n Ð°1“çÏžæÄç‚ëpOý^Eϔݮ¬—½8dx?ðx%ïÏÌ9Ÿ×¼Ï9ŸsÞG¥( ½ÆFVþ#B“ù59V 5‰k̤g¥T¡™è56Rù59V¥òyøoʘIÏ’™_!¥"ÍDîé#äM©ô`e%R*‚ÐÌØØžçkdÎÏÏÇ`0àééY§á–’ÒZœ«—. ¿RÐð¿×N^ÍnǶÀÊKkÿ"W¯2nÜ8JKKÙ»w/íÚµ«5]ö¡©T”¡¿R@ÿ~w4øÜ£ÇŽsppéØlvj*U­†öîÝËôéÓ9zô( <UmçÔaOšŠþJ!ýûõkÔ¹ýûõãè±ã8¸vj6;µ L¥R×ü…¨¨Àh4púôixàRRRðôô¤¬¬ÌB`¦ÿMÃþÖì B³¢R7í>3ß\vâÁvîÜÉþýûyüñÇÈËËcõêÕ(ŠBNNçγÈèÐ!<<<ðöö&Ü}©TMºÏLç7—y°ÒÒRºtéÂðáÃÈÍÍåƒ>`ß¾}tèÐÁ"onn.kÖ¬aΜ9 6¬ÒÞkýPûýÎjúˆ—È#4Ús¼7k€Íì¡k®·3Ù©z޵´F{0•JÅ/¿üÂ×_MEEsæÌá‘Gá‡~¨Ñ4|÷Ýw)**b÷îÝ\¹r嚢kñï)HÛÏÑĹ•mÙ‰o˜éúŽ›G¨‡ç¨G}Éúi7·]í|U­vÞ›5€Ð·ñÞÌ~uÚiS___î»ï>–,YBXXÅÅÅÜsÏ=hµZ‹¼Ã† ã…^`È!Œ9•J…ê›Ãu~a×ξï;ùVz¿ý/ ·HùÏCì{þúcƒ ƒÂ© %¬ú2‹Ô¬ËÇŠK ¬ÿú,Û^dü8pWgÜ;8¢VY·™WÊÒí¿’ñÛUº¹9ñÌØž êـԬ˼úŸLr ËlÚëÜÑ‘¹c{2Ô»5üxæ2¯þç ¿]*%´œÂ¬´=8;¶FÚWoEZŒ\?_mÕÎäuÇÙV9ªXU\&ÛVí4ÔƒöEþŒÌ‹ìX9…°û»ôe*3‚Á¨ðHÔ&²sòÓ”ËJ…­Ø†Z¥bíü'˜?Ú“©ëñâ}é×­áq_b,¿ÊÚgÿ‹íÌÌ÷2˜ù`w«öÞZÆ€îí˜û%…ùylY:çé̜ē¨œE 7؃õ:Öf³²¾lr|:gÔWuÛö`½{÷& €Ñ£G“——ÇäÉ“™5k>ú(‹-²xàüì³ÏÂСCQ©T¼ôý‘ÆÚ5v}O_Ú߯ƒ:ñÇ™atѹ¢¹æ:zxtäòÙ4àAs~'^´sväêù_øêX>£º³|æC(gþïd!›öe›¯qàX6í»ô w÷Û¸rö8]FðíÇiçUiî\É<ÊWiw0º¿®†½¾]\x;òzÓa`/Oг>ÁÍw˜ úÜ@VÃÃØJ¯Åƒ¼;Ý¿†œ²>ÃÆç¨Óƒ©­z°'NPXXH·nÝP…]»váææÆ¾}ûpwwàøñã”””pøða._¾|Í€G£;®& FmûÛÐ8º2çá^8iÕ¿ø!Žj#›_ü#*+Jkä¿þ#a`éÖ4V¼—Éïz»3ëa|½\IH¾ÞIÞ·í»öàdv†²Òs®Ð¯{ûkÇ|*¿ãé èË®òÒGi¬x÷t {Çs®2°G;"ÿõ_ýø Cåã `(/AãÜ^q#û`õH·ਖÿÝi½-<—©‰ùît¦l8YïÏ¡µ¥xEQèÓ§cÇŽ%''ƒÁ€¯¯/IIIŒ1‚àà`sÞ .PRRBçÎyàP©T,ýþçÆyV}¨µŽlüæ t㣥O×~~µ÷ß.­01* gó®ðFÒ×”äž6_ðde,÷*‹â¿@ãäÂ’Òø{PgV=óT*N°ø­ÿ qrå›%÷÷Ô°÷â¶“Ìú}{^ž1šŽí®7 ïY¼E1ÔþP^h¶QĪý­ºZH•ç«j45 §&üÂ;©38sðs|†«iÇÚõL³éÓÎYx=¨”ƒÒ·o_Ôj5§NâÈ‘#9r„E‹™(”——³{÷núô郟Ÿ*•ŠEÿç^ïrÊMýÂ<ÈápÍYK+úõW/¡ô5G.ýrÐ"ÕóMÇ@…J«Åå¶ÛùþõÿWcôR­qĵKo´.(¿œGÙ¥óK¯€ 4.¸xõBãÜžÂÿWÞCwô%—(¿t}ÉeãõÏèqçC PrñŒÕéM§|jóŸßýÁüÿÑcÇqñô®ÓNÕs¬¥™ìTåêù“–³é«+pÈ! 2•JÅ¿ÿýo233Y¶lS§NåÞ{ï­áuFeñ^õÝñz”kg_ÚÝfñ9¬¥¹töéì*j­c —\=Õ÷Uÿ¯”P[½4ýÂi]Ú£qn‡ÆÉTÔj  B­Ñ¢qî`ÕžÖ¹®Ñ8:ƒÐ: ºæO+.çãØÁ]qƒù$={ö´Þ”«~<Ÿh×5 ^iŽíÝ¡½õÕ±£§Íó«xàÕ4.þÍ<*ÀYףޟׄ“[w¹ñoà G“®‰«Ùì4¤V•^x˜˜6nÜÈâÅ‹­Š«j“±.{­k^R°œ:zrôx1 þçcÇqêè‰J¥j6;µöÁ2ÎËòÁþЗS^œÛàó;x uéÐìvL\>{¬zLf¿ ö‡ƒk'›KEn†Û}°k4FÅ‚ \÷h6V^œËŽ¿H) B#y,.ÝBdÒ.„D&"0A¸E¦Óéÿõ×_ÇËË«Á6A|8ß}÷Ë—/§wïÞ¶¡U ÌÍÍôôtÖ­[Ç¢E‹ÌéäååÏ‚ ,Î15 ­5«3ý?gÎBCC9sæ ¡¡¡„‡‡×zýÙ³g3uêT²²²ˆ‰‰!""€ØØX/^LNNŽÕk BKbž‹xâB¹Åƒæêh„ ¢ÓéÈËËC­V›=JAAk×®eõêÕäää`4Q©Täçç›WÍ[Ý“Xðôô$++ ggg®^½Š··7/^´y}OOOôúëk°L×ÿè£xûí·ÉÈÈ`æÌ™¬X±ÂÂë BS1i®?h.ÎþÙr.¢­M˜ æ›»*K–,!))‰ßÿþ÷ìÙ³‡Z?TuoâààÀùóçéܹ3}úô!))‰ &˜˜H@@@­×8p 3fÌàñÇÇÅÅÅœLpp0GŽaôèÑ<÷ÜsßKšB]?ÖÚº TVmDFF2eÊ‹æ\}™2e ƒ¦´´”‚‚V­ZEDDQQQøûûóæ›oÖz~||<óæÍcîܹ”••YxFwwwæÍ›× ï$-ÚD¬êúA¨IuTo"ÊLAhAD`‚ЂÔÙ«>šhïŒ;Vj]h=ê´E‘>¥Ð:›ˆŠ¢´ªWC?“ÐüTŸs«þm²k­ˆ7º¹âª>;çVü[WªÁ›õúgVÓ×>3î¦WzQQùË_HHH cÇŽ¢‚:1@¦U–cRRRó4[;ƒI“&±{÷n&Mš„Á`%5S“¿¹DÚÖ¨ÏL›XTT{÷î`ïÞ½DEE‰ŠnòÍÕZ½qsÙh±>˜[{gf<ˆwg7Μ/$~Ç¡›^Я½ö¯½öšÜù7¡f±ß£>}°Fy°àûûq";Ÿ¹oþ‡Ùù?2j"¶sv ¸¤rsïË%å¸:;Ü”JnȲ“¶ò°ÜžBŸ·±uïÑ›^áóæÍ3·«u:yq¥Ðòìå—_&,,Œ€€ŠŠŠ,òèt:žxâ s}ÄÇdzeËzõêe3Qcγu|õêÕ$&&ÒµkWsšiqou«V­">>žž={²qãFV¯^Ýäfr .ßÿ}BBBÌ[ËL•Jeñ O>ù${÷îå¾ûîcÛ¶mh4‹J“ɾ–eÑØ²®—£)¬E›_p©ÑhØ´iAAAlÚ´ÉB\ÂëƒÉ@O34[+;vä£>’yˆõôJõ}5öæ’™F Ó·†I½BËÿòÖçæºÕEÖ"³é[òùæÞ\&‘ÝÊëzVoµ¶Á†þzJ“¦åê@Öƒ5Q`²"XG­3͹’PÓ‚ÐÌ“ð҂Ђ“²‚Ðt$ð¨ Ø«ÀnærnAVAÉ𺠡yf/˹Á.fmÏc[û#›°u<<<œΞ=k±?sÕÿM4tÏfAh 4xæê{?÷Üs6÷G®kÿdOOO233-¶|­>‰´ªúîÙ¬(Šx2á†Ñ¬{4[ÛóØÖþÈ&l7-箤ú^Í&²gsaa¡<(n;G³µ=mílÂÖñÕ«W3gΞ{î9E¡   Æ^Í&ºg³<(Z ^®bmØÜÏÏíÛ·ÛÌkëø AƒÌa±L¬X±‚+VÔ°È·ß~[çç‘a}Á®9A ‚LD`‚ ˆÀA&·õ¦oŽ}}AV ·,ÒD´dá¥pË ì¥—^bÏž=-òAMÍͦlXmk7Ahõ[±biiiôïß¿U~QkK`Á.¶fÍ~ýõW6oÞŒ§gýökþþûï ¤[·n,]º´ÆËêMC[ 2«¾ïׯŸy™N§#::///©eÁ¾–˜˜HVV`í򵀮Æ6ÈFdd$ýë_9uê=zôhP3±º7*(( //øøx,X`N2d999RË‚} ,!!ðÌ3ÏCtt4ŽŽŽ ²‘‘‘AHH...üéO²š§ê~¿¶X»v- ÀÓÓ“Ç{ŒÌÌLó±àà`Ù'L°?¥¤¤ššÊÑ£GIII!88¸Á6üýýIJJ¢´´”Í›7›Ómí÷k¢úþºK–,aÕªUœ={–¤¤$‹G Z­VjX°Ï>˜··7;wîäù矯×îÕ‰eõêÕøúúrâÄ ³´µß¯‰êûëFFF2eÊøé§Ÿl^¯¶>œ ´uîÑlZÜRûú–——³nÝ:¶oßή]»¤F»¢ºN“£¥Ñét¨T*üüüxë­·¤¶„6GƒÖÜÓŸä¹” 1ÂäA&"0A ‚ ˜ ˆÀAh*ôFZƒÀ@‚ÞB›m"Êìwá–Xkz³}ûvî¾ûn¼¼¼9rd‹}NAhµö 7Ÿ|ò ï¼óYYY̘1ƒéÓ§Kí ö!0{zóÎ;ïpÇwàääă>ˆ«««Ô¾Ð:fÏAo.\¸@hh(Ë—/—ÚZ§Àì5èÍ¡C‡=z4³gÏæ‘G‘ÚZ§Àì1èÍÆ á7Þ`üøñRóBëîƒÙ[Л¿ÿýï\¼x‘§žzJ‚Þ7 z#M@‚ÞÂMD‚ÞBk˜ˆAnà ‡ "0A ‚L˜ ˆÀA&BS‘ 7‚ÐôFÚtQfÀ ·´Àšô¦.I“S¸eÖÚƒÞ‚Ý ¬1Ao–/_Nï޽͋m·©¸¦júÊ•+ñööÆÏÏ÷ß°H§úµ¡U ¬9‚ÞÄÆÆ²xñbrrr,‚ØThc-p €››ééé¬[·ŽE‹¶éT¿– ´j5GЛ¸¸86mÚD@@Ë–-³™¯zàÓ¦MÃÙÙ™   rssÛtê{-AhkŽ 7ÁÁÁ|ùå—ìØ±ƒ¸¸8 f@° \cñÁÕ5?º­@:Ö®%7‚F‡ 0½yíµ×ôÆÔrwwgÞ¼yÀõ€6¥¥¥jÊÅÆÆ2kÖ,žþyBCCÍ^ÕÚµ¡U @£ÑÕ¨s­ hÅŠ¬X±Âfžªý4kéÇçСCæ@:´y-AhõkH ÁnfÓŸÄ[ v)0¹q¡áÈrA ‚L˜ ˆÀA&‚LnôFZƒÀ@‚Þ‚Ý7eű ³ASƒÞH³RÙ@‚ÞB ¬1Aot:K—.¥[·n 6ŒƒÖh"š‚Ôôë×äädsšµ€7‡fĈxzz2bÄRSS¥vûXs½èÑ£§N",,ŒÈÈH«Íż¼<âããY°`9ÝZÀ›9sæÊ™3g %<<\jW°O5GЀ?ÿùϸ¸¸0iÒ$222,Ž­]»–àééÉc=Fff¦ù˜­€7¡¡¡¸ºº2qâDÒÓÓ¥vûXs½,Ôøûû[[²d «V­âìÙ³$%%Y<"°ð¦OŸ>$%%QRRBbb"R»ÂM禽ÈÌÌÄ××—nݺ±víZ‹c‘‘‘L™2 ^ͽU«VATTþþþ¼ùæ›R»ÂMGåóðß”1“žåÄ…rÊ‹sÙñ·Ê_þääd&L˜@aa¡yp¡¡škr×ét2$/Ø=ÕuòX\:Ž<(Îþ™Ü£)2QZM±9§?‰÷D`"AhÒD˜ ˆÀA ‚LD`‚ ˆÀá¦!Ao¡5 `ækŸÖ;ïÛóþ ¥+Hñf]X‚Û"°ò?wûã»»”ª 4·ÀÆ ïM—ÛÚ““[,¥*Í)°ûùàÑÉ• ; ¸¤¼ÞçY zcj>Vv³|ùrz÷îm>f+Mì^`wÝÑ]|º¸qß o>øêçÛ±ôÆZ°›ØØX/^LNNŽytÒZ𠨽Àîp;/N~€§ïïÏØßõá¿?‰Þ`l°kAol»‰‹‹cÓ¦M°lÙ2›i‚`÷{ãÃÿòÒ{{èêѾ==ø!#§Q·ôÆV°›àà`¾üòKvìØA\\œÍ4AhM4:èM~Q «·}ÇCÃüå½ÀzÐ[ÁnL},wwwæÍ›g3MÚ„ÀŒŠÂߟlÔ¹¦>Ó‹/¾h‘¾páB.\h~m‘ßš AhSMDAZÀƒÉô'Ah!IsL¤‰("0A ‚ ˜ ˆÀA ‚!Ao¡5 hð|‚ MÄV‚¬HD`uðÒK/±gÏ)UAhn­X±‚´´4ú÷ï/¥*Í)°5kÖð믿²yóf<==ëuÎÁƒ6lݺucéÒ¥MÅèèh¼¼¼¬6Mïu:¯¾ú*>>>øûû³mÛ6bbbèÕ«¾¾¾|ðÁR»‚} ,11‘¬¬,8ÀÚµk‰mÈÈHfϞͩS§èÚµ«Å±!C†“Sw‚N:‘––Æ[o½Å¬Y³pwwçøñãÄÇÇó /Hí ö)°„„ À3Ï|8ß}÷Ü ÍÄž={`Ó¦M6˹j“}åÊ•x{{ãççÇûï¿ßæê§Í,!!ùóç£Õj‰ŠŠ"!!ÁfÞÙ³g3uêT²²²ˆ‰‰!""B”Ñ lÙ²…¨¨(>üðC&MšT¯rvss#==uëÖ±hÑ¢6W?Ú¶P±eee$&&ÇÔ©SÍ¿Ž¶‚¢¦¦¦Nxx8 Ñ²š‹ˆˆþýïsçwÖ»œ§M›†Z­&((ˆÜÜÜ6W?mƒmݺ•¡C‡RPP`~²uëV«ùÈš5k8wîäçç‹:š¤¤$æÌ™ÃgŸ}Vïr¶î¼-ÕO›Øúõë ³H «˾ê`È–-[èÕ«:N†ï›‰   ¶nÝÊ‚ X»vm£Ë¹-ÕO›h"¦¤¤ÔH=z4£G® ›þúùù±}ûvQD3b*ÛrôèQsºµr®^ÕÓÛRýÈLA ‚L˜ ˆÀ¡MÐèQD™PÛºúhC“™­ ©6&0Ù+¬u!õ!}0A ‚ ˜ u r˜V˜ ‚ÐÌ›0a‚”Ž ´”ÀÄ{ Bý¨Íi{¢ Mð`cÇŽ•-q¡‰È(¢ ˆÀA&‚Ln šM/›mßxjÛ|[ê£uÕG“²Ùö¤>‹(¥>ZW}HQ¤&"0AD`‚póж¥/³moë>ý½ÑŠ‚¢€‚@P /ÏOºWj¼ %ÙÙŽ&oß>zÏŸO/+ûpKKQ98 Òh¤Àneé FÖl?ÄËaA´sv ¨ÐÁ¨@ÑU=1 ÿU!3!ŒüƒcÇ2ô™gØýÆx=ú(íüüÌyr>þ˜ÔY³põöfø'Ÿàܵ«Ü­ÔDü%§£±ÒC)JåßNíœùæH{S³øêp_üM;g®cEG££=>ÞƒáÜ®wŽCÚÂ…æ<—328>>c¢£¹ãî»ùï¨Q\ùå)¼[E`{ÊdÎë;Q«+cªT*PŒ T¡\¯PaP¨Ð+”–W –Ø×+ÝÁ×îÝ)-(€âb”¢"zÜ{/WŽ¥ðàA W®phüx~‚s»vô:”Á=Ä'Jáµu) lØq˜·?ýÒrÃõ/¢R¡\˜Þ#è* F(¼T,5]€þ“Ÿvì€ÎQÊËQ]ºÄàqã8EêŒô<__”âb”²2prBce;^¡ ¬¤LÏÂu_qät>ÏLzÈò  À¨TŠªÜÅWJQÊ‹éïã!5].ÿó?èµZrGå₱¨¯Q—•Áùóô5 ão¿¢põòe~ؾAµl,o [;S¶ÄŽ•­uL»عÜbf¬üœ:òè]89TŽÏ<¹‰#7ô÷Dæ¾ñ);÷þÄÞ©xº‰ …‡›K {ååå<ûì³x{{ãííͼyó(//·Zaiii’ÐÀ¬µsÇÊ•þôSpwƒcv6#ÿòî E9u å :ûÖ¯çÎuëpíÕ˪]»v¡Óé$>¾ìbñPz/mÜÏØ‘C¸Ã· 'r.3ȧo.V Z G 89hpÒªqqr ½«*ä]ºŠÁ`4÷ÕL¼òÊ+dffrðàAE!<<œW^y…Å‹[öõöîeîܹÄÅÅqï½mkRw×]¸úû“sð ]zö„ÂB¨¨@)*˜“ƒö¡‡øo|<·‡…á9j”M;ñññŒ7Žõë×3vìXQ•=y°-)ÇX–ø_Æ?:‚n=8yî2F£Â±ÌK¤g_"#û'ÎròÜ%2»G2IxIDAT² ÈÈÊãØéßø-¯˜‹—I?sE©¹A–-[ˆ‰‰ÁÓÓ///^yå¶lÙb‘'))‰_|‘?þ¸Í‰ Àpå WΜAÛ¾}åsÃòrŒ99ÒÒpxðA~þôS4>>øÍkÓÆ™3gÈÎÎ&!!sçÎqúôi‹ãK—.¥[·n 6ŒƒÖš®ÓéˆŽŽÆËË €ŒŒ ÆŒƒ——Çç»ï¾ 55•ûï¿‹–ÆÊ•+ñööÆÏÏÏ´É– Ng5ÿ-%°—6îgç÷Y„üá*pàôÅ@¥V£R« *ŒJå †Á¨ 7* •šµ5ez\-”ž?ó{.\¸`‘'**ŠˆˆzöìÙö~Z…Ó'Ó³<}|0fg£bù„… ²uëÖ6§¯ô—^B{é£FaLM…’ppµE¯ÇµS' —/S‘ŸoÓFYY‰‰‰L:NÇÔ©SILL¤¬¬ÌœçÏþ3...Lš4‰ŒŒŒ:ÓƒƒƒÑ\›5’ššJxx8]ºtáé§ŸæäÉ“•Ÿ==É“'ãTmTsÚ´i8;;Dnnn­6lå¿¥öi÷óÐÐî¼ÿéÐÓÓÝ•Ë%²óJ¹tEOi¹½*/½¡ÒƒŒF´j:µsaó?ñàP ÛãÇgáÂ…\¼x‘‹/²`ÁþøÇ?Zä:t(Ÿ|ò ‹/æwÞi3âÊÙ¶Ü?fØŸþ„ñÐ!ƒÍÝwS€Ããäç£)( ß˜1¤½ð‚M;[·neèС˜_?HIII”––²yófüýýëL×j¯ 85kÖpîÜ9 È¿&ö¾}û²qãF !¨Õ5og[6lå¿åú`“Æ *ä.¶%ïã·‹yôíÑZEР.Ü?°3÷öëÌ]}½ìãÅ ?/úùxÒûv®–êI=õ¯$‹#°°»páBºwïN`` x{{³`Á‚×ïÛ·/Ÿþ9qqqüë_ÿ²{qýü3Ç££¹wút8rCNÚ!C8±k;/¦¸¸MïÞÂçÞ{)øö[ üѪ­õë×f‘Ɔ Ìï333ñõõå­·Þ"66¶Îôêƒ'[¶l¡W¯^èt:skõêÕ$&&Òµk×:‡çmÙ¸Q¨|þ›2fÒ³œ¸PNyq.;þ`3³››ÛM[A›u¡ˆùkvÐLJ{÷¦ƒ³–çã>²þ¥Tp[Gº{täéî`Ä·Û¥’““ ©5d@Cë㇠ðñò¢«·7{öàÄo§OóóþýxGDp~Ý:FΘAùÇ£<˜ó—/“vø0¿ß½û–¬«>‹KDZƒÅÙ?“{4Å~&ûÞîÕ‘ cÑú¯ù,¥'‚ø*vRǧëøkË;Fz<ôëÖá5x0?Lqa!?~þ9¿OIÁ¥G2×­ãbF·õï>5•®?NÆþý\HNÆ«Ú|må(»n^kòÚÓ‡mçìÀ«s‚xû“ذík***P•Je~©ÕêZ÷-¾•+¿çôéT\ºÄ¾5k¸säH|þ9ýßy•§'%¥¥øý󟎈à¡ùóQŠ‹Á` ³¯/‡Õ˜ˆ¨Ìh4RQQÁ`@¯×3á~_ºº9ðÖgÅV“¸4 ­V‹F£ÁÁÁá†th[;z½½^Oç™3)×h8øÞ{t]¸¥wïëåèïÆÇ‡Ìýûé

ÁΦV«-^U½T¯®1 æ&¢ÉsUÍWÕ£ÝÊh4³€L/“PLed.G__vïF{íGJs­% ÕjE\mQ`NNN8::b4Í/½^Á`0 Ì$"“ÀL¥iX³EÁ`0`4Íeh««¾„6<ÈQÕC5žâ õ/G“wnÀ› ˆÀA&Bû`²jµu!õц¦’ÈL­ ©6&0™Óºú>˜ ˆÀA ‚L˜ ˆÀÁÞ±¦wìàÁcqéR*‚ÐH;xؘµ ‚ 4ƒ+ÎþYJCš•¢(ô)û? B3ókr¬êÿr¡tú4¸—IEND®B`‚nted-1.10.18/doc/docimages/flat_sym.png0000664001041000007640000000053011520267216014560 00000000000000‰PNG  IHDRmú sRGB®Îé pHYs ‰ ‰7ÉË­tIMEØ :°ó]PtEXtCommentCreated with GIMPWÅIDAT8Ëcüÿÿ?q€‰h@k¥[§”àWÊ÷###~/"o ¥w¯-I5ÕÓTÕÐñK_²ÿ.ŠÚÿ0ÀÀÀ á™µõØÅëOög›CdZ" +…³ÿý~µ”U.ˆÝ­ïÌ0øä°;Âøùé‚»8;¿ÁÆGŸq:àۋò<ŒŒLÖå—ÞÿüP”¾9·X—MÁ&bÍɧÿ1ŠR=3¿Y[/üÇJûVýû`’Ù Þ›únp»IEND®B`‚nted-1.10.18/doc/docimages/crescendo_handles_select.png0000664001041000007640000002122411520267216017747 00000000000000‰PNG  IHDR‡㺧ésRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ,-òvtEXtCommentCreated with GIMPW IDATxÚíyxSUÞÇ¿i¶î-Ý7(…JKi ²£U@Ae‘â+ êXÇDutT^ÐQÄ­ø:Ã"¨""”MV‘MéF.€¥-]Ó6möÜ÷K“Þ¶i³Ü´IúûÃÃù‹’8¼“™™‰ŒŒ ·LÛªU«˜˜H…ìFâÐ ÃàêÕ«ÑÈÉÉA~~>4ÝñðññARRR›žFdd¤ÓäU—/eÕ5`Ý;[û§‡pj<ÕV7¤°°ß|ó[¦íÙgŸ¥î!"‡¸¸8̘1Ãx]«Õâý÷ßÇÊ•+1wî\¨Õjäää ¸¸ƒÁbû8sæ Μ9ùÌ™o€€÷‡ÚÜm˜4vÎV«€U¯bèœW°gó“/ž;qñâE·MÛµkךšJ…ÜC‹Åˆ‰‰<òÈ#˜6mš±±ÏËËCVVrss‘œœœ6Ëf;£ºº‡ÆáÇ9×cccKl›'À“’’ •J]_ìÄðá£H¥3^;ÿÍ›H¹Vƒ+'×Á_( šç&TVVºmÚêêꨀ‰6øøø`Ĉ1bD›Æ¾¥`4ÏgÔ××[ýPríÚ5ìÙ³ÇÔx‹Dˆ‡L&ÃСCñâ‹/ºž80ú,ºã8ÂÐLÅéõ¸kÙ \øp Õ°n¦ùé§ÿþ ²ÙÎm·ÝX±bâãm:\·nnܸիWÛlC©TbéÒ¥;v,ÒÒÒl¶súôilذÁøÔèLäååA©Tº}ý …2dˆKÅ988ãÇÇøñã9ׯ^½ŠÅ‹ãÔ©SxðÁ‘››‹¼¼<«æ3t:òóó/—‡‹ëgb{‰ÂøÙC䡾Ú[sáÙëÀþUµøS „ãÑjµ¸|ù2geFvv¶qÜô›o¾ÁìÙ³m¶ß<©vß}÷Ù5³k×.ÔÕÕá‰'ž°ëIéÒ¥HJJ²Ëޝ¯/6lØ`—h:ЇzÙÙÙn_o —ËÝ"-}ûöETT¤R)6mÚdlì›ÿ—999ÈÍÍEVVŠŠŠ:Ïðóóã=ŽŽƒ ½rÒÔpܽ GxÅ[7ìQ(ô0z%V¼“ßÿ1œZn>{l·V\äææ…À’'Ož´Kˆ®E­V÷ˆtêõz·NŸH$BRR’’’0wî\ãõ¦¦&äååÿ¿Í¯ÒÒRN¯ßåÄ¡öòßñK=[y½Ãfàôþ"F"/Ćq¯`ÞÁ@ÑÆ­‰ƒÍTUU!++‹—µÚ?þø#Ö®]K™ê"\¿~½G¤Ó  +àííáÇcøpnûXSSƒììlL:QQQ®'ßßm|ÿçï?g…ácV n‰ƒ²z€wéŸÞ …¸*¢¥ðåå °“k„ë •J!””ÄëSúï¿ÿŽÐÐPôéÓÇf;555(..FBB|}}m¶SPPÐcÅÁAAA;v,$ zõêåzâ°oß ¶Á _€wGs7¬ò¿- À~¶2ªË¨´[ Õj‘ŸŸowlƒ,..~‹Íûà 4Èè„Ó»woôîÝ“'O¦p!šï³gÏòf³®®˜={v§c±eË,X°vÍ?MŸ>ǧÂîB.Û«ØUw¾ÿFÛ“…¦ h¡4²GÃ0(..æL çææ"??Z­ÖnûÍ;KÊd2ã:is;KÒ2M‚ ºD}rÙî“ûû¶¹¯‘ß{Ítû̾yó¦±ñÏÉÉAVVòòò P(ì¶- •J1sæLÚ“ž çÊ4Qç)ls¿dg‘ñ}Ì4÷YÓÐÐÀñ’l‚ªª*^D åîÍBžžŽúúzlݺ•j5AÎÞsèx¥ÌÖ/M=‡™/$¹\æi4äççs–‰æääàêÕ«¼Ø ãì¯"“É””Ôîšfêá2â ð0Í)è@Ô¢ýR”üï\g]È%¾Cñz| SgTyy9N:ÅY&zùòe^æ %%£FâL[sjA„ˈƒPbšdÖ2 DÍO·Œ+&?o¼7ðé!uòßmÛ¶aéÒ¥vÙH$HLL4=˜œœŒ .àÕW_ŦM› “ɨFá˜=ÏáìÙ³˜7oär9‘œœlSçÎ :ÌØsh,¿Œüì“@ ÂÀ!)ðòpnu¨««CAAÅß—J¥ðòò‚§§'¼½½áéé OOÏ6Ã?•••¸~ý:’’’àååesü.]º½^o×Z÷æµíˆŽŽ¶ÙNsšøXÛ®T*íMgX¯_UU___xzz:¤næåå€Ûû9( »÷V:wîoiŠ·k+íââbÔÕÕÙ¦ßÿˆ‹‹³êwP«Õæ·„aÌpìØ1€ñe+½D æŠRË0 ÃTœ^ËxzŒvG¼r’qòü˜?ÿš7{GŽáäGó+<<œ™8q"³lÙ2&##ƒ9}ú4£P(,¶»~ýz“••eWüRSS™Lf_žÉå æÅ_´ËNsšŽ;f—iÓ¦1}úôá%MééévÙÙ¼y³Íi’ÉdÌæÍ›G!“Éì.{gÌ·Öu! Àîtñ™¦Ý»wÛe'--—40iiiVÿnõêÕLjjªÙû÷s¸ÝW‚CrÊ5Ä(cܸ•PØÎŠWÈdìymïaêUE˜>zNÔéñäcsx±Ù옚šŠyóæ—І„„Pÿ“ ·ÃáâÀŠCa} >H‰¼&vWà!Ášƒ["âÿ ŸÏæOÀq¹ ÿ¶ÓÒÒžžN5‡ ·ÆáG°Œf÷éY;o ¾½fZÚ:îµx6…ÿí¯~÷$žÚyõÖ™J˜ ÂÅ!b,»3ë¤ic¸¨q¯!óÕ»xK-?‰©OfS©A8»8ø à:ly…LÀ‘Ÿ^áø<ðƒ¯Oº3¿þ–J• ™šñƸ÷©S¦ÀDøô—íˆ÷äªã¿gb[ŸÕX3.’J• ÂN6!­×”`Þðù(TšÎžúþüO|ïa5Þø“ÿ^Ž£¥P‰Að€Y'¸ãÇã®»LóÆ ³ÊpUQ®Õr/L2¾B¾Ç“ ¸š“Qì Äø‰˜ïl‰·9”J%òòòЧO„††ò{r‚3»8Áååå!""ÂaçO“œåXíÇè hh@“R ½P$N¯GÙ?\Þ ®¼¼uuuHHH0“v8Á•ì_Ö®ÃØòB9ï@?ÿm4ÓoÎm]`§ó^k²²²Ìúõëy?9Á‘9Á9Ÿœ^s“ùø¥G˜oq»mfý·ß»µïs:e>f>ðçZr¤7àôñ ^Ã’_ü3ÖûÿKÃIAðCSéALIˆGúêÿ¢¤ÉüÆš{å{·ÎÞÅáó¹“q®Acü;s=¾ZÁîËtí«b^Ã:ñÈëP3¥¸wÈ $&&_-ILLĈ ŸR'¢S´Šß0!y:ö7tþpze›[ç¯ÒeGWâ©Ý¦~$¾CùÕã)>à4j²~0‰·ð¦)‡ºë-7·ËÏϧï Úürð0~˽‚Ú&=üC¢pûr*;¦‚¢ºiqÚ8{&NÕª, Cê?ºKë·ËŠ£“cáýr®-Ø´¼DPGͰM•[ 2üžTy]ûWÏ^[·>øªÝnwxâ¼Øñ é/ûí@–¼å©nv\ Ú <} Äâ°&¾·Þ®¸øGÄÃÀôqÈûøì¯1)n¯ÄeȘË*làxDK…¸¡®ÁŽj%æ‡zQ-vQšJbVêýv»oæŸàÅNcÕu¨¤vÛ€~Ȣ£ºÙa]0èë¡¶ð"|Ì ønÑ»âR_^ÐÓió“—gxƒ®ó_:ιöú®×Z÷ÀüPvRz[ACÒPò¶qÎ!!!Áø¢9þ°f<–/;zu=/v”•ç©©nvXDžñø×„¨N™úgœ>¼býqaôj×ï9™½÷Ç!»ÑÔm ¹ýeLV£¨¨ÚxMÖß(iÀÑ'ÂÄ0ô BÂb0pÈpL˜tzû‹íLÊìÙ3Ǧø[BI Ûݬªª²ÛVKªªªŒö}||l¶£R© ÑhìŠ[C[™åry»v¾Y<ÍâñX(--µÛŽÀCj6MÖØJ"ìÊ›ŠŠŠÓÔ¼Ö›Ööù¨ãíÕ…úúúnË7ΓxS ƒÃëÂÔv`Ù«ËñÉöPê¹Ý±_oÌyb9þöä èn\ƒ¹ÔXU¿B»ËÍ`0@¡PXm§¦¦*•Êìï,v‚›3Ç|Ã{~÷Ž'ôí÷ÎB¼©±g *\<~¹7•f2HŒÈþq{Êx óD¸ºº:dffbèСèß¿?ov qþüyLš4É.‡šÃ‡C«ÕbÒ$Ë&üƒÕ×+ Ñ1K½à„c‡ö!11±ãcPcÇw» ·pŒ4hÀÜ ±Xl—àÄQ¸GÖ§ø[g'TvÆ%FØ”/!áPÖUâ×_Åøñã­>Ã#33‰‰‰v9“uf€ÅeoÑ“¸V‹;w¢ÿþ:t¨Ív®_¿nU¾™ËÿKÙçPUU…Y³fuI]0h›PYYƒF•ˆàí€Ðà@tÖ‘©Ìîâz§< Î]œà,qîylù_ÛüN«¼Âx•cø˜¡ýðÍŽ¥ù™<žœàè×Yþû„ôa|ýº¤.ØCwÄÅiàÊ~~›óùá/ÿbê –ÿ„²Y8Ðjì-,¶/"‚Ú¡4–Ç)cqBnß8\óIpO=±€c[vÍ-tîùjë‡Ç:›Kó¥,ç0U n¬—U×ÑØ¨vx]°{œÞ‰âb/v‹ÃåO®ßKüFâÝáaÆÏ¿—š´óà“ã/¬|ïŽ=¢Òj0b_ÄÞ&ÃÝw¦ÀÛÃ²Ç g²cM¾¥½»õÌpgv¦êŠz)òìëð:ÅË·ƒâÒååoïœÃ’ãwÞÿ£ÁxýÒ© &îþmÆkgV¤°ã·c¾kcçý»#9áEÝõ•ÕchªÚLbèn¹ñ^gc²^Ìmƒ’ÍþÖKhÙ8(fú—˜ž@W勽s•½Ô7ÈlÙ;zÎÁž¹ª—ü”¿‡HÂL›;Ÿ÷9»{¢[CB"i žŽ6mÉ[y¬°è½)ÆkQ3zÿÌB]ÁV÷sì,Ùô –õ1ÍWTýö6€‡¬™i¸uÜïÈw‡¥¼ÅšöŸHøtîq«^˜ ä‹%e¯VÔ ¸Xê”qëh®†ê%?ylÐipðÿÛÙ=ç|kɪ4pçèO]#»´ua”iâÙ¿?»ÔNYý=ªtÜZá×û)L6yNk¿£ÒŠ-Üõ$8kÆduÊ 3Ýq÷™$ãuLÕÉó…²w†¸¹jþ»Ò_]Û}sh_µý€‚ZèÔ×9ßù#†u ÿ䇽˜(½5fÆ’ÃÔøû·?âî6££}°»Úä ±oÿDH:×/UÕq<òòe¬ÝÝ&žæâm-ÅÅ쎲ùùù¼Ùl¶§NÂÍ›7ÛÜßûRšcžfã–¸ü_X(^ƒ­ûÎCÝjC‘O$¦Ì[Œ'ËÇãrúvE¾( äääX]oø*{[hllÀ:g¶gך¸ÀÙ³g¡R©¨^:¨ü=Ľ¬.ÿ‚‚Èår³¿³[”a¡®CSÿ öì?É-u×éÈŦÿûŒÌtV”TˆRµ{¾ý þñþ[7L‹Ê.EöÑCÈé,bŒ{>û¦?†üc‡‘oa¼­¥²²ÒؘÛrbcPáÆÕk¨¨ª…JÇ@âå‹ð˜¾¨*)0ŠCaaa«ß4áƒs•‡;vf‡éH™ˆgFâ?J!W( üƒBÑ;: bÇ@OÄÑùÒ,ƒÁŠúÂoÙ[[7ƒÂ¢ÌŠƒÕq÷JJJP^^NõÒAåßûîI¼‹ƒÝÒœäÃN”=Ña5~ æÍŸYÓ&Cyk=smöoP$OZŒgo`ïúç,²-Jöœg³IÃÕŸ\c2‰ ¨nv`ña?Ÿ~jåQ›Œ7®\Àù 9((º†›U5P4)¡må=íù·p_BH·f‰_Äsk-üsÅâ£^î<ùúìÙüöþršÖÎ=^!¸cò,Ì2‚þ|=€U«VaÊ”)9r¤Sćê&{÷îEvv6V¬Xa8”——c×®](((@YYG(ìåÚwÿ‹ìcÝ|p͇˜ÔKÚ­”gž^­Á²£›R®Â_î·Ø¾NY+W®¢JÞF(EpX4n‹†D@ÿ<¢{¡ºIØÔsp$…_C|ÚVÎWàÛÛC»ï¢*€Ô{ dCø˜ðljÒAnGwê?дF驪n̓%‚pqö2^_s¦¦Û3Á]Nn"‚à ^‡•js÷â6ãBq5BúÝŽ…ÏþÚ|OU½^!°OäwìA鉩N‘š:rè!‚àUšÊ¾Fllª´&Ÿ¡8︈çFpç´ ñŠÃèQú˽TANoÃJÙÿXÅÐk«ñÒÔEе’­â¼ñ}à^T Aî* …í;)«÷àÛ*%çZcé>ãû aAT Aî*"ÌÞklåCpuKžñ}¿Ñ!T Aî*qiµ{Ý3h"„zs®mØÌ¹)ððÂ_ûP)A¸«8øD>މÜùƒè!Ó°íôvx¶¥öâZ|Z¦`{ sþƒdo•A„“ÁëRֆ∰õ:B†<ƒï6­Ä]ƒ¢÷•§0+e2o6Aê?YåÇ0À‹Ä ­Å®l{)ik¡º5Ï;£‡ „¡G÷þŒJ­â ¬?w–Ñd4AD(9’ù‹ŸÇñv¶À–öJÆÚûðÔØ(Ê}‚ ˆž$ÀšptÇìÚ—¯WAä†áwMÅ¢Gg#Ú‹¶¡ ‚è‘â@A¸.”A‰AÑ)´Ž” ‡ V«ÑÔÔÐjµP(Xÿ&½^úúzã÷jkMGôÖÕÕÁ``nhh€N§466B£Ñ”J%T*Ö¬YC™ì@hÎ œFƒÆÆF€N§CC»Ð`0 ®®Îø=¹\Žæ¿r}}=ôzvL…B­V hjj‚Z­¨T*(•Ên†a —Ë; £½†»+ ¦‹zaŽxjmýdÜQÃmIæîîÀÇljàååOOO€T*…·7»Npp0|}}B¡þþþÆß÷êeÚ)! ì赟ŸD"Q‡aH$øøø°“H???€‡‡Ú ƒ žѸÚSkˆ»;ðöö†T*xzzÂËË˪Æ/00{È”¿¿?„Bvù·¯¯/Äbq‡aˆÅâvn@€ÀÀÀNà w*HûVgî©Õ\ãgïSkË0,}j5AаáàF¿óï8³¼77¤èÛ·¯ñzß¾}jLLŒ±±7>Y[+­ŸŒ[6ÜAPÏÁ- 3qøõ×_!‰`0 Õjà öŒw;j2´;èꞟÃJAâ@â`³8¸|Î9´ ss–†aÉ„twÐÕs–ˆ§¥C{‰ÑMâ@¥×µtõj%>{oÝ#W+­\¹’*$‰‰‰a/ݹbÌÞåÄí×}ªüŽ„&¤Ý|ȉ šñöö6 ¹ÝåhG=ÂeEJ G@ëü\HZ  A$$ A]Í98¹0(Aâ@¢@Â@„S@ÃJ$ AÔspua Ñ ‚ÄD ¢[ a%‚ ‚ ˆÎ¡a¥n‚ HHH‚phX‰„ ‚Ä„ ¢shX©‹„D ‚ \V"a ‚ q a ‚èVr$ APÏ a ‚z AÔs ‚ H‚ ‚Ä ‚ q ‚ H‚ k¹zxã àî»ðp@,¼¼€ØX`Æ à£€ÚÚ¶¿¸/kïÛŠ£ì:Ú6A®‡€azÞBLxé%àîãïz{mÒ–´ÎÁÎîÛÓ€;®£mázô8?• ˜6 8tȲï75Q%!¢çÑ㆕ž{Ž+ °d pêÐÐÀö²²€·Þ""l ƒa¸/‚ '&+ øüsîµ/¿22€Q£__vI&^~¸rX¼Øúp,¿ß·xøaà¶Û??@*ú÷gÅêäIëÃ}án¸À{ïÙž_'Nsæ°ó1 ;óÌ3@uµùßüü3›g‰‰€¿?àé ôéÌŸ>l]žed#F°å"ñA=åöž{ŽûL?w®mvZ÷ ¬½_SÃ0S¦´ýž­v †IOçÞ‹fãFÛÓôÖ[ #´¯„†©¯çþ¾¾žax ó4-YÂ0Mçá?õ÷³‡aaA›Ð“;x0·ñÈÌìzqÐé&5µó†ÍR»:Ã,\ȽîãÃ0{÷Ú—¦Î^¯½fú­^Ï0'ZþÛôtÛÂç+,‚ :§G +r?Öõqظ8~¼Å¸ž°r%7¨¨¶o&LèÜ–N¤¥ÿùéZh(;¤2y²}ñ”JÏ>êëÒR`Ö,îý;Mï¿ú 8p€;DôÆ@y9 T²ß 6ÝÿøcàÌ™ŽÃ÷ôd×˹s7Ž‹ ˆ>¬Ôz˜D«íúžCë§Þ—_¶=Üûîã~Ž‹c˜Ë—ùIÓ›orï_¹Ò¶wÒ̤IÜ{Ë—·µ¿u+÷;>Úqøï¼Ó~<ù‹  ÚËžäçàç(¦ÏÕÕ@PmÎ\µü~h(PUeú|í;‰jK¸-<Ø»×öV­mqq¦Ï*ë Ø^ºZ§éâEv’¸% ì¤q3—.™ß\¾ðA´Z‰CÿþÜÏçÎu}ärîç¨(¾z€ìP_´n˜;²Ý:M¶]}Ô²±€7:?:ºëÂ"¢‡‹ÃرÜÏ]‡À@îçÒRÛm…„˜6‡€pãIDATÞge÷ÞËíÙƒPhy¯¥uš,¡µ×ygá;2,‚ z¸8,YÂmä¾þš 6‡BÁþ†O† á~þôSÛmýô;TÖÌ©SìıZݵùÚ:M99–­%rö°‚Ä¡‡’<ú(÷ÚÂ…Àã§O³O˜MM@v6°z5;VýÅüÆaÁîç5kØ}žŠ‹ÙÕGÕÕÀîÝÀ”)Û>øþ{îÏÁƒÀ¼yïåÈ4ÍšìØÔÔ›¯—/³×–/o;Gà¬aDO¦Çm¼§TS§GŽXþk7Öëè¾^ŒÇ]Îjo¸;w³g³¶[6¢7Z¾Ãª%ï™ûŽ^ÏÙ8ḶìfV¤6ndç ÊË­èÝ›}2^²¸óNëì®]Ë¥´äÅÙ!2GöZ~ÎÌ6mbÓTVÆ.õñbb€¤$àŽ;؉ó„Ûz|„E‰AatL(AAâ@A8A$A‰Aáþ3 Yz¡Ä™§IEND®B`‚nted-1.10.18/doc/docimages/midi_record_config.png0000664001041000007640000022623611520267216016564 00000000000000‰PNG  IHDR’m-Fì6sRGB®ÎébKGDÿÿÿ ½§“ pHYs&&¢ï%ütIMEÙ :3:{qØtEXtCommentCreated with GIMPW IDATxÚìw˜Uö÷?:wOä0ä 9©ˆ€ *`@T”uWPלsNëþW×V0¡‹#Á0 ’a ÄÎÕUuß?ªº™Ae}ûû<õLOw…[7|Ž”7f»_¹ü‹ ¨‘R#ž[&4ÒH#?TYé÷ÝC0 $¸J‹}º7WÙ5ñ¾`î˜qÖ훜|^ ¢ýéßYi_yÌSßûX$Dõ†H’uçýAT)=‚i¤‘FG†Iû¢<¿s;ÖðÊeÛ dYd¬üD’LcUæªé}6Íz7¨æ_ôP "»ñ7¡æ}Ú®€"eÕpʼyZ¡„¹—ˆ$ µ“ïJ4žX\¤¤‰Ii¤‘Æ‘‚0M‚‘ü"öûèQ"¢…1ãA¦TÙz PâÁö ¾É¯ß±ªÄ* ¤¦í…â²Ùgçw …aÍ=–"AéîÝ 8üã†qƾ’‰^Eð„¦!9åôH¦qDaêL[¢–Ó’–YBü‘ßË  pÈÈi~-ýNƒˆ^3Žøú-#¡!é’‘a" I(.$·Wb†ªe5[ôr"ZëS$Ó’DL!%™¹_|É%—^F(&ãp8lA%)©„i‚™@6Ò„$ƒ‡G•p«2Š,a˜‚ˆn×Ûvo.Yâí³rF‹›*5J£&] ÝüeúVÞú¡õ $fäºdy¯$ž0¡„‰n ŽÄ.Ipc×þÕ¿ãþ»…;b¤iIµK$a²tmB"²†¨þ$Y¼Wµõ”Ð a$„™¤.R°E?¡DÊÂ*äDD’ŒDí-IÈ”n.fOÌ ##ƒââb¼^/‰D‚Ý»w§N‹Åb˜¦‰Ï륬4F)Í*¥q0#Эž‡{«Çé-2@â†àåå{¸}î6â†À0̽šTY¡HH€–T¹Ê{g¿¢Ê˜ºÉ™²9£E€ÏŠ+¹væVÚå¹èçfÙö ’©¡T‘V$0L‡RÃ×&ë®îDÀ¥¤¾ÛNððü¼´´4µèª¶OR$Tû&B€^KÛÁ"H©U,¢HÈ’d]“0AÞKÍTUF7÷JW =aK\ºÅ)¦—Zµ qÝÄÐâäjk®i†J›,Ëwkl é¸U‰crd¹dl5ö’S·$ÙÐ IH!@ô’Y;!1â&ŸÍ˜GÓ¶ÇPXXHaa!Ÿ}öcÇŽÅãñ „@Q>úè#š6mJß¾Çãt˜`hHrZ"IãÀÈ÷ª¼}FSšf:¹~ÆF¾/‰’íVÈ÷9ÀH¥J\{l!íó½”Ft>\½‡ë+@ÀÓ§7Ã±’“›gR7xäëmd;¹¾GBšf:yè„z˜B`ÁÜ IOpa‡No•Mqyœ5»£Œ:&—+¦ýÌöPb¯s‰aR7ˆ&·¾…ò¸Îû#ZqY§>^]ÊÎPŸ*sýq…t*ô²;¢óúò]|³%„Ó!£&—w+ä¸F~¼™ÏŠ+xuÙ.ú5ös~û\ |VíŠòòÒ]ì 'ð:d^ÑœÙ?W’åViŸçáöÙ›éYßÏð¶9l jTÆtkC0ÈF‚´H’ÆþT[’®a$ªK$²$ÑÂ¯ÒØ ›8™µY§‘_¡i@¢q†ÊŠa*£:I¡ÝÔ)‰¤*!I2H*B q$Sß·(ÐuuëÖát:yøá‡¹øâ‹Ù´i‰DI’زe 3fÌ [·ndee±©D€PŒô8¦qÑ[À‰4Ítñä7[™°x ›KWe M7Yru7šd¸øbc§´ÏæÜvY\;½˜IßíàŒ–™4ÍrÑ¥ÐÍžˆÎ¨9´ÌrpÅÔõhºa‹÷&‘¸Fß&´ÎõðÙÚR²>& mNEÜàëM&7÷*ÄãÉt˜l7ªpø† ¢ Á×÷à°%¦ŠDIh:‹/éF³L¯)eH‹L†·Ébø»?2o}ü¥=CZe³5¨±rg„óÛe1~ÑN.Êbòy­ˆë‚y›*¹ûøúœÒ<ÀYo¯Âg·Éæì6Ù,ÞbGPcp3OnNÜ0ùbc%ƒŠò­õ)t$CK’4ö+‘H††®iˆbëŠ&Mýì'ÒÔMyÜÀ)™,ÙbKyY‚$U¶4bÖH&a9éÊzâ ‰Ûí¡ëqÇñæ›orÙe—á÷ûéÒ¥ Š¢ Iªªb>Ÿc=–’wÁâUÈN%=’iü" !häSX¿;ŒHh(6—ÓLÎj—O›\¯/ÝÁÅï­âøæY|}Y7Îm—äE[0…I(npë§ëX´­’-·G×z>6î¬àí;éÛ$ƒikvs뇫yúÜö´Îm„K28½E.UæÄçñsyŒg‡¶â’î ÀБÄÞ}Y7‘4Êt±æšîl­ˆqÝÔµ”# m›Ï1^¦­-åî™ë9¥EãÏjÃ%óÙUá¤æ™TÄuÚüû[¦‰*K2ÃÛd“éRéüò"Ví óÀÀfÜ}b3Úe;ù¡Ä åZ´µ’Á¯/'7;¸>§Â€—±l{ÇOkɵ}!:RÕö¦‘F ‰]ÃHÄRu ÑúÒ83%ƒa-3YU&Ï£4¯ÞƒªÉº†¬k–öª !²%çX+ØÔÀØø ´„ÆòåËùâ‹/4h'NdêÔ©Üxãäåå¡( yyy8NV®\Éæmq«†™È4~™cB°º¤€ã›dðÊ¢MÄÖ\t« ynkòWD㈳­_½èH0®3þÛMDÇÔÏ`ÃîË7•RŒÓ*Ï˸!­Y³+L½€‹}±žÅ»¹°s}þoP æ®/åÊ^H&?n/·l¦‰¤k˜†ÉâÍ{Ó£!×Û˜Ykwñ—d{ YO«¶ÒØ¿j ö‘HÕm$ÝeÐ$ ƒ0Ñ:(¦€a-LZ£4ºWÅ+é d[*©¦Ú2­HwÕZ„šµØjgQT•N:‡I$¸\.dY¦ÿþdgg³mÛ6öìÙCóæÍéС#ëÌ­ØŒ$«é‘L〨 küeâ·ÜÔ¿5£z4aø1õÙÑxbîZ¶–9í¥¯xòì.<ö1„4'æ®eÜ¬Õ øœ >—‚"t$SÃï²¼®$CÃ!™È’„K`ı…aòæ¢bŽm’ɨ®i—ïeöÚ\Ô£)fÒ3%¹€ ŸSE’À§D£Qn›²‚ #{pyïÆÜôÑr<÷OžÕ™gÎêˆf˜¬ØVÎì5ÛÑ´§½üOÕ™›úµ@–$Þ]¶¡Çy{ñÏúU®íÛ’ º4ä§Ý!Î{ý¶”Vp©¶D²™ÃàÃe›èÝ8ƒëû6gP«Ÿ/•Å;ù¬?2Gïp8˜=w.ååô¼ÿ~4M#âñxªõ…¦iÖÜÈÌ´Ò?9öX{<±XŒh4ŠËåBUUdYN18Ñh!ªªâóùeMÓˆD"¿J*Jί×[m>eíÿ¯× ±ˆÇ‰D£˜B‘‘Óá@Ïç#§J|B¡Pj® {~' b±^{ŽF"âñ8’$Y}ät"„ ‰ ëz•kÛè“Ĥ.Ó0(//¯Óg¤?îq0œæª5kØUZŠü+ §¹œNÆOqq1W]s ½ûôaýúõ\yÍ5|õõ×dddpÇ]wñÜóÏÓ·_?š1÷‹/xýõ×iÒ¼9'Äæ-[e™=ee 6Œüzõ8ûœsÐíE[UBزu+ÃÎ:‹†MšÐ¾S'>›1ƒììl®¹þzæÎ‹ÓéD×uFCýF=f §ʶmۇÜ>l×]=ÇöíË)ƒSQQÇãáíwÞ¡}§NԯϨ‹."‰ iÿûß|øá‡téÖ[n»… rÇÝw“H$0M“_z‰—'L +3“ãûõ㡇¦C—.Lþà"‘gŸsù…… 6¬v›Ô ›7ofÒÛoó‹/Òá˜cxìñÇÉÈÈà™çž£¨eKZ¶iÃ;ヒ$I(ŠÂÀ“Oæž{ï¥a“&œvúé”––2ꢋÈ-(à…_Äçó1ñ­·¸íŽ;8㬳8¾_?~ä‘ÔØÿ¸zµe£«Wëo¼‡Ãñ«úP–eV¯YÃð#Ð4 I’ˆF£ 8ùdJJJ˜úé§´íÐFM›2î_ÿÂívWsèõz½\¤ÂY»n^¿Ÿ¸¦ŠDJu×4.=švíÚñì3Ïðõ—_Ò©S'JKK‰ÇbÈ’D,ç¥ÿü‡Éï½Ç«&påÕWSüóϬYµŠž={òÖ[o¡( gœy&ƒ b÷ÎtïÖsGŽÄï÷§ži˜&ÿ4‰îÝ»³þ§ŸørÎZ·niš”íÙC,ÇétrÏ}÷áñxøyýzFŒÁœ¹s1íù¼lÙ2úpßÌŸÏ 'œÀ=÷݇Óé$77—YŸ}ÆÆâbÏ<û,‡›n¸sÏ=—…ß|ÃØÿû?ÊÊÊVV¦ú ‰‰Dd™;w²³¤„‹ó—Q£8mÈz÷êÅî’ú÷ïÏÙ#F¤Þ稵üÂX4jÔˆQ^ÈÕW_ÍÒÅ‹¹õæ›yö¹çøì³ÏøvÁfþï¼1q"ËW¬`õš5x<6nØ@FFƒO?«¯ºŠÅ‹qÛw°}ûvLÃ`òäÉLxùe¦O™Âê5k˜5{6çÉm·Ü–M›(..æ¦[nÁëõV×ôüB›…thßž’]»X±bªª²hÑ"rssÉÌÌdã¦M<ðàƒ¼5q"Ë—-cÚôé¼øÒK8lu–°×Gyy9šm+B°gÏžÔœúâË/8`?¯_ÏÖ­[¹üª«xáÙg™>m×\w‘p˜;ï¾›uë׳öÇ™ðòËÜ{ÿýTTTüb_ï£Ú’,}uª¶jêÅ#‘¿ür7ŽF þªg«ªÊŒ™3éÚ¥ ¹¹¹G…ªLÁW_}E÷îÝñûýjýlX÷û“a¬ß°ŒÌLš7mÊŽmÛØ¹gŠ¢ÔjoHªLÓ$ ¥ÔD¦i¢ë:š¦¥8:I–QT•x<ε×\C^n.EEE4hЀ¯¿Ó4éÓ»7³çÌaùЬ^³†¢¢"þ;i;wæÿü'•••8œN„i¢mÛ´á“©Sy饗hÓ¶-½{õ²\›% Y–©¬¬dåÊ•¼úÊ+hšFï^½èÙ£’$!+ ­Z¶¤gÏžD"N>é$n»ã$I¢w¯^Ì_°€X4JƒúõY¾b‡#Eˆ5M³Ô/Šb½—¢ ( ²l%œLö×_FB«~ü‘ïø￟ÿNšDû¶m¹çÞ{ÙUR‚Uœ’$ár»q»Ý–CP )PÑp˜„¦áp8ˆÇbºN\ÓH$Ì›?Ÿ^={òùœ9(¶ÊríÚµtëÚ•‚‚†Ž‚‘#G²åñÇxÒI Ž9†V­Â‚ .¸¯Ï‡Óá ÿ‰'²xÉ ò­ÒŒI(âñÇcà)§ðØ£RQ^ŽÛãÁåv#L3ÕæäüB …Hè:^¯— GŽä™gŸeÀ€,øæúp‡Å‹Ó¹S':wꄦiÜqÛmŒån¹å–”D“,4˜ü,«*HŠ­ŠëÒ¹3}ûöEÁ9dz|ùrZ·n @‹¢"¾[²„yóçsé˜1L™6 —ËEYY›6o¶ŠW©*Ÿ¯z’ýÙH’›±_ €0 $ÅÊ—°uon·Ûj(`$ÄãñƒÞh…)*év»yù¥—p»ÝV•ÅÏŒG£èºŽÃáÀév§î‹Dp¸\ÜxÓM¼9q" 5" áõû­¤b²L<Ååñ‹D0 EQp{½„*+ñù|Ö´ŸcØT\±)|Üö’$ }.öD5MÇc©VlõŠ0¬ãn·›;?ø€¼‚«M^oê<ÓÖ«¦½l~*ƒA²²³)Ìϧ²¬ ·ÛM^V•á0¹yyûx&ûwû–- Iäääàõû‘e§Ó‰ÓåBq:‘% Õá@²uߟEUS:o8œNd{C–dÕ^  ]G‡™üÞ{¨N[¯ pÎ9çдY3¾_¹’7ÿû_.Ză=”zžÃéD²Ûâ°Û“j›ý<‡Ë…Óå²þ—eT§“¿_y%½{õ¢I“&¦‰aš8mݽª(8].N'ªÃa §ÓR³ØÄRRU$IÂëõZïeo2’,“Ðu*‚AÞyûmœn7²rtU8Mh;¶n%·°Œ@`;NEY•ååääæâñù¬w×´”ZVT‡C×IÁ¨Q£èÙ³gªïÝnwj¬ý€xʪ›œI;•ÃáHõ¬(È’„¤ªÖxÙ6§Û ’Ķ͛)lØÐ²ÁÙmN¶{×ÎÄãqrrsQþvñÅ<øðì^½šŸÖ­cøðá¸l›˜bß_N—˺‡Í ¨(Š5okÄbH€ÃåB7ŒÔu8(n¯75ÆIÛª((ªJB×Ñ î¿ÿ~ŠŠŠPd™²={G"äççï³ÉûÛè}ƒfÜcѯ_?:tèÀü Rç<ýôÓ4nܘ¢¢"Þ˜8UU>Ü–|’ɶmÛðù|ôéÓ‡û|c=–Î;S¼aN§“o¿ý–îÝ»S¯^=Ž;î8Ö¯_ÏØÿû?6lØÀˆ#8ià@¢Ñ(}úôáž{ï¥]»vLŸ>öíÛ³iÓ&œ7n¤mÛ¶ø32ø¿Geì¸qô;á4hÀä÷ßgÒ;ïЬY3zõìÉêÕ«‘$‰p8Ì™gœANn.ƒN9…P(„Óéä‰ÿ›{ï»ÓN;.]ºðè¸q¨ªÊu×_ÏÊ•+9ñÄ9û¬³$‰›o¹…zõêQ¿~}ÆŽ‡ÛåJÛCj³Ÿý‚D™™™I^v6ñX lNÎåpŸ“ƒ®iûH3’$±kçNN'm:t § §ÛMFF[·mÃa/vQ‹Äœú¾ª:Bt]§KçÎ4oޜݻw3zÌÎ;÷\¼^/^{“HJO«W¯¦}»v\sÝutéÜ™… V[cY99tìÐÇþõ/|~?ß}÷ .LqÖTQ'ß' 2{öl®¿î:.=Úbxâñ”µ"Äétâv»ÉÌÈ`Û¶m©¾ôöÛ© 5ù®ëÓ±#mÚ´aã¦MŒ3†‘çŸÏç#++‹¬ìì£êÈ+( Ióæ”–”¤ŒÉIhñ8ÁÊJŠÚ´¡ A223ñûýì,)Áï÷“••ű}ú°bÅ † Æè1cèÜ©™µ:‰™o“v¶7Þxƒ­[·FyÿƒèÙ³'½zõB7 >þè#\·Üvgžq>ŸÂzõhÔ¤ »wîD×õjmÚ*ýÖíÛ“_XˆÏï'';›çœÃM¶¤Ñ¦m[LÓ¤wïÞ,[º”U«V!„àѱc8pà>ë¤uË–Ìž3—ÇÊ+X³vmíêµ6I!¹yyôîÓ‡ pÁÈ‘Œ¾øbŠŠŠÈÌÌ$'7—ÆM›¢'D£Ñ}ÖÛ~m$åå|>{6_~ù%O>ñ—_~9.—‹iÓ¦ñîäÉ,üæ>Ÿ9“§Ÿy†Y³f¥$šƒÑƒWµk”––¦<¶oßNyY ,àúë®ã‚ .@–ezøa~ðA¶mÙÂäwßÅpûwÒ®m[Þ~ûm>Ÿ5‹Ü¼¯—aC‡òÝâÅôíÛ÷€ÁŒUÐÉÏ¢ŠíÄéppÞ¹çDØ¿?—ýýï(ªJ—Ι:m›6m☎騱#¦í‘F‰Øîzªª2ê‚ ˆF"x<ž½Ï4Œjyô£Ñ(¿ì2òòòe™V-[råå—ÇéÙ³'K—-cÑ¢E,_±‚‡|w&M¢]Û¶,\´ˆòÒR4Mcôßþ†l« ü~?Á`ÐÒËÚj®H8L~~>¹99<õÔS´hÑ‚¾Ç¡ëiÛÉAPkÚN*+*¨¬¬DO$¦iÕ>ÏÊJ©jÑ£Zb½Í½& ztïÎÆM›RjÊOÿ÷?´XŒ`EÏ<ý4º®[ ûŒˆmÛéܹ33gÍ"XQÁ¥—\ÂW^™Z£Ø’J `ÂøñLxå0MB¡>ø ?òHJõjÁŠ /^L¬Š[g #ƒ©Ó¦íí6]'\å}Žšù‘´+$vjŒµb»J'Úü¼<>ýßÿRcª¬ä†nàæ[o­6.†a0oþ|¢á0±XŒÓO;³Î>› mdž3w.F"Á?ü@Ff&_}õHRJM-„ kçÎ|ÿéqIºe'íû³=«¶Ûn²¯ ਨˆh4Š®iÄb±Ôo#Î9‡ .¼°Úœ‹ÅbÌœ5+5§Ün73m¦ÃE! ‘™™ÉG~H$F×uÆŒ¢()b÷åW_³ï÷è£2ö±ÇRý¶ÝeYNe‘8°¤†h'É2†ibÚ¢ëºÕ)I飊Ñè`ŒÝfU/+ÛV‚ý׬"Æö3$;ÒþÖÛncþüù¬^½šGÇã/ù 玑J]oÚÞ2’¨¶/x²m¦-ÒéUÚ—ôËNè:†iâv»S’BRM$ IÄb1*ƒA‚Á oNœhµÕ4S}“œ†aT›àºaP¿~}^zé%¾ùæ>›1ƒW^}•?ú(5€i˜¸!X¹|9;wî¤0?ŸŒìl4McÛÖ­l(.¦UëÖ(¡ÏOúþë6 ¶?˲LÄöKÎçäoɹ´Vý­¦M¦*·YÓn(Ërê:EQØøóÏ\wÝuèºn¹Bvvvµv%çU8D–åZï›jo•9•t­ÍÍ´ê½ö}Žcû/µMÔÖ'UÞK²×2±Ø>÷­m¬“îåá`EQ¬ØH„`ee5×sI’Ð £Ú¼Ú§ÙŸ)‘c”Ô¢hU²7$m-5Ï­9–©¹nÇ“H’”šC5¯‘$)µö÷.ÒÁÛ“$))˜I{†½ +ŠBÏ=xᥗ8ÿ¼óˆD"L:•{î¹g¿®aûØ`ªè#E U—¨Ë’$¡Pˆµ«W3 N<˜W­¢¸¸!^¯—]»wã÷ùÐ aDRܺU+¾ùö[ŽéÜ™W^y%5ªük;t]§}‡´kÓ†7rÓM7 ‡™=w.>Ÿ/EEb˜¼V¶)½ßïgùòåH’ÄW^É”?漑#SAji„½$±bÉ¢Ñ(' „ÓéLm®-Z¶$ ñõܹdçäШI“?Ì{™¦I«–-yäÿ°<ÊT•ìììÃa_“Ãÿ³xöÕ% Ã`ÌèÑ¿=PóO¾Þ÷ëµeš&~¿ßr™´7ÊÌÌL ÃàÔÓNcãÆtîÚUU¹óŽ;8iàÀÇv ÕVMãªÏç³DEÓ$ Û‘Ë’­ÏB0ùƒ~Áé§žÊÈóÏ' qçí·sù•WòGáÓ¦P’T=æÙgžá¯_Ì‹/¾ÈÙgŸMF `ÎÜîT4hR?ž›eYÆíñDøìÿãŠ+¯ä‘þŸßÏðáÃrúé¸\.\¶Û%¦‰×ëM© GŽä´!CèÖµ+>ð—\v;wî¤~½zLùøc‚Á`:ªÿWp¡%;wrêСÖ±U4IwÄœœœr Ó?þ˜ÆM›þ±ŸÃAáL2)I1[5#LÓÒÓ^]’,t jÒ•ùHÁWÅ{3s)oÌ8Iž¿èD†un^Mµ•™™I4MyHdeeQVV†$I¸ÝnËûˆÙú¹ƒâÄ ƒ ÅÅ´nÛ6å^ë÷ûSé'²²²‡Bèv*ЬÌLö”•Y†P;¥x"‘ ‰`š&N§3%!TVV’‘‘AØÖ¦ •v×^w-ŠŠ¸üòËëD­þ‹„¤Îô²¶˜šF59ÔšÙk“jÆ_JŸŒx6Ò’Þ¯'$ŠÂÏë×sÒСdffB¦W·dòš¹×2³²p¹Ýø| ƒAZñü‹/V“8Þ}÷]þÇ?øï[o1}útn¸ñF^í5‚Á •••ÜróÍlÚ¼™ë®¿žçŸ{Ž~ýúÑb€ªª²råJÎ:ûlþýÄ4jÔˆ’;Sýçõzyé?ÿaæ¬YliÛ–+®¸â0’:Þà…ýò’,“æËÓØé ‡¿Ëu=µî„>¹é%µóçÏÇï÷sÌ1Ç`ÚvÙví=› ‚Q^Ⱥuëxí7ªIHO=ý4wÝq;u¢q£FôèÕ‹ÒÒR7nÌ?y]×éÑ£3gÎdÉÒ¥ôïßÿˆ·×ËU×\Ãí·ÞÊàAƒˆF£tîÔ)•É£¸¸˜§Ÿy†'œ§Ÿ~ºîZÍ/êÚ£H–eÚ¶oŸJÇFU%‹DÝ×ãv[)MìždJˆ£Á^•äÂE9âí©ªW¯JPê”ÀØÎ<‡ƒ3fðÏG%77—‡x€6mÚXžö9‡êk«a Ù¶};;w&‘HPPXHff&ßÿðõêÕ³ÒÌ»\üôÓO|·x1—ŒsÄK“ëšÆ²eËhÛ¦ Ó?ý”Ý¥¥ :”»î¼“h,ÆwÝÅK/¼`e\¯Kɨº´ ¬à®ÃખŒ²M#ª 4ù·ŠÁzéÒ¥üýŠ+¸ýÖ[éÙ³g5[è‘€iGÄðúo°yãFZ´jÅyçÇ¢E‹èÞ½;'œx"3?û ‡ÃÇçÛoœÉ!#$²¬°fñ·HRZRHã, Ó ^QëC.©Æãq¦L™Âœ9søvÁ<ÅÅÅ,Z´ˆ眓*æ“,F”ô€‰D"øýþTÒP€h$byüØ©8’ÆVEQ¬¬´’”ú>Yh(y}²pÓö>4í ’$±»´”ÅK–pÑE¡ª*±XÌJh-OmZÉ6©ªJ$Ie}M"ï4I’عs'o¼ñ“&Mâ…^¨Û Ü41„ s§NôéÝŸ×KË-¸ãŽ;ÈÊʪßu(Èe²är͘”@F………¬úñG:tè@iI •´oßÞò¼Zº”‹GæÙgŸ¥w¯^©¢XGÒ#ÐéñРAK•HиiSœN'7nä³3øôÓO?aáp˜Ý»wsã 7pß}÷ò²¼Õ‰Ï!sÌ~;½«¥qøŠòó#-ñ»-!BеkWJJJxýõ×¹öÚk«e`ݱcçÉÔO>!33“©Ó¦ñêk¯1mÚ4:tèÀ°¡C™‰¢(¼þÆ,^²„âuëÐu³†§¨ysF]tN§“‚ü|Ö¯[‡0 ^|ñE‚¡Ð!“FÖ¬YÃôéÓyõÕW;vlÝ}LÇ5‰ZÕsÞ|ë-Þ}÷]Ú¶iÃèK.¡m›6L?ž¿üå/Dc1.ýûßiܨO?õŠ¢PYYINN¯½þ:/$IŒ¹øbFuXcoj"‹1fôh‰ýÛߨ_¯³gͲJ]x½xì1mÚ¬}?¯ÇS'v} ‰´udô3 ˆUB"ž&$iT!$Æ/ÎÉ&%;v›‹,IìÞµ‹@ @à ÜVuà]»vVÒë®â¢Q£ö™öµårÒu¿ýõ¯àC‡dçäpæÙgcê:;vdó–-¦ÉöíÛyæ™gRµ°Z·L“„®sá…’ˆÇ1M“ì¬,n½í¶TÁ dÑ©X4J<§¼¼§ÓÉÊï¿çôÓN³ê^HC‡ ±’Úª·ÓN;¸,|饗¦òHý^b¢ë:W]u¯¾ú*¹¹¹H’”r ®[L‰ã€’Ò!"$B®»öZn¾ùæÔ=M;Ñ%ÀÅû—]z)Â4‰Åã†AûöíùêË/«µ!/v¤ƒ]#‘—^r WÚ®½1;ql²]¦iÒ­kWz÷ê• ¾<ÔmÞŒcÚG]lä7¡§7Ï4ªÀ8àFae¥¥23q¨*•ååVÚ÷ƒ\áPˆ;︃ÞÇË´éÓ Øér$¬œ^ÉHùXÕz vÖÓdn5—Ë…Y%{³¿ÏG»ví¸û®»RÙÜØQÐɘ©¸¦qúСüûñÇéÚ­Ÿ~ú)~ôQ•¥±÷=ÜNgÊf#°<ØR˜R%µHÕMã÷böìÙÌž=›Aƒ¡ë:ååå´iÓ†W^y…ã?¾ÎT[ä?k)Uû{¤®šAÃU7×Ú’#&+mÖv¯#‰_jsÕÏF2µPµ·ve´°òGÕÙ‘ˆ[›ÆAœëWAAÔm{ÒÇ‘?”ì+?Z‡.]ðz½(ŠB‹Ö­­HçƒäT“g=òðÆÄ‰)bár¹ðù|¬ZµŠP(ijÏ=—Ru‰*œsmÅ€ àwï޺Μ9sðz½„B!VÚµÀ©â ‹F ƒtêÔ ÛÍüùóS¢ÏçcOY¥v‰‚þðñ'Ÿ°zõjV¯^Í´éÓ9þ¸ãRÏM¶ÂápðÁG1ñÍ7-¢ú;1pà@ÊËËY¸p!_ý5@€Y³fѧOŸºÚ ­~M&†M&r­Q’û`æHGj­Ëͬ.FWßI#ŸÂÆ Á·Ûã–Tñ›ÏmOÓ’J²\2}ë;ñ;dt!(®ÐY^šÀˆ >–ÃßTòÝí÷=÷àT$:æ¨4ö«„u“Ycuö¬4öÇrD Ó$ ¦6ùp(„Ëí¶ÊŒþÒø:ôéÝ¿“íøãçÒK/¥u«VH’DFF7Þpã'LÀçóqÅW°yófNèÛ—¼¼< ÓÄ0À@Bо}{òóòðù|L˜0±cÇ2á•WÈËË㢋. oß¾äçå¡ë:999¼2a7ß|3 6¤}ûö4mÚÔª9Ò¥ ݺu㊫®bÀ€Ü{÷Ý”••qçÝw£È2÷Ý{¯EH0 222R5"ÊËʃ‡„ÛTU5¥Êr»Ý 2„¼¼¼T|Y]p´Éû~ÿý÷dddФILÓdÉ’%íõÜJ¯’£Õ’6^Ы®Û§C—“­ ߌlãcL;/SŽqnK/Ï®òΚ(¿cBÉŠe+±Ñ·¾‹úg1imI‚Óšxx|Y×Gñ;%¢ºÀ€!@›(9YŒÄú-¥ì¶KþŸ0mgõ*ßWA¾GæïíýtËwpB/lWÚúðÚHXµŸoë…ߥ¦¸íéS¦0ò¯E×4"á0k~ü‘f-Zàt8XÿÓO’[XȆõë1 ê×’´Ñ°iÆm;E²fy2¹]rMÖ\7tI–‰F£ø|>4MC×u«¦»Ç“ʽæ²K&kšfè«$õKªª^Ÿ$j;ktrMº»ìÚëºí>œ¬ßŽh‰Dª­>Ÿ/¥O¶ã·ÚH Ã`Ê{ïqê9盓³Ï澿ÿ¦|ð'€,ˬüþ{þýä“<úÏòóƼ÷Þ{Üqûídee!Ë2?¬\I½úõÙºiÓïJÚx$ÔOu™´ñ°-Ñ_“´1¥Ú&ÿwl&cf•2çç(Kwi¼wj.ï¬ ×¨wúkYRÕÝÖ$ý©Ìà™åA‚ AeÜä´&n>\æAÜûmK¶Å8·Ÿûzf’ç–™µ%Æßgï!jz×sò×¶>2]2-2T–íNpý—eh† ß«ðö™ù“ç`ê†(c>/ÝG§^5xtq'7vÓ£ÀyÈ=DÒ8(¶ô€SÆévÓ¶C‡T^³¢"+˜ð jà$ã=’LÍâ=ºõ^sáT5N !ªUBLnìIzÍBR5¯ªȪ©Ï®šµf1­ÚÚ^[;µîýpØ’Ä·s§N<øÀœ¬÷R·„“Ý!ÃÔóHl­ÐÉô*[ƒš½çþÆÍÖ4«Å ¨öæñŒ*c€*‘tAöù²¬$Φ N¦SÂ)‰ÔdšÉ&€IŸsaÝÁ´$ Ã4ì-ÉSªN…@$‰‰i¶ìî M:à†ãp:iÔ´©e ê×·\bÓDÿ7Ã0MZ·oÏšï¿§°°ð°«’®Ò¿ä,L“m[·‹F-·êÃ@Øü™™èGAŒÈo¢(ø22À®$z%’ä†*˜¼.ÄM]3¹yæN\ÀäŸBqœ¿Ñ­'àûÏ¡Ó ËkK°×EaÊ©"‰ØÉ$§5ó2rÚvô¨Á?àR¥½mMMëPeø©$FiTç¯Ý2ycI9cO)à“õ!ÐÍêí–±^¦Ex ›Ð¤=·+g|@aVQÈÊÎNUH i½ùïM6i‚¹a¿ýöaOB×uÞûí_wY&#+‹-[烠nÖsÿàsK:ŒÙÕÕZ´°õÖ2\1koŸ^ŸðÍ­™º!ÄùÓ¶ZW™¿1Ì^Q ã@Ð÷¨ÑM“h²• ªHB֬﵈Æ5³w²ê¯MY_‘`s0AIDab&1}¯ºf˜Äu@ûö&&kÀóò™þs˜áS¶‚*ªµ¿À«òΈ×ÀCÌ01ïj˵sJxnii%üa‚ü;$Ü4~_×KÍZ´ y«VGdºÿÒ¨KÉßmUWG'Ôýެ=ºQÍàÌw7[6Yúí’HUB%'¥ kÚ~»%¨apÔpsHô›¸TÉ)óê²2^ýnÅ1$g˜KæëMa¾ÞJ¹öNXºÇÖ…Èl©ÐèóJ±í2\{ûK ¼¹¡z0¿CENïm‡S"I÷õaîrËýÇJК.?ñ‡!$H2T‹å\3tøyuß+Èû%ià–÷r-ÙV{Õòj5Y¸Šx¢ê£;]ú÷ȲÅJZú;ܪ? êF¤íaB"Ùœ»¨£I¦: a[‹4¤õÛiìÝÕHS’4ÒøÓH$€¤Xꧺ‚Û¿—h¥‘FR"Iã¨àøÓ iB¢:À¨£ÉdšP¹²¤Ý6Ó¨NHöS™3¡i¿Ès!в´X""ËÄc1ÊËÊŽhj|-VÂάìl”´äè'$@0k—Õ]­Ӏݛ¡°(]$ê³oOé>övY’ؼiÍš7ÇØ×Žiš”ïÙsXªùý©G@’HhK-"3; pT( „ìÚ¼™]%%´ëØ1=PG;! Åu6<3 ©®%…”O_iTÙ0$ ¿Þû?àeÖ¬ZEÓ¦Mk6’$ …غiùéNüP…¥ß}G£¦MiÙ¦ÍQG‘Ì•öý²e”íÙ“¨£˜BÐ,ÇWç“B×u‡¸ø|”îŠTWyJ˜& , S×®ÕJä !ˆ„Ã,üö[2³²Ò&·ß Y–)))¡÷ñÇ#⸠ÉÞ_~«úÑãvãp8ƒé:Ú Éီë|ýõ× 0 Ýûi çAAa!;wî䫹s©_¿>^¿#‘ Ì.UXP`Õ«HÛÜIËŠ‚yˆëzK²œÊæóûjåS5Òc”&$VR±¤½CÒøU(ÈÏ'‹±{×.DI ²,ãv»iÞ¼9.—‹Ý%%éN:T´¤ªŠ* Ó½Ó‰TÓ„ä·3G{‰MšðüÿÍ%ƒU±Ïëõ"+ Š¢ Ërªžúëuªªâp8RuRŽº6ÖÑ=Åo¼wš„Ý8`¾MÓ…BƒÁC²`ãñ8|ðA5¢`Á`ÊÊJ‚Á Ñh4E8ºtéÂüùó딈˜¦I$¡²²’P(´Oá¡4Žž ¸jºñ_s](&   ‡ÃV­‰#ÄáJ’ÄÌ™3ùûå—ïS ë`‘¬¢økûá`úÎ4ÍZda¯ÊÊJk,ösÞþ®ö_óW\WóiüA%’—^z‰×_Å‹³}ûvêÕ«÷»èr¹>|x5 cÁ‚ 6ŒæÍ›£ª*>ŸqãÆÑ³gO&NœH³fÍJj9Øßj~¿víZ®¿þzÊËËèÑ£>ú(@ =CþسgÝ{ö$77—œœ¼EÍ›sõÕWÓ²eK$IB–e’$aFŠÐ¸Ýn Ã@‘e°«†$I¨ªšÊý”H$RqÉkTUEA<Çáp (Jªc÷îÝçÀ IDATÝiQT”Êfër¹ªÕ߈Çã)ÉEUÕTÆdvÞyóçóæ›oòâ /àv»Ñ4 ‡Ãñ‹íQ¥“”|ƒQ#ɲL,㬳Îâ‹/¿D‹Å0ºIì[ëGUÌZŒúN‡­&3—&"lBræ™grâ‰'rÙe—Õ©TpÒI'1iÒ$wÞy'¯½ö={ödúôéœ{î¹æÍ›Ç[o½EEE½zõâꫯFUUÖ®]Ë—_~Iyy9Û¶m£M›6ÿ½óޝšüþø;ÉÝ-”ÑBPZʨ QÄ‚²dˆ ¢(QQ‘%¸¾àDY¢òs ŠÊ•-dC--Pé¼3Éï{o¸…"³…b>¯W^”Ü$Ï“äÉùœsžóœCŸ>}´R§¯¿þ:à¶ÛncàÀç´]±bEÞ{ï=’““9yò$]»vå§Ÿ~¢K—.ú¹AP»vm¦N™Bbb"Ç32˜4y2ÃGŒà‹Ï>Ãjµò÷ß3eêT²²²hv×]ô~ì1$ƒq¯¼B½ºuY½f ……… 4ˆªU«"Š"K–,á›o¿Åh4òè#ФIA`ä¨Q¤¦¦²xñb*W®Ìˆ—^âãO>aõêÕtíÚ•vmÛ’™™Éö;ˆŠŽÆétòλïAZZÁÁÁ {î9X±r%s¾ù†ÜÜ\6jÄ“}ú ( óçÏgÓ¦M <˜ÆÓ÷©§X²d _}ý5‚(òp÷îÜuç‚Àˆ‘#©[§ËW®¤ëƒR¾\9ì©õêiußÏgùùï{÷½÷hѼ9«V¯>ce\¤€WOvnÕϲXõûï$'%¦í³Z­ÌøôSºuízÁ>é(#®-UU‰‰‰¡B… ZÍê+…Óéd·Ù9ñjcÇŽ#ÈÙ1kÖ,222ÈÌÌä±Çc̘1¬X±‚éÓ§kûGÅÍ7ßÌ AƒXµj , mÛ¶8NÆÏâÅ‹1bD‘{QU•ððp’““QU•òåË#˲nÜhn1EÁVXˆÝf#<<œ^={²oß>róòÈËÏç©~ý¨S§#GŒà§_~áƒÉ“ -ZÄäÉ“yzÈêÕ­Kÿ°Z­¬Z½šñ&ÐçñÇy°K^|é%¶lÙ‚Ñhäó/¾à‡~`øðáìÙ³‡ûî¿‹Å éÛ¯YYYKOgÅŠ¸Ýn\.ïMœÀ3C‡’Íø 0Y,deeÑ£G^|ñE–-_ΧŸ}†ÙlæÎ;ï$55•§‡ ¡Íý÷³víZƽú*öèAGaÄÈ‘¬Y³ƒÉĬ¯¾bñO?1ìÙgiØ _̜ɤI“Î[Û£¸ï|ÇŽ=z”vmÛ^‘ð)IÇ32èþðÚ,°2hð`V,_Žå¬¬Ä:…”a"ñŸè¾Z0™L´k×®È5 +W®$::šŽ?ΠAƒ´çëÇ<@JJ ±±±tïÞeË–i&z‹-hР±±±4jÔˆ}ûö‘žžÎòåË?~<111Lš4‰ &¹7Rçž{ŽÈÈHZµj¥Ž•TT•   ŒF#ùyylÚ¸UQèÜ©+VdÄ‹/2wî\ÏØRžzê)¢*Wæø}ÍEá×_~¡ãаaCšÜz+M›4aÍÚµÐû±ÇHªY“>O<Á߇óTß¾Üq×]$&&²~Ý:ŒFc‘515jÔ ù=÷P©R%ìÒ…U«V¢Ð¾];’’“‰‰‰¡ëƒ²|ùr$I"<,Œ   ªT©Bxx8¿ýö-[´àÖ[oåæFhݪË–/×ÜföèA\\ƒ×_{LAAAq}‘y UUq:|2cíÛµ#,<¼ˆ…pIs$ÞóEÁårÑ­{wî¹çîiÑY–™0~gñ¤A’0¨ªŠÉdò¤ƒE&¼ù&[¶lAõZÞAÞªgªùœ &¨X±¢ÅÁ‘#GÀ;†CBB4…éBA3þn$I’X³f ?ýü3mÛ´aÉ/¿ ª*Ë—/§~ýú^”¢é»¦ÿµóóò1r$Š,S75•zuë2mÊ”b«4úˆHG´H| òÔ¼òUï.—‹õëן# A@’¤b- Á;É9jÔ(¾ùæ,XÀ#²³³)_®ƒ â‰jÕÈ/(ТŸ|nAèܹ3{÷î%1) I’èñÈ#š;4??_[ív»ÉÏÏ×úQཞ¾ë½nAAGØz¿‡¼ü|ƒƒyîÙgizûí$T«†$Šš¶ž””DA~>±ññtèÐwÞz‹;vP«vmA ëƒÒ©cG­?¾Iu£ÑÈÌ/¿$33“/>ÿœÂÂÂsž•â§ý»e™ÔÔTêÕ«‡$I¤gdðö;ïðÄOhÇ^ŠK±8ËÂátòðÃ{Ò'g庢[$×5„ò½'¨….•)=î¤MÝ8ÊU¬x^×Ö…ö_ªŸÚ'È/&|÷rúr¥ý×][¥S'Nœ 5Yºx11ññšEÉ`ðü+IÚâÄì“' ‹ˆ Ò;~Qä¯ýûIIMEv»1›Lš6«ª*²,#˲öŽ}.Qߘt»ÝȲŒÙlÖþ³ÙŒÝn×,hŸVï#ðÌI¸\.EAE F#‡ðÌúÚõ…û¼/äXEŒ§ƒÁ€$IÚý ‚ ‘™ožÅ®ìŽ|¾þøÚòyüÇ·ÑhdÑüù´lÕê¼î/ÿgpI¡(ò÷¡C”/_k@À¥[”¢È®; 㟬,ªV«F Õªý^XP€Óé$ªjUä+()`0ùiþ|‚BBP\.’ëÖ%ü ³J ‚À6Ÿ˜è‡^œÌÊ¢\däe=óÁh4²dáB,ªJBT¨\ùêXõ¢È½{±Q>"‚[Òÿ‹… [$—²ÿb Ë2Ç'::ú‚×*n~æRúr¥ý×I䯀ªª8Šñ»û¿cŸµqöo¾}¾ã‡ö·ŒÎ¾–ÿ9ŠŸãÞ>ø×ûðí÷™Ó+äÏnÿÿkwlqýño÷ß°óºàTõ²QúGI^NðŽú[†][%…b£EtèÐq}¸)¼Wûš¾ír®­+u:‘$I$&&ên#:®Sˆ’tÕ󗉢è!IB¸ "Eñ²ÎÓqƒ‰Ï?mÐKfêÐqýÁ;Gsµ••ÒnÐår±råJýÉëÐq=j–n·ûŒq•6€¸øxmÌ%oxÖ͈¢¨Ï—è‰'jåî»ïÖ][:JMÃÖqqe™Ø„¶lÚDÃ[n!À/*êZBQÒÓÓ±ÙlDU­Ê©ÌLýeý׉D‡ŽÒ"ƒÑH~~>Ö€«+/ØÕªWgÏÎ,[²Äíu±(Ї†R%&³É„ÙbñdcÖñß%‡ÃÁ?ü@Gïb):J†GT""#ùsï^âkÔÀjµê Ú.I))ÄÄÇãt:¯7’Á»fçðÁƒ„„‡c±ZA–¯ÊJwïˆÏ…öoÇ‚Ev͉¤¸z$:t”‘ÅÑÇq::‘\|ó×ÍûÄ3FHXྀп±Ûläää Š"N— ÑfC•eNž<‰ÃáÀd6¦-Õq‰är5xt\¢$D‘eBCB ¼¤T:®cåÍdà>_Q®Ë L»ÝΖ͛ Ãb±\·®V7E–errr(,(ÀbµR39ùª¯±¹á‰¤$R¤8N~þùgÚ¶m{Ák ‚@Ë–-yýõ×iذa‰“ÕÕ¼OטG(ZûBÒÉ ù*‘€d0°í?H¨Vª±± ªžªÞ46¾ö²,³oÏNž}šáÇ“‘‘A­Zµô ‰7’ðúÕõZeþe"ËòUOßr)Ž>‚.ƒHüÓ¼oذ¯¾úŠ7^YƒÉÉÉçìûý÷ßINN¦°°ÈÈHf̘@`` –R¡k×®˜¼i˜ùæ›ohÓ¦ ‚ P·n]zöìIHH§OŸfíÚµ$''3qâDN:EPP7¦}ûötëÖ­H©]€ÐÐP:wîÌîÝ»yÿý÷ÉÈÈ J•*ú¹HäØÑ£ìÚ¾ý²²Öê¸> &³™äÚµ‰‰Õ¼:ʈE";vì _¿~üôÓOT®\ùŠ&¡A 88¸È5dY¦Aƒ¼ÿþûTªT ëyVÔþôÓOŒ7ŽÌÌLl6µk×Öú‰Á`@UU‚ƒƒÉÍÍåï¿ÿ&88˜   Í¢úçŸp»Ýçäú ¤Aƒ4hЀ'N0gÎ5j¤2 Q9‘™É7R»^=L^©Ž² §ÝÎÎmÛ$‰è*UJ$ ·HšûËLy¯I1$²uëV^|ñE&Nœ¨ î+¢(?~œ¨¨¨"m Ê•+çY8VL­xEQèÔ©GŽ¡R¥JÌ;—?þø_Û©^½:ùùù¤§§Åo¿ýFTTTñÕWp8„‡‡SXXÈßÿM… ôÑQÖ·ÁÀæ©S¯aújè²n•„†Ò(0ukÖW¤ËÕ€Ýn'ëøq,V+åÊ•£Ðf#+3«ÕJ%?y¥ãˆÄ'Èo¹åBCC™6m'N¤F¼þúëWD$¹¹¹EˆÄív“——§Mdù“Hnn®–D®C‡¼òÊ+T©R…-[¶púôiÀ3ïâ_ãÄápPPP@PPo¼ñ<ò±±±8p€ÿû¿ÿ+B”‚ °ÿ~FŽI@@€VÖwèСúè(ë‚GÈÏÏÇ`4" O”–yÈ2AAAe ¸µTomyߌÏ:¹Ús2ÿ)"ñ=ÈmÛ¶i€Åb¹b-1))©ˆÕѸqc¾øâ BBBÎ9~Ù²e”/_€O>ù„'N`2™xì±Ç´>5mÚ”zõêi}ëÝ»·&4LÇŽ±ÛíuŽÅ“””Äûï¿Ó[Ú´|ùò„††êëHn2d¯pÐÝeŠ¢”Xþ/‹Åâq™yåÙb¡rT”6W¬ã2‰DjÖ¬yÕYÿìz$V«õ¼ó"U«VÕþ )–lÎ>?44Tû[’$bcc‹µ¶|0›ÍÄÇÇŸ×*ÓQ¶qµ5Ë‹,þn$ ï|÷SZ¶$'ÙAðõòŽO‘/=ƒô…qMꑬX±Bò:JO‹õÖ2W¼–É…6_ÐFq¿ À†M›ÈÉÉ9ï1Š¢pêÔ)öïßÛí>[²ŒÁ‘x±}»V[NN»wïÆåryž‘7ç”â]õ½yË 4×PIn%»ÝÎÑ#GÈ>u Qq8¤=Ê?ÙÙºRy½‰Édâž{îÑME¥g‘xÓ\\Ìf$&MžLzzº'ÍÊY¿K¢Èwßω'Šý]õº^þغ•fÌð$‹üøc²Oò¬íp»Y¸h¹^r-é¾”¨åªÏ‘” "Ñ¡£Ô-’±ü7Y–±X,,\¼˜ÂÂB¬V+Š¢`µZ1X­ØN^=šØ˜œN'‹£ÑˆÅbÁjµjó‰¢(b2™ÎX2‚€Õj%0 @ÛoµXøù×_ÉÌÊ"È›"È¿/F£Q»¶ÉdBVO?°ZE±Øë[,M šL&ŠôÍ׿ï~ƒ$a1›q»ÝXÌf ƒv?¾6âãâèÓ»7F£I’øù—_pË2³Añâ‹”/_Þ37©ªX-0›ÍÚý Ïý˜Ížgj0\²5R’¾9’råË™#‰(WNW|¯7"q8Ì›7O7u”‘x5Ù )‹ÅÂ+o¼ÁþèñØctzè!dYæ–ÛogĘ1Üzç¬úýwÚwé¶íÛ £u»vŒ}õU:téÂÍ›óëo¿iÚ,~íªÕ«¹«ysjÖ©C¿Aƒp»Ý|=g{öîå…—^¢Ù½÷²É›ÂÇGã^{ÑcÇÒ¡Kžè×ìS§xyÜ8jßt ›4áûùó5—Ýïk×Ò¬eKëÔ¡Í›ŸÍfãéçž#©^=nkÖŒ_—.Õ„ñüE‹¨×¨M›5còôétìÚ•Ê•*Ñ顇ÿÖ[tèÒ…[…?üÀÖmÛö⋸ÝnFËÖ­[éй3½úôA–eº>ü0‡BEö «°°—ÛMnn.y!!ZH®(ìMKÃn·Ó¡];N:Eïž=ùhÆ ò p¹\ÜÛ²%nïB € m¶KšƒPJh5ûE«Nב8N–,YB›6mô§¯£ô\[>ax!Aá'4}‘U^iƒ"Ë(¢¨iÞŠ·.ÆéÓ§5!›““ƒÅlöÔ³ðsSUŽæÁN°Ûl¢È½ziç^ëÆŸè|õ0DA@v»=áµ@ë–-©\©Ú¶%22’;v`·Ûq9ž i¯«AÀ‰¤È2n·§Ë…ÉhÄl2a·Û‘ÝnTE!?/Ok/áÊÞþøÚ÷‘q±ÏÄÛ¦¬(˜M&œN§dŸŸ€Ñ`Ðd¯Õ¥=ïK µ,¡„ŽÕ][%“ÉD›6mt×–ŽÒñlù,’‹u( áaa>r§Ó©iÛ>RðUÎó V£$ñÙÌ™œ:uŠï, /?Ÿ¦Mšàt¹4¡Y7%EUÙ¾cåË—Gþõ‚ P¡|yüù'N§³Hˆ²¿ ª*ÜÙ´)_Ìš…Õb!""‚#Gâr:IIIÁírñý‚8víÞí™Ûiܘ÷'M¢  €5ëÖáv¹(Aí” Xºb§sr˜þÉ'òó»W­¨“ïo_¼}³˜ÍÏÌôÔu÷„ËEõ„jT¯Î{|€ÓédÂÛoó@»vgݿ·_;×*üWUUBÃÃÉ:~ü_ ì¹\.Ü.—§Vüõfq_ŠEUBùÃnH×ÖõP¢W/|Y$>¡xÃá oŸ>|0e K~ý•WÆŒ¡víÚ˜M&dYÆ%ÔNNÆjµ"Ë2N—‹Î;òÒ˜1¸].¦¾ÿ>Š¢DLÕª¡k±ðê˜1L>O¿ø‚ˆðp:vè€Íf£ÿSO1áwØ0x0ƒúõ#©fMTUÅívS¥JÊ—+çi×å¢Wñˆ¸e™Ä5HNJÂl6ó¿W_eò´i|ùõ×ÄÇÆòÂsÏÑûÑGùlæLú B¹ˆ^xöYÂÃÂP…—GŽäƒiÓ0™L<Ø©¿,]ŠÓå¢fÍš„ãv»QU•ú©©È²L€ÕJ|\œ–š¤kçÎLœ4‰ø¸8F¾ø"É5kb4™ÈËÏgú¤I¼ùî»<úøã4jЀ!——GåJ•0!T‹' àÒ\[W™HdY¦îM7±iýz“’0$Av£·Ç:;“ƒËé¤üu–ƒÏ'[¹99‚àQbìvUåŸþAŒ&!!!Ú©«®°•ï=A-t©Léq'mêÆQ®bÅb…áù„ä¥Âår±uëV-³nq׺BxÑ¢E„„„pÇw\3˜2e ·ß~;uêÔÑ¥ùEâÔ‰ÚJbƒÑÈÒÅ‹‰‰×4)QµÈI’½µF²Ož$,"‚H¿ñk2™øæË/©V£Á—P·Ý`0`6›Q›ÝŽÕjÕ¢‹À“IÁét`µÒñ¡‡<`wßun— ‡ÃÛ»ÐP2<»7½ÙdBETUÅårár¹¼¡·ª—Äü'“Í&Š÷Xÿ{2š+Êîpœ¹¾7WQìv»v¼Ox8½}O»øøxPU JtTƒû÷GEöíu§PPP€$I¼÷ã{F¾0f»Í†ÅjÅáph¡Å³A‘e‡·&“I»wA0›Í¸\®Kš@7 lX¿žn={âò›S*,(ÀétUµªæ ¼Øo]EN:EFz:Èn¦þ²™cn”s”žÉÁT÷dÔ¨E@@À%ËAøcÃâ1{Ë`œÌÊ¢\d$Ö€€+›.p8ؼiAÁÁX-Oàƒ_ÍyE–±ÙlÍf’kÕÒÊr\²ûJ9°w/–  ÊGD°`ëAú±‚£pá)£GföìÙäççÓ´iS¦M›Fxxøeß´$IEÒ®‚ÀæÍ›ùä“OøßÿþGHH‚ 0vìX¢¢¢èÓ§Ïeµóûï¿S¹råË"A˜6m’$]vûóæÍ#**J'’ëÂÇ%\´[–e­° Õ1ñ ŸB› §Ë…Í;íÛ/+ ²WÐù„»Í{žÿ8S…B¿:)þBÊé%ÿ}>*î:ÅÕ[q:E&ñA@–e¾ýî;æÿðP·NëÑ—ËU¤6@aa¡v}ÿë¸ÝnÜÞûEŠ<UU‹½W×Y÷ãp8ι¿k¥ÕGDDNÅHßyÛø#¦>¦,™¢¨WY맦ëƒë×K\B‚VsÞßëû{ZY™™Tª\ùª÷ÿ‚®­û￟ÄàÁƒéСÃ¥8E‘"/ÃWâÖßlÍÊÊÒ’0ú˜Õ7p ƒ–«Ëáph‹¦|Z(Šˆ¢x&LSQ´ ²,k¥{UUÅáp›ˆòĉH’„ÓéDE CíÉ·0KUUí_ÿM&“'o_|aF£Qws].ϫܼß'¸ IDAT<¾›=Û#d½ZvY€$IôéÝ›§žxBû>|ó3ÿµ±yv¹ DAÁ+CDAÔÖ•wÎõÐÿÌŒ šÞu— ¡ú¹r}›Él&0(ˆœœ*U®|Õû!^èÃkܸ1ÙÙÙ¬[·“ÉĽ÷Þ{eþjE!##㜗á3uý™Ö‡Ó§O3dÈîºë.š5kÆÐ¡CÉÍÍ ::šðÄOиqc¾ýöÛ"¤%Ë2ï½÷>ú(_}õÕªUÓ~_µjU‘tö>¤§§óóÏ?óé§ŸòÀ0{ölŽ;F×®]µ>Lœ8Q› ‰‰aàÀôêÕ‹[o½µÑŠ¢Haa!C‡eàÀzº…Ò$¯{Ì÷̯vbAŸv_çÀ|Ê•OÁñiÛ׫à{k²wÍŠžHñŒ¥í«çt1ãU)¡u8tm¹ÝnöìÙòeËX¹r%ý(]ÎÀS…Ó§OSÙ%I"--Áƒcö.\úé§ŸèÝ»7óçÏ'''‡uëÖ¡( Ý»wgΜ9<þøã„……ѨQ#úôéÃæÍ›iÕª>ø V‹bÈ!˜L&>ùä™0a+W®äŽ;îà•W^ÑîÇQQQ´oß“ÉÄ!CxüñǹõÖ[6ltîÜ™–-[’œœLpp0ݺuã®»îbÑ¢E¼ôÒK¬Y³Q9~ü8ƒ "%%…gžy¦D4cçwQÕLNæàX-–+. ãÚÂívsäðaât…ì:³.Hc’$ѱcG:vìÈŠ+xðÁÉÌ̼ìÎûj¶Ÿ=¡I»ví Âd2qðàAíœýû÷sË-·h­Y³fìß¿_Óø6l@||<ÙÙÙ€gBtâĉT©R… 6h×1b'N$99™#GŽÐ½{w²³³éÓ§+V¬ 00¿ÿþ»ˆ¿ØWeÑWìªR¥JT­Z•#GŽœœLxx8 Ô¨Qƒ¼+›­V+ãÆãÎ;ïÔHäz3od(²LõÄDœN'{÷ì9ãÓ×Q&a0ˆªR…”:uôî×Û»¹­N’$A ""¢H%ÂË5SE)9 ( áááÜqÇZ-‘˜˜í÷°°0Nœ8¡›žžNDDÄ¿¶SXXÈØ±cY¸p!C† Ñ,N:1yòdÆŽK—.]$‰ˆˆæÎ{ËûˆÄl6c6›ÉÌ̤víÚ’››K¹rå.؇wß}—©S§òÑGi÷ºERºH©S‡Úuë–HU=¥êãò¸¸| 9õ÷Y¬|õwß–Öz½ ÉСC¹ýöÛq»ÝLž<™—^z銄¡ËåbåÊ•4oÞ¼ÈÍúÂ$ýói­[·æé§ŸfÖ¬Y€gnÃG gŸç3yÝn7,X°€=z0|øpFŒÕjåî»ïfܸqlß¾ý¼ý¬V­óæÍã—_~!11‘=z0~üxl6iiiR­Z5mÂÞ×ßÿ}}“$‰ï¿ÿžÎ;#={öÔÂ7u”žÙï[à§Cwçܨp:d?ŽÙl¦\ùòØ ÉÊÌÄb±P±&Ø/‰Hš4iŸþ‰ Œ9’Ö­[_‘6`2™hÞ¼y‘kT«V¾}û©røÐC @íÚµyë­·øõ×_‰'j!µ/¿ü2UªT €÷Þ{€víÚÀÔ©S™3g………qÇwpûí·sÞ{i×®n·›Í›7c±XèÔ©ááálذàà`Þ}÷]Ê•+‡¢( >\ ‰®X±"cÆŒ`РAÔ­[—àà`¦OŸÎ’%Ktß®:JÎñfgð·NJà hø·NtëÖ­Äo>**ªHô”ªª4kÖ¬ˆå“ššJjjê9ýëÕ«—ö‹ÅÂ!CPU•Ûn»MÛÄc=¦³jÕ*Ú´iS¤$ïÙ}²X,tï޽Ⱦ»ï¾›»ï¾»È>Qµg¤ª*áááôìÙUU騱£¶?66VwméС£Ä`2›©­yfÌf³gÍH)¸¸Ä3ÿ-÷ÌåÂáp0wî\íÅ]ëœØî‹èßÅþÊúõëyÂC±÷w1û.¦ºY^úZšý½þ ‚g>Û·îÅ[ƒ^K>¥b©çÚ2›ÍtêÔéšhå¾ÚÓþƒQê7¶°§ÓI^^^‰ÅÐë(ˆ¢H@``¸Ž3¸®çHn´¨[ÿ- Íåt²sûvBÂÂó ùùù×´Wº)ºr.–VKòÉ•ºE"Š"¡¡¡WmŽDŸkÑq1Z¬ZŠA`ÏîÝüðÃü¾jؽ¢ŠÓ$ý÷«ªê þÇzsLïü³Û.ÑÑÑ´nÕ £×g~1}¹Ðo×DÖ3Cœ£$…†‡“™‘ADùòçç²,ã´Û¯¸ãeÉyûe oEQÈÊÊ¢R¥J—t­ó'§OŸ&==ÄÄÄ‹Ê˵K'1ݵu¾vÓæÍ¸Ün~_³†›RS‰ŠŠâð‘#Ø¿AIªYS+¥°~ýz"""HÏÈ ZB•*WfÛÙb¡aƒp<3“´½{‘e™„„bcc‹¤Ü1 lÙ²…°°0233qË2)))„†„`µ­U;Ü·¿§´¬ P£zubãâ@Uùã?'##—Ëå9?, HÏÈ`_Z*X£UªT)õ}NäܱV÷¦›Ø¸~=Iµja6™DáLÍyYA‘rrsÉÏË#¹víkg‘‚À’%KX´ho¿ýö%T…ììlHAàðáÃLž<™“'Oj5;wîLÛ¶mµ?A˜5k«V­ÂápP®\9zöìIíÚµ9|ø0‹/fÈ!%F$‚ °wï^æÏŸÏ±cÇx衇hÒ¤‰>’ˈERÚ÷¡C‡8uò$[·n%&&›ÝÎó/¼@Rb"²¢ðá‡2~üxj$&ò@ÇŽ´jÝšzuëÅ[o½Å†iØ yyyÄÅÆ"JÇ'::‹ÅÂÇŸ|ÂÈ#HJNÖ´P£ÙÌÀAƒ ¥ëƒ²oß>>œ>/>ûŒ?¶nåãO>aò¤IXÌf¾Ÿ?E–ÉÏÏgܸqÌš5‹ø„†<ý4ááátèЛ6!|ðGfØóχÁ``Ò¤IL?ž„jÕJÕÚÓiä\yFêM7‘~ìªìbƲ­.Wc^]ŒÄD†Lbr2V‹¥D”_ÃÅÐcÇŽ1cÆ fÏžÍøñ㯈H µjÕ*¢Í>|˜ 60jÔ(‚ƒƒQ…*UªœsÃóæÍ£|ùò 6Œ… ÒªU+öíÛGݺu©[·î%YU²*Š;çèÑ£ >̺uët")3n·›'Ÿ|’°°0BCC9r¤öï¼óNFŽI“&MˆÕr~¹\.Þ~ûm"##‰ŒŒä7Þ8'——ªª4oÞœgŸ}–š5kê&v#_Èhimno t—Ë…Ëå"33“¸¸8AðœT«FFFª,#J111ȲÌ?ÿ$((ˆ*118ÏŽ?·ӧS3)‰ÄÄD^{ã $IÒJåú\\²¢P31§Ã IT­R…ýû÷#ú¥Ów»Ýüïÿ#>>žØ˜æÎ›§Õ’…¸¸8\N'¸Ýn\.éÄÄÄ Iªª’œ”¤¹¿Jó¹êßݹ2±HÞBÑ3¾´šó~Û¿å7,1"ñ±ÖÞ½{Ù°a]ºt¹* º\.~ûí·¢EþùçV¯^ͲeËXºti±uÝEQ䯿þbÆ ¼õÖ[„††R«V­"…²A`àÀœ>}šœœæÍ›Çüùó5mm×®]¬Y³†_ý•aÆðÛo¿1þ|>LFFK–,áË/¿<ç…ùØ_GÙÓØ®E„‘ÿwT¹reözç7Ü.»vï&:*êÌ÷ÖP¯ž@AAûöîÅb±àv¹p»\DU®L¿¾}IÛ³‡}ûöqäÐ!ž}æDQ<Óžªb$V®Z…Á` ?7—½ii$'%áv»µ¾ìÚ½›/gÍâÀ¾}ü}ø0mÛ´Ñjèøú¢ž ;}û´Ê¡lÝJ•èh$¿öKó¹ê¸¾`ø7¦s:<ÿüóLž<™ *h«I/×<2™L´hÑ¢Èù‚ Í/¿ü‚ÙlF–e‚ƒƒ‹Ôu÷ÉX´h’$ñÝwßTdpI’D~~>/¾ø¢VýpÇŽ´o߇ÃÁàÁƒˆÕÊònÞ¼™ûî»O»·=z°iÓ&~øa}„Ü&IéÏ“¸\ * ¢ оm[FŽM¿þý5KÿÞ–-AUÉÍÍõX0²L…ÈHƾü2ý ðX.Ã_xvíÚñêk¯ÑãÑG±X,ˆ¢H÷nÝhØ Á™ñ¯ª¢È¡¿ÿæé¡CùóÏ?¹»Y35lÈŠ+(,,D‘eÊGDÍèÑ£ bÇŽTˆŒ&“‰N:a$ rs™ùÙgDDDàp8$‰ëÖ¡( ‘‘‘¼9aÇP©bE"""JÝB×-’2H$-Z´ ++ QÉËË#))‰yóæQ±bÅËnÐáp°hÑ":uêTD¸+ŠB~~¾¥e2™°X,|úé§TªT‰V­Z]”¿0;;Q¹å–[(((`Ñ¢EôíÛ÷_Ϲ뮻0`<òˆÖæk¯½vÎq¾ò½N§»ÝŽÍfÓóý”"¹mZ,¢Î²¨#""ˆˆˆ8G(&$$œ£ÅÅÅ#@C‚ƒ ñV ý7ëËd4’˜˜XD  Ào AT1iÅeY&&&¦ˆ‚ä¿x8,,Œ°°0]¨ë¸x"QU³ÙL¤×ä  iÓ¦T¨PƒÁpÙšxqõH"""°ÙlZ_—ËÅ£>ʈ#HKKÓ>ˆZµjiÝ!!!$z£W4hÀ<@ûöí©Zµ*Ï<óŒ6øëÕ«§}È¢(rë­·ШQ#FŒAïÞ½QU•áÇsï½÷žs+V¬`ðàÁzµÌO?ý”}ûöé£è:‡((ÿ«QQêÔ­«ñÑRôŒ¿e‹HÎŽX²Z­üúë¯WÝ£ª*ÉÉÉüòË/ÅþöÆohÉØ±cÏi_UÕsÂGŒQìGöþûïkç ~øáíZíÛ·§}ûöçÕ¶TUåž{îa×®]ź¼t\ÇD"Iˆÿí¹ÐfãÃiÓp:¸\.DoÊ õ.½îhe„HÎG*Wªé8N~ùåî¿ÿþ ^ëìùŒâö_l_.õü‹½gDʆû_ÐdÀf·käyCÞ£$yæOõa]öˆäjÂd2qÿý÷ëš¼Ž‡ªª‡„pòÄ ÊGFêšlY'Aàtv6¡aaºeò_':J ²,S+%…Í7’\»6‹®É–a8NöîÞM\Bf“I ÿe"q»ÝlÛ¶ èO_G‰BQBBC©•’Âñôtv»®Å–aFâââ ×VØë^ÿ(‘ˆ¢HµjÕô'¯£ÔÈ$,,Œ@Y-ÓÎL¸ë$ò'’°°0} è(¹S|°†ŽëÝê¸ö(õ¯ËWD:tèСɉ:tè¸1Pê®-ƒÁ@íÚµu×–ŽRê­¿!Ý ë*þkðO'¯Ë2B$ÿVôér_¢/žÏg}¥¥v}¿)ŠR$ç~I¤«ý,t”<Aàè‘#ìß·—Ó©?²,¬ ªÄÄP­zu}½,‰ ìÙ³ÇS€Ç+¬ëׯO¹rå.»A—ËÅòåËiÙ²¥ÖF^^;vìÀf³iZGµjÕˆ/’mwß¾}¤§§#Ë2‹…¤¤$Ê•+Ǻuë˜9s&&L 00°ÄÒ±cÇ8rä………”+WŽ””]Ó½žIDÉ8vŒãÇÓ²uk­" Ž² §ÓÉúßçàÁƒE’Iê¸Î‰à¹çžÃn·Ó¨Q#ìv;±±±WD$&“‰–-[Ñ&¶nÝJ¯^½¸ï¾û<Å|Ünî»ï>âã㋜;lØ0ÒÓÓiÕª»wï&//~ø P«V­ófâ½Z¥vß{ï=l6’$±}ûvºvíú¯™…u\[H¢HÚž=´¸ÿ~ƒ‚p»ÝúC)ËïS’¸µiSæû-111˜ôE‰e‡HBCCéÛ·/mÛ¶-1wŽ Ô­[—×_àI“m2™èС#FŒÀf³Q©R%vìØÑhdîܹ<ï­9ýòË/3wî\OmêgŸ¥wïÞ<þøãÜrË-,\¸ììlÞ|óM-ðœ9sxíµ×PU•^xîÝ»Ÿ³æàÙgŸ%<<³ÙÌ‚ xíµ×t"¹ž-oå`Dn¨ªŠÁhÔ궘Íf}]PY!§ÓI¯^½ ¤cÇŽ¼óÎ;W“_\=ß q:Úï«3|6|¿oذ‡ÃAll,iii9rD«ß´iSÆŽËÉ“'IMM¥zõêÜqÇ=z”Ï?ÿœU«Vñûï¿Ó¿þøãÖ­[Ç„ X¸p!f³™Ö­[Æ}÷ÝW¤íJ•*i=z”êÕ«ë#¨Œ «U€ÉWpíz$M+úZôÑ?#·Žÿ.È£G&--õë׳sçÎ+.?ë_Dc3ƒM›6ѬY3n¾ùfêׯÏÂ… ‹µH>üðC5jÄ3Ï<ÃÌ™3)W®\!!I 4`Æ ¤§§sï½÷²råJÄž{î96lÈ_ýÀÊ•+iÛ¶-U«V¥B… <þøã,_¾¼X°zõj¾ùæ^~ùe}•"¹uÂ].ëׯ/R'ýR6I’ŠLûÒ|\é&Ë2;wîÄn·#Š"›7oö”Èõ~[>bù·þ\é&‡æØ±c%[³]/µ[¶ˆÄ÷âêÖ­Kùòå©\¹2o¼ñ ,¸êp»Ý4jÔˆ•+W²yóf¶mÛFûöíÏÑlœN'ýû÷gãÆlÞ¼™Î;Ÿ£eeeѳgO~þùg–/_®MÎûîÉh4±x|…´|û}dw¶+Ä÷±,Y²„Q£F1~üxjÔ¨¡k_eHåLÝöËÜàŸþáŽ;ïÄ`4^òùIâÇŸ~bÓ¦Mˆ‚@ZZóæÍóm»Â¾Ùm6ž|òIÒÃ`42yòdÿý7&³™éÓ§³cÇ$Q,rŽ$Š,Y²„+V xømIbúôéÌüòË«r½ómú÷VƈÄWŸ|É’%Øl6FM‹-®¨A§ÓÉâŋϙc‘$‰€€€sê¢ÿüóÏlܸñ« 8ZE:ÄáÇyùå—:t(GŽ)â"óãïhܸ1‹-¢  —ËŧŸ~ÊÍ7ß|‰|ýõ׌1‚™3gÒ¸qc}ôÜè‰Wû5[­Íf,fs‘œ]f³³ÕêùÝhÔ\hf«³Å¢ý&¢(²rÅ ¶oߎ d¤§³lÙ2¼ÇúÖFø6ß¹f«“Éä¹®ÅRäº&“IÇ‚€Ãfã£éÓIIIùè#DQ¤W¯^|ôÑG4oтÇ!‰"ª¢ È2ó¿ÿžÉS¦ðùgŸa$^ýuòss æÐÁƒ¨^Wóe¾L}@—%"¹Ø¸—3²cÇnºé¦KjçZ–Ú-©g¡£”ˆÄë6º$S]IÛ·ììlúöï½°îݺñÎ;ïàv:Ù²e :uBEiÕª;vì }»v˜ÌfZ·j…Ëá qãÆ:t€„„mrÜf³á°Ûùçôi,‹Fx²,O•èhzõìIõêÕéýØc(Š‚Ýn§ç£b·Û1›ÍÜܨ+W­"55µ¨«×ï^eY¦ ?—ÃÓoe¿ÛåÂápPXXˆ­ £ÑˆÃáàá‡F–e\ùùT¬X‘o¿ý–?¤  €Ó§Oc·ÛÙµkåÊ—§y‹äå‰ÑhÄ`2ñíܹœ8y’Í7F¡ÍFÇ ÿÀTˆŒ¤Ç#yÙïRщ¤lº¶®zƒ¢H\\œþäu”ªEr©›¢(˜ŒF-PCQÜn÷™9ƒA+”åò¾yÿ6}!é>%J–emþ¥¸h*YQ¨\©S§L¡_ß¾8Úuè€è¾:}ú´v^Aa!&£Q›_Qü¬ÍÝ¥(wÖÙ÷ç7×áë§ $ Y–‘…ÑcÆpâäI:wêD«V­ öd•°ZqØípÖ¼ŽËéäî»ï&**ŠOfÌ@’$ŒÓ¦NeЀT«V®Ýº]ö;Ñ£¶t")B$ááắSGi2‰Ç*¹„M‘eªU#¥V-&Oš„ÕbaöìÙäb$noÚ”Y_}EFz:<ÈÏK–аAƒ3Ö€ª‚/ZÌ÷¿~X-þùçv;Š,k¿I‚À®;9zä©õꑜ”DFF‹…©~È_²g÷n–/_ν-[zÎ÷°gó³J*V¨À¾´4íúþ} ãïC‡PdùœÈ6·ÓÉ‘£G¹¹aC’““±Ûl8pE–iX¿>3fÌ@UvlßNö©S¨ªJ¹ˆ/\È‚ ˜6m‡þú‹-[¶T³&©õêyÂ’Ïz—²é®-H4ÍîĉºKHG©Ž¹Ë±HòrrX8>Ë—/§]‡X­Vš6i‚Ûå¢e‹<Ö«]»wç©þýþÂÀüöÓ IDAT ÜÖ¤ .—‹ºuëb±XI’hذ!ŠÛ}ÆrPRSSIˆ§Õý÷óêk¯a±X´ßœN'/¾ôõ5â‹/¾à§Å‹‘l6OÌ Ã‡Ó³wo^xî9­ÚhRR&“ ·ÛMJJ A8 5r$ËW¬à®»ïÖæ;}!ï]|Ó994½óNþïÓO©–@… ´ˆ´Q/½Ä¤)Sxªo_Ö®]K‡öí1 ˆ¢ÈW3gòÝ÷ßskÓ¦üoÂ$I"**Š *`4ùâóÏY¾b<ÈÔ?äÖÛnãÙçžã£?,’Á÷’ß‹N$×% ×â£>~üøùIuè¸×Öåœg±XøzÖ,Í5õü°aäææ"={ô ÏOxÖr88æ|ý5………8NÂÂÂXµ|9999E”'‹Å«¯¼ÂÿÞx—ËEAAà™ÓHMMeÙo¿i.,›Í†[–Q…à  æ÷ªªâðÎ{˜Íf¦Lš„Íf£  €Ï?ý»Ý®åÆûÕ/„ßu&Ë2ááá|ñÙgˆ¢¨õ< weY¦víÚZ[¾çg·ÛQ…øøx¾Ÿ7QQ…‚‚ëÙS;¿Bd$³fÎÄápкU+Ï¥÷99¯$ ³N$:‘€g¥m:uôh'¥ÿµI—C&>!ï’¾k9œN~BÑ·???_û¿ªªäåå›îÇæ®OÈû®áƒÑhÄn·ãp8(((Ðæn|(,,Ô®ãë¯ (ŠRäZþíœ}og#Ëòy/î7AøÚõý~öâÞ+úîu™¡‰oð^ñ`Ò¡ã Jb×dN'ï½û®Ç:ðÞÓò]zƒtüljÄår±lÙ2î½÷^ýéë(5ás%‰F¯7ëê¿®èJ¨N$˜L&î½÷^ݵ¥£T¬_£ÑˆÃéô¤Ñ5Ù²M"Þ²f³Yÿu"¹Þÿ ù ÛÕ&?LKŠ¢P­F Ö®^ÍmwÜQbÕ3u”l6Ö®%&6¶Èš×9‘— ñJ&.¡øz$þ©¨}×ö-äºØ¶|ç_Špúõë3qâDn¿ýöbq¹\4iÒ„¹sçsŤ¡ª*~ø!GŽáµ×^ÓG` I•ªUq8ü¼hN‡]ô”]XÌf¢ªV¥\… ZÂJ]+D"§NbôèÑ,[¶ EQxüñÇ6lØe7è_Ä7V¬XÁ«¯¾Êœ9s<Õ ãââ3fÌ¿’œâFÿ/VóŸ6m‰‰‰$ƒÁpQ×<ßþ³Lê@éXœÕ«W§jÕªÚÊte¾.¾Êˆú7TˆÄ÷¢Æ‡Ñhd÷îÝœ8qâêwÂ` 88¸ÈÀÐr>}šÙ³g“––Fpp0Ý»w§fÍš¼ûî»$%%±víZ:uêIJeËHLLdçÎȲÌÀ &##ƒÏ>ûŒ'NI=ˆŽŽfÛ¶mTªT‰°°0¾ùæÖ­[‡Éd¢wïÞ$$$°téR¶nÝJtt4 ÐêEÿßÿý[·n%>>ž>}úÀ±cÇX±b¤§§Ó·o_>Ì·ß~KXX˜–åXGÉ ßX6™LºoýRôïçú‚x¡ðã?&88˜:uêСC‡s^è¥Âétòã?ž3 ¡¡¡gÌX/‰äååF÷îÝIHHà©§ž"33€wÞy‡¯¾úŠ.]ºœœÌ;ï¼Ã¬Y³èÒ¥ ááá´nÝøöÎ;>Šj{àß™mÙ’Mo $„ Eš •bÅò+ö‚`{bħ""àïÙ¥XžøD¤(=¡“„" Ho[gç÷GvÇl}úÞ|?>$Ù;wî½sÎ=çÞ{<ùä“„††ríµ×Ò§Oeþ¼yó”L‰?þ8ï¼óãÇgÈ!JøùÂÂBöíÛÇ„ X»v-3gÎs¸¯\¹’)S¦PXXȽ÷Þ‹ œ8q‚iÓ¦ÂØ±c9yò$>ø YYYôêÕ‹¹sçú=ŸÊiÆ ànâ<’÷´ô/ !õß_ûŸÊ_еU__OCC%%%ìÞ½›¿ÿýïôìÙ“ÂÂÂ_=#Ðëõ\tÑE~¦©N§ãûï¿',,LY)//çùçŸ ..Ž«®º Y–éÒ¥ ßÿ=»wï&** £ÑÈ”)SèÒ¥‹â:›·X¯^½¸ôÒKyçwç•W^!==ôôtN:¥l?®©©Qb}öÙg¼ÿþûtêÔ‰ôôt¶mÛ† ÔÔÔ(ÊÊãñ4†Â>üðCæÎKÇŽ¹÷Þ{™?>‚ àv»ýâ 2„ÈÈHFŒÁ¸qãAy6•3ã‘$zõëGM]Ç‹‹q:JÊäŠòröíÙƒÞ` CÇŽª•§¢òŸr„ßðw¹Á%óúÄA\š‘HXT”ßìû\·Óž-g:÷q¶[û^JJ ~ø¡’ñlêp¶Ït6ßoþ÷³­¿J#å§N)^u:_}þ9ã'M¢¾¶–=»vqôÈ\’„˜ÌfÒ32hËáC‡\.b~ƒµ¬ò×¥¡¾§ÓI›¸8$·ûW¿Wf£ž-$§ódж²zlº&Åü6!+änÙBRJ ïnO€²“' ‹ˆÀh2·v0õd=ö?¤\‡¡d+†™ÉJK:?V‡(r0/‹…ðÐPVî8ÌíK×bÒ ¿|Žä\þ~V3L‡ŠŠ eÍàLg.~é^­}ÏårõîŽsMÙ{®)zÏ¥þ*gÆ`0гOzöî­ä³¼ ™ÔÝ<**R×Öïæªðx(..þÝÊ¿ÿþûiÓ¦Ú³ÿeÈ4º@].N§—Ó‰ÛåRÝY**þ#ùH222~·Ž,ËÜqÇÊÏêŒÿ¿h jµx$ W3ÅáËD¨¢¢ò?d‘4«u¾9WW•Ê_‡µßÏ–-[~vc 2ð̳Ï*qÙTTTþG‰ËåbÕªUjË«œmÚ¶åÍ·Þb×®]¡áívfÍšEhh¨{IEåüÍJEdþ“AƒüN®þ#ùH.¼ðBÕõ¤rN¤tìÈC>ÈsÏ=ÇèË.#?/ø¸8n¼ñFe+¸ŠÊyÀ8]. G6¡©(ÂÃoÛ±õÇË9§[j¬M ’Üå¼”úK5­:pTþ ¸œN’SR˜9k7Þx#ÙYYLœ8$ýϦUi*?ϰ¶Ù¼wÇe±ÛH 1"ø7VKhÜÎîuÅú çß¡lv'oO…[’I$6,è<5¯ ´³ügP$­å#QQ9Ün7‘|üÑGÞÁ­:´T 1{¢Ó»“ï7Oe:Ą׺ÕÕÕa2›Ñ4K÷¬Õj©««#ÀhôÖ¿,Ó>:ôw›Ì‰¢ˆ¾•¨¸"i-‰ŠÊ/ ïK(Ó¸SË#IH¢/¿ËINv•_‡Þ`ÀårQzü8Ö  ?Íxp:”=JD›6éž%I‘{«•ãEE²Üx(ñO,e‡ŠòrdÀØÂÕõsm©JDå¬fX’ÄŽíÛ‘¼I©”Þƒˆ‚ j4T”—Ó66Vm°ÿá‰Fdt4•㑤?…`ÖéõD´iÓVªYÆYNGtÛ¶TUTP^Qìñüi•‰ Š˜-B‚‚д‰[Û\¸WUT¨£Rå?3Xß0åw·ÛM¿ììF¡ð „††bþ 1àTþÚȲŒN«%"",+ë†1-ˆ""øoSd‡ƒÈ¨¨FퟤÎgšü‹‚àgUÖ"‘¼ UTþ ÂÁ¦_Eål<‚  ù c™fçܼÊÄgMýÅ»¥E¨A•ß‚ªHTTTTTTE¢¢¢¢¢òQ$j •sV$••• 1‚'N¨[vUTTTTÎ]‘‚€ÅbAEÀl6£×ée™€€ ´XÐjµÈ²Œ^¯' @Ùï¯Õj1™L~9ÌUTTTTþ‡‰òEA@Àu“&ñÞ?ÿI ÅœyóèÙ«ƒ‡ cóæÍèõz¼ý6sæÎÅh4"Š"Ûsr¸íöÛÑëõªE£¢¢¢ò¿ªHDAÀîp0pð`Ò;wææ›nbæ3ϰzõj¾úòKf=ý4OΘÁ‰'4p Ÿ|ú)555 Þ|óMRÓÒU%¢¢¢¢ò_I«!RÜn7.§Y–q»ÝTTTpŸqL¿ÿ~&OžÌÉ“'ùú›o¸gÚ4>ŒÉhÄåvsøðaºvíJ»víØž“C÷nÝø×ªU¼üòËÔ74àt8ÔWQQQù«!h4šÓz–ü‰n—›’cÇÐy×:·$ECCz½V‹V«eÇÎ8xY–¹ä’Kˆ‹#ÐjeÐÀìÞ³‡õ?üÀØ1chGñÑ£8NT»DEEE寅G–©¯¯Çh2zæ)‚ RZ\LpXÑmÚ Ë2•••DGG3ç•Wxè‘G8xè¯ÍŸO׌ xñ…@£a×δmÛ€¾ýúñüóÏóù_°g×.lõõ‡„¦öˆŠŠŠÊ_ YÆÖÐÀ±£G±Ûí˜LÆ3)h¨¯§Sçθ½ÑV=’„G’°Z­,ÿì3®¸òJîºóN^}å~äBÂÑ$‰ž={òÞÒ¥éttNKC–eúôíKRRN¯› Gí•¿‚ `4"ИSÊl2^‘ø4V¯ÇåMʺuëh¨¯ÇårñÅçŸãñxhhhàå—^âÕ9s”ëêëêÐétèt:¦Ýy§’Uݱ¥¢¢¢òW5HäÆà’²ŒÔŠA =Ó´Ÿ‚úúzåg›ÍÖâR»ÝÎm·ßŽÝn'++Ë?t²ŠŠŠŠÊ_Ò"iíç3+’߀V«eâuב˜”„ÅlV{@EEE応ßE‘ôïß_mY•ÿÔè¿*****ŒE¢Ñh”L^I’”œÙ¿_9F£Qûs•êêþðø\¾ø`z½¾Õ5 ßó¾‚ `6›¡IÆ´úÚÚßý¾‹›Í†ÔJ ÍóuḩÑhÙ;Ž<çqý–úét:´Z-v»ýOù¢šM&l6uÍQå¯g‘ÈÞÂ.§“[·òù'Ÿðù'Ÿ»e N§QÏ(è}BÙ¨ü3™L‚¤Éu‚  Õjyè‘GHOO§[×®ôíÓ‡“'Ož±l³Å‚Î@²ùgƒs` ò¹,Ëh4ÌÆÓÖ[víÞÍC?¬l,ø#Q¹ñ¦›èœ–F×®]ÉÎÎ>cûz<ÌJÀÌ_ƒF£áª«¯æàÁƒh4šßíÙ4Z-U••ü°f +>úˆ¯—/çÀ¾}ˆ¢Øb<´†¯?}ÿšö«¯ÏüÚ£éøómõ%E¾[³†gž}§Óù§{Im6“¯¿žââbU‰¨üõ‰ ÔTVòåòåÔÙíô4ˆ>ƒSïpðåòåTUVžVø^âÕ«WÓ½[7t:ÜxÓMœêÒK ù]¬?Ÿ@?°?«W­ÂBöˆ¤÷ìÉÁÇùâ³ÏÜî3Ž#—ËÅÜyóˆ‹C§Ó‘‘‘Áò+%`4yâ©§Õ«W£×ëÑëõ¬]·A˜9k§­c|\}ûô9keúGZÊZ­–‹.¼‹Å¢J,•¿–kK<k¿ûŽÌ¾}IíÜYù,66–ùùlûñGF«mñ’X´x1Ó|þùO†\p555,_¾œ7rÅWàñîG¶ÙlìØ¹“ÐöìÝ‹ÅbQ‚<ʲÌÑ£G)//GÚ¶mKLt4•ååÔÕÕQXXÈž={ˆ‰‰!00P©ƒÛí¦W¯^¼ôÊ+Œ7€¹sçÒ·o߯32¢HEe%ÇÃårLRb"‚ H§N¡Ò`³qøÐ!œ.Q‘‘ÄÅÅpðàAÌ eeeX1PQQAZjªòl>·MMM …EE¸].¢££iãࣺºšœœ¢¢¢Ø»w/.¯põ=KQQÕÕÕˆ ññ„‡‡s²´›ÍÆáÇ‰Ž‰!>.NQª¢(røða, 'NœÀ-ItLI¡¦¦†ãÇHbb"Z­–=z`2™E‘}ûöLyEI"99¹±LA ´¤„’ÒR´ !Ë2ùùù˜ÍfÊËËéÒ¥‹âõ£ªŠ òó¹tì܆NT90ZC}er6ýȦõë0dH‹Ù¶ÏåôÔŒlذU_MJÇŽìܱƒï×®¥¦¦Æ¿Ï].úôîÍ«sæpñŃ ðÒK/ѧwo\.¢(RVVFqq1n·›ÐÐPÇh4*u¨­­åÈ‘#¸Ýn¢££•¨ ùùùX­VN••‚F£¡º¦†N;*}‡¶ŠŠŠ¨««C«Ó‘˜€ÕjõsM‰¢H~A!ÁÁ”””ššÊ©²2JŠ‹ %>>FC×nÝPú(((ˆÊÊJdY&%%N‡ =z”“§NaÐëIJJÂd2áñx8tèz½žªª*ºu릦tPùc‰F£awn.‘mÚ(JÄ7øA ¹cGd·›ý{öеG$IòN§“‡~˜¥‹3bÄìv;aááÜxÓMÔÕÔ(/Tee%{÷îåÐáì\±‚áÇ#x…‘ÛífÉÒ¥ÔÖÖR__ÏOGŽðK—RVVFEE[¶nÅér1æ²Ë°Z­J].CæÛÕ«Ù¶};a¡¡—”pé%—pðÀV­ZÅŽÜ\<²ÌÞ}û¸ïž{:t(»vïfÞ¼y¼>>V«•3fP\\Ltt4»vïæÙY³8x0·Ýqf³™~}ûÒ%=ªª*>úäV}ýµßÙ›ÊÊJžœ1ÉíÆd2QRZÊ#=Dzz:Q9zô(¤®®Ž¯þõ/úôîí×>‹—,ÁápPUU…Ífã­7ßdï¾}TWW³~êkj¸öškEb4™¸÷þûш"éééìܹ“äädt:.—‹ÜÜ\f̘AÖ€\~å•,~÷]úôíËè1cÈ0€ÌÌLÖoØ@—ôtfÍœÉÖmÛxú駉‹‹£¡¡^ÏŒ§ž"2"‚ † ãòË/',4”´´´Š$ß>Ò»fpÂeaâÜ]l˯ÁhÖ2óÊD?¹›7s´°øÄD?'Š"•••üã7زi:tÀn³‘––FFF‡Ão}Åér1|øp¾]½š½{÷¢Ñh(+/gÔ¥—ÒÐЀ¨Õ²båJòóóñH»vïfÖ¬YôëÛ—Õ«Wóïo¿å¥Ù³‘Gœúº:BBBÈÏÏç…矧WŸ>L¸öZ:´oO÷ÌLúõíË¡C‡øvõj–/[¦ô9ÀñãÇY²t)n—‹SeeXyîÙg16±ŠŒf3'M¢]»vtLIaÓ¦MôëÛ‡Ó‰Ýn'''‡·, ::š‰'²øÝwéÜ¥ #.¼Q—^Jjj*ß}÷ƒ â‘GeÕ×_3{öl’““)+/'.6–‡z€¡Ã‡sõÕWc2™ÈÌÌô{_UT~7E"j4*(`ÈÅûͬ›þÜ®cG–¿ÿ>Ý{õò˜¢(rìØ1jjjèß¿?‡ƒ;vðèãã‘$.»ì2þvÇŠ ˆeäˆ1cÆ JJJðxËÓjµ<8}:Á¡¡Lš8‘?ù„»ï¹‡øøx&Œϸqãhhhh±i³Ùx衇x}þ|2ºvåÚk®áÔ©S¾FÍM7ß Àÿü'}ü1ÇG«Ñ`2™Ðh4äççóõªUlÞ¸‘àà`,XÀc?κõë  WÏž<ùÄ8Nªkj¸`èPš¬­È²Ì÷ßÛåâÝE‹4þoéRÞ]¼˜ÿþw$I¢[·ndgeQSSÃÓ§S—§ÌpCCCyê©§°‚ÇÃUW_Íš5k¸bÜ8¢££¹ñ†:t( ~ý`0бcGž{öYvîÜÉè1cøæë¯ÿöüólX¿žþýúh± ñ ‹ÅÂ!C˜zë­Œ5ŠÌž=yöÙgYºt)ƒæowÜAmm-7Ý|3Û·oç¢ /$,,ŒËÇŽå¢ /láŽâcÇ4t wüóÛׂNÀf—xò³#Ü64†¸¤$öïÚEBR’Ÿ"Ñh4äåå¡ÓéHIIQÖ/Ün÷i¡Óéä¶[oåý÷ßÇár1í®»ÈËËklg—‹ñW_Mdt4¯¿öK–,a`v6ZNÉ¡“““ÃÞ½{ùú«¯0›L¼2g/ΞÍGŒÙd¢ÿþ<üÐC8ìv2»wçÒK/õës€¸¸8ž}æL&êjj˜|ýõìݳ‡^½zù=£Éd¢g<þøã|¿f —_y%;ss‰åæ[naÆ \uõÕ˜-EAsÑEqõøñ 6Œ!C‡òÈ£2wî\n¸á®¸ürJJJ?aG#>.ŽÈÈH®½æz÷ê…ÃáP×ZTþ˜5Ün´^·Uk'5M£ÀoÅ%a1›Ñjµ”——ãñxèØ©‹.$++‹-[¶(n#Ÿo\’$<N§O“M’$^yåIˆçó/¾ Ö;ó“=žÆ÷.W«;Ün7#† c÷Þ½|þùç 6ìç—XÙ¶u+={ô M›6Üþ·¿ñÓ‘#~eˆ¢È¡Ã‡‰ŠŒ$,"‡ÃAöÀ/.nÔE’DFF.— —Ë…Ùd"2"ÂÏÅPXTÄÇŸ|BÇÔTRRRxè‘GEÑ/|Œo“ÇãÇOØÔ××3}útâããIHLdíúõؼÛ꿵P4nI¢k×®x<Lf3QQQ´mÛ—ËEHp°RFsÚ·oÛé$44›Í†Ãn§¬¬LqÙ™L&(-)Q66ÄÅÅýS­’$¡Ñh¨³{ÇŠ €õ² Âãñ´:ŽBBB$‰ÚÚÚ³~’$1ô‚ Xÿì[·Ž‹.¼·ÛÝ8^u:Ö¯_O׌ Ú¶iÃ#=ÆÑcÇZŒíÃGŽÛ¶-V«—ÛÍ€þý9vüxcùééé8N\n7‹…ˆðð}^QQÁÍ7ßLll,©iilÙ²G+ ù‡ŒŒ $·kP‘‘‘ÄÄÄ I¡¡¡ÔÖÕµˆ˜-Š"ñññ¸"""hhh ¾®ŽÚÚZº¤§ãr¹ #$4”¥¥X­V"#"”ÐG**ˆ"ñx<´‰çÈáÃ-}ÿ?z”Șäf/‘Çã!&6–ì¬,^øûß±;ˆ‰‰A§ÓµY-Š"{÷íã½þ“ùùqùر8¼PÔhp»ÝЏ5!¦Õj2x0‘‘‘DFDüìzs8¸jüxÞ]´ˆââb.XÐbÞãñ”˜ÈÉS§¨,/G¯×³iÓ&¢½3Z¹Y]+*+É/(h±`Û¶m[&OšDA^-*â…^P”ô/±ê›o(.)¡èÈ ‹Š”­ÌÎ5 ’$)~ß·N§#44”‚E›ÍƱcÇˆŠŽn!”Z[çŒäرb®éE¤U˜œ…A¯áDi)!¡¡-êîv»éܹ3III,}ï=E!ÙívJJJp7YGjJPP)ÉÉôÈÌÄhlŒR* õµµ\yÕU,_¶ŒãÅż<{v‹ ²,“Oqq1µµµhµZ¶lÝJLLL‹gô­¹h¶ãÍãñ°xéR""#9vì ÈìÞ·WÙÿ˜M&Ì yyyhµZ*++©ª¬$** u5Då?æÚr»ÝtÍÌä»o¾!>!è˜å‡ÝÎÞÜ\º÷îݪb°Õ×óæop×´iÜ~ûí„GD Õh(**b¶ð½ö IDATäÈ‘Ê,QqI¸\Øl6ïË\ïuUÅ«sæ`4Ù¼y3—ŽÀðaÃxgÑ"ŽrÙèÑtèÐAÙ²ìp:±Ùíh4zðÁF‹ÁlÆápÐ`³¡Ój8p |ø!Ñkײ~ýz*++[(’ÔÔTÄm·ßNll,7näé3KÁ÷,Y²„•ŸÎæÍ›•ó‚ pÁ°nÝ:¦Þz+ÁÁÁx<† ÆÀìl¿™¬ÝáPήxd™:¯åÕ&&—ÓÉ˯¼²ÌîÝ»1b„ÒsçÍc÷ž=\3aaMBõ744(3PÙãQÊó¹€|n¨ºº:%[mmm‹þµZ®½öZfÍš¥, [­Vzdf*×{NÙY–e:uîÌ®Ü]Œ¼xü- ùUDê˜80†ÚŠr ¢OVV‹ ‰¯žÿxýufÍšÅÎ;±X,8âãã¹uêT?‹Ùa·#Š"Ï>ó ‚  ×é°Ûí‚€N§#;+‹Å‹ÉWÿú5M,ßÙ–ÌîÝiß¡wM›FXXÛsrxî™g”gu»Ý4îûÇ?þÁæ­[Y³f_Ÿwh׎/¾ü’W^~»ÍÖ¸.ÓŠ’WÊóZ¥µuuʤÈa·ãð&ƒk¨¯W®¯­­U\¿>‹QäŽÛoçÕW_eÓæÍ”ž8AÏž=‰m ¨Úäz•ó~Ãßå—ÌëqYf{öïÞCï¬,l k……ìÌÍ%³OÚ''pôÈöîØAû”ÚÆÇ·zHÊ粨­­åàÁƒÔÖÕ¡Ój‰ŒŠ"!>¾Å‚ìÉS§¨««£]R.—‹C‡‘˜˜ˆÁ`àСCTUWc Àd2¡Óé”Eß={ö I;v$88øg¿|q1N§“„„¿YäñãÇq8$''sâÄ >L€ÑˆÑhÄ#I¤¤¤““Ûo½Åì_$00úúzöçåáp8hÛ¦ íÛ·G–eöíÛGTT¡¡¡˜,²³³yþÙgéÑdó/jfeUÄép`4Ij×Žà  ?‹æèÑ£H’Dbb"6›‚HïÜI’8pð v»ƒ€€­V"Âé­­U–;wîüó \ÉËË#<<œ°°0ìv;$--­±½OžÄétËÞ½{Ij׎@‹…Ü;HJLÄjµâv»Ù¾};}ûöE–eŠŠŠ8vìZ­–:ê]·ÚµkÉÉÉ­n¯õmÿÝ›Kyy9‡ "(4ð°×n {ïÞ‡†žv‰¢ÈÉ“'9RXˆÃáÀb±˜ ô·¯ ‹Š€øøx¿!EG”˜Hqq1………FŒ&’ÛMjj*_|ñß­Yì™31 TWWSPP€Ëí&.6VÙݵs×.âbc Æd±Ð¥K/ZDZZšŸv88pI’0 èõzÂÃñZ­~k@»ví"Ö[^CC¤kFFã{vô(Z­–ÈÈHò h—”„Ñh$wÇ’;tÀl6ãr¹ÈÉÍ¥_ß¾Êî¬ÒÒR Þõ1‹Å‚Çã!//:üêmâ**¢(r0/‹…ðÐPVî8ÌíK×bÒ gV$¾™Q]m-y{öp²¸ˆŒ‰¡Sz:V«òÖ\ g:±ÜÚâý/]óKeûþv6eŸéúUß|Ê•+y套ZœQiê>j^–O6-÷ÏÖg{ß³©ÏéÚátu,-.æÀþýT••¡3h›@§ôt?·Ü¹øï›Þÿ·<‡ ¼óÎ;=Ê£<ÒªËñìóæ÷ú-cæL}¯¢r¾ÉY9é­Vúfg·"åtþLoþÙ/…(>Û²›ºÞ~Í}´Z-7mâ‰'žà7Þh´RZq·œn] ©•õgmƒ_Ó>gÛ¿§«oœÄ´mKl|üiC¤œ«€;Ï!Š"ÿþö[Þ]¼˜w.D§Õ¶º¦ðGöùù3gÓG**¿ÛIó'IR ßùÛ t»ÝôëÛ—={÷â°ÙÔ.çËÚdÖÜ|mì?=Ž$Ib䈌¾ì2ì §]ÀWQQù ŠäMàI’ä·hªòßßçn··Úç**¿5Œ¼ŠŠŠŠŠªHTTTTTTE¢¢¢¢¢¢*U‘¨¨¨¨¨¨œ#gܵÕôp[C}=No¸½Á€ÉlþÅÈZ­¶Åa¨Ó¥è¢¢"**+hŒ£ÕÑ›gátuÓjµgšˆö†öÅ¡òñebôƒ9݆†ÊÊËiÛ¦ÍyÉh³Ù(+/§MLÌ/–wø§Ÿ¨õ†Ø×jµ¤¦¦žñpÛéÚà\8pàqqq§Müt¾p»Ýؼa[DA Àh$À{ÿ—ʉ¢èwfÃ÷ÌÍåùÆœÛín‘â×7NwÞåøñãÊ ô?uuuTUUѦM›VÏ®¨¨üi‰ï…Ü»s'ŠPw9„„†’Þµ+ZoÊÓæ/§Á``Ù²eäîØËåÂb±Ð©S'.¹øb´Z­Ÿ E‘Ã?ýÄm·ÝFFF6›/¾ü’ï׬!Þ›Dª9ƒþóŸtíÚ•ŽÍ’ i4rrsYµjÆ'ћ碼¼œo¿Mï^½1|8®VÎ49r„O>ý”ûî½÷Œ™›+ÜÓ±wï^f¿ô ÞzË/“_GhµäîØÁíwÜAvV¬X¹’âcÇN[®Á`àí… 2x0 §wuF“Tyþùçyô±Çèоý¯*ãlÚ¦¦ªŠ}{ö`·ÛÑêtx¼ç’ÚÆÆÒ1-í´íèS»wïæÛÕ«©¬¬$4$„þýûÓ­[7?Ål0øèã)*,dòäÉJ•¼ü|V¬XÁ„ ˆ‹mµžz½ž?úˆø¸8®ºêª³ ,ÚZß‹üü|þýïs÷Ýwÿî _Eå¼*­VËßF¯gÀàÁù0ºšvlÛÆÖÉ2¤ÕCf:ƒÅK–̤I“(++cÙ²e¼öÚk,_¾“7oº,ËèõzvíÜIûöíymþ|*ÊË9^\¬„Ï6™L^!yƒ;ê -^Ì´;ï¤[f¦ßB­VË?þÈœyó8~ì ßyÙãaÑ»ï2ïµ×¸òò˹ä’KD/Š×êòÈ2©©©<ö裊pÐjµ|3gI¢¾¾Y– ´Zñ¸Ýˆ:nouÁ@muµß¬Q£Ñ`6›±X,˜½9EšæO‘eƒÑÈÚµkЯsæÎ¥ðÈvîÚ¥(t“ÉÞ2]v»ÁÀü×_§sZÒÒ°Õ×+ Z–e,KcÄ\ïÀa³¡Õj•ß¼Á,X Lƒ‚ð¸\ˆÞï4=¤g4½áC\‡PÐbµ"K‚F£œÁiŠÃá`ËÆ$´oO‡”L&<’DeE›Ö¯ÇépЭgO%~sËò«ý‹™3g2iòdúuìÈ©òr>ùôS‚‚‚èСƒß˜{wñbvîÜIxx8S¦LAžá¾ö& ‹‹õ{_:¦Ýu—r–qúÚÊíp`oú¼n7‚V‹­¾ƒÁ€Ô{à 5U2Mïå´Û[}F‹oy¿×PW§ô·Çí¦¡¡ÌÌLºwï®”o TÚ¼i_Š¢ˆÉlVBòûÆ„N§S2]"-ƨŠÊoA<ÓLõha!µõõ :”ÐPt::­–ÐP†ŒÙdâhaáiÝ5¢FCrr2Ç ã²Ñ£ù¿÷ÞC§Óñâ‹/`0(/[NNO<õ}ò É:°zõj¥L—ËÅ7ÝDÕJpp0³fÍÂbµòá°cÇnž:•ôÎùþûﮇׅvýäɬüâ ª*+q8|ðÁÜ:u*nï ¸déR0 1‚²²2 ''‡Û︃ºº:dYfÍ÷ß“”˜ˆÙlææ[nA«ÕÄÈ‘#yì‰'èÒ¥ =ü0¯½öÝ»u#°I0FA©ohàÊqã°Z­Œ½âŠÆ´¹ÞY«ÕòÙ§Ÿòêœ9,^º”¾}ú°cÇåóS§NqÙ˜1Z,DEEñöÂ…ñÒìÙpŸqôêٓÇ+‚ÆȘË/ç…¿ÿÔN ã‡~àù^ 00RZZŠF£a؈äåçDçÎyôñÇéÑ£ lÙº­V‹ÛíæéÓ±Z­ÄÆÆòþ ÑhÐëttêÔ‰©·ÞJttt«‰­Ž:DXTÝ»c D«Ñ ×ë‰ŠŽæ²qã°74PvêT Áæ‹Ø{ç]wñøcqÛÔ© >œkÆç™Y³hß¾}«Vô¸+¯dÕ7ßàr¹¨¨¨àßÿþ7cÇŽÅãñ Óéxø‘G Ál6sç]waðÂ|äÑGy{áBÅb~zæLBBBˆŽŽæ­·ßnœ˜L¤¤¤pç´iÄÇÇó¯ý‹ûx€¿ÝuW£ðoRA¸ûž{ "66–+W¶•o±XHIIáá‡&<<œ´ÔTJKK¹nâD´:÷Ý?:Ž 6pϽ÷b³Ù¨¯¯§gÏžL¹áºtéBff&'NžD§ÓQU]ͰaÃ0 ôéÝ›¢¢"A`íºuŒ½ürFŽIZjj‹1ª¢ò»(­VË®œÒ»uC«Õú½¾ŸÓ33Éß»ñ,Ö|3½k®¹† 6 ós¦ÌÌLôQ&]w$;+K™¹‰¢ÈõS¦P]SÃÑÂB/]ʲÏ>ãêñãéÕ« ,`ÏÞ½ <ØÏá›ÍÞ|óÍ,|ç¾^µŠ‘#G6ºª¼õOJJb×Î4ØltNK㥗_ö‹'† PWWÇÍ·ÜÂ{K—R__OqI ÷ÞwŸR·õ6°{÷nfÏžÍÀ¹çž{p6¦¢(²aýz|ðAjjjHˆç™çžSÚÑívsùWpûm·1õ–[Ø´y³_4Y½ÁÀ“O>Im]Û¶laÎܹ¬_·ŽûÎ;óÙ'Ÿ°uÛ6Úµkç×OZ†Ï–-#7'‡¥K–põøñFjkkIINf¥W°y$IiY–)))aûöí¼ùÆLš4‰“‰7ßz‹rª´”Õß~Ëœ9sØž“‚@uu5:t ´´´…ÛEEæç“Ü©¢(¶:Ž:têıÂÂî!FCnn.555Œ1Y–•´ÌJÈýfS|"£¢ˆŠŽæÀÌ~é%¦Þr‹roÇÃСC)/+£¶ºšµëÖñ΢Eht:¿5—O>ý”~øÂŸ~bûÖ­,z÷]¾ûî;Q¤ÁfÃjµRTTÄèQ£¸øâ‹sÙeJ޽NÇ>HEe%ÕUU¬]³†gÏVr³7Ån·Ó`³QVVÆÈ#èÛ¿?7ÜpuÕÕ¼³hùùùˆ¢èçv}(..öË è³xz÷îM]}=Ÿ¯X$IÜ{ÿý\5n\ ÷L@@ .¤{÷î-üφïÖ¬aëöí¼ñ曤§§Ò$1Ó™(..&""‚áÇӾ}{~øá¿68RXx^Sí*ýìý]g0•żùó±Ùläåå±cçN:uêä—]°5<’“9TPÐBÑøîspÿ~bZ­»Þ`àÉ'ž`ò”)ü¸in·›Â¢¢Æõ Ó)PofË… ðôŒŠ5"•””–rùرtïÞ ë×·˜Ôèt:²²²XúÞ{TVVrôèQVýûßtÏÌliMèõÜ{ÿýümÚ4LÞ !!! ½à–.]Jzz:}úôÁápøM<š»ä|ÿû¹ÿš(ôÓ]ãsÙ…GFÒ³gOî¾ûnôz=ó_~}ûb2™Zô©ŠÊ¢H<’D|R¾ûNItå›ìÝKC] ‰‰­n•”%‰öíÚ±èÝw‰OLdô˜18N òòˆõÛþ+Ë2AÁÁÄÄÄ4fVEâããш"=zô`àÀ >œ;ﺋ®¿žà  dIâÉ'ž`åÊ•tËÌäÇ Ë2aaaJnõ„„ÒÓÓ÷þÝÈëóçsÙ˜1\;q"‚ žžÞâ%×ét¼·t)Ï=ÿ<]»2dðàÆT» z-2FÃÎ]»sÙeHÍvæèõz®¿þz>ùøcº÷è! €é<àçóöx<„GD©, ·o×€‹/ºÉífÔèÑ<ñä“\?e &“ —ÃÁ3³fñÚk¯Ñ?+‹Â&ë ²ÇC|\VoýtZ-IIIÊçÁ!!Jû¤¤$%Wûöí1™LÊ >-- Y’˜ÆµÙlÆívÿæqìÛ:­×ë•ð**‹Ä'êëêØðÝwüßÂ…üßÂ…¬_½š:ï‰ë³‰í¤ÑhN»¥ÖûêÙçž#$$„   -%ßÅéê%Šb«÷÷ýî -7‰]ä‹$|¦:»\.²³²8xèÐyÙ,Ë2?þø#ÑÑÑtïÖíW ”½{÷rÕÕWSYYù—Ür-¢(RZRª•+Yº`-YBîÖ­~'ñO×~­VÛ˜”«ÉXj­ï}iu}¿û”TÓñÐF£‘iwßÍkóçŸ6½ó¹`4ùÛw*ùM~kû}·f 7Ý|³ªHTþzŠDEJŽçÛ¯¿Æ̨ñã=~<–V¯ZEÉñã-rL4±m6]»wgü5×`³Û[ýî¡C‡Ø¸q#?:Duu5wßs ÞP>ÁೈdoÛG{Œ—_~¹1;]!Ûsr0™xì±Çå‘——Ghx8}ûõÃbµ*ŠÅ'œš ­O=EtT”Tßfßó7ñ ¶æa›~ïE‹xmî\rwìhñ¹ïz_=}ÏÜÔŒåîiÓ0›Í§½F©«÷ÚæJ¸é5ç#°ã¹(RÇîÜ\¶mÚD»ÔT®˜4‰¡—^Jm}=_-_N­7¬ykõ2 tJK#($„öÉÉôêÓ‡Ûn¿¼¼¼JÕbµráÅc4›Ù¶ukc"6ŽW^}•“‰ïÖ¬Q”šO1ùîët:™ûì3ŠKJxqöl.¹øâÆðà^Á¼nÝ:6n܈Ëí¦OŸ>Œ>œÒÒR:„ävóÊ+¯Ð«woú÷ë§„Í€ììl>úøcžzê)X¶|9³³©ñ†3/..æë¯¿æÔ©SDDF2fÌÂBC‘$‰ÒÒR:uê¤X(K–,áØñãtNKãŠ+®Àãñ°yófœN'B«ÕÒ#3“M›73eòdåÙôz=Ÿ~ú)¹;v Óé0[, ÌÎö’o/\Hjj*6lÀb±pã 7ðí·ß²eëV ÀàAƒp¹\œ:uJqk-^²„èèh>ŒV«åºë®Ã ×#ˆ"Ë–-cï¾}ÄÄÄ0îÊ+1›ÍTTT°~ÃÜn7ÅÅÅÜß}Jܨ?Â9YZÊÉ“'¹hÌ%g}ÕJLL óóÙµm}<íÌ=::šÌŸÏE—\‰’–,]ÊÍS§òï½G|“q ` `Äðá|ôÉ'ô0I’X¸p!T”ý÷kײeófÜ’DÖ€\pÁ¸Ýn**+‘¼#EQdë¶mJ´é GޤsçÎ,|çعk#Gޤ´¤·$1rÄ¿ô¾|*o¼ñUUexóÓû”Š^¯çí… IINæÇ eÒ¤I|ùÕWìܹ“ .¸€ýûc·Û)+/Ç#Ëx\.>üè#‚¬V ‹Š0™LL?^QV}ôù$$$0îÊ+Ñëõ;vŒÝ»wS]SCee%Óîºë*ÿÉF«egNIÉÉŠiê&ŠÙÓt\ IDATŠŽ¦Kf&{wíBÓŠðY¯ÎËÔ©SÉÈÈ`ÅÊ•-fC¢(’Ô®!!!tëÖððpþ˜ŠŠ JJJèÓ§rï£ÇŽaµZéÝ»7?ýôÏ=÷6› I’xeÎÊÊÊ02õÖ[Ù¼e Y°pÑ"^zé%Œf3k×­ãŽ;ï$ÑY¸Áf#'7×oÖé‹Jrrr ¡§3xþ…xù•WèÑ£k֬ẉÙµ{7]ÒÓ¹kÚ4JKK9qâï¼û®€ò‘GeÓ¦MôéÝ›œÜ\ž{öYL Ï=÷K–.¥_ß¾ìß¿ŸÇY–)++ã®iÓ¨¯«#³{÷VóoüžŠ$oï^Ò22%ÒtöÜ¡cGâÚµ£ð§ŸN^–©ohÀa³È7Ü@dD;vìhñ]ÇCÏž=©­­åøñã¬üüs’““IîÐ$!Š"¤§§“–šÊÓ¦ñãÆ˜L|ú駬_¿­VË–­[yòÉ'éС‘‘‘Ü?}:yyy žzúi>þôSzöìIDx8‡æðáÃ-\¡¼ùæ›DÇÄÐ&:š{î½—See~cD¯×óôÌ™,\´ˆÞ½z±|Å &MžÌ‘#GèÔ±#×ßp•••:tˆ÷?ø—7çÓ§Spà½zõâ‡~àµ×^ÃÈÃ>ÊÇŸ|BÖ€løážš1­VËOGŽpÇw¢ÕjéÖµk«»UTλE"Š"Ç 9v¬ŸyÜôçØøx6®]‹(ŠH­¬‹—”°bÅ ^|ávïÞÍ´{îáþûîk‘”©cJ Q‘‘ôë×@‹EQ N§“ë§LiŒžk4RPPÀ|À°áÉŒŠ"$(ˆàñxZ,ŒÛm6œ>)S¦Ñ¥ !!!DzÃ…ôîÕ‹~}û"Š"íÚ·çÉ'Ÿ¤²²’ððpô:]ãËwèŸ~ö5UUhµZ"##É8G{ ,3jÔ( ¤´I×fI‹$I"55•ÈÈH2ºt¡}»v-ˆëõz&OšÄE^ˆF˜pÝu¬X±€%K—òã?Ò%#£1‰”÷ºèèh.¿ürºfd Õj¹öºëxfÖ,Þ]¼˜µkÖM—.]ͬ™3èÖµ+]t­f“ü=IÙÉ“ lÓÆoì4ãÃN~1_†ïš¨¨(*ÊË[]¨ B§ÓQPPÀ3Ï>ËœW_eÁ‚Š|ã 7 Ñh0™Ø³w/~ø! RÜAn·›¯¾ü’‹/¾˜ËFÆív³cÇÖoØ@×®]±2á꫘ÛíV¬Ðæ™1N'£Fbô¨QÖõúõ|õÕWÜpýõ~³Å¤‰9r$v»;eË—ðúo°qãÆÆgj2aKJJbÔ¨Qthß§ÃÁ“O=ÅÝwßÍ»ï¾KA^AAA¤¤¤Ð£W/ž™5 d™~}û2bøp•HÙ**ÈIkI«|З³¢Uk$ €W_}•„øxdY¦mÛ¶”³råJ%—ƒß5¶PFÏ=ÿ<ÙÒ£GþñÆÔ5 ÃÝJÚVÅe&ItËÈ *:š™³fѧwïÆðÚ^Ö¯_ÏØË/§wß¾\uÕUìËËó«“ Šœ8y³ÙŒÉbA’$°ÛíØëëA–•<¾µæI‹üBå{ÿµöòF„‡7†  <<\y.£ÑˆÝáh‘ØH«Õbö&+2›Í¸Ünª¼ë áÞ²ÂBCÑj4TVV‚ ˆÞë_ÿ£ˆàÍHy¦q$xÞŸ ‡²òr‚CBZ}½NG¿~ý˜3oZ­–>½{7N^¼ß1cYÙÙôÈÌäE‹hhZÝãñPS[KxX˜²VIUe¥2æCàݷÞÒbÄ›Ƨì"""(kf‘ˆ‚@Xhhc*£‘Ð&-MF#6»½E†DN‡1 Ào TTT Óé Ããñå]竪ªA 8$Ä/Ë£ŠÊï®H<’D»äd öïÿY4ËxøÀbZ(Q©ª®fñ’%ôëߟ§gÎäõ7Þ ;;›ç^x^ÿ‹Y£ÑPZZʳÏ=ÇæM›Øž“èK.Qfro®£Ù|Ú¬sõ <þØc2pà@Åœ—%‰_z‰¿Ýq;wîäƒ÷ß'ØjmaMtJIÁår±yãÿ³wÞáQTëÿÌlßM'…BBKè!@Ò{/*  —+ ⵋEЍ¨ "EQÀ+¢ Ò‘Þ[h„„Ò·ïüþØq7Ù zïŶßçñaÍÎΜ9ç=ç=o9ïw“‰å_|Arr2zOÐÛå•Özþüyæ/Xð›&hż¿Ï¯—¼?KQÑÑóõ×_c fï¾}n¨¨($‡ ¿C€U’$bããÉ=w®²r•ÝŒçÎé•ÜàOáôztf³™/¿ü’óçÏÓ¸qcÿ²+I´LO':*ŠgŸyFÉtR‰"¹çÏ3uÚ4víÚÅî={èÚ¥K%ùU{HÀ6oÙ‚(ŠØívvìÜIíÚµ+eŒ©T*6mÚÄ?üP)ÛK«Õ²ò믑<ÖÉž½{iâá^©R*2$JR• ‰ÞóQ’$âãÑëõ¬Zµ cP›6o&"<œÈÈH· xÉMÜ×–Óé¤aÓ¦¬]¹’ÇS·~ýŸ¹¼¢k×È:r„¶:Uò·j4>üðCb¢£ù`öl%Hl±X¨˺~ mÛ¶Š‹Ëét*„Kà&Î2›ÍDEEѧOz÷éCBBgÏžEã!êÑ£=ôk×®åžQ£3z´÷³;JB@II 6»‡ÝN™G$IrË€ÇÒq:Jż¹syî¹ç˜ôÒK¨T*ÞzóM\.v‡ÃMªÈÖ àáuø%†Ä¢kרôã4lÚ”ž¬•S'NpüàAÒ33 ÷ë§v:¸<¯ýÆÞiòb(§IÊ.Á³Ûs8?³Øyž!»äC‘Þ)ïW1ø-ÓØÊqï]²ü¼>}ûòþìÙ$%%U:|)gÆÈ¿U©Th4&½ø"™tîܹÒBêôyý¹ív»’Ê)·IÞÙʱ Qq:ÊûØívŸsv»]±Ê*¶ÕûÝ+öÇÍR$'çdV™íÛS#.‹ÅÂÁ={¸xþ<íºuCSÓ¦ÜGÞ1å4Vï8‹÷µÞ©¹þÆÀŸL3áÁ©W¯÷«<Ó{œå{z÷¿Ñh¤Aj*Û·m«dËã'³?zŸ©Øæªd@þN–kù³ÃáPÚàý2 _ãoNÀ »¯~+±•$I„†‡Ó½o_Ž:Ä×K—]£m;wFo0 UqÒZ¥Ráï8¡?n¬Úk¨*%T„*ŽUµhWÌÓ¯xÍfcçÎ8œN¢=®–ªžã½PÙl6^zñEœNg¥ fŽ"¼ï]©¼~çýÙû7‚ (}z½>ùOÅý'ñ€ MÖáÃlß°VKBb"]úôñ98øK}TÕý¯wmÅ1¨Ø’$‘››ËÑcÇèÛ·¯¢d*nPü=£¬¬ŒãÇSVRR©ê€üœ_â:¹ž Tüî—~S• xvø]\[Þq­VKó–-[·VvFN§³J%ògÕ¶…EE|öùçüß+¯vÃ¥-äóþ¶PvÉժѦC·\É–ã DŠËåbóæÍtêØ‘6™™¿ª4Ž ”•”Æ>€€"¹‘¥ÓSéz»Á?3œN'1ÑѼ?{¶R)€ÿ®U"+”_²*n6T*ƒF¥Ra³Ù§¾à¿­HþN‹$IËâo ïR`ìà×!à4 €  H €(’ €Š$€ €€"¹<‡·APêþü·²[¼söåƒY¿×)ìŠÜx:ü3»j´à-G^ßÿú÷¿uÎÂû\ÌÊóõÈÚ~o™ d±ðKP߈0¹\..äåQtí’$Nõ¸8e‚TEØS‘> ¼´´ÒÁ­óçÏó劘ÍfÔj5Mš4¡[×®~SEå"y‹Åâ·Ý¦  œ‘–  DQ¤´´´ÊY§ÕòѼytêØ‘š5kú­‰ô{@¥R±{ÏÌf3™:…"/Òååå\<žÒÒRÔj5Õ¢¢ˆöP\ï,‰¬à F#V‹ÅoåZI’Ðétht:,ååŠì¨ÕjôFãu©›AàäÉ“œ=wŽíÛÿâÂ}ß;w²aãF’““¹ý¶Û*Uö™ˆj56l ,<œÆýî‹·J¥bÛ¶m¢H«–-+e¿Ý"‘Ú­ÿî;Nde!j4¨´ZNdeñãwß)ÜÖþ„Þh4òâK/‘žžNãÆiÒ¤ uêÔáòåË>Õn·óÞ¬Y“žžNAAóæÏW˜àüµißþýLyýu¿ŠÄn·3hð`^~ål6›Rãëñ'Ÿäö!C®{Â[T©ÈÎÎv×Ñú•‹õÿzâ^»ÆÕ+Wþ”Ö@^n.ë¿ûŽ /¢3±»\ìÞ¹“-ë×ÿâÎWENŸ9Cï>}ؼe‹ß…^§Ó1oþ|ÚdfrèÐ!¥"ï±cÇÈÈÈ`áÂ…~«*È(--åÒ¥K7<Ž¿t]NNÓgÌ 11‘Ú‰‰¿Èÿ¡Ñhø÷—_²uëÖÿ¸ðçKù_½z•‚‚‚@:tÿ™E¢R©XÿÝwÄÕªE‹V­~®…Õ¼9{wíbëúõtíÝÛïÎ]T«Ù·oݺvåñÇÃl6»K®„†*×+‹L~>ŒO›ÌL®\¹ÂÙ³g}èl½ë ”–”pòäI¥¦’7¿†ËåâÈ‘#dee1|øpb«WçÌ™3|÷ÝwX¼„R÷H’pzîm6›yáùç•úZ‚  V©<–—\èbI ›Í†V«­dAùã ÷®ƒä½•ï+_#·O>ß ×ðR8éUªŸËÒK¯âþž'×X’¯·ß$NA(/+cÏ®]´Ì̤fb¢ò\[‹¬ÿî;¶oÚD›Ž¯K¸µeËöìÙÃôéÓéôÕW É—²9}š‹—.ñæ[o±hÑ"f¼ù&—.]âÌ™3ʸU”)I’hÚ´)Íš5óqÁÉ}&˃¼àË¥ä‡r?o+I 0šLôêÙ“ÉT‰Æ»î–ÜYùyׂSª]W¸Þ»h¤w{dâ8ïk]~*Pø“9ï:r‡ƒ>}ú(sª¢ÌËõËüÕô’ÿî-sò3Jéof‘¨T*N?ŽZ§£u›6•jµÌÈ .!SYYUú–%Üœ‘‘DFFå³óÔëõ<òè£|óÍ7Œ1‚wÞ}WQV‚JÅÜyóh‘žNrݺtíÞììlìv;o¾õË¿ø‚[ÚµãégžÁd2ù<7>>ž°°0öíÝ Àž½{©˜HXX˜âJ2t(õ4 µqc¦MŸŽ(Š…„иI6l܈ÑhäxV]ºu#©N223ݦ¾ °}ûvÚuèÀÐ;î ]‡lÛ¶½z‘••UÉwààA:wéBrݺ4mÞœS§NU*(˜T§cﻩ©´HOgË–-Ü>t(5âãyèá‡1™L¼=s&Ï=ÿ<’$qèÐ!2Û¶åî{î¡K·ntëÙ“s99èt:vìÜIëŒ ’êÔ¡SçΜ:u NÇÌwÞáö¡C8x0ÃGŽ$È‹­ð­HN?Nbr2‰IIÊ".[=úöE§Ó‘þ|•.Ò²²2¾ýö[fLŸÎëÖqöìY¿¼ã6›aC‡²cçN.äçsåòe6lÜȈáñÚl¨µZÞ›5‹æii$שCÏ޽ɿp•JÅŠ+ÿÀX­V³ßŸ†S¯~}FCYYA!!4mÞœ ÿúºtaÎG1}Æ :têDPHˆÒ޲²2ž}þy¾ùæÚµoÏW+WúXØ……… ºõVꧤР5•wÞ}µV‹Z­&++‹n=z_³&Ï<û,V«›ÍÆýãÆÑ %…ºõëóÐÃ#A!!´ÎÌdƒÒ¥[7>œ3‡ôV­¸üxDFf&ΙSi~Z,ꧤ0æŸÿ¤^ƒddf²qãFD\|]Ù¹Èýî;ïЯo_–/[Æ¿z‡— à–[náÐÁƒäääг{wf¾û.ƒÇœ¡C†°g÷nÞ˜:Õ]Û N§“¡C†0oþ|Ôj5ßÿð]¼Ê”‡……1{Ö,Îdg³kÇÖ¬]ËÎ]» RvkwΨQ£ÈÍÍeÒ¤IŒàE‘3õõ×Ù±c-[¶ä¥I“ˆ‹‹óÙ!;NúõïÏÃ=DNN[7o&::º’';wæôéÓtíÚ•&L`Ö{ï‘{îŸ,^ÌñãÇ1 èõz¥_ËÍf&MšÄæÍ›éÜ©óçÏ`à A¼òòËäææ2lØ0†Ýq½NÇ¥K—XúÙg,[º”RO}¨›¡H²O"¹^=‹Ê[Ž’4 /'§ÊøE^~>çrrèÒ¹3}úôáµ)S0TØ<ȧÓɘ1cX²d ó,ྱcÝý-IHN']ºtáÈÑ£ääæÒ2=™3g¢ÑhPk4 %^òÑܹ¬ûþ{²ÏœA«Ñð’‡i288ÉåbëÖ­<8aƒ bÊ«¯bõpž˜L&¦¼ú*ú÷g×Î 8P©˜ Š"‡&''‡3§Nqúôiî6 —èRqààAVüûßìÛ³‡ü‘KWðS'rúÌΞ=Ë¡C‡XþÅJ{¬V+›7o桇&""›ÕÊê5kXÿãL™2…3ÙÙ•”‰ÓédÀ€dgg“‘‘Áħžbþ¼yœ9}šyóçsúÄ ŒF£BB§Öh(--eê믳eÓ&š5mÊòåËq:Ü~ûíL›6ÜÜ\úöíËÐaÃPyúóÒ¥K|õå—,˜7ÒÒÒÀŠûwS$²K"سÓü°ê ¬fs%ö6o˜L&¢££‰ŠŠò¡ºUžQ^ŽÝnwsoX,žÁ³ê0|ĺvé²/¾àøñãJÌÃf³Q\\ì7žát:¹¥m[®^½ÊâO?Åb6û¸-T*Ÿ|ò Ý»ucè°a\¹r…«W¯ú(ÜÜ\®]»Æ]#FP^ZJ—N¸ZPÀ•+W€æÍ›Jiq1Z­–V­ZùXF*•Š£Gb±X¸mÈÊJJÐëõî…¨ÂNºZµj´LOÇa³‘‘‘A|Bñ èFê֩ùœœJe÷SSS ¥¬¤„:ÉÉ—”pìØ1·K¢_?ÌeeŒ>œ£ÇŽQVR‚Ãé¤[×®Škðfº¬V+zƒ¡J9Òéõî@´ŸºJ¥bÙ²e¤5kFtõê¼2y2Ÿ/]Ê¥ üZ‡ƒ°fíZ¾Z¹’aC‡b³ÛÝÏEv;C‡ ¡[×®¬Y»–cÇûÜGE}X¸`¬\¹’ VZ„ª r„üü|¿‹¸ÅbáÖ[oå§­[éÕ³'6«U P:BÃÂ(,*âÈ‘#¬ûñÇJq‹Èèh ÄØûîãĉL>^={¢×ë‘\.œw‰ äääж];Ž?î£DkשàAƒ¸÷¾ûÈÊÊbݺuœ¯°Ó“¯•Q%©À«ê²äé%IÁÓgÞíµÛl$ÔªEîÝ™ðàƒdee1ñ©§˜0~Ì›3fðÙgŸùX£?šFfÏšÅ{3g¢ÓéÜéÅ.6«ƒÁ€Édâܹs|óÍ7ÊÇ[vZ·nMiY‹/fïÞ½¼öúëŒ9Òg#îÌÄצL¡m»v>1Ùšö×ß*•Šýû÷³víZÎ{âB‘‘‘ʳ½©uå1¶Y,„„„`³Ù8qâ_®X¡Ä,½Ûn¾ú¹sç²gÏf½÷.—‹ž={úl”d CrkB7m´—KY¾§ÜŸò&HvÊ2g³ÙH®[—N:ñÈ£’••ÅcO<ÁCÿú×ÏïóI¡à •±y·IvôišHƒØ®\ºD\ÍšØm6‚CB(-.æØáÄW«†Ñãº)*,äÀ®]¨Õj’êÕÃ凿Aô¸­²³³Ù´i;wîdËÖ­¤·háæ÷H«ÕJÃÔTÂ< !ÁÁ´Î̤y³f|ºd ÙgÏ’ššJƒ hÞ¬ááá¸V¬XAyy9­[û¤WšÍf·ë)$„5j(,‚µšŒŒ ’j×&;;›;vPxí}ûö¥n:ÄÅÇóþûïÓ­kWâãéÙ£/^ä‹/¾ ¶zuž{öY4 N§­FCÆ Q«Õœ={–3ÙÙ 4H ª ‚€ÍjeÐÀdgg³â«¯8þ<íÛµ«”PVVF«V­0 جVL&éii¸œNŠ IoÑ‚ “‰ÈÈH’=¬¢(Ò¤qcÔj5v»ÐPê×­Ë€8rä_}ý5­Z¶ä©‰qØíX¬VbbbHJJº©»CI’ áì©S\¹|™j‘‘hwŽ´´4êÖ­KZZÇ';;›Î;c2™ÈÌÌdÕªUlûé'FÝ}7C† Ar¹(**"½E ªU«†F§ã•W^áñã©_¯ž :N4j55ª”r^ZZÊ¿¿ü’Ö­Ã%ILã LF#eeeÔNL$>>Þí+/§Y³f$Õ®Z­æÛï¾#??ŸÁR«V-ԯϵ‚ÒÒÒˆŠŒD­ÑðÁpï½÷²~ýzòòò˜úúëDT`1•$ ³ÅBËôtôz=V›š6mê~ÇÂBZ¶l‰^¯'66–Ú‰‰8t: 6t—Û·Û‰ŒŒ¤v­Z 0€ýûöñõªU´o׎'Ÿx‡ÝŽÙl&>.ŽZµjVÚ¿A àÊÔZ-Fƒã®ñͳhTÂ/Síº\.rΞåR~¾;èŒFbªW'¾fMD™ïV«õÙ}ËçR*¦#j4…þT>Ý.Sò*n«G>¢Q«U*¿¬„Þ÷“wS¢(¢ÑhWˆF£Q¾“•šÎ` 22’o׬!55U¡/•Ís™~UES18i IDATÔ*•â/**âÚµk$&&VêùYrª±­m,¸Y#e ï÷—w岋E^ ätK»ÝîCá*÷ƒV«UÆN¾Æ{{S-OX,²O¢èÚ5·ëM¥Â`2_³&1±±~Ye’ûÞ›Z×»Ïä¿{ÓÓz/šÞ÷–)ïç-ùì3víÞÍK“&)ã%ÿN–1y<‡"[¶n¥u«V•ÞYEeŒü}§Õhk@–+oª\YnäôíŠò*_çÝž 233yò‰'8p »»Ýî—¨ë×Èœœæ,§ÚË–•Lû,÷UU2Hûý‹¸¯þª]Q©™˜HB­Z~Ë\Tåÿ”…¬Ê˜€äë¼¹¥å|öªÈ´ìx„úz÷“ÿ•Mqå÷^m+W¯Ò©S'ºuíJ³fÍ—GÅwPxÒ=Ï–ÏÆ„††Vùžþîá yW|ïï¼ûA^|~é7Þϻ٠¤â»êõzꧦú¸{¼eÈŸyË÷XVì3ù_‡y¨ø÷Š2%Š"+¿þš=ôÿ^¾\Q.—ˇÜÌßsív»¢D¼Û/x)ý!IV?cT±ýÞ¿¯ê^ûAV6«µRßýV™ó>â㎭0·ª’¹€ùÛ+NÒª„ᯠ$.—‹ÈjÕ8uú4.‡ƒrO*çÒìpãJ¥ªTñß«N'ú÷gÈСJi•_C³ûG’ƒÒâbvíØ¡œ= ÈfEòwZà$I poÿMÇÞápàø Œ½ Ê™ª€ pSÝ^. €  H €(’ €Š$€ €€" € €ÿ‘"‘ëy—ÿoéH^µ~´Z­òßïE· (g þh£¦ýYàCµ[äÒÏòá¹ß³-´ñ•þžs1€¿ˆ"q¹\\ÈÏgÃ÷ß³|ñb–/^ìfºËËó)sâOñ\¼x‘'N••ÅÉ“')¸v­Ò$‘Ó/'>ý4uêÕ£nýú„…‡³pÑ¢ëRžPXXè÷;«ÕÊéÓ§)**Rþæp:ÉÎÎ&//ﺩ‘v».]»rÚC„t#“Íßçÿ‚BBhÛ¶-ëׯ¿.ÛßM‰‚€ÓáàÔ‰|»r%K-âßK–°}ófŠ‹Š~Q¡äääå‘£¬¬,NŸ>]éÚòòrN:E‰W©r‡ÃÁéÓ§¹páÂuÇüêÕ« 8Ðoݶ›9æA!!4KKcÕêÕè~Ãø^o>þ¦ö3øÖ[YºlY•Œ¥¿pŽDT©8vø0gÏœ!µiSÚwëæžØçαï^ÝEýœš6q߸qœ:uŠV-[RZZʵÂB}ü1111>'œsssÉÎÎæÄñãhõzž{î9¥ˆœV«Eã™T»‹Å‚Ñhä­™3‰Œˆ`âÓOcó”•—C‡Ñ¡S'î>œ?üI’رc}  NRûÀRV†N¯w³zŠ<:NÔj5s>ü˜˜¾wAqyXe~pAP‰"îÓÀ:ÎoQJ•J¥p‰Øl64ÏuJ9A@¥V#ˆ"6«Uy¸ë‡•—–òñljÝnÇ ×ãt¹G™”I¶ª´Z-v›M9¥d2aw8Ðh4˜Íf¿å3þÛp8ìÚ¾»ÃAZf&Q11X-N8ÁÆuëHKO'ÁSÏ©"´Z-½ûö%<,Œ$O±ÐÐPfx¸mäÍȆ¹}ÈÆÝ?o¿õN§“Ö­cààÁ´kÛ– 7b)/w[…1 cæ[oå–{QDï‘ §ÃÅbA’$÷J*µZ9!¯Õj«sDÉé¤Ü#7Þ%{ôz=¢J’¤Tó 2™ÜÜóz½›ÞS޽Òõ^'׃‚‚†C³ÙŒÁ`PØÀìyOoy“™A@T©pØí8¥ÍV‹…ò²2Þœ1C))—Þñf…”O´+2.Ê<waKy^É×θü,Q¹vå 'Nœ s¯^4HMU á5HI¡gÿþ\»z•«W®T¹s×étŒºç>]²„•_}Eaa!kÖ®õáF°ÙlL~ùe~úé'ºuïÎòeËÜC=µ†æÍŸO§NhÓ¦ oÏœ‰Á`àĉlܸ‘ùLßÞ½ùtÉß“ ЧOV­YCii)¢(òåŠôïÛW)˜xðða†A›6m~×]dgg£òÔîš5{6W®^EJKK¹gÔ(ZµjÅħžrO@µšO/æý>`Ô?þÁýãÇóãúõŒ¼ûnŸ¾]:‡¢g¯^ôêÓ‡o¾ù†ûÇó)ܨV«ù|éRæ/XÀ=£FÑ®}{Ö®]ˆéÚ½;·ÞvÙgÏb4™˜ùÎ;œ8u Sp0Ï>ÿ<‹?ý”»G¢ÿ€lÙºÕ½~X·Žn=zСcG>]²D©z{ÏèÑÌ7Þ}úpøðáÿù¤¼Ü\œ’D§îÝ©Y«½ž°°0Z´lI·>}8{úôu9R¢££yî¹çøü³ÏøtñbfÏš¥y?gðàÁ,Y²³ÙŒ(Š,úäFŽ¡ÈÆŽ;¹}È233óÏrñâEåßGóæ)Õ¥/_¾ÌÇӺuk^š<N‡N§ãí™3™·`wÉSO?Íš5kq×]~wë'Nœ`Ȱadff2úŸÿTÚ$·õêÕ«ŒŸ0[n¹…^½{³qóæŸû+/AƒÑ¥K>¬”²ðÁiÛ¦ ½ûöeÛO?¡×ë1 Œ9’Y³gÓ«O6mÚÄÈ»ïæÝ÷ÞcøˆÜ>t¨BŽå]âèÀLyýuþõÐC´iÓ†÷Þ{cÇŽ1èÖ[éÒ¥ »÷ìÁļùóÙ·?ƒ.dΜ9Ü;v, â“Å‹•ŠÅÇgÀÀd¶iÃ[o¿ÑhÄh4òÄ“O²è“O¸mÈ>_º´RËþâ‰J¥bßîݤ4j¤PÔz ¢Ñh¤iz:{vî¤C—.×åÛ8›ÍùóçIKKó¹V«Õ2~Ü8œN'¯½ú*ìØ±Cù^¯×3÷£½zËÆѡ}{BCB7n¢(úÔú‘$‰à` Àì÷ßgä]wa6›IMM%;;Ûíþ²Xø×ƒ’””ÄâÅ‹yî…x×Sv|çΘËË1Ñ®CzõìÉ[o¾É=£F1þ˜óÑGœ?žÙï¿ÏÆ  #ûìY’““ýºî5Š—&Mâ–¶méݯ:ÁËm'.\`Úôé|½r%³™1ÿü',\°€… 2eÊæÏŸÏO?ýDŸÞ½8zìk×®åÇuëØ¾cÏ<ó ß®]Ë©“'yú™g˜ùöÛÄDG3dØ0tZ-C︃Ÿ¶oçÊÕ«|²hÑM™Ô‚(rüÈZdfú,¸òî<¢Z5’êÕs[½WYê^ææ¨XhS¹ŸËExXýú÷gΜ9ôèу “‰äädrss7#çÓO=E||þøc6nØÀµk×xø‘GHOO'!>žáwÝÅÓ'Ò¹sgú €Ífã©§Ÿæð‘#ü°nßû-j%ÀßÌ"¹|á5|<ï]cdL ×._F¨Â"Ñjµ¼üÊ+DFFÒ°IzõìIrRR%aÒjµ¨Ôjôz½{çäåé×·¯bš8U«V(¢ò˜æƒ¡û›¼h<8a³fÍâÈ‘#DEE)® €fÍšÅÅ‹iذ!6«UÙ‘¨ÔjŽ9¾}ûxù•W0 ¼1u*Í«XR÷Ü}7ÕcbP«ÕÔ¯Wgž~Úg!T«Õìܵ A¸õöÛ‰¨V§'NÄìEJä×uÏ=¤4h@:uHJJbìØ±„„„еkWJJJ(‘Ûç«Å„ 0¤·hANn..—‹-[¶Þ¢­Z¶$..ŽñãÆ±jõje¡{ï½ÝƒPÍ«ïeY’IiQQ•L›¥eeŒ3†Ä¤$êÔ«G¯^½ ñ­ìóGy„Y³g³}Çš5k†ÑÃÌ™‘AHH—._&½E òòó}6 jWÈ™3gxì‰'0™LÌ|óM>øðCeŒî;–ÈÈHwÿ&Mxö™g|î!³sçw ×ëIKK#44ôgÂ*A <<œ3gÎpäÈ$P6!V«•Gy„¸¸8n»õVŽ;† Ôˆ%¥A.^¼HlÔINæÄ‰îù£Ñ0ò®»0™Lʼ1|8¢(2øöÛq:lò(ï˜a÷îÝiݪQQQtíÒ…N:Q³fMºvíŠÑ` 77×§­V+£G&""‚„„t:åååìÚµ ¸óÎ; gúo°`Áå7x€ÐÐÐëÆ<ø‹Z$n Tyã¯:«ÕjE«Óùeð“Û'MâɉuÏ=Üwÿý,]º”²_ào§ËŽcÇDÉÄÞýûæEÿ¦?§ËEb­Z4OKãégŸååÉ“¹Ÿ¯|¿è“OØ´i¦  Ìåå\¸xчýMÀÍ"Ç6\.!ò"»ÕŠäñM{/jµºRÅØ²²2Ÿh°&@¹þ I’ܬ†ž{{—ï4Fâ&9 Êé‰ã ¥d^o%ˆj2!U(eÿ?2­«ÕŠÑÚç¯ú±Z£©RŽLF#³ß{~ýú)%âËJJ*ÝËétR'9™Z‰‰Ì|çfÏšÅÖ­[¢¨wÞ}—#GŽ`4™(¼v«W¯Vr•––*c.I!¡¡8<Äc’$ü‹c^êsU÷›÷5w †Ñ``ÎGqµ €ýú1öþûÁó §Ó©”jw:ìØ±ƒY³g†J¥âLv¶"¯²‡À{£ñÄ3tZmeJj9æã‘+­N§”±—Ÿ]Ñ:ô.ë/ÇI$—ËÝgxØCCC•øìpÝDy àd‘8ê7lÈ‘a­˜rüÐ!j×­ëÃÖW¥br:)-+£àÚµër¼{[D—.^dÙòåÌ›?Ÿ™ï¾K˜W©v­VËÕ‚ &“›µÐÏ„-++ã¥I“rÛm´ÉÌTÚér8ø|éRþ1z4|ðcï½·SžÓé¤q£Fèt:–~þ9“‰éo¾IFëÖht:7cœüÁƒ5z´rs8´HK#//Ç¡3xëí·ÑyªJ}TõðFàïºæÍ›³uÛ6.{|ãsçÎ%½E å{—'Žr3 Iµj׿ì©S•,¹ígNœ º‡†·ªM…ÉdBo4r]kÊb±0é…¸û®»HMIQxlœv;/\ÈÄ'Ÿäý÷ßgè!> @Þ¥7kÖ §ÓÉÚիѼ:e íÛµs/¸^mV«ÕìØ±ƒ»ï¹ÇÇe'ÓKŸ:uŠ;wÂåË—}ò.—‹¼¼cÕ«W¯´KÀÚ5kxñÅ1 ìØ¾eK—â°ÙpzÈ„ä÷ýú¹ ˜Ôj¢«W'7'ÇÇUâr¹°{ÈÌš4n̨Q£Ðëõ8œNl6*†'œAƒÓ±cG>Y¼˜ðððJmU«Õ|±|9|£ÑHö™3|ºx1’Ó©HyoüWÅÆÆ2åÕW¹ãŽ; bØwVb(üaÝ:jÕ®Mpp0K—-cúÔ©>ã+‚’%Š"ú÷çûï¿'##ƒŒC½zõ™°ÚlJ‚Ьäô5bc=f +¿ú £ÑèÓ¿þ朷üÙìv$~æ7‘×ïkìv;N—‹ððpfLŸÎ€%ÿÖ›oúÈhmü"C¢ÅlfãºuÔLL¤¶Ç›sî¹ÙÙ´¾å õÇh4½ü²’ÓIyyy¥I¥R©ÐétŠU »kl6ƒÁí"ðd‡€ûÌ€(Šn—‘(b·ZæCy1Ðiµ”{Y²Y®Õj)))A£Ñ¸ÍqµÌâg³Ùèѳ'sçÎ%±V-wú¯ÑèÞ)zµ_¶‚¬V+†7ßz‹[Ú¶¥Y³f•úA’$‚=ÖÔÛo¾ÉÆM›X¶t©RòÛ;ÍWVƒ«‡gÞ»L&‹»ÝNPP6›Mq÷˜‚ƒ•Rø­ÇòqØlJ:fPp°’Rz3\ òXçž=Ëáƒiܼ9QÑÑØ¬V²Ž¥¬¤„[:w®Ò}*IAÁÁ•,¨òÒR—ŸF£QRš½«ÓéP«Õ”––¢ÕjÝÖ Ë…Ëó,³ÙÌ•+Wõðáûïƒ(Š?¹Ã¡¤î 7i”͆^¯ç‰‰3z´_*Y•Jå–/A—‹²²2Ÿ÷ó\.Ìž1‘ÝÞcZZ\ìÞŒy6K²LÙ= ˆAÁÁ˜ËËÝ,‰ÁÁÔ­WO?ù„ôV­@’”ï*¦ÿj5%^ç=çd °¼¼ƒÁ ¤íz˼ìN³X,¸<)è:ÏûºìveîÉ›¿Š,¦ü ­Žÿ„!Qo4Ò¥gOr²³9¼oá‘‘ÜÒ¹3j¦J_» )Âr‘´”—3Þ<ê$'Rmøc(ïIâ/wÿ¯´º\.L&½=g4~é\ّ̯'''ûœ1©ŠËþ/ë?õ’þòßKŽäL¼Þ½z)VÄŸ‡ƒ¶mÚ(ï°øC(’¿ãb÷¿^Ü“ûï7æ¿Ç;ä,€›…@ù €Š$€ €€" €  H €(’ë]¨R¡V«Q«Õʉâß›MÎ`0T*'þߺ7¸Sý–{ËääºDwÈ‚  ò’#¹œÌïÝGÞ‡bÿ(0 (&Ì?Z{ø)yò;ìvïÝË·_Í·+Wrpï^å`_U‚%I’›¿$8øçÿ‚‚*•Ü–¿óRƒÁ ü­*˜L&yôQÖ­[ç·úïÔ)žƒaÃî¸ã7U,U«Õ,ùì3æ/XÈœÁ=¤R«).*bç–-¬Y±‚u«WsúÄ DOaÂëÊ‘· £ó£ %I ×c V6ò nSpp•õØäñÞ¼e 3Þ|ó‘šm6›yäÑG)((øCÈÃá`ÜøñœÏË»!ÖÐФÒPR\̪+((*¢qz:MZµâZQ«V¬PhRýMРà`†ßuµZ  0À‡"Öd4Ò¶m[Z¤¥)$CN§“ç_xÈjÕ¸páÂu…»EZ±±±7\Ëç×P‘Ú6lØð›&²$I$ÖªE?ü$WkäÔñã|¿f jƒ·ÜBRj*ÇŽgõ—_VYÝÜ¥;ÒÓÓE•JE||</Z¤TöÞ1¿ôÊ+èt:6nÜèfÖÔhغm†×¦LQªúúkctT©))7¼Pþ/w懃;wV**ù[-ëÿÆF u«V˜*Ôë eóüK‚¸þûïiÜ¢š4Qþ^+1‘£‡³}óf:÷ìéò ÅÅÅLzážyöYžbt>T›‚€ÍnÇj³±}ûv @YY+¿þšjÕª)§ž¯^½JIi)¡”©îر#ƒAQ$W¯^¥¸¸µZMTt4zO•Þ . V«)7›‰¬Vr³½N§œ6÷¦@½páV› á:}rá´Z-ÅÅÅ ¢¢¢¸|ù2åf3Q‘‘„„„P¿~}¥Ì·Õf£¨°I’°ÙíhµZ¢£¢”Ò.\Àb±`2™ˆ‰‰ ¸¸‡‡æUEbccÿ”“XŠ 9zäÝúöUÞ ~ƒlÙ°m6(õ¶ª²ð¾Z±‚¾ýú±sÇ:tìHóæÍIiÐÀ硹¼œ† òæ[oÑ­[7¦OŸNãÆ•Úq%%%(P£<ã§ðŒÈVÁåË—qº\„…†@^^ƒ’’L&¢J…¹¼œž’:Þ(,,¤°°PáÍÑjµ)r$Š"¥¥¥\¹r—Ë…Ñhtsæ‚ç÷‹­VKõêÕQ©T—”p­ §Ó‰Ñh$::Z©¬PRR¢& Áf·ãô”ŽÑétDFFV:g’ŸŸÑh¤°¨$‰5j¸i±¯]Ãh2åé“.]º`2™ÜuÓrs1Jý°ØØX…뤠 €¢¢"÷ŒŠR,Áüü|…–Ø_m²þ¢ŠD­Vspï^"¢£%â͘Ұ!8;|˜ÆžÒÛU¹ Ô ?µ·4j5Í23Ù³w/½{÷fÇŽQÓS ÖápðÖÛo“ŸŸÙlÆb±0oî\bãâèÒµ+cÆŒaô¨QlÞ²…—_~™°°0JKKiÖ¬<ü0­33 Ьúúk¦NJYy9/<ÿ<‡bô?þA¿~ýp8=vŒžž¶mÚ0óÝwYúùçÄÅÇ“sîŸ|’¾}û2}Æ V­^MFFÕ""xjâD¿uÇþ Š$ëÈê7jä£DdåݶCvoÛFî¹sÄ׬yÝRòõëÕ#,,Lá8÷†Ín§OïÞ¬^³†¬¬,DQäì¹s 4ˆòòrT K>ûŒ;v`·ÛÉËËcêÔ©¤5oΚµkùî»ï˜>m/¾ô§N"((ˆ¢¢"¦¾þ:Mš5£oÿþ¤¤¤G§Ž9—“ÃÚo¿eõêÕ>µÎrrrxê™gE‘ˆˆvïÚŨ{îa̘1>؃=’„ ŠÄÇÅñøc!—._æƒ?¤¸¤„£ÇŽ1é¹ç8x0ó,`Ë–-îöççóÒ‹/’Ѻ5Û¶mã±'ž {·nH’DZZ¯M™¢œÚÏÎÎæá‡&½E ¥AA 6ŒÄÚµ  cÿþýôîÝ›ÂÂBòòò8{ö,³gÍ"11‘¾ýû³pÁš6oN›[n¡w¯^Ô¨Qƒ­Û¶Ñ¿_?{ôQ¶nÛÆäÉ“  ¡¼¼œ†©©<þØchµZZgf2hÐ \.ïΜ°lþ.ŠDT©8qìí{ôð™øÞŸë¦¤°â³Ïhš–æW‘h4æ|ô6l ¤´”W&O¦U«V•â$M›4aÓ¦M8ìv^2…q÷ßÏǬ(´§ŸzŠÈèh†Â2O™ïà  ´Z-v›éÓ§3äöÛ¹ûî»ÉÉÉáŽáùíÖ[©U«ÕªUcøðá´o׋ÅÂ?ŽÑhT”ˆLFôÄĉ,[º”ŒŒ V¯^ͧ‹ûí›°°0†Bž=yyòd~ò ׯǠ×_«p—­÷¼§¨RÃ&Ç´éÓYµj SSyâ‰'Ø»{7) òÅòåÜ{ß}Êî­F¼2y²RÕöÏoÜsçhž‘á#;òB*µ’’8vè µjù]`ÊËË™ðàƒ¼4y2—/]bà€´jÕÊoQP›ÍÆý÷ÝÇâÅ‹±Ùí<8agΜqoìvn¿í6òl0Þœ1ƒ¹sçÒzöl4»Zµ(²ÿ~~Ú¾5«VÊ+ÿ÷¼6e ‹?ý”   š4i‹/¾ˆÍbáò•+ôîÕˇÁåÉã IDATrñåŠ$'%ñòäÉ”••qçðá>±<™ôì‹/¾`Û–-´hÙKy9‡ƒ²²2DQäŽaÃèØ±#óæÏçÝY³8h `ÜøñÌùà>þøcÚ¶iƒJ¥"::š'Ÿx‚˜˜~X·Ž¨ÈH{ôQ¢££ùdñb}ò 5òu/‘””ÄëS¦°qÃßz+›6n$%%…ñ<ÀÆIJJ"8(Ñ/ ¥c‡Œ3†=»vѱsg{üqfΜI¿~ýøç˜1äçç3|ÄNžø€:ÉÉ$Õ®Í÷?üPÉR ³Z¶l‰ÕjuÓêFF’ïaD £Fl,‹I’ˆ‰‰!88Xi‹(ŠŠû«yÓ¦”—•ѨaCÅõU¡¡¡ÔªY»ÕJíÚµ‰­^ à`TZ-111\½v͇~X’$âââ”ÒðQQQX,NŸ9ƒN§#¥aCÊKK騡.\ ´¸—ËEÓ&Mp¹\JÙî?+œN§›± 9RÉ\ÞU¼£Á`àÅI“XýÍ7,_¶Œ-[·òõ7ßøåœw:tïÖ 7²îÇé×·¯;€.I¨4öîÝK‹´4j&$ðÒäÉœõTeönÓÉS§¨U³&ááØl6ºtéBöÙ³ÊýÓ[´Àæ¡ %..Îg#åt:¹pá 4@r¹ÜÅ@›7÷¹F’$BCCY0o÷ÞwQ‘‘¼óî»8$ Zµj$$$`6›©W·.%%% :tˆV-[’ÀħžâLv¶ÛE*I$''£Óéú:uê Óé°ÙlÄÇÅQ\TT)îât8hÕ²%N‡ƒ°°0¢cbHJJÂn·E±—•åíe¨W¯v«•êÕ«SZZй¬Œ«¤§§c³Ùˆˆˆ zl,yž9B||<‹% DþNŠÄår›À¹ììJÁ;ùßüó牌‰ñ!„ªOˆŠŠ"%%…ÔÔT‚*dmy óÐ!C˜;oO<þ¸"ì¢(røèQæÎ›Çýû9}æ ·ßv[%Á`Àh0pæÌDQ¤¸¸˜Â¢"Žv¼¬©+W®PZZêcaU«V ›ÍÆ5OûÒåË×vzOï…è®<ýKyy9=Èá#G&($¤ìŸ’$Åå‹ý~pùÒ%BÃë¤Ú“ÑHHH©©©´LOçÇõë«Ì¨ #.>žÔ”L&“û¢Hyi)ý àÓO>á\N3¦MS\E¥ñâEJËÊ«h/Y’ÇCEJJJÈ¿pÁ'N¨R©'//ɳ¡’eÓf³™¾}û²{÷nvlßλァl~„ ï/6«•ƒñÑœ9äää0kÖ,B7o9E‘³gÏ*Ü=.^t' xY#þ~wòVá:½^ÉC&÷KAAO¿ð7tm9𦥱þûï©Y«Qž ž,lv›C{öи ·¸iO­V«Oå`¡Â‚Zn6cµZiÔ¨›7n$66–³gÏb6›qI&ƒèèh>]²FÃúõë½{óìsÏ1ÕC®uðàAºtéâÓÞ+W¯2þ|‚ƒƒ)7›IIIq÷$)dZ²Ì–——£Z´hÁ?üÀørÅ ÝÙŽžÄ E‘999Ì™3£ÉÄëÖ1á0 >¿r/ÎWŽ›Í¦(k³Ù¬ü®¬¬Ì]n¯3B*£Fâí·ßæÔéÓäåå‘ORR’ÒoÊÝ¿.TÆæÝ&Ù]Чi" b#¸réq5kb·Û•L“ÝÛ·c4™óP“æåä°këVâkÕ"Æ“~[q'ãr:©W·.-ÒÓ õk‰¸\.¦¤Ð¸I !ž¸N§£q“&$ÖªEtt4Íš6¹ǰa4mÚ”êÕ«³hÑ"š4iBjJ III4jÔ$‰)) ¿óNBBBE‘&“””„Z­Æn·3oþ|žš8ÑçšÃá £ukªED ÑhhÙ²%ýúö¥víÚ•voM7&99Q¥""<œééÄDGã°ÛiÔ¨©))$&&ÒÐã6™L4jÔˆ5j Š"Q‘‘4nÔˆ°ÐP:´oOuOÖK¿¾}éÓ§v»ØØX¦¦þ§·HLAA\¹Â‰cLjŒŽV˜O;Æþ;Im҄а0ÿrär‘ššJÍ„B‚ƒ‰çî‘#iÑ¢…"q¹\$Ô¬IZ󿄇‡£Ó锡 4mÖŒèèh:uìˆÕf#<<œn]»Ò©cGªW¯Î‰¬,²³³éܹ3z½žvíÚ¡×é aĈîç94lØÆ¡×ëÑêõ<þøã̘>è¨(EMzz: ¸p›4n¬Ì­V‹V§C£ÑÃð;î 66•JEãÆ©]»6*• “ÉDZZ5kÖ¤C‡n—ZX;t K—.T‰!$$„F * ÙÙÙ””–Ò£{wŒF# £ukß±q¹HII¡q£F %Õ:!!—ËE¸85jDDD 5"99µJESÏœÓhµ¨T*Z¶lIríÚÔNL¤I“&H@½zõ~çJ¶›}|ë­JúíÚ9ycɧŸ‚'Àn·Z+qžÿ/çHÛ¶méÔ©“¯zünŠäº(ÉAÁÀ'€ÿTžìvû¯¶nÄ ó\ßLY‡çD{Ü *°@P$@I@E@@@‘@@@‘ðG…ÓéÄ\^NiIÉÿ·wæaRU×Þ~÷9§êÔÐCõH7ˆÈ¤ÌÐ 2ˆA4 ˜¤%¨ É•«ÑÄ\CÃU„¨`$Œ¨ 7qø®zĘç `lF{ ººº¦3|Tõ±Gb°÷û<õð4]]½kêý;{íµ×PU•ÓB8®C¢¢(u'bù*„ ¼¼¼AåÔiûCJŽ«ö{©ïñÆZã Ò\«¦0 ƒƒža—‚’’’F»*!(--ý—]C‰É¿)5“hU0ÈæõëYýñǬ]µŠ5Ÿ|ª>âË/¾¨ÓV¾>ªªòúoðø¼y<úØcÌ}ôQV%]‡×ëeÒäɼòê«ßª-ÇÉøeÄb1þ÷¥—Xµj–i:%Åo½õÿûßûû=·ýæ7ìÚµë¤m¿iŒªªR´oçuíŠ7Ù¼òxøRR9jï/]Šû[ØWŸŒé‰àõzùðüÃO¹¶äÔ"ßHN;±XŒµ«V‘צ ½úöÅŸ’‚i”–”°þÓO‰„ÃôèÓ§Q¿tMÓx`öl.¾øb.ìÛ—¸aàkÄòÕŸ’â4ñ4b±D/Ÿǃîõ¢'ÿ¿æÎßï÷;‡Íx<єжIMOÇ2 M#‰àöxœ¯¢á0ñx¼Î™p$Â]Ó¦qN»v,zóMRRRسgÓ¦O'‰pýõ×'ÒÖšÌkÚЇÃa^|á\.†a ( ¾¤‹"@8Ù Ñår9­d‚p(„×狀ªª¿ªªÎïòx<¤Õ³C¨ÿœšñ¤¦¦âÑu\.ǧ¢(øü~'Æ5,ëÇ,R]ÇçÃ6 D2fõzÚ¶¦ixj:L¦I4COþ_<! ñÇÙ³QU•X,†×ëM¬ü’‚k†sÝ\.—ó³XUUU@ÂòÛ2MMs®³<{&W$’3 !E{öž™Éùýúpi‡¶gŸMáµ×›×^ÝIÇíÙ³‡=zÍ;ï½ç¤ß Éh×® ^yÇCjZ½{÷æ®iÓèÔ© .¤OŸ>üîÎ;п?={ôà³;Ð4­NK¥›61nÜ8®ºê*ÒÒÒøå­·²nÝ:z÷îMvv6 -"%-[o½•ÿ[¸¿ßÏ#sç2åŽ;øáH·nݘqÏ=ލ¯]·Ž®]º––ÆÍ·Ü’°5NMeôèÑÌœ5‹‚‚|è¡:¦^)$’3å¦(üs×.ÎíÚµÁ\sgܱkWö¡§9cYYû÷ïgÿþýuînEáã>¢¤¸˜ò²2ìÛÇÐK.dégž}–Å òá²eÌ}ôQ‚••¨ªÊÄn ¼¼œÍ7òðŸÿÌK—&îž#V¯^ÍöíÛ™4y2†a°zÍV­ZÅ믽ÆÕ×\C8itr¾öškxêé§1M“M›6Ñ¿gœºÛÍgϦâèQ^}åfΚÅÎ]»§DÓ4q{< 1‚‚‚B¡#FŒ`ü„ Nã÷—.åÏsæ°mëVú0nÜ8ÒÒÒêŒÁívsÅðáL»ë.>ÌÊ•+ŒÕ²,^{í5ºtéByY;?ûŒó €DG⿽ü2kW¯æùçžcÒ¤Ihš†ËåbÆŒT=Ê;K–pÿþÀ–-[@‚Á ¥¥¥ìÞ½›1cÇ )++cõš5<ýÔS\2t(VRäj‹ï»ï½Ç¤I“(ùê+6mÚÄÌY³Xúþû¼óÖ[üvòd¢á0áHÄ ˲X´ho¼ö+?üukײsçNb±×ÇŸ~˜ÊcÇø²¨ˆßLšB7 -^̦ ¸cÊ”:ûr)$’3ˆP0Hz àLvµ'>H¸ç…«ªštHŒF£<õôÓÜ>e ¿½ývÊËËIɶmÚ%AÞsï½¼òê«äçåa[áH„ßÜv™™tèÐ!aË;+'Ÿ|’%K–Э[7¶nÝšH©ÄãÜrË-Ä“)°x<ίn¾™x4Êy]»Ò±CÞyç9ûx<ÎÈ‘#ùðÃÙ²e _;~rrr(-+cþ¼y¬Z½š¬¬,8à¼gEQØ÷å—|¾k÷ÏšE8âæ›nbÃÆƒALÓdİaäääP HOçg&ÔqñÔ4Í›7 ?a±H„©S§6è“'„ k·nqßÌ™,Y²„V­Z9±¾}òd<ƒ  üÈ,Ë"##ƒªª*ž˜7+WÒ¦Mgõ¥( ãÇwÒcŠ¢0þúë‰F"\8`­rsY±bE½"Ó4:t(Ý»uÃ4M† Æ!CHOO§{äççsàÀ:Ÿ—h4ÊøñãQ·ÛMFFáp˜õë×ã÷ù~å•DÂaúãYøæ›ÎÏüúÖ[‰ÇãÒQ ‰äLÆãó9¦OmĆª«ùò&6i=ÿý»ß±àå—yuÁrssÉѶmºvéŸçÌ¡[×®|üÉ'Üø‹_$òè¶Ûívž«$7ôw}þ9ÿ}çx½^²²³ñz½uLÄjV5„“†Y‘h´ÑMqÛ¶Iñû;v,£®¹†‘……x<§eü›‹ñÜsÏÈÌÌÄåvcÖ3òB`׊‘U+dC7G!Zý4m#’•b5cjl£_Á¥C‡2í®»èØ¡o-YÂÝÓ§;?ãÄL„¢`YË–/gÞ¼y¤¥¥‘•™™xNrüBˆ:]“mÛN˜‰%'íH­øÕ¦f…Z“’SU˲0L3q­šXáÖü΋áš0ÔöµI®Leûz)$’3Ë¶éØ©_üóŸ V$5Ïî;h“t³l’&lEaG2?fìX_tëÖ¯w~Ænd=˜¼ÓýùÏ~ÆÐK.aÍš5¸jO¸µÆáv»™3g†aðþ»ï²ÿ~†Ö 0@°7ø¯_ÿšÇæÎeÔ¨QDc±Äl›Ïwí¢K—.Œ=š‚>}ضukA²,‹¶íÚѽ{w~÷»ßáõû™ÿÄôïßÿk‹êZ²wï^.½ôR:伆ašôéCz À»ï¼ƒîõ2oþüÂgYÛ·o'77—q&лwo¶nÛvÜëøÅ_жm[ÆŽË…^ȦM›ê¼níkgYOÌŸ¦iüï‹/ 2dH£ÅÎÏsbÕ^ÎsjÜ# ƒ~ýúFysáB\.¿2…«“.ª'úº’æ!«¶$§Û²èй3+—-ãóÌL:têäl¼š¦É¶ ÈÍËkP U3qäæäà©©Xª—()-eÒ¤I”WTСC–,^ ¶MF €¿V…Wnn.ÁE]Äëo¼ÁÀAƒhÛ¶-×ã¸eæææ¢'W5)«1cÆÐ·_?¢±‹-rîØkïÓdgg£ª*)))Œ9ÒÙ¯ÈÍÉAÁ¸qãøíäÉüðŠ+hŸÏUW]Õ`µ‹DXòÖ[ÜxãdggsÁùçóÂsÏ‹Åðè:@ÀÔòŠ rsrðÕ3­ŠD"¼»d ÿyãÌœ5‹ÿèG¬ËËkp]vîÚÅØq㨪ª¢W¯^<óÔSN ÎSëý·ÎÏGÁOGŽä·“'3ô²ËhŸÏÕW_í¤÷ZµjUg§( ýúõã¼.]ðx½¬\±ê™y¹’©©š¯SSSÑ“¯!’ãP…¬ÌL|>–e‘ššúµ(Afre¤i þö7~ù«_qãM7qݘ1ÌùÓŸ i¡íõz¥˜œf¾Ñ!Q"i–$'#¥¥ìܾìÜ\|>¦ir¤¬ ·ËEï¾}ë\5H¥¥9e¨}¿Né'‰rÓx}ú0û>bÐxùocg¸ºÚ˜ÚãªJnð;å¶É”P<ÃåñÐþœsX°`½zöIJ¬:e¶µËÝn·ã/²}ûvJKK¹ä’KÄCÓ4ñxœh4Š×ã!oz¿ßO4%×ù ØI{Û¶IIM%6i~'9‰ôUs%’o}§’üãÍÎÍ¥_z:Ç**ˆF"èºNç.]¯ö¦rØBg¥©ï†QÏàLQgÒuìzY«º©-;¡6mÚ¶%‰8‡’$‰DÒ²ñx<ŠH!QT…M6ÖñVH$‰Äé¸`Y\p~ÓBb™\ #&‘H$’&±êõokPµU¿Á›D"‘H$µ©Ÿ¯’eY‰D"iRH$I‹£©v²'×·‹‰<Ù.‘|Ï'šV! rÛ-ê®YUIOO'µÖ!Ðú±R…h4JYi)Æ)îfpF!~¿ŸŒÌÌF-¤H$-j>HˆÈŽÏ>ã¬víð%›9¶Ä8D#vîØAÇÎÉÊʪí[’|N<g˦Mäæå‘‘•…ZâŲ,8@e0È9çœãÄG ‰DÒQU•϶o§gAy­[·ìCÆB•“úU«HïׯO‹ªªlÿÇ?hß©Î=·ÅvòòóY¿f ¡Pè[I!‘H¾çwâÇŽ¥ÍYgaF‹ßÈÎÉ¡òØ1¢Ñ(~¿¿N<„-/çÂÿ”‰¯sh»–+cÍ¿gr¼kâ®®–B"‘H’éŠѤæRPÚ[¦ÙÀ^ø»À¶í&ÓÚ$öRN$VŠË…sl×çTïÝKäÈlÛFÏÌ ¥}{ÒÎ=-Åu†îµØI1<‘k&…D"i)ü „DU>ýÇ>þß[QUl°±IõéLüñœ{VÖ¿LÐ¾Õ Ž¤çû7l0+n7•;w²õîé¸KöáŽÑu aCEÜä°æ#ž}=gÎ$½G¬hôÌk7eÛ'¼?$…D"i)"r'p!/¯¨‚)¿ËŒ‰— „JÜÓ‚-»‹ùp㺴Ͳìï6͈•mÛUeß«¯²í¶_Ñ­O2Zi¨a¥º<áHÇòë«.æ£!ƒ9ïþÙœ{Ë-I÷Ç3ç#sâŸ)$IKÐNOjK‚HÌàóGèÝ1l›hÜÀ«»yCq[!bº´NÁˆTca§+»™±R\.ެYÃæ1£øãþ¸«Ê‡¢¸4— (Õ˜‡m22òùÁå½øôî;P|>:L˜€YÏåñ;]} ᘤ5ú^Oâ:I!‘HZ‚$íŒO%ºKe_ñ1žw Û¾(æ•û¯sîæML[`ÙËCa|ØÖ×N.— ¥¦rʶ‰E£X¶t¯—x,†iš!Ð=Ìxœx3]íÈ÷7'¡(DJKY3úZ †ôB-Ù‡u´Í%P}^T·‚¢,ÃÂŽVcþ«2H¿Á=Y;í¿É<ÿ|ÒÎ;«Ö{P·ÛýuÚ˲ˆÆb§}“^AQQ¥%%ô)(hô¬ÈÉŒAžl—H$'[SXûÙAxñÒÓÓp»T@¡aÙ6ºÛ B¥*bRUUI†ß]7KbÛ,X°€« >l³gϦ:FQ,ÛfêÔ©lß¾UUBpó/~Á»ï½× d÷´¥t›,u·Oáì,/^£³ø0úOÆáùÍL0b(ÂFQl ßþ0Ú +°²Ct<'›Ïy3éMm£i¡ª*î»÷^†Ε#Fð§9sˆ„ç5¬]·Žç_x¡iK䓨#‘B"‘´„IM¾»™Û¶Q€•›¿ä`ã’þÝéÝù,>ݶ7ÍgÀó‰ÄLþëOÿÇÂe-cöMCÈxÕ?¶mY<2w.óçÏgÚ]wñÈܹìÙ»—‰'RyìØ6+V¬ ¼¼Ë40`‡K‡Å4Œfÿ‚Õè#ZZJø‹ÝääeÛ_„m‚Öïè§¢ßÿF$Ž5Ðæ¾6öV”NݱmURŒßfÑ"Å%‰×‚ââb~xÅ”WTð§äÁdÿþý¬^½MUq»\x¼^<šª&V•–…G×qi]Çãñ ‘XiÙ6šªâñxðx½¸4Í»îv'^K×¶ª(¸ÜîãÇJî‘H$’Ú)»g“ IDAT«™¥·Š˜¦ÅÛë÷ð×·¶1¡ð"ʪb´Ê„³'âRA×ÀëÖðºÒS½è.•¢¯Ž&ÒYÉ ,óÈܹ,~óMzöì‰išÌºï>FŽÅÆM›¸hÐ !8tèƒ/¾˜ÂÂBî¹÷^ª«ªNINDtëÇJ( Á½{Ñca¬ ¦ àô_¡¶ëˆûò«±Ž–¢´>¥ÏEÄ–üÈss± ˰¡*¡jÂÅ_¡çç¡ ÁK/½D§N˜ýÀŽÀ=›²cÒ|º39Õ›óu­4ŠmÛè̲åËùωIII9%^Iv3⧦¤`).,;Ž0m,ÓÆ¬yQ—»Ö¬êÆˆÙØª…a‚iØX& ¨(š«îm]|P{×4Õ«W3mút!ˆF£ìÛ¿HxFbÄbtlßžÒÒRâÑ([·mcôèѸ\.BÁ YÙÙìÝ»—°ìÃyïƒðè:‡äÀEI\‡ãÝ|H!‘H$uR:ÍÃ05ø\â†Å³¯¼Ç˜ ¡,ûʨXxÝ¿[`šËT°-ˆÅ-4U!'Êsom⦟Å)èÓ‡p8Ì–-[èÝ«¦iräȶlÝʨŸþl—ËÅS§²tÙ2úÀšO?ÅŸ’‚iY4ë$Æ7¥¶’û õ$Ú¦IJÇDÓØVVÜB(Ë„¬——£_8˜Ð³¡¶m÷ê°õŽür,JBHT++wv–³gÑ»W/>Xº”q×_ï\—Ë…iš|ºz5O?ó ÿóÄîœ6XíÒáZûB„mãÑu‚••ε¶m²IçÃ=D$¹Ñ?ë¾ûHMMMt‚¶íDLûlœÄgFn¶K$-!­EâlDs¦m3þòî̘0×Þý¿ËÄ««Œ¸ 5ý:èÝ>@—³Ò队NÛÜtl6î:Äž_AAç<útÊð,t‡ßÜv·O™ÂšuëøüŸÿdúôé´iÝšÞ½{'~Ÿe3 îà®»î:†\v‡Nœ{hÆ{8™s$õ¾víˆknↅ%ÜÄŽdÌ|½ï ª^{‰#wÝFÉÏ ²ï•Wã¿i2FuÓÄ7JÛsÐsr°Ó²3f EEEÜ9mÛwìà³;ùíí·³båJ"‘éééøü~JËÊxûí·Ñ\.gÅb×¾®–…æv3bÄžyöY6lÜÈþX»v-yùùŒ9’ÉS¦ª®æXe%o-Y‚[×ëÄäÛÆJ®H$’”Ö²OQÁp4Nßóòy`â`æ-ÜÂ9íÚ1,î~ì .ëÛðœ ÈíRÉN÷1ùš~t;'›P$¶MJJ S︃®]ºðÌ3Ï‹F¹hð`&Þp>ŸÊcǸü²ËÈÍÉ¡êØ1î½ç222XùÑGŒ=ºYïã[ï‘Ø6Š®söµ×°÷÷3èÔ:#¼ŸªåK‰—”pì÷ t ,8|õ¦Ì zÝ: ´Vy””I=wf&–i"…¶íÚ±léRþò׿òÈ# ( ?¸øb.2„ªPˆ­Û¶1ëþûÉÍÉaúôé´mÛL“Ç“““ƒa(ŠÂucÆFùáe—a[=þ8±XŒ+.¿œ^={òܳÏòÈܹL¹ã\.ƒĶ,ÎjÓ†ó B4{DdO|ЮŽÛÌŸ0„Ÿônô“H¾?hšÆÛ‹sÕ¨QÄOaó@MU(.ñÌÛ[9Xi«®äÅ»G‰Ä‰®¸v2-V³_’’’¡CQT—¦¡¹\yÿX,Fe0ÈŠeËÐuX,æT麎eYÍ~.—‹…¯¿ÎÀÁƒIMM­3YjšÆŠåË2th“­L]gÝÏŽXö>­S=ÄKЍ>¡|Ýý× ›Ø*¸rZQa)”·ëÌÀ7ÞEÛæðáÃŒ?ž´ÔTÜn·s>Æ0MBUU|´b†a8“|MeU<Çëõ&bcš >ŸP(„MÓp%W.†a8ñÒu5¹'bš&ÑhMÓP…X1UU•UŸ|B~›6äååÕ`Ñ–½üê…ø\B®H$’–³0iþmbMKªH¯fqã°sY¼f/K7áС¯¨ŽÄQEQÐ4-1Y©*n·;a² ñܳÏwŒ5%µ©Éï×q²¢Q æÍãÃ~ý°+‘—Ö‘RŒdSFÀÆ·-'—CÁÅÁJ þ>¡iئ‰mÛäææòêË/7)XÕÕÕM–k׉m …œqÇãñFŶ±ø†qŠb&…D"i ñmO„š»ÙX,æ<~Ð5“ι:û~•(`JÞ»u·Ë…îvc'ïŠ!á r"‚uºâМX™¦É¡âb|óçS4{6•›7Ñ6#Í¥ ¢Q`ë̸ÉîÃlÛ÷½³øgI 1‡üü|TUEUrrs›38%×ë´ÇJ ‰DÒrDDUÌS09‹äiiUQÐTMÓ0 ƒst¸a¢ªi‰ï¹\¸j=TUýÎOäª( Yr5¦»Ý¨ºŽyÓM-YBÑÖ­¬"6°-›#qáó4kð`Úª*]Ççó¡%[¾œ (MÅA ‰DÒu$yw{*îp$Vºî¤¡j?j:ÊÖ8é¢ïxýF!±íD¬š§Ûå"/?Ÿô@€:PÑ«G**¨þê+â%%˜¦I›ôtÜÙ٤䤥¥‘š–†G×Ï(ÇDEQNøzI!‘HZ‚˜¨ê)O•œŒ$ü»Ü…ŸH Ä7܉+@Jj*)©©´jÕªŽÖˆ¥€F…ôLò#ŠrÂ×X ‰Dò}!À²Pyl Ûn²ƒ°¼ ·-Ë9³qÁ=µÏû7[ÉžhzK ‰Dò=Ʋ,rrsùb÷n:tîÜ¢ÅÄ0M¾Ø½›ÜV­Ð4­AšÉ¶,rZµâó;éÖ³'n]ÿÎ÷t¾³ÏmSZ\Œ¢ªN‘„‰¤ IçsÏeçÎ>t¨Å¯Ì,Ë⬶m-Ë¢}‡lß¾U|F¥¡NÇjÄ223III‘B"‘´dlÛÆãõÒ½Gª‚Á&ŸµEÁãñ’šêì[Ôo–¨ª*Ý»w' FϨÍñS-$n]'55ÕY½OX¥H$ßó»pÛ¶q»ÝdfeÉ€Ô‹Mc_+ŠB ª%°ß´:“»oI ›0%2^§:RH$‰DÒ,¤H$‰¤Y8{$’ìõ/‘H$I“+dƒÊ:B¢*‚E¥‰†cRG$‰Dr„€E¥¨ÉÖù"{âƒ6B%ZË3@"‘H$’ã¡*]SÁ6“©-ÛDWUV+H$‰ä±Mþ?¨È°ÀÆ ˜IEND®B`‚nted-1.10.18/doc/docimages/ins_block_demo.png0000664001041000007640000001732211520267216015720 00000000000000‰PNG  IHDR€£»Ê‹ pHYs ‰ ‰7ÉË­tIME×  7+qIDATxÚíw\GÇŸ½ÊÁÁÑAD%bW”HQ#Q1•hTT^ÅK4‰Æ[b‰F£Ñ»AX"ˆŠ ‚#U¤K½ã¸Þoß?ŽÀÉÝ-GÍ|?üqì>;Ï̳û»™gfoÃq„ÉP¤i@šA f¤4ƒ@ Í H3Ò 4ƒ@ Í´%…`ë·‹–¬ÛΓ©QÐ[.—+‹QÚJ»xÁ—Ïš²;2^¤äÇù·£¢Þ­u9x𠗗׸qãP(Þ~&åÒ‘=‘ñ}½Çò¹÷wèÑ«Ù(î­‹J¥R«QþiæÄñ}tg+×£Fü ¸æöí¿PÜMG(£8ü·Æf±W³¬ íjÍëá +’ÉQÜ› j4eee(ÿ¡~F£äf s¦€JV Âq›Î(îpàÀ¢¢"¤½ô_ÍÇ\­h C& ‘›Íæóù(ÿűYnnnff¦ƒƒƒÍ ëá?|’|õ†ŸX®^ÒœÄÄœ×4^@,wêÔÉØ8 Ã0 ÃL)ª¢¢"==](›‰Åb@˜˜H`S\\laaaccÓ’Y …òª¢Šã8Žãd2™D"Ñét&“Éb±˜L&F#‘H&ÆóuÒÌÎ;ÃÂÂ’““ì·´¦ät³=ë¾I|ÊÙ~ØÚÒÒxðä;7nZ±ik‡ÕLjjjffæ_|apïµk×lmm}||L)ŠJ¥š››[D0 #“ÉÄf4Á`4ZÛ·o_µjÕ«ŠêÇE"ÑèÑ£1 £R©fff E«–Ž&˜ÖÑŒR©T*•Æ †Û™ ?põVÊø¹¿žý!ÅxþúeYÄÅËÇÎÿýªÂ‘œœìååE`PTTÄápŒ5öÑ£GNNN¡ÐÅÖÖ¶gÏžóù| b3'''777ýÄÊʪ%‡·ÊÊÊššš |¦–·|í/9ÖmÐ裿¯"LQƭͧÒÕ¯ô98K–,AãuÄ+ÖLûú™øR*Óåøé º13‚w$òîÄñ~mW¥R©P(ˆmär4Žhû±™–#GŽÈ,%•[7o¯«¬z¸eß¹”}Çèá7cþî3Ô?íN¼±¢Z›Í–Éd~~D²äp8ÄÞ322 ŒÙ}š¸VEEEÞÞ޺߿ôÝÊüržv°û¼T]UpŸà …ØE›rãÆ >ŸT7í¡ÕIœhMÍÉä[ž&^ø1,ÊÂ¥ÿ‰3tq®À{1 »³0êð_©©©0z¤—~iÄr=zô¨)5ÔÎA5µ!/eI$‰dÌF»ËÄÊ›hLTm\•Ÿ›+ªÄ2UÃZáª³ææ•óê6` K_¦D¦íÐÎ2¿Â t|Fóý·+¥JÍê-;Ý»ŽqeÜzPeT¸æLg'ÇŠÒÇ,ëNbz“<¥¤¤üGÕOSâÇê=dØÈ~öí®àI^îTìâzÁP™öûöî@©HÇêg¢¢¢tÿ•%ŸO|N³ìÚÝR¥éÊܱ`ÒIWë~ƒ|ÞñÄ470 p‡îëëÃ©Ì‹Šª1ݵ@ hàÝ ©©©b±˜Ø²¦¦†Ø€Ífçææ³INNf±X"‘È”j&$$äåå3P«U ¹B¦Pr¹Ü•’ª_-+äÖ¯‡ÆÅ\¶³¤éÚØ°,q É•*ƒ5ó³…tIITT‰1_ùùù¦Ä°HOO—H$T*•L&3 kkkkkkƒ¡ífßLÍ :T÷ßí©qX·í7ÿaßùÙ•{å@®.-‚›ñ±‡(ôow†/™1Z¿ª\¶À´ÇùMrmnnÞÀ»±ËB([2™Lb‘H$“Ɍٔ––ÚÛÛ›R8sæÌÀûöík V woݰ7,RªRcÖ©[ïeþúóF]ÁP,g/ÿþíÎL]çÎññ74Ю WæÂ… &V»-P(B¡pÈ!Ú!"…B¡ÑhZ ½™kšZœœœ^J듨æÝ¾üìáß]N«üîóà_¯‰³îì¾|òÐ’µ;~ý~É”IÏ}Ü^Z·ÆÕâ%3àHe Šj¼ Š)‡°X,lj--ÊÚÚšÉd³a±X¶¶¶TW<ÏÊÔ@¢ÚÙÙ4ÞþåW;Eª4µKU/ ‹˜…LâèÉ\8¸öÚ±/tÜ`wý¶8;w2ý{§©aoElmmI$Ò+¬À«ÑLʋžÓg;˜‘Îþ¹~ÿÕOÞ~±%lËÅmþÊ-¹™);ÿŒ=qÜgÝbÝC"”wô…sÒn.ûfõƒÇ¹*5.“˃CæéO›ájÑ–ÃçêŸ|ÓÀ¦ÿȉìÔÔ”ôÇ8•éé9ÈÅÉî•4ç§õcÏÕÝÒcö¸V£|¦YÝŽ £ë[¶ ÈFêà÷°Å×óS{°:u矱7Ë‹_8¥Ý(³ìëÙMtñÍ5''iÜû“óªêïe~”œ:ylÃõ"Œd>gâ»û/ÜÒà€‘iïO›{üý;Á0ç.Ý»tµ-âq_ênapyhÀT>üÒյߩ˷ºvr¤÷òüa鯑^]Ý'7¬çŽì/¯IZÎãºCÔ2NL\ê{cßc³ÙúE5Juuµ)‡Ü»wO*•ZXXØTUUé…㪻×c²òKÔP¨ÁÝÍÕ˜»¤¤$KKËçÏŸÜs^W0 •Fb°¨~–½å%W¨è s—Î/žþ³gÄİhÉÊÊjjØÀ¦óôÕ«•º[¨–¬f”£]Ó¬®®Ö®i:::º¸¸8::vÌ5ÍÚÛ°[ÂܹsõË©ÌN°·vMËçÈEÕo%à8¾rþ9k6á8~÷ø8x!¹Î¸êAüêï6ïÙ³güøñ°ÿÐ…&UÀÃÃó°°°_~ù…ØÆÛÛ»ÁZ²nÁ4&ƒþo'@Þ¸q£±Ã#""âââŒí͈?ïbW›ÂÙwîñÇùx¼-11,Z¾øâ üÕ‰¿&´ÕØÌ¡ÏÈM_L þ诈0¯# ³«ÿéÛe…Ù~ÝÛoxpÈÏ:c{_ÿm¾þÀårcbb¾˜?¹=¿5¸eùçΞKËÊa9vˆ¤ öÆF„n?|NõFmÙ¥_óyøOJb³“ÓãTæÛƒ=»trÊgtÜó×üV^½hÊû£&ü騑Cè\néèwG_÷1éðöM攆˩÷ïDb¶dÉ’‡/¶›lž&_þôq~©6å&‘i Ë+T:·Z˜õùÌ æz#uvëÕÙ­ºìþëš±²²277?wîœþ®~ ÜîÞ‹ÿû”DÈSË+<Þ_4b`êøTC2ëß¿¿6Á1Xš1ø|>¡=.“JÕxôP.“¾l‰ïZµ8#¯R'ÿ&5(ÊÜ®‹ïÀ^ÏŠ*#uë=xÞŒ€ØKFç)ÒÒÒ¬¬¬jjj:©m,,/QVVÖ¤˜·.Ú|F»8Ã`0lmmlmm;æš&Öò÷6óx<G£ÑˆÍÔŠ7÷aßÿ|cþŒVþ¢ ˆ5¸ëùã{«V¬KË)ÖÈ´eË–.Z¸ ^1éÐþýKEµY,ÅÜv_Ø©Àá†^jµ  ñ;²´Áì ç˜ ,úh4é•=ª±.n†Q(íO5i4Ú»¦icccð—èJ ÿ;ÕÆ¥Gÿ®¸‹5…D×T¸ºŽn•ª‹…¼â’2s–=•Juu5p—{õóäùŸ~ñ¬þ>EfÑÀòÌ™c?ï +ã]»/ørÙþ>¤Žx+ms0D‡Ígàçå³~:‘`Æ´;r6f¢_?ÀHŽT®‘µ¼dJüÇo?ý~(‚ÃQè ¡HbÐì詳:‚йýˆ 6~ù¾7Y"U˜[XШtA ^¥fž&ÜŠÄB‘84êÌD¿M*Y~žLefçÙ’2 …X,þcË’ï~?¡P×*I<ÏÌÌŒÁ`èâílÃ,ç‰À®S÷~Ýï?ÀÀ£ÕhtÎh«(¨T–B!  ,ºàfˆèÿÁxI7gõìès kx`‹’.—û0éî{"t>c‚îÞ½Û»wï^½^*Ü3 èþƒ>SáT¦—·W÷®.íŸÛBt4ìØr9|õlÛÖžÎýýýÑõÝVéWÁ+ÎèÛÕáñ!QWãâb.x÷ì´`ÓMËËÕ¨>ÿ`™„aF¢Ðý'Í)æ;èê—»;Pû7cF;;W«Õ8¢ h…y3 3ï¯ßøcê“B Ý|ÔÄ™›V-¶4k…ßâ‰Õ)ì¤üœnî½ßäaeaÖ±¾‡4HL„•+áŸH$ðñÐPxuCB´"m«P)dU.F¦;8Ú“±ÿFPo߆ٳA{ó"{öÀÔ©`g‡®6¤„!nÝ‚™3áÅ‹ZÁDDÀäÉ@A3rhapHöÏ?õ‚qq+`Ú4ÔÏ Œðä B~>• ¡¡0{6` êgFHI© ÑÑ0z4 Ò ‚§öìY0v,ŠÇ› zƒrëQ÷0hC’A Í ô¨Ë QŠˆ4ƒ0‰ºì¥1H3i¦-AocFšA˜óßG¿FD@u5ŠÒ ¢1||jo*«®†¹sQ¤¥¿þæ }¡•B‘‘(#^+н3mƒL_ ¡¡®®ð×_0lŸãÆÕ¾›–Çkkªÿh?# DRt3•ff°gOí`¬¤ΫÝW+  æ¿«NIÖœi?œþIZ>ºoW:f̨ý|ü8: ÄÇ×nÑ>Ò Ñ–”••eff¶~¹xËPIy¼{`$ {kà®T…#ê¸s·´ÄpœJÅãâp33Ç0üâEž¶æÒ¥K7nlõb[ÚÏ\=±ç;gÚg+6~ùQ~FÜѳwÐ×[=C‡Âùóàä TBHÈdþþàïÂÓr Eeeåk66»x2¬ó ÷øiÕ–ï0€{âЉ¬‡B1càÇëÆ µæÏ++ž–“““³qãÆ×K3šë‰Å‹¾^aE%Ñ,{‘1LªA³pz|ö¸¹ýoŒU;éŒ ¾¶4¡Pب¼ÝÉ×"Íh•Erõ;Sü@ÆKSáøt²  Я,[§O×>œAHeeeû÷!&Z4 ‘€#WŽÅHf£§N@'Û^^pù2 CSs•‚‚‚×O3 ÞÞÞF4#Ån^þ;UTº~Ûî.ý‡óÒã£ÓGA&¥™1:H˯^½:nÜ8ýíÇÎÎkß÷ȪT*@`kkÛþß厎ŽíìT.—Ëd2‹ElVUUUVVM`SXXXTTd̆Ífçää— Z­®©©±Ó>=¸š9qâDXXXY]òªGg:Ùê­nGæ./›;ð‹»Ñ ã—}òÙ‰è+D3«W¯^¿~½þö 6¬]»–޾ç/^œ:ujÅŠí„o¾ùæ×_mg§iiiyyyÆÄÖÖÖ××—ÀÆÒÒ211ј@ H$Ä%ÔjhhèÚµk[46svv6¶k˜‹ÅÏ+—ŒSýøÃâS ŠjuΞ=D®{„Eƒ–S(+cnnîììÜΚQ(–––íÝÆ¶³S;;;++«Fý* :NlVUUEЛfDÃ0 ‚£Z4€ãJË>V76늖¯EFç’ÛùÜìÞ½[¥R¡Äñ æŒ-±¯Ÿ>yí…™CŸ›V 8Uc_¢ÒS ÏF ê– ­»ÅårY,…b¸J¥²²²ÒX¡R© VF*•ÕFp¹\‘HÔþËsÚÆ¶³S' õËårår9±Yuu5Ajjj FU¥Rá8N¡P f­G"‘ø5I3‰‰‰Z^’ñåòM ˜V./ž¦¼0Ö©å§Nü5eæÌ¨È¿ŒÕl¶oßâââbl8{ÿþ}fp¯D"1X™ÒÒR‚£ÚˆªªªâââÖ Ž‰ß†íï4777//¯Q¿UUU\.—ج°°  ÙÙÙ ¢*ä• K}’¯Rãv»/_±Ü™e¦¯´’’"¿Ä·ÖÌ;× F%û|œ2*Õ¼¯Zc´„Š»QÁ³íÙ³güøñ°ÿÐïê‰D2™ŒØ&((èÙ³gÆöúùù”àááapûÒ¥KõÛê¶ÅQ2wîÜöwš””´ÿ~SbDl“‘‘AЄ÷›Éø/ÆûöѽøÜõ§þQååå«W¯&pÚÌõ™[güqõ¡«çØÝ»] g±ùr_kÃÇážþ¡¶«‰‰ùb¾©KàáááÝ»w DhD“²lNy û!›'VUV×èîˆ=“ô¤>×'Ó»zx5ÃAsæ4*Ѻï~À0êÖ?[Ó-Þïkp9»ŠÃKdƹ'²¨¨èí·ß>pØÔײŠD"©TŠ.DSô¢¾±gÈà·ÇôñGÁË—~­»“¯$Õ%043‹O–ý83 o[Í>|ø¥ÿÓ;‰Ïyö®’Üû¿¥]y†Ãå/Çîµb¸õè7xP÷îÝÍh¦È|}}œìÈPÙ 4c$%%p ŸqœŸŸúôi'íÃz”——ÿñÇTíoñ ¥kòèÑ#‚£Úˆêêj6›mbdZ‘'Ož´¿Ó‚‚‚ÂÂBckº1ÉÏÏׯŽkª9•Õ<¾Z"‰T· œÒÜ­[v‰ÕµOcT+eé™ÏêöfæwïÖÅÜÒ 0r—CÜ-C µ] ¤¥¥…¥ù̪…þXèå4quчØÑhT¦}ŸžîL0òü ûU†Ò›Ì›g™²é£ÞmÛ¶EFF¢|å3 2éË'÷¸»Ô.ÒS–ºMøiÓK‹ÂvÝ~æºÅ±Kw;wñØDŸu:]™êÈž?úŒþànjú©™׎ܱÿ‰î–>‹¾ÍÞ·½MʸÑ;7\G>])ùŸãõm¬[¸tþ¼ãºõÒÀàÂÍ{u‚Û.ƒ–­ßV?áÔËëÖƒÔüüœbþ–›k=TÉ$Í4H*ì»1;™—ËU’INÖ¸HÙ½Uuá~þÿØŽó^ºãØƒŠ ÝCÝ<=‡Û&ÇêE€D"‰DÄö …‚Çã³Q*•\.·Áꤶƒ ©ÕjƒÊd2ý£ˆQ(±ù¦Tp›ò¶'‘Hštˆ”'ÖOºÄ<.—ÔÍhÛ¤+¦ååóùb±Øà!k> »žR÷oqnN³‰cÆ=ògÎ Ö¥·×¾Cûl11—+ÖµaÙØO¯|‘HdJy<žT*%03I37oÞÔý×Ùó½£—ÿâss`ÀÔÐÍ{?ëÙ¿‡ÕíÐÝNSFJÊsÀ]XSwˆŒ“sürFÐxVVœ;egË2Åi^^žT*e2™6'))©¸¸ØØ¹¹}ûvÝ ÆquÆ?ñ;+ÊɪH Ú¥¥¤¤D÷(Sð»Ùol#A#†Ãá4éÖ©S§ôf04©ˆòòò&:m…Ææææ>þ\ÿ\#9Ÿª3L9o‘¾Ù–]{år9`$&­(¸YQ`¢ß¬¬,>ŸßhUù|~QQ‘Y3æ¤UÙn6vîdḺàIŽãk–LZ¶ÇñÈk1õlbQqMfjø±'Ožœ:u*œ‰¼ÑÖs*•R,ËdŠs±§w[Ñëçj0Ít´9€½ß-t°³±´´²wr]¾yŸ\£iE¿¯rÀ̾ÏáÝË?þx’ôpød_èáäz6—}3êûß÷Î^9mX—ú/Ã~žsúyJ%‚ŒŒ 2™0Ú§M§ç%ÝÚ½ïPVN!Ó®Sá‹ ï0ùÂ…+òúIˆ®Þh=££±xóYK7”Tð\ºt³±44I3juÃù®Ñ}»_Œ­™|tð»þ~¾¼T67-6pæ½Å+v.[ü‰¾}Öã{ýúõ ¿ríþŒéï™týã8ŽãúEé×­Î&áÜÁ©³—è £n/Ž«Y–P£À0ÛνO„î5X¸Öi£~[F£ÑhÚÙ©Öï+qJà—iíÐÇÚÁàU×r¿¦\Qš5òìÙÍ›7‡‡‡/[¶Ìp:(e¤§•”K$Ü3ƒ¿Üøno»Öjall¬ƒƒƒ§§§þU-ä×TójTj<&&fzðt'GG­*~^·²X¨¬³³´sÚüýšºµ³ò¢g1×oIä Óz̸À®N6ýÞ»woèС®¸µ.B¡ðÉ“'>>>í|ù&$$ø·ûS£*+++++ ÐÎ~Ùl¶P(l´½‰$##cèСÍÌgL}2 ¼Øq ¹GŸFòõó¡½\êêâ||íb—ZêÕõßßc˜]—¾÷¢çâ!ššÏ4J3ïѬ)Ï;yɹ—÷„1Ã($ŒLëäD#ËkÒ·0# xé))<±ªœSÓ³§ÞdÚý+“‚ˆTõ3ô¹¹þ€‘Ì¢âo ?þ¼„ãÖsÀì9sÜ;ÛñJò}¾›=a_l6`¤}§cÀ$ #µp5Ms3êè¯Ö<-®ÔöîûÃXœ¾vSW0VÎ}¦Î ©û·³»Çú-?£“ŠhSš¹T*©ähg£¢“â@^“š/S1]›ßÉäçç'þ}bâ´yµ‚ÏÏyÖ`íenð´Á}ÜÌÍææý¼ý¯\¿ÜÇÁ EÄkÐÏøÍø(<}·µ“ÛW“ÿ€_ ÿË̲ë„»7»eeeÇ.\ÑíC,z¿0¦²²²K—ú™kç~CÙŸää<Ç©=Ý»¡7N!LgРAb±¸åå4óMjYå„Q£*¨îAý*Þo»~[v ê›àÑ-©JYæ?Aÿ{ZT Ö­¯ohø¿îèL#:ÍÏ™BXµÿ÷_ÿŽ»C²°Ÿ½pYÈÄw[^\-Ïy–‹S™={ >ñÆi@si@šA f¤i@ Í H3Ò 4ƒ@ Í ÿ%þBÓµç+ÁÚIEND®B`‚nted-1.10.18/doc/docimages/desel_selective.png0000664001041000007640000002702211520267216016106 00000000000000‰PNG  IHDR¶§=ô^ pHYs ‰ ‰7ÉË­tIME× $ŽX¹ IDATxÚíw\ÇûÇçúQŽ^D+b%`lH4*FýaTÔhìѨQ5&¤XQ!*v±€ 6Ká ‚ ˆt„ãàî¸^¸»Ýß§xp\çýò•WØÛyvvv>3óÌì΃AQ@ öÀÂ"€@ T (JR@ T (¥@©@ †ß½oïæÏ@.ƒOYb.¶¸ ‚%ñqKE.A?§¬Ž’G@À‚Å`” ¥@©@ P*” ¥@ T (JR@ T (J¥@©@ P*” Ò©…Ÿ~ú©«H¥®òE9 Ÿ ¤ "•Jÿûï¿.!•ŒÄÓ>ý|<ÜÜ£âÁé rrr^¼xñÀDô¼33…VÆY1û‹Üz|¨ŽàÁƒOž<ù€¥ò÷Áµ"Ÿš~íO¹¤þbÔøP!ê;‡Ô­O9;&dUØ´á?û @£Öˆ.\øáf^÷}ÀP´éN%ïðÉ €!`0À‘„ƒµÒ]ѽWA$µ"õhàß”£`°÷tX Ý˜G­_¿JE‡¤€ ØÿÛq<Ùi^È`XŸ Ýu°óçÏ'''ûûû·1“c¸p, OËÛ}Ã7`Æõècj¬ _Û„"‘èÕ«WÚ^T,Ëår—£M/^¬þ„Á¦Ä#ÉwM ½‡ÒÅ25g¾Ê½OÅãÑN$<<¼²²òúNôcc¹X«ó_¦ ·WîÜÙ~I¥¤¤¬[·NŸ¼ùúúê–pÿþýgÏžÕ!!›ÍÐ6URRRËËé56¸ŸùÚÏgÔ‰c.\°mÛ§GdœÐ…+Ø2¸%}û¼ÌaÞ= wÛîfn½´±¼ ‘òøÛŽž ôsSsæ±?ö;›ËZjËøE÷PX˜¯¢ ¬¬¬ÕãG¶}ü”i5xÚWã¼Ú:P‘›\Kñ Öe¨1Õ°X¬ªª*6‹RVÖØ9W¤,An×G¯óz:C À”•qt¶€¢¨Vå\[KfÔ7°X¬vSÕÖÖr¹\}bSS“nÉY,ƒÑ!-Ç …Ú&¬­­e2™*©t”Ê“¤Kû.Ü%QÂj¶š|È„µÇ/g-[4ût&û½H…Åvì´‹æ^²AHìA³¥ú¡ÓE¥¬¬F©8kuËŒZj=ƒÁf³5‘Š&§u„T †\.×yœ?„]TTÄ`0/Ëù+–~n¨ªÙÐÐ@&“)”ÖgÕ²²²FûÒ% À­]SÅ9 ==©$#‚>ùá¥ñ™ÐC#N%Zdॳ…“Ø—-™ºy-2(5¯âšºµ›ŠL&WVVje\SSSÝ’?{öÌÎÎNô™wÏÎY÷]£XþºŠ“­µ½(ƒ¡Óé*©tñUnÛXX/š²hûÜÉóÅ·ªÚœÂ³2rã†5«V­RÌ8P'€#GŽêýê“_‹Ëò¡3ݵ@Qé•èÃ!3§~6ùÒÕrTÓT_Í kÖ À¢a–û´~±EÒX°çH,–hóûo›£Æ;Ä…ÿ#ïâÕè`ïÖÛï´”ËVVVG]5¬Z ÝV'r~è”ñg³šLž8I³”2)úVUDsÇóÑG:I**Ë7i·¯²eˆ_À˜ÔØS˞Ŧ1jßW¯!a‹Ú˜‘Z!‰¬†:Kb«‹AÏsï—¾Û5Y¹¹ôöTŸ±¬¬,ƒQSÓú°>## É Ôd ²¡~H\\fJŽ^Sç•YîrBcC$C#ÕÙ8~YÿÈÈ+:[Ë?ÑjÅ_bϤsòXYí¦Òm ’ÝPsÿÞƒªÚz²™eõ«Z “gÝ»¡¬ÀóJMÓ.Z÷mò½‡ |+»ãÆO(}’\ú$Y«<òx<ÕOm— ¿™æ 0¸Ôj~Ñ£ë¦x¬‡““©ËȽ¿îáÓà2`—hç¾aó¶uëVøy>ȽÿOtÒ¦%ÊIÚ]‚ œ¾ÚÔéWÁeØh8é:>Ca^^£PÆH´M¨â6Û8k˜vÞÚír¢iBòc”H ˜6ké¼é˜÷]ZK…€Ã„Lp0ÒË·D†š™ˆ(4#anñÚo,ÛœoxG*¯— Ÿ†·esbÐê‰A°NvEr^Y¸hõ³r€`Dùfùm´¢ê6\¿u_ã9(BèÊM¡+»PQ´/•¤¤¤wîÁÓ¦¢¬,))Iàb}íÚí¡¶F} ç^Œ°“P…€ÚŠrå$ åÙÙDÀªhiJOÊÊÊðx<‰Djk`ýèÑ£†²áIIíÏ©s9e5#½òSjƒØII…ú)ÊÕ×÷IJÒúkA ‡ÀeŠ3"ˆ­VåÌȧÒjeõe-Sñh/¾Z¼†+CJE¼êêWZÿn÷ÎÈçër yÉ7ëÑÆò¤¤àû¿œœœÆÆF•;m_*nnïÌk-^°dîîk?ïêõý¥¤•º òë c=wsQŸ‘˜â5ª9‰LXs¥aë¦ýõWKSzB¥RíííÛ²iiiéââ"§ZhrQ éÑ£‡›UŸüTYàQ2ÖÍÍD#Å ¾‰‰V%ãóO.'Õ§{`@Æ2ÝÜ´X "²Èr †ÚDmyшkç›u š9½e·›%Isã={X<¼sûéÓgRÝõÝJ¿IKbßõ¥B£Ñ‚Jh-·^ßvòÜOÇŸÝ»nàX)Cè9pR\­ÄÍÍ-ê§T"¥çš­_»Q^?*擺¾îÎ7oÞ,))ÜIÎ3àd±¥¥e»Ri´´ps³h_*äê=z¸¹Ù铟\K ãÜÜôZ‚¬¶ÃÕ™˜¸¹Yižä¯qLFºUóä1×*9R D™¥Ø²eI~»$4>öji- àä>8úü¹O‡ôÕêv6ÍúäLBÊÛÖúÞ-7·»¾TÊËËq8œÖRi1ŠÄ?{aĘ c_æì ß5´ŸëX»^¿½º,dÒÙ¤gѱq½)o›4«!#7 `2™7oÞ„‹*­éåÒ;8é1B6¥8!¶ÖZ¤E$¼‚‡–Ê.¯kp = ’1§c‹+*~Þ²ñfj®‰¹Å½;‰Ãz˜à0ßgÿ•å#³Öníœ"­)Í‹ˆø;»à¥¹­óÊ[Æê«¿M]¾­7ï9àÉÓüC® æH‹.f60lv½,¾âhÕÊð.Aª«ëMÂðÑ’ªÌ×úÛ9Zì?ˆ%QM­Ë¹a‡$½fÑW_p1œ†ù §Mh^ßHN¼mjl½uÝ—7ªæ}{õxQQƒ ‹'/Xµ-ò×o:¡H3ïžýlúÂæ™·ë7Ò$ì"ýÍbP´Í–,Yrüøñ£Gª7!—T¯\³'dÙ/†Xuf%‹wuuõõõmõ××_AÞæÔþdV¸Ÿë—Ö®Z/A¢ˆ<ý^Tâ ¤XƨG@…ÛgÚ-A–Æ{²>Q>b³ ÉeŒv¯÷U=Æ_ˆ“cQ Ãfj‘ïp-æ'_Ab[ù òÁíkçãn* ]÷Ó(/[͇‡‡¯YýM“TnlJ!´k—QTz'öbfA‰T†ØõôXüÕ<# :4™T¼iÝz¡’‹eÑÇÿ×MK´º´á¿‚T€ÈEx øeß­NþÜOý¤‚]‚”K{†²–´ùßõmÜÚÉQ¶ðçår-ÛžÆÒÂ0²f a8†¶KÏ“ZÿéЯ۔«Šë€~~~b±X‡‡‹Èx &ú)_ý—ç4I(¾óÍÑÜ1)«Ä õM—Øí˜v¶ïëìä‰^–$ –ìaD‰;é]wT&y–û´#f ¥zšj(gå¥rÍœuœ³Jú ©Ê|gα–`¬•‘϶I±ŒÌxaC5Jt­ÿúܬ6‹m¨\z<Ä‹¾]Gm öµ©ÿ„iƒû_íÝǽó×cíWy±ÅÜÙC£)ÖȳۤÀñ%¯\ûöÿfÕjÏž¶É’.R9»ega·ðeéîýNìÙŒ"¢J‰ oìÕÑÅ‡Èøvmûãðq:[D&áÅbéø1×u3%ãó)ÈO°ÅK‚å Ð:?¢ü§ý§A+]µŸ%!¸wöš!\ª¸®ç=8Kî†O°Ð\+B)±yàˆà9ËÏ Wä¸~ÃŽ;Öù.\[¤Ò¡­øbˆ†iM©–Ž~žM©Xù»‚Š<C0žÆ ä¨ÓHŸŽ+¸†††¸¸¸Ä‹Qñ©…ž¾CV̘NE*Öm?téÖKªùèÑZ¼SWÉK;#.ºI®xl×\ðˆqJ4“QZ?f®¦-PÜot‹ fL„oAq¨%ÍgõÚ/ X²,ø[ $G×±Kq·÷Xaß| •™§üÌ¢¥5Œ[jbaÛ~…Á“¥¦e#¦QJ E½†RÆ®Âö`>|,lgNû G4ú€_l,_±ýÐ¥9cf|³wûZT.Ú¼ëˆï¸þ6—K›¯æz/_žõ°”fÁ*»rqï±SCž:|PÛ´ïI Þnm7UNØk~ý²ÃÚM°ÎØlpÈ8º@.åR³wâ.Î’;Èð Z”ç_Ù_ýž‡UújÁ±§6îçIÖb †‘.?oº˜€)Á+V¬è:Òåµs¯q³ã¢~ɽ}ÔÝ¥§“ƒÓƒrÜ•˜-zź¿ûØÞý‡ŽŽº|?l˾ÿnëxQ,‰2h*Š©?I¯YU«Oê²øXq¿ñàtK)—ÚÜ!Ô§h½ƒÅ­éMN°¬» ´Ò ¤K÷*€ %[+g,~”š†5±7v ×áÝ#C¸úøYaA™jëæâ §µ ö´¢†’BQ¯¡ÖNN:.DäÞÅ«t}BŒµ5bâ(ì=±iÂZ)B&oÇÀ:Ù½¤ XÚMêÔõD ŽÔ¯ÿCYsð´qðÔošÁ'2œ¢ -ëÃ.uë°xìÐ).°.v[©t~TüÕåÞö¦ÚoJ„Mú‘ÑÓÀác†M v;™^)ÕiŸ:‰4tŠË° P'P*Nþ¦ Ëfß¼W°( P*êÓ™4žiù…W¢8°4 P*mrm#À bÌõK‚¥RiÊøÚä3–€ñ»¤}=à‚†¹uë‘H„Réôœæà=‘ €|ÈR X³ ޵µ5ƒRé`0kH.Ãé¼§\X³Upww_³f͇•g°ÿ~(Ã#åð®l—Z8ËMG_¼Ay(C¥R ðaå‹ÅŽ3¦#,ìK'f7=¹Kíù¹4x•~1€&®¢t¿ç2hР®–¥Z*(*ϼk å|gùáÞÅü_»ß£>|8ôUº’Ÿ0 }Ÿ Å’hæ*„ƒ=èÖwq­`0ñYæ×ÓÊËï% ÞÃí–î+b×çc÷UBNÙXdU•˜=öÒvcH °¬CP*IÇ‚ üV±'“Ö›QÌø¾+~{8tèÐÌÌÌnö”"""lmmCBBà b0$I÷»)™L&—Ë¡¯¢#ÇOKK3ˆ©íÛ·Óéô®pSEEEûö탂‡n½!©®®f± ë´°°°‹4Æ<¯´´ÖK(•îÌ£Gž>} ËJÒ™™™ÏŸ?‡åÐ]iŒF£µz\ÀaÉqF^^^f&ïáõuÇb±ÚÊž>Ï”Fã·kJ,Óét O~¸\.‘HTŸŸva0@#R©T«äL&Q&4ZSW®¦)Û—JVVVË ‰~ßU‹ØL á½\8ç²û°€­–Õ¼mˆ÷lݾý·½Ìzmm­‰‰ •Úz¨­k×®=šY;2+ëE»¦Ølv~~~]]>ùyõêŸÏo­¸´ ¤¤„Á`ècD,k•œUdY_×yãÒ¬Y³º¬T R¶š“ŸŸÏápFõÎQvÂÿûûy¡[#äoþüßH Ÿ-üAQ‘¥þ÷Ÿ°ÅfîÇ~ÔhS}U0î™3gVVVꙟýû÷·Œà¬-+V¬ÐÇ‚¯¯oã~¤lõ Æ­µ¯ÒÄ)øã.ÿøÏ«šSúOYºp¼Ë“¿ºò¨êê‘QŸ|òç_ç•“”þïÖ7ká`÷㤦4o˺fÏ_t?çŇ{#ZK%ÿÒ­ª¼Ä‘3^Ö¿ýºÃwÜ<À¯û¢zL Ù¾éÛÀIš’Kþ:wêpXi>Æ©Ž»g}}ÿö×?w“’/Ÿ‹ž4>¸;»õ‘‘‘ï4ÿËIÄ÷®®_úÕô©Ÿ¾vý ^hÿ‹9=Ò¹GvÊõì71ïÇÇõ›”qïVKSz’••Å`0jjjZý5## É ¤E¶µ«¢¢âܹs––z½ŠŸžžN¡Pø|¾>F*++Ÿ?®OA±X,­’óKì™tN+«ÍT¨¼¾®NÔ„Ø98‰Ú¼ …Êwo\Ûh@4&èvk:”­XÈ£×3ȦT;k­?/,,äñxª—ÓÖWAd¼°/>œ[Æj>˜ñ›ÂZѳÿÆ“˜^ª8^÷ߥ‰Á¡S¦L‰Œƒ¾Ê‡å«d?¸ìÛëõÑÆ‰™Z”"š“ÞîÙ©O-­ÊV&f}·t6éMH§ÀÛ â«hýº$guù¶ÊÁR‘ €'»ZI¸™é©ùOŸsØ™ugÌ,# w<&­ °ÄÜÖ{—g&Ž ˜Óº^ØHK¿{'Ðo©¦Ukäî;`øàþ4–n´PTZ˜—×(”qMÆ*@dÙÌ©Ço¾}ãéÞÅàôžÎ€iBv]&ÀsÊtë!Sx#ò;Ë,i)—Ÿ={fmm # wrIã÷«—ÿuì²A¦T[CY>‡«”hæüÕmá½ÿ!‘tÙ`-çá•…‹V?+§0XÜŸ‡Žj’J"b*ë.xûRIMMmOúHâÙDÀ§>ž­ŸŒuX¿~ýúõë5±¦ÁXVG«ˆeÅ%ÆÆÆm­«TVVfffÒ«@jju›ÃY·®I6¡2™ÌÌÌÌêêj½Úàòr6›­Û ¢¨¼¾Ž&jBÙ\¦•‘ã¿lR®|K«äõÏÌj«ë«èU-S™`‰ð:ø‹™uowìä•e§jó“Ïç?~üX‡­À8¯ ¾\°¢Y¨("Ï}’™šÚ~肦¦&ßÔ$CÀ`ñ~ã¦/ ¨íCÉÏÏg±T‹±}©´U›)HŽÉ¢ {›6ç“6!ñöuë÷ü»Õ÷þ85úJ¥ò‘!ÿvró:Õú$ãüuÏ¥ø$¶PJ&áÅ⦇·•=2™L¥R9d£VO@šØ?mùîjRšAx’ÉŽÔvïT=ÆÆÆ¦¦¦:Éùïê¶{«êÙ<ÉxÖŒéšA~ô­wÑËwh•¡©±±±@Q\*?¹ôôõò¯Q¼‘“£­ûyáñx*•ªƒTΟIUéÐf-ZN¥5‘Š»‡ç¿G׳x6vöc]Þ#155mjjR-=ƒq#ráÄŽx#ûÇ…õjNS¿¹1Ì]%¯Ÿ¬ÛÒò´•Ó†»zùÿyº–Áe<¿ øçÊ5ÝÜú_ŒiÙ ½·¾&;Ñ ÿΔ½¶nýž¯g*?úFÒÏ6? lw ò¨â?¢Úk-¸©GÒ± £ön:=xÂÜ/Çë4„ãˆMy§%þz—ƒƒ.‘ÀPT{2òâõ;,T –®X¶X[ ÿÆÝVi>CWoÖʶ¿¯|½³º¢†áâænC5í˜ÓÀ±/+kž¾@ ¦^}{ãºÀ•zIåÔ¶œxt1éÁcµít¾^‚Ü™y[Ÿk5Ç‚8õñ Û²oÓÚ%Æ:!g¾kùÌŽÆ"(ÀâÉ Vm‹Ü·€Åh/9~è”ñÊáÕ'Oœ¤­‘Å3§Ÿ:]ZËR4ŸÑçÏ ÷ê©­+;g+;çn6]Á“½}»Ð†}´í­}–,Yrüøñ£G[™y`7TŸ=uÎÚcÈ”€±#u/äÞºryÔ´o&$$´jJ+ß—ÍbãIFÓöC.Þ¾}Ûßß_’èô¤©W ¢˜™“‰:¾PœšxýÔ•ÊG¬Þ>ÆÇY—ûjd,J5ëüÖóÍäÅ   –ƒÒ,\¸Pgãááá7nÔó•m­J¥{÷îݺU¯Y/Ť¿¿¿v½Ê²eË”ÿ¤W¿¼›ô€C¶¹””æáÜμ$=åò#2FŽ @ޱí´Éb‹5oÞ¼\‰Kв!t a²TæwêàOÜ^Ö%@éË*bU™ÊƒdffÖÕÕµ<®9QQQaaaºMë†D"‰ŽŽÖ'Ï€ääd:>oÞ<½`vÎî ¹kzr·^‚œ·v»œhšü%R¦ÍZ:o:Œr×éŒÍºë$C]¹)t%¬EP*NŸ>­ÿe‚ƒƒƒƒƒàÄš&äççÇÅÅñsDZOçÁǬn±-ƒÎ~ÎyÞòÑ”•••””èóȘLæÙ³g;ÙWa2™zV³¢¢".—«²Rûn½Pøï¨{ûg¤mR¨5”=ÆÊ$ñ­ì²•ùÏ?ÿèl|̘1III쫤¤¤¼‡^ÅÈÈèî4 ÀÈõ  `hõ!‰D<¯OÀ`0FFF),«¸¨á-úé8–-[†Ãá [´ÃÒ¥K»Í½À^Ò&0ÀìU áîîîîîþaå†M…@à R@ T (¥@©@ P*H7J]å‹r%JE‰§}úùx¸¹GÅ?‚¥ Ri=oÆŒÅL!‚•qVÌþ"W)Œ¥ò–¿¨¨øÔôkÊ%õ£ÎÀ…tWôz]2å|ì˜UaÓ†£ro,X“Æ(‡ RQE›îTòŸÜI8X (UI­A}Ú8Å7å(ì=hW•Kïà¤ÇÙ\Ôg²ñì?¬Í p¦N€a ÅÖÔû;Ž';Í  ´K4 ÃGKª2­fkfðv+X2"•¶ƒ÷¡X 8ûo++ñð©3®GSc§¶ªÔÑ¥w§ÝXZZš··· k¼&± ßsÃÈÓOàE%ž@ŠÅô(ò[%£hÙð×>¼ˆwG™6À˜m3µÈwøëMJã½Ø™ï|˜U~Ù¨|„_bÏf Ê£ovÐǃê¡WÅ\ºÎ`ódãÀÏC†{»u…'RQQ!¼½½U\݃F 6%I¾ëhJ°è=”.–©9óUî}*ß™‘εŠù‘K{†²–´ùßÕŸZYxK ÃÈš“‡áÞ&¿ºƒ§lù‡OË[F”xqë3ÏX•ƒEöí"ÅðA#÷3_ûù ¹Øøö… ¶mûôˆŒºp[&ûhûî†rV^*×ÌÙdèXÕÐÉ¿!U™ï†Àµ‘µáuȞܮåpÑþ66ÄfWäxˆ}[ø¨íÛävÃXÔ^r’ %¾ÆUûýþßdôé?ÐÜD—mŠšãTz{¼Ýä_$ä†Î]¢˜êÒI'ëvGz¸õÒÆò&DÊãï8–è§®ß<öÇ~§q3ÀÓðP$2>ÿð—‚ü[,°ÄN¨OvU>Aøî†~öŸV-smiçY<ã輔븀ç,¹#>ÁB¡¡”ؼ:†à9ËÏ*…¶Â`¬½Ä›nèKU9 £±…ÃÕÄô@?-¬©Ä© \°-ñMS.—]Ä’(u)ŽçNüÙ ODç;ÒÝWytý|òS¦±c'Yš`äVùƒ<¯†Š[¢"‘P&GŒMLqm7’šÄ­ÇH,ð|„Ø §4葎늕ãdfe(^µC¨95».Õ®¹*3ï‘U ¡¦ðˆãE„r€Ézæœmóo‹¨L8fßôïÇ`߬ceæ·ÜÈ+©y-6ÒX®I>Ad&3©p›ÃÎyižóòñgVõÀÈÈkj²¯&n½„W·}Ë.åÇ~ÚX>5 ÕR‰Dr522V~(w.‹MÊhþ3éܾÈ1¯ë%Çs´µDV$‘‘M¨ó¾ZRú$¹ôI²¡$!—IEb Ž@4"½m;ļºÜ‘aâÖ+HOˆ(3·9j,H5ß~·[c´+¯ýa½”·wû; S€Á‘É$§~ŸˆÚæ¦ÞW‘òxN« ˆb¿eB¹nYÊ»ÞðYãk'ÏNKf½“a1w©’«°  áói*ÒnTý>¥NýU"Cë•„á EÍ¿†RÚ þ¦‰q5¾ÊΔ« ÑÌ9·V¨yl{DÆViÉB6E4§ª««›:ujGxjâÖÿ¸}½&w“-‘ ¥IDATÔª¯¢Ë‹-R~å¢Åks‚_u[(os×cNa…½ù¡C‡müßQWõi'VϽ± ‡, °ÐÅËD$¼‚‡–Ê žÛü&܌ܻx¬ÒKtŽÝ'D5œÖ„»3KVR(ê5ÔÚÉIwŸaöÑ*K#„L2ÞßYKˆT§>¡ lüv£š€ŒGco©‰mobåPýàÁ3lœJ5.Hа÷Ê;{{+Ç­7¢ÚîÞµczð BLj-IcÁž#±X¢Íï¿mŒïþx¼‹Wÿ¡ƒÛ˜OK¹lee¡O|Åâ>«…¥XºÕ,‰bÞ‹É)·Â¼nìé«O:·Þó1>†-C¦}–{êhÚ­kÄ’ïÎF€‰™õ7ßnímßJãAÀËÿØùów»÷´êÙ'ÆG¤e³”¸ ½hÒ§*§™¸ø.ê?fÐà!$"äÌ1uQ‰Õ»õ|Â`çU÷z8Så&4” >ÛbíT“>øN;O*ˆŒ,|gö¤§M0Úg`Er =÷%È}©jG,«~2CÏ»¤hP’_&l=ú…T:¢­KèéÖWVV©Ïæ“'_þßB/¯~ƒ%“I¥O–>yØü+ƒÁø÷ß[¯Âãñªªªt˜éA¡J¿øùôf;R©ÔÒÖ!|ã·MR‘DÆã°'•æIrrrètz»5Œ[ÿÍ4W€Á¥Vó‹]7Åc=œœL]FîýuÏŸÞ—ã¹2¤ƒâÖ‡‡‡_¾|Ù K»Ç½Ê¾ÿJMr>[†/}í÷‹ÃgUò[ÜWìFì/í8ÍËl+ÔŸ ‰çýo÷îé6':έ×$n½ú‡¢&n½>ný¨XðÖ+Íî¨[ùòåðððNZ‚¬H£;Žœ?ÒÉdÃæs·Dþ>—hç¾aó¶uëVøy>ȽÿOtÒ¦%ÊIÚ[8}µ©“j¯òÞ—DˆŽ´íwMôw3 :/ÆžŒ¼xýK õ;åûÍ«LÞøT'÷üÓç…RŒa] û*&d‚€‘^¾%2ÔŒÈDD¡éÉs‹Ö|û`Ùæ„ü{›@ ’Ö~Üú‰A«'uŧe7¢‹NäüÐ)ãÏ$f½^I¼mjl½uÝ—Í'XÚöð²³ëÌ,ií«pMó³ŸDFFÖ˜ÿ{䨧9Ñ™„Øqà™e§ P–›£œ$ýöuûᓲRîè¿™‘‘QYYÉd25Ù=QlSC$MÍ9ñU^va_EýCÑÙW)zt§Y' ²ŸdDFòÿ_UUuæÌ …ÒZiH F[f;ÕWùßåCfîãÅBþøä?P]ó…ÛÖÝ¢(J{øá÷3oÇ£ÿ]š1eÊÀ‘È8=߀ìL_e¥S;ë’ÐWé8_åç[”kiÀüï”=Å©S§ÖÕµ~_]ÈWñŸùuÀC‹6ýuvïºùž~‹¾qeÕ¿ðWd‘Ò3ôë9Í'wï¸õŽÃÂÖyæ´ÏpD#”H ˜6ké¼éïý{4íWë1¸ãg/<½øÓØà…Ù…5€±v½Šã- ™tðúÓèØ‹½)„–ë*Íqëa%èètzRRRBB‚"æ`¦_¼wéü©åó§c»À‡›í÷*4Z‹±8Ñ6þVâ‘ÇÂfMB»^Ìd”b¿ùïa„£•iËó]ûŒŠˆÕ¦5áñxZàñxt:ϳ Ñø-•Hš˜L>ÖfK!ä6Éårõ×âr%'¥ÑÔÕEAÔa±Xb Uý9B!–Íf·uŠ"/_¾TĘñâE~~~~~~CC€ l¾ø„K£…ª1Îd9l6ÇkiŸÁ`…BõySÿP¤R)Fk5ÂpCCƒD"i+!‡ÃQS[$ NG¤ÕŸm5accc«wÚ¢L˜-oJTÖ¬Y3|øð¬¬¬V7yæ¸É3rIùŒÙkû¸ª-/ªíÈ=[^½z…¢h[ùQÁÏÏF£ÕÖšge½hí»¿+ÚJ."Ri_õת­µB±Ò¬,®šsdROõFÊKš8¬¬ 5ç0nâòrRVõë)‡¦¦¢¢¢üüüââbƒá'¸âá1T%‰™™™···O¿~$õ`YÊ›°£FjyZII ƒÁPŸ\ýC …ÙÙÙ-Ýz¡P˜™™©ÆxUU ­_Ùlv^^ž¹¹y«â …m%,++«©©i· ‘H¤=z¨œ¦N* Ð$j&Šˆñ˜µ®6=‚‚&uhXPPàîî¤Å¼r| òhyüéþš#F ×£­„Žä>™¦þZ²<&ÀÊ‚‚ÔMY&*ÕIÇUK2‰AA¾jú¥Ê œ¦üÜÜ‚gÏž)"SúNŽ >'‰žžž>>>>>>¾¾¾>>>={öÄ`4µ”X©x}ÚÊO™™™ùùùêó¯þ¡ìÞ½{êÔ©X,¶¸¸XÑÝ)n¡¼¼Aÿ¶¾zõ ÐÖ¯G ´km²X"‘„‡‡·•°©©ÉÌÌL«*¤Å¬%·clØqؾ¯ÿ±“'zY’0X²‡A&.ƒ‚A ÑhÍU*??¿  ÀC¸ú¸ËÙ¯ýK,¶OŸ>>Jxxx´:!û^@Q´²²R‘ÿÊÊJ??¿ââ⦦w^HÅãñžžž#FŒèÌŒq¹Üôôt ‹ŽòUZrvËΠnáËÒÝûœØ³ED•ÞØ ÖrÅ ;_ kÆ>zªëšd²÷èÑ«ÍnË5 ºÃ©A>>>>ë=F¿~ýLLLºÎ-³X¬{÷î5Ë»  €Çã)û$ ÆÕÕU¹ÓëÛ·o«LG .^¼xóæM±X¼aÃ†Î“Š•¿+¨È`0ãiœ@Ž:ôéð)<‡ëZ»ò‰%â§OŸ*wÕÕÕ(úö«"O£988´éA²ëîg$ÿ‘±£ùˆ¹¹¹···¢J)°¶¶î:·Ìçó šo9;;»±±Qå›fU(hu¹°C‘H$·nÝŠ‰‰‰ŠÞxôèÑ~~~'•å+¶º4gÌŒoön_‹ÊE›wñ²Àߦ£o~ãÆï·–Èåò²²²fU4¦ö¯®-±ë¸ŠGèååÕ\E|}}íííÕØ=ÕC6påŸÍç;;;kèftR©´ù~ò¨¨¨Pn ¦¦¦Š)„fyØuî+'*f2™ .¼víšb àïï2gÎ'''Ý[jÒx›õËÂ5?¸»\%£"’½Ï¤ÝrÇššåZRXX( •Êî‹uïí®Ü‚º»»ãñZ”ª••UNNN×¼ý/^œ>}úôéÓÊ Bß¾}•o¹W¯^ï]Ûr¹üÁƒ111±±±L&³¼¼0pàÀ9sæ„„„¸¹`{1wl Z²µrÆâG©iXëqcG‘pÝA)l6ûíP*·È¢f·““ê ÎŽŽŽÊã ooo###ÐM6l˜ÂÍP¾eOOÏ.5…ššséÒ%:þº)÷ò ñô4ä»®ºonD±´›ô¿¨"‰srrÂPüW1Aù |N¥R•‡R>>>–––ÏEŸ>}8N绚””téÒ¥êê×ËMnnn …h²ÂÑ©Rù ©­¥M™¶€¼³:I&“½¼¼”[P''§®ã6t> ¦«é$777&&&55õÆŠ#ÎÎΊQ–ŸŸ_‡>¬T*ØQ—¥• a(þÛ§OŸ®6ÃQPTTsáÂ…¢¢"Å{{ûY³f…„„Œ5ªsš³T*»ÿØ´÷ðÝØÍ蔕•ÅÄÄÄÄÄäææ6ς̜9sîܹcÇŽíäví#•Š• œÐ¥©®®>vìØÊ•+š››Ï;7 à}M*àáStAìííëëëMLL‚‚‚BBB&OžÜi«ûP*‰¹sçÚÙÙM›6­ë¼Â¥éŠØÚÚ†„„t©,aáS@ T (JR@ T (¥@©@ P*” Òéî ~|Êê±Á°ù°Ú£²Q 0JR@ T (JR@ P*” ÒÑü?/jb[â 'IEND®B`‚nted-1.10.18/doc/docimages/beam_slope1.png0000664001041000007640000001067111520267216015140 00000000000000‰PNG  IHDRÅkÇ.FnsRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ !5;ë{tEXtCommentCreated with GIMPWIDATxÚíyTSWÇ¿!v”eÀ .ˆ‚Õ¡£àÖºÖéˆ8c—â6Õ.*ÖºŒGáÐÓZ—ŽÓŽJ9ÚJµ¶ƒ£ƒ Š£bY€€ läÎ" ÞS ¿Ï99ç½ûn~ï¾ßÍ7w¿OÄc ‚È\@$ ‚ Q‰‚ HÁÆä¢#$$[·>=ÎÂ…Àܹ$ Â@(,Μœ33Ýkõõ@n.BÕ'‰‹²²€}ûpã†YY€TJm €III@PPBBB°sçNjh†Ë­[ ‚°re’’’‘‘‘P($ ÂÐØš’aË–I:×är9víÚÕퟑÚ„ÞbX¿~=W*´„™™‚‚‚H‰ÁÓ3••#QSc ^†\N¢ T @0€ÈÊ äB""ºÿ³“(ˆv‹!88áé©Chh(d2¤Múc{÷&Q †7"00°…ö„ ÆÆ¹ðð ’‚0p1ôDH$‰‚Ä@b Q$Ab Qƒ››2JBö¿ï`glÔ§›ÓH „aˆâñÝuH®P,§!ùt4<¬L`7x¾yÕ…‹w?îa¢¸óÅIîxñ±} sç£ÖøpÇÕâI „aˆâ×S2€eßyø" ŸÎ5K—‘ܱZYЭ˜˜˜Hbèa<³íïKª_nj¦D‘ÈD«R‰s·rà¹sçž*šŽA%EËlUîTÕbf»7»®¬¸Ë›÷™Ù­¸jÕ*H$*Hí£¾&—;v77».;ùwì<)¬[9ÐÖÖæææ$ª>µ³¤Pk_ùĈž¬ZíÉàŽg¬Úíœhmm!C†àìÙ³ô‹¢’B?D"mõBõÄLŽªÂ8üí^@bå‹MƒìºŸŒÐ»»î;O<Qˆ›4žkYU°z||˜—©´´pýúuÞÒ\XX…B!˜ºTI‘™™‰ððpDGGãàÁƒ­@Á²AUj@9 øüØ.†Ë¤¥pi¡ÎÕÓpþÂú4`JKKÎý)´þÞR©”5üÕ3=¢·J°­ÀÎÉkXuñ96ÔÒ„³in?‰)UL(ê«3X ­)‰L±ïêêʦN*Xú·nÝʰœœ^ìåää0,""‚·42WWWÖ•i|î¶üøÌjð½4íŒò|ÌqnUjÆ-DF&Øzæ0L„KʞРH’×PÑß%Ñ5Ú0º¿%`ÛÜ—qô~þûÏÎ`¥oÁî{ïûw±üxNC©¨¦'ºŽ(úýÞpû?E\˜Ó¸Ïpú³W»g­< S–Þ¦\&º¦(¬Y뜛Û#ñçu0 uGÖOœ?=B¹Lt=QT>8ŽW—]ÖÞÔØ{.ý€Ì…P¿¾}ŽxDcË+N”ËD»|š‡ª6oŒ Cvµv]ö«_\Àü½áQLÞPŠÿÈþL9L/ŠˆˆˆvÅO=ƒS«t¬²""B ‡0%~Ú³ žSa߆O:~}ËåHOOÄ6\¾¬)e###accÓi{ååå€óçÏó–æû÷¼\0ðAãs·åÇv‹b„ zÇ-¾¶ Q¿•5 ¯1ú[ Smúú/xìÿ>¶½Â…EEEu(ýúràÀØÛÛ bJJJ˜˜ˆÀÀ@8::vÚ^QQvïÞ wwwÞÒ|òäI(•JÁ|ÀÏݦ…¼««ºÃü­%:ßædÁ°€˜;‚ Î<º¹ƒYÛ²û5õ:áàað‘ïhð®Óìýãd\kبÜfîBìêa€Ü¸{‚ÜóŸ6¡V‹É¾CáííÍ}šâííQÁ_QÅ™x¶ í‚ók°ü¤va‘ÄjNÅ.†ý½k’!OÿÀ«¼ßwÖ"Ô¶.iû}ÓÓÓ)׉§Â{IÁêãÍÙ;tÂþ|(ƒÌaé¬YUWUüªÕŒ¼O†(níœ3µ»üõü!öÏp˜ÚŽGS1ÔõeÜFÑ£E¡®+ÁÜO.ê„m:±®ÉòS#„9XŽf– ú`¢¸6…——÷¡6ñLÛ÷ŽÌçf¿@¿€mXî©;H7ɧ7>P‹ï-À 'T"Sôuv‡ï˜±˜>k:<ì$¼¤ÅzÀZ¤§¯¥&„Åœ9sZ½ví§3:çýí1g޶ä`êÜIÑL,¹ö N4¼çK¼¿ÐNžƒ1rø XˆEÝÆ‰%%%HIIyªo:CcçÀ²eË`aaÑi{UUšÁÔøøxdeeñ–ƪª*Á|ÀÏÝ–E ýø­’””¤³µ5'*Ë.`°ß;ܹ­×¸öórî\‘“€%o®Â¥•m&ÞÂq¶ùưä¯:•€øË•˜?o:ïÎ ‚——öïß/HfÆÄÄ ::R©ÎÎß,N&“!((K–,ÁêÕ«yIchh(d2¤Ri—Eãs·åÇv—-W~X¬s¾è»ááa¨Ì?Ž)S—!£ºN'N_O˜(Jð HwÔ»ªè*–M{ ¹—0ÖÖ´ÓÎPÕdbœÿ \,Scý§+ù/naaaѪo:KãºlWWW¸ººò’^@³g_i633ƒ±±±`>à+Ÿôñ#o íŒíÞM¦½Æb«¯=w¾vÜ[Ȩ®ƒHd„€?,ÁË6šúÌ“ÉÈ{(GYnv¬I“wU(+Rñzð^ÒF+ïˆçÒû”œ¡íM8?š['¡Èÿ ;3å‰Äˆ8z îÆ wÍd¬Ôù¬ˆŒÃÃËul§F"âFIçÿ´òŽx^½OÙM^Ù¡ÝZ?ïxÀ}Öal™­™r1hŠVŒœ¸ÛÀjm\ïÐØ{àG¼ûï<.ìÛ§)íØVš|¯¼SÕAz:×ogâq• 6öÎ0¡KÛoÉf!7XSœNngU*ÀÞè@ïÿ‚ßÍJh×w¢ó*ðÑ+áUÁׄÀÅNV 36scujmxbØ@€mÈ–sa2é4Í.}¦7³SYð­Îý$–Ã;º‡[;Ê}œ(ëô„@U­Œmÿ(Œõ53Ö±Õø16µdA“_ëðDµ¶ì÷þ_»'¶e[ðÁýY+cì£0ÆÌŒš}ò{9²É\ô6w/>¸Õtµö‰Î«x&yÅvO;€Yö[¨~v†; 3sµ"ÀD"1˯m¾µÍŸ-uîYÐíoR¿zyÌùg§gÉVäþÊÆ»Xµ™a[ïe”¾öÛ# }mZ8Ó/‘¹¿2æbÕ¢š~J$¶=B¼µ)üCújÔºSòúMÒ¼ år¹vƬ…ýë‰D`L…o6ï¢}g´ƒÎ¹BÕ¾¶@ãÊ»Sßtnå²â ‚}fâ\ž¢Í¸ue™‚ÚÂfõÃKzôe_|fzسS–£'Ðîq ÿãÕWçáÆí"@dŒ#}Ñ8ö¦®ŒÔÙ°r¯>ÚîÕ»×S P1X{ à ;Ó'~Ô·‘þ°an”H ?¿Ð{(©qÿVL܇¢¿•æe0×®]k3ý-Q’q9MÄüTGYÀoäàv9¿}öM1ÜÇ›ëVäÅ¦Ø ~#¼žgVÆM|ª§½j#3캻Æ+•Jܼy>>>ÍÞ)"H›B]/çvý{/¥XçÚß§¸0{Ÿ¯u¾ð°e˜Û´ÓÍl™îÎÝϺÿªv‘g#F3Ïyÿêô"#Um33é]´Oýún;ÛüÛçÝfmcF¢6«Mܧ>誋Œx]ywåSMÃpȦnÚä­Íco¿´@'nâ¼­þèÃ-¸û½y㹬¼««ºËD"ý~`}_úÕªÛ—ABØçÝfÕ]ÆDzŠâ¥S3E³þžÚÌÏJ³õÝ×u3L‘¡sžudÀÄ&}t2§"ow/#“Þ,¥B©÷CîÀ$½\™———Χiú½¼¼˜ÿømzÙûr|ÿ6\N‹›‰P_„°Ï»ÍñýÛDÀbÆ:èƒ/ ÆË;µFÓ³ddÊÖÆÞl5ž<{ g3®¸ª¡¦dëÆ8rác>¹È‹3:Úû¤R° &2sqó_‰; ß|ˆUª:þ÷(„}Þm* [0‘1q %†;c›1¦R³î€¾¢hwC»è€ï—úâ˜4ˆDF˜þáNìßòn³ ”ëW ± xýRôIÇ_ÿ²»þ °÷[Œìä=Ü»,:Õ›Ðd9ª>éoÖ@“çà‚4Ù²G`&Vp{a‚ÆúÂÒˆŸ™¼BØçݦ<&²G€‰ðÂ0`¬/`Ô}f3çææÂÍÍ 999OŸC&ÄnjU‹ ómÒîÏ>ýûQVXÝ´ˆU3·†%Û¡#¹¢H$fãyÝšïæA0*)ô%éÛÍø`]®äjú¸Å’>5v4<œ{£®â~9…Ò:íÄЉoaóÖHÌòï×é…ŠQxq¯Y9/ÅÕ„• }K AE¡ù‚) ?"þį^¾Šß²sQü¨ uOl\°.! ›Æ{PÎ]_W¯^Ehh(är9*++1lØ0¾æ\¡*ÿ7H×ßgúIÄ”s„`¨T*ÃÁÁb±¸ã¢’¬ïÆa`X¢¦±}õ!~ðw¤œ#ž;Ïõ½½†h"É.Sn$ SÛÜñ£ÿ>¢Ü º‚l›YzógDî<Œÿå”Âqà(¼½ê#Œól¾õ¹‰•w\ž^F¹At xoST憋û|<®×vµŠM°íòm¬ð³×‰[_}&šÕxŽ~ñxxm&åÑóªO76üMG ª+ÆšÉ ñ䪈:E*wl7Üžrƒè™¢¨È¨h1¼ºäx³ýc«Š~ÑŠÂÏŽrƒè™¢èÜ·uÁ¨tkj9qiܱ[ åÑ3E1pÁ›-†›õÁ<Ý­ ÿu@³Û ÈH‚Õ/ØRn=SVVb¹‡î¦Êý†OAì€Y“»•eî¶šª–Û´ýðoX:JÏ!f#Êïîab#€9ŒZÉ.¥ê\¯.¹Ê^sÒìØ!±òci %Má$º ‚Mó¸õÏå¹p77ñÏÁsÆŒð†¥ú1>‹ÂÚzÛàËKYxoõ<]Aç>Ý;µs¬Er~óml$6Þˆ:z «&ºP.†# `ªrœ9r'ÎH‘‘[“^}á8ï, …«¥1åax¢ ƒï}"A(‚DA$ ‚ QA¢ ˆÖø?bùìýï©ÖIEND®B`‚nted-1.10.18/doc/docimages/comm_symbol.png0000664001041000007640000000067011520267216015267 00000000000000‰PNG  IHDR [k, sRGB®ÎébKGDÿÿÿ ½§“ pHYs  ÒÝ~ütIMEÙ  '‘ªü8IDATÓ]‘!ËÂ`…ŸAк  «I0-TLv£ÕæðGý:L“ŦÃf³LƒÂ8·óy~O¹p8œÃ½×Ò,Ëât:±Ùlˆã˜z½N§Ó¡Z­" $)Ë2Íçsêv»:ŸÏ:F ‚à›$I¾ï P¯×“ár¹h0ÈqÝn7ñx<Ðb±$%I¢r¹œë¾ïËÞn·aò|>s½T*aA Åb‘4Mq]—Éd‚뺌ÇcZ­Ìf³¼âx<Ê,÷§Ùlæ‰I’`NefÇì÷{ìv»ï÷;@nX­V¼ßïïMýt:ý©‹¢H•JEQ‰,Ë”¦©<Ï“mÛÚívú|> ÃPÃáP×ëU’d™¾^/–Ë%ëõšB¡@­V£ßïãy’ø½Bÿv†IEND®B`‚nted-1.10.18/doc/docimages/midi_pgm_changes.png0000664001041000007640000002055511520267216016230 00000000000000‰PNG  IHDR—Ÿ5B”ÔsRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEÙ 0!N£ÀtEXtCommentCreated with GIMPW IDATxÚíy|SUÚÇé¾Ñ ´…îH-BKË:)Œ Ë ‹ óeFpdœñGaõUŠBUê ›² CYŠÊ”²I¡Tº‡¶@Ò6M“óþ‘&$t!)Iš¤¿ï瓽÷rOžûœó;ç<çÜ#BB!fĉ& „Bq!„Bq!„Bq!„B(.„B(.„B(.„BÅ…BÅ…BÅ…B¡¸B¡¸B¡¸B!B±"‰„âB!„P\!ÄÆéÈÛeQ\é€täásÚpÍš5èÕ«ÜÜÜôôôí|åÊ<ñÄèÔ©<<<0fÌ”——¤ýâ‹/˜˜øùùaÊ”)¨¨¨0øÎ5kÖ &&nnnˆ‰‰ÁÚµkmVY qHèÞ´¥m-²²²„B¡'NœQQQbË–-ÍÚ9..N8p@ÔÔÔˆêêj±`Á1cÆ ƒ´ýúõG …B”——‹Y³f‰‰'êÒ|öÙg"""B?~\( qìØ1.222lÏ>txÚ“¶ù×Þ½{ ÎíÞ½[ 2Ä(”Ëå"((È í¹sç ÒTVV oooÝqRR’صk—Aš;wŠÚœ}8,F8ÞÍᚎ5\cF†npüðÃãÌ™3ͦÍÏÏǸqãàçç‰DoooH¥Rƒ4±±±ÇËåºã¼¼<¤¤¤¤IIIAnn.‡Å1W«qõêÕ"&&F¸ººŠ¨¨(±~ýú{.ùùùbüøñÂÇÇG¸»»‹Ñ£G‹²²2ƒ´¢ÿþÂÝÝ]øúúŠÉ“'‹òòrƒï\½zµˆŽŽ®®®"::Z¤¥¥q¸ÆÎ†kÌiçššš&½OOÏfíûì3%Nœ8¡»gdd$ú]\X²åpc•éU«V‰èèháââ""##Å'Ÿ|Ò¢²²²DŸ>}„‹‹‹ +W®4ÙÎBƒ{ÚòhÅ…•a‡°gGª@9\c=;“–ál1eÆŒ8p .]º•J¥RÙdöSG_wäȃãÇ#>>¾Ù´ÙÙÙX²d ºuë'''üøã&߯OŸ>8tèÁ¹C‡¡oß¾6g›yóæáäÉ“P*•ÈÊʼyó°hÑ¢fÓ>ðÀXµjêêê——‡Ù³g›|¿ `Þ¼yÈÊÊ2¸çÂ… Y˜;ðtMÂÖ$Ç»h¼›Ã5ì¹pX¬ƒ‰ +CV ¬ôÅ…°2d«‘¶!¤H‘XaÕ4MM{Ò6¤£àBâpqTÁ>ZúÍá~g‹V „Š +CB:»víBtt4œœœ ‘Htbã3Æ\KcOØ»¢¢¢°víZŒ9NNNÙ1-®d“q(÷;Š <¡mÚFNNNP©T½Š‹íÓa†Åص&Ä5M# ÚrÛRšÖÎëÿ{w¹ß±cú÷ïwwwãå—_FCC Oq1žùóç#-- h\ßÓ&G'„ ë¡-§m-³Í}‡öxïÞ½X¶lÖ¬Y™L†'NàìÙ³Xºt) oކAGsÈ®µºÕ»ví /¼€«W¯üv‡r3ÛÑ!cí8„Óœ-ôϵd«{¥yøá‡ñÁ¼®¬¬ ‰‰‰(**rh›R\ÌèœÍµdLqÐæZžÚô;vìÀÒ¥KqîÜ9"55¯¿þ:\\\ìÞ96˜jA;²!cââíí …BѤW#‘H V«).÷[صf׺5 0jÔ(°ã*BÆl£Ì·†Z­FEE R© V«!„°Ž°t„Ñ"šàþxã7°nÝ: 4®®®ÇÇŒôôtV”°¢dCÆúxyy¡ªªÊàÜùóçïÙûIJJÂöíÛY‰Y°0tØ—ùÁÄA6—ÆËËK8;; gggáää$$I“½,ø£î|ìÌn{ö쉉‰º·Dˆ_ýêWâ/ùK{8‡Yíh)› >\äääœ+--!!!ákmµçĉÅoû[QQQ!êëëÅ÷ß/âãã ÒôèÑCüç?ÿ1Ø`oÿþý¢sçÎ⫯¾2™LÈd2±ÿ~1vìX»ô;¾ÙŽÄE­Vß3‡‡‡¨¬¬l¯e·âÒ®¥Š‹£7dÚjϲ²21yòdÑ©S'áææ&DFF†AšÏ?ÿ\„††êl¦%33SŒ9Rx{{ OOO‘’’"¾ýö[Š ßŠl¾  ··7®_¿Ž€€ÝõsçΡOŸ>º4Íj“““ñì³Ï"55Õ!ƒ¬Lµ Ûb3íðcki<==Q\\l࣎äk0@çÐ6eÌ¥‘Ç{ ‹-‚T*…R©Ä±cÇ0}útƒ4¡¡¡ÈÌÌ4(ôË–-âE‹ðõ×_C.—C.—ãÀ7nƒ©öLµÂzÆc.hXÌ.»Ö60,æååÕdX0//Ï D"1ëBˆaƉõë×ÛŠs˜Õ–#pð!GÖfÌ¥*OŠ´—f‹E+w‹Ë25ÑFÅÅnƒ©´%2„6µIqQ‹Û9+Åø®@ã§û8ñvV•PÑmN\ì6˜ÊÊÓ±ìcÏ}ëRwñCŒOšýò».8'a鱃X:¨ø–&YiKÚÇîŸ_ÿbEä?â¯âÍ -\ï–ŠÝyŸ`tgÎC`…H[Ò>[Ɔjéz\Zõ|ËÂeé˜÷öÔ²¨BÅÅ(n}åÿ8}çØ} ^Úx 2W ÅëÎé+kÞÅñ[jEh?„¶$„8‚¸T^‰MRíq/¼¸g/ÞšÚ½Gük_ïw'iÕ>|}¶†OŽP˜ ¡¸Ü Ne„6†ßsÁ§ø[J@cæ\6ö)ÄêÒ–#ûì ¨øì!„âÒ*Š+Øâ¦æo—X¶h|ô.»Ç#ÒíÎqõõ›àKÆí¨%N¡¸´âö%œ(Ôüí?õeL u6Làì½C'NG&„ŠKë(+. X Á˜ñ‡áð¿[9Ôu¸¥¸sØ%ª3\øìlNå%„âb ™h¨¾Žj@o<ëÕôúŸp]'.‘ÑןoÜ$އ ÅåþP×ÞÔ­]iZžnŸý—tÝ–Œ‰qç“cÅC¡¸ÜÝ0Š€úîQ…£ë3uâðø Ä{óÁûdß¾}˜6mN:u²@Ååþá.î1”¦â¢¸ø1^Ý*k<êŠ)³×Ï;*$ö²täççcÓ¦M())¡1ÅÅâ™ðî MgD¥J¯¢TœÇÊß¼Œíqïßãƒ|øÔ!ÄÆ¹ïIWéééJ¥8sæ """гgO“¿£¡è4ñúbì]Ÿ†[~õøùÛà´;º#>Åßš†c0Äóz§¥¥Ùüƒ³ùü®Yƒçg϶›ZËžGìÙ³EEEvólmÝßì­üÚkž­*. .ÄÍ›š£G†é= U­¤± ¥@ÕJT©%_ÚŠ¾¹m?FúK<¦Bõ]ÛÃZ‚*+Ü££åמljɼÖÔh^]$“ÉŒºO›ò"êqãJ.þ{î2 K+!S¸xù£k؈OŠGd€ë}­³õgioå×Vò¼sçN( <ù䓿ùÂûÝÆÏÏO·©×òåËÛö%ÒM"EÄŠ7Î+Díù•b¤§Þfaˆ¯ž’sã{˯=ÙÔJyý裀Ö7Eks^”¢üð;â©X7½²s÷'XLZ}^Ô8òfa,Ãmbîܹbúôéfû>Û˜-æ‚^]@†²Â}øÓØ?à Þ{õãÿ–Åý½8ˆiÏ0¨oY„ 9ïGìÃ/áë õ­$,ÁÖ9Ó±ê'%mF,Šmˆ‹[wÄu€ëØ0k2þuõÎ%”aÓâPZH‡B£ò¢ÄµOŸÁˆ÷ Ò¨/=‹ï.9Ø®HœÂmsØÆ[T\:ã0w WÊb½VWÐtd|1½Üø ì¶À›³¢VËp9s36î8€¹WQv[Îaˆò8žšù FDxvÈwÎÕ_ß„§æ| ã·9ê‰a\ˆL¿³xù·˜‹¨YóCîŽKŽßjÆÚ5¿r¹\lܸQdgg·c>-K°²M‰¹$''›•¸”6´»4ý8 ù@ä×Û~ùظq£8räH;æÑÂ~ǘ‹Åå ²ìw0u±Þ9¤|°¯ éÄA;#•J1mÚ4|üñÇíäŒ%Ü£Yºj™ñÉ]‡â­OžE”«íÿ²iÓ¦aÅŠô;;¥ÝÅEUºsÇþ/~ÐÛ Åoâ:l˜óØqïè0–`ÌÈv÷‘SKê—víÀÂ8ºýÎÁÅEY€õ3g`C¹þÉpÌ~uBùN}ÇÃÄø‹ºt æÍc,á^¸õšpn9ßàùØpö{üó‘.p¦'Òï¬QÜ5CmÇßß_·ˆ244Ý»w7¶ß EÅ%äÊ îÒ;ÿ^ýíkÝ"ðcv¶îïIIf²PÜ®BUõ-ÈjëÑ 8»ÁÓÇÑÉÍÉÆòÛ”úúzäææ"((aaa÷•OSóZUtWJMhz÷ÄC½»Â]b»6­¨¨@aa!bbbàçç×lš‹/â¶Lft^T*rrrà‡.~>¸)«…B©‚pr†›‡7:ùÀÏÛõ¾Z’Öò7}²³³áç燘˜«æñfÉy\.®±¸ßµ‡M[£°°*• ‘‘‘÷÷Eªj\ÊÉo¿€~ý•Õb¤{óA²—_õÖŽf™5¸f…´•‚×®]Äܹs­l[¥øóÁƪ]‡Š·ójm~’„ùúBTWW f ÆÚBð€7nœÕ'¼73Ü:~gE›ž?^L:UlݺÕòýêm"h§€~ýe¬™ùÔÛ]‘Ïâõ'4-¹‚ãWP;…@3áߘã’ÞO,¡ºÈÉÒÓ Ïçäh®‘çw}ay¿³2R©›6mÂ… ¬vÏv%®|ò;¼tD¿âí…?ùOüϘh@íùPToŽiá@`«ƒ†i¼ÃÍB±„êj`Û6`Ù2ÍGŸeË4×(0Mm°l™ÆmÁï,P&\‚GÂ]-äwF¦­Œªh#æ/: }íˆxñS¼2ÈNÊtÁ)H Žâ¢ ˆ ´°ShœðÚµ¦×üýMþJ‹µáöíš<ß]Ø'L&NlS¾-nc}ÒÓ„ "ˆ¼jŠíÇß~‰†âkØ}4—KnC倞±‘2~2Æ …‡¤yÛ¶ xÿý¦ö4×´yoo»J$í·]k'}^{MóüÚ×ï,V&4Õâ«ßE°s½ùýN[ïÜ-†F• ŠK CFÕ8øÊ‹Ø­?攊5ÿ;$€:òˆÄ:H•qìZ&zXÇ)ï®·mkƒSª±gÍ ì4a<ÏiÈ‹˜ën|~í¡"lÎÆúÌš¥É£ ßɳFÍ|£fš1ÍWJwøíÛ5•hB‚ulVP€1eeÍ_³ösÕ÷»æì§ý´‡ßY¡LH<ºaÔôéæó;{l ¶¿ 8(„u‡Åê/¬ÂÓ+ôÎxâ±wþŽ_hšNqHì…8~î&Ô–vJ}ÔG{ͤnµ5Õrã“›²˜Í”а¹ßÓ^¢µcs¿M66#99­ÛÓÔtæ²Ù²e˜UXؼͬm+[ö;{/Í5hÛ»L˜뉋¨Fæ›o#Wÿ\ï?áŸSCïŒYzD`hã,¸ËG¯¢¶Aºz„]8¥ :|Ô¸¤¦m­"t„‚íšq÷.(h:ljáŠ'X¡0SƒÇÁ˜e‚âÒª’íxó+ý0w'LZ1éׯNþxp@ lõPø¸zÀÓÝNôˆ ©¯®Ç‘ŸëîOl,è”®aSÁ­ 6¶)hK¡#|V<öçw,6YQöíÛ±±±Íu[ ¿|»Nëí¶æ‡Çë?ç;i”ÕWqúD6®ÝníŽîê„}Bá݆iSòò0íÜ9£ÒnŒ‹Ãæ>}Œþn©TŠƒ¢oŸÞôrC©´²ºg7xv @×ô4yv‰%ó|/jjj°sçNDGG#11Ѫù½párss1räHtéÒÅ¬ŽŸRP€)yyèZÓz¬ÜË ›ûôAfD„YŸS§N!99ÁÁÁfÉ‹R©Ä¶mÛ†Áƒ›ÍFíéw°iÓ&#99Ùªy+,,DVVܦ…öhK]ÝÔb œ:u J¥Òl>dÖ€þˆ#ššÚô‚º[R7c×6>ýùü}l¦ë$jqeëk˜ÿf6Êïy*.Ãw.¿Å‡ÌA¢¯i¯à´4ÀȇœœœŒèçŸ7¡q’ƒƒbÄÈG›·CéüÍ7P¤¥Á½¤¤uËcÐÔ©ˆ?Þl÷.--ÅÎ;Ñ¿,^¼Øª6NOOGnn.f̘3Ô=/^„ÛÚµ@ff«éÜ BÊsÏapïÞf¹ïæÍ›qêÔ)L™2EWi§¥¡ë?Üóÿv­©ÁÄþý1ø.{Éd2lÛ¶ qqqF?#[÷;­¸DGG7û›,™·={ö ++ ãÇÇèÑ£Íò[,Yï˜T7µTGX±bd2™Ù|ȬâФf^c *·â¯—õNtù5V,¾ DÁúIõæ&SxÃú¡¯Ï-^,@¥Êðš2o^xµN}÷G˜´†ièP`ß¾{w©#"2t(BLx-Cmmm«vh3ÎÎÀ™3ÍÇõûtƒ#bâDD˜±".l .ÿ›Ìdãï¾ûлwoóÚ¢£úú;ë$š#!þ3gÂìX³Íà9yò$ &&æÎo 1úÿ‡„„4±—vä 00ÐaüN‹ŸŸ_ó¿É‚y»xñ" 22Ò|ö´`½c®º)((nnnfûÍV‰¹Ô]9„³z [z̘‹!¾š¿UÅ_cμÂâƒÄ§çbBãëÉ"~³'ò®âF]ò¶-øà»Z%G_Âôwó 0%3ÆN+µÖôScˆˆÐLSl-?Ú5f¾¹/ìÁÆþþšiŸ hþÕ·[D„á5KO 7î¹EDhÒÒïX&쫬s©ûù,JuG‘øõ¬¾ðDc¯åëbo-Dã÷;¿Çûc½ðŸÉŸaû9 ¾¿€Û¢/Ü]ü7áUlç’&"]oë—3ËÿŠÝÏoÁÄ.N¦9es ™lÑ)õ+B éÚ[XÌf¯6ÖÚ5!Áp1mx¸ =ÍXñÜ«UkíŠÇ–ýŽe‚â¨Q[u ºQ­ÈgðLlã8–¸‰ìg5åù¥/ñÖØnpáÀ-硺ô= ꦢ‹gcf»?÷6<‡Ý£ÖB·ÌL¶+÷–ã‰Ýë†Ù›SÚZEèh6ö÷7¥Ýʶ¸ÎJûªxlÙïX&Øsѧ˨1ˆÖ.JW–ãb±Àƒ˜ó\¼®èÞ/8º¢,œ­Vc€§V6$ðþ2^°/ü¨ýÆœÜò_Èft‡¯#:¥¥+B|3Ò€Š#+ñÂó/7óÒÒ8¼g#ÍËYë[©xJvï¾³ÖÅ*[ö;–‰Ž,.NðîWJ={BW×C^ `†ö¸³TÝ3bÂð .á'ίEj°·^ŽÃ0iîP¼ð»ãºSòü‹¸Ñð|]Ô)핎dc!CÎûSñË{¾´T|ßUÜ€I-T<ëóò0¨[7<òÈ#.Æ,ŽŒUúƒ¡ C:9ëÝÒµ ¢ƒÔHqS¯)çÒQnp§s*Ð`ðmÎ:蟪»…š~KÚ S߆ œnîµßÏînÝp 9XºHMÕTDÒ‘{.¹¹¹Ø´iSÓ uNõ.Ë€+Û6à«À¸5#ÈcBŽâ½6@ñ`ãx™²ÞÊ€ _¬ÃÝ´‰·oªbÃÏÈܺ ¹í»i³n¯„í`‡H¥RšÅÖþM¹¹š—#Ë!NGc’ÚѶ¸„Ü/Ö‹R8‡`Ê{ob˜+€¼eøÕœÍ¸®ò/ñÂÄ cøD%"p ÇÎßÒ½ YU¼ ofTè²?è¯A²/$i?Üz/À¶ÍóЊfp[\Òñš]Ö,„½æbÃG;Ñç¹}(þ|*É?®õ³‘ÐÌË'Ý{&!ÀÏøéèÔ=÷ª,¼=}vãŠ~ñ¯aíì¸ò9Þ­,úùh2ísoÏFØä!ûñ…Èü÷¿Í»-nõ»§f>CûP\LÁ³>×ÇbºŸQ²å÷è|;^ùð},žÐ>z#郄àh1Prd/¶¼—†ÿ{u²_Ç/‰}›¾Y‚~ž|ˆmçÞ‹þV¿Öµ1%¹ç0€O FÍ\lÞí˜;¬ß½¢© ±ì·K›2ä¼7±¿ÔL×G³ BÞM.$"Öô;ÍÔókrA›Q\LéÀcôòC¸væK¼2µ?Ôߎ·çOÀºÃ×Ó>]±Ø`Oä.ò»ÿÃþkØ¿âIÄxqŒ¡í˜¾èïz5û.Äú~'•³ïb¯¸´ß­áßïi¼¾ñi,“ÿŒìƒûqèøiœË/Dé[+”¨+ÎÂÉ|MÔ¿Ç‹{pðÝ$pžÍý£.Ý‚yóL[ôäÃ0´­âîîŽÅ‹›}C5[ð;?O'>`;å¾·9NHH€T*Eyy9üüüàëk¾©[êšR\+­à䌰®ž°eW«««Cqq1áoïëPÉŠq­¼Î„&ˆºùÁÇÊ Êª««QYY‰xxtœf…L&ƒ‹‹‹Ãýæ¶ø]—Îàëímuû———£k×®ðññ±§f#”µrÈkjQWß•Z@âì7w/¸º¹àFYI«uSmm-„ðòò2OvlyáüøÑM»ølÐ:Q¤²ÿ…Jޏè¯c/¢$Žæwö·ˆR)Ê¿#žŠukŦñ7+ÖM6Ýçt G ö ìÊëÙÕ4ÇH(ýúƒ`ô‰€,©õbX6-..áÐÙæ ¤Jú’9à¢?B¿sLŸ ñ“Ôzs¬ÐW– sÍ üëßÇ‘ÛCžÄü%sðËîM’J<»"Ô€ €¬ Õss»Xô—ššŠG}½{÷æ#£ßYÑ£GãÇDdd¤M[³-$zø[Q²­:4¨®ûž i:èóˆXy¾™ñÕš,1?X›n¸øZª¶é‘OG|q%!ÄQ‰Ò Ã…“±1,@8õ_*N—W9fÌETþo¥7½ Û—Ž‚»{lÊJ\«Òö—{"Èk[!P£¶ê6Œ^Úì:omX‚„ ëÍbµª¸¨n¡¼…!?Õ±õ8Pflj¨8íÌÅÎèÌù„{˜ aUqqñ C÷â6¤rC–ÿtW´ÝD77Û~ÜˆŠŠ²é5.„ÇÀÖ'HX7 ïד€}?4s­ë0 ÑWžœÛqÚý£GÅÃ߯GÅ €üü|z=!ÄòbÓ$î{…¾i¨PòÅDÎø»ÂJbñûo2±r\7ºŠê}øMôãØP ‰xûÒ ¼Ô‹ãb„bXy‹3‚'½…ÅqwÎDÎù '‹s𡞰@]…Ì׿6 Ð{ÉjÌŽ¡°Bˆ½`åž‹†ÚsïaLÒ‹8TîÿŘ0î ‹„C!Ž|úþ¾õ*Àeð?púàŸñ÷m!„ŠKëÜ:µ3Æ.Ä·e­$‹™ïal7®Õ%„{¢^ÿ"oâl¿”‹/_ž€¸Nw_îQ >GîÉ•BaÏ¥¨kPrñ,.Ý‚Ä?q}cÐ… & !„âB!„há6o„B(.„B(.„B(.„BÅ…BÅ…BÅ À¾Ñ¼IDAT…B¡¸B¡¸B¡¸B!B!B!B!„âB!„âB!„âB!„P\!„P\!„P\!„P\!„Š !„Š !„Š !„Bq!„Bq!„Bq!„B(.„B(.„B(.„BÅ…BÅ…BÅ…B¡¸B¡¸B¡¸B¡¸B!B!B!B!„âB!„âB!Äáùï³fã W(IEND®B`‚nted-1.10.18/doc/docimages/measure_spacing.png0000664001041000007640000002303711520267216016116 00000000000000‰PNG  IHDRÈ-*_ûosRGB®ÎébKGDÿÿÿ ½§“ pHYs ‰ ‰7ÉË­tIMEØ ;?ŒÁtEXtCommentCreated with GIMPW IDATxÚí]wTT×ÖÿM£ô*(E¤((úÄšDc¯£yÊ3Ö$¾˜D£FcŒæiü¢&Ñh‚ŠuÀŠ *–¨ˆ ˆt@z©Â L9߆‘qf€FQïo-ÖÒ;çž²Ï>gŸ]ξ4B (P @AtŠ(P @% )¼åÈËËÃÆQTTDƒ ”€|›ð¶mÛ0xð`dffRé"sòé§ŸÂÃÃß|ó ‚ƒƒ)¢PèH¥RˆD"Šo ˜ :ÅÅÅ8uê¸\.âââ ‘H!!!Ø´iE W|X9xð ž))‰"% )TVV"<<\.×®]CSS@GGcÇŽ‡ÃÁ¤I“`hhˆï¾ûL¦ú$Þ¾};„B!àèèF^MÁxàÀÔ××Ë FoooÐh4œ?ž"€@ @ff&RRRdšajj* •JÊÂÝݲ¿Pk”o/jkk.—‹Ë—/C(´´´ðþûïƒÃá`Ê”)055íp[õõõؾ};òòòðõ×_Ã×ט1czôèAM† x÷žúúzDEEËå"** õõõO ÆdbĈ˜9s&¦M›KKËNm—ÅbÁÂÂîîî¸uëâãã•+WÂÏÏÓ§O‡µµ5Ž*ãŒ3°fÍôë׌o!(..V𦧧£¡¡A¡<ƒÁ€³³³œFèéé‰^½zÅbu™qeffâÞ½{¸wï¸\®ì¹ÜÜÜ9µ?¼B)òÁ3 §n&aÌìå8wp ´¯@¬P(Dtt4¸\.Ο?ÚÚZFƒ££#–.]Š3f {÷î냖– ±ÿ~èëëãÂ… àr¹¸ténݺ…[·ná‹/¾ÀðáÃÁáp0uêT˜››S‚‘ÅÂ!C`gg‡cÇŽuŠ`\·nttt€^½zQ¶‹¡²²Ræ'li­¬¬T(K£Ñн{wAèêê }}ý.?V Œ1AAA²ñ¦¦¦¢¤¤D&8[ÂÌÌ îîîrBÓÝÝFFFãhZ@þ¼r1NßLÎÄ¥#?b­ïlY:¯ãö!‰píÚ5p¹\œ;wN¶¸h4ú÷=z 66K—.}©›$›Í‡Ã‡ÃAUUΟ?.—‹«W¯Êþ>ýôS¼ûî»àp8˜nܸ7nÈììì”ttt(Fë )jàáû½á>m Îø£]{aÏöÃØüI ˜Ì×C‹”H$¸yó&¸\.Μ9ƒòòrÙo^^^‡Ã‘i wîÜAllì+í³±±1‚‚‚>Ÿ³gÏ‚ËåâÆˆŠŠBTTtuu1fÌp8L˜0l6ûŒX½zµÌ”šœœÜiíÁÉÉ ÞÞÞ¸yó¦ì”þÕW_aРA2S·&­ oD"x<ž‚ ÌÉÉ‘Eˆ·„žž\]]å6|ØÚÚÊIË—/‡»»ûk-UF£ÁÌÌ #GŽÄÈ‘#åg~~¾322ŸŸüü|\¸pANøöêÕK&0›5O''§·Þ¿©¶€L?‰'0Áî}[ah¨‹Ñîøë×+ D‚®œw@*•"..\.'OžDqq±ì7WWW™PìÓ§O—7¥™™™aÁ‚X°`JKKqúôi9rñññ8{ö,Ξ= Œ?cÆŒy-ÌHêÆ5kÖ oß¾›+mmmX[[cûöíÐÓÓÃÅ‹qâÄ \ºt ·o߯íÛ·±|ùr :Tfêîlô› ©TŠÂÂBÍ'33@¡<‹ÅR„žžžptt|¡(ñ74 ={öDÏž=1a•fÚçää ##8yò¤Â¤¥™ÖÃÃÝ»wkÜ jsוüj¼4½ut -  X !HHH—ËEXXòòòd¿988 00}ûöUˆL{]`ee…O>ùÆ ÃÚµk1tèPœ:u ýõBCC ###Lœ8£Fz-Ì)¹¹¹Ø¶m›L0Òh4øûûcíÚµŒÊÀf³€€€TWWË"š¯^½Šëׯãúõëøì³Ï0räH™©ûMÔX^|>_!r4-- ÕÕÕ eétºÌØrSvuu…®®.EÌ‚ÅbÁÍÍ nnn=¯¯¯GFF°aÃxzz"%%ÅÅÅHLLDbb¢‚5ëùÊ»»;LLL(Y',CKSÐÿÙŸ²¯fÁá½é u!UüÁƒàr¹ Evv¶ÌOakk BŽ;†¡C‡¾¶BQŒñÙgŸaÅŠÈÎÎÆÉ“'Áår‘””„#GŽàÈ‘#033Ô)SÀáp0bÄhiiuiÁج1–——cóæÍpvv~¥ý322ÂìÙ³1{ölðù|ìÚµ ÁÁÁ¨©©Á¥K—péÒ%èêêbôèÑ2S·¡¡á¿ùÖÕÕ)õ–––*õƒÁ``òäÉðõõ…§§'úôéóÆûл"ôõõÑ¿ôî݇ÂÅ‹< ‚z~>SRRPUU% l©µÚØØ(nÜÜÜ §§÷öHMéS†xçÂRøØ°d*˜ôW«Afdd 44\.ééé²Eiii p8 2£F‚Ï'Ÿ‡““V­Z…U«V!##aaaàr¹HKKÃþýû±ÿ~XYYaÚ´i2Ú¼JsUnn.¶nÝŠ™` ÄêÕ«Ñ·o_üûßÿîr4633È#ÐÐЀeË–Éü·oßFxx8ÂÃÃa`` K 1vìX¼Ö|ÕÔÔ„‡*˜G=z$K¯Ø-¯!´üÓ××ÇâÅ‹±aÃØÚÚRRª ÂÄÄÇÇðáÃå¬rEEE Vôôt¡¨¨—.]’•g0prrRzæu0ÓZ~²¼¼Ó§O‡““† ¢ô…K. ª± ã†ã‡QN,±yà è¶3@GÚôÕOÄ01éx¸qYYâââpÿþ}”””È„"›Í†¯¯/ú÷ï9GóO?ý„%K–@[[»ÝíäääàÞ½{ TË´ ;;;xyy©5®íÛ·cÞ¼yèÖ­[»ß)**Btt4æÌ™Óªc½¤¤IIIˆ‹‹“;ÝÂÓÓƒ B¯^½:|€HNN†³³s›æÜòòr\¸p hjjƒÁÀÀ1f̹»\ûöíÃäÉ“aaaÑ* ®^½Š   VÛŒˆˆ€ |||T– …8rä[‡æ,,þþþ²g555HNNF||}‹-ÒXB¡¿üò V®\ùBüòøñc”••¡¤¤………ÈÏÏGYY™Òƒ“É„……,--amm ;;;ôèѦ¦¦¯Ì¿yðàAøøø`×®]hy"!//Ðh4²nÝ:¢ á?ý øb™;î_„F£‘}çïu°fÎX²ú«Õ¤£ $t: ˆ¡¡!™3g‰ˆˆ B¡På{#GŽ$uuujµK–.]J¤R©Zïmذ„‡‡«=¶Q£F‘’’µÞyðàùÏþCÛU^"‘{÷¯/£#âèèHV®\IˆD"y¡ùùöÛoIYYY›å–,YB‹EÉýû÷•ÒyÖ¬Y$++«MÌ›7¯Í6ׯ_ONž<Ùj™ÚÚZ2sæLRZZÚj¹k×®‘+V¨ü=''‡lÙ²…ØÙÙÉÑØÔÔ”|øá‡äâÅ‹­òkKäçç·º6; ©©©ÄÜÜ\®¿Ít:ØÛÛ“‰'’Õ«W“£G’¤¤$"Ôj£¦¦†p8RPP Ñ±,[¶ŒÜ¸qC£m„„„;vh´ììl¨Ñ6jkk‰ŸŸ_§Ö)Hbb" !+W®$ãÆ#ݺu#4M)???²hÑ"²sçNrýúuRQQ¡qž—J¥ÄÓÓ“øúúÊ=W[Çõr`ãâ†u¨«iÂôÿnǵûݘðØrì2–Ù·ÃÒžÅbAOO&L™¯º‚#ŸHÅÈJKAyu×ÔwYÓNÇ€0nÜ8¼óÎ;ðööFhh(N:…œœlÙ²[¶l‹‹‹\„og›¦ýüüðàÁìܹ^^^;=6ÔU"%%t]#4Š$/ÎX±b2331räHäåå!44ÉÉÉ8pà8KKKL:C‡}å\Äb1,,,Lcnnno…Oµ-ˆ둚œ ”…' M”=Vtttàíí ooooaéÒ¥H$ Iø|>bcc®ÕYYY)DÓº»»k<:_m™ÝPŽúÚ&ô2‡~þôvnhõÅ©¸™§:³s¿Ο?/wÿçU#-þ"æÏ_‚øÔ4Û­»Û÷Á¤.ÎÄ ~~~ðóóömÛƒÐÐPœ>}™™™Ø¸q#6mÚ 00½{÷î4a6~üxôíÛW#c“Šëñûßá›ïw¡¢öiª1–n7?üÇK§sïÞ½1{öl¬Y³©©© EXX233±gÏìÙ³>>>ˆˆˆx¥©Â´µµ1zôhœ:uŠÊ¤pá‰=øtÙ:ä–=Í¿ÊÒacÛ)â¨CCC¸¹¹)¸òJJJÒ¦¥¥¡´´¥¥¥ˆŽŽ–;ä;88(ø·]\\:í©T@fee)ýâACe!þûÑ&H 0}f®G]PY1Fk½Fzô0ÆþD*ÇSë‹ òu=E^^îÝ»‡ºº:µüøñcDEE©uÕ!33¹¹¹ˆˆˆPÙ/Ae–}¾EÕòZãŸÏÂÍÞD­1òù|DGG«•*//………ˆŒŒTËù””‰D¢0ãÆÃ{g7nàÊ•+ÈÍÍErr2’““±~ýzôë׋-‚ TñÐåË—ÛÔ6QQQÑ&?áúõëÈÈÈh•ùùùruÅ]<­»C$}Æ?"A[õ …BãòåË­ÎCsÂë¶úŸŸŸ˜˜”••Éž5ûÉ“’’‰ŒŒ Ô××ãÎ;J8ŸÏW¹6ÛZ/ê ¸¸eeeˆˆˆèp]*׋@€ââb\¹rE£Wbrrr‹šššN©ïQòm|µn $-øIX‡Ô´t~%¦¬¬ ÅÅÅmC È2vi R©EEEøóÏ?ÁãñT–svv†³³3¦M›©TŠÜÜ\™°,//Gee%jjjììlœ;wNö®––\\\¨ÖÁ»¶¶VA.(ÝI­­­Ñ¿¹Ó#‘4`æØÀŠ¡¯Å€¥—78›€"+×r!µ|váÈL[¼ƒ]­A§Óaee…Ƚ«ô´öO}Ï×O£Ñ`nnY?ÛSF›Í†···,ôXnŒÿ”y¾.†ŒŒ Yôëó¿Br0NA8²ô-1ïËo0ÀÕºÍ~µü?›Í†———, EU¿ZB__·nÝ‚ÜÆ¯¬þ–ueeeA,+|·²ùw???¬^½¸{÷.ÂÃÉû÷ïÃÅÅ...Jû÷çŸÂËË æææ*ûÐ,8´´´æñùwLLLd_/PU—¾¾>nß¾ý¬.‰ß¬ý[N8@ÿÑ`öü`¨ÃPYד'O`llŒ¾}ûÊáù~566¢¨¨Hq½‰èééÁÌÌL¥£ ZZZ°²²R+ÜÞÔÔúúú°±±QÉ4NŸ†S!‡ñWfÀ¢‡vîûþïø¨BA[[–––°²²j÷;|>ººº°¶¶V+:ÒÈÈ"‘¨]&={{{¢¾¾Ó§O—E+ªâ!++«V£N§÷áêêêÚœG]]]˜››·ZŽÏçCOOO®Ì×ó°pͨ©oÎÂ;“gcßžá`Ñzäd]]tuuaiiÙj†œ–¼Ñ~mÎzzz°¶¶Vj‹Å000иùµ®®:::mG___F_M·cjjªö>¡ +æÎDì[(~\Ðèð4 ܇.v@ [ßš‚´´´4Ú†X,–­åÎh§gÏžr×Pšùwýúõ°³³kw„¥V›vÙâê °|Ã~0ôlñÛo›±‡^Ñe m׿?åÓÏŸ1ØŠðññépÔ¼£A„ó'áø©”×ÐÍÌÖ&­;ƒ-]àn*³²ÐH´àââ­v&O(/ÈDð¯Á¸“C —uiÿ¾¾>LLL^½Šˆq#ê4=‰‚²*˜XC%ÿ‘Û€¥0î?Ÿ‚—[ ØÙX¨äÙêŠ|ì ÆõØHº¨®©†„€ÂkA!¿ïÆ…«1h„6WVbÒä)VÿÀIs[0™³¡Í6E/; %Ø$Èø;Á»÷#•W–¾1t´éÔ·l6ÖÖÖâ‡l—€üyË&ð›Äøhíô±ÔCc÷îøåÐ=vVÝíáç7z¬Ö'OÒXˆ½œÃÖ­[ñ y]RHI=>5Á'¯ ¥enÁ‚m¾Kch¡·›‡Zí¥ÄE`Ò¤ðˆÿÌ—J£³ K(Nomž¤B|ÿåb|÷Ëa4µb“&)†Dš¡_?³Vë{”vÓ&úã~î³Ã e€ÂÂ2ØXQ9V_<.ÉDàø ¸v?ûÙZ¢1P^^Ù©íhé²áéÕO“›ÂC~ÂìE_¡®éÙÏÎÁƒšä— ¥2>>;vìøg®ª±ñ·s`êõ€£A-~þa=vïØ‰â’J̹õ4H‡ÉÒÆð ˜<² ÆTîÜ—«Q^-‚$æ,âb”—{þ™²2ÉÉÉ SøZ[(,,Dpp°J3ä½Û×qìä<ßõr ¿üòK«ýT)8UQ*Â7¢ä±| »{/:vÚÌv·QRR‚ôôtìÚµK­ üqqqJ¥hllT‹ŽYYY8xð ÌÌÌ”Ž1>>,KÁ”ý|¹„„TUUÉøM23333³§>ᔿñûþÃ?ç_¬fš¶Y—’ãvÿ²¹òš»Ž‘ Î^ˆÂÛ×UÎ#ÇCZZš\›ÊÊ¥¦¦‚Ëå"..Nå|>~ü™™™Ø¹s' †B¹êêjܽ{WÖVGhT½_QQ÷tlƒß[ "‘è•& ÈÌÌ$þþþm£ÓHÅdõBŽ|R–ùdݯDJ^/”ñˆ-[K>±DŸ¦Ù¤ šHðännãˆÈè(ìÙ‚ŠZ¸xùâãÃÁº³¿–AððA~ þ)Yy`›Ù öIÅ¨êø ™4˜:ö˜ân‚¢3¹˜4gzYÀ攥FŸ#hõwøfËAäÞ ƒP¼ Eóeg' hîß<…ñ“ç ¤æÙ7æèL=ˆEâV sÿ‹€¹ÿ})}´±wǦw©ékÀªù³ðsÈy9ãäɓߦä=øS' µ€ßâ0Á‚ AØbž˜3mÆL›Ó)mšZ9àëÿmkƒîøñëO±vë>9ó‹©Eí$m ¼ &ãfrn ™¦‹ädztN¨~7s|öÕwøìµ§ ^ƒÞůƒ4—ÛDŠ‹'v‚3w9j›žÅ;˜š™SÌÚ–€LLLÄÞ½{5R@¤BìûýwJ’úwöîÝ‹ŒGlÝhé8=]×vÒ “ïbבÿ[aq)öïßß$A£P‘X‚¿A§AírÙÙÙ8qâÌÍ•/¨„„>|l6»ÕzîÞ½‹ÊÊÊü@ºk‹œp|:o œ:sññw^Ý+r3ðÓö?|CÅ%%JùY*•@(€ÐHOOÇÙ³gqÿþ}•õóù|ðx<ìÛ·Oé|TUUÉ­MM¡¬¬ ¹¹¹Úεãûå„ãSÍˆŽ¾„Ò¢‡ÔNü’ÑÔð?}»ZN8€H,ÕB 4@$–"ëáC„††jô:I\\²²²Ú ‚‚ÊÊJÅë@m&+—ŠÈÈ^Fd_t*!„ÿÝ@Äb I ÙNØ6ãˆHô4™õøFÄÈei)&·ß·™\ù;ŸBˆŽŽYµj•Æ}R‰€ô·—O¸Ìb[“WÉ뎋'ö]&]nlÆ‘ǵ mû—¯’>®„N{öîÊu?t¤TÚH¦÷‘÷ꑟE¾r_Ò½ë牑¶¼ßÓõ_HnI•|"xQÙÿãZbid +§¥£OnÇÞy;}RY4õ9ÿ .ù|ãï¯ðMAUE>éÑMÞÏihãBn'çuv ¹qˆ¸Ø>Û‹L-r**æÍðA‚ÆÄ¦·`Ú’¹~ã*Öl_ƒŽïØCX~eM"4&DârQ-V’Ï^Itsé1€D"Abbâ ]ó R2R€_Ûˆš'ÂÖ»M×ÁÙèhü²3Jaë芅}o—¯ýéoLà\“œ< CÞEsa Óº©ï1/S'Ì@zI•Üó’¼Ü—;"FvVŠ+jP\^õœV¡…Ýǹè»ë7$¦åÀÌÆ³ç.Àˆî¯Ü—4`Ä8œ ;Œ£açQÕ Á€!ïbñ¼Ù03”¿#¶}=>^µM-4ü¦F$]ùê‘¢ð¹…åhhêäËŸ4&Öï†mowÄ$¤Bߨ ÓgÎÁäÑ~ 2½¾™Ù"êÚeü¶ç òËkÐÛÃü1œºwnÚ¿¬›g0nʇx"yv]E"ãQF0vH×'T›ä?øy‡˜Ùõ&{OD¡XJ¤âZb Å"3–}IìÌôÉäy_‘—jnIDATFqÛŸFzQ òþ­³ÄÛÙŽÐZœx‚CÎQGAu>Ës`§ý¦ž99›õÒ4HÞƒdÔ@9 ö“/Ö¼14–JdØ_…Ïøô{ïRV×Ô%5È’ÜûdÆèÁ„ñÏ'ˆht2l$µ`(t²üó… kméJRË4Ú²F5ÈæÏÝ´Äâà2ð(vØŠ-k¿€Ž6b1â.]ÃÏG£1aX?Hš!iòwN$M…ø}8¾ûî;À˜ l§Yžƒ÷ÇrP^/W/ó~3F¿\÷y‹qµ÷~ºõj # Ä¿<—’ ÀÔÚ ßoß…÷ûÙ*Ìw[ý“H$ …*ߋŠ¿Wç§Ââ $åW(h°mµÿ²ç¶#ó²$`<’ï'£º^‰Á£§c÷o?€ÍC(”¨¬¯±±QFWe~d¡P¨tmv üBMŽè¤œʤ‚†n§3ïvUtdŒ]qÜ=žægs&ŒEèÑPTÔ ¡§Ûì=ðØÐ蚉D‰Drm´Õ÷æ›ËýNZ¼Q__ãÇ£©© l6»ÍdÄÇv~‰TƒþØøá,ÐU$(&j&ÕUöÛ…ˆ0œ•Ï0ÏbÛ`ó÷ë`a¨×îºÛÛžºýëŒ6Õux+KèÛ¾òR !4èééA§µ«übBCAY%èLÄR`ͪ/U^ömjj’¥zj®ënÜuìúí€\9¦®)¾üjú8Xuˆ^/:êÒ²­:ž™‘šÐ ‚ÉÒ†Ž¶6”UKˆw®^@dt ê›ÀÒ1€¹™ –ñ™R)•J!‹Ûk·=¼ú0+ ÿÛø£\º–.ùC¼_…EK£ë·‹Xí^ê~ñªÇH¤Ô×7€Æ`BOWWÅZèØ¥bBíÇ_i9K¤ 33Cþõ¯v÷—ÏçÃÕÕãÇWnbUk¿ð#ƒç‘X³®ö¢äXâno)SÑ­½ÕK@$ý³°Ó/$ ï{ý@§´¹74º6þ8y¿íúI™y°°uBм…âC¥Wëúù©SÇp˜{•õø ‰æÁÜHŸ" jàÃ/׃®o„¨ëñ€v7Œž€ù³&vŠÞ&¤Óæ¼çî½Jü~"Aãýp?úNø wR1¦?uö¤@ o˜‚Ð^Y_ÆCÀÔ)¸’”'{[<Ê.À7»O`õ‡©Ë¾(P @áí"Á½Ûâa>ƒ‡ÃÕÞš¢  (P $ (P ð¶€N‘€ (P $ (P Ð.ü?Ñsç3ç<÷9ÏU!‰DbÆXHH$)T‰D"…J"‘H¡’TŠ6;”ï?úˆ­qÈ(ŸDbR2˜^U7Ï­cúÈWØ“\ÜÒüÑOÙýÕlz8JÝ—H¤P™ya3²÷Ž”m·ê»‚¿.¦»½B:I"‘BU‹}©ìãÌïæÇêk•¯oñÊ1BW?€Rj•DbTäXÅ` _óBY‘R(±Ó[ŒYó*_^UIWI$R¨j©7•uÿ/”.Ûú­àdZikh­k=úmW(’î’H¤PÕ‚L‘yl»3JÝŸâ§]‹èëÒÛvOòή¥[^Ùwœô˜D"…ªÆÉ#tçr°aèßc˜›ÎutݙҰTb(‰²K%‘H¡ªqT N/~ßôi–÷¤AéJ¶Mšã¤[,Ê¥H+]&‘H¡ªi ãŽ+~ÛvÖËôr(?2ÔRzëÔ¡ JKé2‰D U #ò’‰» àÍ#c[cSv-ù)ñd—,YßׇfÖÒg‰ªF“›F–ØX•O’Ê'òðåÒ•ï#=p–yT‰ªG«A[Ò{ª›ÎÎ_®ëdŠÿ Ó_I$)T5…¥u‰ø´e”JCò¾wù¼$~Eï˜ØÒJúK"‘BUó4°k„}‰0©ôr¤4I?òòó{ÉÀžq‹&ã-é‰Ñ©7sý&OžLBB±±±ôèÑÃwV%rd÷qR°¥ÍàQtwmÚ\®?À™duñ6:¬3ÎrÜ÷¯$77•J…³³ó=ACAvY¹hÀÊÖçF®8XÉ€fy?«Õjœœœê§P)·.ˆÀÀ@<== ß9ï$sûMãçgý6ÿö„|ú8Ö^, ¢»2ñ«?X9ÀÓ\v‚‚ÄsœNt£gÏæØÉk»ÆÙ¸q#gΜaóæÍUÔ§tþÙñ +×mçtJù•Nt›ñ.Ÿ,·ô±ÎÏ—.]â“O>)Ó^/*ÞÞÞx{{¾Ca=šÂÏ‘¨=±>=‹gKE MýŠ Ó{ÐØDimú^ð›ÓÆð[Ê>F8Ê º¦quuÅÎÎÃ5*í0ËÇeù±œÛl‘Ź€Wxƽ¡ö*3Á½>ûÙÁÁ¡‚ŸeŒÊ¬›ÒÉS{h9ã§í$M·Îë9¶:Úd"…&…}s¦²9PåQ$‹òÔ ÄÍS¼=øá;ˆÔ-®îý9íêŽÈЯAãF;¼;¹ÃÑdίúToEgÞøéc†62™J‘øÃ‹<¹=µäêÔ;\?Íé°k¤ä)P6mK÷~½hãlΗn!+§ñÞyþ-«æmq³’~¾³}õ ôSŽÕ"vcÏ2Ç;1ô³HQhB›U±_‹Gš7¥Ÿ9HìÎ4S«oˆ;ˆØ"c|Š8±~–àA9¿#ÀEÜ?{‡ˆÌ¯9ûüýýÅèÑ£ Û8ï´hi[™Ý•½ÜÄŒéB+ý\êç)S¦Th—C?CPÅsäÀÕ2MMg~϶g[c²Ù2ªk|ùü ,YÎu¡ã“ηKaødVsR¶&í0Ëò¡ÿK Lªl‹ þ^÷Öž)™1P³öÝýÃTXêÇó©/ùïÃ.ß„©·~–=ª» Í'w*ûOÓö5qwÖóä|™ †QhÐþ qlÛg|+Ñ+ëVØ¿5„€é´¾§)'ÕµÏ\¨¾Ÿí›ûâÛªqñsµ¢áááÌ;—   rrrÊ)«OªµÐ™ÈâèÒY|«×™²¹Ž5šâpÝÖl!5á2µônhL·¦ýü?¹:¿\sÖr_,VŸáç¨Mô¿ç¹|={¢ÉEÖqÖ}_îß{s¦´Åàë]a½[sBâãI¸xž‹1éZ:ãÕ® ¾-«UëË(ö™Æñ³N^팼V'ü\-¡š:u*O?ý4{öìÁÎήÒÀu]£ðâ:ælÔYÜÏŠ5ãÕpéDOø;1’À¨|fzØ×­“Ëcù÷ñnìÆÅÍðN¯œM@š~£Oÿð-Ï·¹‡ËÓ¯Nýñêd¬_·‘í«5•ªŸ~®V— $$„Y³f•©º=æKå·7W¦?NŸ·†gÛ”t+l[ò@[ •³çS1åãû BÞe@ËrC¿[ÓºC?¡Bc`^ÕÕ$ý4‹qþ—Ê´6š¶…UÃÝÌ ¾`îöý[ÎÃtöÝó¾ …­V‹µµõ]{P …¢Òm*k×-ëÖ) ž}öÙÒõaaaŒ=¥R‰R©dĈ„……'Jt5€wvÝÔ뮎fåk½(í7)i߯¸êBØgo0ï•ÙÌžû:ËV}ÎOÇ£È6¢rÙvy‹Àè’²(ÉwC éI \Ú1ŽF÷Òi5U°Z“ÌM?q½Lc;^]2WsPs·ég“ ý„Ç’tÛÒ~§ãFFF2lØ0Þÿ}¾ýö[4hÀþýûyôÑGù믿hÖ¬™A¶oß¾WW×ò2EünÎé~v'uïf6•—GÔ¹âû`êÐm¬ -wûV<0v>Ø¥™þ2mšáh…R[DB¹–n4î1ÆöÉçϯ7ñgU:£Ãže@ðZu]~·Ö¨þúŠMU³/66–ôôt6mÚdÜÎr5í;uê±±±Û•œœL~~¾Ù‡¾}€Yú9!!¡‚]uªzÂÛo¿Í¢E‹˜9sfiÛĉ),,dÕªU|úé§ÕèN%sêTê­åíóºX²6;‚_¶lâçˆÜÛ#÷Çw|HpðXf¿8жöf¨V K,mXúþÛd&Å“”ž‹ÚÂg÷fx5²½ç.¶…²3OÌBêŠí\,Û–÷ÑÈŒ®.s·Oúùî½j%QÚnŒmÝÝÝERRR…öŒŒ Ñ¡C‡j%|]^):êmãöÔ!‘¥ËŒß)¦7«$!NayÛD9‹îKÅßÙÆš¨y1'ÄïQ"§š‡=z´ðöö6U¢H?²@´áþÜA‘¡½7ûL—(yïö™WÂgõýìçç'üüüÌÒÏu>á3-- 2ñ+…B‹‹ ÑÑÑÕ:öͰƒ\.]òæÉÙýpPDZuæt¶–Ü,kÜg8}‹Ã{ƒv$¡Õ䑸Ï.VNéPæ–®öŸå<¶äÙFȲЦÿÁ+ýú3|È\ošõÿ=.ýÙ0Õçñd@4*iŸô³ì«Q¡ÒjËÞrÊÍÍ­Òþnnnäååé—o½òòòªaY×/ÄR:õÉg:3:Ï,Œøœ gÆlãZÐw,h h¹|ì* ñè6ž…ßœâ´_ôÓŽâÖÍç««ÕüŠêP…O‘ŸLxP W¼_#`‰¿=5Š73ÑJû¤Ÿ«i_ •³³3qqqeÚ«>|8GŽ©ÐHÇŽ«£äܸ•°ê3åqÚÙ·_ü™(ÀiÒ×|ù|'ì iuñ¿Ä¿ÃÈÐy_á@÷ßðq_}—žaýŽHŠªaWݨð©!åÀkôvõ S¿Á ÔŸ1Å`-.²jÌ4¾ŽVIû¤Ÿ«e_ ÕСCyë­·HIIA¥RqäÈÖ®][é¶Mš4!88µZÍhÚ´ii0}ñâÅüòË/äååQPPÀþýûyâ‰'X¶lYu"ÌX4ÐÝ}tcÐpŸ’ Ú"®G\ܘ8g0nÖxv/ɰ}z¥ÇiÛ¶-?üðƒ‘ÿ ,iÒ­ .„š•® dCó^-‚ã xÆ«8ßÚ³;­­áJQG¯ä1·•Þó«ì;0´œÔõ†U÷06/"rÓ3|`»Œ£“ì™ö¢ÿÍ«âøë„’^üâc¦v²—öI?Õ¾zY8Ï××kërÕÎÕ™D†F‘¥µÀ©MÚ8wSEQ*—Ãb(rï@'/»â±²È'ñB8I…`ëÙ‰Ž¶zSM4dEž'2«Ä­ ›ãÛ¡ ÖUÈ$×¹|%‡Æí}pµÈâò¹¨’្ÖÝî«ÖÓ˜###ÉÏÏÇ×××8ŽÕæÁ €>]ÛábY=ûŠŠŠªs4¾}ÉÉÉäääЦMƒ¶¿téÆìÎCß>€víÚ™ŸóóóiÕª•q†~ÿºÂyÚ4ñó$G‡ñ{Dª.÷C{SœZÜQ4ì¼R\*}²FºØ3ܪ¸Lë°]"Mÿ8걡ǭÏjúÒI‘[¥*±¡Â¿·xä›x¡6Aá<£ýòƒÅo}=Åg±êjÛgÔ!“‘ì«õ¡Ÿ‘ýlô¡Ÿý, çݱËåÊà%³iäì^ÌÿBóKïæõ^~€mcrH) ÚѪOñ?UÄ bô‚‡"ý»/è–šòèTß*<7s+gð?Ï•¬‹:âµiÉÀ. K‚ÙôÃUóÊé1wû¤ŸÍë®_]À¶ëÖÍpÂYöø2uÏû±ôâÑKéçPú­Ð¬GëâùG±'ÏÒE¡ÔÄíZÍA]u°nó™ÛËÐqzÍUø4¶À?¼dºŽzðk“xóÏÔÒ>ég#Ú'…ªœ³‡~¼•g<€ˆU ö&¦”¸ÚÂ’zq&;ŸÞ÷©®xµ¸KUµ•9 —”iÅüõ³¸ÏàÿÕL…OSàÐï=ö­‚@{ž‡¸ãÚ~O-ÛJp†VÚ'ý\mû¤P•wH£á|üã":E§ýÒn0 ¸DN9?Û4ë‰%@ §‚Îðˇÿ¡[û§Ù›àİOöðn_ež6RRá3!ýWDƒt›4~†Ÿ£ªQæÅdØÑiîÏ\Ø¿’™ƒ{бóý ðóÃϯ­,¤}ÒÏÕ¶ÏRJS…nŽýÞã¯?­˜øè»feÕ¤ö¬÷Ä«ó^`ʨþ´woˆÂÊŽMá`<ü3ÿAÆèöö™À›×3ï!w¬ê•ßlh>|!__(í“~6º}²GU) hüðrþŠþ‡oO « ä†îdÅÓCèÔÔŽ ްF¿ªo³‡™³é8I?²Ð"e’ ŸI¥^ö¨BCC¹qã†AÛ¶Ÿ¸„-Îãú¥³Ÿ¿Hdl2i™9ä«Td_äL‚ðäéUïñd[kâC‚‰7Š•£Xýã¨Û®>Lô=5++‹¢¢"‚ƒƒÍò»ÉÊÊ"??ßììKHH ++Ë`»¦M›†Z­6[?ëÆbŽ~NOO¯`W½Løœ2e Õ<¢–›a»øöD`CÛ±SyÈÃüuÿþý¤§§3eʳµ/''‡Ç{̬ìÊËËC­Vãèèø¯ø=ìÝ»€qãÆ™Ÿ5 J¥R ULL ÞÞÞÕ>fÆ®Á¸M8„è̱éîf?–3f ¡¡¡ÄÄĘ­}±±±„„„ÈñŽ 0`Põ &µ…ŒQUk·æ8—¼¿~)¥Ža“HÌyׯREé׸x5¯öÜçaW©¢[º´ÀHÒ£ÓPAz¥9âççGjjªt„‰y衇¤PÕiÔ‰ì?†ÿ¬ý]ÍÐã?fçWséíTV®¬\¼q)yŸ›žWç*Eš#‹-’N¨–/_^§ì•C¿rdYÈL=‘ˆÙ=Ÿ!3 ©Üsû„º°tŠ€²‰’Ò}‰*Ó£"éôY2*°Ý+Ø]væRaR(‰%ïµr­g ž‰ªZs‡ëíj$šX¨·¬%ãÂÙÒ§Â6iÛ¸N•ƒƒNNNò«–Ô)dŒª hÜ{0-¦âÍ{z5× •‹LÎîÑ=J¾%:9¢¨g¸cÇù5Kdª®cÛqÏ´/ßÚ~ï®gz‹[º®IÞϺ%‘¬ŽÏ0½½­tžD"…ª†°éÀKOÇM·Üa;B8úf/”º.“:] ær °¸§õê¦Wè ó$“!3Ó+C›ÁÑÿóãÁÿ†ïÛ¤;#ÇçÁmh$9¹ý¶œÈ,éãÌ_‹ºT¡Š§D"‘Be ¡ФrÔ ½õ•O_¶¡÷¢_øõ½Á¸É¼‰Dýj…n |ów®]ù…_K¯–.X ”Íè>fÿ;rcþR¤$Ù£ªÍ•D"‘=*‰D"‘B%‘H¤PI$‰*‰D"‘B%‘H¤PI$‰*‰D"…J"‘H¤PI$‰*‰D"…J"‘H¤PI$‰*‰D"…J"‘H¤PI$)T‰D"…J"‘H¤P™mv(ßô[ã(Ò‰*³BpóÜZ&´ëÂ㯽ƌÞÜ7q g³µÒ5‰*ó /ìÆô{…=É·ÚâvÍ¥ïðø'Wv­$)TµÝ—Ê>Îãp´ â:UÐ<ºä7¥VI$R¨jBÂ×¼ÀêkzM e™Ƭy•/¯ª¤«$)TµÔ›Ê:ŠÿÇJ—mýVp2-ƒ´ˆµ ´Öµžaݶ+IwI$R¨jA¦È<¶Ý%‹îOñÓ®Eôui€m»'yç ×Ò-¯ì;NŠFzL"‘BUãäºó¹Ø0ô¿ï1ÌMç::îLéãMCI”]*‰D U£J ètzñû¦O³l¼'·žä®À¶Isœt‹E¹ÉL‰D USGp\ñÛ¶³^¦—Cù‘¡–Ò›}MPZJ—I$R¨j‘—LÜMoÛ›²kÉO‰'»dÉú¾>4³–>“H¤PÕ0šÜ4ò°ÄÆJQnm>‘‡/—ö¨|é³BúL"‘BUÓh5hKzO¢|Bg~8;¹®“)þ3L?~%©+|ñŸºº.!…ªŽbi]">m¥Ò¼ï]>/‰_Ñû&¶´’þªƒ’‘‘F#sK¤PÕQØ5¾D˜Tz×±&éG^~~/9Ø3nÑd¼e ]"1: !D½˜¦PÜ ùùùakkkøÎêœ=|žtlhÞûÚ9Y€È'ñ\ái%Êe׊ûû¶F)¥¿NODD}ûöÅÁÁ¡ÂúŒŒ òóóñôô”Î2!áîî^v…¨'¥¯˜˜˜ªí|óOñ„#\ÅŒ#9Bh³Å©¥]…¢ô˜ÅÌßÓ„ÖdÖkE^Ì ñ{`”ÈÑ ‰ X¿~½DHHH¥ëýýýÅèÑ£¥£LŒ¿¿¿˜2eJ…vùÿoVM¸¯ @y…Ä÷ #—Ÿ/½Ó×hê>⊩nöiÓÿà•~ý>d.7å×!‘1*IeX7¥“§( öÐrÆOÛIšn×slÿt4MåIM ûæLes" Ê£H–‘‘H¡’Tà²Ã»Sñ˜ùüªO . ¨wæŸ>fh#“©‰?¼È“ÛSuãt¤NI¤PInƒ ^]½ÊµÙ1ô³Ý,íã`²!Ÿ:n/½~„›·ŠFÔÀTN~÷q5T>+66–;w’••e–ö™Œ>¨¨(vîÜI^^Þ¿ÊÏR¨ AÏ‘WË45ù=ÛžmÉf˨®ñåó+h°d9˜àð"'œo—<Âð7ɬIÔÇŽcòäÉÄÆÆš¥}¦¢¦ÏãÀLž<™ÔÔÔ•Ÿ¥PÝõ›Ì&hÙh¦ÿ”q«­íküøé(ÓÅ¥("rÓ3|`»Œ5“¼L’é®pÈ?½…ýÚqLýòªÙû3wû¤Ÿk–z™žxìØ1š4ibˆJ‘´Šçü/”ò |Ú¼SrÐT©¸xýÝ&¯vãâ± nIdçÄÞÞXŸÔy¯´çùçdJæZ^èjºalXXAAA\¿~Ýì싈ˆ¸£}‘‘‘¤¦¦rðàA³ö³î< ¿ÆkÖ¾»Irrr?×[¡rtt¼»Lå^fïæ?ô„ Ÿè CÌlhãÔ7ÚþE}¦¡=wˆƒ…W*Už1c(íé¤ âÇ%óÉ™9‘n.¦™©¨›CDTT”ÙÙ§/T•ÙW=¡ªùó0ô¯iû ª7nTô³Lø¼ šëb÷®eöÓ½¼_?+òMbe®øçíî¢ÙøoE‚º¤)s·TúÙƒÄîLã~¢&ñkÑ_wüÖsÄÁ4IÎlÛ¶mwL¨¬mûLðYÓçQդ暲ÏßßÿŽöɄϪýý‘¼{6OíH¿Õ¤É{‹|ˆ?uÙÅäžyŸ›[ñÑúIxÖÐZÞ¥?¸¨[ˆZ˸Ç7r©À|¾ s·Oú¹f0šP 0à_#SÚ¿0ÿ¹zC.'&lù‚9cúàh#Omô/QEÜÑ“ähƒ˜×Ë//¯âWû.Ýæ(Oµ÷¢Ý{I3ŠPæsq÷á2CÛ¼ƒ/3áÃ0 Íâ›0wû¤ŸëœPiµÿ’Bá"‹£Kgñ­^gÊ~ä:ÖLhŠC+?Z$œâ‚ÑïåZÓ~þŸ\MH AÿÀ Ý&Ÿáç¨.íG#…1Nõ8뾉/Ûh7„9SÚbc_…yÛ'ý\…êøñãÿ *¼¸Ž9“ôcÚ´iäçç³xñbŠŠŠøê«¯*l7räH.\HÿþýÉÈÈ`þüùh4vìØQº]dd$ƒfåÊ•Œ3!ûöícÑ¢E:tˆ6mÚp§sÑ1zôhìììÊkd†þι·bSí‡2Ü×ùVf¸("5ìOþŠÈ¹M˜É•VºâÛÚ 3Àƒ(LâìÁc\ÕM ³ïÀ°q2ÑËßÿͰaÃprr2;û¢¢¢8{öìm틈ˆ 55???³ö³î<*¿Ækß¾ˆˆBCCok_DDYYYÜÿýUª={ö0nܸ2í7n$((¨ŒàT&Tå¹yó&-[¶$--­Âçìß¿ŸáÇ—¶]»vž={’ž~+ª=mÚ4|ðAž{î¹ ö?~œ­[·$T+5†óá°±|¦‹)ZöeÕÑ&¸Ë”&õë^Ú“™wý2ìûÌeó†—éãl¬AAâ9N'ºÑ³gsìŒ$‚E×¶ñܸ¥ËûÑœ\óö&ƽ{÷2oÞ<~ýõWÚµkgvömÛ¶¥K—ÞÖ¾7ræÌ6oÞlÖ~ÖG¥×¸Ø·qãFV­Zu[û6nÜÈ¥K—øä“OÊýî’$™››[¡=))IxxxTØÖÐÄËÊÚòòòÊ´©Õê Ûº»»‹äääJíiÚ´iY¡Y0 wIDATµ>‹.¯õ¶q{êÈ*Y§Šß)¦7«˜ø‰Â²Ò„P@Xt_*þÎ6N9NMÚïâYO6cÄoYFM÷éGˆö ÜŸ;(2LX=ôÞ>kÎ>Ó&|ÖüyT-á³æì3YÂgeÝ377·JãGú$%%1mÚ47nŒ……ÅmãX:6,;%¥AƒŠ½‘ÔÔTÜÜÜ*µÇÐÙâ·íí…äré’7OÎî‡#€:Ž­3§³µ¤§Õ¸Ïpú8‡÷íHB«É#ñŸ]¬œÒ¡Ìäaí?ËylÉ1²«›ïdÒÂy¸ ôgÀTŸ?Æ“јWµs·Oú¹Öƒé:Ê¿u‚Ѹqã;î÷øããááÁ¹sçP«Õ¥áêp;Aº€U¡sÎõ ±¨u‹>әѩøá…Ÿ³â`à̘ a\ úŽem-—]¥À¢!ÝÆ³ð›Sœöï‹þòâÖÍç««ÕùÊM[8Oä'Èï×XâÃoOâÀLÌ%#Î$ö‰®_äçïøâË­ìü-ˆÈLuÝ;zdŸAC¿ï¿ÿ¾Bû† Ä“O>yÇ!••U…á\aaám‡~† §N*6nÜX©=Ó¦M«ÆÐ/OœzÅ«t½Ï›!¢ x*bÖw€pš´GÜÐ!D¡÷¾âmûl úS¢Š"ÅÚ¾e>«Ý{á¢ð»ÉªØ¯Å#Í £ÏõS‹ë¿/=mõ†«6„=G‹/®ÕòÐÏö©Rĉõ³Äʆê.¢å gL0ô«y?WmèWóöÝëÐï®ÕÖ®]‹••C‡-½ËöÁpøðá;îׯ_?,XÀÂ… ñôô$66ÿj‰ê²eËxøá‡Q*•¥þ}ûöñþûïsèСêÜüÄ¢nXêÆ á>%¹E\¸¸1qÎ`Ü,¬ñìÞ.Sy”¨ü§ñÔE­|˜þÞT– ÙŠîÀ¥}“º¸žU½‹¢_8ïÅ— 4⟓:ök¦ÿˆ`½i@.Þ­èÜÌ û.x+k÷YÏÆ¶O“v˜åãDzüØmîÖ’Aôá-H?›}UêQ]»vMŒ3F(•Jaoo/FŽ)ÂÃÃoÛ[Ñ‘ &Mš$œœœ„•••èܹ³øî»ï*lWÙ¾wj #FŒöööÂÞÞ^Œ1 é;÷¨T"ju—’õÅG‘ªÒj'g¹ è-6Çßê:^xG´]ÄꫪrÖúKÌpÕû‡j±Pœ­r©…BqeÝCÂgü6Ÿjìê yâÔÜ[½GÚ=/¾ ˦™+/=*ãÚ§Íþ[¼ÙUqÛ›å_»ƒÕ£ª?Þ£ªûLÖ£jÙ²%ûöí»›ØUhóôôäû￯Ð>yòä»î{§v___~ûí·j‰sVVe«LY·n3!dRHFZ®Ö€ÇŽÍ€N„'3Á®$ào×ok¸RÉŸÿ$2ÃY©g¸'ý[C€®K¥ºIffU˜Pxe=ÓVÚòû‡a—óû­Øjr23ȨNð@ůûJÜyúÓ¥ŒòÔUÎÆ&77·4æ™q§Ï2ª}…„­˜Â{ç ìYæUn_~~>*•êζ›ŸuµÒ+»ÆÍÁ¾üüü;Ú—ŸŸOQQQ…uwÍ£ÿ’)ßõIɪœ m6—Ÿ"Ö V¸´jK×M°´¬èàèèh233éÖ­›YûY÷Äç»> ¼–싎Ž&22ò¶öEGG“““CçÎ úÝnèõ¯-œ§M?Or€p¿G¤êrI´7Å©ÅEÃÎ+Å¥ÒØbºØ3ÜJÂjØ.‘V&>#6ô¸õYM_:)rÍ©p^~°Xà­;^OñY¬ºFüoðÐϘöåžÏ71lÈçùÔ>‘¢¾ó¥JC¿Zò³ÁC¿Z²ÏèyT·æ—Õ“'É)\¼d6m€œÝ‹ù_hIu…½—`Û˜RJƒŽv´êS<çOq‚½`¤H?ÅîÒëMytª/vPC…ólZ2°‹.g-˜M?\5¯œcÚg×gu¾ëf-¦ptÃ7~6Wdõ=l».`Ý 7 œe/#PWsÊÒ‹GW,¥_éˆÅ†f=Zœ=Ax–¶tØ·k5uCnó™ÛËÐÉ5T8OáÊÃKfÑJw‰¾6‰7ÿLAm._‚QíkH·¥‡8òß'ðUV\kÝjó·†0Ö6æ|æîçZ¾ë÷ok¦kRÏ”äÚX÷^,^WUº]Áù7„h"^8Q<¸+ˆüBŒsÒ}N+1ÿD¶¨ölý¡_ãçÄñ\cx#W„­"”z>Q¶,f. gÒ«yßG›/’ÃŽŠ};¾[¾ßÿzR\ÉPU1ÊöirD|ØqñÇ/ûÄÏ¿Š¢³„ºŠC–ªçQÕ¼Ÿ«–GeBûjú®_}âÑp>þqAý?àÂi†´;ÎëŸobé„v8èõ?mšõÄÇ®ªS8t†_7ðÚ;ˆP81ì“=¼ÛW‰yQ°£ÓÜŸ¹ÐþS–®úŽS×­hy¿~~½håplõ N~¾”ÿ{w#IåWºÐfشڵϯNýñêôïösËAj×>Ù£ª™•.c7åÏ·ÄÇ[ûØûNo|qP\HÎ!„6û¸x¥’‰Ê Ÿ bå¡dQÝœÞüóË…_ OáÙÔQïøÂ¥©§¸ïq½`¿ NýK,õs0(h}ªŠO¡1ªûššösDŸBS“~”=*£Ñ€Æ/ç¯è ìXõ.«6þÄùЬxz'+n·K³‡™³ô]Þ˜Ùß(·y‹ ç½eöž7Oñöà‡ ÎUJTÉ««&üœ ‚vÿ¢ó¿cտꦞ^Õ¢E‹pvv®ÂURDVâ5¢¢ã¹ž–ÉÍÜŠÔò“.•.Wš;ŸáõM÷Õ$Xͧ‡ ¬\aaÍ‹¯Î¦…ÁOð5Ž;Fll,S¦L©~žû ð0 @¡é”UMNJq×3È-¥žÞÍýû(û÷ï¿íoðرc¤¤¤0aBÙ!l½ùe}ÿý÷$$$K§N°±©âmžÖíé^æ‰`nü¶ˆ—¿Œ Ѹ´ÀÇdžzEQç -¯£äÁ%kÔÅE²™z"³{>CfzñÃd<ô®¡.,r l¢¬ß?ÊZI¨”~6ˆŠ¼"Ã6õ|*€m¯¡a,rèWI§ÏRYEžìÝ+Ø]v&TaR(‰%ïµrÅJ:PR©šªrî°s½]­ƒBõ iɸp¶ô)³MÚ6–B%©§˜>†&‡~eh@ãÞƒiA01ÖùЫ¹ž—E&g÷è%ß’ëd~DbœŸNc.ø–y›MC“BUÛŽ3x¦ý‡,(ûÑïÝõLoqË]šäý¬;PÉêø ÓÛÛJçI$&Сɡ_yl:ðÒÇÓ)Í™í0‡! }³J]—IÀ®s9PXÜÓzuÓ+t·ß%“!Ó*C›ÁÑÿóãÁÿ†;©IwFŽ΃=ÚÐH$rrû'l9‘XÒÇ?˜¿u1°Š§D"‘BeL4©õŸÂcoýA寷¡÷¢_øõ½Á¸Éd!‰D Uí!ÈüMŸldû¯Ç‰Î@£lF—åÙ×óì@¬¥“$)T‰D"ƒé‰D •D"‘H¡’H$R¨$‰D •D"‘H¡’H$R¨$‰ÄÄü?Ð…p,ïí)ZIEND®B`‚nted-1.10.18/doc/docimages/triplet_gen1.png0000664001041000007640000000773311520267216015353 00000000000000‰PNG  IHDRâaDVêö pHYs ‰ ‰7ÉË­tIME× -½Îû¤zIDATxÚí]{\W>“7!!á **]@­€¤¾¨¶EkÅêj×ÖǯU[­µ[ë¶îº¶»}¸îV»íV©(>ª]¶¶–Z\°@ÑUið( ŠIȃIfö !ÚC2Ãz¿¿fîÌ|3sî7÷qî¹w0’$Ù`! ™" ™" ™" ™" ™" ™" ™" ™ÒŠKGÞM‹íÎc %þ =ói~ ²ÉƒA"¸59+8‚ÐìÂkz\_öùRÀ0ì¹ìd™þ¡ÁRWb¶·[þ]}`â›ÍÅÛI£‚Åõ¾$Y¯<‹ŒÓL] [m"X‰ WiÀX|`±E&£µM™‚ý«SåOû­AE•>ÑÑÒªÒa>".®–ÿûÄç•*² ªôŠ»•[½£v_w²¦$Ý× ÙÉ”! Œ$‹ƒ†&6?Øœêÿaë… È:¨Ò§ç?øM€/úþf×`ñ-‡~–mGöA¥)#Àç´LÀæ3ꛀìÆXª'+‰wÕ#¡Ò”~üÊkÞF,\{ÙrÈêÛÈ>L‘)iTعùÏŸì4=ŒEøg¹›Dl–WôâJw@åÁ7Ìé¯É‡O,BZìW:®‚¶¹(#Bj¾©Ç¨_ժŠŽ+§6<;7"ttDx(›Íõ¿dýÎJU7 .aDèI·¢tú¨´óÊnK Wqüú¥yÁ@`FŠ4¬‰ ø¸Jq_²(x‘¼ñ°; CÙ€@Û´îàB‹F1˜ϼ­¹stɨ{‹À™’øÚõ§©¾‚ç#§kÚnµÕg…ˆÍ)ÿÞøÊú+}e훞áÇãhí#ÅÐ|vqPÊÀ0V­Î0ZÀF9@giZùþ óF䪚5 ¾7öøˆ¯:ºP6 Ð,Óo¾mÛ}ßÎÄÞn¾(NÐÓsj1˜P6 Ð,Ó£í:˜ö·1Ïú¾lŒ’iÕøÀà†Eù.#<öá\ëtSw£ÖD†±3¼è `+**ÊÏϺ9'•J·lÙ‚dêõ7ÍãüÖ麶\ó†Ðo)]ý§sçαX¬ÔÔÔ!šsëÖ­C2uH5aÒ{k?ý¼𵆯—ŽŽž1cÆPÍ9ÎC4AhÛ¦eJ ‡e¥]պݕæíW6G£†Í2eóƒÌ<«ûœy=½TÕ ’ЗWilÛ‰D¢¾Ž644Èår&ç\ppðÃ#Ó¸÷«««·mÛV__/—˧N:ðZÿâxL›ÿÔ0 ÊÚ“2‚K}<Æ[ÀL»äååùøø$&&¢’Ì5Àq\©TúúúÚ#Ó’’’¤¤$óöÅ‹í¸}òäÉ:‚xótÉ|/QW³röò«ZxŒzö̱ ŽDh‹¿û©;ó‰Ai\¦¤¤ÄÄÄìÚµ È5Éd6l(**꣼ëÅÅÅ6žÙR¥Ø|SI•/L &¤³Ø¢#·ÕŽ »n$JƤG‰D2wî\èé2K$’¾Žº{?Mʀ˷4ÿøuÂ'—;̉î8³(Xäí'‹ÓJ”z4‚…RÎÀ¤ 4¨.lœ›éº9%à‘ßæožìg׫׿5I( QOß 6;:.U˜wÒi§ßæ8Ð&íVþ8{õ”sH¦Î„G„¤÷fÉž²¯£Ü)ÂMo=öäücÇ™oÙ÷Äýå?íÌáa,ý2íj+˜•YhÙ]°§dE¤ÔŠ¿Î?:|ç;)Ì—éì¹^MIü¶YÇÆRÙ„Áëé› í Gˆ-—§ÿÙÁΠæÎ éÄë:ÜÚ‰Æäžþ‘51Bÿ™ÕZœ!<Œ¥z`Oõo||ü€>Eõ›zË®ªþ@|ü>(¢áêeΈ¨¬¤)Ž<•­NY¦¤¤ÄarL¬9íÂÆ˜ÀÃX*Ðh4¦OƒRiÚZö»ûn¹²Ô‘¯­è)£î³ì‰Ò”$Éó¢ <ë#‚<Œ¥ê¿4™õ ÉÒÞQÐIÞà9f·Ýï ¨Ü+–L¹Ñer2Ý>’êA¦o?ÃÆRÑ Óƒ‹G[®’F<ßTµø v¿Ã×ñþ<áV°ðGDDħ~ÌL™FµŠ`Ä0Öúcµôò0–Š™¶—ïÀz&°8_6k jê_•Njn•Ò´]¶þž¡Á¨vÜD#c©\=XJ]kæüÑ"£ø×¿}2PÈÅÆŠx°_®}¨œÒ{—²Þ]þé)‹FÆR¹Ú!Uwp¾å|¾$ùçžÏkw˜'LûGõÃSšVåaÒN—ð-çgå5X[Á©§|™ÎÛïDü l›¶–}(f÷-\÷ñ·»4ò0–Êù~Ó¢¹ð…³*jÍ=¡_fö¼–C#ž ‡Ý×ÚÎoy|Ö‡Z#H¼ÆN˜4#ã©Ô_ èâàת«_c~u_q$Wmê ‹·n_0M#c©lõÐ’6‡EOœ8±®–k²f=Yç5f|¨Ä21ŸTÈën6uþò¾È+dxˆÄÍž¯Å¤WÝÕ¾>žƒa™L&‰ÆŒcwcJ^wµ©çO:ÁãcüíÌHgñ0–ª×½_WW3¸mS\{…Û³‰@šÖÕÓçÓÉKÅûõUÀñx%[6Ð:‚ùaÑ&¼cU¬9àFe$hça,•KÛ¦-e -gNÿ¸ŠÒh[A¬‡õb'à>6l¤}O—ÃØ¯~Õ8 ·ÚóÄH³»ŽÉ)\[=7HÄÅÝq¬éæ,ÆR¹N¦?®K•Žl÷*Ù?J¬‹¤j丌çž#€ðeÅ$Išôß}¾cœÕr=ÁÈKjƒ¯TbÕP…êj/Šó‚Òß2Œàa,•‹dz0ÊÇ|š_ܪWÞø.`¶>ç'’$e˜’‘¿·\¢iú.ÌkỪЖ÷Ñ+J#}2U67\–]®‘â³'¿ü%í<Œ¥rLw†RûO~ÛœRñN<ŒÈÈ1ï¶•/Ž Ôz¤¢îpf¯_C8¶ûÁ¥qË$¿× ›.SuéŒXʉÁæ<2V Ë÷]¥‹‡±T®…âõ nšLu˜ÚŠÚ`é®ÇÍ»¢L0êë ­~1ú霩”«×Uå¶éþ¢ºªÇbžüú§&êC2iÛ 8z\„FÕE c©h…úWB°ØBK˜Ÿשv*I˜´"6 –V´[_øÃòÞ8’%UýÜb¨„E>ÙÓL½²ëx›ÞH/c©ޝP(ú9ê;/ÎËIo½«àcéPÔt¼^¾&ú«ÎL/þ‰ö®ŠÜkŠ – ý—†A65é´S©P(°>¢t/%­xzÿ9_½Z¡·õ©ùzq·|ë1ê¿c–Úº, t »æb8‹‡±TÖP«Õ$Iöeð¸÷û_¼ÎÔ}»°ø:D%?Èc·ž­…&$Œ¦¦š´žÿáŠÚÀEMŸÒ[k»jŠJoQm€ÄGCûXGRqãB¥.hÚøaæÝ‚‚[žÊfQ⪻ µFg$H6—/–zW\,“J¥}z›ûã2œ¡¦ùM™>Aĵ÷™œÄÃXª{¡T*e2YJJÊ`‡ž˜÷v€øw*,I‡—EŠƒÖ[vË iªõeÍ¥Tãc¹õå¼°h“¡uïëË‚…Ü_ :ð’gͱ‹±Ë²vÖ•Ÿx2'ñ0–Š®Ð“šì9`íï%Lš­sâñžæjëÅ…f•µà¾Ëeæ÷ŽîsNß …Ek› ÒCÅ}}ß|ϱöÑ>ãK-3öì7Žäœ³xKEL “ö ?!„e}b5ªö³ÆDéTÛFE(¾Q¯ê)ÌÚÂ{\§Ï·ÚþVŽ—¦uùÏþÖ´{$¶rïìžN†pwY«ÝOè,ÆRÑ#S’$ï^ÝcþEIÊÆœ_Öß„QíÆÆ )»ÆœR°5jèLzs@oå¸L?›Òk‰# ·“šÀßÍ £ò’ëµ`嫇¾ùQ…´ñ0–Š.™’$Yº#ê Îzé’\wßÑ…¾BN;¥ï¸¶ã…4*TÅsR±BïJ™š ­nš´›±ïºýV'ºl[æ/à˜ÛÜqi Þÿ¢NÆRÑ%S’4ålœE Qðü–lz¯¼±÷Ÿä‡c|€+Œ°„~EÎZ[Þa«FwÕ²°þdê?u“ããÔ¦neÍõj¹gc©h‘)I’dMþßçÄY¦ŽˆŠŸ•1/cVZ¤gox@Ìœ½_W4a÷Œ>#²W5:Ékà™>Ào*“ÉV®\i0ŒFcNNÎ@a-5Š~(“]©l¸ÝÜ¡Téõ8A 8áÏtpU‚+~@ÝãÝ};·eŸüžè D犂æ-[ûÊò™|Ÿì¡Dÿ«EÛôkÝÜÜܳgÏ:åi š‹Ù¹åàŸùTœ7íÖ! š––¶NX\‘Ä+Ðß›ƒ!ÍÐÇ;;;½½½í—©ÑÕñO¡ÏS’~úÖét”=¶ÀÕuOGáÞ¸Œ¬ÀP™²ù#¼¸,0t–!ë#Ð&Ó¦Ò#«³æ''%g.ßð¯òÿ± pœˆ¸® YÁF8¹mªªý[@ä:=Aq²ØÂ7¾¹¾}æ=ÿƒ{a˜øÓ ×=Ú AKè#ÐQš–oþÀ¢Q LºwÌW›îùÎuvO< Y™jï_ÌÌ )ßÛ¢±ìšôuW´8ðÄ“‘õè‘é°™ÿc–’Uñ ·>2oø$D!ë#Ð#Ó°ÕKîKqóN{)¨÷‡z?í8eÞH]¬@L=F¼ºf5ÃØc“ŸÉ+ÏsïY´Ç¨»²âØM‡dížè‡¬`+œC ¬ý̼ª`@Ò¦‚‹u–Yù¸öÆ‹Sý€Åñ2®Í—Ç ß !â(‚~:‚¿¹ËögÂæ”B*0‚ˆP“}׳‹¨ý‹ Í©Øöýäk¹s\J¥#H€µõ¿°&*C¶55d3LxÙ¶ŽÉh8èT~e„eP‘$@„z(˽„›e]ÓQøq°Â9ú|Ùwq¾˜ "ÔCѳßdß=¿\>GñœòjcúŽúTh ¡ âïɾ¯æTcíVa¹lËi„5AD¨©ô¸Hö½»¶ÂñÒœP<-­šŠ1¿‹)AD¨‡ò¼ŠÖ GK!W±ÿ•r1°ªûeù.úiS¡$@„zà<-žIݯ ¯È¶:´€ Œ "Ô‡ ày HWáXüáYØô8OÖBÚø+Aô2#‘¨74†žHOÖÚ©NY~F½»K¶-¶ý¨ûE(ÅLh£¤¦¦ÂÄÄ\.°bÅ ¤¥¥áÆèСìììTN³83¾BØÊÒ°lÙ²çZ$Á…=?"¶èùè‡o—›UÇ5„¸(ÉY:°ÓËn!0ÆPZZ @‡Cô²’‘‘¬¬,XYYÉömܸ¹¹¹GGGxyy5L€~¹&-†{p8ˆþõ3\}Z5:Ö~øLéï©ÙŠ.ÉGÐ{ßáz™öîø’^x‘––@cãšE?33ï½÷Ö¯_¯ü#Úb±˜íÚµKa¿P(dÏûN,  Ai—䜗¥q9·”=Øÿ¾lÓ1ž–J4þŒ‡g¹1L ìO/¼ Àüüüj=þøñc€ÝºuKé4ÉÔÆØ¹s'üüü4’¶À¨/ô¹Uæàõ]èóöfÙ1Ž–_Ÿ?kmÍV©Ô¿W`âÏÏ"™”^x+‡¨ q÷î]H¥R˜™™iæm 5® ûaÄ\d”W¹‡¬>»™iôùÄÅ÷1vô×TiI€ˆ–h ÂŒ34z?³Š!xIY•øØ Y‰??í£ñgüqâH俱íøTmI€ˆÅ¡C‡àëë Oƒã ¬ \ù]ºfƒqñÔgàjøùœ‰eÿ¸âÂæ‰Õ3D/¾öîÝ‹7¶è<Ò(X@,#00¡¡¡½Ï‰Åp/«êß‹«.³Žfå§4' C§#02VÔúQšÍ›7ãöíÛ˜7oµ€Í___èëk.üÅ“S 1.(Bn_ÿÕç0ÓEÃ~8LŒ/†½ŽvŸÄû]Lèe·1¨Ôغu+–/_®ôùYYYxôHùU+Ê n`äÄïö;ö¨”NC¸·Û?eÀ•™ö²{Iž÷¼˜´Dã÷oÍ”””@*•ªµŒŠŠŠjMïéÓ§€¤¤$¥ÿ iUŒVNll,<<<——ZÏ366–9"zxx sçÎJßãþ…“¸Q¬°ßÂwµ7Ð\ײ8 §þ¸†ž£ý`S­›wâð!”H´øfx}üªµŠÜÜ\Œ?^-éEEE¸|ù2æÎ«‘ôw¿õ*îU…XÕ6ôÆ™ÝÓ ó°1…i¿‚a8¸·ŽéH„‡‡× L‡0dl€¯ïKg·‚'°£ÊÐJ¡P# ‚½½=8Ö¬YÓ 4²²²0iÒ$8;;ÃÅÅ]»vEtt´rÚ{÷PZZŠöíÛ«ýÙ²bÖÃÿØc¹}Ó‚ÀQ‡ #§7+l4%p!·T3“g___…O‡ªs¸†ðõõ…wwªŒ$@/ .Ä;w•Ƽyópûömܹs±±±èÒ¥ ¢££±bŠܸq£ÎkïÞ½ 00P·!XŠÏÆ­–ÛcÚe ¶øU®Ù«0ãW…Mjšî“H ‹!–TŸÿÅ ‹!‘4Ï8JIIÅ(\NNýH€Z'¡¡¡ðññ@P1ÇjÏž=ðõõÅÊ•+ë {÷îiD€Ò®ÌÇæø<Ù6‡ÃÁW'>«êjq´ñv»Šàd·Ž&5I9]˜Ø|>ÆvËö•æ…ƒÏçÃÌ9 YÞ]TTœœœ°yófªÈ „l@ÍLqq1øüªÅü¸\.´´”û_HII þȇAÓvËm[õûs:ÉíãiŠï’óñxÿ„÷ÏFQƒ™%\Ü\`,P¿g´wà1D~Vsw+°¥ŠD- ¢:‘‘‘9r$\\\àêêŠþýûãüùó²ãÁÁÁ‰DÈÎΖ}‰DX¾|9† X°`lMÙJǯJÿuP˜ºqò]ŠÕû¦)œç0Õy{ú ŒaÇÀ·G˜éÃkø›øßáp¨3X†¡³¼½½küt÷ õÇZ+äˆØH `hhˆÕ«WãóÏ?DDD`ðàÁ˜7oÖ®] ‡ƒM›6aþüù8sæ  $»ÞÜÜãÇǶmÛdûbbbàáá;v`úôéµÞÛËË ×®]Ú5kðÙgŸÕ™Ïꎈ¶¶¶rÑåžçñÄf–T5‘õlÑÍUþÜ¢ìÄ?NAI=¶m38:ÙAŸ§þÿ9©¸…%\šõÝÇÆÆÖYžªššŠääd¸¸¸¨¥[‹ââbxzª'Bett4„B!œk<^VV†Û·oÃÍÍ ºººÔk.,X}}}¬ZµJ÷ƒ>À¦M›ðÉ'ŸÔØši•ÆOU[@3gάu‚âd'ÄVÛþ诋øÜíùƒ¬[çDzÝO•ºOYÁ3¿ÖôòóóFFFJß“l@jæÙ³g`Œ!44rŸ3gÎÀÈÈÉÉÉj¹WQQE0ø¸¸8õt)’–Ûv_º\VArb¿ÁÔ_*ć§ë€×lÆ4ËŠV¶î$¬ßøŽž‹DFb$>!ïXœŠ‘sN©%’µmA¤fÌÌÌÀáp0vìX$$$È}ÒÒÒ““ƒ.]º¨õžÿþû¯zÄ3ò¡ì;‡ÃÁš™eÛgç~ÿÜ®Ó §ÄàûÏfcªgEÖÌȳ²óôm¼°ñ»˜çe!—öÃ=Sp5¿¬Qù£¬$@D=£wïÞ¸víšÂ±¨¨(L›6 õÙý_†øðaÞÑ•±Ÿ+—ái,… «„Äz†Wx¿»–Ya#ÚCŸÛsì^U´ÄÒvËxq´ôpzt«­/•aaH|£òG!YI€%ذañÍ7ßÈÄæéÓ§˜5k–lêF]ØØØ€ËåʆÙW¯^àà`…óLMMeßcccÕú v¯¾[µÁJžWžŽ~zE$Ûm9Ƚ¢eRš„³Ùò>::æ£ðó yÿœØïn|§¬$@Ä ɺSAAAèÚµ+ÀÇÇ—/_Æ¥K—ЩS'xxxÀÏÏÓ¦MÃÊ•+û÷ƒ²³³eßW­Z%kE­]»?üðÜÜÜE‹Õ)@ê°v4”}·ö³®Özɇ„1è[΄¾V•xêYV‰Áž¤|…ôF‘·eœoP¾d!Y/SHÖ6‚5‚… báÂ…5ëÞ½;Nž¶‡NžÁõ»qÈÊ/…¾©5ܽûcªÿûõ^.)}Œ3¶A•€Cú÷'"j U ÑõñöŽ 8ÖÇ °ká\»¼¿nY…næòkq¸xÅT¿e#3òžÝ)Çg‹çaËyáétÀN©Ôú©ñ·&‘@ÂX!Y9.¸\ÎKõnôY‹jè6ÝFÄ¥¿ðËÆ5hçP÷j)iWçáQ±Xù.·/°{ÕçÔ#m@€úæ„€–¶-Ü< Ï}on „—­Þ^´äýy^³ª˜š‘Ÿü-¬»¾"ç!3ú0ÿínÖèü´Ä¬-Ýf“öè6Äu4nŠS²•¾'W`‹§—ªýY¨ÔŠ122ŸÏGyy¹Úl@Õ˜ôÄ¡› ذ+·ãQ^ö-ÆÞ Å09ÃÉÆ ’’<<þ7ûy+¥åÌÝGàË5kñÁ«^jË …d•·Ù(×m’¢¬ŽóD#—CÈ “ùiÕ*>Ú–ü+ c¬ôH€ÅnXZZ 11õFÓSumø¾SãÏI³põìi„†…ãæXJÊÄ€ºzú05³€…©¡Ò O–””àï¿ÿ†¯¯¯ò!eɯuÓ»wo9‡±àà`µ® ¯ Eûei V½4e¯ª#b}Î~àðêtDŒ Xûµ/|¸[v"¥°I˃_B^ þ]Ù nJøúUsÀJsBé¥4Ðp VÑ Š,(¯ÃfSÿOV“6uCÔÊÑÓÓkvâé:À[Q•Êò¯BB¯¥Fñ²Î~§³ŠkÜ/0Ѝƒ_ÂA_ëµVÝÇã·›±˜?ÀªU” ¡[9FFò V¤Õb㈋Äïa×Qt臞ŽÂZÿǺêóq%¯RIâKÄpÖ¡ª4ÌÙoP§ÖcÎã¿À¿iïà·½p>ü:ž¤f:B8ttÇÐWÆáµ¡ž­ªUAµ¤µ€*WKm,¾š„áËAüü‡Ãáð1vñN]7µF£d7ƒ €ô2)œuÚH×ámìÑ£~7ƒ†8û}â7¤î.¯ALš½“f·þâ%jå¼h*--mtšeùÿà•/ªÄ+ÇñoÞ›>Øÿ¶âÂtϪMRì¬×6ªU}ÞÆ¿Þ4Z‚³_K†l@­eý-T¡(mJk±WœœÿI {¥Í©>žN˜òZµRÊÛ˜U‹”ÔÞÂi‹†c B³•‚_{0©âg‡Qú‚6•fŸAFy…éY`Ô§Õ?¿ªFãku,7Ô ÇÔ#jEkŠëYN_km?@¾~7^0e^¯Šûlà0¶Õ•Y@@Ο¯˜Ï¤%¸rá²JFãœ?bø­Š?zõê…5kÖÈok†c ¢ö¦<·ñËótœ±²³)>½ûLáØåÛö_VµÜÎ5}[]™}ôÑG˜3g õÊ;p;¯¼ø˜¹/ÁµK˪š_sK§-Ž© FÔŠ¥¥¥ZÒùïž÷ä¶<âó-gðÇ’îrûóíÂÇQkÓ¶Ÿ‚íCE­®Ìôõõabbh(/ö[ì<ó¥ìZµ´@I€ˆV‹½½½ZÒ1ï¾ ?½ÞA¶Ýkä öî çd˜sÿŒë5åŒË7ÃÏa[ ÓÊkI€ˆF ÎI¦³‚¯âƒ¾†Ñýëc¨—3ôMÛ£gßèãí†v]üp1³î‰Àd{ÃV_~d4nZÈÔÊyÑï§r¥Vµü;ñ-ðýÅáñɰðÛ#(HQš„¨+IUHןí<‰“œÛL™’јˆP’êS/Œáéé©Öô9\CÌúæ Þúø:vïÁ…+ב˜Q=sø …³ßAÇjkvµÈhLD(Aõ©ýû÷WË(XMèÛvÇÜOºc.9¡F¨%Ùʹÿ¾ìûèÑ£©@ ¢éº_•- @€I“&Q¡$@DÓpîÜ9Ù÷1cÆ(,ÓC$@-˜¬¬,Lš4 ÎÎÎpqqA×®]ÝjòòäIÙ÷3fPm&^ÊË˃H$‚P(‡Ã¥¥%D"¬­­abb‚‘#Gâòå˲óoÞ¼ 8p Å<ü¼yópûömܹs±±±èÒ¥‹ZÖW€ôôt¬X±7nÜÐHÞ pâÄ €££#FEµ™xyÈÈÈIIIX¼x1àÔ©SHJJBJJ îܹƒüü| 2W®\P·ÆÞÞB¡°Å<|hh(||| {öìÁ¸qãÔ&@+W®Ô˜íÛ·ϧ Ì;ZZÔ›&¨ °±±APPÊÊʰ~ýz@§NpãÆ Œ9²Å<|qq±ÜäA.—Û*~ÈR©ß~û-€ŠˆˆÓ§O§šLU§C‡ŠyD?Fpp0D"¸\.üýýeç\¿~“'O†««+<==Ñ©S'øûûËh€mÛ¶Ãá€ÃáÀßß!!!prr‚@ @Ÿ>}j\=::£G†‹‹ ÜÝÝÑ«W/üöÛo²ã•ùÉÎΖ}‰DÈËËSêúótðàA¸ºº‚ÇãÃáàý÷ßǰaà ,¥^5k<22#GŽ„‹‹ \]]Ñ¿YHˆú8tèlÔ>úHa‰f‚h54v- Õ«W3,22RnÿÅ‹6qâDÙ>3336sæLÙv@@›0a+))aŒ1VRR¦NÊúöí+;'??ŸÅÇÇ3æééÉÞÿ}vçÎvæÌfaaÁzõê%wß+W®0¶|ùr&•JcŒ?~œiii±­[·Êûb~”½þÅ<½óÎ;ìÆìôéÓLWW—ÅÇdz۷o3lÇŽ eÎtttزeËd÷øá‡Çc¡¡¡u–·T*eݺuc˜……ËÊÊRê=ir]0‚hèº` ¸¸8æååÅtuuYttt­?øŒŒ –““#—^hh(ÀbbbÄÂÉɉI$Ù¾ùóç3‡Ã «`óõõeÖÖÖL,Ë]?nÜ8& Y~~~¤êõvvv¬¼¼\¶ïðáÃ,//¯NêÝ»7333ceeerû]\\˜¯¯oå}âÄ ™;vLé÷DD´é… ÇØÙÙaðàÁpttDxxxËW¢££ƒuëÖÁÝÝvvvpppÀ”)SOž}Hµ— j(©©©øóÏ?áïï/ŸÆbff‡ƒÜ\Å• * ÌíÚµÓØõªäqìØ±VéÚ5kÖÀÂÂ!!!ÐÖÖ¦ÚKÐ(XC©©…S_ ¥>ŒÑ»woDEEÉZE•DDD@(Ö)v½^®`_Îøð!¢££e÷¸víšÂ5QQQ˜6mZÑ ðï¿ÿâ­·ÞBûöí©æ$@ÁÖÖ^^^8xð ÌY/##k×®mTº6l@vv6V¯^-û!ÿþûï8uêëÙÛØë+±±±—Ë•­Õ¾zõjY‹gÆ HLLÄ7ß|#»ÇÓ§O1kÖ,ØÛÛƒÃQ\{ÔÀÀ;vìÀ¦M›pöìYª¹DÛ ¡ïÜÜ\fooÏŒfmmÍìííYbb¢Â¹!!!ÌÞÞžiii1fooÏ Ybb"{õÕW™sttdƒ b«V­bX»víØ|ÀÎ;'w­‡‡cŒ±·Þz‹™šš2L$±üQv¿èèh6jÔ(Ö©S'Ö¥KæããÃŽ9Rg~V®\©ôõ/æÉÞÞžùä´k×K—.¥Â H€ˆ¦ÅÐЋ/Fxx8.]ºDBM‹¿¿?tuuñ¿ÿý ƒ "šccc¼þúë8räˆÜò<AD4 £G†X,ÆÏ?ÿL…AMKeà³_ýäÒEMŠ……¬¬¬Wg¨‚ "4‚››´¨G‚è%ÁÊÊ ”Ž)M$@„Ú¨ŒQƒÌÌL*‚ˆh:tttŒ1²$@Dó‘@…@$@Aô’QÓj"ADhŒ¢¢"Ù÷ââb*‚ˆh:JJJjüN$@„Æ©¾aii)H‘ššŠ­[·ÊUhi?~;wî$"4 ùþ4qqq˜={6NŸ>Ý"óˆyóæ‘š…BqÔ#šŒŒ Ùw *‚ˆhÊÊÊäº`]:š H€¥yq)kkkk*”VJHH†Ž˜˜ ¢ušš*·]93žh}$$$àìÙ³r£šm½öÖMZZšÜ¶½½½Æï)-ÏãG‰È/’@hf ;Kú'#H€^Få¶]]]ë½æŸþÁÖ­[U»“âAÔyœ¿ŽÛqÉ(—V…åë›Âµkô4žÆMòÜåùñ0]šÏè×ðò¬å½þ;wïÞUK븬¬L-yS†¬¬,À¡C‡”ŽÊ@Ô†HOOíÛ·Wû=Êr`÷…+$ÚSIDAT[ù8Z|c¸÷{sð¤EH~xÑwžàVøYÜŽ8‡^£0súX˜ó5×&bÒü²&1eØ´–§n)TvÓÓÓakk«äË$Z5ï¼óÀ°®]»ÖzžP(” túy ÇXWCmÆáh±1ó¿g‰…å ç¤D`¾f:²ôõ­±Ð”B=óáYn û7kÙ‡……©\žuÀ°°°0µ¤×¯_?& ›¬<ÂÃÃvøða¥¯¡®{+§úìweº_ª )}‚7|¦àv!â}·pâÛ!ÒSl4[y¿ówŽÁI·âXaÊŒrŽÛ…åjÞÔ¿W`âÏ÷dÝB¢uCÔ†º`...jMûâ?ü™^„¡__Â7ov©ó\]Ë8ýóÙvIö ´eÕV ?ÀG¯„‹›7>Û£úP³¸ø>ÆŽþš*- Ñ`Œ!))I#$)yˆ7~º }Ë7qj‘¯R×8MÙƒڲ패˜üëÙöñÑKø÷^4¾žÞÿä«ÖBúqâH俱íøTmI€ˆf§r”C”øÇÈ*—bÀk¡ÍQ>ýäà§Þ›€,qEWIKPUݤ’œÎV>tÈ£ƒ3±ìW\Ø<±ºS% "š‹ê­u Päú›€Ó;¦“–þpÊX\º,è!·]^ƒ÷/VL–õXºCì V=§c¾­Ry)Í ÃÐiÁ¼ +jý-ƒê³àE" Ô–öïóžwó$Hy‰o>‹þ{ê½Î¨Ãx…}çðõ»ál|âζþ̉ëLC*)`Ó…lÂÖ…cÖÚé Œú#"9"­­ ¦ ú6SpmÿJxÚ™B oŽÁ“ç#ìÞJk2Vës9H>ó!û½ŠY3§ÀÃ} ¥µ7¾‹3b×£\™å‡#÷I)“Jó®€ÃáÀ¸ÃZª d"šš§OŸjL€ ÓëŸãú럫Øo*– »Ëúù.œtx¸¶ó4*{üy"0qVØÕ˜ŒŽéÈ'4g±A¾¾.Ý žÀŽ* Qû÷ïÇÒ¥K‘˜˜ˆ3f`Û¶mjI·2ŸÏ‡££c‹xÖ²‚h¼hVÔ1 .çMö}]!JZ:ð1Ô®5-ž9|}Íí O£ªÎáÂ××—*X+†º`JróæM˜˜˜àÀ*_;yòd$$$ÀÄD¹aäôôt¬X±¢Þå^*g;::‚Çkÿ%Å™Çöwžh×3QÁA˜3û#lÿóF›ê(.“H ‹!–To]1ˆÅbH$4Ž¢X).ÝŽùþS0¨OOtõèŠÞGâ¿ × ôžfFÒ¨¤$ººº°··‡P(Ôø½ÒÓÓ±råJ888Ô9‚ÁåVŒFuìØ±Å”Sò©¿öõYUÕJñzs¼ÞT=Ý ;bÈÑx¹}¥yáàóù:|…œøO©’6‚'¡Û0mÖ"\ˆË}áÈmD\ú ¿l\ƒé.bûG½H€šƒN:µ¸è ‘ ‡“§s›È‹$ß }?Díx ‘ŸÕ¼è"W`K´„}7Cì’ 2§Ð8’–bçü˜òn.† ¨ ¦N¶mÛ&añ÷÷ÇÁƒáêê ‡ƒ€€ˆD"p¹\øûûË]{ôèQxxx@WWNNN€¿¿?¸\.D"‚ƒƒî'''ôéÓ÷îÝ“ İaà ,€H$‚H$ªÑ «¯¯_ÑÅ16nå(-KÆ—ÿÊ7Õíü¶¡C=~CJ‰­³¼½½küt÷ @ü åáþ¹8¿nñ©.B»Ò ÕzrDD…CYff&zôè{{{xxx`áÂ…HMMÅk¯½†»wïÂÁÁæææ?~¼Ìˆüûï¿c̘1øðÃ---¬^½›6mŸÏWX±ÔÜÜíÛ·Gß¾}ñÞ{ï!55S§N…ƒƒ"""dçÅÄÄÀÃÃ;vìÀôéÓkÍw¿~ýpùòebÑ¢Eu>cuGDggg´šJ2oáïérÿo] D;m®Ä.9E|˜ëjZV‘“‘ŠôŒgÈ/,F¹D .O#c"6æ†ÚÊ3!!qqqðööVòO¥ö¼YÙŠððÞM`РA5^]^V€ˆ¿¯¢Tª¼t8µ¸bäææ"22]»vUzy(ê‚000€´´´••…íÛ·ƒÇã¡[·nسgÌÌÌj¼îÓO?…¥¥%‚‚‚dFà5kÖàÀµº¢çççãûᅦ––ÜÜÜðöÛoãÛo¿EQQôôôTÊw¥÷­ªv©×^{ sæÌQ{9®Ð Õ-@í_Ùˆßþç§~Idãý~p§¤+î^ߢ±zñ4b?}€¨Çù/þe!7ç8¾ZËsóæÍ ÄâÅ‹áííݨ¼=MJ„™È º’$lÙRsùõM\¼¤¼ø˜¸~ˆ#Ûk_êùúõë˜8q"æÌ™ƒ‘#G’5„>}úÈ(M˜0¡Æó²³³qóæMŒ7Nî|‡ƒž={⯿þªñ:hiUýƒˆD"0Æ““£²YZZÊuÅ”ÅÔÔTíÃöÏn­ÄîäÙ6_Ï'Σ_íïèÈì.ø+½¡æÜ”²‹°ŠxFÏôŒÔ’SSS€Mé)g³)Cæ“XèÖš–1”ÇÄØb÷ù¯áhU{­\£ÎÒÒRéò P-v•zpÏžÕÚú¨KH^|ˆœœxyyÉíwww—kú6Åé§1tn•ó¡eïy¸úóTÜK’uÏTÙ|0u“vu‹•>ß@4 &ŒQ¡µXŠËÇöâÐÉ3¸~7Yù¥Ð7µ†»wpX¹ZófÔa2¾ûâ•zÏ[øùt´4Ãùðëx’š èáÐÑC_‡×†zjTðI€ÁW_}…1cÆ`ñâŲQ°€€¹0© ÁÆÆ\.W6×kõêÕ077W öíÛÃÎÎNaq¦BZöÓ{MFri…˜ºOÅÕÐõÊS‘ʬžND=•§þÜâå=~¹[G’]“úœýÀá©5o{¯lWªÛÄÕ6ŤÙK1ivstß vîÜ9fooÏ´´´˜³··g” Q8^XX±îÕ‘#G˜»»;Ó××g;wf[¶la3gÎdæææµ¦ïááÁcì­·Þb¦¦¦ ‰DìÇ”]³nÝ:feeÅ\]]Ù€XJJJyÿÏþà Tï36t]°ZÃeˆsÙ’Á6²4Ûõú/K(käý”d_bººlSL–ÆÃq”dŸeBž–B8‘?\mKöíÅ¥Ó½´q:ãkqêMûöóM’7u‡iH8 0yòdfooß$÷:pà³°°hR’”>e †ŠdéùÌXÏrÅRÍ< ´œ-ñ²`>ËÎ5Y< ¿­dzüZàVÝdzã÷r”N/.dãp”lÄÞSM’·– @äˆØ®\¹‚ˆˆ,X ¿<°‹‹ ºté‚#GŽh<%%%°µµETT:t¨Ýð[Ýñµ×^Ã+¯¼Ò û•fÅbûw›q#µ\msŒ~ç¿ãã ±çK Ý„õç ±nÕ»<7¨.y.rÅRðtœð¿ï–hÈà›‰ëW£ûè ²òŠž.Ì,mйK7tïÜÊv2¥âgX>ïsd–+?b7þƒùåÑYãy‹‹‹C```£êƒ\7ùÑ#¬[·sæÌA÷îÝɤi²²²ðõ×_ÃÏÏO¶"Åwß}‡øøxìÞ½»Iò ££ƒ·ß~ýõfÏV®ß ÆLŒ»WNã·ß¯ _ª…N=‡Ãoô@Xêò4s¸,/A‡ãñÆ’¥(ÊÉA娢lZ£1¡¹pòð“‡Â‘W%ñѳ‹zžK=ySwLëÊôT‰ M]°FϦL™Â™››svvfƒf—.]jÒ|Ü¿¿^;PC»`’²LvjGØQÈ¸ÚælÜ—³°¸?Skɪ\÷k Ò]/®À–H)lµ!eÒ£P#pppÀ¾}ûš=...prrÂÍ›7Ñ­[·Æ·¼ãV– !ú|hžÈ¹\NÅ3Øápõõ_:ÕqFÏRlaâÍ«¾Ë×›[Â:À444<¸ïá£Ç*6D’¾GæGGžXli=¡çýäÛ‹W‡|Ý=º{Uߟ“žŽ7o=½}箞ÕDÜÑx\ÿØ(§¶75·&â‹Úò!D7+¤¢ ÌLA¹ˆ1&1F¾VÒH„̦×8.ð)@dY©2Ný¡…Ae:7;»žNÒ©äç¹9*ÿÖ†§¸Áà7Ž[)®¯,ÇÃáùrö‡)·‡pÛé Áãñœ=wža­J¥$ ùÿ?ýA©Q%•ùMàyç÷§ß©jU « 5`|ü¥ºÁàà5Ãð|vhxXÝf#ɆB˜I­•™iào{ΟšëÏÖ¤BU‚Â["Ñh"±ã¢Æét¶¹ÝûvÞ¦;¥‚û!€ÐívÛíŽâ²ÃÙØÕÓ{è°­``”~n B¨½½íˆÍ°=æëî‘Ä<Ÿ]ßÒ&~”‡„°÷´7 ûº.*ç²åaj,¿¡þÂZ-ÞN„ŸÍ€ÝvFc,ËDž¿#“R²™Iÿq‹€¬-~ìN×òÏ¥jðÈ»ŽÅا«IOoÿÀäë±Hè+!ºÞÂQYVR^Œ„‚ÏFž\ùgË“«ñ’Šh8¨óýÛzvSÝ œû·Ò< kaX ¨I‘ļ$æµåõgjYêÿê_$Vr²8B!â÷ûyÏ!N–eŒ1ü;둸Â1ÃöñuæÁ“B¨ï ­LÀ>3ìJ`¯F|Õ‚z/Æ"Ö`l1by©Hz8ÓHh”÷Èì£ÙÕŽ1BH•6TV®ãžì@ƒ~›YÕÊp=Ñ¡ Âs© Tq¶~”³C¯Pú‡ýÒR0;_ˆ´LŒZx°Ç®ÅeØ!Æé™9EjžõÃêy„ía 6:9@Á6ÚÏ´YDégzÀ¾ƒ•Ìt¨Â~a)2ŠkúÄxž•ž ®Y:EÕ–h¿Tƒ7̸kÄ ¦ßnwñú #„ôC!À˜h'U¨ýaŽÈüÇx=åó:AP×á0‡ ;ÍJìëÚZ„BHEBÏócŒ1‰ t²ŸÃqÆ8Øì6ÑŸ[7ÔNÚ?N§CæìP–¥ß/ü®ë¬ˆ±F<`I%ìs9ŽEáìÙ³ùùùEEE.—Óãñ”M.%Ëòß³õVJuÍ@uÖ¤p=x ô 2sØî]¡Ia¤QE)WøŒzª ì ë#ÁNÊ@¡¢kF™A8}³URåSFÝ—þ©ãÝZ¬Õ°l„XåXå•¡&©ŸÀðµC{qèùìÌdje†pz³æÕ¬pC§³éXÕDú+R†kí4ÕBbà ‘„Ây‘•x£‚~MõWe¾!ä3>!Ö¼¡b6ýj¤à 6°oõ«±NSÐZ£ê1hM ׫¯Ó| ©šyËöÛ$mËYC‹ÖºÉ£Q”1ÖIÒÔ×¢µ*…èôxu¨t_§ÈdÉE 3¯'ŒÌ†‘ q ­º‰Ûhdži¾±s «=¦Œ‚q6jîR»RYñu¢à… ç/_¾\XXðxзcFVЀG8®~F"a»c KÕª)¢`¶£` ÷`¢¦®eî…& U T µú²n­È=!ùŒ™Æ™ Š:fÕeDç’ÑÏ­ƒvÆf9+gàµ*x±æUTŸiœÊ2ÄZË6Õ¦T;èL1 v„-N³ÝÃiÆÐ`ÑŒBdû û(„Æ DçeÞŽ­éÜ1:{Àõ[vEQwöì®Ý»._¹Ô´Ifݺõ1–ÃöšÅb±X,ôŒ Tw8‚ HRD‡ræÌ™ß~ûÍëõÞ}÷Ý'Ož¤Çýúõ“eùæ”l–÷9NI’Q€bG „„Îb±Ùl>Ÿ/’?†²T ­¢R׌ÎßµzÑÚô`¸Éj!H»NX— ©:D§¦@mÿèìÀ¦š‹Y7?k*P•~ƒ3›5$B–éëôuÊÚE_gg±_§÷€fM Á‰AmBê@Dpæé#Ý´Lް4ÞÁœNß J•ç"Ù VŠä™†y¨o§ÖJÂùÂú9é8¬1F«Ej •`¶t4pð€±*.'$&ZÂ>TÎmÛ¶1âÓO?-))±Z­ôAÊÐAlÚ´!&&¶]»ö±11’$ ÏóUªT©X±âÎÝ»6mØ’’ŸH´PJŸ¹uëÖåË—FGÇ<ðÀU«V-..~ê©' z¢^½z‘º ¤¤dÈ!©©©M›6õz½êñMHCÆ)h³Ùž|òÉÛoo|ÿ ‚ *‹ÎëCûa÷ÎÓgLwâ$·ÓiP+ƒÖrºò @ ‚‚ªj! Z"PDH@ Ì  |†…^½a‘ž¨Ê3ЙN!€€„7ìCæŽ06ÝàRÔï (áW Ø1 x2œSœ¨·ÂpجôÚæSòTçt†•`§}#aãËi„ l¡ÛB¼©vQ B@‚Òµ.³/ >’¨]úÒ¾·3„F¿ ©XA0`[Â~wТ¯ )†Q[ÈØn™~ƒ 8šHÑÂÈ©‹6‰hÄ<ebC8PÖ ö9d ZEqÕ_£È”ŠŒ¥N:¨„(f¼^=  2î Õ §‚ý#A—FîaíÒJG„F“ÊRPYÚêREPm2RFNi «’5¨!äÓ‡ÔCù@j<]Å!áRÕn BÊ@û9øn„ Q4„Áá ‰oZ+T¼ÆÄ²µ+Öf® o' ´~˜)oµZØ—}gÇNU«VÅ„Œ –“’’Ê–)S¹J•+–gg®_¿ ^T·¾zõʺuëjÔ¨Ù¢yK»Ã.˲$I.§«^ÝzU*WÙòÓÖ-[6'–IrØ·Ä媶³S§.éii.—Ëçóa,§V¨W¥J•eË–éÚÉRÀæy~Ó¦M[·níÖ­ÛÉ“'ׯ_õêÕ³gÏ=z”âüÑ£GÓÒÒl6[ZjªÊBÇO/**îÒ¥»Ýn÷ùýê% 2ΟÏÙ¹sg»víuÎoÀ¾}û† {þ±Çk×®ýÊ•+/]ºTµjU‹Å²tÙò>}úºÝž¢¢BªÄÛívÚ ª…[­Ö_wî|öÙgzõê——§°SŠçy*…I’, ÏóÔΨ âv»ƒ¼ƒ`Y–€ÇãY¼ø›}ñÒ%ŠÇ6›šw¨êoµZ­V«×ë8N,ãK—//]¶|ò{ï;]î’’bÅTED |"%à—q@>‘ˆ"öIÀ/bI&>ð‹XÀ ¿Dü"eâ—I@$~‘HD娸ÌLeÖƒ¸Ç†ÍQ!=2H«³S  dÀB@ðP±ÐD “¡w+-|ÀFó Q±æ­|/Q¿.(\hîUØ)¤(ðFPe*ŠÝ?ŸDqE\=ª¯&ú¨bÈ(É*æ@.ȃ|žr! ª aÌÕ 3€,ÓRy%!iôD•‡-Ú=õstaŽEM¶ë†‚x„á¯DYP ǃT„”¿Å$B€*0ã2Ê„ŒŒxR¶Bó@B_…4€€¨™*„ý6E<Òâ,P‚Px5}È  `¦@PâÎ[åÛT3T< "«¢‚*E€iÛ´K KýbÕC+^I«ª©éàHíOª4AÑZ‰ß€R&@6Q&˜‚úÚ‘j v,¡U¦4+(ù„ yª \Ë€KCÝ« g…0L¬Åbñz½;vì¨]»N¥ÛnD1$¸Ê2„°L™²·7i²g÷î´´´ØØ8Öd»k×.—ËݪUkBˆßïw8û÷í«]§Ž?@×äö&+rs9R¯^ý?€¦¶³NºÊ—oӶ͈‘#{ÞÕB¸àËïøþ?üؤIÓÝ»wÛ°!„ùùÑÑÑuêÔ‘eù£>Ú½{·ê{>tèÐÞ½{»té÷ûï¡+„rÎåT©R•·ZeI2>V ù-V®\.˲°!„çÎ;qòT½zõ Dq±Fêñq±Ã‡{úéÁ§NEqóæÍC‡>'ËrJJÊðá/tèСfÍñq±Ã‡1b€?ýôÓ§Nöù|ôùEEE“&Múþû56›mèsCûõï¿lÙ²>xÿÒ¥K•o«üò˜15jÖ¼|ùrJ¹r·ËårBZ¶jõÞä÷22xøé§ŸvíÚ5mÚÔÕ«W-^²TE€×륰ç÷û &Oš|5ÿêÅ‹srr$I*((P¯),,d¯~!Ç}»re·n]«W¯²ú÷_±bÅï¹y]»v¡UëVó¾ü2Ћ[·nM©Zµ*@–¥Â‚¡( ùW¯B~ÿÞ={-œeàÀ‡ü~ÿ…ßs?V«V­ñ&tìаvÝ:AJJŠ………‹…å‚"‚D$LDd<– cY&†‚„™ÈŠ0D"a `"JDEµyá0ŒOXo;b3ǘóŠW‹ÁHȪmPëÚ"º)¨»ˆ°ò€l6Ø,ûZ@‡ª¦l4ÅmXŠêP 2e¢½J1Ò)Q‚ô/†Aw/ÙðaHÆ A±,F×ÏŒX¦6YK3°Ì†‘nØìx]²›Æ®U®©½ àg­ßФô¼ÆÒK ¢uœEÞd¼žŠ”vÈT Pg‘U`T øÒ@$:"ŒX¦ mDS/Ô1¢Ê*Ò1¢+¬  ˜7Bm!kĆ!y€ó 6O=0†zÁ 03¸N˜u.=O±c«°¦F>LÔM„ Tó„æ!ÑÙ˜ ;ÁEWõ)( †šDZ€°¬É{I4&!-„@Ý ‡¡Ä†9èÅ'«Åb±XDQDM2õ¥—^zá…², áã?Æ2–€dãy‹Õ®8„oå%I–%ùÛß®[»îÝ ïÖ©S'))iܸq•o«œššJ¡ !¨¤µ“kY:K3aÒvJ’ŒeŒe à8!„ Æ’Œe,K²±‘[•«HbbbBB‚$IuëÖíÖ­ÛìÙ³g̘A=¾k×®mÓ¦MTTÔåKÕy ˆŠŽöz‹%I ~Ž :ÞÙQ’C‚‰_ðV›Ãn'Zyœb³ÙyFFCŸÏ·`Á—c^y•¢5›6ðóŽCž~zä‹/vèÐqÃ?nÜ´ù:»Êãñú@ŽŽ  ^g à°ÛÔÁ@ˆÓ¨¡†ˆn«ÕÚµ[÷.]º@BÆŸàv»B¿üü3HÿyÇÏÓ+*ÀÎÈÉsçP0•"ÆACca‚ÆrÕC±T@xMa3|¹±ë7/m9Cx³ÏùãE‚`ä—GZ,!M„‰Þe+—é?‰°fe¨zÒ=äæ¿C¯S†¹‚©Ã¯%{=©&:kÁ¤´‘Õês°4+;Ñv¬&Køº‹¢é­%ÁhÒ.`ÿÖªbŠOZó*BÂ?Å]k^…Z…>|+ô5e‰ÖnÏX›•àqÀ./Fp‚šÖB]Ùc]æ$ ·êõó!d;#ÆA‚½aÍêjžhj§-Ûj<5]©¦ n2Õ„¢KwÄ‘k,xÍ`YJHLEÁçõB„Þzë­¡Ï=ÇÛlï¾ûn\\œ s²Œc¢bTË#!Àn·Ûl¶’â"»ÝÞ4³i£Æ’’’¼>oûöí+W®Ÿ/Jb@\N·Åbáf9£±%v‡cÑ¢Eo¿óöo¼!ŠâK£_ ø;uˆ‚®ì-OV0gîøñãN§Ób±$''oß¾]’¤­[·Z,–;väææîØ±ÃétÖ¬Qã ýC’åÔ ©;wýâø¬k˜ö"t>ç\jZˆ‘e¦L@mذaó¦Mw÷ëuêÔéÆñ‡’åÊ•œœœ˜˜‡Ãѯ_¿Ë–¶hÑÂép,œ;÷ö&M*W®üÊ+c† yðÊ+cZµnít:­î·ƒëÕ¯OÙh '¡Q„Qs˜UBf½PjTC9I¤é­qibz´… ™Ç0¾ÉP˜*T™k/¤š“Ú(¶&•"™£\¯+¸¨ÞiЉP]\1°.0T;aͺJlõ6 é|~Lµ:Õ êµ—Õ I(+Œ…Pì¾aÈ`Ö !ÃŽB VSªx¢ïb€atÝA‰û.år¨)k§º`C°Š”V½ŒŒ…„E'¬QŽˆÆ‘¯!Óx˜q$šŽQCÉ•i O5/ éoTì}ru +²a­þj£4IJ@cLn=‘±R"¨– ‚C7&ºÌ=ÔÊ1‚™Õ¦6*› hÁJ"›çtñðäZþ`Ff$×ôa‹¢“ššvâÔ‰Jé•dŒccb¦M›Fp:’("„.äþžœ\6*:Š·é'"ˆ*W®rìı¸¸¸˜èh€€ECª!PR\”^±UÉè]7­‰¨í}úô… ªT©’””ä-)QEjQ+Vªx8ûPvvvõ5C•(»Dè÷ó9yy—ºuë&cŒ1aÄ@.W.E”¤‰ßE±bÅŠS>þÈív‰¢8öÍ7ׯ_ÿã†õK–,ÍÌlúÖ[o-[¶ì›oÆÆÄtéÜÉjµÚ·k[¦LØjµ¨ÇêÃ%I|ø‘ ‰ +W®\¹òÛÇ<5µÂ»ï¾;ÿËù£FºýöÛzè!»„€ñ9€Üøñ‹/~ì±G?ýôÓèèè—^z髯¾š0a¼çÛ¶kwûí?ûì³®]»ôðܹ³Ë—-ÍêŸ5|øðO>ýÄétþßÿý_qq1Ú2&2˜L€b’L0Æ„™™Œ &@Æ@"€ ËôO‚ kL «*1 ÕaÄ”#! ‚:µ8«áа¬Ñ>5Æp¢‹Y Ù 0šZ­á¬÷ÕŠösÖZZ°ŒÉ_ýæ/ÆËNX£ 9 HȾF»Ÿ’rÂÄ쨡Dáò‘ ±y†Õš•@'%)ÀËÄÆ«Š?ÀÚðA‡0é$çèâÔtÑåD/Ü0ц´R¬H”éÙ 9Èæ×ÉÐ ,‘ X]}j •8­~ÙåH0·!”bˆé$×}6˜hýÜ´–sEp8”C BC«qÒÙÆ0ëZ´VÃXc4Lq¾™ßDQ²;œ-[µZ½jeLL¬ÇE0¶ÚlQ–!„ÅÅEÇŽo~G ›Íî÷ù”‚u@’¤ÆMnŸ?÷‹£ÇŽU¬T)è6Vƒ 8}æ D\j…Ô@ ®æý¶ÒΕ+ccâ–.[ÎóÖ¢’@§Î]Ú¶k_ìõ=z¬ysM;5Šß￘—Ç,»Ã‘——GÙ¼ysíÚµ?øàƒO?ýôêÕ«ôš¼¼¼øøxŽã8„ØÅÈÛl„Ö_¼˜W§Ný˜˜hú›ßë=rôˆ•ç3›6s:¾0uË BœÍÆS#0ÆXZ%Ífã9Î!(..AZ­¼š#!ôzKN§Ëï÷˲!Tu£ÌóV‹ÅB ¹X‹…ç­"ŒeêÞgïe­VÞjµB¼^/Í¥åyžã!@’$Qm¼Íbá|>!ÀétH’,Š‚Íf§Ù^oIÈò L ¦  Œ!@&S`&@HÆH0ÄÈ8x—L&“p1È‘B`ô3²NÊÓ#Dð„ÃÒÄ^ IªuöP| £Êœ‰Žï IDAT·f5aàa ¬‚:® Æ·EÎ { ÔÞi|ù!nCqïµaƒeT!g§1~h‚Ë ëå5†é…u½{;²ÍÞ˜ødäÂt¾„jÏiÏŒïšè=ëlP¦"žÖª®‡Fmé;½A7gI¨1~§Ò$¬“ÃN¶Põ?1×lm8ìC!Á`Ý0@c9'PŸ¡ é­f¯ª)a#PoŠL*#Ê× a´.…K@E•ãV”µÅº#õ¥Ú°“0/ãªàý…:(RrF!ËLõb¼äC:ajÆC¶°Sêjtyõ¼jŠzÛ·q+-¦D†. µbŒÆç«œgK¥\Û)Ñ)¨1èBqµuÓÕÕ¹V VÔ!êBf«ÐªÛY¨ ™hí…&±Ž°5@ØL:&J+¤Ÿ² Z1áÞÐ`4d#4ŒŸZŠWÃêÑV¡=€CCL4[€uÓ¨¥ñB3Öõ «mFJ`¥l¬OÜÒ|B„}ÿ"m H´Ñp‘ø˜ŽÑféE¬É®h.Ð :×Ç{CŸG» Çqn'?ÿê–-[Nœ8fµðA@Èm•+ß~{ÇSR\”9 Š\n7„`ÿþ}?ÿò³ßës{<>¯/!!¾IÓ¦iié€ðûo lÝ\;U;t°¥IéÖ%_ýõ¶mÛ&Nœv¿ó99Æý?xž÷DEA„€PT\ìr9yÞ).*áo¾a× JáÊsê«d‡Ý÷&B!É0«È˜®Ãû§#5ɸ›Sø´ZÙ  À°«¦L7Ѱ'Ä”ƒÖ] {ièÜó|MunÖŸgøpÀæ»°UU…„âÃ5 ã“×ÔaÕîá¡Õ´ ntÂøk³ =Œ¼+‚úx…PAJµÇ”­$»ªb"ÑÆ=•îÔ_oh`¶LLKØ"µ¡BIL¡Ð°{¼êq‚ÖúfªsƒtȺŠu@—ò¤·kìØl71ðH [%T¢bc¥9¿Æ¬ºâÿL WÝllq_ÚŸjYVC-[¶àyø]øÔ}Ãá²q7¶H<Šý:`Ød3,ˆêXÓõ°µH… #5éV±e„Ûãáy+–qqI1µ•"„@Iq1‰¼K¬Ýnw{<€Ÿßçõú<·ÕÊcŒ‹ K)ŒýW¶S£aëpWͳÙl‹E ÈÒ“±`™:6›çy:S‚ðûÿŒú‘Î1Yq›ÕTÃ-ªP¡+­ #\o™- #!}XÑN·!0nëÄÀª1ìK‰”QKük×!B,š¢ñõbmY#w`…ȘìXctØ\cبD*ùåèm㡌f­;Y›kÎâ7»÷u ÂnØJ]Ú§éQ_£¿j Ïèw•PñY±)Þ@~jélãšOfMZ¿¸VªÓ$çh£¼ 5m0!¨Æ!&r*œ‡\3¬A@—¼ µ t¹çš^Ö‡§jª££‰_Un܈yªeK›¡N»‹ñ¯ÓÒ‡ˆ »IZXv ´{yiÄ!6õú6·Öu2 »9zͲmaØcÒ×_¯¶‹eZ$"#½uphµZm6g±@$Iò’(^;ŸB»Ýn±Z©|IaëÏÃ,¶€I–ü~? {=l‹Fh"D–e¶ iîS¸Ò?j!ZÍœÐÕháóy•z×ê†OYAâXŸ½ž0¶¢µ†èƒNT‹» Ù²HÊœ æºÜ ÎÖB˜àc3È™G >'"Ìiˆ™Kõ6[B4ÜC»ÙŸÆqH S„ˆ½,TK3ˆXJ}nSûh»YcÊ ÃBnÁÇh³È´7m\ aã}"-R]>'(åºkY˯Sâb*´“MÔjªDÂç™è«ûöÀæ2iƒ¨ˆ°aQ¤ºa­£Fζ+ WOžè‚®ë¾a˯è\³‘ú$¢³‰)# -ÔV´Ó ÂMq{rÍ Ü'G¸*´ sž-Â8X™Œ < ›2Ãk6aÂ.‰Á£ÄÖ ÐÊ”ôÑ µ~,Dššk‡ º²zÁ ‚P™J ±-A°Zj0%Ãuâ3[Ü@]ƒº µ°A¨Á÷aBt×P~‡b@d[ âPh»p¥f@aa¦HDÊð) "5ÒêŠ @ƒlPOP2c¢EAð–”( j4êžUô*ŽãBeï ±èÔeN é ÈZ%ŠéáFFBÔÍ'"•r S!Ò ‘‘REK=¯ãL7ñ`,neä寝ÐÞKÂEo¥k‰®à€qè"€©•¡pNpߌ08^rdS\†‡•¦½›tÃ`Qš(`Œ+(•¯»®yo¤¼ñkâ¤9nLµ*Í×ô£A"‰‰„Drº‡­Æ§áUŒ©n+[Œ"„šù!Ý”i˜&Mœål˜qF„ ˆTNŽ)›i ‰,å&0Ž`ÚL!ïuë Ö#M•Üp·@­¥­â¦µÍ«„IB08 T#h(âZä fÒ­ˆ§Íia’IÁÒ­A¦œôßœZ­<=Ö—&å8Înwü•,cìóùL-íïÀ"6ÇÆ$“þn+Õ¤ÿ i!+J"üKæ$:*ú±Ç{óͱJÕ·[,˜˜l’I&™dÒ¿DxS£ÄEQ@ˆKHLüýÂù¿ê8Ž;wöL³æ-qqñ-¾(¦în’I&™dÒ?šhŽY(J<¤ô2Dµ^žçý~?ÏóôŒÝn¿%ç=°X¸­›6úüþ[û…—.]š9û“%‹Ó@w“L2É$“LúGSø”/‹Å²âÛogòÉ´éÓAòÌ3»wïÞ½{÷gžaÚôéðüsC‡îر#¸+6Ýb²X,;wþêp8Ì0:“L2É$“þD¨I<!$Š"B(!1é÷ ç­Vë’%Kî½÷^A€Óé¤;FÛl6¯×k³Ùä¼Ëåš3gNVVÖáC¿µïpçÚï¿óßR !´fÍw{÷ÿ6Þ\ZºÜ$“L2É$“þ‰dµZ©IEúyæ¬Ye^¯W–eY–©y9üÁó‚ Ìþä»ÝnŽ„I&™d’I&]YžõûýË–.-**H’D7æ„Z,Žãþø[ÙçkþpÕçÃ^ ; @˜êó&™d’I&™ô¯lcÍ1›ÍöÐÀóçÍËÎÎþüóÏOœ<é÷ùbbcë×k0hÐc¢(rG·¹E‘·Z­!Bˆ(ŠtC„Ý9 ¨×K’$˲ÝnhàÀ/çÏ×µ†ã¸Ý{ö”)“”’œ"÷1->~üx­ZµçΫZ¥Ê¾ýû½^/‚ÈÊ[ccc+”/‡1à8nß¾ýuêÔÆ×ÚÝ$“L2É$“þAÄhAÃÆW®\Ùb±|¿¿{·n 6¤ÏW‹¦ªÄóüK/éÞ­ë£<ÂqÆxûŽŸ'¿÷Þ—óæB¾øb÷ö;ã²ú÷“$Y–åË—/{<î{ p8o¾ýö’Eßøou´¹I&™d’I&ý(¼[Å=äóùâãâ6oÚœs.BX¶L™®]ºÈ²|êô©©S§6iÚ¤]»vÛwìp9ó¿ürݺu>pÿ¹œs³fͶZ­§NŸž>}zffÓûî»ïèÑ£S§N½½I“®]ºÌÿòË#GJ’4𡇨c[+G˜˜˜ø„„£GA8zôhêÕBÞÆL,ËÝ}ûöêyW¯žwÝwï=›7oá8În·›1á&™d’I&ý·ÛápôìÕËf³ 6,=-í©§Ÿj‘ñÈ#œ>}!tðÀÁŒÍï¸###£ÿÝwC„>ûì³×ßx£jÕjÇ [¶|™Õj•$éî¾}5jœššºwïÞZµk7nÔ¨fÍšõëÕË>|ØépôìÕËãñ_Íó|íš511iÞüù:wnÕºõ¸qãÆ{'4ÌhX£Fûî¿¿VVQQq óò˜Í›75Íl6cÖÌQ/¾(‚ Š‚(Ò§5hРF>øP£F>þøc€Õj;w.-¨b$QÛ·k7hÐã>ð€?\Ù—Ëåp8|>ß²åË—/[ÞµK×Òµp“L2É$“Lú§SÄ<ì%‹çççשS»^½·ƒ}BËž@ï¹çžû1111S§L¥i]ôšþýúÑ_©*ܽ{÷»îº Bˆ1¦ûi.Y¼¸Ð‡ °Z,„žçË¥¤Ð—ªŠ8Çq·ÛÝ¥[wŽC±1q 3Þ~ëM»ÝŽ1¶Z,æpšd’I&™ôo%è÷ûórsB’*Mêp8î»ÿþ_~ÉÍüÉf³Ýwÿý ¿þzßÞ=liRBˆÛí...VëŸB[èÔãvC „I’A ¶wöF³4©I&™d’IÿÅÚbÅ'%%Y Ê¿aŒëÔ©cÌ“¾UéùÂ’’¶Z„PM­öûý¡Ãî[ôzÝ&™d’I&™ô¯  F‡÷aK’4 + cl±XÜn7ÀápÐ 1Ýn·ÅbùƒçeY•eÌÃ6É$“L2É$“ÂRxÀ¶Ûí}úö]³fÍÚµkë7hàóù?ýôà§Ÿöù|õ4X»ví<_RRÒ»OŸ°yØ&™d’I&™d’‘ ßïS|Ø’êÆFGGÓ½¶œNgaa¡Óéx½Þ¨¨¨[u¾¨¨èÄñcmÚuøaíš[ëiæ8nÕêU{÷\øõW^ƒ Ý$“L2É$“þÎDƒ¯i”ÅbÁ'%• Y !,,,¤Çô@…½[xB?zÔ‹ÕjÔ•°[c7€ÐátµlÕ6**Úát™co’I&™dÒ?ˆxžŸ:eJÇŽ¨7YѰ}¾ÜÜ\„,‡4ì`³?_‚€rÇY,àV>BeIf šI&™d’Iÿ(r»ÝݺuŸ ¢u® „/^¼xñâ-DÖ?þLº‰ó|÷EÂtº‰Ápº\ÀЕÂÝ{ö4hPÃ?šµJþ£3,ÂÜ0É$“þVëtÿþýû÷ï§€š—————wk_ñŸi·Û?üðCžçÍÁº1À&„Bìv»Çãa5'ZhŒžw¹\B!B()1ÉìåÿºüBÈívsG=ú'ÝçÎ+„ÃÜÅÜ$“þb¦ÐÙ³gÏœ9CÉÈÈÈÈÈ „x<›Í\­ÑcÊÞé‚Õ­e&h¥ ÇÃó<ûL¡Ëé¤ç=ÆØápð}jÖ®=mú´ú ¤¤¤<>hЧŸ~’Ù¬YÝzõæÍ›'Ë2ÆxõêÕ-[¶¬^£ÆsC‡ÚlüÀ‡!9%幡CSRRjÕ®M1%66¶VíÚn·{ñâÅÏ }¾S§NM33V÷]‹–-ë7h0g΄пØqnú(jBA(u¼_}õU—˽wßÞU+Wª’‹Ãáxó­·Ü.בììU«V}óÍÙ³fM2…Ò¿ÿ+W®˜‘Gÿr5ZcÕ„ºÑ Æxý?NžùÄ_Ì7nBhÊÔ)O~ZE32Å$“þ¬¥Š1QT/z&>>^åÕùùùêyãÛ*ßv`ÿþÕ«W?øàƒãÇ;°ÿÀÊ•«F¼ðÂ÷ß?kölv-W¯^]­|e³ÙÞxcìÂ… «U«:eêõ]<Ï¿õöÛýû÷¿çžo¿=Žã8@ˆ…㎟8¹öûï¯^½úÜsÏuìØ‘ã¸½{÷®Y³Æår}øá‡ïðá¼yóÊ—/âøñüü|¯×ÊZ"„#„Î圛3gNrròÆ×­]»páÂ(gÌ+¯üòË/5úç³H1 3Ð×Gåæþ~õêU@HbR™Zµj­Y³fãÆ~Ÿ¯cÇŽ¢(ÒDj«Õºöûï[¶l9jÔ(ÎbY»v-Bˆþ”ŸŸ»uË&‹Åj®–'AœœR¦LYA9’-‰¢$Iw4oyåʕݻw‹¢8uêÔ¤ÄDQýõWÀ›cÇ"„vìØá÷ûëÖ­»dÉ’#GŽ;~<&:¦E‹‡¾˜— Ìô;“Lú¨FÍšBI’Ž=‚1–eܺmÛâ’aAA l.—+«VAAÁwÞép8úõëWPPйs§‘/Ž´Z­ºµ,‚z£$I={õœýÉìèè謬þêfÇÇíÚµkúÔiEEÅÏ<ûÌü/ç|~ÿèÑ£!„åRRÜn·,Ë111}ûöýè£ŠŠŠQ,**òû|„üü|ŸÏÇ[­j–WðDQìÙ³§Çã)**ÊÉÉÉÍÍ2e äĉ999:wÙ°þ‡²ÒH\nOùòåÛ~£-ºm? BçΞkš™ép:±Œý€Ífóù|‡C#³êÞ½;Ýò²OïÞj „0ð7kÞÓ7ùï$¿ßpÿþ´´tIÏ;×»ÏÝ’$~@•*UÊ–)³áÇï»ï>Œ1Á¸CÇŽÉÉÉãž={ÆÄÄp×¼yó%‹—lÚ²ù« ®^½š––^±R%³WM2é–KÖ§Nž$Éf³I’„–-[ËB%«6¬ñ c¬YCdžµ¬Þ"‹/ŽBh·ÛÜ3`ÔèÑï¼ýöâ%KztïN/ ‡|èó9s^í5 0iÒ¤I'² ]õv›ôï#ABB€…ãœNÇÙ3gèjŒŽŽž8qbß»ï–$ùá‡êÖ­Û— ¼úÊ+.·{ÆÌ™=ú¨ÇínÒ¤Éÿ}ö}ûôõx<²,™]j’I·®!ôù¼Ñ ²:NLpaA>BÈf·ÿ~á‚$Iúšlæ4s,IRصLµÙlÃ_1â…á•*V¼˜w‘½«mÛ¶ÓgÌ8pà›cßbã‘!„j:‰,Ë…µjÕÂO›>Ýn·Bb¢cNž½{;ìv€ ŠåRÊõéÛG’$Öµf’I&ÝòuV‡nܨѤI“»tíºiãFÊ·eY®Y³¦$ËTýÕûýþ:ײ Ì;uüôÓ‡&Mšè÷ûé3EQöüócß|3++ë¾{ïÛ¶}›Œqzz:•0!ôØív÷îÕûɧžr¹\²²~ûí·¯wôèQO=õTÓ¦MÇŒ3aüøW_}}éÒ¥ýûõkР,Ë*ÖBªT©2èñǧN›vþüùÍ›·mÓæŸŽA¥4ú}^¥4©Œ*S¶ìŠeK»v¿ëÂù¤Øìv;…j¿ßOÕnê®¶Ùl¼ÕJA£oÆýë)œ=s&£Q£â¢âÖgÝsïÙ3ghp&B§Ó$Iâyžçy¡ @ÀétΚ=ÛjµÞÝ·¯‰Ö&™ô§Ò¹sçÊ&'ÛxÞëõÒ5[Ÿ@9Žã U¾M]ÂÔ[l<°k™õaÓŒ/ª@QÕgJ’t.''³iÓÙŸ|²~ýúéÓ¦Bü~?Zu:ô˜ÞNã8¯×g³ñÔ’ïóùhkB‚ ð<_TT¤>?¨wZ,6›naT3þ?UÃæ¸ ?®ïÔ¹ëíMn_øõ× Ç]WiRúÙ@@Ý»šâó½ì°Ai¬É‚ÿ³ÄÎ *ÒAEQTוÃḣyóºuëŽ5ꯩWo’I&¹:!D]¡*ß...¦‹7Ò1»–udbŸ)IÒ¬Y³ž{öÙĤ¤·ß~Ûï÷Ót´Ø#ŸX(E¡ÐÙÖÒ+X#Ë2»+ã¿;­ë?*·¼dî?â{­eÏü5ßâóùÖ­]ûê=“L2éÃáxû­·Ô?eYþw¯ú[ÂÖJ©ûb‰p®Xé¶e‡žV-Ø«’,ËmÚ´Á÷ÝwC† ©R¥ÊŠ+„mZ·þ#B*›ÍfµZ„2Æ‚ „uz]O}þù‹/>÷ì³EÅŰm¥Œ‘Ãá())¹µ» Bàƒ?XµjõòeËÆO˜ðʘ1[‘g‚1ŽŽŽ.,,¼U­µZ­<ÏsaBDQ ¶«‚UPPðWêC·¼ßLúöž=»_û–,I·v”éŒ-.)&˜„ýµJ•*›·l¾˜—§¾÷¦ñBhµZK¹ÑbŽtXÔ¹UlâË úíã?Lš<Éï÷ÈÊÒEG#„Μ>M“("½]Ū°éõF˲\·n]Œ±Ïçs{<’$åççÓ‡Ó›èúÞ¢¢Â™3|»råÅ‹ÓÒÒ ÈêÚ¥ -9TŠÝx’çùY³f·mÛæ®w-Z´èúGJ×¥t¥K—.yå•ÿûäß­«!ܱãgáŠåË‹ŠŠNŸ>"·ó†æ[lLL­:uvïÚõ7Ä£=#Ëò²eK¿\ðõéÓ§»uë6 +‹n®pÍÁŠÔù×ìp§ÓY§n݃û÷þe‹úVõ›Ig’eÜ¢E‹+VÜZÉBرcÇ9sæ”)S&ì¯N§Óårç‘ÜRVÄu¾èš×˜€­g@ÁmÛ¶¯ýᇮ]ºT¯VÏ»9 +.)Ù³gÏ‹#GÆÅņ>7tü„ñ=ºww¹\[¶n™5svQqQï^½ªU¯¾mûöûï¿?66öÛ+víÚõùç_ìß¿@øàtîÜjÌ6 IDAT¹[÷+V,sØ€½{÷Îùâ‹ñãÆ½÷Þ{?mÛÆqÜ#<Ò±CµyV«uÆŒ«V¯"´mÛæù¡Ï[,Öõëøvå·¹¹yµk×~aøðòåËßV¹òüyóè{Õ²²O™²eófaß¾}'Ožœ˜˜xc&©ãÇÇOx·cÇ;7oÞ•““3aÂø‘/Žóò˜¸¸8]¼ „pÓ¦M‹/>{ö,„°råÊw÷½»I“Ûi1#ŽãNœ<ùÈ# „ØŠºÇѨQY–Ýnw¿þýß›<9!!A5˜#„–-_>lذ6¤¤¤Ðéݧω'ŽfgçЀ)\B¾˜3§°°>œ¦2ÒŸ¨ŒLIE‹Åºùé„aÛÃâSAAA¥Š•Ün7͇!†Æ#„¾Y´2`À€@ ÀöŒ*ßB°,#殫ùù‡ûíò•+lÛ0Æc¶=cÚTj[CÑ3*ŽrwåÊ•×ß[¡B…o¾ù¦\¹r………³gÏ~aĈ#FÜV©’.1†ã¸-[¶,øjÁ™3gG»öí=þ¸ê¥»|ùrÃFgΘޱcGzñcÇΚ5;/÷wZšv8m§×ë=üÛo—._¦­e;œžJÔ±z ÿ‘:ü/è7“þ)tËÇ !îÌéSÞ’bu¦©¬ÀårE²BÜnOÂusÑ“'Ž_Óìd¶­ý~ÿÇOùý÷ÜóÎúíÐÀ‡JHHhÖ,óæsI}>_Ù²e©Y¸lÙ²>¯OÅ’’’… ¾ñÆëÕ«UûaýúNwÞÙ¼yów'Lˆ‹‹+..>yòäÓC×®U+/7wØðá:txôÑGæÍ›÷Ô“OA„fòÉóC‡~1wnbbâë×çåå|ñÅÌÌÌ訨`Ïœ¹ðë…õê×]±bƘÂY,ô±Ëåš8iâÏ?ÿ\¡BÇÓ¥sgúÞÄÄį¿þ@7°Z­ýúõs¹\7´BÀ»'Ž;¶qãÆôd¹rå>øàÃ%K¿þÆï¿ÿ>»Š¬Vëúõë¿\°`ôèÑU*W–%éȱ£Î_PŸ¶ÿþ#ÙÙS¦NO­PÎ+))YºtéÅ‹ÓÓÓûôî½oß¾óçÏO›6-..îÙgŸU‹ëqÝÑìŽyóçyùe,“eË—5jÔ(77—nðý÷ß:tÈáptíÚ599¹¤¤dÕªUÝ»wG}÷ÝwûHKMëÑ£;B(ûÈ‘ß/\8}ú´×ë6lØÂ… [µj¥Û‰îÛ•+³³³«U­Ú£{wA1þ{½Þ%K–ØŽC‡ 4H5],^¼äÌÙ3 }ûô!„¬ZµÊn·Ÿ8qbôèѪãÀçó­ZµÊét=v4µB…¶mÛnÙ²åØ±ciééÝ»us8“Þ{ïñÇ;xðàÅ‹y'O¾zåjFÃŒf™™Û–.]zúÌ™:µkwêÔ c¼jÕªää”­[·THM½«G5†òÚë¯?ðÀ½zõ¦ïŠŠzþùç[´hñÚk¯~ðþû¬…ã¸]»wöùç/]½zõ’’’Õß­fUazzڮݻ[µje³Ù>Ì[­11ÑtYíܹsûöí˜͛ׯ_!4é½÷ž4ˆòÓO?mß¾=&&¦[·n111>ŸïÛoW:öC‡¿4jÔþÕªUSߢëC;S»ã/è7“þË¡Êv›mõš5wvìHóÐ"•$ Þ¦Ô-Ý¢výf6|ì¸î7í,ჟ6\”¤Í[6'$$$$$Œ~é¥C‡Ïœ9ÓbµÞ¨}#Èe”m¬‚ºBAdW«VÍ´hÑÂëõJ’T\\\RR"c¹yóŸöYë6mz÷í»þÇAh߮ݑì#ùùù{vï‚6hÐàè‘#_/\غM›þYY+V¬?± Ã_xaìØ±Ýºõ æMY’š5kFw–­˜^Q6ZÖ ¸¸¸¨¨ˆV“¥N>ZXÿ†öHµÙlsçÍíÖ­;EkµÆ/ W¯Þõë×_óÝwlD›Í6múô—F®˜žîóùìGƒú :vì¨rƲeË&$$d6mš™™)J½å¹¡C““SZ´h±{÷îÏ>ÿ<===!>>33333“õ”‹’Ô»OïíÛ·Ÿ=›ãó{׬Y3ð¡‡DQäy~ÊÔ©/^ÊÌÌôx<³?™íóù¼>ßÒ¥K].×’¥K-^|ÇÍöìÙóÅs­Vë‘ììI“'—/_®Y³fÂyóç³e-ËÂ… wlßÞ²E‹›6-øúk›Í¦Š#µjÕªZµj›¶m©$îr¹ž6Ìf³µlÑâÊåËÓgÌp:µjÖd¯QÁþqïdffþºsç3Ï>[TT”™™¹kç®…ß|5uêTžç³ywâ¤2e’êÖ«»xñâ}ûöY­Ö9_|±wß¾;š5[øÍ¢¥K—¹\®Õ«WϘ9##£A­š5Õyh±X¾ûŒ†½zõ&„Ì™3ç®»z¼ñÆXY–7nÜ¥K—yóæ©ßB¯_ºté“OŒòDÝзÓ&Asss9B™‰zòš¤nþL¨|ðÁ‡çrrÜn÷§Ÿ~:|øð%K–}ôÑW_}õž{î™òñ”‡HwG¿~{ ÏónûÄÉi©i€'O¸ÝnžçEQ´p\II‰ÅbaÙ!Än³¿öÚëµjÕ>^b#M±pÜ£>úá‡dee¥”+W¦LBˆ<ùÄtÄ›5k6ä™g|~?€³Xl6Û¬Y³fΜ™\¶lÍ5ûge=ùä²,÷êÙ³uë6¢¢¢9Ÿ®3Ì›?ÿËùó=OÍš5ïî×B·Õj­T© q£F—.]¢¶É“&ÑÆ7kÖ¬MÛ¶£GR¯Ñ]ë׫? kÆ8%9ùÕ×^0`Æ8%%eüøñÏ Bu_Y–ûöéÓ¾]{a^nîéÓ§333¿ù曯¿þÚãv§¦¦z≇zP”¤§®^½:`R`9ŽÛ´yó‹/Žlݺõ•WÆíرÃãq:ôÞ{ïkÛ¶Í!CÔ(9áå‹SÊ•S £•BØ÷î¾3gÌœ0a¾ýúôéKgBÓ&M2›6¥e9R·n]«Õjá¸%K—>ùÔSõëÕkÔ¨ñðáéS¦n:}z÷¡¯èß¿?Ëm}8jäHVnø³ûí_@111UªTi–™9yòdÚá—.]zõÕWgÏžýìþðW¾‹ÙóÏ??cÆô’ï­zæ¾ýûßÿƒ¢¢¢Ï>Ÿ“––Þ£Gº]–å±cÇ.\¸°C‡v»½gÏžM›6½!yâ? ØÔÈvêôé×^}­JÕª‡<þøã³gͺ£ysáŒ3 ´aÃÆ€ø|¾æ-š×©]›U>J'—ËÕ¼y‹iS§õêݰxÉâV-Zº\.AÊW(?wÞ¼úõê­ÿñÇ7^=%%eó–-5kÔ¨_¿¾Ëå**,:~üø¡C‡vïÞ äy¾aFƼùóÝ.Wµj5@Vÿ¬)S¦¸g€Ýn_½zõ3C†¸™BüƿлWÏ’’’˜èºßމ%IʲL‹èîÝ»÷îÝ[¿~}›ÍÖ÷î»'Oštý>l„àÕ«Wi”»1Ù:66¶° P·WOrJÊéS§RSSó vlÛvåêÕgž}FvAY8nÞ× —-]’_P€ ôûýÁH.E,`/ážf̘ ,hß¾½ÝfpËÁƒ¿Íž=ëÄÉ“ãS§N½4z´ÚÎ+W®”/WN„Ĥ$Z¾‘Ü2ˆ«Õʪ“'NÜݯÆAX!5µ”…gµZ7lØ8oÞÜܼ<á™3ghAØïµÙí6›ÍëõÚívϫǒ,³q†n‡Úè¬V«Œ1    )1±¸¸¸\ùò—/]¢Ó;))‰LéëŠ énKW¯^½|ù2Ïó‚ œ:u’òô+W®èBã~¿p!%9™ö­dÌ^#IR«–­ÞygÜÌ™3+V¬H_”——7}úŒ½ûö«W¯Ž3Fí¾‚‚‚ä²e !4L„ÎL‡ÓI³à€²ÕºêöZ­kÖ|Ïö!økûíßA²,—MN^øÍ7=ºw§£‰ á8îèÑ£T@eggW«VíêÕ«~¿¿¸¤Dââ⢣£ÏŸ?ââã“Γ“SXXU¡BÀ¹sççÅ‹y.—+55õܹsÇ•/_Þív>|¸¨¸xï¾}·Uªd±XÀ¹sçAHLLLJJ9r$>>þüùóåË—¥Í¸i ÇÆ+UªxC–Âk*x5ªWß´q#å ~ŸO-È}=$ÂË/¿çyëˆÃG¼ð„Ðãñ\ºtéú0„°[×®½zõúé§Ÿ~úé§^={uíÚ•&>=þØã€u?üÐ¥s—’’’‡>|îìÙU«WBž|⠋ŲjÕ*žçŸ{î9‡ÝN©U«VÍš5Ÿzê©@À/IRÆO>ùį¿þºþ‡Ú´níp8BaQ|ðû¶lÙºwßÞwßà÷û«W¯^½zuŠ:ôX„‡,..îÒ¥‹Óá „4nܸL™2K–.å8Nž}ûÞ[–qµªU³³³u(zœ––Æ.¼@ ðØc½õöÛgΞµÛí‚$;vŒÊÍ6Û¤I?øàƒm?ý4vìXµl¡(Ôò¯»> T‹Íh˜AÔœýÉìN:mÞ´é믾¢ìIõêÕ[´x±ÇíÞ°áÇÛ*W¦­Umû<ϯ\¹’-’ƒe¹E‹–'¾»ó×_×­[7pà@ä@‡Ãñú¯6lû¶mÓ§O§ã%Éårr.‰ºQ}}ø)Çz‘1®\¹òÆ=÷¢o¾©W¿¾!š–vôèQ@íÚµ›5»Ãï÷—/_ú³>\½z5V4‘$©G3gÍ:sæ4u¬¬Y³F¿Ë>ŸoÌË/K’ôਣóóÏ?Ûlüw«V}·zuçÎUÏƸZµj+¾ýÖfãOžü+ûíßA¢(>=xðŽíÛOœ8¡~ ÇãéݧíRõøÇ:tè¢E‹~óÍ;ãÞùð£/^¼páÂI“&Ÿ9s†ã¸?ÿlXÀøñ8Ž{zzJ¥R‚$½ºx „ÂcGJ¥RZ“…|hݺu›6m`¿EEEAü1`@ôŽ;vîtppø˜—GP¡P,Z¸`IpÈž={„BáÜ9stpò ť˗[µjE+ìjfÖ¬™›7/Z¼ØXhÔ³gOÔÃ3¾—¢(¹L¦R©&Mœº”$ 777ˆ=W¿~ý°°°Ý»v]¿~vÂëAq|ŠNAÑ¢¢"„ñ|º/µZ={Ö¬ðUá+ªW¯¢P(hêlÙý}|Ö­_×±cG{{û]»vçäd›˜˜Ô­[<~üfÖ8A®-Z‰Å«V¯ÉÊÊðùm<ú ìƒÒRS Ö—‚¾³Xm=Úº´hald¼`Á| ×ç>ŽãG:ñòáCÁÌΫu±ÙìÐ¥KëÕ«?sæLæÅ£G²¶¶ž«˜o?éTëêØ¹óo¿ýö÷ãÇfùòem<Ú6qt\°páÉãÇëÔ­û÷ãÇr¹ÜÔÔÔ±I“§OžÄÄÄPøôë8uê³ ðõõ­S§‹ÃAŠOÇŸ?{æ3`ÀÒÐP Ars?._¾,áÁ•JU$‘$ÄÇSEcäçç/^²dGt´J¥ÊýøqùÒ¥GŽu¨[æÊÓ ¦ì~ Ã:tëΟgÏžtìØ1&&ÆÆÆÆÖ¶æ‡™_é/éڵ뾽{­jÔ(Q9àóùr¹&eQÅê”/¡°ZµêpEmß¾}âĉcÆŒ‰ŽŽ&I&sÂV8¶´ÔÇSS’½ºõ8r(Ƴ]ºZÐVV5~õ3lýårùï¿÷»|å²k‹*•’Å–å.i4š9³g/^²xüøŸþ––ïßgìܹ£aƒA:ØœtTZ)̤Ý ót™ÏÑWoKôÐIºÌë1 »z-®víÚ´Ø(ñ9$IzzzvèÐiŸÑ¯Púàéw,ãàu›õÛðæPKáÏ—\AJ¥rê”)«×¬îÝÛ{ôè1µjýöéSþÉ“'¤IHHˆ ìÿ¬ÿD3\'RïâÅKõêÕ+Q©b^lll¼vÍÈd—¬™ªáÛ†´Zí¬Y³GŒ9oî\ E)x\nnn®¹¹ùû÷ïiu9©:L’¤S³f;wì°¶¶V«Õ¹¹¹L$‡³zÍê.]ºDEEQ5Ô×—6ß!o1 Ã0ìSþ'SÓ¤gÏjØØè$ "’œœL/•ò’HTУGw¸Ô;thãa+L(нÿN.—1— Ìã/%[gEÕ­[Ã0ºHÇËÍͽv횯¯¯Á%^qb±XoÞ¼¶´´DPTÿ îK’à—"Ç©/ü¶bEüý„¸kW Åb«êÕƒƒš4qüa룠(š‘ñ~„ŸS—( ‚¨‚â(UIr¹|ú´éIIIwîܹxñ‚©‰IçÎ[·j¥¥X¹„aØÓħ ,(‹_ ôãÊ5Q`­L–¼dÉ‚… ---ÕjµŸßð 5jØ@¥RFµéÛjµzÒĉ!!¡5mkB  %‹+‹c‚ œ›7ððÑ»wï4ͳgÏàÖªÑj/ Í›7[½jµ…¥ErròôiÓaŠ)=Ý|¯‹——¨ ‚0–‹(Šzòä)l›˜ß¼y«ìç˜_z$Š¢†ååå]½vM­RQ´qwoÔ¨QéyØÌ!5kÖ¬]»vÏŸ?§WõþýûÛ·o_¾½×ð5èï)ÙÙÙ5¬­iÿXé¢+þÞÝÊŠkøY>ú¼mmÓß  #±u«VmÜÝ?N‘$¬_ûc¾ŠZ­^0><€«o““eR©¹¹y÷îÝ1 ›?o^VVŽã,kÈà!ÉÉÉJ¥êüöÛob±ŽíóRQ*cOªð6ݾzõZ%ºLLLL^½zuìØ±æÍ›ý1`@Èá7U½zõ°°°áÇ3fРAIIInnnåúâp ”X­ë×%…BÑ«W¯C‡[XX¨T*6›]úÊP©T}ûõÿ¥XDQÔ•Ë—¾ôÀ}ÿg‘[t<ó¯¹Úõ'뛲ÂÀðïKZB éBþkµZ$GŽã0"`ccC„……-¤Kl#bggggg÷ùáZ-Œ[ʼnŽë ÀÞÞ¦üQÅãñš6mJß hÖ¬=6˜¸ñ•ŠEQ-[¶¬,¾ThHHaaáêU«¸\n7:ã¬eË–þùçÕ«W322ÜÝÝË8¶ÏE5¡À6“ø|ÞÉ“§7nŒcXYLgALLL*à·ùaéСCZ­vøðá%þµ8Ý˰p d ŸØ¿Rzqzf@‰—•rKY2}à_)h+å!̧A•%:*J¡P”Ë-G æêÕ«Ó‡Ö:Ù4e²° ËW‡4m£F 3³²ÌLMµZmYòâIò?%½ EnNvzZ*Ô9ŽF£m33S®² d _0§Ã•Ôj5Ý.=H)Lô ƒÀÖ%‚ ¬¬¬Þ¼}ûM£o~x…™6,ëÄÉ“^]º@üaÅ +Ä@2Ðì<¨tR©Ô÷ãï™›™éÿ‰æû‚ñ#ÏÉÉ.“;)GyMÊàádNÀ¹sçœ]\)ý[ß顳bþ`I÷î¯^½êäÉc–Jm È@ß•(±¸0ïcn¥§¥ìˆÞþÅœFR’ß–˜õð9»¤Ì@¥ Cñ/]Zýøñ#Xm·\ õ‚¨TÊ &&$ܯW¯þ–-[`=柗 ELÌAss‹üü‚mÛ·O?þÿr&P¢þ µQ1WGVV–V«­neE„#ø¤Œ]ÆéNKK«S§N‰nŠ"?~Ì‹ÅuëÖýøñ£µµu¥ .AОJ ±þ¯†¢Èâùª-³b<ÿ¡Xg mëvpp¸uë¶V«5·°¨âÞ¥Rsm«Õ¥RY…†¢Xéů(°)0+%ÇšV—¾”cãx‰\]¹r¥½½Ý®]»<¸jÕª 6üìΆ­‘‘Q*•J¡Tr¿ŒGKëÄÄĤ¤$©TjnnÞµE½ºõ i®ã{tð¤V«U«ÕLQãø­[7cOŸ¶­iÛ A¹B1hà@}Ìm§R©tÐËY,‡Ã‘1Ð%y<Š¢2™L³–Ëå7nÜèÛ·oyÏæy<^ï>}2Þ½+‹õÿšž–¾=: P`þüùsçÍ;rø°ŽÇ ÐA))¸\nddd@@ÀWF@ΰÙì·oß>zô¨  @(6iÒÄ©™ K†‡¨L†Ñxº´Ä­2ž ±X,5ÅDÜ3І‚hÙªujJòwéÎFäYRÒ–-[ E¢Š=ŠÏçi4š/UUø6ŸÇËÌÌLKM­°ª ˆ±±‘~2ÜéÓ§oß¾2dȪUá?¯®Ša‹Å‚YÔ´'œÅb±X¬RxF’dØÊpAºtéllb’›“»aÃ&'§&“&NÒqR … 'fddà8faaéÞÚ}øp_‚ éÀKÇÏ;Ô¨Q£C‡³K ýãp8+ÃÃGɬ€¢èÝ»wwîÚµiãFx¢add´$88';{Û¶mִ̂f`ggW`Š ¿¬·<^¼|éÜÜyøÓ¬2' IDATðáÙÙÙ|>_© (zóæM€§§gÙo‚ WR…f>Ÿ¿yó–gIIýúõslÚ´H,>{îüÙsgçΙ«/­a@ÖÈ-ññ÷Õ*Uƒ† }‡úÖ©cO–U Ï¿†H’lܸñ ýÆ@ÌN«Õþ0V\§[·neÝú’A9pÐà/Uúå6Š »ví úúGõèÑCç—OŸ>Á2—‚ˆ*ªa}wÂpüéÓ'–fú‚D(|é$›Íf¯ «]»Öüù @q ÄðáÃýýý¶nÛ6> @¡Püc@cØÝ»wïÇÇËd²¼¼§NÅöóéèàAXqJ…Rinn®³ÃB ¢(˜9šüö-tu2íÔüüü¤¤¤[·ouïÖ””ôúÕ«Ô´4¼œêÂðÔƒÍf;99ASÇqúá´”‚¤Ñhp×ßî1 Ãq: ˜^’$yŒº~”Þà"‘V©‚¨ÂÌgÒ „Mô]°Z€F£aŽ xBwA¿dN{ƒ¡g"222ý]úÉ“'é¾ øcÅŠåë7l€µO˜ 6$A 6¬k×®«ÂÃqOzž±9bkd$­‡U ÏuÞÞB¿”Oè_ ‚€¬£yB‡ùXx%TO!óaqƒ#Ý@eÔã­¬¬¬¬¬¾jư›7®6Õ¯ßï¾¾C¿þQFÇp433S*•0{›Y´àç"­FÓ±Sç‘£G—ø×£Æ–°Œpüï¿ÿÎÎÎÙ¼y `TØDdß¾ýݺuõòòúÍÖVǨb³ÙAÔªU{Þ¼yˆˆ={öLœ8Q­V£(záÂ…;wîøøø˜[XŒ?^RT„¢h\\Üž={33?XÛØ„¯ {û6ùΟúøø˜™›_¾t‰EÒh4C‡Ý»wo÷nÝ1 ‹9xpÌØ±3gÎD1,###**úÑ£‡(†Œ׳gO‘H4köì£GŽdgg/X¸ðõë×Ö5¬CB‚ëÔ©sâäÉ«W¯I‹Är¥òÎíÛÝ»w_³vm5KKzü …bêôéÞ¹S·^½•aa&&&ðÅE"ѢŋŒŒÂÃï^¹ù“˜˜½ãõëWB#ãà%‹ìììék=|HGK|úôéÝÜÜ«U³6løµ«WŸ=³±®ܼY³š¶¶©))¸u릨Pœíææ6kæL33³´´´%ÁK²³sÔo°|ù2kkk??¿zõܹ}«…«ë²¥Ka/†%''ß‹¿|ùŠÎd-X°°Ÿ'OŸ:5mJKJ6›½=j{¯ž=Ç'—ËQíоƒW/&dÕðA̬¬åË—'''ÛÙÙ…­XaiiIãÀŸ´lÙjÖÌÖÖÖuë~ÊËëûûïM›6‰‹».•JÿøcÀÿ8Žß¹sgSD„T*uoí>wîœêÕ«×qp3fÌÉ'æ/XйS'Ê€-e ²úßÖàüyªÕj‹*ƒô#»wï8{ö¬‡‡ÇÏê„@ÑÜÜœô´Ô´Ô”ì¬Ì¹9ss>d¼OMIå*Ñ©Èåp"·n ŒØxg`úôÇû’ˆ¢(™LÖ­[·ç/^е’úôéÓ¡C‡‹/^¾t©H,†bæõ›7û÷ïKzölÖÌ™‹/((èÏ;wÅb±`ðÎbݶukܵkfff÷ïßçp8+ÂÂÆŒ{ïî]÷6îK—.ãr¹\Ëå\¸paù²et/8Ž;~|æÌY%NVppHdd$2EÑħ‰:u’Ëå8Ž_»vmó–-€…†ª’çl6{õêÕ#üý“ž=ó÷÷_Ìg¸1X,ÔÖÈ-q×®™™™ÇÅÅEDD\‹³07‹¿Ö³§H’Çåâ~:6öô騻Ý•J¥R©ôÈÑ£kÖ¬¾gbj²gï^‹% ³µ½ÿ~·®]ÙôΟκ%¿A—­Ò}å0‚(§2XØß˜æÍ›?iÒÄS§N™˜˜¬Y³ög>8@QU(ËW¬xÿþ=I]»uó>ý†a/^¼ptt%5nÜ82rKép¾°~}—F­Öh4‰„ÃáÐ0нzôœ6mZvN†¢Ù99ÐE,‘HØl6óá2™lÖÌYC}}er™««+‡Ë…OðòêºmÛÖù ækµÚW¯^Ñʨ7lH¥=ºw_¸p!Š¢Z­¶C‡–v2dˆNÇõòò’H¤Ã† ££óà«Ëb±˜Fí4hpxøÊ””Eѹ†¾×ÁÁ¡~ýú2™¬eK7û:u`ÛÍÍõô™Óôu„VÛ¡}{@@’d]¹B¡èË—/»wë&•Jýüü¶oÛ†ã¸J¥úcÀ—G÷‚¢hZZZ£FJœ¬¦M›>þ\¿zA~.occ#ƒ‚FŒñOÉð*á9†a·nÞÌûøqãÆA’““™Z V«íر“P($¢Aýúõëׇm{{{¦'L¥V0€ s3s>Ÿ5EÕ¯W_¥R 4(lÅ 8’? H$ÿäÌ_„P«a]£Š3”)¤RéüyóBB‚á‡ÆåñÌÍÍ+6 ‡Ó½[·1£Gö7×ïLMM÷ìÙ càqìOý©s¹ÜÎ:M›>½víZƒT©T_ª’NQ”±±±T*…Gø:TTT$ü²Îàp8gNŸvqv.%&ˆÃáL˜4qihhƒ p ëЩR,fJˆj&I ‹öíÚŌٲù³®ÀápÂW…ׯ_Ãúõ&&&ã˜J±‰‰IÞ§< s ‘HDk¸(ÃúÔwŠ’$U(.ä°9Ÿ>噘š–â5 ½ÇŽ™0~ü¬Y³ŒŒŒZµn ?N¤”ÅD÷øå츼ÙP„…âB.‡›÷ñ£q±`ëðG 1Š!2I"‘о}Z—riÑâÂù‹AA*•ªaÆÇqHº*à9EQ65kîܹ“®˜)þwˆ>¢ÃF»ÖÿEQÃJ†bùùùôH’Xg Ø ‚ÌÍÉ®Êꨆ;zämò[ºSŽK$©DR•ƒ¢XzZÊõ7ÆùÑ]âŸ?R­Ò?çrA _ŽÇã±ÙìÒ‹=ÿ,Ô®]»)AA;wìdŠ}Rk4=zô8vìs*éëÏŸ?ïááñ/óA(ŠJKKKKK{üøñ²eËŸ$&úúúþSÅAh?$IQ$EA›L&“½{÷nyX†aVVV ™™™ÌO^¯ÑhæÏŸ=îºç…ã¸Z¥ú”ŸûäÉz‚T*•¿ßðÅ‹—¼}ûfíºµ}úôÑh4t¿Pw1rä§OŸt‘¨íÑÉÉo—,á?‚™/ļ—$I\&W(²³³·DFBai$4z÷î]rr²Î:!I/ý6|‘=¿ø}ûôî½víº·oß,^²ØßÏO­RAê<_«Õ¶iÓæÂ…ó%NÖÑ£G{öè¡SNq˜¯oBÂýuë×=þ<5-íÌ™3VVV$c=T Ï5ïPßuë×g|øðäéÓeË—35H}žè´ ‚ ×‚ t›ÇãYZZœ8~üÅ‹ç7nôööÖjµpðiý3N_CpIÀFo!BW'üŠþKOd@ÁQ­ j²ÄÇWëCfÍ]ñ(=¿t a ª™F3räHccãÒM •J5rĈǽxñü#7..îÎ[½¼½™[¥Rùº)"b×®]ׯßhÖÌiÏîÝô1j±{³#—Ë….b•Jµ*<üúGŽíÓ»w¿~ý$ÉèQ£÷îÛGŸ§Ò×S¥V«år9 8p D"™ËhD.—çdg# …a¨UgOÇöôîÃû2DÆ7’Ö ÷AŸgï¾XÔnu*!γ:¿Ò=Ri©)•è0ÁqüÞÝ¿F (*ÿg–ìÎ; òó‡ óÕ/jbffjnn¡T©®\¾èÖ²•T"½uóúࡾïßã8ž””´%rKïÞ}‡ &rss#"6=OJš7ož dŠ¢(fÈI’Z­–©ÀäF“¡ys¨è¶J¥BQJ;:3Šy½Nwðz˜Gu´ZíÛ·É‘[##·lQ*•8ŽC²N¿‚(•Jkkkg¸*’$™U#uîe±X0ô•9xØ#¬OLs^O;ltÚðEèçƒâ40º/øvŸ‡úŸŽã™™™+ÃW::6 ²²²’Édì?{æÌ¤É“›8:êÀÁ©£ÅX7t²SUòœ9 hëÉfއæ s¡(ÊÂqèÀ€r^ü³[Ø>|¨amÍa³åryÆû÷.®®âÂÂÿªÛEQËjÕs²³¾f‡Ç0ìê•ËÝ{ôR©”ea†aG:ñòáC „g€GK.gª{X†Èåò÷ïß7nܘ$ †ÏÍÎÊÄq<5%Ù«[#‡b<Ûuh٪屣G-,,@(ЬamÓÞÿïíLMœ>Jk@þ»û]šù«²#¥žôý0ÞðÿÖQŠ>ùûq5Kó’ò°…ª/äaCLàcÇ{z¶ÍËË«]»öï¿÷ ãñx:‚èçsë\@‹@Ú‡ù9>¨¸;h‘ëÀ¨1¯×é^Ï`<o¨ïÐM7Â=šiQ1ŸCQ”¹¹¹þh™¯ Ós 0Gœ*sð%‡fæ”ë·á‹0Ÿ¯Ó—>õG®ÕjkÔ¨¶"ìÜùóýûû¼{÷®Zµj]»v ±´´Ô ¥ãþJœ¯ªä¹þ-%Ž¡Ä6=æ£(JÍøÀÌD7Ð/E,«Zõêïß}ýÀ0ŒËÕ5}Ṟ³³s™åãg#}ÿ¤…—/]9zààÔ¥½³ððXyΉárö÷¬ñƒK7‚ jת%.})Šç§£^=º÷íí]¢? PT T–ŒtOQ”¥¥å”  Ó§£P¾j4:ˆ"?ÉåòÏŸ+ŠÒñAÿ{7|#7dð`ÿáÃQ%Kˆ5ðü¿GÌøêۣǑŸŸoeeU–óMè&©\yøvÐ Vž7­üÓXº:³¤~ɨ/ æó?¼ØBü®Ÿ!¿ù0&E ,ÜýîÞÝ[xWðþyì·wfo=—þÈ«Ÿ$ S3³gÏžI%’ªGœÿ^$)’”RÞ•‰fúãË-xûËŠ­Vû%»ÙÀóÿqØì˜Ó§ó Pövö-[ºjµÄ·“Ùr¹üì¹sãJtöè›¶GrôÈÕ«WÛwhïìârâäI’$?}ú4rÔ(kkk÷6mŽ9âìââîÑöÉ“¿!HûöíÛÝÜÜš;;GïØannÖ¬Y3€±±ñùóçQÕï+((hçÎ]­Zµš:}ºµµµ[Ë–Ì$}Â0,;;ûüù cÆŒ.oÝ.—µcGý š:91ÿÕ«_qp0,rSv1AQÔû÷ï!:ÐìÙ³srrBCCO:uêÔ©rª|AE¾Rê©Õò,š½8ôGï›Ea8öôñc±ôíã­.Z¶R©¼qãÆÏúQ}ƒƒÈ@b3p{0`À¶mÛF½",L.“=yòätlì²åË7GD$ù÷“§[6o633[ü×_uïÞ}î¼yíÛµÛ·gϼ ÂÃW­X±œÐjãïÇŸ=sº°P0>À¡NØS±"‘hΜ¹žmÛR¥R©PQ©T÷îÞ½Ÿ°hÑâË—/_½z•ÅbߺuK.—¯X±âÊÕkÿýwÝzõrsrrrrPY¶|¹N_­6ñYb\Ü5‡+“ÉLÿð£O,kñ’% çÏŸ‘Q!2aüøÌÌÌ£GÒxH’lëá1kæÌrÅ$B ûÁƒ>3f ›Í.,,ÌÏÏçñx5j”/H«Ü&ì€*^8¬d%-üôêúõ[n-\[¶lIQ¦ÉÊJ¹ÿ! 4õßßÅX¡)wL\Õ'P ‚/-Aô+ –B6ûèñãý}|˜1Ɔ]Æ@2P¥ÇS«Õ6ûÌ™3ƒ ŠŽŽfáøÕ«Wa¼ÁƒU¯^àæêZ(cvÿþýõë×+Uª… véÒyõêUr…"4$„Åbýö›m +«Ù³g³X¬Zµjñx\¦Q«V«çÌ™£T*;vè0éãG@»ví^¼xqðàAF£T©>ååÁ}RRT¤Õjy<ž~_J…bÑ¢E`®ÿ•+WŠŠŠ¾´=â8~áÂ;;»Î]ºìÝ»:íËåy•ÉdóçÍS«T§Ïœr×ÅÅ%88Vr+—¡K’dvv6€(¿áââÒ¾}{•JÕ»wïr”OôR5iÒ¤J_4yYÍY°®K×nƒþÈxtuí‚X1›gÔû -²ÊäœD*õó÷§(ыݣ… è–-[ŒJÂì,ùâó—.]ê;tè…‹Ú·ÿ¿‹ ¢<V ñkîýv‚ |>ŸÅb‰ÅbŸ/•É~(­zA„B¡V«•ý`cûo›†?ÚZýy A@pûöízõë$IQT­ß~(*:* v£%EQÿ “$€$¤8AÑÏaÿn—(·(Š‚à} /^lÞ¼¹¥¥eZzº– >w„¢ÿTÿ»/ xÊ^" ±¾y}îܹ´ôtooïü‚™Têááall\^FÍš5«°°ðúvµk¯X¾ÜÊÊJ'Iµ,ëEQxV ‡mddäããC’d\\\çÎËþ(´¼sü-–‰Zäj €PJ÷,óR lüÖ ÂáõU¹‡ªU*ssóë×ož=w^çßõë7ÍÍÍÕ Ü¨²L/DähãîÞÆÝ½,*!ŸÏoÙª•©©iÿ5÷–èjÃ0ŒÍfs8‹U±A¹\>cÆŒÚvvJ¥2`„oãCQ‡Í®@¸ŽãÉÉo[µn=uêÔ2Ž­Â}}S‚p.‡ÍfÄŸª!Dگʵúcòÿ»(=\.—ÅbäoذáàÁC#GŒÉdC¹~ãFÇÜÛ´¹xéR‰nT‚ Ú¶õØ…aè’ààÞ½{熲³úþŸv‰FT±0þ˜—Çf³{õêåààð÷ßccÄ E"ǵZm‰}ÑrÚÔÔ´e«V¥œa+а°°û÷oÞ¼ÙwèбcÇ–WZÃŽ„BáÊ•+=<‹…ã¸q1ÁÅã8‹ÅÖe¥R™“““••UXX€J§H$ÊÊÊ*‹á¶¢Ñh ?<''‡Æ„m‚ >}ú”•••ŸŸOQTvv¶L&ËÈÈ`V%B$77W.—gegçääÐi …"'''''G¡P (ªs/EQ™YYôWJ÷UÊb…Rzzúºuë}ú÷ïØ©“ï°á{öîÍÏÏ/Ñ@E"‘H$Ò)ó€ H||¼MM›×¯_I¥R¥RYâ"Ëå:õÈáh³²² b%’D"ÉÎÎ.Qãóùí;v¬@år·hñ’Í›#6mÚ¤_eõK¦b}};F~~þž={|‡ ëØ©“OÿþëÖox÷.]²),,ÌÌÌÌÌÊÊÉɉD4Þ2ssÌÎÉ¡á—áÃsssKd{AAAД)SÂäryÅv„ŠÿßmÞIÊÞÞ¾©““§§gÀø‰jµ&6ö¤@ ËåãÔ¯ßËÛ{è!îîAðxa RŒp kÀZ­Z£}eeeñù|‚ L)ì^ ÑK €Ñh4l6[¥R•×÷×'‹Åzýúõ†›ºtérâÄ)ss3•Juúôé 7 2¤uëÖ̹\îü áóx8‹ÅÂñºuë>œ‰2võêÕ3g^ºxÑÁÁªMã'LHOOûúu¡XL›ï·–––»wîü”Ÿ{p 'H–&dòP&“ñx<•žwŠÍáðù|­V ÿDC“þ,üÿŽ$.Ÿ=s†€ÓjµJ¥ !¥R9vìXxâ 3²¼½½á”è6ŸÏŽŠÂ0L£Ñ@$ÎuëÖÁ†R©ÔoÖ­[—››wíLÁ‹Å°mll¼bùrx çK­V76((P.——Þ€~Îÿ’$éñW`á-ôAÅd ãÆ³··ß³g™™™X,^²dI¹}{E•¾ŒxÚ‰âNlÜ}%^ @ƒV}Wõec_e^Ga HZZÚ¦MÇobb¢ž€a˜—W—V­ZqØìÛwîì?³qÆ•«ÂGÙ©c§gÏž>}3(Œ©b›ÆØØEѸ¸¸®®þþþR‰D¡P¬[»öâÅ‹1äååýƒ®L’B ‹——‹³saa¡··÷äÉ“=~ dUx8EQ›""îܹ³~ýú‹—.Á{Y,Ö¦ˆˆåË–9;;?zôhÞüù/\Ðéë žUD,oŠÚ³g­íoðGss³   OOÏ9sfoÛ¶ û·â‚¢è‹/ìììPyñ⥫k ZÓ‹Åk×­ûؾm(F‘\³fíË—/jÚÚΚ9ƒ¢@ÄæÍàØ±cÇ£·uA6lðäé///—˜”djffnn×ÃùóΞ=Kdÿþý»zua³Ùþ#FÀ€Ø'Nœ=w®zµê'N¨Q£†D" 366¾üر›7oZ·n àp8+V¬P*•½ûôqss jÏãD IDAT„Á½øøwééÏ_¼ÈÎÎîܹSëV­÷îÝûáC¦W×®>>ý¸\®ÿˆQÛ·¯Y³¦Q£†ÇOœT«Õ#üý]]]ÉÊÊŠŒŒü˜—×§woE§LÚ½[÷½{÷´nݺ}¹PZ¾rÕªÕÍ›Vï8ÎÀÝÝÝGÙ¸qc¡PøO_¹ÒÂÂB­VúôiÍšµÇŽ>|8ÍvE{öè¹k÷®ukב¹wÿ¾®]»8pjZQQQ÷âã…Báø€€zõê‰ÅâÈÈÈÀÀ@E£¢¢îüù§ccÇÀÀÉ8ŽÇÇÇ'''¿xñ¢H"Ù·woXX˜¯¯/g†¤Ñh¢wDŸ;{Þ£m›ñãá6 _êgáÿ÷µŽô%³~ó;bâæ21\™!´ðôªô64?èè0ºMQ”B¡`n)peÒzX)}1ŸS–·.¸Š9————““ÓíÛ·ÿøãZN•]Z•û [©Tª*›´@cïir÷Ä ߤúò={løÔ×}òÔ³]»Ð¥ŠÀ%®T(èz ŸýÃ$éæêªV«kÔ¨¡T©Ô±³ƒi—ööö"‘ˆy/Š¢úþþ{m;;ŸþýÓÓÓµZ­N_%¾8‡ÃŠŽ7.JkfÅFggç>}úžŽeÖ¤‚uÄÄüÞ÷÷¾}ûˆ9Àfœ/5jÈàÁÛ¶n…ÐåB¡pô˜1íÚµ[·n]à V­^caañÏ5ÿ.-Õ°aCÎzòä)I÷îþÕÒÍÇã!rãæÍׯß,Z´hÖÌ™×®^ML|†ãø;wx<ÞŋϜ=¼¤UëV›!pæ©ØXÇ&Ž‘[¶¨Õê™™23iþO˜0Ífoß¶ÍßÏ3ÏËËÛ³wï,^´èÞ½ø¹sçúøø,^¼èÑÇ<€}q¹ÜW¯^Å<4sƌѣGGGGK$…B±y³»»{ð’%§bO_ºt‰ÇãÝ»wïöÛëׯkÑ¢EåJ ‹u*6¶oß~PZ3'ë·ß~=zLtt4³4 s7§(ªZµj3fL?tø0s•jµÚž={$¿M~õêu‘¤è¯?ÿ2x°F£áp8+ÃWV¯nµ2,̧_¿;wÊd2µZ˜˜(¢wìxš˜¸fõj P›ÙlöǼ¼C‡ûù _¾l¹J¥zøè‘Ž…­T*?~ü¸víêÄÄg»ví¦3?ÿ ôk†Ð—1 £bË%­? lêsͯ2-J'¬d22¶°½&„ÍAÕÜ,¸<Á×<±*Ký[`_ôðh3aÂø&MkÖ¬ù%–Š‹ŠŽ9sà@âÓ§G‹Å$IÚÖ´}õú Çßgd0ÓÒ(ŠbáxQQ†aïß¿‡‘–æææ«W¯ºsë–¹™ÙŸwþülR__‚¦Uü,¡Pø)?_«ÕjµšOŸ>ц}oãÆŽ÷þúëÅóç‰OŸÆ]»&‰JìK_ÄÅÅõîÝ›©³ÓWzyyÝOH ×(ô@¦¤¤$&&Ö­ëààà˜˜˜šš £Nà<ËåCóN"‘:x°n]¹\îííý×_A …Ï×èc:t×®R©ìÕë7®®®ð`µSÇŽcÇŽíÆŽŽéïÞÁOÇñK—.Íœ1ÃÚÚÆ»W/‰TAš5kÖ¥sccc‚ 4xÐ ÚYÂçñ`¨'s¥iÔj?¿&MšØÚÚzz¶ýý÷ßa»eK·ì¬¬ÏŸ+E)”Ê… ØÚÚ¶qwg±XÐÝWTTÔ³gO›Ù³fÂZ=ÞÕ›ÍÎËËC„ú‚‹ ˆ-Zp8ÜeË–Õ«[·fÍšP %''ïÛ·O"•Þ½{7jäHú…RidlDQ‹Í&I@°Ùl¸¡ƒ2ÇN³‹ SAé6*óóãr¹ŸSSŠ.µZ-42R*ôQˆT*ý¾"¥JÅç—OF/›/ÌÅãÇëÔ©£ó•©5š.»lÙ¹g÷n???› 5¹3gÎ\½zU¡TâöäéS§‰±1A¾5 (÷ -hDø;ŸÏ—Ë寯Æú u? ÿ ôÃ’V«íÓçw±¸Š""—ˤéýßkÚXëZÿ?թȶ££cå2èúª1PZ–®[½rJh|—3lxƼiSDéÈ-B¡pÆŒ¯_¿a±ðÎ:H¥Òví<Œ„>dº¸´psu…qU°4áÔ©ÓM‰:lØ ¡J¥ZºtéóçIÌd ™L¶qÃhÐÐm«êV“'MNJJôéÓǪzuæ½AtêÔÉÊÊêÇ<¯oß¾R©T§¯’W9A899=~üØÅÅE§¬5‚ ‰OŸÖ¯WÞß1 KMIùñáĉãtÄP?ŸÔÔTkkë•-‡½#zÛÖ­mÚ\¾zõÊ•+A”J¥±±q¡^‰_¹\¾pá‚gÏž¹¹¹Ñ.ëçÏŸóx¼ððp‘H4kölº#’$÷ìÙ³dñ⤤$zï¦( ;²îÝ»G¤{ëÖÿw”ØFJ\œÅ@3ñùó$GGÇÝ»w7wv†cÓ9à¨,"I²^ݺ‰‰Ï~û­–þd=|ø¨y³f: .lccc‰DòçŸwÂV†/\°@G CP*•Ë—-ËÌÌlÖ¬´8ŽÇž>Ý£{÷Aƒ%%%=MLdîŒmÛzlÛ¾mú´iÇŽoÒ´)3øŠÕ›6 2„éDQ(gÏží×ï÷uëÖ{z¶ÓýÐ~þèÛú¹$üW˜”ÈÉÉF„Åf—%§Ç1ežÇp‹Uº)Ìá” |1+Ý.74iåúô©71ÃÃbèg5«$]Å_†ãt§:Э˜^F#‚ vvvvvvðmmm ‚ ¢iÓ¦M›64¨__­VˆjX×€¾cÇðbµZÍç ÜÝÝ™[°½½]:öÌby¦}ûö0À•n¬¬¬¬¬¬hc s¯££#­–¡ÓW‰¶¦R© œx¨oÆû÷\.wÝúõl6gÞ¼y|>"ðI$’€€qnnnÇ S×·ððäF''‡ö+ÐY70óG©TbÁ5 ‹Å’Éd(Šr8 Ãtü–ðz¦á( û^OQAÐ~jíîþôɱX àúFÚÓÏ‘H$›·l™D£40ŸIÿB*%úm@ •JéT%hDÂH.æÛA—€Îó+×ÄãñöîÛ÷øñãíÛ£„B!L–“Ëåaa+´ZíÔ)SàD0}È4¬ I’P%*ñÝõÙ§ ®E!Á²åË!œœ’$¡RÅ|NBBBzzzÿþý™Ñ°6ô13m~"þW%}øð¡†µ5‡Í–Ëå©©)NÍšKŠÄ? ¸Ey©   GÛr•娬/ªoß¾kÖ¬R(”‚œ;~ÆŒ™_1 AИý{ÛwèÔ²UËcGZXX@kÊÚÚæ; lŠyç`xß…X·ö&>Ü¿»ËÅŒEò瓨o¹ ¾…ÀFÄØØ¸,ñ¢¢¢òš"" ¥Réè—+Q`Øž-‘‘……b'''/‹ïßoéæ6|ذrU£«âr¹›_¾z¹}Û¶ÿ öÎãñ`èÃê‚‘wûìOHxЪUk…Bž˜øÌÔÄxâĉßÔAÅb±BBB-,ÌK){ 0Ôá ¶ã× lµZýî]:ER_Jôø‚ ¦¦¦õ˜ÔjL&C(Àb³…*·†D¥VÛשӺukýò°„Ò¨W--ãñû…˜Y´R\Þ À$¤’¶¤*Û[)ЋŕþL‰D¾kî`æuò¤É©©©ééér…¢zµj3¦O¯Y³¦¼lX`ULAØÛÛõíÛG.MŸ Ëý¿ä#•Ëåƒ ölëùæÍÛ"I‘P :dp:uôã¼*—H’tqqnÓ¦ }Dò%…•>11Ð׎ãÎÎ-¾‹03PÅöÒœœ,ý §ÜgØ7n,%þ¹Ì³÷œKQl»~uzë+”E|øÀ«¹›6[Z‡SÎÂ*ÿ"F3eÊÜW­zûyÂìíííííéÿýaQ¢Ôjµ——ôñþj§•HñÙ<<égÖxøÖš®V«íѣǯÉöïH$IŠ |ø‰¾PµJ­ÿy”ûp~ëÖ­¥× /Ë`PD›ø88¦–y Û¶?Y‘†>%ðóÈX\3 ‹j––\6V^Ñ-—Ë û{‰ÚCð³h±¡Øe`ûûÛ¬Ø ‘H$J¥²zõê …¢¨HR­š¥¡fÚwð””wÚ^½zU ÝJ!ÆC=go8ê¸}4bâŒ%Ì=^«QŠ #„†OîS±fØ d ¨,»%ŒÒøÒž™‘‘±ys¡Hµ~Ãú/^nŒdBƨjèû”×|4w-îÔð8rlÇAAÏ @³jÍwGE î Ð* V˜¼ã’šå5Ø ÒÚ@2ÊB|>æ¬Yúx´ô^š””äâì¼ß>‘H”•}ìèQƒ´®JB„$ ä«Ì¿‚ÎüUhèYÏ©­²Î“vØ8µžžÛÊÖ €Ü¡c'o9péí…¥4[ÆÏ,*”`€ó5 d J°§l6›ÇãÁd6¡PgddDCús8ýûÒALLLP ãr¹A„B!ói0ë^¢(™Ãåry<ÌŠ†F<( ±Ó]Àà x ó!‚D’ä‹¯ŠŠŠP¾ƒ(|)×Àr¯Ý©.TïÁ˜¥ÇWc«iT¨VŸ CêöXxjL žO{òÁ`1ÿ‚J%`yÈ f#ëúK×LY¾¬?N6Õ­eË~>>Ïž= š2E©TÖoÐ`î¼yB¡0%%eäÈQ-\]»÷èñêÕË‚‚‚3f„„†6wvîâåomc#}a355mêä´{÷®6žž7n\‡i7nÜÔ¾}ûV­[oظQ«Õ;{û5kÖ´jݺ‹W—[·o¯X±¢UëÖ]»uùê±Ø¸i“GÛ¶»t¹yë–aš˜„¢hƒõŒŒ À¦@Õ.q[8ß´é€45rF÷©hÛËš’j¯ÀAµ_q&ƒ_‹N6ÌÙϲ¥â8Îáp¸\.ÄĨØsÒÒÒŽ=¦Õj¯\¹ò eP•›;è kœüCàdізfBÅØŽ ˆB!¿páBBB— ¬Ølö•+Wª èªê—ÐWÎ5Š~^~ ÑÝ»w¡—;jûv>ŸŸž–¶zÕ*‚ bccW­ZõöÍ› ëÖ…­ ·±±Ù¸aChHÈ‹çÏoݼéîîžÿ铹¹9Í>ŸÏãñãïÝÛµcGXØJ‡“’’âèèïžV£‰¿Ÿàr¹-\[¿û8::þýäÉ„ ìjÛM˜0^"‘PUXXñ&Mš™–žŽaØÓ§Oai€X,.**Òjµ…"sk4???™LÖ¬Y³¢¢"@Ó¦M/_¾<. @.—ggg7lØ~°Þ½¼Åbq[׳gO±XÜγíäìlÇŸ'%eçäŒ1A[·n-˜?ßÂÒòâùs¬ªG.û6Scc“ ÒLþ\¥)Ž/£ÌF¤aÆ_›Ö… ÚÂ4@í˜ãr-˜$ÕeQ÷úÍ­0Š(@{xǰ„¸š$IQ„6Gâ'S\[,"˼ÅÉåòʉf7PyH©TΞ3×ÖÖ60hŠ••UJJÊš5«/]¾´xÑbB&&&ݺwÏÊÊ‚ÿ«P(^½|Iã«T*±¸hÂøñ8†ñx¼Ý?ùááá7l`>™Çã95kæïï?iâD¥R‰¢h|||Д)Οׇ†U(‹.¬J -Š¢Z¸¸€#çË凄fffΜ9ÓÁÁ!77w÷îÝgÏ]¶RߥAQ gmÚ~õêµµkÖÔ¨QƒùW‘HäަͦM›Ü\]I’är¹›7ïÛ·ïAB‚μÃÉ]´p¡¢üX:l6ëÜù ×ãâ@)ÉýÅãñªŒ½~—ª'‚ ¸\^g¯®$IæædשSgÎìÙr¹üÚµ¸õ6lܰ*ÜEùùûûêëëkbbÒ¡cGP6ˇ¢(Š$‚ rëöíÇO?ÞÔÔôÌÙ³:ëÉbkê_m‚‚‚jת³ŒŒ$E’~ýä/wÀãø¡˜ýÍ]\h¸4ALLÍX,v¹}Gƒþz%ÎfZ1?… L(êÒÛAð÷Og"Õ,;ø ´¤R^¸#ñ ÷ðþ-«›”}âJ<4з[dK‚ƒ»uë:aÂDø‹­­mûö탂W¯Y£SOEÌÌÌ7¯_Ó¦‰œQÒ±  @©TŠD" ú#—ËåjµA@Àb± òóEùùù<ÎED$ef~ÈøQ½Zu•J• P(`¹w­V+“ÉH’äp80êÙ©Õj™\ðùpy‹D"‡£P(ÌÌÌàðè@è¼Q*• …Ã0@À,G/‰x<|¡PHÝÆqœ~G‘HÄårጌŒà+( ¨gÐøÞR©APµZE³¢²¤uøªUl6ëìÙ³ôdµhÑbëÖȰ•+—††êTçE„¤È£G{yy=yò´{÷ l’$ Ń NM›²Ù쌌ŒÌD"|YÈ(¨NÁº84»J_¸`èÐe©T*—Ë¡}Ïœ ¹\®R©àD@Ñ¢R©`ïç%Žž_ssóÂÂBˆÏæ°…!Ó9å5 A’\‡ÍfËd2‚ ¹\ǃpÎpl, ‚×òù|6› AZÆ^ÁµÁårår¹@ øRHö·#‹%•b(úàÑ£”””Ž:  ´EQVVVÿý·­­­‰±±B¡€ÁhûÊdàßaNEýK„3ë‹«È@ˆ:.—›š–vòäÉ€€PRÝÖh4>ý|vìØ1mêT¾@°s×® & ’ùáÃ/¸—b† “é$I¾yûÆÜ¢ÜyØÁÁÁ•2¦‘y5] Nyó†™ÐjbÓÜù<;ŸñsÚ˜ƒgg„`ÒdØ‘Õá¬rª—xï·nÝâp8PZ3 @mÚ1hàÀ§‰‰5Ò)I£`ê”î ÉÌÌœ4yòÎ;Ž?xøðÚÕkYY™ ¥²C‡ö#üGÐ×DlÚÄÌ0…M›:=HxЫW¯ÜÜÜ™™°â§Z­Þµkwrò[™\Îåpf̘ѬY³ÆŽŽi©©ùùùQÑѯ_½¢hØ á¸qc-,,ê88Œÿòå‹M›6)•Ê )SNÇÆBõEQ‘H´vÝÚ‚|Ï 7®^½z´ç ¹³³¿¿jjª¨  µ»»V£IMKËÏ/èÙ³‡¿ŸßÑ£G£Fެãà0yò¤””ÔÂB±ßpß>}úfeg¯ —H%Z-Ñ«gOooo‘HäÝ»w÷îÝ3Þ¿?pà@e90 {òäIVVÖ‘#Gu&k„‰?¾}çNûvÿT®„ÎðC‡µjÙ²ooï£ÇŽwìØÊ$ú—2óòòjÖ¬yÿþ}§fÍ.]¾Œ ȇŽ=öî]ºR©´³·›8a¢µµµc“&Y™™É))¥¼oLLÌÁC‡¾C‡Â‚§ÑÑÑjµzÆÌ™-\\&L˜•ò”””¨¨(©Tʺwï6hà ‹µaÆ·ÉɢݻŽ12==] ôüîØ±Ã¥E‹Ñ£Geff¹pÁ;;;¸P¹pᙳgªU³‹ ~£†RSSó ÌÌ̧MâàààØ¤IA~~@@@íÚµr?æ6iÒ$pòdÇÏ;wá ÄB£¹sç8884wv6lØÛ7¯GÓ²eËïàhAX¼QÃÏCCCëÖ­;}ú´ÂÂÂÅ mÚ´©yóæׯß¹õø‰=zôðîÕK«ÕÚÖ¬ 'šÍf»¶hÁ„ŒU«Õ;w†lk4š¶™™™ËW¬°¶¶öóó«ae¥Õj;wî g ¶B¡ðôl‹ `ÇÎJ…¢{÷î|ïs€ú¯Gúˆ4(Š6nÔÈØØøû”פ(ʲل 3nLZàŸ•ý~óº9Ö¬jðO-üF­ÏT$½»•{*`Ô €[®X; Ã+²2 r´ÊˆÃáìܹsç®ÝLU‰“&O>|ø`3''¦Èár¹~~~IB;fïîÝ*µCQÛ·Ï™;÷`L ´Š(êì]w\ÇŸ­×€£ GPìX°`ïÆnkÄnì?»Ø1jl±GŒ]{‰½[Ä^•b£ßquëï‘u½CRl÷ûÉ'Ÿ‘›}SvÞ¼7¯ð2’6lX©R¾ùùùC†ÍÎÎêdgg¿%ècXðêkÖ¬mÕªÕÆM›êÕ«wøÐ!HLácÇŽ‘ÉdÇOذañ?ªÕjÀµk×,ËâÅ?ò:ºÓÆõ›2·lݺuó'g§5ëÖeeeyyy‰Ût°·¯[§ÎÖ­[GŽyåÊ•@ÑðŽ:V cYvùòå×®]kÕª•Z­†cXDM&SˆA³X,£FZ¹jÕ¶­[óóóa21Aî?x “ËçÌ™£Ë<|“°EDDŒ=:++«mÛ¶ýûGJƒ0¿ggçN;UªTéà¡C³gÏÙ°qúô IDAT!AHƒáx©R¥Ç§P(/YòòåËiÓ¦)ŠåË—ÿyýº¿¿¿Z­æ9N&—‡Lœð EÓ111ƒð£ÇϘ1ÃÓÓó—7løeÖÌvvvuêÔ™8aEQŸ1d/Ïó*•]LL ÔjPEQTµêÕjGÔ† !ï’%øa>‚ MwìÐÁh4Ö¨QÞDØÛÛÇÆÆŠ“¹Æùññ0èŠP–ËåýûõÃÀl6Ï‡ËØb±Ø–áááðERy«)ƒŸÇAEÌX:¦såß–Ž -0å§_u DÕ ±W‡ðf]G<äËü¼ÿäÀ&¡R¼â¯ÃyüäIéÒ¥­ŽJ°ìïþÌj{¢(*..nò¤I“'Mš'Üb b2™X–5 B€ëR¥JϘW!4´JÕªûöíƒ:XXÇve‡„T0'Ož¼páBÇ(š†¾xñ22220(h@l¬ÀÿÉÎÎ.S¦ A$I–)[&;;A’$ÃBÃŒF#L.ì (Š&=zÙ ˲NNNbQ‰eÙ:uêX,ñˆˆ‹ÅâééaFŠ$É !!&“) lY]~>Š¢?ެ_Ÿ¢è’%Kò_çáá¡ÑhL4ׂ Ïž=+b²’““QQFKÇÏœ9›œü¸^dýа°ß~ûmÛ¶í0é›Ù¤éŽ;ž>súÔ©SŠ áyð¼³³óþ}ûª‡‡‡T¨0ÿ‡„ü›‚Ý_žçK–,Y²dIACY,=À›H[íÚµÕŽ­Z·ŽêÙK®Ã³EíÚµ-‹·——ÙbA(”«ù­R¥ŠÑhlܸñ;·Å® ˆ††Êd2Žã¼<=C*T€ewwwJtú¤iºVíÚ,ÇÙÙÙ‘2¼á9ÎÛÛ›¦éÈÈÈÇ“eY¶n:&“éó؇¯†iæavQ8n&“ Ž-ä¯&“‰f¸öX–, …ñZ²ÙŠËBû4MÃg ­&”á[Ìf³Ùl–¸u¡\ü‹XâðÈ€È5s·ýѢÒ©³ÌÖuú ÄQ­ÐçÏ´\ÿ‰+N‹QIÊí/Ç•(Q";;f‚+K¡Ó§³³“•^› ;E¤‚ÉdsçÍ Ÿ3gŽ\.êÑãMSïxäÛ®]GŽ9jô(!ƒN§Û¼eóÚµk½¼¼>|8/>^ Q¥R¥¦¥Â="7'Ç×ך¹!¢ÞM&;•J ¼„«ëÓ'O4îîÐ.úßù!o†‹‹ËÓ”§îîîZ­Å0 àìŽ|„OÏÉÉ ª¯m'+++ËÍÍM¸¼€¿þúëÎ;¶‡„„¼V{6j4|ø0±âJ±bãââ~øá‡×Ï¢èÉS§ò´ÚÝ»v©Ö'$ÖûÙ_Aà®h‹{;»ï¿1iÒÄ]»v/Z¸è矶äwÓ ,Ã0Ï_¬7~Ûµ«wÏžüËþîܹS¡P´oßþõùL<ž¸{÷ÞéÓ§}}}RRRüýýyž·skzõ?,¯^µ:00`ÿƒƒ 2‹DgF´h -Ã×Á5_ ËJ¥²Œ¿ÿŠ•+|}|~?rtÈàÁ ÃØÒÿ‰Õ`îßÛ´i“V«E€´7ß½´GèaØ0¨ìÇHÒ‚b˜›wiwĘ›ã@âå+—þ¸áèð/óxr¥ Ÿl‘uêÔiÄ÷ß?~úò '­5kV§§§ :D¬æ2³fÎÌÍÍyÅ™½½}ÿ~ý Ϙ9cF^^^¯^½.\¸““2Þ¼fÍê~ýú‹'ëøñcüñÇ Ä/uttŒŠŠ¬ÌL&STTÔ­›·„ …tBÍ'|ö×l6W©RE±”Ô77·©“'C“{HCÑý5 <èÛ·¯0¿âñh2ÓRÓBCCkÖ¬™——g5æ…Ðàì,€B¡hûMÛë׿û5jˆUîp¾ ¶eØNn^\cðC€e’$ûôîsáâE½^?|ذ *äççÛÒÿ‰5ª*•ÝO+V%$$غÛI(Ò5òêÕË–­Ûnüe}áŒFãóô4EQÅ0Ì]£Ù·gw‹Vm Å»Züwá« aÒ(F‚ð4E±Ü[·€àþuÐT–eßeùäq²”î=a±XÒRS+W­ªÏן>u¢k·îi©©(о|ùrҔɵjÖ4hp‰%?Nž:uªÅlŽ‹‹“Ëåb¥·eE|ƲºƒZYEáO¶¹;áŸ8ÑDÃfm_$,a#FQÔd4µjÓúÜÙ³ð>[ø V·“››«V«‚ß¼]ôˆ¸eøà»ÊïªDÖ¡B›ï còž*qEMfóäÉ“d2ùÔ©Sýüü333—-[záÂ…¸éÓ5¸GVo/”0«Š;h5­™™YQ=¢Î=«ÓéŠè/tñ²··/´M+JÄ:æV‹Gü“B¡¨T¹òÝ;w`pÁ>\Ü÷"ü‘`;ÂÖ›mV‹ù“}ªéééIÆgÏž999Vª\U ÝZœ‘™‘QÂÍí—„Ÿ›·hU=¼úŽíÛ]\\8ŽãyÎÃÓûß½}¨£ø”;—V¬\›A«; ø¾Y%oÀs<˜üÜiõJÆßU¥¤>puq”æïKÏóféâ%[·moÞ¼YFFFéÒ¥»wïÞ¬iSh&jµq[í…rÛMÓªosš´b0V/Ê$IŽ;6ª{w±8eÅÔ…v¹ÐŠT«G¬xW¹ˆŸlóRŒ›Èe$?/þðï‡ûôéûäÉc77·6mÚ.]²D&“Y‘jû¸-a…»m§ìíí›6köýˆP9\DQuppøËɵ´¿XÛ¦ìíí¹‚#¾mûïú£¸ñJ(4æùÇ›M ÿ1p[įÿøûCùûó²cÕ?™ ^½ôЭAÍÊpZ¦°ÃPÉdò÷y—ôm|ze\Ñýû ‹ (ÇqÐF´N„ÉdúñÇáUëW¸NþѪe«í; (ÊsEÓ‚ÍðGzo^^Þ¹³gÍf³•¥ñg„Ñh¼xáB^^ž¤x“P¼E"@àÿ~òø(ödî%ëîU³,ÀSwÿ–€ª< Þ§}‰[.6`±XòõzN§×ë…{ßbH*Œõ•¯š¦õz½N§Ë×ëmC¾p (šŸŸ_¬Îp‚ˆ•ó$KnýšG¶e*G‘ꢈ™ÄÀh·›Q%ý c¾K A‚ ï:ò‚ÏTöd÷A0go‡¡KáÙáîö€ïb‚íìpiz$H A‚„·ö§çÙ¨LÝ´÷’ ef.ÛØÀG›’òôâïkÚ ¹àQ­ëàd’J[‚ $|õà€Ñ|ðÏHA`xýMÛVE7 ¶CWÏR%ì±{’íl\;?ØK&YI A‚   ”Þç3µàyðªÍúœ¸™þëʹƒ}ˆÅ-ÛžüÇî¼€ä)ø5'y “É`E¹\.yŽJø[‚HkFÂègü¨ jg÷öÑc¶ü¶ÿо_'ìTÂÑNK!MÏÇea”J£Ñ³Ã`XB4«Ê…¶'_«Õ2¸´ŸŸÑhìѳ§R©|WåwíË|Š®¦·Iò ðY^j;8†a„ÉâkþÉ*t"l'ú³ô=33³Ð5ó‘@Ót±õ†ðÃg7ì²æËŸþ¢qñâÅóçÏ¿ÊÈ0›Í*•§§G“Æ*TµÚÑ‚8wþ|¾N@QÔÕÕ544T§âòåËåË—_¹båÓ§O ‚°Õ¸ òòåK€F£ÿ¢¨ .T¬XÑÑÑfšJNN~š’Ò 2Ò*7⣣£7mÚdø„T¥REGG'$$|Æ(•p nÞ¼yôèÑç/^ z¹\îîî^»v­Z5kYÕÄ0ìî½{éii|jÔ°¡“ð'O–òõõóóƒI™òòò®'&Ö®UË6oǧé;‚ …®™ô® /ê׫'Éôþó [Â$IîÚµëòÕ«cV©RÇqƒÁpîܹåË—Euï³L ,Y¥R 77wÍš5áá5„ìOÎNN³gÏ?nÜÄD˜ÑR¥R 4(&&æÜ¹s]»t‰›1S£Ñu„´Kð•~~~ÎNÎ/þÁ²ìÅ‹«W«&—Ë9}æŒ^oص{×¶­[¯'^½v EÑ/_Êd²;v\½víÀþ}ý£û/]º p7oÞlßþ›kW¯šL& EYD ¬ Å‚… –={æ”ÚAý4%E,*qwíúŸM›49~ìXÿ²}ûôiÖ¬Ù‰ãÇýýü–/[&—Ë_¼|‰¢¨Ùb9qòd\\ÜîÝ»ÓRS/\¸@’äì9s‚ƒƒOŸ:©Õi,X¤T*µ:Ý™³g~ûí×qqBúð÷ÒªáøŽ;ûõëïêêj5Yr¹|ôè1H+ůÁ`È×ëóõúüü|+ݯ\.¯^­Ú¥K—9Ž;{öŒ«‹‹ŸŸàyN·}ÇŽuëÖ?v `}¹Lû~óæÍ¿þºrÅO+~úiÇηnÝBQ4%%ÅÑIxýº““Ïóz½^U‚ ~ÛýÛ©S§wìÜÞ¿ÿ¬ìl±š}Ðà!C‡;qü¸Š¦(ARRS›5kvüØq_Ÿ¥K—999Y­Iš-–³çÎÆÇÏ;tð`Ffæ‰'-\°vÍê]»vߺu[x5Š ׯÿyèÀþ ÿû߀nÞ¼¹ÿþ±cÆLœ8Q&“F£Ñé—+§NžlٲŨQ£‹^Wo­[ $†-áÓÇñóçÏ7hЖ)!""âzb¢U’7¹\Þ§oß±±ƒÞ»o_·o¿R:ò04Í0ŒpÓ™ŸŸ¿yã&£Ñðûï¿;:9]½zEQ¡Ž•^‘¦¨ž={®_ÿsffæã'OªT©Åë† ´hÑüÂ… þù§ƒZý¢@JÃ0ìÔ©S£F"IY½ºui††ÚéŠaa5kÖ¢(Šã¸öíÚµo×NP“$¹wïÞÉ“&±,×»OohÍ.æ|U*W‰ŒŒä8®k×.°Ü¹s§G ™niŠêÑ£‡···J^£FNNŽãgÏž‰‰á8~úôé{öî!IÒd2;ljð7nÔ®]»ÐÉjԨѹóç­NW*•jô˜1±±±±±±=zöÌÏÏ·îo•*Ÿ$gff®OØÐ³gOº@Å=mêÔ7nœƒÑÈóü“'OúõïwúÔi+NðFªTŽ;N&#Uvvð*— Ð4ï,Çøùû1¢e«V®®®I\¿ž¸k÷./OO™L–‘‘!&‰ã8Ǭ2/a8.NÍiý–…ý-4 5*ʼ +¼¶ ~›à7í‹l­1 cYÇ0x Êó¼\&û°iáî»& ÚŽ‰ÿ¨ÏÏ_·v­‹‹‹ m[=åêêZ©Råáǰ0 3gÍòõñQ*•F“‰eYDÄãQôË$µ$âMŠ-kšY ÀÍÆY³f8~âñãLJŠ›>ˆ²›À1/tý’|ýQ¾WE9›IÇ0Lȼ)”Aa©Ì8Žã ~*z]}z†ý:£¹Ñ¨×ë¥-«x2kS‘züõf!Ù7Jx0 S½zõ³gÏÖ­[W¼ÁòåË—BBBl´avžãnܸ¡P¨ŠhŸ ˆ#Gü¸hQµjÕ¶oß9Ža:N©TŠu§ƒaì˜1999%J” ˆÒÒRå2Ù€ž?~èðaá–ekÕ®õ㋈Ÿwùò%Ee2†@AVデq,Û¬Y3¸íÒ4Ý´iÓyññS¦LÙøËF[½£Þ0žwíÎow,ËV¯^m}BÂw}zÿo⤦M›Bëú»¹s|ùòåR¥JÙNÖ™3gj„‡ ×Bw, ˆÕ9†¢¨Ž:Ô«[×ÙÙY ‹ÅòôéÓ©S¦ 2mútqöëR¥J­^³¦q£F€ÓgÎD÷ï/\`ã:nÂĉñóæA- ˲õë×_°`A|||Òýû€çƒ‚‚UÍŒ™³ÄD×­[§gÏžpº­Æ¼Ðõ#‚$64oÖ pîì¹~ý¾³õmC¸½ eÛ ç/×Õ'þH1 Õæi“>T(• éú¼¸Âµ„›ÍÆð†GKVâ>,óÐ!C&LœxìØq+-+EQK—.]±b…س‹ÀÅÙÙÇ×Ê.aaa+Z.>õ Â:4'6 ?ÌŸ?zÌØ¼¼Ü¨¨({{{žç*Uª4a„Y³g?NNt§°>ÏóJ¥õÀ«YŽã"""Î?_µZ5__ߤ€Ð4ݽ[÷W¯^Õ¨U[£ÑÄÅMW©T‹…$IÁ‘)55µ|¹rbõÀ¸±cÇŒR!¤c‡ŽV¶`¯ixW™çáM¿X!ËEMøß„Q£G-\¸°qãF³fÎ2$I~ØÍ¦é®]º ˆýæ›oÄÖUð-qqÓgÏž-N{ÏàææQ§¬ ÕjÿøãgQŽpØ™Læíí ÒlooÙ ½½}¯^½ùæW±bŦMštèØ 0bøðŠ+¾–‚Ѹzõš‡‡Fàš4MwîÜ9''§aÆ~~~3ââćÅ:µ¾íÖ-/7·tNg5æ…­Ÿ·ÆŸç¸àò=zöÊÏÏ1bDÅŠ…# €p£o[ÚÓÇ„¢¨¢×Õ'–­“>$âñãäsgOK[Vq€Ê®ÐˆáˆÑ`HOKEQÃq ÃÜ5š}{v·hÕæƒØ£C_úÔ‰®Ýº§¥¦Êåò„ RSSGŒø¾téÒ8Ž›Íæû÷ïM›:µM›6Í›7gž†®2‚®˜eY+GÁ EQ¥B‘¯×¡T*á @&“åååa= òòòÄ.UJ…B_àßåèè¨ÕjÅŽ=,˲,Ë0LD:‰×¯kµZ…BA’$ÏqÆ÷¡ƒÁ°mÛ¶îÝ» vìPÑ‘‘œ˜˜8vܸíÛ¶ 7îblËùz=¤Gè#à­þ*•8†Ñ c4yž·S©Œ&Óôñ…¬åÀÁƒû÷ïŸ2ejPP\.gæñãÇ .(]ºt¨(±e<ý¬†µÇKQ«Õâ|Òbše2™L&ãyž²X0ç8®ZõêW¯\…\0‰Üº`;AÌœ5k@LŒZ­Çr‘Ëå2™ŒeY“ÉȲoV A …A‹Å)·sÛõ#óßví"p¼[·n³ÉdyÛ­ ÎTwÛ–…vú…1¾ïZWŸàSMOO×xxÈH’çù’>¾¶Z. Å)OŸ4jÔhûöí...,ÃðçYÒAJ%HxO.þm×®ûöï[°àxɇ¢(EÓ]ºt©W¯ž˜[ƒ‚¼È¶B€P€â8Ô.ŒFx±*<[ã8 åâ–a}«wét:Ø”Ø.W©T1¢i“&0=³ÙlÄJá½°•Jk±X2‚ 8ޝ]·NŸŸÿòÕ«~ýú½¥?=k[èú%È7ï)Ø1|h[bØÙÍ›«”Êå?-# N˲ÁÁå[·jmeÇÍÞe n›OZL3ä °LðÓO+ªT®ïÈÅÂàë„v(Ššl ÿÅåjµƒ··w©R¥<==U*%_`·UÜæ8®dÉ’ï¼B­V—*UÊC£AQôËÚ›Ã1•JåééYªT)ooo[¤¾ð<ïæææààP ÄÎÎÎÊ7ï«B¡1ä­”(ƒ‡ öñõ%IrÉÒ%ž^^Ù"Wx+üÓXîð_3l $HðÕÇñ+W®¼Ë-AK—.¥<}š‘‘qûÖíG’ ß»êã8þ÷=ÉÈÈÈÈÈ$ò¿ž)i$H á«’§Q•Ëä8sg2™ÜÜÜúGG¿zù’Üï IDAT2//FmS(ÐÅh4!àxÞ§¤†a*• Å0·n0õÅr‡×ùâXî8A°, c¹”J%ŽãÂ_`,wEqß¿? **JœA¥RÉqœø)+Ú8Ž%IÃ0 Ã`Èzš¦…ðõЉNHCÀ2 ´…ürOÖ A‚„¯ÐñaÁ‚GŽõööž2yòì9sP  ‰ŒŒœ—““3f̘ëׯû–*5wÎlÅÆŽkoo?/>žç8½ÁàãëûûáÃŽŽŽP:OJJš7ýÕ«Œ¶mÛ~×·/ 33óû‘ߟ={®R¥ÊS&O‚PâââŽ;V1¬âôéÓärù‘#GnÞºuëÆÍ§©)ÐFdöœ9×®^lôrss‡ âæævîüyØŽR©4 bÚ\\\9rïÞ½7o¥¥¥¶jÕªAdäâÅ‹Ÿ<}úÍ7íú}×EQ†aþ7aÂÙ³gk×®7}ºUŒ/ ’J\‚ ¾.†}æÌ£Ñ¼g÷îI'ž;wnÁ?ÈåòË—.Mž4 ð±±}úô=~üx»o¾™1s–F£‰›>}ôèÑgNŸþí·ßªU­zïî]È­*•rðà!c>tH&#aÈÕ§)) 4‚ Iˆ¥h&Þø¨7|<Ï;88À86ï-ÿtN‹Ã:ü¨ i:)éa… ¡,Ë$Q½Zu{;ûëׯÿúëo7oÞ2d¼Ø†Arf̘É󜽽½R¥²ûk£Ñ8oîÜß?rïîݽ{÷NŸ6 ¼K¿€¯3Ið€'p‚-8H ÑxÞ•Àª¥R9aÂD[Ú0 ‡j·ú0-fóä$š¢P3z´ÅBÁìòÅö«Ä0ìÊåË­Û´±Ùax)–¸„¶Ãë¢78p 3+Ó×·T×®]5lH‰âF •ííí…˜âŒpC§(J¸ÊÂq\¥Tææ÷©V«ëÕ¯ìèQq(ͬe"ˆcÇŽEÖ¯ÿ77w…B1tذ±cÆ8‰Âs~q“·ËcÇŽmݺ-%5¥„«kËV­:thc¸U¢žç AðŸ,ËšÍf±ß9‚ övv£QØáe¡ æ½>}êÔ»½|üÓ9}O|uø±Q¢D ßR¥óuº¼ÜÜÛ·oëtºèèèÝ»w{Îܘèþ5ŒŠêQh,wš¦›4i¾¾Vkƪ£ÑX4m¶eЦGu÷Þ½ ¡¡QÝ»W«ZÆ$¦Š1Šˆ4… †´ÔEq‚b‰Kø;°%žž–† ÈÈQ£ºuëÖ¾}qå9sæ$%=Œ›>]¬W;8” yúä‰Á`@D+Ú¾ EÙ€€.;÷êÕËÛÛ›¢¨eË–mݶíÐÁƒÎÎÎZ­699™¢(7w÷2þ~‚^½zf¼ÎÎÎ~üä À¯´Ÿ‹‹3‚ W®^u+Q"%%%<<ðôéÓÀÀ@èa}QRRSŸ¥§»¹¹Íœ5kîœ9‚k)Š¢W¯^uwwOOO—ËåAAAÏŸ?W(僃I‚xðàA©R¥IIIAdgg;::–E𤤤ŒŒ µ£cP` ‚ ÙÙÙùùùZ­–¦é5j]A'M ;vœøï¿þúë¶m[ãçÍ{K&–Ë{÷í»øÇ]]\XŽ»téß4™L/^¼HOOçyÞÇÇÇÃÃAk×®U­Zšššþì™\& T(ä4M?|ølj¬¬Ìºuë¾zõ ³£‚‚Ä£III™™™žžž™YYÕªV‚có<Ÿ‘‘‘’’‚a˜¿¿¿§§gß¾}GŒ‘——Çrœ¿ŸŸ³³3Œ‚nµ~®]»æááùøqrP¹r)))Í“'OÔöå‚ʉÕB4M¿žëœµƒƒŸŸ_jjjÁ¼à8×aff¦Á`ÈËË3™L%K–„ß¿_«Õº¹¹—-ëÏóàaR’½]ZZšƒƒCPPÐÇ ñ-Ä7ð›ÕæåÁþÚÓ‰eM&˲2™L.—Ó4m0 ⮓$)Ž—4ˆb¡Ë]¨#.+JœÀ…ÄâXúïÊ `ÕŽÞ`(‚6 ŠÉ/.Ãg ‚à8Îl6[Ý”O•ø©“'š5oY=¼úŽíÛ]\\šæ8ÎÛÇGºÃ–ðaÀo»vAn-$FdܸqÆ^¸p¡FoÒФ Û½J¥RUª\éÒ¥KÞÞÞ))Osrr*Uªƒl/YºÔÕÅ…aÙÇÉɽ{÷ŽŒŒìݧOÒÇϞ=[ºl™JÅpðÀÁ!C{yyuéÒeÐÀ(ŠV©RE¯×Oš½{õäx>22òÈ‘#€îÝ»ÃÃA\º´zõêŠaa§ÏœYµjÕ‹çÏ…àðƒaÞ¼x_Ç/\¼0yÒd™\¾vÝÚ’Þ%³³s(Ú2~ÜxŽãl×OÿèèvíÚ©ÕeÊ”‰ŽŽnÖ¬™‡‡æÞ½û­Z¶jÖ¬©ÀJu:]¯Þ½{öèáøÝ»w]]]œpø ©í7m:uìÔ»OŸGIIgÏÛºuk:u(ŠJOOpðàÁC‡$&Þˆ‰Ž®_¿ÞÂ… •JUÿÒ~þeÊ—/ÿ‰srØÆÕ‡üÎ8Š EÄ]‡Z…š·ånÅrÊF“˜Þ<%Žåþ®¼VíMÅä·*‹ƒáÑáY$†-á@&“mÞ¼y×®Ý@”¼Y`}úô]¹â§ˆˆ1ÃV*•+Uây>??ÿà‚—<þ‡W¯¾hÑ:tX»îçoڶݲu+ä£bbJ•*…ãø­[·V­^ݨQ#xIy=1±D‰ýûõ¬^½:11ÑËËËÙÙ¹OŸ>®®® ñpÁá£%bó–-íÛ·oÔ°V«ûã?ÄšIžçû}÷³³s^^^ÃFŽ9Ëß|óͨ‘#år9ìc@@@ÿþý•JåíÛ·W¯^Ý¥K× N˜0¡bXØÓ§O‡ þÍ7m‚Ô®]+::š$I«$(Ÿë†ì÷Çc*t²† Ò±Cû®]»Š¶Z­nÙª4í1³gͱbç2™¬E‹æ Ó¦M»ö矣GBQð¼¯ÏÀ±†çù 6ܼyÓßÏO¥Rá8¾yË–oÚµkܨa^žvÂĉíÛ·”íׯŸJ¥¢(ªU«Vb±\._´hѤ‰+T¨žž¾óíëUŠ¢RRS¾ù}@Ù²iii‹…¢¨Î;×DÇĘL&µZm»~d2Y÷nÝüýýíììH’ìÖíÛÐ ¡)))Æ oÓ¦µøN: ::Z©TÞ¾sgæÌ™k׬Q*•wîÜYµzu×.]á:D¤NDÄ€˜ÇîÝ»²zÍš%‹ûúú&&&Κ=»Y³¦(жmÓºnݺÀÆ4úcjĆa‚-‚„â,aK [ÂGŠ¢/ž?×h4VXXöôôÌÈ´Ž;h2™._ºù¶’wPP9€ »wï~ðàAË-~ùåø÷£GŽ®[ÿsnn.ÇqÍš5{c¶¦ÓiÜÝáfä®Ñ@s'Ç}}}¡’ Çqqö§ÏŸ—/ϲœ‹‹‹mœEÇK–,™——W¢D IJÑdwÃÁÁÁÑÑÑh4º¹¹™-ESSS+†…QU6 àå‹ÐÛ×ת‹ÃéA̬LB'ËÃÃãÙ³gV×F:nçŽ...<Ï?~üçõk5j ¾ichºU‹–óæÅïÙ³‡ ˆ   žç‚ð¿xÙ’C‡éõz“É´pÁP0þ/_¼ fYÎÕÕ¦;8:::99ÁUoC…#Š¢)))*T (ÊÏÏÏŠñ¨ÕêÞ½zÇÆÆšÍ–¸¸i¾¾¾,Ë–ñ÷ç8êZ¡:ÇvýpW®\9ƒÁÀsÇq¡B)Š*S¶ì‹—/¬&K­V¿žë%„y/Q¢„Ùlêñçåå…ã8¤æÓ|õêUÙ²eõz}XÅŠ©))ÐKª\¹rp=|²%cØÍ‰wïÜ‘"€gÀ+¹\!1l  Çz—,ùìÙ3///±_,§¥¥iÜ5¶Æ5 ÃX±j,ËöìÑc挙cÆŒ¦†/`{öíݳ{·»»ûùóçW­^¼Eí¨¾uëT‚¥§¥…†…½~]¾—eÙ'Ožˆï°K–,ùçõ?[µl•‘™™‘‘Qè§ófk+ÂÙIôÇq~~~—._ª^ãîÛž^^Å01Ïóðzþ]“åããcK6Š¢‹7hÐ`ÊÔ©ÖfzÐ 3fôè•+WN˜8N+ ÐÁóܹ³gI’\¼x± °ò<ïíí}íúŸ­[¶|õê‚¢8Ž¿¾,( );;›çyáŽí•+Wª‡‡ß¿ß6åWxxõ^½z^ºt9::ºÍ6oN! ¯ˆõ#x]¾r¥Fxõ{wïz{yó¶s÷7—ÄÛW žžžwîÞ ¸pábi??al?1ãä°·³‰T¥J–•cG ÈÈÈHNNÞ¶eSá ›¥îúzŽ0ï¿¢(ªR© Ÿ*}1‡ÅBõêÙsÁ‚~øa \öÁU+W¶ý¦­øîºr:tð'–eƒ‚‚vìÜa±Xhš6<ÏËår//¯¹óæa2™8–-TªTéâÅ‹qqq™\^©R%€ð Ažì vhÓúµ7ªÉd5rä’%Köíß"¨•)€ÅbY±r%Š ‹¥M›Öšô¿ký (*^‡†íݳçàÁiié±±(›>ŠçZ\F ò»‹e˜†uÞ¼y©©©£G2›ÍohûÄ[àW¯^•¶¬b ³Éd¬[p¹ †+q⫱WªT®.®ïù¹hµÚAþøã¢âìyùÑØ³µ•xZj*†acÇkÙ²UTT”¸ò¤I“²³³&Mœ(‰PMJJ*S¦Œí¶… È£GÊ–-+DÒÓÓÝÝÝ1 ËÍÍÍÌÌDQ´D‰F£188¸\ùò×ÿüÓl6ët:˜@£Ñ@mªÐI’Ñ11±„††Bášgdddeg«TJŽ}£É´¢Á¶˜’’âîîxõê•··7Ïó ÃÀ2àùóçZ­V¥Ry{{#¢Õéêâ”V’$ˆiqq%J¸Á#Ž€7:tpö¬YâyAäÅ‹yyy<2™ÌÛÛ[¬‘ú.<%Ì/˲¯^½Òjµ2™L©R)ärFS±R¥Û·néõúŒÌŒì¬l‚ ¼¼¼`, ¡üüüY³g6 Ž3(pôÏÎÎÎÌÌT«Õ½ûô=uò„XdÏÎÎÎÎÎ&ÂÛÛ[.—§¥¥¹»»ã8^Äúñññyðà\‡j‡ÐÐcG¦¤¤(•Jhà-ì›bÚl˾¾¾°<­V˜kaÞyžOOO7 jGµ§‡'Ò#¬·±•ø³gÏœœ+U®*e±,Îxõò…»Æã—„Ÿ›·h%X‰Ó4Íq\ɯÓJǰܼ\ý{ÄmÀ0lëÖ-™™’x-A&Nœ0jÔèk×®4ØÓÓóþýûS§NqqvŽ‹‹³59ö÷÷—«´¿¿¿XÂó¼——,;;;;;;ò““Ó£GÉÎNÎðzÒÞÞÞÞÞ^x ´c±X–-] ·WAVæ8ÎÕÕUи¾‹Û2Ã0=P« Àq\({xxÀbuñËMÑôÄ &MžÔ¦Më©S§=þ|Ù²¥÷ïߟoë(¬Ñh BᔨïV󋢨x40 »}ûŽFãµ\®.®®.®…¶coo?göl8³Â”á8¾>!að A«×¬©[÷-FAijÉqœ0GïZ?ŽŽŽ Ãˆ×!46,TVÓf[ÚϵPFDðï‚O ôHðϘ××Ùm¤àCú—#*±j&gogÿÓòåûöï6lhVV¦o·nÝëÕ­õ«üpC’äºŸ× ó—ÑO…H ÒK˜,†afÍœuú̙ٳg¥¦¦¸º–hÖ¬Ù°¡CQµŠtö¡P(fÌœ1~ÜøBcŒØi5eðø¿ hŠŽN†e+„„C› ¾v†]Ä ˆJ©DP†ÆäïbàFß±Cû®]ºÀÒ4 |Œ7šÍæI'rc5HSð& @QTˆˆ‘‘0ˆ4ÃÐE7Öb‰¿-Š :,7'§TéRß!—Ë¥aù‡l€¦(úÓ¼^aJ;ì¿+ÆÊzë£&ÌÄü¯ß"ŽïñÁI…´IkIBñ%Ï^Š%n;2?vìÈÑ£çÏ—ÒóI A‚„b‰aK A‚ Ö A‚ $H [‚ $H¶ ¾:¼gTwe"/þ”ÿý.|Ê>‘\‚İ%HðUpeÕD«Í{ðàÁ7îÞ»—™™ D>ëâʆá8Žã8A¶ÄÈÎÎîӷ“Ó– ©;„X%…ÒS¦ÒïA;vìØ±£sñÛÇ¿¤Fp“Ì×%É[‚„¯r¹|ÿçÏÓh>‚( ÃX–5 EõéÓG¯×s©‚~Ûf³™çyµZm±Xär¹Éh¤hÚÁÁA«ÕœcPX'IR.—#`BÞ°OÒGŽã m2™ `2Q ƒe£ÑÈ0LÕªUf³Y¨ÆqœÑh„‘Yår9I’<Ï›L&˜ÍS¥RÁÐjµÒjÿ__¶. ¾êoE_¾|¹mûö_ýÍÏÏ ”†yyy-\¸èÜùóŸ<Á0LÌáÁÁÁaaa•*UrrtÔÑA\½zµAÃåÊ—Ÿ2uªÅbòüù³>}û•+×=ªGnnŽã™™=zô lܤIjêS ÃvíÚõý÷#›6mZ£fÍ“'O1<²Adå*U¶ïØ5Þo¸%ÏwŠÚ´iAA¬^³æÛo¿åXA{÷îµlÙªl@@—®]FƒJ¥êÙ³gVV‚ ‰‰‰7®:o^0›- Ãr¢Ü!þyýì¹söïãyлOŸˆˆ:ÂO»(Šfeg]½rùæÍ[Ý£¢úöé}éÒ¥‰7FsôÈšaüýËܹ}{Ïž=£F>zôè²åË323¯\¾tíÏë«V¯š=k ''gÞ¼¹ëÖ­+LÂ~=×–¯/ÇàEÄ)mlñµ3l³Ù|ìøñŸ^¯×ëq‡©a޼'OžôêÝng4MÛÙÙuîܩ۷ßJÁJ%|éö½{÷bb€·£{ÂríÚµ{õêi•ù‘ É“'NÈ š¦Û·k'0lŠ¢:vêxàÀ3gÏ4nÜX¡P˜L¦*•+›L¦V-[N˜0Ád2ÍŸ¿c玭۶ÊH211EQØŽ½½ƒN§c¦sçÎöö€Úµk¥¤¤„……‰mÊ EXŰóçÏ­ûùç… \¿~Àb±Ìœ1sÇŽÙ99$IÞ¼y+ ™¢(žç+W®LÓôÁƒçÅÇ6–óó <Ïvlß.NsžššR»v-HC—ÎiQr¹OÐGŠ¢F~?Òl6W«VÃÐ#F˜ÍæðáY™™Pi¡R*»té¢ÕjÛ´i3qÒ$‚ .ýñǘ1c†­Z¥ÊêU«`ÇCBBÂBÃt:•†¡³yÊ”)‹™.f9Ú%ppPhµ$†]Èè8tíÒ¥Œ¿ÿœ¹soÞ¼%þ‰a˜_P¶lÀ¸±cjÖ¬ï‡Ä_‘ _p×–MQAV6Ø&“iÊäÉÐî‰a!AˆÉd6thRRÒ³gÏ—.]6gÎì7J<žç8 ˆJ¥ŠŽ‰©U³fˆ‡Ÿ×¯‡ÏBÛoxR é× ’åXÛ Ã°á5ÇŽS>¸¼¿¿ÿÕ«W2™¬Oß¾íÛµ«P¡‚\.ß²e‹˜;!²,‚ ‹E8|à8ïæyžGD¬]@QLl(š&EZ´OÓG˜,’$” ÍEÆó<_0þ8AP´vV¨Œ"òvï îß»‡ãxŰ û÷îDm ÅRÐÇêðU'ÿ€kš$ÉZµj­_¿~É’¥7n´ÚÈlÔb’ IDAToÖ¬Ù˜1£½½½á‡$-' _4X–­\©Ò™3gÊ”)c«?|øpýzõl£èÓ4-|Â#J¥rÌØq1ÑýƒƒË ú7Jæ·x!úèÑ£QQaaa›·l1Û(cI‚Xù˦ÈúõgÏœ2dˆ­_Y``ÀîÝ»áyBhöéÓ§ÁÁÁîîî -«är¹L&;yòdµjUçÅÇ·iÝše¡ƒ<Ï«”Ê aa·nÞÔétðïeË–Y²diDíÚ<ÏÿòË/ÆZûd}DîÃâ²íž… üe˜ "ããçÏŸ{ùòUR&“Ëå&“‰›6AK=` äÌýŰly–ž.žw¸ð¯|P„¯ÅÅÙyú´©5kÖ˜3{Γ§OáÊöññ‰0 [·oV-yCJøÒÁ0LÇŽ£cb5jäãã#þ´Zí¢E -Z$f9Ï—ôö~Ë M$ŽwêØ~â¤IÚ¼¼>}ú888äçç—ôöæxÊ—%½½õzý⌛1377§s§N!!!Ð.Z|€¨S7bò”©z½~`llppy!%+ËqeË–µÊø ŸµX,³gÍ;nÇqýû÷œœÌdÛT*•Cž3wÎÂE‹:wêÔ®];³ÅÛ$¹ÿÀÁ&M çžçƒƒƒ;uê8âû‘ööömÛ¶±³³ûô}|W¶Ãq\Ù²eYŽÊf‹¥}»öÚAQ””É0 s×höíÙÝ¢U›OàÓãÉãd€pƒ%>á‘””ôóÏë>\³fAƒ• â8ÎjËÀ0lÛÖ-ý¾uËæ¯0g¶ÅbIKM­\µª>_úÔ‰®Ýº§¥¦J×_b‰$É«W¯®]·¶[·¨æÍ›;88Puö왵kÖ4nÒ¤IãÆâ|Õ<Ï+•JèeÛŽãr¹\H|‰ ˆ\.7Pµ ËBš¦I’„&c¢(úÛ®]8ŽwëÚ•Àb±ˆ]žxž···ªxP º‡%ÐÙÉd2Å çìä„atë¢i>„vH’ܲukà œœœø‰2r™LÆó<˲ Ã#ð)ûXhYhÇö'¨N€W&“‰eYEÚéééImÊô>*J€ Ã^3`–ðEP`¢oqeEÌf,'‡¸ÕëŠ, 0 0 À0Àq€ T¢$ i€¢€eŽ–…¯@hš—ËÔqÀqÀó€eA  /“ŽPŠ¢E_ÿ‘¦† óšTGÌfºìsÀ0ÀñœJÉj4LéÒ¬ZýšžBUðÂOâ:Võ…rÂq€aÏÿÍCJ^nn‡Ž·mÛæââBY,Çùø–’ü°ßœhxž§iÚÏÏoüøq½{÷ruuupp`YÖö6H‚„/z©SU¹reµZ}ø÷Û7oÊÉɱ³³/[¶l×®]ÃÂÂÄÜÖשÞžÂ×Ân2™VËâ:ðJ·¯-:)Ц(½Á§Õ«õz½Õ_„g†Ñëõ‚Úàø‰E)är¨ÞÚ±X,;uŸÂÃRñu˜ðÒOÙÇBËB;…V³X,‹E¼‰ ´}ôs‚EóòȰgÏx™Œ `J•æ $7HM%îÝ%ÒÒü|€¢Ãðr9šƒ¿|efa/^ 4 8pü[üEÇ*â—Âÿ@8–ÇÀ±€/Ñy (²<†½‘N/°^X>ˆbKó(VðG§Rqj5£Ñpîn¬“3j4p*`Y„e<† C N¥BÌ€ã<Š"4Å£x^&Cóóy™ `'ÚÂcÀPÆÃƒñ÷·„…±nn<Ç!4 Xy‡™B¶µ†œeY¹\^ºtiáè-qk ÿIŸ¯¯oLt ù)f]ŸXÜïÔ©ø1Ì#ëׯ_¯Þ_vᵉÖ'ìì‡êc1RÑ @Ôb‘Ÿ:e¿>¼wÕjŽs¬§ëäŒegá’‘±½õ,¼ÏF þY³HQM½ “ ÕéÀ‹Äýû~Üpœ—É,•+Qåƒ mÛÐ~~¼LöOyö×ȰQ£(‹Édú×,Šb…^éIðMmËïúË'#æ=Û)¶gëÿÌ¡Ÿ/PnÈ®ýi·e³Ýž½Â߆Árr°œqå/´ÛÈG7„a†Qœ=§8{N½r%]¶l~×.Æ–-9µ'}ý—ü/´é÷ Æ[œAÄ;·\¼X›—÷¯¿"žç–E” Šúê<qœåßú'ã8‚HwØ$«SÀ0ôƒ‡±D(Jµ¿zñ"%¥hÆ,i&ß5<DR’sÜ ûõ æ:¦ Ì5jp*tc(‚gÛ2lEÝ¿íDQì?9l³933ËÍÕÕSãþž¹¹¹ùýðWèèÅqœ»»‚N÷ëŽíÊ"}œ$7Æú‘î¬9ž¢Ú½ÇiÞ<,;[`ÕÒ·ÿïø7‘–FlÞ¢Ú»ÏØ¨‘¾s's:<ÃÁ³­6ÃÐMš6W‰¼$H(ìðŽdee2 3pðPɹS‚„âü©¦§¥~˜¶p\qü¸ó”)hןĪߓmê׫vïV=šµøGSd$@QäƒûÃfYöرcçÏž‘.h%üõjCQ ÇJC!ABqŠ¢ïÏ[y«üìyóÍ›Q³…—Xõµa1äÃGêÖ5ÙÅ…ãL.3VÒÐ[ [§Óýoüx{{{i%H A‚€’ÏŸG¥¥+¿dS²â‡ü|·•«w†VÈT©8š®_¿¾Êša ©»ärùܹsê֭ϰŒ4v$H de)GŒ¥?ãÿvÜð—¬]­®®ÃI‹ i P“”J`2 ó:ˆ Œ‘b4µ˜ÍE_ÿ’( ?ØÛšx` ˆ×4A Pð<ËNŠ×ÑTp˜L /ˆ¬Ü?,þò +4G__zéRàààüÿöÎ<<ª"ÝÿoU¥·$} AB QYÄÈ*«2¨ ãÂ2^œ«2Ïo.sïà 㸣¸\E7Ô«ã6#‹(ŠÊCDÙB%kw’ÞûlU¿?NÒ4I'F@E¬Ï“'ÏIŸîÊ©·Ïs¾õ¾õÖ[ÎÄãÇŽêºÎÚdú[’¤þý/hjró;”Ãáp8ŒÅ½õÒš5Uéê"Kœ:zVÃ`V+h*KH_x¡–Ÿ¯–”°¸8Önú5fù°öív£úX/vÑcâ±câÞ½–Ï>jNÆØë¡qñ`ÈЀÁ~‹G¡ ˆÃ© `Œ1‹{=¬mÀD © "n7nn!ÍMßi.€s¼÷¾·wQ˼Û|O»‹N–NåB8‡sRÂ’öïw¬zé:‹µ<É,¸£”–†† Ãá0òùH“…-??8e²2x0ML„訌!ÃJÁ0€±Ó¨öõÃKBja¡ZTä¿æš“Õλ)öŸBá0öx¤ýûåíÛ¥ÊJyûÒÜŒbm—IC‹[ºTíS7¶Õä|ó‡Ãá|ËÛ·‹@gj à¿úêæ»ÿb¤¤´º³æa M]Ç^oW’|îx‰mÅfAב~–&…„ºäEñÀÛ‡ko¾)}ýuÇ1PkáTE‰{a¹Ò¯Ÿ‘“ÓÎÃæp8ç¤scn·Ì93dYÆ›õ½ÍW~0Î×›iç®.ŠŒú§MkùÓÔfC~»Û•/÷<]E5#C=Ë?jdêï~gÝSÓÏiÏËæÍ«®ŠÓpÁæpÎQ!ù=ù2÷3ôš^zé¥úººk¯aZÒ0Œ¼ù|åj÷- kæhùùÞ[n1œN Ônw¤¦¥ñÛµ»ä å/ÂøñàrÅœÕÆá°eë¶À•WBTáQ.Øιû° ƒµ5'0O.9]4M{ÿÝw.:ô”G!Ƈ«q«~·{HRvS“KQ€RV¦õîÕfUÔØØàóz¹Y»e[”œäXtgòŸïÂOLÍ–7ojjµü\°9œŸÅaŒù^ã§ ¦Tˆµ3·j7ï?âv µµ±O¢õîM­V ™n5FcÌ“—»g\ÆBcÇzt>¹4¦É„ãÇåïV{œ¼o¹Ý8‡K1yçNìñÄtc#щ"[Ms¾!ƨÍœ4IËÍýùËÍ5}ÛÃátÛaÅH 'æOê.ŸÈ‚G¦u;œëN  H;w¡X™ ,Šz~t'/’Æ‹‡Öv–ýÒÒÔÆô=ÔþýYÌ!€xäO:ãp8Ý{d3‰p†Uý¡7vî;ÖB¢ tJlÒc¿½Än¹¡ÚYLoñ¸Þ}·~ÉǨ‘…? †1E TUI©iRZ*ü,4c±óCšD‘]кL¹7­Á«$ÒHÂCCÈ@ÅiÈú…5<$ÌdÖî®;ï¡q½G`Ünècö…B\°9Nw½D`T ØÒ|azÿ-cšüšªƒÕjùû»›UݰìS,†DñÀ¼yÙǸ ¶<ÿ¼ë½÷Ò¦Mc†QýÀ—›õììô;8z÷þqFV«UQ”Óôé¥Ó]u„¤¥¦B Ð QBZ&í•ÄjIËW¢vW)¨•2F¡ò3íãO{·0F‰@“:V85ˆÅ›ÃáÄ|üÖ¦ªìGyï4„@Hu­÷P7¬CZR<Áñ :>…!°}GÑ=wƒÏW6gκGK™2åè²gœuõÅsç69²ïž{-O-~øm–dY^¼xñÌ™3ãããÏä>ˆ‰ M».U†jnnÞ±c§¦k‚_È_•¸ä0%']I†X\ .}ZU¿Ãà„QŸ¢>……=»_à,ôñ'3& Ù‰RôWÀç°9N ¯!&‹ÂóÿÜ»bý¾@Hˆ2f00 ‡ÂªÒæ~™Î !DEQÍlƘ™ŒmžÅÿV?3ƨªæ.ZøÍ† HDUí?lØžk¦ãíÛ‹Fޤ--ö”ðzY[$Ù4Ž ÓEO‘`ü;}Z¬*˜Ý÷^;;l«KÚ­–(Óâµ–”–äo“£;H)ÍÞ•SWTÇ, àd±Ƙ؆ ‘;ê{õÑl¤›öDE¾óFýÎ~¯ö;m! v60Â^‰s8œ®ÀyCêãoíˆKH¸aâEuMîn‹_ )ºËjò)Œ±AùŽêøÖ§9ÆøPUÕ²eË*÷ì±ÙlSõ«éÓ§[-–Õ«WÀŒ3À3Ï>Ûäv/\¸P–åóÙ½FˆézêÔ©GÞ{?è÷˺ž5pà±={ +*pc#³ÙmÞl»é&!!¡UoÙ¹sçsÏ?wèP•Ãn¿rêÔ9³fé†j«•Ù !$2¹K) ƒ¢_Aa³2¨ùÊ™wGë4$.v¯–YXQŽ;+P¯ÕV÷ªÑj4YŠhÉ’= ÿ>Þtœ4³;YY™!»Ýž–žÑ«W!!$55õÂò ¯½nFzZFk~z¬>¶v¿MÚ)¥ÉII9yyÕ‡ûÛª°u4WdÜðé§Ÿ®\¹òرc6»mèÐa³fÎÌÌÌŒØÙl™Rù^(¥III¹]¶o^Lô÷¹<d抛û…Ä‚:⢵œ 6‡Ã9Åiþú[÷««ûöÊ/.Ì |ëÕj¬1*ÊMnnödÆ‘¡òG—~¼£ÊüTCCÃ’%KfL¿æÉ%K<Ï=÷ÞûÁïϘ>CEAÀ#>çpÜu×]¿'!„­VÇUWÕlßžŸŸkkGÜx£v𠉋«ª®nÉH/œö+ó!NùjïÞÿ}üñ;.0`€ßïëí·!„ÐÞ½{wïÞM+//+îWŒ1~õÕWûôé³{÷n§3qüøË%I’$iOåžÛw:“+.½Ôn·À'7®®.((=jÔÙ»uú}u³¾«(É))ªªš m}póàê¼Ã”±¬šL1ERûª™,#²’Ûjµšb–u`ÿ~·ÛÝØØ°víº¿=ð·… ¦¤¤tÖG„P ÜøÉ'.—ë‚ .>|ø??üÐb±<ýôÓ¹¹¹£FÂoÙºõ«ÊÊ”ÔÔËÇ‹^ˆïñz_Z±âÁ¿ý­gÏž>Ÿ÷“Ÿ†Báõë×—” HMM3¯çí·ßž2eÊÖm[8˜?jÔ¨­[·vÑ>!¤ººÚívŸ8Qãñ´ô+..ìÙsÓ¦MÍ--ôï?hРV!GiZ§¶ªp›ÃáÄVk»Eü×¶#kwÕ_TÚO–-ÕuÞôyrE©$€EDË"d§8è7ßÖ›ÅÂB{*+KJ :, Y­Ö?ÌŸÿsçÞpý c—Ë5ÿ7nì•W\ñQÎ{;"Œ…Ô”€ËÅz÷†–eË1%å¸Û}ôðá>/.G3JÍì›o¾yÛ­·öíÛ7 B®»ö:]×·mÛöé§Ÿ•””ƒU+WÝ|óÍÅÅÅ‹þüçyón/îWüɧŸ<¸ÿ®»þ²uëÖ'—.¿íºµC.ÒEû7ÿæ7•••/,aÖÌÙIÉÉ+W¬`£FJNJzmõjY–û÷ïoþkÀ¸³TvÛrÁæp8­X%ቷÿ½¿N;¢¬Ñ«† Õ._ØPTC˜L$€„©Ã* +ªNÚªZù}>§3ÑL 1 #;'§®®c,Ëòý÷Ý÷ÐC‹¯šv•a¿µ`Ôïw?½l@EÔÕÑæfp¹”=¾z÷Ý’7`Ibmv@564äõèQó`ðàÁååå’$™Øoöíëß¿¿Óé¼õ?oÅ_z饣G~ðÁ‡^ýõßÌ™S^^®aÅŠ/¯Z•˜˜8tÈ×^;göì3tžîèÞP–å쬬S^œÁz®êÉ|,\’3嘟j÷'HNIñùý¢(vÖÇ`0xèС‡/¶X,/,_þüsÏBÆŽ EQ|â‰'ž\²$//oÜØ±'Mºeî܈Ùþ0þÓËž¾}Þ¼ŒŒŒÿ¸ùæñãÇÿú××½ýö[»wïÎ/(XñÒŠüãmØ zÉÀ9ÙÙáp8))©‹öÿó·¿¥”N½rêWLÁû¼Þ°¢L™2cì÷û«ªª.¸àÆ0Æ0é,;žaÂCâ'¶ÒÆÍ LgL7´FM0³KÈ&#»„-•D¢hFœU €Õf««­Ìð564$''SJUU½ýöy+V¾”’’tiEt~/±míc‡ïøSÂBg(¤‡ÃÈá ÍͲÅB C­©±ôìYqËs&&644dfd˜n¥9èinn~ê©§7oÙ …¼^ïý÷Ýc§ÓÙÒÒ§jBÈÝÔ”“›Ë#ms¥˜8i’©pæ©3ìu&vvRJ»^ˆ…2 £Ýš+†˜-ˆ;%ïd/tH’$v¨&Kóy½ÙÙÙ]ô‘1¶æÃwíÚe~ “&NŒ>…1ninžqíµ‘,¿v×yñÅ_rÉ%„}ûö=úè£v»½¢¢bîܹ+W­ÊÎΞ9k–$I õ ·Ýv›(J þø?#GŽì¢}3îLL4§,‹Åj5eYŽ„BHS; ‰#çp81 «ú­S|´ûØÛþÝ·¨·Åj?\ïëŸã°[«ˆ¬"²ˆÈ"!ØT7l¯ÎM±YeÂë×·ïÚµk¿ùæëA¥ƒCáгÏ=;eÊ]× Ã(*ê}ã7ܹhÑÑcÇ®¿îzt^GCƇï¹'EUó33u—+”›{¢²²hð`cÿþ o¼qËüùßy'2dÑu}Ò¤IË—/_°ày¹y¡PèË/¿¬¨¨ørófI7|ô¥ô¾ûïW#»[šuHJiß>}Ö®Y3köl·ËeFVVÖ°aÃï¸cÁE]äóù¶mÛ …Îx ÒéòªÃÕÔ@||×µS\.×Úuë”p¸Uz K«O˪ËòÛýžÿõ¸S\ÑoÆ_xÑE¥šÆ´;Šªy<-;v쨬¬3fŒaõ‘2eÊ þ©°°°¾¡¡úðaUUBº®[-]×ûßpýõ&LÐ4í‹/¾P£ö UTuÓçŸ_X^ît:³²² ½>¥tèСo¼ñFUUÕ3Ë–éºÞÒÜ:މ',¼óN¯×›”˜xå•WX2yò䫯¾zĈÿõ_¿_ø§…K–,YöÌ3ã’JJJNº¹”nß¶ý•W^ ƒ6«µOŸ>C‡ aŒaBòzôÈÍɱZ­ž}ö¹ºÚZGœã𫝠…B]´_ZZ=&ˆ}ÜúݠβđzÊr5ø¿­®ÆË ße…Ã9wÀ§¤¦ÕÕÖü$ûJé:ýëk;ˆÅ‘›ž”*G–æFÐ Œ‘(`ŒZCܲ,3ÆTUÕu!$I’ú fjhšf†,Ë?æsFÓ´E‹••—O¿æšÈ~Øù=¿=RýCX BóÆ5÷Ü;jÞ<ÃíÞúê«É÷Þc-èyìæ›Ë**`Ï6~ü–Ö<ø ”˜h®Ô2ò*ŠbFÄtápXÓ4]×Í…ì„A‚Á Íf3ÿQäXÓ4UUÍts wä[eÙlê´mÎ$Éþæ›)¿Ÿh{Ú¼ÂÆ¹ÜHIÆâââÀçóµû_555ïðA8bUf Ø ±œã92ȇra†#÷üðaÃËËË Ã´MŸcŒÍÒë¬æ,Œaƒèº®( !Äb±˜Ô4Í´stTœ1¦ë†¦©æýl®ÆfŒ…B¡xàÖ[oÍÌÌ4ßf~SÝlßœ#7ÿQÌc¢ÿÔS‰-FmêÑ(ÅÅ5ëש--”Ò¼üîas8œè ]kЕô×9?ó~åûwÝ2±f0wOl]]ÚöææææQ£Gw¬3•ètnøè#¯Ïgþi>ÏoëQMK3Fq¹6<ñDzFºj).V ÆŽ©w7e)€]”4·[JLį[·îO šÏúŽvk·`=¢ÖÑÇí¬jjXôÛ5þ}GmJY™ž›#~ûmû¡‰Ùø¶m–MŸ¯¸‚u> p8%˜…M$‹ñî   ƒhñ'Å©=RÕ$¨éa£´´TÓñ5W©u @g}Ä·ë¯ ÑÂl®…‹Ù¬( ¢(D—kjj^ãŒÌÌüüüp8læg|¯ö£OÅ8f Â>Ÿ\ùè±§øæ§s!ƒR]ÓTMknV¯(O·a©ºúzóAcz{¢(šÉA㤤¤ÃUU㮌±ç—³í4cÌ 4ävÛ'N BýþýŽQ£\.`Ì(-ývéS¡ÄÄÚêjËÈ‘$/Ï #4~üøiÓ¦uLŠ>WìF©‘™éŸ>=qñâØw‹¦9Þþ‡2l˜žžÞ…`—••R'XZ,¡ÑÁžbëÏ 3±HÊù(×?Êrëf]g·ÖÛic±X–-[–––6wî\EQÎú½ c¤(Ö5k,ŸŽ:¬’3§!XÔ( 6‡Ãéð0¡T×uC×u]W5íÂ^ š¦‡Ãa„°a‚ šºn†sMñÄÚ2Ù|øþÒLÇS}>Û!by¹ éšÆ(Ålö¬:·;¡t -¯3 $!MÓbšî±›i üjªmý:y×îv3ÙæŸ–MŸÅ/[ÖtçB†IŒÈy[yZ `ÛgS†*ÄA=™cÅ2@ãvÄ…/ =%ÌóÓö=<ðÀæÃY¾S­ Á@Â’'ã^y{¼³Ì?C£GGçôqÁæp8§@±Ùl†a0Æt]×tÝÐuJ©é[Bˆ³83-žIDAT ó)Ü¢ä´>OÁœÎ4 C×uÃfÓu1&ÉÌ4kb„P[}ÊsÝzcFZZ`Ò$y×Âeñ/þ!¬ßswÇÂã‘2ƒ/ ‚Œ2Ä¢¶Œ1@í­J!y03PkyrttEë³~=ŒÜÔœt÷_ìï¿t£‹¥qË/žÛæ‚Íápb<­Ìi6Q­ú Œ«u;£EŠEBºH†ÿ™0B‚“&ÙßyG®üª´ 6W;aùr#àoùïÿ†ää“óÙQ‘mÄ$èÔ Þ &1å¢0P8EÈÞ‘vÒmÈ0¢€¦!C'5µ‰>dýì3eÆŽxgÎ _:"zŸl.Ø'¶WtVÞÆMw˜NÏÈ»\úúkɵÙ²úu[c£1}u&˜ÎŒÔTg8`–b¥4æâ%¨5þó¿¡X[¤0Fih .7öy2±êôÕWbõÒØ@êL¿¹‹΄ИьðJgÎÏŒ(ŠñmpOß׉Yôš[õûApxö¬¸ È®]Åo€uÃÇò—›™,c I†ÓIãã•AƒÂ—U(eeFz:¢ÔüÁ†ÆàüÙOÂ#jBuµüåfûÆFìrã`P Ð1 3ÕGá#”ÒÒv§¸`s8çªZcìõy7~²ÁÌó✞ËkµZá”bS cüÉÇÎû5fgJHúÄñ#ª«Å––.ćB)=ÖØò®]q+W"BZr²ƒ NJ²;/¯¾¨—?%•Š"Š’.™úmº¡@h;8ç,@t„$¯7¥úHÿµëRýþ˜ëª#íZ­ÕþÅÍ и¸vi¸`s8ç(õ eeå m'sNËÁfš¦=ñøðÈ+ÉÉÉ999~¿ŸçûZÒŠñmY I¢c“ìÎQŠ…$8]—¼à@@"@Ьc È*€pP€Z€:€| à`’Ä™¹ôŒýø*ÞºE6cLU{‡BÝbZ£ãôÀ”)Íü=7i ݯtÆáœ»Þ¡Óé<Ö¤þÜ fYi ”:Î_Úz³³¥RjK‹´dIüSOãpøÇg;œ)©Ð§äåê½{ë™™,!AOK£ÉÉ,ºžI¥Rcžú¾ï7 'ä={„];áõ7¡¥ÚŠ¥Ÿ¶m€‘’â™w»ïºë˜Å‚tÝœògŒ)á°YéŒ 6‡Ãápºçe#„űúõ„Ç#]ÆÆðkÁ˜:âXœCÏÍÕórõœ\†ˆŒ!Uav¨ „¨Á EºÎ$…‚Ìjj´.n&01_DªÂFºÚº©¥$£€ŸI2 †‚ˆ4•aL\.¡¦FÜ@8~<’…w&¦0?«ge5ÝwohÄ&ˆ±H‚l‡Ãᜎ´¢ÔºaCòÂE¤¡þÇ×ìŽõ[!ˆ™D©]Ç1GŒSß÷ý”ž­8|¤/¡Ë*šÜ¡öíc:ôèÔaRD°ù6‡ÃápºEkˆãÐØ±.IJþã¡®î ýËÓ¹†—ÔõŸçÎp§£•¨Íœ0¾yÑ"#1té6sÁæp8N÷³uf54r¤ëÉ% O>iÙôyÌŒèYÈÏ}…n+¡‚¨ÝD V«Þ«W`â„à„ ÔéìlzôgO†ÄI{hs8‡ÓA¼qK‹õóÏ-[·:>Û$ÔÖ2I¢ññ ë‚Û­[ðKRîv:MeYOOC ô¤äÐàR­°PÍËQ¤+MJ¤ÉÉì»VRJuMëѳü¾o!„ðdT‡Ãá|o‡›1Ðu¬(`Ft¤©Iª®NxãMËW_ õõ¿@©¦‹wêTß„ñZNŽ‘`Ö­e¢„°v‹º_sŸï¯÷î6âR¤ªê¡û¹{Íáp8œ³$\Œ!3A@º.ž8aÛô¹tô[ñè1áøq±¦«*è:2«dG»Ìƒv¿cex›‘v†µÛääÐàÁÞɓԾ}õ´4 (E]äµ}‡[?V”~ÅýÑᣵz°™ÒÖ…àüNãp8ÎYVnQŒ!È0ˆË%8 =Š=^†ñ˜,3È0˜ Mc„ J™$¡pXhlêë-_íEá0…p[µŸV¼Û½mV¥w‘Ò§OóœÙja!•e¬ª`§-Õµ¦”bŒ½^/Á8!==÷¯Êq½°b D)åšÍáp8œP¿M ǸUɺ¬[‚Tûýâ‰8FJX<~B…Ãm­C¢ÌbÁ~?³ÛÁ0ÀÐ0A@u8P8 a!M‚1f±`¯¯µ†šn0I@ª ‚kÙYJï¢pÙ`µ €Ê2‚ygKª#ø@À¯!ù€Çz¼¶áÿ‡#L™IEND®B`‚nted-1.10.18/doc/docimages/after_tie_method2.png0000664001041000007640000002525711520267216016343 00000000000000‰PNG  IHDRþ¢î¸çŠsRGB®Îé pHYs&&¢ï%ütIMEÙ ÅpžtEXtCommentCreated with GIMPW IDATxÚí]yX××>“ B$a ‹€ˆìT@ª¸UÜ÷Öªkq­¿¶ÚZµVëV×ÖŠV¥ÔZ?[ÔZÔV­V‹‚¨ €(ˆˆl²!dßæûcb@\ 11æ}xnîäÎ{çÍsîYAQpàè~ àSбgÏžøøøî9v_õ»3 F``àõë×ñUßPPJ+ø|é–ƒ§¹rN8Ý…ú¢ª+‘½}Vì>¸né4·^ y<|Þqt}êËšïŒ ŸøD€}<¹þ~pŸcšð©Çѵ©n96µQÒºJ!-ÿ(dJ —|pt]êW]]¼5ó|½„›4qÛ]|öqtYêoŽ:ŽÈÞþÉ,Í:@#c59ßEËð½%]’ú"N|lE3HVûSS—Œ v š|j_¸ZdÇT ð€ÃX îÔ%'öa…€ÏÎ/èÃÂÊnSÖÂü$¬|énÃJºéÌ… ºðFZz~a W(·qñÿþŒÞVdœ"]¨Áð‹¿ ÉvDòVÕJk’úQÓ{jPH*ãøjx;‚ ­gÆÌºï}¡íÒ°¶¶G»% (ðüQ%·É¿úP[?[l Q]¢ߢ6íð@—^³—o½z·EQªßœEÿëe Ò¦ìÍå||qÄe}mŸ&Š|,ß=´Í‘:¹+Øöcwð%ç6z YU/2½×ç{NUWßÿ-v﫱/L³¥âÁe}í –Š”*Xö¬4/fk|æú12f.—›àFÊŸ±p_³R…ÌÆ.Þ¸gÇ O:r¶F.N‡Ðm3pêã²¾¶6Ýxáùë²`õËJ# y¹¹¹`K&Ó™ì:¬^Xqkù” ìòÈ>×%]^Þíβ¾ávxÔ›öªg…ªk_] =Æl6®¤_/W±ß^•u“„  Þo[W,ßò؉H¶Ûsíz8à _qY_k Dµœ£le·’pç_®ÀÊ‹¶‡ñQ‡ýëóåAœ|ü»ð^=¢¾ùã=‰ê±ÿÚ½¥ýmqrà²>”––ŠÅb‡cmmmeeÕ!r)Õ}AÑcÁª¶Nx—¯P=sZ_\\o”1W<)Ç —'y1Ì”|±RsÈ}ÐÔ­»7rw‡Û¯R©$I7lÛÕ¹#¡* £©© }||:xê?ÿü&L›nN@€ûðú•ÜìgÄ„ ;sc¹©©éòåˈfñ šÑØN.nîζônuûÿúë/kkëaÆuêQÜ¿ŸF£õìÙSÿj®µµ5öåmÛ¶u\Àöïó„rEkoí¦Ô#–ÿç*ý)+J)§ °J5÷óe .Ÿÿûì…ËYåJ´›¢k¨¹ãÆ[½zµé¨¹D§\䊫eÊž‚ä¡ÃW‰U(HV?]ÚˆèMhW|°+K TµmJ¦ÛŒ7yq5Wÿ³¢@ÿÉœS Dr¬rä¶+ÓiúêânÌÄT%Åo$¢~?gÄÌ ;]ÞŒÕ8Yá‹þú:¿ "aøÊK€¢JüFâ0!êÛ‡ÛÀƒ´:죹ÍФ‹ëˆú’t”‚¥C¢y <Ô ‡éQŸÔâ§@ ³âÒþö¶Ð›j‘¼nDÚàXüþ™&T î»}†ÞäJ»#õ¥i3ÞÒ|œýóÍz[ëëäù'$%š“ÌDYEbET8Ï”#° B}TѸ`ÐØL¾úGï>ùÀÑ(}\%çÌöÅ'çN¹™q’™,æ¹9Lr~à¤m S CÕΤåììÌf³Û_•Ëò‹ëÅš=û±HzûñÊò*”ì¸sçVÜñ3ˆÅâüü|6›íììüìJ"ŠÄ©R…Éæ ÓŒˆt.Š›y<>_,–*T(H¦ÒèL›Â¼\*•êíím±GÖxï~‰¹}/okƒ­¨¨ˆJ¥¶¹›íB;áû£>úì³Ï^ýºŒ>‘Y­k†:õC/†^Y—±ë­é„Û…\͈Àb©=þÿûᅫŸ$???<<|æÌ™ëׯ¥´æÌáC¿ÿ‘pýÞ“Ö ‡GO~påÙ8›N‰º¬ÓŸ®øêßÂgRc4ñ¸œZ>‰B ¸pႺÞ߯çºÒ¢€·x··á8sæL???ìnŠúT*•É|•“½Rúdò{1ˆJ…fJ˜ýõàš¯”›±{õ¿e}Øm}Ë^}Um€¹!™››3™ÌÚ´Ãc'~ŒE«ÕÎoÚÔܤ£ ›dü{1|â 'f§æ}zìÒˆc1{âsÊ(O¦@DQ«ÙÓjÝÿµV¿}J«ôÔ'¡K_Ì{^V-3”UDÒx¹X¬•²yùˆ¤:q—Us9·6Ì=V¤Ö!òÎäãƒÞ÷^Áßz9ÿ¹Dåͯ=[AsÈÓÓ3 ´VgU¥÷™²‰¯P!³qK·çW?øîÓ©ÖD$'aëÐ.¥¥”–úà ª=]Ζd¨]>NÚ>MY.Ì›ÔvI%Ö—ûšJÁmÓB¿EçPTý’•P©2„ß’V£Ð.J‹êÕÙ£´*“'·¿ËA43œûÚ6›Ö}¹ŒÚ¢4%÷5½ý⳿©AýD£Ðƒ.ÆŒªí "‚¨ü„z±©-ŠX”Öãì¿'÷±E¼£›æ÷èöÙ»@$Û­9z¤ á·Ë—/+•ÒK¢¶¶6'³²=ÏÜÍ‚f¨H4ÞÃ_ås5iŽãSÏ­6©™èçb”’¢iZ Xã:‰íÀÈö#fðgI%o?JkãôÐèèh"‘µjÕª´´´NñËåÿüóÏùóçÅbñˆ߳ȄWð~or 1Èî­RZ6;b¥æ±Œ(?Þˆïajv½~üxCCƒ©É6R©ôŸþÙ±cÇ/¿üRWW§©/»ô]€Í B‚<#¢®–5Î_ÿÀX×ÖݹO>~óæÍ~øaÿþý-,,¾ýöÛ¬¬,Oû¦»&º€µÛÆ. ø}Z­úÇgá{dšú™[—þ}à”õ"eË>®Mð`²¸ôa^ec‹/kmjÜÀŒ²ë;(:­ X”‚A²²²š1cÆŒ3T*UNNNJJJJJJjjjVVVVÖ3~fff666,‹ÅbaKKK3³g¶V ŸÏçñxMMM|>¿©©©¢¢¢¹¹ìííCBBÂÂÂ0öS©ÅÔ@\‘‘èuºé‡éù¾.õ¢{×xj*÷œ¾ŸEBTâ9c¾)UBþÁò^‰±qU‚žÓÜX󠊬KGW.úôj¹:¹~ÍÍã÷ιüi ¶]›H”@ úôÓO1E";;;77·¨¨¨¨¨¨´´´¾¾¾ªªªªªª¦‰vvvöööÎÎÎ!!!¾¾¾¾¾¾~~~666Ô¦F Ûº}©ÀuHȸM%ÿm¤ ]‹úî%MyéuðaCþªË\ ‚¾8™·sº÷ÍÎÅ~Xþg¬y R¿Èù— žèÑïb­û~òšiœ¥öd-¤dCDié%¿>¦oµQ¹är9—Ëmhhàr¹‰¤µ¨Í`0(н½½!õ4/ù¯3¯dçq2Ë1 ø»QQÜ9T6ßËÌ®nRýzuDè¢ÁŸfÄLïR››–ªÅ\Æ왾"zDÁ>–ü=¨¬q­ró¾o}ï&Uj%¨]]3ÐsÎq­Fñ2Y¿Ëçׯ¹}|BÐ \Í $¦•nYŸWp¼ŸZ0#Rìû9YÀq9&%ë¿ö2ó”.a+5Äá¤p`fŒ:Õ«O(Hÿ­lå)Åô[±Ñ§%Éø­÷:Þ§£´º|~ýôØ¥=Cg»[óü!•¢Q*ò•zŽ%Qɪ'†|˜õÔY E%<º«wo%jRÆÜ×¶æ’-|±‚ãØ-»‡B,tU§(¤ÚLÅ$ò#O% óv‡µlQ?¸ÝÑ™Õ_”î¹iÏÍÂÃ31ï]’yÏõ?_¨6>~ø  ðqü€N,ës¹Ü6ùUòþDQ¢¨¬©²¸Xm¶Pö¦Ãƒ†[V`¸˜+¤ÊsÝy\ËN¨Œ= à¼Z?î`æÇKkGß°iŸ“¨õ÷µÊYQQÕ¯îº-Tª%bÖgëV}äfAj(+¹qñÀ‡ËÓÀ6he0¿º¸Ó®ûJYå¨9ÚõÜ´RÊô›só·mÙXa̾£Qß”6x¤"‘ˆÇãi; í¬¹žžžîîîmŽ\Oª*©ÁƒÕ6ÿAJz¥]¿·û°Ô[x…דʥJsÛ~á}Y­U¡Ä+êWÊ‘¨^ƒ]Û½YSÉ»õ¡Cúci ±ú‘#Gj¡Î ·nÝ"#ˆEI4[ÿ;K2(¥M”sš!Ò‚ßÄ  ÓBÚ˜sýN]{÷ŸÀ°¶êß¿¿û½{íjƒ\ƒ‡Ðd›4(²³³étzk'ö7¡æ¢(š³}Pm§´š”‚a ó#ÏijÎqKçOŸ±yHJ5—á5ïzû6ñãP+³onÖèÅiØo¯âÊU(Šªäÿ·ñC³‘l÷õÉqqq×®]Ó‹åèÍ£®®îâ÷Úy⛻Ѭ¬ô®æµV¯w¢7•ÊÔhN˾Ëâ¬Hqý™ ¹ O—ÚÉÄ]ʇ-ûž®œ@ÈùMÚê#¨:¬)¿³¼ý” ú‹ÒjßssóŒÁ ,³fÍZ·n]VVVGÆr”ÊÄÄÄsçÎñx¼áÑÆñÜ|û)õã*›Mz²ôâ¹yùc? »¼ÇS´¬‘Ål±ÉgÏÄÎp‚#ÒT&}¤N`f*ê@,‹_oÏ6ÞššQÔsóêÕ«£GvttŒŽŽNHHhnn6µ5^¡P$&&îÚµë矮®®6®çfÎ6õÓÆ!ô¹ÊtW}ýP_!.hI€Þïý {Ñh…œxì “oªoŒ\ôÐÝ\M» ‡¾ù(-R«õŽjë1yþ§o¿~sÕ˧~û~Û¦µ_¯Û_Ø${¾­X,þóÏ?'OžŒ9áÐh´ˆˆˆµkמ:uª¨¨ÈЊL&ËÌÌÜ¿ÿܹsCCCçÎ{öìY‰¤#”*4é4úåÇèøÑhÄ0tê,të´Rh ÷5þãSêÍ={ï]—+»,õQMÞ2ûÍ1$ætFŒaQ€á±ý|캷lÕ«+pZ&Oªó˜hÍår¹¿ÿþûÌ™3[ûÊÒéô°°°… îØ±ãäÉ“éééçuœC³²²vîܹxñâ°°0:>`À€uëÖ¥¦¦*öx½} b£mÿH̆±æ¢(*m¼¿{í'|0oíöØ[뺦ç¦CמKb|2}ù†ê[ŸN°µÏèO–ÌŸ02ܳ‡­JÌdI¹ÈóŠW_Œí¢ØÌY³kïúyVÚg8«N‰z{þMLÄW ¯žžæŒˆû™‡t°æ¾,fÍ=áóâ÷Z3™ÌÙ³gÏž=[¡Pdff^¿~=%%%---55555µõ7i4šÍS°X,:½åµE–––$‰Çãñ[ÇãUTTÔ××c;Ë!!!¡¡¡Ó¦M4h¥¥¥v#Œ] Ç ­ZŠÆE $OiõÂð_¾%¦ë«¹Ïˆõ·7.™îÚêy×D²ÍÔeßf׊%"kVýⳬžîÜcÖ\LMx8«…Bqþüù£G^¸pA*•zyy…†††……………ùúú¶Ö\ .—›žž~ûöíììlƒ1iÒ¤1cÆ´‰so¼NŸ†[ÙPÓfVÐ;"'B°;t{èú~šî·øTË&…½?#oÑ[ÏlŠ¿Ã¢þ×(AB³BA# Æ¥þçËŒŽ/!P]<|úx÷Ðê—ØØØxêÔ©3gÎ$%%‰Åb°°°ðóó ìÕ«—³³³^TdE+++‹‹‹sssoß¾žž®R©"##ÇŒaaa“øM¨¹¯ÀúuŸÙΓլ½ ötë›O(ÕÛˆ¼oQ»_ãméL&3:::::Z$]¹r%111%%%+++33³Å¦C¡¸ººº»»»ºº²ÙìÖÉH°„"D"S¸±ýÖÖ&-.—‹Ñ½¸¸¸¤¤D&“ùøø„††6ì›o¾ÑÚ1‡A©ŸÕ,kS#✉çˆ>°W/KravL zp—™> ‹ &L˜0x<^FFÆ;wîÞ½{ÿþýÇcùHtûiyyyùûûGDD 4Hóê$&GýVLŽoÖ5Âê£XÁŒÑ%§’Á`Œ5jÔ¨QØG•JõäÉ“ÒÒR, —Ë­¯¯çr¹|>_Ão¬@£Ñìì윜œØl¶ƒƒNÍNCý…£œNÄ?³Â)öóhš…±ê`žôï3K ÜÜÜÜÜÜp’™è ÒÛª¿sMkÏG‘¾ä§dMÒT%úò—B¬~çR|ÞqtêÓœæÇWÇ•»NÜx«¨jß<_ÍÑk[Çbù ®¾0œa†Ï;Ž®#ðÀ‡'¯œöì{±RðäÜæy ÇéçgM¦œúqC\ Ø.¹²)Ÿt]úDó^ÝOŽy"«>ÿæùü›ç[µòŸ”cA@ðIÇÑ¥ Fð±ŒòÓ1«z´lÆÍì¦.Ûy?ÿ¯@#½FîúuÊ'Û§|²½¶$¯°´¡Ùú÷ `Rø\ãèâÔ×À¡§¿CO|Šqt œú8pàÔǧ>8õqàÀ©N}8pêãÀSœú8pàÔǧ>8õqàÀ©ÇKAê†cf³ÙÛ·o Áo?Nýî;;»U«Vá÷xpàÀ©o0(¥•?|¾tËÁÓØ»pàèÔU]‰ìí³b÷ÁuK§¹õŠHÈãáóŽ£ëS_Ö|gTÀøÄ'ì£àÉõ÷ƒû{Ô„O=Ž®M}tãȱ©Ï¼ÔI!-ÿ(dJ —|pt]êW]]¼5ó|½„›4qÛ]|öqtYêoŽ:ŽÈÞþÉ,Í:@Sg¡Êù.Z†âó£+R_ĉ­hÉjjê’±ÁnA“OíSçÜ” ²c*ø ÀÑ©_rbVøìü‚>ê<„nSÖj¾pén~ptAêߎ+"ÙîM¡šJ3Æ0k’ºÓ¦||ŸGW¤þUBp›ü«µµ»MQ¿o‚€'âÄÑ©*nðe°|÷Ð6GêäJ¬`Û5£ÁPîk i©H©€e.ôÖõra¶Æ—a®¿ÆEß¾}›››;Ñ/^¼xåÊ•&M}•¬ö…õME°Årà ;*N>㢴´{xg—Ë5}Y_½i߯f{í«KX¡Ç˜Í¸¤otˆD¢ÎuÁ999¦N}„¨–s”­ìVnâüËXyÑv9÷ØÍŒhÀy!‘h4ZÿþZk&ÙÙÙõõõ#GŽÔ¶aEEEAAAß¾}mmmµÓy‚[·n1™¸/ !©/‹;bI>ûYØoZ’í¬Þ1Iöçsˇ<üÝïþf­Ï©Çóc R©>>>'OžÔ¶áÌ™3/_¾¬CÃÇñÅ«W¯~çw´j˜ŸŸîíí­Ã$ (ªP(thˆ „<O¥ÒNݼ†¶òù|ìiü|C¹\þÂúv´#m?8œÁ``:Ÿ³³3›Í~õ—åÂêÜ‚ªÖ5¶þ}ÝÌõ³B+„Õ÷5ù÷ñ¦ ܹs«Ö/õ³³³©Tªfó¢¢¢¦¦&®§®®®¼¼ÜÓÓScEéøz”ŸŸÏf³ßØ0KJJ¸\nß¾}‰D¢Ñ‡YTTD¥Rµ¾~MZ Iù†y‹&A@ ô`¾^ì/ ñãP+³onÖhj´Å›±õŒ7N·ë1„­7i½9“Ö±ùÃSxj‘j;:a7<9Y¢—“ÿ:gdÃä#Âp9‡iíðpnm˜{¬H-H!äÉǽ"¿õrþr‰Ê›_{¶‚æ§§g@ÿhüvâ0ªlš;~§æ£ïÂÓËü™Âê±Du'DªX òš]ä>j«© ˆFÚÃï%ã¬úÙß¿Ô ÆÊzÐŘ1@µAD•‚ŸP/ÆçG¤¾RR4mC‹küO']͈@ Ûd˜ÀŸxbq]‘ú¹»g—HÔ¡nvS޽ß"…¿Ë¦Àããe¨R.‘é'®:% “õ{еd IDAT=.ëã0‚¬ªÄ ¶gk>Îøm¯Y+©>`´#ëÄôhײë;(º­ý¨bõ Ð]Y¥B¨gˆ@077~°íÂÂÂthˆ­‚l6[Û¶B¡[žtèTçaÒétpww×ÖÁô°°Ðaø¯«æ*D÷®ñÔTî9}?Æ{P‰çŒùZ¤T!qÄÜ/:Ñ ç´7ÒîT4î\üe¸kK6š›;Çï½§[ïx€"£íðH¸—4å¥[Ô"cCþªË\ ‚¾8™—ø»æF:@ùŸy˜ˆß/rþ¥™c,Z$Î5Ó8Ú¿TÔ Š8ðžöV}‰Ú?Çœ1â“j±¯ø×dp}xçtopžä ‡6—ż¯îÕÂ;þêf–ÿçØG¹øÑÿnÖüᤅ¤càÅ.4/ù¯3¯dçq2Ë1 ø»QQ:·m+º;õá©+CØJ¸ÎIáÀ̘‰j ¡O(ÀUIã¿•2¥óS–é·b£Ï·ß¨³‡ÞÚq´¡¾:@±ä}œÔí¢6ýÄ‚ÅËÏÝ­i]yþô±ë×’ÉJÝÚ"¥» ¬Æ“J*•(îmÙÇómµrH[ºƒ¹ïþ¾!Ãõ½Iùgãò[*õžÁS&“ÕÔÔèpÚòòrÝ®çÆðï¿ÿVVVjÕû~vvv›NUІo>Û¯jÏnCäÖ=µlK¿œ—eeÜabs®T*µs=Äæö µK¾XÁ{ðoc£šÓ–£zQÓJÏå7:¨‰î @£DP–ÑØÈnýÀÕ”-\Y‰­”_9”Nþ|]ï6_Ö{l®ÎA«r¹\·ëÑ{Ð*¿8¾Ý}3 öÐ%ó†?ßcÛö&¼zŠÐÚâü¼‡EUœ±TI±°tpvGe†ù‚†N®. ×Ø\=(Êw­Hø&§^SY—¹Ï©Ç²–è²]€@fIT- yÅë5—±,§P½Fî=>Ñβgîv‘#zá9_§-†šÛÇ'½ Œ!X¼z˜/kH Z©(’i}ùÀ÷ã>nzª3Ù/»ñ£¿æ;ìQ½@%çþÕÊqÿî·jû¹™UèΛv;µ‚ËèM,2áÜÝ›œù’w:½NÛvôc•òD ­•r%žHõfÃÑÓòðïδ¤*þ0;Fþt-î9±ÅÛ‡æ4+œx¤Îæ§~¯vtygÏjb¸ðE­@±zûîù6æÏòŒˆºüðþ’Av†hÛýø"W¬[Ãl¡Ü8jîKU%óžç79…¬yôÇòiý•]žÝ~¡²ÆQˆL…>:^al¥´òë‰ÃK% `ú.I˜çÕ‘^  ø:¶Ðc§"Ó­a¿A/õ»t}çóœê¹‰§O'ÝÊ.¯i3+·Þ#"'Žvo·'ÝÚ*¥e£>8Ø®~ÙÓI·†Cý¼ôwô—Œ$yËxõïs:Cõ¢tû íçc×½e«^NXÓ2yR%ò×”õ_*V’˜fTºdý7)¿yT&On—r¶}¿ÑcCe}=çáIúñ6dõzïÐgô·±äUФR¯nƒÛ3.~D²MÔúÃM ÕëLôëPÿöÁ%¯”²·Bëúíu ;Nþ¥[ÃÙËWšõuÖ_G±6 ê£(*¬¸½qÉtW«—º‰d›©Ë¾Í®ë<¿U׿özþÁuü % ÿ# íhvÁ!ú¥~G:ˆ=®[Cÿ…Ÿ™õ¥M)¯ÖÜâè·¡ Q_ý¦EsFâ™Ý[Ö.šÿÁÔIÆDFF,""Ö ´€‚l²„} [–™yÿ˜%$a Üï‡?˜d¶œ¹¿{ï9çÞ;I’€@ º‡L€@ ‘ H$ D‚@ ‘ H$ D‚@ H¨ªª:wîÜÓ§O‘)H]Ãçó׬Y‹LD‚è’$q'™‰@"A¨ŽãÈH$y0™Ld$‰@"A H€”””ààà’’$¢k’““¿þúëòòr$¢k¨Ì¦®L¢>‘O.|·óÀ¥Çµ(4@>Ig4?=µÚÍyÉç;¶,m=!àr¡H›.‘H$ *|ÐØÌ¦:D"Ê=µ|»¿æK7›“Z4aÝK´·”¬]»©¢›Ù|ù"i~´ïuÿ«µ/~X±jÕ‰<±ö¶$h<ênµ•‡¼° i]|!Œÿr{\ Z=õp´^$MÞ$}C×Dd ŸÍ£¶kÎ]¡•c´5Ç!Ac·ú^$ É¡‘ÅÀñ9stµOßq;­Ã¥¾ÊŸç5j£ÑY,*yH$RwäÉ…›•àúŸCëFr(¹8Ìò1¥¾deT¢ B›E‚W}ͼíBƒ%ÛФ‡Rþ- Ù\’[ æ‹ý½ Ú»­u%õÔ¼NƒQï¡Å"!«xfíC(¤ ;…ræ±ÑóÝxèô%èN}-q³4[ØþAu~O¦‚ÂcWL1G½-„6‹c0$ÑN$xñ¥ýWÀÓ¾-êl!ÚʆŽÝbèë’V•àü‹·Dœ×>^2iцÆf6-¦•••>ÌÏϯ¬¬3fŒ®®nëЋÕõÿ-ùÍ Y‰Ñ±Õú8.ªŒÛµþ<5ŠËtö½´è›éÝÛ»ÿ[SÚ £µçÍd2_ƵTûŸÏçÇÆÆ*õ[^¹¹¹$IfffÞ¼y³ÏËbFF$%%iÚ¼+EE’••5þ|‰DB’ägŸ}F¾æ61ðæü¿nÇ”èHªœ;y¯ t†O²-½_FÏoWg§±G¸ ãõ‡$Éòòò˜˜¥Žº|ù²ƒƒƒ»»{¯º4ÍUÅ…%åÕ‚œÉlhjN’dvvv|||Ÿ›%++‹$É”””¢¢"u^722ÒÓÓsÔ¨Qò˜"$&&¶¶†B¡W„†{›¬€·4ºN\vãýa²K²½fµà4!®ŒùÀ€1íR5Þ_À0lùòåÊåããsðàAUÍTóè÷ •ã­:U#†ƒùÚ`–C‡1Œääd5_×ÁÁ!<<\Ϊx C¡–D×ÚÕ ¤©ªêÉÑ•KB ¤ŸúþtjýH=•>Qqýã•G 0») é|c¦Úíªp”¨ðêWËWí¿'h®N£@POXš4Áv†)QºhmØå?EïF•ž1Óx„=€¸ÿ…ߦXªŸƒŸŒX?œMS8¤ô¦5áåÔEŽo× É [1nL!VÞüòHT*¿YÒPßX|v>™Z"B†¢Á'Qià*Çz´5\Ènʯ’~`ÿá…ËmhŠiI ϼ¿ù홡J=%Î>¸Üÿb%gôÛßîÛ¾~æˆV¿Õ•VQFKG qÕúäº=†ž_j»ÆdcÔ¶¥3aß•½¾Æ4]Qœ¶n[é†ÿ[3Tkê3åë©–Ç¡?= ì·%Þ ˜%UÑwôÓ¹.®[ïJÀaóNÿ9(ôLCK¢¬£ïlM–m- û=ÀM®NDvèÚÿⶸž<‰ºÝ7>µEµuÙi™†IÑ—?s6êqlã9!Wvzq‘©úB$dÝÏÝ-›Se¾&òØŠ!t]L˜òö7’m 9릣G(îØ·æû­®úÂ:Ï *БKö„ ðµÔA†¢_$'Nœè¡…"‡í8ð¬u[w¨iÞ¥“Çiêh_ßûCõômº áÇÅÏSc\€~¼B¯ ˆœœœãÇ•3ŸÏOJJâp8J]jüšiwÅ·ïusmܽ&zOõc£ŸsítN6t üܧٹ…¥58ËÐJDˆH’¼xñbJJŠ:oC ÄÇÇ·´´Ð)‚ ¨h]÷9{2©¾}߸´D ŦÃ=¿~<–»ð‹WMA­¾Iýæ­f”‡ªÂí’$©ìQ<·åÛ÷O}ö$§´^Ââ™XÚÚ 5ç±0Ùƒì›ßßRòwìÿ»ýW^Ý‹®:0}ð {0,íÉDqéÕ·ÌÚίg`´"¶Ž†´¤.és˹§óe7Иü‰Ôq÷¹Ø’‰ CµdbHHÞÏiοüÉDƒÑ#®Akóˆ}só/5ß’½½½z“‰Dŵ€·#*d{z_ß5íÝ;uéiÄ4ÃÞ:%‚?÷Ì(ÕÙ6ÉþKYTΧþ»ý¶‹­ù„}ñçWÙô‡@TK&ªœ‚ÔDya+_yç"µîXMxsíÚÕËNm©K”œ{ÝaÅ!±9¯^chÔã ×q'ª£?_¦ºU"{÷Nh®²…;Ïsž5 7ìåù ^»ØøB]c®™ßuL rk¡r25˜ž’6TˆÇѸZ€V‘4>س!¬u§ëŽã›8œê Ž,xÞ”q¿H4Ë…­…£©nÝ‚G¹Ð`îSfé1´q®Yû¤M°§¾¬^mȉÿõðþo¸‘O€‰÷FßáX$âܰ­?æÉ¶l6 p×®ãÄa““w÷i¸˜hW¹¤CPü /ú§…Ú¢uãhJÚ$œŸe¯¯‰‘E¸}ûv«ã.‹;ï@ÔÝòoó×õýΔH¤ßÔ\›Ë€aŸ=l&i£)ùËñC­;0bÑ/ER3 ÈÌã¤-ÐõŸØüR¬Ü©QÀd¿…¨º¶¬Ûþ0sä’½q|QŸÜ˜½½}DD„œmIzJÝãüË»Âeþ:8~òí"+ÙÜ“í!êIÁñ÷æ?ä‰ ¶‘¥½«—ÏœEó'Û«>DÏcÏŸ{4·Ú,ü&¯ƒêî[ðÊ"hPÆIëïëöb&³DnÎ\|ðqû…ÒMÜý–¯Y¿qÝ|·A}péѰ˜‚£ÊîÞ½ëããCnÛ¶mCDmòéÃѥԆΈÅ–:q¥™¼>;:âüßõ/=hää™3'Ž0p“xÉF÷ó‡ß|&wÑ|ŽeÈGïð•ùé‘‘‘NNNýÚ6DKUQ~qU#ÎÔ7lami¢×çÁÈÇ{{{»¹¹Ñé“L:µC—]þ½T¶a6Ë»óFqD%·í8|½ Ë4 Y›ø{ÿõ Ýë½Lza)RXt/6]ÂŒ±&šüÅjâ<öÊ­VÿN°óLk'eNåèèèëë‹âdôrêÔ)y†U!™(‰ˆÀK™ÒÚ²xÈ¡¾nÎ Û¡ª7Ȱ‹AΟ&Ôà„ŠHªb6Ø0¦_ª!4…‚#ݹ"Ò¿IßMJŸ•J&º¡’‰rvPÅ)À:Òœ—!m,X¾[Þ°ÓÁ0L’{ô­ Qu–¯.™ià¾'¥ªo*þëÌW³­ÚΗ¹ùçñuO«d倕‡ HB¥ã_6sav÷!šñÛáêǘžÒgíÊòèѰtìɆüLi•3c#µìoËãÃûï†~‡þy–pú«ÙÆs;» zÖ^+¾¹–Õ6éøÇ>>ñLù÷^iêÌDæ8wVwêã²G@à5¸½ LК|ý EŸ–<ÿo¬”Ååø®ŸjÊIqüÍBƒÅa§Þwåbœa¯ €¦ôûEÒ‰¢Ló9ßýú‘më9ÒŽDf •Œ»Ó33/<â¡@ucýá_ÍÒëJ$çÏŸwtttss‹íú¬†ã â1TfÀ…Ópàg8ñ ȆsÓ—Ï›h*|òmàöíß¿‘Z&DŸéÊ“$$$t›'çþ<šúÆóh!•§hL\g`²æ–€ÚE÷¦°f^¨"Z“ãëHw¿9®† žÞ¼öwèŸ1ßË”ÙZÃåD_y@å¥ FûÍq1T@´xmFl|©ýŒ©#y ¼&5êæ“&0÷^2ÍF-Q©9gÔs Cîü3:‰:tèÈ‘#•:J,dÞþ#£J®ïÆuží7F©Œ7‰7Õ”•WÖ6´H€¥Ë36³´0Öí§áˆ«W¯º»»ÛÙÙu[-*Úâ´SEPPPÇ•;0¦¯ü­ªVâ¹!šÐATMÅfmÎõÜø– ïÖÅ®½ÙÜ¢ë½9p¥µÌ»É¹/ Ïû“Ý»'õüº’æôŸ—­sùÏùcËlXÂŒ½w)‘دüj× ƒ\Ÿåääøùù­^½Z©£Š3"|/Dɯ(Go ùqí0‹ј²û»“wù/Ö®Fžïýpàã)fýïu¾‰‰‰K—.]¸pao÷;wîtŸL$¢åŸ.6›꤉A¼îþî7¶&¨-áÓ`Ã1õ­‰À¢““¥Õ0oñ•ÊžŠxý½m.–óNÈn )åS™ã~±f€ç¼TK&æÜÛ#¿¥cOúîE3›xCƱe¶ÝŸjê±|ÑL&ÒÝ¢ÆxÖļk`ÿa\5.‹ ÊjeûÖý±HÀeo–H;è%5¯Í‡I ÜEýÍEúF–­ã~­LZë?CK¬)Ñ­‚Ü?Ý«Dwüöø*\ÁS‰Ÿÿòºü¹l¿ëu0ºE›HH/¿ö¶gbPbu'Ë ŸìqÐw­†$IRRzi•ôUÕ Ï–¨V¸ë®û±Õ‹Å—.]rww÷ôô¼uë–Úž¥··· "ÉÍÍe2 ÆZèwÊl.¼VТx™n^OësÙ}‘Ú<EBã\†™ßO¿mMôù)çÞŽWÇ>þéìáMMÛÎ϶3Rž´´dÜ+¨|4`Ýçÿ­°Zvx©UÿéÊ2Œ÷Þ{¯¢¢¶lÙ’––Öcþ.åÖ­?å–5×Üaì”YÓÆXpÔ–c2™Øø7>:³8)áAfQ­˜mlëäùêDgSeæ‰qŸEÉwc^[ü]É÷Þ,ê3,}- Õ^äyÛ^& ç¥çVÈfÒ3v:€¾Í ÙÕ-fÅô&“Õ-‰H$âr¥uªÚòwªµ$L&s÷îݽ¬n%ÏCÍ{ðmö§+ÖŒôÞ,ô–¶îVûQÀòDB’$!H?óéÌ6÷NÇÊmò̹ófûzÚ¶‹²–ìºò¬‘èó™‰J‹„$Éàà`6›­§§wâĉî¬Ð˜y\®{¼@ÜŸDBJ gtÿú>…}›Þ›…~Ãö…H¤bäÞŽþhÅôqÃ- :wô¾Ôzœì§ˆÅbÇkkk¨÷¶©ÇÇUmú.m"!Éë—az½ðmzo–—aاïª23ÑËËKµ š¤*ãaNðþåb:€— ü“ZÖ$×°+7w[}eÒo|>ŸËå*·.“P(LKK2dˆµµu/U~~~yyùXwga‹°Y„““­Ç5àé±- âÒÌ´ç¢fçý“ZA·a y<^o}ZļA݈ÿÓZÈ ^ÙӢĘ×ÙêYõ€Æ–dÓ¦M†UVVªlg¬WfÁK#±¾0¬ZG°Œ‡QMeÙ“²ün%RÔ@ô”¿ û`„¶-æNŠäËïÑ,¤¨ú°ê‰ÉPcjKqq1`KÓÚÏP“ããþïj€‹.hLk¿Yc8½1 ÓÚO~bô%–^‘µGîð_8ÝgúBÿÀ3©µFÕ±ŒlS¬+©Àc³™Cô[¸Út™¿{z{—vÎLd™¸i;†ušu¦¸Y˜Cp<ìŒÔlX:—óiNÛå3.ðµ‘wådXìåû¡ ,Úò„:†f\ÁÀ(SGo˜ó¸¿Óö÷&7ð`ñ†cãLDˆ‰>O5³°X¬‘æÜKþZ†¥Q$ÍŽ…>zá“‚þ_®Ê9é+‹ÇM¥EÔ[`MìL´ K®3ØÙg±³ ^¬A †ø,XàÓ Kcó$” :~Vyý·vÓy„Å©E``k©¡Ò¢úûºš"áX¹YuVŽoíY5 ÀÚÝšl¯žj›ÉDFБ°æÎÒá³Á~+ÜZÙ¯J<ó,|§C"Ah¡H@oÌÆ­ÿj'Ç¥?Þ™1HÚ¯e‡í¹)ÌãÓ­úÈôm èŒxÿÈ£¨óŽùä—³!xQ”EõƶT`z}¶yjGýzWtÇx¯FÌšøî…Š´ï—û <Ʋ`”¥Æ?,!`ð’ÓÿýØMÙÅ´µ%à çlÚÿ‚fS£éêsSâo\{XB0Þ‰¸±ÒV7Ðâ–DÚ벚ùõ¼R®Dž»~'-¯JÂâæ½à­w_÷4CQ7$‰–1ÕD‘Pn»¹ÇÒ¥ÈÄÔÝB î»úÌÒ'†E"AÝ÷þd–>1, D¢ÝиT±ÖÆH84–l$D‚@ ‘ ÈNN/ár¹þþþcÇŽféòPØ˜šš†††ÒS¡2@f¨%AhEóˆD‚@"A"A Hj{Û¨: .++366îC³ô‰_„wÔ3Qe×ê~fAŽ;D‚@ôC˜È ´£££3iÒ$WWWdŠ>‰­­í”)S¬ÚØl¶¯¯¯“““ZoMïD Pw @"A H$Bsùšû¾V×NT{IEND®B`‚nted-1.10.18/doc/docimages/before_tie_method1.png0000664001041000007640000002253311520267216016475 00000000000000‰PNG  IHDRÿªí)ÙsRGB®Îé pHYs&&¢ï%ütIMEÙ  éMQtEXtCommentCreated with GIMPW IDATxÚí]yXW×?“ B"K‰€²*(PQPQ©âVQÔºÖ]¬»Ö¶®Õ.Z´V­õU©åµÖ¶/nÅ¥ÕO«EÅÅ%¨ »¬a =™Ì÷ÇÄ€+$N$„û{|ïÜÉ;÷Î;çܳ F ´JÐÐ ö# ö#´&ìØ±#..®ÕCrk†­­m@@ÀÕ«WÑÚoDàŠ¢íËmØ{¼J¥AœChEì—_ïè»lÛÞ5‹Æ¹y…ŧŠÐ¼#´ ö+ëîñ‘ðTLŠŸ^Ôõà“4õfÏ~bÝàá7ªå «ÔŠ‚Ù!cJ•HB0kö_\°ñ¶ðåzyÕ¥Q›î£ÙG0göyˆ,0­|öüß¼{'ü9L²&eë%ÚmB0WöK…q1…u@cXï¾qcáð ·n£í ÕêbAt‘=„fÃx—Î=¼“,ø/9=·+,»ùf]"ËçîW®tåšÎ\ˆK2¯Ý¼–™[%QÙ»úŽ˜<¡£5QÄœA ¿øÙéøXªjPÛ0´/œàÍ)„ @-/ŠÛþÕÀnî†5œ ›ÀGaÖ°±± %Z+Œ(ù)–€Ûè_}Ù ß04>‹®-±šßÏ¢ìæþž®^S—n¼x? ¶c—ió?ÞÉ5‚ï jÑúˆä~Þ)êkµJXº­ÿ gÊU8YpèÎkÞÁçžZשßÜ{r`r½–ï8VRò蘟¶¯ 0Î(‚ä~½¡VäIq ,~^²WI:g‡]ìšeÌUUUñññnŒ´ óvÖáŒf1|Áº?,óæ2 %~cø‚›àÔ{ÓÄ~$÷E͵W^¿\0—¬gµé‰7“´÷àÁp`ÒÀÎoä A9Y/)LZ:¦y{L+ß«Õr³|[¹Üo¼=íf¾æyéêòWçÈBûaß5¯Ô_¡Òðß_•vq“#Ô¢?6.[ºá7ò½Dg:î¸|5ÔÖ-ŽHî7]+ðà LZòª„Yç ÉòüÍ!ÍøÂ#ÿëúÅB[š,ñÐÖP¯ö‘ßþJRŸÁöÜ}ùá¢`D$÷äååÉd2¡PhcccmmÝ$~áZá>=+›CÇȪ#?ªUk€ÃŸ4ލÈÉ©h–1>- ç?ìdk×ÊpÝ)÷^c7n[×ËI’““Ó¿F£‘Ëå­d°¯X£›Ýbkk[SS¾¾¾M¼ôŸþ #Ç·¤aP•qõƒRò”wØÈnŽ–Í5æšššóçÏcºWÝ‚Ãwvus÷tqඪÇòäI›´èQV”©‰kÝ샞ŸiB£®ú¨kÿëUŠVÊ~EõÍIó’t‡Sÿ{}zGª.^¶÷ýŒ„}ÏL”U ^¸qDÏ™&½möêê¹½†ß©Õþé»Þó{¤/Uר„Ó¬øìÔ17 :â™Ébæëä§{~¸ImÂñ«úY»\\\ø|~ãks~ZN…LwèѵAÙŸ™(?µçû{ÚÀÝ»wÉÊ   ¦_A&“¥¥¥ñù|—çÿ®äb‰T&Wà‚δ´åÙYÐ1³¡£¬N$ª­•Éj A£3Ù®½}fê6›íããcùGYýðQ®e[/W£-++‹Íf¿ð4›ýñÙ³g/Y²äÍ¿)OþÁ7ü^Ú~ûŽm÷²¥dœåÉ?¾7žv+óL :ðxÚÿý·éIKK 4iÒÚµkW”žØ¿ïGâ¯>|Úp-Џ‰/<šÓ"Q~ïøç˾ú'ó¹ä5¢*aY-ƒÅö÷÷?s挑ºÞÝÝcM^–ÿº[Û?êh¼Nš4©K—.äÓ4"ûÙl¶Ý›œòqÅÓÑ£u¢Ñ0†È¼#· ¦À•—çDLضúŸü®ü]ÐÞ|W/€tU²´´´³³+»¹ø¨OÈ`;v7vPÕ¥ßÏdÖ(kF×Ò;ÛµhêߎYöI ij|I7)Õ˜£ë5{z­þ¿–IàO÷è‘óIwc92™Lòi6³ÜpÖÀ+¢gLr?מͥäâ¿N\9ú@T'ªîÖìc»òŽ}Ö{Ñ«©¯ÓÑJ”Ʋ–È«ÏçÈÔ Áë–ö »T.3g­W˜5ã`–VŸÀ˜[õšì ¢ô¿(¹þötüú7Þ  ;åííí«äJ5%Ý•\‰$å~¯gÐOî'´Òçù}xmlLYy£@›S±cXdBæƒù½ åƒeýþýÓ[üí_Eäy>ãÑÂ^ŽFê:vl¿3¥RݡۈßgzZ›àégí  {IsP튊*Rh·‚f}9¡S½uãééí»¯•ÆÀ5@·°jëäêíÛ%¨gŸÛ“ 4F›‘í˜Æœ_ƒ÷û)Øóù{XÝÕFÎÖÕgÿ½¡«Qϩϼ¹Úpm_£ZÕ£-neÀža»(²±éùQå6nëL6²‘¹ÿ?7Ëžív>0NY\~û?cÖ6´¤ØõíÒÝÅî¹M†²±=}ep"Ûe /‹Ožîc«Vܪ0Ñð£·e¿Zúð²HK>ñ»y @#›6ì)®Á0ú +æ9sÀcÜžk7ïVŠïžýe`‡úÔ ¥×·Œøé¡]£Ø.é¸ïÖ¹.Ò³!ëMóK%oëÂ%¯:§+/Ú Z¬L[u¾JŽa´GS·Œ÷¹>ûTìþŒ‚?SáË÷ctŸuîqßQžÝÏ–i·¿'\”Þ–©ÇŸ¢1b»Ì:?‘šxòÄÙ ‚´¬*±’ÃkçúQd¤1µíº‡w%5š_/îë=¿ï’€äèñ¦7+o'÷W?YDž²´¤3çÞ^íǹ 6/¢aêÔÿ4¼.é%±]ü²§÷´Czâur¿Ùçï/½uhd·Wø¥Óvl®1ä~Qú¡îŽZÃ?Õ¶»³LM1;¹ÿcœú¬ÔqGxE“¢µùBx]{€¼úŸ¢j€]—eë|ë3˜'ý ‡ðCal—Ùç￳ȣ÷”S÷K_>¥QW+d’Zœb¡D£,òñ½g>m!q;øtôÄ S3õ¾µÜÏ´êLÚ o_¿¥(QÀ¼ZÛ~,)(“6l;s[]¹æñ­¦N.u±]ÈÇÓ>ž™û'‘~¾ Kµÿ=S!©ÎÎxœž™7Ï¿eËýUUU/ä|Ô¨‚醄²¦('GkÑÀ;ráqeRúš5 l]-è… üÔÉ»“#ê·G•üq§É²J–ÝÄl’ç¾ú¨ÇúÎÒ†¿×+eaa!”d\øñ–×`4VØ”%kVÍv³bTæç^;»çã¥7À¡ÛÊ Ú’œ»úãÊ¢!Óö4êãi+©ÍãùÇ&Y¶ó÷ÈÎÕO󪥫9ÝÏÚ¸|þüçâòt·ÑiæÕÆÍ'²ìÞÖß^/¥ÄÃøï¯ªRi‚Шª[÷±Î'ŒÎtÜ\ÞÒ•Ýì£a¼÷-Ý8ÖÖ”k½ým´Kžô]¥GmNkWçÅ±Ö š¬âDÔƒÊg çhÂxFýfh‡‘Î þ¡hð¦ïו?XÚxÒêb»§}<߯þØ¢:“ߦ"ºåü']€ë:Q¤®bÉùk¯®,L"¯pX(ÕU^š­M%`aÝ[Ú„ð—.ë:IèFáååå4»©kÊýg¥¶Ï'Øê™øTl6Ž ùç¶¾ÎÇób~‘<R6õÐnöþV¥1鵟ö«e9=Û° ãÄíÊW X"Œ#¯0úz Y£’f¸[j™7rÆ»íb4XõØž£g­8~í‰ùyòàJá¹Ã1«—,˜2iâ”ȹ_nˆN¸“kT?µ<¿?Oû'÷ÞÔõ×R‹M–ýÔ¤ë [zœNXïòå“#Ký¯s}~;’Í‹`Ñ0¥†xr(úðqEÑ7£æÉÕ`×yaüÌNïþ¥÷ù's‡†ÓØ®ž¾]}ÚÓÄ%™ÿÿŸ™ÙziLÇ&Îÿ`"‰'áìH: 'ׂCÁ8¶^ºE‡SÉq}»M~X«|·64nm[Ÿ•;­âlž’‰Ä #ÈŸqÚ…DO~á0ŒÇ[ÏͧcÖ¼ç ]xãîˆÍ×Ûzl½Ä­CD7>ðâ?†ÝãØz ‚PT?ÚöõgÓ§ÏüzsLRF¹i®ý»åÒ®Oí™ÚUß©ëÐïcŽ<È*’*bQy”Ûs.øt¦}äÚý5jCÃâË3¼^‚rö—Þø¥»C½dÜÐÖ W¶xêï]HаWP€Àû¤wß–>DSa?A’Â[ëŽï µs½êÍÈ´»ø{A™¬¹&KÇþœ¿£¬Ÿíè“¶^RkÏØJV-—¶l^ÄJ`¯¥>ùï\PH«e?Ö®×HTxmu•¨¦V"“«T*\ChÔuÕ5Jàºõ éØœQž¤µ«};^qiNÍÁÕ³SG7+:uÂÜûr”‚eãݯ‡{ –ø5ò_¯;ky¾ Ýܳ:z·hÝ&//ÏÒÒ²)fßÊÓaÊ”)æñ|ªŸ,òêux]¾:ׯ'‹Ìã)­áØú†ïŒÝáo²’»V-ßû ˜ìŽ'WBlZpRÚõé6¡>ðÅÆË«¡µ‚â<žoÓ¥Àa¨{Rd´Ä‘M™Ç³òÍßj¿rc˜{ 7xÉû’Ÿ¥v!ÊÎŽÝjÙÿîüX˜Ü@­ÿIÍåfßèj ¶^ºÞ0dé‰ÉàØz©ÿNÙÏâj“*ën77ù[E>°~NoWÙz!,2Ñòù˜§äóf$Çÿ´3îLN¹ÜµKÈüU_ðjÓð,F·ñ´däÈÕjyž\–Íè=‰Ñ€Z£IØžCG1kþ˜¾Þfõx?X%3àøqH@i5XXCGAî€@!ûÿ<¾ç‚cÚƒë—ãûmwrêü÷x ãÅfäÈÕFÃhæ :/ÛzÍLG˜8&"ª“ýkלmxˆ+K— ™3·ìxCV=”¨€ÁöáК?yúV;eKÞ½:å 5Rá‰8a}(£J"(UâÀâ¡yG0+ö÷|•q7G^Ÿ¶VRò;Y°à…¡yG0+öÏ{ɃÎj;Ó‰£;ÌŒÑF!zLFóŽ`^kÿ–/úHÒèÜ…?'êÒ.é¿d’õ[ù¢yG0+ösœgŎІ¥wµ.)«xçÌκ³—7'ö\}f` ÿ& ‚Ù€Êýþ^8îx¶HüôÔw3+“GE éÞņ&¹rlWTì°Xxa}(št3d?ÝÒëä£ÄÈAá‡ïU¤]?výtó֞#.݈¶¢ahÒÌMò!Á² :˜\pÛ<æ³Íe¹©™yeÇÁ/ÐߎECs`þì×ÁÉÃÏÉÃM1Bk‘|ûûûûûûûûûûûûû(£Ž™ÏçoÞ¼9$$=~ÄþVGGÇU«V¡g€$Ä~#Wm_¾hÃÞãdŽ|„ÖÂ~iñ…ðŽ¾Ë¶í]³hœ›WX|ªÍ;B«`¿²îîÿ OµŸ‡?½:9¨ëÁ'5hêÌžýĺÁÃoTËV©³CÆ”*‘„`Öì/¾¸`ãmáËõòªK£6ÝG³`Îìÿ.òY`Zùìù¿;y÷Nøs´ ­R¶ÎQhþÌ”ýRa\LaÐÖ»oÜX8<È­Ûèc;µy<•bAt‘=ódîádÁÉé¹]µ‰ ÝÆ|­ûÁ¹û•è ˜'ûoÅféxd}o]¥…톶Ӛ4´óƒ`¦ì?R,·Ñ¿ú²úSÐø,í'-h(¹'‚y²ŸP_«UÀÒmý_8S®ÂÉ‚CwzÍcy¹©yR\‹]¹ ëUÎÙaF;ôšuuu-è†,X°råJSg¿FYöÊúš¬=dÕ¦çG6â_ó"//¯¦¦%i_UUU-Bî×næ¿`ѽüÕ9²Ð~ØwHêovH¥Ò–uÃ)))-€ý]+ðà LZòª„Yç ÉòüÍ(¸¤ù¡V«[Ö WWW·¹Ÿa¡ý~£\C0é©=pr­Zm\ç®ô°FäkvXZZº¸¸ IÿòË/·oßÞ±c›­Ÿøzùòåƒ.^¼8 @¯†EEEëׯ÷ññi6öß¾};66¶©Ë?†ós¬ €¼ó?mK© OOêØôë èPVVF!sŒ({·¡c ÕP—›°õxYÏq2±£ eê…º®Lˆ¬f­»ví:qâ„Aìill´dÝ´iÑd ã± ¡Z.-û××JëÜFcXÿY(&¨‚FµªG[ÝŠ@0666¡¡¡4œ2e ˆD"}îÙ³NŸ>­oÃÀêÕ«_>ñÊúFaĵ¿5 ²jŸNë16]ª"+oº0Þ…CU÷£Gý,$4 ´þ!˜Ö Ý]8W=©Ïã­=¥]¿µgVSu}qaüÀ•ç€ pÊo>**J.—· Žm*ìoê׋ß,×n/Ø÷¿tv *q/ê7G¤6V€ØŽ;Z–Ã0Ä~ÒzíºÕ;2И¼Ø›ùXQöÇ–¸fÐ;1Æ»y¥RÙ²dII b³©°_Q}sÒ¼$ÝáÔÿ^ŸNÝ>OuÚÞ÷2öM0Þ¼´,±222›MBò!ÔÕs{ ¿S«UFÝGïù=Ò—ª‹kTÂiV|v*ÛÍ‚nÄya08Np°ÞZŠ@ ¨¨¨Ÿÿæ«$%Ò‹Ö8øºYR³N«%%ŸÔøuõaaܽ{—¬ ¢–ý€Íf`WÏÊʪ©©1à~ÊËË ¼½½uÖ•¦/Iiii|>ßÅÅå 377·ªª*00N§7û0³²²Øl¶çØÚ¥–ô³µ¬×*hôÞ›F‰iF-ËîmmñíõR]^£x7f ˆˆÃîÇf díz§Ö®ƒ³^iõE¶ÃÐø¹>ðôh.%ÿuÚàÊÑ¢ú8!Áäö|„IQ3fi%*Œ¹%ñP¯Éž Jÿ‹’ëo@ǯãݺSÞÞÞþÁsÐãDhž=¯™1b‹î°ó¼ã‹ýì$%ÃÎHËK51V4ì-»HÍ|ò¢Ö‚a:É=K„f[û[Gœ«”‘e·ÛÙèaÀv˜@Ç0º6¾B†æÁ<Ù˳ÆEÕÛ¶Fü|´ƒh̶ƒm-àÏt”µÁLÙÿ`ÛÔ\¹6FÎÊqÌÁÉõùG|dÊ'p•\IM]É•HRî÷z$÷#4ÜOhds7 t‡þøÉ¢„ï?´<®LÈøY¡!V{_ÿàÁ£gΉ p20§C»~¿!9áí¡ŸµËÛÛÛÝÝý…³Êºô+·´±ê4¦ã€þ]uäW˪ÒR ŪWõÌà»wêìéLÇLq^¹\n òtpwwo¸ fìa>zô¨´´4,,ŒÁ`4û0—Ë5`øú±åÊ• ,xáì…YïÏ»¬5îúéRl„6ž½àÂD Uor¾wè>édÜúv,Ã-ÁUU^‘ÚÓ½-µì ôññ9r䈾 çÌ™séÒ¥ììl}ÆÅÅ­]»vß¾} ЫaFFÆðáà Kódð0—.]ú÷ß ‚6mÚ4û0çÌ™ãããcÀðõûÃåñxžžž/TÎJѦbfZu>º°?@ùíÿD,ÜA¦s#aÔ×—)ËËH-ª®Ū¸wxüœùW`ö Ô«{õþñžWK(Ö‡h4KKË—Û(¬¬¬À€†äZÈçóõm+‘HÈÊ€N &—Ëwww}Œ1L+++‡ÿ–,QK^iÙì1~7I}ÐȦ ûFŠk0Œ>hÆŠyÎ\ð·çÚÍ»…•â»gØ¡>½aéõ-#~zhXï(²¡9÷|äUçtåE´âceÚªóUr £­8ššðÛ3Â] àÏTRÜï>ëÜã;ܬê¥Ï/Ç õÿ’©Q#ОOÖ~¹Ö‡ÇÒvÐgíµ"`ί‰à:tÿ–ñ>àò¡ ìϨ˘¬íÕÊ'îâw<¿åä¡JöäÓë¥GœõyŒÙhv ROž8{A–U%VrxíüƒC?ŠŒ4¸mµLØðÌ×À©ÏJè.¼"€IÑ£´ÚB×ÞåÕÿ)q—g ®]—eë|¿ÿ6]›”4采 ûµ‘¹“¯EÙíÃs,=u¿´aåéã·¬ýšÉÄ k‹a,$ùÓª3Yh7¼½®R*QÀ¼Ú\…lû±¤|r ì¹œ©3·õÑ•kßjz§ï ²Ñlp;f‘Gï)/З„F]­Ijq€¶¡€›uÊVÍ~¶ý8†Y)§nvÿÌúËävw·d@³üÚŸ…,Ö•qUy{|Ùx̨‘æ¼cŸõ^#Ó¼aS›(Q↶…_K%-z~(ÈãjÃJ)žüw_,t"kêÜÛd-_½È×–¬ñf3òäê‡vÆŠ:7X? 9ÝÄüŒ÷ÿ•Üaâ‡iǦÕWRžT©T–––pÙ‚‚ÃîçÚµkðÏ?ÿéÕü½@ x¡SºòÛ%»5ÙsèUå/ßmÛrÏÇÇÞ³nÞa’sŽã¸sNA\o×ÞŽ‰g Eÿ©®vÔÒºÍ/öͼSiÕNZ®»Ú² Z.ÎO®®æ7|óêÊVxM‰Ë\Øw›¹|MÇ~Ly\¯Á¯*•ʰû¡<àµ6'®Ñ4+~ÿ…3¾ÜcÛv¤½yŠˆ²œ´ÔŒ¬ba¥L³¬Ú8¹¸cÞ„a¾¢¡sW :®—‚ÈF¥ø¾5ƒߦTè*Ëïìtn¿¸>,íÇ@còäšú†¢œµºÛXœRŽ"Ò¿ì£a¬|–ng…ÒW^ómÚ’(½uhd·W„€c4«7óu itk0ÁÈF&'0~¾/ü'ⓚg*”CÐâk»üt¿áñªêdGÿûßk ìÖ½·øÛ7ÚŠlÔ ®C×ó˜´7Ð÷§Ääð×|<êmÚ6¢.k¤*Uë­£ãµðTA¥m‡ç[O÷lÃé15ZõlEöUïÄqIaÕÔt¼IDAT?ѦTË2?ŽÓ:Ã|°ã» ‘_(²Q/°¬ß¿z‹¿½å˧¼Ã"Ïg—v}jÏÔ®úN]‡~säAV‘T¡‹Ê£Üžs¤3í#×î¯QkÞf®ß†ý·ö.|£¸…½×»/åìo¬SøáèIÃN]ºÒØo°ºü6z¶©°Ÿ Iá­u Çw°~­%œÎ´»ø{A™Ìà).¾<Ãë%øÍnúrã?¥ahŽA!Ô²¿)†Å2¬¡ß¼%¦À~EÍ•7«Ë{’„Ô64-ök?)¤®KN8±mÃ×ógMûáÈaááaÏô¤÷¾HnÞ'¤–çy³Wx:÷êC!û›ØéW‡ŽÖpÌç+LäkHùç¶¾N]¾˜_gŒ†³¿I±]aaaB¡0??¿mÛ¶ööö†)jy^Jj%°l;xµæƒª.ûAf#9&h,[öö¶¶¶˜ÿêD¢ÚZ™L¡Ö4:“ÍáŠkEâºÚ—óx6­S?Ÿ,Ë€†<Ûq80êZQuX¦T«£³,ØÖ6¶m¬XFjX[[K§Ó þ;[ê ·“=Úyïn¡²i“”WŒùÊYmɇÈE—´rÇZ¨lÚtôJÂbSa¿F-zöÀÜ[®lÚDtjz¥)ÄÈýMDrüO;ãÎä”Ë]»„Ì_õõ€—„{/63G®NXÒšY4Õ¨Ê 0áŠ|_;ï¬Æ"›ŽUHÇÚ³©êôm"¼ ¹?-fÜsÛš,~LÊ‹ëß;KÀ0š×´ÐÕ¢)Fû€/вÚ"@Ù ¼vÍÙçÖHeé²!s^ð‘}(Qƒíáa-t± Eê ÿ»…VÕÊØï¥ 7©ðDœ°>”Q%”*q`qƒZî|½¥ó#‚y²¿ç«Œ»9òzùXRò;Y°à…µÜùzçGSe_¯˜7Äùp\Öó¢Û™NõˆÌ˜²à1=¸EOÙÛ8N"˜(Ûó‘ïoã:Gw5»hßí3µ‘„F:ÀžwY¤ Ñ¹ÿVT ´µ@S`>’ÇyVìmþÚ£Ö%e먗7'ö\}QÁÜÖ~ÀåÙ#½Ï‰1ŒÑ¹Oø¨ˆ¡!Ý»ØÐ$WŽíŠŠý— û€…‚ÝV-vñÿMPŠîF ?|¯âåSÖž#®¥à2Ѥ#˜›äC‚et0¹àxôªžž¼zõ×Âqìâ-ÒN"ê#˜óÚße¹©™yeÇÁ/ÐߎECsЊ؀к$Ä~Ä~Ä~Ä~Ä~Àÿxt9Ð2#ø°IEND®B`‚nted-1.10.18/doc/fr/0000775001041000007640000000000011520270236010766 500000000000000nted-1.10.18/doc/fr/Makefile.am0000775001041000007640000000007011520267212012742 00000000000000LANGUAGE = fr include $(srcdir)/../translated-manual.mk nted-1.10.18/doc/fr/fr.po0000664001041000007640000054354411520270123011667 00000000000000# translation of fr.po to french # # NtEd , 2007, 2008. msgid "" msgstr "" "Project-Id-Version: fr\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2011-01-27 13:16+0000\n" "PO-Revision-Date: 2009-11-23 13:39+0100\n" "Last-Translator: Baré Willy spr \n" "Language-Team: french \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Tag: title #: index.docbook:11 #, no-c-format msgid "The &nted; Handbook" msgstr "Manuel de &nted;" #. Tag: author #: index.docbook:14 #, no-c-format msgid "JörgAnders" msgstr "" #. Tag: affiliation #: index.docbook:16 #, no-c-format msgid "" " TU-Chemnitz

j." "anders@informatik.tu-chemnitz.de
" msgstr "" #. Tag: othercredit #: index.docbook:28 #, no-c-format msgid "Maximiliano" msgstr "" #. Tag: contrib #: index.docbook:30 #, no-c-format msgid "Spanish translation" msgstr "" #. Tag: email #: index.docbook:32 #, no-c-format msgid "mxgdvg@yahoo.it" msgstr "" #. Tag: othercredit #: index.docbook:35 #, no-c-format msgid "MarianoMarini" msgstr "" #. Tag: contrib #: index.docbook:37 #, no-c-format msgid "Italien translation" msgstr "" #. Tag: email #: index.docbook:39 #, no-c-format msgid "mariano.marini@alice.itk" msgstr "" #. Tag: othercredit #: index.docbook:43 #, no-c-format msgid "" "JörgAnders" msgstr "" #. Tag: contrib #: index.docbook:45 #, no-c-format msgid "German translation" msgstr "" #. Tag: email #: index.docbook:47 #, no-c-format msgid "ja@informatik.tu-chemnitz.de" msgstr "" #. Tag: holder #: index.docbook:55 #, no-c-format msgid "Jörg Anders" msgstr "" #. Tag: para #: index.docbook:60 #, no-c-format msgid "" "Permission is granted to copy, distribute and/or modify this document under " "the terms of the GNU Free Documentation License, Version 1.2 or any later " "version published by the Free Software Foundation; with no Invariant " "Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the " "license is included in the section entitled \"GNU " "Free Documentation License\"." msgstr "" #. Tag: date #: index.docbook:67 #, no-c-format msgid "2010-09-28" msgstr "" #. Tag: releaseinfo #: index.docbook:68 #, no-c-format msgid "1.10.16" msgstr "" #. Tag: para #: index.docbook:71 #, no-c-format msgid "&nted; is a score editor for Linux" msgstr "" #. Tag: keyword #: index.docbook:76 #, no-c-format msgid "Gtk" msgstr "" #. Tag: keyword #: index.docbook:77 #, no-c-format msgid "&nted;" msgstr "" #. Tag: keyword #: index.docbook:78 #, no-c-format msgid "music" msgstr "" #. Tag: keyword #: index.docbook:79 #, no-c-format msgid "editor" msgstr "" #. Tag: keyword #: index.docbook:80 #, no-c-format msgid "notes" msgstr "" #. Tag: keyword #: index.docbook:81 #, no-c-format msgid "score" msgstr "" #. Tag: keyword #: index.docbook:82 #, no-c-format msgid "MIDI" msgstr "" #. Tag: title #: index.docbook:87 #, no-c-format msgid "Using &nted;" msgstr "" #. Tag: title #: index.docbook:89 #, no-c-format msgid "Starting &nted;" msgstr "" #. Tag: para #: index.docbook:91 #, no-c-format msgid "This chapter describes the use of &nted; for editing notes." msgstr "" #. Tag: para #: index.docbook:93 #, no-c-format msgid "You may start &nted; by entering the following at the command prompt:" msgstr "" #. Tag: para #: index.docbook:96 #, no-c-format msgid "% nted &" msgstr "" #. Tag: para #: index.docbook:100 #, no-c-format msgid "Once &nted; starts, you will see a window like the following:" msgstr "" #. Tag: phrase #: index.docbook:105 index.docbook:3247 index.docbook:3593 #, no-c-format msgid "&nted; Mainwindow" msgstr "" #. Tag: title #: index.docbook:112 #, no-c-format msgid "The first sound" msgstr "" #. Tag: para #: index.docbook:113 index.docbook:3544 #, no-c-format msgid "" "To hear my examples please use the soundfont mentioned here: http://alsa.opensrc.org/8MBGMSFX." "SF2!" msgstr "" #. Tag: para #: index.docbook:115 index.docbook:3546 #, no-c-format msgid "" "For more information about how to use the SF2 file read the appropriate " "question in FAQ or read about the " "configuration of the TiMidity server." msgstr "" #. Tag: para #: index.docbook:119 #, no-c-format msgid "To hear a short example choose:" msgstr "" #. Tag: menuchoice #: index.docbook:121 index.docbook:3050 #, no-c-format msgid "" "File Open ..." msgstr "" #. Tag: para #: index.docbook:126 #, no-c-format msgid "" "Choose datafiles/nted/examples/example1.ntd on dialog " "and press OK!" msgstr "" #. Tag: para #: index.docbook:127 #, no-c-format msgid "" "The examples are installed during installation step. So, if you can't find " "the examples especially if you installed from a package then search at" msgstr "" #. Tag: filename #: index.docbook:129 #, no-c-format msgid "/usr/share/nted/examples" msgstr "" #. Tag: para #: index.docbook:130 index.docbook:487 index.docbook:2792 #, no-c-format msgid "or:" msgstr "" #. Tag: filename #: index.docbook:131 #, no-c-format msgid "/usr/local/share/nted/examples" msgstr "" #. Tag: para #: index.docbook:132 #, no-c-format msgid "You should see a score. Choose a MIDI port:" msgstr "" #. Tag: menuchoice #: index.docbook:134 #, no-c-format msgid "" "Edit Preferences Configure MIDI ..." msgstr "" #. Tag: para #: index.docbook:140 #, no-c-format msgid "" "and press the play button (). You should see running red notes and hear the sound. If " "you don't hear the sound then choose a different MIDI port. If nothing helps " "then refer to the approriate question in FAQ." msgstr "" #. Tag: title #: index.docbook:147 #, no-c-format msgid "The toolbox" msgstr "" #. Tag: para #: index.docbook:149 #, no-c-format msgid "" "The toolbox is a little window which appears always on top of all other " "&nted; windows:" msgstr "" #. Tag: phrase #: index.docbook:154 #, no-c-format msgid "The toolbox" msgstr "" #. Tag: para #: index.docbook:158 #, no-c-format msgid "" "If the toolbox vanishes you can make it visible again by pressing the " "toolbox button ( )." msgstr "" #. Tag: para #: index.docbook:161 #, no-c-format msgid "The toolbox has multiple panels:" msgstr "" #. Tag: phrase #: index.docbook:167 #, no-c-format msgid "The toolbox panels" msgstr "" #. Tag: para #: index.docbook:171 #, no-c-format msgid "" "To change the panel either user the next panel button " "() or the previous " "panel button ()." msgstr "" #. Tag: para #: index.docbook:175 #, no-c-format msgid "" "Alternatively, you can use the direct panel buttons on top of the toolbox:" msgstr "" #. Tag: phrase #: index.docbook:181 #, no-c-format msgid "The direct panel buttons" msgstr "" #. Tag: para #: index.docbook:185 #, no-c-format msgid "" "The different panels offer buttons concerning different fields of score " "notation." msgstr "" #. Tag: para #: index.docbook:186 #, no-c-format msgid "Furthermore, each panel is structured like your keyboard's num pad:" msgstr "" #. Tag: phrase #: index.docbook:193 #, no-c-format msgid "the toolbox and the numpad" msgstr "" #. Tag: para #: index.docbook:197 #, no-c-format msgid "" "Instead of pressing a button at the toolbox, you can press the appropriate " "button on numpad. For instance: If you want half notes, make sure the " "num light is off and choose the first " "toolbox panel. Then press 4 on num pad. The " "half note button is selected." msgstr "" #. Tag: para #: index.docbook:202 #, no-c-format msgid "" "Furthermore: Some keys (rest, tie, sharp, flat, natural, dot) can be toogled " "by keyboard keys independent on the actual panel, see shortcuts." msgstr "" #. Tag: title #: index.docbook:207 #, no-c-format msgid "Inserting notes and rests" msgstr "" #. Tag: title #: index.docbook:210 #, no-c-format msgid "The 3 modes" msgstr "" #. Tag: para #: index.docbook:211 #, no-c-format msgid "" "&nted; is always in one of 3 modes. The mode is determined by the insert and " "page button pair. At start the insert button is on and the page button is " "off (). &nted; " "is in insert/delete mode. If you toggle off the insert/delete button by " "clicking it or pressing the 'n' key you are in edit mode " "(). If you " "toggle on the page button by clicking it or pressing the 'p' key you are in " "page mode ()." msgstr "" #. Tag: para #: index.docbook:220 #, no-c-format msgid "" "Furthermore you can temporarily achieve the edit mode by pressing the Ctrl " "key during mouse action. You can also temporarily achieve the page mode by " "pressing the Shift key during mouse action." msgstr "" #. Tag: para #: index.docbook:228 #, no-c-format msgid "In insert/delete mode you can insert and delete notes and rests." msgstr "" #. Tag: para #: index.docbook:231 #, no-c-format msgid "In edit mode you can modify the score." msgstr "" #. Tag: para #: index.docbook:234 #, no-c-format msgid "In page mode you can shift the paper by moving the mouse." msgstr "" #. Tag: title #: index.docbook:241 #, no-c-format msgid "Inserting/Deleting notes" msgstr "" #. Tag: para #: index.docbook:242 #, no-c-format msgid "" "Be sure &nted; is in insert/delete mode (see The " "3 modes). To insert notes choose a note length on first toolbox panel:" msgstr "" #. Tag: phrase #: index.docbook:248 index.docbook:262 #, no-c-format msgid "The note length" msgstr "" #. Tag: para #: index.docbook:251 #, no-c-format msgid "" "and click on a note line. If you click near an existing note a chord is " "created. If you click on an existing note the note is removed. To delete a " "note you can also use the backspace key. To delete a single note from chord " "use the DEL key." msgstr "" #. Tag: para #: index.docbook:256 #, no-c-format msgid "" "If you want to insert a note with an accidental choose an accidental on 2nd " "and/or 3rd toolbox panel:" msgstr "" #. Tag: para #: index.docbook:265 #, no-c-format msgid "" "(see also Handling beams, Handling stems)." msgstr "" #. Tag: title #: index.docbook:270 #, no-c-format msgid "Inserting drum notes" msgstr "" #. Tag: para #: index.docbook:271 #, no-c-format msgid "" "&nted; offers different note head types. Choose one at 5th toolbox panel:" msgstr "" #. Tag: phrase #: index.docbook:276 #, no-c-format msgid "The note head types" msgstr "" #. Tag: para #: index.docbook:280 #, no-c-format msgid "" "Select a note head type and insert the drum note as described in chapter " "Inserting/Deleting notes." msgstr "" #. Tag: para #: index.docbook:282 #, no-c-format msgid "" "Note: The meaning of the drum notes depends on the choosen clef. Refer to clefs read about the the drum " "system." msgstr "" #. Tag: para #: index.docbook:285 index.docbook:892 #, no-c-format msgid "" "Note further: To get the drum sound you have to select a certain channel " "(often channel 10). See The MIDI Tab!" msgstr "" #. Tag: title #: index.docbook:290 #, no-c-format msgid "Inserting tremolo notes" msgstr "" #. Tag: para #: index.docbook:291 #, no-c-format msgid "" "To insert tremolo notes select the tremolo sign at 5th panel of the toolbox:" msgstr "" #. Tag: phrase #: index.docbook:296 #, no-c-format msgid "the tremolo types" msgstr "" #. Tag: para #: index.docbook:300 #, no-c-format msgid "" "Select a tremolo type and insert the note as described in chapter Inserting/Deleting notes." msgstr "" #. Tag: para #: index.docbook:302 #, no-c-format msgid "Note: The tremolo does not influence the replay." msgstr "" #. Tag: title #: index.docbook:306 #, no-c-format msgid "Inserting/Deleting rests" msgstr "" #. Tag: para #: index.docbook:307 #, no-c-format msgid "" "Be sure &nted; is in insert/delete mode (see The " "3 modes). To insert rests choose a note length on 1st toolbox panel " "and press the rest button:" msgstr "" #. Tag: phrase #: index.docbook:313 #, no-c-format msgid "Toolbox rest selected" msgstr "" #. Tag: para #: index.docbook:317 #, no-c-format msgid "" "You cannot really \"delete\" a rest because you cannot destroy time. But in " "many cases the situation is as follows: " " shift example 1 This can especially happen after deleting a series of notes " "because every deleted note leaves behind an appropriate rest. If you now " "insert a half rest at position of the first eighth rest " "the situation changes:" msgstr "" #. Tag: phrase #: index.docbook:333 #, no-c-format msgid "shift example 1" msgstr "" #. Tag: title #: index.docbook:340 #, no-c-format msgid "Generalization" msgstr "" #. Tag: para #: index.docbook:341 #, no-c-format msgid "" "We can generalize the last example. The truth is: Independent of whether you " "insert a note or a rest, &nted; consumes as much time as necessary to insert " "the note or rest. Assume again this situation: " " shift example 1 If you insert a half note at postition of the 2nd eighth rest " "the result is: " "shift example 1 " "&nted; \"eats\" 3 eighth rests and shortens the quarter by one eighth." msgstr "" #. Tag: title #: index.docbook:364 #, no-c-format msgid "Inserting notes and rests using the PC keyboard" msgstr "" #. Tag: para #: index.docbook:365 #, no-c-format msgid "You can toggle the note length by pressing some number keys:" msgstr "" #. Tag: entry #: index.docbook:371 index.docbook:3635 #, no-c-format msgid "1" msgstr "" #. Tag: entry #: index.docbook:371 index.docbook:3635 #, no-c-format msgid "set current length to full note" msgstr "" #. Tag: entry #: index.docbook:372 index.docbook:3636 #, no-c-format msgid "2" msgstr "" #. Tag: entry #: index.docbook:372 index.docbook:3636 #, no-c-format msgid "set current length to half note" msgstr "" #. Tag: entry #: index.docbook:373 index.docbook:3637 #, no-c-format msgid "4" msgstr "" #. Tag: entry #: index.docbook:373 index.docbook:3637 #, no-c-format msgid "set current length to quarter note" msgstr "" #. Tag: entry #: index.docbook:374 index.docbook:3638 #, no-c-format msgid "5" msgstr "" #. Tag: entry #: index.docbook:374 index.docbook:3638 #, no-c-format msgid "set current length to eighth note" msgstr "" #. Tag: entry #: index.docbook:375 index.docbook:3639 #, no-c-format msgid "6" msgstr "" #. Tag: entry #: index.docbook:375 index.docbook:3639 #, no-c-format msgid "set current length to sixteenth note" msgstr "" #. Tag: entry #: index.docbook:376 index.docbook:3640 #, no-c-format msgid "7" msgstr "" #. Tag: entry #: index.docbook:376 index.docbook:3640 #, no-c-format msgid "set current length to 32th note" msgstr "" #. Tag: entry #: index.docbook:377 index.docbook:3641 #, no-c-format msgid "8" msgstr "" #. Tag: entry #: index.docbook:377 index.docbook:3641 #, no-c-format msgid "set current length to 64th note" msgstr "" #. Tag: para #: index.docbook:383 #, no-c-format msgid "" "To insert notes along with pressing these keys activate the keyboard " "insertion button () or press 'k'. This puts &nted; into the keyboard " "insertion mode. If you now press a key from the table above a note of " "appropriate length is inserted at cursor position. To insert a rest press " "Alt key simultaneously. Use the CursorUp/Down keys to determine the pitch. " "Use the CursorLeft/Right keys to switch to previous/next measure." msgstr "" #. Tag: para #: index.docbook:389 #, no-c-format msgid "The backspace key removes the last inserted note" msgstr "" #. Tag: para #: index.docbook:391 #, no-c-format msgid "" "See also Inserting notes with pitch " "determined by midi keyboard." msgstr "" #. Tag: title #: index.docbook:396 #, no-c-format msgid "Append a system" msgstr "" #. Tag: para #: index.docbook:398 #, no-c-format msgid "" "At the beginning &nted; shows only one system with only a few measures. To " "append more systems press Ctrl B. This will append one system at end of score." msgstr "" #. Tag: para #: index.docbook:402 #, no-c-format msgid "See also: removing systems" msgstr "" #. Tag: title #: index.docbook:407 #, no-c-format msgid "Modifications" msgstr "" #. Tag: title #: index.docbook:410 #, no-c-format msgid "Shifting notes and rests" msgstr "" #. Tag: para #: index.docbook:411 #, no-c-format msgid "" "You can shift notes and rests vertically and horizontally. Be sure &nted; is " "in edit mode (see The 3 modes). Again: " "You can achieve this mode temporarily by pressing the Ctrl key. Click a note " "or rest with left button. The note or rest is selected. A selected chord or " "rest appeares in red color. Shift and hold the left button. The selected " "note or rest moves accordingly. If you shift a note vertically the note " "changes the line. If you shift the note or rest horizontally before or after " "another note or rest the note or rest changes its position." msgstr "" #. Tag: para #: index.docbook:421 #, no-c-format msgid "" "Furthermore: If there is a selected note you can move the note by Up/Down " "cursor key. The Left/Right key changes the selection." msgstr "" #. Tag: para #: index.docbook:424 #, no-c-format msgid "" "The horizontal move is especially useful in cases where you want to achieve " "this: " "shift example 1 " "but the situation is:" msgstr "" #. Tag: phrase #: index.docbook:437 #, no-c-format msgid "shift example 2" msgstr "" #. Tag: para #: index.docbook:442 #, no-c-format msgid "" "By moving the note before the rest or the rest behind the note the symbols " "exchange their positions." msgstr "" #. Tag: title #: index.docbook:447 #, no-c-format msgid "Hiding rests" msgstr "" #. Tag: para #: index.docbook:448 #, no-c-format msgid "" "You can hide some rests if desireable. There are 2 ways to do this. If you " "want to hide the rests of a whole voice, select that voice on voice selector " "() and choose:" msgstr "" #. Tag: menuchoice #: index.docbook:453 #, no-c-format msgid "" "Tools hide rests" msgstr "" #. Tag: para #: index.docbook:459 #, no-c-format msgid "Or simply press Ctrl + R." msgstr "" #. Tag: para #: index.docbook:460 #, no-c-format msgid "To unhide already hidden rests choose:" msgstr "" #. Tag: menuchoice #: index.docbook:463 #, no-c-format msgid "" "Tools unhide rests" msgstr "" #. Tag: para #: index.docbook:468 #, no-c-format msgid "Or simply press Ctrl + U." msgstr "" #. Tag: para #: index.docbook:470 #, no-c-format msgid "" "To limit this operation to a certain staff simply select one arbitratry note " "or rest of this staff before this operation." msgstr "" #. Tag: para #: index.docbook:473 #, no-c-format msgid "" "The 2nd way is to hide a group of rests of a selection rectangle: Draw a " "selection rectangle as described in Select a " "block. Then choose hide rests or " "unhide rests as described above. Note: This operation " "is also limited to the selected voice." msgstr "" #. Tag: para #: index.docbook:478 #, no-c-format msgid "To (un)hide all rests in all voices choose:" msgstr "" #. Tag: menuchoice #: index.docbook:480 index.docbook:2538 #, no-c-format msgid "" "Tools hide rests (all v.)" msgstr "" #. Tag: menuchoice #: index.docbook:490 #, no-c-format msgid "" "Tools unhide rests (all v.)" msgstr "" #. Tag: para #: index.docbook:496 #, no-c-format msgid "" "Hiding rests is also useful in case of an upbeat." msgstr "" #. Tag: para #: index.docbook:498 #, no-c-format msgid "To make hidden rests visible choose:" msgstr "" #. Tag: menuchoice #: index.docbook:501 index.docbook:823 #, no-c-format msgid "" "View show hidden elements" msgstr "" #. Tag: title #: index.docbook:509 #, no-c-format msgid "Positioning rests vertically" msgstr "" #. Tag: para #: index.docbook:510 #, no-c-format msgid "" "&nted; tries to position rests in such a way that they do not obscure other " "elements. This works in most cases. But sometimes the user wishes a " "customized vertical placement." msgstr "" #. Tag: para #: index.docbook:512 #, no-c-format msgid "" "To place a rest vertically select it, and then use the cursor up-/down keys " "to change the rest's vertical position." msgstr "" #. Tag: para #: index.docbook:514 #, no-c-format msgid "" "From this moment on you are responsible to place this rest. &nted; will do " "nothing to solve any conflicts. The only way to get a rest managed by &nted; " "is to insert a new rest." msgstr "" #. Tag: para #: index.docbook:517 #, no-c-format msgid "This way you can effectively have 2 voices sharing \"one\" rest:" msgstr "" #. Tag: phrase #: index.docbook:522 index.docbook:583 #, no-c-format msgid "selected a tie" msgstr "" #. Tag: para #: index.docbook:526 #, no-c-format msgid "" "You have to move both rests at least one step! Otherwise &nted; moves the " "other rest to avoid collision." msgstr "" #. Tag: title #: index.docbook:532 #, no-c-format msgid "Inserting ties" msgstr "" #. Tag: para #: index.docbook:533 #, no-c-format msgid "There are 2 ways for inserting ties:" msgstr "" #. Tag: para #: index.docbook:535 #, no-c-format msgid "" "This approach assumes you want to insert ties after you have inserted a " "series of notes. So, never press the tie during note insertion:" msgstr "" #. Tag: phrase #: index.docbook:541 index.docbook:550 #, no-c-format msgid "the tie button" msgstr "" #. Tag: para #: index.docbook:544 #, no-c-format msgid "" "Press it after you have inserted a series of notes. Then select all note " "pairs to be tied with left mouse button." msgstr "" #. Tag: para #: index.docbook:545 #, no-c-format msgid "Do not forget to turn off the tie button:" msgstr "" #. Tag: para #: index.docbook:553 #, no-c-format msgid "Because this button has high priority and blocks other functions." msgstr "" #. Tag: para #: index.docbook:554 #, no-c-format msgid "" "Insert a note or chord followed by a note or chord with the same pitch(es):" msgstr "" #. Tag: phrase #: index.docbook:559 #, no-c-format msgid "before tie method 1" msgstr "" #. Tag: para #: index.docbook:562 #, no-c-format msgid "" "Then press ',' (comma). Notes " "with equal pitch are tied:" msgstr "" #. Tag: phrase #: index.docbook:567 #, no-c-format msgid "before tie method 2" msgstr "" #. Tag: title #: index.docbook:575 #, no-c-format msgid "Customized ties" msgstr "" #. Tag: para #: index.docbook:576 #, no-c-format msgid "" "&nted; places the ties automatically depending on the note's stem direction. " "This works in most cases. But sometimes the user wishes costumized ties. To " "costumize a tie make sure &nted; is in edit mode (see The 3 modes). Select a tie with left mouse button:" msgstr "" #. Tag: para #: index.docbook:586 #, no-c-format msgid "" "The selected tie appears in red color. Use the cursor up/down keys to change " "the curve:" msgstr "" #. Tag: phrase #: index.docbook:591 #, no-c-format msgid "change the tie's curve" msgstr "" #. Tag: title #: index.docbook:596 #, no-c-format msgid "Modifying length, accidentals dots and ties" msgstr "" #. Tag: para #: index.docbook:597 #, no-c-format msgid "" "Be sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl " "key. Click a note or rest with left button. The note or rest is selected. A " "selected chord or rest appeares in red color. The buttons reflect the state " "of the note or rest. You can change the state of the note or rest by " "toggeling the appropriate buttons. This includes:" msgstr "" #. Tag: para #: index.docbook:604 #, no-c-format msgid "changing the length" msgstr "" #. Tag: para #: index.docbook:605 #, no-c-format msgid "changing the note head type" msgstr "" #. Tag: para #: index.docbook:606 #, no-c-format msgid "insert/remove accidentals/dots" msgstr "" #. Tag: para #: index.docbook:607 #, no-c-format msgid "removing ties" msgstr "" #. Tag: title #: index.docbook:613 #, no-c-format msgid "Undo/Redo and View" msgstr "" #. Tag: para #: index.docbook:614 #, no-c-format msgid "" "&nted; has an unlimited undo history. You can always undo a previous command " "by pressing the undo button () or pressing Ctrl Z. To redo an undo press the redo button " "() or press " "Ctrl Y. To increase " "the view press the zoom in button " "() or press " "Ctrl +. To decrease " "the view press the zoom in button " "() or press " "Ctrl -." msgstr "" #. Tag: title #: index.docbook:631 #, no-c-format msgid "Staves and Systems" msgstr "" #. Tag: title #: index.docbook:634 #, no-c-format msgid "Append a new staff" msgstr "" #. Tag: para #: index.docbook:635 #, no-c-format msgid "To append a staff choose:" msgstr "" #. Tag: menuchoice #: index.docbook:637 #, no-c-format msgid "" "Insert Append staff" msgstr "" #. Tag: para #: index.docbook:642 #, no-c-format msgid "" "or simply press Ctrl + A. The staff is always " "appended at last position." msgstr "" #. Tag: title #: index.docbook:647 #, no-c-format msgid "Change staff properties" msgstr "" #. Tag: para #: index.docbook:648 #, no-c-format msgid "" "To change the staff properties right click staff not too close to a measure " "line. The staff config menu appears:" msgstr "" #. Tag: phrase #: index.docbook:654 #, no-c-format msgid "the staff config menu" msgstr "" #. Tag: para #: index.docbook:658 #, no-c-format msgid "" "Choose staff name, clef, time signature (likewise " " or " "), and key signature on appropriate " "panel and press OK! The adjust notes " "determins whether or not &nted; shall adjust the appropriate notes such that " "their pitch is kept. This concerns the clef and key signature change. The " "octave shift entry determins an optional octave shift of the clef." msgstr "" #. Tag: para #: index.docbook:663 index.docbook:1706 #, no-c-format msgid "" "Note! LilyPond has its own rules for choosing symbols " " or " ". So, do not expect the same " "symbols in LilyPond!" msgstr "" #. Tag: para #: index.docbook:668 #, no-c-format msgid "" "The staff short name is printed at 2nd, " "3rd, ... page." msgstr "" #. Tag: para #: index.docbook:670 #, no-c-format msgid "" "The group name and short " "group name have the same meaning as staff " "name and staff short name " "for groups of staves. (see System Layout)" msgstr "" #. Tag: para #: index.docbook:673 index.docbook:1741 #, no-c-format msgid "The neutral clef has 3 forms:" msgstr "" #. Tag: phrase #: index.docbook:678 index.docbook:871 index.docbook:1746 #, no-c-format msgid "the neutral clefs" msgstr "" #. Tag: para #: index.docbook:682 index.docbook:1750 #, no-c-format msgid "" "The difference is the MIDI mapping. The first form - signed with \"1\" - " "maps the note lines to pitches like the treble clef would map. The 2nd form " "- signed with \"2\" - maps note lines to pitches like the bass clef would " "map. The difference is not visible." msgstr "" #. Tag: para #: index.docbook:687 index.docbook:1755 #, no-c-format msgid "" "Note: If you choose neutral clef 1 or neutral clef 2 the notation conflicts " "with usual drum notation and it is not exported to LilyPond. An alternative is to use the drum system." msgstr "" #. Tag: para #: index.docbook:690 #, no-c-format msgid "" "On MIDI tab you can change the midi parameters which influences the sound " "during replay:" msgstr "" #. Tag: phrase #: index.docbook:696 #, no-c-format msgid "the midi panel" msgstr "" #. Tag: para #: index.docbook:699 #, no-c-format msgid "" "The instrument panel lets you select the timbre. It assumes a general midi " "table. Furthermore you can choose the volume of the staff." msgstr "" #. Tag: para #: index.docbook:702 #, no-c-format msgid "" "Actually, each voice has the same timbre (plays the same sound). But on " "voices panel you can change this behaviour:" msgstr "" #. Tag: phrase #: index.docbook:708 index.docbook:734 #, no-c-format msgid "the instrument panel" msgstr "" #. Tag: para #: index.docbook:711 #, no-c-format msgid "" "If the radio button all is selected immediately " "before closing the staff configuration menu, all voices produce the same " "sound (play the same instrument). Otherwise you can determine the sound of " "the different voices by selecting one of the radio buttons 1, 2, 3, or " "4. Choose a sound, a volume, and a stereo position " "(pan) of each voice." msgstr "" #. Tag: para #: index.docbook:716 #, no-c-format msgid "" "Different sounds on the same staff produce different sounds on the same MIDI " "track which causes a very complicated and expansive MIDI output! Thus, if " "you have the choice between multiple sounds on the same staff or multiple " "staves you with uniform sound you should choose the latter one!" msgstr "" #. Tag: para #: index.docbook:719 #, no-c-format msgid "" "On channel panel you can assign a midi channel. You should assign a " "different midi channel to different staves. This is automatically done by " "&nted;." msgstr "" #. Tag: para #: index.docbook:721 #, no-c-format msgid "" "Channel 10 is the drum channel on most sound cards and is never assigned " "automatically" msgstr "" #. Tag: para #: index.docbook:722 #, no-c-format msgid "The tempo slider changes the tempo of all staves." msgstr "" #. Tag: para #: index.docbook:723 #, no-c-format msgid "" "The pan slider determins the stereo " "position of the instrument. The chorus " "slider and the reverb slider determine the " "chorus and reverberation effect." msgstr "" #. Tag: para #: index.docbook:726 #, no-c-format msgid "" "The ALSA sound system does not support the reverberation effect of all " "soundcards. The often used modul snd_emu10k1_synth for instance does not support reverberation. But TiMidity supports it." msgstr "" #. Tag: para #: index.docbook:729 #, no-c-format msgid "On mute panel:" msgstr "" #. Tag: para #: index.docbook:737 #, no-c-format msgid "" "you can mute the whole staff by using the all " "checkbox. You can also mute single voices by selecting the voice number. " "(see also Muting)." msgstr "" #. Tag: para #: index.docbook:740 #, no-c-format msgid "" "The transp. slider causes a pitch offset during replay. This feature is " "helpful for instruments which are not in C tuning." msgstr "" #. Tag: title #: index.docbook:745 #, no-c-format msgid "Special letters in staff names" msgstr "" #. Tag: para #: index.docbook:747 #, no-c-format msgid "" "&nted; allowes you to place special letters like flat symbol in staff names:" msgstr "" #. Tag: para #: index.docbook:749 #, no-c-format msgid "Flute in A\\b -->" msgstr "" #. Tag: para #: index.docbook:751 index.docbook:2167 index.docbook:2381 #, no-c-format msgid "The following table gives an overview about the possible signs:" msgstr "" #. Tag: entry #: index.docbook:755 index.docbook:2171 index.docbook:2385 #, no-c-format msgid "\\O" msgstr "" #. Tag: entry #: index.docbook:756 index.docbook:2172 index.docbook:2386 #, no-c-format msgid "\\S" msgstr "" #. Tag: entry #: index.docbook:757 index.docbook:2173 index.docbook:2387 #, no-c-format msgid "\\#" msgstr "" #. Tag: entry #: index.docbook:758 index.docbook:2174 index.docbook:2388 #, no-c-format msgid "\\b" msgstr "" #. Tag: entry #: index.docbook:759 index.docbook:2175 index.docbook:2389 #, no-c-format msgid "\\n" msgstr "" #. Tag: entry #: index.docbook:760 index.docbook:2176 index.docbook:2390 #, no-c-format msgid "\\o" msgstr "" #. Tag: entry #: index.docbook:761 index.docbook:2177 #, no-c-format msgid "\\c" msgstr "" #. Tag: entry #: index.docbook:762 index.docbook:2178 #, no-c-format msgid "\\r" msgstr "" #. Tag: entry #: index.docbook:763 index.docbook:2179 #, no-c-format msgid "\\p" msgstr "" #. Tag: entry #: index.docbook:764 index.docbook:2180 #, no-c-format msgid "\\." msgstr "" #. Tag: entry #: index.docbook:764 index.docbook:2180 #, no-c-format msgid "non breaking space" msgstr "" #. Tag: entry #: index.docbook:765 index.docbook:2181 #, no-c-format msgid "\\..." msgstr "" #. Tag: entry #: index.docbook:765 index.docbook:2181 #, no-c-format msgid "dots" msgstr "" #. Tag: entry #: index.docbook:766 index.docbook:2182 #, no-c-format msgid "\\--" msgstr "" #. Tag: entry #: index.docbook:766 index.docbook:2182 #, no-c-format msgid "dash" msgstr "" #. Tag: title #: index.docbook:774 #, no-c-format msgid "Changing the staff position" msgstr "" #. Tag: para #: index.docbook:775 #, no-c-format msgid "" "If there is more than one staff there is a 3rd tab, the staff position tab:" msgstr "" #. Tag: phrase #: index.docbook:780 #, no-c-format msgid "the position panel" msgstr "" #. Tag: para #: index.docbook:783 #, no-c-format msgid "" "The cursor shows the position of the current staff. Clicking on a different " "position and OK moves the staff to the new position." msgstr "" #. Tag: title #: index.docbook:788 #, no-c-format msgid "Deleting a staff" msgstr "" #. Tag: para #: index.docbook:789 #, no-c-format msgid "If there is more than one staff a \"Delete Staff\" button appears:" msgstr "" #. Tag: phrase #: index.docbook:794 #, no-c-format msgid "the staff delete button" msgstr "" #. Tag: para #: index.docbook:797 #, no-c-format msgid "To delete the staff, press this button." msgstr "" #. Tag: title #: index.docbook:801 #, no-c-format msgid "Changing the staff distance" msgstr "" #. Tag: para #: index.docbook:802 #, no-c-format msgid "" "&nted; chooses the staff distance automatically according to the position " "and height of the elements. This works in most cases. But sometimes the user " "wishes customized staff distances. To increase the staff distance make sure " "&nted; is in insert mode (see The 3 modes). Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:806 #, no-c-format msgid "" "Insert spacer" msgstr "" #. Tag: para #: index.docbook:811 #, no-c-format msgid "" "Click at the position to place the spacer on. By clicking and dragging the " "spacer vertically you can adjust the space between the current staff and the " "adjacent staves:" msgstr "" #. Tag: phrase #: index.docbook:817 #, no-c-format msgid "the spacer" msgstr "" #. Tag: para #: index.docbook:821 #, no-c-format msgid "To hide the spacer choose:" msgstr "" #. Tag: para #: index.docbook:829 #, no-c-format msgid "" "Modifying an deleting spacer works similar to modifying and deleting arbitrary text." msgstr "" #. Tag: title #: index.docbook:832 #, no-c-format msgid "Removing systems" msgstr "" #. Tag: para #: index.docbook:833 #, no-c-format msgid "If there is more than one system a \"Delete Systems\" button appears:" msgstr "" #. Tag: phrase #: index.docbook:838 #, no-c-format msgid "the system delete button" msgstr "" #. Tag: para #: index.docbook:841 #, no-c-format msgid "To delete the system, press this button." msgstr "" #. Tag: para #: index.docbook:843 #, no-c-format msgid "" "You cannot delete the system on first page if the first pages has only one " "system." msgstr "" #. Tag: title #: index.docbook:848 #, no-c-format msgid "Hide measure numbers" msgstr "" #. Tag: para #: index.docbook:849 #, no-c-format msgid "&nted; shows measure numbers at system start. You can avoid this by:" msgstr "" #. Tag: menuchoice #: index.docbook:851 #, no-c-format msgid "" "View show measure numbers" msgstr "" #. Tag: title #: index.docbook:862 #, no-c-format msgid "The drum system" msgstr "" #. Tag: title #: index.docbook:864 #, no-c-format msgid "The default drum system" msgstr "" #. Tag: para #: index.docbook:866 #, no-c-format msgid "If you choose neutral clef 1 or neutral clef 2 from clef dialog:" msgstr "" #. Tag: para #: index.docbook:875 #, no-c-format msgid "" "the pitches are mapped according to the General MIDI system. This conficts " "with usual drum notation. To avoid this &nted; offers a drum system which " "orientates towards the convertional drum notation." msgstr "" #. Tag: para #: index.docbook:878 #, no-c-format msgid "" "To activate the drum system choose the 3rd drum clef (The 3 isn't printed). " "In current version you should use only the following 20 drum elements:" msgstr "" #. Tag: phrase #: index.docbook:885 #, no-c-format msgid "the drum system" msgstr "" #. Tag: para #: index.docbook:889 #, no-c-format msgid "" "These notes are mapped to MIDI such a way that the appropriate drum element " "sounds during replay. Furthermore, these notes are exported to LilyPond." msgstr "" #. Tag: title #: index.docbook:897 #, no-c-format msgid "Configuration of the drum system" msgstr "" #. Tag: para #: index.docbook:898 #, no-c-format msgid "" "The default drum system comprises the most usual drum elements. Users, who " "want to use more drum elements can re-configure the drum system:" msgstr "" #. Tag: menuchoice #: index.docbook:900 #, no-c-format msgid "" "File Drums ..." msgstr "" #. Tag: para #: index.docbook:906 #, no-c-format msgid "The drum configuration dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:912 #, no-c-format msgid "The drum configuration dialog" msgstr "" #. Tag: para #: index.docbook:916 #, no-c-format msgid "" "The central table lists all drum elements: the name, the short name (equal " "to the LilyPond name), the line, " "the head of the note, and the appropriate MIDI pitch. If you select a drum " "element, the note head buttons and the little preview window reflect the " "current state of the drum note. You can change the line by clicking the up/" "down arrows or by cursor up/down keys on PC keyboard. The note head is " "changed by clicking the approprioate note head button. If you click on " "change element, the new note head and the " "new line is changed permanently." msgstr "" #. Tag: para #: index.docbook:922 #, no-c-format msgid "" "To reload the default values, press the load defaults button. You can save and reload a configuration in a file, " "by pressing the save to file and " "load from file button." msgstr "" #. Tag: para #: index.docbook:925 #, no-c-format msgid "" "The play element buttons plays the " "appropriate drum element (if your MIDI out " "device is correctly configured)." msgstr "" #. Tag: para #: index.docbook:927 #, no-c-format msgid "" "If you place 2 drum elements at the same line with the same note head &nted; " "uses the first appearence of this configuration." msgstr "" #. Tag: title #: index.docbook:936 #, no-c-format msgid "Voices" msgstr "" #. Tag: para #: index.docbook:938 #, no-c-format msgid "" "You can place the notes or rests at one of 4 voices. To determine the voice " "select the voice number on voice selector " "()." msgstr "" #. Tag: para #: index.docbook:941 #, no-c-format msgid "" "Because multiple voices can be very confusing there is a color button " "(), which causes the " "notes and rests to be drawn colored:" msgstr "" #. Tag: phrase #: index.docbook:948 #, no-c-format msgid "colored score" msgstr "" #. Tag: para #: index.docbook:951 #, no-c-format msgid "The colors refer to the colors of the voice selector." msgstr "" #. Tag: para #: index.docbook:952 #, no-c-format msgid "" "The normal case is: Every voice produces the same sound (plays the same " "instrument) during replay. But you can change this behaviour by attaching " " different sounds to different " "voices." msgstr "" #. Tag: title #: index.docbook:957 #, no-c-format msgid "Block instructions" msgstr "" #. Tag: title #: index.docbook:959 #, no-c-format msgid "Overview" msgstr "" #. Tag: para #: index.docbook:960 #, no-c-format msgid "&nted; offers 4 different block instructions:" msgstr "" #. Tag: entry #: index.docbook:965 #, no-c-format msgid "Block copy" msgstr "" #. Tag: entry #: index.docbook:965 #, no-c-format msgid "Block delete" msgstr "" #. Tag: entry #: index.docbook:970 #, no-c-format msgid "Empty block" msgstr "" #. Tag: entry #: index.docbook:970 #, no-c-format msgid "Insert block" msgstr "" #. Tag: title #: index.docbook:982 #, no-c-format msgid "Select a block" msgstr "" #. Tag: para #: index.docbook:983 #, no-c-format msgid "" "To select a block make sure &nted; is in edit mode (see The 3 modes). Draw a diagonal with left mouse button " "such that the appropriate rectangle encloses all elements you like to work " "with:" msgstr "" #. Tag: phrase #: index.docbook:990 #, no-c-format msgid "selection" msgstr "" #. Tag: para #: index.docbook:993 #, no-c-format msgid "The selected elements appear in violet color." msgstr "" #. Tag: para #: index.docbook:995 #, no-c-format msgid "" "If there is a selection rectangle you can deselect some staves from " "selection by right clicking on the staff:" msgstr "" #. Tag: phrase #: index.docbook:1000 #, no-c-format msgid "deselect from selection" msgstr "" #. Tag: para #: index.docbook:1004 #, no-c-format msgid "" "This is especially useful if you for example want to copy only the 1st and " "the 3rd staff of 3 staves:" msgstr "" #. Tag: phrase #: index.docbook:1009 #, no-c-format msgid "copy selective" msgstr "" #. Tag: title #: index.docbook:1015 #, no-c-format msgid "Block copy" msgstr "" #. Tag: para #: index.docbook:1016 #, no-c-format msgid "" "To copy a block select some elements as described in Select a block. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:1018 #, no-c-format msgid "Edit Copy" msgstr "" #. Tag: para #: index.docbook:1023 #, no-c-format msgid "" "or press Ctrl C. The " "selected items are copied into an internal clipboard." msgstr "" #. Tag: title #: index.docbook:1028 #, no-c-format msgid "Block paste" msgstr "" #. Tag: para #: index.docbook:1029 #, no-c-format msgid "" "To paste a block select a note or rest as described in Shifting notes. This selected chord or rest is the " "upper left corner of a virtual destination rectangle:" msgstr "" #. Tag: phrase #: index.docbook:1035 #, no-c-format msgid "virtual destination rectangle" msgstr "" #. Tag: para #: index.docbook:1039 index.docbook:1098 index.docbook:1124 index.docbook:1390 #: index.docbook:2473 index.docbook:2504 index.docbook:2536 index.docbook:3197 #, no-c-format msgid "Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:1041 #, no-c-format msgid "Edit Paste" msgstr "" #. Tag: para #: index.docbook:1046 #, no-c-format msgid "" "or press Ctrl V. The " "items from internal clipboard are copied to this virtual destination " "rectangle:" msgstr "" #. Tag: phrase #: index.docbook:1053 #, no-c-format msgid "paste complete" msgstr "" #. Tag: title #: index.docbook:1059 #, no-c-format msgid "Delete a block" msgstr "" #. Tag: para #: index.docbook:1060 #, no-c-format msgid "" "To delete a block select some elements as described in Select a block. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:1062 #, no-c-format msgid "" "Edit Delete Block" msgstr "" #. Tag: para #: index.docbook:1067 #, no-c-format msgid "Or simply press Ctrl + X. The block is deleted." msgstr "" #. Tag: para #: index.docbook:1068 #, no-c-format msgid "" "Independent of the concrete selection the delete operation influences all " "staves. Only whole measures are deleted." msgstr "" #. Tag: phrase #: index.docbook:1074 #, no-c-format msgid "block delete removes whole measures" msgstr "" #. Tag: title #: index.docbook:1079 #, no-c-format msgid "Empty a block" msgstr "" #. Tag: para #: index.docbook:1080 #, no-c-format msgid "" "To empty a block means to convert all notes groups to rests of appropriate " "length. Select some elements as described in Select a block:" msgstr "" #. Tag: phrase #: index.docbook:1086 #, no-c-format msgid "selection for empty a block" msgstr "" #. Tag: para #: index.docbook:1090 #, no-c-format msgid "Again, you can deselect some staves by right clicking them:" msgstr "" #. Tag: phrase #: index.docbook:1095 #, no-c-format msgid "selection for empty a block, staff 2 deselected" msgstr "" #. Tag: menuchoice #: index.docbook:1100 #, no-c-format msgid "" "Edit Empty Block" msgstr "" #. Tag: para #: index.docbook:1105 #, no-c-format msgid "Or simply press Ctrl + E. The block is emptied:" msgstr "" #. Tag: phrase #: index.docbook:1110 #, no-c-format msgid "block emptied" msgstr "" #. Tag: title #: index.docbook:1115 #, no-c-format msgid "Insert a block of empty measures" msgstr "" #. Tag: para #: index.docbook:1116 #, no-c-format msgid "" "To insert a block of empty measures choose an arbitrary note or rest as " "described in Shifting notes." msgstr "" #. Tag: phrase #: index.docbook:1121 #, no-c-format msgid "select before block insertion" msgstr "" #. Tag: menuchoice #: index.docbook:1126 #, no-c-format msgid "" "Insert Insert block" msgstr "" #. Tag: para #: index.docbook:1131 #, no-c-format msgid "" "Determine the number of measures you wish to insert on insert dialog. Click " "OK!" msgstr "" #. Tag: phrase #: index.docbook:1136 #, no-c-format msgid "block insertion dialog" msgstr "" #. Tag: para #: index.docbook:1139 #, no-c-format msgid "" "The measures are inserted after the measure with the selected note or rest." msgstr "" #. Tag: phrase #: index.docbook:1144 #, no-c-format msgid "block insertion performed" msgstr "" #. Tag: title #: index.docbook:1152 #, no-c-format msgid "Handling beams" msgstr "" #. Tag: title #: index.docbook:1154 #, no-c-format msgid "Grouping" msgstr "" #. Tag: para #: index.docbook:1156 #, no-c-format msgid "" "&nted; places the beams automatically depending on the note length and the " "time signature. This works in most cases. But sometimes the user wishes " "costumized beams. To change the beaming use a special button on toolbar " "which changes its appearence depending of whether there is a selection " "rectangle or not (see Select a block). " "If there is no selection rectangle the button isolates a currently beamed " "note (). To isolate make " "sure &nted; is in edit mode (see The 3 modes). Select a beamed note by left clicking it:" msgstr "" #. Tag: phrase #: index.docbook:1166 #, no-c-format msgid "The situation before isolation" msgstr "" #. Tag: para #: index.docbook:1169 #, no-c-format msgid "" "Then press the isolate button ():" msgstr "" #. Tag: phrase #: index.docbook:1176 #, no-c-format msgid "The situation after isolation" msgstr "" #. Tag: para #: index.docbook:1180 #, no-c-format msgid "The note is isolated." msgstr "" #. Tag: para #: index.docbook:1182 #, no-c-format msgid "" "To connect some notes with a beam, select them as described in Select a block:" msgstr "" #. Tag: phrase #: index.docbook:1188 index.docbook:1199 index.docbook:1209 index.docbook:1219 #, no-c-format msgid "The situation before connection" msgstr "" #. Tag: para #: index.docbook:1192 #, no-c-format msgid "" "The button changes its appearence " "(). Press the button and " "&nted; connects the notes by a beam:" msgstr "" #. Tag: para #: index.docbook:1203 #, no-c-format msgid "" "Note! This function can break beams as well, if the selection rectangle " "crosses an existing beam:" msgstr "" #. Tag: para #: index.docbook:1213 #, no-c-format msgid "This results in:" msgstr "" #. Tag: para #: index.docbook:1223 #, no-c-format msgid "" "Instead of pressing the button you can use Ctrl " "J independent of the button's appearence." msgstr "" #. Tag: title #: index.docbook:1228 #, no-c-format msgid "Changing the beam parameters" msgstr "" #. Tag: para #: index.docbook:1230 #, no-c-format msgid "" "To change the stem direction make sure &nted; is in edit mode (see The 3 modes) select the first or the last note " "with left mouse button and press the change stem dir button " "()." msgstr "" #. Tag: para #: index.docbook:1233 #, no-c-format msgid "" "Instead of pressing the change stem dir button " "() you can " "simply press Ctrl F " "twice." msgstr "" #. Tag: para #: index.docbook:1237 #, no-c-format msgid "" "&nted; computes the beam position and slope depending on the position of the " "beamed notes. This works in most cases. But sometimes the user wishes to " "change the beam parameters. To change the beam position make sure &nted; is " "in edit mode (see The 3 modes) and select " "the first note with left mouse button:" msgstr "" #. Tag: phrase #: index.docbook:1246 #, no-c-format msgid "beam position 0" msgstr "" #. Tag: para #: index.docbook:1250 #, no-c-format msgid "" "The stem has a handle represented by a small blue square. Select this handle " "with left mouse button and move it up or down. The beam follows this motion:" msgstr "" #. Tag: phrase #: index.docbook:1257 #, no-c-format msgid "beam position 1" msgstr "" #. Tag: para #: index.docbook:1261 #, no-c-format msgid "To change the beam's slope select the last note with left mouse button:" msgstr "" #. Tag: phrase #: index.docbook:1267 #, no-c-format msgid "beam slope 0" msgstr "" #. Tag: para #: index.docbook:1271 #, no-c-format msgid "" "The stem has a handle represented by a small blue square. Select this handle " "with left mouse button and move it up or down. The slope changes according " "to this motion:" msgstr "" #. Tag: phrase #: index.docbook:1278 #, no-c-format msgid "beam slope 1" msgstr "" #. Tag: title #: index.docbook:1286 #, no-c-format msgid "Handling stems" msgstr "" #. Tag: para #: index.docbook:1288 #, no-c-format msgid "" "To change the stem direction make sure &nted; is in edit mode (see The 3 modes) select the note with left mouse " "button and press the change stem dir button " "()." msgstr "" #. Tag: para #: index.docbook:1293 #, no-c-format msgid "" "Instead of pressing the change stem dir button " "() you can " "simply press Ctrl F." msgstr "" #. Tag: para #: index.docbook:1297 #, no-c-format msgid "" "All notes have a default stem length. This is OK in most cases. But " "sometimes the user wishes to change the stem length. To do this make sure " "&nted; is in edit mode (see The 3 modes) " "and select the note with left mouse button:" msgstr "" #. Tag: phrase #: index.docbook:1304 #, no-c-format msgid "stem length 0" msgstr "" #. Tag: para #: index.docbook:1308 #, no-c-format msgid "" "The stem has a handle represented by a small blue square. Select this handle " "with left mouse button and move it up or down. The stem length changes " "according to this motion:" msgstr "" #. Tag: phrase #: index.docbook:1315 #, no-c-format msgid "stem length 1" msgstr "" #. Tag: title #: index.docbook:1322 #, no-c-format msgid "Horizontal spacement" msgstr "" #. Tag: title #: index.docbook:1324 #, no-c-format msgid "Global Spacement" msgstr "" #. Tag: para #: index.docbook:1325 #, no-c-format msgid "" "&nted; applies a predefined horizontally spacing. This looks good in most " "cases. But sometimes the user wishes a different spacement. To change the " "horizontal spacement globally choose:" msgstr "" #. Tag: menuchoice #: index.docbook:1328 #, no-c-format msgid "" "Edit Change spacement ..." msgstr "" #. Tag: para #: index.docbook:1334 #, no-c-format msgid "The spacement dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:1339 #, no-c-format msgid "the spacement dialog" msgstr "" #. Tag: para #: index.docbook:1343 #, no-c-format msgid "" "Change the spacement factor and press OK! &nted; applies the new horizontal " "spacement:" msgstr "" #. Tag: phrase #: index.docbook:1348 #, no-c-format msgid "the global spacement" msgstr "" #. Tag: title #: index.docbook:1354 #, no-c-format msgid "Changing the horizontal spacement measurewise" msgstr "" #. Tag: para #: index.docbook:1355 #, no-c-format msgid "" "&nted; allowes you to change the spacment measurewise. To do this select an " "arbitrary note of the measure, as described in Shifting notes. Then press an hold the shift key and turn the " "mouse wheel! The horizontal spaces of the measure change accordingly." msgstr "" #. Tag: para #: index.docbook:1360 #, no-c-format msgid "" "Instead of using the mouse wheel you can also use Shift CursorUp and Shift CursorDown." msgstr "" #. Tag: phrase #: index.docbook:1367 #, no-c-format msgid "horizontal space per measure" msgstr "" #. Tag: title #: index.docbook:1376 #, no-c-format msgid "System Layout" msgstr "" #. Tag: para #: index.docbook:1377 #, no-c-format msgid "" "You can group the staves by means of braces and brackets. Furthermore, " "&nted; allows you to determine whether the measure lines of subsequent " "staves are connected or not." msgstr "" #. Tag: para #: index.docbook:1380 #, no-c-format msgid "" "To do this mark a block of staves as described in chapter Select a block." msgstr "" #. Tag: phrase #: index.docbook:1386 #, no-c-format msgid "selected block" msgstr "" #. Tag: menuchoice #: index.docbook:1392 #, no-c-format msgid "" "Edit System layout ..." msgstr "" #. Tag: para #: index.docbook:1397 #, no-c-format msgid "Select one of the offered menu items:" msgstr "" #. Tag: para #: index.docbook:1399 #, no-c-format msgid "" "brace - This groups the selected staves by " "means of a brace." msgstr "" #. Tag: para #: index.docbook:1400 #, no-c-format msgid "" "bracket - This groups the selected staves " "by means of a bracket." msgstr "" #. Tag: para #: index.docbook:1401 #, no-c-format msgid "" "connect barlines - This causes the bar " "lines of the selected staves to be connected." msgstr "" #. Tag: para #: index.docbook:1402 #, no-c-format msgid "" "remove group - This removes a staff group " "created with one of the 3 methods above." msgstr "" #. Tag: phrase #: index.docbook:1409 #, no-c-format msgid "staff layout" msgstr "" #. Tag: para #: index.docbook:1413 #, no-c-format msgid "" "To name a staff group, fill in the group name, or group short name, " "respectively (see: Change staff properties) of the lowest staff of this group:" msgstr "" #. Tag: phrase #: index.docbook:1420 #, no-c-format msgid "a group name" msgstr "" #. Tag: title #: index.docbook:1425 #, no-c-format msgid "Tuplets" msgstr "" #. Tag: title #: index.docbook:1428 #, no-c-format msgid "Create tuplets" msgstr "" #. Tag: para #: index.docbook:1429 #, no-c-format msgid "" "&nted; can deal with tuplets from 2 to 13. To create a tuplet select a note " "or rest which shall be the first member of the tuplet. Press Ctrl and the " "tuplet val number. For instance: If you want a quarter note to be the first " "member of a triplet then select the quarter note:" msgstr "" #. Tag: phrase #: index.docbook:1436 #, no-c-format msgid "before triplet creation" msgstr "" #. Tag: para #: index.docbook:1439 #, no-c-format msgid "and press Ctrl + 3:" msgstr "" #. Tag: phrase #: index.docbook:1444 #, no-c-format msgid "after triplet creation (method1)" msgstr "" #. Tag: para #: index.docbook:1448 #, no-c-format msgid "" "There is a 2nd procedure if you press Ctrl+Alt+<num> instead, the " "result is:" msgstr "" #. Tag: phrase #: index.docbook:1453 #, no-c-format msgid "after triplet creation (method2)" msgstr "" #. Tag: para #: index.docbook:1457 #, no-c-format msgid "" "What's the difference? In first case &nted; regards the selected note as the " "first triplet member. In 2nd case it assumes the selected quarter has the " "length of the first 2 triplet members. This is especially useful for swing " "music where the combination shown above occurs very often." msgstr "" #. Tag: title #: index.docbook:1464 #, no-c-format msgid "Delete tuplets" msgstr "" #. Tag: para #: index.docbook:1465 #, no-c-format msgid "To delete a tuplet select any tuplet member and choose:" msgstr "" #. Tag: menuchoice #: index.docbook:1467 #, no-c-format msgid "" "Edit Remove tuplet" msgstr "" #. Tag: title #: index.docbook:1474 #, no-c-format msgid "Tuplets from 10 to 13" msgstr "" #. Tag: para #: index.docbook:1475 #, no-c-format msgid "To create a tuplet with value greater then 9 choose:" msgstr "" #. Tag: menuchoice #: index.docbook:1477 #, no-c-format msgid "" "Insert Insert tuplet ..." msgstr "" #. Tag: para #: index.docbook:1483 #, no-c-format msgid "" "Set the tuplet value on dialog! To create a tuplet according to 2nd method " "(see above) select the method 2 check box." msgstr "" #. Tag: title #: index.docbook:1489 #, no-c-format msgid "Slurs" msgstr "" #. Tag: title #: index.docbook:1492 #, no-c-format msgid "Inserting slurs" msgstr "" #. Tag: para #: index.docbook:1494 #, no-c-format msgid "" "To insert a slur make sure &nted; is in edit mode (see The 3 modes). Select some notes as described in Select a block:" msgstr "" #. Tag: phrase #: index.docbook:1501 #, no-c-format msgid "before a slur is created" msgstr "" #. Tag: para #: index.docbook:1505 #, no-c-format msgid "Then Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:1507 #, no-c-format msgid "" "Insert Slur" msgstr "" #. Tag: para #: index.docbook:1513 #, no-c-format msgid "" "or press Ctrl H. The " "slur appears:" msgstr "" #. Tag: phrase #: index.docbook:1519 #, no-c-format msgid "after a slur is created" msgstr "" #. Tag: para #: index.docbook:1523 #, no-c-format msgid "" "As you can see the slur has 3 handles. By left clicking and dragging these " "handles you can determine the exact slur shape:" msgstr "" #. Tag: phrase #: index.docbook:1529 #, no-c-format msgid "a slur is created" msgstr "" #. Tag: title #: index.docbook:1535 #, no-c-format msgid "Modifiying slurs" msgstr "" #. Tag: para #: index.docbook:1537 #, no-c-format msgid "" "Although the slur handles appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" #. Tag: phrase #: index.docbook:1544 #, no-c-format msgid "the assignment of the slur handles" msgstr "" #. Tag: para #: index.docbook:1548 index.docbook:1853 index.docbook:1971 index.docbook:2067 #: index.docbook:2206 index.docbook:2302 #, no-c-format msgid "This has consequences:" msgstr "" #. Tag: para #: index.docbook:1550 #, no-c-format msgid "" "&nted; tries to keep the position of the slur handle relative to the symbol " "it is assigned to;" msgstr "" #. Tag: para #: index.docbook:1551 #, no-c-format msgid "&nted; removes the slur if the symbol it is assigned to is removed;" msgstr "" #. Tag: para #: index.docbook:1554 #, no-c-format msgid "" "To change a slur's shape make sure &nted; is in edit mode (see The 3 modes). Select the start or end of a slur with " "left mouse button. The 3 handles appear again:" msgstr "" #. Tag: phrase #: index.docbook:1560 #, no-c-format msgid "the selection of the slur handles" msgstr "" #. Tag: para #: index.docbook:1564 #, no-c-format msgid "Thus, you can change the slur's shape again by dragging the 3 handles." msgstr "" #. Tag: title #: index.docbook:1568 #, no-c-format msgid "Deleting a slur" msgstr "" #. Tag: para #: index.docbook:1569 #, no-c-format msgid "" "To delete a slur make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Left click the start or and of a slur. " "The selected handle appears in red color. Press the backspace key and the " "slur will be deleted." msgstr "" #. Tag: title #: index.docbook:1576 #, no-c-format msgid "Repeats and other bar types" msgstr "" #. Tag: title #: index.docbook:1578 #, no-c-format msgid "Simple Repeats" msgstr "" #. Tag: para #: index.docbook:1579 #, no-c-format msgid "" "To place a repeat open or repeat close make sure &nted; is in edit mode (see " "The 3 modes). Right click a measure line. " "The repeat dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:1585 #, no-c-format msgid "the repeat dialog" msgstr "" #. Tag: para #: index.docbook:1588 #, no-c-format msgid "" "Choose one of the offered repeat types by clicking the up/down arrow and " "press Ok button. The appropriate measure changes its type:" msgstr "" #. Tag: phrase #: index.docbook:1594 #, no-c-format msgid "the repeat open measure" msgstr "" #. Tag: title #: index.docbook:1599 #, no-c-format msgid "Alternatives" msgstr "" #. Tag: para #: index.docbook:1600 #, no-c-format msgid "" "If you select a closing repeat on repeat dialog the checkbox " "alternative1 is enabled. If you check it " "the checkbox alternative2 is enabled:" msgstr "" #. Tag: phrase #: index.docbook:1606 #, no-c-format msgid "the alternative checkboxes" msgstr "" #. Tag: para #: index.docbook:1609 #, no-c-format msgid "This way you can place the appropriate alternatives:" msgstr "" #. Tag: phrase #: index.docbook:1615 #, no-c-format msgid "the alternative" msgstr "" #. Tag: para #: index.docbook:1618 #, no-c-format msgid "" "Both alternatives cover one measure at start. To change the alternative's " "width select 1. or 2. with left mouse click. The selected number appears red:" msgstr "" #. Tag: phrase #: index.docbook:1624 #, no-c-format msgid "the selected alternative" msgstr "" #. Tag: para #: index.docbook:1627 #, no-c-format msgid "Change the alternative width by pressing the left/right cursor key:" msgstr "" #. Tag: phrase #: index.docbook:1632 #, no-c-format msgid "the changed alternative" msgstr "" #. Tag: para #: index.docbook:1635 #, no-c-format msgid "" "To delete an alternative select the appropriate closing repeat and deselect " "the appropriate checkbox." msgstr "" #. Tag: title #: index.docbook:1638 #, no-c-format msgid "End bar" msgstr "" #. Tag: para #: index.docbook:1639 #, no-c-format msgid "The same way you can insert an end bar:" msgstr "" #. Tag: phrase #: index.docbook:1644 #, no-c-format msgid "double bar and end bar" msgstr "" #. Tag: para #: index.docbook:1648 #, no-c-format msgid "" "If you choose the end bar or repeat close you can control by hide " "following whether or not &nted; draws elements following the end " "bar on the same system:" msgstr "" #. Tag: phrase #: index.docbook:1654 index.docbook:1662 #, no-c-format msgid "the end bar dialog" msgstr "" #. Tag: para #: index.docbook:1657 #, no-c-format msgid "It is your responsibility to delete following systems or pages!" msgstr "" #. Tag: title #: index.docbook:1668 #, no-c-format msgid "Double bar" msgstr "" #. Tag: para #: index.docbook:1669 #, no-c-format msgid "The same way you can insert a double bars:" msgstr "" #. Tag: phrase #: index.docbook:1674 #, no-c-format msgid "double bar" msgstr "" #. Tag: title #: index.docbook:1681 #, no-c-format msgid "Time signature changes" msgstr "" #. Tag: title #: index.docbook:1683 #, no-c-format msgid "Inserting or changing time signature changes" msgstr "" #. Tag: para #: index.docbook:1684 #, no-c-format msgid "" "To place a time signature change make sure &nted; is in edit mode (see The 3 modes). Right click a measure line. On " "dialog box select enable timesig" msgstr "" #. Tag: phrase #: index.docbook:1690 index.docbook:1702 #, no-c-format msgid "the timesig changed dialog" msgstr "" #. Tag: para #: index.docbook:1694 #, no-c-format msgid "" "On time signature panel choose the new numerator and denominator or one of " "the symbols or " " and press Ok:" msgstr "" #. Tag: title #: index.docbook:1712 #, no-c-format msgid "Removing a time signature change" msgstr "" #. Tag: para #: index.docbook:1713 #, no-c-format msgid "" "To delete an existing time signature change select the delete " "timesig checkbox." msgstr "" #. Tag: title #: index.docbook:1718 #, no-c-format msgid "Clef changes" msgstr "" #. Tag: title #: index.docbook:1720 #, no-c-format msgid "Inserting clef changes" msgstr "" #. Tag: para #: index.docbook:1721 #, no-c-format msgid "" "To place a clef change make sure &nted; is in insert/delete mode (see The 3 modes). Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:1723 #, no-c-format msgid "" "Insert Clefs" msgstr "" #. Tag: para #: index.docbook:1729 #, no-c-format msgid "The clef change dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:1735 #, no-c-format msgid "the clef change dialog" msgstr "" #. Tag: para #: index.docbook:1739 #, no-c-format msgid "" "Choose a clef by clicking the up/down arrow keys! The octave shift entry " "determins an optional octave shift of the clef." msgstr "" #. Tag: para #: index.docbook:1759 #, no-c-format msgid "" "The adjust notes determins whether or not " "&nted; shall adjust the appropriate notes such that their pitch is kept. " "Press the Ok button! Click at the position " "to place the clef change on! The appropriate clef appears:" msgstr "" #. Tag: phrase #: index.docbook:1766 #, no-c-format msgid "the clef change" msgstr "" #. Tag: title #: index.docbook:1772 #, no-c-format msgid "Deleting a clef change" msgstr "" #. Tag: para #: index.docbook:1773 #, no-c-format msgid "" "To delete a clef change make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Click the clef change with left mouse " "button. The selected clef change appears in red color. Press the backspace " "key and the clef change will be deleted." msgstr "" #. Tag: title #: index.docbook:1780 #, no-c-format msgid "Key signature changes" msgstr "" #. Tag: title #: index.docbook:1782 #, no-c-format msgid "Inserting key signature changes" msgstr "" #. Tag: para #: index.docbook:1783 #, no-c-format msgid "" "To place a key signature change make sure &nted; is in insert/delete mode " "(see The 3 modes). Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:1785 #, no-c-format msgid "" "Insert Insert keysig ..." msgstr "" #. Tag: para #: index.docbook:1791 #, no-c-format msgid "The key signature dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:1796 #, no-c-format msgid "key signature dialog" msgstr "" #. Tag: para #: index.docbook:1800 #, no-c-format msgid "" "Choose the new key signature. The adjust notes determins whether or not &nted; shall adjust the appropriate " "notes such that their pitch is kept. Press the Ok button! Click at the position to place the key signature " "change on:" msgstr "" #. Tag: phrase #: index.docbook:1807 #, no-c-format msgid "the key signature change" msgstr "" #. Tag: title #: index.docbook:1813 #, no-c-format msgid "Deleting a key signature change" msgstr "" #. Tag: para #: index.docbook:1814 #, no-c-format msgid "" "To delete a key signature change make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Click the key signature change with " "left mouse button. The selected key signature appears in red color. Press " "the backspace key and the key signature change will be deleted." msgstr "" #. Tag: title #: index.docbook:1821 #, no-c-format msgid "Dynamics" msgstr "" #. Tag: title #: index.docbook:1823 #, no-c-format msgid "Insert dynamics" msgstr "" #. Tag: para #: index.docbook:1825 #, no-c-format msgid "" "To insert a dynamic symbol make sure &nted; is in insert mode (see The 3 modes). Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:1827 #, no-c-format msgid "" "Insert Dynamics ..." msgstr "" #. Tag: para #: index.docbook:1833 #, no-c-format msgid "" "Choose the dynamic symbol and click at the position to place the dynamic " "sign on." msgstr "" #. Tag: title #: index.docbook:1837 #, no-c-format msgid "Change the dynamic's position" msgstr "" #. Tag: para #: index.docbook:1838 #, no-c-format msgid "" "To move a dynamic symbol make sure &nted; is in edit mode (see The 3 modes). Select the dynamic symbol by left " "clicking it. The selected symbol appears in red. Hold left mouse button and " "move the mouse. The dynamic symbol moves accordingly." msgstr "" #. Tag: para #: index.docbook:1842 #, no-c-format msgid "" "Although the dynamic symbols appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" #. Tag: phrase #: index.docbook:1849 #, no-c-format msgid "the assignment of dynamics" msgstr "" #. Tag: para #: index.docbook:1855 #, no-c-format msgid "" "&nted; tries to keep the position of the dynamic symbol relative to the " "symbol it is assigned to;" msgstr "" #. Tag: para #: index.docbook:1856 #, no-c-format msgid "" "&nted; copies the dynamic symbol if the symbol it is assigned to is copied;" msgstr "" #. Tag: para #: index.docbook:1857 #, no-c-format msgid "" "&nted; removes the dynamic symbol if the symbol it is assigned to is removed;" msgstr "" #. Tag: para #: index.docbook:1858 #, no-c-format msgid "" "&nted; influences the volume of the staff of the symbol it is assigned to;" msgstr "" #. Tag: title #: index.docbook:1863 #, no-c-format msgid "Determine the MIDI volume of a dynamic symbol" msgstr "" #. Tag: para #: index.docbook:1864 #, no-c-format msgid "" "Every dynamic symbol has a predefined MIDI volume between 0 and 127. To " "change the MIDI volume click the dynamic symbol with right mouse button. The " "volume dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:1871 index.docbook:2009 #, no-c-format msgid "the volume dialog" msgstr "" #. Tag: para #: index.docbook:1875 #, no-c-format msgid "Select a MIDI volume and press OK!" msgstr "" #. Tag: title #: index.docbook:1880 #, no-c-format msgid "Removing dynamics" msgstr "" #. Tag: para #: index.docbook:1881 #, no-c-format msgid "" "To remove a dynamic symbol make sure &nted; is in edit mode (see The 3 modes). Select the dynamic symbol by left " "clicking it. The selected symbol appears in red. Press Backspace key and the " "dynamic symbol vanishes." msgstr "" #. Tag: title #: index.docbook:1888 #, no-c-format msgid "Horizontal lines" msgstr "" #. Tag: title #: index.docbook:1890 #, no-c-format msgid "Inserting horizontal lines" msgstr "" #. Tag: para #: index.docbook:1892 #, no-c-format msgid "" "&nted; allows you to insert some horizontal lines. Among them (de-)crescendo " "(hairpins), va8, vb8, ma15, and mb15 lines. To insert a line make sure " "&nted; is in insert mode (see The 3 modes). Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:1895 #, no-c-format msgid "" "Insert Insert lines ..." msgstr "" #. Tag: para #: index.docbook:1901 #, no-c-format msgid "The line dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:1907 #, no-c-format msgid "the line dialog" msgstr "" #. Tag: para #: index.docbook:1911 #, no-c-format msgid "" "Select a line by clicking on the appropriate box. The selected line appears " "red hemmed:" msgstr "" #. Tag: phrase #: index.docbook:1917 #, no-c-format msgid "the line dialog (selected)" msgstr "" #. Tag: para #: index.docbook:1921 #, no-c-format msgid "" "Press OK and then left click the position where the line shall appear. A " "appropriate line is created:" msgstr "" #. Tag: phrase #: index.docbook:1926 #, no-c-format msgid "a (de-)crescendo is created" msgstr "" #. Tag: para #: index.docbook:1930 #, no-c-format msgid "" "As you can see the line has 2 handles. By left clicking and dragging these " "handles you can determine the position and length:" msgstr "" #. Tag: phrase #: index.docbook:1936 #, no-c-format msgid "a (de-) crescendo is placed" msgstr "" #. Tag: para #: index.docbook:1940 #, no-c-format msgid "" "If you want a line to span multiple staves first move the end point " "vertically, even if the handle does not immedietely follow the mouse cursor!" msgstr "" #. Tag: phrase #: index.docbook:1947 #, no-c-format msgid "create multi stave lines" msgstr "" #. Tag: para #: index.docbook:1954 #, no-c-format msgid "" "Note! The left handle determins the start position. The right handle only " "determins the horizontal end point, not the vertical position!" msgstr "" #. Tag: title #: index.docbook:1958 #, no-c-format msgid "Modifiying lines" msgstr "" #. Tag: para #: index.docbook:1960 #, no-c-format msgid "" "Although the line handles appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" #. Tag: phrase #: index.docbook:1967 #, no-c-format msgid "the assignment of the crescendo handles" msgstr "" #. Tag: para #: index.docbook:1973 #, no-c-format msgid "" "&nted; tries to keep the position of the line handle relative to the symbol " "it is assigned to;" msgstr "" #. Tag: para #: index.docbook:1974 #, no-c-format msgid "&nted; removes the line if the symbol it is assigned to is removed;" msgstr "" #. Tag: para #: index.docbook:1975 #, no-c-format msgid "" "&nted; influences the MIDI replay of the appropriate staff, if possible;" msgstr "" #. Tag: para #: index.docbook:1978 #, no-c-format msgid "" "To change a line's length and position make sure &nted; is in edit mode (see " "The 3 modes). Select the start of a line " "with left mouse button. The 2 handles appear again:" msgstr "" #. Tag: phrase #: index.docbook:1984 #, no-c-format msgid "the selection of the crescendo handles" msgstr "" #. Tag: para #: index.docbook:1988 #, no-c-format msgid "" "Thus, you can change the line's length and position again by dragging the 2 " "handles." msgstr "" #. Tag: title #: index.docbook:1993 #, no-c-format msgid "Deleting a line" msgstr "" #. Tag: para #: index.docbook:1994 #, no-c-format msgid "" "To delete a line make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Left click the start of a line. The " "selected handle appears in red color. Press the backspace key and the line " "will be deleted." msgstr "" #. Tag: title #: index.docbook:2000 #, no-c-format msgid "(de-)crescendo (hairpins)" msgstr "" #. Tag: para #: index.docbook:2002 #, no-c-format msgid "" "To determine the MIDI behaviour of the (de-)crescendo make sure &nted; is in " "edit mode (see The 3 modes). Select the " "start of a (de-)crescendo with right mouse button. The volume dialog appears:" msgstr "" #. Tag: para #: index.docbook:2013 #, no-c-format msgid "" "Define the MIDI volume difference caused by the (de-) crescendo and press OK!" msgstr "" #. Tag: title #: index.docbook:2017 #, no-c-format msgid "Ottava brackets: va8, bv8, ma15, mb15" msgstr "" #. Tag: para #: index.docbook:2019 #, no-c-format msgid "These symbols change the octave of the enclosed notes." msgstr "" #. Tag: title #: index.docbook:2025 #, no-c-format msgid "Tempo markers" msgstr "" #. Tag: title #: index.docbook:2027 #, no-c-format msgid "Inserting tempo markers" msgstr "" #. Tag: para #: index.docbook:2029 #, no-c-format msgid "" "To insert a tempo marker make sure &nted; is in insert mode (see The 3 modes). Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2031 #, no-c-format msgid "" "Insert tempo ..." msgstr "" #. Tag: para #: index.docbook:2037 #, no-c-format msgid "The tempo dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:2043 index.docbook:2083 index.docbook:2328 #, no-c-format msgid "the tempo dialog" msgstr "" #. Tag: para #: index.docbook:2047 #, no-c-format msgid "" "Select a tempo symbol and a tempo and press \"OK\"! Then click at the " "position to place the tempo marker on." msgstr "" #. Tag: title #: index.docbook:2051 #, no-c-format msgid "Change the tempo markers's position" msgstr "" #. Tag: para #: index.docbook:2052 #, no-c-format msgid "" "To move a tempo marker make sure &nted; is in edit mode (see The 3 modes). Select the tempo marker by left clicking " "it. The selected symbol appears in red. Hold left mouse button and move the " "mouse. The tempo marker moves accordingly." msgstr "" #. Tag: para #: index.docbook:2056 #, no-c-format msgid "" "Although the tempo markers appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" #. Tag: phrase #: index.docbook:2063 #, no-c-format msgid "the assignment of tempo markers" msgstr "" #. Tag: para #: index.docbook:2069 #, no-c-format msgid "" "&nted; tries to keep the position of the tempo marker relative to the symbol " "it is assigned to;" msgstr "" #. Tag: para #: index.docbook:2070 #, no-c-format msgid "" "&nted; copies the tempo marker if the symbol it is assigned to is copied;" msgstr "" #. Tag: para #: index.docbook:2071 #, no-c-format msgid "" "&nted; removes the tempo marker if the symbol it is assigned to is removed;" msgstr "" #. Tag: title #: index.docbook:2076 #, no-c-format msgid "Changing the tempo values" msgstr "" #. Tag: para #: index.docbook:2077 #, no-c-format msgid "" "To change the tempo value and/or symbol right click the tempo marker. The " "tempo dialog appears:" msgstr "" #. Tag: para #: index.docbook:2087 #, no-c-format msgid "Select a marker symbol and a tempo and press OK!" msgstr "" #. Tag: title #: index.docbook:2092 #, no-c-format msgid "Removing tempo markers" msgstr "" #. Tag: para #: index.docbook:2093 #, no-c-format msgid "" "To remove a tempo marker make sure &nted; is in edit mode (see The 3 modes). Select the tempo marker by left clicking " "it. The selected symbol appears in red. Press Backspace key and the tempo " "marker vanishes." msgstr "" #. Tag: title #: index.docbook:2101 #, no-c-format msgid "Arbitrary text" msgstr "" #. Tag: title #: index.docbook:2103 #, no-c-format msgid "Inserting arbitrary text" msgstr "" #. Tag: para #: index.docbook:2105 #, no-c-format msgid "" "Don't use this feature for lyrics, dynamics, accelerando, ritardando, or " "(de-)crescendo because &nted; has special means for these items, which " "partly influence the MIDI replay accordingly. (see Lyrics, Dynamics , Accelerato, Ritardando, and " "(de-)crescendo (hairpins))!" msgstr "" #. Tag: para #: index.docbook:2111 #, no-c-format msgid "" "To insert arbitrary text make sure &nted; is in insert mode (see The 3 modes). Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2113 #, no-c-format msgid "" "Insert Text ..." msgstr "" #. Tag: para #: index.docbook:2119 #, no-c-format msgid "The text dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:2125 #, no-c-format msgid "the text dialog" msgstr "" #. Tag: para #: index.docbook:2129 #, no-c-format msgid "" "Insert a text in text field. Press the font button beneeth the text field if " "you whish a different font! The anchor field allows you to determine the " "anchor point:" msgstr "" #. Tag: phrase #: index.docbook:2136 #, no-c-format msgid "the text alignment" msgstr "" #. Tag: para #: index.docbook:2140 #, no-c-format msgid "" "Please prefer fonts like Sans or " "Serif. Depending on your system " "configuration other fonts can cause problems (pixelated appearence) on " "PostScript/PDF output. This often concerns fonts like " "Helvetica or Times." msgstr "" #. Tag: para #: index.docbook:2145 #, no-c-format msgid "" "The text often concerns the tempo (allegro) or the " "volume (forte). The 2 fields beneeth the font button " "allow you to influence the MIDI replay. To influence the volume check the " "enable volume change button and choose a volume. To " "influence the tempo check the enable tempo change " "button and choose a tempo." msgstr "" #. Tag: para #: index.docbook:2150 #, no-c-format msgid "" "Furthermore, the text can cause an instrument change. To activate this check " "the enable instrument change button and select the " "new instrument." msgstr "" #. Tag: para #: index.docbook:2152 #, no-c-format msgid "" "If you enable the channel change, then playing the note will cause the staff " "to change MIDI channel." msgstr "" #. Tag: para #: index.docbook:2154 #, no-c-format msgid "" "If all is correct press \"OK\"! Then click at the position to place the " "arbitrary text on." msgstr "" #. Tag: para #: index.docbook:2156 #, no-c-format msgid "" "For the Segno staff please refer to the Segno " "section." msgstr "" #. Tag: title #: index.docbook:2161 #, no-c-format msgid "Special letters" msgstr "" #. Tag: para #: index.docbook:2163 #, no-c-format msgid "&nted; allowes you to place special letters like coda inside the text:" msgstr "" #. Tag: para #: index.docbook:2165 #, no-c-format msgid "D.S. al \\O -->" msgstr "" #. Tag: title #: index.docbook:2190 #, no-c-format msgid "Change the position of the text" msgstr "" #. Tag: para #: index.docbook:2191 #, no-c-format msgid "" "To move an arbitrary text make sure &nted; is in edit mode (see The 3 modes). Select the text by left clicking " "the text start . The text appears in red. Hold left mouse button and move " "the mouse. The text moves accordingly." msgstr "" #. Tag: para #: index.docbook:2195 #, no-c-format msgid "" "Although the arbitrary text appears to be free replaceable, it is always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" #. Tag: phrase #: index.docbook:2202 #, no-c-format msgid "the assignment of arbitrary text" msgstr "" #. Tag: para #: index.docbook:2208 #, no-c-format msgid "" "&nted; tries to keep the position of the arbitrary text relative to the " "symbol it is assigned to;" msgstr "" #. Tag: para #: index.docbook:2209 #, no-c-format msgid "&nted; copies the text if the symbol it is assigned to is copied;" msgstr "" #. Tag: para #: index.docbook:2210 #, no-c-format msgid "&nted; removes the text if the symbol it is assigned to is removed;" msgstr "" #. Tag: title #: index.docbook:2215 #, no-c-format msgid "Changing the arbitrary text" msgstr "" #. Tag: para #: index.docbook:2216 #, no-c-format msgid "" "To change the text right click the text. The text dialog appears again. " "Thus, you can change the text and its properties." msgstr "" #. Tag: title #: index.docbook:2222 #, no-c-format msgid "Removing arbitrary text" msgstr "" #. Tag: para #: index.docbook:2223 #, no-c-format msgid "" "To remove text make sure &nted; is in edit mode (see The 3 modes). Select the text by left clicking it. The " "selected text appears in red. Press Backspace key and the text vanishes." msgstr "" #. Tag: title #: index.docbook:2230 #, no-c-format msgid "Accelerato, Ritardando" msgstr "" #. Tag: title #: index.docbook:2232 #, no-c-format msgid "Inserting Accelerato/Ritardando" msgstr "" #. Tag: para #: index.docbook:2234 #, no-c-format msgid "" "To insert an accelerando or ritardando make sure &nted; is in insert mode " "(see The 3 modes). Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2236 #, no-c-format msgid "" "Insert accelerando" msgstr "" #. Tag: para #: index.docbook:2242 #, no-c-format msgid "or." msgstr "" #. Tag: menuchoice #: index.docbook:2245 #, no-c-format msgid "" "Insert ritardando" msgstr "" #. Tag: para #: index.docbook:2251 #, no-c-format msgid "" "Left click the position where the accelerando or ritardando shall appear:" msgstr "" #. Tag: phrase #: index.docbook:2256 #, no-c-format msgid "an ritardando is created" msgstr "" #. Tag: para #: index.docbook:2260 #, no-c-format msgid "" "As you can see the accelerando (ritardando) has 3 handles. By left clicking " "and dragging these handles you can determine the position and influence " "range:" msgstr "" #. Tag: phrase #: index.docbook:2266 #, no-c-format msgid "an ritardando is placed" msgstr "" #. Tag: para #: index.docbook:2270 #, no-c-format msgid "" "If you want an accelerando or ritardando who's influence range spans " "multiple staves first move the start or end point vertically, even if the " "handle does not immedietely follow the mouse cursor!" msgstr "" #. Tag: phrase #: index.docbook:2277 #, no-c-format msgid "create multi stave ritardando" msgstr "" #. Tag: para #: index.docbook:2284 #, no-c-format msgid "" "Note! The middle handle determins the position of the marker. The left and " "right handle only determin the horizontal position of the influence range! " "The influence range is not visible if the accelerando or ritardando isn't " "selected." msgstr "" #. Tag: title #: index.docbook:2289 #, no-c-format msgid "Modifiying accelerando or ritardando" msgstr "" #. Tag: para #: index.docbook:2291 #, no-c-format msgid "" "Although the accelerando(ritardando) handles appear to be free replaceable, " "they are always assigned to a symbol. The symbol is shown by a thin light " "blue line:" msgstr "" #. Tag: phrase #: index.docbook:2298 #, no-c-format msgid "the assignment of the ritardando handles" msgstr "" #. Tag: para #: index.docbook:2304 #, no-c-format msgid "" "&nted; tries to keep the position of the accelerando(ritardando) handle " "relative to the symbol it is assigned to;" msgstr "" #. Tag: para #: index.docbook:2305 #, no-c-format msgid "" "&nted; removes the accelerando(ritardando) if the symbol it is assigned to " "is removed;" msgstr "" #. Tag: para #: index.docbook:2306 #, no-c-format msgid "&nted; influences the MIDI replay of the appropriate staff;" msgstr "" #. Tag: para #: index.docbook:2309 #, no-c-format msgid "" "To change a influence range and position of the accelerando(ritardando) " "marker make sure &nted; is in edit mode (see The " "3 modes). Select the marker with left mouse button. The 3 handles " "appear again:" msgstr "" #. Tag: phrase #: index.docbook:2315 #, no-c-format msgid "the selection of the ritardando handles" msgstr "" #. Tag: para #: index.docbook:2319 #, no-c-format msgid "" "Thus, you can change the influence range and the marker position again by " "dragging the 3 handles." msgstr "" #. Tag: para #: index.docbook:2321 #, no-c-format msgid "" "To determine the MIDI behaviour of the accelerando or ritardando make sure " "&nted; is in edit mode (see The 3 modes). " "Select the accelerando or ritardando marker with right mouse button. The " "tempo dialog appears:" msgstr "" #. Tag: para #: index.docbook:2332 #, no-c-format msgid "" "Define the MIDI tempo diffenrence of the accelerando or ritardando and press " "OK!" msgstr "" #. Tag: title #: index.docbook:2336 #, no-c-format msgid "Deleting an accelerando or ritardando" msgstr "" #. Tag: para #: index.docbook:2337 #, no-c-format msgid "" "To delete an accelerando or ritardando make sure &nted; is in edit mode (see " "The 3 modes). Again: You can achieve this " "mode temporarily by pressing the Ctrl key. Left click the accelerando or " "ritardando marker. The selected marker appears in red color. Press the " "backspace key and the accelerando(ritardando) will be deleted." msgstr "" #. Tag: title #: index.docbook:2345 #, no-c-format msgid "Chordnames" msgstr "" #. Tag: para #: index.docbook:2346 #, no-c-format msgid "" "You can attach chord names to notes and rests. To do this make sure &nted; " "is in insert mode (see The 3 modes). " "Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2350 #, no-c-format msgid "" "Insert chordname ..." msgstr "" #. Tag: para #: index.docbook:2356 #, no-c-format msgid "The chord name dialog appears" msgstr "" #. Tag: phrase #: index.docbook:2362 index.docbook:2373 #, no-c-format msgid "the chord name dialog" msgstr "" #. Tag: para #: index.docbook:2366 #, no-c-format msgid "" "Insert a root, an up text and a down text. Then choose a size and a position " "relative to note line and press OK. Then click at the position to place the " "chordname on:" msgstr "" #. Tag: para #: index.docbook:2377 #, no-c-format msgid "" "&nted; allowes you to place special letters like the flat symbol inside the " "text:" msgstr "" #. Tag: para #: index.docbook:2379 #, no-c-format msgid "A\\b -->" msgstr "" #. Tag: para #: index.docbook:2395 #, no-c-format msgid "" "The chord name dialog remains open till you press Cancel. This way you can place the same chordname at multiple places. If " "you change the chord on dialog box the next mouse click will insert the new " "chord." msgstr "" #. Tag: para #: index.docbook:2398 #, no-c-format msgid "" "Modifying an deleting chord names works similar to modifying and deleting arbitrary text." msgstr "" #. Tag: para #: index.docbook:2400 #, no-c-format msgid "" "Chord names are exported to LilyPond. But LilyPond offers a limited number " "of modifiers. It is your responsibility to use only LilyPond conform chord " "names." msgstr "" #. Tag: title #: index.docbook:2407 #, no-c-format msgid "Guitar chord diagrams and chord annotation" msgstr "" #. Tag: para #: index.docbook:2408 #, no-c-format msgid "&nted; offers chord annotation and guitar chord diagrams" msgstr "" #. Tag: phrase #: index.docbook:2413 #, no-c-format msgid "chord examples" msgstr "" #. Tag: para #: index.docbook:2416 #, no-c-format msgid "" "Use this feature only if you really want to show a guitar chord diagram or " "if LilyPond export is needed. To show a chord name use the Chordnames feature." msgstr "" #. Tag: para #: index.docbook:2418 #, no-c-format msgid "" "LilyPond does not allow all chord " "modificators. The modificator remains empty if &nted; has to export such a " "chord name." msgstr "" #. Tag: para #: index.docbook:2420 #, no-c-format msgid "To insert a chord annotation and/or a guitar chord diagram choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2423 #, no-c-format msgid "" "Insert chord ..." msgstr "" #. Tag: para #: index.docbook:2429 #, no-c-format msgid "The chord selection dialog appears" msgstr "" #. Tag: phrase #: index.docbook:2435 #, no-c-format msgid "the chord dialog" msgstr "" #. Tag: para #: index.docbook:2439 #, no-c-format msgid "" "Choose a root and a modifyer. If you want to place a guitar chord diagram " "you should also select your preferred diagram by clicking on it in the right " "window. The guitar chord diagram is copied into the big left window." msgstr "" #. Tag: para #: index.docbook:2443 #, no-c-format msgid "" "By means of the checkbox diagram you can determin " "whether the chord diagram is created on score." msgstr "" #. Tag: para #: index.docbook:2444 #, no-c-format msgid "" "By means of the checkbox text you can determin " "whether a textual description of the chord is created created on score." msgstr "" #. Tag: para #: index.docbook:2446 #, no-c-format msgid "This way you can choose between:" msgstr "" #. Tag: para #: index.docbook:2448 #, no-c-format msgid "only the chord diagram" msgstr "" #. Tag: para #: index.docbook:2449 #, no-c-format msgid "" "only the textual chord description (not recommended, use the Chordnames feature in this case)" msgstr "" #. Tag: para #: index.docbook:2450 #, no-c-format msgid "both, chord diagram and chord description" msgstr "" #. Tag: para #: index.docbook:2453 #, no-c-format msgid "" "Modifying an deleting chord annotations/chord diagrams works similar to " "modifying and deleting arbitrary " "text." msgstr "" #. Tag: title #: index.docbook:2460 #, no-c-format msgid "Upbeats" msgstr "" #. Tag: para #: index.docbook:2461 #, no-c-format msgid "" "There are 2 possibilities to determine an upbeat. The first is mainly for " "newly written scores. Select the note or rest after the requested upbeat:" msgstr "" #. Tag: phrase #: index.docbook:2469 #, no-c-format msgid "prepare upbeat (give measure)" msgstr "" #. Tag: menuchoice #: index.docbook:2476 #, no-c-format msgid "" "Edit Upbeat ..." " give first measure" msgstr "" #. Tag: para #: index.docbook:2483 #, no-c-format msgid "" "&nted; changes the begin such a way, that the selected chord or rest is the " "first member of the first full measure:" msgstr "" #. Tag: phrase #: index.docbook:2489 #, no-c-format msgid "upbeat given (give measure)" msgstr "" #. Tag: para #: index.docbook:2493 #, no-c-format msgid "" "The 2nd procedure is mainly for scores with beginning rests. Select the note " "or rest which shall be the first element:" msgstr "" #. Tag: phrase #: index.docbook:2500 #, no-c-format msgid "prepare upbeat (give start)" msgstr "" #. Tag: menuchoice #: index.docbook:2507 #, no-c-format msgid "" "Edit Upbeat ..." " give start" msgstr "" #. Tag: para #: index.docbook:2514 #, no-c-format msgid "" "&nted; delets all before the selected element. Thus, the selected element " "becomes the first element." msgstr "" #. Tag: phrase #: index.docbook:2521 #, no-c-format msgid "upbeat given (give start)" msgstr "" #. Tag: para #: index.docbook:2525 #, no-c-format msgid "" "The upbeat rules require to shorten the last measure by the upbeat duration. " "&nted; doesn't perform this automatically. To shorten the last measure mark " "all concerned rests in all voices as described in Select a block:" msgstr "" #. Tag: phrase #: index.docbook:2533 index.docbook:2549 #, no-c-format msgid "mark the rests" msgstr "" #. Tag: para #: index.docbook:2544 #, no-c-format msgid "The appropriate rests become invisible:" msgstr "" #. Tag: para #: index.docbook:2553 #, no-c-format msgid "See also: Hiding rests!" msgstr "" #. Tag: title #: index.docbook:2559 #, no-c-format msgid "Grace notes" msgstr "" #. Tag: para #: index.docbook:2560 #, no-c-format msgid "&nted; offers 3 types of grace notes:" msgstr "" #. Tag: phrase #: index.docbook:2565 #, no-c-format msgid "The grace notes" msgstr "" #. Tag: para #: index.docbook:2569 #, no-c-format msgid "" "To insert grace notes choose the appropriate note type on 2nd tooblox panel:" msgstr "" #. Tag: phrase #: index.docbook:2574 #, no-c-format msgid "The grace on toolbox" msgstr "" #. Tag: para #: index.docbook:2578 #, no-c-format msgid "" "Select a grace notes type and insert it as described in chapter Inserting/Deleting notes." msgstr "" #. Tag: para #: index.docbook:2579 #, no-c-format msgid "" "To remove a grace note select the grace note as described in chapter Shifting notes and rests and press " "backspace key" msgstr "" #. Tag: title #: index.docbook:2584 #, no-c-format msgid "Lyrics" msgstr "" #. Tag: title #: index.docbook:2586 #, no-c-format msgid "Inserting lyrics" msgstr "" #. Tag: para #: index.docbook:2587 #, no-c-format msgid "" "You can attach up to 5 lines of lyrics to every note. You can use the same " "special characters as described in special letters in staff names. There are 2 ways: Direct writing " "or using the lyrics editor." msgstr "" #. Tag: title #: index.docbook:2592 #, no-c-format msgid "Direct writing" msgstr "" #. Tag: para #: index.docbook:2594 #, no-c-format msgid "To insert lyrics direct, select a note and choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2596 index.docbook:2621 #, no-c-format msgid "" "Insert lyrics" msgstr "" #. Tag: para #: index.docbook:2602 #, no-c-format msgid "" "Choose a lyrics line bewteen 1 and 5. &nted; is in lyrics mode. Write a text " "on keyboard. The text appears below the note." msgstr "" #. Tag: phrase #: index.docbook:2607 #, no-c-format msgid "Lyrics" msgstr "" #. Tag: para #: index.docbook:2610 #, no-c-format msgid "" "To skip to next note either press a - key or press " "space key. To place a space inside a syllable insert an underscore" "(_) or a non breaking space symbol(\\.). Finish the " "lyrics mode with ESC." msgstr "" #. Tag: para #: index.docbook:2612 #, no-c-format msgid "It is strongly recommended to fill the lyrics line from 1 to 5." msgstr "" #. Tag: title #: index.docbook:2617 #, no-c-format msgid "Modifying lyrics" msgstr "" #. Tag: para #: index.docbook:2618 #, no-c-format msgid "" "To modify lyrics make sure &nted; is in edit mode (see The 3 modes). Select a note with lyrics and choose:" msgstr "" #. Tag: para #: index.docbook:2626 #, no-c-format msgid "" "Choose the lyrics line to be modified. The lyrics cursor appears. You can " "move the lyrics cursor with left/right cursor key, You can insert a letter " "by pressing the appropriate key. You can delete a letter by pressing the " "backspace key. If you delete the last letter the lyrics of this line are " "removed from current note. Finish the lyrics mode with ESC." msgstr "" #. Tag: title #: index.docbook:2632 #, no-c-format msgid "Lyrics editor" msgstr "" #. Tag: para #: index.docbook:2633 #, no-c-format msgid "" "The 2nd possibility is to use the lyrics editor. If there are more than 2 " "staves select an arbitrary element of the staff the lyrics shall attached " "to. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2636 #, no-c-format msgid "" "Tools Lyrics editor" msgstr "" #. Tag: para #: index.docbook:2642 #, no-c-format msgid "The lyrics editor appears:" msgstr "" #. Tag: phrase #: index.docbook:2647 #, no-c-format msgid "The lyrics editor" msgstr "" #. Tag: para #: index.docbook:2651 #, no-c-format msgid "" "Select the verse by selecting a tab! Then insert the lyrics syllable by " "syllable. Every hyphen and every space is interpreted as separator. To leave " "on note blank place a single dot('.'). To place a space inside a syllable " "insert an underscore(_) or a non breaking space symbol" "(\\.)." msgstr "" #. Tag: para #: index.docbook:2658 #, no-c-format msgid "" "You can save and load the verse by pressing the save to " "file or load from file, " "respectively." msgstr "" #. Tag: para #: index.docbook:2661 #, no-c-format msgid "" "If all is correct press Apply or " "OK! Both will update the lyrics, but " "OK closes the lyrics editor." msgstr "" #. Tag: title #: index.docbook:2666 #, no-c-format msgid "D.S./Capo al Coda/D.S./Capo al Fine" msgstr "" #. Tag: para #: index.docbook:2668 #, no-c-format msgid "An example of a D.S. al Coda could be as follows:" msgstr "" #. Tag: phrase #: index.docbook:2673 #, no-c-format msgid "the segno principle" msgstr "" #. Tag: para #: index.docbook:2677 #, no-c-format msgid "" "To place the Coda and Segno sign make sure &nted; is in insert/delete mode " "(see The 3 modes). Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2680 index.docbook:2723 #, no-c-format msgid "" "Insert Insert sign ..." msgstr "" #. Tag: para #: index.docbook:2686 index.docbook:2729 #, no-c-format msgid "The sign dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:2692 index.docbook:2735 #, no-c-format msgid "The sign dialog" msgstr "" #. Tag: para #: index.docbook:2696 #, no-c-format msgid "" "Choose the appropriate sign and click at the position to place the sign on! " "Modifying an deleting signs works similar to modifying and deleting arbitrary text." msgstr "" #. Tag: para #: index.docbook:2699 #, no-c-format msgid "" "Then place a text like \"D.S. al Coda\" or " "\"Repeat from Segno then Coda\" als explained in Arbitrary text. To express these texts shall " "control the replay you have to choose the appropriate properties on text " "dialog:" msgstr "" #. Tag: phrase #: index.docbook:2707 #, no-c-format msgid "the segno on text dialog" msgstr "" #. Tag: para #: index.docbook:2711 #, no-c-format msgid "" "The same way you can create D.S. al Fine, " "Da Capo al Coda and Da Capo al Fine. See also: Arbitrary text." msgstr "" #. Tag: title #: index.docbook:2718 #, no-c-format msgid "Breath Signs" msgstr "" #. Tag: para #: index.docbook:2720 #, no-c-format msgid "" "To place breath sign make sure &nted; is in insert/delete mode (see The 3 modes). Choose:" msgstr "" #. Tag: para #: index.docbook:2739 #, no-c-format msgid "" "Choose the appropriate sign and click at the position to place the sign on! " "Deleting breath signs works similar to modifying and deleting arbitrary text." msgstr "" #. Tag: title #: index.docbook:2745 #, no-c-format msgid "Transpose" msgstr "" #. Tag: para #: index.docbook:2746 #, no-c-format msgid "" "&nted; offers the transpose functionallity. If you want only a subset of " "notes to be transposed, then draw a selection rectangle as described in " "Select a block. Then choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2749 #, no-c-format msgid "" "Tools Transpose ..." msgstr "" #. Tag: para #: index.docbook:2755 #, no-c-format msgid "The transposition dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:2760 #, no-c-format msgid "The transposition dialog" msgstr "" #. Tag: para #: index.docbook:2764 #, no-c-format msgid "" "Choose the number of half-tones. If you drew a selection rectange the " "use selection box is active. You can " "determine whether or not to use the selection rectangle." msgstr "" #. Tag: para #: index.docbook:2767 #, no-c-format msgid "" "If there is no selection rectangle you can select the staves to be " "transposed. Press OK and &nted; transposes the appropriate notes." msgstr "" #. Tag: para #: index.docbook:2770 #, no-c-format msgid "" "It is your responsibility to change the key signature (see Change staff properties and Inserting key signature changes." msgstr "" #. Tag: title #: index.docbook:2775 #, no-c-format msgid "Change Accidentals" msgstr "" #. Tag: para #: index.docbook:2776 #, no-c-format msgid "" "In some seldom cases it is desirable to change sharps against flats, and " "vice versa:" msgstr "" #. Tag: phrase #: index.docbook:2781 #, no-c-format msgid "change accidentals" msgstr "" #. Tag: para #: index.docbook:2784 #, no-c-format msgid "" "&nted; offers this functionallity. If you want only a subset of notes to be " "affected, then draw a selection rectangle as described in Select a block. Then choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2787 #, no-c-format msgid "" "Tools set all to sharp ..." msgstr "" #. Tag: menuchoice #: index.docbook:2794 #, no-c-format msgid "" "Tools set all to flat ..." msgstr "" #. Tag: para #: index.docbook:2800 #, no-c-format msgid "The selection dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:2805 #, no-c-format msgid "The selection dialog" msgstr "" #. Tag: para #: index.docbook:2809 #, no-c-format msgid "" "If you drew a selection rectange the use selection box is active. You can determine whether or not to use the " "selection rectangle." msgstr "" #. Tag: para #: index.docbook:2812 #, no-c-format msgid "" "If there is no selection rectangle you can select the staves to be affacted. " "Press OK and &nted; changes the appropriate notes." msgstr "" #. Tag: title #: index.docbook:2818 #, no-c-format msgid "Title, composer, and arranger" msgstr "" #. Tag: para #: index.docbook:2819 #, no-c-format msgid "" "To attach some score information (title, subject, composer, arranger, " "copyright) select:" msgstr "" #. Tag: menuchoice #: index.docbook:2821 #, no-c-format msgid "" "Edit Score info ..." msgstr "" #. Tag: para #: index.docbook:2826 #, no-c-format msgid "The score information dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:2831 #, no-c-format msgid "The score information dialog" msgstr "" #. Tag: para #: index.docbook:2835 #, no-c-format msgid "" "Insert the name of the composer, arranger, the subject and the copyright and " "press OK. This information is shown at the first page of the score." msgstr "" #. Tag: title #: index.docbook:2839 #, no-c-format msgid "Pages" msgstr "" #. Tag: title #: index.docbook:2842 #, no-c-format msgid "Page layout" msgstr "" #. Tag: para #: index.docbook:2843 #, no-c-format msgid "To change the page layout choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2845 #, no-c-format msgid "" "File Configure Paper ..." msgstr "" #. Tag: para #: index.docbook:2850 #, no-c-format msgid "" "Choose A3, A4, A5, B4, Letter, Legal, or 230x293 and the orientation " "(portrait or landscape)." msgstr "" #. Tag: title #: index.docbook:2855 #, no-c-format msgid "Navigation on pages" msgstr "" #. Tag: para #: index.docbook:2856 #, no-c-format msgid "" "&nted; presents the score on a seeming endless paper. You can move this " "paper in page mode (see The 3 modes). " "Again: You can achieve this mode temporarily by pressing the Shift key. In " "page mode if you hold the left mouse button and move the mouse the paper " "moves accordingly." msgstr "" #. Tag: para #: index.docbook:2863 #, no-c-format msgid "" "Furthermore you can jump to a certain page by using the page selector " "() ot the page up/down " "keys." msgstr "" #. Tag: para #: index.docbook:2867 #, no-c-format msgid "Furthermore you can use the mouse wheel to navigate on page." msgstr "" #. Tag: title #: index.docbook:2871 #, no-c-format msgid "Delete the last page" msgstr "" #. Tag: para #: index.docbook:2872 #, no-c-format msgid "If there is more than one page you can delete the last page. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2874 #, no-c-format msgid "" "Edit Remove last page" msgstr "" #. Tag: title #: index.docbook:2882 #, no-c-format msgid "Remove empty pages at end" msgstr "" #. Tag: para #: index.docbook:2883 #, no-c-format msgid "" "Under some circumstances it can happen that there are some empty pages at " "score end, i.e. pages which consist of only rest. To delete these pages " "choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2888 #, no-c-format msgid "" "Edit Remove empty pages" msgstr "" #. Tag: title #: index.docbook:2897 #, no-c-format msgid "Multiple windows and Excerpt" msgstr "" #. Tag: title #: index.docbook:2900 #, no-c-format msgid "Multiple windows" msgstr "" #. Tag: para #: index.docbook:2902 #, no-c-format msgid "" "&nted; allowes you to open as many windows as you want. This is useful if " "you want to compare two different scores or if you want to copy parts of one " "score to another score. To open a new window choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2905 #, no-c-format msgid "" "File New Window" msgstr "" #. Tag: para #: index.docbook:2911 #, no-c-format msgid "a new window appears:" msgstr "" #. Tag: phrase #: index.docbook:2917 #, no-c-format msgid "A new window" msgstr "" #. Tag: para #: index.docbook:2921 #, no-c-format msgid "" "With the new window you can do all you could do with the first one. If you " "want to copy/paste between different windows please make shure " "both windows are in edit mode (see The 3 modes):" msgstr "" #. Tag: phrase #: index.docbook:2928 #, no-c-format msgid "copy/paste between 2 windows" msgstr "" #. Tag: para #: index.docbook:2932 #, no-c-format msgid "" "See also: Block instructions." msgstr "" #. Tag: para #: index.docbook:2934 #, no-c-format msgid "To delete a window choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2936 #, no-c-format msgid "" "File Close Window" msgstr "" #. Tag: title #: index.docbook:2943 #, no-c-format msgid "Extract a subset of staves" msgstr "" #. Tag: para #: index.docbook:2944 #, no-c-format msgid "" "&nted; allows you to copy a subset of staves into the 2nd window. To do this " "choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2946 #, no-c-format msgid "" "File Excerpt ..." msgstr "" #. Tag: para #: index.docbook:2951 #, no-c-format msgid "The staff selection dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:2956 #, no-c-format msgid "The staff selection dialog" msgstr "" #. Tag: para #: index.docbook:2960 #, no-c-format msgid "" "Select the subset of ataves, to be copied. To select more than 1 staff press " "Ctrl during selection. To select a range of staves press and hold Shift. " "Then select the first and the last staff of the range." msgstr "" #. Tag: para #: index.docbook:2964 #, no-c-format msgid "" "Press Ok! The subset of staves is copied into a 2nd " "window:" msgstr "" #. Tag: phrase #: index.docbook:2969 #, no-c-format msgid "the excerpt" msgstr "" #. Tag: title #: index.docbook:2976 #, no-c-format msgid "Scaling the whole score" msgstr "" #. Tag: para #: index.docbook:2978 #, no-c-format msgid "" "&nted; allowes you to continously scale the score. As a result you get " "different note sizes:" msgstr "" #. Tag: phrase #: index.docbook:2983 #, no-c-format msgid "scaling the score" msgstr "" #. Tag: para #: index.docbook:2987 #, no-c-format msgid "To scale the score choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2989 #, no-c-format msgid "" "File Change Scale ..." msgstr "" #. Tag: para #: index.docbook:2995 #, no-c-format msgid "The scale dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:3000 #, no-c-format msgid "the scale dialog" msgstr "" #. Tag: para #: index.docbook:3004 #, no-c-format msgid "Determine the scaling factor and press OK!" msgstr "" #. Tag: title #: index.docbook:3008 #, no-c-format msgid "Documentation" msgstr "" #. Tag: para #: index.docbook:3009 #, no-c-format msgid "To consult the documentation choose" msgstr "" #. Tag: menuchoice #: index.docbook:3011 #, no-c-format msgid "" "Help Documentation ..." msgstr "" #. Tag: para #: index.docbook:3017 #, no-c-format msgid "" "The documentation is availabe only if the following programs were installed " "during ./configure step on your system:" msgstr "" #. Tag: para #: index.docbook:3021 #, no-c-format msgid "" "yelp from GNOME project (package gnome-extra)" msgstr "" #. Tag: ulink #: index.docbook:3022 #, no-c-format msgid "xmlto" msgstr "" #. Tag: title #: index.docbook:3027 #, no-c-format msgid "Save and restore" msgstr "" #. Tag: title #: index.docbook:3029 #, no-c-format msgid "Save" msgstr "" #. Tag: para #: index.docbook:3030 #, no-c-format msgid "To save your score choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3032 #, no-c-format msgid "" "File Save as..." msgstr "" #. Tag: para #: index.docbook:3037 #, no-c-format msgid "" "Choose a file name on dialog and press OK! The default suffix is " ".ntd." msgstr "" #. Tag: para #: index.docbook:3038 #, no-c-format msgid "To save a file which was already stored before choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3040 #, no-c-format msgid "File Save" msgstr "" #. Tag: title #: index.docbook:3047 #, no-c-format msgid "Restore" msgstr "" #. Tag: para #: index.docbook:3048 #, no-c-format msgid "To restore a previous saved score choose:" msgstr "" #. Tag: para #: index.docbook:3055 #, no-c-format msgid "Choose a file name on dialog and press OK!" msgstr "" #. Tag: title #: index.docbook:3058 #, no-c-format msgid "New file" msgstr "" #. Tag: para #: index.docbook:3059 #, no-c-format msgid "To start with a totally new (empty) score choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3061 #, no-c-format msgid "File New" msgstr "" #. Tag: title #: index.docbook:3069 #, no-c-format msgid "Terminate program" msgstr "" #. Tag: para #: index.docbook:3070 #, no-c-format msgid "To terminate the program choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3072 #, no-c-format msgid "File Exit" msgstr "" #. Tag: title #: index.docbook:3081 #, no-c-format msgid "Printing, exports, Karaoke and imports" msgstr "" #. Tag: title #: index.docbook:3083 #, no-c-format msgid "Configuration" msgstr "" #. Tag: para #: index.docbook:3084 #, no-c-format msgid "&nted; assumes that:" msgstr "" #. Tag: computeroutput #: index.docbook:3085 #, no-c-format msgid "lpr <file>.ps" msgstr "" #. Tag: para #: index.docbook:3086 #, no-c-format msgid "" "prints a PostScript file named <file>.ps on your system. If this isn't the case then configure the " "printing command. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3089 #, no-c-format msgid "" "Edit Preferences Configure Print ..." msgstr "" #. Tag: para #: index.docbook:3095 #, no-c-format msgid "On dialog textfield you should see:" msgstr "" #. Tag: computeroutput #: index.docbook:3096 #, no-c-format msgid "lpr %s" msgstr "" #. Tag: para #: index.docbook:3097 #, no-c-format msgid "" "The %s will be replaced by the name of a " "PostScript file. Change this string according to your needs. For instance: " "If you want to use the kprinter from " "KDE then change the string to:" msgstr "" #. Tag: computeroutput #: index.docbook:3100 #, no-c-format msgid "kprinter %s" msgstr "" #. Tag: para #: index.docbook:3101 #, no-c-format msgid "and press OK!" msgstr "" #. Tag: para #: index.docbook:3103 #, no-c-format msgid "If all is configured then choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3105 #, no-c-format msgid "File Print" msgstr "" #. Tag: title #: index.docbook:3113 #, no-c-format msgid "Export PostScript" msgstr "" #. Tag: para #: index.docbook:3114 #, no-c-format msgid "You can export the score as PostScript. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3116 #, no-c-format msgid "" "File Export PS..." msgstr "" #. Tag: para #: index.docbook:3121 index.docbook:3136 index.docbook:3150 index.docbook:3177 #, no-c-format msgid "Select a file name on dialog and press OK." msgstr "" #. Tag: para #: index.docbook:3122 #, no-c-format msgid "" "Because most printers are able to print PostScript files you can print this " "file using your preferred printing command (lpr, " "kprinter, ...)" msgstr "" #. Tag: title #: index.docbook:3127 #, no-c-format msgid "Export PDF" msgstr "" #. Tag: para #: index.docbook:3128 #, no-c-format msgid "The PDF is available only if your Cairo library supports PDF." msgstr "" #. Tag: para #: index.docbook:3129 #, no-c-format msgid "You can export the score as PDF. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3131 #, no-c-format msgid "" "File Export PDF..." msgstr "" #. Tag: para #: index.docbook:3137 #, no-c-format msgid "" "Because many printers are able to print PDF files you can print this file " "using your preferred printing command (lpr, " "kprinter, ...)" msgstr "" #. Tag: title #: index.docbook:3142 #, no-c-format msgid "Export MIDI" msgstr "" #. Tag: para #: index.docbook:3143 #, no-c-format msgid "You can export the score as MIDI data. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3145 #, no-c-format msgid "" "File Export MIDI..." msgstr "" #. Tag: title #: index.docbook:3155 #, no-c-format msgid "Karaoke" msgstr "" #. Tag: para #: index.docbook:3156 #, no-c-format msgid "" "If the score contains lyrics &nted; exports them to MIDI. This causes many " "midi players among them kmid to show a Karaoke-" "like behaviour:" msgstr "" #. Tag: phrase #: index.docbook:3162 #, no-c-format msgid "Karaoke with kmid" msgstr "" #. Tag: title #: index.docbook:3169 #, no-c-format msgid "Import MusicXML" msgstr "" #. Tag: para #: index.docbook:3170 #, no-c-format msgid "You can import a MusicXML file. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3172 #, no-c-format msgid "" "File Import MusicXML..." msgstr "" #. Tag: para #: index.docbook:3178 #, no-c-format msgid "" "There is a bug in NoteEdit which concerns the export of multivoice staves " "into MusicXML. As a result NtEd has problems importing such files. To solve " "the problem NoteEdit must be patched. See http://vsr." "informatik.tu-chemnitz.de/staff/jan/nted/noteedit_musml_patch.html " "for more information." msgstr "" #. Tag: title #: index.docbook:3187 #, no-c-format msgid "Export PNG and SVG" msgstr "" #. Tag: para #: index.docbook:3188 #, no-c-format msgid "" "&nted; can export the current page to PNG (Portbale Network Graphics) and " "SVG (Scaleable Vector Graphics). The current page is the page shown in page " "counter. Both formats are very useful for WEB publishing or graphic related " "tasks. Many text processors allow embendding PNG and/or SVG graphics." msgstr "" #. Tag: para #: index.docbook:3192 #, no-c-format msgid "" "Especially the SVG format - an XML instance - is very useful because - as " "the name indicates - it is scaleable without strange effects which are " "usually visible in scaled pixel graphics." msgstr "" #. Tag: para #: index.docbook:3195 #, no-c-format msgid "The SVG export is available only if your Cairo library supports SVG." msgstr "" #. Tag: menuchoice #: index.docbook:3199 #, no-c-format msgid "" "File Export PNG ..." msgstr "" #. Tag: para #: index.docbook:3204 #, no-c-format msgid "or" msgstr "" #. Tag: menuchoice #: index.docbook:3206 #, no-c-format msgid "" "File Export SVG ..." msgstr "" #. Tag: para #: index.docbook:3212 #, no-c-format msgid "Choose a file name and press OK!" msgstr "" #. Tag: para #: index.docbook:3214 #, no-c-format msgid "The size of the PNG/SVG image depends on the current zoom factor." msgstr "" #. Tag: title #: index.docbook:3218 #, no-c-format msgid "Export LilyPond" msgstr "" #. Tag: para #: index.docbook:3219 #, no-c-format msgid "" "LilyPond (http://lilypond.org/) " "is cetrainly the music typesetter with the best output. This mainly for 2 " "reasons:" msgstr "" #. Tag: para #: index.docbook:3223 #, no-c-format msgid "" "The developers made a lot of effort to create special music fonts, which are " "derived from traditional music printing. They even created their own tools " "for font format conversion to get the best results." msgstr "" #. Tag: para #: index.docbook:3227 #, no-c-format msgid "" "LilyPond uses a multi pass technique which takes as much time as necessary " "to perform an excellent placement of the musical symbols." msgstr "" #. Tag: para #: index.docbook:3232 #, no-c-format msgid "" "Furthermore, LilyPond has a lot of music orthographical knowledge, which " "prevents notation errors." msgstr "" #. Tag: para #: index.docbook:3235 #, no-c-format msgid "" "LilyPond creates a PostScript or PDF output from a file which contains a " "text transcription of the music. For example, the input:" msgstr "" #. Tag: literallayout #: index.docbook:3238 #, no-c-format msgid "" "\\relative c' { \\clef treble \\key d \\major\n" " d4 e fis g a b cis d \n" "}" msgstr "" #. Tag: para #: index.docbook:3241 #, no-c-format msgid "causes the following output:" msgstr "" #. Tag: para #: index.docbook:3252 #, no-c-format msgid "&nted; can create the LilyPond text transcription. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3254 #, no-c-format msgid "" "File Export LilyPond..." msgstr "" #. Tag: para #: index.docbook:3260 #, no-c-format msgid "The LilyPond export dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:3265 #, no-c-format msgid "LilyPond export dialog" msgstr "" #. Tag: para #: index.docbook:3269 #, no-c-format msgid "" "On checkbox at the head you can determine whether or not &nted; shall place " "\\break statments to achieve the same line " "breaks as in &nted; score." msgstr "" #. Tag: para #: index.docbook:3273 #, no-c-format msgid "" "If you want to export a subset of staves press the select " "staves button. The staff selection dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:3280 #, no-c-format msgid "the staff selection dialog" msgstr "" #. Tag: para #: index.docbook:3285 #, no-c-format msgid "" "Select a subset of staves. To select more than 1 staff press Ctrl during " "selection. To select a range of staves press and hold Shift. Then select the " "first and the last staff of the range." msgstr "" #. Tag: para #: index.docbook:3289 #, no-c-format msgid "" "LilyPond has its own beaming rules. Therefore, the LilyPond beaming differs " "from &nted;-beaming. If you want the same beams as in &nted; then select the " "keep beams button. Select the staves to " "keep the beams for and press OK." msgstr "" #. Tag: para #: index.docbook:3293 #, no-c-format msgid "" "Choose a File name - the suffix should be .ly - and " "press OK." msgstr "" #. Tag: para #: index.docbook:3295 #, no-c-format msgid "" "To produce a PostScript or PDF output from this file install LilyPond and " "type:" msgstr "" #. Tag: para #: index.docbook:3298 #, no-c-format msgid "" "lilypond <filename>.ly" msgstr "" #. Tag: para #: index.docbook:3301 #, no-c-format msgid "" "To preview and/or print the output use your preferred view/print commands " "(gv, ggv, evince, xpdf, lpr, kprinter, ...)." msgstr "" #. Tag: para #: index.docbook:3304 #, no-c-format msgid "" "As mentioned above, LilyPond uses its own placement strategie and its own " "fonts. As a consequence the WYSIWYG principle is broken. The output differs " "from &nted; score." msgstr "" #. Tag: title #: index.docbook:3312 #, no-c-format msgid "Import MIDI" msgstr "" #. Tag: para #: index.docbook:3313 #, no-c-format msgid "" "&nted; can (try to) construct a score from a MIDI file. Note! There are many " "scores which would generate the same MIDI data. Therefore the MIDI to score " "transformation is ambiguous." msgstr "" #. Tag: para #: index.docbook:3316 #, no-c-format msgid "To import a MIDI file choose" msgstr "" #. Tag: menuchoice #: index.docbook:3319 #, no-c-format msgid "" "File Import MIDI ..." msgstr "" #. Tag: para #: index.docbook:3325 #, no-c-format msgid "The MIDI import dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:3331 #, no-c-format msgid "MIDI import dialog" msgstr "" #. Tag: para #: index.docbook:3335 #, no-c-format msgid "Decide whether &nted; shall try to recognize triplets!" msgstr "" #. Tag: para #: index.docbook:3337 #, no-c-format msgid "" "The 2 sliders allow you to influence the density of tempo and volume signs. " "A value of 0 means \"no signs\". If you choose 100 it can happen that almost " "every note has a volume or tempo sign." msgstr "" #. Tag: para #: index.docbook:3341 #, no-c-format msgid "" "Often, MIDI files have tracks which comprise a very large range of pitches. " "Placing these notes in one staff leads to bad output:" msgstr "" #. Tag: phrase #: index.docbook:3348 index.docbook:3358 index.docbook:3377 index.docbook:3487 #: index.docbook:3497 #, no-c-format msgid "MIDI program changes" msgstr "" #. Tag: para #: index.docbook:3352 #, no-c-format msgid "Therefore, the normal behaviour of &nted; is to split these tracks:" msgstr "" #. Tag: para #: index.docbook:3362 #, no-c-format msgid "" "But somtimes this is unwanted. Espacially, if the MIDI file has already well " "splitted tracks. Use the don't split tracks " "button in this case." msgstr "" #. Tag: para #: index.docbook:3366 #, no-c-format msgid "" "The button force piano forces a score with " "2 staves per system." msgstr "" #. Tag: para #: index.docbook:3369 #, no-c-format msgid "" "The button sort instruments is useful for " "MIDI files where all or many instruments are placed in one track. For " "example, in following MIDI file a piano and a flute appear in the same track:" msgstr "" #. Tag: para #: index.docbook:3381 #, no-c-format msgid "" "The red bullets represent a special MIDI operator called MIDI " "program change which advises the device to change the " "instrument. Thus, theoretically a MIDI file can place a whole orchestra in " "one track. Files produced by keyboards are often of this kind. &nted; would " "actually place all notes in one staff and attach the first given instrument " "to this staff. If sort instruments is " "active it sorts the instruments into different staves:" msgstr "" #. Tag: phrase #: index.docbook:3392 #, no-c-format msgid "sorted MIDI program changes" msgstr "" #. Tag: para #: index.docbook:3396 #, no-c-format msgid "" "In most cases the default button state gives good results. But if the score " "looks strange or the replay differs dramatically from MIDI sound then try to " "play with the buttons to improve the score." msgstr "" #. Tag: para #: index.docbook:3400 #, no-c-format msgid "" "Select the MIDI file and press OK! On last dialog you can determine the " "paper size and orientation." msgstr "" #. Tag: title #: index.docbook:3411 #, no-c-format msgid "Inserting notes with pitch determined by midi keyboard" msgstr "" #. Tag: para #: index.docbook:3412 #, no-c-format msgid "" "If a MIDI keyboard is attached to your soundcard you can determine the pitch " "of the notes by pressing the appropriate key on MIDI keyboard. To do this " "you should first test the MIDI IN device. To do this switch on " "MIDI echo (see Prepare replay) and press the MIDI read button " "()! Move the mouse " "pointer over an arbitrary staff!" msgstr "" #. Tag: para #: index.docbook:3417 #, no-c-format msgid "" "It is important to move the mouse over a staff because this way you " "determine the instrument which playes the tone!" msgstr "" #. Tag: para #: index.docbook:3418 #, no-c-format msgid "" "If you now press a key on midikeyboard you should hear the appropriate tone " "played by the instrument attached to the staff the mouse is placed over (see " "the MIDI panel). If not then configure the " "MIDI input device:" msgstr "" #. Tag: menuchoice #: index.docbook:3423 #, no-c-format msgid "" "Edit Preferences Configure MIDI in..." msgstr "" #. Tag: para #: index.docbook:3429 #, no-c-format msgid "" "A menu appears that shows all midi input ports. Select one and press OK. If " "the port doesn't work try a different port." msgstr "" #. Tag: para #: index.docbook:3432 #, no-c-format msgid "" "If all works then press moreover the insert key " "() and the " "keyboard insertion button (). If you now place the mouse at a certain position on a " "staff the notes you play on midikeyboard are inserted. Note! The keys determine the pitch not the length! The length of the " "notes are set like described in Inserting/" "Deleting notes." msgstr "" #. Tag: para #: index.docbook:3437 #, no-c-format msgid "" "To terminate this mode switch off the MIDI read button" "()!" msgstr "" #. Tag: title #: index.docbook:3442 #, no-c-format msgid "Creating score form playing midi keyboard" msgstr "" #. Tag: para #: index.docbook:3443 #, no-c-format msgid "" "If a MIDI keyboard is attached to your soundcard you can play on it and " "&nted; can (try to) convert this piece of music into notes." msgstr "" #. Tag: para #: index.docbook:3446 #, no-c-format msgid "" "Before you do this you should ensure the replay works. Otherwise you can't " "hear the metronome. See: Prepare replay, and eventually the TiMidity server and the eventually the appropriate question in FAQ." msgstr "" #. Tag: para #: index.docbook:3450 #, no-c-format msgid "" "Furthermore ensure the midi input works and you have selected the correct " "MIDI input port. See: Inserting notes " "with pitch determined by midi keyboard." msgstr "" #. Tag: para #: index.docbook:3452 #, no-c-format msgid "" "If all works then make sure &nted; is in edit mode (see The 3 modes). Then select a note or rest with left " "mouse button! The selected chord or rest should appear in red. The new notes " "will be inserted exactly at this position. Then configure the recording " "parameters:" msgstr "" #. Tag: menuchoice #: index.docbook:3456 #, no-c-format msgid "" "File Configure Record ..." msgstr "" #. Tag: para #: index.docbook:3462 #, no-c-format msgid "The MIDI record configure dialog appears:" msgstr "" #. Tag: phrase #: index.docbook:3468 #, no-c-format msgid "The MIDI record config dialog" msgstr "" #. Tag: para #: index.docbook:3472 #, no-c-format msgid "" "The instrument, time signature and key signature should match the values of " "the staff with the selected chord or rest. You can change these values but " "it is not recommended." msgstr "" #. Tag: para #: index.docbook:3475 #, no-c-format msgid "" "The button triplet recognition determins " "whether or not &nted; shall (try to) recognize triplets." msgstr "" #. Tag: para #: index.docbook:3478 #, no-c-format msgid "" "The button force piano forces a system with " "piano layout." msgstr "" #. Tag: para #: index.docbook:3480 #, no-c-format msgid "" "Perhaps your piece of music comprises a very large range of pitches. Placing " "these notes in one staff leads to bad output:" msgstr "" #. Tag: para #: index.docbook:3491 #, no-c-format msgid "Therefore, the normal behaviour of &nted; is to split the staff" msgstr "" #. Tag: para #: index.docbook:3501 #, no-c-format msgid "" "But somtimes this is unwanted. Use the don't split tracks button in this case." msgstr "" #. Tag: para #: index.docbook:3504 #, no-c-format msgid "" "The tempo slider determins the recording " "tempo (i.e. the tempo of the metronome) in quarters per minute." msgstr "" #. Tag: para #: index.docbook:3507 #, no-c-format msgid "" "The volume slider determins the volume of " "the metronome." msgstr "" #. Tag: para #: index.docbook:3509 #, no-c-format msgid "If all is correct then press Ok!" msgstr "" #. Tag: para #: index.docbook:3511 #, no-c-format msgid "" "Now press the MIDI record button (). You should hear the metronome ticks. The ticks mean " "halfs, quarters, eighths, or sixteenths, depending on the denominator of " "your time signature. The metronome plays 1 deep tick and N-1 high ticks, " "whereby N is the numerator of your time signature. After N ticks one measure " "is over and the replay begins. Play as exactly as possible according to the " "metronome." msgstr "" #. Tag: para #: index.docbook:3516 #, no-c-format msgid "" "At the end press the MIDI record button " "() again. The " "paper dialog appears. Choose a paper format and press Ok! The imported staff appears in a new &nted; window. Here you " "can correct some errors or close the window if the recording is too bad." msgstr "" #. Tag: para #: index.docbook:3521 #, no-c-format msgid "" "Instead of pressing the record button " "() you can press " "the i on PC keyboard." msgstr "" #. Tag: para #: index.docbook:3524 #, no-c-format msgid "" "If all is correct then bring the window with the selected chord or rest on " "top again. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3526 #, no-c-format msgid "" "Insert Import recorded" msgstr "" #. Tag: para #: index.docbook:3532 #, no-c-format msgid "" "The notes in imported staff are copied to the staff with the selected chord " "or rest. After that it is recommended to close the import window." msgstr "" #. Tag: para #: index.docbook:3535 #, no-c-format msgid "" "Now you can continue importing at the same staff by selecting an element " "behind the end of your piece. Or you can append a new staff and record a new instrument." msgstr "" #. Tag: title #: index.docbook:3540 #, no-c-format msgid "Replay" msgstr "" #. Tag: title #: index.docbook:3542 #, no-c-format msgid "Prepare replay" msgstr "" #. Tag: para #: index.docbook:3550 #, no-c-format msgid "To prepare the replay choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3552 #, no-c-format msgid "" "Edit Preferences Configure MIDI out..." msgstr "" #. Tag: para #: index.docbook:3558 #, no-c-format msgid "" "A menu appears that shows all midi output ports. Select one and press OK. If " "the port doesn't work try a different port. If nothing helps then refer to " "the approriate question in FAQ." msgstr "" #. Tag: para #: index.docbook:3561 #, no-c-format msgid "" "The midi echo checkbox determins whether or " "not there is a midi echo if you insert a note." msgstr "" #. Tag: title #: index.docbook:3566 #, no-c-format msgid "Start replay" msgstr "" #. Tag: para #: index.docbook:3567 #, no-c-format msgid "" "To start the replay press the play button " "(). To stop replay press " "the play button again." msgstr "" #. Tag: para #: index.docbook:3570 #, no-c-format msgid "" "To start the replay at a certain position select a note first. To do this " "make sure &nted; is in edit mode (see The 3 " "modes). Then select a note (not a rest!) with left mouse button! " "Press the play button ()!" msgstr "" #. Tag: title #: index.docbook:3577 #, no-c-format msgid "Muting" msgstr "" #. Tag: para #: index.docbook:3579 #, no-c-format msgid "" "It is possible to exclude a subset of staves from replay. To do this choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3581 #, no-c-format msgid "" "Tools Muting ..." msgstr "" #. Tag: para #: index.docbook:3587 #, no-c-format msgid "The mute dialog appears:" msgstr "" #. Tag: para #: index.docbook:3597 #, no-c-format msgid "" "Select the staves to be muted and press OK. To mute some voices of a certain " "staff refer to Staves." msgstr "" #. Tag: title #: index.docbook:3603 #, no-c-format msgid "Shortcuts" msgstr "" #. Tag: entry #: index.docbook:3609 #, no-c-format msgid "key" msgstr "" #. Tag: entry #: index.docbook:3609 #, no-c-format msgid "operation" msgstr "" #. Tag: entry #: index.docbook:3610 #, no-c-format msgid "I" msgstr "" #. Tag: entry #: index.docbook:3610 #, no-c-format msgid "start/stop record from MIDI keyboard" msgstr "" #. Tag: entry #: index.docbook:3611 #, no-c-format msgid "N" msgstr "" #. Tag: entry #: index.docbook:3611 #, no-c-format msgid "Toggle insert insert/delete mode" msgstr "" #. Tag: entry #: index.docbook:3612 #, no-c-format msgid "P" msgstr "" #. Tag: entry #: index.docbook:3612 #, no-c-format msgid "Toggle page mode" msgstr "" #. Tag: entry #: index.docbook:3613 #, no-c-format msgid "R" msgstr "" #. Tag: entry #: index.docbook:3613 #, no-c-format msgid "Toggle rest" msgstr "" #. Tag: entry #: index.docbook:3614 #, no-c-format msgid "K" msgstr "" #. Tag: entry #: index.docbook:3614 #, no-c-format msgid "Toggle keyboard insertion" msgstr "" #. Tag: entry #: index.docbook:3615 #, no-c-format msgid "DEL" msgstr "" #. Tag: entry #: index.docbook:3615 #, no-c-format msgid "Delete a note from chord" msgstr "" #. Tag: entry #: index.docbook:3616 #, no-c-format msgid "," msgstr "" #. Tag: entry #: index.docbook:3616 #, no-c-format msgid "Insert tie (method 2)" msgstr "" #. Tag: entry #: index.docbook:3617 #, no-c-format msgid "Ctrl A" msgstr "" #. Tag: entry #: index.docbook:3617 #, no-c-format msgid "Append a staff" msgstr "" #. Tag: entry #: index.docbook:3618 #, no-c-format msgid "Ctrl B" msgstr "" #. Tag: entry #: index.docbook:3618 #, no-c-format msgid "Append a system" msgstr "" #. Tag: entry #: index.docbook:3619 #, no-c-format msgid "Ctrl J" msgstr "" #. Tag: entry #: index.docbook:3619 #, no-c-format msgid "" "handle beams (see Handling beams)" msgstr "" #. Tag: entry #: index.docbook:3620 #, no-c-format msgid "Ctrl F" msgstr "" #. Tag: entry #: index.docbook:3620 #, no-c-format msgid "flip stem direction" msgstr "" #. Tag: entry #: index.docbook:3621 #, no-c-format msgid "Ctrl R" msgstr "" #. Tag: entry #: index.docbook:3621 #, no-c-format msgid "hide rests" msgstr "" #. Tag: entry #: index.docbook:3622 #, no-c-format msgid "Ctrl U" msgstr "" #. Tag: entry #: index.docbook:3622 #, no-c-format msgid "unhide rests" msgstr "" #. Tag: entry #: index.docbook:3623 #, no-c-format msgid "cursor up" msgstr "" #. Tag: entry #: index.docbook:3623 #, no-c-format msgid "move selected note a line up" msgstr "" #. Tag: entry #: index.docbook:3624 #, no-c-format msgid "cursor down" msgstr "" #. Tag: entry #: index.docbook:3624 #, no-c-format msgid "move selected note a line down" msgstr "" #. Tag: entry #: index.docbook:3625 #, no-c-format msgid "cursor left" msgstr "" #. Tag: entry #: index.docbook:3625 #, no-c-format msgid "select note/rest before" msgstr "" #. Tag: entry #: index.docbook:3626 #, no-c-format msgid "cursor right" msgstr "" #. Tag: entry #: index.docbook:3626 #, no-c-format msgid "select note/rest after" msgstr "" #. Tag: entry #: index.docbook:3627 #, no-c-format msgid "page up" msgstr "" #. Tag: entry #: index.docbook:3627 #, no-c-format msgid "view next page" msgstr "" #. Tag: entry #: index.docbook:3628 #, no-c-format msgid "page down" msgstr "" #. Tag: entry #: index.docbook:3628 #, no-c-format msgid "view previous page" msgstr "" #. Tag: entry #: index.docbook:3629 #, no-c-format msgid "backspace" msgstr "" #. Tag: entry #: index.docbook:3629 #, no-c-format msgid "delete selected note" msgstr "" #. Tag: entry #: index.docbook:3630 #, no-c-format msgid "_" msgstr "" #. Tag: entry #: index.docbook:3630 #, no-c-format msgid "Toggle tie button" msgstr "" #. Tag: entry #: index.docbook:3631 #, no-c-format msgid "." msgstr "" #. Tag: entry #: index.docbook:3631 #, no-c-format msgid "Toggle dot button" msgstr "" #. Tag: entry #: index.docbook:3632 #, no-c-format msgid "#" msgstr "" #. Tag: entry #: index.docbook:3632 #, no-c-format msgid "Toggle sharp button" msgstr "" #. Tag: entry #: index.docbook:3633 #, no-c-format msgid "-" msgstr "" #. Tag: entry #: index.docbook:3633 #, no-c-format msgid "Toggle flat button" msgstr "" #. Tag: entry #: index.docbook:3634 #, no-c-format msgid "=" msgstr "" #. Tag: entry #: index.docbook:3634 #, no-c-format msgid "Toggle natural button" msgstr "" #. Tag: entry #: index.docbook:3642 #, no-c-format msgid "Ctrl +" msgstr "" #. Tag: entry #: index.docbook:3642 #, no-c-format msgid "zoom in" msgstr "" #. Tag: entry #: index.docbook:3643 #, no-c-format msgid "Ctrl -" msgstr "" #. Tag: entry #: index.docbook:3643 #, no-c-format msgid "zoom out" msgstr "" #. Tag: entry #: index.docbook:3644 #, no-c-format msgid "Ctrl C" msgstr "" #. Tag: entry #: index.docbook:3644 #, no-c-format msgid "copy block" msgstr "" #. Tag: entry #: index.docbook:3645 #, no-c-format msgid "Ctrl V" msgstr "" #. Tag: entry #: index.docbook:3645 #, no-c-format msgid "paste block" msgstr "" #. Tag: entry #: index.docbook:3646 #, no-c-format msgid "Ctrl X" msgstr "" #. Tag: entry #: index.docbook:3646 #, no-c-format msgid "delete block" msgstr "" #. Tag: entry #: index.docbook:3647 #, no-c-format msgid "Ctrl E" msgstr "" #. Tag: entry #: index.docbook:3647 #, no-c-format msgid "empty block" msgstr "" #. Tag: entry #: index.docbook:3648 #, no-c-format msgid "Ctrl Z" msgstr "" #. Tag: entry #: index.docbook:3648 #, no-c-format msgid "undo" msgstr "" #. Tag: entry #: index.docbook:3649 #, no-c-format msgid "Ctrl Y" msgstr "" #. Tag: entry #: index.docbook:3649 #, no-c-format msgid "redo" msgstr "" #. Tag: entry #: index.docbook:3650 #, no-c-format msgid "Ctrl H" msgstr "" #. Tag: entry #: index.docbook:3650 #, no-c-format msgid "insert slur" msgstr "" #. Tag: entry #: index.docbook:3651 #, no-c-format msgid "Ctrl + <num>" msgstr "" #. Tag: entry #: index.docbook:3651 #, no-c-format msgid "create tuplet (method 1)" msgstr "" #. Tag: entry #: index.docbook:3652 #, no-c-format msgid "Ctrl + ALt + <num>" msgstr "" #. Tag: entry #: index.docbook:3652 #, no-c-format msgid "create tuplet (method 2)" msgstr "" #. Tag: entry #: index.docbook:3653 #, no-c-format msgid "Shift + CursorUp" msgstr "" #. Tag: entry #: index.docbook:3653 #, no-c-format msgid "increase spacment of measure" msgstr "" #. Tag: entry #: index.docbook:3654 #, no-c-format msgid "Shift + CursorDown" msgstr "" #. Tag: entry #: index.docbook:3654 #, no-c-format msgid "decrease spacment of measure" msgstr "" #. Tag: para #: index.docbook:3659 #, no-c-format msgid "" "Furthermore if the num light on num pad is off: The num pad keys shadow the " "toolbox keys (see The toolbox)." msgstr "" #. Tag: title #: index.docbook:3663 #, no-c-format msgid "Configuration File" msgstr "" #. Tag: para #: index.docbook:3664 #, no-c-format msgid "" "&nted; stores the current configuration (MIDI port, last opened files, print " "command) at $HOME/.nted/ntedrc" msgstr "" #. Tag: title #: index.docbook:3669 #, no-c-format msgid "Attention: Pulseaudio" msgstr "" #. Tag: para #: index.docbook:3670 #, no-c-format msgid "" "Unfortunately, the next chapter about The " "TiMidity server won't work if you have a new sound technology called " "pulseaudio. This concerns Fedora 11 users " "and Ubuntu 9.10 users and possibly others. If you use the soundfont " "mentioned at http://alsa." "opensrc.org/8MBGMSFX.SF2, you'll experience some awful effects like " "distortion or no sound, at all." msgstr "" #. Tag: para #: index.docbook:3675 #, no-c-format msgid "To find out whether you have a pulseaudio or not do:" msgstr "" #. Tag: userinput #: index.docbook:3676 index.docbook:3879 #, no-c-format msgid "which pulseaudio" msgstr "" #. Tag: para #: index.docbook:3677 #, no-c-format msgid "If you get a path as answer you have pulseaudio." msgstr "" #. Tag: para #: index.docbook:3678 #, no-c-format msgid "" "The only workaround is to compile your own TiMidity++. To do this load the " "newest source from:" msgstr "" #. Tag: ulink #: index.docbook:3679 #, no-c-format msgid "http://timidity.sourceforge.net/#download\"" msgstr "" #. Tag: para #: index.docbook:3681 #, no-c-format msgid "Extract and configure the source:" msgstr "" #. Tag: literallayout #: index.docbook:3683 #, no-c-format msgid "" "tar -xvjf TiMidity++-x.y.z.tar.bz2\n" " cd TiMidity++-x.y.z\n" " ./configure --enable-audio=alsa --enable-server --enable-alsaseq\n" " make\n" " su (give password if requested)\n" " make install\n" " exit" msgstr "" #. Tag: para #: index.docbook:3686 #, no-c-format msgid "" "Now you have possibly 2 timidities: One pulsaudio dependent at /usr/bin/" "timidity and the newly compiled and pulsaudio independent /usr/local/bin/" "timidity. Use the pulsaudio independent timidity!" msgstr "" #. Tag: para #: index.docbook:3689 #, no-c-format msgid "" "A good idea is to prepare a command. You should as root copy the soundfont " "at a certain position:" msgstr "" #. Tag: literallayout #: index.docbook:3693 #, no-c-format msgid "" "cd /usr/share\n" " mkdir sfbank\n" " chmod 0755 sfbank\n" " cd sfbank\n" " cp /<somewhere>/8mbgmsfx.sf2 .\n" " echo 'dir /usr/share/sfbank' >timidity.cfg\n" " echo 'soundfont 8mbgmsfx.sf2' >> timidity.cfg\n" " chmod 0644 8mbgmsfx.sf2 timidity.cfg\n" " cd /usr/bin\n" " echo '#!/bin/bash' > alsatimidity.sh\n" " echo '' >> alsatimidity.sh\n" " echo '/usr/local/bin/timidity -c /usr/share/sfbank/timidity.cfg -iA -B2,8 " "-Os1l -s 44100' >> alsatimidity.sh\n" " chmod 0755 alsatimidity.sh" msgstr "" #. Tag: para #: index.docbook:3696 #, no-c-format msgid "Now the call" msgstr "" #. Tag: literallayout #: index.docbook:3698 #, no-c-format msgid "alsatimidity.sh" msgstr "" #. Tag: para #: index.docbook:3701 #, no-c-format msgid "should start the timidity in server mode." msgstr "" #. Tag: para #: index.docbook:3703 #, no-c-format msgid "" "If the sound problems remain remove the pulsaudio package from your system!" msgstr "" #. Tag: title #: index.docbook:3708 #, no-c-format msgid "The TiMidity server" msgstr "" #. Tag: para #: index.docbook:3709 #, no-c-format msgid "" "All what is stated does not work if you have a technology called " "pulseaudio. This concerns Fedora 11 users " "and Ubuntu 9.10 users and possibly others. Please refer to the Pulseaudio chapter to learn more!" msgstr "" #. Tag: para #: index.docbook:3712 #, no-c-format msgid "" "You can use the MIDI to WAVE converter and player TiMidity++ ( http://" "timidity.sourceforge.net) in server mode. This " "approach is interesting for all those who can't bring the MIDI device to " "work." msgstr "" #. Tag: para #: index.docbook:3716 #, no-c-format msgid "" "A presupposition is that TiMidity++ is compiled " "with (at least) the options:" msgstr "" #. Tag: option #: index.docbook:3717 #, no-c-format msgid "" "         --enable-audio=alsa --" "enable-server --enable-alsaseq" msgstr "" #. Tag: para #: index.docbook:3719 #, no-c-format msgid "" "Whether or not your TiMidity++ is compiled with " "these options can be determined by starting it with " "Option:" msgstr "" #. Tag: para #: index.docbook:3721 index.docbook:3739 #, no-c-format msgid "" "         timidity -iA -" "B2,8 -Os1l -s 44100    " msgstr "" #. Tag: para #: index.docbook:3723 #, no-c-format msgid "" "If it says: \"-A option not compiled in\" " "then compile it \"by hand\" as stated above." msgstr "" #. Tag: para #: index.docbook:3726 #, no-c-format msgid "" "You should also try to change \"the orchestra\" by installing a different " "soundfont. To get such a soundfont you should first have a look at the CDROM " "shipped with your soundcard. Perhaps you find there a file with suffix " ".sf2. But be careful: Make sure it is a General MIDI " "file!" msgstr "" #. Tag: para #: index.docbook:3731 #, no-c-format msgid "" "If not then load the soundfile mentioned at http://alsa.opensrc.org/8MBGMSFX.SF2. Download it " "and in /usr/share/timidity/timidity.cfg (or /" "usr/local/share/timidity/timidity.cfg) change:" msgstr "" #. Tag: para #: index.docbook:3733 #, no-c-format msgid "" "     dir <" "path_to_the_directory_there_the_8MBGMSFX.SF2_file_is_situated>" msgstr "" #. Tag: para #: index.docbook:3734 index.docbook:3797 #, no-c-format msgid "and:" msgstr "" #. Tag: userinput #: index.docbook:3735 #, no-c-format msgid "     soundfont 8MBGMSFX.SF2" msgstr "" #. Tag: para #: index.docbook:3738 #, no-c-format msgid "" "Comment all other lines! If all is ok, you can start TiMidity+" "+ with:" msgstr "" #. Tag: para #: index.docbook:3742 #, no-c-format msgid "Select the configure dialog:" msgstr "" #. Tag: menuchoice #: index.docbook:3744 #, no-c-format msgid "" "Configure Configure..." msgstr "" #. Tag: para #: index.docbook:3749 #, no-c-format msgid "You should see 4 new MIDI devices:" msgstr "" #. Tag: para #: index.docbook:3751 #, no-c-format msgid "Timidity port 0 128:0" msgstr "" #. Tag: para #: index.docbook:3752 #, no-c-format msgid "Timidity port 1 128:1" msgstr "" #. Tag: para #: index.docbook:3753 #, no-c-format msgid "Timidity port 2 128:2" msgstr "" #. Tag: para #: index.docbook:3754 #, no-c-format msgid "Timidity port 3 128:3" msgstr "" #. Tag: para #: index.docbook:3757 #, no-c-format msgid "Choose one of them and the replay should work!" msgstr "" #. Tag: para #: index.docbook:3759 #, no-c-format msgid "" "Tip: If the replay interrupts during page turn over then start " "TiMidity++ as root. This " "increases the priority of the TiMidity++ process. " "Use the following command in this case:" msgstr "" #. Tag: userinput #: index.docbook:3761 #, no-c-format msgid "" "     timidity --realtime-priority=100 -iA -B2,8 -" "Os1l -s 44100" msgstr "" #. Tag: para #: index.docbook:3763 #, no-c-format msgid "" "This can lead to operating system problems if your CPU performance is too " "small! If so, then try to decrease the priority and/or the frequency:" msgstr "" #. Tag: userinput #: index.docbook:3766 #, no-c-format msgid "" "     timidity --realtime-priority=60 -iA -B2,8 -" "Os1l -s 22050" msgstr "" #. Tag: para #: index.docbook:3767 #, no-c-format msgid "Sometimes it helps to increase the number of buffer fragments:" msgstr "" #. Tag: para #: index.docbook:3768 #, no-c-format msgid "" "         timidity -iA -" "B8,8 -Os1l -s 22050    " msgstr "" #. Tag: para #: index.docbook:3771 #, no-c-format msgid "" "If you want a different sound have a look at the Hammersound install page." msgstr "" #. Tag: title #: index.docbook:3776 #, no-c-format msgid "Hammersound install page" msgstr "" #. Tag: para #: index.docbook:3778 #, no-c-format msgid "" "For my examples I recommend the soundfont mentioned at TiMidity server page. But you can test other " "soundfonts at http://www." "hammersound.net/, for example the FluidR3 " "soundfont." msgstr "" #. Tag: para #: index.docbook:3780 #, no-c-format msgid "" "To do this search for FluidR3122501.zip at http://www.hammersound.net and " "download it." msgstr "" #. Tag: para #: index.docbook:3783 #, no-c-format msgid "" "This soundfont is in sfArk compression format. Download " "the decompressor from http://www." "melodymachine.com and unpack:" msgstr "" #. Tag: userinput #: index.docbook:3786 #, no-c-format msgid "     tar -xvzf sfarkxtc_lx86.tar.gz" msgstr "" #. Tag: para #: index.docbook:3787 #, no-c-format msgid "" "Then decompress the archive FluidR3122501.zip (Because " "of the spaces in file name the apostrophs are necessary):" msgstr "" #. Tag: userinput #: index.docbook:3789 #, no-c-format msgid "     unzip FluidR3122501.zip" msgstr "" #. Tag: userinput #: index.docbook:3790 #, no-c-format msgid "     ./sfarkxtc \"FluidR3 GM.sfArk\"" msgstr "" #. Tag: para #: index.docbook:3791 #, no-c-format msgid "" "It is recommended to rename the resulting fileFluidR3 GM.SF2 because the Linux shell has problems dealing with spaces in file " "names:" msgstr "" #. Tag: userinput #: index.docbook:3793 #, no-c-format msgid "     mv \"FluidR3 GM.SF2\" FluidR3.sf2" msgstr "" #. Tag: para #: index.docbook:3794 #, no-c-format msgid "" "Then in /usr/share/timidity/timidity.cfg (or /" "usr/local/share/timidity/timidity.cfg) change:" msgstr "" #. Tag: para #: index.docbook:3796 #, no-c-format msgid "" "     dir <" "path_to_the_directory_there_the_FluidR3.sf2_file_is_situated>" msgstr "" #. Tag: userinput #: index.docbook:3798 #, no-c-format msgid "     soundfont FluidR3.sf2" msgstr "" #. Tag: para #: index.docbook:3800 #, no-c-format msgid "" "Start TiMidity as mentioned at TiMidity server page." msgstr "" #. Tag: title #: index.docbook:3807 #, no-c-format msgid "Credits and License" msgstr "" #. Tag: para #: index.docbook:3809 #, no-c-format msgid "&nted; Copyright 2007 Jörg Anders" msgstr "" #. Tag: para #: index.docbook:3814 #, no-c-format msgid "" "This documentation is licensed under the terms of the GNU Free Documentation License." msgstr "" #. Tag: para #: index.docbook:3815 #, no-c-format msgid "" "This program is licensed under the terms of the GNU General Public License." msgstr "" #. Tag: title #: index.docbook:3820 #, no-c-format msgid "Frequently Asked Questions (FAQ)" msgstr "" #. Tag: para #: index.docbook:3824 #, no-c-format msgid "" "I can't hear any sound! I see the running red notes but there is no sound! " "What's wrong?" msgstr "" #. Tag: para #: index.docbook:3829 #, no-c-format msgid "" "This has nothing to do with &nted;! It is a problem of your MIDI device! All " "MIDI based applications (for instance kmid " "(not kmidi !!!) or pmidi) " "will fail!" msgstr "" #. Tag: para #: index.docbook:3831 #, no-c-format msgid "" "First of all: Try to play a MIDI file with kmid " "(not (!!!) kmidi). As long " "as kmid does not produce any sound, &nted; (and " "any other MIDI device based software) will not produce any sound, too! The " "reason is: Either your soundcard has no hardware MIDI synthesizer or it has " "a hardware MIDI synthesizer but it is not supported by Linux." msgstr "" #. Tag: para #: index.docbook:3836 #, no-c-format msgid "" "Please refer to the ALSA project " "page to find out whether the midi device on your sound card is " "supported." msgstr "" #. Tag: para #: index.docbook:3838 #, no-c-format msgid "" "Before making a lot of effort to emulate the hardware synthesizer by " "software you should search for a soundfont file on the CD shipped with your " "soundcard. A soundfont file has the suffix .sf2 or " ".SF2. Please make sure it is a General MIDI soundfont! " "If there is such a soundfont file there is a high probability you simply " "have to load the soundfont onto your soundcard." msgstr "" #. Tag: para #: index.docbook:3843 #, no-c-format msgid "" "To to this you need a program called asfxload. Simply type:" msgstr "" #. Tag: para #: index.docbook:3845 #, no-c-format msgid "" "asfxload <soundfont>.sf2" msgstr "" #. Tag: para #: index.docbook:3846 #, no-c-format msgid "" "But even if you cannot find a soundfont file on soundcard CD, you can try to " "download a soundfont file. I recommand the soundfont mentioned at http://alsa.opensrc.org/8MBGMSFX." "SF2." msgstr "" #. Tag: para #: index.docbook:3848 #, no-c-format msgid "" "If asfxload fails your soundcard does not permit loading a soundfont." msgstr "" #. Tag: para #: index.docbook:3849 #, no-c-format msgid "" "There is still a last chance that not all needed moduls are loaded. So as a " "last attempt type as root:" msgstr "" #. Tag: userinput #: index.docbook:3850 #, no-c-format msgid "modprobe snd_seq_midi" msgstr "" #. Tag: para #: index.docbook:3851 #, no-c-format msgid "and repeat the asfxload command." msgstr "" #. Tag: para #: index.docbook:3852 #, no-c-format msgid "" "If asfxload fails again you have to emulate the hardware MIDI " "synthesizer by software. This works if your computer has enough performance. " "Windows for instances starts a soft synthesizer automatically if the " "hardware synthesis does not work. So, be not confused if you can play MIDI " "files on Windows!" msgstr "" #. Tag: para #: index.docbook:3855 #, no-c-format msgid "" "Such emulation software exists for Linux, too. But it is more complicated " "because:" msgstr "" #. Tag: para #: index.docbook:3857 #, no-c-format msgid "You have to start this software \"by hand\"." msgstr "" #. Tag: para #: index.docbook:3858 #, no-c-format msgid "" "These software MIDI synthesizers need a so-called soundfont, a collection of " "sample tones of every instrument of a virtual orchestra. These soundfonts " "are copyrighted, i.e. actually nothing for a free system like Linux." msgstr "" #. Tag: para #: index.docbook:3862 #, no-c-format msgid "" "But there is a (relatively bulky) way! See The TiMidity server detailed instructions!" msgstr "" #. Tag: para #: index.docbook:3865 #, no-c-format msgid "" "Note! There are more software synthesizers on Linux, which can be tested. " "Among them the FluidSynth. See http://" "www.linux-sound.org for a list." msgstr "" #. Tag: para #: index.docbook:3867 #, no-c-format msgid "" "You should avoid soft synthesis if the performance of your computer is too " "small! The antialiasing procedure (smoothing the symbols) of &nted; consumes " "a lot of performance, and soft synthesis, too! As a result the replay can be " "uneven especially during page turn over!" msgstr "" #. Tag: para #: index.docbook:3873 #, no-c-format msgid "" "I use TiMidity but the sound is distorted and somtimes I have no sound, at " "all. What's wrong?" msgstr "" #. Tag: para #: index.docbook:3878 #, no-c-format msgid "Check whether you have a command pulseaudio:" msgstr "" #. Tag: para #: index.docbook:3880 #, no-c-format msgid "" "If you get the path of pulseaudio then follow the instructions in chapter " "pulseaudio" msgstr "" #. Tag: para #: index.docbook:3886 #, no-c-format msgid "At program start it says: \"Error in FT_Open_Face\"! What's wrong!" msgstr "" #. Tag: para #: index.docbook:3891 #, no-c-format msgid "You have not installed the program! Please type (as root):" msgstr "" #. Tag: userinput #: index.docbook:3892 #, no-c-format msgid "make install" msgstr "" #. Tag: para #: index.docbook:3893 #, no-c-format msgid "" "Refer also to INSTALL file shipped with the nted-x.y.z.tgz archive." msgstr "" #. Tag: para #: index.docbook:3898 #, no-c-format msgid "" "I use asfxload but I get an error \"sfxload: no " "memory left\" and some instruments are missing during replay. What's wrong?" msgstr "" #. Tag: para #: index.docbook:3904 #, no-c-format msgid "" "Don't believe the many rumours on different mailing lists! I have bad news " "for you: You have to build a new kernel. Terrible, I know! If you feel " "unable to do this then try to use the TiMidity server." msgstr "" #. Tag: para #: index.docbook:3907 #, no-c-format msgid "Otherwise download the kernel and change in" msgstr "" #. Tag: para #: index.docbook:3908 #, no-c-format msgid "arch/x86/include/asm/dma.h:" msgstr "" #. Tag: filename #: index.docbook:3909 #, no-c-format msgid "#define MAX_DMA32_PFN ((4UL * 1024 * 1024 * 1024) >> PAGE_SHIFT)" msgstr "" #. Tag: para #: index.docbook:3910 #, no-c-format msgid "against:" msgstr "" #. Tag: filename #: index.docbook:3911 #, no-c-format msgid "#define MAX_DMA32_PFN ((2UL * 1024 * 1024 * 1024) >> PAGE_SHIFT)" msgstr "" #. Tag: para #: index.docbook:3912 #, no-c-format msgid "" "Then build the kernel! Refer to https://lists.ubuntu.com/" "archives/universe-bugs/2009-March/068812.html for more details!" msgstr "" #. Tag: para #: index.docbook:3919 #, no-c-format msgid "I cannot install &nted; because I have no root rights. What shall I do?" msgstr "" #. Tag: para #: index.docbook:3924 #, no-c-format msgid "" "You can use the option to install the &nted; in an " "arbitrary directory below your $HOME directory. Please refer also to INSTALL " "file shipped with the nted-x.y.z.tgz archive." msgstr "" #. Tag: para #: index.docbook:3927 #, no-c-format msgid "" "Furthermore, if you want to avoid the make install " "command then set an environment variable NTED_FONT_DIR " "to the directory where the nted/ntedfont.pfa is " "situated." msgstr "" #. Tag: para #: index.docbook:3930 #, no-c-format msgid "" "For instance, assume the ntedfont.pfa is at /" "home/smith/datafiles/nted/ntedfont.pfa type at command prompt:" msgstr "" #. Tag: userinput #: index.docbook:3932 #, no-c-format msgid "export NTED_FONT_DIR=/home/smith/datafiles" msgstr "" #. Tag: para #: index.docbook:3933 #, no-c-format msgid "" "if you have a bash or sh shell." msgstr "" #. Tag: para #: index.docbook:3934 #, no-c-format msgid "" "If you're using a csh or tcsh type:" msgstr "" #. Tag: userinput #: index.docbook:3935 #, no-c-format msgid "setenv NTED_FONT_DIR /home/smith/datafiles" msgstr "" #. Tag: para #: index.docbook:3936 #, no-c-format msgid "To find out your shell type:" msgstr "" #. Tag: userinput #: index.docbook:3937 index.docbook:3984 #, no-c-format msgid "echo $SHELL" msgstr "" #. Tag: para #: index.docbook:3938 #, no-c-format msgid "at command promt." msgstr "" #. Tag: para #: index.docbook:3943 #, no-c-format msgid "" "May I set lyrics as text blocks below the sheet music? How can I use the " "score in common texts?" msgstr "" #. Tag: para #: index.docbook:3948 #, no-c-format msgid "" "This would require to write a musical score editor and " "a text editor! This is too complex! But have a look at:" msgstr "" #. Tag: ulink #: index.docbook:3951 #, no-c-format msgid "" "http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/use_nted_in_text.xhtml" msgstr "" #. Tag: para #: index.docbook:3952 #, no-c-format msgid "There you can find some proposals about that topic." msgstr "" #. Tag: para #: index.docbook:3957 #, no-c-format msgid "" "During program startup I get an error: \"Cannot open ALSA MIDI sequencer --> " "replay won't work ...\"! What's wrong ?" msgstr "" #. Tag: para #: index.docbook:3962 #, no-c-format msgid "" "That means you either have no ALSA sound system. Or you have an ALSA sound " "system but for complicated reasons your ALSA midi sequencer is not " "initialized. In many cases this is due to a missing module. Therefore try " "(as root):" msgstr "" #. Tag: userinput #: index.docbook:3964 #, no-c-format msgid "modprobe snd-seq-midi" msgstr "" #. Tag: para #: index.docbook:3965 #, no-c-format msgid "and restart &nted;." msgstr "" #. Tag: para #: index.docbook:3970 #, no-c-format msgid "" "During make step an error occurs: " "/bin/sh: gdk-pixbuf-csource: command not found. What's wrong ?" msgstr "" #. Tag: para #: index.docbook:3976 #, no-c-format msgid "" "This has to do with your PATH environment variable. Many Linuxes place the " "program gdk-pixbuf-csource at /opt/" "gnome/bin. Actually this should be in your PATH. But under " "certain circumstances this is not the case. If so then make sure /" "opt/gnome/bin is in your PATH. If you have a (t)csh shell type:" msgstr "" #. Tag: userinput #: index.docbook:3980 #, no-c-format msgid "setenv PATH \"$PATH:/opt/gnome/bin\"" msgstr "" #. Tag: para #: index.docbook:3981 #, no-c-format msgid "If you have another shell type:" msgstr "" #. Tag: userinput #: index.docbook:3982 #, no-c-format msgid "export PATH=$PATH:/opt/gnome/bin" msgstr "" #. Tag: para #: index.docbook:3983 #, no-c-format msgid "To determine your shell type:" msgstr "" #. Tag: para #: index.docbook:3989 #, no-c-format msgid "" "During configure step I get an error: \"configure: error: C++ compiler " "cannot create executables, See `config.log' for more details.\". What's " "wrong?" msgstr "" #. Tag: para #: index.docbook:3992 #, no-c-format msgid "" "Ok, you can inspect the config.log. But this is " "presumably superfluous, because in most cases that means: You have no C++ " "compiler installed." msgstr "" nted-1.10.18/doc/fr/Makefile.in0000664001041000007640000003541511520267353012771 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ ######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(srcdir)/../translated-manual.mk $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in subdir = doc/fr ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_LIBS = @ALSA_LIBS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ IMAGE2HEADER = @IMAGE2HEADER@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PO2XML = @PO2XML@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ X11_CFLAGS = @X11_CFLAGS@ X11_LIBS = @X11_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XML2POT = @XML2POT@ XMLTO = @XMLTO@ YELP = @YELP@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ LANGUAGE = fr EXTRA_DIST = $(LANGUAGE).po index.docbook all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/../translated-manual.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/fr/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/fr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am @MAKE_DOCS_FALSE@all-local: all-am: Makefile all-local installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." @MAKE_DOCS_FALSE@uninstall-local: @MAKE_DOCS_FALSE@install-data-local: @MAKE_DOCS_FALSE@clean-local: clean: clean-am clean-am: clean-generic clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: install-am install-strip .PHONY: all all-am all-local check check-am clean clean-generic \ clean-local distclean distclean-generic distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-data-local install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-local @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@all-local: index.docbook index.html @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@index.docbook: ../en/index.docbook $(LANGUAGE).po @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(PO2XML) $(srcdir)/../en/index.docbook $(srcdir)/$(LANGUAGE).po >index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@index.html: index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(XMLTO) html index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@../templates/nted.pot: @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ cd ../templates && $(MAKE) nted.pot @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@$(srcdir)/$(LANGUAGE).po: ../templates/nted.pot ../en/index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(MSGMERGE) $(srcdir)/$(LANGUAGE).po ../templates/nted.pot > xx.po @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ @if cmp xx.po $(srcdir)/$(LANGUAGE).po > /dev/null; then \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ rm -f xx.po; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ else \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ rm -f $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ echo mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ fi @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@install-data-local: index.docbook index.html @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(INSTALL) -D -m "u=rw,og=r" index.docbook $(DESTDIR)$(htmldir)/$(LANGUAGE)/index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ @-for i in *.html; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ do \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(INSTALL) -D -m "u=rw,og=r" $$i $(DESTDIR)$(htmldir)/$(LANGUAGE)/$$i; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ done @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@uninstall-local: @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ rm -f $(DESTDIR)$(htmldir)/$(LANGUAGE)/* @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@clean-local: @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ rm -f *.html index.docbook @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@all-local: index.html @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@index.html: @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ $(XMLTO) html index.docbook @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@$(srcdir)/$(LANGUAGE).po: ../templates/nted.pot ../en/index.docbook @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ $(MSGMERGE) $(srcdir)/$(LANGUAGE).po ../templates/nted.pot > xx.po @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ @if cmp xx.po $(srcdir)/$(LANGUAGE).po > /dev/null; then \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ rm -f xx.po; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ else \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ rm -f $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ echo mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ fi @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@install-data-local: index.docbook index.html @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ $(INSTALL) -D -m "u=rw,og=r" index.docbook $(DESTDIR)$(htmldir)/$(LANGUAGE)/index.docbook @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ @-for i in *.html; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ do \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ $(INSTALL) -D -m "u=rw,og=r" $$i $(DESTDIR)$(htmldir)/$(LANGUAGE)/$$i; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ done @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@uninstall-local: @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ rm -f $(DESTDIR)$(htmldir)/$(LANGUAGE)/* @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@clean-local: @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ rm -f *.html # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/doc/fr/index.docbook0000664001041000007640000047616611520270124013377 00000000000000 ]> Manuel de &nted; JörgAnders TU-Chemnitz
j.anders@informatik.tu-chemnitz.de
Maximiliano Spanish translation
mxgdvg@yahoo.it
MarianoMarini Italien translation
mariano.marini@alice.itk
JörgAnders German translation
ja@informatik.tu-chemnitz.de
2008 Jörg Anders Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". 2010-09-28 1.10.16 &nted; is a score editor for Linux Gtk &nted; music editor notes score MIDI
Using &nted; Starting &nted; This chapter describes the use of &nted; for editing notes. You may start &nted; by entering the following at the command prompt: % nted & Once &nted; starts, you will see a window like the following: &nted; Mainwindow The first sound To hear my examples please use the soundfont mentioned here: http://alsa.opensrc.org/8MBGMSFX.SF2! For more information about how to use the SF2 file read the appropriate question in FAQ or read about the configuration of the TiMidity server. To hear a short example choose: File Open ... Choose datafiles/nted/examples/example1.ntd on dialog and press OK! The examples are installed during installation step. So, if you can't find the examples especially if you installed from a package then search at /usr/share/nted/examples or: /usr/local/share/nted/examples You should see a score. Choose a MIDI port: Edit Preferences Configure MIDI ... and press the play button (). You should see running red notes and hear the sound. If you don't hear the sound then choose a different MIDI port. If nothing helps then refer to the approriate question in FAQ. The toolbox The toolbox is a little window which appears always on top of all other &nted; windows: The toolbox If the toolbox vanishes you can make it visible again by pressing the toolbox button ( ). The toolbox has multiple panels: The toolbox panels To change the panel either user the next panel button () or the previous panel button (). Alternatively, you can use the direct panel buttons on top of the toolbox: The direct panel buttons The different panels offer buttons concerning different fields of score notation. Furthermore, each panel is structured like your keyboard's num pad: the toolbox and the numpad Instead of pressing a button at the toolbox, you can press the appropriate button on numpad. For instance: If you want half notes, make sure the num light is off and choose the first toolbox panel. Then press 4 on num pad. The half note button is selected. Furthermore: Some keys (rest, tie, sharp, flat, natural, dot) can be toogled by keyboard keys independent on the actual panel, see shortcuts. Inserting notes and rests The 3 modes &nted; is always in one of 3 modes. The mode is determined by the insert and page button pair. At start the insert button is on and the page button is off (). &nted; is in insert/delete mode. If you toggle off the insert/delete button by clicking it or pressing the 'n' key you are in edit mode (). If you toggle on the page button by clicking it or pressing the 'p' key you are in page mode (). Furthermore you can temporarily achieve the edit mode by pressing the Ctrl key during mouse action. You can also temporarily achieve the page mode by pressing the Shift key during mouse action. In insert/delete mode you can insert and delete notes and rests. In edit mode you can modify the score. In page mode you can shift the paper by moving the mouse. Inserting/Deleting notes Be sure &nted; is in insert/delete mode (see The 3 modes). To insert notes choose a note length on first toolbox panel: The note length and click on a note line. If you click near an existing note a chord is created. If you click on an existing note the note is removed. To delete a note you can also use the backspace key. To delete a single note from chord use the DEL key. If you want to insert a note with an accidental choose an accidental on 2nd and/or 3rd toolbox panel: The note length (see also Handling beams, Handling stems). Inserting drum notes &nted; offers different note head types. Choose one at 5th toolbox panel: The note head types Select a note head type and insert the drum note as described in chapter Inserting/Deleting notes. Note: The meaning of the drum notes depends on the choosen clef. Refer to clefs read about the the drum system. Note further: To get the drum sound you have to select a certain channel (often channel 10). See The MIDI Tab! Inserting tremolo notes To insert tremolo notes select the tremolo sign at 5th panel of the toolbox: the tremolo types Select a tremolo type and insert the note as described in chapter Inserting/Deleting notes. Note: The tremolo does not influence the replay. Inserting/Deleting rests Be sure &nted; is in insert/delete mode (see The 3 modes). To insert rests choose a note length on 1st toolbox panel and press the rest button: Toolbox rest selected You cannot really "delete" a rest because you cannot destroy time. But in many cases the situation is as follows: shift example 1 This can especially happen after deleting a series of notes because every deleted note leaves behind an appropriate rest. If you now insert a half rest at position of the first eighth rest the situation changes: shift example 1 Generalization We can generalize the last example. The truth is: Independent of whether you insert a note or a rest, &nted; consumes as much time as necessary to insert the note or rest. Assume again this situation: shift example 1 If you insert a half note at postition of the 2nd eighth rest the result is: shift example 1 &nted; "eats" 3 eighth rests and shortens the quarter by one eighth. Inserting notes and rests using the PC keyboard You can toggle the note length by pressing some number keys: 1set current length to full note 2set current length to half note 4set current length to quarter note 5set current length to eighth note 6set current length to sixteenth note 7set current length to 32th note 8set current length to 64th note To insert notes along with pressing these keys activate the keyboard insertion button () or press 'k'. This puts &nted; into the keyboard insertion mode. If you now press a key from the table above a note of appropriate length is inserted at cursor position. To insert a rest press Alt key simultaneously. Use the CursorUp/Down keys to determine the pitch. Use the CursorLeft/Right keys to switch to previous/next measure. The backspace key removes the last inserted note See also Inserting notes with pitch determined by midi keyboard. Append a system At the beginning &nted; shows only one system with only a few measures. To append more systems press Ctrl B. This will append one system at end of score. See also: removing systems Modifications Shifting notes and rests You can shift notes and rests vertically and horizontally. Be sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Click a note or rest with left button. The note or rest is selected. A selected chord or rest appeares in red color. Shift and hold the left button. The selected note or rest moves accordingly. If you shift a note vertically the note changes the line. If you shift the note or rest horizontally before or after another note or rest the note or rest changes its position. Furthermore: If there is a selected note you can move the note by Up/Down cursor key. The Left/Right key changes the selection. The horizontal move is especially useful in cases where you want to achieve this: shift example 1 but the situation is: shift example 2 By moving the note before the rest or the rest behind the note the symbols exchange their positions. Hiding rests You can hide some rests if desireable. There are 2 ways to do this. If you want to hide the rests of a whole voice, select that voice on voice selector () and choose: Tools hide rests Or simply press Ctrl + R. To unhide already hidden rests choose: Tools unhide rests Or simply press Ctrl + U. To limit this operation to a certain staff simply select one arbitratry note or rest of this staff before this operation. The 2nd way is to hide a group of rests of a selection rectangle: Draw a selection rectangle as described in Select a block. Then choose hide rests or unhide rests as described above. Note: This operation is also limited to the selected voice. To (un)hide all rests in all voices choose: Tools hide rests (all v.) or: Tools unhide rests (all v.) Hiding rests is also useful in case of an upbeat. To make hidden rests visible choose: View show hidden elements Positioning rests vertically &nted; tries to position rests in such a way that they do not obscure other elements. This works in most cases. But sometimes the user wishes a customized vertical placement. To place a rest vertically select it, and then use the cursor up-/down keys to change the rest's vertical position. From this moment on you are responsible to place this rest. &nted; will do nothing to solve any conflicts. The only way to get a rest managed by &nted; is to insert a new rest. This way you can effectively have 2 voices sharing "one" rest: selected a tie You have to move both rests at least one step! Otherwise &nted; moves the other rest to avoid collision. Inserting ties There are 2 ways for inserting ties: This approach assumes you want to insert ties after you have inserted a series of notes. So, never press the tie during note insertion: the tie button Press it after you have inserted a series of notes. Then select all note pairs to be tied with left mouse button. Do not forget to turn off the tie button: the tie button Because this button has high priority and blocks other functions. Insert a note or chord followed by a note or chord with the same pitch(es): before tie method 1 Then press ',' (comma). Notes with equal pitch are tied: before tie method 2 Customized ties &nted; places the ties automatically depending on the note's stem direction. This works in most cases. But sometimes the user wishes costumized ties. To costumize a tie make sure &nted; is in edit mode (see The 3 modes). Select a tie with left mouse button: selected a tie The selected tie appears in red color. Use the cursor up/down keys to change the curve: change the tie's curve Modifying length, accidentals dots and ties Be sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Click a note or rest with left button. The note or rest is selected. A selected chord or rest appeares in red color. The buttons reflect the state of the note or rest. You can change the state of the note or rest by toggeling the appropriate buttons. This includes: changing the length changing the note head type insert/remove accidentals/dots removing ties Undo/Redo and View &nted; has an unlimited undo history. You can always undo a previous command by pressing the undo button () or pressing Ctrl Z. To redo an undo press the redo button () or press Ctrl Y. To increase the view press the zoom in button () or press Ctrl +. To decrease the view press the zoom in button () or press Ctrl -. Staves and Systems Append a new staff To append a staff choose: Insert Append staff or simply press Ctrl + A. The staff is always appended at last position. Change staff properties To change the staff properties right click staff not too close to a measure line. The staff config menu appears: the staff config menu Choose staff name, clef, time signature (likewise or ), and key signature on appropriate panel and press OK! The adjust notes determins whether or not &nted; shall adjust the appropriate notes such that their pitch is kept. This concerns the clef and key signature change. The octave shift entry determins an optional octave shift of the clef. Note! LilyPond has its own rules for choosing symbols or . So, do not expect the same symbols in LilyPond! The staff short name is printed at 2nd, 3rd, ... page. The group name and short group name have the same meaning as staff name and staff short name for groups of staves. (see System Layout) The neutral clef has 3 forms: the neutral clefs The difference is the MIDI mapping. The first form - signed with "1" - maps the note lines to pitches like the treble clef would map. The 2nd form - signed with "2" - maps note lines to pitches like the bass clef would map. The difference is not visible. Note: If you choose neutral clef 1 or neutral clef 2 the notation conflicts with usual drum notation and it is not exported to LilyPond. An alternative is to use the drum system. On MIDI tab you can change the midi parameters which influences the sound during replay: the midi panel The instrument panel lets you select the timbre. It assumes a general midi table. Furthermore you can choose the volume of the staff. Actually, each voice has the same timbre (plays the same sound). But on voices panel you can change this behaviour: the instrument panel If the radio button all is selected immediately before closing the staff configuration menu, all voices produce the same sound (play the same instrument). Otherwise you can determine the sound of the different voices by selecting one of the radio buttons 1, 2, 3, or 4. Choose a sound, a volume, and a stereo position (pan) of each voice. Different sounds on the same staff produce different sounds on the same MIDI track which causes a very complicated and expansive MIDI output! Thus, if you have the choice between multiple sounds on the same staff or multiple staves you with uniform sound you should choose the latter one! On channel panel you can assign a midi channel. You should assign a different midi channel to different staves. This is automatically done by &nted;. Channel 10 is the drum channel on most sound cards and is never assigned automatically The tempo slider changes the tempo of all staves. The pan slider determins the stereo position of the instrument. The chorus slider and the reverb slider determine the chorus and reverberation effect. The ALSA sound system does not support the reverberation effect of all soundcards. The often used modul snd_emu10k1_synth for instance does not support reverberation. But TiMidity supports it. On mute panel: the instrument panel you can mute the whole staff by using the all checkbox. You can also mute single voices by selecting the voice number. (see also Muting). The transp. slider causes a pitch offset during replay. This feature is helpful for instruments which are not in C tuning. Special letters in staff names &nted; allowes you to place special letters like flat symbol in staff names: Flute in A\b --> The following table gives an overview about the possible signs: \O \S \# \b \n \o \c \r \p \.non breaking space \...dots \--dash Changing the staff position If there is more than one staff there is a 3rd tab, the staff position tab: the position panel The cursor shows the position of the current staff. Clicking on a different position and OK moves the staff to the new position. Deleting a staff If there is more than one staff a "Delete Staff" button appears: the staff delete button To delete the staff, press this button. Changing the staff distance &nted; chooses the staff distance automatically according to the position and height of the elements. This works in most cases. But sometimes the user wishes customized staff distances. To increase the staff distance make sure &nted; is in insert mode (see The 3 modes). Choose: Insert spacer Click at the position to place the spacer on. By clicking and dragging the spacer vertically you can adjust the space between the current staff and the adjacent staves: the spacer To hide the spacer choose: View show hidden elements Modifying an deleting spacer works similar to modifying and deleting arbitrary text. Removing systems If there is more than one system a "Delete Systems" button appears: the system delete button To delete the system, press this button. You cannot delete the system on first page if the first pages has only one system. Hide measure numbers &nted; shows measure numbers at system start. You can avoid this by: View show measure numbers The drum system The default drum system If you choose neutral clef 1 or neutral clef 2 from clef dialog: the neutral clefs the pitches are mapped according to the General MIDI system. This conficts with usual drum notation. To avoid this &nted; offers a drum system which orientates towards the convertional drum notation. To activate the drum system choose the 3rd drum clef (The 3 isn't printed). In current version you should use only the following 20 drum elements: the drum system These notes are mapped to MIDI such a way that the appropriate drum element sounds during replay. Furthermore, these notes are exported to LilyPond. Note further: To get the drum sound you have to select a certain channel (often channel 10). See The MIDI Tab! Configuration of the drum system The default drum system comprises the most usual drum elements. Users, who want to use more drum elements can re-configure the drum system: File Drums ... The drum configuration dialog appears: The drum configuration dialog The central table lists all drum elements: the name, the short name (equal to the LilyPond name), the line, the head of the note, and the appropriate MIDI pitch. If you select a drum element, the note head buttons and the little preview window reflect the current state of the drum note. You can change the line by clicking the up/down arrows or by cursor up/down keys on PC keyboard. The note head is changed by clicking the approprioate note head button. If you click on change element, the new note head and the new line is changed permanently. To reload the default values, press the load defaults button. You can save and reload a configuration in a file, by pressing the save to file and load from file button. The play element buttons plays the appropriate drum element (if your MIDI out device is correctly configured). If you place 2 drum elements at the same line with the same note head &nted; uses the first appearence of this configuration. Voices You can place the notes or rests at one of 4 voices. To determine the voice select the voice number on voice selector (). Because multiple voices can be very confusing there is a color button (), which causes the notes and rests to be drawn colored: colored score The colors refer to the colors of the voice selector. The normal case is: Every voice produces the same sound (plays the same instrument) during replay. But you can change this behaviour by attaching different sounds to different voices. Block instructions Overview &nted; offers 4 different block instructions: Block copyBlock delete Empty blockInsert block Select a block To select a block make sure &nted; is in edit mode (see The 3 modes). Draw a diagonal with left mouse button such that the appropriate rectangle encloses all elements you like to work with: selection The selected elements appear in violet color. If there is a selection rectangle you can deselect some staves from selection by right clicking on the staff: deselect from selection This is especially useful if you for example want to copy only the 1st and the 3rd staff of 3 staves: copy selective Block copy To copy a block select some elements as described in Select a block. Choose: Edit Copy or press Ctrl C. The selected items are copied into an internal clipboard. Block paste To paste a block select a note or rest as described in Shifting notes. This selected chord or rest is the upper left corner of a virtual destination rectangle: virtual destination rectangle Choose: Edit Paste or press Ctrl V. The items from internal clipboard are copied to this virtual destination rectangle: paste complete Delete a block To delete a block select some elements as described in Select a block. Choose: Edit Delete Block Or simply press Ctrl + X. The block is deleted. Independent of the concrete selection the delete operation influences all staves. Only whole measures are deleted. block delete removes whole measures Empty a block To empty a block means to convert all notes groups to rests of appropriate length. Select some elements as described in Select a block: selection for empty a block Again, you can deselect some staves by right clicking them: selection for empty a block, staff 2 deselected Choose: Edit Empty Block Or simply press Ctrl + E. The block is emptied: block emptied Insert a block of empty measures To insert a block of empty measures choose an arbitrary note or rest as described in Shifting notes. select before block insertion Choose: Insert Insert block Determine the number of measures you wish to insert on insert dialog. Click OK! block insertion dialog The measures are inserted after the measure with the selected note or rest. block insertion performed Handling beams Grouping &nted; places the beams automatically depending on the note length and the time signature. This works in most cases. But sometimes the user wishes costumized beams. To change the beaming use a special button on toolbar which changes its appearence depending of whether there is a selection rectangle or not (see Select a block). If there is no selection rectangle the button isolates a currently beamed note (). To isolate make sure &nted; is in edit mode (see The 3 modes). Select a beamed note by left clicking it: The situation before isolation Then press the isolate button (): The situation after isolation The note is isolated. To connect some notes with a beam, select them as described in Select a block: The situation before connection The button changes its appearence (). Press the button and &nted; connects the notes by a beam: The situation before connection Note! This function can break beams as well, if the selection rectangle crosses an existing beam: The situation before connection This results in: The situation before connection Instead of pressing the button you can use Ctrl J independent of the button's appearence. Changing the beam parameters To change the stem direction make sure &nted; is in edit mode (see The 3 modes) select the first or the last note with left mouse button and press the change stem dir button (). Instead of pressing the change stem dir button () you can simply press Ctrl F twice. &nted; computes the beam position and slope depending on the position of the beamed notes. This works in most cases. But sometimes the user wishes to change the beam parameters. To change the beam position make sure &nted; is in edit mode (see The 3 modes) and select the first note with left mouse button: beam position 0 The stem has a handle represented by a small blue square. Select this handle with left mouse button and move it up or down. The beam follows this motion: beam position 1 To change the beam's slope select the last note with left mouse button: beam slope 0 The stem has a handle represented by a small blue square. Select this handle with left mouse button and move it up or down. The slope changes according to this motion: beam slope 1 Handling stems To change the stem direction make sure &nted; is in edit mode (see The 3 modes) select the note with left mouse button and press the change stem dir button (). Instead of pressing the change stem dir button () you can simply press Ctrl F. All notes have a default stem length. This is OK in most cases. But sometimes the user wishes to change the stem length. To do this make sure &nted; is in edit mode (see The 3 modes) and select the note with left mouse button: stem length 0 The stem has a handle represented by a small blue square. Select this handle with left mouse button and move it up or down. The stem length changes according to this motion: stem length 1 Horizontal spacement Global Spacement &nted; applies a predefined horizontally spacing. This looks good in most cases. But sometimes the user wishes a different spacement. To change the horizontal spacement globally choose: Edit Change spacement ... The spacement dialog appears: the spacement dialog Change the spacement factor and press OK! &nted; applies the new horizontal spacement: the global spacement Changing the horizontal spacement measurewise &nted; allowes you to change the spacment measurewise. To do this select an arbitrary note of the measure, as described in Shifting notes. Then press an hold the shift key and turn the mouse wheel! The horizontal spaces of the measure change accordingly. Instead of using the mouse wheel you can also use Shift CursorUp and Shift CursorDown. horizontal space per measure System Layout You can group the staves by means of braces and brackets. Furthermore, &nted; allows you to determine whether the measure lines of subsequent staves are connected or not. To do this mark a block of staves as described in chapter Select a block. selected block Choose: Edit System layout ... Select one of the offered menu items: brace - This groups the selected staves by means of a brace. bracket - This groups the selected staves by means of a bracket. connect barlines - This causes the bar lines of the selected staves to be connected. remove group - This removes a staff group created with one of the 3 methods above. staff layout To name a staff group, fill in the group name, or group short name, respectively (see: Change staff properties) of the lowest staff of this group: a group name Tuplets Create tuplets &nted; can deal with tuplets from 2 to 13. To create a tuplet select a note or rest which shall be the first member of the tuplet. Press Ctrl and the tuplet val number. For instance: If you want a quarter note to be the first member of a triplet then select the quarter note: before triplet creation and press Ctrl + 3: after triplet creation (method1) There is a 2nd procedure if you press Ctrl+Alt+<num> instead, the result is: after triplet creation (method2) What's the difference? In first case &nted; regards the selected note as the first triplet member. In 2nd case it assumes the selected quarter has the length of the first 2 triplet members. This is especially useful for swing music where the combination shown above occurs very often. Delete tuplets To delete a tuplet select any tuplet member and choose: Edit Remove tuplet Tuplets from 10 to 13 To create a tuplet with value greater then 9 choose: Insert Insert tuplet ... Set the tuplet value on dialog! To create a tuplet according to 2nd method (see above) select the method 2 check box. Slurs Inserting slurs To insert a slur make sure &nted; is in edit mode (see The 3 modes). Select some notes as described in Select a block: before a slur is created Then Choose: Insert Slur or press Ctrl H. The slur appears: after a slur is created As you can see the slur has 3 handles. By left clicking and dragging these handles you can determine the exact slur shape: a slur is created Modifiying slurs Although the slur handles appear to be free replaceable, they are always assigned to a symbol. The symbol is shown by a thin light blue line: the assignment of the slur handles This has consequences: &nted; tries to keep the position of the slur handle relative to the symbol it is assigned to; &nted; removes the slur if the symbol it is assigned to is removed; To change a slur's shape make sure &nted; is in edit mode (see The 3 modes). Select the start or end of a slur with left mouse button. The 3 handles appear again: the selection of the slur handles Thus, you can change the slur's shape again by dragging the 3 handles. Deleting a slur To delete a slur make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Left click the start or and of a slur. The selected handle appears in red color. Press the backspace key and the slur will be deleted. Repeats and other bar types Simple Repeats To place a repeat open or repeat close make sure &nted; is in edit mode (see The 3 modes). Right click a measure line. The repeat dialog appears: the repeat dialog Choose one of the offered repeat types by clicking the up/down arrow and press Ok button. The appropriate measure changes its type: the repeat open measure Alternatives If you select a closing repeat on repeat dialog the checkbox alternative1 is enabled. If you check it the checkbox alternative2 is enabled: the alternative checkboxes This way you can place the appropriate alternatives: the alternative Both alternatives cover one measure at start. To change the alternative's width select 1. or 2. with left mouse click. The selected number appears red: the selected alternative Change the alternative width by pressing the left/right cursor key: the changed alternative To delete an alternative select the appropriate closing repeat and deselect the appropriate checkbox. End bar The same way you can insert an end bar: double bar and end bar If you choose the end bar or repeat close you can control by hide following whether or not &nted; draws elements following the end bar on the same system: the end bar dialog It is your responsibility to delete following systems or pages! the end bar dialog Double bar The same way you can insert a double bars: double bar Time signature changes Inserting or changing time signature changes To place a time signature change make sure &nted; is in edit mode (see The 3 modes). Right click a measure line. On dialog box select enable timesig the timesig changed dialog On time signature panel choose the new numerator and denominator or one of the symbols or and press Ok: the timesig changed dialog Note! LilyPond has its own rules for choosing symbols or . So, do not expect the same symbols in LilyPond! Removing a time signature change To delete an existing time signature change select the delete timesig checkbox. Clef changes Inserting clef changes To place a clef change make sure &nted; is in insert/delete mode (see The 3 modes). Choose: Insert Clefs The clef change dialog appears: the clef change dialog Choose a clef by clicking the up/down arrow keys! The octave shift entry determins an optional octave shift of the clef. The neutral clef has 3 forms: the neutral clefs The difference is the MIDI mapping. The first form - signed with "1" - maps the note lines to pitches like the treble clef would map. The 2nd form - signed with "2" - maps note lines to pitches like the bass clef would map. The difference is not visible. Note: If you choose neutral clef 1 or neutral clef 2 the notation conflicts with usual drum notation and it is not exported to LilyPond. An alternative is to use the drum system. The adjust notes determins whether or not &nted; shall adjust the appropriate notes such that their pitch is kept. Press the Ok button! Click at the position to place the clef change on! The appropriate clef appears: the clef change Deleting a clef change To delete a clef change make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Click the clef change with left mouse button. The selected clef change appears in red color. Press the backspace key and the clef change will be deleted. Key signature changes Inserting key signature changes To place a key signature change make sure &nted; is in insert/delete mode (see The 3 modes). Choose: Insert Insert keysig ... The key signature dialog appears: key signature dialog Choose the new key signature. The adjust notes determins whether or not &nted; shall adjust the appropriate notes such that their pitch is kept. Press the Ok button! Click at the position to place the key signature change on: the key signature change Deleting a key signature change To delete a key signature change make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Click the key signature change with left mouse button. The selected key signature appears in red color. Press the backspace key and the key signature change will be deleted. Dynamics Insert dynamics To insert a dynamic symbol make sure &nted; is in insert mode (see The 3 modes). Choose: Insert Dynamics ... Choose the dynamic symbol and click at the position to place the dynamic sign on. Change the dynamic's position To move a dynamic symbol make sure &nted; is in edit mode (see The 3 modes). Select the dynamic symbol by left clicking it. The selected symbol appears in red. Hold left mouse button and move the mouse. The dynamic symbol moves accordingly. Although the dynamic symbols appear to be free replaceable, they are always assigned to a symbol. The symbol is shown by a thin light blue line: the assignment of dynamics This has consequences: &nted; tries to keep the position of the dynamic symbol relative to the symbol it is assigned to; &nted; copies the dynamic symbol if the symbol it is assigned to is copied; &nted; removes the dynamic symbol if the symbol it is assigned to is removed; &nted; influences the volume of the staff of the symbol it is assigned to; Determine the MIDI volume of a dynamic symbol Every dynamic symbol has a predefined MIDI volume between 0 and 127. To change the MIDI volume click the dynamic symbol with right mouse button. The volume dialog appears: the volume dialog Select a MIDI volume and press OK! Removing dynamics To remove a dynamic symbol make sure &nted; is in edit mode (see The 3 modes). Select the dynamic symbol by left clicking it. The selected symbol appears in red. Press Backspace key and the dynamic symbol vanishes. Horizontal lines Inserting horizontal lines &nted; allows you to insert some horizontal lines. Among them (de-)crescendo (hairpins), va8, vb8, ma15, and mb15 lines. To insert a line make sure &nted; is in insert mode (see The 3 modes). Choose: Insert Insert lines ... The line dialog appears: the line dialog Select a line by clicking on the appropriate box. The selected line appears red hemmed: the line dialog (selected) Press OK and then left click the position where the line shall appear. A appropriate line is created: a (de-)crescendo is created As you can see the line has 2 handles. By left clicking and dragging these handles you can determine the position and length: a (de-) crescendo is placed If you want a line to span multiple staves first move the end point vertically, even if the handle does not immedietely follow the mouse cursor! create multi stave lines Note! The left handle determins the start position. The right handle only determins the horizontal end point, not the vertical position! Modifiying lines Although the line handles appear to be free replaceable, they are always assigned to a symbol. The symbol is shown by a thin light blue line: the assignment of the crescendo handles This has consequences: &nted; tries to keep the position of the line handle relative to the symbol it is assigned to; &nted; removes the line if the symbol it is assigned to is removed; &nted; influences the MIDI replay of the appropriate staff, if possible; To change a line's length and position make sure &nted; is in edit mode (see The 3 modes). Select the start of a line with left mouse button. The 2 handles appear again: the selection of the crescendo handles Thus, you can change the line's length and position again by dragging the 2 handles. Deleting a line To delete a line make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Left click the start of a line. The selected handle appears in red color. Press the backspace key and the line will be deleted. (de-)crescendo (hairpins) To determine the MIDI behaviour of the (de-)crescendo make sure &nted; is in edit mode (see The 3 modes). Select the start of a (de-)crescendo with right mouse button. The volume dialog appears: the volume dialog Define the MIDI volume difference caused by the (de-) crescendo and press OK! Ottava brackets: va8, bv8, ma15, mb15 These symbols change the octave of the enclosed notes. Tempo markers Inserting tempo markers To insert a tempo marker make sure &nted; is in insert mode (see The 3 modes). Choose: Insert tempo ... The tempo dialog appears: the tempo dialog Select a tempo symbol and a tempo and press "OK"! Then click at the position to place the tempo marker on. Change the tempo markers's position To move a tempo marker make sure &nted; is in edit mode (see The 3 modes). Select the tempo marker by left clicking it. The selected symbol appears in red. Hold left mouse button and move the mouse. The tempo marker moves accordingly. Although the tempo markers appear to be free replaceable, they are always assigned to a symbol. The symbol is shown by a thin light blue line: the assignment of tempo markers This has consequences: &nted; tries to keep the position of the tempo marker relative to the symbol it is assigned to; &nted; copies the tempo marker if the symbol it is assigned to is copied; &nted; removes the tempo marker if the symbol it is assigned to is removed; Changing the tempo values To change the tempo value and/or symbol right click the tempo marker. The tempo dialog appears: the tempo dialog Select a marker symbol and a tempo and press OK! Removing tempo markers To remove a tempo marker make sure &nted; is in edit mode (see The 3 modes). Select the tempo marker by left clicking it. The selected symbol appears in red. Press Backspace key and the tempo marker vanishes. Arbitrary text Inserting arbitrary text Don't use this feature for lyrics, dynamics, accelerando, ritardando, or (de-)crescendo because &nted; has special means for these items, which partly influence the MIDI replay accordingly. (see Lyrics, Dynamics , Accelerato, Ritardando, and (de-)crescendo (hairpins))! To insert arbitrary text make sure &nted; is in insert mode (see The 3 modes). Choose: Insert Text ... The text dialog appears: the text dialog Insert a text in text field. Press the font button beneeth the text field if you whish a different font! The anchor field allows you to determine the anchor point: the text alignment Please prefer fonts like Sans or Serif. Depending on your system configuration other fonts can cause problems (pixelated appearence) on PostScript/PDF output. This often concerns fonts like Helvetica or Times. The text often concerns the tempo (allegro) or the volume (forte). The 2 fields beneeth the font button allow you to influence the MIDI replay. To influence the volume check the enable volume change button and choose a volume. To influence the tempo check the enable tempo change button and choose a tempo. Furthermore, the text can cause an instrument change. To activate this check the enable instrument change button and select the new instrument. If you enable the channel change, then playing the note will cause the staff to change MIDI channel. If all is correct press "OK"! Then click at the position to place the arbitrary text on. For the Segno staff please refer to the Segno section. Special letters &nted; allowes you to place special letters like coda inside the text: D.S. al \O --> The following table gives an overview about the possible signs: \O \S \# \b \n \o \c \r \p \.non breaking space \...dots \--dash Change the position of the text To move an arbitrary text make sure &nted; is in edit mode (see The 3 modes). Select the text by left clicking the text start . The text appears in red. Hold left mouse button and move the mouse. The text moves accordingly. Although the arbitrary text appears to be free replaceable, it is always assigned to a symbol. The symbol is shown by a thin light blue line: the assignment of arbitrary text This has consequences: &nted; tries to keep the position of the arbitrary text relative to the symbol it is assigned to; &nted; copies the text if the symbol it is assigned to is copied; &nted; removes the text if the symbol it is assigned to is removed; Changing the arbitrary text To change the text right click the text. The text dialog appears again. Thus, you can change the text and its properties. Removing arbitrary text To remove text make sure &nted; is in edit mode (see The 3 modes). Select the text by left clicking it. The selected text appears in red. Press Backspace key and the text vanishes. Accelerato, Ritardando Inserting Accelerato/Ritardando To insert an accelerando or ritardando make sure &nted; is in insert mode (see The 3 modes). Choose: Insert accelerando or. Insert ritardando Left click the position where the accelerando or ritardando shall appear: an ritardando is created As you can see the accelerando (ritardando) has 3 handles. By left clicking and dragging these handles you can determine the position and influence range: an ritardando is placed If you want an accelerando or ritardando who's influence range spans multiple staves first move the start or end point vertically, even if the handle does not immedietely follow the mouse cursor! create multi stave ritardando Note! The middle handle determins the position of the marker. The left and right handle only determin the horizontal position of the influence range! The influence range is not visible if the accelerando or ritardando isn't selected. Modifiying accelerando or ritardando Although the accelerando(ritardando) handles appear to be free replaceable, they are always assigned to a symbol. The symbol is shown by a thin light blue line: the assignment of the ritardando handles This has consequences: &nted; tries to keep the position of the accelerando(ritardando) handle relative to the symbol it is assigned to; &nted; removes the accelerando(ritardando) if the symbol it is assigned to is removed; &nted; influences the MIDI replay of the appropriate staff; To change a influence range and position of the accelerando(ritardando) marker make sure &nted; is in edit mode (see The 3 modes). Select the marker with left mouse button. The 3 handles appear again: the selection of the ritardando handles Thus, you can change the influence range and the marker position again by dragging the 3 handles. To determine the MIDI behaviour of the accelerando or ritardando make sure &nted; is in edit mode (see The 3 modes). Select the accelerando or ritardando marker with right mouse button. The tempo dialog appears: the tempo dialog Define the MIDI tempo diffenrence of the accelerando or ritardando and press OK! Deleting an accelerando or ritardando To delete an accelerando or ritardando make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Left click the accelerando or ritardando marker. The selected marker appears in red color. Press the backspace key and the accelerando(ritardando) will be deleted. Chordnames You can attach chord names to notes and rests. To do this make sure &nted; is in insert mode (see The 3 modes). Choose: Insert chordname ... The chord name dialog appears the chord name dialog Insert a root, an up text and a down text. Then choose a size and a position relative to note line and press OK. Then click at the position to place the chordname on: the chord name dialog &nted; allowes you to place special letters like the flat symbol inside the text: A\b --> The following table gives an overview about the possible signs: \O \S \# \b \n \o The chord name dialog remains open till you press Cancel. This way you can place the same chordname at multiple places. If you change the chord on dialog box the next mouse click will insert the new chord. Modifying an deleting chord names works similar to modifying and deleting arbitrary text. Chord names are exported to LilyPond. But LilyPond offers a limited number of modifiers. It is your responsibility to use only LilyPond conform chord names. Guitar chord diagrams and chord annotation &nted; offers chord annotation and guitar chord diagrams chord examples Use this feature only if you really want to show a guitar chord diagram or if LilyPond export is needed. To show a chord name use the Chordnames feature. LilyPond does not allow all chord modificators. The modificator remains empty if &nted; has to export such a chord name. To insert a chord annotation and/or a guitar chord diagram choose: Insert chord ... The chord selection dialog appears the chord dialog Choose a root and a modifyer. If you want to place a guitar chord diagram you should also select your preferred diagram by clicking on it in the right window. The guitar chord diagram is copied into the big left window. By means of the checkbox diagram you can determin whether the chord diagram is created on score. By means of the checkbox text you can determin whether a textual description of the chord is created created on score. This way you can choose between: only the chord diagram only the textual chord description (not recommended, use the Chordnames feature in this case) both, chord diagram and chord description Modifying an deleting chord annotations/chord diagrams works similar to modifying and deleting arbitrary text. Upbeats There are 2 possibilities to determine an upbeat. The first is mainly for newly written scores. Select the note or rest after the requested upbeat: prepare upbeat (give measure) Choose: Edit Upbeat ... give first measure &nted; changes the begin such a way, that the selected chord or rest is the first member of the first full measure: upbeat given (give measure) The 2nd procedure is mainly for scores with beginning rests. Select the note or rest which shall be the first element: prepare upbeat (give start) Choose: Edit Upbeat ... give start &nted; delets all before the selected element. Thus, the selected element becomes the first element. upbeat given (give start) The upbeat rules require to shorten the last measure by the upbeat duration. &nted; doesn't perform this automatically. To shorten the last measure mark all concerned rests in all voices as described in Select a block: mark the rests Choose: Tools hide rests (all v.) The appropriate rests become invisible: mark the rests See also: Hiding rests! Grace notes &nted; offers 3 types of grace notes: The grace notes To insert grace notes choose the appropriate note type on 2nd tooblox panel: The grace on toolbox Select a grace notes type and insert it as described in chapter Inserting/Deleting notes. To remove a grace note select the grace note as described in chapter Shifting notes and rests and press backspace key Lyrics Inserting lyrics You can attach up to 5 lines of lyrics to every note. You can use the same special characters as described in special letters in staff names. There are 2 ways: Direct writing or using the lyrics editor. Direct writing To insert lyrics direct, select a note and choose: Insert lyrics Choose a lyrics line bewteen 1 and 5. &nted; is in lyrics mode. Write a text on keyboard. The text appears below the note. Lyrics To skip to next note either press a - key or press space key. To place a space inside a syllable insert an underscore(_) or a non breaking space symbol(\.). Finish the lyrics mode with ESC. It is strongly recommended to fill the lyrics line from 1 to 5. Modifying lyrics To modify lyrics make sure &nted; is in edit mode (see The 3 modes). Select a note with lyrics and choose: Insert lyrics Choose the lyrics line to be modified. The lyrics cursor appears. You can move the lyrics cursor with left/right cursor key, You can insert a letter by pressing the appropriate key. You can delete a letter by pressing the backspace key. If you delete the last letter the lyrics of this line are removed from current note. Finish the lyrics mode with ESC. Lyrics editor The 2nd possibility is to use the lyrics editor. If there are more than 2 staves select an arbitrary element of the staff the lyrics shall attached to. Choose: Tools Lyrics editor The lyrics editor appears: The lyrics editor Select the verse by selecting a tab! Then insert the lyrics syllable by syllable. Every hyphen and every space is interpreted as separator. To leave on note blank place a single dot('.'). To place a space inside a syllable insert an underscore(_) or a non breaking space symbol(\.). You can save and load the verse by pressing the save to file or load from file, respectively. If all is correct press Apply or OK! Both will update the lyrics, but OK closes the lyrics editor. D.S./Capo al Coda/D.S./Capo al Fine An example of a D.S. al Coda could be as follows: the segno principle To place the Coda and Segno sign make sure &nted; is in insert/delete mode (see The 3 modes). Choose: Insert Insert sign ... The sign dialog appears: The sign dialog Choose the appropriate sign and click at the position to place the sign on! Modifying an deleting signs works similar to modifying and deleting arbitrary text. Then place a text like "D.S. al Coda" or "Repeat from Segno then Coda" als explained in Arbitrary text. To express these texts shall control the replay you have to choose the appropriate properties on text dialog: the segno on text dialog The same way you can create D.S. al Fine, Da Capo al Coda and Da Capo al Fine. See also: Arbitrary text. Breath Signs To place breath sign make sure &nted; is in insert/delete mode (see The 3 modes). Choose: Insert Insert sign ... The sign dialog appears: The sign dialog Choose the appropriate sign and click at the position to place the sign on! Deleting breath signs works similar to modifying and deleting arbitrary text. Transpose &nted; offers the transpose functionallity. If you want only a subset of notes to be transposed, then draw a selection rectangle as described in Select a block. Then choose: Tools Transpose ... The transposition dialog appears: The transposition dialog Choose the number of half-tones. If you drew a selection rectange the use selection box is active. You can determine whether or not to use the selection rectangle. If there is no selection rectangle you can select the staves to be transposed. Press OK and &nted; transposes the appropriate notes. It is your responsibility to change the key signature (see Change staff properties and Inserting key signature changes. Change Accidentals In some seldom cases it is desirable to change sharps against flats, and vice versa: change accidentals &nted; offers this functionallity. If you want only a subset of notes to be affected, then draw a selection rectangle as described in Select a block. Then choose: Tools set all to sharp ... or: Tools set all to flat ... The selection dialog appears: The selection dialog If you drew a selection rectange the use selection box is active. You can determine whether or not to use the selection rectangle. If there is no selection rectangle you can select the staves to be affacted. Press OK and &nted; changes the appropriate notes. Title, composer, and arranger To attach some score information (title, subject, composer, arranger, copyright) select: Edit Score info ... The score information dialog appears: The score information dialog Insert the name of the composer, arranger, the subject and the copyright and press OK. This information is shown at the first page of the score. Pages Page layout To change the page layout choose: File Configure Paper ... Choose A3, A4, A5, B4, Letter, Legal, or 230x293 and the orientation (portrait or landscape). Navigation on pages &nted; presents the score on a seeming endless paper. You can move this paper in page mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Shift key. In page mode if you hold the left mouse button and move the mouse the paper moves accordingly. Furthermore you can jump to a certain page by using the page selector () ot the page up/down keys. Furthermore you can use the mouse wheel to navigate on page. Delete the last page If there is more than one page you can delete the last page. Choose: Edit Remove last page Remove empty pages at end Under some circumstances it can happen that there are some empty pages at score end, i.e. pages which consist of only rest. To delete these pages choose: Edit Remove empty pages Multiple windows and Excerpt Multiple windows &nted; allowes you to open as many windows as you want. This is useful if you want to compare two different scores or if you want to copy parts of one score to another score. To open a new window choose: File New Window a new window appears: A new window With the new window you can do all you could do with the first one. If you want to copy/paste between different windows please make shure both windows are in edit mode (see The 3 modes): copy/paste between 2 windows See also: Block instructions. To delete a window choose: File Close Window Extract a subset of staves &nted; allows you to copy a subset of staves into the 2nd window. To do this choose: File Excerpt ... The staff selection dialog appears: The staff selection dialog Select the subset of ataves, to be copied. To select more than 1 staff press Ctrl during selection. To select a range of staves press and hold Shift. Then select the first and the last staff of the range. Press Ok! The subset of staves is copied into a 2nd window: the excerpt Scaling the whole score &nted; allowes you to continously scale the score. As a result you get different note sizes: scaling the score To scale the score choose: File Change Scale ... The scale dialog appears: the scale dialog Determine the scaling factor and press OK! Documentation To consult the documentation choose Help Documentation ... The documentation is availabe only if the following programs were installed during ./configure step on your system: yelp from GNOME project (package gnome-extra) xmlto Save and restore Save To save your score choose: File Save as... Choose a file name on dialog and press OK! The default suffix is .ntd. To save a file which was already stored before choose: File Save Restore To restore a previous saved score choose: File Open ... Choose a file name on dialog and press OK! New file To start with a totally new (empty) score choose: File New Terminate program To terminate the program choose: File Exit Printing, exports, Karaoke and imports Configuration &nted; assumes that: lpr <file>.ps prints a PostScript file named <file>.ps on your system. If this isn't the case then configure the printing command. Choose: Edit Preferences Configure Print ... On dialog textfield you should see: lpr %s The %s will be replaced by the name of a PostScript file. Change this string according to your needs. For instance: If you want to use the kprinter from KDE then change the string to: kprinter %s and press OK! If all is configured then choose: File Print Export PostScript You can export the score as PostScript. Choose: File Export PS... Select a file name on dialog and press OK. Because most printers are able to print PostScript files you can print this file using your preferred printing command (lpr, kprinter, ...) Export PDF The PDF is available only if your Cairo library supports PDF. You can export the score as PDF. Choose: File Export PDF... Select a file name on dialog and press OK. Because many printers are able to print PDF files you can print this file using your preferred printing command (lpr, kprinter, ...) Export MIDI You can export the score as MIDI data. Choose: File Export MIDI... Select a file name on dialog and press OK. Karaoke If the score contains lyrics &nted; exports them to MIDI. This causes many midi players among them kmid to show a Karaoke-like behaviour: Karaoke with kmid Import MusicXML You can import a MusicXML file. Choose: File Import MusicXML... Select a file name on dialog and press OK. There is a bug in NoteEdit which concerns the export of multivoice staves into MusicXML. As a result NtEd has problems importing such files. To solve the problem NoteEdit must be patched. See http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/noteedit_musml_patch.html for more information. Export PNG and SVG &nted; can export the current page to PNG (Portbale Network Graphics) and SVG (Scaleable Vector Graphics). The current page is the page shown in page counter. Both formats are very useful for WEB publishing or graphic related tasks. Many text processors allow embendding PNG and/or SVG graphics. Especially the SVG format - an XML instance - is very useful because - as the name indicates - it is scaleable without strange effects which are usually visible in scaled pixel graphics. The SVG export is available only if your Cairo library supports SVG. Choose: File Export PNG ... or File Export SVG ... Choose a file name and press OK! The size of the PNG/SVG image depends on the current zoom factor. Export LilyPond LilyPond (http://lilypond.org/) is cetrainly the music typesetter with the best output. This mainly for 2 reasons: The developers made a lot of effort to create special music fonts, which are derived from traditional music printing. They even created their own tools for font format conversion to get the best results. LilyPond uses a multi pass technique which takes as much time as necessary to perform an excellent placement of the musical symbols. Furthermore, LilyPond has a lot of music orthographical knowledge, which prevents notation errors. LilyPond creates a PostScript or PDF output from a file which contains a text transcription of the music. For example, the input: \relative c' { \clef treble \key d \major d4 e fis g a b cis d } causes the following output: &nted; Mainwindow &nted; can create the LilyPond text transcription. Choose: File Export LilyPond... The LilyPond export dialog appears: LilyPond export dialog On checkbox at the head you can determine whether or not &nted; shall place \break statments to achieve the same line breaks as in &nted; score. If you want to export a subset of staves press the select staves button. The staff selection dialog appears: the staff selection dialog Select a subset of staves. To select more than 1 staff press Ctrl during selection. To select a range of staves press and hold Shift. Then select the first and the last staff of the range. LilyPond has its own beaming rules. Therefore, the LilyPond beaming differs from &nted;-beaming. If you want the same beams as in &nted; then select the keep beams button. Select the staves to keep the beams for and press OK. Choose a File name - the suffix should be .ly - and press OK. To produce a PostScript or PDF output from this file install LilyPond and type: lilypond <filename>.ly To preview and/or print the output use your preferred view/print commands (gv, ggv, evince, xpdf, lpr, kprinter, ...). As mentioned above, LilyPond uses its own placement strategie and its own fonts. As a consequence the WYSIWYG principle is broken. The output differs from &nted; score. Import MIDI &nted; can (try to) construct a score from a MIDI file. Note! There are many scores which would generate the same MIDI data. Therefore the MIDI to score transformation is ambiguous. To import a MIDI file choose File Import MIDI ... The MIDI import dialog appears: MIDI import dialog Decide whether &nted; shall try to recognize triplets! The 2 sliders allow you to influence the density of tempo and volume signs. A value of 0 means "no signs". If you choose 100 it can happen that almost every note has a volume or tempo sign. Often, MIDI files have tracks which comprise a very large range of pitches. Placing these notes in one staff leads to bad output: MIDI program changes Therefore, the normal behaviour of &nted; is to split these tracks: MIDI program changes But somtimes this is unwanted. Espacially, if the MIDI file has already well splitted tracks. Use the don't split tracks button in this case. The button force piano forces a score with 2 staves per system. The button sort instruments is useful for MIDI files where all or many instruments are placed in one track. For example, in following MIDI file a piano and a flute appear in the same track: MIDI program changes The red bullets represent a special MIDI operator called MIDI program change which advises the device to change the instrument. Thus, theoretically a MIDI file can place a whole orchestra in one track. Files produced by keyboards are often of this kind. &nted; would actually place all notes in one staff and attach the first given instrument to this staff. If sort instruments is active it sorts the instruments into different staves: sorted MIDI program changes In most cases the default button state gives good results. But if the score looks strange or the replay differs dramatically from MIDI sound then try to play with the buttons to improve the score. Select the MIDI file and press OK! On last dialog you can determine the paper size and orientation. Inserting notes with pitch determined by midi keyboard If a MIDI keyboard is attached to your soundcard you can determine the pitch of the notes by pressing the appropriate key on MIDI keyboard. To do this you should first test the MIDI IN device. To do this switch on MIDI echo (see Prepare replay) and press the MIDI read button ()! Move the mouse pointer over an arbitrary staff! It is important to move the mouse over a staff because this way you determine the instrument which playes the tone! If you now press a key on midikeyboard you should hear the appropriate tone played by the instrument attached to the staff the mouse is placed over (see the MIDI panel). If not then configure the MIDI input device: Edit Preferences Configure MIDI in... A menu appears that shows all midi input ports. Select one and press OK. If the port doesn't work try a different port. If all works then press moreover the insert key () and the keyboard insertion button (). If you now place the mouse at a certain position on a staff the notes you play on midikeyboard are inserted. Note! The keys determine the pitch not the length! The length of the notes are set like described in Inserting/Deleting notes. To terminate this mode switch off the MIDI read button()! Creating score form playing midi keyboard If a MIDI keyboard is attached to your soundcard you can play on it and &nted; can (try to) convert this piece of music into notes. Before you do this you should ensure the replay works. Otherwise you can't hear the metronome. See: Prepare replay, and eventually the TiMidity server and the eventually the appropriate question in FAQ. Furthermore ensure the midi input works and you have selected the correct MIDI input port. See: Inserting notes with pitch determined by midi keyboard. If all works then make sure &nted; is in edit mode (see The 3 modes). Then select a note or rest with left mouse button! The selected chord or rest should appear in red. The new notes will be inserted exactly at this position. Then configure the recording parameters: File Configure Record ... The MIDI record configure dialog appears: The MIDI record config dialog The instrument, time signature and key signature should match the values of the staff with the selected chord or rest. You can change these values but it is not recommended. The button triplet recognition determins whether or not &nted; shall (try to) recognize triplets. The button force piano forces a system with piano layout. Perhaps your piece of music comprises a very large range of pitches. Placing these notes in one staff leads to bad output: MIDI program changes Therefore, the normal behaviour of &nted; is to split the staff MIDI program changes But somtimes this is unwanted. Use the don't split tracks button in this case. The tempo slider determins the recording tempo (i.e. the tempo of the metronome) in quarters per minute. The volume slider determins the volume of the metronome. If all is correct then press Ok! Now press the MIDI record button (). You should hear the metronome ticks. The ticks mean halfs, quarters, eighths, or sixteenths, depending on the denominator of your time signature. The metronome plays 1 deep tick and N-1 high ticks, whereby N is the numerator of your time signature. After N ticks one measure is over and the replay begins. Play as exactly as possible according to the metronome. At the end press the MIDI record button () again. The paper dialog appears. Choose a paper format and press Ok! The imported staff appears in a new &nted; window. Here you can correct some errors or close the window if the recording is too bad. Instead of pressing the record button () you can press the i on PC keyboard. If all is correct then bring the window with the selected chord or rest on top again. Choose: Insert Import recorded The notes in imported staff are copied to the staff with the selected chord or rest. After that it is recommended to close the import window. Now you can continue importing at the same staff by selecting an element behind the end of your piece. Or you can append a new staff and record a new instrument. Replay Prepare replay To hear my examples please use the soundfont mentioned here: http://alsa.opensrc.org/8MBGMSFX.SF2! For more information about how to use the SF2 file read the appropriate question in FAQ or read about the configuration of the TiMidity server. To prepare the replay choose: Edit Preferences Configure MIDI out... A menu appears that shows all midi output ports. Select one and press OK. If the port doesn't work try a different port. If nothing helps then refer to the approriate question in FAQ. The midi echo checkbox determins whether or not there is a midi echo if you insert a note. Start replay To start the replay press the play button (). To stop replay press the play button again. To start the replay at a certain position select a note first. To do this make sure &nted; is in edit mode (see The 3 modes). Then select a note (not a rest!) with left mouse button! Press the play button ()! Muting It is possible to exclude a subset of staves from replay. To do this choose: Tools Muting ... The mute dialog appears: &nted; Mainwindow Select the staves to be muted and press OK. To mute some voices of a certain staff refer to Staves. Shortcuts keyoperation Istart/stop record from MIDI keyboard NToggle insert insert/delete mode PToggle page mode RToggle rest KToggle keyboard insertion DELDelete a note from chord ,Insert tie (method 2) Ctrl AAppend a staff Ctrl BAppend a system Ctrl Jhandle beams (see Handling beams) Ctrl Fflip stem direction Ctrl Rhide rests Ctrl Uunhide rests cursor upmove selected note a line up cursor downmove selected note a line down cursor leftselect note/rest before cursor rightselect note/rest after page upview next page page downview previous page backspacedelete selected note _Toggle tie button .Toggle dot button #Toggle sharp button -Toggle flat button =Toggle natural button 1set current length to full note 2set current length to half note 4set current length to quarter note 5set current length to eighth note 6set current length to sixteenth note 7set current length to 32th note 8set current length to 64th note Ctrl +zoom in Ctrl -zoom out Ctrl Ccopy block Ctrl Vpaste block Ctrl Xdelete block Ctrl Eempty block Ctrl Zundo Ctrl Yredo Ctrl Hinsert slur Ctrl + <num>create tuplet (method 1) Ctrl + ALt + <num>create tuplet (method 2) Shift + CursorUpincrease spacment of measure Shift + CursorDowndecrease spacment of measure Furthermore if the num light on num pad is off: The num pad keys shadow the toolbox keys (see The toolbox). Configuration File &nted; stores the current configuration (MIDI port, last opened files, print command) at $HOME/.nted/ntedrc Attention: Pulseaudio Unfortunately, the next chapter about The TiMidity server won't work if you have a new sound technology called pulseaudio. This concerns Fedora 11 users and Ubuntu 9.10 users and possibly others. If you use the soundfont mentioned at http://alsa.opensrc.org/8MBGMSFX.SF2, you'll experience some awful effects like distortion or no sound, at all. To find out whether you have a pulseaudio or not do: which pulseaudio If you get a path as answer you have pulseaudio. The only workaround is to compile your own TiMidity++. To do this load the newest source from: http://timidity.sourceforge.net/#download" Extract and configure the source: tar -xvjf TiMidity++-x.y.z.tar.bz2 cd TiMidity++-x.y.z ./configure --enable-audio=alsa --enable-server --enable-alsaseq make su (give password if requested) make install exit Now you have possibly 2 timidities: One pulsaudio dependent at /usr/bin/timidity and the newly compiled and pulsaudio independent /usr/local/bin/timidity. Use the pulsaudio independent timidity! A good idea is to prepare a command. You should as root copy the soundfont at a certain position: cd /usr/share mkdir sfbank chmod 0755 sfbank cd sfbank cp /<somewhere>/8mbgmsfx.sf2 . echo 'dir /usr/share/sfbank' >timidity.cfg echo 'soundfont 8mbgmsfx.sf2' >> timidity.cfg chmod 0644 8mbgmsfx.sf2 timidity.cfg cd /usr/bin echo '#!/bin/bash' > alsatimidity.sh echo '' >> alsatimidity.sh echo '/usr/local/bin/timidity -c /usr/share/sfbank/timidity.cfg -iA -B2,8 -Os1l -s 44100' >> alsatimidity.sh chmod 0755 alsatimidity.sh Now the call alsatimidity.sh should start the timidity in server mode. If the sound problems remain remove the pulsaudio package from your system! The TiMidity server All what is stated does not work if you have a technology called pulseaudio. This concerns Fedora 11 users and Ubuntu 9.10 users and possibly others. Please refer to the Pulseaudio chapter to learn more! You can use the MIDI to WAVE converter and player TiMidity++ ( http://timidity.sourceforge.net) in server mode. This approach is interesting for all those who can't bring the MIDI device to work. A presupposition is that TiMidity++ is compiled with (at least) the options: Whether or not your TiMidity++ is compiled with these options can be determined by starting it with Option:          timidity -iA -B2,8 -Os1l -s 44100     If it says: "-A option not compiled in" then compile it "by hand" as stated above. You should also try to change "the orchestra" by installing a different soundfont. To get such a soundfont you should first have a look at the CDROM shipped with your soundcard. Perhaps you find there a file with suffix .sf2. But be careful: Make sure it is a General MIDI file! If not then load the soundfile mentioned at http://alsa.opensrc.org/8MBGMSFX.SF2. Download it and in /usr/share/timidity/timidity.cfg (or /usr/local/share/timidity/timidity.cfg) change:      dir <path_to_the_directory_there_the_8MBGMSFX.SF2_file_is_situated> and:      soundfont 8MBGMSFX.SF2 Comment all other lines! If all is ok, you can start TiMidity++ with:          timidity -iA -B2,8 -Os1l -s 44100     Select the configure dialog: Configure Configure... You should see 4 new MIDI devices: Timidity port 0 128:0 Timidity port 1 128:1 Timidity port 2 128:2 Timidity port 3 128:3 Choose one of them and the replay should work! Tip: If the replay interrupts during page turn over then start TiMidity++ as root. This increases the priority of the TiMidity++ process. Use the following command in this case:      timidity --realtime-priority=100 -iA -B2,8 -Os1l -s 44100 This can lead to operating system problems if your CPU performance is too small! If so, then try to decrease the priority and/or the frequency:      timidity --realtime-priority=60 -iA -B2,8 -Os1l -s 22050 Sometimes it helps to increase the number of buffer fragments:          timidity -iA -B8,8 -Os1l -s 22050     If you want a different sound have a look at the Hammersound install page. Hammersound install page For my examples I recommend the soundfont mentioned at TiMidity server page. But you can test other soundfonts at http://www.hammersound.net/, for example the FluidR3 soundfont. To do this search for FluidR3122501.zip at http://www.hammersound.net and download it. This soundfont is in sfArk compression format. Download the decompressor from http://www.melodymachine.com and unpack:      tar -xvzf sfarkxtc_lx86.tar.gz Then decompress the archive FluidR3122501.zip (Because of the spaces in file name the apostrophs are necessary):      unzip FluidR3122501.zip      ./sfarkxtc "FluidR3 GM.sfArk" It is recommended to rename the resulting fileFluidR3 GM.SF2 because the Linux shell has problems dealing with spaces in file names:      mv "FluidR3 GM.SF2" FluidR3.sf2 Then in /usr/share/timidity/timidity.cfg (or /usr/local/share/timidity/timidity.cfg) change:      dir <path_to_the_directory_there_the_FluidR3.sf2_file_is_situated> and:      soundfont FluidR3.sf2 Start TiMidity as mentioned at TiMidity server page. Credits and License &nted; Copyright 2007 Jörg Anders This documentation is licensed under the terms of the GNU Free Documentation License. This program is licensed under the terms of the GNU General Public License. Frequently Asked Questions (FAQ) I can't hear any sound! I see the running red notes but there is no sound! What's wrong? This has nothing to do with &nted;! It is a problem of your MIDI device! All MIDI based applications (for instance kmid (not kmidi !!!) or pmidi) will fail! First of all: Try to play a MIDI file with kmid (not (!!!) kmidi). As long as kmid does not produce any sound, &nted; (and any other MIDI device based software) will not produce any sound, too! The reason is: Either your soundcard has no hardware MIDI synthesizer or it has a hardware MIDI synthesizer but it is not supported by Linux. Please refer to the ALSA project page to find out whether the midi device on your sound card is supported. Before making a lot of effort to emulate the hardware synthesizer by software you should search for a soundfont file on the CD shipped with your soundcard. A soundfont file has the suffix .sf2 or .SF2. Please make sure it is a General MIDI soundfont! If there is such a soundfont file there is a high probability you simply have to load the soundfont onto your soundcard. To to this you need a program called asfxload. Simply type: asfxload <soundfont>.sf2 But even if you cannot find a soundfont file on soundcard CD, you can try to download a soundfont file. I recommand the soundfont mentioned at http://alsa.opensrc.org/8MBGMSFX.SF2. If asfxload fails your soundcard does not permit loading a soundfont. There is still a last chance that not all needed moduls are loaded. So as a last attempt type as root: modprobe snd_seq_midi and repeat the asfxload command. If asfxload fails again you have to emulate the hardware MIDI synthesizer by software. This works if your computer has enough performance. Windows for instances starts a soft synthesizer automatically if the hardware synthesis does not work. So, be not confused if you can play MIDI files on Windows! Such emulation software exists for Linux, too. But it is more complicated because: You have to start this software "by hand". These software MIDI synthesizers need a so-called soundfont, a collection of sample tones of every instrument of a virtual orchestra. These soundfonts are copyrighted, i.e. actually nothing for a free system like Linux. But there is a (relatively bulky) way! See The TiMidity server detailed instructions! Note! There are more software synthesizers on Linux, which can be tested. Among them the FluidSynth. See http://www.linux-sound.org for a list. You should avoid soft synthesis if the performance of your computer is too small! The antialiasing procedure (smoothing the symbols) of &nted; consumes a lot of performance, and soft synthesis, too! As a result the replay can be uneven especially during page turn over! I use TiMidity but the sound is distorted and somtimes I have no sound, at all. What's wrong? Check whether you have a command pulseaudio: which pulseaudio If you get the path of pulseaudio then follow the instructions in chapter pulseaudio At program start it says: "Error in FT_Open_Face"! What's wrong! You have not installed the program! Please type (as root): make install Refer also to INSTALL file shipped with the nted-x.y.z.tgz archive. I use asfxload but I get an error "sfxload: no memory left" and some instruments are missing during replay. What's wrong? Don't believe the many rumours on different mailing lists! I have bad news for you: You have to build a new kernel. Terrible, I know! If you feel unable to do this then try to use the TiMidity server. Otherwise download the kernel and change in arch/x86/include/asm/dma.h: #define MAX_DMA32_PFN ((4UL * 1024 * 1024 * 1024) >> PAGE_SHIFT) against: #define MAX_DMA32_PFN ((2UL * 1024 * 1024 * 1024) >> PAGE_SHIFT) Then build the kernel! Refer to https://lists.ubuntu.com/archives/universe-bugs/2009-March/068812.html for more details! I cannot install &nted; because I have no root rights. What shall I do? You can use the option to install the &nted; in an arbitrary directory below your $HOME directory. Please refer also to INSTALL file shipped with the nted-x.y.z.tgz archive. Furthermore, if you want to avoid the make install command then set an environment variable NTED_FONT_DIR to the directory where the nted/ntedfont.pfa is situated. For instance, assume the ntedfont.pfa is at /home/smith/datafiles/nted/ntedfont.pfa type at command prompt: export NTED_FONT_DIR=/home/smith/datafiles if you have a bash or sh shell. If you're using a csh or tcsh type: setenv NTED_FONT_DIR /home/smith/datafiles To find out your shell type: echo $SHELL at command promt. May I set lyrics as text blocks below the sheet music? How can I use the score in common texts? This would require to write a musical score editor and a text editor! This is too complex! But have a look at: http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/use_nted_in_text.xhtml There you can find some proposals about that topic. During program startup I get an error: "Cannot open ALSA MIDI sequencer --> replay won't work ..."! What's wrong ? That means you either have no ALSA sound system. Or you have an ALSA sound system but for complicated reasons your ALSA midi sequencer is not initialized. In many cases this is due to a missing module. Therefore try (as root): modprobe snd-seq-midi and restart &nted;. During make step an error occurs: /bin/sh: gdk-pixbuf-csource: command not found. What's wrong ? This has to do with your PATH environment variable. Many Linuxes place the program gdk-pixbuf-csource at /opt/gnome/bin. Actually this should be in your PATH. But under certain circumstances this is not the case. If so then make sure /opt/gnome/bin is in your PATH. If you have a (t)csh shell type: setenv PATH "$PATH:/opt/gnome/bin" If you have another shell type: export PATH=$PATH:/opt/gnome/bin To determine your shell type: echo $SHELL During configure step I get an error: "configure: error: C++ compiler cannot create executables, See `config.log' for more details.". What's wrong? Ok, you can inspect the config.log. But this is presumably superfluous, because in most cases that means: You have no C++ compiler installed.
nted-1.10.18/doc/de/0000775001041000007640000000000011520270236010747 500000000000000nted-1.10.18/doc/de/Makefile.am0000775001041000007640000000007011520267212012723 00000000000000LANGUAGE = de include $(srcdir)/../translated-manual.mk nted-1.10.18/doc/de/de.po0000664001041000007640000111347411520270100011620 00000000000000# translation of de.po to deutsch # # NtEd , 2007, 2008. # Joerg Anders , 2008. # Jörg Anders , 2008, 2009. # Jörg Anders , 2008, 200, 2010. msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2011-01-27 13:16+0000\n" "PO-Revision-Date: 2010-09-28 11:47+0200\n" "Last-Translator: Jörg Anders \n" "Language-Team: deutsch \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Tag: title #: index.docbook:11 #, no-c-format msgid "The &nted; Handbook" msgstr "Das &nted; Handbuch" #. Tag: author #: index.docbook:14 #, no-c-format msgid "JörgAnders" msgstr "" #. Tag: affiliation #: index.docbook:16 #, no-c-format msgid "" " TU-Chemnitz
j." "anders@informatik.tu-chemnitz.de
" msgstr "" #. Tag: othercredit #: index.docbook:28 #, no-c-format msgid "Maximiliano" msgstr "" #. Tag: contrib #: index.docbook:30 #, no-c-format msgid "Spanish translation" msgstr "Spanische Übersetzung" #. Tag: email #: index.docbook:32 #, no-c-format msgid "mxgdvg@yahoo.it" msgstr "" #. Tag: othercredit #: index.docbook:35 #, no-c-format msgid "MarianoMarini" msgstr "" #. Tag: contrib #: index.docbook:37 #, no-c-format msgid "Italien translation" msgstr "Italienische Übersetzung" #. Tag: email #: index.docbook:39 #, no-c-format msgid "mariano.marini@alice.itk" msgstr "" #. Tag: othercredit #: index.docbook:43 #, no-c-format msgid "" "JörgAnders" msgstr "" #. Tag: contrib #: index.docbook:45 #, no-c-format msgid "German translation" msgstr "Deutsche Übersetzung" #. Tag: email #: index.docbook:47 #, no-c-format msgid "ja@informatik.tu-chemnitz.de" msgstr "" #. Tag: holder #: index.docbook:55 #, no-c-format msgid "Jörg Anders" msgstr "" #. Tag: para #: index.docbook:60 #, no-c-format msgid "" "Permission is granted to copy, distribute and/or modify this document under " "the terms of the GNU Free Documentation License, Version 1.2 or any later " "version published by the Free Software Foundation; with no Invariant " "Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the " "license is included in the section entitled \"GNU " "Free Documentation License\"." msgstr "" #. Tag: date #: index.docbook:67 #, no-c-format msgid "2010-09-28" msgstr "" #. Tag: releaseinfo #: index.docbook:68 #, no-c-format msgid "1.10.16" msgstr "" #. Tag: para #: index.docbook:71 #, no-c-format msgid "&nted; is a score editor for Linux" msgstr "&nted; ist ein Partitureditor für Linux" #. Tag: keyword #: index.docbook:76 #, no-c-format msgid "Gtk" msgstr "" #. Tag: keyword #: index.docbook:77 #, no-c-format msgid "&nted;" msgstr "" #. Tag: keyword #: index.docbook:78 #, no-c-format msgid "music" msgstr "Musik" #. Tag: keyword #: index.docbook:79 #, no-c-format msgid "editor" msgstr "Editor" #. Tag: keyword #: index.docbook:80 #, no-c-format msgid "notes" msgstr "Noten" #. Tag: keyword #: index.docbook:81 #, no-c-format msgid "score" msgstr "Partitur" #. Tag: keyword #: index.docbook:82 #, no-c-format msgid "MIDI" msgstr "" #. Tag: title #: index.docbook:87 #, no-c-format msgid "Using &nted;" msgstr "Die Benutzung von &nted;" #. Tag: title #: index.docbook:89 #, no-c-format msgid "Starting &nted;" msgstr "&nted; starten" #. Tag: para #: index.docbook:91 #, no-c-format msgid "This chapter describes the use of &nted; for editing notes." msgstr "" "Dieses Kapitel beschreibt die Benutzung von &nted; zum Setzen von Noten." #. Tag: para #: index.docbook:93 #, no-c-format msgid "You may start &nted; by entering the following at the command prompt:" msgstr "&nted; wird durch die Eingabe folgenden Kommandos gestartet:" #. Tag: para #: index.docbook:96 #, no-c-format msgid "% nted &" msgstr "" #. Tag: para #: index.docbook:100 #, no-c-format msgid "Once &nted; starts, you will see a window like the following:" msgstr "Wenn &nted; gestartet ist, erscheint folgendes Fenster:" #. Tag: phrase #: index.docbook:105 index.docbook:3247 index.docbook:3593 #, no-c-format msgid "&nted; Mainwindow" msgstr "" #. Tag: title #: index.docbook:112 #, no-c-format msgid "The first sound" msgstr "Erste Musik" #. Tag: para #: index.docbook:113 index.docbook:3544 #, no-c-format msgid "" "To hear my examples please use the soundfont mentioned here: http://alsa.opensrc.org/8MBGMSFX." "SF2!" msgstr "" "Um meine Beispiele anzuhören, nutzen Sie bitte den Soundfont, welcher hier " "erwähnt wird: http://" "alsa.opensrc.org/8MBGMSFX.SF2!" #. Tag: para #: index.docbook:115 index.docbook:3546 #, no-c-format msgid "" "For more information about how to use the SF2 file read the appropriate " "question in FAQ or read about the " "configuration of the TiMidity server." msgstr "" "Um mehr Informationen darüber zu erhalten, wie mit SF2-Datein gearbeitet " "wird, lesen Sie bitte die entprechende Frage im FAQ oder lesen Sie im Abschnitt Der TiMidity-Server nach!." #. Tag: para #: index.docbook:119 #, no-c-format msgid "To hear a short example choose:" msgstr "Um ein Musikbeispiel zu hören, wählen Sie:" #. Tag: menuchoice #: index.docbook:121 index.docbook:3050 #, no-c-format msgid "" "File Open ..." msgstr "" "Datei Öffnen ..." #. Tag: para #: index.docbook:126 #, no-c-format msgid "" "Choose datafiles/nted/examples/example1.ntd on dialog " "and press OK!" msgstr "" "Wählen Sie: datafiles/nted/examples/example1.ntd im " "Dialog und dann OK!" #. Tag: para #: index.docbook:127 #, no-c-format msgid "" "The examples are installed during installation step. So, if you can't find " "the examples especially if you installed from a package then search at" msgstr "" "Die Beispiele werden während des Installationsschrittes installiert. Wenn " "Sie sie nicht finden können, besonders dann wenn das Programm aus einem " "Paket installiert wurde, so suchen Sie unter:" #. Tag: filename #: index.docbook:129 #, no-c-format msgid "/usr/share/nted/examples" msgstr "" #. Tag: para #: index.docbook:130 index.docbook:487 index.docbook:2792 #, no-c-format msgid "or:" msgstr "oder:" #. Tag: filename #: index.docbook:131 #, no-c-format msgid "/usr/local/share/nted/examples" msgstr "" #. Tag: para #: index.docbook:132 #, no-c-format msgid "You should see a score. Choose a MIDI port:" msgstr "Sie sollten eine Partitur sehen. Wählen Sie einen MIDI-Port:" #. Tag: menuchoice #: index.docbook:134 #, no-c-format msgid "" "Edit Preferences Configure MIDI ..." msgstr "" "Bearbeiten Einstellungen ...MIDI konfigurieren ..." #. Tag: para #: index.docbook:140 #, no-c-format msgid "" "and press the play button (). You should see running red notes and hear the sound. If " "you don't hear the sound then choose a different MIDI port. If nothing helps " "then refer to the approriate question in FAQ." msgstr "" "Und drücken Sie den Play-Knopf (). Sie sollten laufende rote Noten sehen und Musik hören. " "Wenn Sie keine Musik hören, so wählen Sie einen anderen MIDI-Port. Wenn " "nichts hilft, so schlagen Sie im FAQ nach." #. Tag: title #: index.docbook:147 #, no-c-format msgid "The toolbox" msgstr "Die Werkzeugkiste" #. Tag: para #: index.docbook:149 #, no-c-format msgid "" "The toolbox is a little window which appears always on top of all other " "&nted; windows:" msgstr "" "Die Werkzeugkiste ist ein kleines Fenster, welches stets vor allen anderen " "&nted;-Fenstern erscheint:" #. Tag: phrase #: index.docbook:154 #, no-c-format msgid "The toolbox" msgstr "" #. Tag: para #: index.docbook:158 #, no-c-format msgid "" "If the toolbox vanishes you can make it visible again by pressing the " "toolbox button ( )." msgstr "" "Falls die Werkzeugkiste verschwinden sollte, so können Sie sie stets durch " "drücken das Werkzeugknopfes ( ) wieder sichtbar machen." #. Tag: para #: index.docbook:161 #, no-c-format msgid "The toolbox has multiple panels:" msgstr "Die Werkzeugkiste hat mehrere Einschübe:" #. Tag: phrase #: index.docbook:167 #, no-c-format msgid "The toolbox panels" msgstr "" #. Tag: para #: index.docbook:171 #, no-c-format msgid "" "To change the panel either user the next panel button " "() or the previous " "panel button ()." msgstr "" "Um den Einschub zu wechseln, nutzen Sie entweder die \"nächster Einschub" "\"() \"vorheriger " "Einschub\" () " "Knöpfe." #. Tag: para #: index.docbook:175 #, no-c-format msgid "" "Alternatively, you can use the direct panel buttons on top of the toolbox:" msgstr "" "Alternativ können Sie den Einschub mit Hilfe der Einschubknöpfe am oberen " "Rand direkt wählen:" #. Tag: phrase #: index.docbook:181 #, no-c-format msgid "The direct panel buttons" msgstr "" #. Tag: para #: index.docbook:185 #, no-c-format msgid "" "The different panels offer buttons concerning different fields of score " "notation." msgstr "" "Die verschiedenen Einschübe betreffen verschiedene Felder des Notensatzes." #. Tag: para #: index.docbook:186 #, no-c-format msgid "Furthermore, each panel is structured like your keyboard's num pad:" msgstr "" "Außderdem ist jeder Einschub wie der Nummernteil Ihrer Tastatur strukturiert;" #. Tag: phrase #: index.docbook:193 #, no-c-format msgid "the toolbox and the numpad" msgstr "" #. Tag: para #: index.docbook:197 #, no-c-format msgid "" "Instead of pressing a button at the toolbox, you can press the appropriate " "button on numpad. For instance: If you want half notes, make sure the " "num light is off and choose the first " "toolbox panel. Then press 4 on num pad. The " "half note button is selected." msgstr "" "Statt einen Knopf der Werkzeugkiste zu drücken, können Sie auch den " "entsprechenden Knopf der Nummerntastatur drücken. Wenn Sie zum Beispiel " "halbe Noten wünschen, dann stellen Sie sicher, dass das num-Licht aus ist und wählen Sie den ersten Einschub. Drücken " "Sie eine 5 auf der Nummerntastatur. Der " "Halbe-Noten-Knopf wird ausgewählt." #. Tag: para #: index.docbook:202 #, no-c-format msgid "" "Furthermore: Some keys (rest, tie, sharp, flat, natural, dot) can be toogled " "by keyboard keys independent on the actual panel, see shortcuts." msgstr "" "Außerdem: Einige Knöpfe (Pause, Haltebogen, Kreuz, B, Auflösung, Punkt) " "können mit Hilfe der PC-Tastatur unabhängig von gerade gewählten Einschub " "umgeschaltet werden, siehe Tastenbelegung." #. Tag: title #: index.docbook:207 #, no-c-format msgid "Inserting notes and rests" msgstr "Noten und Pausen einfügen." #. Tag: title #: index.docbook:210 #, no-c-format msgid "The 3 modes" msgstr "Die 3 Modi" #. Tag: para #: index.docbook:211 #, no-c-format msgid "" "&nted; is always in one of 3 modes. The mode is determined by the insert and " "page button pair. At start the insert button is on and the page button is " "off (). &nted; " "is in insert/delete mode. If you toggle off the insert/delete button by " "clicking it or pressing the 'n' key you are in edit mode " "(). If you " "toggle on the page button by clicking it or pressing the 'p' key you are in " "page mode ()." msgstr "" "&nted; ist immer in einem von 3 Modi. Der Mode wird durch das Einfüge-/" "Seiten-Knopf-Paar bestimmt. Am Anfang ist der Einfügeknopf gedrückt und der " "Seitenknopf nicht gedrückt. (). &nted; ist im Einfüge- Mode. Wenn Sie den Einfüge Knopf " "herausdrücken, indem Sie ihn anklicken oder die Taste 'n' betätigen, " "gelangen Sie in den Editier-Mode. " "(). Wenn Sie " "den Seitenknopf hineindrücken, indem Sie ihn anklicken oder die Taste 'p' " "betätigen, sind Sie im Seiten-Mode " "()." #. Tag: para #: index.docbook:220 #, no-c-format msgid "" "Furthermore you can temporarily achieve the edit mode by pressing the Ctrl " "key during mouse action. You can also temporarily achieve the page mode by " "pressing the Shift key during mouse action." msgstr "" "Außerdem kann man den Edit-Mode temporär erreichen, indem man bei der Arbeit " "mit der Maus kurzzeitig die Taste Strg drückt. Und man kann den Seiten-Mode " "temporär erreichen, indem man bei der Arbeit mit der Maus kurzzeitig die " "Taste Shift (Hochstelltaste) drückt:" #. Tag: para #: index.docbook:228 #, no-c-format msgid "In insert/delete mode you can insert and delete notes and rests." msgstr "Im Einfüge-Mode können Sie Noten und Pausen eingeben." #. Tag: para #: index.docbook:231 #, no-c-format msgid "In edit mode you can modify the score." msgstr "Im Editier-Mode können Sie die Partitur verändern." #. Tag: para #: index.docbook:234 #, no-c-format msgid "In page mode you can shift the paper by moving the mouse." msgstr "" "Im Seiten-Mode können Sie die Seite durch Bewegen der Maus verschieben." #. Tag: title #: index.docbook:241 #, no-c-format msgid "Inserting/Deleting notes" msgstr "Noten eingeben und löschen" #. Tag: para #: index.docbook:242 #, no-c-format msgid "" "Be sure &nted; is in insert/delete mode (see The " "3 modes). To insert notes choose a note length on first toolbox panel:" msgstr "" "Stellen Sie sicher, dass &nted; im Einfüge-Mode ist (siehe Die 3 Modi). Um eine Note einzufügen, wählen Sie eine " "Notenlänge auf dem ersten Einschub der Werkzeugkiste aus:" #. Tag: phrase #: index.docbook:248 index.docbook:262 #, fuzzy, no-c-format msgid "The note length" msgstr "Längenänderungen" #. Tag: para #: index.docbook:251 #, no-c-format msgid "" "and click on a note line. If you click near an existing note a chord is " "created. If you click on an existing note the note is removed. To delete a " "note you can also use the backspace key. To delete a single note from chord " "use the DEL key." msgstr "" "und klicken Sie eine Notenlinie an. Wenn Sie in die Nähe einer existierenden " "Note klicken, so wird ein Akkord erzeugt. Wenn Sie eine existierende Note " "anklicken, so wird diese gelöscht. Um eine Note zu löschen, können Sie auch " "die Rück-Taste verwenden. Um eine einzelne Note aus einem Akkord zu löschen, " "können Sie die Entfernen-Taste benutzen." #. Tag: para #: index.docbook:256 #, no-c-format msgid "" "If you want to insert a note with an accidental choose an accidental on 2nd " "and/or 3rd toolbox panel:" msgstr "" "Um eine Note mit einem Akzent oder Vorzeichen einzufügen, wählen Sie dieses " "auf dem 2. und/oder 3. Einschub der Werkzeugkiste aus:" #. Tag: para #: index.docbook:265 #, no-c-format msgid "" "(see also Handling beams, Handling stems)." msgstr "" "(siehe auch Balkenbehandlung, Notenhalsbehandlung)." #. Tag: title #: index.docbook:270 #, no-c-format msgid "Inserting drum notes" msgstr "Schlagzeugnoten einfügen" #. Tag: para #: index.docbook:271 #, no-c-format msgid "" "&nted; offers different note head types. Choose one at 5th toolbox panel:" msgstr "" "&nted; bietet verschiedene Notenkopftypen an. Wählen Sie einen auf dem 5. " "Einschub der Werkzeugkiste aus:" #. Tag: phrase #: index.docbook:276 #, no-c-format msgid "The note head types" msgstr "" #. Tag: para #: index.docbook:280 #, no-c-format msgid "" "Select a note head type and insert the drum note as described in chapter " "Inserting/Deleting notes." msgstr "" "Wählen Sie einen Notenkopftyp aus und fügen Sie die Schlagzeugnote wie im " "Kapitel Noten und Pausen einfügen " "beschrieben ein." #. Tag: para #: index.docbook:282 #, no-c-format msgid "" "Note: The meaning of the drum notes depends on the choosen clef. Refer to clefs read about the the drum " "system." msgstr "" "Beachten Sie: Die Bedeutung der Schlagzeugnoten hängt vom gewählten Notenschlüssel ab. Schlagen Sie unter Schlüsseln nach und lesen Sie etwas über das " "Schlagzeugsystemsystem nach." #. Tag: para #: index.docbook:285 index.docbook:892 #, no-c-format msgid "" "Note further: To get the drum sound you have to select a certain channel " "(often channel 10). See The MIDI Tab!" msgstr "" "Beachten Sie ferner: Um die Schlagzeug-Klangfarben zu hören, müssen Sie " "einen bestimmten Kanal (häufig Kanal 10) auswählen. Siehe Der MIDI-Reiter!" #. Tag: title #: index.docbook:290 #, no-c-format msgid "Inserting tremolo notes" msgstr "Tremolonoten einfügen" #. Tag: para #: index.docbook:291 #, no-c-format msgid "" "To insert tremolo notes select the tremolo sign at 5th panel of the toolbox:" msgstr "" "Um eine Tremolonoten einzufügen, wählen Sie das Tremolozeichen auf dem 5. " "Einschub der Werkzeugkiste aus:" #. Tag: phrase #: index.docbook:296 #, fuzzy, no-c-format msgid "the tremolo types" msgstr "Der Tempodialog erscheint:" #. Tag: para #: index.docbook:300 #, no-c-format msgid "" "Select a tremolo type and insert the note as described in chapter Inserting/Deleting notes." msgstr "" "Wählen Sie einen Tremolotyp aus und fügen Sie die Note wie im Kapitel Noten und Pausen einfügen beschrieben ein." #. Tag: para #: index.docbook:302 #, no-c-format msgid "Note: The tremolo does not influence the replay." msgstr "Achtung: Die Tremolo-Noten haben keinen Einfluss bei der Wiedergabe." #. Tag: title #: index.docbook:306 #, no-c-format msgid "Inserting/Deleting rests" msgstr "Einfügen/Löschen von Pausen" #. Tag: para #: index.docbook:307 #, no-c-format msgid "" "Be sure &nted; is in insert/delete mode (see The " "3 modes). To insert rests choose a note length on 1st toolbox panel " "and press the rest button:" msgstr "" "Stellen Sie sicher, dass &nted; im Einfügemodus ist (siehe Die 3 Modi). Um eine Pause einzufügen, wählen Sie eine " "Notenlänge auf dem ersten Einschub der Werkzeugkiste und drücken Sie den " "Pausenknopf:" #. Tag: phrase #: index.docbook:313 #, no-c-format msgid "Toolbox rest selected" msgstr "" #. Tag: para #: index.docbook:317 #, no-c-format msgid "" "You cannot really \"delete\" a rest because you cannot destroy time. But in " "many cases the situation is as follows: " " shift example 1 This can especially happen after deleting a series of notes " "because every deleted note leaves behind an appropriate rest. If you now " "insert a half rest at position of the first eighth rest " "the situation changes:" msgstr "" "Sie können Pausen nicht wirklich \"löschen\", denn Sie können keine Zeit " "vernichten. Aber in vielen Fällen ergibt sich folgende Situation: " " shift example 1 Das kann insbesondere dann passieren, " "wenn Sie eine Folge von Noten gelöscht haben, denn jede Note hinterlässt " "eine entsprechende Pause. Wenn Sie nun eine halbe Pause an der Position der " "ersten Achtelpause einfügen,so ändert sich die " "Situation wie folgt:" #. Tag: phrase #: index.docbook:333 #, no-c-format msgid "shift example 1" msgstr "" #. Tag: title #: index.docbook:340 #, no-c-format msgid "Generalization" msgstr "Verallgemeinerung" #. Tag: para #: index.docbook:341 #, no-c-format msgid "" "We can generalize the last example. The truth is: Independent of whether you " "insert a note or a rest, &nted; consumes as much time as necessary to insert " "the note or rest. Assume again this situation: " " shift example 1 If you insert a half note at postition of the 2nd eighth rest " "the result is: " "shift example 1 " "&nted; \"eats\" 3 eighth rests and shortens the quarter by one eighth." msgstr "" "Wir können das letzte Beispiel verallgemeinern: Die Wahrheit ist: Unabhängig " "davon, ob Sie eine Note oder Pause einfügen, verbraucht &nted; soviel Zeit " "wie nötig ist, um die Note oder Pause einzufügen. Noch einmal folgende " "Situation angenommen: " "shift example 1 " "Wenn Sie eine halbe Note an die Position der 2. Achtelpause einfügen, so ist " "das Ergebnis: " "shift example 1 " "&nted; \"isst\" 3 Achtelpausen und verkürzt die Viertelnote um ein Achtel." #. Tag: title #: index.docbook:364 #, no-c-format msgid "Inserting notes and rests using the PC keyboard" msgstr "Noten und Pausen über die PC-Tastatur einfügen" #. Tag: para #: index.docbook:365 #, no-c-format msgid "You can toggle the note length by pressing some number keys:" msgstr "" "Sie können die Notenlängen durch Drücken ausgewählter Zifferntasten ändern:" #. Tag: entry #: index.docbook:371 index.docbook:3635 #, no-c-format msgid "1" msgstr "1" #. Tag: entry #: index.docbook:371 index.docbook:3635 #, no-c-format msgid "set current length to full note" msgstr "aktuelle Notenlänge auf ganze Note setzen" #. Tag: entry #: index.docbook:372 index.docbook:3636 #, no-c-format msgid "2" msgstr "2" #. Tag: entry #: index.docbook:372 index.docbook:3636 #, no-c-format msgid "set current length to half note" msgstr "aktuelle Notenlänge auf halbe Note setzen" #. Tag: entry #: index.docbook:373 index.docbook:3637 #, no-c-format msgid "4" msgstr "4" #. Tag: entry #: index.docbook:373 index.docbook:3637 #, no-c-format msgid "set current length to quarter note" msgstr "aktuelle Notenlänge auf Viertelnote setzen" #. Tag: entry #: index.docbook:374 index.docbook:3638 #, no-c-format msgid "5" msgstr "5" #. Tag: entry #: index.docbook:374 index.docbook:3638 #, no-c-format msgid "set current length to eighth note" msgstr "aktuelle Notenlänge auf Achtelnote setzen" #. Tag: entry #: index.docbook:375 index.docbook:3639 #, no-c-format msgid "6" msgstr "6" #. Tag: entry #: index.docbook:375 index.docbook:3639 #, no-c-format msgid "set current length to sixteenth note" msgstr "aktuelle Notenlänge auf 16tel Note setzen" #. Tag: entry #: index.docbook:376 index.docbook:3640 #, no-c-format msgid "7" msgstr "7" #. Tag: entry #: index.docbook:376 index.docbook:3640 #, no-c-format msgid "set current length to 32th note" msgstr "aktuelle Notenlänge auf 32stel Note setzen" #. Tag: entry #: index.docbook:377 index.docbook:3641 #, no-c-format msgid "8" msgstr "8" #. Tag: entry #: index.docbook:377 index.docbook:3641 #, no-c-format msgid "set current length to 64th note" msgstr "aktuelle Notenlänge auf 64stel Note setzen" #. Tag: para #: index.docbook:383 #, no-c-format msgid "" "To insert notes along with pressing these keys activate the keyboard " "insertion button () or press 'k'. This puts &nted; into the keyboard " "insertion mode. If you now press a key from the table above a note of " "appropriate length is inserted at cursor position. To insert a rest press " "Alt key simultaneously. Use the CursorUp/Down keys to determine the pitch. " "Use the CursorLeft/Right keys to switch to previous/next measure." msgstr "" "Um mit dem Drücken dieser Tasten gleichzeitig Noten einzufügen, aktivieren " "Sie den Tatsatur-Einfüge-Knopf () oder drücken Sie auf die Taste 'k'. Das versetzt &nted; " "in den Tastatur-Einfüge-Modus. Wenn Sie nun eine der oben aufgeführten " "Tasten drücken, so wird eine Note entsprechender Länge an der Cursorposition " "eingefügt. Um eine Pause einzufügen, drücken Sie gleichzeitig die Alt-Taste. " "Nutzen Sie die Cursor-Auf-/Ab-Tasten, um die Tonhöhe zu bestimmen.Nutzen Sie " "die Cursor-Links-/Rechts-Tasten, um zum vorherigen/nächsten Takt zu wechseln." #. Tag: para #: index.docbook:389 #, no-c-format msgid "The backspace key removes the last inserted note" msgstr "Die Rück-Taste löscht die zuletzt eingefügte Note." #. Tag: para #: index.docbook:391 #, no-c-format msgid "" "See also Inserting notes with pitch " "determined by midi keyboard." msgstr "" "Siehe auch Noten mit Tonhöhenbestimmung " "per MIDI-keyboad einfügen." #. Tag: title #: index.docbook:396 #, no-c-format msgid "Append a system" msgstr "Ein System hinzufügen" #. Tag: para #: index.docbook:398 #, no-c-format msgid "" "At the beginning &nted; shows only one system with only a few measures. To " "append more systems press Ctrl B. This will append one system at end of score." msgstr "" "Am Anfang zeigt &nted; ein System mit nur wenigen Takten. Um mehr Systeme " "anzufügen, drücken Sie Strg B.Dadurch wird ein System am Ende der Partitur angefügt." #. Tag: para #: index.docbook:402 #, no-c-format msgid "See also: removing systems" msgstr "Siehe auch: Ein System löschen" #. Tag: title #: index.docbook:407 #, no-c-format msgid "Modifications" msgstr "Modifikationen" #. Tag: title #: index.docbook:410 #, no-c-format msgid "Shifting notes and rests" msgstr "Bewegen von Noten und Pausen" #. Tag: para #: index.docbook:411 #, no-c-format msgid "" "You can shift notes and rests vertically and horizontally. Be sure &nted; is " "in edit mode (see The 3 modes). Again: " "You can achieve this mode temporarily by pressing the Ctrl key. Click a note " "or rest with left button. The note or rest is selected. A selected chord or " "rest appeares in red color. Shift and hold the left button. The selected " "note or rest moves accordingly. If you shift a note vertically the note " "changes the line. If you shift the note or rest horizontally before or after " "another note or rest the note or rest changes its position." msgstr "" "Sie können Noten und Pausen waagerecht und senkrecht verschieben. Stellen " "Sie sicher, dass &nted; im Editier-Mode ist (siehe: Die 3 Modi). Noch 'mal: Sie können das temporär durch Drücken der " "Strg-Taste erreichen. Klicken Sie eine Note oder Pause mit der linken " "Maustaste an. Die Note oder Pause wird ausgewählt. Eine ausgewählte Note " "oder Pause erscheint in rot. Bewegen Sie die Maus und halten Sie die linke " "Maustaste gedrückt. Die ausgewählte Note oder Pause bewegt sich " "entsprechend. Wenn Sie eine Note senkrecht bewegen, so ändert sich ihre " "Notenlinie. Wenn Sie eine Note oder Pause waagerecht vor eine andere Note " "oder Pause bewegen, so ändert die Note oder Pause ihre Position." #. Tag: para #: index.docbook:421 #, no-c-format msgid "" "Furthermore: If there is a selected note you can move the note by Up/Down " "cursor key. The Left/Right key changes the selection." msgstr "" "Außerdem: Wenn eine Note ausgewählt ist, so kann man sie mit den Auf-/Ab-" "Cursortasten hoch und runter bewegen. Die Links-/Rechts-Tasten verändern die " "Auswahl." #. Tag: para #: index.docbook:424 #, no-c-format msgid "" "The horizontal move is especially useful in cases where you want to achieve " "this: " "shift example 1 " "but the situation is:" msgstr "" "Die waagerechte Verschiebung ist besonders dann nützlich, wenn man zum " "Beispiel folgendes erreichen will: shift example 1 aber die Situation die Folgende ist:" #. Tag: phrase #: index.docbook:437 #, no-c-format msgid "shift example 2" msgstr "" #. Tag: para #: index.docbook:442 #, no-c-format msgid "" "By moving the note before the rest or the rest behind the note the symbols " "exchange their positions." msgstr "" "Durch das Bewegen der Note vor die Pause oder der Pause hinter die Note, " "tauschen die Symbole ihre Position." #. Tag: title #: index.docbook:447 #, no-c-format msgid "Hiding rests" msgstr "Pausen unsichtbar machen" #. Tag: para #: index.docbook:448 #, no-c-format msgid "" "You can hide some rests if desireable. There are 2 ways to do this. If you " "want to hide the rests of a whole voice, select that voice on voice selector " "() and choose:" msgstr "" "Wenn Sie es wünschen, können Sie Pausen unsichtbar machen. Es gibt 2 Wege, " "das zu tun. Wenn Sie die Pausen einer ganzen Stimme unsichtbar machen " "wollen, so wählen Sie diese auf dem Stimmenauswähler " "() aus und wählen Sie:" #. Tag: menuchoice #: index.docbook:453 #, no-c-format msgid "" "Tools hide rests" msgstr "" "Werkzeuge Pausen verstecken" #. Tag: para #: index.docbook:459 #, no-c-format msgid "Or simply press Ctrl + R." msgstr "oder drücken Sie einfach Strg + R" #. Tag: para #: index.docbook:460 #, no-c-format msgid "To unhide already hidden rests choose:" msgstr "" "Um bereits unsichtbar gemachte Pausen wieder sichtbar zu machen, wählen Sie:" #. Tag: menuchoice #: index.docbook:463 #, no-c-format msgid "" "Tools unhide rests" msgstr "" "Werkzeuge Pausen sichtbar " "machen" #. Tag: para #: index.docbook:468 #, no-c-format msgid "Or simply press Ctrl + U." msgstr "oder drücken Sie einfach Strg + U." #. Tag: para #: index.docbook:470 #, no-c-format msgid "" "To limit this operation to a certain staff simply select one arbitratry note " "or rest of this staff before this operation." msgstr "" "Um diese Operation auf eine bestimmte Notenzeile zu beschränken, wählen Sie " "vor der Operation eine beliebige Note oder Pause dieser Notenzeile aus." #. Tag: para #: index.docbook:473 #, no-c-format msgid "" "The 2nd way is to hide a group of rests of a selection rectangle: Draw a " "selection rectangle as described in Select a " "block. Then choose hide rests or " "unhide rests as described above. Note: This operation " "is also limited to the selected voice." msgstr "" "Der 2. Weg ist das Verstecken von Pausen eines Auswahlrechtecks: Zeichnen " "Sie ein Auswahlrechteck, so wie in Einen " "Block auswählen beschrieben. Wählen Sie Pausen " "verstecken oder Pausen sichtbar machen " "wie oben beschrieben aus. Beachten Sie: Diese Operation ist ebenfalls auf " "die ausgewählte Stimme beschränkt." #. Tag: para #: index.docbook:478 #, no-c-format msgid "To (un)hide all rests in all voices choose:" msgstr "" "Um alle Pausen in allen Stimmen zu verstecken/sichtbar zu machen, wählen Sie:" #. Tag: menuchoice #: index.docbook:480 index.docbook:2538 #, no-c-format msgid "" "Tools hide rests (all v.)" msgstr "" "Werkzeuge Pausen verstecken " "(a.St.)" #. Tag: menuchoice #: index.docbook:490 #, no-c-format msgid "" "Tools unhide rests (all v.)" msgstr "" "Werkzeuge Pausen sichtbar " "machen (a.St.)" #. Tag: para #: index.docbook:496 #, no-c-format msgid "" "Hiding rests is also useful in case of an upbeat." msgstr "" "Das Verstecken von Pausen ist auch im Falle von Auftakten nützlich." #. Tag: para #: index.docbook:498 #, no-c-format msgid "To make hidden rests visible choose:" msgstr "Um versteckte Pausen sichtbar zu machen, wählen Sie:" #. Tag: menuchoice #: index.docbook:501 index.docbook:823 #, no-c-format msgid "" "View show hidden elements" msgstr "" "Ansicht zeige versteckte " "Elemente" #. Tag: title #: index.docbook:509 #, no-c-format msgid "Positioning rests vertically" msgstr "Pausen senkrecht positionieren" #. Tag: para #: index.docbook:510 #, no-c-format msgid "" "&nted; tries to position rests in such a way that they do not obscure other " "elements. This works in most cases. But sometimes the user wishes a " "customized vertical placement." msgstr "" "&nted; versucht die Pausen so zu positionieren, dass sie andere Elemente " "nicht überdecken. Das funktioniert in den meisten Fällen. Aber manchmal " "wünscht sich der Nutzer eine besser angepasste senkrechte Position." #. Tag: para #: index.docbook:512 #, no-c-format msgid "" "To place a rest vertically select it, and then use the cursor up-/down keys " "to change the rest's vertical position." msgstr "" "Um eine Pause senkrecht zu positionieren, wählen Sie diese aus. Dann änderen " "Sie deren senkrechte Position mit Hillfe der Cursor-auf-/-ab Tasten." #. Tag: para #: index.docbook:514 #, no-c-format msgid "" "From this moment on you are responsible to place this rest. &nted; will do " "nothing to solve any conflicts. The only way to get a rest managed by &nted; " "is to insert a new rest." msgstr "" "Von diesem Moment an sind Sie für das Positionieren der Pause " "verantwortlich. &nted; wird nichts tun, um Konflikte zu lösen. Der einzige " "Weg, um die Note wieder durch &nted; steuern zu lassen ist, eine neue Pause " "einzufügen. " #. Tag: para #: index.docbook:517 #, no-c-format msgid "This way you can effectively have 2 voices sharing \"one\" rest:" msgstr "Auf diese Weise teilen sich 2 Stimme \"eine\" Note." #. Tag: phrase #: index.docbook:522 index.docbook:583 #, fuzzy, no-c-format msgid "selected a tie" msgstr "ausgewählte Note löschen" #. Tag: para #: index.docbook:526 #, no-c-format msgid "" "You have to move both rests at least one step! Otherwise &nted; moves the " "other rest to avoid collision." msgstr "" "Sie müssen beide Pausen um wenigstens einen Schritt bewegen! Anderenfalls " "bewegt &nted; die andere Pause so, dass die angestrebte Vereinigung - welche " "Verdecken impliziert - nicht erreicht werden kann." #. Tag: title #: index.docbook:532 #, no-c-format msgid "Inserting ties" msgstr "Haltebögen" #. Tag: para #: index.docbook:533 #, no-c-format msgid "There are 2 ways for inserting ties:" msgstr "Es gibt 2 Verfahren, Haltebögen einfügen:" #. Tag: para #: index.docbook:535 #, no-c-format msgid "" "This approach assumes you want to insert ties after you have inserted a " "series of notes. So, never press the tie during note insertion:" msgstr "" "Bei dieser Methode wird angenommen, dass Sie Haltenbögen erst nach dem " "Einfügen einer Folge von Noten hinzufügen wollen. Dehalb: Drücken Sie " "niemals den Haltebogenknopf während des Einfügens von Noten:" #. Tag: phrase #: index.docbook:541 index.docbook:550 #, fuzzy, no-c-format msgid "the tie button" msgstr "Haltebogenfunktion ein-/ausschalten" #. Tag: para #: index.docbook:544 #, no-c-format msgid "" "Press it after you have inserted a series of notes. Then select all note " "pairs to be tied with left mouse button." msgstr "" "Drücken Sie ihn erst, nachdem Sie eine Folge von Noten eingefügt haben. Dann " "wählen Sie die Noten, welche durch einen Haltebogen verbunden werden sollen " "paarweise aus." #. Tag: para #: index.docbook:545 #, no-c-format msgid "Do not forget to turn off the tie button:" msgstr "Vergessen Sie nicht, den Haltebogenknopf wieder herauszudrücken:" #. Tag: para #: index.docbook:553 #, no-c-format msgid "Because this button has high priority and blocks other functions." msgstr "Weil dieser einen hohen Vorrang hat, blockiert er andere Funktionen." #. Tag: para #: index.docbook:554 #, no-c-format msgid "" "Insert a note or chord followed by a note or chord with the same pitch(es):" msgstr "" "Fügen Sie eine Note oder einen Akkord gefolgt von einer Note oder einem " "Akkord mit gleicher(n)Tonhöhe(n) ein:" #. Tag: phrase #: index.docbook:559 #, fuzzy, no-c-format msgid "before tie method 1" msgstr "N-Tole erzeugen (Methode 1)" #. Tag: para #: index.docbook:562 #, no-c-format msgid "" "Then press ',' (comma). Notes " "with equal pitch are tied:" msgstr "" "Drücken Sie ',' (Komma). Noten " "gleicher Tonhöhe werden gebunden:" #. Tag: phrase #: index.docbook:567 #, fuzzy, no-c-format msgid "before tie method 2" msgstr "N-Tole erzeugen (Methode 2)" #. Tag: title #: index.docbook:575 #, no-c-format msgid "Customized ties" msgstr "Nutzerdefinierte Halteebögen" #. Tag: para #: index.docbook:576 #, no-c-format msgid "" "&nted; places the ties automatically depending on the note's stem direction. " "This works in most cases. But sometimes the user wishes costumized ties. To " "costumize a tie make sure &nted; is in edit mode (see The 3 modes). Select a tie with left mouse button:" msgstr "" "&nted; platziert die Haltebögen automatisch in Abhängigkeit von der " "Halsrichtung der Noten. Das funktioniert in den meisten Fällen. Aber " "manchmal wünscht sich der Nutzer angepasste Haltebögen. Um die Haltebögen " "anzupassen, stellen Sie sicher, dass &nted; im Editier-Modus ist (siehe " "Die 3 Modi). Wählen Sie einen Haltebögen " "mit der linken Maustaste aus:" #. Tag: para #: index.docbook:586 #, no-c-format msgid "" "The selected tie appears in red color. Use the cursor up/down keys to change " "the curve:" msgstr "" "Der ausgewählte Haltebogen erscheint in rot. Benutzen Sie die Cursor-auf/-ab-" "Tasten um die Krümmung zu ändern:" #. Tag: phrase #: index.docbook:591 #, no-c-format msgid "change the tie's curve" msgstr "" #. Tag: title #: index.docbook:596 #, no-c-format msgid "Modifying length, accidentals dots and ties" msgstr "" "Verändern der Längen, der Vorzeichen, der Punktierung und der Haltebögen" #. Tag: para #: index.docbook:597 #, no-c-format msgid "" "Be sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl " "key. Click a note or rest with left button. The note or rest is selected. A " "selected chord or rest appeares in red color. The buttons reflect the state " "of the note or rest. You can change the state of the note or rest by " "toggeling the appropriate buttons. This includes:" msgstr "" "Stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Noch 'mal: Sie können das temporär durch " "Drücken der Strg-Taste erreichen. Klicken Sie eine Note oder Pause mit der " "linken Maustaste an. Die Note oder Pause wird ausgewählt. Ausgewählte Noten " "oder Pausen erscheinen in rot. Die Knöpfe reflektieren den Zustand der Note " "oder Pause. Sie können den Zustand der Note oder Pause ändern, indem Sie die " "entspechenden Knöpfe umschalten. Das umfasst:" #. Tag: para #: index.docbook:604 #, no-c-format msgid "changing the length" msgstr "Längenänderungen" #. Tag: para #: index.docbook:605 #, no-c-format msgid "changing the note head type" msgstr "Ändern des Notenkopftyps" #. Tag: para #: index.docbook:606 #, no-c-format msgid "insert/remove accidentals/dots" msgstr "Einfügen/Löschen von Vorzeichen/Punktierungen" #. Tag: para #: index.docbook:607 #, no-c-format msgid "removing ties" msgstr "Löschen von Haltebögen" #. Tag: title #: index.docbook:613 #, no-c-format msgid "Undo/Redo and View" msgstr "Rückgängig machen und Wiederherstellen" #. Tag: para #: index.docbook:614 #, no-c-format msgid "" "&nted; has an unlimited undo history. You can always undo a previous command " "by pressing the undo button () or pressing Ctrl Z. To redo an undo press the redo button " "() or press " "Ctrl Y. To increase " "the view press the zoom in button " "() or press " "Ctrl +. To decrease " "the view press the zoom in button " "() or press " "Ctrl -." msgstr "" "&nted; hat einen unbegrenten Speicher für ausgeführte Aktionen. Sie können " "stets eine fälschlicherweise gegebene Anweisung durch Drücken des Rückgängig-" "Knopfes () oder durch Betätigen " "der Tasten Strg Z " "wieder rückgängig machen. Um eine zurückgenommene Aktion doch wieder " "auszuführen, drücken Sie den Knopf Wiederherstellen " "() oder Drücken Sie auf " "der Tastatur Strg Y. " "Um die Ansicht zu vergrößern, drücken Sie den Hineinzoomen-Knopf " "() oder drücken Sie " "auf der Tastatur Strg +. Um die Ansicht zu verkleinern, wählen Sie den Herauszoomen-Knopf " "() oder drücken Sie " "auf der Tastatur Strg -." #. Tag: title #: index.docbook:631 #, no-c-format msgid "Staves and Systems" msgstr "Notenzeilen und Systeme" #. Tag: title #: index.docbook:634 #, no-c-format msgid "Append a new staff" msgstr "Eine Notenzeile anfügen" #. Tag: para #: index.docbook:635 #, no-c-format msgid "To append a staff choose:" msgstr "Um eine Notenzeile anzufügen, wählen Sie:" #. Tag: menuchoice #: index.docbook:637 #, no-c-format msgid "" "Insert Append staff" msgstr "" "Einfügen Notenzeile anfügen" #. Tag: para #: index.docbook:642 #, no-c-format msgid "" "or simply press Ctrl + A. The staff is always " "appended at last position." msgstr "" "oder drücken Sie einfach Strg + A. Die Notenzeile " "wird als letzte angefügt." #. Tag: title #: index.docbook:647 #, no-c-format msgid "Change staff properties" msgstr "Die Eigenschaften einer Notenzeile ändern" #. Tag: para #: index.docbook:648 #, no-c-format msgid "" "To change the staff properties right click staff not too close to a measure " "line. The staff config menu appears:" msgstr "" "Um die Eigenschaften einer Notenzeile zu ändern, klicken Sie die Notenzeile " "mit der rechten Maustaste nicht zu nah an einem Taktstrich an! Der " "Notenzeilen-Konfigurationsdialog erscheint:" #. Tag: phrase #: index.docbook:654 #, no-c-format msgid "the staff config menu" msgstr "" #. Tag: para #: index.docbook:658 #, no-c-format msgid "" "Choose staff name, clef, time signature (likewise " " or " "), and key signature on appropriate " "panel and press OK! The adjust notes " "determins whether or not &nted; shall adjust the appropriate notes such that " "their pitch is kept. This concerns the clef and key signature change. The " "octave shift entry determins an optional octave shift of the clef." msgstr "" "Wählen Sie den Namen der Notenzeile, den Notenschlüssel, das Taktmaß " "(gegebenenfalls " "oder) und die Vorzeichnung " "auf dem entsprechenden Feld aus und drücken Sie auf OK! Das Feld " "Noten justieren bestimmt, ob &nted; die " "entpsrechenden Noten so justieren soll, dass ihre Tonhöhe erhalten bleibt. " "Das betrifft Schlüssel- und Vorzeichenänderungen.Das Oktavverschiebunsfeld " "legt eine optionale Oktavverschiebung des Notenschlüssels fest." #. Tag: para #: index.docbook:663 index.docbook:1706 #, no-c-format msgid "" "Note! LilyPond has its own rules for choosing symbols " " or " ". So, do not expect the same " "symbols in LilyPond!" msgstr "" "Note! LilyPond hat seine eigenen Regeln, um die Symbole " " oder " " auszuwählen. Erwarten Sie also " "nicht dieselben Symbole in LilyPond!" #. Tag: para #: index.docbook:668 #, no-c-format msgid "" "The staff short name is printed at 2nd, " "3rd, ... page." msgstr "" "Der Kurzname wird auf der 2., 3. ... Seite " "gedruckt." #. Tag: para #: index.docbook:670 #, no-c-format msgid "" "The group name and short " "group name have the same meaning as staff " "name and staff short name " "for groups of staves. (see System Layout)" msgstr "" "Der Gruppenname und " "Gruppenkurzname haben dieselbe Bedeutung " "wie der Notenzeilenname und der " "Kurzname für Gruppen von Notenzeilen. " "(siehe System Layout)" #. Tag: para #: index.docbook:673 index.docbook:1741 #, no-c-format msgid "The neutral clef has 3 forms:" msgstr "Der neutrale Schlüssel hat 3 Formen:" #. Tag: phrase #: index.docbook:678 index.docbook:871 index.docbook:1746 #, no-c-format msgid "the neutral clefs" msgstr "" #. Tag: para #: index.docbook:682 index.docbook:1750 #, no-c-format msgid "" "The difference is the MIDI mapping. The first form - signed with \"1\" - " "maps the note lines to pitches like the treble clef would map. The 2nd form " "- signed with \"2\" - maps note lines to pitches like the bass clef would " "map. The difference is not visible." msgstr "" "Der Unterschied liegt in der MIDI-Behandlung. Die erste Form - mit \"1\" " "gekenzeichnet - ordnet den Notenlinien Töne so zu, wie es der " "Violinenschlüssel täte.Die 2. Form - mit \"2\" gekenzeichnet - ordnet den " "Notenlinien Töne so zu, wie es der Bassschlüssel täte." #. Tag: para #: index.docbook:687 index.docbook:1755 #, no-c-format msgid "" "Note: If you choose neutral clef 1 or neutral clef 2 the notation conflicts " "with usual drum notation and it is not exported to LilyPond. An alternative is to use the drum system." msgstr "" "Beachten Sie: Wenn Sie den neutralen Schlüssel 1 oder 2 auswählen, so " "kollidiert die Notation mit der üblichen Schlagzeugnotation und die " "Schlagzeugnoten werden nicht nach LilyPond exportiert. Eine Alternative ist die Nutzung des Schlagzeugsystems." #. Tag: para #: index.docbook:690 #, no-c-format msgid "" "On MIDI tab you can change the midi parameters which influences the sound " "during replay:" msgstr "" "Auf der MIDI-Karteikarte können Sie die MIDI-Parameter verändern, welche die " "Wiedergabe beim Abspielen beeinflussen:" #. Tag: phrase #: index.docbook:696 #, no-c-format msgid "the midi panel" msgstr "" #. Tag: para #: index.docbook:699 #, no-c-format msgid "" "The instrument panel lets you select the timbre. It assumes a general midi " "table. Furthermore you can choose the volume of the staff." msgstr "" "Auf dem Instrumentenfeld können Sie die Klangfarbe auswählen. Es wird ein " "General-MIDI System angenommen. Außerdem können Sie die Lautstärke der " "Notenzeile wählen." #. Tag: para #: index.docbook:702 #, no-c-format msgid "" "Actually, each voice has the same timbre (plays the same sound). But on " "voices panel you can change this behaviour:" msgstr "" "Normalerweise hat jede Stimme dieselbe Klangfarbe (spielt denselben Sound). " "Aber auf dem Stimmen- Panel\n" "können Sie dieses Verhalten ändern." #. Tag: phrase #: index.docbook:708 index.docbook:734 #, fuzzy, no-c-format msgid "the instrument panel" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:711 #, no-c-format msgid "" "If the radio button all is selected immediately " "before closing the staff configuration menu, all voices produce the same " "sound (play the same instrument). Otherwise you can determine the sound of " "the different voices by selecting one of the radio buttons 1, 2, 3, or " "4. Choose a sound, a volume, and a stereo position " "(pan) of each voice." msgstr "" "Wenn der Knopf Alle unmittelbar vor dem Schließen des " "Notenzeilenmenüs ausgewählt ist, dann erzeugen alle Stimmen denselben Sound " "(spielen dasselbe Instrument). Anderenfalls können Sie verschiedene " "Klangfarben für verschiedene Stimmen durch Auswahl einer der Knöpfe " "1, 2, 3 " "oder 4 bestimmen. Wählen Sie eine Klangfarbe, eine " "Lautspärke und eine Stereoposition (pan) für jede Stimme." #. Tag: para #: index.docbook:716 #, no-c-format msgid "" "Different sounds on the same staff produce different sounds on the same MIDI " "track which causes a very complicated and expansive MIDI output! Thus, if " "you have the choice between multiple sounds on the same staff or multiple " "staves you with uniform sound you should choose the latter one!" msgstr "" "Verschiedene Klangfarben in der gleichen Notenzeile erzeugen verschiedene " "Sounds auf demselben MIDI-Track, was eine aufwändige und komplizierte MIDI-" "Ausgabe zur Folge hat. Wenn Sie also die Wahl zwischen mehreren Sounds auf " "derselben Notenzeile oder mehrere Notezeilen mit einheitlichem Sound haben, " "so wählen Sie Letzteres!" #. Tag: para #: index.docbook:719 #, no-c-format msgid "" "On channel panel you can assign a midi channel. You should assign a " "different midi channel to different staves. This is automatically done by " "&nted;." msgstr "" "Auf dem Kanel-Menü können Sie einen Kanal zuweisen. Sie sollten " "verschiedenen Notenzeilen verschiedene Kanäle zuweisen. Das wird durch " "&nted; automatisch getan." #. Tag: para #: index.docbook:721 #, no-c-format msgid "" "Channel 10 is the drum channel on most sound cards and is never assigned " "automatically" msgstr "" "Kanal 10 ist auf den meisten Soundkarten der Schlagzeugkanal und wird " "niemals automatisch zugewiesen." #. Tag: para #: index.docbook:722 #, no-c-format msgid "The tempo slider changes the tempo of all staves." msgstr "Der Temporegler verändert das Abspieltempo aller Notenzeilen." #. Tag: para #: index.docbook:723 #, no-c-format msgid "" "The pan slider determins the stereo " "position of the instrument. The chorus " "slider and the reverb slider determine the " "chorus and reverberation effect." msgstr "" "Der Pan-Regler bestimmt die Stereo-Position " "des Instruments. Der Chorus-Regler und der " "Hall-Regler bestimmen den Chorus und Hall-" "Effekt." #. Tag: para #: index.docbook:726 #, no-c-format msgid "" "The ALSA sound system does not support the reverberation effect of all " "soundcards. The often used modul snd_emu10k1_synth for instance does not support reverberation. But TiMidity supports it." msgstr "" "Das ALSA-Sound-System unterstützt den Hall-Effekt nicht auf allen " "Soundkarten. Der häufig benutzte Modul snd_emu10k1_synth unterstützt zum Beispiel keinen Hall. Aber TiMidity unterstützt ihn." #. Tag: para #: index.docbook:729 #, no-c-format msgid "On mute panel:" msgstr "Auf der Stummschalte-Bedienung" #. Tag: para #: index.docbook:737 #, no-c-format msgid "" "you can mute the whole staff by using the all " "checkbox. You can also mute single voices by selecting the voice number. " "(see also Muting)." msgstr "" "können Sie die gesamte Notenzeile stumm schalten. Sie koennen aber auch " "einzelne Stimmen einer Notenzeile stummschalten. Hinweise finden Sie im " "Abschnitt Muting). " #. Tag: para #: index.docbook:740 #, no-c-format msgid "" "The transp. slider causes a pitch offset during replay. This feature is " "helpful for instruments which are not in C tuning." msgstr "" "Der transp.-Regler bewirkt eine Halbtonverschiebung während der WIedergabe. " "Diese Funktion ist für Instrumente geeignet, die nicht in C stehen." #. Tag: title #: index.docbook:745 #, no-c-format msgid "Special letters in staff names" msgstr "Spezielle Zeichen in Notenzeilennamen" #. Tag: para #: index.docbook:747 #, no-c-format msgid "" "&nted; allowes you to place special letters like flat symbol in staff names:" msgstr "" "&nted; gestattet die Verwendung spezieller Zeichen in Notenzeilennamen:" #. Tag: para #: index.docbook:749 #, no-c-format msgid "Flute in A\\b -->" msgstr "" #. Tag: para #: index.docbook:751 index.docbook:2167 index.docbook:2381 #, no-c-format msgid "The following table gives an overview about the possible signs:" msgstr "Die folgende Tabelle gibt einen Überblick über verwendbare Zeichen:" #. Tag: entry #: index.docbook:755 index.docbook:2171 index.docbook:2385 #, no-c-format msgid "\\O" msgstr "\\O" #. Tag: entry #: index.docbook:756 index.docbook:2172 index.docbook:2386 #, no-c-format msgid "\\S" msgstr "\\S" #. Tag: entry #: index.docbook:757 index.docbook:2173 index.docbook:2387 #, no-c-format msgid "\\#" msgstr "\\#" #. Tag: entry #: index.docbook:758 index.docbook:2174 index.docbook:2388 #, no-c-format msgid "\\b" msgstr "\\b" #. Tag: entry #: index.docbook:759 index.docbook:2175 index.docbook:2389 #, no-c-format msgid "\\n" msgstr "\\n" #. Tag: entry #: index.docbook:760 index.docbook:2176 index.docbook:2390 #, no-c-format msgid "\\o" msgstr "" #. Tag: entry #: index.docbook:761 index.docbook:2177 #, no-c-format msgid "\\c" msgstr "\\c" #. Tag: entry #: index.docbook:762 index.docbook:2178 #, no-c-format msgid "\\r" msgstr "\\r" #. Tag: entry #: index.docbook:763 index.docbook:2179 #, no-c-format msgid "\\p" msgstr "p" #. Tag: entry #: index.docbook:764 index.docbook:2180 #, no-c-format msgid "\\." msgstr "\\-" #. Tag: entry #: index.docbook:764 index.docbook:2180 #, no-c-format msgid "non breaking space" msgstr "unbrechbare Leerstelle" #. Tag: entry #: index.docbook:765 index.docbook:2181 #, no-c-format msgid "\\..." msgstr "" #. Tag: entry #: index.docbook:765 index.docbook:2181 #, no-c-format msgid "dots" msgstr "Punkte" #. Tag: entry #: index.docbook:766 index.docbook:2182 #, no-c-format msgid "\\--" msgstr "\\--" #. Tag: entry #: index.docbook:766 index.docbook:2182 #, no-c-format msgid "dash" msgstr "Strich" #. Tag: title #: index.docbook:774 #, no-c-format msgid "Changing the staff position" msgstr "Ändern der Notenzeilenposition" #. Tag: para #: index.docbook:775 #, no-c-format msgid "" "If there is more than one staff there is a 3rd tab, the staff position tab:" msgstr "" "Wenn es mehr als eine Notenzeile gibt, so exisitiert ein 3. Reiter für die " "Positions-Karteikarte:" #. Tag: phrase #: index.docbook:780 #, no-c-format msgid "the position panel" msgstr "" #. Tag: para #: index.docbook:783 #, no-c-format msgid "" "The cursor shows the position of the current staff. Clicking on a different " "position and OK moves the staff to the new position." msgstr "" "Der Cursor zeigt die augenblickliche Position der Notenzeile. Durch " "Anklicken einer anderen Position und dem Betätigen des OK-Knopfes wird die " "Notenzeile an eine andere Position bewegt." #. Tag: title #: index.docbook:788 #, no-c-format msgid "Deleting a staff" msgstr "Löschen einer Notenzeile" #. Tag: para #: index.docbook:789 #, no-c-format msgid "If there is more than one staff a \"Delete Staff\" button appears:" msgstr "" "Wenn es mehr als eine Notenzeile gibt, so erscheint ein Knopf \"Delete Staff" "\":" #. Tag: phrase #: index.docbook:794 #, no-c-format msgid "the staff delete button" msgstr "" #. Tag: para #: index.docbook:797 #, no-c-format msgid "To delete the staff, press this button." msgstr "Um die Notenzeile zu löschen, betätigen Sie diesen Knopf!" #. Tag: title #: index.docbook:801 #, no-c-format msgid "Changing the staff distance" msgstr "Ändern des Notenzeilenabstands" #. Tag: para #: index.docbook:802 #, no-c-format msgid "" "&nted; chooses the staff distance automatically according to the position " "and height of the elements. This works in most cases. But sometimes the user " "wishes customized staff distances. To increase the staff distance make sure " "&nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "&nted; wählt den Abstand zwischen den Notenzeilen automatisch in " "Abhängigkeit von der Position und der Höhe der Elemente.Das funktioniert in " "den meisten Fällen. Aber manchmal wünscht sich der Nutzer angepasste " "Notenzeilenabstände. Um die den Notenzeilenabstand zu ändern, stellen Sie " "sicher, dass &nted; im Einfügemodus ist (siehe Die 3 Modi). Wählen Sie:" #. Tag: menuchoice #: index.docbook:806 #, no-c-format msgid "" "Insert spacer" msgstr "" "Einfügen Abstandshalter" #. Tag: para #: index.docbook:811 #, no-c-format msgid "" "Click at the position to place the spacer on. By clicking and dragging the " "spacer vertically you can adjust the space between the current staff and the " "adjacent staves:" msgstr "" "Klicken Sie in die Nähe der Position, an der der Abstandshalter erscheinen " "soll. Durch Klicken und senkrechtes Ziehen können Sie den Abstand zwischen " "der aktuellen und den benachbarten Notenzeilen anpassen:" #. Tag: phrase #: index.docbook:817 #, fuzzy, no-c-format msgid "the spacer" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:821 #, no-c-format msgid "To hide the spacer choose:" msgstr "Um den Abstandshalter unsichtbar zu machen, wählen Sie:" #. Tag: para #: index.docbook:829 #, no-c-format msgid "" "Modifying an deleting spacer works similar to modifying and deleting arbitrary text." msgstr "" "Das Modifizieren und Löschen von Abstandshaltern erfolgt analog zu dem unter " "Beliebiger Text " "Beschriebenen." #. Tag: title #: index.docbook:832 #, no-c-format msgid "Removing systems" msgstr "Systeme löschen" #. Tag: para #: index.docbook:833 #, no-c-format msgid "If there is more than one system a \"Delete Systems\" button appears:" msgstr "" "Wenn es mehr als ein System gibt, so erscheint ein Knopf \"Delete System\":" #. Tag: phrase #: index.docbook:838 #, no-c-format msgid "the system delete button" msgstr "" #. Tag: para #: index.docbook:841 #, no-c-format msgid "To delete the system, press this button." msgstr "Um das System zu löschen, betätigen Sie diesen Knopf!" #. Tag: para #: index.docbook:843 #, no-c-format msgid "" "You cannot delete the system on first page if the first pages has only one " "system." msgstr "" "Sie können das System auf der ersten Seite nicht löschen, wenn die erste " "Seite nur ein System hat." #. Tag: title #: index.docbook:848 #, no-c-format msgid "Hide measure numbers" msgstr "Anzeigen der Taktnummern verhindern" #. Tag: para #: index.docbook:849 #, no-c-format msgid "&nted; shows measure numbers at system start. You can avoid this by:" msgstr "" "&nted; zeigt am Anfang eines Systems die Taktnummer an. Sie können das " "verhindern:" #. Tag: menuchoice #: index.docbook:851 #, no-c-format msgid "" "View show measure numbers" msgstr "" "Ansicht Taktnummern anzeigen" #. Tag: title #: index.docbook:862 #, no-c-format msgid "The drum system" msgstr "Das Schlagzeugsystem" #. Tag: title #: index.docbook:864 #, no-c-format msgid "The default drum system" msgstr "Das Standard-Schlagzeugsystem" #. Tag: para #: index.docbook:866 #, no-c-format msgid "If you choose neutral clef 1 or neutral clef 2 from clef dialog:" msgstr "" "Wenn Sie den neutralen Schlüssel 1 oder den neutralen Schlüssel 2 vom " "Schlüsseldialog wählen:" #. Tag: para #: index.docbook:875 #, no-c-format msgid "" "the pitches are mapped according to the General MIDI system. This conficts " "with usual drum notation. To avoid this &nted; offers a drum system which " "orientates towards the convertional drum notation." msgstr "" "dann werden die Tonhöhen dem General-MIDI-System gemäß bestimmt. Das " "kollidiert mit der üblichen Schlagzeugnotation. Um dies zu vermeiden, bietet " "&nted; ein Schlagzeugsystem an, welches sich an der konventionellen " "Schlagzeugnotation orientiert." #. Tag: para #: index.docbook:878 #, no-c-format msgid "" "To activate the drum system choose the 3rd drum clef (The 3 isn't printed). " "In current version you should use only the following 20 drum elements:" msgstr "" "Um das Schlagzeugsystem zu aktivieren, wählen Sie den neutralen Schlüssel 3 " "(Die 3 wird nicht gedruckt). In der aktuellen Version sollten Sie nur die " "folgenden 20 Schlagzeugelemente nutzen:" #. Tag: phrase #: index.docbook:885 #, fuzzy, no-c-format msgid "the drum system" msgstr "Notenzeilen und Systeme" #. Tag: para #: index.docbook:889 #, no-c-format msgid "" "These notes are mapped to MIDI such a way that the appropriate drum element " "sounds during replay. Furthermore, these notes are exported to LilyPond." msgstr "" "Diese Noten werden so in Töne umgerechnet, dass bei der Wiedergabe das " "entsprechende Schlagzeugelement erklingt. Außerdem werden diese Noten nach " "LilyPond exportiert." #. Tag: title #: index.docbook:897 #, no-c-format msgid "Configuration of the drum system" msgstr "Konfigurieren des Schlagzeugsystems" #. Tag: para #: index.docbook:898 #, no-c-format msgid "" "The default drum system comprises the most usual drum elements. Users, who " "want to use more drum elements can re-configure the drum system:" msgstr "" "Das Standard-Schlagzeugsystem umfasst die geläufigsten Schlagzeugelemente. " "Nutzer, die mehr Schlagzeugelemente nutzen wollen, können das " "Schlagzeugsystem umkonfigurieren:" #. Tag: menuchoice #: index.docbook:900 #, no-c-format msgid "" "File Drums ..." msgstr "" "Datei Schlagzeug ..." #. Tag: para #: index.docbook:906 #, no-c-format msgid "The drum configuration dialog appears:" msgstr "Der Schlagzeugnoten-Konfigurations-Dialog erscheint:" #. Tag: phrase #: index.docbook:912 #, fuzzy, no-c-format msgid "The drum configuration dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:916 #, no-c-format msgid "" "The central table lists all drum elements: the name, the short name (equal " "to the LilyPond name), the line, " "the head of the note, and the appropriate MIDI pitch. If you select a drum " "element, the note head buttons and the little preview window reflect the " "current state of the drum note. You can change the line by clicking the up/" "down arrows or by cursor up/down keys on PC keyboard. The note head is " "changed by clicking the approprioate note head button. If you click on " "change element, the new note head and the " "new line is changed permanently." msgstr "" "Die zentrale Tabelle listet alle Schlagzeugelemente auf: Den Namen, den " "Kurznamen (entspricht dem LilyPond- " "Namen), die Notenkopfform and die entsprechende MIDI-Tonhöhe. Wenn Sie ein " "Schlagzeugelement auswählen, dann reflektieren die Notenkopfform-Knöpfe und " "die kleine Vorschau den gegenwärtigen Zustand der Schlagzeugnote. Sie können " "die Notenlinie durch Anklicken der Auf-/Abwärtspfeile oder durch Drücken der " "Auf-/Abwärtstasten auf der PC-Tastatur verändern. Die Notenkopfform wird " "durch Betätigen des entsprechenden Notenkopfformknopfes verändert. Wenn Sie " "auf Element ändern klicken, so wird die " "neue Notenkopfform und die neue Notenlinie permanent gespeichert." #. Tag: para #: index.docbook:922 #, no-c-format msgid "" "To reload the default values, press the load defaults button. You can save and reload a configuration in a file, " "by pressing the save to file and " "load from file button." msgstr "" "Um die Standardwerte wieder zu laden, drücken Sie auf den Knopf " "Standards laden. Sie können die " "Konfiguration in eine Datei sichern und wieder laden, indem Sie die Knöpfe " "In Datei speichern·und·Von " "Datei laden ·betätigen." #. Tag: para #: index.docbook:925 #, no-c-format msgid "" "The play element buttons plays the " "appropriate drum element (if your MIDI out " "device is correctly configured)." msgstr "" "Der Knopf Element spielen·spielt das " "entsprechende Schlagzeugelement (falls Ihr MIDI-Ausgabegerät-Gerät korrekt konfiguriert ist)." #. Tag: para #: index.docbook:927 #, no-c-format msgid "" "If you place 2 drum elements at the same line with the same note head &nted; " "uses the first appearence of this configuration." msgstr "" "Wenn Sie 2 Schlagzeugelementen dieselbe Notenlienie und dieselbe " "Notenkopfform geben, so nutzt &nted; das erste Auftreten dieser " "Konfiguration." #. Tag: title #: index.docbook:936 #, no-c-format msgid "Voices" msgstr "Stimmen" #. Tag: para #: index.docbook:938 #, no-c-format msgid "" "You can place the notes or rests at one of 4 voices. To determine the voice " "select the voice number on voice selector " "()." msgstr "" "Sie können die Noten und Pausen auf bis zu 4 Stimmen verteilen. Um die " "Stimme festzulegen, wählen Sie diese auf dem Stimmenauswähler aus " "()." #. Tag: para #: index.docbook:941 #, no-c-format msgid "" "Because multiple voices can be very confusing there is a color button " "(), which causes the " "notes and rests to be drawn colored:" msgstr "" "Da mehrere Stimmen etwas sehr Verwirrendes sein können, gibt es einen " "Farbknopf (), der bewirkt, dass " "die Noten und Pausen farbig dargestellt werden:" #. Tag: phrase #: index.docbook:948 #, no-c-format msgid "colored score" msgstr "" #. Tag: para #: index.docbook:951 #, no-c-format msgid "The colors refer to the colors of the voice selector." msgstr "Die Farben entsprechen den Farben auf dem Stimmenauswähler." #. Tag: para #: index.docbook:952 #, no-c-format msgid "" "The normal case is: Every voice produces the same sound (plays the same " "instrument) during replay. But you can change this behaviour by attaching " " different sounds to different " "voices." msgstr "" "Im Normalfall erzeugt jede Stimme denselben Sound (spielt dasselbe " "Instrument) während der Wiedergabe. Aber Sie können dieses Verhalten durch " "Zuweisen verschiedener Sounds an " "verschiedene Stimmen ändern." #. Tag: title #: index.docbook:957 #, no-c-format msgid "Block instructions" msgstr "Blockbefehle" #. Tag: title #: index.docbook:959 #, no-c-format msgid "Overview" msgstr "Übersicht" #. Tag: para #: index.docbook:960 #, no-c-format msgid "&nted; offers 4 different block instructions:" msgstr "&nted; bietet 4 Blockbefehle an:" #. Tag: entry #: index.docbook:965 #, no-c-format msgid "Block copy" msgstr "Block kopieren" #. Tag: entry #: index.docbook:965 #, no-c-format msgid "Block delete" msgstr "Block löschen" #. Tag: entry #: index.docbook:970 #, no-c-format msgid "Empty block" msgstr "Block leeren" #. Tag: entry #: index.docbook:970 #, no-c-format msgid "Insert block" msgstr "Block einfügen" #. Tag: title #: index.docbook:982 #, no-c-format msgid "Select a block" msgstr "Einen Block auswählen" #. Tag: para #: index.docbook:983 #, no-c-format msgid "" "To select a block make sure &nted; is in edit mode (see The 3 modes). Draw a diagonal with left mouse button " "such that the appropriate rectangle encloses all elements you like to work " "with:" msgstr "" "Um einen Block auszuwählen, stellen Sie sicher, dass &nted; im Editier-Mode " "ist (siehe Die 3 Modi). Zeichnen Sie mit " "der linken Maustaste eine Diagonale derart, dass das entsprechende Rechteck " "alle Elemente umfasst, mit denen Sie arbeiten wollen:" #. Tag: phrase #: index.docbook:990 #, no-c-format msgid "selection" msgstr "" #. Tag: para #: index.docbook:993 #, no-c-format msgid "The selected elements appear in violet color." msgstr "Die ausgewählten Elemente erscheinen in violett." #. Tag: para #: index.docbook:995 #, no-c-format msgid "" "If there is a selection rectangle you can deselect some staves from " "selection by right clicking on the staff:" msgstr "" "Wenn es ein Auswahlrechteck gibt, so können Sie einzelne Notenzeilen von der " "Auswahl ausschließen, indem Sie sie mit der rechten Maustaste anklicken:" #. Tag: phrase #: index.docbook:1000 #, no-c-format msgid "deselect from selection" msgstr "" #. Tag: para #: index.docbook:1004 #, no-c-format msgid "" "This is especially useful if you for example want to copy only the 1st and " "the 3rd staff of 3 staves:" msgstr "" "Das ist besonders dann nützlich, wenn Sie zum Beispiel nur die erste und " "letzte von 3 Notenzeilen kopieren wollen:" #. Tag: phrase #: index.docbook:1009 #, no-c-format msgid "copy selective" msgstr "" #. Tag: title #: index.docbook:1015 #, no-c-format msgid "Block copy" msgstr "Einen Block kopieren" #. Tag: para #: index.docbook:1016 #, no-c-format msgid "" "To copy a block select some elements as described in Select a block. Choose:" msgstr "" "Um einen Block zu kopieren, wählen Sie zunächst einige Elemente wie in " "Einen Block auswählen beschrieben " "aus. Wählen Sie:" #. Tag: menuchoice #: index.docbook:1018 #, no-c-format msgid "Edit Copy" msgstr "" "Bearbeiten kopieren" #. Tag: para #: index.docbook:1023 #, no-c-format msgid "" "or press Ctrl C. The " "selected items are copied into an internal clipboard." msgstr "" "oder drücken Sie Strg C. Die ausgewählten Elemente werden in einen internen Speicher " "kopiert." #. Tag: title #: index.docbook:1028 #, no-c-format msgid "Block paste" msgstr "Block einfügen" #. Tag: para #: index.docbook:1029 #, no-c-format msgid "" "To paste a block select a note or rest as described in Shifting notes. This selected chord or rest is the " "upper left corner of a virtual destination rectangle:" msgstr "" "Um einen Block einzufügen, wählen Sie eine Note oder Pause wie in Bewegen von Noten und Pausen beschrieben " "aus! Diese ausgewählte Note oder Pause ist die linke obere Ecke eines " "virtuellen Zielrechtecks:" #. Tag: phrase #: index.docbook:1035 #, no-c-format msgid "virtual destination rectangle" msgstr "" #. Tag: para #: index.docbook:1039 index.docbook:1098 index.docbook:1124 index.docbook:1390 #: index.docbook:2473 index.docbook:2504 index.docbook:2536 index.docbook:3197 #, no-c-format msgid "Choose:" msgstr "Wählen Sie:" #. Tag: menuchoice #: index.docbook:1041 #, no-c-format msgid "Edit Paste" msgstr "" "Bearbeiten einfügen" #. Tag: para #: index.docbook:1046 #, no-c-format msgid "" "or press Ctrl V. The " "items from internal clipboard are copied to this virtual destination " "rectangle:" msgstr "" "oder drücken Sie Strg V. Die Elemente werden vom internen Speicher in das virtuelle " "Zielrechteck kopiert:" #. Tag: phrase #: index.docbook:1053 #, no-c-format msgid "paste complete" msgstr "" #. Tag: title #: index.docbook:1059 #, no-c-format msgid "Delete a block" msgstr "Einen Block löschen" #. Tag: para #: index.docbook:1060 #, no-c-format msgid "" "To delete a block select some elements as described in Select a block. Choose:" msgstr "" "Um einen Block zu löschen, wählen Sie Elemente wie in Einen Block auswählen beschrieben aus! Wählen Sie:" #. Tag: menuchoice #: index.docbook:1062 #, no-c-format msgid "" "Edit Delete Block" msgstr "" "Bearbeiten Block löschen" #. Tag: para #: index.docbook:1067 #, no-c-format msgid "Or simply press Ctrl + X. The block is deleted." msgstr "Oder drücken Sie einfach Strg + X. Der Block wird gelöscht" #. Tag: para #: index.docbook:1068 #, no-c-format msgid "" "Independent of the concrete selection the delete operation influences all " "staves. Only whole measures are deleted." msgstr "" "Unabhängig von der konkreten Auswahl betrifft diese Operation alle " "Notenzeilen. Es werden nur komplette Takte gelöscht." #. Tag: phrase #: index.docbook:1074 #, no-c-format msgid "block delete removes whole measures" msgstr "" #. Tag: title #: index.docbook:1079 #, no-c-format msgid "Empty a block" msgstr "Einen Block leeren" #. Tag: para #: index.docbook:1080 #, no-c-format msgid "" "To empty a block means to convert all notes groups to rests of appropriate " "length. Select some elements as described in Select a block:" msgstr "" "Einen Block zu leeren bedeutet, alle Notengruppen in entsprechend lange " "Pausen umzuwandeln. Wählen Sie die Elemente wie in Einen Block auswählen beschrieben aus:" #. Tag: phrase #: index.docbook:1086 #, no-c-format msgid "selection for empty a block" msgstr "" #. Tag: para #: index.docbook:1090 #, no-c-format msgid "Again, you can deselect some staves by right clicking them:" msgstr "Wieder können Sie einzelne Notenzeilen durch Rechtsklick abwählen:" #. Tag: phrase #: index.docbook:1095 #, no-c-format msgid "selection for empty a block, staff 2 deselected" msgstr "" #. Tag: menuchoice #: index.docbook:1100 #, no-c-format msgid "" "Edit Empty Block" msgstr "" "Bearbeiten Block leeren" #. Tag: para #: index.docbook:1105 #, no-c-format msgid "Or simply press Ctrl + E. The block is emptied:" msgstr "Oder drücken Sie einfach Strg + E. Der Block wird geleert:" #. Tag: phrase #: index.docbook:1110 #, no-c-format msgid "block emptied" msgstr "" #. Tag: title #: index.docbook:1115 #, no-c-format msgid "Insert a block of empty measures" msgstr "Einfügen leerer Blöcke" #. Tag: para #: index.docbook:1116 #, no-c-format msgid "" "To insert a block of empty measures choose an arbitrary note or rest as " "described in Shifting notes." msgstr "" "Um einen Block einzufügen, wählen Sie eine Note oder Pause wie in Bewegen von Noten und Pausen beschrieben " "aus! " #. Tag: phrase #: index.docbook:1121 #, no-c-format msgid "select before block insertion" msgstr "" #. Tag: menuchoice #: index.docbook:1126 #, no-c-format msgid "" "Insert Insert block" msgstr "" "Einfügen Block einfügen" #. Tag: para #: index.docbook:1131 #, no-c-format msgid "" "Determine the number of measures you wish to insert on insert dialog. Click " "OK!" msgstr "" "Bestimmen Sie die Anzahl der einzufügenden Takte auf dem Dialog und klicken " "Sie auf OK!" #. Tag: phrase #: index.docbook:1136 #, no-c-format msgid "block insertion dialog" msgstr "" #. Tag: para #: index.docbook:1139 #, no-c-format msgid "" "The measures are inserted after the measure with the selected note or rest." msgstr "" "Die Takte werden nach dem Takt mit der ausgewählten Note oder Pause " "eingefügt." #. Tag: phrase #: index.docbook:1144 #, no-c-format msgid "block insertion performed" msgstr "" #. Tag: title #: index.docbook:1152 #, no-c-format msgid "Handling beams" msgstr "Balkenbehandlung" #. Tag: title #: index.docbook:1154 #, no-c-format msgid "Grouping" msgstr "Gruppierung" #. Tag: para #: index.docbook:1156 #, no-c-format msgid "" "&nted; places the beams automatically depending on the note length and the " "time signature. This works in most cases. But sometimes the user wishes " "costumized beams. To change the beaming use a special button on toolbar " "which changes its appearence depending of whether there is a selection " "rectangle or not (see Select a block). " "If there is no selection rectangle the button isolates a currently beamed " "note (). To isolate make " "sure &nted; is in edit mode (see The 3 modes). Select a beamed note by left clicking it:" msgstr "" "&nted; platziert die Balken in Abhängigkeit von der Notenlänge und dem " "Taktmaß automatisch. Das funktioniert in den meisten Fällen. Doch manchmal " "wünscht sich der Nutzer angepasste Balken. Um die Balken anzupassen, wählen " "Sie einen speziellen Knopf auf dem Menübalken. Dieser Knopf ändert sein " "Aussehen, je nachdem, ob es ein gültiges Auswahlrechteck gibt oder nicht." "(siehe Einen Block auswählen). Falls " "es keine solche Auswahl gibt, so isoliert dieser Knopf eine mit Balken " "versehene Note: (). Um eine " "Note zu isolieren, stellen Sie sicher, dass &nted; im Editiermodus ist " "(siehe Die 3 Modi). Wählen Sie eine Note " "mit Balken aus, indem Sie sie mit der linken Maustaste anklicken:" #. Tag: phrase #: index.docbook:1166 #, no-c-format msgid "The situation before isolation" msgstr "" #. Tag: para #: index.docbook:1169 #, no-c-format msgid "" "Then press the isolate button ():" msgstr "" "Drücken Sie den Isolier-Knopf ():" #. Tag: phrase #: index.docbook:1176 #, no-c-format msgid "The situation after isolation" msgstr "" #. Tag: para #: index.docbook:1180 #, no-c-format msgid "The note is isolated." msgstr "Die Note wird isoliert." #. Tag: para #: index.docbook:1182 #, no-c-format msgid "" "To connect some notes with a beam, select them as described in Select a block:" msgstr "" "Um Noten mit einem Balken zu verbinden, wählen Sie diese wie in Einen Block auswählen beschrieben aus:" #. Tag: phrase #: index.docbook:1188 index.docbook:1199 index.docbook:1209 index.docbook:1219 #, no-c-format msgid "The situation before connection" msgstr "" #. Tag: para #: index.docbook:1192 #, no-c-format msgid "" "The button changes its appearence " "(). Press the button and " "&nted; connects the notes by a beam:" msgstr "" "Der Knopf ändert seine Erscheinung: " "(). Drücken Sie den " "Knopf und &nted; verbindet die Noten mit einem Balken:" #. Tag: para #: index.docbook:1203 #, no-c-format msgid "" "Note! This function can break beams as well, if the selection rectangle " "crosses an existing beam:" msgstr "" "Achtung! Diese Funktion kann auch Balken trennen, falls das Auswahlrechteck " "einen existierenden Balken kreuzt:" #. Tag: para #: index.docbook:1213 #, no-c-format msgid "This results in:" msgstr "Das führt zu:" #. Tag: para #: index.docbook:1223 #, no-c-format msgid "" "Instead of pressing the button you can use Ctrl " "J independent of the button's appearence." msgstr "" "Statt den Knopf zu drücken, können Sie auch die Tastenkombination " "Strg J unabhängig vom " "Aussehen des Knopfes betätigen." #. Tag: title #: index.docbook:1228 #, no-c-format msgid "Changing the beam parameters" msgstr "Ändern der Balkenparameter" #. Tag: para #: index.docbook:1230 #, no-c-format msgid "" "To change the stem direction make sure &nted; is in edit mode (see The 3 modes) select the first or the last note " "with left mouse button and press the change stem dir button " "()." msgstr "" "Um die Notenhalsrichtung zu ändern ,stellen Sie sicher, dass &nted; im " "Editiermodus ist (siehe Die 3 Modi) " "Wählen Sie die erste oder die letzte Note mit der linken Maustaste aus und " "drücken Sie den Notenhalsrichtungswechselknopf" "()." #. Tag: para #: index.docbook:1233 #, no-c-format msgid "" "Instead of pressing the change stem dir button " "() you can " "simply press Ctrl F " "twice." msgstr "" "Statt die Notenhalsrichtungsänderungstaste " "() zu nutzen, " "können Sie einfach zweinal Strg F drücken." #. Tag: para #: index.docbook:1237 #, no-c-format msgid "" "&nted; computes the beam position and slope depending on the position of the " "beamed notes. This works in most cases. But sometimes the user wishes to " "change the beam parameters. To change the beam position make sure &nted; is " "in edit mode (see The 3 modes) and select " "the first note with left mouse button:" msgstr "" "&nted; berechnet die Balkenposition automatisch in Abhängigkeit von der " "Position der Noten. Das funktioniert in den meisten Fällen. Aber manchmal " "wünscht sich der Nutzer eine angepasste Balkenposition. Um die " "Balkenposition anzupassen, stellen Sie sicher, dass &nted; im Editier-Modus " "ist (siehe Die 3 Modi). Wählen Sie die " "erste Note mit der linken Maustaste aus:" #. Tag: phrase #: index.docbook:1246 #, no-c-format msgid "beam position 0" msgstr "" #. Tag: para #: index.docbook:1250 #, no-c-format msgid "" "The stem has a handle represented by a small blue square. Select this handle " "with left mouse button and move it up or down. The beam follows this motion:" msgstr "" "Der Notenhals hat einen Kontrollpunkt, der durch ein kleines blaues Quadrat " "dargestellt wird. Wählen Sie diesen Kontrollpunkt mit der linken Maustaste " "aus und bewegen Sie ihn auf und ab. Der Balken folgt dieser Bewegung." #. Tag: phrase #: index.docbook:1257 #, no-c-format msgid "beam position 1" msgstr "" #. Tag: para #: index.docbook:1261 #, no-c-format msgid "To change the beam's slope select the last note with left mouse button:" msgstr "" "Um die Neigung des Balkens zu ändern, wählen Sie die letzte Note mit der " "linken Maustaste aus:" #. Tag: phrase #: index.docbook:1267 #, no-c-format msgid "beam slope 0" msgstr "" #. Tag: para #: index.docbook:1271 #, no-c-format msgid "" "The stem has a handle represented by a small blue square. Select this handle " "with left mouse button and move it up or down. The slope changes according " "to this motion:" msgstr "" "Der Notenhals hat einen Kontrollpunkt, der durch ein blaues Quadrat " "dargestellt wird. Wählen Sie diesen Kontrollpunkt mit der linken Maustaste " "aus und bewegen Sie ihn auf und ab. Die Neigung ändert sich entsprechend." #. Tag: phrase #: index.docbook:1278 #, no-c-format msgid "beam slope 1" msgstr "" #. Tag: title #: index.docbook:1286 #, no-c-format msgid "Handling stems" msgstr "Notenhalsbehandlung" #. Tag: para #: index.docbook:1288 #, no-c-format msgid "" "To change the stem direction make sure &nted; is in edit mode (see The 3 modes) select the note with left mouse " "button and press the change stem dir button " "()." msgstr "" "Um die Notenhalsrichtung zu ändern, stellen Sie sicher, dass &nted; im " "Editiermodus ist (sieheDie 3 Modi) und " "wählen Sie die Note mit der linken Maustaste aus und drücken Sie den " "Notenhalsrichtungswechselknopf()." #. Tag: para #: index.docbook:1293 #, no-c-format msgid "" "Instead of pressing the change stem dir button " "() you can " "simply press Ctrl F." msgstr "" "Statt die Notenhalsrichtungsänderungstaste " "() zu nutzen, " "können Sie einfach Strg F drücken." #. Tag: para #: index.docbook:1297 #, no-c-format msgid "" "All notes have a default stem length. This is OK in most cases. But " "sometimes the user wishes to change the stem length. To do this make sure " "&nted; is in edit mode (see The 3 modes) " "and select the note with left mouse button:" msgstr "" "Alle Noten haben dieselbe Notenhalslänge. Das ist in den meisten Fällen in " "Ordnung. Aber manchmal möchte der Nutzer die Notenhalslänge ändern. Um das " "zu tun, stellen Sie sicher, dass &nted; im Editier-Modus ist (siehe Die 3 Modi) und wählen Sie die Note mit der " "linken Maustaste aus:" #. Tag: phrase #: index.docbook:1304 #, no-c-format msgid "stem length 0" msgstr "" #. Tag: para #: index.docbook:1308 #, no-c-format msgid "" "The stem has a handle represented by a small blue square. Select this handle " "with left mouse button and move it up or down. The stem length changes " "according to this motion:" msgstr "" "Der Notenhals hat einen Kontrollpunkt, der durch ein kleines blaues Quadrat " "repräsentiert wird. Wählen Sie diesen Kontrollpunkt mit der linken Maustaste " "aus und bewegen Sie ihn auf und ab. Die Notenhalslänge ändert sich " "entsprechend:" #. Tag: phrase #: index.docbook:1315 #, no-c-format msgid "stem length 1" msgstr "" #. Tag: title #: index.docbook:1322 #, no-c-format msgid "Horizontal spacement" msgstr "Waagerechte Abstände" #. Tag: title #: index.docbook:1324 #, no-c-format msgid "Global Spacement" msgstr "Globale Abstände" #. Tag: para #: index.docbook:1325 #, no-c-format msgid "" "&nted; applies a predefined horizontally spacing. This looks good in most " "cases. But sometimes the user wishes a different spacement. To change the " "horizontal spacement globally choose:" msgstr "" "&nted; verwendet vordefinierte waagerechte Abstände. Das sieht in vielen " "Fällen gut aus. Aber manchmal wünscht der Nutzer andere waagerechte " "Abstände. Um die waagerechten Abstände zu änder, wählen Sie:" #. Tag: menuchoice #: index.docbook:1328 #, no-c-format msgid "" "Edit Change spacement ..." msgstr "" "Bearbeiten Abstände ändern ..." "" #. Tag: para #: index.docbook:1334 #, no-c-format msgid "The spacement dialog appears:" msgstr "Der Abstandsdialog erscheint:" #. Tag: phrase #: index.docbook:1339 #, fuzzy, no-c-format msgid "the spacement dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:1343 #, no-c-format msgid "" "Change the spacement factor and press OK! &nted; applies the new horizontal " "spacement:" msgstr "" "Ändern Sie den Abstandsfaktor und drücken Sie auf OK! &nted; verwendet die " "neuen waagerechten Abstände: " #. Tag: phrase #: index.docbook:1348 #, no-c-format msgid "the global spacement" msgstr "" #. Tag: title #: index.docbook:1354 #, no-c-format msgid "Changing the horizontal spacement measurewise" msgstr "Taktweises Ändern der waagerechten Abstände:" #. Tag: para #: index.docbook:1355 #, no-c-format msgid "" "&nted; allowes you to change the spacment measurewise. To do this select an " "arbitrary note of the measure, as described in Shifting notes. Then press an hold the shift key and turn the " "mouse wheel! The horizontal spaces of the measure change accordingly." msgstr "" "&nted; erlaubt das Ändern der waagerechten Abstände pro Takt Um das zu tun, " "wählen Sie eine beliebige Note aus dem Takt, wie in Noten bewegen beschrieben aus! Drücken und halten " "Sie die Shift-(Hochstell-) Taste und drehen Sie am Mausrad! Die waagerechten " "Abstände ändern sich entsprechend." #. Tag: para #: index.docbook:1360 #, no-c-format msgid "" "Instead of using the mouse wheel you can also use Shift CursorUp and Shift CursorDown." msgstr "" "Statt am Mausrad zu drehen, können Sie auch die Tastenkombination " "Shift Cursor-Aufwärts " "und Shift Cursor-Abwärts benutzen." #. Tag: phrase #: index.docbook:1367 #, no-c-format msgid "horizontal space per measure" msgstr "" #. Tag: title #: index.docbook:1376 #, no-c-format msgid "System Layout" msgstr "" #. Tag: para #: index.docbook:1377 #, no-c-format msgid "" "You can group the staves by means of braces and brackets. Furthermore, " "&nted; allows you to determine whether the measure lines of subsequent " "staves are connected or not." msgstr "" "Sie können die Notenzeilen mit Hilfe von runden bzw. eckigen Klammern " "gruppieren. Außerdem erlaubt Ihnen &nted; festzulegen, ob die Taktstriche " "aufeinanderfolgender Notenzeilen verbunden sind oder nicht." #. Tag: para #: index.docbook:1380 #, no-c-format msgid "" "To do this mark a block of staves as described in chapter Select a block." msgstr "" "Um dies zu tun, markieren Sie einen Block, wie im Kapitel Einen Block auswählen beschrieben aus!" #. Tag: phrase #: index.docbook:1386 #, fuzzy, no-c-format msgid "selected block" msgstr "Block löschen" #. Tag: menuchoice #: index.docbook:1392 #, no-c-format msgid "" "Edit System layout ..." msgstr "" "Bearbeiten Systemlayout ..." #. Tag: para #: index.docbook:1397 #, no-c-format msgid "Select one of the offered menu items:" msgstr "Wählen Sie einen der angebotenen Menüpunkte:" #. Tag: para #: index.docbook:1399 #, no-c-format msgid "" "brace - This groups the selected staves by " "means of a brace." msgstr "" "runde Klammer - Dadurch werden die " "ausgewählten Notenzeilen mit Hilfe einer runden Klammer gruppiert." #. Tag: para #: index.docbook:1400 #, no-c-format msgid "" "bracket - This groups the selected staves " "by means of a bracket." msgstr "" "eckige Klammer - Dadurch werden die " "ausgewählten Notenzeilen mit Hilfe einer eckigen Klammer gruppiert." #. Tag: para #: index.docbook:1401 #, no-c-format msgid "" "connect barlines - This causes the bar " "lines of the selected staves to be connected." msgstr "" "Taktstriche verbinden - Dadurch werden die " "Taktstriche der ausgewählten Notenzeilen miteinander verbunden." #. Tag: para #: index.docbook:1402 #, no-c-format msgid "" "remove group - This removes a staff group " "created with one of the 3 methods above." msgstr "" "Gruppe löschen - Dadurch werden Gruppen von " "Notenzeilen, die durch eine der 3 oben beschrieben Methoden gebildet wurden " "wieder getrennt." #. Tag: phrase #: index.docbook:1409 #, no-c-format msgid "staff layout" msgstr "Seitenlayout" #. Tag: para #: index.docbook:1413 #, no-c-format msgid "" "To name a staff group, fill in the group name, or group short name, " "respectively (see: Change staff properties) of the lowest staff of this group:" msgstr "" "Um die Notenzeilengruppe zu benennen, füllen Sie das Feld " "Gruppenname bzw. " "Gruppenkurzname (siehe: Die Eigenschaften einer Notenzeile ändern) der " "untersten Notenzeile der Gruppe aus:" #. Tag: phrase #: index.docbook:1420 #, no-c-format msgid "a group name" msgstr "" #. Tag: title #: index.docbook:1425 #, no-c-format msgid "Tuplets" msgstr "N-Tolen" #. Tag: title #: index.docbook:1428 #, no-c-format msgid "Create tuplets" msgstr "N-Tolen erzeugen" #. Tag: para #: index.docbook:1429 #, no-c-format msgid "" "&nted; can deal with tuplets from 2 to 13. To create a tuplet select a note " "or rest which shall be the first member of the tuplet. Press Ctrl and the " "tuplet val number. For instance: If you want a quarter note to be the first " "member of a triplet then select the quarter note:" msgstr "" "&nted; kann mit N-Tolen von 2 bis 13 umgehen. Um eine N-Tole zu erzeugen, " "wählen Sie die erste Note oder Pause aus, die der erste Bestandteil der N-" "Tole sein soll! Drücken Sie die Taste Strg und den N-Tolenwert! Wenn Sie zum " "Beispiel wollen, dass eine Viertelnote der erste Bestandteil einer Triole " "werden soll, so wählen Sie die Viertelnote aus:" #. Tag: phrase #: index.docbook:1436 #, no-c-format msgid "before triplet creation" msgstr "" #. Tag: para #: index.docbook:1439 #, no-c-format msgid "and press Ctrl + 3:" msgstr "and drücken Sie Strg + 3:" #. Tag: phrase #: index.docbook:1444 #, no-c-format msgid "after triplet creation (method1)" msgstr "" #. Tag: para #: index.docbook:1448 #, no-c-format msgid "" "There is a 2nd procedure if you press Ctrl+Alt+<num> instead, the " "result is:" msgstr "" "Es gibt ein 2. Verfahren: Wenn Sie statt dessen Alt + Strg +<Wert> " "drücken, so ist das Ergebnis:" #. Tag: phrase #: index.docbook:1453 #, no-c-format msgid "after triplet creation (method2)" msgstr "" #. Tag: para #: index.docbook:1457 #, no-c-format msgid "" "What's the difference? In first case &nted; regards the selected note as the " "first triplet member. In 2nd case it assumes the selected quarter has the " "length of the first 2 triplet members. This is especially useful for swing " "music where the combination shown above occurs very often." msgstr "" "Was ist der Unterschied? Im ersten Fall betrachtet &nted; die ausgewählte " "Note als den ersten Bestandteil der N-Tole. Im 2. Fall nimmt es an, dass das " "Viertel die Länge der ersten 2 N-Tolenbestandteile hat. Das ist besonders " "für Swing-Musik nützlich, wo die oben gezeigte Kombination sehr oft autritt." #. Tag: title #: index.docbook:1464 #, no-c-format msgid "Delete tuplets" msgstr "Löschen von N-Tolen" #. Tag: para #: index.docbook:1465 #, no-c-format msgid "To delete a tuplet select any tuplet member and choose:" msgstr "" "Um eine N-Tole zu löschen, wählen Sie irgendeinen N-Tolen-Bestandteil aus " "und wählen Sie:" #. Tag: menuchoice #: index.docbook:1467 #, no-c-format msgid "" "Edit Remove tuplet" msgstr "" "Bearbeiten N-Tole löschen" #. Tag: title #: index.docbook:1474 #, no-c-format msgid "Tuplets from 10 to 13" msgstr "N-Tolen von 10 bis 13" #. Tag: para #: index.docbook:1475 #, no-c-format msgid "To create a tuplet with value greater then 9 choose:" msgstr "Um N-Tolen mit einem Wert größer als 9 zu erzeugen, wählen Sie:" #. Tag: menuchoice #: index.docbook:1477 #, no-c-format msgid "" "Insert Insert tuplet ..." msgstr "" "Einfügen N-Tole einfügen ..." #. Tag: para #: index.docbook:1483 #, no-c-format msgid "" "Set the tuplet value on dialog! To create a tuplet according to 2nd method " "(see above) select the method 2 check box." msgstr "" "Setzen Sie den N-Tolen-Wert im Dialog! Um eine N-Tole gemäß des 2. " "Verfahrens (siehe oben) zu erzeugen, wählen Sie Methode 2 aus!" #. Tag: title #: index.docbook:1489 #, no-c-format msgid "Slurs" msgstr "Bindebögen" #. Tag: title #: index.docbook:1492 #, no-c-format msgid "Inserting slurs" msgstr "Bindebögen einfügen" #. Tag: para #: index.docbook:1494 #, no-c-format msgid "" "To insert a slur make sure &nted; is in edit mode (see The 3 modes). Select some notes as described in Select a block:" msgstr "" "Um einen Bindebogen einzufügen, stellen Sie sicher, dass &nted; im Editier-" "Mode ist (siehe Die 3 Modi). Wählen Sie " "eine Note wie in Einen Block auswählen " "beschrieben aus:" #. Tag: phrase #: index.docbook:1501 #, no-c-format msgid "before a slur is created" msgstr "" #. Tag: para #: index.docbook:1505 #, no-c-format msgid "Then Choose:" msgstr "Wählen Sie:" #. Tag: menuchoice #: index.docbook:1507 #, no-c-format msgid "" "Insert Slur" msgstr "" "Einfügen Bindebogen" #. Tag: para #: index.docbook:1513 #, no-c-format msgid "" "or press Ctrl H. The " "slur appears:" msgstr "" "oder drücken Sie Strg H. Der Bindebogen erscheint:" #. Tag: phrase #: index.docbook:1519 #, no-c-format msgid "after a slur is created" msgstr "" #. Tag: para #: index.docbook:1523 #, no-c-format msgid "" "As you can see the slur has 3 handles. By left clicking and dragging these " "handles you can determine the exact slur shape:" msgstr "" "Wie Sie sehen können, hat der Bindebogen 3 Kontrollpunkte. Durch Anklicken " "und Schieben dieser Kontrollpunkte können Sie das genaue Aussehen der " "Bindebögen bestimmen:" #. Tag: phrase #: index.docbook:1529 #, no-c-format msgid "a slur is created" msgstr "" #. Tag: title #: index.docbook:1535 #, no-c-format msgid "Modifiying slurs" msgstr "Bindebögen modifizieren" #. Tag: para #: index.docbook:1537 #, no-c-format msgid "" "Although the slur handles appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Obwohl die Kontrollpunkte frei beweglich erscheinen, sind sie stets einem " "Symbol zugeordnet. Dieses Symbol wird durch eine dünne hellblaue Linie " "angezeigt:" #. Tag: phrase #: index.docbook:1544 #, no-c-format msgid "the assignment of the slur handles" msgstr "" #. Tag: para #: index.docbook:1548 index.docbook:1853 index.docbook:1971 index.docbook:2067 #: index.docbook:2206 index.docbook:2302 #, no-c-format msgid "This has consequences:" msgstr "Das hat Konsequenzen:" #. Tag: para #: index.docbook:1550 #, no-c-format msgid "" "&nted; tries to keep the position of the slur handle relative to the symbol " "it is assigned to;" msgstr "" "&nted; versucht den relativen Abstand zu dem Symbol, zu dem er zugeordnet " "wurde zu erhalten;" #. Tag: para #: index.docbook:1551 #, no-c-format msgid "&nted; removes the slur if the symbol it is assigned to is removed;" msgstr "" "&nted; löscht den Bindebogen, wenn das Symbol, dem der Kontrollpunkt " "zugeordnet wurde gelöscht wird;" #. Tag: para #: index.docbook:1554 #, no-c-format msgid "" "To change a slur's shape make sure &nted; is in edit mode (see The 3 modes). Select the start or end of a slur with " "left mouse button. The 3 handles appear again:" msgstr "" "Um das Aussehen des Bindebogens zu modifizieren, stellen Sie sicher, dass " "&nted; im Editier-Mode ist (siehe Die 3 Modi). Klicken Sie das Ende oder den Anfang eines Bindebogens mit der " "linken Maustaste an. Die 3 Kontrollpunkte erscheinen erneut:" #. Tag: phrase #: index.docbook:1560 #, no-c-format msgid "the selection of the slur handles" msgstr "" #. Tag: para #: index.docbook:1564 #, no-c-format msgid "Thus, you can change the slur's shape again by dragging the 3 handles." msgstr "" "Dadurch können Sie das Aussehen des Bindebogens wieder durch Ziehen der 3 " "Kontrollpunkte ändern." #. Tag: title #: index.docbook:1568 #, no-c-format msgid "Deleting a slur" msgstr "Löschen eines Bindebogens" #. Tag: para #: index.docbook:1569 #, no-c-format msgid "" "To delete a slur make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Left click the start or and of a slur. " "The selected handle appears in red color. Press the backspace key and the " "slur will be deleted." msgstr "" "Um einen Bindebogen zu entfernen, stellen Sie sicher, dass &nted; im Editier-" "Mode ist (siehe Die 3 Modi). Noch 'mal: " "Sie können diesen Mode temporär durch Drücken der Taste Strg erreichen. " "Klicken Sie den Anfanfang oder das Ende eines Bindebogens mit der linken " "Maustaste an! Der ausgewählte Kontrollpunkt erscheint in rot. Drücken Sie " "die Taste Rück und der Bindenbogen wird gelöscht." #. Tag: title #: index.docbook:1576 #, no-c-format msgid "Repeats and other bar types" msgstr "Wiederholungen und andere Taktstrichformen" #. Tag: title #: index.docbook:1578 #, no-c-format msgid "Simple Repeats" msgstr "Einfache Wiederholungen" #. Tag: para #: index.docbook:1579 #, no-c-format msgid "" "To place a repeat open or repeat close make sure &nted; is in edit mode (see " "The 3 modes). Right click a measure line. " "The repeat dialog appears:" msgstr "" "Um eine Wiederholung zu platzieren, stellen Sie sicher, dass &nted; im " "Editier-Mode ist (siehe Die 3 Modi ). " "Klicken Sie mit der rechten Maustaste einen Taktstrich an! Der Wiederholungs-" "Dialog erscheint:" #. Tag: phrase #: index.docbook:1585 #, no-c-format msgid "the repeat dialog" msgstr "" #. Tag: para #: index.docbook:1588 #, no-c-format msgid "" "Choose one of the offered repeat types by clicking the up/down arrow and " "press Ok button. The appropriate measure changes its type:" msgstr "" "Wählen Sie einen der angebotenen Wiederholungstypen durch Anklicken der Auf-/" "Abwärts-Pfeile aus und Drücken Sie auf den OK-Knopf! Der Taktstrich ändert " "seinen Typ:" #. Tag: phrase #: index.docbook:1594 #, no-c-format msgid "the repeat open measure" msgstr "" #. Tag: title #: index.docbook:1599 #, no-c-format msgid "Alternatives" msgstr "Alternativen" #. Tag: para #: index.docbook:1600 #, no-c-format msgid "" "If you select a closing repeat on repeat dialog the checkbox " "alternative1 is enabled. If you check it " "the checkbox alternative2 is enabled:" msgstr "" "Wenn Sie auf dem Wiederholungsdialog ein Wiederholungsende-Zeichen " "auswählen, so wird das Feld Ende 1 " "aktiviert. Wenn Sie dieses anwählen, so wird das Feld Ende " "2 aktiviert:" #. Tag: phrase #: index.docbook:1606 #, no-c-format msgid "the alternative checkboxes" msgstr "" #. Tag: para #: index.docbook:1609 #, no-c-format msgid "This way you can place the appropriate alternatives:" msgstr "Auf diese Weise können Sie die entsprechenden Alternativen festlegen:" #. Tag: phrase #: index.docbook:1615 #, no-c-format msgid "the alternative" msgstr "" #. Tag: para #: index.docbook:1618 #, no-c-format msgid "" "Both alternatives cover one measure at start. To change the alternative's " "width select 1. or 2. with left mouse click. The selected number appears red:" msgstr "" "Beide Alternativen überstreichen am Anfang nur einen Takt. Um die Länge der " "Alternativen zu ändern, klicken Sie mit der linken Maustaste die " "1. oder 2. " "an! Die gewählte Zahl erscheint in rot:" #. Tag: phrase #: index.docbook:1624 #, no-c-format msgid "the selected alternative" msgstr "" #. Tag: para #: index.docbook:1627 #, no-c-format msgid "Change the alternative width by pressing the left/right cursor key:" msgstr "" "Ändern Sie die Weite der Alternative durch Betätigen der Links-/Rechts-" "Cursortasten:" #. Tag: phrase #: index.docbook:1632 #, no-c-format msgid "the changed alternative" msgstr "" #. Tag: para #: index.docbook:1635 #, no-c-format msgid "" "To delete an alternative select the appropriate closing repeat and deselect " "the appropriate checkbox." msgstr "" "Um eine Alternative zu löschen, wählen Sie das entspechende " "Wiederholungsendezeichen und deselektieren das entsprechende Feld." #. Tag: title #: index.docbook:1638 #, no-c-format msgid "End bar" msgstr "Schlussstrich" #. Tag: para #: index.docbook:1639 #, no-c-format msgid "The same way you can insert an end bar:" msgstr "Auf dieselbe Weise können Sie einen Schlussstrich einfügen:" #. Tag: phrase #: index.docbook:1644 #, no-c-format msgid "double bar and end bar" msgstr "" #. Tag: para #: index.docbook:1648 #, no-c-format msgid "" "If you choose the end bar or repeat close you can control by hide " "following whether or not &nted; draws elements following the end " "bar on the same system:" msgstr "" "Wenn Sie den Schlussstrich oder die schließende Wiederholung ausgewählt " "haben, so können Sie mit Hilfe von Nachfolgendes verstecken bestimmen, ob &nted; Elemente darstellt, die dem Schlussstrich " "auf demselben System folgen oder nicht:" #. Tag: phrase #: index.docbook:1654 index.docbook:1662 #, fuzzy, no-c-format msgid "the end bar dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:1657 #, no-c-format msgid "It is your responsibility to delete following systems or pages!" msgstr "" "Es liegt in Ihrer Verantwortung, nachfolgende Systeme oder Seiten zu löschen!" #. Tag: title #: index.docbook:1668 #, no-c-format msgid "Double bar" msgstr "Doppeltaktstrich" #. Tag: para #: index.docbook:1669 #, no-c-format msgid "The same way you can insert a double bars:" msgstr "Auf dieselbe Weise können Sie Doppelstriche einfügen." #. Tag: phrase #: index.docbook:1674 #, no-c-format msgid "double bar" msgstr "" #. Tag: title #: index.docbook:1681 #, no-c-format msgid "Time signature changes" msgstr "Taktmaßänderungen" #. Tag: title #: index.docbook:1683 #, no-c-format msgid "Inserting or changing time signature changes" msgstr "Einfügen oder Ändern einer Taktmaßänderung" #. Tag: para #: index.docbook:1684 #, no-c-format msgid "" "To place a time signature change make sure &nted; is in edit mode (see The 3 modes). Right click a measure line. On " "dialog box select enable timesig" msgstr "" "Um eine Taktmaßänderung einzufügen, stellen Sie sicher, dass &nted; im " "Editier-Mode ist (siehe Die 3 Modi). " "Klicken Sie einen Taktstrich mit der rechten Maustaste an! Wählen Sie auf " "dem Dialog Taktmaßänderung ermöglichen" #. Tag: phrase #: index.docbook:1690 index.docbook:1702 #, no-c-format msgid "the timesig changed dialog" msgstr "" #. Tag: para #: index.docbook:1694 #, no-c-format msgid "" "On time signature panel choose the new numerator and denominator or one of " "the symbols or " " and press Ok:" msgstr "" "Wählen Sie auf dem Taktvorzeichen-Feld den Takt oder eines der beiden " "Symbole oder " " und drücken Sie auf Ok:" #. Tag: title #: index.docbook:1712 #, no-c-format msgid "Removing a time signature change" msgstr "Löschen einer Taktmaßänderung" #. Tag: para #: index.docbook:1713 #, no-c-format msgid "" "To delete an existing time signature change select the delete " "timesig checkbox." msgstr "" "Um eine Taktmaßänderung zu löschen, wählen Sie das Taktmaßzeichen " "löschen-Feld aus." #. Tag: title #: index.docbook:1718 #, no-c-format msgid "Clef changes" msgstr "Notenschlüsselwechsel" #. Tag: title #: index.docbook:1720 #, no-c-format msgid "Inserting clef changes" msgstr "Einfügen eines Notenschlüsselwechsels" #. Tag: para #: index.docbook:1721 #, no-c-format msgid "" "To place a clef change make sure &nted; is in insert/delete mode (see The 3 modes). Choose:" msgstr "" "Um einen Notenschlüsselwechsel einzufügen, stellen Sie sicher, dass &nted; " "im Einfüge-Mode ist (siehe Die 3 Modi). " "Wählen Sie:" #. Tag: menuchoice #: index.docbook:1723 #, no-c-format msgid "" "Insert Clefs" msgstr "" "Einfügen Schlüssel" #. Tag: para #: index.docbook:1729 #, no-c-format msgid "The clef change dialog appears:" msgstr "Der Notenschlüssel-Dialog erscheint:" #. Tag: phrase #: index.docbook:1735 #, fuzzy, no-c-format msgid "the clef change dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:1739 #, no-c-format msgid "" "Choose a clef by clicking the up/down arrow keys! The octave shift entry " "determins an optional octave shift of the clef." msgstr "" "Wählen Sie einen Notenschlüssel durch Anklicken der Pfeilauf-/-abwärts-" "Tasten! Das Oktavverschiebunsfeld legt eine optionale Oktavverschiebung des " "Notenschlüssels fest." #. Tag: para #: index.docbook:1759 #, no-c-format msgid "" "The adjust notes determins whether or not " "&nted; shall adjust the appropriate notes such that their pitch is kept. " "Press the Ok button! Click at the position " "to place the clef change on! The appropriate clef appears:" msgstr "" "Das Feld Noten justieren bestimmt, ob " "&nted; die entsprechenden Noten so justieren soll, dass ihre Tonhöhe " "erhalten bleibt.Drücken Sie den Ok-Knopf! " "Klicken Sie in die Nähe der Position, an der der neue Schlüssel erscheinen " "soll! Der entsprechende Schlüssel erscheint:" #. Tag: phrase #: index.docbook:1766 #, no-c-format msgid "the clef change" msgstr "" #. Tag: title #: index.docbook:1772 #, no-c-format msgid "Deleting a clef change" msgstr "Schlüsselwechsel entfernen" #. Tag: para #: index.docbook:1773 #, no-c-format msgid "" "To delete a clef change make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Click the clef change with left mouse " "button. The selected clef change appears in red color. Press the backspace " "key and the clef change will be deleted." msgstr "" "Um einen Schlüsselwechsel zu entfernen, stellen Sie sicher, dass &nted; im " "Editier-Mode ist (siehe Die 3 Modi). Noch " "'mal: Sie können diesen Mode temporär durch Drücken der Taste Strg " "erreichen. Klicken Sie den Schlüsselwechsel mit der linken Maustaste an! Der " "ausgewählte Schlüssel erscheint in rot. Drücken Sie die Taste Rück und der " "Schlüssel wird gelöscht." #. Tag: title #: index.docbook:1780 #, no-c-format msgid "Key signature changes" msgstr "Vorzeichenwechel" #. Tag: title #: index.docbook:1782 #, no-c-format msgid "Inserting key signature changes" msgstr "Einfügen eines Vorzeichenwechsels" #. Tag: para #: index.docbook:1783 #, no-c-format msgid "" "To place a key signature change make sure &nted; is in insert/delete mode " "(see The 3 modes). Choose:" msgstr "" "Um einen Vorzeichenwechsel zu platzieren, stellen Sie sicher, dass &nted; " "im Einfüge-Mode ist (siehe Die 3 Modi). " "Wählen Sie:" #. Tag: menuchoice #: index.docbook:1785 #, no-c-format msgid "" "Insert Insert keysig ..." msgstr "" "Einfügen Vorzeichnung " "einfügen ..." #. Tag: para #: index.docbook:1791 #, no-c-format msgid "The key signature dialog appears:" msgstr "Der Vorzeichendialog erscheint:" #. Tag: phrase #: index.docbook:1796 #, no-c-format msgid "key signature dialog" msgstr "" #. Tag: para #: index.docbook:1800 #, no-c-format msgid "" "Choose the new key signature. The adjust notes determins whether or not &nted; shall adjust the appropriate " "notes such that their pitch is kept. Press the Ok button! Click at the position to place the key signature " "change on:" msgstr "" "Das Feld Noten justieren bestimmt, ob " "&nted; die entsprechenden Noten so justieren soll, dass ihre Tonhöhe " "erhalten bleibt.Drücken Sie den Ok-Knopf! " "Klicken Sie in die Nähe der Position, an der die neue Vorzeichnung " "erscheinen soll! Die entsprechende Vorzeichnung erscheint:" #. Tag: phrase #: index.docbook:1807 #, no-c-format msgid "the key signature change" msgstr "" #. Tag: title #: index.docbook:1813 #, no-c-format msgid "Deleting a key signature change" msgstr "Löschen eines Vorzeichenwechsels" #. Tag: para #: index.docbook:1814 #, no-c-format msgid "" "To delete a key signature change make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Click the key signature change with " "left mouse button. The selected key signature appears in red color. Press " "the backspace key and the key signature change will be deleted." msgstr "" "Um einen Vorzeichenwechsel zu entfernen, stellen Sie sicher, dass &nted; im " "Editier-Mode ist (siehe Die 3 Modi). Noch " "'mal: Sie können diesen Mode temporär durch Drücken der Taste Strg " "erreichen. Klicken Sie den Vorzeichenwechsel mit der linken Maustaste an! " "Der ausgewählte Vorzeichenwechsel erscheint in rot. Drücken Sie die Taste " "Rück und der Vorzeichenwechel wird gelöscht." #. Tag: title #: index.docbook:1821 #, no-c-format msgid "Dynamics" msgstr "Lautstärkezeichen" #. Tag: title #: index.docbook:1823 #, no-c-format msgid "Insert dynamics" msgstr "Lautstärkezeichen einfügen" #. Tag: para #: index.docbook:1825 #, no-c-format msgid "" "To insert a dynamic symbol make sure &nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "Um ein Lautstärkezeichen einzufügen, stellen Sie sicher, dass &nted; im " "Einfüge-Mode ist (siehe Die 3 Modi). " "Wählen Sie:" #. Tag: menuchoice #: index.docbook:1827 #, no-c-format msgid "" "Insert Dynamics ..." msgstr "" "Einfügen Lautstärkezeichen ..." "" #. Tag: para #: index.docbook:1833 #, no-c-format msgid "" "Choose the dynamic symbol and click at the position to place the dynamic " "sign on." msgstr "" "Wählen Sie die neue Lautstärke und drücken Sie Ok. " "Klicken Sie in die Nähe der Position, an welcher das Lautstärkesymbol " "erscheinen soll." #. Tag: title #: index.docbook:1837 #, no-c-format msgid "Change the dynamic's position" msgstr "Ändern der Position eines Lautstärkezeichens" #. Tag: para #: index.docbook:1838 #, no-c-format msgid "" "To move a dynamic symbol make sure &nted; is in edit mode (see The 3 modes). Select the dynamic symbol by left " "clicking it. The selected symbol appears in red. Hold left mouse button and " "move the mouse. The dynamic symbol moves accordingly." msgstr "" "Um ein Lautstärkezeichen zu bewegen, stellen Sie sicher, dass &nted; im " "Editier-Mode ist (see Die 3 Modi). Wählen " "Sie das Lautstärkezeichen aus, indem Sie es mit der linken Maustaste " "anklicken! Das ausgewählte Symbol erscheint in rot. Halten Sie den linken " "Mausbutton gedrückt und bewegen Sie die Maus! Das Lautstärkezeichen bewegt " "sich entsprechend." #. Tag: para #: index.docbook:1842 #, no-c-format msgid "" "Although the dynamic symbols appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Obwohl die Lautstärkezeichen frei beweglich erscheinen, sind sie stets einem " "Symbol zugeordnet. Dieses Symbol wird durch eine dünne hellblaue Linie " "angezeigt:" #. Tag: phrase #: index.docbook:1849 #, no-c-format msgid "the assignment of dynamics" msgstr "" #. Tag: para #: index.docbook:1855 #, no-c-format msgid "" "&nted; tries to keep the position of the dynamic symbol relative to the " "symbol it is assigned to;" msgstr "" "&nted; versucht den relativen Abstand zu dem Symbol, zu dem es zugeordnet " "wurde zu erhalten;" #. Tag: para #: index.docbook:1856 #, no-c-format msgid "" "&nted; copies the dynamic symbol if the symbol it is assigned to is copied;" msgstr "" "&nted; kopiert das Lautstärkezeichen, wenn das Symbol, dem es zugeordnet " "wurde kopiert wird;" #. Tag: para #: index.docbook:1857 #, no-c-format msgid "" "&nted; removes the dynamic symbol if the symbol it is assigned to is removed;" msgstr "" "&nted; löscht das Lautstärkezeichen, wenn das Symbol, dem es zugeordnet " "wurde gelöscht wird;" #. Tag: para #: index.docbook:1858 #, no-c-format msgid "" "&nted; influences the volume of the staff of the symbol it is assigned to;" msgstr "" "&nted; beeinflusst die Laustärke der Notenzeile des Symbols, dem das " "Lautstärkezeichen zugeordnet wurde;" #. Tag: title #: index.docbook:1863 #, no-c-format msgid "Determine the MIDI volume of a dynamic symbol" msgstr "Festlegen der MIDI-Lautstärke eines Lautstärkezeichens" #. Tag: para #: index.docbook:1864 #, no-c-format msgid "" "Every dynamic symbol has a predefined MIDI volume between 0 and 127. To " "change the MIDI volume click the dynamic symbol with right mouse button. The " "volume dialog appears:" msgstr "" "Jedes Lautstärkezeichen hat eine vordefinierte MIDI-Lautstärke zwischen 0 " "and 127. Um die MIDI-Lautstärke zu ändern, klicken Sie das Lautstärkezeichen " "mit der rechten Maustaste an! Der Lautstärkedialog erscheint:" #. Tag: phrase #: index.docbook:1871 index.docbook:2009 #, no-c-format msgid "the volume dialog" msgstr "" #. Tag: para #: index.docbook:1875 #, no-c-format msgid "Select a MIDI volume and press OK!" msgstr "Wählen Sie eine Lautstärke und drücken Sie OK!" #. Tag: title #: index.docbook:1880 #, no-c-format msgid "Removing dynamics" msgstr "Löschen von Lautstärkezeichen" #. Tag: para #: index.docbook:1881 #, no-c-format msgid "" "To remove a dynamic symbol make sure &nted; is in edit mode (see The 3 modes). Select the dynamic symbol by left " "clicking it. The selected symbol appears in red. Press Backspace key and the " "dynamic symbol vanishes." msgstr "" "Um eine Lautstärkezeichen zu entfernen, stellen Sie sicher, dass &nted; im " "Editier-Mode ist (siehe Die 3 Modi). " "Wählen Sie das Lautstärkezeichen aus, indem Sie es mit der linken Maustaste " "anklicken! Das ausgewählte Symbol erscheint in rot. Drücken Sie die Rück-" "Taste und das ausgewählte Lautstärkesymbol verschwindet!" #. Tag: title #: index.docbook:1888 #, no-c-format msgid "Horizontal lines" msgstr "Waagerechte Linien" #. Tag: title #: index.docbook:1890 #, no-c-format msgid "Inserting horizontal lines" msgstr "Einfügen waagerechter Linien" #. Tag: para #: index.docbook:1892 #, no-c-format msgid "" "&nted; allows you to insert some horizontal lines. Among them (de-)crescendo " "(hairpins), va8, vb8, ma15, and mb15 lines. To insert a line make sure " "&nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "&nted; ermöglicht es Ihnen, einige waagerechte Linien, wie zum Beispiel (De-)" "Crescendo oder va8-, vb8-, ma15- und mb15-Linien zu erzeugen. Um eine Linie " "einzufügen, stellen Sie sicher, dass &nted; im Einfüge-Modus ist (siehe " "Die 3 Modi). Wählen Sie:" #. Tag: menuchoice #: index.docbook:1895 #, no-c-format msgid "" "Insert Insert lines ..." msgstr "" "Einfügen Linien ..." #. Tag: para #: index.docbook:1901 #, no-c-format msgid "The line dialog appears:" msgstr "Der Linien-Dialog erscheint:" #. Tag: phrase #: index.docbook:1907 #, fuzzy, no-c-format msgid "the line dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:1911 #, no-c-format msgid "" "Select a line by clicking on the appropriate box. The selected line appears " "red hemmed:" msgstr "" "Wählen Sie eine Linie aus, indem Sie in die entsprechende Box klicken! Die " "ausgewählte Linie erscheint rot umrandet:" #. Tag: phrase #: index.docbook:1917 #, no-c-format msgid "the line dialog (selected)" msgstr "" #. Tag: para #: index.docbook:1921 #, no-c-format msgid "" "Press OK and then left click the position where the line shall appear. A " "appropriate line is created:" msgstr "" "Drücken Sie auf Ok und klicken Sie mit der linken Maustaste die Position an, " "an der die Linie erscheinen soll. Die Linie wird erzeugt:" #. Tag: phrase #: index.docbook:1926 #, no-c-format msgid "a (de-)crescendo is created" msgstr "" #. Tag: para #: index.docbook:1930 #, no-c-format msgid "" "As you can see the line has 2 handles. By left clicking and dragging these " "handles you can determine the position and length:" msgstr "" "Wie Sie sehen können, hat die Linie 2 Kontrollpunkte. Durch Anklicken und " "Schieben dieser Kontrollpunkte können Sie die Position und Länge der Linie " "bestimmen:" #. Tag: phrase #: index.docbook:1936 #, no-c-format msgid "a (de-) crescendo is placed" msgstr "" #. Tag: para #: index.docbook:1940 #, no-c-format msgid "" "If you want a line to span multiple staves first move the end point " "vertically, even if the handle does not immedietely follow the mouse cursor!" msgstr "" "Wenn Sie eine Line erzeugen wollen, die mehrere Notenzeilen umfasst, so " "bewegen Sie zunächst den Endpunkt in senkrechter Richtung, auch dann , wenn " "der Kontrollpunkt nicht sofort dem Mauscursor folgt!" #. Tag: phrase #: index.docbook:1947 #, no-c-format msgid "create multi stave lines" msgstr "" #. Tag: para #: index.docbook:1954 #, no-c-format msgid "" "Note! The left handle determins the start position. The right handle only " "determins the horizontal end point, not the vertical position!" msgstr "" "Beachten Sie! Der linke Kontrollpunkt bestimmt die Startposition. Der rechte " "Kontrollpunkt bestimmt nur den waagerechten Endpunkt; nicht die senkrechte " "Position!" #. Tag: title #: index.docbook:1958 #, no-c-format msgid "Modifiying lines" msgstr "Linien modifizieren" #. Tag: para #: index.docbook:1960 #, no-c-format msgid "" "Although the line handles appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Obwohl die Linien-Kontrollpunkte frei beweglich erscheinen, sind sie stets " "einem Symbol zugeordnet. Dieses Symbol wird durch eine dünne hellblaue Linie " "angezeigt:" #. Tag: phrase #: index.docbook:1967 #, no-c-format msgid "the assignment of the crescendo handles" msgstr "" #. Tag: para #: index.docbook:1973 #, no-c-format msgid "" "&nted; tries to keep the position of the line handle relative to the symbol " "it is assigned to;" msgstr "" "&nted; versucht den relativen Abstand zu dem Symbol, zu dem er zugeordnet " "wurde zu erhalten;" #. Tag: para #: index.docbook:1974 #, no-c-format msgid "&nted; removes the line if the symbol it is assigned to is removed;" msgstr "" "&nted; löscht die Linie wenn das Symbol, dem der Kontrollpunkt zugeordnet " "wurde gelöscht wird;" #. Tag: para #: index.docbook:1975 #, no-c-format msgid "" "&nted; influences the MIDI replay of the appropriate staff, if possible;" msgstr "&nted; beeinflusst die MIDI-Wiedergabe, falls möglich;" #. Tag: para #: index.docbook:1978 #, no-c-format msgid "" "To change a line's length and position make sure &nted; is in edit mode (see " "The 3 modes). Select the start of a line " "with left mouse button. The 2 handles appear again:" msgstr "" "Um die Position und Länge einer Linie zu modifizieren, stellen Sie sicher, " "dass &nted; im Editier-Mode ist (siehe Die 3 " "Modi). Klicken Sie den Anfang einer Linie mit der linken Maustaste " "an! Die 2 Kontrollpunkte erscheinen erneut:" #. Tag: phrase #: index.docbook:1984 #, no-c-format msgid "the selection of the crescendo handles" msgstr "" #. Tag: para #: index.docbook:1988 #, no-c-format msgid "" "Thus, you can change the line's length and position again by dragging the 2 " "handles." msgstr "" "Dadurch können Sie die Position und Länge der Linie wieder durch Ziehen der " "2 Kontrollpunkte ändern." #. Tag: title #: index.docbook:1993 #, no-c-format msgid "Deleting a line" msgstr "Löschen einer Linie" #. Tag: para #: index.docbook:1994 #, no-c-format msgid "" "To delete a line make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Left click the start of a line. The " "selected handle appears in red color. Press the backspace key and the line " "will be deleted." msgstr "" "Um eine Linie zu entfernen, stellen Sie sicher, dass &nted; im Editier-Mode " "ist (siehe Die 3 Modi). Noch 'mal: Sie " "können diesen Mode temporär durch Drücken der Taste Strg erreichen. Klicken " "Sie den Anfang der Linie mit der linken Maustaste an! Der ausgewählte " "Kontrollpunkt erscheint in rot. Drücken Sie die Taste Rück und die Linie " "wird gelöscht." #. Tag: title #: index.docbook:2000 #, fuzzy, no-c-format msgid "(de-)crescendo (hairpins)" msgstr "(De-)Crescendo" #. Tag: para #: index.docbook:2002 #, no-c-format msgid "" "To determine the MIDI behaviour of the (de-)crescendo make sure &nted; is in " "edit mode (see The 3 modes). Select the " "start of a (de-)crescendo with right mouse button. The volume dialog appears:" msgstr "" "Um das MIDI-Verhalten des (De-)Crescendos zu bestimmen, stellen Sie sicher, " "dass &nted; im Editier-Modus ist (siehe Die 3 " "Modi). Wählen Sie den Anfang des (De-)Crescendos mit der rechten " "Maustaste an! Der Lautstärkedialog erscheint" #. Tag: para #: index.docbook:2013 #, no-c-format msgid "" "Define the MIDI volume difference caused by the (de-) crescendo and press OK!" msgstr "" "Bestimmen Sie die MIDI-Lautstärke-Differenz des (De-)Crescendos und drücken " "Sie auf OK!" #. Tag: title #: index.docbook:2017 #, no-c-format msgid "Ottava brackets: va8, bv8, ma15, mb15" msgstr "Oktavierung: va8, bv8, ma15, mb15" #. Tag: para #: index.docbook:2019 #, no-c-format msgid "These symbols change the octave of the enclosed notes." msgstr "Diese Symbole ändern die Oktave der eingeschlossenen Noten." #. Tag: title #: index.docbook:2025 #, no-c-format msgid "Tempo markers" msgstr "Tempozeichen" #. Tag: title #: index.docbook:2027 #, no-c-format msgid "Inserting tempo markers" msgstr "Tempozeichen einfügen." #. Tag: para #: index.docbook:2029 #, no-c-format msgid "" "To insert a tempo marker make sure &nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "Um ein Tempozeichen einzufügen, stellen Sie sicher, dass &nted; im Einfüge-" "Mode ist (siehe Die 3 Modi). Wählen Sie:" #. Tag: menuchoice #: index.docbook:2031 #, no-c-format msgid "" "Insert tempo ..." msgstr "" "Einfügen Tempozeichen ..." #. Tag: para #: index.docbook:2037 #, no-c-format msgid "The tempo dialog appears:" msgstr "Der Tempodialog erscheint:" #. Tag: phrase #: index.docbook:2043 index.docbook:2083 index.docbook:2328 #, fuzzy, no-c-format msgid "the tempo dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:2047 #, no-c-format msgid "" "Select a tempo symbol and a tempo and press \"OK\"! Then click at the " "position to place the tempo marker on." msgstr "" "Wählen Sie ein Tempo-Symbol und - wert und drücken Sie Ok. Klicken Sie in die Nähe der Position, an welcher das " "Tempozeichen erscheinen soll." #. Tag: title #: index.docbook:2051 #, no-c-format msgid "Change the tempo markers's position" msgstr "Ändern der Position eines Tempozeichens" #. Tag: para #: index.docbook:2052 #, no-c-format msgid "" "To move a tempo marker make sure &nted; is in edit mode (see The 3 modes). Select the tempo marker by left clicking " "it. The selected symbol appears in red. Hold left mouse button and move the " "mouse. The tempo marker moves accordingly." msgstr "" "Um ein Tempozeichen zu bewegen, stellen Sie sicher, dass &nted; im Editier-" "Mode ist (see Die 3 Modi). Wählen Sie das " "Tempozeichen aus, indem Sie es mit der linken Maustaste anklicken! Das " "ausgewählte Symbol erscheint in rot. Halten Sie den linken Mausbutton " "gedrückt und bewegen Sie die Maus! Das Tempozeichen bewegt sich entsprechend." #. Tag: para #: index.docbook:2056 #, no-c-format msgid "" "Although the tempo markers appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Obwohl die Tempozeichen frei beweglich erscheinen, sind sie stets einem " "Symbol zugeordnet. Dieses Symbol wird durch eine dünne hellblaue Linie " "angezeigt:" #. Tag: phrase #: index.docbook:2063 #, no-c-format msgid "the assignment of tempo markers" msgstr "" #. Tag: para #: index.docbook:2069 #, no-c-format msgid "" "&nted; tries to keep the position of the tempo marker relative to the symbol " "it is assigned to;" msgstr "" "&nted; versucht den relativen Abstand zu dem Symbol, zu dem es zugeordnet " "wurde zu erhalten;" #. Tag: para #: index.docbook:2070 #, no-c-format msgid "" "&nted; copies the tempo marker if the symbol it is assigned to is copied;" msgstr "" "&nted; kopiert das Tempozeichen, wenn das Symbol, dem es zugeordnet wurde " "kopiert wird;" #. Tag: para #: index.docbook:2071 #, no-c-format msgid "" "&nted; removes the tempo marker if the symbol it is assigned to is removed;" msgstr "" "&nted; löscht das Tempozeichen, wenn das Symbol, dem es zugeordnet wurde " "gelöscht wird;" #. Tag: title #: index.docbook:2076 #, no-c-format msgid "Changing the tempo values" msgstr "Ändern eines Tempozeichens" #. Tag: para #: index.docbook:2077 #, no-c-format msgid "" "To change the tempo value and/or symbol right click the tempo marker. The " "tempo dialog appears:" msgstr "" "Um den Tempowert, und/oder das Temposymbol zu ändern, klicken Sie das " "Tempozeichen mit der linken Maustste an! Der Tempodialog erscheint:" #. Tag: para #: index.docbook:2087 #, no-c-format msgid "Select a marker symbol and a tempo and press OK!" msgstr "Wählen Sie ein Symbol und ein Tempo und drücken Sie OK!" #. Tag: title #: index.docbook:2092 #, no-c-format msgid "Removing tempo markers" msgstr "Löschen von Tempozeichen" #. Tag: para #: index.docbook:2093 #, no-c-format msgid "" "To remove a tempo marker make sure &nted; is in edit mode (see The 3 modes). Select the tempo marker by left clicking " "it. The selected symbol appears in red. Press Backspace key and the tempo " "marker vanishes." msgstr "" "Um eine Tempozeichen zu entfernen, stellen Sie sicher, dass &nted; im " "Editier-Mode ist (siehe Die 3 Modi). " "Wählen Sie das Tempozeichen aus, indem Sie es mit der linken Maustaste " "anklicken! Das ausgewählte Symbol erscheint in rot. Drücken Sie die Rück-" "Taste und das ausgewählte Tempozeichen verschwindet!" #. Tag: title #: index.docbook:2101 #, no-c-format msgid "Arbitrary text" msgstr "Beliebiger Text" #. Tag: title #: index.docbook:2103 #, no-c-format msgid "Inserting arbitrary text" msgstr "Beliebigen Text einfügen" #. Tag: para #: index.docbook:2105 #, no-c-format msgid "" "Don't use this feature for lyrics, dynamics, accelerando, ritardando, or " "(de-)crescendo because &nted; has special means for these items, which " "partly influence the MIDI replay accordingly. (see Lyrics, Dynamics , Accelerato, Ritardando, and " "(de-)crescendo (hairpins))!" msgstr "" "Nutzen Sie diese Funktion nicht für Strophentext, Lautstärkezeichen, " "Accelerando, Ritardando oder (De-)Crescendo, weil &nted; dafür spezielle " "Mittel anbietet, welche die Wiedergabe entsprechend beeinflussen. (siehe " "Lyrics, Lautstärkezeichen , Accelerato, " "Ritardando und (De-)Crescendo)!" #. Tag: para #: index.docbook:2111 #, no-c-format msgid "" "To insert arbitrary text make sure &nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "Um beliebigen Text einzufügen, stellen Sie sicher, dass &nted; im Einfüge-" "Mode ist (siehe Die 3 Modi). Wählen Sie:" #. Tag: menuchoice #: index.docbook:2113 #, no-c-format msgid "" "Insert Text ..." msgstr "" "Einfügen Text ..." #. Tag: para #: index.docbook:2119 #, no-c-format msgid "The text dialog appears:" msgstr "Der Textdialog erscheint:" #. Tag: phrase #: index.docbook:2125 #, fuzzy, no-c-format msgid "the text dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:2129 #, no-c-format msgid "" "Insert a text in text field. Press the font button beneeth the text field if " "you whish a different font! The anchor field allows you to determine the " "anchor point:" msgstr "" "Schreiben Sie den Text in das Textfeld! Nutzen Sie den Font-(Letter-) Knopf " "unterhalb des Texteingabefeldes, wenn Sie einen anderen Font wünschen! Das " "Anker-Feld erlaubt es, die Textausrichtung festzulegen:" #. Tag: phrase #: index.docbook:2136 #, fuzzy, no-c-format msgid "the text alignment" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:2140 #, no-c-format msgid "" "Please prefer fonts like Sans or " "Serif. Depending on your system " "configuration other fonts can cause problems (pixelated appearence) on " "PostScript/PDF output. This often concerns fonts like " "Helvetica or Times." msgstr "" "Geben Sie Fonts wie Sans " "oderSerif den Vorzug. Abhängig von Ihrer " "Systemkonfiguration können andere Fonts beim PostScript/PDF-Export Probleme " "hervorrufen (pixelige Erscheinung). Das trifft häufig auf Fonts wie " "Helvetica oder Times zu." #. Tag: para #: index.docbook:2145 #, no-c-format msgid "" "The text often concerns the tempo (allegro) or the " "volume (forte). The 2 fields beneeth the font button " "allow you to influence the MIDI replay. To influence the volume check the " "enable volume change button and choose a volume. To " "influence the tempo check the enable tempo change " "button and choose a tempo." msgstr "" "Der Text hat häufig das Tempo (allegro) oder die " "Lautstärke (forte) zum Gegenstand. Die 2 Felder " "unterhalb des Font-(Letter-) Knopfes gestatten es, die Wiedergabe zu " "beeinflussen. Um die Lautstärke zu beeinlussen aktivieren Sie die Box " "Laustärkeänderung erlauben und stellen Sie eine " "Lautstärke ein! Um das Tempo zu beeinflussen, aktivieren Sie die Box " "Tempoänderung erlauben und stellen Sie ein Tempo ein!" #. Tag: para #: index.docbook:2150 #, no-c-format msgid "" "Furthermore, the text can cause an instrument change. To activate this check " "the enable instrument change button and select the " "new instrument." msgstr "" "Außerdem kann der Text einen Instrumentenwechsel bewirken. Um das zu " "aktivieren, aktivieren Sie den Knopf Instrumentenwechsel und wählen Sie ein Instrument aus." #. Tag: para #: index.docbook:2152 #, no-c-format msgid "" "If you enable the channel change, then playing the note will cause the staff " "to change MIDI channel." msgstr "" "Wenn Sie den Kanalwechsel zuschalten, dann bewirkt das Spielen der Note das " "Wechseln des MIDI-Kanals für diese Notenzeile." #. Tag: para #: index.docbook:2154 #, no-c-format msgid "" "If all is correct press \"OK\"! Then click at the position to place the " "arbitrary text on." msgstr "" "Wenn alles richtig ist, drücken Sie Ok. Klicken Sie " "in die Nähe der Position, an welcher der Text erscheinen soll!" #. Tag: para #: index.docbook:2156 #, no-c-format msgid "" "For the Segno staff please refer to the Segno " "section." msgstr "" "Um etwas über die Bedeutung der Segno-Knöpfe zu erfahren, schauen Sie bitte " "im Abschnitt über Segnos nach." #. Tag: title #: index.docbook:2161 #, no-c-format msgid "Special letters" msgstr "Spezielle Zeichen" #. Tag: para #: index.docbook:2163 #, no-c-format msgid "&nted; allowes you to place special letters like coda inside the text:" msgstr "&nted; gestattet die Verwendung spezieller Zeichen im Text:" #. Tag: para #: index.docbook:2165 #, no-c-format msgid "D.S. al \\O -->" msgstr "" #. Tag: title #: index.docbook:2190 #, no-c-format msgid "Change the position of the text" msgstr "Ändern der Position des Textes" #. Tag: para #: index.docbook:2191 #, no-c-format msgid "" "To move an arbitrary text make sure &nted; is in edit mode (see The 3 modes). Select the text by left clicking " "the text start . The text appears in red. Hold left mouse button and move " "the mouse. The text moves accordingly." msgstr "" "Um einen beliebigen Text zu bewegen, stellen Sie sicher, dass &nted; im " "Editier-Mode ist (see Die 3 Modi). Wählen " "Sie den Text aus, indem Sie den Textanfang mit der linken Maustaste " "anklicken! Der Text erscheint in rot. Halten Sie den linken Mausbutton " "gedrückt und bewegen Sie die Maus! Der Text bewegt sich entsprechend." #. Tag: para #: index.docbook:2195 #, no-c-format msgid "" "Although the arbitrary text appears to be free replaceable, it is always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Obwohl beliebiger Text frei beweglich erscheint, ist er stets einem Symbol " "zugeordnet. Dieses Symbol wird durch eine dünne hellblaue Linie angezeigt:" #. Tag: phrase #: index.docbook:2202 #, no-c-format msgid "the assignment of arbitrary text" msgstr "" #. Tag: para #: index.docbook:2208 #, no-c-format msgid "" "&nted; tries to keep the position of the arbitrary text relative to the " "symbol it is assigned to;" msgstr "" "&nted; versucht den relativen Abstand zu dem Symbol, zu dem er zugeordnet " "wurde zu erhalten;" #. Tag: para #: index.docbook:2209 #, no-c-format msgid "&nted; copies the text if the symbol it is assigned to is copied;" msgstr "" "&nted; kopiert den Text, wenn das Symbol, dem er zugeordnet wurde kopiert " "wird;" #. Tag: para #: index.docbook:2210 #, no-c-format msgid "&nted; removes the text if the symbol it is assigned to is removed;" msgstr "" "&nted; löscht den Text, wenn das Symbol, dem der Text zugeordnet wurde " "gelöscht wird;" #. Tag: title #: index.docbook:2215 #, no-c-format msgid "Changing the arbitrary text" msgstr "Ändern beliebigen Textes" #. Tag: para #: index.docbook:2216 #, no-c-format msgid "" "To change the text right click the text. The text dialog appears again. " "Thus, you can change the text and its properties." msgstr "" "Um den Text zu verändern,klicken Sie ihn mit der rechten Maustaste an! " "Wieder erscheint der Textdialog. Dadurch können Sie den Text und seine " "Eigenschaften ändern." #. Tag: title #: index.docbook:2222 #, no-c-format msgid "Removing arbitrary text" msgstr "Löschen beliebigen Textes" #. Tag: para #: index.docbook:2223 #, no-c-format msgid "" "To remove text make sure &nted; is in edit mode (see The 3 modes). Select the text by left clicking it. The " "selected text appears in red. Press Backspace key and the text vanishes." msgstr "" "Um beliebigen Text zu entfernen, stellen Sie sicher, dass &nted; im Editier-" "Mode ist (siehe Die 3 Modi). Wählen Sie " "den Text aus, indem Sie ihn mit der linken Maustaste anklicken! Der " "ausgewählte Text erscheint in rot. Drücken Sie die Rück-Taste und der " "ausgewählte Text verschwindet!" #. Tag: title #: index.docbook:2230 #, no-c-format msgid "Accelerato, Ritardando" msgstr "Accelerato, Ritardando" #. Tag: title #: index.docbook:2232 #, no-c-format msgid "Inserting Accelerato/Ritardando" msgstr "Accelerato/Ritardando einfügen" #. Tag: para #: index.docbook:2234 #, no-c-format msgid "" "To insert an accelerando or ritardando make sure &nted; is in insert mode " "(see The 3 modes). Choose:" msgstr "" "Um ein Accelerando oder Ritardando einzufügen, stellen Sie sicher, dass " "&nted; im Einfüge-Mode ist (siehe Die 3 Modi). Wählen Sie:" #. Tag: menuchoice #: index.docbook:2236 #, no-c-format msgid "" "Insert accelerando" msgstr "" "Einfügen Accelerando" #. Tag: para #: index.docbook:2242 #, no-c-format msgid "or." msgstr "oder:" #. Tag: menuchoice #: index.docbook:2245 #, no-c-format msgid "" "Insert ritardando" msgstr "" "Einfügen Ritardando" #. Tag: para #: index.docbook:2251 #, no-c-format msgid "" "Left click the position where the accelerando or ritardando shall appear:" msgstr "" "Klicken Sie mit der linken Maustaste die Position an, an der das Accelerando " "oder Ritardando erscheinen soll:" #. Tag: phrase #: index.docbook:2256 #, no-c-format msgid "an ritardando is created" msgstr "" #. Tag: para #: index.docbook:2260 #, no-c-format msgid "" "As you can see the accelerando (ritardando) has 3 handles. By left clicking " "and dragging these handles you can determine the position and influence " "range:" msgstr "" "Wie Sie sehen können, hat das Accelerando (Ritardando) 3 Kontrollpunkte. " "Durch Anklicken und Schieben dieser Kontrollpunkte können Sie die Position " "und den Wirkungsbreich bestimmen:" #. Tag: phrase #: index.docbook:2266 #, no-c-format msgid "an ritardando is placed" msgstr "" #. Tag: para #: index.docbook:2270 #, no-c-format msgid "" "If you want an accelerando or ritardando who's influence range spans " "multiple staves first move the start or end point vertically, even if the " "handle does not immedietely follow the mouse cursor!" msgstr "" "Wenn Sie ein Accelerando oder Ritardando erzeugen wollen, dessen " "Wirkungsbereich mehrere Notenzeilen umfasst, so bewegen Sie zunächst den " "Start- oder Endpunkt in senkrechter Richtung, auch dann , wenn der " "Kontrollpunkt nicht sofort dem Mauscursor folgt!" #. Tag: phrase #: index.docbook:2277 #, no-c-format msgid "create multi stave ritardando" msgstr "" #. Tag: para #: index.docbook:2284 #, no-c-format msgid "" "Note! The middle handle determins the position of the marker. The left and " "right handle only determin the horizontal position of the influence range! " "The influence range is not visible if the accelerando or ritardando isn't " "selected." msgstr "" "Beachten Sie! Der mittlere Kontrollpunkt bestimmt die Position des Zeichens. " "Der linke und rechte Kontrollpunkt bestimmt die Ausdehnung des " "Wirkungsbereiches! Der Wirkungsbereich ist nicht sichtbar, wenn das Zeichen " "nicht ausgewählt wurde." #. Tag: title #: index.docbook:2289 #, no-c-format msgid "Modifiying accelerando or ritardando" msgstr "Modifizieren von Accelerando oder Ritardando" #. Tag: para #: index.docbook:2291 #, no-c-format msgid "" "Although the accelerando(ritardando) handles appear to be free replaceable, " "they are always assigned to a symbol. The symbol is shown by a thin light " "blue line:" msgstr "" "Obwohl die Accelerando-(Ritardando-)-Kontrollpunkte frei beweglich " "erscheinen, sind sie stets einem Symbol zugeordnet. Dieses Symbol wird durch " "eine dünne hellblaue Linie angezeigt:" #. Tag: phrase #: index.docbook:2298 #, no-c-format msgid "the assignment of the ritardando handles" msgstr "" #. Tag: para #: index.docbook:2304 #, no-c-format msgid "" "&nted; tries to keep the position of the accelerando(ritardando) handle " "relative to the symbol it is assigned to;" msgstr "" "&nted; versucht den relativen Abstand des Accelerando-(Ritardando-) " "Kontrollpunktes zu dem Symbol, zu dem er zugeordnet wurde zu erhalten;" #. Tag: para #: index.docbook:2305 #, no-c-format msgid "" "&nted; removes the accelerando(ritardando) if the symbol it is assigned to " "is removed;" msgstr "" "&nted; löscht das Accelerando(Ritardando), wenn das Symbol, dem der " "Kontrollpunkt zugeordnet wurde gelöscht wird;" #. Tag: para #: index.docbook:2306 #, no-c-format msgid "&nted; influences the MIDI replay of the appropriate staff;" msgstr "&nted; beeinflusst die MIDI-Wiedergabe;" #. Tag: para #: index.docbook:2309 #, no-c-format msgid "" "To change a influence range and position of the accelerando(ritardando) " "marker make sure &nted; is in edit mode (see The " "3 modes). Select the marker with left mouse button. The 3 handles " "appear again:" msgstr "" "Um die Position des Zeichens oder den Wirkungsbereich zu modifizieren, " "stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Klicken Sie das Zeichen mit der linken " "Maustaste an! Die 3 Kontrollpunkte erscheinen erneut:" #. Tag: phrase #: index.docbook:2315 #, no-c-format msgid "the selection of the ritardando handles" msgstr "" #. Tag: para #: index.docbook:2319 #, no-c-format msgid "" "Thus, you can change the influence range and the marker position again by " "dragging the 3 handles." msgstr "" "Dadurch können Sie die Position des Zeichens und den Wirkungsbereich wieder " "durch Ziehen der 3 Kontrollpunkte ändern." #. Tag: para #: index.docbook:2321 #, no-c-format msgid "" "To determine the MIDI behaviour of the accelerando or ritardando make sure " "&nted; is in edit mode (see The 3 modes). " "Select the accelerando or ritardando marker with right mouse button. The " "tempo dialog appears:" msgstr "" "Um das MIDI-Verhalten des Accelerandos(Ritardandos) zu bestimmen, stellen " "Sie sicher, dass &nted; im Editier-Modus ist (siehe Die 3 Modi). Wählen Sie das Zeichen mit der rechten Maustaste an! " "Der Tempodialog erscheint" #. Tag: para #: index.docbook:2332 #, no-c-format msgid "" "Define the MIDI tempo diffenrence of the accelerando or ritardando and press " "OK!" msgstr "" "Bestimmen Sie die MIDI-Tempo-Differenz des Accelerandos(Ritardandos) und " "drücken Sie auf OK!" #. Tag: title #: index.docbook:2336 #, no-c-format msgid "Deleting an accelerando or ritardando" msgstr "Löschen eines Accelerandos oder Ritardandos" #. Tag: para #: index.docbook:2337 #, no-c-format msgid "" "To delete an accelerando or ritardando make sure &nted; is in edit mode (see " "The 3 modes). Again: You can achieve this " "mode temporarily by pressing the Ctrl key. Left click the accelerando or " "ritardando marker. The selected marker appears in red color. Press the " "backspace key and the accelerando(ritardando) will be deleted." msgstr "" "Um ein Accelerando oder Ritardando zu entfernen, stellen Sie sicher, dass " "&nted; im Editier-Mode ist (siehe Die 3 Modi). Noch 'mal: Sie können diesen Mode temporär durch Drücken der Taste " "Strg erreichen. Klicken Sie das Zeichen mit der linken Maustaste an! Das " "Zeichen erscheint in rot. Drücken Sie die Taste Rück und das Accelerato" "(Ritardando)wird gelöscht." #. Tag: title #: index.docbook:2345 #, no-c-format msgid "Chordnames" msgstr "Akkordnamen" #. Tag: para #: index.docbook:2346 #, no-c-format msgid "" "You can attach chord names to notes and rests. To do this make sure &nted; " "is in insert mode (see The 3 modes). " "Choose:" msgstr "" "Sie können Akkordnamen zu Noten und Pausen hinzufügen. Um dies zu tun, " "stellen Sie sicher, dass &nted; im Einfügemodus (see Die 3 Modi) ist. Wählen Sie:" #. Tag: menuchoice #: index.docbook:2350 #, no-c-format msgid "" "Insert chordname ..." msgstr "" "Einfügen Akkordname ..." #. Tag: para #: index.docbook:2356 #, no-c-format msgid "The chord name dialog appears" msgstr "Der Akkordnamesdialog erscheint:" #. Tag: phrase #: index.docbook:2362 index.docbook:2373 #, fuzzy, no-c-format msgid "the chord name dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:2366 #, no-c-format msgid "" "Insert a root, an up text and a down text. Then choose a size and a position " "relative to note line and press OK. Then click at the position to place the " "chordname on:" msgstr "" "Fügen Sie eine Wurzel, einen Hochtext und einen Indextext ein. Wählen Sie " "eine Texthöhe und einen relativen Abstand von der Notenzeile und drücken Sie " "auf OK! Klicken Sie dann in die Nähe der Position, an der der Akkordname " "erscheinen soll:" #. Tag: para #: index.docbook:2377 #, no-c-format msgid "" "&nted; allowes you to place special letters like the flat symbol inside the " "text:" msgstr "&nted; gestattet die Verwendung spezieller Zeichen im Text:" #. Tag: para #: index.docbook:2379 #, no-c-format msgid "A\\b -->" msgstr "" #. Tag: para #: index.docbook:2395 #, no-c-format msgid "" "The chord name dialog remains open till you press Cancel. This way you can place the same chordname at multiple places. If " "you change the chord on dialog box the next mouse click will insert the new " "chord." msgstr "" "Der Akkordnamesdialog bleibt offen, bis Sie auf Abbrechen klicken. Dadurch können Sie denselben Akkordnamen and mehreren " "Stellen platzieren. Wenn Sie den Akkordnamen in der Dialogbox ändern, so " "wird der neue Akkordname mit dem nächsten Mausklick eingefügt." #. Tag: para #: index.docbook:2398 #, no-c-format msgid "" "Modifying an deleting chord names works similar to modifying and deleting arbitrary text." msgstr "" "Das Modifizieren und Löschen von Akkordnamen erfolgt analog zu dem unter " "Beliebiger Text " "Beschriebenen." #. Tag: para #: index.docbook:2400 #, no-c-format msgid "" "Chord names are exported to LilyPond. But LilyPond offers a limited number " "of modifiers. It is your responsibility to use only LilyPond conform chord " "names." msgstr "" "Akkordnamen werden nach LilyPond exportiert. LilyPond bietet jedoch eine " "begrenzte Anzahl von Modifikatoren an. Es liegt in Ihrer Verantwortung, nur " "LilyPond-konforme Akkorde zu bilden." #. Tag: title #: index.docbook:2407 #, no-c-format msgid "Guitar chord diagrams and chord annotation" msgstr "Gitarrengrifftabellen und Akkordbenennung" #. Tag: para #: index.docbook:2408 #, no-c-format msgid "&nted; offers chord annotation and guitar chord diagrams" msgstr "" "&nted; bietet das Anfügen von Akkordbezeichnungen und Gitarrengrifftabellen." #. Tag: phrase #: index.docbook:2413 #, no-c-format msgid "chord examples" msgstr "" #. Tag: para #: index.docbook:2416 #, no-c-format msgid "" "Use this feature only if you really want to show a guitar chord diagram or " "if LilyPond export is needed. To show a chord name use the Chordnames feature." msgstr "" "Nutzen Sie diese Funktionalität nur, wenn Sie einen Gitarrengriff zeigen " "wollen, oder der Akkordname nach LilyPond exportiert werden soll. Um einen " "Akkordnamen anzuzeigen, verwenden Sie bitte die Akkordnamen Funktionalität." #. Tag: para #: index.docbook:2418 #, no-c-format msgid "" "LilyPond does not allow all chord " "modificators. The modificator remains empty if &nted; has to export such a " "chord name." msgstr "" "LilyPond erlaubt nicht alle Akkord-" "Modifikatoren. Der Modifikator bleibt leer, falls &nted; so einen " "Akkordnamen zu exportieren hat." #. Tag: para #: index.docbook:2420 #, no-c-format msgid "To insert a chord annotation and/or a guitar chord diagram choose:" msgstr "" "Um eine Akkordbeschreibung und/oder eine Gitarrengrifftabelle einzufügen, " "wählen Sie:" #. Tag: menuchoice #: index.docbook:2423 #, no-c-format msgid "" "Insert chord ..." msgstr "" "Einfügen Akkord ..." #. Tag: para #: index.docbook:2429 #, no-c-format msgid "The chord selection dialog appears" msgstr "Der Akkordauswahldialog erscheint:" #. Tag: phrase #: index.docbook:2435 #, fuzzy, no-c-format msgid "the chord dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:2439 #, no-c-format msgid "" "Choose a root and a modifyer. If you want to place a guitar chord diagram " "you should also select your preferred diagram by clicking on it in the right " "window. The guitar chord diagram is copied into the big left window." msgstr "" "Wählen Sie eine Wurzel und einen Modifikator! Wenn Sie eine " "Gitarrengrifftabele einfügen wollen, so sollten Sie Ihren Lieblingsgriff " "durch Anklicken im rechten Fenster auswählen. Die Grifftabelle wird in das " "große linke Fenster kopiert." #. Tag: para #: index.docbook:2443 #, no-c-format msgid "" "By means of the checkbox diagram you can determin " "whether the chord diagram is created on score." msgstr "" "Mit Hilfe der Aushwalbox diagram können Sie " "bestimmen, ob eine Gitarrengrifftabelle in der Partitur erzeugt wird." #. Tag: para #: index.docbook:2444 #, no-c-format msgid "" "By means of the checkbox text you can determin " "whether a textual description of the chord is created created on score." msgstr "" "Mit Hilfe der Auswahlbox text können Sie bestimmen, " "ob eine Textbeschreibung des Akkords in der Partitur erzeugt wird." #. Tag: para #: index.docbook:2446 #, no-c-format msgid "This way you can choose between:" msgstr "Auf diese Weise können Sie wählen:" #. Tag: para #: index.docbook:2448 #, no-c-format msgid "only the chord diagram" msgstr "Nur den Gittarengriff" #. Tag: para #: index.docbook:2449 #, no-c-format msgid "" "only the textual chord description (not recommended, use the Chordnames feature in this case)" msgstr "" "nur der Text (nicht empfohlen, nutzen Sie die Akkordnamen -Funktionalität)" #. Tag: para #: index.docbook:2450 #, no-c-format msgid "both, chord diagram and chord description" msgstr "" "sowohl die Gitarrengrifftabelle als auch die Textbeschreibung das Akkords" #. Tag: para #: index.docbook:2453 #, no-c-format msgid "" "Modifying an deleting chord annotations/chord diagrams works similar to " "modifying and deleting arbitrary " "text." msgstr "" "Das Modifizieren und Löschen von Akkordbeschreibungen/Gitarrengrifftabellen " "erfolgt analog zu dem unter Beliebiger Text Beschriebenen." #. Tag: title #: index.docbook:2460 #, no-c-format msgid "Upbeats" msgstr "Auftakte" #. Tag: para #: index.docbook:2461 #, no-c-format msgid "" "There are 2 possibilities to determine an upbeat. The first is mainly for " "newly written scores. Select the note or rest after the requested upbeat:" msgstr "" "Es gibt 2 Möglichkeiten, einen Auftakt festzulegen. Die erste ist " "hauptsächlich für neu geschriebene Partituren gedacht. Wählen Sie eine Note " "oder Pause aus, die hinter dem zu bildenden Auftakt liegt:" #. Tag: phrase #: index.docbook:2469 #, no-c-format msgid "prepare upbeat (give measure)" msgstr "" #. Tag: menuchoice #: index.docbook:2476 #, no-c-format msgid "" "Edit Upbeat ..." " give first measure" msgstr "" "Bearbeiten Auftakt ...Angabe des 1. vollen Taktes" #. Tag: para #: index.docbook:2483 #, no-c-format msgid "" "&nted; changes the begin such a way, that the selected chord or rest is the " "first member of the first full measure:" msgstr "" "&nted; ändert den Anfang so, dass die ausgewählte Note oder Pause das erste " "Element des ersten vollen Takts ist:" #. Tag: phrase #: index.docbook:2489 #, no-c-format msgid "upbeat given (give measure)" msgstr "" #. Tag: para #: index.docbook:2493 #, no-c-format msgid "" "The 2nd procedure is mainly for scores with beginning rests. Select the note " "or rest which shall be the first element:" msgstr "" "Die 2. Methode ist hauptsächlich für Partituren, die mit Pausen beginnen. " "Wählen Sie eine Note oder Pause, die das erste Element der Partitur werden " "soll:" #. Tag: phrase #: index.docbook:2500 #, no-c-format msgid "prepare upbeat (give start)" msgstr "" #. Tag: menuchoice #: index.docbook:2507 #, no-c-format msgid "" "Edit Upbeat ..." " give start" msgstr "" "Bearbeiten Auftakt ...Angabe des Starts" #. Tag: para #: index.docbook:2514 #, no-c-format msgid "" "&nted; delets all before the selected element. Thus, the selected element " "becomes the first element." msgstr "" "&nted; löscht alles vor dem ausgewählten Element. Dadurch wird dieses zum " "ersten Element." #. Tag: phrase #: index.docbook:2521 #, no-c-format msgid "upbeat given (give start)" msgstr "" #. Tag: para #: index.docbook:2525 #, no-c-format msgid "" "The upbeat rules require to shorten the last measure by the upbeat duration. " "&nted; doesn't perform this automatically. To shorten the last measure mark " "all concerned rests in all voices as described in Select a block:" msgstr "" "Die Auftakt-Regeln erfordern es, den letzten Takt um die Länge des Auftaktes " "zu kürzen. &nted; tut das nicht automatisch. Um den letzten Takt zu kürzen, " "markieren Sie alle betroffenen Pausen in allen Stimmen, wie in Einen Block auswählen beschrieben:" #. Tag: phrase #: index.docbook:2533 index.docbook:2549 #, fuzzy, no-c-format msgid "mark the rests" msgstr "Pausen unsichtbar machen" #. Tag: para #: index.docbook:2544 #, no-c-format msgid "The appropriate rests become invisible:" msgstr "Die Pausen werden unsichtbar:" #. Tag: para #: index.docbook:2553 #, no-c-format msgid "See also: Hiding rests!" msgstr "" "Siehe auch: Pausen unsichtbar machen" #. Tag: title #: index.docbook:2559 #, no-c-format msgid "Grace notes" msgstr "Vorschlagnoten" #. Tag: para #: index.docbook:2560 #, no-c-format msgid "&nted; offers 3 types of grace notes:" msgstr "&nted; bietet 3 Typen von Vorschlagnoten an:" #. Tag: phrase #: index.docbook:2565 #, no-c-format msgid "The grace notes" msgstr "" #. Tag: para #: index.docbook:2569 #, no-c-format msgid "" "To insert grace notes choose the appropriate note type on 2nd tooblox panel:" msgstr "" "Um eine Vorschlagnote einzufügen, wählen Sie diese auf dem 4. Einschub der " "Werkzeugkiste aus:" #. Tag: phrase #: index.docbook:2574 #, no-c-format msgid "The grace on toolbox" msgstr "Das Vorschlagnoten-Feld erscheint" #. Tag: para #: index.docbook:2578 #, no-c-format msgid "" "Select a grace notes type and insert it as described in chapter Inserting/Deleting notes." msgstr "" "Wählen Sie einen Vorschlagnotentyp aus und fügen Sie die Vorschlagnote wie " "im Kapitel Noten und Pausen einfügen " "beschrieben ein." #. Tag: para #: index.docbook:2579 #, no-c-format msgid "" "To remove a grace note select the grace note as described in chapter Shifting notes and rests and press " "backspace key" msgstr "" "Um eine Vorschlagnote zu löschen, wählen Sie sie wie in Bewegen von Noten und Pausen beschrieben aus und " "drücken Sie die Rück Taste!" #. Tag: title #: index.docbook:2584 #, no-c-format msgid "Lyrics" msgstr "Strophentext" #. Tag: title #: index.docbook:2586 #, no-c-format msgid "Inserting lyrics" msgstr "Strophentext einfügen" #. Tag: para #: index.docbook:2587 #, no-c-format msgid "" "You can attach up to 5 lines of lyrics to every note. You can use the same " "special characters as described in special letters in staff names. There are 2 ways: Direct writing " "or using the lyrics editor." msgstr "" "Sie können bis zu 5 Strophen zu jeder Note hinzufügen. Sie können dieselben " "Sonderzeichen, wie in Spezielle " "Zeichen in Notenzeilennamen beschrieben, nutzen. Es gibt 2 " "Möglichkeiten: Direktes Schreiben oder Nutzung des Stropheneditors." #. Tag: title #: index.docbook:2592 #, no-c-format msgid "Direct writing" msgstr "Direktes Schreiben" #. Tag: para #: index.docbook:2594 #, no-c-format msgid "To insert lyrics direct, select a note and choose:" msgstr "" "Um den Strophentext direkt einzugeben, wählen Sie eine Note und wählen Sie:" #. Tag: menuchoice #: index.docbook:2596 index.docbook:2621 #, no-c-format msgid "" "Insert lyrics" msgstr "" "Einfügen Strophen" #. Tag: para #: index.docbook:2602 #, no-c-format msgid "" "Choose a lyrics line bewteen 1 and 5. &nted; is in lyrics mode. Write a text " "on keyboard. The text appears below the note." msgstr "" "Wählen Sie eine Strophenzeile zwischen 1 und 5. &nted; ist im Strophenmodus. " "Schreiben Sie einen Text auf der Tastatur! Der Text erscheint unter der Note." #. Tag: phrase #: index.docbook:2607 #, no-c-format msgid "Lyrics" msgstr "" #. Tag: para #: index.docbook:2610 #, no-c-format msgid "" "To skip to next note either press a - key or press " "space key. To place a space inside a syllable insert an underscore" "(_) or a non breaking space symbol(\\.). Finish the " "lyrics mode with ESC." msgstr "" "Um zur nächsten Note zu wechseln, drücken Sie die - " "Taste oder drücken Sie die Leertaste. Um eine Leerstelle innerhalb einer " "Silbe zu platzieren, fügen Sie ein Unterstreichungszeichen (_) oder ein nichtbrechbares Leerzeichen (\\.) ein. Beenden Sie den " "Strophenmodus mit ESC!" #. Tag: para #: index.docbook:2612 #, no-c-format msgid "It is strongly recommended to fill the lyrics line from 1 to 5." msgstr "Es wird dringend empfohlen, die Textzeilen von 1 nach 5 zu füllen." #. Tag: title #: index.docbook:2617 #, no-c-format msgid "Modifying lyrics" msgstr "Strophentext modifizieren" #. Tag: para #: index.docbook:2618 #, no-c-format msgid "" "To modify lyrics make sure &nted; is in edit mode (see The 3 modes). Select a note with lyrics and choose:" msgstr "" "Um Strophentext zu modifizieren, stellen Sie sicher, dass &nted; im Editier-" "Mode ist (siehe Die 3 Modi). Wählen Sie " "eine Note mit Text aua und wählen Sie:" #. Tag: para #: index.docbook:2626 #, no-c-format msgid "" "Choose the lyrics line to be modified. The lyrics cursor appears. You can " "move the lyrics cursor with left/right cursor key, You can insert a letter " "by pressing the appropriate key. You can delete a letter by pressing the " "backspace key. If you delete the last letter the lyrics of this line are " "removed from current note. Finish the lyrics mode with ESC." msgstr "" "Wählen Sie die Strophe aus, welche modifiziert werden soll! Der Textcursor " "erscheint. Sie können den Textcursor durch Betätigen der Links-/Rechts-" "Cursortasten bewegen. Sie können einen neuen Buchstaben durch Drücken der " "entsprechenden Taste einfügen. Sie können einen Buchstaben durch Drücken der " "Rück-Taste löschen. Wenn Sie den letzten Buchstaben einer Strophenzeile " "löschen, so wird die gesamte Strophenzeile gelöscht. Beenden Sie den " "Strophenmodus mit der ESC-Taste!" #. Tag: title #: index.docbook:2632 #, no-c-format msgid "Lyrics editor" msgstr "Stropheneditor" #. Tag: para #: index.docbook:2633 #, no-c-format msgid "" "The 2nd possibility is to use the lyrics editor. If there are more than 2 " "staves select an arbitrary element of the staff the lyrics shall attached " "to. Choose:" msgstr "" "Die 2. Möglichkeit ist die Benutzung des Stropheneditors. Wenn es mehr als 2 " "Notenzeilen gibt, so wählen Sie ein beliebiges Element aus der Notenzeile, " "zu der die Strophen hinzugefügt werden sollen, aus! Wählen Sie:" #. Tag: menuchoice #: index.docbook:2636 #, no-c-format msgid "" "Tools Lyrics editor" msgstr "" "Werkzeuge Stropheneditor" #. Tag: para #: index.docbook:2642 #, no-c-format msgid "The lyrics editor appears:" msgstr "Der Stropheneditor erscheint:" #. Tag: phrase #: index.docbook:2647 #, no-c-format msgid "The lyrics editor" msgstr "" #. Tag: para #: index.docbook:2651 #, no-c-format msgid "" "Select the verse by selecting a tab! Then insert the lyrics syllable by " "syllable. Every hyphen and every space is interpreted as separator. To leave " "on note blank place a single dot('.'). To place a space inside a syllable " "insert an underscore(_) or a non breaking space symbol" "(\\.)." msgstr "" "Wählen Sie eine Strophe mit Hilfe der Reiter aus! Dann fügen Sie den Text " "Silbe für Silbe ein! Jeder Abteilstrich und jede Leerstelle wird als Trenner " "interpretiert. Um eine Note auszulassen, platzieren Sie einen einzelnen Punkt" "('.'). Um eine Leerstelle innerhalb einer Silbe einzufügen, platzieren Sie " "ein Unterstreichungszeichen (_) oder ein " "nichtbrechbares Leerzeichen(\\.)." #. Tag: para #: index.docbook:2658 #, no-c-format msgid "" "You can save and load the verse by pressing the save to " "file or load from file, " "respectively." msgstr "" "Sie können die Strophe durch Drücken von In Datei speichern " " oder Aus Datei laden " "speichern bzw. laden." #. Tag: para #: index.docbook:2661 #, no-c-format msgid "" "If all is correct press Apply or " "OK! Both will update the lyrics, but " "OK closes the lyrics editor." msgstr "" "Wenn alles richtig ist, so drücken Sie auf Anwenden oder Ok! Beides " "aktualisiert den Strophentext, aber Ok " "schließt den Stropheneditor." #. Tag: title #: index.docbook:2666 #, no-c-format msgid "D.S./Capo al Coda/D.S./Capo al Fine" msgstr "D.S./Capo al Coda/D.S./Capo al Fine" #. Tag: para #: index.docbook:2668 #, no-c-format msgid "An example of a D.S. al Coda could be as follows:" msgstr "Ein Beispiel für D.S. al Coda könnte so aussehen:" #. Tag: phrase #: index.docbook:2673 #, no-c-format msgid "the segno principle" msgstr "" #. Tag: para #: index.docbook:2677 #, no-c-format msgid "" "To place the Coda and Segno sign make sure &nted; is in insert/delete mode " "(see The 3 modes). Choose:" msgstr "" "Um ein Coda- oder Segnozeichen einzufügen, stellen Sie sicher, dass &nted; " "im Einfüge-Mode ist (siehe Die 3 Modi). " "Wählen Sie:" #. Tag: menuchoice #: index.docbook:2680 index.docbook:2723 #, no-c-format msgid "" "Insert Insert sign ..." msgstr "" "Einfügen Zeichen einfügen ..." "" #. Tag: para #: index.docbook:2686 index.docbook:2729 #, no-c-format msgid "The sign dialog appears:" msgstr "Der Zeichen-Dialog erscheint:" #. Tag: phrase #: index.docbook:2692 index.docbook:2735 #, no-c-format msgid "The sign dialog" msgstr "Der Unterschrifts-Dialof" #. Tag: para #: index.docbook:2696 #, no-c-format msgid "" "Choose the appropriate sign and click at the position to place the sign on! " "Modifying an deleting signs works similar to modifying and deleting arbitrary text." msgstr "" "Wählen Sie das entsprechende Zeichen aus und klicken Sie die Position an, an " "der das Zeichen erscheinen soll! Das Modifizieren und Löschen funktioniert " "analog zum Modifizieren und " "Löschen beliebigen Texte." #. Tag: para #: index.docbook:2699 #, no-c-format msgid "" "Then place a text like \"D.S. al Coda\" or " "\"Repeat from Segno then Coda\" als explained in Arbitrary text. To express these texts shall " "control the replay you have to choose the appropriate properties on text " "dialog:" msgstr "" "Dann platzieren Sie einen Text wie etwa \"D.S. al Coda\" oder \"Repeat from Segno then Coda\", wie " "im Abschnitt Beliebiger Text " "erläutert.Um auszudrücken, dass diese Texte die Wiedergabe steuern sollen, " "müssen Sie die entsprechenden Eigenschaften im Textdialog einstellen:" #. Tag: phrase #: index.docbook:2707 #, fuzzy, no-c-format msgid "the segno on text dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:2711 #, no-c-format msgid "" "The same way you can create D.S. al Fine, " "Da Capo al Coda and Da Capo al Fine. See also: Arbitrary text." msgstr "" "Auf dieselbe Weise können Sie D.S. al Fine, " "Da Capo al Coda und Da Capo al Fine erzeugen. Siehe auch: Beliebiger " "Text." #. Tag: title #: index.docbook:2718 #, no-c-format msgid "Breath Signs" msgstr "Atmungszeichen" #. Tag: para #: index.docbook:2720 #, no-c-format msgid "" "To place breath sign make sure &nted; is in insert/delete mode (see The 3 modes). Choose:" msgstr "" "Um einen Atmusgzeichen einzufügen, stellen Sie sicher, dass &nted; im " "Einfüge-Mode ist (siehe Die 3 Modi). " "Wählen Sie:" #. Tag: para #: index.docbook:2739 #, no-c-format msgid "" "Choose the appropriate sign and click at the position to place the sign on! " "Deleting breath signs works similar to modifying and deleting arbitrary text." msgstr "" "Wählen Sie das entsprechende Zeichen aus und klicken Sie die Position an, an " "der das Zeichen erscheinen soll! Das Löschen von Atmunsgzeichen funktioniert " "analog zum Modifizieren und " "Löschen beliebigen Texte." #. Tag: title #: index.docbook:2745 #, no-c-format msgid "Transpose" msgstr "Transponieren" #. Tag: para #: index.docbook:2746 #, no-c-format msgid "" "&nted; offers the transpose functionallity. If you want only a subset of " "notes to be transposed, then draw a selection rectangle as described in " "Select a block. Then choose:" msgstr "" "&nted; ermöglicht das Transponieren. Wenn Sie nur eine Teilmenge an Noten " "transponieren wollen, so zeichnen Sie ein Auswahlrechteck, wie in Einen Block auswählen beschrieben. Wählen " "Sie dann:" #. Tag: menuchoice #: index.docbook:2749 #, no-c-format msgid "" "Tools Transpose ..." msgstr "" "Werkzeuge Transponieren ..." #. Tag: para #: index.docbook:2755 #, no-c-format msgid "The transposition dialog appears:" msgstr "Der Transpositionsdialog erscheint:" #. Tag: phrase #: index.docbook:2760 #, fuzzy, no-c-format msgid "The transposition dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:2764 #, no-c-format msgid "" "Choose the number of half-tones. If you drew a selection rectange the " "use selection box is active. You can " "determine whether or not to use the selection rectangle." msgstr "" "Wählen Sie die Anzahl der Halbtöne aus. Wenn Sie ein Auswahlrechteck " "gezeichnet haben, ist die Box Auswahl nutzen aktiv. Sie können wählen, ob Sie das Auswahlrechteck " "benutzen wollen oder nicht." #. Tag: para #: index.docbook:2767 #, no-c-format msgid "" "If there is no selection rectangle you can select the staves to be " "transposed. Press OK and &nted; transposes the appropriate notes." msgstr "" "Wenn es kein Auswahlrechteck gibt, so können Sie die Notezeilen wählen. " "Drücken Sie auf OK! &nted; transponiert die Noten entsprechend." #. Tag: para #: index.docbook:2770 #, no-c-format msgid "" "It is your responsibility to change the key signature (see Change staff properties and Inserting key signature changes." msgstr "" "Es liegt in Ihrer Verantwortung, die Vorzeichnung zu ändern (siehe Die Eigenschaften einer Notenzeile ändern and " "Vorzeichenwechel." #. Tag: title #: index.docbook:2775 #, no-c-format msgid "Change Accidentals" msgstr "Vorzeichen ändern" #. Tag: para #: index.docbook:2776 #, no-c-format msgid "" "In some seldom cases it is desirable to change sharps against flats, and " "vice versa:" msgstr "" "In einigen seltenen Fällen ist es wünschenswert Bs gegen Kreuze und " "umgekehrt zu tauschen:" #. Tag: phrase #: index.docbook:2781 #, no-c-format msgid "change accidentals" msgstr "" #. Tag: para #: index.docbook:2784 #, no-c-format msgid "" "&nted; offers this functionallity. If you want only a subset of notes to be " "affected, then draw a selection rectangle as described in Select a block. Then choose:" msgstr "" "&nted; ermöglicht das diese Funktionalität. Wenn nur eine Teilmenge an Noten " "betroffen sein soll, so zeichnen Sie ein Auswahlrechteck, wie in Einen Block auswählen beschrieben.Wählen Sie " "dann:" #. Tag: menuchoice #: index.docbook:2787 #, no-c-format msgid "" "Tools set all to sharp ..." msgstr "" "Werkzeuge Setze Kreuze ..." #. Tag: menuchoice #: index.docbook:2794 #, no-c-format msgid "" "Tools set all to flat ..." msgstr "" "Werkzeuge Setze Bs ..." #. Tag: para #: index.docbook:2800 #, no-c-format msgid "The selection dialog appears:" msgstr "Der Auswahldialog erscheint:" #. Tag: phrase #: index.docbook:2805 #, fuzzy, no-c-format msgid "The selection dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:2809 #, no-c-format msgid "" "If you drew a selection rectange the use selection box is active. You can determine whether or not to use the " "selection rectangle." msgstr "" "Wenn Sie ein Auswahlrechteck gezeichnet haben, ist die Box " "Auswahl nutzen aktiv. Sie können wählen, ob " "Sie das Auswahlrechteck benutzen wollen oder nicht." #. Tag: para #: index.docbook:2812 #, no-c-format msgid "" "If there is no selection rectangle you can select the staves to be affacted. " "Press OK and &nted; changes the appropriate notes." msgstr "" "Wenn es kein Auswahlrechteck gibt, so können Sie die Notezeilen wählen. " "Drücken Sie auf OK! &nted; ändert die Noten entsprechend." #. Tag: title #: index.docbook:2818 #, no-c-format msgid "Title, composer, and arranger" msgstr "Titel, Komponist und Arrangeur" #. Tag: para #: index.docbook:2819 #, no-c-format msgid "" "To attach some score information (title, subject, composer, arranger, " "copyright) select:" msgstr "" "Um Partiturinformationen hinzuzufügen (Titel, Thema, Komponist, Arrangeur, " "Copyright), wählen Sie:" #. Tag: menuchoice #: index.docbook:2821 #, no-c-format msgid "" "Edit Score info ..." msgstr "" "Bearbeiten " "Partiturinformationen ..." #. Tag: para #: index.docbook:2826 #, no-c-format msgid "The score information dialog appears:" msgstr "Der Partiturinformationen-Dialog erscheint:" #. Tag: phrase #: index.docbook:2831 #, no-c-format msgid "The score information dialog" msgstr "" #. Tag: para #: index.docbook:2835 #, no-c-format msgid "" "Insert the name of the composer, arranger, the subject and the copyright and " "press OK. This information is shown at the first page of the score." msgstr "" "Geben Sie den Namen des Komponisten, Arrangeurs, Themas und das Copyright " "ein und drücken Sie OK! Diese Informationen werden auf der ersten Seite der " "Partitur angezeigt." #. Tag: title #: index.docbook:2839 #, no-c-format msgid "Pages" msgstr "Seiten" #. Tag: title #: index.docbook:2842 #, no-c-format msgid "Page layout" msgstr "Seitenlayout" #. Tag: para #: index.docbook:2843 #, no-c-format msgid "To change the page layout choose:" msgstr "Um das Seitenlayout zu ändern, wählen Sie:" #. Tag: menuchoice #: index.docbook:2845 #, no-c-format msgid "" "File Configure Paper ..." msgstr "" "Datei Papier konfigurieren" #. Tag: para #: index.docbook:2850 #, no-c-format msgid "" "Choose A3, A4, A5, B4, Letter, Legal, or 230x293 and the orientation " "(portrait or landscape)." msgstr "" "Wählen Sie A3, A4, A5, B4, Letter, Legel oder 230x293 und die Orientierung " "(Hochformat oder Querformat)!" #. Tag: title #: index.docbook:2855 #, no-c-format msgid "Navigation on pages" msgstr "Seiten anwählen" #. Tag: para #: index.docbook:2856 #, no-c-format msgid "" "&nted; presents the score on a seeming endless paper. You can move this " "paper in page mode (see The 3 modes). " "Again: You can achieve this mode temporarily by pressing the Shift key. In " "page mode if you hold the left mouse button and move the mouse the paper " "moves accordingly." msgstr "" "&nted; stellt die Seiten auf einem scheinbar endlosen Papier dar. Sie können " "dieses Papier im Seiten-Mode (siehe Die 3 Modi) bewegen. Noch 'mal: Sie können diesen Mode temporär durch Drücken der " "Shift-(Hochstell-) Taste erreichen. Wenn Sie im Seiten-Mode die linke " "Maustaste drücken und halten und die Maus bewegen, so bewegt sich das Papier " "entsprechend." #. Tag: para #: index.docbook:2863 #, no-c-format msgid "" "Furthermore you can jump to a certain page by using the page selector " "() ot the page up/down " "keys." msgstr "" "Außerdem können Sie durch Betätigen des Seitenzählers oder durch\n" "Betätigen der Bildauf-/ab-Tasten () zu einer bestimmten Seite springen." #. Tag: para #: index.docbook:2867 #, no-c-format msgid "Furthermore you can use the mouse wheel to navigate on page." msgstr "Und sie können auf der Seite mit Hilfe des Mausrades navigieren." #. Tag: title #: index.docbook:2871 #, no-c-format msgid "Delete the last page" msgstr "Letzte Seite löschen" #. Tag: para #: index.docbook:2872 #, no-c-format msgid "If there is more than one page you can delete the last page. Choose:" msgstr "" "Wenn es mehr als eine Seite gibt, so können Sie die letzte Seite löschen. " "Wählen Sie:" #. Tag: menuchoice #: index.docbook:2874 #, no-c-format msgid "" "Edit Remove last page" msgstr "" "Bearbeiten Letzte Seite " "löschen" #. Tag: title #: index.docbook:2882 #, no-c-format msgid "Remove empty pages at end" msgstr "Leere Seiten am Ende löschen" #. Tag: para #: index.docbook:2883 #, no-c-format msgid "" "Under some circumstances it can happen that there are some empty pages at " "score end, i.e. pages which consist of only rest. To delete these pages " "choose:" msgstr "" "Unter bestimmten Umständen kann es vorkommen, dass am Ende mehrere leere " "Seiten sind, also Seiten die aus nur Pausen bestehen. Um diese Seiten zu " "löschen, wählen Sie:" #. Tag: menuchoice #: index.docbook:2888 #, no-c-format msgid "" "Edit Remove empty pages" msgstr "" "Bearbeiten Leere Seiten am " "Ende löschen" #. Tag: title #: index.docbook:2897 #, no-c-format msgid "Multiple windows and Excerpt" msgstr "Mehrere Fenster und Partiturauszug" #. Tag: title #: index.docbook:2900 #, no-c-format msgid "Multiple windows" msgstr "Mehrere Fenster" #. Tag: para #: index.docbook:2902 #, no-c-format msgid "" "&nted; allowes you to open as many windows as you want. This is useful if " "you want to compare two different scores or if you want to copy parts of one " "score to another score. To open a new window choose:" msgstr "" "&nted; gestattet es, so viele Fenster, wie man will zu erzeugen. Das ist " "hilfreich, um verschiedene Partituren miteinander zu vergleichen oder Teile " "einer Partitur in eine andere Partitur zu kopieren. Um ein neues Fenster zu " "erzeugen, wählen Sie:" #. Tag: menuchoice #: index.docbook:2905 #, no-c-format msgid "" "File New Window" msgstr "" "Datei Neues Fenster" #. Tag: para #: index.docbook:2911 #, no-c-format msgid "a new window appears:" msgstr "Das neue Fenster erscheint:" #. Tag: phrase #: index.docbook:2917 #, no-c-format msgid "A new window" msgstr "" #. Tag: para #: index.docbook:2921 #, no-c-format msgid "" "With the new window you can do all you could do with the first one. If you " "want to copy/paste between different windows please make shure " "both windows are in edit mode (see The 3 modes):" msgstr "" "Mit dem neuen Fester können Sie alles das machen, was Sie mit dem ersten " "Fenster tun konnten. Um Teile zwischen verschiedenen Fenstern zu kopieren, " "stellen Sie sicher, dass beide Fenster in Editiermodus " "sind (siehe Die 3 Modi):" #. Tag: phrase #: index.docbook:2928 #, no-c-format msgid "copy/paste between 2 windows" msgstr "" #. Tag: para #: index.docbook:2932 #, no-c-format msgid "" "See also: Block instructions." msgstr "Siehe auch: Blockbefehle." #. Tag: para #: index.docbook:2934 #, no-c-format msgid "To delete a window choose:" msgstr "Um ein Fenster zu schließen, wählen Sie:" #. Tag: menuchoice #: index.docbook:2936 #, no-c-format msgid "" "File Close Window" msgstr "" "Datei Fenster schließen" #. Tag: title #: index.docbook:2943 #, no-c-format msgid "Extract a subset of staves" msgstr "Partiturauszug" #. Tag: para #: index.docbook:2944 #, no-c-format msgid "" "&nted; allows you to copy a subset of staves into the 2nd window. To do this " "choose:" msgstr "" "&nted; ermöglich es Ihnen, einen Partiturauszug in einem 2. Fenster zu " "erzeugen. Um dies zu tun, wählen Sie:" #. Tag: menuchoice #: index.docbook:2946 #, no-c-format msgid "" "File Excerpt ..." msgstr "" "Datei Excerpt ..." #. Tag: para #: index.docbook:2951 #, no-c-format msgid "The staff selection dialog appears:" msgstr "Der Notenzeilenauswahldialog erscheint:" #. Tag: phrase #: index.docbook:2956 #, fuzzy, no-c-format msgid "The staff selection dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:2960 #, no-c-format msgid "" "Select the subset of ataves, to be copied. To select more than 1 staff press " "Ctrl during selection. To select a range of staves press and hold Shift. " "Then select the first and the last staff of the range." msgstr "" "Wählen Sie eine Teilmenge zu kopierender Notenzeilen aus! Um mehr als eine " "Notenzeile auszuwählen, drücken Sie die Strg-Taste während der Auswahl. Um " "einen Bereich auszuwählen, drücken und halten Sie die Shift-(Hochstell-) " "Taste und wählen Sie die erste und die letzte Notenzeile aus!" #. Tag: para #: index.docbook:2964 #, no-c-format msgid "" "Press Ok! The subset of staves is copied into a 2nd " "window:" msgstr "" "Drücken Sie auf Ok! Der Partiturauszug wird in das 2. " "Fenster kopiert:" #. Tag: phrase #: index.docbook:2969 #, no-c-format msgid "the excerpt" msgstr "" #. Tag: title #: index.docbook:2976 #, no-c-format msgid "Scaling the whole score" msgstr "Skalieren der gesamten Partitur" #. Tag: para #: index.docbook:2978 #, no-c-format msgid "" "&nted; allowes you to continously scale the score. As a result you get " "different note sizes:" msgstr "" "&nted; ermöglicht es Ihnen, die gesamte Partitur zu skalieren. Dadurch " "erhält man verschieden große Noten:" #. Tag: phrase #: index.docbook:2983 #, no-c-format msgid "scaling the score" msgstr "Längenänderungen" #. Tag: para #: index.docbook:2987 #, no-c-format msgid "To scale the score choose:" msgstr "Um die Partitur zu skalieren, wählen Sie:" #. Tag: menuchoice #: index.docbook:2989 #, no-c-format msgid "" "File Change Scale ..." msgstr "" "DateiPartitur skalieren..." #. Tag: para #: index.docbook:2995 #, no-c-format msgid "The scale dialog appears:" msgstr "Der Skalierungs-Dialog erscheint:" #. Tag: phrase #: index.docbook:3000 #, fuzzy, no-c-format msgid "the scale dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:3004 #, no-c-format msgid "Determine the scaling factor and press OK!" msgstr "Wählen Sie den Skalierungsfaktor und drücken Sie auf OK!" #. Tag: title #: index.docbook:3008 #, no-c-format msgid "Documentation" msgstr "Dokumentation" #. Tag: para #: index.docbook:3009 #, no-c-format msgid "To consult the documentation choose" msgstr "Um in der Dokumentation nachzuschlagen, wählen Sie:" #. Tag: menuchoice #: index.docbook:3011 #, no-c-format msgid "" "Help Documentation ..." msgstr "" "Hilfe Dokumentation ..." #. Tag: para #: index.docbook:3017 #, no-c-format msgid "" "The documentation is availabe only if the following programs were installed " "during ./configure step on your system:" msgstr "" "Die Dokumentation ist nur dann verfügbar, wenn während des ./" "configure-Schritts die folgenden Programme auf Ihrem System " "verfügbar waren:" #. Tag: para #: index.docbook:3021 #, no-c-format msgid "" "yelp from GNOME project (package gnome-extra)" msgstr "" "yelp aus dem GNOME project (package gnome-extra)" #. Tag: ulink #: index.docbook:3022 #, no-c-format msgid "xmlto" msgstr "" #. Tag: title #: index.docbook:3027 #, no-c-format msgid "Save and restore" msgstr "Sichern und Laden" #. Tag: title #: index.docbook:3029 #, no-c-format msgid "Save" msgstr "Sichern" #. Tag: para #: index.docbook:3030 #, no-c-format msgid "To save your score choose:" msgstr "Um die Partitur zu sichern, wählen Sie:" #. Tag: menuchoice #: index.docbook:3032 #, no-c-format msgid "" "File Save as..." msgstr "" "Datei Speichern als ..." #. Tag: para #: index.docbook:3037 #, no-c-format msgid "" "Choose a file name on dialog and press OK! The default suffix is " ".ntd." msgstr "" "Wählen Sie auf dem Dialog einen Dateinamen und drücken Sie auf OK! Die " "Standardendung ist .ntd." #. Tag: para #: index.docbook:3038 #, no-c-format msgid "To save a file which was already stored before choose:" msgstr "" "Um eine Datei zu sichern, die vorher schon einmal gesichert war, wählen Sie" #. Tag: menuchoice #: index.docbook:3040 #, no-c-format msgid "File Save" msgstr "" "Datei Speichern" #. Tag: title #: index.docbook:3047 #, no-c-format msgid "Restore" msgstr "Laden" #. Tag: para #: index.docbook:3048 #, no-c-format msgid "To restore a previous saved score choose:" msgstr "Um eine vorher gesicherte Partitur wieder zu laden, wählen Sie:" #. Tag: para #: index.docbook:3055 #, no-c-format msgid "Choose a file name on dialog and press OK!" msgstr "Wählen Sie einen Dateinamen und drücken Sie OK!" #. Tag: title #: index.docbook:3058 #, no-c-format msgid "New file" msgstr "Neu" #. Tag: para #: index.docbook:3059 #, no-c-format msgid "To start with a totally new (empty) score choose:" msgstr "Um mit einer völlig neuen (leeren) Partitur zu beginnen, wählen Sie:" #. Tag: menuchoice #: index.docbook:3061 #, no-c-format msgid "File New" msgstr "Datei Neu" #. Tag: title #: index.docbook:3069 #, no-c-format msgid "Terminate program" msgstr "Beenden" #. Tag: para #: index.docbook:3070 #, no-c-format msgid "To terminate the program choose:" msgstr "Um das Programm zu beenden, wählen Sie:" #. Tag: menuchoice #: index.docbook:3072 #, no-c-format msgid "File Exit" msgstr "" "Datei Beenden" #. Tag: title #: index.docbook:3081 #, no-c-format msgid "Printing, exports, Karaoke and imports" msgstr "Drucken, Exportieren, Karaoke und Importieren" #. Tag: title #: index.docbook:3083 #, no-c-format msgid "Configuration" msgstr "Konfiguration" #. Tag: para #: index.docbook:3084 #, no-c-format msgid "&nted; assumes that:" msgstr "&nted; nimmt an, dass:" #. Tag: computeroutput #: index.docbook:3085 #, no-c-format msgid "lpr <file>.ps" msgstr "lpr <datei>.ps" #. Tag: para #: index.docbook:3086 #, no-c-format msgid "" "prints a PostScript file named <file>.ps on your system. If this isn't the case then configure the " "printing command. Choose:" msgstr "" "auf Ihrem System eine mit <datei>.ps " "benannte PostScript-Datei druckt. Wenn das nicht der Fall sein sollte, so " "konfigurieren Sie das Druckkommando! Wählen Sie:" #. Tag: menuchoice #: index.docbook:3089 #, no-c-format msgid "" "Edit Preferences Configure Print ..." msgstr "" "BearbeitenEinstellungen ...Druckkonfiguration ..." #. Tag: para #: index.docbook:3095 #, no-c-format msgid "On dialog textfield you should see:" msgstr "Im Dialog sollten Sie folgenden Text sehen:" #. Tag: computeroutput #: index.docbook:3096 #, no-c-format msgid "lpr %s" msgstr "" #. Tag: para #: index.docbook:3097 #, no-c-format msgid "" "The %s will be replaced by the name of a " "PostScript file. Change this string according to your needs. For instance: " "If you want to use the kprinter from " "KDE then change the string to:" msgstr "" "Das %s wird gegen den Namen einer " "PostScript-Datei ersetzt. Ändern Sie diese Zeile entsprechend Ihren " "Anforderungen. Wenn Sie zum Beispiel das Programm kprinter aus dem KDE verwenden wollen, so " "ändern Sie die Zeile in:" #. Tag: computeroutput #: index.docbook:3100 #, no-c-format msgid "kprinter %s" msgstr "" #. Tag: para #: index.docbook:3101 #, no-c-format msgid "and press OK!" msgstr "und drücken Sie OK!" #. Tag: para #: index.docbook:3103 #, no-c-format msgid "If all is configured then choose:" msgstr "Wenn alles konfiguriert ist, so wählen Sie:" #. Tag: menuchoice #: index.docbook:3105 #, no-c-format msgid "File Print" msgstr "" "Datei Drucken" #. Tag: title #: index.docbook:3113 #, no-c-format msgid "Export PostScript" msgstr "PostScript exportieren" #. Tag: para #: index.docbook:3114 #, no-c-format msgid "You can export the score as PostScript. Choose:" msgstr "Sie können die Datei im PostScript - Format exportieren. Wählen Sie:" #. Tag: menuchoice #: index.docbook:3116 #, no-c-format msgid "" "File Export PS..." msgstr "" "Datei PostScript exportieren..." #. Tag: para #: index.docbook:3121 index.docbook:3136 index.docbook:3150 index.docbook:3177 #, no-c-format msgid "Select a file name on dialog and press OK." msgstr "Wählen Sie einen Dateinamen und drücken Sie OK!" #. Tag: para #: index.docbook:3122 #, no-c-format msgid "" "Because most printers are able to print PostScript files you can print this " "file using your preferred printing command (lpr, " "kprinter, ...)" msgstr "" "Da die meisten Drucker PostScript drucken können, können Sie Ihr " "Lieblingsdruckkommando (lpr, " "kprinter, ...) benutzen, um diese Datei " "auszudrucken." #. Tag: title #: index.docbook:3127 #, no-c-format msgid "Export PDF" msgstr "PDF exportieren" #. Tag: para #: index.docbook:3128 #, no-c-format msgid "The PDF is available only if your Cairo library supports PDF." msgstr "" "Der PDF-Export ist nur verfügbar, wenn die Cairo-Bibliothek PDF unterstützt." #. Tag: para #: index.docbook:3129 #, no-c-format msgid "You can export the score as PDF. Choose:" msgstr "Sie können die Partitur als PDF exportieren. Wählen Sie:" #. Tag: menuchoice #: index.docbook:3131 #, no-c-format msgid "" "File Export PDF..." msgstr "" "Datei Als PDF exportieren..." "" #. Tag: para #: index.docbook:3137 #, no-c-format msgid "" "Because many printers are able to print PDF files you can print this file " "using your preferred printing command (lpr, " "kprinter, ...)" msgstr "" "Da viele Drucker PDF drucken können, können Sie Ihr Lieblingsdruckkommando " "(lpr, kprinter, ...) " "benutzen, um diese Datei auszudrucken." #. Tag: title #: index.docbook:3142 #, no-c-format msgid "Export MIDI" msgstr "MIDI exportieren" #. Tag: para #: index.docbook:3143 #, no-c-format msgid "You can export the score as MIDI data. Choose:" msgstr "Sie können die Partitur als MIDI-Daten exportieren, Wählen Sie:" #. Tag: menuchoice #: index.docbook:3145 #, no-c-format msgid "" "File Export MIDI..." msgstr "" "Datei Als MIDI exportieren..." "" #. Tag: title #: index.docbook:3155 #, no-c-format msgid "Karaoke" msgstr "Karaoke" #. Tag: para #: index.docbook:3156 #, no-c-format msgid "" "If the score contains lyrics &nted; exports them to MIDI. This causes many " "midi players among them kmid to show a Karaoke-" "like behaviour:" msgstr "" "Wenn die Partitur Strophentext enthält, exportiert &nted; diesen ins MIDI-" "File. Das veranlasst viele MIDI Player - unter ihnen kmid - ein Karaoke-ähnliches Verhalten zu zeigen:" #. Tag: phrase #: index.docbook:3162 #, no-c-format msgid "Karaoke with kmid" msgstr "" #. Tag: title #: index.docbook:3169 #, no-c-format msgid "Import MusicXML" msgstr "Import MusicXML" #. Tag: para #: index.docbook:3170 #, no-c-format msgid "You can import a MusicXML file. Choose:" msgstr "Sie können Dateien im MusicXML-Format importieren. Wählen Sie:" #. Tag: menuchoice #: index.docbook:3172 #, no-c-format msgid "" "File Import MusicXML..." msgstr "" "Datei Import MusicXML ..." #. Tag: para #: index.docbook:3178 #, no-c-format msgid "" "There is a bug in NoteEdit which concerns the export of multivoice staves " "into MusicXML. As a result NtEd has problems importing such files. To solve " "the problem NoteEdit must be patched. See http://vsr." "informatik.tu-chemnitz.de/staff/jan/nted/noteedit_musml_patch.html " "for more information." msgstr "" "NoteEdit hat einen Fehler der den Export von Notenzeilen mit mehreren " "Stimmen betrifft. Das führt zu Problemen beim Import durch &nted;. Um das " "Problem zu lösen, muss ein Patch (Programmkorrektur) auf NoteEdit angewendet " "werden. Mehr Informationen dazu gibt es unter http://" "vsr.informatik.tu-chemnitz.de/staff/jan/nted/noteedit_musml_patch.html." #. Tag: title #: index.docbook:3187 #, no-c-format msgid "Export PNG and SVG" msgstr "PNG- und SVG-Export" #. Tag: para #: index.docbook:3188 #, no-c-format msgid "" "&nted; can export the current page to PNG (Portbale Network Graphics) and " "SVG (Scaleable Vector Graphics). The current page is the page shown in page " "counter. Both formats are very useful for WEB publishing or graphic related " "tasks. Many text processors allow embendding PNG and/or SVG graphics." msgstr "" "&nted; kann die aktuelle Seite als PNG- (Portbale Network Graphics) und SVG- " "(Scaleable Vector Graphics) Graphik exportieren. Die aktuelle Seite ist die, " "die im Seitenzähler angezeigt wird. Beide Formate sind für das Publizieren " "im WEB oder für andere graphikverarbeitende Aufgaben nützlich. Viele " "Textprozessoren erlauben das Einbinden von PNG- und/oder SVG-Graphiken." #. Tag: para #: index.docbook:3192 #, no-c-format msgid "" "Especially the SVG format - an XML instance - is very useful because - as " "the name indicates - it is scaleable without strange effects which are " "usually visible in scaled pixel graphics." msgstr "" "Besonders das SVG-Format - eine XML-Instanz - ist sehr nützlich, da es - wie " "es der Name anzeigt - skaliert werden kann, ohne eigenartige Effekte " "hervorzurufen, die in skalierten Pixelgraphiken zu sehen sind." #. Tag: para #: index.docbook:3195 #, no-c-format msgid "The SVG export is available only if your Cairo library supports SVG." msgstr "" "Der SVG-Export ist nur verfügbar, wenn die Cairo-Bibliothek SVG unterstützt." #. Tag: menuchoice #: index.docbook:3199 #, no-c-format msgid "" "File Export PNG ..." msgstr "" "Datei Export PNG..." #. Tag: para #: index.docbook:3204 #, no-c-format msgid "or" msgstr "oder:" #. Tag: menuchoice #: index.docbook:3206 #, no-c-format msgid "" "File Export SVG ..." msgstr "" "Datei Export SVG..." #. Tag: para #: index.docbook:3212 #, no-c-format msgid "Choose a file name and press OK!" msgstr "Wählen Sie einen Dateinamen und drücken Sie OK!" #. Tag: para #: index.docbook:3214 #, no-c-format msgid "The size of the PNG/SVG image depends on the current zoom factor." msgstr "Die Größe des PNG/SVG-Bildes hängt vom augenblicklichen Zoomfaktor ab." #. Tag: title #: index.docbook:3218 #, no-c-format msgid "Export LilyPond" msgstr "" #. Tag: para #: index.docbook:3219 #, no-c-format msgid "" "LilyPond (http://lilypond.org/) " "is cetrainly the music typesetter with the best output. This mainly for 2 " "reasons:" msgstr "" "LilyPond (http://lilypond.org/) " "ist sicherlich das Notensatzwerkzeug mit der besten Ausgabe. Das vor allem " "aus 2 Gründen:" #. Tag: para #: index.docbook:3223 #, no-c-format msgid "" "The developers made a lot of effort to create special music fonts, which are " "derived from traditional music printing. They even created their own tools " "for font format conversion to get the best results." msgstr "" "Die Entwickler haben großen Aufwand getrieben, um spezielle Musik-Fonts" "(Lettern) zu erzeugen, die sich am traditionellen Musikdruck orientieren. " "Sie haben sogar eigene Werkzeuge zur Umkodierung diverser Font(Letter-) " "Formate entwickelt, um die besten Ergebnisse zu erzielen." #. Tag: para #: index.docbook:3227 #, no-c-format msgid "" "LilyPond uses a multi pass technique which takes as much time as necessary " "to perform an excellent placement of the musical symbols." msgstr "" "LilyPond nutzt eine Mehrphasentechnik, die sich so viel Zeit wie nötig " "nimmt, um eine ausgezeichnete Platzierung der Musiksymbole zu ermöglichen." #. Tag: para #: index.docbook:3232 #, no-c-format msgid "" "Furthermore, LilyPond has a lot of music orthographical knowledge, which " "prevents notation errors." msgstr "" "Außerdem besitzt LilyPond musikalische Rechtschreibkenntnisse, wodurch " "Notationsfehler vermieden werden." #. Tag: para #: index.docbook:3235 #, no-c-format msgid "" "LilyPond creates a PostScript or PDF output from a file which contains a " "text transcription of the music. For example, the input:" msgstr "" "LilyPond erzeugt eine PostScript- oder PDF-Ausgabe aus einer Datei, die eine " "Text-Transskription der Musik enthält. So erzeugt zum Beispiel die Eingabe:" #. Tag: literallayout #: index.docbook:3238 #, no-c-format msgid "" "\\relative c' { \\clef treble \\key d \\major\n" " d4 e fis g a b cis d \n" "}" msgstr "" #. Tag: para #: index.docbook:3241 #, no-c-format msgid "causes the following output:" msgstr "die folgende Ausgabe:" #. Tag: para #: index.docbook:3252 #, no-c-format msgid "&nted; can create the LilyPond text transcription. Choose:" msgstr "&nted; kann die LilyPond-Text-Transskription erzeugen. Wählen Sie:" #. Tag: menuchoice #: index.docbook:3254 #, no-c-format msgid "" "File Export LilyPond..." msgstr "" "Datei Export LilyPond ..." #. Tag: para #: index.docbook:3260 #, no-c-format msgid "The LilyPond export dialog appears:" msgstr "Der LilyPond-Export-Dialog erscheint:" #. Tag: phrase #: index.docbook:3265 #, fuzzy, no-c-format msgid "LilyPond export dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:3269 #, no-c-format msgid "" "On checkbox at the head you can determine whether or not &nted; shall place " "\\break statments to achieve the same line " "breaks as in &nted; score." msgstr "" "Mit Hilfe der oberen Checkbox können Sie bestimmen, ob &nted; " "\\break Abweisungen erzeugen soll, um " "dieselben Zeilenumbrüche wie in der &nted;-Partitur zu erzielen." #. Tag: para #: index.docbook:3273 #, no-c-format msgid "" "If you want to export a subset of staves press the select " "staves button. The staff selection dialog appears:" msgstr "" "Wenn Sie nur einen Teil der Notenzeilen exportieren wollen, so drücken Sie " "den Knopf Notenzeilenwahl. Der " "Notenzeilenwahl-Dialog erscheint:" #. Tag: phrase #: index.docbook:3280 #, fuzzy, no-c-format msgid "the staff selection dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:3285 #, no-c-format msgid "" "Select a subset of staves. To select more than 1 staff press Ctrl during " "selection. To select a range of staves press and hold Shift. Then select the " "first and the last staff of the range." msgstr "" "Wählen Sie eine Teilmenge von Notenzeilen aus! Um mehr als eine Notenzeile " "auszuwählen, drücken Sie die Strg-Taste während der Auswahl. Um einen " "Bereich auszuwählen, drücken und halten Sie die Shift-(Hochstell-) Taste und " "wählen Sie die erste und die letzte Notenzeile aus!" #. Tag: para #: index.docbook:3289 #, no-c-format msgid "" "LilyPond has its own beaming rules. Therefore, the LilyPond beaming differs " "from &nted;-beaming. If you want the same beams as in &nted; then select the " "keep beams button. Select the staves to " "keep the beams for and press OK." msgstr "" "LilyPond hat seine eigenen Regeln für das Zusammenfassen von Noten mit " "Balken. Deshalb unterscheiden sich die LilyPond-Balken von den &nted;-" "Balken. Wenn Sie dieselben Balken wie in &nted; haben wollen, so drücken Sie " "auf den Knopf Balken erhalten. Wählen Sie " "die Notenzeilen aus, für die die Balken erhalten bleiben sollen und drücken " "Sie auf OK." #. Tag: para #: index.docbook:3293 #, no-c-format msgid "" "Choose a File name - the suffix should be .ly - and " "press OK." msgstr "" "Wählen Sie einen Dateinamen - der Suffix sollte .ly " "sein - und drücken Sie auf OK." #. Tag: para #: index.docbook:3295 #, no-c-format msgid "" "To produce a PostScript or PDF output from this file install LilyPond and " "type:" msgstr "" "Um daraus eine PostScript- oder PDF-Ausgabe zu erzeugen, installieren Sie " "LilyPond und geben Sie folgendes Kommando:" #. Tag: para #: index.docbook:3298 #, no-c-format msgid "" "lilypond <filename>.ly" msgstr "" #. Tag: para #: index.docbook:3301 #, no-c-format msgid "" "To preview and/or print the output use your preferred view/print commands " "(gv, ggv, evince, xpdf, lpr, kprinter, ...)." msgstr "" "Um die Ausgabe anzuzeigen und/oder auszudrucken, können Sie ihre Lieblings-" "Anzeige-/Druck-Programme (gv, ggv, evince, xpdf, lpr, " "kprinter, ...) verwenden." #. Tag: para #: index.docbook:3304 #, no-c-format msgid "" "As mentioned above, LilyPond uses its own placement strategie and its own " "fonts. As a consequence the WYSIWYG principle is broken. The output differs " "from &nted; score." msgstr "" "Wie oben bereits erwähnt, nutzt LilyPond seine eigene Platzierungsstrategie " "sowie seinen eigenen Font(Lettern). Die Konsequenz ist, dass das WYSIWYG-" "Prinzip gebrochen wird: Die Ausgabe weicht von der &nted;-Partitur ab." #. Tag: title #: index.docbook:3312 #, no-c-format msgid "Import MIDI" msgstr "MIDi-Import" #. Tag: para #: index.docbook:3313 #, no-c-format msgid "" "&nted; can (try to) construct a score from a MIDI file. Note! There are many " "scores which would generate the same MIDI data. Therefore the MIDI to score " "transformation is ambiguous." msgstr "" "&nted; kann eine Partitur aus einer MIDI-Datei (zu) generieren (versuchen). " "Beachten Sie! Es gibt mehrere Partituren, die dieselben MIDI-Daten erzeugen. " "Aus diesem Grunde ist die Umwandlung von MIDI-Daten in eine Partitur nicht " "eindeutig." #. Tag: para #: index.docbook:3316 #, no-c-format msgid "To import a MIDI file choose" msgstr "Um eine MIDI-Datei zu importieren, wählen Sie:" #. Tag: menuchoice #: index.docbook:3319 #, no-c-format msgid "" "File Import MIDI ..." msgstr "" "Datei Import MIDI ..." #. Tag: para #: index.docbook:3325 #, no-c-format msgid "The MIDI import dialog appears:" msgstr "Der MIDI-Import-Dialog erscheint:" #. Tag: phrase #: index.docbook:3331 #, fuzzy, no-c-format msgid "MIDI import dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:3335 #, no-c-format msgid "Decide whether &nted; shall try to recognize triplets!" msgstr "Entscheiden Sie, ob &nted; Triolen erkennen soll!" #. Tag: para #: index.docbook:3337 #, no-c-format msgid "" "The 2 sliders allow you to influence the density of tempo and volume signs. " "A value of 0 means \"no signs\". If you choose 100 it can happen that almost " "every note has a volume or tempo sign." msgstr "" "Die 2 Regler erlauben es, die Dichte von Tempo- und Lautstärkezeichen zu " "beeinflussen. Eine Wert 0 bedeutet \"keine Zeichen\". Wenn Sie 100 wählen, " "kann es passieren, dass nahezu jede Note ein Zeichen hat." #. Tag: para #: index.docbook:3341 #, no-c-format msgid "" "Often, MIDI files have tracks which comprise a very large range of pitches. " "Placing these notes in one staff leads to bad output:" msgstr "" "Häufig enthalten MIDI-Dateien MIDI-Spuren, mit einem großen Tonumfang. " "Platziert man diese Noten in einer Notenzeile, führt das zu einer schlechten " "Ausgabe:" #. Tag: phrase #: index.docbook:3348 index.docbook:3358 index.docbook:3377 index.docbook:3487 #: index.docbook:3497 #, no-c-format msgid "MIDI program changes" msgstr "" #. Tag: para #: index.docbook:3352 #, no-c-format msgid "Therefore, the normal behaviour of &nted; is to split these tracks:" msgstr "Normalerweise teilt &nted; diese MIDI-Spuren:" #. Tag: para #: index.docbook:3362 #, no-c-format msgid "" "But somtimes this is unwanted. Espacially, if the MIDI file has already well " "splitted tracks. Use the don't split tracks " "button in this case." msgstr "" "Aber manchmal ist das unerwünscht. Besonders dann, wenn die MIDI-Datei " "bereits sinnvoll geteilte MIDI-Spuren enthält. Aktivieren Sie in diesem " "Falle den Knopf Spuren nicht teilen. " #. Tag: para #: index.docbook:3366 #, no-c-format msgid "" "The button force piano forces a score with " "2 staves per system." msgstr "" "Der Knopf erzwinge Piano erzwingt eine " "Partitur mit 2 Notenzeilen pro System." #. Tag: para #: index.docbook:3369 #, no-c-format msgid "" "The button sort instruments is useful for " "MIDI files where all or many instruments are placed in one track. For " "example, in following MIDI file a piano and a flute appear in the same track:" msgstr "" "Der Knopf sortiere Instrumente ist für MIDI-" "Dateien nützlich, in denen alle oder viele Instrumente in einer MIDI-Spur " "platziert wurden. Im folgenden Beispiel erscheinen eine Flöte und ein Piano " "in derselben MIDI-Spur:" #. Tag: para #: index.docbook:3381 #, no-c-format msgid "" "The red bullets represent a special MIDI operator called MIDI " "program change which advises the device to change the " "instrument. Thus, theoretically a MIDI file can place a whole orchestra in " "one track. Files produced by keyboards are often of this kind. &nted; would " "actually place all notes in one staff and attach the first given instrument " "to this staff. If sort instruments is " "active it sorts the instruments into different staves:" msgstr "" "Die roten Kugeln repräsentieren einen speziellen MIDI-Operator " "MIDI program change, welcher das Gerät anweist, das " "Instrument zu wechseln. Somit könnten in der MIDI-Datei theoretisch alle " "Instrumente in einer MIDI-Spur erscheinen. MIDI-Dateien, die vom MIDI-" "Keyboards erzeugt wurden, sind häufig von dieser Sorte. &nted; würde " "eigentlich alle diese Noten in einer Notenzeile platzieren und dieser das " "erste auftretende Instrument zuweisen. Wenn sortiere " "Instrumente is aktiviert ist, so sortiert es die " "Instrumente in verschiedene Notenzeilen:" #. Tag: phrase #: index.docbook:3392 #, no-c-format msgid "sorted MIDI program changes" msgstr "" #. Tag: para #: index.docbook:3396 #, no-c-format msgid "" "In most cases the default button state gives good results. But if the score " "looks strange or the replay differs dramatically from MIDI sound then try to " "play with the buttons to improve the score." msgstr "" "In den meisten Fällen liefert die Standardeinstellung der Knöpfe ein gutes " "Ergebnis. Wenn die Partitur aber komisch aussieht oder drastisch von der " "MIDI-Datei abweicht, so versuchen Sie mit den Knöpfen zu spielen, um das " "Ergebnis zu verbessern." #. Tag: para #: index.docbook:3400 #, no-c-format msgid "" "Select the MIDI file and press OK! On last dialog you can determine the " "paper size and orientation." msgstr "" "Wählen Sie die MIDI-Datei und drücken Sie auf OK! Auf dem letzten Dialog " "können Sie das Papierformat und die Orientierung festlegen." #. Tag: title #: index.docbook:3411 #, no-c-format msgid "Inserting notes with pitch determined by midi keyboard" msgstr "Noten mit Tonhöhenbestimmung per MIDI-keyboad einfügen" #. Tag: para #: index.docbook:3412 #, no-c-format msgid "" "If a MIDI keyboard is attached to your soundcard you can determine the pitch " "of the notes by pressing the appropriate key on MIDI keyboard. To do this " "you should first test the MIDI IN device. To do this switch on " "MIDI echo (see Prepare replay) and press the MIDI read button " "()! Move the mouse " "pointer over an arbitrary staff!" msgstr "" "Wenn an Ihre Soundkarte ein MIDI-Keyboard angeschlossen ist, so können Sie " "die Tonhöhe der Noten dadurch bestimmen, dass Sie die entsprechende Taste " "auf dem MIDI-Keyboard drücken. Um dies zu tun, sollten Sie zunächst das MIDI-" "IN-Gerät testen. Um dies zu tun, schalten Sie das MIDI-Echo ein (siehe Wiedergabe " "vorbereiten) und drücken Sie den MIDI-Eingabeknopf " "()! Bewegen Sie den " "Mauszeiger über eine beliebige Notenzeile!" #. Tag: para #: index.docbook:3417 #, no-c-format msgid "" "It is important to move the mouse over a staff because this way you " "determine the instrument which playes the tone!" msgstr "" "Es ist wichtig, die Maus über eine Notenzeile zu bewegen, da Sie auf diese " "Weise das Musikinstrument festlegen, welches diesen Ton spielt!" #. Tag: para #: index.docbook:3418 #, no-c-format msgid "" "If you now press a key on midikeyboard you should hear the appropriate tone " "played by the instrument attached to the staff the mouse is placed over (see " "the MIDI panel). If not then configure the " "MIDI input device:" msgstr "" "Wenn Sie nun eine Taste auf dem MIDI-Keyboard drücken, so sollten Sie den " "entsprechenden Ton, gespielt von dem Instrument, welches der Notenzeile " "zugeordnet wurde, über der die Maus platziert wurde (siehe MIDI-Karteikarte), hören. Wenn nicht, so konfigurieren " "Sie das MIDI-IN-Gerät:" #. Tag: menuchoice #: index.docbook:3423 #, no-c-format msgid "" "Edit Preferences Configure MIDI in..." msgstr "" "Bearbeiten Einstellungen ...MIDI IN konfigurieren ..." #. Tag: para #: index.docbook:3429 #, no-c-format msgid "" "A menu appears that shows all midi input ports. Select one and press OK. If " "the port doesn't work try a different port." msgstr "" "Es erscheint ein Menü mit allen MIDI-Eingangs-Ports. Wählen Sie einen aus " "und drücken Sie OK. Wenn der Port nicht funktioniert, so wählen Sie einen " "anderen MIDI- Port." #. Tag: para #: index.docbook:3432 #, no-c-format msgid "" "If all works then press moreover the insert key " "() and the " "keyboard insertion button (). If you now place the mouse at a certain position on a " "staff the notes you play on midikeyboard are inserted. Note! The keys determine the pitch not the length! The length of the " "notes are set like described in Inserting/" "Deleting notes." msgstr "" "Wenn alles funktioniert, so drücken Sie zusätzlich den Einfügeknopf " "() und den " "Tastatureingabe-Knopf (). Wenn Sie nun die Maus an eine bestimmte Position auf " "einer Notenzeile platzieren, so werden die Noten, die Sie auf dem MIDI-" "Keyboard spielen eingefügt. Achtung! Die Tasten " "bestimmen nur die Tonhöhe, nicht die Tonlänge. Die Tonlänge wird wie in " "Noten und Pausen eingeben beschrieben, " "bestimmt." #. Tag: para #: index.docbook:3437 #, no-c-format msgid "" "To terminate this mode switch off the MIDI read button" "()!" msgstr "" "Um diesen Modus abzubrechen, deaktivieren Sie den MIDI-Eingabeknopf " "():" #. Tag: title #: index.docbook:3442 #, no-c-format msgid "Creating score form playing midi keyboard" msgstr "Notenerzeugung vom gespielten MIDI-Keyboard" #. Tag: para #: index.docbook:3443 #, no-c-format msgid "" "If a MIDI keyboard is attached to your soundcard you can play on it and " "&nted; can (try to) convert this piece of music into notes." msgstr "" "Wenn ein MIDI Keyboard an Ihre Soundkarte angeschlossen ist, so können Sie " "darauf spielen und NtEd kann (versuchen,) das Musikstück in Noten (zu) " "notieren." #. Tag: para #: index.docbook:3446 #, no-c-format msgid "" "Before you do this you should ensure the replay works. Otherwise you can't " "hear the metronome. See: Prepare replay, and eventually the TiMidity server and the eventually the appropriate question in FAQ." msgstr "" "Bevor Sie das tun, sollten Sie sicherstellen, dass die Wiedergabe " "funktioniert. Anderenfalls können Sie das Metronom nicht hören. Siehe: Wiedergabe vorbereiten und eventuell der " "TiMidity-Server und eventuell die " "entsprechende Frage im FAQ." #. Tag: para #: index.docbook:3450 #, no-c-format msgid "" "Furthermore ensure the midi input works and you have selected the correct " "MIDI input port. See: Inserting notes " "with pitch determined by midi keyboard." msgstr "" "Außerdem sollten Sie sicherstellen, dass die MIDI-Eingabe arbeitet und Sie " "den richtigen MIDI-IN-Port gewählt haben. Siehe: Noten mit Tonhöhenbestimmung per MIDI-keyboad " "einfügen." #. Tag: para #: index.docbook:3452 #, no-c-format msgid "" "If all works then make sure &nted; is in edit mode (see The 3 modes). Then select a note or rest with left " "mouse button! The selected chord or rest should appear in red. The new notes " "will be inserted exactly at this position. Then configure the recording " "parameters:" msgstr "" "Wenn alles funktioniert, dann stellen Sie sicher, dass &nted; im Editier-" "Mode ist (siehe Die 3 Modi). Wählen Sie " "dann eine Note oder Pause mit der linken Maustaste aus! Die selektierte Note " "oder Pause sollte rot erscheinen. Die neuen Noten werden genau an dieser " "Position eingefügt. Konfigurieren Sie dann die Aufnahmeparameter:" #. Tag: menuchoice #: index.docbook:3456 #, no-c-format msgid "" "File Configure Record ..." msgstr "" "Datei MIDI-Aufnahme " "konfigurieren ..." #. Tag: para #: index.docbook:3462 #, no-c-format msgid "The MIDI record configure dialog appears:" msgstr "Der MIDI-Aufnahme-Konfigurationsdialog erscheint:" #. Tag: phrase #: index.docbook:3468 #, fuzzy, no-c-format msgid "The MIDI record config dialog" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: para #: index.docbook:3472 #, no-c-format msgid "" "The instrument, time signature and key signature should match the values of " "the staff with the selected chord or rest. You can change these values but " "it is not recommended." msgstr "" "Das Instrument, das Taktmaß und die Vorzeichnung sollten der Notenzeile mit " "der selektierten Note oder Pause entsprechen. Sie können diese Parameter " "ändern, was jedoch nicht empfohlen wird." #. Tag: para #: index.docbook:3475 #, no-c-format msgid "" "The button triplet recognition determins " "whether or not &nted; shall (try to) recognize triplets." msgstr "" "Die Box Triolenerkennung bestimmt, ob " "&nted; Triolen erkennen soll oder nicht." #. Tag: para #: index.docbook:3478 #, no-c-format msgid "" "The button force piano forces a system with " "piano layout." msgstr "" "Der Knopf erzwinge Piano erzwingt eine " "Partitur mit Klavier-Layout." #. Tag: para #: index.docbook:3480 #, no-c-format msgid "" "Perhaps your piece of music comprises a very large range of pitches. Placing " "these notes in one staff leads to bad output:" msgstr "" "Möglicherweise enthält das gespielte Stück einen großen Tonumfang. Platziert " "man diese Noten in einer Notenzeile, führt das zu einer schlechten Ausgabe:" #. Tag: para #: index.docbook:3491 #, no-c-format msgid "Therefore, the normal behaviour of &nted; is to split the staff" msgstr "Normalerweise teilt &nted; diese Notenzeilen:" #. Tag: para #: index.docbook:3501 #, no-c-format msgid "" "But somtimes this is unwanted. Use the don't split tracks button in this case." msgstr "" "Aber manchmal ist das unerwünscht. Aktivieren Sie in diesem Falle den Knopf " "Spuren nicht teilen. " #. Tag: para #: index.docbook:3504 #, no-c-format msgid "" "The tempo slider determins the recording " "tempo (i.e. the tempo of the metronome) in quarters per minute." msgstr "" "Der Temporegler bestimmt das Aufnahmetempo " "(d.h. das Tempo des Metronoms) in Vierteln pro Minute." #. Tag: para #: index.docbook:3507 #, no-c-format msgid "" "The volume slider determins the volume of " "the metronome." msgstr "" "Der Lautstärkeregler bestimmt die " "Lautstärke des Metronoms." #. Tag: para #: index.docbook:3509 #, no-c-format msgid "If all is correct then press Ok!" msgstr "" "Wenn alles richtig ist, so drücken Sie auf Ok!" #. Tag: para #: index.docbook:3511 #, no-c-format msgid "" "Now press the MIDI record button (). You should hear the metronome ticks. The ticks mean " "halfs, quarters, eighths, or sixteenths, depending on the denominator of " "your time signature. The metronome plays 1 deep tick and N-1 high ticks, " "whereby N is the numerator of your time signature. After N ticks one measure " "is over and the replay begins. Play as exactly as possible according to the " "metronome." msgstr "" "Betätigen Sie nun den MIDI-Aufnahmeknopf " "(). Sie sollten " "Metronomticks hören. Die Ticks bedeuten abhängig vom Nenner des Taktmaßes " "Halbe, Viertel, Achtel oder 16tel. Das Metronom spielt einen tiefen und N-1 " "hohe Ticks, wobei N der Zähler des Taktmaßes ist. Nach N Ticks ist ein Takt " "vorbei und die Aufnahme beginnt. Spielen Sie so exakt wie möglich zu den " "Metronomticks." #. Tag: para #: index.docbook:3516 #, no-c-format msgid "" "At the end press the MIDI record button " "() again. The " "paper dialog appears. Choose a paper format and press Ok! The imported staff appears in a new &nted; window. Here you " "can correct some errors or close the window if the recording is too bad." msgstr "" "Drücken Sie am Ende den MIDI-Aufnahmeknopf " "() noch einmal. " "Der Papierformatdialog erscheint. Wählen Sie ein Papierformat und drücken " "Sie auf Ok! Die Aufnahme erscheint in einem " "neuen &nted; Fenster. Hier können Sie einige Fehler korrigieren oder das " "Fenster schließen, falls die Aufnahme zu schlecht ist." #. Tag: para #: index.docbook:3521 #, no-c-format msgid "" "Instead of pressing the record button " "() you can press " "the i on PC keyboard." msgstr "" "Anstatt den MIDI-Aufnahmeknopf zu drücken " "(), können Sie " "einfach die Taste i auf Ihrer Computertastatur " "drücken." #. Tag: para #: index.docbook:3524 #, no-c-format msgid "" "If all is correct then bring the window with the selected chord or rest on " "top again. Choose:" msgstr "" "Wenn alles richtig ist, so bringen Sie das Fenster mit der selektierten Note " "oder Pause wieder nach vorn. Wählen Sie:" #. Tag: menuchoice #: index.docbook:3526 #, no-c-format msgid "" "Insert Import recorded" msgstr "" "Einfügen Aufn. importieren" #. Tag: para #: index.docbook:3532 #, no-c-format msgid "" "The notes in imported staff are copied to the staff with the selected chord " "or rest. After that it is recommended to close the import window." msgstr "" "Die Noten werden von der Importnotenzeile in die Notenzeile mit der " "selektierten Note oder Pause kopiert. Es wird empfohlen, das Import-Fenster " "danach zu schließen." #. Tag: para #: index.docbook:3535 #, no-c-format msgid "" "Now you can continue importing at the same staff by selecting an element " "behind the end of your piece. Or you can append a new staff and record a new instrument." msgstr "" "Nun können Sie weitere Noten in dieselbe Notenzeile importieren, indem Sie " "eine Note oder Pause hinter dem gerade importieren Stück selektieren. Oder " "Sie können eine weitere Notenzeile anfügen und ein weiteres Instrument aufnehmen." #. Tag: title #: index.docbook:3540 #, no-c-format msgid "Replay" msgstr "Wiedergabe" #. Tag: title #: index.docbook:3542 #, no-c-format msgid "Prepare replay" msgstr "Wiedergabe vorbereiten" #. Tag: para #: index.docbook:3550 #, no-c-format msgid "To prepare the replay choose:" msgstr "Um die Wiedergabe vorzubereiten, wählen Sie:" #. Tag: menuchoice #: index.docbook:3552 #, no-c-format msgid "" "Edit Preferences Configure MIDI out..." msgstr "" "Bearbeiten Einstellungen ...MIDI Ausgang " "konfigurieren ..." #. Tag: para #: index.docbook:3558 #, no-c-format msgid "" "A menu appears that shows all midi output ports. Select one and press OK. If " "the port doesn't work try a different port. If nothing helps then refer to " "the approriate question in FAQ." msgstr "" "Es erscheint ein Menü mit allen MIDI-Ausgangs-Ports. Wählen Sie einen aus " "und drücken Sie OK. Wenn der Port nicht funktioniert, so wählen Sie einen " "anderen MIDI- Port. Wenn gar nichts hilft, so schauen Sie sich die " "entsprechende Frage im FAQ an!" #. Tag: para #: index.docbook:3561 #, no-c-format msgid "" "The midi echo checkbox determins whether or " "not there is a midi echo if you insert a note." msgstr "" "Die Box MIDI Echo bestimmt, ob beim " "Einfügen einer Note der Ton angespielt wird." #. Tag: title #: index.docbook:3566 #, no-c-format msgid "Start replay" msgstr "Wiedergabe starten" #. Tag: para #: index.docbook:3567 #, no-c-format msgid "" "To start the replay press the play button " "(). To stop replay press " "the play button again." msgstr "" "Um die Wiedergabe zu starten, drücken Sie den Abspielknopf. " "(). Um die Wiedergabe zu " "stoppen, drücken Sie den Abspielknopf erneut!" #. Tag: para #: index.docbook:3570 #, no-c-format msgid "" "To start the replay at a certain position select a note first. To do this " "make sure &nted; is in edit mode (see The 3 " "modes). Then select a note (not a rest!) with left mouse button! " "Press the play button ()!" msgstr "" "Um die Wiedergabe an einer bestimmten Position an zu beginnen, wählen Sie " "zunächst eine Note aus. Um das zu tun, stellen Sie sicher, dass &nted; im " "Editier-Mode ist (siehe Die 3 Modi). " "Wählen Sie dann eine Note (keine Pause!) mit der linken Maustaste aus! " "Drücken Sie den Wiedergabe-Knopf ()!" #. Tag: title #: index.docbook:3577 #, no-c-format msgid "Muting" msgstr "Stummschalten" #. Tag: para #: index.docbook:3579 #, no-c-format msgid "" "It is possible to exclude a subset of staves from replay. To do this choose:" msgstr "" "Es ist möglich, einzelne Notenzeilen von der Wiedergabe auszuschließen. Um " "das zu tun, wählen Sie:" #. Tag: menuchoice #: index.docbook:3581 #, no-c-format msgid "" "Tools Muting ..." msgstr "" "Werkzeuge Stummschalten ..." #. Tag: para #: index.docbook:3587 #, no-c-format msgid "The mute dialog appears:" msgstr "Der Stummschalte-Dialog erscheint:" #. Tag: para #: index.docbook:3597 #, no-c-format msgid "" "Select the staves to be muted and press OK. To mute some voices of a certain " "staff refer to Staves." msgstr "" "Wählen Sie die stummzuschaltenden Notenzeilen aus und aktivieren Sie die " "Checkbox \"OK\". Wenn Sie einzelne Stimmen sperren wollen, so informieren " "Sie sich bitte im Abschnitt Notenzeilen." #. Tag: title #: index.docbook:3603 #, no-c-format msgid "Shortcuts" msgstr "Tastenbelegung" #. Tag: entry #: index.docbook:3609 #, no-c-format msgid "key" msgstr "Taste" #. Tag: entry #: index.docbook:3609 #, no-c-format msgid "operation" msgstr "Operation" #. Tag: entry #: index.docbook:3610 #, fuzzy, no-c-format msgid "I" msgstr "1" #. Tag: entry #: index.docbook:3610 #, no-c-format msgid "start/stop record from MIDI keyboard" msgstr "" #. Tag: entry #: index.docbook:3611 #, no-c-format msgid "N" msgstr "" #. Tag: entry #: index.docbook:3611 #, no-c-format msgid "Toggle insert insert/delete mode" msgstr "Einfüge-Mode ein-/ausschalten" #. Tag: entry #: index.docbook:3612 #, no-c-format msgid "P" msgstr "" #. Tag: entry #: index.docbook:3612 #, no-c-format msgid "Toggle page mode" msgstr "Seiten-Mode ein-/ausschalten" #. Tag: entry #: index.docbook:3613 #, no-c-format msgid "R" msgstr "" #. Tag: entry #: index.docbook:3613 #, no-c-format msgid "Toggle rest" msgstr "Pausenknopf umschalten" #. Tag: entry #: index.docbook:3614 #, no-c-format msgid "K" msgstr "K" #. Tag: entry #: index.docbook:3614 #, no-c-format msgid "Toggle keyboard insertion" msgstr "Tastatureingabe-Modus umschalten" #. Tag: entry #: index.docbook:3615 #, no-c-format msgid "DEL" msgstr "Entfernen" #. Tag: entry #: index.docbook:3615 #, no-c-format msgid "Delete a note from chord" msgstr "Löschen einer Note aus einem Akkord" #. Tag: entry #: index.docbook:3616 #, no-c-format msgid "," msgstr "," #. Tag: entry #: index.docbook:3616 #, no-c-format msgid "Insert tie (method 2)" msgstr "Haltebogen einfügen (Methode 2)" #. Tag: entry #: index.docbook:3617 #, fuzzy, no-c-format msgid "Ctrl A" msgstr "Strg +B" #. Tag: entry #: index.docbook:3617 #, no-c-format msgid "Append a staff" msgstr "Eine Notenzeile anfügen" #. Tag: entry #: index.docbook:3618 #, no-c-format msgid "Ctrl B" msgstr "Strg +B" #. Tag: entry #: index.docbook:3618 #, no-c-format msgid "Append a system" msgstr "Ein System anfügen" #. Tag: entry #: index.docbook:3619 #, no-c-format msgid "Ctrl J" msgstr "Strg +j" #. Tag: entry #: index.docbook:3619 #, no-c-format msgid "" "handle beams (see Handling beams)" msgstr "" "Balkenbehandlung (see Balkenbehandlung)" #. Tag: entry #: index.docbook:3620 #, no-c-format msgid "Ctrl F" msgstr "Strg +F" #. Tag: entry #: index.docbook:3620 #, no-c-format msgid "flip stem direction" msgstr "Notenhalsrichtung ändern" #. Tag: entry #: index.docbook:3621 #, no-c-format msgid "Ctrl R" msgstr "Strg +R" #. Tag: entry #: index.docbook:3621 #, no-c-format msgid "hide rests" msgstr "Pausen unsichtbar machen" #. Tag: entry #: index.docbook:3622 #, no-c-format msgid "Ctrl U" msgstr "Strg +U" #. Tag: entry #: index.docbook:3622 #, no-c-format msgid "unhide rests" msgstr "Pausen wieder sichtbar machen" #. Tag: entry #: index.docbook:3623 #, no-c-format msgid "cursor up" msgstr "Cursor aufwärts" #. Tag: entry #: index.docbook:3623 #, no-c-format msgid "move selected note a line up" msgstr "ausgewählte Note aufwärts bewegen" #. Tag: entry #: index.docbook:3624 #, no-c-format msgid "cursor down" msgstr "Cursor abwärts" #. Tag: entry #: index.docbook:3624 #, no-c-format msgid "move selected note a line down" msgstr "ausgewählte Note abwärts bewegen" #. Tag: entry #: index.docbook:3625 #, no-c-format msgid "cursor left" msgstr "Cursor Links" #. Tag: entry #: index.docbook:3625 #, no-c-format msgid "select note/rest before" msgstr "ausgewählte Note/Pause davor auswählen" #. Tag: entry #: index.docbook:3626 #, no-c-format msgid "cursor right" msgstr "Cursor rechts" #. Tag: entry #: index.docbook:3626 #, no-c-format msgid "select note/rest after" msgstr "ausgewählte Note/Pause danach auswählen" #. Tag: entry #: index.docbook:3627 #, no-c-format msgid "page up" msgstr "Bild auf" #. Tag: entry #: index.docbook:3627 #, no-c-format msgid "view next page" msgstr "Nächste Seite anzeigen" #. Tag: entry #: index.docbook:3628 #, no-c-format msgid "page down" msgstr "Bild ab" #. Tag: entry #: index.docbook:3628 #, no-c-format msgid "view previous page" msgstr "vorherige Seite anzeigen" #. Tag: entry #: index.docbook:3629 #, no-c-format msgid "backspace" msgstr "Rück" #. Tag: entry #: index.docbook:3629 #, no-c-format msgid "delete selected note" msgstr "ausgewählte Note löschen" #. Tag: entry #: index.docbook:3630 #, no-c-format msgid "_" msgstr "" #. Tag: entry #: index.docbook:3630 #, no-c-format msgid "Toggle tie button" msgstr "Haltebogenfunktion ein-/ausschalten" #. Tag: entry #: index.docbook:3631 #, no-c-format msgid "." msgstr "" #. Tag: entry #: index.docbook:3631 #, no-c-format msgid "Toggle dot button" msgstr "Punktier-Knopf ein-/ausschalten" #. Tag: entry #: index.docbook:3632 #, no-c-format msgid "#" msgstr "" #. Tag: entry #: index.docbook:3632 #, no-c-format msgid "Toggle sharp button" msgstr "Kreuz-Knopf ein-/ausschalten" #. Tag: entry #: index.docbook:3633 #, no-c-format msgid "-" msgstr "" #. Tag: entry #: index.docbook:3633 #, no-c-format msgid "Toggle flat button" msgstr "B-Knopf ein-/ausschalten" #. Tag: entry #: index.docbook:3634 #, no-c-format msgid "=" msgstr "" #. Tag: entry #: index.docbook:3634 #, no-c-format msgid "Toggle natural button" msgstr "Auflösungs-Knopf ein-/ausschalten" #. Tag: entry #: index.docbook:3642 #, no-c-format msgid "Ctrl +" msgstr "Strg +" #. Tag: entry #: index.docbook:3642 #, no-c-format msgid "zoom in" msgstr "hineinzoomen" #. Tag: entry #: index.docbook:3643 #, no-c-format msgid "Ctrl -" msgstr "Strg - " #. Tag: entry #: index.docbook:3643 #, no-c-format msgid "zoom out" msgstr "herauszoomen" #. Tag: entry #: index.docbook:3644 #, no-c-format msgid "Ctrl C" msgstr "Strg C" #. Tag: entry #: index.docbook:3644 #, no-c-format msgid "copy block" msgstr "Block kopieren" #. Tag: entry #: index.docbook:3645 #, no-c-format msgid "Ctrl V" msgstr "Strg V" #. Tag: entry #: index.docbook:3645 #, no-c-format msgid "paste block" msgstr "Block einfügen" #. Tag: entry #: index.docbook:3646 #, no-c-format msgid "Ctrl X" msgstr "Strg X" #. Tag: entry #: index.docbook:3646 #, no-c-format msgid "delete block" msgstr "Block löschen" #. Tag: entry #: index.docbook:3647 #, no-c-format msgid "Ctrl E" msgstr "Strg E" #. Tag: entry #: index.docbook:3647 #, no-c-format msgid "empty block" msgstr "Block leeren" #. Tag: entry #: index.docbook:3648 #, no-c-format msgid "Ctrl Z" msgstr "Strg Z" #. Tag: entry #: index.docbook:3648 #, no-c-format msgid "undo" msgstr "Kommando rückgängig" #. Tag: entry #: index.docbook:3649 #, no-c-format msgid "Ctrl Y" msgstr "Strg Y" #. Tag: entry #: index.docbook:3649 #, no-c-format msgid "redo" msgstr "Kommando wiederholen" #. Tag: entry #: index.docbook:3650 #, no-c-format msgid "Ctrl H" msgstr "Strg +H" #. Tag: entry #: index.docbook:3650 #, no-c-format msgid "insert slur" msgstr "Bindebögen einfügen" #. Tag: entry #: index.docbook:3651 #, no-c-format msgid "Ctrl + <num>" msgstr "Strg + <Wert>" #. Tag: entry #: index.docbook:3651 #, no-c-format msgid "create tuplet (method 1)" msgstr "N-Tole erzeugen (Methode 1)" #. Tag: entry #: index.docbook:3652 #, no-c-format msgid "Ctrl + ALt + <num>" msgstr "Strg + ALt + <Wert>" #. Tag: entry #: index.docbook:3652 #, no-c-format msgid "create tuplet (method 2)" msgstr "N-Tole erzeugen (Methode 2)" #. Tag: entry #: index.docbook:3653 #, no-c-format msgid "Shift + CursorUp" msgstr "Shift + Cursor aufwärts" #. Tag: entry #: index.docbook:3653 #, no-c-format msgid "increase spacment of measure" msgstr "Abstände vergößern" #. Tag: entry #: index.docbook:3654 #, no-c-format msgid "Shift + CursorDown" msgstr "Shift + Cursor abwärts" #. Tag: entry #: index.docbook:3654 #, no-c-format msgid "decrease spacment of measure" msgstr "Abstände verkleinern" #. Tag: para #: index.docbook:3659 #, no-c-format msgid "" "Furthermore if the num light on num pad is off: The num pad keys shadow the " "toolbox keys (see The toolbox)." msgstr "" "Außerdem: Wenn sie num-Lampe aus ist, so sind die Tasten auf dem Nummernfeld " "mit den Tasten der Werkzeugkiste gekoppelt (siehe Die Werkzeugkiste)." #. Tag: title #: index.docbook:3663 #, no-c-format msgid "Configuration File" msgstr "Konfigurationsdatei" #. Tag: para #: index.docbook:3664 #, no-c-format msgid "" "&nted; stores the current configuration (MIDI port, last opened files, print " "command) at $HOME/.nted/ntedrc" msgstr "" "&nted; speichert die aktuelle Konfiguration (MIDI-Port, letzte geöffnete " "Dateien, Druckkommando) in $HOME/.nted/ntedrc" #. Tag: title #: index.docbook:3669 #, no-c-format msgid "Attention: Pulseaudio" msgstr "Achtung: Pulseaudio" #. Tag: para #: index.docbook:3670 #, no-c-format msgid "" "Unfortunately, the next chapter about The " "TiMidity server won't work if you have a new sound technology called " "pulseaudio. This concerns Fedora 11 users " "and Ubuntu 9.10 users and possibly others. If you use the soundfont " "mentioned at http://alsa." "opensrc.org/8MBGMSFX.SF2, you'll experience some awful effects like " "distortion or no sound, at all." msgstr "" "Unglücklicherweise wird alles, was im nächsten Kapitel Der TiMidity-Server geschrieben ist, nicht " "funktionieren, wenn Sie eine neue Soundtechnologie namens " "Pulseaudio haben. Das betrifft Fedora-11-" "Nutzer and Ubuntu-9.10-Nutzer und möglicherweise weitere. Wenn Sie den unter " "http://alsa.opensrc." "org/8MBGMSFX.SF2 erwähnten Soundfont verwenden, wird Ihnen " "Schreckliches widerfahren, wie Verzerrungen oder gar kein Sound." #. Tag: para #: index.docbook:3675 #, no-c-format msgid "To find out whether you have a pulseaudio or not do:" msgstr "Um herauszufinden, ob Sie Pulseaudio haben, geben Sie den Befehl:" #. Tag: userinput #: index.docbook:3676 index.docbook:3879 #, no-c-format msgid "which pulseaudio" msgstr "" #. Tag: para #: index.docbook:3677 #, no-c-format msgid "If you get a path as answer you have pulseaudio." msgstr "Wenn Sie einen Pfad als Antwort erhalten, dann haben Sie Pulseaudio." #. Tag: para #: index.docbook:3678 #, no-c-format msgid "" "The only workaround is to compile your own TiMidity++. To do this load the " "newest source from:" msgstr "" "Das zu umgehen, gibt es nur die Möglichkeit, Ihr eigenes TiMidtiy++ zu\n" "compilieren. Um das zu tun, laden Sie die neueste Quelle von:" #. Tag: ulink #: index.docbook:3679 #, no-c-format msgid "http://timidity.sourceforge.net/#download\"" msgstr "" #. Tag: para #: index.docbook:3681 #, no-c-format msgid "Extract and configure the source:" msgstr "Packen Sie es sie aus und und konfigurieren Sie sie:" #. Tag: literallayout #: index.docbook:3683 #, no-c-format msgid "" "tar -xvjf TiMidity++-x.y.z.tar.bz2\n" " cd TiMidity++-x.y.z\n" " ./configure --enable-audio=alsa --enable-server --enable-alsaseq\n" " make\n" " su (give password if requested)\n" " make install\n" " exit" msgstr "" #. Tag: para #: index.docbook:3686 #, no-c-format msgid "" "Now you have possibly 2 timidities: One pulsaudio dependent at /usr/bin/" "timidity and the newly compiled and pulsaudio independent /usr/local/bin/" "timidity. Use the pulsaudio independent timidity!" msgstr "" "Jetzt haben Sie 2 TiMiditys: Ein Pulseaudio-abhängiges unter /usr/bin/" "timidity und ein frisch compiliertes Pulseaudio unabhängiges unter /usr/" "local/bin/timidity. Benutzen Sie das Pulseaudio unabhängige TiMidity!" #. Tag: para #: index.docbook:3689 #, no-c-format msgid "" "A good idea is to prepare a command. You should as root copy the soundfont " "at a certain position:" msgstr "" "Eine gute Idee ist es auch, ein Kommando zu erzeugen. Sie sollten als root\n" "den Soundfont an eine bestimmte Position kopieren:" #. Tag: literallayout #: index.docbook:3693 #, no-c-format msgid "" "cd /usr/share\n" " mkdir sfbank\n" " chmod 0755 sfbank\n" " cd sfbank\n" " cp /<somewhere>/8mbgmsfx.sf2 .\n" " echo 'dir /usr/share/sfbank' >timidity.cfg\n" " echo 'soundfont 8mbgmsfx.sf2' >> timidity.cfg\n" " chmod 0644 8mbgmsfx.sf2 timidity.cfg\n" " cd /usr/bin\n" " echo '#!/bin/bash' > alsatimidity.sh\n" " echo '' >> alsatimidity.sh\n" " echo '/usr/local/bin/timidity -c /usr/share/sfbank/timidity.cfg -iA -B2,8 " "-Os1l -s 44100' >> alsatimidity.sh\n" " chmod 0755 alsatimidity.sh" msgstr "" #. Tag: para #: index.docbook:3696 #, no-c-format msgid "Now the call" msgstr "Jetzt sollte der Ruf:" #. Tag: literallayout #: index.docbook:3698 #, no-c-format msgid "alsatimidity.sh" msgstr "" #. Tag: para #: index.docbook:3701 #, no-c-format msgid "should start the timidity in server mode." msgstr "timidity im Server-Modus starten." #. Tag: para #: index.docbook:3703 #, no-c-format msgid "" "If the sound problems remain remove the pulsaudio package from your system!" msgstr "" "Falls die Soundprobleme weiterhin auftreten, löschen Sie das gesamte " "Pulseaudio-Paket." #. Tag: title #: index.docbook:3708 #, no-c-format msgid "The TiMidity server" msgstr "Der TiMidity-Server" #. Tag: para #: index.docbook:3709 #, no-c-format msgid "" "All what is stated does not work if you have a technology called " "pulseaudio. This concerns Fedora 11 users " "and Ubuntu 9.10 users and possibly others. Please refer to the Pulseaudio chapter to learn more!" msgstr "" "Alles was hier ausgesagt wird, funktioniert nicht, wenn Sie eine Techologie " "namens Pulseaudio verwenden. Das betrifft " "Fedora-11-Nutzer und Ubuntu-9.10-Nutzer und möglicherweise andere. Bitte " "informieren Sie sich im Pulseaudio-" "Kapitel!" #. Tag: para #: index.docbook:3712 #, no-c-format msgid "" "You can use the MIDI to WAVE converter and player TiMidity++ ( http://" "timidity.sourceforge.net) in server mode. This " "approach is interesting for all those who can't bring the MIDI device to " "work." msgstr "" "Sie können den MIDI-zu-WAVE Konverter und -player TiMidity++ ( http://" "timidity.sourceforge.net) im Server- Mode " "benutzen. Dieses Verfahren ist für all diejenigen von besonderem Interesse, " "die das MIDI-Gerät ihrer Soundkarte nicht ansprechen können." #. Tag: para #: index.docbook:3716 #, no-c-format msgid "" "A presupposition is that TiMidity++ is compiled " "with (at least) the options:" msgstr "" "Eine Voraussetzung ist, dass TiMidity++ mit " "(wenigstens) folgenden -Optionen konfiguriert " "wurde:" #. Tag: option #: index.docbook:3717 #, no-c-format msgid "" "         --enable-audio=alsa --" "enable-server --enable-alsaseq" msgstr "" #. Tag: para #: index.docbook:3719 #, no-c-format msgid "" "Whether or not your TiMidity++ is compiled with " "these options can be determined by starting it with " "Option:" msgstr "" "Ob TiMidity++ mit diesen Optionen übersetzt " "wurde, kann durch Starten mit der Option ermittelt " "werden:" #. Tag: para #: index.docbook:3721 index.docbook:3739 #, no-c-format msgid "" "         timidity -iA -" "B2,8 -Os1l -s 44100    " msgstr "" #. Tag: para #: index.docbook:3723 #, no-c-format msgid "" "If it says: \"-A option not compiled in\" " "then compile it \"by hand\" as stated above." msgstr "" "Wenn das sagt: \"-A option not compiled in\", dann müssen Sie es wie oben ausgeführt \"von Hand\" " "übersetzen." #. Tag: para #: index.docbook:3726 #, no-c-format msgid "" "You should also try to change \"the orchestra\" by installing a different " "soundfont. To get such a soundfont you should first have a look at the CDROM " "shipped with your soundcard. Perhaps you find there a file with suffix " ".sf2. But be careful: Make sure it is a General MIDI " "file!" msgstr "" "Sie sollten auch versuchen, \"das Orchester\" durch Installation eines " "anderen Soundfonts zu wechseln. Um einen solchen Soundfont zu bekommen, " "sollten Sie zunächst die CDROM durchsuchen, die Ihrer Soundkarte beilag. " "Möglicherweise finden Sie dort eine Datei mit der Endung .sf2. Stellen Sie sicher, dass es sich um einen General-MIDI-Soundfont " "handelt!" #. Tag: para #: index.docbook:3731 #, no-c-format msgid "" "If not then load the soundfile mentioned at http://alsa.opensrc.org/8MBGMSFX.SF2. Download it " "and in /usr/share/timidity/timidity.cfg (or /" "usr/local/share/timidity/timidity.cfg) change:" msgstr "" "Wenn nicht, so laden Sie die Soundfont-Datei, welche hier erwähnt wird: " "http://alsa.opensrc." "org/8MBGMSFX.SF2. Downloaden Sie sie und ändern Sie in /" "usr/share/timidity/timidity.cfg (oder /usr/local/share/" "timidity/timidity.cfg):" #. Tag: para #: index.docbook:3733 #, no-c-format msgid "" "     dir <" "path_to_the_directory_there_the_8MBGMSFX.SF2_file_is_situated>" msgstr "" "     dir <" "pfad_zu_dem_Verzeichnis_in_welchem_8MBGMSFX.SF2_platziert_wurde>" #. Tag: para #: index.docbook:3734 index.docbook:3797 #, no-c-format msgid "and:" msgstr "und:" #. Tag: userinput #: index.docbook:3735 #, no-c-format msgid "     soundfont 8MBGMSFX.SF2" msgstr "" #. Tag: para #: index.docbook:3738 #, no-c-format msgid "" "Comment all other lines! If all is ok, you can start TiMidity+" "+ with:" msgstr "" "Kommentieren Sie alle anderen Zeilen aus! Wenn alles in Ordnung ist, so " "können Sie TiMidity++ starten mit:" #. Tag: para #: index.docbook:3742 #, no-c-format msgid "Select the configure dialog:" msgstr "Wählen Sie den Konfigurations-Dialog an:" #. Tag: menuchoice #: index.docbook:3744 #, no-c-format msgid "" "Configure Configure..." msgstr "" "Konfiguration MIDI " "konfigurieren..." #. Tag: para #: index.docbook:3749 #, no-c-format msgid "You should see 4 new MIDI devices:" msgstr "Sie sollten 4 neue MIDI-Geräte sehen:" #. Tag: para #: index.docbook:3751 #, no-c-format msgid "Timidity port 0 128:0" msgstr "" #. Tag: para #: index.docbook:3752 #, no-c-format msgid "Timidity port 1 128:1" msgstr "" #. Tag: para #: index.docbook:3753 #, no-c-format msgid "Timidity port 2 128:2" msgstr "" #. Tag: para #: index.docbook:3754 #, no-c-format msgid "Timidity port 3 128:3" msgstr "" #. Tag: para #: index.docbook:3757 #, no-c-format msgid "Choose one of them and the replay should work!" msgstr "Wählen Sie eines aus und die Wiedergabe sollte funktionieren!" #. Tag: para #: index.docbook:3759 #, no-c-format msgid "" "Tip: If the replay interrupts during page turn over then start " "TiMidity++ as root. This " "increases the priority of the TiMidity++ process. " "Use the following command in this case:" msgstr "" "Tipp: Wenn die Wiedergabe beim Umblättern stockt, so starten Sie " "TiMidity++ als root. Das " "erhöht die Priorität des TiMidity++-Prozesses. " "Nutzen Sie in diesem Fall das folgende Kommando:" #. Tag: userinput #: index.docbook:3761 #, no-c-format msgid "" "     timidity --realtime-priority=100 -iA -B2,8 -" "Os1l -s 44100" msgstr "" #. Tag: para #: index.docbook:3763 #, no-c-format msgid "" "This can lead to operating system problems if your CPU performance is too " "small! If so, then try to decrease the priority and/or the frequency:" msgstr "" "Das kann zu Betriebsystem-Problemen führen, wenn die Leistungsfähigkeit " "Ihrer CPU zu klein ist! Wenn dem so ist, so versuchen Sie die Priorität und/" "oder die Frequenz herabzusetzen:" #. Tag: userinput #: index.docbook:3766 #, no-c-format msgid "" "     timidity --realtime-priority=60 -iA -B2,8 -" "Os1l -s 22050" msgstr "" #. Tag: para #: index.docbook:3767 #, no-c-format msgid "Sometimes it helps to increase the number of buffer fragments:" msgstr "Manchmal hilft es auch, die Anzahl der Bufferfragmente zu erhöhen:" #. Tag: para #: index.docbook:3768 #, no-c-format msgid "" "         timidity -iA -" "B8,8 -Os1l -s 22050    " msgstr "" #. Tag: para #: index.docbook:3771 #, no-c-format msgid "" "If you want a different sound have a look at the Hammersound install page." msgstr "" "Falls Sie einen anderen Soundfont ausprobieren wollen, so werfen Sie einen " "Blick auf die Hammersound-Installationsseite." #. Tag: title #: index.docbook:3776 #, no-c-format msgid "Hammersound install page" msgstr "Die Hammersound-Installationsseite" #. Tag: para #: index.docbook:3778 #, no-c-format msgid "" "For my examples I recommend the soundfont mentioned at TiMidity server page. But you can test other " "soundfonts at http://www." "hammersound.net/, for example the FluidR3 " "soundfont." msgstr "" "Für meine Beispiele empfehle ich den Soundfont, welcher auf der TiMidity-Server-Seite erwähnt wird. Aber " "Sie können auch einen Soundfont von der Seite http://www.hammersound.net/, zum Beispiel " "FluidR3 testen." #. Tag: para #: index.docbook:3780 #, no-c-format msgid "" "To do this search for FluidR3122501.zip at http://www.hammersound.net and " "download it." msgstr "" "Um das zu tun, suchen Sie FluidR3122501.zip auf http://www.hammersound.net und " "downloaden Sie die Datei." #. Tag: para #: index.docbook:3783 #, no-c-format msgid "" "This soundfont is in sfArk compression format. Download " "the decompressor from http://www." "melodymachine.com and unpack:" msgstr "" "Dieser Soundfont liegt im sfArk-Kompressionsformat vor. " "Laden Sie den De-Kompressor von http://www.melodymachine.com und entpacken Sie:" #. Tag: userinput #: index.docbook:3786 #, no-c-format msgid "     tar -xvzf sfarkxtc_lx86.tar.gz" msgstr "" #. Tag: para #: index.docbook:3787 #, no-c-format msgid "" "Then decompress the archive FluidR3122501.zip (Because " "of the spaces in file name the apostrophs are necessary):" msgstr "" "Dann dekomprimieren Sie das Archiv FluidR3122501.zip " "(Wegen der Leerzeichen sind die Apostrophe notwendig):" #. Tag: userinput #: index.docbook:3789 #, no-c-format msgid "     unzip FluidR3122501.zip" msgstr "" #. Tag: userinput #: index.docbook:3790 #, no-c-format msgid "     ./sfarkxtc \"FluidR3 GM.sfArk\"" msgstr "" #. Tag: para #: index.docbook:3791 #, no-c-format msgid "" "It is recommended to rename the resulting fileFluidR3 GM.SF2 because the Linux shell has problems dealing with spaces in file " "names:" msgstr "" "Es wird empfohlen, die entstehende Datei FluidR3 GM.SF2 " "umzubenennen, weil die Linux-Shell Probleme beim Umgang mit Dateien hat, " "deren Namen Leerzeichen enthalten:" #. Tag: userinput #: index.docbook:3793 #, no-c-format msgid "     mv \"FluidR3 GM.SF2\" FluidR3.sf2" msgstr "" #. Tag: para #: index.docbook:3794 #, no-c-format msgid "" "Then in /usr/share/timidity/timidity.cfg (or /" "usr/local/share/timidity/timidity.cfg) change:" msgstr "" "Dann ändern Sie in /usr/share/timidity/timidity.cfg " "(oder /usr/local/share/timidity/timidity.cfg):" #. Tag: para #: index.docbook:3796 #, no-c-format msgid "" "     dir <" "path_to_the_directory_there_the_FluidR3.sf2_file_is_situated>" msgstr "" "     dir <" "Pfad_zu_dem_Verzeichnis_in_dem_die_FluidR3.sf2_Datei_platziert_wurde>" #. Tag: userinput #: index.docbook:3798 #, no-c-format msgid "     soundfont FluidR3.sf2" msgstr "" #. Tag: para #: index.docbook:3800 #, no-c-format msgid "" "Start TiMidity as mentioned at TiMidity server page." msgstr "" "Starten Sie TiMidity wie auf der TiMidity-Server-Seite erwähnt!" #. Tag: title #: index.docbook:3807 #, no-c-format msgid "Credits and License" msgstr "" #. Tag: para #: index.docbook:3809 #, no-c-format msgid "&nted; Copyright 2007 Jörg Anders" msgstr "" #. Tag: para #: index.docbook:3814 #, no-c-format msgid "" "This documentation is licensed under the terms of the GNU Free Documentation License." msgstr "" #. Tag: para #: index.docbook:3815 #, no-c-format msgid "" "This program is licensed under the terms of the GNU General Public License." msgstr "" #. Tag: title #: index.docbook:3820 #, no-c-format msgid "Frequently Asked Questions (FAQ)" msgstr "Häufig gestellte Fragen (FAQ)" #. Tag: para #: index.docbook:3824 #, no-c-format msgid "" "I can't hear any sound! I see the running red notes but there is no sound! " "What's wrong?" msgstr "" "Ich höre keinen Ton! Ich sehe die laufenden roten Noten aber ich höre " "nichts! Was ist los?" #. Tag: para #: index.docbook:3829 #, no-c-format msgid "" "This has nothing to do with &nted;! It is a problem of your MIDI device! All " "MIDI based applications (for instance kmid " "(not kmidi !!!) or pmidi) " "will fail!" msgstr "" "Das hat nichts mit &nted; zu tun! Das ist ein Problem Ihres MIDI-Gerätes! " "Jedwede MIDI-basierte Software (zum Beispiel kmid " "(nicht kmidi !!!) oder pmidi) wird nicht funktionieren!" #. Tag: para #: index.docbook:3831 #, no-c-format msgid "" "First of all: Try to play a MIDI file with kmid " "(not (!!!) kmidi). As long " "as kmid does not produce any sound, &nted; (and " "any other MIDI device based software) will not produce any sound, too! The " "reason is: Either your soundcard has no hardware MIDI synthesizer or it has " "a hardware MIDI synthesizer but it is not supported by Linux." msgstr "" "Zunächst: Versuchen Sie eine MIDI-Datei mit kmid " "(nicht (!!!) kmidi) " "abzuspielen. Solange kmid keine Töne produziert, " "wird &nted; (und jede andere MIDI-Geräte-basierte Software) gleichfalls " "keine Töne produzieren! Der Grund ist: Entweder Ihre Soundkarte hat keinen " "Hardware-MIDI-Sythesizer, oder sie hat einen Hardware-MIDI-Synthesizer, der " "aber von Linux nicht unterstützt wird." #. Tag: para #: index.docbook:3836 #, no-c-format msgid "" "Please refer to the ALSA project " "page to find out whether the midi device on your sound card is " "supported." msgstr "" "Schlagen Sie bitte auf der ALSA-" "Projekt-Seite nach, um herauszufinden, ob das MIDI-Gerät Ihrer " "Soundkarte unterstützt wird." #. Tag: para #: index.docbook:3838 #, no-c-format msgid "" "Before making a lot of effort to emulate the hardware synthesizer by " "software you should search for a soundfont file on the CD shipped with your " "soundcard. A soundfont file has the suffix .sf2 or " ".SF2. Please make sure it is a General MIDI soundfont! " "If there is such a soundfont file there is a high probability you simply " "have to load the soundfont onto your soundcard." msgstr "" "Bevor Sie sich sehr viel Arbeit machen, um den Hardware-Synthesizer gegen " "eine Software-Emulation zu ersetzen, sollten Sie zunächst auf der CD, welche " "Ihrer Soundkarte beilag, nach einer Soundfont-Datei suchen. Eine Soundfont-" "Datei hat die Endung .sf2 or .SF2. " "Bitte Stellen Sie sicher, dass es sich um einen General-MIDI-Soundfont " "handelt! Wenn es eine solche Soundfont-Datei gibt, so ist die " "Wahrscheinlichkeit groß, dass Sie lediglich diesen Soundfont auf Ihre " "Soundkarte laden müssen." #. Tag: para #: index.docbook:3843 #, no-c-format msgid "" "To to this you need a program called asfxload. Simply type:" msgstr "" "Um dies zu tun, benötigen Sie ein Programm namens asfxload. Tippen Sie " "einfach ein:" #. Tag: para #: index.docbook:3845 #, no-c-format msgid "" "asfxload <soundfont>.sf2" msgstr "" #. Tag: para #: index.docbook:3846 #, no-c-format msgid "" "But even if you cannot find a soundfont file on soundcard CD, you can try to " "download a soundfont file. I recommand the soundfont mentioned at http://alsa.opensrc.org/8MBGMSFX." "SF2." msgstr "" "Aber auch wenn Sie keine Soundfont-Datei auf Ihrer CD finden, so können Sie " "einfach eine Soundfontdatei aus dem Netz laden. Ich empfehle die Datei, die " "hier erwähnt wird: http://alsa.opensrc.org/8MBGMSFX.SF2." #. Tag: para #: index.docbook:3848 #, no-c-format msgid "" "If asfxload fails your soundcard does not permit loading a soundfont." msgstr "" "Falls asfxload nicht funktioniert, so erlaubt Ihre Soundkarte das Laden " "von Soundfontdateien nicht." #. Tag: para #: index.docbook:3849 #, no-c-format msgid "" "There is still a last chance that not all needed moduls are loaded. So as a " "last attempt type as root:" msgstr "" "Es gibt noch eine letzte Chance, dass nicht alle Moduln geladen sind. " "Probieren Sie deshalb als root-Nutzer:" #. Tag: userinput #: index.docbook:3850 #, no-c-format msgid "modprobe snd_seq_midi" msgstr "" #. Tag: para #: index.docbook:3851 #, no-c-format msgid "and repeat the asfxload command." msgstr "und wiederholen Sie das asfxload-Kommando!" #. Tag: para #: index.docbook:3852 #, no-c-format msgid "" "If asfxload fails again you have to emulate the hardware MIDI " "synthesizer by software. This works if your computer has enough performance. " "Windows for instances starts a soft synthesizer automatically if the " "hardware synthesis does not work. So, be not confused if you can play MIDI " "files on Windows!" msgstr "" "Falls asfxload weiterhin nicht funktioniert, so müssen Sie den Hardware-" "MIDI-Synthesizer durch eine Software emulieren. Das klappt, wenn Ihr " "Computer leistungsfähig genug ist. Windows startet zum Beispiel stets eine " "solche Emulation, falls die Hardware-Synthese nicht funktioniert. Seien Sie " "deshalb nicht überrascht, wenn Sie MIDI-Dateien unter Windows abspielen " "können!" #. Tag: para #: index.docbook:3855 #, no-c-format msgid "" "Such emulation software exists for Linux, too. But it is more complicated " "because:" msgstr "" "Eine solche Emulations-Software existiert auch unter Linux. Aber das ist ein " "wenig komplizierter, weil" #. Tag: para #: index.docbook:3857 #, no-c-format msgid "You have to start this software \"by hand\"." msgstr "sie diese Software \"von Hand\" starten müssen." #. Tag: para #: index.docbook:3858 #, no-c-format msgid "" "These software MIDI synthesizers need a so-called soundfont, a collection of " "sample tones of every instrument of a virtual orchestra. These soundfonts " "are copyrighted, i.e. actually nothing for a free system like Linux." msgstr "" "Diese Software-MIDI-Synthesizer einen so genannten Soundfont - eine " "Kollektion von Beispieltönen eines virtuellen Orchesters - benötigen. Diese " "Soundfonts sind urheberrechtlich geschützt, also eigentlich nichts für ein " "offenes System wie Linux." #. Tag: para #: index.docbook:3862 #, no-c-format msgid "" "But there is a (relatively bulky) way! See The TiMidity server detailed instructions!" msgstr "" "Es gibt jedoch einen (relativ aufwendigen) Weg! Schauen Sie unter Der TiMidity-Server nach, um detaillierte " "Anweisungen zu erhalten!" #. Tag: para #: index.docbook:3865 #, no-c-format msgid "" "Note! There are more software synthesizers on Linux, which can be tested. " "Among them the FluidSynth. See http://" "www.linux-sound.org for a list." msgstr "" "Achtung! Es gibt noch mehr Software-Synthesizer für Linux, welche Sie testen " "können! Unter Ihnen der FluidSynth. Schauen Sie unter http://www.linux-sound.org nach, um eine komplette Liste zu " "erhalten!" #. Tag: para #: index.docbook:3867 #, no-c-format msgid "" "You should avoid soft synthesis if the performance of your computer is too " "small! The antialiasing procedure (smoothing the symbols) of &nted; consumes " "a lot of performance, and soft synthesis, too! As a result the replay can be " "uneven especially during page turn over!" msgstr "" "Sie sollten die Software-Synthese vermeiden, wenn die Leistungsfähigkeit " "Ihres Computers zu klein ist! Das Antialiasverfahren (Kantenglättung der " "Symbole) von &nted; erfordert eine Menge Leistung, ebenso wie die Software-" "Synthese! Das kann zu ungleichmäßiger Wiedergabe führen!" #. Tag: para #: index.docbook:3873 #, no-c-format msgid "" "I use TiMidity but the sound is distorted and somtimes I have no sound, at " "all. What's wrong?" msgstr "" "Ich benutze TiMidity. Aber der Sound klingt verzerrt und ist manchmal völlig " "verschwunden. Was ist los?" #. Tag: para #: index.docbook:3878 #, no-c-format msgid "Check whether you have a command pulseaudio:" msgstr "Prüfen Sie, ob Sie Pulseaudio haben:" #. Tag: para #: index.docbook:3880 #, no-c-format msgid "" "If you get the path of pulseaudio then follow the instructions in chapter " "pulseaudio" msgstr "" "Falls der Pfad zum Pulseaudio angezeigt wird, folgen Sie den Instruktionen, " "die im Kapitel Pulseaudio gegeben werden." #. Tag: para #: index.docbook:3886 #, no-c-format msgid "At program start it says: \"Error in FT_Open_Face\"! What's wrong!" msgstr "Bei Programmstart erscheint: \"Error in FT_Open_Face\"! Was ist los?" #. Tag: para #: index.docbook:3891 #, no-c-format msgid "You have not installed the program! Please type (as root):" msgstr "" "Sie haben das Programm nicht installiert! Geben Sie (als root-Nutzer) das " "Kommando:" #. Tag: userinput #: index.docbook:3892 #, no-c-format msgid "make install" msgstr "" #. Tag: para #: index.docbook:3893 #, no-c-format msgid "" "Refer also to INSTALL file shipped with the nted-x.y.z.tgz archive." msgstr "" "Lesen Sie auch in der Datei INSTALL nach, die im nted-x.y.z.tgz-Archiv vorhanden ist." #. Tag: para #: index.docbook:3898 #, no-c-format msgid "" "I use asfxload but I get an error \"sfxload: no " "memory left\" and some instruments are missing during replay. What's wrong?" msgstr "" "Ich nutze asfxload aber ich bekomme einen Fehler: " "\"sfxload: no memory left\" und einige Instrumente fehlen bei der " "Wiedergabe. Was ist los?" #. Tag: para #: index.docbook:3904 #, no-c-format msgid "" "Don't believe the many rumours on different mailing lists! I have bad news " "for you: You have to build a new kernel. Terrible, I know! If you feel " "unable to do this then try to use the TiMidity server." msgstr "" "Glauben Sie nicht den vielen Gerüchten auf diversen Mailing-Listen! Ich habe " "eine schlechte Neuigkeit für Sie: Sie müssen einen neuen Kern bauen! " "Schrecklich, ich weiss! Wenn Sie sich nicht dazu in der Lage fühlen, so " "versuchen Sie es mit dem TiMidity-Server." #. Tag: para #: index.docbook:3907 #, no-c-format msgid "Otherwise download the kernel and change in" msgstr "Anderenfalls downloaden Sie den Kern und ersetzen Sie in " #. Tag: para #: index.docbook:3908 #, no-c-format msgid "arch/x86/include/asm/dma.h:" msgstr "" #. Tag: filename #: index.docbook:3909 #, no-c-format msgid "#define MAX_DMA32_PFN ((4UL * 1024 * 1024 * 1024) >> PAGE_SHIFT)" msgstr "" #. Tag: para #: index.docbook:3910 #, no-c-format msgid "against:" msgstr "gegen:" #. Tag: filename #: index.docbook:3911 #, no-c-format msgid "#define MAX_DMA32_PFN ((2UL * 1024 * 1024 * 1024) >> PAGE_SHIFT)" msgstr "" #. Tag: para #: index.docbook:3912 #, no-c-format msgid "" "Then build the kernel! Refer to https://lists.ubuntu.com/" "archives/universe-bugs/2009-March/068812.html for more details!" msgstr "" "Dann erzeugen Sie den Kern! Wenn Sie Genaueres wissen wollen, so schauen Sie " "unter https://lists.ubuntu.com/archives/universe-bugs/2009-" "March/068812.html nach!" #. Tag: para #: index.docbook:3919 #, no-c-format msgid "I cannot install &nted; because I have no root rights. What shall I do?" msgstr "" "Ich kann &nted; nicht installieren, weil ich keine Root-Rechte habe. Was " "soll ich machen?" #. Tag: para #: index.docbook:3924 #, no-c-format msgid "" "You can use the option to install the &nted; in an " "arbitrary directory below your $HOME directory. Please refer also to INSTALL " "file shipped with the nted-x.y.z.tgz archive." msgstr "" "Sie können die Option benutzen, um &nted; in " "irgendeinem Verzeichnis unterhalb Ihres $HOME-Verzeichnisses zu " "installieren. Schlagen Sie auch in der Datei INSTALL nach, welche im Archiv " "nted-x.y.z.tgz enthalten ist." #. Tag: para #: index.docbook:3927 #, no-c-format msgid "" "Furthermore, if you want to avoid the make install " "command then set an environment variable NTED_FONT_DIR " "to the directory where the nted/ntedfont.pfa is " "situated." msgstr "" "Außerdem: Wenn Sie das make install-Kommando " "vermeiden wollen, so setzen Sie die Umgebungsvariable " "NTED_FONT_DIR auf das Verzeichnis, in welchem " "nted/ntedfont.pfa platziert wurde." #. Tag: para #: index.docbook:3930 #, no-c-format msgid "" "For instance, assume the ntedfont.pfa is at /" "home/smith/datafiles/nted/ntedfont.pfa type at command prompt:" msgstr "" "Wenn zum Beispiel ntedfont.pfa unter /home/" "smith/datafiles/nted/ntedfont.pfa zu finden ist, so geben Sie " "folgendes Kommando:" #. Tag: userinput #: index.docbook:3932 #, no-c-format msgid "export NTED_FONT_DIR=/home/smith/datafiles" msgstr "" #. Tag: para #: index.docbook:3933 #, no-c-format msgid "" "if you have a bash or sh shell." msgstr "" "wenn Sie eine bash oder sh-Shell benutzen." #. Tag: para #: index.docbook:3934 #, no-c-format msgid "" "If you're using a csh or tcsh type:" msgstr "" "Wenn Sie eine csh oder tcsh-Shell benutzen, so schreiben Sie:" #. Tag: userinput #: index.docbook:3935 #, no-c-format msgid "setenv NTED_FONT_DIR /home/smith/datafiles" msgstr "" #. Tag: para #: index.docbook:3936 #, no-c-format msgid "To find out your shell type:" msgstr "Um festzustellen, welche Shell Sie haben, tippen Sie:" #. Tag: userinput #: index.docbook:3937 index.docbook:3984 #, no-c-format msgid "echo $SHELL" msgstr "" #. Tag: para #: index.docbook:3938 #, no-c-format msgid "at command promt." msgstr "an der Eingabeaufforderung." #. Tag: para #: index.docbook:3943 #, no-c-format msgid "" "May I set lyrics as text blocks below the sheet music? How can I use the " "score in common texts?" msgstr "" "Kann ich die Strophen als Textblöcke unter die Musik setzen? Wie kann ich " "die Partitur in allgemeine Texte einbinden?" #. Tag: para #: index.docbook:3948 #, no-c-format msgid "" "This would require to write a musical score editor and " "a text editor! This is too complex! But have a look at:" msgstr "" "Das würde es erfordern, einen Noteneditor und einen " "Texteditor zu schreiben! Das ist zu aufwändig! Aber schauen Sie unter:" #. Tag: ulink #: index.docbook:3951 #, no-c-format msgid "" "http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/use_nted_in_text.xhtml" msgstr "" #. Tag: para #: index.docbook:3952 #, no-c-format msgid "There you can find some proposals about that topic." msgstr "nach! Hier finden Sie einige Vorschläge zu diesem Thema." #. Tag: para #: index.docbook:3957 #, no-c-format msgid "" "During program startup I get an error: \"Cannot open ALSA MIDI sequencer --> " "replay won't work ...\"! What's wrong ?" msgstr "" "Während des Programmstarts bekomme ich einen Fehler: \"Cannot open ALSA MIDI " "sequencer --> replay won't work ...\"! Was ist los ?" #. Tag: para #: index.docbook:3962 #, no-c-format msgid "" "That means you either have no ALSA sound system. Or you have an ALSA sound " "system but for complicated reasons your ALSA midi sequencer is not " "initialized. In many cases this is due to a missing module. Therefore try " "(as root):" msgstr "" "Das bedeutet, dass Sie entweder kein ALSA-Soundsystem haben. Oder Sie haben " "eine ALSA-Soundsystem bei dem aber aus verwickelten Gründen der ALSA-MIDI-" "Synthesizer nicht initialisiert wurde. In vielen Fällen ist ein fehlender " "Modul der Grund. Geben Sie (als root-Nutzer) folgendes Kommando:" #. Tag: userinput #: index.docbook:3964 #, no-c-format msgid "modprobe snd-seq-midi" msgstr "" #. Tag: para #: index.docbook:3965 #, no-c-format msgid "and restart &nted;." msgstr "und starten Sie &nted; erneut!" #. Tag: para #: index.docbook:3970 #, no-c-format msgid "" "During make step an error occurs: " "/bin/sh: gdk-pixbuf-csource: command not found. What's wrong ?" msgstr "" "Während des make-Kommandos tritt ein Fehler auf: " "/bin/sh: gdk-pixbuf-csource: command not found. Was ist los ?" #. Tag: para #: index.docbook:3976 #, no-c-format msgid "" "This has to do with your PATH environment variable. Many Linuxes place the " "program gdk-pixbuf-csource at /opt/" "gnome/bin. Actually this should be in your PATH. But under " "certain circumstances this is not the case. If so then make sure /" "opt/gnome/bin is in your PATH. If you have a (t)csh shell type:" msgstr "" "Das hat mit der PATH-Umgebungsvariablen zu tun. Viele Linuxe platzieren " "gdk-pixbuf-csource an der Stelle:/opt/" "gnome/bin. Normalerweise sollten das in Ihrem PATH sein! Aber " "unter bestimmten Umständen ist das nicht der Fall. Stellen Sie sicher dass " "/opt/gnome/bin in Ihrem PATH ist. Wenn Sie eine (t)csh-" "Shell haben, tippen Sie:" #. Tag: userinput #: index.docbook:3980 #, no-c-format msgid "setenv PATH \"$PATH:/opt/gnome/bin\"" msgstr "" #. Tag: para #: index.docbook:3981 #, no-c-format msgid "If you have another shell type:" msgstr "Wenn Sie eine andere Shell haben, tippen Sie:" #. Tag: userinput #: index.docbook:3982 #, no-c-format msgid "export PATH=$PATH:/opt/gnome/bin" msgstr "" #. Tag: para #: index.docbook:3983 #, no-c-format msgid "To determine your shell type:" msgstr "Um festzustellen, welche Shell Sie haben, tippen Sie:" #. Tag: para #: index.docbook:3989 #, no-c-format msgid "" "During configure step I get an error: \"configure: error: C++ compiler " "cannot create executables, See `config.log' for more details.\". What's " "wrong?" msgstr "" "Während des configure bekomme ich einen Fehler: \"configure: error: C++ " "compiler cannot create executables, See `config.log' for more details.\". " "Was ist los?" #. Tag: para #: index.docbook:3992 #, no-c-format msgid "" "Ok, you can inspect the config.log. But this is " "presumably superfluous, because in most cases that means: You have no C++ " "compiler installed." msgstr "" "Ok, Sie können in der Datei config.log nachschauen. " "Aber das ist vermutlich überflüssig, denn in den meisten Fällen bedeutet " "das: Sie haben keinen C++-Compiler installiert." #~ msgid "" #~ "To insert a slur make sure &nted; is in insert mode (see The 3 modes). Choose:" #~ msgstr "" #~ "Um einen Bindebogen einzufügen, stellen Sie sicher, dass &nted; im " #~ "Einfüge-Mode ist (siehe Die 3 Modi). " #~ "Wählen Sie:" #~ msgid "" #~ "Left click the position where the slur shall appear. A slur is created:" #~ msgstr "" #~ "Klicken Sie mit der linken Maustaste die Position an, an der der " #~ "Bindebogen erscheinen soll. Der Bindebogen wird erzeugt:" #, fuzzy #~ msgid "\\_" #~ msgstr "1" #~ msgid "" #~ "You can attach up to 5 lines of lyrics to every note. To insert lyrics " #~ "select a note and choose:" #~ msgstr "" #~ "Sie können bis zu 5 Stopenzeilen zu jeder Note hinzufügen. Um das zu tun, " #~ "wählen Sie eine Note aus und wählen Sie:" #~ msgid "" #~ "The drum notation system is still under development. Remarks are welcome! " #~ "A more flexible mapping by the user is planned." #~ msgstr "" #~ "Das Schlagzeugsystem ist noch in Entwicklung. Anmerkungen sind " #~ "willkommen! Eine flexiblere Tonhöhenbestimmung durch den Nutzer ist " #~ "geplant." #~ msgid "" #~ "Because of limited chord name modyfiers these chord names are not " #~ "exported to LilyPond." #~ msgstr "" #~ "Wegen der Beschränkung der Modifizierungssymbole unter LilyPond, werden " #~ "die Akkordnamen nicht nach LilyPond exportiert." #~ msgid "" #~ "If you check the mute box the staff will not be played (see also Muting)." #~ msgstr "" #~ "Wenn Sie die Stummschalten-Box aktivieren, so wird diese Notenzeile nicht " #~ "gespielt (siehe auch Stummschalten)." #~ msgid "" #~ "On time signature panel choose the new numerator and denominator and " #~ "press Ok:" #~ msgstr "" #~ "Wählen Sie auf dem Taktmaßfeld einen neuen Zähler und Nenner und drücken " #~ "Sie auf Ok:" #~ msgid "" #~ "Configure Configure " #~ "MIDI ..." #~ msgstr "" #~ "Konfiguration MIDI " #~ "konfigurieren..." #~ msgid "" #~ "Configure print" #~ msgstr "" #~ "Konfiguration " #~ "Druckkonfiguration ..." nted-1.10.18/doc/de/Makefile.in0000664001041000007640000003541511520267353012752 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ ######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(srcdir)/../translated-manual.mk $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in subdir = doc/de ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_LIBS = @ALSA_LIBS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ IMAGE2HEADER = @IMAGE2HEADER@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PO2XML = @PO2XML@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ X11_CFLAGS = @X11_CFLAGS@ X11_LIBS = @X11_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XML2POT = @XML2POT@ XMLTO = @XMLTO@ YELP = @YELP@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ LANGUAGE = de EXTRA_DIST = $(LANGUAGE).po index.docbook all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/../translated-manual.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/de/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/de/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am @MAKE_DOCS_FALSE@all-local: all-am: Makefile all-local installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." @MAKE_DOCS_FALSE@uninstall-local: @MAKE_DOCS_FALSE@install-data-local: @MAKE_DOCS_FALSE@clean-local: clean: clean-am clean-am: clean-generic clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: install-am install-strip .PHONY: all all-am all-local check check-am clean clean-generic \ clean-local distclean distclean-generic distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-data-local install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-local @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@all-local: index.docbook index.html @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@index.docbook: ../en/index.docbook $(LANGUAGE).po @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(PO2XML) $(srcdir)/../en/index.docbook $(srcdir)/$(LANGUAGE).po >index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@index.html: index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(XMLTO) html index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@../templates/nted.pot: @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ cd ../templates && $(MAKE) nted.pot @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@$(srcdir)/$(LANGUAGE).po: ../templates/nted.pot ../en/index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(MSGMERGE) $(srcdir)/$(LANGUAGE).po ../templates/nted.pot > xx.po @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ @if cmp xx.po $(srcdir)/$(LANGUAGE).po > /dev/null; then \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ rm -f xx.po; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ else \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ rm -f $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ echo mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ fi @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@install-data-local: index.docbook index.html @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(INSTALL) -D -m "u=rw,og=r" index.docbook $(DESTDIR)$(htmldir)/$(LANGUAGE)/index.docbook @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ @-for i in *.html; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ do \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ $(INSTALL) -D -m "u=rw,og=r" $$i $(DESTDIR)$(htmldir)/$(LANGUAGE)/$$i; \ @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ done @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@uninstall-local: @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ rm -f $(DESTDIR)$(htmldir)/$(LANGUAGE)/* @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@clean-local: @MAKE_DOCBOOKS_TRUE@@MAKE_DOCS_TRUE@ rm -f *.html index.docbook @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@all-local: index.html @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@index.html: @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ $(XMLTO) html index.docbook @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@$(srcdir)/$(LANGUAGE).po: ../templates/nted.pot ../en/index.docbook @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ $(MSGMERGE) $(srcdir)/$(LANGUAGE).po ../templates/nted.pot > xx.po @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ @if cmp xx.po $(srcdir)/$(LANGUAGE).po > /dev/null; then \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ rm -f xx.po; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ else \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ rm -f $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ echo mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ fi @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@install-data-local: index.docbook index.html @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ $(INSTALL) -D -m "u=rw,og=r" index.docbook $(DESTDIR)$(htmldir)/$(LANGUAGE)/index.docbook @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ @-for i in *.html; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ do \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ $(INSTALL) -D -m "u=rw,og=r" $$i $(DESTDIR)$(htmldir)/$(LANGUAGE)/$$i; \ @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ done @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@uninstall-local: @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ rm -f $(DESTDIR)$(htmldir)/$(LANGUAGE)/* @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@clean-local: @MAKE_DOCBOOKS_FALSE@@MAKE_DOCS_TRUE@ rm -f *.html # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/doc/de/index.docbook0000664001041000007640000054205311520270101013340 00000000000000 ]> Das &nted; Handbuch JörgAnders TU-Chemnitz
j.anders@informatik.tu-chemnitz.de
Maximiliano Spanische Übersetzung
mxgdvg@yahoo.it
MarianoMarini Italienische Übersetzung
mariano.marini@alice.itk
JörgAnders Deutsche Übersetzung
ja@informatik.tu-chemnitz.de
2008 Jörg Anders Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". 2010-09-28 1.10.16 &nted; ist ein Partitureditor für Linux Gtk &nted; Musik Editor Noten Partitur MIDI
Die Benutzung von &nted; &nted; starten Dieses Kapitel beschreibt die Benutzung von &nted; zum Setzen von Noten. &nted; wird durch die Eingabe folgenden Kommandos gestartet: % nted & Wenn &nted; gestartet ist, erscheint folgendes Fenster: &nted; Mainwindow Erste Musik Um meine Beispiele anzuhören, nutzen Sie bitte den Soundfont, welcher hier erwähnt wird: http://alsa.opensrc.org/8MBGMSFX.SF2! Um mehr Informationen darüber zu erhalten, wie mit SF2-Datein gearbeitet wird, lesen Sie bitte die entprechende Frage im FAQ oder lesen Sie im Abschnitt Der TiMidity-Server nach!. Um ein Musikbeispiel zu hören, wählen Sie: Datei Öffnen ... Wählen Sie: datafiles/nted/examples/example1.ntd im Dialog und dann OK! Die Beispiele werden während des Installationsschrittes installiert. Wenn Sie sie nicht finden können, besonders dann wenn das Programm aus einem Paket installiert wurde, so suchen Sie unter: /usr/share/nted/examples oder: /usr/local/share/nted/examples Sie sollten eine Partitur sehen. Wählen Sie einen MIDI-Port: Bearbeiten Einstellungen ...MIDI konfigurieren ... Und drücken Sie den Play-Knopf (). Sie sollten laufende rote Noten sehen und Musik hören. Wenn Sie keine Musik hören, so wählen Sie einen anderen MIDI-Port. Wenn nichts hilft, so schlagen Sie im FAQ nach. Die Werkzeugkiste Die Werkzeugkiste ist ein kleines Fenster, welches stets vor allen anderen &nted;-Fenstern erscheint: The toolbox Falls die Werkzeugkiste verschwinden sollte, so können Sie sie stets durch drücken das Werkzeugknopfes ( ) wieder sichtbar machen. Die Werkzeugkiste hat mehrere Einschübe: The toolbox panels Um den Einschub zu wechseln, nutzen Sie entweder die "nächster Einschub"() "vorheriger Einschub" () Knöpfe. Alternativ können Sie den Einschub mit Hilfe der Einschubknöpfe am oberen Rand direkt wählen: The direct panel buttons Die verschiedenen Einschübe betreffen verschiedene Felder des Notensatzes. Außderdem ist jeder Einschub wie der Nummernteil Ihrer Tastatur strukturiert; the toolbox and the numpad Statt einen Knopf der Werkzeugkiste zu drücken, können Sie auch den entsprechenden Knopf der Nummerntastatur drücken. Wenn Sie zum Beispiel halbe Noten wünschen, dann stellen Sie sicher, dass das num-Licht aus ist und wählen Sie den ersten Einschub. Drücken Sie eine 5 auf der Nummerntastatur. Der Halbe-Noten-Knopf wird ausgewählt. Außerdem: Einige Knöpfe (Pause, Haltebogen, Kreuz, B, Auflösung, Punkt) können mit Hilfe der PC-Tastatur unabhängig von gerade gewählten Einschub umgeschaltet werden, siehe Tastenbelegung. Noten und Pausen einfügen. Die 3 Modi &nted; ist immer in einem von 3 Modi. Der Mode wird durch das Einfüge-/Seiten-Knopf-Paar bestimmt. Am Anfang ist der Einfügeknopf gedrückt und der Seitenknopf nicht gedrückt. (). &nted; ist im Einfüge- Mode. Wenn Sie den Einfüge Knopf herausdrücken, indem Sie ihn anklicken oder die Taste 'n' betätigen, gelangen Sie in den Editier-Mode. (). Wenn Sie den Seitenknopf hineindrücken, indem Sie ihn anklicken oder die Taste 'p' betätigen, sind Sie im Seiten-Mode (). Außerdem kann man den Edit-Mode temporär erreichen, indem man bei der Arbeit mit der Maus kurzzeitig die Taste Strg drückt. Und man kann den Seiten-Mode temporär erreichen, indem man bei der Arbeit mit der Maus kurzzeitig die Taste Shift (Hochstelltaste) drückt: Im Einfüge-Mode können Sie Noten und Pausen eingeben. Im Editier-Mode können Sie die Partitur verändern. Im Seiten-Mode können Sie die Seite durch Bewegen der Maus verschieben. Noten eingeben und löschen Stellen Sie sicher, dass &nted; im Einfüge-Mode ist (siehe Die 3 Modi). Um eine Note einzufügen, wählen Sie eine Notenlänge auf dem ersten Einschub der Werkzeugkiste aus: The note length und klicken Sie eine Notenlinie an. Wenn Sie in die Nähe einer existierenden Note klicken, so wird ein Akkord erzeugt. Wenn Sie eine existierende Note anklicken, so wird diese gelöscht. Um eine Note zu löschen, können Sie auch die Rück-Taste verwenden. Um eine einzelne Note aus einem Akkord zu löschen, können Sie die Entfernen-Taste benutzen. Um eine Note mit einem Akzent oder Vorzeichen einzufügen, wählen Sie dieses auf dem 2. und/oder 3. Einschub der Werkzeugkiste aus: The note length (siehe auch Balkenbehandlung, Notenhalsbehandlung). Schlagzeugnoten einfügen &nted; bietet verschiedene Notenkopftypen an. Wählen Sie einen auf dem 5. Einschub der Werkzeugkiste aus: The note head types Wählen Sie einen Notenkopftyp aus und fügen Sie die Schlagzeugnote wie im Kapitel Noten und Pausen einfügen beschrieben ein. Beachten Sie: Die Bedeutung der Schlagzeugnoten hängt vom gewählten Notenschlüssel ab. Schlagen Sie unter Schlüsseln nach und lesen Sie etwas über das Schlagzeugsystemsystem nach. Beachten Sie ferner: Um die Schlagzeug-Klangfarben zu hören, müssen Sie einen bestimmten Kanal (häufig Kanal 10) auswählen. Siehe Der MIDI-Reiter! Tremolonoten einfügen Um eine Tremolonoten einzufügen, wählen Sie das Tremolozeichen auf dem 5. Einschub der Werkzeugkiste aus: the tremolo types Wählen Sie einen Tremolotyp aus und fügen Sie die Note wie im Kapitel Noten und Pausen einfügen beschrieben ein. Achtung: Die Tremolo-Noten haben keinen Einfluss bei der Wiedergabe. Einfügen/Löschen von Pausen Stellen Sie sicher, dass &nted; im Einfügemodus ist (siehe Die 3 Modi). Um eine Pause einzufügen, wählen Sie eine Notenlänge auf dem ersten Einschub der Werkzeugkiste und drücken Sie den Pausenknopf: Toolbox rest selected Sie können Pausen nicht wirklich "löschen", denn Sie können keine Zeit vernichten. Aber in vielen Fällen ergibt sich folgende Situation: shift example 1 Das kann insbesondere dann passieren, wenn Sie eine Folge von Noten gelöscht haben, denn jede Note hinterlässt eine entsprechende Pause. Wenn Sie nun eine halbe Pause an der Position der ersten Achtelpause einfügen,so ändert sich die Situation wie folgt: shift example 1 Verallgemeinerung Wir können das letzte Beispiel verallgemeinern: Die Wahrheit ist: Unabhängig davon, ob Sie eine Note oder Pause einfügen, verbraucht &nted; soviel Zeit wie nötig ist, um die Note oder Pause einzufügen. Noch einmal folgende Situation angenommen: shift example 1 Wenn Sie eine halbe Note an die Position der 2. Achtelpause einfügen, so ist das Ergebnis: shift example 1 &nted; "isst" 3 Achtelpausen und verkürzt die Viertelnote um ein Achtel. Noten und Pausen über die PC-Tastatur einfügen Sie können die Notenlängen durch Drücken ausgewählter Zifferntasten ändern: 1aktuelle Notenlänge auf ganze Note setzen 2aktuelle Notenlänge auf halbe Note setzen 4aktuelle Notenlänge auf Viertelnote setzen 5aktuelle Notenlänge auf Achtelnote setzen 6aktuelle Notenlänge auf 16tel Note setzen 7aktuelle Notenlänge auf 32stel Note setzen 8aktuelle Notenlänge auf 64stel Note setzen Um mit dem Drücken dieser Tasten gleichzeitig Noten einzufügen, aktivieren Sie den Tatsatur-Einfüge-Knopf () oder drücken Sie auf die Taste 'k'. Das versetzt &nted; in den Tastatur-Einfüge-Modus. Wenn Sie nun eine der oben aufgeführten Tasten drücken, so wird eine Note entsprechender Länge an der Cursorposition eingefügt. Um eine Pause einzufügen, drücken Sie gleichzeitig die Alt-Taste. Nutzen Sie die Cursor-Auf-/Ab-Tasten, um die Tonhöhe zu bestimmen.Nutzen Sie die Cursor-Links-/Rechts-Tasten, um zum vorherigen/nächsten Takt zu wechseln. Die Rück-Taste löscht die zuletzt eingefügte Note. Siehe auch Noten mit Tonhöhenbestimmung per MIDI-keyboad einfügen. Ein System hinzufügen Am Anfang zeigt &nted; ein System mit nur wenigen Takten. Um mehr Systeme anzufügen, drücken Sie Strg B.Dadurch wird ein System am Ende der Partitur angefügt. Siehe auch: Ein System löschen Modifikationen Bewegen von Noten und Pausen Sie können Noten und Pausen waagerecht und senkrecht verschieben. Stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe: Die 3 Modi). Noch 'mal: Sie können das temporär durch Drücken der Strg-Taste erreichen. Klicken Sie eine Note oder Pause mit der linken Maustaste an. Die Note oder Pause wird ausgewählt. Eine ausgewählte Note oder Pause erscheint in rot. Bewegen Sie die Maus und halten Sie die linke Maustaste gedrückt. Die ausgewählte Note oder Pause bewegt sich entsprechend. Wenn Sie eine Note senkrecht bewegen, so ändert sich ihre Notenlinie. Wenn Sie eine Note oder Pause waagerecht vor eine andere Note oder Pause bewegen, so ändert die Note oder Pause ihre Position. Außerdem: Wenn eine Note ausgewählt ist, so kann man sie mit den Auf-/Ab-Cursortasten hoch und runter bewegen. Die Links-/Rechts-Tasten verändern die Auswahl. Die waagerechte Verschiebung ist besonders dann nützlich, wenn man zum Beispiel folgendes erreichen will: shift example 1 aber die Situation die Folgende ist: shift example 2 Durch das Bewegen der Note vor die Pause oder der Pause hinter die Note, tauschen die Symbole ihre Position. Pausen unsichtbar machen Wenn Sie es wünschen, können Sie Pausen unsichtbar machen. Es gibt 2 Wege, das zu tun. Wenn Sie die Pausen einer ganzen Stimme unsichtbar machen wollen, so wählen Sie diese auf dem Stimmenauswähler () aus und wählen Sie: Werkzeuge Pausen verstecken oder drücken Sie einfach Strg + R Um bereits unsichtbar gemachte Pausen wieder sichtbar zu machen, wählen Sie: Werkzeuge Pausen sichtbar machen oder drücken Sie einfach Strg + U. Um diese Operation auf eine bestimmte Notenzeile zu beschränken, wählen Sie vor der Operation eine beliebige Note oder Pause dieser Notenzeile aus. Der 2. Weg ist das Verstecken von Pausen eines Auswahlrechtecks: Zeichnen Sie ein Auswahlrechteck, so wie in Einen Block auswählen beschrieben. Wählen Sie Pausen verstecken oder Pausen sichtbar machen wie oben beschrieben aus. Beachten Sie: Diese Operation ist ebenfalls auf die ausgewählte Stimme beschränkt. Um alle Pausen in allen Stimmen zu verstecken/sichtbar zu machen, wählen Sie: Werkzeuge Pausen verstecken (a.St.) oder: Werkzeuge Pausen sichtbar machen (a.St.) Das Verstecken von Pausen ist auch im Falle von Auftakten nützlich. Um versteckte Pausen sichtbar zu machen, wählen Sie: Ansicht zeige versteckte Elemente Pausen senkrecht positionieren &nted; versucht die Pausen so zu positionieren, dass sie andere Elemente nicht überdecken. Das funktioniert in den meisten Fällen. Aber manchmal wünscht sich der Nutzer eine besser angepasste senkrechte Position. Um eine Pause senkrecht zu positionieren, wählen Sie diese aus. Dann änderen Sie deren senkrechte Position mit Hillfe der Cursor-auf-/-ab Tasten. Von diesem Moment an sind Sie für das Positionieren der Pause verantwortlich. &nted; wird nichts tun, um Konflikte zu lösen. Der einzige Weg, um die Note wieder durch &nted; steuern zu lassen ist, eine neue Pause einzufügen. Auf diese Weise teilen sich 2 Stimme "eine" Note. selected a tie Sie müssen beide Pausen um wenigstens einen Schritt bewegen! Anderenfalls bewegt &nted; die andere Pause so, dass die angestrebte Vereinigung - welche Verdecken impliziert - nicht erreicht werden kann. Haltebögen Es gibt 2 Verfahren, Haltebögen einfügen: Bei dieser Methode wird angenommen, dass Sie Haltenbögen erst nach dem Einfügen einer Folge von Noten hinzufügen wollen. Dehalb: Drücken Sie niemals den Haltebogenknopf während des Einfügens von Noten: the tie button Drücken Sie ihn erst, nachdem Sie eine Folge von Noten eingefügt haben. Dann wählen Sie die Noten, welche durch einen Haltebogen verbunden werden sollen paarweise aus. Vergessen Sie nicht, den Haltebogenknopf wieder herauszudrücken: the tie button Weil dieser einen hohen Vorrang hat, blockiert er andere Funktionen. Fügen Sie eine Note oder einen Akkord gefolgt von einer Note oder einem Akkord mit gleicher(n)Tonhöhe(n) ein: before tie method 1 Drücken Sie ',' (Komma). Noten gleicher Tonhöhe werden gebunden: before tie method 2 Nutzerdefinierte Halteebögen &nted; platziert die Haltebögen automatisch in Abhängigkeit von der Halsrichtung der Noten. Das funktioniert in den meisten Fällen. Aber manchmal wünscht sich der Nutzer angepasste Haltebögen. Um die Haltebögen anzupassen, stellen Sie sicher, dass &nted; im Editier-Modus ist (siehe Die 3 Modi). Wählen Sie einen Haltebögen mit der linken Maustaste aus: selected a tie Der ausgewählte Haltebogen erscheint in rot. Benutzen Sie die Cursor-auf/-ab-Tasten um die Krümmung zu ändern: change the tie's curve Verändern der Längen, der Vorzeichen, der Punktierung und der Haltebögen Stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Noch 'mal: Sie können das temporär durch Drücken der Strg-Taste erreichen. Klicken Sie eine Note oder Pause mit der linken Maustaste an. Die Note oder Pause wird ausgewählt. Ausgewählte Noten oder Pausen erscheinen in rot. Die Knöpfe reflektieren den Zustand der Note oder Pause. Sie können den Zustand der Note oder Pause ändern, indem Sie die entspechenden Knöpfe umschalten. Das umfasst: Längenänderungen Ändern des Notenkopftyps Einfügen/Löschen von Vorzeichen/Punktierungen Löschen von Haltebögen Rückgängig machen und Wiederherstellen &nted; hat einen unbegrenten Speicher für ausgeführte Aktionen. Sie können stets eine fälschlicherweise gegebene Anweisung durch Drücken des Rückgängig-Knopfes () oder durch Betätigen der Tasten Strg Z wieder rückgängig machen. Um eine zurückgenommene Aktion doch wieder auszuführen, drücken Sie den Knopf Wiederherstellen () oder Drücken Sie auf der Tastatur Strg Y. Um die Ansicht zu vergrößern, drücken Sie den Hineinzoomen-Knopf () oder drücken Sie auf der Tastatur Strg +. Um die Ansicht zu verkleinern, wählen Sie den Herauszoomen-Knopf () oder drücken Sie auf der Tastatur Strg -. Notenzeilen und Systeme Eine Notenzeile anfügen Um eine Notenzeile anzufügen, wählen Sie: Einfügen Notenzeile anfügen oder drücken Sie einfach Strg + A. Die Notenzeile wird als letzte angefügt. Die Eigenschaften einer Notenzeile ändern Um die Eigenschaften einer Notenzeile zu ändern, klicken Sie die Notenzeile mit der rechten Maustaste nicht zu nah an einem Taktstrich an! Der Notenzeilen-Konfigurationsdialog erscheint: the staff config menu Wählen Sie den Namen der Notenzeile, den Notenschlüssel, das Taktmaß (gegebenenfalls oder) und die Vorzeichnung auf dem entsprechenden Feld aus und drücken Sie auf OK! Das Feld Noten justieren bestimmt, ob &nted; die entpsrechenden Noten so justieren soll, dass ihre Tonhöhe erhalten bleibt. Das betrifft Schlüssel- und Vorzeichenänderungen.Das Oktavverschiebunsfeld legt eine optionale Oktavverschiebung des Notenschlüssels fest. Note! LilyPond hat seine eigenen Regeln, um die Symbole oder auszuwählen. Erwarten Sie also nicht dieselben Symbole in LilyPond! Der Kurzname wird auf der 2., 3. ... Seite gedruckt. Der Gruppenname und Gruppenkurzname haben dieselbe Bedeutung wie der Notenzeilenname und der Kurzname für Gruppen von Notenzeilen. (siehe System Layout) Der neutrale Schlüssel hat 3 Formen: the neutral clefs Der Unterschied liegt in der MIDI-Behandlung. Die erste Form - mit "1" gekenzeichnet - ordnet den Notenlinien Töne so zu, wie es der Violinenschlüssel täte.Die 2. Form - mit "2" gekenzeichnet - ordnet den Notenlinien Töne so zu, wie es der Bassschlüssel täte. Beachten Sie: Wenn Sie den neutralen Schlüssel 1 oder 2 auswählen, so kollidiert die Notation mit der üblichen Schlagzeugnotation und die Schlagzeugnoten werden nicht nach LilyPond exportiert. Eine Alternative ist die Nutzung des Schlagzeugsystems. Auf der MIDI-Karteikarte können Sie die MIDI-Parameter verändern, welche die Wiedergabe beim Abspielen beeinflussen: the midi panel Auf dem Instrumentenfeld können Sie die Klangfarbe auswählen. Es wird ein General-MIDI System angenommen. Außerdem können Sie die Lautstärke der Notenzeile wählen. Normalerweise hat jede Stimme dieselbe Klangfarbe (spielt denselben Sound). Aber auf dem Stimmen- Panel können Sie dieses Verhalten ändern. the instrument panel Wenn der Knopf Alle unmittelbar vor dem Schließen des Notenzeilenmenüs ausgewählt ist, dann erzeugen alle Stimmen denselben Sound (spielen dasselbe Instrument). Anderenfalls können Sie verschiedene Klangfarben für verschiedene Stimmen durch Auswahl einer der Knöpfe 1, 2, 3 oder 4 bestimmen. Wählen Sie eine Klangfarbe, eine Lautspärke und eine Stereoposition (pan) für jede Stimme. Verschiedene Klangfarben in der gleichen Notenzeile erzeugen verschiedene Sounds auf demselben MIDI-Track, was eine aufwändige und komplizierte MIDI-Ausgabe zur Folge hat. Wenn Sie also die Wahl zwischen mehreren Sounds auf derselben Notenzeile oder mehrere Notezeilen mit einheitlichem Sound haben, so wählen Sie Letzteres! Auf dem Kanel-Menü können Sie einen Kanal zuweisen. Sie sollten verschiedenen Notenzeilen verschiedene Kanäle zuweisen. Das wird durch &nted; automatisch getan. Kanal 10 ist auf den meisten Soundkarten der Schlagzeugkanal und wird niemals automatisch zugewiesen. Der Temporegler verändert das Abspieltempo aller Notenzeilen. Der Pan-Regler bestimmt die Stereo-Position des Instruments. Der Chorus-Regler und der Hall-Regler bestimmen den Chorus und Hall-Effekt. Das ALSA-Sound-System unterstützt den Hall-Effekt nicht auf allen Soundkarten. Der häufig benutzte Modul snd_emu10k1_synth unterstützt zum Beispiel keinen Hall. Aber TiMidity unterstützt ihn. Auf der Stummschalte-Bedienung the instrument panel können Sie die gesamte Notenzeile stumm schalten. Sie koennen aber auch einzelne Stimmen einer Notenzeile stummschalten. Hinweise finden Sie im Abschnitt Muting). Der transp.-Regler bewirkt eine Halbtonverschiebung während der WIedergabe. Diese Funktion ist für Instrumente geeignet, die nicht in C stehen. Spezielle Zeichen in Notenzeilennamen &nted; gestattet die Verwendung spezieller Zeichen in Notenzeilennamen: Flute in A\b --> Die folgende Tabelle gibt einen Überblick über verwendbare Zeichen: \O \S \# \b \n \o \c \r p \-unbrechbare Leerstelle \...Punkte \--Strich Ändern der Notenzeilenposition Wenn es mehr als eine Notenzeile gibt, so exisitiert ein 3. Reiter für die Positions-Karteikarte: the position panel Der Cursor zeigt die augenblickliche Position der Notenzeile. Durch Anklicken einer anderen Position und dem Betätigen des OK-Knopfes wird die Notenzeile an eine andere Position bewegt. Löschen einer Notenzeile Wenn es mehr als eine Notenzeile gibt, so erscheint ein Knopf "Delete Staff": the staff delete button Um die Notenzeile zu löschen, betätigen Sie diesen Knopf! Ändern des Notenzeilenabstands &nted; wählt den Abstand zwischen den Notenzeilen automatisch in Abhängigkeit von der Position und der Höhe der Elemente.Das funktioniert in den meisten Fällen. Aber manchmal wünscht sich der Nutzer angepasste Notenzeilenabstände. Um die den Notenzeilenabstand zu ändern, stellen Sie sicher, dass &nted; im Einfügemodus ist (siehe Die 3 Modi). Wählen Sie: Einfügen Abstandshalter Klicken Sie in die Nähe der Position, an der der Abstandshalter erscheinen soll. Durch Klicken und senkrechtes Ziehen können Sie den Abstand zwischen der aktuellen und den benachbarten Notenzeilen anpassen: the spacer Um den Abstandshalter unsichtbar zu machen, wählen Sie: Ansicht zeige versteckte Elemente Das Modifizieren und Löschen von Abstandshaltern erfolgt analog zu dem unter Beliebiger Text Beschriebenen. Systeme löschen Wenn es mehr als ein System gibt, so erscheint ein Knopf "Delete System": the system delete button Um das System zu löschen, betätigen Sie diesen Knopf! Sie können das System auf der ersten Seite nicht löschen, wenn die erste Seite nur ein System hat. Anzeigen der Taktnummern verhindern &nted; zeigt am Anfang eines Systems die Taktnummer an. Sie können das verhindern: Ansicht Taktnummern anzeigen Das Schlagzeugsystem Das Standard-Schlagzeugsystem Wenn Sie den neutralen Schlüssel 1 oder den neutralen Schlüssel 2 vom Schlüsseldialog wählen: the neutral clefs dann werden die Tonhöhen dem General-MIDI-System gemäß bestimmt. Das kollidiert mit der üblichen Schlagzeugnotation. Um dies zu vermeiden, bietet &nted; ein Schlagzeugsystem an, welches sich an der konventionellen Schlagzeugnotation orientiert. Um das Schlagzeugsystem zu aktivieren, wählen Sie den neutralen Schlüssel 3 (Die 3 wird nicht gedruckt). In der aktuellen Version sollten Sie nur die folgenden 20 Schlagzeugelemente nutzen: the drum system Diese Noten werden so in Töne umgerechnet, dass bei der Wiedergabe das entsprechende Schlagzeugelement erklingt. Außerdem werden diese Noten nach LilyPond exportiert. Beachten Sie ferner: Um die Schlagzeug-Klangfarben zu hören, müssen Sie einen bestimmten Kanal (häufig Kanal 10) auswählen. Siehe Der MIDI-Reiter! Konfigurieren des Schlagzeugsystems Das Standard-Schlagzeugsystem umfasst die geläufigsten Schlagzeugelemente. Nutzer, die mehr Schlagzeugelemente nutzen wollen, können das Schlagzeugsystem umkonfigurieren: Datei Schlagzeug ... Der Schlagzeugnoten-Konfigurations-Dialog erscheint: The drum configuration dialog Die zentrale Tabelle listet alle Schlagzeugelemente auf: Den Namen, den Kurznamen (entspricht dem LilyPond- Namen), die Notenkopfform and die entsprechende MIDI-Tonhöhe. Wenn Sie ein Schlagzeugelement auswählen, dann reflektieren die Notenkopfform-Knöpfe und die kleine Vorschau den gegenwärtigen Zustand der Schlagzeugnote. Sie können die Notenlinie durch Anklicken der Auf-/Abwärtspfeile oder durch Drücken der Auf-/Abwärtstasten auf der PC-Tastatur verändern. Die Notenkopfform wird durch Betätigen des entsprechenden Notenkopfformknopfes verändert. Wenn Sie auf Element ändern klicken, so wird die neue Notenkopfform und die neue Notenlinie permanent gespeichert. Um die Standardwerte wieder zu laden, drücken Sie auf den Knopf Standards laden. Sie können die Konfiguration in eine Datei sichern und wieder laden, indem Sie die Knöpfe In Datei speichern·und·Von Datei laden ·betätigen. Der Knopf Element spielen·spielt das entsprechende Schlagzeugelement (falls Ihr MIDI-Ausgabegerät-Gerät korrekt konfiguriert ist). Wenn Sie 2 Schlagzeugelementen dieselbe Notenlienie und dieselbe Notenkopfform geben, so nutzt &nted; das erste Auftreten dieser Konfiguration. Stimmen Sie können die Noten und Pausen auf bis zu 4 Stimmen verteilen. Um die Stimme festzulegen, wählen Sie diese auf dem Stimmenauswähler aus (). Da mehrere Stimmen etwas sehr Verwirrendes sein können, gibt es einen Farbknopf (), der bewirkt, dass die Noten und Pausen farbig dargestellt werden: colored score Die Farben entsprechen den Farben auf dem Stimmenauswähler. Im Normalfall erzeugt jede Stimme denselben Sound (spielt dasselbe Instrument) während der Wiedergabe. Aber Sie können dieses Verhalten durch Zuweisen verschiedener Sounds an verschiedene Stimmen ändern. Blockbefehle Übersicht &nted; bietet 4 Blockbefehle an: Block kopierenBlock löschen Block leerenBlock einfügen Einen Block auswählen Um einen Block auszuwählen, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Zeichnen Sie mit der linken Maustaste eine Diagonale derart, dass das entsprechende Rechteck alle Elemente umfasst, mit denen Sie arbeiten wollen: selection Die ausgewählten Elemente erscheinen in violett. Wenn es ein Auswahlrechteck gibt, so können Sie einzelne Notenzeilen von der Auswahl ausschließen, indem Sie sie mit der rechten Maustaste anklicken: deselect from selection Das ist besonders dann nützlich, wenn Sie zum Beispiel nur die erste und letzte von 3 Notenzeilen kopieren wollen: copy selective Einen Block kopieren Um einen Block zu kopieren, wählen Sie zunächst einige Elemente wie in Einen Block auswählen beschrieben aus. Wählen Sie: Bearbeiten kopieren oder drücken Sie Strg C. Die ausgewählten Elemente werden in einen internen Speicher kopiert. Block einfügen Um einen Block einzufügen, wählen Sie eine Note oder Pause wie in Bewegen von Noten und Pausen beschrieben aus! Diese ausgewählte Note oder Pause ist die linke obere Ecke eines virtuellen Zielrechtecks: virtual destination rectangle Wählen Sie: Bearbeiten einfügen oder drücken Sie Strg V. Die Elemente werden vom internen Speicher in das virtuelle Zielrechteck kopiert: paste complete Einen Block löschen Um einen Block zu löschen, wählen Sie Elemente wie in Einen Block auswählen beschrieben aus! Wählen Sie: Bearbeiten Block löschen Oder drücken Sie einfach Strg + X. Der Block wird gelöscht Unabhängig von der konkreten Auswahl betrifft diese Operation alle Notenzeilen. Es werden nur komplette Takte gelöscht. block delete removes whole measures Einen Block leeren Einen Block zu leeren bedeutet, alle Notengruppen in entsprechend lange Pausen umzuwandeln. Wählen Sie die Elemente wie in Einen Block auswählen beschrieben aus: selection for empty a block Wieder können Sie einzelne Notenzeilen durch Rechtsklick abwählen: selection for empty a block, staff 2 deselected Wählen Sie: Bearbeiten Block leeren Oder drücken Sie einfach Strg + E. Der Block wird geleert: block emptied Einfügen leerer Blöcke Um einen Block einzufügen, wählen Sie eine Note oder Pause wie in Bewegen von Noten und Pausen beschrieben aus! select before block insertion Wählen Sie: Einfügen Block einfügen Bestimmen Sie die Anzahl der einzufügenden Takte auf dem Dialog und klicken Sie auf OK! block insertion dialog Die Takte werden nach dem Takt mit der ausgewählten Note oder Pause eingefügt. block insertion performed Balkenbehandlung Gruppierung &nted; platziert die Balken in Abhängigkeit von der Notenlänge und dem Taktmaß automatisch. Das funktioniert in den meisten Fällen. Doch manchmal wünscht sich der Nutzer angepasste Balken. Um die Balken anzupassen, wählen Sie einen speziellen Knopf auf dem Menübalken. Dieser Knopf ändert sein Aussehen, je nachdem, ob es ein gültiges Auswahlrechteck gibt oder nicht.(siehe Einen Block auswählen). Falls es keine solche Auswahl gibt, so isoliert dieser Knopf eine mit Balken versehene Note: (). Um eine Note zu isolieren, stellen Sie sicher, dass &nted; im Editiermodus ist (siehe Die 3 Modi). Wählen Sie eine Note mit Balken aus, indem Sie sie mit der linken Maustaste anklicken: The situation before isolation Drücken Sie den Isolier-Knopf (): The situation after isolation Die Note wird isoliert. Um Noten mit einem Balken zu verbinden, wählen Sie diese wie in Einen Block auswählen beschrieben aus: The situation before connection Der Knopf ändert seine Erscheinung: (). Drücken Sie den Knopf und &nted; verbindet die Noten mit einem Balken: The situation before connection Achtung! Diese Funktion kann auch Balken trennen, falls das Auswahlrechteck einen existierenden Balken kreuzt: The situation before connection Das führt zu: The situation before connection Statt den Knopf zu drücken, können Sie auch die Tastenkombination Strg J unabhängig vom Aussehen des Knopfes betätigen. Ändern der Balkenparameter Um die Notenhalsrichtung zu ändern ,stellen Sie sicher, dass &nted; im Editiermodus ist (siehe Die 3 Modi) Wählen Sie die erste oder die letzte Note mit der linken Maustaste aus und drücken Sie den Notenhalsrichtungswechselknopf(). Statt die Notenhalsrichtungsänderungstaste () zu nutzen, können Sie einfach zweinal Strg F drücken. &nted; berechnet die Balkenposition automatisch in Abhängigkeit von der Position der Noten. Das funktioniert in den meisten Fällen. Aber manchmal wünscht sich der Nutzer eine angepasste Balkenposition. Um die Balkenposition anzupassen, stellen Sie sicher, dass &nted; im Editier-Modus ist (siehe Die 3 Modi). Wählen Sie die erste Note mit der linken Maustaste aus: beam position 0 Der Notenhals hat einen Kontrollpunkt, der durch ein kleines blaues Quadrat dargestellt wird. Wählen Sie diesen Kontrollpunkt mit der linken Maustaste aus und bewegen Sie ihn auf und ab. Der Balken folgt dieser Bewegung. beam position 1 Um die Neigung des Balkens zu ändern, wählen Sie die letzte Note mit der linken Maustaste aus: beam slope 0 Der Notenhals hat einen Kontrollpunkt, der durch ein blaues Quadrat dargestellt wird. Wählen Sie diesen Kontrollpunkt mit der linken Maustaste aus und bewegen Sie ihn auf und ab. Die Neigung ändert sich entsprechend. beam slope 1 Notenhalsbehandlung Um die Notenhalsrichtung zu ändern, stellen Sie sicher, dass &nted; im Editiermodus ist (sieheDie 3 Modi) und wählen Sie die Note mit der linken Maustaste aus und drücken Sie den Notenhalsrichtungswechselknopf(). Statt die Notenhalsrichtungsänderungstaste () zu nutzen, können Sie einfach Strg F drücken. Alle Noten haben dieselbe Notenhalslänge. Das ist in den meisten Fällen in Ordnung. Aber manchmal möchte der Nutzer die Notenhalslänge ändern. Um das zu tun, stellen Sie sicher, dass &nted; im Editier-Modus ist (siehe Die 3 Modi) und wählen Sie die Note mit der linken Maustaste aus: stem length 0 Der Notenhals hat einen Kontrollpunkt, der durch ein kleines blaues Quadrat repräsentiert wird. Wählen Sie diesen Kontrollpunkt mit der linken Maustaste aus und bewegen Sie ihn auf und ab. Die Notenhalslänge ändert sich entsprechend: stem length 1 Waagerechte Abstände Globale Abstände &nted; verwendet vordefinierte waagerechte Abstände. Das sieht in vielen Fällen gut aus. Aber manchmal wünscht der Nutzer andere waagerechte Abstände. Um die waagerechten Abstände zu änder, wählen Sie: Bearbeiten Abstände ändern ... Der Abstandsdialog erscheint: the spacement dialog Ändern Sie den Abstandsfaktor und drücken Sie auf OK! &nted; verwendet die neuen waagerechten Abstände: the global spacement Taktweises Ändern der waagerechten Abstände: &nted; erlaubt das Ändern der waagerechten Abstände pro Takt Um das zu tun, wählen Sie eine beliebige Note aus dem Takt, wie in Noten bewegen beschrieben aus! Drücken und halten Sie die Shift-(Hochstell-) Taste und drehen Sie am Mausrad! Die waagerechten Abstände ändern sich entsprechend. Statt am Mausrad zu drehen, können Sie auch die Tastenkombination Shift Cursor-Aufwärts und Shift Cursor-Abwärts benutzen. horizontal space per measure System Layout Sie können die Notenzeilen mit Hilfe von runden bzw. eckigen Klammern gruppieren. Außerdem erlaubt Ihnen &nted; festzulegen, ob die Taktstriche aufeinanderfolgender Notenzeilen verbunden sind oder nicht. Um dies zu tun, markieren Sie einen Block, wie im Kapitel Einen Block auswählen beschrieben aus! selected block Wählen Sie: Bearbeiten Systemlayout ... Wählen Sie einen der angebotenen Menüpunkte: runde Klammer - Dadurch werden die ausgewählten Notenzeilen mit Hilfe einer runden Klammer gruppiert. eckige Klammer - Dadurch werden die ausgewählten Notenzeilen mit Hilfe einer eckigen Klammer gruppiert. Taktstriche verbinden - Dadurch werden die Taktstriche der ausgewählten Notenzeilen miteinander verbunden. Gruppe löschen - Dadurch werden Gruppen von Notenzeilen, die durch eine der 3 oben beschrieben Methoden gebildet wurden wieder getrennt. Seitenlayout Um die Notenzeilengruppe zu benennen, füllen Sie das Feld Gruppenname bzw. Gruppenkurzname (siehe: Die Eigenschaften einer Notenzeile ändern) der untersten Notenzeile der Gruppe aus: a group name N-Tolen N-Tolen erzeugen &nted; kann mit N-Tolen von 2 bis 13 umgehen. Um eine N-Tole zu erzeugen, wählen Sie die erste Note oder Pause aus, die der erste Bestandteil der N-Tole sein soll! Drücken Sie die Taste Strg und den N-Tolenwert! Wenn Sie zum Beispiel wollen, dass eine Viertelnote der erste Bestandteil einer Triole werden soll, so wählen Sie die Viertelnote aus: before triplet creation and drücken Sie Strg + 3: after triplet creation (method1) Es gibt ein 2. Verfahren: Wenn Sie statt dessen Alt + Strg +<Wert> drücken, so ist das Ergebnis: after triplet creation (method2) Was ist der Unterschied? Im ersten Fall betrachtet &nted; die ausgewählte Note als den ersten Bestandteil der N-Tole. Im 2. Fall nimmt es an, dass das Viertel die Länge der ersten 2 N-Tolenbestandteile hat. Das ist besonders für Swing-Musik nützlich, wo die oben gezeigte Kombination sehr oft autritt. Löschen von N-Tolen Um eine N-Tole zu löschen, wählen Sie irgendeinen N-Tolen-Bestandteil aus und wählen Sie: Bearbeiten N-Tole löschen N-Tolen von 10 bis 13 Um N-Tolen mit einem Wert größer als 9 zu erzeugen, wählen Sie: Einfügen N-Tole einfügen ... Setzen Sie den N-Tolen-Wert im Dialog! Um eine N-Tole gemäß des 2. Verfahrens (siehe oben) zu erzeugen, wählen Sie Methode 2 aus! Bindebögen Bindebögen einfügen Um einen Bindebogen einzufügen, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Wählen Sie eine Note wie in Einen Block auswählen beschrieben aus: before a slur is created Wählen Sie: Einfügen Bindebogen oder drücken Sie Strg H. Der Bindebogen erscheint: after a slur is created Wie Sie sehen können, hat der Bindebogen 3 Kontrollpunkte. Durch Anklicken und Schieben dieser Kontrollpunkte können Sie das genaue Aussehen der Bindebögen bestimmen: a slur is created Bindebögen modifizieren Obwohl die Kontrollpunkte frei beweglich erscheinen, sind sie stets einem Symbol zugeordnet. Dieses Symbol wird durch eine dünne hellblaue Linie angezeigt: the assignment of the slur handles Das hat Konsequenzen: &nted; versucht den relativen Abstand zu dem Symbol, zu dem er zugeordnet wurde zu erhalten; &nted; löscht den Bindebogen, wenn das Symbol, dem der Kontrollpunkt zugeordnet wurde gelöscht wird; Um das Aussehen des Bindebogens zu modifizieren, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Klicken Sie das Ende oder den Anfang eines Bindebogens mit der linken Maustaste an. Die 3 Kontrollpunkte erscheinen erneut: the selection of the slur handles Dadurch können Sie das Aussehen des Bindebogens wieder durch Ziehen der 3 Kontrollpunkte ändern. Löschen eines Bindebogens Um einen Bindebogen zu entfernen, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Noch 'mal: Sie können diesen Mode temporär durch Drücken der Taste Strg erreichen. Klicken Sie den Anfanfang oder das Ende eines Bindebogens mit der linken Maustaste an! Der ausgewählte Kontrollpunkt erscheint in rot. Drücken Sie die Taste Rück und der Bindenbogen wird gelöscht. Wiederholungen und andere Taktstrichformen Einfache Wiederholungen Um eine Wiederholung zu platzieren, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi ). Klicken Sie mit der rechten Maustaste einen Taktstrich an! Der Wiederholungs-Dialog erscheint: the repeat dialog Wählen Sie einen der angebotenen Wiederholungstypen durch Anklicken der Auf-/Abwärts-Pfeile aus und Drücken Sie auf den OK-Knopf! Der Taktstrich ändert seinen Typ: the repeat open measure Alternativen Wenn Sie auf dem Wiederholungsdialog ein Wiederholungsende-Zeichen auswählen, so wird das Feld Ende 1 aktiviert. Wenn Sie dieses anwählen, so wird das Feld Ende 2 aktiviert: the alternative checkboxes Auf diese Weise können Sie die entsprechenden Alternativen festlegen: the alternative Beide Alternativen überstreichen am Anfang nur einen Takt. Um die Länge der Alternativen zu ändern, klicken Sie mit der linken Maustaste die 1. oder 2. an! Die gewählte Zahl erscheint in rot: the selected alternative Ändern Sie die Weite der Alternative durch Betätigen der Links-/Rechts-Cursortasten: the changed alternative Um eine Alternative zu löschen, wählen Sie das entspechende Wiederholungsendezeichen und deselektieren das entsprechende Feld. Schlussstrich Auf dieselbe Weise können Sie einen Schlussstrich einfügen: double bar and end bar Wenn Sie den Schlussstrich oder die schließende Wiederholung ausgewählt haben, so können Sie mit Hilfe von Nachfolgendes verstecken bestimmen, ob &nted; Elemente darstellt, die dem Schlussstrich auf demselben System folgen oder nicht: the end bar dialog Es liegt in Ihrer Verantwortung, nachfolgende Systeme oder Seiten zu löschen! the end bar dialog Doppeltaktstrich Auf dieselbe Weise können Sie Doppelstriche einfügen. double bar Taktmaßänderungen Einfügen oder Ändern einer Taktmaßänderung Um eine Taktmaßänderung einzufügen, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Klicken Sie einen Taktstrich mit der rechten Maustaste an! Wählen Sie auf dem Dialog Taktmaßänderung ermöglichen the timesig changed dialog Wählen Sie auf dem Taktvorzeichen-Feld den Takt oder eines der beiden Symbole oder und drücken Sie auf Ok: the timesig changed dialog Note! LilyPond hat seine eigenen Regeln, um die Symbole oder auszuwählen. Erwarten Sie also nicht dieselben Symbole in LilyPond! Löschen einer Taktmaßänderung Um eine Taktmaßänderung zu löschen, wählen Sie das Taktmaßzeichen löschen-Feld aus. Notenschlüsselwechsel Einfügen eines Notenschlüsselwechsels Um einen Notenschlüsselwechsel einzufügen, stellen Sie sicher, dass &nted; im Einfüge-Mode ist (siehe Die 3 Modi). Wählen Sie: Einfügen Schlüssel Der Notenschlüssel-Dialog erscheint: the clef change dialog Wählen Sie einen Notenschlüssel durch Anklicken der Pfeilauf-/-abwärts-Tasten! Das Oktavverschiebunsfeld legt eine optionale Oktavverschiebung des Notenschlüssels fest. Der neutrale Schlüssel hat 3 Formen: the neutral clefs Der Unterschied liegt in der MIDI-Behandlung. Die erste Form - mit "1" gekenzeichnet - ordnet den Notenlinien Töne so zu, wie es der Violinenschlüssel täte.Die 2. Form - mit "2" gekenzeichnet - ordnet den Notenlinien Töne so zu, wie es der Bassschlüssel täte. Beachten Sie: Wenn Sie den neutralen Schlüssel 1 oder 2 auswählen, so kollidiert die Notation mit der üblichen Schlagzeugnotation und die Schlagzeugnoten werden nicht nach LilyPond exportiert. Eine Alternative ist die Nutzung des Schlagzeugsystems. Das Feld Noten justieren bestimmt, ob &nted; die entsprechenden Noten so justieren soll, dass ihre Tonhöhe erhalten bleibt.Drücken Sie den Ok-Knopf! Klicken Sie in die Nähe der Position, an der der neue Schlüssel erscheinen soll! Der entsprechende Schlüssel erscheint: the clef change Schlüsselwechsel entfernen Um einen Schlüsselwechsel zu entfernen, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Noch 'mal: Sie können diesen Mode temporär durch Drücken der Taste Strg erreichen. Klicken Sie den Schlüsselwechsel mit der linken Maustaste an! Der ausgewählte Schlüssel erscheint in rot. Drücken Sie die Taste Rück und der Schlüssel wird gelöscht. Vorzeichenwechel Einfügen eines Vorzeichenwechsels Um einen Vorzeichenwechsel zu platzieren, stellen Sie sicher, dass &nted; im Einfüge-Mode ist (siehe Die 3 Modi). Wählen Sie: Einfügen Vorzeichnung einfügen ... Der Vorzeichendialog erscheint: key signature dialog Das Feld Noten justieren bestimmt, ob &nted; die entsprechenden Noten so justieren soll, dass ihre Tonhöhe erhalten bleibt.Drücken Sie den Ok-Knopf! Klicken Sie in die Nähe der Position, an der die neue Vorzeichnung erscheinen soll! Die entsprechende Vorzeichnung erscheint: the key signature change Löschen eines Vorzeichenwechsels Um einen Vorzeichenwechsel zu entfernen, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Noch 'mal: Sie können diesen Mode temporär durch Drücken der Taste Strg erreichen. Klicken Sie den Vorzeichenwechsel mit der linken Maustaste an! Der ausgewählte Vorzeichenwechsel erscheint in rot. Drücken Sie die Taste Rück und der Vorzeichenwechel wird gelöscht. Lautstärkezeichen Lautstärkezeichen einfügen Um ein Lautstärkezeichen einzufügen, stellen Sie sicher, dass &nted; im Einfüge-Mode ist (siehe Die 3 Modi). Wählen Sie: Einfügen Lautstärkezeichen ... Wählen Sie die neue Lautstärke und drücken Sie Ok. Klicken Sie in die Nähe der Position, an welcher das Lautstärkesymbol erscheinen soll. Ändern der Position eines Lautstärkezeichens Um ein Lautstärkezeichen zu bewegen, stellen Sie sicher, dass &nted; im Editier-Mode ist (see Die 3 Modi). Wählen Sie das Lautstärkezeichen aus, indem Sie es mit der linken Maustaste anklicken! Das ausgewählte Symbol erscheint in rot. Halten Sie den linken Mausbutton gedrückt und bewegen Sie die Maus! Das Lautstärkezeichen bewegt sich entsprechend. Obwohl die Lautstärkezeichen frei beweglich erscheinen, sind sie stets einem Symbol zugeordnet. Dieses Symbol wird durch eine dünne hellblaue Linie angezeigt: the assignment of dynamics Das hat Konsequenzen: &nted; versucht den relativen Abstand zu dem Symbol, zu dem es zugeordnet wurde zu erhalten; &nted; kopiert das Lautstärkezeichen, wenn das Symbol, dem es zugeordnet wurde kopiert wird; &nted; löscht das Lautstärkezeichen, wenn das Symbol, dem es zugeordnet wurde gelöscht wird; &nted; beeinflusst die Laustärke der Notenzeile des Symbols, dem das Lautstärkezeichen zugeordnet wurde; Festlegen der MIDI-Lautstärke eines Lautstärkezeichens Jedes Lautstärkezeichen hat eine vordefinierte MIDI-Lautstärke zwischen 0 and 127. Um die MIDI-Lautstärke zu ändern, klicken Sie das Lautstärkezeichen mit der rechten Maustaste an! Der Lautstärkedialog erscheint: the volume dialog Wählen Sie eine Lautstärke und drücken Sie OK! Löschen von Lautstärkezeichen Um eine Lautstärkezeichen zu entfernen, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Wählen Sie das Lautstärkezeichen aus, indem Sie es mit der linken Maustaste anklicken! Das ausgewählte Symbol erscheint in rot. Drücken Sie die Rück-Taste und das ausgewählte Lautstärkesymbol verschwindet! Waagerechte Linien Einfügen waagerechter Linien &nted; ermöglicht es Ihnen, einige waagerechte Linien, wie zum Beispiel (De-)Crescendo oder va8-, vb8-, ma15- und mb15-Linien zu erzeugen. Um eine Linie einzufügen, stellen Sie sicher, dass &nted; im Einfüge-Modus ist (siehe Die 3 Modi). Wählen Sie: Einfügen Linien ... Der Linien-Dialog erscheint: the line dialog Wählen Sie eine Linie aus, indem Sie in die entsprechende Box klicken! Die ausgewählte Linie erscheint rot umrandet: the line dialog (selected) Drücken Sie auf Ok und klicken Sie mit der linken Maustaste die Position an, an der die Linie erscheinen soll. Die Linie wird erzeugt: a (de-)crescendo is created Wie Sie sehen können, hat die Linie 2 Kontrollpunkte. Durch Anklicken und Schieben dieser Kontrollpunkte können Sie die Position und Länge der Linie bestimmen: a (de-) crescendo is placed Wenn Sie eine Line erzeugen wollen, die mehrere Notenzeilen umfasst, so bewegen Sie zunächst den Endpunkt in senkrechter Richtung, auch dann , wenn der Kontrollpunkt nicht sofort dem Mauscursor folgt! create multi stave lines Beachten Sie! Der linke Kontrollpunkt bestimmt die Startposition. Der rechte Kontrollpunkt bestimmt nur den waagerechten Endpunkt; nicht die senkrechte Position! Linien modifizieren Obwohl die Linien-Kontrollpunkte frei beweglich erscheinen, sind sie stets einem Symbol zugeordnet. Dieses Symbol wird durch eine dünne hellblaue Linie angezeigt: the assignment of the crescendo handles Das hat Konsequenzen: &nted; versucht den relativen Abstand zu dem Symbol, zu dem er zugeordnet wurde zu erhalten; &nted; löscht die Linie wenn das Symbol, dem der Kontrollpunkt zugeordnet wurde gelöscht wird; &nted; beeinflusst die MIDI-Wiedergabe, falls möglich; Um die Position und Länge einer Linie zu modifizieren, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Klicken Sie den Anfang einer Linie mit der linken Maustaste an! Die 2 Kontrollpunkte erscheinen erneut: the selection of the crescendo handles Dadurch können Sie die Position und Länge der Linie wieder durch Ziehen der 2 Kontrollpunkte ändern. Löschen einer Linie Um eine Linie zu entfernen, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Noch 'mal: Sie können diesen Mode temporär durch Drücken der Taste Strg erreichen. Klicken Sie den Anfang der Linie mit der linken Maustaste an! Der ausgewählte Kontrollpunkt erscheint in rot. Drücken Sie die Taste Rück und die Linie wird gelöscht. (de-)crescendo (hairpins) Um das MIDI-Verhalten des (De-)Crescendos zu bestimmen, stellen Sie sicher, dass &nted; im Editier-Modus ist (siehe Die 3 Modi). Wählen Sie den Anfang des (De-)Crescendos mit der rechten Maustaste an! Der Lautstärkedialog erscheint the volume dialog Bestimmen Sie die MIDI-Lautstärke-Differenz des (De-)Crescendos und drücken Sie auf OK! Oktavierung: va8, bv8, ma15, mb15 Diese Symbole ändern die Oktave der eingeschlossenen Noten. Tempozeichen Tempozeichen einfügen. Um ein Tempozeichen einzufügen, stellen Sie sicher, dass &nted; im Einfüge-Mode ist (siehe Die 3 Modi). Wählen Sie: Einfügen Tempozeichen ... Der Tempodialog erscheint: the tempo dialog Wählen Sie ein Tempo-Symbol und - wert und drücken Sie Ok. Klicken Sie in die Nähe der Position, an welcher das Tempozeichen erscheinen soll. Ändern der Position eines Tempozeichens Um ein Tempozeichen zu bewegen, stellen Sie sicher, dass &nted; im Editier-Mode ist (see Die 3 Modi). Wählen Sie das Tempozeichen aus, indem Sie es mit der linken Maustaste anklicken! Das ausgewählte Symbol erscheint in rot. Halten Sie den linken Mausbutton gedrückt und bewegen Sie die Maus! Das Tempozeichen bewegt sich entsprechend. Obwohl die Tempozeichen frei beweglich erscheinen, sind sie stets einem Symbol zugeordnet. Dieses Symbol wird durch eine dünne hellblaue Linie angezeigt: the assignment of tempo markers Das hat Konsequenzen: &nted; versucht den relativen Abstand zu dem Symbol, zu dem es zugeordnet wurde zu erhalten; &nted; kopiert das Tempozeichen, wenn das Symbol, dem es zugeordnet wurde kopiert wird; &nted; löscht das Tempozeichen, wenn das Symbol, dem es zugeordnet wurde gelöscht wird; Ändern eines Tempozeichens Um den Tempowert, und/oder das Temposymbol zu ändern, klicken Sie das Tempozeichen mit der linken Maustste an! Der Tempodialog erscheint: the tempo dialog Wählen Sie ein Symbol und ein Tempo und drücken Sie OK! Löschen von Tempozeichen Um eine Tempozeichen zu entfernen, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Wählen Sie das Tempozeichen aus, indem Sie es mit der linken Maustaste anklicken! Das ausgewählte Symbol erscheint in rot. Drücken Sie die Rück-Taste und das ausgewählte Tempozeichen verschwindet! Beliebiger Text Beliebigen Text einfügen Nutzen Sie diese Funktion nicht für Strophentext, Lautstärkezeichen, Accelerando, Ritardando oder (De-)Crescendo, weil &nted; dafür spezielle Mittel anbietet, welche die Wiedergabe entsprechend beeinflussen. (siehe Lyrics, Lautstärkezeichen , Accelerato, Ritardando und (De-)Crescendo)! Um beliebigen Text einzufügen, stellen Sie sicher, dass &nted; im Einfüge-Mode ist (siehe Die 3 Modi). Wählen Sie: Einfügen Text ... Der Textdialog erscheint: the text dialog Schreiben Sie den Text in das Textfeld! Nutzen Sie den Font-(Letter-) Knopf unterhalb des Texteingabefeldes, wenn Sie einen anderen Font wünschen! Das Anker-Feld erlaubt es, die Textausrichtung festzulegen: the text alignment Geben Sie Fonts wie Sans oderSerif den Vorzug. Abhängig von Ihrer Systemkonfiguration können andere Fonts beim PostScript/PDF-Export Probleme hervorrufen (pixelige Erscheinung). Das trifft häufig auf Fonts wie Helvetica oder Times zu. Der Text hat häufig das Tempo (allegro) oder die Lautstärke (forte) zum Gegenstand. Die 2 Felder unterhalb des Font-(Letter-) Knopfes gestatten es, die Wiedergabe zu beeinflussen. Um die Lautstärke zu beeinlussen aktivieren Sie die Box Laustärkeänderung erlauben und stellen Sie eine Lautstärke ein! Um das Tempo zu beeinflussen, aktivieren Sie die Box Tempoänderung erlauben und stellen Sie ein Tempo ein! Außerdem kann der Text einen Instrumentenwechsel bewirken. Um das zu aktivieren, aktivieren Sie den Knopf Instrumentenwechsel und wählen Sie ein Instrument aus. Wenn Sie den Kanalwechsel zuschalten, dann bewirkt das Spielen der Note das Wechseln des MIDI-Kanals für diese Notenzeile. Wenn alles richtig ist, drücken Sie Ok. Klicken Sie in die Nähe der Position, an welcher der Text erscheinen soll! Um etwas über die Bedeutung der Segno-Knöpfe zu erfahren, schauen Sie bitte im Abschnitt über Segnos nach. Spezielle Zeichen &nted; gestattet die Verwendung spezieller Zeichen im Text: D.S. al \O --> Die folgende Tabelle gibt einen Überblick über verwendbare Zeichen: \O \S \# \b \n \o \c \r p \-unbrechbare Leerstelle \...Punkte \--Strich Ändern der Position des Textes Um einen beliebigen Text zu bewegen, stellen Sie sicher, dass &nted; im Editier-Mode ist (see Die 3 Modi). Wählen Sie den Text aus, indem Sie den Textanfang mit der linken Maustaste anklicken! Der Text erscheint in rot. Halten Sie den linken Mausbutton gedrückt und bewegen Sie die Maus! Der Text bewegt sich entsprechend. Obwohl beliebiger Text frei beweglich erscheint, ist er stets einem Symbol zugeordnet. Dieses Symbol wird durch eine dünne hellblaue Linie angezeigt: the assignment of arbitrary text Das hat Konsequenzen: &nted; versucht den relativen Abstand zu dem Symbol, zu dem er zugeordnet wurde zu erhalten; &nted; kopiert den Text, wenn das Symbol, dem er zugeordnet wurde kopiert wird; &nted; löscht den Text, wenn das Symbol, dem der Text zugeordnet wurde gelöscht wird; Ändern beliebigen Textes Um den Text zu verändern,klicken Sie ihn mit der rechten Maustaste an! Wieder erscheint der Textdialog. Dadurch können Sie den Text und seine Eigenschaften ändern. Löschen beliebigen Textes Um beliebigen Text zu entfernen, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Wählen Sie den Text aus, indem Sie ihn mit der linken Maustaste anklicken! Der ausgewählte Text erscheint in rot. Drücken Sie die Rück-Taste und der ausgewählte Text verschwindet! Accelerato, Ritardando Accelerato/Ritardando einfügen Um ein Accelerando oder Ritardando einzufügen, stellen Sie sicher, dass &nted; im Einfüge-Mode ist (siehe Die 3 Modi). Wählen Sie: Einfügen Accelerando oder: Einfügen Ritardando Klicken Sie mit der linken Maustaste die Position an, an der das Accelerando oder Ritardando erscheinen soll: an ritardando is created Wie Sie sehen können, hat das Accelerando (Ritardando) 3 Kontrollpunkte. Durch Anklicken und Schieben dieser Kontrollpunkte können Sie die Position und den Wirkungsbreich bestimmen: an ritardando is placed Wenn Sie ein Accelerando oder Ritardando erzeugen wollen, dessen Wirkungsbereich mehrere Notenzeilen umfasst, so bewegen Sie zunächst den Start- oder Endpunkt in senkrechter Richtung, auch dann , wenn der Kontrollpunkt nicht sofort dem Mauscursor folgt! create multi stave ritardando Beachten Sie! Der mittlere Kontrollpunkt bestimmt die Position des Zeichens. Der linke und rechte Kontrollpunkt bestimmt die Ausdehnung des Wirkungsbereiches! Der Wirkungsbereich ist nicht sichtbar, wenn das Zeichen nicht ausgewählt wurde. Modifizieren von Accelerando oder Ritardando Obwohl die Accelerando-(Ritardando-)-Kontrollpunkte frei beweglich erscheinen, sind sie stets einem Symbol zugeordnet. Dieses Symbol wird durch eine dünne hellblaue Linie angezeigt: the assignment of the ritardando handles Das hat Konsequenzen: &nted; versucht den relativen Abstand des Accelerando-(Ritardando-) Kontrollpunktes zu dem Symbol, zu dem er zugeordnet wurde zu erhalten; &nted; löscht das Accelerando(Ritardando), wenn das Symbol, dem der Kontrollpunkt zugeordnet wurde gelöscht wird; &nted; beeinflusst die MIDI-Wiedergabe; Um die Position des Zeichens oder den Wirkungsbereich zu modifizieren, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Klicken Sie das Zeichen mit der linken Maustaste an! Die 3 Kontrollpunkte erscheinen erneut: the selection of the ritardando handles Dadurch können Sie die Position des Zeichens und den Wirkungsbereich wieder durch Ziehen der 3 Kontrollpunkte ändern. Um das MIDI-Verhalten des Accelerandos(Ritardandos) zu bestimmen, stellen Sie sicher, dass &nted; im Editier-Modus ist (siehe Die 3 Modi). Wählen Sie das Zeichen mit der rechten Maustaste an! Der Tempodialog erscheint the tempo dialog Bestimmen Sie die MIDI-Tempo-Differenz des Accelerandos(Ritardandos) und drücken Sie auf OK! Löschen eines Accelerandos oder Ritardandos Um ein Accelerando oder Ritardando zu entfernen, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Noch 'mal: Sie können diesen Mode temporär durch Drücken der Taste Strg erreichen. Klicken Sie das Zeichen mit der linken Maustaste an! Das Zeichen erscheint in rot. Drücken Sie die Taste Rück und das Accelerato(Ritardando)wird gelöscht. Akkordnamen Sie können Akkordnamen zu Noten und Pausen hinzufügen. Um dies zu tun, stellen Sie sicher, dass &nted; im Einfügemodus (see Die 3 Modi) ist. Wählen Sie: Einfügen Akkordname ... Der Akkordnamesdialog erscheint: the chord name dialog Fügen Sie eine Wurzel, einen Hochtext und einen Indextext ein. Wählen Sie eine Texthöhe und einen relativen Abstand von der Notenzeile und drücken Sie auf OK! Klicken Sie dann in die Nähe der Position, an der der Akkordname erscheinen soll: the chord name dialog &nted; gestattet die Verwendung spezieller Zeichen im Text: A\b --> Die folgende Tabelle gibt einen Überblick über verwendbare Zeichen: \O \S \# \b \n \o Der Akkordnamesdialog bleibt offen, bis Sie auf Abbrechen klicken. Dadurch können Sie denselben Akkordnamen and mehreren Stellen platzieren. Wenn Sie den Akkordnamen in der Dialogbox ändern, so wird der neue Akkordname mit dem nächsten Mausklick eingefügt. Das Modifizieren und Löschen von Akkordnamen erfolgt analog zu dem unter Beliebiger Text Beschriebenen. Akkordnamen werden nach LilyPond exportiert. LilyPond bietet jedoch eine begrenzte Anzahl von Modifikatoren an. Es liegt in Ihrer Verantwortung, nur LilyPond-konforme Akkorde zu bilden. Gitarrengrifftabellen und Akkordbenennung &nted; bietet das Anfügen von Akkordbezeichnungen und Gitarrengrifftabellen. chord examples Nutzen Sie diese Funktionalität nur, wenn Sie einen Gitarrengriff zeigen wollen, oder der Akkordname nach LilyPond exportiert werden soll. Um einen Akkordnamen anzuzeigen, verwenden Sie bitte die Akkordnamen Funktionalität. LilyPond erlaubt nicht alle Akkord-Modifikatoren. Der Modifikator bleibt leer, falls &nted; so einen Akkordnamen zu exportieren hat. Um eine Akkordbeschreibung und/oder eine Gitarrengrifftabelle einzufügen, wählen Sie: Einfügen Akkord ... Der Akkordauswahldialog erscheint: the chord dialog Wählen Sie eine Wurzel und einen Modifikator! Wenn Sie eine Gitarrengrifftabele einfügen wollen, so sollten Sie Ihren Lieblingsgriff durch Anklicken im rechten Fenster auswählen. Die Grifftabelle wird in das große linke Fenster kopiert. Mit Hilfe der Aushwalbox diagram können Sie bestimmen, ob eine Gitarrengrifftabelle in der Partitur erzeugt wird. Mit Hilfe der Auswahlbox text können Sie bestimmen, ob eine Textbeschreibung des Akkords in der Partitur erzeugt wird. Auf diese Weise können Sie wählen: Nur den Gittarengriff nur der Text (nicht empfohlen, nutzen Sie die Akkordnamen -Funktionalität) sowohl die Gitarrengrifftabelle als auch die Textbeschreibung das Akkords Das Modifizieren und Löschen von Akkordbeschreibungen/Gitarrengrifftabellen erfolgt analog zu dem unter Beliebiger Text Beschriebenen. Auftakte Es gibt 2 Möglichkeiten, einen Auftakt festzulegen. Die erste ist hauptsächlich für neu geschriebene Partituren gedacht. Wählen Sie eine Note oder Pause aus, die hinter dem zu bildenden Auftakt liegt: prepare upbeat (give measure) Wählen Sie: Bearbeiten Auftakt ...Angabe des 1. vollen Taktes &nted; ändert den Anfang so, dass die ausgewählte Note oder Pause das erste Element des ersten vollen Takts ist: upbeat given (give measure) Die 2. Methode ist hauptsächlich für Partituren, die mit Pausen beginnen. Wählen Sie eine Note oder Pause, die das erste Element der Partitur werden soll: prepare upbeat (give start) Wählen Sie: Bearbeiten Auftakt ...Angabe des Starts &nted; löscht alles vor dem ausgewählten Element. Dadurch wird dieses zum ersten Element. upbeat given (give start) Die Auftakt-Regeln erfordern es, den letzten Takt um die Länge des Auftaktes zu kürzen. &nted; tut das nicht automatisch. Um den letzten Takt zu kürzen, markieren Sie alle betroffenen Pausen in allen Stimmen, wie in Einen Block auswählen beschrieben: mark the rests Wählen Sie: Werkzeuge Pausen verstecken (a.St.) Die Pausen werden unsichtbar: mark the rests Siehe auch: Pausen unsichtbar machen Vorschlagnoten &nted; bietet 3 Typen von Vorschlagnoten an: The grace notes Um eine Vorschlagnote einzufügen, wählen Sie diese auf dem 4. Einschub der Werkzeugkiste aus: Das Vorschlagnoten-Feld erscheint Wählen Sie einen Vorschlagnotentyp aus und fügen Sie die Vorschlagnote wie im Kapitel Noten und Pausen einfügen beschrieben ein. Um eine Vorschlagnote zu löschen, wählen Sie sie wie in Bewegen von Noten und Pausen beschrieben aus und drücken Sie die Rück Taste! Strophentext Strophentext einfügen Sie können bis zu 5 Strophen zu jeder Note hinzufügen. Sie können dieselben Sonderzeichen, wie in Spezielle Zeichen in Notenzeilennamen beschrieben, nutzen. Es gibt 2 Möglichkeiten: Direktes Schreiben oder Nutzung des Stropheneditors. Direktes Schreiben Um den Strophentext direkt einzugeben, wählen Sie eine Note und wählen Sie: Einfügen Strophen Wählen Sie eine Strophenzeile zwischen 1 und 5. &nted; ist im Strophenmodus. Schreiben Sie einen Text auf der Tastatur! Der Text erscheint unter der Note. Lyrics Um zur nächsten Note zu wechseln, drücken Sie die - Taste oder drücken Sie die Leertaste. Um eine Leerstelle innerhalb einer Silbe zu platzieren, fügen Sie ein Unterstreichungszeichen (_) oder ein nichtbrechbares Leerzeichen (\.) ein. Beenden Sie den Strophenmodus mit ESC! Es wird dringend empfohlen, die Textzeilen von 1 nach 5 zu füllen. Strophentext modifizieren Um Strophentext zu modifizieren, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Wählen Sie eine Note mit Text aua und wählen Sie: Einfügen Strophen Wählen Sie die Strophe aus, welche modifiziert werden soll! Der Textcursor erscheint. Sie können den Textcursor durch Betätigen der Links-/Rechts-Cursortasten bewegen. Sie können einen neuen Buchstaben durch Drücken der entsprechenden Taste einfügen. Sie können einen Buchstaben durch Drücken der Rück-Taste löschen. Wenn Sie den letzten Buchstaben einer Strophenzeile löschen, so wird die gesamte Strophenzeile gelöscht. Beenden Sie den Strophenmodus mit der ESC-Taste! Stropheneditor Die 2. Möglichkeit ist die Benutzung des Stropheneditors. Wenn es mehr als 2 Notenzeilen gibt, so wählen Sie ein beliebiges Element aus der Notenzeile, zu der die Strophen hinzugefügt werden sollen, aus! Wählen Sie: Werkzeuge Stropheneditor Der Stropheneditor erscheint: The lyrics editor Wählen Sie eine Strophe mit Hilfe der Reiter aus! Dann fügen Sie den Text Silbe für Silbe ein! Jeder Abteilstrich und jede Leerstelle wird als Trenner interpretiert. Um eine Note auszulassen, platzieren Sie einen einzelnen Punkt('.'). Um eine Leerstelle innerhalb einer Silbe einzufügen, platzieren Sie ein Unterstreichungszeichen (_) oder ein nichtbrechbares Leerzeichen(\.). Sie können die Strophe durch Drücken von In Datei speichern oder Aus Datei laden speichern bzw. laden. Wenn alles richtig ist, so drücken Sie auf Anwenden oder Ok! Beides aktualisiert den Strophentext, aber Ok schließt den Stropheneditor. D.S./Capo al Coda/D.S./Capo al Fine Ein Beispiel für D.S. al Coda könnte so aussehen: the segno principle Um ein Coda- oder Segnozeichen einzufügen, stellen Sie sicher, dass &nted; im Einfüge-Mode ist (siehe Die 3 Modi). Wählen Sie: Einfügen Zeichen einfügen ... Der Zeichen-Dialog erscheint: Der Unterschrifts-Dialof Wählen Sie das entsprechende Zeichen aus und klicken Sie die Position an, an der das Zeichen erscheinen soll! Das Modifizieren und Löschen funktioniert analog zum Modifizieren und Löschen beliebigen Texte. Dann platzieren Sie einen Text wie etwa "D.S. al Coda" oder "Repeat from Segno then Coda", wie im Abschnitt Beliebiger Text erläutert.Um auszudrücken, dass diese Texte die Wiedergabe steuern sollen, müssen Sie die entsprechenden Eigenschaften im Textdialog einstellen: the segno on text dialog Auf dieselbe Weise können Sie D.S. al Fine, Da Capo al Coda und Da Capo al Fine erzeugen. Siehe auch: Beliebiger Text. Atmungszeichen Um einen Atmusgzeichen einzufügen, stellen Sie sicher, dass &nted; im Einfüge-Mode ist (siehe Die 3 Modi). Wählen Sie: Einfügen Zeichen einfügen ... Der Zeichen-Dialog erscheint: Der Unterschrifts-Dialof Wählen Sie das entsprechende Zeichen aus und klicken Sie die Position an, an der das Zeichen erscheinen soll! Das Löschen von Atmunsgzeichen funktioniert analog zum Modifizieren und Löschen beliebigen Texte. Transponieren &nted; ermöglicht das Transponieren. Wenn Sie nur eine Teilmenge an Noten transponieren wollen, so zeichnen Sie ein Auswahlrechteck, wie in Einen Block auswählen beschrieben. Wählen Sie dann: Werkzeuge Transponieren ... Der Transpositionsdialog erscheint: The transposition dialog Wählen Sie die Anzahl der Halbtöne aus. Wenn Sie ein Auswahlrechteck gezeichnet haben, ist die Box Auswahl nutzen aktiv. Sie können wählen, ob Sie das Auswahlrechteck benutzen wollen oder nicht. Wenn es kein Auswahlrechteck gibt, so können Sie die Notezeilen wählen. Drücken Sie auf OK! &nted; transponiert die Noten entsprechend. Es liegt in Ihrer Verantwortung, die Vorzeichnung zu ändern (siehe Die Eigenschaften einer Notenzeile ändern and Vorzeichenwechel. Vorzeichen ändern In einigen seltenen Fällen ist es wünschenswert Bs gegen Kreuze und umgekehrt zu tauschen: change accidentals &nted; ermöglicht das diese Funktionalität. Wenn nur eine Teilmenge an Noten betroffen sein soll, so zeichnen Sie ein Auswahlrechteck, wie in Einen Block auswählen beschrieben.Wählen Sie dann: Werkzeuge Setze Kreuze ... oder: Werkzeuge Setze Bs ... Der Auswahldialog erscheint: The selection dialog Wenn Sie ein Auswahlrechteck gezeichnet haben, ist die Box Auswahl nutzen aktiv. Sie können wählen, ob Sie das Auswahlrechteck benutzen wollen oder nicht. Wenn es kein Auswahlrechteck gibt, so können Sie die Notezeilen wählen. Drücken Sie auf OK! &nted; ändert die Noten entsprechend. Titel, Komponist und Arrangeur Um Partiturinformationen hinzuzufügen (Titel, Thema, Komponist, Arrangeur, Copyright), wählen Sie: Bearbeiten Partiturinformationen ... Der Partiturinformationen-Dialog erscheint: The score information dialog Geben Sie den Namen des Komponisten, Arrangeurs, Themas und das Copyright ein und drücken Sie OK! Diese Informationen werden auf der ersten Seite der Partitur angezeigt. Seiten Seitenlayout Um das Seitenlayout zu ändern, wählen Sie: Datei Papier konfigurieren Wählen Sie A3, A4, A5, B4, Letter, Legel oder 230x293 und die Orientierung (Hochformat oder Querformat)! Seiten anwählen &nted; stellt die Seiten auf einem scheinbar endlosen Papier dar. Sie können dieses Papier im Seiten-Mode (siehe Die 3 Modi) bewegen. Noch 'mal: Sie können diesen Mode temporär durch Drücken der Shift-(Hochstell-) Taste erreichen. Wenn Sie im Seiten-Mode die linke Maustaste drücken und halten und die Maus bewegen, so bewegt sich das Papier entsprechend. Außerdem können Sie durch Betätigen des Seitenzählers oder durch Betätigen der Bildauf-/ab-Tasten () zu einer bestimmten Seite springen. Und sie können auf der Seite mit Hilfe des Mausrades navigieren. Letzte Seite löschen Wenn es mehr als eine Seite gibt, so können Sie die letzte Seite löschen. Wählen Sie: Bearbeiten Letzte Seite löschen Leere Seiten am Ende löschen Unter bestimmten Umständen kann es vorkommen, dass am Ende mehrere leere Seiten sind, also Seiten die aus nur Pausen bestehen. Um diese Seiten zu löschen, wählen Sie: Bearbeiten Leere Seiten am Ende löschen Mehrere Fenster und Partiturauszug Mehrere Fenster &nted; gestattet es, so viele Fenster, wie man will zu erzeugen. Das ist hilfreich, um verschiedene Partituren miteinander zu vergleichen oder Teile einer Partitur in eine andere Partitur zu kopieren. Um ein neues Fenster zu erzeugen, wählen Sie: Datei Neues Fenster Das neue Fenster erscheint: A new window Mit dem neuen Fester können Sie alles das machen, was Sie mit dem ersten Fenster tun konnten. Um Teile zwischen verschiedenen Fenstern zu kopieren, stellen Sie sicher, dass beide Fenster in Editiermodus sind (siehe Die 3 Modi): copy/paste between 2 windows Siehe auch: Blockbefehle. Um ein Fenster zu schließen, wählen Sie: Datei Fenster schließen Partiturauszug &nted; ermöglich es Ihnen, einen Partiturauszug in einem 2. Fenster zu erzeugen. Um dies zu tun, wählen Sie: Datei Excerpt ... Der Notenzeilenauswahldialog erscheint: The staff selection dialog Wählen Sie eine Teilmenge zu kopierender Notenzeilen aus! Um mehr als eine Notenzeile auszuwählen, drücken Sie die Strg-Taste während der Auswahl. Um einen Bereich auszuwählen, drücken und halten Sie die Shift-(Hochstell-) Taste und wählen Sie die erste und die letzte Notenzeile aus! Drücken Sie auf Ok! Der Partiturauszug wird in das 2. Fenster kopiert: the excerpt Skalieren der gesamten Partitur &nted; ermöglicht es Ihnen, die gesamte Partitur zu skalieren. Dadurch erhält man verschieden große Noten: Längenänderungen Um die Partitur zu skalieren, wählen Sie: DateiPartitur skalieren... Der Skalierungs-Dialog erscheint: the scale dialog Wählen Sie den Skalierungsfaktor und drücken Sie auf OK! Dokumentation Um in der Dokumentation nachzuschlagen, wählen Sie: Hilfe Dokumentation ... Die Dokumentation ist nur dann verfügbar, wenn während des ./configure-Schritts die folgenden Programme auf Ihrem System verfügbar waren: yelp aus dem GNOME project (package gnome-extra) xmlto Sichern und Laden Sichern Um die Partitur zu sichern, wählen Sie: Datei Speichern als ... Wählen Sie auf dem Dialog einen Dateinamen und drücken Sie auf OK! Die Standardendung ist .ntd. Um eine Datei zu sichern, die vorher schon einmal gesichert war, wählen Sie Datei Speichern Laden Um eine vorher gesicherte Partitur wieder zu laden, wählen Sie: Datei Öffnen ... Wählen Sie einen Dateinamen und drücken Sie OK! Neu Um mit einer völlig neuen (leeren) Partitur zu beginnen, wählen Sie: Datei Neu Beenden Um das Programm zu beenden, wählen Sie: Datei Beenden Drucken, Exportieren, Karaoke und Importieren Konfiguration &nted; nimmt an, dass: lpr <datei>.ps auf Ihrem System eine mit <datei>.ps benannte PostScript-Datei druckt. Wenn das nicht der Fall sein sollte, so konfigurieren Sie das Druckkommando! Wählen Sie: BearbeitenEinstellungen ...Druckkonfiguration ... Im Dialog sollten Sie folgenden Text sehen: lpr %s Das %s wird gegen den Namen einer PostScript-Datei ersetzt. Ändern Sie diese Zeile entsprechend Ihren Anforderungen. Wenn Sie zum Beispiel das Programm kprinter aus dem KDE verwenden wollen, so ändern Sie die Zeile in: kprinter %s und drücken Sie OK! Wenn alles konfiguriert ist, so wählen Sie: Datei Drucken PostScript exportieren Sie können die Datei im PostScript - Format exportieren. Wählen Sie: Datei PostScript exportieren... Wählen Sie einen Dateinamen und drücken Sie OK! Da die meisten Drucker PostScript drucken können, können Sie Ihr Lieblingsdruckkommando (lpr, kprinter, ...) benutzen, um diese Datei auszudrucken. PDF exportieren Der PDF-Export ist nur verfügbar, wenn die Cairo-Bibliothek PDF unterstützt. Sie können die Partitur als PDF exportieren. Wählen Sie: Datei Als PDF exportieren... Wählen Sie einen Dateinamen und drücken Sie OK! Da viele Drucker PDF drucken können, können Sie Ihr Lieblingsdruckkommando (lpr, kprinter, ...) benutzen, um diese Datei auszudrucken. MIDI exportieren Sie können die Partitur als MIDI-Daten exportieren, Wählen Sie: Datei Als MIDI exportieren... Wählen Sie einen Dateinamen und drücken Sie OK! Karaoke Wenn die Partitur Strophentext enthält, exportiert &nted; diesen ins MIDI-File. Das veranlasst viele MIDI Player - unter ihnen kmid - ein Karaoke-ähnliches Verhalten zu zeigen: Karaoke with kmid Import MusicXML Sie können Dateien im MusicXML-Format importieren. Wählen Sie: Datei Import MusicXML ... Wählen Sie einen Dateinamen und drücken Sie OK! NoteEdit hat einen Fehler der den Export von Notenzeilen mit mehreren Stimmen betrifft. Das führt zu Problemen beim Import durch &nted;. Um das Problem zu lösen, muss ein Patch (Programmkorrektur) auf NoteEdit angewendet werden. Mehr Informationen dazu gibt es unter http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/noteedit_musml_patch.html. PNG- und SVG-Export &nted; kann die aktuelle Seite als PNG- (Portbale Network Graphics) und SVG- (Scaleable Vector Graphics) Graphik exportieren. Die aktuelle Seite ist die, die im Seitenzähler angezeigt wird. Beide Formate sind für das Publizieren im WEB oder für andere graphikverarbeitende Aufgaben nützlich. Viele Textprozessoren erlauben das Einbinden von PNG- und/oder SVG-Graphiken. Besonders das SVG-Format - eine XML-Instanz - ist sehr nützlich, da es - wie es der Name anzeigt - skaliert werden kann, ohne eigenartige Effekte hervorzurufen, die in skalierten Pixelgraphiken zu sehen sind. Der SVG-Export ist nur verfügbar, wenn die Cairo-Bibliothek SVG unterstützt. Wählen Sie: Datei Export PNG... oder: Datei Export SVG... Wählen Sie einen Dateinamen und drücken Sie OK! Die Größe des PNG/SVG-Bildes hängt vom augenblicklichen Zoomfaktor ab. Export LilyPond LilyPond (http://lilypond.org/) ist sicherlich das Notensatzwerkzeug mit der besten Ausgabe. Das vor allem aus 2 Gründen: Die Entwickler haben großen Aufwand getrieben, um spezielle Musik-Fonts(Lettern) zu erzeugen, die sich am traditionellen Musikdruck orientieren. Sie haben sogar eigene Werkzeuge zur Umkodierung diverser Font(Letter-) Formate entwickelt, um die besten Ergebnisse zu erzielen. LilyPond nutzt eine Mehrphasentechnik, die sich so viel Zeit wie nötig nimmt, um eine ausgezeichnete Platzierung der Musiksymbole zu ermöglichen. Außerdem besitzt LilyPond musikalische Rechtschreibkenntnisse, wodurch Notationsfehler vermieden werden. LilyPond erzeugt eine PostScript- oder PDF-Ausgabe aus einer Datei, die eine Text-Transskription der Musik enthält. So erzeugt zum Beispiel die Eingabe: \relative c' { \clef treble \key d \major d4 e fis g a b cis d } die folgende Ausgabe: &nted; Mainwindow &nted; kann die LilyPond-Text-Transskription erzeugen. Wählen Sie: Datei Export LilyPond ... Der LilyPond-Export-Dialog erscheint: LilyPond export dialog Mit Hilfe der oberen Checkbox können Sie bestimmen, ob &nted; \break Abweisungen erzeugen soll, um dieselben Zeilenumbrüche wie in der &nted;-Partitur zu erzielen. Wenn Sie nur einen Teil der Notenzeilen exportieren wollen, so drücken Sie den Knopf Notenzeilenwahl. Der Notenzeilenwahl-Dialog erscheint: the staff selection dialog Wählen Sie eine Teilmenge von Notenzeilen aus! Um mehr als eine Notenzeile auszuwählen, drücken Sie die Strg-Taste während der Auswahl. Um einen Bereich auszuwählen, drücken und halten Sie die Shift-(Hochstell-) Taste und wählen Sie die erste und die letzte Notenzeile aus! LilyPond hat seine eigenen Regeln für das Zusammenfassen von Noten mit Balken. Deshalb unterscheiden sich die LilyPond-Balken von den &nted;-Balken. Wenn Sie dieselben Balken wie in &nted; haben wollen, so drücken Sie auf den Knopf Balken erhalten. Wählen Sie die Notenzeilen aus, für die die Balken erhalten bleiben sollen und drücken Sie auf OK. Wählen Sie einen Dateinamen - der Suffix sollte .ly sein - und drücken Sie auf OK. Um daraus eine PostScript- oder PDF-Ausgabe zu erzeugen, installieren Sie LilyPond und geben Sie folgendes Kommando: lilypond <filename>.ly Um die Ausgabe anzuzeigen und/oder auszudrucken, können Sie ihre Lieblings-Anzeige-/Druck-Programme (gv, ggv, evince, xpdf, lpr, kprinter, ...) verwenden. Wie oben bereits erwähnt, nutzt LilyPond seine eigene Platzierungsstrategie sowie seinen eigenen Font(Lettern). Die Konsequenz ist, dass das WYSIWYG-Prinzip gebrochen wird: Die Ausgabe weicht von der &nted;-Partitur ab. MIDi-Import &nted; kann eine Partitur aus einer MIDI-Datei (zu) generieren (versuchen). Beachten Sie! Es gibt mehrere Partituren, die dieselben MIDI-Daten erzeugen. Aus diesem Grunde ist die Umwandlung von MIDI-Daten in eine Partitur nicht eindeutig. Um eine MIDI-Datei zu importieren, wählen Sie: Datei Import MIDI ... Der MIDI-Import-Dialog erscheint: MIDI import dialog Entscheiden Sie, ob &nted; Triolen erkennen soll! Die 2 Regler erlauben es, die Dichte von Tempo- und Lautstärkezeichen zu beeinflussen. Eine Wert 0 bedeutet "keine Zeichen". Wenn Sie 100 wählen, kann es passieren, dass nahezu jede Note ein Zeichen hat. Häufig enthalten MIDI-Dateien MIDI-Spuren, mit einem großen Tonumfang. Platziert man diese Noten in einer Notenzeile, führt das zu einer schlechten Ausgabe: MIDI program changes Normalerweise teilt &nted; diese MIDI-Spuren: MIDI program changes Aber manchmal ist das unerwünscht. Besonders dann, wenn die MIDI-Datei bereits sinnvoll geteilte MIDI-Spuren enthält. Aktivieren Sie in diesem Falle den Knopf Spuren nicht teilen. Der Knopf erzwinge Piano erzwingt eine Partitur mit 2 Notenzeilen pro System. Der Knopf sortiere Instrumente ist für MIDI-Dateien nützlich, in denen alle oder viele Instrumente in einer MIDI-Spur platziert wurden. Im folgenden Beispiel erscheinen eine Flöte und ein Piano in derselben MIDI-Spur: MIDI program changes Die roten Kugeln repräsentieren einen speziellen MIDI-Operator MIDI program change, welcher das Gerät anweist, das Instrument zu wechseln. Somit könnten in der MIDI-Datei theoretisch alle Instrumente in einer MIDI-Spur erscheinen. MIDI-Dateien, die vom MIDI-Keyboards erzeugt wurden, sind häufig von dieser Sorte. &nted; würde eigentlich alle diese Noten in einer Notenzeile platzieren und dieser das erste auftretende Instrument zuweisen. Wenn sortiere Instrumente is aktiviert ist, so sortiert es die Instrumente in verschiedene Notenzeilen: sorted MIDI program changes In den meisten Fällen liefert die Standardeinstellung der Knöpfe ein gutes Ergebnis. Wenn die Partitur aber komisch aussieht oder drastisch von der MIDI-Datei abweicht, so versuchen Sie mit den Knöpfen zu spielen, um das Ergebnis zu verbessern. Wählen Sie die MIDI-Datei und drücken Sie auf OK! Auf dem letzten Dialog können Sie das Papierformat und die Orientierung festlegen. Noten mit Tonhöhenbestimmung per MIDI-keyboad einfügen Wenn an Ihre Soundkarte ein MIDI-Keyboard angeschlossen ist, so können Sie die Tonhöhe der Noten dadurch bestimmen, dass Sie die entsprechende Taste auf dem MIDI-Keyboard drücken. Um dies zu tun, sollten Sie zunächst das MIDI-IN-Gerät testen. Um dies zu tun, schalten Sie das MIDI-Echo ein (siehe Wiedergabe vorbereiten) und drücken Sie den MIDI-Eingabeknopf ()! Bewegen Sie den Mauszeiger über eine beliebige Notenzeile! Es ist wichtig, die Maus über eine Notenzeile zu bewegen, da Sie auf diese Weise das Musikinstrument festlegen, welches diesen Ton spielt! Wenn Sie nun eine Taste auf dem MIDI-Keyboard drücken, so sollten Sie den entsprechenden Ton, gespielt von dem Instrument, welches der Notenzeile zugeordnet wurde, über der die Maus platziert wurde (siehe MIDI-Karteikarte), hören. Wenn nicht, so konfigurieren Sie das MIDI-IN-Gerät: Bearbeiten Einstellungen ...MIDI IN konfigurieren ... Es erscheint ein Menü mit allen MIDI-Eingangs-Ports. Wählen Sie einen aus und drücken Sie OK. Wenn der Port nicht funktioniert, so wählen Sie einen anderen MIDI- Port. Wenn alles funktioniert, so drücken Sie zusätzlich den Einfügeknopf () und den Tastatureingabe-Knopf (). Wenn Sie nun die Maus an eine bestimmte Position auf einer Notenzeile platzieren, so werden die Noten, die Sie auf dem MIDI-Keyboard spielen eingefügt. Achtung! Die Tasten bestimmen nur die Tonhöhe, nicht die Tonlänge. Die Tonlänge wird wie in Noten und Pausen eingeben beschrieben, bestimmt. Um diesen Modus abzubrechen, deaktivieren Sie den MIDI-Eingabeknopf (): Notenerzeugung vom gespielten MIDI-Keyboard Wenn ein MIDI Keyboard an Ihre Soundkarte angeschlossen ist, so können Sie darauf spielen und NtEd kann (versuchen,) das Musikstück in Noten (zu) notieren. Bevor Sie das tun, sollten Sie sicherstellen, dass die Wiedergabe funktioniert. Anderenfalls können Sie das Metronom nicht hören. Siehe: Wiedergabe vorbereiten und eventuell der TiMidity-Server und eventuell die entsprechende Frage im FAQ. Außerdem sollten Sie sicherstellen, dass die MIDI-Eingabe arbeitet und Sie den richtigen MIDI-IN-Port gewählt haben. Siehe: Noten mit Tonhöhenbestimmung per MIDI-keyboad einfügen. Wenn alles funktioniert, dann stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Wählen Sie dann eine Note oder Pause mit der linken Maustaste aus! Die selektierte Note oder Pause sollte rot erscheinen. Die neuen Noten werden genau an dieser Position eingefügt. Konfigurieren Sie dann die Aufnahmeparameter: Datei MIDI-Aufnahme konfigurieren ... Der MIDI-Aufnahme-Konfigurationsdialog erscheint: The MIDI record config dialog Das Instrument, das Taktmaß und die Vorzeichnung sollten der Notenzeile mit der selektierten Note oder Pause entsprechen. Sie können diese Parameter ändern, was jedoch nicht empfohlen wird. Die Box Triolenerkennung bestimmt, ob &nted; Triolen erkennen soll oder nicht. Der Knopf erzwinge Piano erzwingt eine Partitur mit Klavier-Layout. Möglicherweise enthält das gespielte Stück einen großen Tonumfang. Platziert man diese Noten in einer Notenzeile, führt das zu einer schlechten Ausgabe: MIDI program changes Normalerweise teilt &nted; diese Notenzeilen: MIDI program changes Aber manchmal ist das unerwünscht. Aktivieren Sie in diesem Falle den Knopf Spuren nicht teilen. Der Temporegler bestimmt das Aufnahmetempo (d.h. das Tempo des Metronoms) in Vierteln pro Minute. Der Lautstärkeregler bestimmt die Lautstärke des Metronoms. Wenn alles richtig ist, so drücken Sie auf Ok! Betätigen Sie nun den MIDI-Aufnahmeknopf (). Sie sollten Metronomticks hören. Die Ticks bedeuten abhängig vom Nenner des Taktmaßes Halbe, Viertel, Achtel oder 16tel. Das Metronom spielt einen tiefen und N-1 hohe Ticks, wobei N der Zähler des Taktmaßes ist. Nach N Ticks ist ein Takt vorbei und die Aufnahme beginnt. Spielen Sie so exakt wie möglich zu den Metronomticks. Drücken Sie am Ende den MIDI-Aufnahmeknopf () noch einmal. Der Papierformatdialog erscheint. Wählen Sie ein Papierformat und drücken Sie auf Ok! Die Aufnahme erscheint in einem neuen &nted; Fenster. Hier können Sie einige Fehler korrigieren oder das Fenster schließen, falls die Aufnahme zu schlecht ist. Anstatt den MIDI-Aufnahmeknopf zu drücken (), können Sie einfach die Taste i auf Ihrer Computertastatur drücken. Wenn alles richtig ist, so bringen Sie das Fenster mit der selektierten Note oder Pause wieder nach vorn. Wählen Sie: Einfügen Aufn. importieren Die Noten werden von der Importnotenzeile in die Notenzeile mit der selektierten Note oder Pause kopiert. Es wird empfohlen, das Import-Fenster danach zu schließen. Nun können Sie weitere Noten in dieselbe Notenzeile importieren, indem Sie eine Note oder Pause hinter dem gerade importieren Stück selektieren. Oder Sie können eine weitere Notenzeile anfügen und ein weiteres Instrument aufnehmen. Wiedergabe Wiedergabe vorbereiten Um meine Beispiele anzuhören, nutzen Sie bitte den Soundfont, welcher hier erwähnt wird: http://alsa.opensrc.org/8MBGMSFX.SF2! Um mehr Informationen darüber zu erhalten, wie mit SF2-Datein gearbeitet wird, lesen Sie bitte die entprechende Frage im FAQ oder lesen Sie im Abschnitt Der TiMidity-Server nach!. Um die Wiedergabe vorzubereiten, wählen Sie: Bearbeiten Einstellungen ...MIDI Ausgang konfigurieren ... Es erscheint ein Menü mit allen MIDI-Ausgangs-Ports. Wählen Sie einen aus und drücken Sie OK. Wenn der Port nicht funktioniert, so wählen Sie einen anderen MIDI- Port. Wenn gar nichts hilft, so schauen Sie sich die entsprechende Frage im FAQ an! Die Box MIDI Echo bestimmt, ob beim Einfügen einer Note der Ton angespielt wird. Wiedergabe starten Um die Wiedergabe zu starten, drücken Sie den Abspielknopf. (). Um die Wiedergabe zu stoppen, drücken Sie den Abspielknopf erneut! Um die Wiedergabe an einer bestimmten Position an zu beginnen, wählen Sie zunächst eine Note aus. Um das zu tun, stellen Sie sicher, dass &nted; im Editier-Mode ist (siehe Die 3 Modi). Wählen Sie dann eine Note (keine Pause!) mit der linken Maustaste aus! Drücken Sie den Wiedergabe-Knopf ()! Stummschalten Es ist möglich, einzelne Notenzeilen von der Wiedergabe auszuschließen. Um das zu tun, wählen Sie: Werkzeuge Stummschalten ... Der Stummschalte-Dialog erscheint: &nted; Mainwindow Wählen Sie die stummzuschaltenden Notenzeilen aus und aktivieren Sie die Checkbox "OK". Wenn Sie einzelne Stimmen sperren wollen, so informieren Sie sich bitte im Abschnitt Notenzeilen. Tastenbelegung TasteOperation Istart/stop record from MIDI keyboard NEinfüge-Mode ein-/ausschalten PSeiten-Mode ein-/ausschalten RPausenknopf umschalten KTastatureingabe-Modus umschalten EntfernenLöschen einer Note aus einem Akkord ,Haltebogen einfügen (Methode 2) Ctrl AEine Notenzeile anfügen Strg +BEin System anfügen Strg +jBalkenbehandlung (see Balkenbehandlung) Strg +FNotenhalsrichtung ändern Strg +RPausen unsichtbar machen Strg +UPausen wieder sichtbar machen Cursor aufwärtsausgewählte Note aufwärts bewegen Cursor abwärtsausgewählte Note abwärts bewegen Cursor Linksausgewählte Note/Pause davor auswählen Cursor rechtsausgewählte Note/Pause danach auswählen Bild aufNächste Seite anzeigen Bild abvorherige Seite anzeigen Rückausgewählte Note löschen _Haltebogenfunktion ein-/ausschalten .Punktier-Knopf ein-/ausschalten #Kreuz-Knopf ein-/ausschalten -B-Knopf ein-/ausschalten =Auflösungs-Knopf ein-/ausschalten 1aktuelle Notenlänge auf ganze Note setzen 2aktuelle Notenlänge auf halbe Note setzen 4aktuelle Notenlänge auf Viertelnote setzen 5aktuelle Notenlänge auf Achtelnote setzen 6aktuelle Notenlänge auf 16tel Note setzen 7aktuelle Notenlänge auf 32stel Note setzen 8aktuelle Notenlänge auf 64stel Note setzen Strg +hineinzoomen Strg - herauszoomen Strg CBlock kopieren Strg VBlock einfügen Strg XBlock löschen Strg EBlock leeren Strg ZKommando rückgängig Strg YKommando wiederholen Strg +HBindebögen einfügen Strg + <Wert>N-Tole erzeugen (Methode 1) Strg + ALt + <Wert>N-Tole erzeugen (Methode 2) Shift + Cursor aufwärtsAbstände vergößern Shift + Cursor abwärtsAbstände verkleinern Außerdem: Wenn sie num-Lampe aus ist, so sind die Tasten auf dem Nummernfeld mit den Tasten der Werkzeugkiste gekoppelt (siehe Die Werkzeugkiste). Konfigurationsdatei &nted; speichert die aktuelle Konfiguration (MIDI-Port, letzte geöffnete Dateien, Druckkommando) in $HOME/.nted/ntedrc Achtung: Pulseaudio Unglücklicherweise wird alles, was im nächsten Kapitel Der TiMidity-Server geschrieben ist, nicht funktionieren, wenn Sie eine neue Soundtechnologie namens Pulseaudio haben. Das betrifft Fedora-11-Nutzer and Ubuntu-9.10-Nutzer und möglicherweise weitere. Wenn Sie den unter http://alsa.opensrc.org/8MBGMSFX.SF2 erwähnten Soundfont verwenden, wird Ihnen Schreckliches widerfahren, wie Verzerrungen oder gar kein Sound. Um herauszufinden, ob Sie Pulseaudio haben, geben Sie den Befehl: which pulseaudio Wenn Sie einen Pfad als Antwort erhalten, dann haben Sie Pulseaudio. Das zu umgehen, gibt es nur die Möglichkeit, Ihr eigenes TiMidtiy++ zu compilieren. Um das zu tun, laden Sie die neueste Quelle von: http://timidity.sourceforge.net/#download" Packen Sie es sie aus und und konfigurieren Sie sie: tar -xvjf TiMidity++-x.y.z.tar.bz2 cd TiMidity++-x.y.z ./configure --enable-audio=alsa --enable-server --enable-alsaseq make su (give password if requested) make install exit Jetzt haben Sie 2 TiMiditys: Ein Pulseaudio-abhängiges unter /usr/bin/timidity und ein frisch compiliertes Pulseaudio unabhängiges unter /usr/local/bin/timidity. Benutzen Sie das Pulseaudio unabhängige TiMidity! Eine gute Idee ist es auch, ein Kommando zu erzeugen. Sie sollten als root den Soundfont an eine bestimmte Position kopieren: cd /usr/share mkdir sfbank chmod 0755 sfbank cd sfbank cp /<somewhere>/8mbgmsfx.sf2 . echo 'dir /usr/share/sfbank' >timidity.cfg echo 'soundfont 8mbgmsfx.sf2' >> timidity.cfg chmod 0644 8mbgmsfx.sf2 timidity.cfg cd /usr/bin echo '#!/bin/bash' > alsatimidity.sh echo '' >> alsatimidity.sh echo '/usr/local/bin/timidity -c /usr/share/sfbank/timidity.cfg -iA -B2,8 -Os1l -s 44100' >> alsatimidity.sh chmod 0755 alsatimidity.sh Jetzt sollte der Ruf: alsatimidity.sh timidity im Server-Modus starten. Falls die Soundprobleme weiterhin auftreten, löschen Sie das gesamte Pulseaudio-Paket. Der TiMidity-Server Alles was hier ausgesagt wird, funktioniert nicht, wenn Sie eine Techologie namens Pulseaudio verwenden. Das betrifft Fedora-11-Nutzer und Ubuntu-9.10-Nutzer und möglicherweise andere. Bitte informieren Sie sich im Pulseaudio-Kapitel! Sie können den MIDI-zu-WAVE Konverter und -player TiMidity++ ( http://timidity.sourceforge.net) im Server- Mode benutzen. Dieses Verfahren ist für all diejenigen von besonderem Interesse, die das MIDI-Gerät ihrer Soundkarte nicht ansprechen können. Eine Voraussetzung ist, dass TiMidity++ mit (wenigstens) folgenden -Optionen konfiguriert wurde: Ob TiMidity++ mit diesen Optionen übersetzt wurde, kann durch Starten mit der Option ermittelt werden:          timidity -iA -B2,8 -Os1l -s 44100     Wenn das sagt: "-A option not compiled in", dann müssen Sie es wie oben ausgeführt "von Hand" übersetzen. Sie sollten auch versuchen, "das Orchester" durch Installation eines anderen Soundfonts zu wechseln. Um einen solchen Soundfont zu bekommen, sollten Sie zunächst die CDROM durchsuchen, die Ihrer Soundkarte beilag. Möglicherweise finden Sie dort eine Datei mit der Endung .sf2. Stellen Sie sicher, dass es sich um einen General-MIDI-Soundfont handelt! Wenn nicht, so laden Sie die Soundfont-Datei, welche hier erwähnt wird: http://alsa.opensrc.org/8MBGMSFX.SF2. Downloaden Sie sie und ändern Sie in /usr/share/timidity/timidity.cfg (oder /usr/local/share/timidity/timidity.cfg):      dir <pfad_zu_dem_Verzeichnis_in_welchem_8MBGMSFX.SF2_platziert_wurde> und:      soundfont 8MBGMSFX.SF2 Kommentieren Sie alle anderen Zeilen aus! Wenn alles in Ordnung ist, so können Sie TiMidity++ starten mit:          timidity -iA -B2,8 -Os1l -s 44100     Wählen Sie den Konfigurations-Dialog an: Konfiguration MIDI konfigurieren... Sie sollten 4 neue MIDI-Geräte sehen: Timidity port 0 128:0 Timidity port 1 128:1 Timidity port 2 128:2 Timidity port 3 128:3 Wählen Sie eines aus und die Wiedergabe sollte funktionieren! Tipp: Wenn die Wiedergabe beim Umblättern stockt, so starten Sie TiMidity++ als root. Das erhöht die Priorität des TiMidity++-Prozesses. Nutzen Sie in diesem Fall das folgende Kommando:      timidity --realtime-priority=100 -iA -B2,8 -Os1l -s 44100 Das kann zu Betriebsystem-Problemen führen, wenn die Leistungsfähigkeit Ihrer CPU zu klein ist! Wenn dem so ist, so versuchen Sie die Priorität und/oder die Frequenz herabzusetzen:      timidity --realtime-priority=60 -iA -B2,8 -Os1l -s 22050 Manchmal hilft es auch, die Anzahl der Bufferfragmente zu erhöhen:          timidity -iA -B8,8 -Os1l -s 22050     Falls Sie einen anderen Soundfont ausprobieren wollen, so werfen Sie einen Blick auf die Hammersound-Installationsseite. Die Hammersound-Installationsseite Für meine Beispiele empfehle ich den Soundfont, welcher auf der TiMidity-Server-Seite erwähnt wird. Aber Sie können auch einen Soundfont von der Seite http://www.hammersound.net/, zum Beispiel FluidR3 testen. Um das zu tun, suchen Sie FluidR3122501.zip auf http://www.hammersound.net und downloaden Sie die Datei. Dieser Soundfont liegt im sfArk-Kompressionsformat vor. Laden Sie den De-Kompressor von http://www.melodymachine.com und entpacken Sie:      tar -xvzf sfarkxtc_lx86.tar.gz Dann dekomprimieren Sie das Archiv FluidR3122501.zip (Wegen der Leerzeichen sind die Apostrophe notwendig):      unzip FluidR3122501.zip      ./sfarkxtc "FluidR3 GM.sfArk" Es wird empfohlen, die entstehende Datei FluidR3 GM.SF2 umzubenennen, weil die Linux-Shell Probleme beim Umgang mit Dateien hat, deren Namen Leerzeichen enthalten:      mv "FluidR3 GM.SF2" FluidR3.sf2 Dann ändern Sie in /usr/share/timidity/timidity.cfg (oder /usr/local/share/timidity/timidity.cfg):      dir <Pfad_zu_dem_Verzeichnis_in_dem_die_FluidR3.sf2_Datei_platziert_wurde> und:      soundfont FluidR3.sf2 Starten Sie TiMidity wie auf der TiMidity-Server-Seite erwähnt! Credits and License &nted; Copyright 2007 Jörg Anders This documentation is licensed under the terms of the GNU Free Documentation License. This program is licensed under the terms of the GNU General Public License. Häufig gestellte Fragen (FAQ) Ich höre keinen Ton! Ich sehe die laufenden roten Noten aber ich höre nichts! Was ist los? Das hat nichts mit &nted; zu tun! Das ist ein Problem Ihres MIDI-Gerätes! Jedwede MIDI-basierte Software (zum Beispiel kmid (nicht kmidi !!!) oder pmidi) wird nicht funktionieren! Zunächst: Versuchen Sie eine MIDI-Datei mit kmid (nicht (!!!) kmidi) abzuspielen. Solange kmid keine Töne produziert, wird &nted; (und jede andere MIDI-Geräte-basierte Software) gleichfalls keine Töne produzieren! Der Grund ist: Entweder Ihre Soundkarte hat keinen Hardware-MIDI-Sythesizer, oder sie hat einen Hardware-MIDI-Synthesizer, der aber von Linux nicht unterstützt wird. Schlagen Sie bitte auf der ALSA-Projekt-Seite nach, um herauszufinden, ob das MIDI-Gerät Ihrer Soundkarte unterstützt wird. Bevor Sie sich sehr viel Arbeit machen, um den Hardware-Synthesizer gegen eine Software-Emulation zu ersetzen, sollten Sie zunächst auf der CD, welche Ihrer Soundkarte beilag, nach einer Soundfont-Datei suchen. Eine Soundfont-Datei hat die Endung .sf2 or .SF2. Bitte Stellen Sie sicher, dass es sich um einen General-MIDI-Soundfont handelt! Wenn es eine solche Soundfont-Datei gibt, so ist die Wahrscheinlichkeit groß, dass Sie lediglich diesen Soundfont auf Ihre Soundkarte laden müssen. Um dies zu tun, benötigen Sie ein Programm namens asfxload. Tippen Sie einfach ein: asfxload <soundfont>.sf2 Aber auch wenn Sie keine Soundfont-Datei auf Ihrer CD finden, so können Sie einfach eine Soundfontdatei aus dem Netz laden. Ich empfehle die Datei, die hier erwähnt wird: http://alsa.opensrc.org/8MBGMSFX.SF2. Falls asfxload nicht funktioniert, so erlaubt Ihre Soundkarte das Laden von Soundfontdateien nicht. Es gibt noch eine letzte Chance, dass nicht alle Moduln geladen sind. Probieren Sie deshalb als root-Nutzer: modprobe snd_seq_midi und wiederholen Sie das asfxload-Kommando! Falls asfxload weiterhin nicht funktioniert, so müssen Sie den Hardware-MIDI-Synthesizer durch eine Software emulieren. Das klappt, wenn Ihr Computer leistungsfähig genug ist. Windows startet zum Beispiel stets eine solche Emulation, falls die Hardware-Synthese nicht funktioniert. Seien Sie deshalb nicht überrascht, wenn Sie MIDI-Dateien unter Windows abspielen können! Eine solche Emulations-Software existiert auch unter Linux. Aber das ist ein wenig komplizierter, weil sie diese Software "von Hand" starten müssen. Diese Software-MIDI-Synthesizer einen so genannten Soundfont - eine Kollektion von Beispieltönen eines virtuellen Orchesters - benötigen. Diese Soundfonts sind urheberrechtlich geschützt, also eigentlich nichts für ein offenes System wie Linux. Es gibt jedoch einen (relativ aufwendigen) Weg! Schauen Sie unter Der TiMidity-Server nach, um detaillierte Anweisungen zu erhalten! Achtung! Es gibt noch mehr Software-Synthesizer für Linux, welche Sie testen können! Unter Ihnen der FluidSynth. Schauen Sie unter http://www.linux-sound.org nach, um eine komplette Liste zu erhalten! Sie sollten die Software-Synthese vermeiden, wenn die Leistungsfähigkeit Ihres Computers zu klein ist! Das Antialiasverfahren (Kantenglättung der Symbole) von &nted; erfordert eine Menge Leistung, ebenso wie die Software-Synthese! Das kann zu ungleichmäßiger Wiedergabe führen! Ich benutze TiMidity. Aber der Sound klingt verzerrt und ist manchmal völlig verschwunden. Was ist los? Prüfen Sie, ob Sie Pulseaudio haben: which pulseaudio Falls der Pfad zum Pulseaudio angezeigt wird, folgen Sie den Instruktionen, die im Kapitel Pulseaudio gegeben werden. Bei Programmstart erscheint: "Error in FT_Open_Face"! Was ist los? Sie haben das Programm nicht installiert! Geben Sie (als root-Nutzer) das Kommando: make install Lesen Sie auch in der Datei INSTALL nach, die im nted-x.y.z.tgz-Archiv vorhanden ist. Ich nutze asfxload aber ich bekomme einen Fehler: "sfxload: no memory left" und einige Instrumente fehlen bei der Wiedergabe. Was ist los? Glauben Sie nicht den vielen Gerüchten auf diversen Mailing-Listen! Ich habe eine schlechte Neuigkeit für Sie: Sie müssen einen neuen Kern bauen! Schrecklich, ich weiss! Wenn Sie sich nicht dazu in der Lage fühlen, so versuchen Sie es mit dem TiMidity-Server. Anderenfalls downloaden Sie den Kern und ersetzen Sie in arch/x86/include/asm/dma.h: #define MAX_DMA32_PFN ((4UL * 1024 * 1024 * 1024) >> PAGE_SHIFT) gegen: #define MAX_DMA32_PFN ((2UL * 1024 * 1024 * 1024) >> PAGE_SHIFT) Dann erzeugen Sie den Kern! Wenn Sie Genaueres wissen wollen, so schauen Sie unter https://lists.ubuntu.com/archives/universe-bugs/2009-March/068812.html nach! Ich kann &nted; nicht installieren, weil ich keine Root-Rechte habe. Was soll ich machen? Sie können die Option benutzen, um &nted; in irgendeinem Verzeichnis unterhalb Ihres $HOME-Verzeichnisses zu installieren. Schlagen Sie auch in der Datei INSTALL nach, welche im Archiv nted-x.y.z.tgz enthalten ist. Außerdem: Wenn Sie das make install-Kommando vermeiden wollen, so setzen Sie die Umgebungsvariable NTED_FONT_DIR auf das Verzeichnis, in welchem nted/ntedfont.pfa platziert wurde. Wenn zum Beispiel ntedfont.pfa unter /home/smith/datafiles/nted/ntedfont.pfa zu finden ist, so geben Sie folgendes Kommando: export NTED_FONT_DIR=/home/smith/datafiles wenn Sie eine bash oder sh-Shell benutzen. Wenn Sie eine csh oder tcsh-Shell benutzen, so schreiben Sie: setenv NTED_FONT_DIR /home/smith/datafiles Um festzustellen, welche Shell Sie haben, tippen Sie: echo $SHELL an der Eingabeaufforderung. Kann ich die Strophen als Textblöcke unter die Musik setzen? Wie kann ich die Partitur in allgemeine Texte einbinden? Das würde es erfordern, einen Noteneditor und einen Texteditor zu schreiben! Das ist zu aufwändig! Aber schauen Sie unter: http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/use_nted_in_text.xhtml nach! Hier finden Sie einige Vorschläge zu diesem Thema. Während des Programmstarts bekomme ich einen Fehler: "Cannot open ALSA MIDI sequencer --> replay won't work ..."! Was ist los ? Das bedeutet, dass Sie entweder kein ALSA-Soundsystem haben. Oder Sie haben eine ALSA-Soundsystem bei dem aber aus verwickelten Gründen der ALSA-MIDI-Synthesizer nicht initialisiert wurde. In vielen Fällen ist ein fehlender Modul der Grund. Geben Sie (als root-Nutzer) folgendes Kommando: modprobe snd-seq-midi und starten Sie &nted; erneut! Während des make-Kommandos tritt ein Fehler auf: /bin/sh: gdk-pixbuf-csource: command not found. Was ist los ? Das hat mit der PATH-Umgebungsvariablen zu tun. Viele Linuxe platzieren gdk-pixbuf-csource an der Stelle:/opt/gnome/bin. Normalerweise sollten das in Ihrem PATH sein! Aber unter bestimmten Umständen ist das nicht der Fall. Stellen Sie sicher dass /opt/gnome/bin in Ihrem PATH ist. Wenn Sie eine (t)csh-Shell haben, tippen Sie: setenv PATH "$PATH:/opt/gnome/bin" Wenn Sie eine andere Shell haben, tippen Sie: export PATH=$PATH:/opt/gnome/bin Um festzustellen, welche Shell Sie haben, tippen Sie: echo $SHELL Während des configure bekomme ich einen Fehler: "configure: error: C++ compiler cannot create executables, See `config.log' for more details.". Was ist los? Ok, Sie können in der Datei config.log nachschauen. Aber das ist vermutlich überflüssig, denn in den meisten Fällen bedeutet das: Sie haben keinen C++-Compiler installiert.
nted-1.10.18/doc/templates/0000775001041000007640000000000011520270236012355 500000000000000nted-1.10.18/doc/templates/Makefile.am0000775001041000007640000000245711520267216014350 00000000000000######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### if MAKE_DOCS CLEANFILES = nted.pot noinst_DATA = nted.pot nted.pot: ../en/index.docbook rm -f nted.pot $(XML2POT) $(srcdir)/../en/index.docbook > nted.pot endif nted-1.10.18/doc/templates/Makefile.in0000664001041000007640000002650211520267353014355 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ ######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/templates DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DATA = $(noinst_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_LIBS = @ALSA_LIBS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ IMAGE2HEADER = @IMAGE2HEADER@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PO2XML = @PO2XML@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ X11_CFLAGS = @X11_CFLAGS@ X11_LIBS = @X11_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XML2POT = @XML2POT@ XMLTO = @XMLTO@ YELP = @YELP@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @MAKE_DOCS_TRUE@CLEANFILES = nted.pot @MAKE_DOCS_TRUE@noinst_DATA = nted.pot all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/templates/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/templates/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am @MAKE_DOCS_TRUE@nted.pot: ../en/index.docbook @MAKE_DOCS_TRUE@ rm -f nted.pot @MAKE_DOCS_TRUE@ $(XML2POT) $(srcdir)/../en/index.docbook > nted.pot # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/doc/translated-manual.mk0000664001041000007640000000565511520267216014263 00000000000000######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### EXTRA_DIST = $(LANGUAGE).po index.docbook if MAKE_DOCS if MAKE_DOCBOOKS all-local: index.docbook index.html index.docbook: ../en/index.docbook $(LANGUAGE).po $(PO2XML) $(srcdir)/../en/index.docbook $(srcdir)/$(LANGUAGE).po >index.docbook index.html: index.docbook $(XMLTO) html index.docbook ../templates/nted.pot: cd ../templates && $(MAKE) nted.pot $(srcdir)/$(LANGUAGE).po: ../templates/nted.pot ../en/index.docbook $(MSGMERGE) $(srcdir)/$(LANGUAGE).po ../templates/nted.pot > xx.po @if cmp xx.po $(srcdir)/$(LANGUAGE).po > /dev/null; then \ rm -f xx.po; \ else \ rm -f $(srcdir)/$(LANGUAGE).po; \ echo mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ fi install-data-local: index.docbook index.html $(INSTALL) -D -m "u=rw,og=r" index.docbook $(DESTDIR)$(htmldir)/$(LANGUAGE)/index.docbook @-for i in *.html; \ do \ $(INSTALL) -D -m "u=rw,og=r" $$i $(DESTDIR)$(htmldir)/$(LANGUAGE)/$$i; \ done uninstall-local: rm -f $(DESTDIR)$(htmldir)/$(LANGUAGE)/* clean-local: rm -f *.html index.docbook else all-local: index.html index.html: $(XMLTO) html index.docbook $(srcdir)/$(LANGUAGE).po: ../templates/nted.pot ../en/index.docbook $(MSGMERGE) $(srcdir)/$(LANGUAGE).po ../templates/nted.pot > xx.po @if cmp xx.po $(srcdir)/$(LANGUAGE).po > /dev/null; then \ rm -f xx.po; \ else \ rm -f $(srcdir)/$(LANGUAGE).po; \ echo mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ mv -f xx.po $(srcdir)/$(LANGUAGE).po; \ fi install-data-local: index.docbook index.html $(INSTALL) -D -m "u=rw,og=r" index.docbook $(DESTDIR)$(htmldir)/$(LANGUAGE)/index.docbook @-for i in *.html; \ do \ $(INSTALL) -D -m "u=rw,og=r" $$i $(DESTDIR)$(htmldir)/$(LANGUAGE)/$$i; \ done uninstall-local: rm -f $(DESTDIR)$(htmldir)/$(LANGUAGE)/* clean-local: rm -f *.html endif endifnted-1.10.18/doc/en/0000775001041000007640000000000011520270236010761 500000000000000nted-1.10.18/doc/en/Makefile.am0000775001041000007640000000314311520267211012740 00000000000000######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### LANGUAGE = en all-local: index.html EXTRA_DIST = index.docbook index.html: index.docbook $(XMLTO) html $(srcdir)/index.docbook install-data-local: index.docbook index.html $(INSTALL) -D -m "u=rw,og=r" $(srcdir)/index.docbook $(DESTDIR)$(htmldir)/$(LANGUAGE)/index.docbook @-for i in *.html; \ do \ $(INSTALL) -D -m "u=rw,og=r" $$i $(DESTDIR)$(htmldir)/$(LANGUAGE)/$$i; \ done uninstall-local: rm -f $(DESTDIR)$(htmldir)/$(LANGUAGE)/* clean-local: rm -f *.html nted-1.10.18/doc/en/Makefile.in0000664001041000007640000002711311520267353012760 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ ######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/en DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_LIBS = @ALSA_LIBS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ IMAGE2HEADER = @IMAGE2HEADER@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PO2XML = @PO2XML@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ X11_CFLAGS = @X11_CFLAGS@ X11_LIBS = @X11_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XML2POT = @XML2POT@ XMLTO = @XMLTO@ YELP = @YELP@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ LANGUAGE = en EXTRA_DIST = index.docbook all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/en/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/en/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile all-local installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: install-am install-strip .PHONY: all all-am all-local check check-am clean clean-generic \ clean-local distclean distclean-generic distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-data-local install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-local all-local: index.html index.html: index.docbook $(XMLTO) html $(srcdir)/index.docbook install-data-local: index.docbook index.html $(INSTALL) -D -m "u=rw,og=r" $(srcdir)/index.docbook $(DESTDIR)$(htmldir)/$(LANGUAGE)/index.docbook @-for i in *.html; \ do \ $(INSTALL) -D -m "u=rw,og=r" $$i $(DESTDIR)$(htmldir)/$(LANGUAGE)/$$i; \ done uninstall-local: rm -f $(DESTDIR)$(htmldir)/$(LANGUAGE)/* clean-local: rm -f *.html # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/doc/en/index.docbook0000664001041000007640000046773611520267211013400 00000000000000 ]> The &nted; Handbook JörgAnders TU-Chemnitz
j.anders@informatik.tu-chemnitz.de
Maximiliano Spanish translation
mxgdvg@yahoo.it
MarianoMarini Italien translation
mariano.marini@alice.itk
JörgAnders German translation
ja@informatik.tu-chemnitz.de
2008 Jörg Anders Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". 2010-09-28 1.10.16 &nted; is a score editor for Linux Gtk &nted; music editor notes score MIDI
Using &nted; Starting &nted; This chapter describes the use of &nted; for editing notes. You may start &nted; by entering the following at the command prompt: % nted & Once &nted; starts, you will see a window like the following: &nted; Mainwindow The first sound To hear my examples please use the soundfont mentioned here: http://alsa.opensrc.org/8MBGMSFX.SF2! For more information about how to use the SF2 file read the appropriate question in FAQ or read about the configuration of the TiMidity server. To hear a short example choose: File Open ... Choose datafiles/nted/examples/example1.ntd on dialog and press OK! The examples are installed during installation step. So, if you can't find the examples especially if you installed from a package then search at /usr/share/nted/examples or: /usr/local/share/nted/examples You should see a score. Choose a MIDI port: Edit Preferences Configure MIDI ... and press the play button (). You should see running red notes and hear the sound. If you don't hear the sound then choose a different MIDI port. If nothing helps then refer to the approriate question in FAQ. The toolbox The toolbox is a little window which appears always on top of all other &nted; windows: The toolbox If the toolbox vanishes you can make it visible again by pressing the toolbox button ( ). The toolbox has multiple panels: The toolbox panels To change the panel either user the next panel button () or the previous panel button (). Alternatively, you can use the direct panel buttons on top of the toolbox: The direct panel buttons The different panels offer buttons concerning different fields of score notation. Furthermore, each panel is structured like your keyboard's num pad: the toolbox and the numpad Instead of pressing a button at the toolbox, you can press the appropriate button on numpad. For instance: If you want half notes, make sure the num light is off and choose the first toolbox panel. Then press 4 on num pad. The half note button is selected. Furthermore: Some keys (rest, tie, sharp, flat, natural, dot) can be toogled by keyboard keys independent on the actual panel, see shortcuts. Inserting notes and rests The 3 modes &nted; is always in one of 3 modes. The mode is determined by the insert and page button pair. At start the insert button is on and the page button is off (). &nted; is in insert/delete mode. If you toggle off the insert/delete button by clicking it or pressing the 'n' key you are in edit mode (). If you toggle on the page button by clicking it or pressing the 'p' key you are in page mode (). Furthermore you can temporarily achieve the edit mode by pressing the Ctrl key during mouse action. You can also temporarily achieve the page mode by pressing the Shift key during mouse action. In insert/delete mode you can insert and delete notes and rests. In edit mode you can modify the score. In page mode you can shift the paper by moving the mouse. Inserting/Deleting notes Be sure &nted; is in insert/delete mode (see The 3 modes). To insert notes choose a note length on first toolbox panel: The note length and click on a note line. If you click near an existing note a chord is created. If you click on an existing note the note is removed. To delete a note you can also use the backspace key. To delete a single note from chord use the DEL key. If you want to insert a note with an accidental choose an accidental on 2nd and/or 3rd toolbox panel: The note length (see also Handling beams, Handling stems). Inserting drum notes &nted; offers different note head types. Choose one at 5th toolbox panel: The note head types Select a note head type and insert the drum note as described in chapter Inserting/Deleting notes. Note: The meaning of the drum notes depends on the choosen clef. Refer to clefs read about the the drum system. Note further: To get the drum sound you have to select a certain channel (often channel 10). See The MIDI Tab! Inserting tremolo notes To insert tremolo notes select the tremolo sign at 5th panel of the toolbox: the tremolo types Select a tremolo type and insert the note as described in chapter Inserting/Deleting notes. Note: The tremolo does not influence the replay. Inserting/Deleting rests Be sure &nted; is in insert/delete mode (see The 3 modes). To insert rests choose a note length on 1st toolbox panel and press the rest button: Toolbox rest selected You cannot really "delete" a rest because you cannot destroy time. But in many cases the situation is as follows: shift example 1 This can especially happen after deleting a series of notes because every deleted note leaves behind an appropriate rest. If you now insert a half rest at position of the first eighth rest the situation changes: shift example 1 Generalization We can generalize the last example. The truth is: Independent of whether you insert a note or a rest, &nted; consumes as much time as necessary to insert the note or rest. Assume again this situation: shift example 1 If you insert a half note at postition of the 2nd eighth rest the result is: shift example 1 &nted; "eats" 3 eighth rests and shortens the quarter by one eighth. Inserting notes and rests using the PC keyboard You can toggle the note length by pressing some number keys: 1set current length to full note 2set current length to half note 4set current length to quarter note 5set current length to eighth note 6set current length to sixteenth note 7set current length to 32th note 8set current length to 64th note To insert notes along with pressing these keys activate the keyboard insertion button () or press 'k'. This puts &nted; into the keyboard insertion mode. If you now press a key from the table above a note of appropriate length is inserted at cursor position. To insert a rest press Alt key simultaneously. Use the CursorUp/Down keys to determine the pitch. Use the CursorLeft/Right keys to switch to previous/next measure. The backspace key removes the last inserted note See also Inserting notes with pitch determined by midi keyboard. Append a system At the beginning &nted; shows only one system with only a few measures. To append more systems press Ctrl B. This will append one system at end of score. See also: removing systems Modifications Shifting notes and rests You can shift notes and rests vertically and horizontally. Be sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Click a note or rest with left button. The note or rest is selected. A selected chord or rest appeares in red color. Shift and hold the left button. The selected note or rest moves accordingly. If you shift a note vertically the note changes the line. If you shift the note or rest horizontally before or after another note or rest the note or rest changes its position. Furthermore: If there is a selected note you can move the note by Up/Down cursor key. The Left/Right key changes the selection. The horizontal move is especially useful in cases where you want to achieve this: shift example 1 but the situation is: shift example 2 By moving the note before the rest or the rest behind the note the symbols exchange their positions. Hiding rests You can hide some rests if desireable. There are 2 ways to do this. If you want to hide the rests of a whole voice, select that voice on voice selector () and choose: Tools hide rests Or simply press Ctrl + R. To unhide already hidden rests choose: Tools unhide rests Or simply press Ctrl + U. To limit this operation to a certain staff simply select one arbitratry note or rest of this staff before this operation. The 2nd way is to hide a group of rests of a selection rectangle: Draw a selection rectangle as described in Select a block. Then choose hide rests or unhide rests as described above. Note: This operation is also limited to the selected voice. To (un)hide all rests in all voices choose: Tools hide rests (all v.) or: Tools unhide rests (all v.) Hiding rests is also useful in case of an upbeat. To make hidden rests visible choose: View show hidden elements Positioning rests vertically &nted; tries to position rests in such a way that they do not obscure other elements. This works in most cases. But sometimes the user wishes a customized vertical placement. To place a rest vertically select it, and then use the cursor up-/down keys to change the rest's vertical position. From this moment on you are responsible to place this rest. &nted; will do nothing to solve any conflicts. The only way to get a rest managed by &nted; is to insert a new rest. This way you can effectively have 2 voices sharing "one" rest: selected a tie You have to move both rests at least one step! Otherwise &nted; moves the other rest to avoid collision. Inserting ties There are 2 ways for inserting ties: This approach assumes you want to insert ties after you have inserted a series of notes. So, never press the tie during note insertion: the tie button Press it after you have inserted a series of notes. Then select all note pairs to be tied with left mouse button. Do not forget to turn off the tie button: the tie button Because this button has high priority and blocks other functions. Insert a note or chord followed by a note or chord with the same pitch(es): before tie method 1 Then press ',' (comma). Notes with equal pitch are tied: before tie method 2 Customized ties &nted; places the ties automatically depending on the note's stem direction. This works in most cases. But sometimes the user wishes costumized ties. To costumize a tie make sure &nted; is in edit mode (see The 3 modes). Select a tie with left mouse button: selected a tie The selected tie appears in red color. Use the cursor up/down keys to change the curve: change the tie's curve Modifying length, accidentals dots and ties Be sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Click a note or rest with left button. The note or rest is selected. A selected chord or rest appeares in red color. The buttons reflect the state of the note or rest. You can change the state of the note or rest by toggeling the appropriate buttons. This includes: changing the length changing the note head type insert/remove accidentals/dots removing ties Undo/Redo and View &nted; has an unlimited undo history. You can always undo a previous command by pressing the undo button () or pressing Ctrl Z. To redo an undo press the redo button () or press Ctrl Y. To increase the view press the zoom in button () or press Ctrl +. To decrease the view press the zoom in button () or press Ctrl -. Staves and Systems Append a new staff To append a staff choose: Insert Append staff or simply press Ctrl + A. The staff is always appended at last position. Change staff properties To change the staff properties right click staff not too close to a measure line. The staff config menu appears: the staff config menu Choose staff name, clef, time signature (likewise or ), and key signature on appropriate panel and press OK! The adjust notes determins whether or not &nted; shall adjust the appropriate notes such that their pitch is kept. This concerns the clef and key signature change. The octave shift entry determins an optional octave shift of the clef. Note! LilyPond has its own rules for choosing symbols or . So, do not expect the same symbols in LilyPond! The staff short name is printed at 2nd, 3rd, ... page. The group name and short group name have the same meaning as staff name and staff short name for groups of staves. (see System Layout) The neutral clef has 3 forms: the neutral clefs The difference is the MIDI mapping. The first form - signed with "1" - maps the note lines to pitches like the treble clef would map. The 2nd form - signed with "2" - maps note lines to pitches like the bass clef would map. The difference is not visible. Note: If you choose neutral clef 1 or neutral clef 2 the notation conflicts with usual drum notation and it is not exported to LilyPond. An alternative is to use the drum system. On MIDI tab you can change the midi parameters which influences the sound during replay: the midi panel The instrument panel lets you select the timbre. It assumes a general midi table. Furthermore you can choose the volume of the staff. Actually, each voice has the same timbre (plays the same sound). But on voices panel you can change this behaviour: the instrument panel If the radio button all is selected immediately before closing the staff configuration menu, all voices produce the same sound (play the same instrument). Otherwise you can determine the sound of the different voices by selecting one of the radio buttons 1, 2, 3, or 4. Choose a sound, a volume, and a stereo position (pan) of each voice. Different sounds on the same staff produce different sounds on the same MIDI track which causes a very complicated and expansive MIDI output! Thus, if you have the choice between multiple sounds on the same staff or multiple staves you with uniform sound you should choose the latter one! On channel panel you can assign a midi channel. You should assign a different midi channel to different staves. This is automatically done by &nted;. Channel 10 is the drum channel on most sound cards and is never assigned automatically The tempo slider changes the tempo of all staves. The pan slider determins the stereo position of the instrument. The chorus slider and the reverb slider determine the chorus and reverberation effect. The ALSA sound system does not support the reverberation effect of all soundcards. The often used modul snd_emu10k1_synth for instance does not support reverberation. But TiMidity supports it. On mute panel: the instrument panel you can mute the whole staff by using the all checkbox. You can also mute single voices by selecting the voice number. (see also Muting). The transp. slider causes a pitch offset during replay. This feature is helpful for instruments which are not in C tuning. Special letters in staff names &nted; allowes you to place special letters like flat symbol in staff names: Flute in A\b --> The following table gives an overview about the possible signs: \O \S \# \b \n \o \c \r \p \.non breaking space \...dots \--dash Changing the staff position If there is more than one staff there is a 3rd tab, the staff position tab: the position panel The cursor shows the position of the current staff. Clicking on a different position and OK moves the staff to the new position. Deleting a staff If there is more than one staff a "Delete Staff" button appears: the staff delete button To delete the staff, press this button. Changing the staff distance &nted; chooses the staff distance automatically according to the position and height of the elements. This works in most cases. But sometimes the user wishes customized staff distances. To increase the staff distance make sure &nted; is in insert mode (see The 3 modes). Choose: Insert spacer Click at the position to place the spacer on. By clicking and dragging the spacer vertically you can adjust the space between the current staff and the adjacent staves: the spacer To hide the spacer choose: View show hidden elements Modifying an deleting spacer works similar to modifying and deleting arbitrary text. Removing systems If there is more than one system a "Delete Systems" button appears: the system delete button To delete the system, press this button. You cannot delete the system on first page if the first pages has only one system. Hide measure numbers &nted; shows measure numbers at system start. You can avoid this by: View show measure numbers The drum system The default drum system If you choose neutral clef 1 or neutral clef 2 from clef dialog: the neutral clefs the pitches are mapped according to the General MIDI system. This conficts with usual drum notation. To avoid this &nted; offers a drum system which orientates towards the convertional drum notation. To activate the drum system choose the 3rd drum clef (The 3 isn't printed). In current version you should use only the following 20 drum elements: the drum system These notes are mapped to MIDI such a way that the appropriate drum element sounds during replay. Furthermore, these notes are exported to LilyPond. Note further: To get the drum sound you have to select a certain channel (often channel 10). See The MIDI Tab! Configuration of the drum system The default drum system comprises the most usual drum elements. Users, who want to use more drum elements can re-configure the drum system: File Drums ... The drum configuration dialog appears: The drum configuration dialog The central table lists all drum elements: the name, the short name (equal to the LilyPond name), the line, the head of the note, and the appropriate MIDI pitch. If you select a drum element, the note head buttons and the little preview window reflect the current state of the drum note. You can change the line by clicking the up/down arrows or by cursor up/down keys on PC keyboard. The note head is changed by clicking the approprioate note head button. If you click on change element, the new note head and the new line is changed permanently. To reload the default values, press the load defaults button. You can save and reload a configuration in a file, by pressing the save to file and load from file button. The play element buttons plays the appropriate drum element (if your MIDI out device is correctly configured). If you place 2 drum elements at the same line with the same note head &nted; uses the first appearence of this configuration. Voices You can place the notes or rests at one of 4 voices. To determine the voice select the voice number on voice selector (). Because multiple voices can be very confusing there is a color button (), which causes the notes and rests to be drawn colored: colored score The colors refer to the colors of the voice selector. The normal case is: Every voice produces the same sound (plays the same instrument) during replay. But you can change this behaviour by attaching different sounds to different voices. Block instructions Overview &nted; offers 4 different block instructions: Block copyBlock delete Empty blockInsert block Select a block To select a block make sure &nted; is in edit mode (see The 3 modes). Draw a diagonal with left mouse button such that the appropriate rectangle encloses all elements you like to work with: selection The selected elements appear in violet color. If there is a selection rectangle you can deselect some staves from selection by right clicking on the staff: deselect from selection This is especially useful if you for example want to copy only the 1st and the 3rd staff of 3 staves: copy selective Block copy To copy a block select some elements as described in Select a block. Choose: Edit Copy or press Ctrl C. The selected items are copied into an internal clipboard. Block paste To paste a block select a note or rest as described in Shifting notes. This selected chord or rest is the upper left corner of a virtual destination rectangle: virtual destination rectangle Choose: Edit Paste or press Ctrl V. The items from internal clipboard are copied to this virtual destination rectangle: paste complete Delete a block To delete a block select some elements as described in Select a block. Choose: Edit Delete Block Or simply press Ctrl + X. The block is deleted. Independent of the concrete selection the delete operation influences all staves. Only whole measures are deleted. block delete removes whole measures Empty a block To empty a block means to convert all notes groups to rests of appropriate length. Select some elements as described in Select a block: selection for empty a block Again, you can deselect some staves by right clicking them: selection for empty a block, staff 2 deselected Choose: Edit Empty Block Or simply press Ctrl + E. The block is emptied: block emptied Insert a block of empty measures To insert a block of empty measures choose an arbitrary note or rest as described in Shifting notes. select before block insertion Choose: Insert Insert block Determine the number of measures you wish to insert on insert dialog. Click OK! block insertion dialog The measures are inserted after the measure with the selected note or rest. block insertion performed Handling beams Grouping &nted; places the beams automatically depending on the note length and the time signature. This works in most cases. But sometimes the user wishes costumized beams. To change the beaming use a special button on toolbar which changes its appearence depending of whether there is a selection rectangle or not (see Select a block). If there is no selection rectangle the button isolates a currently beamed note (). To isolate make sure &nted; is in edit mode (see The 3 modes). Select a beamed note by left clicking it: The situation before isolation Then press the isolate button (): The situation after isolation The note is isolated. To connect some notes with a beam, select them as described in Select a block: The situation before connection The button changes its appearence (). Press the button and &nted; connects the notes by a beam: The situation before connection Note! This function can break beams as well, if the selection rectangle crosses an existing beam: The situation before connection This results in: The situation before connection Instead of pressing the button you can use Ctrl J independent of the button's appearence. Changing the beam parameters To change the stem direction make sure &nted; is in edit mode (see The 3 modes) select the first or the last note with left mouse button and press the change stem dir button (). Instead of pressing the change stem dir button () you can simply press Ctrl F twice. &nted; computes the beam position and slope depending on the position of the beamed notes. This works in most cases. But sometimes the user wishes to change the beam parameters. To change the beam position make sure &nted; is in edit mode (see The 3 modes) and select the first note with left mouse button: beam position 0 The stem has a handle represented by a small blue square. Select this handle with left mouse button and move it up or down. The beam follows this motion: beam position 1 To change the beam's slope select the last note with left mouse button: beam slope 0 The stem has a handle represented by a small blue square. Select this handle with left mouse button and move it up or down. The slope changes according to this motion: beam slope 1 Handling stems To change the stem direction make sure &nted; is in edit mode (see The 3 modes) select the note with left mouse button and press the change stem dir button (). Instead of pressing the change stem dir button () you can simply press Ctrl F. All notes have a default stem length. This is OK in most cases. But sometimes the user wishes to change the stem length. To do this make sure &nted; is in edit mode (see The 3 modes) and select the note with left mouse button: stem length 0 The stem has a handle represented by a small blue square. Select this handle with left mouse button and move it up or down. The stem length changes according to this motion: stem length 1 Horizontal spacement Global Spacement &nted; applies a predefined horizontally spacing. This looks good in most cases. But sometimes the user wishes a different spacement. To change the horizontal spacement globally choose: Edit Change spacement ... The spacement dialog appears: the spacement dialog Change the spacement factor and press OK! &nted; applies the new horizontal spacement: the global spacement Changing the horizontal spacement measurewise &nted; allowes you to change the spacment measurewise. To do this select an arbitrary note of the measure, as described in Shifting notes. Then press an hold the shift key and turn the mouse wheel! The horizontal spaces of the measure change accordingly. Instead of using the mouse wheel you can also use Shift CursorUp and Shift CursorDown. horizontal space per measure System Layout You can group the staves by means of braces and brackets. Furthermore, &nted; allows you to determine whether the measure lines of subsequent staves are connected or not. To do this mark a block of staves as described in chapter Select a block. selected block Choose: Edit System layout ... Select one of the offered menu items: brace - This groups the selected staves by means of a brace. bracket - This groups the selected staves by means of a bracket. connect barlines - This causes the bar lines of the selected staves to be connected. remove group - This removes a staff group created with one of the 3 methods above. staff layout To name a staff group, fill in the group name, or group short name, respectively (see: Change staff properties) of the lowest staff of this group: a group name Tuplets Create tuplets &nted; can deal with tuplets from 2 to 13. To create a tuplet select a note or rest which shall be the first member of the tuplet. Press Ctrl and the tuplet val number. For instance: If you want a quarter note to be the first member of a triplet then select the quarter note: before triplet creation and press Ctrl + 3: after triplet creation (method1) There is a 2nd procedure if you press Ctrl+Alt+<num> instead, the result is: after triplet creation (method2) What's the difference? In first case &nted; regards the selected note as the first triplet member. In 2nd case it assumes the selected quarter has the length of the first 2 triplet members. This is especially useful for swing music where the combination shown above occurs very often. Delete tuplets To delete a tuplet select any tuplet member and choose: Edit Remove tuplet Tuplets from 10 to 13 To create a tuplet with value greater then 9 choose: Insert Insert tuplet ... Set the tuplet value on dialog! To create a tuplet according to 2nd method (see above) select the method 2 check box. Slurs Inserting slurs To insert a slur make sure &nted; is in edit mode (see The 3 modes). Select some notes as described in Select a block: before a slur is created Then Choose: Insert Slur or press Ctrl H. The slur appears: after a slur is created As you can see the slur has 3 handles. By left clicking and dragging these handles you can determine the exact slur shape: a slur is created Modifiying slurs Although the slur handles appear to be free replaceable, they are always assigned to a symbol. The symbol is shown by a thin light blue line: the assignment of the slur handles This has consequences: &nted; tries to keep the position of the slur handle relative to the symbol it is assigned to; &nted; removes the slur if the symbol it is assigned to is removed; To change a slur's shape make sure &nted; is in edit mode (see The 3 modes). Select the start or end of a slur with left mouse button. The 3 handles appear again: the selection of the slur handles Thus, you can change the slur's shape again by dragging the 3 handles. Deleting a slur To delete a slur make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Left click the start or and of a slur. The selected handle appears in red color. Press the backspace key and the slur will be deleted. Repeats and other bar types Simple Repeats To place a repeat open or repeat close make sure &nted; is in edit mode (see The 3 modes). Right click a measure line. The repeat dialog appears: the repeat dialog Choose one of the offered repeat types by clicking the up/down arrow and press Ok button. The appropriate measure changes its type: the repeat open measure Alternatives If you select a closing repeat on repeat dialog the checkbox alternative1 is enabled. If you check it the checkbox alternative2 is enabled: the alternative checkboxes This way you can place the appropriate alternatives: the alternative Both alternatives cover one measure at start. To change the alternative's width select 1. or 2. with left mouse click. The selected number appears red: the selected alternative Change the alternative width by pressing the left/right cursor key: the changed alternative To delete an alternative select the appropriate closing repeat and deselect the appropriate checkbox. End bar The same way you can insert an end bar: double bar and end bar If you choose the end bar or repeat close you can control by hide following whether or not &nted; draws elements following the end bar on the same system: the end bar dialog It is your responsibility to delete following systems or pages! the end bar dialog Double bar The same way you can insert a double bars: double bar Time signature changes Inserting or changing time signature changes To place a time signature change make sure &nted; is in edit mode (see The 3 modes). Right click a measure line. On dialog box select enable timesig the timesig changed dialog On time signature panel choose the new numerator and denominator or one of the symbols or and press Ok: the timesig changed dialog Note! LilyPond has its own rules for choosing symbols or . So, do not expect the same symbols in LilyPond! Removing a time signature change To delete an existing time signature change select the delete timesig checkbox. Clef changes Inserting clef changes To place a clef change make sure &nted; is in insert/delete mode (see The 3 modes). Choose: Insert Clefs The clef change dialog appears: the clef change dialog Choose a clef by clicking the up/down arrow keys! The octave shift entry determins an optional octave shift of the clef. The neutral clef has 3 forms: the neutral clefs The difference is the MIDI mapping. The first form - signed with "1" - maps the note lines to pitches like the treble clef would map. The 2nd form - signed with "2" - maps note lines to pitches like the bass clef would map. The difference is not visible. Note: If you choose neutral clef 1 or neutral clef 2 the notation conflicts with usual drum notation and it is not exported to LilyPond. An alternative is to use the drum system. The adjust notes determins whether or not &nted; shall adjust the appropriate notes such that their pitch is kept. Press the Ok button! Click at the position to place the clef change on! The appropriate clef appears: the clef change Deleting a clef change To delete a clef change make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Click the clef change with left mouse button. The selected clef change appears in red color. Press the backspace key and the clef change will be deleted. Key signature changes Inserting key signature changes To place a key signature change make sure &nted; is in insert/delete mode (see The 3 modes). Choose: Insert Insert keysig ... The key signature dialog appears: key signature dialog Choose the new key signature. The adjust notes determins whether or not &nted; shall adjust the appropriate notes such that their pitch is kept. Press the Ok button! Click at the position to place the key signature change on: the key signature change Deleting a key signature change To delete a key signature change make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Click the key signature change with left mouse button. The selected key signature appears in red color. Press the backspace key and the key signature change will be deleted. Dynamics Insert dynamics To insert a dynamic symbol make sure &nted; is in insert mode (see The 3 modes). Choose: Insert Dynamics ... Choose the dynamic symbol and click at the position to place the dynamic sign on. Change the dynamic's position To move a dynamic symbol make sure &nted; is in edit mode (see The 3 modes). Select the dynamic symbol by left clicking it. The selected symbol appears in red. Hold left mouse button and move the mouse. The dynamic symbol moves accordingly. Although the dynamic symbols appear to be free replaceable, they are always assigned to a symbol. The symbol is shown by a thin light blue line: the assignment of dynamics This has consequences: &nted; tries to keep the position of the dynamic symbol relative to the symbol it is assigned to; &nted; copies the dynamic symbol if the symbol it is assigned to is copied; &nted; removes the dynamic symbol if the symbol it is assigned to is removed; &nted; influences the volume of the staff of the symbol it is assigned to; Determine the MIDI volume of a dynamic symbol Every dynamic symbol has a predefined MIDI volume between 0 and 127. To change the MIDI volume click the dynamic symbol with right mouse button. The volume dialog appears: the volume dialog Select a MIDI volume and press OK! Removing dynamics To remove a dynamic symbol make sure &nted; is in edit mode (see The 3 modes). Select the dynamic symbol by left clicking it. The selected symbol appears in red. Press Backspace key and the dynamic symbol vanishes. Horizontal lines Inserting horizontal lines &nted; allows you to insert some horizontal lines. Among them (de-)crescendo (hairpins), va8, vb8, ma15, and mb15 lines. To insert a line make sure &nted; is in insert mode (see The 3 modes). Choose: Insert Insert lines ... The line dialog appears: the line dialog Select a line by clicking on the appropriate box. The selected line appears red hemmed: the line dialog (selected) Press OK and then left click the position where the line shall appear. A appropriate line is created: a (de-)crescendo is created As you can see the line has 2 handles. By left clicking and dragging these handles you can determine the position and length: a (de-) crescendo is placed If you want a line to span multiple staves first move the end point vertically, even if the handle does not immedietely follow the mouse cursor! create multi stave lines Note! The left handle determins the start position. The right handle only determins the horizontal end point, not the vertical position! Modifiying lines Although the line handles appear to be free replaceable, they are always assigned to a symbol. The symbol is shown by a thin light blue line: the assignment of the crescendo handles This has consequences: &nted; tries to keep the position of the line handle relative to the symbol it is assigned to; &nted; removes the line if the symbol it is assigned to is removed; &nted; influences the MIDI replay of the appropriate staff, if possible; To change a line's length and position make sure &nted; is in edit mode (see The 3 modes). Select the start of a line with left mouse button. The 2 handles appear again: the selection of the crescendo handles Thus, you can change the line's length and position again by dragging the 2 handles. Deleting a line To delete a line make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Left click the start of a line. The selected handle appears in red color. Press the backspace key and the line will be deleted. (de-)crescendo (hairpins) To determine the MIDI behaviour of the (de-)crescendo make sure &nted; is in edit mode (see The 3 modes). Select the start of a (de-)crescendo with right mouse button. The volume dialog appears: the volume dialog Define the MIDI volume difference caused by the (de-) crescendo and press OK! Ottava brackets: va8, bv8, ma15, mb15 These symbols change the octave of the enclosed notes. Tempo markers Inserting tempo markers To insert a tempo marker make sure &nted; is in insert mode (see The 3 modes). Choose: Insert tempo ... The tempo dialog appears: the tempo dialog Select a tempo symbol and a tempo and press "OK"! Then click at the position to place the tempo marker on. Change the tempo markers's position To move a tempo marker make sure &nted; is in edit mode (see The 3 modes). Select the tempo marker by left clicking it. The selected symbol appears in red. Hold left mouse button and move the mouse. The tempo marker moves accordingly. Although the tempo markers appear to be free replaceable, they are always assigned to a symbol. The symbol is shown by a thin light blue line: the assignment of tempo markers This has consequences: &nted; tries to keep the position of the tempo marker relative to the symbol it is assigned to; &nted; copies the tempo marker if the symbol it is assigned to is copied; &nted; removes the tempo marker if the symbol it is assigned to is removed; Changing the tempo values To change the tempo value and/or symbol right click the tempo marker. The tempo dialog appears: the tempo dialog Select a marker symbol and a tempo and press OK! Removing tempo markers To remove a tempo marker make sure &nted; is in edit mode (see The 3 modes). Select the tempo marker by left clicking it. The selected symbol appears in red. Press Backspace key and the tempo marker vanishes. Arbitrary text Inserting arbitrary text Don't use this feature for lyrics, dynamics, accelerando, ritardando, or (de-)crescendo because &nted; has special means for these items, which partly influence the MIDI replay accordingly. (see Lyrics, Dynamics , Accelerato, Ritardando, and (de-)crescendo (hairpins))! To insert arbitrary text make sure &nted; is in insert mode (see The 3 modes). Choose: Insert Text ... The text dialog appears: the text dialog Insert a text in text field. Press the font button beneeth the text field if you whish a different font! The anchor field allows you to determine the anchor point: the text alignment Please prefer fonts like Sans or Serif. Depending on your system configuration other fonts can cause problems (pixelated appearence) on PostScript/PDF output. This often concerns fonts like Helvetica or Times. The text often concerns the tempo (allegro) or the volume (forte). The 2 fields beneeth the font button allow you to influence the MIDI replay. To influence the volume check the enable volume change button and choose a volume. To influence the tempo check the enable tempo change button and choose a tempo. Furthermore, the text can cause an instrument change. To activate this check the enable instrument change button and select the new instrument. If you enable the channel change, then playing the note will cause the staff to change MIDI channel. If all is correct press "OK"! Then click at the position to place the arbitrary text on. For the Segno staff please refer to the Segno section. Special letters &nted; allowes you to place special letters like coda inside the text: D.S. al \O --> The following table gives an overview about the possible signs: \O \S \# \b \n \o \c \r \p \.non breaking space \...dots \--dash Change the position of the text To move an arbitrary text make sure &nted; is in edit mode (see The 3 modes). Select the text by left clicking the text start . The text appears in red. Hold left mouse button and move the mouse. The text moves accordingly. Although the arbitrary text appears to be free replaceable, it is always assigned to a symbol. The symbol is shown by a thin light blue line: the assignment of arbitrary text This has consequences: &nted; tries to keep the position of the arbitrary text relative to the symbol it is assigned to; &nted; copies the text if the symbol it is assigned to is copied; &nted; removes the text if the symbol it is assigned to is removed; Changing the arbitrary text To change the text right click the text. The text dialog appears again. Thus, you can change the text and its properties. Removing arbitrary text To remove text make sure &nted; is in edit mode (see The 3 modes). Select the text by left clicking it. The selected text appears in red. Press Backspace key and the text vanishes. Accelerato, Ritardando Inserting Accelerato/Ritardando To insert an accelerando or ritardando make sure &nted; is in insert mode (see The 3 modes). Choose: Insert accelerando or. Insert ritardando Left click the position where the accelerando or ritardando shall appear: an ritardando is created As you can see the accelerando (ritardando) has 3 handles. By left clicking and dragging these handles you can determine the position and influence range: an ritardando is placed If you want an accelerando or ritardando who's influence range spans multiple staves first move the start or end point vertically, even if the handle does not immedietely follow the mouse cursor! create multi stave ritardando Note! The middle handle determins the position of the marker. The left and right handle only determin the horizontal position of the influence range! The influence range is not visible if the accelerando or ritardando isn't selected. Modifiying accelerando or ritardando Although the accelerando(ritardando) handles appear to be free replaceable, they are always assigned to a symbol. The symbol is shown by a thin light blue line: the assignment of the ritardando handles This has consequences: &nted; tries to keep the position of the accelerando(ritardando) handle relative to the symbol it is assigned to; &nted; removes the accelerando(ritardando) if the symbol it is assigned to is removed; &nted; influences the MIDI replay of the appropriate staff; To change a influence range and position of the accelerando(ritardando) marker make sure &nted; is in edit mode (see The 3 modes). Select the marker with left mouse button. The 3 handles appear again: the selection of the ritardando handles Thus, you can change the influence range and the marker position again by dragging the 3 handles. To determine the MIDI behaviour of the accelerando or ritardando make sure &nted; is in edit mode (see The 3 modes). Select the accelerando or ritardando marker with right mouse button. The tempo dialog appears: the tempo dialog Define the MIDI tempo diffenrence of the accelerando or ritardando and press OK! Deleting an accelerando or ritardando To delete an accelerando or ritardando make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl key. Left click the accelerando or ritardando marker. The selected marker appears in red color. Press the backspace key and the accelerando(ritardando) will be deleted. Chordnames You can attach chord names to notes and rests. To do this make sure &nted; is in insert mode (see The 3 modes). Choose: Insert chordname ... The chord name dialog appears the chord name dialog Insert a root, an up text and a down text. Then choose a size and a position relative to note line and press OK. Then click at the position to place the chordname on: the chord name dialog &nted; allowes you to place special letters like the flat symbol inside the text: A\b --> The following table gives an overview about the possible signs: \O \S \# \b \n \o The chord name dialog remains open till you press Cancel. This way you can place the same chordname at multiple places. If you change the chord on dialog box the next mouse click will insert the new chord. Modifying an deleting chord names works similar to modifying and deleting arbitrary text. Chord names are exported to LilyPond. But LilyPond offers a limited number of modifiers. It is your responsibility to use only LilyPond conform chord names. Guitar chord diagrams and chord annotation &nted; offers chord annotation and guitar chord diagrams chord examples Use this feature only if you really want to show a guitar chord diagram or if LilyPond export is needed. To show a chord name use the Chordnames feature. LilyPond does not allow all chord modificators. The modificator remains empty if &nted; has to export such a chord name. To insert a chord annotation and/or a guitar chord diagram choose: Insert chord ... The chord selection dialog appears the chord dialog Choose a root and a modifyer. If you want to place a guitar chord diagram you should also select your preferred diagram by clicking on it in the right window. The guitar chord diagram is copied into the big left window. By means of the checkbox diagram you can determin whether the chord diagram is created on score. By means of the checkbox text you can determin whether a textual description of the chord is created created on score. This way you can choose between: only the chord diagram only the textual chord description (not recommended, use the Chordnames feature in this case) both, chord diagram and chord description Modifying an deleting chord annotations/chord diagrams works similar to modifying and deleting arbitrary text. Upbeats There are 2 possibilities to determine an upbeat. The first is mainly for newly written scores. Select the note or rest after the requested upbeat: prepare upbeat (give measure) Choose: Edit Upbeat ... give first measure &nted; changes the begin such a way, that the selected chord or rest is the first member of the first full measure: upbeat given (give measure) The 2nd procedure is mainly for scores with beginning rests. Select the note or rest which shall be the first element: prepare upbeat (give start) Choose: Edit Upbeat ... give start &nted; delets all before the selected element. Thus, the selected element becomes the first element. upbeat given (give start) The upbeat rules require to shorten the last measure by the upbeat duration. &nted; doesn't perform this automatically. To shorten the last measure mark all concerned rests in all voices as described in Select a block: mark the rests Choose: Tools hide rests (all v.) The appropriate rests become invisible: mark the rests See also: Hiding rests! Grace notes &nted; offers 3 types of grace notes: The grace notes To insert grace notes choose the appropriate note type on 2nd tooblox panel: The grace on toolbox Select a grace notes type and insert it as described in chapter Inserting/Deleting notes. To remove a grace note select the grace note as described in chapter Shifting notes and rests and press backspace key Lyrics Inserting lyrics You can attach up to 5 lines of lyrics to every note. You can use the same special characters as described in special letters in staff names. There are 2 ways: Direct writing or using the lyrics editor. Direct writing To insert lyrics direct, select a note and choose: Insert lyrics Choose a lyrics line bewteen 1 and 5. &nted; is in lyrics mode. Write a text on keyboard. The text appears below the note. Lyrics To skip to next note either press a - key or press space key. To place a space inside a syllable insert an underscore(_) or a non breaking space symbol(\.). Finish the lyrics mode with ESC. It is strongly recommended to fill the lyrics line from 1 to 5. Modifying lyrics To modify lyrics make sure &nted; is in edit mode (see The 3 modes). Select a note with lyrics and choose: Insert lyrics Choose the lyrics line to be modified. The lyrics cursor appears. You can move the lyrics cursor with left/right cursor key, You can insert a letter by pressing the appropriate key. You can delete a letter by pressing the backspace key. If you delete the last letter the lyrics of this line are removed from current note. Finish the lyrics mode with ESC. Lyrics editor The 2nd possibility is to use the lyrics editor. If there are more than 2 staves select an arbitrary element of the staff the lyrics shall attached to. Choose: Tools Lyrics editor The lyrics editor appears: The lyrics editor Select the verse by selecting a tab! Then insert the lyrics syllable by syllable. Every hyphen and every space is interpreted as separator. To leave on note blank place a single dot('.'). To place a space inside a syllable insert an underscore(_) or a non breaking space symbol(\.). You can save and load the verse by pressing the save to file or load from file, respectively. If all is correct press Apply or OK! Both will update the lyrics, but OK closes the lyrics editor. D.S./Capo al Coda/D.S./Capo al Fine An example of a D.S. al Coda could be as follows: the segno principle To place the Coda and Segno sign make sure &nted; is in insert/delete mode (see The 3 modes). Choose: Insert Insert sign ... The sign dialog appears: The sign dialog Choose the appropriate sign and click at the position to place the sign on! Modifying an deleting signs works similar to modifying and deleting arbitrary text. Then place a text like "D.S. al Coda" or "Repeat from Segno then Coda" als explained in Arbitrary text. To express these texts shall control the replay you have to choose the appropriate properties on text dialog: the segno on text dialog The same way you can create D.S. al Fine, Da Capo al Coda and Da Capo al Fine. See also: Arbitrary text. Breath Signs To place breath sign make sure &nted; is in insert/delete mode (see The 3 modes). Choose: Insert Insert sign ... The sign dialog appears: The sign dialog Choose the appropriate sign and click at the position to place the sign on! Deleting breath signs works similar to modifying and deleting arbitrary text. Transpose &nted; offers the transpose functionallity. If you want only a subset of notes to be transposed, then draw a selection rectangle as described in Select a block. Then choose: Tools Transpose ... The transposition dialog appears: The transposition dialog Choose the number of half-tones. If you drew a selection rectange the use selection box is active. You can determine whether or not to use the selection rectangle. If there is no selection rectangle you can select the staves to be transposed. Press OK and &nted; transposes the appropriate notes. It is your responsibility to change the key signature (see Change staff properties and Inserting key signature changes. Change Accidentals In some seldom cases it is desirable to change sharps against flats, and vice versa: change accidentals &nted; offers this functionallity. If you want only a subset of notes to be affected, then draw a selection rectangle as described in Select a block. Then choose: Tools set all to sharp ... or: Tools set all to flat ... The selection dialog appears: The selection dialog If you drew a selection rectange the use selection box is active. You can determine whether or not to use the selection rectangle. If there is no selection rectangle you can select the staves to be affacted. Press OK and &nted; changes the appropriate notes. Title, composer, and arranger To attach some score information (title, subject, composer, arranger, copyright) select: Edit Score info ... The score information dialog appears: The score information dialog Insert the name of the composer, arranger, the subject and the copyright and press OK. This information is shown at the first page of the score. Pages Page layout To change the page layout choose: File Configure Paper ... Choose A3, A4, A5, B4, Letter, Legal, or 230x293 and the orientation (portrait or landscape). Navigation on pages &nted; presents the score on a seeming endless paper. You can move this paper in page mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Shift key. In page mode if you hold the left mouse button and move the mouse the paper moves accordingly. Furthermore you can jump to a certain page by using the page selector () ot the page up/down keys. Furthermore you can use the mouse wheel to navigate on page. Delete the last page If there is more than one page you can delete the last page. Choose: Edit Remove last page Remove empty pages at end Under some circumstances it can happen that there are some empty pages at score end, i.e. pages which consist of only rest. To delete these pages choose: Edit Remove empty pages Multiple windows and Excerpt Multiple windows &nted; allowes you to open as many windows as you want. This is useful if you want to compare two different scores or if you want to copy parts of one score to another score. To open a new window choose: File New Window a new window appears: A new window With the new window you can do all you could do with the first one. If you want to copy/paste between different windows please make shure both windows are in edit mode (see The 3 modes): copy/paste between 2 windows See also: Block instructions. To delete a window choose: File Close Window Extract a subset of staves &nted; allows you to copy a subset of staves into the 2nd window. To do this choose: File Excerpt ... The staff selection dialog appears: The staff selection dialog Select the subset of ataves, to be copied. To select more than 1 staff press Ctrl during selection. To select a range of staves press and hold Shift. Then select the first and the last staff of the range. Press Ok! The subset of staves is copied into a 2nd window: the excerpt Scaling the whole score &nted; allowes you to continously scale the score. As a result you get different note sizes: scaling the score To scale the score choose: File Change Scale ... The scale dialog appears: the scale dialog Determine the scaling factor and press OK! Documentation To consult the documentation choose Help Documentation ... The documentation is availabe only if the following programs were installed during ./configure step on your system: yelp from GNOME project (package gnome-extra) xmlto Save and restore Save To save your score choose: File Save as... Choose a file name on dialog and press OK! The default suffix is .ntd. To save a file which was already stored before choose: File Save Restore To restore a previous saved score choose: File Open ... Choose a file name on dialog and press OK! New file To start with a totally new (empty) score choose: File New Terminate program To terminate the program choose: File Exit Printing, exports, Karaoke and imports Configuration &nted; assumes that: lpr <file>.ps prints a PostScript file named <file>.ps on your system. If this isn't the case then configure the printing command. Choose: Edit Preferences Configure Print ... On dialog textfield you should see: lpr %s The %s will be replaced by the name of a PostScript file. Change this string according to your needs. For instance: If you want to use the kprinter from KDE then change the string to: kprinter %s and press OK! If all is configured then choose: File Print Export PostScript You can export the score as PostScript. Choose: File Export PS... Select a file name on dialog and press OK. Because most printers are able to print PostScript files you can print this file using your preferred printing command (lpr, kprinter, ...) Export PDF The PDF is available only if your Cairo library supports PDF. You can export the score as PDF. Choose: File Export PDF... Select a file name on dialog and press OK. Because many printers are able to print PDF files you can print this file using your preferred printing command (lpr, kprinter, ...) Export MIDI You can export the score as MIDI data. Choose: File Export MIDI... Select a file name on dialog and press OK. Karaoke If the score contains lyrics &nted; exports them to MIDI. This causes many midi players among them kmid to show a Karaoke-like behaviour: Karaoke with kmid Import MusicXML You can import a MusicXML file. Choose: File Import MusicXML... Select a file name on dialog and press OK. There is a bug in NoteEdit which concerns the export of multivoice staves into MusicXML. As a result NtEd has problems importing such files. To solve the problem NoteEdit must be patched. See http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/noteedit_musml_patch.html for more information. Export PNG and SVG &nted; can export the current page to PNG (Portbale Network Graphics) and SVG (Scaleable Vector Graphics). The current page is the page shown in page counter. Both formats are very useful for WEB publishing or graphic related tasks. Many text processors allow embendding PNG and/or SVG graphics. Especially the SVG format - an XML instance - is very useful because - as the name indicates - it is scaleable without strange effects which are usually visible in scaled pixel graphics. The SVG export is available only if your Cairo library supports SVG. Choose: File Export PNG ... or File Export SVG ... Choose a file name and press OK! The size of the PNG/SVG image depends on the current zoom factor. Export LilyPond LilyPond (http://lilypond.org/) is cetrainly the music typesetter with the best output. This mainly for 2 reasons: The developers made a lot of effort to create special music fonts, which are derived from traditional music printing. They even created their own tools for font format conversion to get the best results. LilyPond uses a multi pass technique which takes as much time as necessary to perform an excellent placement of the musical symbols. Furthermore, LilyPond has a lot of music orthographical knowledge, which prevents notation errors. LilyPond creates a PostScript or PDF output from a file which contains a text transcription of the music. For example, the input: \relative c' { \clef treble \key d \major d4 e fis g a b cis d } causes the following output: &nted; Mainwindow &nted; can create the LilyPond text transcription. Choose: File Export LilyPond... The LilyPond export dialog appears: LilyPond export dialog On checkbox at the head you can determine whether or not &nted; shall place \break statments to achieve the same line breaks as in &nted; score. If you want to export a subset of staves press the select staves button. The staff selection dialog appears: the staff selection dialog Select a subset of staves. To select more than 1 staff press Ctrl during selection. To select a range of staves press and hold Shift. Then select the first and the last staff of the range. LilyPond has its own beaming rules. Therefore, the LilyPond beaming differs from &nted;-beaming. If you want the same beams as in &nted; then select the keep beams button. Select the staves to keep the beams for and press OK. Choose a File name - the suffix should be .ly - and press OK. To produce a PostScript or PDF output from this file install LilyPond and type: lilypond <filename>.ly To preview and/or print the output use your preferred view/print commands (gv, ggv, evince, xpdf, lpr, kprinter, ...). As mentioned above, LilyPond uses its own placement strategie and its own fonts. As a consequence the WYSIWYG principle is broken. The output differs from &nted; score. Import MIDI &nted; can (try to) construct a score from a MIDI file. Note! There are many scores which would generate the same MIDI data. Therefore the MIDI to score transformation is ambiguous. To import a MIDI file choose File Import MIDI ... The MIDI import dialog appears: MIDI import dialog Decide whether &nted; shall try to recognize triplets! The 2 sliders allow you to influence the density of tempo and volume signs. A value of 0 means "no signs". If you choose 100 it can happen that almost every note has a volume or tempo sign. Often, MIDI files have tracks which comprise a very large range of pitches. Placing these notes in one staff leads to bad output: MIDI program changes Therefore, the normal behaviour of &nted; is to split these tracks: MIDI program changes But somtimes this is unwanted. Espacially, if the MIDI file has already well splitted tracks. Use the don't split tracks button in this case. The button force piano forces a score with 2 staves per system. The button sort instruments is useful for MIDI files where all or many instruments are placed in one track. For example, in following MIDI file a piano and a flute appear in the same track: MIDI program changes The red bullets represent a special MIDI operator called MIDI program change which advises the device to change the instrument. Thus, theoretically a MIDI file can place a whole orchestra in one track. Files produced by keyboards are often of this kind. &nted; would actually place all notes in one staff and attach the first given instrument to this staff. If sort instruments is active it sorts the instruments into different staves: sorted MIDI program changes In most cases the default button state gives good results. But if the score looks strange or the replay differs dramatically from MIDI sound then try to play with the buttons to improve the score. Select the MIDI file and press OK! On last dialog you can determine the paper size and orientation. Inserting notes with pitch determined by midi keyboard If a MIDI keyboard is attached to your soundcard you can determine the pitch of the notes by pressing the appropriate key on MIDI keyboard. To do this you should first test the MIDI IN device. To do this switch on MIDI echo (see Prepare replay) and press the MIDI read button ()! Move the mouse pointer over an arbitrary staff! It is important to move the mouse over a staff because this way you determine the instrument which playes the tone! If you now press a key on midikeyboard you should hear the appropriate tone played by the instrument attached to the staff the mouse is placed over (see the MIDI panel). If not then configure the MIDI input device: Edit Preferences Configure MIDI in... A menu appears that shows all midi input ports. Select one and press OK. If the port doesn't work try a different port. If all works then press moreover the insert key () and the keyboard insertion button (). If you now place the mouse at a certain position on a staff the notes you play on midikeyboard are inserted. Note! The keys determine the pitch not the length! The length of the notes are set like described in Inserting/Deleting notes. To terminate this mode switch off the MIDI read button()! Creating score form playing midi keyboard If a MIDI keyboard is attached to your soundcard you can play on it and &nted; can (try to) convert this piece of music into notes. Before you do this you should ensure the replay works. Otherwise you can't hear the metronome. See: Prepare replay, and eventually the TiMidity server and the eventually the appropriate question in FAQ. Furthermore ensure the midi input works and you have selected the correct MIDI input port. See: Inserting notes with pitch determined by midi keyboard. If all works then make sure &nted; is in edit mode (see The 3 modes). Then select a note or rest with left mouse button! The selected chord or rest should appear in red. The new notes will be inserted exactly at this position. Then configure the recording parameters: File Configure Record ... The MIDI record configure dialog appears: The MIDI record config dialog The instrument, time signature and key signature should match the values of the staff with the selected chord or rest. You can change these values but it is not recommended. The button triplet recognition determins whether or not &nted; shall (try to) recognize triplets. The button force piano forces a system with piano layout. Perhaps your piece of music comprises a very large range of pitches. Placing these notes in one staff leads to bad output: MIDI program changes Therefore, the normal behaviour of &nted; is to split the staff MIDI program changes But somtimes this is unwanted. Use the don't split tracks button in this case. The tempo slider determins the recording tempo (i.e. the tempo of the metronome) in quarters per minute. The volume slider determins the volume of the metronome. If all is correct then press Ok! Now press the MIDI record button (). You should hear the metronome ticks. The ticks mean halfs, quarters, eighths, or sixteenths, depending on the denominator of your time signature. The metronome plays 1 deep tick and N-1 high ticks, whereby N is the numerator of your time signature. After N ticks one measure is over and the replay begins. Play as exactly as possible according to the metronome. At the end press the MIDI record button () again. The paper dialog appears. Choose a paper format and press Ok! The imported staff appears in a new &nted; window. Here you can correct some errors or close the window if the recording is too bad. Instead of pressing the record button () you can press the i on PC keyboard. If all is correct then bring the window with the selected chord or rest on top again. Choose: Insert Import recorded The notes in imported staff are copied to the staff with the selected chord or rest. After that it is recommended to close the import window. Now you can continue importing at the same staff by selecting an element behind the end of your piece. Or you can append a new staff and record a new instrument. Replay Prepare replay To hear my examples please use the soundfont mentioned here: http://alsa.opensrc.org/8MBGMSFX.SF2! For more information about how to use the SF2 file read the appropriate question in FAQ or read about the configuration of the TiMidity server. To prepare the replay choose: Edit Preferences Configure MIDI out... A menu appears that shows all midi output ports. Select one and press OK. If the port doesn't work try a different port. If nothing helps then refer to the approriate question in FAQ. The midi echo checkbox determins whether or not there is a midi echo if you insert a note. Start replay To start the replay press the play button (). To stop replay press the play button again. To start the replay at a certain position select a note first. To do this make sure &nted; is in edit mode (see The 3 modes). Then select a note (not a rest!) with left mouse button! Press the play button ()! Muting It is possible to exclude a subset of staves from replay. To do this choose: Tools Muting ... The mute dialog appears: &nted; Mainwindow Select the staves to be muted and press OK. To mute some voices of a certain staff refer to Staves. Shortcuts keyoperation Istart/stop record from MIDI keyboard NToggle insert insert/delete mode PToggle page mode RToggle rest KToggle keyboard insertion DELDelete a note from chord ,Insert tie (method 2) Ctrl AAppend a staff Ctrl BAppend a system Ctrl Jhandle beams (see Handling beams) Ctrl Fflip stem direction Ctrl Rhide rests Ctrl Uunhide rests cursor upmove selected note a line up cursor downmove selected note a line down cursor leftselect note/rest before cursor rightselect note/rest after page upview next page page downview previous page backspacedelete selected note _Toggle tie button .Toggle dot button #Toggle sharp button -Toggle flat button =Toggle natural button 1set current length to full note 2set current length to half note 4set current length to quarter note 5set current length to eighth note 6set current length to sixteenth note 7set current length to 32th note 8set current length to 64th note Ctrl +zoom in Ctrl -zoom out Ctrl Ccopy block Ctrl Vpaste block Ctrl Xdelete block Ctrl Eempty block Ctrl Zundo Ctrl Yredo Ctrl Hinsert slur Ctrl + <num>create tuplet (method 1) Ctrl + ALt + <num>create tuplet (method 2) Shift + CursorUpincrease spacment of measure Shift + CursorDowndecrease spacment of measure Furthermore if the num light on num pad is off: The num pad keys shadow the toolbox keys (see The toolbox). Configuration File &nted; stores the current configuration (MIDI port, last opened files, print command) at $HOME/.nted/ntedrc Attention: Pulseaudio Unfortunately, the next chapter about The TiMidity server won't work if you have a new sound technology called pulseaudio. This concerns Fedora 11 users and Ubuntu 9.10 users and possibly others. If you use the soundfont mentioned at http://alsa.opensrc.org/8MBGMSFX.SF2, you'll experience some awful effects like distortion or no sound, at all. To find out whether you have a pulseaudio or not do: which pulseaudio If you get a path as answer you have pulseaudio. The only workaround is to compile your own TiMidity++. To do this load the newest source from: http://timidity.sourceforge.net/#download" Extract and configure the source: tar -xvjf TiMidity++-x.y.z.tar.bz2 cd TiMidity++-x.y.z ./configure --enable-audio=alsa --enable-server --enable-alsaseq make su (give password if requested) make install exit Now you have possibly 2 timidities: One pulsaudio dependent at /usr/bin/timidity and the newly compiled and pulsaudio independent /usr/local/bin/timidity. Use the pulsaudio independent timidity! A good idea is to prepare a command. You should as root copy the soundfont at a certain position: cd /usr/share mkdir sfbank chmod 0755 sfbank cd sfbank cp /<somewhere>/8mbgmsfx.sf2 . echo 'dir /usr/share/sfbank' >timidity.cfg echo 'soundfont 8mbgmsfx.sf2' >> timidity.cfg chmod 0644 8mbgmsfx.sf2 timidity.cfg cd /usr/bin echo '#!/bin/bash' > alsatimidity.sh echo '' >> alsatimidity.sh echo '/usr/local/bin/timidity -c /usr/share/sfbank/timidity.cfg -iA -B2,8 -Os1l -s 44100' >> alsatimidity.sh chmod 0755 alsatimidity.sh Now the call alsatimidity.sh should start the timidity in server mode. If the sound problems remain remove the pulsaudio package from your system! The TiMidity server All what is stated does not work if you have a technology called pulseaudio. This concerns Fedora 11 users and Ubuntu 9.10 users and possibly others. Please refer to the Pulseaudio chapter to learn more! You can use the MIDI to WAVE converter and player TiMidity++ ( http://timidity.sourceforge.net) in server mode. This approach is interesting for all those who can't bring the MIDI device to work. A presupposition is that TiMidity++ is compiled with (at least) the options: Whether or not your TiMidity++ is compiled with these options can be determined by starting it with Option:          timidity -iA -B2,8 -Os1l -s 44100     If it says: "-A option not compiled in" then compile it "by hand" as stated above. You should also try to change "the orchestra" by installing a different soundfont. To get such a soundfont you should first have a look at the CDROM shipped with your soundcard. Perhaps you find there a file with suffix .sf2. But be careful: Make sure it is a General MIDI file! If not then load the soundfile mentioned at http://alsa.opensrc.org/8MBGMSFX.SF2. Download it and in /usr/share/timidity/timidity.cfg (or /usr/local/share/timidity/timidity.cfg) change:      dir <path_to_the_directory_there_the_8MBGMSFX.SF2_file_is_situated> and:      soundfont 8MBGMSFX.SF2 Comment all other lines! If all is ok, you can start TiMidity++ with:          timidity -iA -B2,8 -Os1l -s 44100     Select the configure dialog: Configure Configure... You should see 4 new MIDI devices: Timidity port 0 128:0 Timidity port 1 128:1 Timidity port 2 128:2 Timidity port 3 128:3 Choose one of them and the replay should work! Tip: If the replay interrupts during page turn over then start TiMidity++ as root. This increases the priority of the TiMidity++ process. Use the following command in this case:      timidity --realtime-priority=100 -iA -B2,8 -Os1l -s 44100 This can lead to operating system problems if your CPU performance is too small! If so, then try to decrease the priority and/or the frequency:      timidity --realtime-priority=60 -iA -B2,8 -Os1l -s 22050 Sometimes it helps to increase the number of buffer fragments:          timidity -iA -B8,8 -Os1l -s 22050     If you want a different sound have a look at the Hammersound install page. Hammersound install page For my examples I recommend the soundfont mentioned at TiMidity server page. But you can test other soundfonts at http://www.hammersound.net/, for example the FluidR3 soundfont. To do this search for FluidR3122501.zip at http://www.hammersound.net and download it. This soundfont is in sfArk compression format. Download the decompressor from http://www.melodymachine.com and unpack:      tar -xvzf sfarkxtc_lx86.tar.gz Then decompress the archive FluidR3122501.zip (Because of the spaces in file name the apostrophs are necessary):      unzip FluidR3122501.zip      ./sfarkxtc "FluidR3 GM.sfArk" It is recommended to rename the resulting fileFluidR3 GM.SF2 because the Linux shell has problems dealing with spaces in file names:      mv "FluidR3 GM.SF2" FluidR3.sf2 Then in /usr/share/timidity/timidity.cfg (or /usr/local/share/timidity/timidity.cfg) change:      dir <path_to_the_directory_there_the_FluidR3.sf2_file_is_situated> and:      soundfont FluidR3.sf2 Start TiMidity as mentioned at TiMidity server page. Credits and License &nted; Copyright 2007 Jörg Anders This documentation is licensed under the terms of the GNU Free Documentation License. This program is licensed under the terms of the GNU General Public License. Frequently Asked Questions (FAQ) I can't hear any sound! I see the running red notes but there is no sound! What's wrong? This has nothing to do with &nted;! It is a problem of your MIDI device! All MIDI based applications (for instance kmid (not kmidi !!!) or pmidi) will fail! First of all: Try to play a MIDI file with kmid (not (!!!) kmidi). As long as kmid does not produce any sound, &nted; (and any other MIDI device based software) will not produce any sound, too! The reason is: Either your soundcard has no hardware MIDI synthesizer or it has a hardware MIDI synthesizer but it is not supported by Linux. Please refer to the ALSA project page to find out whether the midi device on your sound card is supported. Before making a lot of effort to emulate the hardware synthesizer by software you should search for a soundfont file on the CD shipped with your soundcard. A soundfont file has the suffix .sf2 or .SF2. Please make sure it is a General MIDI soundfont! If there is such a soundfont file there is a high probability you simply have to load the soundfont onto your soundcard. To to this you need a program called asfxload. Simply type: asfxload <soundfont>.sf2 But even if you cannot find a soundfont file on soundcard CD, you can try to download a soundfont file. I recommand the soundfont mentioned at http://alsa.opensrc.org/8MBGMSFX.SF2. If asfxload fails your soundcard does not permit loading a soundfont. There is still a last chance that not all needed moduls are loaded. So as a last attempt type as root: modprobe snd_seq_midi and repeat the asfxload command. If asfxload fails again you have to emulate the hardware MIDI synthesizer by software. This works if your computer has enough performance. Windows for instances starts a soft synthesizer automatically if the hardware synthesis does not work. So, be not confused if you can play MIDI files on Windows! Such emulation software exists for Linux, too. But it is more complicated because: You have to start this software "by hand". These software MIDI synthesizers need a so-called soundfont, a collection of sample tones of every instrument of a virtual orchestra. These soundfonts are copyrighted, i.e. actually nothing for a free system like Linux. But there is a (relatively bulky) way! See The TiMidity server detailed instructions! Note! There are more software synthesizers on Linux, which can be tested. Among them the FluidSynth. See http://www.linux-sound.org for a list. You should avoid soft synthesis if the performance of your computer is too small! The antialiasing procedure (smoothing the symbols) of &nted; consumes a lot of performance, and soft synthesis, too! As a result the replay can be uneven especially during page turn over! I use TiMidity but the sound is distorted and somtimes I have no sound, at all. What's wrong? Check whether you have a command pulseaudio: which pulseaudio If you get the path of pulseaudio then follow the instructions in chapter pulseaudio At program start it says: "Error in FT_Open_Face"! What's wrong! You have not installed the program! Please type (as root): make install Refer also to INSTALL file shipped with the nted-x.y.z.tgz archive. I use asfxload but I get an error "sfxload: no memory left" and some instruments are missing during replay. What's wrong? Don't believe the many rumours on different mailing lists! I have bad news for you: You have to build a new kernel. Terrible, I know! If you feel unable to do this then try to use the TiMidity server. Otherwise download the kernel and change in arch/x86/include/asm/dma.h: #define MAX_DMA32_PFN ((4UL * 1024 * 1024 * 1024) >> PAGE_SHIFT) against: #define MAX_DMA32_PFN ((2UL * 1024 * 1024 * 1024) >> PAGE_SHIFT) Then build the kernel! Refer to https://lists.ubuntu.com/archives/universe-bugs/2009-March/068812.html for more details! I cannot install &nted; because I have no root rights. What shall I do? You can use the option to install the &nted; in an arbitrary directory below your $HOME directory. Please refer also to INSTALL file shipped with the nted-x.y.z.tgz archive. Furthermore, if you want to avoid the make install command then set an environment variable NTED_FONT_DIR to the directory where the nted/ntedfont.pfa is situated. For instance, assume the ntedfont.pfa is at /home/smith/datafiles/nted/ntedfont.pfa type at command prompt: export NTED_FONT_DIR=/home/smith/datafiles if you have a bash or sh shell. If you're using a csh or tcsh type: setenv NTED_FONT_DIR /home/smith/datafiles To find out your shell type: echo $SHELL at command promt. May I set lyrics as text blocks below the sheet music? How can I use the score in common texts? This would require to write a musical score editor and a text editor! This is too complex! But have a look at: http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/use_nted_in_text.xhtml There you can find some proposals about that topic. During program startup I get an error: "Cannot open ALSA MIDI sequencer --> replay won't work ..."! What's wrong ? That means you either have no ALSA sound system. Or you have an ALSA sound system but for complicated reasons your ALSA midi sequencer is not initialized. In many cases this is due to a missing module. Therefore try (as root): modprobe snd-seq-midi and restart &nted;. During make step an error occurs: /bin/sh: gdk-pixbuf-csource: command not found. What's wrong ? This has to do with your PATH environment variable. Many Linuxes place the program gdk-pixbuf-csource at /opt/gnome/bin. Actually this should be in your PATH. But under certain circumstances this is not the case. If so then make sure /opt/gnome/bin is in your PATH. If you have a (t)csh shell type: setenv PATH "$PATH:/opt/gnome/bin" If you have another shell type: export PATH=$PATH:/opt/gnome/bin To determine your shell type: echo $SHELL During configure step I get an error: "configure: error: C++ compiler cannot create executables, See `config.log' for more details.". What's wrong? Ok, you can inspect the config.log. But this is presumably superfluous, because in most cases that means: You have no C++ compiler installed.
nted-1.10.18/doc/Makefile.in0000664001041000007640000004422611520267353012362 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ ######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = templates docimages en de it es fr DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_LIBS = @ALSA_LIBS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ IMAGE2HEADER = @IMAGE2HEADER@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PO2XML = @PO2XML@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ X11_CFLAGS = @X11_CFLAGS@ X11_LIBS = @X11_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XML2POT = @XML2POT@ XMLTO = @XMLTO@ YELP = @YELP@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @MAKE_DOCS_TRUE@SUBDIRS = templates docimages en de it es fr all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic ctags \ ctags-recursive distclean distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: nted-1.10.18/doc/it/0000775001041000007640000000000011520270236010773 500000000000000nted-1.10.18/doc/it/Makefile.am0000775001041000007640000000230011520267216012751 00000000000000######################################################################################### # # # 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 the Free Software # # Foundation; either version 2 of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along with this # # program; (See "COPYING"). If not, If not, see . # # # #---------------------------------------------------------------------------------------# # # # Copyright Joerg Anders, TU Chemnitz, Fakultaet fuer Informatik, GERMANY # # ja@informatik.tu-chemnitz.de # # # # # ######################################################################################### LANGUAGE = it include $(srcdir)/../translated-manual.mk nted-1.10.18/doc/it/it.po0000664001041000007640000110747011520270106011675 00000000000000# translation of it.po to Italiana # # Jörg Anders , 2008. # Mariano MARINI , 2008, 2009. msgid "" msgstr "" "Project-Id-Version: it\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2011-01-27 13:16+0000\n" "PO-Revision-Date: 2009-08-10 19:35+0200\n" "Last-Translator: Mariano MARINI \n" "Language-Team: American English \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 0.2\n" #. Tag: title #: index.docbook:11 #, no-c-format msgid "The &nted; Handbook" msgstr "Manuale di &nted;" #. Tag: author #: index.docbook:14 #, no-c-format msgid "JörgAnders" msgstr "JörgAnders" #. Tag: affiliation #: index.docbook:16 #, no-c-format msgid "" " TU-Chemnitz
j." "anders@informatik.tu-chemnitz.de
" msgstr "" " TU-Chemnitz
j." "anders@informatik.tu-chemnitz.de
" #. Tag: othercredit #: index.docbook:28 #, fuzzy, no-c-format msgid "Maximiliano" msgstr "MarianoMarini" #. Tag: contrib #: index.docbook:30 #, fuzzy, no-c-format msgid "Spanish translation" msgstr "Traduzione tedesca" #. Tag: email #: index.docbook:32 #, no-c-format msgid "mxgdvg@yahoo.it" msgstr "" #. Tag: othercredit #: index.docbook:35 #, no-c-format msgid "MarianoMarini" msgstr "MarianoMarini" #. Tag: contrib #: index.docbook:37 #, no-c-format msgid "Italien translation" msgstr "Traduzione italiana" #. Tag: email #: index.docbook:39 #, no-c-format msgid "mariano.marini@alice.itk" msgstr "mariano.marini@email.it" #. Tag: othercredit #: index.docbook:43 #, no-c-format msgid "" "JörgAnders" msgstr "" "JörgAnders" #. Tag: contrib #: index.docbook:45 #, no-c-format msgid "German translation" msgstr "Traduzione tedesca" #. Tag: email #: index.docbook:47 #, no-c-format msgid "ja@informatik.tu-chemnitz.de" msgstr "ja@informatik.tu-chemnitz.de" #. Tag: holder #: index.docbook:55 #, no-c-format msgid "Jörg Anders" msgstr "Jörg Anders" #. Tag: para #: index.docbook:60 #, no-c-format msgid "" "Permission is granted to copy, distribute and/or modify this document under " "the terms of the GNU Free Documentation License, Version 1.2 or any later " "version published by the Free Software Foundation; with no Invariant " "Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the " "license is included in the section entitled \"GNU " "Free Documentation License\"." msgstr "" "Secondo i termini della licenza GNU Free Documentation Licence Versione 1.2 " "o successive è permessa la copia, la distribuzione e/o modifica di questo " "documento senza la sezione delle costanti, i testi di copertina iniziali e " "finali. Una copia della licenza è inclusa nella sezione intitolata .\"GNU Free Documentation License\"." #. Tag: date #: index.docbook:67 #, no-c-format msgid "2010-09-28" msgstr "" #. Tag: releaseinfo #: index.docbook:68 #, no-c-format msgid "1.10.16" msgstr "" #. Tag: para #: index.docbook:71 #, no-c-format msgid "&nted; is a score editor for Linux" msgstr "&nted; è un redattore di spartiti per Linux" #. Tag: keyword #: index.docbook:76 #, no-c-format msgid "Gtk" msgstr "Gtk" #. Tag: keyword #: index.docbook:77 #, no-c-format msgid "&nted;" msgstr "&nted;" #. Tag: keyword #: index.docbook:78 #, no-c-format msgid "music" msgstr "musica" #. Tag: keyword #: index.docbook:79 #, no-c-format msgid "editor" msgstr "redattore" #. Tag: keyword #: index.docbook:80 #, no-c-format msgid "notes" msgstr "note" #. Tag: keyword #: index.docbook:81 #, no-c-format msgid "score" msgstr "spartito" #. Tag: keyword #: index.docbook:82 #, no-c-format msgid "MIDI" msgstr "MIDI" #. Tag: title #: index.docbook:87 #, no-c-format msgid "Using &nted;" msgstr "Uso di &nted;" #. Tag: title #: index.docbook:89 #, no-c-format msgid "Starting &nted;" msgstr "Avvio di &nted;" #. Tag: para #: index.docbook:91 #, no-c-format msgid "This chapter describes the use of &nted; for editing notes." msgstr "" "Questo capitolo descrive l'uso di &nted; l'inserimento e modifica delle note." #. Tag: para #: index.docbook:93 #, no-c-format msgid "You may start &nted; by entering the following at the command prompt:" msgstr "Si può avviare &nted; dalla linea di comando digitando:" #. Tag: para #: index.docbook:96 #, no-c-format msgid "% nted &" msgstr "% nted &" #. Tag: para #: index.docbook:100 #, no-c-format msgid "Once &nted; starts, you will see a window like the following:" msgstr "All'avvio compare una finestra come questa:" #. Tag: phrase #: index.docbook:105 index.docbook:3247 index.docbook:3593 #, no-c-format msgid "&nted; Mainwindow" msgstr "&nted; Mainwindow" #. Tag: title #: index.docbook:112 #, no-c-format msgid "The first sound" msgstr "Il primo suono" #. Tag: para #: index.docbook:113 index.docbook:3544 #, no-c-format msgid "" "To hear my examples please use the soundfont mentioned here: http://alsa.opensrc.org/8MBGMSFX." "SF2!" msgstr "" "Per udire gli esempi è opportuno usare i campionamenti menzionati qui: " "http://alsa.opensrc." "org/8MBGMSFX.SF2!" #. Tag: para #: index.docbook:115 index.docbook:3546 #, no-c-format msgid "" "For more information about how to use the SF2 file read the appropriate " "question in FAQ or read about the " "configuration of the TiMidity server." msgstr "" "Per ulteriori informazioni in merito all'uso dei file SF2 leggere la domanda " "relativa in FAQ o leggere TiMidity server per la sua configurazione." #. Tag: para #: index.docbook:119 #, no-c-format msgid "To hear a short example choose:" msgstr "Per ascoltare una breve esempio scegli:" #. Tag: menuchoice #: index.docbook:121 index.docbook:3050 #, no-c-format msgid "" "File Open ..." msgstr "" "Archivio Carica ..." #. Tag: para #: index.docbook:126 #, no-c-format msgid "" "Choose datafiles/nted/examples/example1.ntd on dialog " "and press OK!" msgstr "" "Scegliere datafiles/nted/examples/example1.ntd nella " "finestra di dialogo e premere OK!" #. Tag: para #: index.docbook:127 #, no-c-format msgid "" "The examples are installed during installation step. So, if you can't find " "the examples especially if you installed from a package then search at" msgstr "" "Gli esempi vengono copiati durante la procedura di installazione. Quindi, se " "non si trovano, specialmente se l'installazione è stata eseguita da un " "pacchetto, allora cercare in " #. Tag: filename #: index.docbook:129 #, no-c-format msgid "/usr/share/nted/examples" msgstr "/usr/share/nted/examples" #. Tag: para #: index.docbook:130 index.docbook:487 index.docbook:2792 #, no-c-format msgid "or:" msgstr "o:" #. Tag: filename #: index.docbook:131 #, no-c-format msgid "/usr/local/share/nted/examples" msgstr "/usr/local/share/nted/examples" #. Tag: para #: index.docbook:132 #, no-c-format msgid "You should see a score. Choose a MIDI port:" msgstr "Si dovrebbe vedere uno spartito. Scegliere una porta MIDI:" #. Tag: menuchoice #: index.docbook:134 #, fuzzy, no-c-format msgid "" "Edit Preferences Configure MIDI ..." msgstr "" "Modifica Battuta in levare ... indica inizio" #. Tag: para #: index.docbook:140 #, no-c-format msgid "" "and press the play button (). You should see running red notes and hear the sound. If " "you don't hear the sound then choose a different MIDI port. If nothing helps " "then refer to the approriate question in FAQ." msgstr "" "e premere il pulsante suona(). Si dovrebbe vedere una nota rossa spostarsi e sentirne " "il suono. Se son si sente alcun suono allora scegliere una porta MIDI " "diversa. Se ancora non accade nulla riferirsi alla domanda relativa in FAQ." #. Tag: title #: index.docbook:147 #, no-c-format msgid "The toolbox" msgstr "La Cassetta degli Attrezzi" #. Tag: para #: index.docbook:149 #, no-c-format msgid "" "The toolbox is a little window which appears always on top of all other " "&nted; windows:" msgstr "" "La cassetta degli attrezzi è una piccola finestra che appare sempre davanti " "alle altre finestre di &nted;" #. Tag: phrase #: index.docbook:154 #, no-c-format msgid "The toolbox" msgstr "Cassetta degli attrezzi" #. Tag: para #: index.docbook:158 #, no-c-format msgid "" "If the toolbox vanishes you can make it visible again by pressing the " "toolbox button ( )." msgstr "" "Se sparisce la cassetta degli attrezzi si può renderla di nuovo visibile " "premendo il pulsante relativo ():" #. Tag: para #: index.docbook:161 #, no-c-format msgid "The toolbox has multiple panels:" msgstr "La cassetta degli attrezzi ha diversi pannelli:" #. Tag: phrase #: index.docbook:167 #, no-c-format msgid "The toolbox panels" msgstr "Pannelli della Cassetta degli Attrezzi" #. Tag: para #: index.docbook:171 #, no-c-format msgid "" "To change the panel either user the next panel button " "() or the previous " "panel button ()." msgstr "" "Per cambiare pannello premere il pulsante successivo " "() oppure " "precedente ()." #. Tag: para #: index.docbook:175 #, no-c-format msgid "" "Alternatively, you can use the direct panel buttons on top of the toolbox:" msgstr "" "In alternativa si possono usare i pusanti diretti del pannello in alto della " "cassetta degli attrezzi:" #. Tag: phrase #: index.docbook:181 #, no-c-format msgid "The direct panel buttons" msgstr "I Pulsanti di accesso diretto ai pannelli" #. Tag: para #: index.docbook:185 #, no-c-format msgid "" "The different panels offer buttons concerning different fields of score " "notation." msgstr "" "I diversi pannelli offrono una serie di pulsanti relativi ai diversi campi " "della notazione degli spartiti." #. Tag: para #: index.docbook:186 #, no-c-format msgid "Furthermore, each panel is structured like your keyboard's num pad:" msgstr "Inoltre ogni pannello è strutturato come il tastierino numerico:" #. Tag: phrase #: index.docbook:193 #, no-c-format msgid "the toolbox and the numpad" msgstr "La cassetta degli attrezzi e il tastierino numerico" #. Tag: para #: index.docbook:197 #, fuzzy, no-c-format msgid "" "Instead of pressing a button at the toolbox, you can press the appropriate " "button on numpad. For instance: If you want half notes, make sure the " "num light is off and choose the first " "toolbox panel. Then press 4 on num pad. The " "half note button is selected." msgstr "" "Invece di premere il pulsante della scatola degli attrezzisi può premere il " "relativo tasto del tastierino numerico. Per esempio: Se si vuole una minima, " "assicurarsi che il led num sia spenta e " "scegliere il primo pannella della cassetta degli attrezzi. Quindi premere il " "tasto 5 del tastierino per selezionare il " "pulsante della nota minima." #. Tag: para #: index.docbook:202 #, fuzzy, no-c-format msgid "" "Furthermore: Some keys (rest, tie, sharp, flat, natural, dot) can be toogled " "by keyboard keys independent on the actual panel, see shortcuts." msgstr "" "Inoltre: Alcuni tasti (pausa, legatura, diesis, bemolle, naturale, punto) " "possono essere attivati dai tasti della tastiera indipendentemente dal " "pannello attualmente attivo. Vedere scorciatoie." #. Tag: title #: index.docbook:207 #, no-c-format msgid "Inserting notes and rests" msgstr "Inserire note e pause" #. Tag: title #: index.docbook:210 #, no-c-format msgid "The 3 modes" msgstr "Le 3 modalità" #. Tag: para #: index.docbook:211 #, no-c-format msgid "" "&nted; is always in one of 3 modes. The mode is determined by the insert and " "page button pair. At start the insert button is on and the page button is " "off (). &nted; " "is in insert/delete mode. If you toggle off the insert/delete button by " "clicking it or pressing the 'n' key you are in edit mode " "(). If you " "toggle on the page button by clicking it or pressing the 'p' key you are in " "page mode ()." msgstr "" "&nted; si trova sempre in una delle 3 modalità possibili. La modalità è " "determinata dalla coppia di pulsanti inserire e pagina. All'avvio il " "pulsante inserire è attivo e quello pagina disattivato." "(). &nted; " "si trova nella modalità di inserimento/cancellazione, se disattivate il " "pulsante inserire, cliccandoci sopra o premendo il tasto 'n', abilitate la " "modalità di modifica(). (). Se attivate il pulsante pagina, cliccandoci sopra o " "premendo il tasto 'p', abilitate la modalità pagina " #. Tag: para #: index.docbook:220 #, no-c-format msgid "" "Furthermore you can temporarily achieve the edit mode by pressing the Ctrl " "key during mouse action. You can also temporarily achieve the page mode by " "pressing the Shift key during mouse action." msgstr "" "Successivamente si può attivare la modalità di modifica premendo il tasto " "Ctrl mentre si aziona il mouse. Similmente la modalità pagina si può " "attivare premendo il tasto Shift durante l'uso del mouse." #. Tag: para #: index.docbook:228 #, no-c-format msgid "In insert/delete mode you can insert and delete notes and rests." msgstr "" "Nella modalità inserire/cancellare si possono inserire e /o cancellare le " "note e le pause." #. Tag: para #: index.docbook:231 #, no-c-format msgid "In edit mode you can modify the score." msgstr "Nella modalità modifica si può modificare lo spartito." #. Tag: para #: index.docbook:234 #, no-c-format msgid "In page mode you can shift the paper by moving the mouse." msgstr "Nella modalità pagina si può far scorrere il foglio muovendo il mouse." #. Tag: title #: index.docbook:241 #, no-c-format msgid "Inserting/Deleting notes" msgstr "Inserire/Eliminare note" #. Tag: para #: index.docbook:242 #, no-c-format msgid "" "Be sure &nted; is in insert/delete mode (see The " "3 modes). To insert notes choose a note length on first toolbox panel:" msgstr "" "Assicurarsi che &nted; sia in modalità \"inserimento/modifica\" (vedere " "Le 3 modalità). Per inserire le note " "scegliere prima la lunghezza dal primo pannello della Casseta degli Attrezzi:" #. Tag: phrase #: index.docbook:248 index.docbook:262 #, no-c-format msgid "The note length" msgstr "La lunghezza della nota" #. Tag: para #: index.docbook:251 #, fuzzy, no-c-format msgid "" "and click on a note line. If you click near an existing note a chord is " "created. If you click on an existing note the note is removed. To delete a " "note you can also use the backspace key. To delete a single note from chord " "use the DEL key." msgstr "" "e cliccare sopra la linea di una nota. Se si clicca vicino ad una nota " "esistente verrà creato un accordo. Se si clicca sopra una nota esistente la " "nota precedente viene cancellata. Per cancellare una nota si può usare il " "tato backspace." #. Tag: para #: index.docbook:256 #, no-c-format msgid "" "If you want to insert a note with an accidental choose an accidental on 2nd " "and/or 3rd toolbox panel:" msgstr "" "Se si vuole inserire una nota con accidente, lo si scelga dal 2° e/o 3° " "pannello della cassetta degli attrezzi:" #. Tag: para #: index.docbook:265 #, no-c-format msgid "" "(see also Handling beams, Handling stems)." msgstr "" "(vedere anche Manipolare stanghette)" #. Tag: title #: index.docbook:270 #, no-c-format msgid "Inserting drum notes" msgstr "Inserire una nota delle percussioni" #. Tag: para #: index.docbook:271 #, fuzzy, no-c-format msgid "" "&nted; offers different note head types. Choose one at 5th toolbox panel:" msgstr "" "&nted; offre diversi tipi di testa della nota. Sceglierne una dal 4° " "pannello della casetta degli attrezzi-" #. Tag: phrase #: index.docbook:276 #, no-c-format msgid "The note head types" msgstr "Tipo della testa della nota" #. Tag: para #: index.docbook:280 #, no-c-format msgid "" "Select a note head type and insert the drum note as described in chapter " "Inserting/Deleting notes." msgstr "" "Scegliete un tipo di testa della nota e posizionate la nota delle " "percussioni come spiegato nel capitolo Inserire/Eliminare le note." #. Tag: para #: index.docbook:282 #, no-c-format msgid "" "Note: The meaning of the drum notes depends on the choosen clef. Refer to clefs read about the the drum " "system." msgstr "" #. Tag: para #: index.docbook:285 index.docbook:892 #, no-c-format msgid "" "Note further: To get the drum sound you have to select a certain channel " "(often channel 10). See The MIDI Tab!" msgstr "" #. Tag: title #: index.docbook:290 #, fuzzy, no-c-format msgid "Inserting tremolo notes" msgstr "Inserire una nota delle percussioni" #. Tag: para #: index.docbook:291 #, fuzzy, no-c-format msgid "" "To insert tremolo notes select the tremolo sign at 5th panel of the toolbox:" msgstr "" "Per inserire delle note di abbellimento occorre scegliere il tipo di nota " "appropriata nel 2° pannello della Casseta degli Attrezzi." #. Tag: phrase #: index.docbook:296 #, fuzzy, no-c-format msgid "the tremolo types" msgstr "Pannelli della Cassetta degli Attrezzi" #. Tag: para #: index.docbook:300 #, fuzzy, no-c-format msgid "" "Select a tremolo type and insert the note as described in chapter Inserting/Deleting notes." msgstr "" "Scegliete un tipo di testa della nota e posizionate la nota delle " "percussioni come spiegato nel capitolo Inserire/Eliminare le note." #. Tag: para #: index.docbook:302 #, no-c-format msgid "Note: The tremolo does not influence the replay." msgstr "" #. Tag: title #: index.docbook:306 #, no-c-format msgid "Inserting/Deleting rests" msgstr "Iserire/Eliminare le pause" #. Tag: para #: index.docbook:307 #, no-c-format msgid "" "Be sure &nted; is in insert/delete mode (see The " "3 modes). To insert rests choose a note length on 1st toolbox panel " "and press the rest button:" msgstr "" "Assicurarsi che &nted; sia in modalità Modifica (vedere Le 3 modalità). Per inserire le pause scegliere prima " "una lunghezza (la stessa delle note) dal 1° pannello della Cassetta degli " "Attrezzi e premere il pulsante della Pausa:" #. Tag: phrase #: index.docbook:313 #, no-c-format msgid "Toolbox rest selected" msgstr "Cassetta degli attrezzi delle pause selezionata" #. Tag: para #: index.docbook:317 #, no-c-format msgid "" "You cannot really \"delete\" a rest because you cannot destroy time. But in " "many cases the situation is as follows: " " shift example 1 This can especially happen after deleting a series of notes " "because every deleted note leaves behind an appropriate rest. If you now " "insert a half rest at position of the first eighth rest " "the situation changes:" msgstr "" "In realtà non si possono eliminare le pause perché non è possibile " "distruggere il tempo. In molti casi la situazione è simile a questa " " shift example 1 Questo accade in special modo dopo la " "eliminazione di una serie di note in quanto ogni nota eliminata comporta la " "sua sostituzione con una pausa della stessa durata. La situazione cambia se " "ora si inserisce una mezza pausa nella posizione delle " "prime otto:" #. Tag: phrase #: index.docbook:333 #, no-c-format msgid "shift example 1" msgstr "esempio di spostamento 1" #. Tag: title #: index.docbook:340 #, no-c-format msgid "Generalization" msgstr "Generalizzazione" #. Tag: para #: index.docbook:341 #, fuzzy, no-c-format msgid "" "We can generalize the last example. The truth is: Independent of whether you " "insert a note or a rest, &nted; consumes as much time as necessary to insert " "the note or rest. Assume again this situation: " " shift example 1 If you insert a half note at postition of the 2nd eighth rest " "the result is: " "shift example 1 " "&nted; \"eats\" 3 eighth rests and shortens the quarter by one eighth." msgstr "" "L'ultimo esempio può essere generalizzato. In verità &nted; usa in modo " "indipendente tutto il tempo disponibile per l'inserimento delle note e delle " "pause ogni volta che ne inserite una. Assumiamo ancora che la situazione sia " "questa: " "shift example 1 Se " "si inserisce una minima nella posizione della seconda pausa di un ottavo il " "risultato sarà questo: " "shift example 1 " "&nted; si \"mangia\" 3 pause da un ottavo e accorcia di un ottavo la " "semiminima alla destra." #. Tag: title #: index.docbook:364 #, no-c-format msgid "Inserting notes and rests using the PC keyboard" msgstr "Inserire note e pause usando la tastiera del Pc" #. Tag: para #: index.docbook:365 #, no-c-format msgid "You can toggle the note length by pressing some number keys:" msgstr "Puoi scambiare la lunghezza delle note premendo alcuni numeri:" #. Tag: entry #: index.docbook:371 index.docbook:3635 #, no-c-format msgid "1" msgstr "1" #. Tag: entry #: index.docbook:371 index.docbook:3635 #, no-c-format msgid "set current length to full note" msgstr "Imposta la durata attuale in breve" #. Tag: entry #: index.docbook:372 index.docbook:3636 #, no-c-format msgid "2" msgstr "2" #. Tag: entry #: index.docbook:372 index.docbook:3636 #, no-c-format msgid "set current length to half note" msgstr "Imposta la durata attuale in semibreve" #. Tag: entry #: index.docbook:373 index.docbook:3637 #, no-c-format msgid "4" msgstr "4" #. Tag: entry #: index.docbook:373 index.docbook:3637 #, no-c-format msgid "set current length to quarter note" msgstr "Imposta la durata attuale in minima" #. Tag: entry #: index.docbook:374 index.docbook:3638 #, no-c-format msgid "5" msgstr "5" #. Tag: entry #: index.docbook:374 index.docbook:3638 #, no-c-format msgid "set current length to eighth note" msgstr "Imposta la durata attuale in semiminima" #. Tag: entry #: index.docbook:375 index.docbook:3639 #, no-c-format msgid "6" msgstr "6" #. Tag: entry #: index.docbook:375 index.docbook:3639 #, no-c-format msgid "set current length to sixteenth note" msgstr "Imposta la durata attuale in croma" #. Tag: entry #: index.docbook:376 index.docbook:3640 #, no-c-format msgid "7" msgstr "7" #. Tag: entry #: index.docbook:376 index.docbook:3640 #, no-c-format msgid "set current length to 32th note" msgstr "Imposta la durata attuale di semicroma" #. Tag: entry #: index.docbook:377 index.docbook:3641 #, no-c-format msgid "8" msgstr "8" #. Tag: entry #: index.docbook:377 index.docbook:3641 #, no-c-format msgid "set current length to 64th note" msgstr "Imposta la durata attuale di biscroma" #. Tag: para #: index.docbook:383 #, no-c-format msgid "" "To insert notes along with pressing these keys activate the keyboard " "insertion button () or press 'k'. This puts &nted; into the keyboard " "insertion mode. If you now press a key from the table above a note of " "appropriate length is inserted at cursor position. To insert a rest press " "Alt key simultaneously. Use the CursorUp/Down keys to determine the pitch. " "Use the CursorLeft/Right keys to switch to previous/next measure." msgstr "" "Per inserire le note unitamente a questi tasti attivare il pulsante " "inserimento da tastiera () o premere 'K'. In questo modo &nted; entra in modalità " "inserimento da tastiera. Se ora si preme un tasto della tavola suesposta " "viene inserita una nota della lunghezza scelta nella posizione del cursore. " "Per inserire una pausa premere insieme anche il tasto Alt. Per scegliere la " "nota utilizzare i tasti freccia in sù e giù. Utilizzare freccia destra/" "sinistra per spostarsi alla misura successiva o precedente. " #. Tag: para #: index.docbook:389 #, no-c-format msgid "The backspace key removes the last inserted note" msgstr "Il tasto backspace elimina l'ultima nota inserita" #. Tag: para #: index.docbook:391 #, no-c-format msgid "" "See also Inserting notes with pitch " "determined by midi keyboard." msgstr "" #. Tag: title #: index.docbook:396 #, no-c-format msgid "Append a system" msgstr "Aggiungere un nuovo rigo" #. Tag: para #: index.docbook:398 #, no-c-format msgid "" "At the beginning &nted; shows only one system with only a few measures. To " "append more systems press Ctrl B. This will append one system at end of score." msgstr "" "All'inizio &nted; mostra un rigo con solo alcune battute. Per aggiungerne " "altre premere Ctrl B. " "In questo modo si aggiunge un rigo alla fine dello spartto." #. Tag: para #: index.docbook:402 #, no-c-format msgid "See also: removing systems" msgstr "Vedere anche: eliminare rigo" #. Tag: title #: index.docbook:407 #, no-c-format msgid "Modifications" msgstr "Modifiche" #. Tag: title #: index.docbook:410 #, no-c-format msgid "Shifting notes and rests" msgstr "Spostamento delle note e delle pause" #. Tag: para #: index.docbook:411 #, no-c-format msgid "" "You can shift notes and rests vertically and horizontally. Be sure &nted; is " "in edit mode (see The 3 modes). Again: " "You can achieve this mode temporarily by pressing the Ctrl key. Click a note " "or rest with left button. The note or rest is selected. A selected chord or " "rest appeares in red color. Shift and hold the left button. The selected " "note or rest moves accordingly. If you shift a note vertically the note " "changes the line. If you shift the note or rest horizontally before or after " "another note or rest the note or rest changes its position." msgstr "" "Si possono spostare sia le note che le pause sia verticalmente che " "orizzontalmente. Assicuratevi che &nted; sia in modalità di modifica (see " "Le 3 modalità). Ancora: questa modalità " "si attiva in modo temporaneo premendo il tasto Ctrl. Cliccando sopra una " "nota o pausa con il pulsante sinistro del mouse questa viene selezionata. La " "nota, o pausa, scelta diventa rossa. Ora, tenendo premuti entrambi i tasti, " "l'elemento scelto seguirà il movimento del mouse. Se lo spostate " "verticalmente una nota questa cambia linea (la posizione della pausa è fissa " "verticalmente NdT). Se lo spostate orizzontalmente l'elemento scelto verrà " "posizionato prima o dopo un elemento esistente." #. Tag: para #: index.docbook:421 #, no-c-format msgid "" "Furthermore: If there is a selected note you can move the note by Up/Down " "cursor key. The Left/Right key changes the selection." msgstr "" "Inoltre: Se c'è una nota selezionata si può spostarla con i tasti cursore " "freccia su/giù. I tasti freccia destra/sinistra sposta la selezione " "sull'elemento corrispondente." #. Tag: para #: index.docbook:424 #, no-c-format msgid "" "The horizontal move is especially useful in cases where you want to achieve " "this: " "shift example 1 " "but the situation is:" msgstr "" "Lo spostamento orizzontale è particolarmente utile nella situazione " "seguente: " "shift example 1 e " "si vuole ottenere questo:" #. Tag: phrase #: index.docbook:437 #, no-c-format msgid "shift example 2" msgstr "esempio di spostamento 2" #. Tag: para #: index.docbook:442 #, no-c-format msgid "" "By moving the note before the rest or the rest behind the note the symbols " "exchange their positions." msgstr "" "Muovendo la nota dopo la pausa, o la pausa prima della nota, gli elementi " "cambiano la loro posizione." #. Tag: title #: index.docbook:447 #, no-c-format msgid "Hiding rests" msgstr "Nascondere pause" #. Tag: para #: index.docbook:448 #, no-c-format msgid "" "You can hide some rests if desireable. There are 2 ways to do this. If you " "want to hide the rests of a whole voice, select that voice on voice selector " "() and choose:" msgstr "" "Se si desidera, si possono naascondere alcune pause. Ci sono due modi per " "farlo. Se si desidera nascondere tutte le pause della voce intera, " "selezionare la voce tramite il selettore di voce " "() e scegliere:" #. Tag: menuchoice #: index.docbook:453 #, fuzzy, no-c-format msgid "" "Tools hide rests" msgstr "" "Altri nascondi pause" #. Tag: para #: index.docbook:459 #, no-c-format msgid "Or simply press Ctrl + R." msgstr "O semplicemente premere i tasti Ctrl + R." #. Tag: para #: index.docbook:460 #, no-c-format msgid "To unhide already hidden rests choose:" msgstr "Per rendere visibili le pause precedentemente nascoste scegliere:" #. Tag: menuchoice #: index.docbook:463 #, fuzzy, no-c-format msgid "" "Tools unhide rests" msgstr "" "Altri mostra pause nascoste" #. Tag: para #: index.docbook:468 #, no-c-format msgid "Or simply press Ctrl + U." msgstr "O semplicemente premere i tasti Ctrl + U." #. Tag: para #: index.docbook:470 #, no-c-format msgid "" "To limit this operation to a certain staff simply select one arbitratry note " "or rest of this staff before this operation." msgstr "" "Per limitare questa operazione a certi pentagrammi basta selezionare una " "nota o pausa arbitraria di detto pentagramma prima di questa operazione." #. Tag: para #: index.docbook:473 #, no-c-format msgid "" "The 2nd way is to hide a group of rests of a selection rectangle: Draw a " "selection rectangle as described in Select a " "block. Then choose hide rests or " "unhide rests as described above. Note: This operation " "is also limited to the selected voice." msgstr "" "Il secondo modo è quello di nascondere un gruppo di pause contenuto in un " "rettangolo di selezione. Tracciare un rettangolo di selezione come descritto " "in Selezione di un blocco. Quindi " "scegliere nascondi pause o mostra pause " "nascoste come descritto sopra. Nota: Questa operazione è " "limitata anche dalla voce selezionata." #. Tag: para #: index.docbook:478 #, no-c-format msgid "To (un)hide all rests in all voices choose:" msgstr "Per rendere visibili tutte le pause di tutte le voci scegliere:" #. Tag: menuchoice #: index.docbook:480 index.docbook:2538 #, fuzzy, no-c-format msgid "" "Tools hide rests (all v.)" msgstr "" "Altri nascondi pause (tutte)" #. Tag: menuchoice #: index.docbook:490 #, fuzzy, no-c-format msgid "" "Tools unhide rests (all v.)" msgstr "" "Altri mostra pause nascoste " "(tutte)" #. Tag: para #: index.docbook:496 #, no-c-format msgid "" "Hiding rests is also useful in case of an upbeat." msgstr "" "Nascondere le pause è utile anche nel caso di una battuta in levare." #. Tag: para #: index.docbook:498 #, no-c-format msgid "To make hidden rests visible choose:" msgstr "Per rendere visibile le pause nascoste scegliere:" #. Tag: menuchoice #: index.docbook:501 index.docbook:823 #, no-c-format msgid "" "View show hidden elements" msgstr "" "Vista mostra elementi " "nascosti" #. Tag: title #: index.docbook:509 #, no-c-format msgid "Positioning rests vertically" msgstr "Posizionareverticalmente le pause" #. Tag: para #: index.docbook:510 #, no-c-format msgid "" "&nted; tries to position rests in such a way that they do not obscure other " "elements. This works in most cases. But sometimes the user wishes a " "customized vertical placement." msgstr "" "&nted; tenta di posizionare le pause in modo che non nascondano altri " "elementi. Nella maggior parte dei casi questo funziona. A volte però " "l'utente desidera modificare il posizionamento verticale." #. Tag: para #: index.docbook:512 #, no-c-format msgid "" "To place a rest vertically select it, and then use the cursor up-/down keys " "to change the rest's vertical position." msgstr "" "Per posizionare vericalmente una pausa occorre selezionarla e quindi " "modifinarne la posizione verticale utilizzando i tasti FrecciaSù e " "FrecciaGiù." #. Tag: para #: index.docbook:514 #, no-c-format msgid "" "From this moment on you are responsible to place this rest. &nted; will do " "nothing to solve any conflicts. The only way to get a rest managed by &nted; " "is to insert a new rest." msgstr "" "Da questo momento in poi si è responsabile del posizionamento delle pause. " "&nted; non potrà fare nulla per risolvere qualsiasi conflitto. L'unico modo " "per lasciare a &nted; la gestione delle pause è quello di inserire una nuova " "pausa." #. Tag: para #: index.docbook:517 #, no-c-format msgid "This way you can effectively have 2 voices sharing \"one\" rest:" msgstr "" "In questo modo si possono avere effettivamente 2 voci che condividono \"una" "\" pausa:" #. Tag: phrase #: index.docbook:522 index.docbook:583 #, no-c-format msgid "selected a tie" msgstr "selezionata una coda" #. Tag: para #: index.docbook:526 #, no-c-format msgid "" "You have to move both rests at least one step! Otherwise &nted; moves the " "other rest to avoid collision." msgstr "" "Si dovranno spostare di almeno un posto entrambe le pause! In caso contrario " "&nted; sposta l'altra pausa per evitare le collisioni." #. Tag: title #: index.docbook:532 #, no-c-format msgid "Inserting ties" msgstr "Iserire legature" #. Tag: para #: index.docbook:533 #, fuzzy, no-c-format msgid "There are 2 ways for inserting ties:" msgstr "Nello stesso modo si può inserire la barra finale:" #. Tag: para #: index.docbook:535 #, fuzzy, no-c-format msgid "" "This approach assumes you want to insert ties after you have inserted a " "series of notes. So, never press the tie during note insertion:" msgstr "" "&nted; presume che si voglia inserire le legature dopo l'inserimento di una " "serie di note. Quindi non serve inserire le stanghette durante l0inserimento " "di note.:" #. Tag: phrase #: index.docbook:541 index.docbook:550 #, no-c-format msgid "the tie button" msgstr "Il Pulsante coda della nota" #. Tag: para #: index.docbook:544 #, no-c-format msgid "" "Press it after you have inserted a series of notes. Then select all note " "pairs to be tied with left mouse button." msgstr "" "Premerlo dopo l'inserimento di una serie di note. Quindi selezionare con il " "pulsante sinistro tutte le coppie di note da collegare." #. Tag: para #: index.docbook:545 #, no-c-format msgid "Do not forget to turn off the tie button:" msgstr "Non dimenticarsi di disattivare il pulsante 'legatura'." #. Tag: para #: index.docbook:553 #, no-c-format msgid "Because this button has high priority and blocks other functions." msgstr "" "Perché questo pulsante ha una alta priorità e blocca le altre funzioni." #. Tag: para #: index.docbook:554 #, no-c-format msgid "" "Insert a note or chord followed by a note or chord with the same pitch(es):" msgstr "" #. Tag: phrase #: index.docbook:559 #, fuzzy, no-c-format msgid "before tie method 1" msgstr "prima della creazione del gruppo irregolare" #. Tag: para #: index.docbook:562 #, no-c-format msgid "" "Then press ',' (comma). Notes " "with equal pitch are tied:" msgstr "" #. Tag: phrase #: index.docbook:567 #, fuzzy, no-c-format msgid "before tie method 2" msgstr "prima della creazione del gruppo irregolare" #. Tag: title #: index.docbook:575 #, no-c-format msgid "Customized ties" msgstr "Legature personalizzate" #. Tag: para #: index.docbook:576 #, no-c-format msgid "" "&nted; places the ties automatically depending on the note's stem direction. " "This works in most cases. But sometimes the user wishes costumized ties. To " "costumize a tie make sure &nted; is in edit mode (see The 3 modes). Select a tie with left mouse button:" msgstr "" "&nted; posiziona automaticamente la coda della nota a seconda della " "direzione del suo gambo. Nella maggior parte dei casi questo procedimento " "funziona. Ma a volte l'utente desidera personalizzare le code.Per farlo " "assicurarsi che &nted; sia in modalità Modifica (vedere Le 3 modalità). Selezionare la coda con pulsante " "sinistro del mouse:visibili:" #. Tag: para #: index.docbook:586 #, no-c-format msgid "" "The selected tie appears in red color. Use the cursor up/down keys to change " "the curve:" msgstr "" "La cosa selezionata appare di colore rosso. Usa i tasti FrecciaSù/Giù per " "modificarne la curva:" #. Tag: phrase #: index.docbook:591 #, no-c-format msgid "change the tie's curve" msgstr "modifica la curvatura della coda" #. Tag: title #: index.docbook:596 #, no-c-format msgid "Modifying length, accidentals dots and ties" msgstr "Modificare durate, accidenti, puntature e code" #. Tag: para #: index.docbook:597 #, no-c-format msgid "" "Be sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode temporarily by pressing the Ctrl " "key. Click a note or rest with left button. The note or rest is selected. A " "selected chord or rest appeares in red color. The buttons reflect the state " "of the note or rest. You can change the state of the note or rest by " "toggeling the appropriate buttons. This includes:" msgstr "" "Assicurarsi che &nted; sia in modalità modifica (vedere Le 3 modalità). Ripeto: si può attivare temporaneamente " "questa modalità premendo il tasto Ctrl. Cliccare su un elemento con il " "pulsantte sinistro del mouse. L'elemento viene selezionato. L'elemento " "selezione diventa rosso. I pulsanti riflottono lo stato dell'elemento. Si " "può cambiarne lo stato modificando lo stato del pulsante relativo. Questa " "operazione permette:" #. Tag: para #: index.docbook:604 #, no-c-format msgid "changing the length" msgstr "Modifica della durata" #. Tag: para #: index.docbook:605 #, no-c-format msgid "changing the note head type" msgstr "Modificare il tipo della testa della nota" #. Tag: para #: index.docbook:606 #, no-c-format msgid "insert/remove accidentals/dots" msgstr "inseire/eliminare accidenti/punti" #. Tag: para #: index.docbook:607 #, no-c-format msgid "removing ties" msgstr "eliminazione delle legature" #. Tag: title #: index.docbook:613 #, no-c-format msgid "Undo/Redo and View" msgstr "Disfare/Rifare e Vista" #. Tag: para #: index.docbook:614 #, no-c-format msgid "" "&nted; has an unlimited undo history. You can always undo a previous command " "by pressing the undo button () or pressing Ctrl Z. To redo an undo press the redo button " "() or press " "Ctrl Y. To increase " "the view press the zoom in button " "() or press " "Ctrl +. To decrease " "the view press the zoom in button " "() or press " "Ctrl -." msgstr "" "&nted; ha una illimitata registrazione storica delle operazioni eseguite. Si " "può sempre disfare quello che ha fatto il comando precedente premendo il " "pulsante Disfare () o premendo " "i tasti Ctrl Z. Per " "rifare quello che è stato disfatto premere il pulsante Rifare " "() o premere i tasti " "Ctrl Y. Per " "ingrandire premere il pulzante Zoom In " "() o premere i tasti " "Ctrl +. Per " "impiccolorire premere il pulsante Zoom Out " "() o premere i tasti " "Ctrl -." #. Tag: title #: index.docbook:631 #, no-c-format msgid "Staves and Systems" msgstr "Pentagrammi e righi" #. Tag: title #: index.docbook:634 #, no-c-format msgid "Append a new staff" msgstr "Aggiungere un nuovo pentagramma" #. Tag: para #: index.docbook:635 #, no-c-format msgid "To append a staff choose:" msgstr "Per aggiungere un nuovo pentagramma selezionare:" #. Tag: menuchoice #: index.docbook:637 #, no-c-format msgid "" "Insert Append staff" msgstr "" "Inserisci Aggiungi " "pentagramma" #. Tag: para #: index.docbook:642 #, fuzzy, no-c-format msgid "" "or simply press Ctrl + A. The staff is always " "appended at last position." msgstr "Il nuovo penagramma viene sempre aggiunto in fondo." #. Tag: title #: index.docbook:647 #, no-c-format msgid "Change staff properties" msgstr "Modifica delle proprietà del pentagramma" #. Tag: para #: index.docbook:648 #, no-c-format msgid "" "To change the staff properties right click staff not too close to a measure " "line. The staff config menu appears:" msgstr "" "Per modificare le proprietà del pentagramma cliccare con il pulsante destro " "del mouse sul pentramma non troppo vicino ad una linea di battuta. Viene " "mostrato la finestra di configurazione del pentagramma:" #. Tag: phrase #: index.docbook:654 #, no-c-format msgid "the staff config menu" msgstr "il menu di configurazione del pentagramma" #. Tag: para #: index.docbook:658 #, fuzzy, no-c-format msgid "" "Choose staff name, clef, time signature (likewise " " or " "), and key signature on appropriate " "panel and press OK! The adjust notes " "determins whether or not &nted; shall adjust the appropriate notes such that " "their pitch is kept. This concerns the clef and key signature change. The " "octave shift entry determins an optional octave shift of the clef." msgstr "" "Scegliete il nome, la chiave, il tempo e la tonalità del pentagramma nel " "relativo pannello e premere OK! Sistema note determina se &nted; debba o meno sistemare le note in moda " "da mantenere l'intonazione. Questo implica il cambio della chiave e della " "tonalità. La voce dello slittamento di ottava determina un eventuale " "spostamento di ottava della chiave." #. Tag: para #: index.docbook:663 index.docbook:1706 #, fuzzy, no-c-format msgid "" "Note! LilyPond has its own rules for choosing symbols " " or " ". So, do not expect the same " "symbols in LilyPond!" msgstr "" "Per cambiare pannello premere il pulsante successivo " "() oppure " "precedente ()." #. Tag: para #: index.docbook:668 #, no-c-format msgid "" "The staff short name is printed at 2nd, " "3rd, ... page." msgstr "" "Il nome corto del pentagramma viene " "stampato dalla 2nda pagina in poi." #. Tag: para #: index.docbook:670 #, no-c-format msgid "" "The group name and short " "group name have the same meaning as staff " "name and staff short name " "for groups of staves. (see System Layout)" msgstr "" #. Tag: para #: index.docbook:673 index.docbook:1741 #, fuzzy, no-c-format msgid "The neutral clef has 3 forms:" msgstr "La chiave neutra ha queste due forme:" #. Tag: phrase #: index.docbook:678 index.docbook:871 index.docbook:1746 #, no-c-format msgid "the neutral clefs" msgstr "la chiave neutra" #. Tag: para #: index.docbook:682 index.docbook:1750 #, no-c-format msgid "" "The difference is the MIDI mapping. The first form - signed with \"1\" - " "maps the note lines to pitches like the treble clef would map. The 2nd form " "- signed with \"2\" - maps note lines to pitches like the bass clef would " "map. The difference is not visible." msgstr "" "La differenza riguarda la mappatura MIDI. La prima forma - indicata con " "\"1\" - mappa il pentagramma nella stessa tonalità della chiave di Sol, " "mentre la seconda - indicata con \"2\" - in quella di Fa. Visivamente non " "c'è alcuna differenza tra le due." #. Tag: para #: index.docbook:687 index.docbook:1755 #, no-c-format msgid "" "Note: If you choose neutral clef 1 or neutral clef 2 the notation conflicts " "with usual drum notation and it is not exported to LilyPond. An alternative is to use the drum system." msgstr "" #. Tag: para #: index.docbook:690 #, no-c-format msgid "" "On MIDI tab you can change the midi parameters which influences the sound " "during replay:" msgstr "" "Nella scheda MIDI si possono cabiare i parametri che influenzano il suono " "emesso durante la riproduzione:" #. Tag: phrase #: index.docbook:696 #, no-c-format msgid "the midi panel" msgstr "La scheda MIDI" #. Tag: para #: index.docbook:699 #, fuzzy, no-c-format msgid "" "The instrument panel lets you select the timbre. It assumes a general midi " "table. Furthermore you can choose the volume of the staff." msgstr "" "La sezione strumenti permette di scegliere il timbro. In generale si assume " "sia una tabella MIDI. Inoltre si può scegliere il volume del pentagramma. " "Nella sezione canale si può assegnare un canale MIDI. Si dovrebbe assegnare " "canali diversi ai diversi pentagrammi. &nted; lo fa automaticamente." #. Tag: para #: index.docbook:702 #, no-c-format msgid "" "Actually, each voice has the same timbre (plays the same sound). But on " "voices panel you can change this behaviour:" msgstr "" #. Tag: phrase #: index.docbook:708 index.docbook:734 #, fuzzy, no-c-format msgid "the instrument panel" msgstr "Il pannello di posizionamento" #. Tag: para #: index.docbook:711 #, no-c-format msgid "" "If the radio button all is selected immediately " "before closing the staff configuration menu, all voices produce the same " "sound (play the same instrument). Otherwise you can determine the sound of " "the different voices by selecting one of the radio buttons 1, 2, 3, or " "4. Choose a sound, a volume, and a stereo position " "(pan) of each voice." msgstr "" #. Tag: para #: index.docbook:716 #, no-c-format msgid "" "Different sounds on the same staff produce different sounds on the same MIDI " "track which causes a very complicated and expansive MIDI output! Thus, if " "you have the choice between multiple sounds on the same staff or multiple " "staves you with uniform sound you should choose the latter one!" msgstr "" #. Tag: para #: index.docbook:719 #, fuzzy, no-c-format msgid "" "On channel panel you can assign a midi channel. You should assign a " "different midi channel to different staves. This is automatically done by " "&nted;." msgstr "" "La sezione strumenti permette di scegliere il timbro. In generale si assume " "sia una tabella MIDI. Inoltre si può scegliere il volume del pentagramma. " "Nella sezione canale si può assegnare un canale MIDI. Si dovrebbe assegnare " "canali diversi ai diversi pentagrammi. &nted; lo fa automaticamente." #. Tag: para #: index.docbook:721 #, no-c-format msgid "" "Channel 10 is the drum channel on most sound cards and is never assigned " "automatically" msgstr "" "Il canale 10 è quello delle percussioni nella maggior parte delle schede " "sonore e non viene mai assegnato automaticamente" #. Tag: para #: index.docbook:722 #, no-c-format msgid "The tempo slider changes the tempo of all staves." msgstr "Il cursore del tempo modifica il tempo di tutte le battute." #. Tag: para #: index.docbook:723 #, no-c-format msgid "" "The pan slider determins the stereo " "position of the instrument. The chorus " "slider and the reverb slider determine the " "chorus and reverberation effect." msgstr "" "Il cursore pan determina la posizione " "stereo dello strumento. Il cursore coro e " "riverbero determina gli effetti relativi." #. Tag: para #: index.docbook:726 #, no-c-format msgid "" "The ALSA sound system does not support the reverberation effect of all " "soundcards. The often used modul snd_emu10k1_synth for instance does not support reverberation. But TiMidity supports it." msgstr "" "Il sistema sonoro ALSA non supporta gli effetti di riverbero di tutte le " "schede audio. Il modulo più utilizzato snd_emu10k1_synth per esempio non supporta il riverbero. Mentre TiMidity lo supporta." #. Tag: para #: index.docbook:729 #, no-c-format msgid "On mute panel:" msgstr "" #. Tag: para #: index.docbook:737 #, no-c-format msgid "" "you can mute the whole staff by using the all " "checkbox. You can also mute single voices by selecting the voice number. " "(see also Muting)." msgstr "" #. Tag: para #: index.docbook:740 #, no-c-format msgid "" "The transp. slider causes a pitch offset during replay. This feature is " "helpful for instruments which are not in C tuning." msgstr "" "Il cursore transp. causa lo spostamento della tonalità durante il riascolto. " "Questa caratteristica è utile per gli strumenti che non sono accordati in Do." #. Tag: title #: index.docbook:745 #, no-c-format msgid "Special letters in staff names" msgstr "Caratteri speciali nel nome del pentagramma" #. Tag: para #: index.docbook:747 #, no-c-format msgid "" "&nted; allowes you to place special letters like flat symbol in staff names:" msgstr "" "&nted; permette di posizionare dei caratteri speciali come i simboli " "bequadro nel nome del pentagramma:" #. Tag: para #: index.docbook:749 #, no-c-format msgid "Flute in A\\b -->" msgstr "Flauto in La\\b -->" #. Tag: para #: index.docbook:751 index.docbook:2167 index.docbook:2381 #, no-c-format msgid "The following table gives an overview about the possible signs:" msgstr "La tavola seguente mostra una panomramica sui possibili segni:" #. Tag: entry #: index.docbook:755 index.docbook:2171 index.docbook:2385 #, no-c-format msgid "\\O" msgstr "\\O" #. Tag: entry #: index.docbook:756 index.docbook:2172 index.docbook:2386 #, no-c-format msgid "\\S" msgstr "\\S" #. Tag: entry #: index.docbook:757 index.docbook:2173 index.docbook:2387 #, no-c-format msgid "\\#" msgstr "\\#" #. Tag: entry #: index.docbook:758 index.docbook:2174 index.docbook:2388 #, no-c-format msgid "\\b" msgstr "\\b" #. Tag: entry #: index.docbook:759 index.docbook:2175 index.docbook:2389 #, no-c-format msgid "\\n" msgstr "\\n" #. Tag: entry #: index.docbook:760 index.docbook:2176 index.docbook:2390 #, no-c-format msgid "\\o" msgstr "\\o" #. Tag: entry #: index.docbook:761 index.docbook:2177 #, fuzzy, no-c-format msgid "\\c" msgstr "\\O" #. Tag: entry #: index.docbook:762 index.docbook:2178 #, fuzzy, no-c-format msgid "\\r" msgstr "\\O" #. Tag: entry #: index.docbook:763 index.docbook:2179 #, fuzzy, no-c-format msgid "\\p" msgstr "\\O" #. Tag: entry #: index.docbook:764 index.docbook:2180 #, fuzzy, no-c-format msgid "\\." msgstr "." #. Tag: entry #: index.docbook:764 index.docbook:2180 #, no-c-format msgid "non breaking space" msgstr "" #. Tag: entry #: index.docbook:765 index.docbook:2181 #, no-c-format msgid "\\..." msgstr "" #. Tag: entry #: index.docbook:765 index.docbook:2181 #, fuzzy, no-c-format msgid "dots" msgstr "note" #. Tag: entry #: index.docbook:766 index.docbook:2182 #, fuzzy, no-c-format msgid "\\--" msgstr "-" #. Tag: entry #: index.docbook:766 index.docbook:2182 #, no-c-format msgid "dash" msgstr "" #. Tag: title #: index.docbook:774 #, no-c-format msgid "Changing the staff position" msgstr "Modificare la posizione del pentagramma" #. Tag: para #: index.docbook:775 #, no-c-format msgid "" "If there is more than one staff there is a 3rd tab, the staff position tab:" msgstr "" "Se c'è più di un pentagramma c'è una terza scheda, la scheda posizione del " "pentagramma:" #. Tag: phrase #: index.docbook:780 #, no-c-format msgid "the position panel" msgstr "Il pannello di posizionamento" #. Tag: para #: index.docbook:783 #, no-c-format msgid "" "The cursor shows the position of the current staff. Clicking on a different " "position and OK moves the staff to the new position." msgstr "" "Il cursore mostra la posizione attuale del pentagramma. Cliccando in una " "posizione diversa e OK sposta il pentagramma nella nuova posizione." #. Tag: title #: index.docbook:788 #, no-c-format msgid "Deleting a staff" msgstr "Eliminare un pentagramma" #. Tag: para #: index.docbook:789 #, no-c-format msgid "If there is more than one staff a \"Delete Staff\" button appears:" msgstr "Se c'è più di un pentagramma appare il pulsante \"Delete Staff\":" #. Tag: phrase #: index.docbook:794 #, no-c-format msgid "the staff delete button" msgstr "il pulsante cancella pentagramma" #. Tag: para #: index.docbook:797 #, no-c-format msgid "To delete the staff, press this button." msgstr "Per eliminare il pentagramma , premere questo pulsante." #. Tag: title #: index.docbook:801 #, no-c-format msgid "Changing the staff distance" msgstr "Modificare la distanza del pentagramma" #. Tag: para #: index.docbook:802 #, no-c-format msgid "" "&nted; chooses the staff distance automatically according to the position " "and height of the elements. This works in most cases. But sometimes the user " "wishes customized staff distances. To increase the staff distance make sure " "&nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "&nted; sceglie la distanza tra spartiti automaticamente a seconda della " "posizione e della altezza degli elementi. Sebbene questo meccaanismo " "funzioni bene nella maggior parte dei casi, a volte l'utente potrebbe volere " "modicare la distanza.Per aumentare la distanza assicurarsi che &nted; sia " "in modalità Inserimento (vedere Le 3 modalità) e selezionare:" #. Tag: menuchoice #: index.docbook:806 #, no-c-format msgid "" "Insert spacer" msgstr "" "Inserisci spaziatore" #. Tag: para #: index.docbook:811 #, no-c-format msgid "" "Click at the position to place the spacer on. By clicking and dragging the " "spacer vertically you can adjust the space between the current staff and the " "adjacent staves:" msgstr "" "Cliccare nella posizione in cui posizionare lo spaziatore. Cliccando e " "spostando lo spaziatore verticalmente si può regolare lo spazio tra il " "pentagramma corrente e quelli adiacenti:" #. Tag: phrase #: index.docbook:817 #, no-c-format msgid "the spacer" msgstr "lo spaziatore" #. Tag: para #: index.docbook:821 #, no-c-format msgid "To hide the spacer choose:" msgstr "Per nasscondere lo spaziatore scegliere:" #. Tag: para #: index.docbook:829 #, no-c-format msgid "" "Modifying an deleting spacer works similar to modifying and deleting arbitrary text." msgstr "" "La modifica e l'eliminazione degli spaziatori funziona in modo analogo a " "modificare ed eliminare testo " "arbitrario." #. Tag: title #: index.docbook:832 #, no-c-format msgid "Removing systems" msgstr "Eliminare righi" #. Tag: para #: index.docbook:833 #, no-c-format msgid "If there is more than one system a \"Delete Systems\" button appears:" msgstr "Se c'è più di un rigo appare il pulsante \"Elimina rigo\":" #. Tag: phrase #: index.docbook:838 #, no-c-format msgid "the system delete button" msgstr "il pulsante elimina rigo" #. Tag: para #: index.docbook:841 #, no-c-format msgid "To delete the system, press this button." msgstr "Per eliminare il rigo , premere questo pulsante." #. Tag: para #: index.docbook:843 #, no-c-format msgid "" "You cannot delete the system on first page if the first pages has only one " "system." msgstr "" "Non si possono eliminari i righi della prima pagina se ce n'è uno solo." #. Tag: title #: index.docbook:848 #, no-c-format msgid "Hide measure numbers" msgstr "Nascondi numeri di battuta" #. Tag: para #: index.docbook:849 #, no-c-format msgid "&nted; shows measure numbers at system start. You can avoid this by:" msgstr "" "&nted; i numeri delle battute all'inizio del rigo. Si può evitare tale " "indicazione mediante:" #. Tag: menuchoice #: index.docbook:851 #, no-c-format msgid "" "View show measure numbers" msgstr "" "Vista mostra numeri delle " "battute" #. Tag: title #: index.docbook:862 #, no-c-format msgid "The drum system" msgstr "" #. Tag: title #: index.docbook:864 #, fuzzy, no-c-format msgid "The default drum system" msgstr "Pentagrammi e righi" #. Tag: para #: index.docbook:866 #, no-c-format msgid "If you choose neutral clef 1 or neutral clef 2 from clef dialog:" msgstr "" #. Tag: para #: index.docbook:875 #, no-c-format msgid "" "the pitches are mapped according to the General MIDI system. This conficts " "with usual drum notation. To avoid this &nted; offers a drum system which " "orientates towards the convertional drum notation." msgstr "" #. Tag: para #: index.docbook:878 #, no-c-format msgid "" "To activate the drum system choose the 3rd drum clef (The 3 isn't printed). " "In current version you should use only the following 20 drum elements:" msgstr "" #. Tag: phrase #: index.docbook:885 #, fuzzy, no-c-format msgid "the drum system" msgstr "Pentagrammi e righi" #. Tag: para #: index.docbook:889 #, no-c-format msgid "" "These notes are mapped to MIDI such a way that the appropriate drum element " "sounds during replay. Furthermore, these notes are exported to LilyPond." msgstr "" #. Tag: title #: index.docbook:897 #, fuzzy, no-c-format msgid "Configuration of the drum system" msgstr "Pentagrammi e righi" #. Tag: para #: index.docbook:898 #, no-c-format msgid "" "The default drum system comprises the most usual drum elements. Users, who " "want to use more drum elements can re-configure the drum system:" msgstr "" #. Tag: menuchoice #: index.docbook:900 #, fuzzy, no-c-format msgid "" "File Drums ..." msgstr "" "Archivio Carica ..." #. Tag: para #: index.docbook:906 #, fuzzy, no-c-format msgid "The drum configuration dialog appears:" msgstr "Appare la finestra di configurazione delle informazioni:" #. Tag: phrase #: index.docbook:912 #, fuzzy, no-c-format msgid "The drum configuration dialog" msgstr "La finestra di configurazione delle informazione dello spartito" #. Tag: para #: index.docbook:916 #, no-c-format msgid "" "The central table lists all drum elements: the name, the short name (equal " "to the LilyPond name), the line, " "the head of the note, and the appropriate MIDI pitch. If you select a drum " "element, the note head buttons and the little preview window reflect the " "current state of the drum note. You can change the line by clicking the up/" "down arrows or by cursor up/down keys on PC keyboard. The note head is " "changed by clicking the approprioate note head button. If you click on " "change element, the new note head and the " "new line is changed permanently." msgstr "" #. Tag: para #: index.docbook:922 #, no-c-format msgid "" "To reload the default values, press the load defaults button. You can save and reload a configuration in a file, " "by pressing the save to file and " "load from file button." msgstr "" #. Tag: para #: index.docbook:925 #, no-c-format msgid "" "The play element buttons plays the " "appropriate drum element (if your MIDI out " "device is correctly configured)." msgstr "" #. Tag: para #: index.docbook:927 #, no-c-format msgid "" "If you place 2 drum elements at the same line with the same note head &nted; " "uses the first appearence of this configuration." msgstr "" #. Tag: title #: index.docbook:936 #, no-c-format msgid "Voices" msgstr "Voci" #. Tag: para #: index.docbook:938 #, no-c-format msgid "" "You can place the notes or rests at one of 4 voices. To determine the voice " "select the voice number on voice selector " "()." msgstr "" "Si possono posizionare le note e le pause di una delle 4 voci. Per indicare " "la voce desiderata scegliere il suo numero nel selettore della voce " "()." #. Tag: para #: index.docbook:941 #, no-c-format msgid "" "Because multiple voices can be very confusing there is a color button " "(), which causes the " "notes and rests to be drawn colored:" msgstr "" "Per evitare la confusione che le tante voci possono indurre c'è il pulsante " "colore (), che attiva la " "colorazione diversa delle note e pause di ogni voce." #. Tag: phrase #: index.docbook:948 #, no-c-format msgid "colored score" msgstr "spartito colorato" #. Tag: para #: index.docbook:951 #, no-c-format msgid "The colors refer to the colors of the voice selector." msgstr "I colori sono quelli indicati nel selettore delle voci." #. Tag: para #: index.docbook:952 #, no-c-format msgid "" "The normal case is: Every voice produces the same sound (plays the same " "instrument) during replay. But you can change this behaviour by attaching " " different sounds to different " "voices." msgstr "" #. Tag: title #: index.docbook:957 #, no-c-format msgid "Block instructions" msgstr "Istruzioni per i blocchi" #. Tag: title #: index.docbook:959 #, no-c-format msgid "Overview" msgstr "Premessa" #. Tag: para #: index.docbook:960 #, no-c-format msgid "&nted; offers 4 different block instructions:" msgstr "&nted; offre 4 istruzioni diverse per agire su blocchi di elementi." #. Tag: entry #: index.docbook:965 #, no-c-format msgid "Block copy" msgstr "Copia blocco" #. Tag: entry #: index.docbook:965 #, no-c-format msgid "Block delete" msgstr "Elimina blocco" #. Tag: entry #: index.docbook:970 #, no-c-format msgid "Empty block" msgstr "Svuota blocco" #. Tag: entry #: index.docbook:970 #, no-c-format msgid "Insert block" msgstr "Inserisci blocco" #. Tag: title #: index.docbook:982 #, no-c-format msgid "Select a block" msgstr "Scelta di un blocco" #. Tag: para #: index.docbook:983 #, no-c-format msgid "" "To select a block make sure &nted; is in edit mode (see The 3 modes). Draw a diagonal with left mouse button " "such that the appropriate rectangle encloses all elements you like to work " "with:" msgstr "" "Per selezionare un blocco assicurarsi che &nted; sia in modalità modifica " "(vedereLe 3 modalità). Disegna una " "diagonale tenendo schiacciato il pulsante sinistro del mouse in modo che il " "rettangolo relativo includa tutti gli elemnti sui qual si vuole lavorare:" #. Tag: phrase #: index.docbook:990 #, no-c-format msgid "selection" msgstr "selezione" #. Tag: para #: index.docbook:993 #, no-c-format msgid "The selected elements appear in violet color." msgstr "Gli elementi scelti appaiono in azzurro." #. Tag: para #: index.docbook:995 #, no-c-format msgid "" "If there is a selection rectangle you can deselect some staves from " "selection by right clicking on the staff:" msgstr "" "È possibile deselezionare dei pentagrammi all'interno di un rettangolo di " "selezione semplicemente cliccando con il pulsante destro del mouse in ognuno " "di essi:" #. Tag: phrase #: index.docbook:1000 #, no-c-format msgid "deselect from selection" msgstr "togliere dalla selezione" #. Tag: para #: index.docbook:1004 #, no-c-format msgid "" "This is especially useful if you for example want to copy only the 1st and " "the 3rd staff of 3 staves:" msgstr "" "Questo è particolarmente utile per esempio, se si vuole copiare solamente il " "primo ed il terzo pentagramma di 3 pentagrammi:" #. Tag: phrase #: index.docbook:1009 #, no-c-format msgid "copy selective" msgstr "copia selettiva" #. Tag: title #: index.docbook:1015 #, no-c-format msgid "Block copy" msgstr "Copia blocco" #. Tag: para #: index.docbook:1016 #, no-c-format msgid "" "To copy a block select some elements as described in Select a block. Choose:" msgstr "" "Per copiare un blocco selezionare gli elementi desiderati come indicato " "nella sezione Scegliere un blocco. " "Selezionare:" #. Tag: menuchoice #: index.docbook:1018 #, no-c-format msgid "Edit Copy" msgstr "" "Modifica Copia" #. Tag: para #: index.docbook:1023 #, no-c-format msgid "" "or press Ctrl C. The " "selected items are copied into an internal clipboard." msgstr "" "oppure premere i tasti Ctrl C. Gli elementi scelti vengono copiati nella bacheca interna." #. Tag: title #: index.docbook:1028 #, no-c-format msgid "Block paste" msgstr "Incolla blocco" #. Tag: para #: index.docbook:1029 #, no-c-format msgid "" "To paste a block select a note or rest as described in Shifting notes. This selected chord or rest is the " "upper left corner of a virtual destination rectangle:" msgstr "" "Per incollare un blocco scegliere una nota o una pausa come descritto in " "Spostare note. Questo elemento " "diventa il punto in alto a sinistra di un rettangolo virtuale di " "destinazione:" #. Tag: phrase #: index.docbook:1035 #, no-c-format msgid "virtual destination rectangle" msgstr "rettangolo virtuale di destinazione" #. Tag: para #: index.docbook:1039 index.docbook:1098 index.docbook:1124 index.docbook:1390 #: index.docbook:2473 index.docbook:2504 index.docbook:2536 index.docbook:3197 #, no-c-format msgid "Choose:" msgstr "Selezionare:" #. Tag: menuchoice #: index.docbook:1041 #, no-c-format msgid "Edit Paste" msgstr "" "Modifica Incolla" #. Tag: para #: index.docbook:1046 #, no-c-format msgid "" "or press Ctrl V. The " "items from internal clipboard are copied to this virtual destination " "rectangle:" msgstr "" "oppure premere i tasti Ctrl V. Nel rettangolo virtuale di destinazione viene copiato il " "contenuto della bacheca interna." #. Tag: phrase #: index.docbook:1053 #, no-c-format msgid "paste complete" msgstr "incolla completo" #. Tag: title #: index.docbook:1059 #, no-c-format msgid "Delete a block" msgstr "Eliminare un blocco" #. Tag: para #: index.docbook:1060 #, no-c-format msgid "" "To delete a block select some elements as described in Select a block. Choose:" msgstr "" "Per eliminare un blocco scegliere gli elementi come descritto in Scegliere un blocco. Selezionare:" #. Tag: menuchoice #: index.docbook:1062 #, no-c-format msgid "" "Edit Delete Block" msgstr "" "Modifica Elimina Blocco" #. Tag: para #: index.docbook:1067 #, no-c-format msgid "Or simply press Ctrl + X. The block is deleted." msgstr "" "oppure premere semplicemente i tasti Ctrl " "X. Il blocco viene eliminato." #. Tag: para #: index.docbook:1068 #, fuzzy, no-c-format msgid "" "Independent of the concrete selection the delete operation influences all " "staves. Only whole measures are deleted." msgstr "" "L'operazione di eliminazione blocco coivolge tutti i pentagrammi." "indipendentemente dalla selezione effettivamente indicata. Vengono eliminate " "solo misure complete." #. Tag: phrase #: index.docbook:1074 #, no-c-format msgid "block delete removes whole measures" msgstr "l'eliminazione di un blocco rimuove l'intera battuta" #. Tag: title #: index.docbook:1079 #, no-c-format msgid "Empty a block" msgstr "Svuotamento di un blocco" #. Tag: para #: index.docbook:1080 #, no-c-format msgid "" "To empty a block means to convert all notes groups to rests of appropriate " "length. Select some elements as described in Select a block:" msgstr "" "Svuotare un blocco significa convertire tutti i gruppi di note in pause di " "durata appropriata. Selezionate alcuni elementi come descritto in Scelta di un blocco:" #. Tag: phrase #: index.docbook:1086 #, no-c-format msgid "selection for empty a block" msgstr "selezione per svuotare un blocco" #. Tag: para #: index.docbook:1090 #, no-c-format msgid "Again, you can deselect some staves by right clicking them:" msgstr "" "Ricordo che potete togliere dalla selezione alcune battute cliccandoci sopra " "con il pulsante destro del mouse:" #. Tag: phrase #: index.docbook:1095 #, no-c-format msgid "selection for empty a block, staff 2 deselected" msgstr "selezione per vuotare un blocco, pentagramma 2 deselezionato" #. Tag: menuchoice #: index.docbook:1100 #, no-c-format msgid "" "Edit Empty Block" msgstr "" "Modifica Svuota blocco" #. Tag: para #: index.docbook:1105 #, no-c-format msgid "Or simply press Ctrl + E. The block is emptied:" msgstr "O semplicemente premere Ctrl + E. Il blocco viene svuotato:" #. Tag: phrase #: index.docbook:1110 #, no-c-format msgid "block emptied" msgstr "blocco svuotato" #. Tag: title #: index.docbook:1115 #, no-c-format msgid "Insert a block of empty measures" msgstr "Inserire un blocco vuoto" #. Tag: para #: index.docbook:1116 #, no-c-format msgid "" "To insert a block of empty measures choose an arbitrary note or rest as " "described in Shifting notes." msgstr "" "Per inserire un blocco vuoto scegliere arbitrariamente una nota o pausa come " "descritto in Modifiche." #. Tag: phrase #: index.docbook:1121 #, no-c-format msgid "select before block insertion" msgstr "selezione prima dell'inserimento di un blocco" #. Tag: menuchoice #: index.docbook:1126 #, no-c-format msgid "" "Insert Insert block" msgstr "" "Inserisci Inserisci blocco" #. Tag: para #: index.docbook:1131 #, no-c-format msgid "" "Determine the number of measures you wish to insert on insert dialog. Click " "OK!" msgstr "" "Indicare nel campo di inserimento dati il numero di battute che si vuole " "aggiungere e premere il pulsante OK!" #. Tag: phrase #: index.docbook:1136 #, no-c-format msgid "block insertion dialog" msgstr "finestra di configurazione di un blocco" #. Tag: para #: index.docbook:1139 #, no-c-format msgid "" "The measures are inserted after the measure with the selected note or rest." msgstr "Le battute vengono inserite dopo quella contenente l'elemento scelto." #. Tag: phrase #: index.docbook:1144 #, no-c-format msgid "block insertion performed" msgstr "inseerimento blocco fatto" #. Tag: title #: index.docbook:1152 #, no-c-format msgid "Handling beams" msgstr "Manipolare stanghette" #. Tag: title #: index.docbook:1154 #, no-c-format msgid "Grouping" msgstr "Raggruppamento" #. Tag: para #: index.docbook:1156 #, no-c-format msgid "" "&nted; places the beams automatically depending on the note length and the " "time signature. This works in most cases. But sometimes the user wishes " "costumized beams. To change the beaming use a special button on toolbar " "which changes its appearence depending of whether there is a selection " "rectangle or not (see Select a block). " "If there is no selection rectangle the button isolates a currently beamed " "note (). To isolate make " "sure &nted; is in edit mode (see The 3 modes). Select a beamed note by left clicking it:" msgstr "" "&nted; posiziona le code in modo automatico in base alla lunghezza della " "nota e del tempo. Nella maggior parte dei casi questo funziona. A volte " "l'utente desidera personalizzare la coda. Per modificare la coda utilizzare " "il pulsante speciale nella Cassetta degli Attrezzi il quale cambia aspetto a " "seconda se è stato selezionato un blocco di note o meno (vedere Selezionare un blocco). Se non c'è alcun " "rettangolo di selezione il pulsante isola la nota scelta " "(). Per isolarla " "assicurarsi che &nted; sia in modalità Modifica (vedere Le 3 modalità). Selezionare una nota collegata " "cliccandoci sopra con il pulsante sinistro del mouse:" #. Tag: phrase #: index.docbook:1166 #, no-c-format msgid "The situation before isolation" msgstr "La situazione prima della separazione" #. Tag: para #: index.docbook:1169 #, no-c-format msgid "" "Then press the isolate button ():" msgstr "" "Quindo premere il pulsante isolare " "():" #. Tag: phrase #: index.docbook:1176 #, no-c-format msgid "The situation after isolation" msgstr "La situazione dopo la separazione" #. Tag: para #: index.docbook:1180 #, no-c-format msgid "The note is isolated." msgstr "La nota viene isolata" #. Tag: para #: index.docbook:1182 #, no-c-format msgid "" "To connect some notes with a beam, select them as described in Select a block:" msgstr "" "Per collegare alcune note con le stanghette sceglietele come descritto in " "Scegliere un blocco:" #. Tag: phrase #: index.docbook:1188 index.docbook:1199 index.docbook:1209 index.docbook:1219 #, no-c-format msgid "The situation before connection" msgstr "La situazione prima dell'unione" #. Tag: para #: index.docbook:1192 #, no-c-format msgid "" "The button changes its appearence " "(). Press the button and " "&nted; connects the notes by a beam:" msgstr "" "Il pulsante cambia il suo aspetto " "(). Premere il pulsante " "e &nted; collegerà le note con le stanghette:" #. Tag: para #: index.docbook:1203 #, no-c-format msgid "" "Note! This function can break beams as well, if the selection rectangle " "crosses an existing beam:" msgstr "" "Nota! Questa funzione può interrompere allo stesso modo le stanghette, se il " "rettangolo di selezione attraversa una stanghetta esistente:" #. Tag: para #: index.docbook:1213 #, no-c-format msgid "This results in:" msgstr "Questo da quale risultato:" #. Tag: para #: index.docbook:1223 #, fuzzy, no-c-format msgid "" "Instead of pressing the button you can use Ctrl " "J independent of the button's appearence." msgstr "" "Invece di premere il pulsante si possono usare i tasti " "Ctrl J " "indipendentemente dalla situazione del pulsante." #. Tag: title #: index.docbook:1228 #, no-c-format msgid "Changing the beam parameters" msgstr "Modificare i parametri delle stanghette" #. Tag: para #: index.docbook:1230 #, no-c-format msgid "" "To change the stem direction make sure &nted; is in edit mode (see The 3 modes) select the first or the last note " "with left mouse button and press the change stem dir button " "()." msgstr "" "Per cambiare la direzione del gambo assicurarsi che &nted; sia in modalità " "Modifica (vedere Le 3 modalità). " "Selezionare la prima e l'ultima nota col pulsante sinistro del mouse e " "premere il pulsante Cambia Direzione del Gambo " "()!" #. Tag: para #: index.docbook:1233 #, no-c-format msgid "" "Instead of pressing the change stem dir button " "() you can " "simply press Ctrl F " "twice." msgstr "" "Invece di premere il pulsante () si può semplicemente premere due volte i tasti " "Ctrl F." #. Tag: para #: index.docbook:1237 #, no-c-format msgid "" "&nted; computes the beam position and slope depending on the position of the " "beamed notes. This works in most cases. But sometimes the user wishes to " "change the beam parameters. To change the beam position make sure &nted; is " "in edit mode (see The 3 modes) and select " "the first note with left mouse button:" msgstr "" "&nted; elabora la posizione l'estensione delle stanghette a seconda della " "posizione delle note collegate. Nella maggior parte dei casi questa " "elaborazione. Ma a volte l'utente desidera modificarne i parametri.Per farlo " "assicurarsi che &nted; sia in modalità Modifica (vedere Le 3 modalità) e scegliere la prima nota con il " "pulsante sinistro del mouse:" #. Tag: phrase #: index.docbook:1246 #, no-c-format msgid "beam position 0" msgstr "posizione stanghetta 0" #. Tag: para #: index.docbook:1250 #, no-c-format msgid "" "The stem has a handle represented by a small blue square. Select this handle " "with left mouse button and move it up or down. The beam follows this motion:" msgstr "" "Il gambo ha una maniglia rappresentata da un quadratino blu. Selezionare " "questa maniglia con il pulsante sinistro del mouse muovendolo sù e giù. La " "stanghetta si sposterà di conseguenza:" #. Tag: phrase #: index.docbook:1257 #, no-c-format msgid "beam position 1" msgstr "posizione stanghetta 1" #. Tag: para #: index.docbook:1261 #, no-c-format msgid "To change the beam's slope select the last note with left mouse button:" msgstr "" "Per modificare l'inclinazione della stanghetta selezionare l'ultima nota con " "il pulsante sinistro del mouse:" #. Tag: phrase #: index.docbook:1267 #, no-c-format msgid "beam slope 0" msgstr "inclinazione stanghetta 0" #. Tag: para #: index.docbook:1271 #, no-c-format msgid "" "The stem has a handle represented by a small blue square. Select this handle " "with left mouse button and move it up or down. The slope changes according " "to this motion:" msgstr "" "Il gambo ha una maniglia rappresentata da un quadratino blu. Selezionare " "questa maniglia con il pulsante sinistro del mouse e spostarsi sù e giù. " "L'inclinazione si modifica seguendo il movimento:" #. Tag: phrase #: index.docbook:1278 #, no-c-format msgid "beam slope 1" msgstr "inclinazione stanghetta 1" #. Tag: title #: index.docbook:1286 #, no-c-format msgid "Handling stems" msgstr "Manipolare i gambi" #. Tag: para #: index.docbook:1288 #, no-c-format msgid "" "To change the stem direction make sure &nted; is in edit mode (see The 3 modes) select the note with left mouse " "button and press the change stem dir button " "()." msgstr "" "Per modificare la direzione del gambo assicurarsi che &nted; sia in modalità " "Modifica (vedere Le 3 modalità). " "Selezionare la nota col pulsante sinistro del mouse e premere il pulsante " "Cambia Direzione del Gambo ()!" #. Tag: para #: index.docbook:1293 #, no-c-format msgid "" "Instead of pressing the change stem dir button " "() you can " "simply press Ctrl F." msgstr "" "Invece di premere il pulsante di modifica della direzione del gambo " "() si può " "semplicemente premereCtrl F." #. Tag: para #: index.docbook:1297 #, no-c-format msgid "" "All notes have a default stem length. This is OK in most cases. But " "sometimes the user wishes to change the stem length. To do this make sure " "&nted; is in edit mode (see The 3 modes) " "and select the note with left mouse button:" msgstr "" "Tutte le note hanno una lunghezza del gambo predefinita. Questo va bene " "nella maggior parte dei casi. Ma in alcuni casi l'utente potrebbe volerla " "cambiare. Per farlo assicurarsi che &nted; sia in modalità Modifica (vedere " "Le 3 modalità) e scegliete le note con il " "pulsante sinistro del mouse:" #. Tag: phrase #: index.docbook:1304 #, no-c-format msgid "stem length 0" msgstr "lunghezza del gambo 0" #. Tag: para #: index.docbook:1308 #, no-c-format msgid "" "The stem has a handle represented by a small blue square. Select this handle " "with left mouse button and move it up or down. The stem length changes " "according to this motion:" msgstr "" "Il gambo ha una maniglia rappresentata da un quadratino blu. Selezionare " "questa maniglia con il pulsante sinistro del mouse e spostarsi in sù e giù. " "La lunghezza del gambo si modifica in base al movimento:" #. Tag: phrase #: index.docbook:1315 #, no-c-format msgid "stem length 1" msgstr "lunghezza gambo 1" #. Tag: title #: index.docbook:1322 #, no-c-format msgid "Horizontal spacement" msgstr "Spaziatura orizzontale" #. Tag: title #: index.docbook:1324 #, no-c-format msgid "Global Spacement" msgstr "Spaziature globale" #. Tag: para #: index.docbook:1325 #, no-c-format msgid "" "&nted; applies a predefined horizontally spacing. This looks good in most " "cases. But sometimes the user wishes a different spacement. To change the " "horizontal spacement globally choose:" msgstr "" "&nted; applica una spaziatura orizzontale predefinita. Nella maggior parte " "dei casi questo si presenta correttamente. L'utente però può desiderare di " "avere una spaziatura diversa. Per cambiare globalmente la spaziatura " "orizzontale scegliere:" #. Tag: menuchoice #: index.docbook:1328 #, no-c-format msgid "" "Edit Change spacement ..." msgstr "" "Modifica Cambia spaziatura ..." "" #. Tag: para #: index.docbook:1334 #, no-c-format msgid "The spacement dialog appears:" msgstr "Appare la finestra di configurazione della spaziatura" #. Tag: phrase #: index.docbook:1339 #, no-c-format msgid "the spacement dialog" msgstr "la finestra di configurazione della spaziatura" #. Tag: para #: index.docbook:1343 #, no-c-format msgid "" "Change the spacement factor and press OK! &nted; applies the new horizontal " "spacement:" msgstr "" "Modificare il fattore di spaziatura e premere OK! &nted; applicherà la nuova " "spaziatura orizzontale:" #. Tag: phrase #: index.docbook:1348 #, no-c-format msgid "the global spacement" msgstr "la spaziatura globale" #. Tag: title #: index.docbook:1354 #, no-c-format msgid "Changing the horizontal spacement measurewise" msgstr "Modificare la spaziatura orizzontale uniformemente" #. Tag: para #: index.docbook:1355 #, no-c-format msgid "" "&nted; allowes you to change the spacment measurewise. To do this select an " "arbitrary note of the measure, as described in Shifting notes. Then press an hold the shift key and turn the " "mouse wheel! The horizontal spaces of the measure change accordingly." msgstr "" "&nted; permette di modificare la apaziatura rispettando le proporzioni della " "battuta. Per farlo basta selezionare una nota della misura, come descritto " "in Spostare le note. Quindi premere " "e tenere premuto il tasto Shift facendo girare la rotellina del mouse! La " "spaziatura orizzontale si modifica di conseguenza." #. Tag: para #: index.docbook:1360 #, no-c-format msgid "" "Instead of using the mouse wheel you can also use Shift CursorUp and Shift CursorDown." msgstr "" "Invece di utilizzare la rotellina del mouse si possono usare i tasti " "Shift Freccia in Sù e " "Shift Freccia in Giù." #. Tag: phrase #: index.docbook:1367 #, no-c-format msgid "horizontal space per measure" msgstr "spazioatura orizzantale per battuta" #. Tag: title #: index.docbook:1376 #, no-c-format msgid "System Layout" msgstr "Impaginazione di sistema" #. Tag: para #: index.docbook:1377 #, no-c-format msgid "" "You can group the staves by means of braces and brackets. Furthermore, " "&nted; allows you to determine whether the measure lines of subsequent " "staves are connected or not." msgstr "" "Si può raggruppare i pentagrammi con l'uso di parentesi e grafe. Inoltre " "&nted; permette di indicare se le battute dei pentagrammi successivo siano " "allimeae o meno." #. Tag: para #: index.docbook:1380 #, no-c-format msgid "" "To do this mark a block of staves as described in chapter Select a block." msgstr "" "Per faarlo segnare un blocco di pentagrammi come descritto nel capitolo " "Scegliere un blocco." #. Tag: phrase #: index.docbook:1386 #, no-c-format msgid "selected block" msgstr "blocco selezionato" #. Tag: menuchoice #: index.docbook:1392 #, no-c-format msgid "" "Edit System layout ..." msgstr "" "Modifica Struttura del " "sistema ..." #. Tag: para #: index.docbook:1397 #, no-c-format msgid "Select one of the offered menu items:" msgstr "Scegliere una delle voci indicate nel menu:" #. Tag: para #: index.docbook:1399 #, no-c-format msgid "" "brace - This groups the selected staves by " "means of a brace." msgstr "" "grafa - Questa raggruppa i pentagrammi " "selezionati con una grafa." #. Tag: para #: index.docbook:1400 #, no-c-format msgid "" "bracket - This groups the selected staves " "by means of a bracket." msgstr "" "parentesi - Questa raggruppa i pentagrammi " "selezionati con una parentesi." #. Tag: para #: index.docbook:1401 #, no-c-format msgid "" "connect barlines - This causes the bar " "lines of the selected staves to be connected." msgstr "" "collega barrette - Questa unisce le barre " "di battuta dei pentagrammi selezionati." #. Tag: para #: index.docbook:1402 #, no-c-format msgid "" "remove group - This removes a staff group " "created with one of the 3 methods above." msgstr "" "elimina unioni - Questa elimina i " "ragruppamenti fatti con le 3 scelte indicate sopra." #. Tag: phrase #: index.docbook:1409 #, no-c-format msgid "staff layout" msgstr "struttura del pentagramma" #. Tag: para #: index.docbook:1413 #, no-c-format msgid "" "To name a staff group, fill in the group name, or group short name, " "respectively (see: Change staff properties) of the lowest staff of this group:" msgstr "" #. Tag: phrase #: index.docbook:1420 #, no-c-format msgid "a group name" msgstr "" #. Tag: title #: index.docbook:1425 #, no-c-format msgid "Tuplets" msgstr "Gruppi irregolari" #. Tag: title #: index.docbook:1428 #, no-c-format msgid "Create tuplets" msgstr "Creare un gruppo irregolare" #. Tag: para #: index.docbook:1429 #, no-c-format msgid "" "&nted; can deal with tuplets from 2 to 13. To create a tuplet select a note " "or rest which shall be the first member of the tuplet. Press Ctrl and the " "tuplet val number. For instance: If you want a quarter note to be the first " "member of a triplet then select the quarter note:" msgstr "" "&nted; può gestire dei gruppi irregolari da 2 a 13 note. Per creare un " "gruppo irregolare scegliere una nota o una pausa che diventerà il primo " "membro del gruppo irregolare. Premere il tasto Ctrl e il numero di membri " "del gruppo. Per esempio: se volessimo che una semiminima sia il primo membro " "del gruppo allora scegliamo quella nota:" #. Tag: phrase #: index.docbook:1436 #, no-c-format msgid "before triplet creation" msgstr "prima della creazione del gruppo irregolare" #. Tag: para #: index.docbook:1439 #, no-c-format msgid "and press Ctrl + 3:" msgstr "e premere il tasto Ctrl e la cifra 3:" #. Tag: phrase #: index.docbook:1444 #, no-c-format msgid "after triplet creation (method1)" msgstr "dopo la creazione del gruppo irregolare (metodo 1)" #. Tag: para #: index.docbook:1448 #, no-c-format msgid "" "There is a 2nd procedure if you press Ctrl+Alt+<num> instead, the " "result is:" msgstr "" "Esiste un secondo metodo premendo contemporaneamente i tasti Ctrl + Alt + " "cifra, in questo caso il risultato è:" #. Tag: phrase #: index.docbook:1453 #, no-c-format msgid "after triplet creation (method2)" msgstr "dopo la creazione di un gruppo irregolare (metodo 2)" #. Tag: para #: index.docbook:1457 #, no-c-format msgid "" "What's the difference? In first case &nted; regards the selected note as the " "first triplet member. In 2nd case it assumes the selected quarter has the " "length of the first 2 triplet members. This is especially useful for swing " "music where the combination shown above occurs very often." msgstr "" "Qual'è la differenza? Nel primo caso &nted; considera la nota scelta quale " "prima nota della terzina. Nel secondo caso presuppone che la semiminima " "scelta abbia la lunghezza dei primi 2 membri della terzina. Questo è " "particolarmente utile nella musica swing, nella quale si incontra molto " "spesso la combinazione mostrata." #. Tag: title #: index.docbook:1464 #, no-c-format msgid "Delete tuplets" msgstr "Eliminare i gruppi irregolari" #. Tag: para #: index.docbook:1465 #, no-c-format msgid "To delete a tuplet select any tuplet member and choose:" msgstr "" "Per eliminare un gruppo irregolare scegliere uno qualsiasi dei membri e " "selezionare:" #. Tag: menuchoice #: index.docbook:1467 #, no-c-format msgid "" "Edit Remove tuplet" msgstr "" "Modifica Elimina gruppo" #. Tag: title #: index.docbook:1474 #, no-c-format msgid "Tuplets from 10 to 13" msgstr "Gruppi irregolari da 10 a 13" #. Tag: para #: index.docbook:1475 #, no-c-format msgid "To create a tuplet with value greater then 9 choose:" msgstr "" "Per creare un gruppo irregolare con un numero di membri maggiori di 9 " "selezionare:" #. Tag: menuchoice #: index.docbook:1477 #, no-c-format msgid "" "Insert Insert tuplet ..." msgstr "" "Inserire Inserire gruppo " "irregolare ..." #. Tag: para #: index.docbook:1483 #, no-c-format msgid "" "Set the tuplet value on dialog! To create a tuplet according to 2nd method " "(see above) select the method 2 check box." msgstr "" "Inserire il numero di membri nella finestra di configurazione! Per creare un " "gruppo come nel secondo metodo (vedere sopra) spuntate la casella " "metodo 2." #. Tag: title #: index.docbook:1489 #, no-c-format msgid "Slurs" msgstr "Legature" #. Tag: title #: index.docbook:1492 #, no-c-format msgid "Inserting slurs" msgstr "Inserire legature" #. Tag: para #: index.docbook:1494 #, fuzzy, no-c-format msgid "" "To insert a slur make sure &nted; is in edit mode (see The 3 modes). Select some notes as described in Select a block:" msgstr "" "Per la modifica del testo assicurarsi che &nted; sia in modalità Modifica " "(vedere Le 3 modalità). Selezionare una " "nota con il testo e scegliere:" #. Tag: phrase #: index.docbook:1501 #, fuzzy, no-c-format msgid "before a slur is created" msgstr "viene creata una legatura" #. Tag: para #: index.docbook:1505 #, fuzzy, no-c-format msgid "Then Choose:" msgstr "Selezionare:" #. Tag: menuchoice #: index.docbook:1507 #, no-c-format msgid "" "Insert Slur" msgstr "" "Inserisci Legatura" #. Tag: para #: index.docbook:1513 #, fuzzy, no-c-format msgid "" "or press Ctrl H. The " "slur appears:" msgstr "" "oppure premere Ctrl H." #. Tag: phrase #: index.docbook:1519 #, fuzzy, no-c-format msgid "after a slur is created" msgstr "viene creata una legatura" #. Tag: para #: index.docbook:1523 #, no-c-format msgid "" "As you can see the slur has 3 handles. By left clicking and dragging these " "handles you can determine the exact slur shape:" msgstr "" "Come si può osservare la legatura ha tre maniglie. L'esatta forma della " "legatura viene determinata dalla posizione di queste tre maniglie:" #. Tag: phrase #: index.docbook:1529 #, no-c-format msgid "a slur is created" msgstr "viene creata una legatura" #. Tag: title #: index.docbook:1535 #, no-c-format msgid "Modifiying slurs" msgstr "Modificare la legatura" #. Tag: para #: index.docbook:1537 #, no-c-format msgid "" "Although the slur handles appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Per quanto le maniglie della legatura possano sembrare poter essere " "posizionate liberamente, esse sono sempre associate ad un elemento. " "L'elemento e la maniglia sono collegati da una sottile linea azzurra:" #. Tag: phrase #: index.docbook:1544 #, no-c-format msgid "the assignment of the slur handles" msgstr "assegnazione di una maniglia alla legatura" #. Tag: para #: index.docbook:1548 index.docbook:1853 index.docbook:1971 index.docbook:2067 #: index.docbook:2206 index.docbook:2302 #, no-c-format msgid "This has consequences:" msgstr "Da questo ne consegue che:" #. Tag: para #: index.docbook:1550 #, no-c-format msgid "" "&nted; tries to keep the position of the slur handle relative to the symbol " "it is assigned to;" msgstr "" "&nted; cerca di mantenere la posizione delle maniglie della legatura in " "corrispondenza degli elementi a cui sono associate;" #. Tag: para #: index.docbook:1551 #, no-c-format msgid "&nted; removes the slur if the symbol it is assigned to is removed;" msgstr "&nted; elimina le legature se l'elemento associato viene eliminato;" #. Tag: para #: index.docbook:1554 #, no-c-format msgid "" "To change a slur's shape make sure &nted; is in edit mode (see The 3 modes). Select the start or end of a slur with " "left mouse button. The 3 handles appear again:" msgstr "" "Per la modifica della forma della legatura occorre assicurarsi che &nted; " "sia in modalità Modifica (vedere Le 3 modalità). Selezionare l'inizio o la fine della legatura con il pulsante " "sinistro del mouse. Le 3 maniglie vengono nuovamente visualizzate:" #. Tag: phrase #: index.docbook:1560 #, no-c-format msgid "the selection of the slur handles" msgstr "selezione della maniglia della legatura" #. Tag: para #: index.docbook:1564 #, no-c-format msgid "Thus, you can change the slur's shape again by dragging the 3 handles." msgstr "" "Quindi si può cambiare ancora l'aspetto della legatura trascinando le 3 " "maniglie." #. Tag: title #: index.docbook:1568 #, no-c-format msgid "Deleting a slur" msgstr "Eliminare una legatura" #. Tag: para #: index.docbook:1569 #, no-c-format msgid "" "To delete a slur make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Left click the start or and of a slur. " "The selected handle appears in red color. Press the backspace key and the " "slur will be deleted." msgstr "" "Per eliminare unalegatura assicurarsi che &nted; sia in modalità di " "\"modifica\" (vedere Le 3 modalità). " "Ricordate che si può attivare questa modalità premendo il tasto Ctrl. " "Cliccare col pulsante sinistro del mouse sull'inizio o la fine della " "legatura. La legatura selezionata diventa rossa. Premere il tasto \"backspace" "\" e la legatura viene eliminata." #. Tag: title #: index.docbook:1576 #, no-c-format msgid "Repeats and other bar types" msgstr "Ripetizioni e altri tipi di barre" #. Tag: title #: index.docbook:1578 #, no-c-format msgid "Simple Repeats" msgstr "Ripetizioni semplici" #. Tag: para #: index.docbook:1579 #, no-c-format msgid "" "To place a repeat open or repeat close make sure &nted; is in edit mode (see " "The 3 modes). Right click a measure line. " "The repeat dialog appears:" msgstr "" "Per indicare un inizio o fine di una ripetizione assicurarsi di essere in " "modalità Modifica (vedere Le 3 modalità). " "Premere il pulsante destro del mouse sopra la linea della battuta. Appare la " "finestra di impostazione:" #. Tag: phrase #: index.docbook:1585 #, no-c-format msgid "the repeat dialog" msgstr "finestra di configurazione della ripetizione" #. Tag: para #: index.docbook:1588 #, no-c-format msgid "" "Choose one of the offered repeat types by clicking the up/down arrow and " "press Ok button. The appropriate measure changes its type:" msgstr "" "Scegliere un tipo di ripetizione tra quelle proposte mediante i pulsanti " "freccia Sù/Giù e confermare premendo il pulsante Ok. La linea della battuta " "relativa cambia tipo:" #. Tag: phrase #: index.docbook:1594 #, no-c-format msgid "the repeat open measure" msgstr "la misura aperta della ripetizione" #. Tag: title #: index.docbook:1599 #, no-c-format msgid "Alternatives" msgstr "Alternative" #. Tag: para #: index.docbook:1600 #, no-c-format msgid "" "If you select a closing repeat on repeat dialog the checkbox " "alternative1 is enabled. If you check it " "the checkbox alternative2 is enabled:" msgstr "" "Selezionando una fine ripetizione nella finestra delle impostazioni delle " "ripetizioni, è abilitato il pulsante di spunta alternativa " "1, se viene tolta la spunta allora viene spuntato " "alternativa 2." #. Tag: phrase #: index.docbook:1606 #, no-c-format msgid "the alternative checkboxes" msgstr "le caselle di spunta alternative" #. Tag: para #: index.docbook:1609 #, no-c-format msgid "This way you can place the appropriate alternatives:" msgstr "In questo modo si possono indicare le alternative appropriate." #. Tag: phrase #: index.docbook:1615 #, no-c-format msgid "the alternative" msgstr "le alternative" #. Tag: para #: index.docbook:1618 #, no-c-format msgid "" "Both alternatives cover one measure at start. To change the alternative's " "width select 1. or 2. with left mouse click. The selected number appears red:" msgstr "" "Entrambe le alternative riempiono una misura all'inizio. Per modificarle " "scegliere 1. o 2., cliccandoci sopra con il pulsante sinistro del mouse. Il " "numero selezionato diventerà rosso." #. Tag: phrase #: index.docbook:1624 #, no-c-format msgid "the selected alternative" msgstr "le alternative selezionate" #. Tag: para #: index.docbook:1627 #, no-c-format msgid "Change the alternative width by pressing the left/right cursor key:" msgstr "" "Cambiare le alternative mediante la pressione del tasto freccia destra/" "sinistra:" #. Tag: phrase #: index.docbook:1632 #, no-c-format msgid "the changed alternative" msgstr "le alternative modificate" #. Tag: para #: index.docbook:1635 #, no-c-format msgid "" "To delete an alternative select the appropriate closing repeat and deselect " "the appropriate checkbox." msgstr "" "Per eliminare una alternativa scegliere la chiusura della ripetizione e " "togliere la spunta dalla casella relativa." #. Tag: title #: index.docbook:1638 #, no-c-format msgid "End bar" msgstr "barra finale" #. Tag: para #: index.docbook:1639 #, no-c-format msgid "The same way you can insert an end bar:" msgstr "Nello stesso modo si può inserire la barra finale:" #. Tag: phrase #: index.docbook:1644 #, no-c-format msgid "double bar and end bar" msgstr "barra doppia e barra finale" #. Tag: para #: index.docbook:1648 #, no-c-format msgid "" "If you choose the end bar or repeat close you can control by hide " "following whether or not &nted; draws elements following the end " "bar on the same system:" msgstr "" "Scegliendo la barra finale o fine ripetizione si può controllarle con " "nascondi il successivo se &nted; tracci o meno gli " "elementi dello stesso rigo che seguono la barra finale:" #. Tag: phrase #: index.docbook:1654 index.docbook:1662 #, no-c-format msgid "the end bar dialog" msgstr "finestra di configurazione della barra finale" #. Tag: para #: index.docbook:1657 #, no-c-format msgid "It is your responsibility to delete following systems or pages!" msgstr "" "L'eliminazione dei righi o pagine successive sono responsabilità dell'utente!" "L'eliminazione dei righi o pagine successive sono responsabilità dell'utente!" #. Tag: title #: index.docbook:1668 #, no-c-format msgid "Double bar" msgstr "Doppia barra" #. Tag: para #: index.docbook:1669 #, no-c-format msgid "The same way you can insert a double bars:" msgstr "Allo stesso modo è possibile inserire una barra doppia:" #. Tag: phrase #: index.docbook:1674 #, no-c-format msgid "double bar" msgstr "barra doppia" #. Tag: title #: index.docbook:1681 #, no-c-format msgid "Time signature changes" msgstr "Modifiche dell'indicazione del tempo" #. Tag: title #: index.docbook:1683 #, no-c-format msgid "Inserting or changing time signature changes" msgstr "Inserire o modificare l'indicazione del tempo" #. Tag: para #: index.docbook:1684 #, no-c-format msgid "" "To place a time signature change make sure &nted; is in edit mode (see The 3 modes). Right click a measure line. On " "dialog box select enable timesig" msgstr "" "Per indicare un cambiamento dell'inndicazione del tempo assicursi che &nted; " "sia in modalità \"Modifica\" (vedere Le 3 " "modalità). Cliccare con il pulsante destro del mouse sopra una linea " "di battuta. Spuntare la voce abilita segnatempo nella " "finestra di configurazione." #. Tag: phrase #: index.docbook:1690 index.docbook:1702 #, no-c-format msgid "the timesig changed dialog" msgstr "" "la finestra di configurazione della modifica dell'indicazione del tempola " "finestra di configurazione della modifica dell'indicazione del tempo" #. Tag: para #: index.docbook:1694 #, fuzzy, no-c-format msgid "" "On time signature panel choose the new numerator and denominator or one of " "the symbols or " " and press Ok:" msgstr "" "Per cambiare pannello premere il pulsante successivo " "() oppure " "precedente ()." #. Tag: title #: index.docbook:1712 #, no-c-format msgid "Removing a time signature change" msgstr "Togliere una modifica dell'indicazione del tempo" #. Tag: para #: index.docbook:1713 #, no-c-format msgid "" "To delete an existing time signature change select the delete " "timesig checkbox." msgstr "" "Per togliere una modifica dell'indicazione del tempo spuntare la voce " "elimina segnatempo nella finestra di configurazione." #. Tag: title #: index.docbook:1718 #, no-c-format msgid "Clef changes" msgstr "Cambiare chiave" #. Tag: title #: index.docbook:1720 #, no-c-format msgid "Inserting clef changes" msgstr "Inserire una modifica della chiave" #. Tag: para #: index.docbook:1721 #, no-c-format msgid "" "To place a clef change make sure &nted; is in insert/delete mode (see The 3 modes). Choose:" msgstr "" "Per posizionare un cambio di chiave assicurarsi che &nted; sia in modalità " "\"inserimento/modifica\" (vedere Le 3 modalità). Scegliere:" #. Tag: menuchoice #: index.docbook:1723 #, no-c-format msgid "" "Insert Clefs" msgstr "" "Inserisci Chiave" #. Tag: para #: index.docbook:1729 #, no-c-format msgid "The clef change dialog appears:" msgstr "Appare la finestra di configurazione della chiave:" #. Tag: phrase #: index.docbook:1735 #, no-c-format msgid "the clef change dialog" msgstr "la finestra di configurazione della modifica di chiave" #. Tag: para #: index.docbook:1739 #, no-c-format msgid "" "Choose a clef by clicking the up/down arrow keys! The octave shift entry " "determins an optional octave shift of the clef." msgstr "" "Scegliere una chiave cliccando sui pulsanti sù/giù. L'indicazione dello " "spostamento di ottava determina un eventuale spostameto di ottava della " "chiave stessa." #. Tag: para #: index.docbook:1759 #, no-c-format msgid "" "The adjust notes determins whether or not " "&nted; shall adjust the appropriate notes such that their pitch is kept. " "Press the Ok button! Click at the position " "to place the clef change on! The appropriate clef appears:" msgstr "" "La sistema note stabilisce se &nted; debba " "o meno sistemare la nota appropriata affinchè mantenga la propria tonalità. " "Premere il pulsante Ok! Cliccare nella " "posizione in cui si vuole modificare la chiave! La chiave appropriata viene " "posizionata:" #. Tag: phrase #: index.docbook:1766 #, no-c-format msgid "the clef change" msgstr "il cambio di chiave" #. Tag: title #: index.docbook:1772 #, no-c-format msgid "Deleting a clef change" msgstr "Eliminare un cambio di chiave" #. Tag: para #: index.docbook:1773 #, no-c-format msgid "" "To delete a clef change make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Click the clef change with left mouse " "button. The selected clef change appears in red color. Press the backspace " "key and the clef change will be deleted." msgstr "" "Per eliminare un cambio di chiave assicurarsi che &nted; sia in modalità di " "\"modifica\" (vedere Le 3 modalità). " "Ricordate che si può attivare questa modalità premendo il tasto Ctrl. " "Cliccare sulla modifica della chiave con il pulsante sinistro del mouse. La " "chiave selezionata si colora di rosso. Premere il tasto \"backspace\" e il " "cambio di chiave sparisce." #. Tag: title #: index.docbook:1780 #, no-c-format msgid "Key signature changes" msgstr "Modifiche della tonalità" #. Tag: title #: index.docbook:1782 #, no-c-format msgid "Inserting key signature changes" msgstr "Inserire un cambio di tonalità" #. Tag: para #: index.docbook:1783 #, no-c-format msgid "" "To place a key signature change make sure &nted; is in insert/delete mode " "(see The 3 modes). Choose:" msgstr "" "Per piazzare un cambio di tonalità assicurarsi che &nted; sia in modalità " "Inserire/Eliminare (vedere Le 3 modalità)." #. Tag: menuchoice #: index.docbook:1785 #, no-c-format msgid "" "Insert Insert keysig ..." msgstr "" "Inserisci Inserire " "tonalità ..." #. Tag: para #: index.docbook:1791 #, no-c-format msgid "The key signature dialog appears:" msgstr "Appare la finestra di configurazione delle tonalità:" #. Tag: phrase #: index.docbook:1796 #, no-c-format msgid "key signature dialog" msgstr "la finestra di configurazine della tonalità" #. Tag: para #: index.docbook:1800 #, no-c-format msgid "" "Choose the new key signature. The adjust notes determins whether or not &nted; shall adjust the appropriate " "notes such that their pitch is kept. Press the Ok button! Click at the position to place the key signature " "change on:" msgstr "" "Scegliere la nuova tonalità. Con sistema note si stbilisce se &nted; debba o meno sistemare le note " "relative in modo che sia mantenuta la loro tonalità. Premere il pulsante " "Ok! Premere nel punto in cui inserire il " "cambio di tonalità:" #. Tag: phrase #: index.docbook:1807 #, no-c-format msgid "the key signature change" msgstr "la tonalità cambia" #. Tag: title #: index.docbook:1813 #, no-c-format msgid "Deleting a key signature change" msgstr "Eliminare una modifica della tonalità" #. Tag: para #: index.docbook:1814 #, no-c-format msgid "" "To delete a key signature change make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Click the key signature change with " "left mouse button. The selected key signature appears in red color. Press " "the backspace key and the key signature change will be deleted." msgstr "" "Per eliminare una modifica di tonalità assicurarsi che &nted; sia in " "modalità Modifica (vedere Le 3 modalità). " "Ancora; si può attivare questa modalità premendo il tasto Ctrl. Cliccate " "sulla modifica di tonalità che diventerà rossa. Premere il tasto backspace e " "essa verrà eliminata." #. Tag: title #: index.docbook:1821 #, no-c-format msgid "Dynamics" msgstr "Espressioni" #. Tag: title #: index.docbook:1823 #, no-c-format msgid "Insert dynamics" msgstr "Inserire espressioni" #. Tag: para #: index.docbook:1825 #, no-c-format msgid "" "To insert a dynamic symbol make sure &nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "Per inserire un segno d'espressione assicurarsi che &nted; sia in modalità " "\"inserimento/modifica\" (vedere Le 3 modalità). Scegliere:" #. Tag: menuchoice #: index.docbook:1827 #, no-c-format msgid "" "Insert Dynamics ..." msgstr "" "Inserisci Espressione" #. Tag: para #: index.docbook:1833 #, no-c-format msgid "" "Choose the dynamic symbol and click at the position to place the dynamic " "sign on." msgstr "" "Scegliere il segno d'espressione e cliccare nella posizione desiderata per " "inserirlo nella posizione indicata." #. Tag: title #: index.docbook:1837 #, no-c-format msgid "Change the dynamic's position" msgstr "Modificare la posizione delle espressioni" #. Tag: para #: index.docbook:1838 #, no-c-format msgid "" "To move a dynamic symbol make sure &nted; is in edit mode (see The 3 modes). Select the dynamic symbol by left " "clicking it. The selected symbol appears in red. Hold left mouse button and " "move the mouse. The dynamic symbol moves accordingly." msgstr "" "Per spostare un segno d'espressione assicurarsi che &nted; sia in modalità " "Modifica (vedere Le 3 modalità). " "Selezionare il segno cliccandoci sopra con il pulsante sinistro del mouse. " "Il segno selezionato appare in rosso. Tenere premuto il pulsante del mouse a " "spostare il mouse. Il segno si muoverà seguendo il movimento del puntatore." #. Tag: para #: index.docbook:1842 #, no-c-format msgid "" "Although the dynamic symbols appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Per quanto i segni d'espressione sembrano poter essere posizionati " "liberamente, essi sono comunque sempre associati ad un elemento. Tale " "elemento è collegato al segno d'espressione da una sottile linea azzurra." #. Tag: phrase #: index.docbook:1849 #, no-c-format msgid "the assignment of dynamics" msgstr "l'assegnazione delle espressioni" #. Tag: para #: index.docbook:1855 #, no-c-format msgid "" "&nted; tries to keep the position of the dynamic symbol relative to the " "symbol it is assigned to;" msgstr "" "&nted; tenta di mantenere la posizione del segno d'espressione relativamente " "a quella dell'elemento ad esso associato;" #. Tag: para #: index.docbook:1856 #, no-c-format msgid "" "&nted; copies the dynamic symbol if the symbol it is assigned to is copied;" msgstr "" "&nted; copia il segno d'espressione assieme all'elemento associato quando " "questo viene copiato;" #. Tag: para #: index.docbook:1857 #, no-c-format msgid "" "&nted; removes the dynamic symbol if the symbol it is assigned to is removed;" msgstr "" "&nted; elimina il segno d'espressione assieme all'elemento associato rimosso;" #. Tag: para #: index.docbook:1858 #, no-c-format msgid "" "&nted; influences the volume of the staff of the symbol it is assigned to;" msgstr "" "&nted; determina il volume della battuta contenente l'elemento associato;" #. Tag: title #: index.docbook:1863 #, no-c-format msgid "Determine the MIDI volume of a dynamic symbol" msgstr "Stabilire il volume MIDI di un segno d'espressione" #. Tag: para #: index.docbook:1864 #, no-c-format msgid "" "Every dynamic symbol has a predefined MIDI volume between 0 and 127. To " "change the MIDI volume click the dynamic symbol with right mouse button. The " "volume dialog appears:" msgstr "" "Ad ogni simbolo d'espressione viene assegnato un livello di volume, da 0 a " "127, predefinito . Per modificare tale assegnazione cliccare con il pulsante " "destro del mouse sul segno d'espressione. In questo modo si apre la finestra " "di configurazione del volume:" #. Tag: phrase #: index.docbook:1871 index.docbook:2009 #, no-c-format msgid "the volume dialog" msgstr "la finestra di configurazione del volume" #. Tag: para #: index.docbook:1875 #, no-c-format msgid "Select a MIDI volume and press OK!" msgstr "" "Scegliere nella finestra di configurazione Il volume MIDI da assegnare e " "premere OK!" #. Tag: title #: index.docbook:1880 #, no-c-format msgid "Removing dynamics" msgstr "Eliminare le espressioni" #. Tag: para #: index.docbook:1881 #, no-c-format msgid "" "To remove a dynamic symbol make sure &nted; is in edit mode (see The 3 modes). Select the dynamic symbol by left " "clicking it. The selected symbol appears in red. Press Backspace key and the " "dynamic symbol vanishes." msgstr "" "Per eliminare un segno d'espressione assicurarsi che &nted; sia in modalità " "Modifica (vedere Le 3 modalità). " "Selezionare il segno cliccandoci sopra. Il segno scelto appare in rosso. " "Premere il tasto Backspace e il segno viene eliminato." #. Tag: title #: index.docbook:1888 #, no-c-format msgid "Horizontal lines" msgstr "Linee orizzontali" #. Tag: title #: index.docbook:1890 #, no-c-format msgid "Inserting horizontal lines" msgstr "Inserire linee orizzontali" #. Tag: para #: index.docbook:1892 #, no-c-format msgid "" "&nted; allows you to insert some horizontal lines. Among them (de-)crescendo " "(hairpins), va8, vb8, ma15, and mb15 lines. To insert a line make sure " "&nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "&nted; consente di inserire alcune linee orizzontali quali: (de-)crescendo, " "va8, vb8, ma15 e mb15. Per inserire una linea assicurarsi che &nted; sia in " "modalità Inserire/Eliminare (vedere Le 3 " "modalità) e scegliere:" #. Tag: menuchoice #: index.docbook:1895 #, no-c-format msgid "" "Insert Insert lines ..." msgstr "" "Inserisci Inserire Linee" #. Tag: para #: index.docbook:1901 #, no-c-format msgid "The line dialog appears:" msgstr "Appare la finestra di configurazione delle linee:" #. Tag: phrase #: index.docbook:1907 #, no-c-format msgid "the line dialog" msgstr "la finestra di configurazione della linea" #. Tag: para #: index.docbook:1911 #, no-c-format msgid "" "Select a line by clicking on the appropriate box. The selected line appears " "red hemmed:" msgstr "" "Scegliere la linea desiderata cliccando nel relativo riquadro. La linea " "scelta viene evidenziata da un riquadro rosso:" #. Tag: phrase #: index.docbook:1917 #, no-c-format msgid "the line dialog (selected)" msgstr "la finestra di configurazine della linea (selezionata)" #. Tag: para #: index.docbook:1921 #, no-c-format msgid "" "Press OK and then left click the position where the line shall appear. A " "appropriate line is created:" msgstr "" "Premere OK e poi cliccare con il pulsante sinistro del mouse la posizione in " "cui si vuole mettere la linea." #. Tag: phrase #: index.docbook:1926 #, no-c-format msgid "a (de-)crescendo is created" msgstr "si crea un (de-)crescendo" #. Tag: para #: index.docbook:1930 #, no-c-format msgid "" "As you can see the line has 2 handles. By left clicking and dragging these " "handles you can determine the position and length:" msgstr "" "Come si può notare la linea mostra 2 \"maniglie\". Cliccandoci sopra con il " "pulsante sinistro del mouse e muovendo queste maniglie si possono impostare " "la posizione e la lunghezza:" #. Tag: phrase #: index.docbook:1936 #, no-c-format msgid "a (de-) crescendo is placed" msgstr "si posiziona un (de-)crescendo" #. Tag: para #: index.docbook:1940 #, no-c-format msgid "" "If you want a line to span multiple staves first move the end point " "vertically, even if the handle does not immedietely follow the mouse cursor!" msgstr "" "Se si vuole che la linea si estenda a diversi pentagrammi per prima cosa si " "sposti il punto terminale in senso verticale anche se la \"maniglia\" non " "sembra spostarsi immediatamente assieme al cursore." #. Tag: phrase #: index.docbook:1947 #, no-c-format msgid "create multi stave lines" msgstr "creare linee multi pentagramma" #. Tag: para #: index.docbook:1954 #, no-c-format msgid "" "Note! The left handle determins the start position. The right handle only " "determins the horizontal end point, not the vertical position!" msgstr "" "Nota: La maniglia sinistra determina la posizione di inizio, quella di " "destra stabilisce solo il punto finale, sempre in orizzontale non in quello " "verticale!" #. Tag: title #: index.docbook:1958 #, no-c-format msgid "Modifiying lines" msgstr "Modificare le linee" #. Tag: para #: index.docbook:1960 #, no-c-format msgid "" "Although the line handles appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Per quanto possa sembrare che le maniglie delle righe siano posizionabili in " "qualsiasi posto, esse sono sempre abbinate a un elemento. Tale elemento è " "collegato da una sottile linea blu." #. Tag: phrase #: index.docbook:1967 #, no-c-format msgid "the assignment of the crescendo handles" msgstr "l'assegnazione delle maniglie di crescendo" #. Tag: para #: index.docbook:1973 #, no-c-format msgid "" "&nted; tries to keep the position of the line handle relative to the symbol " "it is assigned to;" msgstr "" "&nted; tenta di mantenere la posizione delle maniglie in corrispondenza " "all'elemento assegnato;" #. Tag: para #: index.docbook:1974 #, no-c-format msgid "&nted; removes the line if the symbol it is assigned to is removed;" msgstr "&nted; elimina la linea collegata all'elemento assegnato;" #. Tag: para #: index.docbook:1975 #, no-c-format msgid "" "&nted; influences the MIDI replay of the appropriate staff, if possible;" msgstr "" "&nted; influenza l'esecuzione MIDI del relativo pentagramma, se possibile;" #. Tag: para #: index.docbook:1978 #, no-c-format msgid "" "To change a line's length and position make sure &nted; is in edit mode (see " "The 3 modes). Select the start of a line " "with left mouse button. The 2 handles appear again:" msgstr "" "Per modificare la lunghezza o la posizione di una linea, assicurarsi di " "essere in modalità Modifica (vedere Le 3 " "modalità). Selezionare l'inizo della linea con il pulsante sinistro " "del mouse per far apparire le due maniglie:" #. Tag: phrase #: index.docbook:1984 #, no-c-format msgid "the selection of the crescendo handles" msgstr "la selezione delle maniglie di crescendo" #. Tag: para #: index.docbook:1988 #, no-c-format msgid "" "Thus, you can change the line's length and position again by dragging the 2 " "handles." msgstr "" "Quindi si possono cambiare la lunghezza e la posizione della linea spostando " "le due maniglie." #. Tag: title #: index.docbook:1993 #, no-c-format msgid "Deleting a line" msgstr "Cancellare una linea" #. Tag: para #: index.docbook:1994 #, no-c-format msgid "" "To delete a line make sure &nted; is in edit mode (see The 3 modes). Again: You can achieve this mode " "temporarily by pressing the Ctrl key. Left click the start of a line. The " "selected handle appears in red color. Press the backspace key and the line " "will be deleted." msgstr "" "Per eliminare una linea assicurarsi che &nted; sia in modalità di \"modifica" "\" (vedere Le 3 modalità). Ricordate che " "si può attivare questa modalità premendo il tasto Ctrl. Cliccare sull'inizio " "della linea con il pulsante sinistro del mouse. Le maniglie selezionate " "appariranno in rosso. Premere il tasto \"backspace\" e la linea sparisce." #. Tag: title #: index.docbook:2000 #, no-c-format msgid "(de-)crescendo (hairpins)" msgstr "(de-)crescendo (forcine)" #. Tag: para #: index.docbook:2002 #, no-c-format msgid "" "To determine the MIDI behaviour of the (de-)crescendo make sure &nted; is in " "edit mode (see The 3 modes). Select the " "start of a (de-)crescendo with right mouse button. The volume dialog appears:" msgstr "" "Per stabilire il comportamento (de-)crendo della riproduzione MIDI, " "assicurarsi di essere in modalità Modifica (vedere Le 3 modalità). Selezionare l'inizio del (de-)crescendo con il " "pulsante destro del mouse. Appare la finestra di impostazione:" #. Tag: para #: index.docbook:2013 #, fuzzy, no-c-format msgid "" "Define the MIDI volume difference caused by the (de-) crescendo and press OK!" msgstr "Stabilire il volume MIDI finale del (de-)crescendo e premere OK!" #. Tag: title #: index.docbook:2017 #, no-c-format msgid "Ottava brackets: va8, bv8, ma15, mb15" msgstr "Parentesi di ottava: va8, bv8, ma15, mb15" #. Tag: para #: index.docbook:2019 #, no-c-format msgid "These symbols change the octave of the enclosed notes." msgstr "Questi simboli modificano l'ottva delle note interessate." #. Tag: title #: index.docbook:2025 #, no-c-format msgid "Tempo markers" msgstr "Indicatori di tempo" #. Tag: title #: index.docbook:2027 #, no-c-format msgid "Inserting tempo markers" msgstr "Inserire indicatori di tempo" #. Tag: para #: index.docbook:2029 #, no-c-format msgid "" "To insert a tempo marker make sure &nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "Per inserire un indicatore di tempo assicurarsi che &nted; sia in modalità " "\"inserimento/modifica\" (vedere Le 3 modalità). Scegliere:" #. Tag: menuchoice #: index.docbook:2031 #, no-c-format msgid "" "Insert tempo ..." msgstr "" "Inserisci tempo ..." #. Tag: para #: index.docbook:2037 #, no-c-format msgid "The tempo dialog appears:" msgstr "Appare la finestra di configurazione del tempo:" #. Tag: phrase #: index.docbook:2043 index.docbook:2083 index.docbook:2328 #, no-c-format msgid "the tempo dialog" msgstr "la finestra di configurazione del tempo" #. Tag: para #: index.docbook:2047 #, no-c-format msgid "" "Select a tempo symbol and a tempo and press \"OK\"! Then click at the " "position to place the tempo marker on." msgstr "" "Scegliere la misura base e il relativo numero di batture al minuto e premere " "\"OK\"! Quindi scegliere dove posizionare l'indicatore di tempo." #. Tag: title #: index.docbook:2051 #, no-c-format msgid "Change the tempo markers's position" msgstr "Modificare la posizione dell'indicatore di tempo" #. Tag: para #: index.docbook:2052 #, no-c-format msgid "" "To move a tempo marker make sure &nted; is in edit mode (see The 3 modes). Select the tempo marker by left clicking " "it. The selected symbol appears in red. Hold left mouse button and move the " "mouse. The tempo marker moves accordingly." msgstr "" "Per spostare un indicatore di tempo assicurarsi che &nted; sia in modalità " "inserire/eliminare (vedere Le 3 modalità). Selezionate l'indicare di tempo tramite il pulsante sinistro del " "mouse. Il simbolo scelto appare in rosso. Tenere premuto il pulsante " "sinistro del mouse e spostatelo. L'indicatore di tempo si muoverà di " "conseguenza." #. Tag: para #: index.docbook:2056 #, no-c-format msgid "" "Although the tempo markers appear to be free replaceable, they are always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Per quanto gli indicatori di tempo possano sembrare poter essere posizionati " "liberamente essi sono sempre collegati ad un elemento del pentagramma. Tale " "elemento risulta legato da una sottile linea blu." #. Tag: phrase #: index.docbook:2063 #, no-c-format msgid "the assignment of tempo markers" msgstr "l'assegnazione degli indicatori del tempo" #. Tag: para #: index.docbook:2069 #, no-c-format msgid "" "&nted; tries to keep the position of the tempo marker relative to the symbol " "it is assigned to;" msgstr "" "&nted; tenta di mantenere nella stessa posizione sia dell'indicatore di " "tempo che l'elemento associato;" #. Tag: para #: index.docbook:2070 #, no-c-format msgid "" "&nted; copies the tempo marker if the symbol it is assigned to is copied;" msgstr "" "&nted; copia anche l'indicatore di tempo quando vien copiato il suo elemento " "associato." #. Tag: para #: index.docbook:2071 #, no-c-format msgid "" "&nted; removes the tempo marker if the symbol it is assigned to is removed;" msgstr "" "&nted; elimina anche l'indicatore di tempo se viene eliminato il suo " "elemento associato." #. Tag: title #: index.docbook:2076 #, no-c-format msgid "Changing the tempo values" msgstr "Modificare i valori di tempo" #. Tag: para #: index.docbook:2077 #, no-c-format msgid "" "To change the tempo value and/or symbol right click the tempo marker. The " "tempo dialog appears:" msgstr "" "Per modificare la nota di base e il numero di battute al minuto cliccate col " "pulsante destro del mouse sull'indicatore di tempo. Nella finestra di " "configurazione che appare:" #. Tag: para #: index.docbook:2087 #, no-c-format msgid "Select a marker symbol and a tempo and press OK!" msgstr "Scegliere la nota base e il numero di battute quindi premere OK!" #. Tag: title #: index.docbook:2092 #, no-c-format msgid "Removing tempo markers" msgstr "eliminare gli indicatori di tempo" #. Tag: para #: index.docbook:2093 #, no-c-format msgid "" "To remove a tempo marker make sure &nted; is in edit mode (see The 3 modes). Select the tempo marker by left clicking " "it. The selected symbol appears in red. Press Backspace key and the tempo " "marker vanishes." msgstr "" "Per rimuovere il segno 'tempo' assicurarsi che &nted; sia in modalità " "Modifica (vedere Le 3 modalità). " "Selezionare il segno 'tempo' cliccandolo con il pulsante sinistro del mouse. " "Il simbolo selezionato appare on rosso. Premere il tasto Backspace e il " "segno 'tempo' sparisce." #. Tag: title #: index.docbook:2101 #, no-c-format msgid "Arbitrary text" msgstr "Testo arbitrario" #. Tag: title #: index.docbook:2103 #, no-c-format msgid "Inserting arbitrary text" msgstr "Inserire un testo arbitrario" #. Tag: para #: index.docbook:2105 #, fuzzy, no-c-format msgid "" "Don't use this feature for lyrics, dynamics, accelerando, ritardando, or " "(de-)crescendo because &nted; has special means for these items, which " "partly influence the MIDI replay accordingly. (see Lyrics, Dynamics , Accelerato, Ritardando, and " "(de-)crescendo (hairpins))!" msgstr "" "Non usare questa funzionalità per le parole, dinamica, accelerato, " "ritardando, o (de-)crescendo in quanto &nted; assegna un significato " "specifico per questi termini, i quali influenzano in parte l'esecuzione MIDI " "(vedere Parole, Dinamica , Accelerato, Ritardando, " "e (de-)crescendo (forcelle))!" #. Tag: para #: index.docbook:2111 #, no-c-format msgid "" "To insert arbitrary text make sure &nted; is in insert mode (see The 3 modes). Choose:" msgstr "" "Per inserire del testo arbitrario assicurarsi che &nted; sia in modalità " "Inserimento (vedere The 3 modes). " "Scegliere:" #. Tag: menuchoice #: index.docbook:2113 #, no-c-format msgid "" "Insert Text ..." msgstr "" "Inserimento Testo ..." #. Tag: para #: index.docbook:2119 #, no-c-format msgid "The text dialog appears:" msgstr "Appare la finestra di configurazione Testo:" #. Tag: phrase #: index.docbook:2125 #, no-c-format msgid "the text dialog" msgstr "la finestra di configurazione del testo" #. Tag: para #: index.docbook:2129 #, no-c-format msgid "" "Insert a text in text field. Press the font button beneeth the text field if " "you whish a different font! The anchor field allows you to determine the " "anchor point:" msgstr "" "Inserire il testo nella relativa casella. Premere il pulsante per il Font al " "di sotto della casella si si desidera un font diverso! Il campo Acora " "permette di stabilire il punto di ancoraggio." #. Tag: phrase #: index.docbook:2136 #, no-c-format msgid "the text alignment" msgstr "l'allineamento del testo" #. Tag: para #: index.docbook:2140 #, no-c-format msgid "" "Please prefer fonts like Sans or " "Serif. Depending on your system " "configuration other fonts can cause problems (pixelated appearence) on " "PostScript/PDF output. This often concerns fonts like " "Helvetica or Times." msgstr "" "Nella stampa PostScript/PDF, per favore, sono preferibili i tipi di " "carattere quali Sans o " "Serif. Gli altri tipi potrebbero causare " "dei problemi a seconda della configurazione del vostro sistema (aspetto a " "puntini). Questo riguarda spesso i tipi come Helvetica o Times." #. Tag: para #: index.docbook:2145 #, no-c-format msgid "" "The text often concerns the tempo (allegro) or the " "volume (forte). The 2 fields beneeth the font button " "allow you to influence the MIDI replay. To influence the volume check the " "enable volume change button and choose a volume. To " "influence the tempo check the enable tempo change " "button and choose a tempo." msgstr "" "Spesso il testo riguarda il tempo di esecuzione (allegro) oppure il volume (forte). I due campi " "sottostanti il pulsante del tipo di carattere permettono di modificare " "l'esecuzione MIDI. Per modificare il volume spuntare il pulsante " "abilita modifica volume. Per modificare il tempo " "spuntare il pulsante abilita modifica del tempo e " "scegliere il nuovo valore." #. Tag: para #: index.docbook:2150 #, no-c-format msgid "" "Furthermore, the text can cause an instrument change. To activate this check " "the enable instrument change button and select the " "new instrument." msgstr "" #. Tag: para #: index.docbook:2152 #, no-c-format msgid "" "If you enable the channel change, then playing the note will cause the staff " "to change MIDI channel." msgstr "" #. Tag: para #: index.docbook:2154 #, no-c-format msgid "" "If all is correct press \"OK\"! Then click at the position to place the " "arbitrary text on." msgstr "" "Quando tutto è a posto premete \"OK\"! Quindi cliccate nella posizione in " "cui posizionare il testo libero." #. Tag: para #: index.docbook:2156 #, no-c-format msgid "" "For the Segno staff please refer to the Segno " "section." msgstr "" "Per il Segno del pentagramma fare riferimento alla Sezione Segno." #. Tag: title #: index.docbook:2161 #, no-c-format msgid "Special letters" msgstr "Caratteri speciali" #. Tag: para #: index.docbook:2163 #, no-c-format msgid "&nted; allowes you to place special letters like coda inside the text:" msgstr "" "&nted; permette di posizione dei caratteri speciali quali \"coda\" " "all'interno del testo:" #. Tag: para #: index.docbook:2165 #, no-c-format msgid "D.S. al \\O -->" msgstr "D.S. a \\O -->" #. Tag: title #: index.docbook:2190 #, no-c-format msgid "Change the position of the text" msgstr "Modificare la posizione del testo" #. Tag: para #: index.docbook:2191 #, no-c-format msgid "" "To move an arbitrary text make sure &nted; is in edit mode (see The 3 modes). Select the text by left clicking " "the text start . The text appears in red. Hold left mouse button and move " "the mouse. The text moves accordingly." msgstr "" "Per spostare un testo libero assicurarsi che &nted; sia in modalità Modifica " "(vedere Le 3 modalità). Selezionare il " "testo premendo il tasto sinistro del mouse su di esso. Il testo appare in " "rosso. Mantenere premuto il tasto sinistro. Il testo si sposta assieme al " "mouse." #. Tag: para #: index.docbook:2195 #, no-c-format msgid "" "Although the arbitrary text appears to be free replaceable, it is always " "assigned to a symbol. The symbol is shown by a thin light blue line:" msgstr "" "Per quanto possa sembrare che il testo libero si possa posizionare " "liberamente, esso è sempre associato ad un elemnto del rigo. I due elementi " "associati sono collegati da una linea sottile azzurra:" #. Tag: phrase #: index.docbook:2202 #, no-c-format msgid "the assignment of arbitrary text" msgstr "l'assegnazione di un testo arbitrario" #. Tag: para #: index.docbook:2208 #, no-c-format msgid "" "&nted; tries to keep the position of the arbitrary text relative to the " "symbol it is assigned to;" msgstr "" "&nted; cerca di mantenere la posizione relativa all'elemento associato;" #. Tag: para #: index.docbook:2209 #, no-c-format msgid "&nted; copies the text if the symbol it is assigned to is copied;" msgstr "&nted; copia anche il testo quando viene copiato l'elemento associato;" #. Tag: para #: index.docbook:2210 #, no-c-format msgid "&nted; removes the text if the symbol it is assigned to is removed;" msgstr "" "&nted; elimina anche il testo quando viene eliminato l'elemento associato;" #. Tag: title #: index.docbook:2215 #, no-c-format msgid "Changing the arbitrary text" msgstr "Modificare il testo libero" #. Tag: para #: index.docbook:2216 #, no-c-format msgid "" "To change the text right click the text. The text dialog appears again. " "Thus, you can change the text and its properties." msgstr "" "Per modificare il testo cliccate con il pulsante destro sul testo. La " "finestra di configurazione riappare. Quindi modificare il testo e le sue " "caratteristiche." #. Tag: title #: index.docbook:2222 #, no-c-format msgid "Removing arbitrary text" msgstr "Eliminare un testo libero" #. Tag: para #: index.docbook:2223 #, no-c-format msgid "" "To remove text make sure &nted; is in edit mode (see The 3 modes). Select the text by left clicking it. The " "selected text appears in red. Press Backspace key and the text vanishes." msgstr "" "Per eliminare un testo assicurarsi che &nted; sia in modalità di Modifica " "(vedere Le 3 modalità). Ricordate che si " "può attivare questa modalità premendo il tasto Ctrl. Cliccare sul testo con " "il pulsante sinistro del mouse. Il testo scelto si colora di rosso. Premere " "il tasto \"backspace\" e il testo sparisce." #. Tag: title #: index.docbook:2230 #, no-c-format msgid "Accelerato, Ritardando" msgstr "Accellerato, Ritardando" #. Tag: title #: index.docbook:2232 #, no-c-format msgid "Inserting Accelerato/Ritardando" msgstr "Inserire Accelerato/Ritarrdando" #. Tag: para #: index.docbook:2234 #, fuzzy, no-c-format msgid "" "To insert an accelerando or ritardando make sure &nted; is in insert mode " "(see The 3 modes). Choose:" msgstr "" "Per inserire un accelerato o un ritardando assicurarsi che &nted; sia in " "modalità \"inserimento/modifica\" (vedere Le 3 " "modalità). Scegliere:" #. Tag: menuchoice #: index.docbook:2236 #, fuzzy, no-c-format msgid "" "Insert accelerando" msgstr "" "Inserisci accelerato" #. Tag: para #: index.docbook:2242 #, no-c-format msgid "or." msgstr "oppure:" #. Tag: menuchoice #: index.docbook:2245 #, no-c-format msgid "" "Insert ritardando" msgstr "" "Inserisci ritardando" #. Tag: para #: index.docbook:2251 #, fuzzy, no-c-format msgid "" "Left click the position where the accelerando or ritardando shall appear:" msgstr "" "Premere il pulsante sinisto del mouse nella posizione in cui dovrebbe " "apparire l'accellerato o il ritardando:" #. Tag: phrase #: index.docbook:2256 #, no-c-format msgid "an ritardando is created" msgstr "si crea un ritardando" #. Tag: para #: index.docbook:2260 #, fuzzy, no-c-format msgid "" "As you can see the accelerando (ritardando) has 3 handles. By left clicking " "and dragging these handles you can determine the position and influence " "range:" msgstr "" "Come si può vedere il simbolo accelerato (ritardando) ha tre maniglie. " "Cliccando col pulsante sinistro del mouse e spostando queste maniglie si " "determina la posizione e il campo di applicazione:" #. Tag: phrase #: index.docbook:2266 #, no-c-format msgid "an ritardando is placed" msgstr "viene posizionato un ritardando" #. Tag: para #: index.docbook:2270 #, fuzzy, no-c-format msgid "" "If you want an accelerando or ritardando who's influence range spans " "multiple staves first move the start or end point vertically, even if the " "handle does not immedietely follow the mouse cursor!" msgstr "" "Se si desidera che l'applicazione dell'accelerato o ritardando si estenda su " "più pentagrammi occorre per prima cosa spostare verticalmente il punto di " "partenza o quello finale, anche se le maniglie non seguono immediatamente il " "movimento del puntatore!" #. Tag: phrase #: index.docbook:2277 #, no-c-format msgid "create multi stave ritardando" msgstr "creazre un ritaardando multi pentagramma" #. Tag: para #: index.docbook:2284 #, fuzzy, no-c-format msgid "" "Note! The middle handle determins the position of the marker. The left and " "right handle only determin the horizontal position of the influence range! " "The influence range is not visible if the accelerando or ritardando isn't " "selected." msgstr "" "Nota: La maniglia centrale determina la posizione dell'evidenziatore. Quella " "sinistra e destra determinano solamente la posizione orizzontale " "dell'intervallo. L'intervallo non è visibile se non è selezionato " "l'accelerato o il ritardando." #. Tag: title #: index.docbook:2289 #, fuzzy, no-c-format msgid "Modifiying accelerando or ritardando" msgstr "Modificare l'accelerato o il ritardando" #. Tag: para #: index.docbook:2291 #, fuzzy, no-c-format msgid "" "Although the accelerando(ritardando) handles appear to be free replaceable, " "they are always assigned to a symbol. The symbol is shown by a thin light " "blue line:" msgstr "" "Per quanto possa sembrare che le maniglie dell'accelerato o ritardando si " "possano posizionare liberamente, esse sono sempre associate ad un elemnto " "del rigo. I due elementi associati sono collegati da una sottile linea " "azzurra:" #. Tag: phrase #: index.docbook:2298 #, no-c-format msgid "the assignment of the ritardando handles" msgstr "l'assegnazione di maniglie di ritardando" #. Tag: para #: index.docbook:2304 #, fuzzy, no-c-format msgid "" "&nted; tries to keep the position of the accelerando(ritardando) handle " "relative to the symbol it is assigned to;" msgstr "" "&nted; cerca di mantenere la posizione dell'accelerato (ritardando) in " "corrispondenza dei rispettivi elemnti associati;" #. Tag: para #: index.docbook:2305 #, fuzzy, no-c-format msgid "" "&nted; removes the accelerando(ritardando) if the symbol it is assigned to " "is removed;" msgstr "" "&nted; elimina l'accellerato (ritardando) se viene eliminato l'elemento ad " "esso associato;" #. Tag: para #: index.docbook:2306 #, no-c-format msgid "&nted; influences the MIDI replay of the appropriate staff;" msgstr "&nted; modifica la riproduzione MIDI del pentagramma coinvolto;" #. Tag: para #: index.docbook:2309 #, fuzzy, no-c-format msgid "" "To change a influence range and position of the accelerando(ritardando) " "marker make sure &nted; is in edit mode (see The " "3 modes). Select the marker with left mouse button. The 3 handles " "appear again:" msgstr "" "Per modificarne la posizione o il campo di applicazione assicurarsi che " "&nted; sia in modalità Modifica (vedere Le 3 " "modalità). Selezionare l'etichetta da modificare cliccandoci sopra " "con il pulsante sinistro del mouse. Le 3 maniglie diventano di nuovo " "visibili:" #. Tag: phrase #: index.docbook:2315 #, no-c-format msgid "the selection of the ritardando handles" msgstr "la selezione delle maniglie di ritardando" #. Tag: para #: index.docbook:2319 #, no-c-format msgid "" "Thus, you can change the influence range and the marker position again by " "dragging the 3 handles." msgstr "" "Quindi si può procedere alla modifica del campo di applicazione e della " "posizione dell'etichetta spostando le 3 maniglie." #. Tag: para #: index.docbook:2321 #, fuzzy, no-c-format msgid "" "To determine the MIDI behaviour of the accelerando or ritardando make sure " "&nted; is in edit mode (see The 3 modes). " "Select the accelerando or ritardando marker with right mouse button. The " "tempo dialog appears:" msgstr "" "Per stabilire il comportamento della riproduzione MIDI assicurarsi che " "&nted; sia in modalità Modifica (vedere Le 3 " "modalità). Premere il pulsante destro del mouse sopra l'etichetta. " "Appare la finestra di impostazione:" #. Tag: para #: index.docbook:2332 #, fuzzy, no-c-format msgid "" "Define the MIDI tempo diffenrence of the accelerando or ritardando and press " "OK!" msgstr "" "Indicare gli elementi del tempo da raggiungere alla fine dell'accelerato o " "del ritardando e premere il pulsante OK!" #. Tag: title #: index.docbook:2336 #, fuzzy, no-c-format msgid "Deleting an accelerando or ritardando" msgstr "Cancellare un accelerato o ritardando" #. Tag: para #: index.docbook:2337 #, fuzzy, no-c-format msgid "" "To delete an accelerando or ritardando make sure &nted; is in edit mode (see " "The 3 modes). Again: You can achieve this " "mode temporarily by pressing the Ctrl key. Left click the accelerando or " "ritardando marker. The selected marker appears in red color. Press the " "backspace key and the accelerando(ritardando) will be deleted." msgstr "" "Per eliminare un accelerato (ritardando) assicurarsi che &nted; sia in " "modalità di Modifica (vedere Le 3 modalità). Ricordate che si può attivare questa modalità premendo il tasto " "Ctrl. Cliccare sull'etichetta con il pulsante sinistro del mouse. " "L'etichetta selezionata diventa rossa. Premere il tasto \"backspace\" e " "l'etichetta sparisce." #. Tag: title #: index.docbook:2345 #, no-c-format msgid "Chordnames" msgstr "Nomi di accordi" #. Tag: para #: index.docbook:2346 #, no-c-format msgid "" "You can attach chord names to notes and rests. To do this make sure &nted; " "is in insert mode (see The 3 modes). " "Choose:" msgstr "" "Si può legare nomi dell'accordo sia alle note che alle pause. Per farlo " "assicurarsi che &nted; sia in modalità \"inserimento/modifica\" (vedere " "Le 3 modalità). Scegliere:" #. Tag: menuchoice #: index.docbook:2350 #, no-c-format msgid "" "Insert chordname ..." msgstr "" "Inserisci Nome " "dell'accordo ..." #. Tag: para #: index.docbook:2356 #, no-c-format msgid "The chord name dialog appears" msgstr "Appare la finestra di configurazione del nome dell'accordo" #. Tag: phrase #: index.docbook:2362 index.docbook:2373 #, no-c-format msgid "the chord name dialog" msgstr "la finestra di configurazione del nome dell'accordo" #. Tag: para #: index.docbook:2366 #, fuzzy, no-c-format msgid "" "Insert a root, an up text and a down text. Then choose a size and a position " "relative to note line and press OK. Then click at the position to place the " "chordname on:" msgstr "" "Scegliere una base, un apice o pendice e premere OK! Quindi scegliere dove " "posizionare il nome dell'accordo." #. Tag: para #: index.docbook:2377 #, no-c-format msgid "" "&nted; allowes you to place special letters like the flat symbol inside the " "text:" msgstr "" "&nted; permette di posizionare dei caratteri speciali quali \"diesis\" " "all'interno di un testo:" #. Tag: para #: index.docbook:2379 #, no-c-format msgid "A\\b -->" msgstr "La\\b -->" #. Tag: para #: index.docbook:2395 #, no-c-format msgid "" "The chord name dialog remains open till you press Cancel. This way you can place the same chordname at multiple places. If " "you change the chord on dialog box the next mouse click will insert the new " "chord." msgstr "" #. Tag: para #: index.docbook:2398 #, no-c-format msgid "" "Modifying an deleting chord names works similar to modifying and deleting arbitrary text." msgstr "" "La modifica e l'eliminazione dei nomi degli accordi funziona in modo analogo " "a modificare ed eliminare testo " "arbitrario." #. Tag: para #: index.docbook:2400 #, no-c-format msgid "" "Chord names are exported to LilyPond. But LilyPond offers a limited number " "of modifiers. It is your responsibility to use only LilyPond conform chord " "names." msgstr "" #. Tag: title #: index.docbook:2407 #, no-c-format msgid "Guitar chord diagrams and chord annotation" msgstr "Diagrammi e Notazioni degli accordi per chitarra" #. Tag: para #: index.docbook:2408 #, no-c-format msgid "&nted; offers chord annotation and guitar chord diagrams" msgstr "" "&nted; offre la possibilità di inserire sia diagrammi che nomi degli accordi " "per chitarra" #. Tag: phrase #: index.docbook:2413 #, no-c-format msgid "chord examples" msgstr "Esempio di accordi" #. Tag: para #: index.docbook:2416 #, no-c-format msgid "" "Use this feature only if you really want to show a guitar chord diagram or " "if LilyPond export is needed. To show a chord name use the Chordnames feature." msgstr "" "Usare questa funzionalità solo se si desidera visualizzare lo schema degli " "accordi per la chitarra o se si deve esportare in formato LilyPond. Per " "mostrare un nome dell'accordo usare la funzionalità Nome Accordo." #. Tag: para #: index.docbook:2418 #, no-c-format msgid "" "LilyPond does not allow all chord " "modificators. The modificator remains empty if &nted; has to export such a " "chord name." msgstr "" "LilyPond non contempla tutti tutti " "i modificati degli accordi. Il modificatore rimane vuoto se &nted; deve " "esportare un accordi simile." #. Tag: para #: index.docbook:2420 #, no-c-format msgid "To insert a chord annotation and/or a guitar chord diagram choose:" msgstr "" "Per inserire una annotazione e/o diagramma per chitarra dell'accordo " "scegliere:" #. Tag: menuchoice #: index.docbook:2423 #, no-c-format msgid "" "Insert chord ..." msgstr "" "Inserisci Accordo ..." #. Tag: para #: index.docbook:2429 #, no-c-format msgid "The chord selection dialog appears" msgstr "Appare la finestra di configurazione degli accordi" #. Tag: phrase #: index.docbook:2435 #, no-c-format msgid "the chord dialog" msgstr "la finestra di configurazione dell'accordo" #. Tag: para #: index.docbook:2439 #, no-c-format msgid "" "Choose a root and a modifyer. If you want to place a guitar chord diagram " "you should also select your preferred diagram by clicking on it in the right " "window. The guitar chord diagram is copied into the big left window." msgstr "" "Scegliere la base e un modificatore. Se si desidera posizionare anche un " "diagramma dell'accordo per chitarra si deve scegliere quello preferito " "cliccandoci sopra nella finestra sulla destra. In questo modo lo schema " "dell'accordo per chitarra viene copiato nella finestra maggiore di sinistra." #. Tag: para #: index.docbook:2443 #, no-c-format msgid "" "By means of the checkbox diagram you can determin " "whether the chord diagram is created on score." msgstr "" "Spuntando la casella schema si stabilisce se " "riportare o meno lo schema nello spartito." #. Tag: para #: index.docbook:2444 #, no-c-format msgid "" "By means of the checkbox text you can determin " "whether a textual description of the chord is created created on score." msgstr "" "Spuntando la casella testo si stabilisce se riportare " "o meno la descrizione letterale nello spartito." #. Tag: para #: index.docbook:2446 #, no-c-format msgid "This way you can choose between:" msgstr "In questo modo si può scegliere tra:" #. Tag: para #: index.docbook:2448 #, no-c-format msgid "only the chord diagram" msgstr "solo lo schema dell'accordo" #. Tag: para #: index.docbook:2449 #, no-c-format msgid "" "only the textual chord description (not recommended, use the Chordnames feature in this case)" msgstr "" "solo la descrizione letterale dell'accordo (non raccomandata, usare la " "funzionalità Nome Accordi in questo " "caso)." #. Tag: para #: index.docbook:2450 #, no-c-format msgid "both, chord diagram and chord description" msgstr "entrambi, sia schema che descrizione testuale" #. Tag: para #: index.docbook:2453 #, no-c-format msgid "" "Modifying an deleting chord annotations/chord diagrams works similar to " "modifying and deleting arbitrary " "text." msgstr "" "La modifica e l'eliminazione delle annotazioni/schemi degli accordi si " "esegue allo stesso modo di modificare ed elimare testo arbitrario." #. Tag: title #: index.docbook:2460 #, no-c-format msgid "Upbeats" msgstr "Partenze in levare" #. Tag: para #: index.docbook:2461 #, no-c-format msgid "" "There are 2 possibilities to determine an upbeat. The first is mainly for " "newly written scores. Select the note or rest after the requested upbeat:" msgstr "" "Ci sono 2 possibilità per indicare una partenza in levare. La prima è " "principalmente per uno spartito nuovo. Scegliere la nota o pausa che indica " "la prima battuta:" #. Tag: phrase #: index.docbook:2469 #, no-c-format msgid "prepare upbeat (give measure)" msgstr "preparare partenza in levare (fornire la battuta)" #. Tag: menuchoice #: index.docbook:2476 #, no-c-format msgid "" "Edit Upbeat ..." " give first measure" msgstr "" "Modifica Battuta in levare ... Indica la prima " "misura" #. Tag: para #: index.docbook:2483 #, no-c-format msgid "" "&nted; changes the begin such a way, that the selected chord or rest is the " "first member of the first full measure:" msgstr "" "&nted; cambia l'inizio in modo che l'accordo o la pausa scelti diventi il " "primo membro della prima misura completa:" #. Tag: phrase #: index.docbook:2489 #, no-c-format msgid "upbeat given (give measure)" msgstr "battuta in levare (indicare battuta)" #. Tag: para #: index.docbook:2493 #, no-c-format msgid "" "The 2nd procedure is mainly for scores with beginning rests. Select the note " "or rest which shall be the first element:" msgstr "" "La seconda procedura è principalmente usata per gli spartiti che iniziano " "con una pausa. Scegliere la nota o la pausa che dovrebbe essere il primo " "elemento dello spartito:" #. Tag: phrase #: index.docbook:2500 #, no-c-format msgid "prepare upbeat (give start)" msgstr "preparare battuta in levare (fornire partenza)" #. Tag: menuchoice #: index.docbook:2507 #, no-c-format msgid "" "Edit Upbeat ..." " give start" msgstr "" "Modifica Battuta in levare ... indica inizio" #. Tag: para #: index.docbook:2514 #, no-c-format msgid "" "&nted; delets all before the selected element. Thus, the selected element " "becomes the first element." msgstr "" "&nted; elimina tutto quello che precede l'elemento scelto. In questo modo " "l'elemento scelto diventa il primo dello spartito." #. Tag: phrase #: index.docbook:2521 #, no-c-format msgid "upbeat given (give start)" msgstr "battuta in levare data (fornire partenza)" #. Tag: para #: index.docbook:2525 #, no-c-format msgid "" "The upbeat rules require to shorten the last measure by the upbeat duration. " "&nted; doesn't perform this automatically. To shorten the last measure mark " "all concerned rests in all voices as described in Select a block:" msgstr "" "Le regola della battuta in levare richiedono l'accorciamento dell'ultima " "battuta per la durata della battuta in levare. &nted; non lo fa " "automaticamente. Per accorciare l'ultima battuta segnare tutte le pause " "coinvolte di tutte le voci, come descritto in Selezionare un blocco:" #. Tag: phrase #: index.docbook:2533 index.docbook:2549 #, no-c-format msgid "mark the rests" msgstr "segnare le pause" #. Tag: para #: index.docbook:2544 #, no-c-format msgid "The appropriate rests become invisible:" msgstr "Le pause relative scompaiono:" #. Tag: para #: index.docbook:2553 #, no-c-format msgid "See also: Hiding rests!" msgstr "" "Vedere anche: Nascondere le pause" #. Tag: title #: index.docbook:2559 #, no-c-format msgid "Grace notes" msgstr "Abbellimenti" #. Tag: para #: index.docbook:2560 #, no-c-format msgid "&nted; offers 3 types of grace notes:" msgstr "&nted; offre 3 tipi di abbellimenti:" #. Tag: phrase #: index.docbook:2565 #, no-c-format msgid "The grace notes" msgstr "Le note di abbellimento" #. Tag: para #: index.docbook:2569 #, no-c-format msgid "" "To insert grace notes choose the appropriate note type on 2nd tooblox panel:" msgstr "" "Per inserire delle note di abbellimento occorre scegliere il tipo di nota " "appropriata nel 2° pannello della Casseta degli Attrezzi." #. Tag: phrase #: index.docbook:2574 #, no-c-format msgid "The grace on toolbox" msgstr "Gli abbellimenti nella Cassetta degli Attrezzi" #. Tag: para #: index.docbook:2578 #, no-c-format msgid "" "Select a grace notes type and insert it as described in chapter Inserting/Deleting notes." msgstr "" "Scegliere il tipo di abbellimento e iserirlo come descritto nella sezione " "Inserire/Eliminare note." #. Tag: para #: index.docbook:2579 #, no-c-format msgid "" "To remove a grace note select the grace note as described in chapter Shifting notes and rests and press " "backspace key" msgstr "" "Per eliminare un abbellimento premere il tasto backspace dopo averlo " "selezionato come descitto in Spostamento " "delle note e delle pause." #. Tag: title #: index.docbook:2584 #, no-c-format msgid "Lyrics" msgstr "Parole" #. Tag: title #: index.docbook:2586 #, no-c-format msgid "Inserting lyrics" msgstr "Inserire testo" #. Tag: para #: index.docbook:2587 #, no-c-format msgid "" "You can attach up to 5 lines of lyrics to every note. You can use the same " "special characters as described in special letters in staff names. There are 2 ways: Direct writing " "or using the lyrics editor." msgstr "" #. Tag: title #: index.docbook:2592 #, no-c-format msgid "Direct writing" msgstr "" #. Tag: para #: index.docbook:2594 #, fuzzy, no-c-format msgid "To insert lyrics direct, select a note and choose:" msgstr "" "Per eliminare un gruppo irregolare scegliere uno qualsiasi dei membri e " "selezionare:" #. Tag: menuchoice #: index.docbook:2596 index.docbook:2621 #, no-c-format msgid "" "Insert lyrics" msgstr "" "Inserisci Parole" #. Tag: para #: index.docbook:2602 #, fuzzy, no-c-format msgid "" "Choose a lyrics line bewteen 1 and 5. &nted; is in lyrics mode. Write a text " "on keyboard. The text appears below the note." msgstr "" "Scegliere quindi la strofa, da 1 a 5. &nted; si entra in modalità Testo. " "Inserire con la tastiera il testo e questo apparirà sotto la nota." #. Tag: phrase #: index.docbook:2607 #, no-c-format msgid "Lyrics" msgstr "Parole" #. Tag: para #: index.docbook:2610 #, fuzzy, no-c-format msgid "" "To skip to next note either press a - key or press " "space key. To place a space inside a syllable insert an underscore" "(_) or a non breaking space symbol(\\.). Finish the " "lyrics mode with ESC." msgstr "" "Per passare alla nota successiva premere il tasto - o " "spazio. Per uscire dalla modalità Testo premere il tasto Esc." #. Tag: para #: index.docbook:2612 #, no-c-format msgid "It is strongly recommended to fill the lyrics line from 1 to 5." msgstr "Si raccomanda caldamente di riempire tutte le strofe." #. Tag: title #: index.docbook:2617 #, no-c-format msgid "Modifying lyrics" msgstr "Modificare il testo" #. Tag: para #: index.docbook:2618 #, no-c-format msgid "" "To modify lyrics make sure &nted; is in edit mode (see The 3 modes). Select a note with lyrics and choose:" msgstr "" "Per la modifica del testo assicurarsi che &nted; sia in modalità Modifica " "(vedere Le 3 modalità). Selezionare una " "nota con il testo e scegliere:" #. Tag: para #: index.docbook:2626 #, no-c-format msgid "" "Choose the lyrics line to be modified. The lyrics cursor appears. You can " "move the lyrics cursor with left/right cursor key, You can insert a letter " "by pressing the appropriate key. You can delete a letter by pressing the " "backspace key. If you delete the last letter the lyrics of this line are " "removed from current note. Finish the lyrics mode with ESC." msgstr "" "Scegliere la strofa da modificare. Il cursore del testo appare. Ci si può " "spostare nel testo mediante i tasti freccia destra e sinistra. Peer inserire " "o cancellare dei caratteri utilizzare i tasti Ins e Backspace. Se vengono " "cancellati tutti i caratteri viene eliminata l'intera linea della nota. " "Terminare la modalità Testo premendo il tasto Esc." #. Tag: title #: index.docbook:2632 #, fuzzy, no-c-format msgid "Lyrics editor" msgstr "redattore" #. Tag: para #: index.docbook:2633 #, no-c-format msgid "" "The 2nd possibility is to use the lyrics editor. If there are more than 2 " "staves select an arbitrary element of the staff the lyrics shall attached " "to. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:2636 #, fuzzy, no-c-format msgid "" "Tools Lyrics editor" msgstr "" "Altri nascondi pause" #. Tag: para #: index.docbook:2642 #, fuzzy, no-c-format msgid "The lyrics editor appears:" msgstr "Appare la finestra di configurazione delle linee:" #. Tag: phrase #: index.docbook:2647 #, no-c-format msgid "The lyrics editor" msgstr "" #. Tag: para #: index.docbook:2651 #, fuzzy, no-c-format msgid "" "Select the verse by selecting a tab! Then insert the lyrics syllable by " "syllable. Every hyphen and every space is interpreted as separator. To leave " "on note blank place a single dot('.'). To place a space inside a syllable " "insert an underscore(_) or a non breaking space symbol" "(\\.)." msgstr "" "Per passare alla nota successiva premere il tasto - o " "spazio. Per uscire dalla modalità Testo premere il tasto Esc." #. Tag: para #: index.docbook:2658 #, no-c-format msgid "" "You can save and load the verse by pressing the save to " "file or load from file, " "respectively." msgstr "" #. Tag: para #: index.docbook:2661 #, no-c-format msgid "" "If all is correct press Apply or " "OK! Both will update the lyrics, but " "OK closes the lyrics editor." msgstr "" #. Tag: title #: index.docbook:2666 #, no-c-format msgid "D.S./Capo al Coda/D.S./Capo al Fine" msgstr "D.S./Capo a Coda/D.S./Capo a Fine" #. Tag: para #: index.docbook:2668 #, no-c-format msgid "An example of a D.S. al Coda could be as follows:" msgstr "Un esempio di D.S. a Coda può essere il seguente:" #. Tag: phrase #: index.docbook:2673 #, no-c-format msgid "the segno principle" msgstr "il principio del segno" #. Tag: para #: index.docbook:2677 #, no-c-format msgid "" "To place the Coda and Segno sign make sure &nted; is in insert/delete mode " "(see The 3 modes). Choose:" msgstr "" "Per posizionare i segni di Coda e Segno assicurarsi che &nted; sia in " "modalità \"inserimento/modifica\" (vedere Le 3 " "modalità). Scegliere:" #. Tag: menuchoice #: index.docbook:2680 index.docbook:2723 #, no-c-format msgid "" "Insert Insert sign ..." msgstr "" "Inserisci Inserire segno ..." #. Tag: para #: index.docbook:2686 index.docbook:2729 #, no-c-format msgid "The sign dialog appears:" msgstr "Appare la finestra di configurazione dei segni:" #. Tag: phrase #: index.docbook:2692 index.docbook:2735 #, no-c-format msgid "The sign dialog" msgstr "La finestra di configurazione del segno" #. Tag: para #: index.docbook:2696 #, no-c-format msgid "" "Choose the appropriate sign and click at the position to place the sign on! " "Modifying an deleting signs works similar to modifying and deleting arbitrary text." msgstr "" "Scegliere il segno appropriato e cliccare nella posizione dove posizionare " "il segno! Per la modifica e l'eliminazione dei segni procedere come in modicare ed eliminare testo arbitrario." #. Tag: para #: index.docbook:2699 #, no-c-format msgid "" "Then place a text like \"D.S. al Coda\" or " "\"Repeat from Segno then Coda\" als explained in Arbitrary text. To express these texts shall " "control the replay you have to choose the appropriate properties on text " "dialog:" msgstr "" "Quindi piazzare un testo come \"D.S. a Coda\" o " "\"Repetere da Segno fino a Coda\" come spiegato in " "Testo arbitrario. Per indicare che " "questo testo deve controllora il riascolto bisogna scegliere la proprietà " "appropriata nella finestra di configurazione del testo:" #. Tag: phrase #: index.docbook:2707 #, no-c-format msgid "the segno on text dialog" msgstr "il segno nella finestra di configurazione del testo" #. Tag: para #: index.docbook:2711 #, no-c-format msgid "" "The same way you can create D.S. al Fine, " "Da Capo al Coda and Da Capo al Fine. See also: Arbitrary text." msgstr "" "Nello stesso modo si crea D.S. a Fine, Da " "Capo a Coda e Da Capo a Fine. Vedere " "inoltre: Testo arbitrario." #. Tag: title #: index.docbook:2718 #, no-c-format msgid "Breath Signs" msgstr "" #. Tag: para #: index.docbook:2720 #, fuzzy, no-c-format msgid "" "To place breath sign make sure &nted; is in insert/delete mode (see The 3 modes). Choose:" msgstr "" "Per posizionare un cambio di chiave assicurarsi che &nted; sia in modalità " "\"inserimento/modifica\" (vedere Le 3 modalità). Scegliere:" #. Tag: para #: index.docbook:2739 #, fuzzy, no-c-format msgid "" "Choose the appropriate sign and click at the position to place the sign on! " "Deleting breath signs works similar to modifying and deleting arbitrary text." msgstr "" "Scegliere il segno appropriato e cliccare nella posizione dove posizionare " "il segno! Per la modifica e l'eliminazione dei segni procedere come in modicare ed eliminare testo arbitrario." #. Tag: title #: index.docbook:2745 #, no-c-format msgid "Transpose" msgstr "Trasposizione" #. Tag: para #: index.docbook:2746 #, fuzzy, no-c-format msgid "" "&nted; offers the transpose functionallity. If you want only a subset of " "notes to be transposed, then draw a selection rectangle as described in " "Select a block. Then choose:" msgstr "" "&nted; offre la funzione di trasposizione. Se si desidera trasporre solo un " "sottoinsieme di note si deve tracciare un rettangolo di selezione come " "descritto in Scegliere un blocco. " "Quindi scegliere:" #. Tag: menuchoice #: index.docbook:2749 #, fuzzy, no-c-format msgid "" "Tools Transpose ..." msgstr "" "Altri Trasporre ..." #. Tag: para #: index.docbook:2755 #, no-c-format msgid "The transposition dialog appears:" msgstr "Appare la finestra di configurazione delle trasposizioni:" #. Tag: phrase #: index.docbook:2760 #, no-c-format msgid "The transposition dialog" msgstr "La finestra di configurazione della trasposizione" #. Tag: para #: index.docbook:2764 #, no-c-format msgid "" "Choose the number of half-tones. If you drew a selection rectange the " "use selection box is active. You can " "determine whether or not to use the selection rectangle." msgstr "" "Scegliere il numero di mezzi toni. Se si traccia un rettangolo di selezione " "si attiva il riquadro usa selezione che " "permette di stabilire se utilizzare o meno il rettangolo di selezione." #. Tag: para #: index.docbook:2767 #, no-c-format msgid "" "If there is no selection rectangle you can select the staves to be " "transposed. Press OK and &nted; transposes the appropriate notes." msgstr "" "Se non c'è una selezione si possono selezione i pentagrammi da trasporre. " "Premere OK e &nted; trapone le note appropriate." #. Tag: para #: index.docbook:2770 #, no-c-format msgid "" "It is your responsibility to change the key signature (see Change staff properties and Inserting key signature changes." msgstr "" "La responsabilità di modificare la tonalità in chiave ricade sull'utente " "(vedere Modifica delle proprietà del " "pentagramma e Inserire le " "modifiche della tonalità." #. Tag: title #: index.docbook:2775 #, no-c-format msgid "Change Accidentals" msgstr "" #. Tag: para #: index.docbook:2776 #, no-c-format msgid "" "In some seldom cases it is desirable to change sharps against flats, and " "vice versa:" msgstr "" #. Tag: phrase #: index.docbook:2781 #, fuzzy, no-c-format msgid "change accidentals" msgstr "La barra degli ulteriori accidenti" #. Tag: para #: index.docbook:2784 #, fuzzy, no-c-format msgid "" "&nted; offers this functionallity. If you want only a subset of notes to be " "affected, then draw a selection rectangle as described in Select a block. Then choose:" msgstr "" "&nted; offre la funzione di trasposizione. Se si desidera trasporre solo un " "sottoinsieme di note si deve tracciare un rettangolo di selezione come " "descritto in Scegliere un blocco. " "Quindi scegliere:" #. Tag: menuchoice #: index.docbook:2787 #, fuzzy, no-c-format msgid "" "Tools set all to sharp ..." msgstr "" "Altri Trasporre ..." #. Tag: menuchoice #: index.docbook:2794 #, fuzzy, no-c-format msgid "" "Tools set all to flat ..." msgstr "" "Altri Muto ..." #. Tag: para #: index.docbook:2800 #, fuzzy, no-c-format msgid "The selection dialog appears:" msgstr "Appare la finestra di configurazione della scelta del pentagramma:" #. Tag: phrase #: index.docbook:2805 #, fuzzy, no-c-format msgid "The selection dialog" msgstr "La finestra di configurazione della selezione del pentagramma" #. Tag: para #: index.docbook:2809 #, fuzzy, no-c-format msgid "" "If you drew a selection rectange the use selection box is active. You can determine whether or not to use the " "selection rectangle." msgstr "" "Scegliere il numero di mezzi toni. Se si traccia un rettangolo di selezione " "si attiva il riquadro usa selezione che " "permette di stabilire se utilizzare o meno il rettangolo di selezione." #. Tag: para #: index.docbook:2812 #, fuzzy, no-c-format msgid "" "If there is no selection rectangle you can select the staves to be affacted. " "Press OK and &nted; changes the appropriate notes." msgstr "" "Se non c'è una selezione si possono selezione i pentagrammi da trasporre. " "Premere OK e &nted; trapone le note appropriate." #. Tag: title #: index.docbook:2818 #, no-c-format msgid "Title, composer, and arranger" msgstr "Titolo, compositore e arrangiatore" #. Tag: para #: index.docbook:2819 #, no-c-format msgid "" "To attach some score information (title, subject, composer, arranger, " "copyright) select:" msgstr "" "Per aggiungere alcune informazioni sullo spartito (titolo, sottotitolo, " "compositore, arrangiatore, copyright) scegliere:" #. Tag: menuchoice #: index.docbook:2821 #, no-c-format msgid "" "Edit Score info ..." msgstr "" "Modifica Informazioni " "spartito ..." #. Tag: para #: index.docbook:2826 #, no-c-format msgid "The score information dialog appears:" msgstr "Appare la finestra di configurazione delle informazioni:" #. Tag: phrase #: index.docbook:2831 #, no-c-format msgid "The score information dialog" msgstr "La finestra di configurazione delle informazione dello spartito" #. Tag: para #: index.docbook:2835 #, no-c-format msgid "" "Insert the name of the composer, arranger, the subject and the copyright and " "press OK. This information is shown at the first page of the score." msgstr "" "Inserire le informazioni desiderate nel relativo campo di inserimento e " "premere il pulsante OK. Queste informazioni vengono mostrate sulla prima " "pagina dello spartito." #. Tag: title #: index.docbook:2839 #, no-c-format msgid "Pages" msgstr "Pagine" #. Tag: title #: index.docbook:2842 #, no-c-format msgid "Page layout" msgstr "Formato pagina" #. Tag: para #: index.docbook:2843 #, no-c-format msgid "To change the page layout choose:" msgstr "Per modificare il formato della pagina scegliere:" #. Tag: menuchoice #: index.docbook:2845 #, fuzzy, no-c-format msgid "" "File Configure Paper ..." msgstr "" "Configura Configura foglio" #. Tag: para #: index.docbook:2850 #, fuzzy, no-c-format msgid "" "Choose A3, A4, A5, B4, Letter, Legal, or 230x293 and the orientation " "(portrait or landscape)." msgstr "" "Scegliere tra A3, A4 o B4 e l'orientamento del foglio (verticale od " "orizzontale)." #. Tag: title #: index.docbook:2855 #, no-c-format msgid "Navigation on pages" msgstr "Scorrimento delle pagine" #. Tag: para #: index.docbook:2856 #, no-c-format msgid "" "&nted; presents the score on a seeming endless paper. You can move this " "paper in page mode (see The 3 modes). " "Again: You can achieve this mode temporarily by pressing the Shift key. In " "page mode if you hold the left mouse button and move the mouse the paper " "moves accordingly." msgstr "" "&nted; mostra lo spartito in un foglio illimitato. Si può trasformare questo " "foglio in pagine separate entrando nella modalità Pagina (vedere Le 3 modalità). Ricordo che si può attivare " "questa modalità in modo temporaneo premendo il tasto Shift. Nella modalità " "Pagina si può tenere premuto il tasto sinistro del mouse e far muovere il " "foglio seguendo il movimento del mouse." #. Tag: para #: index.docbook:2863 #, fuzzy, no-c-format msgid "" "Furthermore you can jump to a certain page by using the page selector " "() ot the page up/down " "keys." msgstr "" "Inoltre si può saltare ad una pagina specifica usando il selettore di pagina " "()." #. Tag: para #: index.docbook:2867 #, no-c-format msgid "Furthermore you can use the mouse wheel to navigate on page." msgstr "" "E ancora si può usare la rotellina del mouse per spostarsi all'interno della " "pagina corrente." #. Tag: title #: index.docbook:2871 #, no-c-format msgid "Delete the last page" msgstr "Elimina ultima pagina" #. Tag: para #: index.docbook:2872 #, no-c-format msgid "If there is more than one page you can delete the last page. Choose:" msgstr "Se c'è più di una pagina si può eliminare l'ultima scegliendo:" #. Tag: menuchoice #: index.docbook:2874 #, no-c-format msgid "" "Edit Remove last page" msgstr "" "Modifica Elimina ultima " "pagina" #. Tag: title #: index.docbook:2882 #, no-c-format msgid "Remove empty pages at end" msgstr "Togliere le pagine vuote alla fine" #. Tag: para #: index.docbook:2883 #, no-c-format msgid "" "Under some circumstances it can happen that there are some empty pages at " "score end, i.e. pages which consist of only rest. To delete these pages " "choose:" msgstr "" "In alcune circostanze può accadere che ci siano delle pagine vuote alla fine " "dello spartito, per esempio pagine che contengono solo pause. Per eliminare " "queste pagine pagine scegliere:" #. Tag: menuchoice #: index.docbook:2888 #, no-c-format msgid "" "Edit Remove empty pages" msgstr "" "Modifica Elimina pagine " "vuote" #. Tag: title #: index.docbook:2897 #, no-c-format msgid "Multiple windows and Excerpt" msgstr "Finestre multiple ed estratti" #. Tag: title #: index.docbook:2900 #, no-c-format msgid "Multiple windows" msgstr "Finestre multiple" #. Tag: para #: index.docbook:2902 #, no-c-format msgid "" "&nted; allowes you to open as many windows as you want. This is useful if " "you want to compare two different scores or if you want to copy parts of one " "score to another score. To open a new window choose:" msgstr "" "&nted; permette di aprire quante finestre si desiderano. In questo modo si " "facilità il paragone tra due diversi spartiti o se si desidera copiarne una " "parte di uno nell'altro. Per aprire una nuova finestra scegliere:" #. Tag: menuchoice #: index.docbook:2905 #, no-c-format msgid "" "File New Window" msgstr "" "Archivio Nuova finestra" #. Tag: para #: index.docbook:2911 #, no-c-format msgid "a new window appears:" msgstr "Appare una nuova finestra:" #. Tag: phrase #: index.docbook:2917 #, no-c-format msgid "A new window" msgstr "Una nuova finestra" #. Tag: para #: index.docbook:2921 #, no-c-format msgid "" "With the new window you can do all you could do with the first one. If you " "want to copy/paste between different windows please make shure " "both windows are in edit mode (see The 3 modes):" msgstr "" "Con la nuova finestra si possono fare tutte le cose che si possono fare " "sulla prima. Se si desidera copiare/incollare tra due finestre assicurarsi " "che entrambe le finestre siano in modalità Modifica " "(vedere Le 3 modalità):" #. Tag: phrase #: index.docbook:2928 #, no-c-format msgid "copy/paste between 2 windows" msgstr "Copiare/Incollare tra 2 finestre" #. Tag: para #: index.docbook:2932 #, no-c-format msgid "" "See also: Block instructions." msgstr "" "Vedere anche: Istruzioni per i blocchi" #. Tag: para #: index.docbook:2934 #, no-c-format msgid "To delete a window choose:" msgstr "Per elimare una finestra scegliere:" #. Tag: menuchoice #: index.docbook:2936 #, no-c-format msgid "" "File Close Window" msgstr "" "Archivio Chiudi finestra" #. Tag: title #: index.docbook:2943 #, no-c-format msgid "Extract a subset of staves" msgstr "Estrarre un sottoinsieme di pentagrammi" #. Tag: para #: index.docbook:2944 #, no-c-format msgid "" "&nted; allows you to copy a subset of staves into the 2nd window. To do this " "choose:" msgstr "" "&nted; permette di copiare una parte di un pentagramma nella 2nda finestra. " "Per farlo scegliere:" #. Tag: menuchoice #: index.docbook:2946 #, no-c-format msgid "" "File Excerpt ..." msgstr "" "Archivio Estratto ..." #. Tag: para #: index.docbook:2951 #, no-c-format msgid "The staff selection dialog appears:" msgstr "Appare la finestra di configurazione della scelta del pentagramma:" #. Tag: phrase #: index.docbook:2956 #, no-c-format msgid "The staff selection dialog" msgstr "La finestra di configurazione della selezione del pentagramma" #. Tag: para #: index.docbook:2960 #, no-c-format msgid "" "Select the subset of ataves, to be copied. To select more than 1 staff press " "Ctrl during selection. To select a range of staves press and hold Shift. " "Then select the first and the last staff of the range." msgstr "" "Selezionare la parte del pentagramma che si desidera copiare. Per " "selezionare più di un pentagramma premere il tasto Ctrl durante la " "selezione. Per selezione un intervallo di pentagrammi premere e mantenere il " "tasto Shift. Quindi scegliere il primo e l'ultimo pentagramma " "dell'intervallo." #. Tag: para #: index.docbook:2964 #, no-c-format msgid "" "Press Ok! The subset of staves is copied into a 2nd " "window:" msgstr "" "Premere Ok! Quindi la parte selezionata viene copiata " "nella seconda finestra:" #. Tag: phrase #: index.docbook:2969 #, no-c-format msgid "the excerpt" msgstr "Uno stralcio" #. Tag: title #: index.docbook:2976 #, no-c-format msgid "Scaling the whole score" msgstr "Scalare l'intero spartito" #. Tag: para #: index.docbook:2978 #, no-c-format msgid "" "&nted; allowes you to continously scale the score. As a result you get " "different note sizes:" msgstr "" "&nted; permette la scalatura continua dello spartito. Quale risultato si ha " "una diversa dimensione delle note:" #. Tag: phrase #: index.docbook:2983 #, no-c-format msgid "scaling the score" msgstr "Scalatura dello spartito" #. Tag: para #: index.docbook:2987 #, no-c-format msgid "To scale the score choose:" msgstr "Per scalare lo spartito scegliere:" #. Tag: menuchoice #: index.docbook:2989 #, fuzzy, no-c-format msgid "" "File Change Scale ..." msgstr "" "Configura Cambia scala ..." #. Tag: para #: index.docbook:2995 #, no-c-format msgid "The scale dialog appears:" msgstr "Appare la finestra di configurazione di scalatura:" #. Tag: phrase #: index.docbook:3000 #, no-c-format msgid "the scale dialog" msgstr "la finestra di configurazione della scalatura" #. Tag: para #: index.docbook:3004 #, no-c-format msgid "Determine the scaling factor and press OK!" msgstr "Stabilire il fattore di scala e premere OK!" #. Tag: title #: index.docbook:3008 #, no-c-format msgid "Documentation" msgstr "Documentazione" #. Tag: para #: index.docbook:3009 #, no-c-format msgid "To consult the documentation choose" msgstr "Per consultare la documentazione scegliere:" #. Tag: menuchoice #: index.docbook:3011 #, no-c-format msgid "" "Help Documentation ..." msgstr "" "Aiuto Documentazione ..." #. Tag: para #: index.docbook:3017 #, no-c-format msgid "" "The documentation is availabe only if the following programs were installed " "during ./configure step on your system:" msgstr "" "La documentazione è disponibile esclusivamente se nel vostro sistema sono " "presenti i seguenti programmi durante la fase di configurazione " "(./configure):" #. Tag: para #: index.docbook:3021 #, no-c-format msgid "" "yelp from GNOME project (package gnome-extra)" msgstr "" "yelp dal Progetto GNOME (pacchetti gnome-extra)" #. Tag: ulink #: index.docbook:3022 #, no-c-format msgid "xmlto" msgstr "xmlto" #. Tag: title #: index.docbook:3027 #, no-c-format msgid "Save and restore" msgstr "Archiviare e caricare" #. Tag: title #: index.docbook:3029 #, no-c-format msgid "Save" msgstr "Archiviare" #. Tag: para #: index.docbook:3030 #, no-c-format msgid "To save your score choose:" msgstr "Per archiviare il vostro spartito scegliere:" #. Tag: menuchoice #: index.docbook:3032 #, no-c-format msgid "" "File Save as..." msgstr "" "Archivio Archivia come..." #. Tag: para #: index.docbook:3037 #, no-c-format msgid "" "Choose a file name on dialog and press OK! The default suffix is " ".ntd." msgstr "" "Scegliere il nome da dare allo spartito nella finestra di configurazione e " "premere OK! L'estensione predefinita è .ntd." #. Tag: para #: index.docbook:3038 #, no-c-format msgid "To save a file which was already stored before choose:" msgstr "Per archiviare uno spartito precedentemente archiviato scegliere:" #. Tag: menuchoice #: index.docbook:3040 #, no-c-format msgid "File Save" msgstr "" "Archivio Archivia" #. Tag: title #: index.docbook:3047 #, no-c-format msgid "Restore" msgstr "Carica" #. Tag: para #: index.docbook:3048 #, no-c-format msgid "To restore a previous saved score choose:" msgstr "Per caricare uno spartito precedentemente archiviato scegliere:" #. Tag: para #: index.docbook:3055 #, no-c-format msgid "Choose a file name on dialog and press OK!" msgstr "Scegliere il nome dello spartito e premere il pulsante OK!" #. Tag: title #: index.docbook:3058 #, no-c-format msgid "New file" msgstr "Nuovo spartito" #. Tag: para #: index.docbook:3059 #, no-c-format msgid "To start with a totally new (empty) score choose:" msgstr "Per iniziare con uno spartito completamente vuoto (nuovo) scegliere:" #. Tag: menuchoice #: index.docbook:3061 #, no-c-format msgid "File New" msgstr "" "Archivio Nuovo" #. Tag: title #: index.docbook:3069 #, no-c-format msgid "Terminate program" msgstr "Terminare il programma" #. Tag: para #: index.docbook:3070 #, no-c-format msgid "To terminate the program choose:" msgstr "Per terminare il programma scegliere:" #. Tag: menuchoice #: index.docbook:3072 #, no-c-format msgid "File Exit" msgstr "" "Archivio Esci" #. Tag: title #: index.docbook:3081 #, no-c-format msgid "Printing, exports, Karaoke and imports" msgstr "Stampare, esportare, Karaoke e importare" #. Tag: title #: index.docbook:3083 #, no-c-format msgid "Configuration" msgstr "Configurazione" #. Tag: para #: index.docbook:3084 #, no-c-format msgid "&nted; assumes that:" msgstr "&nted; presume che:" #. Tag: computeroutput #: index.docbook:3085 #, no-c-format msgid "lpr <file>.ps" msgstr "lpr <file>.ps" #. Tag: para #: index.docbook:3086 #, no-c-format msgid "" "prints a PostScript file named <file>.ps on your system. If this isn't the case then configure the " "printing command. Choose:" msgstr "" "stampi dal vostro sistema un file PostScript chiamato <" "file>.ps. Se questo non è il vostro caso occorre " "configurare il comando di stampa. Scegliere:" #. Tag: menuchoice #: index.docbook:3089 #, fuzzy, no-c-format msgid "" "Edit Preferences Configure Print ..." msgstr "" "Modifica Battuta in levare ... indica inizio" #. Tag: para #: index.docbook:3095 #, no-c-format msgid "On dialog textfield you should see:" msgstr "" "Nella campo di inserimento di testo della finestra di configurazione appare :" #. Tag: computeroutput #: index.docbook:3096 #, no-c-format msgid "lpr %s" msgstr "lpr %s" #. Tag: para #: index.docbook:3097 #, no-c-format msgid "" "The %s will be replaced by the name of a " "PostScript file. Change this string according to your needs. For instance: " "If you want to use the kprinter from " "KDE then change the string to:" msgstr "" "Il simbolo %s sarà sostituito dal nome del " "file PostScript. Modificare questa frase secondo le proprie necessità. Per " "esempio: Se si vuole utilizzare kprinter di KDE " "allora modificare la frase in:" #. Tag: computeroutput #: index.docbook:3100 #, no-c-format msgid "kprinter %s" msgstr "kprinter %s" #. Tag: para #: index.docbook:3101 #, no-c-format msgid "and press OK!" msgstr "e premere il pulsante OK!" #. Tag: para #: index.docbook:3103 #, no-c-format msgid "If all is configured then choose:" msgstr "Al termine della configurazione scegliere:" #. Tag: menuchoice #: index.docbook:3105 #, no-c-format msgid "File Print" msgstr "" "Archivio stampa" #. Tag: title #: index.docbook:3113 #, no-c-format msgid "Export PostScript" msgstr "Esportare nel formato PostScript" #. Tag: para #: index.docbook:3114 #, no-c-format msgid "You can export the score as PostScript. Choose:" msgstr "Si può esportare lo spartito in formato PostScript scegliendo:" #. Tag: menuchoice #: index.docbook:3116 #, no-c-format msgid "" "File Export PS..." msgstr "" "Archivio Esporta PS..." #. Tag: para #: index.docbook:3121 index.docbook:3136 index.docbook:3150 index.docbook:3177 #, no-c-format msgid "Select a file name on dialog and press OK." msgstr "" "Scegliere nella finestra di configurazione un nome da dare al file e premere " "OK." #. Tag: para #: index.docbook:3122 #, no-c-format msgid "" "Because most printers are able to print PostScript files you can print this " "file using your preferred printing command (lpr, " "kprinter, ...)" msgstr "" "Poichè la maggior parte delle stampanti possono stampare un file PostScript " "questo può essere stampato utilizzando il comando di stampa preferito " "(lpr, kprinter, ...)." #. Tag: title #: index.docbook:3127 #, no-c-format msgid "Export PDF" msgstr "Esportare in PDF" #. Tag: para #: index.docbook:3128 #, no-c-format msgid "The PDF is available only if your Cairo library supports PDF." msgstr "" "Il formato PDF è disponibile solo lo è anche per la libreria Cairo " "installata." #. Tag: para #: index.docbook:3129 #, no-c-format msgid "You can export the score as PDF. Choose:" msgstr "Si può esportare lo spartito come PDF scegliendo:" #. Tag: menuchoice #: index.docbook:3131 #, no-c-format msgid "" "File Export PDF..." msgstr "" "Archivio Esporta PDF..." #. Tag: para #: index.docbook:3137 #, no-c-format msgid "" "Because many printers are able to print PDF files you can print this file " "using your preferred printing command (lpr, " "kprinter, ...)" msgstr "" "Poichè la maggior parte delle stampanti possono stampare un file PDF questo " "può essere stampato utilizzando il comando di stampa preferito " "(lpr, kprinter, ...)." #. Tag: title #: index.docbook:3142 #, no-c-format msgid "Export MIDI" msgstr "Esportare nel formato MIDI" #. Tag: para #: index.docbook:3143 #, no-c-format msgid "You can export the score as MIDI data. Choose:" msgstr "Si può esportare (convertire) lo spartito in dati MIDI scegliendo:" #. Tag: menuchoice #: index.docbook:3145 #, no-c-format msgid "" "File Export MIDI..." msgstr "" "Archivio Esporta MIDI..." #. Tag: title #: index.docbook:3155 #, no-c-format msgid "Karaoke" msgstr "Karaoke" #. Tag: para #: index.docbook:3156 #, no-c-format msgid "" "If the score contains lyrics &nted; exports them to MIDI. This causes many " "midi players among them kmid to show a Karaoke-" "like behaviour:" msgstr "" "Se lo spartito contiene anche le parole &nted; le esporterà nel file MIDI. " "In questo modo si permette ai riproduttori midi, tra cui kmid, di comportarsi come un Karaoke:" #. Tag: phrase #: index.docbook:3162 #, no-c-format msgid "Karaoke with kmid" msgstr "Karaoke con kmid" #. Tag: title #: index.docbook:3169 #, no-c-format msgid "Import MusicXML" msgstr "Importa MusicXML" #. Tag: para #: index.docbook:3170 #, no-c-format msgid "You can import a MusicXML file. Choose:" msgstr "Si può importare uno spartito dal formato MusicXML scegliendo:" #. Tag: menuchoice #: index.docbook:3172 #, no-c-format msgid "" "File Import MusicXML..." msgstr "" "Archivio Importa MusicXML..." #. Tag: para #: index.docbook:3178 #, no-c-format msgid "" "There is a bug in NoteEdit which concerns the export of multivoice staves " "into MusicXML. As a result NtEd has problems importing such files. To solve " "the problem NoteEdit must be patched. See http://vsr." "informatik.tu-chemnitz.de/staff/jan/nted/noteedit_musml_patch.html " "for more information." msgstr "" "NoteEdit ha un malfunzinamento nella esportazione di spartiti a più voci nel " "formato MusicXML. Questo crea un problema nella importazione di questo tipo " "di file da parte di &nted;. Per risolvere questo problema occorre rammendare " "NoteEdit. Per ulteriori informazioni consultate il sito " "http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/noteedit_musml_patch." "html" #. Tag: title #: index.docbook:3187 #, no-c-format msgid "Export PNG and SVG" msgstr "Esportare PNG e SVG" #. Tag: para #: index.docbook:3188 #, no-c-format msgid "" "&nted; can export the current page to PNG (Portbale Network Graphics) and " "SVG (Scaleable Vector Graphics). The current page is the page shown in page " "counter. Both formats are very useful for WEB publishing or graphic related " "tasks. Many text processors allow embendding PNG and/or SVG graphics." msgstr "" "&nted; può esportare la pagine attiva sia in PNG (Portable Network Graphics) " "che SVG (Scaleable Vector Graphics). La pagina attiva è quella indicata nel " "conta pagine. Entrambi i formati sono molto utili per l'uso nel WEB o i " "relativi compiti grafici. Molti redattori di testo contemplano la " "possibilità di includere immagini PNG e/o SVG." #. Tag: para #: index.docbook:3192 #, no-c-format msgid "" "Especially the SVG format - an XML instance - is very useful because - as " "the name indicates - it is scaleable without strange effects which are " "usually visible in scaled pixel graphics." msgstr "" "In particolar modo il formato SVG - una istanza XML - è molto utile in " "quanto - come indica il nome stesso - è scalabile senza gli strani effetti " "che si presentano quando si ridimensione le immagini raster." #. Tag: para #: index.docbook:3195 #, no-c-format msgid "The SVG export is available only if your Cairo library supports SVG." msgstr "" "Il formato SVG è disponibile solo se lo è nella libreria Cairo installata.Il " "formato SVG è disponibile solo se lo è nella libreria Cairo installata." #. Tag: menuchoice #: index.docbook:3199 #, no-c-format msgid "" "File Export PNG ..." msgstr "" "Archivio Esporta PNG ..." #. Tag: para #: index.docbook:3204 #, no-c-format msgid "or" msgstr "o" #. Tag: menuchoice #: index.docbook:3206 #, no-c-format msgid "" "File Export SVG ..." msgstr "" "Archivio Esporta SVG ..." #. Tag: para #: index.docbook:3212 #, no-c-format msgid "Choose a file name and press OK!" msgstr "Scegliere un nome del file e premere il pulsante OK!" #. Tag: para #: index.docbook:3214 #, no-c-format msgid "The size of the PNG/SVG image depends on the current zoom factor." msgstr "" "La dimensione dell'immagine PNG/SVG dipende dal fattore di scala attivo.La " "dimensione dell'immagine PNG/SVG dipende dal fattore di scala attivo." #. Tag: title #: index.docbook:3218 #, no-c-format msgid "Export LilyPond" msgstr "Esportare in formato LilyPond" #. Tag: para #: index.docbook:3219 #, no-c-format msgid "" "LilyPond (http://lilypond.org/) " "is cetrainly the music typesetter with the best output. This mainly for 2 " "reasons:" msgstr "" "LilyPond (http://lilypond.org/) " "è di certo il migliore impaginatore musicale principalmente per 2 motivi:" #. Tag: para #: index.docbook:3223 #, no-c-format msgid "" "The developers made a lot of effort to create special music fonts, which are " "derived from traditional music printing. They even created their own tools " "for font format conversion to get the best results." msgstr "" "Gli sviluppatori hanno profuso un enorme sforzo nel creare dei caratteri " "musicali speciali derivati dalla stampa musicale tradizionale. Inoltre essi " "stessi hanno creato dei strumenti per la conversione dei caratteri musicali " "per fornire i migliori risultati." #. Tag: para #: index.docbook:3227 #, no-c-format msgid "" "LilyPond uses a multi pass technique which takes as much time as necessary " "to perform an excellent placement of the musical symbols." msgstr "" "LilyPond usa una tecnica di passaggi multipli che richiede tutto il tempo " "necessario ad un eccellente posizionamente dei simboli musicali." #. Tag: para #: index.docbook:3232 #, no-c-format msgid "" "Furthermore, LilyPond has a lot of music orthographical knowledge, which " "prevents notation errors." msgstr "" "Inoltre LilyPond ha una vasta conoscenza dell'ortografia musicale che " "previene gli errori notazionali." #. Tag: para #: index.docbook:3235 #, no-c-format msgid "" "LilyPond creates a PostScript or PDF output from a file which contains a " "text transcription of the music. For example, the input:" msgstr "" "LilyPond genera un documento PostScript o PDF leggendo un file contenente " "una trascrizione letteraria della musica. Per esempio il testo:" #. Tag: literallayout #: index.docbook:3238 #, no-c-format msgid "" "\\relative c' { \\clef treble \\key d \\major\n" " d4 e fis g a b cis d \n" "}" msgstr "" "\\relative c' { \\clef treble \\key d \\major\n" " d4 e fis g a b cis d \n" "}" #. Tag: para #: index.docbook:3241 #, no-c-format msgid "causes the following output:" msgstr "determina la seguente visualizzazione:" #. Tag: para #: index.docbook:3252 #, no-c-format msgid "&nted; can create the LilyPond text transcription. Choose:" msgstr "&nted; può generare la trascrizione letteraria di LilyPond. Scegliere:" #. Tag: menuchoice #: index.docbook:3254 #, no-c-format msgid "" "File Export LilyPond..." msgstr "" "Archivio Esporta LilyPond..." #. Tag: para #: index.docbook:3260 #, no-c-format msgid "The LilyPond export dialog appears:" msgstr "" "Appare la finestra di configurazione per l'esportazione in formato LilyPond:" #. Tag: phrase #: index.docbook:3265 #, no-c-format msgid "LilyPond export dialog" msgstr "Finestra di configurazione per l'esportazione in LilyPond" #. Tag: para #: index.docbook:3269 #, no-c-format msgid "" "On checkbox at the head you can determine whether or not &nted; shall place " "\\break statments to achieve the same line " "breaks as in &nted; score." msgstr "" "Nella casella di spunta in testa si stabilisce se &nted; deve piazzare o " "meno la istruzione di \\break per " "raggiungere le stesse interruzioni di linea come nello spartito in &nted;." #. Tag: para #: index.docbook:3273 #, no-c-format msgid "" "If you want to export a subset of staves press the select " "staves button. The staff selection dialog appears:" msgstr "" "Se si desidera esportare una parte dei pentagrammi premere il pulsante " "seleziona pentagrammi. Quindi appare la " "finestra di configurazione della selezione del pentagramma:" #. Tag: phrase #: index.docbook:3280 #, no-c-format msgid "the staff selection dialog" msgstr "la finestra di configurazine della selezione del pentagramma" #. Tag: para #: index.docbook:3285 #, no-c-format msgid "" "Select a subset of staves. To select more than 1 staff press Ctrl during " "selection. To select a range of staves press and hold Shift. Then select the " "first and the last staff of the range." msgstr "" "Selezionare un sottoinsieme di pentagrammi. Per selezionare più di un " "pentagramma premere il tasto Ctrl durante la selezione. Per selezionare un " "intervallo di pentagrammi premere e tenere premuto il tasto Shift. Quindi " "selezionare il primo e l'ultimo pentagramma dell'intervallo." #. Tag: para #: index.docbook:3289 #, no-c-format msgid "" "LilyPond has its own beaming rules. Therefore, the LilyPond beaming differs " "from &nted;-beaming. If you want the same beams as in &nted; then select the " "keep beams button. Select the staves to " "keep the beams for and press OK." msgstr "" #. Tag: para #: index.docbook:3293 #, no-c-format msgid "" "Choose a File name - the suffix should be .ly - and " "press OK." msgstr "" "Scegliere il nome del file! L'estensione dovrebbe essere .ly - e premere OK." #. Tag: para #: index.docbook:3295 #, no-c-format msgid "" "To produce a PostScript or PDF output from this file install LilyPond and " "type:" msgstr "" "Per produrre un documento PostScript o PDF da questo file dve essere " "installato LilyPond. Quindi digitare il seguente comando:" #. Tag: para #: index.docbook:3298 #, no-c-format msgid "" "lilypond <filename>.ly" msgstr "" "lilypond <nomefile>.ly" #. Tag: para #: index.docbook:3301 #, no-c-format msgid "" "To preview and/or print the output use your preferred view/print commands " "(gv, ggv, evince, xpdf, lpr, kprinter, ...)." msgstr "" "Per vedere e/o stampare il risultato si può utilizzare il visualizzatore " "relativo preferito (gv, ggv, evince, xpdf, lpr, kprinter, ...)." #. Tag: para #: index.docbook:3304 #, no-c-format msgid "" "As mentioned above, LilyPond uses its own placement strategie and its own " "fonts. As a consequence the WYSIWYG principle is broken. The output differs " "from &nted; score." msgstr "" "Come indicato predentemente, LilyPond usa la propria strategia di " "posizionamento e i propri caratteri musicali. Di conseguenza viene infranto " "il principio di WYSIWYG (Quello Che Vedi È Quello Che Ottieni NdT). Il " "risultato differisce dallo spartito di &nted;." #. Tag: title #: index.docbook:3312 #, no-c-format msgid "Import MIDI" msgstr "Importare dal formato MIDI" #. Tag: para #: index.docbook:3313 #, no-c-format msgid "" "&nted; can (try to) construct a score from a MIDI file. Note! There are many " "scores which would generate the same MIDI data. Therefore the MIDI to score " "transformation is ambiguous." msgstr "" "&nted; può (cerca di) costruire uno spartito da un file MIDI. Nota: Ci sono " "spartiti diversi che generano gli stessi dati nel file MIDI. Quindi la " "conversione da MIDI in spartito è ambigua." #. Tag: para #: index.docbook:3316 #, no-c-format msgid "To import a MIDI file choose" msgstr "Per importare i dati da un file MIDIL scegliere:" #. Tag: menuchoice #: index.docbook:3319 #, no-c-format msgid "" "File Import MIDI ..." msgstr "" "Archivio Importa MIDI..." #. Tag: para #: index.docbook:3325 #, no-c-format msgid "The MIDI import dialog appears:" msgstr "Appare la finestra di configurazione MIDI:" #. Tag: phrase #: index.docbook:3331 #, no-c-format msgid "MIDI import dialog" msgstr "finestra di configurazione della importazione MIDI" #. Tag: para #: index.docbook:3335 #, no-c-format msgid "Decide whether &nted; shall try to recognize triplets!" msgstr "Decidere come &nted; debba tentare di riconoscere le terzine!" #. Tag: para #: index.docbook:3337 #, no-c-format msgid "" "The 2 sliders allow you to influence the density of tempo and volume signs. " "A value of 0 means \"no signs\". If you choose 100 it can happen that almost " "every note has a volume or tempo sign." msgstr "" "I due potenziometri lineari stabiliscono la densità dei segni del tempo e " "del volume. Il valore zero significa \"nessun segno\". Se si sceglie 100 " "potrebbe accadere che quasi ogni nota abbia un segno di tempo e volume." #. Tag: para #: index.docbook:3341 #, no-c-format msgid "" "Often, MIDI files have tracks which comprise a very large range of pitches. " "Placing these notes in one staff leads to bad output:" msgstr "" "Spesso, i file MIDI hanno una traccia che comprende una estensione tonale " "molto vasta. Posizionare queste note in un olo rigo conduce ad una cattiva " "esecuzione:" #. Tag: phrase #: index.docbook:3348 index.docbook:3358 index.docbook:3377 index.docbook:3487 #: index.docbook:3497 #, no-c-format msgid "MIDI program changes" msgstr "Modifiche nel programma MIDI" #. Tag: para #: index.docbook:3352 #, no-c-format msgid "Therefore, the normal behaviour of &nted; is to split these tracks:" msgstr "" "Dunque, il comportamento normale di &nted; è quello di dividere queste " "tracce:" #. Tag: para #: index.docbook:3362 #, no-c-format msgid "" "But somtimes this is unwanted. Espacially, if the MIDI file has already well " "splitted tracks. Use the don't split tracks " "button in this case." msgstr "" "Ma qualche volta questo comportamento è indesiderato. Specialmente se il " "file MIDI ha già delle tracce ben separate. In questo caso utilizzare il " "pulsante Non separare le tracce." #. Tag: para #: index.docbook:3366 #, no-c-format msgid "" "The button force piano forces a score with " "2 staves per system." msgstr "" "Il pulsante forza pianoforte crea 2 " "pentagrammi per spartito." #. Tag: para #: index.docbook:3369 #, no-c-format msgid "" "The button sort instruments is useful for " "MIDI files where all or many instruments are placed in one track. For " "example, in following MIDI file a piano and a flute appear in the same track:" msgstr "" "Il pulsante Ordina strumenti è utile per i " "file MIDI in cui tutti o molti strumenti sono posizionati in una sola " "traccia. Per esempio, nel file MIDI che segue, il piano e il flauto sono " "nella stessa traccia:" #. Tag: para #: index.docbook:3381 #, no-c-format msgid "" "The red bullets represent a special MIDI operator called MIDI " "program change which advises the device to change the " "instrument. Thus, theoretically a MIDI file can place a whole orchestra in " "one track. Files produced by keyboards are often of this kind. &nted; would " "actually place all notes in one staff and attach the first given instrument " "to this staff. If sort instruments is " "active it sorts the instruments into different staves:" msgstr "" "I pallini rossi rappresentano una operazione MIDI speciale chiamata " "modifica programma MIDI che informa l'apparecchiatura " "a modificare lo strumento. Quindi, in teoria. un file MIDI può mettere una " "intera orchestra in una sola traccia. I file prodotti dalla tastiera sono " "spesso di questo tipo. &nted; posizionerebbe tutte le note in un solo rigo e " "indicherebbe il primo strumento indicato per quel rigo. Se invece è attivo " "Ordina gli strumenti ordina gli strumenti " "in righi diversi:" #. Tag: phrase #: index.docbook:3392 #, no-c-format msgid "sorted MIDI program changes" msgstr "Modifiche ai programmi MIDI ordinati" #. Tag: para #: index.docbook:3396 #, no-c-format msgid "" "In most cases the default button state gives good results. But if the score " "looks strange or the replay differs dramatically from MIDI sound then try to " "play with the buttons to improve the score." msgstr "" "Nella maggior parte dei casi lo stato predefinito del pulsante dà buoni " "risultati. Ma se lo spartito appare strano o la riproduzione differisce " "drasticamente dal suono MIDI, allora è il caso di provare con questo " "pulsante per migliorare lo spartito." #. Tag: para #: index.docbook:3400 #, no-c-format msgid "" "Select the MIDI file and press OK! On last dialog you can determine the " "paper size and orientation." msgstr "" "Selezionare il file MIDI e premere OK! Nell'ultima finestra di " "configurazione si può stabilire il formato e l'orientamento della pagina." #. Tag: title #: index.docbook:3411 #, fuzzy, no-c-format msgid "Inserting notes with pitch determined by midi keyboard" msgstr "Inserire note e pause usando la tastiera del Pc" #. Tag: para #: index.docbook:3412 #, no-c-format msgid "" "If a MIDI keyboard is attached to your soundcard you can determine the pitch " "of the notes by pressing the appropriate key on MIDI keyboard. To do this " "you should first test the MIDI IN device. To do this switch on " "MIDI echo (see Prepare replay) and press the MIDI read button " "()! Move the mouse " "pointer over an arbitrary staff!" msgstr "" #. Tag: para #: index.docbook:3417 #, no-c-format msgid "" "It is important to move the mouse over a staff because this way you " "determine the instrument which playes the tone!" msgstr "" #. Tag: para #: index.docbook:3418 #, no-c-format msgid "" "If you now press a key on midikeyboard you should hear the appropriate tone " "played by the instrument attached to the staff the mouse is placed over (see " "the MIDI panel). If not then configure the " "MIDI input device:" msgstr "" #. Tag: menuchoice #: index.docbook:3423 #, fuzzy, no-c-format msgid "" "Edit Preferences Configure MIDI in..." msgstr "" "Modifica Battuta in levare ... indica inizio" #. Tag: para #: index.docbook:3429 #, fuzzy, no-c-format msgid "" "A menu appears that shows all midi input ports. Select one and press OK. If " "the port doesn't work try a different port." msgstr "" "Viene visualizzato un menu che mostra tutte le porte MIDI. Selezionarne una " "e premere OK. Se la porta scelta non funziona provarne un'altra. Se non " "accade nulla consultate la relativa domanda in FAQ." #. Tag: para #: index.docbook:3432 #, no-c-format msgid "" "If all works then press moreover the insert key " "() and the " "keyboard insertion button (). If you now place the mouse at a certain position on a " "staff the notes you play on midikeyboard are inserted. Note! The keys determine the pitch not the length! The length of the " "notes are set like described in Inserting/" "Deleting notes." msgstr "" #. Tag: para #: index.docbook:3437 #, fuzzy, no-c-format msgid "" "To terminate this mode switch off the MIDI read button" "()!" msgstr "" "Quindo premere il pulsante isolare " "():" #. Tag: title #: index.docbook:3442 #, no-c-format msgid "Creating score form playing midi keyboard" msgstr "" #. Tag: para #: index.docbook:3443 #, no-c-format msgid "" "If a MIDI keyboard is attached to your soundcard you can play on it and " "&nted; can (try to) convert this piece of music into notes." msgstr "" #. Tag: para #: index.docbook:3446 #, no-c-format msgid "" "Before you do this you should ensure the replay works. Otherwise you can't " "hear the metronome. See: Prepare replay, and eventually the TiMidity server and the eventually the appropriate question in FAQ." msgstr "" #. Tag: para #: index.docbook:3450 #, no-c-format msgid "" "Furthermore ensure the midi input works and you have selected the correct " "MIDI input port. See: Inserting notes " "with pitch determined by midi keyboard." msgstr "" #. Tag: para #: index.docbook:3452 #, fuzzy, no-c-format msgid "" "If all works then make sure &nted; is in edit mode (see The 3 modes). Then select a note or rest with left " "mouse button! The selected chord or rest should appear in red. The new notes " "will be inserted exactly at this position. Then configure the recording " "parameters:" msgstr "" "Per spostare un indicatore di tempo assicurarsi che &nted; sia in modalità " "inserire/eliminare (vedere Le 3 modalità). Selezionate l'indicare di tempo tramite il pulsante sinistro del " "mouse. Il simbolo scelto appare in rosso. Tenere premuto il pulsante " "sinistro del mouse e spostatelo. L'indicatore di tempo si muoverà di " "conseguenza." #. Tag: menuchoice #: index.docbook:3456 #, fuzzy, no-c-format msgid "" "File Configure Record ..." msgstr "" "Configura Configura foglio" #. Tag: para #: index.docbook:3462 #, fuzzy, no-c-format msgid "The MIDI record configure dialog appears:" msgstr "Appare la finestra di configurazione MIDI:" #. Tag: phrase #: index.docbook:3468 #, fuzzy, no-c-format msgid "The MIDI record config dialog" msgstr "la finestra di configurazione del nome dell'accordo" #. Tag: para #: index.docbook:3472 #, no-c-format msgid "" "The instrument, time signature and key signature should match the values of " "the staff with the selected chord or rest. You can change these values but " "it is not recommended." msgstr "" #. Tag: para #: index.docbook:3475 #, fuzzy, no-c-format msgid "" "The button triplet recognition determins " "whether or not &nted; shall (try to) recognize triplets." msgstr "" "La casella di spunta midi echo stabilisce " "se si ode o meno il suono MIDI della nota al suo inserimento." #. Tag: para #: index.docbook:3478 #, fuzzy, no-c-format msgid "" "The button force piano forces a system with " "piano layout." msgstr "" "Il pulsante forza pianoforte crea 2 " "pentagrammi per spartito." #. Tag: para #: index.docbook:3480 #, fuzzy, no-c-format msgid "" "Perhaps your piece of music comprises a very large range of pitches. Placing " "these notes in one staff leads to bad output:" msgstr "" "Spesso, i file MIDI hanno una traccia che comprende una estensione tonale " "molto vasta. Posizionare queste note in un olo rigo conduce ad una cattiva " "esecuzione:" #. Tag: para #: index.docbook:3491 #, fuzzy, no-c-format msgid "Therefore, the normal behaviour of &nted; is to split the staff" msgstr "" "Dunque, il comportamento normale di &nted; è quello di dividere queste " "tracce:" #. Tag: para #: index.docbook:3501 #, fuzzy, no-c-format msgid "" "But somtimes this is unwanted. Use the don't split tracks button in this case." msgstr "" "Ma qualche volta questo comportamento è indesiderato. Specialmente se il " "file MIDI ha già delle tracce ben separate. In questo caso utilizzare il " "pulsante Non separare le tracce." #. Tag: para #: index.docbook:3504 #, fuzzy, no-c-format msgid "" "The tempo slider determins the recording " "tempo (i.e. the tempo of the metronome) in quarters per minute." msgstr "" "La casella di spunta midi echo stabilisce " "se si ode o meno il suono MIDI della nota al suo inserimento." #. Tag: para #: index.docbook:3507 #, fuzzy, no-c-format msgid "" "The volume slider determins the volume of " "the metronome." msgstr "" "La casella di spunta midi echo stabilisce " "se si ode o meno il suono MIDI della nota al suo inserimento." #. Tag: para #: index.docbook:3509 #, no-c-format msgid "If all is correct then press Ok!" msgstr "" #. Tag: para #: index.docbook:3511 #, no-c-format msgid "" "Now press the MIDI record button (). You should hear the metronome ticks. The ticks mean " "halfs, quarters, eighths, or sixteenths, depending on the denominator of " "your time signature. The metronome plays 1 deep tick and N-1 high ticks, " "whereby N is the numerator of your time signature. After N ticks one measure " "is over and the replay begins. Play as exactly as possible according to the " "metronome." msgstr "" #. Tag: para #: index.docbook:3516 #, no-c-format msgid "" "At the end press the MIDI record button " "() again. The " "paper dialog appears. Choose a paper format and press Ok! The imported staff appears in a new &nted; window. Here you " "can correct some errors or close the window if the recording is too bad." msgstr "" #. Tag: para #: index.docbook:3521 #, fuzzy, no-c-format msgid "" "Instead of pressing the record button " "() you can press " "the i on PC keyboard." msgstr "" "Premendo il pulsante () si " "ottiene una pausa puntata." #. Tag: para #: index.docbook:3524 #, no-c-format msgid "" "If all is correct then bring the window with the selected chord or rest on " "top again. Choose:" msgstr "" #. Tag: menuchoice #: index.docbook:3526 #, fuzzy, no-c-format msgid "" "Insert Import recorded" msgstr "" "Inserisci ritardando" #. Tag: para #: index.docbook:3532 #, no-c-format msgid "" "The notes in imported staff are copied to the staff with the selected chord " "or rest. After that it is recommended to close the import window." msgstr "" #. Tag: para #: index.docbook:3535 #, no-c-format msgid "" "Now you can continue importing at the same staff by selecting an element " "behind the end of your piece. Or you can append a new staff and record a new instrument." msgstr "" #. Tag: title #: index.docbook:3540 #, no-c-format msgid "Replay" msgstr "Riascoltare" #. Tag: title #: index.docbook:3542 #, no-c-format msgid "Prepare replay" msgstr "Preparare il riascolto" #. Tag: para #: index.docbook:3550 #, no-c-format msgid "To prepare the replay choose:" msgstr "Per preparare il riascolto scegliere:" #. Tag: menuchoice #: index.docbook:3552 #, fuzzy, no-c-format msgid "" "Edit Preferences Configure MIDI out..." msgstr "" "Modifica Battuta in levare ... indica inizio" #. Tag: para #: index.docbook:3558 #, fuzzy, no-c-format msgid "" "A menu appears that shows all midi output ports. Select one and press OK. If " "the port doesn't work try a different port. If nothing helps then refer to " "the approriate question in FAQ." msgstr "" "Viene visualizzato un menu che mostra tutte le porte MIDI. Selezionarne una " "e premere OK. Se la porta scelta non funziona provarne un'altra. Se non " "accade nulla consultate la relativa domanda in FAQ." #. Tag: para #: index.docbook:3561 #, no-c-format msgid "" "The midi echo checkbox determins whether or " "not there is a midi echo if you insert a note." msgstr "" "La casella di spunta midi echo stabilisce " "se si ode o meno il suono MIDI della nota al suo inserimento." #. Tag: title #: index.docbook:3566 #, no-c-format msgid "Start replay" msgstr "Avviare il riascolto" #. Tag: para #: index.docbook:3567 #, no-c-format msgid "" "To start the replay press the play button " "(). To stop replay press " "the play button again." msgstr "" "Per avviare il riascolto premere il pulsante Play " "(). Per fermare l'ascolto premere nuovamente " "il pulsante Play." #. Tag: para #: index.docbook:3570 #, no-c-format msgid "" "To start the replay at a certain position select a note first. To do this " "make sure &nted; is in edit mode (see The 3 " "modes). Then select a note (not a rest!) with left mouse button! " "Press the play button ()!" msgstr "" "Per avviare il riascolto da una posizione ben precisa occorre prima " "scegliere la nota. Per farlo assicurarsi che &nted; sia in modalità Modifica " "(vedere Le 3 modalità). Quindi " "selezionate col pulsante sinistro del mouse una nota (non una pausa) e " "premere il pulsante Play ()!" #. Tag: title #: index.docbook:3577 #, no-c-format msgid "Muting" msgstr "Muto" #. Tag: para #: index.docbook:3579 #, no-c-format msgid "" "It is possible to exclude a subset of staves from replay. To do this choose:" msgstr "" "Si può escludere dal riascolto un sottoinsieme di pentagrammi. Per far ciò " "scegliere:" #. Tag: menuchoice #: index.docbook:3581 #, fuzzy, no-c-format msgid "" "Tools Muting ..." msgstr "" "Altri Muto ..." #. Tag: para #: index.docbook:3587 #, no-c-format msgid "The mute dialog appears:" msgstr "Appare la finestra di configurazione del muto:" #. Tag: para #: index.docbook:3597 #, fuzzy, no-c-format msgid "" "Select the staves to be muted and press OK. To mute some voices of a certain " "staff refer to Staves." msgstr "" "Selezionare i pentagrammi da non eseguire e premere il pulsante OK! (Vedere " "anche Pentagrammi)." #. Tag: title #: index.docbook:3603 #, no-c-format msgid "Shortcuts" msgstr "Scorciatoie" #. Tag: entry #: index.docbook:3609 #, no-c-format msgid "key" msgstr "tasto" #. Tag: entry #: index.docbook:3609 #, no-c-format msgid "operation" msgstr "operazione" #. Tag: entry #: index.docbook:3610 #, fuzzy, no-c-format msgid "I" msgstr "1" #. Tag: entry #: index.docbook:3610 #, no-c-format msgid "start/stop record from MIDI keyboard" msgstr "" #. Tag: entry #: index.docbook:3611 #, no-c-format msgid "N" msgstr "N" #. Tag: entry #: index.docbook:3611 #, no-c-format msgid "Toggle insert insert/delete mode" msgstr "Scambia tra la modalità Inserisci/Elimina" #. Tag: entry #: index.docbook:3612 #, no-c-format msgid "P" msgstr "P" #. Tag: entry #: index.docbook:3612 #, no-c-format msgid "Toggle page mode" msgstr "Scambia la modalità Pagina" #. Tag: entry #: index.docbook:3613 #, no-c-format msgid "R" msgstr "R" #. Tag: entry #: index.docbook:3613 #, no-c-format msgid "Toggle rest" msgstr "Scambia pausa" #. Tag: entry #: index.docbook:3614 #, no-c-format msgid "K" msgstr "K" #. Tag: entry #: index.docbook:3614 #, no-c-format msgid "Toggle keyboard insertion" msgstr "Scambia inserimento da tastiera" #. Tag: entry #: index.docbook:3615 #, fuzzy, no-c-format msgid "DEL" msgstr "1" #. Tag: entry #: index.docbook:3615 #, no-c-format msgid "Delete a note from chord" msgstr "" #. Tag: entry #: index.docbook:3616 #, fuzzy, no-c-format msgid "," msgstr "1" #. Tag: entry #: index.docbook:3616 #, fuzzy, no-c-format msgid "Insert tie (method 2)" msgstr "Crea gruppo irregolare (2° metodo)" #. Tag: entry #: index.docbook:3617 #, fuzzy, no-c-format msgid "Ctrl A" msgstr "Ctrl J" #. Tag: entry #: index.docbook:3617 #, fuzzy, no-c-format msgid "Append a staff" msgstr "Aggiungere un nuovo pentagramma" #. Tag: entry #: index.docbook:3618 #, fuzzy, no-c-format msgid "Ctrl B" msgstr "Ctrl J" #. Tag: entry #: index.docbook:3618 #, no-c-format msgid "Append a system" msgstr "Aggiungi un pentagramma" #. Tag: entry #: index.docbook:3619 #, no-c-format msgid "Ctrl J" msgstr "Ctrl J" #. Tag: entry #: index.docbook:3619 #, no-c-format msgid "" "handle beams (see Handling beams)" msgstr "" "Manipolare le stanghette (vedere Manipolare " "stanghette)" #. Tag: entry #: index.docbook:3620 #, no-c-format msgid "Ctrl F" msgstr "Ctrl F" #. Tag: entry #: index.docbook:3620 #, no-c-format msgid "flip stem direction" msgstr "scambiare la direzione del gambo" #. Tag: entry #: index.docbook:3621 #, no-c-format msgid "Ctrl R" msgstr "Ctrl R" #. Tag: entry #: index.docbook:3621 #, no-c-format msgid "hide rests" msgstr "nasconde pause" #. Tag: entry #: index.docbook:3622 #, no-c-format msgid "Ctrl U" msgstr "Ctrl U" #. Tag: entry #: index.docbook:3622 #, no-c-format msgid "unhide rests" msgstr "scopre le pause" #. Tag: entry #: index.docbook:3623 #, no-c-format msgid "cursor up" msgstr "freccia in sù" #. Tag: entry #: index.docbook:3623 #, no-c-format msgid "move selected note a line up" msgstr "sposta la nota selezionata verso l'alto" #. Tag: entry #: index.docbook:3624 #, no-c-format msgid "cursor down" msgstr "freccia in giù" #. Tag: entry #: index.docbook:3624 #, no-c-format msgid "move selected note a line down" msgstr "sposta la nota selezionata verso il basso" #. Tag: entry #: index.docbook:3625 #, no-c-format msgid "cursor left" msgstr "freccia a sinistra" #. Tag: entry #: index.docbook:3625 #, no-c-format msgid "select note/rest before" msgstr "seleziona l'elemento precedente" #. Tag: entry #: index.docbook:3626 #, no-c-format msgid "cursor right" msgstr "freccia a destra" #. Tag: entry #: index.docbook:3626 #, no-c-format msgid "select note/rest after" msgstr "seleziona l'elemento seguente" #. Tag: entry #: index.docbook:3627 #, no-c-format msgid "page up" msgstr "" #. Tag: entry #: index.docbook:3627 #, no-c-format msgid "view next page" msgstr "" #. Tag: entry #: index.docbook:3628 #, no-c-format msgid "page down" msgstr "" #. Tag: entry #: index.docbook:3628 #, no-c-format msgid "view previous page" msgstr "" #. Tag: entry #: index.docbook:3629 #, no-c-format msgid "backspace" msgstr "spazio indietro" #. Tag: entry #: index.docbook:3629 #, no-c-format msgid "delete selected note" msgstr "elimina la nota selezionata" #. Tag: entry #: index.docbook:3630 #, no-c-format msgid "_" msgstr "_" #. Tag: entry #: index.docbook:3630 #, no-c-format msgid "Toggle tie button" msgstr "Scambia pulsante legatura" #. Tag: entry #: index.docbook:3631 #, no-c-format msgid "." msgstr "." #. Tag: entry #: index.docbook:3631 #, no-c-format msgid "Toggle dot button" msgstr "Scambia pulsante Punto" #. Tag: entry #: index.docbook:3632 #, no-c-format msgid "#" msgstr "#" #. Tag: entry #: index.docbook:3632 #, no-c-format msgid "Toggle sharp button" msgstr "Scambia pulsante Diesis" #. Tag: entry #: index.docbook:3633 #, no-c-format msgid "-" msgstr "-" #. Tag: entry #: index.docbook:3633 #, no-c-format msgid "Toggle flat button" msgstr "Scambia pulsante Bemolle" #. Tag: entry #: index.docbook:3634 #, no-c-format msgid "=" msgstr "=" #. Tag: entry #: index.docbook:3634 #, no-c-format msgid "Toggle natural button" msgstr "Scambia pulsante nota Naturale" #. Tag: entry #: index.docbook:3642 #, no-c-format msgid "Ctrl +" msgstr "Ctrl +" #. Tag: entry #: index.docbook:3642 #, no-c-format msgid "zoom in" msgstr "Ingrandimento" #. Tag: entry #: index.docbook:3643 #, no-c-format msgid "Ctrl -" msgstr "Ctrl -" #. Tag: entry #: index.docbook:3643 #, no-c-format msgid "zoom out" msgstr "Riduzione" #. Tag: entry #: index.docbook:3644 #, no-c-format msgid "Ctrl C" msgstr "Ctrl C" #. Tag: entry #: index.docbook:3644 #, no-c-format msgid "copy block" msgstr "Copia blocco" #. Tag: entry #: index.docbook:3645 #, no-c-format msgid "Ctrl V" msgstr "Ctrl V" #. Tag: entry #: index.docbook:3645 #, no-c-format msgid "paste block" msgstr "Incolla blocco" #. Tag: entry #: index.docbook:3646 #, no-c-format msgid "Ctrl X" msgstr "Ctrl X" #. Tag: entry #: index.docbook:3646 #, no-c-format msgid "delete block" msgstr "Elimina blocco" #. Tag: entry #: index.docbook:3647 #, no-c-format msgid "Ctrl E" msgstr "Ctrl E" #. Tag: entry #: index.docbook:3647 #, no-c-format msgid "empty block" msgstr "Svuota blocco" #. Tag: entry #: index.docbook:3648 #, no-c-format msgid "Ctrl Z" msgstr "Ctrl Z" #. Tag: entry #: index.docbook:3648 #, no-c-format msgid "undo" msgstr "Disfai" #. Tag: entry #: index.docbook:3649 #, no-c-format msgid "Ctrl Y" msgstr "Ctrl Y" #. Tag: entry #: index.docbook:3649 #, no-c-format msgid "redo" msgstr "Rifai" #. Tag: entry #: index.docbook:3650 #, no-c-format msgid "Ctrl H" msgstr "Ctrl H" #. Tag: entry #: index.docbook:3650 #, no-c-format msgid "insert slur" msgstr "nserire legature" #. Tag: entry #: index.docbook:3651 #, no-c-format msgid "Ctrl + <num>" msgstr "Ctrl + <num>" #. Tag: entry #: index.docbook:3651 #, no-c-format msgid "create tuplet (method 1)" msgstr "Crea gruppo irregolare (1° metodo)" #. Tag: entry #: index.docbook:3652 #, no-c-format msgid "Ctrl + ALt + <num>" msgstr "Ctrl + ALt + <num>" #. Tag: entry #: index.docbook:3652 #, no-c-format msgid "create tuplet (method 2)" msgstr "Crea gruppo irregolare (2° metodo)" #. Tag: entry #: index.docbook:3653 #, no-c-format msgid "Shift + CursorUp" msgstr "Shift + Cursore Sù" #. Tag: entry #: index.docbook:3653 #, no-c-format msgid "increase spacment of measure" msgstr "aumentare la spaziatura tra battute" #. Tag: entry #: index.docbook:3654 #, no-c-format msgid "Shift + CursorDown" msgstr "Shift+FrecciaGiù" #. Tag: entry #: index.docbook:3654 #, no-c-format msgid "decrease spacment of measure" msgstr "diminuire la spaziatura tra battute" #. Tag: para #: index.docbook:3659 #, no-c-format msgid "" "Furthermore if the num light on num pad is off: The num pad keys shadow the " "toolbox keys (see The toolbox)." msgstr "" "Inoltre se il Led del tastierino numerico è spento: I tasti numerici " "rispecchiano le chiavi della Cassetta degli Attrezzi (vedere La Cassetta degli Attrezzi)." #. Tag: title #: index.docbook:3663 #, no-c-format msgid "Configuration File" msgstr "File di configurazione" #. Tag: para #: index.docbook:3664 #, no-c-format msgid "" "&nted; stores the current configuration (MIDI port, last opened files, print " "command) at $HOME/.nted/ntedrc" msgstr "" "&nted; conserva la configurazione attuale (porta MIDI, ultimo file aperto, " "comando stampa) nel file $HOME/.nted/ntedrc" #. Tag: title #: index.docbook:3669 #, no-c-format msgid "Attention: Pulseaudio" msgstr "" #. Tag: para #: index.docbook:3670 #, no-c-format msgid "" "Unfortunately, the next chapter about The " "TiMidity server won't work if you have a new sound technology called " "pulseaudio. This concerns Fedora 11 users " "and Ubuntu 9.10 users and possibly others. If you use the soundfont " "mentioned at http://alsa." "opensrc.org/8MBGMSFX.SF2, you'll experience some awful effects like " "distortion or no sound, at all." msgstr "" #. Tag: para #: index.docbook:3675 #, no-c-format msgid "To find out whether you have a pulseaudio or not do:" msgstr "" #. Tag: userinput #: index.docbook:3676 index.docbook:3879 #, no-c-format msgid "which pulseaudio" msgstr "" #. Tag: para #: index.docbook:3677 #, no-c-format msgid "If you get a path as answer you have pulseaudio." msgstr "" #. Tag: para #: index.docbook:3678 #, no-c-format msgid "" "The only workaround is to compile your own TiMidity++. To do this load the " "newest source from:" msgstr "" #. Tag: ulink #: index.docbook:3679 #, no-c-format msgid "http://timidity.sourceforge.net/#download\"" msgstr "" #. Tag: para #: index.docbook:3681 #, fuzzy, no-c-format msgid "Extract and configure the source:" msgstr "Al termine della configurazione scegliere:" #. Tag: literallayout #: index.docbook:3683 #, no-c-format msgid "" "tar -xvjf TiMidity++-x.y.z.tar.bz2\n" " cd TiMidity++-x.y.z\n" " ./configure --enable-audio=alsa --enable-server --enable-alsaseq\n" " make\n" " su (give password if requested)\n" " make install\n" " exit" msgstr "" #. Tag: para #: index.docbook:3686 #, no-c-format msgid "" "Now you have possibly 2 timidities: One pulsaudio dependent at /usr/bin/" "timidity and the newly compiled and pulsaudio independent /usr/local/bin/" "timidity. Use the pulsaudio independent timidity!" msgstr "" #. Tag: para #: index.docbook:3689 #, no-c-format msgid "" "A good idea is to prepare a command. You should as root copy the soundfont " "at a certain position:" msgstr "" #. Tag: literallayout #: index.docbook:3693 #, no-c-format msgid "" "cd /usr/share\n" " mkdir sfbank\n" " chmod 0755 sfbank\n" " cd sfbank\n" " cp /<somewhere>/8mbgmsfx.sf2 .\n" " echo 'dir /usr/share/sfbank' >timidity.cfg\n" " echo 'soundfont 8mbgmsfx.sf2' >> timidity.cfg\n" " chmod 0644 8mbgmsfx.sf2 timidity.cfg\n" " cd /usr/bin\n" " echo '#!/bin/bash' > alsatimidity.sh\n" " echo '' >> alsatimidity.sh\n" " echo '/usr/local/bin/timidity -c /usr/share/sfbank/timidity.cfg -iA -B2,8 " "-Os1l -s 44100' >> alsatimidity.sh\n" " chmod 0755 alsatimidity.sh" msgstr "" #. Tag: para #: index.docbook:3696 #, no-c-format msgid "Now the call" msgstr "" #. Tag: literallayout #: index.docbook:3698 #, no-c-format msgid "alsatimidity.sh" msgstr "" #. Tag: para #: index.docbook:3701 #, no-c-format msgid "should start the timidity in server mode." msgstr "" #. Tag: para #: index.docbook:3703 #, no-c-format msgid "" "If the sound problems remain remove the pulsaudio package from your system!" msgstr "" #. Tag: title #: index.docbook:3708 #, no-c-format msgid "The TiMidity server" msgstr "Il server TiMidity" #. Tag: para #: index.docbook:3709 #, no-c-format msgid "" "All what is stated does not work if you have a technology called " "pulseaudio. This concerns Fedora 11 users " "and Ubuntu 9.10 users and possibly others. Please refer to the Pulseaudio chapter to learn more!" msgstr "" #. Tag: para #: index.docbook:3712 #, no-c-format msgid "" "You can use the MIDI to WAVE converter and player TiMidity++ ( http://" "timidity.sourceforge.net) in server mode. This " "approach is interesting for all those who can't bring the MIDI device to " "work." msgstr "" "Si può utilizzare il lettore e convertitore da MIDI a WAVE " "TiMidity++ ( http://timidity.sourceforge.net) in modalità " "server. Questo approccio è indicato per coloro i quali non riescono a far " "funzionare il dispositivo MIDI." #. Tag: para #: index.docbook:3716 #, no-c-format msgid "" "A presupposition is that TiMidity++ is compiled " "with (at least) the options:" msgstr "" "Si presume che TiMidity++ sia stato compilato " "(come minimo) con le opzioni di :" #. Tag: option #: index.docbook:3717 #, no-c-format msgid "" "         --enable-audio=alsa --" "enable-server --enable-alsaseq" msgstr "" "         --enable-audio=alsa --" "enable-server --enable-alsaseq" #. Tag: para #: index.docbook:3719 #, no-c-format msgid "" "Whether or not your TiMidity++ is compiled with " "these options can be determined by starting it with " "Option:" msgstr "" "Per sapere se TiMidity++ sia stato, o meno, " "compilato con queste opzioni si può avviarlo con la opzione