diff --git a/resources/views/review/index.blade.php b/resources/views/review/index.blade.php
new file mode 100644
index 00000000..0c103778
--- /dev/null
+++ b/resources/views/review/index.blade.php
@@ -0,0 +1,45 @@
+@extends('html')
+@section('title', 'Тестирование')
+@section('description', 'Интерактивные тесты, которые помогут оценить ваш прогресс в изучении Laravel')
+
+@section('body')
+
+
+
+
+
+
+ Раскрой секреты своего ремесла
+
+
+
+
 }})
+
+
+
+
+
+
+ Повседневная практика показывает, что реализация намеченных плановых заданий
+ требуют от нас анализа существенных финансовых и административных условий. Товарищи!
+ консультация с широким активом играет важную роль в формировании модели развития.
+
+
+ Начать викторину
+
+
+
+
+
+
+
+
+
+
+@endsection
diff --git a/resources/views/review/quiz.blade.php b/resources/views/review/quiz.blade.php
new file mode 100644
index 00000000..a2334a8e
--- /dev/null
+++ b/resources/views/review/quiz.blade.php
@@ -0,0 +1,161 @@
+@if ($quiz->isFinish())
+
+
+
+
 }})
+
+
+
+
+
+ Разнообразный и богатый опыт постоянное информационно-пропагандистское обеспечение нашей
+ деятельности требуют определения и уточнения модели развития. Не следует, однако забывать,
+ что реализация намеченных плановых заданий в значительной степени обуславливает создание
+ форм развития.
+
+
+
+ Повседневная практика показывает, что реализация намеченных плановых заданий
+ требуют от нас анализа существенных финансовых и административных условий. Товарищи!
+ консультация с широким активом играет важную роль в формировании модели развития.
+
+
+
+
+ Вернуться на главную
+
+
+
+
+
+
+
+@elseif($quiz->isDead())
+
+
+
+
 }})
+
+
+
+
+ Провал.
+
+
+
+ Пожалуйста, примите это сообщение как возможность для улучшения. Мы рекомендуем вам ознакомиться
+ с материалами на нашем сайте, чтобы подготовиться к повторному тестированию.
+
+
+
+
+ Попробовать снова
+
+
+
+
+@else
+
+
+
+
+ @if(!$quiz->displayInfo)
+
+
+ {!! $currentQuestion->getTitle() !!}
+
+
+
+
+
+
+ @else
+
+
Верно!
+
+
+ {{ __($quiz->userAnswer) }}
+
+
+
+ Ты ответил правльно! Поздравляю! Вот что я могу тебе рассказать:
+ Повседневная практика показывает, что реализация намеченных плановых заданий
+ требуют от нас анализа существенных финансовых и административных условий. Товарищи!
+ консультация с широким активом играет важную роль в формировании модели развития.
+
+
+ @endif
+
+
+
+
+ @foreach(range(1, \App\Quiz\QuizState::LIVE) as $value)
+
+
+
+ @endforeach
+
+
+
+
+ {{ $quiz->step + 1 }}/{{ count($quiz->questions) }}
+
+
+
+
+
+ @if($quiz->step == count($quiz->questions))
+
+ @elseif($quiz->displayInfo)
+
+ @endif
+
+
+
+
+@endif
diff --git a/routes/web.php b/routes/web.php
index b7f6bc56..6ac82cd8 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -458,6 +458,17 @@
Route::get('/@{user:nickname}/meets', [\App\Http\Controllers\ProfileController::class, 'meets'])
->name('profile.meets');
+/*
+|--------------------------------------------------------------------------
+| Review
+|--------------------------------------------------------------------------
+*/
+
+Route::post('/review/start', [\App\Http\Controllers\ReviewController::class, 'start'])->name('stream.review.start');
+Route::post('/review/next', [\App\Http\Controllers\ReviewController::class, 'next'])->name('stream.review.next');
+Route::post('/review/answer', [\App\Http\Controllers\ReviewController::class, 'answer'])->name('stream.review.set-answer');
+Route::get('/review', [\App\Http\Controllers\ReviewController::class, 'index'])->name('review');
+
/*
|--------------------------------------------------------------------------
| Pastebin
diff --git a/storage/classifiers/spam.json b/storage/classifiers/spam.json
index e7bae043..ad5cd14a 100644
--- a/storage/classifiers/spam.json
+++ b/storage/classifiers/spam.json
@@ -217,6 +217,20 @@
"\u2060\u2060\u2060\u2060\u2060\u2060\u2060\u2060\u2060❗\uFE0FOcтopoжнo❗\uFE0F Нужeн человek удaлеnnого сотpyдничества \n\n- с нac бeсплатное обучeние, c тебя забираeм прoцент с кaждой нашей выполненной сделки\n- пpu6ыль от 1500$ неделя/белaя тема.\n- вход строго +21\n- работаешь на личном счету, с минимальным капиталом, поэтoму для тебя все прoзрaчно и яcнo\n\nЕсли ты хочешь, чтобы $ ра6отaли на тeбя, meбе k нaм!\n\nCkорее жмu 36еcь, мы покажем тебе как заработать",
"Если хочешь попробовать себя в чем-то новом , наша команда покажет как делать мани из воздуха.\nМинимум усилий, для повышенного уровня жизни \nПиши если хочешь со мной подниматься",
"Дoбрый вeчeр всeм!\nAктуaльный сeйчaс набoр нa oбучeниe.\nДля сoвмeстнoгo сoтрудничeствa.\nВ нaпрaвлeнии: цифрoвых вaлютных пaр.\nПрибыль рaвняeтся 4-6% в дeнь.\nЕсли тебя этo интересуeт то нaпишитe в личныe сooбщeния!.",
- "Слышал о крипте но не решаешься?\nнужен доп.доход но мешает основная работа?\nМы сможем тебе показать что все не так уж и страшно\nнабирайся духа и пиши в лс)Все расскажем"
+ "Слышал о крипте но не решаешься?\nнужен доп.доход но мешает основная работа?\nМы сможем тебе показать что все не так уж и страшно\nнабирайся духа и пиши в лс)Все расскажем",
+ "Приветствую всех участников чата!\nИщу людей которые хотели бы приумножить свой капитал в сфере цuфровых активов \nПомогу разобраться со всеми этапами на пути к желаемому результату \nНе беру никаких предоплат за обучение - работаем в формате процента от вашей прибыли \nВсе сделки происходят сугубо на ваших биржах \nВсех заинтересованных жду в личных сообщениях",
+ "В пoиcкe людeй нa oбyчeниe.\nДля coвмecтнoгo coтpyдничecтвa.\nB нaпpaвлeнии: цифpoвых вaлютных пap.\nПpибыль paвняeтcя 8-10% в дeнь.\nEcли тeбя это интepecyeт тo нaпиши мнe.",
+ "Приветствую всех участников чата!\nИщу людей которые хотели бы приумножить свой капитал в сфере цuфровых активов \nПомогу разобраться со всеми этапами на пути к желаемому результату \nНе беру никаких предоплат за обучение - работаем в формате процента от вашей прибыли \nВсе сделки происходят сугубо на ваших биржах \nВсех заинтересованных жду в личных сообщениях",
+ "В пoиcкe людeй нa oбyчeниe.\nДля coвмecтнoгo coтpyдничecтвa.\nB нaпpaвлeнии: цифpoвых вaлютных пap.\nПpибыль paвняeтcя 8-10% в дeнь.\nEcли тeбя это интepecyeт тo нaпиши мнe.",
+ "Деньги заканчиваются, а ты все еще лежишь на диване и ничего не хочешь делать? У меня есть один вариант который тебе подойдет, не трусь тебе нечего терять, а я тебе гарантирую заработок при котором тебе не нужно ничего делать, пиши + @Sonya_cpr",
+ "Деньги заканчиваются, а ты все еще лежишь на диване и ничего не хочешь делать? У меня есть один вариант который тебе подойдет, не трусь тебе нечего терять, а я тебе гарантирую заработок при котором тебе не нужно ничего делать, пиши + @Pollna_REf",
+ "Привет! Понимаю, что всем нужны деньги. Была в твоих трудных ситуациях, когда казалось, что нет выхода из-за финансовых проблем. Но потом я решила рискнуть, и это окупилось: мой доход увеличился, и теперь я могу себе позволить больше. Если хочешь узнать, как я это сделал, напиши @Pollna_REf в личку, помогут.",
+ "Здравствуйте, нужно несколько человек (от 18 лет)\nот 600$ в неделю, онлайн заработ0к\n Пишите @pashaahr",
+ "Привет, нужно пару человек (от 18 лет)\nот 500$ в неделю, удалённый заработ0к подробности к @pashaahr",
+ "Всем здравствуйте.Ищем людей в команду для удаленного заработка.Кого заинтересовало прошу написать мне в личные сообщения.",
+ "Ищу заинтересованных людей в доп доходе, от 18 лет. По вопросам в лс",
+ "Всем Привет!\nИщем ответственных людей на удаленку, по всем вопросам пишите в лс",
+ "Ищу людей, кому интересен хороший дополнительный заработок на удаленке в свободное время. От 20 лет, подробности в лс",
+ "ОЧЕНЬ ВАЖНО ВАЖНО ВАЖНО!!!!!!\nНУЖНЫ ЛЮДИ \nНА ОНЛАЙН ЗАРАБОТОК \n1-3 ЧАСА В ДЕНЬ\nОТ $900 В НЕДЕЛЮ\nПИСАТЬ @serge1y1"
]
diff --git a/storage/review/beginning/01.md b/storage/review/beginning/01.md
new file mode 100644
index 00000000..86c100f7
--- /dev/null
+++ b/storage/review/beginning/01.md
@@ -0,0 +1,23 @@
+
+##### Какая функция Laravel предоставляет удобный способ определения логики авторизации в приложении?
+
+
+
+Blade
+
+
+
+Middleware
+
+
+
+Eloquent ORM
+
+
+
+Authentication
+
+
+
+Policies
+
diff --git a/storage/review/beginning/02.md b/storage/review/beginning/02.md
new file mode 100644
index 00000000..acfe1ca6
--- /dev/null
+++ b/storage/review/beginning/02.md
@@ -0,0 +1,19 @@
+
+##### Какое из следующих утверждений о системе маршрутизации Laravel является верным?
+
+
+
+Laravel маршрутизация управляет созданием баз данных.
+
+
+
+Laravel маршрутизация заботится о форматировании HTML-страниц.
+
+
+
+Laravel маршрутизация определяет логику доступа к файлам.
+
+
+
+Laravel маршрутизация служит мостом между HTTP-запросами и кодом приложения, обрабатывая входящие запросы и направляя их соответствующим методам контроллера.
+
diff --git a/storage/review/beginning/03.md b/storage/review/beginning/03.md
new file mode 100644
index 00000000..dc926781
--- /dev/null
+++ b/storage/review/beginning/03.md
@@ -0,0 +1,45 @@
+
+
+##### Victoria
+
+Prius aquas Proteaque illum qui *Oriente forma* barbaricoque muneris Epidauria
+Stygii. Sic hiatu inde est iuventa iuga narret, florente area vinctumque quod
+tempora fugit lacrimisque.
+
+- Palude fratres, in ferus. Dedisti dare aggeribus inquit erant sinuantur
+- morantur madent studioque, et has pater lectos, classis. Oculos pro, demere
+- bracchia frustra gentem succidere, ad essemus remoratur et versis, populisque.
+
+
+
+
+
+Mihi sacri Corinthiaci fumantia texerat sed haut magis conferat Lethes bibuntur
+*occupat inpavidus* rustica. Perpetuaque pavidam difficilis, cum, Echionides
+vosque, nudaque placidum Aeneae, praedator.
+
+
+
+
+```bash
+startFileAsp.printer_reimage(service(1));
+var ppc_matrix = ppga_page;
+if (outbox != 3) {
+ inkjet_keyboard_warm += pdf(sharewareSerpSnapshot,
+ telecommunications_internet_web);
+ itunes_rpm += 4 + rte_spam_smartphone;
+}
+```
+
+
+
+
+**Правильный.** Lorem markdownum perceperat quaeque futura usu: animis servatae armiferae
+viscere alias. Quem nervo. Versum habet quisquam adventus nitar et saepe
+levitate aequoris lapsu maenades. Esse praeacutae
+in deflexi prodere poposcerat!
+
+
+
+
+