                Министерство радиопромышленности
       Киевское производственное объединение "Электронмаш"


                                               УТВЕРЖДАЮ
                                          Начальник НИК "ПОИСК"
                                                  В.А. Стрюченко



                 
                      ИГРА. КОМПЛЕКС "ПОИСК"
              МОДУЛЬ "РАСШИРИТЕЛЬ ОПЕРАТИВНОЙ ПАМЯТИ,
                   ПАРАЛЛЕЛЬНЫЙ ИНТЕРФЕЙС"  В108
                 ТЕСТОВОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
             Руководство по техническому обслуживанию
                         Лист утверждения
                   589.5743345.00284-01 46 01-ЛУ

                                 
                                        Зав. отд. 20
                                                 В.Н.Тележенко

                                        И.о. зав.лабораторией
                                                 А.П.Рычков

                                        Инженер-программист
                                                 З.Т.Смитюх

                                        Инженер-программист
                                                 Н.П.Лоншакова

                                        Нормоконтролер
                                                 С.Н. Левчишина






                               1990

                                                         Литера 0
.

      УТВЕРЖДЕН
589.5743345.00284-01 46 01-ЛУ
         
     
     
     
     

     
     
     
     
     
                      ИГРА. КОМПЛЕКС "ПОИСК"
              МОДУЛЬ "РАСШИРИТЕЛЬ ОПЕРАТИВНОЙ ПАМЯТИ,
                   ПАРАЛЛЕЛЬНЫЙ ИНТЕРФЕЙС"  В108
                 ТЕСТОВОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
             Руководство по техническому обслуживанию
                    589.5743345.00284-01 46 01
                             Листов 15


















                               1990
                                                         Литера 0
                                   
.
                              - 3 -
                    589.5743345.00284-01 46 01
     
                             АННОТАЦИЯ
     
     В  настоящем документе приводятся сведения о тестовом обес-
печении модуля "Расширитель оперативной памяти, параллельный ин-
терфейс" В108, работающего в составе  электронного  информацион-
но-игрового комплекса "Поиск".
     Описывается  введение,  общие указания, требования к техни-
ческим средствам, состав и функции, выполняемые тестовым обеспе-
чением.
     Документ предназначен для персонала, отвечающего за испыта-
ние модуля "Расширитель оперативной памяти, параллельный  интер-
фейс"  В108 при его изготовлении, а также персонала, отвечающего
за ремонт и наладку при эксплуатации.
.
                              - 4 -
                    589.5743345.00284-01 46 01

                            СОДЕРЖАНИЕ

     1. Введение..............................................  5
     2. Общие указания .......................................  5
     3. Требования к техническим средствам....................  6
     4. Описание функций......................................  6
     4.1. Состав тестового обеспечения........................  6
     4.2. Запуск тестового обеспечения........................  7
     4.3. Отображение  входной  и выходной информации и
          обработка ошибок в процессе диалога.................  7
     4.3.1. Тест запоминающего устройства.....................  8
     4.3.2. Тест параллельного интерфейса..................... 12
     4.4. Проверка совместно с печатающим устройством ........ 14
.
                              - 5 -
                    589.5743345.00284-01 46 01

                            1. ВВЕДЕНИЕ

     1.1. Тестовое обеспечение модуля  "Расширитель  оперативной
памяти, параллельный интерфейс" В108 (далее - модуль) предназна-
чено для всесторонней комплексной проверки работоспособности мо-
дуля в составе информационно-игрового комплекса "Поиск".

     1.2.  При  техническом  обслуживании  модуля предварительно
нужно ознакомиться со следующими документами:
     - руководство по эксплуатации ИПВБ.3341650.002РЭ;
     - техническое описание ИПВБ.3341650.002ТО.

     1.3. Тестовое обеспечение пpименяется для пpоверки pаботос-
пособности модуля контpолиpующими службами на заводе-изготовите-
ле, а также пpи наладке и pемонте.

                        2. ОБЩИЕ УКАЗАНИЯ.

     2.1. Подключение модуля к электронному  информационно-игро-
вому  комплексу  "Поиск"  осуществляется согласно руководству по
эксплуатации ИПВБ.334165.002РЭ.

     2.2. Для выполнения тестового обеспечения в режиме предьяв-
ления контролирующим службам на  заводе-изготовителе  необходимо
для каждой части тестового обеспечения (теста) задать выполнение
комплексной проверки однократно или многократно в зависимости от
требований контролирующих служб.
     Параметры запуска теста приведены в п.4.3.
.
                              - 6 -
                    589.5743345.00284-01 46 01

               3. ТРЕБОВАНИЯ К ТЕХНИЧЕСКИМ СРЕДСТВАМ

     Для работы тестового обеспечения необходим следующий мини-
мальный состав технических средств:
     - электронный информационно-игровой комплекс "Поиск";
     - видеомонитор;
     - модуль "Расширитель оперативной памяти, параллельный ин-
терфейс В108";
     - адаптер дискового накопителя В504;
     - НГМД 130;
     - технологическая заглушка.

                        4. ОПИСАНИЕ ФУНКЦИЙ

     Максимальный  состав технических средств, проверяемых тес-
товым обеспечением,  составляет  один  модуль,  подключенный  к
электронному информационно-игровому комплексу "Поиск".
     При совместном функционировании технических средств и прог-
раммы  проверяется доступ, чтение, запись, хранение информации в
ячейках;  функционирование  регистров  и  отработка   прерываний
модуля.

     4.1. Состав тестового обеспечения
     Тестовое  обеспечение  модуля  состоит из двух независимых
частей:
     - тест запоминающего устройства;
     - тест параллельного интерфейса.
     4.1.1. Тест запоминающего устройства предназначен  для  про-
верки  работоспособности расширителя постоянной памяти. Тест про-
веряет доступ ко всем ячейкам памяти, корректность чтения, запи-
си и хранения информации.
     4.1.2. Тест параллельного интерфейса предназначен  для  про-
верки  работоспособности  узла  адаптера параллельного интерфейса
(далее - адаптер). Тест проверяет  программно  доступные  разряды
портов, сигналы управления, направление передачи данных, передачу
и  прием данных через адаптер набором тестовых посылок, отработку
прерывания и выдает соответствующие диагностические сообщения.
     Проверка адаптера осуществляется при установленной  техноло-
гической заглушке.
.
                              - 7 -
                    589.5743345.00284-01 46 01

     4.2. Запуск тестового обеспечения
     Тестовое обеспечение находится на диске 4.098.117 .
     4.2.1. Для запуска теста запоминающего устройства необходимо
загрузить операционную систему и ввести командную строку:
                           ROP512 <ВК>
     Тест загружается в системное ОЗУ.
     
     4.2.2. Для запуска теста параллельного интерфейса необходимо
загрузить операционную систему и ввести командную строку:
                           IRPRM <ВК>
     
     4.2.3.  После запуска теста на экран видеомонитора выдается
сообщение, идентифицирующее тест. Нужно перейти в главное  меню,
из  которого  можно управлять выполнением теста в автоматическом
или диалоговом режиме.

     4.3. Отображение входной и выходной информации и  обработка
ошибок в процессе диалога
     Диалог в тесте реализован с использованием аппарата меню.
     После загрузки теста на экран выводится название теста. По
нажатию любой клавиши осуществляется вход в главное меню.
     Элементами меню являются условия выполнения каждого подтес-
та и перечень выполняемых подтестов.
     Переход от одного элемента меню к другому осуществляется с
помощью клавиш управления курсором:
     - "Маркер вверх" - к ближайшей верхней строке;
     - "Маркер вниз"  - к ближайшей нижней строке;
     - "АР2" - переход к предыдущему окну или выход в систему из
главного меню.
     Выбор элемента меню осуществляется нажатием клавиши  "ВК".
     Текущий элемент на экране выделяется цветом.
     По каждому элементу меню можно получить справочную информа-
цию, нажав клавишу "F1".
     Если для выполнения подтеста необходимо задать условия  его
выполнения,  нужно  в  главном меню выделить элемент "Условия" и
нажать клавишу "Маркер вправо".
.
                              - 8 -
                    589.5743345.00284-01 46 01
     
     Аналогично осуществляется переход в меню параметров подтес-
та.
     Для выбора параметра в меню параметров нужно выделить  этот
параметр и нажать клавишу "Маркер вправо".
     Задание  значения условия запуска или параметра осуществля-
ется  с  помощью  клавиши "F2". При задании значений условий или
параметров, набор значений которых конечный (например  "да"  или
"нет"),  по  "F2"  осуществляется перебор этих значений. Если же
значение параметра числовое (например, значение эталона для  за-
писи или сравнения данных, начальный и конечный адреса тестируе-
мого  участка памяти), то по "F2" выдается подсказка на ввод со-
ответствующего параметра. В ответ на подсказку нужно ввести зна-
чение параметра .
     Установленное значение параметра  распространяется  на  все
последующие  подтесты до установки нового значения.
     Адрес ячейки памяти состоит из двух частей: адреса сегмен-
та  (с дискретностью 32К) и смещения внутри сегмента. Для отла-
дочных подтестов диапазон адресов (начальный и конечный  адрес)
должен располагаться в пределах одного сегмента.
     4.3.1. Тест запоминающего устройства
     При  работе теста в нижней части экрана выдается справочная
информация.
     При выполнении подтеста прервать его  работу  с  выходом  в
систему можно нажатием комбинации клавиш "УПР" и "C".
     4.3.1.1. Главное меню содержит следующие элементы:
     - УСЛОВИЯ - выбираются условия для запуска теста или подтес-
та (количество циклов, необходимость печати сообщений об ошибках,
выдачи  протокола работы подтеста на печатающее устройство, режим
закрутки, прогон).
     Определенное количество циклов устанавливается при необходи-
мости выполнить тест или подтест конечное число раз. При  необхо-
димости зациклить отладочный подтест по указанному адресу или ди-
апазону адресов (запись в ОЗУ, чтение из ОЗУ, запись - чтение) до
бесконечности  устанавливается режим закрутки, выход из него - по
кнопке "Сброс". Для бесконечного зацикливания подтеста "комплекс-
ный" устанавливается режим прогона, выход в систему - при  однов-
ременном нажатии клавиш "УПР" и "С".
.
                              - 9 -
                    589.5743345.00284-01 46 01
     
     При необходимости выдачи протокола работы на печатающее уст-
ройство  до запуска теста должен быть загружен драйвер Вашего пе-
чатающего устройства. Драйверы INT17_RZ для обслуживания печатаю-
щего  устройства,  подключаемого к комплексу "Поиск" через канал
ИРПР/М и ROBOTRON для перекодирования выводимых символов из аль-
тернативной  кодировки   в   КОИ-7   поставляются   на   дискете
4.098.139-12.
     При переходе в меню условий выдаются значения, установленные
по умолчанию:
                  циклов           0001
                  печать ошб         да
                  протокол          нет
                  закрутка          нет
                  прогон            нет
     
     - ЗАПИСЬ В ОЗУ - выполняется отладочный подтест,  осуществ-
ляющий  запись в заданную область памяти указанного шестнадцате-
ричного кода данных. После перехода в меню параметров могут быть
заданы эталон данных, начальный и  конечный  адреса  проверяемой
памяти.  Начальные значения параметров - во всю память записыва-
ется шестнадцатеричный код 3С; по умолчанию сохраняются  послед-
ние установленные значения параметров;
     - ЧТЕНИЕ ИЗ ОЗУ - выполняется отладочный подтест, осуществ-
ляющий  побайтное чтение информации из заданной области памяти и
сравнение прочитанного кода с указанным шестнадцатеричным  кодом
данных.  После перехода в меню параметров могут быть заданы эта-
лон данных для сравнения, начальный и конечный адреса  проверяе-
мой  памяти. Начальные значения параметров - во всю память запи-
сывается шестнадцатеричный код 3С; по умолчанию сохраняются пос-
ледние установленные значения параметров;
     - ЗАПИСЬ-ЧТЕНИЕ - выполняется отладочный подтест, осуществ-
ляющий запись с последующим чтением и сравнением указанного шес-
тнадцатеричного кода данных для заданной области  памяти.  После
перехода  в  меню параметров могут быть заданы эталон данных для
записи-чтения, начальный и конечный адреса  проверяемой  памяти,
пауза  в  милисекундах  между записью и последующим чтением. На-
чальные значения параметров - во всю память  записывается  шест-
надцатеричный  код  3С; по умолчанию сохраняются последние уста-
новленные значения параметров;
.
                             - 10 -
                    589.5743345.00284-01 46 01
     
     - БЕГУЩИЙ 1 (0) - выполняется подтест, осуществляющий запись
с последующим чтением и сравнением шестнадцатеричного кода 00  во
все  ячейки  заданной  области  памяти. Эта процедура повторяется
последовательно для кодов 01, 02, 04, 08, 10, 20, 40, 80 (бегущая
1) и FF, FE, FD, FB, F7, EF, DF, 7F (бегущий 0). После перехода в
меню параметров могут быть заданы  начальный  и  конечный  адреса
проверяемой памяти с дискретностью 32К (сегмент);
     -  АДРЕСНЫЙ - выполняется подтест, осуществляющий последова-
тельно для всех ячеек проверяемой области памяти  следующие  про-
верки: запись кода, равного адресу ячейки, чтение и сравнение за-
писанного  кода  с  последующей  записью кода, равного инверсному
значению адреса ячейки, чтние и сравнение записанного кода с пос-
ледующей записью кода, равного адресу ячейки, чтение и  сравнение
кода, равного адресу ячейки. После перехода в меню параметров мо-
гут  быть заданы начальный и конечный адреса проверяемой памяти с
дискретностью 32К (сегмент);
     - МАРШ - выполняется подтест, осуществляющий последовательно
для всех ячеек проверяемой области памяти следующие проверки: за-
пись шестнадцатеричного кода 00, чтение и  сравнение  записанного
кода  с последующей записью инверсного кода FF, начиная с младших
адресов, чтение и сравнение записанного кода  с  последующей  за-
писью  кода 00, начиная с младших адресов, чтение и сравнение за-
писанного кода с последующей записью инверсного кода FF,  начиная
со  старших адресов, чтение и сравнение записанного кода с после-
дующей записью кода 00, начиная со  старших  адресов;  повторение
описанных проверок, начиная с кода FF.После перехода в меню пара-
метров  могут быть заданы начальный и конечный адреса проверяемой
памяти с дискретностью 32К (сегмент);
     - ДИНАМИЧЕСКИЙ - выполняется  подтест, осуществляющий после-
довательно для всей памяти следующие проверки: запись  шестнадца-
тиричного  кода 00, чтение с контролем по каждому адреcу с после-
дующей записью кода 01, циклический сдвиг данных на 1 разряд вле-
во для каждого адреса. Повторение циклического сдвига для каждого
адреса, пока данные при чтении не станут равны шестнадцатерично-
му коду 80.
     Циклический сдвиг весового значения  разрядов  адреса  на  1
разряд влево (первый разряд младший, нулевой - старший), чтение с
контролем по каждому адресу с последующей записью шестнадцатерич-
ного кода 03, циклический сдвиг данных на 1  разряд  влево,  пока
данные при чтении не станут равны шестнадцатеричному коду 81.
.
                              - 11 -
                    589.5743345.00284-01 46 01
     
     Циклический сдвиг весового значения  разрядов  адреса  на  1
разряд  влево (второй разряд младший, первый - старший), чтение с
контролем по каждому адресу с последующей записью шестнадцатерич-
ного кода 07, циклический сдвиг данных на 1  разряд  влево,  пока
данные при чтении не станут равны шестнадцатеричному коду 83.
     Повторение циклического сдвига  весового  значения  разрядов
адреса  для  всех разрядов адреса (адресных линий) до девятнадца-
той. Шестнадцатеричное значение данных для  последующих  адресных
линий:  ОF,  1F,  3F, 7F, FF, FE, FC, F8, F0, E0, C0, 80, 01, 03,
07, 0F, 1F.
     Выполнение проверки сопровождается выдачей сообщения
                  ВСЯ ПАМЯТЬ ПРОПИСАНА ЭТАЛОНОМ ММН
                  ПРОВЕРЕНА АДРЕСНАЯ ЛИНИЯ NNН
где ММ - шестнадцатеричное значение данных,
    NN - шестнадцатеричное значение адреса линии.
     
     -  КОМПЛЕКСНАЯ  -  осуществляет  последовательное выполнение
описанных подтестов (автоматический режим). После перехода в меню
параметров могут быть выбраны те подтесты, которые будут  включе-
ны в комплексную проверку. По умолчанию выполняются все подтесты
кроме динамического.
     4.3.1.2. При выполнении каждого подтеста выдается следующая
информация:
     - название подтеста;
     - объем тестируемой памяти в килобайтах с дискретностью 32К.
     При обнаружении ошибки в каждом подтесте выдается сообщение:
     
                      ОШИБКА РАСШИРИТЕЛЯ ОЗУ
                  АДРЕС                  ДАННЫЕ
          СЕГМЕНТ   СМЕЩЕНИЕ      ЭТАЛОН   ПОЛУЧЕНО
           ХХХХ       YYYY          NN       KK
     Значение адреса и данных - шестнадцатеричные.
     Выдачу  сообщений  об  ошибке  можно приостановить, а затем
продолжить, нажав одновременно клавиши "УПР" и "S". Прервать вы-
дачу с выходом в систему - "УПР" + "С";
     - в случае удачного выполнения подтеста выдается сообщение о
завершении подтеста;
     - количество выполненных циклов.
     В автоматическом режиме в случае выполнения всех подтестов
выдается сообщение о завершении теста.
.
                              - 12 -
                    589.5743345.00284-01 46 01
     
     4.3.2. Тест параллельного интерфейса
     4.3.2.1. Главное меню содержит следующие элементы:
     
     -  УСЛОВИЯ  - выбираются условия для запуска теста или под-
теста - количество циклов;
     -  ПРОВЕРКА РУ - выполняется подтест, проверяющий програм-
мно-доступные  разряды  порта  управления адаптера параллельного
интерфейса;
     - НАПРАВЛЕНИЕ - выполняется подтест, проверяющий отключение
передатчика (порта данных) при смене направления передачи данных:
при установке  пятого  разряда  порта управления в "1" ;
     - ПРОВЕРКА РД - выполняется подтест, проверяющий  поразряд-
ную запись порта данных бегущим 0 (1), кодами 00Н, FFН, 55H, AAH
с  последующим чтением и сравнением полученной информации с эта-
лоном;
     -  ПРОВЕРКА  РС - выполняется подтест, проверяющий правиль-
ность считывания сигналов состояния при установленной на разъеме
Х2 технологической заглушке;
     - ПРЕРЫВАНИЕ - выполняется подтест, проверяющий отсутствие/
наличие  прерывания  при  установке  в "1" определенных разрядов
порта управления и порта данных параллельного интерфейса, а так-
же его отработка;
     - КОМПЛЕКСНЫЙ 1 - выполняются последовательно все подтесты в
автоматическом режиме (с технологической заглушкой);
     - КОМПЛЕКСНЫЙ 2 - выполняются последовательно  все подтесты,
кроме подтестов "ПРОВЕРКА РС" и "ПРЕРЫВАНИЕ" в автоматическом ре-
жиме (без технологической заглушки).
     4.3.2.2. При выполнении каждого подтеста выдается следующая
информация:
     - название подтеста;
     - при обнаружении ошибки выдается соответствующее сообщение
об ошибке;
     -  сообщение о завершении подтеста (успешном или нет) в за-
висимости от наличия ошибок.
     В автоматическом режиме после выполнения всех подтестов вы-
дается сообщение о завершении теста.
.
                              - 13 -
                    589.5743345.00284-01 46 01
     
    4.3.2.3. В зависимости  от выбранного  подтеста при наличии
ошибок выдаются диагностические сообщения. Их перечень с  указа-
нием причин ошибки приведен в таблице.
                                                       Таблица
──────────────────────────────────┬─────────────────────────────
    Сообщение                     │    Причины ошибки
──────────────────────────────────┼─────────────────────────────
                                  │
 ВНИМАНИЕ! Нет адаптера!          │Не подключен РОП/ИРПРМ
 ВНИМАНИЕ! Нет заглушки!          │Не установлена технологичес-
                                  │кая заглушка
 Ошибка! Нет установки бита XX!   │При проверке порта управления
                                  │РУ (порт С) отсутствует уста-
                                  │новка бита ХХ в "1". ХХ-один
                                  │из неустановленных битов:
                                  │С0/STB, C1/AUTO, C2/LINI,
                                  │C3/SELIN, C4/IRQEN
 Ошибка данных при передаче!      │При проверке направления пере-
                                  │дачи данных в режиме разреше-
                                  │ния передачи (установка разря-
                                  │да 5 порта управления в "0")
                                  │нет установки регистра данных
                                  │РД в "0"
 Ошибка! Порт данных не работает  │При проверке направления пере-
         на прием!                │дачи данных в режиме запрета
                                  │передачи (установка разряда 5
                                  │порта управления в "1") нет
                                  │установки РД в "FF" (отключе-
                                  │ние РД)
 Ошибка! Несравнение на шинах     │При проверке порта данных РД
         данных!                  │(порт А) различными тестовыми
      ЭТАЛОН   ДАННЫЕ             │посылками-несравнение получен
        XX       YY               │ных данных с эталоном. XX,YY-
                                  │шестнадцатеричные значения
.
                              - 14 -
                    589.5743345.00284-01 46 01
     
                                             Продолжение табл.
──────────────────────────────────┬─────────────────────────────
    Сообщение                     │    Причины ошибки
──────────────────────────────────┼─────────────────────────────
 Ошибка! Не проходит сигнал XX!   │Ошибочное считывание сигналов
                                  │состояния при установленной
                                  │технологической заглушке. ХХ-
                                  │один из ошибочно считанных
                                  │сигналов состояния:
                                  │LPDAT3 (D3 через S3/ERROR)
                                  │LPDAT4 (D4 через S4/SLCT)
                                  │LPDAT5 (D5 через S5/PEND)
                                  │LPDAT6 (D6 через S6/ACK)
                                  │LPDAT7 (D7 через S7/BUSY)
 Ошибка! Неожидаемое прерывание!  │Возникновение прерывания до
                                  │установки необходимых условий
                                  │для его появления
 Ошибка! Таймаут, отсутствует     │Отсутствие прерывания по исте-
         прерывание!              │чении допустимого времени ожи-
                                  │дания
     
     4.4. Проверка совместно с печатающим устройством.
     Проверка  модуля  в условиях реального функционирования осу-
ществляется после поключения печатающего устроцства с помощью ка-
беля и запуском теста печатающего устройства:
                              PU <ВК>
     Информация о тесте печатающего устройства приведена в файле
 PU.TXT на дискете 4.098.139-12.
.
                              - 15 -
                    589.5743345.00284-01 46 01

---------------------------------------------------------------------+
|                      Лист регистрации изменений                    |
+------------------------------+------+------+---------+------+------+
|    Номера листов (страниц)   |Всего |  N   | Входящий| Подп.| Дата |
+----+------+------+----+------+листов| доку-|    N    |      |      |
|Изм.| изме-| заме-| но-| анну-|(стра-| мента| сопрово-|      |      |
|    | нен- | нен- | вых| лиро-|ниц) в|      | дитель- |      |      |
|    | ных  | ных  |    | ван- |докум.|      | ного до-|      |      |
|    |      |      |    | ных  |      |      | кум. и  |      |      |
|    |      |      |    |      |      |      | дата    |      |      |
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
|----|------|------|----|------|------|------|---------|------|------|
